1SALT(7)                              Salt                              SALT(7)
2
3
4

NAME

6       salt - Salt Documentation
7

INTRODUCTION TO SALT

9       We’re not just talking about NaCl..SS The 30 second summary
10
11       Salt is:
12
13       · A  configuration  management  system.  Salt is capable of maintaining
14         remote nodes in defined states. For example, it can ensure that  spe‐
15         cific packages are installed and that specific services are running.
16
17       · A  distributed  remote  execution system used to execute commands and
18         query data on remote nodes.  Salt  can  query  and  execute  commands
19         either  on individual nodes or by using an arbitrary selection crite‐
20         ria.
21
22       It was developed in order to bring the  best  solutions  found  in  the
23       world  of  remote  execution together and make them better, faster, and
24       more malleable. Salt accomplishes this through its  ability  to  handle
25       large  loads  of information, and not just dozens but hundreds and even
26       thousands of individual servers quickly through a simple and manageable
27       interface.
28
29   Simplicity
30       Providing  versatility  between  massive  scale deployments and smaller
31       systems may seem daunting, but Salt is very simple to set up and  main‐
32       tain,  regardless  of the size of the project. The architecture of Salt
33       is designed to work with any number of servers, from a handful of local
34       network systems to international deployments across different data cen‐
35       ters. The topology is a simple  server/client  model  with  the  needed
36       functionality  built  into  a  single set of daemons. While the default
37       configuration will work with little to no  modification,  Salt  can  be
38       fine tuned to meet specific needs.
39
40   Parallel execution
41       The core functions of Salt:
42
43       · enable  commands  to  remote  systems to be called in parallel rather
44         than serially
45
46       · use a secure and encrypted protocol
47
48       · use the smallest and fastest network payloads possible
49
50       · provide a simple programming interface
51
52       Salt also introduces more granular controls to the realm of remote exe‐
53       cution,  allowing systems to be targeted not just by hostname, but also
54       by system properties.
55
56   Builds on proven technology
57       Salt takes advantage of a number of technologies  and  techniques.  The
58       networking layer is built with the excellent ZeroMQ networking library,
59       so the Salt daemon includes a viable and transparent AMQ  broker.  Salt
60       uses  public  keys for authentication with the master daemon, then uses
61       faster AES encryption for  payload  communication;  authentication  and
62       encryption are integral to Salt.  Salt takes advantage of communication
63       via msgpack, enabling fast and light network traffic.
64
65   Python client interface
66       In order to allow for simple expansion, Salt execution routines can  be
67       written  as  plain  Python modules. The data collected from Salt execu‐
68       tions can be sent back to the master server, or to any  arbitrary  pro‐
69       gram.  Salt can be called from a simple Python API, or from the command
70       line, so that Salt can be used to execute one-off commands as  well  as
71       operate as an integral part of a larger application.
72
73   Fast, flexible, scalable
74       The  result is a system that can execute commands at high speed on tar‐
75       get server groups ranging from one to very many servers. Salt  is  very
76       fast,  easy to set up, amazingly malleable and provides a single remote
77       execution architecture that can manage the diverse requirements of  any
78       number of servers.  The Salt infrastructure brings together the best of
79       the remote execution world, amplifies its capabilities and expands  its
80       range,  resulting  in a system that is as versatile as it is practical,
81       suitable for any network.
82
83   Open
84       Salt is developed under the Apache 2.0 license, and  can  be  used  for
85       open  and  proprietary  projects. Please submit your expansions back to
86       the Salt project so that we can all benefit  together  as  Salt  grows.
87       Please feel free to sprinkle Salt around your systems and let the deli‐
88       ciousness come forth.
89
90   Salt Community
91       Join the Salt!
92
93       There are many ways to participate in and  communicate  with  the  Salt
94       community.
95
96       Salt has an active IRC channel and a mailing list.
97
98   Mailing List
99       Join the salt-users mailing list. It is the best place to ask questions
100       about Salt and see whats going on with Salt development! The Salt mail‐
101       ing list is hosted by Google Groups. It is open to new members.
102
103   IRC
104       The  #salt  IRC  channel is hosted on the popular Freenode network. You
105       can use the Freenode webchat client right from your browser.
106
107       Logs of the IRC channel activity are being collected courtesy of Moritz
108       Lenz.
109
110       If  you  wish  to  discuss  the  development  of Salt itself join us in
111       #salt-devel.
112
113   Follow on Github
114       The Salt code is developed via Github. Follow Salt for constant updates
115       on what is happening in Salt development:
116
117       https://github.com/saltstack/salt
118
119   Blogs
120       SaltStack Inc. keeps a blog with recent news and advancements:
121
122       http://www.saltstack.com/blog/
123
124   Example Salt States
125       The         official         salt-states         repository         is:
126       https://github.com/saltstack/salt-states
127
128       A few examples of salt states from the community:
129
130       · https://github.com/blast-hardcheese/blast-salt-states
131
132       · https://github.com/kevingranade/kevingranade-salt-state
133
134       · https://github.com/uggedal/states
135
136       · https://github.com/mattmcclean/salt-openstack/tree/master/salt
137
138       · https://github.com/rentalita/ubuntu-setup/
139
140       · https://github.com/brutasse/states
141
142       · https://github.com/bclermont/states
143
144       · https://github.com/pcrews/salt-data
145
146   Follow on Open Hub
147       https://www.openhub.net/p/salt
148
149   Other community links
150       · Salt Stack Inc.
151
152       · Subreddit
153
154       · YouTube
155
156       · Facebook
157
158       · Twitter
159
160       · Wikipedia page
161
162       · Stack Overflow
163
164   Hack the Source
165       If you want to get involved with the development of source code or  the
166       documentation efforts, please review the contributing documentation!
167

INSTALLATION

169       This  section contains instructions to install Salt. If you are setting
170       up your environment for the first time, you should install a Salt  mas‐
171       ter  on  a  dedicated  management server or VM, and then install a Salt
172       minion on each system that you want to manage using Salt. For  now  you
173       don't  need to worry about your architecture, you can easily add compo‐
174       nents and modify your configuration later without needing to  reinstall
175       anything.
176
177       The general installation process is as follows:
178
179       1. Install a Salt master using the instructions for your platform or by
180          running the Salt bootstrap script. If you use the bootstrap  script,
181          be sure to include the -M option to install the Salt master.
182
183       2. Make sure that your Salt minions can find the Salt master.
184
185       3. Install the Salt minion on each system that you want to manage.
186
187       4. Accept the Salt minion keys after the Salt minion connects.
188
189       After this, you should be able to run a simple command and receive salt
190       version returns from all connected Salt minions.
191
192          salt '*' test.version
193
194   Quick Install
195       On most distributions, you can set up a Salt Minion with the Salt boot‐
196       strap.
197
198   Platform-specific Installation Instructions
199       These guides go into detail how to install Salt on a given platform.
200
201   Arch Linux
202   Installation
203       Salt (stable) is currently available via the Arch Linux Official repos‐
204       itories.  There are currently -git packages available in the Arch  User
205       repositories (AUR) as well.
206
207   Stable Release
208       Install  Salt stable releases from the Arch Linux Official repositories
209       as follows:
210
211          pacman -S salt
212
213   Tracking develop
214       To install the bleeding edge version of Salt (may include  bugs!),  use
215       the -git package. Installing the -git package as follows:
216
217          wget https://aur.archlinux.org/packages/sa/salt-git/salt-git.tar.gz
218          tar xf salt-git.tar.gz
219          cd salt-git/
220          makepkg -is
221
222       NOTE:
223          yaourt
224
225          If  a tool such as Yaourt is used, the dependencies will be gathered
226          and built automatically.
227
228          The command to install salt using the yaourt tool is:
229
230              yaourt salt-git
231
232   Post-installation tasks
233       systemd
234
235       Activate the Salt Master and/or Minion via systemctl as follows:
236
237          systemctl enable salt-master.service
238          systemctl enable salt-minion.service
239
240       Start the Master
241
242       Once you've completed all of these steps you're  ready  to  start  your
243       Salt Master. You should be able to start your Salt Master now using the
244       command seen here:
245
246          systemctl start salt-master
247
248       Now go to the Configuring Salt page.
249
250   Debian GNU/Linux / Raspbian
251       Debian GNU/Linux distribution and some  derivatives  such  as  Raspbian
252       already  have  included  Salt  packages to their repositories. However,
253       current stable Debian release contains old outdated Salt  releases.  It
254       is  recommended  to  use  SaltStack  repository for Debian as described
255       below.
256
257       Installation  from  official  Debian  and  Raspbian   repositories   is
258       described here.
259
260   Installation from the Official SaltStack Repository
261       Packages  for Debian 9 (Stretch) and Debian 8 (Jessie) are available in
262       the Official SaltStack repository.
263
264       Instructions are at https://repo.saltstack.com/#debian.
265
266       NOTE:
267          Regular security support for Debian 7 ended on April 25th 2016. As a
268          result,  2016.3.1  and  2015.8.10 will be the last Salt releases for
269          which Debian 7 packages are created.
270
271   Installation from the Debian / Raspbian Official Repository
272       The Debian distributions contain mostly old Salt packages built by  the
273       Debian  Salt Team. You can install Salt components directly from Debian
274       but it is recommended to use the instructions above  for  the  packages
275       from the official Salt repository.
276
277       On  Jessie  there is an option to install Salt minion from Stretch with
278       python-tornado dependency from jessie-backports repositories.
279
280       To install fresh release of Salt minion on Jessie:
281
282       1. Add jessie-backports and stretch repositories:
283
284          Debian:
285
286             echo 'deb http://httpredir.debian.org/debian jessie-backports main' >> /etc/apt/sources.list
287             echo 'deb http://httpredir.debian.org/debian stretch main' >> /etc/apt/sources.list
288
289          Raspbian:
290
291             echo 'deb http://archive.raspbian.org/raspbian/ stretch main' >> /etc/apt/sources.list
292
293       2. Make Jessie a default release:
294
295             echo 'APT::Default-Release "jessie";' > /etc/apt/apt.conf.d/10apt
296
297       3. Install Salt dependencies:
298
299          Debian:
300
301             apt-get update
302             apt-get install python-zmq python-systemd/jessie-backports python-tornado/jessie-backports salt-common/stretch
303
304          Raspbian:
305
306             apt-get update
307             apt-get install python-zmq python-tornado/stretch salt-common/stretch
308
309       4. Install Salt minion package from Latest Debian Release:
310
311             apt-get install salt-minion/stretch
312
313   Install Packages
314       Install the Salt master, minion or other packages from  the  repository
315       with  the apt-get command. These examples each install one of Salt com‐
316       ponents, but more than one package name may be given at a time:
317
318       · apt-get install salt-api
319
320       · apt-get install salt-cloud
321
322       · apt-get install salt-master
323
324       · apt-get install salt-minion
325
326       · apt-get install salt-ssh
327
328       · apt-get install salt-syndic
329
330   Post-installation tasks
331       Now, go to the Configuring Salt page.
332
333   Arista EOS Salt minion installation guide
334       The Salt minion for Arista EOS is distributed as a SWIX  extension  and
335       can be installed directly on the switch. The EOS network operating sys‐
336       tem is based on old Fedora distributions and the  installation  of  the
337       salt-minion requires backports. This SWIX extension contains the neces‐
338       sary backports, together with the Salt basecode.
339
340       NOTE:
341          This SWIX extension has been tested on Arista DCS-7280SE-68-R,  run‐
342          ning EOS 4.17.5M and vEOS 4.18.3F.
343
344   Important Notes
345       This  package is in beta, make sure to test it carefully before running
346       it in production.
347
348       If confirmed working correctly, please report and add a  note  on  this
349       page with the platform model and EOS version.
350
351       If you want to uninstall this package, please refer to the uninstalling
352       section.
353
354   Installation from the Official SaltStack Repository
355       Download the swix package and save it to flash.
356
357          veos#copy https://salt-eos.netops.life/salt-eos-latest.swix flash:
358          veos#copy https://salt-eos.netops.life/startup.sh flash:
359
360   Install the Extension
361       Copy the Salt package to extension
362
363          veos#copy flash:salt-eos-latest.swix extension:
364
365       Install the SWIX
366
367          veos#extension salt-eos-latest.swix force
368
369       Verify the installation
370
371          veos#show extensions | include salt-eos
372               salt-eos-2017-07-19.swix      1.0.11/1.fc25        A, F                27
373
374       Change the Salt master  IP  address  or  FQDN,  by  edit  the  variable
375       (SALT_MASTER)
376
377          veos#bash vi /mnt/flash/startup.sh
378
379       Make sure you enable the eAPI with unix-socket
380
381          veos(config)#management api http-commands
382                   protocol unix-socket
383                   no shutdown
384
385   Post-installation tasks
386       Generate Keys and host record and start Salt minion
387
388          veos#bash
389          #sudo /mnt/flash/startup.sh
390
391       salt-minion should be running
392
393       Copy the installed extensions to boot-extensions
394
395          veos#copy installed-extensions boot-extensions
396
397       Apply event-handler to let EOS start salt-minion during boot-up
398
399          veos(config)#event-handler boot-up-script
400             trigger on-boot
401             action bash sudo /mnt/flash/startup.sh
402
403       For more specific installation details of the salt-minion, please refer
404       to Configuring Salt.
405
406   Uninstalling
407       If you decide to uninstall this package, the following steps are recom‐
408       mended for safety:
409
410       1. Remove the extension from boot-extensions
411
412          veos#bash rm /mnt/flash/boot-extensions
413
414       2. Remove the extension from extensions folder
415
416          veos#bash rm /mnt/flash/.extensions/salt-eos-latest.swix
417
418       2. Remove boot-up script
419
420          veos(config)#no event-handler boot-up-script
421
422   Additional Information
423       This SWIX extension contains the following RPM packages:
424
425          libsodium-1.0.11-1.fc25.i686.rpm
426          libstdc++-6.2.1-2.fc25.i686.rpm
427          openpgm-5.2.122-6.fc24.i686.rpm
428          python-Jinja2-2.8-0.i686.rpm
429          python-PyYAML-3.12-0.i686.rpm
430          python-babel-0.9.6-5.fc18.noarch.rpm
431          python-backports-1.0-3.fc18.i686.rpm
432          python-backports-ssl_match_hostname-3.4.0.2-1.fc18.noarch.rpm
433          python-backports_abc-0.5-0.i686.rpm
434          python-certifi-2016.9.26-0.i686.rpm
435          python-chardet-2.0.1-5.fc18.noarch.rpm
436          python-crypto-1.4.1-1.noarch.rpm
437          python-crypto-2.6.1-1.fc18.i686.rpm
438          python-futures-3.1.1-1.noarch.rpm
439          python-jtextfsm-0.3.1-0.noarch.rpm
440          python-kitchen-1.1.1-2.fc18.noarch.rpm
441          python-markupsafe-0.18-1.fc18.i686.rpm
442          python-msgpack-python-0.4.8-0.i686.rpm
443          python-napalm-base-0.24.3-1.noarch.rpm
444          python-napalm-eos-0.6.0-1.noarch.rpm
445          python-netaddr-0.7.18-0.noarch.rpm
446          python-pyeapi-0.7.0-0.noarch.rpm
447          python-salt-2017.7.0_1414_g2fb986f-1.noarch.rpm
448          python-singledispatch-3.4.0.3-0.i686.rpm
449          python-six-1.10.0-0.i686.rpm
450          python-tornado-4.4.2-0.i686.rpm
451          python-urllib3-1.5-7.fc18.noarch.rpm
452          python2-zmq-15.3.0-2.fc25.i686.rpm
453          zeromq-4.1.4-5.fc25.i686.rpm
454
455   Fedora
456       Beginning  with  version  0.9.4, Salt has been available in the primary
457       Fedora repositories and EPEL. It  is  installable  using  yum  or  dnf,
458       depending on your version of Fedora.
459
460       NOTE:
461          Released versions of Salt starting with 2015.5.2 through 2016.3.2 do
462          not have Fedora packages available though EPEL. To install a version
463          of  Salt within this release array, please use SaltStack's Bootstrap
464          Script and use the git method of installing Salt using the version's
465          associated release tag.
466
467          Release  2016.3.3  and  onward will have packaged versions available
468          via EPEL.
469
470       WARNING: Fedora 19 comes with systemd  204.   Systemd  has  known  bugs
471       fixed  in  later  revisions  that prevent the salt-master from starting
472       reliably or opening the network connections that it needs to.  It's not
473       likely  that  a salt-master will start or run reliably on any distribu‐
474       tion that uses systemd version 204 or  earlier.   Running  salt-minions
475       should be OK.
476
477   Installation
478       Salt can be installed using yum and is available in the standard Fedora
479       repositories.
480
481   Stable Release
482       Salt is packaged separately for the minion and the master. It is neces‐
483       sary  only  to install the appropriate package for the role the machine
484       will play. Typically, there will be one master and multiple minions.
485
486          yum install salt-master
487          yum install salt-minion
488
489   Installing from updates-testing
490       When a new Salt release is packaged, it  is  first  admitted  into  the
491       updates-testing repository, before being moved to the stable repo.
492
493       To install from updates-testing, use the enablerepo argument for yum:
494
495          yum --enablerepo=updates-testing install salt-master
496          yum --enablerepo=updates-testing install salt-minion
497
498   Installation Using pip
499       Since Salt is on PyPI, it can be installed using pip, though most users
500       prefer to install using a package manager.
501
502       Installing from pip has a few additional requirements:
503
504       · Install the group 'Development Tools', dnf groupinstall  'Development
505         Tools'
506
507       · Install  the  'zeromq-devel'  package  if it fails on linking against
508         that afterwards as well.
509
510       A pip install does not make the init scripts or  the  /etc/salt  direc‐
511       tory, and you will need to provide your own systemd service unit.
512
513       Installation from pip:
514
515          pip install salt
516
517       WARNING:
518          If  installing  from pip (or from source using setup.py install), be
519          advised that the yum-utils package is  needed  for  Salt  to  manage
520          packages.   Also,   if  the  Python  dependencies  are  not  already
521          installed, then you will need additional  libraries/tools  installed
522          to build some of them.  More information on this can be found here.
523
524   Post-installation tasks
525       Master
526
527       To have the Master start automatically at boot time:
528
529          systemctl enable salt-master.service
530
531       To start the Master:
532
533          systemctl start salt-master.service
534
535       Minion
536
537       To have the Minion start automatically at boot time:
538
539          systemctl enable salt-minion.service
540
541       To start the Minion:
542
543          systemctl start salt-minion.service
544
545       Now go to the Configuring Salt page.
546
547   FreeBSD
548   Installation
549       Salt is available in the FreeBSD ports tree at sysutils/py-salt.
550
551   FreeBSD binary repo
552       For Python 2.7 use:
553
554       Install Salt via the official package repository. Salt is packaged both
555       as a Python 2.7 or 3.6 version.
556
557          pkg install py27-salt
558
559       For Python 3.6 use:
560
561          pkg install py36-salt
562
563   FreeBSD ports
564       Installation from ports:
565
566          cd /usr/ports/sysutils/py-salt
567          make install
568
569       Python 3.6 can be used by setting default Python version to 3.6:
570
571          echo "DEFAULT_VERSIONS+= python=3.6" >> /etc/make.conf
572
573   Post-installation tasks
574       rc.conf
575
576       Activate the Salt Master in /etc/rc.conf:
577
578          sysrc salt_master_enable="YES"
579
580       Start the Master
581
582       Start the Salt Master as follows:
583
584          service salt_master start
585
586       rc.conf
587
588       Activate the Salt Minion in /etc/rc.conf:
589
590          sysrc salt_minion_enable="YES"
591
592       Start the Minion
593
594       Start the Salt Minion as follows:
595
596          service salt_minion start
597
598       Now go to the Configuring Salt page.
599
600   Gentoo
601       Salt can be easily installed on Gentoo via Portage:
602
603          emerge app-admin/salt
604
605   Post-installation tasks
606       Now go to the Configuring Salt page.
607
608   OpenBSD
609       Salt was added to the OpenBSD ports tree on Aug 10th 2013.  It has been
610       tested on OpenBSD 5.5 onwards.
611
612       Salt  is  dependent  on  the  following additional ports. These will be
613       installed as dependencies of the sysutils/salt port:
614
615          devel/py-futures
616          devel/py-progressbar
617          net/py-msgpack
618          net/py-zmq
619          security/py-crypto
620          security/py-M2Crypto
621          textproc/py-MarkupSafe
622          textproc/py-yaml
623          www/py-jinja2
624          www/py-requests
625          www/py-tornado
626
627   Installation
628       To install Salt from the OpenBSD pkg repo, use the command:
629
630          pkg_add salt
631
632   Post-installation tasks
633       Master
634
635       To have the Master start automatically at boot time:
636
637          rcctl enable salt_master
638
639       To start the Master:
640
641          rcctl start salt_master
642
643       Minion
644
645       To have the Minion start automatically at boot time:
646
647          rcctl enable salt_minion
648
649       To start the Minion:
650
651          rcctl start salt_minion
652
653       Now go to the Configuring Salt page.
654
655   macOS
656   Installation from the Official SaltStack Repository
657       Latest stable build from the selected branch:
658
659
660
661       The output of md5 <salt pkg> should match the contents  of  the  corre‐
662       sponding md5 file.
663
664       Earlier builds from supported branches
665
666       Archived builds from unsupported branches
667
668   Installation from Homebrew
669          brew install saltstack
670
671       It  should  be  noted  that  Homebrew explicitly discourages the use of
672       sudo:
673          Homebrew is designed to work without using sudo. You can  decide  to
674          use it but we strongly recommend not to do so. If you have used sudo
675          and run into a bug then it is likely to be the cause.  Please  don’t
676          file  a  bug  report  unless you can reproduce it after reinstalling
677          Homebrew from scratch without using sudo
678
679   Installation from MacPorts
680       Macports isolates its dependencies from the OS, and  installs  salt  in
681       /opt/local by default, with config files under /opt/local/etc/salt. For
682       best results, add /opt/local/bin to your PATH.
683
684          sudo port install salt
685
686       Variants allow selection of python version used to run salt, defaulting
687       to  python27,  but also supporting python34, python35, and python36. To
688       install salt with Python 3.6, use the python36 variant, for example:
689
690          sudo port install salt @python36
691
692       Startup items (for  master,  minion,  and  rest-cherrypy  API  gateway,
693       respectively)  are  installed  by  subport targets. These will register
694       launchd LaunchDaemons  as  org.macports.salt-minion,  for  example,  to
695       trigger  automatic  startup of the salt-minion through launchd. Launch‐
696       Daemons for salt can be started and stopped without  reboot  using  the
697       macprots load and unload commands.
698
699          sudo port install salt-master salt-minion salt-api
700          sudo port load salt-master salt-minion salt-api
701
702   Installation from Pip
703       When only using the macOS system's pip, install this way:
704
705          sudo pip install salt
706
707   Salt-Master Customizations
708       NOTE:
709          Salt  master  on  macOS is not tested or supported by SaltStack. See
710          SaltStack Platform Support for more information.
711
712       To run salt-master on macOS, sudo add this configuration option to  the
713       /etc/salt/master file:
714
715          max_open_files: 8192
716
717       On  versions previous to macOS 10.10 (Yosemite), increase the root user
718       maxfiles limit:
719
720          sudo launchctl limit maxfiles 4096 8192
721
722       NOTE:
723          On macOS  10.10  (Yosemite)  and  higher,  maxfiles  should  not  be
724          adjusted.  The  default  limits  are  sufficient in all but the most
725          extreme scenarios.  Overriding these values with the  setting  below
726          will cause system instability!
727
728       Now the salt-master should run without errors:
729
730          sudo salt-master --log-level=all
731
732   Post-installation tasks
733       Now go to the Configuring Salt page.
734
735   RHEL / CentOS / Scientific Linux / Amazon Linux / Oracle Linux
736       Salt  should  work  properly with all mainstream derivatives of Red Hat
737       Enterprise Linux, including CentOS, Scientific Linux, Oracle Linux, and
738       Amazon Linux.  Report any bugs or issues on the issue tracker.
739
740   Installation from the Official SaltStack Repository
741       Packages  for  Redhat,  CentOS,  and  Amazon Linux are available in the
742       SaltStack Repository.
743
744       · Red Hat / CentOS
745
746       · Amazon Linux
747
748       NOTE:
749          As of 2015.8.0, EPEL repository is no longer required for installing
750          on  RHEL systems. SaltStack repository provides all needed dependen‐
751          cies.
752
753       WARNING:
754          If installing on Red Hat Enterprise Linux 7 with disabled (not  sub‐
755          scribed on) 'RHEL Server Releases' or 'RHEL Server Optional Channel'
756          repositories, append CentOS 7 GPG key URL to SaltStack  yum  reposi‐
757          tory configuration to install required base packages:
758
759              [saltstack-repo]
760              name=SaltStack repo for Red Hat Enterprise Linux $releasever
761              baseurl=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest
762              enabled=1
763              gpgcheck=1
764              gpgkey=https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/SALTSTACK-GPG-KEY.pub
765                     https://repo.saltstack.com/yum/redhat/$releasever/$basearch/latest/base/RPM-GPG-KEY-CentOS-7
766
767       NOTE:
768          systemd  and  systemd-python  are  required  by  Salt,  but  are not
769          installed by the Red Hat 7 @base installation or by the Salt instal‐
770          lation. These dependencies might need to be installed before Salt.
771
772   Installation from the Community-Maintained Repository
773       Beginning with version 0.9.4, Salt has been available in EPEL.
774
775       NOTE:
776          Packages  in this repository are built by community, and it can take
777          a little while until the  latest  stable  SaltStack  release  become
778          available.
779
780   RHEL/CentOS 6 and 7, Scientific Linux, etc.
781       WARNING:
782          Salt  2015.8  is  currently not available in EPEL due to unsatisfied
783          dependencies: python-crypto 2.6.1 or higher, and python-tornado ver‐
784          sion  4.2.1 or higher. These packages are not currently available in
785          EPEL for Red Hat Enterprise Linux 6 and 7.
786
787   Enabling EPEL
788       If the EPEL repository is not installed on your system, you  can  down‐
789       load  the  RPM  for  RHEL/CentOS  6 or for RHEL/CentOS 7 and install it
790       using the following command:
791
792          rpm -Uvh epel-release-X-Y.rpm
793
794       Replace epel-release-X-Y.rpm with the appropriate filename.
795
796   Installing Stable Release
797       Salt is packaged separately for the minion and the master. It is neces‐
798       sary  to  install only the appropriate package for the role the machine
799       will play.  Typically, there will be one master and multiple minions.
800
801          · yum install salt-master
802
803          · yum install salt-minion
804
805          · yum install salt-ssh
806
807          · yum install salt-syndic
808
809          · yum install salt-cloud
810
811   Installing from epel-testing
812       When a new Salt release is packaged, it  is  first  admitted  into  the
813       epel-testing  repository, before being moved to the stable EPEL reposi‐
814       tory.
815
816       To install from epel-testing, use the enablerepo argument for yum:
817
818          yum --enablerepo=epel-testing install salt-minion
819
820   Installation Using pip
821       Since Salt is on PyPI, it can be installed using pip, though most users
822       prefer  to  install  using  RPM  packages  (which can be installed from
823       EPEL).
824
825       Installing from pip has a few additional requirements:
826
827       · Install the group 'Development Tools', yum groupinstall  'Development
828         Tools'
829
830       · Install  the  'zeromq-devel'  package  if it fails on linking against
831         that afterwards as well.
832
833       A pip install does not make the init scripts or  the  /etc/salt  direc‐
834       tory, and you will need to provide your own systemd service unit.
835
836       Installation from pip:
837
838          pip install salt
839
840       WARNING:
841          If  installing  from pip (or from source using setup.py install), be
842          advised that the yum-utils package is  needed  for  Salt  to  manage
843          packages.   Also,   if  the  Python  dependencies  are  not  already
844          installed, then you will need additional  libraries/tools  installed
845          to build some of them.  More information on this can be found here.
846
847   ZeroMQ 4
848       We  recommend using ZeroMQ 4 where available. SaltStack provides ZeroMQ
849       4.0.5 and pyzmq 14.5.0 in the SaltStack Repository.
850
851       If this repository is added before Salt is installed,  then  installing
852       either  salt-master  or  salt-minion  will automatically pull in ZeroMQ
853       4.0.5, and additional steps to upgrade ZeroMQ and  pyzmq  are  unneces‐
854       sary.
855
856   Package Management
857       Salt's  interface to yum makes heavy use of the repoquery utility, from
858       the yum-utils package. This package will be installed as  a  dependency
859       if  salt  is  installed  via  EPEL. However, if salt has been installed
860       using pip, or a host is being managed using salt-ssh, then as  of  ver‐
861       sion 2014.7.0 yum-utils will be installed automatically to satisfy this
862       dependency.
863
864   Post-installation tasks
865   Master
866       To have the Master start automatically at boot time:
867
868       RHEL/CentOS 5 and 6
869
870          chkconfig salt-master on
871
872       RHEL/CentOS 7
873
874          systemctl enable salt-master.service
875
876       To start the Master:
877
878       RHEL/CentOS 5 and 6
879
880          service salt-master start
881
882       RHEL/CentOS 7
883
884          systemctl start salt-master.service
885
886   Minion
887       To have the Minion start automatically at boot time:
888
889       RHEL/CentOS 5 and 6
890
891          chkconfig salt-minion on
892
893       RHEL/CentOS 7
894
895          systemctl enable salt-minion.service
896
897       To start the Minion:
898
899       RHEL/CentOS 5 and 6
900
901          service salt-minion start
902
903       RHEL/CentOS 7
904
905          systemctl start salt-minion.service
906
907       Now go to the Configuring Salt page.
908
909   Solaris
910       Salt is known to work on Solaris but  community  packages  are  unmain‐
911       tained.
912
913       It is possible to install Salt on Solaris by using setuptools.
914
915       For example, to install the develop version of salt:
916
917          git clone https://github.com/saltstack/salt
918          cd salt
919          sudo python setup.py install --force
920
921       NOTE:
922          SaltStack  does  offer commercial support for Solaris which includes
923          packages.
924
925   Ubuntu
926   Installation from the Official SaltStack Repository
927       Packages for Ubuntu 16 (Xenial), Ubuntu  14  (Trusty),  and  Ubuntu  12
928       (Precise) are available in the SaltStack repository.
929
930       Instructions are at https://repo.saltstack.com/#ubuntu.
931
932   Install Packages
933       Install  the  Salt master, minion or other packages from the repository
934       with the apt-get command. These examples each install one of Salt  com‐
935       ponents, but more than one package name may be given at a time:
936
937       · apt-get install salt-api
938
939       · apt-get install salt-cloud
940
941       · apt-get install salt-master
942
943       · apt-get install salt-minion
944
945       · apt-get install salt-ssh
946
947       · apt-get install salt-syndic
948
949   Post-installation tasks
950       Now go to the Configuring Salt page.
951
952   Windows
953       Salt  has full support for running the Salt minion on Windows. You must
954       connect Windows Salt minions to a Salt master on a supported  operating
955       system to control your Salt Minions.
956
957       Many  of  the standard Salt modules have been ported to work on Windows
958       and many of the Salt States currently work on Windows as well.
959
960   Installation from the Official SaltStack Repository
961       Latest stable build from the selected branch:
962
963
964       The output of md5sum <salt minion exe> should match the contents of the
965       corresponding md5 file.
966
967       Earlier builds from supported branches
968
969       Archived builds from unsupported branches
970
971       NOTE:
972          The installation executable installs dependencies that the Salt min‐
973          ion requires.
974
975       The 64bit installer has been tested on  Windows  7  64bit  and  Windows
976       Server  2008R2  64bit.  The  32bit installer has been tested on Windows
977       2008 Server 32bit.  Please file a bug report  on  our  GitHub  repo  if
978       issues for other platforms are found.
979
980       There are installers available for Python 2 and Python 3.
981
982       The installer will detect previous installations of Salt and ask if you
983       would like to remove them. Clicking OK will remove  the  Salt  binaries
984       and  related files but leave any existing config, cache, and PKI infor‐
985       mation.
986
987   Salt Minion Installation
988       If the system is missing the appropriate  version  of  the  Visual  C++
989       Redistributable  (vcredist)  the  user  will be prompted to install it.
990       Click OK to install the vcredist. Click Cancel to abort  the  installa‐
991       tion without making modifications to the system.
992
993       If Salt is already installed on the system the user will be prompted to
994       remove the previous installation. Click OK to  uninstall  Salt  without
995       removing  the  configuration,  PKI  information, or cached files. Click
996       Cancel to abort the installation before making any modifications to the
997       system.
998
999       After the Welcome and the License Agreement, the installer asks for two
1000       bits of information to configure the minion; the  master  hostname  and
1001       the  minion  name.   The  installer  will update the minion config with
1002       these options.
1003
1004       If the installer finds an existing minion  config  file,  these  fields
1005       will  be  populated with values from the existing config, but they will
1006       be grayed out.  There will also be a checkbox to use the existing  con‐
1007       fig. If you continue, the existing config will be used. If the checkbox
1008       is unchecked, default values are displayed and can be changed.  If  you
1009       continue,  the  existing  config  file  in c:\salt\conf will be removed
1010       along with the c:\salt\conf\minion.d directory. The values entered will
1011       be used with the default config.
1012
1013       The  final  page  allows you to start the minion service and optionally
1014       change its startup type. By default, the minion is  set  to  Automatic.
1015       You  can  change  the minion start type to Automatic (Delayed Start) by
1016       checking the 'Delayed Start' checkbox.
1017
1018       NOTE:
1019          Highstates that require a reboot may fail after reboot because  salt
1020          continues  the  highstate  before  Windows  has finished the booting
1021          process.  This can be fixed by changing the startup type  to  'Auto‐
1022          matic  (Delayed  Start)'.  The  drawback is that it may increase the
1023          time it takes for the 'salt-minion' service to actually start.
1024
1025       The salt-minion service will appear in the Windows Service Manager  and
1026       can  be  managed  there or from the command line like any other Windows
1027       service.
1028
1029          sc start salt-minion
1030          net start salt-minion
1031
1032   Installation Prerequisites
1033       Most Salt functionality should work just fine right out of the  box.  A
1034       few  Salt modules rely on PowerShell. The minimum version of PowerShell
1035       required for Salt is version 3. If you intend to  work  with  DSC  then
1036       Powershell version 5 is the minimum.
1037
1038   Silent Installer Options
1039       The  installer  can  be  run silently by providing the /S option at the
1040       command line. The installer also accepts the following options for con‐
1041       figuring the Salt Minion silently:
1042
1043
1044
1045                ┌──────────────────────┬────────────────────────────┐
1046                │Option                │ Description                │
1047                ├──────────────────────┼────────────────────────────┤
1048/master=              │ A  string value to set the │
1049                │                      │ IP address or hostname  of │
1050                │                      │ the  master. Default value │
1051                │                      │ is 'salt'. You can pass  a │
1052                │                      │ single    master    or   a │
1053                │                      │ comma-separated  list   of │
1054                │                      │ masters.  Setting the mas‐ │
1055                │                      │ ter  will  cause  the  in‐ │
1056                │                      │ staller to use the default │
1057                │                      │ config or a custom  config │
1058                │                      │ if defined.                │
1059                ├──────────────────────┼────────────────────────────┤
1060/minion-name=         │ A  string value to set the │
1061                │                      │ minion name. Default value │
1062                │                      │ is 'hostname'. Setting the │
1063                │                      │ minion name causes the in‐ │
1064                │                      │ staller to use the default │
1065                │                      │ config or a custom  config │
1066                │                      │ if defined.                │
1067                ├──────────────────────┼────────────────────────────┤
1068/start-minion=        │ Either  a 1 or 0. '1' will │
1069                │                      │ start the salt-minion ser‐ │
1070                │                      │ vice,    '0'   will   not. │
1071                │                      │ Default is  to  start  the │
1072                │                      │ service   after  installa‐ │
1073                │                      │ tion.                      │
1074                ├──────────────────────┼────────────────────────────┤
1075/start-minion-delayed │ Set the minion start  type │
1076                │                      │ to    Automatic   (Delayed 
1077                │                      │ Start).                    │
1078                ├──────────────────────┼────────────────────────────┤
1079/default-config       │ Overwrite   the   existing │
1080                │                      │ config if present with the │
1081                │                      │ default config  for  salt. │
1082                │                      │ Default   is  to  use  the │
1083                │                      │ existing     config     if │
1084                │                      │ present. If /master and/or │
1085                │                      │ /minion-name  is   passed, │
1086                │                      │ those  values will be used │
1087                │                      │ to update the new  default │
1088                │                      │ config.                    │
1089                ├──────────────────────┼────────────────────────────┤
1090/custom-config=       │ A  string value specifying │
1091                │                      │ the name of a custom  con‐ │
1092                │                      │ fig  file in the same path │
1093                │                      │ as the  installer  or  the │
1094                │                      │ full path to a custom con‐ │
1095                │                      │ fig   file.   If   /master 
1096                │                      │ and/or   /minion-name   is │
1097                │                      │ passed, those values  will │
1098                │                      │ be  used to update the new │
1099                │                      │ custom config.             │
1100                ├──────────────────────┼────────────────────────────┤
1101/S                    │ Runs   the    installation │
1102                │                      │ silently.  Uses  the above │
1103                │                      │ settings or the defaults.  │
1104                ├──────────────────────┼────────────────────────────┤
1105/?                    │ Displays   command    line │
1106                │                      │ help.                      │
1107                └──────────────────────┴────────────────────────────┘
1108
1109       NOTE:
1110          /start-service  has been deprecated but will continue to function as
1111          expected for the time being.
1112
1113       NOTE:
1114          /default-config and /custom-config= will backup an  existing  config
1115          if  found.  A  timestamp  and  a  .bak extension will be added. That
1116          includes the minion file and the minion.d directory.
1117
1118       Here are some examples of using the silent installer:
1119
1120          # Install the Salt Minion
1121          # Configure the minion and start the service
1122
1123          Salt-Minion-2017.7.1-Py2-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname
1124
1125          # Install the Salt Minion
1126          # Configure the minion but don't start the minion service
1127
1128          Salt-Minion-2017.7.1-Py3-AMD64-Setup.exe /S /master=yoursaltmaster /minion-name=yourminionname /start-minion=0
1129
1130          # Install the Salt Minion
1131          # Configure the minion using a custom config and configuring multimaster
1132
1133          Salt-Minion-2017.7.1-Py3-AMD64-Setup.exe /S /custom-config=windows_minion /master=prod_master1,prod_master2
1134
1135   Running the Salt Minion on Windows as an Unprivileged User
1136       Notes:
1137
1138       · These instructions were tested with Windows Server 2008 R2
1139
1140       · They are generalizable to any version  of  Windows  that  supports  a
1141         salt-minion
1142
1143   Create the Unprivileged User that the Salt Minion will Run As
1144       1.  Click Start > Control Panel > User Accounts.
1145
1146       2.  Click Add or remove user accounts.
1147
1148       3.  Click Create new account.
1149
1150       4.  Enter  salt-user  (or a name of your preference) in the New account
1151           name field.
1152
1153       5.  Select the Standard user radio button.
1154
1155       6.  Click the Create Account button.
1156
1157       7.  Click on the newly created user account.
1158
1159       8.  Click the Create a password link.
1160
1161       9.  In the New password and Confirm  new  password  fields,  provide  a
1162           password (e.g "SuperSecretMinionPassword4Me!").
1163
1164       10. In  the  Type a password hint field, provide appropriate text (e.g.
1165           "My Salt Password").
1166
1167       11. Click the Create password button.
1168
1169       12. Close the Change an Account window.
1170
1171   Add the New User to the Access Control List for the Salt Folder
1172       1. In a File  Explorer  window,  browse  to  the  path  where  Salt  is
1173          installed (the default path is C:\Salt).
1174
1175       2. Right-click on the Salt folder and select Properties.
1176
1177       3. Click on the Security tab.
1178
1179       4. Click the Edit button.
1180
1181       5. Click the Add button.
1182
1183       6. Type the name of your designated Salt user and click the OK button.
1184
1185       7. Check the box to Allow the Modify permission.
1186
1187       8. Click the OK button.
1188
1189       9. Click the OK button to close the Salt Properties window.
1190
1191   Update the Windows Service User for the salt-minion Service
1192       1.  Click Start > Administrative Tools > Services.
1193
1194       2.  In the Services list, right-click on salt-minion and select Proper‐
1195           ties.
1196
1197       3.  Click the Log On tab.
1198
1199       4.  Click the This account radio button.
1200
1201       5.  Provide the account credentials created in section A.
1202
1203       6.  Click the OK button.
1204
1205       7.  Click the OK button to the prompt confirming that the user has been
1206           granted the Log On As A Service right.
1207
1208       8.  Click  the  OK  button  to the prompt confirming that The new logon
1209           name will not take effect until you stop and restart the service.
1210
1211       9.  Right-Click on salt-minion and select Stop.
1212
1213       10. Right-Click on salt-minion and select Start.
1214
1215   Building and Developing on Windows
1216       This document will explain how to set up a development environment  for
1217       Salt  on  Windows.  The development environment allows you to work with
1218       the source code to customize or fix bugs. It will  also  allow  you  to
1219       build your own installation.
1220
1221       There  are  several scripts to automate creating a Windows installer as
1222       well as setting up an environment that facilitates developing and trou‐
1223       bleshooting Salt code. They are located in the pkg\windows directory in
1224       the Salt repo (here).
1225
1226   Scripts:
1227                   ┌────────────────┬────────────────────────────┐
1228                   │Script          │ Description                │
1229                   ├────────────────┼────────────────────────────┤
1230build_env_2.ps1 │ A PowerShell  script  that │
1231                   │                │ sets  up  a Python 2 build │
1232                   │                │ environment                │
1233                   ├────────────────┼────────────────────────────┤
1234build_env_3.ps1 │ A PowerShell  script  that │
1235                   │                │ sets  up  a Python 3 build │
1236                   │                │ environment                │
1237                   ├────────────────┼────────────────────────────┤
1238build_pkg.bat   │ A batch file that builds a │
1239                   │                │ Windows installer based on │
1240                   │                │ the   contents   of    the │
1241                   │                │ C:\Python27 directory      │
1242                   ├────────────────┼────────────────────────────┤
1243build.bat       │ A  batch  file  that fully │
1244                   │                │ automates the building  of │
1245                   │                │ the    Windows   installer │
1246                   │                │ using   the   above    two │
1247                   │                │ scripts                    │
1248                   └────────────────┴────────────────────────────┘
1249
1250       NOTE:
1251          The  build.bat  and build_pkg.bat scripts both accept a parameter to
1252          specify the version of Salt that will be displayed  in  the  Windows
1253          installer.   If no version is passed, the version will be determined
1254          using git.
1255
1256          Both scripts also accept an additional parameter to specify the ver‐
1257          sion of Python to use. The default is 2.
1258
1259   Prerequisite Software
1260       The only prerequisite is Git for Windows.
1261
1262   Create a Build Environment
1263   1. Working Directory
1264       Create a Salt-Dev directory on the root of C:. This will be our working
1265       directory. Navigate to Salt-Dev and clone the Salt repo from GitHub.
1266
1267       Open a command line and type:
1268
1269          cd \
1270          md Salt-Dev
1271          cd Salt-Dev
1272          git clone https://github.com/saltstack/salt
1273
1274       Go into the salt directory and checkout the version  of  salt  to  work
1275       with (2016.3 or higher).
1276
1277          cd salt
1278          git checkout 2017.7.2
1279
1280   2. Setup the Python Environment
1281       Navigate  to  the  pkg\windows  directory and execute the build_env.ps1
1282       PowerShell script.
1283
1284          cd pkg\windows
1285          powershell -file build_env_2.ps1
1286
1287       NOTE:
1288          You can also do this from Explorer by navigating to the  pkg\windows
1289          directory,  right clicking the build_env_2.ps1 powershell script and
1290          selecting Run with PowerShell
1291
1292       This will download and install  Python  2  with  all  the  dependencies
1293       needed to develop and build Salt.
1294
1295       NOTE:
1296          If  you  get  an  error  or  the script fails to run you may need to
1297          change the execution policy. Open a powershell window and  type  the
1298          following command:
1299
1300          Set-ExecutionPolicy RemoteSigned
1301
1302   3. Salt in Editable Mode
1303       Editable  mode  allows  you  to  more easily modify and test the source
1304       code. For more information see the Pip documentation.
1305
1306       Navigate to the root of the salt directory and install Salt in editable
1307       mode with pip
1308
1309          cd \Salt-Dev\salt
1310          pip install -e .
1311
1312       NOTE:
1313          The . is important
1314
1315       NOTE:
1316          If  pip is not recognized, you may need to restart your shell to get
1317          the updated path
1318
1319       NOTE:
1320          If pip is still not recognized make sure  that  the  Python  Scripts
1321          folder is in the System %PATH%. (C:\Python2\Scripts)
1322
1323   4. Setup Salt Configuration
1324       Salt  requires a minion configuration file and a few other directories.
1325       The default config file is named minion located  in  C:\salt\conf.  The
1326       easiest way to set this up is to copy the contents of the salt\pkg\win‐
1327       dows\buildenv directory to C:\salt.
1328
1329          cd \
1330          md salt
1331          xcopy /s /e \Salt-Dev\salt\pkg\windows\buildenv\* \salt\
1332
1333       Now go into the C:\salt\conf directory and edit the minion config  file
1334       named  minion  (no  extension). You need to configure the master and id
1335       parameters in this file. Edit the following lines:
1336
1337          master: <ip or name of your master>
1338          id: <name of your minion>
1339
1340   Create a Windows Installer
1341       To create a Windows installer, follow steps 1 and 2 from Create a Build
1342       Environment above. Then proceed to 3 below:
1343
1344   3. Install Salt
1345       To create the installer for Window we install Salt using Python instead
1346       of pip.  Navigate to the root salt directory and install Salt.
1347
1348          cd \Salt-Dev\salt
1349          python setup.py install
1350
1351   4. Create the Windows Installer
1352       Navigate to the pkg\windows directory and run  the  build_pkg.bat  with
1353       the build version (2017.7.2) and the Python version as parameters.
1354
1355          cd pkg\windows
1356          build_pkg.bat 2017.7.2 2
1357                        ^^^^^^^^ ^
1358                            |    |
1359          # build version --     |
1360          # python version ------
1361
1362       NOTE:
1363          If  no  version  is passed, the build_pkg.bat will guess the version
1364          number using git. If the python version is not passed,  the  default
1365          is 2.
1366
1367   Creating a Windows Installer: Alternate Method (Easier)
1368       Clone  the  Salt  repo  from  GitHub into the directory of your choice.
1369       We're going to use Salt-Dev.
1370
1371          cd \
1372          md Salt-Dev
1373          cd Salt-Dev
1374          git clone https://github.com/saltstack/salt
1375
1376       Go into the salt directory and checkout the version of Salt you want to
1377       build.
1378
1379          cd salt
1380          git checkout 2017.7.2
1381
1382       Then navigate to pkg\windows and run the build.bat script with the ver‐
1383       sion you're building.
1384
1385          cd pkg\windows
1386          build.bat 2017.7.2 3
1387                    ^^^^^^^^ ^
1388                        |    |
1389          # build version    |
1390          # python version --
1391
1392       This will install everything needed to build a  Windows  installer  for
1393       Salt  using  Python  3.  The binary will be in the salt\pkg\windows\in‐
1394       staller directory.
1395
1396   Testing the Salt minion
1397       1. Create the directory C:\salt (if it doesn't exist already)
1398
1399       2.
1400
1401          Copy the example conf and var directories from
1402                 pkg\windows\buildenv into C:\salt
1403
1404       3. Edit C:\salt\conf\minion
1405
1406                 master: ipaddress or hostname of your salt-master
1407
1408       4. Start the salt-minion
1409
1410                 cd C:\Python27\Scripts
1411                 python salt-minion -l debug
1412
1413       5. On the salt-master accept the new minion's key
1414
1415                 sudo salt-key -A
1416
1417             This accepts all unaccepted keys. If you're concerned about secu‐
1418             rity just accept the key for this specific minion.
1419
1420       6. Test that your minion is responding
1421             On the salt-master run:
1422
1423                 sudo salt '*' test.version
1424
1425       You should get the following response: {'your minion hostname': True}
1426
1427   Packages Management Under Windows 2003
1428       Windows  Server  2003  and Windows XP have both reached End of Support.
1429       Though Salt is not officially supported on operating systems  that  are
1430       EoL, some functionality may continue to work.
1431
1432       On  Windows  Server  2003,  you need to install optional component "WMI
1433       Windows Installer Provider" to get a full list of  installed  packages.
1434       If  you  don't have this, salt-minion can't report some installed soft‐
1435       ware.
1436
1437   SUSE
1438   Installation from the Official SaltStack Repository
1439       Packages for SUSE 12 SP1, SUSE 12, SUSE 11, openSUSE  13  and  openSUSE
1440       Leap 42.1 are available in the SaltStack Repository.
1441
1442       Instructions are at https://repo.saltstack.com/#suse.
1443
1444   Installation from the SUSE Repository
1445       Since openSUSE 13.2, Salt 2014.1.11 is available in the primary reposi‐
1446       tories.  With the release of SUSE manager 3 a new repository setup  has
1447       been  created.  The new repo will by systemsmanagement:saltstack, which
1448       is the source for newer stable packages. For backward  compatibility  a
1449       linkpackage will be created to the old devel:language:python repo.  All
1450       development of suse packages will be  done  in  systemsmanagement:salt‐
1451       stack:testing.   This  will  ensure  that salt will be in mainline suse
1452       repo's, a stable release repo and a testing repo for  further  enhance‐
1453       ments.
1454
1455   Installation
1456       Salt  can  be  installed  using zypper and is available in the standard
1457       openSUSE/SLES repositories.
1458
1459   Stable Release
1460       Salt is packaged separately for the minion and the master. It is neces‐
1461       sary  only  to install the appropriate package for the role the machine
1462       will play. Typically, there will be one master and multiple minions.
1463
1464          zypper install salt-master
1465          zypper install salt-minion
1466
1467   Post-installation tasks openSUSE
1468       Master
1469
1470       To have the Master start automatically at boot time:
1471
1472          systemctl enable salt-master.service
1473
1474       To start the Master:
1475
1476          systemctl start salt-master.service
1477
1478       Minion
1479
1480       To have the Minion start automatically at boot time:
1481
1482          systemctl enable salt-minion.service
1483
1484       To start the Minion:
1485
1486          systemctl start salt-minion.service
1487
1488   Post-installation tasks SLES
1489       Master
1490
1491       To have the Master start automatically at boot time:
1492
1493          chkconfig salt-master on
1494
1495       To start the Master:
1496
1497          rcsalt-master start
1498
1499       Minion
1500
1501       To have the Minion start automatically at boot time:
1502
1503          chkconfig salt-minion on
1504
1505       To start the Minion:
1506
1507          rcsalt-minion start
1508
1509   Unstable Release
1510   openSUSE
1511       For openSUSE Tumbleweed run the following as root:
1512
1513          zypper install salt salt-minion salt-master
1514
1515       For openSUSE 15.0 Leap run the following as root:
1516
1517          zypper install salt salt-minion salt-master
1518
1519       For openSUSE 15.1 run the following as root:
1520
1521          zypper install salt salt-minion salt-master
1522
1523   SUSE Linux Enterprise
1524       For SLE 12 run the following as root:
1525
1526          zypper addrepo http://download.opensuse.org/repositories/systemsmanagement:/saltstack/SLE_12/systemsmanagement:saltstack.repo
1527          zypper refresh
1528          zypper install salt salt-minion salt-master
1529
1530       For SLE 11 SP4 run the following as root:
1531
1532          zypper addrepo http://download.opensuse.org/repositories/systemsmanagement:/saltstack/SLE_11_SP4/systemsmanagement:saltstack.repo
1533          zypper refresh
1534          zypper install salt salt-minion salt-master
1535
1536       Now go to the Configuring Salt page.
1537
1538   Initial Configuration
1539   Configuring Salt
1540       Salt configuration is very simple. The default  configuration  for  the
1541       master  will  work  for most installations and the only requirement for
1542       setting up a minion is to set the location of the master in the  minion
1543       configuration file.
1544
1545       The  configuration  files  will be installed to /etc/salt and are named
1546       after the respective components, /etc/salt/master,  and  /etc/salt/min‐
1547       ion.
1548
1549   Master Configuration
1550       By default the Salt master listens on ports 4505 and 4506 on all inter‐
1551       faces (0.0.0.0). To bind Salt to a specific IP,  redefine  the  "inter‐
1552       face"   directive   in   the   master   configuration  file,  typically
1553       /etc/salt/master, as follows:
1554
1555          - #interface: 0.0.0.0
1556          + interface: 10.0.0.1
1557
1558       After updating the configuration file, restart the  Salt  master.   See
1559       the master configuration reference for more details about other config‐
1560       urable options.
1561
1562   Minion Configuration
1563       Although there are many Salt Minion configuration options,  configuring
1564       a Salt Minion is very simple. By default a Salt Minion will try to con‐
1565       nect to the DNS name "salt"; if the Minion is able to resolve that name
1566       correctly, no configuration is needed.
1567
1568       If  the  DNS name "salt" does not resolve to point to the correct loca‐
1569       tion of the Master, redefine the "master" directive in the minion  con‐
1570       figuration file, typically /etc/salt/minion, as follows:
1571
1572          - #master: salt
1573          + master: 10.0.0.1
1574
1575       After  updating  the  configuration file, restart the Salt minion.  See
1576       the minion configuration reference for more details about other config‐
1577       urable options.
1578
1579   Proxy Minion Configuration
1580       A  proxy minion emulates the behaviour of a regular minion and inherits
1581       their options.
1582
1583       Similarly, the configuration file  is  /etc/salt/proxy  and  the  proxy
1584       tries to connect to the DNS name "salt".
1585
1586       In addition to the regular minion options, there are several proxy-spe‐
1587       cific - see the proxy minion configuration reference.
1588
1589   Running Salt
1590       1. Start the master in the foreground (to daemonize the  process,  pass
1591          the -d flag):
1592
1593             salt-master
1594
1595       2. Start  the  minion in the foreground (to daemonize the process, pass
1596          the -d flag):
1597
1598             salt-minion
1599
1600          Having trouble?
1601
1602                 The simplest way to troubleshoot Salt is to  run  the  master
1603                 and minion in the foreground with log level set to debug:
1604
1605              salt-master --log-level=debug
1606
1607          For information on salt's logging system please see the logging doc‐
1608          ument.
1609
1610          Run as an unprivileged (non-root) user
1611
1612                 To run Salt as another user, set the user  parameter  in  the
1613                 master config file.
1614
1615                 Additionally,  ownership, and permissions need to be set such
1616                 that the desired user can read from and write to the  follow‐
1617                 ing directories (and their subdirectories, where applicable):
1618
1619          · /etc/salt
1620
1621          · /var/cache/salt
1622
1623          · /var/log/salt
1624
1625          · /var/run/salt
1626
1627          More  information about running salt as a non-privileged user can be
1628          found here.
1629
1630       There is also a full troubleshooting guide available.
1631
1632   Key Identity
1633       Salt provides commands to validate the identity of your Salt master and
1634       Salt  minions  before the initial key exchange. Validating key identity
1635       helps avoid inadvertently connecting to  the  wrong  Salt  master,  and
1636       helps  prevent  a  potential  MiTM attack when establishing the initial
1637       connection.
1638
1639   Master Key Fingerprint
1640       Print the master key fingerprint by running the  following  command  on
1641       the Salt master:
1642
1643          salt-key -F master
1644
1645       Copy  the  master.pub fingerprint from the Local Keys section, and then
1646       set this value as the master_finger in the minion  configuration  file.
1647       Save the configuration file and then restart the Salt minion.
1648
1649   Minion Key Fingerprint
1650       Run  the  following  command on each Salt minion to view the minion key
1651       fingerprint:
1652
1653          salt-call --local key.finger
1654
1655       Compare this value to the value that is  displayed  when  you  run  the
1656       salt-key --finger <MINION_ID> command on the Salt master.
1657
1658   Key Management
1659       Salt  uses  AES encryption for all communication between the Master and
1660       the Minion. This ensures that the commands sent to the  Minions  cannot
1661       be  tampered  with, and that communication between Master and Minion is
1662       authenticated through trusted, accepted keys.
1663
1664       Before commands can be sent to a Minion, its key must  be  accepted  on
1665       the Master. Run the salt-key command to list the keys known to the Salt
1666       Master:
1667
1668          [root@master ~]# salt-key -L
1669          Unaccepted Keys:
1670          alpha
1671          bravo
1672          charlie
1673          delta
1674          Accepted Keys:
1675
1676       This example shows that the Salt Master is aware of four  Minions,  but
1677       none  of  the  keys has been accepted. To accept the keys and allow the
1678       Minions to be controlled by the Master, again use the salt-key command:
1679
1680          [root@master ~]# salt-key -A
1681          [root@master ~]# salt-key -L
1682          Unaccepted Keys:
1683          Accepted Keys:
1684          alpha
1685          bravo
1686          charlie
1687          delta
1688
1689       The salt-key command allows for signing keys individually or  in  bulk.
1690       The  example  above,  using -A bulk-accepts all pending keys. To accept
1691       keys individually use the lowercase of the same option, -a keyname.
1692
1693       SEE ALSO:
1694          salt-key manpage
1695
1696   Sending Commands
1697       Communication between the Master and a Minion may be verified  by  run‐
1698       ning the test.version command:
1699
1700          [root@master ~]# salt alpha test.version
1701          alpha:
1702              2018.3.4
1703
1704       Communication  between  the  Master  and all Minions may be tested in a
1705       similar way:
1706
1707          [root@master ~]# salt '*' test.version
1708          alpha:
1709              2018.3.4
1710          bravo:
1711              2018.3.4
1712          charlie:
1713              2018.3.4
1714          delta:
1715              2018.3.4
1716
1717       Each of the Minions should send a 2018.3.4 response as shown above,  or
1718       any other salt version installed.
1719
1720   What's Next?
1721       Understanding  targeting is important. From there, depending on the way
1722       you wish to use Salt, you should also proceed  to  learn  about  Remote
1723       Execution and Configuration Management.
1724
1725   Additional Installation Guides
1726   Salt Bootstrap
1727       The  Salt  Bootstrap Script allows a user to install the Salt Minion or
1728       Master on a variety of system distributions and versions.
1729
1730       The Salt  Bootstrap  Script  is  a  shell  script  is  known  as  boot‐
1731       strap-salt.sh.   It  runs  through  a series of checks to determine the
1732       operating system type and version. It then installs the  Salt  binaries
1733       using the appropriate methods.
1734
1735       The  Salt  Bootstrap  Script  installs  the  minimum number of packages
1736       required to run Salt. This means that in the event you  run  the  boot‐
1737       strap to install via package, Git will not be installed. Installing the
1738       minimum number of packages helps ensure the script stays as lightweight
1739       as possible, assuming the user will install any other required packages
1740       after the Salt binaries are present on the system.
1741
1742       The Salt Bootstrap Script is maintained in a separate repo  from  Salt,
1743       complete  with  its own issues, pull requests, contributing guidelines,
1744       release protocol, etc.
1745
1746       To learn more, please see the Salt Bootstrap repo links:
1747
1748       · Salt Bootstrap repo
1749
1750       · README: includes supported  operating  systems,  example  usage,  and
1751         more.
1752
1753       · Contributing Guidelines
1754
1755       · Release Process
1756
1757       NOTE:
1758          The  Salt  Bootstrap  script can be found in the Salt repo under the
1759          salt/cloud/deploy/bootstrap-salt.sh path. Any changes to  this  file
1760          will be overwritten! Bug fixes and feature additions must be submit‐
1761          ted via the Salt Bootstrap  repo.  Please  see  the  Salt  Bootstrap
1762          Script's Release Process for more information.
1763
1764   Opening the Firewall up for Salt
1765       The  Salt  master  communicates with the minions using an AES-encrypted
1766       ZeroMQ connection. These communications are done over  TCP  ports  4505
1767       and 4506, which need to be accessible on the master only. This document
1768       outlines suggested firewall rules for allowing these  incoming  connec‐
1769       tions to the master.
1770
1771       NOTE:
1772          No  firewall  configuration  needs to be done on Salt minions. These
1773          changes refer to the master only.
1774
1775   Fedora 18 and beyond / RHEL 7 / CentOS 7
1776       Starting with Fedora 18 FirewallD is the tool that is used  to  dynami‐
1777       cally  manage  the  firewall rules on a host. It has support for IPv4/6
1778       settings and the separation of runtime and permanent configurations. To
1779       interact with FirewallD use the command line client firewall-cmd.
1780
1781       firewall-cmd example:
1782
1783          firewall-cmd --permanent --zone=<zone> --add-port=4505-4506/tcp
1784
1785       A network zone defines the security level of trust for the the network.
1786       The user should choose an appropriate zone value for their setup.  Pos‐
1787       sible  values  include: drop, block, public, external, dmz, work, home,
1788       internal, trusted.
1789
1790       Don't forget to reload after you made your changes.
1791
1792          firewall-cmd --reload
1793
1794   RHEL 6 / CentOS 6
1795       The lokkit command packaged with some Linux distributions makes opening
1796       iptables firewall ports very simple via the command line. Just be care‐
1797       ful to not lock out access to the server by neglecting to open the  ssh
1798       port.
1799
1800       lokkit example:
1801
1802          lokkit -p 22:tcp -p 4505:tcp -p 4506:tcp
1803
1804       The  system-config-firewall-tui command provides a text-based interface
1805       to modifying the firewall.
1806
1807       system-config-firewall-tui:
1808
1809          system-config-firewall-tui
1810
1811   openSUSE
1812       Salt           installs           firewall           rules           in
1813       /etc/sysconfig/SuSEfirewall2.d/services/salt.  Enable with:
1814
1815          SuSEfirewall2 open
1816          SuSEfirewall2 start
1817
1818       If you have an older package of Salt where the above configuration file
1819       is not included, the SuSEfirewall2 command makes opening iptables fire‐
1820       wall ports very simple via the command line.
1821
1822       SuSEfirewall example:
1823
1824          SuSEfirewall2 open EXT TCP 4505
1825          SuSEfirewall2 open EXT TCP 4506
1826
1827       The firewall module in YaST2 provides a text-based interface to modify‐
1828       ing the firewall.
1829
1830       YaST2:
1831
1832          yast2 firewall
1833
1834   Windows
1835       Windows Firewall is the default component  of  Microsoft  Windows  that
1836       provides  firewalling  and  packet  filtering. There are many 3rd party
1837       firewalls available for Windows, some of which use rules from the  Win‐
1838       dows  Firewall.  If you are experiencing problems see the vendor's spe‐
1839       cific documentation for opening the required ports.
1840
1841       The Windows Firewall can be configured using the Windows  Interface  or
1842       from the command line.
1843
1844       Windows Firewall (interface):
1845
1846       1. Open  the Windows Firewall Interface by typing wf.msc at the command
1847          prompt or in a run dialog (Windows Key + R)
1848
1849       2. Navigate to Inbound Rules in the console tree
1850
1851       3. Add a new rule by clicking New Rule... in the Actions area
1852
1853       4. Change the Rule Type to Port. Click Next
1854
1855       5. Set the Protocol to TCP and specify  local  ports  4505-4506.  Click
1856          Next
1857
1858       6. Set the Action to Allow the connection. Click Next
1859
1860       7. Apply the rule to Domain, Private, and Public. Click Next
1861
1862       8. Give  the new rule a Name, ie: Salt. You may also add a description.
1863          Click Finish
1864
1865       Windows Firewall (command line):
1866
1867       The Windows Firewall rule can be created by issuing a  single  command.
1868       Run the following command from the command line or a run prompt:
1869
1870          netsh advfirewall firewall add rule name="Salt" dir=in action=allow protocol=TCP localport=4505-4506
1871
1872   iptables
1873       Different  Linux  distributions  store  their  iptables  (also known as
1874       netfilter) rules in different places, which makes it difficult to stan‐
1875       dardize  firewall  documentation.  Included are some of the more common
1876       locations, but your mileage may vary.
1877
1878       Fedora / RHEL / CentOS:
1879
1880          /etc/sysconfig/iptables
1881
1882       Arch Linux:
1883
1884          /etc/iptables/iptables.rules
1885
1886       Debian
1887
1888       Follow these instructions: https://wiki.debian.org/iptables
1889
1890       Once you've found your firewall rules, you'll need  to  add  the  below
1891       line to allow traffic on tcp/4505 and tcp/4506:
1892
1893          -A INPUT -m state --state new -m tcp -p tcp --dport 4505:4506 -j ACCEPT
1894
1895       Ubuntu
1896
1897       Salt   installs  firewall  rules  in  /etc/ufw/applications.d/salt.ufw.
1898       Enable with:
1899
1900          ufw allow salt
1901
1902   pf.conf
1903       The BSD-family of operating systems uses packet filter (pf).  The  fol‐
1904       lowing  example  describes the addition to pf.conf needed to access the
1905       Salt master.
1906
1907          pass in on $int_if proto tcp from any to $int_if port 4505:4506
1908
1909       Once this addition has been made to the pf.conf the rules will need  to
1910       be reloaded. This can be done using the pfctl command.
1911
1912          pfctl -vf /etc/pf.conf
1913
1914   Whitelist communication to Master
1915       There are situations where you want to selectively allow Minion traffic
1916       from specific hosts or networks into your Salt Master. The  first  sce‐
1917       nario which comes to mind is to prevent unwanted traffic to your Master
1918       out of security concerns, but another  scenario  is  to  handle  Minion
1919       upgrades  when  there  are  backwards  incompatible changes between the
1920       installed Salt versions in your environment.
1921
1922       Here is an example Linux iptables ruleset to be set on the Master:
1923
1924          # Allow Minions from these networks
1925          -I INPUT -s 10.1.2.0/24 -p tcp --dports 4505:4506 -j ACCEPT
1926          -I INPUT -s 10.1.3.0/24 -p tcp --dports 4505:4506 -j ACCEPT
1927          # Allow Salt to communicate with Master on the loopback interface
1928          -A INPUT -i lo -p tcp --dports 4505:4506 -j ACCEPT
1929          # Reject everything else
1930          -A INPUT -p tcp --dports 4505:4506 -j REJECT
1931
1932       NOTE:
1933          The important thing to note here is that the salt command  needs  to
1934          communicate  with the listening network socket of salt-master on the
1935          loopback interface. Without this you will see no outgoing Salt traf‐
1936          fic  from  the  master,  even  for  a  simple salt '*' test.version,
1937          because the salt client never reached the salt-master to tell it  to
1938          carry out the execution.
1939
1940   Preseed Minion with Accepted Key
1941       In  some situations, it is not convenient to wait for a minion to start
1942       before accepting its key on the master. For instance, you may want  the
1943       minion  to  bootstrap  itself  as soon as it comes online. You may also
1944       want to let your developers provision new development machines  on  the
1945       fly.
1946
1947       SEE ALSO:
1948          Many ways to preseed minion keys
1949
1950          Salt  has other ways to generate and pre-accept minion keys in addi‐
1951          tion to the manual steps outlined below.
1952
1953          salt-cloud performs these same steps automatically  when  new  cloud
1954          VMs are created (unless instructed not to).
1955
1956          salt-api  exposes  an  HTTP  call to Salt's REST API to generate and
1957          download the new minion keys as a tarball.
1958
1959       There is a general four step process to do this:
1960
1961       1. Generate the keys on the master:
1962
1963          root@saltmaster# salt-key --gen-keys=[key_name]
1964
1965       Pick a name for the key, such as the minion's id.
1966
1967       2. Add the public key to the accepted minion folder:
1968
1969          root@saltmaster# cp key_name.pub /etc/salt/pki/master/minions/[minion_id]
1970
1971       It is necessary that the public key file has the same name as your min‐
1972       ion  id.   This  is how Salt matches minions with their keys. Also note
1973       that the pki folder could be in a different location, depending on your
1974       OS or if specified in the master config file.
1975
1976       3. Distribute the minion keys.
1977
1978       There  is no single method to get the keypair to your minion.  The dif‐
1979       ficulty is finding a distribution method which is  secure.  For  Amazon
1980       EC2 only, an AWS best practice is to use IAM Roles to pass credentials.
1981       (See                             blog                             post,
1982       http://blogs.aws.amazon.com/security/post/Tx610S2MLVZWEA/Using-IAM-roles-to-distribute-non-AWS-credentials-to-your-EC2-instances
1983       )
1984
1985          Security Warning
1986
1987                 Since the minion key is already accepted on the master,  dis‐
1988                 tributing  the private key poses a potential security risk. A
1989                 malicious party will have access to your  entire  state  tree
1990                 and  other  sensitive data if they gain access to a preseeded
1991                 minion key.
1992
1993       4. Preseed the Minion with the keys
1994
1995       You will want to place the minion keys before starting the  salt-minion
1996       daemon:
1997
1998          /etc/salt/pki/minion/minion.pem
1999          /etc/salt/pki/minion/minion.pub
2000
2001       Once  in  place,  you  should  be  able  to  start  salt-minion and run
2002       salt-call state.apply or any other salt commands  that  require  master
2003       authentication.
2004
2005   The macOS (Maverick) Developer Step By Step Guide To Salt Installation
2006       This  document provides a step-by-step guide to installing a Salt clus‐
2007       ter consisting of  one master, and one minion running  on  a  local  VM
2008       hosted on macOS.
2009
2010       NOTE:
2011          This  guide is aimed at developers who wish to run Salt in a virtual
2012          machine.  The official (Linux) walkthrough can be found here.
2013
2014   The 5 Cent Salt Intro
2015       Since you're here you've probably already  heard  about  Salt,  so  you
2016       already  know  Salt  lets  you  configure and run commands on hordes of
2017       servers easily.  Here's a brief overview of a Salt cluster:
2018
2019       · Salt works by having a "master" server sending  commands  to  one  or
2020         multiple "minion" servers. The master server is the "command center".
2021         It is going to be the place where you store your configuration files,
2022         aka:  "which  server  is  the  db,  which is the web server, and what
2023         libraries and software  they  should  have  installed".  The  minions
2024         receive  orders  from  the  master.  Minions are the servers actually
2025         performing work for your business.
2026
2027       · Salt has two types of configuration files:
2028
2029         1. the "salt communication channels" or "meta"  or "config"  configu‐
2030         ration  files  (not  official  names): one for the master (usually is
2031         /etc/salt/master ,  on  the  master  server),  and  one  for  minions
2032         (default  is /etc/salt/minion or /etc/salt/minion.conf, on the minion
2033         servers). Those files are used to determine things like the Salt Mas‐
2034         ter  IP,  port,  Salt folder locations, etc.. If these are configured
2035         incorrectly, your minions will probably be unable to  receive  orders
2036         from  the  master, or the master will not know which software a given
2037         minion should install.
2038
2039         2. the "business" or "service" configuration files (once  again,  not
2040         an  official name): these are configuration files, ending with ".sls"
2041         extension, that describe which software should run on  which  server,
2042         along  with particular configuration properties for the software that
2043         is being installed. These files should be created  in  the  /srv/salt
2044         folder  by  default,  but  their  location  can  be changed using ...
2045         /etc/salt/master configuration file!
2046
2047       NOTE:
2048          This tutorial contains a third important configuration file, not  to
2049          be  confused with the previous two: the virtual machine provisioning
2050          configuration file. This in itself is not specifically tied to Salt,
2051          but  it  also contains some Salt configuration. More on that in step
2052          3. Also note that all configuration files are YAML files. So  inden‐
2053          tation matters.
2054
2055       NOTE:
2056          Salt  also  works  with "masterless" configuration where a minion is
2057          autonomous (in which case salt can be seen as a local  configuration
2058          tool),  or in "multiple master" configuration. See the documentation
2059          for more on that.
2060
2061   Before Digging In, The Architecture Of The Salt Cluster
2062   Salt Master
2063       The "Salt master" server is going to be the Mac OS  machine,  directly.
2064       Commands  will  be  run  from  a  terminal app, so Salt will need to be
2065       installed on the Mac.  This is going to be more convenient  for  toying
2066       around with configuration files.
2067
2068   Salt Minion
2069       We'll  only have one "Salt minion" server. It is going to be running on
2070       a Virtual Machine running on the Mac, using VirtualBox. It will run  an
2071       Ubuntu distribution.
2072
2073   Step 1 - Configuring The Salt Master On Your Mac
2074       Official Documentation
2075
2076       Because  Salt has a lot of dependencies that are not built in macOS, we
2077       will use Homebrew to install Salt. Homebrew is a  package  manager  for
2078       Mac,  it's  great,  use  it  (for this tutorial at least!). Some people
2079       spend a lot of time installing libs by hand to better understand depen‐
2080       dencies,  and then realize how useful a package manager is once they're
2081       configuring a brand new machine and have to do it all  over  again.  It
2082       also lets you uninstall things easily.
2083
2084       NOTE:
2085          Brew is a Ruby program (Ruby is installed by default with your Mac).
2086          Brew downloads, compiles, and links software. The linking  phase  is
2087          when  compiled software is deployed on your machine. It may conflict
2088          with manually  installed  software,  especially  in  the  /usr/local
2089          directory.  It's  ok,  remove  the  manually  installed version then
2090          refresh the link by typing brew link 'packageName'. Brew has a  brew
2091          doctor command that can help you troubleshoot. It's a great command,
2092          use it often. Brew requires xcode command line tools. When  you  run
2093          brew  the  first  time  it  asks  you to install them if they're not
2094          already on your system. Brew  installs  software  in  /usr/local/bin
2095          (system  bins  are in /usr/bin). In order to use those bins you need
2096          your $PATH to search there first. Brew tells you if your $PATH needs
2097          to be fixed.
2098
2099       TIP:
2100          Use  the  keyboard shortcut cmd + shift + period in the "open" macOS
2101          dialog box to display hidden files and folders, such as .profile.
2102
2103   Install Homebrew
2104       Install Homebrew here http://brew.sh/
2105
2106       Or just type
2107
2108          ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2109
2110       Now type the following commands in your terminal (you may want to  type
2111       brew doctor after each to make sure everything's fine):
2112
2113          brew install python
2114          brew install swig
2115          brew install zmq
2116
2117       NOTE:
2118          zmq  is  ZeroMQ.  It's a fantastic library used for server to server
2119          network communication and is at the core of Salt efficiency.
2120
2121   Install Salt
2122       You should now have everything ready to launch this command:
2123
2124          pip install salt
2125
2126       NOTE:
2127          There should be no need for sudo pip install  salt.  Brew  installed
2128          Python for your user, so you should have all the access. In case you
2129          would  like  to  check,  type  which  python  to  ensure  that  it's
2130          /usr/local/bin/python,    and    which    pip    which   should   be
2131          /usr/local/bin/pip.
2132
2133       Now type python in a terminal then, import salt.  There  should  be  no
2134       errors. Now exit the Python terminal using exit().
2135
2136   Create The Master Configuration
2137       If  the  default  /etc/salt/master  configuration file was not created,
2138       copy-paste                it                 from                 here:
2139       http://docs.saltstack.com/ref/configuration/examples.html#configuration-examples-master
2140
2141       NOTE:
2142          /etc/salt/master is a file, not a folder.
2143
2144       Salt Master configuration changes. The Salt master  needs  a  few  cus‐
2145       tomization to be able to run on macOS:
2146
2147          sudo launchctl limit maxfiles 4096 8192
2148
2149       In  the  /etc/salt/master  file, change max_open_files to 8192 (or just
2150       add the line: max_open_files: 8192 (no quote)  if  it  doesn't  already
2151       exists).
2152
2153       You should now be able to launch the Salt master:
2154
2155          sudo salt-master --log-level=all
2156
2157       There should be no errors when running the above command.
2158
2159       NOTE:
2160          This  command  is  supposed  to  be a daemon, but for toying around,
2161          we'll keep it running on a terminal to monitor the activity.
2162
2163       Now that the master is set, let's configure a minion on a VM.
2164
2165   Step 2 - Configuring The Minion VM
2166       The Salt minion is going to run on a Virtual Machine. There are  a  lot
2167       of software options that let you run virtual machines on a mac, But for
2168       this tutorial we're going to use VirtualBox. In addition to virtualBox,
2169       we  will use Vagrant, which allows you to create the base VM configura‐
2170       tion.
2171
2172       Vagrant lets you build ready to use VM  images,  starting  from  an  OS
2173       image  and  customizing it using "provisioners". In our case, we'll use
2174       it to:
2175
2176       · Download the base Ubuntu image
2177
2178       · Install salt on that Ubuntu image (Salt is going to  be  the  "provi‐
2179         sioner" for the VM).
2180
2181       · Launch the VM
2182
2183       · SSH into the VM to debug
2184
2185       · Stop the VM once you're done.
2186
2187   Install VirtualBox
2188       Go  get  it  here:  https://www.virtualBox.org/wiki/Downloads (click on
2189       VirtualBox for macOS hosts => x86/amd64)
2190
2191   Install Vagrant
2192       Go get it here: http://downloads.vagrantup.com/ and choose  the  latest
2193       version (1.3.5 at time of writing), then the .dmg file. Double-click to
2194       install it.  Make sure the vagrant command is found  when  run  in  the
2195       terminal. Type vagrant. It should display a list of commands.
2196
2197   Create The Minion VM Folder
2198       Create a folder in which you will store your minion's VM. In this tuto‐
2199       rial, it's going to be a minion folder in the $home directory.
2200
2201          cd $home
2202          mkdir minion
2203
2204   Initialize Vagrant
2205       From the minion folder, type
2206
2207          vagrant init
2208
2209       This command creates a default  Vagrantfile  configuration  file.  This
2210       configuration file will be used to pass configuration parameters to the
2211       Salt provisioner in Step 3.
2212
2213   Import Precise64 Ubuntu Box
2214          vagrant box add precise64 http://files.vagrantup.com/precise64.box
2215
2216       NOTE:
2217          This box is added at the global Vagrant level. You only need  to  do
2218          it once as each VM will use this same file.
2219
2220   Modify the Vagrantfile
2221       Modify  ./minion/Vagrantfile  to  use th precise64 box. Change the con‐
2222       fig.vm.box line to:
2223
2224          config.vm.box = "precise64"
2225
2226       Uncomment the line creating a host-only IP. This is the ip of your min‐
2227       ion (you can change it to something else if that IP is already in use):
2228
2229          config.vm.network :private_network, ip: "192.168.33.10"
2230
2231       At  this  point you should have a VM that can run, although there won't
2232       be much in it. Let's check that.
2233
2234   Checking The VM
2235       From the $home/minion folder type:
2236
2237          vagrant up
2238
2239       A log showing the VM booting should be present. Once it's  done  you'll
2240       be back to the terminal:
2241
2242          ping 192.168.33.10
2243
2244       The VM should respond to your ping request.
2245
2246       Now log into the VM in ssh using Vagrant again:
2247
2248          vagrant ssh
2249
2250       You  should  see  the  shell  prompt  change  to  something  similar to
2251       vagrant@precise64:~$ meaning you're inside the VM.  From  there,  enter
2252       the following:
2253
2254          ping 10.0.2.2
2255
2256       NOTE:
2257          That  ip is the ip of your VM host (the macOS host). The number is a
2258          VirtualBox default and is displayed in the log after the Vagrant ssh
2259          command.  We'll use that IP to tell the minion where the Salt master
2260          is.  Once you're done, end the ssh session by typing exit.
2261
2262       It's now time to connect the VM to the salt master
2263
2264   Step 3 - Connecting Master and Minion
2265   Creating The Minion Configuration File
2266       Create the /etc/salt/minion file.  In  that  file,  put  the  following
2267       lines, giving the ID for this minion, and the IP of the master:
2268
2269          master: 10.0.2.2
2270          id: 'minion1'
2271          file_client: remote
2272
2273       Minions  authenticate  with  the  master using keys. Keys are generated
2274       automatically if you don't provide one and can accept  them  later  on.
2275       However,  this  requires accepting the minion key every time the minion
2276       is destroyed or created (which could be quite often). A better  way  is
2277       to create those keys in advance, feed them to the minion, and authorize
2278       them once.
2279
2280   Preseed minion keys
2281       From the minion folder on your Mac run:
2282
2283          sudo salt-key --gen-keys=minion1
2284
2285       This should create two  files:  minion1.pem,  and  minion1.pub.   Since
2286       those  files have been created using sudo, but will be used by vagrant,
2287       you need to change ownership:
2288
2289          sudo chown youruser:yourgroup minion1.pem
2290          sudo chown youruser:yourgroup minion1.pub
2291
2292       Then copy the .pub file into the list of accepted minions:
2293
2294          sudo cp minion1.pub /etc/salt/pki/master/minions/minion1
2295
2296   Modify Vagrantfile to Use Salt Provisioner
2297       Let's now modify the Vagrantfile used to provision the Salt VM. Add the
2298       following  section  in  the Vagrantfile (note: it should be at the same
2299       indentation level as the other properties):
2300
2301          # salt-vagrant config
2302          config.vm.provision :salt do |salt|
2303              salt.run_highstate = true
2304              salt.minion_config = "/etc/salt/minion"
2305              salt.minion_key = "./minion1.pem"
2306              salt.minion_pub = "./minion1.pub"
2307          end
2308
2309       Now destroy the vm and recreate it from the /minion folder:
2310
2311          vagrant destroy
2312          vagrant up
2313
2314       If everything is fine you should see the following message:
2315
2316          "Bootstrapping Salt... (this may take a while)
2317          Salt successfully configured and installed!"
2318
2319   Checking Master-Minion Communication
2320       To make sure the master and minion are talking to each other, enter the
2321       following:
2322
2323          sudo salt '*' test.version
2324
2325       You  should  see  your minion answering with its salt version. It's now
2326       time to do some configuration.
2327
2328   Step 4 - Configure Services to Install On the Minion
2329       In this step we'll use the  Salt  master  to  instruct  our  minion  to
2330       install Nginx.
2331
2332   Checking the system's original state
2333       First,  make  sure  that an HTTP server is not installed on our minion.
2334       When opening a browser directed at http://192.168.33.10/ You should get
2335       an error saying the site cannot be reached.
2336
2337   Initialize the top.sls file
2338       System  configuration  is done in /srv/salt/top.sls (and subfiles/fold‐
2339       ers), and then applied by running the state.apply function to have  the
2340       Salt  master order its minions to update their instructions and run the
2341       associated commands.
2342
2343       First Create an empty file on your Salt master (macOS machine):
2344
2345          touch /srv/salt/top.sls
2346
2347       When the file is empty, or if no configuration is found for our  minion
2348       an error is reported:
2349
2350          sudo salt 'minion1' state.apply
2351
2352       This should return an error stating: No Top file or external nodes data
2353       matches found.
2354
2355   Create The Nginx Configuration
2356       Now is finally the time to enter the real meat of our server's configu‐
2357       ration.   For  this tutorial our minion will be treated as a web server
2358       that needs to have Nginx installed.
2359
2360       Insert the following lines into /srv/salt/top.sls (which should current
2361       be empty).
2362
2363          base:
2364            'minion1':
2365              - bin.nginx
2366
2367       Now create /srv/salt/bin/nginx.sls containing the following:
2368
2369          nginx:
2370            pkg.installed:
2371              - name: nginx
2372            service.running:
2373              - enable: True
2374              - reload: True
2375
2376   Check Minion State
2377       Finally, run the state.apply function again:
2378
2379          sudo salt 'minion1' state.apply
2380
2381       You  should see a log showing that the Nginx package has been installed
2382       and the service configured. To prove it, open your browser and navigate
2383       to  http://192.168.33.10/,  you  should  see the standard Nginx welcome
2384       page.
2385
2386       Congratulations!
2387
2388   Where To Go From Here
2389       A full description of configuration management within Salt  (sls  files
2390       among        other        things)        is       available       here:
2391       http://docs.saltstack.com/en/latest/index.html#configuration-management
2392
2393   running salt as normal user tutorial
2394       Before continuing make sure you have a  working  Salt  installation  by
2395       following the installation and the configuration instructions.
2396
2397          Stuck?
2398
2399                 There  are  many  ways  to  get  help from the Salt community
2400                 including our mailing list and our IRC channel #salt.
2401
2402   Running Salt functions as non root user
2403       If you don't want to run salt cloud as root or even install it you  can
2404       configure it to have a virtual root in your working directory.
2405
2406       The salt system uses the salt.syspath module to find the variables
2407
2408       If you run the salt-build, it will generated in:
2409
2410          ./build/lib.linux-x86_64-2.7/salt/_syspaths.py
2411
2412       To generate it, run the command:
2413
2414          python setup.py build
2415
2416       Copy the generated module into your salt directory
2417
2418          cp ./build/lib.linux-x86_64-2.7/salt/_syspaths.py salt/_syspaths.py
2419
2420       Edit it to include needed variables and your new paths
2421
2422          # you need to edit this
2423          ROOT_DIR = *your current dir* + '/salt/root'
2424
2425          # you need to edit this
2426          INSTALL_DIR = *location of source code*
2427
2428          CONFIG_DIR =  ROOT_DIR + '/etc/salt'
2429          CACHE_DIR = ROOT_DIR + '/var/cache/salt'
2430          SOCK_DIR = ROOT_DIR + '/var/run/salt'
2431          SRV_ROOT_DIR= ROOT_DIR + '/srv'
2432          BASE_FILE_ROOTS_DIR = ROOT_DIR + '/srv/salt'
2433          BASE_PILLAR_ROOTS_DIR = ROOT_DIR + '/srv/pillar'
2434          BASE_MASTER_ROOTS_DIR = ROOT_DIR + '/srv/salt-master'
2435          LOGS_DIR = ROOT_DIR + '/var/log/salt'
2436          PIDFILE_DIR = ROOT_DIR + '/var/run'
2437          CLOUD_DIR = INSTALL_DIR + '/cloud'
2438          BOOTSTRAP = CLOUD_DIR + '/deploy/bootstrap-salt.sh'
2439
2440       Create the directory structure
2441
2442          mkdir -p root/etc/salt root/var/cache/run root/run/salt root/srv
2443          root/srv/salt root/srv/pillar root/srv/salt-master root/var/log/salt root/var/run
2444
2445       Populate the configuration files:
2446
2447          cp -r conf/* root/etc/salt/
2448
2449       Edit   your   root/etc/salt/master   configuration   that  is  used  by
2450       salt-cloud:
2451
2452          user: *your user name*
2453
2454       Run like this:
2455
2456          PYTHONPATH=`pwd` scripts/salt-cloud
2457
2458   Standalone Minion
2459       Since the Salt minion contains such extensive functionality it  can  be
2460       useful  to  run  it standalone. A standalone minion can be used to do a
2461       number of things:
2462
2463       · Use salt-call commands on a system without connectivity to a master
2464
2465       · Masterless States, run states entirely from files local to the minion
2466
2467       NOTE:
2468          When running Salt in masterless mode, do  not  run  the  salt-minion
2469          daemon.  Otherwise, it will attempt to connect to a master and fail.
2470          The salt-call command stands on  its  own  and  does  not  need  the
2471          salt-minion daemon.
2472
2473   Minion Configuration
2474       Throughout  this  document there are several references to setting dif‐
2475       ferent options to configure a masterless Minion. Salt Minions are  easy
2476       to  configure  via a configuration file that is located, by default, in
2477       /etc/salt/minion.  Note, however, that on FreeBSD systems,  the  minion
2478       configuration file is located in /usr/local/etc/salt/minion.
2479
2480       You  can learn more about minion configuration options in the Configur‐
2481       ing the Salt Minion docs.
2482
2483   Telling Salt Call to Run Masterless
2484       The salt-call command is used to run module functions locally on a min‐
2485       ion  instead  of executing them from the master. Normally the salt-call
2486       command checks into the master to retrieve file server and pillar data,
2487       but  when  running  standalone  salt-call needs to be instructed to not
2488       check the master for this data. To instruct the minion to not look  for
2489       a  master  when  running salt-call the file_client configuration option
2490       needs to be set.  By default the file_client is set to remote  so  that
2491       the  minion  knows  that file server and pillar data are to be gathered
2492       from the master. When setting the file_client option to local the  min‐
2493       ion is configured to not gather this data from the master.
2494
2495          file_client: local
2496
2497       Now  the  salt-call  command will not look for a master and will assume
2498       that the local system has all of the file and pillar resources.
2499
2500   Running States Masterless
2501       The state system can be easily run without  a  Salt  master,  with  all
2502       needed  files  local to the minion. To do this the minion configuration
2503       file needs to be set up to know how to  return  file_roots  information
2504       like  the  master. The file_roots setting defaults to /srv/salt for the
2505       base environment just like on the master:
2506
2507          file_roots:
2508            base:
2509              - /srv/salt
2510
2511       Now set up the Salt State Tree, top file, and SLS modules in  the  same
2512       way  that  they  would be set up on a master. Now, with the file_client
2513       option set to local and an available state tree then calls to functions
2514       in  the  state module will use the information in the file_roots on the
2515       minion instead of checking in with the master.
2516
2517       Remember that when creating a state tree on a minion there are no  syn‐
2518       tax  or path changes needed, SLS modules written to be used from a mas‐
2519       ter do not need to be modified in any way to work with a minion.
2520
2521       This makes it easy to "script" deployments  with  Salt  states  without
2522       having  to set up a master, and allows for these SLS modules to be eas‐
2523       ily moved into a Salt master as the deployment grows.
2524
2525       The declared state can now be executed with:
2526
2527          salt-call state.apply
2528
2529       Or the salt-call command can be executed with the  --local  flag,  this
2530       makes it unnecessary to change the configuration file:
2531
2532          salt-call state.apply --local
2533
2534   External Pillars
2535       External pillars are supported when running in masterless mode.
2536
2537   Salt Masterless Quickstart
2538       Running a masterless salt-minion lets you use Salt's configuration man‐
2539       agement for a single machine without calling out to a  Salt  master  on
2540       another machine.
2541
2542       Since  the  Salt minion contains such extensive functionality it can be
2543       useful to run it standalone. A standalone minion can be used  to  do  a
2544       number of things:
2545
2546       · Stand up a master server via States (Salting a Salt Master)
2547
2548       · Use salt-call commands on a system without connectivity to a master
2549
2550       · Masterless States, run states entirely from files local to the minion
2551
2552       It  is  also  useful  for testing out state trees before deploying to a
2553       production setup.
2554
2555   Bootstrap Salt Minion
2556       The salt-bootstrap script makes bootstrapping a server with Salt simple
2557       for any OS with a Bourne shell:
2558
2559          curl -L https://bootstrap.saltstack.com -o bootstrap_salt.sh
2560          sudo sh bootstrap_salt.sh
2561
2562       See  the  salt-bootstrap documentation for other one liners. When using
2563       Vagrant to test out salt, the Vagrant salt provisioner  will  provision
2564       the VM for you.
2565
2566   Telling Salt to Run Masterless
2567       To  instruct  the minion to not look for a master, the file_client con‐
2568       figuration option needs to be set in the minion configuration file.  By
2569       default  the  file_client  is  set to remote so that the minion gathers
2570       file server and pillar data from the salt  master.   When  setting  the
2571       file_client option to local the minion is configured to not gather this
2572       data from the master.
2573
2574          file_client: local
2575
2576       Now the salt minion will not look for a master and will assume that the
2577       local system has all of the file and pillar resources.
2578
2579       Configuration   which   resided   in  the  master  configuration  (e.g.
2580       /etc/salt/master) should be moved to the minion configuration since the
2581       minion does not read the master configuration.
2582
2583       NOTE:
2584          When  running  Salt  in  masterless mode, do not run the salt-minion
2585          daemon.  Otherwise, it will attempt to connect to a master and fail.
2586          The  salt-call  command  stands  on  its  own  and does not need the
2587          salt-minion daemon.
2588
2589   Create State Tree
2590       Following the successful installation of a salt-minion, the  next  step
2591       is  to  create a state tree, which is where the SLS files that comprise
2592       the possible states of the minion are stored.
2593
2594       The following example walks through the steps  necessary  to  create  a
2595       state  tree  that  ensures  that  the  server  has the Apache webserver
2596       installed.
2597
2598       NOTE:
2599          For a complete explanation on Salt States, see the tutorial.
2600
2601       1. Create the top.sls file:
2602
2603       /srv/salt/top.sls:
2604
2605          base:
2606            '*':
2607              - webserver
2608
2609       2. Create the webserver state tree:
2610
2611       /srv/salt/webserver.sls:
2612
2613          apache:               # ID declaration
2614            pkg:                # state declaration
2615              - installed       # function declaration
2616
2617       NOTE:
2618          The apache package has different names on different  platforms,  for
2619          instance  on Debian/Ubuntu it is apache2, on Fedora/RHEL it is httpd
2620          and on Arch it is apache
2621
2622       The only thing left is to provision our minion using salt-call.
2623
2624   Salt-call
2625       The salt-call command is used to run remote execution functions locally
2626       on  a  minion  instead  of executing them from the master. Normally the
2627       salt-call command checks into the master to retrieve  file  server  and
2628       pillar  data,  but  when  running  standalone  salt-call  needs  to  be
2629       instructed to not check the master for this data:
2630
2631          salt-call --local state.apply
2632
2633       The --local flag tells the salt-minion to look for the  state  tree  in
2634       the  local  file  system  and not to contact a Salt Master for instruc‐
2635       tions.
2636
2637       To provide verbose output, use -l debug:
2638
2639          salt-call --local state.apply -l debug
2640
2641       The minion first examines the top.sls file and determines that it is  a
2642       part  of  the group matched by * glob and that the webserver SLS should
2643       be applied.
2644
2645       It then examines the webserver.sls file and  finds  the  apache  state,
2646       which installs the Apache package.
2647
2648       The  minion  should  now have Apache installed, and the next step is to
2649       begin learning how to write more complex states.
2650
2651   Dependencies
2652       Salt should run on any Unix-like platform so long as  the  dependencies
2653       are met.
2654
2655       · Python - Python2 >= 2.7, Python3 >= 3.4
2656
2657       · msgpack-python - High-performance message interchange format
2658
2659       · YAML - Python YAML bindings
2660
2661       · Jinja2 - parsing Salt States (configurable in the master settings)
2662
2663       · MarkupSafe  -  Implements  a  XML/HTML/XHTML  Markup  safe string for
2664         Python
2665
2666       · apache-libcloud - Python lib for interacting with many of the popular
2667         cloud service providers using a unified API
2668
2669       · Requests - HTTP library
2670
2671       · Tornado - Web framework and asynchronous networking library
2672
2673       · futures - Python2 only dependency. Backport of the concurrent.futures
2674         package from Python 3.2
2675
2676       · ZeroMQ:
2677
2678         · ZeroMQ >= 3.2.0
2679
2680         · pyzmq >= 2.2.0 - ZeroMQ Python bindings
2681
2682         · PyCrypto - The Python cryptography toolkit
2683
2684       WARNING:
2685          For historical reasons, Salt requires PyCrypto as a  "lowest  common
2686          denominator". However, PyCrypto is unmaintained and best practice is
2687          to manually upgrade  to  use  a  more  maintained  library  such  as
2688          PyCryptodome. See Issue #52674 and Issue #54115 for more info
2689
2690       Salt  defaults  to the ZeroMQ transport. The --salt-transport installa‐
2691       tion option is available,  but  currently  only  supports  the  szeromq
2692       option. This may be expanded in the future.
2693
2694          python setup.py --salt-transport=zeromq install
2695
2696       This way, only the required dependencies are pulled by the setup script
2697       if need be.
2698
2699       If installing using pip, the --salt-transport  install  option  can  be
2700       provided like:
2701
2702          pip install --install-option="--salt-transport=zeromq" salt
2703
2704       NOTE:
2705          Salt  does not bundle dependencies that are typically distributed as
2706          part of the base OS. If you have unmet dependencies and are using  a
2707          custom or minimal installation, you might need to install some addi‐
2708          tional packages from your OS vendor.
2709
2710   Optional Dependencies
2711       · mako - an optional parser for Salt States (configurable in the master
2712         settings)
2713
2714       · gcc - dynamic Cython module compiling
2715
2716   Upgrading Salt
2717       When  upgrading  Salt,  the  master(s) should always be upgraded first.
2718       Backward compatibility for minions running newer versions of salt  than
2719       their masters is not guaranteed.
2720
2721       Whenever  possible,  backward compatibility between new masters and old
2722       minions will be preserved.  Generally, the only exception to this  pol‐
2723       icy is in case of a security vulnerability.
2724
2725       SEE ALSO:
2726          Installing Salt for development and contributing to the project.
2727
2728   Building Packages using Salt Pack
2729       Salt-pack  is  an  open-source  package  builder for most commonly used
2730       Linux platforms, for example: Redhat/CentOS and Debian/Ubuntu families,
2731       utilizing  SaltStack  states  and execution modules to build Salt and a
2732       specified set of dependencies, from which a platform  specific  reposi‐
2733       tory can be built.
2734
2735       https://github.com/saltstack/salt-pack
2736

CONFIGURING SALT

2738       This  section explains how to configure user access, view and store job
2739       results, secure and troubleshoot, and how to perform many other  admin‐
2740       istrative tasks.
2741
2742   Configuring the Salt Master
2743       The Salt system is amazingly simple and easy to configure, the two com‐
2744       ponents of the Salt system each have a respective  configuration  file.
2745       The  salt-master  is  configured via the master configuration file, and
2746       the salt-minion is configured via the minion configuration file.
2747
2748       SEE ALSO:
2749          Example master configuration file.
2750
2751       The configuration file for the salt-master is located at /etc/salt/mas‐
2752       ter  by  default.  Atomic included configuration files can be placed in
2753       /etc/salt/master.d/*.conf. Warning:  files  with  other  suffixes  than
2754       .conf  will  not be included. A notable exception is FreeBSD, where the
2755       configuration file is located  at  /usr/local/etc/salt.  The  available
2756       options are as follows:
2757
2758   Primary Master Configuration
2759   interface
2760       Default: 0.0.0.0 (all interfaces)
2761
2762       The local interface to bind to, must be an IP address.
2763
2764          interface: 192.168.0.1
2765
2766   ipv6
2767       Default: False
2768
2769       Whether  the  master should listen for IPv6 connections. If this is set
2770       to True, the interface option must be adjusted too (for example: inter‐
2771       face: '::')
2772
2773          ipv6: True
2774
2775   publish_port
2776       Default: 4505
2777
2778       The network port to set up the publication interface.
2779
2780          publish_port: 4505
2781
2782   master_id
2783       Default: None
2784
2785       The  id  to  be  passed in the publish job to minions. This is used for
2786       MultiSyndics to return the job to the requesting master.
2787
2788       NOTE:
2789          This must be the same string as the syndic is configured with.
2790
2791          master_id: MasterOfMaster
2792
2793   user
2794       Default: root
2795
2796       The user to run the Salt processes
2797
2798          user: root
2799
2800   enable_ssh_minions
2801       Default: False
2802
2803       Tell the master to also use salt-ssh when running commands against min‐
2804       ions.
2805
2806          enable_ssh_minions: True
2807
2808       NOTE:
2809          Cross-minion communication is still not possible.  The Salt mine and
2810          publish.publish do not work between minion types.
2811
2812   ret_port
2813       Default: 4506
2814
2815       The port used by the return server, this is the server used by Salt  to
2816       receive execution returns and command executions.
2817
2818          ret_port: 4506
2819
2820   pidfile
2821       Default: /var/run/salt-master.pid
2822
2823       Specify the location of the master pidfile.
2824
2825          pidfile: /var/run/salt-master.pid
2826
2827   root_dir
2828       Default: /
2829
2830       The system root directory to operate from, change this to make Salt run
2831       from an alternative root.
2832
2833          root_dir: /
2834
2835       NOTE:
2836          This directory is  prepended  to  the  following  options:  pki_dir,
2837          cachedir,   sock_dir,   log_file,   autosign_file,  autoreject_file,
2838          pidfile, autosign_grains_dir.
2839
2840   conf_file
2841       Default: /etc/salt/master
2842
2843       The path to the master's configuration file.
2844
2845          conf_file: /etc/salt/master
2846
2847   pki_dir
2848       Default: /etc/salt/pki/master
2849
2850       The directory to store the pki authentication keys.
2851
2852          pki_dir: /etc/salt/pki/master
2853
2854   extension_modules
2855       Changed in version 2016.3.0: The default location  for  this  directory
2856       has  been  moved.  Prior  to this version, the location was a directory
2857       named   extmods   in   the   Salt   cachedir   (on   most    platforms,
2858       /var/cache/salt/extmods).  It  has  been moved into the master cachedir
2859       (on most platforms, /var/cache/salt/master/extmods).
2860
2861
2862       Directory for custom modules. This directory can contain subdirectories
2863       for  each  of  Salt's module types such as runners, output, wheel, mod‐
2864       ules, states, returners, engines, utils, etc.  This path is appended to
2865       root_dir.
2866
2867          extension_modules: /root/salt_extmods
2868
2869   extmod_whitelist/extmod_blacklist
2870       New in version 2017.7.0.
2871
2872
2873       By  using  this dictionary, the modules that are synced to the master's
2874       extmod cache using saltutil.sync_* can be limited.  If nothing  is  set
2875       to  a  specific type, then all modules are accepted.  To block all mod‐
2876       ules of a specific type, whitelist an empty list.
2877
2878          extmod_whitelist:
2879            modules:
2880              - custom_module
2881            engines:
2882              - custom_engine
2883            pillars: []
2884
2885          extmod_blacklist:
2886            modules:
2887              - specific_module
2888
2889       Valid options:
2890
2891              · modules
2892
2893              · states
2894
2895              · grains
2896
2897              · renderers
2898
2899              · returners
2900
2901              · output
2902
2903              · proxy
2904
2905              · runners
2906
2907              · wheel
2908
2909              · engines
2910
2911              · queues
2912
2913              · pillar
2914
2915              · utils
2916
2917              · sdb
2918
2919              · cache
2920
2921              · clouds
2922
2923              · tops
2924
2925              · roster
2926
2927              · tokens
2928
2929   module_dirs
2930       Default: []
2931
2932       Like extension_modules, but a list of extra directories to  search  for
2933       Salt modules.
2934
2935          module_dirs:
2936            - /var/cache/salt/minion/extmods
2937
2938   cachedir
2939       Default: /var/cache/salt/master
2940
2941       The  location  used  to  store  cache information, particularly the job
2942       information for executed salt commands.
2943
2944       This directory may contain  sensitive  data  and  should  be  protected
2945       accordingly.
2946
2947          cachedir: /var/cache/salt/master
2948
2949   verify_env
2950       Default: True
2951
2952       Verify and set permissions on configuration directories at startup.
2953
2954          verify_env: True
2955
2956   keep_jobs
2957       Default: 24
2958
2959       Set  the number of hours to keep old job information. Note that setting
2960       this option to 0 disables the cache cleaner.
2961
2962          keep_jobs: 24
2963
2964   gather_job_timeout
2965       New in version 2014.7.0.
2966
2967
2968       Default: 10
2969
2970       The number of seconds to wait when the client is requesting information
2971       about running jobs.
2972
2973          gather_job_timeout: 10
2974
2975   timeout
2976       Default: 5
2977
2978       Set the default timeout for the salt command and api.
2979
2980   loop_interval
2981       Default: 60
2982
2983       The  loop_interval option controls the seconds for the master's mainte‐
2984       nance process check cycle. This process updates file  server  backends,
2985       cleans the job cache and executes the scheduler.
2986
2987   output
2988       Default: nested
2989
2990       Set the default outputter used by the salt command.
2991
2992   outputter_dirs
2993       Default: []
2994
2995       A list of additional directories to search for salt outputters in.
2996
2997          outputter_dirs: []
2998
2999   output_file
3000       Default: None
3001
3002       Set  the  default  output  file used by the salt command. Default is to
3003       output to the CLI and not to a file. Functions  the  same  way  as  the
3004       "--out-file"  CLI  option, only sets this to a single file for all salt
3005       commands.
3006
3007          output_file: /path/output/file
3008
3009   show_timeout
3010       Default: True
3011
3012       Tell the client to show minions that have timed out.
3013
3014          show_timeout: True
3015
3016   show_jid
3017       Default: False
3018
3019       Tell the client to display the jid when a job is published.
3020
3021          show_jid: False
3022
3023   color
3024       Default: True
3025
3026       By default output is colored, to disable colored output set  the  color
3027       value to False.
3028
3029          color: False
3030
3031   color_theme
3032       Default: ""
3033
3034       Specifies  a  path  to  the color theme to use for colored command line
3035       output.
3036
3037          color_theme: /etc/salt/color_theme
3038
3039   cli_summary
3040       Default: False
3041
3042       When set to True, displays a summary of the number of minions targeted,
3043       the  number of minions returned, and the number of minions that did not
3044       return.
3045
3046          cli_summary: False
3047
3048   sock_dir
3049       Default: /var/run/salt/master
3050
3051       Set the location to use for creating Unix sockets  for  master  process
3052       communication.
3053
3054          sock_dir: /var/run/salt/master
3055
3056   enable_gpu_grains
3057       Default: False
3058
3059       Enable  GPU hardware data for your master. Be aware that the master can
3060       take a while to start up when lspci and/or dmidecode is used  to  popu‐
3061       late the grains for the master.
3062
3063          enable_gpu_grains: True
3064
3065   job_cache
3066       Default: True
3067
3068       The master maintains a temporary job cache. While this is a great addi‐
3069       tion, it can be a burden on the master  for  larger  deployments  (over
3070       5000  minions).   Disabling the job cache will make previously executed
3071       jobs unavailable to the jobs system and is not  generally  recommended.
3072       Normally  it  is wise to make sure the master has access to a faster IO
3073       system or a tmpfs is mounted to the jobs dir.
3074
3075          job_cache: True
3076
3077       NOTE:
3078          Setting the job_cache to False will not cache  minion  returns,  but
3079          the JID directory for each job is still created. The creation of the
3080          JID directories is necessary because Salt uses those directories  to
3081          check  for  JID collisions. By setting this option to False, the job
3082          cache directory, which is /var/cache/salt/master/jobs/  by  default,
3083          will be smaller, but the JID directories will still be present.
3084
3085          Note  that the keep_jobs option can be set to a lower value, such as
3086          1, to limit the number of hours jobs are stored in  the  job  cache.
3087          (The default is 24 hours.)
3088
3089          Please  see the Managing the Job Cache documentation for more infor‐
3090          mation.
3091
3092   minion_data_cache
3093       Default: True
3094
3095       The minion data cache is a  cache  of  information  about  the  minions
3096       stored  on the master, this information is primarily the pillar, grains
3097       and mine data. The data is cached via the cache subsystem in the Master
3098       cachedir  under  the name of the minion or in a supported database. The
3099       data is used to predetermine what minions are expected  to  reply  from
3100       executions.
3101
3102          minion_data_cache: True
3103
3104   cache
3105       Default: localfs
3106
3107       Cache subsystem module to use for minion data cache.
3108
3109          cache: consul
3110
3111   memcache_expire_seconds
3112       Default: 0
3113
3114       Memcache  is  an  additional cache layer that keeps a limited amount of
3115       data fetched from the minion data cache for a limited period of time in
3116       memory  that  makes cache operations faster. It doesn't make much sense
3117       for the localfs cache driver but helps for more  complex  drivers  like
3118       consul.
3119
3120       This  option sets the memcache items expiration time. By default is set
3121       to 0 that disables the memcache.
3122
3123          memcache_expire_seconds: 30
3124
3125   memcache_max_items
3126       Default: 1024
3127
3128       Set memcache limit in items that are bank-key pairs. I.e  the  list  of
3129       minion_0/data,  minion_0/mine,  minion_1/data  contains  3  items. This
3130       value depends on the count of minions usually targeted in your environ‐
3131       ment.  The best one could be found by analyzing the cache log with mem‐
3132       cache_debug enabled.
3133
3134          memcache_max_items: 1024
3135
3136   memcache_full_cleanup
3137       Default: False
3138
3139       If cache storage got full,  i.e.  the  items  count  exceeds  the  mem‐
3140       cache_max_items  value, memcache cleans up it's storage. If this option
3141       set to False memcache removes the only one oldest value from it's stor‐
3142       age.   If  this  set set to True memcache removes all the expired items
3143       and also removes the oldest one if there are no expired items.
3144
3145          memcache_full_cleanup: True
3146
3147   memcache_debug
3148       Default: False
3149
3150       Enable collecting the memcache stats and log it on debug log level.  If
3151       enabled  memcache  collect  information  about how many fetch calls has
3152       been done and how many of them has been hit by memcache. Also  it  out‐
3153       puts  the  rate  value  that is the result of division of the first two
3154       values. This should help to choose right values for the expiration time
3155       and the cache size.
3156
3157          memcache_debug: True
3158
3159   ext_job_cache
3160       Default: ''
3161
3162       Used to specify a default returner for all minions. When this option is
3163       set, the specified returner needs to be  properly  configured  and  the
3164       minions  will  always default to sending returns to this returner. This
3165       will also disable the local job cache on the master.
3166
3167          ext_job_cache: redis
3168
3169   event_return
3170       New in version 2015.5.0.
3171
3172
3173       Default: ''
3174
3175       Specify the returner(s) to use to log events. Each  returner  may  have
3176       installation  and configuration requirements. Read the returner's docu‐
3177       mentation.
3178
3179       NOTE:
3180          Not all returners support event returns. Verify that a returner  has
3181          an  event_return()  function  before  configuring this option with a
3182          returner.
3183
3184          event_return:
3185            - syslog
3186            - splunk
3187
3188   event_return_queue
3189       New in version 2015.5.0.
3190
3191
3192       Default: 0
3193
3194       On busy systems, enabling event_returns can cause a  considerable  load
3195       on the storage system for returners. Events can be queued on the master
3196       and stored in a batched fashion using a single transaction for multiple
3197       events.  By default, events are not queued.
3198
3199          event_return_queue: 0
3200
3201   event_return_whitelist
3202       New in version 2015.5.0.
3203
3204
3205       Default: []
3206
3207       Only return events matching tags in a whitelist.
3208
3209       Changed in version 2016.11.0: Supports glob matching patterns.
3210
3211
3212          event_return_whitelist:
3213            - salt/master/a_tag
3214            - salt/run/*/ret
3215
3216   event_return_blacklist
3217       New in version 2015.5.0.
3218
3219
3220       Default: []
3221
3222       Store all event returns _except_ the tags in a blacklist.
3223
3224       Changed in version 2016.11.0: Supports glob matching patterns.
3225
3226
3227          event_return_blacklist:
3228            - salt/master/not_this_tag
3229            - salt/wheel/*/ret
3230
3231   max_event_size
3232       New in version 2014.7.0.
3233
3234
3235       Default: 1048576
3236
3237       Passing very large events can cause the minion to consume large amounts
3238       of memory. This value tunes the maximum size of a message allowed  onto
3239       the master event bus. The value is expressed in bytes.
3240
3241          max_event_size: 1048576
3242
3243   master_job_cache
3244       New in version 2014.7.0.
3245
3246
3247       Default: local_cache
3248
3249       Specify  the returner to use for the job cache. The job cache will only
3250       be interacted with from the salt master and therefore does not need  to
3251       be accessible from the minions.
3252
3253          master_job_cache: redis
3254
3255   job_cache_store_endtime
3256       New in version 2015.8.0.
3257
3258
3259       Default: False
3260
3261       Specify  whether  the  Salt  Master  should store end times for jobs as
3262       returns come in.
3263
3264          job_cache_store_endtime: False
3265
3266   enforce_mine_cache
3267       Default: False
3268
3269       By-default when disabling the minion_data_cache mine will stop  working
3270       since it is based on cached data, by enabling this option we explicitly
3271       enabling only the cache for the mine system.
3272
3273          enforce_mine_cache: False
3274
3275   max_minions
3276       Default: 0
3277
3278       The maximum number of minion connections allowed  by  the  master.  Use
3279       this  to  accommodate the number of minions per master if you have dif‐
3280       ferent types of hardware serving your minions. The default of  0  means
3281       unlimited connections.  Please note that this can slow down the authen‐
3282       tication process a bit in large setups.
3283
3284          max_minions: 100
3285
3286   con_cache
3287       Default: False
3288
3289       If max_minions is used in large installations, the master might experi‐
3290       ence high-load situations because of having to check the number of con‐
3291       nected minions for every authentication. This cache provides  the  min‐
3292       ion-ids  of  all connected minions to all MWorker-processes and greatly
3293       improves the performance of max_minions.
3294
3295          con_cache: True
3296
3297   presence_events
3298       Default: False
3299
3300       Causes the master to periodically look for actively connected  minions.
3301       Presence events are fired on the event bus on a regular interval with a
3302       list of connected minions, as well as events with lists of  newly  con‐
3303       nected  or  disconnected  minions. This is a master-only operation that
3304       does not send executions to minions.
3305
3306          presence_events: False
3307
3308   ping_on_rotate
3309       New in version 2014.7.0.
3310
3311
3312       Default: False
3313
3314       By default, the master AES key rotates every 24 hours. The next command
3315       following  a  key  rotation  will trigger a key refresh from the minion
3316       which may result in minions which do not respond to the  first  command
3317       after a key refresh.
3318
3319       To  tell  the  master  to ping all minions immediately after an AES key
3320       refresh, set ping_on_rotate to True. This  should  mitigate  the  issue
3321       where  a  minion  does  not  appear to initially respond after a key is
3322       rotated.
3323
3324       Note that enabling this may cause high load on the  master  immediately
3325       after  the key rotation event as minions reconnect. Consider this care‐
3326       fully if this salt master is managing a large number of minions.
3327
3328       If disabled, it is recommended to handle this event  by  listening  for
3329       the aes_key_rotate event with the key tag and acting appropriately.
3330
3331          ping_on_rotate: False
3332
3333   transport
3334       Default: zeromq
3335
3336       Changes  the  underlying  transport  layer.  ZeroMQ  is the recommended
3337       transport while additional transport layers are under development. Sup‐
3338       ported  values  are  zeromq  and tcp (experimental). This setting has a
3339       significant impact on performance and should not be changed unless  you
3340       know what you are doing!
3341
3342          transport: zeromq
3343
3344   transport_opts
3345       Default: {}
3346
3347       (experimental)  Starts  multiple  transports  and overrides options for
3348       each transport with the provided dictionary This setting has a signifi‐
3349       cant  impact  on  performance and should not be changed unless you know
3350       what you are doing!  The following example shows how  to  start  a  TCP
3351       transport alongside a ZMQ transport.
3352
3353          transport_opts:
3354            tcp:
3355              publish_port: 4605
3356              ret_port: 4606
3357            zeromq: []
3358
3359   master_stats
3360       Default: False
3361
3362       Turning  on  the master stats enables runtime throughput and statistics
3363       events to be fired from the master event bus. These events will  report
3364       on  what  functions have been run on the master and how long these runs
3365       have, on average, taken over a given period of time.
3366
3367   master_stats_event_iter
3368       Default: 60
3369
3370       The time in seconds to fire master_stats events. This will only fire in
3371       conjunction  with  receiving a request to the master, idle masters will
3372       not fire these events.
3373
3374   sock_pool_size
3375       Default: 1
3376
3377       To avoid blocking waiting while writing a data to a socket, we  support
3378       socket pool for Salt applications. For example, a job with a large num‐
3379       ber of target host list can cause long  period  blocking  waiting.  The
3380       option is used by ZMQ and TCP transports, and the other transport meth‐
3381       ods don't need the socket pool  by  definition.  Most  of  Salt  tools,
3382       including CLI, are enough to use a single bucket of socket pool. On the
3383       other hands, it is highly recommended to set the size  of  socket  pool
3384       larger  than  1 for other Salt applications, especially Salt API, which
3385       must write data to socket concurrently.
3386
3387          sock_pool_size: 15
3388
3389   ipc_mode
3390       Default: ipc
3391
3392       The ipc strategy. (i.e., sockets versus tcp,  etc.)  Windows  platforms
3393       lack POSIX IPC and must rely on TCP based inter-process communications.
3394       ipc_mode is set to tcp by default on Windows.
3395
3396          ipc_mode: ipc
3397
3398   tcp_master_pub_port
3399       Default: 4512
3400
3401       The TCP port on which events for the  master  should  be  published  if
3402       ipc_mode is TCP.
3403
3404          tcp_master_pub_port: 4512
3405
3406   tcp_master_pull_port
3407       Default: 4513
3408
3409       The  TCP  port  on  which  events  for  the  master should be pulled if
3410       ipc_mode is TCP.
3411
3412          tcp_master_pull_port: 4513
3413
3414   tcp_master_publish_pull
3415       Default: 4514
3416
3417       The TCP port on which events for the master should be  pulled  fom  and
3418       then republished onto the event bus on the master.
3419
3420          tcp_master_publish_pull: 4514
3421
3422   tcp_master_workers
3423       Default: 4515
3424
3425       The TCP port for mworkers to connect to on the master.
3426
3427          tcp_master_workers: 4515
3428
3429   auth_events
3430       New in version 2017.7.3.
3431
3432
3433       Default: True
3434
3435       Determines whether the master will fire authentication events.  Authen‐
3436       tication events are fired when  a  minion  performs  an  authentication
3437       check with the master.
3438
3439          auth_events: True
3440
3441   minion_data_cache_events
3442       New in version 2017.7.3.
3443
3444
3445       Default: True
3446
3447       Determines whether the master will fire minion data cache events.  Min‐
3448       ion data cache events are fired when a minion requests  a  minion  data
3449       cache refresh.
3450
3451          minion_data_cache_events: True
3452
3453   http_connect_timeout
3454       New in version 2019.2.0.
3455
3456
3457       Default: 20
3458
3459       HTTP  connection timeout in seconds.  Applied when fetching files using
3460       tornado back-end.  Should be greater than overall download time.
3461
3462          http_connect_timeout: 20
3463
3464   http_request_timeout
3465       New in version 2015.8.0.
3466
3467
3468       Default: 3600
3469
3470       HTTP request timeout in seconds.  Applied  when  fetching  files  using
3471       tornado back-end.  Should be greater than overall download time.
3472
3473          http_request_timeout: 3600
3474
3475   use_yamlloader_old
3476       New in version 2019.2.1.
3477
3478
3479       Default: False
3480
3481       Use  the  pre-2019.2 YAML renderer.  Uses legacy YAML rendering to sup‐
3482       port some legacy inline data  structures.   See  the  2019.2.1  release
3483       notes for more details.
3484
3485          use_yamlloader_old: False
3486
3487   Salt-SSH Configuration
3488   roster
3489       Default: flat
3490
3491       Define the default salt-ssh roster module to use
3492
3493          roster: cache
3494
3495   roster_defaults
3496       New in version 2017.7.0.
3497
3498
3499       Default settings which will be inherited by all rosters.
3500
3501          roster_defaults:
3502            user: daniel
3503            sudo: True
3504            priv: /root/.ssh/id_rsa
3505            tty: True
3506
3507   roster_file
3508       Default: /etc/salt/roster
3509
3510       Pass in an alternative location for the salt-ssh flat roster file.
3511
3512          roster_file: /root/roster
3513
3514   rosters
3515       Default: None
3516
3517       Define locations for flat roster files so they can be chosen when using
3518       Salt API. An administrator can place roster files into these locations.
3519       Then, when calling Salt API, the roster_file parameter should contain a
3520       relative path to these locations. That is, roster_file=/foo/roster will
3521       be resolved as /etc/salt/roster.d/foo/roster etc. This feature prevents
3522       passing insecure custom rosters through the Salt API.
3523
3524          rosters:
3525           - /etc/salt/roster.d
3526           - /opt/salt/some/more/rosters
3527
3528   ssh_passwd
3529       Default: ''
3530
3531       The ssh password to log in with.
3532
3533          ssh_passwd: ''
3534
3535   ssh_priv_passwd
3536       Default: ''
3537
3538       Passphrase for ssh private key file.
3539
3540          ssh_priv_passwd: ''
3541
3542   ssh_port
3543       Default: 22
3544
3545       The target system's ssh port number.
3546
3547          ssh_port: 22
3548
3549   ssh_scan_ports
3550       Default: 22
3551
3552       Comma-separated list of ports to scan.
3553
3554          ssh_scan_ports: 22
3555
3556   ssh_scan_timeout
3557       Default: 0.01
3558
3559       Scanning socket timeout for salt-ssh.
3560
3561          ssh_scan_timeout: 0.01
3562
3563   ssh_sudo
3564       Default: False
3565
3566       Boolean to run command via sudo.
3567
3568          ssh_sudo: False
3569
3570   ssh_timeout
3571       Default: 60
3572
3573       Number of seconds to wait for a response when establishing an SSH  con‐
3574       nection.
3575
3576          ssh_timeout: 60
3577
3578   ssh_user
3579       Default: root
3580
3581       The user to log in as.
3582
3583          ssh_user: root
3584
3585   ssh_log_file
3586       New in version 2016.3.5.
3587
3588
3589       Default: /var/log/salt/ssh
3590
3591       Specify the log file of the salt-ssh command.
3592
3593          ssh_log_file: /var/log/salt/ssh
3594
3595   ssh_minion_opts
3596       Default: None
3597
3598       Pass in minion option overrides that will be inserted into the SHIM for
3599       salt-ssh calls. The local minion config is not used for  salt-ssh.  Can
3600       be overridden on a per-minion basis in the roster (minion_opts)
3601
3602          ssh_minion_opts:
3603            gpg_keydir: /root/gpg
3604
3605   ssh_use_home_key
3606       Default: False
3607
3608       Set this to True to default to using ~/.ssh/id_rsa for salt-ssh authen‐
3609       tication with minions
3610
3611          ssh_use_home_key: False
3612
3613   ssh_identities_only
3614       Default: False
3615
3616       Set this to True to default salt-ssh to run with -o IdentitiesOnly=yes.
3617       This  option is intended for situations where the ssh-agent offers many
3618       different identities and allows ssh to ignore those identities and  use
3619       the only one specified in options.
3620
3621          ssh_identities_only: False
3622
3623   ssh_list_nodegroups
3624       Default: {}
3625
3626       List-only  nodegroups for salt-ssh. Each group must be formed as either
3627       a comma-separated list, or a YAML list. This option is useful to  group
3628       minions  into  easy-to-target  groups when using salt-ssh. These groups
3629       can then be targeted with the normal -N argument to salt-ssh.
3630
3631          ssh_list_nodegroups:
3632            groupA: minion1,minion2
3633            groupB: minion1,minion3
3634
3635   thin_extra_mods
3636       Default: None
3637
3638       List of additional modules, needed to be included into the  Salt  Thin.
3639       Pass  a list of importable Python modules that are typically located in
3640       the site-packages Python directory so they will be also always included
3641       into the Salt Thin, once generated.
3642
3643   min_extra_mods
3644       Default: None
3645
3646       Identical as thin_extra_mods, only applied to the Salt Minimal.
3647
3648   Master Security Settings
3649   open_mode
3650       Default: False
3651
3652       Open mode is a dangerous security feature. One problem encountered with
3653       pki authentication systems is that  keys  can  become  "mixed  up"  and
3654       authentication  begins  to fail. Open mode turns off authentication and
3655       tells the master to accept all authentication. This will clean  up  the
3656       pki  keys  received from the minions. Open mode should not be turned on
3657       for general use. Open mode should only be used for a  short  period  of
3658       time to clean up pki keys. To turn on open mode set this value to True.
3659
3660          open_mode: False
3661
3662   auto_accept
3663       Default: False
3664
3665       Enable auto_accept. This setting will automatically accept all incoming
3666       public keys from minions.
3667
3668          auto_accept: False
3669
3670   keysize
3671       Default: 2048
3672
3673       The size of key that should be generated when creating new keys.
3674
3675          keysize: 2048
3676
3677   autosign_timeout
3678       New in version 2014.7.0.
3679
3680
3681       Default: 120
3682
3683       Time in minutes that a incoming public key with a matching  name  found
3684       in  pki_dir/minion_autosign/keyid  is  automatically  accepted. Expired
3685       autosign keys are removed when the master  checks  the  minion_autosign
3686       directory.  This  method  to  auto  accept minions can be safer than an
3687       autosign_file because the keyid record can expire  and  is  limited  to
3688       being an exact name match.  This should still be considered a less than
3689       secure option, due to the fact that trust is based on just the request‐
3690       ing minion id.
3691
3692   autosign_file
3693       Default: not defined
3694
3695       If  the  autosign_file  is  specified  incoming  keys  specified in the
3696       autosign_file will be automatically accepted. Matches will be  searched
3697       for  first  by string comparison, then by globbing, then by full-string
3698       regex matching.  This should still be considered  a  less  than  secure
3699       option, due to the fact that trust is based on just the requesting min‐
3700       ion id.
3701
3702       Changed in version 2018.3.0: For security  reasons  the  file  must  be
3703       readonly  except  for it's owner.  If permissive_pki_access is True the
3704       owning group can also have write access, but if Salt is running as root
3705       it  must  be  a  member  of that group.  A less strict requirement also
3706       existed in previous version.
3707
3708
3709   autoreject_file
3710       New in version 2014.1.0.
3711
3712
3713       Default: not defined
3714
3715       Works like autosign_file, but instead allows you to specify minion  IDs
3716       for  which keys will automatically be rejected. Will override both mem‐
3717       bership in the autosign_file and the auto_accept setting.
3718
3719   autosign_grains_dir
3720       New in version 2018.3.0.
3721
3722
3723       Default: not defined
3724
3725       If the autosign_grains_dir is specified,  incoming  keys  from  minions
3726       with   grain   values   that  match  those  defined  in  files  in  the
3727       autosign_grains_dir will be accepted automatically. Grain  values  that
3728       should  be  accepted  automatically  can  be defined by creating a file
3729       named like the corresponding grain in the autosign_grains_dir and writ‐
3730       ing the values into that file, one value per line.  Lines starting with
3731       a # will be ignored.  Minion must be configured to send the correspond‐
3732       ing  grains  on authentication.  This should still be considered a less
3733       than secure option, due to the fact that trust is  based  on  just  the
3734       requesting minion.
3735
3736       Please  see  the  Autoaccept Minions from Grains documentation for more
3737       information.
3738
3739          autosign_grains_dir: /etc/salt/autosign_grains
3740
3741   permissive_pki_access
3742       Default: False
3743
3744       Enable permissive access to the salt keys. This allows you to  run  the
3745       master  or minion as root, but have a non-root group be given access to
3746       your pki_dir. To make the access explicit,  root  must  belong  to  the
3747       group you've given access to. This is potentially quite insecure. If an
3748       autosign_file is specified, enabling permissive_pki_access  will  allow
3749       group access to that specific file.
3750
3751          permissive_pki_access: False
3752
3753   publisher_acl
3754       Default: {}
3755
3756       Enable  user  accounts on the master to execute specific modules. These
3757       modules can be expressed as regular expressions.
3758
3759          publisher_acl:
3760            fred:
3761              - test.ping
3762              - pkg.*
3763
3764   publisher_acl_blacklist
3765       Default: {}
3766
3767       Blacklist users or modules
3768
3769       This example would blacklist all non sudo users,  including  root  from
3770       running any commands. It would also blacklist any use of the "cmd" mod‐
3771       ule.
3772
3773       This is completely disabled by default.
3774
3775          publisher_acl_blacklist:
3776            users:
3777              - root
3778              - '^(?!sudo_).*$'   #  all non sudo users
3779            modules:
3780              - cmd.*
3781              - test.echo
3782
3783   sudo_acl
3784       Default: False
3785
3786       Enforce publisher_acl and publisher_acl_blacklist when users have  sudo
3787       access to the salt command.
3788
3789          sudo_acl: False
3790
3791   external_auth
3792       Default: {}
3793
3794       The external auth system uses the Salt auth modules to authenticate and
3795       validate users to access areas of the Salt system.
3796
3797          external_auth:
3798            pam:
3799              fred:
3800                - test.*
3801
3802   token_expire
3803       Default: 43200
3804
3805       Time (in seconds) for a newly generated token to live.
3806
3807       Default: 12 hours
3808
3809          token_expire: 43200
3810
3811   token_expire_user_override
3812       Default: False
3813
3814       Allow eauth users to specify the expiry time of the tokens they  gener‐
3815       ate.
3816
3817       A  boolean  applies  to  all users or a dictionary of whitelisted eauth
3818       backends and usernames may be given:
3819
3820          token_expire_user_override:
3821            pam:
3822              - fred
3823              - tom
3824            ldap:
3825              - gary
3826
3827   keep_acl_in_token
3828       Default: False
3829
3830       Set to True to enable keeping the calculated user's auth  list  in  the
3831       token file. This is disabled by default and the auth list is calculated
3832       or requested from the eauth driver each time.
3833
3834          keep_acl_in_token: False
3835
3836   eauth_acl_module
3837       Default: ''
3838
3839       Auth subsystem module to use to get authorized access list for a  user.
3840       By default it's the same module used for external authentication.
3841
3842          eauth_acl_module: django
3843
3844   file_recv
3845       Default: False
3846
3847       Allow minions to push files to the master. This is disabled by default,
3848       for security purposes.
3849
3850          file_recv: False
3851
3852   file_recv_max_size
3853       New in version 2014.7.0.
3854
3855
3856       Default: 100
3857
3858       Set a hard-limit on the size of the files that can  be  pushed  to  the
3859       master.  It will be interpreted as megabytes.
3860
3861          file_recv_max_size: 100
3862
3863   master_sign_pubkey
3864       Default: False
3865
3866       Sign the master auth-replies with a cryptographic signature of the mas‐
3867       ter's public key. Please see the tutorial how to use these settings  in
3868       the Multimaster-PKI with Failover Tutorial
3869
3870          master_sign_pubkey: True
3871
3872   master_sign_key_name
3873       Default: master_sign
3874
3875       The customizable name of the signing-key-pair without suffix.
3876
3877          master_sign_key_name: <filename_without_suffix>
3878
3879   master_pubkey_signature
3880       Default: master_pubkey_signature
3881
3882       The  name  of  the  file  in  the master's pki-directory that holds the
3883       pre-calculated signature of the master's public-key.
3884
3885          master_pubkey_signature: <filename>
3886
3887   master_use_pubkey_signature
3888       Default: False
3889
3890       Instead of computing the signature for each auth-reply, use a  pre-cal‐
3891       culated  signature.  The  master_pubkey_signature  must also be set for
3892       this.
3893
3894          master_use_pubkey_signature: True
3895
3896   rotate_aes_key
3897       Default: True
3898
3899       Rotate the salt-masters AES-key when a minion-public  is  deleted  with
3900       salt-key.  This is a very important security-setting. Disabling it will
3901       enable deleted minions to still listen in on the messages published  by
3902       the  salt-master.   Do  not  disable this unless it is absolutely clear
3903       what this does.
3904
3905          rotate_aes_key: True
3906
3907   publish_session
3908       Default: 86400
3909
3910       The number of seconds between AES key rotations on the master.
3911
3912          publish_session: Default: 86400
3913
3914   ssl
3915       New in version 2016.11.0.
3916
3917
3918       Default: None
3919
3920       TLS/SSL connection options. This could be set to a dictionary  contain‐
3921       ing  arguments  corresponding  to  python  ssl.wrap_socket  method. For
3922       details see Tornado and Python documentation.
3923
3924       Note: to set enum arguments values like cert_reqs and  ssl_version  use
3925       constant  names  without  ssl  module  prefix:  CERT_REQUIRED or PROTO‐
3926       COL_SSLv23.
3927
3928          ssl:
3929              keyfile: <path_to_keyfile>
3930              certfile: <path_to_certfile>
3931              ssl_version: PROTOCOL_TLSv1_2
3932
3933   preserve_minion_cache
3934       Default: False
3935
3936       By default, the master deletes its cache of minion data  when  the  key
3937       for  that  minion is removed. To preserve the cache after key deletion,
3938       set preserve_minion_cache to True.
3939
3940       WARNING: This may have security  implications  if  compromised  minions
3941       auth with a previous deleted minion ID.
3942
3943          preserve_minion_cache: False
3944
3945   allow_minion_key_revoke
3946       Default: True
3947
3948       Controls  whether  a  minion  can request its own key revocation.  When
3949       True the master will honor the minion's request  and  revoke  its  key.
3950       When  False, the master will drop the request and the minion's key will
3951       remain accepted.
3952
3953          allow_minion_key_revoke: False
3954
3955   optimization_order
3956       Default: [0, 1, 2]
3957
3958       In cases where Salt is  distributed  without  .py  files,  this  option
3959       determines  the  priority of optimization level(s) Salt's module loader
3960       should prefer.
3961
3962       NOTE:
3963          This option is only supported on Python 3.5+.
3964
3965          optimization_order:
3966            - 2
3967            - 0
3968            - 1
3969
3970   Master Large Scale Tuning Settings
3971   max_open_files
3972       Default: 100000
3973
3974       Each minion connecting to the master uses AT LEAST one file descriptor,
3975       the master subscription connection. If enough minions connect you might
3976       start seeing on the console(and then salt-master crashes):
3977
3978          Too many open files (tcp_listener.cpp:335)
3979          Aborted (core dumped)
3980
3981          max_open_files: 100000
3982
3983       By default this value will be the one of ulimit  -Hn,  i.e.,  the  hard
3984       limit for max open files.
3985
3986       To set a different value than the default one, uncomment, and configure
3987       this setting. Remember that this value CANNOT be higher than  the  hard
3988       limit.  Raising the hard limit depends on the OS and/or distribution, a
3989       good way to find the limit is to search the internet for something like
3990       this:
3991
3992          raise max open files hard limit debian
3993
3994   worker_threads
3995       Default: 5
3996
3997       The  number of threads to start for receiving commands and replies from
3998       minions.  If minions are stalling on replies because you have many min‐
3999       ions, raise the worker_threads value.
4000
4001       Worker  threads  should  not be put below 3 when using the peer system,
4002       but can drop down to 1 worker otherwise.
4003
4004       NOTE:
4005          When the master daemon starts, it is expected behaviour to see  mul‐
4006          tiple salt-master processes, even if 'worker_threads' is set to '1'.
4007          At a minimum, a controlling process will start  along  with  a  Pub‐
4008          lisher, an EventPublisher, and a number of MWorker processes will be
4009          started.  The  number  of  MWorker  processes  is  tuneable  by  the
4010          'worker_threads' configuration value while the others are not.
4011
4012          worker_threads: 5
4013
4014   pub_hwm
4015       Default: 1000
4016
4017       The zeromq high water mark on the publisher interface.
4018
4019          pub_hwm: 1000
4020
4021   zmq_backlog
4022       Default: 1000
4023
4024       The listen queue size of the ZeroMQ backlog.
4025
4026          zmq_backlog: 1000
4027
4028   Master Module Management
4029   runner_dirs
4030       Default: []
4031
4032       Set additional directories to search for runner modules.
4033
4034          runner_dirs:
4035            - /var/lib/salt/runners
4036
4037   utils_dirs
4038       New in version 2018.3.0.
4039
4040
4041       Default: []
4042
4043       Set additional directories to search for util modules.
4044
4045          utils_dirs:
4046            - /var/lib/salt/utils
4047
4048   cython_enable
4049       Default: False
4050
4051       Set to true to enable Cython modules (.pyx files) to be compiled on the
4052       fly on the Salt master.
4053
4054          cython_enable: False
4055
4056   Master State System Settings
4057   state_top
4058       Default: top.sls
4059
4060       The state system uses a "top" file to tell the minions what environment
4061       to  use and what modules to use. The state_top file is defined relative
4062       to the root of the base environment. The value of "state_top"  is  also
4063       used for the pillar top file
4064
4065          state_top: top.sls
4066
4067   state_top_saltenv
4068       This  option  has  no  default  value. Set it to an environment name to
4069       ensure that only the top file from that environment is considered  dur‐
4070       ing a highstate.
4071
4072       NOTE:
4073          Using this value does not change the merging strategy. For instance,
4074          if top_file_merging_strategy is set to merge, and  state_top_saltenv
4075          is  set to foo, then any sections for environments other than foo in
4076          the  top  file  for  the  foo  environment  will  be  ignored.  With
4077          state_top_saltenv  set  to base, all states from all environments in
4078          the base top file will be applied, while all  other  top  files  are
4079          ignored.  The  only  way to set state_top_saltenv to something other
4080          than base and not have the other environments in  the  targeted  top
4081          file   ignored,   would   be  to  set  top_file_merging_strategy  to
4082          merge_all.
4083
4084          state_top_saltenv: dev
4085
4086   top_file_merging_strategy
4087       Changed in version 2016.11.0: A merge_all strategy has been added.
4088
4089
4090       Default: merge
4091
4092       When no specific fileserver environment (a.k.a. saltenv) has been spec‐
4093       ified  for a highstate, all environments' top files are inspected. This
4094       config option determines how the SLS targets in  those  top  files  are
4095       handled.
4096
4097       When  set to merge, the base environment's top file is evaluated first,
4098       followed by the other environments' top files. The first target expres‐
4099       sion (e.g. '*') for a given environment is kept, and when the same tar‐
4100       get expression is used in a different top file evaluated later,  it  is
4101       ignored.   Because  base  is  evaluated first, it is authoritative. For
4102       example, if there is a target for '*' for the foo environment  in  both
4103       the  base  and foo environment's top files, the one in the foo environ‐
4104       ment would be ignored. The environments will be evaluated  in  no  spe‐
4105       cific  order  (aside  from base coming first). For greater control over
4106       the order in which the environments are evaluated, use env_order.  Note
4107       that,  aside  from the base environment's top file, any sections in top
4108       files that do not match that top file's environment  will  be  ignored.
4109       So,  for  example, a section for the qa environment would be ignored if
4110       it appears in the dev environment's top file. To keep  use  cases  like
4111       this from being ignored, use the merge_all strategy.
4112
4113       When  set  to  same, then for each environment, only that environment's
4114       top file is processed, with the others being ignored. For example, only
4115       the  dev  environment's top file will be processed for the dev environ‐
4116       ment, and any SLS targets defined for dev in the base environment's (or
4117       any  other  environment's)  top file will be ignored. If an environment
4118       does not have a top file, then the top file from the default_top config
4119       parameter will be used as a fallback.
4120
4121       When  set  to merge_all, then all states in all environments in all top
4122       files will be applied. The order in which individual SLS files will  be
4123       executed  will  depend  on the order in which the top files were evalu‐
4124       ated, and the environments will be evaluated in no specific order.  For
4125       greater control over the order in which the environments are evaluated,
4126       use env_order.
4127
4128          top_file_merging_strategy: same
4129
4130   env_order
4131       Default: []
4132
4133       When top_file_merging_strategy is set to merge, and no  environment  is
4134       specified  for  a highstate, this config option allows for the order in
4135       which top files are evaluated to be explicitly defined.
4136
4137          env_order:
4138            - base
4139            - dev
4140            - qa
4141
4142   master_tops
4143       Default: {}
4144
4145       The master_tops option replaces the external_nodes option by creating a
4146       pluggable  system  for  the generation of external top data. The exter‐
4147       nal_nodes option is deprecated by the master_tops option.  To gain  the
4148       capabilities  of  the  classic external_nodes system, use the following
4149       configuration:
4150
4151          master_tops:
4152            ext_nodes: <Shell command which returns yaml>
4153
4154   renderer
4155       Default: jinja|yaml
4156
4157       The renderer to use on the minions to render the state data.
4158
4159          renderer: jinja|json
4160
4161   userdata_template
4162       New in version 2016.11.4.
4163
4164
4165       Default: None
4166
4167       The renderer to use for templating userdata files in salt-cloud, if the
4168       userdata_template  is  not set in the cloud profile. If no value is set
4169       in the cloud profile or master config file, no templating will be  per‐
4170       formed.
4171
4172          userdata_template: jinja
4173
4174   jinja_env
4175       New in version 2018.3.0.
4176
4177
4178       Default: {}
4179
4180       jinja_env  overrides the default Jinja environment options for all tem‐
4181       plates except sls templates.  To set the options for sls templates  use
4182       jinja_sls_env.
4183
4184       NOTE:
4185          The  Jinja2 Environment documentation is the official source for the
4186          default values.  Not all the options listed in the jinja  documenta‐
4187          tion can be overridden using jinja_env or jinja_sls_env.
4188
4189       The default options are:
4190
4191          jinja_env:
4192            block_start_string: '{%'
4193            block_end_string: '%}'
4194            variable_start_string: '{{'
4195            variable_end_string: '}}'
4196            comment_start_string: '{#'
4197            comment_end_string: '#}'
4198            line_statement_prefix:
4199            line_comment_prefix:
4200            trim_blocks: False
4201            lstrip_blocks: False
4202            newline_sequence: '\n'
4203            keep_trailing_newline: False
4204
4205   jinja_sls_env
4206       New in version 2018.3.0.
4207
4208
4209       Default: {}
4210
4211       jinja_sls_env  sets  the  Jinja  environment options for sls templates.
4212       The defaults and accepted options are exactly the same as they are  for
4213       jinja_env.
4214
4215       The default options are:
4216
4217          jinja_sls_env:
4218            block_start_string: '{%'
4219            block_end_string: '%}'
4220            variable_start_string: '{{'
4221            variable_end_string: '}}'
4222            comment_start_string: '{#'
4223            comment_end_string: '#}'
4224            line_statement_prefix:
4225            line_comment_prefix:
4226            trim_blocks: False
4227            lstrip_blocks: False
4228            newline_sequence: '\n'
4229            keep_trailing_newline: False
4230
4231       Example  using  line  statements  and line comments to increase ease of
4232       use:
4233
4234       If your configuration options are
4235
4236          jinja_sls_env:
4237            line_statement_prefix: '%'
4238            line_comment_prefix: '##'
4239
4240       With these options jinja will interpret anything after a % at the start
4241       of  a  line (ignoreing whitespace) as a jinja statement and will inter‐
4242       pret anything after a ## as a comment.
4243
4244       This allows the following more convenient syntax to be used:
4245
4246          ## (this comment will not stay once rendered)
4247          # (this comment remains in the rendered template)
4248          ## ensure all the formula services are running
4249          % for service in formula_services:
4250          enable_service_{{ service }}:
4251            service.running:
4252              name: {{ service }}
4253          % endfor
4254
4255       The following less convenient but equivalent syntax would  have  to  be
4256       used if you had not set the line_statement and line_comment options:
4257
4258          {# (this comment will not stay once rendered) #}
4259          # (this comment remains in the rendered template)
4260          {# ensure all the formula services are running #}
4261          {% for service in formula_services %}
4262          enable_service_{{ service }}:
4263            service.running:
4264              name: {{ service }}
4265          {% endfor %}
4266
4267   jinja_trim_blocks
4268       Deprecated   since   version   2018.3.0:   Replaced  by  jinja_env  and
4269       jinja_sls_env
4270
4271
4272       New in version 2014.1.0.
4273
4274
4275       Default: False
4276
4277       If this is set to True, the  first  newline  after  a  Jinja  block  is
4278       removed  (block,  not variable tag!). Defaults to False and corresponds
4279       to the Jinja environment init variable trim_blocks.
4280
4281          jinja_trim_blocks: False
4282
4283   jinja_lstrip_blocks
4284       Deprecated  since  version  2018.3.0:   Replaced   by   jinja_env   and
4285       jinja_sls_env
4286
4287
4288       New in version 2014.1.0.
4289
4290
4291       Default: False
4292
4293       If  this  is set to True, leading spaces and tabs are stripped from the
4294       start of a line to a block. Defaults to False and  corresponds  to  the
4295       Jinja environment init variable lstrip_blocks.
4296
4297          jinja_lstrip_blocks: False
4298
4299   failhard
4300       Default: False
4301
4302       Set  the  global failhard flag. This informs all states to stop running
4303       states at the moment a single state fails.
4304
4305          failhard: False
4306
4307   state_verbose
4308       Default: True
4309
4310       Controls the verbosity of state runs. By default, the  results  of  all
4311       states are returned, but setting this value to False will cause salt to
4312       only display output for states that failed or states that have changes.
4313
4314          state_verbose: False
4315
4316   state_output
4317       Default: full
4318
4319       The state_output setting controls which results  will  be  output  full
4320       multi line:
4321
4322       · full, terse - each state will be full/terse
4323
4324       · mixed - only states with errors will be full
4325
4326       · changes - states with changes and errors will be full
4327
4328       full_id,  mixed_id, changes_id and terse_id are also allowed; when set,
4329       the state ID will be used as name in the output.
4330
4331          state_output: full
4332
4333   state_output_diff
4334       Default: False
4335
4336       The state_output_diff setting changes whether or not  the  output  from
4337       successful  states  is  returned.  Useful when even the terse output of
4338       these states is cluttering the logs. Set it to True to ignore them.
4339
4340          state_output_diff: False
4341
4342   state_aggregate
4343       Default: False
4344
4345       Automatically aggregate all states that have support for  mod_aggregate
4346       by  setting  to True. Or pass a list of state module names to automati‐
4347       cally aggregate just those types.
4348
4349          state_aggregate:
4350            - pkg
4351
4352          state_aggregate: True
4353
4354   state_events
4355       Default: False
4356
4357       Send progress events as each function in a state run  completes  execu‐
4358       tion   by   setting   to  True.  Progress  events  are  in  the  format
4359       salt/job/<JID>/prog/<MID>/<RUN NUM>.
4360
4361          state_events: True
4362
4363   yaml_utf8
4364       Default: False
4365
4366       Enable extra routines for YAML  renderer  used  states  containing  UTF
4367       characters.
4368
4369          yaml_utf8: False
4370
4371   runner_returns
4372       Default: False
4373
4374       If  set  to  True,  runner  jobs will be saved to job cache (defined by
4375       master_job_cache).
4376
4377          runner_returns: True
4378
4379   Master File Server Settings
4380   fileserver_backend
4381       Default: ['roots']
4382
4383       Salt supports a modular fileserver backend system, this  system  allows
4384       the  salt  master to link directly to third party systems to gather and
4385       manage the files available to minions. Multiple backends can be config‐
4386       ured  and will be searched for the requested file in the order in which
4387       they are defined here. The default setting only  enables  the  standard
4388       backend roots, which is configured using the file_roots option.
4389
4390       Example:
4391
4392          fileserver_backend:
4393            - roots
4394            - gitfs
4395
4396       NOTE:
4397          For  masterless Salt, this parameter must be specified in the minion
4398          config file.
4399
4400   fileserver_followsymlinks
4401       New in version 2014.1.0.
4402
4403
4404       Default: True
4405
4406       By default, the file_server follows symlinks when walking the  filesys‐
4407       tem  tree.   Currently  this  only  applies  to the default roots file‐
4408       server_backend.
4409
4410          fileserver_followsymlinks: True
4411
4412   fileserver_ignoresymlinks
4413       New in version 2014.1.0.
4414
4415
4416       Default: False
4417
4418       If you do not want symlinks to be treated as the files they are  point‐
4419       ing  to,  set fileserver_ignoresymlinks to True. By default this is set
4420       to False. When set to True, any detected symlink while listing files on
4421       the Master will not be returned to the Minion.
4422
4423          fileserver_ignoresymlinks: False
4424
4425   fileserver_limit_traversal
4426       New in version 2014.1.0.
4427
4428
4429       Deprecated since version 2018.3.4: This option is now ignored. Firstly,
4430       it only traversed file_roots, which means it did not work for the other
4431       fileserver  backends.  Secondly,  since  this  option was added we have
4432       added caching to the code that traverses  the  file_roots  (and  gitfs,
4433       etc.), which greatly reduces the amount of traversal that is done.
4434
4435
4436       Default: False
4437
4438       By  default,  the Salt fileserver recurses fully into all defined envi‐
4439       ronments to attempt to find files. To limit this behavior so  that  the
4440       fileserver  only  traverses directories with SLS files and special Salt
4441       directories like _modules, set fileserver_limit_traversal to True. This
4442       might  be  useful  for installations where a file root has a very large
4443       number of files and performance is impacted.
4444
4445          fileserver_limit_traversal: False
4446
4447   fileserver_list_cache_time
4448       New in version 2014.1.0.
4449
4450
4451       Changed in version 2016.11.0: The default was changed from  30  seconds
4452       to 20.
4453
4454
4455       Default: 20
4456
4457       Salt  caches the list of files/symlinks/directories for each fileserver
4458       backend and environment as they are requested, to guard against a  per‐
4459       formance  bottleneck  at scale when many minions all ask the fileserver
4460       which files are available simultaneously. This configuration  parameter
4461       allows for the max age of that cache to be altered.
4462
4463       Set  this  value to 0 to disable use of this cache altogether, but keep
4464       in mind that this may increase the CPU load on the master when  running
4465       a highstate on a large number of minions.
4466
4467       NOTE:
4468          Rather  than altering this configuration parameter, it may be advis‐
4469          able to use the  fileserver.clear_file_list_cache  runner  to  clear
4470          these caches.
4471
4472          fileserver_list_cache_time: 5
4473
4474   fileserver_verify_config
4475       New in version 2017.7.0.
4476
4477
4478       Default: True
4479
4480       By  default, as the master starts it performs some sanity checks on the
4481       configured fileserver backends. If any  of  these  sanity  checks  fail
4482       (such as when an invalid configuration is used), the master daemon will
4483       abort.
4484
4485       To skip these sanity checks, set this option to False.
4486
4487          fileserver_verify_config: False
4488
4489   hash_type
4490       Default: sha256
4491
4492       The hash_type is the hash to use when discovering the hash of a file on
4493       the  master  server.  The  default  is  sha256,  but md5, sha1, sha224,
4494       sha384, and sha512 are also supported.
4495
4496          hash_type: sha256
4497
4498   file_buffer_size
4499       Default: 1048576
4500
4501       The buffer size in the file server in bytes.
4502
4503          file_buffer_size: 1048576
4504
4505   file_ignore_regex
4506       Default: ''
4507
4508       A regular expression (or a list of expressions) that  will  be  matched
4509       against the file path before syncing the modules and states to the min‐
4510       ions.  This includes files affected by  the  file.recurse  state.   For
4511       example, if you manage your custom modules and states in subversion and
4512       don't want all the '.svn' folders and content synced to  your  minions,
4513       you could set this to '/.svn($|/)'. By default nothing is ignored.
4514
4515          file_ignore_regex:
4516            - '/\.svn($|/)'
4517            - '/\.git($|/)'
4518
4519   file_ignore_glob
4520       Default ''
4521
4522       A  file  glob  (or list of file globs) that will be matched against the
4523       file path before syncing the modules and states to the minions. This is
4524       similar  to  file_ignore_regex  above,  but  works  on globs instead of
4525       regex. By default nothing is ignored.
4526
4527          file_ignore_glob:
4528            - '\*.pyc'
4529            - '\*/somefolder/\*.bak'
4530            - '\*.swp'
4531
4532       NOTE:
4533          Vim's  .swp  files  are  a  common  cause  of  Unicode   errors   in
4534          file.recurse  states  which  use  templating. Unless there is a good
4535          reason to distribute them via the fileserver, it is good practice to
4536          include '\*.swp' in the file_ignore_glob.
4537
4538   master_roots
4539       Default: /srv/salt-master
4540
4541       A master-only copy of the file_roots dictionary, used by the state com‐
4542       piler.
4543
4544          master_roots: /srv/salt-master
4545
4546   roots: Master's Local File Server
4547   file_roots
4548       Default:
4549
4550          base:
4551            - /srv/salt
4552
4553       Salt runs a lightweight file server written in ZeroMQ to deliver  files
4554       to  minions.  This file server is built into the master daemon and does
4555       not require a dedicated port.
4556
4557       The file server works on environments passed to the master. Each  envi‐
4558       ronment  can  have multiple root directories. The subdirectories in the
4559       multiple file roots cannot match, otherwise the downloaded  files  will
4560       not  be  able to be reliably ensured. A base environment is required to
4561       house the top file.
4562
4563       As of 2018.3.5 and 2019.2.1, it  is  possible  to  have  __env__  as  a
4564       catch-all environment.
4565
4566       Example:
4567
4568          file_roots:
4569            base:
4570              - /srv/salt
4571            dev:
4572              - /srv/salt/dev/services
4573              - /srv/salt/dev/states
4574            prod:
4575              - /srv/salt/prod/services
4576              - /srv/salt/prod/states
4577            __env__:
4578              - /srv/salt/default
4579
4580       NOTE:
4581          For  masterless Salt, this parameter must be specified in the minion
4582          config file.
4583
4584   roots_update_interval
4585       New in version 2018.3.0.
4586
4587
4588       Default: 60
4589
4590       This option defines the update interval (in seconds) for file_roots.
4591
4592       NOTE:
4593          Since file_roots consists of files local to the minion,  the  update
4594          process  for  this  fileserver backend just reaps the cache for this
4595          backend.
4596
4597          roots_update_interval: 120
4598
4599   gitfs: Git Remote File Server Backend
4600   gitfs_remotes
4601       Default: []
4602
4603       When using the git fileserver backend at least one git remote needs  to
4604       be  defined.  The user running the salt master will need read access to
4605       the repo.
4606
4607       The repos will be searched in order to find the  file  requested  by  a
4608       client and the first repo to have the file will return it. Branches and
4609       tags are translated into salt environments.
4610
4611          gitfs_remotes:
4612            - git://github.com/saltstack/salt-states.git
4613            - file:///var/git/saltmaster
4614
4615       NOTE:
4616          file:// repos will be treated as a remote and copied into  the  mas‐
4617          ter's  gitfs  cache,  so only the local refs for those repos will be
4618          exposed as fileserver environments.
4619
4620       As of 2014.7.0, it is possible to have per-repo versions of several  of
4621       the gitfs configuration parameters. For more information, see the GitFS
4622       Walkthrough.
4623
4624   gitfs_provider
4625       New in version 2014.7.0.
4626
4627
4628       Optional parameter used to specify the provider to be used  for  gitfs.
4629       More information can be found in the GitFS Walkthrough.
4630
4631       Must  be  either pygit2 or gitpython. If unset, then each will be tried
4632       in that same order,  and  the  first  one  with  a  compatible  version
4633       installed will be the provider that is used.
4634
4635          gitfs_provider: gitpython
4636
4637   gitfs_ssl_verify
4638       Default: True
4639
4640       Specifies whether or not to ignore SSL certificate errors when fetching
4641       from the repositories configured in gitfs_remotes. The False setting is
4642       useful  if you're using a git repo that uses a self-signed certificate.
4643       However, keep in mind that setting this to anything  other  True  is  a
4644       considered  insecure,  and  using an SSH-based transport (if available)
4645       may be a better option.
4646
4647          gitfs_ssl_verify: False
4648
4649       NOTE:
4650          pygit2 only supports disabling SSL verification in  versions  0.23.2
4651          and newer.
4652
4653       Changed in version 2015.8.0: This option can now be configured on indi‐
4654       vidual repositories as well. See here for more info.
4655
4656
4657       Changed in version 2016.11.0: The default  config  value  changed  from
4658       False to True.
4659
4660
4661   gitfs_mountpoint
4662       New in version 2014.7.0.
4663
4664
4665       Default: ''
4666
4667       Specifies  a path on the salt fileserver which will be prepended to all
4668       files served by gitfs. This option can  be  used  in  conjunction  with
4669       gitfs_root. It can also be configured for an individual repository, see
4670       here for more info.
4671
4672          gitfs_mountpoint: salt://foo/bar
4673
4674       NOTE:
4675          The salt:// protocol designation can be left off  (in  other  words,
4676          foo/bar  and  salt://foo/bar are equivalent). Assuming a file baz.sh
4677          in the root of a gitfs remote, and  the  above  example  mountpoint,
4678          this file would be served up via salt://foo/bar/baz.sh.
4679
4680   gitfs_root
4681       Default: ''
4682
4683       Relative  path  to a subdirectory within the repository from which Salt
4684       should begin to serve files. This is useful when there are files in the
4685       repository  that should not be available to the Salt fileserver. Can be
4686       used in conjunction with gitfs_mountpoint. If used,  then  from  Salt's
4687       perspective the directories above the one specified will be ignored and
4688       the relative path will (for the purposes of gitfs) be considered as the
4689       root of the repo.
4690
4691          gitfs_root: somefolder/otherfolder
4692
4693       Changed in version 2014.7.0: This option can now be configured on indi‐
4694       vidual repositories as well. See here for more info.
4695
4696
4697   gitfs_base
4698       Default: master
4699
4700       Defines which branch/tag should be used as the base environment.
4701
4702          gitfs_base: salt
4703
4704       Changed in version 2014.7.0: This option can now be configured on indi‐
4705       vidual repositories as well. See here for more info.
4706
4707
4708   gitfs_saltenv
4709       New in version 2016.11.0.
4710
4711
4712       Default: []
4713
4714       Global   settings  for  per-saltenv  configuration  parameters.  Though
4715       per-saltenv configuration parameters are typically one-off changes spe‐
4716       cific  to  a  single  gitfs remote, and thus more often configured on a
4717       per-remote basis, this parameter can be  used  to  specify  per-saltenv
4718       changes  which should apply to all remotes. For example, the below con‐
4719       figuration will map the develop branch to the dev saltenv for all gitfs
4720       remotes.
4721
4722          gitfs_saltenv:
4723            - dev:
4724              - ref: develop
4725
4726   gitfs_disable_saltenv_mapping
4727       New in version 2018.3.0.
4728
4729
4730       Default: False
4731
4732       When  set to True, all saltenv mapping logic is disregarded (aside from
4733       which branch/tag is mapped to the base saltenv). To use any other envi‐
4734       ronments,  they  must  then  be defined using per-saltenv configuration
4735       parameters.
4736
4737          gitfs_disable_saltenv_mapping: True
4738
4739       NOTE:
4740          This is is a global configuration option, see here for  examples  of
4741          configuring it for individual repositories.
4742
4743   gitfs_ref_types
4744       New in version 2018.3.0.
4745
4746
4747       Default: ['branch', 'tag', 'sha']
4748
4749       This  option  defines what types of refs are mapped to fileserver envi‐
4750       ronments (i.e. saltenvs). It also sets the  order  of  preference  when
4751       there  are ambiguously-named refs (i.e. when a branch and tag both have
4752       the same name).  The below example disables mapping of  both  tags  and
4753       SHAs, so that only branches are mapped as saltenvs:
4754
4755          gitfs_ref_types:
4756            - branch
4757
4758       NOTE:
4759          This  is  is a global configuration option, see here for examples of
4760          configuring it for individual repositories.
4761
4762       NOTE:
4763          sha is special in that it will not show  up  when  listing  saltenvs
4764          (e.g.  with the fileserver.envs runner), but works within states and
4765          with cp.cache_file to retrieve a file from a specific git SHA.
4766
4767   gitfs_saltenv_whitelist
4768       New in version 2014.7.0.
4769
4770
4771       Changed  in  version  2018.3.0:  Renamed  from  gitfs_env_whitelist  to
4772       gitfs_saltenv_whitelist
4773
4774
4775       Default: []
4776
4777       Used  to  restrict  which environments are made available. Can speed up
4778       state runs if the repos in gitfs_remotes  contain  many  branches/tags.
4779       More information can be found in the GitFS Walkthrough.
4780
4781          gitfs_saltenv_whitelist:
4782            - base
4783            - v1.*
4784            - 'mybranch\d+'
4785
4786   gitfs_saltenv_blacklist
4787       New in version 2014.7.0.
4788
4789
4790       Changed  in  version  2018.3.0:  Renamed  from  gitfs_env_blacklist  to
4791       gitfs_saltenv_blacklist
4792
4793
4794       Default: []
4795
4796       Used to restrict which environments are made available.  Can  speed  up
4797       state  runs  if  the repos in gitfs_remotes contain many branches/tags.
4798       More information can be found in the GitFS Walkthrough.
4799
4800          gitfs_saltenv_blacklist:
4801            - base
4802            - v1.*
4803            - 'mybranch\d+'
4804
4805   gitfs_global_lock
4806       New in version 2015.8.9.
4807
4808
4809       Default: True
4810
4811       When set to False, if there is an update lock for a  gitfs  remote  and
4812       the  pid written to it is not running on the master, the lock file will
4813       be automatically cleared and a new lock will be obtained. When  set  to
4814       True,  Salt  will  simply  log  a  warning when there is an update lock
4815       present.
4816
4817       On single-master deployments, disabling this option can help  automati‐
4818       cally  deal with instances where the master was shutdown/restarted dur‐
4819       ing the middle of a gitfs update, leaving a update lock in place.
4820
4821       However, on multi-master deployments with the gitfs cachedir shared via
4822       GlusterFS,  nfs,  or  another network filesystem, it is strongly recom‐
4823       mended not to disable this option as doing so will cause lock files  to
4824       be removed if they were created by a different master.
4825
4826          # Disable global lock
4827          gitfs_global_lock: False
4828
4829   gitfs_update_interval
4830       New in version 2018.3.0.
4831
4832
4833       Default: 60
4834
4835       This  option defines the default update interval (in seconds) for gitfs
4836       remotes.  The update interval can also be set for a  single  repository
4837       via a per-remote config option
4838
4839          gitfs_update_interval: 120
4840
4841   GitFS Authentication Options
4842       These  parameters  only  currently  apply to the pygit2 gitfs provider.
4843       Examples of how to use these can be found in the GitFS Walkthrough.
4844
4845   gitfs_user
4846       New in version 2014.7.0.
4847
4848
4849       Default: ''
4850
4851       Along with gitfs_password, is used to authenticate to HTTPS remotes.
4852
4853          gitfs_user: git
4854
4855       NOTE:
4856          This is is a global configuration option, see here for  examples  of
4857          configuring it for individual repositories.
4858
4859   gitfs_password
4860       New in version 2014.7.0.
4861
4862
4863       Default: ''
4864
4865       Along  with gitfs_user, is used to authenticate to HTTPS remotes.  This
4866       parameter is not required if the repository does  not  use  authentica‐
4867       tion.
4868
4869          gitfs_password: mypassword
4870
4871       NOTE:
4872          This  is  is a global configuration option, see here for examples of
4873          configuring it for individual repositories.
4874
4875   gitfs_insecure_auth
4876       New in version 2014.7.0.
4877
4878
4879       Default: False
4880
4881       By default, Salt will not authenticate to an HTTP  (non-HTTPS)  remote.
4882       This  parameter  enables  authentication over HTTP. Enable this at your
4883       own risk.
4884
4885          gitfs_insecure_auth: True
4886
4887       NOTE:
4888          This is is a global configuration option, see here for  examples  of
4889          configuring it for individual repositories.
4890
4891   gitfs_pubkey
4892       New in version 2014.7.0.
4893
4894
4895       Default: ''
4896
4897       Along  with gitfs_privkey (and optionally gitfs_passphrase), is used to
4898       authenticate to SSH remotes.  Required for SSH remotes.
4899
4900          gitfs_pubkey: /path/to/key.pub
4901
4902       NOTE:
4903          This is is a global configuration option, see here for  examples  of
4904          configuring it for individual repositories.
4905
4906   gitfs_privkey
4907       New in version 2014.7.0.
4908
4909
4910       Default: ''
4911
4912       Along  with  gitfs_pubkey (and optionally gitfs_passphrase), is used to
4913       authenticate to SSH remotes.  Required for SSH remotes.
4914
4915          gitfs_privkey: /path/to/key
4916
4917       NOTE:
4918          This is is a global configuration option, see here for  examples  of
4919          configuring it for individual repositories.
4920
4921   gitfs_passphrase
4922       New in version 2014.7.0.
4923
4924
4925       Default: ''
4926
4927       This  parameter  is optional, required only when the SSH key being used
4928       to authenticate is protected by a passphrase.
4929
4930          gitfs_passphrase: mypassphrase
4931
4932       NOTE:
4933          This is is a global configuration option, see here for  examples  of
4934          configuring it for individual repositories.
4935
4936   gitfs_refspecs
4937       New in version 2017.7.0.
4938
4939
4940       Default:                        ['+refs/heads/*:refs/remotes/origin/*',
4941       '+refs/tags/*:refs/tags/*']
4942
4943       When fetching from remote repositories,  by  default  Salt  will  fetch
4944       branches  and  tags. This parameter can be used to override the default
4945       and specify alternate refspecs to be fetched. More information  on  how
4946       this feature works can be found in the GitFS Walkthrough.
4947
4948          gitfs_refspecs:
4949            - '+refs/heads/*:refs/remotes/origin/*'
4950            - '+refs/tags/*:refs/tags/*'
4951            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
4952            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
4953
4954   hgfs: Mercurial Remote File Server Backend
4955   hgfs_remotes
4956       New in version 0.17.0.
4957
4958
4959       Default: []
4960
4961       When  using  the  hg  fileserver  backend at least one mercurial remote
4962       needs to be defined. The user running the salt master  will  need  read
4963       access to the repo.
4964
4965       The  repos  will  be  searched in order to find the file requested by a
4966       client and the first repo to have the file  will  return  it.  Branches
4967       and/or  bookmarks  are translated into salt environments, as defined by
4968       the hgfs_branch_method parameter.
4969
4970          hgfs_remotes:
4971            - https://username@bitbucket.org/username/reponame
4972
4973       NOTE:
4974          As of 2014.7.0, it is possible to  have  per-repo  versions  of  the
4975          hgfs_root, hgfs_mountpoint, hgfs_base, and hgfs_branch_method param‐
4976          eters.  For example:
4977
4978              hgfs_remotes:
4979                - https://username@bitbucket.org/username/repo1
4980                  - base: saltstates
4981                - https://username@bitbucket.org/username/repo2:
4982                  - root: salt
4983                  - mountpoint: salt://foo/bar/baz
4984                - https://username@bitbucket.org/username/repo3:
4985                  - root: salt/states
4986                  - branch_method: mixed
4987
4988   hgfs_branch_method
4989       New in version 0.17.0.
4990
4991
4992       Default: branches
4993
4994       Defines the objects that will be used as fileserver environments.
4995
4996       · branches - Only branches and tags will be used
4997
4998       · bookmarks - Only bookmarks and tags will be used
4999
5000       · mixed - Branches, bookmarks, and tags will be used
5001
5002          hgfs_branch_method: mixed
5003
5004       NOTE:
5005          Starting in version 2014.1.0, the value of the  hgfs_base  parameter
5006          defines which branch is used as the base environment, allowing for a
5007          base environment to be used with an hgfs_branch_method of bookmarks.
5008
5009          Prior to this release, the default branch will be used as  the  base
5010          environment.
5011
5012   hgfs_mountpoint
5013       New in version 2014.7.0.
5014
5015
5016       Default: ''
5017
5018       Specifies  a path on the salt fileserver which will be prepended to all
5019       files served by hgfs. This option  can  be  used  in  conjunction  with
5020       hgfs_root.  It  can  also be configured on a per-remote basis, see here
5021       for more info.
5022
5023          hgfs_mountpoint: salt://foo/bar
5024
5025       NOTE:
5026          The salt:// protocol designation can be left off  (in  other  words,
5027          foo/bar  and  salt://foo/bar are equivalent). Assuming a file baz.sh
5028          in the root of an hgfs remote, this file  would  be  served  up  via
5029          salt://foo/bar/baz.sh.
5030
5031   hgfs_root
5032       New in version 0.17.0.
5033
5034
5035       Default: ''
5036
5037       Relative  path  to a subdirectory within the repository from which Salt
5038       should begin to serve files. This is useful when there are files in the
5039       repository  that should not be available to the Salt fileserver. Can be
5040       used in conjunction with hgfs_mountpoint. If  used,  then  from  Salt's
5041       perspective the directories above the one specified will be ignored and
5042       the relative path will (for the purposes of hgfs) be considered as  the
5043       root of the repo.
5044
5045          hgfs_root: somefolder/otherfolder
5046
5047       Changed  in  version  2014.7.0:  Ability  to  specify  hgfs  roots on a
5048       per-remote basis was added. See here for more info.
5049
5050
5051   hgfs_base
5052       New in version 2014.1.0.
5053
5054
5055       Default: default
5056
5057       Defines which branch should be used as  the  base  environment.  Change
5058       this  if  hgfs_branch_method is set to bookmarks to specify which book‐
5059       mark should be used as the base environment.
5060
5061          hgfs_base: salt
5062
5063   hgfs_saltenv_whitelist
5064       New in version 2014.7.0.
5065
5066
5067       Changed  in  version  2018.3.0:  Renamed  from  hgfs_env_whitelist   to
5068       hgfs_saltenv_whitelist
5069
5070
5071       Default: []
5072
5073       Used  to  restrict  which environments are made available. Can speed up
5074       state runs if your hgfs remotes contain  many  branches/bookmarks/tags.
5075       Full  names,  globs,  and regular expressions are supported. If using a
5076       regular expression, the expression must match the entire minion ID.
5077
5078       If used, only branches/bookmarks/tags which match one of the  specified
5079       expressions will be exposed as fileserver environments.
5080
5081       If  used in conjunction with hgfs_saltenv_blacklist, then the subset of
5082       branches/bookmarks/tags which match the whitelist but do not match  the
5083       blacklist will be exposed as fileserver environments.
5084
5085          hgfs_saltenv_whitelist:
5086            - base
5087            - v1.*
5088            - 'mybranch\d+'
5089
5090   hgfs_saltenv_blacklist
5091       New in version 2014.7.0.
5092
5093
5094       Changed   in  version  2018.3.0:  Renamed  from  hgfs_env_blacklist  to
5095       hgfs_saltenv_blacklist
5096
5097
5098       Default: []
5099
5100       Used to restrict which environments are made available.  Can  speed  up
5101       state  runs  if your hgfs remotes contain many branches/bookmarks/tags.
5102       Full names, globs, and regular expressions are supported.  If  using  a
5103       regular expression, the expression must match the entire minion ID.
5104
5105       If  used,  branches/bookmarks/tags  which  match  one  of the specified
5106       expressions will not be exposed as fileserver environments.
5107
5108       If used in conjunction with hgfs_saltenv_whitelist, then the subset  of
5109       branches/bookmarks/tags  which match the whitelist but do not match the
5110       blacklist will be exposed as fileserver environments.
5111
5112          hgfs_saltenv_blacklist:
5113            - base
5114            - v1.*
5115            - 'mybranch\d+'
5116
5117   hgfs_update_interval
5118       New in version 2018.3.0.
5119
5120
5121       Default: 60
5122
5123       This option defines the update interval (in seconds) for hgfs_remotes.
5124
5125          hgfs_update_interval: 120
5126
5127   svnfs: Subversion Remote File Server Backend
5128   svnfs_remotes
5129       New in version 0.17.0.
5130
5131
5132       Default: []
5133
5134       When using the svn fileserver backend at least  one  subversion  remote
5135       needs  to  be  defined. The user running the salt master will need read
5136       access to the repo.
5137
5138       The repos will be searched in order to find the  file  requested  by  a
5139       client  and  the first repo to have the file will return it. The trunk,
5140       branches, and tags become environments, with the trunk being  the  base
5141       environment.
5142
5143          svnfs_remotes:
5144            - svn://foo.com/svn/myproject
5145
5146       NOTE:
5147          As of 2014.7.0, it is possible to have per-repo versions of the fol‐
5148          lowing configuration parameters:
5149
5150          · svnfs_root
5151
5152          · svnfs_mountpoint
5153
5154          · svnfs_trunk
5155
5156          · svnfs_branches
5157
5158          · svnfs_tags
5159
5160          For example:
5161
5162              svnfs_remotes:
5163                - svn://foo.com/svn/project1
5164                - svn://foo.com/svn/project2:
5165                  - root: salt
5166                  - mountpoint: salt://foo/bar/baz
5167                - svn//foo.com/svn/project3:
5168                  - root: salt/states
5169                  - branches: branch
5170                  - tags: tag
5171
5172   svnfs_mountpoint
5173       New in version 2014.7.0.
5174
5175
5176       Default: ''
5177
5178       Specifies a path on the salt fileserver which will be prepended to  all
5179       files  served  by  hgfs.  This  option  can be used in conjunction with
5180       svnfs_root. It can also be configured on a per-remote basis,  see  here
5181       for more info.
5182
5183          svnfs_mountpoint: salt://foo/bar
5184
5185       NOTE:
5186          The  salt://  protocol  designation can be left off (in other words,
5187          foo/bar and salt://foo/bar are equivalent). Assuming a  file  baz.sh
5188          in  the  root  of  an svnfs remote, this file would be served up via
5189          salt://foo/bar/baz.sh.
5190
5191   svnfs_root
5192       New in version 0.17.0.
5193
5194
5195       Default: ''
5196
5197       Relative path to a subdirectory within the repository from  which  Salt
5198       should begin to serve files. This is useful when there are files in the
5199       repository that should not be available to the Salt fileserver. Can  be
5200       used  in  conjunction  with svnfs_mountpoint. If used, then from Salt's
5201       perspective the directories above the one specified will be ignored and
5202       the relative path will (for the purposes of svnfs) be considered as the
5203       root of the repo.
5204
5205          svnfs_root: somefolder/otherfolder
5206
5207       Changed in version 2014.7.0:  Ability  to  specify  svnfs  roots  on  a
5208       per-remote basis was added. See here for more info.
5209
5210
5211   svnfs_trunk
5212       New in version 2014.7.0.
5213
5214
5215       Default: trunk
5216
5217       Path relative to the root of the repository where the trunk is located.
5218       Can also be configured on a per-remote basis, see here for more info.
5219
5220          svnfs_trunk: trunk
5221
5222   svnfs_branches
5223       New in version 2014.7.0.
5224
5225
5226       Default: branches
5227
5228       Path relative to the root of the  repository  where  the  branches  are
5229       located.  Can  also  be  configured on a per-remote basis, see here for
5230       more info.
5231
5232          svnfs_branches: branches
5233
5234   svnfs_tags
5235       New in version 2014.7.0.
5236
5237
5238       Default: tags
5239
5240       Path relative to the root of the repository where the tags are located.
5241       Can also be configured on a per-remote basis, see here for more info.
5242
5243          svnfs_tags: tags
5244
5245   svnfs_saltenv_whitelist
5246       New in version 2014.7.0.
5247
5248
5249       Changed  in  version  2018.3.0:  Renamed  from  svnfs_env_whitelist  to
5250       svnfs_saltenv_whitelist
5251
5252
5253       Default: []
5254
5255       Used to restrict which environments are made available.  Can  speed  up
5256       state  runs  if  your  svnfs  remotes  contain many branches/tags. Full
5257       names, globs, and regular expressions are supported. If using a regular
5258       expression, the expression must match the entire minion ID.
5259
5260       If  used,  only  branches/tags which match one of the specified expres‐
5261       sions will be exposed as fileserver environments.
5262
5263       If used in conjunction with svnfs_saltenv_blacklist, then the subset of
5264       branches/tags  which match the whitelist but do not match the blacklist
5265       will be exposed as fileserver environments.
5266
5267          svnfs_saltenv_whitelist:
5268            - base
5269            - v1.*
5270            - 'mybranch\d+'
5271
5272   svnfs_saltenv_blacklist
5273       New in version 2014.7.0.
5274
5275
5276       Changed  in  version  2018.3.0:  Renamed  from  svnfs_env_blacklist  to
5277       svnfs_saltenv_blacklist
5278
5279
5280       Default: []
5281
5282       Used  to  restrict  which environments are made available. Can speed up
5283       state runs if your  svnfs  remotes  contain  many  branches/tags.  Full
5284       names, globs, and regular expressions are supported. If using a regular
5285       expression, the expression must match the entire minion ID.
5286
5287       If used, branches/tags which match one  of  the  specified  expressions
5288       will not be exposed as fileserver environments.
5289
5290       If used in conjunction with svnfs_saltenv_whitelist, then the subset of
5291       branches/tags which match the whitelist but do not match the  blacklist
5292       will be exposed as fileserver environments.
5293
5294          svnfs_saltenv_blacklist:
5295            - base
5296            - v1.*
5297            - 'mybranch\d+'
5298
5299   svnfs_update_interval
5300       New in version 2018.3.0.
5301
5302
5303       Default: 60
5304
5305       This option defines the update interval (in seconds) for svnfs_remotes.
5306
5307          svnfs_update_interval: 120
5308
5309   minionfs: MinionFS Remote File Server Backend
5310   minionfs_env
5311       New in version 2014.7.0.
5312
5313
5314       Default: base
5315
5316       Environment from which MinionFS files are made available.
5317
5318          minionfs_env: minionfs
5319
5320   minionfs_mountpoint
5321       New in version 2014.7.0.
5322
5323
5324       Default: ''
5325
5326       Specifies  a  path on the salt fileserver from which minionfs files are
5327       served.
5328
5329          minionfs_mountpoint: salt://foo/bar
5330
5331       NOTE:
5332          The salt:// protocol designation can be left off  (in  other  words,
5333          foo/bar and salt://foo/bar are equivalent).
5334
5335   minionfs_whitelist
5336       New in version 2014.7.0.
5337
5338
5339       Default: []
5340
5341       Used  to restrict which minions' pushed files are exposed via minionfs.
5342       If using a regular expression, the expression  must  match  the  entire
5343       minion ID.
5344
5345       If  used,  only  the  pushed  files from minions which match one of the
5346       specified expressions will be exposed.
5347
5348       If used in conjunction with  minionfs_blacklist,  then  the  subset  of
5349       hosts  which match the whitelist but do not match the blacklist will be
5350       exposed.
5351
5352          minionfs_whitelist:
5353            - server01
5354            - dev*
5355            - 'mail\d+.mydomain.tld'
5356
5357   minionfs_blacklist
5358       New in version 2014.7.0.
5359
5360
5361       Default: []
5362
5363       Used to restrict which minions' pushed files are exposed via  minionfs.
5364       If  using  a  regular  expression, the expression must match the entire
5365       minion ID.
5366
5367       If used, only the pushed files from minions  which  match  one  of  the
5368       specified expressions will not be exposed.
5369
5370       If  used  in  conjunction  with  minionfs_whitelist, then the subset of
5371       hosts which match the whitelist but do not match the blacklist will  be
5372       exposed.
5373
5374          minionfs_blacklist:
5375            - server01
5376            - dev*
5377            - 'mail\d+.mydomain.tld'
5378
5379   minionfs_update_interval
5380       New in version 2018.3.0.
5381
5382
5383       Default: 60
5384
5385       This option defines the update interval (in seconds) for MinionFS.
5386
5387       NOTE:
5388          Since  MinionFS  consists  of  files local to the master, the update
5389          process for this fileserver backend just reaps the  cache  for  this
5390          backend.
5391
5392          minionfs_update_interval: 120
5393
5394   azurefs: Azure File Server Backend
5395       New in version 2015.8.0.
5396
5397
5398       See the azurefs documentation for usage examples.
5399
5400   azurefs_update_interval
5401       New in version 2018.3.0.
5402
5403
5404       Default: 60
5405
5406       This option defines the update interval (in seconds) for azurefs.
5407
5408          azurefs_update_interval: 120
5409
5410   s3fs: S3 File Server Backend
5411       New in version 0.16.0.
5412
5413
5414       See the s3fs documentation for usage examples.
5415
5416   s3fs_update_interval
5417       New in version 2018.3.0.
5418
5419
5420       Default: 60
5421
5422       This option defines the update interval (in seconds) for s3fs.
5423
5424          s3fs_update_interval: 120
5425
5426   Pillar Configuration
5427   pillar_roots
5428       Default:
5429
5430          base:
5431            - /srv/pillar
5432
5433       Set the environments and directories used to hold pillar sls data. This
5434       configuration is the same as file_roots:
5435
5436       As of 2017.7.5 and 2018.3.1, it  is  possible  to  have  __env__  as  a
5437       catch-all environment.
5438
5439       Example:
5440
5441          pillar_roots:
5442            base:
5443              - /srv/pillar
5444            dev:
5445              - /srv/pillar/dev
5446            prod:
5447              - /srv/pillar/prod
5448            __env__:
5449              - /srv/pillar/others
5450
5451   on_demand_ext_pillar
5452       New in version 2016.3.6,2016.11.3,2017.7.0.
5453
5454
5455       Default: ['libvirt', 'virtkey']
5456
5457       The external pillars permitted to be used on-demand using pillar.ext.
5458
5459          on_demand_ext_pillar:
5460            - libvirt
5461            - virtkey
5462            - git
5463
5464       WARNING:
5465          This  will  allow  minions  to request specific pillar data via pil‐
5466          lar.ext, and may be considered a security risk. However, pillar data
5467          generated  in this way will not affect the in-memory pillar data, so
5468          this risk is  limited  to  instances  in  which  states/modules/etc.
5469          (built-in or custom) rely upon pillar data generated by pillar.ext.
5470
5471   decrypt_pillar
5472       New in version 2017.7.0.
5473
5474
5475       Default: []
5476
5477       A list of paths to be recursively decrypted during pillar compilation.
5478
5479          decrypt_pillar:
5480            - 'foo:bar': gpg
5481            - 'lorem:ipsum:dolor'
5482
5483       Entries  in this list can be formatted either as a simple string, or as
5484       a key/value pair, with the key being the pillar location, and the value
5485       being the renderer to use for pillar decryption. If the former is used,
5486       the renderer specified by decrypt_pillar_default will be used.
5487
5488   decrypt_pillar_delimiter
5489       New in version 2017.7.0.
5490
5491
5492       Default: :
5493
5494       The delimiter  used  to  distinguish  nested  data  structures  in  the
5495       decrypt_pillar option.
5496
5497          decrypt_pillar_delimiter: '|'
5498          decrypt_pillar:
5499            - 'foo|bar': gpg
5500            - 'lorem|ipsum|dolor'
5501
5502   decrypt_pillar_default
5503       New in version 2017.7.0.
5504
5505
5506       Default: gpg
5507
5508       The default renderer used for decryption, if one is not specified for a
5509       given pillar key in decrypt_pillar.
5510
5511          decrypt_pillar_default: my_custom_renderer
5512
5513   decrypt_pillar_renderers
5514       New in version 2017.7.0.
5515
5516
5517       Default: ['gpg']
5518
5519       List of renderers which are permitted to be used for pillar decryption.
5520
5521          decrypt_pillar_renderers:
5522            - gpg
5523            - my_custom_renderer
5524
5525   pillar_opts
5526       Default: False
5527
5528       The pillar_opts option adds the master configuration  file  data  to  a
5529       dict  in  the pillar called master. This can be used to set simple con‐
5530       figurations in the master config file that can then be used on minions.
5531
5532       Note that setting this option to True means the master config file will
5533       be included in all minion's pillars. While this makes global configura‐
5534       tion of services and systems easy, it may not be desired  if  sensitive
5535       data is stored in the master configuration.
5536
5537          pillar_opts: False
5538
5539   pillar_safe_render_error
5540       Default: True
5541
5542       The  pillar_safe_render_error  option  prevents the master from passing
5543       pillar render errors to the minion. This is set on by  default  because
5544       the  error  could  contain templating data which would give that minion
5545       information it shouldn't have, like a password! When set True the error
5546       message will only show:
5547
5548          Rendering SLS 'my.sls' failed. Please see master log for details.
5549
5550          pillar_safe_render_error: True
5551
5552   ext_pillar
5553       The  ext_pillar  option allows for any number of external pillar inter‐
5554       faces to be called when populating pillar data.  The  configuration  is
5555       based  on  ext_pillar functions. The available ext_pillar functions can
5556       be found herein:
5557
5558       https://github.com/saltstack/salt/blob/master/salt/pillar
5559
5560       By default, the ext_pillar interface is not configured to run.
5561
5562       Default: []
5563
5564          ext_pillar:
5565            - hiera: /etc/hiera.yaml
5566            - cmd_yaml: cat /etc/salt/yaml
5567            - reclass:
5568                inventory_base_uri: /etc/reclass
5569
5570       There are additional details at salt-pillars
5571
5572   ext_pillar_first
5573       New in version 2015.5.0.
5574
5575
5576       Default: False
5577
5578       This option allows for external pillar sources to be  evaluated  before
5579       pillar_roots.   External  pillar  data  is  evaluated  separately  from
5580       pillar_roots pillar data, and then both sets of pillar data are  merged
5581       into  a  single  pillar  dictionary, so the value of this config option
5582       will have an impact on which key "wins" when there is one of  the  same
5583       name  in both the external pillar data and pillar_roots pillar data. By
5584       setting this option to True, ext_pillar  keys  will  be  overridden  by
5585       pillar_roots,  while  leaving it as False will allow ext_pillar keys to
5586       override those from pillar_roots.
5587
5588       NOTE:
5589          For a while, this config option did not  work  as  specified  above,
5590          because  of  a bug in Pillar compilation. This bug has been resolved
5591          in version 2016.3.4 and later.
5592
5593          ext_pillar_first: False
5594
5595   pillarenv_from_saltenv
5596       Default: False
5597
5598       When set to True, the pillarenv value will  assume  the  value  of  the
5599       effective  saltenv when running states. This essentially makes salt-run
5600       pillar.show_pillar saltenv=dev equivalent to salt-run  pillar.show_pil‐
5601       lar  saltenv=dev pillarenv=dev. If pillarenv is set on the CLI, it will
5602       override this option.
5603
5604          pillarenv_from_saltenv: True
5605
5606       NOTE:
5607          For salt remote execution commands this option should be set in  the
5608          Minion configuration instead.
5609
5610   pillar_raise_on_missing
5611       New in version 2015.5.0.
5612
5613
5614       Default: False
5615
5616       Set  this  option  to True to force a KeyError to be raised whenever an
5617       attempt to retrieve a named value from pillar fails. When  this  option
5618       is set to False, the failed attempt returns an empty string.
5619
5620   Git External Pillar (git_pillar) Configuration Options
5621   git_pillar_provider
5622       New in version 2015.8.0.
5623
5624
5625       Specify  the  provider to be used for git_pillar. Must be either pygit2
5626       or gitpython. If unset, then both will be tried in that same order, and
5627       the  first one with a compatible version installed will be the provider
5628       that is used.
5629
5630          git_pillar_provider: gitpython
5631
5632   git_pillar_base
5633       New in version 2015.8.0.
5634
5635
5636       Default: master
5637
5638       If the desired branch matches this value, and the environment is  omit‐
5639       ted  from  the  git_pillar configuration, then the environment for that
5640       git_pillar remote will be  base.  For  example,  in  the  configuration
5641       below,  the  foo  branch/tag would be assigned to the base environment,
5642       while bar would be mapped to the bar environment.
5643
5644          git_pillar_base: foo
5645
5646          ext_pillar:
5647            - git:
5648              - foo https://mygitserver/git-pillar.git
5649              - bar https://mygitserver/git-pillar.git
5650
5651   git_pillar_branch
5652       New in version 2015.8.0.
5653
5654
5655       Default: master
5656
5657       If the branch is omitted from a git_pillar  remote,  then  this  branch
5658       will  be  used  instead.  For  example, in the configuration below, the
5659       first two remotes would use the pillardata branch/tag, while the  third
5660       would use the foo branch/tag.
5661
5662          git_pillar_branch: pillardata
5663
5664          ext_pillar:
5665            - git:
5666              - https://mygitserver/pillar1.git
5667              - https://mygitserver/pillar2.git:
5668                - root: pillar
5669              - foo https://mygitserver/pillar3.git
5670
5671   git_pillar_env
5672       New in version 2015.8.0.
5673
5674
5675       Default: '' (unset)
5676
5677       Environment  to  use  for  git_pillar remotes. This is normally derived
5678       from the branch/tag (or from a per-remote env parameter),  but  if  set
5679       this  will override the process of deriving the env from the branch/tag
5680       name. For example, in the configuration below the foo branch  would  be
5681       assigned  to  the  base environment, while the bar branch would need to
5682       explicitly have bar configured as it's environment to keep it from also
5683       being mapped to the base environment.
5684
5685          git_pillar_env: base
5686
5687          ext_pillar:
5688            - git:
5689              - foo https://mygitserver/git-pillar.git
5690              - bar https://mygitserver/git-pillar.git:
5691                - env: bar
5692
5693       For  this  reason,  this option is recommended to be left unset, unless
5694       the use case calls for all (or almost all) of the git_pillar remotes to
5695       use the same environment irrespective of the branch/tag being used.
5696
5697   git_pillar_root
5698       New in version 2015.8.0.
5699
5700
5701       Default: ''
5702
5703       Path  relative  to  the root of the repository where the git_pillar top
5704       file and SLS files are located. In the below configuration, the  pillar
5705       top  file  and  SLS  files would be looked for in a subdirectory called
5706       pillar.
5707
5708          git_pillar_root: pillar
5709
5710          ext_pillar:
5711            - git:
5712              - master https://mygitserver/pillar1.git
5713              - master https://mygitserver/pillar2.git
5714
5715       NOTE:
5716          This is a global option. If only one or two repos need to have their
5717          files sourced from a subdirectory, then git_pillar_root can be omit‐
5718          ted and the root can be specified on a per-remote basis, like so:
5719
5720              ext_pillar:
5721                - git:
5722                  - master https://mygitserver/pillar1.git
5723                  - master https://mygitserver/pillar2.git:
5724                    - root: pillar
5725
5726          In this example, for the first remote the top  file  and  SLS  files
5727          would be looked for in the root of the repository, while in the sec‐
5728          ond remote the pillar data would be retrieved from the pillar subdi‐
5729          rectory.
5730
5731   git_pillar_ssl_verify
5732       New in version 2015.8.0.
5733
5734
5735       Changed in version 2016.11.0.
5736
5737
5738       Default: False
5739
5740       Specifies whether or not to ignore SSL certificate errors when contact‐
5741       ing the remote repository. The False setting is useful if you're  using
5742       a  git  repo that uses a self-signed certificate. However, keep in mind
5743       that setting this to anything other True is a considered insecure,  and
5744       using an SSH-based transport (if available) may be a better option.
5745
5746       In  the  2016.11.0 release, the default config value changed from False
5747       to True.
5748
5749          git_pillar_ssl_verify: True
5750
5751       NOTE:
5752          pygit2 only supports disabling SSL verification in  versions  0.23.2
5753          and newer.
5754
5755   git_pillar_global_lock
5756       New in version 2015.8.9.
5757
5758
5759       Default: True
5760
5761       When set to False, if there is an update/checkout lock for a git_pillar
5762       remote and the pid written to it is not running on the master, the lock
5763       file  will  be  automatically  cleared and a new lock will be obtained.
5764       When set to True, Salt will simply log a warning when there is an  lock
5765       present.
5766
5767       On  single-master deployments, disabling this option can help automati‐
5768       cally deal with instances where the master was shutdown/restarted  dur‐
5769       ing  the  middle  of  a  git_pillar  update/checkout, leaving a lock in
5770       place.
5771
5772       However, on  multi-master  deployments  with  the  git_pillar  cachedir
5773       shared  via  GlusterFS,  nfs,  or  another  network  filesystem,  it is
5774       strongly recommended not to disable this option as doing so will  cause
5775       lock files to be removed if they were created by a different master.
5776
5777          # Disable global lock
5778          git_pillar_global_lock: False
5779
5780   git_pillar_includes
5781       New in version 2017.7.0.
5782
5783
5784       Default: True
5785
5786       Normally,  when  processing  git_pillar  remotes, if more than one repo
5787       under the same git section in the ext_pillar  configuration  refers  to
5788       the same pillar environment, then each repo in a given environment will
5789       have access to the other repos' files to be  referenced  in  their  top
5790       files.  However,  it  may be desirable to disable this behavior. If so,
5791       set this value to False.
5792
5793       For a more detailed examination of how includes work, see this explana‐
5794       tion from the git_pillar documentation.
5795
5796          git_pillar_includes: False
5797
5798   git_pillar_update_interval
5799       New in version 3000.
5800
5801
5802       Default: 60
5803
5804       This  option  defines  the  default  update  interval  (in seconds) for
5805       git_pillar remotes. The update is handled within the global loop, hence
5806       git_pillar_update_interval should be a multiple of loop_interval.
5807
5808          git_pillar_update_interval: 120
5809
5810   Git External Pillar Authentication Options
5811       These    parameters    only    currently    apply    to    the   pygit2
5812       git_pillar_provider. Authentication works the same as it does in gitfs,
5813       as  outlined  in the GitFS Walkthrough, though the global configuration
5814       options are named differently to reflect that they are  for  git_pillar
5815       instead of gitfs.
5816
5817   git_pillar_user
5818       New in version 2015.8.0.
5819
5820
5821       Default: ''
5822
5823       Along  with  git_pillar_password,  is  used  to  authenticate  to HTTPS
5824       remotes.
5825
5826          git_pillar_user: git
5827
5828   git_pillar_password
5829       New in version 2015.8.0.
5830
5831
5832       Default: ''
5833
5834       Along with git_pillar_user, is used to authenticate to  HTTPS  remotes.
5835       This parameter is not required if the repository does not use authenti‐
5836       cation.
5837
5838          git_pillar_password: mypassword
5839
5840   git_pillar_insecure_auth
5841       New in version 2015.8.0.
5842
5843
5844       Default: False
5845
5846       By default, Salt will not authenticate to an HTTP  (non-HTTPS)  remote.
5847       This  parameter  enables  authentication over HTTP. Enable this at your
5848       own risk.
5849
5850          git_pillar_insecure_auth: True
5851
5852   git_pillar_pubkey
5853       New in version 2015.8.0.
5854
5855
5856       Default: ''
5857
5858       Along with git_pillar_privkey (and  optionally  git_pillar_passphrase),
5859       is used to authenticate to SSH remotes.
5860
5861          git_pillar_pubkey: /path/to/key.pub
5862
5863   git_pillar_privkey
5864       New in version 2015.8.0.
5865
5866
5867       Default: ''
5868
5869       Along with git_pillar_pubkey (and optionally git_pillar_passphrase), is
5870       used to authenticate to SSH remotes.
5871
5872          git_pillar_privkey: /path/to/key
5873
5874   git_pillar_passphrase
5875       New in version 2015.8.0.
5876
5877
5878       Default: ''
5879
5880       This parameter is optional, required only when the SSH key  being  used
5881       to authenticate is protected by a passphrase.
5882
5883          git_pillar_passphrase: mypassphrase
5884
5885   git_pillar_refspecs
5886       New in version 2017.7.0.
5887
5888
5889       Default:                        ['+refs/heads/*:refs/remotes/origin/*',
5890       '+refs/tags/*:refs/tags/*']
5891
5892       When fetching from remote repositories,  by  default  Salt  will  fetch
5893       branches  and  tags. This parameter can be used to override the default
5894       and specify alternate refspecs to be fetched. This parameter works sim‐
5895       ilarly  to  its  GitFS  counterpart,  in that it can be configured both
5896       globally and for individual remotes.
5897
5898          git_pillar_refspecs:
5899            - '+refs/heads/*:refs/remotes/origin/*'
5900            - '+refs/tags/*:refs/tags/*'
5901            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
5902            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
5903
5904   git_pillar_verify_config
5905       New in version 2017.7.0.
5906
5907
5908       Default: True
5909
5910       By default, as the master starts it performs some sanity checks on  the
5911       configured  git_pillar repositories. If any of these sanity checks fail
5912       (such as when an invalid configuration is used), the master daemon will
5913       abort.
5914
5915       To skip these sanity checks, set this option to False.
5916
5917          git_pillar_verify_config: False
5918
5919   Pillar Merging Options
5920   pillar_source_merging_strategy
5921       New in version 2014.7.0.
5922
5923
5924       Default: smart
5925
5926       The pillar_source_merging_strategy option allows you to configure merg‐
5927       ing strategy between different sources. It accepts 5 values:
5928
5929       · none:
5930
5931         It will not do any merging at all and only parse the pillar data from
5932         the passed environment and 'base' if no environment was specified.
5933
5934         New in version 2016.3.4.
5935
5936
5937       · recurse:
5938
5939         It will recursively merge data. For example, theses 2 sources:
5940
5941            foo: 42
5942            bar:
5943                element1: True
5944
5945            bar:
5946                element2: True
5947            baz: quux
5948
5949         will be merged as:
5950
5951            foo: 42
5952            bar:
5953                element1: True
5954                element2: True
5955            baz: quux
5956
5957       · aggregate:
5958
5959         instructs aggregation of elements between sources that use the #!yam‐
5960         lex renderer.
5961
5962         For example, these two documents:
5963
5964            #!yamlex
5965            foo: 42
5966            bar: !aggregate {
5967              element1: True
5968            }
5969            baz: !aggregate quux
5970
5971            #!yamlex
5972            bar: !aggregate {
5973              element2: True
5974            }
5975            baz: !aggregate quux2
5976
5977         will be merged as:
5978
5979            foo: 42
5980            bar:
5981              element1: True
5982              element2: True
5983            baz:
5984              - quux
5985              - quux2
5986
5987       · overwrite:
5988
5989         Will use the behaviour of the 2014.1 branch and earlier.
5990
5991         Overwrites elements according the order in which they are processed.
5992
5993         First pillar processed:
5994
5995            A:
5996              first_key: blah
5997              second_key: blah
5998
5999         Second pillar processed:
6000
6001            A:
6002              third_key: blah
6003              fourth_key: blah
6004
6005         will be merged as:
6006
6007            A:
6008              third_key: blah
6009              fourth_key: blah
6010
6011       · smart (default):
6012
6013         Guesses the best strategy based on the "renderer" setting.
6014
6015       NOTE:
6016          In order for yamlex based features such as  !aggregate  to  work  as
6017          expected  across  documents  using the default smart merge strategy,
6018          the renderer config option must be set to jinja|yamlex or similar.
6019
6020   pillar_merge_lists
6021       New in version 2015.8.0.
6022
6023
6024       Default: False
6025
6026       Recursively merge lists by aggregating them instead of replacing them.
6027
6028          pillar_merge_lists: False
6029
6030   pillar_includes_override_sls
6031       New in version 2017.7.6,2018.3.1.
6032
6033
6034       Default: False
6035
6036       Prior to version 2017.7.3, keys from pillar includes would be merged on
6037       top of the pillar SLS. Since 2017.7.3, the includes are merged together
6038       and then the pillar SLS is merged on top of that.
6039
6040       Set this option to True to return to the old behavior.
6041
6042          pillar_includes_override_sls: True
6043
6044   Pillar Cache Options
6045   pillar_cache
6046       New in version 2015.8.8.
6047
6048
6049       Default: False
6050
6051       A master can cache pillars locally to bypass the expense of  having  to
6052       render  them for each minion on every request. This feature should only
6053       be enabled in cases where pillar rendering time is known to be unsatis‐
6054       factory  and any attendant security concerns about storing pillars in a
6055       master cache have been addressed.
6056
6057       When enabling this feature, be certain to read through  the  additional
6058       pillar_cache_*  configuration  options  to fully understand the tunable
6059       parameters and their implications.
6060
6061          pillar_cache: False
6062
6063       NOTE:
6064          Setting pillar_cache: True has no effect on targeting  minions  with
6065          pillar.
6066
6067   pillar_cache_ttl
6068       New in version 2015.8.8.
6069
6070
6071       Default: 3600
6072
6073       If  and only if a master has set pillar_cache: True, the cache TTL con‐
6074       trols the amount of time, in seconds, before the  cache  is  considered
6075       invalid by a master and a fresh pillar is recompiled and stored.
6076
6077   pillar_cache_backend
6078       New in version 2015.8.8.
6079
6080
6081       Default: disk
6082
6083       If an only if a master has set pillar_cache: True, one of several stor‐
6084       age providers can be utilized:
6085
6086       · disk (default):
6087
6088         The default storage backend. This caches rendered pillars to the mas‐
6089         ter  cache.  Rendered pillars are serialized and deserialized as msg‐
6090         pack structures for speed.  Note that pillars are stored UNENCRYPTED.
6091         Ensure  that the master cache has permissions set appropriately (sane
6092         defaults are provided).
6093
6094       · memory [EXPERIMENTAL]:
6095
6096         An optional backend  for  pillar  caches  which  uses  a  pure-Python
6097         in-memory  data  structure for maximal performance. There are several
6098         caveats, however. First, because each master worker contains its  own
6099         in-memory  cache,  there is no guarantee of cache consistency between
6100         minion requests. This works  best  in  situations  where  the  pillar
6101         rarely  if ever changes. Secondly, and perhaps more importantly, this
6102         means that unencrypted pillars will  be  accessible  to  any  process
6103         which  can examine the memory of the salt-master!  This may represent
6104         a substantial security risk.
6105
6106          pillar_cache_backend: disk
6107
6108   Master Reactor Settings
6109   reactor
6110       Default: []
6111
6112       Defines a salt reactor. See the Reactor documentation for more informa‐
6113       tion.
6114
6115          reactor:
6116            - 'salt/minion/*/start':
6117              - salt://reactor/startup_tasks.sls
6118
6119   reactor_refresh_interval
6120       Default: 60
6121
6122       The TTL for the cache of the reactor configuration.
6123
6124          reactor_refresh_interval: 60
6125
6126   reactor_worker_threads
6127       Default: 10
6128
6129       The number of workers for the runner/wheel in the reactor.
6130
6131          reactor_worker_threads: 10
6132
6133   reactor_worker_hwm
6134       Default: 10000
6135
6136       The queue size for workers in the reactor.
6137
6138          reactor_worker_hwm: 10000
6139
6140   Salt-API Master Settings
6141       There are some settings for salt-api that can be configured on the Salt
6142       Master.
6143
6144   api_logfile
6145       Default: /var/log/salt/api
6146
6147       The logfile location for salt-api.
6148
6149          api_logfile: /var/log/salt/api
6150
6151   api_pidfile
6152       Default: /var/run/salt-api.pid
6153
6154       If this master will be running salt-api, specify  the  pidfile  of  the
6155       salt-api daemon.
6156
6157          api_pidfile: /var/run/salt-api.pid
6158
6159   rest_timeout
6160       Default: 300
6161
6162       Used by salt-api for the master requests timeout.
6163
6164          rest_timeout: 300
6165
6166   Syndic Server Settings
6167       A Salt syndic is a Salt master used to pass commands from a higher Salt
6168       master to minions below the syndic. Using the syndic is simple. If this
6169       is  a  master  that  will  have  syndic  servers(s)  below  it, set the
6170       order_masters setting to True.
6171
6172       If this  is  a  master  that  will  be  running  a  syndic  daemon  for
6173       passthrough  the  syndic_master setting needs to be set to the location
6174       of the master server.
6175
6176       Do not forget that, in other words, it means that it  shares  with  the
6177       local minion its ID and PKI directory.
6178
6179   order_masters
6180       Default: False
6181
6182       Extra data needs to be sent with publications if the master is control‐
6183       ling a lower level master via a syndic minion. If this is the case  the
6184       order_masters value must be set to True
6185
6186          order_masters: False
6187
6188   syndic_master
6189       Changed  in version 2016.3.5,2016.11.1: Set default higher level master
6190       address.
6191
6192
6193       Default: masterofmasters
6194
6195       If this master will be running the salt-syndic to connect to  a  higher
6196       level  master,  specify the higher level master with this configuration
6197       value.
6198
6199          syndic_master: masterofmasters
6200
6201       You can optionally connect a syndic to multiple higher level masters by
6202       setting the syndic_master value to a list:
6203
6204          syndic_master:
6205            - masterofmasters1
6206            - masterofmasters2
6207
6208       Each  higher  level  master must be set up in a multi-master configura‐
6209       tion.
6210
6211   syndic_master_port
6212       Default: 4506
6213
6214       If this master will be running the salt-syndic to connect to  a  higher
6215       level master, specify the higher level master port with this configura‐
6216       tion value.
6217
6218          syndic_master_port: 4506
6219
6220   syndic_pidfile
6221       Default: /var/run/salt-syndic.pid
6222
6223       If this master will be running the salt-syndic to connect to  a  higher
6224       level master, specify the pidfile of the syndic daemon.
6225
6226          syndic_pidfile: /var/run/syndic.pid
6227
6228   syndic_log_file
6229       Default: /var/log/salt/syndic
6230
6231       If  this  master will be running the salt-syndic to connect to a higher
6232       level master, specify the log file of the syndic daemon.
6233
6234          syndic_log_file: /var/log/salt-syndic.log
6235
6236   syndic_failover
6237       New in version 2016.3.0.
6238
6239
6240       Default: random
6241
6242       The behaviour of the multi-syndic when connection to a master  of  mas‐
6243       ters  failed.   Can specify random (default) or ordered. If set to ran‐
6244       dom, masters will be iterated in random order. If ordered is specified,
6245       the configured order will be used.
6246
6247          syndic_failover: random
6248
6249   syndic_wait
6250       Default: 5
6251
6252       The  number  of seconds for the salt client to wait for additional syn‐
6253       dics to check in with their lists of expected minions before giving up.
6254
6255          syndic_wait: 5
6256
6257   syndic_forward_all_events
6258       New in version 2017.7.0.
6259
6260
6261       Default: False
6262
6263       Option on multi-syndic or single when connected to multiple masters  to
6264       be able to send events to all connected masters.
6265
6266          syndic_forward_all_events: False
6267
6268   Peer Publish Settings
6269       Salt minions can send commands to other minions, but only if the minion
6270       is allowed to. By default "Peer  Publication"  is  disabled,  and  when
6271       enabled  it is enabled for specific minions and specific commands. This
6272       allows secure compartmentalization of commands based on individual min‐
6273       ions.
6274
6275   peer
6276       Default: {}
6277
6278       The  configuration uses regular expressions to match minions and then a
6279       list of regular expressions to  match  functions.  The  following  will
6280       allow  the minion authenticated as foo.example.com to execute functions
6281       from the test and pkg modules.
6282
6283          peer:
6284            foo.example.com:
6285                - test.*
6286                - pkg.*
6287
6288       This will allow all minions to execute all commands:
6289
6290          peer:
6291            .*:
6292                - .*
6293
6294       This is not recommended, since it would allow anyone who gets  root  on
6295       any single minion to instantly have root on all of the minions!
6296
6297       By  adding  an additional layer you can limit the target hosts in addi‐
6298       tion to the accessible commands:
6299
6300          peer:
6301            foo.example.com:
6302              'db*':
6303                - test.*
6304                - pkg.*
6305
6306   peer_run
6307       Default: {}
6308
6309       The peer_run option is used to open up runners on the master to  access
6310       from  the minions. The peer_run configuration matches the format of the
6311       peer configuration.
6312
6313       The following example would allow foo.example.com to execute  the  man‐
6314       age.up runner:
6315
6316          peer_run:
6317            foo.example.com:
6318                - manage.up
6319
6320   Master Logging Settings
6321   log_file
6322       Default: /var/log/salt/master
6323
6324       The  master log can be sent to a regular file, local path name, or net‐
6325       work location. See also log_file.
6326
6327       Examples:
6328
6329          log_file: /var/log/salt/master
6330
6331          log_file: file:///dev/log
6332
6333          log_file: udp://loghost:10514
6334
6335   log_level
6336       Default: warning
6337
6338       The level of messages to send to the console. See also log_level.
6339
6340          log_level: warning
6341
6342   log_level_logfile
6343       Default: warning
6344
6345       The level of messages to send to the log file. See also  log_level_log‐
6346       file.  When  it  is not set explicitly it will inherit the level set by
6347       log_level option.
6348
6349          log_level_logfile: warning
6350
6351   log_datefmt
6352       Default: %H:%M:%S
6353
6354       The date and time  format  used  in  console  log  messages.  See  also
6355       log_datefmt.
6356
6357          log_datefmt: '%H:%M:%S'
6358
6359   log_datefmt_logfile
6360       Default: %Y-%m-%d %H:%M:%S
6361
6362       The  date  and  time  format  used  in  log  file  messages.  See  also
6363       log_datefmt_logfile.
6364
6365          log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
6366
6367   log_fmt_console
6368       Default: [%(levelname)-8s] %(message)s
6369
6370       The format of the console logging messages. See also log_fmt_console.
6371
6372       NOTE:
6373          Log colors are enabled in log_fmt_console rather than the color con‐
6374          fig since the logging system is loaded before the master config.
6375
6376          Console log colors are specified by these additional formatters:
6377
6378          %(colorlevel)s %(colorname)s %(colorprocess)s %(colormsg)s
6379
6380          Since  it  is desirable to include the surrounding brackets, '[' and
6381          ']', in the coloring of the messages, these  color  formatters  also
6382          include padding as well.  Color LogRecord attributes are only avail‐
6383          able for console logging.
6384
6385          log_fmt_console: '%(colorlevel)s %(colormsg)s'
6386          log_fmt_console: '[%(levelname)-8s] %(message)s'
6387
6388   log_fmt_logfile
6389       Default: %(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s]  %(mes‐
6390       sage)s
6391
6392       The format of the log file logging messages. See also log_fmt_logfile.
6393
6394          log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
6395
6396   log_granular_levels
6397       Default: {}
6398
6399       This  can be used to control logging levels more specifically. See also
6400       log_granular_levels.
6401
6402   log_rotate_max_bytes
6403       Default:  0
6404
6405       The maximum number of bytes a single log file may contain before it  is
6406       rotated.   A value of 0 disables this feature. Currently only supported
6407       on Windows. On other platforms, use an external tool  such  as  'logro‐
6408       tate' to manage log files.  log_rotate_max_bytes
6409
6410   log_rotate_backup_count
6411       Default:  0
6412
6413       The  number  of backup files to keep when rotating log files. Only used
6414       if log_rotate_max_bytes is greater than 0. Currently only supported  on
6415       Windows.  On  other platforms, use an external tool such as 'logrotate'
6416       to manage log files.  log_rotate_backup_count
6417
6418   Node Groups
6419   nodegroups
6420       Default: {}
6421
6422       Node groups allow for logical groupings of minion nodes.  A group  con‐
6423       sists of a group name and a compound target.
6424
6425          nodegroups:
6426            group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
6427            group2: 'G@os:Debian and foo.domain.com'
6428            group3: 'G@os:Debian and N@group1'
6429            group4:
6430              - 'G@foo:bar'
6431              - 'or'
6432              - 'G@foo:baz'
6433
6434       More information on using nodegroups can be found here.
6435
6436   Range Cluster Settings
6437   range_server
6438       Default: 'range:80'
6439
6440       The  range server (and optional port) that serves your cluster informa‐
6441       tion
6442       https://github.com/ytoolshed/range/wiki/%22yamlfile%22-module-file-spec
6443
6444          range_server: range:80
6445
6446   Include Configuration
6447       Configuration  can  be  loaded  from multiple files. The order in which
6448       this is done is:
6449
6450       1. The master config file itself
6451
6452       2. The files matching the glob in default_include
6453
6454       3. The files matching the glob in include (if defined)
6455
6456       Each successive step overrides  any  values  defined  in  the  previous
6457       steps.    Therefore,   any   config  options  defined  in  one  of  the
6458       default_include files would override the same value in the master  con‐
6459       fig file, and any options defined in include would override both.
6460
6461   default_include
6462       Default: master.d/*.conf
6463
6464       The  master can include configuration from other files. Per default the
6465       master will automatically include all config files from master.d/*.conf
6466       where master.d is relative to the directory of the master configuration
6467       file.
6468
6469       NOTE:
6470          Salt creates files in the master.d directory for its own use.  These
6471          files  are  prefixed with an underscore. A common example of this is
6472          the _schedule.conf file.
6473
6474   include
6475       Default: not defined
6476
6477       The master can include configuration from other files. To enable  this,
6478       pass  a  list of paths to this option. The paths can be either relative
6479       or absolute; if relative, they are considered to  be  relative  to  the
6480       directory  the  main minion configuration file lives in. Paths can make
6481       use of shell-style globbing. If no files are matched by a  path  passed
6482       to this option then the master will log a warning message.
6483
6484          # Include files from a master.d directory in the same
6485          # directory as the master config file
6486          include: master.d/*
6487
6488          # Include a single extra file into the configuration
6489          include: /etc/roles/webserver
6490
6491          # Include several files and the master.d directory
6492          include:
6493            - extra_config
6494            - master.d/*
6495            - /etc/roles/webserver
6496
6497   Keepalive Settings
6498   tcp_keepalive
6499       Default: True
6500
6501       The  tcp  keepalive  interval  to set on TCP ports. This setting can be
6502       used to tune Salt connectivity issues  in  messy  network  environments
6503       with misbehaving firewalls.
6504
6505          tcp_keepalive: True
6506
6507   tcp_keepalive_cnt
6508       Default: -1
6509
6510       Sets  the  ZeroMQ  TCP keepalive count. May be used to tune issues with
6511       minion disconnects.
6512
6513          tcp_keepalive_cnt: -1
6514
6515   tcp_keepalive_idle
6516       Default: 300
6517
6518       Sets ZeroMQ TCP keepalive idle. May be used to tune issues with  minion
6519       disconnects.
6520
6521          tcp_keepalive_idle: 300
6522
6523   tcp_keepalive_intvl
6524       Default: -1
6525
6526       Sets  ZeroMQ  TCP  keepalive  interval. May be used to tune issues with
6527       minion disconnects.
6528
6529          tcp_keepalive_intvl': -1
6530
6531   Windows Software Repo Settings
6532   winrepo_provider
6533       New in version 2015.8.0.
6534
6535
6536       Specify the provider to be used for winrepo. Must be either  pygit2  or
6537       gitpython.  If  unset,  then both will be tried in that same order, and
6538       the first one with a compatible version installed will be the  provider
6539       that is used.
6540
6541          winrepo_provider: gitpython
6542
6543   winrepo_dir
6544       Changed in version 2015.8.0: Renamed from win_repo to winrepo_dir.
6545
6546
6547       Default: /srv/salt/win/repo
6548
6549       Location  on  the  master where the winrepo_remotes are checked out for
6550       pre-2015.8.0 minions. 2015.8.0 and later minions use winrepo_remotes_ng
6551       instead.
6552
6553          winrepo_dir: /srv/salt/win/repo
6554
6555   winrepo_dir_ng
6556       New in version 2015.8.0: A new ng repo was added.
6557
6558
6559       Default: /srv/salt/win/repo-ng
6560
6561       Location on the master where the winrepo_remotes_ng are checked out for
6562       2015.8.0 and later minions.
6563
6564          winrepo_dir_ng: /srv/salt/win/repo-ng
6565
6566   winrepo_cachefile
6567       Changed in version 2015.8.0: Renamed from  win_repo_mastercachefile  to
6568       winrepo_cachefile
6569
6570
6571       NOTE:
6572          2015.8.0  and  later  minions  do  not  use  this  setting since the
6573          cachefile is now generated by the minion.
6574
6575       Default: winrepo.p
6576
6577       Path relative to winrepo_dir where the winrepo cache should be created.
6578
6579          winrepo_cachefile: winrepo.p
6580
6581   winrepo_remotes
6582       Changed  in  version  2015.8.0:  Renamed  from  win_gitrepos  to   win‐
6583       repo_remotes.
6584
6585
6586       Default: ['https://github.com/saltstack/salt-winrepo.git']
6587
6588       List  of  git  repositories  to checkout and include in the winrepo for
6589       pre-2015.8.0 minions. 2015.8.0 and later minions use winrepo_remotes_ng
6590       instead.
6591
6592          winrepo_remotes:
6593            - https://github.com/saltstack/salt-winrepo.git
6594
6595       To  specify  a specific revision of the repository, prepend a commit ID
6596       to the URL of the repository:
6597
6598          winrepo_remotes:
6599            - '<commit_id> https://github.com/saltstack/salt-winrepo.git'
6600
6601       Replace <commit_id> with the SHA1 hash of a  commit  ID.  Specifying  a
6602       commit  ID is useful in that it allows one to revert back to a previous
6603       version in the event that an error is introduced in the latest revision
6604       of the repo.
6605
6606   winrepo_remotes_ng
6607       New in version 2015.8.0: A new ng repo was added.
6608
6609
6610       Default: ['https://github.com/saltstack/salt-winrepo-ng.git']
6611
6612       List  of  git  repositories  to checkout and include in the winrepo for
6613       2015.8.0 and later minions.
6614
6615          winrepo_remotes_ng:
6616            - https://github.com/saltstack/salt-winrepo-ng.git
6617
6618       To specify a specific revision of the repository, prepend a  commit  ID
6619       to the URL of the repository:
6620
6621          winrepo_remotes_ng:
6622            - '<commit_id> https://github.com/saltstack/salt-winrepo-ng.git'
6623
6624       Replace  <commit_id>  with  the  SHA1 hash of a commit ID. Specifying a
6625       commit ID is useful in that it allows one to revert back to a  previous
6626       version in the event that an error is introduced in the latest revision
6627       of the repo.
6628
6629   winrepo_branch
6630       New in version 2015.8.0.
6631
6632
6633       Default: master
6634
6635       If the branch is omitted from a winrepo remote, then this  branch  will
6636       be used instead. For example, in the configuration below, the first two
6637       remotes would use the winrepo branch/tag, while the third would use the
6638       foo branch/tag.
6639
6640          winrepo_branch: winrepo
6641
6642          winrepo_remotes:
6643            - https://mygitserver/winrepo1.git
6644            - https://mygitserver/winrepo2.git:
6645            - foo https://mygitserver/winrepo3.git
6646
6647   winrepo_ssl_verify
6648       New in version 2015.8.0.
6649
6650
6651       Changed in version 2016.11.0.
6652
6653
6654       Default: False
6655
6656       Specifies whether or not to ignore SSL certificate errors when contact‐
6657       ing the remote repository. The  False setting is useful if you're using
6658       a  git  repo that uses a self-signed certificate. However, keep in mind
6659       that setting this to anything other True is a considered insecure,  and
6660       using an SSH-based transport (if available) may be a better option.
6661
6662       In  the  2016.11.0 release, the default config value changed from False
6663       to True.
6664
6665          winrepo_ssl_verify: True
6666
6667   Winrepo Authentication Options
6668       These parameters only currently apply to the  pygit2  winrepo_provider.
6669       Authentication  works  the same as it does in gitfs, as outlined in the
6670       GitFS Walkthrough, though the global configuration  options  are  named
6671       differently to reflect that they are for winrepo instead of gitfs.
6672
6673   winrepo_user
6674       New in version 2015.8.0.
6675
6676
6677       Default: ''
6678
6679       Along with winrepo_password, is used to authenticate to HTTPS remotes.
6680
6681          winrepo_user: git
6682
6683   winrepo_password
6684       New in version 2015.8.0.
6685
6686
6687       Default: ''
6688
6689       Along with winrepo_user, is used to authenticate to HTTPS remotes. This
6690       parameter is not required if the repository does  not  use  authentica‐
6691       tion.
6692
6693          winrepo_password: mypassword
6694
6695   winrepo_insecure_auth
6696       New in version 2015.8.0.
6697
6698
6699       Default: False
6700
6701       By  default,  Salt will not authenticate to an HTTP (non-HTTPS) remote.
6702       This parameter enables authentication over HTTP. Enable  this  at  your
6703       own risk.
6704
6705          winrepo_insecure_auth: True
6706
6707   winrepo_pubkey
6708       New in version 2015.8.0.
6709
6710
6711       Default: ''
6712
6713       Along with winrepo_privkey (and optionally winrepo_passphrase), is used
6714       to authenticate to SSH remotes.
6715
6716          winrepo_pubkey: /path/to/key.pub
6717
6718   winrepo_privkey
6719       New in version 2015.8.0.
6720
6721
6722       Default: ''
6723
6724       Along with winrepo_pubkey (and optionally winrepo_passphrase), is  used
6725       to authenticate to SSH remotes.
6726
6727          winrepo_privkey: /path/to/key
6728
6729   winrepo_passphrase
6730       New in version 2015.8.0.
6731
6732
6733       Default: ''
6734
6735       This  parameter  is optional, required only when the SSH key being used
6736       to authenticate is protected by a passphrase.
6737
6738          winrepo_passphrase: mypassphrase
6739
6740   winrepo_refspecs
6741       New in version 2017.7.0.
6742
6743
6744       Default:                        ['+refs/heads/*:refs/remotes/origin/*',
6745       '+refs/tags/*:refs/tags/*']
6746
6747       When  fetching  from  remote  repositories,  by default Salt will fetch
6748       branches and tags. This parameter can be used to override  the  default
6749       and specify alternate refspecs to be fetched. This parameter works sim‐
6750       ilarly to its GitFS counterpart, in that  it  can  be  configured  both
6751       globally and for individual remotes.
6752
6753          winrepo_refspecs:
6754            - '+refs/heads/*:refs/remotes/origin/*'
6755            - '+refs/tags/*:refs/tags/*'
6756            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
6757            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
6758
6759   Configure Master on Windows
6760       The  master  on  Windows  requires no additional configuration. You can
6761       modify the master configuration by creating/editing the  master  config
6762       file  located  at  c:\salt\conf\master.  The same configuration options
6763       available on Linux are available in Windows, as long as they apply. For
6764       example,  SSH  options  wouldn't apply in Windows. The main differences
6765       are the file paths. If you are familiar with  common  salt  paths,  the
6766       following table may be useful:
6767
6768                        ┌────────────┬───────┬───────────────┐
6769                        │linux Paths │       │ Windows Paths │
6770                        ├────────────┼───────┼───────────────┤
6771/etc/salt   <---> c:\salt\conf  
6772                        ├────────────┼───────┼───────────────┤
6773/           <---> c:\salt       
6774                        └────────────┴───────┴───────────────┘
6775
6776       So,  for  example, the master config file in Linux is /etc/salt/master.
6777       In Windows the master config file  is  c:\salt\conf\master.  The  Linux
6778       path /etc/salt becomes c:\salt\conf in Windows.
6779
6780   Common File Locations
6781              ┌───────────────────────────┬───────────────────────────┐
6782              │Linux Paths                │ Windows Paths             │
6783              ├───────────────────────────┼───────────────────────────┤
6784conf_file:  /etc/salt/mas‐ conf_file:                
6785ter                        c:\salt\conf\master       
6786              └───────────────────────────┴───────────────────────────┘
6787
6788
6789
6790log_file:                  log_file:                 
6791/var/log/salt/master       c:\salt\var\log\salt\mas‐ 
6792              │                           │ ter                       
6793              ├───────────────────────────┼───────────────────────────┤
6794pidfile:                   pidfile:                  
6795/var/run/salt-master.pid   c:\salt\var\run\salt-mas‐ 
6796              │                           │ ter.pid                   
6797              └───────────────────────────┴───────────────────────────┘
6798
6799   Common Directories
6800               ┌───────────────────────┬─────────────────────────────┐
6801               │Linux Paths            │ Windows Paths               │
6802               ├───────────────────────┼─────────────────────────────┤
6803cachedir:              cachedir:                   
6804/var/cache/salt/master c:\salt\var\cache\salt\mas‐ 
6805               │                       │ ter                         
6806               ├───────────────────────┼─────────────────────────────┤
6807extension_modules:     c:\salt\var\cache\salt\mas‐ 
6808/var/cache/salt/mas‐   ter\extmods                 
6809ter/extmods            │                             │
6810               ├───────────────────────┼─────────────────────────────┤
6811pki_dir:               pki_dir:                    
6812/etc/salt/pki/master   c:\salt\conf\pki\master     
6813               ├───────────────────────┼─────────────────────────────┤
6814root_dir: /            root_dir: c:\salt           
6815               ├───────────────────────┼─────────────────────────────┤
6816sock_dir:              sock_dir:                   
6817/var/run/salt/master   c:\salt\var\run\salt\master 
6818               └───────────────────────┴─────────────────────────────┘
6819
6820   Roots
6821       file_roots
6822
6823                       ┌──────────────┬──────────────────────┐
6824                       │Linux Paths   │ Windows Paths        │
6825                       ├──────────────┼──────────────────────┤
6826/srv/salt     c:\salt\srv\salt     
6827                       ├──────────────┼──────────────────────┤
6828/srv/spm/salt c:\salt\srv\spm\salt 
6829                       └──────────────┴──────────────────────┘
6830
6831       pillar_roots
6832
6833                     ┌────────────────┬────────────────────────┐
6834                     │Linux Paths     │ Windows Paths          │
6835                     ├────────────────┼────────────────────────┤
6836/srv/pillar     c:\salt\srv\pillar     
6837                     ├────────────────┼────────────────────────┤
6838/srv/spm/pillar c:\salt\srv\spm\pillar 
6839                     └────────────────┴────────────────────────┘
6840
6841   Win Repo Settings
6842               ┌──────────────────────┬──────────────────────────────┐
6843               │Linux Paths           │ Windows Paths                │
6844               ├──────────────────────┼──────────────────────────────┤
6845winrepo_dir:          winrepo_dir:                 
6846/srv/salt/win/repo    c:\salt\srv\salt\win\repo    
6847               ├──────────────────────┼──────────────────────────────┤
6848winrepo_dir_ng:       winrepo_dir_ng:              
6849/srv/salt/win/repo-ng c:\salt\srv\salt\win\repo-ng 
6850               └──────────────────────┴──────────────────────────────┘
6851
6852   Configuring the Salt Minion
6853       The Salt system is amazingly simple and easy to configure. The two com‐
6854       ponents  of  the Salt system each have a respective configuration file.
6855       The salt-master is configured via the master  configuration  file,  and
6856       the salt-minion is configured via the minion configuration file.
6857
6858       SEE ALSO:
6859          example minion configuration file
6860
6861       The Salt Minion configuration is very simple. Typically, the only value
6862       that needs to be set is the master value so the minion knows  where  to
6863       locate its master.
6864
6865       By  default, the salt-minion configuration will be in /etc/salt/minion.
6866       A notable exception is FreeBSD, where  the  configuration  will  be  in
6867       /usr/local/etc/salt/minion.
6868
6869   Minion Primary Configuration
6870   master
6871       Default: salt
6872
6873       The hostname or IP address of the master. See ipv6 for IPv6 connections
6874       to the master.
6875
6876       Default: salt
6877
6878          master: salt
6879
6880   master:port Syntax
6881       New in version 2015.8.0.
6882
6883
6884       The master config option can also be set to use the master's IP in con‐
6885       junction with a port number by default.
6886
6887          master: localhost:1234
6888
6889       For IPv6 formatting with a port, remember to add brackets around the IP
6890       address before adding the port and enclose the line in single quotes to
6891       make it a string:
6892
6893          master: '[2001:db8:85a3:8d3:1319:8a2e:370:7348]:1234'
6894
6895       NOTE:
6896          If  a  port  is  specified in the master as well as master_port, the
6897          master_port setting will be overridden by the master configuration.
6898
6899   List of Masters Syntax
6900       The option can also be set to a list of masters, enabling  multi-master
6901       mode.
6902
6903          master:
6904            - address1
6905            - address2
6906
6907       Changed  in version 2014.7.0: The master can be dynamically configured.
6908       The master value can be set to an module function which  will  be  exe‐
6909       cuted and will assume that the returning value is the ip or hostname of
6910       the desired  master.  If  a  function  is  being  specified,  then  the
6911       master_type  option  must  be  set to func, to tell the minion that the
6912       value is a function to be run and not a fully-qualified domain name.
6913
6914          master: module.function
6915          master_type: func
6916
6917       In addition, instead of using multi-master mode, the minion can be con‐
6918       figured  to use the list of master addresses as a failover list, trying
6919       the first address, then the second, etc. until the minion  successfully
6920       connects. To enable this behavior, set master_type to failover:
6921
6922          master:
6923            - address1
6924            - address2
6925          master_type: failover
6926
6927
6928   ipv6
6929       Default: None
6930
6931       Whether  the master should be connected over IPv6. By default salt min‐
6932       ion will try to automatically detect IPv6 connectivity to master.
6933
6934          ipv6: True
6935
6936   master_uri_format
6937       New in version 2015.8.0.
6938
6939
6940       Specify the format in which the master address will be evaluated. Valid
6941       options  are default or ip_only. If ip_only is specified, then the mas‐
6942       ter address will not be split into IP and PORT, so be sure that only an
6943       IP (or domain name) is set in the master configuration setting.
6944
6945          master_uri_format: ip_only
6946
6947   master_tops_first
6948       New in version 2018.3.0.
6949
6950
6951       Default: False
6952
6953       SLS  targets defined using the Master Tops system are normally executed
6954       after any matches defined in the Top File. Set this option to  True  to
6955       have the minion execute the Master Tops states first.
6956
6957          master_tops_first: True
6958
6959   master_type
6960       New in version 2014.7.0.
6961
6962
6963       Default: str
6964
6965       The type of the master variable. Can be str, failover, func or disable.
6966
6967          master_type: failover
6968
6969       If  this  option  is  set  to failover, master must be a list of master
6970       addresses. The minion will then try each master in the order  specified
6971       in the list until it successfully connects.  master_alive_interval must
6972       also be set, this determines how often the minion will verify the pres‐
6973       ence of the master.
6974
6975          master_type: func
6976
6977       If  the master needs to be dynamically assigned by executing a function
6978       instead of reading in the static master value, set this to  func.  This
6979       can  be  used  to  manage the minion's master setting from an execution
6980       module. By simply changing the algorithm in the module to return a  new
6981       master  ip/fqdn, restart the minion and it will connect to the new mas‐
6982       ter.
6983
6984       As of version 2016.11.0 this option can be set to disable and the  min‐
6985       ion  will  never attempt to talk to the master. This is useful for run‐
6986       ning a masterless minion daemon.
6987
6988          master_type: disable
6989
6990   max_event_size
6991       New in version 2014.7.0.
6992
6993
6994       Default: 1048576
6995
6996       Passing very large events can cause the minion to consume large amounts
6997       of  memory. This value tunes the maximum size of a message allowed onto
6998       the minion event bus. The value is expressed in bytes.
6999
7000          max_event_size: 1048576
7001
7002   enable_legacy_startup_events
7003       New in version 2019.2.0.
7004
7005
7006       Default: True
7007
7008       When a minion starts up it sends a notification on the event bus with a
7009       tag that looks like this: salt/minion/<minion_id>/start. For historical
7010       reasons the minion also sends a similar event with an  event  tag  like
7011       this:  minion_start. This duplication can cause a lot of clutter on the
7012       event     bus     when     there     are     many     minions.      Set
7013       enable_legacy_startup_events: False in the minion config to ensure only
7014       the salt/minion/<minion_id>/start events are sent. Beginning  with  the
7015       Sodium Salt release this option will default to False.
7016
7017          enable_legacy_startup_events: True
7018
7019   master_failback
7020       New in version 2016.3.0.
7021
7022
7023       Default: False
7024
7025       If the minion is in multi-master mode and the :conf_minion`master_type`
7026       configuration option is set to failover, this setting  can  be  set  to
7027       True  to  force the minion to fail back to the first master in the list
7028       if the first master is back online.
7029
7030          master_failback: False
7031
7032   master_failback_interval
7033       New in version 2016.3.0.
7034
7035
7036       Default: 0
7037
7038       If the minion is in multi-master  mode,  the  :conf_minion`master_type`
7039       configuration  is  set  to  failover, and the master_failback option is
7040       enabled, the master failback interval can be set to ping the top master
7041       with this interval, in seconds.
7042
7043          master_failback_interval: 0
7044
7045   master_alive_interval
7046       Default: 0
7047
7048       Configures  how often, in seconds, the minion will verify that the cur‐
7049       rent master is alive and responding.  The minion will try to  establish
7050       a  connection  to  the next master in the list if it finds the existing
7051       one is dead.
7052
7053          master_alive_interval: 30
7054
7055   master_shuffle
7056       New in version 2014.7.0.
7057
7058
7059       Deprecated since version 2019.2.0.
7060
7061
7062       Default: False
7063
7064       WARNING:
7065          This option  has  been  deprecated  in  Salt  2019.2.0.  Please  use
7066          random_master instead.
7067
7068          master_shuffle: True
7069
7070   random_master
7071       New in version 2014.7.0.
7072
7073
7074       Changed  in version 2019.2.0: The master_failback option can be used in
7075       conjunction with random_master to force the minion to fail back to  the
7076       first  master in the list if the first master is back online. Note that
7077       master_type must be set to failover in order  for  the  master_failback
7078       setting to work.
7079
7080
7081       Default: False
7082
7083       If master is a list of addresses, shuffle them before trying to connect
7084       to distribute  the  minions  over  all  available  masters.  This  uses
7085       Python's random.shuffle method.
7086
7087       If  multiple  masters  are specified in the 'master' setting as a list,
7088       the default behavior is to always try to connect to them in  the  order
7089       they  are  listed.  If  random_master is set to True, the order will be
7090       randomized instead upon Minion startup. This can  be  helpful  in  dis‐
7091       tributing  the  load  of many minions executing salt-call requests, for
7092       example, from a cron job. If only one master is listed, this setting is
7093       ignored and a warning is logged.
7094
7095          random_master: True
7096
7097       NOTE:
7098          When  the  failover,  master_failback, and random_master options are
7099          used together, only the "secondary masters" will  be  shuffled.  The
7100          first  master in the list is ignored in the random.shuffle call. See
7101          master_failback for more information.
7102
7103   retry_dns
7104       Default: 30
7105
7106       Set the number of seconds to wait before attempting to resolve the mas‐
7107       ter  hostname if name resolution fails. Defaults to 30 seconds.  Set to
7108       zero if the minion should shutdown and not retry.
7109
7110          retry_dns: 30
7111
7112   retry_dns_count
7113       New in version 2018.3.4.
7114
7115
7116       Default: None
7117
7118       Set the number of attempts to perform when resolving the  master  host‐
7119       name if name resolution fails.  By default the minion will retry indef‐
7120       initely.
7121
7122          retry_dns_count: 3
7123
7124   master_port
7125       Default: 4506
7126
7127       The port of the master ret server, this  needs  to  coincide  with  the
7128       ret_port option on the Salt master.
7129
7130          master_port: 4506
7131
7132   publish_port
7133       Default: 4505
7134
7135       The  port of the master publish server, this needs to coincide with the
7136       publish_port option on the Salt master.
7137
7138          publish_port: 4505
7139
7140   source_interface_name
7141       New in version 2018.3.0.
7142
7143
7144       The name of the interface to use when establishing  the  connection  to
7145       the Master.
7146
7147       NOTE:
7148          If  multiple IP addresses are configured on the named interface, the
7149          first one will be selected. In that case, for  a  better  selection,
7150          consider using the source_address option.
7151
7152       NOTE:
7153          To  use  an  IPv6  address  from  the named interface, make sure the
7154          option ipv6 is enabled, i.e., ipv6: true.
7155
7156       NOTE:
7157          If the interface is down, it will avoid using  it,  and  the  Minion
7158          will bind to 0.0.0.0 (all interfaces).
7159
7160       WARNING:
7161          This option requires modern version of the underlying libraries used
7162          by the selected transport:
7163
7164          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7165
7166          · tcp requires tornado >= 4.5
7167
7168       Configuration example:
7169
7170          source_interface_name: bond0.1234
7171
7172   source_address
7173       New in version 2018.3.0.
7174
7175
7176       The source IP address or the domain name to be used when connecting the
7177       Minion to the Master.  See ipv6 for IPv6 connections to the Master.
7178
7179       WARNING:
7180          This option requires modern version of the underlying libraries used
7181          by the selected transport:
7182
7183          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7184
7185          · tcp requires tornado >= 4.5
7186
7187       Configuration example:
7188
7189          source_address: if-bond0-1234.sjc.us-west.internal
7190
7191   source_ret_port
7192       New in version 2018.3.0.
7193
7194
7195       The source port to be used when connecting the Minion to the Master ret
7196       server.
7197
7198       WARNING:
7199          This option requires modern version of the underlying libraries used
7200          by the selected transport:
7201
7202          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7203
7204          · tcp requires tornado >= 4.5
7205
7206       Configuration example:
7207
7208          source_ret_port: 49017
7209
7210   source_publish_port
7211       New in version 2018.3.0.
7212
7213
7214       The source port to be used when connecting the  Minion  to  the  Master
7215       publish server.
7216
7217       WARNING:
7218          This option requires modern version of the underlying libraries used
7219          by the selected transport:
7220
7221          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7222
7223          · tcp requires tornado >= 4.5
7224
7225       Configuration example:
7226
7227          source_publish_port: 49018
7228
7229   user
7230       Default: root
7231
7232       The user to run the Salt processes
7233
7234          user: root
7235
7236   sudo_user
7237       Default: ''
7238
7239       The user to run salt remote execution commands as  via  sudo.  If  this
7240       option is enabled then sudo will be used to change the active user exe‐
7241       cuting the remote command. If enabled the user will need to be  allowed
7242       access  via  the sudoers file for the user that the salt minion is con‐
7243       figured to run as. The most common option would  be  to  use  the  root
7244       user.  If  this  option  is set the user option should also be set to a
7245       non-root user. If migrating from a root minion to a non root minion the
7246       minion  cache  should be cleared and the minion pki directory will need
7247       to be changed to the ownership of the new user.
7248
7249          sudo_user: root
7250
7251   pidfile
7252       Default: /var/run/salt-minion.pid
7253
7254       The location of the daemon's process ID file
7255
7256          pidfile: /var/run/salt-minion.pid
7257
7258   root_dir
7259       Default: /
7260
7261       This  directory  is  prepended  to  the  following  options:   pki_dir,
7262       cachedir, log_file, sock_dir, and pidfile.
7263
7264          root_dir: /
7265
7266   conf_file
7267       Default: /etc/salt/minion
7268
7269       The path to the minion's configuration file.
7270
7271          conf_file: /etc/salt/minion
7272
7273   pki_dir
7274       Default: /etc/salt/pki/minion
7275
7276       The directory used to store the minion's public and private keys.
7277
7278          pki_dir: /etc/salt/pki/minion
7279
7280   id
7281       Default: the system's hostname
7282
7283       SEE ALSO:
7284          Salt Walkthrough
7285
7286          The  Setting  up a Salt Minion section contains detailed information
7287          on how the hostname is determined.
7288
7289       Explicitly declare the id for this  minion  to  use.  Since  Salt  uses
7290       detached ids it is possible to run multiple minions on the same machine
7291       but with different ids.
7292
7293          id: foo.bar.com
7294
7295   minion_id_caching
7296       New in version 0.17.2.
7297
7298
7299       Default: True
7300
7301       Caches the minion id to a file when the minion's id is  not  statically
7302       defined  in the minion config. This setting prevents potential problems
7303       when automatic minion id resolution changes, which can cause the minion
7304       to  lose connection with the master. To turn off minion id caching, set
7305       this config to False.
7306
7307       For more information, please see Issue #7558 and Pull Request #8488.
7308
7309          minion_id_caching: True
7310
7311   append_domain
7312       Default: None
7313
7314       Append a domain to a hostname in the event that it does not exist. This
7315       is  useful  for systems where socket.getfqdn() does not actually result
7316       in a FQDN (for instance, Solaris).
7317
7318          append_domain: foo.org
7319
7320   minion_id_remove_domain
7321       New in version 3000.
7322
7323
7324       Default: False
7325
7326       Remove a domain when the minion id is generated as  a  fully  qualified
7327       domain name (either by the user provided id_function, or by Salt). This
7328       is useful when the minions shall be named like hostnames. Can be a sin‐
7329       gle domain (to prevent name clashes), or True, to remove all domains.
7330
7331       Examples:
7332
7333              · minion_id_remove_domain  =  foo.org  - FQDN = king_bob.foo.org
7334                --> minion_id = king_bob - FQDN =  king_bob.bar.org  -->  min‐
7335                ion_id = king_bob.bar.org
7336
7337              · minion_id_remove_domain  =  True - FQDN = king_bob.foo.org -->
7338                minion_id = king_bob - FQDN = king_bob.bar.org --> minion_id =
7339                king_bob
7340
7341       For more information, please see issue #49212 and  PR #49378.
7342
7343          minion_id_remove_domain: foo.org
7344
7345   minion_id_lowercase
7346       Default: False
7347
7348       Convert minion id to lowercase when it is being generated. Helpful when
7349       some hosts get the minion id in uppercase. Cached ids will  remain  the
7350       same and not converted.
7351
7352          minion_id_lowercase: True
7353
7354   cachedir
7355       Default: /var/cache/salt/minion
7356
7357       The location for minion cache data.
7358
7359       This  directory  may  contain  sensitive  data  and should be protected
7360       accordingly.
7361
7362          cachedir: /var/cache/salt/minion
7363
7364   color_theme
7365       Default: ""
7366
7367       Specifies a path to the color theme to use  for  colored  command  line
7368       output.
7369
7370          color_theme: /etc/salt/color_theme
7371
7372   append_minionid_config_dirs
7373       Default:  []  (the  empty  list)  for regular minions, ['cachedir'] for
7374       proxy minions.
7375
7376       Append minion_id to these configuration directories.  Helps with multi‐
7377       ple  proxies  and minions running on the same machine. Allowed elements
7378       in the list: pki_dir, cachedir, extension_modules.  Normally not needed
7379       unless running several proxies and/or minions on the same machine.
7380
7381          append_minionid_config_dirs:
7382            - pki_dir
7383            - cachedir
7384
7385   verify_env
7386       Default: True
7387
7388       Verify and set permissions on configuration directories at startup.
7389
7390          verify_env: True
7391
7392       NOTE:
7393          When  set to True the verify_env option requires WRITE access to the
7394          configuration directory (/etc/salt/). In certain situations such  as
7395          mounting  /etc/salt/  as read-only for templating this will create a
7396          stack trace when state.apply is called.
7397
7398   cache_jobs
7399       Default: False
7400
7401       The minion can locally cache the return data from jobs sent to it, this
7402       can be a good way to keep track of the minion side of the jobs the min‐
7403       ion has executed. By default this feature is disabled,  to  enable  set
7404       cache_jobs to True.
7405
7406          cache_jobs: False
7407
7408   grains
7409       Default: (empty)
7410
7411       SEE ALSO:
7412          static-custom-grains
7413
7414       Statically assigns grains to the minion.
7415
7416          grains:
7417            roles:
7418              - webserver
7419              - memcache
7420            deployment: datacenter4
7421            cabinet: 13
7422            cab_u: 14-15
7423
7424   grains_blacklist
7425       Default: []
7426
7427       Each  grains  key  will  be compared against each of the expressions in
7428       this list.  Any keys which match will  be  filtered  from  the  grains.
7429       Exact matches, glob matches, and regular expressions are supported.
7430
7431       NOTE:
7432          Some  states  and  execution modules depend on grains. Filtering may
7433          cause them to be unavailable or run unreliably.
7434
7435       New in version 3000.
7436
7437
7438          grains_blacklist:
7439            - cpu_flags
7440            - zmq*
7441            - ipv[46]
7442
7443   grains_cache
7444       Default: False
7445
7446       The minion can locally cache grain data instead of refreshing the  data
7447       each time the grain is referenced. By default this feature is disabled,
7448       to enable set grains_cache to True.
7449
7450          grains_cache: False
7451
7452   grains_deep_merge
7453       New in version 2016.3.0.
7454
7455
7456       Default: False
7457
7458       The grains can be merged, instead of  overridden,  using  this  option.
7459       This  allows  custom grains to defined different subvalues of a dictio‐
7460       nary grain.  By  default  this  feature  is  disabled,  to  enable  set
7461       grains_deep_merge to True.
7462
7463          grains_deep_merge: False
7464
7465       For example, with these custom grains functions:
7466
7467          def custom1_k1():
7468              return {'custom1': {'k1': 'v1'}}
7469
7470          def custom1_k2():
7471              return {'custom1': {'k2': 'v2'}}
7472
7473       Without grains_deep_merge, the result would be:
7474
7475          custom1:
7476            k1: v1
7477
7478       With grains_deep_merge, the result will be:
7479
7480          custom1:
7481            k1: v1
7482            k2: v2
7483
7484   grains_refresh_every
7485       Default: 0
7486
7487       The  grains_refresh_every  setting  allows for a minion to periodically
7488       check its grains to see if they have changed and, if so, to inform  the
7489       master  of  the  new  grains.  This  operation is moderately expensive,
7490       therefore care should be taken not to set this value too low.
7491
7492       Note: This value is expressed in minutes.
7493
7494       A value of 10 minutes is a reasonable default.
7495
7496          grains_refresh_every: 0
7497
7498   metadata_server_grains
7499       New in version 2017.7.0.
7500
7501
7502       Default: False
7503
7504       Set  this  option  to  enable  gathering   of   cloud   metadata   from
7505       http://169.254.169.254/latest  for  use  in  grains  (see here for more
7506       information).
7507
7508          metadata_server_grains: True
7509
7510   fibre_channel_grains
7511       Default: False
7512
7513       The fibre_channel_grains setting will enable the fc_wwn grain for Fibre
7514       Channel  WWN's on the minion. Since this grain is expensive, it is dis‐
7515       abled by default.
7516
7517          fibre_channel_grains: True
7518
7519   iscsi_grains
7520       Default: False
7521
7522       The iscsi_grains setting will enable the iscsi_iqn grain on the minion.
7523       Since this grain is expensive, it is disabled by default.
7524
7525          iscsi_grains: True
7526
7527   nvme_grains
7528       Default: False
7529
7530       The  nvme_grains  setting will enable the nvme_nqn grain on the minion.
7531       Since this grain is expensive, it is disabled by default.
7532
7533          nvme_grains: True
7534
7535   mine_enabled
7536       New in version 2015.8.10.
7537
7538
7539       Default: True
7540
7541       Determines whether or not the salt minion  should  run  scheduled  mine
7542       updates.   If  this  is set to False then the mine update function will
7543       not get added to the scheduler for the minion.
7544
7545          mine_enabled: True
7546
7547   mine_return_job
7548       New in version 2015.8.10.
7549
7550
7551       Default: False
7552
7553       Determines whether or not scheduled mine updates should be  accompanied
7554       by a job return for the job cache.
7555
7556          mine_return_job: False
7557
7558   mine_functions
7559       Default: Empty
7560
7561       Designate which functions should be executed at mine_interval intervals
7562       on each minion.  See this documentation  on  the  Salt  Mine  for  more
7563       information.   Note  these can be defined in the pillar for a minion as
7564       well.
7565          example minion configuration file
7566
7567          mine_functions:
7568            test.ping: []
7569            network.ip_addrs:
7570              interface: eth0
7571              cidr: '10.0.0.0/8'
7572
7573   mine_interval
7574       Default: 60
7575
7576       The number of minutes between mine updates.
7577
7578          mine_interval: 60
7579
7580   sock_dir
7581       Default: /var/run/salt/minion
7582
7583       The directory where Unix sockets will be kept.
7584
7585          sock_dir: /var/run/salt/minion
7586
7587   enable_gpu_grains
7588       Default: True
7589
7590       Enable GPU hardware data for your master. Be aware that the minion  can
7591       take  a  while to start up when lspci and/or dmidecode is used to popu‐
7592       late the grains for the minion, so this can be set to False if  you  do
7593       not need these grains.
7594
7595          enable_gpu_grains: False
7596
7597   outputter_dirs
7598       Default: []
7599
7600       A list of additional directories to search for salt outputters in.
7601
7602          outputter_dirs: []
7603
7604   backup_mode
7605       Default: ''
7606
7607       Make  backups  of files replaced by file.managed and file.recurse state
7608       modules under cachedir in file_backup subdirectory preserving  original
7609       paths.  Refer to File State Backups documentation for more details.
7610
7611          backup_mode: minion
7612
7613   acceptance_wait_time
7614       Default: 10
7615
7616       The  number of seconds to wait until attempting to re-authenticate with
7617       the master.
7618
7619          acceptance_wait_time: 10
7620
7621   acceptance_wait_time_max
7622       Default: 0
7623
7624       The maximum number of seconds to wait until attempting to  re-authenti‐
7625       cate   with   the   master.   If   set,   the  wait  will  increase  by
7626       acceptance_wait_time seconds each iteration.
7627
7628          acceptance_wait_time_max: 0
7629
7630   rejected_retry
7631       Default: False
7632
7633       If the master rejects the minion's public key, retry instead  of  exit‐
7634       ing.  Rejected keys will be handled the same as waiting on acceptance.
7635
7636          rejected_retry: False
7637
7638   random_reauth_delay
7639       Default: 10
7640
7641       When  the  master key changes, the minion will try to re-auth itself to
7642       receive the new master key. In larger environments  this  can  cause  a
7643       syn-flood on the master because all minions try to re-auth immediately.
7644       To prevent this and have a minion wait for a random amount of time, use
7645       this  optional parameter. The wait-time will be a random number of sec‐
7646       onds between 0 and the defined value.
7647
7648          random_reauth_delay: 60
7649
7650   master_tries
7651       New in version 2016.3.0.
7652
7653
7654       Default: 1
7655
7656       The number of attempts to connect to a master  before  giving  up.  Set
7657       this  to  -1  for  unlimited attempts. This allows for a master to have
7658       downtime and the minion to reconnect to it later when it comes back up.
7659       In 'failover' mode, which is set in the master_type configuration, this
7660       value is the number of attempts for each set of masters. In this  mode,
7661       it will cycle through the list of masters for each attempt.
7662
7663       master_tries  is  different than auth_tries because auth_tries attempts
7664       to retry auth attempts with a single master. auth_tries  is  under  the
7665       assumption  that  you can connect to the master but not gain authoriza‐
7666       tion from it.  master_tries will still cycle through all of the masters
7667       in  a given try, so it is appropriate if you expect occasional downtime
7668       from the master(s).
7669
7670          master_tries: 1
7671
7672   auth_tries
7673       New in version 2014.7.0.
7674
7675
7676       Default: 7
7677
7678       The number of attempts to authenticate to a master  before  giving  up.
7679       Or,  more  technically,  the number of consecutive SaltReqTimeoutErrors
7680       that are acceptable when trying to authenticate to the master.
7681
7682          auth_tries: 7
7683
7684   auth_timeout
7685       New in version 2014.7.0.
7686
7687
7688       Default: 60
7689
7690       When waiting for a master to accept the minion's public key, salt  will
7691       continuously attempt to reconnect until successful. This is the timeout
7692       value, in seconds, for each  individual  attempt.  After  this  timeout
7693       expires,  the  minion will wait for acceptance_wait_time seconds before
7694       trying again.  Unless your master is under unusually heavy  load,  this
7695       should be left at the default.
7696
7697          auth_timeout: 60
7698
7699   auth_safemode
7700       New in version 2014.7.0.
7701
7702
7703       Default: False
7704
7705       If authentication fails due to SaltReqTimeoutError during a ping_inter‐
7706       val, this setting, when set to True, will cause a sub-minion process to
7707       restart.
7708
7709          auth_safemode: False
7710
7711   ping_interval
7712       Default: 0
7713
7714       Instructs  the  minion to ping its master(s) every n number of minutes.
7715       Used primarily as a mitigation technique against minion disconnects.
7716
7717          ping_interval: 0
7718
7719   random_startup_delay
7720       Default: 0
7721
7722       The maximum bound for an interval in which a minion will randomly sleep
7723       upon  starting  up prior to attempting to connect to a master. This can
7724       be used to splay connection  attempts  for  cases  where  many  minions
7725       starting up at once may place undue load on a master.
7726
7727       For  example, setting this to 5 will tell a minion to sleep for a value
7728       between 0 and 5 seconds.
7729
7730          random_startup_delay: 5
7731
7732   recon_default
7733       Default: 1000
7734
7735       The interval in milliseconds that the socket should wait before  trying
7736       to reconnect to the master (1000ms = 1 second).
7737
7738          recon_default: 1000
7739
7740   recon_max
7741       Default: 10000
7742
7743       The  maximum  time a socket should wait. Each interval the time to wait
7744       is calculated by doubling the previous time. If recon_max  is  reached,
7745       it starts again at the recon_default.
7746
7747       Short example:
7748
7749              · reconnect 1: the socket will wait 'recon_default' milliseconds
7750
7751              · reconnect 2: 'recon_default' * 2
7752
7753              · reconnect 3: ('recon_default' * 2) * 2
7754
7755              · reconnect 4: value from previous interval * 2
7756
7757              · reconnect 5: value from previous interval * 2
7758
7759              · reconnect  x:  if  value  >=  recon_max,  it starts again with
7760                recon_default
7761
7762          recon_max: 10000
7763
7764   recon_randomize
7765       Default: True
7766
7767       Generate a random wait time on minion start. The wait time  will  be  a
7768       random  value between recon_default and recon_default + recon_max. Hav‐
7769       ing all minions reconnect with the  same  recon_default  and  recon_max
7770       value  kind  of  defeats the purpose of being able to change these set‐
7771       tings. If all minions have the same values and the setup is quite large
7772       (several  thousand  minions),  they  will  still  flood the master. The
7773       desired behavior is to have time-frame within all minions try to recon‐
7774       nect.
7775
7776          recon_randomize: True
7777
7778   loop_interval
7779       Default: 1
7780
7781       The loop_interval sets how long in seconds the minion will wait between
7782       evaluating the scheduler and running cleanup tasks. This defaults to  1
7783       second on the minion scheduler.
7784
7785          loop_interval: 1
7786
7787   pub_ret
7788       Default: True
7789
7790       Some  installations  choose  to  start  all job returns in a cache or a
7791       returner and forgo sending the results back to a master. In this  work‐
7792       flow,  jobs  are most often executed with --async from the Salt CLI and
7793       then results are evaluated by examining job caches on  the  minions  or
7794       any  configured returners.  WARNING: Setting this to False will disable
7795       returns back to the master.
7796
7797          pub_ret: True
7798
7799   return_retry_timer
7800       Default: 5
7801
7802       The default timeout for a minion return attempt.
7803
7804          return_retry_timer: 5
7805
7806   return_retry_timer_max
7807       Default: 10
7808
7809       The maximum timeout for a minion return attempt. If non-zero the minion
7810       return  retry  timeout  will be a random int between return_retry_timer
7811       and return_retry_timer_max
7812
7813          return_retry_timer_max: 10
7814
7815   cache_sreqs
7816       Default: True
7817
7818       The connection to the master ret_port is kept open. When set to  False,
7819       the minion creates a new connection for every return to the master.
7820
7821          cache_sreqs: True
7822
7823   ipc_mode
7824       Default: ipc
7825
7826       Windows  platforms  lack  POSIX  IPC  and must rely on slower TCP based
7827       inter- process communications. ipc_mode is set to tcp on such systems.
7828
7829          ipc_mode: ipc
7830
7831   tcp_pub_port
7832       Default: 4510
7833
7834       Publish port used when ipc_mode is set to tcp.
7835
7836          tcp_pub_port: 4510
7837
7838   tcp_pull_port
7839       Default: 4511
7840
7841       Pull port used when ipc_mode is set to tcp.
7842
7843          tcp_pull_port: 4511
7844
7845   transport
7846       Default: zeromq
7847
7848       Changes the underlying  transport  layer.  ZeroMQ  is  the  recommended
7849       transport while additional transport layers are under development. Sup‐
7850       ported values are zeromq and tcp (experimental).  This  setting  has  a
7851       significant  impact on performance and should not be changed unless you
7852       know what you are doing!
7853
7854          transport: zeromq
7855
7856   syndic_finger
7857       Default: ''
7858
7859       The key fingerprint of the higher-level master for the syndic to verify
7860       it is talking to the intended master.
7861
7862          syndic_finger: 'ab:30:65:2a:d6:9e:20:4f:d8:b2:f3:a7:d4:65:50:10'
7863
7864   http_connect_timeout
7865       New in version 2019.2.0.
7866
7867
7868       Default: 20
7869
7870       HTTP  connection timeout in seconds.  Applied when fetching files using
7871       tornado back-end.  Should be greater than overall download time.
7872
7873          http_connect_timeout: 20
7874
7875   http_request_timeout
7876       New in version 2015.8.0.
7877
7878
7879       Default: 3600
7880
7881       HTTP request timeout in seconds.  Applied  when  fetching  files  using
7882       tornado back-end.  Should be greater than overall download time.
7883
7884          http_request_timeout: 3600
7885
7886   proxy_host
7887       Default: ''
7888
7889       The hostname used for HTTP proxy access.
7890
7891          proxy_host: proxy.my-domain
7892
7893   proxy_port
7894       Default: 0
7895
7896       The port number used for HTTP proxy access.
7897
7898          proxy_port: 31337
7899
7900   proxy_username
7901       Default: ''
7902
7903       The username used for HTTP proxy access.
7904
7905          proxy_username: charon
7906
7907   proxy_password
7908       Default: ''
7909
7910       The password used for HTTP proxy access.
7911
7912          proxy_password: obolus
7913
7914   no_proxy
7915       New in version 2019.2.0.
7916
7917
7918       Default: []
7919
7920       List of hosts to bypass HTTP proxy
7921
7922       NOTE:
7923          This  key  does nothing unless proxy_host etc is configured, it does
7924          not support any kind of wildcards.
7925
7926          no_proxy: [ '127.0.0.1', 'foo.tld' ]
7927
7928   use_yamlloader_old
7929       New in version 2019.2.1.
7930
7931
7932       Default: False
7933
7934       Use the pre-2019.2 YAML renderer.  Uses legacy YAML rendering  to  sup‐
7935       port  some  legacy  inline  data  structures.  See the 2019.2.1 release
7936       notes for more details.
7937
7938          use_yamlloader_old: False
7939
7940   Docker Configuration
7941   docker.update_mine
7942       New in version 2017.7.8,2018.3.3.
7943
7944
7945       Changed in version 2019.2.0: The default value is now False
7946
7947
7948       Default: True
7949
7950       If enabled, when containers are added, removed, stopped, started, etc.,
7951       the  mine  will  be  updated with the results of docker.ps verbose=True
7952       all=True host=True. This mine data is used by mine.get_docker. Set this
7953       option  to False to keep Salt from updating the mine with this informa‐
7954       tion.
7955
7956       NOTE:
7957          This option can also be set in Grains or Pillar  data,  with  Grains
7958          overriding Pillar and the minion config file overriding Grains.
7959
7960       NOTE:
7961          Disabling  this  will  of course keep mine.get_docker from returning
7962          any information for a given minion.
7963
7964          docker.update_mine: False
7965
7966   docker.compare_container_networks
7967       New in version 2018.3.0.
7968
7969
7970       Default: {'static': ['Aliases',  'Links',  'IPAMConfig'],  'automatic':
7971       ['IPAddress', 'Gateway', 'GlobalIPv6Address', 'IPv6Gateway']}
7972
7973       Specifies which keys are examined by docker.compare_container_networks.
7974
7975       NOTE:
7976          This  should  not  need  to be modified unless new features added to
7977          Docker result in new keys added to the network  configuration  which
7978          must  be compared to determine if two containers have different net‐
7979          work configs.  This config option exists solely as a  way  to  allow
7980          users to continue using Salt to manage their containers after an API
7981          change, without waiting for a new Salt release to catch  up  to  the
7982          changes in the Docker API.
7983
7984          docker.compare_container_networks:
7985            static:
7986              - Aliases
7987              - Links
7988              - IPAMConfig
7989            automatic:
7990              - IPAddress
7991              - Gateway
7992              - GlobalIPv6Address
7993              - IPv6Gateway
7994
7995   optimization_order
7996       Default: [0, 1, 2]
7997
7998       In  cases  where  Salt  is  distributed  without .py files, this option
7999       determines the priority of optimization level(s) Salt's  module  loader
8000       should prefer.
8001
8002       NOTE:
8003          This option is only supported on Python 3.5+.
8004
8005          optimization_order:
8006            - 2
8007            - 0
8008            - 1
8009
8010   Minion Execution Module Management
8011   disable_modules
8012       Default: [] (all execution modules are enabled by default)
8013
8014       The  event  may  occur in which the administrator desires that a minion
8015       should not be able to execute a certain module.
8016
8017       However, the sys module is built into the minion  and  cannot  be  dis‐
8018       abled.
8019
8020       This  setting  can also tune the minion. Because all modules are loaded
8021       into system memory, disabling modules will lower  the  minion's  memory
8022       footprint.
8023
8024       Modules  should be specified according to their file name on the system
8025       and not by their virtual name. For example, to  disable  cmd,  use  the
8026       string cmdmod which corresponds to salt.modules.cmdmod.
8027
8028          disable_modules:
8029            - test
8030            - solr
8031
8032   disable_returners
8033       Default: [] (all returners are enabled by default)
8034
8035       If certain returners should be disabled, this is the place
8036
8037          disable_returners:
8038            - mongo_return
8039
8040   whitelist_modules
8041       Default:  []  (Module whitelisting is disabled.  Adding anything to the
8042       config option will cause only the listed modules to be  enabled.   Mod‐
8043       ules not in the list will not be loaded.)
8044
8045       This  option is the reverse of disable_modules. If enabled, only execu‐
8046       tion modules in this list will be loaded and executed on the minion.
8047
8048       Note that this is a very large hammer and it can be quite difficult  to
8049       keep  the  minion  working  the way you think it should since Salt uses
8050       many modules internally itself.  At a bare minimum you need the follow‐
8051       ing enabled or else the minion won't start.
8052
8053          whitelist_modules:
8054            - cmdmod
8055            - test
8056            - config
8057
8058   module_dirs
8059       Default: []
8060
8061       A list of extra directories to search for Salt modules
8062
8063          module_dirs:
8064            - /var/lib/salt/modules
8065
8066   returner_dirs
8067       Default: []
8068
8069       A list of extra directories to search for Salt returners
8070
8071          returner_dirs:
8072            - /var/lib/salt/returners
8073
8074   states_dirs
8075       Default: []
8076
8077       A list of extra directories to search for Salt states
8078
8079          states_dirs:
8080            - /var/lib/salt/states
8081
8082   grains_dirs
8083       Default: []
8084
8085       A list of extra directories to search for Salt grains
8086
8087          grains_dirs:
8088            - /var/lib/salt/grains
8089
8090   render_dirs
8091       Default: []
8092
8093       A list of extra directories to search for Salt renderers
8094
8095          render_dirs:
8096            - /var/lib/salt/renderers
8097
8098   utils_dirs
8099       Default: []
8100
8101       A list of extra directories to search for Salt utilities
8102
8103          utils_dirs:
8104            - /var/lib/salt/utils
8105
8106   cython_enable
8107       Default: False
8108
8109       Set  this  value  to  true to enable auto-loading and compiling of .pyx
8110       modules, This setting requires that gcc and cython are installed on the
8111       minion.
8112
8113          cython_enable: False
8114
8115   enable_zip_modules
8116       New in version 2015.8.0.
8117
8118
8119       Default: False
8120
8121       Set  this  value to true to enable loading of zip archives as extension
8122       modules.  This allows for packing module code with  specific  dependen‐
8123       cies  to  avoid  conflicts  and/or  having to install specific modules'
8124       dependencies in system libraries.
8125
8126          enable_zip_modules: False
8127
8128   providers
8129       Default: (empty)
8130
8131       A module provider can be statically overwritten  or  extended  for  the
8132       minion  via  the  providers  option.  This can be done on an individual
8133       basis in an SLS file, or globally  here  in  the  minion  config,  like
8134       below.
8135
8136          providers:
8137            service: systemd
8138
8139   modules_max_memory
8140       Default: -1
8141
8142       Specify  a  max  size (in bytes) for modules on import. This feature is
8143       currently only supported on *NIX operating systems and requires psutil.
8144
8145          modules_max_memory: -1
8146
8147   extmod_whitelist/extmod_blacklist
8148       New in version 2017.7.0.
8149
8150
8151       By using this dictionary, the modules that are synced to  the  minion's
8152       extmod  cache  using saltutil.sync_* can be limited.  If nothing is set
8153       to a specific type, then all modules are accepted.  To block  all  mod‐
8154       ules of a specific type, whitelist an empty list.
8155
8156          extmod_whitelist:
8157            modules:
8158              - custom_module
8159            engines:
8160              - custom_engine
8161            pillars: []
8162
8163          extmod_blacklist:
8164            modules:
8165              - specific_module
8166
8167       Valid options:
8168
8169          · beacons
8170
8171          · clouds
8172
8173          · sdb
8174
8175          · modules
8176
8177          · states
8178
8179          · grains
8180
8181          · renderers
8182
8183          · returners
8184
8185          · proxy
8186
8187          · engines
8188
8189          · output
8190
8191          · utils
8192
8193          · pillar
8194
8195   Top File Settings
8196       These parameters only have an effect if running a masterless minion.
8197
8198   state_top
8199       Default: top.sls
8200
8201       The state system uses a "top" file to tell the minions what environment
8202       to use and what modules to use. The state_top file is defined  relative
8203       to the root of the base environment.
8204
8205          state_top: top.sls
8206
8207   state_top_saltenv
8208       This  option  has  no  default  value. Set it to an environment name to
8209       ensure that only the top file from that environment is considered  dur‐
8210       ing a highstate.
8211
8212       NOTE:
8213          Using this value does not change the merging strategy. For instance,
8214          if top_file_merging_strategy is set to merge, and  state_top_saltenv
8215          is  set to foo, then any sections for environments other than foo in
8216          the  top  file  for  the  foo  environment  will  be  ignored.  With
8217          state_top_saltenv  set  to base, all states from all environments in
8218          the base top file will be applied, while all  other  top  files  are
8219          ignored.  The  only  way to set state_top_saltenv to something other
8220          than base and not have the other environments in  the  targeted  top
8221          file   ignored,   would   be  to  set  top_file_merging_strategy  to
8222          merge_all.
8223
8224          state_top_saltenv: dev
8225
8226   top_file_merging_strategy
8227       Changed in version 2016.11.0: A merge_all strategy has been added.
8228
8229
8230       Default: merge
8231
8232       When no specific fileserver environment (a.k.a. saltenv) has been spec‐
8233       ified  for a highstate, all environments' top files are inspected. This
8234       config option determines how the SLS targets in  those  top  files  are
8235       handled.
8236
8237       When  set to merge, the base environment's top file is evaluated first,
8238       followed by the other environments' top files. The first target expres‐
8239       sion (e.g. '*') for a given environment is kept, and when the same tar‐
8240       get expression is used in a different top file evaluated later,  it  is
8241       ignored.   Because  base  is  evaluated first, it is authoritative. For
8242       example, if there is a target for '*' for the foo environment  in  both
8243       the  base  and foo environment's top files, the one in the foo environ‐
8244       ment would be ignored. The environments will be evaluated  in  no  spe‐
8245       cific  order  (aside  from base coming first). For greater control over
8246       the order in which the environments are evaluated, use env_order.  Note
8247       that,  aside  from the base environment's top file, any sections in top
8248       files that do not match that top file's environment  will  be  ignored.
8249       So,  for  example, a section for the qa environment would be ignored if
8250       it appears in the dev environment's top file. To keep  use  cases  like
8251       this from being ignored, use the merge_all strategy.
8252
8253       When  set  to  same, then for each environment, only that environment's
8254       top file is processed, with the others being ignored. For example, only
8255       the  dev  environment's top file will be processed for the dev environ‐
8256       ment, and any SLS targets defined for dev in the base environment's (or
8257       any  other  environment's)  top file will be ignored. If an environment
8258       does not have a top file, then the top file from the default_top config
8259       parameter will be used as a fallback.
8260
8261       When  set  to merge_all, then all states in all environments in all top
8262       files will be applied. The order in which individual SLS files will  be
8263       executed  will  depend  on the order in which the top files were evalu‐
8264       ated, and the environments will be evaluated in no specific order.  For
8265       greater control over the order in which the environments are evaluated,
8266       use env_order.
8267
8268          top_file_merging_strategy: same
8269
8270   env_order
8271       Default: []
8272
8273       When top_file_merging_strategy is set to merge, and no  environment  is
8274       specified  for  a highstate, this config option allows for the order in
8275       which top files are evaluated to be explicitly defined.
8276
8277          env_order:
8278            - base
8279            - dev
8280            - qa
8281
8282   default_top
8283       Default: base
8284
8285       When top_file_merging_strategy is set to same, and  no  environment  is
8286       specified  for  a  highstate (i.e.  environment is not set for the min‐
8287       ion), this config option specifies a fallback environment in  which  to
8288       look for a top file if an environment lacks one.
8289
8290          default_top: dev
8291
8292   startup_states
8293       Default: ''
8294
8295       States   to   run  when  the  minion  daemon  starts.  To  enable,  set
8296       startup_states to:
8297
8298       · highstate: Execute state.highstate
8299
8300       · sls: Read in the sls_list option and execute the named sls files
8301
8302       · top: Read top_file option and execute based on that file on the  Mas‐
8303         ter
8304
8305          startup_states: ''
8306
8307   sls_list
8308       Default: []
8309
8310       List  of  states  to run when the minion starts up if startup_states is
8311       set to sls.
8312
8313          sls_list:
8314            - edit.vim
8315            - hyper
8316
8317   start_event_grains
8318       Default: []
8319
8320       List of grains to pass in start event when minion starts up.
8321
8322          start_event_grains:
8323            - machine_id
8324            - uuid
8325
8326   top_file
8327       Default: ''
8328
8329       Top file to execute if startup_states is set to top.
8330
8331          top_file: ''
8332
8333   State Management Settings
8334   renderer
8335       Default: jinja|yaml
8336
8337       The default renderer used for local state executions
8338
8339          renderer: jinja|json
8340
8341   test
8342       Default: False
8343
8344       Set all state calls to only test if they are  going  to  actually  make
8345       changes or just post what changes are going to be made.
8346
8347          test: False
8348
8349   state_verbose
8350       Default: True
8351
8352       Controls  the  verbosity  of state runs. By default, the results of all
8353       states are returned, but setting this value to False will cause salt to
8354       only display output for states that failed or states that have changes.
8355
8356          state_verbose: True
8357
8358   state_output
8359       Default: full
8360
8361       The  state_output  setting  controls  which results will be output full
8362       multi line:
8363
8364       · full, terse - each state will be full/terse
8365
8366       · mixed - only states with errors will be full
8367
8368       · changes - states with changes and errors will be full
8369
8370       full_id, mixed_id, changes_id and terse_id are also allowed; when  set,
8371       the state ID will be used as name in the output.
8372
8373          state_output: full
8374
8375   state_output_diff
8376       Default: False
8377
8378       The  state_output_diff  setting  changes whether or not the output from
8379       successful states is returned. Useful when even  the  terse  output  of
8380       these states is cluttering the logs. Set it to True to ignore them.
8381
8382          state_output_diff: False
8383
8384   autoload_dynamic_modules
8385       Default: True
8386
8387       autoload_dynamic_modules turns on automatic loading of modules found in
8388       the environments on the master. This is turned on by default.  To  turn
8389       off auto-loading modules when states run, set this value to False.
8390
8391          autoload_dynamic_modules: True
8392
8393       Default: True
8394
8395       clean_dynamic_modules  keeps  the dynamic modules on the minion in sync
8396       with the dynamic modules on the master. This means that  if  a  dynamic
8397       module  is  not  on  the  master it will be deleted from the minion. By
8398       default this is enabled and can be disabled by changing this  value  to
8399       False.
8400
8401          clean_dynamic_modules: True
8402
8403       NOTE:
8404          If  extmod_whitelist is specified, modules which are not whitelisted
8405          will also be cleaned here.
8406
8407   saltenv
8408       Changed in version 2018.3.0: Renamed from environment  to  saltenv.  If
8409       environment  is  used,  saltenv  will take its value. If both are used,
8410       environment will be ignored and saltenv will be used.
8411
8412
8413       Normally the minion is not isolated to any single  environment  on  the
8414       master  when running states, but the environment can be isolated on the
8415       minion side by statically setting it. Remember that the recommended way
8416       to manage environments is to isolate via the top file.
8417
8418          saltenv: dev
8419
8420   lock_saltenv
8421       New in version 2018.3.0.
8422
8423
8424       Default: False
8425
8426       For  purposes of running states, this option prevents using the saltenv
8427       argument to manually set the environment. This is useful to keep a min‐
8428       ion which has the saltenv option set to dev from running states from an
8429       environment other than dev.
8430
8431          lock_saltenv: True
8432
8433   snapper_states
8434       Default: False
8435
8436       The snapper_states value is used to  enable  taking  snapper  snapshots
8437       before  and  after  salt  state  runs. This allows for state runs to be
8438       rolled back.
8439
8440       For snapper states to function properly snapper needs to  be  installed
8441       and enabled.
8442
8443          snapper_states: True
8444
8445   snapper_states_config
8446       Default: root
8447
8448       Snapper can execute based on a snapper configuration. The configuration
8449       needs to be set up before snapper can use it. The default configuration
8450       is  root,  this  default  makes  snapper  run on SUSE systems using the
8451       default configuration set up at install time.
8452
8453          snapper_states_config: root
8454
8455   File Directory Settings
8456   file_client
8457       Default: remote
8458
8459       The client defaults to looking on the master server for files, but  can
8460       be directed to look on the minion by setting this parameter to local.
8461
8462          file_client: remote
8463
8464   use_master_when_local
8465       Default: False
8466
8467       When  using  a  local  file_client, this parameter is used to allow the
8468       client to connect to a master for remote execution.
8469
8470          use_master_when_local: False
8471
8472   file_roots
8473       Default:
8474
8475          base:
8476            - /srv/salt
8477
8478       When using a local file_client, this parameter is  used  to  setup  the
8479       fileserver's  environments.  This parameter operates identically to the
8480       master config parameter of the same name.
8481
8482          file_roots:
8483            base:
8484              - /srv/salt
8485            dev:
8486              - /srv/salt/dev/services
8487              - /srv/salt/dev/states
8488            prod:
8489              - /srv/salt/prod/services
8490              - /srv/salt/prod/states
8491
8492   fileserver_followsymlinks
8493       New in version 2014.1.0.
8494
8495
8496       Default: True
8497
8498       By default, the file_server follows symlinks when walking the  filesys‐
8499       tem  tree.   Currently  this  only  applies  to the default roots file‐
8500       server_backend.
8501
8502          fileserver_followsymlinks: True
8503
8504   fileserver_ignoresymlinks
8505       New in version 2014.1.0.
8506
8507
8508       Default: False
8509
8510       If you do not want symlinks to be treated as the files they are  point‐
8511       ing  to,  set fileserver_ignoresymlinks to True. By default this is set
8512       to False. When set to True, any detected symlink while listing files on
8513       the Master will not be returned to the Minion.
8514
8515          fileserver_ignoresymlinks: False
8516
8517   fileserver_limit_traversal
8518       New in version 2014.1.0.
8519
8520
8521       Default: False
8522
8523       By  default,  the Salt fileserver recurses fully into all defined envi‐
8524       ronments to attempt to find files. To limit this behavior so  that  the
8525       fileserver  only  traverses directories with SLS files and special Salt
8526       directories like _modules, set fileserver_limit_traversal to True. This
8527       might  be  useful  for installations where a file root has a very large
8528       number of files and performance is impacted.
8529
8530          fileserver_limit_traversal: False
8531
8532   hash_type
8533       Default: sha256
8534
8535       The hash_type is the hash to use when discovering the hash of a file on
8536       the  local  fileserver.  The  default is sha256, but md5, sha1, sha224,
8537       sha384, and sha512 are also supported.
8538
8539          hash_type: sha256
8540
8541   Pillar Configuration
8542   pillar_roots
8543       Default:
8544
8545          base:
8546            - /srv/pillar
8547
8548       When using a local file_client, this parameter is  used  to  setup  the
8549       pillar environments.
8550
8551          pillar_roots:
8552            base:
8553              - /srv/pillar
8554            dev:
8555              - /srv/pillar/dev
8556            prod:
8557              - /srv/pillar/prod
8558
8559   on_demand_ext_pillar
8560       New in version 2016.3.6,2016.11.3,2017.7.0.
8561
8562
8563       Default: ['libvirt', 'virtkey']
8564
8565       When  using  a  local  file_client, this option controls which external
8566       pillars are permitted to be used on-demand using pillar.ext.
8567
8568          on_demand_ext_pillar:
8569            - libvirt
8570            - virtkey
8571            - git
8572
8573       WARNING:
8574          This will allow a masterless minion to request specific pillar  data
8575          via pillar.ext, and may be considered a security risk. However, pil‐
8576          lar data generated in this way will not affect the in-memory  pillar
8577          data,  so  this  risk  is  limited to instances in which states/mod‐
8578          ules/etc. (built-in or custom) rely upon pillar  data  generated  by
8579          pillar.ext.
8580
8581   decrypt_pillar
8582       New in version 2017.7.0.
8583
8584
8585       Default: []
8586
8587       A list of paths to be recursively decrypted during pillar compilation.
8588
8589          decrypt_pillar:
8590            - 'foo:bar': gpg
8591            - 'lorem:ipsum:dolor'
8592
8593       Entries  in this list can be formatted either as a simple string, or as
8594       a key/value pair, with the key being the pillar location, and the value
8595       being the renderer to use for pillar decryption. If the former is used,
8596       the renderer specified by decrypt_pillar_default will be used.
8597
8598   decrypt_pillar_delimiter
8599       New in version 2017.7.0.
8600
8601
8602       Default: :
8603
8604       The delimiter  used  to  distinguish  nested  data  structures  in  the
8605       decrypt_pillar option.
8606
8607          decrypt_pillar_delimiter: '|'
8608          decrypt_pillar:
8609            - 'foo|bar': gpg
8610            - 'lorem|ipsum|dolor'
8611
8612   decrypt_pillar_default
8613       New in version 2017.7.0.
8614
8615
8616       Default: gpg
8617
8618       The default renderer used for decryption, if one is not specified for a
8619       given pillar key in decrypt_pillar.
8620
8621          decrypt_pillar_default: my_custom_renderer
8622
8623   decrypt_pillar_renderers
8624       New in version 2017.7.0.
8625
8626
8627       Default: ['gpg']
8628
8629       List of renderers which are permitted to be used for pillar decryption.
8630
8631          decrypt_pillar_renderers:
8632            - gpg
8633            - my_custom_renderer
8634
8635   pillarenv
8636       Default: None
8637
8638       Isolates the pillar environment on the minion side. This functions  the
8639       same as the environment setting, but for pillar instead of states.
8640
8641          pillarenv: dev
8642
8643   pillarenv_from_saltenv
8644       New in version 2017.7.0.
8645
8646
8647       Default: False
8648
8649       When  set  to  True,  the  pillarenv value will assume the value of the
8650       effective saltenv when running states. This essentially makes salt  '*'
8651       state.sls  mysls  saltenv=dev  equivalent  to  salt '*' state.sls mysls
8652       saltenv=dev pillarenv=dev. If pillarenv is set, either  in  the  minion
8653       config file or via the CLI, it will override this option.
8654
8655          pillarenv_from_saltenv: True
8656
8657   pillar_raise_on_missing
8658       New in version 2015.5.0.
8659
8660
8661       Default: False
8662
8663       Set  this  option  to True to force a KeyError to be raised whenever an
8664       attempt to retrieve a named value from pillar fails. When  this  option
8665       is set to False, the failed attempt returns an empty string.
8666
8667   minion_pillar_cache
8668       New in version 2016.3.0.
8669
8670
8671       Default: False
8672
8673       The   minion   can   locally   cache   rendered   pillar   data   under
8674       cachedir/pillar. This  allows  a  temporarily  disconnected  minion  to
8675       access  previously  cached  pillar  data by invoking salt-call with the
8676       --local and --pillar_root=:conf_minion:cachedir/pillar options.  Before
8677       enabling  this  setting  consider  that the rendered pillar may contain
8678       security sensitive data.  Appropriate access restrictions should be  in
8679       place.  By  default  the saved pillar data will be readable only by the
8680       user account running salt. By default  this  feature  is  disabled,  to
8681       enable set minion_pillar_cache to True.
8682
8683          minion_pillar_cache: False
8684
8685   file_recv_max_size
8686       New in version 2014.7.0.
8687
8688
8689       Default: 100
8690
8691       Set  a  hard-limit  on  the size of the files that can be pushed to the
8692       master.  It will be interpreted as megabytes.
8693
8694          file_recv_max_size: 100
8695
8696   pass_to_ext_pillars
8697       Specify a list of configuration keys whose values are to be  passed  to
8698       external pillar functions.
8699
8700       Suboptions  can be specified using the ':' notation (i.e. option:subop‐
8701       tion)
8702
8703       The values are merged and included in  the  extra_minion_data  optional
8704       parameter  of  the  external  pillar  function.   The extra_minion_data
8705       parameter is passed only to the external pillar functions that have  it
8706       explicitly specified in their definition.
8707
8708       If the config contains
8709
8710          opt1: value1
8711          opt2:
8712            subopt1: value2
8713            subopt2: value3
8714
8715          pass_to_ext_pillars:
8716            - opt1
8717            - opt2: subopt1
8718
8719       the extra_minion_data parameter will be
8720
8721          {'opt1': 'value1',
8722           'opt2': {'subopt1': 'value2'}}
8723
8724   Security Settings
8725   open_mode
8726       Default: False
8727
8728       Open  mode  can be used to clean out the PKI key received from the Salt
8729       master, turn on open mode, restart the minion, then turn off open  mode
8730       and restart the minion to clean the keys.
8731
8732          open_mode: False
8733
8734   master_finger
8735       Default: ''
8736
8737       Fingerprint  of  the master public key to validate the identity of your
8738       Salt master before the initial key exchange. The master fingerprint can
8739       be found by running "salt-key -F master" on the Salt master.
8740
8741          master_finger: 'ba:30:65:2a:d6:9e:20:4f:d8:b2:f3:a7:d4:65:11:13'
8742
8743   keysize
8744       Default: 2048
8745
8746       The size of key that should be generated when creating new keys.
8747
8748          keysize: 2048
8749
8750   permissive_pki_access
8751       Default: False
8752
8753       Enable  permissive  access to the salt keys. This allows you to run the
8754       master or minion as root, but have a non-root group be given access  to
8755       your  pki_dir.  To  make  the  access explicit, root must belong to the
8756       group you've given access to. This is potentially quite insecure.
8757
8758          permissive_pki_access: False
8759
8760   verify_master_pubkey_sign
8761       Default: False
8762
8763       Enables verification of the  master-public-signature  returned  by  the
8764       master  in  auth-replies.  Please  see the tutorial on how to configure
8765       this properly Multimaster-PKI with Failover Tutorial
8766
8767       New in version 2014.7.0.
8768
8769
8770          verify_master_pubkey_sign: True
8771
8772       If this is set to True, master_sign_pubkey must be also set to True  in
8773       the master configuration file.
8774
8775   master_sign_key_name
8776       Default: master_sign
8777
8778       The  filename  without the .pub suffix of the public key that should be
8779       used for verifying the signature from the  master.  The  file  must  be
8780       located in the minion's pki directory.
8781
8782       New in version 2014.7.0.
8783
8784
8785          master_sign_key_name: <filename_without_suffix>
8786
8787   autosign_grains
8788       New in version 2018.3.0.
8789
8790
8791       Default: not defined
8792
8793       The  grains  that  should  be  sent  to the master on authentication to
8794       decide if the minion's key should be accepted automatically.
8795
8796       Please see the Autoaccept Minions from Grains  documentation  for  more
8797       information.
8798
8799          autosign_grains:
8800            - uuid
8801            - server_id
8802
8803   always_verify_signature
8804       Default: False
8805
8806       If verify_master_pubkey_sign is enabled, the signature is only verified
8807       if the public-key of the master changes. If the signature should always
8808       be verified, this can be set to True.
8809
8810       New in version 2014.7.0.
8811
8812
8813          always_verify_signature: True
8814
8815   cmd_blacklist_glob
8816       Default: []
8817
8818       If  cmd_blacklist_glob  is  enabled  then any shell command called over
8819       remote execution or via salt-call will  be  checked  against  the  glob
8820       matches found in the cmd_blacklist_glob list and any matched shell com‐
8821       mand will be blocked.
8822
8823       NOTE:
8824          This blacklist is only applied to direct executions made by the salt
8825          and salt-call commands. This does NOT blacklist commands called from
8826          states or shell commands executed from other modules.
8827
8828       New in version 2016.11.0.
8829
8830
8831          cmd_blacklist_glob:
8832            - 'rm * '
8833            - 'cat /etc/* '
8834
8835   cmd_whitelist_glob
8836       Default: []
8837
8838       If cmd_whitelist_glob is enabled then any  shell  command  called  over
8839       remote  execution  or  via  salt-call  will be checked against the glob
8840       matches found in the cmd_whitelist_glob list and any shell command  NOT
8841       found  in  the  list will be blocked. If cmd_whitelist_glob is NOT SET,
8842       then all shell commands are permitted.
8843
8844       NOTE:
8845          This whitelist is only applied to direct executions made by the salt
8846          and  salt-call commands. This does NOT restrict commands called from
8847          states or shell commands executed from other modules.
8848
8849       New in version 2016.11.0.
8850
8851
8852          cmd_whitelist_glob:
8853            - 'ls * '
8854            - 'cat /etc/fstab'
8855
8856   ssl
8857       New in version 2016.11.0.
8858
8859
8860       Default: None
8861
8862       TLS/SSL connection options. This could be set to a dictionary  contain‐
8863       ing  arguments  corresponding  to  python  ssl.wrap_socket  method. For
8864       details see Tornado and Python documentation.
8865
8866       Note: to set enum arguments values like cert_reqs and  ssl_version  use
8867       constant  names  without  ssl  module  prefix:  CERT_REQUIRED or PROTO‐
8868       COL_SSLv23.
8869
8870          ssl:
8871              keyfile: <path_to_keyfile>
8872              certfile: <path_to_certfile>
8873              ssl_version: PROTOCOL_TLSv1_2
8874
8875   Reactor Settings
8876   reactor
8877       Default: []
8878
8879       Defines a salt reactor. See the Reactor documentation for more informa‐
8880       tion.
8881
8882          reactor: []
8883
8884   reactor_refresh_interval
8885       Default: 60
8886
8887       The TTL for the cache of the reactor configuration.
8888
8889          reactor_refresh_interval: 60
8890
8891   reactor_worker_threads
8892       Default: 10
8893
8894       The number of workers for the runner/wheel in the reactor.
8895
8896          reactor_worker_threads: 10
8897
8898   reactor_worker_hwm
8899       Default: 10000
8900
8901       The queue size for workers in the reactor.
8902
8903          reactor_worker_hwm: 10000
8904
8905   Thread Settings
8906   multiprocessing
8907       Default: True
8908
8909       If  multiprocessing  is  enabled when a minion receives a publication a
8910       new process is spawned and  the  command  is  executed  therein.   Con‐
8911       versely, if multiprocessing is disabled the new publication will be run
8912       executed in a thread.
8913
8914          multiprocessing: True
8915
8916   process_count_max
8917       New in version 2018.3.0.
8918
8919
8920       Default: -1
8921
8922       Limit the maximum amount of processes or threads created  by  salt-min‐
8923       ion.   This  is  useful to avoid resource exhaustion in case the minion
8924       receives more publications than it is able to handle, as it limits  the
8925       number  of spawned processes or threads. -1 is the default and disables
8926       the limit.
8927
8928          process_count_max: -1
8929
8930   Minion Logging Settings
8931   log_file
8932       Default: /var/log/salt/minion
8933
8934       The minion log can be sent to a regular file, local path name, or  net‐
8935       work location.  See also log_file.
8936
8937       Examples:
8938
8939          log_file: /var/log/salt/minion
8940
8941          log_file: file:///dev/log
8942
8943          log_file: udp://loghost:10514
8944
8945   log_level
8946       Default: warning
8947
8948       The level of messages to send to the console. See also log_level.
8949
8950          log_level: warning
8951
8952   log_level_logfile
8953       Default: warning
8954
8955       The  level of messages to send to the log file. See also log_level_log‐
8956       file. When it is not set explicitly it will inherit the  level  set  by
8957       log_level option.
8958
8959          log_level_logfile: warning
8960
8961   log_datefmt
8962       Default: %H:%M:%S
8963
8964       The  date  and  time  format  used  in  console  log messages. See also
8965       log_datefmt.
8966
8967          log_datefmt: '%H:%M:%S'
8968
8969   log_datefmt_logfile
8970       Default: %Y-%m-%d %H:%M:%S
8971
8972       The  date  and  time  format  used  in  log  file  messages.  See  also
8973       log_datefmt_logfile.
8974
8975          log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
8976
8977   log_fmt_console
8978       Default: [%(levelname)-8s] %(message)s
8979
8980       The format of the console logging messages. See also log_fmt_console.
8981
8982       NOTE:
8983          Log colors are enabled in log_fmt_console rather than the color con‐
8984          fig since the logging system is loaded before the minion config.
8985
8986          Console log colors are specified by these additional formatters:
8987
8988          %(colorlevel)s %(colorname)s %(colorprocess)s %(colormsg)s
8989
8990          Since it is desirable to include the surrounding brackets,  '['  and
8991          ']',  in  the  coloring of the messages, these color formatters also
8992          include padding as well.  Color LogRecord attributes are only avail‐
8993          able for console logging.
8994
8995          log_fmt_console: '%(colorlevel)s %(colormsg)s'
8996          log_fmt_console: '[%(levelname)-8s] %(message)s'
8997
8998   log_fmt_logfile
8999       Default:  %(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(mes‐
9000       sage)s
9001
9002       The format of the log file logging messages. See also log_fmt_logfile.
9003
9004          log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
9005
9006   log_granular_levels
9007       Default: {}
9008
9009       This can be used to control logging levels more specifically. See  also
9010       log_granular_levels.
9011
9012   log_rotate_max_bytes
9013       Default:  0
9014
9015       The  maximum number of bytes a single log file may contain before it is
9016       rotated.  A value of 0 disables this feature. Currently only  supported
9017       on  Windows.  On  other platforms, use an external tool such as 'logro‐
9018       tate' to manage log files.  log_rotate_max_bytes
9019
9020   log_rotate_backup_count
9021       Default:  0
9022
9023       The number of backup files to keep when rotating log files.  Only  used
9024       if  log_rotate_max_bytes is greater than 0. Currently only supported on
9025       Windows. On other platforms, use an external tool such  as  'logrotate'
9026       to manage log files.  log_rotate_backup_count
9027
9028   zmq_monitor
9029       Default: False
9030
9031       To  diagnose  issues  with  minions  disconnecting  or missing returns,
9032       ZeroMQ supports the use of monitor sockets to  log  connection  events.
9033       This feature requires ZeroMQ 4.0 or higher.
9034
9035       To  enable  ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log
9036       at a debug level or higher.
9037
9038       A sample log event is as follows:
9039
9040          [DEBUG   ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
9041          'value': 27, 'description': 'EVENT_DISCONNECTED'}
9042
9043       All events logged will include the string ZeroMQ  event.  A  connection
9044       event  should  be logged as the minion starts up and initially connects
9045       to the master. If not, check for debug log level and that the necessary
9046       version of ZeroMQ is installed.
9047
9048   tcp_authentication_retries
9049       Default: 5
9050
9051       The  number  of times to retry authenticating with the salt master when
9052       it comes back online.
9053
9054       Zeromq does a lot to make sure when connections come back  online  that
9055       they reauthenticate. The tcp transport should try to connect with a new
9056       connection if the old one times out on reauthenticating.
9057
9058       -1 for infinite tries.
9059
9060   failhard
9061       Default: False
9062
9063       Set the global failhard flag. This informs all states to  stop  running
9064       states at the moment a single state fails
9065
9066          failhard: False
9067
9068   Include Configuration
9069       Configuration  can  be  loaded  from multiple files. The order in which
9070       this is done is:
9071
9072       1. The minion config file itself
9073
9074       2. The files matching the glob in default_include
9075
9076       3. The files matching the glob in include (if defined)
9077
9078       Each successive step overrides  any  values  defined  in  the  previous
9079       steps.    Therefore,   any   config  options  defined  in  one  of  the
9080       default_include files would override the same value in the minion  con‐
9081       fig file, and any options defined in include would override both.
9082
9083   default_include
9084       Default: minion.d/*.conf
9085
9086       The  minion can include configuration from other files. Per default the
9087       minion will automatically include all config files from minion.d/*.conf
9088       where minion.d is relative to the directory of the minion configuration
9089       file.
9090
9091       NOTE:
9092          Salt creates files in the minion.d directory for its own use.  These
9093          files  are  prefixed with an underscore. A common example of this is
9094          the _schedule.conf file.
9095
9096   include
9097       Default: not defined
9098
9099       The minion can include configuration from other files. To enable  this,
9100       pass  a  list of paths to this option. The paths can be either relative
9101       or absolute; if relative, they are considered to  be  relative  to  the
9102       directory  the  main minion configuration file lives in. Paths can make
9103       use of shell-style globbing. If no files are matched by a  path  passed
9104       to this option then the minion will log a warning message.
9105
9106          # Include files from a minion.d directory in the same
9107          # directory as the minion config file
9108          include: minion.d/*.conf
9109
9110          # Include a single extra file into the configuration
9111          include: /etc/roles/webserver
9112
9113          # Include several files and the minion.d directory
9114          include:
9115            - extra_config
9116            - minion.d/*
9117            - /etc/roles/webserver
9118
9119   Keepalive Settings
9120   tcp_keepalive
9121       Default: True
9122
9123       The  tcp  keepalive  interval  to set on TCP ports. This setting can be
9124       used to tune Salt connectivity issues  in  messy  network  environments
9125       with misbehaving firewalls.
9126
9127          tcp_keepalive: True
9128
9129   tcp_keepalive_cnt
9130       Default: -1
9131
9132       Sets  the  ZeroMQ  TCP keepalive count. May be used to tune issues with
9133       minion disconnects.
9134
9135          tcp_keepalive_cnt: -1
9136
9137   tcp_keepalive_idle
9138       Default: 300
9139
9140       Sets ZeroMQ TCP keepalive idle. May be used to tune issues with  minion
9141       disconnects.
9142
9143          tcp_keepalive_idle: 300
9144
9145   tcp_keepalive_intvl
9146       Default: -1
9147
9148       Sets  ZeroMQ  TCP  keepalive  interval. May be used to tune issues with
9149       minion disconnects.
9150
9151          tcp_keepalive_intvl': -1
9152
9153   Frozen Build Update Settings
9154       These options control  how  salt.modules.saltutil.update()  works  with
9155       esky     frozen     apps.     For     more    information    look    at
9156       https://github.com/cloudmatrix/esky/.
9157
9158   update_url
9159       Default: False (Update feature is disabled)
9160
9161       The url to use when looking for application updates.  Esky  depends  on
9162       directory  listings  to search for new versions. A webserver running on
9163       your Master is a good starting point for most setups.
9164
9165          update_url: 'http://salt.example.com/minion-updates'
9166
9167   update_restart_services
9168       Default: [] (service restarting on update is disabled)
9169
9170       A list of services to restart when the minion software is updated. This
9171       would  typically  just  be a list containing the minion's service name,
9172       but you may have other services that need to go with it.
9173
9174          update_restart_services: ['salt-minion']
9175
9176   winrepo_cache_expire_min
9177       New in version 2016.11.0.
9178
9179
9180       Default: 1800
9181
9182       If set to a nonzero integer, then passing refresh=True to functions  in
9183       the  windows  pkg  module will not refresh the windows repo metadata if
9184       the age of the metadata is less than this value. The exception to  this
9185       is  pkg.refresh_db,  which will always refresh the metadata, regardless
9186       of age.
9187
9188          winrepo_cache_expire_min: 1800
9189
9190   winrepo_cache_expire_max
9191       New in version 2016.11.0.
9192
9193
9194       Default: 21600
9195
9196       If the windows repo metadata is older than this value, and the metadata
9197       is needed by a function in the windows pkg module, the metadata will be
9198       refreshed.
9199
9200          winrepo_cache_expire_max: 86400
9201
9202   Minion Windows Software Repo Settings
9203       IMPORTANT:
9204          To use these config options, the  minion  can  be  running  in  mas‐
9205          ter-minion or masterless mode.
9206
9207   winrepo_source_dir
9208       Default: salt://win/repo-ng/
9209
9210       The source location for the winrepo sls files.
9211
9212          winrepo_source_dir: salt://win/repo-ng/
9213
9214   Standalone Minion Windows Software Repo Settings
9215       IMPORTANT:
9216          To  use  these config options, the minion must be running in master‐
9217          less mode (set file_client to local).
9218
9219   winrepo_dir
9220       Changed in version 2015.8.0:  Renamed  from  win_repo  to  winrepo_dir.
9221       Also, this option did not have a default value until this version.
9222
9223
9224       Default: C:\salt\srv\salt\win\repo
9225
9226       Location on the minion where the winrepo_remotes are checked out.
9227
9228          winrepo_dir: 'D:\winrepo'
9229
9230   winrepo_dir_ng
9231       New in version 2015.8.0: A new ng repo was added.
9232
9233
9234       Default: /srv/salt/win/repo-ng
9235
9236       Location on the minion where the winrepo_remotes_ng are checked out for
9237       2015.8.0 and later minions.
9238
9239          winrepo_dir_ng: /srv/salt/win/repo-ng
9240
9241   winrepo_cachefile
9242       Changed in version 2015.8.0: Renamed from  win_repo_cachefile  to  win‐
9243       repo_cachefile.  Also,  this  option did not have a default value until
9244       this version.
9245
9246
9247       Default: winrepo.p
9248
9249       Path relative to winrepo_dir where the winrepo cache should be created.
9250
9251          winrepo_cachefile: winrepo.p
9252
9253   winrepo_remotes
9254       Changed  in  version  2015.8.0:  Renamed  from  win_gitrepos  to   win‐
9255       repo_remotes. Also, this option did not have a default value until this
9256       version.
9257
9258
9259       New in version 2015.8.0.
9260
9261
9262       Default: ['https://github.com/saltstack/salt-winrepo.git']
9263
9264       List of git repositories to checkout and include in the winrepo
9265
9266          winrepo_remotes:
9267            - https://github.com/saltstack/salt-winrepo.git
9268
9269       To specify a specific revision of the repository, prepend a  commit  ID
9270       to the URL of the repository:
9271
9272          winrepo_remotes:
9273            - '<commit_id> https://github.com/saltstack/salt-winrepo.git'
9274
9275       Replace  <commit_id>  with  the  SHA1 hash of a commit ID. Specifying a
9276       commit ID is useful in that it allows one to revert back to a  previous
9277       version in the event that an error is introduced in the latest revision
9278       of the repo.
9279
9280   winrepo_remotes_ng
9281       New in version 2015.8.0: A new ng repo was added.
9282
9283
9284       Default: ['https://github.com/saltstack/salt-winrepo-ng.git']
9285
9286       List of git repositories to checkout and include  in  the  winrepo  for
9287       2015.8.0 and later minions.
9288
9289          winrepo_remotes_ng:
9290            - https://github.com/saltstack/salt-winrepo-ng.git
9291
9292       To  specify  a specific revision of the repository, prepend a commit ID
9293       to the URL of the repository:
9294
9295          winrepo_remotes_ng:
9296            - '<commit_id> https://github.com/saltstack/salt-winrepo-ng.git'
9297
9298       Replace <commit_id> with the SHA1 hash of a  commit  ID.  Specifying  a
9299       commit  ID is useful in that it allows one to revert back to a previous
9300       version in the event that an error is introduced in the latest revision
9301       of the repo.
9302
9303   ssh_merge_pillar
9304       New in version 2018.3.2.
9305
9306
9307       Default: True
9308
9309       Merges  the compiled pillar data with the pillar data already available
9310       globally.  This is useful when using salt-ssh or salt-call --local  and
9311       overriding the pillar data in a state file:
9312
9313          apply_showpillar:
9314            module.run:
9315              - name: state.apply
9316              - mods:
9317                - showpillar
9318              - kwargs:
9319                    pillar:
9320                        test: "foo bar"
9321
9322       If set to True the showpillar state will have access to the global pil‐
9323       lar data.
9324
9325       If set to False only the overriding pillar data will  be  available  to
9326       the showpillar state.
9327
9328   Configuring the Salt Proxy Minion
9329       The Salt system is amazingly simple and easy to configure. The two com‐
9330       ponents of the Salt system each have a respective  configuration  file.
9331       The  salt-master  is  configured via the master configuration file, and
9332       the salt-proxy is configured via the proxy configuration file.
9333
9334       SEE ALSO:
9335          example proxy minion configuration file
9336
9337       The Salt Minion configuration is very simple. Typically, the only value
9338       that  needs  to  be set is the master value so the proxy knows where to
9339       locate its master.
9340
9341       By default, the salt-proxy configuration will be in /etc/salt/proxy.  A
9342       notable  exception  is  FreeBSD,  where  the  configuration  will be in
9343       /usr/local/etc/salt/proxy.
9344
9345   Proxy-specific Configuration Options
9346   add_proxymodule_to_opts
9347       New in version 2015.8.2.
9348
9349
9350       Changed in version 2016.3.0.
9351
9352
9353       Default: False
9354
9355       Add the proxymodule LazyLoader object to opts.
9356
9357          add_proxymodule_to_opts: True
9358
9359   proxy_merge_grains_in_module
9360       New in version 2016.3.0.
9361
9362
9363       Changed in version 2017.7.0.
9364
9365
9366       Default: True
9367
9368       If a proxymodule has a function called grains, then call it during reg‐
9369       ular  grains loading and merge the results with the proxy's grains dic‐
9370       tionary.  Otherwise it is assumed that  the  module  calls  the  grains
9371       function in a custom way and returns the data elsewhere.
9372
9373          proxy_merge_grains_in_module: False
9374
9375   proxy_keep_alive
9376       New in version 2017.7.0.
9377
9378
9379       Default: True
9380
9381       Whether  the connection with the remote device should be restarted when
9382       dead. The proxy module must implement the alive function, otherwise the
9383       connection is considered alive.
9384
9385          proxy_keep_alive: False
9386
9387   proxy_keep_alive_interval
9388       New in version 2017.7.0.
9389
9390
9391       Default: 1
9392
9393       The  frequency  of  keepalive  checks,  in  minutes.  It  requires  the
9394       proxy_keep_alive option to be enabled (and the proxy module  to  imple‐
9395       ment the alive function).
9396
9397          proxy_keep_alive_interval: 5
9398
9399   proxy_always_alive
9400       New in version 2017.7.0.
9401
9402
9403       Default: True
9404
9405       Whether  the  proxy  should  maintain  the  connection  with the remote
9406       device. Similarly to proxy_keep_alive, this option is very specific  to
9407       the  design  of  the  proxy  module.  When proxy_always_alive is set to
9408       False, the connection with the remote device is not maintained and  has
9409       to be closed after every command.
9410
9411          proxy_always_alive: False
9412
9413   proxy_merge_pillar_in_opts
9414       New in version 2017.7.3.
9415
9416
9417       Default: False.
9418
9419       Whether  the  pillar  data  to  be  merged into the proxy configuration
9420       options.  As multiple proxies can run on the same server, we  may  need
9421       different configuration options for each, while there's one single con‐
9422       figuration file.  The solution is merging the pillar data of each proxy
9423       minion into the opts.
9424
9425          proxy_merge_pillar_in_opts: True
9426
9427   proxy_deep_merge_pillar_in_opts
9428       New in version 2017.7.3.
9429
9430
9431       Default: False.
9432
9433       Deep  merge  of  pillar  data  into configuration opts.  This option is
9434       evaluated only when proxy_merge_pillar_in_opts is enabled.
9435
9436   proxy_merge_pillar_in_opts_strategy
9437       New in version 2017.7.3.
9438
9439
9440       Default: smart.
9441
9442       The strategy used when merging pillar configuration  into  opts.   This
9443       option is evaluated only when proxy_merge_pillar_in_opts is enabled.
9444
9445   proxy_mines_pillar
9446       New in version 2017.7.3.
9447
9448
9449       Default: True.
9450
9451       Allow  enabling mine details using pillar data. This evaluates the mine
9452       configuration under  the  pillar,  for  the  following  regular  minion
9453       options   that   are  also  equally  available  on  the  proxy  minion:
9454       mine_interval, and mine_functions.
9455
9456   Configuration file examples
9457       · Example master configuration file
9458
9459       · Example minion configuration file
9460
9461       · Example proxy minion configuration file
9462
9463   Example master configuration file
9464          ##### Primary configuration settings #####
9465          ##########################################
9466          # This configuration file is used to manage the behavior of the Salt Master.
9467          # Values that are commented out but have an empty line after the comment are
9468          # defaults that do not need to be set in the config. If there is no blank line
9469          # after the comment then the value is presented as an example and is not the
9470          # default.
9471
9472          # Per default, the master will automatically include all config files
9473          # from master.d/*.conf (master.d is a directory in the same directory
9474          # as the main master config file).
9475          #default_include: master.d/*.conf
9476
9477          # The address of the interface to bind to:
9478          #interface: 0.0.0.0
9479
9480          # Whether the master should listen for IPv6 connections. If this is set to True,
9481          # the interface option must be adjusted, too. (For example: "interface: '::'")
9482          #ipv6: False
9483
9484          # The tcp port used by the publisher:
9485          #publish_port: 4505
9486
9487          # The user under which the salt master will run. Salt will update all
9488          # permissions to allow the specified user to run the master. The exception is
9489          # the job cache, which must be deleted if this user is changed. If the
9490          # modified files cause conflicts, set verify_env to False.
9491          #user: root
9492
9493          # Tell the master to also use salt-ssh when running commands against minions.
9494          #enable_ssh_minions: False
9495
9496          # The port used by the communication interface. The ret (return) port is the
9497          # interface used for the file server, authentication, job returns, etc.
9498          #ret_port: 4506
9499
9500          # Specify the location of the daemon process ID file:
9501          #pidfile: /var/run/salt-master.pid
9502
9503          # The root directory prepended to these options: pki_dir, cachedir,
9504          # sock_dir, log_file, autosign_file, autoreject_file, extension_modules,
9505          # key_logfile, pidfile, autosign_grains_dir:
9506          #root_dir: /
9507
9508          # The path to the master's configuration file.
9509          #conf_file: /etc/salt/master
9510
9511          # Directory used to store public key data:
9512          #pki_dir: /etc/salt/pki/master
9513
9514          # Key cache. Increases master speed for large numbers of accepted
9515          # keys. Available options: 'sched'. (Updates on a fixed schedule.)
9516          # Note that enabling this feature means that minions will not be
9517          # available to target for up to the length of the maintanence loop
9518          # which by default is 60s.
9519          #key_cache: ''
9520
9521          # Directory to store job and cache data:
9522          # This directory may contain sensitive data and should be protected accordingly.
9523          #
9524          #cachedir: /var/cache/salt/master
9525
9526          # Directory for custom modules. This directory can contain subdirectories for
9527          # each of Salt's module types such as "runners", "output", "wheel", "modules",
9528          # "states", "returners", "engines", "utils", etc.
9529          #extension_modules: /var/cache/salt/master/extmods
9530
9531          # Directory for custom modules. This directory can contain subdirectories for
9532          # each of Salt's module types such as "runners", "output", "wheel", "modules",
9533          # "states", "returners", "engines", "utils", etc.
9534          # Like 'extension_modules' but can take an array of paths
9535          #module_dirs: []
9536
9537          # Verify and set permissions on configuration directories at startup:
9538          #verify_env: True
9539
9540          # Set the number of hours to keep old job information in the job cache:
9541          #keep_jobs: 24
9542
9543          # The number of seconds to wait when the client is requesting information
9544          # about running jobs.
9545          #gather_job_timeout: 10
9546
9547          # Set the default timeout for the salt command and api. The default is 5
9548          # seconds.
9549          #timeout: 5
9550
9551          # The loop_interval option controls the seconds for the master's maintenance
9552          # process check cycle. This process updates file server backends, cleans the
9553          # job cache and executes the scheduler.
9554          #loop_interval: 60
9555
9556          # Set the default outputter used by the salt command. The default is "nested".
9557          #output: nested
9558
9559          # To set a list of additional directories to search for salt outputters, set the
9560          # outputter_dirs option.
9561          #outputter_dirs: []
9562
9563          # Set the default output file used by the salt command. Default is to output
9564          # to the CLI and not to a file. Functions the same way as the "--out-file"
9565          # CLI option, only sets this to a single file for all salt commands.
9566          #output_file: None
9567
9568          # Return minions that timeout when running commands like test.ping
9569          #show_timeout: True
9570
9571          # Tell the client to display the jid when a job is published.
9572          #show_jid: False
9573
9574          # By default, output is colored. To disable colored output, set the color value
9575          # to False.
9576          #color: True
9577
9578          # Do not strip off the colored output from nested results and state outputs
9579          # (true by default).
9580          # strip_colors: False
9581
9582          # To display a summary of the number of minions targeted, the number of
9583          # minions returned, and the number of minions that did not return, set the
9584          # cli_summary value to True. (False by default.)
9585          #
9586          #cli_summary: False
9587
9588          # Set the directory used to hold unix sockets:
9589          #sock_dir: /var/run/salt/master
9590
9591          # The master can take a while to start up when lspci and/or dmidecode is used
9592          # to populate the grains for the master. Enable if you want to see GPU hardware
9593          # data for your master.
9594          # enable_gpu_grains: False
9595
9596          # The master maintains a job cache. While this is a great addition, it can be
9597          # a burden on the master for larger deployments (over 5000 minions).
9598          # Disabling the job cache will make previously executed jobs unavailable to
9599          # the jobs system and is not generally recommended.
9600          #job_cache: True
9601
9602          # Cache minion grains, pillar and mine data via the cache subsystem in the
9603          # cachedir or a database.
9604          #minion_data_cache: True
9605
9606          # Cache subsystem module to use for minion data cache.
9607          #cache: localfs
9608          # Enables a fast in-memory cache booster and sets the expiration time.
9609          #memcache_expire_seconds: 0
9610          # Set a memcache limit in items (bank + key) per cache storage (driver + driver_opts).
9611          #memcache_max_items: 1024
9612          # Each time a cache storage got full cleanup all the expired items not just the oldest one.
9613          #memcache_full_cleanup: False
9614          # Enable collecting the memcache stats and log it on `debug` log level.
9615          #memcache_debug: False
9616
9617          # Store all returns in the given returner.
9618          # Setting this option requires that any returner-specific configuration also
9619          # be set. See various returners in salt/returners for details on required
9620          # configuration values. (See also, event_return_queue, and event_return_queue_max_seconds below.)
9621          #
9622          #event_return: mysql
9623
9624          # On busy systems, enabling event_returns can cause a considerable load on
9625          # the storage system for returners. Events can be queued on the master and
9626          # stored in a batched fashion using a single transaction for multiple events.
9627          # By default, events are not queued.
9628          #event_return_queue: 0
9629
9630          # In some cases enabling event return queueing can be very helpful, but the bus
9631          # may not busy enough to flush the queue consistently.  Setting this to a reasonable
9632          # value (1-30 seconds) will cause the queue to be flushed when the oldest event is older
9633          # than `event_return_queue_max_seconds` regardless of how many events are in the queue.
9634          #event_return_queue_max_seconds: 0
9635
9636          # Only return events matching tags in a whitelist, supports glob matches.
9637          #event_return_whitelist:
9638          #  - salt/master/a_tag
9639          #  - salt/run/*/ret
9640
9641          # Store all event returns **except** the tags in a blacklist, supports globs.
9642          #event_return_blacklist:
9643          #  - salt/master/not_this_tag
9644          #  - salt/wheel/*/ret
9645
9646          # Passing very large events can cause the minion to consume large amounts of
9647          # memory. This value tunes the maximum size of a message allowed onto the
9648          # master event bus. The value is expressed in bytes.
9649          #max_event_size: 1048576
9650
9651          # Windows platforms lack posix IPC and must rely on slower TCP based inter-
9652          # process communications. Set ipc_mode to 'tcp' on such systems
9653          #ipc_mode: ipc
9654
9655          # Overwrite the default tcp ports used by the minion when ipc_mode is set to 'tcp'
9656          #tcp_master_pub_port: 4510
9657          #tcp_master_pull_port: 4511
9658
9659          # By default, the master AES key rotates every 24 hours. The next command
9660          # following a key rotation will trigger a key refresh from the minion which may
9661          # result in minions which do not respond to the first command after a key refresh.
9662          #
9663          # To tell the master to ping all minions immediately after an AES key refresh, set
9664          # ping_on_rotate to True. This should mitigate the issue where a minion does not
9665          # appear to initially respond after a key is rotated.
9666          #
9667          # Note that ping_on_rotate may cause high load on the master immediately after
9668          # the key rotation event as minions reconnect. Consider this carefully if this
9669          # salt master is managing a large number of minions.
9670          #
9671          # If disabled, it is recommended to handle this event by listening for the
9672          # 'aes_key_rotate' event with the 'key' tag and acting appropriately.
9673          # ping_on_rotate: False
9674
9675          # By default, the master deletes its cache of minion data when the key for that
9676          # minion is removed. To preserve the cache after key deletion, set
9677          # 'preserve_minion_cache' to True.
9678          #
9679          # WARNING: This may have security implications if compromised minions auth with
9680          # a previous deleted minion ID.
9681          #preserve_minion_cache: False
9682
9683          # Allow or deny minions from requesting their own key revocation
9684          #allow_minion_key_revoke: True
9685
9686          # If max_minions is used in large installations, the master might experience
9687          # high-load situations because of having to check the number of connected
9688          # minions for every authentication. This cache provides the minion-ids of
9689          # all connected minions to all MWorker-processes and greatly improves the
9690          # performance of max_minions.
9691          # con_cache: False
9692
9693          # The master can include configuration from other files. To enable this,
9694          # pass a list of paths to this option. The paths can be either relative or
9695          # absolute; if relative, they are considered to be relative to the directory
9696          # the main master configuration file lives in (this file). Paths can make use
9697          # of shell-style globbing. If no files are matched by a path passed to this
9698          # option, then the master will log a warning message.
9699          #
9700          # Include a config file from some other path:
9701          # include: /etc/salt/extra_config
9702          #
9703          # Include config from several files and directories:
9704          # include:
9705          #   - /etc/salt/extra_config
9706
9707
9708          #####  Large-scale tuning settings   #####
9709          ##########################################
9710          # Max open files
9711          #
9712          # Each minion connecting to the master uses AT LEAST one file descriptor, the
9713          # master subscription connection. If enough minions connect you might start
9714          # seeing on the console (and then salt-master crashes):
9715          #   Too many open files (tcp_listener.cpp:335)
9716          #   Aborted (core dumped)
9717          #
9718          # By default this value will be the one of `ulimit -Hn`, ie, the hard limit for
9719          # max open files.
9720          #
9721          # If you wish to set a different value than the default one, uncomment and
9722          # configure this setting. Remember that this value CANNOT be higher than the
9723          # hard limit. Raising the hard limit depends on your OS and/or distribution,
9724          # a good way to find the limit is to search the internet. For example:
9725          #   raise max open files hard limit debian
9726          #
9727          #max_open_files: 100000
9728
9729          # The number of worker threads to start. These threads are used to manage
9730          # return calls made from minions to the master. If the master seems to be
9731          # running slowly, increase the number of threads. This setting can not be
9732          # set lower than 3.
9733          #worker_threads: 5
9734
9735          # Set the ZeroMQ high water marks
9736          # http://api.zeromq.org/3-2:zmq-setsockopt
9737
9738          # The listen queue size / backlog
9739          #zmq_backlog: 1000
9740
9741          # The publisher interface ZeroMQPubServerChannel
9742          #pub_hwm: 1000
9743
9744          # The master may allocate memory per-event and not
9745          # reclaim it.
9746          # To set a high-water mark for memory allocation, use
9747          # ipc_write_buffer to set a high-water mark for message
9748          # buffering.
9749          # Value: In bytes. Set to 'dynamic' to have Salt select
9750          # a value for you. Default is disabled.
9751          # ipc_write_buffer: 'dynamic'
9752
9753          # These two batch settings, batch_safe_limit and batch_safe_size, are used to
9754          # automatically switch to a batch mode execution. If a command would have been
9755          # sent to more than <batch_safe_limit> minions, then run the command in
9756          # batches of <batch_safe_size>. If no batch_safe_size is specified, a default
9757          # of 8 will be used. If no batch_safe_limit is specified, then no automatic
9758          # batching will occur.
9759          #batch_safe_limit: 100
9760          #batch_safe_size: 8
9761
9762          # Master stats enables stats events to be fired from the master at close
9763          # to the defined interval
9764          #master_stats: False
9765          #master_stats_event_iter: 60
9766
9767
9768          #####        Security settings       #####
9769          ##########################################
9770          # Enable passphrase protection of Master private key.  Although a string value
9771          # is acceptable; passwords should be stored in an external vaulting mechanism
9772          # and retrieved via sdb. See https://docs.saltstack.com/en/latest/topics/sdb/.
9773          # Passphrase protection is off by default but an example of an sdb profile and
9774          # query is as follows.
9775          # masterkeyring:
9776          #  driver: keyring
9777          #  service: system
9778          #
9779          # key_pass: sdb://masterkeyring/key_pass
9780
9781          # Enable passphrase protection of the Master signing_key. This only applies if
9782          # master_sign_pubkey is set to True.  This is disabled by default.
9783          # master_sign_pubkey: True
9784          # signing_key_pass: sdb://masterkeyring/signing_pass
9785
9786          # Enable "open mode", this mode still maintains encryption, but turns off
9787          # authentication, this is only intended for highly secure environments or for
9788          # the situation where your keys end up in a bad state. If you run in open mode
9789          # you do so at your own risk!
9790          #open_mode: False
9791
9792          # Enable auto_accept, this setting will automatically accept all incoming
9793          # public keys from the minions. Note that this is insecure.
9794          #auto_accept: False
9795
9796          # The size of key that should be generated when creating new keys.
9797          #keysize: 2048
9798
9799          # Time in minutes that an incoming public key with a matching name found in
9800          # pki_dir/minion_autosign/keyid is automatically accepted. Expired autosign keys
9801          # are removed when the master checks the minion_autosign directory.
9802          # 0 equals no timeout
9803          # autosign_timeout: 120
9804
9805          # If the autosign_file is specified, incoming keys specified in the
9806          # autosign_file will be automatically accepted. This is insecure.  Regular
9807          # expressions as well as globing lines are supported. The file must be readonly
9808          # except for the owner. Use permissive_pki_access to allow the group write access.
9809          #autosign_file: /etc/salt/autosign.conf
9810
9811          # Works like autosign_file, but instead allows you to specify minion IDs for
9812          # which keys will automatically be rejected. Will override both membership in
9813          # the autosign_file and the auto_accept setting.
9814          #autoreject_file: /etc/salt/autoreject.conf
9815
9816          # If the autosign_grains_dir is specified, incoming keys from minions with grain
9817          # values matching those defined in files in this directory will be accepted
9818          # automatically. This is insecure. Minions need to be configured to send the grains.
9819          #autosign_grains_dir: /etc/salt/autosign_grains
9820
9821          # Enable permissive access to the salt keys. This allows you to run the
9822          # master or minion as root, but have a non-root group be given access to
9823          # your pki_dir. To make the access explicit, root must belong to the group
9824          # you've given access to. This is potentially quite insecure. If an autosign_file
9825          # is specified, enabling permissive_pki_access will allow group access to that
9826          # specific file.
9827          #permissive_pki_access: False
9828
9829          # Allow users on the master access to execute specific commands on minions.
9830          # This setting should be treated with care since it opens up execution
9831          # capabilities to non root users. By default this capability is completely
9832          # disabled.
9833          #publisher_acl:
9834          #  larry:
9835          #    - test.ping
9836          #    - network.*
9837          #
9838          # Blacklist any of the following users or modules
9839          #
9840          # This example would blacklist all non sudo users, including root from
9841          # running any commands. It would also blacklist any use of the "cmd"
9842          # module. This is completely disabled by default.
9843          #
9844          #
9845          # Check the list of configured users in client ACL against users on the
9846          # system and throw errors if they do not exist.
9847          #client_acl_verify: True
9848          #
9849          #publisher_acl_blacklist:
9850          #  users:
9851          #    - root
9852          #    - '^(?!sudo_).*$'   #  all non sudo users
9853          #  modules:
9854          #    - cmd
9855
9856          # Enforce publisher_acl & publisher_acl_blacklist when users have sudo
9857          # access to the salt command.
9858          #
9859          #sudo_acl: False
9860
9861          # The external auth system uses the Salt auth modules to authenticate and
9862          # validate users to access areas of the Salt system.
9863          #external_auth:
9864          #  pam:
9865          #    fred:
9866          #      - test.*
9867          #
9868          # Time (in seconds) for a newly generated token to live. Default: 12 hours
9869          #token_expire: 43200
9870          #
9871          # Allow eauth users to specify the expiry time of the tokens they generate.
9872          # A boolean applies to all users or a dictionary of whitelisted eauth backends
9873          # and usernames may be given.
9874          # token_expire_user_override:
9875          #   pam:
9876          #     - fred
9877          #     - tom
9878          #   ldap:
9879          #     - gary
9880          #
9881          #token_expire_user_override: False
9882
9883          # Set to True to enable keeping the calculated user's auth list in the token
9884          # file. This is disabled by default and the auth list is calculated or requested
9885          # from the eauth driver each time.
9886          #keep_acl_in_token: False
9887
9888          # Auth subsystem module to use to get authorized access list for a user. By default it's
9889          # the same module used for external authentication.
9890          #eauth_acl_module: django
9891
9892          # Allow minions to push files to the master. This is disabled by default, for
9893          # security purposes.
9894          #file_recv: False
9895
9896          # Set a hard-limit on the size of the files that can be pushed to the master.
9897          # It will be interpreted as megabytes. Default: 100
9898          #file_recv_max_size: 100
9899
9900          # Signature verification on messages published from the master.
9901          # This causes the master to cryptographically sign all messages published to its event
9902          # bus, and minions then verify that signature before acting on the message.
9903          #
9904          # This is False by default.
9905          #
9906          # Note that to facilitate interoperability with masters and minions that are different
9907          # versions, if sign_pub_messages is True but a message is received by a minion with
9908          # no signature, it will still be accepted, and a warning message will be logged.
9909          # Conversely, if sign_pub_messages is False, but a minion receives a signed
9910          # message it will be accepted, the signature will not be checked, and a warning message
9911          # will be logged. This behavior went away in Salt 2014.1.0 and these two situations
9912          # will cause minion to throw an exception and drop the message.
9913          # sign_pub_messages: False
9914
9915          # Signature verification on messages published from minions
9916          # This requires that minions cryptographically sign the messages they
9917          # publish to the master.  If minions are not signing, then log this information
9918          # at loglevel 'INFO' and drop the message without acting on it.
9919          # require_minion_sign_messages: False
9920
9921          # The below will drop messages when their signatures do not validate.
9922          # Note that when this option is False but `require_minion_sign_messages` is True
9923          # minions MUST sign their messages but the validity of their signatures
9924          # is ignored.
9925          # These two config options exist so a Salt infrastructure can be moved
9926          # to signing minion messages gradually.
9927          # drop_messages_signature_fail: False
9928
9929          # Use TLS/SSL encrypted connection between master and minion.
9930          # Can be set to a dictionary containing keyword arguments corresponding to Python's
9931          # 'ssl.wrap_socket' method.
9932          # Default is None.
9933          #ssl:
9934          #    keyfile: <path_to_keyfile>
9935          #    certfile: <path_to_certfile>
9936          #    ssl_version: PROTOCOL_TLSv1_2
9937
9938          #####     Salt-SSH Configuration     #####
9939          ##########################################
9940          # Define the default salt-ssh roster module to use
9941          #roster: flat
9942
9943          # Pass in an alternative location for the salt-ssh `flat` roster file
9944          #roster_file: /etc/salt/roster
9945
9946          # Define locations for `flat` roster files so they can be chosen when using Salt API.
9947          # An administrator can place roster files into these locations. Then when
9948          # calling Salt API, parameter 'roster_file' should contain a relative path to
9949          # these locations. That is, "roster_file=/foo/roster" will be resolved as
9950          # "/etc/salt/roster.d/foo/roster" etc. This feature prevents passing insecure
9951          # custom rosters through the Salt API.
9952          #
9953          #rosters:
9954          # - /etc/salt/roster.d
9955          # - /opt/salt/some/more/rosters
9956
9957          # The ssh password to log in with.
9958          #ssh_passwd: ''
9959
9960          #The target system's ssh port number.
9961          #ssh_port: 22
9962
9963          # Comma-separated list of ports to scan.
9964          #ssh_scan_ports: 22
9965
9966          # Scanning socket timeout for salt-ssh.
9967          #ssh_scan_timeout: 0.01
9968
9969          # Boolean to run command via sudo.
9970          #ssh_sudo: False
9971
9972          # Number of seconds to wait for a response when establishing an SSH connection.
9973          #ssh_timeout: 60
9974
9975          # The user to log in as.
9976          #ssh_user: root
9977
9978          # The log file of the salt-ssh command:
9979          #ssh_log_file: /var/log/salt/ssh
9980
9981          # Pass in minion option overrides that will be inserted into the SHIM for
9982          # salt-ssh calls. The local minion config is not used for salt-ssh. Can be
9983          # overridden on a per-minion basis in the roster (`minion_opts`)
9984          #ssh_minion_opts:
9985          #  gpg_keydir: /root/gpg
9986
9987          # Set this to True to default to using ~/.ssh/id_rsa for salt-ssh
9988          # authentication with minions
9989          #ssh_use_home_key: False
9990
9991          # Set this to True to default salt-ssh to run with ``-o IdentitiesOnly=yes``.
9992          # This option is intended for situations where the ssh-agent offers many
9993          # different identities and allows ssh to ignore those identities and use the
9994          # only one specified in options.
9995          #ssh_identities_only: False
9996
9997          # List-only nodegroups for salt-ssh. Each group must be formed as either a
9998          # comma-separated list, or a YAML list. This option is useful to group minions
9999          # into easy-to-target groups when using salt-ssh. These groups can then be
10000          # targeted with the normal -N argument to salt-ssh.
10001          #ssh_list_nodegroups: {}
10002
10003          # salt-ssh has the ability to update the flat roster file if a minion is not
10004          # found in the roster.  Set this to True to enable it.
10005          #ssh_update_roster: False
10006
10007          #####    Master Module Management    #####
10008          ##########################################
10009          # Manage how master side modules are loaded.
10010
10011          # Add any additional locations to look for master runners:
10012          #runner_dirs: []
10013
10014          # Add any additional locations to look for master utils:
10015          #utils_dirs: []
10016
10017          # Enable Cython for master side modules:
10018          #cython_enable: False
10019
10020
10021          #####      State System settings     #####
10022          ##########################################
10023          # The state system uses a "top" file to tell the minions what environment to
10024          # use and what modules to use. The state_top file is defined relative to the
10025          # root of the base environment as defined in "File Server settings" below.
10026          #state_top: top.sls
10027
10028          # The master_tops option replaces the external_nodes option by creating
10029          # a plugable system for the generation of external top data. The external_nodes
10030          # option is deprecated by the master_tops option.
10031          #
10032          # To gain the capabilities of the classic external_nodes system, use the
10033          # following configuration:
10034          # master_tops:
10035          #   ext_nodes: <Shell command which returns yaml>
10036          #
10037          #master_tops: {}
10038
10039          # The renderer to use on the minions to render the state data
10040          #renderer: jinja|yaml
10041
10042          # Default Jinja environment options for all templates except sls templates
10043          #jinja_env:
10044          #  block_start_string: '{%'
10045          #  block_end_string: '%}'
10046          #  variable_start_string: '{{'
10047          #  variable_end_string: '}}'
10048          #  comment_start_string: '{#'
10049          #  comment_end_string: '#}'
10050          #  line_statement_prefix:
10051          #  line_comment_prefix:
10052          #  trim_blocks: False
10053          #  lstrip_blocks: False
10054          #  newline_sequence: '\n'
10055          #  keep_trailing_newline: False
10056
10057          # Jinja environment options for sls templates
10058          #jinja_sls_env:
10059          #  block_start_string: '{%'
10060          #  block_end_string: '%}'
10061          #  variable_start_string: '{{'
10062          #  variable_end_string: '}}'
10063          #  comment_start_string: '{#'
10064          #  comment_end_string: '#}'
10065          #  line_statement_prefix:
10066          #  line_comment_prefix:
10067          #  trim_blocks: False
10068          #  lstrip_blocks: False
10069          #  newline_sequence: '\n'
10070          #  keep_trailing_newline: False
10071
10072          # The failhard option tells the minions to stop immediately after the first
10073          # failure detected in the state execution, defaults to False
10074          #failhard: False
10075
10076          # The state_verbose and state_output settings can be used to change the way
10077          # state system data is printed to the display. By default all data is printed.
10078          # The state_verbose setting can be set to True or False, when set to False
10079          # all data that has a result of True and no changes will be suppressed.
10080          #state_verbose: True
10081
10082          # The state_output setting controls which results will be output full multi line
10083          # full, terse - each state will be full/terse
10084          # mixed - only states with errors will be full
10085          # changes - states with changes and errors will be full
10086          # full_id, mixed_id, changes_id and terse_id are also allowed;
10087          # when set, the state ID will be used as name in the output
10088          #state_output: full
10089
10090          # The state_output_diff setting changes whether or not the output from
10091          # successful states is returned. Useful when even the terse output of these
10092          # states is cluttering the logs. Set it to True to ignore them.
10093          #state_output_diff: False
10094
10095          # Automatically aggregate all states that have support for mod_aggregate by
10096          # setting to 'True'. Or pass a list of state module names to automatically
10097          # aggregate just those types.
10098          #
10099          # state_aggregate:
10100          #   - pkg
10101          #
10102          #state_aggregate: False
10103
10104          # Send progress events as each function in a state run completes execution
10105          # by setting to 'True'. Progress events are in the format
10106          # 'salt/job/<JID>/prog/<MID>/<RUN NUM>'.
10107          #state_events: False
10108
10109          #####      File Server settings      #####
10110          ##########################################
10111          # Salt runs a lightweight file server written in zeromq to deliver files to
10112          # minions. This file server is built into the master daemon and does not
10113          # require a dedicated port.
10114
10115          # The file server works on environments passed to the master, each environment
10116          # can have multiple root directories, the subdirectories in the multiple file
10117          # roots cannot match, otherwise the downloaded files will not be able to be
10118          # reliably ensured. A base environment is required to house the top file.
10119          # Example:
10120          # file_roots:
10121          #   base:
10122          #     - /srv/salt/
10123          #   dev:
10124          #     - /srv/salt/dev/services
10125          #     - /srv/salt/dev/states
10126          #   prod:
10127          #     - /srv/salt/prod/services
10128          #     - /srv/salt/prod/states
10129          #
10130          #file_roots:
10131          #  base:
10132          #    - /srv/salt
10133          #
10134
10135          # The master_roots setting configures a master-only copy of the file_roots dictionary,
10136          # used by the state compiler.
10137          #master_roots: /srv/salt-master
10138
10139          # When using multiple environments, each with their own top file, the
10140          # default behaviour is an unordered merge. To prevent top files from
10141          # being merged together and instead to only use the top file from the
10142          # requested environment, set this value to 'same'.
10143          #top_file_merging_strategy: merge
10144
10145          # To specify the order in which environments are merged, set the ordering
10146          # in the env_order option. Given a conflict, the last matching value will
10147          # win.
10148          #env_order: ['base', 'dev', 'prod']
10149
10150          # If top_file_merging_strategy is set to 'same' and an environment does not
10151          # contain a top file, the top file in the environment specified by default_top
10152          # will be used instead.
10153          #default_top: base
10154
10155          # The hash_type is the hash to use when discovering the hash of a file on
10156          # the master server. The default is sha256, but md5, sha1, sha224, sha384 and
10157          # sha512 are also supported.
10158          #
10159          # WARNING: While md5 and sha1 are also supported, do not use them due to the
10160          # high chance of possible collisions and thus security breach.
10161          #
10162          # Prior to changing this value, the master should be stopped and all Salt
10163          # caches should be cleared.
10164          #hash_type: sha256
10165
10166          # The buffer size in the file server can be adjusted here:
10167          #file_buffer_size: 1048576
10168
10169          # A regular expression (or a list of expressions) that will be matched
10170          # against the file path before syncing the modules and states to the minions.
10171          # This includes files affected by the file.recurse state.
10172          # For example, if you manage your custom modules and states in subversion
10173          # and don't want all the '.svn' folders and content synced to your minions,
10174          # you could set this to '/\.svn($|/)'. By default nothing is ignored.
10175          #file_ignore_regex:
10176          #  - '/\.svn($|/)'
10177          #  - '/\.git($|/)'
10178
10179          # A file glob (or list of file globs) that will be matched against the file
10180          # path before syncing the modules and states to the minions. This is similar
10181          # to file_ignore_regex above, but works on globs instead of regex. By default
10182          # nothing is ignored.
10183          # file_ignore_glob:
10184          #  - '*.pyc'
10185          #  - '*/somefolder/*.bak'
10186          #  - '*.swp'
10187
10188          # File Server Backend
10189          #
10190          # Salt supports a modular fileserver backend system, this system allows
10191          # the salt master to link directly to third party systems to gather and
10192          # manage the files available to minions. Multiple backends can be
10193          # configured and will be searched for the requested file in the order in which
10194          # they are defined here. The default setting only enables the standard backend
10195          # "roots" which uses the "file_roots" option.
10196          #fileserver_backend:
10197          #  - roots
10198          #
10199          # To use multiple backends list them in the order they are searched:
10200          #fileserver_backend:
10201          #  - git
10202          #  - roots
10203          #
10204          # Uncomment the line below if you do not want the file_server to follow
10205          # symlinks when walking the filesystem tree. This is set to True
10206          # by default. Currently this only applies to the default roots
10207          # fileserver_backend.
10208          #fileserver_followsymlinks: False
10209          #
10210          # Uncomment the line below if you do not want symlinks to be
10211          # treated as the files they are pointing to. By default this is set to
10212          # False. By uncommenting the line below, any detected symlink while listing
10213          # files on the Master will not be returned to the Minion.
10214          #fileserver_ignoresymlinks: True
10215          #
10216          # By default, the Salt fileserver recurses fully into all defined environments
10217          # to attempt to find files. To limit this behavior so that the fileserver only
10218          # traverses directories with SLS files and special Salt directories like _modules,
10219          # enable the option below. This might be useful for installations where a file root
10220          # has a very large number of files and performance is impacted. Default is False.
10221          # fileserver_limit_traversal: False
10222          #
10223          # The fileserver can fire events off every time the fileserver is updated,
10224          # these are disabled by default, but can be easily turned on by setting this
10225          # flag to True
10226          #fileserver_events: False
10227
10228          # Git File Server Backend Configuration
10229          #
10230          # Optional parameter used to specify the provider to be used for gitfs. Must be
10231          # either pygit2 or gitpython. If unset, then both will be tried (in that
10232          # order), and the first one with a compatible version installed will be the
10233          # provider that is used.
10234          #
10235          #gitfs_provider: pygit2
10236
10237          # Along with gitfs_password, is used to authenticate to HTTPS remotes.
10238          # gitfs_user: ''
10239
10240          # Along with gitfs_user, is used to authenticate to HTTPS remotes.
10241          # This parameter is not required if the repository does not use authentication.
10242          #gitfs_password: ''
10243
10244          # By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
10245          # This parameter enables authentication over HTTP. Enable this at your own risk.
10246          #gitfs_insecure_auth: False
10247
10248          # Along with gitfs_privkey (and optionally gitfs_passphrase), is used to
10249          # authenticate to SSH remotes. This parameter (or its per-remote counterpart)
10250          # is required for SSH remotes.
10251          #gitfs_pubkey: ''
10252
10253          # Along with gitfs_pubkey (and optionally gitfs_passphrase), is used to
10254          # authenticate to SSH remotes. This parameter (or its per-remote counterpart)
10255          # is required for SSH remotes.
10256          #gitfs_privkey: ''
10257
10258          # This parameter is optional, required only when the SSH key being used to
10259          # authenticate is protected by a passphrase.
10260          #gitfs_passphrase: ''
10261
10262          # When using the git fileserver backend at least one git remote needs to be
10263          # defined. The user running the salt master will need read access to the repo.
10264          #
10265          # The repos will be searched in order to find the file requested by a client
10266          # and the first repo to have the file will return it.
10267          # When using the git backend branches and tags are translated into salt
10268          # environments.
10269          # Note: file:// repos will be treated as a remote, so refs you want used must
10270          # exist in that repo as *local* refs.
10271          #gitfs_remotes:
10272          #  - git://github.com/saltstack/salt-states.git
10273          #  - file:///var/git/saltmaster
10274          #
10275          # The gitfs_ssl_verify option specifies whether to ignore ssl certificate
10276          # errors when contacting the gitfs backend. You might want to set this to
10277          # false if you're using a git backend that uses a self-signed certificate but
10278          # keep in mind that setting this flag to anything other than the default of True
10279          # is a security concern, you may want to try using the ssh transport.
10280          #gitfs_ssl_verify: True
10281          #
10282          # The gitfs_root option gives the ability to serve files from a subdirectory
10283          # within the repository. The path is defined relative to the root of the
10284          # repository and defaults to the repository root.
10285          #gitfs_root: somefolder/otherfolder
10286          #
10287          # The refspecs fetched by gitfs remotes
10288          #gitfs_refspecs:
10289          #  - '+refs/heads/*:refs/remotes/origin/*'
10290          #  - '+refs/tags/*:refs/tags/*'
10291          #
10292          #
10293          #####         Pillar settings        #####
10294          ##########################################
10295          # Salt Pillars allow for the building of global data that can be made selectively
10296          # available to different minions based on minion grain filtering. The Salt
10297          # Pillar is laid out in the same fashion as the file server, with environments,
10298          # a top file and sls files. However, pillar data does not need to be in the
10299          # highstate format, and is generally just key/value pairs.
10300          #pillar_roots:
10301          #  base:
10302          #    - /srv/pillar
10303          #
10304          #ext_pillar:
10305          #  - hiera: /etc/hiera.yaml
10306          #  - cmd_yaml: cat /etc/salt/yaml
10307
10308
10309          # A list of paths to be recursively decrypted during pillar compilation.
10310          # Entries in this list can be formatted either as a simple string, or as a
10311          # key/value pair, with the key being the pillar location, and the value being
10312          # the renderer to use for pillar decryption. If the former is used, the
10313          # renderer specified by decrypt_pillar_default will be used.
10314          #decrypt_pillar:
10315          #  - 'foo:bar': gpg
10316          #  - 'lorem:ipsum:dolor'
10317
10318          # The delimiter used to distinguish nested data structures in the
10319          # decrypt_pillar option.
10320          #decrypt_pillar_delimiter: ':'
10321
10322          # The default renderer used for decryption, if one is not specified for a given
10323          # pillar key in decrypt_pillar.
10324          #decrypt_pillar_default: gpg
10325
10326          # List of renderers which are permitted to be used for pillar decryption.
10327          #decrypt_pillar_renderers:
10328          #  - gpg
10329
10330          # The ext_pillar_first option allows for external pillar sources to populate
10331          # before file system pillar. This allows for targeting file system pillar from
10332          # ext_pillar.
10333          #ext_pillar_first: False
10334
10335          # The external pillars permitted to be used on-demand using pillar.ext
10336          #on_demand_ext_pillar:
10337          #  - libvirt
10338          #  - virtkey
10339
10340          # The pillar_gitfs_ssl_verify option specifies whether to ignore ssl certificate
10341          # errors when contacting the pillar gitfs backend. You might want to set this to
10342          # false if you're using a git backend that uses a self-signed certificate but
10343          # keep in mind that setting this flag to anything other than the default of True
10344          # is a security concern, you may want to try using the ssh transport.
10345          #pillar_gitfs_ssl_verify: True
10346
10347          # The pillar_opts option adds the master configuration file data to a dict in
10348          # the pillar called "master". This is used to set simple configurations in the
10349          # master config file that can then be used on minions.
10350          #pillar_opts: False
10351
10352          # The pillar_safe_render_error option prevents the master from passing pillar
10353          # render errors to the minion. This is set on by default because the error could
10354          # contain templating data which would give that minion information it shouldn't
10355          # have, like a password! When set true the error message will only show:
10356          #   Rendering SLS 'my.sls' failed. Please see master log for details.
10357          #pillar_safe_render_error: True
10358
10359          # The pillar_source_merging_strategy option allows you to configure merging strategy
10360          # between different sources. It accepts five values: none, recurse, aggregate, overwrite,
10361          # or smart. None will not do any merging at all. Recurse will merge recursively mapping of data.
10362          # Aggregate instructs aggregation of elements between sources that use the #!yamlex renderer. Overwrite
10363          # will overwrite elements according the order in which they are processed. This is
10364          # behavior of the 2014.1 branch and earlier. Smart guesses the best strategy based
10365          # on the "renderer" setting and is the default value.
10366          #pillar_source_merging_strategy: smart
10367
10368          # Recursively merge lists by aggregating them instead of replacing them.
10369          #pillar_merge_lists: False
10370
10371          # Set this option to True to force the pillarenv to be the same as the effective
10372          # saltenv when running states. If pillarenv is specified this option will be
10373          # ignored.
10374          #pillarenv_from_saltenv: False
10375
10376          # Set this option to 'True' to force a 'KeyError' to be raised whenever an
10377          # attempt to retrieve a named value from pillar fails. When this option is set
10378          # to 'False', the failed attempt returns an empty string. Default is 'False'.
10379          #pillar_raise_on_missing: False
10380
10381          # Git External Pillar (git_pillar) Configuration Options
10382          #
10383          # Specify the provider to be used for git_pillar. Must be either pygit2 or
10384          # gitpython. If unset, then both will be tried in that same order, and the
10385          # first one with a compatible version installed will be the provider that
10386          # is used.
10387          #git_pillar_provider: pygit2
10388
10389          # If the desired branch matches this value, and the environment is omitted
10390          # from the git_pillar configuration, then the environment for that git_pillar
10391          # remote will be base.
10392          #git_pillar_base: master
10393
10394          # If the branch is omitted from a git_pillar remote, then this branch will
10395          # be used instead
10396          #git_pillar_branch: master
10397
10398          # Environment to use for git_pillar remotes. This is normally derived from
10399          # the branch/tag (or from a per-remote env parameter), but if set this will
10400          # override the process of deriving the env from the branch/tag name.
10401          #git_pillar_env: ''
10402
10403          # Path relative to the root of the repository where the git_pillar top file
10404          # and SLS files are located.
10405          #git_pillar_root: ''
10406
10407          # Specifies whether or not to ignore SSL certificate errors when contacting
10408          # the remote repository.
10409          #git_pillar_ssl_verify: False
10410
10411          # When set to False, if there is an update/checkout lock for a git_pillar
10412          # remote and the pid written to it is not running on the master, the lock
10413          # file will be automatically cleared and a new lock will be obtained.
10414          #git_pillar_global_lock: True
10415
10416          # Git External Pillar Authentication Options
10417          #
10418          # Along with git_pillar_password, is used to authenticate to HTTPS remotes.
10419          #git_pillar_user: ''
10420
10421          # Along with git_pillar_user, is used to authenticate to HTTPS remotes.
10422          # This parameter is not required if the repository does not use authentication.
10423          #git_pillar_password: ''
10424
10425          # By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
10426          # This parameter enables authentication over HTTP.
10427          #git_pillar_insecure_auth: False
10428
10429          # Along with git_pillar_privkey (and optionally git_pillar_passphrase),
10430          # is used to authenticate to SSH remotes.
10431          #git_pillar_pubkey: ''
10432
10433          # Along with git_pillar_pubkey (and optionally git_pillar_passphrase),
10434          # is used to authenticate to SSH remotes.
10435          #git_pillar_privkey: ''
10436
10437          # This parameter is optional, required only when the SSH key being used
10438          # to authenticate is protected by a passphrase.
10439          #git_pillar_passphrase: ''
10440
10441          # The refspecs fetched by git_pillar remotes
10442          #git_pillar_refspecs:
10443          #  - '+refs/heads/*:refs/remotes/origin/*'
10444          #  - '+refs/tags/*:refs/tags/*'
10445
10446          # A master can cache pillars locally to bypass the expense of having to render them
10447          # for each minion on every request. This feature should only be enabled in cases
10448          # where pillar rendering time is known to be unsatisfactory and any attendant security
10449          # concerns about storing pillars in a master cache have been addressed.
10450          #
10451          # When enabling this feature, be certain to read through the additional ``pillar_cache_*``
10452          # configuration options to fully understand the tunable parameters and their implications.
10453          #
10454          # Note: setting ``pillar_cache: True`` has no effect on targeting Minions with Pillars.
10455          # See https://docs.saltstack.com/en/latest/topics/targeting/pillar.html
10456          #pillar_cache: False
10457
10458          # If and only if a master has set ``pillar_cache: True``, the cache TTL controls the amount
10459          # of time, in seconds, before the cache is considered invalid by a master and a fresh
10460          # pillar is recompiled and stored.
10461          #pillar_cache_ttl: 3600
10462
10463          # If and only if a master has set `pillar_cache: True`, one of several storage providers
10464          # can be utilized.
10465          #
10466          # `disk`: The default storage backend. This caches rendered pillars to the master cache.
10467          #         Rendered pillars are serialized and deserialized as msgpack structures for speed.
10468          #         Note that pillars are stored UNENCRYPTED. Ensure that the master cache
10469          #         has permissions set appropriately. (Same defaults are provided.)
10470          #
10471          # memory: [EXPERIMENTAL] An optional backend for pillar caches which uses a pure-Python
10472          #         in-memory data structure for maximal performance. There are several caveats,
10473          #         however. First, because each master worker contains its own in-memory cache,
10474          #         there is no guarantee of cache consistency between minion requests. This
10475          #         works best in situations where the pillar rarely if ever changes. Secondly,
10476          #         and perhaps more importantly, this means that unencrypted pillars will
10477          #         be accessible to any process which can examine the memory of the ``salt-master``!
10478          #         This may represent a substantial security risk.
10479          #
10480          #pillar_cache_backend: disk
10481
10482
10483          ######        Reactor Settings        #####
10484          ###########################################
10485          # Define a salt reactor. See https://docs.saltstack.com/en/latest/topics/reactor/
10486          #reactor: []
10487
10488          #Set the TTL for the cache of the reactor configuration.
10489          #reactor_refresh_interval: 60
10490
10491          #Configure the number of workers for the runner/wheel in the reactor.
10492          #reactor_worker_threads: 10
10493
10494          #Define the queue size for workers in the reactor.
10495          #reactor_worker_hwm: 10000
10496
10497
10498          #####          Syndic settings       #####
10499          ##########################################
10500          # The Salt syndic is used to pass commands through a master from a higher
10501          # master. Using the syndic is simple. If this is a master that will have
10502          # syndic servers(s) below it, then set the "order_masters" setting to True.
10503          #
10504          # If this is a master that will be running a syndic daemon for passthrough, then
10505          # the "syndic_master" setting needs to be set to the location of the master server
10506          # to receive commands from.
10507
10508          # Set the order_masters setting to True if this master will command lower
10509          # masters' syndic interfaces.
10510          #order_masters: False
10511
10512          # If this master will be running a salt syndic daemon, syndic_master tells
10513          # this master where to receive commands from.
10514          #syndic_master: masterofmasters
10515
10516          # This is the 'ret_port' of the MasterOfMaster:
10517          #syndic_master_port: 4506
10518
10519          # PID file of the syndic daemon:
10520          #syndic_pidfile: /var/run/salt-syndic.pid
10521
10522          # The log file of the salt-syndic daemon:
10523          #syndic_log_file: /var/log/salt/syndic
10524
10525          # The behaviour of the multi-syndic when connection to a master of masters failed.
10526          # Can specify ``random`` (default) or ``ordered``. If set to ``random``, masters
10527          # will be iterated in random order. If ``ordered`` is specified, the configured
10528          # order will be used.
10529          #syndic_failover: random
10530
10531          # The number of seconds for the salt client to wait for additional syndics to
10532          # check in with their lists of expected minions before giving up.
10533          #syndic_wait: 5
10534
10535
10536          #####      Peer Publish settings     #####
10537          ##########################################
10538          # Salt minions can send commands to other minions, but only if the minion is
10539          # allowed to. By default "Peer Publication" is disabled, and when enabled it
10540          # is enabled for specific minions and specific commands. This allows secure
10541          # compartmentalization of commands based on individual minions.
10542
10543          # The configuration uses regular expressions to match minions and then a list
10544          # of regular expressions to match functions. The following will allow the
10545          # minion authenticated as foo.example.com to execute functions from the test
10546          # and pkg modules.
10547          #peer:
10548          #  foo.example.com:
10549          #    - test.*
10550          #    - pkg.*
10551          #
10552          # This will allow all minions to execute all commands:
10553          #peer:
10554          #  .*:
10555          #    - .*
10556          #
10557          # This is not recommended, since it would allow anyone who gets root on any
10558          # single minion to instantly have root on all of the minions!
10559
10560          # Minions can also be allowed to execute runners from the salt master.
10561          # Since executing a runner from the minion could be considered a security risk,
10562          # it needs to be enabled. This setting functions just like the peer setting
10563          # except that it opens up runners instead of module functions.
10564          #
10565          # All peer runner support is turned off by default and must be enabled before
10566          # using. This will enable all peer runners for all minions:
10567          #peer_run:
10568          #  .*:
10569          #    - .*
10570          #
10571          # To enable just the manage.up runner for the minion foo.example.com:
10572          #peer_run:
10573          #  foo.example.com:
10574          #    - manage.up
10575          #
10576          #
10577          #####         Mine settings     #####
10578          #####################################
10579          # Restrict mine.get access from minions. By default any minion has a full access
10580          # to get all mine data from master cache. In acl definion below, only pcre matches
10581          # are allowed.
10582          # mine_get:
10583          #   .*:
10584          #     - .*
10585          #
10586          # The example below enables minion foo.example.com to get 'network.interfaces' mine
10587          # data only, minions web* to get all network.* and disk.* mine data and all other
10588          # minions won't get any mine data.
10589          # mine_get:
10590          #   foo.example.com:
10591          #     - network.interfaces
10592          #   web.*:
10593          #     - network.*
10594          #     - disk.*
10595
10596
10597          #####         Logging settings       #####
10598          ##########################################
10599          # The location of the master log file
10600          # The master log can be sent to a regular file, local path name, or network
10601          # location. Remote logging works best when configured to use rsyslogd(8) (e.g.:
10602          # ``file:///dev/log``), with rsyslogd(8) configured for network logging. The URI
10603          # format is: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
10604          #log_file: /var/log/salt/master
10605          #log_file: file:///dev/log
10606          #log_file: udp://loghost:10514
10607
10608          #log_file: /var/log/salt/master
10609          #key_logfile: /var/log/salt/key
10610
10611          # The level of messages to send to the console.
10612          # One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
10613          #
10614          # The following log levels are considered INSECURE and may log sensitive data:
10615          # ['garbage', 'trace', 'debug']
10616          #
10617          #log_level: warning
10618
10619          # The level of messages to send to the log file.
10620          # One of 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'critical'.
10621          # If using 'log_granular_levels' this must be set to the highest desired level.
10622          #log_level_logfile: warning
10623
10624          # The date and time format used in log messages. Allowed date/time formatting
10625          # can be seen here: http://docs.python.org/library/time.html#time.strftime
10626          #log_datefmt: '%H:%M:%S'
10627          #log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
10628
10629          # The format of the console logging messages. Allowed formatting options can
10630          # be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
10631          #
10632          # Console log colors are specified by these additional formatters:
10633          #
10634          # %(colorlevel)s
10635          # %(colorname)s
10636          # %(colorprocess)s
10637          # %(colormsg)s
10638          #
10639          # Since it is desirable to include the surrounding brackets, '[' and ']', in
10640          # the coloring of the messages, these color formatters also include padding as
10641          # well.  Color LogRecord attributes are only available for console logging.
10642          #
10643          #log_fmt_console: '%(colorlevel)s %(colormsg)s'
10644          #log_fmt_console: '[%(levelname)-8s] %(message)s'
10645          #
10646          #log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
10647
10648          # This can be used to control logging levels more specificically.  This
10649          # example sets the main salt library at the 'warning' level, but sets
10650          # 'salt.modules' to log at the 'debug' level:
10651          #   log_granular_levels:
10652          #     'salt': 'warning'
10653          #     'salt.modules': 'debug'
10654          #
10655          #log_granular_levels: {}
10656
10657
10658          #####         Node Groups           ######
10659          ##########################################
10660          # Node groups allow for logical groupings of minion nodes. A group consists of
10661          # a group name and a compound target. Nodgroups can reference other nodegroups
10662          # with 'N@' classifier. Ensure that you do not have circular references.
10663          #
10664          #nodegroups:
10665          #  group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
10666          #  group2: 'G@os:Debian and foo.domain.com'
10667          #  group3: 'G@os:Debian and N@group1'
10668          #  group4:
10669          #    - 'G@foo:bar'
10670          #    - 'or'
10671          #    - 'G@foo:baz'
10672
10673
10674          #####     Range Cluster settings     #####
10675          ##########################################
10676          # The range server (and optional port) that serves your cluster information
10677          # https://github.com/ytoolshed/range/wiki/%22yamlfile%22-module-file-spec
10678          #
10679          #range_server: range:80
10680
10681
10682          #####  Windows Software Repo settings #####
10683          ###########################################
10684          # Location of the repo on the master:
10685          #winrepo_dir_ng: '/srv/salt/win/repo-ng'
10686          #
10687          # List of git repositories to include with the local repo:
10688          #winrepo_remotes_ng:
10689          #  - 'https://github.com/saltstack/salt-winrepo-ng.git'
10690
10691
10692          #####  Windows Software Repo settings - Pre 2015.8 #####
10693          ########################################################
10694          # Legacy repo settings for pre-2015.8 Windows minions.
10695          #
10696          # Location of the repo on the master:
10697          #winrepo_dir: '/srv/salt/win/repo'
10698          #
10699          # Location of the master's repo cache file:
10700          #winrepo_mastercachefile: '/srv/salt/win/repo/winrepo.p'
10701          #
10702          # List of git repositories to include with the local repo:
10703          #winrepo_remotes:
10704          #  - 'https://github.com/saltstack/salt-winrepo.git'
10705
10706          # The refspecs fetched by winrepo remotes
10707          #winrepo_refspecs:
10708          #  - '+refs/heads/*:refs/remotes/origin/*'
10709          #  - '+refs/tags/*:refs/tags/*'
10710          #
10711
10712          #####      Returner settings          ######
10713          ############################################
10714          # Which returner(s) will be used for minion's result:
10715          #return: mysql
10716
10717
10718          ######    Miscellaneous  settings     ######
10719          ############################################
10720          # Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
10721          #event_match_type: startswith
10722
10723          # Save runner returns to the job cache
10724          #runner_returns: True
10725
10726          # Permanently include any available Python 3rd party modules into thin and minimal Salt
10727          # when they are generated for Salt-SSH or other purposes.
10728          # The modules should be named by the names they are actually imported inside the Python.
10729          # The value of the parameters can be either one module or a comma separated list of them.
10730          #thin_extra_mods: foo,bar
10731          #min_extra_mods: foo,bar,baz
10732
10733
10734          ######      Keepalive settings        ######
10735          ############################################
10736          # Warning: Failure to set TCP keepalives on the salt-master can result in
10737          # not detecting the loss of a minion when the connection is lost or when
10738          # it's host has been terminated without first closing the socket.
10739          # Salt's Presence System depends on this connection status to know if a minion
10740          # is "present".
10741          # ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
10742          # the OS. If connections between the minion and the master pass through
10743          # a state tracking device such as a firewall or VPN gateway, there is
10744          # the risk that it could tear down the connection the master and minion
10745          # without informing either party that their connection has been taken away.
10746          # Enabling TCP Keepalives prevents this from happening.
10747
10748          # Overall state of TCP Keepalives, enable (1 or True), disable (0 or False)
10749          # or leave to the OS defaults (-1), on Linux, typically disabled. Default True, enabled.
10750          #tcp_keepalive: True
10751
10752          # How long before the first keepalive should be sent in seconds. Default 300
10753          # to send the first keepalive after 5 minutes, OS default (-1) is typically 7200 seconds
10754          # on Linux see /proc/sys/net/ipv4/tcp_keepalive_time.
10755          #tcp_keepalive_idle: 300
10756
10757          # How many lost probes are needed to consider the connection lost. Default -1
10758          # to use OS defaults, typically 9 on Linux, see /proc/sys/net/ipv4/tcp_keepalive_probes.
10759          #tcp_keepalive_cnt: -1
10760
10761          # How often, in seconds, to send keepalives after the first one. Default -1 to
10762          # use OS defaults, typically 75 seconds on Linux, see
10763          # /proc/sys/net/ipv4/tcp_keepalive_intvl.
10764          #tcp_keepalive_intvl: -1
10765
10766
10767          #####         NetAPI settings          #####
10768          ############################################
10769          # Allow the raw_shell parameter to be used when calling Salt SSH client via API
10770          #netapi_allow_raw_shell: True
10771
10772
10773   Example minion configuration file
10774          ##### Primary configuration settings #####
10775          ##########################################
10776          # This configuration file is used to manage the behavior of the Salt Minion.
10777          # With the exception of the location of the Salt Master Server, values that are
10778          # commented out but have an empty line after the comment are defaults that need
10779          # not be set in the config. If there is no blank line after the comment, the
10780          # value is presented as an example and is not the default.
10781
10782          # Per default the minion will automatically include all config files
10783          # from minion.d/*.conf (minion.d is a directory in the same directory
10784          # as the main minion config file).
10785          #default_include: minion.d/*.conf
10786
10787          # Set the location of the salt master server. If the master server cannot be
10788          # resolved, then the minion will fail to start.
10789          #master: salt
10790
10791          # Set http proxy information for the minion when doing requests
10792          #proxy_host:
10793          #proxy_port:
10794          #proxy_username:
10795          #proxy_password:
10796
10797          # List of hosts to bypass HTTP proxy. This key does nothing unless proxy_host etc is
10798          # configured, it does not support any kind of wildcards.
10799          #no_proxy: []
10800
10801          # If multiple masters are specified in the 'master' setting, the default behavior
10802          # is to always try to connect to them in the order they are listed. If random_master
10803          # is set to True, the order will be randomized upon Minion startup instead. This can
10804          # be helpful in distributing the load of many minions executing salt-call requests,
10805          # for example, from a cron job. If only one master is listed, this setting is ignored
10806          # and a warning will be logged.
10807          #random_master: False
10808
10809          # NOTE: Deprecated in Salt 2019.2.0. Use 'random_master' instead.
10810          #master_shuffle: False
10811
10812          # Minions can connect to multiple masters simultaneously (all masters
10813          # are "hot"), or can be configured to failover if a master becomes
10814          # unavailable.  Multiple hot masters are configured by setting this
10815          # value to "str".  Failover masters can be requested by setting
10816          # to "failover".  MAKE SURE TO SET master_alive_interval if you are
10817          # using failover.
10818          # Setting master_type to 'disable' let's you have a running minion (with engines and
10819          # beacons) without a master connection
10820          # master_type: str
10821
10822          # Poll interval in seconds for checking if the master is still there.  Only
10823          # respected if master_type above is "failover". To disable the interval entirely,
10824          # set the value to -1. (This may be necessary on machines which have high numbers
10825          # of TCP connections, such as load balancers.)
10826          # master_alive_interval: 30
10827
10828          # If the minion is in multi-master mode and the master_type configuration option
10829          # is set to "failover", this setting can be set to "True" to force the minion
10830          # to fail back to the first master in the list if the first master is back online.
10831          #master_failback: False
10832
10833          # If the minion is in multi-master mode, the "master_type" configuration is set to
10834          # "failover", and the "master_failback" option is enabled, the master failback
10835          # interval can be set to ping the top master with this interval, in seconds.
10836          #master_failback_interval: 0
10837
10838          # Set whether the minion should connect to the master via IPv6:
10839          #ipv6: False
10840
10841          # Set the number of seconds to wait before attempting to resolve
10842          # the master hostname if name resolution fails. Defaults to 30 seconds.
10843          # Set to zero if the minion should shutdown and not retry.
10844          # retry_dns: 30
10845
10846          # Set the number of times to attempt to resolve
10847          # the master hostname if name resolution fails. Defaults to None,
10848          # which will attempt the resolution indefinitely.
10849          # retry_dns_count: 3
10850
10851          # Set the port used by the master reply and authentication server.
10852          #master_port: 4506
10853
10854          # The user to run salt.
10855          #user: root
10856
10857          # The user to run salt remote execution commands as via sudo. If this option is
10858          # enabled then sudo will be used to change the active user executing the remote
10859          # command. If enabled the user will need to be allowed access via the sudoers
10860          # file for the user that the salt minion is configured to run as. The most
10861          # common option would be to use the root user. If this option is set the user
10862          # option should also be set to a non-root user. If migrating from a root minion
10863          # to a non root minion the minion cache should be cleared and the minion pki
10864          # directory will need to be changed to the ownership of the new user.
10865          #sudo_user: root
10866
10867          # Specify the location of the daemon process ID file.
10868          #pidfile: /var/run/salt-minion.pid
10869
10870          # The root directory prepended to these options: pki_dir, cachedir, log_file,
10871          # sock_dir, pidfile.
10872          #root_dir: /
10873
10874          # The path to the minion's configuration file.
10875          #conf_file: /etc/salt/minion
10876
10877          # The directory to store the pki information in
10878          #pki_dir: /etc/salt/pki/minion
10879
10880          # Explicitly declare the id for this minion to use, if left commented the id
10881          # will be the hostname as returned by the python call: socket.getfqdn()
10882          # Since salt uses detached ids it is possible to run multiple minions on the
10883          # same machine but with different ids, this can be useful for salt compute
10884          # clusters.
10885          #id:
10886
10887          # Cache the minion id to a file when the minion's id is not statically defined
10888          # in the minion config. Defaults to "True". This setting prevents potential
10889          # problems when automatic minion id resolution changes, which can cause the
10890          # minion to lose connection with the master. To turn off minion id caching,
10891          # set this config to ``False``.
10892          #minion_id_caching: True
10893
10894          # Append a domain to a hostname in the event that it does not exist.  This is
10895          # useful for systems where socket.getfqdn() does not actually result in a
10896          # FQDN (for instance, Solaris).
10897          #append_domain:
10898
10899          # Custom static grains for this minion can be specified here and used in SLS
10900          # files just like all other grains. This example sets 4 custom grains, with
10901          # the 'roles' grain having two values that can be matched against.
10902          #grains:
10903          #  roles:
10904          #    - webserver
10905          #    - memcache
10906          #  deployment: datacenter4
10907          #  cabinet: 13
10908          #  cab_u: 14-15
10909          #
10910          # Where cache data goes.
10911          # This data may contain sensitive data and should be protected accordingly.
10912          #cachedir: /var/cache/salt/minion
10913
10914          # Append minion_id to these directories.  Helps with
10915          # multiple proxies and minions running on the same machine.
10916          # Allowed elements in the list: pki_dir, cachedir, extension_modules
10917          # Normally not needed unless running several proxies and/or minions on the same machine
10918          # Defaults to ['cachedir'] for proxies, [] (empty list) for regular minions
10919          #append_minionid_config_dirs:
10920
10921          # Verify and set permissions on configuration directories at startup.
10922          #verify_env: True
10923
10924          # The minion can locally cache the return data from jobs sent to it, this
10925          # can be a good way to keep track of jobs the minion has executed
10926          # (on the minion side). By default this feature is disabled, to enable, set
10927          # cache_jobs to True.
10928          #cache_jobs: False
10929
10930          # Set the directory used to hold unix sockets.
10931          #sock_dir: /var/run/salt/minion
10932
10933          # The minion can take a while to start up when lspci and/or dmidecode is used
10934          # to populate the grains for the minion. Set this to False if you do not need
10935          # GPU hardware grains for your minion.
10936          # enable_gpu_grains: True
10937
10938          # Set the default outputter used by the salt-call command. The default is
10939          # "nested".
10940          #output: nested
10941
10942          # To set a list of additional directories to search for salt outputters, set the
10943          # outputter_dirs option.
10944          #outputter_dirs: []
10945
10946          # By default output is colored. To disable colored output, set the color value
10947          # to False.
10948          #color: True
10949
10950          # Do not strip off the colored output from nested results and state outputs
10951          # (true by default).
10952          # strip_colors: False
10953
10954          # Backup files that are replaced by file.managed and file.recurse under
10955          # 'cachedir'/file_backup relative to their original location and appended
10956          # with a timestamp. The only valid setting is "minion". Disabled by default.
10957          #
10958          # Alternatively this can be specified for each file in state files:
10959          # /etc/ssh/sshd_config:
10960          #   file.managed:
10961          #     - source: salt://ssh/sshd_config
10962          #     - backup: minion
10963          #
10964          #backup_mode: minion
10965
10966          # When waiting for a master to accept the minion's public key, salt will
10967          # continuously attempt to reconnect until successful. This is the time, in
10968          # seconds, between those reconnection attempts.
10969          #acceptance_wait_time: 10
10970
10971          # If this is nonzero, the time between reconnection attempts will increase by
10972          # acceptance_wait_time seconds per iteration, up to this maximum. If this is
10973          # set to zero, the time between reconnection attempts will stay constant.
10974          #acceptance_wait_time_max: 0
10975
10976          # If the master rejects the minion's public key, retry instead of exiting.
10977          # Rejected keys will be handled the same as waiting on acceptance.
10978          #rejected_retry: False
10979
10980          # When the master key changes, the minion will try to re-auth itself to receive
10981          # the new master key. In larger environments this can cause a SYN flood on the
10982          # master because all minions try to re-auth immediately. To prevent this and
10983          # have a minion wait for a random amount of time, use this optional parameter.
10984          # The wait-time will be a random number of seconds between 0 and the defined value.
10985          #random_reauth_delay: 60
10986
10987
10988          # To avoid overloading a master when many minions startup at once, a randomized
10989          # delay may be set to tell the minions to wait before connecting to the master.
10990          # This value is the number of seconds to choose from for a random number. For
10991          # example, setting this value to 60 will choose a random number of seconds to delay
10992          # on startup between zero seconds and sixty seconds. Setting to '0' will disable
10993          # this feature.
10994          #random_startup_delay: 0
10995
10996          # When waiting for a master to accept the minion's public key, salt will
10997          # continuously attempt to reconnect until successful. This is the timeout value,
10998          # in seconds, for each individual attempt. After this timeout expires, the minion
10999          # will wait for acceptance_wait_time seconds before trying again. Unless your master
11000          # is under unusually heavy load, this should be left at the default.
11001          #auth_timeout: 60
11002
11003          # Number of consecutive SaltReqTimeoutError that are acceptable when trying to
11004          # authenticate.
11005          #auth_tries: 7
11006
11007          # The number of attempts to connect to a master before giving up.
11008          # Set this to -1 for unlimited attempts. This allows for a master to have
11009          # downtime and the minion to reconnect to it later when it comes back up.
11010          # In 'failover' mode, it is the number of attempts for each set of masters.
11011          # In this mode, it will cycle through the list of masters for each attempt.
11012          #
11013          # This is different than auth_tries because auth_tries attempts to
11014          # retry auth attempts with a single master. auth_tries is under the
11015          # assumption that you can connect to the master but not gain
11016          # authorization from it. master_tries will still cycle through all
11017          # the masters in a given try, so it is appropriate if you expect
11018          # occasional downtime from the master(s).
11019          #master_tries: 1
11020
11021          # If authentication fails due to SaltReqTimeoutError during a ping_interval,
11022          # cause sub minion process to restart.
11023          #auth_safemode: False
11024
11025          # Ping Master to ensure connection is alive (minutes).
11026          #ping_interval: 0
11027
11028          # To auto recover minions if master changes IP address (DDNS)
11029          #    auth_tries: 10
11030          #    auth_safemode: False
11031          #    ping_interval: 2
11032          #
11033          # Minions won't know master is missing until a ping fails. After the ping fail,
11034          # the minion will attempt authentication and likely fails out and cause a restart.
11035          # When the minion restarts it will resolve the masters IP and attempt to reconnect.
11036
11037          # If you don't have any problems with syn-floods, don't bother with the
11038          # three recon_* settings described below, just leave the defaults!
11039          #
11040          # The ZeroMQ pull-socket that binds to the masters publishing interface tries
11041          # to reconnect immediately, if the socket is disconnected (for example if
11042          # the master processes are restarted). In large setups this will have all
11043          # minions reconnect immediately which might flood the master (the ZeroMQ-default
11044          # is usually a 100ms delay). To prevent this, these three recon_* settings
11045          # can be used.
11046          # recon_default: the interval in milliseconds that the socket should wait before
11047          #                trying to reconnect to the master (1000ms = 1 second)
11048          #
11049          # recon_max: the maximum time a socket should wait. each interval the time to wait
11050          #            is calculated by doubling the previous time. if recon_max is reached,
11051          #            it starts again at recon_default. Short example:
11052          #
11053          #            reconnect 1: the socket will wait 'recon_default' milliseconds
11054          #            reconnect 2: 'recon_default' * 2
11055          #            reconnect 3: ('recon_default' * 2) * 2
11056          #            reconnect 4: value from previous interval * 2
11057          #            reconnect 5: value from previous interval * 2
11058          #            reconnect x: if value >= recon_max, it starts again with recon_default
11059          #
11060          # recon_randomize: generate a random wait time on minion start. The wait time will
11061          #                  be a random value between recon_default and recon_default +
11062          #                  recon_max. Having all minions reconnect with the same recon_default
11063          #                  and recon_max value kind of defeats the purpose of being able to
11064          #                  change these settings. If all minions have the same values and your
11065          #                  setup is quite large (several thousand minions), they will still
11066          #                  flood the master. The desired behavior is to have timeframe within
11067          #                  all minions try to reconnect.
11068          #
11069          # Example on how to use these settings. The goal: have all minions reconnect within a
11070          # 60 second timeframe on a disconnect.
11071          # recon_default: 1000
11072          # recon_max: 59000
11073          # recon_randomize: True
11074          #
11075          # Each minion will have a randomized reconnect value between 'recon_default'
11076          # and 'recon_default + recon_max', which in this example means between 1000ms
11077          # 60000ms (or between 1 and 60 seconds). The generated random-value will be
11078          # doubled after each attempt to reconnect. Lets say the generated random
11079          # value is 11 seconds (or 11000ms).
11080          # reconnect 1: wait 11 seconds
11081          # reconnect 2: wait 22 seconds
11082          # reconnect 3: wait 33 seconds
11083          # reconnect 4: wait 44 seconds
11084          # reconnect 5: wait 55 seconds
11085          # reconnect 6: wait time is bigger than 60 seconds (recon_default + recon_max)
11086          # reconnect 7: wait 11 seconds
11087          # reconnect 8: wait 22 seconds
11088          # reconnect 9: wait 33 seconds
11089          # reconnect x: etc.
11090          #
11091          # In a setup with ~6000 thousand hosts these settings would average the reconnects
11092          # to about 100 per second and all hosts would be reconnected within 60 seconds.
11093          # recon_default: 100
11094          # recon_max: 5000
11095          # recon_randomize: False
11096          #
11097          #
11098          # The loop_interval sets how long in seconds the minion will wait between
11099          # evaluating the scheduler and running cleanup tasks.  This defaults to 1
11100          # second on the minion scheduler.
11101          #loop_interval: 1
11102
11103          # Some installations choose to start all job returns in a cache or a returner
11104          # and forgo sending the results back to a master. In this workflow, jobs
11105          # are most often executed with --async from the Salt CLI and then results
11106          # are evaluated by examining job caches on the minions or any configured returners.
11107          # WARNING: Setting this to False will **disable** returns back to the master.
11108          #pub_ret: True
11109
11110
11111          # The grains can be merged, instead of overridden, using this option.
11112          # This allows custom grains to defined different subvalues of a dictionary
11113          # grain. By default this feature is disabled, to enable set grains_deep_merge
11114          # to ``True``.
11115          #grains_deep_merge: False
11116
11117          # The grains_refresh_every setting allows for a minion to periodically check
11118          # its grains to see if they have changed and, if so, to inform the master
11119          # of the new grains. This operation is moderately expensive, therefore
11120          # care should be taken not to set this value too low.
11121          #
11122          # Note: This value is expressed in __minutes__!
11123          #
11124          # A value of 10 minutes is a reasonable default.
11125          #
11126          # If the value is set to zero, this check is disabled.
11127          #grains_refresh_every: 1
11128
11129          # Cache grains on the minion. Default is False.
11130          #grains_cache: False
11131
11132          # Cache rendered pillar data on the minion. Default is False.
11133          # This may cause 'cachedir'/pillar to contain sensitive data that should be
11134          # protected accordingly.
11135          #minion_pillar_cache: False
11136
11137          # Grains cache expiration, in seconds. If the cache file is older than this
11138          # number of seconds then the grains cache will be dumped and fully re-populated
11139          # with fresh data. Defaults to 5 minutes. Will have no effect if 'grains_cache'
11140          # is not enabled.
11141          # grains_cache_expiration: 300
11142
11143          # Determines whether or not the salt minion should run scheduled mine updates.
11144          # Defaults to "True". Set to "False" to disable the scheduled mine updates
11145          # (this essentially just does not add the mine update function to the minion's
11146          # scheduler).
11147          #mine_enabled: True
11148
11149          # Determines whether or not scheduled mine updates should be accompanied by a job
11150          # return for the job cache. Defaults to "False". Set to "True" to include job
11151          # returns in the job cache for mine updates.
11152          #mine_return_job: False
11153
11154          # Example functions that can be run via the mine facility
11155          # NO mine functions are established by default.
11156          # Note these can be defined in the minion's pillar as well.
11157          #mine_functions:
11158          #  test.ping: []
11159          #  network.ip_addrs:
11160          #    interface: eth0
11161          #    cidr: '10.0.0.0/8'
11162
11163          # The number of minutes between mine updates.
11164          #mine_interval: 60
11165
11166          # Windows platforms lack posix IPC and must rely on slower TCP based inter-
11167          # process communications.  ipc_mode is set to 'tcp' on such systems.
11168          #ipc_mode: ipc
11169
11170          # Overwrite the default tcp ports used by the minion when ipc_mode is set to 'tcp'
11171          #tcp_pub_port: 4510
11172          #tcp_pull_port: 4511
11173
11174          # Passing very large events can cause the minion to consume large amounts of
11175          # memory. This value tunes the maximum size of a message allowed onto the
11176          # minion event bus. The value is expressed in bytes.
11177          #max_event_size: 1048576
11178
11179          # When a minion starts up it sends a notification on the event bus with a tag
11180          # that looks like this: `salt/minion/<minion_id>/start`. For historical reasons
11181          # the minion also sends a similar event with an event tag like this:
11182          # `minion_start`. This duplication can cause a lot of clutter on the event bus
11183          # when there are many minions. Set `enable_legacy_startup_events: False` in the
11184          # minion config to ensure only the `salt/minion/<minion_id>/start` events are
11185          # sent. Beginning with the `Sodium` Salt release this option will default to
11186          # `False`
11187          #enable_legacy_startup_events: True
11188
11189          # To detect failed master(s) and fire events on connect/disconnect, set
11190          # master_alive_interval to the number of seconds to poll the masters for
11191          # connection events.
11192          #
11193          #master_alive_interval: 30
11194
11195          # The minion can include configuration from other files. To enable this,
11196          # pass a list of paths to this option. The paths can be either relative or
11197          # absolute; if relative, they are considered to be relative to the directory
11198          # the main minion configuration file lives in (this file). Paths can make use
11199          # of shell-style globbing. If no files are matched by a path passed to this
11200          # option then the minion will log a warning message.
11201          #
11202          # Include a config file from some other path:
11203          # include: /etc/salt/extra_config
11204          #
11205          # Include config from several files and directories:
11206          #include:
11207          #  - /etc/salt/extra_config
11208          #  - /etc/roles/webserver
11209
11210          # The syndic minion can verify that it is talking to the correct master via the
11211          # key fingerprint of the higher-level master with the "syndic_finger" config.
11212          #syndic_finger: ''
11213          #
11214          #
11215          #
11216          #####   Minion module management     #####
11217          ##########################################
11218          # Disable specific modules. This allows the admin to limit the level of
11219          # access the master has to the minion.  The default here is the empty list,
11220          # below is an example of how this needs to be formatted in the config file
11221          #disable_modules:
11222          #  - cmdmod
11223          #  - test
11224          #disable_returners: []
11225
11226          # This is the reverse of disable_modules.  The default, like disable_modules, is the empty list,
11227          # but if this option is set to *anything* then *only* those modules will load.
11228          # Note that this is a very large hammer and it can be quite difficult to keep the minion working
11229          # the way you think it should since Salt uses many modules internally itself.  At a bare minimum
11230          # you need the following enabled or else the minion won't start.
11231          #whitelist_modules:
11232          #  - cmdmod
11233          #  - test
11234          #  - config
11235
11236          # Modules can be loaded from arbitrary paths. This enables the easy deployment
11237          # of third party modules. Modules for returners and minions can be loaded.
11238          # Specify a list of extra directories to search for minion modules and
11239          # returners. These paths must be fully qualified!
11240          #module_dirs: []
11241          #returner_dirs: []
11242          #states_dirs: []
11243          #render_dirs: []
11244          #utils_dirs: []
11245          #
11246          # A module provider can be statically overwritten or extended for the minion
11247          # via the providers option, in this case the default module will be
11248          # overwritten by the specified module. In this example the pkg module will
11249          # be provided by the yumpkg5 module instead of the system default.
11250          #providers:
11251          #  pkg: yumpkg5
11252          #
11253          # Enable Cython modules searching and loading. (Default: False)
11254          #cython_enable: False
11255          #
11256          # Specify a max size (in bytes) for modules on import. This feature is currently
11257          # only supported on *nix operating systems and requires psutil.
11258          # modules_max_memory: -1
11259
11260
11261          #####    State Management Settings    #####
11262          ###########################################
11263          # The default renderer to use in SLS files. This is configured as a
11264          # pipe-delimited expression. For example, jinja|yaml will first run jinja
11265          # templating on the SLS file, and then load the result as YAML. This syntax is
11266          # documented in further depth at the following URL:
11267          #
11268          # https://docs.saltstack.com/en/latest/ref/renderers/#composing-renderers
11269          #
11270          # NOTE: The "shebang" prefix (e.g. "#!jinja|yaml") described in the
11271          # documentation linked above is for use in an SLS file to override the default
11272          # renderer, it should not be used when configuring the renderer here.
11273          #
11274          #renderer: jinja|yaml
11275          #
11276          # The failhard option tells the minions to stop immediately after the first
11277          # failure detected in the state execution. Defaults to False.
11278          #failhard: False
11279          #
11280          # Reload the modules prior to a highstate run.
11281          #autoload_dynamic_modules: True
11282          #
11283          # clean_dynamic_modules keeps the dynamic modules on the minion in sync with
11284          # the dynamic modules on the master, this means that if a dynamic module is
11285          # not on the master it will be deleted from the minion. By default, this is
11286          # enabled and can be disabled by changing this value to False.
11287          #clean_dynamic_modules: True
11288          #
11289          # Normally, the minion is not isolated to any single environment on the master
11290          # when running states, but the environment can be isolated on the minion side
11291          # by statically setting it. Remember that the recommended way to manage
11292          # environments is to isolate via the top file.
11293          #environment: None
11294          #
11295          # Isolates the pillar environment on the minion side. This functions the same
11296          # as the environment setting, but for pillar instead of states.
11297          #pillarenv: None
11298          #
11299          # Set this option to True to force the pillarenv to be the same as the
11300          # effective saltenv when running states. Note that if pillarenv is specified,
11301          # this option will be ignored.
11302          #pillarenv_from_saltenv: False
11303          #
11304          # Set this option to 'True' to force a 'KeyError' to be raised whenever an
11305          # attempt to retrieve a named value from pillar fails. When this option is set
11306          # to 'False', the failed attempt returns an empty string. Default is 'False'.
11307          #pillar_raise_on_missing: False
11308          #
11309          # If using the local file directory, then the state top file name needs to be
11310          # defined, by default this is top.sls.
11311          #state_top: top.sls
11312          #
11313          # Run states when the minion daemon starts. To enable, set startup_states to:
11314          # 'highstate' -- Execute state.highstate
11315          # 'sls' -- Read in the sls_list option and execute the named sls files
11316          # 'top' -- Read top_file option and execute based on that file on the Master
11317          #startup_states: ''
11318          #
11319          # List of states to run when the minion starts up if startup_states is 'sls':
11320          #sls_list:
11321          #  - edit.vim
11322          #  - hyper
11323          #
11324          # List of grains to pass in start event when minion starts up:
11325          #start_event_grains:
11326          #  - machine_id
11327          #  - uuid
11328          #
11329          # Top file to execute if startup_states is 'top':
11330          #top_file: ''
11331
11332          # Automatically aggregate all states that have support for mod_aggregate by
11333          # setting to True. Or pass a list of state module names to automatically
11334          # aggregate just those types.
11335          #
11336          # state_aggregate:
11337          #   - pkg
11338          #
11339          #state_aggregate: False
11340
11341          #####     File Directory Settings    #####
11342          ##########################################
11343          # The Salt Minion can redirect all file server operations to a local directory,
11344          # this allows for the same state tree that is on the master to be used if
11345          # copied completely onto the minion. This is a literal copy of the settings on
11346          # the master but used to reference a local directory on the minion.
11347
11348          # Set the file client. The client defaults to looking on the master server for
11349          # files, but can be directed to look at the local file directory setting
11350          # defined below by setting it to "local". Setting a local file_client runs the
11351          # minion in masterless mode.
11352          #file_client: remote
11353
11354          # The file directory works on environments passed to the minion, each environment
11355          # can have multiple root directories, the subdirectories in the multiple file
11356          # roots cannot match, otherwise the downloaded files will not be able to be
11357          # reliably ensured. A base environment is required to house the top file.
11358          # Example:
11359          # file_roots:
11360          #   base:
11361          #     - /srv/salt/
11362          #   dev:
11363          #     - /srv/salt/dev/services
11364          #     - /srv/salt/dev/states
11365          #   prod:
11366          #     - /srv/salt/prod/services
11367          #     - /srv/salt/prod/states
11368          #
11369          #file_roots:
11370          #  base:
11371          #    - /srv/salt
11372
11373          # Uncomment the line below if you do not want the file_server to follow
11374          # symlinks when walking the filesystem tree. This is set to True
11375          # by default. Currently this only applies to the default roots
11376          # fileserver_backend.
11377          #fileserver_followsymlinks: False
11378          #
11379          # Uncomment the line below if you do not want symlinks to be
11380          # treated as the files they are pointing to. By default this is set to
11381          # False. By uncommenting the line below, any detected symlink while listing
11382          # files on the Master will not be returned to the Minion.
11383          #fileserver_ignoresymlinks: True
11384          #
11385          # By default, the Salt fileserver recurses fully into all defined environments
11386          # to attempt to find files. To limit this behavior so that the fileserver only
11387          # traverses directories with SLS files and special Salt directories like _modules,
11388          # enable the option below. This might be useful for installations where a file root
11389          # has a very large number of files and performance is negatively impacted. Default
11390          # is False.
11391          #fileserver_limit_traversal: False
11392
11393          # The hash_type is the hash to use when discovering the hash of a file on
11394          # the local fileserver. The default is sha256, but md5, sha1, sha224, sha384
11395          # and sha512 are also supported.
11396          #
11397          # WARNING: While md5 and sha1 are also supported, do not use them due to the
11398          # high chance of possible collisions and thus security breach.
11399          #
11400          # Warning: Prior to changing this value, the minion should be stopped and all
11401          # Salt caches should be cleared.
11402          #hash_type: sha256
11403
11404          # The Salt pillar is searched for locally if file_client is set to local. If
11405          # this is the case, and pillar data is defined, then the pillar_roots need to
11406          # also be configured on the minion:
11407          #pillar_roots:
11408          #  base:
11409          #    - /srv/pillar
11410
11411          # Set a hard-limit on the size of the files that can be pushed to the master.
11412          # It will be interpreted as megabytes. Default: 100
11413          #file_recv_max_size: 100
11414          #
11415          #
11416          ######        Security settings       #####
11417          ###########################################
11418          # Enable "open mode", this mode still maintains encryption, but turns off
11419          # authentication, this is only intended for highly secure environments or for
11420          # the situation where your keys end up in a bad state. If you run in open mode
11421          # you do so at your own risk!
11422          #open_mode: False
11423
11424          # The size of key that should be generated when creating new keys.
11425          #keysize: 2048
11426
11427          # Enable permissive access to the salt keys.  This allows you to run the
11428          # master or minion as root, but have a non-root group be given access to
11429          # your pki_dir.  To make the access explicit, root must belong to the group
11430          # you've given access to. This is potentially quite insecure.
11431          #permissive_pki_access: False
11432
11433          # The state_verbose and state_output settings can be used to change the way
11434          # state system data is printed to the display. By default all data is printed.
11435          # The state_verbose setting can be set to True or False, when set to False
11436          # all data that has a result of True and no changes will be suppressed.
11437          #state_verbose: True
11438
11439          # The state_output setting controls which results will be output full multi line
11440          # full, terse - each state will be full/terse
11441          # mixed - only states with errors will be full
11442          # changes - states with changes and errors will be full
11443          # full_id, mixed_id, changes_id and terse_id are also allowed;
11444          # when set, the state ID will be used as name in the output
11445          #state_output: full
11446
11447          # The state_output_diff setting changes whether or not the output from
11448          # successful states is returned. Useful when even the terse output of these
11449          # states is cluttering the logs. Set it to True to ignore them.
11450          #state_output_diff: False
11451
11452          # The state_output_profile setting changes whether profile information
11453          # will be shown for each state run.
11454          #state_output_profile: True
11455
11456          # Fingerprint of the master public key to validate the identity of your Salt master
11457          # before the initial key exchange. The master fingerprint can be found by running
11458          # "salt-key -f master.pub" on the Salt master.
11459          #master_finger: ''
11460
11461          # Use TLS/SSL encrypted connection between master and minion.
11462          # Can be set to a dictionary containing keyword arguments corresponding to Python's
11463          # 'ssl.wrap_socket' method.
11464          # Default is None.
11465          #ssl:
11466          #    keyfile: <path_to_keyfile>
11467          #    certfile: <path_to_certfile>
11468          #    ssl_version: PROTOCOL_TLSv1_2
11469
11470          # Grains to be sent to the master on authentication to check if the minion's key
11471          # will be accepted automatically. Needs to be configured on the master.
11472          #autosign_grains:
11473          #  - uuid
11474          #  - server_id
11475
11476
11477          ######        Reactor Settings        #####
11478          ###########################################
11479          # Define a salt reactor. See https://docs.saltstack.com/en/latest/topics/reactor/
11480          #reactor: []
11481
11482          #Set the TTL for the cache of the reactor configuration.
11483          #reactor_refresh_interval: 60
11484
11485          #Configure the number of workers for the runner/wheel in the reactor.
11486          #reactor_worker_threads: 10
11487
11488          #Define the queue size for workers in the reactor.
11489          #reactor_worker_hwm: 10000
11490
11491
11492          ######         Thread settings        #####
11493          ###########################################
11494          # Disable multiprocessing support, by default when a minion receives a
11495          # publication a new process is spawned and the command is executed therein.
11496          #
11497          # WARNING: Disabling multiprocessing may result in substantial slowdowns
11498          # when processing large pillars. See https://github.com/saltstack/salt/issues/38758
11499          # for a full explanation.
11500          #multiprocessing: True
11501
11502          # Limit the maximum amount of processes or threads created by salt-minion.
11503          # This is useful to avoid resource exhaustion in case the minion receives more
11504          # publications than it is able to handle, as it limits the number of spawned
11505          # processes or threads. -1 is the default and disables the limit.
11506          #process_count_max: -1
11507
11508
11509          #####         Logging settings       #####
11510          ##########################################
11511          # The location of the minion log file
11512          # The minion log can be sent to a regular file, local path name, or network
11513          # location. Remote logging works best when configured to use rsyslogd(8) (e.g.:
11514          # ``file:///dev/log``), with rsyslogd(8) configured for network logging. The URI
11515          # format is: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
11516          #log_file: /var/log/salt/minion
11517          #log_file: file:///dev/log
11518          #log_file: udp://loghost:10514
11519          #
11520          #log_file: /var/log/salt/minion
11521          #key_logfile: /var/log/salt/key
11522
11523          # The level of messages to send to the console.
11524          # One of 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'critical'.
11525          #
11526          # The following log levels are considered INSECURE and may log sensitive data:
11527          # ['garbage', 'trace', 'debug']
11528          #
11529          # Default: 'warning'
11530          #log_level: warning
11531
11532          # The level of messages to send to the log file.
11533          # One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
11534          # If using 'log_granular_levels' this must be set to the highest desired level.
11535          # Default: 'warning'
11536          #log_level_logfile:
11537
11538          # The date and time format used in log messages. Allowed date/time formatting
11539          # can be seen here: http://docs.python.org/library/time.html#time.strftime
11540          #log_datefmt: '%H:%M:%S'
11541          #log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
11542
11543          # The format of the console logging messages. Allowed formatting options can
11544          # be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
11545          #
11546          # Console log colors are specified by these additional formatters:
11547          #
11548          # %(colorlevel)s
11549          # %(colorname)s
11550          # %(colorprocess)s
11551          # %(colormsg)s
11552          #
11553          # Since it is desirable to include the surrounding brackets, '[' and ']', in
11554          # the coloring of the messages, these color formatters also include padding as
11555          # well.  Color LogRecord attributes are only available for console logging.
11556          #
11557          #log_fmt_console: '%(colorlevel)s %(colormsg)s'
11558          #log_fmt_console: '[%(levelname)-8s] %(message)s'
11559          #
11560          #log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
11561
11562          # This can be used to control logging levels more specificically.  This
11563          # example sets the main salt library at the 'warning' level, but sets
11564          # 'salt.modules' to log at the 'debug' level:
11565          #   log_granular_levels:
11566          #     'salt': 'warning'
11567          #     'salt.modules': 'debug'
11568          #
11569          #log_granular_levels: {}
11570
11571          # To diagnose issues with minions disconnecting or missing returns, ZeroMQ
11572          # supports the use of monitor sockets to log connection events. This
11573          # feature requires ZeroMQ 4.0 or higher.
11574          #
11575          # To enable ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log at a
11576          # debug level or higher.
11577          #
11578          # A sample log event is as follows:
11579          #
11580          # [DEBUG   ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
11581          # 'value': 27, 'description': 'EVENT_DISCONNECTED'}
11582          #
11583          # All events logged will include the string 'ZeroMQ event'. A connection event
11584          # should be logged as the minion starts up and initially connects to the
11585          # master. If not, check for debug log level and that the necessary version of
11586          # ZeroMQ is installed.
11587          #
11588          #zmq_monitor: False
11589
11590          # Number of times to try to authenticate with the salt master when reconnecting
11591          # to the master
11592          #tcp_authentication_retries: 5
11593
11594          ######      Module configuration      #####
11595          ###########################################
11596          # Salt allows for modules to be passed arbitrary configuration data, any data
11597          # passed here in valid yaml format will be passed on to the salt minion modules
11598          # for use. It is STRONGLY recommended that a naming convention be used in which
11599          # the module name is followed by a . and then the value. Also, all top level
11600          # data must be applied via the yaml dict construct, some examples:
11601          #
11602          # You can specify that all modules should run in test mode:
11603          #test: True
11604          #
11605          # A simple value for the test module:
11606          #test.foo: foo
11607          #
11608          # A list for the test module:
11609          #test.bar: [baz,quo]
11610          #
11611          # A dict for the test module:
11612          #test.baz: {spam: sausage, cheese: bread}
11613          #
11614          #
11615          ######      Update settings          ######
11616          ###########################################
11617          # Using the features in Esky, a salt minion can both run as a frozen app and
11618          # be updated on the fly. These options control how the update process
11619          # (saltutil.update()) behaves.
11620          #
11621          # The url for finding and downloading updates. Disabled by default.
11622          #update_url: False
11623          #
11624          # The list of services to restart after a successful update. Empty by default.
11625          #update_restart_services: []
11626
11627
11628          ######      Keepalive settings        ######
11629          ############################################
11630          # ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
11631          # the OS. If connections between the minion and the master pass through
11632          # a state tracking device such as a firewall or VPN gateway, there is
11633          # the risk that it could tear down the connection the master and minion
11634          # without informing either party that their connection has been taken away.
11635          # Enabling TCP Keepalives prevents this from happening.
11636
11637          # Overall state of TCP Keepalives, enable (1 or True), disable (0 or False)
11638          # or leave to the OS defaults (-1), on Linux, typically disabled. Default True, enabled.
11639          #tcp_keepalive: True
11640
11641          # How long before the first keepalive should be sent in seconds. Default 300
11642          # to send the first keepalive after 5 minutes, OS default (-1) is typically 7200 seconds
11643          # on Linux see /proc/sys/net/ipv4/tcp_keepalive_time.
11644          #tcp_keepalive_idle: 300
11645
11646          # How many lost probes are needed to consider the connection lost. Default -1
11647          # to use OS defaults, typically 9 on Linux, see /proc/sys/net/ipv4/tcp_keepalive_probes.
11648          #tcp_keepalive_cnt: -1
11649
11650          # How often, in seconds, to send keepalives after the first one. Default -1 to
11651          # use OS defaults, typically 75 seconds on Linux, see
11652          # /proc/sys/net/ipv4/tcp_keepalive_intvl.
11653          #tcp_keepalive_intvl: -1
11654
11655
11656          ######   Windows Software settings    ######
11657          ############################################
11658          # Location of the repository cache file on the master:
11659          #win_repo_cachefile: 'salt://win/repo/winrepo.p'
11660
11661
11662          ######      Returner  settings        ######
11663          ############################################
11664          # Default Minion returners. Can be a comma delimited string or a list:
11665          #
11666          #return: mysql
11667          #
11668          #return: mysql,slack,redis
11669          #
11670          #return:
11671          #  - mysql
11672          #  - hipchat
11673          #  - slack
11674
11675
11676          ######    Miscellaneous  settings     ######
11677          ############################################
11678          # Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
11679          #event_match_type: startswith
11680
11681
11682   Example proxy minion configuration file
11683          ##### Primary configuration settings #####
11684          ##########################################
11685          # This configuration file is used to manage the behavior of all Salt Proxy
11686          # Minions on this host.
11687          # With the exception of the location of the Salt Master Server, values that are
11688          # commented out but have an empty line after the comment are defaults that need
11689          # not be set in the config. If there is no blank line after the comment, the
11690          # value is presented as an example and is not the default.
11691
11692          # Per default the minion will automatically include all config files
11693          # from minion.d/*.conf (minion.d is a directory in the same directory
11694          # as the main minion config file).
11695          #default_include: minion.d/*.conf
11696
11697          # Backwards compatibility option for proxymodules created before 2015.8.2
11698          # This setting will default to 'False' in the 2016.3.0 release
11699          # Setting this to True adds proxymodules to the __opts__ dictionary.
11700          # This breaks several Salt features (basically anything that serializes
11701          # __opts__ over the wire) but retains backwards compatibility.
11702          #add_proxymodule_to_opts: True
11703
11704          # Set the location of the salt master server. If the master server cannot be
11705          # resolved, then the minion will fail to start.
11706          #master: salt
11707
11708          # If a proxymodule has a function called 'grains', then call it during
11709          # regular grains loading and merge the results with the proxy's grains
11710          # dictionary.  Otherwise it is assumed that the module calls the grains
11711          # function in a custom way and returns the data elsewhere
11712          #
11713          # Default to False for 2016.3 and 2016.11. Switch to True for 2017.7.0.
11714          # proxy_merge_grains_in_module: True
11715
11716          # If a proxymodule has a function called 'alive' returning a boolean
11717          # flag reflecting the state of the connection with the remove device,
11718          # when this option is set as True, a scheduled job on the proxy will
11719          # try restarting the connection. The polling frequency depends on the
11720          # next option, 'proxy_keep_alive_interval'. Added in 2017.7.0.
11721          # proxy_keep_alive: True
11722
11723          # The polling interval (in minutes) to check if the underlying connection
11724          # with the remote device is still alive. This option requires
11725          # 'proxy_keep_alive' to be configured as True and the proxymodule to
11726          # implement the 'alive' function. Added in 2017.7.0.
11727          # proxy_keep_alive_interval: 1
11728
11729          # By default, any proxy opens the connection with the remote device when
11730          # initialized. Some proxymodules allow through this option to open/close
11731          # the session per command. This requires the proxymodule to have this
11732          # capability. Please consult the documentation to see if the proxy type
11733          # used can be that flexible. Added in 2017.7.0.
11734          # proxy_always_alive: True
11735
11736          # If multiple masters are specified in the 'master' setting, the default behavior
11737          # is to always try to connect to them in the order they are listed. If random_master is
11738          # set to True, the order will be randomized instead. This can be helpful in distributing
11739          # the load of many minions executing salt-call requests, for example, from a cron job.
11740          # If only one master is listed, this setting is ignored and a warning will be logged.
11741          #random_master: False
11742
11743          # Minions can connect to multiple masters simultaneously (all masters
11744          # are "hot"), or can be configured to failover if a master becomes
11745          # unavailable.  Multiple hot masters are configured by setting this
11746          # value to "str".  Failover masters can be requested by setting
11747          # to "failover".  MAKE SURE TO SET master_alive_interval if you are
11748          # using failover.
11749          # master_type: str
11750
11751          # Poll interval in seconds for checking if the master is still there.  Only
11752          # respected if master_type above is "failover".
11753          # master_alive_interval: 30
11754
11755          # Set whether the minion should connect to the master via IPv6:
11756          #ipv6: False
11757
11758          # Set the number of seconds to wait before attempting to resolve
11759          # the master hostname if name resolution fails. Defaults to 30 seconds.
11760          # Set to zero if the minion should shutdown and not retry.
11761          # retry_dns: 30
11762
11763          # Set the port used by the master reply and authentication server.
11764          #master_port: 4506
11765
11766          # The user to run salt.
11767          #user: root
11768
11769          # Setting sudo_user will cause salt to run all execution modules under an sudo
11770          # to the user given in sudo_user.  The user under which the salt minion process
11771          # itself runs will still be that provided in the user config above, but all
11772          # execution modules run by the minion will be rerouted through sudo.
11773          #sudo_user: saltdev
11774
11775          # Specify the location of the daemon process ID file.
11776          #pidfile: /var/run/salt-minion.pid
11777
11778          # The root directory prepended to these options: pki_dir, cachedir, log_file,
11779          # sock_dir, pidfile.
11780          #root_dir: /
11781
11782          # The directory to store the pki information in
11783          #pki_dir: /etc/salt/pki/minion
11784
11785          # Where cache data goes.
11786          # This data may contain sensitive data and should be protected accordingly.
11787          #cachedir: /var/cache/salt/minion
11788
11789          # Append minion_id to these directories.  Helps with
11790          # multiple proxies and minions running on the same machine.
11791          # Allowed elements in the list: pki_dir, cachedir, extension_modules
11792          # Normally not needed unless running several proxies and/or minions on the same machine
11793          # Defaults to ['cachedir'] for proxies, [] (empty list) for regular minions
11794          # append_minionid_config_dirs:
11795          #   - cachedir
11796
11797
11798
11799          # Verify and set permissions on configuration directories at startup.
11800          #verify_env: True
11801
11802          # The minion can locally cache the return data from jobs sent to it, this
11803          # can be a good way to keep track of jobs the minion has executed
11804          # (on the minion side). By default this feature is disabled, to enable, set
11805          # cache_jobs to True.
11806          #cache_jobs: False
11807
11808          # Set the directory used to hold unix sockets.
11809          #sock_dir: /var/run/salt/minion
11810
11811          # Set the default outputter used by the salt-call command. The default is
11812          # "nested".
11813          #output: nested
11814          #
11815          # By default output is colored. To disable colored output, set the color value
11816          # to False.
11817          #color: True
11818
11819          # Do not strip off the colored output from nested results and state outputs
11820          # (true by default).
11821          # strip_colors: False
11822
11823          # Backup files that are replaced by file.managed and file.recurse under
11824          # 'cachedir'/file_backup relative to their original location and appended
11825          # with a timestamp. The only valid setting is "minion". Disabled by default.
11826          #
11827          # Alternatively this can be specified for each file in state files:
11828          # /etc/ssh/sshd_config:
11829          #   file.managed:
11830          #     - source: salt://ssh/sshd_config
11831          #     - backup: minion
11832          #
11833          #backup_mode: minion
11834
11835          # When waiting for a master to accept the minion's public key, salt will
11836          # continuously attempt to reconnect until successful. This is the time, in
11837          # seconds, between those reconnection attempts.
11838          #acceptance_wait_time: 10
11839
11840          # If this is nonzero, the time between reconnection attempts will increase by
11841          # acceptance_wait_time seconds per iteration, up to this maximum. If this is
11842          # set to zero, the time between reconnection attempts will stay constant.
11843          #acceptance_wait_time_max: 0
11844
11845          # If the master rejects the minion's public key, retry instead of exiting.
11846          # Rejected keys will be handled the same as waiting on acceptance.
11847          #rejected_retry: False
11848
11849          # When the master key changes, the minion will try to re-auth itself to receive
11850          # the new master key. In larger environments this can cause a SYN flood on the
11851          # master because all minions try to re-auth immediately. To prevent this and
11852          # have a minion wait for a random amount of time, use this optional parameter.
11853          # The wait-time will be a random number of seconds between 0 and the defined value.
11854          #random_reauth_delay: 60
11855
11856          # When waiting for a master to accept the minion's public key, salt will
11857          # continuously attempt to reconnect until successful. This is the timeout value,
11858          # in seconds, for each individual attempt. After this timeout expires, the minion
11859          # will wait for acceptance_wait_time seconds before trying again. Unless your master
11860          # is under unusually heavy load, this should be left at the default.
11861          #auth_timeout: 60
11862
11863          # Number of consecutive SaltReqTimeoutError that are acceptable when trying to
11864          # authenticate.
11865          #auth_tries: 7
11866
11867          # If authentication fails due to SaltReqTimeoutError during a ping_interval,
11868          # cause sub minion process to restart.
11869          #auth_safemode: False
11870
11871          # Ping Master to ensure connection is alive (minutes).
11872          #ping_interval: 0
11873
11874          # To auto recover minions if master changes IP address (DDNS)
11875          #    auth_tries: 10
11876          #    auth_safemode: False
11877          #    ping_interval: 90
11878          #
11879          # Minions won't know master is missing until a ping fails. After the ping fail,
11880          # the minion will attempt authentication and likely fails out and cause a restart.
11881          # When the minion restarts it will resolve the masters IP and attempt to reconnect.
11882
11883          # If you don't have any problems with syn-floods, don't bother with the
11884          # three recon_* settings described below, just leave the defaults!
11885          #
11886          # The ZeroMQ pull-socket that binds to the masters publishing interface tries
11887          # to reconnect immediately, if the socket is disconnected (for example if
11888          # the master processes are restarted). In large setups this will have all
11889          # minions reconnect immediately which might flood the master (the ZeroMQ-default
11890          # is usually a 100ms delay). To prevent this, these three recon_* settings
11891          # can be used.
11892          # recon_default: the interval in milliseconds that the socket should wait before
11893          #                trying to reconnect to the master (1000ms = 1 second)
11894          #
11895          # recon_max: the maximum time a socket should wait. each interval the time to wait
11896          #            is calculated by doubling the previous time. if recon_max is reached,
11897          #            it starts again at recon_default. Short example:
11898          #
11899          #            reconnect 1: the socket will wait 'recon_default' milliseconds
11900          #            reconnect 2: 'recon_default' * 2
11901          #            reconnect 3: ('recon_default' * 2) * 2
11902          #            reconnect 4: value from previous interval * 2
11903          #            reconnect 5: value from previous interval * 2
11904          #            reconnect x: if value >= recon_max, it starts again with recon_default
11905          #
11906          # recon_randomize: generate a random wait time on minion start. The wait time will
11907          #                  be a random value between recon_default and recon_default +
11908          #                  recon_max. Having all minions reconnect with the same recon_default
11909          #                  and recon_max value kind of defeats the purpose of being able to
11910          #                  change these settings. If all minions have the same values and your
11911          #                  setup is quite large (several thousand minions), they will still
11912          #                  flood the master. The desired behavior is to have timeframe within
11913          #                  all minions try to reconnect.
11914          #
11915          # Example on how to use these settings. The goal: have all minions reconnect within a
11916          # 60 second timeframe on a disconnect.
11917          # recon_default: 1000
11918          # recon_max: 59000
11919          # recon_randomize: True
11920          #
11921          # Each minion will have a randomized reconnect value between 'recon_default'
11922          # and 'recon_default + recon_max', which in this example means between 1000ms
11923          # 60000ms (or between 1 and 60 seconds). The generated random-value will be
11924          # doubled after each attempt to reconnect. Lets say the generated random
11925          # value is 11 seconds (or 11000ms).
11926          # reconnect 1: wait 11 seconds
11927          # reconnect 2: wait 22 seconds
11928          # reconnect 3: wait 33 seconds
11929          # reconnect 4: wait 44 seconds
11930          # reconnect 5: wait 55 seconds
11931          # reconnect 6: wait time is bigger than 60 seconds (recon_default + recon_max)
11932          # reconnect 7: wait 11 seconds
11933          # reconnect 8: wait 22 seconds
11934          # reconnect 9: wait 33 seconds
11935          # reconnect x: etc.
11936          #
11937          # In a setup with ~6000 thousand hosts these settings would average the reconnects
11938          # to about 100 per second and all hosts would be reconnected within 60 seconds.
11939          # recon_default: 100
11940          # recon_max: 5000
11941          # recon_randomize: False
11942          #
11943          #
11944          # The loop_interval sets how long in seconds the minion will wait between
11945          # evaluating the scheduler and running cleanup tasks. This defaults to a
11946          # sane 60 seconds, but if the minion scheduler needs to be evaluated more
11947          # often lower this value
11948          #loop_interval: 60
11949
11950          # The grains_refresh_every setting allows for a minion to periodically check
11951          # its grains to see if they have changed and, if so, to inform the master
11952          # of the new grains. This operation is moderately expensive, therefore
11953          # care should be taken not to set this value too low.
11954          #
11955          # Note: This value is expressed in __minutes__!
11956          #
11957          # A value of 10 minutes is a reasonable default.
11958          #
11959          # If the value is set to zero, this check is disabled.
11960          #grains_refresh_every: 1
11961
11962          # Cache grains on the minion. Default is False.
11963          #grains_cache: False
11964
11965          # Grains cache expiration, in seconds. If the cache file is older than this
11966          # number of seconds then the grains cache will be dumped and fully re-populated
11967          # with fresh data. Defaults to 5 minutes. Will have no effect if 'grains_cache'
11968          # is not enabled.
11969          # grains_cache_expiration: 300
11970
11971          # Windows platforms lack posix IPC and must rely on slower TCP based inter-
11972          # process communications. Set ipc_mode to 'tcp' on such systems
11973          #ipc_mode: ipc
11974
11975          # Overwrite the default tcp ports used by the minion when in tcp mode
11976          #tcp_pub_port: 4510
11977          #tcp_pull_port: 4511
11978
11979          # Passing very large events can cause the minion to consume large amounts of
11980          # memory. This value tunes the maximum size of a message allowed onto the
11981          # minion event bus. The value is expressed in bytes.
11982          #max_event_size: 1048576
11983
11984          # To detect failed master(s) and fire events on connect/disconnect, set
11985          # master_alive_interval to the number of seconds to poll the masters for
11986          # connection events.
11987          #
11988          #master_alive_interval: 30
11989
11990          # The minion can include configuration from other files. To enable this,
11991          # pass a list of paths to this option. The paths can be either relative or
11992          # absolute; if relative, they are considered to be relative to the directory
11993          # the main minion configuration file lives in (this file). Paths can make use
11994          # of shell-style globbing. If no files are matched by a path passed to this
11995          # option then the minion will log a warning message.
11996          #
11997          # Include a config file from some other path:
11998          # include: /etc/salt/extra_config
11999          #
12000          # Include config from several files and directories:
12001          #include:
12002          #  - /etc/salt/extra_config
12003          #  - /etc/roles/webserver
12004          #
12005          #
12006          #
12007          #####   Minion module management     #####
12008          ##########################################
12009          # Disable specific modules. This allows the admin to limit the level of
12010          # access the master has to the minion.
12011          #disable_modules: [cmd,test]
12012          #disable_returners: []
12013          #
12014          # Modules can be loaded from arbitrary paths. This enables the easy deployment
12015          # of third party modules. Modules for returners and minions can be loaded.
12016          # Specify a list of extra directories to search for minion modules and
12017          # returners. These paths must be fully qualified!
12018          #module_dirs: []
12019          #returner_dirs: []
12020          #states_dirs: []
12021          #render_dirs: []
12022          #utils_dirs: []
12023          #
12024          # A module provider can be statically overwritten or extended for the minion
12025          # via the providers option, in this case the default module will be
12026          # overwritten by the specified module. In this example the pkg module will
12027          # be provided by the yumpkg5 module instead of the system default.
12028          #providers:
12029          #  pkg: yumpkg5
12030          #
12031          # Enable Cython modules searching and loading. (Default: False)
12032          #cython_enable: False
12033          #
12034          # Specify a max size (in bytes) for modules on import. This feature is currently
12035          # only supported on *nix operating systems and requires psutil.
12036          # modules_max_memory: -1
12037
12038
12039          #####    State Management Settings    #####
12040          ###########################################
12041          # The default renderer to use in SLS files. This is configured as a
12042          # pipe-delimited expression. For example, jinja|yaml will first run jinja
12043          # templating on the SLS file, and then load the result as YAML. This syntax is
12044          # documented in further depth at the following URL:
12045          #
12046          # https://docs.saltstack.com/en/latest/ref/renderers/#composing-renderers
12047          #
12048          # NOTE: The "shebang" prefix (e.g. "#!jinja|yaml") described in the
12049          # documentation linked above is for use in an SLS file to override the default
12050          # renderer, it should not be used when configuring the renderer here.
12051          #
12052          #renderer: jinja|yaml
12053          #
12054          # The failhard option tells the minions to stop immediately after the first
12055          # failure detected in the state execution. Defaults to False.
12056          #failhard: False
12057          #
12058          # Reload the modules prior to a highstate run.
12059          #autoload_dynamic_modules: True
12060          #
12061          # clean_dynamic_modules keeps the dynamic modules on the minion in sync with
12062          # the dynamic modules on the master, this means that if a dynamic module is
12063          # not on the master it will be deleted from the minion. By default, this is
12064          # enabled and can be disabled by changing this value to False.
12065          #clean_dynamic_modules: True
12066          #
12067          # Normally, the minion is not isolated to any single environment on the master
12068          # when running states, but the environment can be isolated on the minion side
12069          # by statically setting it. Remember that the recommended way to manage
12070          # environments is to isolate via the top file.
12071          #environment: None
12072          #
12073          # If using the local file directory, then the state top file name needs to be
12074          # defined, by default this is top.sls.
12075          #state_top: top.sls
12076          #
12077          # Run states when the minion daemon starts. To enable, set startup_states to:
12078          # 'highstate' -- Execute state.highstate
12079          # 'sls' -- Read in the sls_list option and execute the named sls files
12080          # 'top' -- Read top_file option and execute based on that file on the Master
12081          #startup_states: ''
12082          #
12083          # List of states to run when the minion starts up if startup_states is 'sls':
12084          #sls_list:
12085          #  - edit.vim
12086          #  - hyper
12087          #
12088          # Top file to execute if startup_states is 'top':
12089          #top_file: ''
12090
12091          # Automatically aggregate all states that have support for mod_aggregate by
12092          # setting to True. Or pass a list of state module names to automatically
12093          # aggregate just those types.
12094          #
12095          # state_aggregate:
12096          #   - pkg
12097          #
12098          #state_aggregate: False
12099
12100          #####     File Directory Settings    #####
12101          ##########################################
12102          # The Salt Minion can redirect all file server operations to a local directory,
12103          # this allows for the same state tree that is on the master to be used if
12104          # copied completely onto the minion. This is a literal copy of the settings on
12105          # the master but used to reference a local directory on the minion.
12106
12107          # Set the file client. The client defaults to looking on the master server for
12108          # files, but can be directed to look at the local file directory setting
12109          # defined below by setting it to "local". Setting a local file_client runs the
12110          # minion in masterless mode.
12111          #file_client: remote
12112
12113          # The file directory works on environments passed to the minion, each environment
12114          # can have multiple root directories, the subdirectories in the multiple file
12115          # roots cannot match, otherwise the downloaded files will not be able to be
12116          # reliably ensured. A base environment is required to house the top file.
12117          # Example:
12118          # file_roots:
12119          #   base:
12120          #     - /srv/salt/
12121          #   dev:
12122          #     - /srv/salt/dev/services
12123          #     - /srv/salt/dev/states
12124          #   prod:
12125          #     - /srv/salt/prod/services
12126          #     - /srv/salt/prod/states
12127          #
12128          #file_roots:
12129          #  base:
12130          #    - /srv/salt
12131
12132          # By default, the Salt fileserver recurses fully into all defined environments
12133          # to attempt to find files. To limit this behavior so that the fileserver only
12134          # traverses directories with SLS files and special Salt directories like _modules,
12135          # enable the option below. This might be useful for installations where a file root
12136          # has a very large number of files and performance is negatively impacted. Default
12137          # is False.
12138          #fileserver_limit_traversal: False
12139
12140          # The hash_type is the hash to use when discovering the hash of a file in
12141          # the local fileserver. The default is sha256 but sha224, sha384 and sha512
12142          # are also supported.
12143          #
12144          # WARNING: While md5 and sha1 are also supported, do not use it due to the high chance
12145          # of possible collisions and thus security breach.
12146          #
12147          # WARNING: While md5 is also supported, do not use it due to the high chance
12148          # of possible collisions and thus security breach.
12149          #
12150          # Warning: Prior to changing this value, the minion should be stopped and all
12151          # Salt caches should be cleared.
12152          #hash_type: sha256
12153
12154          # The Salt pillar is searched for locally if file_client is set to local. If
12155          # this is the case, and pillar data is defined, then the pillar_roots need to
12156          # also be configured on the minion:
12157          #pillar_roots:
12158          #  base:
12159          #    - /srv/pillar
12160          #
12161          #
12162          ######        Security settings       #####
12163          ###########################################
12164          # Enable "open mode", this mode still maintains encryption, but turns off
12165          # authentication, this is only intended for highly secure environments or for
12166          # the situation where your keys end up in a bad state. If you run in open mode
12167          # you do so at your own risk!
12168          #open_mode: False
12169
12170          # Enable permissive access to the salt keys.  This allows you to run the
12171          # master or minion as root, but have a non-root group be given access to
12172          # your pki_dir.  To make the access explicit, root must belong to the group
12173          # you've given access to. This is potentially quite insecure.
12174          #permissive_pki_access: False
12175
12176          # The state_verbose and state_output settings can be used to change the way
12177          # state system data is printed to the display. By default all data is printed.
12178          # The state_verbose setting can be set to True or False, when set to False
12179          # all data that has a result of True and no changes will be suppressed.
12180          #state_verbose: True
12181
12182          # The state_output setting controls which results will be output full multi line
12183          # full, terse - each state will be full/terse
12184          # mixed - only states with errors will be full
12185          # changes - states with changes and errors will be full
12186          # full_id, mixed_id, changes_id and terse_id are also allowed;
12187          # when set, the state ID will be used as name in the output
12188          #state_output: full
12189
12190          # The state_output_diff setting changes whether or not the output from
12191          # successful states is returned. Useful when even the terse output of these
12192          # states is cluttering the logs. Set it to True to ignore them.
12193          #state_output_diff: False
12194
12195          # The state_output_profile setting changes whether profile information
12196          # will be shown for each state run.
12197          #state_output_profile: True
12198
12199          # Fingerprint of the master public key to validate the identity of your Salt master
12200          # before the initial key exchange. The master fingerprint can be found by running
12201          # "salt-key -F master" on the Salt master.
12202          #master_finger: ''
12203
12204
12205          ######         Thread settings        #####
12206          ###########################################
12207          # Disable multiprocessing support, by default when a minion receives a
12208          # publication a new process is spawned and the command is executed therein.
12209          #multiprocessing: True
12210
12211
12212          #####         Logging settings       #####
12213          ##########################################
12214          # The location of the minion log file
12215          # The minion log can be sent to a regular file, local path name, or network
12216          # location. Remote logging works best when configured to use rsyslogd(8) (e.g.:
12217          # ``file:///dev/log``), with rsyslogd(8) configured for network logging. The URI
12218          # format is: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
12219          #log_file: /var/log/salt/minion
12220          #log_file: file:///dev/log
12221          #log_file: udp://loghost:10514
12222          #
12223          #log_file: /var/log/salt/minion
12224          #key_logfile: /var/log/salt/key
12225
12226          # The level of messages to send to the console.
12227          # One of 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'critical'.
12228          #
12229          # The following log levels are considered INSECURE and may log sensitive data:
12230          # ['garbage', 'trace', 'debug']
12231          #
12232          # Default: 'warning'
12233          #log_level: warning
12234
12235          # The level of messages to send to the log file.
12236          # One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
12237          # If using 'log_granular_levels' this must be set to the highest desired level.
12238          # Default: 'warning'
12239          #log_level_logfile:
12240
12241          # The date and time format used in log messages. Allowed date/time formatting
12242          # can be seen here: http://docs.python.org/library/time.html#time.strftime
12243          #log_datefmt: '%H:%M:%S'
12244          #log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
12245
12246          # The format of the console logging messages. Allowed formatting options can
12247          # be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
12248          #
12249          # Console log colors are specified by these additional formatters:
12250          #
12251          # %(colorlevel)s
12252          # %(colorname)s
12253          # %(colorprocess)s
12254          # %(colormsg)s
12255          #
12256          # Since it is desirable to include the surrounding brackets, '[' and ']', in
12257          # the coloring of the messages, these color formatters also include padding as
12258          # well.  Color LogRecord attributes are only available for console logging.
12259          #
12260          #log_fmt_console: '%(colorlevel)s %(colormsg)s'
12261          #log_fmt_console: '[%(levelname)-8s] %(message)s'
12262          #
12263          #log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
12264
12265          # This can be used to control logging levels more specificically.  This
12266          # example sets the main salt library at the 'warning' level, but sets
12267          # 'salt.modules' to log at the 'debug' level:
12268          #   log_granular_levels:
12269          #     'salt': 'warning'
12270          #     'salt.modules': 'debug'
12271          #
12272          #log_granular_levels: {}
12273
12274          # To diagnose issues with minions disconnecting or missing returns, ZeroMQ
12275          # supports the use of monitor sockets # to log connection events. This
12276          # feature requires ZeroMQ 4.0 or higher.
12277          #
12278          # To enable ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log at a
12279          # debug level or higher.
12280          #
12281          # A sample log event is as follows:
12282          #
12283          # [DEBUG   ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
12284          # 'value': 27, 'description': 'EVENT_DISCONNECTED'}
12285          #
12286          # All events logged will include the string 'ZeroMQ event'. A connection event
12287          # should be logged on the as the minion starts up and initially connects to the
12288          # master. If not, check for debug log level and that the necessary version of
12289          # ZeroMQ is installed.
12290          #
12291          #zmq_monitor: False
12292
12293          ######      Module configuration      #####
12294          ###########################################
12295          # Salt allows for modules to be passed arbitrary configuration data, any data
12296          # passed here in valid yaml format will be passed on to the salt minion modules
12297          # for use. It is STRONGLY recommended that a naming convention be used in which
12298          # the module name is followed by a . and then the value. Also, all top level
12299          # data must be applied via the yaml dict construct, some examples:
12300          #
12301          # You can specify that all modules should run in test mode:
12302          #test: True
12303          #
12304          # A simple value for the test module:
12305          #test.foo: foo
12306          #
12307          # A list for the test module:
12308          #test.bar: [baz,quo]
12309          #
12310          # A dict for the test module:
12311          #test.baz: {spam: sausage, cheese: bread}
12312          #
12313          #
12314          ######      Update settings          ######
12315          ###########################################
12316          # Using the features in Esky, a salt minion can both run as a frozen app and
12317          # be updated on the fly. These options control how the update process
12318          # (saltutil.update()) behaves.
12319          #
12320          # The url for finding and downloading updates. Disabled by default.
12321          #update_url: False
12322          #
12323          # The list of services to restart after a successful update. Empty by default.
12324          #update_restart_services: []
12325
12326
12327          ######      Keepalive settings        ######
12328          ############################################
12329          # ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
12330          # the OS. If connections between the minion and the master pass through
12331          # a state tracking device such as a firewall or VPN gateway, there is
12332          # the risk that it could tear down the connection the master and minion
12333          # without informing either party that their connection has been taken away.
12334          # Enabling TCP Keepalives prevents this from happening.
12335
12336          # Overall state of TCP Keepalives, enable (1 or True), disable (0 or False)
12337          # or leave to the OS defaults (-1), on Linux, typically disabled. Default True, enabled.
12338          #tcp_keepalive: True
12339
12340          # How long before the first keepalive should be sent in seconds. Default 300
12341          # to send the first keepalive after 5 minutes, OS default (-1) is typically 7200 seconds
12342          # on Linux see /proc/sys/net/ipv4/tcp_keepalive_time.
12343          #tcp_keepalive_idle: 300
12344
12345          # How many lost probes are needed to consider the connection lost. Default -1
12346          # to use OS defaults, typically 9 on Linux, see /proc/sys/net/ipv4/tcp_keepalive_probes.
12347          #tcp_keepalive_cnt: -1
12348
12349          # How often, in seconds, to send keepalives after the first one. Default -1 to
12350          # use OS defaults, typically 75 seconds on Linux, see
12351          # /proc/sys/net/ipv4/tcp_keepalive_intvl.
12352          #tcp_keepalive_intvl: -1
12353
12354
12355          ######   Windows Software settings    ######
12356          ############################################
12357          # Location of the repository cache file on the master:
12358          #win_repo_cachefile: 'salt://win/repo/winrepo.p'
12359
12360
12361          ######      Returner  settings        ######
12362          ############################################
12363          # Which returner(s) will be used for minion's result:
12364          #return: mysql
12365
12366
12367   Minion Blackout Configuration
12368       New in version 2016.3.0.
12369
12370
12371       Salt supports minion blackouts. When a minion is in blackout mode,  all
12372       remote  execution commands are disabled. This allows production minions
12373       to be put "on hold", eliminating the risk of an untimely  configuration
12374       change.
12375
12376       Minion blackouts are configured via a special pillar key, minion_black‐
12377       out.  If this key is set to True,  then  the  minion  will  reject  all
12378       incoming  commands,  except for saltutil.refresh_pillar. (The exception
12379       is important, so minions can be brought out of blackout mode)
12380
12381       Salt also supports an explicit whitelist of additional  functions  that
12382       will  be  allowed  during blackout. This is configured with the special
12383       pillar key minion_blackout_whitelist, which is formed as a list:
12384
12385          minion_blackout_whitelist:
12386           - test.version
12387           - pillar.get
12388
12389   Access Control System
12390       New in version 0.10.4.
12391
12392
12393       Salt maintains a standard system used to open granular control  to  non
12394       administrative  users to execute Salt commands. The access control sys‐
12395       tem has been applied to all systems used to  configure  access  to  non
12396       administrative control interfaces in Salt.
12397
12398       These interfaces include, the peer system, the external auth system and
12399       the publisher acl system.
12400
12401       The access control system mandated a standard configuration syntax used
12402       in all of the three aforementioned systems. While this adds functional‐
12403       ity to the configuration in 0.10.4, it does not negate the old configu‐
12404       ration.
12405
12406       Now  specific  functions can be opened up to specific minions from spe‐
12407       cific users in the case of external auth and publisher  ACLs,  and  for
12408       specific minions in the case of the peer system.
12409
12410   Publisher ACL system
12411       The  salt  publisher  ACL system is a means to allow system users other
12412       than root to have access to execute select  salt  commands  on  minions
12413       from the master.
12414
12415       The publisher ACL system is configured in the master configuration file
12416       via the publisher_acl configuration  option.  Under  the  publisher_acl
12417       configuration  option the users open to send commands are specified and
12418       then a list of the minion functions which will  be  made  available  to
12419       specified  user.   Both users and functions could be specified by exact
12420       match, shell glob or regular expression.  This  configuration  is  much
12421       like the external_auth configuration:
12422
12423          publisher_acl:
12424            # Allow thatch to execute anything.
12425            thatch:
12426              - .*
12427            # Allow fred to use test and pkg, but only on "web*" minions.
12428            fred:
12429              - web*:
12430                - test.*
12431                - pkg.*
12432            # Allow admin and managers to use saltutil module functions
12433            admin|manager_.*:
12434              - saltutil.*
12435            # Allow users to use only my_mod functions on "web*" minions with specific arguments.
12436            user_.*:
12437              - web*:
12438                - 'my_mod.*':
12439                    args:
12440                      - 'a.*'
12441                      - 'b.*'
12442                    kwargs:
12443                      'kwa': 'kwa.*'
12444                      'kwb': 'kwb'
12445
12446   Permission Issues
12447       Directories  required for publisher_acl must be modified to be readable
12448       by the users specified:
12449
12450          chmod 755 /var/cache/salt /var/cache/salt/master /var/cache/salt/master/jobs /var/run/salt /var/run/salt/master
12451
12452       NOTE:
12453          In addition to the changes above you will also need  to  modify  the
12454          permissions  of  /var/log/salt  and  the  existing  log  file  to be
12455          writable by the user(s) which will be running the commands.  If  you
12456          do  not  wish  to do this then you must disable logging or Salt will
12457          generate errors as it cannot write to the logs as the system users.
12458
12459       If you are upgrading from earlier versions of salt you must also remove
12460       any existing user keys and re-start the Salt master:
12461
12462          rm /var/cache/salt/.*key
12463          service salt-master restart
12464
12465   Whitelist and Blacklist
12466       Salt's  authentication  systems can be configured by specifying what is
12467       allowed using a whitelist, or by specifying what is disallowed using  a
12468       blacklist.  If  you  specify a whitelist, only specified operations are
12469       allowed. If you specify a blacklist, all operations are allowed  except
12470       those that are blacklisted.
12471
12472       See publisher_acl and publisher_acl_blacklist.
12473
12474   External Authentication System
12475       Salt's  External  Authentication System (eAuth) allows for Salt to pass
12476       through command authorization to any  external  authentication  system,
12477       such as PAM or LDAP.
12478
12479       NOTE:
12480          eAuth  using the PAM external auth system requires salt-master to be
12481          run as root as this system needs root access  to  check  authentica‐
12482          tion.
12483
12484   External Authentication System Configuration
12485       The  external  authentication  system  allows  for specific users to be
12486       granted access to  execute  specific  functions  on  specific  minions.
12487       Access  is  configured  in  the  master configuration file and uses the
12488       access control system:
12489
12490          external_auth:
12491            pam:
12492              thatch:
12493                - 'web*':
12494                  - test.*
12495                  - network.*
12496              steve|admin.*:
12497                - .*
12498
12499       The above configuration allows the user thatch to execute functions  in
12500       the test and network modules on the minions that match the web* target.
12501       User steve and the users whose logins start  with  admin,  are  granted
12502       unrestricted access to minion commands.
12503
12504       Salt  respects  the  current  PAM  configuration in place, and uses the
12505       'login' service to authenticate.
12506
12507       NOTE:
12508          The PAM module does not allow authenticating as root.
12509
12510       NOTE:
12511          state.sls and state.highstate will return "Failed to  authenticate!"
12512          if  the  request  timeout  is  reached.  Use -t flag to increase the
12513          timeout
12514
12515       To allow access to wheel modules or runner modules the following @ syn‐
12516       tax must be used:
12517
12518          external_auth:
12519            pam:
12520              thatch:
12521                - '@wheel'   # to allow access to all wheel modules
12522                - '@runner'  # to allow access to all runner modules
12523                - '@jobs'    # to allow access to the jobs runner and/or wheel module
12524
12525       NOTE:
12526          The  runner/wheel markup is different, since there are no minions to
12527          scope the acl to.
12528
12529       NOTE:
12530          Globs will not match wheel  or  runners!  They  must  be  explicitly
12531          allowed with @wheel or @runner.
12532
12533       WARNING:
12534          All  users  that have external authentication privileges are allowed
12535          to run saltutil.findjob. Be  aware  that  this  could  inadvertently
12536          expose some data such as minion IDs.
12537
12538   Matching syntax
12539       The  structure  of  the external_auth dictionary can take the following
12540       shapes. User and function matches are exact matches,  shell  glob  pat‐
12541       terns or regular expressions; minion matches are compound targets.
12542
12543       By user:
12544
12545          external_auth:
12546            <eauth backend>:
12547              <user or group%>:
12548                - <regex to match function>
12549
12550       By user, by minion:
12551
12552          external_auth:
12553            <eauth backend>:
12554              <user or group%>:
12555                <minion compound target>:
12556                  - <regex to match function>
12557
12558       By user, by runner/wheel:
12559
12560          external_auth:
12561            <eauth backend>:
12562              <user or group%>:
12563                <@runner or @wheel>:
12564                  - <regex to match function>
12565
12566       By user, by runner+wheel module:
12567
12568          external_auth:
12569            <eauth backend>:
12570              <user or group%>:
12571                <@module_name>:
12572                  - <regex to match function without module_name>
12573
12574   Groups
12575       To  apply permissions to a group of users in an external authentication
12576       system, append a % to the ID:
12577
12578          external_auth:
12579            pam:
12580              admins%:
12581                - '*':
12582                  - 'pkg.*'
12583
12584   Limiting by function arguments
12585       Positional arguments or keyword arguments  to  functions  can  also  be
12586       whitelisted.
12587
12588       New in version 2016.3.0.
12589
12590
12591          external_auth:
12592            pam:
12593              my_user:
12594                - '*':
12595                  - 'my_mod.*':
12596                      args:
12597                        - 'a.*'
12598                        - 'b.*'
12599                      kwargs:
12600                        'kwa': 'kwa.*'
12601                        'kwb': 'kwb'
12602                - '@runner':
12603                  - 'runner_mod.*':
12604                      args:
12605                      - 'a.*'
12606                      - 'b.*'
12607                      kwargs:
12608                        'kwa': 'kwa.*'
12609                        'kwb': 'kwb'
12610
12611       The rules:
12612
12613       1. The arguments values are matched as regexp.
12614
12615       2. If  arguments  restrictions  are  specified  the  only  matched  are
12616          allowed.
12617
12618       3. If an argument isn't specified any value is allowed.
12619
12620       4. To skip an arg use "everything" regexp .*. I.e.  if  arg0  and  arg2
12621          should  be limited but arg1 and other arguments could have any value
12622          use:
12623
12624             args:
12625               - 'value0'
12626               - '.*'
12627               - 'value2'
12628
12629   Usage
12630       The external authentication system can  then  be  used  from  the  com‐
12631       mand-line  by  any  user  on  the same system as the master with the -a
12632       option:
12633
12634          $ salt -a pam web\* test.version
12635
12636       The system will ask the  user  for  the  credentials  required  by  the
12637       authentication system and then publish the command.
12638
12639   Tokens
12640       With external authentication alone, the authentication credentials will
12641       be required with every call to Salt. This can be alleviated  with  Salt
12642       tokens.
12643
12644       Tokens  are short term authorizations and can be easily created by just
12645       adding a -T option when authenticating:
12646
12647          $ salt -T -a pam web\* test.version
12648
12649       Now a token will be created that has an  expiration  of  12  hours  (by
12650       default).   This  token  is  stored  in  a file named salt_token in the
12651       active user's home directory.
12652
12653       Once the token is created, it is sent with  all  subsequent  communica‐
12654       tions.  User authentication does not need to be entered again until the
12655       token expires.
12656
12657       Token expiration time can be set in the Salt master config file.
12658
12659   LDAP and Active Directory
12660       NOTE:
12661          LDAP usage requires that you have installed python-ldap.
12662
12663       Salt supports both user and group authentication for LDAP  (and  Active
12664       Directory accessed via its LDAP interface)
12665
12666   OpenLDAP and similar systems
12667       LDAP configuration happens in the Salt master configuration file.
12668
12669       Server configuration values and their defaults:
12670
12671          # Server to auth against
12672          auth.ldap.server: localhost
12673
12674          # Port to connect via
12675          auth.ldap.port: 389
12676
12677          # Use TLS when connecting
12678          auth.ldap.tls: False
12679
12680          # Use STARTTLS when connecting
12681          auth.ldap.starttls: False
12682
12683          # LDAP scope level, almost always 2
12684          auth.ldap.scope: 2
12685
12686          # Server specified in URI format
12687          auth.ldap.uri: ''    # Overrides .ldap.server, .ldap.port, .ldap.tls above
12688
12689          # Verify server's TLS certificate
12690          auth.ldap.no_verify: False
12691
12692          # Bind to LDAP anonymously to determine group membership
12693          # Active Directory does not allow anonymous binds without special configuration
12694          # In addition, if auth.ldap.anonymous is True, empty bind passwords are not permitted.
12695          auth.ldap.anonymous: False
12696
12697          # FOR TESTING ONLY, this is a VERY insecure setting.
12698          # If this is True, the LDAP bind password will be ignored and
12699          # access will be determined by group membership alone with
12700          # the group memberships being retrieved via anonymous bind
12701          auth.ldap.auth_by_group_membership_only: False
12702
12703          # Require authenticating user to be part of this Organizational Unit
12704          # This can be blank if your LDAP schema does not use this kind of OU
12705          auth.ldap.groupou: 'Groups'
12706
12707          # Object Class for groups.  An LDAP search will be done to find all groups of this
12708          # class to which the authenticating user belongs.
12709          auth.ldap.groupclass: 'posixGroup'
12710
12711          # Unique ID attribute name for the user
12712          auth.ldap.accountattributename: 'memberUid'
12713
12714          # These are only for Active Directory
12715          auth.ldap.activedirectory: False
12716          auth.ldap.persontype: 'person'
12717
12718          auth.ldap.minion_stripdomains: []
12719
12720          # Redhat Identity Policy Audit
12721          auth.ldap.freeipa: False
12722
12723   Authenticating to the LDAP Server
12724       There are two phases to LDAP authentication.  First, Salt authenticates
12725       to search for a users' Distinguished Name and  group  membership.   The
12726       user  it  authenticates as in this phase is often a special LDAP system
12727       user with read-only access to the LDAP directory.  After Salt  searches
12728       the  directory  to  determine  the  actual  user's  DN  and  groups, it
12729       re-authenticates as the user running the Salt commands.
12730
12731       If you are already aware of the structure of your DNs  and  permissions
12732       in  your LDAP store are set such that users can look up their own group
12733       memberships, then the first and second users can be the same.  To  tell
12734       Salt  this is the case, omit the auth.ldap.bindpw parameter.  Note this
12735       is not the same thing as using an anonymous bind.   Most  LDAP  servers
12736       will   not   permit   anonymous   bind,  and  as  mentioned  above,  if
12737       auth.ldap.anonymous is False you cannot use an empty password.
12738
12739       You can template the binddn like this:
12740
12741          auth.ldap.basedn: dc=saltstack,dc=com
12742          auth.ldap.binddn: uid={{ username }},cn=users,cn=accounts,dc=saltstack,dc=com
12743
12744       Salt will use the password entered on the salt command line in place of
12745       the bindpw.
12746
12747       To  use  two separate users, specify the LDAP lookup user in the binddn
12748       directive, and include a bindpw like so
12749
12750          auth.ldap.binddn: uid=ldaplookup,cn=sysaccounts,cn=etc,dc=saltstack,dc=com
12751          auth.ldap.bindpw: mypassword
12752
12753       As mentioned before, Salt uses a filter to find the DN associated  with
12754       a user. Salt substitutes the {{ username }} value for the username when
12755       querying LDAP
12756
12757          auth.ldap.filter: uid={{ username }}
12758
12759   Determining Group Memberships (OpenLDAP / non-Active Directory)
12760       For OpenLDAP, to determine group membership, one can specify an OU that
12761       contains group data. This is prepended to the basedn to create a search
12762       path.  Then the  results  are  filtered  against  auth.ldap.groupclass,
12763       default  posixGroup,  and  the account's 'name' attribute, memberUid by
12764       default.
12765
12766          auth.ldap.groupou: Groups
12767
12768       Note that as of 2017.7, auth.ldap.groupclass  can  refer  to  either  a
12769       groupclass  or an objectClass.  For some LDAP servers (notably OpenLDAP
12770       without the memberOf overlay enabled) to determine group membership  we
12771       need  to  know both the objectClass and the memberUid attributes.  Usu‐
12772       ally for these servers you will want a auth.ldap.groupclass  of  posix‐
12773       Group and an auth.ldap.groupattribute of memberUid.
12774
12775       LDAP  servers  with  the  memberOf overlay will have entries similar to
12776       auth.ldap.groupclass: person and auth.ldap.groupattribute: memberOf.
12777
12778       When using the ldap('DC=domain,DC=com') eauth operator,  sometimes  the
12779       records  returned  from  LDAP  or Active Directory have fully-qualified
12780       domain names attached, while minion IDs instead are  simple  hostnames.
12781       The parameter below allows the administrator to strip off a certain set
12782       of domain names so the hostnames looked up in the directory service can
12783       match the minion IDs.
12784
12785          auth.ldap.minion_stripdomains: ['.external.bigcorp.com', '.internal.bigcorp.com']
12786
12787   Determining Group Memberships (Active Directory)
12788       Active  Directory  handles  group  membership differently, and does not
12789       utilize the groupou configuration variable.   AD  needs  the  following
12790       options in the master config:
12791
12792          auth.ldap.activedirectory: True
12793          auth.ldap.filter: sAMAccountName={{username}}
12794          auth.ldap.accountattributename: sAMAccountName
12795          auth.ldap.groupclass: group
12796          auth.ldap.persontype: person
12797
12798       To  determine group membership in AD, the username and password that is
12799       entered when LDAP is requested as the eAuth mechanism  on  the  command
12800       line  is  used  to  bind to AD's LDAP interface. If this fails, then it
12801       doesn't matter what groups the user belongs to, he  or  she  is  denied
12802       access.  Next,  the distinguishedName of the user is looked up with the
12803       following LDAP search:
12804
12805          (&(<value of auth.ldap.accountattributename>={{username}})
12806            (objectClass=<value of auth.ldap.persontype>)
12807          )
12808
12809       This should return a distinguishedName that we can use  to  filter  for
12810       group membership.  Then the following LDAP query is executed:
12811
12812          (&(member=<distinguishedName from search above>)
12813            (objectClass=<value of auth.ldap.groupclass>)
12814          )
12815
12816          external_auth:
12817            ldap:
12818              test_ldap_user:
12819                  - '*':
12820                      - test.ping
12821
12822       To configure a LDAP group, append a % to the ID:
12823
12824          external_auth:
12825            ldap:
12826              test_ldap_group%:
12827                - '*':
12828                  - test.echo
12829
12830       In  addition,  if there are a set of computers in the directory service
12831       that should be part of the eAuth definition, they can be specified like
12832       this:
12833
12834          external_auth:
12835            ldap:
12836              test_ldap_group%:
12837                - ldap('DC=corp,DC=example,DC=com'):
12838                  - test.echo
12839
12840       The  string inside ldap() above is any valid LDAP/AD tree limiter.  OU=
12841       in particular is permitted as long as it would return a  list  of  com‐
12842       puter objects.
12843
12844   Peer Communication
12845       Salt  0.9.0  introduced the capability for Salt minions to publish com‐
12846       mands. The intent of this feature is not for Salt  minions  to  act  as
12847       independent brokers one with another, but to allow Salt minions to pass
12848       commands to each other.
12849
12850       In Salt 0.10.0 the ability to  execute  runners  from  the  master  was
12851       added.  This  allows for the master to return collective data from run‐
12852       ners back to the minions via the peer interface.
12853
12854       The peer interface is configured through two options in the master con‐
12855       figuration  file. For minions to send commands from the master the peer
12856       configuration is used. To allow for minions to execute runners from the
12857       master the peer_run configuration is used.
12858
12859       Since  this  presents a viable security risk by allowing minions access
12860       to the master publisher the capability is turned off  by  default.  The
12861       minions  can  be allowed access to the master publisher on a per minion
12862       basis based on regular expressions. Minions with specific  ids  can  be
12863       allowed access to certain Salt modules and functions.
12864
12865   Peer Configuration
12866       The  configuration  is  done  under the peer setting in the Salt master
12867       configuration file, here are a number of configuration possibilities.
12868
12869       The simplest approach is to enable all communication for  all  minions,
12870       this is only recommended for very secure environments.
12871
12872          peer:
12873            .*:
12874              - .*
12875
12876       This  configuration  will  allow minions with IDs ending in example.com
12877       access to the test, ps, and pkg module functions.
12878
12879          peer:
12880            .*example.com:
12881              - test.*
12882              - ps.*
12883              - pkg.*
12884
12885       The configuration logic is simple, a regular expression is  passed  for
12886       matching  minion  ids,  and  then a list of expressions matching minion
12887       functions is associated with the named minion. For instance, this  con‐
12888       figuration  will  also  allow minions ending with foo.org access to the
12889       publisher.
12890
12891          peer:
12892            .*example.com:
12893              - test.*
12894              - ps.*
12895              - pkg.*
12896            .*foo.org:
12897              - test.*
12898              - ps.*
12899              - pkg.*
12900
12901       NOTE:
12902          Functions are matched using regular expressions.
12903
12904   Peer Runner Communication
12905       Configuration to allow minions to execute runners from  the  master  is
12906       done  via the peer_run option on the master. The peer_run configuration
12907       follows the same logic as the peer option. The only difference is  that
12908       access is granted to runner modules.
12909
12910       To open up access to all minions to all runners:
12911
12912          peer_run:
12913            .*:
12914              - .*
12915
12916       This  configuration  will  allow minions with IDs ending in example.com
12917       access to the manage and jobs runner functions.
12918
12919          peer_run:
12920            .*example.com:
12921              - manage.*
12922              - jobs.*
12923
12924       NOTE:
12925          Functions are matched using regular expressions.
12926
12927   Using Peer Communication
12928       The publish module was created to manage peer communication.  The  pub‐
12929       lish module comes with a number of functions to execute peer communica‐
12930       tion in different ways. Currently there are three functions in the pub‐
12931       lish  module.  These examples will show how to test the peer system via
12932       the salt-call command.
12933
12934       To execute test.version on all minions:
12935
12936          # salt-call publish.publish \* test.version
12937
12938       To execute the manage.up runner:
12939
12940          # salt-call publish.runner manage.up
12941
12942       To match minions using other matchers, use tgt_type:
12943
12944          # salt-call publish.publish 'webserv* and not G@os:Ubuntu' test.version tgt_type='compound'
12945
12946       NOTE:
12947          In pre-2017.7.0 releases, use expr_form instead of tgt_type.
12948
12949   When to Use Each Authentication System
12950       publisher_acl is useful for allowing local system  users  to  run  Salt
12951       commands  without giving them root access. If you can log into the Salt
12952       master directly, then publisher_acl allows you to use Salt without root
12953       privileges. If the local system is configured to authenticate against a
12954       remote system, like LDAP or Active Directory, then  publisher_acl  will
12955       interact with the remote system transparently.
12956
12957       external_auth  is  useful  for  salt-api or for making your own scripts
12958       that use Salt's Python API. It can be used at  the  CLI  (with  the  -a
12959       flag)  but it is more cumbersome as there are more steps involved.  The
12960       only time it is useful at the CLI is when the local system is not  con‐
12961       figured  to authenticate against an external service but you still want
12962       Salt to authenticate against an external service.
12963
12964   Examples
12965       The access controls are manifested using matchers in  these  configura‐
12966       tions:
12967
12968          publisher_acl:
12969            fred:
12970              - web\*:
12971                - pkg.list_pkgs
12972                - test.*
12973                - apache.*
12974
12975       In  the  above  example,  fred is able to send commands only to minions
12976       which match the specified glob target. This can be expanded to  include
12977       other functions for other minions based on standard targets (all match‐
12978       ers are supported except the compound one).
12979
12980          external_auth:
12981            pam:
12982              dave:
12983                - test.version
12984                - mongo\*:
12985                  - network.*
12986                - log\*:
12987                  - network.*
12988                  - pkg.*
12989                - 'G@os:RedHat':
12990                  - kmod.*
12991              steve:
12992                - .*
12993
12994       The above allows for all minions to be hit by test.version by dave, and
12995       adds  a  few  functions that dave can execute on other minions. It also
12996       allows steve unrestricted access to salt commands.
12997
12998       NOTE:
12999          Functions are matched using regular expressions.
13000
13001   Job Management
13002       New in version 0.9.7.
13003
13004
13005       Since Salt executes jobs running on many systems, Salt needs to be able
13006       to manage jobs running on many systems.
13007
13008   The Minion proc System
13009       Salt  Minions  maintain a proc directory in the Salt cachedir. The proc
13010       directory maintains files named after the executed job ID. These  files
13011       contain  the  information  about the current running jobs on the minion
13012       and allow for jobs to be looked up. This is located in the proc  direc‐
13013       tory  under  the  cachedir,  with  a  default configuration it is under
13014       /var/cache/salt/{master|minion}/proc.
13015
13016   Functions in the saltutil Module
13017       Salt 0.9.7 introduced a few new functions to the  saltutil  module  for
13018       managing jobs. These functions are:
13019
13020       1. running  Returns  the data of all running jobs that are found in the
13021          proc directory.
13022
13023       2. find_job Returns specific data about a certain job based on job id.
13024
13025       3. signal_job Allows for a given jid to be sent a signal.
13026
13027       4. term_job Sends a termination signal (SIGTERM,  15)  to  the  process
13028          controlling the specified job.
13029
13030       5. kill_job Sends a kill signal (SIGKILL, 9) to the process controlling
13031          the specified job.
13032
13033       These functions make up the core of the back end used to manage jobs at
13034       the minion level.
13035
13036   The jobs Runner
13037       A  convenience  runner front end and reporting system has been added as
13038       well.  The jobs runner contains functions to make viewing  data  easier
13039       and cleaner.
13040
13041       The jobs runner contains a number of functions...
13042
13043   active
13044       The  active  function  runs saltutil.running on all minions and formats
13045       the return data about all running jobs in a much more usable  and  com‐
13046       pact  format.   The  active  function  will also compare jobs that have
13047       returned and jobs that are still running, making it easier to see  what
13048       systems  have  completed  a job and what systems are still being waited
13049       on.
13050
13051          # salt-run jobs.active
13052
13053   lookup_jid
13054       When jobs are executed the return data is sent back to the  master  and
13055       cached.   By default it is cached for 24 hours, but this can be config‐
13056       ured via the keep_jobs option in the master configuration.   Using  the
13057       lookup_jid  runner  will  display the same return data that the initial
13058       job invocation with the salt command would display.
13059
13060          # salt-run jobs.lookup_jid <job id number>
13061
13062   list_jobs
13063       Before finding a historic job, it may be required to find the  job  id.
13064       list_jobs  will  parse the cached execution data and display all of the
13065       job data for jobs that have already, or partially returned.
13066
13067          # salt-run jobs.list_jobs
13068
13069   Scheduling Jobs
13070       Salt's scheduling system allows incremental executions  on  minions  or
13071       the  master. The schedule system exposes the execution of any execution
13072       function on minions or any runner on the master.
13073
13074       Scheduling can be enabled by multiple methods:
13075
13076       · schedule option in either the master or minion config  files.   These
13077         require the master or minion application to be restarted in order for
13078         the schedule to be implemented.
13079
13080       · Minion pillar data.  Schedule is implemented by refreshing  the  min‐
13081         ion's pillar data, for example by using saltutil.refresh_pillar.
13082
13083       · The schedule state or schedule module
13084
13085       NOTE:
13086          The  scheduler  executes  different functions on the master and min‐
13087          ions. When running on the  master  the  functions  reference  runner
13088          functions,  when  running on the minion the functions specify execu‐
13089          tion functions.
13090
13091       A scheduled run has no output on the minion unless the config is set to
13092       info level or higher. Refer to minion-logging-settings.
13093
13094       States  are  executed  on  the  minion, as all states are. You can pass
13095       positional arguments and provide a YAML dict of named arguments.
13096
13097          schedule:
13098            job1:
13099              function: state.sls
13100              seconds: 3600
13101              args:
13102                - httpd
13103              kwargs:
13104                test: True
13105
13106       This will schedule the command: state.sls httpd  test=True  every  3600
13107       seconds (every hour).
13108
13109          schedule:
13110            job1:
13111              function: state.sls
13112              seconds: 3600
13113              args:
13114                - httpd
13115              kwargs:
13116                test: True
13117              splay: 15
13118
13119       This  will  schedule  the command: state.sls httpd test=True every 3600
13120       seconds (every hour) splaying the time between 0 and 15 seconds.
13121
13122          schedule:
13123            job1:
13124              function: state.sls
13125              seconds: 3600
13126              args:
13127                - httpd
13128              kwargs:
13129                test: True
13130              splay:
13131                start: 10
13132                end: 15
13133
13134       This will schedule the command: state.sls httpd  test=True  every  3600
13135       seconds (every hour) splaying the time between 10 and 15 seconds.
13136
13137   Schedule by Date and Time
13138       New in version 2014.7.0.
13139
13140
13141       Frequency of jobs can also be specified using date strings supported by
13142       the Python dateutil library. This requires the Python dateutil  library
13143       to be installed.
13144
13145          schedule:
13146            job1:
13147              function: state.sls
13148              args:
13149                - httpd
13150              kwargs:
13151                test: True
13152              when: 5:00pm
13153
13154       This  will  schedule  the command: state.sls httpd test=True at 5:00 PM
13155       minion localtime.
13156
13157          schedule:
13158            job1:
13159              function: state.sls
13160              args:
13161                - httpd
13162              kwargs:
13163                test: True
13164              when:
13165                - Monday 5:00pm
13166                - Tuesday 3:00pm
13167                - Wednesday 5:00pm
13168                - Thursday 3:00pm
13169                - Friday 5:00pm
13170
13171       This will schedule the command: state.sls httpd test=True at 5:00 PM on
13172       Monday, Wednesday and Friday, and 3:00 PM on Tuesday and Thursday.
13173
13174          schedule:
13175            job1:
13176              function: state.sls
13177              args:
13178                - httpd
13179              kwargs:
13180                test: True
13181              when:
13182                - 'tea time'
13183
13184          whens:
13185            tea time: 1:40pm
13186            deployment time: Friday 5:00pm
13187
13188       The  Salt  scheduler also allows custom phrases to be used for the when
13189       parameter.  These whens can be stored as either pillar values or  grain
13190       values.
13191
13192          schedule:
13193            job1:
13194              function: state.sls
13195              seconds: 3600
13196              args:
13197                - httpd
13198              kwargs:
13199                test: True
13200              range:
13201                start: 8:00am
13202                end: 5:00pm
13203
13204       This  will  schedule  the command: state.sls httpd test=True every 3600
13205       seconds (every hour) between the hours of 8:00  AM  and  5:00  PM.  The
13206       range  parameter  must  be a dictionary with the date strings using the
13207       dateutil format.
13208
13209          schedule:
13210            job1:
13211              function: state.sls
13212              seconds: 3600
13213              args:
13214                - httpd
13215              kwargs:
13216                test: True
13217              range:
13218                invert: True
13219                start: 8:00am
13220                end: 5:00pm
13221
13222       Using the invert option for  range,  this  will  schedule  the  command
13223       state.sls  httpd  test=True  every  3600 seconds (every hour) until the
13224       current time is between the hours of 8:00 AM and  5:00  PM.  The  range
13225       parameter must be a dictionary with the date strings using the dateutil
13226       format.
13227
13228          schedule:
13229            job1:
13230              function: pkg.install
13231              kwargs:
13232                pkgs: [{'bar': '>1.2.3'}]
13233                refresh: true
13234              once: '2016-01-07T14:30:00'
13235
13236       This will schedule the function pkg.install to be executed once at  the
13237       specified  time.  The schedule entry job1 will not be removed after the
13238       job completes, therefore use  schedule.delete  to  manually  remove  it
13239       afterwards.
13240
13241       The default date format is ISO 8601 but can be overridden by also spec‐
13242       ifying the once_fmt option, like this:
13243
13244          schedule:
13245            job1:
13246              function: test.ping
13247              once: 2015-04-22T20:21:00
13248              once_fmt: '%Y-%m-%dT%H:%M:%S'
13249
13250   Maximum Parallel Jobs Running
13251       New in version 2014.7.0.
13252
13253
13254       The scheduler also supports ensuring that there  are  no  more  than  N
13255       copies  of  a particular routine running. Use this for jobs that may be
13256       long-running and could step on each other or pile up in case of  infra‐
13257       structure outage.
13258
13259       The default for maxrunning is 1.
13260
13261          schedule:
13262            long_running_job:
13263              function: big_file_transfer
13264              jid_include: True
13265              maxrunning: 1
13266
13267   Cron-like Schedule
13268       New in version 2014.7.0.
13269
13270
13271          schedule:
13272            job1:
13273              function: state.sls
13274              cron: '*/15 * * * *'
13275              args:
13276                - httpd
13277              kwargs:
13278                test: True
13279
13280       The  scheduler  also supports scheduling jobs using a cron like format.
13281       This requires the Python croniter library.
13282
13283   Job Data Return
13284       New in version 2015.5.0.
13285
13286
13287       By default, data about jobs runs from the Salt scheduler is returned to
13288       the  master. Setting the return_job parameter to False will prevent the
13289       data from being sent back to the Salt master.
13290
13291          schedule:
13292            job1:
13293              function: scheduled_job_function
13294              return_job: False
13295
13296   Job Metadata
13297       New in version 2015.5.0.
13298
13299
13300       It can be useful to include specific data to differentiate a  job  from
13301       other  jobs. Using the metadata parameter special values can be associ‐
13302       ated with a scheduled job. These values are not used in  the  execution
13303       of  the  job, but can be used to search for specific jobs later if com‐
13304       bined with the return_job parameter. The  metadata  parameter  must  be
13305       specified as a dictionary, othewise it will be ignored.
13306
13307          schedule:
13308            job1:
13309              function: scheduled_job_function
13310              metadata:
13311                foo: bar
13312
13313   Run on Start
13314       New in version 2015.5.0.
13315
13316
13317       By  default,  any job scheduled based on the startup time of the minion
13318       will run the scheduled job when the minion starts up. Sometimes this is
13319       not  the  desired  situation.  Using  the run_on_start parameter set to
13320       False will cause the scheduler to skip this first run  and  wait  until
13321       the next scheduled run:
13322
13323          schedule:
13324            job1:
13325              function: state.sls
13326              seconds: 3600
13327              run_on_start: False
13328              args:
13329                - httpd
13330              kwargs:
13331                test: True
13332
13333   Until and After
13334       New in version 2015.8.0.
13335
13336
13337          schedule:
13338            job1:
13339              function: state.sls
13340              seconds: 15
13341              until: '12/31/2015 11:59pm'
13342              args:
13343                - httpd
13344              kwargs:
13345                test: True
13346
13347       Using  the  until argument, the Salt scheduler allows you to specify an
13348       end time for a scheduled job. If this argument is specified, jobs  will
13349       not run once the specified time has passed. Time should be specified in
13350       a format supported by the dateutil library.  This requires  the  Python
13351       dateutil library to be installed.
13352
13353       New in version 2015.8.0.
13354
13355
13356          schedule:
13357            job1:
13358              function: state.sls
13359              seconds: 15
13360              after: '12/31/2015 11:59pm'
13361              args:
13362                - httpd
13363              kwargs:
13364                test: True
13365
13366       Using  the  after argument, the Salt scheduler allows you to specify an
13367       start time for a scheduled job.  If this argument  is  specified,  jobs
13368       will not run until the specified time has passed. Time should be speci‐
13369       fied in a format supported by the dateutil library.  This requires  the
13370       Python dateutil library to be installed.
13371
13372   Scheduling States
13373          schedule:
13374            log-loadavg:
13375              function: cmd.run
13376              seconds: 3660
13377              args:
13378                - 'logger -t salt < /proc/loadavg'
13379              kwargs:
13380                stateful: False
13381                shell: /bin/sh
13382
13383   Scheduling Highstates
13384       To  set  up a highstate to run on a minion every 60 minutes set this in
13385       the minion config or pillar:
13386
13387          schedule:
13388            highstate:
13389              function: state.highstate
13390              minutes: 60
13391
13392       Time intervals can be specified as seconds, minutes, hours, or days.
13393
13394   Scheduling Runners
13395       Runner executions can also be specified on the master within the master
13396       configuration file:
13397
13398          schedule:
13399            run_my_orch:
13400              function: state.orchestrate
13401              hours: 6
13402              splay: 600
13403              args:
13404                - orchestration.my_orch
13405
13406       The  above  configuration  is  analogous to running salt-run state.orch
13407       orchestration.my_orch every 6 hours.
13408
13409   Scheduler With Returner
13410       The scheduler is also useful for tasks like gathering  monitoring  data
13411       about  a  minion, this schedule option will gather status data and send
13412       it to a MySQL returner database:
13413
13414          schedule:
13415            uptime:
13416              function: status.uptime
13417              seconds: 60
13418              returner: mysql
13419            meminfo:
13420              function: status.meminfo
13421              minutes: 5
13422              returner: mysql
13423
13424       Since specifying the returner repeatedly can be  tiresome,  the  sched‐
13425       ule_returner  option  is  available  to specify one or a list of global
13426       returners to be used by the minions when scheduling.
13427
13428   Managing the Job Cache
13429       The Salt Master maintains a job cache of all job executions  which  can
13430       be  queried  via  the jobs runner. This job cache is called the Default
13431       Job Cache.
13432
13433   Default Job Cache
13434       A number of options are available when configuring the job  cache.  The
13435       default caching system uses local storage on the Salt Master and can be
13436       found in the job cache directory (on Linux systems  this  is  typically
13437       /var/cache/salt/master/jobs).  The  default  caching system is suitable
13438       for most deployments as it does not typically require any further  con‐
13439       figuration or management.
13440
13441       The  default job cache is a temporary cache and jobs will be stored for
13442       24 hours. If the default cache needs to  store  jobs  for  a  different
13443       period the time can be easily adjusted by changing the keep_jobs param‐
13444       eter in the Salt Master configuration file. The value passed in is mea‐
13445       sured via hours:
13446
13447          keep_jobs: 24
13448
13449   Reducing the Size of the Default Job Cache
13450       The  Default  Job Cache can sometimes be a burden on larger deployments
13451       (over 5000 minions). Disabling the job cache will make previously  exe‐
13452       cuted  jobs  unavailable to the jobs system and is not generally recom‐
13453       mended. Normally it is wise to make sure the master  has  access  to  a
13454       faster IO system or a tmpfs is mounted to the jobs dir.
13455
13456       However,  you  can  disable the job_cache by setting it to False in the
13457       Salt Master configuration file. Setting this value to False means  that
13458       the  Salt  Master will no longer cache minion returns, but a JID direc‐
13459       tory and jid file for each job will still be created. This  JID  direc‐
13460       tory is necessary for checking for and preventing JID collisions.
13461
13462       The  default  location for the job cache is in the /var/cache/salt/mas‐
13463       ter/jobs/ directory.
13464
13465       Setting the job_cache to False in addition  to  setting  the  keep_jobs
13466       option  to a smaller value, such as 1, in the Salt Master configuration
13467       file will reduce the size of the Default Job Cache, and thus the burden
13468       on the Salt Master.
13469
13470       NOTE:
13471          Changing  the  keep_jobs option sets the number of hours to keep old
13472          job information and defaults to 24 hours. Do not set this value to 0
13473          when  trying  to make the cache cleaner run more frequently, as this
13474          means the cache cleaner will never run.
13475
13476   Additional Job Cache Options
13477       Many deployments may wish to use an external  database  to  maintain  a
13478       long  term  register  of executed jobs. Salt comes with two main mecha‐
13479       nisms to do this, the master job cache and the external job cache.
13480
13481       See Storing Job Results in an External System.
13482
13483   Storing Job Results in an External System
13484       After a job executes, job results are returned to the  Salt  Master  by
13485       each Salt Minion. These results are stored in the Default Job Cache.
13486
13487       In  addition  to  the  Default  Job Cache, Salt provides two additional
13488       mechanisms to send job results to other systems (databases, local  sys‐
13489       log, and others):
13490
13491       · External Job Cache
13492
13493       · Master Job Cache
13494
13495       The  major difference between these two mechanism is from where results
13496       are returned (from the Salt Master or Salt Minion). Configuring  either
13497       of  these options will also make the Jobs Runner functions to automati‐
13498       cally query the remote stores for information.
13499
13500   External Job Cache - Minion-Side Returner
13501       When an External Job Cache is  configured,  data  is  returned  to  the
13502       Default  Job  Cache on the Salt Master like usual, and then results are
13503       also sent to an External Job Cache using a Salt returner module running
13504       on the Salt Minion.  [image]
13505
13506       · Advantages:  Data  is  stored  without placing additional load on the
13507         Salt Master.
13508
13509       · Disadvantages: Each Salt Minion connects to the external  job  cache,
13510         which  can  result  in  a large number of connections.  Also requires
13511         additional configuration to get returner module settings on all  Salt
13512         Minions.
13513
13514   Master Job Cache - Master-Side Returner
13515       New in version 2014.7.0.
13516
13517
13518       Instead  of  configuring an External Job Cache on each Salt Minion, you
13519       can configure the Master Job Cache to send job results  from  the  Salt
13520       Master  instead.  In  this configuration, Salt Minions send data to the
13521       Default Job Cache as usual, and then the Salt Master sends the data  to
13522       the  external  system  using a Salt returner module running on the Salt
13523       Master.  [image]
13524
13525       · Advantages: A single connection is required to the  external  system.
13526         This is preferred for databases and similar systems.
13527
13528       · Disadvantages: Places additional load on your Salt Master.
13529
13530   Configure an External or Master Job Cache
13531   Step 1: Understand Salt Returners
13532       Before  you  configure  a job cache, it is essential to understand Salt
13533       returner modules ("returners"). Returners are  pluggable  Salt  Modules
13534       that  take  the  data  returned by jobs, and then perform any necessary
13535       steps to send the data to an external system. For example,  a  returner
13536       might  establish a connection, authenticate, and then format and trans‐
13537       fer data.
13538
13539       The Salt Returner system provides the core functionality  used  by  the
13540       External  and Master Job Cache systems, and the same returners are used
13541       by both systems.
13542
13543       Salt currently provides many different returners that let  you  connect
13544       to  a wide variety of systems. A complete list is available at all Salt
13545       returners.  Each returner is configured differently, so make  sure  you
13546       read and follow the instructions linked from that page.
13547
13548       For example, the MySQL returner requires:
13549
13550       · A  database  created using provided schema (structure is available at
13551         MySQL returner)
13552
13553       · A user created with privileges to the database
13554
13555       · Optional SSL configuration
13556
13557       A simpler returner, such as Slack or HipChat, requires:
13558
13559       · An API key/version
13560
13561       · The target channel/room
13562
13563       · The username that should be used to send the message
13564
13565   Step 2: Configure the Returner
13566       After you understand the configuration and  have  the  external  system
13567       ready, the configuration requirements must be declared.
13568
13569   External Job Cache
13570       The  returner configuration settings can be declared in the Salt Minion
13571       configuration file, the Minion's pillar data, or the Minion's grains.
13572
13573       If external_job_cache configuration settings are specified in more than
13574       one  place, the options are retrieved in the following order. The first
13575       configuration location that is found is the one that will be used.
13576
13577       · Minion configuration file
13578
13579       · Minion's grains
13580
13581       · Minion's pillar data
13582
13583   Master Job Cache
13584       The returner configuration settings for the Master Job Cache should  be
13585       declared in the Salt Master's configuration file.
13586
13587   Configuration File Examples
13588       MySQL requires:
13589
13590          mysql.host: 'salt'
13591          mysql.user: 'salt'
13592          mysql.pass: 'salt'
13593          mysql.db: 'salt'
13594          mysql.port: 3306
13595
13596       Slack requires:
13597
13598          slack.channel: 'channel'
13599          slack.api_key: 'key'
13600          slack.from_name: 'name'
13601
13602       After  you  have configured the returner and added settings to the con‐
13603       figuration file, you can enable the External or Master Job Cache.
13604
13605   Step 3: Enable the External or Master Job Cache
13606       Configuration is a single line  that  specifies  an  already-configured
13607       returner to use to send all job data to an external system.
13608
13609   External Job Cache
13610       To  enable  a returner as the External Job Cache (Minion-side), add the
13611       following line to the Salt Master configuration file:
13612
13613          ext_job_cache: <returner>
13614
13615       For example:
13616
13617          ext_job_cache: mysql
13618
13619       NOTE:
13620          When configuring an External Job Cache (Minion-side),  the  returner
13621          settings  are added to the Minion configuration file, but the Exter‐
13622          nal Job Cache setting is  configured  in  the  Master  configuration
13623          file.
13624
13625   Master Job Cache
13626       To  enable a returner as a Master Job Cache (Master-side), add the fol‐
13627       lowing line to the Salt Master configuration file:
13628
13629          master_job_cache: <returner>
13630
13631       For example:
13632
13633          master_job_cache: mysql
13634
13635       Verify that the returner configuration settings are in the Master  con‐
13636       figuration  file,  and be sure to restart the salt-master service after
13637       you make configuration changes. (service salt-master restart).
13638
13639   Logging
13640       The salt project tries to get the logging to work for you and  help  us
13641       solve any issues you might find along the way.
13642
13643       If  you want to get some more information on the nitty-gritty of salt's
13644       logging system, please head over to the logging  development  document,
13645       if  all  you're after is salt's logging configurations, please continue
13646       reading.
13647
13648   Log Levels
13649       The log levels are ordered numerically such that setting the log  level
13650       to  a  specific  level will record all log statements at that level and
13651       higher.  For example, setting log_level: error will log  statements  at
13652       error, critical, and quiet levels, although nothing should be logged at
13653       quiet level.
13654
13655       Most of the logging levels are defined by default in  Python's  logging
13656       library  and  can  be found in the official Python documentation.  Salt
13657       uses some more levels in addition to the standard levels.   All  levels
13658       available in salt are shown in the table below.
13659
13660       NOTE:
13661          Python  dependencies used by salt may define and use additional log‐
13662          ging levels.  For example, the Python 2 version of the multiprocess‐
13663          ing  standard Python library uses the levels subwarning, 25 and sub‐
13664          debug, 5.
13665
13666                  ┌─────────┬───────────────┬─────────────────────┐
13667                  │Level    │ Numeric value │ Description         │
13668                  ├─────────┼───────────────┼─────────────────────┤
13669                  │quiet    │ 1000          │ Nothing  should  be │
13670                  │         │               │ logged    at   this │
13671                  │         │               │ level               │
13672                  ├─────────┼───────────────┼─────────────────────┤
13673                  │critical │ 50            │ Critical errors     │
13674                  ├─────────┼───────────────┼─────────────────────┤
13675                  │error    │ 40            │ Errors              │
13676                  ├─────────┼───────────────┼─────────────────────┤
13677                  │warning  │ 30            │ Warnings            │
13678                  ├─────────┼───────────────┼─────────────────────┤
13679                  │info     │ 20            │ Normal log informa‐ │
13680                  │         │               │ tion                │
13681                  ├─────────┼───────────────┼─────────────────────┤
13682                  │profile  │ 15            │ Profiling  informa‐ │
13683                  │         │               │ tion on  salt  per‐ │
13684                  │         │               │ formance            │
13685                  ├─────────┼───────────────┼─────────────────────┤
13686                  │debug    │ 10            │ Information  useful │
13687                  │         │               │ for debugging  both │
13688                  │         │               │ salt    implementa‐ │
13689                  │         │               │ tions and salt code │
13690                  ├─────────┼───────────────┼─────────────────────┤
13691                  │trace    │ 5             │ More detailed  code │
13692                  │         │               │ debugging  informa‐ │
13693                  │         │               │ tion                │
13694                  ├─────────┼───────────────┼─────────────────────┤
13695                  │garbage  │ 1             │ Even more debugging │
13696                  │         │               │ information         │
13697                  ├─────────┼───────────────┼─────────────────────┤
13698                  │all      │ 0             │ Everything          │
13699                  └─────────┴───────────────┴─────────────────────┘
13700
13701   Available Configuration Settings
13702   log_file
13703       The log records can be sent to a regular file, local path name, or net‐
13704       work location.  Remote logging works best when configured to use  rsys‐
13705       logd(8)  (e.g.:  file:///dev/log), with rsyslogd(8) configured for net‐
13706       work logging.  The format for remote addresses is:
13707
13708          <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
13709
13710       Where log-facility is the symbolic name of a syslog facility as defined
13711       in the SysLogHandler documentation. It defaults to LOG_USER.
13712
13713       Default:  Dependent  of  the  binary  being  executed, for example, for
13714       salt-master, /var/log/salt/master.
13715
13716       Examples:
13717
13718          log_file: /var/log/salt/master
13719
13720          log_file: /var/log/salt/minion
13721
13722          log_file: file:///dev/log
13723
13724          log_file: file:///dev/log/LOG_DAEMON
13725
13726          log_file: udp://loghost:10514
13727
13728   log_level
13729       Default: warning
13730
13731       The level of log record messages to send to the console.  One  of  all,
13732       garbage, trace, debug, profile, info, warning, error, critical, quiet.
13733
13734          log_level: warning
13735
13736       NOTE:
13737          Add  log_level:  quiet in salt configuration file to completely dis‐
13738          able  logging.  In  case  of  running  salt  in  command  line   use
13739          --log-level=quiet instead.
13740
13741   log_level_logfile
13742       Default: info
13743
13744       The  level  of  messages  to send to the log file. One of all, garbage,
13745       trace, debug, profile, info, warning, error, critical, quiet.
13746
13747          log_level_logfile: warning
13748
13749   log_datefmt
13750       Default: %H:%M:%S
13751
13752       The date  and  time  format  used  in  console  log  messages.  Allowed
13753       date/time formatting matches those used in time.strftime().
13754
13755          log_datefmt: '%H:%M:%S'
13756
13757   log_datefmt_logfile
13758       Default: %Y-%m-%d %H:%M:%S
13759
13760       The  date  and time format used in log file messages. Allowed date/time
13761       formatting matches those used in time.strftime().
13762
13763          log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
13764
13765   log_fmt_console
13766       Default: [%(levelname)-8s] %(message)s
13767
13768       The format of the console logging messages. All standard python logging
13769       LogRecord  attributes  can  be  used.  Salt  also provides these custom
13770       LogRecord attributes to colorize console log output:
13771
13772          '%(colorlevel)s'   # log level name colorized by level
13773          '%(colorname)s'    # colorized module name
13774          '%(colorprocess)s' # colorized process number
13775          '%(colormsg)s'     # log message colorized by level
13776
13777       NOTE:
13778          The %(colorlevel)s,  %(colorname)s,  and  %(colorprocess)  LogRecord
13779          attributes  also  include padding and enclosing brackets, [ and ] to
13780          match the default values of their collateral non-colorized LogRecord
13781          attributes.
13782
13783          log_fmt_console: '[%(levelname)-8s] %(message)s'
13784
13785   log_fmt_logfile
13786       Default:  %(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(mes‐
13787       sage)s
13788
13789       The format of the log file logging messages. All standard  python  log‐
13790       ging LogRecord attributes can be used.  Salt also provides these custom
13791       LogRecord attributes that include padding and enclosing brackets [  and
13792       ]:
13793
13794          '%(bracketlevel)s'   # equivalent to [%(levelname)-8s]
13795          '%(bracketname)s'    # equivalent to [%(name)-17s]
13796          '%(bracketprocess)s' # equivalent to [%(process)5s]
13797
13798          log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
13799
13800   log_granular_levels
13801       Default: {}
13802
13803       This  can be used to control logging levels more specifically, based on
13804       log call name.  The example sets the main salt library at the 'warning'
13805       level,  sets  salt.modules to log at the debug level, and sets a custom
13806       module to the all level:
13807
13808          log_granular_levels:
13809            'salt': 'warning'
13810            'salt.modules': 'debug'
13811            'salt.loader.saltmaster.ext.module.custom_module': 'all'
13812
13813   log_fmt_jid
13814       Default: [JID: %(jid)s]
13815
13816       The format of the JID when added to logging messages.
13817
13818          log_fmt_jid: '[JID: %(jid)s]'
13819
13820   External Logging Handlers
13821       Besides the internal logging handlers used  by  salt,  there  are  some
13822       external which can be used, see the external logging handlers document.
13823
13824   External Logging Handlers
13825                     ┌──────────────┬───────────────────────────┐
13826fluent_mod    │ Fluent Logging Handler    │
13827                     ├──────────────┼───────────────────────────┤
13828log4mongo_mod │ Log4Mongo Logging Handler │
13829                     ├──────────────┼───────────────────────────┤
13830logstash_mod  │ Logstash Logging Handler  │
13831                     ├──────────────┼───────────────────────────┤
13832sentry_mod    │ Sentry Logging Handler    │
13833                     └──────────────┴───────────────────────────┘
13834
13835   salt.log.handlers.fluent_mod
13836   Fluent Logging Handler
13837       New in version 2015.8.0.
13838
13839
13840       This module provides some fluentd logging handlers.
13841
13842   Fluent Logging Handler
13843       In the fluent configuration file:
13844
13845          <source>
13846            type forward
13847            bind localhost
13848            port 24224
13849          </source>
13850
13851       Then,  to send logs via fluent in Logstash format, add the following to
13852       the salt (master and/or minion) configuration file:
13853
13854          fluent_handler:
13855            host: localhost
13856            port: 24224
13857
13858       To send logs via fluent in the Graylog raw json format, add the follow‐
13859       ing to the salt (master and/or minion) configuration file:
13860
13861          fluent_handler:
13862            host: localhost
13863            port: 24224
13864            payload_type: graylog
13865            tags:
13866            - salt_master.SALT
13867
13868       The  above  also  illustrates  the tags option, which allows one to set
13869       descriptive (or useful) tags on records being sent.  If  not  provided,
13870       this  defaults  to the single tag: 'salt'.  Also note that, via Graylog
13871       "magic", the 'facility' of the logged message is  set  to  'SALT'  (the
13872       portion  of  the tag after the first period), while the tag itself will
13873       be set to simply 'salt_master'.  This is a feature, not a bug :)
13874
13875       Note: There is a third emitter, for the GELF format, but it is  largely
13876       untested, and I don't currently have a setup supporting this config, so
13877       while it runs cleanly and outputs what LOOKS  to  be  valid  GELF,  any
13878       real-world  feedback on its usefulness, and correctness, will be appre‐
13879       ciated.
13880
13881   Log Level
13882       The fluent_handler configuration section accepts an additional  setting
13883       log_level.  If  not set, the logging level used will be the one defined
13884       for log_level in the global configuration file section.
13885
13886          Inspiration
13887
13888                 This work was inspired in fluent-logger-python
13889
13890   salt.log.handlers.log4mongo_mod
13891   Log4Mongo Logging Handler
13892       This module provides a logging handler for sending salt logs to MongoDB
13893
13894   Configuration
13895       In the salt configuration file (e.g. /etc/salt/{master,minion}):
13896
13897          log4mongo_handler:
13898            host: mongodb_host
13899            port: 27017
13900            database_name: logs
13901            collection: salt_logs
13902            username: logging
13903            password: reindeerflotilla
13904            write_concern: 0
13905            log_level: warning
13906
13907   Log Level
13908       If not set, the log_level will be set  to  the  level  defined  in  the
13909       global configuration file setting.
13910
13911          Inspiration
13912
13913                 This  work  was  inspired  by  the  Salt logging handlers for
13914                 LogStash and Sentry and by the log4mongo  Python  implementa‐
13915                 tion.
13916
13917   salt.log.handlers.logstash_mod
13918   Logstash Logging Handler
13919       New in version 0.17.0.
13920
13921
13922       This module provides some Logstash logging handlers.
13923
13924   UDP Logging Handler
13925       For versions of Logstash before 1.2.0:
13926
13927       In the salt configuration file:
13928
13929          logstash_udp_handler:
13930            host: 127.0.0.1
13931            port: 9999
13932            version: 0
13933            msg_type: logstash
13934
13935       In the Logstash configuration file:
13936
13937          input {
13938            udp {
13939              type => "udp-type"
13940              format => "json_event"
13941            }
13942          }
13943
13944       For version 1.2.0 of Logstash and newer:
13945
13946       In the salt configuration file:
13947
13948          logstash_udp_handler:
13949            host: 127.0.0.1
13950            port: 9999
13951            version: 1
13952            msg_type: logstash
13953
13954       In the Logstash configuration file:
13955
13956          input {
13957            udp {
13958              port => 9999
13959              codec => json
13960            }
13961          }
13962
13963       Please  read  the  UDP input configuration page for additional informa‐
13964       tion.
13965
13966   ZeroMQ Logging Handler
13967       For versions of Logstash before 1.2.0:
13968
13969       In the salt configuration file:
13970
13971          logstash_zmq_handler:
13972            address: tcp://127.0.0.1:2021
13973            version: 0
13974
13975       In the Logstash configuration file:
13976
13977          input {
13978            zeromq {
13979              type => "zeromq-type"
13980              mode => "server"
13981              topology => "pubsub"
13982              address => "tcp://0.0.0.0:2021"
13983              charset => "UTF-8"
13984              format => "json_event"
13985            }
13986          }
13987
13988       For version 1.2.0 of Logstash and newer:
13989
13990       In the salt configuration file:
13991
13992          logstash_zmq_handler:
13993            address: tcp://127.0.0.1:2021
13994            version: 1
13995
13996       In the Logstash configuration file:
13997
13998          input {
13999            zeromq {
14000              topology => "pubsub"
14001              address => "tcp://0.0.0.0:2021"
14002              codec => json
14003            }
14004          }
14005
14006       Please read the ZeroMQ input configuration page for additional informa‐
14007       tion.
14008
14009          Important Logstash Setting
14010
14011                 One of the most important settings that you should not forget
14012                 on your Logstash configuration file regarding  these  logging
14013                 handlers  is  format.  Both the UDP and ZeroMQ inputs need to
14014                 have format as json_event which is  what  we  send  over  the
14015                 wire.
14016
14017   Log Level
14018       Both  the  logstash_udp_handler and the logstash_zmq_handler configura‐
14019       tion sections accept an additional setting log_level. If not  set,  the
14020       logging  level used will be the one defined for log_level in the global
14021       configuration file section.
14022
14023   HWM
14024       The high water mark for the ZMQ socket setting. Only applicable for the
14025       logstash_zmq_handler.
14026
14027          Inspiration
14028
14029                 This work was inspired in pylogstash, python-logstash, canary
14030                 and the PyZMQ logging handler.
14031
14032   salt.log.handlers.sentry_mod
14033   Sentry Logging Handler
14034       New in version 0.17.0.
14035
14036
14037       This module provides a Sentry logging handler. Sentry is an open source
14038       error  tracking  platform  that  provides deep context about exceptions
14039       that happen in production. Details about stack traces  along  with  the
14040       context  variables  available  at  the time of the exception are easily
14041       browsable and filterable from the online interface.  For  more  details
14042       please see Sentry.
14043
14044          Note
14045
14046                 The  Raven  library  needs  to be installed on the system for
14047                 this logging handler to be available.
14048
14049       Configuring the python Sentry client, Raven, should be done  under  the
14050       sentry_handler  configuration  key.  Additional context may be provided
14051       for corresponding grain item(s).  At the  bare  minimum,  you  need  to
14052       define the DSN. As an example:
14053
14054          sentry_handler:
14055            dsn: https://pub-key:secret-key@app.getsentry.com/app-id
14056
14057       More complex configurations can be achieved, for example:
14058
14059          sentry_handler:
14060            servers:
14061              - https://sentry.example.com
14062              - http://192.168.1.1
14063            project: app-id
14064            public_key: deadbeefdeadbeefdeadbeefdeadbeef
14065            secret_key: beefdeadbeefdeadbeefdeadbeefdead
14066            context:
14067              - os
14068              - master
14069              - saltversion
14070              - cpuarch
14071              - ec2.tags.environment
14072
14073          Note
14074
14075                 The  public_key  and  secret_key  variables are not supported
14076                 with Sentry > 3.0. The DSN key should be used instead.
14077
14078       All the client configuration keys are supported, please see  the  Raven
14079       client documentation.
14080
14081       The  default logging level for the sentry handler is ERROR. If you wish
14082       to define a different one, define log_level  under  the  sentry_handler
14083       configuration key:
14084
14085          sentry_handler:
14086            dsn: https://pub-key:secret-key@app.getsentry.com/app-id
14087            log_level: warning
14088
14089       The  available  log  levels  are  those also available for the salt cli
14090       tools and configuration; salt  --help  should  give  you  the  required
14091       information.
14092
14093   Threaded Transports
14094       Raven's  documents  rightly  suggest  using  its threaded transport for
14095       critical applications. However, don't forget that if you  start  having
14096       troubles  with  Salt  after enabling the threaded transport, please try
14097       switching to a non-threaded transport to see if that fixes  your  prob‐
14098       lem.
14099
14100   Salt File Server
14101       Salt comes with a simple file server suitable for distributing files to
14102       the Salt minions. The file server is a stateless ZeroMQ server that  is
14103       built into the Salt master.
14104
14105       The  main intent of the Salt file server is to present files for use in
14106       the Salt state system. With this said, the Salt file server can be used
14107       for any general file transfer from the master to the minions.
14108
14109   File Server Backends
14110       In  Salt  0.12.0,  the  modular fileserver was introduced. This feature
14111       added the ability for the  Salt  Master  to  integrate  different  file
14112       server backends. File server backends allow the Salt file server to act
14113       as a transparent bridge to external resources. A good example  of  this
14114       is  the  git backend, which allows Salt to serve files sourced from one
14115       or more git repositories, but there are several others as  well.  Click
14116       here for a full list of Salt's fileserver backends.
14117
14118   Enabling a Fileserver Backend
14119       Fileserver backends can be enabled with the fileserver_backend option.
14120
14121          fileserver_backend:
14122            - git
14123
14124       See the documentation for each backend to find the correct value to add
14125       to fileserver_backend in order to enable them.
14126
14127   Using Multiple Backends
14128       If fileserver_backend is not defined in the Master  config  file,  Salt
14129       will  use the roots backend, but the fileserver_backend option supports
14130       multiple backends. When more than one backend is in use, the files from
14131       the  enabled backends are merged into a single virtual filesystem. When
14132       a file is requested, the backends will be searched in  order  for  that
14133       file,  and the first backend to match will be the one which returns the
14134       file.
14135
14136          fileserver_backend:
14137            - roots
14138            - git
14139
14140       With this configuration, the environments  and  files  defined  in  the
14141       file_roots  parameter  will  be  searched first, and if the file is not
14142       found then the  git  repositories  defined  in  gitfs_remotes  will  be
14143       searched.
14144
14145   Defining Environments
14146       Just  as  the order of the values in fileserver_backend matters, so too
14147       does the order in which different sources are defined  within  a  file‐
14148       server  environment. For example, given the below file_roots configura‐
14149       tion, if both /srv/salt/dev/foo.txt and /srv/salt/prod/foo.txt exist on
14150       the Master, then salt://foo.txt would point to /srv/salt/dev/foo.txt in
14151       the dev environment, but it would point  to  /srv/salt/prod/foo.txt  in
14152       the base environment.
14153
14154          file_roots:
14155            base:
14156              - /srv/salt/prod
14157            qa:
14158              - /srv/salt/qa
14159              - /srv/salt/prod
14160            dev:
14161              - /srv/salt/dev
14162              - /srv/salt/qa
14163              - /srv/salt/prod
14164
14165       Similarly,  when  using  the  git backend, if both repositories defined
14166       below have a hotfix23 branch/tag, and both of  them  also  contain  the
14167       file  bar.txt  in  the  root of the repository at that branch/tag, then
14168       salt://bar.txt in the hotfix23 environment would  be  served  from  the
14169       first repository.
14170
14171          gitfs_remotes:
14172            - https://mydomain.tld/repos/first.git
14173            - https://mydomain.tld/repos/second.git
14174
14175       NOTE:
14176          Environments  map  differently  based on the fileserver backend. For
14177          instance, the mappings are  explicitly  defined  in  roots  backend,
14178          while  in  the VCS backends (git, hg, svn) the environments are cre‐
14179          ated from branches/tags/bookmarks/etc. For the minion  backend,  the
14180          files  are  all  in  a single environment, which is specified by the
14181          minionfs_env option.
14182
14183          See the documentation for each backend for a more detailed  explana‐
14184          tion of how environments are mapped.
14185
14186   Requesting Files from Specific Environments
14187       The  Salt  fileserver  supports multiple environments, allowing for SLS
14188       files and other files to be isolated for better organization.
14189
14190       For the default backend (called roots), environments are defined  using
14191       the  roots  option.  Other backends (such as gitfs) define environments
14192       in their own ways. For a list of  available  fileserver  backends,  see
14193       here.
14194
14195   Querystring Syntax
14196       Any  salt://  file  URL  can specify its fileserver environment using a
14197       querystring syntax, like so:
14198
14199          salt://path/to/file?saltenv=foo
14200
14201       In Reactor configurations, this method must be used to pull files  from
14202       an environment other than base.
14203
14204   In States
14205       Minions  can  be instructed which environment to use both globally, and
14206       for a single state, and multiple methods for each are available:
14207
14208   Globally
14209       A minion can be pinned to an environment using the  environment  option
14210       in the minion config file.
14211
14212       Additionally,  the environment can be set for a single call to the fol‐
14213       lowing functions:
14214
14215       · state.apply
14216
14217       · state.highstate
14218
14219       · state.sls
14220
14221       · state.top
14222
14223       NOTE:
14224          When the saltenv parameter is used  to  trigger  a  highstate  using
14225          either  state.apply  or state.highstate, only states from that envi‐
14226          ronment will be applied.
14227
14228   On a Per-State Basis
14229       Within an individual state, there are two ways of specifying the  envi‐
14230       ronment.   The  first  is  to add a saltenv argument to the state. This
14231       example will pull the file from the config environment:
14232
14233          /etc/foo/bar.conf:
14234            file.managed:
14235              - source: salt://foo/bar.conf
14236              - user: foo
14237              - mode: 600
14238              - saltenv: config
14239
14240       Another way of doing the same thing is to use  the  querystring  syntax
14241       described above:
14242
14243          /etc/foo/bar.conf:
14244            file.managed:
14245              - source: salt://foo/bar.conf?saltenv=config
14246              - user: foo
14247              - mode: 600
14248
14249       NOTE:
14250          Specifying the environment using either of the above methods is only
14251          necessary in cases where a  state  from  one  environment  needs  to
14252          access  files  from  another environment. If the SLS file containing
14253          this state was in the config environment, then it would look in that
14254          environment by default.
14255
14256   File Server Configuration
14257       The  Salt  file  server  is  a  high performance file server written in
14258       ZeroMQ. It manages large files quickly and with  little  overhead,  and
14259       has been optimized to handle small files in an extremely efficient man‐
14260       ner.
14261
14262       The Salt file server is an environment aware file  server.  This  means
14263       that  files  can be allocated within many root directories and accessed
14264       by specifying both the file path and the  environment  to  search.  The
14265       individual  environments  can  span  across multiple directory roots to
14266       create overlays and to allow for files to be organized in many flexible
14267       ways.
14268
14269   Environments
14270       The  Salt  file server defaults to the mandatory base environment. This
14271       environment MUST be defined and is used to download files when no envi‐
14272       ronment is specified.
14273
14274       Environments  allow  for  files and sls data to be logically separated,
14275       but environments are not isolated from each other. This allows for log‐
14276       ical  isolation  of  environments  by the engineer using Salt, but also
14277       allows for information to be used in multiple environments.
14278
14279   Directory Overlay
14280       The environment setting is a list of directories to publish files from.
14281       These  directories are searched in order to find the specified file and
14282       the first file found is returned.
14283
14284       This means that directory data is prioritized based  on  the  order  in
14285       which they are listed. In the case of this file_roots configuration:
14286
14287          file_roots:
14288            base:
14289              - /srv/salt/base
14290              - /srv/salt/failover
14291
14292       If  a  file's  URI is salt://httpd/httpd.conf, it will first search for
14293       the file at /srv/salt/base/httpd/httpd.conf. If the file is found there
14294       it   will   be   returned.  If  the  file  is  not  found  there,  then
14295       /srv/salt/failover/httpd/httpd.conf will be used for the source.
14296
14297       This allows for directories to be overlaid and prioritized based on the
14298       order they are defined in the configuration.
14299
14300       It is also possible to have file_roots which supports multiple environ‐
14301       ments:
14302
14303          file_roots:
14304            base:
14305              - /srv/salt/base
14306            dev:
14307              - /srv/salt/dev
14308              - /srv/salt/base
14309            prod:
14310              - /srv/salt/prod
14311              - /srv/salt/base
14312
14313       This example ensures that each environment will  check  the  associated
14314       environment  directory  for  files first. If a file is not found in the
14315       appropriate directory, the system will default to using the base direc‐
14316       tory.
14317
14318   Local File Server
14319       New in version 0.9.8.
14320
14321
14322       The file server can be rerouted to run from the minion. This is primar‐
14323       ily to enable running Salt states without a Salt  master.  To  use  the
14324       local  file  server  interface, copy the file server data to the minion
14325       and set the file_roots option on the minion to point to the directories
14326       copied  from  the  master.   Once the minion file_roots option has been
14327       set, change the file_client option to local to make sure that the local
14328       file server interface is used.
14329
14330   The cp Module
14331       The cp module is the home of minion side file server operations. The cp
14332       module is used by the Salt state system, salt-cp, and can  be  used  to
14333       distribute files presented by the Salt file server.
14334
14335   Escaping Special Characters
14336       The  salt://  url  format  can  potentially contain a query string, for
14337       example salt://dir/file.txt?saltenv=base. You  can  prevent  the  file‐
14338       client/fileserver  from  interpreting ? as the initial token of a query
14339       string by referencing the file with salt://| rather than salt://.
14340
14341          /etc/marathon/conf/?checkpoint:
14342            file.managed:
14343              - source: salt://|hw/config/?checkpoint
14344              - makedirs: True
14345
14346   Environments
14347       Since the file server is made to work with the Salt  state  system,  it
14348       supports  environments. The environments are defined in the master con‐
14349       fig file and when referencing an environment the file specified will be
14350       based on the root directory of the environment.
14351
14352   get_file
14353       The  cp.get_file  function can be used on the minion to download a file
14354       from the master, the syntax looks like this:
14355
14356          # salt '*' cp.get_file salt://vimrc /etc/vimrc
14357
14358       This will instruct all Salt minions to download the vimrc file and copy
14359       it to /etc/vimrc
14360
14361       Template  rendering  can  be enabled on both the source and destination
14362       file names like so:
14363
14364          # salt '*' cp.get_file "salt://{{grains.os}}/vimrc" /etc/vimrc template=jinja
14365
14366       This example would instruct all Salt minions to download the vimrc from
14367       a  directory  with  the  same  name  as  their  OS grain and copy it to
14368       /etc/vimrc
14369
14370       For larger files, the cp.get_file module also  supports  gzip  compres‐
14371       sion.   Because gzip is CPU-intensive, this should only be used in sce‐
14372       narios where the compression ratio is very  high  (e.g.  pretty-printed
14373       JSON or YAML files).
14374
14375       To use compression, use the gzip named argument. Valid values are inte‐
14376       gers from 1 to 9, where 1 is the lightest compression and 9 the  heavi‐
14377       est.  In  other words, 1 uses the least CPU on the master (and minion),
14378       while 9 uses the most.
14379
14380          # salt '*' cp.get_file salt://vimrc /etc/vimrc gzip=5
14381
14382       Finally, note that by default cp.get_file does not create new  destina‐
14383       tion  directories  if  they  do  not  exist.   To  change this, use the
14384       makedirs argument:
14385
14386          # salt '*' cp.get_file salt://vimrc /etc/vim/vimrc makedirs=True
14387
14388       In this example, /etc/vim/ would be created if it didn't already exist.
14389
14390   get_dir
14391       The cp.get_dir function can be used on the minion to download an entire
14392       directory from the master.  The syntax is very similar to get_file:
14393
14394          # salt '*' cp.get_dir salt://etc/apache2 /etc
14395
14396       cp.get_dir  supports  template rendering and gzip compression arguments
14397       just like get_file:
14398
14399          # salt '*' cp.get_dir salt://etc/{{pillar.webserver}} /etc gzip=5 template=jinja
14400
14401   File Server Client Instance
14402       A client instance is available which allows for  modules  and  applica‐
14403       tions to be written which make use of the Salt file server.
14404
14405       The file server uses the same authentication and encryption used by the
14406       rest of the Salt system for network communication.
14407
14408   fileclient Module
14409       The salt/fileclient.py module is used to set up the communication  from
14410       the  minion  to  the  master. When creating a client instance using the
14411       fileclient module, the minion configuration needs to be passed in. When
14412       using  the  fileclient  module from within a minion module the built in
14413       __opts__ data can be passed:
14414
14415          import salt.minion
14416          import salt.fileclient
14417
14418          def get_file(path, dest, saltenv='base'):
14419              '''
14420              Used to get a single file from the Salt master
14421
14422              CLI Example:
14423              salt '*' cp.get_file salt://vimrc /etc/vimrc
14424              '''
14425              # Get the fileclient object
14426              client = salt.fileclient.get_file_client(__opts__)
14427              # Call get_file
14428              return client.get_file(path, dest, False, saltenv)
14429
14430       Creating a fileclient instance outside of a  minion  module  where  the
14431       __opts__ data is not available, it needs to be generated:
14432
14433          import salt.fileclient
14434          import salt.config
14435
14436          def get_file(path, dest, saltenv='base'):
14437              '''
14438              Used to get a single file from the Salt master
14439              '''
14440              # Get the configuration data
14441              opts = salt.config.minion_config('/etc/salt/minion')
14442              # Get the fileclient object
14443              client = salt.fileclient.get_file_client(opts)
14444              # Call get_file
14445              return client.get_file(path, dest, False, saltenv)
14446
14447   Git Fileserver Backend Walkthrough
14448       NOTE:
14449          This  walkthrough  assumes  basic  knowledge  of  Salt. To get up to
14450          speed, check out the Salt Walkthrough.
14451
14452       The gitfs backend allows Salt to serve files from git repositories.  It
14453       can  be  enabled by adding git to the fileserver_backend list, and con‐
14454       figuring one or more repositories in gitfs_remotes.
14455
14456       Branches and tags become Salt fileserver environments.
14457
14458       NOTE:
14459          Branching and tagging can result in a lot of potentially-conflicting
14460          top  files,  for  this reason it may be useful to set top_file_merg‐
14461          ing_strategy to same in the minions' config files if the  top  files
14462          are being managed in a GitFS repo.
14463
14464   Installing Dependencies
14465       Both  pygit2  and  GitPython are supported Python interfaces to git. If
14466       compatible versions of both are installed, pygit2 will be preferred. In
14467       these cases, GitPython can be forced using the gitfs_provider parameter
14468       in the master config file.
14469
14470       NOTE:
14471          It is recommended to always run the most recent version of  any  the
14472          below  dependencies.  Certain features of GitFS may not be available
14473          without the most recent version of the chosen library.
14474
14475   pygit2
14476       The minimum supported version of pygit2  is  0.20.3.  Availability  for
14477       this  version  of pygit2 is still limited, though the SaltStack team is
14478       working to get compatible versions available for as many  platforms  as
14479       possible.
14480
14481       For  the Fedora/EPEL versions which have a new enough version packaged,
14482       the following command would be used to install pygit2:
14483
14484          # yum install python-pygit2
14485
14486       Provided a valid version is packaged for Debian/Ubuntu  (which  is  not
14487       currently  the  case), the package name would be the same, and the fol‐
14488       lowing command would be used to install it:
14489
14490          # apt-get install python-pygit2
14491
14492       If pygit2 is not packaged for the platform on which the Master is  run‐
14493       ning,  the  pygit2  website has installation instructions here. Keep in
14494       mind however that following these instructions will install libgit2 and
14495       pygit2  without  system  packages.  Additionally, keep in mind that SSH
14496       authentication in pygit2  requires  libssh2  (not  libssh)  development
14497       libraries  to  be present before libgit2 is built. On some Debian-based
14498       distros pkg-config is also required to link libgit2 with libssh2.
14499
14500       NOTE:
14501          If you are receiving the error "Unsupported  URL  Protocol"  in  the
14502          Salt  Master log when making a connection using SSH, review the lib‐
14503          ssh2 details listed above.
14504
14505       Additionally, version 0.21.0  of  pygit2  introduced  a  dependency  on
14506       python-cffi, which in turn depends on newer releases of libffi. Upgrad‐
14507       ing libffi is not advisable as several other applications depend on it,
14508       so  on older LTS linux releases pygit2 0.20.3 and libgit2 0.20.0 is the
14509       recommended combination.
14510
14511       WARNING:
14512          pygit2 is actively developed and frequently makes non-backwards-com‐
14513          patible  API changes, even in minor releases. It is not uncommon for
14514          pygit2 upgrades to result in errors in Salt. Please take  care  when
14515          upgrading  pygit2, and pay close attention to the changelog, keeping
14516          an eye out for API changes. Errors can be reported on the  SaltStack
14517          issue tracker.
14518
14519   RedHat Pygit2 Issues
14520       The   release  of  RedHat/CentOS  7.3  upgraded  both  python-cffi  and
14521       http-parser, both of which are dependencies  for  pygit2/libgit2.  Both
14522       pygit2 and libgit2 packages (which are from the EPEL repository) should
14523       be upgraded to the most recent versions, at least to 0.24.2.
14524
14525       The below errors will show up in the  master  log  if  an  incompatible
14526       python-pygit2 package is installed:
14527
14528          2017-02-10 09:07:34,892 [salt.utils.gitfs ][ERROR ][11211] Import pygit2 failed: CompileError: command 'gcc' failed with exit status 1
14529          2017-02-10 09:07:34,907 [salt.utils.gitfs ][ERROR ][11211] gitfs is configured but could not be loaded, are pygit2 and libgit2 installed?
14530          2017-02-10 09:07:34,907 [salt.utils.gitfs ][CRITICAL][11211] No suitable gitfs provider module is installed.
14531          2017-02-10 09:07:34,912 [salt.master ][CRITICAL][11211] Master failed pre flight checks, exiting
14532
14533       The  below  errors  will  show  up in the master log if an incompatible
14534       libgit2 package is installed:
14535
14536          2017-02-15 18:04:45,211 [salt.utils.gitfs ][ERROR   ][6211] Error occurred fetching gitfs remote 'https://foo.com/bar.git': No Content-Type header in response
14537
14538       A restart of the salt-master daemon and gitfs cache directory clean  up
14539       may  be  required  to  allow  http(s)  repositories  to  continue to be
14540       fetched.
14541
14542   GitPython
14543       GitPython 0.3.0 or newer is required to use GitPython  for  gitfs.  For
14544       RHEL-based  Linux  distros,  a compatible version is available in EPEL,
14545       and can be easily installed on the master using yum:
14546
14547          # yum install GitPython
14548
14549       Ubuntu 14.04 LTS and Debian Wheezy (7.x) also have a compatible version
14550       packaged:
14551
14552          # apt-get install python-git
14553
14554       GitPython  requires  the  git  CLI utility to work. If installed from a
14555       system package, then git should already be installed, but if  installed
14556       via  pip  then it may still be necessary to install git separately. For
14557       MacOS users, GitPython comes bundled in with the  Salt  installer,  but
14558       git  must  still  be  installed  for  it  to  work properly. Git can be
14559       installed in several ways, including by installing XCode.
14560
14561       WARNING:
14562          Keep in mind that if GitPython has been previously installed on  the
14563          master  using pip (even if it was subsequently uninstalled), then it
14564          may    still    exist    in    the    build     cache     (typically
14565          /tmp/pip-build-root/GitPython)  if  the  cache  is not cleared after
14566          installation. The package in  the  build  cache  will  override  any
14567          requirement specifiers, so if you try upgrading to version 0.3.2.RC1
14568          by running pip install 'GitPython==0.3.2.RC1' then  it  will  ignore
14569          this  and  simply  install  the  version  from  the cache directory.
14570          Therefore, it may be necessary to  delete  the  GitPython  directory
14571          from  the  build cache in order to ensure that the specified version
14572          is installed.
14573
14574       WARNING:
14575          GitPython 2.0.9 and newer is not  compatible  with  Python  2.6.  If
14576          installing GitPython using pip on a machine running Python 2.6, make
14577          sure that a version earlier than 2.0.9 is  installed.  This  can  be
14578          done  on  the  CLI by running pip install 'GitPython<2.0.9', or in a
14579          pip.installed state using the following SLS:
14580
14581              GitPython:
14582                pip.installed:
14583                  - name: 'GitPython < 2.0.9'
14584
14585   Simple Configuration
14586       To use the gitfs backend, only two configuration changes  are  required
14587       on the master:
14588
14589       1. Include  gitfs  in  the fileserver_backend list in the master config
14590          file:
14591
14592             fileserver_backend:
14593               - gitfs
14594
14595          NOTE:
14596             git also works here. Prior to  the  2018.3.0  release,  only  git
14597             would work.
14598
14599       2. Specify  one  or  more  git://, https://, file://, or ssh:// URLs in
14600          gitfs_remotes to configure which repositories to  cache  and  search
14601          for requested files:
14602
14603             gitfs_remotes:
14604               - https://github.com/saltstack-formulas/salt-formula.git
14605
14606          SSH remotes can also be configured using scp-like syntax:
14607
14608             gitfs_remotes:
14609               - git@github.com:user/repo.git
14610               - ssh://user@domain.tld/path/to/repo.git
14611
14612          Information on how to authenticate to SSH remotes can be found here.
14613
14614       3. Restart the master to load the new configuration.
14615
14616       NOTE:
14617          In  a master/minion setup, files from a gitfs remote are cached once
14618          by the master, so minions do not  need  direct  access  to  the  git
14619          repository.
14620
14621   Multiple Remotes
14622       The  gitfs_remotes  option  accepts  an  ordered list of git remotes to
14623       cache and search, in listed order, for requested files.
14624
14625       A simple scenario illustrates this cascading lookup behavior:
14626
14627       If the gitfs_remotes option specifies three remotes:
14628
14629          gitfs_remotes:
14630            - git://github.com/example/first.git
14631            - https://github.com/example/second.git
14632            - file:///root/third
14633
14634       And each repository contains some files:
14635
14636          first.git:
14637              top.sls
14638              edit/vim.sls
14639              edit/vimrc
14640              nginx/init.sls
14641
14642          second.git:
14643              edit/dev_vimrc
14644              haproxy/init.sls
14645
14646          third:
14647              haproxy/haproxy.conf
14648              edit/dev_vimrc
14649
14650       Salt will attempt to lookup the requested file from each  gitfs  remote
14651       repository in the order in which they are defined in the configuration.
14652       The git://github.com/example/first.git remote will be  searched  first.
14653       If  the  requested  file  is  found,  then  it is served and no further
14654       searching is executed. For example:
14655
14656       · A request for the file salt://haproxy/init.sls will  be  served  from
14657         the https://github.com/example/second.git git repo.
14658
14659       · A  request  for  the  file salt://haproxy/haproxy.conf will be served
14660         from the file:///root/third repo.
14661
14662       NOTE:
14663          This example is purposefully contrived to illustrate the behavior of
14664          the  gitfs backend. This example should not be read as a recommended
14665          way to lay out files and git repos.
14666
14667          The file:// prefix denotes a git repository in  a  local  directory.
14668          However, it will still use the given file:// URL as a remote, rather
14669          than copying the git repo to the salt cache.  This  means  that  any
14670          refs  you  want accessible must exist as local refs in the specified
14671          repo.
14672
14673       WARNING:
14674          Salt versions prior to 2014.1.0 are not  tolerant  of  changing  the
14675          order  of remotes or modifying the URI of existing remotes. In those
14676          versions, when modifying remotes it is a good  idea  to  remove  the
14677          gitfs cache directory (/var/cache/salt/master/gitfs) before restart‐
14678          ing the salt-master service.
14679
14680   Per-remote Configuration Parameters
14681       New in version 2014.7.0.
14682
14683
14684       The following master config parameters are global (that is, they  apply
14685       to all configured gitfs remotes):
14686
14687       · gitfs_base
14688
14689       · gitfs_root
14690
14691       · gitfs_ssl_verify
14692
14693       · gitfs_mountpoint (new in 2014.7.0)
14694
14695       · gitfs_user (pygit2 only, new in 2014.7.0)
14696
14697       · gitfs_password (pygit2 only, new in 2014.7.0)
14698
14699       · gitfs_insecure_auth (pygit2 only, new in 2014.7.0)
14700
14701       · gitfs_pubkey (pygit2 only, new in 2014.7.0)
14702
14703       · gitfs_privkey (pygit2 only, new in 2014.7.0)
14704
14705       · gitfs_passphrase (pygit2 only, new in 2014.7.0)
14706
14707       · gitfs_refspecs (new in 2017.7.0)
14708
14709       · gitfs_disable_saltenv_mapping (new in 2018.3.0)
14710
14711       · gitfs_ref_types (new in 2018.3.0)
14712
14713       · gitfs_update_interval (new in 2018.3.0)
14714
14715       NOTE:
14716          pygit2  only  supports disabling SSL verification in versions 0.23.2
14717          and newer.
14718
14719       These parameters can now be overridden  on  a  per-remote  basis.  This
14720       allows  for  a  tremendous amount of customization. Here's some example
14721       usage:
14722
14723          gitfs_provider: pygit2
14724          gitfs_base: develop
14725
14726          gitfs_remotes:
14727            - https://foo.com/foo.git
14728            - https://foo.com/bar.git:
14729              - root: salt
14730              - mountpoint: salt://bar
14731              - base: salt-base
14732              - ssl_verify: False
14733              - update_interval: 120
14734            - https://foo.com/bar.git:
14735              - name: second_bar_repo
14736              - root: other/salt
14737              - mountpoint: salt://other/bar
14738              - base: salt-base
14739              - ref_types:
14740                - branch
14741            - http://foo.com/baz.git:
14742              - root: salt/states
14743              - user: joe
14744              - password: mysupersecretpassword
14745              - insecure_auth: True
14746              - disable_saltenv_mapping: True
14747              - saltenv:
14748                - foo:
14749                  - ref: foo
14750            - http://foo.com/quux.git:
14751              - all_saltenvs: master
14752
14753       IMPORTANT:
14754          There are two important  distinctions  which  should  be  noted  for
14755          per-remote configuration:
14756
14757          1. The  URL  of  a remote which has per-remote configuration must be
14758             suffixed with a colon.
14759
14760          2. Per-remote configuration parameters are  named  like  the  global
14761             versions,  with the gitfs_ removed from the beginning. The excep‐
14762             tion being the name, saltenv, and all_saltenvs parameters,  which
14763             are only available to per-remote configurations.
14764
14765          The all_saltenvs parameter is new in the 2018.3.0 release.
14766
14767       In the example configuration above, the following is true:
14768
14769       1. The  first  and fourth gitfs remotes will use the develop branch/tag
14770          as the base environment, while the second and  third  will  use  the
14771          salt-base branch/tag as the base environment.
14772
14773       2. The  first remote will serve all files in the repository. The second
14774          remote will only serve files from the salt directory (and its subdi‐
14775          rectories).  The  third  remote  will  only  server  files  from the
14776          other/salt directory (and  its  subdirectories),  while  the  fourth
14777          remote will only serve files from the salt/states directory (and its
14778          subdirectories).
14779
14780       3. The third remote will only serve files from branches, and  not  from
14781          tags or SHAs.
14782
14783       4. The  fourth  remote  will  only  have  two  saltenvs available: base
14784          (pointed at develop), and foo (pointed at foo).
14785
14786       5. The first and fourth remotes will have files located under the  root
14787          of  the Salt fileserver namespace (salt://). The files from the sec‐
14788          ond remote will be located under salt://bar, while  the  files  from
14789          the third remote will be located under salt://other/bar.
14790
14791       6. The  second  and  third  remotes  reference  the same repository and
14792          unique names need to be declared for duplicate gitfs remotes.
14793
14794       7. The fourth remote overrides the default behavior of not authenticat‐
14795          ing to insecure (non-HTTPS) remotes.
14796
14797       8. Because  all_saltenvs is configured for the fifth remote, files from
14798          the branch/tag master will appear in every fileserver environment.
14799
14800          NOTE:
14801             The use of http:// (instead of https://) is permitted  here  only
14802             because  authentication  is  not being used. Otherwise, the inse‐
14803             cure_auth parameter must be used (as in  the  fourth  remote)  to
14804             force Salt to authenticate to an http:// remote.
14805
14806       9. The  first  remote  will wait 120 seconds between updates instead of
14807          60.
14808
14809   Per-Saltenv Configuration Parameters
14810       New in version 2016.11.0.
14811
14812
14813       For more granular control, Salt allows the following three things to be
14814       overridden for individual saltenvs within a given repo:
14815
14816       · The mountpoint
14817
14818       · The root
14819
14820       · The branch/tag to be used for a given saltenv
14821
14822       Here is an example:
14823
14824          gitfs_root: salt
14825
14826          gitfs_saltenv:
14827            - dev:
14828              - mountpoint: salt://gitfs-dev
14829              - ref: develop
14830
14831          gitfs_remotes:
14832            - https://foo.com/bar.git:
14833              - saltenv:
14834                - staging:
14835                  - ref: qa
14836                  - mountpoint: salt://bar-staging
14837                - dev:
14838                  - ref: development
14839            - https://foo.com/baz.git:
14840              - saltenv:
14841                - staging:
14842                  - mountpoint: salt://baz-staging
14843
14844       Given the above configuration, the following is true:
14845
14846       1. For  all  gitfs  remotes,  files for the dev saltenv will be located
14847          under salt://gitfs-dev.
14848
14849       2. For the dev saltenv, files from the first  remote  will  be  sourced
14850          from the development branch, while files from the second remote will
14851          be sourced from the develop branch.
14852
14853       3. For the staging saltenv, files from the first remote will be located
14854          under salt://bar-staging, while files from the second remote will be
14855          located under salt://baz-staging.
14856
14857       4. For all gitfs remotes, and in all saltenvs,  files  will  be  served
14858          from the salt directory (and its subdirectories).
14859
14860   Custom Refspecs
14861       New in version 2017.7.0.
14862
14863
14864       GitFS  will  by  default fetch remote branches and tags. However, some‐
14865       times it can be useful to fetch custom refs (such as those created  for
14866       GitHub  pull  requests).  To change the refspecs GitFS fetches, use the
14867       gitfs_refspecs config option:
14868
14869          gitfs_refspecs:
14870            - '+refs/heads/*:refs/remotes/origin/*'
14871            - '+refs/tags/*:refs/tags/*'
14872            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
14873            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
14874
14875       In the above example, in addition to fetching remote branches and tags,
14876       GitHub's  custom  refs  for pull requests and merged pull requests will
14877       also be fetched. These special head refs  represent  the  head  of  the
14878       branch  which  is requesting to be merged, and the merge refs represent
14879       the result of the base branch after the merge.
14880
14881       IMPORTANT:
14882          When using custom refspecs, the destination of the fetched refs must
14883          be  under refs/remotes/origin/, preferably in a subdirectory like in
14884          the example above. These custom refspecs  will  map  as  environment
14885          names using their relative path underneath refs/remotes/origin/. For
14886          example, assuming the configuration above, the head branch for  pull
14887          request  12345  would  map to fileserver environment pr/12345 (slash
14888          included).
14889
14890       Refspecs can be configured on a  per-remote  basis.  For  example,  the
14891       below  configuration would only alter the default refspecs for the sec‐
14892       ond GitFS remote. The first remote would only fetch branches  and  tags
14893       (the default).
14894
14895          gitfs_remotes:
14896            - https://domain.tld/foo.git
14897            - https://domain.tld/bar.git:
14898              - refspecs:
14899                - '+refs/heads/*:refs/remotes/origin/*'
14900                - '+refs/tags/*:refs/tags/*'
14901                - '+refs/pull/*/head:refs/remotes/origin/pr/*'
14902                - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
14903
14904   Global Remotes
14905       New in version 2018.3.0.
14906
14907
14908       The all_saltenvs per-remote configuration parameter overrides the logic
14909       Salt  uses  to  map  branches/tags  to  fileserver  environments  (i.e.
14910       saltenvs).  This  allows  a  single  branch/tag  to appear in all GitFS
14911       saltenvs.
14912
14913       NOTE:
14914          all_saltenvs only works within GitFS. That is,  files  in  a  branch
14915          configured using all_saltenvs will not show up in a fileserver envi‐
14916          ronment  defined   via   some   other   fileserver   backend   (e.g.
14917          file_roots).
14918
14919       This  is  very  useful  in  particular when working with salt formulas.
14920       Prior to the addition of this feature,  it  was  necessary  to  push  a
14921       branch/tag  to  the  remote repo for each saltenv in which that formula
14922       was to be used. If the formula needed to be updated, this update  would
14923       need  to  be  reflected in all of the other branches/tags. This is both
14924       inconvenient and not scalable.
14925
14926       With all_saltenvs, it is now possible to define your formula once, in a
14927       single branch.
14928
14929          gitfs_remotes:
14930            - http://foo.com/quux.git:
14931              - all_saltenvs: anything
14932
14933   Update Intervals
14934       Prior  to the 2018.3.0 release, GitFS would update its fileserver back‐
14935       ends as part of a dedicated "maintenance"  process,  in  which  various
14936       routine maintenance tasks were performed. This tied the update interval
14937       to the loop_interval config option, and also forced all fileservers  to
14938       update at the same interval.
14939
14940       Now  it  is  possible  to  make GitFS update at its own interval, using
14941       gitfs_update_interval:
14942
14943          gitfs_update_interval: 180
14944
14945          gitfs_remotes:
14946            - https://foo.com/foo.git
14947            - https://foo.com/bar.git:
14948              - update_interval: 120
14949
14950       Using the above configuration, the  first  remote  would  update  every
14951       three minutes, while the second remote would update every two minutes.
14952
14953   Configuration Order of Precedence
14954       The  order  of  precedence  for GitFS configuration is as follows (each
14955       level overrides all levels below it):
14956
14957       1. Per-saltenv configuration (defined under a per-remote saltenv param)
14958
14959             gitfs_remotes:
14960               - https://foo.com/bar.git:
14961                 - saltenv:
14962                   - dev:
14963                     - mountpoint: salt://bar
14964
14965       2. Global per-saltenv configuration (defined in gitfs_saltenv)
14966
14967             gitfs_saltenv:
14968               - dev:
14969                 - mountpoint: salt://bar
14970
14971       3. Per-remote configuration parameter
14972
14973             gitfs_remotes:
14974               - https://foo.com/bar.git:
14975                 - mountpoint: salt://bar
14976
14977       4. Global configuration parameter
14978
14979             gitfs_mountpoint: salt://bar
14980
14981       NOTE:
14982          The one exception to the above is when all_saltenvs  is  used.  This
14983          value  overrides  all  logic for mapping branches/tags to fileserver
14984          environments. So, even if gitfs_saltenv is used to globally override
14985          the  mapping for a given saltenv, all_saltenvs would take precedence
14986          for any remote which uses it.
14987
14988          It's important to note however that any root and  mountpoint  values
14989          configured  in gitfs_saltenv (or per-saltenv configuration) would be
14990          unaffected by this.
14991
14992   Serving from a Subdirectory
14993       The gitfs_root parameter allows files to be served from a  subdirectory
14994       within  the repository. This allows for only part of a repository to be
14995       exposed to the Salt fileserver.
14996
14997       Assume the below layout:
14998
14999          .gitignore
15000          README.txt
15001          foo/
15002          foo/bar/
15003          foo/bar/one.txt
15004          foo/bar/two.txt
15005          foo/bar/three.txt
15006          foo/baz/
15007          foo/baz/top.sls
15008          foo/baz/edit/vim.sls
15009          foo/baz/edit/vimrc
15010          foo/baz/nginx/init.sls
15011
15012       The below configuration would  serve  only  the  files  under  foo/baz,
15013       ignoring the other files in the repository:
15014
15015          gitfs_remotes:
15016            - git://mydomain.com/stuff.git
15017
15018          gitfs_root: foo/baz
15019
15020       The root can also be configured on a per-remote basis.
15021
15022   Mountpoints
15023       New in version 2014.7.0.
15024
15025
15026       The  gitfs_mountpoint  parameter will prepend the specified path to the
15027       files served from gitfs. This allows an existing repository to be used,
15028       rather  than needing to reorganize a repository or design it around the
15029       layout of the Salt fileserver.
15030
15031       Before the addition of this feature, if a  file  being  served  up  via
15032       gitfs  was  deeply  nested  within  the  root  directory  (for example,
15033       salt://webapps/foo/files/foo.conf, it would be necessary to ensure that
15034       the file was properly located in the remote repository, and that all of
15035       the parent directories  were  present  (for  example,  the  directories
15036       webapps/foo/files/ would need to exist at the root of the repository).
15037
15038       The  below  example  would allow for a file foo.conf at the root of the
15039       repository  to  be  served   up   from   the   Salt   fileserver   path
15040       salt://webapps/foo/files/foo.conf.
15041
15042          gitfs_remotes:
15043            - https://mydomain.com/stuff.git
15044
15045          gitfs_mountpoint: salt://webapps/foo/files
15046
15047       Mountpoints can also be configured on a per-remote basis.
15048
15049   Using gitfs in Masterless Mode
15050       Since  2014.7.0, gitfs can be used in masterless mode. To do so, simply
15051       add the gitfs configuration parameters (and set fileserver_backend)  in
15052       the _minion_ config file instead of the master config file.
15053
15054   Using gitfs Alongside Other Backends
15055       Sometimes  it may make sense to use multiple backends; for instance, if
15056       sls files are stored in git but larger files are stored directly on the
15057       master.
15058
15059       The  cascading lookup logic used for multiple remotes is also used with
15060       multiple backends. If the fileserver_backend option  contains  multiple
15061       backends:
15062
15063          fileserver_backend:
15064            - roots
15065            - git
15066
15067       Then the roots backend (the default backend of files in /srv/salt) will
15068       be searched first for the requested file; then, if it is not  found  on
15069       the master, each configured git remote will be searched.
15070
15071       NOTE:
15072          This  can  be  used  together with file_roots accepting __env__ as a
15073          catch-all environment, since 2018.3.5 and 2019.2.1:
15074
15075              file_roots:
15076                base:
15077                  - /srv/salt
15078                __env__:
15079                  - /srv/salt
15080
15081   Branches, Environments, and Top Files
15082       When using the GitFS backend, branches, and  tags  will  be  mapped  to
15083       environments using the branch/tag name as an identifier.
15084
15085       There  is  one  exception to this rule: the master branch is implicitly
15086       mapped to the base environment.
15087
15088       So, for a typical base, qa, dev setup, the following branches could  be
15089       used:
15090
15091          master
15092          qa
15093          dev
15094
15095       top.sls  files  from different branches will be merged into one at run‐
15096       time.  Since this can lead to overly complex configurations, the recom‐
15097       mended  setup  is  to  have  a separate repository, containing only the
15098       top.sls file with just one single master branch.
15099
15100       To map a branch other than master as  the  base  environment,  use  the
15101       gitfs_base parameter.
15102
15103          gitfs_base: salt-base
15104
15105       The base can also be configured on a per-remote basis.
15106
15107   Environment Whitelist/Blacklist
15108       New in version 2014.7.0.
15109
15110
15111       The   gitfs_saltenv_whitelist  and  gitfs_saltenv_blacklist  parameters
15112       allow for greater control over which branches/tags are exposed as file‐
15113       server  environments. Exact matches, globs, and regular expressions are
15114       supported, and are evaluated in that order.  If using a regular expres‐
15115       sion, ^ and $ must be omitted, and the expression must match the entire
15116       branch/tag.
15117
15118          gitfs_saltenv_whitelist:
15119            - base
15120            - v1.*
15121            - 'mybranch\d+'
15122
15123       NOTE:
15124          v1.*, in this example, will match as  both  a  glob  and  a  regular
15125          expression  (though it will have been matched as a glob, since globs
15126          are evaluated before regular expressions).
15127
15128       The behavior of the blacklist/whitelist will differ depending on  which
15129       combination of the two options is used:
15130
15131       · If  only  gitfs_saltenv_whitelist  is  used,  then only branches/tags
15132         which match the whitelist will be available as environments
15133
15134       · If only gitfs_saltenv_blacklist is used, then the branches/tags which
15135         match the blacklist will not be available as environments
15136
15137       · If  both  are used, then the branches/tags which match the whitelist,
15138         but do not match the blacklist, will be available as environments.
15139
15140   Authentication
15141   pygit2
15142       New in version 2014.7.0.
15143
15144
15145       Both HTTPS and SSH authentication are supported as of  version  0.20.3,
15146       which is the earliest version of pygit2 supported by Salt for gitfs.
15147
15148       NOTE:
15149          The  examples below make use of per-remote configuration parameters,
15150          a feature new to Salt 2014.7.0. More information  on  these  can  be
15151          found here.
15152
15153   HTTPS
15154       For  HTTPS  repositories which require authentication, the username and
15155       password can be provided like so:
15156
15157          gitfs_remotes:
15158            - https://domain.tld/myrepo.git:
15159              - user: git
15160              - password: mypassword
15161
15162       If the repository is served over HTTP instead of HTTPS, then Salt  will
15163       by  default refuse to authenticate to it. This behavior can be overrid‐
15164       den by adding an insecure_auth parameter:
15165
15166          gitfs_remotes:
15167            - http://domain.tld/insecure_repo.git:
15168              - user: git
15169              - password: mypassword
15170              - insecure_auth: True
15171
15172   SSH
15173       SSH repositories can be configured using the ssh://  protocol  designa‐
15174       tion,  or  using  scp-like syntax. So, the following two configurations
15175       are equivalent:
15176
15177       · ssh://git@github.com/user/repo.git
15178
15179       · git@github.com:user/repo.git
15180
15181       Both gitfs_pubkey and gitfs_privkey (or their per-remote  counterparts)
15182       must  be configured in order to authenticate to SSH-based repos. If the
15183       private key is protected with a passphrase, it can be configured  using
15184       gitfs_passphrase (or simply passphrase if being configured per-remote).
15185       For example:
15186
15187          gitfs_remotes:
15188            - git@github.com:user/repo.git:
15189              - pubkey: /root/.ssh/id_rsa.pub
15190              - privkey: /root/.ssh/id_rsa
15191              - passphrase: myawesomepassphrase
15192
15193       Finally, the SSH host key must be added to the known_hosts file.
15194
15195       NOTE:
15196          There is a known issue with public-key SSH authentication to  Micro‐
15197          soft  Visual Studio (VSTS) with pygit2. This is due to a bug or lack
15198          of support  for  VSTS  in  older  libssh2  releases.  Known  working
15199          releases  include  libssh2  1.7.0  and later, and known incompatible
15200          releases include 1.5.0 and older.  At  the  time  of  this  writing,
15201          1.6.0 has not been tested.
15202
15203          Since upgrading libssh2 would require rebuilding many other packages
15204          (curl, etc.), followed by a rebuild of libgit2 and  a  reinstall  of
15205          pygit2,  an  easier  workaround for systems with older libssh2 is to
15206          use GitPython with a passphraseless key for authentication.
15207
15208   GitPython
15209   HTTPS
15210       For HTTPS repositories which require authentication, the  username  and
15211       password  can  be  configured  in  one of two ways. The first way is to
15212       include  them  in  the  URL  using  the  format   https://<user>:<pass‐
15213       word>@<url>, like so:
15214
15215          gitfs_remotes:
15216            - https://git:mypassword@domain.tld/myrepo.git
15217
15218       The other way would be to configure the authentication in ~/.netrc:
15219
15220          machine domain.tld
15221          login git
15222          password mypassword
15223
15224       If  the repository is served over HTTP instead of HTTPS, then Salt will
15225       by default refuse to authenticate to it. This behavior can be  overrid‐
15226       den by adding an insecure_auth parameter:
15227
15228          gitfs_remotes:
15229            - http://git:mypassword@domain.tld/insecure_repo.git:
15230              - insecure_auth: True
15231
15232   SSH
15233       Only  passphrase-less  SSH public key authentication is supported using
15234       GitPython. The auth parameters (pubkey, privkey,  etc.)  shown  in  the
15235       pygit2 authentication examples above do not work with GitPython.
15236
15237          gitfs_remotes:
15238            - ssh://git@github.com/example/salt-states.git
15239
15240       Since  GitPython  wraps the git CLI, the private key must be located in
15241       ~/.ssh/id_rsa for the user under  which  the  Master  is  running,  and
15242       should  have permissions of 0600. Also, in the absence of a user in the
15243       repo URL, GitPython will (just as SSH does) attempt  to  login  as  the
15244       current  user  (in other words, the user under which the Master is run‐
15245       ning, usually root).
15246
15247       If a key needs to be used, then ~/.ssh/config can be configured to  use
15248       the  desired key. Information on how to do this can be found by viewing
15249       the manpage for ssh_config. Here's an example entry which can be  added
15250       to the ~/.ssh/config to use an alternate key for gitfs:
15251
15252          Host github.com
15253              IdentityFile /root/.ssh/id_rsa_gitfs
15254
15255       The Host parameter should be a hostname (or hostname glob) that matches
15256       the domain name of the git repository.
15257
15258       It is also necessary to add the SSH host key to the  known_hosts  file.
15259       The exception to this would be if strict host key checking is disabled,
15260       which can be done by adding StrictHostKeyChecking no to  the  entry  in
15261       ~/.ssh/config
15262
15263          Host github.com
15264              IdentityFile /root/.ssh/id_rsa_gitfs
15265              StrictHostKeyChecking no
15266
15267       However,  this  is  generally  regarded  as insecure, and is not recom‐
15268       mended.
15269
15270   Adding the SSH Host Key to the known_hosts File
15271       To use SSH authentication, it is necessary to have the  remote  reposi‐
15272       tory's  SSH  host  key in the ~/.ssh/known_hosts file. If the master is
15273       also a minion, this can be done using the ssh.set_known_host function:
15274
15275          # salt mymaster ssh.set_known_host user=root hostname=github.com
15276          mymaster:
15277              ----------
15278              new:
15279                  ----------
15280                  enc:
15281                      ssh-rsa
15282                  fingerprint:
15283                      16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
15284                  hostname:
15285                      |1|OiefWWqOD4kwO3BhoIGa0loR5AA=|BIXVtmcTbPER+68HvXmceodDcfI=
15286                  key:
15287                      AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
15288              old:
15289                  None
15290              status:
15291                  updated
15292
15293       If not, then the easiest way to add the key is to su to the user  (usu‐
15294       ally root) under which the salt-master runs and attempt to login to the
15295       server via SSH:
15296
15297          $ su -
15298          Password:
15299          # ssh github.com
15300          The authenticity of host 'github.com (192.30.252.128)' can't be established.
15301          RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
15302          Are you sure you want to continue connecting (yes/no)? yes
15303          Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of known hosts.
15304          Permission denied (publickey).
15305
15306       It doesn't matter if the login was successful, as  answering  yes  will
15307       write the fingerprint to the known_hosts file.
15308
15309   Verifying the Fingerprint
15310       To  verify that the correct fingerprint was added, it is a good idea to
15311       look it up. One way to do this is to use nmap:
15312
15313          $ nmap -p 22 github.com --script ssh-hostkey
15314
15315          Starting Nmap 5.51 ( http://nmap.org ) at 2014-08-18 17:47 CDT
15316          Nmap scan report for github.com (192.30.252.129)
15317          Host is up (0.17s latency).
15318          Not shown: 996 filtered ports
15319          PORT     STATE SERVICE
15320          22/tcp   open  ssh
15321          | ssh-hostkey: 1024 ad:1c:08:a4:40:e3:6f:9c:f5:66:26:5d:4b:33:5d:8c (DSA)
15322          |_2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 (RSA)
15323          80/tcp   open  http
15324          443/tcp  open  https
15325          9418/tcp open  git
15326
15327          Nmap done: 1 IP address (1 host up) scanned in 28.78 seconds
15328
15329       Another way  is  to  check  one's  own  known_hosts  file,  using  this
15330       one-liner:
15331
15332          $ ssh-keygen -l -f /dev/stdin <<<`ssh-keyscan github.com 2>/dev/null` | awk '{print $2}'
15333          16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
15334
15335       WARNING:
15336          AWS tracks usage of nmap and may flag it as abuse. On AWS hosts, the
15337          ssh-keygen method is recommended for host key verification.
15338
15339       NOTE:
15340          As  of  OpenSSH  6.8  the  SSH  fingerprint  is  now  shown   as   a
15341          base64-encoded  SHA256  checksum of the host key. So, instead of the
15342          fingerprint                       looking                       like
15343          16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48,  it would look like
15344          SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
15345
15346   Refreshing gitfs Upon Push
15347       By default, Salt updates the remote fileserver backends every  60  sec‐
15348       onds.   However,  if  it is desirable to refresh quicker than that, the
15349       Reactor System can be used to signal the master  to  update  the  file‐
15350       server  on  each push, provided that the git server is also a Salt min‐
15351       ion. There are three steps to this process:
15352
15353       1. On the master,  create  a  file  /srv/reactor/update_fileserver.sls,
15354          with the following contents:
15355
15356             update_fileserver:
15357               runner.fileserver.update
15358
15359       2. Add the following reactor configuration to the master config file:
15360
15361             reactor:
15362               - 'salt/fileserver/gitfs/update':
15363                 - /srv/reactor/update_fileserver.sls
15364
15365       3. On the git server, add a post-receive hook
15366
15367          a. If  the  user  executing git push is the same as the minion user,
15368             use the following hook:
15369
15370                 #!/usr/bin/env sh
15371                 salt-call event.fire_master update salt/fileserver/gitfs/update
15372
15373          b. To enable other git users to run the hook after a push, use  sudo
15374             in the hook script:
15375
15376                 #!/usr/bin/env sh
15377                 sudo -u root salt-call event.fire_master update salt/fileserver/gitfs/update
15378
15379       4. If using sudo in the git hook (above), the policy must be changed to
15380          permit all users to fire the event.  Add the following policy to the
15381          sudoers file on the git server.
15382
15383             Cmnd_Alias SALT_GIT_HOOK = /bin/salt-call event.fire_master update salt/fileserver/gitfs/update
15384             Defaults!SALT_GIT_HOOK !requiretty
15385             ALL ALL=(root) NOPASSWD: SALT_GIT_HOOK
15386
15387       The  update  argument right after event.fire_master in this example can
15388       really be anything, as it represents  the  data  being  passed  in  the
15389       event, and the passed data is ignored by this reactor.
15390
15391       Similarly, the tag name salt/fileserver/gitfs/update can be replaced by
15392       anything, so long as the usage is consistent.
15393
15394       The root user name in the hook script and sudo policy should be changed
15395       to match the user under which the minion is running.
15396
15397   Using Git as an External Pillar Source
15398       The  git external pillar (a.k.a. git_pillar) has been rewritten for the
15399       2015.8.0 release. This rewrite brings with it pygit2 support  (allowing
15400       for  access  to  authenticated  repositories), as well as more granular
15401       support for per-remote  configuration.  This  configuration  schema  is
15402       detailed here.
15403
15404   Why aren't my custom modules/states/etc. syncing to my Minions?
15405       In  versions  0.16.3  and older, when using the git fileserver backend,
15406       certain versions of GitPython may generate errors when fetching,  which
15407       Salt fails to catch. While not fatal to the fetch process, these inter‐
15408       rupt the fileserver update that takes place  before  custom  types  are
15409       synced, and thus interrupt the sync itself. Try disabling the git file‐
15410       server backend  in  the  master  config,  restarting  the  master,  and
15411       attempting the sync again.
15412
15413       This issue is worked around in Salt 0.16.4 and newer.
15414
15415   MinionFS Backend Walkthrough
15416       New in version 2014.1.0.
15417
15418
15419       NOTE:
15420          This walkthrough assumes basic knowledge of Salt and cp.push. To get
15421          up to speed, check out the Salt Walkthrough.
15422
15423       Sometimes it is desirable to deploy a file located on one minion to one
15424       or  more  other  minions.  This is supported in Salt, and can be accom‐
15425       plished in two parts:
15426
15427       1. Minion support for pushing files to the master (using cp.push)
15428
15429       2. The minionfs fileserver backend
15430
15431       This walkthrough will show how to use both of these features.
15432
15433   Enabling File Push
15434       To set the master to accept files pushed from  minions,  the  file_recv
15435       option  in  the  master config file must be set to True (the default is
15436       False).
15437
15438          file_recv: True
15439
15440       NOTE:
15441          This change requires a restart of the salt-master service.
15442
15443   Pushing Files
15444       Once this has been done, files can be pushed to the  master  using  the
15445       cp.push function:
15446
15447          salt 'minion-id' cp.push /path/to/the/file
15448
15449       This  command will store the file in a subdirectory named minions under
15450       the  master's  cachedir.  On  most   masters,   this   path   will   be
15451       /var/cache/salt/master/minions.  Within  this  directory  will  be  one
15452       directory for each minion which has pushed a file to  the  master,  and
15453       underneath  that the full path to the file on the minion. So, for exam‐
15454       ple, if a minion with an ID of dev1 pushed a file /var/log/myapp.log to
15455       the   master,   it   would   be  saved  to  /var/cache/salt/master/min‐
15456       ions/dev1/var/log/myapp.log.
15457
15458   Serving Pushed Files Using MinionFS
15459       While it is certainly possible to add /var/cache/salt/master/minions to
15460       the master's file_roots and serve these files, it may only be desirable
15461       to   expose    files    pushed    from    certain    minions.    Adding
15462       /var/cache/salt/master/minions/<minion-id>  for  each minion that needs
15463       to be exposed can be cumbersome and prone to errors.
15464
15465       Enter minionfs. This fileserver backend will make  files  pushed  using
15466       cp.push  available  to the Salt fileserver, and provides an easy mecha‐
15467       nism to restrict which minions' pushed files are made available.
15468
15469   Simple Configuration
15470       To use the minionfs backend, add minionfs to the list  of  backends  in
15471       the fileserver_backend configuration option on the master:
15472
15473          file_recv: True
15474
15475          fileserver_backend:
15476            - roots
15477            - minionfs
15478
15479       NOTE:
15480          minion  also  works here. Prior to the 2018.3.0 release, only minion
15481          would work.
15482
15483          Also, as described earlier, file_recv: True is needed to enable  the
15484          master  to  receive files pushed from minions. As always, changes to
15485          the master configuration require a restart of the  salt-master  ser‐
15486          vice.
15487
15488       Files   made   available   via  minionfs  are  by  default  located  at
15489       salt://<minion-id>/path/to/file. Think back to the earlier example,  in
15490       which  dev1  pushed  a file /var/log/myapp.log to the master. With min‐
15491       ionfs  enabled,  this  file   would   be   addressable   in   Salt   at
15492       salt://dev1/var/log/myapp.log.
15493
15494       If  many  minions  have  pushed to the master, this will result in many
15495       directories in the root of the Salt fileserver. For this reason, it  is
15496       recommended  to  use  the minionfs_mountpoint config option to organize
15497       these files underneath a subdirectory:
15498
15499          minionfs_mountpoint: salt://minionfs
15500
15501       Using the above mountpoint, the file in the example would be located at
15502       salt://minionfs/dev1/var/log/myapp.log.
15503
15504   Restricting Certain Minions' Files from Being Available Via MinionFS
15505       A  whitelist  and  blacklist  can be used to restrict the minions whose
15506       pushed files are available via minionfs. These  lists  can  be  managed
15507       using  the  minionfs_whitelist  and  minionfs_blacklist config options.
15508       Click the links for both of them for a detailed explanation of  how  to
15509       use them.
15510
15511       A  more  complex configuration example, which uses both a whitelist and
15512       blacklist, can be found below:
15513
15514          file_recv: True
15515
15516          fileserver_backend:
15517            - roots
15518            - minionfs
15519
15520          minionfs_mountpoint: salt://minionfs
15521
15522          minionfs_whitelist:
15523            - host04
15524            - web*
15525            - 'mail\d+\.domain\.tld'
15526
15527          minionfs_blacklist:
15528            - web21
15529
15530   Potential Concerns
15531       · There is no access control in place to restrict  which  minions  have
15532         access  to  files served up by minionfs. All minions will have access
15533         to these files.
15534
15535       · Unless  the  minionfs_whitelist  and/or   minionfs_blacklist   config
15536         options  are  used,  all  minions which push files to the master will
15537         have their files made available via minionfs.
15538
15539   Salt Package Manager
15540       The Salt Package Manager, or SPM, enables Salt formulas to be  packaged
15541       to  simplify distribution to Salt masters. The design of SPM was influ‐
15542       enced by other existing packaging systems including RPM, Yum, and  Pac‐
15543       man.  [image]
15544
15545       NOTE:
15546          The previous diagram shows each SPM component as a different system,
15547          but this is not required. You can build packages and  host  the  SPM
15548          repo on a single Salt master if you'd like.
15549
15550       Packaging System
15551
15552       The  packaging  system  is used to package the state, pillar, file tem‐
15553       plates, and other files used by your formula into a single file.  After
15554       a  formula  package  is  created, it is copied to the Repository System
15555       where it is made available to Salt masters.
15556
15557       See Building SPM Packages
15558
15559       Repo System
15560
15561       The Repo system stores the SPM package and  metadata  files  and  makes
15562       them  available  to  Salt  masters  via http(s), ftp, or file URLs. SPM
15563       repositories can be hosted on a Salt  Master,  a  Salt  Minion,  or  on
15564       another system.
15565
15566       See Distributing SPM Packages
15567
15568       Salt Master
15569
15570       SPM provides Salt master settings that let you configure the URL of one
15571       or more SPM repos. You can then quickly install packages  that  contain
15572       entire formulas to your Salt masters using SPM.
15573
15574       See Installing SPM Packages
15575
15576       Contents
15577
15578   Building SPM Packages
15579       The first step when using Salt Package Manager is to build packages for
15580       each of of the formulas that you want to distribute.  Packages  can  be
15581       built on any system where you can install Salt.
15582
15583   Package Build Overview
15584       To  build  a package, all state, pillar, jinja, and file templates used
15585       by your formula are assembled into a folder on the build system.  These
15586       files  can  be cloned from a Git repository, such as those found at the
15587       saltstack-formulas organization on GitHub, or copied  directly  to  the
15588       folder.
15589
15590       The  following  diagram  demonstrates  a  typical formula layout on the
15591       build system: [image]
15592
15593       In this example, all  formula  files  are  placed  in  a  myapp-formula
15594       folder.   This  is the folder that is targeted by the spm build command
15595       when this package is built.
15596
15597       Within this folder, pillar data is placed in a pillar.example  file  at
15598       the  root, and all state, jinja, and template files are placed within a
15599       subfolder that is named after the  application  being  packaged.  State
15600       files  are typically contained within a subfolder, similar to how state
15601       files are organized in the state tree. Any  non-pillar  files  in  your
15602       package that are not contained in a subfolder are placed at the root of
15603       the spm state tree.
15604
15605       Additionally, a FORMULA file is created and placed in the root  of  the
15606       folder. This file contains package metadata that is used by SPM.
15607
15608   Package Installation Overview
15609       When  building packages, it is useful to know where files are installed
15610       on the Salt master. During installation, all files except  pillar.exam‐
15611       ple  and  FORMULA are copied directly to the spm state tree on the Salt
15612       master (located at \srv\spm\salt).
15613
15614       If a pillar.example file is present in the root, it is renamed to <for‐
15615       mula name>.sls.orig and placed in the pillar_path.  [image]
15616
15617       NOTE:
15618          Even  though  the pillar data file is copied to the pillar root, you
15619          still need to manually assign this pillar data to systems using  the
15620          pillar top file. This file can also be duplicated and renamed so the
15621          .orig version is left intact in case you need to restore it later.
15622
15623   Building an SPM Formula Package
15624       1. Assemble formula files in a folder on the build system.
15625
15626       2. Create a FORMULA file and place  it  in  the  root  of  the  package
15627          folder.
15628
15629       3. Run  spm build <folder name>. The package is built and placed in the
15630          /srv/spm_build folder.
15631
15632             spm build /path/to/salt-packages-source/myapp-formula
15633
15634       4. Copy the .spm file to a folder on the repository system.
15635
15636   Types of Packages
15637       SPM supports different types of packages. The function of each  package
15638       is  denoted  by  its name. For instance, packages which end in -formula
15639       are considered to be Salt States (the most  common  type  of  formula).
15640       Packages which end in -conf contain configuration which is to be placed
15641       in the /etc/salt/ directory. Packages which do not contain one of these
15642       names are treated as if they have a -formula name.
15643
15644   formula
15645       By  default,  most  files  from  this  type  of  package  live  in  the
15646       /srv/spm/salt/ directory. The exception  is  the  pillar.example  file,
15647       which  will  be  renamed to <package_name>.sls and placed in the pillar
15648       directory (/srv/spm/pillar/ by default).
15649
15650   reactor
15651       By default, files from this type of package live in the  /srv/spm/reac‐
15652       tor/ directory.
15653
15654   conf
15655       The  files  in  this  type of package are configuration files for Salt,
15656       which normally live in the /etc/salt/  directory.  Configuration  files
15657       for  packages  other  than  Salt  can and should be handled with a Salt
15658       State (using a formula type of package).
15659
15660   Technical Information
15661       Packages are built using BZ2-compressed tarballs. By default, the pack‐
15662       age  database  is  stored  using the sqlite3 driver (see Loader Modules
15663       below).
15664
15665       Support for these are built into Python, and so no  external  dependen‐
15666       cies are needed.
15667
15668       All  other files belonging to SPM use YAML, for portability and ease of
15669       use and maintainability.
15670
15671   SPM-Specific Loader Modules
15672       SPM was designed to behave like  traditional  package  managers,  which
15673       apply  files  to  the  filesystem and store package metadata in a local
15674       database. However, because modern infrastructures often  extend  beyond
15675       those  use  cases, certain parts of SPM have been broken out into their
15676       own set of modules.
15677
15678   Package Database
15679       By default, the package database is stored using  the  sqlite3  module.
15680       This module was chosen because support for SQLite3 is built into Python
15681       itself.
15682
15683       Please see the SPM Development Guide for information  on  creating  new
15684       modules for package database management.
15685
15686   Package Files
15687       By  default,  package  files are installed using the local module. This
15688       module applies files to the local filesystem, on the machine  that  the
15689       package is installed on.
15690
15691       Please  see  the  SPM Development Guide for information on creating new
15692       modules for package file management.
15693
15694   Distributing SPM Packages
15695       SPM packages can be distributed to Salt masters over HTTP(S),  FTP,  or
15696       through the file system. The SPM repo can be hosted on any system where
15697       you can install Salt. Salt is installed so you can  run  the  spm  cre‐
15698       ate_repo  command  when  you  update  or add a package to the repo. SPM
15699       repos do not require the salt-master, salt-minion, or any other process
15700       running on the system.
15701
15702       NOTE:
15703          If  you are hosting the SPM repo on a system where you can not or do
15704          not want to install Salt, you can run the spm create_repo command on
15705          the  build  system  and  then  copy  the  packages and the generated
15706          SPM-METADATA file to the  repo.  You  can  also  install  SPM  files
15707          directly on a Salt master, bypassing the repository completely.
15708
15709   Setting up a Package Repository
15710       After  packages  are  built,  the generated SPM files are placed in the
15711       srv/spm_build folder.
15712
15713       Where you place the built SPM files on your repository  server  depends
15714       on how you plan to make them available to your Salt masters.
15715
15716       You  can  share  the  srv/spm_build  folder on the network, or copy the
15717       files to your FTP or Web server.
15718
15719   Adding a Package to the repository
15720       New packages are added by simply copying  the  SPM  file  to  the  repo
15721       folder, and then generating repo metadata.
15722
15723   Generate Repo Metadata
15724       Each time you update or add an SPM package to your repository, issue an
15725       spm create_repo command:
15726
15727          spm create_repo /srv/spm_build
15728
15729       SPM generates the repository metadata for all of the packages  in  that
15730       directory  and  places  it  in an SPM-METADATA file at the folder root.
15731       This command is used even if repository metadata already exists in that
15732       directory.
15733
15734   Installing SPM Packages
15735       SPM  packages  are installed to your Salt master, where they are avail‐
15736       able to Salt minions using all of Salt's package management functions.
15737
15738   Configuring Remote Repositories
15739       Before SPM can use a repository, two things need to happen. First,  the
15740       Salt  master needs to know where the repository is through a configura‐
15741       tion process. Then it needs to pull down the repository metadata.
15742
15743   Repository Configuration Files
15744       Repositories  are  configured  by  adding   each   of   them   to   the
15745       /etc/salt/spm.repos.d/spm.repo file on each Salt master. This file con‐
15746       tains the name of the repository, and the link to the repository:
15747
15748          my_repo:
15749            url: https://spm.example.com/
15750
15751       For HTTP/HTTPS Basic authorization you can define credentials:
15752
15753          my_repo:
15754            url: https://spm.example.com/
15755            username: user
15756            password: pass
15757
15758       Beware of unauthorized access to this file, please set  at  least  0640
15759       permissions for this configuration file:
15760
15761       The URL can use http, https, ftp, or file.
15762
15763          my_repo:
15764            url: file:///srv/spm_build
15765
15766   Updating Local Repository Metadata
15767       After the repository is configured on the Salt master, repository meta‐
15768       data is downloaded using the spm update_repo command:
15769
15770          spm update_repo
15771
15772       NOTE:
15773          A file for each repo is placed in /var/cache/salt/spm  on  the  Salt
15774          master  after  you run the update_repo command. If you add a reposi‐
15775          tory and it does not seem to be showing up, check this path to  ver‐
15776          ify that the repository was found.
15777
15778   Update File Roots
15779       SPM packages are installed to the srv/spm/salt folder on your Salt mas‐
15780       ter.  This path needs to be added to the file roots on your Salt master
15781       manually.
15782
15783          file_roots:
15784            base:
15785              1. /srv/salt
15786              2. /srv/spm/salt
15787
15788       Restart the salt-master service after updating the file_roots setting.
15789
15790   Installing Packages
15791       To install a package, use the spm install command:
15792
15793          spm install apache
15794
15795       WARNING:
15796          Currently,  SPM  does not check to see if files are already in place
15797          before installing them. That means that existing files will be over‐
15798          written without warning.
15799
15800   Installing directly from an SPM file
15801       You  can also install SPM packages using a local SPM file using the spm
15802       local install command:
15803
15804          spm local install /srv/spm/apache-201506-1.spm
15805
15806       An SPM repository is not required when using spm local install.
15807
15808   Pillars
15809       If an installed package includes Pillar data, be  sure  to  target  the
15810       installed pillar to the necessary systems using the pillar Top file.
15811
15812   Removing Packages
15813       Packages  may  be removed after they are installed using the spm remove
15814       command.
15815
15816          spm remove apache
15817
15818       If files have been modified, they will not be removed.  Empty  directo‐
15819       ries will also be removed.
15820
15821   SPM Configuration
15822       There  are  a  number  of options that are specific to SPM. They may be
15823       configured in the master configuration file, or in SPM's own  spm  con‐
15824       figuration  file  (normally located at /etc/salt/spm). If configured in
15825       both places, the spm file takes precedence. In  general,  these  values
15826       will not need to be changed from the defaults.
15827
15828   spm_logfile
15829       Default: /var/log/salt/spm
15830
15831       Where SPM logs messages.
15832
15833   spm_repos_config
15834       Default: /etc/salt/spm.repos
15835
15836       SPM  repositories are configured with this file. There is also a direc‐
15837       tory which corresponds to it, which ends in .d. For  instance,  if  the
15838       filename    is    /etc/salt/spm.repos,    the    directory    will   be
15839       /etc/salt/spm.repos.d/.
15840
15841   spm_cache_dir
15842       Default: /var/cache/salt/spm
15843
15844       When SPM updates package repository metadata  and  downloads  packaged,
15845       they  will  be placed in this directory. The package database, normally
15846       called packages.db, also lives in this directory.
15847
15848   spm_db
15849       Default: /var/cache/salt/spm/packages.db
15850
15851       The location and name of the package database. This database stores the
15852       names  of  all  of  the SPM packages installed on the system, the files
15853       that belong to them, and the metadata for those files.
15854
15855   spm_build_dir
15856       Default: /srv/spm_build
15857
15858       When packages are built, they will be placed in this directory.
15859
15860   spm_build_exclude
15861       Default: ['.git']
15862
15863       When SPM builds a package, it normally adds all files  in  the  formula
15864       directory  to the package. Files listed here will be excluded from that
15865       package. This option requires a list to be specified.
15866
15867          spm_build_exclude:
15868            - .git
15869            - .svn
15870
15871   Types of Packages
15872       SPM supports different types of formula packages. The function of  each
15873       package  is  denoted  by  its name. For instance, packages which end in
15874       -formula are considered to be Salt States (the most common type of for‐
15875       mula). Packages which end in -conf contain configuration which is to be
15876       placed in the /etc/salt/ directory. Packages which do not  contain  one
15877       of these names are treated as if they have a -formula name.
15878
15879   formula
15880       By  default,  most  files  from  this  type  of  package  live  in  the
15881       /srv/spm/salt/ directory. The exception  is  the  pillar.example  file,
15882       which  will  be  renamed to <package_name>.sls and placed in the pillar
15883       directory (/srv/spm/pillar/ by default).
15884
15885   reactor
15886       By default, files from this type of package live in the  /srv/spm/reac‐
15887       tor/ directory.
15888
15889   conf
15890       The  files  in  this  type of package are configuration files for Salt,
15891       which normally live in the /etc/salt/  directory.  Configuration  files
15892       for  packages  other  than  Salt  can and should be handled with a Salt
15893       State (using a formula type of package).
15894
15895   FORMULA File
15896       In addition to the formula itself, a  FORMULA  file  must  exist  which
15897       describes the package. An example of this file is:
15898
15899          name: apache
15900          os: RedHat, Debian, Ubuntu, SUSE, FreeBSD
15901          os_family: RedHat, Debian, Suse, FreeBSD
15902          version: 201506
15903          release: 2
15904          summary: Formula for installing Apache
15905          description: Formula for installing Apache
15906
15907   Required Fields
15908       This file must contain at least the following fields:
15909
15910   name
15911       The  name of the package, as it will appear in the package filename, in
15912       the repository metadata, and the package database. Even if  the  source
15913       formula has -formula in its name, this name should probably not include
15914       that. For instance, when packaging the apache-formula, the name  should
15915       be set to apache.
15916
15917   os
15918       The  value  of the os grain that this formula supports. This is used to
15919       help users know which operating systems can support this package.
15920
15921   os_family
15922       The value of the os_family grain that this formula  supports.  This  is
15923       used  to  help  users  know which operating system families can support
15924       this package.
15925
15926   version
15927       The version of the package. While it is up  to  the  organization  that
15928       manages this package, it is suggested that this version is specified in
15929       a YYYYMM format.  For instance, if this version was  released  in  June
15930       2015,  the  package  version should be 201506. If multiple releases are
15931       made in a month, the release field should be used.
15932
15933   minimum_version
15934       Minimum recommended version of Salt to use this formula. Not  currently
15935       enforced.
15936
15937   release
15938       This field refers primarily to a release of a version, but also to mul‐
15939       tiple versions within a month. In general, if a version has  been  made
15940       public,  and immediate updates need to be made to it, this field should
15941       also be updated.
15942
15943   summary
15944       A one-line description of the package.
15945
15946   description
15947       A more detailed description of the package which can contain more  than
15948       one line.
15949
15950   Optional Fields
15951       The following fields may also be present.
15952
15953   top_level_dir
15954       This field is optional, but highly recommended. If it is not specified,
15955       the package name will be used.
15956
15957       Formula repositories typically do not store .sls files in the  root  of
15958       the  repository;  instead  they  are  stored  in  a  subdirectory.  For
15959       instance, an apache-formula repository would contain a directory called
15960       apache, which would contain an init.sls, plus a number of other related
15961       files. In this instance, the top_level_dir should be set to apache.
15962
15963       Files outside the  top_level_dir,  such  as  README.rst,  FORMULA,  and
15964       LICENSE  will  not  be installed. The exceptions to this rule are files
15965       that are already treated specially, such as  pillar.example  and  _mod‐
15966       ules/.
15967
15968   dependencies
15969       A  comma-separated  list  of packages that must be installed along with
15970       this package. When this package is installed, SPM will attempt to  dis‐
15971       cover  and  install these packages as well. If it is unable to, then it
15972       will refuse to install this package.
15973
15974       This is useful for creating packages which tie together other packages.
15975       For  instance,  a  package called wordpress-mariadb-apache would depend
15976       upon wordpress, mariadb, and apache.
15977
15978   optional
15979       A comma-separated list of packages which are related to  this  package,
15980       but are neither required nor necessarily recommended. This list is dis‐
15981       played in an informational message when the  package  is  installed  to
15982       SPM.
15983
15984   recommended
15985       A  comma-separated list of optional packages that are recommended to be
15986       installed with the package. This list is displayed in an  informational
15987       message when the package is installed to SPM.
15988
15989   files
15990       A  files section can be added, to specify a list of files to add to the
15991       SPM.  Such a section might look like:
15992
15993          files:
15994            - _pillar
15995            - FORMULA
15996            - _runners
15997            - d|mymodule/index.rst
15998            - r|README.rst
15999
16000       When files are specified, then only those files will be  added  to  the
16001       SPM,  regardless  of what other files exist in the directory. They will
16002       also be added in the order specified, which is useful  if  you  have  a
16003       need to lay down files in a specific order.
16004
16005       As  can be seen in the example above, you may also tag files as being a
16006       specific type. This is done by pre-pending a filename  with  its  type,
16007       followed by a pipe (|) character. The above example contains a document
16008       file and a readme. The available file types are:
16009
16010       · c: config file
16011
16012       · d: documentation file
16013
16014       · g: ghost file (i.e. the file contents are not included in the package
16015         payload)
16016
16017       · l: license file
16018
16019       · r: readme file
16020
16021       · s: SLS file
16022
16023       · m: Salt module
16024
16025       The  first  5  of  these  types  (c,  d,  g,  l,  r)  will be placed in
16026       /usr/share/salt/spm/ by default. This can  be  changed  by  setting  an
16027       spm_share_dir value in your /etc/salt/spm configuration file.
16028
16029       The  last  two  types  (s  and  m)  are currently ignored, but they are
16030       reserved for future use.
16031
16032   Pre and Post States
16033       It is possible to run Salt states before and after installing a package
16034       by using pre and post states. The following sections may be declared in
16035       a FORMULA:
16036
16037       · pre_local_state
16038
16039       · pre_tgt_state
16040
16041       · post_local_state
16042
16043       · post_tgt_state
16044
16045       Sections with pre in their name  are  evaluated  before  a  package  is
16046       installed  and  sections  with  post  are  evaluated after a package is
16047       installed. local states are evaluated before tgt states.
16048
16049       Each of these sections needs to be evaluated as text,  rather  than  as
16050       YAML.  Consider the following block:
16051
16052          pre_local_state: >
16053            echo test > /tmp/spmtest:
16054              cmd:
16055                - run
16056
16057       Note that this declaration uses > after pre_local_state. This is a YAML
16058       marker that marks the next multi-line block  as  text,  including  new‐
16059       lines.  It  is  important  to use this marker whenever declaring pre or
16060       post states, so that the text following it can be evaluated properly.
16061
16062   local States
16063       local states are evaluated locally; this  is  analogous  to  issuing  a
16064       state  run  using  a  salt-call --local command. These commands will be
16065       issued on the local machine  running  the  spm  command,  whether  that
16066       machine is a master or a minion.
16067
16068       local  states do not require any special arguments, but they must still
16069       use the > marker to denote that the state is evaluated as text,  not  a
16070       data structure.
16071
16072          pre_local_state: >
16073            echo test > /tmp/spmtest:
16074              cmd:
16075                - run
16076
16077   tgt States
16078       tgt  states  are  issued  against a remote target. This is analogous to
16079       issuing a state using the salt command. As such it  requires  that  the
16080       machine that the spm command is running on is a master.
16081
16082       Because  tgt  states  require  that  a  target be specified, their code
16083       blocks are a little different. Consider the following state:
16084
16085          pre_tgt_state:
16086            tgt: '*'
16087            data: >
16088              echo test > /tmp/spmtest:
16089                cmd:
16090                  - run
16091
16092       With tgt states, the state data is placed under a data section,  inside
16093       the  *_tgt_state code block. The target is of course specified as a tgt
16094       and you may also optionally specify a tgt_type (the default is glob).
16095
16096       You still need to use the > marker, but this time it follows  the  data
16097       line, rather than the *_tgt_state line.
16098
16099   Templating States
16100       The reason that state data must be evaluated as text rather than a data
16101       structure is because that state data is  first  processed  through  the
16102       rendering engine, as it would be with a standard state run.
16103
16104       This  means  that  you  can  use  Jinja or any other supported renderer
16105       inside of Salt. All formula variables are available to the renderer, so
16106       you can reference FORMULA data inside your state if you need to:
16107
16108          pre_tgt_state:
16109            tgt: '*'
16110            data: >
16111               echo {{ name }} > /tmp/spmtest:
16112                cmd:
16113                  - run
16114
16115       You  may  also  declare  your  own variables inside the FORMULA. If SPM
16116       doesn't recognize them then it  will  ignore  them,  so  there  are  no
16117       restrictions on variable names, outside of avoiding reserved words.
16118
16119       By  default  the  renderer is set to jinja|yaml. You may change this by
16120       changing the renderer setting in the FORMULA itself.
16121
16122   Building a Package
16123       Once a FORMULA file has been created, it is placed into the root of the
16124       formula  that  is to be turned into a package. The spm build command is
16125       used to turn that formula into a package:
16126
16127          spm build /path/to/saltstack-formulas/apache-formula
16128
16129       The resulting file will be placed in the build  directory.  By  default
16130       this directory is located at /srv/spm/.
16131
16132   Loader Modules
16133       When  an  execution  module  is placed in <file_roots>/_modules/ on the
16134       master, it will automatically be synced to minions,  the  next  time  a
16135       sync operation takes place. Other modules are also propagated this way:
16136       state modules can be placed in _states/, and so on.
16137
16138       When SPM detects a file in a package which  resides  in  one  of  these
16139       directories,  that  directory will be placed in <file_roots> instead of
16140       in the formula directory with the rest of the files.
16141
16142   Removing Packages
16143       Packages may be removed once they are installed using  the  spm  remove
16144       command.
16145
16146          spm remove apache
16147
16148       If  files  have been modified, they will not be removed. Empty directo‐
16149       ries will also be removed.
16150
16151   Technical Information
16152       Packages are built using BZ2-compressed tarballs. By default, the pack‐
16153       age  database  is  stored  using the sqlite3 driver (see Loader Modules
16154       below).
16155
16156       Support for these are built into Python, and so no  external  dependen‐
16157       cies are needed.
16158
16159       All  other files belonging to SPM use YAML, for portability and ease of
16160       use and maintainability.
16161
16162   SPM-Specific Loader Modules
16163       SPM was designed to behave like  traditional  package  managers,  which
16164       apply  files  to  the  filesystem and store package metadata in a local
16165       database. However, because modern infrastructures often  extend  beyond
16166       those  use  cases, certain parts of SPM have been broken out into their
16167       own set of modules.
16168
16169   Package Database
16170       By default, the package database is stored using  the  sqlite3  module.
16171       This module was chosen because support for SQLite3 is built into Python
16172       itself.
16173
16174       Please see the SPM Development Guide for information  on  creating  new
16175       modules for package database management.
16176
16177   Package Files
16178       By  default,  package  files are installed using the local module. This
16179       module applies files to the local filesystem, on the machine  that  the
16180       package is installed on.
16181
16182       Please  see  the  SPM Development Guide for information on creating new
16183       modules for package file management.
16184
16185   Types of Packages
16186       SPM supports different types of formula packages. The function of  each
16187       package  is  denoted  by  its name. For instance, packages which end in
16188       -formula are considered to be Salt States (the most common type of for‐
16189       mula). Packages which end in -conf contain configuration which is to be
16190       placed in the /etc/salt/ directory. Packages which do not  contain  one
16191       of these names are treated as if they have a -formula name.
16192
16193   formula
16194       By  default,  most  files  from  this  type  of  package  live  in  the
16195       /srv/spm/salt/ directory. The exception  is  the  pillar.example  file,
16196       which  will  be  renamed to <package_name>.sls and placed in the pillar
16197       directory (/srv/spm/pillar/ by default).
16198
16199   reactor
16200       By default, files from this type of package live in the  /srv/spm/reac‐
16201       tor/ directory.
16202
16203   conf
16204       The  files  in  this  type of package are configuration files for Salt,
16205       which normally live in the /etc/salt/  directory.  Configuration  files
16206       for  packages  other  than  Salt  can and should be handled with a Salt
16207       State (using a formula type of package).
16208
16209   SPM Development Guide
16210       This document discusses developing additional code for SPM.
16211
16212   SPM-Specific Loader Modules
16213       SPM was designed to behave like  traditional  package  managers,  which
16214       apply  files  to  the  filesystem and store package metadata in a local
16215       database. However, because modern infrastructures often  extend  beyond
16216       those  use  cases, certain parts of SPM have been broken out into their
16217       own set of modules.
16218
16219       Each function that accepts arguments has a set of required and optional
16220       arguments. Take note that SPM will pass all arguments in, and therefore
16221       each function must accept each of those arguments.  However,  arguments
16222       that  are  marked  as required are crucial to SPM's core functionality,
16223       while arguments that are marked as optional are provided as  a  benefit
16224       to the module, if it needs to use them.
16225
16226   Package Database
16227       By  default,  the  package database is stored using the sqlite3 module.
16228       This module was chosen because support for SQLite3 is built into Python
16229       itself.
16230
16231       Modules   for   managing   the  package  database  are  stored  in  the
16232       salt/spm/pkgdb/ directory. A number of functions must exist to  support
16233       database management.
16234
16235   init()
16236       Get  a database connection, and initialize the package database if nec‐
16237       essary.
16238
16239       This function accepts no arguments. If a database is  used  which  sup‐
16240       ports a connection object, then that connection object is returned. For
16241       instance, the sqlite3  module  returns  a  connect()  object  from  the
16242       sqlite3 library:
16243
16244          conn = sqlite3.connect(__opts__['spm_db'], isolation_level=None)
16245          ...
16246          return conn
16247
16248       SPM  itself  will  not use this connection object; it will be passed in
16249       as-is to the other functions in the module. Therefore, when you set  up
16250       this object, make sure to do so in a way that is easily usable through‐
16251       out the module.
16252
16253   info()
16254       Return information for a package. This generally consists of the infor‐
16255       mation that is stored in the FORMULA file in the package.
16256
16257       The  arguments that are passed in, in order, are package (required) and
16258       conn (optional).
16259
16260       package is the name of the package, as specified in the FORMULA.   conn
16261       is the connection object returned from init().
16262
16263   list_files()
16264       Return  a  list  of  files  for an installed package. Only the filename
16265       should be returned, and no other information.
16266
16267       The arguments that are passed in, in order, are package (required)  and
16268       conn (optional).
16269
16270       package  is the name of the package, as specified in the FORMULA.  conn
16271       is the connection object returned from init().
16272
16273   register_pkg()
16274       Register a package in the package database. Nothing is expected  to  be
16275       returned from this function.
16276
16277       The  arguments  that are passed in, in order, are name (required), for‐
16278       mula_def (required), and conn (optional).
16279
16280       name is the name of the package, as specified  in  the  FORMULA.   for‐
16281       mula_def  is  the  contents of the FORMULA file, as a dict. conn is the
16282       connection object returned from init().
16283
16284   register_file()
16285       Register a file in the package database.  Nothing  is  expected  to  be
16286       returned from this function.
16287
16288       The   arguments   that  are  passed  in  are  name  (required),  member
16289       (required), path (required), digest (optional), and conn (optional).
16290
16291       name is the name of the package.
16292
16293       member is a tarfile object  for  the  package  file.  It  is  included,
16294       because it contains most of the information for the file.
16295
16296       path is the location of the file on the local filesystem.
16297
16298       digest is the SHA1 checksum of the file.
16299
16300       conn is the connection object returned from init().
16301
16302   unregister_pkg()
16303       Unregister  a  package  from  the  package  database. This usually only
16304       involves removing the package's record from the  database.  Nothing  is
16305       expected to be returned from this function.
16306
16307       The  arguments  that  are  passed in, in order, are name (required) and
16308       conn (optional).
16309
16310       name is the name of the package, as specified in the FORMULA.  conn  is
16311       the connection object returned from init().
16312
16313   unregister_file()
16314       Unregister  a  package  from  the  package  database. This usually only
16315       involves removing the package's record from the  database.  Nothing  is
16316       expected to be returned from this function.
16317
16318       The  arguments  that  are passed in, in order, are name (required), pkg
16319       (optional) and conn (optional).
16320
16321       name is the path of the file, as it was installed on the filesystem.
16322
16323       pkg is the name of the package that the file belongs to.
16324
16325       conn is the connection object returned from init().
16326
16327   db_exists()
16328       Check to see whether the package database already exists. This  is  the
16329       path  to  the  package database file. This function will return True or
16330       False.
16331
16332       The only argument that is expected is db_, which is the  package  data‐
16333       base file.
16334
16335   Package Files
16336       By  default,  package  files are installed using the local module. This
16337       module applies files to the local filesystem, on the machine  that  the
16338       package is installed on.
16339
16340       Modules   for   managing   the  package  database  are  stored  in  the
16341       salt/spm/pkgfiles/ directory. A number of functions must exist to  sup‐
16342       port file management.
16343
16344   init()
16345       Initialize  the  installation  location for the package files. Normally
16346       these will be directory paths, but other external destinations such  as
16347       databases  can  be  used.  For this reason, this function will return a
16348       connection object, which can be a  database  object.  However,  in  the
16349       default  local module, this object is a dict containing the paths. This
16350       object will be passed into all other functions.
16351
16352       Three directories are used for  the  destinations:  formula_path,  pil‐
16353       lar_path, and reactor_path.
16354
16355       formula_path  is  the  location  of  most  of  the  files  that will be
16356       installed.  The default is specific to the  operating  system,  but  is
16357       normally /srv/salt/.
16358
16359       pillar_path  is  the  location  that  the  pillar.example  file will be
16360       installed to.  The default is specific to the operating system, but  is
16361       normally /srv/pillar/.
16362
16363       reactor_path  is  the location that reactor files will be installed to.
16364       The default is specific  to  the  operating  system,  but  is  normally
16365       /srv/reactor/.
16366
16367   check_existing()
16368       Check the filesystem for existing files. All files for the package will
16369       be checked, and if any are existing, then this function  will  normally
16370       state that SPM will refuse to install the package.
16371
16372       This function returns a list of the files that exist on the system.
16373
16374       The arguments that are passed into this function are, in order: package
16375       (required), pkg_files (required), formula_def (formula_def),  and  conn
16376       (optional).
16377
16378       package is the name of the package that is to be installed.
16379
16380       pkg_files is a list of the files to be checked.
16381
16382       formula_def  is a copy of the information that is stored in the FORMULA
16383       file.
16384
16385       conn is the file connection object.
16386
16387   install_file()
16388       Install a single file to the destination (normally on the  filesystem).
16389       Nothing is expected to be returned from this function.
16390
16391       This  function  returns  the final location that the file was installed
16392       to.
16393
16394       The arguments that are passed into this function are, in order, package
16395       (required),  formula_tar  (required),  member  (required),  formula_def
16396       (required), and conn (optional).
16397
16398       package is the name of the package that is to be installed.
16399
16400       formula_tar is the tarfile object for the package. This is passed in so
16401       that the function can call formula_tar.extract() for the file.
16402
16403       member is the tarfile object which represents the individual file. This
16404       may  be  modified  as  necessary,  before  being   passed   into   for‐
16405       mula_tar.extract().
16406
16407       formula_def is a copy of the information from the FORMULA file.
16408
16409       conn is the file connection object.
16410
16411   remove_file()
16412       Remove  a  single  file  from file system. Normally this will be little
16413       more than an os.remove(). Nothing is expected to be returned from  this
16414       function.
16415
16416       The  arguments  that  are passed into this function are, in order, path
16417       (required) and conn (optional).
16418
16419       path is the absolute path to the file to be removed.
16420
16421       conn is the file connection object.
16422
16423   hash_file()
16424       Returns the hexdigest hash value of a file.
16425
16426       The arguments that are passed into this function are,  in  order,  path
16427       (required), hashobj (required), and conn (optional).
16428
16429       path is the absolute path to the file.
16430
16431       hashobj  is  a  reference  to hashlib.sha1(), which is used to pull the
16432       hexdigest() for the file.
16433
16434       conn is the file connection object.
16435
16436       This function will not generally be more complex than:
16437
16438          def hash_file(path, hashobj, conn=None):
16439              with salt.utils.files.fopen(path, 'r') as f:
16440                  hashobj.update(f.read())
16441                  return hashobj.hexdigest()
16442
16443   path_exists()
16444       Check to see whether the file already exists on the filesystem. Returns
16445       True or False.
16446
16447       This  function  expects  a path argument, which is the absolute path to
16448       the file to be checked.
16449
16450   path_isdir()
16451       Check to see whether the path specified is a directory. Returns True or
16452       False.
16453
16454       This function expects a path argument, which is the absolute path to be
16455       checked.
16456
16457   Storing Data in Other Databases
16458       The SDB interface is designed to store and retrieve data  that,  unlike
16459       pillars  and  grains,  is  not necessarily minion-specific. The initial
16460       design goal was to allow passwords to be stored in a  secure  database,
16461       such  as  one managed by the keyring package, rather than as plain-text
16462       files. However, as a generic database interface, it could  conceptually
16463       be used for a number of other purposes.
16464
16465       SDB was added to Salt in version 2014.7.0.
16466
16467   SDB Configuration
16468       In  order to use the SDB interface, a configuration profile must be set
16469       up.  To be available for master commands, such as runners, it needs  to
16470       be  configured  in  the master configuration. For modules executed on a
16471       minion, it can be set either in the minion configuration file, or as  a
16472       pillar.  The configuration stanza includes the name/ID that the profile
16473       will be referred to as, a driver setting, and any other arguments  that
16474       are  necessary  for  the  SDB module that will be used. For instance, a
16475       profile called mykeyring, which uses the system service in the  keyring
16476       module would look like:
16477
16478          mykeyring:
16479            driver: keyring
16480            service: system
16481
16482       It is recommended to keep the name of the profile simple, as it is used
16483       in the SDB URI as well.
16484
16485   SDB URIs
16486       SDB is designed to make small database queries (hence  the  name,  SDB)
16487       using  a  compact  URL. This allows users to reference a database value
16488       quickly inside a number of Salt configuration areas, without a  lot  of
16489       overhead. The basic format of an SDB URI is:
16490
16491          sdb://<profile>/<args>
16492
16493       The  profile  refers to the configuration profile defined in either the
16494       master or the minion configuration file. The args are specific  to  the
16495       module  referred  to  in  the  profile, but will typically only need to
16496       refer to the key of a key/value  pair  inside  the  database.  This  is
16497       because  the  profile  itself should define as many other parameters as
16498       possible.
16499
16500       For example, a profile might be set up to reference credentials  for  a
16501       specific OpenStack account. The profile might look like:
16502
16503          kevinopenstack:
16504            driver: keyring
16505            service: salt.cloud.openstack.kevin
16506
16507       And the URI used to reference the password might look like:
16508
16509          sdb://kevinopenstack/password
16510
16511   Getting, Setting and Deleting SDB Values
16512       Once  an SDB driver is configured, you can use the sdb execution module
16513       to get, set and delete values from it. There are two functions that may
16514       appear in most SDB modules: get, set and delete.
16515
16516       Getting  a value requires only the SDB URI to be specified. To retrieve
16517       a value from the kevinopenstack profile above, you would use:
16518
16519          salt-call sdb.get sdb://kevinopenstack/password
16520
16521       WARNING:
16522          The vault driver previously only supported splitting  the  path  and
16523          key with a question mark. This has since been deprecated in favor of
16524          using the standard / to split the path and key. The use of the ques‐
16525          tions  mark  will still be supported to ensure backwards compatibil‐
16526          ity, but please use the prefered method  using  /.   The  deprecated
16527          approach required the full path to where the key is stored, followed
16528          by a question mark, followed by the key to  be  retrieved.   If  you
16529          were  using a profile called myvault, you would use a URI that looks
16530          like:
16531
16532              salt-call sdb.get 'sdb://myvault/secret/salt?saltstack'
16533
16534          Instead of the above please use the prefered URI using / instead:
16535
16536              salt-call sdb.get 'sdb://myvault/secret/salt/saltstack'
16537
16538       Setting a value uses the same URI as would be used to retrieve it, fol‐
16539       lowed by the value as another argument.
16540
16541          salt-call sdb.set 'sdb://myvault/secret/salt/saltstack' 'super awesome'
16542
16543       Deleting  values  (if  supported by the driver) is done pretty much the
16544       same way as getting them. Provided that you have a profile called mykv‐
16545       store  that  uses a driver allowing to delete values you would delete a
16546       value as shown below:
16547
16548          salt-call sdb.delete 'sdb://mykvstore/foobar'
16549
16550       The sdb.get, sdb.set and sdb.delete functions are also available in the
16551       runner system:
16552
16553          salt-run sdb.get 'sdb://myvault/secret/salt/saltstack'
16554          salt-run sdb.set 'sdb://myvault/secret/salt/saltstack' 'super awesome'
16555          salt-run sdb.delete 'sdb://mykvstore/foobar'
16556
16557   Using SDB URIs in Files
16558       SDB  URIs  can  be used in both configuration files, and files that are
16559       processed by the renderer system (jinja, mako, etc.). In  a  configura‐
16560       tion file (such as /etc/salt/master, /etc/salt/minion, /etc/salt/cloud,
16561       etc.), make an entry as usual, and set the value to the  SDB  URI.  For
16562       instance:
16563
16564          mykey: sdb://myetcd/mykey
16565
16566       To  retrieve this value using a module, the module in question must use
16567       the config.get function to retrieve configuration  values.  This  would
16568       look something like:
16569
16570          mykey = __salt__['config.get']('mykey')
16571
16572       Templating  renderers  use  a similar construct. To get the mykey value
16573       from above in Jinja, you would use:
16574
16575          {{ salt['config.get']('mykey') }}
16576
16577       When retrieving data from configuration files using config.get, the SDB
16578       URI need only appear in the configuration file itself.
16579
16580       If  you  would like to retrieve a key directly from SDB, you would call
16581       the sdb.get function directly, using the  SDB  URI.  For  instance,  in
16582       Jinja:
16583
16584          {{ salt['sdb.get']('sdb://myetcd/mykey') }}
16585
16586       When  writing  Salt  modules,  it  is  not  recommended to call sdb.get
16587       directly, as it requires the user to provide values  in  SDB,  using  a
16588       specific URI. Use config.get instead.
16589
16590   Writing SDB Modules
16591       There  is  currently  one  function  that  MUST exist in any SDB module
16592       (get()), one  that  SHOULD  exist  (set_())  and  one  that  MAY  exist
16593       (delete()).  If  using a (set_()) function, a __func_alias__ dictionary
16594       MUST be declared in the module as well:
16595
16596          __func_alias__ = {
16597              'set_': 'set',
16598          }
16599
16600       This is because set is  a  Python  built-in,  and  therefore  functions
16601       should  not be created which are called set(). The __func_alias__ func‐
16602       tionality  is  provided  via  Salt's  loader  interfaces,  and   allows
16603       legally-named functions to be referred to using names that would other‐
16604       wise be unwise to use.
16605
16606       The get() function is required, as it will be called via  functions  in
16607       other  areas of the code which make use of the sdb:// URI. For example,
16608       the config.get function in the config execution module uses this  func‐
16609       tion.
16610
16611       The  set_()  function  may  be  provided,  but is not required, as some
16612       sources may be read-only, or may be otherwise unwise to  access  via  a
16613       URI (for instance, because of SQL injection attacks).
16614
16615       The  delete() function may be provided as well, but is not required, as
16616       many sources may be read-only or restrict such operations.
16617
16618       A simple example of an SDB module is salt/sdb/keyring_db.py, as it pro‐
16619       vides basic examples of most, if not all, of the types of functionality
16620       that are available not only for SDB modules, but for  Salt  modules  in
16621       general.
16622
16623   Running the Salt Master/Minion as an Unprivileged User
16624       While  the  default  setup runs the master and minion as the root user,
16625       some may consider it an extra measure of security to run the master  as
16626       a  non-root  user.  Keep in mind that doing so does not change the mas‐
16627       ter's capability to access minions as the user they are running as. Due
16628       to  this  many feel that running the master as a non-root user does not
16629       grant any real security advantage which is why the master has  remained
16630       as root by default.
16631
16632       NOTE:
16633          Some  of  Salt's operations cannot execute correctly when the master
16634          is not running as root, specifically the pam external  auth  system,
16635          as this system needs root access to check authentication.
16636
16637       As  of  Salt 0.9.10 it is possible to run Salt as a non-root user. This
16638       can be done by setting the user parameter in the  master  configuration
16639       file. and restarting the salt-master service.
16640
16641       The  minion has it's own user parameter as well, but running the minion
16642       as an unprivileged user will keep it from making changes to things like
16643       users, installed packages, etc. unless access controls (sudo, etc.) are
16644       setup on the minion to permit the non-root  user  to  make  the  needed
16645       changes.
16646
16647       In  order  to allow Salt to successfully run as a non-root user, owner‐
16648       ship, and permissions need to be set such that  the  desired  user  can
16649       read from and write to the following directories (and their subdirecto‐
16650       ries, where applicable):
16651
16652       · /etc/salt
16653
16654       · /var/cache/salt
16655
16656       · /var/log/salt
16657
16658       · /var/run/salt
16659
16660       Ownership can be easily changed with chown, like so:
16661
16662          # chown -R user /etc/salt /var/cache/salt /var/log/salt /var/run/salt
16663
16664       WARNING:
16665          Running either the master or  minion  with  the  root_dir  parameter
16666          specified  will  affect  these  paths,  as will setting options like
16667          pki_dir, cachedir, log_file, and other options that normally live in
16668          the above directories.
16669
16670   Using cron with Salt
16671       The Salt Minion can initiate its own highstate using the salt-call com‐
16672       mand.
16673
16674          $ salt-call state.apply
16675
16676       This will cause the minion to check in with the master and ensure it is
16677       in the correct "state".
16678
16679   Use cron to initiate a highstate
16680       If you would like the Salt Minion to regularly check in with the master
16681       you can use cron to run the salt-call command:
16682
16683          0 0 * * * salt-call state.apply
16684
16685       The above cron entry will run a highstate every day at midnight.
16686
16687       NOTE:
16688          When executing Salt using cron, keep in mind that the  default  PATH
16689          for  cron  may not include the path for any scripts or commands used
16690          by Salt, and it may be necessary to set the PATH accordingly in  the
16691          crontab:
16692
16693              PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin
16694
16695              0 0 * * * salt-call state.apply
16696
16697   Hardening Salt
16698       This  topic  contains  tips  you can use to secure and harden your Salt
16699       environment. How you best  secure  and  harden  your  Salt  environment
16700       depends  heavily on how you use Salt, where you use Salt, how your team
16701       is structured, where you get  data  from,  and  what  kinds  of  access
16702       (internal and external) you require.
16703
16704       WARNING:
16705          For  historical  reasons, Salt requires PyCrypto as a "lowest common
16706          denominator". However, PyCrypto is unmaintained and best practice is
16707          to  manually  upgrade  to  use  a  more  maintained  library such as
16708          PyCryptodome. See Issue #52674 and Issue #54115 for more info
16709
16710   General hardening tips
16711       · Restrict who can directly log into your Salt master system.
16712
16713       · Use SSH keys secured with a passphrase to gain  access  to  the  Salt
16714         master system.
16715
16716       · Track  and  secure  SSH  keys and any other login credentials you and
16717         your team need to gain access to the Salt master system.
16718
16719       · Use a hardened bastion server or a VPN to restrict direct  access  to
16720         the Salt master from the internet.
16721
16722       · Don't expose the Salt master any more than what is required.
16723
16724       · Harden the system as you would with any high-priority target.
16725
16726       · Keep the system patched and up-to-date.
16727
16728       · Use tight firewall rules.
16729
16730   Salt hardening tips
16731       · Subscribe  to  salt-users  or salt-announce so you know when new Salt
16732         releases are available. Keep your systems up-to-date with the  latest
16733         patches.
16734
16735       · Use  Salt's Client ACL system to avoid having to give out root access
16736         in order to run Salt commands.
16737
16738       · Use Salt's Client ACL system to restrict which  users  can  run  what
16739         commands.
16740
16741       · Use  external  Pillar to pull data into Salt from external sources so
16742         that non-sysadmins (other teams, junior admins, developers, etc)  can
16743         provide configuration data without needing access to the Salt master.
16744
16745       · Make  heavy  use  of  SLS  files  that  are version-controlled and go
16746         through a peer-review/code-review process before they're deployed and
16747         run  in  production.  This is good advice even for "one-off" CLI com‐
16748         mands because it helps mitigate typos and mistakes.
16749
16750       · Use salt-api, SSL, and restrict authentication with the external auth
16751         system if you need to expose your Salt master to external services.
16752
16753       · Make  use of Salt's event system and reactor to allow minions to sig‐
16754         nal the Salt master without requiring direct access.
16755
16756       · Run the salt-master daemon as non-root.
16757
16758       · Disable which modules are loaded onto minions with  the  disable_mod‐
16759         ules  setting. (for example, disable the cmd module if it makes sense
16760         in your environment.)
16761
16762       · Look through the fully-commented  sample  master  and  minion  config
16763         files. There are many options for securing an installation.
16764
16765       · Run  masterless-mode minions on particularly sensitive minions. There
16766         is also salt-ssh or the modules.sudo if you need to further  restrict
16767         a minion.
16768
16769   Security disclosure policy
16770       email  security@saltstack.com
16771
16772       gpg key ID
16773              4EA0793D
16774
16775       gpg key fingerprint
16776              8ABE 4EFC F0F4 B24B FF2A  AF90 D570 F2D3 4EA0 793D
16777
16778       gpg public key:
16779
16780          -----BEGIN PGP PUBLIC KEY BLOCK-----
16781
16782          mQINBFO15mMBEADa3CfQwk5ED9wAQ8fFDku277CegG3U1hVGdcxqKNvucblwoKCb
16783          hRK6u9ihgaO9V9duV2glwgjytiBI/z6lyWqdaD37YXG/gTL+9Md+qdSDeaOa/9eg
16784          7y+g4P+FvU9HWUlujRVlofUn5Dj/IZgUywbxwEybutuzvvFVTzsn+DFVwTH34Qoh
16785          QIuNzQCSEz3Lhh8zq9LqkNy91ZZQO1ZIUrypafspH6GBHHcE8msBFgYiNBnVcUFH
16786          u0r4j1Rav+621EtD5GZsOt05+NJI8pkaC/dDKjURcuiV6bhmeSpNzLaXUhwx6f29
16787          Vhag5JhVGGNQxlRTxNEM86HEFp+4zJQ8m/wRDrGX5IAHsdESdhP+ljDVlAAX/ttP
16788          /Ucl2fgpTnDKVHOA00E515Q87ZHv6awJ3GL1veqi8zfsLaag7rw1TuuHyGLOPkDt
16789          t5PAjsS9R3KI7pGnhqI6bTOi591odUdgzUhZChWUUX1VStiIDi2jCvyoOOLMOGS5
16790          AEYXuWYP7KgujZCDRaTNqRDdgPd93Mh9JI8UmkzXDUgijdzVpzPjYgFaWtyK8lsc
16791          Fizqe3/Yzf9RCVX/lmRbiEH+ql/zSxcWlBQd17PKaL+TisQFXcmQzccYgAxFbj2r
16792          QHp5ABEu9YjFme2Jzun7Mv9V4qo3JF5dmnUk31yupZeAOGZkirIsaWC3hwARAQAB
16793          tDBTYWx0U3RhY2sgU2VjdXJpdHkgVGVhbSA8c2VjdXJpdHlAc2FsdHN0YWNrLmNv
16794          bT6JAj4EEwECACgFAlO15mMCGwMFCQeGH4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
16795          AheAAAoJENVw8tNOoHk9z/MP/2vzY27fmVxU5X8joiiturjlgEqQw41IYEmWv1Bw
16796          4WVXYCHP1yu/1MC1uuvOmOd5BlI8YO2C2oyW7d1B0NorguPtz55b7jabCElekVCh
16797          h/H4ZVThiwqgPpthRv/2npXjIm7SLSs/kuaXo6Qy2JpszwDVFw+xCRVL0tH9KJxz
16798          HuNBeVq7abWD5fzIWkmGM9hicG/R2D0RIlco1Q0VNKy8klG+pOFOW886KnwkSPc7
16799          JUYp1oUlHsSlhTmkLEG54cyVzrTP/XuZuyMTdtyTc3mfgW0adneAL6MARtC5UB/h
16800          q+v9dqMf4iD3wY6ctu8KWE8Vo5MUEsNNO9EA2dUR88LwFZ3ZnnXdQkizgR/Aa515
16801          dm17vlNkSoomYCo84eN7GOTfxWcq+iXYSWcKWT4X+h/ra+LmNndQWQBRebVUtbKE
16802          ZDwKmiQz/5LY5EhlWcuU4lVmMSFpWXt5FR/PtzgTdZAo9QKkBjcv97LYbXvsPI69
16803          El1BLAg+m+1UpE1L7zJT1il6PqVyEFAWBxW46wXCCkGssFsvz2yRp0PDX8A6u4yq
16804          rTkt09uYht1is61joLDJ/kq3+6k8gJWkDOW+2NMrmf+/qcdYCMYXmrtOpg/wF27W
16805          GMNAkbdyzgeX/MbUBCGCMdzhevRuivOI5bu4vT5s3KdshG+yhzV45bapKRd5VN+1
16806          mZRqiQJVBBMBAgA/AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgBYhBIq+Tvzw
16807          9LJL/yqvkNVw8tNOoHk9BQJb0e5rBQkL3m8IAAoJENVw8tNOoHk9fzMP/ApQtkQD
16808          BmoYEBTF6BH1bywzDw5OHpnBSLbuoYtA3gkhnm/83MzFDcGn22pgo2Fv0MuHltWI
16809          G2oExzje7szmcM6Xg3ZTKapJ3/p2J+P33tkJA1LWpg+DdgdQlqrjlXKwEnikszuB
16810          9IMhbjoPeBzwiUtsBQmcwbVgwMzbscwoV5DJ/gLDCkgF4rp2uKEYAcBi8s9NGX6p
16811          zQsb9Sb0/bKdCrszAcvUn4WYB6WbAPttvutYHtg/nZfXEeX/SgBueXo3lO9vzFlO
16812          r3Zgk7WeucsEqa9Qo0VLOq28HykixM5mEJKsAQrNIqM1DqXgfDch8RJAHzgMBHFH
16813          Qi9hJXk1/6OA2FPXQGcA9Td5Dt0i1Z7wMrAUMj3s9gNMVCD0hQqEKfUtpyV7KBAj
16814          AO5j8Wr8KafnRm6czBCkcV0SRzHQSHdYyncozWwPgWOaRC9AY9fEDz8lBaSoB/C+
16815          dyO/xZMTWoaWqkHozVoHIrCc4CAtZTye/5mxFhq15Q1Iy/NjelrMTCD1kql1dNIP
16816          oOgfOYl1xLMQIBwrrCrgeRIvxEgKRf9KOLbSrS7+3vOKoxf+LD4AQfLci8dFyH+I
16817          t0Z43nk93yTOI82RTdz5GwUXIKcvGhsJ8bgNlGTxM1R/Sl8Sg8diE2PRAp/fk7+g
16818          CwOM8VkeyrDM2k1cy64d8USkbR7YtT3otyFQuQINBFO15mMBEAC5UuLii9ZLz6qH
16819          fIJp35IOW9U8SOf7QFhzXR7NZ3DmJsd3f6Nb/habQFIHjm3K9wbpj+FvaW2oWRlF
16820          VvYdzjUq6c82GUUjW1dnqgUvFwdmM8351n0YQ2TonmyaF882RvsRZrbJ65uvy7SQ
16821          xlouXaAYOdqwLsPxBEOyOnMPSktW5V2UIWyxsNP3sADchWIGq9p5D3Y/loyIMsS1
16822          dj+TjoQZOKSj7CuRT98+8yhGAY8YBEXu9r3I9o6mDkuPpAljuMc8r09Im6az2egt
16823          K/szKt4Hy1bpSSBZU4W/XR7XwQNywmb3wxjmYT6Od3Mwj0jtzc3gQiH8hcEy3+BO
16824          +NNmyzFVyIwOLziwjmEcw62S57wYKUVnHD2nglMsQa8Ve0e6ABBMEY7zGEGStva5
16825          9rfgeh0jUMJiccGiUDTMs0tdkC6knYKbu/fdRqNYFoNuDcSeLEw4DdCuP01l2W4y
16826          Y+fiK6hAcL25amjzc+yYo9eaaqTn6RATbzdhHQZdpAMxY+vNT0+NhP1Zo5gYBMR6
16827          5Zp/VhFsf67ijb03FUtdw9N8dHwiR2m8vVA8kO/gCD6wS2p9RdXqrJ9JhnHYWjiV
16828          uXR+f755ZAndyQfRtowMdQIoiXuJEXYw6XN+/BX81gJaynJYc0uw0MnxWQX+A5m8
16829          HqEsbIFUXBYXPgbwXTm7c4IHGgXXdwARAQABiQI8BBgBAgAmAhsMFiEEir5O/PD0
16830          skv/Kq+Q1XDy006geT0FAlvR7oMFCQvebyAACgkQ1XDy006geT2Hxw//Zha8j8Uc
16831          4B+DmHhZIvPmHp9aFI4DWhC7CBDrYKztBz42H6eX+UsBu4p+uBDKdW9xJH+Qt/zF
16832          nf/zB5Bhc/wFceVRCAkWxPdiIQeo5XQGjZeORjle7E9iunTko+5q1q9I7IgqWYrn
16833          jRmulDvRhO7AoUrqGACDrV6t0F1/XPB8seR2i6axFmFlt1qBHasRq11yksdgNYiD
16834          KXaovf7csDGPGOCWEKMX7BFGpdK/dWdNYfH0Arfom0U5TqNfvGtP4yRPx2bcs7/1
16835          VXPj7IqhBgOtA9pwtMjFki8HGkqj7bB2ErFBOnSwqqNnNcbnhiO6D74SHVGAHhKZ
16836          whaMPDg76EvjAezoLHg7KWYOyUkWJSLa+YoM9r4+PJuEuW/XuaZCNbrAhek+p3pD
16837          ywhElvZe/2UFk619qKzwSbTzk7a90rxLQ2wwtd0vxAW/GyjWl4/kOMZhI5+LAk1l
16838          REucE0fSQxzCTeXu2ObvFR9ic02IYGH3Koz8CrGReEI1J05041Y5IhKxdsvGOD2W
16839          e7ymcblYW4Gz8eYFlLeNJkj/38R7qmNZ028XHzAZDCAWDiTFrnCoglyk+U0JRHfg
16840          HTsdvoc8mBdT/s24LhnfAbpLizlrZZquuOF6NLQSkbuLtmIwf+h9ynEEJxEkGGWg
16841          7JqB1tMjNHLkRpveO/DTYB+iffpba1nCguk=
16842          =OgRY
16843          -----END PGP PUBLIC KEY BLOCK-----
16844
16845       The  SaltStack Security Team is available at security@saltstack.com for
16846       security-related bug reports or questions.
16847
16848       We request the disclosure of any security-related  bugs  or  issues  be
16849       reported  non-publicly until such time as the issue can be resolved and
16850       a security-fix release can be prepared. At that time  we  will  release
16851       the  fix  and  make a public announcement with upgrade instructions and
16852       download locations.
16853
16854   Security response procedure
16855       SaltStack takes security and the trust of our customers and users  very
16856       seriously. Our disclosure policy is intended to resolve security issues
16857       as quickly and safely as is possible.
16858
16859       1. A security report sent to security@saltstack.com is  assigned  to  a
16860          team  member.  This  person is the primary contact for questions and
16861          will coordinate the fix, release, and announcement.
16862
16863       2. The reported issue is reproduced and confirmed. A list  of  affected
16864          projects and releases is made.
16865
16866       3. Fixes  are  implemented  for all affected projects and releases that
16867          are actively supported. Back-ports of the fix are made  to  any  old
16868          releases that are actively supported.
16869
16870       4. Packagers  are  notified via the salt-packagers mailing list that an
16871          issue was reported and resolved, and that an announcement is  incom‐
16872          ing.
16873
16874       5. A  new  release  is created and pushed to all affected repositories.
16875          The release documentation provides a full description of the  issue,
16876          plus any upgrade instructions or other relevant details.
16877
16878       6. An  announcement is made to the salt-users and salt-announce mailing
16879          lists. The announcement contains a description of the  issue  and  a
16880          link to the full release documentation and download locations.
16881
16882   Receiving security announcements
16883       The  fastest  place  to  receive  security  announcements  is  via  the
16884       salt-announce mailing list. This list is low-traffic.
16885
16886   Salt Transport
16887       One of fundamental features of Salt is remote execution. Salt  has  two
16888       basic  "channels" for communicating with minions. Each channel requires
16889       a client (minion) and a server (master) implementation to  work  within
16890       Salt.  These pairs of channels will work together to implement the spe‐
16891       cific message passing required by the channel interface.
16892
16893   Pub Channel
16894       The pub channel, or publish channel, is how a master sends a job  (pay‐
16895       load) to a minion. This is a basic pub/sub paradigm, which has specific
16896       targeting semantics.  All data which goes  across  the  publish  system
16897       should  be  encrypted  such  that  only members of the Salt cluster can
16898       decrypt the publishes.
16899
16900   Req Channel
16901       The req channel is how the minions send data to the master. This inter‐
16902       face  is  primarily  used for fetching files and returning job returns.
16903       The req channels have two basic interfaces when talking to the  master.
16904       send  is  the  basic method that guarantees the message is encrypted at
16905       least so that only minions attached to the same master  can  read  it--
16906       but   no   guarantee  of  minion-master  confidentiality,  whereas  the
16907       crypted_transfer_decode_dictentry method does  guarantee  minion-master
16908       confidentiality.
16909
16910   Zeromq Transport
16911       NOTE:
16912          Zeromq is the current default transport within Salt
16913
16914       Zeromq is a messaging library with bindings into many languages. Zeromq
16915       implements a socket interface for message passing, with specific seman‐
16916       tics for the socket type.
16917
16918   Pub Channel
16919       The  pub  channel  is  implemented  using  zeromq's pub/sub sockets. By
16920       default we don't use zeromq's filtering, which means that  all  publish
16921       jobs are sent to all minions and filtered minion side. Zeromq does have
16922       publisher side filtering which can be enabled in salt using zmq_filter‐
16923       ing.
16924
16925   Req Channel
16926       The  req  channel  is implemented using zeromq's req/rep sockets. These
16927       sockets enforce a send/recv pattern, which  forces  salt  to  serialize
16928       messages  through  these  socket  pairs.  This  means that although the
16929       interface is asynchronous on the minion we cannot send a second message
16930       until we have received the reply of the first message.
16931
16932   TCP Transport
16933       The tcp transport is an implementation of Salt's channels using raw tcp
16934       sockets.  Since this isn't using a  pre-defined  messaging  library  we
16935       will  describe the wire protocol, message semantics, etc. in this docu‐
16936       ment.
16937
16938       The tcp transport is enabled by changing the transport setting  to  tcp
16939       on each Salt minion and Salt master.
16940
16941          transport: tcp
16942
16943       WARNING:
16944          We  currently recommend that when using Syndics that all Masters and
16945          Minions use the same transport. We're investigating a report  of  an
16946          error when using mixed transport types at very heavy loads.
16947
16948   Wire Protocol
16949       This implementation over TCP focuses on flexibility over absolute effi‐
16950       ciency.  This means we are okay to spend a  couple  of  bytes  of  wire
16951       space  for flexibility in the future. That being said, the wire framing
16952       is quite efficient and looks like:
16953
16954          msgpack({'head': SOMEHEADER, 'body': SOMEBODY})
16955
16956       Since msgpack is an iterably parsed serialization, we can simply  write
16957       the  serialized  payload  to  the wire. Within that payload we have two
16958       items "head" and "body".  Head contains  header  information  (such  as
16959       "message  id").  The Body contains the actual message that we are send‐
16960       ing. With this flexible wire protocol  we  can  implement  any  message
16961       semantics  that  we'd like-- including multiplexed message passing on a
16962       single socket.
16963
16964   TLS Support
16965       New in version 2016.11.1.
16966
16967
16968       The TCP transport allows for  the  master/minion  communication  to  be
16969       optionally  wrapped  in  a TLS connection. Enabling this is simple, the
16970       master and minion need to be using the tcp  connection,  then  the  ssl
16971       option  is  enabled. The ssl option is passed as a dict and corresponds
16972       to   the    options    passed    to    the    Python    ssl.wrap_socket
16973       <https://docs.python.org/2/library/ssl.html#ssl.wrap_socket> function.
16974
16975       A  simple  setup looks like this, on the Salt Master add the ssl option
16976       to the master configuration file:
16977
16978          ssl:
16979            keyfile: <path_to_keyfile>
16980            certfile: <path_to_certfile>
16981            ssl_version: PROTOCOL_TLSv1_2
16982
16983       The minimal ssl option in the  minion  configuration  file  looks  like
16984       this:
16985
16986          ssl: True
16987          # Versions below 2016.11.4:
16988          ssl: {}
16989
16990       Specific  options  can  be  sent  to the minion also, as defined in the
16991       Python ssl.wrap_socket function.
16992
16993       NOTE:
16994          While setting the ssl_version is not required, we recommend it. Some
16995          older  versions of python do not support the latest TLS protocol and
16996          if this is the case for your version of python we strongly recommend
16997          upgrading your version of Python.
16998
16999   Crypto
17000       The  current  implementation  uses the same crypto as the zeromq trans‐
17001       port.
17002
17003   Pub Channel
17004       For the pub channel we send messages without "message  ids"  which  the
17005       remote end interprets as a one-way send.
17006
17007       NOTE:
17008          As  of  today  we send all publishes to all minions and rely on min‐
17009          ion-side filtering.
17010
17011   Req Channel
17012       For the req channel we send messages with a "message id". This "message
17013       id" allows us to multiplex messages across the socket.
17014
17015   Master Tops System
17016       In  0.10.4  the external_nodes system was upgraded to allow for modular
17017       subsystems to be used to generate the top file data for a highstate run
17018       on the master.
17019
17020       The  old external_nodes option has been removed. The master tops system
17021       provides a pluggable and extendable replacement for  it,  allowing  for
17022       multiple different subsystems to provide top file data.
17023
17024       Using the new master_tops option is simple:
17025
17026          master_tops:
17027            ext_nodes: cobbler-external-nodes
17028
17029       for Cobbler or:
17030
17031          master_tops:
17032            reclass:
17033              inventory_base_uri: /etc/reclass
17034              classes_uri: roles
17035
17036       for Reclass.
17037
17038          master_tops:
17039            varstack: /path/to/the/config/file/varstack.yaml
17040
17041       for Varstack.
17042
17043       It's  also  possible to create custom master_tops modules. Simply place
17044       them  into  salt://_tops  in  the   Salt   fileserver   and   use   the
17045       saltutil.sync_tops  runner to sync them. If this runner function is not
17046       available, they can manually be placed into extmods/tops,  relative  to
17047       the   master   cachedir   (in   most   cases  the  full  path  will  be
17048       /var/cache/salt/master/extmods/tops).
17049
17050       Custom tops modules are written like any other  execution  module,  see
17051       the  source  for the two modules above for examples of fully functional
17052       ones. Below is a bare-bones example:
17053
17054       /etc/salt/master:
17055
17056          master_tops:
17057            customtop: True
17058
17059       customtop.py: (custom master_tops module)
17060
17061          import logging
17062          import sys
17063          # Define the module's virtual name
17064          __virtualname__ = 'customtop'
17065
17066          log = logging.getLogger(__name__)
17067
17068
17069          def __virtual__():
17070              return __virtualname__
17071
17072
17073          def top(**kwargs):
17074              log.debug('Calling top in customtop')
17075              return {'base': ['test']}
17076
17077       salt minion state.show_top should then display something like:
17078
17079          $ salt minion state.show_top
17080
17081          minion
17082              ----------
17083              base:
17084                - test
17085
17086       NOTE:
17087          If a master_tops module returns top file data for a given minion, it
17088          will  be added to the states configured in the top file. It will not
17089          replace it altogether. The 2018.3.0 release  adds  additional  func‐
17090          tionality  allowing  a  minion  to  treat  master_tops as the single
17091          source of truth, irrespective of the top file.
17092
17093   Returners
17094       By default the return values of the commands sent to the  Salt  minions
17095       are  returned  to  the Salt master, however anything at all can be done
17096       with the results data.
17097
17098       By using a Salt returner, results data can be  redirected  to  external
17099       data-stores for analysis and archival.
17100
17101       Returners  pull  their  configuration  values  from  the  Salt minions.
17102       Returners are only configured once, which is generally at load time.
17103
17104       The returner interface allows the return data to be sent to any  system
17105       that  can  receive  data.  This means that return data can be sent to a
17106       Redis server, a MongoDB server, a MySQL server, or any system.
17107
17108       SEE ALSO:
17109          Full list of builtin returners
17110
17111   Using Returners
17112       All Salt commands will return the command  data  back  to  the  master.
17113       Specifying  returners  will  ensure that the data is _also_ sent to the
17114       specified returner interfaces.
17115
17116       Specifying what returners to use is done when the command is invoked:
17117
17118          salt '*' test.version --return redis_return
17119
17120       This command will ensure that the redis_return returner is used.
17121
17122       It is also possible to specify multiple returners:
17123
17124          salt '*' test.version --return mongo_return,redis_return,cassandra_return
17125
17126       In this scenario all three returners will be called and the  data  from
17127       the test.version command will be sent out to the three named returners.
17128
17129   Writing a Returner
17130       Returners  are  Salt modules that allow the redirection of results data
17131       to targets other than the Salt Master.
17132
17133   Returners Are Easy To Write!
17134       Writing a Salt returner is straightforward.
17135
17136       A returner is a Python module containing at minimum  a  returner  func‐
17137       tion.  Other optional functions can be included to add support for mas‐
17138       ter_job_cache, external-job-cache, and Event Returners.
17139
17140       returner
17141              The returner function must accept a single argument.  The  argu‐
17142              ment  contains  return  data from the called minion function. If
17143              the minion function test.version is called,  the  value  of  the
17144              argument  will be a dictionary. Run the following command from a
17145              Salt master to get a sample of the dictionary:
17146
17147          salt-call --local --metadata test.version --out=pprint
17148
17149          import redis
17150          import salt.utils.json
17151
17152          def returner(ret):
17153              '''
17154              Return information to a redis server
17155              '''
17156              # Get a redis connection
17157              serv = redis.Redis(
17158                  host='redis-serv.example.com',
17159                  port=6379,
17160                  db='0')
17161              serv.sadd("%(id)s:jobs" % ret, ret['jid'])
17162              serv.set("%(jid)s:%(id)s" % ret, salt.utils.json.dumps(ret['return']))
17163              serv.sadd('jobs', ret['jid'])
17164              serv.sadd(ret['jid'], ret['id'])
17165
17166       The above example of a returner set to send the data to a Redis  server
17167       serializes the data as JSON and sets it in redis.
17168
17169   Using Custom Returner Modules
17170       Place custom returners in a _returners/ directory within the file_roots
17171       specified by the master config file.
17172
17173       Custom returners are distributed when any of the following are called:
17174
17175       · state.apply
17176
17177       · saltutil.sync_returners
17178
17179       · saltutil.sync_all
17180
17181       Any custom returners which have been synced to a minion that are  named
17182       the  same as one of Salt's default set of returners will take the place
17183       of the default returner with the same name.
17184
17185   Naming the Returner
17186       Note that a returner's  default  name  is  its  filename  (i.e.  foo.py
17187       becomes  returner  foo), but that its name can be overridden by using a
17188       __virtual__ function. A good example of this can be found in the  redis
17189       returner, which is named redis_return.py but is loaded as simply redis:
17190
17191          try:
17192              import redis
17193              HAS_REDIS = True
17194          except ImportError:
17195              HAS_REDIS = False
17196
17197          __virtualname__ = 'redis'
17198
17199          def __virtual__():
17200              if not HAS_REDIS:
17201                  return False
17202              return __virtualname__
17203
17204   Master Job Cache Support
17205       master_job_cache, external-job-cache, and Event Returners.  Salt's mas‐
17206       ter_job_cache allows returners to be used as  a  pluggable  replacement
17207       for the default_job_cache. In order to do so, a returner must implement
17208       the following functions:
17209
17210       NOTE:
17211          The code samples contained in this section were taken from the  cas‐
17212          sandra_cql returner.
17213
17214       prep_jid
17215              Ensures  that  job ids (jid) don't collide, unless passed_jid is
17216              provided.
17217
17218              nocache is an optional boolean that  indicates  if  return  data
17219              should  be  cached.  passed_jid  is  a caller provided jid which
17220              should be returned unconditionally.
17221
17222          def prep_jid(nocache, passed_jid=None):  # pylint: disable=unused-argument
17223              '''
17224              Do any work necessary to prepare a JID, including sending a custom id
17225              '''
17226              return passed_jid if passed_jid is not None else salt.utils.jid.gen_jid()
17227
17228       save_load
17229              Save job information.  The jid  is  generated  by  prep_jid  and
17230              should  be  considered a unique identifier for the job. The jid,
17231              for example, could be used as the primary/unique key in a  data‐
17232              base. The load is what is returned to a Salt master by a minion.
17233              minions is a list of minions that the job was run  against.  The
17234              following  code  example stores the load as a JSON string in the
17235              salt.jids table.
17236
17237          import salt.utils.json
17238
17239          def save_load(jid, load, minions=None):
17240              '''
17241              Save the load to the specified jid id
17242              '''
17243              query = '''INSERT INTO salt.jids (
17244                           jid, load
17245                         ) VALUES (
17246                           '{0}', '{1}'
17247                         );'''.format(jid, salt.utils.json.dumps(load))
17248
17249              # cassandra_cql.cql_query may raise a CommandExecutionError
17250              try:
17251                  __salt__['cassandra_cql.cql_query'](query)
17252              except CommandExecutionError:
17253                  log.critical('Could not save load in jids table.')
17254                  raise
17255              except Exception as e:
17256                  log.critical(
17257                      'Unexpected error while inserting into jids: {0}'.format(e)
17258                  )
17259                  raise
17260
17261       get_load
17262              must accept a job id (jid) and return the  job  load  stored  by
17263              save_load, or an empty dictionary when not found.
17264
17265          def get_load(jid):
17266              '''
17267              Return the load data that marks a specified jid
17268              '''
17269              query = '''SELECT load FROM salt.jids WHERE jid = '{0}';'''.format(jid)
17270
17271              ret = {}
17272
17273              # cassandra_cql.cql_query may raise a CommandExecutionError
17274              try:
17275                  data = __salt__['cassandra_cql.cql_query'](query)
17276                  if data:
17277                      load = data[0].get('load')
17278                      if load:
17279                          ret = json.loads(load)
17280              except CommandExecutionError:
17281                  log.critical('Could not get load from jids table.')
17282                  raise
17283              except Exception as e:
17284                  log.critical('''Unexpected error while getting load from
17285                   jids: {0}'''.format(str(e)))
17286                  raise
17287
17288              return ret
17289
17290   External Job Cache Support
17291       Salt's  external-job-cache  extends  the master_job_cache. External Job
17292       Cache support requires the following functions in addition to  what  is
17293       required for Master Job Cache support:
17294
17295       get_jid
17296              Return  a  dictionary containing the information (load) returned
17297              by each minion when the specified job id was executed.
17298
17299       Sample:
17300
17301          {
17302              "local": {
17303                  "master_minion": {
17304                      "fun_args": [],
17305                      "jid": "20150330121011408195",
17306                      "return": "2018.3.4",
17307                      "retcode": 0,
17308                      "success": true,
17309                      "cmd": "_return",
17310                      "_stamp": "2015-03-30T12:10:12.708663",
17311                      "fun": "test.version",
17312                      "id": "master_minion"
17313                  }
17314              }
17315          }
17316
17317       get_fun
17318              Return a dictionary of minions that called a given Salt function
17319              as their last function call.
17320
17321       Sample:
17322
17323          {
17324              "local": {
17325                  "minion1": "test.version",
17326                  "minion3": "test.version",
17327                  "minion2": "test.version"
17328              }
17329          }
17330
17331       get_jids
17332              Return a list of all job ids.
17333
17334       Sample:
17335
17336          {
17337              "local": [
17338                  "20150330121011408195",
17339                  "20150330195922139916"
17340              ]
17341          }
17342
17343       get_minions
17344              Returns a list of minions
17345
17346       Sample:
17347
17348          {
17349               "local": [
17350                   "minion3",
17351                   "minion2",
17352                   "minion1",
17353                   "master_minion"
17354               ]
17355          }
17356
17357       Please refer to one or more of the existing returners (i.e. mysql, cas‐
17358       sandra_cql) if you need further clarification.
17359
17360   Event Support
17361       An event_return function must be added to the returner module to  allow
17362       events  to  be  logged from a master via the returner. A list of events
17363       are passed to the function by the master.
17364
17365       The following example was taken from the MySQL returner. In this  exam‐
17366       ple,  each  event  is  inserted into the salt_events table keyed on the
17367       event tag. The tag contains the jid and therefore is guaranteed  to  be
17368       unique.
17369
17370          import salt.utils.json
17371
17372          def event_return(events):
17373           '''
17374           Return event to mysql server
17375
17376           Requires that configuration be enabled via 'event_return'
17377           option in master config.
17378           '''
17379           with _get_serv(events, commit=True) as cur:
17380               for event in events:
17381                   tag = event.get('tag', '')
17382                   data = event.get('data', '')
17383                   sql = '''INSERT INTO `salt_events` (`tag`, `data`, `master_id` )
17384                            VALUES (%s, %s, %s)'''
17385                   cur.execute(sql, (tag, salt.utils.json.dumps(data), __opts__['id']))
17386
17387   Testing the Returner
17388       The returner, prep_jid, save_load, get_load, and event_return functions
17389       can be tested by configuring the master_job_cache and  Event  Returners
17390       in  the  master  config  file and submitting a job to test.version each
17391       minion from the master.
17392
17393       Once you have successfully exercised the Master  Job  Cache  functions,
17394       test the External Job Cache functions using the ret execution module.
17395
17396          salt-call ret.get_jids cassandra_cql --output=json
17397          salt-call ret.get_fun cassandra_cql test.version --output=json
17398          salt-call ret.get_minions cassandra_cql --output=json
17399          salt-call ret.get_jid cassandra_cql 20150330121011408195 --output=json
17400
17401   Event Returners
17402       For  maximum visibility into the history of events across a Salt infra‐
17403       structure, all events seen by a salt master may be  logged  to  one  or
17404       more returners.
17405
17406       To  enable  event logging, set the event_return configuration option in
17407       the master config to the returner(s) which should be designated as  the
17408       handler for event returns.
17409
17410       NOTE:
17411          Not  all  returners  support event returns. Verify a returner has an
17412          event_return() function before using.
17413
17414       NOTE:
17415          On larger installations, many hundreds of events may be generated on
17416          a  busy master every second. Be certain to closely monitor the stor‐
17417          age of a given returner as Salt can easily overwhelm an underpowered
17418          server with thousands of returns.
17419
17420   Full List of Returners
17421   returner modules
17422                 ────────────────────────────────────────────────────
17423                  carbon_return          Take  data  from  salt and
17424                                         "return" it into a  carbon
17425                                         receiver
17426                 ────────────────────────────────────────────────────
17427                  cassandra_cql_return   Return data to a cassandra
17428                                         server
17429                 ────────────────────────────────────────────────────
17430                  cassandra_return       Return data to a Cassandra
17431                                         ColumnFamily
17432                 ────────────────────────────────────────────────────
17433                  couchbase_return       Simple returner for Couch‐
17434                                         base.
17435                 ────────────────────────────────────────────────────
17436                  couchdb_return         Simple    returner     for
17437                                         CouchDB.
17438                 ────────────────────────────────────────────────────
17439                  django_return          A   returner   that   will
17440                                         inform  a  Django   system
17441                                         that returns are available
17442                                         using Django's signal sys‐
17443                                         tem.
17444                 ────────────────────────────────────────────────────
17445                  elasticsearch_return   Return data to an elastic‐
17446                                         search server  for  index‐
17447                                         ing.
17448                 ────────────────────────────────────────────────────
17449                  etcd_return            Return  data  to  an  etcd
17450                                         server or cluster
17451                 ────────────────────────────────────────────────────
17452                  highstate_return       Return the  results  of  a
17453                                         highstate  (or  any  other
17454                                         state    function     that
17455                                         returns data in a compati‐
17456                                         ble format)  via  an  HTML
17457                                         email or HTML file.
17458                 ────────────────────────────────────────────────────
17459                  influxdb_return        Return data to an influxdb
17460                                         server.
17461                 ────────────────────────────────────────────────────
17462                  kafka_return           Return  data  to  a  Kafka
17463                                         topic
17464                 ────────────────────────────────────────────────────
17465                  librato_return         Salt  returner  to  return
17466                                         highstate stats to Librato
17467                 ────────────────────────────────────────────────────
17468                  local                  The local returner is used
17469                                         to   test   the   returner
17470                                         interface, it just  prints
17471                                         the  return  data  to  the
17472                                         console to verify that  it
17473                                         is being passed properly
17474                 ────────────────────────────────────────────────────
17475                  local_cache            Return  data  to local job
17476                                         cache
17477                 ────────────────────────────────────────────────────
17478                  mattermost_returner    Return salt data via  mat‐
17479                                         termost
17480                 ────────────────────────────────────────────────────
17481                  memcache_return        Return  data to a memcache
17482                                         server
17483                 ────────────────────────────────────────────────────
17484                  mongo_future_return    Return data to  a  mongodb
17485                                         server
17486                 ────────────────────────────────────────────────────
17487                  mongo_return           Return  data  to a mongodb
17488                                         server
17489                 ────────────────────────────────────────────────────
17490                  multi_returner         Read/Write        multiple
17491                                         returners
17492                 ────────────────────────────────────────────────────
17493                  mysql                  Return  data  to  a  mysql
17494                                         server
17495                 ────────────────────────────────────────────────────
17496                  nagios_nrdp_return     Return salt data to Nagios
17497                 ────────────────────────────────────────────────────
17498                  odbc                   Return  data  to  an  ODBC
17499                                         compliant server.
17500                 ────────────────────────────────────────────────────
17501                  pgjsonb                Return  data  to  a  Post‐
17502                                         greSQL  server  with  json
17503                                         data  stored in Pg's jsonb
17504                                         data type
17505                 ────────────────────────────────────────────────────
17506                  postgres               Return  data  to  a  post‐
17507                                         gresql server
17508                 ────────────────────────────────────────────────────
17509                  postgres_local_cache   Use  a  postgresql  server
17510                                         for the master job cache.
17511                 ────────────────────────────────────────────────────
17512                  pushover_returner      Return   salt   data   via
17513                                         pushover                (‐
17514                                         http://www.pushover.net)
17515                 ────────────────────────────────────────────────────
17516                  rawfile_json           Take data  from  salt  and
17517                                         "return"  it  into  a  raw
17518                                         file containing the  json,
17519                                         with one line per event.
17520                 ┌─────────────────────┬────────────────────────────┐
17521                 │                     │                            │
17522                 │                     │                            │
17523
17524redis_return         │ Return  data  to  a  redis │
17525                 │                     │ server                     │
17526                 ├─────────────────────┼────────────────────────────┤
17527sentry_return        │ Salt returner that reports │
17528                 │                     │ execution  results back to │
17529                 │                     │ sentry.                    │
17530                 ├─────────────────────┼────────────────────────────┤
17531slack_returner       │ Return salt data via slack │
17532                 ├─────────────────────┼────────────────────────────┤
17533sms_return           │ Return data by SMS.        │
17534                 ├─────────────────────┼────────────────────────────┤
17535smtp_return          │ Return salt data via email │
17536                 ├─────────────────────┼────────────────────────────┤
17537splunk               │ Send json response data to │
17538                 │                     │ Splunk  via the HTTP Event │
17539                 │                     │ Collector   Requires   the │
17540                 │                     │ following config values to │
17541                 │                     │ be specified in config  or │
17542                 │                     │ pillar:                    │
17543                 ├─────────────────────┼────────────────────────────┤
17544sqlite3_return       │ Insert  minion return data │
17545                 │                     │ into a sqlite3 database    │
17546                 ├─────────────────────┼────────────────────────────┤
17547syslog_return        │ Return data  to  the  host │
17548                 │                     │ operating  system's syslog │
17549                 │                     │ facility                   │
17550                 ├─────────────────────┼────────────────────────────┤
17551telegram_return      │ Return salt data via Tele‐ │
17552                 │                     │ gram.                      │
17553                 ├─────────────────────┼────────────────────────────┤
17554xmpp_return          │ Return salt data via xmpp  │
17555                 ├─────────────────────┼────────────────────────────┤
17556zabbix_return        │ Return salt data to Zabbix │
17557                 └─────────────────────┴────────────────────────────┘
17558
17559   salt.returners.carbon_return
17560       Take data from salt and "return" it into a carbon receiver
17561
17562       Add the following configuration to the minion configuration file:
17563
17564          carbon.host: <server ip address>
17565          carbon.port: 2003
17566
17567       Errors when trying to convert data to numbers may be ignored by setting
17568       carbon.skip_on_error to True:
17569
17570          carbon.skip_on_error: True
17571
17572       By default, data will be sent to carbon using the  plaintext  protocol.
17573       To use the pickle protocol, set carbon.mode to pickle:
17574
17575          carbon.mode: pickle
17576
17577       You  can also specify the pattern used for the metric base path (except
17578       for virt modules metrics):
17579              carbon.metric_base_pattern:   carbon.[minion_id].[module].[func‐
17580              tion]
17581
17582       These tokens can used :
17583              [module]:  salt  module  [function]:  salt function [minion_id]:
17584              minion id
17585
17586       Default is :
17587              carbon.metric_base_pattern: [module].[function].[minion_id]
17588
17589       Carbon settings may also be configured as:
17590
17591          carbon:
17592            host: <server IP or hostname>
17593            port: <carbon port>
17594            skip_on_error: True
17595            mode: (pickle|text)
17596            metric_base_pattern: <pattern> | [module].[function].[minion_id]
17597
17598       Alternative configuration values can be used by prefacing the  configu‐
17599       ration.   Any values not found in the alternative configuration will be
17600       pulled from the default location:
17601
17602          alternative.carbon:
17603            host: <server IP or hostname>
17604            port: <carbon port>
17605            skip_on_error: True
17606            mode: (pickle|text)
17607
17608       To use the carbon returner, append '--return carbon' to the  salt  com‐
17609       mand.
17610
17611          salt '*' test.ping --return carbon
17612
17613       To  use the alternative configuration, append '--return_config alterna‐
17614       tive' to the salt command.
17615
17616       New in version 2015.5.0.
17617
17618
17619          salt '*' test.ping --return carbon --return_config alternative
17620
17621       To override  individual  configuration  items,  append  --return_kwargs
17622       '{"key:": "value"}' to the salt command.
17623
17624       New in version 2016.3.0.
17625
17626
17627          salt '*' test.ping --return carbon --return_kwargs '{"skip_on_error": False}'
17628
17629       salt.returners.carbon_return.event_return(events)
17630              Return event data to remote carbon server
17631
17632              Provide a list of events to be stored in carbon
17633
17634       salt.returners.carbon_return.prep_jid(nocache=False, passed_jid=None)
17635              Do any work necessary to prepare a JID, including sending a cus‐
17636              tom id
17637
17638       salt.returners.carbon_return.returner(ret)
17639              Return data to a remote carbon server using the text metric pro‐
17640              tocol
17641
17642              Each metric will look like:
17643
17644                 [module].[function].[minion_id].[metric path [...]].[metric name]
17645
17646   salt.returners.cassandra_cql_return
17647       Return data to a cassandra server
17648
17649       New in version 2015.5.0.
17650
17651
17652       maintainer
17653              Corin Kochenower<ckochenower@saltstack.com>
17654
17655       maturity
17656              new as of 2015.2
17657
17658       depends
17659              salt.modules.cassandra_cql
17660
17661       depends
17662              DataStax      Python     Driver     for     Apache     Cassandra
17663              https://github.com/datastax/python-driver  pip  install  cassan‐
17664              dra-driver
17665
17666       platform
17667              all
17668
17669       configuration
17670              To  enable  this  returner,  the  minion  will need the DataStax
17671              Python      Driver      for       Apache       Cassandra       (
17672              https://github.com/datastax/python-driver  )  installed  and the
17673              following values configured in the minion or master config.  The
17674              list  of cluster IPs must include at least one cassandra node IP
17675              address. No assumption or default will be used for  the  cluster
17676              IPs.   The  cluster  IPs  will be tried in the order listed. The
17677              port, username, and password values  shown  below  will  be  the
17678              assumed defaults if you do not provide values.:
17679
17680                 cassandra:
17681                   cluster:
17682                     - 192.168.50.11
17683                     - 192.168.50.12
17684                     - 192.168.50.13
17685                   port: 9042
17686                   username: salt
17687                   password: salt
17688
17689              Use the following cassandra database schema:
17690
17691                 CREATE KEYSPACE IF NOT EXISTS salt
17692                     WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1};
17693
17694                 CREATE USER IF NOT EXISTS salt WITH PASSWORD 'salt' NOSUPERUSER;
17695
17696                 GRANT ALL ON KEYSPACE salt TO salt;
17697
17698                 USE salt;
17699
17700                 CREATE TABLE IF NOT EXISTS salt.salt_returns (
17701                     jid text,
17702                     minion_id text,
17703                     fun text,
17704                     alter_time timestamp,
17705                     full_ret text,
17706                     return text,
17707                     success boolean,
17708                     PRIMARY KEY (jid, minion_id, fun)
17709                 ) WITH CLUSTERING ORDER BY (minion_id ASC, fun ASC);
17710                 CREATE INDEX IF NOT EXISTS salt_returns_minion_id ON salt.salt_returns (minion_id);
17711                 CREATE INDEX IF NOT EXISTS salt_returns_fun ON salt.salt_returns (fun);
17712
17713                 CREATE TABLE IF NOT EXISTS salt.jids (
17714                     jid text PRIMARY KEY,
17715                     load text
17716                 );
17717
17718                 CREATE TABLE IF NOT EXISTS salt.minions (
17719                     minion_id text PRIMARY KEY,
17720                     last_fun text
17721                 );
17722                 CREATE INDEX IF NOT EXISTS minions_last_fun ON salt.minions (last_fun);
17723
17724                 CREATE TABLE IF NOT EXISTS salt.salt_events (
17725                     id timeuuid,
17726                     tag text,
17727                     alter_time timestamp,
17728                     data text,
17729                     master_id text,
17730                     PRIMARY KEY (id, tag)
17731                 ) WITH CLUSTERING ORDER BY (tag ASC);
17732                 CREATE INDEX tag ON salt.salt_events (tag);
17733
17734       Required python modules: cassandra-driver
17735
17736       To  use  the cassandra returner, append '--return cassandra_cql' to the
17737       salt command. ex:
17738
17739          salt '*' test.ping --return_cql cassandra
17740
17741       Note: if your Cassandra instance has not been tuned much you may  bene‐
17742       fit from altering some timeouts in cassandra.yaml like so:
17743
17744          # How long the coordinator should wait for read operations to complete
17745          read_request_timeout_in_ms: 5000
17746          # How long the coordinator should wait for seq or index scans to complete
17747          range_request_timeout_in_ms: 20000
17748          # How long the coordinator should wait for writes to complete
17749          write_request_timeout_in_ms: 20000
17750          # How long the coordinator should wait for counter writes to complete
17751          counter_write_request_timeout_in_ms: 10000
17752          # How long a coordinator should continue to retry a CAS operation
17753          # that contends with other proposals for the same row
17754          cas_contention_timeout_in_ms: 5000
17755          # How long the coordinator should wait for truncates to complete
17756          # (This can be much longer, because unless auto_snapshot is disabled
17757          # we need to flush first so we can snapshot before removing the data.)
17758          truncate_request_timeout_in_ms: 60000
17759          # The default timeout for other, miscellaneous operations
17760          request_timeout_in_ms: 20000
17761
17762       As  always,  your  mileage may vary and your Cassandra cluster may have
17763       different needs.  SaltStack has seen situations  where  these  timeouts
17764       can  resolve  some  stacktraces  that  appear to come from the Datastax
17765       Python driver.
17766
17767       salt.returners.cassandra_cql_return.event_return(events)
17768              Return event to one  of  potentially  many  clustered  cassandra
17769              nodes
17770
17771              Requires that configuration be enabled via 'event_return' option
17772              in master config.
17773
17774              Cassandra does not support an auto-increment feature due to  the
17775              highly inefficient nature of creating a monotonically increasing
17776              number across all nodes in a distributed  database.  Each  event
17777              will be assigned a uuid by the connecting client.
17778
17779       salt.returners.cassandra_cql_return.get_fun(fun)
17780              Return a dict of the last function called for all minions
17781
17782       salt.returners.cassandra_cql_return.get_jid(jid)
17783              Return  the  information  returned when the specified job id was
17784              executed
17785
17786       salt.returners.cassandra_cql_return.get_jids()
17787              Return a list of all job ids
17788
17789       salt.returners.cassandra_cql_return.get_load(jid)
17790              Return the load data that marks a specified jid
17791
17792       salt.returners.cassandra_cql_return.get_minions()
17793              Return a list of minions
17794
17795       salt.returners.cassandra_cql_return.prep_jid(nocache, passed_jid=None)
17796              Do any work necessary to prepare a JID, including sending a cus‐
17797              tom id
17798
17799       salt.returners.cassandra_cql_return.returner(ret)
17800              Return data to one of potentially many clustered cassandra nodes
17801
17802       salt.returners.cassandra_cql_return.save_load(jid, load, minions=None)
17803              Save the load to the specified jid id
17804
17805   salt.returners.cassandra_return
17806       Return data to a Cassandra ColumnFamily
17807
17808       Here's  an  example  Keyspace / ColumnFamily setup that works with this
17809       returner:
17810
17811          create keyspace salt;
17812          use salt;
17813          create column family returns
17814            with key_validation_class='UTF8Type'
17815            and comparator='UTF8Type'
17816            and default_validation_class='UTF8Type';
17817
17818       Required python modules: pycassa
17819          To use the cassandra returner, append '--return  cassandra'  to  the
17820          salt command. ex:
17821              salt '*' test.ping --return cassandra
17822
17823       salt.returners.cassandra_return.prep_jid(nocache=False,
17824       passed_jid=None)
17825              Do any work necessary to prepare a JID, including sending a cus‐
17826              tom id
17827
17828       salt.returners.cassandra_return.returner(ret)
17829              Return data to a Cassandra ColumnFamily
17830
17831   salt.returners.couchbase_return
17832       Simple  returner  for  Couchbase.  Optional  configuration settings are
17833       listed below, along with sane defaults.
17834
17835          couchbase.host:   'salt'
17836          couchbase.port:   8091
17837          couchbase.bucket: 'salt'
17838          couchbase.ttl: 24
17839          couchbase.password: 'password'
17840          couchbase.skip_verify_views: False
17841
17842       To use the couchbase returner, append '--return couchbase' to the  salt
17843       command. ex:
17844
17845          salt '*' test.ping --return couchbase
17846
17847       To  use the alternative configuration, append '--return_config alterna‐
17848       tive' to the salt command.
17849
17850       New in version 2015.5.0.
17851
17852
17853          salt '*' test.ping --return couchbase --return_config alternative
17854
17855       To override  individual  configuration  items,  append  --return_kwargs
17856       '{"key:": "value"}' to the salt command.
17857
17858       New in version 2016.3.0.
17859
17860
17861          salt '*' test.ping --return couchbase --return_kwargs '{"bucket": "another-salt"}'
17862
17863       All of the return data will be stored in documents as follows:
17864
17865   JID
17866       load: load obj tgt_minions: list of minions targeted nocache: should we
17867       not cache the return data
17868
17869   JID/MINION_ID
17870       return: return_data full_ret: full load of job return
17871
17872       salt.returners.couchbase_return.get_jid(jid)
17873              Return the information returned when the specified  job  id  was
17874              executed
17875
17876       salt.returners.couchbase_return.get_jids()
17877              Return a list of all job ids
17878
17879       salt.returners.couchbase_return.get_load(jid)
17880              Return the load data that marks a specified jid
17881
17882       salt.returners.couchbase_return.prep_jid(nocache=False,
17883       passed_jid=None)
17884              Return a job id and prepare the job id  directory  This  is  the
17885              function  responsible for making sure jids don't collide (unless
17886              its passed a jid) So do what you have to do to  make  sure  that
17887              stays the case
17888
17889       salt.returners.couchbase_return.returner(load)
17890              Return data to couchbase bucket
17891
17892       salt.returners.couchbase_return.save_load(jid, clear_load, minion=None)
17893              Save the load to the specified jid
17894
17895       salt.returners.couchbase_return.save_minions(jid,     minions,     syn‐
17896       dic_id=None)
17897              Save/update the minion list for a given jid. The syndic_id argu‐
17898              ment is included for API compatibility only.
17899
17900   salt.returners.couchdb_return
17901       Simple returner for CouchDB. Optional configuration settings are listed
17902       below, along with sane defaults:
17903
17904          couchdb.db: 'salt'
17905          couchdb.url: 'http://salt:5984/'
17906
17907       Alternative configuration values can be used by prefacing the  configu‐
17908       ration.   Any values not found in the alternative configuration will be
17909       pulled from the default location:
17910
17911          alternative.couchdb.db: 'salt'
17912          alternative.couchdb.url: 'http://salt:5984/'
17913
17914       To use the couchdb returner, append --return couchdb to the  salt  com‐
17915       mand. Example:
17916
17917          salt '*' test.ping --return couchdb
17918
17919       To  use  the alternative configuration, append --return_config alterna‐
17920       tive to the salt command.
17921
17922       New in version 2015.5.0.
17923
17924
17925          salt '*' test.ping --return couchdb --return_config alternative
17926
17927       To override  individual  configuration  items,  append  --return_kwargs
17928       '{"key:": "value"}' to the salt command.
17929
17930       New in version 2016.3.0.
17931
17932
17933          salt '*' test.ping --return couchdb --return_kwargs '{"db": "another-salt"}'
17934
17935   On concurrent database access
17936       As  this  returner  creates  a couchdb document with the salt job id as
17937       document id and as only one document with a given id  can  exist  in  a
17938       given couchdb database, it is advised for most setups that every minion
17939       be configured to write to it own database (the value of couchdb.db  may
17940       be  suffixed  with the minion id), otherwise multi-minion targeting can
17941       lead to losing output:
17942
17943       · the first returning minion is able to create a document in the  data‐
17944         base
17945
17946       · other minions fail with {'error': 'HTTP Error 409: Conflict'}
17947
17948       salt.returners.couchdb_return.ensure_views()
17949              This function makes sure that all the views that should exist in
17950              the design document do exist.
17951
17952       salt.returners.couchdb_return.get_fun(fun)
17953              Return a dict with key being minion  and  value  being  the  job
17954              details of the last run of function 'fun'.
17955
17956       salt.returners.couchdb_return.get_jid(jid)
17957              Get the document with a given JID.
17958
17959       salt.returners.couchdb_return.get_jids()
17960              List all the jobs that we have..
17961
17962       salt.returners.couchdb_return.get_minions()
17963              Return a list of minion identifiers from a request of the view.
17964
17965       salt.returners.couchdb_return.get_valid_salt_views()
17966              Returns  a  dict object of views that should be part of the salt
17967              design document.
17968
17969       salt.returners.couchdb_return.prep_jid(nocache=False, passed_jid=None)
17970              Do any work necessary to prepare a JID, including sending a cus‐
17971              tom id
17972
17973       salt.returners.couchdb_return.returner(ret)
17974              Take in the return and shove it into the couchdb database.
17975
17976       salt.returners.couchdb_return.set_salt_view()
17977              Helper  function  that  sets  the  salt  design  document.  Uses
17978              get_valid_salt_views and some hardcoded values.
17979
17980   salt.returners.django_return
17981       A returner that will inform a Django system that returns are  available
17982       using Django's signal system.
17983
17984       https://docs.djangoproject.com/en/dev/topics/signals/
17985
17986       It  is  up  to the Django developer to register necessary handlers with
17987       the signals provided by this returner and process returns as necessary.
17988
17989       The easiest way to use signals is to import  them  from  this  returner
17990       directly and then use a decorator to register them.
17991
17992       An   example   Django   module   that   registers   a  function  called
17993       'returner_callback' with this module's 'returner' function:
17994
17995          import salt.returners.django_return
17996          from django.dispatch import receiver
17997
17998          @receiver(salt.returners.django_return, sender=returner)
17999          def returner_callback(sender, ret):
18000              print('I received {0} from {1}'.format(ret, sender))
18001
18002       salt.returners.django_return.prep_jid(nocache=False, passed_jid=None)
18003              Do any work necessary to prepare a JID, including sending a cus‐
18004              tom ID
18005
18006       salt.returners.django_return.returner(ret)
18007              Signal a Django server that a return is available
18008
18009       salt.returners.django_return.save_load(jid, load, minions=None)
18010              Save the load to the specified jid
18011
18012   salt.returners.elasticsearch_return
18013       Return data to an elasticsearch server for indexing.
18014
18015       maintainer
18016              Jurnell Cockhren <jurnell.cockhren@sophicware.com>, Arnold Bech‐
18017              toldt <mail@arnoldbechtoldt.com>
18018
18019       maturity
18020              New
18021
18022       depends
18023              elasticsearch-py
18024
18025       platform
18026              all
18027
18028       To enable  this  returner  the  elasticsearch  python  client  must  be
18029       installed on the desired minions (all or some subset).
18030
18031       Please  see documentation of elasticsearch execution module for a valid
18032       connection configuration.
18033
18034       WARNING:
18035          The index that you wish to store documents will be created by  Elas‐
18036          ticsearch  automatically  if  doesn't exist yet. It is highly recom‐
18037          mended to create predefined index templates  with  appropriate  map‐
18038          ping(s) that will be used by Elasticsearch upon index creation. Oth‐
18039          erwise you will have problems as described in #20826.
18040
18041       To use the returner per salt call:
18042
18043          salt '*' test.ping --return elasticsearch
18044
18045       In order to have the returner apply to all minions:
18046
18047          ext_job_cache: elasticsearch
18048
18049       Minion configuration:
18050
18051              debug_returner_payload': False
18052                     Output the payload being posted to the log file in  debug
18053                     mode
18054
18055              doc_type: 'default'
18056                     Document type to use for normal return messages
18057
18058              functions_blacklist
18059                     Optional list of functions that should not be returned to
18060                     elasticsearch
18061
18062              index_date: False
18063                     Use a dated index (e.g. <index>-2016.11.29)
18064
18065              master_event_index: 'salt-master-event-cache'
18066                     Index to use when returning master events
18067
18068              master_event_doc_type: 'efault'
18069                     Document type to use got master events
18070
18071              master_job_cache_index: 'salt-master-job-cache'
18072                     Index to use for master job cache
18073
18074              master_job_cache_doc_type: 'default'
18075                     Document type to use for master job cache
18076
18077              number_of_shards: 1
18078                     Number of shards to use for the indexes
18079
18080              number_of_replicas: 0
18081                     Number of replicas to use for the indexes
18082
18083              NOTE:  The  following  options  are  valid  for   'state.apply',
18084              'state.sls' and 'state.highstate' functions only.
18085
18086              states_count: False
18087                     Count  the number of states which succeeded or failed and
18088                     return it in  top-level  item  called  'counts'.   States
18089                     reporting  None (i.e. changes would be made but it ran in
18090                     test mode) are counted as successes.
18091
18092              states_order_output: False
18093                     Prefix   the   state   UID    (e.g.    file_|-yum_config‐
18094                     ured_|-/etc/yum.conf_|-managed)  with  a zero-padded ver‐
18095                     sion of the '__run_num__' value to allow for easier sort‐
18096                     ing.  Also  store  the state function (i.e. file.managed)
18097                     into  a  new  key  '_func'.  Change  the  index   to   be
18098                     '<index>-ordered' (e.g. salt-state_apply-ordered).
18099
18100              states_single_index: False
18101                     Store  results for state.apply, state.sls and state.high‐
18102                     state in the salt-state_apply index (or -ordered/-<date>)
18103                     indexes if enabled
18104
18105          elasticsearch:
18106              hosts:
18107                - "10.10.10.10:9200"
18108                - "10.10.10.11:9200"
18109                - "10.10.10.12:9200"
18110              index_date: True
18111              number_of_shards: 5
18112              number_of_replicas: 1
18113              debug_returner_payload: True
18114              states_count: True
18115              states_order_output: True
18116              states_single_index: True
18117              functions_blacklist:
18118                - test.ping
18119                - saltutil.find_job
18120
18121       salt.returners.elasticsearch_return.event_return(events)
18122              Return events to Elasticsearch
18123
18124              Requires  that  the  event_return configuration be set in master
18125              config.
18126
18127       salt.returners.elasticsearch_return.get_load(jid)
18128              Return the load data that marks a specified jid
18129
18130              New in version 2015.8.1.
18131
18132
18133       salt.returners.elasticsearch_return.prep_jid(nocache=False,
18134       passed_jid=None)
18135              Do any work necessary to prepare a JID, including sending a cus‐
18136              tom id
18137
18138       salt.returners.elasticsearch_return.returner(ret)
18139              Process the return from Salt
18140
18141       salt.returners.elasticsearch_return.save_load(jid, load, minions=None)
18142              Save the load to the specified jid id
18143
18144              New in version 2015.8.1.
18145
18146
18147   salt.returners.etcd_return
18148       Return data to an etcd server or cluster
18149
18150       depends
18151
18152              · python-etcd
18153
18154       In order to return to an etcd server, a profile should  be  created  in
18155       the master configuration file:
18156
18157          my_etcd_config:
18158            etcd.host: 127.0.0.1
18159            etcd.port: 2379
18160
18161       It  is  technically possible to configure etcd without using a profile,
18162       but this is not considered to be a best practice, especially when  mul‐
18163       tiple etcd servers or clusters are available.
18164
18165          etcd.host: 127.0.0.1
18166          etcd.port: 2379
18167
18168       Additionally,  two more options must be specified in the top-level con‐
18169       figuration in order to use the etcd returner:
18170
18171          etcd.returner: my_etcd_config
18172          etcd.returner_root: /salt/return
18173
18174       The etcd.returner option specifies which configuration profile to  use.
18175       The  etcd.returner_root option specifies the path inside etcd to use as
18176       the root of the returner system.
18177
18178       Once the etcd options are configured, the returner may be used:
18179
18180       CLI Example:
18181          salt '*' test.ping --return etcd
18182
18183       A username and password can be set:
18184
18185          etcd.username: larry  # Optional; requires etcd.password to be set
18186          etcd.password: 123pass  # Optional; requires etcd.username to be set
18187
18188       You can also set a TTL (time to live) value for the returner:
18189
18190          etcd.ttl: 5
18191
18192       Authentication with username and password, and ttl, currently  requires
18193       the master branch of python-etcd.
18194
18195       You  may  also  specify  different roles for read and write operations.
18196       First, create the profiles as specified above. Then add:
18197
18198          etcd.returner_read_profile: my_etcd_read
18199          etcd.returner_write_profile: my_etcd_write
18200
18201       salt.returners.etcd_return.clean_old_jobs()
18202              Included for API consistency
18203
18204       salt.returners.etcd_return.get_fun(fun)
18205              Return a dict of the last function called for all minions
18206
18207       salt.returners.etcd_return.get_jid(jid)
18208              Return the information returned when the specified  job  id  was
18209              executed
18210
18211       salt.returners.etcd_return.get_jids()
18212              Return a list of all job ids
18213
18214       salt.returners.etcd_return.get_load(jid)
18215              Return the load data that marks a specified jid
18216
18217       salt.returners.etcd_return.get_minions()
18218              Return a list of minions
18219
18220       salt.returners.etcd_return.prep_jid(nocache=False, passed_jid=None)
18221              Do any work necessary to prepare a JID, including sending a cus‐
18222              tom id
18223
18224       salt.returners.etcd_return.returner(ret)
18225              Return data to an etcd server or cluster
18226
18227       salt.returners.etcd_return.save_load(jid, load, minions=None)
18228              Save the load to the specified jid
18229
18230   salt.returners.highstate_return module
18231       Return the results of a highstate (or any  other  state  function  that
18232       returns data in a compatible format) via an HTML email or HTML file.
18233
18234       New in version 2017.7.0.
18235
18236
18237       Similar  results can be achieved by using the smtp returner with a cus‐
18238       tom template, except an attempt at writing such a template for the com‐
18239       plex  data  structure returned by highstate function had proven to be a
18240       challenge, not to mention that the smtp module doesn't support  sending
18241       HTML mail at the moment.
18242
18243       The  main  goal  of  this returner was to produce an easy to read email
18244       similar to the output of highstate outputter used by the CLI.
18245
18246       This returner could be very useful  during  scheduled  executions,  but
18247       could  also  be useful for communicating the results of a manual execu‐
18248       tion.
18249
18250       Returner configuration is controlled in a standard fashion  either  via
18251       highstate group or an alternatively named group.
18252
18253          salt '*' state.highstate --return highstate
18254
18255       To  use  the  alternative  configuration,  append '--return_config con‐
18256       fig-name'
18257
18258          salt '*' state.highstate --return highstate --return_config simple
18259
18260       Here is an example of what the configuration might look like:
18261
18262          simple.highstate:
18263            report_failures: True
18264            report_changes: True
18265            report_everything: False
18266            failure_function: pillar.items
18267            success_function: pillar.items
18268            report_format: html
18269            report_delivery: smtp
18270            smtp_success_subject: 'success minion {id} on host {host}'
18271            smtp_failure_subject: 'failure minion {id} on host {host}'
18272            smtp_server: smtp.example.com
18273            smtp_recipients: saltusers@example.com, devops@example.com
18274            smtp_sender: salt@example.com
18275
18276       The report_failures, report_changes, and report_everything  flags  pro‐
18277       vide  filtering  of  the results. If you want an email to be sent every
18278       time, then report_everything is your choice. If you want to be notified
18279       only  when  changes  were  successfully  made  use  report_changes. And
18280       report_failures will generate an email if there were failures.
18281
18282       The configuration allows you to run a salt module function in  case  of
18283       success (success_function) or failure (failure_function).
18284
18285       Any salt function, including ones defined in the _module folder of your
18286       salt repo, could be used here and its output will  be  displayed  under
18287       the 'extra' heading of the email.
18288
18289       Supported values for report_format are html, json, and yaml. The latter
18290       two are typically used for debugging purposes, but could  be  used  for
18291       applying a template at some later stage.
18292
18293       The values for report_delivery are smtp or file. In case of file deliv‐
18294       ery the only other applicable option is file_output.
18295
18296       In case of smtp delivery, smtp_* options demonstrated  by  the  example
18297       above could be used to customize the email.
18298
18299       As  you  might  have  noticed, the success and failure subjects contain
18300       {id} and {host} values. Any other grain name could be used. As  opposed
18301       to  using  {{grains['id']}},  which  will be rendered by the master and
18302       contain master's values at the time of pillar  generation,  these  will
18303       contain minion values at the time of execution.
18304
18305       salt.returners.highstate_return.returner(ret)
18306              Check  highstate  return  information  and  possibly fire off an
18307              email or save a file.
18308
18309   salt.returners.influxdb_return
18310       Return data to an influxdb server.
18311
18312       New in version 2015.8.0.
18313
18314
18315       To enable this returner the minion will  need  the  python  client  for
18316       influxdb installed and the following values configured in the minion or
18317       master config, these are the defaults:
18318
18319          influxdb.db: 'salt'
18320          influxdb.user: 'salt'
18321          influxdb.password: 'salt'
18322          influxdb.host: 'localhost'
18323          influxdb.port: 8086
18324
18325       Alternative configuration values can be used by prefacing the  configu‐
18326       ration.   Any values not found in the alternative configuration will be
18327       pulled from the default location:
18328
18329          alternative.influxdb.db: 'salt'
18330          alternative.influxdb.user: 'salt'
18331          alternative.influxdb.password: 'salt'
18332          alternative.influxdb.host: 'localhost'
18333          alternative.influxdb.port: 6379
18334
18335       To use the influxdb returner, append '--return influxdb'  to  the  salt
18336       command.
18337
18338          salt '*' test.ping --return influxdb
18339
18340       To  use the alternative configuration, append '--return_config alterna‐
18341       tive' to the salt command.
18342
18343          salt '*' test.ping --return influxdb --return_config alternative
18344
18345       To override  individual  configuration  items,  append  --return_kwargs
18346       '{"key:": "value"}' to the salt command.
18347
18348       New in version 2016.3.0.
18349
18350
18351          salt '*' test.ping --return influxdb --return_kwargs '{"db": "another-salt"}'
18352
18353       salt.returners.influxdb_return.get_fun(fun)
18354              Return a dict of the last function called for all minions
18355
18356       salt.returners.influxdb_return.get_jid(jid)
18357              Return  the  information  returned when the specified job id was
18358              executed
18359
18360       salt.returners.influxdb_return.get_jids()
18361              Return a list of all job ids
18362
18363       salt.returners.influxdb_return.get_load(jid)
18364              Return the load data that marks a specified jid
18365
18366       salt.returners.influxdb_return.get_minions()
18367              Return a list of minions
18368
18369       salt.returners.influxdb_return.prep_jid(nocache=False, passed_jid=None)
18370              Do any work necessary to prepare a JID, including sending a cus‐
18371              tom id
18372
18373       salt.returners.influxdb_return.returner(ret)
18374              Return data to a influxdb data store
18375
18376       salt.returners.influxdb_return.save_load(jid, load, minions=None)
18377              Save the load to the specified jid
18378
18379   salt.returners.kafka_return
18380       Return data to a Kafka topic
18381
18382       maintainer
18383              Justin Desilets (justin.desilets@gmail.com)
18384
18385       maturity
18386              20181119
18387
18388       depends
18389              confluent-kafka
18390
18391       platform
18392              all
18393
18394       To  enable this returner install confluent-kafka and enable the follow‐
18395       ing settings in the minion config:
18396
18397          returner.kafka.bootstrap:
18398
18399                 · "server1:9092"
18400
18401                 · "server2:9092"
18402
18403                 · "server3:9092"
18404
18405          returner.kafka.topic: 'topic'
18406
18407       To use the kafka returner, append --return kafka to the  Salt  command,
18408       eg;
18409          salt '*' test.ping --return kafka
18410
18411       salt.returners.kafka_return.returner(ret)
18412              Return information to a Kafka server
18413
18414   salt.returners.librato_return
18415       Salt returner to return highstate stats to Librato
18416
18417       To  enable  this  returner  the  minion  will  need  the Librato client
18418       importable on the Python path and the following  values  configured  in
18419       the minion or master config.
18420
18421       The      Librato     python     client     can     be     found     at:
18422       https://github.com/librato/python-librato
18423
18424          librato.email: example@librato.com
18425          librato.api_token: abc12345def
18426
18427       This return supports multi-dimension metrics  for  Librato.  To  enable
18428       support  for  more  metrics,  the  tags  JSON object can be modified to
18429       include other tags.
18430
18431       Adding EC2 Tags example: If ec2_tags:region  were  desired  within  the
18432       tags for multi-dimension. The tags could be modified to include the ec2
18433       tags. Multiple dimensions are added simply by adding more tags  to  the
18434       submission.
18435
18436          pillar_data = __salt__['pillar.raw']()
18437          q.add(metric.name, value, tags={'Name': ret['id'],'Region': pillar_data['ec2_tags']['Name']})
18438
18439       salt.returners.librato_return.returner(ret)
18440              Parse the return data and return metrics to Librato.
18441
18442   salt.returners.local
18443       The  local  returner  is  used  to test the returner interface, it just
18444       prints the return data to the console to verify that it is being passed
18445       properly
18446
18447       To use the local returner, append '--return local' to the salt command.
18448       ex:
18449
18450          salt '*' test.ping --return local
18451
18452       salt.returners.local.event_return(event)
18453              Print event return data to the terminal to verify functionality
18454
18455       salt.returners.local.returner(ret)
18456              Print the return data to the terminal to verify functionality
18457
18458   salt.returners.local_cache
18459       Return data to local job cache
18460
18461       salt.returners.local_cache.clean_old_jobs()
18462              Clean out the old jobs from the job cache
18463
18464       salt.returners.local_cache.get_endtime(jid)
18465              Retrieve the stored endtime for a given job
18466
18467              Returns False if no endtime is present
18468
18469       salt.returners.local_cache.get_jid(jid)
18470              Return the information returned when the specified  job  id  was
18471              executed
18472
18473       salt.returners.local_cache.get_jids()
18474              Return a dict mapping all job ids to job information
18475
18476       salt.returners.local_cache.get_jids_filter(count, filter_find_job=True)
18477              Return a list of all jobs information filtered by the given cri‐
18478              teria.  :param int count: show not more than the count  of  most
18479              recent   jobs   :param   bool   filter_find_jobs:   filter   out
18480              'saltutil.find_job' jobs
18481
18482       salt.returners.local_cache.get_load(jid)
18483              Return the load data that marks a specified jid
18484
18485       salt.returners.local_cache.load_reg()
18486              Load the register from msgpack files
18487
18488       salt.returners.local_cache.prep_jid(nocache=False,     passed_jid=None,
18489       recurse_count=0)
18490              Return a job id and prepare the job id directory.
18491
18492              This is the function responsible for making sure jids don't col‐
18493              lide (unless it is passed a jid).  So do what you have to do  to
18494              make sure that stays the case
18495
18496       salt.returners.local_cache.returner(load)
18497              Return data to the local job cache
18498
18499       salt.returners.local_cache.save_load(jid,   clear_load,   minions=None,
18500       recurse_count=0)
18501              Save the load to the specified jid
18502
18503              minions argument is to provide a pre-computed  list  of  matched
18504              minions  for the job, for cases when this function can't compute
18505              that list itself (such as for salt-ssh)
18506
18507       salt.returners.local_cache.save_minions(jid, minions, syndic_id=None)
18508              Save/update the serialized list of minions for a given job
18509
18510       salt.returners.local_cache.save_reg(data)
18511              Save the register to msgpack files
18512
18513       salt.returners.local_cache.update_endtime(jid, time)
18514              Update (or store) the end time for a given job
18515
18516              Endtime is stored as a plain text string
18517
18518   salt.returners.mattermost_returner module
18519       Return salt data via mattermost
18520
18521       New in version 2017.7.0.
18522
18523
18524       The following fields can be set in the minion conf file:
18525
18526          mattermost.hook (required)
18527          mattermost.username (optional)
18528          mattermost.channel (optional)
18529
18530       Alternative configuration values can be used by prefacing the  configu‐
18531       ration.   Any values not found in the alternative configuration will be
18532       pulled from the default location:
18533
18534          mattermost.channel
18535          mattermost.hook
18536          mattermost.username
18537
18538       mattermost settings may also be configured as:
18539
18540          mattermost:
18541            channel: RoomName
18542            hook: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18543            username: user
18544
18545       To use the mattermost returner, append  '--return  mattermost'  to  the
18546       salt command.
18547
18548          salt '*' test.ping --return mattermost
18549
18550       To  override  individual  configuration  items,  append --return_kwargs
18551       '{'key:': 'value'}' to the salt command.
18552
18553          salt '*' test.ping --return mattermost --return_kwargs '{'channel': '#random'}'
18554
18555       salt.returners.mattermost_returner.event_return(events)
18556              Send the events to a mattermost room.
18557
18558              Parameters
18559                     events -- List of events
18560
18561              Returns
18562                     Boolean if messages were sent successfully.
18563
18564       salt.returners.mattermost_returner.post_message(channel, message, user‐
18565       name, api_url, hook)
18566              Send a message to a mattermost room.
18567
18568              Parameters
18569
18570                     · channel -- The room name.
18571
18572                     · message -- The message to send to the mattermost room.
18573
18574                     · username -- Specify who the message is from.
18575
18576                     · hook  --  The  mattermost hook, if not specified in the
18577                       configuration.
18578
18579              Returns
18580                     Boolean if message was sent successfully.
18581
18582       salt.returners.mattermost_returner.returner(ret)
18583              Send an mattermost message with the data
18584
18585   salt.returners.memcache_return
18586       Return data to a memcache server
18587
18588       To enable this returner the minion will need the python client for mem‐
18589       cache  installed  and  the following values configured in the minion or
18590       master config, these are the defaults.
18591
18592          memcache.host: 'localhost'
18593          memcache.port: '11211'
18594
18595       Alternative configuration values can be used by prefacing the  configu‐
18596       ration.   Any values not found in the alternative configuration will be
18597       pulled from the default location.
18598
18599          alternative.memcache.host: 'localhost'
18600          alternative.memcache.port: '11211'
18601
18602       python2-memcache uses 'localhost' and '11211' as syntax on connection.
18603
18604       To use the memcache returner, append '--return memcache'  to  the  salt
18605       command.
18606
18607          salt '*' test.ping --return memcache
18608
18609       To  use the alternative configuration, append '--return_config alterna‐
18610       tive' to the salt command.
18611
18612       New in version 2015.5.0.
18613
18614
18615          salt '*' test.ping --return memcache --return_config alternative
18616
18617       To override  individual  configuration  items,  append  --return_kwargs
18618       '{"key:": "value"}' to the salt command.
18619
18620       New in version 2016.3.0.
18621
18622
18623          salt '*' test.ping --return memcache --return_kwargs '{"host": "hostname.domain.com"}'
18624
18625       salt.returners.memcache_return.get_fun(fun)
18626              Return a dict of the last function called for all minions
18627
18628       salt.returners.memcache_return.get_jid(jid)
18629              Return  the  information  returned when the specified job id was
18630              executed
18631
18632       salt.returners.memcache_return.get_jids()
18633              Return a list of all job ids
18634
18635       salt.returners.memcache_return.get_load(jid)
18636              Return the load data that marks a specified jid
18637
18638       salt.returners.memcache_return.get_minions()
18639              Return a list of minions
18640
18641       salt.returners.memcache_return.prep_jid(nocache=False, passed_jid=None)
18642              Do any work necessary to prepare a JID, including sending a cus‐
18643              tom id
18644
18645       salt.returners.memcache_return.returner(ret)
18646              Return data to a memcache data store
18647
18648       salt.returners.memcache_return.save_load(jid, load, minions=None)
18649              Save the load to the specified jid
18650
18651   salt.returners.mongo_future_return
18652       Return data to a mongodb server
18653
18654       Required python modules: pymongo
18655
18656       This returner will send data from the minions to a MongoDB server. Mon‐
18657       goDB server can be configured by using host, port, db, user  and  pass‐
18658       word  settings or by connection string URI (for pymongo > 2.3). To con‐
18659       figure the settings for your MongoDB server, add the following lines to
18660       the minion config files:
18661
18662          mongo.db: <database name>
18663          mongo.host: <server ip address>
18664          mongo.user: <MongoDB username>
18665          mongo.password: <MongoDB user password>
18666          mongo.port: 27017
18667
18668       Or single URI:
18669
18670          mongo.uri: URI
18671
18672       where uri is in the format:
18673
18674          mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
18675
18676       Example:
18677
18678          mongodb://db1.example.net:27017/mydatabase
18679          mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test
18680          mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000
18681
18682       More     information    on    URI    format    can    be    found    in
18683       https://docs.mongodb.com/manual/reference/connection-string/
18684
18685       You can also ask for indexes creation on the most common  used  fields,
18686       which  should  greatly  improve performance. Indexes are not created by
18687       default.
18688
18689          mongo.indexes: true
18690
18691       Alternative configuration values can be used by prefacing the  configu‐
18692       ration.   Any values not found in the alternative configuration will be
18693       pulled from the default location:
18694
18695          alternative.mongo.db: <database name>
18696          alternative.mongo.host: <server ip address>
18697          alternative.mongo.user: <MongoDB username>
18698          alternative.mongo.password: <MongoDB user password>
18699          alternative.mongo.port: 27017
18700
18701       Or single URI:
18702
18703          alternative.mongo.uri: URI
18704
18705       This mongo returner is being developed to replace the  default  mongodb
18706       returner in the future and should not be considered API stable yet.
18707
18708       To use the mongo returner, append '--return mongo' to the salt command.
18709
18710          salt '*' test.ping --return mongo
18711
18712       To  use the alternative configuration, append '--return_config alterna‐
18713       tive' to the salt command.
18714
18715       New in version 2015.5.0.
18716
18717
18718          salt '*' test.ping --return mongo --return_config alternative
18719
18720       To override  individual  configuration  items,  append  --return_kwargs
18721       '{"key:": "value"}' to the salt command.
18722
18723       New in version 2016.3.0.
18724
18725
18726          salt '*' test.ping --return mongo --return_kwargs '{"db": "another-salt"}'
18727
18728       salt.returners.mongo_future_return.event_return(events)
18729              Return events to Mongodb server
18730
18731       salt.returners.mongo_future_return.get_fun(fun)
18732              Return  the  most recent jobs that have executed the named func‐
18733              tion
18734
18735       salt.returners.mongo_future_return.get_jid(jid)
18736              Return the return information associated with a jid
18737
18738       salt.returners.mongo_future_return.get_jids()
18739              Return a list of job ids
18740
18741       salt.returners.mongo_future_return.get_load(jid)
18742              Return the load associated with a given job id
18743
18744       salt.returners.mongo_future_return.get_minions()
18745              Return a list of minions
18746
18747       salt.returners.mongo_future_return.prep_jid(nocache=False,
18748       passed_jid=None)
18749              Do any work necessary to prepare a JID, including sending a cus‐
18750              tom id
18751
18752       salt.returners.mongo_future_return.returner(ret)
18753              Return data to a mongodb server
18754
18755       salt.returners.mongo_future_return.save_load(jid, load, minions=None)
18756              Save the load for a given job id
18757
18758   salt.returners.mongo_return
18759       Return data to a mongodb server
18760
18761       Required python modules: pymongo
18762
18763       This returner will send data from the minions to a MongoDB  server.  To
18764       configure the settings for your MongoDB server, add the following lines
18765       to the minion config files.
18766
18767          mongo.db: <database name>
18768          mongo.host: <server ip address>
18769          mongo.user: <MongoDB username>
18770          mongo.password: <MongoDB user password>
18771          mongo.port: 27017
18772
18773       Alternative configuration values can be used by prefacing the  configu‐
18774       ration.   Any values not found in the alternative configuration will be
18775       pulled from the default location.
18776
18777          alternative.mongo.db: <database name>
18778          alternative.mongo.host: <server ip address>
18779          alternative.mongo.user: <MongoDB username>
18780          alternative.mongo.password: <MongoDB user password>
18781          alternative.mongo.port: 27017
18782
18783       To use the mongo returner, append '--return mongo' to the salt command.
18784
18785          salt '*' test.ping --return mongo_return
18786
18787       To use the alternative configuration, append '--return_config  alterna‐
18788       tive' to the salt command.
18789
18790       New in version 2015.5.0.
18791
18792
18793          salt '*' test.ping --return mongo_return --return_config alternative
18794
18795       To  override  individual  configuration  items,  append --return_kwargs
18796       '{"key:": "value"}' to the salt command.
18797
18798       New in version 2016.3.0.
18799
18800
18801          salt '*' test.ping --return mongo --return_kwargs '{"db": "another-salt"}'
18802
18803       To override  individual  configuration  items,  append  --return_kwargs
18804       '{"key:": "value"}' to the salt command.
18805
18806       New in version 2016.3.0.
18807
18808
18809          salt '*' test.ping --return mongo --return_kwargs '{"db": "another-salt"}'
18810
18811       salt.returners.mongo_return.get_fun(fun)
18812              Return  the  most recent jobs that have executed the named func‐
18813              tion
18814
18815       salt.returners.mongo_return.get_jid(jid)
18816              Return the return information associated with a jid
18817
18818       salt.returners.mongo_return.prep_jid(nocache=False, passed_jid=None)
18819              Do any work necessary to prepare a JID, including sending a cus‐
18820              tom id
18821
18822       salt.returners.mongo_return.returner(ret)
18823              Return data to a mongodb server
18824
18825   salt.returners.multi_returner
18826       Read/Write multiple returners
18827
18828       salt.returners.multi_returner.clean_old_jobs()
18829              Clean out the old jobs from all returners (if you have it)
18830
18831       salt.returners.multi_returner.get_jid(jid)
18832              Merge the return data from all returners
18833
18834       salt.returners.multi_returner.get_jids()
18835              Return all job data from all returners
18836
18837       salt.returners.multi_returner.get_load(jid)
18838              Merge the load data from all returners
18839
18840       salt.returners.multi_returner.prep_jid(nocache=False, passed_jid=None)
18841              Call both with prep_jid on all returners in multi_returner
18842
18843              TODO: finish this, what do do when you get different jids from 2
18844              returners...  since our jids are  time  based,  this  make  this
18845              problem  hard,  because they aren't unique, meaning that we have
18846              to make sure that no one else got the jid and  if  they  did  we
18847              spin  to  get  a  new  one,  which  means "locking" the jid in 2
18848              returners is non-trivial
18849
18850       salt.returners.multi_returner.returner(load)
18851              Write return to all returners in multi_returner
18852
18853       salt.returners.multi_returner.save_load(jid, clear_load, minions=None)
18854              Write load to all returners in multi_returner
18855
18856   salt.returners.mysql
18857       Return data to a mysql server
18858
18859       maintainer
18860              Dave    Boucha    <dave@saltstack.com>,    Seth     House     <‐
18861              shouse@saltstack.com>
18862
18863       maturity
18864              mature
18865
18866       depends
18867              python-mysqldb
18868
18869       platform
18870              all
18871
18872       To  enable  this  returner,  the minion will need the python client for
18873       mysql installed and the following values configured in  the  minion  or
18874       master config. These are the defaults:
18875
18876          mysql.host: 'salt'
18877          mysql.user: 'salt'
18878          mysql.pass: 'salt'
18879          mysql.db: 'salt'
18880          mysql.port: 3306
18881
18882       SSL  is  optional.  The defaults are set to None. If you do not want to
18883       use SSL, either exclude these options or set them to None.
18884
18885          mysql.ssl_ca: None
18886          mysql.ssl_cert: None
18887          mysql.ssl_key: None
18888
18889       Alternative configuration values can be used by prefacing the  configu‐
18890       ration  with alternative.. Any values not found in the alternative con‐
18891       figuration will be pulled from the default location. As  stated  above,
18892       SSL configuration is optional. The following ssl options are simply for
18893       illustration purposes:
18894
18895          alternative.mysql.host: 'salt'
18896          alternative.mysql.user: 'salt'
18897          alternative.mysql.pass: 'salt'
18898          alternative.mysql.db: 'salt'
18899          alternative.mysql.port: 3306
18900          alternative.mysql.ssl_ca: '/etc/pki/mysql/certs/localhost.pem'
18901          alternative.mysql.ssl_cert: '/etc/pki/mysql/certs/localhost.crt'
18902          alternative.mysql.ssl_key: '/etc/pki/mysql/certs/localhost.key'
18903
18904       Should you wish the returner data to be cleaned out every so often, set
18905       keep_jobs  to  the  number of hours for the jobs to live in the tables.
18906       Setting it to 0 will cause the data to stay in the tables. The  default
18907       setting for keep_jobs is set to 24.
18908
18909       Should you wish to archive jobs in a different table for later process‐
18910       ing, set archive_jobs to True.  Salt will create 3 archive tables
18911
18912       · jids_archive
18913
18914       · salt_returns_archive
18915
18916       · salt_events_archive
18917
18918       and move the contents of jids, salt_returns, and salt_events  that  are
18919       more than keep_jobs hours old to these tables.
18920
18921       Use the following mysql database schema:
18922
18923          CREATE DATABASE  `salt`
18924            DEFAULT CHARACTER SET utf8
18925            DEFAULT COLLATE utf8_general_ci;
18926
18927          USE `salt`;
18928
18929          --
18930          -- Table structure for table `jids`
18931          --
18932
18933          DROP TABLE IF EXISTS `jids`;
18934          CREATE TABLE `jids` (
18935            `jid` varchar(255) NOT NULL,
18936            `load` mediumtext NOT NULL,
18937            UNIQUE KEY `jid` (`jid`)
18938          ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
18939
18940          --
18941          -- Table structure for table `salt_returns`
18942          --
18943
18944          DROP TABLE IF EXISTS `salt_returns`;
18945          CREATE TABLE `salt_returns` (
18946            `fun` varchar(50) NOT NULL,
18947            `jid` varchar(255) NOT NULL,
18948            `return` mediumtext NOT NULL,
18949            `id` varchar(255) NOT NULL,
18950            `success` varchar(10) NOT NULL,
18951            `full_ret` mediumtext NOT NULL,
18952            `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
18953            KEY `id` (`id`),
18954            KEY `jid` (`jid`),
18955            KEY `fun` (`fun`)
18956          ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
18957
18958          --
18959          -- Table structure for table `salt_events`
18960          --
18961
18962          DROP TABLE IF EXISTS `salt_events`;
18963          CREATE TABLE `salt_events` (
18964          `id` BIGINT NOT NULL AUTO_INCREMENT,
18965          `tag` varchar(255) NOT NULL,
18966          `data` mediumtext NOT NULL,
18967          `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
18968          `master_id` varchar(255) NOT NULL,
18969          PRIMARY KEY (`id`),
18970          KEY `tag` (`tag`)
18971          ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
18972
18973       Required python modules: MySQLdb
18974
18975       To use the mysql returner, append '--return mysql' to the salt command.
18976
18977          salt '*' test.ping --return mysql
18978
18979       To  use the alternative configuration, append '--return_config alterna‐
18980       tive' to the salt command.
18981
18982       New in version 2015.5.0.
18983
18984
18985          salt '*' test.ping --return mysql --return_config alternative
18986
18987       To override  individual  configuration  items,  append  --return_kwargs
18988       '{"key:": "value"}' to the salt command.
18989
18990       New in version 2016.3.0.
18991
18992
18993          salt '*' test.ping --return mysql --return_kwargs '{"db": "another-salt"}'
18994
18995       salt.returners.mysql.clean_old_jobs()
18996              Called in the master's event loop every loop_interval.  Archives
18997              and/or deletes the events and job  details  from  the  database.
18998              :return:
18999
19000       salt.returners.mysql.event_return(events)
19001              Return event to mysql server
19002
19003              Requires that configuration be enabled via 'event_return' option
19004              in master config.
19005
19006       salt.returners.mysql.get_fun(fun)
19007              Return a dict of the last function called for all minions
19008
19009       salt.returners.mysql.get_jid(jid)
19010              Return the information returned when the specified  job  id  was
19011              executed
19012
19013       salt.returners.mysql.get_jids()
19014              Return a list of all job ids
19015
19016       salt.returners.mysql.get_jids_filter(count, filter_find_job=True)
19017              Return  a  list  of  all job ids :param int count: show not more
19018              than the count of most recent jobs :param bool filter_find_jobs:
19019              filter out 'saltutil.find_job' jobs
19020
19021       salt.returners.mysql.get_load(jid)
19022              Return the load data that marks a specified jid
19023
19024       salt.returners.mysql.get_minions()
19025              Return a list of minions
19026
19027       salt.returners.mysql.prep_jid(nocache=False, passed_jid=None)
19028              Do any work necessary to prepare a JID, including sending a cus‐
19029              tom id
19030
19031       salt.returners.mysql.returner(ret)
19032              Return data to a mysql server
19033
19034       salt.returners.mysql.save_load(jid, load, minions=None)
19035              Save the load to the specified jid id
19036
19037   salt.returners.nagios_nrdp_return
19038       Return salt data to Nagios
19039
19040       The following fields can be set in the minion conf file:
19041
19042          nagios.url (required)
19043          nagios.token (required)
19044          nagios.service (optional)
19045          nagios.check_type (optional)
19046
19047       Alternative configuration values can be used by prefacing the  configu‐
19048       ration.   Any values not found in the alternative configuration will be
19049       pulled from the default location:
19050
19051          nagios.url
19052          nagios.token
19053          nagios.service
19054
19055       Nagios settings may also be configured as:
19056
19057            nagios:
19058                url: http://localhost/nrdp
19059                token: r4nd0mt0k3n
19060                service: service-check
19061
19062            alternative.nagios:
19063                url: http://localhost/nrdp
19064                token: r4nd0mt0k3n
19065                service: another-service-check
19066
19067          To use the Nagios returner, append '--return nagios' to the salt command. ex:
19068
19069          .. code-block:: bash
19070
19071            salt '*' test.ping --return nagios
19072
19073          To use the alternative configuration, append '--return_config alternative' to the salt command. ex:
19074
19075            salt '*' test.ping --return nagios --return_config alternative
19076
19077       To override  individual  configuration  items,  append  --return_kwargs
19078       '{"key:": "value"}' to the salt command.
19079
19080       New in version 2016.3.0.
19081
19082
19083          salt '*' test.ping --return nagios --return_kwargs '{"service": "service-name"}'
19084
19085       salt.returners.nagios_nrdp_return.returner(ret)
19086              Send a message to Nagios with the data
19087
19088   salt.returners.odbc
19089       Return  data  to  an  ODBC compliant server.  This driver was developed
19090       with Microsoft SQL Server in mind, but theoretically could be  used  to
19091       return  data to any compliant ODBC database as long as there is a work‐
19092       ing ODBC driver for it on your minion platform.
19093
19094       maintainer
19095
19096              C.
19097
19098                 R. Oldham (cr@saltstack.com)
19099
19100       maturity
19101              New
19102
19103       depends
19104              unixodbc, pyodbc, freetds (for SQL Server)
19105
19106       platform
19107              all
19108
19109       To enable this returner the minion will need
19110
19111       On Linux:
19112          unixodbc (http://www.unixodbc.org) pyodbc (pip install  pyodbc)  The
19113          FreeTDS  ODBC  driver  for  SQL  Server  (http://www.freetds.org) or
19114          another compatible ODBC driver
19115
19116       On Windows:
19117          TBD
19118
19119       unixODBC and FreeTDS need to be configured  via  /etc/odbcinst.ini  and
19120       /etc/odbc.ini.
19121
19122       /etc/odbcinst.ini:
19123
19124          [TDS]
19125          Description=TDS
19126          Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
19127
19128       (Note  the  above  Driver  line  needs  to point to the location of the
19129       FreeTDS shared library.  This example is for Ubuntu 14.04.)
19130
19131       /etc/odbc.ini:
19132
19133          [TS]
19134          Description = "Salt Returner"
19135          Driver=TDS
19136          Server = <your server ip or fqdn>
19137          Port = 1433
19138          Database = salt
19139          Trace = No
19140
19141       Also you need the following values configured in the minion  or  master
19142       config.  Configure as you see fit:
19143
19144          returner.odbc.dsn: 'TS'
19145          returner.odbc.user: 'salt'
19146          returner.odbc.passwd: 'salt'
19147
19148       Alternative  configuration values can be used by prefacing the configu‐
19149       ration.  Any values not found in the alternative configuration will  be
19150       pulled from the default location:
19151
19152          alternative.returner.odbc.dsn: 'TS'
19153          alternative.returner.odbc.user: 'salt'
19154          alternative.returner.odbc.passwd: 'salt'
19155
19156       Running  the  following  commands  against  Microsoft SQL Server in the
19157       desired database as the appropriate user  should  create  the  database
19158       tables correctly.  Replace with equivalent SQL for other ODBC-compliant
19159       servers
19160
19161            --
19162            -- Table structure for table 'jids'
19163            --
19164
19165            if OBJECT_ID('dbo.jids', 'U') is not null
19166                DROP TABLE dbo.jids
19167
19168            CREATE TABLE dbo.jids (
19169               jid   varchar(255) PRIMARY KEY,
19170               load  varchar(MAX) NOT NULL
19171             );
19172
19173            --
19174            -- Table structure for table 'salt_returns'
19175            --
19176            IF OBJECT_ID('dbo.salt_returns', 'U') IS NOT NULL
19177                DROP TABLE dbo.salt_returns;
19178
19179            CREATE TABLE dbo.salt_returns (
19180               added     datetime not null default (getdate()),
19181               fun       varchar(100) NOT NULL,
19182               jid       varchar(255) NOT NULL,
19183               retval    varchar(MAX) NOT NULL,
19184               id        varchar(255) NOT NULL,
19185               success   bit default(0) NOT NULL,
19186               full_ret  varchar(MAX)
19187             );
19188
19189            CREATE INDEX salt_returns_added on dbo.salt_returns(added);
19190            CREATE INDEX salt_returns_id on dbo.salt_returns(id);
19191            CREATE INDEX salt_returns_jid on dbo.salt_returns(jid);
19192            CREATE INDEX salt_returns_fun on dbo.salt_returns(fun);
19193
19194          To use this returner, append '--return odbc' to the salt command.
19195
19196          .. code-block:: bash
19197
19198            salt '*' status.diskusage --return odbc
19199
19200          To use the alternative configuration, append '--return_config alternative' to the salt command.
19201
19202          .. versionadded:: 2015.5.0
19203
19204          .. code-block:: bash
19205
19206            salt '*' test.ping --return odbc --return_config alternative
19207
19208       To override  individual  configuration  items,  append  --return_kwargs
19209       '{"key:": "value"}' to the salt command.
19210
19211       New in version 2016.3.0.
19212
19213
19214          salt '*' test.ping --return odbc --return_kwargs '{"dsn": "dsn-name"}'
19215
19216       salt.returners.odbc.get_fun(fun)
19217              Return a dict of the last function called for all minions
19218
19219       salt.returners.odbc.get_jid(jid)
19220              Return  the  information  returned when the specified job id was
19221              executed
19222
19223       salt.returners.odbc.get_jids()
19224              Return a list of all job ids
19225
19226       salt.returners.odbc.get_load(jid)
19227              Return the load data that marks a specified jid
19228
19229       salt.returners.odbc.get_minions()
19230              Return a list of minions
19231
19232       salt.returners.odbc.prep_jid(nocache=False, passed_jid=None)
19233              Do any work necessary to prepare a JID, including sending a cus‐
19234              tom id
19235
19236       salt.returners.odbc.returner(ret)
19237              Return data to an odbc server
19238
19239       salt.returners.odbc.save_load(jid, load, minions=None)
19240              Save the load to the specified jid id
19241
19242   salt.returners.pgjsonb
19243       Return  data to a PostgreSQL server with json data stored in Pg's jsonb
19244       data type
19245
19246       maintainer
19247              Dave    Boucha    <dave@saltstack.com>,    Seth     House     <‐
19248              shouse@saltstack.com>, C. R. Oldham <cr@saltstack.com>
19249
19250       maturity
19251              Stable
19252
19253       depends
19254              python-psycopg2
19255
19256       platform
19257              all
19258
19259       NOTE:
19260          There are three PostgreSQL returners.  Any can function as an exter‐
19261          nal master job cache. but each has  different  features.   SaltStack
19262          recommends  returners.pgjsonb  if  you are working with a version of
19263          PostgreSQL that has the appropriate native binary JSON types.   Oth‐
19264          erwise, review returners.postgres and returners.postgres_local_cache
19265          to see which module best suits your particular needs.
19266
19267       To enable this returner, the minion will need  the  python  client  for
19268       PostgreSQL  installed and the following values configured in the minion
19269       or master config. These are the defaults:
19270
19271          returner.pgjsonb.host: 'salt'
19272          returner.pgjsonb.user: 'salt'
19273          returner.pgjsonb.pass: 'salt'
19274          returner.pgjsonb.db: 'salt'
19275          returner.pgjsonb.port: 5432
19276
19277       SSL is optional. The defaults are set to None. If you do  not  want  to
19278       use SSL, either exclude these options or set them to None.
19279
19280          returner.pgjsonb.sslmode: None
19281          returner.pgjsonb.sslcert: None
19282          returner.pgjsonb.sslkey: None
19283          returner.pgjsonb.sslrootcert: None
19284          returner.pgjsonb.sslcrl: None
19285
19286       New in version 2017.5.0.
19287
19288
19289       Alternative  configuration values can be used by prefacing the configu‐
19290       ration with alternative.. Any values not found in the alternative  con‐
19291       figuration  will  be pulled from the default location. As stated above,
19292       SSL configuration is optional. The following ssl options are simply for
19293       illustration purposes:
19294
19295          alternative.pgjsonb.host: 'salt'
19296          alternative.pgjsonb.user: 'salt'
19297          alternative.pgjsonb.pass: 'salt'
19298          alternative.pgjsonb.db: 'salt'
19299          alternative.pgjsonb.port: 5432
19300          alternative.pgjsonb.ssl_ca: '/etc/pki/mysql/certs/localhost.pem'
19301          alternative.pgjsonb.ssl_cert: '/etc/pki/mysql/certs/localhost.crt'
19302          alternative.pgjsonb.ssl_key: '/etc/pki/mysql/certs/localhost.key'
19303
19304       Should you wish the returner data to be cleaned out every so often, set
19305       keep_jobs to the number of hours for the jobs to live  in  the  tables.
19306       Setting  it to 0 or leaving it unset will cause the data to stay in the
19307       tables.
19308
19309       Should you wish to archive jobs in a different table for later process‐
19310       ing, set archive_jobs to True.  Salt will create 3 archive tables;
19311
19312       · jids_archive
19313
19314       · salt_returns_archive
19315
19316       · salt_events_archive
19317
19318       and  move  the contents of jids, salt_returns, and salt_events that are
19319       more than keep_jobs hours old to these tables.
19320
19321       New in version 2019.2.0.
19322
19323
19324       Use the following Pg database schema:
19325
19326          CREATE DATABASE  salt
19327            WITH ENCODING 'utf-8';
19328
19329          --
19330          -- Table structure for table `jids`
19331          --
19332          DROP TABLE IF EXISTS jids;
19333          CREATE TABLE jids (
19334             jid varchar(255) NOT NULL primary key,
19335             load jsonb NOT NULL
19336          );
19337          CREATE INDEX idx_jids_jsonb on jids
19338                 USING gin (load)
19339                 WITH (fastupdate=on);
19340
19341          --
19342          -- Table structure for table `salt_returns`
19343          --
19344
19345          DROP TABLE IF EXISTS salt_returns;
19346          CREATE TABLE salt_returns (
19347            fun varchar(50) NOT NULL,
19348            jid varchar(255) NOT NULL,
19349            return jsonb NOT NULL,
19350            id varchar(255) NOT NULL,
19351            success varchar(10) NOT NULL,
19352            full_ret jsonb NOT NULL,
19353            alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW());
19354
19355          CREATE INDEX idx_salt_returns_id ON salt_returns (id);
19356          CREATE INDEX idx_salt_returns_jid ON salt_returns (jid);
19357          CREATE INDEX idx_salt_returns_fun ON salt_returns (fun);
19358          CREATE INDEX idx_salt_returns_return ON salt_returns
19359              USING gin (return) with (fastupdate=on);
19360          CREATE INDEX idx_salt_returns_full_ret ON salt_returns
19361              USING gin (full_ret) with (fastupdate=on);
19362
19363          --
19364          -- Table structure for table `salt_events`
19365          --
19366
19367          DROP TABLE IF EXISTS salt_events;
19368          DROP SEQUENCE IF EXISTS seq_salt_events_id;
19369          CREATE SEQUENCE seq_salt_events_id;
19370          CREATE TABLE salt_events (
19371              id BIGINT NOT NULL UNIQUE DEFAULT nextval('seq_salt_events_id'),
19372              tag varchar(255) NOT NULL,
19373              data jsonb NOT NULL,
19374              alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
19375              master_id varchar(255) NOT NULL);
19376
19377          CREATE INDEX idx_salt_events_tag on
19378              salt_events (tag);
19379          CREATE INDEX idx_salt_events_data ON salt_events
19380              USING gin (data) with (fastupdate=on);
19381
19382       Required python modules: Psycopg2
19383
19384       To use this returner, append '--return pgjsonb' to the salt command.
19385
19386          salt '*' test.ping --return pgjsonb
19387
19388       To use the alternative configuration, append '--return_config  alterna‐
19389       tive' to the salt command.
19390
19391       New in version 2015.5.0.
19392
19393
19394          salt '*' test.ping --return pgjsonb --return_config alternative
19395
19396       To  override  individual  configuration  items,  append --return_kwargs
19397       '{"key:": "value"}' to the salt command.
19398
19399       New in version 2016.3.0.
19400
19401
19402          salt '*' test.ping --return pgjsonb --return_kwargs '{"db": "another-salt"}'
19403
19404       salt.returners.pgjsonb.clean_old_jobs()
19405              Called in the master's event loop every loop_interval.  Archives
19406              and/or  deletes  the  events  and job details from the database.
19407              :return:
19408
19409       salt.returners.pgjsonb.event_return(events)
19410              Return event to Pg server
19411
19412              Requires that configuration be enabled via 'event_return' option
19413              in master config.
19414
19415       salt.returners.pgjsonb.get_fun(fun)
19416              Return a dict of the last function called for all minions
19417
19418       salt.returners.pgjsonb.get_jid(jid)
19419              Return  the  information  returned when the specified job id was
19420              executed
19421
19422       salt.returners.pgjsonb.get_jids()
19423              Return a list of all job ids
19424
19425       salt.returners.pgjsonb.get_load(jid)
19426              Return the load data that marks a specified jid
19427
19428       salt.returners.pgjsonb.get_minions()
19429              Return a list of minions
19430
19431       salt.returners.pgjsonb.prep_jid(nocache=False, passed_jid=None)
19432              Do any work necessary to prepare a JID, including sending a cus‐
19433              tom id
19434
19435       salt.returners.pgjsonb.returner(ret)
19436              Return data to a Pg server
19437
19438       salt.returners.pgjsonb.save_load(jid, load, minions=None)
19439              Save the load to the specified jid id
19440
19441   salt.returners.postgres
19442       Return data to a postgresql server
19443
19444       NOTE:
19445          There are three PostgreSQL returners.  Any can function as an exter‐
19446          nal master job cache. but each has  different  features.   SaltStack
19447          recommends  returners.pgjsonb  if  you are working with a version of
19448          PostgreSQL that has the appropriate native binary JSON types.   Oth‐
19449          erwise, review returners.postgres and returners.postgres_local_cache
19450          to see which module best suits your particular needs.
19451
19452       maintainer
19453              None
19454
19455       maturity
19456              New
19457
19458       depends
19459              psycopg2
19460
19461       platform
19462              all
19463
19464       To enable this returner the minion will need the psycopg2 installed and
19465       the following values configured in the minion or master config:
19466
19467          returner.postgres.host: 'salt'
19468          returner.postgres.user: 'salt'
19469          returner.postgres.passwd: 'salt'
19470          returner.postgres.db: 'salt'
19471          returner.postgres.port: 5432
19472
19473       Alternative  configuration values can be used by prefacing the configu‐
19474       ration.  Any values not found in the alternative configuration will  be
19475       pulled from the default location:
19476
19477          alternative.returner.postgres.host: 'salt'
19478          alternative.returner.postgres.user: 'salt'
19479          alternative.returner.postgres.passwd: 'salt'
19480          alternative.returner.postgres.db: 'salt'
19481          alternative.returner.postgres.port: 5432
19482
19483       Running  the  following commands as the postgres user should create the
19484       database correctly:
19485
19486          psql << EOF
19487          CREATE ROLE salt WITH PASSWORD 'salt';
19488          CREATE DATABASE salt WITH OWNER salt;
19489          EOF
19490
19491          psql -h localhost -U salt << EOF
19492          --
19493          -- Table structure for table 'jids'
19494          --
19495
19496          DROP TABLE IF EXISTS jids;
19497          CREATE TABLE jids (
19498            jid   varchar(20) PRIMARY KEY,
19499            load  text NOT NULL
19500          );
19501
19502          --
19503          -- Table structure for table 'salt_returns'
19504          --
19505
19506          DROP TABLE IF EXISTS salt_returns;
19507          CREATE TABLE salt_returns (
19508            fun       varchar(50) NOT NULL,
19509            jid       varchar(255) NOT NULL,
19510            return    text NOT NULL,
19511            full_ret  text,
19512            id        varchar(255) NOT NULL,
19513            success   varchar(10) NOT NULL,
19514            alter_time   TIMESTAMP WITH TIME ZONE DEFAULT now()
19515          );
19516
19517          CREATE INDEX idx_salt_returns_id ON salt_returns (id);
19518          CREATE INDEX idx_salt_returns_jid ON salt_returns (jid);
19519          CREATE INDEX idx_salt_returns_fun ON salt_returns (fun);
19520          CREATE INDEX idx_salt_returns_updated ON salt_returns (alter_time);
19521
19522          --
19523          -- Table structure for table `salt_events`
19524          --
19525
19526          DROP TABLE IF EXISTS salt_events;
19527          DROP SEQUENCE IF EXISTS seq_salt_events_id;
19528          CREATE SEQUENCE seq_salt_events_id;
19529          CREATE TABLE salt_events (
19530              id BIGINT NOT NULL UNIQUE DEFAULT nextval('seq_salt_events_id'),
19531              tag varchar(255) NOT NULL,
19532              data text NOT NULL,
19533              alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
19534              master_id varchar(255) NOT NULL
19535          );
19536
19537          CREATE INDEX idx_salt_events_tag on salt_events (tag);
19538
19539          EOF
19540
19541       Required python modules: psycopg2
19542
19543       To use the postgres returner, append '--return postgres'  to  the  salt
19544       command.
19545
19546          salt '*' test.ping --return postgres
19547
19548       To  use the alternative configuration, append '--return_config alterna‐
19549       tive' to the salt command.
19550
19551       New in version 2015.5.0.
19552
19553
19554          salt '*' test.ping --return postgres --return_config alternative
19555
19556       To override  individual  configuration  items,  append  --return_kwargs
19557       '{"key:": "value"}' to the salt command.
19558
19559       New in version 2016.3.0.
19560
19561
19562          salt '*' test.ping --return postgres --return_kwargs '{"db": "another-salt"}'
19563
19564       salt.returners.postgres.event_return(events)
19565              Return event to Pg server
19566
19567              Requires that configuration be enabled via 'event_return' option
19568              in master config.
19569
19570       salt.returners.postgres.get_fun(fun)
19571              Return a dict of the last function called for all minions
19572
19573       salt.returners.postgres.get_jid(jid)
19574              Return the information returned when the specified  job  id  was
19575              executed
19576
19577       salt.returners.postgres.get_jids()
19578              Return a list of all job ids
19579
19580       salt.returners.postgres.get_load(jid)
19581              Return the load data that marks a specified jid
19582
19583       salt.returners.postgres.get_minions()
19584              Return a list of minions
19585
19586       salt.returners.postgres.prep_jid(nocache=False, passed_jid=None)
19587              Do any work necessary to prepare a JID, including sending a cus‐
19588              tom id
19589
19590       salt.returners.postgres.returner(ret)
19591              Return data to a postgres server
19592
19593       salt.returners.postgres.save_load(jid, load, minions=None)
19594              Save the load to the specified jid id
19595
19596   salt.returners.postgres_local_cache
19597       Use a postgresql server for the master job cache. This  helps  the  job
19598       cache to cope with scale.
19599
19600       NOTE:
19601          There are three PostgreSQL returners.  Any can function as an exter‐
19602          nal master job cache. but each has  different  features.   SaltStack
19603          recommends  returners.pgjsonb  if  you are working with a version of
19604          PostgreSQL that has the appropriate native binary JSON types.   Oth‐
19605          erwise, review returners.postgres and returners.postgres_local_cache
19606          to see which module best suits your particular needs.
19607
19608       maintainer
19609              gjredelinghuys@gmail.com
19610
19611       maturity
19612              Stable
19613
19614       depends
19615              psycopg2
19616
19617       platform
19618              all
19619
19620       To enable this returner the minion will need the psycopg2 installed and
19621       the following values configured in the master config:
19622
19623          master_job_cache: postgres_local_cache
19624          master_job_cache.postgres.host: 'salt'
19625          master_job_cache.postgres.user: 'salt'
19626          master_job_cache.postgres.passwd: 'salt'
19627          master_job_cache.postgres.db: 'salt'
19628          master_job_cache.postgres.port: 5432
19629
19630       Running  the  following  command as the postgres user should create the
19631       database correctly:
19632
19633          psql << EOF
19634          CREATE ROLE salt WITH PASSWORD 'salt';
19635          CREATE DATABASE salt WITH OWNER salt;
19636          EOF
19637
19638       In case the postgres database is a remote host, you'll need  this  com‐
19639       mand also:
19640
19641          ALTER ROLE salt WITH LOGIN;
19642
19643       and then:
19644
19645          psql -h localhost -U salt << EOF
19646          --
19647          -- Table structure for table 'jids'
19648          --
19649
19650          DROP TABLE IF EXISTS jids;
19651          CREATE TABLE jids (
19652            jid   varchar(20) PRIMARY KEY,
19653            started TIMESTAMP WITH TIME ZONE DEFAULT now(),
19654            tgt_type text NOT NULL,
19655            cmd text NOT NULL,
19656            tgt text NOT NULL,
19657            kwargs text NOT NULL,
19658            ret text NOT NULL,
19659            username text NOT NULL,
19660            arg text NOT NULL,
19661            fun text NOT NULL
19662          );
19663
19664          --
19665          -- Table structure for table 'salt_returns'
19666          --
19667          -- note that 'success' must not have NOT NULL constraint, since
19668          -- some functions don't provide it.
19669
19670          DROP TABLE IF EXISTS salt_returns;
19671          CREATE TABLE salt_returns (
19672            added     TIMESTAMP WITH TIME ZONE DEFAULT now(),
19673            fun       text NOT NULL,
19674            jid       varchar(20) NOT NULL,
19675            return    text NOT NULL,
19676            id        text NOT NULL,
19677            success   boolean
19678          );
19679          CREATE INDEX ON salt_returns (added);
19680          CREATE INDEX ON salt_returns (id);
19681          CREATE INDEX ON salt_returns (jid);
19682          CREATE INDEX ON salt_returns (fun);
19683
19684          DROP TABLE IF EXISTS salt_events;
19685          CREATE TABLE salt_events (
19686            id SERIAL,
19687            tag text NOT NULL,
19688            data text NOT NULL,
19689            alter_time TIMESTAMP WITH TIME ZONE DEFAULT now(),
19690            master_id text NOT NULL
19691          );
19692          CREATE INDEX ON salt_events (tag);
19693          CREATE INDEX ON salt_events (data);
19694          CREATE INDEX ON salt_events (id);
19695          CREATE INDEX ON salt_events (master_id);
19696          EOF
19697
19698       Required python modules: psycopg2
19699
19700       salt.returners.postgres_local_cache.clean_old_jobs()
19701              Clean out the old jobs from the job cache
19702
19703       salt.returners.postgres_local_cache.event_return(events)
19704              Return event to a postgres server
19705
19706              Require  that configuration be enabled via 'event_return' option
19707              in master config.
19708
19709       salt.returners.postgres_local_cache.get_jid(jid)
19710              Return the information returned when the specified  job  id  was
19711              executed
19712
19713       salt.returners.postgres_local_cache.get_jids()
19714              Return a list of all job ids For master job cache this also for‐
19715              mats the output and returns a string
19716
19717       salt.returners.postgres_local_cache.get_load(jid)
19718              Return the load data that marks a specified jid
19719
19720       salt.returners.postgres_local_cache.prep_jid(nocache=False,
19721       passed_jid=None)
19722              Return  a  job  id  and prepare the job id directory This is the
19723              function responsible for making sure jids don't collide  (unless
19724              its  passed  a jid). So do what you have to do to make sure that
19725              stays the case
19726
19727       salt.returners.postgres_local_cache.returner(load)
19728              Return data to a postgres server
19729
19730       salt.returners.postgres_local_cache.save_load(jid,   clear_load,   min‐
19731       ions=None)
19732              Save the load to the specified jid id
19733
19734   salt.returners.pushover_returner
19735       Return salt data via pushover (http://www.pushover.net)
19736
19737       New in version 2016.3.0.
19738
19739
19740       The following fields can be set in the minion conf file:
19741
19742          pushover.user (required)
19743          pushover.token (required)
19744          pushover.title (optional)
19745          pushover.device (optional)
19746          pushover.priority (optional)
19747          pushover.expire (optional)
19748          pushover.retry (optional)
19749          pushover.profile (optional)
19750
19751       Alternative  configuration values can be used by prefacing the configu‐
19752       ration.  Any values not found in the alternative configuration will  be
19753       pulled from the default location:
19754
19755          alternative.pushover.user
19756          alternative.pushover.token
19757          alternative.pushover.title
19758          alternative.pushover.device
19759          alternative.pushover.priority
19760          alternative.pushover.expire
19761          alternative.pushover.retry
19762
19763       PushOver settings may also be configured as:
19764
19765            pushover:
19766                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19767                token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19768                title: Salt Returner
19769                device: phone
19770                priority: -1
19771                expire: 3600
19772                retry: 5
19773
19774            alternative.pushover:
19775                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19776                token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19777                title: Salt Returner
19778                device: phone
19779                priority: 1
19780                expire: 4800
19781                retry: 2
19782
19783            pushover_profile:
19784                pushover.token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19785
19786            pushover:
19787                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19788                profile: pushover_profile
19789
19790            alternative.pushover:
19791                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19792                profile: pushover_profile
19793
19794          To use the PushOver returner, append '--return pushover' to the salt command. ex:
19795
19796          .. code-block:: bash
19797
19798            salt '*' test.ping --return pushover
19799
19800          To use the alternative configuration, append '--return_config alternative' to the salt command. ex:
19801
19802            salt '*' test.ping --return pushover --return_config alternative
19803
19804       To  override  individual  configuration  items,  append --return_kwargs
19805       '{"key:": "value"}' to the salt command.
19806
19807          salt '*' test.ping --return pushover --return_kwargs '{"title": "Salt is awesome!"}'
19808
19809       salt.returners.pushover_returner.returner(ret)
19810              Send an PushOver message with the data
19811
19812   salt.returners.rawfile_json
19813       Take data from salt and "return" it into  a  raw  file  containing  the
19814       json, with one line per event.
19815
19816       Add the following to the minion or master configuration file.
19817
19818          rawfile_json.filename: <path_to_output_file>
19819
19820       Default is /var/log/salt/events.
19821
19822       Common  use is to log all events on the master. This can generate a lot
19823       of noise, so you may wish to configure batch processing and/or  config‐
19824       ure  the  event_return_whitelist  or event_return_blacklist to restrict
19825       the events that are written.
19826
19827       salt.returners.rawfile_json.event_return(events)
19828              Write event data (return data and non-return data)  to  file  on
19829              the master.
19830
19831       salt.returners.rawfile_json.returner(ret)
19832              Write the return data to a file on the minion.
19833
19834   salt.returners.redis_return
19835       Return data to a redis server
19836
19837       To  enable  this  returner  the  minion will need the python client for
19838       redis installed and the following values configured in  the  minion  or
19839       master config, these are the defaults:
19840
19841          redis.db: '0'
19842          redis.host: 'salt'
19843          redis.port: 6379
19844
19845       New  in  version 2018.3.1: Alternatively a UNIX socket can be specified
19846       by unix_socket_path:
19847
19848
19849          redis.db: '0'
19850          redis.unix_socket_path: /var/run/redis/redis.sock
19851
19852       Cluster Mode Example:
19853
19854          redis.db: '0'
19855          redis.cluster_mode: true
19856          redis.cluster.skip_full_coverage_check: true
19857          redis.cluster.startup_nodes:
19858            - host: redis-member-1
19859              port: 6379
19860            - host: redis-member-2
19861              port: 6379
19862
19863       Alternative configuration values can be used by prefacing the  configu‐
19864       ration.   Any values not found in the alternative configuration will be
19865       pulled from the default location:
19866
19867          alternative.redis.db: '0'
19868          alternative.redis.host: 'salt'
19869          alternative.redis.port: 6379
19870
19871       To use the redis returner, append '--return redis' to the salt command.
19872
19873          salt '*' test.ping --return redis
19874
19875       To use the alternative configuration, append '--return_config  alterna‐
19876       tive' to the salt command.
19877
19878       New in version 2015.5.0.
19879
19880
19881          salt '*' test.ping --return redis --return_config alternative
19882
19883       To  override  individual  configuration  items,  append --return_kwargs
19884       '{"key:": "value"}' to the salt command.
19885
19886       New in version 2016.3.0.
19887
19888
19889          salt '*' test.ping --return redis --return_kwargs '{"db": "another-salt"}'
19890
19891       Redis Cluster Mode Options:
19892
19893       cluster_mode: False
19894              Whether cluster_mode is enabled or not
19895
19896       cluster.startup_nodes:
19897              A list of host, port dictionaries pointing to  cluster  members.
19898              At least one is required but multiple nodes are better
19899
19900                 cache.redis.cluster.startup_nodes
19901                   - host: redis-member-1
19902                     port: 6379
19903                   - host: redis-member-2
19904                     port: 6379
19905
19906       cluster.skip_full_coverage_check: False
19907              Some  cluster  providers restrict certain redis commands such as
19908              CONFIG for enhanced security.  Set this option to true  to  skip
19909              checks that required advanced privileges.
19910
19911              NOTE:
19912                 Most  cloud hosted redis clusters will require this to be set
19913                 to True
19914
19915       salt.returners.redis_return.clean_old_jobs()
19916              Clean out minions's return data for old jobs.
19917
19918              Normally, hset 'ret:<jid>' are saved with a TTL, and will  even‐
19919              tually  get  cleaned  by  redis.But for jobs with some very late
19920              minion return, the corresponding hset's TTL will be refreshed to
19921              a too late timestamp, we'll do manually cleaning here.
19922
19923       salt.returners.redis_return.get_fun(fun)
19924              Return a dict of the last function called for all minions
19925
19926       salt.returners.redis_return.get_jid(jid)
19927              Return  the  information  returned when the specified job id was
19928              executed
19929
19930       salt.returners.redis_return.get_jids()
19931              Return a dict mapping all job ids to job information
19932
19933       salt.returners.redis_return.get_load(jid)
19934              Return the load data that marks a specified jid
19935
19936       salt.returners.redis_return.get_minions()
19937              Return a list of minions
19938
19939       salt.returners.redis_return.prep_jid(nocache=False, passed_jid=None)
19940              Do any work necessary to prepare a JID, including sending a cus‐
19941              tom id
19942
19943       salt.returners.redis_return.returner(ret)
19944              Return data to a redis data store
19945
19946       salt.returners.redis_return.save_load(jid, load, minions=None)
19947              Save the load to the specified jid
19948
19949   salt.returners.sentry_return
19950       Salt  returner  that  reports  execution  results  back  to sentry. The
19951       returner will inspect the payload to identify errors and flag  them  as
19952       such.
19953
19954       Pillar needs something like:
19955
19956          raven:
19957            servers:
19958              - http://192.168.1.1
19959              - https://sentry.example.com
19960            public_key: deadbeefdeadbeefdeadbeefdeadbeef
19961            secret_key: beefdeadbeefdeadbeefdeadbeefdead
19962            project: 1
19963            tags:
19964              - os
19965              - master
19966              - saltversion
19967              - cpuarch
19968
19969       or using a dsn:
19970
19971          raven:
19972            dsn: https://aaaa:bbbb@app.getsentry.com/12345
19973            tags:
19974              - os
19975              - master
19976              - saltversion
19977              - cpuarch
19978
19979       https://pypi.python.org/pypi/raven must be installed.
19980
19981       The pillar can be hidden on sentry return by setting hide_pillar: true.
19982
19983       The  tags  list  (optional) specifies grains items that will be used as
19984       sentry tags, allowing tagging of events in the sentry ui.
19985
19986       To report only errors to sentry, set report_errors_only: true.
19987
19988       salt.returners.sentry_return.prep_jid(nocache=False, passed_jid=None)
19989              Do any work necessary to prepare a JID, including sending a cus‐
19990              tom id
19991
19992       salt.returners.sentry_return.returner(ret)
19993              Log outcome to sentry. The returner tries to identify errors and
19994              report them as such. All other messages will be reported at info
19995              level.  Failed states will be appended as separate list for con‐
19996              venience.
19997
19998   salt.returners.slack_returner
19999       Return salt data via slack
20000
20001       New in version 2015.5.0.
20002
20003
20004       The following fields can be set in the minion conf file:
20005
20006          slack.channel (required)
20007          slack.api_key (required)
20008          slack.username (required)
20009          slack.as_user (required to see the profile picture of your bot)
20010          slack.profile (optional)
20011          slack.changes(optional, only show changes and failed states)
20012          slack.only_show_failed(optional, only show failed states)
20013          slack.yaml_format(optional, format the json in yaml format)
20014
20015       Alternative configuration values can be used by prefacing the  configu‐
20016       ration.   Any values not found in the alternative configuration will be
20017       pulled from the default location:
20018
20019          slack.channel
20020          slack.api_key
20021          slack.username
20022          slack.as_user
20023
20024       Slack settings may also be configured as:
20025
20026          slack:
20027              channel: RoomName
20028              api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20029              username: user
20030              as_user: true
20031
20032          alternative.slack:
20033              room_id: RoomName
20034              api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20035              from_name: user@email.com
20036
20037          slack_profile:
20038              slack.api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20039              slack.from_name: user@email.com
20040
20041          slack:
20042              profile: slack_profile
20043              channel: RoomName
20044
20045          alternative.slack:
20046              profile: slack_profile
20047              channel: RoomName
20048
20049       To use the Slack returner, append '--return slack' to the salt command.
20050
20051          salt '*' test.ping --return slack
20052
20053       To use the alternative configuration, append '--return_config  alterna‐
20054       tive' to the salt command.
20055
20056          salt '*' test.ping --return slack --return_config alternative
20057
20058       To  override  individual  configuration  items,  append --return_kwargs
20059       '{"key:": "value"}' to the salt command.
20060
20061       New in version 2016.3.0.
20062
20063
20064          salt '*' test.ping --return slack --return_kwargs '{"channel": "#random"}'
20065
20066       salt.returners.slack_returner.returner(ret)
20067              Send an slack message with the data
20068
20069   salt.returners.sms_return
20070       Return data by SMS.
20071
20072       New in version 2015.5.0.
20073
20074
20075       maintainer
20076              Damian Myerscough
20077
20078       maturity
20079              new
20080
20081       depends
20082              twilio
20083
20084       platform
20085              all
20086
20087       To enable this returner the minion will need the python twilio  library
20088       installed  and  the following values configured in the minion or master
20089       config:
20090
20091          twilio.sid: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
20092          twilio.token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
20093          twilio.to: '+1415XXXXXXX'
20094          twilio.from: '+1650XXXXXXX'
20095
20096       To use the sms returner, append '--return sms' to the salt command.
20097
20098          salt '*' test.ping --return sms
20099
20100       salt.returners.sms_return.returner(ret)
20101              Return a response in an SMS message
20102
20103   salt.returners.smtp_return
20104       Return salt data via email
20105
20106       The following fields can be set in the minion  conf  file.  Fields  are
20107       optional unless noted otherwise.
20108
20109       · from (required) The name/address of the email sender.
20110
20111       ·
20112
20113         to (required) The names/addresses of the email recipients;
20114                comma-delimited.     For     example:    you@example.com,some‐
20115                oneelse@example.com.
20116
20117       · host (required) The SMTP server hostname or address.
20118
20119       · port The SMTP server port; defaults to 25.
20120
20121       ·
20122
20123         username The username used to authenticate to the server.  If  speci‐
20124         fied a
20125                password  is also required. It is recommended but not required
20126                to also use TLS with this option.
20127
20128       · password The password used to authenticate to the server.
20129
20130       · tls Whether to secure the connection using TLS; defaults to False
20131
20132       · subject The email subject line.
20133
20134       ·
20135
20136         fields Which fields from the returned data to include in the  subject
20137         line
20138                of  the  email;  comma-delimited.  For example: id,fun. Please
20139                note, the subject line is not encrypted.
20140
20141       ·
20142
20143         gpgowner A user's ~/.gpg directory. This must contain a gpg
20144                public key matching the address the mail is sent to.  If  left
20145                unset, no encryption will be used. Requires python-gnupg to be
20146                installed.
20147
20148       · template The path to a file to be used as a template  for  the  email
20149         body.
20150
20151       ·
20152
20153         renderer A Salt renderer, or render-pipe, to use to render the email
20154                template. Default jinja.
20155
20156       Below  is  an example of the above settings in a Salt Minion configura‐
20157       tion file:
20158
20159          smtp.from: me@example.net
20160          smtp.to: you@example.com
20161          smtp.host: localhost
20162          smtp.port: 1025
20163
20164       Alternative configuration values can be used by prefacing the  configu‐
20165       ration.   Any values not found in the alternative configuration will be
20166       pulled from the default location. For example:
20167
20168          alternative.smtp.username: saltdev
20169          alternative.smtp.password: saltdev
20170          alternative.smtp.tls: True
20171
20172       To use the SMTP returner, append '--return smtp' to the salt command.
20173
20174          salt '*' test.ping --return smtp
20175
20176       To use the alternative configuration, append '--return_config  alterna‐
20177       tive' to the salt command.
20178
20179       New in version 2015.5.0.
20180
20181
20182          salt '*' test.ping --return smtp --return_config alternative
20183
20184       To  override  individual  configuration  items,  append --return_kwargs
20185       '{"key:": "value"}' to the salt command.
20186
20187       New in version 2016.3.0.
20188
20189
20190          salt '*' test.ping --return smtp --return_kwargs '{"to": "user@domain.com"}'
20191
20192       An easy way to test the SMTP returner is to use  the  development  SMTP
20193       server  built  into  Python.  The  command  below  will  start  a  sin‐
20194       gle-threaded SMTP server that prints any email it receives to the  con‐
20195       sole.
20196
20197          python -m smtpd -n -c DebuggingServer localhost:1025
20198
20199       New in version 2016.11.0.
20200
20201
20202       It  is possible to send emails with selected Salt events by configuring
20203       event_return option for Salt Master. For example:
20204
20205          event_return: smtp
20206
20207          event_return_whitelist:
20208            - salt/key
20209
20210          smtp.from: me@example.net
20211          smtp.to: you@example.com
20212          smtp.host: localhost
20213          smtp.subject: 'Salt Master {{act}}ed key from Minion ID: {{id}}'
20214          smtp.template: /srv/salt/templates/email.j2
20215
20216       Also you need to create  additional  file  /srv/salt/templates/email.j2
20217       with email body template:
20218
20219          act: {{act}}
20220          id: {{id}}
20221          result: {{result}}
20222
20223       This  configuration enables Salt Master to send an email when accepting
20224       or rejecting minions keys.
20225
20226       salt.returners.smtp_return.event_return(events)
20227              Return event data via SMTP
20228
20229       salt.returners.smtp_return.prep_jid(nocache=False, passed_jid=None)
20230              Do any work necessary to prepare a JID, including sending a cus‐
20231              tom id
20232
20233       salt.returners.smtp_return.returner(ret)
20234              Send an email with the data
20235
20236   salt.returners.splunk module
20237       Send json response data to Splunk via the HTTP Event Collector Requires
20238       the following config values to be specified in config or pillar:
20239
20240          splunk_http_forwarder:
20241            token: <splunk_http_forwarder_token>
20242            indexer: <hostname/IP of Splunk indexer>
20243            sourcetype: <Destination sourcetype for data>
20244            index: <Destination index for data>
20245
20246       Run a test by using salt-call test.ping --return splunk
20247
20248       Written by Scott Pack (github.com/scottjpack)
20249
20250       class                 salt.returners.splunk.http_event_collector(token,
20251       http_event_server,          host=u'',          http_event_port=u'8088',
20252       http_event_server_ssl=True, max_bytes=100000)
20253
20254              batchEvent(payload, eventtime=u'')
20255
20256              flushBatch()
20257
20258              sendEvent(payload, eventtime=u'')
20259
20260       salt.returners.splunk.returner(ret)
20261              Send a message to Splunk via the HTTP Event Collector
20262
20263   salt.returners.sqlite3
20264       Insert minion return data into a sqlite3 database
20265
20266       maintainer
20267              Mickey Malone <mickey.malone@gmail.com>
20268
20269       maturity
20270              New
20271
20272       depends
20273              None
20274
20275       platform
20276              All
20277
20278       Sqlite3 is a serverless database that lives in a single file.  In order
20279       to use this returner the database file must exist, have the appropriate
20280       schema defined, and be accessible to the user whom the  minion  process
20281       is  running  as. This returner requires the following values configured
20282       in the master or minion config:
20283
20284          sqlite3.database: /usr/lib/salt/salt.db
20285          sqlite3.timeout: 5.0
20286
20287       Alternative configuration values can be used by prefacing the  configu‐
20288       ration.   Any values not found in the alternative configuration will be
20289       pulled from the default location:
20290
20291          alternative.sqlite3.database: /usr/lib/salt/salt.db
20292          alternative.sqlite3.timeout: 5.0
20293
20294       Use the commands to create the sqlite3 database and tables:
20295
20296          sqlite3 /usr/lib/salt/salt.db << EOF
20297          --
20298          -- Table structure for table 'jids'
20299          --
20300
20301          CREATE TABLE jids (
20302            jid TEXT PRIMARY KEY,
20303            load TEXT NOT NULL
20304            );
20305
20306          --
20307          -- Table structure for table 'salt_returns'
20308          --
20309
20310          CREATE TABLE salt_returns (
20311            fun TEXT KEY,
20312            jid TEXT KEY,
20313            id TEXT KEY,
20314            fun_args TEXT,
20315            date TEXT NOT NULL,
20316            full_ret TEXT NOT NULL,
20317            success TEXT NOT NULL
20318            );
20319          EOF
20320
20321       To use the sqlite returner, append '--return sqlite3' to the salt  com‐
20322       mand.
20323
20324          salt '*' test.ping --return sqlite3
20325
20326       To  use the alternative configuration, append '--return_config alterna‐
20327       tive' to the salt command.
20328
20329       New in version 2015.5.0.
20330
20331
20332          salt '*' test.ping --return sqlite3 --return_config alternative
20333
20334       To override  individual  configuration  items,  append  --return_kwargs
20335       '{"key:": "value"}' to the salt command.
20336
20337       New in version 2016.3.0.
20338
20339
20340          salt '*' test.ping --return sqlite3 --return_kwargs '{"db": "/var/lib/salt/another-salt.db"}'
20341
20342       salt.returners.sqlite3_return.get_fun(fun)
20343              Return a dict of the last function called for all minions
20344
20345       salt.returners.sqlite3_return.get_jid(jid)
20346              Return the information returned from a specified jid
20347
20348       salt.returners.sqlite3_return.get_jids()
20349              Return a list of all job ids
20350
20351       salt.returners.sqlite3_return.get_load(jid)
20352              Return the load from a specified jid
20353
20354       salt.returners.sqlite3_return.get_minions()
20355              Return a list of minions
20356
20357       salt.returners.sqlite3_return.prep_jid(nocache=False, passed_jid=None)
20358              Do any work necessary to prepare a JID, including sending a cus‐
20359              tom id
20360
20361       salt.returners.sqlite3_return.returner(ret)
20362              Insert minion return data into the sqlite3 database
20363
20364       salt.returners.sqlite3_return.save_load(jid, load, minions=None)
20365              Save the load to the specified jid
20366
20367   salt.returners.syslog_return
20368       Return data to the host operating system's syslog facility
20369
20370       To use the syslog returner, append '--return syslog' to the  salt  com‐
20371       mand.
20372
20373          salt '*' test.ping --return syslog
20374
20375       The following fields can be set in the minion conf file:
20376
20377          syslog.level (optional, Default: LOG_INFO)
20378          syslog.facility (optional, Default: LOG_USER)
20379          syslog.tag (optional, Default: salt-minion)
20380          syslog.options (list, optional, Default: [])
20381
20382       Available  levels,  facilities,  and options can be found in the syslog
20383       docs for your python version.
20384
20385       NOTE:
20386          The default tag comes from sys.argv[0] which is  usually  "salt-min‐
20387          ion" but could be different based on the specific environment.
20388
20389       Configuration example:
20390
20391          syslog.level: 'LOG_ERR'
20392          syslog.facility: 'LOG_DAEMON'
20393          syslog.tag: 'mysalt'
20394          syslog.options:
20395            - LOG_PID
20396
20397       Of course you can also nest the options:
20398
20399          syslog:
20400            level: 'LOG_ERR'
20401            facility: 'LOG_DAEMON'
20402            tag: 'mysalt'
20403            options:
20404              - LOG_PID
20405
20406       Alternative  configuration values can be used by prefacing the configu‐
20407       ration. Any values not found in the alternative configuration  will  be
20408       pulled from the default location:
20409
20410          alternative.syslog.level: 'LOG_WARN'
20411          alternative.syslog.facility: 'LOG_NEWS'
20412
20413       To  use  the alternative configuration, append --return_config alterna‐
20414       tive to the salt command.
20415
20416       New in version 2015.5.0.
20417
20418
20419          salt '*' test.ping --return syslog --return_config alternative
20420
20421       To override  individual  configuration  items,  append  --return_kwargs
20422       '{"key:": "value"}' to the salt command.
20423
20424       New in version 2016.3.0.
20425
20426
20427          salt '*' test.ping --return syslog --return_kwargs '{"level": "LOG_DEBUG"}'
20428
20429       NOTE:
20430          Syslog  server implementations may have limits on the maximum record
20431          size received by the client. This may lead to job return data  being
20432          truncated  in  the syslog server's logs. For example, for rsyslog on
20433          RHEL-based systems, the default maximum record size is approximately
20434          2KB  (which  return data can easily exceed). This is configurable in
20435          rsyslog.conf via the $MaxMessageSize config parameter.  Please  con‐
20436          sult  your  syslog implmentation's documentation to determine how to
20437          adjust this limit.
20438
20439       salt.returners.syslog_return.prep_jid(nocache=False, passed_jid=None)
20440              Do any work necessary to prepare a JID, including sending a cus‐
20441              tom id
20442
20443       salt.returners.syslog_return.returner(ret)
20444              Return data to the local syslog
20445
20446   salt.returners.telegram_return
20447       Return salt data via Telegram.
20448
20449       The following fields can be set in the minion conf file:
20450
20451          telegram.chat_id (required)
20452          telegram.token (required)
20453
20454       Telegram settings may also be configured as:
20455
20456          telegram:
20457            chat_id: 000000000
20458            token: 000000000:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20459
20460       To use the Telegram return, append '--return telegram' to the salt com‐
20461       mand.
20462
20463          salt '*' test.ping --return telegram
20464
20465       salt.returners.telegram_return.returner(ret)
20466              Send a Telegram message with the data.
20467
20468              Parameters
20469                     ret -- The data to be sent.
20470
20471              Returns
20472                     Boolean if message was sent successfully.
20473
20474   salt.returners.xmpp_return
20475       Return salt data via xmpp
20476
20477       depends
20478              sleekxmpp >= 1.3.1
20479
20480       The following fields can be set in the minion conf file:
20481
20482          xmpp.jid (required)
20483          xmpp.password (required)
20484          xmpp.recipient (required)
20485          xmpp.profile (optional)
20486
20487       Alternative configuration values can be used by prefacing the  configu‐
20488       ration.   Any values not found in the alternative configuration will be
20489       pulled from the default location:
20490
20491          xmpp.jid
20492          xmpp.password
20493          xmpp.recipient
20494          xmpp.profile
20495
20496       XMPP settings may also be configured as:
20497
20498          xmpp:
20499              jid: user@xmpp.domain.com/resource
20500              password: password
20501              recipient: user@xmpp.example.com
20502
20503          alternative.xmpp:
20504              jid: user@xmpp.domain.com/resource
20505              password: password
20506              recipient: someone@xmpp.example.com
20507
20508          xmpp_profile:
20509              xmpp.jid: user@xmpp.domain.com/resource
20510              xmpp.password: password
20511
20512          xmpp:
20513              profile: xmpp_profile
20514              recipient: user@xmpp.example.com
20515
20516          alternative.xmpp:
20517              profile: xmpp_profile
20518              recipient: someone-else@xmpp.example.com
20519
20520       To use the XMPP returner, append '--return xmpp' to the salt command.
20521
20522          salt '*' test.ping --return xmpp
20523
20524       To use the alternative configuration, append '--return_config  alterna‐
20525       tive' to the salt command.
20526
20527       New in version 2015.5.0.
20528
20529
20530          salt '*' test.ping --return xmpp --return_config alternative
20531
20532       To  override  individual  configuration  items,  append --return_kwargs
20533       '{"key:": "value"}' to the salt command.
20534
20535       New in version 2016.3.0.
20536
20537
20538          salt '*' test.ping --return xmpp --return_kwargs '{"recipient": "someone-else@xmpp.example.com"}'
20539
20540       class salt.returners.xmpp_return.SendMsgBot(jid,  password,  recipient,
20541       msg)
20542
20543              start(event)
20544
20545       salt.returners.xmpp_return.returner(ret)
20546              Send an xmpp message with the data
20547
20548   salt.returners.zabbix_return module
20549       Return salt data to Zabbix
20550
20551       The  following  Type:  "Zabbix trapper" with "Type of information" Text
20552       items are required:
20553
20554          Key: salt.trap.info
20555          Key: salt.trap.warning
20556          Key: salt.trap.high
20557
20558       To use the Zabbix returner, append '--return zabbix' to the  salt  com‐
20559       mand. ex:
20560
20561          salt '*' test.ping --return zabbix
20562
20563       salt.returners.zabbix_return.returner(ret)
20564
20565       salt.returners.zabbix_return.save_load(jid, load, minions=None)
20566              Included for API consistency
20567
20568       salt.returners.zabbix_return.zabbix_send(key, output)
20569
20570       salt.returners.zabbix_return.zbx()
20571
20572   Renderers
20573       The  Salt  state  system  operates by gathering information from common
20574       data types such as lists,  dictionaries,  and  strings  that  would  be
20575       familiar to any developer.
20576
20577       Salt  Renderers  translate input from the format in which it is written
20578       into Python data structures.
20579
20580       The default renderer is set in  the  master/minion  configuration  file
20581       using the renderer config option, which defaults to jinja|yaml.
20582
20583   Two Kinds of Renderers
20584       Renderers  fall  into one of two categories, based on what they output:
20585       text or data. The one exception to this would be the pure  python  ren‐
20586       derer, which can be used in either capacity.
20587
20588   Text Renderers
20589       A  text renderer returns text. These include templating engines such as
20590       jinja, mako, and genshi, as well as the gpg renderer. The following are
20591       all text renderers:
20592
20593       · aws_kms
20594
20595       · cheetah
20596
20597       · genshi
20598
20599       · gpg
20600
20601       · jinja
20602
20603       · mako
20604
20605       · nacl
20606
20607       · pass
20608
20609       · py
20610
20611       · wempy
20612
20613   Data Renderers
20614       A  data  renderer  returns a Python data structure (typically a dictio‐
20615       nary). The following are all data renderers:
20616
20617       · dson
20618
20619       · hjson
20620
20621       · json5
20622
20623       · json
20624
20625       · pydsl
20626
20627       · pyobjects
20628
20629       · py
20630
20631       · stateconf
20632
20633       · yamlex
20634
20635       · yaml
20636
20637   Overriding the Default Renderer
20638       It can sometimes be beneficial to write an SLS file  using  a  renderer
20639       other  than the default one. This can be done by using a "shebang"-like
20640       syntax on the first line of the SLS file:
20641
20642       Here is an example of using the pure python renderer to install a pack‐
20643       age:
20644
20645          #!py
20646
20647          def run():
20648              '''
20649              Install version 1.5-1.el7 of package "python-foo"
20650              '''
20651              return {
20652                  'include': ['python'],
20653                  'python-foo': {
20654                      'pkg.installed': [
20655                          {'version': '1.5-1.el7'},
20656                      ]
20657                  }
20658              }
20659
20660       This would be equivalent to the following:
20661
20662          include:
20663            - python
20664
20665          python-foo:
20666            pkg.installed:
20667              - version: '1.5-1.el7'
20668
20669   Composing Renderers (a.k.a. The Render Pipeline )
20670       A  render  pipeline  can be composed from other renderers by connecting
20671       them in a series of "pipes" (i.e. |). The renderers will  be  evaluated
20672       from left to right, with each renderer receiving the result of the pre‐
20673       vious renderer's execution.
20674
20675       Take for example the default renderer (jinja|yaml). The file is  evalu‐
20676       ated  first a jinja template, and the result of that template is evalu‐
20677       ated as a YAML document.
20678
20679       Other render pipeline combinations include:
20680
20681          yaml   Just YAML, no templating.
20682
20683          mako|yaml
20684                 This passes the input to the mako renderer, with  its  output
20685                 fed into the yaml renderer.
20686
20687          jinja|mako|yaml
20688                 This  one  allows  you  to use both jinja and mako templating
20689                 syntax in the input and then parse the final rendered  output
20690                 as YAML.
20691
20692       The following is a contrived example SLS file using the jinja|mako|yaml
20693       render pipeline:
20694
20695          #!jinja|mako|yaml
20696
20697          An_Example:
20698            cmd.run:
20699              - name: |
20700                  echo "Using Salt ${grains['saltversion']}" \
20701                       "from path {{grains['saltpath']}}."
20702              - cwd: /
20703
20704          <%doc> ${...} is Mako's notation, and so is this comment. </%doc>
20705          {#     Similarly, {{...}} is Jinja's notation, and so is this comment. #}
20706
20707       IMPORTANT:
20708          Keep in mind that not all renderers can be used alone  or  with  any
20709          other renderers. For example, text renderers shouldn't be used alone
20710          as their outputs are just strings, which still need to be parsed  by
20711          another renderer to turn them into Python data structures.
20712
20713          For  example,  it would not make sense to use yaml|jinja because the
20714          output of the yaml renderer is a  Python  data  structure,  and  the
20715          jinja renderer only accepts text as input.
20716
20717          Therefore,  when combining renderers, you should know what each ren‐
20718          derer accepts as input and what it returns as  output.  One  way  of
20719          thinking  about it is that you can chain together multiple text ren‐
20720          derers, but the pipeline must end in  a  data  renderer.  Similarly,
20721          since  the  text  renderers  in Salt don't accept data structures as
20722          input, a text renderer should usually not come  after  a  data  ren‐
20723          derer.  It's  technically  possible to write a renderer that takes a
20724          data structure as input and returns a string, but no  such  renderer
20725          is distributed with Salt.
20726
20727   Writing Renderers
20728       A  custom  renderer  must  be a Python module which implements a render
20729       function. This function must implement three positional arguments:
20730
20731       1. data - Can be called whatever you like. This is the input to be ren‐
20732          dered.
20733
20734       2. saltenv
20735
20736       3. sls
20737
20738       The  first  is  the important one, and the 2nd and 3rd must be included
20739       since Salt needs to pass this info to each render, even  though  it  is
20740       only used by template renderers.
20741
20742       Renderers should be written so that the data argument can accept either
20743       strings or file-like objects as input. For example:
20744
20745          import mycoolmodule
20746          from salt.ext import six
20747
20748          def render(data, saltenv='base', sls='', **kwargs):
20749              if not isinstance(data, six.string_types):
20750                  # Read from file-like object
20751                  data = data.read()
20752
20753              return mycoolmodule.do_something(data)
20754
20755       Custom renderers should be placed within  salt://_renderers/,  so  that
20756       they  can be synced to minions. They are synced when any of the follow‐
20757       ing are run:
20758
20759       · state.apply
20760
20761       · saltutil.sync_renderers
20762
20763       · saltutil.sync_all
20764
20765       Any custom renderers which have been synced to a minion, that are named
20766       the same as one of Salt's default set of renderers, will take the place
20767       of the default renderer with the same name.
20768
20769       NOTE:
20770          Renderers can also be synced from salt://_renderers/ to  the  Master
20771          using either the saltutil.sync_renderers or saltutil.sync_all runner
20772          function.
20773
20774   Examples
20775       The best place to find examples of renderers  is  in  the  Salt  source
20776       code.
20777
20778       Documentation for renderers included with Salt can be found here:
20779
20780       https://github.com/saltstack/salt/blob/master/salt/renderers
20781
20782       Here is a simple YAML renderer example:
20783
20784          import salt.utils.yaml
20785          from salt.utils.yamlloader import SaltYamlSafeLoader
20786          from salt.ext import six
20787
20788          def render(yaml_data, saltenv='', sls='', **kws):
20789              if not isinstance(yaml_data, six.string_types):
20790                  yaml_data = yaml_data.read()
20791              data = salt.utils.yaml.safe_load(yaml_data)
20792              return data if data else {}
20793
20794   Full List of Renderers
20795   renderer modules
20796                      ┌──────────┬────────────────────────────┐
20797cheetah   │ Cheetah Renderer for Salt  │
20798                      ├──────────┼────────────────────────────┤
20799dson      │ DSON Renderer for Salt     │
20800                      ├──────────┼────────────────────────────┤
20801genshi    │ Genshi Renderer for Salt   │
20802                      ├──────────┼────────────────────────────┤
20803gpg       │ Renderer that will decrypt │
20804                      │          │ GPG ciphers                │
20805                      ├──────────┼────────────────────────────┤
20806hjson     │ hjson renderer for Salt    │
20807                      └──────────┴────────────────────────────┘
20808
20809
20810
20811
20812
20813jinja     │ Jinja  loading  utils   to │
20814                      │          │ enable   a  more  powerful │
20815                      │          │ backend  for  jinja   tem‐ │
20816                      │          │ plates                     │
20817                      ├──────────┼────────────────────────────┤
20818json      │ JSON Renderer for Salt     │
20819                      ├──────────┼────────────────────────────┤
20820json5     │ JSON5 Renderer for Salt    │
20821                      ├──────────┼────────────────────────────┤
20822mako      │ Mako Renderer for Salt     │
20823                      ├──────────┼────────────────────────────┤
20824msgpack   │                            │
20825                      ├──────────┼────────────────────────────┤
20826pass      │ Pass Renderer for Salt     │
20827                      ├──────────┼────────────────────────────┤
20828py        │ Pure python state renderer │
20829                      ├──────────┼────────────────────────────┤
20830pydsl     │ A Python-based DSL         │
20831                      ├──────────┼────────────────────────────┤
20832pyobjects │ Python    renderer    that │
20833                      │          │ includes a Pythonic Object │
20834                      │          │ based interface            │
20835                      ├──────────┼────────────────────────────┤
20836stateconf │ A  flexible  renderer that │
20837                      │          │ takes a templating  engine │
20838                      │          │ and a data format          │
20839                      ├──────────┼────────────────────────────┤
20840wempy     │                            │
20841                      ├──────────┼────────────────────────────┤
20842yaml      │ YAML Renderer for Salt     │
20843                      ├──────────┼────────────────────────────┤
20844yamlex    │                            │
20845                      └──────────┴────────────────────────────┘
20846
20847   salt.renderers.cheetah
20848       Cheetah Renderer for Salt
20849
20850       salt.renderers.cheetah.render(cheetah_data,  saltenv=u'base',  sls=u'',
20851       method=u'xml', **kws)
20852              Render a Cheetah template.
20853
20854              Return type
20855                     A Python data structure
20856
20857   salt.renderers.dson
20858       DSON Renderer for Salt
20859
20860       This renderer is intended for demonstration  purposes.  Information  on
20861       the DSON spec can be found here.
20862
20863       This renderer requires Dogeon (installable via pip)
20864
20865       salt.renderers.dson.render(dson_input,     saltenv=u'base',    sls=u'',
20866       **kwargs)
20867              Accepts DSON data as a string or as a file object  and  runs  it
20868              through the JSON parser.
20869
20870              Return type
20871                     A Python data structure
20872
20873   salt.renderers.genshi
20874       Genshi Renderer for Salt
20875
20876       salt.renderers.genshi.render(genshi_data,   saltenv=u'base',   sls=u'',
20877       method=u'xml', **kws)
20878              Render a Genshi template. A method should be passed in  as  part
20879              of  the kwargs. If no method is passed in, xml is assumed. Valid
20880              methods are:
20881
20882              Note that the text method will call NewTextTemplate. If  oldtext
20883              is desired, it must be called explicitly
20884
20885              Return type
20886                     A Python data structure
20887
20888   salt.renderers.gpg
20889       Renderer that will decrypt GPG ciphers
20890
20891       Any  key  in  the  SLS file can be a GPG cipher, and this renderer will
20892       decrypt it before passing it off to Salt. This  allows  you  to  safely
20893       store secrets in source control, in such a way that only your Salt mas‐
20894       ter can decrypt them and distribute them only to the minions that  need
20895       them.
20896
20897       The  typical  use-case would be to use ciphers in your pillar data, and
20898       keep a secret key on your master. You can put the public key in  source
20899       control so that developers can add new secrets quickly and easily.
20900
20901       This renderer requires the gpg binary. No python libraries are required
20902       as of the 2015.8.0 release.
20903
20904   Setup
20905       To set things up, first generate a keypair. On the master, run the fol‐
20906       lowing:
20907
20908          # mkdir -p /etc/salt/gpgkeys
20909          # chmod 0700 /etc/salt/gpgkeys
20910          # gpg --gen-key --homedir /etc/salt/gpgkeys
20911
20912       Do  not  supply  a  password for the keypair, and use a name that makes
20913       sense for your application. Be sure to back up  the  gpgkeys  directory
20914       someplace safe!
20915
20916       NOTE:
20917          Unfortunately,  there  are  some scenarios - for example, on virtual
20918          machines which don’t have real hardware - where insufficient entropy
20919          causes  key  generation  to be extremely slow. In these cases, there
20920          are usually means of increasing the system entropy.  On  virtualised
20921          Linux  systems,  this  can  often  be  achieved  by  installing  the
20922          rng-tools package.
20923
20924   Export the Public Key
20925          # gpg --homedir /etc/salt/gpgkeys --armor --export <KEY-NAME> > exported_pubkey.gpg
20926
20927   Import the Public Key
20928       To encrypt secrets, copy the public key to your local machine and run:
20929
20930          $ gpg --import exported_pubkey.gpg
20931
20932       To generate a cipher from a secret:
20933
20934          $ echo -n "supersecret" | gpg --armor --batch --trust-model always --encrypt -r <KEY-name>
20935
20936       To apply the renderer on a file-by-file basis add the following line to
20937       the top of any pillar with gpg data in it:
20938
20939          #!yaml|gpg
20940
20941       Now with your renderer configured, you can include your ciphers in your
20942       pillar data like so:
20943
20944          #!yaml|gpg
20945
20946          a-secret: |
20947            -----BEGIN PGP MESSAGE-----
20948            Version: GnuPG v1
20949
20950            hQEMAweRHKaPCfNeAQf9GLTN16hCfXAbPwU6BbBK0unOc7i9/etGuVc5CyU9Q6um
20951            QuetdvQVLFO/HkrC4lgeNQdM6D9E8PKonMlgJPyUvC8ggxhj0/IPFEKmrsnv2k6+
20952            cnEfmVexS7o/U1VOVjoyUeliMCJlAz/30RXaME49Cpi6No2+vKD8a4q4nZN1UZcG
20953            RhkhC0S22zNxOXQ38TBkmtJcqxnqT6YWKTUsjVubW3bVC+u2HGqJHu79wmwuN8tz
20954            m4wBkfCAd8Eyo2jEnWQcM4TcXiF01XPL4z4g1/9AAxh+Q4d8RIRP4fbw7ct4nCJv
20955            Gr9v2DTF7HNigIMl4ivMIn9fp+EZurJNiQskLgNbktJGAeEKYkqX5iCuB1b693hJ
20956            FKlwHiJt5yA8X2dDtfk8/Ph1Jx2TwGS+lGjlZaNqp3R1xuAZzXzZMLyZDe5+i3RJ
20957            skqmFTbOiA===Eqsm
20958            -----END PGP MESSAGE-----
20959
20960   Encrypted CLI Pillar Data
20961       New in version 2016.3.0.
20962
20963
20964       Functions like state.highstate and state.sls allow for pillar  data  to
20965       be passed on the CLI.
20966
20967          salt myminion state.highstate pillar="{'mypillar': 'foo'}"
20968
20969       Starting with the 2016.3.0 release of Salt, it is now possible for this
20970       pillar data to be GPG-encrypted, and to use the GPG renderer to decrypt
20971       it.
20972
20973   Replacing Newlines
20974       To  pass encrypted pillar data on the CLI, the ciphertext must have its
20975       newlines replaced with a literal backslash-n (\n), as newlines are  not
20976       supported  within  Salt CLI arguments. There are a number of ways to do
20977       this:
20978
20979       With awk or Perl:
20980
20981          # awk
20982          ciphertext=`echo -n "supersecret" | gpg --armor --batch --trust-model always --encrypt -r user@domain.com | awk '{printf "%s\\n",$0} END {print ""}'`
20983          # Perl
20984          ciphertext=`echo -n "supersecret" | gpg --armor --batch --trust-model always --encrypt -r user@domain.com | perl -pe 's/\n/\\n/g'`
20985
20986       With Python:
20987
20988          import subprocess
20989
20990          secret, stderr = subprocess.Popen(
20991              ['gpg', '--armor', '--batch', '--trust-model', 'always', '--encrypt',
20992               '-r', 'user@domain.com'],
20993              stdin=subprocess.PIPE,
20994              stdout=subprocess.PIPE,
20995              stderr=subprocess.PIPE).communicate(input='supersecret')
20996
20997          if secret:
20998              print(secret.replace('\n', r'\n'))
20999          else:
21000              raise ValueError('No ciphertext found: {0}'.format(stderr))
21001
21002          ciphertext=`python /path/to/script.py`
21003
21004       The ciphertext can be included in the CLI pillar data like so:
21005
21006          salt myminion state.sls secretstuff pillar_enc=gpg pillar="{secret_pillar: '$ciphertext'}"
21007
21008       The pillar_enc=gpg argument tells Salt that there is GPG-encrypted pil‐
21009       lar  data,  so  that the CLI pillar data is passed through the GPG ren‐
21010       derer, which will iterate recursively though the CLI pillar  dictionary
21011       to decrypt any encrypted values.
21012
21013   Encrypting the Entire CLI Pillar Dictionary
21014       If  several  values  need to be encrypted, it may be more convenient to
21015       encrypt the entire CLI pillar dictionary. Again, this can  be  done  in
21016       several ways:
21017
21018       With awk or Perl:
21019
21020          # awk
21021          ciphertext=`echo -n "{'secret_a': 'CorrectHorseBatteryStaple', 'secret_b': 'GPG is fun!'}" | gpg --armor --batch --trust-model always --encrypt -r user@domain.com | awk '{printf "%s\\n",$0} END {print ""}'`
21022          # Perl
21023          ciphertext=`echo -n "{'secret_a': 'CorrectHorseBatteryStaple', 'secret_b': 'GPG is fun!'}" | gpg --armor --batch --trust-model always --encrypt -r user@domain.com | perl -pe 's/\n/\\n/g'`
21024
21025       With Python:
21026
21027          import subprocess
21028
21029          pillar_data = {'secret_a': 'CorrectHorseBatteryStaple',
21030                         'secret_b': 'GPG is fun!'}
21031
21032          secret, stderr = subprocess.Popen(
21033              ['gpg', '--armor', '--batch', '--trust-model', 'always', '--encrypt',
21034               '-r', 'user@domain.com'],
21035              stdin=subprocess.PIPE,
21036              stdout=subprocess.PIPE,
21037              stderr=subprocess.PIPE).communicate(input=repr(pillar_data))
21038
21039          if secret:
21040              print(secret.replace('\n', r'\n'))
21041          else:
21042              raise ValueError('No ciphertext found: {0}'.format(stderr))
21043
21044          ciphertext=`python /path/to/script.py`
21045
21046       With  the entire pillar dictionary now encrypted, it can be included in
21047       the CLI pillar data like so:
21048
21049          salt myminion state.sls secretstuff pillar_enc=gpg pillar="$ciphertext"
21050
21051       salt.renderers.gpg.render(gpg_data,      saltenv=u'base',      sls=u'',
21052       argline=u'', **kwargs)
21053              Create  a  gpg object given a gpg_keydir, and then use it to try
21054              to decrypt the data to be rendered.
21055
21056   salt.renderers.hjson
21057       hjson renderer for Salt
21058
21059       See the hjson documentation for more information
21060
21061       salt.renderers.hjson.render(hjson_data,    saltenv=u'base',    sls=u'',
21062       **kws)
21063              Accepts  HJSON  as  a  string  or  as  a file object and runs it
21064              through the HJSON parser.
21065
21066              Return type
21067                     A Python data structure
21068
21069   salt.renderers.jinja
21070       Jinja loading utils to enable a more powerful backend  for  jinja  tem‐
21071       plates
21072
21073       For Jinja usage information see Understanding Jinja.
21074
21075       salt.renderers.jinja.render(template_file,   saltenv=u'base',  sls=u'',
21076       argline=u'', context=None, tmplpath=None, **kws)
21077              Render the template_file, passing the functions and grains  into
21078              the Jinja rendering system.
21079
21080              Return type
21081                     string
21082
21083       class salt.utils.jinja.SerializerExtension(environment)
21084              Yaml and Json manipulation.
21085
21086              Format filters
21087
21088              Allows jsonifying or yamlifying any data structure. For example,
21089              this dataset:
21090
21091                 data = {
21092                     'foo': True,
21093                     'bar': 42,
21094                     'baz': [1, 2, 3],
21095                     'qux': 2.0
21096                 }
21097
21098                 yaml = {{ data|yaml }}
21099                 json = {{ data|json }}
21100                 python = {{ data|python }}
21101                 xml  = {{ {'root_node': data}|xml }}
21102
21103              will be rendered as:
21104
21105                 yaml = {bar: 42, baz: [1, 2, 3], foo: true, qux: 2.0}
21106                 json = {"baz": [1, 2, 3], "foo": true, "bar": 42, "qux": 2.0}
21107                 python = {'bar': 42, 'baz': [1, 2, 3], 'foo': True, 'qux': 2.0}
21108                 xml = """<<?xml version="1.0" ?>
21109                          <root_node bar="42" foo="True" qux="2.0">
21110                           <baz>1</baz>
21111                           <baz>2</baz>
21112                           <baz>3</baz>
21113                          </root_node>"""
21114
21115              The yaml filter takes an optional flow_style parameter  to  con‐
21116              trol the default-flow-style parameter of the YAML dumper.
21117
21118                 {{ data|yaml(False) }}
21119
21120              will be rendered as:
21121
21122                 bar: 42
21123                 baz:
21124                   - 1
21125                   - 2
21126                   - 3
21127                 foo: true
21128                 qux: 2.0
21129
21130              Load filters
21131
21132              Strings  and  variables  can  be deserialized with load_yaml and
21133              load_json tags and filters. It allows  one  to  manipulate  data
21134              directly in templates, easily:
21135
21136                 {%- set yaml_src = "{foo: it works}"|load_yaml %}
21137                 {%- set json_src = "{'bar': 'for real'}"|load_json %}
21138                 Dude, {{ yaml_src.foo }} {{ json_src.bar }}!
21139
21140              will be rendered as:
21141
21142                 Dude, it works for real!
21143
21144              Load tags
21145
21146              Salt implements load_yaml and load_json tags. They work like the
21147              import tag, except that the document is also deserialized.
21148
21149              Syntaxes are {% load_yaml as [VARIABLE] %}[YOUR DATA]{%  endload
21150              %} and {% load_json as [VARIABLE] %}[YOUR DATA]{% endload %}
21151
21152              For example:
21153
21154                 {% load_yaml as yaml_src %}
21155                     foo: it works
21156                 {% endload %}
21157                 {% load_json as json_src %}
21158                     {
21159                         "bar": "for real"
21160                     }
21161                 {% endload %}
21162                 Dude, {{ yaml_src.foo }} {{ json_src.bar }}!
21163
21164              will be rendered as:
21165
21166                 Dude, it works for real!
21167
21168              Import tags
21169
21170              External  files  can  be  imported and made available as a Jinja
21171              variable.
21172
21173                 {% import_yaml "myfile.yml" as myfile %}
21174                 {% import_json "defaults.json" as defaults %}
21175                 {% import_text "completeworksofshakespeare.txt" as poems %}
21176
21177              Catalog
21178
21179              import_* and load_* tags will automatically expose their  target
21180              variable  to  import. This feature makes catalog of data to han‐
21181              dle.
21182
21183              for example:
21184
21185                 # doc1.sls
21186                 {% load_yaml as var1 %}
21187                     foo: it works
21188                 {% endload %}
21189                 {% load_yaml as var2 %}
21190                     bar: for real
21191                 {% endload %}
21192
21193                 # doc2.sls
21194                 {% from "doc1.sls" import var1, var2 as local2 %}
21195                 {{ var1.foo }} {{ local2.bar }}
21196
21197              ** Escape Filters **
21198
21199              New in version 2017.7.0.
21200
21201
21202              Allows escaping of strings so they can be interpreted  literally
21203              by another function.
21204
21205              For example:
21206
21207                 regex_escape = {{ 'https://example.com?foo=bar%20baz' | regex_escape }}
21208
21209              will be rendered as:
21210
21211                 regex_escape = https\:\/\/example\.com\?foo\=bar\%20baz
21212
21213              ** Set Theory Filters **
21214
21215              New in version 2017.7.0.
21216
21217
21218              Performs set math using Jinja filters.
21219
21220              For example:
21221
21222                 unique = {{ ['foo', 'foo', 'bar'] | unique }}
21223
21224              will be rendered as:
21225
21226                 unique = ['foo', 'bar']
21227
21228   salt.renderers.json
21229       JSON Renderer for Salt
21230
21231       salt.renderers.json.render(json_data, saltenv=u'base', sls=u'', **kws)
21232              Accepts JSON as a string or as a file object and runs it through
21233              the JSON parser.
21234
21235              Return type
21236                     A Python data structure
21237
21238   salt.renderers.json5
21239       JSON5 Renderer for Salt
21240
21241       New in version 2016.3.0.
21242
21243
21244       JSON5 is an unofficial extension to  JSON.  See  http://json5.org/  for
21245       more information.
21246
21247       This renderer requires the json5 python bindings, installable via pip.
21248
21249       salt.renderers.json5.render(json_data, saltenv=u'base', sls=u'', **kws)
21250              Accepts JSON as a string or as a file object and runs it through
21251              the JSON parser.
21252
21253              Return type
21254                     A Python data structure
21255
21256   salt.renderers.mako
21257       Mako Renderer for Salt
21258
21259       salt.renderers.mako.render(template_file,   saltenv=u'base',   sls=u'',
21260       context=None, tmplpath=None, **kws)
21261              Render  the template_file, passing the functions and grains into
21262              the Mako rendering system.
21263
21264              Return type
21265                     string
21266
21267   salt.renderers.msgpack
21268       salt.renderers.msgpack.render(msgpack_data,  saltenv=u'base',  sls=u'',
21269       **kws)
21270              Accepts  a  message  pack  string or a file object, renders said
21271              data back to a python dict.
21272
21273              Return type
21274                     A Python data structure
21275
21276   salt.renderers.pass module
21277   Pass Renderer for Salt
21278       pass is an encrypted on-disk password store.
21279
21280       New in version 2017.7.0.
21281
21282
21283   Setup
21284       Note: <user> needs to be replaced with the  user  salt-master  will  be
21285       running as.
21286
21287       Have private gpg loaded into user's gpg keyring
21288
21289          load_private_gpg_key:
21290            cmd.run:
21291              - name: gpg --import <location_of_private_gpg_key>
21292              - unless: gpg --list-keys '<gpg_name>'
21293
21294       Said  private  key's  public  key should have been used when encrypting
21295       pass entries that are of interest for pillar data.
21296
21297       Fetch and keep local pass git repo up-to-date
21298
21299          update_pass:
21300            git.latest:
21301              - force_reset: True
21302              - name: <git_repo>
21303              - target: /<user>/.password-store
21304              - identity: <location_of_ssh_private_key>
21305              - require:
21306                - cmd: load_private_gpg_key
21307
21308       Install pass binary
21309
21310          pass:
21311            pkg.installed
21312
21313       salt.renderers.pass.render(pass_info,     saltenv=u'base',     sls=u'',
21314       argline=u'', **kwargs)
21315              Fetch secret from pass based on pass_path
21316
21317   salt.renderers.py
21318   Pure python state renderer
21319       To use this renderer, the SLS file should contain a function called run
21320       which returns highstate data.
21321
21322       The highstate data is a dictionary containing identifiers as keys,  and
21323       execution  dictionaries as values. For example the following state dec‐
21324       laration in YAML:
21325
21326          common_packages:
21327            pkg.installed:
21328             - pkgs:
21329                - curl
21330                - vim
21331
21332       tranlastes to:
21333
21334          {'common_packages': {'pkg.installed': [{'pkgs': ['curl', 'vim']}]}}
21335
21336       In this module, a few objects are defined for  you,  giving  access  to
21337       Salt's execution functions, grains, pillar, etc. They are:
21338
21339       · __salt__ - Execution functions (i.e.  __salt__['test.echo']('foo'))
21340
21341       · __grains__ - Grains (i.e. __grains__['os'])
21342
21343       · __pillar__ - Pillar data (i.e. __pillar__['foo'])
21344
21345       · __opts__ - Minion configuration options
21346
21347       · __env__ - The effective salt fileserver environment (i.e. base). Also
21348         referred to as a "saltenv". __env__ should not be modified in a  pure
21349         python  SLS  file.  To  use  a different environment, the environment
21350         should be set when executing the state. This can be done in a  couple
21351         different ways:
21352
21353         · Using the saltenv argument on the salt CLI (i.e. salt '*' state.sls
21354           foo.bar.baz saltenv=env_name).
21355
21356         · By adding a saltenv argument to an individual state within the  SLS
21357           file.  In  other words, adding a line like this to the state's data
21358           structure: {'saltenv': 'env_name'}
21359
21360       · __sls__ - The SLS path of the file. For example, if the root  of  the
21361         base    environment    is    /srv/salt,   and   the   SLS   file   is
21362         /srv/salt/foo/bar/baz.sls,  then  __sls__  in  that  file   will   be
21363         foo.bar.baz.
21364
21365       When  writing  a reactor SLS file the global context data (same as con‐
21366       text {{ data }} for states written with Jinja + YAML) is available. The
21367       following YAML + Jinja state declaration:
21368
21369          {% if data['id'] == 'mysql1' %}
21370          highstate_run:
21371            local.state.apply:
21372              - tgt: mysql1
21373          {% endif %}
21374
21375       translates to:
21376
21377          if data['id'] == 'mysql1':
21378              return {'highstate_run': {'local.state.apply': [{'tgt': 'mysql1'}]}}
21379
21380   Full Example
21381           #!py
21382
21383           def run():
21384               config = {}
21385
21386               if __grains__['os'] == 'Ubuntu':
21387                   user = 'ubuntu'
21388                   group = 'ubuntu'
21389                   home = '/home/{0}'.format(user)
21390               else:
21391                   user = 'root'
21392                   group = 'root'
21393                   home = '/root/'
21394
21395               config['s3cmd'] = {
21396                   'pkg': [
21397                       'installed',
21398                       {'name': 's3cmd'},
21399                   ],
21400               }
21401
21402               config[home + '/.s3cfg'] = {
21403                   'file.managed': [
21404                       {'source': 'salt://s3cfg/templates/s3cfg'},
21405                       {'template': 'jinja'},
21406                       {'user': user},
21407                       {'group': group},
21408                       {'mode': 600},
21409                       {'context': {
21410                           'aws_key': __pillar__['AWS_ACCESS_KEY_ID'],
21411                           'aws_secret_key': __pillar__['AWS_SECRET_ACCESS_KEY'],
21412                           },
21413                       },
21414                   ],
21415               }
21416
21417               return config
21418
21419       salt.renderers.py.render(template,       saltenv=u'base',      sls=u'',
21420       tmplpath=None, **kws)
21421              Render the python module's components
21422
21423              Return type
21424                     string
21425
21426   salt.renderers.pydsl
21427       A Python-based DSL
21428
21429       maintainer
21430              Jack Kuan <kjkuan@gmail.com>
21431
21432       maturity
21433              new
21434
21435       platform
21436              all
21437
21438       The pydsl renderer allows one to author salt formulas (.sls  files)  in
21439       pure  Python  using a DSL that's easy to write and easy to read. Here's
21440       an example:
21441
21442          #!pydsl
21443
21444          apache = state('apache')
21445          apache.pkg.installed()
21446          apache.service.running()
21447          state('/var/www/index.html') \
21448              .file('managed',
21449                    source='salt://webserver/index.html') \
21450              .require(pkg='apache')
21451
21452       Notice that any Python code is allow in  the  file  as  it's  really  a
21453       Python  module,  so you have the full power of Python at your disposal.
21454       In this module, a few objects are defined for you, including the  usual
21455       (with  __ added) __salt__ dictionary, __grains__, __pillar__, __opts__,
21456       __env__, and __sls__, plus a few more:
21457          __file__
21458              local file system path to the sls module.
21459
21460          __pydsl__
21461              Salt PyDSL object, useful for configuring DSL behavior  per  sls
21462              rendering.
21463
21464          include
21465              Salt PyDSL function for creating include-declaration's.
21466
21467          extend
21468              Salt PyDSL function for creating extend-declaration's.
21469
21470          state
21471              Salt PyDSL function for creating ID-declaration's.
21472
21473       A state ID-declaration is created with a state(id) function call.  Sub‐
21474       sequent state(id) call with the same id returns the same  object.  This
21475       singleton  access  pattern  applies  to all declaration objects created
21476       with the DSL.
21477
21478          state('example')
21479          assert state('example') is state('example')
21480          assert state('example').cmd is state('example').cmd
21481          assert state('example').cmd.running is state('example').cmd.running
21482
21483       The id argument is optional. If omitted, an UUID will be generated  and
21484       used as the id.
21485
21486       state(id) returns an object under which you can create a state-declara‐
21487       tion object by accessing an attribute  named  after  any  state  module
21488       available in Salt.
21489
21490          state('example').cmd
21491          state('example').file
21492          state('example').pkg
21493          ...
21494
21495       Then,  a function-declaration object can be created from a state-decla‐
21496       ration object by one of the following two ways:
21497
21498       1. by calling a method named after the state function on the state-dec‐
21499          laration object.
21500
21501          state('example').file.managed(...)
21502
21503       2. by  directly  calling the attribute named for the state-declaration,
21504          and supplying the state function name as the first argument.
21505
21506          state('example').file('managed', ...)
21507
21508       With either way of creating a function-declaration  object,  any  func‐
21509       tion-arg-declaration's  can be passed as keyword arguments to the call.
21510       Subsequent calls of a function-declaration will update the arg declara‐
21511       tions.
21512
21513          state('example').file('managed', source='salt://webserver/index.html')
21514          state('example').file.managed(source='salt://webserver/index.html')
21515
21516       As  a  shortcut,  the  special  name argument can also be passed as the
21517       first or second positional argument depending on the  first  or  second
21518       way of calling the state-declaration object. In the following two exam‐
21519       ples ls -la is the name argument.
21520
21521          state('example').cmd.run('ls -la', cwd='/')
21522          state('example').cmd('run', 'ls -la', cwd='/')
21523
21524       Finally, a requisite-declaration object with its  requisite-reference's
21525       can be created by invoking one of the requisite methods (see State Req‐
21526       uisites) on either a function-declaration object or a state-declaration
21527       object.  The return value of a requisite call is also a function-decla‐
21528       ration object, so you can chain several requisite calls together.
21529
21530       Arguments to a requisite  call  can  be  a  list  of  state-declaration
21531       objects and/or a set of keyword arguments whose names are state modules
21532       and values are IDs of ID-declaration's or names of name-declaration's.
21533
21534          apache2 = state('apache2')
21535          apache2.pkg.installed()
21536          state('libapache2-mod-wsgi').pkg.installed()
21537
21538          # you can call requisites on function declaration
21539          apache2.service.running() \
21540                         .require(apache2.pkg,
21541                                  pkg='libapache2-mod-wsgi') \
21542                         .watch(file='/etc/apache2/httpd.conf')
21543
21544          # or you can call requisites on state declaration.
21545          # this actually creates an anonymous function declaration object
21546          # to add the requisites.
21547          apache2.service.require(state('libapache2-mod-wsgi').pkg,
21548                                  pkg='apache2') \
21549                         .watch(file='/etc/apache2/httpd.conf')
21550
21551          # we still need to set the name of the function declaration.
21552          apache2.service.running()
21553
21554       include-declaration objects can be created with the  include  function,
21555       while  extend-declaration  objects can be created with the extend func‐
21556       tion, whose arguments are just function-declaration objects.
21557
21558          include('edit.vim', 'http.server')
21559          extend(state('apache2').service.watch(file='/etc/httpd/httpd.conf')
21560
21561       The include function, by default, causes the included sls  file  to  be
21562       rendered  as  soon as the include function is called. It returns a list
21563       of rendered module objects; sls files not rendered with the pydsl  ren‐
21564       derer return None's.  This behavior creates no include-declaration's in
21565       the resulting high state data structure.
21566
21567          import types
21568
21569          # including multiple sls returns a list.
21570          _, mod = include('a-non-pydsl-sls', 'a-pydsl-sls')
21571
21572          assert _ is None
21573          assert isinstance(slsmods[1], types.ModuleType)
21574
21575          # including a single sls returns a single object
21576          mod = include('a-pydsl-sls')
21577
21578          # myfunc is a function that calls state(...) to create more states.
21579          mod.myfunc(1, 2, "three")
21580
21581       Notice how you can define a reusable function in your pydsl sls  module
21582       and then call it via the module returned by include.
21583
21584       It's  still  possible  to  do late includes by passing the delayed=True
21585       keyword argument to include.
21586
21587          include('edit.vim', 'http.server', delayed=True)
21588
21589       Above will just create a include-declaration in  the  rendered  result,
21590       and such call always returns None.
21591
21592   Special integration with the cmd state
21593       Taking  advantage  of  rendering  a  Python module, PyDSL allows you to
21594       declare a state that calls a pre-defined Python function when the state
21595       is executed.
21596
21597          greeting = "hello world"
21598          def helper(something, *args, **kws):
21599              print greeting                # hello world
21600              print something, args, kws    # test123 ['a', 'b', 'c'] {'x': 1, 'y': 2}
21601
21602          state().cmd.call(helper, "test123", 'a', 'b', 'c', x=1, y=2)
21603
21604       The  cmd.call  state function takes care of calling our helper function
21605       with the arguments we specified  in  the  states,  and  translates  the
21606       return  value  of  our  function into a structure expected by the state
21607       system.  See salt.states.cmd.call() for more information.
21608
21609   Implicit ordering of states
21610       Salt states are explicitly ordered via  requisite-declaration's.   How‐
21611       ever,  with  pydsl it's possible to let the renderer track the order of
21612       creation for function-declaration objects, and implicitly  add  require
21613       requisites  for  your  states  to enforce the ordering. This feature is
21614       enabled by setting the ordered option on __pydsl__.
21615
21616       NOTE:
21617          this feature is only available if your minions are using  Python  >=
21618          2.7.
21619
21620          include('some.sls.file')
21621
21622          A = state('A').cmd.run(cwd='/var/tmp')
21623          extend(A)
21624
21625          __pydsl__.set(ordered=True)
21626
21627          for i in range(10):
21628              i = six.text_type(i)
21629              state(i).cmd.run('echo '+i, cwd='/')
21630          state('1').cmd.run('echo one')
21631          state('2').cmd.run(name='echo two')
21632
21633       Notice  that the ordered option needs to be set after any extend calls.
21634       This is to prevent pydsl from tracking the creation of a state function
21635       that's passed to an extend call.
21636
21637       Above example should create states from 0 to 9 that will output 0, one,
21638       two, 3, ... 9, in that order.
21639
21640       It's important to know that pydsl tracks the creations of function-dec‐
21641       laration objects, and automatically adds a require requisite to a func‐
21642       tion-declaration object that  requires  the  last  function-declaration
21643       object created before it in the sls file.
21644
21645       This  means  later  calls  (perhaps  to  update  the  function's  func‐
21646       tion-arg-declaration) to a previously created function declaration will
21647       not change the order.
21648
21649   Render time state execution
21650       When Salt processes a salt formula file, the file is rendered to salt's
21651       high state data representation by a renderer before the states  can  be
21652       executed.  In the case of the pydsl renderer, the .sls file is executed
21653       as a python module as it is being rendered which makes it easy to  exe‐
21654       cute a state at render time.  In pydsl, executing one or more states at
21655       render time can be done by calling a configured ID-declaration object.
21656
21657          #!pydsl
21658
21659          s = state() # save for later invocation
21660
21661          # configure it
21662          s.cmd.run('echo at render time', cwd='/')
21663          s.file.managed('target.txt', source='salt://source.txt')
21664
21665          s() # execute the two states now
21666
21667       Once an ID-declaration is called at render time it is detached from the
21668       sls module as if it was never defined.
21669
21670       NOTE:
21671          If      implicit      ordering     is     enabled     (i.e.,     via
21672          __pydsl__.set(ordered=True)) then the first invocation of a  ID-dec‐
21673          laration  object  must  be done before a new function-declaration is
21674          created.
21675
21676   Integration with the stateconf renderer
21677       The salt.renderers.stateconf renderer offers a few interesting features
21678       that  can be leveraged by the pydsl renderer. In particular, when using
21679       with the pydsl renderer, we are interested in stateconf's sls namespac‐
21680       ing  feature  (via dot-prefixed id declarations), as well as, the auto‐
21681       matic start and goal states generation.
21682
21683       Now you can use pydsl with stateconf like this:
21684
21685          #!pydsl|stateconf -ps
21686
21687          include('xxx', 'yyy')
21688
21689          # ensure that states in xxx run BEFORE states in this file.
21690          extend(state('.start').stateconf.require(stateconf='xxx::goal'))
21691
21692          # ensure that states in yyy run AFTER states in this file.
21693          extend(state('.goal').stateconf.require_in(stateconf='yyy::start'))
21694
21695          __pydsl__.set(ordered=True)
21696
21697          ...
21698
21699       -s enables the generation of a stateconf start state, and  -p  lets  us
21700       pipe high state data rendered by pydsl to stateconf. This example shows
21701       that by require-ing or require_in-ing the included sls' start  or  goal
21702       states, it's possible to ensure that the included sls files can be made
21703       to execute before or after a state in the including sls file.
21704
21705   Importing custom Python modules
21706       To use a custom Python module inside a PyDSL state,  place  the  module
21707       somewhere that it can be loaded by the Salt loader, such as _modules in
21708       the /srv/salt directory.
21709
21710       Then, copy it to any minions as necessary by  using  saltutil.sync_mod‐
21711       ules.
21712
21713       To  import  into  a  PyDSL SLS, one must bypass the Python importer and
21714       insert it manually by getting a  reference  from  Python's  sys.modules
21715       dictionary.
21716
21717       For example:
21718
21719          #!pydsl|stateconf -ps
21720
21721          def main():
21722              my_mod = sys.modules['salt.loaded.ext.module.my_mod']
21723
21724       salt.renderers.pydsl.render(template,     saltenv=u'base',     sls=u'',
21725       tmplpath=None, rendered_sls=None, **kws)
21726
21727   salt.renderers.pyobjects
21728       Python renderer that includes a Pythonic Object based interface
21729
21730       maintainer
21731              Evan Borgstrom <evan@borgstrom.ca>
21732
21733       Let's take a look at how you use pyobjects in a state  file.  Here's  a
21734       quick example that ensures the /tmp directory is in the correct state.
21735
21736           #!pyobjects
21737
21738           File.managed("/tmp", user='root', group='root', mode='1777')
21739
21740       Nice and Pythonic!
21741
21742       By  using  the  "shebang" syntax to switch to the pyobjects renderer we
21743       can now write our state data  using  an  object  based  interface  that
21744       should feel at home to python developers. You can import any module and
21745       do anything that you'd like (with caution, importing sqlalchemy, django
21746       or other large frameworks has not been tested yet). Using the pyobjects
21747       renderer is exactly the same as using the built-in Python renderer with
21748       the  exception  that pyobjects provides you with an object based inter‐
21749       face for generating state data.
21750
21751   Creating state data
21752       Pyobjects takes care of creating an object for each  of  the  available
21753       states  on  the  minion. Each state is represented by an object that is
21754       the CamelCase version of its name (i.e. File, Service, User, etc),  and
21755       these  objects  expose  all  of  their  available state functions (i.e.
21756       File.managed, Service.running, etc).
21757
21758       The name of the state is split based upon underscores  (_),  then  each
21759       part is capitalized and finally the parts are joined back together.
21760
21761       Some examples:
21762
21763       · postgres_user becomes PostgresUser
21764
21765       · ssh_known_hosts becomes SshKnownHosts
21766
21767   Context Managers and requisites
21768       How about something a little more complex. Here we're going to get into
21769       the core of how to use pyobjects to write states.
21770
21771           #!pyobjects
21772
21773           with Pkg.installed("nginx"):
21774               Service.running("nginx", enable=True)
21775
21776               with Service("nginx", "watch_in"):
21777                   File.managed("/etc/nginx/conf.d/mysite.conf",
21778                                owner='root', group='root', mode='0444',
21779                                source='salt://nginx/mysite.conf')
21780
21781       The objects that are returned from each of the magic method  calls  are
21782       setup to be used a Python context managers (with) and when you use them
21783       as such all declarations made within the scope will  automatically  use
21784       the enclosing state as a requisite!
21785
21786       The  above could have also been written use direct requisite statements
21787       as.
21788
21789           #!pyobjects
21790
21791           Pkg.installed("nginx")
21792           Service.running("nginx", enable=True, require=Pkg("nginx"))
21793           File.managed("/etc/nginx/conf.d/mysite.conf",
21794                        owner='root', group='root', mode='0444',
21795                        source='salt://nginx/mysite.conf',
21796                        watch_in=Service("nginx"))
21797
21798       You can use the direct requisite statement for referencing states  that
21799       are generated outside of the current file.
21800
21801           #!pyobjects
21802
21803           # some-other-package is defined in some other state file
21804           Pkg.installed("nginx", require=Pkg("some-other-package"))
21805
21806       The  last thing that direct requisites provide is the ability to select
21807       which of the SaltStack requisites you want to use (require, require_in,
21808       watch,  watch_in,  use  & use_in) when using the requisite as a context
21809       manager.
21810
21811           #!pyobjects
21812
21813           with Service("my-service", "watch_in"):
21814               ...
21815
21816       The above example would cause all declarations inside the scope of  the
21817       context  manager  to  automatically  have  their  watch_in  set to Ser‐
21818       vice("my-service").
21819
21820   Including and Extending
21821       To include other states use the include() function. It takes  one  name
21822       per state to include.
21823
21824       To extend another state use the extend() function on the name when cre‐
21825       ating a state.
21826
21827           #!pyobjects
21828
21829           include('http', 'ssh')
21830
21831           Service.running(extend('apache'),
21832                           watch=[File('/etc/httpd/extra/httpd-vhosts.conf')])
21833
21834   Importing from other state files
21835       Like any Python project that grows you will likely reach a point  where
21836       you  want  to  create  reusability in your state tree and share objects
21837       between state files, Map Data (described below) is a perfect example of
21838       this.
21839
21840       To  facilitate  this  Python's  import  statement has been augmented to
21841       allow for a special case when working with a Salt state  tree.  If  you
21842       specify  a  Salt url (salt://...) as the target for importing from then
21843       the pyobjects renderer will take care of fetching  the  file  for  you,
21844       parsing  it with all of the pyobjects features available and then place
21845       the requested objects in the global scope of the  template  being  ren‐
21846       dered.
21847
21848       This  works for all types of import statements; import X, from X import
21849       Y, and from X import Y as Z.
21850
21851           #!pyobjects
21852
21853           import salt://myfile.sls
21854           from salt://something/data.sls import Object
21855           from salt://something/data.sls import Object as Other
21856
21857       See the Map Data section for a more practical use.
21858
21859       Caveats:
21860
21861       · Imported objects are ALWAYS put into the global scope  of  your  tem‐
21862         plate, regardless of where your import statement is.
21863
21864   Salt object
21865       In the spirit of the object interface for creating state data pyobjects
21866       also provides a simple object interface to the __salt__ object.
21867
21868       A function named salt exists in scope for your sls files and will  dis‐
21869       patch its attributes to the __salt__ dictionary.
21870
21871       The following lines are functionally equivalent:
21872
21873           #!pyobjects
21874
21875           ret = salt.cmd.run(bar)
21876           ret = __salt__['cmd.run'](bar)
21877
21878   Pillar, grain, mine & config data
21879       Pyobjects   provides   shortcut   functions   for  calling  pillar.get,
21880       grains.get, mine.get & config.get on the __salt__  object.  This  helps
21881       maintain the readability of your state files.
21882
21883       Each  type  of  data can be access by a function of the same name: pil‐
21884       lar(), grains(), mine() and config().
21885
21886       The following pairs of lines are functionally equivalent:
21887
21888           #!pyobjects
21889
21890           value = pillar('foo:bar:baz', 'qux')
21891           value = __salt__['pillar.get']('foo:bar:baz', 'qux')
21892
21893           value = grains('pkg:apache')
21894           value = __salt__['grains.get']('pkg:apache')
21895
21896           value = mine('os:Fedora', 'network.interfaces', 'grain')
21897           value = __salt__['mine.get']('os:Fedora', 'network.interfaces', 'grain')
21898
21899           value = config('foo:bar:baz', 'qux')
21900           value = __salt__['config.get']('foo:bar:baz', 'qux')
21901
21902   Map Data
21903       When building complex states or formulas you often need a way of build‐
21904       ing  up  a map of data based on grain data. The most common use of this
21905       is tracking the package and service name differences between  distribu‐
21906       tions.
21907
21908       To build map data using pyobjects we provide a class named Map that you
21909       use to build your own classes with inner classes for each set of values
21910       for the different grain matches.
21911
21912           #!pyobjects
21913
21914           class Samba(Map):
21915               merge = 'samba:lookup'
21916               # NOTE: priority is new to 2017.7.0
21917               priority = ('os_family', 'os')
21918
21919               class Ubuntu:
21920                   __grain__ = 'os'
21921                   service = 'smbd'
21922
21923               class Debian:
21924                   server = 'samba'
21925                   client = 'samba-client'
21926                   service = 'samba'
21927
21928               class RHEL:
21929                   __match__ = 'RedHat'
21930                   server = 'samba'
21931                   client = 'samba'
21932                   service = 'smb'
21933
21934       NOTE:
21935          By  default,  the  os_family  grain  will  be used as the target for
21936          matching.  This  can  be  overridden  by  specifying   a   __grain__
21937          attribute.
21938
21939          If  a  __match__  attribute  is defined for a given class, then that
21940          value will be matched against  the  targeted  grain,  otherwise  the
21941          class name's value will be be matched.
21942
21943          Given the above example, the following is true:
21944
21945          1. Minions  with  an  os_family  of  Debian  will  be  assigned  the
21946             attributes defined in the Debian class.
21947
21948          2. Minions  with  an  os  grain  of  Ubuntu  will  be  assigned  the
21949             attributes defined in the Ubuntu class.
21950
21951          3. Minions  with  an  os_family grain of RedHat will be assigned the
21952             attributes defined in the RHEL class.
21953
21954          That said, sometimes a minion may match more  than  one  class.  For
21955          instance,  in  the above example, Ubuntu minions will match both the
21956          Debian and Ubuntu classes, since Ubuntu has an  os_family  grain  of
21957          Debian  and  an  os grain of Ubuntu. As of the 2017.7.0 release, the
21958          order is dictated by the order of declaration, with classes  defined
21959          later  overriding  earlier ones. Additionally, 2017.7.0 adds support
21960          for explicitly defining the ordering  using  an  optional  attribute
21961          called priority.
21962
21963          Given  the above example, os_family matches will be processed first,
21964          with os matches processed after.  This  would  have  the  effect  of
21965          assigning  smbd  as  the service attribute on Ubuntu minions. If the
21966          priority item was not defined, or if the order of the items  in  the
21967          priority  tuple  were  reversed, Ubuntu minions would have a service
21968          attribute of samba, since os_family matches  would  have  been  pro‐
21969          cessed second.
21970
21971       To  use  this  new data you can import it into your state file and then
21972       access your attributes. To access the data in the map you simply access
21973       the  attribute  name  on the base class that is extending Map. Assuming
21974       the above Map was in the file samba/map.sls, you could do  the  follow‐
21975       ing.
21976
21977           #!pyobjects
21978
21979           from salt://samba/map.sls import Samba
21980
21981           with Pkg.installed("samba", names=[Samba.server, Samba.client]):
21982               Service.running("samba", name=Samba.service)
21983
21984       class salt.renderers.pyobjects.PyobjectsModule(name, attrs)
21985              This provides a wrapper for bare imports.
21986
21987       salt.renderers.pyobjects.load_states()
21988              This loads our states into the salt __context__
21989
21990       salt.renderers.pyobjects.render(template,   saltenv=u'base',   sls=u'',
21991       salt_data=True, **kwargs)
21992
21993   salt.renderers.stateconf
21994       maintainer
21995              Jack Kuan <kjkuan@gmail.com>
21996
21997       maturity
21998              new
21999
22000       platform
22001              all
22002
22003       This module provides a custom renderer that processes a salt file  with
22004       a  specified  templating engine (e.g. Jinja) and a chosen data renderer
22005       (e.g. YAML), extracts arguments for any stateconf.set state,  and  pro‐
22006       vides  the  extracted  arguments (including Salt-specific args, such as
22007       require, etc) as template context. The goal is to  make  writing  reus‐
22008       able/configurable/parameterized salt files easier and cleaner.
22009
22010       To  use  this  renderer,  either set it as the default renderer via the
22011       renderer option in master/minion's config, or use the shebang  line  in
22012       each  individual  sls  file, like so: #!stateconf. Note, due to the way
22013       this renderer works, it must be specified as the first  renderer  in  a
22014       render pipeline. That is, you cannot specify #!mako|yaml|stateconf, for
22015       example.  Instead, you specify them as renderer arguments:  #!stateconf
22016       mako . yaml.
22017
22018       Here's a list of features enabled by this renderer.
22019
22020       · Prefixes  any  state id (declaration or reference) that starts with a
22021         dot (.)  to avoid duplicated state ids when the salt file is included
22022         by other salt files.
22023
22024         For  example,  in  the  salt://some/file.sls,  a  state  id  such  as
22025         .sls_params will be turned into some.file::sls_params. Example:
22026
22027            #!stateconf yaml . jinja
22028
22029            .vim:
22030              pkg.installed
22031
22032         Above will be translated into:
22033
22034            some.file::vim:
22035              pkg.installed:
22036                - name: vim
22037
22038         Notice how that if a state under a dot-prefixed state id has no  name
22039         argument  then  one will be added automatically by using the state id
22040         with the leading dot stripped off.
22041
22042         The leading dot trick can be used with extending state ids  as  well,
22043         so  you  can  include  relatively and extend relatively. For example,
22044         when extending a state in salt://some/other_file.sls, e.g.:
22045
22046            #!stateconf yaml . jinja
22047
22048            include:
22049              - .file
22050
22051            extend:
22052              .file::sls_params:
22053                stateconf.set:
22054                  - name1: something
22055
22056         Above will be pre-processed into:
22057
22058            include:
22059              - some.file
22060
22061            extend:
22062              some.file::sls_params:
22063                stateconf.set:
22064                  - name1: something
22065
22066       · Adds a sls_dir context variable that expands to  the  directory  con‐
22067         taining    the    rendering    salt   file.   So,   you   can   write
22068         salt://{{sls_dir}}/... to reference templates files used by your salt
22069         file.
22070
22071       · Recognizes the special state function, stateconf.set, that configures
22072         a default list of named arguments usable within the template  context
22073         of the salt file. Example:
22074
22075            #!stateconf yaml . jinja
22076
22077            .sls_params:
22078              stateconf.set:
22079                - name1: value1
22080                - name2: value2
22081                - name3:
22082                  - value1
22083                  - value2
22084                  - value3
22085                - require_in:
22086                  - cmd: output
22087
22088            # --- end of state config ---
22089
22090            .output:
22091              cmd.run:
22092                - name: |
22093                    echo 'name1={{sls_params.name1}}
22094                          name2={{sls_params.name2}}
22095                          name3[1]={{sls_params.name3[1]}}
22096                    '
22097
22098         This  even  works  with include + extend so that you can override the
22099         default configured arguments by including  the  salt  file  and  then
22100         extend  the  stateconf.set  states  that  come from the included salt
22101         file. (IMPORTANT: Both the included and the extending sls files  must
22102         use the stateconf renderer for this ``extend`` to work!)
22103
22104         Notice  that the end of configuration marker (# --- end of state con‐
22105         fig --) is needed to separate the use  of  'stateconf.set'  form  the
22106         rest  of  your  salt  file. The regex that matches such marker can be
22107         configured via the stateconf_end_marker option in your master or min‐
22108         ion config file.
22109
22110         Sometimes,  it  is  desirable  to set a default argument value that's
22111         based on earlier arguments in the same stateconf.set. For example, it
22112         may be tempting to do something like this:
22113
22114            #!stateconf yaml . jinja
22115
22116            .apache:
22117              stateconf.set:
22118                - host: localhost
22119                - port: 1234
22120                - url: 'http://{{host}}:{{port}}/'
22121
22122            # --- end of state config ---
22123
22124            .test:
22125              cmd.run:
22126                - name: echo '{{apache.url}}'
22127                - cwd: /
22128
22129         However, this won't work. It can however be worked around like so:
22130
22131            #!stateconf yaml . jinja
22132
22133            .apache:
22134              stateconf.set:
22135                - host: localhost
22136                - port: 1234
22137            {#  - url: 'http://{{host}}:{{port}}/' #}
22138
22139            # --- end of state config ---
22140            # {{ apache.setdefault('url', "http://%(host)s:%(port)s/" % apache) }}
22141
22142            .test:
22143              cmd.run:
22144                - name: echo '{{apache.url}}'
22145                - cwd: /
22146
22147       · Adds support for relative include and exclude of .sls files. Example:
22148
22149            #!stateconf yaml . jinja
22150
22151            include:
22152              - .apache
22153              - .db.mysql
22154              - ..app.django
22155
22156            exclude:
22157              - sls: .users
22158
22159         If  the above is written in a salt file at salt://some/where.sls then
22160         it will include salt://some/apache.sls, salt://some/db/mysql.sls  and
22161         salt://app/django.sls,  and  exclude salt://some/users.ssl. Actually,
22162         it does that by rewriting the above include and exclude into:
22163
22164            include:
22165              - some.apache
22166              - some.db.mysql
22167              - app.django
22168
22169            exclude:
22170              - sls: some.users
22171
22172       · Optionally (enabled by default, disable via the -G  renderer  option,
22173         e.g.  in the shebang line: #!stateconf -G), generates a stateconf.set
22174         goal state (state id named as .goal by default, configurable via  the
22175         master/minion  config option, stateconf_goal_state) that requires all
22176         other states in the salt file. Note, the .goal state id is subject to
22177         dot-prefix rename rule mentioned earlier.
22178
22179         Such  goal  state  is  intended  to  be  required by some state in an
22180         including salt file. For example, in your webapp salt  file,  if  you
22181         include  a  sls file that is supposed to setup Tomcat, you might want
22182         to make sure that all states in the Tomcat sls file will be  executed
22183         before some state in the webapp sls file.
22184
22185       · Optionally  (enable  via  the -o renderer option, e.g. in the shebang
22186         line: #!stateconf -o), orders the states in a sls file  by  adding  a
22187         require  requisite  to  each state such that every state requires the
22188         state defined just before it. The order of the  states  here  is  the
22189         order  they  are defined in the sls file. (Note: this feature is only
22190         available if your minions are using Python >= 2.7. For Python2.6,  it
22191         should also work if you install the ordereddict module from PyPI)
22192
22193         By  enabling  this feature, you are basically agreeing to author your
22194         sls files in a way that gives up the explicit (or implicit?) ordering
22195         imposed  by  the use of require, watch, require_in or watch_in requi‐
22196         sites, and instead, you rely on the order of states you define in the
22197         sls  files.  This may or may not be a better way for you. However, if
22198         there are many states defined in a sls file, then it tends to be eas‐
22199         ier to see the order they will be executed with this feature.
22200
22201         You  are still allowed to use all the requisites, with a few restric‐
22202         tions.  You cannot require or watch a state defined after the current
22203         state.  Similarly,  in  a  state, you cannot require_in or watch_in a
22204         state defined before it. Breaking any of the two  restrictions  above
22205         will  result in a state loop. The renderer will check for such incor‐
22206         rect uses if this feature is enabled.
22207
22208         Additionally, names declarations cannot be  used  with  this  feature
22209         because  the way they are compiled into low states make it impossible
22210         to guarantee the order in which they will be executed. This  is  also
22211         checked  by  the  renderer. As a workaround for not being able to use
22212         names, you can achieve the same effect, by generate your states  with
22213         the template engine available within your sls file.
22214
22215         Finally,  with the use of this feature, it becomes possible to easily
22216         make an included sls file execute all its  states  after  some  state
22217         (say, with id X) in the including sls file.  All you have to do is to
22218         make state, X, require_in the first state defined in the included sls
22219         file.
22220
22221       When  writing sls files with this renderer, one should avoid using what
22222       can be defined in a name argument of a state as the  state's  id.  That
22223       is, avoid writing states like this:
22224
22225          /path/to/some/file:
22226            file.managed:
22227              - source: salt://some/file
22228
22229          cp /path/to/some/file file2:
22230            cmd.run:
22231              - cwd: /
22232              - require:
22233                - file: /path/to/some/file
22234
22235       Instead,  define the state id and the name argument separately for each
22236       state. Also, the ID should be something meaningful and easy  to  refer‐
22237       ence  within  a requisite (which is a good habit anyway, and such extra
22238       indirection would also makes the sls  file  easier  to  modify  later).
22239       Thus, the above states should be written like this:
22240
22241          add-some-file:
22242            file.managed:
22243              - name: /path/to/some/file
22244              - source: salt://some/file
22245
22246          copy-files:
22247            cmd.run:
22248              - name: cp /path/to/some/file file2
22249              - cwd: /
22250              - require:
22251                - file: add-some-file
22252
22253       Moreover,  when referencing a state from a requisite, you should refer‐
22254       ence the state's id plus the state name rather than the state name plus
22255       its name argument. (Yes, in the above example, you can actually require
22256       the file: /path/to/some/file, instead of the file: add-some-file).  The
22257       reason  is  that  this  renderer will re-write or rename state id's and
22258       their references for state id's prefixed with .. So, if  you  reference
22259       name then there's no way to reliably rewrite such reference.
22260
22261   salt.renderers.wempy
22262       salt.renderers.wempy.render(template_file,   saltenv=u'base',  sls=u'',
22263       argline=u'', context=None, **kws)
22264              Render the data passing the functions and grains into  the  ren‐
22265              dering system
22266
22267              Return type
22268                     string
22269
22270   salt.renderers.yaml
22271   Understanding YAML
22272       The  default  renderer  for  SLS  files is the YAML renderer. YAML is a
22273       markup language with many powerful features. However, Salt uses a small
22274       subset  of YAML that maps over very commonly used data structures, like
22275       lists and dictionaries. It is the job of the YAML renderer to take  the
22276       YAML data structure and compile it into a Python data structure for use
22277       by Salt.
22278
22279       Though YAML syntax may seem daunting and terse at first, there are only
22280       three very simple rules to remember when writing YAML for SLS files.
22281
22282   Rule One: Indentation
22283       YAML uses a fixed indentation scheme to represent relationships between
22284       data layers. Salt requires that the indentation for each level consists
22285       of exactly two spaces. Do not use tabs.
22286
22287   Rule Two: Colons
22288       Python  dictionaries are, of course, simply key-value pairs. Users from
22289       other languages may recognize this data type as hashes  or  associative
22290       arrays.
22291
22292       Dictionary  keys  are  represented  in  YAML as strings terminated by a
22293       trailing colon.  Values are represented by either  a  string  following
22294       the colon, separated by a space:
22295
22296          my_key: my_value
22297
22298       In Python, the above maps to:
22299
22300          {'my_key': 'my_value'}
22301
22302       Dictionaries can be nested:
22303
22304          first_level_dict_key:
22305            second_level_dict_key: value_in_second_level_dict
22306
22307       And in Python:
22308
22309          {'first_level_dict_key': {'second_level_dict_key': 'value_in_second_level_dict' } }
22310
22311   Rule Three: Dashes
22312       To represent lists of items, a single dash followed by a space is used.
22313       Multiple items are a part of the same list as a function of their  hav‐
22314       ing the same level of indentation.
22315
22316          - list_value_one
22317          - list_value_two
22318          - list_value_three
22319
22320       Lists  can  be  the  value of a key-value pair. This is quite common in
22321       Salt:
22322
22323          my_dictionary:
22324            - list_value_one
22325            - list_value_two
22326            - list_value_three
22327
22328   Reference
22329       YAML Renderer for Salt
22330
22331       For YAML usage information see Understanding YAML.
22332
22333       salt.renderers.yaml.get_yaml_loader(argline)
22334              Return the ordered dict yaml loader
22335
22336       salt.renderers.yaml.render(yaml_data,     saltenv=u'base',     sls=u'',
22337       argline=u'', **kws)
22338              Accepts YAML as a string or as a file object and runs it through
22339              the YAML parser.
22340
22341              Return type
22342                     A Python data structure
22343
22344   salt.renderers.yamlex
22345       YAMLEX renderer is a replacement of the YAML renderer.  It's 100%  YAML
22346       with a pinch of Salt magic:
22347
22348       · All mappings are automatically OrderedDict
22349
22350       · All strings are automatically str obj
22351
22352       · data   aggregation   with   !aggregation   yaml  tag,  based  on  the
22353         salt.utils.aggregation module.
22354
22355       · data aggregation over documents for pillar
22356
22357       Instructed aggregation within the !aggregation and the !reset tags:
22358
22359          #!yamlex
22360          foo: !aggregate first
22361          foo: !aggregate second
22362          bar: !aggregate {first: foo}
22363          bar: !aggregate {second: bar}
22364          baz: !aggregate 42
22365          qux: !aggregate default
22366          !reset qux: !aggregate my custom data
22367
22368       is roughly equivalent to
22369
22370          foo: [first, second]
22371          bar: {first: foo, second: bar}
22372          baz: [42]
22373          qux: [my custom data]
22374
22375   Reference
22376       salt.renderers.yamlex.render(sls_data, saltenv=u'base', sls=u'', **kws)
22377              Accepts YAML_EX as a string or as a  file  object  and  runs  it
22378              through the YAML_EX parser.
22379
22380              Return type
22381                     A Python data structure
22382

USING SALT

22384       This section describes the fundamental components and concepts that you
22385       need to understand to use Salt.
22386
22387   Grains
22388       Salt comes with an interface to derive information about the underlying
22389       system.   This is called the grains interface, because it presents salt
22390       with grains of information. Grains are collected for the operating sys‐
22391       tem,  domain  name, IP address, kernel, OS type, memory, and many other
22392       system properties.
22393
22394       The grains interface is made available to Salt modules  and  components
22395       so  that  the right salt minion commands are automatically available on
22396       the right systems.
22397
22398       Grain data is relatively static, though if system  information  changes
22399       (for  example,  if  network settings are changed), or if a new value is
22400       assigned to a custom grain, grain data is refreshed.
22401
22402       NOTE:
22403          Grains resolve to lowercase letters. For example, FOO, and foo  tar‐
22404          get the same grain.
22405
22406   Listing Grains
22407       Available grains can be listed by using the 'grains.ls' module:
22408
22409          salt '*' grains.ls
22410
22411       Grains data can be listed by using the 'grains.items' module:
22412
22413          salt '*' grains.items
22414
22415   Using grains in a state
22416       To use a grain in a state you can access it via {{ grains['key'] }}.
22417
22418   Grains in the Minion Config
22419       Grains  can also be statically assigned within the minion configuration
22420       file.  Just add the option grains and pass options to it:
22421
22422          grains:
22423            roles:
22424              - webserver
22425              - memcache
22426            deployment: datacenter4
22427            cabinet: 13
22428            cab_u: 14-15
22429
22430       Then status data specific to your servers can be retrieved via Salt, or
22431       used inside of the State system for matching. It also makes it possible
22432       to target based on specific data about your deployment, as in the exam‐
22433       ple above.
22434
22435   Grains in /etc/salt/grains
22436       If  you  do  not  want to place your custom static grains in the minion
22437       config file, you can also put them in /etc/salt/grains on  the  minion.
22438       They are configured in the same way as in the above example, only with‐
22439       out a top-level grains: key:
22440
22441          roles:
22442            - webserver
22443            - memcache
22444          deployment: datacenter4
22445          cabinet: 13
22446          cab_u: 14-15
22447
22448       NOTE:
22449          Grains in /etc/salt/grains are  ignored  if  you  specify  the  same
22450          grains in the minion config.
22451
22452       NOTE:
22453          Grains  are  static, and since they are not often changed, they will
22454          need a grains refresh when they are updated.  You  can  do  this  by
22455          calling: salt minion saltutil.refresh_modules
22456
22457       NOTE:
22458          You  can equally configure static grains for Proxy Minions.  As mul‐
22459          tiple Proxy Minion processes can run on the same machine,  you  need
22460          to    index    the    files    using    the    Minion    ID,   under
22461          /etc/salt/proxy.d/<minion ID>/grains.  For example, the  grains  for
22462          the     Proxy     Minion    router1    can    be    defined    under
22463          /etc/salt/proxy.d/router1/grains, while the  grains  for  the  Proxy
22464          Minion switch7 can be put in /etc/salt/proxy.d/switch7/grains.
22465
22466   Matching Grains in the Top File
22467       With  correctly  configured  grains on the Minion, the top file used in
22468       Pillar or during Highstate can be made  very  efficient.  For  example,
22469       consider the following configuration:
22470
22471          'roles:webserver':
22472            - match: grain
22473            - state0
22474
22475          'roles:memcache':
22476            - match: grain
22477            - state1
22478            - state2
22479
22480       For this example to work, you would need to have defined the grain role
22481       for the minions you wish to match.
22482
22483   Writing Grains
22484       The grains are derived by executing all of the "public" functions (i.e.
22485       those  which  do  not  begin  with  an underscore) found in the modules
22486       located in the Salt's core grains code, followed by those in any custom
22487       grains  modules.  The functions in a grains module must return a Python
22488       dictionary, where the dictionary keys are the names of grains, and each
22489       key's value is that value for that grain.
22490
22491       Custom  grains modules should be placed in a subdirectory named _grains
22492       located under the file_roots specified by the master config  file.  The
22493       default  path would be /srv/salt/_grains. Custom grains modules will be
22494       distributed to the minions when state.highstate is run, or by executing
22495       the saltutil.sync_grains or saltutil.sync_all functions.
22496
22497       Grains  modules  are  easy  to write, and (as noted above) only need to
22498       return a dictionary. For example:
22499
22500          def yourfunction():
22501               # initialize a grains dictionary
22502               grains = {}
22503               # Some code for logic that sets grains like
22504               grains['yourcustomgrain'] = True
22505               grains['anothergrain'] = 'somevalue'
22506               return grains
22507
22508       The name of the function does not matter and will not factor  into  the
22509       grains  data  at  all; only the keys/values returned become part of the
22510       grains.
22511
22512   When to Use a Custom Grain
22513       Before adding new grains, consider what the data is and  remember  that
22514       grains should (for the most part) be static data.
22515
22516       If  the data is something that is likely to change, consider using Pil‐
22517       lar or an execution module instead. If it's a simple set  of  key/value
22518       pairs,  pillar  is  a good match. If compiling the information requires
22519       that system commands be run, then putting this information in an execu‐
22520       tion module is likely a better idea.
22521
22522       Good  candidates  for grains are data that is useful for targeting min‐
22523       ions in the top file or the Salt CLI. The name and  data  structure  of
22524       the  grain should be designed to support many platforms, operating sys‐
22525       tems or applications. Also, keep in mind that Jinja templating in  Salt
22526       supports  referencing  pillar  data  as well as invoking functions from
22527       execution modules, so there's no need to place information in grains to
22528       make it available to Jinja templates. For example:
22529
22530          ...
22531          ...
22532          {{ salt['module.function_name']('argument_1', 'argument_2') }}
22533          {{ pillar['my_pillar_key'] }}
22534          ...
22535          ...
22536
22537       WARNING:
22538          Custom  grains will not be available in the top file until after the
22539          first highstate. To make custom grains available on a minion's first
22540          highstate,  it is recommended to use this example to ensure that the
22541          custom grains are synced when the minion starts.
22542
22543   Loading Custom Grains
22544       If you have multiple functions specifying grains that are called from a
22545       main  function,  be sure to prepend grain function names with an under‐
22546       score. This prevents Salt from including the  loaded  grains  from  the
22547       grain  functions  in  the final grain data structure. For example, con‐
22548       sider this custom grain file:
22549
22550          #!/usr/bin/env python
22551          def _my_custom_grain():
22552              my_grain = {'foo': 'bar', 'hello': 'world'}
22553              return my_grain
22554
22555
22556          def main():
22557              # initialize a grains dictionary
22558              grains = {}
22559              grains['my_grains'] = _my_custom_grain()
22560              return grains
22561
22562       The output of this example renders like so:
22563
22564          # salt-call --local grains.items
22565          local:
22566              ----------
22567              <Snipped for brevity>
22568              my_grains:
22569                  ----------
22570                  foo:
22571                      bar
22572                  hello:
22573                      world
22574
22575       However, if you don't prepend  the  my_custom_grain  function  with  an
22576       underscore,  the  function  will be rendered twice by Salt in the items
22577       output: once for the my_custom_grain call itself, and again when it  is
22578       called in the main function:
22579
22580          # salt-call --local grains.items
22581          local:
22582          ----------
22583              <Snipped for brevity>
22584              foo:
22585                  bar
22586              <Snipped for brevity>
22587              hello:
22588                  world
22589              <Snipped for brevity>
22590              my_grains:
22591                  ----------
22592                  foo:
22593                      bar
22594                  hello:
22595                      world
22596
22597   Precedence
22598       Core  grains  can  be overridden by custom grains. As there are several
22599       ways of defining custom grains, there is an order of  precedence  which
22600       should  be  kept in mind when defining them. The order of evaluation is
22601       as follows:
22602
22603       1. Core grains.
22604
22605       2. Custom grains in /etc/salt/grains.
22606
22607       3. Custom grains in /etc/salt/minion.
22608
22609       4. Custom grain modules in _grains directory, synced to minions.
22610
22611       Each successive evaluation overrides the previous ones, so  any  grains
22612       defined  by  custom grains modules synced to minions that have the same
22613       name as a core grain will override that core grain.  Similarly,  grains
22614       from  /etc/salt/minion  override both core grains and custom grain mod‐
22615       ules, and grains in _grains will override any grains of the same name.
22616
22617       For custom grains, if the function takes an argument grains,  then  the
22618       previously  rendered grains will be passed in.  Because the rest of the
22619       grains could be rendered in any order, the  only  grains  that  can  be
22620       relied  upon  to  be  passed  in are core grains. This was added in the
22621       2019.2.0 release.
22622
22623   Examples of Grains
22624       The core module in the grains package is  where  the  main  grains  are
22625       loaded  by the Salt minion and provides the principal example of how to
22626       write grains:
22627
22628       https://github.com/saltstack/salt/blob/master/salt/grains/core.py
22629
22630   Syncing Grains
22631       Syncing grains can be done a number of  ways.  They  are  automatically
22632       synced  when  state.highstate is called, or (as noted above) the grains
22633       can be manually synced and reloaded by calling the saltutil.sync_grains
22634       or saltutil.sync_all functions.
22635
22636       NOTE:
22637          When  the  grains_cache  is  set  to False, the grains dictionary is
22638          built and stored in memory on the  minion.  Every  time  the  minion
22639          restarts  or saltutil.refresh_grains is run, the grain dictionary is
22640          rebuilt from scratch.
22641
22642   Storing Static Data in the Pillar
22643       Pillar is an interface for Salt designed to offer  global  values  that
22644       can  be distributed to minions. Pillar data is managed in a similar way
22645       as the Salt State Tree.
22646
22647       Pillar was added to Salt in version 0.9.8
22648
22649       NOTE:
22650          Storing sensitive data
22651
22652          Pillar data is compiled on the master. Additionally, pillar data for
22653          a given minion is only accessible by the minion for which it is tar‐
22654          geted in the pillar configuration.  This  makes  pillar  useful  for
22655          storing sensitive data specific to a particular minion.
22656
22657   Declaring the Master Pillar
22658       The  Salt Master server maintains a pillar_roots setup that matches the
22659       structure of  the  file_roots  used  in  the  Salt  file  server.  Like
22660       file_roots,  the  pillar_roots option maps environments to directories.
22661       The pillar data is then mapped to minions based on matchers  in  a  top
22662       file which is laid out in the same way as the state top file. Salt pil‐
22663       lars can use the same matcher types as the standard top file.
22664
22665       conf_master:pillar_roots is configured just like file_roots.  For exam‐
22666       ple:
22667
22668          pillar_roots:
22669            base:
22670              - /srv/pillar
22671
22672       This  example  configuration declares that the base environment will be
22673       located in the /srv/pillar directory. It must not be in a  subdirectory
22674       of the state tree.
22675
22676       The top file used matches the name of the top file used for States, and
22677       has the same structure:
22678
22679       /srv/pillar/top.sls
22680
22681          base:
22682            '*':
22683              - packages
22684
22685       In the above top file, it is declared that in the base environment, the
22686       glob  matching all minions will have the pillar data found in the pack‐
22687       ages pillar  available  to  it.  Assuming  the  pillar_roots  value  of
22688       /srv/pillar  taken  from above, the packages pillar would be located at
22689       /srv/pillar/packages.sls.
22690
22691       Any number of matchers can be added to the base environment. For  exam‐
22692       ple, here is an expanded version of the Pillar top file stated above:
22693
22694       /srv/pillar/top.sls:
22695
22696          base:
22697            '*':
22698              - packages
22699            'web*':
22700              - vim
22701
22702       In  this expanded top file, minions that match web* will have access to
22703       the /srv/pillar/packages.sls file, as well as  the  /srv/pillar/vim.sls
22704       file.
22705
22706       Another  example  shows how to use other standard top matching types to
22707       deliver specific salt pillar data to minions with different properties.
22708
22709       Here is an example using the grains matcher to target pillars  to  min‐
22710       ions by their os grain:
22711
22712          dev:
22713            'os:Debian':
22714              - match: grain
22715              - servers
22716
22717       Pillar  definitions  can  also  take a keyword argument ignore_missing.
22718       When the value of ignore_missing is True, all errors for missing pillar
22719       files are ignored. The default value for ignore_missing is False.
22720
22721       Here is an example using the ignore_missing keyword parameter to ignore
22722       errors for missing pillar files:
22723
22724          base:
22725            '*':
22726              - servers
22727              - systems
22728              - ignore_missing: True
22729
22730       Assuming that the pillar servers exists in the fileserver  backend  and
22731       the  pillar  systems  doesn't,  all  pillar data from servers pillar is
22732       delivered to minions and no error for the  missing  pillar  systems  is
22733       noted under the key _errors in the pillar data delivered to minions.
22734
22735       Should  the  ignore_missing  keyword parameter have the value False, an
22736       error for the missing pillar systems would produce the value  Specified
22737       SLS 'servers' in environment 'base' is not available on the salt master
22738       under the key _errors in the pillar data delivered to minions.
22739
22740       /srv/pillar/packages.sls
22741
22742          {% if grains['os'] == 'RedHat' %}
22743          apache: httpd
22744          git: git
22745          {% elif grains['os'] == 'Debian' %}
22746          apache: apache2
22747          git: git-core
22748          {% endif %}
22749
22750          company: Foo Industries
22751
22752       IMPORTANT:
22753          See Is Targeting using Grain Data  Secure?  for  important  security
22754          information.
22755
22756       The  above pillar sets two key/value pairs. If a minion is running Red‐
22757       Hat, then the apache key is set to httpd and the git key is set to  the
22758       value of git. If the minion is running Debian, those values are changed
22759       to apache2 and git-core respectively. All minions that have this pillar
22760       targeting  to  them  via a top file will have the key of company with a
22761       value of Foo Industries.
22762
22763       Consequently this data can be  used  from  within  modules,  renderers,
22764       State SLS files, and more via the shared pillar dictionary:
22765
22766          apache:
22767            pkg.installed:
22768              - name: {{ pillar['apache'] }}
22769
22770          git:
22771            pkg.installed:
22772              - name: {{ pillar['git'] }}
22773
22774       Finally,  the  above states can utilize the values provided to them via
22775       Pillar.  All pillar values targeted to a minion are available  via  the
22776       'pillar'  dictionary.  As seen in the above example, Jinja substitution
22777       can then be utilized to access the keys and values in the  Pillar  dic‐
22778       tionary.
22779
22780       Note  that  you  cannot  just  list  key/value-information  in top.sls.
22781       Instead, target a minion to a pillar file and then list  the  keys  and
22782       values in the pillar. Here is an example top file that illustrates this
22783       point:
22784
22785          base:
22786            '*':
22787               - common_pillar
22788
22789       And the actual pillar file at '/srv/pillar/common_pillar.sls':
22790
22791          foo: bar
22792          boo: baz
22793
22794       NOTE:
22795          When working with multiple pillar environments, assuming  that  each
22796          pillar  environment  has  its own top file, the jinja placeholder {{
22797          saltenv }} can be used in place of the environment name:
22798
22799              {{ saltenv }}:
22800                '*':
22801                   - common_pillar
22802
22803          Yes, this is {{ saltenv }}, and not {{ pillarenv }}. The reason  for
22804          this  is  because  the Pillar top files are parsed using some of the
22805          same code which parses top files when running states, so the  pillar
22806          environment takes the place of {{ saltenv }} in the jinja context.
22807
22808   Dynamic Pillar Environments
22809       If  environment  __env__ is specified in pillar_roots, all environments
22810       that are not explicitly specified  in  pillar_roots  will  map  to  the
22811       directories  from  __env__.  This  allows one to use dynamic git branch
22812       based environments for state/pillar files with the same file-based pil‐
22813       lar applying to all environments. For example:
22814
22815          pillar_roots:
22816            __env__:
22817              - /srv/pillar
22818
22819          ext_pillar:
22820            - git:
22821              - __env__ https://example.com/git-pillar.git
22822
22823       New in version 2017.7.5,2018.3.1.
22824
22825
22826   Pillar Namespace Flattening
22827       The  separate  pillar SLS files all merge down into a single dictionary
22828       of key-value pairs. When the same key is defined in multiple SLS files,
22829       this  can result in unexpected behavior if care is not taken to how the
22830       pillar SLS files are laid out.
22831
22832       For example, given a top.sls containing the following:
22833
22834          base:
22835            '*':
22836              - packages
22837              - services
22838
22839       with packages.sls containing:
22840
22841          bind: bind9
22842
22843       and services.sls containing:
22844
22845          bind: named
22846
22847       Then a request for the bind pillar key  will  only  return  named.  The
22848       bind9 value will be lost, because services.sls was evaluated later.
22849
22850       NOTE:
22851          Pillar  files  are  applied  in the order they are listed in the top
22852          file.  Therefore conflicting keys will be overwritten in a 'last one
22853          wins'  manner!   For  example, in the above scenario conflicting key
22854          values in services will overwrite those in packages because it's  at
22855          the bottom of the list.
22856
22857       It  can  be  better to structure your pillar files with more hierarchy.
22858       For example the package.sls file could be configured like so:
22859
22860          packages:
22861            bind: bind9
22862
22863       This would make the packages pillar key a nested dictionary  containing
22864       a bind key.
22865
22866   Pillar Dictionary Merging
22867       If the same pillar key is defined in multiple pillar SLS files, and the
22868       keys in both files refer to nested dictionaries, then the content  from
22869       these dictionaries will be recursively merged.
22870
22871       For example, keeping the top.sls the same, assume the following modifi‐
22872       cations to the pillar SLS files:
22873
22874       packages.sls:
22875
22876          bind:
22877            package-name: bind9
22878            version: 9.9.5
22879
22880       services.sls:
22881
22882          bind:
22883            port: 53
22884            listen-on: any
22885
22886       The resulting pillar dictionary will be:
22887
22888          $ salt-call pillar.get bind
22889          local:
22890              ----------
22891              listen-on:
22892                  any
22893              package-name:
22894                  bind9
22895              port:
22896                  53
22897              version:
22898                  9.9.5
22899
22900       Since both pillar SLS files contained a  bind  key  which  contained  a
22901       nested  dictionary,  the pillar dictionary's bind key contains the com‐
22902       bined contents of both SLS files' bind keys.
22903
22904   Including Other Pillars
22905       New in version 0.16.0.
22906
22907
22908       Pillar SLS files may include  other  pillar  files,  similar  to  State
22909       files.  Two  syntaxes  are  available for this purpose. The simple form
22910       simply includes the additional pillar as if it were part  of  the  same
22911       file:
22912
22913          include:
22914            - users
22915
22916       The  full include form allows two additional options -- passing default
22917       values to the templating engine for the included pillar file as well as
22918       an optional key under which to nest the results of the included pillar:
22919
22920          include:
22921            - users:
22922                defaults:
22923                    sudo: ['bob', 'paul']
22924                key: users
22925
22926       With this form, the included file (users.sls) will be nested within the
22927       'users' key of the compiled pillar. Additionally, the 'sudo' value will
22928       be available as a template variable to users.sls.
22929
22930   In-Memory Pillar Data vs. On-Demand Pillar Data
22931       Since  compiling  pillar  data is computationally expensive, the minion
22932       will maintain a copy of the pillar data in memory to avoid  needing  to
22933       ask  the master to recompile and send it a copy of the pillar data each
22934       time pillar data is requested. This in-memory pillar data  is  what  is
22935       returned by the pillar.item, pillar.get, and pillar.raw functions.
22936
22937       Also,  for  those  writing custom execution modules, or contributing to
22938       Salt's existing execution modules, the in-memory pillar data is  avail‐
22939       able as the __pillar__ dunder dictionary.
22940
22941       The  in-memory  pillar  data  is  generated on minion start, and can be
22942       refreshed using the saltutil.refresh_pillar function:
22943
22944          salt '*' saltutil.refresh_pillar
22945
22946       This function triggers the minion to asynchronously refresh the in-mem‐
22947       ory pillar data and will always return None.
22948
22949       In  contrast  to  in-memory pillar data, certain actions trigger pillar
22950       data to be compiled to ensure that the most up-to-date pillar  data  is
22951       available. These actions include:
22952
22953       · Running states
22954
22955       · Running pillar.items
22956
22957       Performing  these  actions  will not refresh the in-memory pillar data.
22958       So, if pillar data is modified, and then states  are  run,  the  states
22959       will see the updated pillar data, but pillar.item, pillar.get, and pil‐
22960       lar.raw   will   not   see   this   data   unless    refreshed    using
22961       saltutil.refresh_pillar.
22962
22963   How Pillar Environments Are Handled
22964       When multiple pillar environments are used, the default behavior is for
22965       the pillar data from all environments to be merged together. The pillar
22966       dictionary  will  therefore  contain  keys from all configured environ‐
22967       ments.
22968
22969       The pillarenv minion config option can be used to force the  minion  to
22970       only  consider pillar configuration from a single environment. This can
22971       be useful in cases where one needs to run states with alternate  pillar
22972       data, either in a testing/QA environment or to test changes to the pil‐
22973       lar data before pushing them live.
22974
22975       For example, assume that the following is  set  in  the  minion  config
22976       file:
22977
22978          pillarenv: base
22979
22980       This  would  cause  that minion to ignore all other pillar environments
22981       besides base when compiling the in-memory pillar data. Then, when  run‐
22982       ning  states,  the  pillarenv  CLI argument can be used to override the
22983       minion's pillarenv config value:
22984
22985          salt '*' state.apply mystates pillarenv=testing
22986
22987       The above command will run the states with pillar data  sourced  exclu‐
22988       sively  from  the  testing environment, without modifying the in-memory
22989       pillar data.
22990
22991       NOTE:
22992          When running states, the pillarenv CLI option  does  not  require  a
22993          pillarenv option to be set in the minion config file. When pillarenv
22994          is left unset, as mentioned above all configured  environments  will
22995          be  combined.  Running  states  with  pillarenv=testing in this case
22996          would still restrict the states' pillar data to  just  that  of  the
22997          testing pillar environment.
22998
22999       Starting  in  the 2017.7.0 release, it is possible to pin the pillarenv
23000       to the effective saltenv, using the pillarenv_from_saltenv minion  con‐
23001       fig  option.  When this is set to True, if a specific saltenv is speci‐
23002       fied when running states, the pillarenv will be the same.  This  essen‐
23003       tially makes the following two commands equivalent:
23004
23005          salt '*' state.apply mystates saltenv=dev
23006          salt '*' state.apply mystates saltenv=dev pillarenv=dev
23007
23008       However,  if  a pillarenv is specified, it will override this behavior.
23009       So, the following command will use the qa pillar environment but source
23010       the SLS files from the dev saltenv:
23011
23012          salt '*' state.apply mystates saltenv=dev pillarenv=qa
23013
23014       So,   if   a   pillarenv  is  set  in  the  minion  config  file,  pil‐
23015       larenv_from_saltenv will be ignored, and passing a pillarenv on the CLI
23016       will temporarily override pillarenv_from_saltenv.
23017
23018   Viewing Pillar Data
23019       To  view  pillar  data,  use  the  pillar execution module. This module
23020       includes several functions, each of them  with  their  own  use.  These
23021       functions include:
23022
23023       · pillar.item  -  Retrieves  the  value  of  one  or more keys from the
23024         in-memory pillar data.
23025
23026       · pillar.items - Compiles a fresh pillar  dictionary  and  returns  it,
23027         leaving  the  in-memory  pillar  data  untouched.  If pillar keys are
23028         passed to this function however, this function acts like  pillar.item
23029         and returns their values from the in-memory pillar data.
23030
23031       · pillar.raw  - Like pillar.items, it returns the entire pillar dictio‐
23032         nary, but from the in-memory pillar data instead of  compiling  fresh
23033         pillar data.
23034
23035       · pillar.get - Described in detail below.
23036
23037   The pillar.get Function
23038       New in version 0.14.0.
23039
23040
23041       The pillar.get function works much in the same way as the get method in
23042       a python dict, but with an enhancement: nested dictonaries can be  tra‐
23043       versed using a colon as a delimiter.
23044
23045       If a structure like this is in pillar:
23046
23047          foo:
23048            bar:
23049              baz: qux
23050
23051       Extracting it from the raw pillar in an sls formula or file template is
23052       done this way:
23053
23054          {{ pillar['foo']['bar']['baz'] }}
23055
23056       Now, with the new pillar.get function the data can be  safely  gathered
23057       and  a  default  can  be set, allowing the template to fall back if the
23058       value is not available:
23059
23060          {{ salt['pillar.get']('foo:bar:baz', 'qux') }}
23061
23062       This makes handling nested structures much easier.
23063
23064       NOTE:
23065          pillar.get() vs salt['pillar.get']()
23066
23067          It should be noted that within templating, the  pillar  variable  is
23068          just a dictionary.  This means that calling pillar.get() inside of a
23069          template will just use the default dictionary .get() function  which
23070          does  not  include  the extra : delimiter functionality.  It must be
23071          called using  the  above  syntax  (salt['pillar.get']('foo:bar:baz',
23072          'qux'))  to get the salt function, instead of the default dictionary
23073          behavior.
23074
23075   Setting Pillar Data at the Command Line
23076       Pillar data can be set at the command line like the following example:
23077
23078          salt '*' state.apply pillar='{"cheese": "spam"}'
23079
23080       This will add a pillar key of cheese with its value set to spam.
23081
23082       NOTE:
23083          Be aware that when sending sensitive data via  pillar  on  the  com‐
23084          mand-line that the publication containing that data will be received
23085          by all minions and will not be restricted to the  targeted  minions.
23086          This may represent a security concern in some cases.
23087
23088   Pillar Encryption
23089       Salt's  renderer system can be used to decrypt pillar data. This allows
23090       for pillar items to be stored in an encrypted state, and decrypted dur‐
23091       ing pillar compilation.
23092
23093   Encrypted Pillar SLS
23094       New in version 2017.7.0.
23095
23096
23097       Consider the following pillar SLS file:
23098
23099          secrets:
23100            vault:
23101              foo: |
23102                -----BEGIN PGP MESSAGE-----
23103
23104                hQEMAw2B674HRhwSAQgAhTrN8NizwUv/VunVrqa4/X8t6EUulrnhKcSeb8sZS4th
23105                W1Qz3K2NjL4lkUHCQHKZVx/VoZY7zsddBIFvvoGGfj8+2wjkEDwFmFjGE4DEsS74
23106                ZLRFIFJC1iB/O0AiQ+oU745skQkU6OEKxqavmKMrKo3rvJ8ZCXDC470+i2/Hqrp7
23107                +KWGmaDOO422JaSKRm5D9bQZr9oX7KqnrPG9I1+UbJyQSJdsdtquPWmeIpamEVHb
23108                VMDNQRjSezZ1yKC4kCWm3YQbBF76qTHzG1VlLF5qOzuGI9VkyvlMaLfMibriqY73
23109                zBbPzf6Bkp2+Y9qyzuveYMmwS4sEOuZL/PetqisWe9JGAWD/O+slQ2KRu9hNww06
23110                KMDPJRdyj5bRuBVE4hHkkP23KrYr7SuhW2vpe7O/MvWEJ9uDNegpMLhTWruGngJh
23111                iFndxegN9w==
23112                =bAuo
23113                -----END PGP MESSAGE-----
23114              bar: this was unencrypted already
23115              baz: |
23116                -----BEGIN PGP MESSAGE-----
23117
23118                hQEMAw2B674HRhwSAQf+Ne+IfsP2IcPDrUWct8sTJrga47jQvlPCmO+7zJjOVcqz
23119                gLjUKvMajrbI/jorBWxyAbF+5E7WdG9WHHVnuoywsyTB9rbmzuPqYCJCe+ZVyqWf
23120                9qgJ+oUjcvYIFmH3h7H68ldqbxaAUkAOQbTRHdr253wwaTIC91ZeX0SCj64HfTg7
23121                Izwk383CRWonEktXJpientApQFSUWNeLUWagEr/YPNFA3vzpPF5/Ia9X8/z/6oO2
23122                q+D5W5mVsns3i2HHbg2A8Y+pm4TWnH6mTSh/gdxPqssi9qIrzGQ6H1tEoFFOEq1V
23123                kJBe0izlfudqMq62XswzuRB4CYT5Iqw1c97T+1RqENJCASG0Wz8AGhinTdlU5iQl
23124                JkLKqBxcBz4L70LYWyHhYwYROJWjHgKAywX5T67ftq0wi8APuZl9olnOkwSK+wrY
23125                1OZi
23126                =7epf
23127                -----END PGP MESSAGE-----
23128              qux:
23129                - foo
23130                - bar
23131                - |
23132                  -----BEGIN PGP MESSAGE-----
23133
23134                  hQEMAw2B674HRhwSAQgAg1YCmokrweoOI1c9HO0BLamWBaFPTMblOaTo0WJLZoTS
23135                  ksbQ3OJAMkrkn3BnnM/djJc5C7vNs86ZfSJ+pvE8Sp1Rhtuxh25EKMqGOn/SBedI
23136                  gR6N5vGUNiIpG5Tf3DuYAMNFDUqw8uY0MyDJI+ZW3o3xrMUABzTH0ew+Piz85FDA
23137                  YrVgwZfqyL+9OQuu6T66jOIdwQNRX2NPFZqvon8liZUPus5VzD8E5cAL9OPxQ3sF
23138                  f7/zE91YIXUTimrv3L7eCgU1dSxKhhfvA2bEUi+AskMWFXFuETYVrIhFJAKnkFmE
23139                  uZx+O9R9hADW3hM5hWHKH9/CRtb0/cC84I9oCWIQPdI+AaPtICxtsD2N8Q98hhhd
23140                  4M7I0sLZhV+4ZJqzpUsOnSpaGyfh1Zy/1d3ijJi99/l+uVHuvmMllsNmgR+ZTj0=
23141                  =LrCQ
23142                  -----END PGP MESSAGE-----
23143
23144       When the pillar data is compiled, the results will be decrypted:
23145
23146          # salt myminion pillar.items
23147          myminion:
23148              ----------
23149              secrets:
23150                  ----------
23151                  vault:
23152                      ----------
23153                      bar:
23154                          this was unencrypted already
23155                      baz:
23156                          rosebud
23157                      foo:
23158                          supersecret
23159                      qux:
23160                          - foo
23161                          - bar
23162                          - baz
23163
23164       Salt  must be told what portions of the pillar data to decrypt. This is
23165       done using the decrypt_pillar config option:
23166
23167          decrypt_pillar:
23168            - 'secrets:vault': gpg
23169
23170       The notation used to specify the pillar item(s) to be decrypted is  the
23171       same as the one used in pillar.get function.
23172
23173       If  a  different  delimiter  is  needed,  it can be specified using the
23174       decrypt_pillar_delimiter config option:
23175
23176          decrypt_pillar:
23177            - 'secrets|vault': gpg
23178
23179          decrypt_pillar_delimiter: '|'
23180
23181       The name of the renderer used to decrypt a given  pillar  item  can  be
23182       omitted,  and  if  so  it  will fall back to the value specified by the
23183       decrypt_pillar_default config option, which defaults to gpg.   So,  the
23184       first example above could be rewritten as:
23185
23186          decrypt_pillar:
23187            - 'secrets:vault'
23188
23189   Encrypted Pillar Data on the CLI
23190       New in version 2016.3.0.
23191
23192
23193       The  following functions support passing pillar data on the CLI via the
23194       pillar argument:
23195
23196       · pillar.items
23197
23198       · state.apply
23199
23200       · state.highstate
23201
23202       · state.sls
23203
23204       Triggerring decryption of this CLI pillar data can be done  in  one  of
23205       two ways:
23206
23207       1. Using the pillar_enc argument:
23208
23209             # salt myminion pillar.items pillar_enc=gpg pillar='{foo: "-----BEGIN PGP MESSAGE-----\n\nhQEMAw2B674HRhwSAQf+OvPqEdDoA2fk15I5dYUTDoj1yf/pVolAma6iU4v8Zixn\nRDgWsaAnFz99FEiFACsAGDEFdZaVOxG80T0Lj+PnW4pVy0OXmXHnY2KjV9zx8FLS\nQxfvmhRR4t23WSFybozfMm0lsN8r1vfBBjbK+A72l0oxN78d1rybJ6PWNZiXi+aC\nmqIeunIbAKQ21w/OvZHhxH7cnIiGQIHc7N9nQH7ibyoKQzQMSZeilSMGr2abAHun\nmLzscr4wKMb+81Z0/fdBfP6g3bLWMJga3hSzSldU9ovu7KR8rDJI1qOlENj3Wm8C\nwTpDOB33kWIKMqiAjY3JFtb5MCHrafyggwQL7cX1+tI+AbSO6kZpbcDfzetb77LZ\nxc5NWnnGK4pGoqq4MAmZshw98RpecSHKMosto2gtiuWCuo9Zn5cV/FbjZ9CTWrQ=\n=0hO/\n-----END PGP MESSAGE-----"}'
23210
23211          The  newlines in this example are specified using a literal \n. New‐
23212          lines can be replaced with a literal \n using sed:
23213
23214             $ echo -n bar | gpg --armor --trust-model always --encrypt -r user@domain.tld | sed ':a;N;$!ba;s/\n/\\n/g'
23215
23216          NOTE:
23217             Using pillar_enc will perform the decryption minion-side, so  for
23218             this  to  work  it  will  be  necessary  to set up the keyring in
23219             /etc/salt/gpgkeys on the minion just as one would typically do on
23220             the  master.  The  easiest  way to do this is to first export the
23221             keys from the master:
23222
23223                 # gpg --homedir /etc/salt/gpgkeys --export-secret-key -a user@domain.tld >/tmp/keypair.gpg
23224
23225             Then, copy the file to the minion, setup the keyring, and import:
23226
23227                 # mkdir -p /etc/salt/gpgkeys
23228                 # chmod 0700 /etc/salt/gpgkeys
23229                 # gpg --homedir /etc/salt/gpgkeys --list-keys
23230                 # gpg --homedir /etc/salt/gpgkeys --import --allow-secret-key-import keypair.gpg
23231
23232             The --list-keys command is run create a keyring in the newly-cre‐
23233             ated directory.
23234
23235          Pillar  data  which  is decrypted minion-side will still be securely
23236          transferred to the master, since the data sent  between  minion  and
23237          master is encrypted with the master's public key.
23238
23239       2. Use  the  decrypt_pillar  option.  This is less flexible in that the
23240          pillar key passed on the CLI must be pre-configured on  the  master,
23241          but  it  doesn't  require  a  keyring to be setup on the minion. One
23242          other caveat to this method is that pillar decryption on the  master
23243          happens at the end of pillar compilation, so if the encrypted pillar
23244          data being passed on the CLI needs to be  referenced  by  pillar  or
23245          ext_pillar  during  pillar  compilation,  it  must be decrypted min‐
23246          ion-side.
23247
23248   Adding New Renderers for Decryption
23249       Those looking to add new renderers for decryption should  look  at  the
23250       gpg renderer for an example of how to do so. The function that performs
23251       the decryption should be recursive and be able to  traverse  a  mutable
23252       type such as a dictionary, and modify the values in-place.
23253
23254       Once  the renderer has been written, decrypt_pillar_renderers should be
23255       modified so that Salt allows it to be used for decryption.
23256
23257       If the renderer is being submitted upstream to the  Salt  project,  the
23258       renderer  should be added in salt/renderers/. Additionally, the follow‐
23259       ing should be done:
23260
23261       · Both      occurrences      of       decrypt_pillar_renderers       in
23262         salt/config/__init__.py  should be updated to include the name of the
23263         new renderer so that it is included in the  default  value  for  this
23264         config option.
23265
23266       · The  documentation  for the decrypt_pillar_renderers config option in
23267         the master config file and minion config file should  be  updated  to
23268         show the correct new default value.
23269
23270       · The  commented example for the decrypt_pillar_renderers config option
23271         in the master config template should be updated to show  the  correct
23272         new default value.
23273
23274   Binary Data in the Pillar
23275       Salt has partial support for binary pillar data.
23276
23277       NOTE:
23278          There  are some situations (such as salt-ssh) where only text (ASCII
23279          or Unicode) is allowed.
23280
23281       The simplest way to embed binary data in your pillar is to make use  of
23282       YAML's built-in binary data type, which requires base64 encoded data.
23283
23284          salt_pic: !!binary
23285              iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAA
23286
23287       Then you can use it as a contents_pillar in a state:
23288
23289          /tmp/salt.png:
23290            file.managed:
23291              - contents_pillar: salt_pic
23292
23293       It  is also possible to add ASCII-armored encrypted data to pillars, as
23294       mentioned in the Pillar Encryption section.
23295
23296   Master Config in Pillar
23297       For convenience the data stored in the master configuration file can be
23298       made available in all minion's pillars. This makes global configuration
23299       of services and systems very easy but may not be desired  if  sensitive
23300       data  is stored in the master configuration. This option is disabled by
23301       default.
23302
23303       To enable the master config from being added to  the  pillar  set  pil‐
23304       lar_opts to True in the minion config file:
23305
23306          pillar_opts: True
23307
23308   Minion Config in Pillar
23309       Minion configuration options can be set on pillars. Any option that you
23310       want to modify, should be in the first level of  the  pillars,  in  the
23311       same  way  you set the options in the config file. For example, to con‐
23312       figure the MySQL root password to be used by MySQL Salt execution  mod‐
23313       ule, set the following pillar variable:
23314
23315          mysql.pass: hardtoguesspassword
23316
23317   Master Provided Pillar Error
23318       By  default if there is an error rendering a pillar, the detailed error
23319       is hidden and replaced with:
23320
23321          Rendering SLS 'my.sls' failed. Please see master log for details.
23322
23323       The error is protected because it's possible to contain templating data
23324       which  would  give  that  minion  information it shouldn't know, like a
23325       password!
23326
23327       To have the master provide the detailed error  that  could  potentially
23328       carry protected data set pillar_safe_render_error to False:
23329
23330          pillar_safe_render_error: False
23331
23332   Pillar Walkthrough
23333       NOTE:
23334          This  walkthrough  assumes that the reader has already completed the
23335          initial Salt walkthrough.
23336
23337       Pillars are tree-like structures of data defined on the Salt Master and
23338       passed through to minions. They allow confidential, targeted data to be
23339       securely sent only to the relevant minion.
23340
23341       NOTE:
23342          Grains and Pillar are sometimes confused, just remember that  Grains
23343          are  data  about a minion which is stored or generated from the min‐
23344          ion.  This is why information like the OS and CPU type are found  in
23345          Grains.  Pillar is information about a minion or many minions stored
23346          or generated on the Salt Master.
23347
23348       Pillar data is useful for:
23349
23350       Highly Sensitive Data:
23351              Information transferred via pillar is guaranteed to only be pre‐
23352              sented  to the minions that are targeted, making Pillar suitable
23353              for managing security information, such  as  cryptographic  keys
23354              and passwords.
23355
23356       Minion Configuration:
23357              Minion  modules  such  as  the  execution  modules,  states, and
23358              returners can often be configured via data stored in pillar.
23359
23360       Variables:
23361              Variables which need to  be  assigned  to  specific  minions  or
23362              groups  of  minions  can  be defined in pillar and then accessed
23363              inside sls formulas and template files.
23364
23365       Arbitrary Data:
23366              Pillar can contain any basic data structure in  dictionary  for‐
23367              mat, so a key/value store can be defined making it easy to iter‐
23368              ate over a group of values in sls formulas.
23369
23370       Pillar is therefore one of the most important systems when using  Salt.
23371       This walkthrough is designed to get a simple Pillar up and running in a
23372       few minutes and then to dive into the capabilities of Pillar and  where
23373       the data is available.
23374
23375   Setting Up Pillar
23376       The  pillar  is already running in Salt by default. To see the minion's
23377       pillar data:
23378
23379          salt '*' pillar.items
23380
23381       NOTE:
23382          Prior to version 0.16.2, this function is  named  pillar.data.  This
23383          function name is still supported for backwards compatibility.
23384
23385       By  default,  the  contents  of  the  master configuration file are not
23386       loaded into pillar for all minions. This default is stored in the  pil‐
23387       lar_opts setting, which defaults to False.
23388
23389       The  contents of the master configuration file can be made available to
23390       minion pillar files. This makes global configuration  of  services  and
23391       systems very easy, but note that this may not be desired or appropriate
23392       if sensitive data is stored in  the  master's  configuration  file.  To
23393       enable the master configuration file to be available to a minion's pil‐
23394       lar files, set pillar_opts to True in the minion configuration file.
23395
23396       Similar to the state tree, the pillar is comprised of sls files and has
23397       a top file.  The default location for the pillar is in /srv/pillar.
23398
23399       NOTE:
23400          The  pillar  location  can be configured via the pillar_roots option
23401          inside the master configuration file. It must not be in a  subdirec‐
23402          tory  of  the  state  tree  or  file_roots.  If  the pillar is under
23403          file_roots, any pillar targeting can be bypassed by minions.
23404
23405       To start setting up the pillar, the /srv/pillar directory needs  to  be
23406       present:
23407
23408          mkdir /srv/pillar
23409
23410       Now create a simple top file, following the same format as the top file
23411       used for states:
23412
23413       /srv/pillar/top.sls:
23414
23415          base:
23416            '*':
23417              - data
23418
23419       This top file associates the data.sls file  to  all  minions.  Now  the
23420       /srv/pillar/data.sls file needs to be populated:
23421
23422       /srv/pillar/data.sls:
23423
23424          info: some data
23425
23426       To ensure that the minions have the new pillar data, issue a command to
23427       them asking that they fetch their pillars from the master:
23428
23429          salt '*' saltutil.refresh_pillar
23430
23431       Now that the minions have the new pillar, it can be retrieved:
23432
23433          salt '*' pillar.items
23434
23435       The key info should now appear in the returned pillar data.
23436
23437   More Complex Data
23438       Unlike states, pillar files do not need to define formulas.  This exam‐
23439       ple sets up user data with a UID:
23440
23441       /srv/pillar/users/init.sls:
23442
23443          users:
23444            thatch: 1000
23445            shouse: 1001
23446            utahdave: 1002
23447            redbeard: 1003
23448
23449       NOTE:
23450          The  same directory lookups that exist in states exist in pillar, so
23451          the file users/init.sls can be referenced  with  users  in  the  top
23452          file.
23453
23454       The top file will need to be updated to include this sls file:
23455
23456       /srv/pillar/top.sls:
23457
23458          base:
23459            '*':
23460              - data
23461              - users
23462
23463       Now  the  data will be available to the minions. To use the pillar data
23464       in a state, you can use Jinja:
23465
23466       /srv/salt/users/init.sls
23467
23468          {% for user, uid in pillar.get('users', {}).items() %}
23469          {{user}}:
23470            user.present:
23471              - uid: {{uid}}
23472          {% endfor %}
23473
23474       This approach allows for users to be safely defined  in  a  pillar  and
23475       then the user data is applied in an sls file.
23476
23477   Parameterizing States With Pillar
23478       Pillar  data  can  be accessed in state files to customise behavior for
23479       each minion. All pillar (and grain) data applicable to each  minion  is
23480       substituted  into  the state files through templating before being run.
23481       Typical uses include setting directories appropriate for the minion and
23482       skipping states that don't apply.
23483
23484       A  simple example is to set up a mapping of package names in pillar for
23485       separate Linux distributions:
23486
23487       /srv/pillar/pkg/init.sls:
23488
23489          pkgs:
23490            {% if grains['os_family'] == 'RedHat' %}
23491            apache: httpd
23492            vim: vim-enhanced
23493            {% elif grains['os_family'] == 'Debian' %}
23494            apache: apache2
23495            vim: vim
23496            {% elif grains['os'] == 'Arch' %}
23497            apache: apache
23498            vim: vim
23499            {% endif %}
23500
23501       The new pkg sls needs to be added to the top file:
23502
23503       /srv/pillar/top.sls:
23504
23505          base:
23506            '*':
23507              - data
23508              - users
23509              - pkg
23510
23511       Now the minions will auto map values based on respective operating sys‐
23512       tems inside of the pillar, so sls files can be safely parameterized:
23513
23514       /srv/salt/apache/init.sls:
23515
23516          apache:
23517            pkg.installed:
23518              - name: {{ pillar['pkgs']['apache'] }}
23519
23520       Or, if no pillar is available a default can be set as well:
23521
23522       NOTE:
23523          The  function  pillar.get  used in this example was added to Salt in
23524          version 0.14.0
23525
23526       /srv/salt/apache/init.sls:
23527
23528          apache:
23529            pkg.installed:
23530              - name: {{ salt['pillar.get']('pkgs:apache', 'httpd') }}
23531
23532       In the above example, if the pillar value  pillar['pkgs']['apache']  is
23533       not set in the minion's pillar, then the default of httpd will be used.
23534
23535       NOTE:
23536          Under the hood, pillar is just a Python dict, so Python dict methods
23537          such as get and items can be used.
23538
23539   Pillar Makes Simple States Grow Easily
23540       One of the design goals of pillar is to make simple sls formulas easily
23541       grow  into  more  flexible formulas without refactoring or complicating
23542       the states.
23543
23544       A simple formula:
23545
23546       /srv/salt/edit/vim.sls:
23547
23548          vim:
23549            pkg.installed: []
23550
23551          /etc/vimrc:
23552            file.managed:
23553              - source: salt://edit/vimrc
23554              - mode: 644
23555              - user: root
23556              - group: root
23557              - require:
23558                - pkg: vim
23559
23560       Can be easily transformed into a powerful, parameterized formula:
23561
23562       /srv/salt/edit/vim.sls:
23563
23564          vim:
23565            pkg.installed:
23566              - name: {{ pillar['pkgs']['vim'] }}
23567
23568          /etc/vimrc:
23569            file.managed:
23570              - source: {{ pillar['vimrc'] }}
23571              - mode: 644
23572              - user: root
23573              - group: root
23574              - require:
23575                - pkg: vim
23576
23577       Where the vimrc source location can now be changed via pillar:
23578
23579       /srv/pillar/edit/vim.sls:
23580
23581          {% if grains['id'].startswith('dev') %}
23582          vimrc: salt://edit/dev_vimrc
23583          {% elif grains['id'].startswith('qa') %}
23584          vimrc: salt://edit/qa_vimrc
23585          {% else %}
23586          vimrc: salt://edit/vimrc
23587          {% endif %}
23588
23589       Ensuring that the right vimrc is sent out to the correct minions.
23590
23591       The pillar top file must include a reference  to  the  new  sls  pillar
23592       file:
23593
23594       /srv/pillar/top.sls:
23595
23596          base:
23597            '*':
23598              - pkg
23599              - edit.vim
23600
23601   Setting Pillar Data on the Command Line
23602       Pillar  data  can  be  set on the command line when running state.apply
23603       <salt.modules.state.apply_() like so:
23604
23605          salt '*' state.apply pillar='{"foo": "bar"}'
23606          salt '*' state.apply my_sls_file pillar='{"hello": "world"}'
23607
23608       Nested pillar values can also be set via the command line:
23609
23610          salt '*' state.sls my_sls_file pillar='{"foo": {"bar": "baz"}}'
23611
23612       Lists can be passed via command line pillar data as follows:
23613
23614          salt '*' state.sls my_sls_file pillar='{"some_list": ["foo", "bar", "baz"]}'
23615
23616       NOTE:
23617          If a key is passed on the command line that already  exists  on  the
23618          minion, the key that is passed in will overwrite the entire value of
23619          that key, rather than merging only the specified value set  via  the
23620          command line.
23621
23622       The example below will swap the value for vim with telnet in the previ‐
23623       ously specified list, notice the nested pillar dict:
23624
23625          salt '*' state.apply edit.vim pillar='{"pkgs": {"vim": "telnet"}}'
23626
23627       This will attempt to install telnet on your minions, feel free to unin‐
23628       stall the package or replace telnet value with anything else.
23629
23630       NOTE:
23631          Be  aware  that  when  sending sensitive data via pillar on the com‐
23632          mand-line that the publication containing that data will be received
23633          by  all  minions and will not be restricted to the targeted minions.
23634          This may represent a security concern in some cases.
23635
23636   More On Pillar
23637       Pillar data is generated on the Salt master and securely distributed to
23638       minions.  Salt  is not restricted to the pillar sls files when defining
23639       the pillar but can retrieve data from external  sources.  This  can  be
23640       useful when information about an infrastructure is stored in a separate
23641       location.
23642
23643       Reference information on pillar and the external pillar  interface  can
23644       be found in the Salt documentation:
23645
23646       Pillar
23647
23648   Minion Config in Pillar
23649       Minion configuration options can be set on pillars. Any option that you
23650       want to modify, should be in the first level of  the  pillars,  in  the
23651       same  way  you set the options in the config file. For example, to con‐
23652       figure the MySQL root password to be used by MySQL Salt execution  mod‐
23653       ule:
23654
23655          mysql.pass: hardtoguesspassword
23656
23657       This is very convenient when you need some dynamic configuration change
23658       that you want to be applied on the fly. For example, there is a chicken
23659       and the egg problem if you do this:
23660
23661          mysql-admin-passwd:
23662            mysql_user.present:
23663              - name: root
23664              - password: somepasswd
23665
23666          mydb:
23667            mysql_db.present
23668
23669       The  second  state will fail, because you changed the root password and
23670       the minion didn't notice it. Setting mysql.pass  in  the  pillar,  will
23671       help  to  sort out the issue. But always change the root admin password
23672       in the first place.
23673
23674       This is very helpful for any module that  needs  credentials  to  apply
23675       state changes: mysql, keystone, etc.
23676
23677   Targeting Minions
23678       Targeting  minions  is specifying which minions should run a command or
23679       execute a state by matching against hostnames, or  system  information,
23680       or defined groups, or even combinations thereof.
23681
23682       For  example the command salt web1 apache.signal restart to restart the
23683       Apache httpd server specifies the machine web1 as the  target  and  the
23684       command will only be run on that one minion.
23685
23686       Similarly when using States, the following top file specifies that only
23687       the web1 minion should execute the contents of webserver.sls:
23688
23689          base:
23690            'web1':
23691              - webserver
23692
23693       The simple target specifications, glob, regex, and list will cover many
23694       use  cases,  and  for  some will cover all use cases, but more powerful
23695       options exist.
23696
23697   Targeting with Grains
23698       The Grains interface was built into Salt to allow minions  to  be  tar‐
23699       geted  by system properties. So minions running on a particular operat‐
23700       ing system can be called to execute a function, or a specific kernel.
23701
23702       Calling via a grain is done by passing the -G option to salt,  specify‐
23703       ing  a grain and a glob expression to match the value of the grain. The
23704       syntax for the target is the grain key followed by a  glob  expression:
23705       "os:Arch*".
23706
23707          salt -G 'os:Fedora' test.version
23708
23709       Will return True from all of the minions running Fedora.
23710
23711       To  discover what grains are available and what the values are, execute
23712       the grains.item salt function:
23713
23714          salt '*' grains.items
23715
23716       More info on using targeting with grains can be found here.
23717
23718   Compound Targeting
23719       New in version 0.9.5.
23720
23721
23722       Multiple target interfaces can be used in conjunction to determine  the
23723       command  targets.  These  targets  can then be combined using and or or
23724       statements.  This is well defined with an example:
23725
23726          salt -C 'G@os:Debian and webser* or E@db.*' test.version
23727
23728       In this example any minion who's id starts with webser and  is  running
23729       Debian, or any minion who's id starts with db will be matched.
23730
23731       The  type  of  matcher  defaults to glob, but can be specified with the
23732       corresponding letter followed by the @ symbol. In the above  example  a
23733       grain is used with G@ as well as a regular expression with E@. The web‐
23734       ser* target does not need to be prefaced with a target  type  specifier
23735       because it is a glob.
23736
23737       More info on using compound targeting can be found here.
23738
23739   Node Group Targeting
23740       New in version 0.9.5.
23741
23742
23743       For  certain  cases, it can be convenient to have a predefined group of
23744       minions on which to execute commands. This can  be  accomplished  using
23745       what  are  called  nodegroups. Nodegroups allow for predefined compound
23746       targets to be declared in the master configuration file, as a  sort  of
23747       shorthand for having to type out complicated compound expressions.
23748
23749          nodegroups:
23750            group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
23751            group2: 'G@os:Debian and foo.domain.com'
23752            group3: 'G@os:Debian and N@group1'
23753
23754   Advanced Targeting Methods
23755       There  are  many ways to target individual minions or groups of minions
23756       in Salt:
23757
23758   Matching the minion id
23759       Each minion needs a unique identifier. By default when a minion  starts
23760       for  the  first time it chooses its FQDN as that identifier. The minion
23761       id can be overridden via the minion's id configuration setting.
23762
23763       TIP:
23764          minion id and minion keys
23765
23766          The minion id is used to generate the minion's  public/private  keys
23767          and  if  it  ever changes the master must then accept the new key as
23768          though the minion was a new host.
23769
23770   Globbing
23771       The default matching that Salt utilizes is shell-style globbing  around
23772       the minion id. This also works for states in the top file.
23773
23774       NOTE:
23775          You  must wrap salt calls that use globbing in single-quotes to pre‐
23776          vent the shell from expanding the globs before Salt is invoked.
23777
23778       Match all minions:
23779
23780          salt '*' test.version
23781
23782       Match all minions in the example.net  domain  or  any  of  the  example
23783       domains:
23784
23785          salt '*.example.net' test.version
23786          salt '*.example.*' test.version
23787
23788       Match all the webN minions in the example.net domain (web1.example.net,
23789       web2.example.net webN.example.net):
23790
23791          salt 'web?.example.net' test.version
23792
23793       Match the web1 through web5 minions:
23794
23795          salt 'web[1-5]' test.version
23796
23797       Match the web1 and web3 minions:
23798
23799          salt 'web[1,3]' test.version
23800
23801       Match the web-x, web-y, and web-z minions:
23802
23803          salt 'web-[x-z]' test.version
23804
23805       NOTE:
23806          For additional targeting methods please review the compound matchers
23807          documentation.
23808
23809   Regular Expressions
23810       Minions can be matched using Perl-compatible regular expressions (which
23811       is globbing on steroids and a ton of caffeine).
23812
23813       Match both web1-prod and web1-devel minions:
23814
23815          salt -E 'web1-(prod|devel)' test.version
23816
23817       When using regular expressions in a State's top file, you must  specify
23818       the  matcher  as  the  first option. The following example executes the
23819       contents of webserver.sls on the above-mentioned minions.
23820
23821          base:
23822            'web1-(prod|devel)':
23823            - match: pcre
23824            - webserver
23825
23826   Lists
23827       At the most basic level, you can specify a flat list of minion IDs:
23828
23829          salt -L 'web1,web2,web3' test.version
23830
23831   Targeting using Grains
23832       Grain data can be used when targeting minions.
23833
23834       For example, the following matches all CentOS minions:
23835
23836          salt -G 'os:CentOS' test.version
23837
23838       Match all minions with 64-bit CPUs, and return number of CPU cores  for
23839       each matching minion:
23840
23841          salt -G 'cpuarch:x86_64' grains.item num_cpus
23842
23843       Additionally,  globs  can be used in grain matches, and grains that are
23844       nested in a dictionary can be matched by adding a colon for each  level
23845       that  is  traversed.   For example, the following will match hosts that
23846       have a grain called ec2_tags, which itself is a dictionary with  a  key
23847       named environment, which has a value that contains the word production:
23848
23849          salt -G 'ec2_tags:environment:*production*'
23850
23851       IMPORTANT:
23852          See  Is  Targeting  using  Grain Data Secure? for important security
23853          information.
23854
23855   Targeting using Pillar
23856       Pillar data can be used when targeting minions. This allows  for  ulti‐
23857       mate control and flexibility when targeting minions.
23858
23859       NOTE:
23860          To start using Pillar targeting it is required to make a Pillar data
23861          cache on Salt Master for each Minion via  following  commands:  salt
23862          '*'  saltutil.refresh_pillar  or  salt  '*' saltutil.sync_all.  Also
23863          Pillar data cache will be populated during the highstate  run.  Once
23864          Pillar  data  changes,  you  must refresh the cache by running above
23865          commands for this targeting method to work correctly.
23866
23867       Example:
23868
23869          salt -I 'somekey:specialvalue' test.version
23870
23871       Like with Grains, it is possible to  use  globbing  as  well  as  match
23872       nested  values in Pillar, by adding colons for each level that is being
23873       traversed. The below example would match minions with  a  pillar  named
23874       foo,  which is a dict containing a key bar, with a value beginning with
23875       baz:
23876
23877          salt -I 'foo:bar:baz*' test.version
23878
23879   Subnet/IP Address Matching
23880       Minions can easily be matched based on IP address, or by subnet  (using
23881       CIDR notation).
23882
23883          salt -S 192.168.40.20 test.version
23884          salt -S 2001:db8::/64 test.version
23885
23886       Ipcidr matching can also be used in compound matches
23887
23888          salt -C 'S@10.0.0.0/24 and G@os:Debian' test.version
23889
23890       It is also possible to use in both pillar and state-matching
23891
23892          '172.16.0.0/12':
23893             - match: ipcidr
23894             - internal
23895
23896   Compound matchers
23897       Compound  matchers  allow  very  granular minion targeting using any of
23898       Salt's matchers. The default matcher is a glob match, just as with  CLI
23899       and  top file matching. To match using anything other than a glob, pre‐
23900       fix the match string with the appropriate letter from the table  below,
23901       followed by an @ sign.
23902
23903      ┌───────┬─────────────────┬──────────────────────────────┬────────────────┐
23904      │Letter │ Match Type      │ Example                      │ Alt Delimiter?
23905      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23906      │G      │ Grains glob     │ G@os:Ubuntu                  │ Yes            │
23907      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23908      │E      │ PCRE Minion ID  │ E@web\d+\.(dev|qa|prod)\.loc │ No             │
23909      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23910      │P      │ Grains PCRE     │ P@os:(RedHat|Fedora|CentOS)  │ Yes            │
23911      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23912      │L      │ List of minions │ L@minion1.example.com,min‐   │ No             │
23913      │       │                 │ ion3.domain.com           or │                │
23914      │       │                 │ bl*.domain.com               │                │
23915      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23916      │I      │ Pillar glob     │ I@pdata:foobar               │ Yes            │
23917      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23918      │J      │ Pillar PCRE     │ J@pdata:^(foo|bar)$          │ Yes            │
23919      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23920      │S      │ Subnet/IP       │ S@192.168.1.0/24          or │ No             │
23921      │       │ address         │ S@192.168.1.100              │                │
23922      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23923      │R      │ Range cluster   │ R@%foo.bar                   │ No             │
23924      ├───────┼─────────────────┼──────────────────────────────┼────────────────┤
23925      │N      │ Nodegroups      │ N@group1                     │ No             │
23926      └───────┴─────────────────┴──────────────────────────────┴────────────────┘
23927
23928       Matchers can be joined using boolean and, or, and not operators.
23929
23930       For example, the following string matches all  Debian  minions  with  a
23931       hostname  that  begins with webserv, as well as any minions that have a
23932       hostname which matches the regular expression web-dc1-srv.*:
23933
23934          salt -C 'webserv* and G@os:Debian or E@web-dc1-srv.*' test.version
23935
23936       That same example expressed in a top file looks like the following:
23937
23938          base:
23939            'webserv* and G@os:Debian or E@web-dc1-srv.*':
23940              - match: compound
23941              - webserver
23942
23943       New in version 2015.8.0.
23944
23945
23946       Excluding a minion based on its ID is also possible:
23947
23948          salt -C 'not web-dc1-srv' test.version
23949
23950       Versions prior to 2015.8.0 a leading not was not supported in  compound
23951       matches. Instead, something like the following was required:
23952
23953          salt -C '* and not G@kernel:Darwin' test.version
23954
23955       Excluding a minion based on its ID was also possible:
23956
23957          salt -C '* and not web-dc1-srv' test.version
23958
23959   Precedence Matching
23960       Matchers can be grouped together with parentheses to explicitly declare
23961       precedence amongst groups.
23962
23963          salt -C '( ms-1 or G@id:ms-3 ) and G@id:ms-3' test.version
23964
23965       NOTE:
23966          Be certain to note that spaces are required between the  parentheses
23967          and  targets. Failing to obey this rule may result in incorrect tar‐
23968          geting!
23969
23970   Alternate Delimiters
23971       New in version 2015.8.0.
23972
23973
23974       Matchers that target based on a key value pair use a  colon  (:)  as  a
23975       delimiter. Matchers with a Yes in the Alt Delimiters column in the pre‐
23976       vious table support specifying an alternate delimiter character.
23977
23978       This is done by specifying an alternate delimiter character between the
23979       leading  matcher  character and the @ pattern separator character. This
23980       avoids incorrect interpretation of the pattern in the case  that  :  is
23981       part of the grain or pillar data structure traversal.
23982
23983          salt -C 'J|@foo|bar|^foo:bar$ or J!@gitrepo!https://github.com:example/project.git' test.ping
23984
23985   Node groups
23986       Nodegroups are declared using a compound target specification. The com‐
23987       pound target documentation can be found here.
23988
23989       The nodegroups master config file parameter is  used  to  define  node‐
23990       groups. Here's an example nodegroup configuration within /etc/salt/mas‐
23991       ter:
23992
23993          nodegroups:
23994            group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
23995            group2: 'G@os:Debian and foo.domain.com'
23996            group3: 'G@os:Debian and N@group1'
23997            group4:
23998              - 'G@foo:bar'
23999              - 'or'
24000              - 'G@foo:baz'
24001
24002       NOTE:
24003          The L within group1 is matching a list of minions, while  the  G  in
24004          group2  is matching specific grains. See the compound matchers docu‐
24005          mentation for more details.
24006
24007          As of the  2017.7.0  release  of  Salt,  group  names  can  also  be
24008          prepended with a dash. This brings the usage in line with many other
24009          areas of Salt. For example:
24010
24011              nodegroups:
24012                - group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
24013
24014       New in version 2015.8.0.
24015
24016
24017       NOTE:
24018          Nodegroups can reference other nodegroups as seen in group3.  Ensure
24019          that  you do not have circular references.  Circular references will
24020          be detected and cause partial expansion with a logged error message.
24021
24022       New in version 2015.8.0.
24023
24024
24025       Compound nodegroups can be either string values or lists of string val‐
24026       ues.   When the nodegroup is A string value will be tokenized by split‐
24027       ting on whitespace.  This may be a problem if whitespace  is  necessary
24028       as  part of a pattern.  When a nodegroup is a list of strings then tok‐
24029       enization will happen for each list element as a whole.
24030
24031       To match a nodegroup on the CLI, use the -N command-line option:
24032
24033          salt -N group1 test.version
24034
24035       New in version 2019.2.0.
24036
24037
24038       NOTE:
24039          The N@ classifier historically could not be used in compound matches
24040          within the CLI or top file, it was only recognized in the nodegroups
24041          master config file parameter. As of the 2019.2.0 release, this limi‐
24042          tation no longer exists.
24043
24044       To  match a nodegroup in your top file, make sure to put - match: node‐
24045       group on the line directly following the nodegroup name.
24046
24047          base:
24048            group1:
24049              - match: nodegroup
24050              - webserver
24051
24052       NOTE:
24053          When adding or modifying nodegroups to a master configuration  file,
24054          the  master  must  be restarted for those changes to be fully recog‐
24055          nized.
24056
24057          A limited amount of functionality, such as targeting  with  -N  from
24058          the command-line may be available without a restart.
24059
24060   Defining Nodegroups as Lists of Minion IDs
24061       A simple list of minion IDs would traditionally be defined like this:
24062
24063          nodegroups:
24064            group1: L@host1,host2,host3
24065
24066       They can now also be defined as a YAML list, like this:
24067
24068          nodegroups:
24069            group1:
24070              - host1
24071              - host2
24072              - host3
24073
24074       New in version 2016.11.0.
24075
24076
24077   Batch Size
24078       The  -b (or --batch-size) option allows commands to be executed on only
24079       a specified number of minions at a time. Both  percentages  and  finite
24080       numbers are supported.
24081
24082          salt '*' -b 10 test.version
24083
24084          salt -G 'os:RedHat' --batch-size 25% apache.signal restart
24085
24086       This will only run test.version on 10 of the targeted minions at a time
24087       and then restart apache on 25% of the minions matching os:RedHat  at  a
24088       time  and  work through them all until the task is complete. This makes
24089       jobs like rolling web server restarts behind a load balancer  or  doing
24090       maintenance on BSD firewalls using carp much easier with salt.
24091
24092       The  batch  system  maintains a window of running minions, so, if there
24093       are a total of 150 minions targeted and the batch size is 10, then  the
24094       command is sent to 10 minions, when one minion returns then the command
24095       is sent to one additional minion, so that the job is constantly running
24096       on 10 minions.
24097
24098       New in version 2016.3.
24099
24100
24101       The --batch-wait argument can be used to specify a number of seconds to
24102       wait after a minion returns, before sending the command to a  new  min‐
24103       ion.
24104
24105   SECO Range
24106       SECO  range  is a cluster-based metadata store developed and maintained
24107       by Yahoo!
24108
24109       The Range project is hosted here:
24110
24111       https://github.com/ytoolshed/range
24112
24113       Learn more about range here:
24114
24115       https://github.com/ytoolshed/range/wiki/
24116
24117   Prerequisites
24118       To utilize range support in Salt, a range server is  required.  Setting
24119       up a range server is outside the scope of this document. Apache modules
24120       are included in the range distribution.
24121
24122       With a working range server, cluster files must be defined. These files
24123       are  written  in YAML and define hosts contained inside a cluster. Full
24124       documentation on writing YAML range files is here:
24125
24126       https://github.com/ytoolshed/range/wiki/%22yamlfile%22-module-file-spec
24127
24128       Additionally, the Python seco range libraries must be installed on  the
24129       salt master. One can verify that they have been installed correctly via
24130       the following command:
24131
24132          python -c 'import seco.range'
24133
24134       If no errors are returned, range is installed successfully on the  salt
24135       master.
24136
24137   Preparing Salt
24138       Range  support  must be enabled on the salt master by setting the host‐
24139       name and port of the range server inside the master configuration file:
24140
24141          range_server: my.range.server.com:80
24142
24143       Following this, the master must be restarted for the change to have  an
24144       effect.
24145
24146   Targeting with Range
24147       Once a cluster has been defined, it can be targeted with a salt command
24148       by using the -R or --range flags.
24149
24150       For example, given the following range YAML file being  served  from  a
24151       range server:
24152
24153          $ cat /etc/range/test.yaml
24154          CLUSTER: host1..100.test.com
24155          APPS:
24156            - frontend
24157            - backend
24158            - mysql
24159
24160       One might target host1 through host100 in the test.com domain with Salt
24161       as follows:
24162
24163          salt --range %test:CLUSTER test.version
24164
24165       The following salt command would target three hosts: frontend, backend,
24166       and mysql:
24167
24168          salt --range %test:APPS test.version
24169
24170   Loadable Matchers
24171       New in version 2019.2.0.
24172
24173
24174       Internally  targeting  is implemented with chunks of code called Match‐
24175       ers.  As of the 2019.2.0 release, matchers can be  loaded  dynamically.
24176       Currently  new  matchers  cannot  be created, but existing matchers can
24177       have their functionality altered or extended.  For more information  on
24178       Matchers see
24179
24180   Matchers
24181       New in version 3000.
24182
24183
24184       Matchers  are  modules  that provide Salt's targeting abilities.  As of
24185       the 3000 release, matchers can be dynamically  loaded.   Currently  new
24186       matchers  cannot  be  created because the required plumbing for the CLI
24187       does not exist yet.  Existing matchers  may  have  their  functionality
24188       altered or extended.
24189
24190       For details of targeting methods, see the Targeting topic.
24191
24192       A  matcher  module  must  have a function called match(). This function
24193       ends up becoming a method on the Matcher class.  All matcher  functions
24194       require  at  least  two  arguments,  self (because the function will be
24195       turned into a method), and tgt, which is the actual target string.  The
24196       grains  and  pillar  matchers also take a delimiter argument and should
24197       default to DEFAULT_TARGET_DELIM.
24198
24199       Like other Salt loadable modules, modules that override built-in  func‐
24200       tionality  can  be placed in file_roots in a special directory and then
24201       copied   to   the   minion   through   the   normal    sync    process.
24202       saltutil.sync_all  will  transfer  all  loadable  modules, and the 3000
24203       release introduces saltutil.sync_matchers.  For matchers, the directory
24204       is  /srv/salt/_matchers (assuming your file_roots is set to the default
24205       /srv/salt).
24206
24207       As an example, let's modify the list matcher to have the separator be a
24208       '/' instead of the default ','.
24209
24210          from __future__ import absolute_import, print_function, unicode_literals
24211          from salt.ext import six  # pylint: disable=3rd-party-module-not-gated
24212
24213          def match(self, tgt):
24214              '''
24215              Determines if this host is on the list
24216              '''
24217              if isinstance(tgt, six.string_types):
24218                  # The stock matcher splits on `,`.  Change to `/` below.
24219                  tgt = tgt.split('/')
24220              return bool(self.opts['id'] in tgt)
24221
24222       Place  this  code in a file called list_matcher.py in _matchers in your
24223       file_roots. Sync this down to your minions with saltutil.sync_matchers.
24224       Then  attempt to match with the following, replacing minionX with three
24225       of your minions.
24226
24227          salt -L 'minion1/minion2/minion3' test.ping
24228
24229       Three of your minions should respond.
24230
24231       The current supported matchers and associated filenames are
24232
24233            ┌────────────────┬─────────────────────┬─────────────────────┐
24234            │Salt CLI Switch │ Match Type          │ Filename            │
24235            ├────────────────┼─────────────────────┼─────────────────────┤
24236            │<none>          │ Glob                │ glob_match.py       │
24237            ├────────────────┼─────────────────────┼─────────────────────┤
24238            │-C              │ Compound            │ compound_match.py   │
24239            ├────────────────┼─────────────────────┼─────────────────────┤
24240            │-E              │ Perl-Compatible     │ pcre_match.py       │
24241            │                │ Regular Expressions │                     │
24242            ├────────────────┼─────────────────────┼─────────────────────┤
24243            │-L              │ List                │ list_match.py       │
24244            ├────────────────┼─────────────────────┼─────────────────────┤
24245            │-G              │ Grain               │ grain_match.py      │
24246            ├────────────────┼─────────────────────┼─────────────────────┤
24247            │-P              │ Grain Perl-Compati‐ │ grain_pcre_match.py │
24248            │                │ ble Regular Expres‐ │                     │
24249            │                │ sions               │                     │
24250            ├────────────────┼─────────────────────┼─────────────────────┤
24251            │-N              │ Nodegroup           │ nodegroup_match.py  │
24252            ├────────────────┼─────────────────────┼─────────────────────┤
24253            │-R              │ Range               │ range_match.py      │
24254            ├────────────────┼─────────────────────┼─────────────────────┤
24255            │-I              │ Pillar              │ pillar_match.py     │
24256            ├────────────────┼─────────────────────┼─────────────────────┤
24257            │-J              │ Pillar Perl-Compat‐ │ pillar_pcre.py      │
24258            │                │ ible        Regular │                     │
24259            │                │ Expressions         │                     │
24260            ├────────────────┼─────────────────────┼─────────────────────┤
24261            │-S              │ IP-Classless Inter‐ │ ipcidr_match.py     │
24262            │                │ net Domain Routing  │                     │
24263            └────────────────┴─────────────────────┴─────────────────────┘
24264
24265   The Salt Mine
24266       The Salt Mine is used to collect arbitrary data from Minions and  store
24267       it  on  the Master. This data is then made available to all Minions via
24268       the salt.modules.mine module.
24269
24270       Mine data is gathered on the Minion and sent back to the  Master  where
24271       only  the most recent data is maintained (if long term data is required
24272       use returners or the external job cache).
24273
24274   Mine vs Grains
24275       Mine data is designed to be  much  more  up-to-date  than  grain  data.
24276       Grains  are  refreshed  on  a very limited basis and are largely static
24277       data. Mines are designed to replace slow  peer  publishing  calls  when
24278       Minions need data from other Minions. Rather than having a Minion reach
24279       out to all the other Minions for a piece of data, the Salt  Mine,  run‐
24280       ning  on  the  Master,  can  collect it from all the Minions every Mine
24281       Interval, resulting in almost fresh data at any given time,  with  much
24282       less overhead.
24283
24284   Mine Functions
24285       To  enable  the Salt Mine the mine_functions option needs to be applied
24286       to a Minion. This option can be applied via the Minion's  configuration
24287       file,  or  the Minion's Pillar. The mine_functions option dictates what
24288       functions are being executed and allows for arguments to be passed  in.
24289       The  list  of  functions are available in the salt.module.  If no argu‐
24290       ments are passed, an empty list must be added  like  in  the  test.ping
24291       function in the example below:
24292
24293          mine_functions:
24294            test.ping: []
24295            network.ip_addrs:
24296              interface: eth0
24297              cidr: 10.0.0.0/8
24298
24299       In  the example above salt.modules.network.ip_addrs has additional fil‐
24300       ters to help  narrow  down  the  results.   In  the  above  example  IP
24301       addresses  are only returned if they are on a eth0 interface and in the
24302       10.0.0.0/8 IP range.
24303
24304       Changed in version 3000.
24305
24306
24307       The format to define mine_functions has been changed to allow the  same
24308       format  as  used  for  module.run. The old format (above) will still be
24309       supported.
24310
24311          mine_functions:
24312            test.ping: []
24313            network.ip_addrs:
24314              - interface: eth0
24315              - cidr: 10.0.0.0/8
24316            test.arg:
24317              - isn't
24318              - this
24319              - fun
24320              - this: that
24321              - salt: stack
24322
24323   Minion-side Access Control
24324       New in version 3000.
24325
24326
24327       Mine functions can be targeted to only be available  to  specific  min‐
24328       ions.  This  uses  the  same targeting parameters as targeting but with
24329       keywords allow_tgt and allow_tgt_type. When a minion requests  a  func‐
24330       tion  from  the  salt  mine that is not allowed to be requested by that
24331       minion  (i.e.  when  looking  up  the  combination  of  allow_tgt   and
24332       allow_tgt_type  and  the  requesting minion is not in the list) it will
24333       get no data, just as if the requested function is not  present  in  the
24334       salt mine.
24335
24336          mine_functions:
24337            network.ip_addrs:
24338              - interface: eth0
24339              - cidr: 10.0.0.0/8
24340              - allow_tgt: 'G@role:master'
24341              - allow_tgt_type: 'compound'
24342
24343   Mine Functions Aliases
24344       Function  aliases  can  be used to provide friendly names, usage inten‐
24345       tions or to allow multiple calls of the same  function  with  different
24346       arguments.  There  is  a  different  syntax  for passing positional and
24347       key-value arguments. Mixing positional and key-value arguments  is  not
24348       supported.
24349
24350       New in version 2014.7.0.
24351
24352
24353          mine_functions:
24354            network.ip_addrs: [eth0]
24355            networkplus.internal_ip_addrs: []
24356            internal_ip_addrs:
24357              mine_function: network.ip_addrs
24358              cidr: 192.168.0.0/16
24359            ip_list:
24360              - mine_function: grains.get
24361              - ip_interfaces
24362
24363       Changed in version 3000.
24364
24365
24366       With the addition of the module.run-like format for defining mine_func‐
24367       tions, the method  of  adding  aliases  remains  similar.  Just  add  a
24368       mine_function  kwarg with the name of the real function to call, making
24369       the key below mine_functions the alias:
24370
24371          mine_functions:
24372            alias_name:
24373              - mine_function: network.ip_addrs
24374              - eth0
24375            internal_ip_addrs:
24376              - mine_function: network.ip_addrs
24377              - cidr: 192.168.0.0/16
24378            ip_list:
24379              - mine_function: grains.get
24380              - ip_interfaces
24381
24382   Mine Interval
24383       The Salt Mine functions are executed when the Minion starts  and  at  a
24384       given  interval by the scheduler. The default interval is every 60 min‐
24385       utes and can be adjusted for the Minion via the mine_interval option in
24386       the minion config:
24387
24388          mine_interval: 60
24389
24390   Mine in Salt-SSH
24391       As of the 2015.5.0 release of salt, salt-ssh supports mine.get.
24392
24393       Because  the Minions cannot provide their own mine_functions configura‐
24394       tion, we retrieve the args for specified mine functions in one of three
24395       places, searched in the following order:
24396
24397       1. Roster data
24398
24399       2. Pillar
24400
24401       3. Master config
24402
24403       The  mine_functions  are  formatted exactly the same as in normal salt,
24404       just stored in a different location. Here is an example of a flat  ros‐
24405       ter containing mine_functions:
24406
24407          test:
24408            host: 104.237.131.248
24409            user: root
24410            mine_functions:
24411              cmd.run: ['echo "hello!"']
24412              network.ip_addrs:
24413                interface: eth0
24414
24415       NOTE:
24416          Because of the differences in the architecture of salt-ssh, mine.get
24417          calls are somewhat inefficient. Salt must make a new  salt-ssh  call
24418          to  each  of the Minions in question to retrieve the requested data,
24419          much like a publish call. However, unlike publish, it must  run  the
24420          requested  function  as  a  wrapper function, so we can retrieve the
24421          function args from the  pillar  of  the  Minion  in  question.  This
24422          results in a non-trivial delay in retrieving the requested data.
24423
24424   Minions Targeting with Mine
24425       The  mine.get function supports various methods of Minions targeting to
24426       fetch Mine data from particular hosts, such as glob or regular  expres‐
24427       sion  matching  on  Minion  id  (name),  grains,  pillars  and compound
24428       matches. See the salt.modules.mine module documentation for the  refer‐
24429       ence.
24430
24431       NOTE:
24432          Pillar  data  needs  to  be cached on Master for pillar targeting to
24433          work with Mine. Read the note in relevant section.
24434
24435   Example
24436       One way to use data from Salt Mine is in a State.  The  values  can  be
24437       retrieved  via Jinja and used in the SLS file. The following example is
24438       a partial HAProxy configuration file and pulls IP  addresses  from  all
24439       Minions  with  the "web" grain to add them to the pool of load balanced
24440       servers.
24441
24442       /srv/pillar/top.sls:
24443
24444          base:
24445            'G@roles:web':
24446              - web
24447
24448       /srv/pillar/web.sls:
24449
24450          mine_functions:
24451            network.ip_addrs: [eth0]
24452
24453       Then trigger the minions to refresh their pillar data by running:
24454
24455          salt '*' saltutil.refresh_pillar
24456
24457       Verify that the results are showing up in the pillar on the minions  by
24458       executing  the  following and checking for network.ip_addrs in the out‐
24459       put:
24460
24461          salt '*' pillar.items
24462
24463       Which should show that the function is present on the minion,  but  not
24464       include the output:
24465
24466          minion1.example.com:
24467              ----------
24468              mine_functions:
24469                  ----------
24470                  network.ip_addrs:
24471                      - eth0
24472
24473       Mine  data  is  typically  only updated on the master every 60 minutes,
24474       this can be modified by setting:
24475
24476       /etc/salt/minion.d/mine.conf:
24477
24478          mine_interval: 5
24479
24480       To force the mine data to update immediately run:
24481
24482          salt '*' mine.update
24483
24484       Setup the salt.states.file.managed state in /srv/salt/haproxy.sls:
24485
24486          haproxy_config:
24487            file.managed:
24488              - name: /etc/haproxy/config
24489              - source: salt://haproxy_config
24490              - template: jinja
24491
24492       Create the Jinja template in /srv/salt/haproxy_config:
24493
24494          <...file contents snipped...>
24495
24496          {% for server, addrs in salt['mine.get']('roles:web', 'network.ip_addrs', tgt_type='grain') | dictsort() %}
24497          server {{ server }} {{ addrs[0] }}:80 check
24498          {% endfor %}
24499
24500          <...file contents snipped...>
24501
24502       In the above example, server will be expanded to the minion_id.
24503
24504       NOTE:
24505          The expr_form argument will be renamed to tgt_type in  the  2017.7.0
24506          release of Salt.
24507
24508   Runners
24509       Salt  runners  are  convenience applications executed with the salt-run
24510       command.
24511
24512       Salt runners work similarly to Salt execution modules however they exe‐
24513       cute on the Salt master itself instead of remote Salt minions.
24514
24515       A Salt runner can be a simple client call or a complex application.
24516
24517       SEE ALSO:
24518          The full list of runners
24519
24520   Writing Salt Runners
24521       A  Salt  runner is written in a similar manner to a Salt execution mod‐
24522       ule.  Both are Python modules which contain functions and  each  public
24523       function is a runner which may be executed via the salt-run command.
24524
24525       For example, if a Python module named test.py is created in the runners
24526       directory and contains a function called foo, the test runner could  be
24527       invoked with the following command:
24528
24529          # salt-run test.foo
24530
24531       Runners have several options for controlling output.
24532
24533       Any  print  statement  in a runner is automatically also fired onto the
24534       master event bus where. For example:
24535
24536          def a_runner(outputter=None, display_progress=False):
24537              print('Hello world')
24538              ...
24539
24540       The above would result in an event fired as follows:
24541
24542          Event fired at Tue Jan 13 15:26:45 2015
24543          *************************
24544          Tag: salt/run/20150113152644070246/print
24545          Data:
24546          {'_stamp': '2015-01-13T15:26:45.078707',
24547           'data': 'hello',
24548            'outputter': 'pprint'}
24549
24550       A runner may also send a progress event, which is displayed to the user
24551       during  runner execution and is also passed across the event bus if the
24552       display_progress argument to a runner is set to True.
24553
24554       A  custom  runner  may  send  its  own  progress  event  by  using  the
24555       __jid_event_.fire_event() method as shown here:
24556
24557          if display_progress:
24558              __jid_event__.fire_event({'message': 'A progress message'}, 'progress')
24559
24560       The  above would produce output on the console reading: A progress mes‐
24561       sage as well as an event on the event similar to:
24562
24563          Event fired at Tue Jan 13 15:21:20 2015
24564          *************************
24565          Tag: salt/run/20150113152118341421/progress
24566          Data:
24567          {'_stamp': '2015-01-13T15:21:20.390053',
24568           'message': "A progress message"}
24569
24570       A runner could use the same approach to send an event with a customized
24571       tag onto the event bus by replacing the second argument (progress) with
24572       whatever tag is desired. However, this will not be shown  on  the  com‐
24573       mand-line and will only be fired onto the event bus.
24574
24575   Synchronous vs. Asynchronous
24576       A runner may be fired asynchronously which will immediately return con‐
24577       trol. In this case, no output will be display to the user  if  salt-run
24578       is  being  used  from  the  command-line.  If used programmatically, no
24579       results will be returned.  If results are desired, they must  be  gath‐
24580       ered either by firing events on the bus from the runner and then watch‐
24581       ing for them or by some other means.
24582
24583       NOTE:
24584          When running a runner in asynchronous mode, the --progress flag will
24585          not  deliver  output  to  the salt-run CLI. However, progress events
24586          will still be fired on the bus.
24587
24588       In synchronous mode, which is the default, control will not be returned
24589       until the runner has finished executing.
24590
24591       To  add  custom  runners,  put  them  in a directory and add it to run‐
24592       ner_dirs in the master configuration file.
24593
24594   Examples
24595       Examples of runners can be found in the Salt distribution:
24596
24597       https://github.com/saltstack/salt/blob/master/salt/runners
24598
24599       A simple runner that returns a well-formatted list of the minions  that
24600       are responding to Salt calls could look like this:
24601
24602          # Import salt modules
24603          import salt.client
24604
24605          def up():
24606              '''
24607              Print a list of all of the minions that are up
24608              '''
24609              client = salt.client.LocalClient(__opts__['conf_file'])
24610              minions = client.cmd('*', 'test.version', timeout=1)
24611              for minion in sorted(minions):
24612                  print minion
24613
24614   Salt Engines
24615       New in version 2015.8.0.
24616
24617
24618       Salt  Engines are long-running, external system processes that leverage
24619       Salt.
24620
24621       · Engines have access to Salt  configuration,  execution  modules,  and
24622         runners (__opts__, __salt__, and __runners__).
24623
24624       · Engines are executed in a separate process that is monitored by Salt.
24625         If a Salt engine stops, it is restarted automatically.
24626
24627       · Engines can run on the Salt master and on Salt minions.
24628
24629       Salt engines enhance and replace the external processes functionality.
24630
24631   Configuration
24632       Salt engines are configured under an engines top-level section in  your
24633       Salt master or Salt minion configuration. Provide a list of engines and
24634       parameters under this section.
24635
24636          engines:
24637            - logstash:
24638                host: log.my_network.com
24639                port: 5959
24640                proto: tcp
24641
24642       New in version 3000.
24643
24644
24645       Multiple copies of a  particular  Salt  engine  can  be  configured  by
24646       including the engine_module parameter in the engine configuration.
24647
24648          engines:
24649            - production_logstash:
24650                host: production_log.my_network.com
24651                port: 5959
24652                proto: tcp
24653                engine_module: logstash
24654            - develop_logstash:
24655                host: develop_log.my_network.com
24656                port: 5959
24657                proto: tcp
24658                engine_module: logstash
24659
24660       Salt  engines must be in the Salt path, or you can add the engines_dirs
24661       option in your Salt master configuration with  a  list  of  directories
24662       under  which  Salt attempts to find Salt engines. This option should be
24663       formatted as a list of directories to search, such as:
24664
24665          engines_dirs:
24666            - /home/bob/engines
24667
24668   Writing an Engine
24669       An                 example                 Salt                 engine,
24670       https://github.com/saltstack/salt/blob/master/salt/engines/test.py,  is
24671       available in the Salt source. To develop an engine, the  only  require‐
24672       ment is that your module implement the start() function.
24673
24674   Understanding YAML
24675       The  default  renderer  for  SLS  files is the YAML renderer. YAML is a
24676       markup language with many powerful features. However, Salt uses a small
24677       subset  of YAML that maps over very commonly used data structures, like
24678       lists and dictionaries. It is the job of the YAML renderer to take  the
24679       YAML data structure and compile it into a Python data structure for use
24680       by Salt.
24681
24682       Though YAML syntax may seem daunting and terse at first, there are only
24683       three very simple rules to remember when writing YAML for SLS files.
24684
24685   Rule One: Indentation
24686       YAML uses a fixed indentation scheme to represent relationships between
24687       data layers. Salt requires that the indentation for each level consists
24688       of exactly two spaces. Do not use tabs.
24689
24690   Rule Two: Colons
24691       Python  dictionaries are, of course, simply key-value pairs. Users from
24692       other languages may recognize this data type as hashes  or  associative
24693       arrays.
24694
24695       Dictionary  keys  are  represented  in  YAML as strings terminated by a
24696       trailing colon. Values are represented by either a string following the
24697       colon, separated by a space:
24698
24699          my_key: my_value
24700
24701       In Python, the above maps to:
24702
24703          {'my_key': 'my_value'}
24704
24705       Alternatively,  a  value  can be associated with a key through indenta‐
24706       tion.
24707
24708          my_key:
24709            my_value
24710
24711       NOTE:
24712          The above syntax is valid YAML but is uncommon in SLS files  because
24713          most  often,  the  value  for a key is not singular but instead is a
24714          list of values.
24715
24716       In Python, the above maps to:
24717
24718          {'my_key': 'my_value'}
24719
24720       Dictionaries can be nested:
24721
24722          first_level_dict_key:
24723            second_level_dict_key: value_in_second_level_dict
24724
24725       And in Python:
24726
24727          {
24728              'first_level_dict_key': {
24729                  'second_level_dict_key': 'value_in_second_level_dict'
24730              }
24731          }
24732
24733   Rule Three: Dashes
24734       To represent lists of items, a single dash followed by a space is used.
24735       Multiple  items are a part of the same list as a function of their hav‐
24736       ing the same level of indentation.
24737
24738          - list_value_one
24739          - list_value_two
24740          - list_value_three
24741
24742       Lists can be the value of a key-value pair. This  is  quite  common  in
24743       Salt:
24744
24745          my_dictionary:
24746            - list_value_one
24747            - list_value_two
24748            - list_value_three
24749
24750       In Python, the above maps to:
24751
24752          {'my_dictionary': ['list_value_one', 'list_value_two', 'list_value_three']}
24753
24754   Learning More
24755       One  easy  way  to  learn more about how YAML gets rendered into Python
24756       data structures is to use an online YAML parser to see the Python  out‐
24757       put.
24758
24759       One   excellent   choice   for  experimenting  with  YAML  parsing  is:
24760       http://yaml-online-parser.appspot.com/
24761
24762   Templating
24763       Jinja statements and expressions are allowed by default in  SLS  files.
24764       See Understanding Jinja.
24765
24766   Understanding Jinja
24767       Jinja is the default templating language in SLS files.
24768
24769   Jinja in States
24770       Jinja  is evaluated before YAML, which means it is evaluated before the
24771       States are run.
24772
24773       The most basic usage of Jinja in state files is  using  control  struc‐
24774       tures to wrap conditional or redundant state elements:
24775
24776          {% if grains['os'] != 'FreeBSD' %}
24777          tcsh:
24778              pkg:
24779                  - installed
24780          {% endif %}
24781
24782          motd:
24783            file.managed:
24784              {% if grains['os'] == 'FreeBSD' %}
24785              - name: /etc/motd
24786              {% elif grains['os'] == 'Debian' %}
24787              - name: /etc/motd.tail
24788              {% endif %}
24789              - source: salt://motd
24790
24791       In  this  example, the first if block will only be evaluated on minions
24792       that aren't running FreeBSD, and the second block changes the file name
24793       based on the os grain.
24794
24795       Writing  if-else blocks can lead to very redundant state files however.
24796       In this case, using pillars, or using  a  previously  defined  variable
24797       might be easier:
24798
24799          {% set motd = ['/etc/motd'] %}
24800          {% if grains['os'] == 'Debian' %}
24801            {% set motd = ['/etc/motd.tail', '/var/run/motd'] %}
24802          {% endif %}
24803
24804          {% for motdfile in motd %}
24805          {{ motdfile }}:
24806            file.managed:
24807              - source: salt://motd
24808          {% endfor %}
24809
24810       Using  a  variable  set by the template, the for loop will iterate over
24811       the list of MOTD files to update, adding a state block for each file.
24812
24813       The filter_by function can also be  used  to  set  variables  based  on
24814       grains:
24815
24816          {% set auditd = salt['grains.filter_by']({
24817          'RedHat': { 'package': 'audit' },
24818          'Debian': { 'package': 'auditd' },
24819          }) %}
24820
24821   Include and Import
24822       Includes  and  imports can be used to share common, reusable state con‐
24823       figuration between state files and between files.
24824
24825          {% from 'lib.sls' import test %}
24826
24827       This would import the test template variable or  macro,  not  the  test
24828       state  element,  from  the  file lib.sls. In the case that the included
24829       file performs checks against grains, or something  else  that  requires
24830       context, passing the context into the included file is required:
24831
24832          {% from 'lib.sls' import test with context %}
24833
24834       Includes must use full paths, like so:
24835
24836       spam/eggs.jinja
24837
24838           {% include 'spam/foobar.jinja' %}
24839
24840   Including Context During Include/Import
24841       By  adding  with  context  to the include/import directive, the current
24842       context can be passed to an included/imported template.
24843
24844          {% import 'openssl/vars.sls' as ssl with context %}
24845
24846   Macros
24847       Macros are helpful for eliminating redundant code. Macros are most use‐
24848       ful as mini-templates to repeat blocks of strings with a few parameter‐
24849       ized variables.  Be aware that stripping whitespace from  the  template
24850       block, as well as contained blocks, may be necessary to emulate a vari‐
24851       able return from the macro.
24852
24853          # init.sls
24854          {% from 'lib.sls' import pythonpkg with context %}
24855
24856          python-virtualenv:
24857            pkg.installed:
24858              - name: {{ pythonpkg('virtualenv') }}
24859
24860          python-fabric:
24861            pkg.installed:
24862              - name: {{ pythonpkg('fabric') }}
24863
24864          # lib.sls
24865          {% macro pythonpkg(pkg) -%}
24866            {%- if grains['os'] == 'FreeBSD' -%}
24867              py27-{{ pkg }}
24868            {%- elif grains['os'] == 'Debian' -%}
24869              python-{{ pkg }}
24870            {%- endif -%}
24871          {%- endmacro %}
24872
24873       This would define a macro that would return a string of the full  pack‐
24874       age  name,  depending  on the packaging system's naming convention. The
24875       whitespace of the macro was eliminated, so that the macro would  return
24876       a string without line breaks, using whitespace control.
24877
24878   Template Inheritance
24879       Template  inheritance works fine from state files and files. The search
24880       path starts at the root of the state tree or pillar.
24881
24882   Errors
24883       Saltstack allows raising custom errors using the raise jinja function.
24884
24885          {{ raise('Custom Error') }}
24886
24887       When rendering the template containing the above statement,  a  Templa‐
24888       teError  exception  is  raised,  causing the rendering to fail with the
24889       following message:
24890
24891          TemplateError: Custom Error
24892
24893   Filters
24894       Saltstack extends builtin filters with these custom filters:
24895
24896   strftime
24897       Converts any time related object into a time based string. It  requires
24898       valid  strftime directives. An exhaustive list can be found here in the
24899       Python documentation.
24900
24901          {% set curtime = None | strftime() %}
24902
24903       Fuzzy dates require the timelib Python module is installed.
24904
24905          {{ "2002/12/25"|strftime("%y") }}
24906          {{ "1040814000"|strftime("%Y-%m-%d") }}
24907          {{ datetime|strftime("%u") }}
24908          {{ "tomorrow"|strftime }}
24909
24910   sequence
24911       Ensure that parsed data is a sequence.
24912
24913   yaml_encode
24914       Serializes a single object into a YAML scalar with any  necessary  han‐
24915       dling  for  escaping special characters.  This will work for any scalar
24916       YAML data type: ints, floats, timestamps, booleans,  strings,  unicode.
24917       It will not work for multi-objects such as sequences or maps.
24918
24919          {%- set bar = 7 %}
24920          {%- set baz = none %}
24921          {%- set zip = true %}
24922          {%- set zap = 'The word of the day is "salty"' %}
24923
24924          {%- load_yaml as foo %}
24925          bar: {{ bar|yaml_encode }}
24926          baz: {{ baz|yaml_encode }}
24927          zip: {{ zip|yaml_encode }}
24928          zap: {{ zap|yaml_encode }}
24929          {%- endload %}
24930
24931       In  the  above case {{ bar }} and {{ foo.bar }} should be identical and
24932       {{ baz }} and {{ foo.baz }} should be identical.
24933
24934   yaml_dquote
24935       Serializes a string into a properly-escaped YAML double-quoted  string.
24936       This  is  useful when the contents of a string are unknown and may con‐
24937       tain quotes or unicode that  needs  to  be  preserved.   The  resulting
24938       string will be emitted with opening and closing double quotes.
24939
24940          {%- set bar = '"The quick brown fox . . ."' %}
24941          {%- set baz = 'The word of the day is "salty".' %}
24942
24943          {%- load_yaml as foo %}
24944          bar: {{ bar|yaml_dquote }}
24945          baz: {{ baz|yaml_dquote }}
24946          {%- endload %}
24947
24948       In  the  above case {{ bar }} and {{ foo.bar }} should be identical and
24949       {{ baz }} and {{ foo.baz }} should be identical.  If variable  contents
24950       are  not guaranteed to be a string then it is better to use yaml_encode
24951       which handles all YAML scalar types.
24952
24953   yaml_squote
24954       Similar to the yaml_dquote filter but with single  quotes.   Note  that
24955       YAML only allows special escapes inside double quotes so yaml_squote is
24956       not nearly as useful (viz.  you  likely  want  to  use  yaml_encode  or
24957       yaml_dquote).
24958
24959   to_bool
24960       New in version 2017.7.0.
24961
24962
24963       Returns the logical value of an element.
24964
24965       Example:
24966
24967          {{ 'yes' | to_bool }}
24968          {{ 'true' | to_bool }}
24969          {{ 1 | to_bool }}
24970          {{ 'no' | to_bool }}
24971
24972       Will be rendered as:
24973
24974          True
24975          True
24976          True
24977          False
24978
24979   exactly_n_true
24980       New in version 2017.7.0.
24981
24982
24983       Tests  that  exactly N items in an iterable are "truthy" (neither None,
24984       False, nor 0).
24985
24986       Example:
24987
24988          {{ ['yes', 0, False, 'True'] | exactly_n_true(2) }}
24989
24990       Returns:
24991
24992          True
24993
24994   exactly_one_true
24995       New in version 2017.7.0.
24996
24997
24998       Tests that exactly one item in an iterable is "truthy"  (neither  None,
24999       False, nor 0).
25000
25001       Example:
25002
25003          {{ ['yes', False, 0, None] | exactly_one_true }}
25004
25005       Returns:
25006
25007          True
25008
25009   quote
25010       New in version 2017.7.0.
25011
25012
25013       This text will be wrapped in quotes.
25014
25015   regex_search
25016       New in version 2017.7.0.
25017
25018
25019       Scan  through  string looking for a location where this regular expres‐
25020       sion produces a match. Returns None in case there were no matches found
25021
25022       Example:
25023
25024          {{ 'abcdefabcdef' | regex_search('BC(.*)', ignorecase=True) }}
25025
25026       Returns:
25027
25028          ('defabcdef',)
25029
25030   regex_match
25031       New in version 2017.7.0.
25032
25033
25034       If zero or more characters at the beginning of string match this  regu‐
25035       lar expression, otherwise returns None.
25036
25037       Example:
25038
25039          {{ 'abcdefabcdef' | regex_match('BC(.*)', ignorecase=True) }}
25040
25041       Returns:
25042
25043          None
25044
25045   regex_replace
25046       New in version 2017.7.0.
25047
25048
25049       Searches for a pattern and replaces with a sequence of characters.
25050
25051       Example:
25052
25053          {% set my_text = 'yes, this is a TEST' %}
25054          {{ my_text | regex_replace(' ([a-z])', '__\\1', ignorecase=True) }}
25055
25056       Returns:
25057
25058          yes,__this__is__a__TEST
25059
25060   uuid
25061       New in version 2017.7.0.
25062
25063
25064       Return a UUID.
25065
25066       Example:
25067
25068          {{ 'random' | uuid }}
25069
25070       Returns:
25071
25072          3652b285-26ad-588e-a5dc-c2ee65edc804
25073
25074   is_list
25075       New in version 2017.7.0.
25076
25077
25078       Return if an object is list.
25079
25080       Example:
25081
25082          {{ [1, 2, 3] | is_list }}
25083
25084       Returns:
25085
25086          True
25087
25088   is_iter
25089       New in version 2017.7.0.
25090
25091
25092       Return if an object is iterable.
25093
25094       Example:
25095
25096          {{ [1, 2, 3] | is_iter }}
25097
25098       Returns:
25099
25100          True
25101
25102   min
25103       New in version 2017.7.0.
25104
25105
25106       Return the minimum value from a list.
25107
25108       Example:
25109
25110          {{ [1, 2, 3] | min }}
25111
25112       Returns:
25113
25114          1
25115
25116   max
25117       New in version 2017.7.0.
25118
25119
25120       Returns the maximum value from a list.
25121
25122       Example:
25123
25124          {{ [1, 2, 3] | max }}
25125
25126       Returns:
25127
25128          3
25129
25130   avg
25131       New in version 2017.7.0.
25132
25133
25134       Returns the average value of the elements of a list
25135
25136       Example:
25137
25138          {{ [1, 2, 3] | avg }}
25139
25140       Returns:
25141
25142          2
25143
25144   union
25145       New in version 2017.7.0.
25146
25147
25148       Return the union of two lists.
25149
25150       Example:
25151
25152          {{ [1, 2, 3] | union([2, 3, 4]) | join(', ') }}
25153
25154       Returns:
25155
25156          1, 2, 3, 4
25157
25158   intersect
25159       New in version 2017.7.0.
25160
25161
25162       Return the intersection of two lists.
25163
25164       Example:
25165
25166          {{ [1, 2, 3] | intersect([2, 3, 4]) | join(', ') }}
25167
25168       Returns:
25169
25170          2, 3
25171
25172   difference
25173       New in version 2017.7.0.
25174
25175
25176       Return the difference of two lists.
25177
25178       Example:
25179
25180          {{ [1, 2, 3] | difference([2, 3, 4]) | join(', ') }}
25181
25182       Returns:
25183
25184          1
25185
25186   symmetric_difference
25187       New in version 2017.7.0.
25188
25189
25190       Return the symmetric difference of two lists.
25191
25192       Example:
25193
25194          {{ [1, 2, 3] | symmetric_difference([2, 3, 4]) | join(', ') }}
25195
25196       Returns:
25197
25198          1, 4
25199
25200   is_sorted
25201       New in version 2017.7.0.
25202
25203
25204       Return True if an iterable object is already sorted.
25205
25206       Example:
25207
25208          {{ [1, 2, 3] | is_sorted }}
25209
25210       Returns:
25211
25212          True
25213
25214   compare_lists
25215       New in version 2017.7.0.
25216
25217
25218       Compare two lists and return a dictionary with the changes.
25219
25220       Example:
25221
25222          {{ [1, 2, 3] | compare_lists([1, 2, 4]) }}
25223
25224       Returns:
25225
25226          {'new': [4], 'old': [3]}
25227
25228   compare_dicts
25229       New in version 2017.7.0.
25230
25231
25232       Compare two dictionaries and return a dictionary with the changes.
25233
25234       Example:
25235
25236          {{ {'a': 'b'} | compare_dicts({'a': 'c'}) }}
25237
25238       Returns:
25239
25240          {'a': {'new': 'c', 'old': 'b'}}
25241
25242   is_hex
25243       New in version 2017.7.0.
25244
25245
25246       Return True if the value is hexadecimal.
25247
25248       Example:
25249
25250          {{ '0xabcd' | is_hex }}
25251          {{ 'xyzt' | is_hex }}
25252
25253       Returns:
25254
25255          True
25256          False
25257
25258   contains_whitespace
25259       New in version 2017.7.0.
25260
25261
25262       Return True if a text contains whitespaces.
25263
25264       Example:
25265
25266          {{ 'abcd' | contains_whitespace }}
25267          {{ 'ab cd' | contains_whitespace }}
25268
25269       Returns:
25270
25271          False
25272          True
25273
25274   substring_in_list
25275       New in version 2017.7.0.
25276
25277
25278       Return True if a substring is found in a list of string values.
25279
25280       Example:
25281
25282          {{ 'abcd' | substring_in_list(['this', 'is', 'an abcd example']) }}
25283
25284       Returns:
25285
25286          True
25287
25288   check_whitelist_blacklist
25289       New in version 2017.7.0.
25290
25291
25292       Check a whitelist and/or blacklist to see if the value matches it.
25293
25294       This filter can be used with either a whitelist or a blacklist individ‐
25295       ually, or a whitelist and a blacklist can be passed simultaneously.
25296
25297       If whitelist is used alone, value membership  is  checked  against  the
25298       whitelist only. If the value is found, the function returns True.  Oth‐
25299       erwise, it returns False.
25300
25301       If blacklist is used alone, value membership  is  checked  against  the
25302       blacklist  only.  If  the  value  is found, the function returns False.
25303       Otherwise, it returns True.
25304
25305       If both a whitelist and a blacklist are provided, value  membership  in
25306       the  blacklist will be examined first. If the value is not found in the
25307       blacklist, then the whitelist is checked. If the value isn't  found  in
25308       the whitelist, the function returns False.
25309
25310       Whitelist Example:
25311
25312          {{ 5 | check_whitelist_blacklist(whitelist=[5, 6, 7]) }}
25313
25314       Returns:
25315
25316          True
25317
25318       Blacklist Example:
25319
25320          {{ 5 | check_whitelist_blacklist(blacklist=[5, 6, 7]) }}
25321
25322          False
25323
25324   date_format
25325       New in version 2017.7.0.
25326
25327
25328       Converts unix timestamp into human-readable string.
25329
25330       Example:
25331
25332          {{ 1457456400 | date_format }}
25333          {{ 1457456400 | date_format('%d.%m.%Y %H:%M') }}
25334
25335       Returns:
25336
25337          2017-03-08
25338          08.03.2017 17:00
25339
25340   to_num
25341       New in version 2017.7.0.
25342
25343
25344       New in version 2018.3.0: Renamed from str_to_num to to_num.
25345
25346
25347       Converts a string to its numerical value.
25348
25349       Example:
25350
25351          {{ '5' | to_num }}
25352
25353       Returns:
25354
25355          5
25356
25357   to_bytes
25358       New in version 2017.7.0.
25359
25360
25361       Converts string-type object to bytes.
25362
25363       Example:
25364
25365          {{ 'wall of text' | to_bytes }}
25366
25367       NOTE:
25368          This  option  may  have  adverse effects when using the default ren‐
25369          derer, jinja|yaml. This is due to the fact that YAML requires proper
25370          handling  in regard to special characters. Please see the section on
25371          YAML ASCII support in the YAML Idiosyncracies documentation for more
25372          information.
25373
25374   json_encode_list
25375       New in version 2017.7.0.
25376
25377
25378       New   in   version   2018.3.0:   Renamed   from   json_decode_list   to
25379       json_encode_list. When you encode something you get bytes, and when you
25380       decode,  you  get your locale's encoding (usually a unicode type). This
25381       filter was incorrectly-named when it was added.  json_decode_list  will
25382       be supported until the Aluminium release.
25383
25384
25385       Deprecated  since  version  2018.3.3,2019.2.0: The tojson filter accom‐
25386       plishes what this filter was designed to do, making this filter  redun‐
25387       dant.
25388
25389
25390       Recursively encodes all string elements of the list to bytes.
25391
25392       Example:
25393
25394          {{ [1, 2, 3] | json_encode_list }}
25395
25396       Returns:
25397
25398          [1, 2, 3]
25399
25400   json_encode_dict
25401       New in version 2017.7.0.
25402
25403
25404       New   in   version   2018.3.0:   Renamed   from   json_decode_dict   to
25405       json_encode_dict. When you encode something you get bytes, and when you
25406       decode,  you  get your locale's encoding (usually a unicode type). This
25407       filter was incorrectly-named when it was added.  json_decode_dict  will
25408       be supported until the Aluminium release.
25409
25410
25411       Deprecated  since  version  2018.3.3,2019.2.0: The tojson filter accom‐
25412       plishes what this filter was designed to do, making this filter  redun‐
25413       dant.
25414
25415
25416       Recursively encodes all string items in the dictionary to bytes.
25417
25418       Example:
25419
25420       Assuming that pillar['foo'] contains {u'a': u'\u0414'}, and your locale
25421       is en_US.UTF-8:
25422
25423          {{ pillar['foo'] | json_encode_dict }}
25424
25425       Returns:
25426
25427          {'a': '\xd0\x94'}
25428
25429   tojson
25430       New in version 2018.3.3,2019.2.0.
25431
25432
25433       Dumps a data structure to JSON.
25434
25435       This filter was added to provide this functionality to hosts which have
25436       a Jinja release older than version 2.9 installed. If Jinja 2.9 or newer
25437       is installed, then the upstream version of the filter will be used. See
25438       the upstream docs for more information.
25439
25440   random_hash
25441       New in version 2017.7.0.
25442
25443
25444       New  in  version 2018.3.0: Renamed from rand_str to random_hash to more
25445       accurately describe what the filter does. rand_str will be supported to
25446       ensure  backwards  compatibility  but  please  use  the  preferred ran‐
25447       dom_hash.
25448
25449
25450       Generates a random number between 1 and the number passed to  the  fil‐
25451       ter,  and then hashes it. The default hash type is the one specified by
25452       the minion's hash_type config option, but an alternate hash type can be
25453       passed to the filter as an argument.
25454
25455       Example:
25456
25457          {% set num_range = 99999999 %}
25458          {{ num_range | random_hash }}
25459          {{ num_range | random_hash('sha512') }}
25460
25461       Returns:
25462
25463          43ec517d68b6edd3015b3edc9a11367b
25464          d94a45acd81f8e3107d237dbc0d5d195f6a52a0d188bc0284c0763ece1eac9f9496fb6a531a296074c87b3540398dace1222b42e150e67c9301383fde3d66ae5
25465
25466   set_dict_key_value
25467       ..versionadded:: 3000
25468
25469       Allows  you  to  set  a  value in a nested dictionary without having to
25470       worry if all the nested keys actually  exist.   Missing  keys  will  be
25471       automatically  created if they do not exist.  The default delimiter for
25472       the keys is ':', however, with  the  delimiter-parameter,  a  different
25473       delimiter can be specified.
25474
25475       Examples:
25476
25477
25478
25479       Example 1:
25480              {%-  set  foo = {} %} {{ foo | set_dict_key_value('bar:baz', 42)
25481              }}
25482
25483       Example 2:
25484              {{ {} | set_dict_key_value('bar.baz.qux', 42, delimiter='.') }}
25485
25486       Returns:
25487
25488
25489
25490       Example 1:
25491              {'bar': {'baz': 42}}
25492
25493       Example 2:
25494              {'bar': {'baz': {'qux': 42}}}
25495
25496   append_dict_key_value
25497       ..versionadded:: 3000
25498
25499       Allows you to append to a list nested (deep) in  a  dictionary  without
25500       having  to  worry  if all the nested keys (or the list itself) actually
25501       exist.  Missing keys will automatically  be  created  if  they  do  not
25502       exist.   The  default  delimiter for the keys is ':', however, with the
25503       delimiter-parameter, a different delimiter can be specified.
25504
25505       Examples:
25506
25507
25508
25509       Example 1:
25510              {%-  set  foo  =  {'bar':  {'baz':  [1,  2]}}  %}   {{   foo   |
25511              append_dict_key_value('bar:baz', 42) }}
25512
25513       Example 2:
25514              {%-      set      foo      =      {}     %}     {{     foo     |
25515              append_dict_key_value('bar:baz:qux', 42) }}
25516
25517       Returns:
25518
25519
25520
25521       Example 1:
25522              {'bar': {'baz': [1, 2, 42]}}
25523
25524       Example 2:
25525              {'bar': {'baz': {'qux': [42]}}}
25526
25527   extend_dict_key_value
25528       ..versionadded:: 3000
25529
25530       Allows you to extend a list nested (deep) in a dictionary without  hav‐
25531       ing  to  worry  if  all  the  nested keys (or the list itself) actually
25532       exist.  Missing keys will automatically  be  created  if  they  do  not
25533       exist.   The  default  delimiter for the keys is ':', however, with the
25534       delimiter-parameter, a different delimiter can be specified.
25535
25536       Examples:
25537
25538
25539
25540       Example 1:
25541              {%-  set  foo  =  {'bar':  {'baz':  [1,  2]}}  %}   {{   foo   |
25542              extend_dict_key_value('bar:baz', [42, 42]) }}
25543
25544       Example 2:
25545              {{ {} | extend_dict_key_value('bar:baz:qux', [42]) }}
25546
25547       Returns:
25548
25549
25550
25551       Example 1:
25552              {'bar': {'baz': [1, 2, 42, 42]}}
25553
25554       Example 2:
25555              {'bar': {'baz': {'qux': [42]}}}
25556
25557   update_dict_key_value
25558       ..versionadded:: 3000
25559
25560       Allows  you  to update a dictionary nested (deep) in another dictionary
25561       without having to worry if all the nested keys actually exist.  Missing
25562       keys  will  automatically be created if they do not exist.  The default
25563       delimiter for the keys is ':', however, with the delimiter-parameter, a
25564       different delimiter can be specified.
25565
25566       Examples:
25567
25568
25569
25570       Example 1:
25571              {%-  set  foo  =  {'bar':  {'baz':  {'qux':  1}}}  %}  {{  foo |
25572              update_dict_key_value('bar:baz', {'quux': 3}) }}
25573
25574       Example 2:
25575              {{ {} | update_dict_key_value('bar:baz:qux', {'quux': 3}) }}
25576
25577
25578
25579       Example 1:
25580              {'bar': {'baz': {'qux': 1, 'quux': 3}}}
25581
25582       Example 2:
25583              {'bar': {'baz': {'qux': {'quux': 3}}}}
25584
25585   md5
25586       New in version 2017.7.0.
25587
25588
25589       Return the md5 digest of a string.
25590
25591       Example:
25592
25593          {{ 'random' | md5 }}
25594
25595       Returns:
25596
25597          7ddf32e17a6ac5ce04a8ecbf782ca509
25598
25599   sha256
25600       New in version 2017.7.0.
25601
25602
25603       Return the sha256 digest of a string.
25604
25605       Example:
25606
25607          {{ 'random' | sha256 }}
25608
25609       Returns:
25610
25611          a441b15fe9a3cf56661190a0b93b9dec7d04127288cc87250967cf3b52894d11
25612
25613   sha512
25614       New in version 2017.7.0.
25615
25616
25617       Return the sha512 digest of a string.
25618
25619       Example:
25620
25621          {{ 'random' | sha512 }}
25622
25623       Returns:
25624
25625          811a90e1c8e86c7b4c0eef5b2c0bf0ec1b19c4b1b5a242e6455be93787cb473cb7bc9b0fdeb960d00d5c6881c2094dd63c5c900ce9057255e2a4e271fc25fef1
25626
25627   base64_encode
25628       New in version 2017.7.0.
25629
25630
25631       Encode a string as base64.
25632
25633       Example:
25634
25635          {{ 'random' | base64_encode }}
25636
25637       Returns:
25638
25639          cmFuZG9t
25640
25641   base64_decode
25642       New in version 2017.7.0.
25643
25644
25645       Decode a base64-encoded string.
25646
25647          {{ 'Z2V0IHNhbHRlZA==' | base64_decode }}
25648
25649       Returns:
25650
25651          get salted
25652
25653   hmac
25654       New in version 2017.7.0.
25655
25656
25657       Verify a challenging hmac signature against a string  /  shared-secret.
25658       Returns a boolean value.
25659
25660       Example:
25661
25662          {{ 'get salted' | hmac('shared secret', 'eBWf9bstXg+NiP5AOwppB5HMvZiYMPzEM9W5YMm/AmQ=') }}
25663
25664       Returns:
25665
25666          True
25667
25668   http_query
25669       New in version 2017.7.0.
25670
25671
25672       Return the HTTP reply object from a URL.
25673
25674       Example:
25675
25676          {{ 'http://jsonplaceholder.typicode.com/posts/1' | http_query }}
25677
25678       Returns:
25679
25680          {
25681            'body': '{
25682              "userId": 1,
25683              "id": 1,
25684              "title": "sunt aut facere repellat provident occaecati excepturi option reprehenderit",
25685              "body": "quia et suscipit\\nsuscipit recusandae consequuntur expedita et cum\\nreprehenderit molestiae ut ut quas totam\\nnostrum rerum est autem sunt rem eveniet architecto"
25686            }'
25687          }
25688
25689   traverse
25690       New in version 2018.3.3.
25691
25692
25693       Traverse  a  dict  or  list using a colon-delimited target string.  The
25694       target 'foo:bar:0' will  return  data['foo']['bar'][0]  if  this  value
25695       exists, and will otherwise return the provided default value.
25696
25697       Example:
25698
25699          {{ {'a1': {'b1': {'c1': 'foo'}}, 'a2': 'bar'} | traverse('a1:b1', 'default') }}
25700
25701       Returns:
25702
25703          {'c1': 'foo'}
25704
25705          {{ {'a1': {'b1': {'c1': 'foo'}}, 'a2': 'bar'} | traverse('a2:b2', 'default') }}
25706
25707       Returns:
25708
25709          'default'
25710
25711   json_query
25712       New in version 3000.
25713
25714
25715       A  port of Ansible json_query Jinja filter to make queries against JSON
25716       data using JMESPath language.  Could be used  to  filter  pillar  data,
25717       yaml  maps,  and  together  with  http_query.   Depends on the jmespath
25718       Python module.
25719
25720       Examples:
25721
25722          Example 1: {{ [1, 2, 3, 4, [5, 6]] | json_query('[]') }}
25723
25724          Example 2: {{
25725          {"machines": [
25726            {"name": "a", "state": "running"},
25727            {"name": "b", "state": "stopped"},
25728            {"name": "c", "state": "running"}
25729          ]} | json_query("machines[?state=='running'].name") }}
25730
25731          Example 3: {{
25732          {"services": [
25733            {"name": "http", "host": "1.2.3.4", "port": 80},
25734            {"name": "smtp", "host": "1.2.3.5", "port": 25},
25735            {"name": "ssh",  "host": "1.2.3.6", "port": 22},
25736          ]} | json_query("services[].port") }}
25737
25738       Returns:
25739
25740          Example 1: [1, 2, 3, 4, 5, 6]
25741
25742          Example 2: ['a', 'c']
25743
25744          Example 3: [80, 25, 22]
25745
25746   to_snake_case
25747       New in version 3000.
25748
25749
25750       Converts a string from camelCase (or CamelCase) to snake_case.
25751
25752          Example: {{ camelsWillLoveThis | to_snake_case }}
25753
25754       Returns:
25755
25756          Example: camels_will_love_this
25757
25758   to_camelcase
25759       New in version 3000.
25760
25761
25762       Converts a string from snake_case to camelCase (or UpperCamelCase if so
25763       indicated).
25764
25765          Example 1: {{ snake_case_for_the_win | to_camelcase }}
25766
25767          Example 2: {{ snake_case_for_the_win | to_camelcase(uppercamel=True) }}
25768
25769       Returns:
25770
25771          Example 1: snakeCaseForTheWin
25772          Example 2: SnakeCaseForTheWin
25773
25774   Networking Filters
25775       The following networking-related filters are supported:
25776
25777   is_ip
25778       New in version 2017.7.0.
25779
25780
25781       Return if a string is a valid IP Address.
25782
25783          {{ '192.168.0.1' | is_ip }}
25784
25785       Additionally accepts the following options:
25786
25787       · global
25788
25789       · link-local
25790
25791       · loopback
25792
25793       · multicast
25794
25795       · private
25796
25797       · public
25798
25799       · reserved
25800
25801       · site-local
25802
25803       · unspecified
25804
25805       Example - test if a string is a valid loopback IP address.
25806
25807          {{ '192.168.0.1' | is_ip(options='loopback') }}
25808
25809   is_ipv4
25810       New in version 2017.7.0.
25811
25812
25813       Returns  if a string is a valid IPv4 address. Supports the same options
25814       as is_ip.
25815
25816          {{ '192.168.0.1' | is_ipv4 }}
25817
25818   is_ipv6
25819       New in version 2017.7.0.
25820
25821
25822       Returns if a string is a valid IPv6 address. Supports the same  options
25823       as is_ip.
25824
25825          {{ 'fe80::' | is_ipv6 }}
25826
25827   ipaddr
25828       New in version 2017.7.0.
25829
25830
25831       From  a  list, returns only valid IP entries. Supports the same options
25832       as is_ip. The list can contains also IP interfaces/networks.
25833
25834       Example:
25835
25836          {{ ['192.168.0.1', 'foo', 'bar', 'fe80::'] | ipaddr }}
25837
25838       Returns:
25839
25840          ['192.168.0.1', 'fe80::']
25841
25842   ipv4
25843       New in version 2017.7.0.
25844
25845
25846       From a list, returns only valid IPv4 entries. Supports the same options
25847       as is_ip. The list can contains also IP interfaces/networks.
25848
25849       Example:
25850
25851          {{ ['192.168.0.1', 'foo', 'bar', 'fe80::'] | ipv4 }}
25852
25853       Returns:
25854
25855          ['192.168.0.1']
25856
25857   ipv6
25858       New in version 2017.7.0.
25859
25860
25861       From a list, returns only valid IPv6 entries. Supports the same options
25862       as is_ip. The list can contains also IP interfaces/networks.
25863
25864       Example:
25865
25866          {{ ['192.168.0.1', 'foo', 'bar', 'fe80::'] | ipv6 }}
25867
25868       Returns:
25869
25870          ['fe80::']
25871
25872   network_hosts
25873       New in version 2017.7.0.
25874
25875
25876       Return the list of hosts within a networks. This utility works for both
25877       IPv4 and IPv6.
25878
25879       NOTE:
25880          When  running  this  command  with a large IPv6 network, the command
25881          will take a long time to gather all of the hosts.
25882
25883       Example:
25884
25885          {{ '192.168.0.1/30' | network_hosts }}
25886
25887       Returns:
25888
25889          ['192.168.0.1', '192.168.0.2']
25890
25891   network_size
25892       New in version 2017.7.0.
25893
25894
25895       Return the size of the network. This utility works for  both  IPv4  and
25896       IPv6.
25897
25898       Example:
25899
25900          {{ '192.168.0.1/8' | network_size }}
25901
25902       Returns:
25903
25904          16777216
25905
25906   gen_mac
25907       New in version 2017.7.0.
25908
25909
25910       Generates a MAC address with the defined OUI prefix.
25911
25912       Common prefixes:
25913
25914       · 00:16:3E -- Xen
25915
25916       · 00:18:51 -- OpenVZ
25917
25918       · 00:50:56 -- VMware (manually generated)
25919
25920       · 52:54:00 -- QEMU/KVM
25921
25922       · AC:DE:48 -- PRIVATE
25923
25924       Example:
25925
25926          {{ '00:50' | gen_mac }}
25927
25928       Returns:
25929
25930          00:50:71:52:1C
25931
25932   mac_str_to_bytes
25933       New in version 2017.7.0.
25934
25935
25936       Converts a string representing a valid MAC address to bytes.
25937
25938       Example:
25939
25940          {{ '00:11:22:33:44:55' | mac_str_to_bytes }}
25941
25942       NOTE:
25943          This  option  may  have  adverse effects when using the default ren‐
25944          derer, jinja|yaml. This is due to the fact that YAML requires proper
25945          handling  in regard to special characters. Please see the section on
25946          YAML ASCII support in the YAML Idiosyncracies documentation for more
25947          information.
25948
25949   dns_check
25950       New in version 2017.7.0.
25951
25952
25953       Return  the  ip resolved by dns, but do not exit on failure, only raise
25954       an exception. Obeys system preference for IPv4/6 address resolution.
25955
25956       Example:
25957
25958          {{ 'www.google.com' | dns_check(port=443) }}
25959
25960       Returns:
25961
25962          '172.217.3.196'
25963
25964   File filters
25965   is_text_file
25966       New in version 2017.7.0.
25967
25968
25969       Return if a file is text.
25970
25971       Uses heuristics to guess whether the given file is text or  binary,  by
25972       reading a single block of bytes from the file.  If more than 30% of the
25973       chars in the block are non-text, or there are NUL ('x00') bytes in  the
25974       block, assume this is a binary file.
25975
25976       Example:
25977
25978          {{ '/etc/salt/master' | is_text_file }}
25979
25980       Returns:
25981
25982          True
25983
25984   is_binary_file
25985       New in version 2017.7.0.
25986
25987
25988       Return if a file is binary.
25989
25990       Detects if the file is a binary, returns bool. Returns True if the file
25991       is a bin, False if the file is not and None if the file is  not  avail‐
25992       able.
25993
25994       Example:
25995
25996          {{ '/etc/salt/master' | is_binary_file }}
25997
25998       Returns:
25999
26000          False
26001
26002   is_empty_file
26003       New in version 2017.7.0.
26004
26005
26006       Return if a file is empty.
26007
26008       Example:
26009
26010          {{ '/etc/salt/master' | is_empty_file }}
26011
26012       Returns:
26013
26014          False
26015
26016   file_hashsum
26017       New in version 2017.7.0.
26018
26019
26020       Return the hashsum of a file.
26021
26022       Example:
26023
26024          {{ '/etc/salt/master' | file_hashsum }}
26025
26026       Returns:
26027
26028          02d4ef135514934759634f10079653252c7ad594ea97bd385480c532bca0fdda
26029
26030   list_files
26031       New in version 2017.7.0.
26032
26033
26034       Return a recursive list of files under a specific path.
26035
26036       Example:
26037
26038          {{ '/etc/salt/' | list_files | join('\n') }}
26039
26040       Returns:
26041
26042          /etc/salt/master
26043          /etc/salt/proxy
26044          /etc/salt/minion
26045          /etc/salt/pillar/top.sls
26046          /etc/salt/pillar/device1.sls
26047
26048   path_join
26049       New in version 2017.7.0.
26050
26051
26052       Joins absolute paths.
26053
26054       Example:
26055
26056          {{ '/etc/salt/' | path_join('pillar', 'device1.sls') }}
26057
26058       Returns:
26059
26060          /etc/salt/pillar/device1.sls
26061
26062   which
26063       New in version 2017.7.0.
26064
26065
26066       Python clone of /usr/bin/which.
26067
26068       Example:
26069
26070          {{ 'salt-master' | which }}
26071
26072       Returns:
26073
26074          /usr/local/salt/virtualenv/bin/salt-master
26075
26076   Tests
26077       Saltstack extends builtin tests with these custom tests:
26078
26079   equalto
26080       Tests the equality between two values.
26081
26082       Can be used in an if statement directly:
26083
26084          {% if 1 is equalto(1) %}
26085              < statements >
26086          {% endif %}
26087
26088       If clause evaluates to True
26089
26090       or with the selectattr filter:
26091
26092          {{ [{'value': 1}, {'value': 2} , {'value': 3}] | selectattr('value', 'equalto', 3) | list }}
26093
26094       Returns:
26095
26096          [{'value': 3}]
26097
26098   match
26099       Tests that a string matches the regex passed as an argument.
26100
26101       Can be used in a if statement directly:
26102
26103          {% if 'a' is match('[a-b]') %}
26104              < statements >
26105          {% endif %}
26106
26107       If clause evaluates to True
26108
26109       or with the selectattr filter:
26110
26111          {{ [{'value': 'a'}, {'value': 'b'}, {'value': 'c'}] | selectattr('value', 'match', '[b-e]') | list }}
26112
26113       Returns:
26114
26115          [{'value': 'b'}, {'value': 'c'}]
26116
26117       Test supports additional optional arguments: ignorecase, multiline
26118
26119   Escape filters
26120   regex_escape
26121       New in version 2017.7.0.
26122
26123
26124       Allows  escaping  of  strings  so  they can be interpreted literally by
26125       another function.
26126
26127       Example:
26128
26129          regex_escape = {{ 'https://example.com?foo=bar%20baz' | regex_escape }}
26130
26131       will be rendered as:
26132
26133          regex_escape = https\:\/\/example\.com\?foo\=bar\%20baz
26134
26135   Set Theory Filters
26136   unique
26137       New in version 2017.7.0.
26138
26139
26140       Performs set math using Jinja filters.
26141
26142       Example:
26143
26144          unique = {{ ['foo', 'foo', 'bar'] | unique }}
26145
26146       will be rendered as:
26147
26148          unique = ['foo', 'bar']
26149
26150   Jinja in Files
26151       Jinja can be used in the same way in managed files:
26152
26153          # redis.sls
26154          /etc/redis/redis.conf:
26155              file.managed:
26156                  - source: salt://redis.conf
26157                  - template: jinja
26158                  - context:
26159                      bind: 127.0.0.1
26160
26161          # lib.sls
26162          {% set port = 6379 %}
26163
26164          # redis.conf
26165          {% from 'lib.sls' import port with context %}
26166          port {{ port }}
26167          bind {{ bind }}
26168
26169       As an example, configuration was pulled from the file context and  from
26170       an external template file.
26171
26172       NOTE:
26173          Macros and variables can be shared across templates. They should not
26174          be starting with one or more underscores, and should be  managed  by
26175          one  of  the  following  tags:  macro,  set,  load_yaml,  load_json,
26176          import_yaml and import_json.
26177
26178   Escaping Jinja
26179       Occasionally, it may be necessary to escape Jinja syntax. There are two
26180       ways  to  do  this  in  Jinja.  One is escaping individual variables or
26181       strings and the other is to escape entire blocks.
26182
26183       To escape a string commonly used in Jinja syntax such as  {{,  you  can
26184       use the following syntax:
26185
26186          {{ '{{' }}
26187
26188       For  larger  blocks that contain Jinja syntax that needs to be escaped,
26189       you can use raw blocks:
26190
26191          {% raw %}
26192              some text that contains jinja characters that need to be escaped
26193          {% endraw %}
26194
26195       See the Escaping section of Jinja's documentation to learn more.
26196
26197       A real-word example of needing to use raw tags to escape a larger block
26198       of  code  is when using file.managed with the contents_pillar option to
26199       manage files that contain something like consul-template, which  shares
26200       a  syntax  subset with Jinja. Raw blocks are necessary here because the
26201       Jinja in the pillar would be rendered before the file.managed  is  ever
26202       called, so the Jinja syntax must be escaped:
26203
26204          {% raw %}
26205          - contents_pillar: |
26206              job "example-job" {
26207                <snipped>
26208                task "example" {
26209                    driver = "docker"
26210
26211                    config {
26212                        image = "docker-registry.service.consul:5000/example-job:{{key "nomad/jobs/example-job/version"}}"
26213                <snipped>
26214          {% endraw %}
26215
26216   Calling Salt Functions
26217       The Jinja renderer provides a shorthand lookup syntax for the salt dic‐
26218       tionary of execution function.
26219
26220       New in version 2014.7.0.
26221
26222
26223          # The following two function calls are equivalent.
26224          {{ salt['cmd.run']('whoami') }}
26225          {{ salt.cmd.run('whoami') }}
26226
26227   Debugging
26228       The show_full_context function can be  used  to  output  all  variables
26229       present in the current Jinja context.
26230
26231       New in version 2014.7.0.
26232
26233
26234          Context is: {{ show_full_context()|yaml(False) }}
26235
26236   Logs
26237       New in version 2017.7.0.
26238
26239
26240       Yes,  in  Salt, one is able to debug a complex Jinja template using the
26241       logs.  For example, making the call:
26242
26243          {%- do salt.log.error('testing jinja logging') -%}
26244
26245       Will insert the following message in the minion logs:
26246
26247          2017-02-01 01:24:40,728 [salt.module.logmod][ERROR   ][3779] testing jinja logging
26248
26249   Python Methods
26250       A powerful feature of jinja that is only  hinted  at  in  the  official
26251       jinja  documentation  is  that you can use the native python methods of
26252       the variable type. Here is the python documentation for string methods.
26253
26254          {% set hostname,domain = grains.id.partition('.')[::2] %}{{ hostname }}
26255
26256          {% set strings = grains.id.split('-') %}{{ strings[0] }}
26257
26258   Custom Execution Modules
26259       Custom execution modules can be used to supplement or  replace  complex
26260       Jinja.  Many  tasks  that require complex looping and logic are trivial
26261       when using Python in a Salt execution module.  Salt  execution  modules
26262       are easy to write and distribute to Salt minions.
26263
26264       Functions  in custom execution modules are available in the Salt execu‐
26265       tion module dictionary just like the built-in execution modules:
26266
26267          {{ salt['my_custom_module.my_custom_function']() }}
26268
26269       · How to Convert Jinja Logic to an Execution Module
26270
26271       · Writing Execution Modules
26272
26273   Custom Jinja filters
26274       Given that all execution modules are available in the  Jinja  template,
26275       one  can easily define a custom module as in the previous paragraph and
26276       use it as a Jinja filter.  However, please note that  it  will  not  be
26277       accessible through the pipe.
26278
26279       For example, instead of:
26280
26281          {{ my_variable | my_jinja_filter }}
26282
26283       The  user  will need to define my_jinja_filter function under an exten‐
26284       sion module, say my_filters and use as:
26285
26286          {{ salt.my_filters.my_jinja_filter(my_variable) }}
26287
26288       The greatest benefit is that you are able to access thousands of exist‐
26289       ing functions, e.g.:
26290
26291       · get the DNS AAAA records for a specific address using the dnsutil:
26292
26293            {{ salt.dnsutil.AAAA('www.google.com') }}
26294
26295       · retrieve a specific field value from a Redis hash:
26296
26297            {{ salt.redis.hget('foo_hash', 'bar_field') }}
26298
26299       · get the routes to 0.0.0.0/0 using the NAPALM route:
26300
26301            {{ salt.route.show('0.0.0.0/0') }}
26302
26303   Tutorials Index
26304   Autoaccept minions from Grains
26305       New in version 2018.3.0.
26306
26307
26308       To  automatically accept minions based on certain characteristics, e.g.
26309       the uuid you can specify certain grain values on the salt master.  Min‐
26310       ions with matching grains will have their keys automatically accepted.
26311
26312       1. Configure the autosign_grains_dir in the master config file:
26313
26314          autosign_grains_dir: /etc/salt/autosign_grains
26315
26316       2. Configure the grain values to be accepted
26317
26318       Place  a file named like the grain in the autosign_grains_dir and write
26319       the values that should be accepted automatically inside that file.  For
26320       example  to  automatically  accept minions based on their uuid create a
26321       file named /etc/salt/autosign_grains/uuid:
26322
26323          8f7d68e2-30c5-40c6-b84a-df7e978a03ee
26324          1d3c5473-1fbc-479e-b0c7-877705a0730f
26325
26326       The master is now setup to accept minions with either of the two speci‐
26327       fied  uuids.   Multiple  values  must  always  be written into separate
26328       lines.  Lines starting with a # are ignored.
26329
26330       3. Configure the minion to send the specific grains to  the  master  in
26331          the minion config file:
26332
26333          autosign_grains:
26334            - uuid
26335
26336       Now  you  should  be  able  to  start  salt-minion  and  run  salt-call
26337       state.apply or any other salt commands that require master  authentica‐
26338       tion.
26339
26340   Salt as a Cloud Controller
26341       In Salt 0.14.0, an advanced cloud control system were introduced, allow
26342       private cloud vms to be managed directly with Salt. This system is gen‐
26343       erally referred to as Salt Virt.
26344
26345       The  Salt  Virt  system  already  exists  and  is installed within Salt
26346       itself, this means that besides setting up  Salt,  no  additional  salt
26347       code needs to be deployed.
26348
26349       NOTE:
26350          The libvirt python module and the certtool binary are required.
26351
26352       The  main  goal  of  Salt  Virt is to facilitate a very fast and simple
26353       cloud. The cloud that can scale and is fully featured. Salt Virt  comes
26354       with  the ability to set up and manage complex virtual machine network‐
26355       ing, powerful image and disk management, as  well  as  virtual  machine
26356       migration with and without shared storage.
26357
26358       This  means  that  Salt Virt can be used to create a cloud from a blade
26359       center and a SAN, but can also create a cloud out of a swarm  of  Linux
26360       Desktops  without  a  single  shared storage system. Salt Virt can make
26361       clouds from truly commodity hardware, but can also stand up  the  power
26362       of specialized hardware as well.
26363
26364   Setting up Hypervisors
26365       The  first  step to set up the hypervisors involves getting the correct
26366       software installed and setting up the hypervisor network interfaces.
26367
26368   Installing Hypervisor Software
26369       Salt Virt is made to be hypervisor  agnostic  but  currently  the  only
26370       fully implemented hypervisor is KVM via libvirt.
26371
26372       The required software for a hypervisor is libvirt and kvm. For advanced
26373       features install libguestfs or qemu-nbd.
26374
26375       NOTE:
26376          Libguestfs and qemu-nbd allow  for  virtual  machine  images  to  be
26377          mounted  before startup and get pre-seeded with configurations and a
26378          salt minion
26379
26380       This sls will set up the needed software for a hypervisor, and run  the
26381       routines to set up the libvirt pki keys.
26382
26383       NOTE:
26384          Package  names and setup used is Red Hat specific, different package
26385          names will be required for different platforms
26386
26387          libvirt:
26388            pkg.installed: []
26389            file.managed:
26390              - name: /etc/sysconfig/libvirtd
26391              - contents: 'LIBVIRTD_ARGS="--listen"'
26392              - require:
26393                - pkg: libvirt
26394            virt.keys:
26395              - require:
26396                - pkg: libvirt
26397            service.running:
26398              - name: libvirtd
26399              - require:
26400                - pkg: libvirt
26401                - network: br0
26402                - libvirt: libvirt
26403              - watch:
26404                - file: libvirt
26405
26406          libvirt-python:
26407            pkg.installed: []
26408
26409          libguestfs:
26410            pkg.installed:
26411              - pkgs:
26412                - libguestfs
26413                - libguestfs-tools
26414
26415   Hypervisor Network Setup
26416       The hypervisors will need to be running a network bridge  to  serve  up
26417       network  devices for virtual machines, this formula will set up a stan‐
26418       dard bridge on a hypervisor connecting the bridge to eth0:
26419
26420          eth0:
26421            network.managed:
26422              - enabled: True
26423              - type: eth
26424              - bridge: br0
26425
26426          br0:
26427            network.managed:
26428              - enabled: True
26429              - type: bridge
26430              - proto: dhcp
26431              - require:
26432                - network: eth0
26433
26434   Virtual Machine Network Setup
26435       Salt Virt comes with a system to model the network interfaces  used  by
26436       the deployed virtual machines; by default a single interface is created
26437       for the deployed virtual machine and is bridged to br0.  To  get  going
26438       with  the  default  networking  setup, ensure that the bridge interface
26439       named br0 exists on the hypervisor and is bridged to an active  network
26440       device.
26441
26442       NOTE:
26443          To  use  more  advanced  networking in Salt Virt, read the Salt Virt
26444          Networking document:
26445
26446          Salt Virt Networking
26447
26448   Libvirt State
26449       One of the challenges of deploying a libvirt based cloud is the distri‐
26450       bution  of  libvirt  certificates. These certificates allow for virtual
26451       machine migration. Salt comes with a system used to auto  deploy  these
26452       certificates.   Salt  manages  the  signing authority key and generates
26453       keys for libvirt clients on the master, signs them with the certificate
26454       authority  and  uses pillar to distribute them. This is managed via the
26455       libvirt state. Simply execute this formula on the minion to ensure that
26456       the certificate is in place and up to date:
26457
26458       NOTE:
26459          The above formula includes the calls needed to set up libvirt keys.
26460
26461          libvirt_keys:
26462            virt.keys
26463
26464   Getting Virtual Machine Images Ready
26465       Salt  Virt,  requires  that virtual machine images be provided as these
26466       are not generated on the fly. Generating these virtual  machine  images
26467       differs greatly based on the underlying platform.
26468
26469       Virtual  machine  images  can be manually created using KVM and running
26470       through the installer, but this process is not recommended since it  is
26471       very manual and prone to errors.
26472
26473       Virtual  Machine  generation  applications are available for many plat‐
26474       forms:
26475
26476       kiwi: (openSUSE, SLES, RHEL, CentOS)
26477              https://suse.github.io/kiwi/
26478
26479       vm-builder:
26480              https://wiki.debian.org/VMBuilder
26481
26482              SEE ALSO:
26483                 vmbuilder-formula
26484
26485       Once virtual machine images are available, the easiest way to make them
26486       available  to  Salt Virt is to place them in the Salt file server. Just
26487       copy an image into /srv/salt and it can now be used by Salt Virt.
26488
26489       For purposes of this demo, the file name centos.img will be used.
26490
26491   Existing Virtual Machine Images
26492       Many existing Linux distributions  distribute  virtual  machine  images
26493       which  can be used with Salt Virt. Please be advised that NONE OF THESE
26494       IMAGES ARE SUPPORTED BY SALTSTACK.
26495
26496   CentOS
26497       These images have been prepared for OpenNebula but should work  without
26498       issue  with  Salt  Virt,  only  the  raw  qcow  image  file  is needed:
26499       http://wiki.centos.org/Cloud/OpenNebula
26500
26501   Fedora Linux
26502       Images     for     Fedora     Linux     can     be     found      here:
26503       https://alt.fedoraproject.org/cloud
26504
26505   openSUSE
26506       https://download.opensuse.org/distribution/leap/15.1/jeos/openSUSE-Leap-15.1-JeOS.x86_64-15.1.0-kvm-and-xen-Current.qcow2.meta4
26507
26508   SUSE
26509       https://www.suse.com/products/server/jeos
26510
26511   Ubuntu Linux
26512       Images     for     Ubuntu     Linux     can     be     found      here:
26513       http://cloud-images.ubuntu.com/
26514
26515   Using Salt Virt
26516       With  hypervisors  set  up  and  virtual machine images ready, Salt can
26517       start issuing cloud commands using the virt runner.
26518
26519       Start by running a Salt Virt hypervisor info command:
26520
26521          salt-run virt.host_info
26522
26523       This will query the running hypervisor(s) for stats and display  useful
26524       information such as the number of cpus and amount of memory.
26525
26526       You  can  also  list all VMs and their current states on all hypervisor
26527       nodes:
26528
26529          salt-run virt.list
26530
26531       Now that hypervisors are available a  virtual  machine  can  be  provi‐
26532       sioned.  The virt.init routine will create a new virtual machine:
26533
26534          salt-run virt.init centos1 2 512 salt://centos.img
26535
26536       The  Salt  Virt  runner  will  now automatically select a hypervisor to
26537       deploy the new virtual machine on. Using salt:// assumes that the  Cen‐
26538       tOS  virtual machine image is located in the root of the file-server on
26539       the master.   When  images  are  cloned  (i.e.  copied  locatlly  after
26540       retrieval from the file server) the destination directory on the hyper‐
26541       visor minion is determined by the virt:images config option; by default
26542       this is /srv/salt-images/.
26543
26544       When  a  VM  is  initialized using virt.init the image is copied to the
26545       hypervisor using cp.cache_file and will be mounted and  seeded  with  a
26546       minion.  Seeding  includes  setting  pre-authenticated  keys on the new
26547       machine. A minion will only be installed if one can not be found on the
26548       image using the default arguments to seed.apply.
26549
26550       NOTE:
26551          The biggest bottleneck in starting VMs is when the Salt Minion needs
26552          to be installed. Making sure that the source VM images already  have
26553          Salt installed will GREATLY speed up virtual machine deployment.
26554
26555       You can also deploy an image on a particular minion by directly calling
26556       the virt execution module with an absolute  image  path.  This  can  be
26557       quite handy for testing:
26558
26559          salt 'hypervisor*' virt.init centos1 2 512 image=/var/lib/libvirt/images/centos.img
26560
26561       Now  that  the  new  VM  has  been  prepared,  it  can  be seen via the
26562       virt.query command:
26563
26564          salt-run virt.query
26565
26566       This command will return data about all of the hypervisors and  respec‐
26567       tive virtual machines.
26568
26569       Now that the new VM is booted it should have contacted the Salt Master,
26570       a test.version will reveal if the new VM is running.
26571
26572   QEMU copy on write support
26573       For fast image cloning you can use the qcow disk  image  format.   Pass
26574       the enable_qcow flag and a .qcow2 image path to virt.init:
26575
26576          salt 'hypervisor*' virt.init centos1 2 512 image=/var/lib/libvirt/images/centos.qcow2 enable_qcow=True start=False
26577
26578       NOTE:
26579          Beware  that  attempting  to  boot  a  qcow  image too quickly after
26580          cloning can result in a race condition where libvirt may try to boot
26581          the  machine  before image seeding has completed. For that reason it
26582          is recommended to also pass start=False to virt.init.
26583
26584          Also know that you must not modify the original base  image  without
26585          first  making  a  copy and then rebasing all overlay images onto it.
26586          See the qemu-img rebase usage docs.
26587
26588   Migrating Virtual Machines
26589       Salt Virt comes with full support for virtual  machine  migration,  and
26590       using the libvirt state in the above formula makes migration possible.
26591
26592       A  few things need to be available to support migration. Many operating
26593       systems turn on firewalls when originally set up, the firewall needs to
26594       be opened up to allow for libvirt and kvm to cross communicate and exe‐
26595       cution migration routines. On Red Hat based hypervisors  in  particular
26596       port 16514 needs to be opened on hypervisors:
26597
26598          iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 16514 -j ACCEPT
26599
26600       NOTE:
26601          More  in-depth  information regarding distribution specific firewall
26602          settings can read in:
26603
26604          Opening the Firewall up for Salt
26605
26606       Salt also needs the virt:tunnel option to  be  turned  on.   This  flag
26607       tells Salt to run migrations securely via the libvirt TLS tunnel and to
26608       use port 16514. Without virt:tunnel libvirt tries  to  bind  to  random
26609       ports when running migrations.
26610
26611       To turn on virt:tunnel simply apply it to the master config file:
26612
26613          virt:
26614              tunnel: True
26615
26616       Once  the  master  config has been updated, restart the master and send
26617       out a call to the minions to refresh the  pillar  to  pick  up  on  the
26618       change:
26619
26620          salt \* saltutil.refresh_modules
26621
26622       Now,  migration  routines  can  be run! To migrate a VM, simply run the
26623       Salt Virt migrate routine:
26624
26625          salt-run virt.migrate centos <new hypervisor>
26626
26627   VNC Consoles
26628       Although not enabled by default, Salt Virt can also set up VNC consoles
26629       allowing  for  remote  visual consoles to be opened up. When creating a
26630       new VM using virt.init pass the enable_vnc=True  parameter  to  have  a
26631       console configured for the new VM.
26632
26633       The  information from a virt.query routine will display the vnc console
26634       port for the specific vms:
26635
26636          centos
26637            CPU: 2
26638            Memory: 524288
26639            State: running
26640            Graphics: vnc - hyper6:5900
26641            Disk - vda:
26642              Size: 2.0G
26643              File: /srv/salt-images/ubuntu2/system.qcow2
26644              File Format: qcow2
26645            Nic - ac:de:48:98:08:77:
26646              Source: br0
26647              Type: bridge
26648
26649       The line Graphics: vnc - hyper6:5900 holds  the  key.  First  the  port
26650       named, in this case 5900, will need to be available in the hypervisor's
26651       firewall.  Once the port is open, then the console can be easily opened
26652       via vncviewer:
26653
26654          vncviewer hyper6:5900
26655
26656       By  default  there is no VNC security set up on these ports, which sug‐
26657       gests that keeping them firewalled and mandating that  SSH  tunnels  be
26658       used  to  access  these VNC interfaces. Keep in mind that activity on a
26659       VNC interface that is accessed can be viewed by  any  other  user  that
26660       accesses  that  same  VNC  interface, and any other user logging in can
26661       also operate with the logged in user on the virtual machine.
26662
26663   Conclusion
26664       Now with Salt Virt running, new hypervisors  can  be  seamlessly  added
26665       just  by running the above states on new bare metal machines, and these
26666       machines will be instantly available to Salt Virt.
26667
26668   Running Salt States and Commands in Docker Containers
26669       The 2016.11.0 release of Salt introduces the ability  to  execute  Salt
26670       States  and  Salt  remote  execution commands directly inside of Docker
26671       containers.
26672
26673       This addition makes it possible to not  only  deploy  fresh  containers
26674       using  Salt  States.  This  also  allows  for  running containers to be
26675       audited and modified using Salt, but  without  running  a  Salt  Minion
26676       inside the container.  Some of the applications include security audits
26677       of running containers as well as gathering operating data from contain‐
26678       ers.
26679
26680       This  new  feature is simple and straightforward, and can be used via a
26681       running Salt Minion, the Salt Call command, or via Salt SSH.  For  this
26682       tutorial  we will use the salt-call command, but like all salt commands
26683       these calls are directly translatable to salt and salt-ssh.
26684
26685   Step 1 - Install Docker
26686       Since setting up Docker is well covered in the Docker documentation  we
26687       will  make  no  such  effort to describe it here. Please see the Docker
26688       Installation  Documentation  for  installing  and  setting  up  Docker:
26689       https://docs.docker.com/engine/installation/
26690
26691       The  Docker  integration  also  requires  that the docker-py library is
26692       installed.  This can easily be done using pip or via your system  pack‐
26693       age manager:
26694
26695          pip install docker-py
26696
26697   Step 2 - Install Salt
26698       For this tutorial we will be using Salt Call, which is available in the
26699       salt-minion package, please follow the  Salt  Installation  docs  found
26700       here: https://repo.saltstack.com/
26701
26702   Step 3 - Create With Salt States
26703       Next  some  Salt States are needed, for this example a very basic state
26704       which installs vim is used, but anything Salt States can do can be done
26705       here,  please  see  the Salt States Introduction Tutorial to learn more
26706       about                           Salt                            States:
26707       https://docs.saltstack.com/en/stage/getstarted/config/
26708
26709       For   this   tutorial,   simply   create   a   small   state   file  in
26710       /srv/salt/vim.sls:
26711
26712          vim:
26713            pkg.installed
26714
26715       NOTE:
26716          The base image you choose will  need  to  have  python  2.6  or  2.7
26717          installed.   We  are  hoping  to resolve this constraint in a future
26718          release.
26719
26720          If base is omitted the default image  used  is  a  minimal  openSUSE
26721          image with Python support, maintained by SUSE
26722
26723       Next run the docker.sls_build command:
26724
26725          salt-call --local dockerng.sls_build test base=my_base_image mods=vim
26726
26727       Now  we  have  a  fresh image called test to work with and vim has been
26728       installed.
26729
26730   Step 4 - Running Commands Inside the Container
26731       Salt can now run remote execution functions inside the  container  with
26732       another simple salt-call command:
26733
26734          salt-call --local dockerng.call test test.version
26735          salt-call --local dockerng.call test network.interfaces
26736          salt-call --local dockerng.call test disk.usage
26737          salt-call --local dockerng.call test pkg.list_pkgs
26738          salt-call --local dockerng.call test service.running httpd
26739          salt-call --local dockerng.call test cmd.run 'ls -l /etc'
26740
26741   Automatic Updates / Frozen Deployments
26742       New in version 0.10.3.d.
26743
26744
26745       Salt  has  support  for  the Esky application freezing and update tool.
26746       This tool allows one to build  a  complete  zipfile  out  of  the  salt
26747       scripts and all their dependencies - including shared objects / DLLs.
26748
26749   Getting Started
26750       To build frozen applications, suitable build environment will be needed
26751       for each platform. You should probably set up a virtualenv in order  to
26752       limit the scope of Q/A.
26753
26754       This  process  does  work  on  Windows.  Directions  are  available  at
26755       https://github.com/saltstack/salt-windows-install   for   details    on
26756       installing  Salt  in  Windows.  Only the 32-bit Python and dependencies
26757       have been tested, but they have been tested on 64-bit Windows.
26758
26759       Install bbfreeze, and then esky  from  PyPI  in  order  to  enable  the
26760       bdist_esky  command in setup.py. Salt itself must also be installed, in
26761       addition to its dependencies.
26762
26763   Building and Freezing
26764       Once you have your tools installed and the environment configured,  use
26765       setup.py to prepare the distribution files.
26766
26767          python setup.py sdist
26768          python setup.py bdist
26769
26770       Once the distribution files are in place, Esky can be used traverse the
26771       module tree and pack all the scripts up into a redistributable.
26772
26773          python setup.py bdist_esky
26774
26775       There will be an appropriately versioned salt-VERSION.zip in  dist/  if
26776       everything went smoothly.
26777
26778   Windows
26779       C:\Python27\lib\site-packages\zmq  will  need  to  be added to the PATH
26780       variable. This helps bbfreeze find the zmq DLL so it can pack it up.
26781
26782   Using the Frozen Build
26783       Unpack the zip file in  the  desired  install  location.  Scripts  like
26784       salt-minion  and  salt-call  will  be  in the root of the zip file. The
26785       associated libraries and bootstrapping will be in  the  directories  at
26786       the same level. (Check the Esky documentation for more information)
26787
26788       To  support  updating your minions in the wild, put the builds on a web
26789       server that the minions can reach. salt.modules.saltutil.update()  will
26790       trigger  an  update  and  (optionally)  a restart of the minion service
26791       under the new version.
26792
26793   Troubleshooting
26794   A Windows minion isn't responding
26795       The process dispatch on Windows is slower than it is on *nix. It may be
26796       necessary  to  add  '-t  15' to salt commands to give minions plenty of
26797       time to return.
26798
26799   Windows and the Visual Studio Redist
26800       The Visual C++ 2008 32-bit redistributable will need to be installed on
26801       all  Windows  minions.  Esky has an option to pack the library into the
26802       zipfile, but OpenSSL does not seem to acknowledge the new location.  If
26803       a  no OPENSSL_Applink error appears on the console when trying to start
26804       a frozen minion, the redistributable is not installed.
26805
26806   Mixed Linux environments and Yum
26807       The Yum Python module doesn't appear to be  available  on  any  of  the
26808       standard Python package mirrors. If RHEL/CentOS systems need to be sup‐
26809       ported, the frozen build should created on that platform to support all
26810       the   Linux  nodes.  Remember  to  build  the  virtualenv  with  --sys‐
26811       tem-site-packages so that the yum module is included.
26812
26813   Automatic (Python) module discovery
26814       Automatic (Python) module discovery does not work with the  late-loaded
26815       scheme  that Salt uses for (Salt) modules. Any misbehaving modules will
26816       need to be explicitly added to the freezer_includes in Salt's setup.py.
26817       Always  check  the  zipped  application to make sure that the necessary
26818       modules were included.
26819
26820   ESXi Proxy Minion
26821       New in version 2015.8.4.
26822
26823
26824       NOTE:
26825          This tutorial assumes basic knowledge of Salt. To get up  to  speed,
26826          check out the Salt Walkthrough.
26827
26828          This  tutorial also assumes a basic understanding of Salt Proxy Min‐
26829          ions. If you're unfamiliar with Salt's Proxy Minion  system,  please
26830          read  the  Salt Proxy Minion documentation and the Salt Proxy Minion
26831          End-to-End Example tutorial.
26832
26833          The third assumption that this tutorial makes is that you also  have
26834          a  basic  understanding of ESXi hosts. You can learn more about ESXi
26835          hosts on VMware's various resources.
26836
26837       Salt's ESXi Proxy Minion allows a VMware ESXi host to be treated as  an
26838       individual  Salt  Minion,  without installing a Salt Minion on the ESXi
26839       host.
26840
26841       Since an ESXi host may not necessarily run on an OS capable of  hosting
26842       a Python stack, the ESXi host can't run a regular Salt Minion directly.
26843       Therefore, Salt's Proxy Minion functionality enables you  to  designate
26844       another  machine  to  host a proxy process that "proxies" communication
26845       from the Salt Master to the ESXi host.  The master  does  not  know  or
26846       care that the ESXi target is not a "real" Salt Minion.
26847
26848       More  in-depth  conceptual reading on Proxy Minions can be found in the
26849       Proxy Minion section of Salt's documentation.
26850
26851       Salt's ESXi Proxy Minion was added in the 2015.8.4 release of Salt.
26852
26853       NOTE:
26854          Be aware that some functionality  for  the  ESXi  Proxy  Minion  may
26855          depend on the type of license attached the ESXi host(s).
26856
26857          For  example, certain services are only available to manipulate ser‐
26858          vice state or policies with a VMware vSphere  Enterprise  or  Enter‐
26859          prise  Plus  license,  while  others  are  available with a Standard
26860          license. The ntpd  service  is  restricted  to  an  Enterprise  Plus
26861          license, while ssh is available via the Standard license.
26862
26863          Please see the vSphere Comparison page for more information.
26864
26865   Dependencies
26866       Manipulation  of  the ESXi host via a Proxy Minion requires the machine
26867       running the Proxy Minion process to have the ESXCLI package (and all of
26868       it's dependencies) and the pyVmomi Python Library to be installed.
26869
26870   ESXi Password
26871       The ESXi Proxy Minion uses VMware's API to perform tasks on the host as
26872       if it was a regular Salt Minion. In order to access  the  API  that  is
26873       already  running  on  the ESXi host, the ESXi host must have a username
26874       and password that is used to log into the host. The username is usually
26875       root.  Before Salt can access the ESXi host via VMware's API, a default
26876       password must be set on the host.
26877
26878   pyVmomi
26879       The pyVmomi Python library must be installed on  the  machine  that  is
26880       running the proxy process. pyVmomi can be installed via pip:
26881
26882          pip install pyVmomi
26883
26884       NOTE:
26885          Version  6.0 of pyVmomi has some problems with SSL error handling on
26886          certain versions of Python. If using version  6.0  of  pyVmomi,  the
26887          machine that you are running the proxy minion process from must have
26888          either Python 2.6, Python  2.7.9,  or  newer.  This  is  due  to  an
26889          upstream  dependency  in pyVmomi 6.0 that is not supported in Python
26890          version 2.7 to 2.7.8. If the version of  Python  running  the  proxy
26891          process  is  not in the supported range, you will need to install an
26892          earlier version of pyVmomi. See Issue #29537 for more information.
26893
26894       Based on the note above, to install an earlier version of pyVmomi  than
26895       the version currently listed in PyPi, run the following:
26896
26897          pip install pyVmomi==5.5.0.2014.1.1
26898
26899       The  5.5.0.2014.1.1  is  a  known stable version that the original ESXi
26900       Proxy Minion was developed against.
26901
26902   ESXCLI
26903       Currently, about a third of the functions used for the ESXi Proxy  Min‐
26904       ion  require the ESXCLI package be installed on the machine running the
26905       Proxy Minion process.
26906
26907       The ESXCLI package is also referred to as the VMware  vSphere  CLI,  or
26908       vCLI.  VMware  provides  vCLI  package  installation  instructions  for
26909       vSphere 5.5 and vSphere 6.0.
26910
26911       Once all of the required dependencies are in place and the vCLI package
26912       is installed, you can check to see if you can connect to your ESXi host
26913       by running the following command:
26914
26915          esxcli -s <host-location> -u <username> -p <password> system syslog config get
26916
26917       If the connection was successful, ESXCLI was successfully installed  on
26918       your  system.   You should see output related to the ESXi host's syslog
26919       configuration.
26920
26921   Configuration
26922       There are several places where various configuration values need to  be
26923       set in order for the ESXi Proxy Minion to run and connect properly.
26924
26925   Proxy Config File
26926       On  the  machine  that  will  be running the Proxy Minon process(es), a
26927       proxy config file must be in place. This file should be located in  the
26928       /etc/salt/  directory  and  should  be  named proxy. If the file is not
26929       there by default, create it.
26930
26931       This file should contain the location of your Salt Master that the Salt
26932       Proxy will connect to.
26933
26934       Example Proxy Config File:
26935
26936          # /etc/salt/proxy
26937
26938          master: <salt-master-location>
26939
26940   Pillar Profiles
26941       Proxy  minions  get their configuration from Salt's Pillar. Every proxy
26942       must have a stanza in Pillar and a reference  in  the  Pillar  top-file
26943       that matches the Proxy ID. At a minimum for communication with the ESXi
26944       host, the pillar should look like this:
26945
26946          proxy:
26947            proxytype: esxi
26948            host: <ip or dns name of esxi host>
26949            username: <ESXi username>
26950            passwords:
26951              - first_password
26952              - second_password
26953              - third_password
26954
26955       Some other optional settings are protocol and port. These can be  added
26956       to the pillar configuration.
26957
26958   proxytype
26959       The  proxytype  key  and value pair is critical, as it tells Salt which
26960       interface to load from the proxy directory in Salt's install hierarchy,
26961       or  from  /srv/salt/_proxy on the Salt Master (if you have created your
26962       own proxy module, for example). To use this ESXi Proxy Module, set this
26963       to esxi.
26964
26965   host
26966       The location, or ip/dns, of the ESXi host. Required.
26967
26968   username
26969       The username used to login to the ESXi host, such as root. Required.
26970
26971   passwords
26972       A  list  of  passwords to be used to try and login to the ESXi host. At
26973       least one password in this list is required.
26974
26975       The proxy integration will try the passwords listed  in  order.  It  is
26976       configured this way so you can have a regular password and the password
26977       you   may   be   updating   for   an   ESXi   host   either   via   the
26978       vsphere.update_host_password  execution  module  function  or  via  the
26979       esxi.password_present state function. This way, after the  password  is
26980       changed,  you  should  not  need to restart the proxy minion--it should
26981       just pick up the new password provided in the list. You can then change
26982       pillar at will to move that password to the front and retire the unused
26983       ones.
26984
26985       Use-case/reasoning for using a list of passwords: You are setting up an
26986       ESXi  host  for the first time, and the host comes with a default pass‐
26987       word.  You know that you'll be changing this password during your  ini‐
26988       tial  setup  from  the  default to a new password. If you only have one
26989       password option, and if you have a state  changing  the  password,  any
26990       remote  execution commands or states that run after the password change
26991       will not be able to run on the host until the password  is  updated  in
26992       Pillar and the Proxy Minion process is restarted.
26993
26994       This allows you to use any number of potential fallback passwords.
26995
26996       NOTE:
26997          When  a password is changed on the host to one in the list of possi‐
26998          ble passwords, the further down on the list  the  password  is,  the
26999          longer  individual  commands will take to return. This is due to the
27000          nature of pyVmomi's login system. We have  to  wait  for  the  first
27001          attempt to fail before trying the next password on the list.
27002
27003          This  scenario  is  especially true, and even slower, when the proxy
27004          minion first starts. If the correct password is not the first  pass‐
27005          word  on  the  list,  it may take up to a minute for test.version to
27006          respond with salt's version installed (Example: 2018.3.4.  Once  the
27007          initial  authorization  is complete, the responses for commands will
27008          be a little faster.
27009
27010          To avoid these longer waiting periods, SaltStack  recommends  moving
27011          the correct password to the top of the list and restarting the proxy
27012          minion at your earliest convenience.
27013
27014   protocol
27015       If the ESXi host is not using the default protocol, set this  value  to
27016       an alternate protocol. Default is https. For example:
27017
27018   port
27019       If  the  ESXi  host is not using the default port, set this value to an
27020       alternate port. Default is 443.
27021
27022   Example Configuration Files
27023       An example of all of the basic configurations that need to be in  place
27024       before  starting  the  Proxy Minion processes includes the Proxy Config
27025       File, Pillar Top File, and any individual Proxy Minion Pillar files.
27026
27027       In this example, we'll assuming there are two ESXi hosts to connect to.
27028       Therefore,  we'll be creating two Proxy Minion config files, one config
27029       for each ESXi host.
27030
27031       Proxy Config File:
27032
27033          # /etc/salt/proxy
27034
27035          master: <salt-master-location>
27036
27037       Pillar Top File:
27038
27039          # /srv/pillar/top.sls
27040
27041          base:
27042            'esxi-1':
27043              - esxi-1
27044            'esxi-2':
27045              - esxi-2
27046
27047       Pillar Config File for the first ESXi host, esxi-1:
27048
27049          # /srv/pillar/esxi-1.sls
27050
27051          proxy:
27052            proxytype: esxi
27053            host: esxi-1.example.com
27054            username: 'root'
27055            passwords:
27056              - bad-password-1
27057              - backup-bad-password-1
27058
27059       Pillar Config File for the second ESXi host, esxi-2:
27060
27061          # /srv/pillar/esxi-2.sls
27062
27063          proxy:
27064            proxytype: esxi
27065            host: esxi-2.example.com
27066            username: 'root'
27067            passwords:
27068              - bad-password-2
27069              - backup-bad-password-2
27070
27071   Starting the Proxy Minion
27072       Once all of the correct configuration files are in place, it is time to
27073       start the proxy processes!
27074
27075       1. First, make sure your Salt Master is running.
27076
27077       2. Start  the first Salt Proxy, in debug mode, by giving the Proxy Min‐
27078          ion process and ID that matches the config file name created in  the
27079          Configuration section.
27080
27081          salt-proxy --proxyid='esxi-1' -l debug
27082
27083       1. Accept the esxi-1 Proxy Minion's key on the Salt Master:
27084
27085          # salt-key -L
27086          Accepted Keys:
27087          Denied Keys:
27088          Unaccepted Keys:
27089          esxi-1
27090          Rejected Keys:
27091          #
27092          # salt-key -a esxi-1
27093          The following keys are going to be accepted:
27094          Unaccepted Keys:
27095          esxi-1
27096          Proceed? [n/Y] y
27097          Key for minion esxi-1 accepted.
27098
27099       1. Repeat  for  the  second  Salt  Proxy, this time we'll run the proxy
27100          process as a daemon, as an example.
27101
27102          salt-proxy --proxyid='esxi-2' -d
27103
27104       1. Accept the esxi-2 Proxy Minion's key on the Salt Master:
27105
27106          # salt-key -L
27107          Accepted Keys:
27108          esxi-1
27109          Denied Keys:
27110          Unaccepted Keys:
27111          esxi-2
27112          Rejected Keys:
27113          #
27114          # salt-key -a esxi-1
27115          The following keys are going to be accepted:
27116          Unaccepted Keys:
27117          esxi-2
27118          Proceed? [n/Y] y
27119          Key for minion esxi-1 accepted.
27120
27121       1. Check and see if your Proxy Minions are responding:
27122
27123          # salt 'esxi-*' test.version
27124          esxi-1:
27125              True
27126          esxi-3:
27127              True
27128
27129   Executing Commands
27130       Now that you've configured your Proxy Minions and have them  responding
27131       successfully to a test.version, we can start executing commands against
27132       the ESXi hosts via Salt.
27133
27134       It's important to understand how this particular proxy works, and there
27135       are  a couple of important pieces to be aware of in order to start run‐
27136       ning remote execution and state commands against the ESXi  host  via  a
27137       Proxy  Minion: the vSphere Execution Module, the ESXi Execution Module,
27138       and the ESXi State Module.
27139
27140   vSphere Execution Module
27141       The Salt.modules.vsphere is a standard Salt execution module that  does
27142       the bulk of the work for the ESXi Proxy Minion. If you pull up the docs
27143       for it you'll see that almost every function in the module  takes  cre‐
27144       dentials  (username and password) and a target host argument. When cre‐
27145       dentials and a host aren't passed, Salt runs commands  through  pyVmomi
27146       or ESXCLI against the local machine. If you wanted, you could run func‐
27147       tions from this module on any machine where an appropriate  version  of
27148       pyVmomi and ESXCLI are installed, and that machine would reach out over
27149       the network and communicate with the ESXi host.
27150
27151       You'll notice that most of the functions in the vSphere module  require
27152       a  host,  username, and password. These parameters are contained in the
27153       Pillar files and passed through to the function via the  proxy  process
27154       that  is  already  running.  You don't need to provide these parameters
27155       when you execute the commands. See the Running  Remote  Execution  Com‐
27156       mands section below for an example.
27157
27158   ESXi Execution Module
27159       In order for the Pillar information set up in the Configuration section
27160       above to be passed to the function call in the vSphere  Execution  Mod‐
27161       ule,  the  salt.modules.esxi  execution module acts as a "shim" between
27162       the vSphere execution module functions and the proxy process.
27163
27164       The "shim" takes the authentication credentials specified in the Pillar
27165       files  and  passes  them  through  to the host, username, password, and
27166       optional protocol and port options required by  the  vSphere  Execution
27167       Module functions.
27168
27169       If  the  function  takes more positional, or keyword, arguments you can
27170       append them to the call. It's this shim that speaks to  the  ESXi  host
27171       through  the  proxy,  arranging  for the credentials and hostname to be
27172       pulled from the Pillar section for the ESXi Proxy Minion.
27173
27174       Because of the presence of the shim, to lookup documentation  for  what
27175       functions  you  can use to interface with the ESXi host, you'll want to
27176       look in salt.modules.vsphere instead of salt.modules.esxi.
27177
27178   Running Remote Execution Commands
27179       To run commands from the Salt Master to execute,  via  the  ESXi  Proxy
27180       Minion,  against  the  ESXi  host,  you use the esxi.cmd <vsphere-func‐
27181       tion-name> syntax to call functions located in  the  vSphere  Execution
27182       Module.  Both args and kwargs needed for various vsphere execution mod‐
27183       ule functions must be passed through in a kwarg- type manor. For  exam‐
27184       ple:
27185
27186          salt 'esxi-*' esxi.cmd system_info
27187          salt 'exsi-*' esxi.cmd get_service_running service_name='ssh'
27188
27189   ESXi State Module
27190       The  ESXi  State Module functions similarly to other state modules. The
27191       "shim" provided by the ESXi Execution Module passes the necessary host,
27192       username, and password credentials through, so those options don't need
27193       to be provided in the state. Other than that, state files  are  written
27194       and  executed just like any other Salt state. See the salt.modules.esxi
27195       state for ESXi state functions.
27196
27197       The follow state file is an example of how to configure various  pieces
27198       of  an ESXi host including enabling SSH, uploading and SSH key, config‐
27199       uring a coredump network config, syslog, ntp, enabling VMotion,  reset‐
27200       ting a host password, and more.
27201
27202          # /srv/salt/configure-esxi.sls
27203
27204          configure-host-ssh:
27205            esxi.ssh_configured:
27206              - service_running: True
27207              - ssh_key_file: /etc/salt/ssh_keys/my_key.pub
27208              - service_policy: 'automatic'
27209              - service_restart: True
27210              - certificate_verify: True
27211
27212          configure-host-coredump:
27213            esxi.coredump_configured:
27214              - enabled: True
27215              - dump_ip: 'my-coredump-ip.example.com'
27216
27217          configure-host-syslog:
27218            esxi.syslog_configured:
27219              - syslog_configs:
27220                  loghost: ssl://localhost:5432,tcp://10.1.0.1:1514
27221                  default-timeout: 120
27222              - firewall: True
27223              - reset_service: True
27224              - reset_syslog_config: True
27225              - reset_configs: loghost,default-timeout
27226
27227          configure-host-ntp:
27228            esxi.ntp_configured:
27229              - service_running: True
27230              - ntp_servers:
27231                - 192.174.1.100
27232                - 192.174.1.200
27233              - service_policy: 'automatic'
27234              - service_restart: True
27235
27236          configure-vmotion:
27237            esxi.vmotion_configured:
27238              - enabled: True
27239
27240          configure-host-vsan:
27241            esxi.vsan_configured:
27242              - enabled: True
27243              - add_disks_to_vsan: True
27244
27245          configure-host-password:
27246            esxi.password_present:
27247              - password: 'new-bad-password'
27248
27249       States  are  called  via  the ESXi Proxy Minion just as they would on a
27250       regular minion.  For example:
27251
27252          salt 'esxi-*' state.sls configure-esxi test=true
27253          salt 'esxi-*' state.sls configure-esxi
27254
27255   Relevant Salt Files and Resources
27256       · ESXi Proxy Minion
27257
27258       · ESXi Execution Module
27259
27260       · ESXi State Module
27261
27262       · Salt Proxy Minion Docs
27263
27264       · Salt Proxy Minion End-to-End Example
27265
27266       · vSphere Execution Module
27267
27268   Installing and Configuring Halite
27269       WARNING:
27270          Halite is deprecated
27271
27272          The Halite project is retired. The code  will  remain  available  on
27273          GitHub.
27274
27275       In  this tutorial, we'll walk through installing and setting up Halite.
27276       The current version of Halite is considered pre-alpha and is  supported
27277       only  in Salt v2014.1.0 or greater. Additional information is available
27278       on GitHub: https://github.com/saltstack/halite
27279
27280       Before  beginning  this  tutorial,  ensure  that  the  salt-master   is
27281       installed.  To  install the salt-master, please review the installation
27282       documentation: http://docs.saltstack.com/topics/installation/index.html
27283
27284       NOTE:
27285          Halite only works with Salt versions greater than 2014.1.0.
27286
27287   Installing Halite Via Package
27288       On CentOS, RHEL, or Fedora:
27289
27290          $ yum install python-halite
27291
27292       NOTE:
27293          By default python-halite only installs CherryPy. If you  would  like
27294          to use a different webserver please review the instructions below to
27295          install pip and your server of choice. The package does  not  modify
27296          the master configuration with /etc/salt/master.
27297
27298   Installing Halite Using pip
27299       To  begin  the installation of Halite from PyPI, you'll need to install
27300       pip. The Salt package, as well as the bootstrap, do not install pip  by
27301       default.
27302
27303       On CentOS, RHEL, or Fedora:
27304
27305          $ yum install python-pip
27306
27307       On Debian:
27308
27309          $ apt-get install python-pip
27310
27311       Once you have pip installed, use it to install halite:
27312
27313          $ pip install -U halite
27314
27315       Depending  on the webserver you want to run halite through, you'll need
27316       to install that piece as well. On RHEL based distros, use  one  of  the
27317       following:
27318
27319          $ pip install cherrypy
27320
27321          $ pip install paste
27322
27323          $ yum install python-devel
27324          $ yum install gcc
27325          $ pip install gevent
27326          $ pip install pyopenssl
27327
27328       On Debian based distributions:
27329
27330          $ pip install CherryPy
27331
27332          $ pip install paste
27333
27334          $ apt-get install gcc
27335          $ apt-get install python-dev
27336          $ apt-get install libevent-dev
27337          $ pip install gevent
27338          $ pip install pyopenssl
27339
27340   Configuring Halite Permissions
27341       Configuring  Halite  access  permissions  is easy. By default, you only
27342       need  to  ensure  that  the  @runner  group  is  configured.   In   the
27343       /etc/salt/master file, uncomment and modify the following lines:
27344
27345          external_auth:
27346            pam:
27347              testuser:
27348                - .*
27349                - '@runner'
27350
27351       NOTE:
27352          You  cannot use the root user for pam login; it will fail to authen‐
27353          ticate.
27354
27355       Halite uses the runner manage.present to get the status of minions,  so
27356       runner permissions are required. For example:
27357
27358          external_auth:
27359            pam:
27360              mytestuser:
27361                - .*
27362                - '@runner'
27363                - '@wheel'
27364
27365       Currently Halite allows, but does not require, any wheel modules.
27366
27367   Configuring Halite Settings
27368       Once  you've  configured the permissions for Halite, you'll need to set
27369       up the Halite settings in the /etc/salt/master  file.  Halite  supports
27370       CherryPy, Paste, and Gevent out of the box.
27371
27372       To  configure  cherrypy,  add  the  following  to  the  bottom  of your
27373       /etc/salt/master file:
27374
27375          halite:
27376            level: 'debug'
27377            server: 'cherrypy'
27378            host: '0.0.0.0'
27379            port: '8080'
27380            cors: False
27381            tls: True
27382            certpath: '/etc/pki/tls/certs/localhost.crt'
27383            keypath: '/etc/pki/tls/certs/localhost.key'
27384            pempath: '/etc/pki/tls/certs/localhost.pem'
27385
27386       If you wish to use paste:
27387
27388          halite:
27389            level: 'debug'
27390            server: 'paste'
27391            host: '0.0.0.0'
27392            port: '8080'
27393            cors: False
27394            tls: True
27395            certpath: '/etc/pki/tls/certs/localhost.crt'
27396            keypath: '/etc/pki/tls/certs/localhost.key'
27397            pempath: '/etc/pki/tls/certs/localhost.pem'
27398
27399       To use gevent:
27400
27401          halite:
27402            level: 'debug'
27403            server: 'gevent'
27404            host: '0.0.0.0'
27405            port: '8080'
27406            cors: False
27407            tls: True
27408            certpath: '/etc/pki/tls/certs/localhost.crt'
27409            keypath: '/etc/pki/tls/certs/localhost.key'
27410            pempath: '/etc/pki/tls/certs/localhost.pem'
27411
27412       The "cherrypy" and "gevent" servers require the  certpath  and  keypath
27413       files  to run tls/ssl. The .crt file holds the public cert and the .key
27414       file holds the private key. Whereas the "paste" server requires a  sin‐
27415       gle  .pem file that contains both the cert and key. This can be created
27416       simply by concatenating the .crt and .key files.
27417
27418       If you want to use a self-signed cert, you can  create  one  using  the
27419       Salt.tls module:
27420
27421       NOTE:
27422          The following command needs to be run on your salt master.
27423
27424          salt-call tls.create_self_signed_cert tls
27425
27426       Note  that  certs generated by the above command can be found under the
27427       /etc/pki/tls/certs/ directory.  When using self-signed certs,  browsers
27428       will  need  approval  before accepting the cert. If the web application
27429       page has been cached with a non-HTTPS version  of  the  app,  then  the
27430       browser  cache  will  have  to  be cleared before it will recognize and
27431       prompt to accept the self-signed certificate.
27432
27433   Starting Halite
27434       Once you've configured the halite section of your /etc/salt/master, you
27435       can  restart  the salt-master service, and your halite instance will be
27436       available.  Depending on  your  configuration,  the  instance  will  be
27437       available         either         at         https://localhost:8080/app,
27438       https://domain:8080/app, or https://123.456.789.012:8080/app .
27439
27440       NOTE:
27441          halite requires an HTML 5 compliant browser.
27442
27443       All   logs   relating   to   halite   are   logged   to   the   default
27444       /var/log/salt/master file.
27445
27446   HTTP Modules
27447       This  tutorial demonstrates using the various HTTP modules available in
27448       Salt.  These modules wrap the Python  tornado,  urllib2,  and  requests
27449       libraries, extending them in a manner that is more consistent with Salt
27450       workflows.
27451
27452   The salt.utils.http Library
27453       This library forms the core of the HTTP modules. Since it  is  designed
27454       to  be  used from the minion as an execution module, in addition to the
27455       master as a runner, it was abstracted into this multi-use library. This
27456       library  can  also  be  imported  by 3rd-party programs wishing to take
27457       advantage of its extended functionality.
27458
27459       Core functionality of the  execution,  state,  and  runner  modules  is
27460       derived  from this library, so common usages between them are described
27461       here. Documentation specific to each module is described below.
27462
27463       This library can be imported with:
27464
27465          import salt.utils.http
27466
27467   Configuring Libraries
27468       This library can make use of either tornado, which is required by Salt,
27469       urllib2,  which  ships with Python, or requests, which can be installed
27470       separately. By default, tornado will be used. In  order  to  switch  to
27471       urllib2, set the following variable:
27472
27473          backend: urllib2
27474
27475       In order to switch to requests, set the following variable:
27476
27477          backend: requests
27478
27479       This  can  be set in the master or minion configuration file, or passed
27480       as an option directly to any http.query() functions.
27481
27482   salt.utils.http.query()
27483       This function forms a basic query, but with some add-ons not present in
27484       the  tornado,  urllib2,  and  requests libraries. Not all functionality
27485       currently available in these libraries has been added, but  can  be  in
27486       future iterations.
27487
27488   HTTPS Request Methods
27489       A  basic  query  can be performed by calling this function with no more
27490       than a single URL:
27491
27492          salt.utils.http.query('http://example.com')
27493
27494       By default the query will be performed with a GET  method.  The  method
27495       can be overridden with the method argument:
27496
27497          salt.utils.http.query('http://example.com/delete/url', 'DELETE')
27498
27499       When  using  the  POST  method (and others, such as PUT), extra data is
27500       usually sent as well. This data can be  sent  directly  (would  be  URL
27501       encoded  when  necessary),  or  in  whatever  format is required by the
27502       remote server (XML, JSON, plain text, etc).
27503
27504          salt.utils.http.query(
27505              'http://example.com/post/url',
27506              method='POST',
27507              data=json.dumps(mydict)
27508          )
27509
27510   Data Formatting and Templating
27511       Bear in mind that the data must be sent  pre-formatted;  this  function
27512       will  not  format  it  for you. However, a templated file stored on the
27513       local system may be passed through, along with variables to populate it
27514       with. To pass through only the file (untemplated):
27515
27516          salt.utils.http.query(
27517              'http://example.com/post/url',
27518              method='POST',
27519              data_file='/srv/salt/somefile.xml'
27520          )
27521
27522       To  pass  through  a  file  that  contains jinja + yaml templating (the
27523       default):
27524
27525          salt.utils.http.query(
27526              'http://example.com/post/url',
27527              method='POST',
27528              data_file='/srv/salt/somefile.jinja',
27529              data_render=True,
27530              template_dict={'key1': 'value1', 'key2': 'value2'}
27531          )
27532
27533       To pass through a file that contains mako templating:
27534
27535          salt.utils.http.query(
27536              'http://example.com/post/url',
27537              method='POST',
27538              data_file='/srv/salt/somefile.mako',
27539              data_render=True,
27540              data_renderer='mako',
27541              template_dict={'key1': 'value1', 'key2': 'value2'}
27542          )
27543
27544       Because this function uses Salt's own rendering system, any  Salt  ren‐
27545       derer can be used. Because Salt's renderer requires __opts__ to be set,
27546       an opts dictionary should be passed in. If it is not, then the  default
27547       __opts__  values  for  the  node  type (master or minion) will be used.
27548       Because this library is intended primarily  for  use  by  minions,  the
27549       default node type is minion.  However, this can be changed to master if
27550       necessary.
27551
27552          salt.utils.http.query(
27553              'http://example.com/post/url',
27554              method='POST',
27555              data_file='/srv/salt/somefile.jinja',
27556              data_render=True,
27557              template_dict={'key1': 'value1', 'key2': 'value2'},
27558              opts=__opts__
27559          )
27560
27561          salt.utils.http.query(
27562              'http://example.com/post/url',
27563              method='POST',
27564              data_file='/srv/salt/somefile.jinja',
27565              data_render=True,
27566              template_dict={'key1': 'value1', 'key2': 'value2'},
27567              node='master'
27568          )
27569
27570   Headers
27571       Headers may  also  be  passed  through,  either  as  a  header_list,  a
27572       header_dict,   or   as  a  header_file.  As  with  the  data_file,  the
27573       header_file may also be templated. Take note that because HTTP  headers
27574       are  normally  syntactically-correct  YAML,  they will automatically be
27575       imported as an a Python dict.
27576
27577          salt.utils.http.query(
27578              'http://example.com/delete/url',
27579              method='POST',
27580              header_file='/srv/salt/headers.jinja',
27581              header_render=True,
27582              header_renderer='jinja',
27583              template_dict={'key1': 'value1', 'key2': 'value2'}
27584          )
27585
27586       Because much of the data that would be templated  between  headers  and
27587       data  may be the same, the template_dict is the same for both. Correct‐
27588       ing possible variable name collisions is up to the user.
27589
27590   Authentication
27591       The query() function supports basic HTTP authentication. A username and
27592       password may be passed in as username and password, respectively.
27593
27594          salt.utils.http.query(
27595              'http://example.com',
27596              username='larry',
27597              password=`5700g3543v4r`,
27598          )
27599
27600   Cookies and Sessions
27601       Cookies are also supported, using Python's built-in cookielib. However,
27602       they are turned off by default. To turn  cookies  on,  set  cookies  to
27603       True.
27604
27605          salt.utils.http.query(
27606              'http://example.com',
27607              cookies=True
27608          )
27609
27610       By  default  cookies  are  stored  in  Salt's cache directory, normally
27611       /var/cache/salt, as a file called cookies.txt. However,  this  location
27612       may be changed with the cookie_jar argument:
27613
27614          salt.utils.http.query(
27615              'http://example.com',
27616              cookies=True,
27617              cookie_jar='/path/to/cookie_jar.txt'
27618          )
27619
27620       By  default,  the  format of the cookie jar is LWP (aka, lib-www-perl).
27621       This default was chosen because it is a human-readable  text  file.  If
27622       desired, the format of the cookie jar can be set to Mozilla:
27623
27624          salt.utils.http.query(
27625              'http://example.com',
27626              cookies=True,
27627              cookie_jar='/path/to/cookie_jar.txt',
27628              cookie_format='mozilla'
27629          )
27630
27631       Because  Salt  commands  are  normally  one-off commands that are piped
27632       together, this library cannot normally behave as a normal browser, with
27633       session  cookies  that  persist across multiple HTTP requests. However,
27634       the session can be persisted in a  separate  cookie  jar.  The  default
27635       filename  for this file, inside Salt's cache directory, is cookies.ses‐
27636       sion.p. This can also be changed.
27637
27638          salt.utils.http.query(
27639              'http://example.com',
27640              persist_session=True,
27641              session_cookie_jar='/path/to/jar.p'
27642          )
27643
27644       The format of this file is msgpack, which is consistent  with  much  of
27645       the  rest of Salt's internal structure. Historically, the extension for
27646       this file is .p. There are no current plans to make this configurable.
27647
27648   Proxy
27649       If the tornado backend is used (tornado is the default), proxy informa‐
27650       tion  configured in proxy_host, proxy_port, proxy_username, proxy_pass‐
27651       word and no_proxy from the __opts__ dictionary will be used.   Normally
27652       these are set in the minion configuration file.
27653
27654          proxy_host: proxy.my-domain
27655          proxy_port: 31337
27656          proxy_username: charon
27657          proxy_password: obolus
27658          no_proxy: ['127.0.0.1', 'localhost']
27659
27660          salt.utils.http.query(
27661              'http://example.com',
27662              opts=__opts__,
27663              backend='tornado'
27664          )
27665
27666   Return Data
27667       NOTE:
27668          Return data encoding
27669
27670          If  decode is set to True, query() will attempt to decode the return
27671          data. decode_type defaults to auto.  Set it to a specific  encoding,
27672          xml, for example, to override autodetection.
27673
27674       Because  Salt's  http  library was designed to be used with REST inter‐
27675       faces, query() will attempt to decode the data received from the remote
27676       server  when  decode  is  set  to  True.   First it will check the Con‐
27677       tent-type header to try and find references to XML. If it does not find
27678       any,  it  will look for references to JSON. If it does not find any, it
27679       will fall back to plain text, which will not be decoded.
27680
27681       JSON data is translated  into  a  dict  using  Python's  built-in  json
27682       library.   XML  is translated using salt.utils.xml_util, which will use
27683       Python's built-in XML libraries to attempt to convert the  XML  into  a
27684       dict.  In  order  to force either JSON or XML decoding, the decode_type
27685       may be set:
27686
27687          salt.utils.http.query(
27688              'http://example.com',
27689              decode_type='xml'
27690          )
27691
27692       Once translated, the return dict  from  query()  will  include  a  dict
27693       called dict.
27694
27695       If  the data is not to be translated using one of these methods, decod‐
27696       ing may be turned off.
27697
27698          salt.utils.http.query(
27699              'http://example.com',
27700              decode=False
27701          )
27702
27703       If decoding is turned on, and references  to  JSON  or  XML  cannot  be
27704       found,  then  this  module  will  default to plain text, and return the
27705       undecoded data as text (even if text is set to False; see below).
27706
27707       The query() function can return the HTTP status code,  headers,  and/or
27708       text as required. However, each must individually be turned on.
27709
27710          salt.utils.http.query(
27711              'http://example.com',
27712              status=True,
27713              headers=True,
27714              text=True
27715          )
27716
27717       The return from these will be found in the return dict as status, head‐
27718       ers and text, respectively.
27719
27720   Writing Return Data to Files
27721       It is possible to write either the return data or headers to files,  as
27722       soon  as  the response is received from the server, but specifying file
27723       locations via the text_out or headers_out arguments. text  and  headers
27724       do not need to be returned to the user in order to do this.
27725
27726          salt.utils.http.query(
27727              'http://example.com',
27728              text=False,
27729              headers=False,
27730              text_out='/path/to/url_download.txt',
27731              headers_out='/path/to/headers_download.txt',
27732          )
27733
27734   SSL Verification
27735       By  default,  this  function will verify SSL certificates. However, for
27736       testing or debugging purposes, SSL verification can be turned off.
27737
27738          salt.utils.http.query(
27739              'https://example.com',
27740              verify_ssl=False,
27741          )
27742
27743   CA Bundles
27744       The requests library has its own method of detecting which CA (certifi‐
27745       cate  authority) bundle file to use. Usually this is implemented by the
27746       packager for the specific operating system distribution  that  you  are
27747       using.  However, urllib2 requires a little more work under the hood. By
27748       default, Salt will try to auto-detect the location of this  file.  How‐
27749       ever,  if  it is not in an expected location, or a different path needs
27750       to be specified, it may be done so using the ca_bundle variable.
27751
27752          salt.utils.http.query(
27753              'https://example.com',
27754              ca_bundle='/path/to/ca_bundle.pem',
27755          )
27756
27757   Updating CA Bundles
27758       The update_ca_bundle() function can be used to update the  bundle  file
27759       at  a specified location. If the target location is not specified, then
27760       it will attempt to auto-detect the location of the bundle file. If  the
27761       URL  to download the bundle from does not exist, a bundle will be down‐
27762       loaded from the cURL website.
27763
27764       CAUTION: The target and the source should always be specified!  Failure
27765       to specify the target may result in the file being written to the wrong
27766       location on the local system. Failure to specify the source  may  cause
27767       the upstream URL to receive excess unnecessary traffic, and may cause a
27768       file to be download which is hazardous or does not meet  the  needs  of
27769       the user.
27770
27771          salt.utils.http.update_ca_bundle(
27772              target='/path/to/ca-bundle.crt',
27773              source='https://example.com/path/to/ca-bundle.crt',
27774              opts=__opts__,
27775          )
27776
27777       The  opts parameter should also always be specified. If it is, then the
27778       target and the source may be specified in  the  relevant  configuration
27779       file (master or minion) as ca_bundle and ca_bundle_url, respectively.
27780
27781          ca_bundle: /path/to/ca-bundle.crt
27782          ca_bundle_url: https://example.com/path/to/ca-bundle.crt
27783
27784       If Salt is unable to auto-detect the location of the CA bundle, it will
27785       raise an error.
27786
27787       The update_ca_bundle() function can also be passed a string or  a  list
27788       of  strings  which represent files on the local system, which should be
27789       appended (in the specified order) to the end of  the  CA  bundle  file.
27790       This  is  useful  in  environments  where private certs need to be made
27791       available, and are not otherwise reasonable to add to the bundle file.
27792
27793          salt.utils.http.update_ca_bundle(
27794              opts=__opts__,
27795              merge_files=[
27796                  '/etc/ssl/private_cert_1.pem',
27797                  '/etc/ssl/private_cert_2.pem',
27798                  '/etc/ssl/private_cert_3.pem',
27799              ]
27800          )
27801
27802   Test Mode
27803       This function may be run in test mode. This mode will perform all  work
27804       up until the actual HTTP request. By default, instead of performing the
27805       request, an empty dict will be returned. Using this function with TRACE
27806       logging turned on will reveal the contents of the headers and POST data
27807       to be sent.
27808
27809       Rather than returning an empty  dict,  an  alternate  test_url  may  be
27810       passed  in.   If  this is detected, then test mode will replace the url
27811       with the test_url, set test to True in the return data, and perform the
27812       rest  of  the  requested  operations  as  usual.  This allows a custom,
27813       non-destructive URL to be used for testing when necessary.
27814
27815   Execution Module
27816       The  http  execution  module  is  a  very  thin  wrapper   around   the
27817       salt.utils.http library. The opts can be passed through as well, but if
27818       they are not specified, the minion defaults will be used as necessary.
27819
27820       Because passing complete data structures from the command line  can  be
27821       tricky  at best and dangerous (in terms of execution injection attacks)
27822       at worse, the data_file, and header_file are likely  to  see  more  use
27823       here.
27824
27825       All  methods  for the library are available in the execution module, as
27826       kwargs.
27827
27828          salt myminion http.query http://example.com/restapi method=POST \
27829              username='larry' password='5700g3543v4r' headers=True text=True \
27830              status=True decode_type=xml data_render=True \
27831              header_file=/tmp/headers.txt data_file=/tmp/data.txt \
27832              header_render=True cookies=True persist_session=True
27833
27834   Runner Module
27835       Like the execution module, the http runner module is a very thin  wrap‐
27836       per around the salt.utils.http library. The only significant difference
27837       is that because runners execute on the master instead of  a  minion,  a
27838       target  is not required, and default opts will be derived from the mas‐
27839       ter config, rather than the minion config.
27840
27841       All methods for the library are available  in  the  runner  module,  as
27842       kwargs.
27843
27844          salt-run http.query http://example.com/restapi method=POST \
27845              username='larry' password='5700g3543v4r' headers=True text=True \
27846              status=True decode_type=xml data_render=True \
27847              header_file=/tmp/headers.txt data_file=/tmp/data.txt \
27848              header_render=True cookies=True persist_session=True
27849
27850   State Module
27851       The  state  module is a wrapper around the runner module, which applies
27852       stateful logic to a query. All kwargs as listed above are specified  as
27853       usual in state files, but two more kwargs are available to apply state‐
27854       ful logic. A required parameter is match, which specifies a pattern  to
27855       look  for  in  the  return text. By default, this will perform a string
27856       comparison of looking for the value of match in  the  return  text.  In
27857       Python terms this looks like:
27858
27859          if match in html_text:
27860              return True
27861
27862       If  more complex pattern matching is required, a regular expression can
27863       be used by specifying a match_type. By default this is set  to  string,
27864       but  it  can  be manually set to pcre instead. Please note that despite
27865       the name, this will use Python's re.search() rather than re.match().
27866
27867       Therefore, the following states are valid:
27868
27869          http://example.com/restapi:
27870            http.query:
27871              - match: 'SUCCESS'
27872              - username: 'larry'
27873              - password: '5700g3543v4r'
27874              - data_render: True
27875              - header_file: /tmp/headers.txt
27876              - data_file: /tmp/data.txt
27877              - header_render: True
27878              - cookies: True
27879              - persist_session: True
27880
27881          http://example.com/restapi:
27882            http.query:
27883              - match_type: pcre
27884              - match: '(?i)succe[ss|ed]'
27885              - username: 'larry'
27886              - password: '5700g3543v4r'
27887              - data_render: True
27888              - header_file: /tmp/headers.txt
27889              - data_file: /tmp/data.txt
27890              - header_render: True
27891              - cookies: True
27892              - persist_session: True
27893
27894       In addition to, or instead of a match pattern, the status  code  for  a
27895       URL can be checked. This is done using the status argument:
27896
27897          http://example.com/:
27898            http.query:
27899              - status: 200
27900
27901       If  both  are  specified, both will be checked, but if only one is True
27902       and the other is False, then False will be returned. In this case,  the
27903       comments  in the return data will contain information for troubleshoot‐
27904       ing.
27905
27906       Because this is a monitoring state, it will return extra data  to  code
27907       that expects it. This data will always include text and status. Option‐
27908       ally, headers and dict may also be requested by setting the headers and
27909       decode arguments to True, respectively.
27910
27911   Using Salt at scale
27912       The  focus  of this tutorial will be building a Salt infrastructure for
27913       handling large numbers of minions. This will include tuning,  topology,
27914       and best practices.
27915
27916       For how to install the Salt Master please go here: Installing saltstack
27917
27918       NOTE:
27919          This  tutorial  is  intended for large installations, although these
27920          same settings won't hurt, it may not  be  worth  the  complexity  to
27921          smaller installations.
27922
27923          When  used  with minions, the term 'many' refers to at least a thou‐
27924          sand and 'a few' always means 500.
27925
27926          For simplicity reasons, this tutorial will default to  the  standard
27927          ports used by Salt.
27928
27929   The Master
27930       The most common problems on the Salt Master are:
27931
27932       1. too many minions authing at once
27933
27934       2. too many minions re-authing at once
27935
27936       3. too many minions re-connecting at once
27937
27938       4. too many minions returning at once
27939
27940       5. too few resources (CPU/HDD)
27941
27942       The  first  three are all "thundering herd" problems. To mitigate these
27943       issues we must configure the minions to back-off appropriately when the
27944       Master is under heavy load.
27945
27946       The  fourth is caused by masters with little hardware resources in com‐
27947       bination with a possible bug in ZeroMQ. At least that's what  it  looks
27948       like till today (Issue 118651, Issue 5948, Mail thread)
27949
27950       To  fully  understand  each problem, it is important to understand, how
27951       Salt works.
27952
27953       Very briefly, the Salt Master offers two services to the minions.
27954
27955       · a job publisher on port 4505
27956
27957       · an open port 4506 to receive the minions returns
27958
27959       All minions are always connected to the publisher on port 4505 and only
27960       connect  to  the open return port 4506 if necessary. On an idle Master,
27961       there will only be connections on port 4505.
27962
27963   Too many minions authing
27964       When the Minion service is first started up, it  will  connect  to  its
27965       Master's  publisher  on  port  4505. If too many minions are started at
27966       once, this can cause a "thundering herd".  This can be avoided  by  not
27967       starting too many minions at once.
27968
27969       The  connection itself usually isn't the culprit, the more likely cause
27970       of master-side issues is the authentication that  the  Minion  must  do
27971       with the Master. If the Master is too heavily loaded to handle the auth
27972       request it  will  time  it  out.  The  Minion  will  then  wait  accep‐
27973       tance_wait_time  to  retry. If acceptance_wait_time_max is set then the
27974       Minion will increase its wait time  by  the  acceptance_wait_time  each
27975       subsequent retry until reaching acceptance_wait_time_max.
27976
27977   Too many minions re-authing
27978       This  is  most  likely to happen in the testing phase of a Salt deploy‐
27979       ment, when all Minion keys have already been accepted, but  the  frame‐
27980       work  is being tested and parameters are frequently changed in the Salt
27981       Master's configuration file(s).
27982
27983       The Salt Master generates a new AES key to encrypt its publications  at
27984       certain events such as a Master restart or the removal of a Minion key.
27985       If you are encountering this problem of  too  many  minions  re-authing
27986       against  the  Master, you will need to recalibrate your setup to reduce
27987       the rate of  events  like  a  Master  restart  or  Minion  key  removal
27988       (salt-key -d).
27989
27990       When the Master generates a new AES key, the minions aren't notified of
27991       this but will discover it on the next pub job they  receive.  When  the
27992       Minion  receives such a job it will then re-auth with the Master. Since
27993       Salt does minion-side filtering this means that all  the  minions  will
27994       re-auth  on  the next command published on the master-- causing another
27995       "thundering herd". This can be avoided by setting the
27996
27997          random_reauth_delay: 60
27998
27999       in the minions configuration file to a higher  value  and  stagger  the
28000       amount  of  re-auth  attempts.  Increasing  this  value  will of course
28001       increase the time it takes until all minions  are  reachable  via  Salt
28002       commands.
28003
28004   Too many minions re-connecting
28005       By  default  the  zmq socket will re-connect every 100ms which for some
28006       larger installations may be too quick. This will  control  how  quickly
28007       the TCP session is re-established, but has no bearing on the auth load.
28008
28009       To  tune the minions sockets reconnect attempts, there are a few values
28010       in the sample configuration file (default values)
28011
28012          recon_default: 1000
28013          recon_max: 5000
28014          recon_randomize: True
28015
28016       · recon_default: the default value the socket should  use,  i.e.  1000.
28017         This value is in milliseconds. (1000ms = 1 second)
28018
28019       · recon_max: the max value that the socket should use as a delay before
28020         trying to reconnect This value is in milliseconds. (5000ms =  5  sec‐
28021         onds)
28022
28023       · recon_randomize:  enables  randomization  between  recon_default  and
28024         recon_max
28025
28026       To tune this values to an existing environment, a few decision have  to
28027       be made.
28028
28029       1. How  long  can  one  wait,  before  the minions should be online and
28030          reachable via Salt?
28031
28032       2. How many reconnects can the Master handle without a syn flood?
28033
28034       These questions can not be answered generally. Their answers depend  on
28035       the hardware and the administrators requirements.
28036
28037       Here  is  an example scenario with the goal, to have all minions recon‐
28038       nect within a 60 second time-frame on a Salt Master service restart.
28039
28040          recon_default: 1000
28041          recon_max: 59000
28042          recon_randomize: True
28043
28044       Each  Minion  will  have   a   randomized   reconnect   value   between
28045       'recon_default'  and 'recon_default + recon_max', which in this example
28046       means between 1000ms and 60000ms (or between 1  and  60  seconds).  The
28047       generated  random-value will be doubled after each attempt to reconnect
28048       (ZeroMQ default behavior).
28049
28050       Lets say the generated random value is 11 seconds (or 11000ms).
28051
28052          reconnect 1: wait 11 seconds
28053          reconnect 2: wait 22 seconds
28054          reconnect 3: wait 33 seconds
28055          reconnect 4: wait 44 seconds
28056          reconnect 5: wait 55 seconds
28057          reconnect 6: wait time is bigger than 60 seconds (recon_default + recon_max)
28058          reconnect 7: wait 11 seconds
28059          reconnect 8: wait 22 seconds
28060          reconnect 9: wait 33 seconds
28061          reconnect x: etc.
28062
28063       With a thousand minions this will mean
28064
28065          1000/60 = ~16
28066
28067       round about 16 connection attempts a second.  These  values  should  be
28068       altered  to  values  that  match your environment. Keep in mind though,
28069       that it may grow over time and that more minions might raise the  prob‐
28070       lem again.
28071
28072   Too many minions returning at once
28073       This  can  also  happen  during  the  testing phase, if all minions are
28074       addressed at once with
28075
28076          $ salt * disk.usage
28077
28078       it may cause thousands of minions trying to return their  data  to  the
28079       Salt  Master  open  port 4506. Also causing a flood of syn-flood if the
28080       Master can't handle that many returns at once.
28081
28082       This can be easily avoided with Salt's batch mode:
28083
28084          $ salt * disk.usage -b 50
28085
28086       This will only address 50 minions at once  while  looping  through  all
28087       addressed minions.
28088
28089   Too few resources
28090       The masters resources always have to match the environment. There is no
28091       way to give good advise without knowing the environment the  Master  is
28092       supposed  to run in.  But here are some general tuning tips for differ‐
28093       ent situations:
28094
28095   The Master is CPU bound
28096       Salt uses RSA-Key-Pairs on the masters and minions end.  Both  generate
28097       4096 bit key-pairs on first start. While the key-size for the Master is
28098       currently not configurable, the minions keysize can be configured  with
28099       different key-sizes. For example with a 2048 bit key:
28100
28101          keysize: 2048
28102
28103       With  thousands of decryptions, the amount of time that can be saved on
28104       the masters end should not be neglected. See here for  reference:  Pull
28105       Request 9235 how much influence the key-size can have.
28106
28107       Downsizing  the  Salt  Master's  key is not that important, because the
28108       minions do not encrypt as many messages as the Master does.
28109
28110       In installations with large or with complex pillar files, it is  possi‐
28111       ble for the master to exhibit poor performance as a result of having to
28112       render many pillar files at once. This exhibit itself in  a  number  of
28113       ways,  both  as  high  load on the master and on minions which block on
28114       waiting for their pillar to be delivered to them.
28115
28116       To reduce pillar rendering times, it is possible to  cache  pillars  on
28117       the  master.  To  do  this, see the set of master configuration options
28118       which are prefixed with pillar_cache.
28119
28120       NOTE:
28121          Caching pillars on the master may introduce security considerations.
28122          Be certain to read caveats outlined in the master configuration file
28123          to understand how pillar caching may affect a  master's  ability  to
28124          protect sensitive data!
28125
28126   The Master is disk IO bound
28127       By default, the Master saves every Minion's return for every job in its
28128       job-cache. The cache can then be used later, to lookup results for pre‐
28129       vious jobs. The default directory for this is:
28130
28131          cachedir: /var/cache/salt
28132
28133       and then in the /proc directory.
28134
28135       Each  job  return for every Minion is saved in a single file. Over time
28136       this directory can grow quite large, depending on the  number  of  pub‐
28137       lished  jobs.  The  amount of files and directories will scale with the
28138       number of jobs published and the retention time defined by
28139
28140          keep_jobs: 24
28141
28142          250 jobs/day * 2000 minions returns = 500,000 files a day
28143
28144   Use and External Job Cache
28145       An external job cache allows for job storage to be placed on an  exter‐
28146       nal system, such as a database.
28147
28148       · ext_job_cache:  this  will  have  the minions store their return data
28149         directly into a returner (not sent through the Master)
28150
28151       · master_job_cache (New in 2014.7.0): this will make the  Master  store
28152         the  job  data  using  a  returner (instead of the local job cache on
28153         disk).
28154
28155       If a master has many accepted keys, it may take a long time to  publish
28156       a  job because the master much first determine the matching minions and
28157       deliver that information back to the waiting client before the job  can
28158       be published.
28159
28160       To mitigate this, a key cache may be enabled. This will reduce the load
28161       on the master to a single file open instead of  thousands  or  tens  of
28162       thousands.
28163
28164       This  cache is updated by the maintanence process, however, which means
28165       that minions with keys that are accepted may not  be  targeted  by  the
28166       master for up to sixty seconds by default.
28167
28168       To  enable  the  master key cache, set key_cache: 'sched' in the master
28169       configuration file.
28170
28171   Disable The Job Cache
28172       The job cache is a central  component  of  the  Salt  Master  and  many
28173       aspects  of  the Salt Master will not function correctly without a run‐
28174       ning job cache.
28175
28176       Disabling the job cache is STRONGLY DISCOURAGED and should not be  done
28177       unless  the  master  is  being used to execute routines that require no
28178       history or reliable feedback!
28179
28180       The job cache can be disabled:
28181
28182          job_cache: False
28183
28184   How to Convert Jinja Logic to an Execution Module
28185       NOTE:
28186          This tutorial assumes a basic knowledge of Salt states and  specifi‐
28187          cally experience using the maps.jinja idiom.
28188
28189          This  tutorial  was  written  by  a  salt user who was told "if your
28190          maps.jinja is too complicated, write an execution module!".  If  you
28191          are experiencing over-complicated jinja, read on.
28192
28193   The Problem: Jinja Gone Wild
28194       It is often said in the Salt community that "Jinja is not a Programming
28195       Language".  There's an even older saying known as Maslow's hammer.   It
28196       goes something like "if all you have is a hammer, everything looks like
28197       a nail".  Jinja is a reliable hammer, and so is the  maps.jinja  idiom.
28198       Unfortunately, it can lead to code that looks like the following.
28199
28200          # storage/maps.yaml
28201
28202          {% import_yaml 'storage/defaults.yaml' as default_settings %}
28203          {% set storage = default_settings.storage %}
28204          {% do storage.update(salt['grains.filter_by']({
28205              'Debian': {
28206              },
28207              'RedHat': {
28208              }
28209          }, merge=salt['pillar.get']('storage:lookup'))) %}
28210
28211          {% if 'VirtualBox' == grains.get('virtual', None) or 'oracle' == grains.get('virtual', None) %}
28212          {%   do storage.update({'depot_ip': '192.168.33.81', 'server_ip':  '192.168.33.51'}) %}
28213          {% else %}
28214          {%   set colo = pillar.get('inventory', {}).get('colo', 'Unknown') %}
28215          {%   set servers_list = pillar.get('storage_servers', {}).get(colo, [storage.depot_ip, ]) %}
28216          {%   if opts.id.startswith('foo') %}
28217          {%     set modulus = servers_list | count %}
28218          {%     set integer_id = opts.id | replace('foo', '') | int %}
28219          {%     set server_index = integer_id % modulus %}
28220          {%   else %}
28221          {%     set server_index = 0 %}
28222          {%   endif %}
28223          {%   do storage.update({'server_ip': servers_list[server_index]}) %}
28224          {% endif %}
28225
28226          {% for network, _ in salt.pillar.get('inventory:networks', {}) | dictsort %}
28227          {%   do storage.ipsets.hash_net.foo_networks.append(network) %}
28228          {% endfor %}
28229
28230       This is an example from the author's salt formulae demonstrating misuse
28231       of jinja.  Aside from being difficult to read and  maintain,  accessing
28232       the logic it contains from a non-jinja renderer while probably possible
28233       is a significant barrier!
28234
28235   Refactor
28236       The first step is to reduce the maps.jinja file  to  something  reason‐
28237       able.  This gives us an idea of what the module we are writing needs to
28238       do.  There is a lot of logic around  selecting  a  storage  server  ip.
28239       Let's move that to an execution module.
28240
28241          # storage/maps.yaml
28242
28243          {% import_yaml 'storage/defaults.yaml' as default_settings %}
28244          {% set storage = default_settings.storage %}
28245          {% do storage.update(salt['grains.filter_by']({
28246              'Debian': {
28247              },
28248              'RedHat': {
28249              }
28250          }, merge=salt['pillar.get']('storage:lookup'))) %}
28251
28252          {% if 'VirtualBox' == grains.get('virtual', None) or 'oracle' == grains.get('virtual', None) %}
28253          {%   do storage.update({'depot_ip': '192.168.33.81'}) %}
28254          {% endif %}
28255
28256          {% do storage.update({'server_ip': salt['storage.ip']()}) %}
28257
28258          {% for network, _ in salt.pillar.get('inventory:networks', {}) | dictsort %}
28259          {%   do storage.ipsets.hash_net.af_networks.append(network) %}
28260          {% endfor %}
28261
28262       And  then,  write  the module.  Note how the module encapsulates all of
28263       the logic around finding the storage server IP.
28264
28265          # _modules/storage.py
28266          #!python
28267
28268          '''
28269          Functions related to storage servers.
28270          '''
28271
28272          import re
28273
28274
28275          def ips():
28276              '''
28277              Provide a list of all local storage server IPs.
28278
28279              CLI Example::
28280
28281                  salt \* storage.ips
28282              '''
28283
28284              if  __grains__.get('virtual', None) in ['VirtualBox', 'oracle']:
28285                  return ['192.168.33.51', ]
28286
28287              colo = __pillar__.get('inventory', {}).get('colo', 'Unknown')
28288              return __pillar__.get('storage_servers', {}).get(colo, ['unknown', ])
28289
28290
28291          def ip():
28292              '''
28293              Select and return a local storage server IP.
28294
28295              This loadbalances across storage servers by using the modulus of the client's id number.
28296
28297              :maintainer:    Andrew Hammond <ahammond@anchorfree.com>
28298              :maturity:      new
28299              :depends:       None
28300              :platform:      all
28301
28302              CLI Example::
28303
28304                  salt \* storage.ip
28305
28306              '''
28307
28308              numerical_suffix = re.compile(r'^.*(\d+)$')
28309              servers_list = ips()
28310
28311              m = numerical_suffix.match(__grains__['id'])
28312              if m:
28313                  modulus = len(servers_list)
28314                  server_number = int(m.group(1))
28315                  server_index = server_number % modulus
28316              else:
28317                  server_index = 0
28318
28319              return servers_list[server_index]
28320
28321   Conclusion
28322       That was... surprisingly straight-forward.  Now the logic is  available
28323       in every renderer, instead of just Jinja.  Best of all, it can be main‐
28324       tained in Python, which is a whole lot easier than Jinja.
28325
28326   Using Apache Libcloud for declarative and procedural multi-cloud orchestra‐
28327       tion
28328       New in version 2018.3.0.
28329
28330
28331       NOTE:
28332          This walkthrough assumes basic knowledge of Salt and Salt States. To
28333          get up to speed, check out the Salt Walkthrough.
28334
28335       Apache Libcloud is a Python library  which  hides  differences  between
28336       different  cloud provider APIs and allows you to manage different cloud
28337       resources through a unified and easy to use API. Apache  Libcloud  sup‐
28338       ports over 60 cloud platforms, including Amazon, Microsoft Azure, Digi‐
28339       talOcean, Google Cloud Platform and OpenStack.
28340
28341       Execution and state modules are available for Compute, DNS, Storage and
28342       Load Balancer drivers from Apache Libcloud in
28343              SaltStack.
28344
28345       ·
28346
28347         libcloud_compute - Compute -
28348                services  such  as OpenStack Nova, Amazon EC2, Microsoft Azure
28349                VMs
28350
28351       ·
28352
28353         libcloud_dns - DNS as a Service -
28354                services such as Amazon Route 53 and Zerigo
28355
28356       ·
28357
28358         libcloud_loadbalancer - Load Balancers as a Service -
28359                services such as Amazon Elastic Load Balancer and GoGrid Load‐
28360                Balancers
28361
28362       ·
28363
28364         libcloud_storage - Cloud Object Storage and CDN -
28365                services such as Amazon S3 and Rackspace CloudFiles, OpenStack
28366                Swift
28367
28368       These modules are designed as a way of having a multi-cloud  deployment
28369       and  abstracting  simple  differences  between  platform  to  design  a
28370       high-availability architecture.
28371
28372       The Apache Libcloud functionality is available through  both  execution
28373       modules and Salt states.
28374
28375   Configuring Drivers
28376       Drivers  can  be  configured in the Salt Configuration/Minion settings.
28377       All libcloud modules expect a list of "profiles" to be configured  with
28378       authentication details for each driver.
28379
28380       Each  driver  will  have a string identifier, these can be found in the
28381       libcloud.<api>.types.Provider      class      for       each       API,
28382       http://libcloud.readthedocs.io/en/latest/supported_providers.html
28383
28384       Some drivers require additional parameters, which are documented in the
28385       Apache Libcloud documentation. For example, GoDaddy DNS expects  "shop‐
28386       per_id",  which  is the customer ID. These additional parameters can be
28387       added to the profile settings and will be passed directly to the driver
28388       instantiation method.
28389
28390          libcloud_dns:
28391              godaddy:
28392                  driver: godaddy
28393                  shopper_id: 90425123
28394                  key: AFDDJFGIjDFVNSDIFNASMC
28395                  secret: FG(#f8vdfgjlkm)
28396
28397          libcloud_storage:
28398              google:
28399                  driver: google_storage
28400                  key: GOOG4ASDIDFNVIdfnIVW
28401                  secret: R+qYE9hkfdhv89h4invhdfvird4Pq3an8rnK
28402
28403       You  can have multiple profiles for a single driver, for example if you
28404       wanted 2 DNS profiles for Amazon Route53,  naming  them  "route53_prod"
28405       and  "route54_test"  would  help  your administrators distinguish their
28406       purpose.
28407
28408          libcloud_dns:
28409              route53_prod:
28410                  driver: route53
28411                  key: AFDDJFGIjDFVNSDIFNASMC
28412                  secret: FG(#f8vdfgjlkm)
28413              route53_test:
28414                  driver: route53
28415                  key: AFDDJFGIjdfgdfgdf
28416                  secret: FG(#f8vdfgjlkm)
28417
28418   Using the execution modules
28419       Amongst over 60 clouds that Apache Libcloud supports, you can add  pro‐
28420       files  to  your  Salt configuration to access and control these clouds.
28421       Each of the libcloud execution modules exposes the common  API  methods
28422       for  controlling  Compute,  DNS, Load Balancers and Object Storage.  To
28423       see which functions are supported across specific clouds, see the  Lib‐
28424       cloud supported methods documentation.
28425
28426       The  module  documentation  explains each of the API methods and how to
28427       leverage them.
28428
28429       ·
28430
28431         libcloud_compute - Compute -
28432                services such as OpenStack Nova, Amazon EC2,  Microsoft  Azure
28433                VMs
28434
28435       ·
28436
28437         libcloud_dns - DNS as a Service -
28438                services such as Amazon Route 53 and Zerigo
28439
28440       ·
28441
28442         libcloud_loadbalancer - Load Balancers as a Service -
28443                services such as Amazon Elastic Load Balancer and GoGrid Load‐
28444                Balancers
28445
28446       ·
28447
28448         libcloud_storage - Cloud Object Storage and CDN -
28449                services such as Amazon S3 and Rackspace CloudFiles, OpenStack
28450                Swift
28451
28452       For example, listing buckets in the Google Storage platform:
28453
28454          $ salt-call libcloud_storage.list_containers google
28455
28456              local:
28457                  |_
28458                  ----------
28459                  extra:
28460                      ----------
28461                      creation_date:
28462                          2017-01-05T05:44:56.324Z
28463                  name:
28464                      anthonypjshaw
28465
28466       The  Apache  Libcloud  storage  module  can be used to syncronize files
28467       between multiple storage clouds, such as Google Storage, S3  and  Open‐
28468       Stack Swift
28469
28470          $ salt '*' libcloud_storage.download_object DeploymentTools test.sh /tmp/test.sh google_storage
28471
28472   Using the state modules
28473       For  each  configured  profile,  the  assets available in the API (e.g.
28474       storage objects, containers, DNS records and  load  balancers)  can  be
28475       deployed via Salt's state system.
28476
28477       The  state  module documentation explains the specific states that each
28478       module supports
28479
28480       ·
28481
28482         libcloud_storage - Cloud Object Storage and CDN
28483
28484                · services such as Amazon S3 and Rackspace  CloudFiles,  Open‐
28485                  Stack Swift
28486
28487       ·
28488
28489         libcloud_loadbalancer - Load Balancers as a Service
28490
28491                · services  such  as  Amazon  Elastic Load Balancer and GoGrid
28492                  LoadBalancers
28493
28494       ·
28495
28496         libcloud_dns - DNS as a Service
28497
28498                · services such as Amazon Route 53 and Zerigo
28499
28500       For DNS, the state modules can be used to provide  DNS  resilience  for
28501       multiple nameservers, for example:
28502
28503          libcloud_dns:
28504              godaddy:
28505                  driver: godaddy
28506                  shopper_id: 12345
28507                  key: 2orgk34kgk34g
28508                  secret: fjgoidhjgoim
28509              amazon:
28510                  driver: route53
28511                  key: blah
28512                  secret: blah
28513
28514       And then in a state file:
28515
28516          webserver:
28517            libcloud_dns.zone_present:
28518              name: mywebsite.com
28519              profile: godaddy
28520            libcloud_dns.record_present:
28521              name: www
28522              zone: mywebsite.com
28523              type: A
28524              data: 12.34.32.3
28525              profile: godaddy
28526            libcloud_dns.zone_present:
28527              name: mywebsite.com
28528              profile: amazon
28529            libcloud_dns.record_present:
28530              name: www
28531              zone: mywebsite.com
28532              type: A
28533              data: 12.34.32.3
28534              profile: amazon
28535
28536       This could be combined with a multi-cloud load balancer deployment,
28537
28538          webserver:
28539            libcloud_dns.zone_present:
28540              - name: mywebsite.com
28541              - profile: godaddy
28542              ...
28543            libcloud_loadbalancer.balancer_present:
28544              - name: web_main
28545              - port: 80
28546              - protocol: http
28547              - members:
28548                  - ip: 1.2.4.5
28549                    port: 80
28550                  - ip: 2.4.5.6
28551                    port: 80
28552              - profile: google_gce
28553            libcloud_loadbalancer.balancer_present:
28554              - name: web_main
28555              - port: 80
28556              - protocol: http
28557              - members:
28558                  - ip: 1.2.4.5
28559                    port: 80
28560                  - ip: 2.4.5.6
28561                    port: 80
28562              - profile: amazon_elb
28563
28564       Extended  parameters  can  be passed to the specific cloud, for example
28565       you can specify the region with the  Google  Cloud  API,  because  cre‐
28566       ate_balancer  can  accept a ex_region argument. Adding this argument to
28567       the state will pass the additional command to the driver.
28568
28569          lb_test:
28570              libcloud_loadbalancer.balancer_absent:
28571                  - name: example
28572                  - port: 80
28573                  - protocol: http
28574                  - profile: google
28575                  - ex_region: us-east1
28576
28577   Accessing custom arguments in execution modules
28578       Some cloud providers have additional functionality that can be accessed
28579       on  top  of the base API, for example the Google Cloud Engine load bal‐
28580       ancer service offers the ability to provision  load  balancers  into  a
28581       specific region.
28582
28583       Looking  at  the  API  documentation,  we  can  see  that it expects an
28584       ex_region in the create_balancer method, so when we  execute  the  salt
28585       command, we can add this additional parameter like this:
28586
28587          $ salt myminion libcloud_storage.create_balancer my_balancer 80 http profile1 ex_region=us-east1
28588          $ salt myminion libcloud_storage.list_container_objects my_bucket profile1 ex_prefix=me
28589
28590   Accessing custom methods in Libcloud drivers
28591       Some  cloud  APIs have additional methods that are prefixed with ex_ in
28592       Apache Libcloud, these methods are part of the non-standard API but can
28593       still  be  accessed  from  the  Salt modules for libcloud_storage, lib‐
28594       cloud_loadbalancer and libcloud_dns.  The extra methods  are  available
28595       via  the  extra  command,  which  expects the name of the method as the
28596       first argument, the profile as the second and then accepts  a  list  of
28597       keyword  arguments to pass onto the driver method, for example, access‐
28598       ing permissions in Google Storage objects:
28599
28600          $ salt myminion libcloud_storage.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
28601
28602   Example profiles
28603   Google Cloud
28604       Using Service Accounts with GCE, you can provide a  path  to  the  JSON
28605       file and the project name in the parameters.
28606
28607          google:
28608              driver: gce
28609              user_id: 234234-compute@developer.gserviceaccount.com
28610              key: /path/to/service_account_download.json
28611              auth_type: SA
28612              project: project-name
28613
28614   LXC Management with Salt
28615       NOTE:
28616          This  walkthrough  assumes  basic  knowledge  of  Salt. To get up to
28617          speed, check out the Salt Walkthrough.
28618
28619   Dependencies
28620       Manipulation of LXC containers in Salt requires the minion to  have  an
28621       LXC  version  of  at  least 1.0 (an alpha or beta release of LXC 1.0 is
28622       acceptable).  The following distributions are known to have new  enough
28623       versions of LXC packaged:
28624
28625       · RHEL/CentOS 6 and later (via EPEL)
28626
28627       · Fedora (All non-EOL releases)
28628
28629       · Debian 8.0 (Jessie)
28630
28631       · Ubuntu  14.04 LTS and later (LXC templates are packaged separately as
28632         lxc-templates, it is recommended to also install this package)
28633
28634       · openSUSE 13.2 and later
28635
28636   Profiles
28637       Profiles allow for a sort of shorthand for commonly-used configurations
28638       to  be defined in the minion config file, grains, pillar, or the master
28639       config file. The profile is retrieved  by  Salt  using  the  config.get
28640       function,  which  looks  in those locations, in that order. This allows
28641       for profiles to be defined centrally in the master  config  file,  with
28642       several options for overriding them (if necessary) on groups of minions
28643       or individual minions.
28644
28645       There are two types of profiles:
28646
28647          · One for defining the parameters used in container creation/clone.
28648
28649          · One for defining the container's network interface(s) settings.
28650
28651   Container Profiles
28652       LXC container profiles are defined underneath the lxc.container_profile
28653       config option:
28654
28655          lxc.container_profile:
28656            centos:
28657              template: centos
28658              backing: lvm
28659              vgname: vg1
28660              lvname: lxclv
28661              size: 10G
28662            centos_big:
28663              template: centos
28664              backing: lvm
28665              vgname: vg1
28666              lvname: lxclv
28667              size: 20G
28668
28669       Profiles  are retrieved using the config.get function, with the recurse
28670       merge strategy. This means that a profile can be  defined  at  a  lower
28671       level (for example, the master config file) and then parts of it can be
28672       overridden at a higher level (for example, in pillar  data).   Consider
28673       the following container profile data:
28674
28675       In the Master config file:
28676
28677          lxc.container_profile:
28678            centos:
28679              template: centos
28680              backing: lvm
28681              vgname: vg1
28682              lvname: lxclv
28683              size: 10G
28684
28685       In the Pillar data
28686
28687          lxc.container_profile:
28688            centos:
28689              size: 20G
28690
28691       Any  minion with the above Pillar data would have the size parameter in
28692       the centos profile overridden to 20G, while those minions  without  the
28693       above Pillar data would have the 10G size value. This is another way of
28694       achieving the same result as the centos_big profile above, without hav‐
28695       ing to define another whole profile that differs in just one value.
28696
28697       NOTE:
28698          In  the  2014.7.x  release cycle and earlier, container profiles are
28699          defined under lxc.profile. This parameter will still work in version
28700          2015.5.0, but is deprecated and will be removed in a future release.
28701          Please note however that the profile merging feature described above
28702          will  only  work  with profiles defined under lxc.container_profile,
28703          and only in versions 2015.5.0 and later.
28704
28705       Additionally, in version 2015.5.0 container profiles have been expanded
28706       to  support  passing template-specific CLI options to lxc.create. Below
28707       is a table describing the parameters which can be  configured  in  con‐
28708       tainer profiles:
28709
28710               ┌──────────┬────────────────────┬─────────────────────┐
28711               │Parameter │ 2015.5.0 and Newer │ 2014.7.x  and  Ear‐ │
28712               │          │                    │ lier                │
28713               ├──────────┼────────────────────┼─────────────────────┤
28714template1 │ Yes                │ Yes                 │
28715               └──────────┴────────────────────┴─────────────────────┘
28716
28717
28718options1  │ Yes                │ No                  │
28719               ├──────────┼────────────────────┼─────────────────────┤
28720image1    │ Yes                │ Yes                 │
28721               ├──────────┼────────────────────┼─────────────────────┤
28722backing   │ Yes                │ Yes                 │
28723               ├──────────┼────────────────────┼─────────────────────┤
28724snapshot2 │ Yes                │ Yes                 │
28725               ├──────────┼────────────────────┼─────────────────────┤
28726lvname1   │ Yes                │ Yes                 │
28727               ├──────────┼────────────────────┼─────────────────────┤
28728fstype1   │ Yes                │ Yes                 │
28729               ├──────────┼────────────────────┼─────────────────────┤
28730size      │ Yes                │ Yes                 │
28731               └──────────┴────────────────────┴─────────────────────┘
28732
28733       1. Parameter is only supported for  container  creation,  and  will  be
28734          ignored if the profile is used when cloning a container.
28735
28736       2. Parameter  is  only  supported  for  container  cloning, and will be
28737          ignored if the profile is used when not cloning a container.
28738
28739   Network Profiles
28740       LXC network  profiles  are  defined  defined  underneath  the  lxc.net‐
28741       work_profile  config  option.  By default, the module uses a DHCP based
28742       configuration and try to guess a bridge to get connectivity.
28743
28744       WARNING:
28745          on pre 2015.5.2, you need to specify explicitly the network bridge
28746
28747          lxc.network_profile:
28748            centos:
28749              eth0:
28750                link: br0
28751                type: veth
28752                flags: up
28753            ubuntu:
28754              eth0:
28755                link: lxcbr0
28756                type: veth
28757                flags: up
28758
28759       As with container profiles, network profiles are  retrieved  using  the
28760       config.get function, with the recurse merge strategy. Consider the fol‐
28761       lowing network profile data:
28762
28763       In the Master config file:
28764
28765          lxc.network_profile:
28766            centos:
28767              eth0:
28768                link: br0
28769                type: veth
28770                flags: up
28771
28772       In the Pillar data
28773
28774          lxc.network_profile:
28775            centos:
28776              eth0:
28777                link: lxcbr0
28778
28779       Any minion with the above Pillar data would use the lxcbr0 interface as
28780       the bridge interface for any container configured using the centos net‐
28781       work profile, while those minions without the above Pillar  data  would
28782       use the br0 interface for the same.
28783
28784       NOTE:
28785          In  the  2014.7.x  release  cycle  and earlier, network profiles are
28786          defined under lxc.nic. This parameter will  still  work  in  version
28787          2015.5.0, but is deprecated and will be removed in a future release.
28788          Please note however that the profile merging feature described above
28789          will  only work with profiles defined under lxc.network_profile, and
28790          only in versions 2015.5.0 and later.
28791
28792       The following are parameters which can be configured  in  network  pro‐
28793       files. These will directly correspond to a parameter in an LXC configu‐
28794       ration file (see man 5 lxc.container.conf).
28795
28796       · type - Corresponds to lxc.network.type
28797
28798       · link - Corresponds to lxc.network.link
28799
28800       · flags - Corresponds to lxc.network.flags
28801
28802       Interface-specific options  (MAC  address,  IPv4/IPv6,  etc.)  must  be
28803       passed  on  a  container-by-container  basis,  for  instance  using the
28804       nic_opts argument to lxc.create:
28805
28806          salt myminion lxc.create container1 profile=centos network_profile=centos nic_opts='{eth0: {ipv4: 10.0.0.20/24, gateway: 10.0.0.1}}'
28807
28808       WARNING:
28809          The ipv4, ipv6, gateway, and link (bridge) settings in network  pro‐
28810          files  /  nic_opts  will only work if the container doesn't redefine
28811          the  network  configuration  (for  example  in   /etc/sysconfig/net‐
28812          work-scripts/ifcfg-<interface_name>  on  RHEL/CentOS,  or  /etc/net‐
28813          work/interfaces on Debian/Ubuntu/etc.). Use these with caution.  The
28814          container   images   installed  using  the  download  template,  for
28815          instance, typically are configured for eth0 to use DHCP, which  will
28816          conflict with static IP addresses set at the container level.
28817
28818       NOTE:
28819          For  LXC  < 1.0.7 and DHCP support, set ipv4.gateway: 'auto' is your
28820          network profile, ie.:
28821
28822              lxc.network_profile.nic:
28823                debian:
28824                  eth0:
28825                    link: lxcbr0
28826                    ipv4.gateway: 'auto'
28827
28828   Old lxc support (<1.0.7)
28829       With saltstack 2015.5.2 and above,  normally  the  setting  is  autose‐
28830       lected,  but  before,  you'll need to teach your network profile to set
28831       lxc.network.ipv4.gateway to auto when using a classic  ipv4  configura‐
28832       tion.
28833
28834       Thus you'll need
28835
28836          lxc.network_profile.foo:
28837            etho:
28838              link: lxcbr0
28839              ipv4.gateway: auto
28840
28841   Tricky network setups Examples
28842       This  example  covers  how to make a container with both an internal ip
28843       and a public routable ip, wired on two veth pairs.
28844
28845       The another interface which receives  directly  a  public  routable  ip
28846       can't  be  on the first interface that we reserve for private inter LXC
28847       networking.
28848
28849          lxc.network_profile.foo:
28850            eth0: {gateway: null, bridge: lxcbr0}
28851            eth1:
28852              # replace that by your main interface
28853              'link': 'br0'
28854              'mac': '00:16:5b:01:24:e1'
28855              'gateway': '2.20.9.14'
28856              'ipv4': '2.20.9.1'
28857
28858   Creating a Container on the CLI
28859   From a Template
28860       LXC  is  commonly  distributed  with  several   template   scripts   in
28861       /usr/share/lxc/templates.  Some distros may package these separately in
28862       an lxc-templates package, so make sure to check if this is the case.
28863
28864       There are LXC template scripts for several different operating systems,
28865       but  some of them are designed to use tools specific to a given distri‐
28866       bution. For instance, the ubuntu template uses deb_bootstrap, the  cen‐
28867       tos  template uses yum, etc., making these templates impractical when a
28868       container from a different OS is desired.
28869
28870       The lxc.create function is used to create containers using  a  template
28871       script.  To create a CentOS container named container1 on a CentOS min‐
28872       ion named mycentosminion, using the centos LXC template, one can simply
28873       run the following command:
28874
28875          salt mycentosminion lxc.create container1 template=centos
28876
28877       For these instances, there is a download template which retrieves mini‐
28878       mal container images for several different operating  systems.  To  use
28879       this  template,  it  is  necessary to provide an options parameter when
28880       creating the container, with three values:
28881
28882       1. dist - the Linux distribution (i.e. ubuntu or centos)
28883
28884       2. release - the release name/version (i.e. trusty or 6)
28885
28886       3. arch - CPU architecture (i.e. amd64 or i386)
28887
28888       The lxc.images function (new in version 2015.5.0) can be used  to  list
28889       the  available  images.  Alternatively,  the  releases can be viewed on
28890       http://images.linuxcontainers.org/images/. The images are organized  in
28891       such a way that the dist, release, and arch can be determined using the
28892       following        URL        format:         http://images.linuxcontain
28893       ers.org/images/dist/release/arch.  For example, http://images.linuxcon
28894       tainers.org/images/centos/6/amd64 would correspond to a dist of centos,
28895       a release of 6, and an arch of amd64.
28896
28897       Therefore, to use the download template to create a new 64-bit CentOS 6
28898       container, the following command can be used:
28899
28900          salt myminion lxc.create container1 template=download options='{dist: centos, release: 6, arch: amd64}'
28901
28902       NOTE:
28903          These command-line options can be placed into a  container  profile,
28904          like so:
28905
28906              lxc.container_profile.cent6:
28907                template: download
28908                options:
28909                  dist: centos
28910                  release: 6
28911                  arch: amd64
28912
28913          The  options parameter is not supported in profiles for the 2014.7.x
28914          release cycle and earlier, so it would still need to be provided  on
28915          the command-line.
28916
28917   Cloning an Existing Container
28918       To clone a container, use the lxc.clone function:
28919
28920          salt myminion lxc.clone container2 orig=container1
28921
28922   Using a Container Image
28923       While cloning is a good way to create new containers from a common base
28924       container, the source container that is being cloned needs  to  already
28925       exist  on  the  minion.  This makes deploying a common container across
28926       minions difficult.  For this reason, Salt's lxc.create  is  capable  of
28927       installing  a  container  from  a  tar  archive  of another container's
28928       rootfs. To create an image of a container named cent6, run the  follow‐
28929       ing command as root:
28930
28931          tar czf cent6.tar.gz -C /var/lib/lxc/cent6 rootfs
28932
28933       NOTE:
28934          Before doing this, it is recommended that the container is stopped.
28935
28936       The  resulting  tarball  can  then be placed alongside the files in the
28937       salt fileserver and referenced using a salt:// URL. To  create  a  con‐
28938       tainer using an image, use the image parameter with lxc.create:
28939
28940          salt myminion lxc.create new-cent6 image=salt://path/to/cent6.tar.gz
28941
28942       NOTE:
28943          Making images of containers with LVM backing
28944
28945          For containers with LVM backing, the rootfs is not mounted, so it is
28946          necessary to mount it first before creating the tar archive. When  a
28947          container is created using LVM backing, an empty rootfs dir is hand‐
28948          ily created within /var/lib/lxc/container_name, so this can be  used
28949          as  the  mountpoint. The location of the logical volume for the con‐
28950          tainer will be /dev/vgname/lvname, where vgname is the name  of  the
28951          volume  group,  and lvname is the name of the logical volume. There‐
28952          fore, assuming a volume group of vg1, a logical volume of lxc-cent6,
28953          and a container name of cent6, the following commands can be used to
28954          create a tar archive of the rootfs:
28955
28956              mount /dev/vg1/lxc-cent6 /var/lib/lxc/cent6/rootfs
28957              tar czf cent6.tar.gz -C /var/lib/lxc/cent6 rootfs
28958              umount /var/lib/lxc/cent6/rootfs
28959
28960       WARNING:
28961          One caveat of using  this  method  of  container  creation  is  that
28962          /etc/hosts  is left unmodified.  This could cause confusion for some
28963          distros if salt-minion is later installed on the container,  as  the
28964          functions that determine the hostname take /etc/hosts into account.
28965
28966          Additionally,  when  creating  an  rootfs  image,  be sure to remove
28967          /etc/salt/minion_id  and  make  sure  that  id  is  not  defined  in
28968          /etc/salt/minion, as this will cause similar issues.
28969
28970   Initializing a New Container as a Salt Minion
28971       The  above  examples  illustrate a few ways to create containers on the
28972       CLI, but often it is desirable to also have the new container run as  a
28973       Minion.  To  do  this, the lxc.init function can be used. This function
28974       will do the following:
28975
28976       1. Create a new container
28977
28978       2. Optionally set password and/or DNS
28979
28980       3. Bootstrap the minion (using either salt-bootstrap or a  custom  com‐
28981          mand)
28982
28983       By  default,  the new container will be pointed at the same Salt Master
28984       as the host machine on which the container was created.  It  will  then
28985       request  to  authenticate  with  the Master like any other bootstrapped
28986       Minion, at which point it can be accepted.
28987
28988          salt myminion lxc.init test1 profile=centos
28989          salt-key -a test1
28990
28991       For even greater convenience, the LXC runner contains a runner function
28992       of  the  same  name  (lxc.init), which creates a keypair, seeds the new
28993       minion with it, and pre-accepts the key, allowing for the new Minion to
28994       be created and authorized in a single step:
28995
28996          salt-run lxc.init test1 host=myminion profile=centos
28997
28998   Running Commands Within a Container
28999       For  containers which are not running their own Minion, commands can be
29000       run within  the  container  in  a  manner  similar  to  using  (cmd.run
29001       <salt.modules.cmdmod.run).  The  means  of doing this have been changed
29002       significantly in version 2015.5.0 (though the deprecated behavior  will
29003       still  be supported for a few releases). Both the old and new usage are
29004       documented below.
29005
29006   2015.5.0 and Newer
29007       New functions have been added to mimic the behavior of the functions in
29008       the  cmd  module. Below is a table with the cmd functions and their lxc
29009       module equivalents:
29010
29011               ┌────────────────────┬────────────────┬────────────────┐
29012               │Description         │ cmd module     │ lxc module     │
29013               ├────────────────────┼────────────────┼────────────────┤
29014               │Run a  command  and │ cmd.run        lxc.run        
29015               │get all output      │                │                │
29016               ├────────────────────┼────────────────┼────────────────┤
29017               │Run  a  command and │ cmd.run_stdout lxc.run_stdout 
29018               │get just stdout     │                │                │
29019               ├────────────────────┼────────────────┼────────────────┤
29020               │Run a  command  and │ cmd.run_stderr lxc.run_stderr 
29021               │get just stderr     │                │                │
29022               ├────────────────────┼────────────────┼────────────────┤
29023               │Run  a  command and │ cmd.retcode    lxc.retcode    
29024               │get just  the  ret‐ │                │                │
29025               │code                │                │                │
29026               ├────────────────────┼────────────────┼────────────────┤
29027               │Run  a  command and │ cmd.run_all    lxc.run_all    
29028               │get all information │                │                │
29029               └────────────────────┴────────────────┴────────────────┘
29030
29031   2014.7.x and Earlier
29032       Earlier Salt releases use a single function (lxc.run_cmd) to  run  com‐
29033       mands  within  containers.  Whether  stdout,  stderr, etc. are returned
29034       depends on how the function is invoked.
29035
29036       To run a command and return the stdout:
29037
29038          salt myminion lxc.run_cmd web1 'tail /var/log/messages'
29039
29040       To run a command and return the stderr:
29041
29042          salt myminion lxc.run_cmd web1 'tail /var/log/messages' stdout=False stderr=True
29043
29044       To run a command and return the retcode:
29045
29046          salt myminion lxc.run_cmd web1 'tail /var/log/messages' stdout=False stderr=False
29047
29048       To run a command and return all information:
29049
29050          salt myminion lxc.run_cmd web1 'tail /var/log/messages' stdout=True stderr=True
29051
29052   Container Management Using salt-cloud
29053       Salt cloud uses under the hood the salt runner  and  module  to  manage
29054       containers, Please look at this chapter
29055
29056   Container Management Using States
29057       Several  states  are  being  renamed  or  otherwise modified in version
29058       2015.5.0. The information in this tutorial refers to  the  new  states.
29059       For 2014.7.x and earlier, please refer to the documentation for the LXC
29060       states.
29061
29062   Ensuring a Container Is Present
29063       To ensure the existence of  a  named  container,  use  the  lxc.present
29064       state. Here are some examples:
29065
29066          # Using a template
29067          web1:
29068            lxc.present:
29069              - template: download
29070              - options:
29071                  dist: centos
29072                  release: 6
29073                  arch: amd64
29074
29075          # Cloning
29076          web2:
29077            lxc.present:
29078              - clone_from: web-base
29079
29080          # Using a rootfs image
29081          web3:
29082            lxc.present:
29083              - image: salt://path/to/cent6.tar.gz
29084
29085          # Using profiles
29086          web4:
29087            lxc.present:
29088              - profile: centos_web
29089              - network_profile: centos
29090
29091       WARNING:
29092          The  lxc.present  state  will  not  modify an existing container (in
29093          other  words,  it  will  not  re-create  the  container).    If   an
29094          lxc.present  state is run on an existing container, there will be no
29095          change and the state will return a True result.
29096
29097       The lxc.present state also includes an optional running parameter which
29098       can  be  used  to ensure that a container is running/stopped. Note that
29099       there are standalone lxc.running and lxc.stopped states  which  can  be
29100       used for this purpose.
29101
29102   Ensuring a Container Does Not Exist
29103       To  ensure  that  a  named container is not present, use the lxc.absent
29104       state. For example:
29105
29106          web1:
29107            lxc.absent
29108
29109   Ensuring a Container is Running/Stopped/Frozen
29110       Containers can be in one of three states:
29111
29112       · running - Container is running and active
29113
29114       · frozen - Container is running, but all process are  blocked  and  the
29115         container is essentially non-active until the container is "unfrozen"
29116
29117       · stopped - Container is not running
29118
29119       Salt  has three states (lxc.running, lxc.frozen, and lxc.stopped) which
29120       can be used to ensure a container is in one of these states:
29121
29122          web1:
29123            lxc.running
29124
29125          # Restart the container if it was already running
29126          web2:
29127            lxc.running:
29128              - restart: True
29129
29130          web3:
29131            lxc.stopped
29132
29133          # Explicitly kill all tasks in container instead of gracefully stopping
29134          web4:
29135            lxc.stopped:
29136              - kill: True
29137
29138          web5:
29139            lxc.frozen
29140
29141          # If container is stopped, do not start it (in which case the state will fail)
29142          web6:
29143            lxc.frozen:
29144              - start: False
29145
29146   Remote execution tutorial
29147       Before continuing make sure you have a  working  Salt  installation  by
29148       following the installation and the configuration instructions.
29149
29150          Stuck?
29151
29152                 There  are  many  ways  to  get  help from the Salt community
29153                 including our mailing list and our IRC channel #salt.
29154
29155   Order your minions around
29156       Now that you have a master and at least one minion  communicating  with
29157       each other you can perform commands on the minion via the salt command.
29158       Salt calls are comprised of three main components:
29159
29160          salt '<target>' <function> [arguments]
29161
29162       SEE ALSO:
29163          salt manpage
29164
29165   target
29166       The target component allows you to filter which minions should run  the
29167       following  function. The default filter is a glob on the minion id. For
29168       example:
29169
29170          salt '*' test.version
29171          salt '*.example.org' test.version
29172
29173       Targets can be based on minion system information using the Grains sys‐
29174       tem:
29175
29176          salt -G 'os:Ubuntu' test.version
29177
29178       SEE ALSO:
29179          Grains system
29180
29181       Targets can be filtered by regular expression:
29182
29183          salt -E 'virtmach[0-9]' test.version
29184
29185       Targets can be explicitly specified in a list:
29186
29187          salt -L 'foo,bar,baz,quo' test.version
29188
29189       Or Multiple target types can be combined in one command:
29190
29191          salt -C 'G@os:Ubuntu and webser* or E@database.*' test.version
29192
29193   function
29194       A  function is some functionality provided by a module. Salt ships with
29195       a large collection of available functions. List all available functions
29196       on your minions:
29197
29198          salt '*' sys.doc
29199
29200       Here are some examples:
29201
29202       Show all currently available minions:
29203
29204          salt '*' test.version
29205
29206       Run an arbitrary shell command:
29207
29208          salt '*' cmd.run 'uname -a'
29209
29210       SEE ALSO:
29211          the full list of modules
29212
29213   arguments
29214       Space-delimited arguments to the function:
29215
29216          salt '*' cmd.exec_code python 'import sys; print sys.version'
29217
29218       Optional, keyword arguments are also supported:
29219
29220          salt '*' pip.install salt timeout=5 upgrade=True
29221
29222       They are always in the form of kwarg=argument.
29223
29224   Multi Master Tutorial
29225       As  of  Salt 0.16.0, the ability to connect minions to multiple masters
29226       has been made available. The multi-master system allows for  redundancy
29227       of Salt masters and facilitates multiple points of communication out to
29228       minions. When using a multi-master setup, all masters are running  hot,
29229       and any active master can be used to send commands out to the minions.
29230
29231       NOTE:
29232          If  you  need  failover capabilities with multiple masters, there is
29233          also a MultiMaster-PKI setup available, that uses a different topol‐
29234          ogy MultiMaster-PKI with Failover Tutorial
29235
29236       In  0.16.0,  the  masters do not share any information, keys need to be
29237       accepted on both masters, and shared files need to be  shared  manually
29238       or  use  tools  like  the  git  fileserver  backend  to ensure that the
29239       file_roots are kept consistent.
29240
29241       Beginning with Salt 2016.11.0, the  Pluggable  Minion  Data  Cache  was
29242       introduced.  The  minion data cache contains the Salt Mine data, minion
29243       grains, and minion pillar information cached on  the  Salt  Master.  By
29244       default,  Salt  uses  the localfs cache module, but other external data
29245       stores can be used instead.
29246
29247       Using a pluggable minion cache modules allows for the data stored on  a
29248       Salt  Master  about Salt Minions to be replicated on other Salt Masters
29249       the Minion is connected to. Please see the Minion Data Cache documenta‐
29250       tion for more information and configuration examples.
29251
29252   Summary of Steps
29253       1. Create a redundant master server
29254
29255       2. Copy primary master key to redundant master
29256
29257       3. Start redundant master
29258
29259       4. Configure minions to connect to redundant master
29260
29261       5. Restart minions
29262
29263       6. Accept keys on redundant master
29264
29265   Prepping a Redundant Master
29266       The  first  task  is  to prepare the redundant master. If the redundant
29267       master is already running, stop it. There is only one requirement  when
29268       preparing a redundant master, which is that masters share the same pri‐
29269       vate key. When the first master was created, the  master's  identifying
29270       key  pair was generated and placed in the master's pki_dir. The default
29271       location of the master's key pair is  /etc/salt/pki/master/.  Take  the
29272       private key, master.pem, and copy it to the same location on the redun‐
29273       dant master. Do the same  for  the  master's  public  key,  master.pub.
29274       Assuming  that  no minions have yet been connected to the new redundant
29275       master, it is safe to delete any existing  key  in  this  location  and
29276       replace it.
29277
29278       NOTE:
29279          There  is  no  logical limit to the number of redundant masters that
29280          can be used.
29281
29282       Once the new key is in  place,  the  redundant  master  can  be  safely
29283       started.
29284
29285   Configure Minions
29286       Since minions need to be master-aware, the new master needs to be added
29287       to the minion configurations. Simply update the  minion  configurations
29288       to list all connected masters:
29289
29290          master:
29291            - saltmaster1.example.com
29292            - saltmaster2.example.com
29293
29294       Now the minion can be safely restarted.
29295
29296       NOTE:
29297          If  the  ipc_mode for the minion is set to TCP (default in Windows),
29298          then each minion in the multi-minion setup (one  per  master)  needs
29299          its own tcp_pub_port and tcp_pull_port.
29300
29301          If  these  settings  are  left as the default 4510/4511, each minion
29302          object will receive a port 2 higher  than  the  previous.  Thus  the
29303          first  minion will get 4510/4511, the second will get 4512/4513, and
29304          so on. If these port decisions are unacceptable, you must  configure
29305          tcp_pub_port  and tcp_pull_port with lists of ports for each master.
29306          The length of these lists should match the number  of  masters,  and
29307          there should not be overlap in the lists.
29308
29309       Now the minions will check into the original master and also check into
29310       the new redundant master. Both masters are first-class and have  rights
29311       to the minions.
29312
29313       NOTE:
29314          Minions  can  automatically  detect  failed  masters  and attempt to
29315          reconnect to them quickly. To enable this  functionality,  set  mas‐
29316          ter_alive_interval in the minion config and specify a number of sec‐
29317          onds to poll the masters for connection status.
29318
29319          If this option is not set, minions will still  reconnect  to  failed
29320          masters  but the first command sent after a master comes back up may
29321          be lost while the minion authenticates.
29322
29323   Sharing Files Between Masters
29324       Salt does not automatically share files  between  multiple  masters.  A
29325       number  of  files  should be shared or sharing of these files should be
29326       strongly considered.
29327
29328   Minion Keys
29329       Minion keys can be accepted the normal way using salt-key on both  mas‐
29330       ters.   Keys  accepted,  deleted, or rejected on one master will NOT be
29331       automatically managed on redundant masters; this needs to be taken care
29332       of   by   running   salt-key   on   both   masters   or   sharing   the
29333       /etc/salt/pki/master/{minions,minions_pre,minions_rejected} directories
29334       between masters.
29335
29336       NOTE:
29337          While  sharing  the  /etc/salt/pki/master directory will work, it is
29338          strongly discouraged, since allowing access to  the  master.pem  key
29339          outside of Salt creates a SERIOUS security risk.
29340
29341   File_Roots
29342       The file_roots contents should be kept consistent between masters. Oth‐
29343       erwise state runs will  not  always  be  consistent  on  minions  since
29344       instructions managed by one master will not agree with other masters.
29345
29346       The  recommended  way to sync these is to use a fileserver backend like
29347       gitfs or to keep these files on shared storage.
29348
29349       IMPORTANT:
29350          If using gitfs/git_pillar with the cachedir shared  between  masters
29351          using GlusterFS, nfs, or another network filesystem, and the masters
29352          are running Salt 2015.5.9 or later, it is strongly  recommended  not
29353          to  turn  off  gitfs_global_lock/git_pillar_global_lock  as doing so
29354          will cause lock files to be removed if they were created by  a  dif‐
29355          ferent master.
29356
29357   Pillar_Roots
29358       Pillar roots should be given the same considerations as file_roots.
29359
29360   Master Configurations
29361       While  reasons may exist to maintain separate master configurations, it
29362       is wise to remember that each master maintains independent control over
29363       minions.   Therefore, access controls should be in sync between masters
29364       unless a valid reason otherwise exists to keep them inconsistent.
29365
29366       These access control options include but are not limited to:
29367
29368       · external_auth
29369
29370       · publisher_acl
29371
29372       · peer
29373
29374       · peer_run
29375
29376   Multi-Master-PKI Tutorial With Failover
29377       This tutorial will explain, how to run a salt-environment where a  sin‐
29378       gle  minion can have multiple masters and fail-over between them if its
29379       current master fails.
29380
29381       The individual steps are
29382
29383       · setup the master(s) to sign its auth-replies
29384
29385       · setup minion(s) to verify master-public-keys
29386
29387       · enable multiple masters on minion(s)
29388
29389       · enable master-check on  minion(s)
29390            Please note, that it is advised to  have  good  knowledge  of  the
29391            salt-  authentication and communication-process to understand this
29392            tutorial.  All of the settings described here, go on  top  of  the
29393            default authentication/communication process.
29394
29395   Motivation
29396       The  default  behaviour  of a salt-minion is to connect to a master and
29397       accept the masters public key. With each publication, the master  sends
29398       his  public-key  for  the  minion  to check and if this public-key ever
29399       changes, the minion complains and exits. Practically this  means,  that
29400       there can only be a single master at any given time.
29401
29402       Would it not be much nicer, if the minion could have any number of mas‐
29403       ters (1:n) and jump to the next  master  if  its  current  master  died
29404       because of a network or hardware failure?
29405
29406       NOTE:
29407          There  is  also a MultiMaster-Tutorial with a different approach and
29408          topology than this one, that might also suite your  needs  or  might
29409          even be better suited Multi-Master Tutorial
29410
29411       It  is  also  desirable,  to add some sort of authenticity-check to the
29412       very first public key a minion receives from a master. Currently a min‐
29413       ions takes the first masters public key for granted.
29414
29415   The Goal
29416       Setup  the  master  to  sign the public key it sends to the minions and
29417       enable the minions to verify this signature for authenticity.
29418
29419   Prepping the master to sign its public key
29420       For signing to work, both master  and  minion  must  have  the  signing
29421       and/or  verification  settings  enabled. If the master signs the public
29422       key but the minion does not verify it, the  minion  will  complain  and
29423       exit.  The  same  happens, when the master does not sign but the minion
29424       tries to verify.
29425
29426       The easiest way to have the master sign its public key is to set
29427
29428          master_sign_pubkey: True
29429
29430       After restarting the salt-master service, the master will automatically
29431       generate a new key-pair
29432
29433          master_sign.pem
29434          master_sign.pub
29435
29436       A custom name can be set for the signing key-pair by setting
29437
29438          master_sign_key_name: <name_without_suffix>
29439
29440       The master will then generate that key-pair upon restart and use it for
29441       creating the public keys signature attached to the auth-reply.
29442
29443       The computation is done for every auth-request of  a  minion.  If  many
29444       minions  auth  very often, it is advised to use conf_master:master_pub‐
29445       key_signature  and   conf_master:master_use_pubkey_signature   settings
29446       described below.
29447
29448       If  multiple masters are in use and should sign their auth-replies, the
29449       signing key-pair master_sign.* has to be copied to each master.  Other‐
29450       wise a minion will fail to verify the masters public when connecting to
29451       a different master than it did initially. That is  because  the  public
29452       keys signature was created with a different signing key-pair.
29453
29454   Prepping the minion to verify received public keys
29455       The  minion  must have the public key (and only that one!) available to
29456       be able to verify a signature it receives. That public key (defaults to
29457       master_sign.pub)  must  be  copied  from  the  master  to  the  minions
29458       pki-directory.
29459
29460          /etc/salt/pki/minion/master_sign.pub
29461
29462       IMPORTANT:
29463          DO NOT COPY THE master_sign.pem FILE. IT MUST STAY ON THE MASTER AND
29464          ONLY THERE!
29465
29466       When that is done, enable the signature checking in the minions config‐
29467       uration
29468
29469          verify_master_pubkey_sign: True
29470
29471       and restart the minion. For the first try, the minion should be run  in
29472       manual debug mode.
29473
29474          salt-minion -l debug
29475
29476       Upon connecting to the master, the following lines should appear on the
29477       output:
29478
29479          [DEBUG   ] Attempting to authenticate with the Salt Master at 172.16.0.10
29480          [DEBUG   ] Loaded minion key: /etc/salt/pki/minion/minion.pem
29481          [DEBUG   ] salt.crypt.verify_signature: Loading public key
29482          [DEBUG   ] salt.crypt.verify_signature: Verifying signature
29483          [DEBUG   ] Successfully verified signature of master public key with verification public key master_sign.pub
29484          [INFO    ] Received signed and verified master pubkey from master 172.16.0.10
29485          [DEBUG   ] Decrypting the current master AES key
29486
29487       If the signature verification fails, something went wrong and  it  will
29488       look like this
29489
29490          [DEBUG   ] Attempting to authenticate with the Salt Master at 172.16.0.10
29491          [DEBUG   ] Loaded minion key: /etc/salt/pki/minion/minion.pem
29492          [DEBUG   ] salt.crypt.verify_signature: Loading public key
29493          [DEBUG   ] salt.crypt.verify_signature: Verifying signature
29494          [DEBUG   ] Failed to verify signature of public key
29495          [CRITICAL] The Salt Master server's public key did not authenticate!
29496
29497       In a case like this, it should be checked, that the verification pubkey
29498       (master_sign.pub) on the minion is the same as the one on the master.
29499
29500       Once the verification is successful, the minion can be started in  dae‐
29501       mon mode again.
29502
29503       For  the paranoid among us, its also possible to verify the publication
29504       whenever it is received from the master.  That  is,  for  every  single
29505       auth-attempt which can be quite frequent. For example just the start of
29506       the minion will force the signature to be checked 6 times  for  various
29507       things like auth, mine, highstate, etc.
29508
29509       If that is desired, enable the setting
29510
29511          always_verify_signature: True
29512
29513   Multiple Masters For A Minion
29514       Configuring multiple masters on a minion is done by specifying two set‐
29515       tings:
29516
29517       · a list of masters addresses
29518
29519       · what type of master is defined
29520
29521          master:
29522              - 172.16.0.10
29523              - 172.16.0.11
29524              - 172.16.0.12
29525
29526          master_type: failover
29527
29528       This tells the minion that all the master above are available for it to
29529       connect  to. When started with this configuration, it will try the mas‐
29530       ter in the order they are defined. To randomize that order, set
29531
29532          master_shuffle: True
29533
29534       The master-list will then  be  shuffled  before  the  first  connection
29535       attempt.
29536
29537       The first master that accepts the minion, is used by the minion. If the
29538       master does not yet know the minion, that counts as  accepted  and  the
29539       minion stays on that master.
29540
29541       For  the minion to be able to detect if its still connected to its cur‐
29542       rent master enable the check for it
29543
29544          master_alive_interval: <seconds>
29545
29546       If the loss of the connection is detected, the minion will  temporarily
29547       remove the failed master from the list and try one of the other masters
29548       defined (again shuffled if that is enabled).
29549
29550   Testing the setup
29551       At least two running masters are needed to test the failover setup.
29552
29553       Both masters should be running and the minion should be running on  the
29554       command line in debug mode
29555
29556          salt-minion -l debug
29557
29558       The minion will connect to the first master from its master list
29559
29560          [DEBUG   ] Attempting to authenticate with the Salt Master at 172.16.0.10
29561          [DEBUG   ] Loaded minion key: /etc/salt/pki/minion/minion.pem
29562          [DEBUG   ] salt.crypt.verify_signature: Loading public key
29563          [DEBUG   ] salt.crypt.verify_signature: Verifying signature
29564          [DEBUG   ] Successfully verified signature of master public key with verification public key master_sign.pub
29565          [INFO    ] Received signed and verified master pubkey from master 172.16.0.10
29566          [DEBUG   ] Decrypting the current master AES key
29567
29568       A  test.version  on  the  master  the  minion is currently connected to
29569       should be run to test connectivity.
29570
29571       If successful, that master should be turned off. A firewall-rule  deny‐
29572       ing the minions packets will also do the trick.
29573
29574       Depending on the configured conf_minion:master_alive_interval, the min‐
29575       ion will notice the loss of the connection and log it to its logfile.
29576
29577          [INFO    ] Connection to master 172.16.0.10 lost
29578          [INFO    ] Trying to tune in to next master from master-list
29579
29580       The minion will then remove the current master from the  list  and  try
29581       connecting to the next master
29582
29583          [INFO    ] Removing possibly failed master 172.16.0.10 from list of masters
29584          [WARNING ] Master ip address changed from 172.16.0.10 to 172.16.0.11
29585          [DEBUG   ] Attempting to authenticate with the Salt Master at 172.16.0.11
29586
29587       If  everything is configured correctly, the new masters public key will
29588       be verified successfully
29589
29590          [DEBUG   ] Loaded minion key: /etc/salt/pki/minion/minion.pem
29591          [DEBUG   ] salt.crypt.verify_signature: Loading public key
29592          [DEBUG   ] salt.crypt.verify_signature: Verifying signature
29593          [DEBUG   ] Successfully verified signature of master public key with verification public key master_sign.pub
29594
29595       the authentication with the new master is successful
29596
29597          [INFO    ] Received signed and verified master pubkey from master 172.16.0.11
29598          [DEBUG   ] Decrypting the current master AES key
29599          [DEBUG   ] Loaded minion key: /etc/salt/pki/minion/minion.pem
29600          [INFO    ] Authentication with master successful!
29601
29602       and the minion can be pinged again from its new master.
29603
29604   Performance Tuning
29605       With the setup described above, the master  computes  a  signature  for
29606       every   auth-request   of   a   minion.  With  many  minions  and  many
29607       auth-requests, that can chew up quite a bit of CPU-Power.
29608
29609       To avoid that, the master can use a pre-created signature of  its  pub‐
29610       lic-key.   The  signature is saved as a base64 encoded string which the
29611       master reads once when  starting  and  attaches  only  that  string  to
29612       auth-replies.
29613
29614       Enabling  this  also  gives paranoid users the possibility, to have the
29615       signing key-pair on a different system than the actual salt-master  and
29616       create  the public keys signature there. Probably on a system with more
29617       restrictive firewall rules, without internet access, less users, etc.
29618
29619       That signature can be created with
29620
29621          salt-key --gen-signature
29622
29623       This will create a default signature file in the master pki-directory
29624
29625          /etc/salt/pki/master/master_pubkey_signature
29626
29627       It is a simple text-file with the binary-signature converted to base64.
29628
29629       If no signing-pair is present yet, this will  auto-create  the  signing
29630       pair and the signature file in one call
29631
29632          salt-key --gen-signature --auto-create
29633
29634       Telling the master to use the pre-created signature is done with
29635
29636          master_use_pubkey_signature: True
29637
29638       That  requires  the file 'master_pubkey_signature' to be present in the
29639       masters pki-directory with the correct signature.
29640
29641       If the signature file is named differently, its name can be set with
29642
29643          master_pubkey_signature: <filename>
29644
29645       With many masters and many public-keys (default  and  signing),  it  is
29646       advised  to use the salt-masters hostname for the signature-files name.
29647       Signatures can be easily confused  because  they  do  not  provide  any
29648       information about the key the signature was created from.
29649
29650       Verifying that everything works is done the same way as above.
29651
29652   How the signing and verification works
29653       The default key-pair of the salt-master is
29654
29655          /etc/salt/pki/master/master.pem
29656          /etc/salt/pki/master/master.pub
29657
29658       To  be  able  to  create  a signature of a message (in this case a pub‐
29659       lic-key), another key-pair has to be added to the  setup.  Its  default
29660       name is:
29661
29662          master_sign.pem
29663          master_sign.pub
29664
29665       The  combination  of  the master.* and master_sign.* key-pairs give the
29666       possibility of generating signatures. The signature of a given  message
29667       is  unique  and  can  be  verified,  if  the  public-key  of  the sign‐
29668       ing-key-pair is available to the recipient (the minion).
29669
29670       The signature of the masters public-key in master.pub is computed with
29671
29672          master_sign.pem
29673          master.pub
29674          M2Crypto.EVP.sign_update()
29675
29676       This results in a binary signature which is  converted  to  base64  and
29677       attached to the auth-reply send to the minion.
29678
29679       With the signing-pairs public-key available to the minion, the attached
29680       signature can be verified with
29681
29682          master_sign.pub
29683          master.pub
29684          M2Cryptos EVP.verify_update().
29685
29686       When running multiple masters, either the signing key-pair  has  to  be
29687       present  on  all  of  them,  or  the  master_pubkey_signature has to be
29688       pre-computed for each master individually (because they all  have  dif‐
29689       ferent public-keys).
29690          DO NOT PUT THE SAME master.pub ON ALL MASTERS FOR EASE OF USE.
29691
29692   Packaging External Modules for Salt
29693   External Modules Setuptools Entry-Points Support
29694       The salt loader was enhanced to look for external modules by looking at
29695       the salt.loader entry-point:
29696          https://setuptools.readthedocs.io/en/latest/pkg_resources.html#entry-points
29697
29698       pkg_resources should be installed, which is normally included in setup‐
29699       tools.
29700          https://setuptools.readthedocs.io/en/latest/pkg_resources.html
29701
29702       The package which has custom engines, minion modules, outputters,  etc,
29703       should  require setuptools and should define the following entry points
29704       in its setup function:
29705
29706          from setuptools import setup, find_packages
29707
29708          setup(name=<NAME>,
29709                version=<VERSION>,
29710                description=<DESC>,
29711                author=<AUTHOR>,
29712                author_email=<AUTHOR-EMAIL>,
29713                url=' ... ',
29714                packages=find_packages(),
29715                entry_points='''
29716                  [salt.loader]
29717                  engines_dirs = <package>.<loader-module>:engines_dirs
29718                  fileserver_dirs = <package>.<loader-module>:fileserver_dirs
29719                  pillar_dirs = <package>.<loader-module>:pillar_dirs
29720                  returner_dirs = <package>.<loader-module>:returner_dirs
29721                  roster_dirs = <package>.<loader-module>:roster_dirs
29722                ''')
29723
29724       The above setup script example mentions  a  loader  module.  here's  an
29725       example of how <package>/<loader-module>.py it should look:
29726
29727          # -*- coding: utf-8 -*-
29728
29729          # Import python libs
29730          import os
29731
29732          PKG_DIR = os.path.abspath(os.path.dirname(__file__))
29733
29734
29735          def engines_dirs():
29736              '''
29737              yield one path per parent directory of where engines can be found
29738              '''
29739              yield os.path.join(PKG_DIR, 'engines_1')
29740              yield os.path.join(PKG_DIR, 'engines_2')
29741
29742
29743          def fileserver_dirs():
29744              '''
29745              yield one path per parent directory of where fileserver modules can be found
29746              '''
29747              yield os.path.join(PKG_DIR, 'fileserver')
29748
29749
29750          def pillar_dirs():
29751              '''
29752              yield one path per parent directory of where external pillar modules can be found
29753              '''
29754              yield os.path.join(PKG_DIR, 'pillar')
29755
29756
29757          def returner_dirs():
29758              '''
29759              yield one path per parent directory of where returner modules can be found
29760              '''
29761              yield os.path.join(PKG_DIR, 'returners')
29762
29763
29764          def roster_dirs():
29765              '''
29766              yield one path per parent directory of where roster modules can be found
29767              '''
29768              yield os.path.join(PKG_DIR, 'roster')
29769
29770   How Do I Use Salt States?
29771       Simplicity, Simplicity, Simplicity
29772
29773       Many  of the most powerful and useful engineering solutions are founded
29774       on simple principles. Salt States strive  to  do  just  that:  K.I.S.S.
29775       (Keep It Stupidly Simple)
29776
29777       The  core  of the Salt State system is the SLS, or SaLt State file. The
29778       SLS is a representation of the state in which a system  should  be  in,
29779       and  is  set up to contain this data in a simple format.  This is often
29780       called configuration management.
29781
29782       NOTE:
29783          This is just the beginning of using states, make sure to read up  on
29784          pillar Pillar next.
29785
29786   It is All Just Data
29787       Before  delving  into  the particulars, it will help to understand that
29788       the SLS file is just a data structure under the hood. While understand‐
29789       ing  that  the  SLS  is just a data structure isn't critical for under‐
29790       standing and making use of Salt States, it should help  bolster  knowl‐
29791       edge of where the real power is.
29792
29793       SLS files are therefore, in reality, just dictionaries, lists, strings,
29794       and numbers.  By using this approach Salt can be much more flexible. As
29795       one  writes  more state files, it becomes clearer exactly what is being
29796       written. The result is a system that is easy to understand,  yet  grows
29797       with the needs of the admin or developer.
29798
29799   The Top File
29800       The  example  SLS  files in the below sections can be assigned to hosts
29801       using a file called top.sls. This file is described in-depth here.
29802
29803   Default Data - YAML
29804       By default Salt represents the SLS data in what is one of the  simplest
29805       serialization formats available - YAML.
29806
29807       A typical SLS file will often look like this in YAML:
29808
29809       NOTE:
29810          These  demos  use  some generic service and package names, different
29811          distributions often use different names for packages  and  services.
29812          For  instance apache should be replaced with httpd on a Red Hat sys‐
29813          tem.  Salt uses the name of the init script, systemd  name,  upstart
29814          name  etc.   based on what the underlying service management for the
29815          platform. To get a list of the available service names on a platform
29816          execute the service.get_all salt function.
29817
29818          Information  on  how to make states work with multiple distributions
29819          is later in the tutorial.
29820
29821          apache:
29822            pkg.installed: []
29823            service.running:
29824              - require:
29825                - pkg: apache
29826
29827       This SLS data will ensure that the package named apache  is  installed,
29828       and that the apache service is running. The components can be explained
29829       in a simple way.
29830
29831       The first line is the ID for a set of data, and it  is  called  the  ID
29832       Declaration. This ID sets the name of the thing that needs to be manip‐
29833       ulated.
29834
29835       The second and third lines contain the state module function to be run,
29836       in the format <state_module>.<function>. The pkg.installed state module
29837       function ensures that a software package is installed via the  system's
29838       native  package  manager.  The  service.running  state  module function
29839       ensures that a given system daemon is running.
29840
29841       Finally, on line five, is the word require. This is called a  Requisite
29842       Statement,  and  it  makes sure that the Apache service is only started
29843       after a successful installation of the apache package.
29844
29845   Adding Configs and Users
29846       When setting up a service like an Apache web server, many  more  compo‐
29847       nents  may  need  to  be added. The Apache configuration file will most
29848       likely be managed, and a user and group may need to be set up.
29849
29850          apache:
29851            pkg.installed: []
29852            service.running:
29853              - watch:
29854                - pkg: apache
29855                - file: /etc/httpd/conf/httpd.conf
29856                - user: apache
29857            user.present:
29858              - uid: 87
29859              - gid: 87
29860              - home: /var/www/html
29861              - shell: /bin/nologin
29862              - require:
29863                - group: apache
29864            group.present:
29865              - gid: 87
29866              - require:
29867                - pkg: apache
29868
29869          /etc/httpd/conf/httpd.conf:
29870            file.managed:
29871              - source: salt://apache/httpd.conf
29872              - user: root
29873              - group: root
29874              - mode: 644
29875
29876       This SLS data greatly extends the first example, and includes a  config
29877       file, a user, a group and new requisite statement: watch.
29878
29879       Adding  more  states  is  easy, since the new user and group states are
29880       under the Apache ID, the user and group will be  the  Apache  user  and
29881       group. The require statements will make sure that the user will only be
29882       made after the group, and that the group will be made  only  after  the
29883       Apache package is installed.
29884
29885       Next,  the require statement under service was changed to watch, and is
29886       now watching 3 states instead of just one. The watch statement does the
29887       same  thing  as  require,  making sure that the other states run before
29888       running the state with a watch, but it adds  an  extra  component.  The
29889       watch  statement  will run the state's watcher function for any changes
29890       to the watched states.  So if the package was updated, the config  file
29891       changed,  or  the  user  uid modified, then the service state's watcher
29892       will be run. The service state's watcher just restarts the service,  so
29893       in  this  case, a change in the config file will also trigger a restart
29894       of the respective service.
29895
29896   Moving Beyond a Single SLS
29897       When setting up Salt States in a scalable manner,  more  than  one  SLS
29898       will need to be used. The above examples were in a single SLS file, but
29899       two or more SLS files can be combined to build out a  State  Tree.  The
29900       above   example  also  references  a  file  with  a  strange  source  -
29901       salt://apache/httpd.conf. That file will need to be available as well.
29902
29903       The SLS files are laid out in a directory structure on the Salt master;
29904       an SLS is just a file and files to download are just files.
29905
29906       The  Apache  example  would  be  laid  out in the root of the Salt file
29907       server like this:
29908
29909          apache/init.sls
29910          apache/httpd.conf
29911
29912       So the httpd.conf is just a file in the apache directory, and is refer‐
29913       enced directly.
29914
29915          Do not use dots in SLS file names or their directories
29916
29917                 The initial implementation of top.sls and include-declaration
29918                 followed the python import model where a slash is represented
29919                 as a period.  This means that a SLS file with a period in the
29920                 name ( besides the suffix period) can not be referenced.  For
29921                 example,  webserver_1.0.sls is not referenceable because web‐
29922                 server_1.0   would   refer   to   the   directory/file   web‐
29923                 server_1/0.sls
29924
29925                 The  same  applies for any subdirectories, this is especially
29926                 'tricky' when git repos are created.   Another  command  that
29927                 typically  can't  render it's output is `state.show_sls` of a
29928                 file in a path that contains a dot.
29929
29930       But when using more than one single SLS file, more  components  can  be
29931       added to the toolkit. Consider this SSH example:
29932
29933       ssh/init.sls:
29934
29935          openssh-client:
29936            pkg.installed
29937
29938          /etc/ssh/ssh_config:
29939            file.managed:
29940              - user: root
29941              - group: root
29942              - mode: 644
29943              - source: salt://ssh/ssh_config
29944              - require:
29945                - pkg: openssh-client
29946
29947       ssh/server.sls:
29948
29949          include:
29950            - ssh
29951
29952          openssh-server:
29953            pkg.installed
29954
29955          sshd:
29956            service.running:
29957              - require:
29958                - pkg: openssh-client
29959                - pkg: openssh-server
29960                - file: /etc/ssh/banner
29961                - file: /etc/ssh/sshd_config
29962
29963          /etc/ssh/sshd_config:
29964            file.managed:
29965              - user: root
29966              - group: root
29967              - mode: 644
29968              - source: salt://ssh/sshd_config
29969              - require:
29970                - pkg: openssh-server
29971
29972          /etc/ssh/banner:
29973            file:
29974              - managed
29975              - user: root
29976              - group: root
29977              - mode: 644
29978              - source: salt://ssh/banner
29979              - require:
29980                - pkg: openssh-server
29981
29982       NOTE:
29983          Notice  that we use two similar ways of denoting that a file is man‐
29984          aged by Salt. In the /etc/ssh/sshd_config state  section  above,  we
29985          use   the   file.managed   state   declaration   whereas   with  the
29986          /etc/ssh/banner state section, we use the file state declaration and
29987          add a managed attribute to that state declaration. Both ways produce
29988          an identical result; the first  way  --  using  file.managed  --  is
29989          merely a shortcut.
29990
29991       Now our State Tree looks like this:
29992
29993          apache/init.sls
29994          apache/httpd.conf
29995          ssh/init.sls
29996          ssh/server.sls
29997          ssh/banner
29998          ssh/ssh_config
29999          ssh/sshd_config
30000
30001       This  example  now introduces the include statement. The include state‐
30002       ment includes another SLS file so that components found in  it  can  be
30003       required, watched or as will soon be demonstrated - extended.
30004
30005       The include statement allows for states to be cross linked. When an SLS
30006       has an include statement it is literally extended to include  the  con‐
30007       tents of the included SLS files.
30008
30009       Note  that  some of the SLS files are called init.sls, while others are
30010       not. More info on what this means can be found in the States Tutorial.
30011
30012   Extending Included SLS Data
30013       Sometimes SLS data needs to be extended.  Perhaps  the  apache  service
30014       needs  to  watch additional resources, or under certain circumstances a
30015       different file needs to be placed.
30016
30017       In these examples, the first will add a custom banner to  ssh  and  the
30018       second will add more watchers to apache to include mod_python.
30019
30020       ssh/custom-server.sls:
30021
30022          include:
30023            - ssh.server
30024
30025          extend:
30026            /etc/ssh/banner:
30027              file:
30028                - source: salt://ssh/custom-banner
30029
30030       python/mod_python.sls:
30031
30032          include:
30033            - apache
30034
30035          extend:
30036            apache:
30037              service:
30038                - watch:
30039                  - pkg: mod_python
30040
30041          mod_python:
30042            pkg.installed
30043
30044       The custom-server.sls file uses the extend statement to overwrite where
30045       the banner is being downloaded from, and therefore changing  what  file
30046       is being used to configure the banner.
30047
30048       In  the  new  mod_python  SLS the mod_python package is added, but more
30049       importantly  the  apache  service  was  extended  to  also  watch   the
30050       mod_python package.
30051
30052          Using extend with require or watch
30053
30054                 The  extend statement works differently for require or watch.
30055                 It appends to, rather than replacing the requisite component.
30056
30057   Understanding the Render System
30058       Since SLS data is simply that (data), it does not  need  to  be  repre‐
30059       sented with YAML. Salt defaults to YAML because it is very straightfor‐
30060       ward and easy to learn and use. But the SLS files can be rendered  from
30061       almost any imaginable medium, so long as a renderer module is provided.
30062
30063       The default rendering system is the jinja|yaml renderer. The jinja|yaml
30064       renderer will first pass the template  through  the  Jinja2  templating
30065       system, and then through the YAML parser. The benefit here is that full
30066       programming constructs are available when creating SLS files.
30067
30068       Other renderers available are yaml_mako and yaml_wempy which  each  use
30069       the  Mako or Wempy templating system respectively rather than the jinja
30070       templating system, and more notably, the pure Python  or  py,  pydsl  &
30071       pyobjects  renderers.  The py renderer allows for SLS files to be writ‐
30072       ten in pure Python, allowing for the utmost level  of  flexibility  and
30073       power  when  preparing  SLS  data;  while the pydsl renderer provides a
30074       flexible, domain-specific language for authoring SLS  data  in  Python;
30075       and the pyobjects renderer gives you a "Pythonic" interface to building
30076       state data.
30077
30078       NOTE:
30079          The templating engines described above aren't just available in  SLS
30080          files.   They  can  also be used in file.managed states, making file
30081          management much more dynamic and flexible. Some examples  for  using
30082          templates in managed files can be found in the documentation for the
30083          file state, as well as the MooseFS example below.
30084
30085   Getting to Know the Default - jinja|yaml
30086       The default renderer - jinja|yaml, allows for use of the jinja templat‐
30087       ing  system.  A guide to the Jinja templating system can be found here:
30088       http://jinja.pocoo.org/docs
30089
30090       When working with renderers a few very useful bits of data  are  passed
30091       in.  In  the  case of templating engine based renderers, three critical
30092       components are available, salt, grains, and  pillar.  The  salt  object
30093       allows for any Salt function to be called from within the template, and
30094       grains allows for the Grains to be accessed from within the template. A
30095       few examples:
30096
30097       apache/init.sls:
30098
30099          apache:
30100            pkg.installed:
30101              {% if grains['os'] == 'RedHat'%}
30102              - name: httpd
30103              {% endif %}
30104            service.running:
30105              {% if grains['os'] == 'RedHat'%}
30106              - name: httpd
30107              {% endif %}
30108              - watch:
30109                - pkg: apache
30110                - file: /etc/httpd/conf/httpd.conf
30111                - user: apache
30112            user.present:
30113              - uid: 87
30114              - gid: 87
30115              - home: /var/www/html
30116              - shell: /bin/nologin
30117              - require:
30118                - group: apache
30119            group.present:
30120              - gid: 87
30121              - require:
30122                - pkg: apache
30123
30124          /etc/httpd/conf/httpd.conf:
30125            file.managed:
30126              - source: salt://apache/httpd.conf
30127              - user: root
30128              - group: root
30129              - mode: 644
30130
30131       This  example is simple. If the os grain states that the operating sys‐
30132       tem is Red Hat, then the name of the Apache package and  service  needs
30133       to be httpd.
30134
30135       A  more  aggressive  way to use Jinja can be found here, in a module to
30136       set up a MooseFS distributed filesystem chunkserver:
30137
30138       moosefs/chunk.sls:
30139
30140          include:
30141            - moosefs
30142
30143          {% for mnt in salt['cmd.run']('ls /dev/data/moose*').split() %}
30144          /mnt/moose{{ mnt[-1] }}:
30145            mount.mounted:
30146              - device: {{ mnt }}
30147              - fstype: xfs
30148              - mkmnt: True
30149            file.directory:
30150              - user: mfs
30151              - group: mfs
30152              - require:
30153                - user: mfs
30154                - group: mfs
30155          {% endfor %}
30156
30157          /etc/mfshdd.cfg:
30158            file.managed:
30159              - source: salt://moosefs/mfshdd.cfg
30160              - user: root
30161              - group: root
30162              - mode: 644
30163              - template: jinja
30164              - require:
30165                - pkg: mfs-chunkserver
30166
30167          /etc/mfschunkserver.cfg:
30168            file.managed:
30169              - source: salt://moosefs/mfschunkserver.cfg
30170              - user: root
30171              - group: root
30172              - mode: 644
30173              - template: jinja
30174              - require:
30175                - pkg: mfs-chunkserver
30176
30177          mfs-chunkserver:
30178            pkg.installed: []
30179          mfschunkserver:
30180            service.running:
30181              - require:
30182          {% for mnt in salt['cmd.run']('ls /dev/data/moose*') %}
30183                - mount: /mnt/moose{{ mnt[-1] }}
30184                - file: /mnt/moose{{ mnt[-1] }}
30185          {% endfor %}
30186                - file: /etc/mfschunkserver.cfg
30187                - file: /etc/mfshdd.cfg
30188                - file: /var/lib/mfs
30189
30190       This example shows much more of the available power of Jinja.  Multiple
30191       for  loops are used to dynamically detect available hard drives and set
30192       them up to be mounted, and the salt object is used  multiple  times  to
30193       call shell commands to gather data.
30194
30195   Introducing the Python, PyDSL, and the Pyobjects Renderers
30196       Sometimes  the  chosen  default  renderer might not have enough logical
30197       power to accomplish the needed task. When this happens, the Python ren‐
30198       derer  can  be  used.  Normally  a YAML renderer should be used for the
30199       majority of SLS files, but an SLS file set to use another renderer  can
30200       be easily added to the tree.
30201
30202       This example shows a very basic Python SLS file:
30203
30204       python/django.sls:
30205
30206          #!py
30207
30208          def run():
30209              '''
30210              Install the django package
30211              '''
30212              return {'include': ['python'],
30213                      'django': {'pkg': ['installed']}}
30214
30215       This  is  a very simple example; the first line has an SLS shebang that
30216       tells Salt to not use the default renderer, but to use the py renderer.
30217       Then  the  run function is defined, the return value from the run func‐
30218       tion must be a Salt friendly data structure, or better known as a  Salt
30219       HighState data structure.
30220
30221       Alternatively, using the pydsl renderer, the above example can be writ‐
30222       ten more succinctly as:
30223
30224          #!pydsl
30225
30226          include('python', delayed=True)
30227          state('django').pkg.installed()
30228
30229       The pyobjects renderer provides an "Pythonic" object based approach for
30230       building the state data.  The above example could be written as:
30231
30232          #!pyobjects
30233
30234          include('python')
30235          Pkg.installed("django")
30236
30237       These  Python  examples  would  look  like this if they were written in
30238       YAML:
30239
30240          include:
30241            - python
30242
30243          django:
30244            pkg.installed
30245
30246       This example clearly illustrates that; one, using the YAML renderer  by
30247       default  is  a  wise  decision and two, unbridled power can be obtained
30248       where needed by using a pure Python SLS.
30249
30250   Running and Debugging Salt States
30251       Once the rules in an SLS are ready, they should  be  tested  to  ensure
30252       they  work  properly.  To  invoke  these rules, simply execute salt '*'
30253       state.apply on the command line. If you get back only hostnames with  a
30254       : after, but no return, chances are there is a problem with one or more
30255       of the sls files. On the minion, use the salt-call command  to  examine
30256       the output for errors:
30257
30258          salt-call state.apply -l debug
30259
30260       This should help troubleshoot the issue. The minion can also be started
30261       in the foreground in debug mode by running salt-minion -l debug.
30262
30263   Next Reading
30264       With an understanding of states, the next recommendation is  to  become
30265       familiar with Salt's pillar interface:
30266          Pillar Walkthrough
30267
30268   States tutorial, part 1 - Basic Usage
30269       The purpose of this tutorial is to demonstrate how quickly you can con‐
30270       figure a system to be managed by Salt States. For detailed  information
30271       about the state system please refer to the full states reference.
30272
30273       This tutorial will walk you through using Salt to configure a minion to
30274       run the Apache HTTP server and to ensure the server is running.
30275
30276       Before continuing make sure you have a  working  Salt  installation  by
30277       following the installation and the configuration instructions.
30278
30279          Stuck?
30280
30281                 There  are  many  ways  to  get  help from the Salt community
30282                 including our mailing list and our IRC channel #salt.
30283
30284   Setting up the Salt State Tree
30285       States are stored in text files on the master and  transferred  to  the
30286       minions on demand via the master's File Server. The collection of state
30287       files make up the State Tree.
30288
30289       To start using a central state system in Salt,  the  Salt  File  Server
30290       must  first  be  set  up.  Edit the master config file (file_roots) and
30291       uncomment the following lines:
30292
30293          file_roots:
30294            base:
30295              - /srv/salt
30296
30297       NOTE:
30298          If you are deploying on  FreeBSD  via  ports,  the  file_roots  path
30299          defaults to /usr/local/etc/salt/states.
30300
30301       Restart the Salt master in order to pick up this change:
30302
30303          pkill salt-master
30304          salt-master -d
30305
30306   Preparing the Top File
30307       On  the  master,  in  the  directory  uncommented in the previous step,
30308       (/srv/salt by default), create a new file called top.sls  and  add  the
30309       following:
30310
30311          base:
30312            '*':
30313              - webserver
30314
30315       The  top  file  is  separated  into environments (discussed later). The
30316       default environment is base. Under the base environment a collection of
30317       minion matches is defined; for now simply specify all hosts (*).
30318
30319          Targeting minions
30320
30321                 The  expressions can use any of the targeting mechanisms used
30322                 by Salt — minions  can  be  matched  by  glob,  PCRE  regular
30323                 expression, or by grains. For example:
30324
30325              base:
30326                'os:Fedora':
30327                  - match: grain
30328                  - webserver
30329
30330   Create an sls file
30331       In  the  same  directory  as  the  top  file,  create a file named web‐
30332       server.sls, containing the following:
30333
30334          apache:                 # ID declaration
30335            pkg:                  # state declaration
30336              - installed         # function declaration
30337
30338       The first line, called the id-declaration, is an arbitrary  identifier.
30339       In this case it defines the name of the package to be installed.
30340
30341       NOTE:
30342          The  package name for the Apache httpd web server may differ depend‐
30343          ing on OS or distro — for example, on Fedora  it  is  httpd  but  on
30344          Debian/Ubuntu it is apache2.
30345
30346       The  second  line,  called  the state-declaration, defines which of the
30347       Salt States we are using. In this example, we are using the  pkg  state
30348       to ensure that a given package is installed.
30349
30350       The third line, called the function-declaration, defines which function
30351       in the pkg state module to call.
30352
30353          Renderers
30354
30355                 States sls  files  can  be  written  in  many  formats.  Salt
30356                 requires  only  a  simple data structure and is not concerned
30357                 with how that data structure is built.  Templating  languages
30358                 and DSLs are a dime-a-dozen and everyone has a favorite.
30359
30360                 Building  the expected data structure is the job of Salt ren‐
30361                 derers and they are dead-simple to write.
30362
30363                 In this tutorial we will be using YAML in  Jinja2  templates,
30364                 which  is  the  default format. The default can be changed by
30365                 editing renderer in the master configuration file.
30366
30367   Install the package
30368       Next, let's run the state we created. Open a terminal on the master and
30369       run:
30370
30371          salt '*' state.apply
30372
30373       Our master is instructing all targeted minions to run state.apply. When
30374       this function is executed without any SLS targets, a minion will  down‐
30375       load  the top file and attempt to match the expressions within it. When
30376       the minion does match an expression the modules listed for it  will  be
30377       downloaded, compiled, and executed.
30378
30379       NOTE:
30380          This  action  is  referred to as a "highstate", and can be run using
30381          the state.highstate function.  However, to make the usage easier  to
30382          understand  ("highstate"  is  not  necessarily an intuitive name), a
30383          state.apply function was  added  in  version  2015.5.0,  which  when
30384          invoked without any SLS names will trigger a highstate.  state.high‐
30385          state still exists and can be used, but the documentation (as can be
30386          seen  above)  has been updated to reference state.apply, so keep the
30387          following in mind as you read the documentation:
30388
30389          · state.apply invoked without any SLS names will run state.highstate
30390
30391          · state.apply invoked with SLS names will run state.sls
30392
30393       Once completed, the minion will report  back  with  a  summary  of  all
30394       actions taken and all changes made.
30395
30396       WARNING:
30397          If you have created custom grain modules, they will not be available
30398          in the top file until after the  first  highstate.  To  make  custom
30399          grains available on a minion's first highstate, it is recommended to
30400          use this example to ensure that the custom grains  are  synced  when
30401          the minion starts.
30402
30403          SLS File Namespace
30404
30405                 Note  that  in  the example above, the SLS file webserver.sls
30406                 was referred to simply as webserver. The  namespace  for  SLS
30407                 files  when  referenced  in top.sls or an include-declaration
30408                 follows a few simple rules:
30409
30410          1. The .sls is discarded (i.e. webserver.sls becomes webserver).
30411
30412          2.
30413
30414             Subdirectories can be used for better organization.
30415
30416                    a. Each subdirectory is represented with a dot  (following
30417                       the Python import model) in Salt states and on the com‐
30418                       mand line .  webserver/dev.sls  on  the  filesystem  is
30419                       referred to as webserver.dev in Salt
30420
30421                    b. Because  slashes are represented as dots, SLS files can
30422                       not contain dots in the name (other than  the  dot  for
30423                       the  SLS  suffix).   The SLS file webserver_1.0.sls can
30424                       not be  matched,  and  webserver_1.0  would  match  the
30425                       directory/file webserver_1/0.sls
30426
30427          3. A  file  called  init.sls in a subdirectory is referred to by the
30428             path of the directory. So, webserver/init.sls is referred  to  as
30429             webserver.
30430
30431          4. If  both  webserver.sls  and  webserver/init.sls happen to exist,
30432             webserver/init.sls will be ignored and webserver.sls will be  the
30433             file referred to as webserver.
30434
30435          Troubleshooting Salt
30436
30437                 If  the  expected  output  isn't seen, the following tips can
30438                 help to narrow down the problem.
30439
30440          Turn up logging
30441                 Salt can be quite chatty when you change the logging  setting
30442                 to debug:
30443
30444                     salt-minion -l debug
30445
30446          Run the minion in the foreground
30447                 By  not  starting the minion in daemon mode (-d) one can view
30448                 any output from the minion as it works:
30449
30450                     salt-minion
30451
30452          Increase the default timeout value when running salt.  For  example,
30453          to change the default timeout to 60 seconds:
30454
30455              salt -t 60
30456
30457          For best results, combine all three:
30458
30459              salt-minion -l debug        # On the minion
30460              salt '*' state.apply -t 60  # On the master
30461
30462   Next steps
30463       This  tutorial  focused  on  getting a simple Salt States configuration
30464       working.  Part 2 will build on this example to cover more advanced  sls
30465       syntax and will explore more of the states that ship with Salt.
30466
30467   States tutorial, part 2 - More Complex States, Requisites
30468       NOTE:
30469          This  tutorial builds on topics covered in part 1. It is recommended
30470          that you begin there.
30471
30472       In the last part of the Salt States tutorial we covered the  basics  of
30473       installing a package. We will now modify our webserver.sls file to have
30474       requirements, and use even more Salt States.
30475
30476   Call multiple States
30477       You can specify multiple state-declaration under an id-declaration. For
30478       example, a quick modification to our webserver.sls to also start Apache
30479       if it is not running:
30480
30481          apache:
30482            pkg.installed: []
30483            service.running:
30484              - require:
30485                - pkg: apache
30486
30487       Try stopping Apache before running state.apply once again  and  observe
30488       the output.
30489
30490       NOTE:
30491          For  those running RedhatOS derivatives (Centos, AWS), you will want
30492          to specify the service name to be httpd. More on state service here,
30493          service  state.   With  the  example above, just add "- name: httpd"
30494          above the require line and with the same spacing.
30495
30496   Require other states
30497       We now have a working installation of Apache so let's add an HTML  file
30498       to  customize  our  website.  It isn't exactly useful to have a website
30499       without a webserver so we don't want Salt  to  install  our  HTML  file
30500       until  Apache  is  installed  and running. Include the following at the
30501       bottom of your webserver/init.sls file:
30502
30503          apache:
30504            pkg.installed: []
30505            service.running:
30506              - require:
30507                - pkg: apache
30508
30509          /var/www/index.html:                        # ID declaration
30510            file:                                     # state declaration
30511              - managed                               # function
30512              - source: salt://webserver/index.html   # function arg
30513              - require:                              # requisite declaration
30514                - pkg: apache                         # requisite reference
30515
30516       line 7 is the id-declaration. In this example it  is  the  location  we
30517       want  to install our custom HTML file. (Note: the default location that
30518       Apache serves may differ from the above on your OS or distro.  /srv/www
30519       could also be a likely place to look.)
30520
30521       Line 8 the state-declaration. This example uses the Salt file state.
30522
30523       Line  9 is the function-declaration. The managed function will download
30524       a file from the master and install it in the location specified.
30525
30526       Line 10 is a function-arg-declaration which, in  this  example,  passes
30527       the source argument to the managed function.
30528
30529       Line 11 is a requisite-declaration.
30530
30531       Line 12 is a requisite-reference which refers to a state and an ID.  In
30532       this example, it is referring to the ID declaration from our example in
30533       part  1. This declaration tells Salt not to install the HTML file until
30534       Apache is installed.
30535
30536       Next, create the index.html file and save it in  the  webserver  direc‐
30537       tory:
30538
30539          <!DOCTYPE html>
30540          <html>
30541              <head><title>Salt rocks</title></head>
30542              <body>
30543                  <h1>This file brought to you by Salt</h1>
30544              </body>
30545          </html>
30546
30547       Last,  call state.apply again and the minion will fetch and execute the
30548       highstate as well as our HTML file from the master  using  Salt's  File
30549       Server:
30550
30551          salt '*' state.apply
30552
30553       Verify that Apache is now serving your custom HTML.
30554
30555          require vs. watch
30556
30557                 There  are two requisite-declaration, “require”, and “watch”.
30558                 Not every state supports “watch”. The service state does sup‐
30559                 port  “watch”  and  will restart a service based on the watch
30560                 condition.
30561
30562                 For example, if you use Salt to  install  an  Apache  virtual
30563                 host  configuration  file and want to restart Apache whenever
30564                 that file is changed you could modify our Apache example from
30565                 earlier as follows:
30566
30567              /etc/httpd/extra/httpd-vhosts.conf:
30568                file.managed:
30569                  - source: salt://webserver/httpd-vhosts.conf
30570
30571              apache:
30572                pkg.installed: []
30573                service.running:
30574                  - watch:
30575                    - file: /etc/httpd/extra/httpd-vhosts.conf
30576                  - require:
30577                    - pkg: apache
30578
30579          If  the  pkg and service names differ on your OS or distro of choice
30580          you can specify each one separately using a  name-declaration  which
30581          explained in Part 3.
30582
30583   Next steps
30584       In  part 3 we will discuss how to use includes, extends, and templating
30585       to make a more complete State Tree configuration.
30586
30587   States tutorial, part 3 - Templating, Includes, Extends
30588       NOTE:
30589          This tutorial builds on topics covered in part 1 and part 2.  It  is
30590          recommended that you begin there.
30591
30592       This  part of the tutorial will cover more advanced templating and con‐
30593       figuration techniques for sls files.
30594
30595   Templating SLS modules
30596       SLS modules may require programming logic or inline execution. This  is
30597       accomplished with module templating. The default module templating sys‐
30598       tem used is Jinja2  and may be  configured  by  changing  the  renderer
30599       value in the master config.
30600
30601       All  states  are  passed through a templating system when they are ini‐
30602       tially read.  To make use of the templating  system,  simply  add  some
30603       templating  markup.  An example of an sls module with templating markup
30604       may look like this:
30605
30606          {% for usr in ['moe','larry','curly'] %}
30607          {{ usr }}:
30608            user.present
30609          {% endfor %}
30610
30611       This templated sls file once generated will look like this:
30612
30613          moe:
30614            user.present
30615          larry:
30616            user.present
30617          curly:
30618            user.present
30619
30620       Here's a more complex example:
30621
30622          # Comments in yaml start with a hash symbol.
30623          # Since jinja rendering occurs before yaml parsing, if you want to include jinja
30624          # in the comments you may need to escape them using 'jinja' comments to prevent
30625          # jinja from trying to render something which is not well-defined jinja.
30626          # e.g.
30627          # {# iterate over the Three Stooges using a {% for %}..{% endfor %} loop
30628          # with the iterator variable {{ usr }} becoming the state ID. #}
30629          {% for usr in 'moe','larry','curly' %}
30630          {{ usr }}:
30631            group:
30632              - present
30633            user:
30634              - present
30635              - gid_from_name: True
30636              - require:
30637                - group: {{ usr }}
30638          {% endfor %}
30639
30640   Using Grains in SLS modules
30641       Often times a state will need to behave differently on  different  sys‐
30642       tems.   Salt grains objects are made available in the template context.
30643       The grains can be used from within sls modules:
30644
30645          apache:
30646            pkg.installed:
30647              {% if grains['os'] == 'RedHat' %}
30648              - name: httpd
30649              {% elif grains['os'] == 'Ubuntu' %}
30650              - name: apache2
30651              {% endif %}
30652
30653   Using Environment Variables in SLS modules
30654       You can use salt['environ.get']('VARNAME') to use an environment  vari‐
30655       able in a Salt state.
30656
30657          MYENVVAR="world" salt-call state.template test.sls
30658
30659          Create a file with contents from an environment variable:
30660            file.managed:
30661              - name: /tmp/hello
30662              - contents: {{ salt['environ.get']('MYENVVAR') }}
30663
30664       Error checking:
30665
30666          {% set myenvvar = salt['environ.get']('MYENVVAR') %}
30667          {% if myenvvar %}
30668
30669          Create a file with contents from an environment variable:
30670            file.managed:
30671              - name: /tmp/hello
30672              - contents: {{ salt['environ.get']('MYENVVAR') }}
30673
30674          {% else %}
30675
30676          Fail - no environment passed in:
30677            test.fail_without_changes
30678
30679          {% endif %}
30680
30681   Calling Salt modules from templates
30682       All  of  the Salt modules loaded by the minion are available within the
30683       templating system. This allows data to be gathered in real time on  the
30684       target  system. It also allows for shell commands to be run easily from
30685       within the sls modules.
30686
30687       The Salt module functions are also made available in the template  con‐
30688       text as salt:
30689
30690       The  following example illustrates calling the group_to_gid function in
30691       the file execution module with  a  single  positional  argument  called
30692       some_group_that_exists.
30693
30694          moe:
30695            user.present:
30696              - gid: {{ salt['file.group_to_gid']('some_group_that_exists') }}
30697
30698       One way to think about this might be that the gid key is being assigned
30699       a value equivalent to the following python pseudo-code:
30700
30701          import salt.modules.file
30702          file.group_to_gid('some_group_that_exists')
30703
30704       Note that for the above example to  work,  some_group_that_exists  must
30705       exist before the state file is processed by the templating engine.
30706
30707       Below  is an example that uses the network.hw_addr function to retrieve
30708       the MAC address for eth0:
30709
30710          salt['network.hw_addr']('eth0')
30711
30712       To examine the possible arguments to each  execution  module  function,
30713       one can examine the module reference documentation:
30714
30715   Advanced SLS module syntax
30716       Lastly,  we  will cover some incredibly useful techniques for more com‐
30717       plex State trees.
30718
30719   Include declaration
30720       A previous example showed how to spread  a  Salt  tree  across  several
30721       files.    Similarly,   requisites  span  multiple  files  by  using  an
30722       include-declaration. For example:
30723
30724       python/python-libs.sls:
30725
30726          python-dateutil:
30727            pkg.installed
30728
30729       python/django.sls:
30730
30731          include:
30732            - python.python-libs
30733
30734          django:
30735            pkg.installed:
30736              - require:
30737                - pkg: python-dateutil
30738
30739   Extend declaration
30740       You can modify previous declarations by  using  an  extend-declaration.
30741       For  example  the  following  modifies  the Apache tree to also restart
30742       Apache when the vhosts file is changed:
30743
30744       apache/apache.sls:
30745
30746          apache:
30747            pkg.installed
30748
30749       apache/mywebsite.sls:
30750
30751          include:
30752            - apache.apache
30753
30754          extend:
30755            apache:
30756              service:
30757                - running
30758                - watch:
30759                  - file: /etc/httpd/extra/httpd-vhosts.conf
30760
30761          /etc/httpd/extra/httpd-vhosts.conf:
30762            file.managed:
30763              - source: salt://apache/httpd-vhosts.conf
30764
30765          Using extend with require or watch
30766
30767                 The extend statement works differently for require or  watch.
30768                 It appends to, rather than replacing the requisite component.
30769
30770   Name declaration
30771       You  can  override the id-declaration by using a name-declaration.  For
30772       example, the previous example is a bit more maintainable  if  rewritten
30773       as follows:
30774
30775       apache/mywebsite.sls:
30776
30777          include:
30778            - apache.apache
30779
30780          extend:
30781            apache:
30782              service:
30783                - running
30784                - watch:
30785                  - file: mywebsite
30786
30787          mywebsite:
30788            file.managed:
30789              - name: /etc/httpd/extra/httpd-vhosts.conf
30790              - source: salt://apache/httpd-vhosts.conf
30791
30792   Names declaration
30793       Even more powerful is using a names-declaration to override the id-dec‐
30794       laration for multiple states at once. This often can  remove  the  need
30795       for looping in a template. For example, the first example in this tuto‐
30796       rial can be rewritten without the loop:
30797
30798          stooges:
30799            user.present:
30800              - names:
30801                - moe
30802                - larry
30803                - curly
30804
30805   Next steps
30806       In part 4 we will discuss how to use salt's  file_roots  to  set  up  a
30807       workflow  in which states can be "promoted" from dev, to QA, to produc‐
30808       tion.
30809
30810   States tutorial, part 4
30811       NOTE:
30812          This tutorial builds on topics covered in part 1, part 2,  and  part
30813          3.  It is recommended that you begin there.
30814
30815       This part of the tutorial will show how to use salt's file_roots to set
30816       up a workflow in which states can be "promoted" from  dev,  to  QA,  to
30817       production.
30818
30819   Salt fileserver path inheritance
30820       Salt's  fileserver allows for more than one root directory per environ‐
30821       ment, like in the below example, which uses both a local directory  and
30822       a secondary location shared to the salt master via NFS:
30823
30824          # In the master config file (/etc/salt/master)
30825          file_roots:
30826            base:
30827              - /srv/salt
30828              - /mnt/salt-nfs/base
30829
30830       Salt's  fileserver collapses the list of root directories into a single
30831       virtual environment containing all files from each root.  If  the  same
30832       file  exists  at the same relative path in more than one root, then the
30833       top-most  match  "wins".  For   example,   if   /srv/salt/foo.txt   and
30834       /mnt/salt-nfs/base/foo.txt  both  exist, then salt://foo.txt will point
30835       to /srv/salt/foo.txt.
30836
30837       NOTE:
30838          When using multiple fileserver backends, the order in which they are
30839          listed  in  the  fileserver_backend  parameter also matters. If both
30840          roots and git backends contain a file with the same  relative  path,
30841          and  roots  appears  before git in the fileserver_backend list, then
30842          the file in roots will "win", and the file in gitfs will be ignored.
30843
30844          A more thorough explanation of how Salt's modular  fileserver  works
30845          can be found here. We recommend reading this.
30846
30847   Environment configuration
30848       Configure a multiple-environment setup like so:
30849
30850          file_roots:
30851            base:
30852              - /srv/salt/prod
30853            qa:
30854              - /srv/salt/qa
30855              - /srv/salt/prod
30856            dev:
30857              - /srv/salt/dev
30858              - /srv/salt/qa
30859              - /srv/salt/prod
30860
30861       Given the path inheritance described above, files within /srv/salt/prod
30862       would be available in all environments. Files within /srv/salt/qa would
30863       be   available   in  both  qa,  and  dev.  Finally,  the  files  within
30864       /srv/salt/dev would only be available within the dev environment.
30865
30866       Based on the order in which the roots are defined, new files/states can
30867       be  placed  within  /srv/salt/dev,  and pushed out to the dev hosts for
30868       testing.
30869
30870       Those files/states can then be moved to the same relative  path  within
30871       /srv/salt/qa,  and  they are now available only in the dev and qa envi‐
30872       ronments, allowing them to be pushed to QA hosts and tested.
30873
30874       Finally, if moved to the same relative path within /srv/salt/prod,  the
30875       files are now available in all three environments.
30876
30877   Requesting files from specific fileserver environments
30878       See  here for documentation on how to request files from specific envi‐
30879       ronments.
30880
30881   Practical Example
30882       As an example, consider a simple website, installed to /var/www/foobar‐
30883       com.  Below is a top.sls that can be used to deploy the website:
30884
30885       /srv/salt/prod/top.sls:
30886
30887          base:
30888            'web*prod*':
30889              - webserver.foobarcom
30890          qa:
30891            'web*qa*':
30892              - webserver.foobarcom
30893          dev:
30894            'web*dev*':
30895              - webserver.foobarcom
30896
30897       Using pillar, roles can be assigned to the hosts:
30898
30899       /srv/pillar/top.sls:
30900
30901          base:
30902            'web*prod*':
30903              - webserver.prod
30904            'web*qa*':
30905              - webserver.qa
30906            'web*dev*':
30907              - webserver.dev
30908
30909       /srv/pillar/webserver/prod.sls:
30910
30911          webserver_role: prod
30912
30913       /srv/pillar/webserver/qa.sls:
30914
30915          webserver_role: qa
30916
30917       /srv/pillar/webserver/dev.sls:
30918
30919          webserver_role: dev
30920
30921       And finally, the SLS to deploy the website:
30922
30923       /srv/salt/prod/webserver/foobarcom.sls:
30924
30925          {% if pillar.get('webserver_role', '') %}
30926          /var/www/foobarcom:
30927            file.recurse:
30928              - source: salt://webserver/src/foobarcom
30929              - env: {{ pillar['webserver_role'] }}
30930              - user: www
30931              - group: www
30932              - dir_mode: 755
30933              - file_mode: 644
30934          {% endif %}
30935
30936       Given  the  above  SLS,  the source for the website should initially be
30937       placed in /srv/salt/dev/webserver/src/foobarcom.
30938
30939       First, let's deploy to dev. Given the configuration in  the  top  file,
30940       this can be done using state.apply:
30941
30942          salt --pillar 'webserver_role:dev' state.apply
30943
30944       However, in the event that it is not desirable to apply all states con‐
30945       figured in the top file (which could be likely in more complex setups),
30946       it  is  possible to apply just the states for the foobarcom website, by
30947       invoking state.apply with the desired SLS target as an argument:
30948
30949          salt --pillar 'webserver_role:dev' state.apply webserver.foobarcom
30950
30951       Once the site has been tested in dev, then the files can be moved  from
30952       /srv/salt/dev/webserver/src/foobarcom        to       /srv/salt/qa/web‐
30953       server/src/foobarcom, and deployed using the following:
30954
30955          salt --pillar 'webserver_role:qa' state.apply webserver.foobarcom
30956
30957       Finally, once the site has been tested in qa, then  the  files  can  be
30958       moved  from /srv/salt/qa/webserver/src/foobarcom to /srv/salt/prod/web‐
30959       server/src/foobarcom, and deployed using the following:
30960
30961          salt --pillar 'webserver_role:prod' state.apply webserver.foobarcom
30962
30963       Thanks to Salt's fileserver inheritance, even  though  the  files  have
30964       been  moved to within /srv/salt/prod, they are still available from the
30965       same salt:// URI in both the qa and dev environments.
30966
30967   Continue Learning
30968       The best way to continue learning about Salt States is to read  through
30969       the  reference  documentation  and to look through examples of existing
30970       state trees. Many pre-configured state trees can be found on GitHub  in
30971       the saltstack-formulas collection of repositories.
30972
30973       If you have any questions, suggestions, or just want to chat with other
30974       people who are using Salt, we have a very  active  community  and  we'd
30975       love to hear from you.
30976
30977       In  addition,  by  continuing  to  the Orchestrate Runner docs, you can
30978       learn about the powerful orchestration of which Salt is capable.
30979
30980   States Tutorial, Part 5 - Orchestration with Salt
30981       This was moved to Orchestrate Runner.
30982
30983   Syslog-ng usage
30984   Overview
30985       Syslog_ng state module is for generating syslog-ng configurations.  You
30986       can do the following things:
30987
30988       · generate syslog-ng configuration from YAML,
30989
30990       · use non-YAML configuration,
30991
30992       · start, stop or reload syslog-ng.
30993
30994       There  is  also  an execution module, which can check the syntax of the
30995       configuration, get the version and other information about syslog-ng.
30996
30997   Configuration
30998       Users can create  syslog-ng  configuration  statements  with  the  sys‐
30999       log_ng.config  function. It requires a name and a config parameter. The
31000       name parameter determines the name of the generated statement  and  the
31001       config parameter holds a parsed YAML structure.
31002
31003       A  statement  can  be declared in the following forms (both are equiva‐
31004       lent):
31005
31006          source.s_localhost:
31007            syslog_ng.config:
31008              - config:
31009                  - tcp:
31010                    - ip: "127.0.0.1"
31011                    - port: 1233
31012
31013          s_localhost:
31014            syslog_ng.config:
31015              - config:
31016                  source:
31017                    - tcp:
31018                      - ip: "127.0.0.1"
31019                      - port: 1233
31020
31021       The first one is called short form, because it needs less typing. Users
31022       can use lists and dictionaries to specify their configuration. The for‐
31023       mat is quite self describing  and  there  are  more  examples  [at  the
31024       end](#examples) of this document.
31025
31026   Quotation
31027       The  quotation  can be tricky sometimes but here are some rules to fol‐
31028       low:
31029
31030              · when a string meant to be "string" in the generated configura‐
31031                tion, it should be like '"string"' in the YAML document
31032
31033              · similarly,  users  should  write "'string'" to get 'string' in
31034                the generated configuration
31035
31036   Full example
31037       The following configuration is an example,  how  a  complete  syslog-ng
31038       configuration looks like:
31039
31040          # Set the location of the configuration file
31041          set_location:
31042            module.run:
31043              - name: syslog_ng.set_config_file
31044              - m_name: "/home/tibi/install/syslog-ng/etc/syslog-ng.conf"
31045
31046          # The syslog-ng and syslog-ng-ctl binaries are here. You needn't use
31047          # this method if these binaries can be found in a directory in your PATH.
31048          set_bin_path:
31049            module.run:
31050              - name: syslog_ng.set_binary_path
31051              - m_name: "/home/tibi/install/syslog-ng/sbin"
31052
31053          # Writes the first lines into the config file, also erases its previous
31054          # content
31055          write_version:
31056            module.run:
31057              - name: syslog_ng.write_version
31058              - m_name: "3.6"
31059
31060          # There is a shorter form to set the above variables
31061          set_variables:
31062            module.run:
31063              - name: syslog_ng.set_parameters
31064              - version: "3.6"
31065              - binary_path: "/home/tibi/install/syslog-ng/sbin"
31066              - config_file: "/home/tibi/install/syslog-ng/etc/syslog-ng.conf"
31067
31068
31069          # Some global options
31070          options.global_options:
31071            syslog_ng.config:
31072              - config:
31073                  - time_reap: 30
31074                  - mark_freq: 10
31075                  - keep_hostname: "yes"
31076
31077          source.s_localhost:
31078            syslog_ng.config:
31079              - config:
31080                  - tcp:
31081                    - ip: "127.0.0.1"
31082                    - port: 1233
31083
31084          destination.d_log_server:
31085            syslog_ng.config:
31086              - config:
31087                  - tcp:
31088                    - "127.0.0.1"
31089                    - port: 1234
31090
31091          log.l_log_to_central_server:
31092            syslog_ng.config:
31093              - config:
31094                  - source: s_localhost
31095                  - destination: d_log_server
31096
31097          some_comment:
31098            module.run:
31099              - name: syslog_ng.write_config
31100              - config: |
31101                  # Multi line
31102                  # comment
31103
31104          # Another mode to use comments or existing configuration snippets
31105          config.other_comment_form:
31106            syslog_ng.config:
31107              - config: |
31108                  # Multi line
31109                  # comment
31110
31111       The  syslog_ng.reloaded  function  can generate syslog-ng configuration
31112       from YAML. If the statement (source, destination, parser, etc.)  has  a
31113       name,  this function uses the id as the name, otherwise (log statement)
31114       it's purpose is like a mandatory comment.
31115
31116       After execution this example the syslog_ng  state  will  generate  this
31117       file:
31118
31119          #Generated by Salt on 2014-08-18 00:11:11
31120          @version: 3.6
31121
31122          options {
31123              time_reap(
31124                  30
31125              );
31126              mark_freq(
31127                  10
31128              );
31129              keep_hostname(
31130                  yes
31131              );
31132          };
31133
31134
31135          source s_localhost {
31136              tcp(
31137                  ip(
31138                      127.0.0.1
31139                  ),
31140                  port(
31141                      1233
31142                  )
31143              );
31144          };
31145
31146
31147          destination d_log_server {
31148              tcp(
31149                  127.0.0.1,
31150                  port(
31151                      1234
31152                  )
31153              );
31154          };
31155
31156
31157          log {
31158              source(
31159                  s_localhost
31160              );
31161              destination(
31162                  d_log_server
31163              );
31164          };
31165
31166
31167          # Multi line
31168          # comment
31169
31170
31171          # Multi line
31172          # comment
31173
31174       Users  can  include arbitrary texts in the generated configuration with
31175       using the config statement (see the example above).
31176
31177   Syslog_ng module functions
31178       You can use syslog_ng.set_binary_path to set the directory  which  con‐
31179       tains the syslog-ng and syslog-ng-ctl binaries. If this directory is in
31180       your PATH, you don't need to use this function. There is also  a   sys‐
31181       log_ng.set_config_file  function  to set the location of the configura‐
31182       tion file.
31183
31184   Examples
31185   Simple source
31186          source s_tail {
31187           file(
31188             "/var/log/apache/access.log",
31189             follow_freq(1),
31190             flags(no-parse, validate-utf8)
31191           );
31192          };
31193
31194          s_tail:
31195            # Salt will call the source function of syslog_ng module
31196            syslog_ng.config:
31197              - config:
31198                  source:
31199                    - file:
31200                      - file: ''"/var/log/apache/access.log"''
31201                      - follow_freq : 1
31202                      - flags:
31203                        - no-parse
31204                        - validate-utf8
31205
31206       OR
31207
31208          s_tail:
31209            syslog_ng.config:
31210              - config:
31211                  source:
31212                      - file:
31213                        - ''"/var/log/apache/access.log"''
31214                        - follow_freq : 1
31215                        - flags:
31216                          - no-parse
31217                          - validate-utf8
31218
31219       OR
31220
31221          source.s_tail:
31222            syslog_ng.config:
31223              - config:
31224                  - file:
31225                    - ''"/var/log/apache/access.log"''
31226                    - follow_freq : 1
31227                    - flags:
31228                      - no-parse
31229                      - validate-utf8
31230
31231   Complex source
31232          source s_gsoc2014 {
31233           tcp(
31234             ip("0.0.0.0"),
31235             port(1234),
31236             flags(no-parse)
31237           );
31238          };
31239
31240          s_gsoc2014:
31241            syslog_ng.config:
31242              - config:
31243                  source:
31244                    - tcp:
31245                      - ip: 0.0.0.0
31246                      - port: 1234
31247                      - flags: no-parse
31248
31249   Filter
31250          filter f_json {
31251           match(
31252             "@json:"
31253           );
31254          };
31255
31256          f_json:
31257            syslog_ng.config:
31258              - config:
31259                  filter:
31260                    - match:
31261                      - ''"@json:"''
31262
31263   Template
31264          template t_demo_filetemplate {
31265           template(
31266             "$ISODATE $HOST $MSG "
31267           );
31268           template_escape(
31269             no
31270           );
31271          };
31272
31273          t_demo_filetemplate:
31274            syslog_ng.config:
31275              -config:
31276                  template:
31277                    - template:
31278                      - '"$ISODATE $HOST $MSG\n"'
31279                    - template_escape:
31280                      - "no"
31281
31282   Rewrite
31283          rewrite r_set_message_to_MESSAGE {
31284           set(
31285             "${.json.message}",
31286             value("$MESSAGE")
31287           );
31288          };
31289
31290          r_set_message_to_MESSAGE:
31291            syslog_ng.config:
31292              - config:
31293                  rewrite:
31294                    - set:
31295                      - '"${.json.message}"'
31296                      - value : '"$MESSAGE"'
31297
31298   Global options
31299          options {
31300             time_reap(30);
31301             mark_freq(10);
31302             keep_hostname(yes);
31303          };
31304
31305          global_options:
31306            syslog_ng.config:
31307              - config:
31308                  options:
31309                    - time_reap: 30
31310                    - mark_freq: 10
31311                    - keep_hostname: "yes"
31312
31313   Log
31314          log {
31315           source(s_gsoc2014);
31316           junction {
31317            channel {
31318             filter(f_json);
31319             parser(p_json);
31320             rewrite(r_set_json_tag);
31321             rewrite(r_set_message_to_MESSAGE);
31322             destination {
31323              file(
31324                "/tmp/json-input.log",
31325                template(t_gsoc2014)
31326              );
31327             };
31328             flags(final);
31329            };
31330            channel {
31331             filter(f_not_json);
31332             parser {
31333              syslog-parser(
31334
31335              );
31336             };
31337             rewrite(r_set_syslog_tag);
31338             flags(final);
31339            };
31340           };
31341           destination {
31342            file(
31343              "/tmp/all.log",
31344              template(t_gsoc2014)
31345            );
31346           };
31347          };
31348
31349          l_gsoc2014:
31350            syslog_ng.config:
31351              - config:
31352                  log:
31353                    - source: s_gsoc2014
31354                    - junction:
31355                      - channel:
31356                        - filter: f_json
31357                        - parser: p_json
31358                        - rewrite: r_set_json_tag
31359                        - rewrite: r_set_message_to_MESSAGE
31360                        - destination:
31361                          - file:
31362                            - '"/tmp/json-input.log"'
31363                            - template: t_gsoc2014
31364                        - flags: final
31365                      - channel:
31366                        - filter: f_not_json
31367                        - parser:
31368                          - syslog-parser: []
31369                        - rewrite: r_set_syslog_tag
31370                        - flags: final
31371                    - destination:
31372                      - file:
31373                        - "/tmp/all.log"
31374                        - template: t_gsoc2014
31375
31376   Salt in 10 Minutes
31377       NOTE:
31378          Welcome to SaltStack! I am excited that you are interested  in  Salt
31379          and  starting  down  the path to better infrastructure management. I
31380          developed (and am continuing to develop) Salt with the goal of  mak‐
31381          ing  the  best  software available to manage computers of almost any
31382          kind. I hope you enjoy working with Salt and that the  software  can
31383          solve your real world needs!
31384
31385          · Thomas S Hatch
31386
31387          · Salt creator and Chief Developer
31388
31389          · CTO of SaltStack, Inc.
31390
31391   Getting Started
31392   What is Salt?
31393       Salt  is  a different approach to infrastructure management, founded on
31394       the idea that high-speed communication with large  numbers  of  systems
31395       can  open up new capabilities. This approach makes Salt a powerful mul‐
31396       titasking system that can solve many specific  problems  in  an  infra‐
31397       structure.
31398
31399       The  backbone  of  Salt is the remote execution engine, which creates a
31400       high-speed, secure and bi-directional communication net for  groups  of
31401       systems.  On  top  of  this  communication  system,  Salt  provides  an
31402       extremely fast, flexible, and easy-to-use configuration management sys‐
31403       tem called Salt States.
31404
31405   Installing Salt
31406       SaltStack has been made to be very easy to install and get started. The
31407       installation documents contain instructions  for  all  supported  plat‐
31408       forms.
31409
31410   Starting Salt
31411       Salt  functions  on a master/minion topology. A master server acts as a
31412       central control bus for the clients, which are called minions. The min‐
31413       ions connect back to the master.
31414
31415   Setting Up the Salt Master
31416       Turning on the Salt Master is easy -- just turn it on! The default con‐
31417       figuration is suitable for the vast majority of installations. The Salt
31418       Master can be controlled by the local Linux/Unix service manager:
31419
31420       On Systemd based platforms (newer Debian, openSUSE, Fedora):
31421
31422          systemctl start salt-master
31423
31424       On Upstart based systems (Ubuntu, older Fedora/RHEL):
31425
31426          service salt-master start
31427
31428       On SysV Init systems (Gentoo, older Debian etc.):
31429
31430          /etc/init.d/salt-master start
31431
31432       Alternatively, the Master can be started directly on the command-line:
31433
31434          salt-master -d
31435
31436       The  Salt  Master  can also be started in the foreground in debug mode,
31437       thus greatly increasing the command output:
31438
31439          salt-master -l debug
31440
31441       The Salt Master needs to bind to two TCP network ports on  the  system.
31442       These  ports  are 4505 and 4506. For more in depth information on fire‐
31443       walling these ports, the firewall tutorial is available here.
31444
31445   Finding the Salt Master
31446       When a minion starts, by default it searches for a system that resolves
31447       to  the  salt  hostname on the network.  If found, the minion initiates
31448       the handshake and key authentication  process  with  the  Salt  master.
31449       This  means  that the easiest configuration approach is to set internal
31450       DNS to resolve the name salt back to the Salt Master IP.
31451
31452       Otherwise, the minion configuration file will need to be edited so that
31453       the configuration option master points to the DNS name or the IP of the
31454       Salt Master:
31455
31456       NOTE:
31457          The default location of the configuration files is  /etc/salt.  Most
31458          platforms  adhere  to this convention, but platforms such as FreeBSD
31459          and Microsoft Windows place this file in different locations.
31460
31461       /etc/salt/minion:
31462
31463          master: saltmaster.example.com
31464
31465   Setting up a Salt Minion
31466       NOTE:
31467          The Salt Minion can operate with or  without  a  Salt  Master.  This
31468          walk-through  assumes  that the minion will be connected to the mas‐
31469          ter, for information on how to run a master-less minion  please  see
31470          the master-less quick-start guide:
31471
31472          Masterless Minion Quickstart
31473
31474       Now  that  the master can be found, start the minion in the same way as
31475       the master; with the platform init  system  or  via  the  command  line
31476       directly:
31477
31478       As a daemon:
31479
31480          salt-minion -d
31481
31482       In the foreground in debug mode:
31483
31484          salt-minion -l debug
31485
31486       When the minion is started, it will generate an id value, unless it has
31487       been generated on a previous run and cached (in /etc/salt/minion_id  by
31488       default).  This is the name by which the minion will attempt to authen‐
31489       ticate to the master. The following steps are attempted,  in  order  to
31490       try to find a value that is not localhost:
31491
31492       1. The Python function socket.getfqdn() is run
31493
31494       2. /etc/hostname is checked (non-Windows only)
31495
31496       3. /etc/hosts (%WINDIR%\system32\drivers\etc\hosts on Windows hosts) is
31497          checked for hostnames that map to anything within 127.0.0.0/8.
31498
31499       If none of the above are able to produce an id which is not  localhost,
31500       then  a sorted list of IP addresses on the minion (excluding any within
31501       127.0.0.0/8) is inspected. The first publicly-routable  IP  address  is
31502       used,  if  there  is  one.  Otherwise,  the first privately-routable IP
31503       address is used.
31504
31505       If all else fails, then localhost is used as a fallback.
31506
31507       NOTE:
31508          Overriding the id
31509
31510          The minion id can be manually specified using the  id  parameter  in
31511          the  minion  config file.  If this configuration value is specified,
31512          it will override all other sources for the id.
31513
31514       Now that the minion is started, it will generate cryptographic keys and
31515       attempt  to  connect to the master. The next step is to venture back to
31516       the master server and accept the new minion's public key.
31517
31518   Using salt-key
31519       Salt authenticates minions using public-key encryption and  authentica‐
31520       tion.  For  a  minion  to start accepting commands from the master, the
31521       minion keys need to be accepted by the master.
31522
31523       The salt-key command is used to manage all of the keys on  the  master.
31524       To list the keys that are on the master:
31525
31526          salt-key -L
31527
31528       The  keys that have been rejected, accepted, and pending acceptance are
31529       listed.  The easiest way to accept the minion  key  is  to  accept  all
31530       pending keys:
31531
31532          salt-key -A
31533
31534       NOTE:
31535          Keys should be verified! Print the master key fingerprint by running
31536          salt-key -F master on the Salt master. Copy the  master.pub  finger‐
31537          print  from  the  Local Keys section, and then set this value as the
31538          master_finger in the minion configuration  file.  Restart  the  Salt
31539          minion.
31540
31541          On the master, run salt-key -f minion-id to print the fingerprint of
31542          the minion's public key that was received by the master. On the min‐
31543          ion,  run  salt-call  key.finger --local to print the fingerprint of
31544          the minion key.
31545
31546          On the master:
31547
31548              # salt-key -f foo.domain.com
31549              Unaccepted Keys:
31550              foo.domain.com:  39:f9:e4:8a:aa:74:8d:52:1a:ec:92:03:82:09:c8:f9
31551
31552          On the minion:
31553
31554              # salt-call key.finger --local
31555              local:
31556                  39:f9:e4:8a:aa:74:8d:52:1a:ec:92:03:82:09:c8:f9
31557
31558          If they match, approve the key with salt-key -a foo.domain.com.
31559
31560   Sending the First Commands
31561       Now that the minion is connected to the master and  authenticated,  the
31562       master can start to command the minion.
31563
31564       Salt  commands allow for a vast set of functions to be executed and for
31565       specific minions and groups of minions to be targeted for execution.
31566
31567       The salt command is comprised of command options, target specification,
31568       the function to execute, and arguments to the function.
31569
31570       A simple command to start with looks like this:
31571
31572          salt '*' test.version
31573
31574       The * is the target, which specifies all minions.
31575
31576       test.version tells the minion to run the test.version function.
31577
31578       In  the  case of test.version, test refers to a execution module.  ver‐
31579       sion refers to the version function  contained  in  the  aforementioned
31580       test module.
31581
31582       NOTE:
31583          Execution  modules  are  the workhorses of Salt. They do the work on
31584          the system to perform various tasks, such as manipulating files  and
31585          restarting services.
31586
31587       The  result  of running this command will be the master instructing all
31588       of the minions to execute  test.version  in  parallel  and  return  the
31589       result. Using test.version is a good way of confirming that a minion is
31590       connected, and reaffirm to the  user  the  salt  version(s)  they  have
31591       installed on the minions.
31592
31593       NOTE:
31594          Each  minion  registers  itself  with  a  unique  minion ID. This ID
31595          defaults to the minion's hostname, but can be explicitly defined  in
31596          the minion config as well by using the id parameter.
31597
31598       Of  course, there are hundreds of other modules that can be called just
31599       as test.version can.  For example,  the  following  would  return  disk
31600       usage on all targeted minions:
31601
31602          salt '*' disk.usage
31603
31604   Getting to Know the Functions
31605       Salt  comes  with  a vast library of functions available for execution,
31606       and Salt functions are self-documenting.  To  see  what  functions  are
31607       available on the minions execute the sys.doc function:
31608
31609          salt '*' sys.doc
31610
31611       This will display a very large list of available functions and documen‐
31612       tation on them.
31613
31614       NOTE:
31615          Module documentation is also available on the web.
31616
31617       These functions cover everything from shelling out to  package  manage‐
31618       ment  to manipulating database servers. They comprise a powerful system
31619       management API which is the backbone to Salt  configuration  management
31620       and many other aspects of Salt.
31621
31622       NOTE:
31623          Salt  comes  with many plugin systems. The functions that are avail‐
31624          able via the salt command are called Execution Modules.
31625
31626   Helpful Functions to Know
31627       The cmd module contains functions to shell  out  on  minions,  such  as
31628       cmd.run and cmd.run_all:
31629
31630          salt '*' cmd.run 'ls -l /etc'
31631
31632       The  pkg  functions  automatically map local system package managers to
31633       the same salt functions. This means that pkg.install will install pack‐
31634       ages via yum on Red Hat based systems, apt on Debian systems, etc.:
31635
31636          salt '*' pkg.install vim
31637
31638       NOTE:
31639          Some  custom  Linux spins and derivatives of other distributions are
31640          not properly detected by Salt. If the above command returns an error
31641          message  saying that pkg.install is not available, then you may need
31642          to override the pkg provider. This process is explained here.
31643
31644       The network.interfaces function will list all interfaces on  a  minion,
31645       along with their IP addresses, netmasks, MAC addresses, etc:
31646
31647          salt '*' network.interfaces
31648
31649   Changing the Output Format
31650       The  default  output  format  used for most Salt commands is called the
31651       nested outputter, but there are several other outputters  that  can  be
31652       used  to  change  the  way  the  output is displayed. For instance, the
31653       pprint outputter can be used to display the return data using  Python's
31654       pprint module:
31655
31656          root@saltmaster:~# salt myminion grains.item pythonpath --out=pprint
31657          {'myminion': {'pythonpath': ['/usr/lib64/python2.7',
31658                                       '/usr/lib/python2.7/plat-linux2',
31659                                       '/usr/lib64/python2.7/lib-tk',
31660                                       '/usr/lib/python2.7/lib-tk',
31661                                       '/usr/lib/python2.7/site-packages',
31662                                       '/usr/lib/python2.7/site-packages/gst-0.10',
31663                                       '/usr/lib/python2.7/site-packages/gtk-2.0']}}
31664
31665       The  full  list  of  Salt outputters, as well as example output, can be
31666       found here.
31667
31668   salt-call
31669       The examples so far have described running  commands  from  the  Master
31670       using the salt command, but when troubleshooting it can be more benefi‐
31671       cial to login to the minion directly and use salt-call.
31672
31673       Doing so allows you to see the minion log messages specific to the com‐
31674       mand  you  are  running  (which are not part of the return data you see
31675       when running the command from the Master using salt), making it  unnec‐
31676       essary to tail the minion log. More information on salt-call and how to
31677       use it can be found here.
31678
31679   Grains
31680       Salt uses a system called Grains to build up static data about minions.
31681       This  data includes information about the operating system that is run‐
31682       ning, CPU architecture  and  much  more.  The  grains  system  is  used
31683       throughout  Salt  to  deliver  platform  data to many components and to
31684       users.
31685
31686       Grains can also be statically set, this makes it easy to assign  values
31687       to minions for grouping and managing.
31688
31689       A  common  practice  is to assign grains to minions to specify what the
31690       role or roles a minion might be. These static grains can be set in  the
31691       minion configuration file or via the grains.setval function.
31692
31693   Targeting
31694       Salt  allows for minions to be targeted based on a wide range of crite‐
31695       ria.  The default targeting system uses globular expressions  to  match
31696       minions,  hence  if there are minions named larry1, larry2, curly1, and
31697       curly2, a glob of larry* will match larry1 and larry2, and a glob of *1
31698       will match larry1 and curly1.
31699
31700       Many  other  targeting systems can be used other than globs, these sys‐
31701       tems include:
31702
31703       Regular Expressions
31704              Target using PCRE-compliant regular expressions
31705
31706       Grains Target based on grains data: Targeting with Grains
31707
31708       Pillar Target based on pillar data: Targeting with Pillar
31709
31710       IP     Target based on IP address/subnet/range
31711
31712       Compound
31713              Create logic to target based on multiple targets: Targeting with
31714              Compound
31715
31716       Nodegroup
31717              Target with nodegroups: Targeting with Nodegroup
31718
31719       The  concepts  of  targets  are used on the command line with Salt, but
31720       also function in many other areas as well, including the  state  system
31721       and the systems used for ACLs and user permissions.
31722
31723   Passing in Arguments
31724       Many of the functions available accept arguments which can be passed in
31725       on the command line:
31726
31727          salt '*' pkg.install vim
31728
31729       This example passes the argument vim to the pkg.install function. Since
31730       many  functions  can  accept more complex input than just a string, the
31731       arguments are parsed through YAML, allowing for more complex data to be
31732       sent on the command line:
31733
31734          salt '*' test.echo 'foo: bar'
31735
31736       In  this case Salt translates the string 'foo: bar' into the dictionary
31737       "{'foo': 'bar'}"
31738
31739       NOTE:
31740          Any line that contains a newline will not be parsed by YAML.
31741
31742   Salt States
31743       Now that the basics are covered the time has come to  evaluate  States.
31744       Salt States, or the State System is the component of Salt made for con‐
31745       figuration management.
31746
31747       The state system is already available with a basic Salt setup, no addi‐
31748       tional configuration is required. States can be set up immediately.
31749
31750       NOTE:
31751          Before  diving into the state system, a brief overview of how states
31752          are constructed will make many of the concepts clearer. Salt  states
31753          are  based  on data modeling and build on a low level data structure
31754          that is used to execute each state function. Then more logical  lay‐
31755          ers are built on top of each other.
31756
31757          The  high  layers of the state system which this tutorial will cover
31758          consists of everything that needs to be known to use states, the two
31759          high  layers  covered  here  are the sls layer and the highest layer
31760          highstate.
31761
31762          Understanding the layers of data management in the State System will
31763          help with understanding states, but they never need to be used. Just
31764          as understanding how a compiler functions assists  when  learning  a
31765          programming  language, understanding what is going on under the hood
31766          of a configuration management system will also prove to be  a  valu‐
31767          able asset.
31768
31769   The First SLS Formula
31770       The  state system is built on SLS (SaLt State) formulas. These formulas
31771       are built out in files on Salt's file server. To make a very basic  SLS
31772       formula  open  up  a  file under /srv/salt named vim.sls. The following
31773       state ensures that vim is installed on a system to which that state has
31774       been applied.
31775
31776       /srv/salt/vim.sls:
31777
31778          vim:
31779            pkg.installed
31780
31781       Now install vim on the minions by calling the SLS directly:
31782
31783          salt '*' state.apply vim
31784
31785       This command will invoke the state system and run the vim SLS.
31786
31787       Now, to beef up the vim SLS formula, a vimrc can be added:
31788
31789       /srv/salt/vim.sls:
31790
31791          vim:
31792            pkg.installed: []
31793
31794          /etc/vimrc:
31795            file.managed:
31796              - source: salt://vimrc
31797              - mode: 644
31798              - user: root
31799              - group: root
31800
31801       Now  the  desired vimrc needs to be copied into the Salt file server to
31802       /srv/salt/vimrc. In Salt, everything is a file, so no path  redirection
31803       needs  to  be accounted for. The vimrc file is placed right next to the
31804       vim.sls file.  The same command as above can be executed to all the vim
31805       SLS formulas and now include managing the file.
31806
31807       NOTE:
31808          Salt  does  not  need  to  be  restarted/reloaded or have the master
31809          manipulated  in  any  way  when  changing  SLS  formulas.  They  are
31810          instantly available.
31811
31812   Adding Some Depth
31813       Obviously  maintaining  SLS formulas right in a single directory at the
31814       root of the file server will not scale out to reasonably sized  deploy‐
31815       ments.  This  is  why  more depth is required. Start by making an nginx
31816       formula a better way, make an nginx subdirectory and  add  an  init.sls
31817       file:
31818
31819       /srv/salt/nginx/init.sls:
31820
31821          nginx:
31822            pkg.installed: []
31823            service.running:
31824              - require:
31825                - pkg: nginx
31826
31827       A few concepts are introduced in this SLS formula.
31828
31829       First  is the service statement which ensures that the nginx service is
31830       running.
31831
31832       Of course, the nginx service can't be started  unless  the  package  is
31833       installed  --  hence  the  require statement which sets up a dependency
31834       between the two.
31835
31836       The require statement makes sure that the required  component  is  exe‐
31837       cuted before and that it results in success.
31838
31839       NOTE:
31840          The require option belongs to a family of options called requisites.
31841          Requisites are a powerful component of Salt States, for more  infor‐
31842          mation on how requisites work and what is available see: Requisites
31843
31844          Also  evaluation  ordering  is  available  in Salt as well: Ordering
31845          States
31846
31847       This new sls formula has a special name --  init.sls. When an SLS  for‐
31848       mula  is named init.sls it inherits the name of the directory path that
31849       contains it.  This formula can be referenced via the following command:
31850
31851          salt '*' state.apply nginx
31852
31853       NOTE:
31854          state.apply is just another remote  execution  function,  just  like
31855          test.version  or disk.usage. It simply takes the name of an SLS file
31856          as an argument.
31857
31858       Now that subdirectories can be used, the vim.sls formula can be cleaned
31859       up.   To  make  things more flexible, move the vim.sls and vimrc into a
31860       new subdirectory called edit and change the vim.sls file to reflect the
31861       change:
31862
31863       /srv/salt/edit/vim.sls:
31864
31865          vim:
31866            pkg.installed
31867
31868          /etc/vimrc:
31869            file.managed:
31870              - source: salt://edit/vimrc
31871              - mode: 644
31872              - user: root
31873              - group: root
31874
31875       Only  the source path to the vimrc file has changed. Now the formula is
31876       referenced as edit.vim because it resides  in  the  edit  subdirectory.
31877       Now  the edit subdirectory can contain formulas for emacs, nano, joe or
31878       any other editor that may need to be deployed.
31879
31880   Next Reading
31881       Two walk-throughs are specifically recommended at this point. First,  a
31882       deeper run through States, followed by an explanation of Pillar.
31883
31884       1. Starting States
31885
31886       2. Pillar Walkthrough
31887
31888       An understanding of Pillar is extremely helpful in using States.
31889
31890   Getting Deeper Into States
31891       Two  more in-depth States tutorials exist, which delve much more deeply
31892       into States functionality.
31893
31894       1. How Do I Use Salt States?, covers much more to get  off  the  ground
31895          with States.
31896
31897       2. The States Tutorial also provides a fantastic introduction.
31898
31899       These  tutorials  include much more in-depth information including tem‐
31900       plating SLS formulas etc.
31901
31902   So Much More!
31903       This concludes the initial Salt walk-through, but there are  many  more
31904       things  still  to  learn!  These  documents  will  cover important core
31905       aspects of Salt:
31906
31907       · Pillar
31908
31909       · Job Management
31910
31911       A few more tutorials are also available:
31912
31913       · Remote Execution Tutorial
31914
31915       · Standalone Minion
31916
31917       This still is only scratching the surface, many components such as  the
31918       reactor  and event systems, extending Salt, modular components and more
31919       are not covered here. For an overview of all Salt features and documen‐
31920       tation, look at the Table of Contents.
31921
31922   Salt's Test Suite: An Introduction
31923       NOTE:
31924          This tutorial makes a couple of assumptions. The first assumption is
31925          that you have a basic knowledge of Salt. To get up to  speed,  check
31926          out the Salt Walkthrough.
31927
31928          The  second  assumption is that your Salt development environment is
31929          already configured and that you have a basic understanding  of  con‐
31930          tributing  to the Salt codebase. If you're unfamiliar with either of
31931          these topics, please refer to the Installing  Salt  for  Development
31932          and the Contributing pages, respectively.
31933
31934       Salt  comes  with  a powerful integration and unit test suite. The test
31935       suite allows for the fully automated run  of  integration  and/or  unit
31936       tests from a single interface.
31937
31938       Salt's  test  suite is located under the tests directory in the root of
31939       Salt's code base and is divided into two  main  types  of  tests:  unit
31940       tests  and  integration tests. The unit and integration sub-test-suites
31941       are located in the tests directory, which  is  where  the  majority  of
31942       Salt's test cases are housed.
31943
31944   Getting Set Up For Tests
31945       There are a couple of requirements, in addition to Salt's requirements,
31946       that need to be installed in order to run Salt's test  suite.  You  can
31947       install  these  additional  requirements using the files located in the
31948       salt/requirements directory, depending  on  your  relevant  version  of
31949       Python:
31950
31951          pip install -r requirements/dev_python27.txt
31952          pip install -r requirements/dev_python34.txt
31953
31954       To  be  able  to run integration tests which utilizes ZeroMQ transport,
31955       you also need to install additional requirements for it. Make sure  you
31956       have  installed the C/C++ compiler and development libraries and header
31957       files needed for your Python version.
31958
31959       This is an example for RedHat-based operating systems:
31960
31961          yum install gcc gcc-c++ python-devel
31962          pip install -r requirements/zeromq.txt
31963
31964       On Debian, Ubuntu or their derivatives run the following commands:
31965
31966          apt-get install build-essential python-dev
31967          pip install -r requirements/zeromq.txt
31968
31969       This will install the latest pycrypto and pyzmq (with  bundled  libzmq)
31970       Python modules required for running integration tests suite.
31971
31972   Test Directory Structure
31973       As  noted  in  the  introduction to this tutorial, Salt's test suite is
31974       located in the tests directory in the root of Salt's  code  base.  From
31975       there,  the  tests  are  divided  into two groups integration and unit.
31976       Within each of these directories, the directory structure roughly  mir‐
31977       rors  the directory structure of Salt's own codebase.  For example, the
31978       files inside tests/integration/modules contains  tests  for  the  files
31979       located within salt/modules.
31980
31981       NOTE:
31982          tests/integration  and tests/unit are the only directories discussed
31983          in this tutorial. With the exception of the tests/runtests.py  file,
31984          which is used below in the Running the Test Suite section, the other
31985          directories and files located in tests are outside the scope of this
31986          tutorial.
31987
31988   Integration vs. Unit
31989       Given that Salt's test suite contains two powerful, though very differ‐
31990       ent, testing approaches, when should you write  integration  tests  and
31991       when should you write unit tests?
31992
31993       Integration  tests use Salt masters, minions, and a syndic to test salt
31994       functionality directly and focus on testing the  interaction  of  these
31995       components.  Salt's  integration  test runner includes functionality to
31996       run Salt execution modules, runners, states, shell  commands,  salt-ssh
31997       commands, salt-api commands, and more. This provides a tremendous abil‐
31998       ity to use Salt to test itself and makes writing such tests  a  breeze.
31999       Integration  tests are the preferred method of testing Salt functional‐
32000       ity when possible.
32001
32002       Unit tests do not spin up any Salt  daemons,  but  instead  find  their
32003       value  in  testing  singular  implementations  of individual functions.
32004       Instead of testing against specific interactions, unit tests should  be
32005       used  to  test  a function's logic. Unit tests should be used to test a
32006       function's exit point(s) such as any return or raises statements.
32007
32008       Unit tests are also useful in cases where writing an  integration  test
32009       might  not  be  possible. While the integration test suite is extremely
32010       powerful, unfortunately at this time, it does not cover all  functional
32011       areas  of  Salt's  ecosystem. For example, at the time of this writing,
32012       there is not a way to write integration tests for Proxy Minions.  Since
32013       the  test  runner  will need to be adjusted to account for Proxy Minion
32014       processes, unit tests can still provide some  testing  support  in  the
32015       interim by testing the logic contained inside Proxy Minion functions.
32016
32017   Running the Test Suite
32018       Once all of the requirements are installed, the runtests.py file in the
32019       salt/tests directory is used to instantiate Salt's test suite:
32020
32021          python tests/runtests.py [OPTIONS]
32022
32023       The command above, if executed without any options, will run the entire
32024       suite  of  integration and unit tests. Some tests require certain flags
32025       to run, such as destructive tests. If these  flags  are  not  included,
32026       then the test suite will only perform the tests that don't require spe‐
32027       cial attention.
32028
32029       At the end of the test run, you will see a summary output of the  tests
32030       that passed, failed, or were skipped.
32031
32032       The  test  runner  also  includes a --help option that lists all of the
32033       various command line options:
32034
32035          python tests/runtests.py --help
32036
32037       You can also call the test runner as an executable:
32038
32039          ./tests/runtests.py --help
32040
32041   Running Integration Tests
32042       Salt's set of integration tests use Salt to test itself.  The  integra‐
32043       tion portion of the test suite includes some built-in Salt daemons that
32044       will spin up in preparation of the test run. This list of  Salt  daemon
32045       processes includes:
32046
32047       · 2 Salt Masters
32048
32049       · 2 Salt Minions
32050
32051       · 1 Salt Syndic
32052
32053       These various daemons are used to execute Salt commands and functional‐
32054       ity within the test suite,  allowing  you  to  write  tests  to  assert
32055       against expected or unexpected behaviors.
32056
32057       A  simple example of a test utilizing a typical master/minion execution
32058       module  command  is  the  test  for  the  test_ping  function  in   the
32059       tests/integration/modules/test_test.py file:
32060
32061          def test_ping(self):
32062              '''
32063              test.ping
32064              '''
32065              self.assertTrue(self.run_function('test.ping'))
32066
32067       The test above is a very simple example where the test.ping function is
32068       executed by Salt's test suite runner and is asserting that  the  minion
32069       returned with a True response.
32070
32071   Test Selection Options
32072       If you look in the output of the --help command of the test runner, you
32073       will see a section called Tests Selection Options.  The  options  under
32074       this  section contain various subsections of the integration test suite
32075       such as --modules, --ssh, or --states. By selecting any  one  of  these
32076       options, the test daemons will spin up and the integration tests in the
32077       named subsection will run.
32078
32079          ./tests/runtests.py --modules
32080
32081       NOTE:
32082          The testing subsections listed in the Tests Selection Options of the
32083          --help  output  only apply to the integration tests. They do not run
32084          unit tests.
32085
32086   Running Unit Tests
32087       While ./tests/runtests.py executes the entire test suite  (barring  any
32088       tests requiring special flags), the --unit flag can be used to run only
32089       Salt's unit tests. Salt's unit tests include the tests located  in  the
32090       tests/unit directory.
32091
32092       The  unit tests do not spin up any Salt testing daemons as the integra‐
32093       tion tests do and execute very  quickly  compared  to  the  integration
32094       tests.
32095
32096          ./tests/runtests.py --unit
32097
32098   Running Specific Tests
32099       There  are  times when a specific test file, test class, or even a sin‐
32100       gle, individual test need to be executed,  such  as  when  writing  new
32101       tests. In these situations, the --name option should be used.
32102
32103       For  running a single test file, such as the pillar module test file in
32104       the integration test directory, you must provide the file path using  .
32105       instead of / as separators and no file extension:
32106
32107          ./tests/runtests.py --name=integration.modules.test_pillar
32108          ./tests/runtests.py -n integration.modules.test_pillar
32109
32110       Some test files contain only one test class while other test files con‐
32111       tain multiple test classes. To run a specific  test  class  within  the
32112       file, append the name of the test class to the end of the file path:
32113
32114          ./tests/runtests.py --name=integration.modules.test_pillar.PillarModuleTest
32115          ./tests/runtests.py -n integration.modules.test_pillar.PillarModuleTest
32116
32117       To  run  a  single test within a file, append both the name of the test
32118       class the individual test belongs to, as well as the name of  the  test
32119       itself:
32120
32121          ./tests/runtests.py \
32122            --name=integration.modules.test_pillar.PillarModuleTest.test_data
32123          ./tests/runtests.py \
32124            -n integration.modules.test_pillar.PillarModuleTest.test_data
32125
32126       The  --name  and -n options can be used for unit tests as well as inte‐
32127       gration tests. The following command is an example of how to execute  a
32128       single test found in the tests/unit/modules/test_cp.py file:
32129
32130          ./tests/runtests.py \
32131            -n unit.modules.test_cp.CpTestCase.test_get_template_success
32132
32133   Writing Tests for Salt
32134       Once  you're comfortable running tests, you can now start writing them!
32135       Be sure to review the Integration vs. Unit section of this tutorial  to
32136       determine  what  type  of test makes the most sense for the code you're
32137       testing.
32138
32139       NOTE:
32140          There are many decorators, naming conventions, and  code  specifica‐
32141          tions  required  for Salt test files. We will not be covering all of
32142          the these specifics in this tutorial. Please refer  to  the  testing
32143          documentation  links listed below in the Additional Testing Documen‐
32144          tation section to learn more about these requirements.
32145
32146          In the following sections, the test examples assume the  "new"  test
32147          is  added  to a test file that is already present and regularly run‐
32148          ning in the test suite and is written with the correct requirements.
32149
32150   Writing Integration Tests
32151       Since integration tests validate  against  a  running  environment,  as
32152       explained  in  the  Running Integration Tests section of this tutorial,
32153       integration tests are very easy to write and  are  generally  the  pre‐
32154       ferred method of writing Salt tests.
32155
32156       The  following  integration  test  is an example taken from the test.py
32157       file in the tests/integration/modules directory.  This  test  uses  the
32158       run_function  method  to test the functionality of a traditional execu‐
32159       tion module command.
32160
32161       The run_function method uses the integration test daemons to execute  a
32162       module.function  command  as  you  would with Salt. The minion runs the
32163       function and returns. The test also uses Python's Assert  Functions  to
32164       test that the minion's return is expected.
32165
32166          def test_ping(self):
32167              '''
32168              test.ping
32169              '''
32170              self.assertTrue(self.run_function('test.ping'))
32171
32172       Args can be passed in to the run_function method as well:
32173
32174          def test_echo(self):
32175              '''
32176              test.echo
32177              '''
32178              self.assertEqual(self.run_function('test.echo', ['text']), 'text')
32179
32180       The   next   example   is   taken   from   the   tests/integration/mod‐
32181       ules/test_aliases.py file and demonstrates how to pass  kwargs  to  the
32182       run_function  call. Also note that this test uses another salt function
32183       to ensure the correct data is present (via the aliases.set_target call)
32184       before  attempting  to  assert  what the aliases.get_target call should
32185       return.
32186
32187          def test_set_target(self):
32188              '''
32189              aliases.set_target and aliases.get_target
32190              '''
32191              set_ret = self.run_function(
32192                      'aliases.set_target',
32193                      alias='fred',
32194                      target='bob')
32195              self.assertTrue(set_ret)
32196              tgt_ret = self.run_function(
32197                      'aliases.get_target',
32198                      alias='fred')
32199              self.assertEqual(tgt_ret, 'bob')
32200
32201       Using multiple Salt commands in this manner provides two  useful  bene‐
32202       fits.  The  first  is that it provides some additional coverage for the
32203       aliases.set_target  function.   The  second  benefit  is  the  call  to
32204       aliases.get_target  is not dependent on the presence of any aliases set
32205       outside of this test. Tests should not be  dependent  on  the  previous
32206       execution,  success, or failure of other tests. They should be isolated
32207       from other tests as much as possible.
32208
32209       While it might be tempting to build out a test file where tests  depend
32210       on one another before running, this should be avoided. SaltStack recom‐
32211       mends that each test should test a single functionality and not rely on
32212       other  tests. Therefore, when possible, individual tests should also be
32213       broken up into singular pieces. These are not hard-and-fast rules,  but
32214       serve  more  as  recommendations  to  keep the test suite simple.  This
32215       helps with debugging code and related tests  when  failures  occur  and
32216       problems are exposed. There may be instances where large tests use many
32217       asserts to set up a use case that protects  against  potential  regres‐
32218       sions.
32219
32220       NOTE:
32221          The examples above all use the run_function option to test execution
32222          module functions in a traditional master/minion environment. To  see
32223          examples  of  how  to test other common Salt components such as run‐
32224          ners, salt-api, and more, please refer to the Integration Test Class
32225          Examples documentation.
32226
32227   Destructive vs Non-destructive Tests
32228       Since  Salt  is  used  to  change the settings and behavior of systems,
32229       often, the best approach to run tests is to make actual changes  to  an
32230       underlying  system.   This is where the concept of destructive integra‐
32231       tion tests comes into play.  Tests can be written to alter  the  system
32232       they are running on. This capability is what fills in the gap needed to
32233       properly test aspects of system management like package installation.
32234
32235       To write a destructive test, import and use the destructiveTest decora‐
32236       tor for the test method:
32237
32238          import integration
32239          from tests.support.helpers import destructiveTest
32240
32241          class PkgTest(integration.ModuleCase):
32242              @destructiveTest
32243              def test_pkg_install(self):
32244                  ret = self.run_function('pkg.install', name='finch')
32245                  self.assertSaltTrueReturn(ret)
32246                  ret = self.run_function('pkg.purge', name='finch')
32247                  self.assertSaltTrueReturn(ret)
32248
32249   Writing Unit Tests
32250       As  explained  in  the  Integration  vs. Unit section above, unit tests
32251       should be written to test the logic of a function. This includes focus‐
32252       ing  on testing return and raises statements. Substantial effort should
32253       be made to mock external resources that are  used  in  the  code  being
32254       tested.
32255
32256       External  resources  that should be mocked include, but are not limited
32257       to, APIs, function calls, external data either  globally  available  or
32258       passed  in  through  function  arguments, file data, etc. This practice
32259       helps to isolate unit tests to test Salt logic. One handy way to  think
32260       about  writing unit tests is to "block all of the exits". More informa‐
32261       tion about how to properly mock external  resources  can  be  found  in
32262       Salt's Unit Test documentation.
32263
32264       Salt's unit tests utilize Python's mock class as well as MagicMock. The
32265       @patch decorator is also heavily used when "blocking all the exits".
32266
32267       A simple example of a unit  test  currently  in  use  in  Salt  is  the
32268       test_get_file_not_found test in the tests/unit/modules/test_cp.py file.
32269       This test uses the @patch decorator and MagicMock to mock the return of
32270       the call to Salt's cp.hash_file execution module function. This ensures
32271       that we're testing the cp.get_file function directly, instead of  inad‐
32272       vertently   testing   the  call  to  cp.hash_file,  which  is  used  in
32273       cp.get_file.
32274
32275          def test_get_file_not_found(self):
32276              '''
32277              Test if get_file can't find the file.
32278              '''
32279              with patch('salt.modules.cp.hash_file', MagicMock(return_value=False)):
32280                  path = 'salt://saltines'
32281                  dest = '/srv/salt/cheese'
32282                  ret = ''
32283                  self.assertEqual(cp.get_file(path, dest), ret)
32284
32285       Note that Salt's cp module is imported at the top of  the  file,  along
32286       with  all of the other necessary testing imports. The get_file function
32287       is then called directed in the testing function, instead of  using  the
32288       run_function method as the integration test examples do above.
32289
32290       The  call to cp.get_file returns an empty string when a hash_file isn't
32291       found.  Therefore, the example above is a good illustration of  a  unit
32292       test  "blocking the exits" via the @patch decorator, as well as testing
32293       logic via asserting against the return statement in the if clause.
32294
32295       There are more examples of writing unit tests of  varying  complexities
32296       available in the following docs:
32297
32298       · Simple Unit Test Example
32299
32300       · Complete Unit Test Example
32301
32302       · Complex Unit Test Example
32303
32304       NOTE:
32305          Considerable care should be made to ensure that you're testing some‐
32306          thing useful in your test functions. It is very easy to fall into  a
32307          situation  where  you  have  mocked so much of the original function
32308          that the test results in only asserting against the  data  you  have
32309          provided. This results in a poor and fragile unit test.
32310
32311   Checking for Log Messages
32312       To  test  to see if a given log message has been emitted, the following
32313       pattern can be used
32314
32315          # Import logging handler
32316          from tests.support.helpers import TstSuiteLoggingHandler
32317
32318          # .. inside test
32319          with TstSuiteLoggingHandler() as handler:
32320              for message in handler.messages:
32321                  if message.startswith('ERROR: This is the error message we seek'):
32322                      break
32323                  else:
32324                      raise AssertionError('Did not find error message')
32325
32326   Automated Test Runs
32327       SaltStack  maintains  a  Jenkins  server  which  can   be   viewed   at
32328       https://jenkins.saltstack.com.  The  tests  executed  from this Jenkins
32329       server create fresh virtual machines for each test  run,  then  execute
32330       the  destructive  tests  on the new, clean virtual machine. This allows
32331       for the execution of tests across supported platforms.
32332
32333   Additional Testing Documentation
32334       In addition to this tutorial, there are some  other  helpful  resources
32335       and  documentation that go into more depth on Salt's test runner, writ‐
32336       ing tests for Salt code,  and  general  Python  testing  documentation.
32337       Please see the follow references for more information:
32338
32339       · Salt's Test Suite Documentation
32340
32341       · Integration Tests
32342
32343       · Unit Tests
32344
32345       · MagicMock
32346
32347       · Python Unittest
32348
32349       · Python's Assert Functions
32350
32351   Troubleshooting
32352       The  intent of the troubleshooting section is to introduce solutions to
32353       a number of common issues encountered by users and the tools  that  are
32354       available to aid in developing States and Salt code.
32355
32356   Troubleshooting the Salt Master
32357       If  your  Salt  master  is  having issues such as minions not returning
32358       data, slow execution times, or a variety of other issues, the following
32359       links contain details on troubleshooting the most common issues encoun‐
32360       tered:
32361
32362   Troubleshooting the Salt Master
32363   Running in the Foreground
32364       A great deal of information is available via the debug logging  system,
32365       if  you  are  having issues with minions connecting or not starting run
32366       the master in the foreground:
32367
32368          # salt-master -l debug
32369
32370       Anyone wanting to run Salt daemons via a  process  supervisor  such  as
32371       monit,  runit,  or supervisord, should omit the -d argument to the dae‐
32372       mons and run them in the foreground.
32373
32374   What Ports does the Master Need Open?
32375       For the master, TCP ports 4505 and 4506 need to be open. If you've  put
32376       both  your  Salt  master  and  minion  in  debug  mode and don't see an
32377       acknowledgment that your minion has connected, it could very well be  a
32378       firewall  interfering  with the connection. See our firewall configura‐
32379       tion page for help opening the firewall on various platforms.
32380
32381       If you've opened the correct TCP ports and still aren't seeing  connec‐
32382       tions,  check  that no additional access control system such as SELinux
32383       or AppArmor is blocking Salt.
32384
32385   Too many open files
32386       The salt-master needs at least 2 sockets per host that connects to  it,
32387       one  for the Publisher and one for response port. Thus, large installa‐
32388       tions may, upon scaling up the number of minions accessing a given mas‐
32389       ter, encounter:
32390
32391          12:45:29,289 [salt.master    ][INFO    ] Starting Salt worker process 38
32392          Too many open files
32393          sock != -1 (tcp_listener.cpp:335)
32394
32395       The  solution  to this would be to check the number of files allowed to
32396       be opened by the user running salt-master (root by default):
32397
32398          [root@salt-master ~]# ulimit -n
32399          1024
32400
32401       If this value is not equal to at least twice  the  number  of  minions,
32402       then  it  will  need  to be raised. For example, in an environment with
32403       1800 minions, the nofile limit should be set to no less than 3600. This
32404       can  be  done by creating the file /etc/security/limits.d/99-salt.conf,
32405       with the following contents:
32406
32407          root        hard    nofile        4096
32408          root        soft    nofile        4096
32409
32410       Replace root with the user under which the master runs, if different.
32411
32412       If your master does not have an /etc/security/limits.d  directory,  the
32413       lines can simply be appended to /etc/security/limits.conf.
32414
32415       As  with  any change to resource limits, it is best to stay logged into
32416       your current shell and open another shell to run ulimit  -n  again  and
32417       verify  that  the changes were applied correctly. Additionally, if your
32418       master is running upstart, it may be necessary to  specify  the  nofile
32419       limit  in  /etc/default/salt-master  if  upstart  isn't respecting your
32420       resource limits:
32421
32422          limit nofile 4096 4096
32423
32424       NOTE:
32425          The above is simply an example of how to set these values,  and  you
32426          may  wish to increase them even further if your Salt master is doing
32427          more than just running Salt.
32428
32429   Salt Master Stops Responding
32430       There are known bugs with ZeroMQ versions less than  2.1.11  which  can
32431       cause  the  Salt  master  to  not respond properly. If you're running a
32432       ZeroMQ version greater than or equal to 2.1.9, you can work around  the
32433       bug  by  setting the sysctls net.core.rmem_max and net.core.wmem_max to
32434       16777216.  Next,  set  the  third  field   in   net.ipv4.tcp_rmem   and
32435       net.ipv4.tcp_wmem to at least 16777216.
32436
32437       You can do it manually with something like:
32438
32439          # echo 16777216 > /proc/sys/net/core/rmem_max
32440          # echo 16777216 > /proc/sys/net/core/wmem_max
32441          # echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_rmem
32442          # echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_wmem
32443
32444       Or with the following Salt state:
32445
32446          net.core.rmem_max:
32447            sysctl:
32448              - present
32449              - value: 16777216
32450
32451          net.core.wmem_max:
32452            sysctl:
32453              - present
32454              - value: 16777216
32455
32456          net.ipv4.tcp_rmem:
32457            sysctl:
32458              - present
32459              - value: 4096 87380 16777216
32460
32461          net.ipv4.tcp_wmem:
32462            sysctl:
32463              - present
32464              - value: 4096 87380 16777216
32465
32466   Live Python Debug Output
32467       If  the master seems to be unresponsive, a SIGUSR1 can be passed to the
32468       salt-master threads to display what piece of code  is  executing.  This
32469       debug information can be invaluable in tracking down bugs.
32470
32471       To  pass a SIGUSR1 to the master, first make sure the master is running
32472       in the foreground. Stop the service if it is running as a  daemon,  and
32473       start it in the foreground like so:
32474
32475          # salt-master -l debug
32476
32477       Then pass the signal to the master when it seems to be unresponsive:
32478
32479          # killall -SIGUSR1 salt-master
32480
32481       When  filing  an  issue  or sending questions to the mailing list for a
32482       problem with an unresponsive daemon, be sure to include  this  informa‐
32483       tion if possible.
32484
32485   Live Salt-Master Profiling
32486       When  faced  with  performance  problems one can turn on master process
32487       profiling by sending it SIGUSR2.
32488
32489          # killall -SIGUSR2 salt-master
32490
32491       This will activate yappi profiler inside salt-master code,  then  after
32492       some  time  one  must  send  SIGUSR2  again  to stop profiling and save
32493       results to file. If run in foreground salt-master will report  filename
32494       for  the  results,  which  are usually located under /tmp on Unix-based
32495       OSes and c:\temp on windows.
32496
32497       Make sure you have yappi installed.
32498
32499       Results can then be analyzed with kcachegrind or similar tool.
32500
32501       On Windows, in the absense of kcachegrind, a simple file-based workflow
32502       to create profiling graphs could use gprof2dot, graphviz and this batch
32503       file:
32504
32505          ::
32506          :: Converts callgrind* profiler output to *.pdf, via *.dot
32507          ::
32508          @echo off
32509          del *.dot.pdf
32510          for /r %%f in (callgrind*) do (
32511          echo "%%f"
32512              gprof2dot.exe -f callgrind --show-samples  "%%f" -o "%%f.dot"
32513              dot.exe "%%f.dot" -Tpdf -O
32514              del "%%f.dot"
32515          )
32516
32517   Commands Time Out or Do Not Return Output
32518       Depending on your OS (this is most common on Ubuntu due to apt-get) you
32519       may  sometimes  encounter times where a state.apply, or other long run‐
32520       ning commands do not return output.
32521
32522       By default the timeout is set to 5 seconds. The timeout value can  eas‐
32523       ily   be   increased   by   modifying  the  timeout  line  within  your
32524       /etc/salt/master configuration file.
32525
32526       Having keys accepted for Salt minions that no longer exist or  are  not
32527       reachable  also  increases  the possibility of timeouts, since the Salt
32528       master waits for those systems to return command results.
32529
32530   Passing the -c Option to Salt Returns a Permissions Error
32531       Using the -c option with the Salt command  modifies  the  configuration
32532       directory.  When the configuration file is read it will still base data
32533       off of the root_dir setting. This can result in unintended behavior  if
32534       you  are  expecting  files  such as /etc/salt/pki to be pulled from the
32535       location specified with -c. Modify the root_dir setting to address this
32536       behavior.
32537
32538   Salt Master Doesn't Return Anything While Running jobs
32539       When  a  command  being  run  via Salt takes a very long time to return
32540       (package installations, certain scripts, etc.) the master may drop  you
32541       back to the shell. In most situations the job is still running but Salt
32542       has exceeded the set timeout before returning. Querying the  job  queue
32543       will  provide  the  data  of  the  job but is inconvenient. This can be
32544       resolved by either manually using the -t option to set a longer timeout
32545       when  running commands (by default it is 5 seconds) or by modifying the
32546       master configuration file: /etc/salt/master  and  setting  the  timeout
32547       value to change the default timeout for all commands, and then restart‐
32548       ing the salt-master service.
32549
32550       If a state.apply run takes too long,  you  can  find  a  bottleneck  by
32551       adding the --out=profile option.
32552
32553   Salt Master Auth Flooding
32554       In large installations, care must be taken not to overwhealm the master
32555       with authentication requests. Several options can be set on the  master
32556       which  mitigate  the chances of an authentication flood from causing an
32557       interruption in service.
32558
32559       NOTE:
32560          recon_default:
32561
32562          The average number of seconds to wait between reconnection attempts.
32563
32564          recon_max:
32565                 The maximum number of seconds to  wait  between  reconnection
32566                 attempts.
32567
32568          recon_randomize:
32569                 A  flag to indicate whether the recon_default value should be
32570                 randomized.
32571
32572          acceptance_wait_time:
32573                 The number of seconds to wait for a reply to each authentica‐
32574                 tion request.
32575
32576          random_reauth_delay:
32577                 The  range of seconds across which the minions should attempt
32578                 to randomize authentication attempts.
32579
32580          auth_timeout:
32581                 The total time to wait for the authentication process to com‐
32582                 plete, regardless of the number of attempts.
32583
32584   Running states locally
32585       To debug the states, you can use call locally.
32586
32587          salt-call -l trace --local state.highstate
32588
32589       The  top.sls  file is used to map what SLS modules get loaded onto what
32590       minions via the state system.
32591
32592       It is located in the file defined in the  file_roots  variable  of  the
32593       salt  master  configuration  file  which  is  defined  by found in CON‐
32594       FIG_DIR/master, normally /etc/salt/master
32595
32596       The default configuration for the file_roots is:
32597
32598          file_roots:
32599            base:
32600              - /srv/salt
32601
32602       So the top file is defaulted to the location /srv/salt/top.sls
32603
32604   Salt Master Umask
32605       The salt master uses a cache to track jobs as they  are  published  and
32606       returns  come  back.   The  recommended umask for a salt-master is 022,
32607       which is the default for most users on a system. Incorrect  umasks  can
32608       result  in  permission-denied  errors  when  the master tries to access
32609       files in its cache.
32610
32611   Troubleshooting the Salt Minion
32612       In the event that your Salt minion is having issues, a variety of solu‐
32613       tions  and  suggestions  are  available.  Please refer to the following
32614       links for more information:
32615
32616   Troubleshooting the Salt Minion
32617   Running in the Foreground
32618       A great deal of information is available via the debug logging  system,
32619       if  you  are  having issues with minions connecting or not starting run
32620       the minion in the foreground:
32621
32622          # salt-minion -l debug
32623
32624       Anyone wanting to run Salt daemons via a  process  supervisor  such  as
32625       monit,  runit,  or supervisord, should omit the -d argument to the dae‐
32626       mons and run them in the foreground.
32627
32628   What Ports does the Minion Need Open?
32629       No ports need to be opened on the minion, as it makes outbound  connec‐
32630       tions  to the master. If you've put both your Salt master and minion in
32631       debug mode and don't see an acknowledgment that your  minion  has  con‐
32632       nected,  it  could very well be a firewall interfering with the connec‐
32633       tion. See our firewall configuration page for help opening the firewall
32634       on various platforms.
32635
32636       If  you have netcat installed, you can check port connectivity from the
32637       minion with the nc command:
32638
32639          $ nc -v -z salt.master.ip.addr 4505
32640          Connection to salt.master.ip.addr 4505 port [tcp/unknown] succeeded!
32641          $ nc -v -z salt.master.ip.addr 4506
32642          Connection to salt.master.ip.addr 4506 port [tcp/unknown] succeeded!
32643
32644       The Nmap utility can also be used to check if these ports are open:
32645
32646          # nmap -sS -q -p 4505-4506 salt.master.ip.addr
32647
32648          Starting Nmap 6.40 ( http://nmap.org ) at 2013-12-29 19:44 CST
32649          Nmap scan report for salt.master.ip.addr (10.0.0.10)
32650          Host is up (0.0026s latency).
32651          PORT     STATE  SERVICE
32652          4505/tcp open   unknown
32653          4506/tcp open   unknown
32654          MAC Address: 00:11:22:AA:BB:CC (Intel)
32655
32656          Nmap done: 1 IP address (1 host up) scanned in 1.64 seconds
32657
32658       If you've opened the correct TCP ports and still aren't seeing  connec‐
32659       tions,  check  that no additional access control system such as SELinux
32660       or AppArmor is blocking Salt. Tools like tcptraceroute can also be used
32661       to  determine  if  an  intermediate  device or firewall is blocking the
32662       needed TCP ports.
32663
32664   Using salt-call
32665       The salt-call command was originally developed for aiding in the devel‐
32666       opment  of  new  Salt  modules. Since then, many applications have been
32667       developed for running any Salt module locally on a minion. These  range
32668       from  the  original  intent  of  salt-call (development assistance), to
32669       gathering more verbose output from calls like state.apply.
32670
32671       When initially creating your state tree, it is generally recommended to
32672       invoke  highstates by running state.apply directly from the minion with
32673       salt-call, rather than remotely from the master. This displays far more
32674       information about the execution than calling it remotely. For even more
32675       verbosity, increase the loglevel using the -l argument:
32676
32677          # salt-call -l debug state.apply
32678
32679       The main difference between using salt  and  using  salt-call  is  that
32680       salt-call  is  run from the minion, and it only runs the selected func‐
32681       tion on that minion. By contrast, salt is  run  from  the  master,  and
32682       requires  you  to specify the minions on which to run the command using
32683       salt's targeting system.
32684
32685   Live Python Debug Output
32686       If the minion seems to be unresponsive, a SIGUSR1 can be passed to  the
32687       process to display what piece of code is executing. This debug informa‐
32688       tion can be invaluable in tracking down bugs.
32689
32690       To pass a SIGUSR1 to the minion, first make sure the minion is  running
32691       in  the  foreground. Stop the service if it is running as a daemon, and
32692       start it in the foreground like so:
32693
32694          # salt-minion -l debug
32695
32696       Then pass the signal to the minion when it seems to be unresponsive:
32697
32698          # killall -SIGUSR1 salt-minion
32699
32700       When filing an issue or sending questions to the  mailing  list  for  a
32701       problem  with  an unresponsive daemon, be sure to include this informa‐
32702       tion if possible.
32703
32704   Multiprocessing in Execution Modules
32705       As is outlined in github issue #6300, Salt cannot use  python's  multi‐
32706       processing  pipes  and  queues  from execution modules. Multiprocessing
32707       from the execution modules is perfectly viable, it is just necessary to
32708       use Salt's event system to communicate back with the process.
32709
32710       The  reason  for  this difficulty is that python attempts to pickle all
32711       objects in memory when communicating, and  it  cannot  pickle  function
32712       objects.  Since  the  Salt  loader  system creates and manages function
32713       objects this causes the pickle operation to fail.
32714
32715   Salt Minion Doesn't Return Anything While Running Jobs Locally
32716       When a command being run via Salt takes a  very  long  time  to  return
32717       (package  installations, certain scripts, etc.) the minion may drop you
32718       back to the shell. In most situations the job is still running but Salt
32719       has  exceeded  the set timeout before returning. Querying the job queue
32720       will provide the data of the job  but  is  inconvenient.  This  can  be
32721       resolved by either manually using the -t option to set a longer timeout
32722       when running commands (by default it is 5 seconds) or by modifying  the
32723       minion  configuration  file:  /etc/salt/minion  and setting the timeout
32724       value to change the default timeout for all commands, and then restart‐
32725       ing the salt-minion service.
32726
32727       NOTE:
32728          Modifying the minion timeout value is not required when running com‐
32729          mands from a Salt Master. It is only required when running  commands
32730          locally on the minion.
32731
32732       If  a  state.apply  run  takes  too  long, you can find a bottleneck by
32733       adding the --out=profile option.
32734
32735   Running in the Foreground
32736       A great deal of information is available via the debug logging  system,
32737       if  you  are  having issues with minions connecting or not starting run
32738       the minion and/or master in the foreground:
32739
32740          salt-master -l debug
32741          salt-minion -l debug
32742
32743       Anyone wanting to run Salt daemons via a  process  supervisor  such  as
32744       monit,  runit,  or supervisord, should omit the -d argument to the dae‐
32745       mons and run them in the foreground.
32746
32747   What Ports do the Master and Minion Need Open?
32748       No ports need to be opened up on each minion. For the master, TCP ports
32749       4505  and 4506 need to be open. If you've put both your Salt master and
32750       minion in debug mode and don't see an acknowledgment that  your  minion
32751       has connected, it could very well be a firewall.
32752
32753       You can check port connectivity from the minion with the nc command:
32754
32755          nc -v -z salt.master.ip 4505
32756          nc -v -z salt.master.ip 4506
32757
32758       There  is  also  a  firewall  configuration document that might help as
32759       well.
32760
32761       If you've enabled the right TCP ports on your operating system or Linux
32762       distribution's firewall and still aren't seeing connections, check that
32763       no additional access control system such  as  SELinux  or  AppArmor  is
32764       blocking Salt.
32765
32766   Using salt-call
32767       The salt-call command was originally developed for aiding in the devel‐
32768       opment of new Salt modules. Since then,  many  applications  have  been
32769       developed  for running any Salt module locally on a minion. These range
32770       from the original intent of salt-call, development assistance, to gath‐
32771       ering more verbose output from calls like state.apply.
32772
32773       When initially creating your state tree, it is generally recommended to
32774       invoke state.apply directly from the minion with salt-call, rather than
32775       remotely  from the master. This displays far more information about the
32776       execution than calling it remotely. For even more  verbosity,  increase
32777       the loglevel using the -l argument:
32778
32779          salt-call -l debug state.apply
32780
32781       The  main  difference  between  using  salt and using salt-call is that
32782       salt-call is run from the minion, and it only runs the  selected  func‐
32783       tion  on  that  minion.  By  contrast, salt is run from the master, and
32784       requires you to specify the minions on which to run the  command  using
32785       salt's targeting system.
32786
32787   Too many open files
32788       The  salt-master needs at least 2 sockets per host that connects to it,
32789       one for the Publisher and one for response port. Thus, large  installa‐
32790       tions may, upon scaling up the number of minions accessing a given mas‐
32791       ter, encounter:
32792
32793          12:45:29,289 [salt.master    ][INFO    ] Starting Salt worker process 38
32794          Too many open files
32795          sock != -1 (tcp_listener.cpp:335)
32796
32797       The solution to this would be to check the number of files  allowed  to
32798       be opened by the user running salt-master (root by default):
32799
32800          [root@salt-master ~]# ulimit -n
32801          1024
32802
32803       And  modify  that value to be at least equal to the number of minions x
32804       2.  This setting can be changed in limits.conf as the nofile  value(s),
32805       and activated upon new a login of the specified user.
32806
32807       So,  an  environment with 1800 minions, would need 1800 x 2 = 3600 as a
32808       minimum.
32809
32810   Salt Master Stops Responding
32811       There are known bugs with ZeroMQ versions less than  2.1.11  which  can
32812       cause  the  Salt  master  to  not respond properly. If you're running a
32813       ZeroMQ version greater than or equal to 2.1.9, you can work around  the
32814       bug  by  setting the sysctls net.core.rmem_max and net.core.wmem_max to
32815       16777216.  Next,  set  the  third  field   in   net.ipv4.tcp_rmem   and
32816       net.ipv4.tcp_wmem to at least 16777216.
32817
32818       You can do it manually with something like:
32819
32820          # echo 16777216 > /proc/sys/net/core/rmem_max
32821          # echo 16777216 > /proc/sys/net/core/wmem_max
32822          # echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_rmem
32823          # echo "4096 87380 16777216" > /proc/sys/net/ipv4/tcp_wmem
32824
32825       Or with the following Salt state:
32826
32827          net.core.rmem_max:
32828            sysctl:
32829              - present
32830              - value: 16777216
32831
32832          net.core.wmem_max:
32833            sysctl:
32834              - present
32835              - value: 16777216
32836
32837          net.ipv4.tcp_rmem:
32838            sysctl:
32839              - present
32840              - value: 4096 87380 16777216
32841
32842          net.ipv4.tcp_wmem:
32843            sysctl:
32844              - present
32845              - value: 4096 87380 16777216
32846
32847   Salt and SELinux
32848       Currently  there  are  no  SELinux policies for Salt. For the most part
32849       Salt runs without issue when SELinux is running in Enforcing mode. This
32850       is  because  when  the  minion executes as a daemon the type context is
32851       changed to initrc_t.   The  problem  with  SELinux  arises  when  using
32852       salt-call  or running the minion in the foreground, since the type con‐
32853       text stays unconfined_t.
32854
32855       This problem is generally manifest in  the  rpm  install  scripts  when
32856       using the pkg module. Until a full SELinux Policy is available for Salt
32857       the solution to this issue is to set the execution context of salt-call
32858       and salt-minion to rpm_exec_t:
32859
32860          # CentOS 5 and RHEL 5:
32861          chcon -t system_u:system_r:rpm_exec_t:s0 /usr/bin/salt-minion
32862          chcon -t system_u:system_r:rpm_exec_t:s0 /usr/bin/salt-call
32863
32864          # CentOS 6 and RHEL 6:
32865          chcon system_u:object_r:rpm_exec_t:s0 /usr/bin/salt-minion
32866          chcon system_u:object_r:rpm_exec_t:s0 /usr/bin/salt-call
32867
32868       This  works well, because the rpm_exec_t context has very broad control
32869       over other types.
32870
32871   Red Hat Enterprise Linux 5
32872       Salt requires Python 2.6 or 2.7. Red Hat Enterprise  Linux  5  and  its
32873       variants  come with Python 2.4 installed by default. When installing on
32874       RHEL 5 from the EPEL repository this is handled for you.  But,  if  you
32875       run  Salt  from  git,  be  advised  that  its  dependencies  need to be
32876       installed from EPEL and that Salt needs to be  run  with  the  python26
32877       executable.
32878
32879   Common YAML Gotchas
32880       An extensive list of YAML idiosyncrasies has been compiled:
32881
32882   YAML Idiosyncrasies
32883       One  of Salt's strengths, the use of existing serialization systems for
32884       representing SLS data, can also backfire. YAML  is  a  general  purpose
32885       system  and  there are a number of things that would seem to make sense
32886       in an sls file that cause YAML issues. It is wise to be aware of  these
32887       issues.  While reports or running into them are generally rare they can
32888       still crop up at unexpected times.
32889
32890   Spaces vs Tabs
32891       YAML uses spaces, period. Do not use tabs in your SLS files! If strange
32892       errors are coming up in rendering SLS files, make sure to check that no
32893       tabs have crept in! In Vim, after enabling  search  highlighting  with:
32894       :set hlsearch,  you can check with the following key sequence in normal
32895       mode(you can hit ESC twice to be sure): /, Ctrl-v, Tab, then hit Enter.
32896       Also,  you  can convert tabs to 2 spaces by these commands in Vim: :set
32897       tabstop=2 expandtab and then :retab.
32898
32899   Indentation
32900       The suggested syntax for YAML files is to use 2 spaces for indentation,
32901       but  YAML  will  follow whatever indentation system that the individual
32902       file uses. Indentation of two spaces works  very  well  for  SLS  files
32903       given the fact that the data is uniform and not deeply nested.
32904
32905   Nested Dictionaries
32906       When dictionaries are nested within other data structures (particularly
32907       lists), the indentation logic sometimes  changes.   Examples  of  where
32908       this  might  happen  include  context  and  default  options  from  the
32909       file.managed state:
32910
32911          /etc/http/conf/http.conf:
32912            file:
32913              - managed
32914              - source: salt://apache/http.conf
32915              - user: root
32916              - group: root
32917              - mode: 644
32918              - template: jinja
32919              - context:
32920                  custom_var: "override"
32921              - defaults:
32922                  custom_var: "default value"
32923                  other_var: 123
32924
32925       Notice that while the indentation is two spaces per level, for the val‐
32926       ues  under  the  context  and  defaults  options  there is a four-space
32927       indent. If only two spaces are used to indent, then those keys will  be
32928       considered  part  of the same dictionary that contains the context key,
32929       and so the data will not be loaded correctly. If using a double  indent
32930       is  not desirable, then a deeply-nested dict can be declared with curly
32931       braces:
32932
32933          /etc/http/conf/http.conf:
32934            file:
32935              - managed
32936              - source: salt://apache/http.conf
32937              - user: root
32938              - group: root
32939              - mode: 644
32940              - template: jinja
32941              - context: {
32942                custom_var: "override" }
32943              - defaults: {
32944                custom_var: "default value",
32945                other_var: 123 }
32946
32947       Here is a more concrete example of  how  YAML  actually  handles  these
32948       indentations, using the Python interpreter on the command line:
32949
32950          >>> import yaml
32951          >>> yaml.safe_load('''mystate:
32952          ...   file.managed:
32953          ...     - context:
32954          ...         some: var''')
32955          {'mystate': {'file.managed': [{'context': {'some': 'var'}}]}}
32956          >>> yaml.safe_load('''mystate:
32957          ...   file.managed:
32958          ...     - context:
32959          ...       some: var''')
32960          {'mystate': {'file.managed': [{'some': 'var', 'context': None}]}}
32961
32962       Note  that  in  the second example, some is added as another key in the
32963       same dictionary, whereas in the first example, it's the start of a  new
32964       dictionary.   That's  the  distinction.  context  is  a  common example
32965       because it is a keyword arg for many functions, and  should  contain  a
32966       dictionary.
32967
32968   True/False, Yes/No, On/Off
32969       PyYAML  will load these values as boolean True or False. Un-capitalized
32970       versions will also be loaded as booleans (true, false, yes, no, on, and
32971       off). This can be especially problematic when constructing Pillar data.
32972       Make sure that your Pillars which need to use the  string  versions  of
32973       these  values  are  enclosed in quotes. Pillars will be parsed twice by
32974       salt, so you'll need to wrap your values in multiple quotes,  including
32975       double  quotation  marks  ("  ") and single quotation marks (' '). Note
32976       that spaces are included in the quotation type examples for clarity.
32977
32978       Multiple quoting examples looks like this:
32979
32980          - '"false"'
32981          - "'True'"
32982          - "'YES'"
32983          - '"No"'
32984
32985       NOTE:
32986          When using multiple quotes in this manner, they must  be  different.
32987          Using "" "" or '' '' won't work in this case (spaces are included in
32988          examples for clarity).
32989
32990   The '%' Sign
32991       The % symbol has a special meaning in YAML, it needs to be passed as  a
32992       string literal:
32993
32994          cheese:
32995            ssh_auth.present:
32996              - user: tbortels
32997              - source: salt://ssh_keys/chease.pub
32998              - config: '%h/.ssh/authorized_keys'
32999
33000   Time Expressions
33001       PyYAML will load a time expression as the integer value of that, assum‐
33002       ing HH:MM. So for example, 12:00 is loaded by PyYAML as 720. An  excel‐
33003       lent explanation for why can be found here.
33004
33005       To  keep  time  expressions  like  this  from being loaded as integers,
33006       always quote them.
33007
33008       NOTE:
33009          When using a jinja load_yaml map, items must be  quoted  twice.  For
33010          example:
33011
33012              {% load_yaml as wsus_schedule %}
33013
33014              FRI_10:
33015                time: '"23:00"'
33016                day: 6 - Every Friday
33017              SAT_10:
33018                time: '"06:00"'
33019                day: 7 - Every Saturday
33020              SAT_20:
33021                time: '"14:00"'
33022                day: 7 - Every Saturday
33023              SAT_30:
33024                time: '"22:00"'
33025                day: 7 - Every Saturday
33026              SUN_10:
33027                time: '"06:00"'
33028                day: 1 - Every Sunday
33029              {% endload %}
33030
33031   YAML does not like Double Short Decs
33032       If  I  can  find  a  way to make YAML accept "Double Short Decs" then I
33033       will, since I think that double short decs would be awesome. So what is
33034       a  "Double  Short Dec"? It is when you declare a multiple short decs in
33035       one ID. Here is a standard short dec, it works great:
33036
33037          vim:
33038            pkg.installed
33039
33040       The short dec means that there are no arguments to pass, so it  is  not
33041       required to add any arguments, and it can save space.
33042
33043       YAML  though,  gets  upset  when declaring multiple short decs, for the
33044       record...
33045
33046       THIS DOES NOT WORK:
33047
33048          vim:
33049            pkg.installed
33050            user.present
33051
33052       Similarly declaring a short dec in the same ID dec as  a  standard  dec
33053       does not work either...
33054
33055       ALSO DOES NOT WORK:
33056
33057          fred:
33058            user.present
33059            ssh_auth.present:
33060              - name: AAAAB3NzaC...
33061              - user: fred
33062              - enc: ssh-dss
33063              - require:
33064                - user: fred
33065
33066       The correct way is to define them like this:
33067
33068          vim:
33069            pkg.installed: []
33070            user.present: []
33071
33072          fred:
33073            user.present: []
33074            ssh_auth.present:
33075              - name: AAAAB3NzaC...
33076              - user: fred
33077              - enc: ssh-dss
33078              - require:
33079                - user: fred
33080
33081       Alternatively,   they  can  be defined the "old way",  or with multiple
33082       "full decs":
33083
33084          vim:
33085            pkg:
33086              - installed
33087            user:
33088              - present
33089
33090          fred:
33091            user:
33092              - present
33093            ssh_auth:
33094              - present
33095              - name: AAAAB3NzaC...
33096              - user: fred
33097              - enc: ssh-dss
33098              - require:
33099                - user: fred
33100
33101   YAML supports only plain ASCII
33102       According to YAML specification, only ASCII characters can be used.
33103
33104       Within  double-quotes,  special  characters  may  be  represented  with
33105       C-style escape sequences starting with a backslash ( \ ).
33106
33107       Examples:
33108
33109          - micro: "\u00b5"
33110          - copyright: "\u00A9"
33111          - A: "\x41"
33112          - alpha: "\u0251"
33113          - Alef: "\u05d0"
33114
33115       List  of  usable  Unicode characters  will help you to identify correct
33116       numbers.
33117
33118       Python can also be used to discover the Unicode number for a character:
33119
33120          repr(u"Text with wrong characters i need to figure out")
33121
33122       This shell command can find wrong characters in your SLS files:
33123
33124          find . -name '*.sls'  -exec  grep --color='auto' -P -n '[^\x00-\x7F]' \{} \;
33125
33126       Alternatively you can toggle the yaml_utf8 setting in your master  con‐
33127       figuration  file.  This  is still an experimental setting but it should
33128       manage the right encoding conversion in salt after yaml states compila‐
33129       tions.
33130
33131   Underscores stripped in Integer Definitions
33132       If  a definition only includes numbers and underscores, it is parsed by
33133       YAML as an integer and all underscores are  stripped.   To  ensure  the
33134       object  becomes  a  string,  it  should  be surrounded by quotes.  More
33135       information here.
33136
33137       Here's an example:
33138
33139          >>> import yaml
33140          >>> yaml.safe_load('2013_05_10')
33141          20130510
33142          >>> yaml.safe_load('"2013_05_10"')
33143          '2013_05_10'
33144
33145   Automatic datetime conversion
33146       If there is a value in a YAML file  formatted  2014-01-20  14:23:23  or
33147       similar,  YAML  will  automatically  convert  this to a Python datetime
33148       object.  These objects are not msgpack serializable, and so  may  break
33149       core  salt functionality.  If values such as these are needed in a salt
33150       YAML file (specifically a configuration file), they should be formatted
33151       with surrounding strings to force YAML to serialize them as strings:
33152
33153          >>> import yaml
33154          >>> yaml.safe_load('2014-01-20 14:23:23')
33155          datetime.datetime(2014, 1, 20, 14, 23, 23)
33156          >>> yaml.safe_load('"2014-01-20 14:23:23"')
33157          '2014-01-20 14:23:23'
33158
33159       Additionally,  numbers formatted like XXXX-XX-XX will also be converted
33160       (or YAML will attempt to convert them, and  error  out  if  it  doesn't
33161       think  the date is a real one).  Thus, for example, if a minion were to
33162       have an ID of 4017-16-20 the minion would not start because YAML  would
33163       complain  that  the date was out of range.  The workaround is the same,
33164       surround the offending string with quotes:
33165
33166          >>> import yaml
33167          >>> yaml.safe_load('4017-16-20')
33168          Traceback (most recent call last):
33169            File "<stdin>", line 1, in <module>
33170            File "/usr/local/lib/python2.7/site-packages/yaml/__init__.py", line 93, in safe_load
33171              return load(stream, SafeLoader)
33172            File "/usr/local/lib/python2.7/site-packages/yaml/__init__.py", line 71, in load
33173              return loader.get_single_data()
33174            File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 39, in get_single_data
33175              return self.construct_document(node)
33176            File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 43, in construct_document
33177              data = self.construct_object(node)
33178            File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 88, in construct_object
33179              data = constructor(self, node)
33180            File "/usr/local/lib/python2.7/site-packages/yaml/constructor.py", line 312, in construct_yaml_timestamp
33181              return datetime.date(year, month, day)
33182          ValueError: month must be in 1..12
33183          >>> yaml.safe_load('"4017-16-20"')
33184          '4017-16-20'
33185
33186   Keys Limited to 1024 Characters
33187       Simple keys are limited to a single line and cannot be longer that 1024
33188       characters.   This is a limitation from PyYaml, as seen in a comment in
33189       PyYAML's code, and applies to anything parsed by YAML in Salt.
33190
33191   Live Python Debug Output
33192       If the minion or master seems to be  unresponsive,  a  SIGUSR1  can  be
33193       passed  to the processes to display where in the code they are running.
33194       If encountering a situation like this, this debug  information  can  be
33195       invaluable.  First  make  sure  the master of minion are running in the
33196       foreground:
33197
33198          salt-master -l debug
33199          salt-minion -l debug
33200
33201       Then pass the signal to the master or minion when it seems to be  unre‐
33202       sponsive:
33203
33204          killall -SIGUSR1 salt-master
33205          killall -SIGUSR1 salt-minion
33206
33207       Also  under  BSD and macOS in addition to SIGUSR1 signal, debug subrou‐
33208       tine set up for SIGINFO which has an advantage of being sent by  Ctrl+T
33209       shortcut.
33210
33211       When  filing  an  issue  or sending questions to the mailing list for a
33212       problem with an unresponsive daemon this information can be invaluable.
33213
33214   Salt 0.16.x minions cannot communicate with a 0.17.x master
33215       As of release 0.17.1 you can no longer run different versions  of  Salt
33216       on your Master and Minion servers. This is due to a protocol change for
33217       security purposes. The Salt team will continue  to  attempt  to  ensure
33218       versions are as backwards compatible as possible.
33219
33220   Debugging the Master and Minion
33221       A  list  of  common  master  and minion troubleshooting steps provide a
33222       starting point for resolving issues you may encounter.
33223
33224   Frequently Asked Questions
33225   FAQ
33226       · Frequently Asked Questions
33227
33228         · Is Salt open-core?
33229
33230         · I think I found a bug! What should I do?
33231
33232         · What ports should I open on my firewall?
33233
33234         · I'm seeing weird behavior (including but not  limited  to  packages
33235           not installing their users properly)
33236
33237         · My script runs every time I run a state.apply. Why?
33238
33239         · When  I run test.ping, why don't the Minions that aren't responding
33240           return anything? Returning False would be helpful.
33241
33242         · How does Salt determine the Minion's id?
33243
33244         · I'm trying to manage packages/services but I get  an  error  saying
33245           that the state is not available. Why?
33246
33247         · Why aren't my custom modules/states/etc. available on my Minions?
33248
33249         · Module  X isn't available, even though the shell command it uses is
33250           installed. Why?
33251
33252         · Can I run different versions of Salt on my Master and Minion?
33253
33254         · Does Salt support backing up managed files?
33255
33256         · Is it possible to deploy a file to a specific minion, without other
33257           minions having access to it?
33258
33259         · What  is  the  best  way to restart a Salt Minion daemon using Salt
33260           after upgrade?
33261
33262           · Upgrade without automatic restart
33263
33264           · Restart using states
33265
33266           · Restart using remote executions
33267
33268           · Waiting for minions to come back online
33269
33270         · Salting the Salt Master
33271
33272         · Is Targeting using Grain Data Secure?
33273
33274         · Why Did the Value for a Grain Change on Its Own?
33275
33276   Is Salt open-core?
33277       No. Salt is 100% committed to being open-source, including all  of  our
33278       APIs.  It  is developed under the Apache 2.0 license, allowing it to be
33279       used in both open and proprietary projects.
33280
33281       To expand on this a little:
33282
33283       There is much argument over the actual definition of "open core".  From
33284       our standpoint, Salt is open source because
33285
33286       1. It is a standalone product that anyone is free to use.
33287
33288       2. It  is  developed  in  the open with contributions accepted from the
33289          community for the good of the project.
33290
33291       3. There are no features of Salt itself that are restricted to separate
33292          proprietary products distributed by SaltStack, Inc.
33293
33294       4. Because  of  our Apache 2.0 license, Salt can be used as the founda‐
33295          tion for a project or even a proprietary tool.
33296
33297       5. Our APIs are open and documented (any lack of  documentation  is  an
33298          oversight  as  opposed  to  an intentional decision by SaltStack the
33299          company) and available for use by anyone.
33300
33301       SaltStack the company does make proprietary products which use Salt and
33302       its  libraries,  like company is free to do, but we do so via the APIs,
33303       NOT by forking Salt and creating a different, closed-source version  of
33304       it for paying customers.
33305
33306   I think I found a bug! What should I do?
33307       The salt-users mailing list as well as the salt IRC channel can both be
33308       helpful resources to confirm if others are  seeing  the  issue  and  to
33309       assist with immediate debugging.
33310
33311       To  report a bug to the Salt project, please follow the instructions in
33312       reporting a bug.
33313
33314   What ports should I open on my firewall?
33315       Minions need to be able to connect to the Master on TCP ports 4505  and
33316       4506.  Minions do not need any inbound ports open. More detailed infor‐
33317       mation on firewall settings can be found here.
33318
33319   I'm seeing weird behavior  (including  but  not  limited  to  packages  not
33320       installing their users properly)
33321       This  is  often caused by SELinux.  Try disabling SELinux or putting it
33322       in permissive mode and see if the weird behavior goes away.
33323
33324   My script runs every time I run a state.apply. Why?
33325       You are probably using cmd.run rather than cmd.wait. A  cmd.wait  state
33326       will only run when there has been a change in a state that it is watch‐
33327       ing.
33328
33329       A cmd.run state will run the corresponding command every  time  (unless
33330       it is prevented from running by the unless or onlyif arguments).
33331
33332       More details can be found in the documentation for the cmd states.
33333
33334   When  I  run test.ping, why don't the Minions that aren't responding return
33335       anything? Returning False would be helpful.
33336       When you run test.ping the Master tells Minions to  run  commands/func‐
33337       tions,  and listens for the return data, printing it to the screen when
33338       it is received.  If it doesn't receive anything back, it  doesn't  have
33339       anything to display for that Minion.
33340
33341       There  are a couple options for getting information on Minions that are
33342       not responding. One is to use the verbose (-v) option when you run salt
33343       commands,  as  it  will display "Minion did not return" for any Minions
33344       which time out.
33345
33346          salt -v '*' pkg.install zsh
33347
33348       Another option is to use the manage.down runner:
33349
33350          salt-run manage.down
33351
33352       Also, if the Master is under heavy load, it is possible  that  the  CLI
33353       will exit without displaying return data for all targeted Minions. How‐
33354       ever, this doesn't mean that the Minions  did  not  return;  this  only
33355       means  that the Salt CLI timed out waiting for a response. Minions will
33356       still send their return data back to the Master once the job completes.
33357       If   any  expected  Minions  are  missing  from  the  CLI  output,  the
33358       jobs.list_jobs runner can be used to show the job IDs of the jobs  that
33359       have  been  run,  and the jobs.lookup_jid runner can be used to get the
33360       return data for that job.
33361
33362          salt-run jobs.list_jobs
33363          salt-run jobs.lookup_jid 20130916125524463507
33364
33365       If you find that you are often missing Minion return data on  the  CLI,
33366       only to find it with the jobs runners, then this may be a sign that the
33367       worker_threads value may need to be  increased  in  the  master  config
33368       file.  Additionally,  running your Salt CLI commands with the -t option
33369       will make Salt wait longer for the return data before the  CLI  command
33370       exits.  For  instance, the below command will wait up to 60 seconds for
33371       the Minions to return:
33372
33373          salt -t 60 '*' test.ping
33374
33375   How does Salt determine the Minion's id?
33376       If the Minion id is not configured explicitly (using the id parameter),
33377       Salt  will  determine the id based on the hostname. Exactly how this is
33378       determined varies a little between operating systems and  is  described
33379       in detail here.
33380
33381   I'm  trying  to manage packages/services but I get an error saying that the
33382       state is not available. Why?
33383       Salt detects the Minion's operating  system  and  assigns  the  correct
33384       package  or  service  management module based on what is detected. How‐
33385       ever, for certain custom spins and OS derivatives this detection fails.
33386       In  cases like this, an issue should be opened on our tracker, with the
33387       following information:
33388
33389       1. The output of the following command:
33390
33391             salt <minion_id> grains.items | grep os
33392
33393       2. The contents of /etc/lsb-release, if present on the Minion.
33394
33395   Why aren't my custom modules/states/etc. available on my Minions?
33396       Custom modules are synced to  Minions  when  saltutil.sync_modules,  or
33397       saltutil.sync_all is run.
33398
33399       Similarly,    custom    states    are    synced    to    Minions   when
33400       saltutil.sync_states, or saltutil.sync_all is run.
33401
33402       They are both also synced when a highstate is triggered.
33403
33404       As of the 2019.2.0 release, as well as 2017.7.7 and 2018.3.2  in  their
33405       respective  release  cycles, the sync argument to state.apply/state.sls
33406       can be used to sync custom types when running individual SLS files.
33407
33408       Other custom types (renderers, outputters, etc.) have similar behavior,
33409       see the documentation for the saltutil module for more information.
33410
33411       This  reactor  example  can  be used to automatically sync custom types
33412       when  the  minion  connects  to  the  master,   to   help   with   this
33413       chicken-and-egg issue.
33414
33415   Module  X  isn't  available,  even  though  the  shell  command  it uses is
33416       installed. Why?
33417       This is most likely a PATH issue. Did you custom-compile  the  software
33418       which  the module requires? RHEL/CentOS/etc. in particular override the
33419       root   user's   path   in   /etc/init.d/functions,   setting   it    to
33420       /sbin:/usr/sbin:/bin:/usr/bin,    making    software   installed   into
33421       /usr/local/bin unavailable to Salt when the Minion is started using the
33422       initscript.  In  version 2014.1.0, Salt will have a better solution for
33423       these sort of PATH-related issues,  but  recompiling  the  software  to
33424       install  it into a location within the PATH should resolve the issue in
33425       the meantime. Alternatively, you can create a symbolic link within  the
33426       PATH using a file.symlink state.
33427
33428          /usr/bin/foo:
33429            file.symlink:
33430              - target: /usr/local/bin/foo
33431
33432   Can I run different versions of Salt on my Master and Minion?
33433       This  depends on the versions.  In general, it is recommended that Mas‐
33434       ter and Minion versions match.
33435
33436       When upgrading Salt, the master(s) should  always  be  upgraded  first.
33437       Backwards compatibility for minions running newer versions of salt than
33438       their masters is not guaranteed.
33439
33440       Whenever possible, backwards compatibility between new masters and  old
33441       minions  will be preserved.  Generally, the only exception to this pol‐
33442       icy is in case of a security vulnerability.
33443
33444       Recent examples of backwards compatibility breakage include the  0.17.1
33445       release (where all backwards compatibility was broken due to a security
33446       fix), and the 2014.1.0 release (which  retained  compatibility  between
33447       2014.1.0 masters and 0.17 minions, but broke compatibility for 2014.1.0
33448       minions and older masters).
33449
33450   Does Salt support backing up managed files?
33451       Yes. Salt provides an easy to use addition to your file.managed  states
33452       that  allow  you  to  back up files via backup_mode, backup_mode can be
33453       configured on a per state basis, or in the minion config (note that  if
33454       set  in  the  minion  config this would simply be the default method to
33455       use, you still need to specify that the file should be backed up!).
33456
33457   Is it possible to deploy a file to a specific minion, without other minions
33458       having access to it?
33459       The  Salt  fileserver  does  not  yet support access control, but it is
33460       still possible to do this. As of Salt 2015.5.0, the file_tree  external
33461       pillar  is available, and allows the contents of a file to be loaded as
33462       Pillar data. This external pillar is capable of assigning Pillar values
33463       both  to  individual  minions, and to nodegroups. See the documentation
33464       for details on how to set this up.
33465
33466       Once the external pillar has been set up, the data can be pushed  to  a
33467       minion via a file.managed state, using the contents_pillar argument:
33468
33469          /etc/my_super_secret_file:
33470            file.managed:
33471              - user: secret
33472              - group: secret
33473              - mode: 600
33474              - contents_pillar: secret_files:my_super_secret_file
33475
33476       In this example, the source file would be located in a directory called
33477       secret_files underneath the file_tree path for the minion.  The  syntax
33478       for specifying the pillar variable is the same one used for pillar.get,
33479       with a colon representing a nested dictionary.
33480
33481       WARNING:
33482          Deploying binary contents using the file.managed state is only  sup‐
33483          ported in Salt 2015.8.4 and newer.
33484
33485   What  is  the  best  way  to  restart a Salt Minion daemon using Salt after
33486       upgrade?
33487       Updating the salt-minion package requires a restart of the  salt-minion
33488       service.  But restarting the service while in the middle of a state run
33489       interrupts the process of the Minion running states and sending results
33490       back  to  the  Master.  A  common way to workaround that is to schedule
33491       restarting the Minion service in the background by issuing a  salt-call
33492       command  calling  service.restart  function.  This  prevents the Minion
33493       being disconnected from the Master immediately. Otherwise you would get
33494       Minion did not return. [Not connected] message as the result of a state
33495       run.
33496
33497   Upgrade without automatic restart
33498       Doing the Minion upgrade seems to be a simplest state in your SLS  file
33499       at  first.  But  the operating systems such as Debian GNU/Linux, Ubuntu
33500       and their derivatives start the service after the package  installation
33501       by default.  To prevent this, we need to create policy layer which will
33502       prevent the Minion service to restart right after the upgrade:
33503
33504          {%- if grains['os_family'] == 'Debian' %}
33505
33506          Disable starting services:
33507            file.managed:
33508              - name: /usr/sbin/policy-rc.d
33509              - user: root
33510              - group: root
33511              - mode: 0755
33512              - contents:
33513                - '#!/bin/sh'
33514                - exit 101
33515              # do not touch if already exists
33516              - replace: False
33517              - prereq:
33518                - pkg: Upgrade Salt Minion
33519
33520          {%- endif %}
33521
33522          Upgrade Salt Minion:
33523            pkg.installed:
33524              - name: salt-minion
33525              - version: 2016.11.3{% if grains['os_family'] == 'Debian' %}+ds-1{% endif %}
33526              - order: last
33527
33528          Enable Salt Minion:
33529            service.enabled:
33530              - name: salt-minion
33531              - require:
33532                - pkg: Upgrade Salt Minion
33533
33534          {%- if grains['os_family'] == 'Debian' %}
33535
33536          Enable starting services:
33537            file.absent:
33538              - name: /usr/sbin/policy-rc.d
33539              - onchanges:
33540                - pkg: Upgrade Salt Minion
33541
33542          {%- endif %}
33543
33544   Restart using states
33545       Now we can apply the workaround to restart the Minion in reliable  way.
33546       The following example works on UNIX-like operating systems:
33547
33548          {%- if grains['os'] != 'Windows' %}
33549          Restart Salt Minion:
33550            cmd.run:
33551              - name: 'salt-call service.restart salt-minion'
33552              - bg: True
33553              - onchanges:
33554                - pkg: Upgrade Salt Minion
33555          {%- endif %}
33556
33557       Note  that restarting the salt-minion service on Windows operating sys‐
33558       tems is not always necessary when performing an upgrade. The  installer
33559       stops  the salt-minion service, removes it, deletes the contents of the
33560       \salt\bin directory, installs the new code, re-creates the  salt-minion
33561       service,  and  starts it (by default). The restart step would be neces‐
33562       sary during the upgrade process, however,  if  the  minion  config  was
33563       edited after the upgrade or installation. If a minion restart is neces‐
33564       sary, the state above can be edited as follows:
33565
33566          Restart Salt Minion:
33567            cmd.run:
33568          {%- if grains['kernel'] == 'Windows' %}
33569              - name: 'C:\salt\salt-call.bat service.restart salt-minion'
33570          {%- else %}
33571              - name: 'salt-call service.restart salt-minion'
33572          {%- endif %}
33573              - bg: True
33574              - onchanges:
33575                - pkg: Upgrade Salt Minion
33576
33577       However, it requires more advanced tricks to upgrade from  legacy  ver‐
33578       sion  of  Salt  (before 2016.3.0) on UNIX-like operating systems, where
33579       executing commands in the background is not  supported.  You  also  may
33580       need  to  schedule  restarting the Minion service using masterless mode
33581       after all other states have been applied for Salt versions earlier than
33582       2016.11.0.  This allows the Minion to keep the connection to the Master
33583       alive for being able to report the final results back  to  the  Master,
33584       while  the  service  is restarting in the background. This state should
33585       run last or watch for the pkg state changes:
33586
33587          Restart Salt Minion:
33588            cmd.run:
33589          {%- if grains['kernel'] == 'Windows' %}
33590              - name: 'start powershell "Restart-Service -Name salt-minion"'
33591          {%- else %}
33592              # fork and disown the process
33593              - name: |-
33594                  exec 0>&- # close stdin
33595                  exec 1>&- # close stdout
33596                  exec 2>&- # close stderr
33597                  nohup salt-call --local service.restart salt-minion &
33598          {%- endif %}
33599
33600   Restart using remote executions
33601       Restart the Minion from the command line:
33602
33603          salt -G kernel:Windows cmd.run_bg 'C:\salt\salt-call.bat service.restart salt-minion'
33604          salt -C 'not G@kernel:Windows' cmd.run_bg 'salt-call service.restart salt-minion'
33605
33606   Waiting for minions to come back online
33607       A common issue in performing automated restarts of a salt  minion,  for
33608       example  during an orchestration run, is that it will break the orches‐
33609       tration since the next statement is likely to be attempted  before  the
33610       minion  is  back  online.  This can be remedied by inserting a blocking
33611       waiting state that only returns when the selected minions are  back  up
33612       (note:  this  will  only  work  in orchestration states since manage.up
33613       needs to run on the master):
33614
33615          Wait for salt minion:
33616            loop.until_no_eval:
33617              - name: saltutil.runner
33618              - expected:
33619                  - my_minion
33620              - args:
33621                  - manage.up
33622              - kwargs:
33623                  tgt: my_minion
33624              - period: 3
33625              - init_wait: 3
33626
33627       This will, after an initial  delay  of  3  seconds,  execute  the  man‐
33628       age.up-runner  targeted  specifically  for  my_minion.  It will do this
33629       every period seconds until the expected data is returned.  The  default
33630       timeout is 60s but can be configured as well.
33631
33632   Salting the Salt Master
33633       In  order  to configure a master server via states, the Salt master can
33634       also be "salted" in order to enforce state on the Salt master  as  well
33635       as  the Salt minions. Salting the Salt master requires a Salt minion to
33636       be installed on the same machine as the Salt master. Once the Salt min‐
33637       ion  is installed, the minion configuration file must be pointed to the
33638       local Salt master:
33639
33640          master: 127.0.0.1
33641
33642       Once the Salt master has been "salted" with a Salt minion,  it  can  be
33643       targeted just like any other minion. If the minion on the salted master
33644       is running, the minion can be targeted  via  any  usual  salt  command.
33645       Additionally,  the  salt-call command can execute operations to enforce
33646       state on the salted master without requiring the minion to be running.
33647
33648       More information about salting the Salt master  can  be  found  in  the
33649       salt-formula for salt itself:
33650
33651       https://github.com/saltstack-formulas/salt-formula
33652
33653       Restarting  the  salt-master service using execution module or applica‐
33654       tion of state could be done  the  same  way  as  for  the  Salt  minion
33655       described above.
33656
33657   Is Targeting using Grain Data Secure?
33658       Because  grains can be set by users that have access to the minion con‐
33659       figuration files on the local system, grains are considered less secure
33660       than  other  identifiers  in Salt. Use caution when targeting sensitive
33661       operations or setting pillar values based on grain data.
33662
33663       The only grain which can be safely used is grains['id'] which  contains
33664       the Minion ID.
33665
33666       When  possible,  you  should target sensitive operations and data using
33667       the Minion ID. If the Minion ID of a system changes, the Salt  Minion's
33668       public  key must be re-accepted by an administrator on the Salt Master,
33669       making it less vulnerable to impersonation attacks.
33670
33671   Why Did the Value for a Grain Change on Its Own?
33672       This is usually the result of an upstream change in an OS  distribution
33673       that  replaces  or  removes something that Salt was using to detect the
33674       grain.  Fortunately, when this occurs, you can use Salt to fix it  with
33675       a command similar to the following:
33676
33677          salt -G 'grain:ChangedValue' grains.setvals "{'grain': 'OldValue'}"
33678
33679       (Replacing  grain, ChangedValue, and OldValue with the grain and values
33680       that you want to change / set.)
33681
33682       You should also file an issue describing the change so it can be  fixed
33683       in Salt.
33684
33685   Salt Best Practices
33686       Salt's  extreme  flexibility  leads  to  many  questions concerning the
33687       structure of configuration files.
33688
33689       This document exists to clarify these points through examples and code.
33690
33691   General rules
33692       1. Modularity and clarity should be emphasized whenever possible.
33693
33694       2. Create clear relations between pillars and states.
33695
33696       3. Use variables when it makes sense but don't overuse them.
33697
33698       4. Store sensitive data in pillar.
33699
33700       5. Don't use grains for matching in your pillar top file for any sensi‐
33701          tive pillars.
33702
33703   Structuring States and Formulas
33704       When structuring Salt States and Formulas it is important to begin with
33705       the directory structure. A proper directory structure  clearly  defines
33706       the  functionality  of  each state to the user via visual inspection of
33707       the state's name.
33708
33709       Reviewing the MySQL Salt Formula it is clear to see the benefits to the
33710       end-user when reviewing a sample of the available states:
33711
33712          /srv/salt/mysql/files/
33713          /srv/salt/mysql/client.sls
33714          /srv/salt/mysql/map.jinja
33715          /srv/salt/mysql/python.sls
33716          /srv/salt/mysql/server.sls
33717
33718       This directory structure would lead to these states being referenced in
33719       a top file in the following way:
33720
33721          base:
33722            'web*':
33723              - mysql.client
33724              - mysql.python
33725            'db*':
33726              - mysql.server
33727
33728       This clear definition ensures that the user  is  properly  informed  of
33729       what each state will do.
33730
33731       Another example comes from the vim-formula:
33732
33733          /srv/salt/vim/files/
33734          /srv/salt/vim/absent.sls
33735          /srv/salt/vim/init.sls
33736          /srv/salt/vim/map.jinja
33737          /srv/salt/vim/nerdtree.sls
33738          /srv/salt/vim/pyflakes.sls
33739          /srv/salt/vim/salt.sls
33740
33741       Once again viewing how this would look in a top file:
33742
33743       /srv/salt/top.sls:
33744
33745          base:
33746            'web*':
33747              - vim
33748              - vim.nerdtree
33749              - vim.pyflakes
33750              - vim.salt
33751            'db*':
33752              - vim.absent
33753
33754       The  usage  of  a  clear  top-level directory as well as properly named
33755       states reduces the overall complexity and leads a user to  both  under‐
33756       stand what will be included at a glance and where it is located.
33757
33758       In addition Formulas should be used as often as possible.
33759
33760       NOTE:
33761          Formulas  repositories on the saltstack-formulas GitHub organization
33762          should not be pointed to directly from  systems  that  automatically
33763          fetch new updates such as GitFS or similar tooling. Instead formulas
33764          repositories should be forked on GitHub  or  cloned  locally,  where
33765          unintended, automatic changes will not take place.
33766
33767   Structuring Pillar Files
33768       Pillars  are  used to store secure and insecure data pertaining to min‐
33769       ions. When designing the structure of the  /srv/pillar  directory,  the
33770       pillars contained within should once again be focused on clear and con‐
33771       cise data which users can easily review, modify, and understand.
33772
33773       The /srv/pillar/ directory  is  primarily  controlled  by  top.sls.  It
33774       should  be  noted  that the pillar top.sls is not used as a location to
33775       declare variables and their values. The top.sls is used  as  a  way  to
33776       include  other pillar files and organize the way they are matched based
33777       on environments or grains.
33778
33779       An example top.sls may be as simple as the following:
33780
33781       /srv/pillar/top.sls:
33782
33783          base:
33784            '*':
33785              - packages
33786
33787       Any number of matchers can be added to the base environment. For  exam‐
33788       ple, here is an expanded version of the Pillar top file stated above:
33789
33790       /srv/pillar/top.sls:
33791
33792          base:
33793            '*':
33794              - packages
33795            'web*':
33796              - apache
33797              - vim
33798
33799       Or  an  even  more  complicated example, using a variety of matchers in
33800       numerous environments:
33801
33802       /srv/pillar/top.sls:
33803
33804          base:
33805            '*':
33806              - apache
33807          dev:
33808            'os:Debian':
33809              - match: grain
33810              - vim
33811          test:
33812            '* and not G@os: Debian':
33813              - match: compound
33814              - emacs
33815
33816       It is clear to see through these examples how  the  top  file  provides
33817       users  with  power  but  when used incorrectly it can lead to confusing
33818       configurations. This is why it is important to understand that the  top
33819       file for pillar is not used for variable definitions.
33820
33821       Each  SLS  file  within the /srv/pillar/ directory should correspond to
33822       the states which it matches.
33823
33824       This would mean that the apache pillar file should contain  data  rele‐
33825       vant  to Apache. Structuring files in this way once again ensures modu‐
33826       larity, and creates a  consistent  understanding  throughout  our  Salt
33827       environment.  Users can expect that pillar variables found in an Apache
33828       state will live inside of an Apache pillar:
33829
33830       /srv/pillar/apache.sls:
33831
33832          apache:
33833            lookup:
33834              name: httpd
33835              config:
33836                tmpl: /etc/httpd/httpd.conf
33837
33838       While this pillar file is simple, it shows how a pillar file explicitly
33839       relates to the state it is associated with.
33840
33841   Variable Flexibility
33842       Salt  allows  users  to  define variables in SLS files. When creating a
33843       state variables should provide users with as much flexibility as possi‐
33844       ble.  This  means  that variables should be clearly defined and easy to
33845       manipulate, and that sane defaults should exist in the event a variable
33846       is  not  properly  defined. Looking at several examples shows how these
33847       different items can lead to extensive flexibility.
33848
33849       Although it is possible to set variables locally, this is generally not
33850       preferred:
33851
33852       /srv/salt/apache/conf.sls:
33853
33854          {% set name = 'httpd' %}
33855          {% set tmpl = 'salt://apache/files/httpd.conf' %}
33856
33857          include:
33858            - apache
33859
33860          apache_conf:
33861            file.managed:
33862              - name: {{ name }}
33863              - source: {{ tmpl }}
33864              - template: jinja
33865              - user: root
33866              - watch_in:
33867                - service: apache
33868
33869       When  generating  this information it can be easily transitioned to the
33870       pillar where data can be overwritten, modified, and applied to multiple
33871       states, or locations within a single state:
33872
33873       /srv/pillar/apache.sls:
33874
33875          apache:
33876            lookup:
33877              name: httpd
33878              config:
33879                tmpl: salt://apache/files/httpd.conf
33880
33881       /srv/salt/apache/conf.sls:
33882
33883          {% from "apache/map.jinja" import apache with context %}
33884
33885          include:
33886            - apache
33887
33888          apache_conf:
33889            file.managed:
33890              - name: {{ salt['pillar.get']('apache:lookup:name') }}
33891              - source: {{ salt['pillar.get']('apache:lookup:config:tmpl') }}
33892              - template: jinja
33893              - user: root
33894              - watch_in:
33895                - service: apache
33896
33897       This  flexibility  provides users with a centralized location to modify
33898       variables, which is extremely important as an environment grows.
33899
33900   Modularity Within States
33901       Ensuring that states are modular is one of the key concepts  to  under‐
33902       stand  within Salt. When creating a state a user must consider how many
33903       times the state could be re-used, and what it  relies  on  to  operate.
33904       Below  are  several  examples which will iteratively explain how a user
33905       can go from a state which is not very modular to one that is:
33906
33907       /srv/salt/apache/init.sls:
33908
33909          httpd:
33910            pkg:
33911              - installed
33912            service.running:
33913              - enable: True
33914
33915          /etc/httpd/httpd.conf:
33916            file.managed:
33917              - source: salt://apache/files/httpd.conf
33918              - template: jinja
33919              - watch_in:
33920                - service: httpd
33921
33922       The example above is probably the worst-case scenario  when  writing  a
33923       state.   There is a clear lack of focus by naming both the pkg/service,
33924       and managed file directly as the state ID. This would lead to  changing
33925       multiple  requires within this state, as well as others that may depend
33926       upon the state.
33927
33928       Imagine if a require was used for the httpd package in  another  state,
33929       and then suddenly it's a custom package. Now changes need to be made in
33930       multiple locations which increases the complexity and leads to  a  more
33931       error prone configuration.
33932
33933       There is also the issue of having the configuration file located in the
33934       init, as a user would be unable to simply install the service  and  use
33935       the default conf file.
33936
33937       Our  second revision begins to address the referencing by using - name,
33938       as opposed to direct ID references:
33939
33940       /srv/salt/apache/init.sls:
33941
33942          apache:
33943            pkg.installed:
33944              - name: httpd
33945            service.running:
33946              - name: httpd
33947              - enable: True
33948
33949          apache_conf:
33950            file.managed:
33951              - name: /etc/httpd/httpd.conf
33952              - source: salt://apache/files/httpd.conf
33953              - template: jinja
33954              - watch_in:
33955                - service: apache
33956
33957       The above init file is better than our original,  yet  it  has  several
33958       issues  which lead to a lack of modularity. The first of these problems
33959       is the usage of static values for items such as the name  of  the  ser‐
33960       vice, the name of the managed file, and the source of the managed file.
33961       When these items are hard coded they become difficult to modify and the
33962       opportunity  to  make  mistakes arises. It also leads to multiple edits
33963       that need to occur when changing these items  (imagine  if  there  were
33964       dozens of these occurrences throughout the state!). There is also still
33965       the concern of the configuration file data living in the same state  as
33966       the service and package.
33967
33968       In  the  next  example  steps  will  be taken to begin addressing these
33969       issues.  Starting with the addition of a map.jinja file  (as  noted  in
33970       the Formula documentation), and modification of static values:
33971
33972       /srv/salt/apache/map.jinja:
33973
33974          {% set apache = salt['grains.filter_by']({
33975              'Debian': {
33976                  'server': 'apache2',
33977                  'service': 'apache2',
33978                  'conf': '/etc/apache2/apache.conf',
33979              },
33980              'RedHat': {
33981                  'server': 'httpd',
33982                  'service': 'httpd',
33983                  'conf': '/etc/httpd/httpd.conf',
33984              },
33985          }, merge=salt['pillar.get']('apache:lookup')) %}
33986
33987       /srv/pillar/apache.sls:
33988
33989          apache:
33990            lookup:
33991              config:
33992                tmpl: salt://apache/files/httpd.conf
33993
33994       /srv/salt/apache/init.sls:
33995
33996          {% from "apache/map.jinja" import apache with context %}
33997
33998          apache:
33999            pkg.installed:
34000              - name: {{ apache.server }}
34001            service.running:
34002              - name: {{ apache.service }}
34003              - enable: True
34004
34005          apache_conf:
34006            file.managed:
34007              - name: {{ apache.conf }}
34008              - source: {{ salt['pillar.get']('apache:lookup:config:tmpl') }}
34009              - template: jinja
34010              - user: root
34011              - watch_in:
34012                - service: apache
34013
34014       The  changes to this state now allow us to easily identify the location
34015       of the variables, as well as ensuring they are  flexible  and  easy  to
34016       modify.   While  this  takes another step in the right direction, it is
34017       not yet complete.  Suppose the user did not want to  use  the  provided
34018       conf file, or even their own configuration file, but the default apache
34019       conf. With the current state setup this is not possible. To attain this
34020       level of modularity this state will need to be broken into two states.
34021
34022       /srv/salt/apache/map.jinja:
34023
34024          {% set apache = salt['grains.filter_by']({
34025              'Debian': {
34026                  'server': 'apache2',
34027                  'service': 'apache2',
34028                  'conf': '/etc/apache2/apache.conf',
34029              },
34030              'RedHat': {
34031                  'server': 'httpd',
34032                  'service': 'httpd',
34033                  'conf': '/etc/httpd/httpd.conf',
34034              },
34035          }, merge=salt['pillar.get']('apache:lookup')) %}
34036
34037       /srv/pillar/apache.sls:
34038
34039          apache:
34040            lookup:
34041              config:
34042                tmpl: salt://apache/files/httpd.conf
34043
34044       /srv/salt/apache/init.sls:
34045
34046          {% from "apache/map.jinja" import apache with context %}
34047
34048          apache:
34049            pkg.installed:
34050              - name: {{ apache.server }}
34051            service.running:
34052              - name: {{ apache.service }}
34053              - enable: True
34054
34055       /srv/salt/apache/conf.sls:
34056
34057          {% from "apache/map.jinja" import apache with context %}
34058
34059          include:
34060            - apache
34061
34062          apache_conf:
34063            file.managed:
34064              - name: {{ apache.conf }}
34065              - source: {{ salt['pillar.get']('apache:lookup:config:tmpl') }}
34066              - template: jinja
34067              - user: root
34068              - watch_in:
34069                - service: apache
34070
34071       This new structure now allows users to choose whether they only wish to
34072       install the default Apache, or if  they  wish,  overwrite  the  default
34073       package,  service,  configuration  file  location, or the configuration
34074       file itself. In addition to this the data has been broken between  mul‐
34075       tiple  files  allowing  for users to identify where they need to change
34076       the associated data.
34077
34078   Storing Secure Data
34079       Secure data refers to any information that you would not wish to  share
34080       with  anyone  accessing a server. This could include data such as pass‐
34081       words, keys, or other information.
34082
34083       As all data within a state is accessible by EVERY server that  is  con‐
34084       nected  it  is  important to store secure data within pillar. This will
34085       ensure that only those servers which  require  this  secure  data  have
34086       access  to it. In this example a use can go from an insecure configura‐
34087       tion to one which is only accessible by the appropriate hosts:
34088
34089       /srv/salt/mysql/testerdb.sls:
34090
34091          testdb:
34092            mysql_database.present:
34093              - name: testerdb
34094
34095       /srv/salt/mysql/user.sls:
34096
34097          include:
34098            - mysql.testerdb
34099
34100          testdb_user:
34101            mysql_user.present:
34102              - name: frank
34103              - password: "test3rdb"
34104              - host: localhost
34105              - require:
34106                - sls: mysql.testerdb
34107
34108       Many users would review this state and see that the password  is  there
34109       in plain text, which is quite problematic. It results in several issues
34110       which may not be immediately visible.
34111
34112       The first of these issues is clear to most users -- the password  being
34113       visible  in this state. This  means that any minion will have a copy of
34114       this, and therefore the password which is a major security  concern  as
34115       minions may not be locked down as tightly as the master server.
34116
34117       The  other issue that can be encountered is access by users on the mas‐
34118       ter. If everyone has access to the states (or their  repository),  then
34119       they  are  able  to  review  this  password. Keeping your password data
34120       accessible by only a few users is critical for both security and  peace
34121       of mind.
34122
34123       There is also the issue of portability. When a state is configured this
34124       way it results in multiple changes needing to be made.  This  was  dis‐
34125       cussed  in  the sections above but it is a critical idea to drive home.
34126       If states are not portable it may result in more work later!
34127
34128       Fixing this issue is relatively simple, the content just  needs  to  be
34129       moved to the associated pillar:
34130
34131       /srv/pillar/mysql.sls:
34132
34133          mysql:
34134            lookup:
34135              name: testerdb
34136              password: test3rdb
34137              user: frank
34138              host: localhost
34139
34140       /srv/salt/mysql/testerdb.sls:
34141
34142          testdb:
34143            mysql_database.present:
34144              - name: {{ salt['pillar.get']('mysql:lookup:name') }}
34145
34146       /srv/salt/mysql/user.sls:
34147
34148          include:
34149            - mysql.testerdb
34150
34151          testdb_user:
34152            mysql_user.present:
34153              - name: {{ salt['pillar.get']('mysql:lookup:user') }}
34154              - password: {{ salt['pillar.get']('mysql:lookup:password') }}
34155              - host: {{ salt['pillar.get']('mysql:lookup:host') }}
34156              - require:
34157                - sls: mysql.testerdb
34158
34159       Now  that the database details have been moved to the associated pillar
34160       file, only machines which are targeted via pillar will have  access  to
34161       these  details.  Access to users who should not be able to review these
34162       details can also be prevented while ensuring that they are  still  able
34163       to write states which take advantage of this information.
34164

REMOTE EXECUTION

34166       Running  pre-defined  or arbitrary commands on remote hosts, also known
34167       as remote execution, is the core function of Salt. The following  links
34168       explore  modules  and  returners,  which are two key elements of remote
34169       execution.
34170
34171       Salt Execution Modules
34172
34173       Salt execution modules are called by the  remote  execution  system  to
34174       perform  a  wide  variety of tasks. These modules provide functionality
34175       such as installing packages, restarting a  service,  running  a  remote
34176       command, transferring files, and so on.
34177
34178          Full list of execution modules
34179                 Contains: a list of core modules that ship with Salt.
34180
34181          Writing execution modules
34182                 Contains: a guide on how to write Salt modules.
34183
34184   Running Commands on Salt Minions
34185       Salt can be controlled by a command line client by the root user on the
34186       Salt master. The Salt command line client uses the Salt client  API  to
34187       communicate  with  the Salt master server. The Salt client is straight‐
34188       forward and simple to use.
34189
34190       Using the Salt client commands can be easily sent to the minions.
34191
34192       Each of these commands accepts an explicit --config option to point  to
34193       either  the master or minion configuration file.  If this option is not
34194       provided and the default configuration file does not  exist  then  Salt
34195       falls  back  to  use  the  environment variables SALT_MASTER_CONFIG and
34196       SALT_MINION_CONFIG.
34197
34198       SEE ALSO:
34199          Configuration
34200
34201   Using the Salt Command
34202       The Salt command needs a few components to send information to the Salt
34203       minions.  The  target  minions need to be defined, the function to call
34204       and any arguments the function requires.
34205
34206   Defining the Target Minions
34207       The first argument passed to salt, defines the target minions, the tar‐
34208       get minions are accessed via their hostname. The default target type is
34209       a bash glob:
34210
34211          salt '*foo.com' sys.doc
34212
34213       Salt can also define the target minions with regular expressions:
34214
34215          salt -E '.*' cmd.run 'ls -l | grep foo'
34216
34217       Or to explicitly list hosts, salt can take a list:
34218
34219          salt -L foo.bar.baz,quo.qux cmd.run 'ps aux | grep foo'
34220
34221   More Powerful Targets
34222       See Targeting.
34223
34224   Calling the Function
34225       The function to call on the specified target is placed after the target
34226       specification.
34227
34228       New in version 0.9.8.
34229
34230
34231       Functions may also accept arguments, space-delimited:
34232
34233          salt '*' cmd.exec_code python 'import sys; print sys.version'
34234
34235       Optional, keyword arguments are also supported:
34236
34237          salt '*' pip.install salt timeout=5 upgrade=True
34238
34239       They are always in the form of kwarg=argument.
34240
34241       Arguments are formatted as YAML:
34242
34243          salt '*' cmd.run 'echo "Hello: $FIRST_NAME"' env='{FIRST_NAME: "Joe"}'
34244
34245       Note:  dictionaries  must  have  curly braces around them (like the env
34246       keyword argument above).  This was changed  in  0.15.1:  in  the  above
34247       example,  the first argument used to be parsed as the dictionary {'echo
34248       "Hello': '$FIRST_NAME"'}. This was generally not the expected behavior.
34249
34250       If you want to test what parameters are actually passed  to  a  module,
34251       use the test.arg_repr command:
34252
34253          salt '*' test.arg_repr 'echo "Hello: $FIRST_NAME"' env='{FIRST_NAME: "Joe"}'
34254
34255   Finding available minion functions
34256       The Salt functions are self documenting, all of the function documenta‐
34257       tion can be retried from the minions via the sys.doc() function:
34258
34259          salt '*' sys.doc
34260
34261   Compound Command Execution
34262       If a series of commands needs to be sent to a single target  specifica‐
34263       tion  then  the commands can be sent in a single publish. This can make
34264       gathering groups of information faster, and lowers the  stress  on  the
34265       network for repeated commands.
34266
34267       Compound  command  execution  works  by sending a list of functions and
34268       arguments instead of sending a single function and argument. The  func‐
34269       tions  are  executed on the minion in the order they are defined on the
34270       command line, and then the data from all of the commands  are  returned
34271       in  a  dictionary.  This means that the set of commands are called in a
34272       predictable way, and the returned data can be easily interpreted.
34273
34274       Executing compound commands if done by passing a comma  delimited  list
34275       of functions, followed by a comma delimited list of arguments:
34276
34277          salt '*' cmd.run,test.ping,test.echo 'cat /proc/cpuinfo',,foo
34278
34279       The  trick  to look out for here, is that if a function is being passed
34280       no arguments, then there needs to be a placeholder for the absent argu‐
34281       ments.  This  is  why  in the above example, there are two commas right
34282       next to each other.  test.ping takes no arguments, so we  need  to  add
34283       another comma, otherwise Salt would attempt to pass "foo" to test.ping.
34284
34285       If  you  need to pass arguments that include commas, then make sure you
34286       add spaces around the commas that separate arguments. For example:
34287
34288          salt '*' cmd.run,test.ping,test.echo 'echo "1,2,3"' , , foo
34289
34290       You may change  the  arguments  separator  using  the  --args-separator
34291       option:
34292
34293          salt --args-separator=:: '*' some.fun,test.echo params with , comma :: foo
34294
34295   CLI Completion
34296       Shell completion scripts for the Salt CLI are available in the pkg Salt
34297       source directory.
34298
34299   Writing Execution Modules
34300       Salt execution modules are the functions called by the salt command.
34301
34302   Modules Are Easy to Write!
34303       Writing Salt execution modules is straightforward.
34304
34305       A Salt execution module is a Python or Cython module placed in a direc‐
34306       tory  called  _modules/  at the root of the Salt fileserver. When using
34307       the default fileserver backend (i.e. roots),  unless  environments  are
34308       otherwise defined in the file_roots config option, the _modules/ direc‐
34309       tory would be located in /srv/salt/_modules on most systems.
34310
34311       Modules placed in _modules/ will be synced to the minions when  any  of
34312       the following Salt functions are called:
34313
34314       · state.apply
34315
34316       · saltutil.sync_modules
34317
34318       · saltutil.sync_all
34319
34320       Note  that a module's default name is its filename (i.e. foo.py becomes
34321       module foo), but that its name can be overridden by using a __virtual__
34322       function.
34323
34324       If  a  Salt  module  has errors and cannot be imported, the Salt minion
34325       will continue to load without issue and the  module  with  errors  will
34326       simply be omitted.
34327
34328       If  adding  a  Cython module the file must be named <modulename>.pyx so
34329       that the loader knows that the module needs to be imported as a  Cython
34330       module.  The  compilation of the Cython module is automatic and happens
34331       when the minion starts, so only the *.pyx file is required.
34332
34333   Zip Archives as Modules
34334       Python 2.3 and higher allows developers to directly import zip archives
34335       containing  Python  code.  By setting enable_zip_modules to True in the
34336       minion config, the Salt loader will be able to  import  .zip  files  in
34337       this  fashion.  This allows Salt module developers to package dependen‐
34338       cies with their modules for ease of deployment, isolation, etc.
34339
34340       For a user, Zip Archive modules behave just like other  modules.   When
34341       executing  a function from a module provided as the file my_module.zip,
34342       a user would call a function within  that  module  as  my_module.<func‐
34343       tion>.
34344
34345   Creating a Zip Archive Module
34346       A  Zip  Archive module is structured similarly to a simple Python pack‐
34347       age.  The .zip file contains a single directory with the same  name  as
34348       the  module.  The module code traditionally in <module_name>.py goes in
34349       <module_name>/__init__.py.  The dependency packages are  subdirectories
34350       of <module_name>/.
34351
34352       Here is an example directory structure for the lumberjack module, which
34353       has two library dependencies (sleep and work) to be included.
34354
34355          modules $ ls -R lumberjack
34356          __init__.py     sleep           work
34357
34358          lumberjack/sleep:
34359          __init__.py
34360
34361          lumberjack/work:
34362          __init__.py
34363
34364       The contents of lumberjack/__init__.py show how to import and use these
34365       included libraries.
34366
34367          # Libraries included in lumberjack.zip
34368          from lumberjack import sleep, work
34369
34370
34371          def is_ok(person):
34372              ''' Checks whether a person is really a lumberjack '''
34373              return sleep.all_night(person) and work.all_day(person)
34374
34375       Then, create the zip:
34376
34377          modules $ zip -r lumberjack lumberjack
34378            adding: lumberjack/ (stored 0%)
34379            adding: lumberjack/__init__.py (deflated 39%)
34380            adding: lumberjack/sleep/ (stored 0%)
34381            adding: lumberjack/sleep/__init__.py (deflated 7%)
34382            adding: lumberjack/work/ (stored 0%)
34383            adding: lumberjack/work/__init__.py (deflated 7%)
34384          modules $ unzip -l lumberjack.zip
34385          Archive:  lumberjack.zip
34386            Length     Date   Time    Name
34387           --------    ----   ----    ----
34388                  0  08-21-15 20:08   lumberjack/
34389                348  08-21-15 20:08   lumberjack/__init__.py
34390                  0  08-21-15 19:53   lumberjack/sleep/
34391                 83  08-21-15 19:53   lumberjack/sleep/__init__.py
34392                  0  08-21-15 19:53   lumberjack/work/
34393                 81  08-21-15 19:21   lumberjack/work/__init__.py
34394           --------                   -------
34395                512                   6 files
34396
34397       Once  placed  in  file_roots, Salt users can distribute and use lumber‐
34398       jack.zip like any other module.
34399
34400          $ sudo salt minion1 saltutil.sync_modules
34401          minion1:
34402            - modules.lumberjack
34403          $ sudo salt minion1 lumberjack.is_ok 'Michael Palin'
34404          minion1:
34405            True
34406
34407   Cross Calling Execution Modules
34408       All of the Salt execution modules are available to each other and  mod‐
34409       ules can call functions available in other execution modules.
34410
34411       The  variable __salt__ is packed into the modules after they are loaded
34412       into the Salt minion.
34413
34414       The __salt__ variable is a Python dictionary containing all of the Salt
34415       functions.  Dictionary  keys  are strings representing the names of the
34416       modules and the values are the functions themselves.
34417
34418       Salt modules can be cross-called by accessing the value in the __salt__
34419       dict:
34420
34421          def foo(bar):
34422              return __salt__['cmd.run'](bar)
34423
34424       This  code  will  call  the run function in the cmd module and pass the
34425       argument bar to it.
34426
34427   Calling Execution Modules on the Salt Master
34428       New in version 2016.11.0.
34429
34430
34431       Execution modules can now also be called via the salt-run command using
34432       the salt runner.
34433
34434   Preloaded Execution Module Data
34435       When  interacting with execution modules often it is nice to be able to
34436       read information dynamically about the minion or to load in  configura‐
34437       tion parameters for a module.
34438
34439       Salt  allows  for different types of data to be loaded into the modules
34440       by the minion.
34441
34442   Grains Data
34443       The values detected by the Salt Grains on the minion are available in a
34444       Python  dictionary  named  __grains__  and  can be accessed from within
34445       callable objects in the Python modules.
34446
34447       To see the contents of the grains dictionary for a given system in your
34448       deployment run the grains.items() function:
34449
34450          salt 'hostname' grains.items --output=pprint
34451
34452       Any  value  in  a grains dictionary can be accessed as any other Python
34453       dictionary. For example, the grain representing the minion ID is stored
34454       in  the  id key and from an execution module, the value would be stored
34455       in __grains__['id'].
34456
34457   Module Configuration
34458       Since parameters for configuring a module may be desired,  Salt  allows
34459       for configuration information from the  minion configuration file to be
34460       passed to execution modules.
34461
34462       Since the minion configuration file is a YAML document, arbitrary  con‐
34463       figuration  data can be passed in the minion config that is read by the
34464       modules. It is therefore strongly recommended that the values passed in
34465       the  configuration file match the module name. A value intended for the
34466       test execution module should be named test.<value>.
34467
34468       The test execution module contains usage of  the  module  configuration
34469       and the default configuration file for the minion contains the informa‐
34470       tion and format used to pass data to  the  modules.  salt.modules.test,
34471       conf/minion.
34472
34473   __init__ Function
34474       If you want your module to have different execution modes based on min‐
34475       ion configuration, you can use the __init__(opts) function  to  perform
34476       initial module setup. The parameter opts is the complete minion config‐
34477       uration, as also available in the __opts__ dict.
34478
34479          '''
34480          Cheese module initialization example
34481          '''
34482          def __init__(opts):
34483              '''
34484              Allow foreign imports if configured to do so
34485              '''
34486              if opts.get('cheese.allow_foreign', False):
34487                  _enable_foreign_products()
34488
34489   Strings and Unicode
34490       An execution  module author should always assume that  strings  fed  to
34491       the module have already decoded from strings into Unicode. In Python 2,
34492       these will be of type 'Unicode' and in Python 3 they will  be  of  type
34493       str.  Calling  from a state to other Salt sub-systems, should pass Uni‐
34494       code (or bytes if passing binary data). In the rare event that a  state
34495       needs  to write directly to disk, Unicode should be encoded to a string
34496       immediately before writing to  disk.  An  author  may  use  __salt_sys‐
34497       tem_encoding__  to  learn what the encoding type of the system is.  For
34498       example, 'my_string'.encode(__salt_system_encoding__').
34499
34500   Outputter Configuration
34501       Since execution module functions can return different data, and the way
34502       the  data  is  printed can greatly change the presentation, Salt allows
34503       for a specific outputter to be set on a function-by-function basis.
34504
34505       This is done be declaring an __outputter__  dictionary  in  the  global
34506       scope  of  the module.  The __outputter__ dictionary contains a mapping
34507       of function names to Salt outputters.
34508
34509          __outputter__ = {
34510              'run': 'txt'
34511          }
34512
34513       This will ensure that the txt outputter is used to display output  from
34514       the run function.
34515
34516   Virtual Modules
34517       Virtual  modules  let you override the name of a module in order to use
34518       the same name to refer to one of several similar modules. The  specific
34519       module  that is loaded for a virtual name is selected based on the cur‐
34520       rent platform or environment.
34521
34522       For example, packages are managed across platforms using the  pkg  mod‐
34523       ule.   pkg  is  a virtual module name that is an alias for the specific
34524       package manager module that is loaded on a specific system  (for  exam‐
34525       ple, yumpkg on RHEL/CentOS systems , and aptpkg on Ubuntu).
34526
34527       Virtual  module  names  are  set using the __virtual__ function and the
34528       virtual name.
34529
34530   __virtual__ Function
34531       The __virtual__ function returns either a string, True, False, or False
34532       with an error string. If a string is returned then the module is loaded
34533       using the name of the string as the virtual name. If True  is  returned
34534       the  module  is  loaded  using  the  current  module  name. If False is
34535       returned the module is not loaded. False lets the module perform system
34536       checks and prevent loading if dependencies are not met.
34537
34538       Since  __virtual__ is called before the module is loaded, __salt__ will
34539       be unreliable as not all modules will be available  at  this  point  in
34540       time. The __pillar__ and __grains__ "dunder" dictionaries are available
34541       however.
34542
34543       NOTE:
34544          Modules which return a string from __virtual__ that is already  used
34545          by a module that ships with Salt will _override_ the stock module.
34546
34547   Returning Error Information from __virtual__
34548       Optionally,  Salt  plugin  modules, such as execution, state, returner,
34549       beacon, etc. modules may additionally return a  string  containing  the
34550       reason  that  a  module could not be loaded.  For example, an execution
34551       module called cheese and  a  corresponding  state  module  also  called
34552       cheese,  both  depending on a utility called enzymes should have __vir‐
34553       tual__ functions that handle the case when the dependency  is  unavail‐
34554       able.
34555
34556          '''
34557          Cheese execution (or returner/beacon/etc.) module
34558          '''
34559          try:
34560              import enzymes
34561              HAS_ENZYMES = True
34562          except ImportError:
34563              HAS_ENZYMES = False
34564
34565
34566          def __virtual__():
34567              '''
34568              only load cheese if enzymes are available
34569              '''
34570              if HAS_ENZYMES:
34571                  return 'cheese'
34572              else:
34573                  return False, 'The cheese execution module cannot be loaded: enzymes unavailable.'
34574
34575          def slice():
34576              pass
34577
34578          '''
34579          Cheese state module. Note that this works in state modules because it is
34580          guaranteed that execution modules are loaded first
34581          '''
34582
34583          def __virtual__():
34584              '''
34585              only load cheese if enzymes are available
34586              '''
34587              # predicate loading of the cheese state on the corresponding execution module
34588              if 'cheese.slice' in __salt__:
34589                  return 'cheese'
34590              else:
34591                  return False, 'The cheese state module cannot be loaded: enzymes unavailable.'
34592
34593   Examples
34594       The  package  manager  modules are among the best examples of using the
34595       __virtual__ function. A table of all the virtual  pkg  modules  can  be
34596       found here.
34597
34598   Overriding Virtual Module Providers
34599       Salt often uses OS grains (os, osrelease, os_family, etc.) to determine
34600       which module should be loaded as the virtual module for  pkg,  service,
34601       etc.  Sometimes  this OS detection is incomplete, with new distros pop‐
34602       ping up, existing distros changing init systems, etc. The virtual  mod‐
34603       ules  likely  to  be affected by this are in the list below (click each
34604       item for more information):
34605
34606       · pkg
34607
34608       · service
34609
34610       · user
34611
34612       · shadow
34613
34614       · group
34615
34616       If Salt is using the wrong module for  one  of  these,  first  of  all,
34617       please  report  it  on  the  issue  tracker,  so that this issue can be
34618       resolved for a future release.  To  make  it  easier  to  troubleshoot,
34619       please  also provide the grains.items output, taking care to redact any
34620       sensitive information.
34621
34622       Then, while waiting for the  SaltStack  development  team  to  fix  the
34623       issue,  Salt  can be made to use the correct module using the providers
34624       option in the minion config file:
34625
34626          providers:
34627            service: systemd
34628            pkg: aptpkg
34629
34630       The above example will force the minion to use the  systemd  module  to
34631       provide  service  management,  and the aptpkg module to provide package
34632       management.
34633
34634   Logging Restrictions
34635       As a rule, logging should not be done anywhere in a Salt module  before
34636       it  is  loaded.  This rule apples to all code that would run before the
34637       __virtual__() function, as well as the code  within  the  __virtual__()
34638       function itself.
34639
34640       If  logging  statements are made before the virtual function determines
34641       if the module should be loaded, then those logging statements  will  be
34642       called repeatedly. This clutters up log files unnecessarily.
34643
34644       Exceptions  may  be considered for logging statements made at the trace
34645       level.  However, it is better to provide the necessary  information  by
34646       another means.  One method is to return error information in the __vir‐
34647       tual__() function.
34648
34649   __virtualname__
34650       __virtualname__ is a variable that is used by the  documentation  build
34651       system  to know the virtual name of a module without calling the __vir‐
34652       tual__ function. Modules that return  a  string  from  the  __virtual__
34653       function must also set the __virtualname__ variable.
34654
34655       To  avoid  setting  the  virtual  name  string twice, you can implement
34656       __virtual__ to return the value set for __virtualname__ using a pattern
34657       similar to the following:
34658
34659          # Define the module's virtual name
34660          __virtualname__ = 'pkg'
34661
34662
34663          def __virtual__():
34664              '''
34665              Confine this module to Mac OS with Homebrew.
34666              '''
34667
34668              if salt.utils.path.which('brew') and __grains__['os'] == 'MacOS':
34669                  return __virtualname__
34670              return False
34671
34672       The __virtual__() function can return a True or False boolean, a tuple,
34673       or a string. If it returns a  True  value,  this  __virtualname__  mod‐
34674       ule-level  attribute  can  be set as seen in the above example. This is
34675       the string that the module should be referred to as.
34676
34677       When __virtual__() returns a tuple, the first item should be a  boolean
34678       and the second should be a string. This is typically done when the mod‐
34679       ule should not load. The first value of the tuple is False and the sec‐
34680       ond is the error message to display for why the module did not load.
34681
34682       For example:
34683
34684          def __virtual__():
34685              '''
34686              Only load if git exists on the system
34687              '''
34688              if salt.utils.path.which('git') is None:
34689                  return (False,
34690                          'The git execution module cannot be loaded: git unavailable.')
34691              else:
34692                  return True
34693
34694   Documentation
34695       Salt  execution  modules  are  documented.  The sys.doc() function will
34696       return the documentation for all available modules:
34697
34698          salt '*' sys.doc
34699
34700       The sys.doc function simply prints out the docstrings found in the mod‐
34701       ules; when writing Salt execution modules, please follow the formatting
34702       conventions for docstrings as they appear in the other modules.
34703
34704   Adding Documentation to Salt Modules
34705       It is strongly suggested  that  all  Salt  modules  have  documentation
34706       added.
34707
34708       To add documentation add a Python docstring to the function.
34709
34710          def spam(eggs):
34711              '''
34712              A function to make some spam with eggs!
34713
34714              CLI Example::
34715
34716                  salt '*' test.spam eggs
34717              '''
34718              return eggs
34719
34720       Now  when  the  sys.doc  call is executed the docstring will be cleanly
34721       returned to the calling terminal.
34722
34723       Documentation added to execution modules in docstrings  will  automati‐
34724       cally be added to the online web-based documentation.
34725
34726   Add Execution Module Metadata
34727       When  writing  a Python docstring for an execution module, add informa‐
34728       tion about the module using the following field lists:
34729
34730          :maintainer:    Thomas Hatch <thatch@saltstack.com, Seth House <shouse@saltstack.com>
34731          :maturity:      new
34732          :depends:       python-mysqldb
34733          :platform:      all
34734
34735       The maintainer field is a comma-delimited list of developers  who  help
34736       maintain this module.
34737
34738       The  maturity field indicates the level of quality and testing for this
34739       module.  Standard labels will be determined.
34740
34741       The depends field is a comma-delimited list of modules that this module
34742       depends on.
34743
34744       The  platform  field  is  a comma-delimited list of platforms that this
34745       module is known to run on.
34746
34747   Log Output
34748       You can call the logger from custom modules to write  messages  to  the
34749       minion  logs.  The following code snippet demonstrates writing log mes‐
34750       sages:
34751
34752          import logging
34753
34754          log = logging.getLogger(__name__)
34755
34756          log.info('Here is Some Information')
34757          log.warning('You Should Not Do That')
34758          log.error('It Is Busted')
34759
34760   Aliasing Functions
34761       Sometimes one wishes to use a function name that would shadow a  python
34762       built-in.   A common example would be set(). To support this, append an
34763       underscore to  the  function  definition,  def  set_():,  and  use  the
34764       __func_alias__ feature to provide an alias to the function.
34765
34766       __func_alias__ is a dictionary where each key is the name of a function
34767       in the module, and each value is a string representing  the  alias  for
34768       that  function.  When calling an aliased function from a different exe‐
34769       cution module, state module, or from the cli, the alias name should  be
34770       used.
34771
34772          __func_alias__ = {
34773              'set_': 'set',
34774              'list_': 'list',
34775          }
34776
34777   Private Functions
34778       In  Salt,  Python callable objects contained within an execution module
34779       are made available to the Salt minion for use. The  only  exception  to
34780       this  rule is a callable object with a name starting with an underscore
34781       _.
34782
34783   Objects Loaded Into the Salt Minion
34784          def foo(bar):
34785              return bar
34786
34787   Objects NOT Loaded into the Salt Minion
34788          def _foobar(baz): # Preceded with an _
34789              return baz
34790
34791          cheese = {} # Not a callable Python object
34792
34793   Useful Decorators for Modules
34794   Depends Decorator
34795       When writing execution modules there are many times where some  of  the
34796       module  will  work  on  all  hosts  but some functions have an external
34797       dependency, such as a service that needs to be installed  or  a  binary
34798       that needs to be present on the system.
34799
34800       Instead  of trying to wrap much of the code in large try/except blocks,
34801       a decorator can be used.
34802
34803       If the dependencies passed to the decorator don't exist, then the  salt
34804       minion will remove those functions from the module on that host.
34805
34806       If a fallback_function is defined, it will replace the function instead
34807       of removing it
34808
34809          import logging
34810
34811          from salt.utils.decorators import depends
34812
34813          log = logging.getLogger(__name__)
34814
34815          try:
34816              import dependency_that_sometimes_exists
34817          except ImportError as e:
34818              log.trace('Failed to import dependency_that_sometimes_exists: {0}'.format(e))
34819
34820          @depends('dependency_that_sometimes_exists')
34821          def foo():
34822              '''
34823              Function with a dependency on the "dependency_that_sometimes_exists" module,
34824              if the "dependency_that_sometimes_exists" is missing this function will not exist
34825              '''
34826              return True
34827
34828          def _fallback():
34829              '''
34830              Fallback function for the depends decorator to replace a function with
34831              '''
34832              return '"dependency_that_sometimes_exists" needs to be installed for this function to exist'
34833
34834          @depends('dependency_that_sometimes_exists', fallback_function=_fallback)
34835          def foo():
34836              '''
34837              Function with a dependency on the "dependency_that_sometimes_exists" module.
34838              If the "dependency_that_sometimes_exists" is missing this function will be
34839              replaced with "_fallback"
34840              '''
34841              return True
34842
34843       In addition to global dependencies the depends decorator also  supports
34844       raw booleans.
34845
34846          from salt.utils.decorators import depends
34847
34848          HAS_DEP = False
34849          try:
34850              import dependency_that_sometimes_exists
34851              HAS_DEP = True
34852          except ImportError:
34853              pass
34854
34855          @depends(HAS_DEP)
34856          def foo():
34857              return True
34858
34859   Executors
34860       Executors are used by minion to execute module functions. Executors can
34861       be used to modify the functions behavior, do any pre-execution steps or
34862       execute in a specific way like sudo executor.
34863
34864       Executors could be passed as a list and they will be used one-by-one in
34865       the order. If an executor returns None the next one will be called.  If
34866       an  executor  returns non-None the execution sequence is terminated and
34867       the returned value is used as a result. It's a way executor could  con‐
34868       trol  modules  execution  working as a filter. Note that executor could
34869       actually not execute the function but just do something else and return
34870       None like splay executor does. In this case some other executor have to
34871       be used as a final executor that will actually  execute  the  function.
34872       See examples below.
34873
34874       Executors  list  could be passed by minion config file in the following
34875       way:
34876
34877          module_executors:
34878            - splay
34879            - direct_call
34880          splaytime: 30
34881
34882       The same could be done by command line:
34883
34884          salt -t 40 --module-executors='[splay, direct_call]' --executor-opts='{splaytime: 30}' '*' test.version
34885
34886       And the same command called via netapi will look like this:
34887
34888          curl -sSk https://localhost:8000 \
34889              -H 'Accept: application/x-yaml' \
34890              -H 'X-Auth-Token: 697adbdc8fe971d09ae4c2a3add7248859c87079' \
34891              -H 'Content-type: application/json' \
34892              -d '[{
34893                  "client": "local",
34894                  "tgt": "*",
34895                  "fun": "test.version",
34896                  "module_executors": ["splay", "direct_call"],
34897                  "executor_opts": {"splaytime": 10}
34898                  }]'
34899
34900       SEE ALSO:
34901          The full list of executors
34902
34903   Writing Salt Executors
34904       A Salt executor is written in a similar manner to a Salt execution mod‐
34905       ule.   Executor is a python module placed into the executors folder and
34906       containing the execute function with the following signature:
34907
34908          def execute(opts, data, func, args, kwargs)
34909
34910       Where the args are:
34911
34912       opts:  Dictionary containing the minion configuration options
34913
34914       data:  Dictionary containing  the  load  data  including  executor_opts
34915              passed via cmdline/API.
34916
34917       func, args, kwargs:
34918              Execution module function to be executed and it's arguments. For
34919              instance the simplest  direct_call  executor  just  runs  it  as
34920              func(*args, **kwargs).
34921
34922       Returns:
34923              None  if  the execution sequence must be continued with the next
34924              executor.  Error string or execution result if the job  is  done
34925              and execution must be stopped.
34926
34927       Specific  options  could be passed to the executor via minion config or
34928       via executor_opts argument. For instance to access splaytime option set
34929       by  minion  config  executor  should  access  opts.get('splaytime'). To
34930       access the option set by commandline or  API  data.get('executor_opts',
34931       {}).get('splaytime')  should  be used. So if an option is safe and must
34932       be accessible by user executor should check it in both places,  but  if
34933       an option is unsafe it should be read from the only config ignoring the
34934       passed request data.
34935
34936       There is also a function named all_missing_func which the name  of  the
34937       func is passed, which can be used to verify if the command should still
34938       be run, even if it is not loaded in minion_mods.
34939

CONFIGURATION MANAGEMENT

34941       Salt contains a robust and flexible configuration management framework,
34942       which is built on the remote execution core. This framework executes on
34943       the minions, allowing effortless, simultaneous configuration of tens of
34944       thousands  of  hosts,  by  rendering language specific state files. The
34945       following links provide resources to learn more about state and render‐
34946       ers.
34947
34948       States Express  the  state of a host using small, easy to read, easy to
34949              understand configuration files. No programming required.
34950
34951              Full list of states
34952                     Contains: list of install packages, create users,  trans‐
34953                     fer files, start services, and so on.
34954
34955              Pillar System
34956                     Contains: description of Salt's Pillar system.
34957
34958              Highstate data structure
34959                     Contains:  a  dry vocabulary and technical representation
34960                     of the configuration format that states represent.
34961
34962              Writing states
34963                     Contains: a guide on how to  write  Salt  state  modules,
34964                     easily extending Salt to directly manage more software.
34965
34966       NOTE:
34967          Salt  execution  modules are different from state modules and cannot
34968          be called as a state in an SLS file. In other words, this  will  not
34969          work:
34970
34971              moe:
34972                user.rename:
34973                  - new_name: larry
34974                  - onlyif: id moe
34975
34976          You  must  use the module states to call execution modules directly.
34977          Here's an example:
34978
34979              rename_moe:
34980                module.run:
34981                  - name: user.rename
34982                  - m_name: moe
34983                  - new_name: larry
34984                  - onlyif: id moe
34985
34986       Renderers
34987              Renderers use state configuration files written in a variety  of
34988              languages,  templating  engines,  or files. Salt's configuration
34989              management system is, under the hood, language agnostic.
34990
34991              Full list of renderers
34992                     Contains: a list of renderers.  YAML is one  choice,  but
34993                     many  systems  are available, from alternative templating
34994                     engines to the PyDSL language for rendering sls formulas.
34995
34996              Renderers
34997                     Contains: more information about renderers.  Salt  states
34998                     are  only  concerned  with  the  ultimate  highstate data
34999                     structure, not how the data structure was created.
35000
35001   State System Reference
35002       Salt offers an interface to manage the configuration or "state" of  the
35003       Salt  minions.  This  interface  is  a  fully capable mechanism used to
35004       enforce the state of systems from a central manager.
35005
35006   Mod Aggregate State Runtime Modifications
35007       New in version 2014.7.0.
35008
35009
35010       The mod_aggregate system was added in the 2014.7.0 release of Salt  and
35011       allows  for  runtime  modification  of the executing state data. Simply
35012       put, it allows for the data used by Salt's state system to  be  changed
35013       on the fly at runtime, kind of like a configuration management JIT com‐
35014       piler or a runtime import system. All in all, it makes Salt  much  more
35015       dynamic.
35016
35017   How it Works
35018       The  best  example  is the pkg state. One of the major requests in Salt
35019       has long been adding the ability to install all packages defined at the
35020       same time. The mod_aggregate system makes this a reality. While execut‐
35021       ing Salt's state system, when a pkg state is reached the  mod_aggregate
35022       function in the state module is called. For pkg this function scans all
35023       of the other states that are slated to run, and picks up the references
35024       to name and pkgs, then adds them to pkgs in the first state. The result
35025       is a single call to yum, apt-get, pacman, etc  as  part  of  the  first
35026       package install.
35027
35028   How to Use it
35029       NOTE:
35030          Since  this  option changes the basic behavior of the state runtime,
35031          after it is enabled states should be  executed  using  test=True  to
35032          ensure that the desired behavior is preserved.
35033
35034   In config files
35035       The  first  way to enable aggregation is with a configuration option in
35036       either the master or  minion  configuration  files.  Salt  will  invoke
35037       mod_aggregate  the  first  time  it  encounters a state module that has
35038       aggregate support.
35039
35040       If this option is set in the master config it will apply to  all  state
35041       runs  on all minions, if set in the minion config it will only apply to
35042       said minion.
35043
35044       Enable for all states:
35045
35046          state_aggregate: True
35047
35048       Enable for only specific state modules:
35049
35050          state_aggregate:
35051            - pkg
35052
35053   In states
35054       The second way to enable aggregation is with the state-level  aggregate
35055       keyword.  In  this  configuration,  Salt  will invoke the mod_aggregate
35056       function the first time it  encounters  this  keyword.  Any  additional
35057       occurrences  of  the  keyword  will  be  ignored as the aggregation has
35058       already taken place.
35059
35060       The following example will trigger mod_aggregate  when  the  lamp_stack
35061       state is processed resulting in a single call to the underlying package
35062       manager.
35063
35064          lamp_stack:
35065            pkg.installed:
35066              - pkgs:
35067                - php
35068                - mysql-client
35069              - aggregate: True
35070
35071          memcached:
35072            pkg.installed:
35073              - name: memcached
35074
35075   Adding mod_aggregate to a State Module
35076       Adding a  mod_aggregate  routine  to  an  existing  state  module  only
35077       requires  adding  an  additional  function  to  the state module called
35078       mod_aggregate.
35079
35080       The mod_aggregate function just needs to accept  three  parameters  and
35081       return the low data to use. Since mod_aggregate is working on the state
35082       runtime level it does need to manipulate low data.
35083
35084       The three parameters are low, chunks, and running. The  low  option  is
35085       the  low  data for the state execution which is about to be called. The
35086       chunks is the list of all of the low data dictionaries which are  being
35087       executed  by  the runtime and the running dictionary is the return data
35088       from all of the state executions which have already be executed.
35089
35090       This example, simplified from  the  pkg  state,  shows  how  to  create
35091       mod_aggregate functions:
35092
35093          def mod_aggregate(low, chunks, running):
35094              '''
35095              The mod_aggregate function which looks up all packages in the available
35096              low chunks and merges them into a single pkgs ref in the present low data
35097              '''
35098              pkgs = []
35099              # What functions should we aggregate?
35100              agg_enabled = [
35101                      'installed',
35102                      'latest',
35103                      'removed',
35104                      'purged',
35105                      ]
35106              # The `low` data is just a dict with the state, function (fun) and
35107              # arguments passed in from the sls
35108              if low.get('fun') not in agg_enabled:
35109                  return low
35110              # Now look into what other things are set to execute
35111              for chunk in chunks:
35112                  # The state runtime uses "tags" to track completed jobs, it may
35113                  # look familiar with the _|-
35114                  tag = __utils__['state.gen_tag'](chunk)
35115                  if tag in running:
35116                      # Already ran the pkg state, skip aggregation
35117                      continue
35118                  if chunk.get('state') == 'pkg':
35119                      if '__agg__' in chunk:
35120                          continue
35121                      # Check for the same function
35122                      if chunk.get('fun') != low.get('fun'):
35123                          continue
35124                      # Pull out the pkg names!
35125                      if 'pkgs' in chunk:
35126                          pkgs.extend(chunk['pkgs'])
35127                          chunk['__agg__'] = True
35128                      elif 'name' in chunk:
35129                          pkgs.append(chunk['name'])
35130                          chunk['__agg__'] = True
35131              if pkgs:
35132                  if 'pkgs' in low:
35133                      low['pkgs'].extend(pkgs)
35134                  else:
35135                      low['pkgs'] = pkgs
35136              # The low has been modified and needs to be returned to the state
35137              # runtime for execution
35138              return low
35139
35140   Altering States
35141       NOTE:
35142          This documentation has been moved here.
35143
35144   File State Backups
35145       In  0.10.2  a  new  feature  was  added  for  backing up files that are
35146       replaced by the file.managed and file.recurse states. The  new  feature
35147       is  called the backup mode. Setting the backup mode is easy, but it can
35148       be set in a number of places.
35149
35150       The backup_mode can be set in the minion config file:
35151
35152          backup_mode: minion
35153
35154       Or it can be set for each file:
35155
35156          /etc/ssh/sshd_config:
35157            file.managed:
35158              - source: salt://ssh/sshd_config
35159              - backup: minion
35160
35161   Backed-up Files
35162       The files will be saved in the  minion  cachedir  under  the  directory
35163       named  file_backup. The files will be in the location relative to where
35164       they were under the root filesystem and be appended with  a  timestamp.
35165       This should make them easy to browse.
35166
35167   Interacting with Backups
35168       Starting with version 0.17.0, it will be possible to list, restore, and
35169       delete previously-created backups.
35170
35171   Listing
35172       The backups for a given file can be listed using file.list_backups:
35173
35174          # salt foo.bar.com file.list_backups /tmp/foo.txt
35175          foo.bar.com:
35176              ----------
35177              0:
35178                  ----------
35179                  Backup Time:
35180                      Sat Jul 27 2013 17:48:41.738027
35181                  Location:
35182                      /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:41_738027_2013
35183                  Size:
35184                      13
35185              1:
35186                  ----------
35187                  Backup Time:
35188                      Sat Jul 27 2013 17:48:28.369804
35189                  Location:
35190                      /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:28_369804_2013
35191                  Size:
35192                      35
35193
35194   Restoring
35195       Restoring is easy using file.restore_backup, just pass the path and the
35196       numeric id found with file.list_backups:
35197
35198          # salt foo.bar.com file.restore_backup /tmp/foo.txt 1
35199          foo.bar.com:
35200              ----------
35201              comment:
35202                  Successfully restored /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:28_369804_2013 to /tmp/foo.txt
35203              result:
35204                  True
35205
35206       The  existing  file  will be backed up, just in case, as can be seen if
35207       file.list_backups is run again:
35208
35209          # salt foo.bar.com file.list_backups /tmp/foo.txt
35210          foo.bar.com:
35211              ----------
35212              0:
35213                  ----------
35214                  Backup Time:
35215                      Sat Jul 27 2013 18:00:19.822550
35216                  Location:
35217                      /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_18:00:19_822550_2013
35218                  Size:
35219                      53
35220              1:
35221                  ----------
35222                  Backup Time:
35223                      Sat Jul 27 2013 17:48:41.738027
35224                  Location:
35225                      /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:41_738027_2013
35226                  Size:
35227                      13
35228              2:
35229                  ----------
35230                  Backup Time:
35231                      Sat Jul 27 2013 17:48:28.369804
35232                  Location:
35233                      /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_17:48:28_369804_2013
35234                  Size:
35235                      35
35236
35237       NOTE:
35238          Since no state is being run, restoring a file will not  trigger  any
35239          watches  for  the file. So, if you are restoring a config file for a
35240          service, it will likely still be necessary to run a service.restart.
35241
35242   Deleting
35243       Deleting backups can be done using file.delete_backup:
35244
35245          # salt foo.bar.com file.delete_backup /tmp/foo.txt 0
35246          foo.bar.com:
35247              ----------
35248              comment:
35249                  Successfully removed /var/cache/salt/minion/file_backup/tmp/foo.txt_Sat_Jul_27_18:00:19_822550_2013
35250              result:
35251                  True
35252
35253   Understanding State Compiler Ordering
35254       NOTE:
35255          This tutorial is an intermediate level tutorial. Some  basic  under‐
35256          standing of the state system and writing Salt Formulas is assumed.
35257
35258       Salt's  state system is built to deliver all of the power of configura‐
35259       tion management systems without sacrificing simplicity.  This  tutorial
35260       is  made  to  help  users  understand  in  detail just how the order is
35261       defined for state executions in Salt.
35262
35263       This tutorial is written to represent the behavior of Salt as  of  ver‐
35264       sion 0.17.0.
35265
35266   Compiler Basics
35267       To  understand  ordering  in  depth some very basic knowledge about the
35268       state compiler is very helpful. No need to worry though, this  is  very
35269       high level!
35270
35271   High Data and Low Data
35272       When  defining Salt Formulas in YAML the data that is being represented
35273       is referred to by the compiler as High Data. When the data is initially
35274       loaded  into  the compiler it is a single large python dictionary, this
35275       dictionary can be viewed raw by running:
35276
35277          salt '*' state.show_highstate
35278
35279       This "High Data" structure is then compiled down to "Low Data". The Low
35280       Data  is  what  is matched up to create individual executions in Salt's
35281       configuration management system. The low data is  an  ordered  list  of
35282       single state calls to execute. Once the low data is compiled the evalu‐
35283       ation order can be seen.
35284
35285       The low data can be viewed by running:
35286
35287          salt '*' state.show_lowstate
35288
35289       NOTE:
35290          The state execution module contains MANY  functions  for  evaluating
35291          the  state  system  and  is well worth a read! These routines can be
35292          very useful when debugging states or to  help  deepen  one's  under‐
35293          standing of Salt's state system.
35294
35295       As an example, a state written thusly:
35296
35297          apache:
35298            pkg.installed:
35299              - name: httpd
35300            service.running:
35301              - name: httpd
35302              - watch:
35303                - file: apache_conf
35304                - pkg: apache
35305
35306          apache_conf:
35307            file.managed:
35308              - name: /etc/httpd/conf.d/httpd.conf
35309              - source: salt://apache/httpd.conf
35310
35311       Will have High Data which looks like this represented in json:
35312
35313          {
35314              "apache": {
35315                  "pkg": [
35316                      {
35317                          "name": "httpd"
35318                      },
35319                      "installed",
35320                      {
35321                          "order": 10000
35322                      }
35323                  ],
35324                  "service": [
35325                      {
35326                          "name": "httpd"
35327                      },
35328                      {
35329                          "watch": [
35330                              {
35331                                  "file": "apache_conf"
35332                              },
35333                              {
35334                                  "pkg": "apache"
35335                              }
35336                          ]
35337                      },
35338                      "running",
35339                      {
35340                          "order": 10001
35341                      }
35342                  ],
35343                  "__sls__": "blah",
35344                  "__env__": "base"
35345              },
35346              "apache_conf": {
35347                  "file": [
35348                      {
35349                          "name": "/etc/httpd/conf.d/httpd.conf"
35350                      },
35351                      {
35352                          "source": "salt://apache/httpd.conf"
35353                      },
35354                      "managed",
35355                      {
35356                          "order": 10002
35357                      }
35358                  ],
35359                  "__sls__": "blah",
35360                  "__env__": "base"
35361              }
35362          }
35363
35364       The subsequent Low Data will look like this:
35365
35366          [
35367              {
35368                  "name": "httpd",
35369                  "state": "pkg",
35370                  "__id__": "apache",
35371                  "fun": "installed",
35372                  "__env__": "base",
35373                  "__sls__": "blah",
35374                  "order": 10000
35375              },
35376              {
35377                  "name": "httpd",
35378                  "watch": [
35379                      {
35380                          "file": "apache_conf"
35381                      },
35382                      {
35383                          "pkg": "apache"
35384                      }
35385                  ],
35386                  "state": "service",
35387                  "__id__": "apache",
35388                  "fun": "running",
35389                  "__env__": "base",
35390                  "__sls__": "blah",
35391                  "order": 10001
35392              },
35393              {
35394                  "name": "/etc/httpd/conf.d/httpd.conf",
35395                  "source": "salt://apache/httpd.conf",
35396                  "state": "file",
35397                  "__id__": "apache_conf",
35398                  "fun": "managed",
35399                  "__env__": "base",
35400                  "__sls__": "blah",
35401                  "order": 10002
35402              }
35403          ]
35404
35405       This tutorial discusses the Low Data evaluation and the state runtime.
35406
35407   Ordering Layers
35408       Salt  defines  2 order interfaces which are evaluated in the state run‐
35409       time and defines these orders in a number of passes.
35410
35411   Definition Order
35412       NOTE:
35413          The Definition Order system can be disabled by  turning  the  option
35414          state_auto_order to False in the master configuration file.
35415
35416       The top level of ordering is the Definition Order. The Definition Order
35417       is the order in which states are defined in salt formulas. This is very
35418       straightforward on basic states which do not contain include statements
35419       or a top file, as the states are just ordered from the top of the file,
35420       but the include system starts to bring in some simple rules for how the
35421       Definition Order is defined.
35422
35423       Looking back at the "Low Data" and "High Data" shown above,  the  order
35424       key  has  been transparently added to the data to enable the Definition
35425       Order.
35426
35427   The Include Statement
35428       Basically, if there is an include statement in a formula, then the for‐
35429       mulas which are included will be run BEFORE the contents of the formula
35430       which is including them. Also, the include statement is a list, so they
35431       will be loaded in the order in which they are included.
35432
35433       In the following case:
35434
35435       foo.sls
35436
35437          include:
35438            - bar
35439            - baz
35440
35441       bar.sls
35442
35443          include:
35444            - quo
35445
35446       baz.sls
35447
35448          include:
35449            - qux
35450
35451       In the above case if state.apply foo were called then the formulas will
35452       be loaded in the following order:
35453
35454       1. quo
35455
35456       2. bar
35457
35458       3. qux
35459
35460       4. baz
35461
35462       5. foo
35463
35464   The order Flag
35465       The Definition Order happens transparently in the background,  but  the
35466       ordering can be explicitly overridden using the order flag in states:
35467
35468          apache:
35469            pkg.installed:
35470              - name: httpd
35471              - order: 1
35472
35473       This order flag will over ride the definition order, this makes it very
35474       simple to create states that are always executed first, last or in spe‐
35475       cific stages, a great example is defining a number of package reposito‐
35476       ries that need to be set up before anything else, or final checks  that
35477       need to be run at the end of a state run by using order: last or order:
35478       -1.
35479
35480       When the order flag is explicitly set the Definition Order system  will
35481       omit  setting  an  order for that state and directly use the order flag
35482       defined.
35483
35484   Lexicographical Fall-back
35485       Salt states were written to ALWAYS execute in the  same  order.  Before
35486       the  introduction  of Definition Order in version 0.17.0 everything was
35487       ordered lexicographically according to the  name  of  the  state,  then
35488       function then id.
35489
35490       This  is  the way Salt has always ensured that states always run in the
35491       same order regardless of where they are deployed, the addition  of  the
35492       Definition Order method mealy makes this finite ordering easier to fol‐
35493       low.
35494
35495       The lexicographical ordering is still  applied  but  it  only  has  any
35496       effect  when  two order statements collide. This means that if multiple
35497       states are assigned the same order number that they will fall  back  to
35498       lexicographical  ordering  to ensure that every execution still happens
35499       in a finite order.
35500
35501       NOTE:
35502          If running with state_auto_order: False the order  key  is  not  set
35503          automatically,  since  the Lexicographical order can be derived from
35504          other keys.
35505
35506   Requisite Ordering
35507       Salt states are fully declarative, in that they are written to  declare
35508       the  state  in which a system should be. This means that components can
35509       require that other components have been set up successfully. Unlike the
35510       other  ordering  systems,  the Requisite system in Salt is evaluated at
35511       runtime.
35512
35513       The requisite system is also built to ensure that the ordering of  exe‐
35514       cution never changes, but is always the same for a given set of states.
35515       This is accomplished by using a runtime that processes states in a com‐
35516       pletely  predictable  order instead of using an event loop based system
35517       like other declarative configuration management systems.
35518
35519   Runtime Requisite Evaluation
35520       The requisite system is evaluated as the components are found, and  the
35521       requisites  are  always  evaluated  in the same order. This explanation
35522       will be followed by an example, as the raw explanation may be a  little
35523       dizzying  at  first  as  it  creates  a  linear  dependency  evaluation
35524       sequence.
35525
35526       The "Low Data" is an ordered list or dictionaries,  the  state  runtime
35527       evaluates  each  dictionary  in the order in which they are arranged in
35528       the list. When evaluating a single dictionary it is checked for  requi‐
35529       sites,  requisites are evaluated in order, require then watch then pre‐
35530       req.
35531
35532       NOTE:
35533          If using requisite in statements like require_in and watch_in  these
35534          will be compiled down to require and watch statements before runtime
35535          evaluation.
35536
35537       Each requisite contains an ordered list of requisites, these requisites
35538       are  looked  up in the list of dictionaries and then executed. Once all
35539       requisites have been evaluated and executed then  the  requiring  state
35540       can safely be run (or not run if requisites have not been met).
35541
35542       This  means that the requisites are always evaluated in the same order,
35543       again ensuring one of the core design principals of Salt's State system
35544       to ensure that execution is always finite is intact.
35545
35546   Simple Runtime Evaluation Example
35547       Given  the above "Low Data" the states will be evaluated in the follow‐
35548       ing order:
35549
35550       1. The pkg.installed is executed ensuring that the  apache  package  is
35551          installed,  it  contains  no  requisites  and is therefore the first
35552          defined state to execute.
35553
35554       2. The service.running state is evaluated but  NOT  executed,  a  watch
35555          requisite  is  found,  therefore they are read in order, the runtime
35556          first checks for the file, sees that it has not  been  executed  and
35557          calls for the file state to be evaluated.
35558
35559       3. The  file  state  is  evaluated AND executed, since it, like the pkg
35560          state does not contain any requisites.
35561
35562       4. The evaluation of the service state continues, it  next  checks  the
35563          pkg  requisite  and sees that it is met, with all requisites met the
35564          service state is now executed.
35565
35566   Best Practice
35567       The best practice in Salt is to choose a  method  and  stick  with  it,
35568       official states are written using requisites for all associations since
35569       requisites create clean, traceable dependency trails and make  for  the
35570       most  portable formulas. To accomplish something similar to how classi‐
35571       cal imperative systems function all requisites can be omitted  and  the
35572       failhard option then set to True in the master configuration, this will
35573       stop all state runs at the first instance of a failure.
35574
35575       In the end, using  requisites  creates  very  tight  and  fine  grained
35576       states,  not  using  requisites  makes  full  sequence  runs  and while
35577       slightly easier to write, and gives much less control over  the  execu‐
35578       tions.
35579
35580   Extending External SLS Data
35581       Sometimes a state defined in one SLS file will need to be modified from
35582       a separate SLS file. A good example of this is when an  argument  needs
35583       to be overwritten or when a service needs to watch an additional state.
35584
35585   The Extend Declaration
35586       The  standard  way  to extend is via the extend declaration. The extend
35587       declaration is a top level declaration like include and encapsulates ID
35588       declaration data included from other SLS files. A standard extend looks
35589       like this:
35590
35591          include:
35592            - http
35593            - ssh
35594
35595          extend:
35596            apache:
35597              file:
35598                - name: /etc/httpd/conf/httpd.conf
35599                - source: salt://http/httpd2.conf
35600            ssh-server:
35601              service:
35602                - watch:
35603                  - file: /etc/ssh/banner
35604
35605          /etc/ssh/banner:
35606            file.managed:
35607              - source: salt://ssh/banner
35608
35609       A few critical things happened here, first off the SLS files  that  are
35610       going  to  be  extended  are  included, then the extend dec is defined.
35611       Under the extend dec 2 IDs are extended, the apache ID's file state  is
35612       overwritten with a new name and source. Then the ssh server is extended
35613       to watch the banner file in addition to anything it is  already  watch‐
35614       ing.
35615
35616   Extend is a Top Level Declaration
35617       This means that extend can only be called once in an sls, if it is used
35618       twice then only one of the extend blocks  will  be  read.  So  this  is
35619       WRONG:
35620
35621          include:
35622            - http
35623            - ssh
35624
35625          extend:
35626            apache:
35627              file:
35628                - name: /etc/httpd/conf/httpd.conf
35629                - source: salt://http/httpd2.conf
35630          # Second extend will overwrite the first!! Only make one
35631          extend:
35632            ssh-server:
35633              service:
35634                - watch:
35635                  - file: /etc/ssh/banner
35636
35637   The Requisite in Statement
35638       Since one of the most common things to do when extending another SLS is
35639       to add states for a service to watch, or  anything  for  a  watcher  to
35640       watch,  the requisite in statement was added to 0.9.8 to make extending
35641       the watch and require lists easier.  The  ssh-server  extend  statement
35642       above could be more cleanly defined like so:
35643
35644          include:
35645            - ssh
35646
35647          /etc/ssh/banner:
35648            file.managed:
35649              - source: salt://ssh/banner
35650              - watch_in:
35651                - service: ssh-server
35652
35653   Rules to Extend By
35654       There are a few rules to remember when extending states:
35655
35656       1. Always include the SLS being extended with an include declaration
35657
35658       2. Requisites  (watch  and require) are appended to, everything else is
35659          overwritten
35660
35661       3. extend is a top level declaration, like an ID declaration, cannot be
35662          declared twice in a single SLS
35663
35664       4. Many IDs can be extended under the extend declaration
35665
35666   Failhard Global Option
35667       Normally, when a state fails Salt continues to execute the remainder of
35668       the defined states and will only refuse to execute states that  require
35669       the failed state.
35670
35671       But  the  situation may exist, where you would want all state execution
35672       to stop if a single state execution fails. The capability to do this is
35673       called failing hard.
35674
35675   State Level Failhard
35676       A  single  state can have a failhard set, this means that if this indi‐
35677       vidual state fails that all state execution will immediately stop. This
35678       is a great thing to do if there is a state that sets up a critical con‐
35679       fig file and setting a require for each state  that  reads  the  config
35680       would  be  cumbersome.   A  good  example of this would be setting up a
35681       package manager early on:
35682
35683          /etc/yum.repos.d/company.repo:
35684            file.managed:
35685              - source: salt://company/yumrepo.conf
35686              - user: root
35687              - group: root
35688              - mode: 644
35689              - order: 1
35690              - failhard: True
35691
35692       In this situation, the yum repo is going to be configured before  other
35693       states,  and  if  it  fails  to lay down the config file, than no other
35694       states will be executed.  It is possible to override a Global  Failhard
35695       (see below) by explicitly setting it to False in the state.
35696
35697   Global Failhard
35698       It  may  be  desired to have failhard be applied to every state that is
35699       executed, if this is the case, then failhard can be set in  the  master
35700       configuration  file.  Setting failhard in the master configuration file
35701       will result in failing hard when any minion gathering states  from  the
35702       master have a state fail.
35703
35704       This  is  NOT the default behavior, normally Salt will only fail states
35705       that require a failed state.
35706
35707       Using the global failhard is generally not recommended,  since  it  can
35708       result  in  states  not  being executed or even checked. It can also be
35709       confusing to see states failhard if an admin is not actively aware that
35710       the failhard has been set.
35711
35712       To  use the global failhard set failhard to True in the master configu‐
35713       ration file.
35714
35715   Global State Arguments
35716       NOTE:
35717          This documentation has been moved here.
35718
35719   Highstate data structure definitions
35720   The Salt State Tree
35721       A state tree is a collection of SLS files  and  directories  that  live
35722       under the directory specified in file_roots.
35723
35724       NOTE:
35725          Directory  names  or  filenames  in  the state tree cannot contain a
35726          period, with the exception of the period in the .sls file suffix.
35727
35728   Top file
35729       The main state file that instructs minions what environment and modules
35730       to use during state execution.
35731
35732       Configurable via state_top.
35733
35734       SEE ALSO:
35735          A detailed description of the top file
35736
35737   Include declaration
35738       Defines a list of Module reference strings to include in this SLS.
35739
35740       Occurs only in the top level of the SLS data structure.
35741
35742       Example:
35743
35744          include:
35745            - edit.vim
35746            - http.server
35747
35748   Module reference
35749       The name of a SLS module defined by a separate SLS file and residing on
35750       the Salt Master. A module named edit.vim is a reference to the SLS file
35751       salt://edit/vim.sls.
35752
35753   ID declaration
35754       Defines an individual highstate component. Always references a value of
35755       a  dictionary  containing  keys  referencing  State   declaration   and
35756       Requisite  declaration.  Can  be  overridden by a Name declaration or a
35757       Names declaration.
35758
35759       Occurs on the top level or under the Extend declaration.
35760
35761       Must be unique across entire state tree. If the same ID declaration  is
35762       used  twice, only the first one matched will be used. All subsequent ID
35763       declarations with the same name will be ignored.
35764
35765       NOTE:
35766          Naming gotchas
35767
35768          In Salt versions earlier than 0.9.7, ID declarations containing dots
35769          would result in unpredictable output.
35770
35771   Extend declaration
35772       Extends a Name declaration from an included SLS module. The keys of the
35773       extend declaration always refer to an  existing  ID  declaration  which
35774       have been defined in included SLS modules.
35775
35776       Occurs only in the top level and defines a dictionary.
35777
35778       States cannot be extended more than once in a single state run.
35779
35780       Extend  declarations  are useful for adding-to or overriding parts of a
35781       State declaration that is defined in another SLS file. In the following
35782       contrived  example,  the  shown  mywebsite.sls file is include -ing and
35783       extend -ing the apache.sls module in order to add a  watch  declaration
35784       that will restart Apache whenever the Apache configuration file, myweb‐
35785       site changes.
35786
35787          include:
35788            - apache
35789
35790          extend:
35791            apache:
35792              service:
35793                - watch:
35794                  - file: mywebsite
35795
35796          mywebsite:
35797            file.managed:
35798              - name: /var/www/mysite
35799
35800       SEE ALSO:
35801          watch_in and require_in
35802
35803          Sometimes it is more convenient to use the  watch_in  or  require_in
35804          syntax instead of extending another SLS file.
35805
35806          State Requisites
35807
35808   State declaration
35809       A  list which contains one string defining the Function declaration and
35810       any number of Function arg declaration dictionaries.
35811
35812       Can, optionally, contain a number of  additional  components  like  the
35813       name  override  components — name and names. Can also contain requisite
35814       declarations.
35815
35816       Occurs under an ID declaration.
35817
35818   Requisite declaration
35819       A list containing requisite references.
35820
35821       Used to build the action dependency tree. While Salt states are made to
35822       execute  in  a  deterministic order, this order is managed by requiring
35823       and watching other Salt states.
35824
35825       Occurs as a list component under a State declaration or as a key  under
35826       an ID declaration.
35827
35828   Requisite reference
35829       A  single  key  dictionary. The key is the name of the referenced State
35830       declaration and the value is the ID of the referenced ID declaration.
35831
35832       Occurs as a single index in a Requisite declaration list.
35833
35834   Function declaration
35835       The name of the function to call within the state. A state  declaration
35836       can contain only a single function declaration.
35837
35838       For  example, the following state declaration calls the installed func‐
35839       tion in the pkg state module:
35840
35841          httpd:
35842            pkg.installed: []
35843
35844       The function can be declared inline with the state as a shortcut.   The
35845       actual data structure is compiled to this form:
35846
35847          httpd:
35848            pkg:
35849              - installed
35850
35851       Where  the  function  is a string in the body of the state declaration.
35852       Technically when the function is declared in dot notation the  compiler
35853       converts it to be a string in the state declaration list. Note that the
35854       use of the first example more than once in an ID declaration is invalid
35855       yaml.
35856
35857       INVALID:
35858
35859          httpd:
35860            pkg.installed
35861            service.running
35862
35863       When passing a function without arguments and another state declaration
35864       within a single ID declaration, then  the  long  or  "standard"  format
35865       needs  to  be  used  since otherwise it does not represent a valid data
35866       structure.
35867
35868       VALID:
35869
35870          httpd:
35871            pkg.installed: []
35872            service.running: []
35873
35874       Occurs as the only index in the State declaration list.
35875
35876   Function arg declaration
35877       A single key dictionary referencing a Python type which is to be passed
35878       to  the named Function declaration as a parameter. The type must be the
35879       data type expected by the function.
35880
35881       Occurs under a Function declaration.
35882
35883       For example in the following state declaration user,  group,  and  mode
35884       are  passed as arguments to the managed function in the file state mod‐
35885       ule:
35886
35887          /etc/http/conf/http.conf:
35888            file.managed:
35889              - user: root
35890              - group: root
35891              - mode: 644
35892
35893   Name declaration
35894       Overrides the name argument of a State  declaration.  If  name  is  not
35895       specified the ID declaration satisfies the name argument.
35896
35897       The name is always a single key dictionary referencing a string.
35898
35899       Overriding name is useful for a variety of scenarios.
35900
35901       For example, avoiding clashing ID declarations. The following two state
35902       declarations cannot both have /etc/motd as the ID declaration:
35903
35904          motd_perms:
35905            file.managed:
35906              - name: /etc/motd
35907              - mode: 644
35908
35909          motd_quote:
35910            file.append:
35911              - name: /etc/motd
35912              - text: "Of all smells, bread; of all tastes, salt."
35913
35914       Another common reason to override name is if the ID declaration is long
35915       and  needs to be referenced in multiple places. In the example below it
35916       is   much   easier   to   specify    mywebsite    than    to    specify
35917       /etc/apache2/sites-available/mywebsite.com multiple times:
35918
35919          mywebsite:
35920            file.managed:
35921              - name: /etc/apache2/sites-available/mywebsite.com
35922              - source: salt://mywebsite.com
35923
35924          a2ensite mywebsite.com:
35925            cmd.wait:
35926              - unless: test -L /etc/apache2/sites-enabled/mywebsite.com
35927              - watch:
35928                - file: mywebsite
35929
35930          apache2:
35931            service.running:
35932              - watch:
35933                - file: mywebsite
35934
35935   Names declaration
35936       Expands  the contents of the containing State declaration into multiple
35937       state declarations, each with its own name.
35938
35939       For example, given the following state declaration:
35940
35941          python-pkgs:
35942            pkg.installed:
35943              - names:
35944                - python-django
35945                - python-crypto
35946                - python-yaml
35947
35948       Once converted into the lowstate data structure the above state  decla‐
35949       ration will be expanded into the following three state declarations:
35950
35951          python-django:
35952            pkg.installed
35953
35954          python-crypto:
35955            pkg.installed
35956
35957          python-yaml:
35958            pkg.installed
35959
35960       Other  values  can  be  overridden during the expansion by providing an
35961       additional dictionary level.
35962
35963       New in version 2014.7.0.
35964
35965
35966          ius:
35967            pkgrepo.managed:
35968              - humanname: IUS Community Packages for Enterprise Linux 6 - $basearch
35969              - gpgcheck: 1
35970              - baseurl: http://mirror.rackspace.com/ius/stable/CentOS/6/$basearch
35971              - gpgkey: http://dl.iuscommunity.org/pub/ius/IUS-COMMUNITY-GPG-KEY
35972              - names:
35973                  - ius
35974                  - ius-devel:
35975                      - baseurl: http://mirror.rackspace.com/ius/development/CentOS/6/$basearch
35976
35977   Large example
35978       Here is the layout in yaml using the names of  the  highdata  structure
35979       components.
35980
35981          <Include Declaration>:
35982            - <Module Reference>
35983            - <Module Reference>
35984
35985          <Extend Declaration>:
35986            <ID Declaration>:
35987              [<overrides>]
35988
35989
35990          # standard declaration
35991
35992          <ID Declaration>:
35993            <State Module>:
35994              - <Function>
35995              - <Function Arg>
35996              - <Function Arg>
35997              - <Function Arg>
35998              - <Name>: <name>
35999              - <Requisite Declaration>:
36000                - <Requisite Reference>
36001                - <Requisite Reference>
36002
36003
36004          # inline function and names
36005
36006          <ID Declaration>:
36007            <State Module>.<Function>:
36008              - <Function Arg>
36009              - <Function Arg>
36010              - <Function Arg>
36011              - <Names>:
36012                - <name>
36013                - <name>
36014                - <name>
36015              - <Requisite Declaration>:
36016                - <Requisite Reference>
36017                - <Requisite Reference>
36018
36019
36020          # multiple states for single id
36021
36022          <ID Declaration>:
36023            <State Module>:
36024              - <Function>
36025              - <Function Arg>
36026              - <Name>: <name>
36027              - <Requisite Declaration>:
36028                - <Requisite Reference>
36029            <State Module>:
36030              - <Function>
36031              - <Function Arg>
36032              - <Names>:
36033                - <name>
36034                - <name>
36035              - <Requisite Declaration>:
36036                - <Requisite Reference>
36037
36038   Include and Exclude
36039       Salt  SLS  files can include other SLS files and exclude SLS files that
36040       have been otherwise included. This allows for an  SLS  file  to  easily
36041       extend or manipulate other SLS files.
36042
36043   Include
36044       When  other  SLS files are included, everything defined in the included
36045       SLS file will be added to the state run. When including define  a  list
36046       of SLS formulas to include:
36047
36048          include:
36049            - http
36050            - libvirt
36051
36052       The  include statement will include SLS formulas from the same environ‐
36053       ment that the including SLS formula is in. But the environment  can  be
36054       explicitly  defined  in the configuration to override the running envi‐
36055       ronment, therefore if an SLS formula  needs  to  be  included  from  an
36056       external environment named "dev" the following syntax is used:
36057
36058          include:
36059            - dev: http
36060
36061       NOTE:  include  does not simply inject the states where you place it in
36062       the SLS file. If you need to guarantee  order  of  execution,  consider
36063       using requisites.
36064
36065          Do not use dots in SLS file names or their directories
36066
36067                 The initial implementation of top.sls and include-declaration
36068                 followed the python import model where a slash is represented
36069                 as a period.  This means that a SLS file with a period in the
36070                 name ( besides the suffix period) can not be referenced.  For
36071                 example,  webserver_1.0.sls is not referenceable because web‐
36072                 server_1.0   would   refer   to   the   directory/file   web‐
36073                 server_1/0.sls
36074
36075                 The  same  applies for any subdirectories, this is especially
36076                 'tricky' when git repos are created.   Another  command  that
36077                 typically  can't  render it's output is `state.show_sls` of a
36078                 file in a path that contains a dot.
36079
36080   Relative Include
36081       In Salt 0.16.0, the capability to include SLS formulas which are  rela‐
36082       tive  to the running SLS formula was added.  Simply precede the formula
36083       name with a .:
36084
36085          include:
36086            - .virt
36087            - .virt.hyper
36088
36089       In Salt 2015.8, the ability to include SLS formulas which are  relative
36090       to  the  parents  of  the  running  SLS formula was added.  In order to
36091       achieve this, precede the formula name with more than one . (dot). Much
36092       like  Python's relative import abilities, two or more leading dots rep‐
36093       resent a relative include of the parent or parents of the current pack‐
36094       age, with each .  representing one level after the first.
36095
36096       The  following SLS configuration, if placed within example.dev.virtual,
36097       would result in example.http and base being included respectively:
36098
36099          include:
36100            - ..http
36101            - ...base
36102
36103   Exclude
36104       The exclude statement, added in Salt 0.10.3,  allows  an  SLS  to  hard
36105       exclude  another  SLS  file or a specific id. The component is excluded
36106       after the high data has been compiled, so nothing  should  be  able  to
36107       override an exclude.
36108
36109       Since  the  exclude can remove an id or an sls the type of component to
36110       exclude needs to be defined. An exclude statement  that  verifies  that
36111       the  running highstate does not contain the http sls and the /etc/vimrc
36112       id would look like this:
36113
36114          exclude:
36115            - sls: http
36116            - id: /etc/vimrc
36117
36118       NOTE:
36119          The current state processing flow checks for  duplicate  IDs  before
36120          processing  excludes.  An  error occurs if duplicate IDs are present
36121          even if one of the IDs is targeted by an exclude.
36122
36123   State System Layers
36124       The Salt state system is comprised of multiple layers. While using Salt
36125       does  not require an understanding of the state layers, a deeper under‐
36126       standing of how Salt compiles and manages states can  be  very  benefi‐
36127       cial.
36128
36129   Function Call
36130       The  lowest  layer  of  functionality in the state system is the direct
36131       state function call. State executions are executions  of  single  state
36132       functions  at the core. These individual functions are defined in state
36133       modules and can be called directly via the state.single command.
36134
36135          salt '*' state.single pkg.installed name='vim'
36136
36137   Low Chunk
36138       The low chunk is the bottom of the Salt state compiler. This is a  data
36139       representation  of a single function call. The low chunk is sent to the
36140       state caller and used to execute a single state function.
36141
36142       A single low chunk can be executed manually via the state.low command.
36143
36144          salt '*' state.low '{name: vim, state: pkg, fun: installed}'
36145
36146       The passed data reflects what the state  execution  system  gets  after
36147       compiling the data down from sls formulas.
36148
36149   Low State
36150       The  Low State layer is the list of low chunks "evaluated" in order. To
36151       see what the low state looks like for a highstate, run:
36152
36153          salt '*' state.show_lowstate
36154
36155       This will display the raw lowstate in the order which  each  low  chunk
36156       will be evaluated. The order of evaluation is not necessarily the order
36157       of execution, since requisites are evaluated at runtime. Requisite exe‐
36158       cution and evaluation is finite; this means that the order of execution
36159       can be ascertained with 100% certainty based on the order  of  the  low
36160       state.
36161
36162   High Data
36163       High  data is the data structure represented in YAML via SLS files. The
36164       High data structure is created by merging the data components  rendered
36165       inside sls files (or other render systems). The High data can be easily
36166       viewed by executing the state.show_highstate  or  state.show_sls  func‐
36167       tions.  Since this data is a somewhat complex data structure, it may be
36168       easier to read using the json, yaml, or pprint outputters:
36169
36170          salt '*' state.show_highstate --out yaml
36171          salt '*' state.show_sls edit.vim --out pprint
36172
36173   SLS
36174       Above "High  Data",  the  logical  layers  are  no  longer  technically
36175       required  to  be executed, or to be executed in a hierarchy. This means
36176       that how the High data is generated is optional and very flexible.  The
36177       SLS layer allows for many mechanisms to be used to render sls data from
36178       files or to use the fileserver backend to generate sls  and  file  data
36179       from external systems.
36180
36181       The  SLS  layer can be called directly to execute individual sls formu‐
36182       las.
36183
36184       NOTE:
36185          SLS Formulas have historically been  called  "SLS  files".  This  is
36186          because  a single SLS was only constituted in a single file. Now the
36187          term "SLS Formula" better expresses how a compartmentalized SLS  can
36188          be  expressed  in  a  much  more dynamic way by combining pillar and
36189          other sources, and the SLS can be dynamically generated.
36190
36191       To call a single SLS formula named edit.vim,  execute  state.apply  and
36192       pass edit.vim as an argument:
36193
36194          salt '*' state.apply edit.vim
36195
36196   HighState
36197       Calling  SLS  directly logically assigns what states should be executed
36198       from the context of the calling minion. The Highstate layer is used  to
36199       allow  for  full  contextual assignment of what is executed where to be
36200       tied to groups of, or individual, minions  entirely  from  the  master.
36201       This  means that the environment of a minion, and all associated execu‐
36202       tion data pertinent to said minion, can be  assigned  from  the  master
36203       without  needing to execute or configure anything on the target minion.
36204       This also means that the minion can independently retrieve  information
36205       about its complete configuration from the master.
36206
36207       To execute the highstate use state.apply:
36208
36209          salt '*' state.apply
36210
36211   Orchestrate
36212       The  orchestrate layer expresses the highest functional layer of Salt's
36213       automated logic systems. The Overstate allows for  stateful  and  func‐
36214       tional  orchestration  of  routines  from  the  master. The orchestrate
36215       defines in data execution stages which minions should  execute  states,
36216       or functions, and in what order using requisite logic.
36217
36218   The Orchestrate Runner
36219       NOTE:
36220          This documentation has been moved here.
36221
36222   Ordering States
36223       The  way  in  which  configuration management systems are executed is a
36224       hotly debated topic in the configuration management  world.  Two  major
36225       philosophies  exist  on the subject, to either execute in an imperative
36226       fashion where things are executed  in  the  order  in  which  they  are
36227       defined,  or  in  a  declarative  fashion where dependencies need to be
36228       mapped between objects.
36229
36230       Imperative ordering is finite and generally considered easier to write,
36231       but  declarative ordering is much more powerful and flexible but gener‐
36232       ally considered more difficult to create.
36233
36234       Salt has been created to get the best of both worlds. States are evalu‐
36235       ated  in  a  finite order, which guarantees that states are always exe‐
36236       cuted in the same order, and the states runtime is declarative,  making
36237       Salt fully aware of dependencies via the requisite system.
36238
36239   State Auto Ordering
36240       Salt  always executes states in a finite manner, meaning that they will
36241       always execute in the same order regardless of the system that is  exe‐
36242       cuting them. This evaluation order makes it easy to know what order the
36243       states will be executed in, but it is important to note that the requi‐
36244       site  system  will  override the ordering defined in the files, and the
36245       order option, described below, will also override the  order  in  which
36246       states are executed.
36247
36248       This  ordering  system  can  be disabled in preference of lexicographic
36249       (classic) ordering by setting the state_auto_order option to  False  in
36250       the  master configuration file. Otherwise, state_auto_order defaults to
36251       True.
36252
36253       How  compiler  ordering  is  managed  is  described  further  in   com‐
36254       piler-ordering.
36255
36256   Requisite Statements
36257       NOTE:
36258          The  behavior  of requisites changed in version 0.9.7 of Salt.  This
36259          documentation applies to requisites in version 0.9.7 and later.
36260
36261       Often when setting up states any single action will require  or  depend
36262       on  another  action.  Salt  allows  for  the  building of relationships
36263       between states with requisite statements. A requisite statement ensures
36264       that  the named state is evaluated before the state requiring it. There
36265       are three types of requisite statements in Salt,  require,  watch,  and
36266       prereq.
36267
36268       These requisite statements are applied to a specific state declaration:
36269
36270          httpd:
36271            pkg.installed: []
36272            file.managed:
36273              - name: /etc/httpd/conf/httpd.conf
36274              - source: salt://httpd/httpd.conf
36275              - require:
36276                - pkg: httpd
36277
36278       In this example, the require requisite is used to declare that the file
36279       /etc/httpd/conf/httpd.conf should only be set up if the pkg state  exe‐
36280       cutes successfully.
36281
36282       The  requisite system works by finding the states that are required and
36283       executing them before the state that requires them. Then  the  required
36284       states can be evaluated to see if they have executed correctly.
36285
36286       Require  statements  can  refer to any state defined in Salt. The basic
36287       examples are pkg, service, and file, but any used state can  be  refer‐
36288       enced.
36289
36290       In  addition  to  state  declarations such as pkg, file, etc., sls type
36291       requisites are also recognized, and  essentially  allow  'chaining'  of
36292       states.  This  provides  a  mechanism to ensure the proper sequence for
36293       complex state formulas, especially when the discrete states  are  split
36294       or groups into separate sls files:
36295
36296          include:
36297            - network
36298
36299          httpd:
36300            pkg.installed: []
36301            service.running:
36302              - require:
36303                - pkg: httpd
36304                - sls: network
36305
36306       In  this  example,  the httpd service running state will not be applied
36307       (i.e., the httpd service will not be started)  unless  both  the  httpd
36308       package is installed AND the network state is satisfied.
36309
36310       NOTE:
36311          Requisite matching
36312
36313          Requisites  match on both the ID Declaration and the name parameter.
36314          Therefore, if using the pkgs or sources argument to install  a  list
36315          of packages in a pkg state, it's important to note that it is impos‐
36316          sible to match an individual package in the list, since all packages
36317          are installed as a single state.
36318
36319   Multiple Requisites
36320       The  requisite  statement  is  passed  as a list, allowing for the easy
36321       addition of more requisites. Both requisite types  can  also  be  sepa‐
36322       rately declared:
36323
36324          httpd:
36325            pkg.installed: []
36326            service.running:
36327              - enable: True
36328              - watch:
36329                - file: /etc/httpd/conf/httpd.conf
36330              - require:
36331                - pkg: httpd
36332                - user: httpd
36333                - group: httpd
36334            file.managed:
36335              - name: /etc/httpd/conf/httpd.conf
36336              - source: salt://httpd/httpd.conf
36337              - require:
36338                - pkg: httpd
36339            user.present: []
36340            group.present: []
36341
36342       In  this  example, the httpd service is only going to be started if the
36343       package, user, group, and file are executed successfully.
36344
36345   Requisite Documentation
36346       For detailed information on each of the individual  requisites,  please
36347       look here.
36348
36349   The Order Option
36350       Before  using  the  order  option,  remember that the majority of state
36351       ordering should be done with a requisite-declaration, and that a requi‐
36352       site  declaration  will override an order option, so a state with order
36353       option should not require or required by other states.
36354
36355       The order option is used by adding an order number to a state  declara‐
36356       tion with the option order:
36357
36358          vim:
36359            pkg.installed:
36360              - order: 1
36361
36362       By  adding the order option to 1 this ensures that the vim package will
36363       be installed in tandem with any other  state  declaration  set  to  the
36364       order 1.
36365
36366       Any  state  declared without an order option will be executed after all
36367       states with order options are executed.
36368
36369       But this construct can only handle ordering states from the  beginning.
36370       Certain circumstances will present a situation where it is desirable to
36371       send a state to the end of the line. To do this, set the order to last:
36372
36373          vim:
36374            pkg.installed:
36375              - order: last
36376
36377   Running States in Parallel
36378       Introduced in Salt version 2017.7.0 it is now possible  to  run  select
36379       states in parallel. This is accomplished very easily by adding the par‐
36380       allel: True option to your state declaration:
36381
36382          nginx:
36383            service.running:
36384              - parallel: True
36385
36386       Now nginx will be started in a separate process from the  normal  state
36387       run and will therefore not block additional states.
36388
36389   Parallel States and Requisites
36390       Parallel  States  still  honor  requisites.  If  a given state requires
36391       another state that has been run in parallel then the state runtime will
36392       wait for the required state to finish.
36393
36394       Given this example:
36395
36396          sleep 10:
36397            cmd.run:
36398              - parallel: True
36399
36400          nginx:
36401            service.running:
36402              - parallel: True
36403              - require:
36404                - cmd: sleep 10
36405
36406          sleep 5:
36407            cmd.run:
36408              - parallel: True
36409
36410       The sleep 10 will be started first, then the state system will block on
36411       starting nginx until the  sleep  10  completes.  Once  nginx  has  been
36412       ensured to be running then the sleep 5 will start.
36413
36414       This  means  that the order of evaluation of Salt States and requisites
36415       are still honored, and given that in the  above  case,  parallel:  True
36416       does not actually speed things up.
36417
36418       To run the above state much faster make sure that the sleep 5 is evalu‐
36419       ated before the nginx state
36420
36421          sleep 10:
36422            cmd.run:
36423              - parallel: True
36424
36425          sleep 5:
36426            cmd.run:
36427              - parallel: True
36428
36429          nginx:
36430            service.running:
36431              - parallel: True
36432              - require:
36433                - cmd: sleep 10
36434
36435       Now both of the sleep calls will be started in parallel and nginx  will
36436       still  wait  for  the state it requires, but while it waits the sleep 5
36437       state will also complete.
36438
36439   Things to be Careful of
36440       Parallel States do not prevent you from creating parallel conflicts  on
36441       your  system.  This  means  that if you start multiple package installs
36442       using Salt then the package manager will block or fail. If you  attempt
36443       to  manage  the  same  file  with  multiple states in parallel then the
36444       result can produce an unexpected file.
36445
36446       Make sure that the states you choose to run in  parallel  do  not  con‐
36447       flict,  or else, like in any parallel programming environment, the out‐
36448       come may not be what you expect. Doing  things  like  just  making  all
36449       states  run  in  parallel  will  almost  certainly result in unexpected
36450       behavior.
36451
36452       With that said, running states in parallel  should  be  safe  the  vast
36453       majority  of the time and the most likely culprit for unexpected behav‐
36454       ior is running multiple package installs in parallel.
36455
36456   State Providers
36457       New in version 0.9.8.
36458
36459
36460       Salt predetermines what modules should be mapped to what uses based  on
36461       the properties of a system. These determinations are generally made for
36462       modules that provide things like package and service management.
36463
36464       Sometimes in states, it may be necessary to use an  alternative  module
36465       to  provide  the  needed  functionality. For instance, an very old Arch
36466       Linux system may not be running systemd, so instead of using  the  sys‐
36467       temd service module, you can revert to the default service module:
36468
36469          httpd:
36470            service.running:
36471              - enable: True
36472              - provider: service
36473
36474       In   this   instance,   the   basic   service   module  (which  manages
36475       sysvinit-based services) will replace the systemd module which is  used
36476       by default on Arch Linux.
36477
36478       This  change  only affects this one state though. If it is necessary to
36479       make this override for most or every service,  it  is  better  to  just
36480       override the provider in the minion config file, as described here.
36481
36482       Also,  keep  in  mind  that  this only works for states with an identi‐
36483       cally-named virtual module (pkg, service, etc.).
36484
36485   Arbitrary Module Redirects
36486       The provider statement can  also  be  used  for  more  powerful  means,
36487       instead  of overwriting or extending the module used for the named ser‐
36488       vice an arbitrary module can be used to provide certain functionality.
36489
36490          emacs:
36491            pkg.installed:
36492              - provider:
36493                - cmd: customcmd
36494
36495       In this example, the state is being instructed to use a  custom  module
36496       to invoke commands.
36497
36498       Arbitrary  module  redirects  can  be  used  to dramatically change the
36499       behavior of a given state.
36500
36501   Requisites and Other Global State Arguments
36502   Requisites
36503       The Salt requisite system  is  used  to  create  relationships  between
36504       states.  The  core idea being that, when one state is dependent somehow
36505       on another, that inter-dependency can be easily defined.  These  depen‐
36506       dencies  are expressed by declaring the relationships using state names
36507       and ID's or names.  The generalized  form  of  a  requisite  target  is
36508       <state  name> : <ID or name>.  The specific form is defined as a Requi‐
36509       site Reference
36510
36511       Requisites come in two types: Direct requisites (such as require),  and
36512       requisite_ins  (such as require_in). The relationships are directional:
36513       a direct requisite requires something from another state.   However,  a
36514       requisite_in  inserts  a  requisite into the targeted state pointing to
36515       the targeting state. The following example demonstrates a direct requi‐
36516       site:
36517
36518          vim:
36519            pkg.installed
36520
36521          /etc/vimrc:
36522            file.managed:
36523              - source: salt://edit/vimrc
36524              - require:
36525                - pkg: vim
36526
36527       In the example above, the file /etc/vimrc depends on the vim package.
36528
36529       Requisite_in  statements  are the opposite. Instead of saying "I depend
36530       on something", requisite_ins say "Someone depends on me":
36531
36532          vim:
36533            pkg.installed:
36534              - require_in:
36535                - file: /etc/vimrc
36536
36537          /etc/vimrc:
36538            file.managed:
36539              - source: salt://edit/vimrc
36540
36541       So here, with a requisite_in, the same thing is accomplished as in  the
36542       first  example,  but  the  other  way around. The vim package is saying
36543       "/etc/vimrc depends on  me".  This  will  result  in  a  require  being
36544       inserted into the /etc/vimrc state which targets the vim state.
36545
36546       In  the  end, a single dependency map is created and everything is exe‐
36547       cuted in a finite and predictable order.
36548
36549   Requisite matching
36550       Requisites need two pieces of information for matching: The state  mod‐
36551       ule  name  –  e.g. pkg –, and the identifier – e.g. vim –, which can be
36552       either the ID (the first line in the stanza) or the - name parameter.
36553
36554          - require:
36555            - pkg: vim
36556
36557   Glog matching in requisites
36558       New in version 0.9.8.
36559
36560
36561       Glob matching is supported in requisites. This  is  mostly  useful  for
36562       file changes. In the example below, a change in /etc/apache2/httpd.conf
36563       or /etc/apache2/sites-available/default.conf  will  reload/restart  the
36564       service:
36565
36566          apache2:
36567            service.running:
36568              - watch:
36569                - file: /etc/apache2/*
36570
36571   Omitting state module in requisites
36572       New in version 2016.3.0.
36573
36574
36575       In  version  2016.3.0,  the state module name was made optional. If the
36576       state module is omitted, all states matching the ID will  be  required,
36577       regardless of which module they are using.
36578
36579          - require:
36580            - vim
36581
36582   State target matching
36583       In  order to understand how state targets are matched, it is helpful to
36584       know how the state compiler is working. Consider the following example:
36585
36586          Deploy server package:
36587            file.managed:
36588              - name: /usr/local/share/myapp.tar.xz
36589              - source: salt://myapp.tar.xz
36590
36591          Extract server package:
36592            archive.extracted:
36593              - name: /usr/local/share/myapp
36594              - source: /usr/local/share/myapp.tar.xz
36595              - archive_format: tar
36596              - onchanges:
36597                - file: Deploy server package
36598
36599       The first formula is converted to a dictionary which looks  as  follows
36600       (represented  as  YAML, some properties omitted for simplicity) as High
36601       Data:
36602
36603          Deploy server package:
36604            file:
36605              - managed
36606              - name: /usr/local/share/myapp.tar.xz
36607              - source: salt://myapp.tar.xz
36608
36609       The file.managed format used in the formula  is  essentially  syntactic
36610       sugar:  at  the  end,  the target is file, which is used in the Extract
36611       server package state above.
36612
36613   Identifier matching
36614       Requisites match on both the ID Declaration  and  the  name  parameter.
36615       This  means  that,  in  the  "Deploy  server  package" example above, a
36616       require  requisite  would  match  with   Deploy   server   package   or
36617       /usr/local/share/myapp.tar.xz,  so either of the following versions for
36618       "Extract server package" works:
36619
36620          # (Archive arguments omitted for simplicity)
36621
36622          # Match by ID declaration
36623          Extract server package:
36624            archive.extracted:
36625              - onchanges:
36626                - file: Deploy server package
36627
36628          # Match by name parameter
36629          Extract server package:
36630            archive.extracted:
36631              - onchanges:
36632                - file: /usr/local/share/myapp.tar.xz
36633
36634   Requisite overview
36635  ┌─────────────────┬───────────────┬───────────────┬───────────┬──────────────────┐
36636  │                 │ state is only │ state is only │ order     │                  │
36637name   of │ executed   if │ executed   if │           │        com‐      
36638  │                 │ target execu‐ │ target has    │ 1.target  │        ment   or │
36639  │       requi‐    │ tion          │               │ 2.state   │                  │
36640  │       site      │               │ changes       │ (default) │        descrip‐  │
36641  │                 │ result is     │               │           │        tion      │
36642  ├─────────────────┼───────────────┼───────────────┼───────────┼──────────────────┤
36643  │require          │ success       │               │ default   │ state       will │
36644  │                 │               │               │           │ always   execute │
36645  │                 │               │               │           │ unless    target │
36646  │                 │               │               │           │ fails            │
36647  ├─────────────────┼───────────────┼───────────────┼───────────┼──────────────────┤
36648  │watch            │ success       │               │ default   │ like    require, │
36649  │                 │               │               │           │ but  adds  addi‐ │
36650  │                 │               │               │           │ tional behaviour │
36651  │                 │               │               │           │ (mod_watch)      │
36652  ├─────────────────┼───────────────┼───────────────┼───────────┼──────────────────┤
36653  │prereq           │ success       │ has   changes │ switched  │ like  onchanges, │
36654  │                 │               │ (run individ‐ │           │ except order     │
36655  │                 │               │ ually      as │           │                  │
36656  │                 │               │ dry-run)      │           │                  │
36657  ├─────────────────┼───────────────┼───────────────┼───────────┼──────────────────┤
36658  │onchanges        │ success       │ has changes   │ default   │ execute state if │
36659  │                 │               │               │           │ target execution │
36660  │                 │               │               │           │ result  is  suc‐ │
36661  │                 │               │               │           │ cess  and target │
36662  │                 │               │               │           │ has changes      │
36663  ├─────────────────┼───────────────┼───────────────┼───────────┼──────────────────┤
36664  │onfail           │ failed        │               │ default   │ Only   requisite │
36665  │                 │               │               │           │ where      state │
36666  │                 │               │               │           │ exec.  if target │
36667  │                 │               │               │           │ fails            │
36668  └─────────────────┴───────────────┴───────────────┴───────────┴──────────────────┘
36669
36670       In this table, the following short form of terms is used:
36671
36672       · state (= dependent state): state containing requisite
36673
36674       · target (= state target) : state referenced by requisite
36675
36676   Direct Requisite and Requisite_in types
36677       There are several direct requisite statements that can be used in Salt:
36678
36679       · require
36680
36681       · watch
36682
36683       · prereq
36684
36685       · use
36686
36687       · onchanges
36688
36689       · onfail
36690
36691       Each direct requisite also has a corresponding requisite_in:
36692
36693       · require_in
36694
36695       · watch_in
36696
36697       · prereq_in
36698
36699       · use_in
36700
36701       · onchanges_in
36702
36703       · onfail_in
36704
36705       There are several corresponding requisite_any statements:
36706
36707       · require_any
36708
36709       · watch_any
36710
36711       · onchanges_any
36712
36713       · onfail_any
36714
36715       All  of  the  requisites  define specific relationships and always work
36716       with the dependency logic defined above.
36717
36718   require
36719       The use of require demands that the required state executes before  the
36720       dependent  state. The state containing the require requisite is defined
36721       as the dependent state. The state specified in the require statement is
36722       defined  as  the required state. If the required state's execution suc‐
36723       ceeds, the dependent state will then execute. If the  required  state's
36724       execution  fails,  the  dependent  state will not execute. In the first
36725       example above, the file /etc/vimrc will  only  execute  after  the  vim
36726       package is installed successfully.
36727
36728   Require an Entire SLS File
36729       As  of  Salt  0.16.0,  it is possible to require an entire sls file. Do
36730       this first by including the sls  file  and  then  setting  a  state  to
36731       require the included sls file:
36732
36733          include:
36734            - foo
36735
36736          bar:
36737            pkg.installed:
36738              - require:
36739                - sls: foo
36740
36741       This  will  add  all  of  the state declarations found in the given sls
36742       file. This means that every state in sls foo  will  be  required.  This
36743       makes it very easy to batch large groups of states easily in any requi‐
36744       site statement.
36745
36746   require_any
36747       New in version 2018.3.0.
36748
36749
36750       The use of require_any demands that one of the required states executes
36751       before the dependent state. The state containing the require_any requi‐
36752       site is defined as the dependent state. The  states  specified  in  the
36753       require_any  statement  are defined as the required states. If at least
36754       one of the required state's execution  succeeds,  the  dependent  state
36755       will  then  execute.   If  all of the executions by the required states
36756       fail, the dependent state will not execute.
36757
36758          A:
36759            cmd.run:
36760              - name: echo A
36761              - require_any:
36762                - cmd: B
36763                - cmd: C
36764                - cmd: D
36765          B:
36766            cmd.run:
36767              - name: echo B
36768
36769          C:
36770            cmd.run:
36771              - name: /bin/false
36772
36773          D:
36774            cmd.run:
36775              - name: echo D
36776
36777       In this example A will run because at least  one  of  the  requirements
36778       specified, B, C, or D will succeed.
36779
36780   watch
36781       watch  statements  are  used  to add additional behavior when there are
36782       changes in other states.
36783
36784       NOTE:
36785          If a state should only execute when another state has  changes,  and
36786          otherwise  do  nothing,  the  new onchanges requisite should be used
36787          instead of watch. watch is designed to add additional behavior  when
36788          there are changes, but otherwise the state executes normally.
36789
36790       The  state  containing  the  watch requisite is defined as the watching
36791       state. The state specified in the watch statement  is  defined  as  the
36792       watched  state.  When the watched state executes, it will return a dic‐
36793       tionary containing a key named "changes".  Here  are  two  examples  of
36794       state return dictionaries, shown in json for clarity:
36795
36796          {
36797              "local": {
36798                  "file_|-/tmp/foo_|-/tmp/foo_|-directory": {
36799                      "comment": "Directory /tmp/foo updated",
36800                      "__run_num__": 0,
36801                      "changes": {
36802                          "user": "bar"
36803                      },
36804                      "name": "/tmp/foo",
36805                      "result": true
36806                  }
36807              }
36808          }
36809
36810          {
36811              "local": {
36812                  "pkgrepo_|-salt-minion_|-salt-minion_|-managed": {
36813                      "comment": "Package repo 'salt-minion' already configured",
36814                      "__run_num__": 0,
36815                      "changes": {},
36816                      "name": "salt-minion",
36817                      "result": true
36818                  }
36819              }
36820          }
36821
36822       If  the  "result" of the watched state is True, the watching state will
36823       execute normally, and if it is False, the  watching  state  will  never
36824       run.   This part of watch mirrors the functionality of the require req‐
36825       uisite.
36826
36827       If the "result" of the watched state is True and the "changes" key con‐
36828       tains  a  populated dictionary (changes occurred in the watched state),
36829       then the watch requisite can add additional behavior.  This  additional
36830       behavior is defined by the mod_watch function within the watching state
36831       module. If the mod_watch function exists in the watching state  module,
36832       it  will be called in addition to the normal watching state. The return
36833       data from the mod_watch function is what will be returned to the master
36834       in  this  case; the return data from the main watching function is dis‐
36835       carded.
36836
36837       If the "changes" key contains an empty dictionary, the watch  requisite
36838       acts  exactly  like the require requisite (the watching state will exe‐
36839       cute if "result" is True, and fail if "result" is False in the  watched
36840       state).
36841
36842       NOTE:
36843          Not all state modules contain mod_watch. If mod_watch is absent from
36844          the watching state module, the watch requisite behaves exactly  like
36845          a require requisite.
36846
36847       A  good  example of using watch is with a service.running state. When a
36848       service watches a state, then the service  is  reloaded/restarted  when
36849       the  watched  state changes, in addition to Salt ensuring that the ser‐
36850       vice is running.
36851
36852          ntpd:
36853            service.running:
36854              - watch:
36855                - file: /etc/ntp.conf
36856            file.managed:
36857              - name: /etc/ntp.conf
36858              - source: salt://ntp/files/ntp.conf
36859
36860   watch_any
36861       New in version 2018.3.0.
36862
36863
36864       The state containing the watch_any requisite is defined as the watching
36865       state.  The  states specified in the watch_any statement are defined as
36866       the watched states. When the watched states execute, they will return a
36867       dictionary containing a key named "changes".
36868
36869       If  the  "result"  of  any  of the watched states is True, the watching
36870       state will execute normally, and if all of them are False, the watching
36871       state  will never run.  This part of watch mirrors the functionality of
36872       the require requisite.
36873
36874       If the "result" of any of the watched states is True and the  "changes"
36875       key  contains  a  populated dictionary (changes occurred in the watched
36876       state), then the watch requisite  can  add  additional  behavior.  This
36877       additional  behavior  is  defined  by the mod_watch function within the
36878       watching state module. If the mod_watch function exists in the watching
36879       state  module,  it  will  be  called in addition to the normal watching
36880       state. The return data from the mod_watch  function  is  what  will  be
36881       returned  to  the  master  in  this case; the return data from the main
36882       watching function is discarded.
36883
36884       If the "changes" key contains an empty dictionary, the watch  requisite
36885       acts  exactly  like the require requisite (the watching state will exe‐
36886       cute if "result" is True, and fail if "result" is False in the  watched
36887       state).
36888
36889          apache2:
36890            service.running:
36891              - watch_any:
36892                - file: /etc/apache2/sites-available/site1.conf
36893                - file: apache2-site2
36894            file.managed:
36895              - name: /etc/apache2/sites-available/site1.conf
36896              - source: salt://apache2/files/site1.conf
36897          apache2-site2:
36898            file.managed:
36899              - name: /etc/apache2/sites-available/site2.conf
36900              - source: salt://apache2/files/site2.conf
36901
36902       In  this  example,  the service will be reloaded/restarted if either of
36903       the file.managed states has a result of True and has changes.
36904
36905   prereq
36906       New in version 0.16.0.
36907
36908
36909       prereq allows for actions to be taken based on the expected results  of
36910       a state that has not yet been executed. The state containing the prereq
36911       requisite is defined as the pre-requiring state. The state specified in
36912       the prereq statement is defined as the pre-required state.
36913
36914       When a prereq requisite is evaluated, the pre-required state reports if
36915       it  expects  to  have  any  changes.  It  does  this  by  running   the
36916       pre-required  single  state  as  a test-run by enabling test=True. This
36917       test-run will return a dictionary containing  a  key  named  "changes".
36918       (See the watch section above for examples of "changes" dictionaries.)
36919
36920       If the "changes" key contains a populated dictionary, it means that the
36921       pre-required state expects changes to occur when the state is  actually
36922       executed,  as opposed to the test-run. The pre-requiring state will now
36923       actually run. If the pre-requiring  state  executes  successfully,  the
36924       pre-required state will then execute. If the pre-requiring state fails,
36925       the pre-required state will not execute.
36926
36927       If the "changes" key contains an  empty  dictionary,  this  means  that
36928       changes  are  not  expected  by  the  pre-required  state.  Neither the
36929       pre-required state nor the pre-requiring state will run.
36930
36931       The best way to define how prereq operates is displayed in the  follow‐
36932       ing  practical  example:  When  a  service  should be shut down because
36933       underlying code is going to change,  the  service  should  be  off-line
36934       while  the  update  occurs.  In  this  example,  graceful-down  is  the
36935       pre-requiring state and site-code is the pre-required state.
36936
36937          graceful-down:
36938            cmd.run:
36939              - name: service apache graceful
36940              - prereq:
36941                - file: site-code
36942
36943          site-code:
36944            file.recurse:
36945              - name: /opt/site_code
36946              - source: salt://site/code
36947
36948       In this case the apache server will only be shutdown if  the  site-code
36949       state  expects  to  deploy  fresh  code  via the file.recurse call. The
36950       site-code deployment will only be executed  if  the  graceful-down  run
36951       completes successfully.
36952
36953   onfail
36954       New in version 2014.7.0.
36955
36956
36957       The  onfail  requisite  allows  for  reactions  to happen strictly as a
36958       response to the failure of another state. This can be used in a  number
36959       of  ways,  such  as  executing  a second attempt to set up a service or
36960       begin to execute a separate thread of states because of a failure.
36961
36962       The onfail requisite is applied in the same way as require as watch:
36963
36964          primary_mount:
36965            mount.mounted:
36966              - name: /mnt/share
36967              - device: 10.0.0.45:/share
36968              - fstype: nfs
36969
36970          backup_mount:
36971            mount.mounted:
36972              - name: /mnt/share
36973              - device: 192.168.40.34:/share
36974              - fstype: nfs
36975              - onfail:
36976                - mount: primary_mount
36977
36978       NOTE:
36979          Setting failhard (globally or in the failing  state)  to  True  will
36980          cause onfail, onfail_in and onfail_any requisites to be ignored.  If
36981          you want to combine a global  failhard  set  to  True  with  onfail,
36982          onfail_in or onfail_any, you will have to explicitly set failhard to
36983          False (overriding the global setting) in the state that could fail.
36984
36985       NOTE:
36986          Beginning in the 2016.11.0 release of Salt, onfail uses OR logic for
36987          multiple  listed  onfail requisites. Prior to the 2016.11.0 release,
36988          onfail used AND logic. See Issue #22370 for more information.
36989
36990   onfail_any
36991       New in version 2018.3.0.
36992
36993
36994       The onfail_any requisite allows for reactions to happen strictly  as  a
36995       response  to  the failure of at least one other state. This can be used
36996       in a number of ways, such as executing a second attempt  to  set  up  a
36997       service  or  begin  to execute a separate thread of states because of a
36998       failure.
36999
37000       The onfail_any requisite is applied in the same way as require_any  and
37001       watch_any:
37002
37003          primary_mount:
37004            mount.mounted:
37005              - name: /mnt/share
37006              - device: 10.0.0.45:/share
37007              - fstype: nfs
37008
37009          secondary_mount:
37010            mount.mounted:
37011              - name: /mnt/code
37012              - device: 10.0.0.45:/code
37013              - fstype: nfs
37014
37015          backup_mount:
37016            mount.mounted:
37017              - name: /mnt/share
37018              - device: 192.168.40.34:/share
37019              - fstype: nfs
37020              - onfail_any:
37021                - mount: primary_mount
37022                - mount: secondary_mount
37023
37024       In this example, the backup_mount will be mounted if either of the pri‐
37025       mary_mount or secondary_mount states results in a failure.
37026
37027   onchanges
37028       New in version 2014.7.0.
37029
37030
37031       The onchanges requisite makes a state only apply if the required states
37032       generate changes, and if the watched state's "result" is True. This can
37033       be a useful way to execute a post hook after changing aspects of a sys‐
37034       tem.
37035
37036       If  a state has multiple onchanges requisites then the state will trig‐
37037       ger if any of the watched states changes.
37038
37039       NOTE:
37040          One easy-to-make mistake is to use onchanges_in  when  onchanges  is
37041          supposed  to  be  used.  For example, the below configuration is not
37042          correct:
37043
37044              myservice:
37045                pkg.installed:
37046                  - name: myservice
37047                file.managed:
37048                  - name: /etc/myservice/myservice.conf
37049                  - source: salt://myservice/files/myservice.conf
37050                  - mode: 600
37051                cmd.run:
37052                  - name: /usr/libexec/myservice/post-changes-hook.sh
37053                  - onchanges_in:
37054                    - file: /etc/myservice/myservice.conf
37055
37056          This will set up a requisite relationship in which the cmd.run state
37057          always  executes,  and  the  file.managed state only executes if the
37058          cmd.run state has changes (which it always will, since  the  cmd.run
37059          state includes the command results as changes).
37060
37061          It may semantically seem like the cmd.run state should only run when
37062          there are changes in the file state,  but  remember  that  requisite
37063          relationships  involve  one  state  watching  another  state,  and a
37064          requisite_in does the opposite: it forces  the  specified  state  to
37065          watch the state with the requisite_in.
37066
37067          The correct usage would be:
37068
37069              myservice:
37070                pkg.installed:
37071                  - name: myservice
37072                file.managed:
37073                  - name: /etc/myservice/myservice.conf
37074                  - source: salt://myservice/files/myservice.conf
37075                  - mode: 600
37076                cmd.run:
37077                  - name: /usr/libexec/myservice/post-changes-hook.sh
37078                  - onchanges:
37079                    - file: /etc/myservice/myservice.conf
37080
37081   onchanges_any
37082       New in version 2018.3.0.
37083
37084
37085       The  onchanges_any  requisite  makes  a  state  only  apply  one of the
37086       required states generates changes, and if one of  the  watched  state's
37087       "result" is True. This can be a useful way to execute a post hook after
37088       changing aspects of a system.
37089
37090          myservice:
37091            pkg.installed:
37092              - name: myservice
37093              - name: yourservice
37094            file.managed:
37095              - name: /etc/myservice/myservice.conf
37096              - source: salt://myservice/files/myservice.conf
37097              - mode: 600
37098            file.managed:
37099              - name: /etc/yourservice/yourservice.conf
37100              - source: salt://yourservice/files/yourservice.conf
37101              - mode: 600
37102            cmd.run:
37103              - name: /usr/libexec/myservice/post-changes-hook.sh
37104              - onchanges_any:
37105                - file: /etc/myservice/myservice.conf
37106                - file: /etc/your_service/yourservice.conf
37107
37108       In this example, the cmd.run  would  be  run  only  if  either  of  the
37109       file.managed  states  generated changes and at least one of the watched
37110       state's "result" is True.
37111
37112   use
37113       The use requisite is used to inherit the arguments passed in another id
37114       declaration.  This  is  useful  when  many  files need to have the same
37115       defaults.
37116
37117          /etc/foo.conf:
37118            file.managed:
37119              - source: salt://foo.conf
37120              - template: jinja
37121              - mkdirs: True
37122              - user: apache
37123              - group: apache
37124              - mode: 755
37125
37126          /etc/bar.conf:
37127            file.managed:
37128              - source: salt://bar.conf
37129              - use:
37130                - file: /etc/foo.conf
37131
37132       The use statement was developed primarily for the networking states but
37133       can  be used on any states in Salt. This makes sense for the networking
37134       state because it can define a long list of  options  that  need  to  be
37135       applied to multiple network interfaces.
37136
37137       The use statement does not inherit the requisites arguments of the tar‐
37138       geted state. This means also  a  chain  of  use  requisites  would  not
37139       inherit inherited options.
37140
37141   runas
37142       New in version 2017.7.0.
37143
37144
37145       The  runas  global option is used to set the user which will be used to
37146       run the command in the cmd.run module.
37147
37148          django:
37149            pip.installed:
37150              - name: django >= 1.6, <= 1.7
37151              - runas: daniel
37152              - require:
37153                - pkg: python-pip
37154
37155       In the above state, the pip command run by cmd.run will be run  by  the
37156       daniel user.
37157
37158   runas_password
37159       New in version 2017.7.2.
37160
37161
37162       The  runas_password  global  option is used to set the password used by
37163       the runas global option. This is required by cmd.run  on  Windows  when
37164       runas  is  specified.  It will be set when runas_password is defined in
37165       the state.
37166
37167          run_script:
37168            cmd.run:
37169              - name: Powershell -NonInteractive -ExecutionPolicy Bypass -File C:\\Temp\\script.ps1
37170              - runas: frank
37171              - runas_password: supersecret
37172
37173       In the above state, the Powershell script run by cmd.run will be run by
37174       the frank user with the password supersecret.
37175
37176   The _in versions of requisites
37177       All  of  the  requisites also have corresponding requisite_in versions,
37178       which do the reverse of their normal counterparts. The  examples  below
37179       all  use require_in as the example, but note that all of the _in requi‐
37180       sites work the same way: They result in a normal requisite in the  tar‐
37181       geted  state,  which  targets  the  state  which has defines the requi‐
37182       site_in. Thus, a require_in causes the target state to require the tar‐
37183       geting  state.  Similarly,  a watch_in causes the target state to watch
37184       the targeting state. This pattern continues for the rest of the  requi‐
37185       sites.
37186
37187       If  a  state declaration needs to be required by another state declara‐
37188       tion then require_in can accommodate it. Therefore, these two sls files
37189       would be the same in the end:
37190
37191       Using require
37192
37193          httpd:
37194            pkg.installed: []
37195            service.running:
37196              - require:
37197                - pkg: httpd
37198
37199       Using require_in
37200
37201          httpd:
37202            pkg.installed:
37203              - require_in:
37204                - service: httpd
37205            service.running: []
37206
37207       The  require_in  statement  is  particularly  useful  when  assigning a
37208       require in a separate sls file. For instance it may be common for httpd
37209       to  require  components  used to set up PHP or mod_python, but the HTTP
37210       state does not need to be  aware  of  the  additional  components  that
37211       require it when it is set up:
37212
37213       http.sls
37214
37215          httpd:
37216            pkg.installed: []
37217            service.running:
37218              - require:
37219                - pkg: httpd
37220
37221       php.sls
37222
37223          include:
37224            - http
37225
37226          php:
37227            pkg.installed:
37228              - require_in:
37229                - service: httpd
37230
37231       mod_python.sls
37232
37233          include:
37234            - http
37235
37236          mod_python:
37237            pkg.installed:
37238              - require_in:
37239                - service: httpd
37240
37241       Now  the  httpd  server  will only start if both php and mod_python are
37242       first verified to be installed. Thus allowing for  a  requisite  to  be
37243       defined "after the fact".
37244
37245   Fire Event Notifications
37246       New in version 2015.8.0.
37247
37248
37249       The fire_event option in a state will cause the minion to send an event
37250       to the Salt Master upon completion of that individual state.
37251
37252       The following example will cause the minion to send  an  event  to  the
37253       Salt           Master          with          a          tag          of
37254       salt/state_result/20150505121517276431/dasalt/nano and  the  result  of
37255       the  state will be the data field of the event. Notice that the name of
37256       the state gets added to the tag.
37257
37258          nano_stuff:
37259            pkg.installed:
37260              - name: nano
37261              - fire_event: True
37262
37263       In the  following  example  instead  of  setting  fire_event  to  True,
37264       fire_event is set to an arbitrary string, which will cause the event to
37265       be             sent             with             this              tag:
37266       salt/state_result/20150505121725642845/dasalt/custom/tag/nano/finished
37267
37268          nano_stuff:
37269            pkg.installed:
37270              - name: nano
37271              - fire_event: custom/tag/nano/finished
37272
37273   Altering States
37274       The  state  altering system is used to make sure that states are evalu‐
37275       ated exactly as the user expects. It can be used to double check that a
37276       state  preformed  exactly  how it was expected to, or to make 100% sure
37277       that a state only runs under certain conditions. The use of  unless  or
37278       onlyif  options  help  make  states  even  more stateful. The check_cmd
37279       option helps ensure that the result of a state is evaluated correctly.
37280
37281   Reload
37282       reload_modules is a boolean option that forces salt to reload its  mod‐
37283       ules  after  a state finishes. reload_pillar and reload_grains can also
37284       be set.  See Reloading Modules.
37285
37286          grains_refresh:
37287            module.run:
37288             - name: saltutil.refresh_grains
37289             - reload_grains: true
37290
37291          grains_read:
37292            module.run:
37293             - name: grains.items
37294
37295   Unless
37296       New in version 2014.7.0.
37297
37298
37299       The unless requisite specifies that a state should only run when any of
37300       the  specified  commands return False. The unless requisite operates as
37301       NAND and is useful in giving more granular control over  when  a  state
37302       should execute.
37303
37304       NOTE:  Under  the hood unless calls cmd.retcode with python_shell=True.
37305       This means the commands referenced by unless will be parsed by a shell,
37306       so beware of side-effects as this shell will be run with the same priv‐
37307       ileges as the salt-minion. Also be aware  that  the  boolean  value  is
37308       determined  by  the  shell's  concept  of  True  and False, rather than
37309       Python's concept of True and False.
37310
37311          vim:
37312            pkg.installed:
37313              - unless:
37314                - rpm -q vim-enhanced
37315                - ls /usr/bin/vim
37316
37317       In  the  example  above,  the  state  will  only  run  if  either   the
37318       vim-enhanced   package   is   not   installed  (returns  False)  or  if
37319       /usr/bin/vim does not exist (returns False). The state will run if both
37320       commands return False.
37321
37322       However, the state will not run if both commands return True.
37323
37324       Unless checks are resolved for each name to which they are associated.
37325
37326       For example:
37327
37328          deploy_app:
37329            cmd.run:
37330              - names:
37331                - first_deploy_cmd
37332                - second_deploy_cmd
37333              - unless: some_check
37334
37335       In  the above case, some_check will be run prior to _each_ name -- once
37336       for first_deploy_cmd and a second time for second_deploy_cmd.
37337
37338       Changed in version 3000: The unless requisite can take a  module  as  a
37339       dictionary  field  in  unless.  The dictionary must contain an argument
37340       fun which is the module that is being run, and everything else must  be
37341       passed  in under the args key or will be passed as individual kwargs to
37342       the module function.
37343
37344          install apache on debian based distros:
37345            cmd.run:
37346              - name: make install
37347              - cwd: /path/to/dir/whatever-2.1.5/
37348              - unless:
37349                - fun: file.file_exists
37350                  path: /usr/local/bin/whatever
37351
37352          set mysql root password:
37353            debconf.set:
37354              - name: mysql-server-5.7
37355              - data:
37356                  'mysql-server/root_password': {'type': 'password', 'value': {{pillar['mysql.pass']}} }
37357              - unless:
37358                - fun: pkg.version
37359                  args:
37360                    - mysql-server-5.7
37361
37362
37363   Onlyif
37364       New in version 2014.7.0.
37365
37366
37367       The onlyif requisite specifies that if each command  listed  in  onlyif
37368       returns  True,  then the state is run. If any of the specified commands
37369       return False, the state will not run.
37370
37371       NOTE: Under the hood onlyif calls cmd.retcode  with  python_shell=True.
37372       This means the commands referenced by onlyif will be parsed by a shell,
37373       so beware of side-effects as this shell will be run with the same priv‐
37374       ileges  as  the  salt-minion.  Also  be aware that the boolean value is
37375       determined by the shell's  concept  of  True  and  False,  rather  than
37376       Python's concept of True and False.
37377
37378          stop-volume:
37379            module.run:
37380              - name: glusterfs.stop_volume
37381              - m_name: work
37382              - onlyif:
37383                - gluster volume status work
37384              - order: 1
37385
37386          remove-volume:
37387            module.run:
37388              - name: glusterfs.delete
37389              - m_name: work
37390              - onlyif:
37391                - gluster volume info work
37392              - watch:
37393                - cmd: stop-volume
37394
37395       The  above example ensures that the stop_volume and delete modules only
37396       run if the gluster commands return a 0 ret value.
37397
37398       Changed in version 3000: The onlyif requisite can take a  module  as  a
37399       dictionary  field  in  onlyif.  The dictionary must contain an argument
37400       fun which is the module that is being run, and everything else must  be
37401       passed  in under the args key or will be passed as individual kwargs to
37402       the module function.
37403
37404          install apache on redhat based distros:
37405            pkg.latest:
37406              - name: httpd
37407              - onlyif:
37408                - fun: match.grain
37409                  tgt: 'os_family: RedHat'
37410
37411          install apache on debian based distros:
37412            pkg.latest:
37413              - name: apache2
37414              - onlyif:
37415                - fun: match.grain
37416                  tgt: 'os_family: Debian'
37417
37418          arbitrary file example:
37419            file.touch:
37420              - name: /path/to/file
37421              - onlyif:
37422                - fun: file.search
37423                  args:
37424                    - /etc/crontab
37425                    - 'entry1'
37426
37427
37428   runas
37429       New in version 2014.7.0.
37430
37431
37432       listen and its counterpart listen_in  trigger  mod_wait  functions  for
37433       states, when those states succeed and result in changes, similar to how
37434       watch its counterpart watch_in. Unlike watch and watch_in, listen,  and
37435       listen_in will not modify the order of states and can be used to ensure
37436       your states are executed in the order they are defined. All listen/lis‐
37437       ten_in  actions  will occur at the end of a state run, after all states
37438       have completed.
37439
37440          restart-apache2:
37441            service.running:
37442              - name: apache2
37443              - listen:
37444                - file: /etc/apache2/apache2.conf
37445
37446          configure-apache2:
37447            file.managed:
37448              - name: /etc/apache2/apache2.conf
37449              - source: salt://apache2/apache2.conf
37450
37451       This example will cause apache2 to be restarted when  the  apache2.conf
37452       file  is changed, but the apache2 restart will happen at the end of the
37453       state run.
37454
37455          restart-apache2:
37456            service.running:
37457              - name: apache2
37458
37459          configure-apache2:
37460            file.managed:
37461              - name: /etc/apache2/apache2.conf
37462              - source: salt://apache2/apache2.conf
37463              - listen_in:
37464                - service: apache2
37465
37466       This example does the same as the above example,  but  puts  the  state
37467       argument on the file resource, rather than the service resource.
37468
37469   check_cmd
37470       New in version 2014.7.0.
37471
37472
37473       Check  Command  is used for determining that a state did or did not run
37474       as expected.
37475
37476       NOTE:   Under   the   hood    check_cmd    calls    cmd.retcode    with
37477       python_shell=True. This means the commands referenced by unless will be
37478       parsed by a shell, so beware of side-effects as this shell will be  run
37479       with the same privileges as the salt-minion.
37480
37481          comment-repo:
37482            file.replace:
37483              - name: /etc/yum.repos.d/fedora.repo
37484              - pattern: '^enabled=0'
37485              - repl: enabled=1
37486              - check_cmd:
37487                - "! grep 'enabled=0' /etc/yum.repos.d/fedora.repo"
37488
37489       This  will  attempt to do a replace on all enabled=0 in the .repo file,
37490       and replace them with enabled=1. The check_cmd is just a bash  command.
37491       It  will  do  a grep for enabled=0 in the file, and if it finds any, it
37492       will return a 0, which will be  inverted  by  the  leading  !,  causing
37493       check_cmd  to  set  the  state as failed. If it returns a 1, meaning it
37494       didn't find any enabled=0, it  will  be  inverted  by  the  leading  !,
37495       returning a 0, and declaring the function succeeded.
37496
37497       NOTE: This requisite check_cmd functions differently than the check_cmd
37498       of the file.managed state.
37499
37500   Overriding Checks
37501       There are two commands used for the above checks.
37502
37503       mod_run_check is used to check for onlyif and unless. If the goal is to
37504       override   the   global   check  for  these  to  variables,  include  a
37505       mod_run_check in the salt/states/ file.
37506
37507       mod_run_check_cmd is used to check for the check_cmd options. To  over‐
37508       ride  this  one, include a mod_run_check_cmd in the states file for the
37509       state.
37510
37511   Retrying States
37512       New in version 2017.7.0.
37513
37514
37515       The retry option in a state allows it to  be  executed  multiple  times
37516       until  a  desired  result is obtained or the maximum number of attempts
37517       have been made.
37518
37519       The retry option can be configured by the  attempts,  until,  interval,
37520       and splay parameters.
37521
37522       The  attempts  parameter controls the maximum number of times the state
37523       will be run.  If not specified or if an  invalid  value  is  specified,
37524       attempts will default to 2.
37525
37526       The  until parameter defines the result that is required to stop retry‐
37527       ing the state.  If not specified or if an invalid value  is  specified,
37528       until will default to True
37529
37530       The interval parameter defines the amount of time, in seconds, that the
37531       system will wait between attempts.  If not specified or if  an  invalid
37532       value is specified, interval will default to 30.
37533
37534       The  splay parameter allows the interval to be additionally spread out.
37535       If not specified or if an invalid value is specified, splay defaults to
37536       0 (i.e. no splaying will occur).
37537
37538       The following example will run the pkg.installed state until it returns
37539       True or it has been run 5 times.  Each attempt will be 60 seconds apart
37540       and the interval will be splayed up to an additional 10 seconds:
37541
37542          my_retried_state:
37543            pkg.installed:
37544              - name: nano
37545              - retry:
37546                  attempts: 5
37547                  until: True
37548                  interval: 60
37549                  splay: 10
37550
37551       The  following  example  will  run the pkg.installed state with all the
37552       defaults for retry.  The state will run up to  2  times,  each  attempt
37553       being 30 seconds apart, or until it returns True.
37554
37555          install_nano:
37556            pkg.installed:
37557              - name: nano
37558              - retry: True
37559
37560       The  following  example will run the file.exists state every 30 seconds
37561       up to 15 times or until the file exists (i.e. the state returns True).
37562
37563          wait_for_file:
37564            file.exists:
37565              - name: /path/to/file
37566              - retry:
37567                  attempts: 15
37568                  interval: 30
37569
37570   Return data from a retried state
37571       When a state is retried, the returned output is as follows:
37572
37573       The result return value is the result from the final run.  For example,
37574       imagine  a  state set to retry up to three times or until True.  If the
37575       state returns False on the first run and then True on the  second,  the
37576       result of the state will be True.
37577
37578       The started return value is the started from the first run.
37579
37580       The  duration  return  value is the total duration of all attempts plus
37581       the retry intervals.
37582
37583       The comment return value will include the result and comment  from  all
37584       previous attempts.
37585
37586       For example:
37587
37588          wait_for_file:
37589            file.exists:
37590              - name: /path/to/file
37591              - retry:
37592                  attempts: 10
37593                  interval: 2
37594                  splay: 5
37595
37596       Would  return  similar to the following.  The state result in this case
37597       is False (file.exist was run 10 times with a 2 second interval, but the
37598       file specified did not exist on any run).
37599
37600                ID: wait_for_file
37601          Function: file.exists
37602            Result: False
37603           Comment: Attempt 1: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37604                    Attempt 2: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37605                    Attempt 3: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37606                    Attempt 4: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37607                    Attempt 5: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37608                    Attempt 6: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37609                    Attempt 7: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37610                    Attempt 8: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37611                    Attempt 9: Returned a result of "False", with the following comment: "Specified path /path/to/file does not exist"
37612                    Specified path /path/to/file does not exist
37613           Started: 09:08:12.903000
37614          Duration: 47000.0 ms
37615           Changes:
37616
37617   Startup States
37618       Sometimes  it  may  be desired that the salt minion execute a state run
37619       when it is started. This alleviates the need for the master to initiate
37620       a state run on a new minion and can make provisioning much easier.
37621
37622       As of Salt 0.10.3 the minion config reads options that allow for states
37623       to be executed at startup. The options  are  startup_states,  sls_list,
37624       and top_file.
37625
37626       The startup_states option can be passed one of a number of arguments to
37627       define how to execute states. The available options are:
37628
37629       highstate
37630              Execute state.apply
37631
37632       sls    Read in the sls_list option and execute the named sls files
37633
37634       top    Read in the top_file option and execute states based on that top
37635              file on the Salt Master
37636
37637   Examples:
37638       Execute state.apply to run the highstate when starting the minion:
37639
37640          startup_states: highstate
37641
37642       Execute the sls files edit.vim and hyper:
37643
37644          startup_states: sls
37645
37646          sls_list:
37647            - edit.vim
37648            - hyper
37649
37650   State Testing
37651       Executing  a  Salt  state  run can potentially change many aspects of a
37652       system and it may be desirable to first see what a state run  is  going
37653       to change before applying the run.
37654
37655       Salt  has  a  test interface to report on exactly what will be changed,
37656       this interface can be invoked on any of the major state run functions:
37657
37658          salt '*' state.apply test=True
37659          salt '*' state.apply mysls test=True
37660          salt '*' state.single test=True
37661
37662       The test run is mandated by adding the test=True option to the  states.
37663       The  return information will show states that will be applied in yellow
37664       and the result is reported as None.
37665
37666   Default Test
37667       If the value test is set to True in the minion configuration file  then
37668       states  will  default  to being executed in test mode. If this value is
37669       set then states can still be run by calling test=False:
37670
37671          salt '*' state.apply test=False
37672          salt '*' state.apply mysls test=False
37673          salt '*' state.single test=False
37674
37675   The Top File
37676   Introduction
37677       Most infrastructures are made up of groups of machines, each machine in
37678       the group performing a role similar to others. Those groups of machines
37679       work in concert with each other to create an application stack.
37680
37681       To effectively manage those groups of machines, an administrator  needs
37682       to  be  able  to create roles for those groups. For example, a group of
37683       machines that serve front-end web traffic might have roles which  indi‐
37684       cate  that  those machines should all have the Apache webserver package
37685       installed and that the Apache service should always be running.
37686
37687       In Salt, the file which contains a mapping between groups  of  machines
37688       on a network and the configuration roles that should be applied to them
37689       is called a top file.
37690
37691       Top files are named top.sls by default and they  are  so-named  because
37692       they  always  exist in the "top" of a directory hierarchy that contains
37693       state files.  That directory hierarchy is called a state tree.
37694
37695   A Basic Example
37696       Top files have three components:
37697
37698       · Environment: A state tree directory containing a set of  state  files
37699         to configure systems.
37700
37701       · Target:  A  grouping  of  machines  which  will  have a set of states
37702         applied to them.
37703
37704       · State files: A list of state files to apply to a target.  Each  state
37705         file  describes  one  or more states to be configured and enforced on
37706         the targeted machines.
37707
37708       The relationship between these three components is nested as follows:
37709
37710       · Environments contain targets
37711
37712       · Targets contain states
37713
37714       Putting these concepts together, we can describe a  scenario  in  which
37715       all  minions  with  an  ID  that  begins  with web have an apache state
37716       applied to them:
37717
37718          base:          # Apply SLS files from the directory root for the 'base' environment
37719            'web*':      # All minions with a minion_id that begins with 'web'
37720              - apache   # Apply the state file named 'apache.sls'
37721
37722   Environments
37723       Environments are directory hierarchies which contain a top file  and  a
37724       set of state files.
37725
37726       Environments  can be used in many ways, however there is no requirement
37727       that they be used at all. In fact, the most common way to  deploy  Salt
37728       is with a single environment, called base. It is recommended that users
37729       only create multiple environments if they have a use case which specif‐
37730       ically calls for multiple versions of state trees.
37731
37732   Getting Started with Top Files
37733       Each environment is defined inside a salt master configuration variable
37734       called, file_roots .
37735
37736       In the most common single-environment setup, only the base  environment
37737       is  defined  in  file_roots  along with only one directory path for the
37738       state tree.
37739
37740          file_roots:
37741            base:
37742              - /srv/salt
37743
37744       In the above example, the top file will only have a single  environment
37745       to pull from.
37746
37747       Next    is   a   simple   single-environment   top   file   placed   in
37748       /srv/salt/top.sls, illustrating that for the environment  called  base,
37749       all  minions  will  have  the  state  files named core.sls and edit.sls
37750       applied to them.
37751
37752          base:
37753            '*':
37754              - core
37755              - edit
37756
37757       Assuming the file_roots configuration from above, Salt will look in the
37758       /srv/salt directory for core.sls and edit.sls.
37759
37760   Multiple Environments
37761       In some cases, teams may wish to create versioned state trees which can
37762       be used to test Salt configurations in isolated sets of systems such as
37763       a staging environment before deploying states into production.
37764
37765       For  this  case,  multiple  environments can be used to accomplish this
37766       task.
37767
37768       To create multiple environments, the file_roots option can be expanded:
37769
37770          file_roots:
37771            dev:
37772              - /srv/salt/dev
37773            qa:
37774              - /srv/salt/qa
37775            prod:
37776              - /srv/salt/prod
37777
37778       In the above, we declare three environments: dev, qa  and  prod.   Each
37779       environment has a single directory assigned to it.
37780
37781       Our top file references the environments:
37782
37783          dev:
37784            'webserver*':
37785              - webserver
37786            'db*':
37787              - db
37788          qa:
37789            'webserver*':
37790              - webserver
37791            'db*':
37792              - db
37793          prod:
37794            'webserver*':
37795              - webserver
37796            'db*':
37797              - db
37798
37799       As seen above, the top file now declares the three environments and for
37800       each, target expressions are defined to map minions to state files. For
37801       example,  all  minions  which have an ID beginning with the string web‐
37802       server will have the webserver state  from  the  requested  environment
37803       assigned to it.
37804
37805       In  this  manner, a proposed change to a state could first be made in a
37806       state file in /srv/salt/dev and then be  applied  to  development  web‐
37807       servers  before moving the state into QA by copying the state file into
37808       /srv/salt/qa.
37809
37810   Choosing an Environment to Target
37811       The top file is used to assign a minion to an environment unless  over‐
37812       ridden  using  the  methods described below. The environment in the top
37813       file must match valid fileserver environment (a.k.a. saltenv) in  order
37814       for  any  states  to  be applied to that minion. When using the default
37815       fileserver backend, environments are defined in file_roots.
37816
37817       The states that will be applied to a minion in a given environment  can
37818       be viewed using the state.show_top function.
37819
37820       Minions  may be pinned to a particular environment by setting the envi‐
37821       ronment value in the minion configuration file. In doing so,  a  minion
37822       will only request files from the environment to which it is assigned.
37823
37824       The  environment may also be dynamically selected at runtime by passing
37825       it to the salt, salt-call or salt-ssh command. This  is  most  commonly
37826       done  with functions in the state module by using the saltenv argument.
37827       For example, to run a highstate on all minions, using only the top file
37828       and  SLS  files  in the prod environment, run: salt '*' state.highstate
37829       saltenv=prod.
37830
37831       NOTE:
37832          Not all functions accept saltenv as an argument, see the  documenta‐
37833          tion for an individual function documentation to verify.
37834
37835   Shorthand
37836       If you assign only one SLS to a system, as in this example, a shorthand
37837       is also available:
37838
37839          base:
37840            '*': global
37841          dev:
37842            'webserver*': webserver
37843            'db*':        db
37844          qa:
37845            'webserver*': webserver
37846            'db*':        db
37847          prod:
37848            'webserver*': webserver
37849            'db*':        db
37850
37851   Advanced Minion Targeting
37852       In the examples above, notice that all of the  target  expressions  are
37853       globs.  The default match type in top files (since version 2014.7.0) is
37854       actually the compound matcher, not the glob matcher as in the CLI.
37855
37856       A single glob, when passed through the compound matcher, acts the  same
37857       way  as  matching  by glob, so in most cases the two are indistinguish‐
37858       able. However, there is an edge case in  which  a  minion  ID  contains
37859       whitespace.  While  it is not recommended to include spaces in a minion
37860       ID, Salt will not stop you  from  doing  so.  However,  since  compound
37861       expressions  are parsed word-by-word, if a minion ID contains spaces it
37862       will fail to match. In this edge case, it will be necessary to  explic‐
37863       itly use the glob matcher:
37864
37865          base:
37866            'minion 1':
37867              - match: glob
37868              - foo
37869
37870       The  available  match types which can be set for a target expression in
37871       the top file are:
37872
37873                     ┌─────────────┬────────────────────────────┐
37874                     │Match Type   │ Description                │
37875                     ├─────────────┼────────────────────────────┤
37876                     │glob         │ Full  minion  ID  or  glob │
37877                     │             │ expression to match multi‐ │
37878                     │             │ ple  minions  (e.g.   min‐ 
37879                     │             │ ion123 or minion*)         │
37880                     ├─────────────┼────────────────────────────┤
37881                     │pcre         │ Perl-compatible    regular │
37882                     │             │ expression (PCRE) matching │
37883                     │             │ a    minion    ID    (e.g. │
37884                     │             │ web[0-3].domain.com)       │
37885                     ├─────────────┼────────────────────────────┤
37886                     │grain        │ Match a grain,  optionally │
37887                     │             │ using  globbing (e.g. ker‐ 
37888                     │             │ nel:Linux or kernel:*BSD)  │
37889                     ├─────────────┼────────────────────────────┤
37890                     │grain_pcre   │ Match a grain  using  PCRE │
37891                     │             │ (e.g.                 ker‐ 
37892                     │             │ nel:(Free|Open)BSD)        │
37893                     ├─────────────┼────────────────────────────┤
37894                     │list         │ Comma-separated  list   of │
37895                     │             │ minions (e.g. minion1,min‐ 
37896                     │             │ ion2,minion3)              │
37897                     ├─────────────┼────────────────────────────┤
37898                     │pillar       │ Pillar  match,  optionally │
37899                     │             │ using    globbing    (e.g. │
37900                     │             │ role:webserver          or │
37901                     │             │ role:web*)                 │
37902                     ├─────────────┼────────────────────────────┤
37903                     │pillar_pcre  │ Pillar  match  using  PCRE │
37904                     │             │ (e.g.                      │
37905                     │             │ role:web(server|proxy)     
37906                     ├─────────────┼────────────────────────────┤
37907                     │pillar_exact │ Pillar match with no glob‐ │
37908                     │             │ bing   or    PCRE    (e.g. │
37909                     │             │ role:webserver)            │
37910                     ├─────────────┼────────────────────────────┤
37911                     │ipcidr       │ Subnet or IP address (e.g. │
37912                     │             │ 172.17.0.0/16           or │
37913                     │             │ 10.2.9.80)                 │
37914                     ├─────────────┼────────────────────────────┤
37915                     │data         │ Match  values  kept in the │
37916                     │             │ minion's  datastore  (cre‐ │
37917                     │             │ ated using the data execu‐ │
37918                     │             │ tion module)               │
37919                     ├─────────────┼────────────────────────────┤
37920                     │range        │ Range cluster              │
37921                     ├─────────────┼────────────────────────────┤
37922                     │compound     │ Complex expression combin‐ │
37923                     │             │ ing  multiple  match types │
37924                     │             │ (see here)                 │
37925                     ├─────────────┼────────────────────────────┤
37926                     │nodegroup    │ Pre-defined       compound │
37927                     │             │ expressions  in the master │
37928                     │             │ config file (see here)     │
37929                     └─────────────┴────────────────────────────┘
37930
37931       Below is a slightly more complex top file example, showing some of  the
37932       above match types:
37933
37934          # All files will be taken from the file path specified in the base
37935          # environment in the ``file_roots`` configuration value.
37936
37937          base:
37938              # All minions which begin with the strings 'nag1' or any minion with
37939              # a grain set called 'role' with the value of 'monitoring' will have
37940              # the 'server.sls' state file applied from the 'nagios/' directory.
37941
37942              'nag1* or G@role:monitoring':
37943                  - nagios.server
37944
37945              # All minions get the following three state files applied
37946
37947              '*':
37948                  - ldap-client
37949                  - networking
37950                  - salt.minion
37951
37952              # All minions which have an ID that begins with the phrase
37953              # 'salt-master' will have an SLS file applied that is named
37954              # 'master.sls' and is in the 'salt' directory, underneath
37955              # the root specified in the ``base`` environment in the
37956              # configuration value for ``file_roots``.
37957
37958              'salt-master*':
37959                  - salt.master
37960
37961              # Minions that have an ID matching the following regular
37962              # expression will have the state file called 'web.sls' in the
37963              # nagios/mon directory applied. Additionally, minions matching
37964              # the regular expression will also have the 'server.sls' file
37965              # in the apache/ directory applied.
37966
37967              # NOTE!
37968              #
37969              # Take note of the 'match' directive here, which tells Salt
37970              # to treat the target string as a regex to be matched!
37971
37972              '^(memcache|web).(qa|prod).loc$':
37973                  - match: pcre
37974                  - nagios.mon.web
37975                  - apache.server
37976
37977              # Minions that have a grain set indicating that they are running
37978              # the Ubuntu operating system will have the state file called
37979              # 'ubuntu.sls' in the 'repos' directory applied.
37980              #
37981              # Again take note of the 'match' directive here which tells
37982              # Salt to match against a grain instead of a minion ID.
37983
37984              'os:Ubuntu':
37985                  - match: grain
37986                  - repos.ubuntu
37987
37988              # Minions that are either RedHat or CentOS should have the 'epel.sls'
37989              # state applied, from the 'repos/' directory.
37990
37991              'os:(RedHat|CentOS)':
37992                  - match: grain_pcre
37993                  - repos.epel
37994
37995              # The three minions with the IDs of 'foo', 'bar' and 'baz' should
37996              # have 'database.sls' applied.
37997
37998              'foo,bar,baz':
37999                  - match: list
38000                  - database
38001
38002              # Any minion for which the pillar key 'somekey' is set and has a value
38003              # of that key matching 'abc' will have the 'xyz.sls' state applied.
38004
38005              'somekey:abc':
38006                  - match: pillar
38007                  - xyz
38008
38009   How Top Files Are Compiled
38010       When  a  highstate  is executed and an environment is specified (either
38011       using the environment config option or by passing the saltenv when exe‐
38012       cuting the highstate), then that environment's top file is the only top
38013       file used to assign states to minions, and only states from the  speci‐
38014       fied environment will be run.
38015
38016       The  remainder of this section applies to cases in which a highstate is
38017       executed without an environment specified.
38018
38019       With no environment specified, the minion will look for a top  file  in
38020       each  environment, and each top file will be processed to determine the
38021       SLS files to run on the minions. By default, the top  files  from  each
38022       environment  will be merged together. In configurations with many envi‐
38023       ronments, such as with GitFS where each branch and tag is treated as  a
38024       distinct  environment,  this  may cause unexpected results as SLS files
38025       from older tags cause defunct SLS files to be  included  in  the  high‐
38026       state.  In  cases  like  this,  it can be helpful to set top_file_merg‐
38027       ing_strategy to same to force each environment to use its own top file.
38028
38029          top_file_merging_strategy: same
38030
38031       Another option would be to set state_top_saltenv to a specific environ‐
38032       ment,  to  ensure  that  any top files in other environments are disre‐
38033       garded:
38034
38035          state_top_saltenv: base
38036
38037       With GitFS, it can also be helpful to simply manage each  environment's
38038       top  file separately, and/or manually specify the environment when exe‐
38039       cuting the  highstate  to  avoid  any  complicated  merging  scenarios.
38040       gitfs_saltenv_whitelist and gitfs_saltenv_blacklist can also be used to
38041       hide unneeded branches and tags from GitFS to reduce the number of  top
38042       files in play.
38043
38044       When  using  multiple environments, it is not necessary to create a top
38045       file for each environment. The easiest-to-maintain approach is to use a
38046       single  top file placed in the base environment. This is often infeasi‐
38047       ble with GitFS though, since branching/tagging  can  easily  result  in
38048       extra  top  files.  However,  when  only the default (roots) fileserver
38049       backend is used, a single top file in the base environment is the  most
38050       common way of configuring a highstate.
38051
38052       The  following  minion  configuration  options affect how top files are
38053       compiled when no environment is specified, it is recommended to  follow
38054       the below four links to learn more about how these options work:
38055
38056       · state_top_saltenv
38057
38058       · top_file_merging_strategy
38059
38060       · env_order
38061
38062       · default_top
38063
38064   Top File Compilation Examples
38065       For the scenarios below, assume the following configuration:
38066
38067       /etc/salt/master:
38068
38069          file_roots:
38070            base:
38071              - /srv/salt/base
38072            dev:
38073              - /srv/salt/dev
38074            qa:
38075              - /srv/salt/qa
38076
38077       /srv/salt/base/top.sls:
38078
38079          base:
38080            '*':
38081              - base1
38082          dev:
38083            '*':
38084              - dev1
38085          qa:
38086            '*':
38087              - qa1
38088
38089       /srv/salt/dev/top.sls:
38090
38091          base:
38092            'minion1':
38093              - base2
38094          dev:
38095            'minion2':
38096              - dev2
38097          qa:
38098            '*':
38099              - qa1
38100              - qa2
38101
38102       NOTE:
38103          For  the  purposes of these examples, there is no top file in the qa
38104          environment.
38105
38106   Scenario 1 - dev Environment Specified
38107       In this scenario, the highstate was either invoked with saltenv=dev  or
38108       the  minion  has  environment:  dev  set in the minion config file. The
38109       result will be that only the dev2 SLS from the dev environment will  be
38110       part of the highstate, and it will be applied to minion2, while minion1
38111       will have no states applied to it.
38112
38113       If the base environment were specified, the result would be  that  only
38114       the base1 SLS from the base environment would be part of the highstate,
38115       and it would be applied to all minions.
38116
38117       If the qa environment were specified, the highstate would exit with  an
38118       error.
38119
38120   Scenario 2 - No Environment Specified, top_file_merging_strategy is merge
38121       In  this  scenario,  assuming  that the base environment's top file was
38122       evaluated first, the base1, dev1, and qa1 states would  be  applied  to
38123       all  minions.  If,  for  instance, the qa environment is not defined in
38124       /srv/salt/base/top.sls, then because there is no top file  for  the  qa
38125       environment, no states from the qa environment would be applied.
38126
38127   Scenario 3 - No Environment Specified, top_file_merging_strategy is same
38128       Changed  in  version 2016.11.0: In prior versions, "same" did not quite
38129       work as described below (see here). This has now been corrected. It was
38130       decided  that  changing  something  like  top  file handling in a point
38131       release had the potential to unexpectedly impact users' top  files  too
38132       much,  and  it  would  be  better  to make this correction in a feature
38133       release.
38134
38135
38136       In this scenario, base1 from the base environment  is  applied  to  all
38137       minions. Additionally, dev2 from the dev environment is applied to min‐
38138       ion2.
38139
38140       If default_top is unset (or set  to  base,  which  happens  to  be  the
38141       default),  then qa1 from the qa environment will be applied to all min‐
38142       ions. If default_top were set to dev, then both qa1 and qa2 from the qa
38143       environment would be applied to all minions.
38144
38145   Scenario   4  -  No  Environment  Specified,  top_file_merging_strategy  is
38146       merge_all
38147       New in version 2016.11.0.
38148
38149
38150       In this scenario, all configured states in all top files  are  applied.
38151       From  the base environment, base1 would be applied to all minions, with
38152       base2 being applied only to minion1. From  the  dev  environment,  dev1
38153       would  be  applied to all minions, with dev2 being applied only to min‐
38154       ion2.  Finally, from the qa environment, both the qa1  and  qa2  states
38155       will  be  applied to all minions. Note that the qa1 states would not be
38156       applied twice, even though qa1 appears twice.
38157
38158   SLS Template Variable Reference
38159       The template engines available to sls files  and  file  templates  come
38160       loaded  with  a  number  of  context variables. These variables contain
38161       information and functions to assist in  the  generation  of  templates.
38162       See  each  variable below for its availability -- not all variables are
38163       available in all templating contexts.
38164
38165   Salt
38166       The salt variable is available to abstract the salt library  functions.
38167       This  variable  is  a python dictionary containing all of the functions
38168       available to the running salt minion.  It is available in all salt tem‐
38169       plates.
38170
38171          {% for file in salt['cmd.run']('ls -1 /opt/to_remove').splitlines() %}
38172          /opt/to_remove/{{ file }}:
38173            file.absent
38174          {% endfor %}
38175
38176   Opts
38177       The  opts variable abstracts the contents of the minion's configuration
38178       file directly to the template. The opts variable is a  dictionary.   It
38179       is available in all templates.
38180
38181          {{ opts['cachedir'] }}
38182
38183       The  config.get  function  also searches for values in the opts dictio‐
38184       nary.
38185
38186   Pillar
38187       The pillar dictionary can be referenced directly, and is  available  in
38188       all templates:
38189
38190          {{ pillar['key'] }}
38191
38192       Using the pillar.get function via the salt variable is generally recom‐
38193       mended since a default can be safely set in the event that the value is
38194       not available in pillar and dictionaries can be traversed directly:
38195
38196          {{ salt['pillar.get']('key', 'failover_value') }}
38197          {{ salt['pillar.get']('stuff:more:deeper') }}
38198
38199   Grains
38200       The grains dictionary makes the minion's grains directly available, and
38201       is available in all templates:
38202
38203          {{ grains['os'] }}
38204
38205       The grains.get function can be used to traverse deeper grains  and  set
38206       defaults:
38207
38208          {{ salt['grains.get']('os') }}
38209
38210   saltenv
38211       The  saltenv  variable is available in only in sls files when gathering
38212       the sls from an environment.
38213
38214          {{ saltenv }}
38215
38216   sls
38217       The sls variable contains the sls reference value, and is  only  avail‐
38218       able  in the actual SLS file (not in any files referenced in that SLS).
38219       The sls reference value is the value used to include  the  sls  in  top
38220       files or via the include option.
38221
38222          {{ sls }}
38223
38224   slspath
38225       The  slspath variable contains the path to the directory of the current
38226       sls file. The value of slspath in files referenced in the  current  sls
38227       depends on the reference method. For jinja includes slspath is the path
38228       to the current directory of the file. For salt includes slspath is  the
38229       path to the directory of the included file.
38230
38231          {{ slspath }}
38232
38233   State Modules
38234       State  Modules  are  the  components that map to actual enforcement and
38235       management of Salt states.
38236
38237   States are Easy to Write!
38238       State Modules should be easy to write and straightforward. The informa‐
38239       tion  passed to the SLS data structures will map directly to the states
38240       modules.
38241
38242       Mapping the information from the  SLS  data  is  simple,  this  example
38243       should illustrate:
38244
38245          /etc/salt/master: # maps to "name", unless a "name" argument is specified below
38246            file.managed: # maps to <filename>.<function> - e.g. "managed" in https://github.com/saltstack/salt/tree/master/salt/states/file.py
38247              - user: root # one of many options passed to the manage function
38248              - group: root
38249              - mode: 644
38250              - source: salt://salt/master
38251
38252       Therefore  this  SLS data can be directly linked to a module, function,
38253       and arguments passed to that function.
38254
38255       This does issue the burden, that function names, state names and  func‐
38256       tion  arguments  should  be  very  human readable inside state modules,
38257       since they directly define the user interface.
38258
38259          Keyword Arguments
38260
38261                 Salt passes a number of keyword arguments to states when ren‐
38262                 dering  them,  including the environment, a unique identifier
38263                 for the state, and more.  Additionally, keep in mind that the
38264                 requisites  for  a  state  are part of the keyword arguments.
38265                 Therefore, if you need to iterate through the  keyword  argu‐
38266                 ments in a state, these must be considered and handled appro‐
38267                 priately.  One such example is in the pkgrepo.managed  state,
38268                 which  needs to be able to handle arbitrary keyword arguments
38269                 and pass them to module execution functions.  An  example  of
38270                 how these keyword arguments can be handled can be found here.
38271
38272   Best Practices
38273       A well-written state function will follow these steps:
38274
38275       NOTE:
38276          This  is  an  extremely  simplified example. Feel free to browse the
38277          source code for Salt's state modules to see other examples.
38278
38279       1. Set up the return dictionary and perform any necessary input valida‐
38280          tion  (type  checking,  looking  for use of mutually-exclusive argu‐
38281          ments, etc.).
38282
38283             ret = {'name': name,
38284                    'result': False,
38285                    'changes': {},
38286                    'comment': ''}
38287
38288             if foo and bar:
38289                 ret['comment'] = 'Only one of foo and bar is permitted'
38290                 return ret
38291
38292       2. Check if changes need to be made. This is best done with an informa‐
38293          tion-gathering  function  in  an  accompanying execution module. The
38294          state should be able to use the return from this  function  to  tell
38295          whether or not the minion is already in the desired state.
38296
38297             result = __salt__['modname.check'](name)
38298
38299       3. If  step  2  found  that the minion is already in the desired state,
38300          then exit immediately with a True  result  and  without  making  any
38301          changes.
38302
38303             if result:
38304                 ret['result'] = True
38305                 ret['comment'] = '{0} is already installed'.format(name)
38306                 return ret
38307
38308       4. If  step  2 found that changes do need to be made, then check to see
38309          if the state was being run in test mode (i.e.  with  test=True).  If
38310          so, then exit with a None result, a relevant comment, and (if possi‐
38311          ble) a changes entry describing what changes would be made.
38312
38313             if __opts__['test']:
38314                 ret['result'] = None
38315                 ret['comment'] = '{0} would be installed'.format(name)
38316                 ret['changes'] = result
38317                 return ret
38318
38319       5. Make the desired changes. This should again be done using a function
38320          from  an  accompanying execution module. If the result of that func‐
38321          tion is enough to tell you whether or not an  error  occurred,  then
38322          you  can  exit with a False result and a relevant comment to explain
38323          what happened.
38324
38325             result = __salt__['modname.install'](name)
38326
38327       6. Perform the same check from step 2 again to confirm whether  or  not
38328          the minion is in the desired state. Just as in step 2, this function
38329          should be able to tell you by its return data whether or not changes
38330          need to be made.
38331
38332             ret['changes'] = __salt__['modname.check'](name)
38333
38334          As  you  can  see here, we are setting the changes key in the return
38335          dictionary to the result of the modname.check function (just  as  we
38336          did  in step 4). The assumption here is that the information-gather‐
38337          ing function will return a dictionary explaining what  changes  need
38338          to be made. This may or may not fit your use case.
38339
38340       7. Set the return data and return!
38341
38342             if ret['changes']:
38343                 ret['comment'] = '{0} failed to install'.format(name)
38344             else:
38345                 ret['result'] = True
38346                 ret['comment'] = '{0} was installed'.format(name)
38347
38348             return ret
38349
38350   Using Custom State Modules
38351       Before the state module can be used, it must be distributed to minions.
38352       This can be done by placing them into salt://_states/. They can then be
38353       distributed  manually  to  minions  by  running saltutil.sync_states or
38354       saltutil.sync_all. Alternatively, when running a highstate custom types
38355       will automatically be synced.
38356
38357       NOTE:  Writing  state  modules  with hyphens in the filename will cause
38358       issues with !pyobjects routines.  Best  practice  to  stick  to  under‐
38359       scores.
38360
38361       Any  custom  states  which have been synced to a minion, that are named
38362       the same as one of Salt's default set of states, will take the place of
38363       the  default  state with the same name. Note that a state module's name
38364       defaults to one based on its filename (i.e. foo.py becomes state module
38365       foo),  but that its name can be overridden by using a __virtual__ func‐
38366       tion.
38367
38368   Cross Calling Execution Modules from States
38369       As with Execution Modules, State Modules  can  also  make  use  of  the
38370       __salt__ and __grains__ data. See cross calling execution modules.
38371
38372       It  is  important to note that the real work of state management should
38373       not be done in the state module unless it is needed. A good example  is
38374       the  pkg  state  module. This module does not do any package management
38375       work, it just calls the pkg execution module. This makes the pkg  state
38376       module  completely  generic,  which  is why there is only one pkg state
38377       module and many backend pkg execution modules.
38378
38379       On the other hand some modules will require that the logic be placed in
38380       the state module, a good example of this is the file module. But in the
38381       vast majority of cases this is not the best approach, and writing  spe‐
38382       cific  execution  modules  to  do  the backend work will be the optimal
38383       solution.
38384
38385   Cross Calling State Modules
38386       All of the Salt state modules are available to  each  other  and  state
38387       modules can call functions available in other state modules.
38388
38389       The  variable  __states__  is  packed  into  the modules after they are
38390       loaded into the Salt minion.
38391
38392       The __states__ variable is a Python dictionary containing  all  of  the
38393       state  modules.  Dictionary  keys are strings representing the names of
38394       the modules and the values are the functions themselves.
38395
38396       Salt state modules can be cross-called by accessing the  value  in  the
38397       __states__ dict:
38398
38399          ret = __states__['file.managed'](name='/tmp/myfile', source='salt://myfile')
38400
38401       This  code  will call the managed function in the file state module and
38402       pass the arguments name and source to it.
38403
38404   Return Data
38405       A State Module must return a dict containing the following keys/values:
38406
38407       · name: The same value passed to the state as "name".
38408
38409       · changes: A dict describing  the  changes  made.  Each  thing  changed
38410         should  be  a key, with its value being another dict with keys called
38411         "old" and "new" containing the old/new values. For example,  the  pkg
38412         state's  changes  dict has one key for each package changed, with the
38413         "old" and "new" keys in its sub-dict containing the old and new  ver‐
38414         sions  of  the package. For example, the final changes dictionary for
38415         this scenario would look something like this:
38416
38417            ret['changes'].update({'my_pkg_name': {'old': '',
38418                                                   'new': 'my_pkg_name-1.0'}})
38419
38420       · result: A tristate value.  True if the action was  successful,  False
38421         if  it was not, or None if the state was run in test mode, test=True,
38422         and changes would have been made if the state was  not  run  in  test
38423         mode.
38424
38425                   ┌───────────────────┬───────────┬───────────────┐
38426                   │                   │ live mode │ test mode     │
38427                   ├───────────────────┼───────────┼───────────────┤
38428                   │no changes         │ True      True          
38429                   ├───────────────────┼───────────┼───────────────┤
38430                   │successful changes │ True      None          
38431                   ├───────────────────┼───────────┼───────────────┤
38432                   │failed changes     │ False     False or None 
38433                   └───────────────────┴───────────┴───────────────┘
38434
38435         NOTE:
38436            Test  mode  does  not predict if the changes will be successful or
38437            not, and hence the result for pending changes is usually None.
38438
38439            However, if a state is going to fail and this can be determined in
38440            test mode without applying the change, False can be returned.
38441
38442       · comment: A list of strings or a single string summarizing the result.
38443         Note that support for lists  of  strings  is  available  as  of  Salt
38444         2018.3.0.   Lists of strings will be joined with newlines to form the
38445         final comment; this is useful to allow multiple  comments  from  sub‐
38446         parts  of  a  state.  Prefer to keep line lengths short (use multiple
38447         lines as needed), and end with punctuation (e.g. a period) to delimit
38448         multiple comments.
38449
38450       NOTE:
38451          States  should  not  return  data which cannot be serialized such as
38452          frozensets.
38453
38454   Test State
38455       All states should check for  and  support  test  being  passed  in  the
38456       options.   This  will return data about what changes would occur if the
38457       state were actually run. An example of such a  check  could  look  like
38458       this:
38459
38460          # Return comment of changes if test.
38461          if __opts__['test']:
38462              ret['result'] = None
38463              ret['comment'] = 'State Foo will execute with param {0}'.format(bar)
38464              return ret
38465
38466       Make  sure to test and return before performing any real actions on the
38467       minion.
38468
38469       NOTE:
38470          Be sure to refer to the result table listed above and displaying any
38471          possible  changes when writing support for test. Looking for changes
38472          in a state is essential to test=true functionality. If  a  state  is
38473          predicted to have no changes when test=true (or test: true in a con‐
38474          fig file) is used, then the result of the final state should not  be
38475          None.
38476
38477   Watcher Function
38478       If  the  state  being written should support the watch requisite then a
38479       watcher function needs to be declared. The watcher function  is  called
38480       whenever  the  watch  requisite is invoked and should be generic to the
38481       behavior of the state itself.
38482
38483       The watcher function should accept all of the options that  the  normal
38484       state  functions  accept (as they will be passed into the watcher func‐
38485       tion).
38486
38487       A watcher function typically is used to execute state specific reactive
38488       behavior, for instance, the watcher for the service module restarts the
38489       named service and makes it useful for the watcher to make  the  service
38490       react to changes in the environment.
38491
38492       The  watcher  function also needs to return the same data that a normal
38493       state function returns.
38494
38495   Mod_init Interface
38496       Some states need to execute something only once to ensure that an envi‐
38497       ronment  has  been  set  up,  or certain conditions global to the state
38498       behavior can be predefined. This is the realm of  the  mod_init  inter‐
38499       face.
38500
38501       A  state module can have a function called mod_init which executes when
38502       the first state of this type is called. This interface was created pri‐
38503       marily  to improve the pkg state. When packages are installed the pack‐
38504       age metadata needs to be refreshed, but refreshing the package metadata
38505       every  time  a  package is installed is wasteful. The mod_init function
38506       for the pkg state sets a flag down so that  the  first,  and  only  the
38507       first,  package  installation attempt will refresh the package database
38508       (the package database can of course be manually called to  refresh  via
38509       the refresh option in the pkg state).
38510
38511       The mod_init function must accept the Low State Data for the given exe‐
38512       cuting state as an argument. The low state data is a dict  and  can  be
38513       seen  by  executing the state.show_lowstate function. Then the mod_init
38514       function must return a bool. If the return  value  is  True,  then  the
38515       mod_init  function  will not be executed again, meaning that the needed
38516       behavior has been set up. Otherwise, if the mod_init  function  returns
38517       False, then the function will be called the next time.
38518
38519       A  good example of the mod_init function is found in the pkg state mod‐
38520       ule:
38521
38522          def mod_init(low):
38523              '''
38524              Refresh the package database here so that it only needs to happen once
38525              '''
38526              if low['fun'] == 'installed' or low['fun'] == 'latest':
38527                  rtag = __gen_rtag()
38528                  if not os.path.exists(rtag):
38529                      open(rtag, 'w+').write('')
38530                  return True
38531              else:
38532                  return False
38533
38534       The mod_init function in the pkg state accepts the low  state  data  as
38535       low  and  then  checks  to see if the function being called is going to
38536       install packages, if the function is not going to install packages then
38537       there  is  no  need  to  refresh the package database. Therefore if the
38538       package database is prepared to  refresh,  then  return  True  and  the
38539       mod_init  will  not  be  called the next time a pkg state is evaluated,
38540       otherwise return False and the mod_init will be called next time a  pkg
38541       state is evaluated.
38542
38543   Log Output
38544       You  can  call  the logger from custom modules to write messages to the
38545       minion logs. The following code snippet demonstrates writing  log  mes‐
38546       sages:
38547
38548          import logging
38549
38550          log = logging.getLogger(__name__)
38551
38552          log.info('Here is Some Information')
38553          log.warning('You Should Not Do That')
38554          log.error('It Is Busted')
38555
38556   Strings and Unicode
38557       A state module author should always assume that strings fed to the mod‐
38558       ule have already decoded from strings into Unicode. In Python 2,  these
38559       will  be  of  type  'Unicode' and in Python 3 they will be of type str.
38560       Calling from a state to other Salt sub-systems, such as execution  mod‐
38561       ules should pass Unicode (or bytes if passing binary data). In the rare
38562       event that a state needs to write directly to disk, Unicode  should  be
38563       encoded  to  a string immediately before writing to disk. An author may
38564       use __salt_system_encoding__ to learn what the  encoding  type  of  the
38565       system is. For example, 'my_string'.encode(__salt_system_encoding__').
38566
38567   Full State Module Example
38568       The  following is a simplistic example of a full state module and func‐
38569       tion.  Remember to call out to execution modules  to  perform  all  the
38570       real  work.  The  state module should only perform "before" and "after"
38571       checks.
38572
38573       1. Make a custom state module by putting the code into a  file  at  the
38574          following path: /srv/salt/_states/my_custom_state.py.
38575
38576       2. Distribute the custom state module to the minions:
38577
38578             salt '*' saltutil.sync_states
38579
38580       3. Write  a  new  state  to  use the custom state by making a new state
38581          file, for instance /srv/salt/my_custom_state.sls.
38582
38583       4. Add the following SLS configuration to the file created in Step 3:
38584
38585             human_friendly_state_id:        # An arbitrary state ID declaration.
38586               my_custom_state:              # The custom state module name.
38587                 - enforce_custom_thing      # The function in the custom state module.
38588                 - name: a_value             # Maps to the ``name`` parameter in the custom function.
38589                 - foo: Foo                  # Specify the required ``foo`` parameter.
38590                 - bar: False                # Override the default value for the ``bar`` parameter.
38591
38592   Example state module
38593          import salt.exceptions
38594
38595          def enforce_custom_thing(name, foo, bar=True):
38596              '''
38597              Enforce the state of a custom thing
38598
38599              This state module does a custom thing. It calls out to the execution module
38600              ``my_custom_module`` in order to check the current system and perform any
38601              needed changes.
38602
38603              name
38604                  The thing to do something to
38605              foo
38606                  A required argument
38607              bar : True
38608                  An argument with a default value
38609              '''
38610              ret = {
38611                  'name': name,
38612                  'changes': {},
38613                  'result': False,
38614                  'comment': '',
38615                  }
38616
38617              # Start with basic error-checking. Do all the passed parameters make sense
38618              # and agree with each-other?
38619              if bar == True and foo.startswith('Foo'):
38620                  raise salt.exceptions.SaltInvocationError(
38621                      'Argument "foo" cannot start with "Foo" if argument "bar" is True.')
38622
38623              # Check the current state of the system. Does anything need to change?
38624              current_state = __salt__['my_custom_module.current_state'](name)
38625
38626              if current_state == foo:
38627                  ret['result'] = True
38628                  ret['comment'] = 'System already in the correct state'
38629                  return ret
38630
38631              # The state of the system does need to be changed. Check if we're running
38632              # in ``test=true`` mode.
38633              if __opts__['test'] == True:
38634                  ret['comment'] = 'The state of "{0}" will be changed.'.format(name)
38635                  ret['changes'] = {
38636                      'old': current_state,
38637                      'new': 'Description, diff, whatever of the new state',
38638                  }
38639
38640                  # Return ``None`` when running with ``test=true``.
38641                  ret['result'] = None
38642
38643                  return ret
38644
38645              # Finally, make the actual change and return the result.
38646              new_state = __salt__['my_custom_module.change_state'](name, foo)
38647
38648              ret['comment'] = 'The state of "{0}" was changed!'.format(name)
38649
38650              ret['changes'] = {
38651                  'old': current_state,
38652                  'new': new_state,
38653              }
38654
38655              ret['result'] = True
38656
38657              return ret
38658
38659   State Management
38660       State management, also frequently called Software Configuration Manage‐
38661       ment  (SCM), is a program that puts and keeps a system into a predeter‐
38662       mined state. It installs software packages, starts or restarts services
38663       or puts configuration files in place and watches them for changes.
38664
38665       Having  a  state  management  system  in place allows one to easily and
38666       reliably configure and manage a few servers or a few thousand  servers.
38667       It allows configurations to be kept under version control.
38668
38669       Salt  States  is  an extension of the Salt Modules that we discussed in
38670       the previous remote execution tutorial. Instead of calling one-off exe‐
38671       cutions the state of a system can be easily defined and then enforced.
38672
38673   Understanding the Salt State System Components
38674       The  Salt  state  system  is  comprised of a number of components. As a
38675       user, an understanding of the SLS and renderer systems are needed.  But
38676       as  a  developer,  an understanding of Salt states and how to write the
38677       states is needed as well.
38678
38679       NOTE:
38680          States are compiled and executed only on minions that have been tar‐
38681          geted.  To execute functions directly on masters, see runners.
38682
38683   Salt SLS System
38684       The primary system used by the Salt state system is the SLS system. SLS
38685       stands for SaLt State.
38686
38687       The Salt States are files which contain the information  about  how  to
38688       configure Salt minions. The states are laid out in a directory tree and
38689       can be written in many different formats.
38690
38691       The contents of the files and the way they are laid out is intended  to
38692       be  as  simple  as possible while allowing for maximum flexibility. The
38693       files are laid out in states and contains  information  about  how  the
38694       minion needs to be configured.
38695
38696   SLS File Layout
38697       SLS files are laid out in the Salt file server.
38698
38699       A simple layout can look like this:
38700
38701          top.sls
38702          ssh.sls
38703          sshd_config
38704          users/init.sls
38705          users/admin.sls
38706          salt/master.sls
38707          web/init.sls
38708
38709       The  top.sls  file  is  a  key  component. The top.sls files is used to
38710       determine which SLS files should be applied to which minions.
38711
38712       The rest of the files with the .sls extension in the above example  are
38713       state files.
38714
38715       Files  without  a  .sls extensions are seen by the Salt master as files
38716       that can be downloaded to a Salt minion.
38717
38718       States are translated into dot notation. For example, the ssh.sls  file
38719       is  seen  as  the ssh state and the users/admin.sls file is seen as the
38720       users.admin state.
38721
38722       Files named init.sls are translated to be the state name of the  parent
38723       directory, so the web/init.sls file translates to the web state.
38724
38725       In Salt, everything is a file; there is no "magic translation" of files
38726       and file types. This means that a state file can be distributed to min‐
38727       ions just like a plain text or binary file.
38728
38729   SLS Files
38730       The  Salt state files are simple sets of data. Since SLS files are just
38731       data they can be represented in a number of different ways.
38732
38733       The default format is YAML generated from a Jinja template. This allows
38734       for  the states files to have all the language constructs of Python and
38735       the simplicity of YAML.
38736
38737       State files can then be complicated Jinja templates that translate down
38738       to YAML, or just plain and simple YAML files.
38739
38740       The  State files are simply common data structures such as dictionaries
38741       and lists, constructed using a templating language such as YAML.
38742
38743       Here is an example of a Salt State:
38744
38745          vim:
38746            pkg.installed: []
38747
38748          salt:
38749            pkg.latest:
38750              - name: salt
38751            service.running:
38752              - names:
38753                - salt-master
38754                - salt-minion
38755              - require:
38756                - pkg: salt
38757              - watch:
38758                - file: /etc/salt/minion
38759
38760          /etc/salt/minion:
38761            file.managed:
38762              - source: salt://salt/minion
38763              - user: root
38764              - group: root
38765              - mode: 644
38766              - require:
38767                - pkg: salt
38768
38769       This short stanza will ensure that vim is installed, Salt is  installed
38770       and up to date, the salt-master and salt-minion daemons are running and
38771       the Salt minion configuration file is in place.  It  will  also  ensure
38772       everything  is  deployed  in the right order and that the Salt services
38773       are restarted when the watched file updated.
38774
38775   The Top File
38776       The top file controls the mapping between minions and the states  which
38777       should be applied to them.
38778
38779       The  top  file  specifies  which  minions  should  have which SLS files
38780       applied and which environments they should draw those SLS files from.
38781
38782       The top file works by specifying environments on the top-level.
38783
38784       Each environment contains target expressions to match minions. Finally,
38785       each  target  expression  contains  a  list  of Salt states to apply to
38786       matching minions:
38787
38788          base:
38789            '*':
38790              - salt
38791              - users
38792              - users.admin
38793            'saltmaster.*':
38794              - match: pcre
38795              - salt.master
38796
38797       This above example uses the base environment which is  built  into  the
38798       default Salt setup.
38799
38800       The  base environment has target expressions. The first one matches all
38801       minions, and the SLS files below it apply to all minions.
38802
38803       The second expression is a regular expression that will match all  min‐
38804       ions with an ID matching saltmaster.* and specifies that for those min‐
38805       ions, the salt.master state should be applied.
38806
38807       IMPORTANT:
38808          Since version 2014.7.0, the default matcher (when one is not explic‐
38809          itly  defined  as  in the second expression in the above example) is
38810          the compound matcher. Since this matcher parses individual words  in
38811          the expression, minion IDs containing spaces will not match properly
38812          using this matcher. Therefore, if your target expression is designed
38813          to  match  a  minion  ID  containing spaces, it will be necessary to
38814          specify a different match type (such as glob). For example:
38815
38816              base:
38817                'test minion':
38818                  - match: glob
38819                  - foo
38820                  - bar
38821                  - baz
38822
38823       A full table of match types available in the  top  file  can  be  found
38824       here.
38825
38826   Reloading Modules
38827       Some  Salt  states require that specific packages be installed in order
38828       for the module to load. As an example the pip state module requires the
38829       pip package for proper name and version parsing.
38830
38831       In  most  of  the  common cases, Salt is clever enough to transparently
38832       reload the modules. For example, if you install a package, Salt reloads
38833       modules  because  some  other  module  or state might require just that
38834       package which was installed.
38835
38836       On some edge-cases salt might need to be told to  reload  the  modules.
38837       Consider the following state file which we'll call pep8.sls:
38838
38839          python-pip:
38840            cmd.run:
38841              - name: |
38842                  easy_install --script-dir=/usr/bin -U pip
38843              - cwd: /
38844
38845          pep8:
38846            pip.installed:
38847              - require:
38848                - cmd: python-pip
38849
38850       The  above  example installs pip using easy_install from setuptools and
38851       installs pep8 using pip, which, as told earlier,  requires  pip  to  be
38852       installed system-wide. Let's execute this state:
38853
38854          salt-call state.apply pep8
38855
38856       The execution output would be something like:
38857
38858          ----------
38859              State: - pip
38860              Name:      pep8
38861              Function:  installed
38862                  Result:    False
38863                  Comment:   State pip.installed found in sls pep8 is unavailable
38864
38865                  Changes:
38866
38867          Summary
38868          ------------
38869          Succeeded: 1
38870          Failed:    1
38871          ------------
38872          Total:     2
38873
38874       If we executed the state again the output would be:
38875
38876          ----------
38877              State: - pip
38878              Name:      pep8
38879              Function:  installed
38880                  Result:    True
38881                  Comment:   Package was successfully installed
38882                  Changes:   pep8==1.4.6: Installed
38883
38884          Summary
38885          ------------
38886          Succeeded: 2
38887          Failed:    0
38888          ------------
38889          Total:     2
38890
38891       Since  we  installed pip using cmd, Salt has no way to know that a sys‐
38892       tem-wide package was installed.
38893
38894       On the second execution, since the required pip package was  installed,
38895       the state executed correctly.
38896
38897       NOTE:
38898          Salt  does  not  reload  modules on every state run because doing so
38899          would greatly slow down state execution.
38900
38901       So how do we solve this edge-case? reload_modules!
38902
38903       reload_modules is a boolean option recognized by salt on all  available
38904       states  which forces salt to reload its modules once a given state fin‐
38905       ishes.
38906
38907       The modified state file would now be:
38908
38909          python-pip:
38910            cmd.run:
38911              - name: |
38912                  easy_install --script-dir=/usr/bin -U pip
38913              - cwd: /
38914              - reload_modules: true
38915
38916          pep8:
38917            pip.installed:
38918              - require:
38919                - cmd: python-pip
38920
38921       Let's run it, once:
38922
38923          salt-call state.apply pep8
38924
38925       The output is:
38926
38927          ----------
38928              State: - pip
38929              Name:      pep8
38930              Function:  installed
38931                  Result:    True
38932                  Comment:   Package was successfully installed
38933                  Changes:   pep8==1.4.6: Installed
38934
38935          Summary
38936          ------------
38937          Succeeded: 2
38938          Failed:    0
38939          ------------
38940          Total:     2
38941

RETURN CODES

38943       When the salt or salt-call CLI commands result in an error, the command
38944       will  exit  with a return code of 1. Error cases consist of the follow‐
38945       ing:
38946
38947       1. Errors are encountered while running States, or any state returns  a
38948          False result
38949
38950       2. Any exception is raised
38951
38952       3. In the case of remote-execution functions, when the return data is a
38953          Python dictionary with a key named either result or  success,  which
38954          has a value of False
38955
38956   Retcode Passthrough
38957       In  addition  to the cases listed above, if a state or remote-execution
38958       function sets a nonzero value in the retcode  key  of  the  __context__
38959       dictionary,  the  command  will exit with a return code of 1. For those
38960       developing custom states and execution modules, using __context__['ret‐
38961       code'] can be a useful way of signaling that an error has occurred:
38962
38963          if something_went_wrong:
38964              __context__['retcode'] = 42
38965
38966       This  is  actually  how  states signal that they have failed. Different
38967       cases result in different codes being set in  the  __context__  dictio‐
38968       nary:
38969
38970       · 1 is set when any error is encountered in the state compiler (missing
38971         SLS file, etc.)
38972
38973       · 2 is set when any state returns a False result
38974
38975       · 5 is set when Pillar data fails to be  compiled  before  running  the
38976         state(s)
38977
38978       When  the  --retcode-passthrough  flag  is  used  with  salt-call, then
38979       salt-call will exit with whichever retcode was set in  the  __context__
38980       dictionary,  rather than the default behavior which simply exits with 1
38981       for any error condition.
38982

UTILITY MODULES - CODE REUSE IN CUSTOM MODULES

38984       New in version 2015.5.0.
38985
38986
38987       Changed in version 2016.11.0: These can now be synced to the Master for
38988       use  in  custom  Runners, and in custom execution modules called within
38989       Pillar SLS files.
38990
38991
38992       When extending Salt by writing custom (state modules),  execution  mod‐
38993       ules, etc., sometimes there is a need for a function to be available to
38994       more than just one kind of custom module. For these  cases,  Salt  sup‐
38995       ports  what are called "utility modules". These modules are like normal
38996       execution modules, but instead of being  invoked  in  Salt  code  using
38997       __salt__, the __utils__ prefix is used instead.
38998
38999       For  example,  assuming  the  following simple utility module, saved to
39000       salt://_utils/foo.py
39001
39002          # -*- coding: utf-8 -*-
39003          '''
39004          My utils module
39005          ---------------
39006
39007          This module contains common functions for use in my other custom types.
39008          '''
39009
39010          def bar():
39011              return 'baz'
39012
39013       Once synced to a minion, this function would be available to other cus‐
39014       tom Salt types like so:
39015
39016          # -*- coding: utf-8 -*-
39017          '''
39018          My awesome execution module
39019          ---------------------------
39020          '''
39021
39022          def observe_the_awesomeness():
39023              '''
39024              Prints information from my utility module
39025
39026              CLI Example:
39027
39028              .. code-block:: bash
39029
39030                  salt '*' mymodule.observe_the_awesomeness
39031              '''
39032              return __utils__['foo.bar']()
39033
39034       Utility modules, like any other kind of Salt extension, support using a
39035       __virtual__ function to conditionally load them, or load them  under  a
39036       different  namespace.  For  instance,  if the utility module above were
39037       named salt://_utils/mymodule.py it could be made to be  loaded  as  the
39038       foo utility module with a __virtual__ function.
39039
39040          # -*- coding: utf-8 -*-
39041          '''
39042          My utils module
39043          ---------------
39044
39045          This module contains common functions for use in my other custom types.
39046          '''
39047
39048          def __virtual__():
39049              '''
39050              Load as a different name
39051              '''
39052              return 'foo'
39053
39054          def bar():
39055              return 'baz'
39056
39057       New in version 2018.3.0: Instantiating objects from classes declared in
39058       util modules works with Master side modules, such as  Runners,  Output‐
39059       ters, etc.
39060
39061
39062       Also you could even write your utility modules in object oriented fash‐
39063       ion:
39064
39065          # -*- coding: utf-8 -*-
39066          '''
39067          My OOP-style utils module
39068          -------------------------
39069
39070          This module contains common functions for use in my other custom types.
39071          '''
39072
39073          class Foo(object):
39074
39075              def __init__(self):
39076                  pass
39077
39078              def bar(self):
39079                  return 'baz'
39080
39081       And import them into other custom modules:
39082
39083          # -*- coding: utf-8 -*-
39084          '''
39085          My awesome execution module
39086          ---------------------------
39087          '''
39088
39089          import mymodule
39090
39091          def observe_the_awesomeness():
39092              '''
39093              Prints information from my utility module
39094
39095              CLI Example:
39096
39097              .. code-block:: bash
39098
39099                  salt '*' mymodule.observe_the_awesomeness
39100              '''
39101              foo = mymodule.Foo()
39102              return foo.bar()
39103
39104       These are, of course, contrived examples, but they should serve to show
39105       some of the possibilities opened up by writing utility modules. Keep in
39106       mind though that states still have access to all of the execution  mod‐
39107       ules,  so it is not necessary to write a utility module to make a func‐
39108       tion available to both a state and an execution module.  One  good  use
39109       case  for  utility  modules  is one where it is necessary to invoke the
39110       same function from a custom outputter/returner, as well as an execution
39111       module.
39112
39113       Utility  modules placed in salt://_utils/ will be synced to the minions
39114       when a highstate is run, as well as when  any  of  the  following  Salt
39115       functions are called:
39116
39117       · saltutil.sync_utils
39118
39119       · saltutil.sync_all
39120
39121       As  of  the 2019.2.0 release, as well as 2017.7.7 and 2018.3.2 in their
39122       respective release cycles, the sync argument  to  state.apply/state.sls
39123       can be used to sync custom types when running individual SLS files.
39124
39125       To sync to the Master, use either of the following:
39126
39127       · saltutil.sync_utils
39128
39129       · saltutil.sync_all
39130

EVENTS & REACTOR

39132   Event System
39133       The  Salt  Event System is used to fire off events enabling third party
39134       applications or external processes to react to  behavior  within  Salt.
39135       The  event  system  uses a publish-subscribe pattern, otherwise know as
39136       pub/sub.
39137
39138   Event Bus
39139       The event system is comprised of a two primary components,  which  make
39140       up the concept of an Event Bus:
39141
39142       · The event sockets, which publish events
39143
39144       · The  event  library,  which can listen to events and send events into
39145         the salt system
39146
39147       Events are published onto the event bus and event bus subscribers  lis‐
39148       ten for the published events.
39149
39150       The  event  bus is used for both inter-process communication as well as
39151       network transport in  Salt.  Inter-process  communication  is  provided
39152       through UNIX domain sockets (UDX).
39153
39154       The Salt Master and each Salt Minion has their own event bus.
39155
39156   Event types
39157   Salt Master Events
39158       These  events  are fired on the Salt Master event bus. This list is not
39159       comprehensive.
39160
39161   Authentication events
39162       salt/auth
39163              Fired when a minion performs an authentication  check  with  the
39164              master.
39165
39166              Variables
39167
39168                     · id -- The minion ID.
39169
39170                     · act  --  The  current status of the minion key: accept,
39171                       pend, reject.
39172
39173                     · pub -- The minion public key.
39174
39175              NOTE:
39176                 Minions fire auth events on fairly regular basis for a number
39177                 of  reasons.   Writing  reactors to respond to events through
39178                 the auth cycle can lead to infinite reactor event loops (min‐
39179                 ion  tries  to auth, reactor responds by doing something that
39180                 generates another auth event, minion sends auth event, etc.).
39181                 Consider  reacting  to salt/key or salt/minion/<MID>/start or
39182                 firing a custom event tag instead.
39183
39184   Start events
39185       salt/minion/<MID>/start
39186              Fired every time a minion connects to the Salt master.
39187
39188              Variables
39189                     id -- The minion ID.
39190
39191   Key events
39192       salt/key
39193              Fired when accepting and rejecting minions keys on the Salt mas‐
39194              ter.   These  happen  as  a  result of actions undertaken by the
39195              salt-key command.
39196
39197              Variables
39198
39199                     · id -- The minion ID.
39200
39201                     · act -- The  new  status  of  the  minion  key:  accept,
39202                       delete,
39203
39204       WARNING:
39205          If  a  master  is  in  auto_accept mode, salt/key events will not be
39206          fired when the keys are accepted.   In  addition,  pre-seeding  keys
39207          (like  happens  through  Salt-Cloud)  will not cause firing of these
39208          events.
39209
39210   Job events
39211       salt/job/<JID>/new
39212              Fired as a new job is sent out to minions.
39213
39214              Variables
39215
39216                     · jid -- The job ID.
39217
39218                     · tgt -- The target of the job: *, a minion ID, G@os_fam‐
39219                       ily:RedHat, etc.
39220
39221                     · tgt_type  --  The  type of targeting used: glob, grain,
39222                       compound, etc.
39223
39224                     · fun -- The function to run  on  minions:  test.version,
39225                       network.interfaces, etc.
39226
39227                     · arg -- A list of arguments to pass to the function that
39228                       will be called.
39229
39230                     · minions -- A list of minion IDs that Salt expects  will
39231                       return data for this job.
39232
39233                     · user  --  The  name of the user that ran the command as
39234                       defined in Salt's Publisher ACL or external auth.
39235
39236       salt/job/<JID>/ret/<MID>
39237              Fired each time a minion returns data for a job.
39238
39239              Variables
39240
39241                     · id -- The minion ID.
39242
39243                     · jid -- The job ID.
39244
39245                     · retcode -- The return code for the job.
39246
39247                     · fun -- The function the minion ran. E.g., test.version.
39248
39249                     · return -- The data returned from the execution module.
39250
39251       salt/job/<JID>/prog/<MID>/<RUN NUM>
39252              Fired each time a each function in a state run completes  execu‐
39253              tion. Must be enabled using the state_events option.
39254
39255              Variables
39256
39257                     · data  --  The data returned from the state module func‐
39258                       tion.
39259
39260                     · id -- The minion ID.
39261
39262                     · jid -- The job ID.
39263
39264   Runner Events
39265       salt/run/<JID>/new
39266              Fired as a runner begins execution
39267
39268              Variables
39269
39270                     · jid -- The job ID.
39271
39272                     · fun -- The name of the runner  function,  with  runner.
39273                       prepended to it (e.g. runner.jobs.lookup_jid)
39274
39275                     · fun_args -- The arguments passed to the runner function
39276                       (e.g.  ['20160829225914848058'])
39277
39278                     · user -- The user who executed the runner (e.g. root)
39279
39280       salt/run/<JID>/ret
39281              Fired when a runner function returns
39282
39283              Variables
39284
39285                     · jid -- The job ID.
39286
39287                     · fun -- The name of the runner  function,  with  runner.
39288                       prepended to it (e.g. runner.jobs.lookup_jid)
39289
39290                     · fun_args -- The arguments passed to the runner function
39291                       (e.g.  ['20160829225914848058'])
39292
39293                     · return -- The data returned by the runner function
39294
39295       salt/run/<JID>/args
39296              New in version 2016.11.0.
39297
39298
39299              Fired by the state.orchestrate runner
39300
39301              Variables
39302
39303                     · name -- The ID declaration for  the  orchestration  job
39304                       (i.e.   the   line   above  salt.state,  salt.function,
39305                       salt.runner, etc.)
39306
39307                     · type -- The type of orchestration job being  run  (e.g.
39308                       state)
39309
39310                     · tgt  --  The  target  expression (e.g. *). Included for
39311                       state and function types only.
39312
39313                     · args -- The args passed to the orchestration job. Note:
39314                       for  state and function types, also includes a tgt_type
39315                       value which shows what kind of match (glob, pcre, etc.)
39316                       was  used.   This  value  was  named  expr_form  in the
39317                       2016.11 release cycle but has been renamed to  tgt_type
39318                       in 2017.7.0 for consistency with other events.
39319
39320   Presence Events
39321       salt/presence/present
39322              Events  fired  on  a regular interval about currently connected,
39323              newly connected, or recently disconnected minions. Requires  the
39324              presence_events setting to be enabled.
39325
39326              Variables
39327                     present -- A list of minions that are currently connected
39328                     to the Salt master.
39329
39330       salt/presence/change
39331              Fired when the Presence system detects new  minions  connect  or
39332              disconnect.
39333
39334              Variables
39335
39336                     · new  -- A list of minions that have connected since the
39337                       last presence event.
39338
39339                     · lost -- A list of minions that have disconnected  since
39340                       the last presence event.
39341
39342   Cloud Events
39343       Unlike  other  Master events, salt-cloud events are not fired on behalf
39344       of a Salt Minion. Instead, salt-cloud events are fired on behalf  of  a
39345       VM.  This  is because the minion-to-be may not yet exist to fire events
39346       to or also may have been destroyed.
39347
39348       This behavior is reflected by the name variable in the event  data  for
39349       salt-cloud  events as compared to the id variable for Salt Minion-trig‐
39350       gered events.
39351
39352       salt/cloud/<VM NAME>/creating
39353              Fired when salt-cloud starts the VM creation process.
39354
39355              Variables
39356
39357                     · name -- the name of the VM being created.
39358
39359                     · event -- description of the event.
39360
39361                     · provider -- the cloud provider of the VM being created.
39362
39363                     · profile -- the cloud profile for the VM being created.
39364
39365       salt/cloud/<VM NAME>/deploying
39366              Fired when the VM is available and salt-cloud  begins  deploying
39367              Salt to the new VM.
39368
39369              Variables
39370
39371                     · name -- the name of the VM being created.
39372
39373                     · event -- description of the event.
39374
39375                     · kwargs  --  options  available  as the deploy script is
39376                       invoked: conf_file, deploy_command, display_ssh_output,
39377                       host, keep_tmp, key_filename, make_minion, minion_conf,
39378                       name,    parallel,     preseed_minion_keys,     script,
39379                       script_args,  script_env, sock_dir, start_action, sudo,
39380                       tmp_dir, tty, username
39381
39382       salt/cloud/<VM NAME>/requesting
39383              Fired when salt-cloud sends the request to create a new VM.
39384
39385              Variables
39386
39387                     · event -- description of the event.
39388
39389                     · location -- the location of the VM being requested.
39390
39391                     · kwargs  --  options  available  as  the  VM  is   being
39392                       requested: Action, ImageId, InstanceType, KeyName, Max‐
39393                       Count, MinCount, SecurityGroup.1
39394
39395       salt/cloud/<VM NAME>/querying
39396              Fired when salt-cloud queries data for a new instance.
39397
39398              Variables
39399
39400                     · event -- description of the event.
39401
39402                     · instance_id -- the ID of the new VM.
39403
39404       salt/cloud/<VM NAME>/tagging
39405              Fired when salt-cloud tags a new instance.
39406
39407              Variables
39408
39409                     · event -- description of the event.
39410
39411                     · tags -- tags being set on the new instance.
39412
39413       salt/cloud/<VM NAME>/waiting_for_ssh
39414              Fired while the salt-cloud deploy process is waiting for ssh  to
39415              become available on the new instance.
39416
39417              Variables
39418
39419                     · event -- description of the event.
39420
39421                     · ip_address -- IP address of the new instance.
39422
39423       salt/cloud/<VM NAME>/deploy_script
39424              Fired once the deploy script is finished.
39425
39426              Variables
39427                     event -- description of the event.
39428
39429       salt/cloud/<VM NAME>/created
39430              Fired once the new instance has been fully created.
39431
39432              Variables
39433
39434                     · name -- the name of the VM being created.
39435
39436                     · event -- description of the event.
39437
39438                     · instance_id -- the ID of the new instance.
39439
39440                     · provider -- the cloud provider of the VM being created.
39441
39442                     · profile -- the cloud profile for the VM being created.
39443
39444       salt/cloud/<VM NAME>/destroying
39445              Fired when salt-cloud requests the destruction of an instance.
39446
39447              Variables
39448
39449                     · name -- the name of the VM being created.
39450
39451                     · event -- description of the event.
39452
39453                     · instance_id -- the ID of the new instance.
39454
39455       salt/cloud/<VM NAME>/destroyed
39456              Fired when an instance has been destroyed.
39457
39458              Variables
39459
39460                     · name -- the name of the VM being created.
39461
39462                     · event -- description of the event.
39463
39464                     · instance_id -- the ID of the new instance.
39465
39466   Listening for Events
39467       Salt's  event system is used heavily within Salt and it is also written
39468       to integrate heavily with existing tooling  and  scripts.  There  is  a
39469       variety of ways to consume it.
39470
39471   From the CLI
39472       The  quickest  way to watch the event bus is by calling the state.event
39473       runner:
39474
39475          salt-run state.event pretty=True
39476
39477       That runner is designed to interact with the event  bus  from  external
39478       tools and shell scripts. See the documentation for more examples.
39479
39480   Remotely via the REST API
39481       Salt's  event  bus can be consumed salt.netapi.rest_cherrypy.app.Events
39482       as an HTTP stream from external tools or services.
39483
39484          curl -SsNk https://salt-api.example.com:8000/events?token=05A3
39485
39486   From Python
39487       Python scripts can access the event bus only as the  same  system  user
39488       that Salt is running as.
39489
39490       The  event  system  is  accessed  via the event library and can only be
39491       accessed by the same system user that Salt is running as. To listen  to
39492       events  a  SaltEvent  object needs to be created and then the get_event
39493       function needs to be run. The SaltEvent object needs to know the  loca‐
39494       tion  that the Salt Unix sockets are kept. In the configuration this is
39495       the   sock_dir   option.    The    sock_dir    option    defaults    to
39496       "/var/run/salt/master" on most systems.
39497
39498       The following code will check for a single event:
39499
39500          import salt.config
39501          import salt.utils.event
39502
39503          opts = salt.config.client_config('/etc/salt/master')
39504
39505          event = salt.utils.event.get_event(
39506                  'master',
39507                  sock_dir=opts['sock_dir'],
39508                  transport=opts['transport'],
39509                  opts=opts)
39510
39511          data = event.get_event()
39512
39513       Events  will  also use a "tag". Tags allow for events to be filtered by
39514       prefix.  By default all events will be returned. If only authentication
39515       events are desired, then pass the tag "salt/auth".
39516
39517       The  get_event method has a default poll time assigned of 5 seconds. To
39518       change this time set the "wait" option.
39519
39520       The following example will only listen for auth events  and  will  wait
39521       for 10 seconds instead of the default 5.
39522
39523          data = event.get_event(wait=10, tag='salt/auth')
39524
39525       To retrieve the tag as well as the event data, pass full=True:
39526
39527          evdata = event.get_event(wait=10, tag='salt/job', full=True)
39528
39529          tag, data = evdata['tag'], evdata['data']
39530
39531       Instead  of  looking  for a single event, the iter_events method can be
39532       used to make a generator which will continually yield salt events.
39533
39534       The iter_events method also accepts a tag but not a wait time:
39535
39536          for data in event.iter_events(tag='salt/auth'):
39537              print(data)
39538
39539       And finally event tags can be globbed, such as they can be in the Reac‐
39540       tor, using the fnmatch library.
39541
39542          import fnmatch
39543
39544          import salt.config
39545          import salt.utils.event
39546
39547          opts = salt.config.client_config('/etc/salt/master')
39548
39549          sevent = salt.utils.event.get_event(
39550                  'master',
39551                  sock_dir=opts['sock_dir'],
39552                  transport=opts['transport'],
39553                  opts=opts)
39554
39555          while True:
39556              ret = sevent.get_event(full=True)
39557              if ret is None:
39558                  continue
39559
39560              if fnmatch.fnmatch(ret['tag'], 'salt/job/*/ret/*'):
39561                  do_something_with_job_return(ret['data'])
39562
39563   Firing Events
39564       It  is  possible  to fire events on either the minion's local bus or to
39565       fire events intended for the master.
39566
39567       To fire a local event from the minion on  the  command  line  call  the
39568       event.fire execution function:
39569
39570          salt-call event.fire '{"data": "message to be sent in the event"}' 'tag'
39571
39572       To  fire  an event to be sent up to the master from the minion call the
39573       event.send execution function. Remember YAML can be used at the CLI  in
39574       function arguments:
39575
39576          salt-call event.send 'myco/mytag/success' '{success: True, message: "It works!"}'
39577
39578       If a process is listening on the minion, it may be useful for a user on
39579       the master to fire an event to it. An example of listening local events
39580       on a minion on a non-Windows system:
39581
39582          # Job on minion
39583          import salt.utils.event
39584
39585          opts = salt.config.minion_config('/etc/salt/minion')
39586          event = salt.utils.event.MinionEvent(opts)
39587
39588          for evdata in event.iter_events(match_type = 'regex',
39589                                          tag = 'custom/.*'):
39590              # do your processing here...
39591
39592       And an example of listening local events on a Windows system:
39593
39594          # Job on minion
39595          import salt.utils.event
39596
39597          opts = salt.config.minion_config(salt.minion.DEFAULT_MINION_OPTS)
39598          event = salt.utils.event.MinionEvent(opts)
39599
39600          for evdata in event.iter_events(match_type = 'regex',
39601                                          tag = 'custom/.*'):
39602              # do your processing here...
39603
39604          salt minionname event.fire '{"data": "message for the minion"}' 'customtag/african/unladen'
39605
39606   Firing Events from Python
39607   From Salt execution modules
39608       Events  can  be very useful when writing execution modules, in order to
39609       inform various processes on the master when a certain  task  has  taken
39610       place. This is easily done using the normal cross-calling syntax:
39611
39612          # /srv/salt/_modules/my_custom_module.py
39613
39614          def do_something():
39615              '''
39616              Do something and fire an event to the master when finished
39617
39618              CLI Example::
39619
39620                  salt '*' my_custom_module:do_something
39621              '''
39622              # do something!
39623              __salt__['event.send']('myco/my_custom_module/finished', {
39624                  'finished': True,
39625                  'message': "The something is finished!",
39626              })
39627
39628   From Custom Python Scripts
39629       Firing  events  from custom Python code is quite simple and mirrors how
39630       it is done at the CLI:
39631
39632          import salt.client
39633
39634          caller = salt.client.Caller()
39635
39636          ret = called.cmd('event.send',
39637                           'myco/event/success'
39638                           { 'success': True,
39639                             'message': "It works!" })
39640
39641          if not ret:
39642              # the event could not be sent, process the error here
39643
39644   Beacons
39645       Beacons let you use the Salt event  system  to  monitor  non-Salt  pro‐
39646       cesses.  The  beacon system allows the minion to hook into a variety of
39647       system processes and continually monitor these  processes.  When  moni‐
39648       tored activity occurs in a system process, an event is sent on the Salt
39649       event bus that can be used to trigger a reactor.
39650
39651       Salt beacons can currently monitor and send Salt events for many system
39652       activities, including:
39653
39654       · file system changes
39655
39656       · system load
39657
39658       · service status
39659
39660       · shell activity, such as user login
39661
39662       · network and disk usage
39663
39664       See beacon modules for a current list.
39665
39666       NOTE:
39667          Salt beacons are an event generation mechanism. Beacons leverage the
39668          Salt reactor system to make changes when beacon events occur.
39669
39670   Configuring Beacons
39671       Salt beacons do not require any changes to the system  components  that
39672       are being monitored, everything is configured using Salt.
39673
39674       Beacons  are typically enabled by placing a beacons: top level block in
39675       /etc/salt/minion  or  any   file   in   /etc/salt/minion.d/   such   as
39676       /etc/salt/minion.d/beacons.conf or add it to pillars for that minion:
39677
39678          beacons:
39679            inotify:
39680              - files:
39681                  /etc/important_file: {}
39682                  /opt: {}
39683
39684       The beacon system, like many others in Salt, can also be configured via
39685       the minion pillar, grains, or local config file.
39686
39687       NOTE:
39688          The inotify beacon only works on OSes that have inotify kernel  sup‐
39689          port.  Currently this excludes FreeBSD, macOS, and Windows.
39690
39691       All beacon configuration is done using list based configuration.
39692
39693       New in version Neon.
39694
39695
39696       Multiple  copies  of  a  particular  Salt  beacon  can be configured by
39697       including the beacon_module parameter in the beacon configuration.
39698
39699          beacons:
39700            watch_importand_file:
39701              - files:
39702                  /etc/important_file: {}
39703              - beacon_module: inotify
39704            watch_another_file:
39705              - files:
39706                  /etc/another_file: {}
39707              - beacon_module: inotify
39708
39709   Beacon Monitoring Interval
39710       Beacons monitor on a 1-second interval by default. To set  a  different
39711       interval,  provide an interval argument to a beacon. The following bea‐
39712       cons run on 5- and 10-second intervals:
39713
39714          beacons:
39715            inotify:
39716              - files:
39717                  /etc/important_file: {}
39718                  /opt: {}
39719              - interval: 5
39720              - disable_during_state_run: True
39721            load:
39722              - averages:
39723                  1m:
39724                    - 0.0
39725                    - 2.0
39726                  5m:
39727                    - 0.0
39728                    - 1.5
39729                  15m:
39730                    - 0.1
39731                    - 1.0
39732              - interval: 10
39733
39734   Avoiding Event Loops
39735       It is important to carefully consider the  possibility  of  creating  a
39736       loop  between  a  reactor and a beacon. For example, one might set up a
39737       beacon which monitors whether a file is read  which  in  turn  fires  a
39738       reactor  to  run  a state which in turn reads the file and re-fires the
39739       beacon.
39740
39741       To avoid these types of scenarios, the  disable_during_state_run  argu‐
39742       ment  may be set. If a state run is in progress, the beacon will not be
39743       run on its regular interval until the minion detects that the state run
39744       has completed, at which point the normal beacon interval will resume.
39745
39746          beacons:
39747            inotify:
39748              - files:
39749                  /etc/important_file: {}
39750              - disable_during_state_run: True
39751
39752       NOTE:
39753          For beacon writers:  If you need extra stuff to happen, like closing
39754          file handles for the disable_during_state_run to actually work,  you
39755          can  add a close() function to the beacon to run those extra things.
39756          See the inotify beacon.
39757
39758   Beacon Example
39759       This example demonstrates configuring the inotify beacon to  monitor  a
39760       file  for  changes, and then restores the file to its original contents
39761       if a change was made.
39762
39763       NOTE:
39764          The inotify beacon requires Pyinotify  on  the  minion,  install  it
39765          using salt myminion pkg.install python-inotify.
39766
39767   Create Watched File
39768       Create the file named /etc/important_file and add some simple content:
39769
39770          important_config: True
39771
39772   Add Beacon Configs to Minion
39773       On  the  Salt minion, add the following configuration to /etc/salt/min‐
39774       ion.d/beacons.conf:
39775
39776          beacons:
39777            inotify:
39778              - files:
39779                  /etc/important_file:
39780                    mask:
39781                      - modify
39782              - disable_during_state_run: True
39783
39784       Save the configuration file and restart the minion service. The  beacon
39785       is now set up to notify salt upon modifications made to the file.
39786
39787       NOTE:
39788          The  disable_during_state_run:  True  parameter prevents the inotify
39789          beacon from generating reactor events due to salt  itself  modifying
39790          the file.
39791
39792   View Events on the Master
39793       On  your  Salt  master, start the event runner using the following com‐
39794       mand:
39795
39796          salt-run state.event pretty=true
39797
39798       This runner displays events as they are received by the master  on  the
39799       Salt  event bus. To test the beacon you set up in the previous section,
39800       make and save a modification  to  /etc/important_file.  You'll  see  an
39801       event similar to the following on the event bus:
39802
39803          {
39804           "_stamp": "2015-09-09T15:59:37.972753",
39805           "data": {
39806               "change": "IN_IGNORED",
39807               "id": "larry",
39808               "path": "/etc/important_file"
39809           },
39810           "tag": "salt/beacon/larry/inotify//etc/important_file"
39811          }
39812
39813       This indicates that the event is being captured and sent correctly. Now
39814       you can create a reactor to take action when this event occurs.
39815
39816   Create a Reactor
39817       This reactor reverts the file named /etc/important_file to the contents
39818       provided by salt each time it is modified.
39819
39820   Reactor SLS
39821       On your Salt master, create a file named /srv/reactor/revert.sls.
39822
39823       NOTE:
39824          If the /srv/reactor directory doesn't exist, create it.
39825
39826              mkdir -p /srv/reactor
39827
39828       Add the following to /srv/reactor/revert.sls:
39829
39830          revert-file:
39831            local.state.apply:
39832              - tgt: {{ data['data']['id'] }}
39833              - arg:
39834                - maintain_important_file
39835
39836       NOTE:
39837          In addition to setting disable_during_state_run: True for an inotify
39838          beacon whose reaction is to modify the watched file, it is important
39839          to ensure the state applied is also idempotent.
39840
39841       NOTE:
39842          The expression {{ data['data']['id'] }} is correct as it matches the
39843          event structure shown above.
39844
39845   State SLS
39846       Create the state sls file referenced by the  reactor  sls  file.   This
39847       state file will be located at /srv/salt/maintain_important_file.sls.
39848
39849          important_file:
39850            file.managed:
39851              - name: /etc/important_file
39852              - contents: |
39853                  important_config: True
39854
39855   Master Config
39856       Configure  the  master  to  map  the inotify beacon event to the revert
39857       reaction in /etc/salt/master.d/reactor.conf:
39858
39859          reactor:
39860            - salt/beacon/*/inotify//etc/important_file:
39861              - /srv/reactor/revert.sls
39862
39863       NOTE:
39864          You can have only one top level reactor section, so if  one  already
39865          exists,  add  this  code  to the existing section. See here to learn
39866          more about reactor SLS syntax.
39867
39868   Start the Salt Master in Debug Mode
39869       To help with troubleshooting, start the Salt master in debug mode:
39870
39871          service salt-master stop
39872          salt-master -l debug
39873
39874       When debug logging is enabled, event and reactor data are displayed  so
39875       you can discover syntax and other issues.
39876
39877   Trigger the Reactor
39878       On your minion, make and save another change to /etc/important_file. On
39879       the Salt master, you'll see debug messages that indicate the event  was
39880       received and the state.apply job was sent. When you inspect the file on
39881       the minion, you'll see that the file contents  have  been  restored  to
39882       important_config: True.
39883
39884       All beacons are configured using a similar process of enabling the bea‐
39885       con, writing a reactor SLS (and state SLS if  needed),  and  mapping  a
39886       beacon event to the reactor SLS.
39887
39888   Writing Beacon Plugins
39889       Beacon  plugins  use the standard Salt loader system, meaning that many
39890       of the constructs from other plugin systems holds  true,  such  as  the
39891       __virtual__ function.
39892
39893       The  important  function  in  the Beacon Plugin is the beacon function.
39894       When the beacon is configured to run, this function  will  be  executed
39895       repeatedly  by  the  minion. The beacon function therefore cannot block
39896       and should be as lightweight as possible. The beacon also must return a
39897       list  of  dicts, each dict in the list will be translated into an event
39898       on the master.
39899
39900       Beacons may also choose to implement a validate  function  which  takes
39901       the  beacon  configuration  as an argument and ensures that it is valid
39902       prior to continuing. This function is called automatically by the  Salt
39903       loader when a beacon is loaded.
39904
39905       Please see the inotify beacon as an example.
39906
39907   The beacon Function
39908       The beacons system will look for a function named beacon in the module.
39909       If this function is not present then the beacon will not be fired. This
39910       function  is  called on a regular basis and defaults to being called on
39911       every iteration of the minion, which can be tens to hundreds of times a
39912       second. This means that the beacon function cannot block and should not
39913       be CPU or IO intensive.
39914
39915       The beacon function will be passed in the configuration  for  the  exe‐
39916       cuted  beacon. This makes it easy to establish a flexible configuration
39917       for each called beacon. This is also the preferred way  to  ingest  the
39918       beacon's configuration as it allows for the configuration to be dynami‐
39919       cally updated while the minion is running by configuring the beacon  in
39920       the minion's pillar.
39921
39922   The Beacon Return
39923       The information returned from the beacon is expected to follow a prede‐
39924       fined structure. The returned value needs to be a list of  dictionaries
39925       (standard  python  dictionaries  are  preferred,  no  ordered dicts are
39926       needed).
39927
39928       The dictionaries represent individual events to be fired on the  minion
39929       and  master event buses. Each dict is a single event. The dict can con‐
39930       tain any arbitrary keys but the 'tag' key will be extracted  and  added
39931       to the tag of the fired event.
39932
39933       The return data structure would look something like this:
39934
39935          [{'changes': ['/foo/bar'], 'tag': 'foo'},
39936           {'changes': ['/foo/baz'], 'tag': 'bar'}]
39937
39938   Calling Execution Modules
39939       Execution  modules  are  still  the preferred location for all work and
39940       system interaction to happen in Salt.  For  this  reason  the  __salt__
39941       variable is available inside the beacon.
39942
39943       Please be careful when calling functions in __salt__, while this is the
39944       preferred means of executing complicated routines in Salt  not  all  of
39945       the execution modules have been written with beacons in mind. Watch out
39946       for execution modules that may be CPU intense or IO bound. Please  feel
39947       free  to  add new execution modules and functions to back specific bea‐
39948       cons.
39949
39950   Distributing Custom Beacons
39951       Custom beacons can be distributed to minions via the standard  methods,
39952       see Modular Systems.
39953
39954   Reactor System
39955       Salt's  Reactor  system  gives  Salt  the ability to trigger actions in
39956       response to an event. It is a simple interface to watching Salt's event
39957       bus  for  event tags that match a given pattern and then running one or
39958       more commands in response.
39959
39960       This system binds sls files to event tags  on  the  master.  These  sls
39961       files then define reactions. This means that the reactor system has two
39962       parts. First, the reactor option needs to be set in the master configu‐
39963       ration file.  The reactor option allows for event tags to be associated
39964       with sls reaction files. Second,  these  reaction  files  use  highdata
39965       (like the state system) to define reactions to be executed.
39966
39967   Event System
39968       A  basic  understanding  of  the event system is required to understand
39969       reactors.  The event system is a local ZeroMQ PUB interface which fires
39970       salt events. This event bus is an open system used for sending informa‐
39971       tion notifying Salt and other systems about operations.
39972
39973       The event system fires events with  a  very  specific  criteria.  Every
39974       event  has  a  tag.  Event  tags  allow for fast top-level filtering of
39975       events. In addition to the tag, each event has a data  structure.  This
39976       data  structure  is  a dictionary, which contains information about the
39977       event.
39978
39979   Mapping Events to Reactor SLS Files
39980       Reactor SLS files and event tags are associated in  the  master  config
39981       file.  By default this is /etc/salt/master, or /etc/salt/master.d/reac‐
39982       tor.conf.
39983
39984       New in version 2014.7.0: Added Reactor support for salt:// file paths.
39985
39986
39987       In the master config section 'reactor:' is a list of event tags  to  be
39988       matched and each event tag has a list of reactor SLS files to be run.
39989
39990          reactor:                            # Master config section "reactor"
39991
39992            - 'salt/minion/*/start':          # Match tag "salt/minion/*/start"
39993              - /srv/reactor/start.sls        # Things to do when a minion starts
39994              - /srv/reactor/monitor.sls      # Other things to do
39995
39996            - 'salt/cloud/*/destroyed':       # Globs can be used to match tags
39997              - /srv/reactor/destroy/*.sls    # Globs can be used to match file names
39998
39999            - 'myco/custom/event/tag':        # React to custom event tags
40000              - salt://reactor/mycustom.sls   # Reactor files can come from the salt fileserver
40001
40002       NOTE:
40003          In the above example, salt://reactor/mycustom.sls refers to the base
40004          environment. To pull this file from a different environment, use the
40005          querystring  syntax (e.g.  salt://reactor/mycustom.sls?saltenv=reac‐
40006          tor).
40007
40008       Reactor SLS files are similar to State and Pillar SLS files.  They  are
40009       by default YAML + Jinja templates and are passed familiar context vari‐
40010       ables.  Click here for  more  detailed  information  on  the  variables
40011       available in Jinja templating.
40012
40013       Here is the SLS for a simple reaction:
40014
40015          {% if data['id'] == 'mysql1' %}
40016          highstate_run:
40017            local.state.apply:
40018              - tgt: mysql1
40019          {% endif %}
40020
40021       This  simple  reactor file uses Jinja to further refine the reaction to
40022       be made.  If the id in the event data is mysql1 (in other words, if the
40023       name  of  the minion is mysql1) then the following reaction is defined.
40024       The same data structure and compiler used for the state system is  used
40025       for the reactor system. The only difference is that the data is matched
40026       up to the salt command API and the runner system.  In this  example,  a
40027       command   is  published  to  the  mysql1  minion  with  a  function  of
40028       state.apply, which performs a highstate. Similarly,  a  runner  can  be
40029       called:
40030
40031          {% if data['data']['custom_var'] == 'runit' %}
40032          call_runit_orch:
40033            runner.state.orchestrate:
40034              - args:
40035                - mods: orchestrate.runit
40036          {% endif %}
40037
40038       This  example  will execute the state.orchestrate runner and intiate an
40039       execution  of  the  runit  orchestrator  located  at  /srv/salt/orches‐
40040       trate/runit.sls.
40041
40042   Types of Reactions
40043                        ┌───────┬────────────────────────────┐
40044                        │Name   │ Description                │
40045                        ├───────┼────────────────────────────┤
40046local  │ Runs   a  remote-execution │
40047                        │       │ function on targeted  min‐ │
40048                        │       │ ions                       │
40049                        ├───────┼────────────────────────────┤
40050runner │ Executes a runner function │
40051                        ├───────┼────────────────────────────┤
40052wheel  │ Executes  a wheel function │
40053                        │       │ on the master              │
40054                        ├───────┼────────────────────────────┤
40055caller │ Runs  a   remote-execution │
40056                        │       │ function  on  a masterless │
40057                        │       │ minion                     │
40058                        └───────┴────────────────────────────┘
40059
40060       NOTE:
40061          The local and caller reaction types will  likely  be  renamed  in  a
40062          future  release. These reaction types were named after Salt's inter‐
40063          nal client interfaces, and are not intuitively named. Both local and
40064          caller will continue to work in Reactor SLS files, however.
40065
40066   Where to Put Reactor SLS Files
40067       Reactor  SLS  files  can  come both from files local to the master, and
40068       from any of backends enabled via the fileserver_backend config  option.
40069       Files  placed  in the Salt fileserver can be referenced using a salt://
40070       URL, just like they can in State SLS files.
40071
40072       It is recommended to place reactor and orchestrator SLS files in  their
40073       own  uniquely-named subdirectories such as orch/, orchestrate/, react/,
40074       reactor/, etc., to keep them organized.
40075
40076   Writing Reactor SLS
40077       The different reaction types were developed separately and have histor‐
40078       ically  had  different  methods for passing arguments. For the 2017.7.2
40079       release a new, unified configuration schema has been introduced,  which
40080       applies to all reaction types.
40081
40082       The  old  config  schema will continue to be supported, and there is no
40083       plan to deprecate it at this time.
40084
40085   Local Reactions
40086       A local reaction runs a remote-execution function on the targeted  min‐
40087       ions.
40088
40089       The  old config schema required the positional and keyword arguments to
40090       be manually separated by the user under arg and kwarg parameters.  How‐
40091       ever,  this is not very user-friendly, as it forces the user to distin‐
40092       guish which type of argument is which, and make  sure  that  positional
40093       arguments  are  ordered  properly.  Therefore, the new config schema is
40094       recommended if the master is running a supported release.
40095
40096       The below two examples are equivalent:
40097
40098     ┌─────────────────────────────────────┬─────────────────────────────────────┐
40099     │Supported in 2017.7.2  and           │ Supported in all releases           │
40100     │later                                │                                     │
40101     ├─────────────────────────────────────┼─────────────────────────────────────┤
40102     │                                     │                                     │
40103     │          install_zsh:               │           install_zsh:              │
40104     │            local.state.single:      │             local.state.single:     │
40105     │              - tgt: 'kernel:Linux'  │               - tgt: 'kernel:Linux' │
40106     │              - tgt_type: grain      │               - tgt_type: grain     │
40107     │              - args:                │               - arg:                │
40108     │                - fun: pkg.installed │                 - pkg.installed     │
40109     │                - name: zsh          │                 - zsh               │
40110     │                - fromrepo: updates  │               - kwarg:              │
40111     │                                     │                   fromrepo: updates │
40112     └─────────────────────────────────────┴─────────────────────────────────────┘
40113
40114       This  reaction  would  be equivalent to running the following Salt com‐
40115       mand:
40116
40117          salt -G 'kernel:Linux' state.single pkg.installed name=zsh fromrepo=updates
40118
40119       NOTE:
40120          Any other parameters in the LocalClient().cmd_async() method can  be
40121          passed at the same indentation level as tgt.
40122
40123       NOTE:
40124          tgt_type  is only required when the target expression defined in tgt
40125          uses a target type other than a minion ID glob.
40126
40127          The tgt_type argument was  named  expr_form  in  releases  prior  to
40128          2017.7.0.
40129
40130   Runner Reactions
40131       Runner reactions execute runner functions locally on the master.
40132
40133       The  old  config  schema  called  for passing arguments to the reaction
40134       directly under the name of the runner function. However, this can cause
40135       unpredictable  interactions  with  the  Reactor system's internal argu‐
40136       ments. It is also possible to pass  positional  and  keyword  arguments
40137       under  arg  and kwarg like above in local reactions, but as noted above
40138       this is not very user-friendly. Therefore, the  new  config  schema  is
40139       recommended if the master is running a supported release.
40140
40141       The below two examples are equivalent:
40142
40143┌────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────┐
40144│Supported  in 2017.7.2 and                              │ Supported in all releases                               │
40145│later                                                   │                                                         │
40146├────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────┤
40147│                                                        │                                                         │
40148│          deploy_app:                                   │           deploy_app:                                   │
40149│            runner.state.orchestrate:                   │             runner.state.orchestrate:                   │
40150│              - args:                                   │               - mods: orchestrate.deploy_app            │
40151│                - mods: orchestrate.deploy_app          │               - kwarg:                                  │
40152│                - pillar:                               │                   pillar:                               │
40153│                    event_tag: {{ tag }}                │                     event_tag: {{ tag }}                │
40154│                    event_data: {{ data['data']|json }} │                     event_data: {{ data['data']|json }} │
40155└────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────┘
40156
40157       Assuming that the event tag is foo, and the data passed to the event is
40158       {'bar': 'baz'}, then this reaction is equivalent to running the follow‐
40159       ing Salt command:
40160
40161          salt-run state.orchestrate mods=orchestrate.deploy_app pillar='{"event_tag": "foo", "event_data": {"bar": "baz"}}'
40162
40163   Wheel Reactions
40164       Wheel reactions run wheel functions locally on the master.
40165
40166       Like runner reactions, the old config schema called for wheel reactions
40167       to  have arguments passed directly under the name of the wheel function
40168       (or in arg or kwarg parameters).
40169
40170       The below two examples are equivalent:
40171
40172┌──────────────────────────────────────────┬─────────────────────────────────────────┐
40173│Supported in 2017.7.2  and                │ Supported in all releases               │
40174│later                                     │                                         │
40175├──────────────────────────────────────────┼─────────────────────────────────────────┤
40176│                                          │                                         │
40177│          remove_key:                     │           remove_key:                   │
40178│            wheel.key.delete:             │             wheel.key.delete:           │
40179│              - args:                     │               - match: {{ data['id'] }} │
40180│                - match: {{ data['id'] }} │                                         │
40181└──────────────────────────────────────────┴─────────────────────────────────────────┘
40182
40183   Caller Reactions
40184       Caller  reactions  run  remote-execution functions on a minion daemon's
40185       Reactor system. To run a Reactor on the minion, it is necessary to con‐
40186       figure  the  Reactor  Engine  in the minion config file, and then setup
40187       your watched events in a reactor section in the minion config  file  as
40188       well.
40189
40190       NOTE:
40191          Masterless Minions use this Reactor
40192
40193          This  is  the only way to run the Reactor if you use masterless min‐
40194          ions.
40195
40196       Both the old and new config schemas involve passing arguments under  an
40197       args parameter. However, the old config schema only supports positional
40198       arguments.  Therefore, the new config schema is recommended if the mas‐
40199       terless minion is running a supported release.
40200
40201       The below two examples are equivalent:
40202
40203         ┌─────────────────────────────────┬────────────────────────────────┐
40204         │Supported  in 2017.7.2 and       │ Supported in all releases      │
40205         │later                            │                                │
40206         ├─────────────────────────────────┼────────────────────────────────┤
40207         │                                 │                                │
40208         │          touch_file:            │           touch_file:          │
40209         │            caller.file.touch:   │             caller.file.touch: │
40210         │              - args:            │               - args:          │
40211         │                - name: /tmp/foo │                 - /tmp/foo     │
40212         └─────────────────────────────────┴────────────────────────────────┘
40213
40214       This reaction is equivalent to running the following Salt command:
40215
40216          salt-call file.touch name=/tmp/foo
40217
40218   Best Practices for Writing Reactor SLS Files
40219       The Reactor works as follows:
40220
40221       1. The Salt Reactor watches Salt's event bus for new events.
40222
40223       2. Each event's tag is matched against the list of event  tags  config‐
40224          ured under the reactor section in the Salt Master config.
40225
40226       3. The  SLS  files  for  any matches are rendered into a data structure
40227          that represents one or more function calls.
40228
40229       4. That data structure is given to a pool of worker threads for  execu‐
40230          tion.
40231
40232       Matching and rendering Reactor SLS files is done sequentially in a sin‐
40233       gle process. For that reason, reactor  SLS  files  should  contain  few
40234       individual reactions (one, if at all possible). Also, keep in mind that
40235       reactions are fired asynchronously (with the exception of  caller)  and
40236       do not support requisites.
40237
40238       Complex  Jinja  templating  that  calls out to slow remote-execution or
40239       runner functions slows down the rendering and causes other reactions to
40240       pile  up  behind the current one. The worker pool is designed to handle
40241       complex and long-running processes like orchestration jobs.
40242
40243       Therefore, when complex tasks are in order, orchestration is a  natural
40244       fit.  Orchestration  SLS files can be more complex, and use requisites.
40245       Performing a complex task using orchestration lets the  Reactor  system
40246       fire  off the orchestration job and proceed with processing other reac‐
40247       tions.
40248
40249   Jinja Context
40250       Reactor SLS files only have access to a minimal Jinja  context.  grains
40251       and  pillar are not available. The salt object is available for calling
40252       remote-execution or runner functions, but it should be  used  sparingly
40253       and only for quick tasks for the reasons mentioned above.
40254
40255       In  addition  to the salt object, the following variables are available
40256       in the Jinja context:
40257
40258       · tag - the tag from the event that triggered execution of the  Reactor
40259         SLS file
40260
40261       · data - the event's data dictionary
40262
40263       The  data  dict will contain an id key containing the minion ID, if the
40264       event was fired from a minion, and  a  data  key  containing  the  data
40265       passed to the event.
40266
40267   Advanced State System Capabilities
40268       Reactor  SLS  files,  by  design,  do not support requisites, ordering,
40269       onlyif/unless conditionals and  most  other  powerful  constructs  from
40270       Salt's State system.
40271
40272       Complex Master-side operations are best performed by Salt's Orchestrate
40273       system so using the Reactor to kick off an Orchestrate run  is  a  very
40274       common pairing.
40275
40276       For example:
40277
40278          # /etc/salt/master.d/reactor.conf
40279          # A custom event containing: {"foo": "Foo!", "bar: "bar*", "baz": "Baz!"}
40280          reactor:
40281            - my/custom/event:
40282              - /srv/reactor/some_event.sls
40283
40284          # /srv/reactor/some_event.sls
40285          invoke_orchestrate_file:
40286            runner.state.orchestrate:
40287              - args:
40288                  - mods: orchestrate.do_complex_thing
40289                  - pillar:
40290                      event_tag: {{ tag }}
40291                      event_data: {{ data|json }}
40292
40293          # /srv/salt/orchestrate/do_complex_thing.sls
40294          {% set tag = salt.pillar.get('event_tag') %}
40295          {% set data = salt.pillar.get('event_data') %}
40296
40297          # Pass data from the event to a custom runner function.
40298          # The function expects a 'foo' argument.
40299          do_first_thing:
40300            salt.runner:
40301              - name: custom_runner.custom_function
40302              - foo: {{ data.foo }}
40303
40304          # Wait for the runner to finish then send an execution to minions.
40305          # Forward some data from the event down to the minion's state run.
40306          do_second_thing:
40307            salt.state:
40308              - tgt: {{ data.bar }}
40309              - sls:
40310                - do_thing_on_minion
40311              - kwarg:
40312                  pillar:
40313                    baz: {{ data.baz }}
40314              - require:
40315                - salt: do_first_thing
40316
40317   Beacons and Reactors
40318       An  event  initiated by a beacon, when it arrives at the master will be
40319       wrapped inside a second event, such that the data object containing the
40320       beacon information will be data['data'], rather than data.
40321
40322       For  example,  to  access the id field of the beacon event in a reactor
40323       file, you will need to reference {{ data['data']['id'] }}  rather  than
40324       {{ data['id'] }} as for events initiated directly on the event bus.
40325
40326       Similarly,  the  data dictionary attached to the event would be located
40327       in {{ data['data']['data'] }} instead of {{ data['data'] }}.
40328
40329       See the beacon documentation for examples.
40330
40331   Manually Firing an Event
40332   From the Master
40333       Use the event.send runner:
40334
40335          salt-run event.send foo '{orchestrate: refresh}'
40336
40337   From the Minion
40338       To fire an event to the master from a minion, call event.send:
40339
40340          salt-call event.send foo '{orchestrate: refresh}'
40341
40342       To fire an event to the minion's local event bus, call event.fire:
40343
40344          salt-call event.fire '{orchestrate: refresh}' foo
40345
40346   Referencing Data Passed in Events
40347       Assuming any of the above examples, any reactor SLS files triggered  by
40348       watching  the  event tag foo will execute with {{ data['data']['orches‐
40349       trate'] }} equal to 'refresh'.
40350
40351   Getting Information About Events
40352       The best way to see exactly what events have been fired and  what  data
40353       is available in each event is to use the state.event runner.
40354
40355       SEE ALSO:
40356          Common Salt Events
40357
40358       Example usage:
40359
40360          salt-run state.event pretty=True
40361
40362       Example output:
40363
40364          salt/job/20150213001905721678/new       {
40365              "_stamp": "2015-02-13T00:19:05.724583",
40366              "arg": [],
40367              "fun": "test.ping",
40368              "jid": "20150213001905721678",
40369              "minions": [
40370                  "jerry"
40371              ],
40372              "tgt": "*",
40373              "tgt_type": "glob",
40374              "user": "root"
40375          }
40376          salt/job/20150213001910749506/ret/jerry {
40377              "_stamp": "2015-02-13T00:19:11.136730",
40378              "cmd": "_return",
40379              "fun": "saltutil.find_job",
40380              "fun_args": [
40381                  "20150213001905721678"
40382              ],
40383              "id": "jerry",
40384              "jid": "20150213001910749506",
40385              "retcode": 0,
40386              "return": {},
40387              "success": true
40388          }
40389
40390   Debugging the Reactor
40391       The best window into the Reactor is to run the master in the foreground
40392       with debug logging enabled. The output will  include  when  the  master
40393       sees  the event, what the master does in response to that event, and it
40394       will also include the rendered SLS file (or any errors generated  while
40395       rendering the SLS file).
40396
40397       1. Stop the master.
40398
40399       2. Start the master manually:
40400
40401             salt-master -l debug
40402
40403       3. Look for log entries in the form:
40404
40405             [DEBUG   ] Gathering reactors for tag foo/bar
40406             [DEBUG   ] Compiling reactions for tag foo/bar
40407             [DEBUG   ] Rendered data from file: /path/to/the/reactor_file.sls:
40408             <... Rendered output appears here. ...>
40409
40410          The rendered output is the result of the Jinja parsing and is a good
40411          way to view the result of referencing Jinja variables. If the result
40412          is  empty  then  Jinja produced an empty result and the Reactor will
40413          ignore it.
40414
40415   Passing Event Data to Minions or Orchestration as Pillar
40416       An interesting trick  to  pass  data  from  the  Reactor  SLS  file  to
40417       state.apply  is  to  pass it as inline Pillar data since both functions
40418       take a keyword argument named pillar.
40419
40420       The following example uses Salt's Reactor to listen for the event  that
40421       is  fired when the key for a new minion is accepted on the master using
40422       salt-key.
40423
40424       /etc/salt/master.d/reactor.conf:
40425
40426          reactor:
40427            - 'salt/key':
40428              - /srv/salt/haproxy/react_new_minion.sls
40429
40430       The Reactor then fires a :state.apply command targeted to  the  HAProxy
40431       servers and passes the ID of the new minion from the event to the state
40432       file via inline Pillar.
40433
40434       /srv/salt/haproxy/react_new_minion.sls:
40435
40436          {% if data['act'] == 'accept' and data['id'].startswith('web') %}
40437          add_new_minion_to_pool:
40438            local.state.apply:
40439              - tgt: 'haproxy*'
40440              - args:
40441                - mods: haproxy.refresh_pool
40442                - pillar:
40443                    new_minion: {{ data['id'] }}
40444          {% endif %}
40445
40446       The above command is equivalent to the following command at the CLI:
40447
40448          salt 'haproxy*' state.apply haproxy.refresh_pool pillar='{new_minion: minionid}'
40449
40450       This works with Orchestrate files as well:
40451
40452          call_some_orchestrate_file:
40453            runner.state.orchestrate:
40454              - args:
40455                - mods: orchestrate.some_orchestrate_file
40456                - pillar:
40457                    stuff: things
40458
40459       Which is equivalent to the following command at the CLI:
40460
40461          salt-run state.orchestrate orchestrate.some_orchestrate_file pillar='{stuff: things}'
40462
40463       Finally, that data is available in the state file using the normal Pil‐
40464       lar  lookup  syntax. The following example is grabbing web server names
40465       and IP addresses from Salt Mine. If this  state  is  invoked  from  the
40466       Reactor  then  the custom Pillar value from above will be available and
40467       the new minion will be added to the pool but with the disabled flag  so
40468       that HAProxy won't yet direct traffic to it.
40469
40470       /srv/salt/haproxy/refresh_pool.sls:
40471
40472          {% set new_minion = salt['pillar.get']('new_minion') %}
40473
40474          listen web *:80
40475              balance source
40476              {% for server,ip in salt['mine.get']('web*', 'network.interfaces', ['eth0']).items() %}
40477              {% if server == new_minion %}
40478              server {{ server }} {{ ip }}:80 disabled
40479              {% else %}
40480              server {{ server }} {{ ip }}:80 check
40481              {% endif %}
40482              {% endfor %}
40483
40484   A Complete Example
40485       In  this example, we're going to assume that we have a group of servers
40486       that will come online at random and need  to  have  keys  automatically
40487       accepted. We'll also add that we don't want all servers being automati‐
40488       cally accepted. For this example, we'll assume that all hosts that have
40489       an  id  that  starts with 'ink' will be automatically accepted and have
40490       state.apply executed. On top of this, we're going to add  that  a  host
40491       coming up that was replaced (meaning a new key) will also be accepted.
40492
40493       Our  master  configuration  will  be  rather  simple.  All minions that
40494       attempte to authenticate will match the tag of salt/auth. When it comes
40495       to  the  minion  key  being  accepted,  we  get a more refined tag that
40496       includes the minion id, which we can use for matching.
40497
40498       /etc/salt/master.d/reactor.conf:
40499
40500          reactor:
40501            - 'salt/auth':
40502              - /srv/reactor/auth-pending.sls
40503            - 'salt/minion/ink*/start':
40504              - /srv/reactor/auth-complete.sls
40505
40506       In this SLS file, we say that if the key was rejected  we  will  delete
40507       the  key  on  the master and then also tell the master to ssh in to the
40508       minion and tell it to restart the minion, since a minion  process  will
40509       die if the key is rejected.
40510
40511       We  also  say  that if the key is pending and the id starts with ink we
40512       will accept the key. A minion that is waiting on  a  pending  key  will
40513       retry authentication every ten seconds by default.
40514
40515       /srv/reactor/auth-pending.sls:
40516
40517          {# Ink server failed to authenticate -- remove accepted key #}
40518          {% if not data['result'] and data['id'].startswith('ink') %}
40519          minion_remove:
40520            wheel.key.delete:
40521              - args:
40522                - match: {{ data['id'] }}
40523          minion_rejoin:
40524            local.cmd.run:
40525              - tgt: salt-master.domain.tld
40526              - args:
40527                - cmd: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "{{ data['id'] }}" 'sleep 10 && /etc/init.d/salt-minion restart'
40528          {% endif %}
40529
40530          {# Ink server is sending new key -- accept this key #}
40531          {% if 'act' in data and data['act'] == 'pend' and data['id'].startswith('ink') %}
40532          minion_add:
40533            wheel.key.accept:
40534              - args:
40535                - match: {{ data['id'] }}
40536          {% endif %}
40537
40538       No if statements are needed here because we already limited this action
40539       to just Ink servers in the master configuration.
40540
40541       /srv/reactor/auth-complete.sls:
40542
40543          {# When an Ink server connects, run state.apply. #}
40544          highstate_run:
40545            local.state.apply:
40546              - tgt: {{ data['id'] }}
40547              - ret: smtp
40548
40549       The above  will  also  return  the  highstate  result  data  using  the
40550       smtp_return  returner (use virtualname like when using from the command
40551       line with --return).  The returner needs to be configured on the minion
40552       for  this  to  work.   See salt.returners.smtp_return documentation for
40553       that.
40554
40555   Syncing Custom Types on Minion Start
40556       Salt will sync all custom types (by  running  a  saltutil.sync_all)  on
40557       every  highstate.  However,  there is a chicken-and-egg issue where, on
40558       the initial highstate, a minion will not yet have  these  custom  types
40559       synced  when  the top file is first compiled. This can be worked around
40560       with a simple reactor which  watches  for  salt/minion/*/start  events,
40561       which  each  minion  fires  when it first starts up and connects to the
40562       master.
40563
40564       On the master, create /srv/reactor/sync_grains.sls with  the  following
40565       contents:
40566
40567          sync_grains:
40568            local.saltutil.sync_grains:
40569              - tgt: {{ data['id'] }}
40570
40571       And in the master config file, add the following reactor configuration:
40572
40573          reactor:
40574            - 'salt/minion/*/start':
40575              - /srv/reactor/sync_grains.sls
40576
40577       This  will  cause the master to instruct each minion to sync its custom
40578       grains when it starts, making these grains available when  the  initial
40579       highstate is executed.
40580
40581       Other  types can be synced by replacing local.saltutil.sync_grains with
40582       local.saltutil.sync_modules, local.saltutil.sync_all, or whatever  else
40583       suits the intended use case.
40584
40585       Also,  if it is not desirable that every minion syncs on startup, the *
40586       can be replaced with a different glob to narrow down the set of minions
40587       which  will  match  that reactor (e.g. salt/minion/appsrv*/start, which
40588       would only match minion IDs beginning with appsrv).
40589

ORCHESTRATION

40591   Orchestrate Runner
40592       Executing states or highstate on a minion is perfect when you  want  to
40593       ensure  that  minion configured and running the way you want. Sometimes
40594       however you want to configure a set of minions all at once.
40595
40596       For example, if you want to set up a load balancer in front of a  clus‐
40597       ter  of  web  servers you can ensure the load balancer is set up first,
40598       and then the same matching configuration is applied consistently across
40599       the whole cluster.
40600
40601       Orchestration is the way to do this.
40602
40603   The Orchestrate Runner
40604       New in version 0.17.0.
40605
40606
40607       NOTE:
40608          Orchestrate Deprecates OverState
40609
40610          The  Orchestrate  Runner  (originally  called  the state.sls runner)
40611          offers all the functionality of the OverState, but with some  advan‐
40612          tages:
40613
40614          · All requisites available in states can be used.
40615
40616          · The states/functions will also work on salt-ssh minions.
40617
40618          The  Orchestrate  Runner  replaced  the  OverState  system  in  Salt
40619          2015.8.0.
40620
40621       The orchestrate runner generalizes the Salt state system to a Salt mas‐
40622       ter  context.  Whereas the state.sls, state.highstate, et al. functions
40623       are concurrently and independently executed on each  Salt  minion,  the
40624       state.orchestrate  runner  is  executed on the master, giving it a mas‐
40625       ter-level view and control over requisites, such as state ordering  and
40626       conditionals.   This  allows for inter minion requisites, like ordering
40627       the application of states on different minions  that  must  not  happen
40628       simultaneously, or for halting the state run on all minions if a minion
40629       fails one of its states.
40630
40631       The state.sls, state.highstate, et al. functions allow  you  to  state‐
40632       fully manage each minion and the state.orchestrate runner allows you to
40633       statefully manage your entire infrastructure.
40634
40635   Writing SLS Files
40636       Orchestrate SLS files are stored in the  same  location  as  State  SLS
40637       files.  This  means  that both file_roots and gitfs_remotes impact what
40638       SLS files are available to the reactor and orchestrator.
40639
40640       It is recommended to keep reactor and orchestrator SLS files  in  their
40641       own uniquely named subdirectories such as _orch/, orch/, _orchestrate/,
40642       react/, _reactor/, etc. This will avoid duplicate naming and will  help
40643       prevent confusion.
40644
40645   Executing the Orchestrate Runner
40646       The  Orchestrate Runner command format is the same as for the state.sls
40647       function, except that since  it  is  a  runner,  it  is  executed  with
40648       salt-run  rather  than salt.  Assuming you have a state.sls file called
40649       /srv/salt/orch/webserver.sls the following command, run on the  master,
40650       will apply the states defined in that file.
40651
40652          salt-run state.orchestrate orch.webserver
40653
40654       NOTE:
40655          state.orch is a synonym for state.orchestrate
40656
40657       Changed  in  version  2014.1.1:  The  runner  function  was  renamed to
40658       state.orchestrate to avoid confusion with the state.sls execution func‐
40659       tion. In versions 0.17.0 through 2014.1.0, state.sls must be used.
40660
40661
40662   Masterless Orchestration
40663       New in version 2016.11.0.
40664
40665
40666       To  support  salt  orchestration on masterless minions, the Orchestrate
40667       Runner is available as an execution module. The syntax  for  masterless
40668       orchestration  is  exactly  the same, but it uses the salt-call command
40669       and the minion configuration must contain the file_mode: local  option.
40670       Alternatively, use salt-call --local on the command line.
40671
40672          salt-call --local state.orchestrate orch.webserver
40673
40674       NOTE:
40675          Masterless  orchestration supports only the salt.state command in an
40676          sls file; it does not (currently) support the salt.function command.
40677
40678   Examples
40679   Function
40680       To execute a function, use salt.function:
40681
40682          # /srv/salt/orch/cleanfoo.sls
40683          cmd.run:
40684            salt.function:
40685              - tgt: '*'
40686              - arg:
40687                - rm -rf /tmp/foo
40688
40689          salt-run state.orchestrate orch.cleanfoo
40690
40691       If you omit the "name" argument, the  ID  of  the  state  will  be  the
40692       default  name,  or  in  the case of salt.function, the execution module
40693       function to run. You can specify the "name" argument to avoid conflict‐
40694       ing IDs:
40695
40696          copy_some_file:
40697            salt.function:
40698              - name: file.copy
40699              - tgt: '*'
40700              - arg:
40701                - /path/to/file
40702                - /tmp/copy_of_file
40703              - kwarg:
40704                  remove_existing: true
40705
40706   Fail Functions
40707       When  running  a  remote  execution  function in orchestration, certain
40708       return values for those functions may indicate failure, while the func‐
40709       tion itself doesn't set a return code. For those circumstances, using a
40710       "fail function" allows for a more flexible means of  assessing  success
40711       or failure.
40712
40713       A  fail  function  can be written as part of a custom execution module.
40714       The function should accept one argument, and return a  boolean  result.
40715       For example:
40716
40717          def check_func_result(retval):
40718              if some_condition:
40719                  return True
40720              else:
40721                  return False
40722
40723       The function can then be referenced in orchestration SLS like so:
40724
40725          do_stuff:
40726            salt.function:
40727              - name: modname.funcname
40728              - tgt: '*'
40729              - fail_function: mymod.check_func_result
40730
40731       IMPORTANT:
40732          Fail  functions  run  on  the  master,  so they must be synced using
40733          salt-run saltutil.sync_modules.
40734
40735   State
40736       To execute a state, use salt.state.
40737
40738          # /srv/salt/orch/webserver.sls
40739          install_nginx:
40740            salt.state:
40741              - tgt: 'web*'
40742              - sls:
40743                - nginx
40744
40745          salt-run state.orchestrate orch.webserver
40746
40747   Highstate
40748       To run a highstate, set highstate: True in your state config:
40749
40750          # /srv/salt/orch/web_setup.sls
40751          webserver_setup:
40752            salt.state:
40753              - tgt: 'web*'
40754              - highstate: True
40755
40756          salt-run state.orchestrate orch.web_setup
40757
40758   Runner
40759       To execute another runner, use salt.runner.  For  example  to  use  the
40760       cloud.profile  runner in your orchestration state additional options to
40761       replace values in the configured profile, use this:
40762
40763          # /srv/salt/orch/deploy.sls
40764          create_instance:
40765            salt.runner:
40766              - name: cloud.profile
40767              - prof: cloud-centos
40768              - provider: cloud
40769              - instances:
40770                - server1
40771              - opts:
40772                  minion:
40773                    master: master1
40774
40775       To get a more dynamic state, use jinja variables together  with  inline
40776       pillar  data.   Using  the same example but passing on pillar data, the
40777       state would be like this.
40778
40779          # /srv/salt/orch/deploy.sls
40780          {% set servers = salt['pillar.get']('servers', 'test') %}
40781          {% set master = salt['pillar.get']('master', 'salt') %}
40782          create_instance:
40783            salt.runner:
40784              - name: cloud.profile
40785              - prof: cloud-centos
40786              - provider: cloud
40787              - instances:
40788                - {{ servers }}
40789              - opts:
40790                  minion:
40791                    master: {{ master }}
40792
40793       To execute with pillar data.
40794
40795          salt-run state.orch orch.deploy pillar='{"servers": "newsystem1",
40796          "master": "mymaster"}'
40797
40798   Return Codes in Runner/Wheel Jobs
40799       New in version 2018.3.0.
40800
40801
40802       State (salt.state) jobs are able to report failure via the state return
40803       dictionary.  Remote  execution  (salt.function) jobs are able to report
40804       failure by setting a retcode key in the  __context__  dictionary.  How‐
40805       ever,  runner  (salt.runner)  and  wheel  (salt.wheel)  jobs would only
40806       report a False result when the runner/wheel function raised  an  excep‐
40807       tion.  As  of the 2018.3.0 release, it is now possible to set a retcode
40808       in runner and wheel functions just as you can do  in  remote  execution
40809       functions. Here is some example pseudocode:
40810
40811          def myrunner():
40812              ...
40813              do stuff
40814              ...
40815              if some_error_condition:
40816                  __context__['retcode'] = 1
40817              return result
40818
40819       This  allows  a  custom  runner/wheel function to report its failure so
40820       that requisites can accurately tell that a job has failed.
40821
40822   More Complex Orchestration
40823       Many states/functions can be configured in a single  file,  which  when
40824       combined  with the full suite of requisites, can be used to easily con‐
40825       figure complex orchestration tasks. Additionally, the  states/functions
40826       will  be  executed  in the order in which they are defined, unless pre‐
40827       vented from doing so by any requisites, as is the default in SLS  files
40828       since 0.17.0.
40829
40830          bootstrap_servers:
40831            salt.function:
40832              - name: cmd.run
40833              - tgt: 10.0.0.0/24
40834              - tgt_type: ipcidr
40835              - arg:
40836                - bootstrap
40837
40838          storage_setup:
40839            salt.state:
40840              - tgt: 'role:storage'
40841              - tgt_type: grain
40842              - sls: ceph
40843              - require:
40844                - salt: webserver_setup
40845
40846          webserver_setup:
40847            salt.state:
40848              - tgt: 'web*'
40849              - highstate: True
40850
40851       Given  the  above  setup, the orchestration will be carried out as fol‐
40852       lows:
40853
40854       1. The shell command bootstrap will be executed on all minions  in  the
40855          10.0.0.0/24 subnet.
40856
40857       2. A  Highstate  will be run on all minions whose ID starts with "web",
40858          since the storage_setup state requires it.
40859
40860       3. Finally, the ceph SLS target will be executed on all  minions  which
40861          have a grain called role with a value of storage.
40862
40863       NOTE:
40864          Remember, salt-run is always executed on the master.
40865
40866   Parsing Results Programmatically
40867       Orchestration  jobs  return  output  in a specific data structure. That
40868       data structure is represented differently depending  on  the  outputter
40869       used.  With  the  default  outputter  for orchestration, you get a nice
40870       human-readable output.  Assume the following orchestration SLS:
40871
40872          good_state:
40873            salt.state:
40874              - tgt: myminion
40875              - sls:
40876              - succeed_with_changes
40877
40878          bad_state:
40879            salt.state:
40880              - tgt: myminion
40881              - sls:
40882              - fail_with_changes
40883
40884          mymod.myfunc:
40885            salt.function:
40886              - tgt: myminion
40887
40888          mymod.myfunc_false_result:
40889            salt.function:
40890              - tgt: myminion
40891
40892       Running this using the default outputter  would  produce  output  which
40893       looks like this:
40894
40895          fa5944a73aa8_master:
40896          ----------
40897                    ID: good_state
40898              Function: salt.state
40899                Result: True
40900               Comment: States ran successfully. Updating myminion.
40901               Started: 21:08:02.681604
40902              Duration: 265.565 ms
40903               Changes:
40904                        myminion:
40905                        ----------
40906                                  ID: test succeed with changes
40907                            Function: test.succeed_with_changes
40908                              Result: True
40909                             Comment: Success!
40910                             Started: 21:08:02.835893
40911                            Duration: 0.375 ms
40912                             Changes:
40913                                      ----------
40914                                      testing:
40915                                          ----------
40916                                          new:
40917                                              Something pretended to change
40918                                          old:
40919                                              Unchanged
40920
40921                        Summary for myminion
40922                        ------------
40923                        Succeeded: 1 (changed=1)
40924                        Failed:    0
40925                        ------------
40926                        Total states run:     1
40927                        Total run time:   0.375 ms
40928          ----------
40929                    ID: bad_state
40930              Function: salt.state
40931                Result: False
40932               Comment: Run failed on minions: myminion
40933               Started: 21:08:02.947702
40934              Duration: 177.01 ms
40935               Changes:
40936                        myminion:
40937                        ----------
40938                                  ID: test fail with changes
40939                            Function: test.fail_with_changes
40940                              Result: False
40941                             Comment: Failure!
40942                             Started: 21:08:03.116634
40943                            Duration: 0.502 ms
40944                             Changes:
40945                                      ----------
40946                                      testing:
40947                                          ----------
40948                                          new:
40949                                              Something pretended to change
40950                                          old:
40951                                              Unchanged
40952
40953                        Summary for myminion
40954                        ------------
40955                        Succeeded: 0 (changed=1)
40956                        Failed:    1
40957                        ------------
40958                        Total states run:     1
40959                        Total run time:   0.502 ms
40960          ----------
40961                    ID: mymod.myfunc
40962              Function: salt.function
40963                Result: True
40964               Comment: Function ran successfully. Function mymod.myfunc ran on myminion.
40965               Started: 21:08:03.125011
40966              Duration: 159.488 ms
40967               Changes:
40968                        myminion:
40969                            True
40970          ----------
40971                    ID: mymod.myfunc_false_result
40972              Function: salt.function
40973                Result: False
40974               Comment: Running function mymod.myfunc_false_result failed on minions: myminion. Function mymod.myfunc_false_result ran on myminion.
40975               Started: 21:08:03.285148
40976              Duration: 176.787 ms
40977               Changes:
40978                        myminion:
40979                            False
40980
40981          Summary for fa5944a73aa8_master
40982          ------------
40983          Succeeded: 2 (changed=4)
40984          Failed:    2
40985          ------------
40986          Total states run:     4
40987          Total run time: 778.850 ms
40988
40989       However,  using the json outputter, you can get the output in an easily
40990       loadable and parsable format:
40991
40992          salt-run state.orchestrate test --out=json
40993
40994          {
40995              "outputter": "highstate",
40996              "data": {
40997                  "fa5944a73aa8_master": {
40998                      "salt_|-good_state_|-good_state_|-state": {
40999                          "comment": "States ran successfully. Updating myminion.",
41000                          "name": "good_state",
41001                          "start_time": "21:35:16.868345",
41002                          "result": true,
41003                          "duration": 267.299,
41004                          "__run_num__": 0,
41005                          "__jid__": "20171130213516897392",
41006                          "__sls__": "test",
41007                          "changes": {
41008                              "ret": {
41009                                  "myminion": {
41010                                      "test_|-test succeed with changes_|-test succeed with changes_|-succeed_with_changes": {
41011                                          "comment": "Success!",
41012                                          "name": "test succeed with changes",
41013                                          "start_time": "21:35:17.022592",
41014                                          "result": true,
41015                                          "duration": 0.362,
41016                                          "__run_num__": 0,
41017                                          "__sls__": "succeed_with_changes",
41018                                          "changes": {
41019                                              "testing": {
41020                                                  "new": "Something pretended to change",
41021                                                  "old": "Unchanged"
41022                                              }
41023                                          },
41024                                          "__id__": "test succeed with changes"
41025                                      }
41026                                  }
41027                              },
41028                              "out": "highstate"
41029                          },
41030                          "__id__": "good_state"
41031                      },
41032                      "salt_|-bad_state_|-bad_state_|-state": {
41033                          "comment": "Run failed on minions: test",
41034                          "name": "bad_state",
41035                          "start_time": "21:35:17.136511",
41036                          "result": false,
41037                          "duration": 197.635,
41038                          "__run_num__": 1,
41039                          "__jid__": "20171130213517202203",
41040                          "__sls__": "test",
41041                          "changes": {
41042                              "ret": {
41043                                  "myminion": {
41044                                      "test_|-test fail with changes_|-test fail with changes_|-fail_with_changes": {
41045                                          "comment": "Failure!",
41046                                          "name": "test fail with changes",
41047                                          "start_time": "21:35:17.326268",
41048                                          "result": false,
41049                                          "duration": 0.509,
41050                                          "__run_num__": 0,
41051                                          "__sls__": "fail_with_changes",
41052                                          "changes": {
41053                                              "testing": {
41054                                                  "new": "Something pretended to change",
41055                                                  "old": "Unchanged"
41056                                              }
41057                                          },
41058                                          "__id__": "test fail with changes"
41059                                      }
41060                                  }
41061                              },
41062                              "out": "highstate"
41063                          },
41064                          "__id__": "bad_state"
41065                      },
41066                      "salt_|-mymod.myfunc_|-mymod.myfunc_|-function": {
41067                          "comment": "Function ran successfully. Function mymod.myfunc ran on myminion.",
41068                          "name": "mymod.myfunc",
41069                          "start_time": "21:35:17.334373",
41070                          "result": true,
41071                          "duration": 151.716,
41072                          "__run_num__": 2,
41073                          "__jid__": "20171130213517361706",
41074                          "__sls__": "test",
41075                          "changes": {
41076                              "ret": {
41077                                  "myminion": true
41078                              },
41079                              "out": "highstate"
41080                          },
41081                          "__id__": "mymod.myfunc"
41082                      },
41083                      "salt_|-mymod.myfunc_false_result-mymod.myfunc_false_result-function": {
41084                          "comment": "Running function mymod.myfunc_false_result failed on minions: myminion. Function mymod.myfunc_false_result ran on myminion.",
41085                          "name": "mymod.myfunc_false_result",
41086                          "start_time": "21:35:17.486625",
41087                          "result": false,
41088                          "duration": 174.241,
41089                          "__run_num__": 3,
41090                          "__jid__": "20171130213517536270",
41091                          "__sls__": "test",
41092                          "changes": {
41093                              "ret": {
41094                                  "myminion": false
41095                              },
41096                              "out": "highstate"
41097                          },
41098                          "__id__": "mymod.myfunc_false_result"
41099                      }
41100                  }
41101              },
41102              "retcode": 1
41103          }
41104
41105       The 2018.3.0 release includes a couple fixes to make parsing this  data
41106       easier and more accurate. The first is the ability to set a return code
41107       in a custom runner or wheel function, as noted above. The second  is  a
41108       change  to  how  failures are included in the return data. Prior to the
41109       2018.3.0 release, minions that failed a  salt.state  orchestration  job
41110       would show up in the comment field of the return data, in a human-read‐
41111       able string that was not easily parsed. They are now  included  in  the
41112       changes  dictionary  alongside the minions that succeeded. In addition,
41113       salt.function jobs which failed  because  the  fail  function  returned
41114       False  used  to  handle  their failures in the same way salt.state jobs
41115       did, and this has likewise been corrected.
41116
41117   Running States on the Master without a Minion
41118       The orchestrate runner can be used to  execute  states  on  the  master
41119       without  using  a  minion. For example, assume that salt://foo.sls con‐
41120       tains the following SLS:
41121
41122          /etc/foo.conf:
41123            file.managed:
41124              - source: salt://files/foo.conf
41125              - mode: 0600
41126
41127       In this case, running  salt-run  state.orchestrate  foo  would  be  the
41128       equivalent of running a state.sls foo, but it would execute on the mas‐
41129       ter only, and would not require a minion daemon to be  running  on  the
41130       master.
41131
41132       This  is not technically orchestration, but it can be useful in certain
41133       use cases.
41134
41135   Limitations
41136       Only one SLS target can be run at a time using this method, while using
41137       state.sls  allows  for multiple SLS files to be passed in a comma-sepa‐
41138       rated list.
41139

SOLARIS

41141       This section contains details on  Solaris  specific  quirks  and  work‐
41142       arounds.
41143
41144       NOTE:
41145          Solaris  refers to both Solaris 10 comaptible platforms like Solaris
41146          10, illumos, SmartOS, OmniOS, OpenIndiana,... and Oracle Solaris  11
41147          platforms.
41148
41149   Solaris-specific Behaviour
41150       Salt  is  capable  of  managing Solaris systems, however due to various
41151       differences between the operating systems, there are  some  things  you
41152       need to keep in mind.
41153
41154       This document will contain any quirks that apply across Salt or limita‐
41155       tions in some modules.
41156
41157   FQDN/UQDN
41158       On Solaris platforms the FQDN will not always be properly detected.  If
41159       an  IPv6  address  is  configured  pythons  `socket.getfqdn()` fails to
41160       return a FQDN and returns the nodename instead. For  a  full  breakdown
41161       see the following issue on github: #37027
41162
41163   Grains
41164       Not  all  grains are available or some have empty or 0 as value. Mostly
41165       grains that are depenend on hardware discovery like: - num_gpus - gpus
41166
41167       Also some resolver related  grains  like:  -  domain  -  dns:options  -
41168       dns:sortlist
41169

SALT SSH

41171   Getting Started
41172       Salt  SSH is very easy to use, simply set up a basic roster file of the
41173       systems to connect to and run salt-ssh commands in  a  similar  way  as
41174       standard salt commands.
41175
41176       · Salt ssh is considered production ready in version 2014.7.0
41177
41178       · Python  is  required on the remote system (unless using the -r option
41179         to send raw ssh commands)
41180
41181       · On many systems, the salt-ssh executable will be in its own  package,
41182         usually named salt-ssh
41183
41184       · The  Salt  SSH system does not supersede the standard Salt communica‐
41185         tion systems, it simply offers an SSH-based alternative that does not
41186         require ZeroMQ and a remote agent. Be aware that since all communica‐
41187         tion with Salt SSH is executed via SSH  it  is  substantially  slower
41188         than standard Salt with ZeroMQ.
41189
41190       · At  the  moment  fileserver operations must be wrapped to ensure that
41191         the relevant files are delivered with  the  salt-ssh  commands.   The
41192         state  module  is  an  exception, which compiles the state run on the
41193         master, and in the process finds all the references to salt://  paths
41194         and  copies  those  files  down in the same tarball as the state run.
41195         However, needed fileserver wrappers are still under development.
41196
41197   Salt SSH Roster
41198       The roster system in Salt  allows  for  remote  minions  to  be  easily
41199       defined.
41200
41201       NOTE:
41202          See the SSH roster docs for more details.
41203
41204       Simply  create  the roster file, the default location is /etc/salt/ros‐
41205       ter:
41206
41207          web1: 192.168.42.1
41208
41209       This is a very basic roster file where a Salt ID is being  assigned  to
41210       an IP address. A more elaborate roster can be created:
41211
41212          web1:
41213            host: 192.168.42.1 # The IP addr or DNS hostname
41214            user: fred         # Remote executions will be executed as user fred
41215            passwd: foobarbaz  # The password to use for login, if omitted, keys are used
41216            sudo: True         # Whether to sudo to root, not enabled by default
41217          web2:
41218            host: 192.168.42.2
41219
41220       NOTE:
41221          sudo  works  only  if NOPASSWD is set for user in /etc/sudoers: fred
41222          ALL=(ALL) NOPASSWD: ALL
41223
41224   Deploy ssh key for salt-ssh
41225       By default, salt-ssh will generate key pairs for ssh, the default  path
41226       will  be /etc/salt/pki/master/ssh/salt-ssh.rsa. The key generation hap‐
41227       pens when you run salt-ssh for the first time.
41228
41229       You can use ssh-copy-id, (the OpenSSH key deployment  tool)  to  deploy
41230       keys to your servers.
41231
41232          ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub user@server.demo.com
41233
41234       One  could also create a simple shell script, named salt-ssh-copy-id.sh
41235       as follows:
41236
41237          #!/bin/bash
41238          if [ -z $1 ]; then
41239             echo $0 user@host.com
41240             exit 0
41241          fi
41242          ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub $1
41243
41244       NOTE:
41245          Be certain to chmod +x salt-ssh-copy-id.sh.
41246
41247          ./salt-ssh-copy-id.sh user@server1.host.com
41248          ./salt-ssh-copy-id.sh user@server2.host.com
41249
41250       Once keys are successfully deployed, salt-ssh can be  used  to  control
41251       them.
41252
41253       Alternatively  ssh  agent forwarding can be used by setting the priv to
41254       agent-forwarding.
41255
41256   Calling Salt SSH
41257       NOTE:
41258          salt-ssh on RHEL/CentOS 5
41259
41260          The salt-ssh command requires at least  python  2.6,  which  is  not
41261          installed  by  default on RHEL/CentOS 5.  An easy workaround in this
41262          situation is to use the -r option to run a raw  shell  command  that
41263          installs python26:
41264
41265              salt-ssh centos-5-minion -r 'yum -y install epel-release ; yum -y install python26'
41266
41267       NOTE:
41268          salt-ssh on systems with Python 3.x
41269
41270          Salt, before the 2017.7.0 release, does not support Python 3.x which
41271          is the default on for example  the  popular  16.04  LTS  release  of
41272          Ubuntu. An easy workaround for this scenario is to use the -r option
41273          similar to the example above:
41274
41275              salt-ssh ubuntu-1604-minion -r 'apt update ; apt install -y python-minimal'
41276
41277       The salt-ssh command can be easily executed in the same way as  a  salt
41278       command:
41279
41280          salt-ssh '*' test.version
41281
41282       Commands with salt-ssh follow the same syntax as the salt command.
41283
41284       The  standard  salt  functions are available! The output is the same as
41285       salt  and  many  of  the  same  flags   are   available.   Please   see
41286       http://docs.saltstack.com/ref/cli/salt-ssh.html  for  all of the avail‐
41287       able options.
41288
41289   Raw Shell Calls
41290       By default salt-ssh runs Salt execution modules on the  remote  system,
41291       but salt-ssh can also execute raw shell commands:
41292
41293          salt-ssh '*' -r 'ifconfig'
41294
41295   States Via Salt SSH
41296       The  Salt State system can also be used with salt-ssh. The state system
41297       abstracts the same interface to the user in salt-ssh as  it  does  when
41298       using standard salt. The intent is that Salt Formulas defined for stan‐
41299       dard salt will work seamlessly with salt-ssh and vice-versa.
41300
41301       The standard Salt States walkthroughs function by simply replacing salt
41302       commands with salt-ssh.
41303
41304   Targeting with Salt SSH
41305       Due  to  the fact that the targeting approach differs in salt-ssh, only
41306       glob and regex targets are supported as of this writing, the  remaining
41307       target systems still need to be implemented.
41308
41309       NOTE:
41310          By  default, Grains are settable through salt-ssh. By default, these
41311          grains will not be persisted across reboots.
41312
41313          See the "thin_dir" setting in Roster documentation for more details.
41314
41315   Configuring Salt SSH
41316       Salt SSH takes its configuration from a master configuration file. Nor‐
41317       mally, this file is in /etc/salt/master. If one wishes to use a custom‐
41318       ized configuration file, the -c option to Salt SSH facilitates  passing
41319       in a directory to look inside for a configuration file named master.
41320
41321   Minion Config
41322       New in version 2015.5.1.
41323
41324
41325       Minion config options can be defined globally using the master configu‐
41326       ration option ssh_minion_opts. It can also be defined on  a  per-minion
41327       basis with the minion_opts entry in the roster.
41328
41329   Running Salt SSH as non-root user
41330       By default, Salt read all the configuration from /etc/salt/. If you are
41331       running Salt SSH with a regular user you have to modify some  paths  or
41332       you  will  get  "Permission  denied"  messages.  You have to modify two
41333       parameters: pki_dir and cachedir. Those should point  to  a  full  path
41334       writable for the user.
41335
41336       It's  recommended  not  to  modify /etc/salt for this purpose. Create a
41337       private copy of /etc/salt for the user and  run  the  command  with  -c
41338       /new/config/path.
41339
41340   Define CLI Options with Saltfile
41341       If  you are commonly passing in CLI options to salt-ssh, you can create
41342       a Saltfile to automatically use these options. This is common if you're
41343       managing several different salt projects on the same server.
41344
41345       So  you  can cd into a directory that has a Saltfile with the following
41346       YAML contents:
41347
41348          salt-ssh:
41349            config_dir: path/to/config/dir
41350            ssh_log_file: salt-ssh.log
41351            ssh_max_procs: 30
41352            ssh_wipe: True
41353
41354       Instead of  having  to  call  salt-ssh  --config-dir=path/to/config/dir
41355       --max-procs=30   --wipe  \*  test.version  you  can  call  salt-ssh  \*
41356       test.version.
41357
41358       Boolean-style options should be specified in their YAML representation.
41359
41360       NOTE:
41361          The option keys specified must match the destination attributes  for
41362          the  options  specified  in the parser salt.utils.parsers.SaltSSHOp‐
41363          tionParser.  For example, in the case of  the  --wipe  command  line
41364          option,  its dest is configured to be ssh_wipe and thus this is what
41365          should be configured in the Saltfile.  Using the names of flags  for
41366          this option, being wipe: True or w: True, will not work.
41367
41368       NOTE:
41369          For  the  Saltfile to be automatically detected it needs to be named
41370          Saltfile with a capital S  and  be  readable  by  the  user  running
41371          salt-ssh.
41372
41373       At last you can create ~/.salt/Saltfile and salt-ssh will automatically
41374       load it by default.
41375
41376   Debugging salt-ssh
41377       One common approach for debugging salt-ssh is to simply use the tarball
41378       that salt ships to the remote machine and call salt-call directly.
41379
41380       To  determine  the  location of salt-call, simply run salt-ssh with the
41381       -ltrace flag and look for a line containing the string, SALT_ARGV. This
41382       contains the salt-call command that salt-ssh attempted to execute.
41383
41384       It is recommended that one modify this command a bit by removing the -l
41385       quiet, --metadata and --output json to get  a  better  idea  of  what's
41386       going on the target system.
41387
41388   Salt Rosters
41389       Salt  rosters  are pluggable systems added in Salt 0.17.0 to facilitate
41390       the salt-ssh system.  The roster system was  created  because  salt-ssh
41391       needs  a means to identify which systems need to be targeted for execu‐
41392       tion.
41393
41394       SEE ALSO:
41395          all-salt.roster
41396
41397       NOTE:
41398          The Roster System is not needed or used in standard Salt because the
41399          master  does not need to be initially aware of target systems, since
41400          the Salt Minion checks itself into the master.
41401
41402       Since the roster system is pluggable, it can  be  easily  augmented  to
41403       attach to any existing systems to gather information about what servers
41404       are presently available and should  be  attached  to  by  salt-ssh.  By
41405       default the roster file is located at /etc/salt/roster.
41406
41407   How Rosters Work
41408       The  roster  system compiles a data structure internally referred to as
41409       targets. The targets is a list of target systems and  attributes  about
41410       how  to connect to said systems. The only requirement for a roster mod‐
41411       ule in Salt is to return the targets data structure.
41412
41413   Targets Data
41414       The information which can be stored in a roster target is  the  follow‐
41415       ing:
41416
41417          <Salt ID>:       # The id to reference the target system with
41418              host:        # The IP address or DNS name of the remote host
41419              user:        # The user to log in as
41420              passwd:      # The password to log in with
41421
41422              # Optional parameters
41423              port:        # The target system's ssh port number
41424              sudo:        # Boolean to run command via sudo
41425              sudo_user:   # Str: Set this to execute Salt as a sudo user other than root.
41426                           # This user must be in the same system group as the remote user
41427                           # that is used to login and is specified above. Alternatively,
41428                           # the user must be a super-user.
41429              tty:         # Boolean: Set this option to True if sudo is also set to
41430                           # True and requiretty is also set on the target system
41431              priv:        # File path to ssh private key, defaults to salt-ssh.rsa
41432                           # The priv can also be set to agent-forwarding to not specify
41433                           # a key, but use ssh agent forwarding
41434              priv_passwd: # Passphrase for ssh private key
41435              timeout:     # Number of seconds to wait for response when establishing
41436                           # an SSH connection
41437              minion_opts: # Dictionary of minion opts
41438              thin_dir:    # The target system's storage directory for Salt
41439                           # components. Defaults to /tmp/salt-<hash>.
41440              cmd_umask:   # umask to enforce for the salt-call command. Should be in
41441                           # octal (so for 0o077 in YAML you would do 0077, or 63)
41442
41443   Target Defaults
41444       The  roster_defaults dictionary in the master config is used to set the
41445       default login variables for minions in the  roster  so  that  the  same
41446       arguments do not need to be passed with commandline arguments.
41447
41448          roster_defaults:
41449            user: daniel
41450            sudo: True
41451            priv: /root/.ssh/id_rsa
41452            tty: True
41453
41454   thin_dir
41455       Salt needs to upload a standalone environment to the target system, and
41456       this defaults to /tmp/salt-<hash>. This directory will  be  cleaned  up
41457       per normal systems operation.
41458
41459       If  you need a persistent Salt environment, for instance to set persis‐
41460       tent grains, this value will need to be changed.
41461

THORIUM COMPLEX REACTOR

41463       The original Salt Reactor is based on the idea of listening for a  spe‐
41464       cific event and then reacting to it. This model comes with many logical
41465       limitations, for instance it is very difficult (and hacky)  to  fire  a
41466       reaction based on aggregate data or based on multiple events.
41467
41468       The  Thorium  reactor  is  intended to alleviate this problem in a very
41469       elegant way.  Instead of using  extensive  jinja  routines  or  complex
41470       python  sls files the aggregation of data and the determination of what
41471       should run becomes isolated to the sls data logic,  makes  the  defini‐
41472       tions much cleaner.
41473
41474   Starting the Thorium Engine
41475       To  enable  the  thorium  engine add the following configuration to the
41476       engines section of your Salt Master or Minion  configuration  file  and
41477       restart the daemon:
41478
41479          engines:
41480            - thorium: {}
41481
41482   Thorium Modules
41483       Because of its specialized nature, Thorium uses its own set of modules.
41484       However, many of these modules are  designed  to  wrap  the  more  com‐
41485       monly-used Salt subsystems. These modules are:
41486
41487       · local: Execution modules
41488
41489       · runner: Runner modules
41490
41491       · wheel: Wheel modules
41492
41493       There  are  other modules that ship with Thorium as well. Some of these
41494       will be highlighted later in this document.
41495
41496   Writing Thorium Formulas
41497       Like some other Salt subsystems, Thorium uses its own directory  struc‐
41498       ture.  The default location for this structure is /srv/thorium/, but it
41499       can be changed using the thorium_roots setting in the master configura‐
41500       tion file.
41501
41502       This would explicitly set the roots to the default:
41503
41504          thorium_roots:
41505            base:
41506              - /srv/thorium
41507
41508       Example thorium_roots configuration:
41509
41510          thorium_roots:
41511            base:
41512              - /etc/salt/thorium
41513
41514       It  is also possible to use gitfs with Thorium, using the thoriumenv or
41515       thorium_top settings.
41516
41517       Example using thorium_top:
41518
41519          thorium_top: salt://thorium/top.sls
41520          gitfs_provider: pygit2
41521
41522          gitfs_remotes:
41523            - git@github.com:user/repo.git:
41524              - name: salt-backend
41525              - root: salt
41526              - base: master
41527            - git@github.com:user/repo.git:
41528              - name: thorium-backend
41529              - root: thorium
41530              - base: master
41531              - mountpoint: salt://thorium
41532
41533       NOTE:
41534          When using this method don't forget to  prepend  the  mountpoint  to
41535          files served by this repo, for example top.sls:
41536
41537              base:
41538                '*':
41539                  - thorium.key_clean
41540
41541       Example using thoriumenv:
41542
41543          thoriumenv: thorium
41544          gitfs_provider: pygit2
41545
41546          gitfs_remotes:
41547            - git@github.com:user/repo.git:
41548              - name: salt-backend
41549              - root: salt
41550              - base: master
41551            - git@github.com:user/repo.git:
41552              - name: thorium-backend
41553              - root: thorium
41554              - saltenv:
41555                - thorium:
41556                  - ref: master
41557
41558       NOTE:
41559          When using this method all state will run under the defined environ‐
41560          ment, for example top.sls:
41561
41562              thorium:
41563                '*':
41564                  - key_clean
41565
41566   The Thorium top.sls File
41567       Thorium uses its own top.sls file, which follows the same convention as
41568       is found in /srv/salt/:
41569
41570          <srv>:
41571            <target>:
41572              - <formula 1>
41573              - <formula 2>
41574              - <etc...>
41575
41576       For  instance, a top.sls using a standard base environment and a single
41577       Thorium formula called key_clean, would look like:
41578
41579          base:
41580            '*':
41581              - key_clean
41582
41583       Take note that the target in a Thorium top.sls is  not  used;  it  only
41584       exists to follow the same convention as other top.sls files. Leave this
41585       set to '*' in your own Thorium top.sls.
41586
41587   Thorium Formula Files
41588       Thorium SLS files are processed by the same state  compiler  that  pro‐
41589       cesses Salt state files. This means that features like requisites, tem‐
41590       plates, and so on are available.
41591
41592       Let's take a look at an example, and then discuss each component of it.
41593       This  formula  uses Thorium to detect when a minion has disappeared and
41594       then deletes the key from the master when the minion has been gone  for
41595       60 seconds:
41596
41597          statreg:
41598            status.reg
41599
41600          keydel:
41601            key.timeout:
41602              - delete: 60
41603              - require:
41604                - status: statreg
41605
41606       There  are  two stanzas in this formula, whose IDs are statreg and key‐
41607       del. The first stanza, statreg, tells Thorium to keep track  of  minion
41608       status beacons in its register. We'll talk more about the register in a
41609       moment.
41610
41611       The second stanza, keydel, is the one that does the real work. It  uses
41612       the key module to apply an expiration (using the timeout function) to a
41613       minion. Because delete is set to 60, this is a 60 second expiration. If
41614       a minion does not check in at least once every 60 seconds, its key will
41615       be deleted from the master. This particular function also allows you to
41616       use  reject  instead  of  delete,  allowing for a minion to be rejected
41617       instead of deleted if it does not check in within  the  specified  time
41618       period.
41619
41620       There  is  also  a require requisite in this stanza. It states that the
41621       key.timeout function will not be called unless the status.reg  function
41622       in the statreg codeblock has been successfully called first.
41623
41624   Thorium Links to Beacons
41625       The  above example was added in the 2016.11.0 release of Salt and makes
41626       use of the status beacon also added in the 2016.11.0 release.  For  the
41627       above  Thorium  state to function properly you will also need to enable
41628       the status beacon in the minion configuration file:
41629
41630          beacons:
41631            status:
41632              - interval: 10
41633
41634       This will cause the minion to use the status beacon to  check  in  with
41635       the master every 10 seconds.
41636
41637   The Thorium Register
41638       In order to keep track of information, Thorium uses an in-memory regis‐
41639       ter (or rather, collection of registers) on the master. These registers
41640       are only populated when told to by a formula, and they normally will be
41641       erased when the master is restarted. It is possible to persist the reg‐
41642       isters to disk, but we'll get to that in a moment.
41643
41644       The example above uses status.reg to populate a register for you, which
41645       is automatically used by the key.timeout function. However, you can set
41646       your own register values as well, using the reg module.
41647
41648       Because  Thorium  watches  the event bus, the reg module is designed to
41649       look for user-specified tags, and then extract data from the payload of
41650       events  that  match those tags. For instance, the following stanza will
41651       look for an event with a tag of my/custom/event:
41652
41653          foo:
41654            reg.list:
41655              - add: bar
41656              - match: my/custom/event
41657
41658       When such an event is found, the data found in the  payload  dictionary
41659       key  of bar will be stored in a register called foo. This register will
41660       store that data in a list. You may also use reg.set to add  data  to  a
41661       set() instead.
41662
41663       If you would like to see a copy of the register as it is stored in mem‐
41664       ory, you can use the file.save function:
41665
41666          myreg:
41667            file.save
41668
41669       In this case, each time the register is updated, a copy will  be  saved
41670       in  JSON  format  at /var/cache/salt/master/thorium/saves/myreg. If you
41671       would like to see when particular events are added to a list-type  reg‐
41672       ister,  you  may add a stamp option to reg.list (but not reg.set). With
41673       the above two stanzas put together, this would look like:
41674
41675          foo:
41676            reg.list:
41677              - add: bar
41678              - match: my/custom/event
41679              - stamp: True
41680
41681          myreg:
41682            file.save
41683
41684       If you would like to only keep a certain number of the most recent reg‐
41685       ister  entries,  you  may  also add a prune option to reg.list (but not
41686       reg.set):
41687
41688          foo:
41689            reg.list:
41690              - add: bar
41691              - match: my/custom/event
41692              - stamp: True
41693              - prune: 50
41694
41695       This example will only keep the 50 most recent entries in the foo  reg‐
41696       ister.
41697
41698   Using Register Data
41699       Putting data in a register is useless if you don't do anything with it.
41700       The check module is designed to examine  register  data  and  determine
41701       whether  it  matches the given parameters. For instance, the check.con‐
41702       tains function will return True if the given value is contained in  the
41703       specified register:
41704
41705          foo:
41706            reg.list:
41707              - add: bar
41708              - match: my/custom/event
41709              - stamp: True
41710              - prune: 50
41711            check.contains:
41712              - value: somedata
41713
41714       Used  with  a require requisite, we can call one of the wrapper modules
41715       and perform an operation. For example:
41716
41717          shell_test:
41718            local.cmd:
41719              - tgt: dufresne
41720              - func: cmd.run
41721              - arg:
41722                - echo 'thorium success' > /tmp/thorium.txt
41723              - require:
41724                - check: foo
41725
41726       This stanza will only run if the check.contains function under the  foo
41727       ID returns true (meaning the match was found).
41728
41729       There  are  a  number  of other functions in the check module which use
41730       different means of comparing values:
41731
41732       · gt: Check whether the register entry is greater than the given value
41733
41734       · gte: Check whether the register entry is greater than or equal to the
41735         given value
41736
41737       · lt: Check whether the register entry is less than the given value
41738
41739       · lte:  Check  whether  the register entry is less than or equal to the
41740         given value
41741
41742       · eq: Check whether the register entry is equal to the given value
41743
41744       · ne: Check whether the register entry is not equal to the given value
41745
41746       There is also a function called check.event which does not examine  the
41747       register.  Instead, it looks directly at an event as it is coming in on
41748       the event bus, and returns True if that event's tag matches. For  exam‐
41749       ple:
41750
41751          salt/foo/*/bar:
41752            check.event
41753
41754          run_remote_ex:
41755            local.cmd:
41756              - tgt: '*'
41757              - func: test.version
41758              - require:
41759                - check: salt/foo/*/bar
41760
41761       This  formula  will  look  for  an  event  whose  tag is salt/foo/<any‐
41762       thing>/bar and if it comes in, issue a test.version to all minions.
41763
41764   Register Persistence
41765       It is possible to persist the register data to disk when  a  master  is
41766       stopped  gracefully,  and reload it from disk when the master starts up
41767       again. This functionality is provided by the returner subsystem, and is
41768       enabled  whenever  any  returner  containing  a load_reg and a save_reg
41769       function is used.
41770

SALT CLOUD

41772   Configuration
41773       Salt Cloud provides a powerful interface to interact with cloud  hosts.
41774       This  interface  is  tightly  integrated  with  Salt,  and  new virtual
41775       machines are automatically connected to your  Salt  master  after  cre‐
41776       ation.
41777
41778       Since Salt Cloud is designed to be an automated system, most configura‐
41779       tion is done using the following YAML configuration files:
41780
41781       · /etc/salt/cloud: The main configuration file,  contains  global  set‐
41782         tings that apply to all cloud hosts. See Salt Cloud Configuration.
41783
41784       · /etc/salt/cloud.providers.d/*.conf:  Contains settings that configure
41785         a specific cloud host, such as credentials, region settings,  and  so
41786         on. Since configuration varies significantly between each cloud host,
41787         a separate file should be created for each cloud host. In Salt Cloud,
41788         a  provider  is synonymous with a cloud host (Amazon EC2, Google Com‐
41789         pute Engine, Rackspace, and so on).  See Provider Specifics.
41790
41791       · /etc/salt/cloud.profiles.d/*.conf: Contains settings  that  define  a
41792         specific  VM type. A profile defines the systems specs and image, and
41793         any other settings that are specific to this VM type.  Each  specific
41794         VM  type is called a profile, and multiple profiles can be defined in
41795         a profile file.  Each  profile  references  a  parent  provider  that
41796         defines  the cloud host in which the VM is created (the provider set‐
41797         tings are in the provider configuration explained above).   Based  on
41798         your  needs,  you  might  define  different profiles for web servers,
41799         database servers, and so on. See VM Profiles.
41800
41801   Configuration Inheritance
41802       Configuration settings are inherited in order from the cloud config  =>
41803       providers => profile.  [image]
41804
41805       For  example,  if  you  wanted  to  use  the same image for all virtual
41806       machines for a specific provider, the image name could be placed in the
41807       provider  file.  This  value is inherited by all profiles that use that
41808       provider, but is overridden if a image name is defined in the profile.
41809
41810       Most configuration settings can be defined in any file, the  main  dif‐
41811       ference being how that setting is inherited.
41812
41813   QuickStart
41814       The  Salt  Cloud Quickstart walks you through defining a provider, a VM
41815       profile, and shows you how to create virtual machines using Salt Cloud.
41816
41817       Note that if you installed Salt via Salt Bootstrap,  it  may  not  have
41818       automatically  installed  salt-cloud  for  you. Use your distribution's
41819       package manager to install the salt-cloud package from  the  same  repo
41820       that you used to install Salt.  These repos will automatically be setup
41821       by Salt Bootstrap.
41822
41823       Alternatively, the -L option can be passed to the Salt Bootstrap script
41824       when  installing  Salt.  The  -L option will install salt-cloud and the
41825       required libcloud package.
41826
41827   Using Salt Cloud
41828   salt-cloud
41829       Provision virtual machines in the cloud with Salt
41830
41831   Synopsis
41832          salt-cloud -m /etc/salt/cloud.map
41833
41834          salt-cloud -m /etc/salt/cloud.map NAME
41835
41836          salt-cloud -m /etc/salt/cloud.map NAME1 NAME2
41837
41838          salt-cloud -p PROFILE NAME
41839
41840          salt-cloud -p PROFILE NAME1 NAME2 NAME3 NAME4 NAME5 NAME6
41841
41842   Description
41843       Salt Cloud is the system used to provision virtual machines on  various
41844       public clouds via a cleanly controlled profile and mapping system.
41845
41846   Options
41847       --version
41848              Print the version of Salt that is running.
41849
41850       --versions-report
41851              Show program's dependencies and version number, and then exit
41852
41853       -h, --help
41854              Show the help message and exit
41855
41856       -c CONFIG_DIR, --config-dir=CONFIG_dir
41857              The location of the Salt configuration directory. This directory
41858              contains the configuration files for Salt  master  and  minions.
41859              The default location on most systems is /etc/salt.
41860
41861   Execution Options
41862       -L LOCATION, --location=LOCATION
41863              Specify which region to connect to.
41864
41865       -a ACTION, --action=ACTION
41866              Perform  an  action that may be specific to this cloud provider.
41867              This argument requires one or more instance names to  be  speci‐
41868              fied.
41869
41870       -f <FUNC-NAME> <PROVIDER>, --function=<FUNC-NAME> <PROVIDER>
41871              Perform an function that may be specific to this cloud provider,
41872              that does not apply to an instance.  This  argument  requires  a
41873              provider to be specified (i.e.: nova).
41874
41875       -p PROFILE, --profile=PROFILE
41876              Select  a  single profile to build the named cloud VMs from. The
41877              profile must be defined in the specified profiles file.
41878
41879       -m MAP, --map=MAP
41880              Specify a map file to use. If used without  any  other  options,
41881              this  option will ensure that all of the mapped VMs are created.
41882              If the named VM already exists then it will be skipped.
41883
41884       -H, --hard
41885              When specifying a map file, the default behavior  is  to  ensure
41886              that  all  of  the VMs specified in the map file are created. If
41887              the --hard option is set, then any VMs that exist on  configured
41888              cloud  providers  that are not specified in the map file will be
41889              destroyed. Be advised that this can be a  destructive  operation
41890              and should be used with care.
41891
41892       -d, --destroy
41893              Pass  in  the  name(s) of VMs to destroy, salt-cloud will search
41894              the configured cloud  providers  for  the  specified  names  and
41895              destroy the VMs. Be advised that this is a destructive operation
41896              and should be used with care. Can be used  in  conjunction  with
41897              the -m option to specify a map of VMs to be deleted.
41898
41899       -P, --parallel
41900              Normally  when  building  many cloud VMs they are executed seri‐
41901              ally. The -P option will run each cloud vm build in  a  separate
41902              process allowing for large groups of VMs to be build at once.
41903
41904              Be  advised  that some cloud provider's systems don't seem to be
41905              well suited for this influx of vm creation. When creating  large
41906              groups of VMs watch the cloud provider carefully.
41907
41908       -u, --update-bootstrap
41909              Update salt-bootstrap to the latest stable bootstrap release.
41910
41911       -y, --assume-yes
41912              Default yes in answer to all confirmation questions.
41913
41914       -k, --keep-tmp
41915              Do not remove files from /tmp/ after deploy.sh finishes.
41916
41917       --show-deploy-args
41918              Include  the  options  used  to  deploy  the  minion in the data
41919              returned.
41920
41921       --script-args=SCRIPT_ARGS
41922              Script arguments to be fed to the bootstrap script when  deploy‐
41923              ing the VM.
41924
41925   Query Options
41926       -Q, --query
41927              Execute a query and return some information about the nodes run‐
41928              ning on configured cloud providers
41929
41930       -F, --full-query
41931              Execute a query and print out all  available  information  about
41932              all  cloud  VMs.   Can be used in conjunction with -m to display
41933              only information about the specified map.
41934
41935       -S, --select-query
41936              Execute a query and print out  selected  information  about  all
41937              cloud  VMs.   Can be used in conjunction with -m to display only
41938              information about the specified map.
41939
41940       --list-providers
41941              Display a list of configured providers.
41942
41943       --list-profiles
41944              New in version 2014.7.0.
41945
41946
41947              Display a list of configured profiles. Pass in a cloud  provider
41948              to  view  the  provider's associated profiles, such as digitalo‐
41949              cean, or pass in all to list all the configured profiles.
41950
41951   Cloud Providers Listings
41952       --list-locations=LIST_LOCATIONS
41953              Display a  list  of  locations  available  in  configured  cloud
41954              providers.  Pass the cloud provider that available locations are
41955              desired on, such as "linode", or pass "all"  to  list  locations
41956              for all configured cloud providers
41957
41958       --list-images=LIST_IMAGES
41959              Display   a   list  of  images  available  in  configured  cloud
41960              providers. Pass the cloud provider  that  available  images  are
41961              desired  on,  such as "linode", or pass "all" to list images for
41962              all configured cloud providers
41963
41964       --list-sizes=LIST_SIZES
41965              Display a list of sizes available in configured cloud providers.
41966              Pass  the  cloud  provider  that available sizes are desired on,
41967              such as "AWS", or pass "all" to list sizes  for  all  configured
41968              cloud providers
41969
41970   Cloud Credentials
41971       --set-password=<USERNAME> <PROVIDER>
41972              Configure  password  for  a  cloud  provider  and save it to the
41973              keyring.  PROVIDER can be specified with or  without  a  driver,
41974              for  example:  "--set-password  bob  rackspace" or more specific
41975              "--set-password bob rackspace:openstack" DEPRECATED!
41976
41977   Output Options
41978       --out  Pass in an alternative outputter to display the return of  data.
41979              This outputter can be any of the available outputters:
41980                 highstate, json, key, overstatestage, pprint, raw, txt, yaml,
41981                 and many others.
41982
41983              Some outputters are formatted only for data returned  from  spe‐
41984              cific  functions.  If an outputter is used that does not support
41985              the data passed into it, then Salt will fall back on the  pprint
41986              outputter  and  display  the return data using the Python pprint
41987              standard library module.
41988
41989       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
41990              Print the output indented by the provided value in spaces. Nega‐
41991              tive  values  disable indentation. Only applicable in outputters
41992              that support indentation.
41993
41994       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
41995              Write the output to the specified file.
41996
41997       --out-file-append, --output-file-append
41998              Append the output to the specified file.
41999
42000       --no-color
42001              Disable all colored output
42002
42003       --force-color
42004              Force colored output
42005
42006              NOTE:
42007                 When using colored output the color codes are as follows:
42008
42009                 green denotes success,  red  denotes  failure,  blue  denotes
42010                 changes  and  success  and  yellow  denotes a expected future
42011                 change in configuration.
42012
42013       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
42014              Override the configured state_output value  for  minion  output.
42015              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
42016              'none'.
42017
42018       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
42019              Override the configured state_verbose value for  minion  output.
42020              Set to True or False. Default: none.
42021
42022   Examples
42023       To create 4 VMs named web1, web2, db1, and db2 from specified profiles:
42024
42025          salt-cloud -p fedora_rackspace web1 web2 db1 db2
42026
42027       To read in a map file and create all VMs specified therein:
42028
42029          salt-cloud -m /path/to/cloud.map
42030
42031       To read in a map file and create all VMs specified therein in parallel:
42032
42033          salt-cloud -m /path/to/cloud.map -P
42034
42035       To delete any VMs specified in the map file:
42036
42037          salt-cloud -m /path/to/cloud.map -d
42038
42039       To delete any VMs NOT specified in the map file:
42040
42041          salt-cloud -m /path/to/cloud.map -H
42042
42043       To display the status of all VMs specified in the map file:
42044
42045          salt-cloud -m /path/to/cloud.map -Q
42046
42047   See also
42048       salt-cloud(7) salt(7) salt-master(1) salt-minion(1)
42049
42050   Salt Cloud basic usage
42051       Salt  Cloud  needs, at least, one configured Provider and Profile to be
42052       functional.
42053
42054   Creating a VM
42055       To create a VM with salt cloud, use command:
42056
42057          salt-cloud -p <profile> name_of_vm
42058
42059       Assuming there is a profile configured as following:
42060
42061          fedora_rackspace:
42062              provider: my-rackspace-config
42063              image: Fedora 17
42064              size: 256 server
42065              script: bootstrap-salt
42066
42067       Then, the command to create new VM named fedora_http_01 is:
42068
42069          salt-cloud -p fedora_rackspace fedora_http_01
42070
42071   Destroying a VM
42072       To destroy a created-by-salt-cloud VM, use command:
42073
42074          salt-cloud -d name_of_vm
42075
42076       For example, to delete the VM created on above example, use:
42077
42078          salt-cloud -d fedora_http_01
42079
42080   VM Profiles
42081       Salt cloud designates virtual machines inside the profile configuration
42082       file.   The profile configuration file defaults to /etc/salt/cloud.pro‐
42083       files and is a yaml configuration. The syntax for declaring profiles is
42084       simple:
42085
42086          fedora_rackspace:
42087              provider: my-rackspace-config
42088              image: Fedora 17
42089              size: 256 server
42090              script: bootstrap-salt
42091
42092       It  should  be noted that the script option defaults to bootstrap-salt,
42093       and does not normally need to be specified. Further  examples  in  this
42094       document will not show the script option.
42095
42096       A  few  key  pieces  of  information need to be declared and can change
42097       based on the cloud provider. A number of additional parameters can also
42098       be inserted:
42099
42100          centos_rackspace:
42101            provider: my-rackspace-config
42102            image: CentOS 6.2
42103            size: 1024 server
42104            minion:
42105              master: salt.example.com
42106              append_domain: webs.example.com
42107              grains:
42108                role: webserver
42109
42110       The image must be selected from available images. Similarly, sizes must
42111       be selected from the list of sizes. To get a list of  available  images
42112       and sizes use the following command:
42113
42114          salt-cloud --list-images openstack
42115          salt-cloud --list-sizes openstack
42116
42117       Some  parameters  can be specified in the main Salt cloud configuration
42118       file and then are applied to all cloud profiles. For instance if only a
42119       single  cloud  provider  is  being used then the provider option can be
42120       declared in the Salt cloud configuration file.
42121
42122   Multiple Configuration Files
42123       In addition to /etc/salt/cloud.profiles, profiles can also be specified
42124       in  any  file  matching cloud.profiles.d/*conf which is a sub-directory
42125       relative to the profiles configuration file(with the  above  configura‐
42126       tion  file  as  an  example,  /etc/salt/cloud.profiles.d/*.conf).  This
42127       allows for more extensible configuration, and plays nicely with various
42128       configuration management tools as well as version control systems.
42129
42130   Larger Example
42131          rhel_ec2:
42132            provider: my-ec2-config
42133            image: ami-e565ba8c
42134            size: t1.micro
42135            minion:
42136              cheese: edam
42137
42138          ubuntu_ec2:
42139            provider: my-ec2-config
42140            image: ami-7e2da54e
42141            size: t1.micro
42142            minion:
42143              cheese: edam
42144
42145          ubuntu_rackspace:
42146            provider: my-rackspace-config
42147            image: Ubuntu 12.04 LTS
42148            size: 256 server
42149            minion:
42150              cheese: edam
42151
42152          fedora_rackspace:
42153            provider: my-rackspace-config
42154            image: Fedora 17
42155            size: 256 server
42156            minion:
42157              cheese: edam
42158
42159          cent_linode:
42160            provider: my-linode-config
42161            image: CentOS 6.2 64bit
42162            size: Linode 512
42163
42164          cent_gogrid:
42165            provider: my-gogrid-config
42166            image: 12834
42167            size: 512MB
42168
42169          cent_joyent:
42170            provider: my-joyent-config
42171            image: centos-7
42172            size: g4-highram-16G
42173
42174   Cloud Map File
42175       A  number  of options exist when creating virtual machines. They can be
42176       managed directly from profiles and the command  line  execution,  or  a
42177       more  complex map file can be created. The map file allows for a number
42178       of virtual machines to be created and  associated  with  specific  pro‐
42179       files.  The  map  file  is designed to be run once to create these more
42180       complex scenarios using salt-cloud.
42181
42182       Map files have a simple format, specify a profile and then  a  list  of
42183       virtual machines to make from said profile:
42184
42185          fedora_small:
42186            - web1
42187            - web2
42188            - web3
42189          fedora_high:
42190            - redis1
42191            - redis2
42192            - redis3
42193          cent_high:
42194            - riak1
42195            - riak2
42196            - riak3
42197
42198       This  map  file  can  then  be  called to roll out all of these virtual
42199       machines. Map files are called from the salt-cloud command with the  -m
42200       option:
42201
42202          $ salt-cloud -m /path/to/mapfile
42203
42204       Remember, that as with direct profile provisioning the -P option can be
42205       passed to create the virtual machines in parallel:
42206
42207          $ salt-cloud -m /path/to/mapfile -P
42208
42209       NOTE:
42210          Due to limitations in the GoGrid API,  instances  cannot  be  provi‐
42211          sioned  in parallel with the GoGrid driver. Map files will work with
42212          GoGrid, but the -P argument should not be used on  maps  referencing
42213          GoGrid instances.
42214
42215       A map file can also be enforced to represent the total state of a cloud
42216       deployment by using the --hard option. When using the hard  option  any
42217       vms that exist but are not specified in the map file will be destroyed:
42218
42219          $ salt-cloud -m /path/to/mapfile -P -H
42220
42221       Be  careful with this argument, it is very dangerous! In fact, it is so
42222       dangerous that in order to use it, you must explicitly enable it in the
42223       main configuration file.
42224
42225          enable_hard_maps: True
42226
42227       A map file can include grains and minion configuration options:
42228
42229          fedora_small:
42230            - web1:
42231                minion:
42232                  log_level: debug
42233                grains:
42234                  cheese: tasty
42235                  omelet: du fromage
42236            - web2:
42237                minion:
42238                  log_level: warn
42239                grains:
42240                  cheese: more tasty
42241                  omelet: with peppers
42242
42243       Any  top  level data element from your profile may be overridden in the
42244       map file:
42245
42246          fedora_small:
42247            - web1:
42248                size: t2.micro
42249            - web2:
42250                size: t2.nano
42251
42252       As of Salt 2017.7.0, nested elements are merged, and can can be  speci‐
42253       fied  individually without having to repeat the complete definition for
42254       each top level data element. In this example a separate MAC is assigned
42255       to each VMware instance while inheriting device parameters for for disk
42256       and network configuration:
42257
42258          nyc-vm:
42259            - db1:
42260                devices:
42261                  network:
42262                    Network Adapter 1:
42263                      mac: '44:44:44:44:44:41'
42264            - db2:
42265                devices:
42266                  network:
42267                    Network Adapter 1:
42268                      mac: '44:44:44:44:44:42'
42269
42270       A map file may also be used with the various query options:
42271
42272          $ salt-cloud -m /path/to/mapfile -Q
42273          {'ec2': {'web1': {'id': 'i-e6aqfegb',
42274                               'image': None,
42275                               'private_ips': [],
42276                               'public_ips': [],
42277                               'size': None,
42278                               'state': 0}},
42279                   'web2': {'Absent'}}
42280
42281       ...or with the delete option:
42282
42283          $ salt-cloud -m /path/to/mapfile -d
42284          The following virtual machines are set to be destroyed:
42285            web1
42286            web2
42287
42288          Proceed? [N/y]
42289
42290       WARNING:
42291          Specifying Nodes with Maps on the Command Line Specifying  the  name
42292          of  a node or nodes with the maps options on the command line is not
42293          supported. This is  especially  important  to  remember  when  using
42294          --destroy  with maps; salt-cloud will ignore any arguments passed in
42295          which are  not  directly  relevant  to  the  map  file.  When  using
42296          ``--destroy``  with  a  map,  every  node  in  the  map file will be
42297          deleted!  Maps don't provide any useful information  for  destroying
42298          individual  nodes,  and  should not be used to destroy a subset of a
42299          map.
42300
42301   Setting up New Salt Masters
42302       Bootstrapping a new master in the map is as simple as:
42303
42304          fedora_small:
42305            - web1:
42306                make_master: True
42307            - web2
42308            - web3
42309
42310       Notice that ALL bootstrapped minions from the map will  answer  to  the
42311       newly created salt-master.
42312
42313       To  make  any  of  the bootstrapped minions answer to the bootstrapping
42314       salt-master as opposed to the newly created salt-master, as an example:
42315
42316          fedora_small:
42317            - web1:
42318                make_master: True
42319                minion:
42320                  master: <the local master ip address>
42321                  local_master: True
42322            - web2
42323            - web3
42324
42325       The above says the minion running  on  the  newly  created  salt-master
42326       responds  to  the  local master, ie, the master used to bootstrap these
42327       VMs.
42328
42329       Another example:
42330
42331          fedora_small:
42332            - web1:
42333                make_master: True
42334            - web2
42335            - web3:
42336                minion:
42337                  master: <the local master ip address>
42338                  local_master: True
42339
42340       The above example makes the web3 minion answer to the local master, not
42341       the newly created master.
42342
42343   Using Direct Map Data
42344       When  using  modules that access the CloudClient directly (notably, the
42345       cloud execution and runner modules), it is possible to pass in the con‐
42346       tents  of  a  map  file,  rather than a path to the location of the map
42347       file.
42348
42349       Normally when using these modules, the path to the map file  is  passed
42350       in using:
42351
42352          salt-run cloud.map_run /path/to/cloud.map
42353
42354       To pass in the actual map data, use the map_data argument:
42355
42356          salt-run cloud.map_run map_data='{"centos7": [{"saltmaster": {"minion": \
42357              {"transport": "tcp"}, "make_master": true, "master": {"transport": \
42358              "tcp"}}}, {"minion001": {"minion": {"transport": "tcp"}}}]}'
42359
42360   Cloud Actions
42361       Once  a  VM has been created, there are a number of actions that can be
42362       performed on it. The "reboot" action can be used across all  providers,
42363       but  all  other actions are specific to the cloud provider. In order to
42364       perform an action, you may specify it from the command line,  including
42365       the name(s) of the VM to perform the action on:
42366
42367          $ salt-cloud -a reboot vm_name
42368          $ salt-cloud -a reboot vm1 vm2 vm2
42369
42370       Or  you  may specify a map which includes all VMs to perform the action
42371       on:
42372
42373          $ salt-cloud -a reboot -m /path/to/mapfile
42374
42375       The following is an example list  of  actions  currently  supported  by
42376       salt-cloud:
42377
42378          all providers:
42379              - reboot
42380          ec2:
42381              - start
42382              - stop
42383          joyent:
42384              - stop
42385          linode:
42386              - start
42387              - stop
42388
42389       Another  useful  reference  for  viewing more salt-cloud actions is the
42390       Salt Cloud Feature Matrix.
42391
42392   Cloud Functions
42393       Cloud functions work much the same way as cloud  actions,  except  that
42394       they  don't  perform an operation on a specific instance, and so do not
42395       need a machine name to be specified. However,  since  they  perform  an
42396       operation  on  a  specific cloud provider, that provider must be speci‐
42397       fied.
42398
42399          $ salt-cloud -f show_image ec2 image=ami-fd20ad94
42400
42401       There are three universal salt-cloud functions that are extremely  use‐
42402       ful for gathering information about instances on a provider basis:
42403
42404       · list_nodes:  Returns some general information about the instances for
42405         the given provider.
42406
42407       · list_nodes_full: Returns all information about the instances for  the
42408         given provider.
42409
42410       · list_nodes_select: Returns select information about the instances for
42411         the given provider.
42412
42413          $ salt-cloud -f list_nodes linode
42414          $ salt-cloud -f list_nodes_full linode
42415          $ salt-cloud -f list_nodes_select linode
42416
42417       Another useful reference for viewing salt-cloud functions is  the  Salt
42418       Cloud Feature Matrix.
42419
42420   Core Configuration
42421   Install Salt Cloud
42422       Salt  Cloud  is  now  part of Salt proper.  It was merged in as of Salt
42423       version 2014.1.0.
42424
42425       On Ubuntu, install Salt Cloud by using following command:
42426
42427          sudo add-apt-repository ppa:saltstack/salt
42428          sudo apt-get update
42429          sudo apt-get install salt-cloud
42430
42431       If using  Salt  Cloud  on  macOS,  curl-ca-bundle  must  be  installed.
42432       Presently,  this package is not available via brew, but it is available
42433       using MacPorts:
42434
42435          sudo port install curl-ca-bundle
42436
42437       Salt Cloud depends on apache-libcloud.  Libcloud can be  installed  via
42438       pip with pip install apache-libcloud.
42439
42440   Installing Salt Cloud for development
42441       Installing Salt for development enables Salt Cloud development as well,
42442       just make sure apache-libcloud is installed as per above paragraph.
42443
42444       See these instructions: Installing Salt for development.
42445
42446   Core Configuration
42447       A number of core configuration options and some options that are global
42448       to  the  VM  profiles  can  be  set in the cloud configuration file. By
42449       default this file is located at /etc/salt/cloud.
42450
42451   Thread Pool Size
42452       When salt cloud is operating in parallel mode via the -P argument,  you
42453       can  control the thread pool size by specifying the pool_size parameter
42454       with a positive integer value.
42455
42456       By default, the thread pool size will be set to the number of VMs  that
42457       salt cloud is operating on.
42458
42459          pool_size: 10
42460
42461   Minion Configuration
42462       The  default  minion configuration is set up in this file. Minions cre‐
42463       ated by salt-cloud derive their configuration from  this  file.  Almost
42464       all parameters found in Configuring the Salt Minion can be used here.
42465
42466          minion:
42467            master: saltmaster.example.com
42468
42469       In particular, this is the location to specify the location of the salt
42470       master and its listening port, if the port is not set to the default.
42471
42472       Similar to most  other  settings,  Minion  configuration  settings  are
42473       inherited  across  configuration files. For example, the master setting
42474       might be contained in the main cloud configuration file as demonstrated
42475       above,  but  additional settings can be placed in the provider, profile
42476       or map configuration files:
42477
42478          ec2-web:
42479            size: t1.micro
42480            minion:
42481              environment: test
42482              startup_states: sls
42483              sls_list:
42484                - web
42485
42486       When salt cloud creates a new minon, it  can  automatically  add  grain
42487       information  to  the  minion configuration file identifying the sources
42488       originally used to define it.
42489
42490       The generated grain information will appear similar to:
42491
42492          grains:
42493            salt-cloud:
42494              driver: ec2
42495              provider: my_ec2:ec2
42496              profile: ec2-web
42497
42498       The generation of the salt-cloud grain can be suppressed by the  option
42499       enable_cloud_grains: 'False' in the cloud configuration file.
42500
42501   Cloud Configuration Syntax
42502       The data specific to interacting with public clouds is set up here.
42503
42504       Cloud  provider  configuration settings can live in several places. The
42505       first is in /etc/salt/cloud:
42506
42507          # /etc/salt/cloud
42508          providers:
42509            my-aws-migrated-config:
42510              id: HJGRYCILJLKJYG
42511              key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42512              keyname: test
42513              securitygroup: quick-start
42514              private_key: /root/test.pem
42515              driver: ec2
42516
42517       Cloud   provider   configuration   data   can   also   be   housed   in
42518       /etc/salt/cloud.providers        or       any       file       matching
42519       /etc/salt/cloud.providers.d/*.conf. All files in any of these locations
42520       will be parsed for cloud provider data.
42521
42522       Using the example configuration above:
42523
42524          # /etc/salt/cloud.providers
42525          # or could be /etc/salt/cloud.providers.d/*.conf
42526          my-aws-config:
42527            id: HJGRYCILJLKJYG
42528            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42529            keyname: test
42530            securitygroup: quick-start
42531            private_key: /root/test.pem
42532            driver: ec2
42533
42534       NOTE:
42535          Salt  Cloud  provider  configurations  within /etc/cloud.provider.d/
42536          should not specify the providers starting key.
42537
42538       It is also possible to have multiple cloud configuration blocks  within
42539       the same alias block.  For example:
42540
42541          production-config:
42542            - id: HJGRYCILJLKJYG
42543              key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42544              keyname: test
42545              securitygroup: quick-start
42546              private_key: /root/test.pem
42547              driver: ec2
42548
42549            - user: example_user
42550              apikey: 123984bjjas87034
42551              driver: rackspace
42552
42553       However, using this configuration method requires a change with profile
42554       configuration blocks.  The provider alias needs to  have  the  provider
42555       key value appended as in the following example:
42556
42557          rhel_aws_dev:
42558            provider: production-config:ec2
42559            image: ami-e565ba8c
42560            size: t1.micro
42561
42562          rhel_aws_prod:
42563            provider: production-config:ec2
42564            image: ami-e565ba8c
42565            size: High-CPU Extra Large Instance
42566
42567          database_prod:
42568            provider: production-config:rackspace
42569            image: Ubuntu 12.04 LTS
42570            size: 256 server
42571
42572       Notice  that  because  of  the multiple entries, one has to be explicit
42573       about the provider alias and name,  from  the  above  example,  produc‐
42574       tion-config: ec2.
42575
42576       This  data  interactions  with  the  salt-cloud  binary  regarding  its
42577       --list-location, --list-images, and --list-sizes which  needs  a  cloud
42578       provider  as  an  argument.  The argument used should be the configured
42579       cloud provider alias. If  the  provider  alias  has  multiple  entries,
42580       <provider-alias>: <provider-name> should be used.
42581
42582       To allow for a more extensible configuration, --providers-config, which
42583       defaults to /etc/salt/cloud.providers, was added to the cli parser.  It
42584       allows  for  the  providers'  configuration  to  be added on a per-file
42585       basis.
42586
42587   Pillar Configuration
42588       It is possible to configure cloud providers using pillars. This is only
42589       used  when  inside  the  cloud  module. You can setup a variable called
42590       cloud that contains your profile, provider, and map to pass that infor‐
42591       mation to the cloud servers instead of having to copy the full configu‐
42592       ration to every minion. In your pillar file, you  would  use  something
42593       like this:
42594
42595          cloud:
42596            ssh_key_name: saltstack
42597            ssh_key_file: /root/.ssh/id_rsa
42598            update_cachedir: True
42599            diff_cache_events: True
42600
42601            providers:
42602              my-openstack:
42603                driver: openstack
42604                region_name: ORD
42605                cloud: mycloud
42606
42607            profiles:
42608              ubuntu-openstack:
42609                provider: my-openstack
42610                size: ds512M
42611                image: CentOS 7
42612                script_args: git develop
42613
42614            maps:
42615              my-dev-map:
42616                ubuntu-openstack:
42617                  - dev-test01
42618                  - dev-test02
42619                  - dev-test03
42620                  - dev-test04
42621              my-prd-map:
42622                ubuntu-openstack:
42623                  - prd-web01
42624                  - prd-web02
42625                      minion:
42626                        id: custom-minion-id-app1-stack1-frontend
42627                      grains:
42628                        roles:
42629                          - webserver
42630                        deployment: datacenter4-openstack
42631                  - prod-db01
42632                  - prod-db02
42633
42634   Cloud Configurations
42635   Scaleway
42636       To  use  Salt Cloud with Scaleway, you need to get an access key and an
42637       API token. API tokens  are  unique  identifiers  associated  with  your
42638       Scaleway account.  To retrieve your access key and API token, log-in to
42639       the Scaleway control panel, open the pull-down  menu  on  your  account
42640       name and click on "My Credentials" link.
42641
42642       If you do not have API token you can create one by clicking the "Create
42643       New Token" button on the right corner.
42644
42645          my-scaleway-config:
42646            access_key: 15cf404d-4560-41b1-9a0c-21c3d5c4ff1f
42647            token: a7347ec8-5de1-4024-a5e3-24b77d1ba91d
42648            driver: scaleway
42649
42650       NOTE:
42651          In the cloud profile that uses this provider configuration, the syn‐
42652          tax  for  the  provider  required field would be provider: my-scale‐
42653          way-config.
42654
42655   Rackspace
42656       Rackspace cloud requires two  configuration  options;  a  user  and  an
42657       apikey:
42658
42659          my-rackspace-config:
42660            user: example_user
42661            apikey: 123984bjjas87034
42662            driver: rackspace
42663
42664       NOTE:
42665          In the cloud profile that uses this provider configuration, the syn‐
42666          tax  for  the   provider   required   field   would   be   provider:
42667          my-rackspace-config.
42668
42669   Amazon AWS
42670       A number of configuration options are required for Amazon AWS including
42671       id, key, keyname, securitygroup, and private_key:
42672
42673          my-aws-quick-start:
42674            id: HJGRYCILJLKJYG
42675            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42676            keyname: test
42677            securitygroup: quick-start
42678            private_key: /root/test.pem
42679            driver: ec2
42680
42681          my-aws-default:
42682            id: HJGRYCILJLKJYG
42683            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42684            keyname: test
42685            securitygroup: default
42686            private_key: /root/test.pem
42687            driver: ec2
42688
42689       NOTE:
42690          In the cloud profile that uses this provider configuration, the syn‐
42691          tax  for  the  provider  required  field  would  be either provider:
42692          my-aws-quick-start or provider: my-aws-default.
42693
42694   Linode
42695       Linode requires a single API key, but the default  root  password  also
42696       needs to be set:
42697
42698          my-linode-config:
42699            apikey: asldkgfakl;sdfjsjaslfjaklsdjf;askldjfaaklsjdfhasldsadfghdkf
42700            password: F00barbaz
42701            ssh_pubkey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKHEOLLbeXgaqRQT9NBAopVz366SdYc0KKX33vAnq+2R user@host
42702            ssh_key_file: ~/.ssh/id_ed25519
42703            driver: linode
42704
42705       The password needs to be 8 characters and contain lowercase, uppercase,
42706       and numbers.
42707
42708       NOTE:
42709          In the cloud profile that uses this provider configuration, the syn‐
42710          tax  for  the  provider  required  field  would be provider: my-lin‐
42711          ode-config
42712
42713   Joyent Cloud
42714       The Joyent cloud requires three configuration parameters: The  username
42715       and  password  that  are used to log into the Joyent system, as well as
42716       the location of the private SSH key associated with the Joyent account.
42717       The  SSH  key  is  needed  to  send the provisioning commands up to the
42718       freshly created virtual machine.
42719
42720          my-joyent-config:
42721            user: fred
42722            password: saltybacon
42723            private_key: /root/joyent.pem
42724            driver: joyent
42725
42726       NOTE:
42727          In the cloud profile that uses this provider configuration, the syn‐
42728          tax   for   the   provider   required   field   would  be  provider:
42729          my-joyent-config
42730
42731   GoGrid
42732       To use Salt Cloud with GoGrid, log into the GoGrid  web  interface  and
42733       create  an  API key. Do this by clicking on "My Account" and then going
42734       to the API Keys tab.
42735
42736       The apikey and the sharedsecret configuration parameters need to be set
42737       in the configuration file to enable interfacing with GoGrid:
42738
42739          my-gogrid-config:
42740            apikey: asdff7896asdh789
42741            sharedsecret: saltybacon
42742            driver: gogrid
42743
42744       NOTE:
42745          In the cloud profile that uses this provider configuration, the syn‐
42746          tax  for  the   provider   required   field   would   be   provider:
42747          my-gogrid-config.
42748
42749   OpenStack
42750       Using   Salt   for   OpenStack   uses   the  shade  <https://docs.open
42751       stack.org/shade/latest/> driver managed by the openstack-infra team.
42752
42753       This driver can be configured using the /etc/openstack/clouds.yml  file
42754       with os-client-config <https://docs.openstack.org/os-client-config/lat
42755       est/>
42756
42757          myopenstack:
42758            driver: openstack
42759            region_name: RegionOne
42760            cloud: mycloud
42761
42762       Or by just configuring the  same  auth  block  directly  in  the  cloud
42763       provider config.
42764
42765          myopenstack:
42766            driver: openstack
42767            region_name: RegionOne
42768            auth:
42769              username: 'demo'
42770              password: secret
42771              project_name: 'demo'
42772              auth_url: 'http://openstack/identity'
42773
42774       Both  of  these  methods  support  using the vendor <https://docs.open
42775       stack.org/os-client-config/latest/user/vendor-support.html> options.
42776
42777       For more information, look at Openstack Cloud Driver Docs
42778
42779   DigitalOcean
42780       Using Salt for DigitalOcean requires a client_key and an api_key. These
42781       can  be  found  in the DigitalOcean web interface, in the "My Settings"
42782       section, under the API Access tab.
42783
42784          my-digitalocean-config:
42785            driver: digitalocean
42786            personal_access_token: xxx
42787            location: New York 1
42788
42789       NOTE:
42790          In the cloud profile that uses this provider configuration, the syn‐
42791          tax  for  the  provider  required  field would be provider: my-digi‐
42792          tal-ocean-config.
42793
42794   Parallels
42795       Using Salt with Parallels requires a user, password and URL. These  can
42796       be obtained from your cloud provider.
42797
42798          my-parallels-config:
42799            user: myuser
42800            password: xyzzy
42801            url: https://api.cloud.xmission.com:4465/paci/v1.0/
42802            driver: parallels
42803
42804       NOTE:
42805          In the cloud profile that uses this provider configuration, the syn‐
42806          tax for the provider required field  would  be  provider:  my-paral‐
42807          lels-config.
42808
42809   Proxmox
42810       Using  Salt  with Proxmox requires a user, password, and URL. These can
42811       be obtained from your cloud host. Both PAM and PVE users can be used.
42812
42813          my-proxmox-config:
42814            driver: proxmox
42815            user: saltcloud@pve
42816            password: xyzzy
42817            url: your.proxmox.host
42818
42819       NOTE:
42820          In the cloud profile that uses this provider configuration, the syn‐
42821          tax  for  the  provider  required  field would be provider: my-prox‐
42822          mox-config.
42823
42824   LXC
42825       The lxc driver uses saltify to install salt and  attach  the  lxc  con‐
42826       tainer  as  a  new  lxc  minion. As soon as we can, we manage baremetal
42827       operation over SSH. You can also  destroy  those  containers  via  this
42828       driver.
42829
42830          devhost10-lxc:
42831            target: devhost10
42832            driver: lxc
42833
42834       And in the map file:
42835
42836          devhost10-lxc:
42837            provider: devhost10-lxc
42838            from_container: ubuntu
42839            backing: lvm
42840            sudo: True
42841            size: 3g
42842            ip: 10.0.3.9
42843            minion:
42844              master: 10.5.0.1
42845              master_port: 4506
42846            lxc_conf:
42847              - lxc.utsname: superlxc
42848
42849       NOTE:
42850          In the cloud profile that uses this provider configuration, the syn‐
42851          tax  for  the   provider   required   field   would   be   provider:
42852          devhost10-lxc.
42853
42854   Saltify
42855       The  Saltify  driver  is a new, experimental driver designed to install
42856       Salt on a remote machine, virtual or bare metal, using SSH. This driver
42857       is  useful  for  provisioning machines which are already installed, but
42858       not Salted. For more information about using this driver and  for  con‐
42859       figuration examples, please see the Gettting Started with Saltify docu‐
42860       mentation.
42861
42862   Vagrant
42863       The Vagrant driver is a new,  experimental  driver  for  controlling  a
42864       VagrantBox  virtual machine, and installing Salt on it. The target host
42865       machine must be a working salt minion, which is controlled via the salt
42866       master  using salt-api.  For more information, see Getting Started With
42867       Vagrant.
42868
42869   Extending Profiles and Cloud Providers Configuration
42870       As of 0.8.7, the option to extend both the profiles and cloud providers
42871       configuration  and  avoid  duplication  was  added. The extends feature
42872       works on the current profiles configuration, but, regarding  the  cloud
42873       providers  configuration,  only  works in the new syntax and respective
42874       configuration    files,    i.e.    /etc/salt/salt/cloud.providers    or
42875       /etc/salt/cloud.providers.d/*.conf.
42876
42877       NOTE:
42878          Extending  cloud  profiles and providers is not recursive. For exam‐
42879          ple, a profile that is extended by a second profile is possible, but
42880          the second profile cannot be extended by a third profile.
42881
42882          Also,  if  a  profile (or provider) is extending another profile and
42883          each contains a list of values, the lists from the extending profile
42884          will  override the list from the original profile. The lists are not
42885          merged together.
42886
42887   Extending Profiles
42888       Some example usage on  how  to  use  extends  with  profiles.  Consider
42889       /etc/salt/salt/cloud.profiles containing:
42890
42891          development-instances:
42892            provider: my-ec2-config
42893            size: t1.micro
42894            ssh_username: ec2_user
42895            securitygroup:
42896              - default
42897            deploy: False
42898
42899          Amazon-Linux-AMI-2012.09-64bit:
42900            image: ami-54cf5c3d
42901            extends: development-instances
42902
42903          Fedora-17:
42904            image: ami-08d97e61
42905            extends: development-instances
42906
42907          CentOS-5:
42908            provider: my-aws-config
42909            image: ami-09b61d60
42910            extends: development-instances
42911
42912       The  above configuration, once parsed would generate the following pro‐
42913       files data:
42914
42915          [{'deploy': False,
42916            'image': 'ami-08d97e61',
42917            'profile': 'Fedora-17',
42918            'provider': 'my-ec2-config',
42919            'securitygroup': ['default'],
42920            'size': 't1.micro',
42921            'ssh_username': 'ec2_user'},
42922           {'deploy': False,
42923            'image': 'ami-09b61d60',
42924            'profile': 'CentOS-5',
42925            'provider': 'my-aws-config',
42926            'securitygroup': ['default'],
42927            'size': 't1.micro',
42928            'ssh_username': 'ec2_user'},
42929           {'deploy': False,
42930            'image': 'ami-54cf5c3d',
42931            'profile': 'Amazon-Linux-AMI-2012.09-64bit',
42932            'provider': 'my-ec2-config',
42933            'securitygroup': ['default'],
42934            'size': 't1.micro',
42935            'ssh_username': 'ec2_user'},
42936           {'deploy': False,
42937            'profile': 'development-instances',
42938            'provider': 'my-ec2-config',
42939            'securitygroup': ['default'],
42940            'size': 't1.micro',
42941            'ssh_username': 'ec2_user'}]
42942
42943       Pretty cool right?
42944
42945   Extending Providers
42946       Some example usage on how to use extends  within  the  cloud  providers
42947       configuration.  Consider /etc/salt/salt/cloud.providers containing:
42948
42949          my-develop-envs:
42950            - id: HJGRYCILJLKJYG
42951              key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42952              keyname: test
42953              securitygroup: quick-start
42954              private_key: /root/test.pem
42955              location: ap-southeast-1
42956              availability_zone: ap-southeast-1b
42957              driver: ec2
42958
42959            - user: myuser@mycorp.com
42960              password: mypass
42961              ssh_key_name: mykey
42962              ssh_key_file: '/etc/salt/ibm/mykey.pem'
42963              location: Raleigh
42964              driver: ibmsce
42965
42966
42967          my-productions-envs:
42968            - extends: my-develop-envs:ibmsce
42969              user: my-production-user@mycorp.com
42970              location: us-east-1
42971              availability_zone: us-east-1
42972
42973       The  above  configuration,  once  parsed  would  generate the following
42974       providers data:
42975
42976          'providers': {
42977              'my-develop-envs': [
42978                  {'availability_zone': 'ap-southeast-1b',
42979                   'id': 'HJGRYCILJLKJYG',
42980                   'key': 'kdjgfsgm;woormgl/aserigjksjdhasdfgn',
42981                   'keyname': 'test',
42982                   'location': 'ap-southeast-1',
42983                   'private_key': '/root/test.pem',
42984                   'driver': 'aws',
42985                   'securitygroup': 'quick-start'
42986                  },
42987                  {'location': 'Raleigh',
42988                   'password': 'mypass',
42989                   'driver': 'ibmsce',
42990                   'ssh_key_file': '/etc/salt/ibm/mykey.pem',
42991                   'ssh_key_name': 'mykey',
42992                   'user': 'myuser@mycorp.com'
42993                  }
42994              ],
42995              'my-productions-envs': [
42996                  {'availability_zone': 'us-east-1',
42997                   'location': 'us-east-1',
42998                   'password': 'mypass',
42999                   'driver': 'ibmsce',
43000                   'ssh_key_file': '/etc/salt/ibm/mykey.pem',
43001                   'ssh_key_name': 'mykey',
43002                   'user': 'my-production-user@mycorp.com'
43003                  }
43004              ]
43005          }
43006
43007   Windows Configuration
43008   Spinning up Windows Minions
43009       It is possible to use Salt Cloud to spin up Windows instances, and then
43010       install  Salt  on  them.  This  functionality is available on all cloud
43011       providers that are supported by Salt Cloud. However, it may not  neces‐
43012       sarily be available on all Windows images.
43013
43014   Requirements
43015       NOTE:
43016          Support  winexe and impacket has been deprecated and will be removed
43017          in Sodium. These dependencies are replaced by pypsexec and smbproto‐
43018          col respectivly. These are pure python alternatives that are compat‐
43019          ible with all supported python versions.
43020
43021       Salt Cloud makes use of impacket and winexe to set up the Windows  Salt
43022       Minion installer.
43023
43024       impacket   is   usually   available  as  either  the  impacket  or  the
43025       python-impacket package, depending on the distribution.  More  informa‐
43026       tion on impacket can be found at the project home:
43027
43028       · impacket project home
43029
43030       winexe  is  less  commonly available in distribution-specific reposito‐
43031       ries.  However, it is currently being built for  various  distributions
43032       in 3rd party channels:
43033
43034       · RPMs at pbone.net
43035
43036       · openSUSE Build Service
43037
43038       · pypsexec project home
43039
43040       · smbprotocol project home
43041
43042       Optionally  WinRM  can  be  used instead of winexe if the python module
43043       pywinrm is available and WinRM is supported on the target Windows  ver‐
43044       sion. Information on pywinrm can be found at the project home:
43045
43046       · pywinrm project home
43047
43048       Additionally,  a  copy  of  the  Salt  Minion Windows installer must be
43049       present on the system on which Salt Cloud is  running.  This  installer
43050       may be downloaded from saltstack.com:
43051
43052       · SaltStack Download Area
43053
43054   Self Signed Certificates with WinRM
43055       Salt-Cloud can use versions of pywinrm<=0.1.1 or pywinrm>=0.2.1.
43056
43057       For  versions  greater  than 0.2.1, winrm_verify_ssl needs to be set to
43058       False if the certificate is self signed and not verifiable.
43059
43060   Firewall Settings
43061       Because Salt Cloud makes use of smbclient and winexe, port 445 must  be
43062       open on the target image. This port is not generally open by default on
43063       a standard Windows distribution, and care must be taken to use an image
43064       in which this port is open, or the Windows firewall is disabled.
43065
43066       If  supported by the cloud provider, a PowerShell script may be used to
43067       open up this port automatically, using the cloud  provider's  userdata.
43068       The following script would open up port 445, and apply the changes:
43069
43070          <powershell>
43071          New-NetFirewallRule -Name "SMB445" -DisplayName "SMB445" -Protocol TCP -LocalPort 445
43072          Set-Item (dir wsman:\localhost\Listener\*\Port -Recurse).pspath 445 -Force
43073          Restart-Service winrm
43074          </powershell>
43075
43076       For  EC2,  this  script  may  be  saved as a file, and specified in the
43077       provider or profile configuration as userdata_file. For instance:
43078
43079          my-ec2-config:
43080            # Pass userdata to the instance to be created
43081            userdata_file: /etc/salt/windows-firewall.ps1
43082
43083       NOTE:
43084          From versions 2016.11.0 and 2016.11.3, this file was passed  through
43085          the  master's  renderer  to template it. However, this caused issues
43086          with non-YAML data, so templating is no longer performed by default.
43087          To template the userdata_file, add a userdata_template option to the
43088          cloud profile:
43089
43090              my-ec2-config:
43091                # Pass userdata to the instance to be created
43092                userdata_file: /etc/salt/windows-firewall.ps1
43093                userdata_template: jinja
43094
43095          If no userdata_template is set in the cloud profile, then the master
43096          configuration  will  be  checked  for a userdata_template value.  If
43097          this is not set, then no templating will be performed on  the  user‐
43098          data_file.
43099
43100          To  disable  templating  in a cloud profile when a userdata_template
43101          has been set in the master  configuration  file,  simply  set  user‐
43102          data_template to False in the cloud profile:
43103
43104              my-ec2-config:
43105                # Pass userdata to the instance to be created
43106                userdata_file: /etc/salt/windows-firewall.ps1
43107                userdata_template: False
43108
43109       If you are using WinRM on EC2 the HTTPS port for the WinRM service must
43110       also be enabled in your userdata. By default EC2  Windows  images  only
43111       have  insecure  HTTP  enabled. To enable HTTPS and basic authentication
43112       required by pywinrm consider the following userdata example:
43113
43114          <powershell>
43115          New-NetFirewallRule -Name "SMB445" -DisplayName "SMB445" -Protocol TCP -LocalPort 445
43116          New-NetFirewallRule -Name "WINRM5986" -DisplayName "WINRM5986" -Protocol TCP -LocalPort 5986
43117
43118          winrm quickconfig -q
43119          winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="300"}'
43120          winrm set winrm/config '@{MaxTimeoutms="1800000"}'
43121          winrm set winrm/config/service/auth '@{Basic="true"}'
43122
43123          $SourceStoreScope = 'LocalMachine'
43124          $SourceStorename = 'Remote Desktop'
43125
43126          $SourceStore = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Store -ArgumentList $SourceStorename, $SourceStoreScope
43127          $SourceStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadOnly)
43128
43129          $cert = $SourceStore.Certificates | Where-Object -FilterScript {
43130              $_.subject -like '*'
43131          }
43132
43133          $DestStoreScope = 'LocalMachine'
43134          $DestStoreName = 'My'
43135
43136          $DestStore = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Store -ArgumentList $DestStoreName, $DestStoreScope
43137          $DestStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
43138          $DestStore.Add($cert)
43139
43140          $SourceStore.Close()
43141          $DestStore.Close()
43142
43143          winrm create winrm/config/listener?Address=*+Transport=HTTPS `@`{CertificateThumbprint=`"($cert.Thumbprint)`"`}
43144
43145          Restart-Service winrm
43146          </powershell>
43147
43148       No certificate store is available by default on EC2 images and creating
43149       one does not seem possible without an MMC (cannot be automated). To use
43150       the default EC2 Windows images the above copies the RDP store.
43151
43152   Configuration
43153       Configuration is set as usual, with some extra configuration  settings.
43154       The location of the Windows installer on the machine that Salt Cloud is
43155       running on must be specified. This may be done in any  of  the  regular
43156       configuration files (main, providers, profiles, maps). For example:
43157
43158       Setting the installer in /etc/salt/cloud.providers:
43159
43160          my-softlayer:
43161            driver: softlayer
43162            user: MYUSER1138
43163            apikey: 'e3b68aa711e6deadc62d5b76355674beef7cc3116062ddbacafe5f7e465bfdc9'
43164            minion:
43165              master: saltmaster.example.com
43166            win_installer: /root/Salt-Minion-2014.7.0-AMD64-Setup.exe
43167            win_username: Administrator
43168            win_password: letmein
43169            smb_port: 445
43170
43171       The  default  Windows  user  is  Administrator, and the default Windows
43172       password is blank.
43173
43174       If WinRM is to be used use_winrm needs to be set  to  True.  winrm_port
43175       can  be  used  to  specify a custom port (must be HTTPS listener).  And
43176       winrm_verify_ssl can be set to False to use a self signed certificate.
43177
43178   Auto-Generated Passwords on EC2
43179       On EC2, when the win_password is set to auto, Salt Cloud will query EC2
43180       for  an  auto-generated  password. This password is expected to take at
43181       least 4 minutes to generate,  adding  additional  time  to  the  deploy
43182       process.
43183
43184       When the EC2 API is queried for the auto-generated password, it will be
43185       returned in a  message  encrypted  with  the  specified  keyname.  This
43186       requires  that the appropriate private_key file is also specified. Such
43187       a profile configuration might look like:
43188
43189          windows-server-2012:
43190            provider: my-ec2-config
43191            image: ami-c49c0dac
43192            size: m1.small
43193            securitygroup: windows
43194            keyname: mykey
43195            private_key: /root/mykey.pem
43196            userdata_file: /etc/salt/windows-firewall.ps1
43197            win_installer: /root/Salt-Minion-2014.7.0-AMD64-Setup.exe
43198            win_username: Administrator
43199            win_password: auto
43200
43201   Cloud Provider Specifics
43202   Getting Started With Aliyun ECS
43203       The Aliyun ECS (Elastic Computer Service) is one of  the  most  popular
43204       public  cloud  hosts  in  China.  This cloud host can be used to manage
43205       aliyun instance using salt-cloud.
43206
43207       http://www.aliyun.com/
43208
43209   Dependencies
43210       This driver requires the Python requests library to be installed.
43211
43212   Configuration
43213       Using Salt for Aliyun ECS requires aliyun access key id and key secret.
43214       These  can  be  found in the aliyun web interface, in the "User Center"
43215       section, under "My Service" tab.
43216
43217          # Note: This example is for /etc/salt/cloud.providers or any file in the
43218          # /etc/salt/cloud.providers.d/ directory.
43219
43220          my-aliyun-config:
43221            # aliyun Access Key ID
43222            id: wDGEwGregedg3435gDgxd
43223            # aliyun Access Key Secret
43224            key: GDd45t43RDBTrkkkg43934t34qT43t4dgegerGEgg
43225            location: cn-qingdao
43226            driver: aliyun
43227
43228       NOTE:
43229          Changed in version 2015.8.0.
43230
43231
43232          The provider parameter in cloud provider definitions was renamed  to
43233          driver.  This  change  was made to avoid confusion with the provider
43234          parameter that is used in cloud profile definitions. Cloud  provider
43235          definitions  now  use  driver to refer to the Salt cloud module that
43236          provides the underlying functionality to connect to  a  cloud  host,
43237          while  cloud  profiles continue to use provider to refer to provider
43238          configurations that you define.
43239
43240   Profiles
43241   Cloud Profiles
43242       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
43243       /etc/salt/cloud.profiles.d/ directory:
43244
43245          aliyun_centos:
43246              provider: my-aliyun-config
43247              size: ecs.t1.small
43248              location: cn-qingdao
43249              securitygroup: G1989096784427999
43250              image: centos6u3_64_20G_aliaegis_20130816.vhd
43251
43252       Sizes  can be obtained using the --list-sizes option for the salt-cloud
43253       command:
43254
43255          # salt-cloud --list-sizes my-aliyun-config
43256          my-aliyun-config:
43257              ----------
43258              aliyun:
43259                  ----------
43260                  ecs.c1.large:
43261                      ----------
43262                      CpuCoreCount:
43263                          8
43264                      InstanceTypeId:
43265                          ecs.c1.large
43266                      MemorySize:
43267                          16.0
43268
43269          ...SNIP...
43270
43271       Images  can  be  obtained  using  the  --list-images  option  for   the
43272       salt-cloud command:
43273
43274          # salt-cloud --list-images my-aliyun-config
43275          my-aliyun-config:
43276              ----------
43277              aliyun:
43278                  ----------
43279                  centos5u8_64_20G_aliaegis_20131231.vhd:
43280                      ----------
43281                      Architecture:
43282                          x86_64
43283                      Description:
43284
43285                      ImageId:
43286                          centos5u8_64_20G_aliaegis_20131231.vhd
43287                      ImageName:
43288                          CentOS 5.8 64位
43289                      ImageOwnerAlias:
43290                          system
43291                      ImageVersion:
43292                          1.0
43293                      OSName:
43294                          CentOS  5.8 64位
43295                      Platform:
43296                          CENTOS5
43297                      Size:
43298                          20
43299                      Visibility:
43300                          public
43301          ...SNIP...
43302
43303       Locations  can  be  obtained  using the --list-locations option for the
43304       salt-cloud command:
43305
43306          my-aliyun-config:
43307              ----------
43308              aliyun:
43309                  ----------
43310                  cn-beijing:
43311                      ----------
43312                      LocalName:
43313                          北京
43314                      RegionId:
43315                          cn-beijing
43316                  cn-hangzhou:
43317                      ----------
43318                      LocalName:
43319                          杭州
43320                      RegionId:
43321                          cn-hangzhou
43322                  cn-hongkong:
43323                      ----------
43324                      LocalName:
43325                          香港
43326                      RegionId:
43327                          cn-hongkong
43328                  cn-qingdao:
43329                      ----------
43330                      LocalName:
43331                          青岛
43332                      RegionId:
43333                          cn-qingdao
43334
43335       Security Group can be obtained using the -f  list_securitygroup  option
43336       for the salt-cloud command:
43337
43338          # salt-cloud --location=cn-qingdao -f list_securitygroup my-aliyun-config
43339          my-aliyun-config:
43340              ----------
43341              aliyun:
43342                  ----------
43343                  G1989096784427999:
43344                      ----------
43345                      Description:
43346                          G1989096784427999
43347                      SecurityGroupId:
43348                          G1989096784427999
43349
43350       NOTE:
43351          Aliyun ECS REST API documentation is available from Aliyun ECS API.
43352
43353   Getting Started With Azure
43354       New in version 2014.1.0.
43355
43356
43357       Azure  is  a cloud service by Microsoft providing virtual machines, SQL
43358       services, media services, and more. This document describes how to  use
43359       Salt Cloud to create a virtual machine on Azure, with Salt installed.
43360
43361       More      information      about      Azure      is      located     at
43362       http://www.windowsazure.com/.
43363
43364   Dependencies
43365       · Microsoft Azure SDK for Python >= 1.0.2
43366
43367       · The python-requests library, for Python < 2.7.9.
43368
43369       · A Microsoft Azure account
43370
43371       · OpenSSL (to generate the certificates)
43372
43373       · Salt
43374
43375   Configuration
43376       Set up the provider config at /etc/salt/cloud.providers.d/azure.conf:
43377
43378          # Note: This example is for /etc/salt/cloud.providers.d/azure.conf
43379
43380          my-azure-config:
43381            driver: azure
43382            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
43383            certificate_path: /etc/salt/azure.pem
43384
43385            # Set up the location of the salt master
43386            #
43387            minion:
43388              master: saltmaster.example.com
43389
43390            # Optional
43391            management_host: management.core.windows.net
43392
43393       The certificate used must be generated by the user. OpenSSL can be used
43394       to  create  the management certificates. Two certificates are needed: a
43395       .cer file, which is uploaded to Azure, and a .pem file, which is stored
43396       locally.
43397
43398       To create the .pem file, execute the following command:
43399
43400          openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/salt/azure.pem -out /etc/salt/azure.pem
43401
43402       To create the .cer file, execute the following command:
43403
43404          openssl x509 -inform pem -in /etc/salt/azure.pem -outform der -out /etc/salt/azure.cer
43405
43406       After  creating  these files, the .cer file will need to be uploaded to
43407       Azure via the "Upload a Management Certificate" action of the  "Manage‐
43408       ment  Certificates" tab within the "Settings" section of the management
43409       portal.
43410
43411       Optionally, a management_host may be configured, if necessary  for  the
43412       region.
43413
43414       NOTE:
43415          Changed in version 2015.8.0.
43416
43417
43418          The  provider parameter in cloud provider definitions was renamed to
43419          driver. This change was made to avoid confusion  with  the  provider
43420          parameter  that is used in cloud profile definitions. Cloud provider
43421          definitions now use driver to refer to the Salt  cloud  module  that
43422          provides  the  underlying  functionality to connect to a cloud host,
43423          while cloud profiles continue to use provider to refer  to  provider
43424          configurations that you define.
43425
43426   Cloud Profiles
43427       Set up an initial profile at /etc/salt/cloud.profiles:
43428
43429          azure-ubuntu:
43430            provider: my-azure-config
43431            image: 'b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131003-en-us-30GB'
43432            size: Small
43433            location: 'East US'
43434            ssh_username: azureuser
43435            ssh_password: verybadpass
43436            slot: production
43437            media_link: 'http://portalvhdabcdefghijklmn.blob.core.windows.net/vhds'
43438            virtual_network_name: azure-virtual-network
43439            subnet_name: azure-subnet
43440
43441       These  options are described in more detail below. Once configured, the
43442       profile can be realized with a salt command:
43443
43444          salt-cloud -p azure-ubuntu newinstance
43445
43446       This will create an salt minion instance named newinstance in Azure. If
43447       the command was executed on the salt-master, its Salt key will automat‐
43448       ically be signed on the master.
43449
43450       Once the instance has been created with salt-minion installed,  connec‐
43451       tivity to it can be verified with Salt:
43452
43453          salt newinstance test.version
43454
43455   Profile Options
43456       The following options are currently available for Azure.
43457
43458   provider
43459       The      name      of     the     provider     as     configured     in
43460       /etc/salt/cloud.providers.d/azure.conf.
43461
43462   image
43463       The name of the image to use to create a VM. Available  images  can  be
43464       viewed using the following command:
43465
43466          salt-cloud --list-images my-azure-config
43467
43468   size
43469       The  name  of  the  size  to use to create a VM. Available sizes can be
43470       viewed using the following command:
43471
43472          salt-cloud --list-sizes my-azure-config
43473
43474   location
43475       The name of the location to create a VM in. Available locations can  be
43476       viewed using the following command:
43477
43478          salt-cloud --list-locations my-azure-config
43479
43480   affinity_group
43481       The  name of the affinity group to create a VM in. Either a location or
43482       an affinity_group may be specified, but not both. See  Affinity  Groups
43483       below.
43484
43485   ssh_username
43486       The user to use to log into the newly-created VM to install Salt.
43487
43488   ssh_password
43489       The password to use to log into the newly-created VM to install Salt.
43490
43491   slot
43492       The  environment  to which the hosted service is deployed. Valid values
43493       are staging or production. When set to production, the resulting URL of
43494       the  new  VM  will  be <vm_name>.cloudapp.net. When set to staging, the
43495       resulting URL will contain a generated hash instead.
43496
43497   media_link
43498       This is the URL of the container that will store the disk that this  VM
43499       uses.  Currently, this container must already exist. If a VM has previ‐
43500       ously been created  in  the  associated  account,  a  container  should
43501       already exist. In the web interface, go into the Storage area and click
43502       one of the available storage selections. Click the Containers link, and
43503       then  copy  the  URL from the container that will be used. It generally
43504       looks like:
43505
43506          http://portalvhdabcdefghijklmn.blob.core.windows.net/vhds
43507
43508   service_name
43509       The name of the service in which to create the VM. If this is not spec‐
43510       ified, then a service will be created with the same name as the VM.
43511
43512   virtual_network_name
43513       Optional.  The  name of the virtual network for the VM to join. If this
43514       is not specified, then no virtual network will be joined.
43515
43516   subnet_name
43517       Optional. The name of the subnet in the virtual network for the  VM  to
43518       join.  Requires that a virtual_network_name is specified.
43519
43520   Show Instance
43521       This  action  is  a  thin  wrapper  around --full-query, which displays
43522       details on a single instance  only.  In  an  environment  with  several
43523       machines,  this  will  save  a  user  from  having  to sort through all
43524       instance data, just to examine a single instance.
43525
43526          salt-cloud -a show_instance myinstance
43527
43528   Destroying VMs
43529       There are certain options which can be specified in  the  global  cloud
43530       configuration  file (usually /etc/salt/cloud) which affect Salt Cloud's
43531       behavior when a VM is destroyed.
43532
43533   cleanup_disks
43534       New in version 2015.8.0.
43535
43536
43537       Default is False. When set to True, Salt Cloud will wait for the VM  to
43538       be  destroyed, then attempt to destroy the main disk that is associated
43539       with the VM.
43540
43541   cleanup_vhds
43542       New in version 2015.8.0.
43543
43544
43545       Default is False. Requires cleanup_disks to be set to True.  When  also
43546       set  to  True,  Salt  Cloud will ask Azure to delete the VHD associated
43547       with the disk that is also destroyed.
43548
43549   cleanup_services
43550       New in version 2015.8.0.
43551
43552
43553       Default is False. Requires cleanup_disks to be set to True.  When  also
43554       set  to  True,  Salt Cloud will wait for the disk to be destroyed, then
43555       attempt to remove the service that is associated with the  VM.  Because
43556       the  disk belongs to the service, the disk must be destroyed before the
43557       service can be.
43558
43559   Managing Hosted Services
43560       New in version 2015.8.0.
43561
43562
43563       An account can have one or more hosted services. A  hosted  service  is
43564       required  in  order  to  create a VM. However, as mentioned above, if a
43565       hosted service is not specified when a VM is  created,  then  one  will
43566       automatically be created with the name of the name. The following func‐
43567       tions are also available.
43568
43569   create_service
43570       Create a hosted service. The following options are available.
43571
43572   name
43573       Required. The name of the hosted service to create.
43574
43575   label
43576       Required. A label to apply to the hosted service.
43577
43578   description
43579       Optional. A longer description of the hosted service.
43580
43581   location
43582       Required, if affinity_group is not set. The location in which to create
43583       the  hosted  service. Either the location or the affinity_group must be
43584       set, but not both.
43585
43586   affinity_group
43587       Required, if location is not set. The affinity group in which to create
43588       the  hosted  service. Either the location or the affinity_group must be
43589       set, but not both.
43590
43591   extended_properties
43592       Optional. Dictionary containing  name/value  pairs  of  hosted  service
43593       properties.   You can have a maximum of 50 extended property name/value
43594       pairs. The maximum length of the Name element is  64  characters,  only
43595       alphanumeric  characters and underscores are valid in the Name, and the
43596       name must start with a letter.  The value has a maximum length  of  255
43597       characters.
43598
43599   CLI Example
43600       The following example illustrates creating a hosted service.
43601
43602          salt-cloud -f create_service my-azure name=my-service label=my-service location='West US'
43603
43604   show_service
43605       Return details about a specific hosted service. Can also be called with
43606       get_service.
43607
43608          salt-cloud -f show_storage my-azure name=my-service
43609
43610   list_services
43611       List all hosted services associates with the subscription.
43612
43613          salt-cloud -f list_services my-azure-config
43614
43615   delete_service
43616       Delete a specific hosted service.
43617
43618          salt-cloud -f delete_service my-azure name=my-service
43619
43620   Managing Storage Accounts
43621       New in version 2015.8.0.
43622
43623
43624       Salt Cloud can manage storage accounts associated with the account. The
43625       following  functions are available. Deprecated marked as deprecated are
43626       marked as such as per the SDK documentation, but are still included for
43627       completeness with the SDK.
43628
43629   create_storage
43630       Create a storage account. The following options are supported.
43631
43632   name
43633       Required. The name of the storage account to create.
43634
43635   label
43636       Required. A label to apply to the storage account.
43637
43638   description
43639       Optional. A longer description of the storage account.
43640
43641   location
43642       Required, if affinity_group is not set. The location in which to create
43643       the storage account. Either the location or the affinity_group must  be
43644       set, but not both.
43645
43646   affinity_group
43647       Required, if location is not set. The affinity group in which to create
43648       the storage account. Either the location or the affinity_group must  be
43649       set, but not both.
43650
43651   extended_properties
43652       Optional.  Dictionary  containing  name/value  pairs of storage account
43653       properties.  You can have a maximum of 50 extended property  name/value
43654       pairs.  The  maximum  length of the Name element is 64 characters, only
43655       alphanumeric characters and underscores are valid in the Name, and  the
43656       name  must  start  with a letter. The value has a maximum length of 255
43657       characters.
43658
43659   geo_replication_enabled
43660       Deprecated. Replaced by the account_type parameter.
43661
43662   account_type
43663       Specifies  whether  the  account  supports  locally-redundant  storage,
43664       geo-redundant   storage,   zone-redundant   storage,   or  read  access
43665       geo-redundant storage. Possible values are:
43666
43667       · Standard_LRS
43668
43669       · Standard_ZRS
43670
43671       · Standard_GRS
43672
43673       · Standard_RAGRS
43674
43675   CLI Example
43676       The following example illustrates creating a storage account.
43677
43678          salt-cloud -f create_storage my-azure name=my-storage label=my-storage location='West US'
43679
43680   list_storage
43681       List all storage accounts associates with the subscription.
43682
43683          salt-cloud -f list_storage my-azure-config
43684
43685   show_storage
43686       Return details about a specific storage account.  Can  also  be  called
43687       with get_storage.
43688
43689          salt-cloud -f show_storage my-azure name=my-storage
43690
43691   update_storage
43692       Update  details concerning a storage account. Any of the options avail‐
43693       able in create_storage can be used, but the name cannot be changed.
43694
43695          salt-cloud -f update_storage my-azure name=my-storage label=my-storage
43696
43697   delete_storage
43698       Delete a specific storage account.
43699
43700          salt-cloud -f delete_storage my-azure name=my-storage
43701
43702   show_storage_keys
43703       Returns the primary and secondary access keys for the specified storage
43704       account.
43705
43706          salt-cloud -f show_storage_keys my-azure name=my-storage
43707
43708   regenerate_storage_keys
43709       Regenerate  storage  account  keys.  Requires  a key_type ("primary" or
43710       "secondary") to be specified.
43711
43712          salt-cloud -f regenerate_storage_keys my-azure name=my-storage key_type=primary
43713
43714   Managing Disks
43715       New in version 2015.8.0.
43716
43717
43718       When a VM is created, a disk will also be created for it. The following
43719       functions are available for managing disks. Deprecated marked as depre‐
43720       cated are marked as such as per the SDK documentation,  but  are  still
43721       included for completeness with the SDK.
43722
43723   show_disk
43724       Return details about a specific disk. Can also be called with get_disk.
43725
43726          salt-cloud -f show_disk my-azure name=my-disk
43727
43728   list_disks
43729       List all disks associates with the account.
43730
43731          salt-cloud -f list_disks my-azure
43732
43733   update_disk
43734       Update details for a disk. The following options are available.
43735
43736   name
43737       Required. The name of the disk to update.
43738
43739   has_operating_system
43740       Deprecated.
43741
43742   label
43743       Required. The label for the disk.
43744
43745   media_link
43746       Deprecated.  The  location  of  the  disk in the account, including the
43747       storage container that it is in. This should not need to be changed.
43748
43749   new_name
43750       Deprecated. If renaming the disk, the new name.
43751
43752   os
43753       Deprecated.
43754
43755   CLI Example
43756       The following example illustrates updating a disk.
43757
43758          salt-cloud -f update_disk my-azure name=my-disk label=my-disk
43759
43760   delete_disk
43761       Delete a specific disk.
43762
43763          salt-cloud -f delete_disk my-azure name=my-disk
43764
43765   Managing Service Certificates
43766       New in version 2015.8.0.
43767
43768
43769       Stored at the cloud service level, these certificates are used by  your
43770       deployed  services.  For  more information on service certificates, see
43771       the following link:
43772
43773       · Manage Certificates
43774
43775       The following functions are available.
43776
43777   list_service_certificates
43778       List service certificates associated with the account.
43779
43780          salt-cloud -f list_service_certificates my-azure
43781
43782   show_service_certificate
43783       Show the data for a specific service certificate  associated  with  the
43784       account.  The name, thumbprint, and thumbalgorithm can be obtained from
43785       list_service_certificates. Can also be called with get_service_certifi‐
43786       cate.
43787
43788          salt-cloud -f show_service_certificate my-azure name=my_service_certificate \
43789              thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
43790
43791   add_service_certificate
43792       Add a service certificate to the account. This requires that a certifi‐
43793       cate already exists, which is then  added  to  the  account.  For  more
43794       information on creating the certificate itself, see:
43795
43796       · Create a Service Certificate for Azure
43797
43798       The following options are available.
43799
43800   name
43801       Required.  The  name  of  the  hosted service that the certificate will
43802       belong to.
43803
43804   data
43805       Required. The base-64 encoded form of the pfx file.
43806
43807   certificate_format
43808       Required. The service certificate format. The only supported  value  is
43809       pfx.
43810
43811   password
43812       The certificate password.
43813
43814          salt-cloud -f add_service_certificate my-azure name=my-cert \
43815              data='...CERT_DATA...' certificate_format=pfx password=verybadpass
43816
43817   delete_service_certificate
43818       Delete  a  service  certificate from the account. The name, thumbprint,
43819       and thumbalgorithm can be obtained from list_service_certificates.
43820
43821          salt-cloud -f delete_service_certificate my-azure \
43822              name=my_service_certificate \
43823              thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
43824
43825   Managing Management Certificates
43826       New in version 2015.8.0.
43827
43828
43829       A Azure management certificate is  an  X.509  v3  certificate  used  to
43830       authenticate an agent, such as Visual Studio Tools for Windows Azure or
43831       a client application that uses the Service Management  API,  acting  on
43832       behalf  of  the  subscription  owner  to manage subscription resources.
43833       Azure management certificates are uploaded to Azure and stored  at  the
43834       subscription level. The management certificate store can hold up to 100
43835       certificates per subscription. These certificates are used to authenti‐
43836       cate your Windows Azure deployment.
43837
43838       For  more  information  on  management  certificates, see the following
43839       link.
43840
43841       · Manage Certificates
43842
43843       The following functions are available.
43844
43845   list_management_certificates
43846       List management certificates associated with the account.
43847
43848          salt-cloud -f list_management_certificates my-azure
43849
43850   show_management_certificate
43851       Show the data for a specific management certificate associated with the
43852       account.  The name, thumbprint, and thumbalgorithm can be obtained from
43853       list_management_certificates.  Can  also  be  called  with  get_manage‐
43854       ment_certificate.
43855
43856          salt-cloud -f show_management_certificate my-azure name=my_management_certificate \
43857              thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
43858
43859   add_management_certificate
43860       Management  certificates  must  have a key length of at least 2048 bits
43861       and should reside in the Personal certificate store. When the  certifi‐
43862       cate  is  installed on the client, it should contain the private key of
43863       the certificate. To upload to the certificate to  the  Microsoft  Azure
43864       Management  Portal,  you must export it as a .cer format file that does
43865       not contain the private key. For more information on  creating  manage‐
43866       ment certificates, see the following link:
43867
43868       · Create and Upload a Management Certificate for Azure
43869
43870       The following options are available.
43871
43872   public_key
43873       A base64 representation of the management certificate public key.
43874
43875   thumbprint
43876       The thumb print that uniquely identifies the management certificate.
43877
43878   data
43879       The certificate's raw data in base-64 encoded .cer format.
43880
43881          salt-cloud -f add_management_certificate my-azure public_key='...PUBKEY...' \
43882              thumbprint=0123456789ABCDEF data='...CERT_DATA...'
43883
43884   delete_management_certificate
43885       Delete a management certificate from the account. The thumbprint can be
43886       obtained from list_management_certificates.
43887
43888          salt-cloud -f delete_management_certificate my-azure thumbprint=0123456789ABCDEF
43889
43890   Virtual Network Management
43891       New in version 2015.8.0.
43892
43893
43894       The following are functions for managing virtual networks.
43895
43896   list_virtual_networks
43897       List input endpoints associated with the deployment.
43898
43899          salt-cloud -f list_virtual_networks my-azure service=myservice deployment=mydeployment
43900
43901   Managing Input Endpoints
43902       New in version 2015.8.0.
43903
43904
43905       Input endpoints are used to manage port access for roles. Because  end‐
43906       points  cannot  be managed by the Azure Python SDK, Salt Cloud uses the
43907       API  directly.    With   versions   of   Python   before   2.7.9,   the
43908       requests-python  package  needs  to  be  installed in order for this to
43909       work. Additionally, the following needs to be set in the master's  con‐
43910       figuration file:
43911
43912          backend: requests
43913
43914       The following functions are available.
43915
43916   list_input_endpoints
43917       List input endpoints associated with the deployment
43918
43919          salt-cloud -f list_input_endpoints my-azure service=myservice deployment=mydeployment
43920
43921   show_input_endpoint
43922       Show an input endpoint associated with the deployment
43923
43924          salt-cloud -f show_input_endpoint my-azure service=myservice \
43925              deployment=mydeployment name=SSH
43926
43927   add_input_endpoint
43928       Add  an input endpoint to the deployment. Please note that there may be
43929       a delay before the changes show up. The following  options  are  avail‐
43930       able.
43931
43932   service
43933       Required. The name of the hosted service which the VM belongs to.
43934
43935   deployment
43936       Required.  The name of the deployment that the VM belongs to. If the VM
43937       was created with Salt Cloud, the deployment name probably  matches  the
43938       VM name.
43939
43940   role
43941       Required.  The  name  of the role that the VM belongs to. If the VM was
43942       created with Salt Cloud, the role name probably matches the VM name.
43943
43944   name
43945       Required. The name of the input endpoint. This  typically  matches  the
43946       port that the endpoint is set to. For instance, port 22 would be called
43947       SSH.
43948
43949   port
43950       Required. The public (Internet-facing) port that is used for  the  end‐
43951       point.
43952
43953   local_port
43954       Optional.  The  private port on the VM itself that will be matched with
43955       the port.  This is typically the same as the port. If this value is not
43956       specified, it will be copied from port.
43957
43958   protocol
43959       Required. Either tcp or udp.
43960
43961   enable_direct_server_return
43962       Optional. If an internal load balancer exists in the account, it can be
43963       used with a direct server return. The default value  is  False.  Please
43964       see the following article for an explanation of this option.
43965
43966       · Load Balancing for Azure Infrastructure Services
43967
43968   timeout_for_tcp_idle_connection
43969       Optional.  The default value is 4. Please see the following article for
43970       an explanation of this option.
43971
43972       · Configurable Idle Timeout for Azure Load Balancer
43973
43974   CLI Example
43975       The following example illustrates adding an input endpoint.
43976
43977          salt-cloud -f add_input_endpoint my-azure service=myservice \
43978              deployment=mydeployment role=myrole name=HTTP local_port=80 \
43979              port=80 protocol=tcp enable_direct_server_return=False \
43980              timeout_for_tcp_idle_connection=4
43981
43982   update_input_endpoint
43983       Updates the details for a specific input  endpoint.  All  options  from
43984       add_input_endpoint are supported.
43985
43986          salt-cloud -f update_input_endpoint my-azure service=myservice \
43987              deployment=mydeployment role=myrole name=HTTP local_port=80 \
43988              port=80 protocol=tcp enable_direct_server_return=False \
43989              timeout_for_tcp_idle_connection=4
43990
43991   delete_input_endpoint
43992       Delete  an  input  endpoint from the deployment. Please note that there
43993       may be a delay before the changes show up.   The  following  items  are
43994       required.
43995
43996   CLI Example
43997       The following example illustrates deleting an input endpoint.
43998
43999   service
44000       The name of the hosted service which the VM belongs to.
44001
44002   deployment
44003       The  name  of the deployment that the VM belongs to. If the VM was cre‐
44004       ated with Salt Cloud, the deployment name probably matches the VM name.
44005
44006   role
44007       The name of the role that the VM belongs to. If the VM was created with
44008       Salt Cloud, the role name probably matches the VM name.
44009
44010   name
44011       The  name  of  the input endpoint. This typically matches the port that
44012       the endpoint is set to. For instance, port 22 would be called SSH.
44013
44014          salt-cloud -f delete_input_endpoint my-azure service=myservice \
44015              deployment=mydeployment role=myrole name=HTTP
44016
44017   Managing Affinity Groups
44018       New in version 2015.8.0.
44019
44020
44021       Affinity groups allow you to group your Azure services to optimize per‐
44022       formance.   All  services  and  VMs  within  an  affinity group will be
44023       located in the same region. For more information  on  Affinity  groups,
44024       see the following link:
44025
44026       · Create an Affinity Group in the Management Portal
44027
44028       The following functions are available.
44029
44030   list_affinity_groups
44031       List input endpoints associated with the account
44032
44033          salt-cloud -f list_affinity_groups my-azure
44034
44035   show_affinity_group
44036       Show an affinity group associated with the account
44037
44038          salt-cloud -f show_affinity_group my-azure service=myservice \
44039              deployment=mydeployment name=SSH
44040
44041   create_affinity_group
44042       Create a new affinity group. The following options are supported.
44043
44044   name
44045       Required. The name of the new affinity group.
44046
44047   location
44048       Required. The region in which the affinity group lives.
44049
44050   label
44051       Required. A label describing the new affinity group.
44052
44053   description
44054       Optional. A longer description of the affinity group.
44055
44056          salt-cloud -f create_affinity_group my-azure name=my_affinity_group \
44057             label=my-affinity-group location='West US'
44058
44059   update_affinity_group
44060       Update an affinity group's properties
44061
44062          salt-cloud -f update_affinity_group my-azure name=my_group label=my_group
44063
44064   delete_affinity_group
44065       Delete a specific affinity group associated with the account
44066
44067          salt-cloud -f delete_affinity_group my-azure name=my_affinity_group
44068
44069   Managing Blob Storage
44070       New in version 2015.8.0.
44071
44072
44073       Azure  storage  containers  and their contents can be managed with Salt
44074       Cloud. This is not as elegant as  using  one  of  the  other  available
44075       clients  in Windows, but it benefits Linux and Unix users, as there are
44076       fewer options available on those platforms.
44077
44078   Blob Storage Configuration
44079       Blob storage must be configured differently  than  the  standard  Azure
44080       configuration.  Both a storage_account and a storage_key must be speci‐
44081       fied either through the Azure provider configuration  (in  addition  to
44082       the other Azure configuration) or via the command line.
44083
44084          storage_account: mystorage
44085          storage_key: ffhj334fDSGFEGDFGFDewr34fwfsFSDFwe==
44086
44087   storage_account
44088       This  is  one  of  the  storage  accounts  that  is  available  via the
44089       list_storage function.
44090
44091   storage_key
44092       Both a primary and a secondary storage_key can be obtained  by  running
44093       the show_storage_keys function. Either key may be used.
44094
44095   Blob Functions
44096       The  following functions are made available through Salt Cloud for man‐
44097       aging blog storage.
44098
44099   make_blob_url
44100       Creates the URL to access a blob
44101
44102          salt-cloud -f make_blob_url my-azure container=mycontainer blob=myblob
44103
44104   container
44105       Name of the container.
44106
44107   blob
44108       Name of the blob.
44109
44110   account
44111       Name of the storage account. If not specified, derives  the  host  base
44112       from the provider configuration.
44113
44114   protocol
44115       Protocol  to use: 'http' or 'https'. If not specified, derives the host
44116       base from the provider configuration.
44117
44118   host_base
44119       Live host base URL.  If not specified, derives the host base  from  the
44120       provider configuration.
44121
44122   list_storage_containers
44123       List containers associated with the storage account
44124
44125          salt-cloud -f list_storage_containers my-azure
44126
44127   create_storage_container
44128       Create a storage container
44129
44130          salt-cloud -f create_storage_container my-azure name=mycontainer
44131
44132   name
44133       Name of container to create.
44134
44135   meta_name_values
44136       Optional.  A dict with name_value pairs to associate with the container
44137       as metadata. Example:{'Category':'test'}
44138
44139   blob_public_access
44140       Optional. Possible values include: container, blob
44141
44142   fail_on_exist
44143       Specify whether to throw an exception when the container exists.
44144
44145   show_storage_container
44146       Show a container associated with the storage account
44147
44148          salt-cloud -f show_storage_container my-azure name=myservice
44149
44150   name
44151       Name of container to show.
44152
44153   show_storage_container_metadata
44154       Show a storage container's metadata
44155
44156          salt-cloud -f show_storage_container_metadata my-azure name=myservice
44157
44158   name
44159       Name of container to show.
44160
44161   lease_id
44162       If specified, show_storage_container_metadata only succeeds if the con‐
44163       tainer's lease is active and matches this ID.
44164
44165   set_storage_container_metadata
44166       Set a storage container's metadata
44167
44168          salt-cloud -f set_storage_container my-azure name=mycontainer \
44169              x_ms_meta_name_values='{"my_name": "my_value"}'
44170
44171   name
44172       Name  of existing container.  meta_name_values ```````````` A dict con‐
44173       taining  name,  value  for  metadata.    Example:   {'category':'test'}
44174       lease_id  ````  If  specified, set_storage_container_metadata only suc‐
44175       ceeds if the container's lease is active and matches this ID.
44176
44177   show_storage_container_acl
44178       Show a storage container's acl
44179
44180          salt-cloud -f show_storage_container_acl my-azure name=myservice
44181
44182   name
44183       Name of existing container.
44184
44185   lease_id
44186       If specified, show_storage_container_acl  only  succeeds  if  the  con‐
44187       tainer's lease is active and matches this ID.
44188
44189   set_storage_container_acl
44190       Set a storage container's acl
44191
44192          salt-cloud -f set_storage_container my-azure name=mycontainer
44193
44194   name
44195       Name of existing container.
44196
44197   signed_identifiers
44198       SignedIdentifers instance
44199
44200   blob_public_access
44201       Optional. Possible values include: container, blob
44202
44203   lease_id
44204       If  specified,  set_storage_container_acl  only  succeeds  if  the con‐
44205       tainer's lease is active and matches this ID.
44206
44207   delete_storage_container
44208       Delete a container associated with the storage account
44209
44210          salt-cloud -f delete_storage_container my-azure name=mycontainer
44211
44212   name
44213       Name of container to create.
44214
44215   fail_not_exist
44216       Specify whether to throw an exception when the container exists.
44217
44218   lease_id
44219       If specified, delete_storage_container only succeeds if the container's
44220       lease is active and matches this ID.
44221
44222   lease_storage_container
44223       Lease a container associated with the storage account
44224
44225          salt-cloud -f lease_storage_container my-azure name=mycontainer
44226
44227   name
44228       Name of container to create.
44229
44230   lease_action
44231       Required. Possible values: acquire|renew|release|break|change
44232
44233   lease_id
44234       Required if the container has an active lease.
44235
44236   lease_duration
44237       Specifies  the  duration of the lease, in seconds, or negative one (-1)
44238       for a lease that never expires. A non-infinite lease can be between  15
44239       and  60  seconds.  A  lease  duration  cannot be changed using renew or
44240       change. For backwards compatibility, the default is 60, and  the  value
44241       is only used on an acquire operation.
44242
44243   lease_break_period
44244       Optional.  For a break operation, this is the proposed duration of sec‐
44245       onds that the lease should continue before it is broken, between 0  and
44246       60  seconds.  This  break period is only used if it is shorter than the
44247       time remaining on the lease. If longer, the time remaining on the lease
44248       is  used. A new lease will not be available before the break period has
44249       expired, but the lease may be held for longer than the break period. If
44250       this  header  does  not appear with a break operation, a fixed-duration
44251       lease breaks after the remaining lease period elapses, and an  infinite
44252       lease breaks immediately.
44253
44254   proposed_lease_id
44255       Optional for acquire, required for change. Proposed lease ID, in a GUID
44256       string format.
44257
44258   list_blobs
44259       List blobs associated with the container
44260
44261          salt-cloud -f list_blobs my-azure container=mycontainer
44262
44263   container
44264       The name of the storage container
44265
44266   prefix
44267       Optional. Filters the results to return only blobs  whose  names  begin
44268       with the specified prefix.
44269
44270   marker
44271       Optional.  A string value that identifies the portion of the list to be
44272       returned with the next list operation. The operation returns  a  marker
44273       value  within  the response body if the list returned was not complete.
44274       The marker value may then be used in a subsequent call to  request  the
44275       next set of list items. The marker value is opaque to the client.
44276
44277   maxresults
44278       Optional.  Specifies  the  maximum number of blobs to return, including
44279       all BlobPrefix elements. If the request does not specify maxresults  or
44280       specifies  a  value  greater  than  5,000, the server will return up to
44281       5,000 items. Setting maxresults to a value less than or equal  to  zero
44282       results in error response code 400 (Bad Request).
44283
44284   include
44285       Optional. Specifies one or more datasets to include in the response. To
44286       specify more than one of these options on the URI,  you  must  separate
44287       each option with a comma. Valid values are:
44288
44289          snapshots:
44290              Specifies that snapshots should be included in the
44291              enumeration. Snapshots are listed from oldest to newest in
44292              the response.
44293          metadata:
44294              Specifies that blob metadata be returned in the response.
44295          uncommittedblobs:
44296              Specifies that blobs for which blocks have been uploaded,
44297              but which have not been committed using Put Block List
44298              (REST API), be included in the response.
44299          copy:
44300              Version 2012-02-12 and newer. Specifies that metadata
44301              related to any current or previous Copy Blob operation
44302              should be included in the response.
44303
44304   delimiter
44305       Optional.  When  the  request  includes  this  parameter, the operation
44306       returns a BlobPrefix element in the response body that acts as a place‐
44307       holder  for  all  blobs whose names begin with the same substring up to
44308       the appearance of the delimiter character. The delimiter may be a  sin‐
44309       gle character or a string.
44310
44311   show_blob_service_properties
44312       Show a blob's service properties
44313
44314          salt-cloud -f show_blob_service_properties my-azure
44315
44316   set_blob_service_properties
44317       Sets the properties of a storage account's Blob service, including Win‐
44318       dows Azure Storage Analytics. You can also use this  operation  to  set
44319       the  default request version for all incoming requests that do not have
44320       a version specified.
44321
44322          salt-cloud -f set_blob_service_properties my-azure
44323
44324   properties
44325       a StorageServiceProperties object.
44326
44327   timeout
44328       Optional. The timeout parameter is expressed in seconds.
44329
44330   show_blob_properties
44331       Returns all user-defined metadata, standard HTTP properties, and system
44332       properties for the blob.
44333
44334          salt-cloud -f show_blob_properties my-azure container=mycontainer blob=myblob
44335
44336   container
44337       Name of existing container.
44338
44339   blob
44340       Name of existing blob.
44341
44342   lease_id
44343       Required if the blob has an active lease.
44344
44345   set_blob_properties
44346       Set a blob's properties
44347
44348          salt-cloud -f set_blob_properties my-azure
44349
44350   container
44351       Name of existing container.
44352
44353   blob
44354       Name of existing blob.
44355
44356   blob_cache_control
44357       Optional. Modifies the cache control string for the blob.
44358
44359   blob_content_type
44360       Optional. Sets the blob's content type.
44361
44362   blob_content_md5
44363       Optional. Sets the blob's MD5 hash.
44364
44365   blob_content_encoding
44366       Optional. Sets the blob's content encoding.
44367
44368   blob_content_language
44369       Optional. Sets the blob's content language.
44370
44371   lease_id
44372       Required if the blob has an active lease.
44373
44374   blob_content_disposition
44375       Optional. Sets the blob's Content-Disposition header.  The Content-Dis‐
44376       position response header field conveys additional information about how
44377       to  process  the response payload, and also can be used to attach addi‐
44378       tional metadata. For example, if set to attachment, it  indicates  that
44379       the user-agent should not display the response, but instead show a Save
44380       As dialog with a filename other than the blob name specified.
44381
44382   put_blob
44383       Upload a blob
44384
44385          salt-cloud -f put_blob my-azure container=base name=top.sls blob_path=/srv/salt/top.sls
44386          salt-cloud -f put_blob my-azure container=base name=content.txt blob_content='Some content'
44387
44388   container
44389       Name of existing container.
44390
44391   name
44392       Name of existing blob.
44393
44394   blob_path
44395       The path on the local machine of the file to upload as a  blob.  Either
44396       this or blob_content must be specified.
44397
44398   blob_content
44399       The  actual  content to be uploaded as a blob. Either this or blob_path
44400       must me specified.
44401
44402   cache_control
44403       Optional. The Blob service stores this value but does not use or modify
44404       it.
44405
44406   content_language
44407       Optional. Specifies the natural languages used by this resource.
44408
44409   content_md5
44410       Optional.  An MD5 hash of the blob content. This hash is used to verify
44411       the integrity of the blob during transport. When this header is  speci‐
44412       fied, the storage service checks the hash that has arrived with the one
44413       that was sent. If the two hashes do not match, the operation will  fail
44414       with error code 400 (Bad Request).
44415
44416   blob_content_type
44417       Optional. Set the blob's content type.
44418
44419   blob_content_encoding
44420       Optional. Set the blob's content encoding.
44421
44422   blob_content_language
44423       Optional. Set the blob's content language.
44424
44425   blob_content_md5
44426       Optional. Set the blob's MD5 hash.
44427
44428   blob_cache_control
44429       Optional. Sets the blob's cache control.
44430
44431   meta_name_values
44432       A dict containing name, value for metadata.
44433
44434   lease_id
44435       Required if the blob has an active lease.
44436
44437   get_blob
44438       Download a blob
44439
44440          salt-cloud -f get_blob my-azure container=base name=top.sls local_path=/srv/salt/top.sls
44441          salt-cloud -f get_blob my-azure container=base name=content.txt return_content=True
44442
44443   container
44444       Name of existing container.
44445
44446   name
44447       Name of existing blob.
44448
44449   local_path
44450       The  path  on the local machine to download the blob to. Either this or
44451       return_content must be specified.
44452
44453   return_content
44454       Whether or not to return the content directly from the blob. If  speci‐
44455       fied,  must  be  True  or  False. Either this or the local_path must be
44456       specified.
44457
44458   snapshot
44459       Optional. The snapshot parameter is an opaque DateTime value that, when
44460       present, specifies the blob snapshot to retrieve.
44461
44462   lease_id
44463       Required if the blob has an active lease.
44464
44465   progress_callback
44466       callback  for  progress  with  signature function(current, total) where
44467       current is the number of bytes transferred so far,  and  total  is  the
44468       size of the blob.
44469
44470   max_connections
44471       Maximum  number  of  parallel  connections  to  use  when the blob size
44472       exceeds 64MB.  Set to 1 to download the blob chunks sequentially.   Set
44473       to  2  or  more to download the blob chunks in parallel. This uses more
44474       system resources but will download faster.
44475
44476   max_retries
44477       Number of times to retry download of blob chunk if an error occurs.
44478
44479   retry_wait
44480       Sleep time in secs between retries.
44481
44482   Getting Started With Azure ARM
44483       New in version 2016.11.0.
44484
44485
44486       Azure is a cloud service by Microsoft providing virtual  machines,  SQL
44487       services,  media services, and more. Azure ARM (aka, the Azure Resource
44488       Manager) is a next generation version of the Azure portal and API. This
44489       document describes how to use Salt Cloud to create a virtual machine on
44490       Azure ARM, with Salt installed.
44491
44492       More     information      about      Azure      is      located      at
44493       http://www.windowsazure.com/.
44494
44495   Dependencies
44496       · azure >= 2.0.0rc6
44497
44498       · azure-common >= 1.1.4
44499
44500       · azure-mgmt >= 0.30.0rc6
44501
44502       · azure-mgmt-compute >= 0.33.0
44503
44504       · azure-mgmt-network >= 0.30.0rc6
44505
44506       · azure-mgmt-resource >= 0.30.0
44507
44508       · azure-mgmt-storage >= 0.30.0rc6
44509
44510       · azure-mgmt-web >= 0.30.0rc6
44511
44512       · azure-storage >= 0.32.0
44513
44514       · msrestazure >= 0.4.21
44515
44516       · A Microsoft Azure account
44517
44518       · Salt
44519
44520   Installation Tips
44521       Because  the  azure library requires the cryptography library, which is
44522       compiled on-the-fly by pip, you may need  to  install  the  development
44523       tools for your operating system.
44524
44525       Before  you  install  azure  with  pip,  you  should make sure that the
44526       required libraries are installed.
44527
44528   Debian
44529       For Debian and Ubuntu, the  following  command  will  ensure  that  the
44530       required dependencies are installed:
44531
44532          sudo apt-get install build-essential libssl-dev libffi-dev python-dev
44533
44534   Red Hat
44535       For Fedora and RHEL-derivatives, the following command will ensure that
44536       the required dependencies are installed:
44537
44538          sudo yum install gcc libffi-devel python-devel openssl-devel
44539
44540   Configuration
44541       Set         up         the         provider          config          at
44542       /etc/salt/cloud.providers.d/azurearm.conf:
44543
44544          # Note: This example is for /etc/salt/cloud.providers.d/azurearm.conf
44545
44546          my-azurearm-config:
44547            driver: azurearm
44548            master: salt.example.com
44549            subscription_id: 01234567-890a-bcde-f012-34567890abdc
44550
44551            # https://apps.dev.microsoft.com/#/appList
44552            username: <username>@<subdomain>.onmicrosoft.com
44553            password: verybadpass
44554            location: westus
44555            resource_group: my_rg
44556
44557            # Optional
44558            network_resource_group: my_net_rg
44559            cleanup_disks: True
44560            cleanup_vhds: True
44561            cleanup_data_disks: True
44562            cleanup_interfaces: True
44563            custom_data: 'This is custom data'
44564            expire_publisher_cache: 604800  # 7 days
44565            expire_offer_cache: 518400  # 6 days
44566            expire_sku_cache: 432000  # 5 days
44567            expire_version_cache: 345600  # 4 days
44568            expire_group_cache: 14400  # 4 hours
44569            expire_interface_cache: 3600  # 1 hour
44570            expire_network_cache: 3600  # 1 hour
44571
44572   Cloud Profiles
44573       Set up an initial profile at /etc/salt/cloud.profiles:
44574
44575          azure-ubuntu-pass:
44576            provider: my-azure-config
44577            image: Canonical|UbuntuServer|14.04.5-LTS|14.04.201612050
44578            size: Standard_D1_v2
44579            location: eastus
44580            ssh_username: azureuser
44581            ssh_password: verybadpass
44582
44583          azure-ubuntu-key:
44584            provider: my-azure-config
44585            image: Canonical|UbuntuServer|14.04.5-LTS|14.04.201612050
44586            size: Standard_D1_v2
44587            location: eastus
44588            ssh_username: azureuser
44589            ssh_publickeyfile: /path/to/ssh_public_key.pub
44590
44591          azure-win2012:
44592            provider: my-azure-config
44593            image: MicrosoftWindowsServer|WindowsServer|2012-R2-Datacenter|latest
44594            size: Standard_D1_v2
44595            location: westus
44596            win_username: azureuser
44597            win_password: verybadpass
44598
44599       These  options are described in more detail below. Once configured, the
44600       profile can be realized with a salt command:
44601
44602          salt-cloud -p azure-ubuntu newinstance
44603
44604       This will create an salt minion instance named newinstance in Azure. If
44605       the command was executed on the salt-master, its Salt key will automat‐
44606       ically be signed on the master.
44607
44608       Once the instance has been created with salt-minion installed,  connec‐
44609       tivity to it can be verified with Salt:
44610
44611          salt newinstance test.version
44612
44613   Profile Options
44614       The following options are currently available for Azure ARM.
44615
44616   provider
44617       The      name      of     the     provider     as     configured     in
44618       /etc/salt/cloud.providers.d/azure.conf.
44619
44620   image
44621       Required. The name of the image to use to create a VM. Available images
44622       can be viewed using the following command:
44623
44624          salt-cloud --list-images my-azure-config
44625
44626       As you will see in --list-images, image names are comprised of the fol‐
44627       lowing fields, separated by the pipe (|) character:
44628
44629          publisher: For example, Canonical or MicrosoftWindowsServer
44630          offer: For example, UbuntuServer or WindowsServer
44631          sku: Such as 14.04.5-LTS or 2012-R2-Datacenter
44632          version: Such as 14.04.201612050 or latest
44633
44634       It is possible to specify the URL or resource ID path of a custom image
44635       that you have access to, such as:
44636
44637          https://<mystorage>.blob.core.windows.net/system/Microsoft.Compute/Images/<mystorage>/template-osDisk.01234567-890a-bcdef0123-4567890abcde.vhd
44638
44639       or:
44640
44641          /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/myRG/providers/Microsoft.Compute/images/myImage
44642
44643   size
44644       Required.  The  name of the size to use to create a VM. Available sizes
44645       can be viewed using the following command:
44646
44647          salt-cloud --list-sizes my-azure-config
44648
44649   location
44650       Required. The name of the location to create a VM in.  Available  loca‐
44651       tions can be viewed using the following command:
44652
44653          salt-cloud --list-locations my-azure-config
44654
44655   ssh_username
44656       Required  for  Linux. The admin user to add on the instance. It is also
44657       used to log into the newly-created VM to install Salt.
44658
44659   ssh_keyfile
44660       Required if using SSH key authentication. The path on the  Salt  master
44661       to the SSH private key used during the minion bootstrap process.
44662
44663   ssh_publickeyfile
44664       Use either ssh_publickeyfile or ssh_password. The path on the Salt mas‐
44665       ter to the SSH public key which will be pushed to the Linux VM.
44666
44667   ssh_password
44668       Use either ssh_publickeyfile or  ssh_password.  The  password  for  the
44669       admin user on the newly-created Linux virtual machine.
44670
44671   win_username
44672       Required  for  Windows.  The  user to use to log into the newly-created
44673       Windows VM to install Salt.
44674
44675   win_password
44676       Required for Windows. The password to use to log into the newly-created
44677       Windows VM to install Salt.
44678
44679   win_installer
44680       Required for Windows. The path to the Salt installer to be uploaded.
44681
44682   resource_group
44683       Required.  The resource group that all VM resources (VM, network inter‐
44684       faces, etc) will be created in.
44685
44686   network_resource_group
44687       Optional. If specified, then the VM will be connected  to  the  virtual
44688       network  in  this resource group, rather than the parent resource group
44689       of the instance.  The VM interfaces and IPs will remain in the  config‐
44690       ured resource_group with the VM.
44691
44692   network
44693       Required. The virtual network that the VM will be spun up in.
44694
44695   subnet
44696       Optional.  The  subnet  inside  the virtual network that the VM will be
44697       spun up in.  Default is default.
44698
44699   allocate_public_ip
44700       Optional. Default is False. If set to True, a public IP will be created
44701       and assigned to the VM.
44702
44703   load_balancer
44704       Optional.  The load-balancer for the VM's network interface to join. If
44705       specified the backend_pool option need to be set.
44706
44707   backend_pool
44708       Optional. Required if the load_balancer option is  set.  The  load-bal‐
44709       ancer's Backend Pool the VM's network interface will join.
44710
44711   iface_name
44712       Optional.  The name to apply to the VM's network interface. If not sup‐
44713       plied, the value will be set to <VM name>-iface0.
44714
44715   dns_servers
44716       Optional. A list of the DNS servers to configure for the network inter‐
44717       face (will be set on the VM by the DHCP of the VNET).
44718
44719          my-azurearm-profile:
44720            provider: azurearm-provider
44721            network: mynetwork
44722            dns_servers:
44723              - 10.1.1.4
44724              - 10.1.1.5
44725
44726   availability_set
44727       Optional.  If  set,  the VM will be added to the specified availability
44728       set.
44729
44730   volumes
44731       Optional. A list of dictionaries describing data disks to attach to the
44732       instance  can be specified using this setting. The data disk dictionar‐
44733       ies are passed entirely to the Azure DataDisk object, so ad-hoc options
44734       can be handled as long as they are valid properties of the object.
44735
44736          volumes:
44737          - disk_size_gb: 50
44738            caching: ReadWrite
44739          - disk_size_gb: 100
44740            caching: ReadWrite
44741            managed_disk:
44742              storage_account_type: Standard_LRS
44743
44744   cleanup_disks
44745       Optional.  Default  is  False. If set to True, disks will be cleaned up
44746       when the VM that they belong to is deleted.
44747
44748   cleanup_vhds
44749       Optional. Default is False. If set to True, VHDs  will  be  cleaned  up
44750       when  the  VM  and  disk  that  they  belong  to  are deleted. Requires
44751       cleanup_disks to be set to True.
44752
44753   cleanup_data_disks
44754       Optional. Default is False. If set to True, data disks  (non-root  vol‐
44755       umes)  will  be  cleaned  up  whtn  the VM that they are attached to is
44756       deleted.  Requires cleanup_disks to be set to True.
44757
44758   cleanup_interfaces
44759       Optional. Default is False. Normally when a VM is deleted, its  associ‐
44760       ated  interfaces and IPs are retained. This is useful if you expect the
44761       deleted VM to be recreated with the same name and network settings.  If
44762       you  would  like interfaces and IPs to be deleted when their associated
44763       VM is deleted, set this to True.
44764
44765   userdata
44766       Optional. Any custom cloud data that needs to be  specified.  How  this
44767       data  is  used  depends on the operating system and image that is used.
44768       For instance, Linux images that use cloud-init will  import  this  data
44769       for  use with that program. Some Windows images will create a file with
44770       a copy of this data, and others will ignore it. If a Windows image cre‐
44771       ates a file, then the location will depend upon the version of Windows.
44772       This will be ignored if the userdata_file is specified.
44773
44774   userdata_file
44775       Optional. The path to a file to be read and submitted to Azure as  user
44776       data.   How  this is used depends on the operating system that is being
44777       deployed. If used, any userdata setting will be ignored.
44778
44779   userdata_sendkeys
44780       Optional. Set to True in order to generate salt minion keys and provide
44781       them  as  variables  to the userdata script when running it through the
44782       template renderer. The keys can be referenced  as  {{opts['priv_key']}}
44783       and {{opts['pub_key']}}.
44784
44785   userdata_template
44786       Optional.  Enter  the renderer, such as jinja, to be used for the user‐
44787       data script template.
44788
44789   wait_for_ip_timeout
44790       Optional. Default is 600. When waiting for a VM  to  be  created,  Salt
44791       Cloud  will  attempt  to connect to the VM's IP address until it starts
44792       responding. This setting specifies the  maximum  time  to  wait  for  a
44793       response.
44794
44795   wait_for_ip_interval
44796       Optional.  Default  is 10. How long to wait between attempts to connect
44797       to the VM's IP.
44798
44799   wait_for_ip_interval_multiplier
44800       Optional. Default is 1. Increase the interval by this multiplier  after
44801       each request; helps with throttling.
44802
44803   expire_publisher_cache
44804       Optional.   Default   is   604800.   When  fetching  image  data  using
44805       --list-images, a number of web calls need to be made to the  Azure  ARM
44806       API.   This is normally very fast when performed using a VM that exists
44807       inside Azure itself, but can be very slow when made  from  an  external
44808       connection.
44809
44810       By  default,  the publisher data will be cached, and only updated every
44811       604800 seconds (7 days). If you need the publisher cache to be  updated
44812       at  a  different  frequency,  change this setting. Setting it to 0 will
44813       turn off the publisher cache.
44814
44815   expire_offer_cache
44816       Optional. Default is 518400. See expire_publisher_cache for details  on
44817       why this exists.
44818
44819       By  default,  the  offer  data  will  be cached, and only updated every
44820       518400 seconds (6 days). If you need the offer cache to be updated at a
44821       different frequency, change this setting. Setting it to 0 will turn off
44822       the publiser cache.
44823
44824   expire_sku_cache
44825       Optional. Default is 432000. See expire_publisher_cache for details  on
44826       why this exists.
44827
44828       By  default, the sku data will be cached, and only updated every 432000
44829       seconds (5 days). If you need the sku cache to be updated at a  differ‐
44830       ent  frequency,  change this setting. Setting it to 0 will turn off the
44831       sku cache.
44832
44833   expire_version_cache
44834       Optional. Default is 345600. See expire_publisher_cache for details  on
44835       why this exists.
44836
44837       By  default,  the  version  data will be cached, and only updated every
44838       345600 seconds (4 days). If you need the version cache to be updated at
44839       a  different  frequency, change this setting. Setting it to 0 will turn
44840       off the version cache.
44841
44842   expire_group_cache
44843       Optional. Default is 14400. See expire_publisher_cache for  details  on
44844       why this exists.
44845
44846       By  default,  the  resource group data will be cached, and only updated
44847       every 14400 seconds (4 hours). If you need the resource group cache  to
44848       be updated at a different frequency, change this setting. Setting it to
44849       0 will turn off the resource group cache.
44850
44851   expire_interface_cache
44852       Optional. Default is 3600. See expire_publisher_cache  for  details  on
44853       why this exists.
44854
44855       By  default,  the interface data will be cached, and only updated every
44856       3600 seconds (1 hour). If you need the interface cache to be updated at
44857       a  different  frequency, change this setting. Setting it to 0 will turn
44858       off the interface cache.
44859
44860   expire_network_cache
44861       Optional. Default is 3600. See expire_publisher_cache  for  details  on
44862       why this exists.
44863
44864       By  default,  the  network  data will be cached, and only updated every
44865       3600 seconds (1 hour). If you need the network cache to be updated at a
44866       different frequency, change this setting. Setting it to 0 will turn off
44867       the network cache.
44868
44869   Other Options
44870       Other options relevant to Azure ARM.
44871
44872   storage_account
44873       Required for actions involving an Azure storage account.
44874
44875   storage_key
44876       Required for actions involving an Azure storage account.
44877
44878   Show Instance
44879       This action is a  thin  wrapper  around  --full-query,  which  displays
44880       details  on  a  single  instance  only.  In an environment with several
44881       machines, this will save  a  user  from  having  to  sort  through  all
44882       instance data, just to examine a single instance.
44883
44884          salt-cloud -a show_instance myinstance
44885
44886   Getting Started with CloudStack
44887       CloudStack  is one the most popular cloud projects. It's an open source
44888       project to build public and/or private clouds. You can use  Salt  Cloud
44889       to launch CloudStack instances.
44890
44891   Dependencies
44892       · Libcloud >= 0.13.2
44893
44894   Configuration
44895       Using  Salt  for CloudStack, requires an API key and a secret key along
44896       with the API address endpoint information.
44897
44898          # Note: This example is for /etc/salt/cloud.providers or any file in the
44899          # /etc/salt/cloud.providers.d/ directory.
44900
44901          exoscale:
44902            driver: cloudstack
44903            host: api.exoscale.com
44904            path: /compute
44905            apikey: EXOAPIKEY
44906            secretkey: EXOSECRETKEYINYOURACCOUNT
44907
44908       NOTE:
44909          Changed in version 2015.8.0.
44910
44911
44912          The provider parameter in cloud provider definitions was renamed  to
44913          driver.  This  change  was made to avoid confusion with the provider
44914          parameter that is used in cloud profile definitions. Cloud  provider
44915          definitions  now  use  driver to refer to the Salt cloud module that
44916          provides the underlying functionality to connect to  a  cloud  host,
44917          while  cloud  profiles continue to use provider to refer to provider
44918          configurations that you define.
44919
44920   Profiles
44921   Cloud Profiles
44922       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
44923       /etc/salt/cloud.profiles.d/ directory:
44924
44925          exoscale-ubuntu:
44926            provider: exoscale-config
44927            image: Linux Ubuntu 18.04
44928            size: Small
44929            location: ch-gva-2
44930            ssh_username: ubuntu
44931
44932       Locations  can  be  obtained  using the --list-locations option for the
44933       salt-cloud command:
44934
44935          # salt-cloud --list-locations exoscale-config
44936          exoscale:
44937              ----------
44938              cloudstack:
44939                  ----------
44940                  ch-dk-2:
44941                      ----------
44942                      country:
44943                          Unknown
44944                      driver:
44945                      id:
44946                          91e5e9e4-c9ed-4b76-bee4-427004b3baf9
44947                      name:
44948                          ch-dk-2
44949                  ch-gva-2:
44950                      ----------
44951                      country:
44952                          Unknown
44953                      driver:
44954                      id:
44955                          1128bd56-b4d9-4ac6-a7b9-c715b187ce11
44956                      name:
44957                          ch-gva-2
44958
44959       Sizes can be obtained using the --list-sizes option for the  salt-cloud
44960       command:
44961
44962          # salt-cloud --list-sizes exoscale
44963          exoscale:
44964              ----------
44965              cloudstack:
44966                  ----------
44967                  Extra-large:
44968                      ----------
44969                      bandwidth:
44970                          0
44971                      disk:
44972                          0
44973                      driver:
44974                      extra:
44975                          ----------
44976                          cpu:
44977                              4
44978                      get_uuid:
44979                      id:
44980                          350dc5ea-fe6d-42ba-b6c0-efb8b75617ad
44981                      name:
44982                          Extra-large
44983                      price:
44984                          0
44985                      ram:
44986                          16384
44987                      uuid:
44988                          edb4cd4ae14bbf152d451b30c4b417ab095a5bfe
44989          ...SNIP...
44990
44991       Images   can  be  obtained  using  the  --list-images  option  for  the
44992       salt-cloud command:
44993
44994          # salt-cloud --list-images exoscale
44995          exoscale:
44996              ----------
44997              cloudstack:
44998                  ----------
44999                  Linux CentOS 6.6 64-bit:
45000                      ----------
45001                      driver:
45002                      extra:
45003                          ----------
45004                          displaytext:
45005                              Linux CentOS 6.6 64-bit 10G Disk (2014-12-01-bac8e0)
45006                          format:
45007                              QCOW2
45008                          hypervisor:
45009                              KVM
45010                          os:
45011                              Other PV (64-bit)
45012                          size:
45013                              10737418240
45014                      get_uuid:
45015                      id:
45016                          aa69ae64-1ea9-40af-8824-c2c3344e8d7c
45017                      name:
45018                          Linux CentOS 6.6 64-bit
45019                      uuid:
45020                          f26b4f54ec8591abdb6b5feb3b58f720aa438fee
45021          ...SNIP...
45022
45023   CloudStack specific settings
45024   securitygroup
45025       New in version 2017.7.0.
45026
45027
45028       You can specify a list of security groups (by name or id)  that  should
45029       be assigned to the VM:
45030
45031          exoscale:
45032            provider: cloudstack
45033            securitygroup:
45034              - default
45035              - salt-master
45036
45037   Getting Started With DigitalOcean
45038       DigitalOcean   is  a  public  cloud  host  that  specializes  in  Linux
45039       instances.
45040
45041   Configuration
45042       Using  Salt  for  DigitalOcean  requires  a  personal_access_token,  an
45043       ssh_key_file,  and  at  least  one  SSH key name in ssh_key_names. More
45044       ssh_key_names can be added by separating each key  with  a  comma.  The
45045       personal_access_token can be found in the DigitalOcean web interface in
45046       the "Apps & API" section. The SSH key name can be found under the  "SSH
45047       Keys" section.
45048
45049          # Note: This example is for /etc/salt/cloud.providers or any file in the
45050          # /etc/salt/cloud.providers.d/ directory.
45051
45052          my-digitalocean-config:
45053            driver: digitalocean
45054            personal_access_token: xxx
45055            ssh_key_file: /path/to/ssh/key/file
45056            ssh_key_names: my-key-name,my-key-name-2
45057            location: New York 1
45058
45059       NOTE:
45060          Changed in version 2015.8.0.
45061
45062
45063          The  provider parameter in cloud provider definitions was renamed to
45064          driver. This change was made to avoid confusion  with  the  provider
45065          parameter  that is used in cloud profile definitions. Cloud provider
45066          definitions now use driver to refer to the Salt  cloud  module  that
45067          provides  the  underlying  functionality to connect to a cloud host,
45068          while cloud profiles continue to use provider to refer  to  provider
45069          configurations that you define.
45070
45071   Profiles
45072   Cloud Profiles
45073       Set  up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in the
45074       /etc/salt/cloud.profiles.d/ directory:
45075
45076          digitalocean-ubuntu:
45077            provider: my-digitalocean-config
45078            image: 14.04 x64
45079            size: 512MB
45080            location: New York 1
45081            private_networking: True
45082            backups_enabled: True
45083            ipv6: True
45084            create_dns_record: True
45085            userdata_file: /etc/salt/cloud.userdata.d/setup
45086            tags:
45087              - tag1
45088              - tag2
45089              - tag3
45090
45091       Locations can be obtained using the  --list-locations  option  for  the
45092       salt-cloud command:
45093
45094          # salt-cloud --list-locations my-digitalocean-config
45095          my-digitalocean-config:
45096              ----------
45097              digitalocean:
45098                  ----------
45099                  Amsterdam 1:
45100                      ----------
45101                      available:
45102                          False
45103                      features:
45104                          [u'backups']
45105                      name:
45106                          Amsterdam 1
45107                      sizes:
45108                          []
45109                      slug:
45110                          ams1
45111          ...SNIP...
45112
45113       Sizes  can be obtained using the --list-sizes option for the salt-cloud
45114       command:
45115
45116          # salt-cloud --list-sizes my-digitalocean-config
45117          my-digitalocean-config:
45118              ----------
45119              digitalocean:
45120                  ----------
45121                  512MB:
45122                      ----------
45123                      cost_per_hour:
45124                          0.00744
45125                      cost_per_month:
45126                          5.0
45127                      cpu:
45128                          1
45129                      disk:
45130                          20
45131                      id:
45132                          66
45133                      memory:
45134                          512
45135                      name:
45136                          512MB
45137                      slug:
45138                          None
45139          ...SNIP...
45140
45141       Images  can  be  obtained  using  the  --list-images  option  for   the
45142       salt-cloud command:
45143
45144          # salt-cloud --list-images my-digitalocean-config
45145          my-digitalocean-config:
45146              ----------
45147              digitalocean:
45148                  ----------
45149                  10.1:
45150                      ----------
45151                      created_at:
45152                          2015-01-20T20:04:34Z
45153                      distribution:
45154                          FreeBSD
45155                      id:
45156                          10144573
45157                      min_disk_size:
45158                          20
45159                      name:
45160                          10.1
45161                      public:
45162                          True
45163          ...SNIP...
45164
45165   Profile Specifics:
45166   ssh_username
45167       If  using  a  FreeBSD  image  from DigitalOcean, you'll need to set the
45168       ssh_username setting to freebsd in your profile configuration.
45169
45170          digitalocean-freebsd:
45171            provider: my-digitalocean-config
45172            image: 10.2
45173            size: 512MB
45174            ssh_username: freebsd
45175
45176   userdata_file
45177       New in version 2016.11.6.
45178
45179
45180       Use userdata_file to specify the userdata file to upload for  use  with
45181       cloud-init if available.
45182
45183          my-openstack-config:
45184            # Pass userdata to the instance to be created
45185            userdata_file: /etc/salt/cloud-init/packages.yml
45186
45187          my-do-config:
45188            # Pass userdata to the instance to be created
45189            userdata_file: /etc/salt/cloud-init/packages.yml
45190            userdata_template: jinja
45191
45192       If  no  userdata_template  is set in the cloud profile, then the master
45193       configuration will be checked for a userdata_template value.   If  this
45194       is not set, then no templating will be performed on the userdata_file.
45195
45196       To  disable  templating in a cloud profile when a userdata_template has
45197       been set in the master configuration file, simply set userdata_template
45198       to False in the cloud profile:
45199
45200          my-do-config:
45201            # Pass userdata to the instance to be created
45202            userdata_file: /etc/salt/cloud-init/packages.yml
45203            userdata_template: False
45204
45205   Miscellaneous Information
45206       NOTE:
45207          DigitalOcean's  concept  of  Applications  is  nothing  more  than a
45208          pre-configured instance (same as a normal Droplet).  You  will  find
45209          examples  such  Docker  0.7 Ubuntu 13.04 x64 and Wordpress on Ubuntu
45210          12.10 when using the --list-images option. These names can  be  used
45211          just  like  the  rest  of  the standard instances when specifying an
45212          image in the cloud profile configuration.
45213
45214       NOTE:
45215          If your domain's DNS is managed with DigitalOcean, and  your  minion
45216          name matches your DigitalOcean managed DNS domain, you can automati‐
45217          cally create A and AAA records for newly created droplets. Use  cre‐
45218          ate_dns_record:   True   in  your  config  to  enable  this.  Adding
45219          delete_dns_record: True to also delete records  when  a  droplet  is
45220          destroyed  is optional. Due to limitations in salt-cloud design, the
45221          destroy code does not have access to the VM config data. WHETHER YOU
45222          ADD  create_dns_record:  True  OR  NOT,  salt-cloud  WILL attempt to
45223          delete your DNS records if the minion name matches. This  will  pre‐
45224          vent advertising any recycled IP addresses for destroyed minions.
45225
45226       NOTE:
45227          If  you  need to perform the bootstrap using the local interface for
45228          droplets, this can be done by setting ssh_interface: private in your
45229          config.  By  default  the  salt-cloud script would run on the public
45230          interface however if firewall is preventing the  connection  to  the
45231          Droplet  over the public interface you might need to set this option
45232          to connect via private interface. Also, to  use  this  feature  pri‐
45233          vate_networking: True must be set in the config.
45234
45235       NOTE:
45236          Additional documentation is available from DigitalOcean.
45237
45238   Getting Started With Dimension Data Cloud
45239       Dimension  Data  are  a global IT Services company and form part of the
45240       NTT Group.  Dimension Data provide IT-as-a-Service to customers  around
45241       the globe on their cloud platform (Compute as a Service). The CaaS ser‐
45242       vice is available either on one of the public cloud instances or  as  a
45243       private instance on premises.
45244
45245       http://cloud.dimensiondata.com/
45246
45247       CaaS has its own non-standard API , SaltStack provides a wrapper on top
45248       of this API with common methods with other IaaS  solutions  and  Public
45249       cloud  providers.   Therefore, you can use the Dimension Data module to
45250       communicate with both the public and private clouds.
45251
45252   Dependencies
45253       This driver requires the Python apache-libcloud and netaddr library  to
45254       be installed.
45255
45256   Configuration
45257       When  you instantiate a driver you need to pass the following arguments
45258       to the driver constructor:
45259
45260       · user_id - Your Dimension Data Cloud username
45261
45262       · key - Your Dimension Data Cloud password
45263
45264       · region - The region key, one of the possible region keys
45265
45266       Possible regions:
45267
45268       · dd-na : Dimension Data North America (USA)
45269
45270       · dd-eu : Dimension Data Europe
45271
45272       · dd-af : Dimension Data Africa
45273
45274       · dd-au : Dimension Data Australia
45275
45276       · dd-latam : Dimension Data Latin America
45277
45278       · dd-ap : Dimension Data Asia Pacific
45279
45280       · dd-canada : Dimension Data Canada region
45281
45282          # Note: This example is for /etc/salt/cloud.providers or any file in the
45283          # /etc/salt/cloud.providers.d/ directory.
45284
45285          my-dimensiondata-config:
45286            user_id: my_username
45287            key: myPassword!
45288            region: dd-na
45289            driver: dimensiondata
45290
45291       NOTE:
45292          In version 2015.8.0, the provider parameter in cloud provider  defi‐
45293          nitions  was renamed to driver. This change was made to avoid confu‐
45294          sion with the provider parameter that is used in cloud profile defi‐
45295          nitions.  Cloud  provider definitions now use driver to refer to the
45296          Salt cloud module that provides the underlying functionality to con‐
45297          nect  to a cloud host, while cloud profiles continue to use provider
45298          to refer to provider configurations that you define.
45299
45300   Profiles
45301   Cloud Profiles
45302       Dimension Data images have an inbuilt size configuration, there  is  no
45303       list  of  sizes (although, if the command --list-sizes is run a default
45304       will be returned).
45305
45306       Images  can  be  obtained  using  the  --list-images  option  for   the
45307       salt-cloud command:
45308
45309          # salt-cloud --list-images my-dimensiondata-config
45310          my-dimensiondata-config:
45311          ----------
45312          dimensiondata:
45313              ----------
45314              CSfM SharePoint 2013 Trial:
45315                  ----------
45316                  driver:
45317                  extra:
45318                      ----------
45319                      OS_displayName:
45320                          WIN2012R2S/64
45321                      OS_type:
45322                          None
45323                      cpu:
45324                      created:
45325                          2015-03-19T18:36:06.000Z
45326                      description:
45327                          Windows 2012 R2 Standard 64-bit installed with SharePoint 2013 and Visual Studio 2013 Pro (Trial Version)
45328                      location:
45329                      memoryGb:
45330                          12
45331                      osImageKey:
45332                          T-WIN-2012R2-STD-SP2013-VS2013-64-4-12-100
45333                  get_uuid:
45334                  id:
45335                      0df4677e-d380-4e9b-9469-b529ee0214c5
45336                  name:
45337                      CSfM SharePoint 2013 Trial
45338                  uuid:
45339                      28c077f1be970ee904541407b377e3ff87a9ac69
45340              CentOS 5 32-bit 2 CPU:
45341                  ----------
45342                  driver:
45343                  extra:
45344                      ----------
45345                      OS_displayName:
45346                          CENTOS5/32
45347                      OS_type:
45348                          None
45349                      cpu:
45350                      created:
45351                          2015-10-21T14:52:29.000Z
45352                      description:
45353                          CentOS Release 5.11 32-bit
45354                      location:
45355                      memoryGb:
45356                          4
45357                      osImageKey:
45358                          T-CENT-5-32-2-4-10
45359                  get_uuid:
45360                  id:
45361                      a8046bd1-04ea-4668-bf32-bf8d5540faed
45362                  name:
45363                      CentOS 5 32-bit 2 CPU
45364                  uuid:
45365                      4d7dd59929fed6f4228db861b609da64997773a7
45366
45367          ...SNIP...
45368
45369       Locations  can  be  obtained  using the --list-locations option for the
45370       salt-cloud command:
45371
45372          my-dimensiondata-config:
45373              ----------
45374              dimensiondata:
45375                  ----------
45376                  Australia - Melbourne:
45377                      ----------
45378                      country:
45379                          Australia
45380                      driver:
45381                      id:
45382                          AU2
45383                      name:
45384                          Australia - Melbourne
45385                  Australia - Melbourne MCP2:
45386                      ----------
45387                      country:
45388                          Australia
45389                      driver:
45390                      id:
45391                          AU10
45392                      name:
45393                          Australia - Melbourne MCP2
45394                  Australia - Sydney:
45395                      ----------
45396                      country:
45397                          Australia
45398                      driver:
45399                      id:
45400                          AU1
45401                      name:
45402                          Australia - Sydney
45403                  Australia - Sydney MCP2:
45404                      ----------
45405                      country:
45406                          Australia
45407                      driver:
45408                      id:
45409                          AU9
45410                      name:
45411                          Australia - Sydney MCP2
45412                  New Zealand:
45413                      ----------
45414                      country:
45415                          New Zealand
45416                      driver:
45417                      id:
45418                          AU8
45419                      name:
45420                          New Zealand
45421                  New_Zealand:
45422                      ----------
45423                      country:
45424                          New Zealand
45425                      driver:
45426                      id:
45427                          AU11
45428                      name:
45429                          New_Zealand
45430
45431       NOTE:
45432          Dimension Data  Cloud  REST  API  documentation  is  available  from
45433          Dimension Data MCP 2.
45434
45435   Getting Started With AWS EC2
45436       Amazon  EC2  is a very widely used public cloud platform and one of the
45437       core platforms Salt Cloud has been built to support.
45438
45439       Previously, the suggested driver for AWS EC2 was the aws  driver.  This
45440       has been deprecated in favor of the ec2 driver. Configuration using the
45441       old aws driver will still function, but that driver  is  no  longer  in
45442       active development.
45443
45444   Dependencies
45445       This driver requires the Python requests library to be installed.
45446
45447   Configuration
45448       The  following example illustrates some of the options that can be set.
45449       These parameters are discussed in more detail below.
45450
45451          # Note: This example is for /etc/salt/cloud.providers or any file in the
45452          # /etc/salt/cloud.providers.d/ directory.
45453
45454          my-ec2-southeast-public-ips:
45455            # Set up the location of the salt master
45456            #
45457            minion:
45458              master: saltmaster.example.com
45459
45460            # Set up grains information, which will be common for all nodes
45461            # using this provider
45462            grains:
45463              node_type: broker
45464              release: 1.0.1
45465
45466            # Specify whether to use public or private IP for deploy script.
45467            #
45468            # Valid options are:
45469            #     private_ips - The salt-cloud command is run inside the EC2
45470            #     public_ips - The salt-cloud command is run outside of EC2
45471            #
45472            ssh_interface: public_ips
45473
45474            # Optionally configure the Windows credential validation number of
45475            # retries and delay between retries.  This defaults to 10 retries
45476            # with a one second delay betwee retries
45477            win_deploy_auth_retries: 10
45478            win_deploy_auth_retry_delay: 1
45479
45480            # Set the EC2 access credentials (see below)
45481            #
45482            id: 'use-instance-role-credentials'
45483            key: 'use-instance-role-credentials'
45484
45485            # If 'role_arn' is specified the above credentials are used to
45486            # to assume to the role. By default, role_arn is set to None.
45487            role_arn: arn:aws:iam::012345678910:role/SomeRoleName
45488
45489            # Make sure this key is owned by corresponding user (default 'salt') with permissions 0400.
45490            #
45491            private_key: /etc/salt/my_test_key.pem
45492            keyname: my_test_key
45493            securitygroup: default
45494
45495            # Optionally configure default region
45496            # Use salt-cloud --list-locations <provider> to obtain valid regions
45497            #
45498            location: ap-southeast-1
45499            availability_zone: ap-southeast-1b
45500
45501            # Configure which user to use to run the deploy script. This setting is
45502            # dependent upon the AMI that is used to deploy. It is usually safer to
45503            # configure this individually in a profile, than globally. Typical users
45504            # are:
45505            #
45506            # Amazon Linux -> ec2-user
45507            # RHEL         -> ec2-user
45508            # CentOS       -> ec2-user
45509            # Ubuntu       -> ubuntu
45510            # Debian       -> admin
45511            #
45512            ssh_username: ec2-user
45513
45514            # Optionally add an IAM profile
45515            iam_profile: 'arn:aws:iam::123456789012:instance-profile/ExampleInstanceProfile'
45516
45517            driver: ec2
45518
45519
45520          my-ec2-southeast-private-ips:
45521            # Set up the location of the salt master
45522            #
45523            minion:
45524              master: saltmaster.example.com
45525
45526            # Specify whether to use public or private IP for deploy script.
45527            #
45528            # Valid options are:
45529            #     private_ips - The salt-master is also hosted with EC2
45530            #     public_ips - The salt-master is hosted outside of EC2
45531            #
45532            ssh_interface: private_ips
45533
45534            # Optionally configure the Windows credential validation number of
45535            # retries and delay between retries.  This defaults to 10 retries
45536            # with a one second delay betwee retries
45537            win_deploy_auth_retries: 10
45538            win_deploy_auth_retry_delay: 1
45539
45540            # Set the EC2 access credentials (see below)
45541            #
45542            id: 'use-instance-role-credentials'
45543            key: 'use-instance-role-credentials'
45544
45545            # Make sure this key is owned by root with permissions 0400.
45546            #
45547            private_key: /etc/salt/my_test_key.pem
45548            keyname: my_test_key
45549
45550            # This one should NOT be specified if VPC was not configured in AWS to be
45551            # the default. It might cause an error message which says that network
45552            # interfaces and an instance-level security groups may not be specified
45553            # on the same request.
45554            #
45555            securitygroup: default
45556
45557            # Optionally configure default region
45558            #
45559            location: ap-southeast-1
45560            availability_zone: ap-southeast-1b
45561
45562            # Configure which user to use to run the deploy script. This setting is
45563            # dependent upon the AMI that is used to deploy. It is usually safer to
45564            # configure this individually in a profile, than globally. Typical users
45565            # are:
45566            #
45567            # Amazon Linux -> ec2-user
45568            # RHEL         -> ec2-user
45569            # CentOS       -> ec2-user
45570            # Ubuntu       -> ubuntu
45571            #
45572            ssh_username: ec2-user
45573
45574            # Optionally add an IAM profile
45575            iam_profile: 'my other profile name'
45576
45577            driver: ec2
45578
45579       NOTE:
45580          Changed in version 2015.8.0.
45581
45582
45583          The provider parameter in cloud provider definitions was renamed  to
45584          driver.  This  change  was made to avoid confusion with the provider
45585          parameter that is used in cloud profile definitions. Cloud  provider
45586          definitions  now  use  driver to refer to the Salt cloud module that
45587          provides the underlying functionality to connect to  a  cloud  host,
45588          while  cloud  profiles continue to use provider to refer to provider
45589          configurations that you define.
45590
45591   Access Credentials
45592       The id and key settings may be found in the Security  Credentials  area
45593       of the AWS Account page:
45594
45595       https://portal.aws.amazon.com/gp/aws/securityCredentials
45596
45597       Both  are located in the Access Credentials area of the page, under the
45598       Access Keys tab. The id setting is labeled Access Key ID, and  the  key
45599       setting is labeled Secret Access Key.
45600
45601       Note:  if either id or key is set to 'use-instance-role-credentials' it
45602       is assumed that Salt is running on an AWS instance,  and  the  instance
45603       role credentials will be retrieved and used.  Since both the id and key
45604       are required parameters for the AWS ec2 provider, it is recommended  to
45605       set both to 'use-instance-role-credentials' for this functionality.
45606
45607       A  "static"  and "permanent" Access Key ID and Secret Key can be speci‐
45608       fied, but this is not recommended.  Instance role keys are rotated on a
45609       regular basis, and are the recommended method of specifying AWS creden‐
45610       tials.
45611
45612   Windows Deploy Timeouts
45613       For Windows instances, it may take longer than normal for the  instance
45614       to be ready.  In these circumstances, the provider configuration can be
45615       configured     with     a     win_deploy_auth_retries     and/or      a
45616       win_deploy_auth_retry_delay  setting, which default to 10 retries and a
45617       one second delay between retries.  These retries and timeouts relate to
45618       validating the Administrator password once AWS provides the credentials
45619       via the AWS API.
45620
45621   Key Pairs
45622       In order to create an instance with Salt installed  and  configured,  a
45623       key  pair  will need to be created. This can be done in the EC2 Manage‐
45624       ment Console, in the Key Pairs area. These key pairs are  unique  to  a
45625       specific region. Keys in the us-east-1 region can be configured at:
45626
45627       https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs
45628
45629       Keys in the us-west-1 region can be configured at
45630
45631       https://console.aws.amazon.com/ec2/home?region=us-west-1#s=KeyPairs
45632
45633       ...and  so  on.  When  creating  a key pair, the browser will prompt to
45634       download a pem file. This file must be placed in a directory accessible
45635       by Salt Cloud, with permissions set to either 0400 or 0600.
45636
45637   Security Groups
45638       An instance on EC2 needs to belong to a security group. Like key pairs,
45639       these are unique to a specific region. These are also configured in the
45640       EC2 Management Console. Security groups for the us-east-1 region can be
45641       configured at:
45642
45643       https://console.aws.amazon.com/ec2/home?region=us-east-1#s=SecurityGroups
45644
45645       ...and so on.
45646
45647       A  security  group defines firewall rules which an instance will adhere
45648       to. If the salt-master is configured outside of EC2, the security group
45649       must  open  the  SSH  port (usually port 22) in order for Salt Cloud to
45650       install Salt.
45651
45652   IAM Profile
45653       Amazon EC2 instances support the concept of an instance profile,  which
45654       is a logical container for the IAM role. At the time that you launch an
45655       EC2 instance, you can associate the instance with an instance  profile,
45656       which  in  turn  corresponds to the IAM role. Any software that runs on
45657       the EC2 instance is able to access AWS using the permissions associated
45658       with the IAM role.
45659
45660       Scaffolding the profile is a 2-step configuration process:
45661
45662       1. Configure an IAM Role from the IAM Management Console.
45663
45664       2. Attach this role to a new profile. It can be done with the AWS CLI:
45665
45666                 > aws iam create-instance-profile --instance-profile-name PROFILE_NAME
45667                 > aws iam add-role-to-instance-profile --instance-profile-name PROFILE_NAME --role-name ROLE_NAME
45668
45669       Once  the profile is created, you can use the PROFILE_NAME to configure
45670       your cloud profiles.
45671
45672   Cloud Profiles
45673       Set up an initial profile at /etc/salt/cloud.profiles:
45674
45675          base_ec2_private:
45676            provider: my-ec2-southeast-private-ips
45677            image: ami-e565ba8c
45678            size: t2.micro
45679            ssh_username: ec2-user
45680
45681          base_ec2_public:
45682            provider: my-ec2-southeast-public-ips
45683            image: ami-e565ba8c
45684            size: t2.micro
45685            ssh_username: ec2-user
45686
45687          base_ec2_db:
45688            provider: my-ec2-southeast-public-ips
45689            image: ami-e565ba8c
45690            size: m1.xlarge
45691            ssh_username: ec2-user
45692            volumes:
45693              - { size: 10, device: /dev/sdf }
45694              - { size: 10, device: /dev/sdg, type: io1, iops: 1000 }
45695              - { size: 10, device: /dev/sdh, type: io1, iops: 1000 }
45696              - { size: 10, device: /dev/sdi, tags: {"Environment": "production"} }
45697            # optionally add tags to profile:
45698            tag: {'Environment': 'production', 'Role': 'database'}
45699            # force grains to sync after install
45700            sync_after_install: grains
45701
45702          base_ec2_vpc:
45703            provider: my-ec2-southeast-public-ips
45704            image: ami-a73264ce
45705            size: m1.xlarge
45706            ssh_username: ec2-user
45707            script:  /etc/salt/cloud.deploy.d/user_data.sh
45708            network_interfaces:
45709              - DeviceIndex: 0
45710                PrivateIpAddresses:
45711                  - Primary: True
45712                #auto assign public ip (not EIP)
45713                AssociatePublicIpAddress: True
45714                SubnetId: subnet-813d4bbf
45715                SecurityGroupId:
45716                  - sg-750af413
45717            del_root_vol_on_destroy: True
45718            del_all_vols_on_destroy: True
45719            volumes:
45720              - { size: 10, device: /dev/sdf }
45721              - { size: 10, device: /dev/sdg, type: io1, iops: 1000 }
45722              - { size: 10, device: /dev/sdh, type: io1, iops: 1000 }
45723            tag: {'Environment': 'production', 'Role': 'database'}
45724            sync_after_install: grains
45725
45726       The profile can now be realized with a salt command:
45727
45728          # salt-cloud -p base_ec2 ami.example.com
45729          # salt-cloud -p base_ec2_public ami.example.com
45730          # salt-cloud -p base_ec2_private ami.example.com
45731
45732       This will create an instance named ami.example.com in EC2.  The  minion
45733       that  is installed on this instance will have an id of ami.example.com.
45734       If the command was executed on the salt-master, its Salt key will auto‐
45735       matically be signed on the master.
45736
45737       Once  the instance has been created with salt-minion installed, connec‐
45738       tivity to it can be verified with Salt:
45739
45740          # salt 'ami.example.com' test.version
45741
45742   Required Settings
45743       The following settings are always required for EC2:
45744
45745          # Set the EC2 login data
45746          my-ec2-config:
45747            id: HJGRYCILJLKJYG
45748            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
45749            keyname: test
45750            securitygroup: quick-start
45751            private_key: /root/test.pem
45752            driver: ec2
45753
45754   Optional Settings
45755       EC2 allows a userdata file to be passed to the instance to be  created.
45756       This functionality was added to Salt in the 2015.5.0 release.
45757
45758          my-ec2-config:
45759            # Pass userdata to the instance to be created
45760            userdata_file: /etc/salt/my-userdata-file
45761
45762       NOTE:
45763          From  versions 2016.11.0 and 2016.11.3, this file was passed through
45764          the master's renderer to template it. However,  this  caused  issues
45765          with non-YAML data, so templating is no longer performed by default.
45766          To template the userdata_file, add a userdata_template option to the
45767          cloud profile:
45768
45769              my-ec2-config:
45770                # Pass userdata to the instance to be created
45771                userdata_file: /etc/salt/my-userdata-file
45772                userdata_template: jinja
45773
45774          If no userdata_template is set in the cloud profile, then the master
45775          configuration will be checked for  a  userdata_template  value.   If
45776          this  is  not set, then no templating will be performed on the user‐
45777          data_file.
45778
45779          To disable templating in a cloud profile  when  a  userdata_template
45780          has  been  set  in  the  master configuration file, simply set user‐
45781          data_template to False in the cloud profile:
45782
45783              my-ec2-config:
45784                # Pass userdata to the instance to be created
45785                userdata_file: /etc/salt/my-userdata-file
45786                userdata_template: False
45787
45788       EC2 allows a location to be set for servers to be deployed  in.  Avail‐
45789       ability zones exist inside regions, and may be added to increase speci‐
45790       ficity.
45791
45792          my-ec2-config:
45793            # Optionally configure default region
45794            location: ap-southeast-1
45795            availability_zone: ap-southeast-1b
45796
45797       EC2 instances can have a  public  or  private  IP,  or  both.  When  an
45798       instance  is  deployed,  Salt Cloud needs to log into it via SSH to run
45799       the deploy script.  By default, the public IP will be used for this. If
45800       the salt-cloud command is run from another EC2 instance, the private IP
45801       should be used.
45802
45803          my-ec2-config:
45804            # Specify whether to use public or private IP for deploy script
45805            # private_ips or public_ips
45806            ssh_interface: public_ips
45807
45808       Many EC2 instances do not allow remote  access  to  the  root  user  by
45809       default.   Instead,  another user must be used to run the deploy script
45810       using sudo. Some common usernames include ec2-user (for Amazon  Linux),
45811       ubuntu (for Ubuntu instances), admin (official Debian) and bitnami (for
45812       images provided by Bitnami).
45813
45814          my-ec2-config:
45815            # Configure which user to use to run the deploy script
45816            ssh_username: ec2-user
45817
45818       Multiple usernames can be provided,  in  which  case  Salt  Cloud  will
45819       attempt  to  guess  the  correct username. This is mostly useful in the
45820       main configuration file:
45821
45822          my-ec2-config:
45823            ssh_username:
45824              - ec2-user
45825              - ubuntu
45826              - admin
45827              - bitnami
45828
45829       Multiple security groups can also be specified in the same fashion:
45830
45831          my-ec2-config:
45832            securitygroup:
45833              - default
45834              - extra
45835
45836       EC2 instances can be added to an AWS Placement Group by specifying  the
45837       placementgroup option:
45838
45839          my-ec2-config:
45840            placementgroup: my-aws-placement-group
45841
45842       Your  instances may optionally make use of EC2 Spot Instances. The fol‐
45843       lowing example will request that spot instances be used and your  maxi‐
45844       mum  bid  will be $0.10. Keep in mind that different spot prices may be
45845       needed based on the current value of the various  EC2  instance  sizes.
45846       You can check current and past spot instance pricing via the EC2 API or
45847       AWS Console.
45848
45849          my-ec2-config:
45850            spot_config:
45851              spot_price: 0.10
45852
45853       You can optionally specify tags to  apply  to  the  EC2  spot  instance
45854       request.   A spot instance request itself is an object in AWS. The fol‐
45855       lowing example will set two tags on the spot instance request.
45856
45857          my-ec2-config:
45858            spot_config:
45859              spot_price: 0.10
45860              tag:
45861                tag0: value
45862                tag1: value
45863
45864       By default, the spot instance type is set  to  'one-time',  meaning  it
45865       will  be  launched and, if it's ever terminated for whatever reason, it
45866       will not be recreated. If you would like  your  spot  instances  to  be
45867       relaunched  after  a termination (by you or AWS), set the type to 'per‐
45868       sistent'.
45869
45870       NOTE: Spot instances are a great way to save a bit of money, but you do
45871       run the risk of losing your spot instances if the current price for the
45872       instance size goes above your maximum bid.
45873
45874       The following parameters may be set in the cloud configuration file  to
45875       control various aspects of the spot instance launching:
45876
45877       · wait_for_spot_timeout:  seconds  to  wait  before  giving  up on spot
45878         instance launch (default=600)
45879
45880       · wait_for_spot_interval: seconds to wait in between  polling  requests
45881         to determine if a spot instance is available (default=30)
45882
45883       · wait_for_spot_interval_multiplier:  a multiplier to add to the inter‐
45884         val in between requests, which is useful if AWS  is  throttling  your
45885         requests (default=1)
45886
45887       · wait_for_spot_max_failures:  maximum number of failures before giving
45888         up on launching your spot instance (default=10)
45889
45890       If you find that you're being throttled by AWS while polling  for  spot
45891       instances,  you  can set the following in your core cloud configuration
45892       file that will double the polling interval after each request to AWS.
45893
45894          wait_for_spot_interval: 1
45895          wait_for_spot_interval_multiplier: 2
45896
45897       See the AWS Spot Instances documentation for more information.
45898
45899       Block device mappings enable you to specify additional EBS  volumes  or
45900       instance  store  volumes when the instance is launched. This setting is
45901       also available on each cloud profile. Note that the number of  instance
45902       stores varies by instance type.  If more mappings are provided than are
45903       supported by the instance type, mappings will be created in  the  order
45904       provided and additional mappings will be ignored. Consult the AWS docu‐
45905       mentation for a listing of the available instance  stores,  and  device
45906       names.
45907
45908          my-ec2-config:
45909            block_device_mappings:
45910              - DeviceName: /dev/sdb
45911                VirtualName: ephemeral0
45912              - DeviceName: /dev/sdc
45913                VirtualName: ephemeral1
45914
45915       You  can  also use block device mappings to change the size of the root
45916       device at the provisioning time. For example, assuming the root  device
45917       is '/dev/sda', you can set its size to 100G by using the following con‐
45918       figuration.
45919
45920          my-ec2-config:
45921            block_device_mappings:
45922              - DeviceName: /dev/sda
45923                Ebs.VolumeSize: 100
45924                Ebs.VolumeType: gp2
45925                Ebs.SnapshotId: dummy0
45926              - DeviceName: /dev/sdb
45927                # required for devices > 2TB
45928                Ebs.VolumeType: gp2
45929                Ebs.VolumeSize: 3001
45930
45931       Tagging of block devices can be set on a per device basis. For example,
45932       you  may  have  multiple  devices defined in your block_device_mappings
45933       structure. You have the option to set tags on any of one device or  all
45934       of them as shown in the following configuration.
45935
45936          my-ec2-config:
45937            block_device_mappings:
45938              - DeviceName: /dev/sda
45939                Ebs.VolumeSize: 100
45940                Ebs.VolumeType: gp2
45941                tag:
45942                  tag0: myserver
45943                  tag1: value
45944              - DeviceName: /dev/sdb
45945                Ebs.VolumeType: gp2
45946                Ebs.VolumeSize: 3001
45947                tag:
45948                  tagX: value
45949                  tagY: value
45950
45951       You can configure any AWS valid tag name as shown in the above example,
45952       including 'Name'. If you do not configure the tag 'Name',  it  will  be
45953       automatically  created with a value set to the virtual machine name. If
45954       you configure the tag 'Name', the value  you  configure  will  be  used
45955       rather than defaulting to the virtual machine name as shown in the fol‐
45956       lowing configuration.
45957
45958          my-ec2-config:
45959            block_device_mappings:
45960              - DeviceName: /dev/sda
45961                Ebs.VolumeSize: 100
45962                Ebs.VolumeType: gp2
45963                tag:
45964                  Name: myserver
45965                  tag0: value
45966                  tag1: value
45967              - DeviceName: /dev/sdb
45968                Ebs.VolumeType: gp2
45969                Ebs.VolumeSize: 3001
45970                tag:
45971                  Name: customvalue
45972                  tagX: value
45973                  tagY: value
45974
45975       Existing EBS volumes  may  also  be  attached  (not  created)  to  your
45976       instances  or you can create new EBS volumes based on EBS snapshots. To
45977       simply attach an existing volume use the volume_id parameter.
45978
45979          device: /dev/xvdj
45980          volume_id: vol-12345abcd
45981
45982       Or, to create a volume from an EBS snapshot, use the  snapshot  parame‐
45983       ter.
45984
45985          device: /dev/xvdj
45986          snapshot: snap-abcd12345
45987
45988       Note that volume_id will take precedence over the snapshot parameter.
45989
45990       Tags can be set once an instance has been launched.
45991
45992          my-ec2-config:
45993              tag:
45994                  tag0: value
45995                  tag1: value
45996
45997   Setting up a Master inside EC2
45998       Salt  Cloud  can  configure  Salt  Masters  as well as Minions. Use the
45999       make_master setting to use this functionality.
46000
46001          my-ec2-config:
46002            # Optionally install a Salt Master in addition to the Salt Minion
46003            make_master: True
46004
46005       When creating a Salt Master inside EC2 with make_master: True, or  when
46006       the  Salt  Master  is  already  located  and  configured inside EC2, by
46007       default, minions connect to the master's public IP address during  Salt
46008       Cloud's provisioning process. Depending on how your security groups are
46009       defined, the minions may or may not be able  to  communicate  with  the
46010       master.  In  order to use the master's private IP in EC2 instead of the
46011       public IP, set the salt_interface to private_ips.
46012
46013          my-ec2-config:
46014            # Optionally set the IP configuration to private_ips
46015            salt_interface: private_ips
46016
46017   Modify EC2 Tags
46018       One of the features of EC2 is the ability to tag  resources.  In  fact,
46019       under  the  hood,  the  names  given to EC2 instances by salt-cloud are
46020       actually just stored as a tag called Name. Salt Cloud has  the  ability
46021       to manage these tags:
46022
46023          salt-cloud -a get_tags mymachine
46024          salt-cloud -a set_tags mymachine tag1=somestuff tag2='Other stuff'
46025          salt-cloud -a del_tags mymachine tag1,tag2,tag3
46026
46027       It  is  possible  to manage tags on any resource in EC2 with a Resource
46028       ID, not just instances:
46029
46030          salt-cloud -f get_tags my_ec2 resource_id=af5467ba
46031          salt-cloud -f set_tags my_ec2 resource_id=af5467ba tag1=somestuff
46032          salt-cloud -f del_tags my_ec2 resource_id=af5467ba tags=tag1,tag2,tag3
46033
46034   Rename EC2 Instances
46035       As mentioned above, EC2 instances are named via a tag. However,  renam‐
46036       ing  an  instance  by renaming its tag will cause the salt keys to mis‐
46037       match. A rename function exists which renames both  the  instance,  and
46038       the salt keys.
46039
46040          salt-cloud -a rename mymachine newname=yourmachine
46041
46042   Rename on Destroy
46043       When  instances  on  EC2 are destroyed, there will be a lag between the
46044       time that the action is sent, and the time that Amazon  cleans  up  the
46045       instance.  During  this  time,  the  instance still retains a Name tag,
46046       which will cause a collision if the creation of an  instance  with  the
46047       same  name  is  attempted  before the cleanup occurs. In order to avoid
46048       such collisions, Salt Cloud can be configured to rename instances  when
46049       they are destroyed. The new name will look something like:
46050
46051          myinstance-DEL20f5b8ad4eb64ed88f2c428df80a1a0c
46052
46053       In order to enable this, add rename_on_destroy line to the main config‐
46054       uration file:
46055
46056          my-ec2-config:
46057            rename_on_destroy: True
46058
46059   Listing Images
46060       Normally, images can be queried on a  cloud  provider  by  passing  the
46061       --list-images argument to Salt Cloud. This still holds true for EC2:
46062
46063          salt-cloud --list-images my-ec2-config
46064
46065       However,  the full list of images on EC2 is extremely large, and query‐
46066       ing all of the available images may cause Salt Cloud to  behave  as  if
46067       frozen. Therefore, the default behavior of this option may be modified,
46068       by adding an owner argument to the provider configuration:
46069
46070          owner: aws-marketplace
46071
46072       The possible values for this setting are amazon, aws-marketplace, self,
46073       <AWS account ID> or all. The default setting is amazon.  Take note that
46074       all and aws-marketplace may cause Salt Cloud to  appear  as  if  it  is
46075       freezing, as it tries to handle the large amount of data.
46076
46077       It  is  also  possible  to  perform this query using different settings
46078       without modifying  the  configuration  files.  To  do  this,  call  the
46079       avail_images function directly:
46080
46081          salt-cloud -f avail_images my-ec2-config owner=aws-marketplace
46082
46083   EC2 Images
46084       The  following  are  lists of available AMI images, generally sorted by
46085       OS. These lists are on 3rd-party websites,  are  not  managed  by  Salt
46086       Stack  in  any way. They are provided here as a reference for those who
46087       are interested, and contain no warranty (express or implied) from  any‐
46088       one affiliated with Salt Stack. Most of them have never been used, much
46089       less tested, by the Salt Stack team.
46090
46091       · Arch Linux
46092
46093       · FreeBSD
46094
46095       · Fedora
46096
46097       · CentOS
46098
46099       · Ubuntu
46100
46101       · Debian
46102
46103       · OmniOS
46104
46105       · All Images on Amazon
46106
46107       NOTE: If image of a profile does not start with ami-, latest image with
46108       that  name  will  be  used.  For example, to create a CentOS 7 profile,
46109       instead of using the AMI like image: ami-1caef165, we can use its  name
46110       like  image:  'CentOS Linux 7 x86_64 HVM EBS ENA 1803_01'.  We can also
46111       use a pattern like below to get the latest CentOS 7:
46112
46113          profile-id:
46114            provider: provider-name
46115            subnetid: subnet-XXXXXXXX
46116            image: 'CentOS Linux 7 x86_64 HVM EBS *'
46117            size: m1.medium
46118            ssh_username: centos
46119            securitygroupid:
46120              - sg-XXXXXXXX
46121            securitygroupname:
46122              - AnotherSecurityGroup
46123              - AndThirdSecurityGroup
46124
46125   show_image
46126       This is a function that describes an AMI on EC2. This will give insight
46127       as to the defaults that will be applied to an instance using a particu‐
46128       lar AMI.
46129
46130          $ salt-cloud -f show_image ec2 image=ami-fd20ad94
46131
46132   show_instance
46133       This action is a  thin  wrapper  around  --full-query,  which  displays
46134       details  on  a  single  instance  only.  In an environment with several
46135       machines, this will save  a  user  from  having  to  sort  through  all
46136       instance data, just to examine a single instance.
46137
46138          $ salt-cloud -a show_instance myinstance
46139
46140   ebs_optimized
46141       This  argument  enables  switching  of  the  EbsOptimized setting which
46142       default to 'false'. Indicates whether the instance is optimized for EBS
46143       I/O.  This optimization provides dedicated throughput to Amazon EBS and
46144       an optimized configuration stack to provide optimal Amazon EBS I/O per‐
46145       formance.  This  optimization  isn't available with all instance types.
46146       Additional usage charges apply when using an EBS-optimized instance.
46147
46148       This setting can be added to the profile or map file for an instance.
46149
46150       If set to True, this setting will enable an instance to be EbsOptimized
46151
46152          ebs_optimized: True
46153
46154       This can also be set as a cloud provider setting in the EC2 cloud  con‐
46155       figuration:
46156
46157          my-ec2-config:
46158            ebs_optimized: True
46159
46160   del_root_vol_on_destroy
46161       This  argument overrides the default DeleteOnTermination setting in the
46162       AMI for the EBS root volumes for an instance. Many AMIs contain 'false'
46163       as  a  default, resulting in orphaned volumes in the EC2 account, which
46164       may unknowingly be charged to the account. This setting can be added to
46165       the profile or map file for an instance.
46166
46167       If set, this setting will apply to the root EBS volume
46168
46169          del_root_vol_on_destroy: True
46170
46171       This  can also be set as a cloud provider setting in the EC2 cloud con‐
46172       figuration:
46173
46174          my-ec2-config:
46175            del_root_vol_on_destroy: True
46176
46177   del_all_vols_on_destroy
46178       This argument overrides the default DeleteOnTermination setting in  the
46179       AMI  for  the  not-root  EBS volumes for an instance. Many AMIs contain
46180       'false' as a default, resulting in orphaned volumes in the EC2 account,
46181       which  may  unknowingly  be charged to the account. This setting can be
46182       added to the profile or map file for an instance.
46183
46184       If set, this setting will apply to any  (non-root)  volumes  that  were
46185       created by salt-cloud using the 'volumes' setting.
46186
46187       The  volumes  will not be deleted under the following conditions * If a
46188       volume is detached before terminating the instance *  If  a  volume  is
46189       created without this setting and attached to the instance
46190
46191          del_all_vols_on_destroy: True
46192
46193       This  can also be set as a cloud provider setting in the EC2 cloud con‐
46194       figuration:
46195
46196          my-ec2-config:
46197            del_all_vols_on_destroy: True
46198
46199       The setting for this may be changed  on  all  volumes  of  an  existing
46200       instance using one of the following commands:
46201
46202          salt-cloud -a delvol_on_destroy myinstance
46203          salt-cloud -a keepvol_on_destroy myinstance
46204          salt-cloud -a show_delvol_on_destroy myinstance
46205
46206       The setting for this may be changed on a volume on an existing instance
46207       using one of the following commands:
46208
46209          salt-cloud -a delvol_on_destroy myinstance device=/dev/sda1
46210          salt-cloud -a delvol_on_destroy myinstance volume_id=vol-1a2b3c4d
46211          salt-cloud -a keepvol_on_destroy myinstance device=/dev/sda1
46212          salt-cloud -a keepvol_on_destroy myinstance volume_id=vol-1a2b3c4d
46213          salt-cloud -a show_delvol_on_destroy myinstance device=/dev/sda1
46214          salt-cloud -a show_delvol_on_destroy myinstance volume_id=vol-1a2b3c4d
46215
46216   EC2 Termination Protection
46217       EC2 allows the user to enable and disable termination protection  on  a
46218       specific  instance.  An instance with this protection enabled cannot be
46219       destroyed. The EC2 driver adds a show_term_protect action to the  regu‐
46220       lar EC2 functionality.
46221
46222          salt-cloud -a show_term_protect mymachine
46223          salt-cloud -a enable_term_protect mymachine
46224          salt-cloud -a disable_term_protect mymachine
46225
46226   Alternate Endpoint
46227       Normally, EC2 endpoints are build using the region and the service_url.
46228       The resulting endpoint would follow this pattern:
46229
46230          ec2.<region>.<service_url>
46231
46232       This results in an endpoint that looks like:
46233
46234          ec2.us-east-1.amazonaws.com
46235
46236       There are other projects that support an EC2 compatibility layer, which
46237       this  scheme does not account for. This can be overridden by specifying
46238       the endpoint directly in the main cloud configuration file:
46239
46240          my-ec2-config:
46241            endpoint: myendpoint.example.com:1138/services/Cloud
46242
46243   Volume Management
46244       The EC2 driver has several functions and actions for management of  EBS
46245       volumes.
46246
46247   Creating Volumes
46248       A  volume  may  be  created, independent of an instance. A zone must be
46249       specified.  A size or a snapshot may be specified (in GiB). If  neither
46250       is  given,  a  default  size  of  10 GiB will be used. If a snapshot is
46251       given, the size of the snapshot will be used.
46252
46253       The following parameters may also be set (when providing a snapshot  OR
46254       size):
46255
46256       · type:  choose  between  standard  (magnetic  disk), gp2 (SSD), or io1
46257         (provisioned IOPS).  (default=standard)
46258
46259       · iops: the number of IOPS (only applicable to  io1  volumes)  (default
46260         varies on volume size)
46261
46262       · encrypted: enable encryption on the volume (default=false)
46263
46264          salt-cloud -f create_volume ec2 zone=us-east-1b
46265          salt-cloud -f create_volume ec2 zone=us-east-1b size=10
46266          salt-cloud -f create_volume ec2 zone=us-east-1b snapshot=snap12345678
46267          salt-cloud -f create_volume ec2 size=10 type=standard
46268          salt-cloud -f create_volume ec2 size=10 type=gp2
46269          salt-cloud -f create_volume ec2 size=10 type=io1 iops=1000
46270
46271   Attaching Volumes
46272       Unattached volumes may be attached to an instance. The following values
46273       are required; name or instance_id, volume_id, and device.
46274
46275          salt-cloud -a attach_volume myinstance volume_id=vol-12345 device=/dev/sdb1
46276
46277   Show a Volume
46278       The details about an existing volume may be retrieved.
46279
46280          salt-cloud -a show_volume myinstance volume_id=vol-12345
46281          salt-cloud -f show_volume ec2 volume_id=vol-12345
46282
46283   Detaching Volumes
46284       An existing volume may be detached from an instance.
46285
46286          salt-cloud -a detach_volume myinstance volume_id=vol-12345
46287
46288   Deleting Volumes
46289       A volume that is not attached to an instance may be deleted.
46290
46291          salt-cloud -f delete_volume ec2 volume_id=vol-12345
46292
46293   Managing Key Pairs
46294       The EC2 driver has the ability to manage key pairs.
46295
46296   Creating a Key Pair
46297       A key pair is required in order to create an instance. When creating  a
46298       key pair with this function, the return data will contain a copy of the
46299       private key.  This private key is not stored by  Amazon,  will  not  be
46300       obtainable past this point, and should be stored immediately.
46301
46302          salt-cloud -f create_keypair ec2 keyname=mykeypair
46303
46304   Importing a Key Pair
46305          salt-cloud -f import_keypair ec2 keyname=mykeypair file=/path/to/id_rsa.pub
46306
46307   Show a Key Pair
46308       This  function will show the details related to a key pair, not includ‐
46309       ing the private key itself (which is not stored by Amazon).
46310
46311          salt-cloud -f show_keypair ec2 keyname=mykeypair
46312
46313   Delete a Key Pair
46314       This function removes the key pair from Amazon.
46315
46316          salt-cloud -f delete_keypair ec2 keyname=mykeypair
46317
46318   Launching instances into a VPC
46319   Simple launching into a VPC
46320       In the amazon web interface, identify the id or the name of the  subnet
46321       into which your image should be created. Then, edit your cloud.profiles
46322       file like so:-
46323
46324          profile-id:
46325            provider: provider-name
46326            subnetid: subnet-XXXXXXXX
46327            image: ami-XXXXXXXX
46328            size: m1.medium
46329            ssh_username: ubuntu
46330            securitygroupid:
46331              - sg-XXXXXXXX
46332            securitygroupname:
46333              - AnotherSecurityGroup
46334              - AndThirdSecurityGroup
46335
46336       Note that 'subnetid' takes precedence over 'subnetname', but 'security‐
46337       groupid' and 'securitygroupname' are merged together to generate a sin‐
46338       gle list for SecurityGroups of instances.
46339
46340   Specifying interface properties
46341       New in version 2014.7.0.
46342
46343
46344       Launching into a VPC allows you to specify more complex  configurations
46345       for the network interfaces of your virtual machines, for example:-
46346
46347          profile-id:
46348            provider: provider-name
46349            image: ami-XXXXXXXX
46350            size: m1.medium
46351            ssh_username: ubuntu
46352
46353            # Do not include either 'subnetid', 'subnetname', 'securitygroupid' or
46354            # 'securitygroupname' here if you are going to manually specify
46355            # interface configuration
46356            #
46357            network_interfaces:
46358              - DeviceIndex: 0
46359                SubnetId: subnet-XXXXXXXX
46360                SecurityGroupId:
46361                  - sg-XXXXXXXX
46362
46363                # Uncomment this line if you would like to set an explicit private
46364                # IP address for the ec2 instance
46365                #
46366                # PrivateIpAddress: 192.168.1.66
46367
46368                # Uncomment this to associate an existing Elastic IP Address with
46369                # this network interface:
46370                #
46371                # associate_eip: eipalloc-XXXXXXXX
46372
46373                # You can allocate more than one IP address to an interface. Use the
46374                # 'ip addr list' command to see them.
46375                #
46376                # SecondaryPrivateIpAddressCount: 2
46377
46378                # Uncomment this to allocate a new Elastic IP Address to this
46379                # interface (will be associated with the primary private ip address
46380                # of the interface
46381                #
46382                # allocate_new_eip: True
46383
46384                # Uncomment this instead to allocate a new Elastic IP Address to
46385                # both the primary private ip address and each of the secondary ones
46386                #
46387                allocate_new_eips: True
46388
46389                # Uncomment this if you're creating NAT instances. Allows an instance
46390                # to accept IP packets with destinations other than itself.
46391                # SourceDestCheck: False
46392
46393              - DeviceIndex: 1
46394                subnetname: XXXXXXXX-Subnet
46395                securitygroupname:
46396                  - XXXXXXXX-SecurityGroup
46397                  - YYYYYYYY-SecurityGroup
46398
46399       Note that it is an error to assign a 'subnetid', 'subnetname', 'securi‐
46400       tygroupid' or 'securitygroupname' to a profile where the interfaces are
46401       manually configured like this. These are both really properties of each
46402       network interface, not of the machine itself.
46403
46404   Getting Started With GoGrid
46405       GoGrid is a public cloud host that supports Linux and Windows.
46406
46407   Configuration
46408       To use Salt Cloud with GoGrid log into the  GoGrid  web  interface  and
46409       create  an  API key. Do this by clicking on "My Account" and then going
46410       to the API Keys tab.
46411
46412       The apikey and the sharedsecret configuration parameters need to be set
46413       in the configuration file to enable interfacing with GoGrid:
46414
46415          # Note: This example is for /etc/salt/cloud.providers or any file in the
46416          # /etc/salt/cloud.providers.d/ directory.
46417
46418          my-gogrid-config:
46419            driver: gogrid
46420            apikey: asdff7896asdh789
46421            sharedsecret: saltybacon
46422
46423       NOTE:
46424          A Note about using Map files with GoGrid:
46425
46426          Due  to  limitations  in  the GoGrid API, instances cannot be provi‐
46427          sioned in parallel with the GoGrid driver. Map files will work  with
46428          GoGrid,  but  the -P argument should not be used on maps referencing
46429          GoGrid instances.
46430
46431       NOTE:
46432          Changed in version 2015.8.0.
46433
46434
46435          The provider parameter in cloud provider definitions was renamed  to
46436          driver.  This  change  was made to avoid confusion with the provider
46437          parameter that is used in cloud profile definitions. Cloud  provider
46438          definitions  now  use  driver to refer to the Salt cloud module that
46439          provides the underlying functionality to connect to  a  cloud  host,
46440          while  cloud  profiles continue to use provider to refer to provider
46441          configurations that you define.
46442
46443   Profiles
46444   Cloud Profiles
46445       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
46446       /etc/salt/cloud.profiles.d/ directory:
46447
46448          gogrid_512:
46449            provider: my-gogrid-config
46450            size: 512MB
46451            image: CentOS 6.2 (64-bit) w/ None
46452
46453       Sizes  can be obtained using the --list-sizes option for the salt-cloud
46454       command:
46455
46456          # salt-cloud --list-sizes my-gogrid-config
46457          my-gogrid-config:
46458              ----------
46459              gogrid:
46460                  ----------
46461                  512MB:
46462                      ----------
46463                      bandwidth:
46464                          None
46465                      disk:
46466                          30
46467                      driver:
46468                      get_uuid:
46469                      id:
46470                          512MB
46471                      name:
46472                          512MB
46473                      price:
46474                          0.095
46475                      ram:
46476                          512
46477                      uuid:
46478                          bde1e4d7c3a643536e42a35142c7caac34b060e9
46479          ...SNIP...
46480
46481       Images  can  be  obtained  using  the  --list-images  option  for   the
46482       salt-cloud command:
46483
46484          # salt-cloud --list-images my-gogrid-config
46485          my-gogrid-config:
46486              ----------
46487              gogrid:
46488                  ----------
46489                  CentOS 6.4 (64-bit) w/ None:
46490                      ----------
46491                      driver:
46492                      extra:
46493                          ----------
46494                      get_uuid:
46495                      id:
46496                          18094
46497                      name:
46498                          CentOS 6.4 (64-bit) w/ None
46499                      uuid:
46500                          bfd4055389919e01aa6261828a96cf54c8dcc2c4
46501          ...SNIP...
46502
46503   Assigning IPs
46504       New in version 2015.8.0.
46505
46506
46507       The  GoGrid API allows IP addresses to be manually assigned. Salt Cloud
46508       supports this functionality by allowing an IP address to  be  specified
46509       using  the  assign_public_ip argument. This likely makes the most sense
46510       inside a map file, but it may also be used inside a profile.
46511
46512          gogrid_512:
46513            provider: my-gogrid-config
46514            size: 512MB
46515            image: CentOS 6.2 (64-bit) w/ None
46516            assign_public_ip: 11.38.257.42
46517
46518   Getting Started With Google Compute Engine
46519       Google Compute Engine (GCE) is Google-infrastructure as a service  that
46520       lets  you run your large-scale computing workloads on virtual machines.
46521       This document covers how to use Salt Cloud to provision and manage your
46522       virtual machines hosted within Google's infrastructure.
46523
46524       You  can  find  out more about GCE and other Google Cloud Platform ser‐
46525       vices at https://cloud.google.com.
46526
46527   Dependencies
46528       · LibCloud >= 1.0.0
46529
46530       Changed in version 2017.7.0.
46531
46532
46533       · A Google Cloud Platform account with Compute Engine enabled
46534
46535       · A registered Service Account for authorization
46536
46537       · Oh, and obviously you'll need salt
46538
46539   Google Compute Engine Setup
46540       1. Sign up for Google Cloud Platform
46541
46542          Go to https://cloud.google.com and use your Google account  to  sign
46543          up for Google Cloud Platform and complete the guided instructions.
46544
46545       2. Create a Project
46546
46547          Next, go to the console at https://cloud.google.com/console and cre‐
46548          ate a new Project.  Make sure to select your new Project if you  are
46549          not automatically directed to the Project.
46550
46551          Projects are a way of grouping together related users, services, and
46552          billing.  You may opt to create multiple Projects and the  remaining
46553          instructions  will need to be completed for each Project if you wish
46554          to use GCE and Salt Cloud to manage your virtual machines.
46555
46556       3. Enable the Google Compute Engine service
46557
46558          In your Project, either just click Compute Engine to the left, or go
46559          to  the APIs & auth section and APIs link and enable the Google Com‐
46560          pute Engine service.
46561
46562       4. Create a Service Account
46563
46564          To set up authorization, navigate to APIs & auth  section  and  then
46565          the  Credentials  link  and  click  the CREATE NEW CLIENT ID button.
46566          Select Service Account and click the Create Client ID  button.  This
46567          will  automatically  download  a .json file, which may or may not be
46568          used in later steps, depending on your version of libcloud.
46569
46570          Look for a new Service Account section in the page  and  record  the
46571          generated  email address for the matching key/fingerprint. The email
46572          address will be used in  the  service_account_email_address  of  the
46573          /etc/salt/cloud.providers  or the /etc/salt/cloud.providers.d/*.conf
46574          file.
46575
46576       5. Key Format
46577
46578          NOTE:
46579             If you are using libcloud >= 0.17.0 it is  recommended  that  you
46580             use  the  JSON  format  file you downloaded above and skip to the
46581             Provider Configuration section below,  using  the  JSON  file  in
46582             place of 'NEW.pem' in the documentation.
46583
46584             If  you  are  using an older version of libcloud or are unsure of
46585             the version you have, please follow  the  instructions  below  to
46586             generate and format a new P12 key.
46587
46588          In  the  new  Service  Account  section, click Generate new P12 key,
46589          which will automatically download a .p12 private key file. The  .p12
46590          private  key  needs to be converted to a format compatible with lib‐
46591          cloud.  This new Google-generated private key  was  encrypted  using
46592          notasecret as a passphrase. Use the following command and record the
46593          location of the converted private key and record  the  location  for
46594          use in the service_account_private_key of the /etc/salt/cloud file:
46595
46596             openssl pkcs12 -in ORIG.p12 -passin pass:notasecret \
46597             -nodes -nocerts | openssl rsa -out NEW.pem
46598
46599   Provider Configuration
46600       Set  up  the  provider  cloud  config  at  /etc/salt/cloud.providers or
46601       /etc/salt/cloud.providers.d/*.conf:
46602
46603          gce-config:
46604            # Set up the Project name and Service Account authorization
46605            project: "your-project-id"
46606            service_account_email_address: "123-a5gt@developer.gserviceaccount.com"
46607            service_account_private_key: "/path/to/your/NEW.pem"
46608
46609            # Set up the location of the salt master
46610            minion:
46611              master: saltmaster.example.com
46612
46613            # Set up grains information, which will be common for all nodes
46614            # using this provider
46615            grains:
46616              node_type: broker
46617              release: 1.0.1
46618
46619            driver: gce
46620
46621       NOTE:
46622          Empty strings as values  for  service_account_private_key  and  ser‐
46623          vice_account_email_address  can  be used on GCE instances. This will
46624          result in the service account assigned to  the  GCE  instance  being
46625          used.
46626
46627       NOTE:
46628          The  value provided for project must not contain underscores or spa‐
46629          ces and is labeled as "Project ID" on the Google Developers Console.
46630
46631       NOTE:
46632          Changed in version 2015.8.0.
46633
46634
46635          The provider parameter in cloud provider definitions was renamed  to
46636          driver.  This  change  was made to avoid confusion with the provider
46637          parameter that is used in cloud profile definitions. Cloud  provider
46638          definitions  now  use  driver to refer to the Salt cloud module that
46639          provides the underlying functionality to connect to  a  cloud  host,
46640          while  cloud  profiles continue to use provider to refer to provider
46641          configurations that you define.
46642
46643   Profile Configuration
46644       Set   up   an   initial   profile   at   /etc/salt/cloud.profiles    or
46645       /etc/salt/cloud.profiles.d/*.conf:
46646
46647          my-gce-profile:
46648            image: centos-6
46649            size: n1-standard-1
46650            location: europe-west1-b
46651            network: default
46652            subnetwork: default
46653            tags: '["one", "two", "three"]'
46654            metadata: '{"one": "1", "2": "two"}'
46655            use_persistent_disk: True
46656            delete_boot_pd: False
46657            deploy: True
46658            make_master: False
46659            provider: gce-config
46660
46661       The profile can be realized now with a salt command:
46662
46663          salt-cloud -p my-gce-profile gce-instance
46664
46665       This will create an salt minion instance named gce-instance in GCE.  If
46666       the command was executed on the salt-master, its Salt key will automat‐
46667       ically be signed on the master.
46668
46669       Once  the  instance has been created with a salt-minion installed, con‐
46670       nectivity to it can be verified with Salt:
46671
46672          salt gce-instance test.version
46673
46674   GCE Specific Settings
46675       Consult the sample profile below for more information  about  GCE  spe‐
46676       cific  settings.  Some  of  them are mandatory and are properly labeled
46677       below but typically also include a hard-coded default.
46678
46679   Initial Profile
46680       Set   up   an   initial   profile   at   /etc/salt/cloud.profiles    or
46681       /etc/salt/cloud.profiles.d/gce.conf:
46682
46683          my-gce-profile:
46684            image: centos-6
46685            size: n1-standard-1
46686            location: europe-west1-b
46687            network: default
46688            subnetwork: default
46689            tags: '["one", "two", "three"]'
46690            metadata: '{"one": "1", "2": "two"}'
46691            use_persistent_disk: True
46692            delete_boot_pd: False
46693            ssh_interface: public_ips
46694            external_ip: "ephemeral"
46695
46696   image
46697       Image  is  used to define what Operating System image should be used to
46698       for the  instance.  Examples  are  Debian  7  (wheezy)  and  CentOS  6.
46699       Required.
46700
46701   size
46702       A  'size',  in  GCE terms, refers to the instance's 'machine type'. See
46703       the on-line documentation for a complete list  of  GCE  machine  types.
46704       Required.
46705
46706   location
46707       A  'location',  in  GCE terms, refers to the instance's 'zone'. GCE has
46708       the notion of both Regions (e.g. us-central1,  europe-west1,  etc)  and
46709       Zones (e.g. us-central1-a, us-central1-b, etc). Required.
46710
46711   network
46712       Use  this setting to define the network resource for the instance.  All
46713       GCE projects contain a network named 'default' but it's possible to use
46714       this  setting  to  create  instances  belonging  to a different network
46715       resource.
46716
46717   subnetwork
46718       Use this setting to define the subnetwork an instance will  be  created
46719       in.   This requires that the network your instance is created under has
46720       a mode of  'custom'  or  'auto'.   Additionally,  the  subnetwork  your
46721       instance is created under is associated with the location you provide.
46722
46723       New in version 2017.7.0.
46724
46725
46726   tags
46727       GCE  supports  instance/network tags and this setting allows you to set
46728       custom tags. It should be a list of strings and must be  parse-able  by
46729       the python ast.literal_eval() function to convert it to a python list.
46730
46731   metadata
46732       GCE  supports instance metadata and this setting allows you to set cus‐
46733       tom metadata. It should be a hash of key/value strings  and  parse-able
46734       by  the  python  ast.literal_eval()  function to convert it to a python
46735       dictionary.
46736
46737   use_persistent_disk
46738       Use this setting to ensure that when new instances  are  created,  they
46739       will  use  a persistent disk to preserve data between instance termina‐
46740       tions and re-creations.
46741
46742   delete_boot_pd
46743       In the event that you wish the boot persistent disk to  be  permanently
46744       deleted when you destroy an instance, set delete_boot_pd to True.
46745
46746   ssh_interface
46747       New in version 2015.5.0.
46748
46749
46750       Specify whether to use public or private IP for deploy script.
46751
46752       Valid options are:
46753
46754       · private_ips: The salt-master is also hosted with GCE
46755
46756       · public_ips: The salt-master is hosted outside of GCE
46757
46758   external_ip
46759       Per instance setting: Used a named fixed IP address to this host.
46760
46761       Valid options are:
46762
46763       · ephemeral: The host will use a GCE ephemeral IP
46764
46765       · None: No external IP will be configured on this host.
46766
46767       Optionally,  pass  the name of a GCE address to use a fixed IP address.
46768       If the address does not already exist, it will be created.
46769
46770   ex_disk_type
46771       GCE supports two different disk types,  pd-standard  and  pd-ssd.   The
46772       default disk type setting is pd-standard. To specify using an SSD disk,
46773       set pd-ssd as the value.
46774
46775       New in version 2014.7.0.
46776
46777
46778   ip_forwarding
46779       GCE instances can be enabled to use IP Forwarding. When  set  to  True,
46780       this  options  allows the instance to send/receive non-matching src/dst
46781       packets. Default is False.
46782
46783       New in version 2015.8.1.
46784
46785
46786   Profile with scopes
46787       Scopes can be specified by setting the optional ex_service_accounts key
46788       in  your  cloud  profile.  The  following  example enables the bigquery
46789       scope.
46790
46791          my-gce-profile:
46792           image: centos-6
46793            ssh_username: salt
46794            size: f1-micro
46795            location: us-central1-a
46796            network: default
46797            subnetwork: default
46798            tags: '["one", "two", "three"]'
46799            metadata: '{"one": "1", "2": "two",
46800                        "sshKeys": ""}'
46801            use_persistent_disk: True
46802            delete_boot_pd: False
46803            deploy: False
46804            make_master: False
46805            provider: gce-config
46806            ex_service_accounts:
46807              - scopes:
46808                - bigquery
46809
46810       Email can also be specified as an (optional) parameter.
46811
46812          my-gce-profile:
46813          ...snip
46814            ex_service_accounts:
46815              - scopes:
46816                - bigquery
46817                email: default
46818
46819       There can be multiple  entries  for  scopes  since  ex-service_accounts
46820       accepts  a list of dictionaries. For more information refer to the lib‐
46821       cloud documentation on specifying service account scopes.
46822
46823   SSH Remote Access
46824       GCE instances do not allow remote access to the root user  by  default.
46825       Instead, another user must be used to run the deploy script using sudo.
46826       Append   something   like   this   to    /etc/salt/cloud.profiles    or
46827       /etc/salt/cloud.profiles.d/*.conf:
46828
46829          my-gce-profile:
46830              ...
46831
46832              # SSH to GCE instances as gceuser
46833              ssh_username: gceuser
46834
46835              # Use the local private SSH key file located here
46836              ssh_keyfile: /etc/cloud/google_compute_engine
46837
46838       If you have not already used this SSH key to login to instances in this
46839       GCE project you will also need to add the public key to  your  projects
46840       metadata at https://cloud.google.com/console. You could also add it via
46841       the metadata setting too:
46842
46843          my-gce-profile:
46844              ...
46845
46846              metadata: '{"one": "1", "2": "two",
46847                          "sshKeys": "gceuser:ssh-rsa <Your SSH Public Key> gceuser@host"}'
46848
46849   Single instance details
46850       This action is a  thin  wrapper  around  --full-query,  which  displays
46851       details  on  a  single  instance  only.  In an environment with several
46852       machines, this will save  a  user  from  having  to  sort  through  all
46853       instance data, just to examine a single instance.
46854
46855          salt-cloud -a show_instance myinstance
46856
46857   Destroy, persistent disks, and metadata
46858       As noted in the provider configuration, it's possible to force the boot
46859       persistent disk to be deleted when you destroy the instance.   The  way
46860       that  this  has  been  implemented  is  to use the instance metadata to
46861       record the cloud profile used when creating the instance.  When destroy
46862       is  called,  if  the  instance  contains a salt-cloud-profile key, it's
46863       value is used  to  reference  the  matching  profile  to  determine  if
46864       delete_boot_pd is set to True.
46865
46866       Be  aware  that  any GCE instances created with salt cloud will contain
46867       this custom salt-cloud-profile metadata entry.
46868
46869   List various resources
46870       It's also possible to list several GCE resources similar to what can be
46871       done  with other providers.  The following commands can be used to list
46872       GCE zones (locations), machine types (sizes), and images.
46873
46874          salt-cloud --list-locations gce
46875          salt-cloud --list-sizes gce
46876          salt-cloud --list-images gce
46877
46878   Persistent Disk
46879       The Compute Engine provider provides functions via salt-cloud to manage
46880       your  Persistent  Disks.  You  can  create and destroy disks as well as
46881       attach and detach them from running instances.
46882
46883   Create
46884       When creating a disk, you can create an empty disk and specify its size
46885       (in GB), or specify either an 'image' or 'snapshot'.
46886
46887          salt-cloud -f create_disk gce disk_name=pd location=us-central1-b size=200
46888
46889   Delete
46890       Deleting a disk only requires the name of the disk to delete
46891
46892          salt-cloud -f delete_disk gce disk_name=old-backup
46893
46894   Attach
46895       Attaching  a  disk  to  an  existing instance is really an 'action' and
46896       requires both an instance name and disk name. It's possible to use this
46897       ation  to create bootable persistent disks if necessary. Compute Engine
46898       also supports attaching a persistent disk in READ_ONLY mode to multiple
46899       instances  at  the same time (but then cannot be attached in READ_WRITE
46900       to any instance).
46901
46902          salt-cloud -a attach_disk myinstance disk_name=pd mode=READ_WRITE boot=yes
46903
46904   Detach
46905       Detaching a disk is  also  an  action  against  an  instance  and  only
46906       requires  the name of the disk. Note that this does not safely sync and
46907       umount the disk from the instance. To ensure no  data  loss,  you  must
46908       first make sure the disk is unmounted from the instance.
46909
46910          salt-cloud -a detach_disk myinstance disk_name=pd
46911
46912   Show disk
46913       It's  also  possible  to  look up the details for an existing disk with
46914       either a function or an action.
46915
46916          salt-cloud -a show_disk myinstance disk_name=pd
46917          salt-cloud -f show_disk gce disk_name=pd
46918
46919   Create snapshot
46920       You can take a snapshot of an existing disk's content. The snapshot can
46921       then  in  turn  be  used to create other persistent disks. Note that to
46922       prevent data corruption, it is strongly suggested that you unmount  the
46923       disk prior to taking a snapshot. You must name the snapshot and provide
46924       the name of the disk.
46925
46926          salt-cloud -f create_snapshot gce name=backup-20140226 disk_name=pd
46927
46928   Delete snapshot
46929       You can delete a snapshot when it's no longer needed by specifying  the
46930       name of the snapshot.
46931
46932          salt-cloud -f delete_snapshot gce name=backup-20140226
46933
46934   Show snapshot
46935       Use this function to look up information about the snapshot.
46936
46937          salt-cloud -f show_snapshot gce name=backup-20140226
46938
46939   Networking
46940       Compute   Engine   supports  multiple  private  networks  per  project.
46941       Instances within a private network can  easily  communicate  with  each
46942       other  by  an  internal  DNS  service  that  resolves  instance  names.
46943       Instances within a private network can  also  communicate  with  either
46944       directly without needing special routing or firewall rules even if they
46945       span different regions/zones.
46946
46947       Networks also  support  custom  firewall  rules.  By  default,  traffic
46948       between  instances on the same private network is open to all ports and
46949       protocols.  Inbound SSH traffic (port 22) is also allowed but all other
46950       inbound traffic is blocked.
46951
46952   Create network
46953       New networks require a name and CIDR range if they don't have a 'mode'.
46954       Optionally, 'mode' can be provided. Supported modes are  'auto',  'cus‐
46955       tom',  'legacy'.   Optionally,  'description' can be provided to add an
46956       extra note to your network.  New instances can be created and added  to
46957       this  network by setting the network name during create. It is not pos‐
46958       sible to add/remove existing instances to a network.
46959
46960          salt-cloud -f create_network gce name=mynet cidr=10.10.10.0/24
46961          salt-cloud -f create_network gce name=mynet mode=auto description=some optional info.
46962
46963       Changed in version 2017.7.0.
46964
46965
46966   Destroy network
46967       Destroy a network by specifying the name. If a  resource  is  currently
46968       using the target network an exception will be raised.
46969
46970          salt-cloud -f delete_network gce name=mynet
46971
46972   Show network
46973       Specify the network name to view information about the network.
46974
46975          salt-cloud -f show_network gce name=mynet
46976
46977   Create subnetwork
46978       New  subnetworks  require  a name, region, and CIDR range.  Optionally,
46979       'description' can be provided to add an extra note to your  subnetwork.
46980       New  instances  can  be created and added to this subnetwork by setting
46981       the subnetwork name during create. It is  not  possible  to  add/remove
46982       existing instances to a subnetwork.
46983
46984          salt-cloud -f create_subnetwork gce name=mynet network=mynet region=us-central1 cidr=10.0.10.0/24
46985          salt-cloud -f create_subnetwork gce name=mynet network=mynet region=us-central1 cidr=10.10.10.0/24 description=some info about my subnet.
46986
46987       New in version 2017.7.0.
46988
46989
46990   Destroy subnetwork
46991       Destroy  a  subnetwork by specifying the name and region. If a resource
46992       is currently using the target subnetwork an exception will be raised.
46993
46994          salt-cloud -f delete_subnetwork gce name=mynet region=us-central1
46995
46996       New in version 2017.7.0.
46997
46998
46999   Show subnetwork
47000       Specify the subnetwork name to view information about the subnetwork.
47001
47002          salt-cloud -f show_subnetwork gce name=mynet
47003
47004       New in version 2017.7.0.
47005
47006
47007   Create address
47008       Create a new named static IP address in a region.
47009
47010          salt-cloud -f create_address gce name=my-fixed-ip region=us-central1
47011
47012   Delete address
47013       Delete an existing named fixed IP address.
47014
47015          salt-cloud -f delete_address gce name=my-fixed-ip region=us-central1
47016
47017   Show address
47018       View details on a named address.
47019
47020          salt-cloud -f show_address gce name=my-fixed-ip region=us-central1
47021
47022   Create firewall
47023       You'll need to create custom firewall rules if you want to allow  other
47024       traffic  than  what  is described above. For instance, if you run a web
47025       service on your instances, you'll need to explicitly allow HTTP  and/or
47026       SSL  traffic.   The  firewall rule must have a name and it will use the
47027       'default'  network  unless  otherwise  specified   with   a   'network'
47028       attribute. Firewalls also support instance tags for source/destination
47029
47030          salt-cloud -f create_fwrule gce name=web allow=tcp:80,tcp:443,icmp
47031
47032   Delete firewall
47033       Deleting  a  firewall  rule will prevent any previously allowed traffic
47034       for the named firewall rule.
47035
47036          salt-cloud -f delete_fwrule gce name=web
47037
47038   Show firewall
47039       Use this function to review an existing firewall rule's information.
47040
47041          salt-cloud -f show_fwrule gce name=web
47042
47043   Load Balancer
47044       Compute Engine possess a load-balancer feature  for  splitting  traffic
47045       across  multiple  instances.  Please  reference the documentation for a
47046       more complete description.
47047
47048       The  load-balancer  functionality  is  slightly  different  than   that
47049       described  in  Google's  documentation.   The concept of TargetPool and
47050       ForwardingRule are consolidated in  salt-cloud/libcloud.   HTTP  Health
47051       Checks are optional.
47052
47053   HTTP Health Check
47054       HTTP  Health  Checks  can  be  used as a means to toggle load-balancing
47055       across instance members, or to detect if an HTTP site  is  functioning.
47056       A  common  use-case  is to set up a health check URL and if you want to
47057       toggle traffic on/off to an  instance,  you  can  temporarily  have  it
47058       return  a  non-200 response.  A non-200 response to the load-balancer's
47059       health check will keep the LB from  sending  any  new  traffic  to  the
47060       "down" instance.  Once the instance's health check URL beings returning
47061       200-responses, the LB will again start to send traffic  to  it.  Review
47062       Compute  Engine's  documentation for allowable parameters.  You can use
47063       the following salt-cloud functions to manage your HTTP health checks.
47064
47065          salt-cloud -f create_hc gce name=myhc path=/ port=80
47066          salt-cloud -f delete_hc gce name=myhc
47067          salt-cloud -f show_hc gce name=myhc
47068
47069   Load-balancer
47070       When creating a new load-balancer, it requires  a  name,  region,  port
47071       range,  and  list  of  members. There are other optional parameters for
47072       protocol, and list of health checks. Deleting or showing details  about
47073       the LB only requires the name.
47074
47075          salt-cloud -f create_lb gce name=lb region=... ports=80 members=w1,w2,w3
47076          salt-cloud -f delete_lb gce name=lb
47077          salt-cloud -f show_lb gce name=lb
47078
47079       You  can  also  create a load balancer using a named fixed IP addressby
47080       specifying the name of the address.  If the address does not exist  yet
47081       it will be created.
47082
47083          salt-cloud -f create_lb gce name=my-lb region=us-central1 ports=234 members=s1,s2,s3 address=my-lb-ip
47084
47085   Attach and Detach LB
47086       It  is  possible  to  attach  or  detach  an  instance from an existing
47087       load-balancer.  Both the instance and load-balancer must  exist  before
47088       using these functions.
47089
47090          salt-cloud -f attach_lb gce name=lb member=w4
47091          salt-cloud -f detach_lb gce name=lb member=oops
47092
47093   Getting Started With HP Cloud
47094       HP  Cloud  is a major public cloud platform and uses the libcloud open‐
47095       stack driver. The current version of OpenStack that HP  Cloud  uses  is
47096       Havana. When an instance is booted, it must have a floating IP added to
47097       it in order to connect to it and further below you will see an  example
47098       that adds context to this statement.
47099
47100   Set up a cloud provider configuration file
47101       To  use  the  openstack  driver for HP Cloud, set up the cloud provider
47102       configuration file as in the example shown below:
47103
47104       /etc/salt/cloud.providers.d/hpcloud.conf:
47105
47106          hpcloud-config:
47107            # Set the location of the salt-master
47108            #
47109            minion:
47110              master: saltmaster.example.com
47111
47112            # Configure HP Cloud using the OpenStack plugin
47113            #
47114            identity_url: https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
47115            compute_name: Compute
47116            protocol: ipv4
47117
47118            # Set the compute region:
47119            #
47120            compute_region: region-b.geo-1
47121
47122            # Configure HP Cloud authentication credentials
47123            #
47124            user: myname
47125            tenant: myname-project1
47126            password: xxxxxxxxx
47127
47128            # keys to allow connection to the instance launched
47129            #
47130            ssh_key_name: yourkey
47131            ssh_key_file: /path/to/key/yourkey.priv
47132
47133            driver: openstack
47134
47135       The subsequent example that follows is using the openstack driver.
47136
47137       NOTE:
47138          Changed in version 2015.8.0.
47139
47140
47141          The provider parameter in cloud provider definitions was renamed  to
47142          driver.  This  change  was made to avoid confusion with the provider
47143          parameter that is used in cloud profile definitions. Cloud  provider
47144          definitions  now  use  driver to refer to the Salt cloud module that
47145          provides the underlying functionality to connect to  a  cloud  host,
47146          while  cloud  profiles continue to use provider to refer to provider
47147          configurations that you define.
47148
47149   Compute Region
47150       Originally, HP Cloud, in its  OpenStack  Essex  version  (1.0),  had  3
47151       availability  zones in one region, US West (region-a.geo-1), which each
47152       behaved each as a region.
47153
47154       This has since changed, and the current OpenStack Havana version of  HP
47155       Cloud  (1.1)  now has simplified this and now has two regions to choose
47156       from:
47157
47158          region-a.geo-1 -> US West
47159          region-b.geo-1 -> US East
47160
47161   Authentication
47162       The user is the same user as is used to log into the HP  Cloud  manage‐
47163       ment   UI.   The   tenant   can  be  found  in  the  upper  left  under
47164       "Project/Region/Scope".  It is often named the same as user albeit with
47165       a  -project1 appended.  The password is of course what you created your
47166       account with. The management UI also  has  other  information  such  as
47167       being able to select US East or US West.
47168
47169   Set up a cloud profile config file
47170       The  profile  shown  below  is  a  know  working  profile for an Ubuntu
47171       instance. The profile configuration file is  stored  in  the  following
47172       location:
47173
47174       /etc/salt/cloud.profiles.d/hp_ae1_ubuntu.conf:
47175
47176          hp_ae1_ubuntu:
47177              provider: hp_ae1
47178              image: 9302692b-b787-4b52-a3a6-daebb79cb498
47179              ignore_cidr: 10.0.0.1/24
47180              networks:
47181                - floating: Ext-Net
47182              size: standard.small
47183              ssh_key_file: /root/keys/test.key
47184              ssh_key_name: test
47185              ssh_username: ubuntu
47186
47187       Some important things about the example above:
47188
47189       · The  image  parameter can use either the image name or image ID which
47190         you can obtain by running in the example below (this case US East):
47191
47192          # salt-cloud --list-images hp_ae1
47193
47194       · The parameter ignore_cidr specifies a range of  addresses  to  ignore
47195         when  trying to connect to the instance. In this case, it's the range
47196         of IP addresses used for an private IP of the instance.
47197
47198       · The parameter networks is very important to include. In previous ver‐
47199         sions  of Salt Cloud, this is what made it possible for salt-cloud to
47200         be able to attach a floating IP to the instance in order  to  connect
47201         to  the  instance  and  set  up  the  minion.  The current version of
47202         salt-cloud doesn't require it, though having it is of no harm either.
47203         Newer  versions  of  salt-cloud  will  use this, and without it, will
47204         attempt to find a list of floating IP addresses to use regardless.
47205
47206       · The ssh_key_file and ssh_key_name are the keys that will make it pos‐
47207         sible to connect to the instance to set up the minion
47208
47209       · The  ssh_username  parameter, in this case, being that the image used
47210         will be ubuntu, will make it possible to not only log in but  install
47211         the minion
47212
47213   Launch an instance
47214       To instantiate a machine based on this profile (example):
47215
47216          # salt-cloud -p hp_ae1_ubuntu ubuntu_instance_1
47217
47218       After   several   minutes,   this   will   create   an  instance  named
47219       ubuntu_instance_1 running in HP Cloud in the US East  region  and  will
47220       set  up  the minion and then return information about the instance once
47221       completed.
47222
47223   Manage the instance
47224       Once the instance has been created with salt-minion installed,  connec‐
47225       tivity to it can be verified with Salt:
47226
47227          # salt ubuntu_instance_1 ping
47228
47229   SSH to the instance
47230       Additionally,  the  instance can be accessed via SSH using the floating
47231       IP assigned to it
47232
47233          # ssh ubuntu@<floating ip>
47234
47235   Using a private IP
47236       Alternatively, in the cloud profile, using the private IP to  log  into
47237       the  instance  to  set up the minion is another option, particularly if
47238       salt-cloud is running within the cloud on an instance that  is  on  the
47239       same network with all the other instances (minions)
47240
47241       The  example  below is a modified version of the previous example. Note
47242       the use of ssh_interface:
47243
47244          hp_ae1_ubuntu:
47245              provider: hp_ae1
47246              image: 9302692b-b787-4b52-a3a6-daebb79cb498
47247              size: standard.small
47248              ssh_key_file: /root/keys/test.key
47249              ssh_key_name: test
47250              ssh_username: ubuntu
47251              ssh_interface: private_ips
47252
47253       With this setup, salt-cloud will use the private IP address to ssh into
47254       the instance and set up the salt-minion
47255
47256   Getting Started With Joyent
47257       Joyent  is  a  public cloud host that supports SmartOS, Linux, FreeBSD,
47258       and Windows.
47259
47260   Dependencies
47261       This driver requires the Python requests library to be installed.
47262
47263   Configuration
47264       The Joyent cloud requires three configuration parameters. The user name
47265       and password that are used to log into the Joyent system, and the loca‐
47266       tion of the private ssh key associated with the Joyent account. The ssh
47267       key  is needed to send the provisioning commands up to the freshly cre‐
47268       ated virtual machine.
47269
47270          # Note: This example is for /etc/salt/cloud.providers or any file in the
47271          # /etc/salt/cloud.providers.d/ directory.
47272
47273          my-joyent-config:
47274            driver: joyent
47275            user: fred
47276            password: saltybacon
47277            private_key: /root/mykey.pem
47278            keyname: mykey
47279
47280       NOTE:
47281          Changed in version 2015.8.0.
47282
47283
47284          The provider parameter in cloud provider definitions was renamed  to
47285          driver.  This  change  was made to avoid confusion with the provider
47286          parameter that is used in cloud profile definitions. Cloud  provider
47287          definitions  now  use  driver to refer to the Salt cloud module that
47288          provides the underlying functionality to connect to  a  cloud  host,
47289          while  cloud  profiles continue to use provider to refer to provider
47290          configurations that you define.
47291
47292   Profiles
47293   Cloud Profiles
47294       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
47295       /etc/salt/cloud.profiles.d/ directory:
47296
47297          joyent_512:
47298            provider: my-joyent-config
47299            size: g4-highcpu-512M
47300            image: ubuntu-16.04
47301
47302       Sizes  can be obtained using the --list-sizes option for the salt-cloud
47303       command:
47304
47305          # salt-cloud --list-sizes my-joyent-config
47306          my-joyent-config:
47307              ----------
47308              joyent:
47309                  ----------
47310                  g4-highcpu-512M:
47311                      ----------
47312                      default:
47313                          False
47314                      description:
47315                          Compute Optimized 512M RAM - 1 vCPU - 10 GB Disk
47316                      disk:
47317                          10240
47318                      group:
47319                          Compute Optimized
47320                      id:
47321                          14aea8fc-d0f8-11e5-bfe4-a7458dbc6c99
47322                      lwps:
47323                          4000
47324                      memory:
47325                          512
47326                      name:
47327                          g4-highcpu-512M
47328                      swap:
47329                          2048
47330                      vcpus:
47331                          0
47332                      version:
47333                          1.0.3
47334          ...SNIP...
47335
47336       Images  can  be  obtained  using  the  --list-images  option  for   the
47337       salt-cloud command:
47338
47339          # salt-cloud --list-images my-joyent-config
47340          my-joyent-config:
47341              ----------
47342              joyent:
47343                  ----------
47344                  base:
47345                      ----------
47346                      description:
47347                          A 32-bit SmartOS image with just essential packages
47348                          installed. Ideal for users who are comfortabl e with
47349                          setting up their own environment and tools.
47350                      files:
47351                          |_
47352                            ----------
47353                            compression:
47354                                gzip
47355                            sha1:
47356                                b00a77408ddd9aeac85085b68b1cd22a07353956
47357                            size:
47358                                106918297
47359                      homepage:
47360                          http://wiki.joyent.com/jpc2/Base+Instance
47361                      id:
47362                          00aec452-6e81-11e4-8474-ebfec9a1a911
47363                      name:
47364                          base
47365                      os:
47366                          smartos
47367                      owner:
47368                          9dce1460-0c4c-4417-ab8b-25ca478c5a78
47369                      public:
47370                          True
47371                      published_at:
47372                          2014-11-17T17:41:46Z
47373                      requirements:
47374                          ----------
47375                      state:
47376                          active
47377                      type:
47378                          smartmachine
47379                      version:
47380                          14.3.0
47381
47382          ...SNIP...
47383
47384   SmartDataCenter
47385       This  driver  can also be used with the Joyent SmartDataCenter project.
47386       More details can be found at:
47387
47388       Using SDC requires that an api_host_suffix is set.  The  default  value
47389       for this is .api.joyentcloud.com. All characters, including the leading
47390       ., should be included:
47391
47392          api_host_suffix: .api.myhostname.com
47393
47394   Miscellaneous Configuration
47395       The following configuration items can be set in either provider or pro‐
47396       file confuration files.
47397
47398   use_ssl
47399       When  set  to  True (the default), attach https:// to any URL that does
47400       not already have http:// or https:// included  at  the  beginning.  The
47401       best  practice  is  to  leave the protocol out of the URL, and use this
47402       setting to manage it.
47403
47404   verify_ssl
47405       When set to True (the default), the underlying web library will  verify
47406       the SSL certificate. This should only be set to False for debugging.`
47407
47408   Getting Started With Libvirt
47409       Libvirt  is  a toolkit to interact with the virtualization capabilities
47410       of recent versions of Linux (and other OSes). This  driver  Salt  cloud
47411       provider is currently geared towards libvirt with qemu-kvm.
47412
47413       http://www.libvirt.org/
47414
47415   Host Dependencies
47416       · libvirt >= 1.2.18 (older might work)
47417
47418   Salt-Cloud Dependencies
47419       · libvirt-python
47420
47421   Provider Configuration
47422       For  every  KVM  host  a provider needs to be set up. The provider cur‐
47423       rently maps to one libvirt daemon (e.g. one KVM host).
47424
47425       Set    up    the    provider    cloud     configuration     file     at
47426       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf.
47427
47428          # Set up a provider with qemu+ssh protocol
47429          kvm-via-ssh:
47430            driver: libvirt
47431            url: qemu+ssh://user@kvm.company.com/system?socket=/var/run/libvirt/libvirt-sock
47432
47433          # Or connect to a local libvirt instance
47434          local-kvm:
47435            driver: libvirt
47436            url: qemu:///system
47437            # work around flag for XML validation errors while cloning
47438            validate_xml: no
47439
47440   Cloud Profiles
47441       Virtual machines get cloned from so called Cloud Profiles. Profiles can
47442       be  set  up   at   /etc/salt/cloud.profiles   or   /etc/salt/cloud.pro‐
47443       files.d/*.conf:
47444
47445       · Configure a profile to be used:
47446
47447          centos7:
47448            # points back at provider configuration
47449            provider: local-kvm
47450            base_domain: base-centos7-64
47451            ip_source: ip-learning
47452            ssh_username: root
47453            password: my-very-secret-password
47454            # /tmp is mounted noexec.. do workaround
47455            deploy_command: sh /tmp/.saltcloud/deploy.sh
47456            script_args: -F
47457            # grains to add to the minion
47458            grains:
47459              clones-are-awesome: true
47460            # override minion settings
47461            minion:
47462              master: 192.168.16.1
47463              master_port: 5506
47464
47465       The profile can be realized now with a salt command:
47466
47467          # salt-cloud -p centos7 my-centos7-clone
47468
47469       This  will create an instance named my-centos7-clone on the cloud host.
47470       Also the minion id will be set to my-centos7-clone.
47471
47472       If the command was executed on the salt-master, its Salt key will auto‐
47473       matically be signed on the master.
47474
47475       Once  the instance has been created with salt-minion installed, connec‐
47476       tivity to it can be verified with Salt:
47477
47478          # salt my-centos7-clone test.version
47479
47480   Required Settings
47481       The following settings are always required for libvirt:
47482
47483          centos7:
47484            provider: local-kvm
47485            # the domain to clone
47486            base_domain: base-centos7-64
47487            # how to obtain the IP address of the cloned instance
47488            # ip-learning or qemu-agent
47489            ip_source: ip-learning
47490
47491       The ip_source setting  controls  how  the  IP  address  of  the  cloned
47492       instance  is  determined.   When  using ip-learning the IP is requested
47493       from libvirt. This needs a recent libvirt version and may only work for
47494       NAT  networks.  Another  option is to use qemu-agent this requires that
47495       the qemu-agent is installed and configured to run  at  startup  in  the
47496       base domain.
47497
47498   Optional Settings
47499          # Username and password
47500          ssh_username: root
47501          password: my-secret-password
47502
47503          # Cloning strategy: full or quick
47504          clone_strategy: quick
47505
47506       The  clone_strategy controls how the clone is done. In case of full the
47507       disks are copied creating a standalone clone.  If  quick  is  used  the
47508       disks  of the base domain are used as backing disks for the clone. This
47509       results in nearly instantaneous clones at the expense of  slower  write
47510       performance. The quick strategy has a number of requirements:
47511
47512       · The disks must be of type qcow2
47513
47514       · The base domain must be turned off
47515
47516       · The base domain must not change after creating the clone
47517
47518   Getting Started With Linode
47519       Linode is a public cloud host with a focus on Linux instances.
47520
47521       Starting with the 2015.8.0 release of Salt, the Linode driver uses Lin‐
47522       ode's native REST API. There are no external dependencies  required  to
47523       use the Linode driver, other than a Linode account.
47524
47525   Provider Configuration
47526       Linode requires a single API key, but the default root password for new
47527       instances also needs to be set. The password needs to be eight  charac‐
47528       ters and contain lowercase, uppercase, and numbers.
47529
47530       Set     up     the     provider    cloud    configuration    file    at
47531       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf.
47532
47533          my-linode-config:
47534            apikey: 'asldkgfakl;sdfjsjaslfjaklsdjf;askldjfaaklsjdfhasldsadfghdkf'
47535            password: 'F00barbaz'
47536            driver: linode
47537
47538       NOTE:
47539          Changed in version 2015.8.0.
47540
47541
47542          The provider parameter in cloud provider definitions was renamed  to
47543          driver.  This  change  was made to avoid confusion with the provider
47544          parameter that is used in cloud profile definitions. Cloud  provider
47545          definitions  now  use  driver to refer to the Salt cloud module that
47546          provides the underlying functionality to connect to  a  cloud  host,
47547          while  cloud  profiles continue to use provider to refer to provider
47548          configurations that you define.
47549
47550   Profile Configuration
47551       Linode profiles require a provider, size, image, and location.  Set  up
47552       an  initial profile at /etc/salt/cloud.profiles or /etc/salt/cloud.pro‐
47553       files.d/*.conf:
47554
47555          linode_1024:
47556            provider: my-linode-config
47557            size: Linode 2GB
47558            image: CentOS 7
47559            location: London, England, UK
47560
47561       The profile can be realized now with a salt command:
47562
47563          salt-cloud -p linode_1024 linode-instance
47564
47565       This will create an salt minion instance named linode-instance in  Lin‐
47566       ode.  If the command was executed on the salt-master, its Salt key will
47567       automatically be signed on the master.
47568
47569       Once the instance has been created with a salt-minion  installed,  con‐
47570       nectivity to it can be verified with Salt:
47571
47572          salt linode-instance test.version
47573
47574   Listing Sizes
47575       Sizes  can be obtained using the --list-sizes option for the salt-cloud
47576       command:
47577
47578          # salt-cloud --list-sizes my-linode-config
47579          my-linode-config:
47580              ----------
47581              linode:
47582                  ----------
47583                  Linode 2GB:
47584                      ----------
47585                      AVAIL:
47586                          ----------
47587                          10:
47588                              500
47589                          11:
47590                              500
47591                          2:
47592                              500
47593                          3:
47594                              500
47595                          4:
47596                              500
47597                          6:
47598                              500
47599                          7:
47600                              500
47601                          8:
47602                              500
47603                          9:
47604                              500
47605                      CORES:
47606                          1
47607                      DISK:
47608                          50
47609                      HOURLY:
47610                          0.015
47611                      LABEL:
47612                          Linode 2GB
47613                      PLANID:
47614                          2
47615                      PRICE:
47616                          10.0
47617                      RAM:
47618                          2048
47619                      XFER:
47620                          2000
47621          ...SNIP...
47622
47623   Listing Images
47624       Images  can  be  obtained  using  the  --list-images  option  for   the
47625       salt-cloud command:
47626
47627          # salt-cloud --list-images my-linode-config
47628          my-linode-config:
47629              ----------
47630              linode:
47631                  ----------
47632                  Arch Linux 2015.02:
47633                      ----------
47634                      CREATE_DT:
47635                          2015-02-20 14:17:16.0
47636                      DISTRIBUTIONID:
47637                          138
47638                      IS64BIT:
47639                          1
47640                      LABEL:
47641                          Arch Linux 2015.02
47642                      MINIMAGESIZE:
47643                          800
47644                      REQUIRESPVOPSKERNEL:
47645                          1
47646          ...SNIP...
47647
47648   Listing Locations
47649       Locations  can  be  obtained  using the --list-locations option for the
47650       salt-cloud command:
47651
47652          # salt-cloud --list-locations my-linode-config
47653          my-linode-config:
47654              ----------
47655              linode:
47656                  ----------
47657                  Atlanta, GA, USA:
47658                      ----------
47659                      ABBR:
47660                          atlanta
47661                      DATACENTERID:
47662                          4
47663                      LOCATION:
47664                          Atlanta, GA, USA
47665          ...SNIP...
47666
47667   Linode Specific Settings
47668       There are several options outlined below that can be  added  to  either
47669       the  Linode  provider  of profile configuration files. Some options are
47670       mandatory and are properly labeled below but typically also  include  a
47671       hard-coded default.
47672
47673   image
47674       Image  is used to define what Operating System image should be used for
47675       the instance. Examples are Ubuntu 14.04 LTS and CentOS 7.  This  option
47676       should be specified in the profile config. Required.
47677
47678   location
47679       Location  is  used to define which Linode data center the instance will
47680       reside in.  Required.
47681
47682   size
47683       Size is used to define the instance's "plan type" which  includes  mem‐
47684       ory, storage, and price. Required.
47685
47686   assign_private_ip
47687       New in version 2016.3.0.
47688
47689
47690       Assigns  a  private IP address to a Linode when set to True. Default is
47691       False.
47692
47693   ssh_interface
47694       New in version 2016.3.0.
47695
47696
47697       Specify whether to use a public or private IP for  the  deploy  script.
47698       Valid options are:
47699
47700       · public_ips: The salt-master is hosted outside of Linode. Default.
47701
47702       · private_ips: The salt-master is also hosted within Linode.
47703
47704       If  specifying  private_ips, the Linodes must be hosted within the same
47705       data center and have the Network Helper enabled on your entire account.
47706       The  instance  that is running the Salt-Cloud provisioning command must
47707       also have a private IP assigned to it.
47708
47709       Newer accounts created  on  Linode  have  the  Network  Helper  setting
47710       enabled by default, account-wide. Legacy accounts do not have this set‐
47711       ting enabled by default. To enable the Network Helper  on  your  Linode
47712       account, please see Linode's Network Helper documentation.
47713
47714       If  you're  running into problems, be sure to restart the instance that
47715       is running Salt Cloud after  adding  its  own  private  IP  address  or
47716       enabling the Network Helper.
47717
47718   clonefrom
47719       Setting  the  clonefrom  option to a specified instance enables the new
47720       instance to be cloned from the named instance instead of being  created
47721       from  scratch.  If using the clonefrom option, it is likely a good idea
47722       to also specify script_args: -C if a minion is already installed on the
47723       to-be-cloned  instance. See the Cloning section below for more informa‐
47724       tion.
47725
47726   Cloning
47727       To clone  a  Linode,  add  a  profile  with  a  clonefrom  key,  and  a
47728       script_args:  -C.   clonefrom  should be the name of the Linode that is
47729       the source  for  the  clone.   script_args:  -C  passes  a  -C  to  the
47730       salt-bootstrap script, which only configures the minion and doesn't try
47731       to install a new copy of salt-minion. This way the minion gets new keys
47732       and  the  keys  get  pre-seeded on the master, and the /etc/salt/minion
47733       file has the right minion 'id:' declaration.
47734
47735       Cloning requires a post 2015-02-01 salt-bootstrap.
47736
47737       It is safest to clone a stopped machine. To stop a machine run
47738
47739          salt-cloud -a stop machine_to_clone
47740
47741       To create a new machine based on another machine, add an entry to  your
47742       linode cloud profile that looks like this:
47743
47744          li-clone:
47745            provider: my-linode-config
47746            clonefrom: machine_to_clone
47747            script_args: -C -F
47748
47749       Then run salt-cloud as normal, specifying -p li-clone. The profile name
47750       can be anything; It doesn't have to be li-clone.
47751
47752       clonefrom: is the name of an existing machine in Linode from  which  to
47753       clone.   Script_args: -C -F is necessary to avoid re-deploying Salt via
47754       salt-bootstrap.  -C will just re-deploy keys so the new minion will not
47755       have  a  duplicate  key or minion_id on the Master, and -F will force a
47756       rewrite of the Minion config file on the new Minion. If -F  isn't  pro‐
47757       vided,  the  new  Minion  will  have  the machine_to_clone's Minion ID,
47758       instead of its own Minion ID, which can cause problems.
47759
47760       NOTE:
47761          Pull Request #733 to the salt-bootstrap repo makes the  -F  argument
47762          non-necessary. Once that change is released into a stable version of
47763          the Bootstrap Script, the -C argument will  be  sufficient  for  the
47764          script_args setting.
47765
47766       If  the  machine_to_clone  does  not have Salt installed on it, refrain
47767       from using the script_args: -C -F altogether, because the  new  machine
47768       will need to have Salt installed.
47769
47770   Getting Started With LXC
47771       The  LXC  module  is  designed to install Salt in an LXC container on a
47772       controlled and possibly remote minion.
47773
47774       In other words, Salt will connect to a minion, then from that minion:
47775
47776       · Provision and configure a container for networking access
47777
47778       · Use those modules to deploy salt and re-attach to master.
47779
47780            · lxc runner
47781
47782            · lxc module
47783
47784            · seed
47785
47786   Limitations
47787       · You can only act on one minion and one provider at a time.
47788
47789       · Listing images must be targeted to a particular LXC provider (nothing
47790         will be outputted with all)
47791
47792   Operation
47793       Salt's  LXC  support does use lxc.init via the lxc.cloud_init_interface
47794       and seeds the minion via seed.mkconfig.
47795
47796       You can provide to those lxc VMs a profile and a network  profile  like
47797       if you were directly using the minion module.
47798
47799       Order of operation:
47800
47801       · Create the LXC container on the desired minion (clone or template)
47802
47803       · Change LXC config options (if any need to be changed)
47804
47805       · Start container
47806
47807       · Change base passwords if any
47808
47809       · Change base DNS configuration if necessary
47810
47811       · Wait for LXC container to be up and ready for ssh
47812
47813       · Test SSH connection and bailout in error
47814
47815       · Upload deploy script and seeds, then re-attach the minion.
47816
47817   Provider configuration
47818       Here is a simple provider configuration:
47819
47820          # Note: This example goes in /etc/salt/cloud.providers or any file in the
47821          # /etc/salt/cloud.providers.d/ directory.
47822          devhost10-lxc:
47823            target: devhost10
47824            driver: lxc
47825
47826       NOTE:
47827          Changed in version 2015.8.0.
47828
47829
47830          The  provider parameter in cloud provider definitions was renamed to
47831          driver. This change was made to avoid confusion  with  the  provider
47832          parameter  that is used in cloud profile definitions. Cloud provider
47833          definitions now use driver to refer to the Salt  cloud  module  that
47834          provides  the  underlying  functionality to connect to a cloud host,
47835          while cloud profiles continue to use provider to refer  to  provider
47836          configurations that you define.
47837
47838   Profile configuration
47839       Please  read  tutorial-lxc  before  anything else.  And specially tuto‐
47840       rial-lxc-profiles.
47841
47842       Here are the options to configure your containers:
47843
47844          target Host minion id to install the lxc Container into
47845
47846          lxc_profile
47847                 Name of the profile or inline options for  the  LXC  vm  cre‐
47848                 ation/cloning, please see tutorial-lxc-profiles-container.
47849
47850          network_profile
47851                 Name  of the profile or inline options for the LXC vm network
47852                 settings, please see tutorial-lxc-profiles-network.
47853
47854          nic_opts
47855                 Totally  optional.   Per  interface  new-style  configuration
47856                 options  mappings  which  will  override  any profile default
47857                 option:
47858
47859                     eth0: {'mac': '00:16:3e:01:29:40',
47860                                   'gateway': None, (default)
47861                                   'link': 'br0', (default)
47862                                   'gateway': None, (default)
47863                                   'netmask': '', (default)
47864                                   'ip': '22.1.4.25'}}
47865
47866          password
47867                 password for root and sysadmin users
47868
47869          dnsservers
47870                 List of DNS servers to use. This is optional.
47871
47872          minion minion configuration (see Minion Configuration in Salt Cloud)
47873
47874          bootstrap_delay
47875                 specify the time to wait (in seconds) between container  cre‐
47876                 ation  and  salt  bootstrap execution. It is useful to ensure
47877                 that all essential services have started before the bootstrap
47878                 script  is  executed. By default there's no wait time between
47879                 container creation and bootstrap unless you  are  on  systemd
47880                 where we wait that the system is no more in starting state.
47881
47882          bootstrap_shell
47883                 shell for bootstraping script (default: /bin/sh)
47884
47885          script defaults to salt-boostrap
47886
47887          script_args
47888                 arguments  which  are given to the bootstrap script.  the {0}
47889                 placeholder will be replaced by the path which  contains  the
47890                 minion config and key files, eg:
47891
47892                     script_args="-c {0}"
47893
47894       Using profiles:
47895
47896          # Note: This example would go in /etc/salt/cloud.profiles or any file in the
47897          # /etc/salt/cloud.profiles.d/ directory.
47898          devhost10-lxc:
47899            provider: devhost10-lxc
47900            lxc_profile: foo
47901            network_profile: bar
47902            minion:
47903              master: 10.5.0.1
47904              master_port: 4506
47905
47906       Using inline profiles (eg to override the network bridge):
47907
47908          devhost11-lxc:
47909            provider: devhost10-lxc
47910            lxc_profile:
47911              clone_from: foo
47912            network_profile:
47913              etho:
47914                link: lxcbr0
47915            minion:
47916              master: 10.5.0.1
47917              master_port: 4506
47918
47919       Using a lxc template instead of a clone:
47920
47921          devhost11-lxc:
47922            provider: devhost10-lxc
47923            lxc_profile:
47924              template: ubuntu
47925              # options:
47926              #   release: trusty
47927            network_profile:
47928              etho:
47929                link: lxcbr0
47930            minion:
47931              master: 10.5.0.1
47932              master_port: 4506
47933
47934       Static ip:
47935
47936          # Note: This example would go in /etc/salt/cloud.profiles or any file in the
47937          # /etc/salt/cloud.profiles.d/ directory.
47938          devhost10-lxc:
47939            provider: devhost10-lxc
47940            nic_opts:
47941              eth0:
47942                ipv4: 10.0.3.9
47943            minion:
47944              master: 10.5.0.1
47945              master_port: 4506
47946
47947       DHCP:
47948
47949          # Note: This example would go in /etc/salt/cloud.profiles or any file in the
47950          # /etc/salt/cloud.profiles.d/ directory.
47951          devhost10-lxc:
47952            provider: devhost10-lxc
47953            minion:
47954              master: 10.5.0.1
47955              master_port: 4506
47956
47957   Driver Support
47958       · Container creation
47959
47960       · Image listing (LXC templates)
47961
47962       · Running container information (IP addresses, etc.)
47963
47964   Getting Started With 1and1
47965       1&1  is one of the world’s leading Web hosting providers. 1&1 currently
47966       offers a wide range of Web hosting products, including email  solutions
47967       and  high-end  servers  in  10  different  countries including Germany,
47968       Spain, Great Britain and the United States.  From domains to 1&1 MyWeb‐
47969       site to eBusiness solutions like Cloud Hosting and Web servers for com‐
47970       plex tasks, 1&1 is well placed to deliver a high quality service to its
47971       customers. All 1&1 products are hosted in 1&1‘s high-performance, green
47972       data centers in the USA and Europe.
47973
47974   Dependencies
47975       · 1and1 >= 1.2.0
47976
47977   Configuration
47978       · Using  the  new  format,  set   up   the   cloud   configuration   at
47979         /etc/salt/cloud.providers    or    /etc/salt/cloud.providers.d/onean‐
47980         done.conf:
47981
47982          my-oneandone-config:
47983            driver: oneandone
47984
47985            # Set the location of the salt-master
47986            #
47987            minion:
47988              master: saltmaster.example.com
47989
47990            # Configure oneandone authentication credentials
47991            #
47992            api_token: <api_token>
47993            ssh_private_key: /path/to/id_rsa
47994            ssh_public_key: /path/to/id_rsa.pub
47995
47996   Authentication
47997       The api_key is used for API authorization. This token can  be  obtained
47998       from the CloudPanel in the Management section below Users.
47999
48000   Profiles
48001       Here is an example of a profile:
48002
48003          oneandone_fixed_size:
48004            provider: my-oneandone-config
48005            description: Small instance size server
48006            fixed_instance_size: S
48007            appliance_id: 8E3BAA98E3DFD37857810E0288DD8FBA
48008
48009          oneandone_custom_size:
48010            provider: my-oneandone-config
48011            description: Custom size server
48012            vcore: 2
48013            cores_per_processor: 2
48014            ram: 8
48015            appliance_id: 8E3BAA98E3DFD37857810E0288DD8FBA
48016            hdds:
48017            -
48018              is_main: true
48019              size: 20
48020            -
48021              is_main: false
48022              size: 20
48023
48024       The following list explains some of the important properties.
48025
48026       fixed_instance_size_id
48027              When  creating a server, either fixed_instance_size_id or custom
48028              hardware params containing vcore, cores_per_processor, ram,  and
48029              hdds  must  be provided.  Can be one of the IDs listed among the
48030              output of the following command:
48031
48032          salt-cloud --list-sizes oneandone
48033
48034       vcore  Total amount of processors.
48035
48036       cores_per_processor
48037              Number of cores per processor.
48038
48039       ram    RAM memory size in GB.
48040
48041       hdds   Hard disks.
48042
48043       appliance_id
48044              ID of the image that will be installed on server.  Can be one of
48045              the IDs listed in the output of the following command:
48046
48047          salt-cloud --list-images oneandone
48048
48049       datacenter_id
48050              ID  of  the datacenter where the server will be created.  Can be
48051              one of the IDs listed in the output of the following command:
48052
48053          salt-cloud --list-locations oneandone
48054
48055       description
48056              Description of the server.
48057
48058       password
48059              Password of the server. Password must contain more than 8  char‐
48060              acters  using  uppercase letters, numbers and other special sym‐
48061              bols.
48062
48063       power_on
48064              Power on server after creation. Default is set to true.
48065
48066       firewall_policy_id
48067              Firewall policy ID. If it  is  not  provided,  the  server  will
48068              assign  the  best  firewall policy, creating a new one if neces‐
48069              sary. If the parameter is sent with a 0 value, the  server  will
48070              be created with all ports blocked.
48071
48072       ip_id  IP address ID.
48073
48074       load_balancer_id
48075              Load balancer ID.
48076
48077       monitoring_policy_id
48078              Monitoring policy ID.
48079
48080       deploy Set to False if Salt should not be installed on the node.
48081
48082       wait_for_timeout
48083              The  timeout  to wait in seconds for provisioning resources such
48084              as servers.  The default wait_for_timeout is 15 minutes.
48085
48086       public_key_ids
48087              List of public key IDs (ssh key).
48088
48089   Functions
48090       · Create an SSH key
48091
48092          sudo salt-cloud -f create_ssh_key my-oneandone-config name='SaltTest' description='SaltTestDescription'
48093
48094       · Create a block storage
48095
48096          sudo salt-cloud -f create_block_storage my-oneandone-config name='SaltTest2' description='SaltTestDescription' size=50 datacenter_id='5091F6D8CBFEF9C26ACE957C652D5D49'
48097
48098       For more information concerning cloud profiles, see here.
48099
48100   Getting Started with OpenNebula
48101       OpenNebula is an open-source solution for the comprehensive  management
48102       of virtualized data centers to enable the mixed use of private, public,
48103       and hybrid IaaS clouds.
48104
48105   Dependencies
48106       The driver requires Python's lxml library  to  be  installed.  It  also
48107       requires an OpenNebula installation running version 4.12 or greater.
48108
48109   Configuration
48110       The  following example illustrates some of the options that can be set.
48111       These parameters are discussed in more detail below.
48112
48113          # Note: This example is for /etc/salt/cloud.providers or any file in the
48114          # /etc/salt/cloud.providers.d/ directory.
48115
48116          my-opennebula-provider:
48117            # Set up the location of the salt master
48118            #
48119            minion:
48120              master: saltmaster.example.com
48121
48122            # Define xml_rpc setting which Salt-Cloud uses to connect to the OpenNebula API. Required.
48123            #
48124            xml_rpc: http://localhost:2633/RPC2
48125
48126            # Define the OpenNebula access credentials. This can be the main "oneadmin" user that OpenNebula uses as the
48127            # OpenNebula main admin, or it can be a user defined in the OpenNebula instance. Required.
48128            #
48129            user: oneadmin
48130            password: JHGhgsayu32jsa
48131
48132            # Define the private key location that is used by OpenNebula to access new VMs. This setting is required if
48133            # provisioning new VMs or accessing VMs previously created with the associated public key.
48134            #
48135            private_key: /path/to/private/key
48136
48137            driver: opennebula
48138
48139   Access Credentials
48140       The Salt Cloud driver for OpenNebula  was  written  using  OpenNebula's
48141       native  XML RPC API. Every interaction with OpenNebula's API requires a
48142       username and password to make the connection from the  machine  running
48143       Salt  Cloud  to  API  running  on the OpenNebula instance. Based on the
48144       access credentials passed in, OpenNebula filters the commands that  the
48145       user  can  perform or the information for which the user can query. For
48146       example, the images that a user can view with a  --list-images  command
48147       are  the images that the connected user and the connected user's groups
48148       can access.
48149
48150   Key Pairs
48151       Salt Cloud needs to be able to access a virtual  machine  in  order  to
48152       install the Salt Minion by using a public/private key pair. The virtual
48153       machine will need to be seeded with the public key, which is laid  down
48154       by the OpenNebula template. Salt Cloud then uses the corresponding pri‐
48155       vate key, provided by the private_key setting  in  the  cloud  provider
48156       file, to SSH into the new virtual machine.
48157
48158       To seed the virtual machine with the public key, the public key must be
48159       added to the OpenNebula template. If using the  OpenNebula  web  inter‐
48160       face,  navigate  to  the template, then click Update. Click the Context
48161       tab. Under the Network & SSH section, click Add  SSH  Contextualization
48162       and  paste  the public key in the Public Key box.  Don't forget to save
48163       your changes by clicking the green Update button.
48164
48165       NOTE:
48166          The key pair must not have a pass-phrase.
48167
48168   Cloud Profiles
48169       Set up an initial profile at  either  /etc/salt/cloud.profiles  or  the
48170       /etc/salt/cloud.profiles.d/ directory.
48171
48172          my-opennebula-profile:
48173            provider: my-opennebula-provider
48174            image: Ubuntu-14.04
48175
48176       The profile can now be realized with a salt command:
48177
48178          salt-cloud -p my-opennebula-profile my-new-vm
48179
48180       This will create a new instance named my-new-vm in OpenNebula. The min‐
48181       ion that is installed on  this  instance  will  have  a  minion  id  of
48182       my-new-vm. If the command was executed on the salt-master, its Salt key
48183       will automatically be signed on the master.
48184
48185       Once the instance has been created with salt-minion installed,  connec‐
48186       tivity to it can be verified with Salt:
48187
48188          salt my-new-vm test.version
48189
48190       OpenNebula  uses  an  image  -->  template --> virtual machine paradigm
48191       where the template draws on the image, or disk,  and  virtual  machines
48192       are created from templates. Because of this, there is no need to define
48193       a size in the cloud profile. The size of the virtual machine is defined
48194       in the template.
48195
48196   Change Disk Size
48197       You can now change the size of a VM on creation by cloning an image and
48198       expanding the size. You can accomplish this by the following cloud pro‐
48199       file settings below.
48200
48201          my-opennebula-profile:
48202            provider: my-opennebula-provider
48203            image: Ubuntu-14.04
48204            disk:
48205              disk0:
48206                disk_type: clone
48207                size: 8096
48208                image: centos7-base-image-v2
48209              disk1:
48210                disk_type: volatile
48211                type: swap
48212                size: 4096
48213              disk2:
48214                disk_type: volatile
48215                size: 4096
48216                type: fs
48217                format: ext3
48218
48219       There  are  currently two different disk_types a user can use: volatile
48220       and clone. Clone which is required when specifying devices  will  clone
48221       an image in open nebula and will expand it to the size specified in the
48222       profile settings. By default this will clone the image attached to  the
48223       template specified in the profile but a user can add the image argument
48224       under the disk definition.
48225
48226       For example the profile below will not use Ubuntu-14.04 for the  cloned
48227       disk image. It will use the centos7-base-image image:
48228
48229          my-opennebula-profile:
48230            provider: my-opennebula-provider
48231            image: Ubuntu-14.04
48232            disk:
48233              disk0:
48234                disk_type: clone
48235                size: 8096
48236                image: centos7-base-image
48237
48238       If  you  want to use the image attached to the template set in the pro‐
48239       file you can simply remove the image argument as show below.  The  pro‐
48240       file  below  will  clone  the image Ubuntu-14.04 and expand the disk to
48241       8GB.:
48242
48243          my-opennebula-profile:
48244            provider: my-opennebula-provider
48245            image: Ubuntu-14.04
48246            disk:
48247              disk0:
48248                disk_type: clone
48249                size: 8096
48250
48251       A user can also currently specify swap or fs disks. Below is an example
48252       of this profile setting:
48253
48254          my-opennebula-profile:
48255            provider: my-opennebula-provider
48256            image: Ubuntu-14.04
48257            disk:
48258              disk0:
48259                disk_type: clone
48260                size: 8096
48261              disk1:
48262                disk_type: volatile
48263                type: swap
48264                size: 4096
48265              disk2:
48266                disk_type: volatile
48267                size: 4096
48268                type: fs
48269                format: ext3
48270
48271       The  example  above  will attach both a swap disk and a ext3 filesystem
48272       with a size of 4GB. To note if you  define  other  disks  you  have  to
48273       define the image disk to clone because the template will write over the
48274       entire 'DISK=[]' template definition on creation.
48275
48276   Required Settings
48277       The following settings are always required for OpenNebula:
48278
48279          my-opennebula-config:
48280            xml_rpc: http://localhost:26633/RPC2
48281            user: oneadmin
48282            password: JHGhgsayu32jsa
48283            driver: opennebula
48284
48285   Required Settings for VM Deployment
48286       The settings defined in the Required Settings section are required  for
48287       all  interactions  with  OpenNebula.  However, when deploying a virtual
48288       machine via Salt Cloud, an additional  setting,  private_key,  is  also
48289       required:
48290
48291          my-opennebula-config:
48292            private_key: /path/to/private/key
48293
48294   Listing Images
48295       Images  can be queried on OpenNebula by passing the --list-images argu‐
48296       ment to Salt Cloud:
48297
48298          salt-cloud --list-images opennebula
48299
48300   Listing Locations
48301       In OpenNebula, locations are defined as hosts. Locations,  or  "hosts",
48302       can  be querried on OpenNebula by passing the --list-locations argument
48303       to Salt Cloud:
48304
48305          salt-cloud --list-locations opennebula
48306
48307   Listing Sizes
48308       Sizes are defined by templates in OpenNebula. As such, the --list-sizes
48309       call returns an empty dictionary since there are no sizes to return.
48310
48311   Additional OpenNebula API Functionality
48312       The  Salt  Cloud  driver  for OpenNebula was written using OpenNebula's
48313       native XML RPC API. As such, many --function and  --action  calls  were
48314       added to the OpenNebula driver to enhance support for an OpenNebula in‐
48315       frastructure with additional control from Salt Cloud. See the  OpenNeb‐
48316       ula function definitions for more information.
48317
48318   Access via DNS entry instead of IP
48319       Some  OpenNebula  installations  do not assign IP addresses to new VMs,
48320       instead they establish the new VM's hostname based on OpenNebula's name
48321       of the VM, and then allocate an IP out of DHCP with dynamic DNS attach‐
48322       ing the hostname.  This driver supports this  behavior  by  adding  the
48323       entry  fqdn_base  to the driver configuration or the OpenNebula profile
48324       with a value matching the base fully-qualified domain.  For example:
48325
48326          # Note: This example is for /etc/salt/cloud.providers or any file in the
48327          # /etc/salt/cloud.providers.d/ directory.
48328
48329          my-opennebula-provider:
48330            [...]
48331            fqdn_base: corp.example.com
48332            [...]
48333
48334   Getting Started with Openstack
48335   Openstack Cloud Driver
48336       depends
48337              shade>=1.19.0
48338
48339       OpenStack is an open source project that is in use by a number a  cloud
48340       providers, each of which have their own ways of using it.
48341
48342       This  OpenStack  driver uses a the shade python module which is managed
48343       by the OpenStack Infra team.  This module is written to handle all  the
48344       different  versions of different OpenStack tools for salt, so most com‐
48345       mands are just passed over to the module to handle everything.
48346
48347   Provider
48348       There are two ways to configure providers for this driver.   The  first
48349       one  is  to  just  let  shade  handle  everything,  and configure using
48350       os-client-config and setting up /etc/openstack/clouds.yml.
48351
48352          clouds:
48353            democloud:
48354              region_name: RegionOne
48355              auth:
48356                username: 'demo'
48357                password: secret
48358                project_name: 'demo'
48359                auth_url: 'http://openstack/identity'
48360
48361       And then this can be referenced in the salt provider based on the demo‐
48362       cloud name.
48363
48364          myopenstack:
48365            driver: openstack
48366            cloud: democloud
48367            region_name: RegionOne
48368
48369       This allows for just using one configuration for salt-cloud and for any
48370       other openstack tools which are all using /etc/openstack/clouds.yml
48371
48372       The other method allows for specifying everything in the provider  con‐
48373       fig,  instead  of  using the extra configuration file.  This will allow
48374       for passing salt-cloud configs only through pillars for minions without
48375       having to write a clouds.yml file on each minion.abs
48376
48377          myopenstack:
48378            driver: openstack
48379            region_name: RegionOne
48380            auth:
48381              username: 'demo'
48382              password: secret
48383              project_name: 'demo'
48384              user_domain_name: default,
48385              project_domain_name: default,
48386              auth_url: 'http://openstack/identity'
48387
48388       Or  if  you  need to use a profile to setup some extra stuff, it can be
48389       passed as a profile to use any of the vendor config options.
48390
48391          myrackspace:
48392            driver: openstack
48393            profile: rackspace
48394            auth:
48395              username: rackusername
48396              api_key: myapikey
48397            region_name: ORD
48398            auth_type: rackspace_apikey
48399
48400       And this will pull in the profile for rackspace and setup all the  cor‐
48401       rect options for the auth_url and different api versions for services.
48402
48403   Profile
48404       Most  of  the  options  for  building servers are just passed on to the
48405       create_server function from shade.
48406
48407       The salt specific ones are:
48408
48409          · ssh_key_file: The path to the ssh key that should be used to login
48410            to the machine to bootstrap it
48411
48412          · ssh_key_file: The name of the keypair in openstack
48413
48414          · userdata_template:  The  renderer to use if the userdata is a file
48415            that is templated. Default: False
48416
48417          · ssh_interface: The interface to use to  login  for  bootstrapping:
48418            public_ips, private_ips, floating_ips, fixed_ips
48419
48420          centos:
48421            provider: myopenstack
48422            image: CentOS 7
48423            size: ds1G
48424            ssh_key_name: mykey
48425            ssh_key_file: /root/.ssh/id_rsa
48426
48427       This is the minimum setup required.
48428
48429       If  metadata  is set to make sure that the host has finished setting up
48430       the wait_for_metadata can be set.
48431
48432          centos:
48433            provider: myopenstack
48434            image: CentOS 7
48435            size: ds1G
48436            ssh_key_name: mykey
48437            ssh_key_file: /root/.ssh/id_rsa
48438            meta:
48439              build_config: rack_user_only
48440            wait_for_metadata:
48441              rax_service_level_automation: Complete
48442              rackconnect_automation_status: DEPLOYED
48443
48444       Anything else from the create_server docs can be passed through here.
48445
48446       ·
48447
48448         image: Image dict, name or ID to boot with. image is required
48449                unless boot_volume is given.
48450
48451       · flavor: Flavor dict, name or ID to boot onto.
48452
48453       ·
48454
48455         auto_ip: Whether to take actions to find a routable IP for
48456                the server. (defaults to True)
48457
48458       · ips: List of IPs to attach to the server (defaults to None)
48459
48460       ·
48461
48462         ip_pool: Name of the network or floating IP pool to get an
48463                address from. (defaults to None)
48464
48465       ·
48466
48467         root_volume: Name or ID of a volume to boot from
48468                (defaults to None - deprecated, use boot_volume)
48469
48470       ·
48471
48472         boot_volume: Name or ID of a volume to boot from
48473                (defaults to None)
48474
48475       ·
48476
48477         terminate_volume: If booting from a volume, whether it should
48478                be deleted when the server is destroyed.  (defaults to False)
48479
48480       · volumes: (optional) A list of volumes to attach to the server
48481
48482       ·
48483
48484         meta: (optional) A dict of arbitrary key/value metadata to
48485                store for this server. Both keys  and  values  must  be  <=255
48486                characters.
48487
48488       ·
48489
48490         files: (optional, deprecated) A dict of files to overwrite
48491                on   the   server   upon  boot.  Keys  are  file  names  (i.e.
48492                /etc/passwd) and values are the file  contents  (either  as  a
48493                string or as a file-like object). A maximum of five entries is
48494                allowed, and each file must be 10k or less.
48495
48496       · reservation_id: a UUID for the set of servers being requested.
48497
48498       ·
48499
48500         min_count: (optional extension) The minimum number of
48501                servers to launch.
48502
48503       ·
48504
48505         max_count: (optional extension) The maximum number of
48506                servers to launch.
48507
48508       · security_groups: A list of security group names
48509
48510       ·
48511
48512         userdata: user data to pass to be exposed by the metadata
48513                server this can be a file type object as well or a string.
48514
48515       ·
48516
48517         key_name: (optional extension) name of previously created
48518                keypair to inject into the instance.
48519
48520       ·
48521
48522         availability_zone: Name of the availability zone for instance
48523                placement.
48524
48525       ·
48526
48527         block_device_mapping: (optional) A dict of block
48528                device mappings for this server.
48529
48530       ·
48531
48532         block_device_mapping_v2: (optional) A dict of block
48533                device mappings for this server.
48534
48535       ·
48536
48537         nics:  (optional extension) an ordered list of nics to be
48538                added to this server, with information  about  connected  net‐
48539                works, fixed IPs, port etc.
48540
48541       ·
48542
48543         scheduler_hints: (optional extension) arbitrary key-value pairs
48544                specified by the client to help boot an instance
48545
48546       ·
48547
48548         config_drive: (optional extension) value for config drive
48549                either boolean, or volume-id
48550
48551       ·
48552
48553         disk_config: (optional extension) control how the disk is
48554                partitioned  when  the server is created.  possible values are
48555                'AUTO' or 'MANUAL'.
48556
48557       ·
48558
48559         admin_pass: (optional extension) add a user supplied admin
48560                password.
48561
48562       ·
48563
48564         timeout: (optional) Seconds to wait, defaults to 60.
48565                See the wait parameter.
48566
48567       ·
48568
48569         reuse_ips: (optional) Whether to attempt to reuse pre-existing
48570                floating ips should a floating IP be needed (defaults to True)
48571
48572       ·
48573
48574         network: (optional) Network dict or name or ID to attach the
48575                server to.  Mutually exclusive with the nics  parameter.   Can
48576                also be be a list of network names or IDs or network dicts.
48577
48578       ·
48579
48580         boot_from_volume: Whether to boot from volume. 'boot_volume'
48581                implies True, but boot_from_volume=True with no boot_volume is
48582                valid and will create a volume from the image and use that.
48583
48584       ·
48585
48586         volume_size: When booting an image from volume, how big should
48587                the created volume be? Defaults to 50.
48588
48589       ·
48590
48591         nat_destination: Which network should a created floating IP
48592                be attached to, if it's not possible to infer from the cloud's
48593                configuration.  (Optional, defaults to None)
48594
48595       ·
48596
48597         group: ServerGroup dict, name or id to boot the server in.
48598                If  a  group  is  provided  in both scheduler_hints and in the
48599                group param, the group param will win.  (Optional, defaults to
48600                None)
48601
48602       NOTE:
48603          If  there  is  anything  added,  that is not in this list, it can be
48604          added to an extras dictionary for the profile, and that will  be  to
48605          the create_server function.
48606
48607   Getting Started With Parallels
48608       Parallels  Cloud Server is a product by Parallels that delivers a cloud
48609       hosting solution. The PARALLELS module for Salt Cloud  enables  you  to
48610       manage instances hosted using PCS. Further information can be found at:
48611
48612       http://www.parallels.com/products/pcs/
48613
48614       · Using   the   old   format,   set   up  the  cloud  configuration  at
48615         /etc/salt/cloud:
48616
48617          # Set up the location of the salt master
48618          #
48619          minion:
48620              master: saltmaster.example.com
48621
48622          # Set the PARALLELS access credentials (see below)
48623          #
48624          PARALLELS.user: myuser
48625          PARALLELS.password: badpass
48626
48627          # Set the access URL for your PARALLELS host
48628          #
48629          PARALLELS.url: https://api.cloud.xmission.com:4465/paci/v1.0/
48630
48631       · Using  the  new  format,  set   up   the   cloud   configuration   at
48632         /etc/salt/cloud.providers    or    /etc/salt/cloud.providers.d/paral‐
48633         lels.conf:
48634
48635          my-parallels-config:
48636            # Set up the location of the salt master
48637            #
48638            minion:
48639              master: saltmaster.example.com
48640
48641            # Set the PARALLELS access credentials (see below)
48642            #
48643            user: myuser
48644            password: badpass
48645
48646            # Set the access URL for your PARALLELS provider
48647            #
48648            url: https://api.cloud.xmission.com:4465/paci/v1.0/
48649            driver: parallels
48650
48651       NOTE:
48652          Changed in version 2015.8.0.
48653
48654
48655          The provider parameter in cloud provider definitions was renamed  to
48656          driver.  This  change  was made to avoid confusion with the provider
48657          parameter that is used in cloud profile definitions. Cloud  provider
48658          definitions  now  use  driver to refer to the Salt cloud module that
48659          provides the underlying functionality to connect to  a  cloud  host,
48660          while  cloud  profiles continue to use provider to refer to provider
48661          configurations that you define.
48662
48663   Access Credentials
48664       The user, password, and url will be provided to you by your cloud host.
48665       These are all required in order for the PARALLELS driver to work.
48666
48667   Cloud Profiles
48668       Set    up   an   initial   profile   at   /etc/salt/cloud.profiles   or
48669       /etc/salt/cloud.profiles.d/parallels.conf:
48670
48671          parallels-ubuntu:
48672              provider: my-parallels-config
48673              image: ubuntu-12.04-x86_64
48674
48675       The profile can be realized now with a salt command:
48676
48677          # salt-cloud -p parallels-ubuntu myubuntu
48678
48679       This will create an instance named myubuntu on the cloud host. The min‐
48680       ion that is installed on this instance will have an id of myubuntu.  If
48681       the command was executed on the salt-master, its Salt key will automat‐
48682       ically be signed on the master.
48683
48684       Once  the instance has been created with salt-minion installed, connec‐
48685       tivity to it can be verified with Salt:
48686
48687          # salt myubuntu test.version
48688
48689   Required Settings
48690       The following settings are always required for PARALLELS:
48691
48692       · Using the old cloud configuration format:
48693
48694          PARALLELS.user: myuser
48695          PARALLELS.password: badpass
48696          PARALLELS.url: https://api.cloud.xmission.com:4465/paci/v1.0/
48697
48698       · Using the new cloud configuration format:
48699
48700          my-parallels-config:
48701            user: myuser
48702            password: badpass
48703            url: https://api.cloud.xmission.com:4465/paci/v1.0/
48704            driver: parallels
48705
48706   Optional Settings
48707       Unlike other cloud providers in Salt Cloud, Parallels does not  utilize
48708       a  size setting. This is because Parallels allows the end-user to spec‐
48709       ify a more detailed configuration for their instances than  is  allowed
48710       by  many  other  cloud hosts. The following options are available to be
48711       used in a profile, with their default settings listed.
48712
48713          # Description of the instance. Defaults to the instance name.
48714          desc: <instance_name>
48715
48716          # How many CPU cores, and how fast they are (in MHz)
48717          cpu_number: 1
48718          cpu_power: 1000
48719
48720          # How many megabytes of RAM
48721          ram: 256
48722
48723          # Bandwidth available, in kbps
48724          bandwidth: 100
48725
48726          # How many public IPs will be assigned to this instance
48727          ip_num: 1
48728
48729          # Size of the instance disk (in GiB)
48730          disk_size: 10
48731
48732          # Username and password
48733          ssh_username: root
48734          password: <value from PARALLELS.password>
48735
48736          # The name of the image, from ``salt-cloud --list-images parallels``
48737          image: ubuntu-12.04-x86_64
48738
48739   Getting Started With ProfitBricks
48740       ProfitBricks provides an enterprise-grade Infrastructure as  a  Service
48741       (IaaS)  solution that can be managed through a browser-based "Data Cen‐
48742       ter Designer" (DCD) tool or via an easy to use API. A unique feature of
48743       the ProfitBricks platform is that it allows you to define your own set‐
48744       tings for cores, memory, and disk size without being tied to a particu‐
48745       lar server size.
48746
48747   Dependencies
48748       · profitbricks >= 4.1.1
48749
48750   Configuration
48751       · Using   the   new   format,   set   up  the  cloud  configuration  at
48752         /etc/salt/cloud.providers   or    /etc/salt/cloud.providers.d/profit‐
48753         bricks.conf:
48754
48755          my-profitbricks-config:
48756            driver: profitbricks
48757
48758            # Set the location of the salt-master
48759            #
48760            minion:
48761              master: saltmaster.example.com
48762
48763            # Configure ProfitBricks authentication credentials
48764            #
48765            username: user@domain.com
48766            password: 123456
48767            # datacenter is the UUID of a pre-existing virtual data center.
48768            datacenter: 9e6709a0-6bf9-4bd6-8692-60349c70ce0e
48769            # delete_volumes is forcing a deletion of all volumes attached to a server on a deletion of a server
48770            delete_volumes: true
48771            # Connect to public LAN ID 1.
48772            public_lan: 1
48773            ssh_public_key: /path/to/id_rsa.pub
48774            ssh_private_key: /path/to/id_rsa
48775
48776       NOTE:
48777          Changed in version 2015.8.0.
48778
48779
48780          The  provider parameter in cloud provider definitions was renamed to
48781          driver. This change was made to avoid confusion  with  the  provider
48782          parameter  that is used in cloud profile definitions. Cloud provider
48783          definitions now use driver to refer to the Salt  cloud  module  that
48784          provides  the  underlying  functionality to connect to a cloud host,
48785          while cloud profiles continue to use provider to refer  to  provider
48786          configurations that you define.
48787
48788   Virtual Data Center
48789       ProfitBricks  uses the concept of Virtual Data Centers. These are logi‐
48790       cally separated from one another and allow you to have a self-contained
48791       environment  for  all  servers,  volumes, networking, snapshots, and so
48792       forth.
48793
48794       A list of existing virtual data centers can be retrieved with the  fol‐
48795       lowing command:
48796
48797          salt-cloud -f list_datacenters my-profitbricks-config
48798
48799       A new data center can be created with the following command:
48800
48801          salt-cloud -f create_datacenter my-profitbricks-config name=example location=us/las description="my description"
48802
48803   Authentication
48804       The  username  and  password are the same as those used to log into the
48805       ProfitBricks "Data Center Designer".
48806
48807   Profiles
48808       Here is an example of a profile:
48809
48810          profitbricks_staging
48811            provider: my-profitbricks-config
48812            size: Micro Instance
48813            image_alias: 'ubuntu:latest'
48814            # image or image_alias must be provided
48815            # image: 2f98b678-6e7e-11e5-b680-52540066fee9
48816            cores: 2
48817            ram: 4096
48818            public_lan: 1
48819            private_lan: 2
48820            ssh_public_key: /path/to/id_rsa.pub
48821            ssh_private_key: /path/to/id_rsa
48822            ssh_interface: private_lan
48823
48824          profitbricks_production:
48825            provider: my-profitbricks-config
48826            image: Ubuntu-15.10-server-2016-05-01
48827            image_password: MyPassword1
48828            disk_type: SSD
48829            disk_size: 40
48830            cores: 8
48831            cpu_family: INTEL_XEON
48832            ram: 32768
48833            public_lan: 1
48834            public_ips:
48835              - 172.217.18.174
48836            private_lan: 2
48837            private_ips:
48838              - 192.168.100.10
48839            public_firewall_rules:
48840              Allow SSH:
48841                protocol: TCP
48842                source_ip: 1.2.3.4
48843                port_range_start: 22
48844                port_range_end: 22
48845              Allow Ping:
48846                protocol: ICMP
48847                icmp_type: 8
48848            ssh_public_key: /path/to/id_rsa.pub
48849            ssh_private_key: /path/to/id_rsa
48850            ssh_interface: private_lan
48851            volumes:
48852              db_data:
48853                disk_size: 500
48854              db_log:
48855                disk_size: 50
48856                disk_type: SSD
48857
48858       Locations can be obtained using the  --list-locations  option  for  the
48859       salt-cloud command:
48860
48861          # salt-cloud --list-locations my-profitbricks-config
48862
48863       Images can be obtained using the --list-sizes option for the salt-cloud
48864       command:
48865
48866          # salt-cloud --list-images my-profitbricks-config
48867
48868       Sizes can be obtained using the --list-sizes option for the  salt-cloud
48869       command:
48870
48871          # salt-cloud --list-sizes my-profitbricks-config
48872
48873       Changed  in  version  2019.2.0:  One  or  more public IP address can be
48874       reserved with the following command:
48875
48876          # salt-cloud -f reserve_ipblock  my-profitbricks-config location='us/ewr' size=1
48877
48878
48879   Profile Specifics:
48880       The following list explains some of the important properties.
48881
48882       · size - Can be one of the options listed in the output of the  follow‐
48883         ing command:
48884
48885            salt-cloud --list-sizes my-profitbricks-config
48886
48887       · image - Can be one of the options listed in the output of the follow‐
48888         ing command:
48889
48890            salt-cloud --list-images my-profitbricks-config
48891
48892       · image_alias - Can be one of the options listed in the output  of  the
48893         following command:
48894
48895            salt-cloud -f list_images my-profitbricks-config
48896
48897       · disk_size  -  This option allows you to override the size of the disk
48898         as defined by the size. The disk size is set in gigabytes (GB).
48899
48900       · disk_type - This option allow the disk type to be set to HDD or  SSD.
48901         The default is HDD.
48902
48903         New in version 2019.2.0.
48904
48905
48906       · image_password  -  A  password  is set on the image for the "root" or
48907         "Administrator" account.  This field may only be  set  during  volume
48908         creation.   Only  valid  with  ProfitBricks  supplied  HDD  (not ISO)
48909         images. The password must contain at least 8  and  no  more  than  50
48910         characters. Only these characters are allowed: [a-z][A-Z][0-9]
48911
48912       · cores - This option allows you to override the number of CPU cores as
48913         defined by the size.
48914
48915       · ram - This option allows you to override the amount of RAM defined by
48916         the  size.  The  value must be a multiple of 256, e.g. 256, 512, 768,
48917         1024, and so forth.
48918
48919       · public_lan - This option will connect the  server  to  the  specified
48920         public  LAN. If no LAN exists, then a new public LAN will be created.
48921         The value accepts a LAN ID (integer).
48922
48923         New in version 2019.2.0.
48924
48925
48926       · public_ips - Public IPs assigned to the NIC in the public LAN.
48927
48928       · public_firewall_rules - This option allows for  a  list  of  firewall
48929         rules assigned to the public network interface.
48930
48931            Firewall Rule Name:
48932              protocol: <protocol> (TCP, UDP, ICMP)
48933              source_mac: <source-mac>
48934              source_ip: <source-ip>
48935              target_ip: <target-ip>
48936              port_range_start: <port-range-start>
48937              port_range_end: <port-range-end>
48938              icmp_type: <icmp-type>
48939              icmp_code: <icmp-code>
48940
48941       · private_lan  -  This  option will connect the server to the specified
48942         private LAN. If no LAN exists, then a new private LAN  will  be  cre‐
48943         ated. The value accepts a LAN ID (integer).
48944
48945         New in version 2019.2.0.
48946
48947
48948       · private_ips - Private IPs assigned in the private LAN. NAT setting is
48949         ignored when this setting is active.
48950
48951       · private_firewall_rules - This option allows for a  list  of  firewall
48952         rules assigned to the private network interface.
48953
48954            Firewall Rule Name:
48955              protocol: <protocol> (TCP, UDP, ICMP)
48956              source_mac: <source-mac>
48957              source_ip: <source-ip>
48958              target_ip: <target-ip>
48959              port_range_start: <port-range-start>
48960              port_range_end: <port-range-end>
48961              icmp_type: <icmp-type>
48962              icmp_code: <icmp-code>
48963
48964       · ssh_private_key - Full path to the SSH private key file
48965
48966       · ssh_public_key - Full path to the SSH public key file
48967
48968       · ssh_interface - This option will use the private LAN IP for node con‐
48969         nections (such as as bootstrapping the node) instead  of  the  public
48970         LAN IP.  The value accepts 'private_lan'.
48971
48972       · cpu_family  -  This  option  allow  the  CPU  family  to  be  set  to
48973         AMD_OPTERON or INTEL_XEON.  The default is AMD_OPTERON.
48974
48975       · volumes - This option allows a list of  additional  volumes  by  name
48976         that will be created and attached to the server. Each volume requires
48977         'disk_size' and, optionally, 'disk_type'. The default is HDD.
48978
48979       · deploy - Set to False if Salt should not be installed on the node.
48980
48981       · wait_for_timeout - The timeout to wait in  seconds  for  provisioning
48982         resources  such  as servers.  The default wait_for_timeout is 15 min‐
48983         utes.
48984
48985       For more information concerning cloud profiles, see here.
48986
48987   Getting Started With Proxmox
48988       Proxmox Virtual Environment is a complete server virtualization manage‐
48989       ment  solution,  based on OpenVZ(in Proxmox up to 3.4)/LXC(from Proxmox
48990       4.0 and up) and full virtualization with KVM.  Further information  can
48991       be found at:
48992
48993       http://www.proxmox.org/
48994
48995   Dependencies
48996       · IPy >= 0.81
48997
48998       · requests >= 2.2.1
48999
49000       Please note: This module allows you to create OpenVZ/LXC containers and
49001       KVM VMs, but installing Salt on it will  only  be  done  on  containers
49002       rather than a KVM virtual machine.
49003
49004       · Set  up  the  cloud  configuration  at  /etc/salt/cloud.providers  or
49005         /etc/salt/cloud.providers.d/proxmox.conf:
49006
49007          my-proxmox-config:
49008            # Set up the location of the salt master
49009            #
49010            minion:
49011              master: saltmaster.example.com
49012
49013            # Set the PROXMOX access credentials (see below)
49014            #
49015            user: myuser@pve
49016            password: badpass
49017
49018            # Set the access URL for your PROXMOX host
49019            #
49020            url: your.proxmox.host
49021            driver: proxmox
49022
49023       NOTE:
49024          Changed in version 2015.8.0.
49025
49026
49027          The provider parameter in cloud provider definitions was renamed  to
49028          driver.  This  change  was made to avoid confusion with the provider
49029          parameter that is used in cloud profile definitions. Cloud  provider
49030          definitions  now  use  driver to refer to the Salt cloud module that
49031          provides the underlying functionality to connect to  a  cloud  host,
49032          while  cloud  profiles continue to use provider to refer to provider
49033          configurations that you define.
49034
49035   Access Credentials
49036       The user, password, and url will be provided to you by your cloud host.
49037       These are all required in order for the PROXMOX driver to work.
49038
49039   Cloud Profiles
49040       Set    up   an   initial   profile   at   /etc/salt/cloud.profiles   or
49041       /etc/salt/cloud.profiles.d/proxmox.conf:
49042
49043       · Configure a profile to be used:
49044
49045          proxmox-ubuntu:
49046              provider: my-proxmox-config
49047              image: local:vztmpl/ubuntu-12.04-standard_12.04-1_amd64.tar.gz
49048              technology: lxc
49049
49050              # host needs to be set to the configured name of the proxmox host
49051              # and not the ip address or FQDN of the server
49052              host: myvmhost
49053              ip_address: 192.168.100.155
49054              password: topsecret
49055
49056       The profile can be realized now with a salt command:
49057
49058          # salt-cloud -p proxmox-ubuntu myubuntu
49059
49060       This will create an instance named myubuntu on the cloud host. The min‐
49061       ion  that  is  installed  on  this  instance  will  have  a hostname of
49062       myubuntu.  If the command was executed on the salt-master, its Salt key
49063       will automatically be signed on the master.
49064
49065       Once  the instance has been created with salt-minion installed, connec‐
49066       tivity to it can be verified with Salt:
49067
49068          # salt myubuntu test.version
49069
49070   Required Settings
49071       The following settings are always required for PROXMOX:
49072
49073       · Using the new cloud configuration format:
49074
49075          my-proxmox-config:
49076            driver: proxmox
49077            user: saltcloud@pve
49078            password: xyzzy
49079            url: your.proxmox.host
49080
49081   Optional Settings
49082       Unlike other cloud providers in Salt Cloud, Proxmox does not utilize  a
49083       size  setting. This is because Proxmox allows the end-user to specify a
49084       more detailed configuration for their instances,  than  is  allowed  by
49085       many  other  cloud providers. The following options are available to be
49086       used in a profile, with their default settings listed.
49087
49088          # Description of the instance.
49089          desc: <instance_name>
49090
49091          # How many CPU cores, and how fast they are (in MHz)
49092          cpus: 1
49093          cpuunits: 1000
49094
49095          # How many megabytes of RAM
49096          memory: 256
49097
49098          # How much swap space in MB
49099          swap: 256
49100
49101          # Whether to auto boot the vm after the host reboots
49102          onboot: 1
49103
49104          # Size of the instance disk (in GiB)
49105          disk: 10
49106
49107          # Host to create this vm on
49108          host: myvmhost
49109
49110          # Nameservers. Defaults to host
49111          nameserver: 8.8.8.8 8.8.4.4
49112
49113          # Username and password
49114          ssh_username: root
49115          password: <value from PROXMOX.password>
49116
49117          # The name of the image, from ``salt-cloud --list-images proxmox``
49118          image: local:vztmpl/ubuntu-12.04-standard_12.04-1_amd64.tar.gz
49119
49120          # Whether or not to verify the SSL cert on the Proxmox host
49121          verify_ssl: False
49122
49123          # Network interfaces, netX
49124          net0: name=eth0,bridge=vmbr0,ip=dhcp
49125
49126          # Public key to add to /root/.ssh/authorized_keys.
49127          pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA...'
49128
49129   QEMU
49130       Some functionnalities works differently if you use 'qemu'  as  technol‐
49131       ogy.  In order to create a new VM with qemu, you need to specificy some
49132       more information.  You can also clone a qemu template which already  is
49133       on your Proxmox server.
49134
49135       QEMU profile file (for a new VM):
49136
49137          proxmox-win7:
49138            # Image of the new VM
49139            image: image.iso # You can get all your available images using 'salt-cloud --list-images provider_name' (Ex: 'salt-cloud --list-images my-proxmox-config')
49140
49141            # Technology used to create the VM ('qemu', 'openvz'(on Proxmox <4.x) or 'lxc'(on Proxmox 4.x+))
49142            technology: qemu
49143
49144            # Proxmox node name
49145            host: node_name
49146
49147            # Proxmox password
49148            password: your_password
49149
49150            # Workaround https://github.com/saltstack/salt/issues/27821
49151            size: ''
49152
49153            # RAM size (MB)
49154            memory: 2048
49155
49156            # OS Type enum (other / wxp / w2k / w2k3 / w2k8 / wvista / win7 / win8 / l24 / l26 / solaris)
49157            ostype: win7
49158
49159            # Hard disk location
49160            sata0: <location>:<size>, format=<qcow2/vmdk/raw>, size=<size>GB #Example: local:120,format=qcow2,size=120GB
49161
49162            #CD/DVD Drive
49163            ide2: <content_location>,media=cdrom #Example: local:iso/name.iso,media=cdrom
49164
49165            # Network Device
49166            net0:<model>,bridge=<bridge> #Example: e1000,bridge=vmbr0
49167
49168            # Enable QEMU Guest Agent (0 / 1)
49169            agent: 1
49170
49171            # VM name
49172            name: Test
49173
49174       More  information about these parameters can be found on Proxmox API (‐
49175       http://pve.proxmox.com/pve2-api-doc/)  under  the  'POST'   method   of
49176       nodes/{node}/qemu
49177
49178       QEMU profile file (for a clone):
49179
49180          proxmox-win7:
49181            # Enable Clone
49182            clone: True
49183
49184            # New VM description
49185            clone_description: 'description'
49186
49187            # New VM name
49188            clone_name: 'name'
49189
49190            # New VM format (qcow2 / raw / vmdk)
49191            clone_format: qcow2
49192
49193            # Full clone (1) or Link clone (0)
49194            clone_full: 0
49195
49196            # VMID of Template to clone
49197            clone_from: ID
49198
49199            # Technology used to create the VM ('qemu' or 'lxc')
49200            technology: qemu
49201
49202            # Proxmox node name
49203            host: node_name
49204
49205            # Proxmox password
49206            password: your_password
49207
49208            # Workaround https://github.com/saltstack/salt/issues/27821
49209            size: ''
49210
49211       More information can be found on Proxmox API under the 'POST' method of
49212       /nodes/{node}/qemu/{vmid}/clone
49213
49214       NOTE:
49215          The Proxmox API offers a lot more options and parameters, which  are
49216          not  yet  supported  by  this salt-cloud 'overlay'. Feel free to add
49217          your contribution by forking the  github  repository  and  modifying
49218          the following file: salt/cloud/clouds/proxmox.py
49219
49220          An  easy  way to support more parameters for VM creation would be to
49221          add the names of the optional parameters in the  'create_nodes(vm_)'
49222          function,  under  the  'qemu' technology. But it requires you to dig
49223          into the code ...
49224
49225   Getting Started With Scaleway
49226       Scaleway is the first IaaS host worldwide to offer an ARM based  cloud.
49227       It’s  the  ideal  platform  for  horizontal  scaling with BareMetal SSD
49228       servers. The solution provides  on  demand  resources:  it  comes  with
49229       on-demand  SSD  storage,  movable  IPs  , images, security group and an
49230       Object Storage solution. https://scaleway.com
49231
49232   Configuration
49233       Using Salt for Scaleway, requires an access key and an API  token.  API
49234       tokens  are  unique  identifiers associated with your Scaleway account.
49235       To retrieve your access key and API token, log-in to the Scaleway  con‐
49236       trol  panel,  open the pull-down menu on your account name and click on
49237       "My Credentials" link.
49238
49239       If you do not have API token you can create one by clicking the "Create
49240       New Token" button on the right corner.
49241
49242          # Note: This example is for /etc/salt/cloud.providers or any file in the
49243          # /etc/salt/cloud.providers.d/ directory.
49244
49245          my-scaleway-config:
49246            access_key: 15cf404d-4560-41b1-9a0c-21c3d5c4ff1f
49247            token: a7347ec8-5de1-4024-a5e3-24b77d1ba91d
49248            driver: scaleway
49249
49250       NOTE:
49251          Changed in version 2015.8.0.
49252
49253
49254          The  provider parameter in cloud provider definitions was renamed to
49255          driver. This change was made to avoid confusion  with  the  provider
49256          parameter  that is used in cloud profile definitions. Cloud provider
49257          definitions now use driver to refer to the Salt  cloud  module  that
49258          provides  the  underlying  functionality to connect to a cloud host,
49259          while cloud profiles continue to use provider to refer  to  provider
49260          configurations that you define.
49261
49262   Profiles
49263   Cloud Profiles
49264       Set  up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in the
49265       /etc/salt/cloud.profiles.d/ directory:
49266
49267          scaleway-ubuntu:
49268            provider: my-scaleway-config
49269            image: Ubuntu Trusty (14.04 LTS)
49270
49271       Images  can  be  obtained  using  the  --list-images  option  for   the
49272       salt-cloud command:
49273
49274          #salt-cloud --list-images my-scaleway-config
49275          my-scaleway-config:
49276            ----------
49277            scaleway:
49278                ----------
49279                069fd876-eb04-44ab-a9cd-47e2fa3e5309:
49280                    ----------
49281                    arch:
49282                        arm
49283                    creation_date:
49284                        2015-03-12T09:35:45.764477+00:00
49285                    default_bootscript:
49286                        {u'kernel': {u'dtb': u'', u'title': u'Pimouss 3.2.34-30-std', u'id': u'cfda4308-cd6f-4e51-9744-905fc0da370f', u'path': u'kernel/pimouss-uImage-3.2.34-30-std'}, u'title': u'3.2.34-std #30 (stable)', u'id': u'c5af0215-2516-4316-befc-5da1cfad609c', u'initrd': {u'path': u'initrd/c1-uInitrd', u'id': u'1be14b1b-e24c-48e5-b0b6-7ba452e42b92', u'title': u'C1 initrd'}, u'bootcmdargs': {u'id': u'd22c4dde-e5a4-47ad-abb9-d23b54d542ff', u'value': u'ip=dhcp boot=local root=/dev/nbd0 USE_XNBD=1 nbd.max_parts=8'}, u'organization': u'11111111-1111-4111-8111-111111111111', u'public': True}
49287                    extra_volumes:
49288                        []
49289                    id:
49290                        069fd876-eb04-44ab-a9cd-47e2fa3e5309
49291                    modification_date:
49292                        2015-04-24T12:02:16.820256+00:00
49293                    name:
49294                        Ubuntu Vivid (15.04)
49295                    organization:
49296                        a283af0b-d13e-42e1-a43f-855ffbf281ab
49297                    public:
49298                        True
49299                    root_volume:
49300                        {u'name': u'distrib-ubuntu-vivid-2015-03-12_10:32-snapshot', u'id': u'a6d02e63-8dee-4bce-b627-b21730f35a05', u'volume_type': u'l_ssd', u'size': 50000000000L}
49301          ...
49302
49303       Execute  a  query and return all information about the nodes running on
49304       configured cloud providers using the -Q option for the salt-cloud  com‐
49305       mand:
49306
49307          # salt-cloud -F
49308          [INFO    ] salt-cloud starting
49309          [INFO    ] Starting new HTTPS connection (1): api.scaleway.com
49310          my-scaleway-config:
49311            ----------
49312            scaleway:
49313                ----------
49314                salt-manager:
49315                    ----------
49316                    creation_date:
49317                        2015-06-03T08:17:38.818068+00:00
49318                    hostname:
49319                        salt-manager
49320          ...
49321
49322       NOTE:
49323          Additional   documentation   about   Scaleway   can   be   found  at
49324          https://www.scaleway.com/docs.
49325
49326   Getting Started With Saltify
49327       The Saltify driver is a driver for installing Salt on existing machines
49328       (virtual or bare metal).
49329
49330   Dependencies
49331       The Saltify driver has no external dependencies.
49332
49333   Configuration
49334       Because  the Saltify driver does not use an actual cloud provider host,
49335       it can have a simple provider configuration. The  only  thing  that  is
49336       required to be set is the driver name, and any other potentially useful
49337       information, like the location of the salt-master:
49338
49339          # Note: This example is for /etc/salt/cloud.providers file or any file in
49340          # the /etc/salt/cloud.providers.d/ directory.
49341
49342          my-saltify-config:
49343            minion:
49344              master: 111.222.333.444
49345            driver: saltify
49346
49347       However,  if  you  wish  to  use  the  more  advanced  capabilities  of
49348       salt-cloud,  such  as  rebooting,  listing, and disconnecting machines,
49349       then the salt master must fill the role usually performed by a vendor's
49350       cloud  management  system.  The  salt  master  must  be  running on the
49351       salt-cloud machine, and created nodes must be connected to the master.
49352
49353       Additional information about which configuration options apply to which
49354       actions can be studied in the Saltify Module documentation and the Mis‐
49355       cellaneous Salt Cloud Options document.
49356
49357   Profiles
49358       Saltify requires a separate profile to be configured for  each  machine
49359       that  needs  Salt  installed  [1]. The initial profile can be set up at
49360       /etc/salt/cloud.profiles or in the  /etc/salt/cloud.profiles.d/  direc‐
49361       tory.  Each  profile  requires both an ssh_host and an ssh_username key
49362       parameter as well as either an key_filename or a password.
49363
49364       [1]  Unless you are using a map file to provide the unique parameters.
49365
49366            Profile configuration example:
49367
49368          # /etc/salt/cloud.profiles.d/saltify.conf
49369
49370          salt-this-machine:
49371            ssh_host: 12.34.56.78
49372            ssh_username: root
49373            key_filename: '/etc/salt/mysshkey.pem'
49374            provider: my-saltify-config
49375
49376       The machine can now be "Salted" with the following command:
49377
49378          salt-cloud -p salt-this-machine my-machine
49379
49380       This will install salt on the machine specified by the  cloud  profile,
49381       salt-this-machine,   and  will  give  the  machine  the  minion  id  of
49382       my-machine. If the command was executed on the  salt-master,  its  Salt
49383       key will automatically be accepted by the master.
49384
49385       Once  a  salt-minion  has  been successfully installed on the instance,
49386       connectivity to it can be verified with Salt:
49387
49388          salt my-machine test.version
49389
49390   Destroy Options
49391       New in version 2018.3.0.
49392
49393
49394       For obvious reasons, the destroy  action  does  not  actually  vaporize
49395       hardware.   If the salt  master is connected, it can tear down parts of
49396       the client machines.  It will remove the client's  key  from  the  salt
49397       master, and can execute the following options:
49398
49399          - remove_config_on_destroy: true
49400            # default: true
49401            # Deactivate salt-minion on reboot and
49402            # delete the minion config and key files from its "/etc/salt" directory,
49403            #   NOTE: If deactivation was unsuccessful (older Ubuntu machines) then when
49404            #   salt-minion restarts it will automatically create a new, unwanted, set
49405            #   of key files. Use the "force_minion_config" option to replace them.
49406
49407          - shutdown_on_destroy: false
49408            # default: false
49409            # last of all, send a "shutdown" command to the client.
49410
49411   Wake On LAN
49412       New in version 2018.3.0.
49413
49414
49415       In addition to connecting a hardware machine to a Salt master, you have
49416       the option of sending a wake-on-LAN magic packet to start that  machine
49417       running.
49418
49419       The  "magic packet" must be sent by an existing salt minion which is on
49420       the same network segment as the target machine. (Or your router must be
49421       set  up  especially  to route WoL packets.) Your target machine must be
49422       set up to listen for WoL and to respond appropriately.
49423
49424       You must provide the Salt node id of the machine which  will  send  the
49425       WoL packet (parameter wol_sender_node), and the hardware MAC address of
49426       the machine you intend to wake, (parameter  wake_on_lan_mac).  If  both
49427       parameters  are  defined,  the  WoL will be sent. The cloud master will
49428       then sleep a while (parameter wol_boot_wait) to give the target machine
49429       time to boot up before we start probing its SSH port to begin deploying
49430       Salt to it. The default sleep time is 30 seconds.
49431
49432          # /etc/salt/cloud.profiles.d/saltify.conf
49433
49434          salt-this-machine:
49435            ssh_host: 12.34.56.78
49436            ssh_username: root
49437            key_filename: '/etc/salt/mysshkey.pem'
49438            provider: my-saltify-config
49439            wake_on_lan_mac: '00:e0:4c:70:2a:b2'  # found with ifconfig
49440            wol_sender_node: bevymaster  # its on this network segment
49441            wol_boot_wait: 45  # seconds to sleep
49442
49443   Using Map Files
49444       The settings explained in the section above may also be set  in  a  map
49445       file.  An example of how to use the Saltify driver with a map file fol‐
49446       lows:
49447
49448          # /etc/salt/saltify-map
49449
49450          make_salty:
49451            - my-instance-0:
49452                ssh_host: 12.34.56.78
49453                ssh_username: root
49454                password: very-bad-password
49455            - my-instance-1:
49456                ssh_host: 44.33.22.11
49457                ssh_username: root
49458                password: another-bad-pass
49459
49460       In this example, the names my-instance-0 and my-instance-1 will be  the
49461       identifiers of the deployed minions.
49462
49463       Note:  The  ssh_host  directive  is  also  used for Windows hosts, even
49464       though they do not typically run  the  SSH  service.  It  indicates  IP
49465       address or host name for the target system.
49466
49467       Note:  When  using a cloud map with the Saltify driver, the name of the
49468       profile to use, in this case make_salty, must be defined in  a  profile
49469       config. For example:
49470
49471          # /etc/salt/cloud.profiles.d/saltify.conf
49472
49473          make_salty:
49474            provider: my-saltify-config
49475
49476       The machines listed in the map file can now be "Salted" by applying the
49477       following salt map command:
49478
49479          salt-cloud -m /etc/salt/saltify-map
49480
49481       This command will install salt on the machines specified in the map and
49482       will   give   each   machine  their  minion  id  of  my-instance-0  and
49483       my-instance-1,  respectively.  If  the  command  was  executed  on  the
49484       salt-master, its Salt key will automatically be signed on the master.
49485
49486       Connectivity  to  the  new  "Salted" instances can now be verified with
49487       Salt:
49488
49489          salt 'my-instance-*' test.version
49490
49491   Bulk Deployments
49492       When deploying large numbers of Salt Minions using Saltify, it  may  be
49493       preferable  to organize the configuration in a way that duplicates data
49494       as little as possible. For example, if a group of target  systems  have
49495       the same credentials, they can be specified in the profile, rather than
49496       in a map file.
49497
49498          # /etc/salt/cloud.profiles.d/saltify.conf
49499
49500          make_salty:
49501            provider: my-saltify-config
49502            ssh_username: root
49503            password: very-bad-password
49504
49505          # /etc/salt/saltify-map
49506
49507          make_salty:
49508            - my-instance-0:
49509                ssh_host: 12.34.56.78
49510            - my-instance-1:
49511                ssh_host: 44.33.22.11
49512
49513       If ssh_host is not provided, its default value will be the Minion iden‐
49514       tifier  (my-instance-0  and  my-instance-1,  in the example above). For
49515       deployments with working DNS resolution, this can save a lot of  redun‐
49516       dant  data  in  the  map.  Here  is an example map file using DNS names
49517       instead of IP addresses:
49518
49519          # /etc/salt/saltify-map
49520
49521          make_salty:
49522            - my-instance-0
49523            - my-instance-1
49524
49525   Credential Verification
49526       Because the Saltify driver does not actually create VM's, unlike  other
49527       salt-cloud  drivers, it has special behaviour when the deploy option is
49528       set to False. When the cloud configuration specifies deploy: False, the
49529       Saltify  driver  will attempt to authenticate to the target node(s) and
49530       return True for each one that succeeds. This can be  useful  to  verify
49531       ports,  protocols,  services  and  credentials are correctly configured
49532       before a live deployment.
49533
49534       Return values:
49535
49536              · True: Credential verification succeeded
49537
49538              · False: Credential verification succeeded
49539
49540              · None: Credential verification was not attempted.
49541
49542   Getting Started With SoftLayer
49543       SoftLayer is a public cloud host, and baremetal hardware  hosting  ser‐
49544       vice.
49545
49546   Dependencies
49547       The  SoftLayer  driver  for  Salt Cloud requires the softlayer package,
49548       which is available at PyPI:
49549
49550       https://pypi.python.org/pypi/SoftLayer
49551
49552       This package can be installed using pip or easy_install:
49553
49554          # pip install softlayer
49555          # easy_install softlayer
49556
49557   Configuration
49558       Set up the cloud config at /etc/salt/cloud.providers:
49559
49560          # Note: These examples are for /etc/salt/cloud.providers
49561
49562            my-softlayer:
49563              # Set up the location of the salt master
49564              minion:
49565                master: saltmaster.example.com
49566
49567              # Set the SoftLayer access credentials (see below)
49568              user: MYUSER1138
49569              apikey: 'e3b68aa711e6deadc62d5b76355674beef7cc3116062ddbacafe5f7e465bfdc9'
49570
49571              driver: softlayer
49572
49573
49574            my-softlayer-hw:
49575              # Set up the location of the salt master
49576              minion:
49577                master: saltmaster.example.com
49578
49579              # Set the SoftLayer access credentials (see below)
49580              user: MYUSER1138
49581              apikey: 'e3b68aa711e6deadc62d5b76355674beef7cc3116062ddbacafe5f7e465bfdc9'
49582
49583              driver: softlayer_hw
49584
49585       NOTE:
49586          Changed in version 2015.8.0.
49587
49588
49589          The provider parameter in cloud provider definitions was renamed  to
49590          driver.  This  change  was made to avoid confusion with the provider
49591          parameter that is used in cloud profile definitions. Cloud  provider
49592          definitions  now  use  driver to refer to the Salt cloud module that
49593          provides the underlying functionality to connect to  a  cloud  host,
49594          while  cloud  profiles continue to use provider to refer to provider
49595          configurations that you define.
49596
49597   Access Credentials
49598       The user setting is the same user as is used to log into the  SoftLayer
49599       Administration  area. The apikey setting is found inside the Admin area
49600       after logging in:
49601
49602       · Hover over the Account menu item.
49603
49604       · Click the Users link.
49605
49606       · Find the API Key column and click View.
49607
49608   Profiles
49609   Cloud Profiles
49610       Set up an initial profile at /etc/salt/cloud.profiles:
49611
49612          base_softlayer_ubuntu:
49613            provider: my-softlayer
49614            image: UBUNTU_LATEST
49615            cpu_number: 1
49616            ram: 1024
49617            disk_size: 100
49618            local_disk: True
49619            hourly_billing: True
49620            domain: example.com
49621            location: sjc01
49622            # Optional
49623            max_net_speed: 1000
49624            private_vlan: 396
49625            private_network: True
49626            private_ssh: True
49627            # Use a dedicated host instead of cloud
49628            dedicated_host_id: 1234
49629            # May be used _instead_of_ image
49630            global_identifier: 320d8be5-46c0-dead-cafe-13e3c51
49631
49632       Most of the above items are  required;  optional  items  are  specified
49633       below.
49634
49635   image
49636       Images  to  build  an  instance  can  be  found using the --list-images
49637       option:
49638
49639          # salt-cloud --list-images my-softlayer
49640
49641       The setting used will be labeled as template.
49642
49643   cpu_number
49644       This is the number of CPU cores that will be used  for  this  instance.
49645       This number may be dependent upon the image that is used. For instance:
49646
49647          Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (1 - 4 Core):
49648              ----------
49649              name:
49650                  Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (1 - 4 Core)
49651              template:
49652                  REDHAT_6_64
49653          Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (5 - 100 Core):
49654              ----------
49655              name:
49656                  Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (5 - 100 Core)
49657              template:
49658                  REDHAT_6_64
49659
49660       Note that the template (meaning, the image option) for both of these is
49661       the same, but the names suggests how many CPU cores are supported.
49662
49663   ram
49664       This is the amount of memory, in megabytes, that will be  allocated  to
49665       this instance.
49666
49667   disk_size
49668       The amount of disk space that will be allocated to this image, in giga‐
49669       bytes.
49670
49671          base_softlayer_ubuntu:
49672            disk_size: 100
49673
49674   Using Multiple Disks
49675       New in version 2015.8.1.
49676
49677
49678       SoftLayer allows up to 5 disks to be specified for  a  virtual  machine
49679       upon  creation.  Multiple  disks can be specified either as a list or a
49680       comma-delimited string. The first disk_size specified in the string  or
49681       list will be the first disk size assigned to the VM.
49682
49683       List Example:
49684
49685          base_softlayer_ubuntu:
49686                 disk_size: ['100', '20', '20']
49687
49688       String Example:
49689
49690          base_softlayer_ubuntu:
49691                 disk_size: '100, 20, 20'
49692
49693   local_disk
49694       When  true  the disks for the computing instance will be provisioned on
49695       the host which it runs, otherwise SAN disks will be provisioned.
49696
49697   hourly_billing
49698       When true the computing instance will be billed on hourly usage, other‐
49699       wise it will be billed on a monthly basis.
49700
49701   domain
49702       The  domain  name that will be used in the FQDN (Fully Qualified Domain
49703       Name) for this instance. The domain setting will be used in conjunction
49704       with the instance name to form the FQDN.
49705
49706   use_fqdn
49707       If set to True, the Minion will be identified by the FQDN (Fully Quali‐
49708       fied Domain Name) which is a result of combining the domain  configura‐
49709       tion  value  and  the Minion name specified either via the CLI or a map
49710       file rather than only using the short host name, or Minion ID.  Default
49711       is False.
49712
49713       New in version 2016.3.0.
49714
49715
49716       For  example,  if  the  value of domain is example.com and a new VM was
49717       created via the CLI with salt-cloud -p base_softlayer_ubuntu my-vm, the
49718       resulting Minion ID would be my-vm.example.com.
49719
49720       NOTE:
49721          When  enabling  the use_fqdn setting, the Minion ID will be the FQDN
49722          and will interact with salt commands with the FQDN  instead  of  the
49723          short  hostname.  However,  due to the way the SoftLayer API is con‐
49724          structed, some  Salt  Cloud  functions  such  as  listing  nodes  or
49725          destroying  VMs  will only list the short hostname of the VM instead
49726          of the FQDN.
49727
49728       Example output displaying the SoftLayer hostname quirk mentioned in the
49729       note  above  (note the Minion ID is my-vm.example.com, but the VM to be
49730       destroyed is listed with its short hostname, my-vm):
49731
49732          # salt-key -L
49733          Accepted Keys:
49734          my-vm.example.com
49735          Denied Keys:
49736          Unaccepted Keys:
49737          Rejected Keys:
49738          #
49739          #
49740          # salt my-vm.example.com test.version
49741          my-vm.example.com:
49742              2018.3.4
49743          #
49744          #
49745          # salt-cloud -d my-vm.example.com
49746          [INFO    ] salt-cloud starting
49747          [INFO    ] POST https://api.softlayer.com/xmlrpc/v3.1/SoftLayer_Account
49748          The following virtual machines are set to be destroyed:
49749            softlayer-config:
49750              softlayer:
49751                my-vm
49752
49753          Proceed? [N/y] y
49754          ... proceeding
49755          [INFO    ] Destroying in non-parallel mode.
49756          [INFO    ] POST https://api.softlayer.com/xmlrpc/v3.1/SoftLayer_Account
49757          [INFO    ] POST https://api.softlayer.com/xmlrpc/v3.1/SoftLayer_Virtual_Guest
49758          softlayer-config:
49759              ----------
49760              softlayer:
49761                  ----------
49762                  my-vm:
49763                      True
49764
49765   location
49766       Images to build an instance can be  found  using  the  --list-locations
49767       option:
49768
49769          # salt-cloud --list-location my-softlayer
49770
49771   max_net_speed
49772       Specifies  the  connection speed for the instance's network components.
49773       This setting is optional. By default, this is set to 10.
49774
49775   post_uri
49776       Specifies the uri location of the script to be downloaded and run after
49777       the instance is provisioned.
49778
49779       New in version 2015.8.1.
49780
49781
49782       Example:
49783
49784          base_softlayer_ubuntu:
49785                 post_uri: 'https://SOMESERVERIP:8000/myscript.sh'
49786
49787   public_vlan
49788       If  it  is  necessary  for  an instance to be created within a specific
49789       frontend VLAN, the ID for that VLAN can  be  specified  in  either  the
49790       provider or profile configuration.
49791
49792       This  ID  can  be  queried  using the list_vlans function, as described
49793       below. This setting is optional.
49794
49795       If this setting is set to None, salt-cloud will connect to the  private
49796       ip of the server.
49797
49798       NOTE:
49799          If  this  setting is not provided and the server is not built with a
49800          public vlan, private_ssh or private_wds will need to be set to  make
49801          sure that salt-cloud attempts to connect to the private ip.
49802
49803   private_vlan
49804       If  it  is  necessary  for  an instance to be created within a specific
49805       backend VLAN, the ID for that VLAN  can  be  specified  in  either  the
49806       provider or profile configuration.
49807
49808       This  ID  can  be  queried  using the list_vlans function, as described
49809       below. This setting is optional.
49810
49811   private_network
49812       If a server is to only be used internally, meaning it does not  have  a
49813       public  VLAN  associated with it, this value would be set to True. This
49814       setting is optional. The default is False.
49815
49816   private_ssh or private_wds
49817       Whether to run the deploy script on the  server  using  the  public  IP
49818       address  or  the  private  IP  address. If set to True, Salt Cloud will
49819       attempt to SSH or WinRM into  the  new  server  using  the  private  IP
49820       address. The default is False.  This settiong is optional.
49821
49822   global_identifier
49823       When  creating  an instance using a custom template, this option is set
49824       to the corresponding value obtained using the list_custom_images  func‐
49825       tion.  This option will not be used if an image is set, and if an image
49826       is not set, it is required.
49827
49828       The profile can be realized now with a salt command:
49829
49830          # salt-cloud -p base_softlayer_ubuntu myserver
49831
49832       Using the above configuration, this will create myserver.example.com.
49833
49834       Once the instance has been created with salt-minion installed,  connec‐
49835       tivity to it can be verified with Salt:
49836
49837          # salt 'myserver.example.com' test.version
49838
49839   Dedicated Host
49840       Soflayer allows the creation of new VMs in a dedicated host. This means
49841       that you can order and pay a fixed amount for a  bare  metal  dedicated
49842       host  and  use  it to provision as many VMs as you can fit in there. If
49843       you want your VMs to be  launched  in  a  dedicated  host,  instead  of
49844       Sofltayer's cloud, set the dedicated_host_id parameter in your profile.
49845
49846   dedicated_host_id
49847       The  id  of  the dedicated host where the VMs should be created. If not
49848       set, VMs will be created in Softlayer's cloud instead.
49849
49850   Bare metal Profiles
49851       Set up an initial profile at /etc/salt/cloud.profiles:
49852
49853          base_softlayer_hw_centos:
49854            provider: my-softlayer-hw
49855            # CentOS 6.0 - Minimal Install (64 bit)
49856            image: 13963
49857            # 2 x 2.0 GHz Core Bare Metal Instance - 2 GB Ram
49858            size: 1921
49859            # 500GB SATA II
49860            hdd: 1267
49861            # San Jose 01
49862            location: 168642
49863            domain: example.com
49864            # Optional
49865            vlan: 396
49866            port_speed: 273
49867            banwidth: 248
49868
49869       Most of the above items are  required;  optional  items  are  specified
49870       below.
49871
49872   image
49873       Images  to  build  an  instance  can  be  found using the --list-images
49874       option:
49875
49876          # salt-cloud --list-images my-softlayer-hw
49877
49878       A list of id`s and names will be provided. The `name will describe  the
49879       operating  system  and  architecture.  The id will be the setting to be
49880       used in the profile.
49881
49882   size
49883       Sizes to build an instance can be found using the --list-sizes option:
49884
49885          # salt-cloud --list-sizes my-softlayer-hw
49886
49887       A list of id`s and names will be provided. The `name will describe  the
49888       speed  and  quantity  of  CPU  cores, and the amount of memory that the
49889       hardware will contain. The id will be the setting to  be  used  in  the
49890       profile.
49891
49892   hdd
49893       There  is  currently  only  one  size  of hard disk drive (HDD) that is
49894       available for hardware instances on SoftLayer:
49895
49896          1267: 500GB SATA II
49897
49898       The hdd setting in the profile should be 1267. Other sizes may be added
49899       in the future.
49900
49901   location
49902       Locations  to  build  an  instance can be found using the --list-images
49903       option:
49904
49905          # salt-cloud --list-locations my-softlayer-hw
49906
49907       A list of IDs and names will be provided. The  location  will  describe
49908       the  location  in human terms. The id will be the setting to be used in
49909       the profile.
49910
49911   domain
49912       The domain name that will be used in the FQDN (Fully  Qualified  Domain
49913       Name) for this instance. The domain setting will be used in conjunction
49914       with the instance name to form the FQDN.
49915
49916   vlan
49917       If it is necessary for an instance to  be  created  within  a  specific
49918       VLAN,  the  ID for that VLAN can be specified in either the provider or
49919       profile configuration.
49920
49921       This ID can be queried using  the  list_vlans  function,  as  described
49922       below.
49923
49924   port_speed
49925       Specifies  the  speed  for  the  instance's  network port. This setting
49926       refers to an ID within the SoftLayer API, which sets  the  port  speed.
49927       This  setting  is  optional.  The default is 273, or, 100 Mbps Public &
49928       Private Networks. The following settings are available:
49929
49930       · 273: 100 Mbps Public & Private Networks
49931
49932       · 274: 1 Gbps Public & Private Networks
49933
49934       · 21509: 10 Mbps Dual Public & Private Networks (up to 20 Mbps)
49935
49936       · 21513: 100 Mbps Dual Public & Private Networks (up to 200 Mbps)
49937
49938       · 2314: 1 Gbps Dual Public & Private Networks (up to 2 Gbps)
49939
49940       · 272: 10 Mbps Public & Private Networks
49941
49942   bandwidth
49943       Specifies the network bandwidth available for the instance.  This  set‐
49944       ting  refers  to  an  ID within the SoftLayer API, which sets the band‐
49945       width. This setting is optional. The default is 248, or, 5000 GB  Band‐
49946       width. The following settings are available:
49947
49948       · 248: 5000 GB Bandwidth
49949
49950       · 129: 6000 GB Bandwidth
49951
49952       · 130: 8000 GB Bandwidth
49953
49954       · 131: 10000 GB Bandwidth
49955
49956       · 36: Unlimited Bandwidth (10 Mbps Uplink)
49957
49958       · 125: Unlimited Bandwidth (100 Mbps Uplink)
49959
49960   Actions
49961       The  following  actions  are  currently supported by the SoftLayer Salt
49962       Cloud driver.
49963
49964   show_instance
49965       This action is a  thin  wrapper  around  --full-query,  which  displays
49966       details  on  a  single  instance  only.  In an environment with several
49967       machines, this will save  a  user  from  having  to  sort  through  all
49968       instance data, just to examine a single instance.
49969
49970          $ salt-cloud -a show_instance myinstance
49971
49972   Functions
49973       The  following  functions are currently supported by the SoftLayer Salt
49974       Cloud driver.
49975
49976   list_vlans
49977       This function lists all VLANs associated  with  the  account,  and  all
49978       known data from the SoftLayer API concerning those VLANs.
49979
49980          $ salt-cloud -f list_vlans my-softlayer
49981          $ salt-cloud -f list_vlans my-softlayer-hw
49982
49983       The id returned in this list is necessary for the vlan option when cre‐
49984       ating an instance.
49985
49986   list_custom_images
49987       This function lists any custom templates associated with  the  account,
49988       that can be used to create a new instance.
49989
49990          $ salt-cloud -f list_custom_images my-softlayer
49991
49992       The  globalIdentifier  returned  in  this  list  is  necessary  for the
49993       global_identifier option when creating an image  using  a  custom  tem‐
49994       plate.
49995
49996   Optional Products for SoftLayer HW
49997       The  softlayer_hw driver supports the ability to add optional products,
49998       which are supported by SoftLayer's API. These products each have an  ID
49999       associated  with  them,  that  can  be  passed into Salt Cloud with the
50000       optional_products option:
50001
50002          softlayer_hw_test:
50003            provider: my-softlayer-hw
50004            # CentOS 6.0 - Minimal Install (64 bit)
50005            image: 13963
50006            # 2 x 2.0 GHz Core Bare Metal Instance - 2 GB Ram
50007            size: 1921
50008            # 500GB SATA II
50009            hdd: 1267
50010            # San Jose 01
50011            location: 168642
50012            domain: example.com
50013            optional_products:
50014              # MySQL for Linux
50015              - id: 28
50016              # Business Continuance Insurance
50017              - id: 104
50018
50019       These values can be manually obtained by looking at the  source  of  an
50020       order  page  on  the  SoftLayer web interface. For convenience, many of
50021       these values are listed here:
50022
50023   Public Secondary IP Addresses
50024       · 22: 4 Public IP Addresses
50025
50026       · 23: 8 Public IP Addresses
50027
50028   Primary IPv6 Addresses
50029       · 17129: 1 IPv6 Address
50030
50031   Public Static IPv6 Addresses
50032       · 1481: /64 Block Static Public IPv6 Addresses
50033
50034   OS-Specific Addon
50035       · 17139: XenServer Advanced for XenServer 6.x
50036
50037       · 17141: XenServer Enterprise for XenServer 6.x
50038
50039       · 2334: XenServer Advanced for XenServer 5.6
50040
50041       · 2335: XenServer Enterprise for XenServer 5.6
50042
50043       · 13915: Microsoft WebMatrix
50044
50045       · 21276: VMware vCenter 5.1 Standard
50046
50047   Control Panel Software
50048       · 121: cPanel/WHM with Fantastico and RVskin
50049
50050       · 20778: Parallels Plesk Panel 11 (Linux) 100 Domain w/ Power Pack
50051
50052       · 20786: Parallels Plesk Panel 11 (Windows) 100 Domain w/ Power Pack
50053
50054       · 20787: Parallels Plesk Panel 11 (Linux)  Unlimited  Domain  w/  Power
50055         Pack
50056
50057       · 20792:  Parallels  Plesk Panel 11 (Windows) Unlimited Domain w/ Power
50058         Pack
50059
50060       · 2340: Parallels Plesk Panel 10 (Linux) 100 Domain w/ Power Pack
50061
50062       · 2339: Parallels Plesk Panel 10 (Linux) Unlimited Domain w/ Power Pack
50063
50064       · 13704: Parallels Plesk Panel 10 (Windows) Unlimited Domain  w/  Power
50065         Pack
50066
50067   Database Software
50068       · 29: MySQL 5.0 for Windows
50069
50070       · 28: MySQL for Linux
50071
50072       · 21501: Riak 1.x
50073
50074       · 20893: MongoDB
50075
50076       · 30: Microsoft SQL Server 2005 Express
50077
50078       · 92: Microsoft SQL Server 2005 Workgroup
50079
50080       · 90: Microsoft SQL Server 2005 Standard
50081
50082       · 94: Microsoft SQL Server 2005 Enterprise
50083
50084       · 1330: Microsoft SQL Server 2008 Express
50085
50086       · 1340: Microsoft SQL Server 2008 Web
50087
50088       · 1337: Microsoft SQL Server 2008 Workgroup
50089
50090       · 1334: Microsoft SQL Server 2008 Standard
50091
50092       · 1331: Microsoft SQL Server 2008 Enterprise
50093
50094       · 2179: Microsoft SQL Server 2008 Express R2
50095
50096       · 2173: Microsoft SQL Server 2008 Web R2
50097
50098       · 2183: Microsoft SQL Server 2008 Workgroup R2
50099
50100       · 2180: Microsoft SQL Server 2008 Standard R2
50101
50102       · 2176: Microsoft SQL Server 2008 Enterprise R2
50103
50104   Anti-Virus & Spyware Protection
50105       · 594: McAfee VirusScan Anti-Virus - Windows
50106
50107       · 414: McAfee Total Protection - Windows
50108
50109   Insurance
50110       · 104: Business Continuance Insurance
50111
50112   Monitoring
50113       · 55: Host Ping
50114
50115       · 56: Host Ping and TCP Service Monitoring
50116
50117   Notification
50118       · 57: Email and Ticket
50119
50120   Advanced Monitoring
50121       · 2302: Monitoring Package - Basic
50122
50123       · 2303: Monitoring Package - Advanced
50124
50125       · 2304: Monitoring Package - Premium Application
50126
50127   Response
50128       · 58: Automated Notification
50129
50130       · 59: Automated Reboot from Monitoring
50131
50132       · 60: 24x7x365 NOC Monitoring, Notification, and Response
50133
50134   Intrusion Detection & Protection
50135       · 413: McAfee Host Intrusion Protection w/Reporting
50136
50137   Hardware & Software Firewalls
50138       · 411: APF Software Firewall for Linux
50139
50140       · 894: Microsoft Windows Firewall
50141
50142       · 410: 10Mbps Hardware Firewall
50143
50144       · 409: 100Mbps Hardware Firewall
50145
50146       · 408: 1000Mbps Hardware Firewall
50147
50148   Getting Started With Tencent Cloud
50149       Tencent  Cloud is a secure, reliable and high-performance cloud compute
50150       service provided by Tencent. It is the 2nd largest  Cloud  Provider  in
50151       China.
50152
50153   Dependencies
50154       The   Tencent  Cloud  driver  for  Salt  Cloud  requires  the  tencent‐
50155       cloud-sdk-python package, which is available at PyPI:
50156
50157       https://pypi.org/project/tencentcloud-sdk-python/
50158
50159       This package can be installed using pip or easy_install:
50160
50161          # pip install tencentcloud-sdk-python
50162          # easy_install tencentcloud-sdk-python
50163
50164   Provider Configuration
50165       To use this module, set up the cloud configuration at
50166              /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf:
50167
50168          my-tencentcloud-config:
50169            driver: tencentcloud
50170            # Tencent Cloud Secret Id
50171            id: AKIDA64pOio9BMemkApzevX0HS169S4b750A
50172            # Tencent Cloud Secret Key
50173            key: 8r2xmPn0C5FDvRAlmcJimiTZKVRsk260
50174            # Tencent Cloud Region
50175            location: ap-guangzhou
50176
50177   Configuration Parameters
50178   driver
50179       Required. tencentcloud to use this module.
50180
50181   id
50182       Required. Your Tencent Cloud secret id.
50183
50184   key
50185       Required. Your Tencent Cloud secret key.
50186
50187   location
50188       Optional. If this value is not specified, the default is  ap-guangzhou.
50189       Available locations can be found using the --list-locations option:
50190
50191          # salt-cloud --list-location my-tencentcloud-config
50192
50193   Profile Configuration
50194       Tencent Cloud profiles require a provider, availability_zone, image and
50195       size.   Set  up  an  initial  profile  at  /etc/salt/cloud.profiles  or
50196       /etc/salt/cloud.profiles.d/*.conf:
50197
50198          tencentcloud-guangzhou-s1sm1:
50199              provider: my-tencentcloud-config
50200              availability_zone: ap-guangzhou-3
50201              image: img-31tjrtph
50202              size: S1.SMALL1
50203              allocate_public_ip: True
50204              internet_max_bandwidth_out: 1
50205              password: '153e41ec96140152'
50206              securitygroups:
50207                  - sg-5e90804b
50208
50209   Configuration Parameters
50210   provider
50211       Required. Name of entry in salt/cloud.providers.d/??? file.
50212
50213   availability_zone
50214       Required.  The  availability  zone  that  the  instance  is located in.
50215       Available zones can be found using  the  list_availability_zones  func‐
50216       tion:
50217
50218          # salt-cloud -f list_availability_zones my-tencentcloud-config
50219
50220   image
50221       Required.  The  image id to use for the instance.  Available images can
50222       be found using the --list-images option:
50223
50224          # salt-cloud --list-images my-tencentcloud-config
50225
50226   size
50227       Required.  Instance  type  for  instance  can  be   found   using   the
50228       --list-sizes option.
50229
50230          # salt-cloud --list-sizes my-tencentcloud-config
50231
50232   securitygroups
50233       Optional.  A  list  of security group ids to associate with.  Available
50234       security group ids can be found using the list_securitygroups function:
50235
50236          # salt-cloud -f list_securitygroups my-tencentcloud-config
50237
50238       Multiple security groups are supported:
50239
50240          tencentcloud-guangzhou-s1sm1:
50241              securitygroups:
50242                  - sg-5e90804b
50243                  - sg-8kpynf2t
50244
50245   hostname
50246       Optional. The hostname of the instance.
50247
50248   instance_charge_type
50249       Optional. The charge type of the instance. Valid  values  are  PREPAID,
50250       POSTPAID_BY_HOUR and SPOTPAID. The default is POSTPAID_BY_HOUR.
50251
50252   instance_charge_type_prepaid_renew_flag
50253       Optional.  When  enabled, the instance will be renew automatically when
50254       it  reaches  the  end  of  the  prepaid  tenancy.   Valid  values   are
50255       NOTIFY_AND_AUTO_RENEW,       NOTIFY_AND_MANUAL_RENEW      and      DIS‐
50256       ABLE_NOTIFY_AND_MANUAL_RENEW.
50257
50258       NOTE:
50259          This value is only used when instance_charge_type is set to PREPAID.
50260
50261   instance_charge_type_prepaid_period
50262       Optional. The tenancy time in months of  the  prepaid  instance,  Valid
50263       values are 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36.
50264
50265       NOTE:
50266          This value is only used when instance_charge_type is set to PREPAID.
50267
50268   allocate_public_ip
50269       Optional.  Associate  a  public ip address with an instance in a VPC or
50270       Classic. Boolean value, default is false.
50271
50272   internet_max_bandwidth_out
50273       Optional. Maximum outgoing bandwidth to the public network, measured in
50274       Mbps  (Mega  bits per second).  Value range: [0, 100]. If this value is
50275       not specified, the default is 0 Mbps.
50276
50277   internet_charge_type
50278       Optional. Internet charge type of the instance. Valid values are  BAND‐
50279       WIDTH_PREPAID, TRAFFIC_POSTPAID_BY_HOUR, BANDWIDTH_POSTPAID_BY_HOUR and
50280       BANDWIDTH_PACKAGE.  The default is TRAFFIC_POSTPAID_BY_HOUR.
50281
50282   key_name
50283       Optional.  The  key  pair  to  use  for  the  instance,   for   example
50284       skey-16jig7tx.
50285
50286   password
50287       Optional. Login password for the instance.
50288
50289   private_ip
50290       Optional.  The  private  ip to be assigned to this instance, must be in
50291       the provided subnet and available.
50292
50293   project_id
50294       Optional. The project this instance belongs to, defaults to 0.
50295
50296   vpc_id
50297       Optional. The id of a VPC network.  If you want to create instances  in
50298       a VPC network, this parameter must be set.
50299
50300   subnet_id
50301       Optional.  The  id of a VPC subnet.  If you want to create instances in
50302       VPC network, this parameter must be set.
50303
50304   system_disk_size
50305       Optional. Size of the system disk.  Value range: [50, 1000],  and  unit
50306       is GB. Default is 50 GB.
50307
50308   system_disk_type
50309       Optional.  Type  of  the  system  disk.   Valid values are CLOUD_BASIC,
50310       CLOUD_SSD and CLOUD_PREMIUM, default value is CLOUD_BASIC.
50311
50312   Actions
50313       The following actions are supported by the  Tencent  Cloud  Salt  Cloud
50314       driver.
50315
50316   show_instance
50317       This  action  is  a  thin  wrapper  around --full-query, which displays
50318       details on a single instance  only.  In  an  environment  with  several
50319       machines,  this  will  save  a  user  from  having  to sort through all
50320       instance data, just to examine a single instance.
50321
50322          $ salt-cloud -a show_instance myinstance
50323
50324   show_disk
50325       Return disk details about a specific instance.
50326
50327          $ salt-cloud -a show_disk myinstance
50328
50329   destroy
50330       Destroy a Tencent Cloud instance.
50331
50332          $ salt-cloud -a destroy myinstance
50333
50334   start
50335       Start a Tencent Cloud instance.
50336
50337          $ salt-cloud -a start myinstance
50338
50339   stop
50340       Stop a Tencent Cloud instance.
50341
50342          $ salt-cloud -a stop myinstance
50343
50344   reboot
50345       Reboot a Tencent Cloud instance.
50346
50347          $ salt-cloud -a reboot myinstance
50348
50349   Functions
50350       The following functions are currently supported by  the  Tencent  Cloud
50351       Salt Cloud driver.
50352
50353   list_securitygroups
50354       Lists all Tencent Cloud security groups in current region.
50355
50356          $ salt-cloud -f list_securitygroups my-tencentcloud-config
50357
50358   list_availability_zones
50359       Lists all Tencent Cloud availability zones in current region.
50360
50361          $ salt-cloud -f list_availability_zones my-tencentcloud-config
50362
50363   list_custom_images
50364       Lists  any  custom images associated with the account. These images can
50365       be used to create a new instance.
50366
50367          $ salt-cloud -f list_custom_images my-tencentcloud-config
50368
50369   show_image
50370       Return details about a specific image. This image can be used to create
50371       a new instance.
50372
50373          $ salt-cloud -f show_image tencentcloud image=img-31tjrtph
50374
50375   Getting Started With Vagrant
50376       The  Vagrant  driver  is  a  new, experimental driver for spinning up a
50377       VagrantBox virtual machine, and installing Salt on it.
50378
50379   Dependencies
50380       The Vagrant driver itself has no external dependencies.
50381
50382       The machine which will host the VagrantBox must be an already  existing
50383       minion  of  the  cloud  server's  Salt  master.   It  must have Vagrant
50384       installed, and a Vagrant-compatible virtual  machine  engine,  such  as
50385       VirtualBox.    (Note:  The  Vagrant  driver  does  not  depend  on  the
50386       salt-cloud VirtualBox driver in any way.)
50387
50388       [Caution: The version of Vagrant packaged for  apt  install  in  Ubuntu
50389       16.04  will not connect a bridged network adapter correctly. Use a ver‐
50390       sion downloaded directly from the web site.]
50391
50392       Include the Vagrant  guest  editions  plugin:  vagrant  plugin  install
50393       vagrant-vbguest.
50394
50395   Configuration
50396       Configuration  of the client virtual machine (using VirtualBox, VMware,
50397       etc) will be done by Vagrant as specified in  the  Vagrantfile  on  the
50398       host machine.
50399
50400       Salt-cloud  will push the commands to install and provision a salt min‐
50401       ion on the virtual machine, so you need not (perhaps should not) provi‐
50402       sion salt in your Vagrantfile, in most cases.
50403
50404       If,  however,  your  cloud  master cannot open an SSH connection to the
50405       child VM, you may need to let Vagrant provision the VM with  Salt,  and
50406       use  some  other method (such as passing a pillar dictionary to the VM)
50407       to pass the master's IP address to the VM. The VM can then  attempt  to
50408       reach  the  salt master in the usual way for non-cloud minions. Specify
50409       the profile configuration argument as  deploy:  False  to  prevent  the
50410       cloud master from trying.
50411
50412          # Note: This example is for /etc/salt/cloud.providers file or any file in
50413          # the /etc/salt/cloud.providers.d/ directory.
50414
50415          my-vagrant-config:
50416            minion:
50417              master: 111.222.333.444
50418            provider: vagrant
50419
50420       Because  the  Vagrant driver needs a place to store the mapping between
50421       the node name you use for Salt commands and the Vagrantfile which  con‐
50422       trols the VM, you must configure your salt minion as a Salt smb server.
50423       (See host provisioning example below.)
50424
50425   Profiles
50426       Vagrant requires a profile to be configured for each machine that needs
50427       Salt    installed.   The   initial   profile   can   be   set   up   at
50428       /etc/salt/cloud.profiles or in the  /etc/salt/cloud.profiles.d/  direc‐
50429       tory.
50430
50431       Each  profile  requires a vagrantfile parameter. If the Vagrantfile has
50432       definitions for multiple machines then you need a machine parameter,
50433
50434       Salt-cloud uses SSH to provision the minion. There must be  a  routable
50435       path  from  the cloud master to the VM. Usually, you will want to use a
50436       bridged network adapter for SSH. The address may  not  be  known  until
50437       DHCP  assigns  it.  If  ssh_host  is not defined, and target_network is
50438       defined, the driver will attempt to read the address from the output of
50439       an ifconfig command. Lacking either setting, the driver will try to use
50440       the value Vagrant returns as its ssh_host, which will work only if  the
50441       cloud master is running somewhere on the same host.
50442
50443       The  target_network  setting  should be used to identify the IP network
50444       your bridged adapter is expected to appear on.  Use CIDR notation, like
50445       target_network: '2001:DB8::/32' or target_network: '192.0.2.0/24'.
50446
50447       Profile configuration example:
50448
50449          # /etc/salt/cloud.profiles.d/vagrant.conf
50450
50451          vagrant-machine:
50452            host: my-vhost  # the Salt id of the virtual machine's host computer.
50453            provider: my-vagrant-config
50454            cwd: /srv/machines  # the path to your Vagrantfile.
50455            vagrant_runas: my-username  # the username who defined the Vagrantbox on the host
50456            # vagrant_up_timeout: 300 # (seconds) timeout for cmd.run of the "vagrant up" command
50457            # vagrant_provider: '' # option for "vagrant up" like: "--provider vmware_fusion"
50458            # ssh_host: None  # "None" means try to find the routable IP address from "ifconfig"
50459            # ssh_username: '' # also required when ssh_host is used.
50460            # target_network: None  # Expected CIDR address range of your bridged network
50461            # force_minion_config: false  # Set "true" to re-purpose an existing VM
50462
50463       The  machine  can now be created and configured with the following com‐
50464       mand:
50465
50466          salt-cloud -p vagrant-machine my-id
50467
50468       This  will  create  the  machine  specified  by   the   cloud   profile
50469       vagrant-machine,  and  will give the machine the minion id of my-id. If
50470       the cloud master is also the salt-master, its Salt key  will  automati‐
50471       cally be accepted on the master.
50472
50473       Once  a  salt-minion  has  been successfully installed on the instance,
50474       connectivity to it can be verified with Salt:
50475
50476          salt my-id test.version
50477
50478   Provisioning a Vagrant cloud host (example)
50479       In order to query or control minions it created, each host minion needs
50480       to track the Salt node names associated with any guest virtual machines
50481       on it.  It does that using a Salt sdb database.
50482
50483       The Salt sdb is not configured by default. The following example  shows
50484       a simple installation.
50485
50486       This example assumes:
50487
50488       · you are on a large network using the 10.x.x.x IP address space
50489
50490       · your Salt master's Salt id is "bevymaster"
50491
50492       · it will also be your salt-cloud controller
50493
50494       · it is at hardware address 10.124.30.7
50495
50496       · it is running a recent Debian family Linux (raspbian)
50497
50498       · your workstation is a Salt minion of bevymaster
50499
50500       · your workstation's minion id is "my_laptop"
50501
50502       · VirtualBox has been installed on "my_laptop" (apt install is okay)
50503
50504       · Vagrant was installed from vagrantup.com. (not the 16.04 Ubuntu apt)
50505
50506       · "my_laptop" has done "vagrant plugin install vagrant-vbguest"
50507
50508       · the  VM  you  want  to  start  is  on  "my_laptop" at "/home/my_user‐
50509         name/Vagrantfile"
50510
50511          # file /etc/salt/minion.d/vagrant_sdb.conf on host computer "my_laptop"
50512          #  -- this sdb database is required by the Vagrant module --
50513          vagrant_sdb_data:  # The sdb database must have this name.
50514            driver: sqlite3  # Let's use SQLite to store the data ...
50515            database: /var/cache/salt/vagrant.sqlite  # ... in this file ...
50516            table: sdb  # ... using this table name.
50517            create_table: True  # if not present
50518
50519       Remember to re-start  your  minion  after  changing  its  configuration
50520       files...
50521          sudo systemctl restart salt-minion
50522
50523          # -*- mode: ruby -*-
50524          # file /home/my_username/Vagrantfile on host computer "my_laptop"
50525          BEVY = "bevy1"
50526          DOMAIN = BEVY + ".test"  # .test is an ICANN reserved non-public TLD
50527
50528          # must supply a list of names to avoid Vagrant asking for interactive input
50529          def get_good_ifc()   # try to find a working Ubuntu network adapter name
50530            addr_infos = Socket.getifaddrs
50531            addr_infos.each do |info|
50532              a = info.addr
50533              if a and a.ip? and not a.ip_address.start_with?("127.")
50534               return info.name
50535               end
50536            end
50537            return "eth0"  # fall back to an old reliable name
50538          end
50539
50540          Vagrant.configure(2) do |config|
50541            config.ssh.forward_agent = true  # so you can use git ssh://...
50542
50543            # add a bridged network interface. (try to detect name, then guess MacOS names, too)
50544            interface_guesses = [get_good_ifc(), 'en0: Ethernet', 'en1: Wi-Fi (AirPort)']
50545            config.vm.network "public_network", bridge: interface_guesses
50546            if ARGV[0] == "up"
50547              puts "Trying bridge network using interfaces: #{interface_guesses}"
50548            end
50549            config.vm.provision "shell", inline: "ip address", run: "always"  # make user feel good
50550
50551            # . . . . . . . . . . . . Define machine QUAIL1 . . . . . . . . . . . . . .
50552            config.vm.define "quail1", primary: true do |quail_config|
50553              quail_config.vm.box = "boxesio/xenial64-standard"  # a public VMware & Virtualbox box
50554              quail_config.vm.hostname = "quail1." + DOMAIN  # supply a name in our bevy
50555              quail_config.vm.provider "virtualbox" do |v|
50556                  v.memory = 1024       # limit memory for the virtual box
50557                  v.cpus = 1
50558                  v.linked_clone = true # make a soft copy of the base Vagrant box
50559                  v.customize ["modifyvm", :id, "--natnet1", "192.168.128.0/24"]  # do not use 10.x network for NAT
50560              end
50561            end
50562          end
50563
50564          # file /etc/salt/cloud.profiles.d/my_vagrant_profiles.conf on bevymaster
50565          q1:
50566            host: my_laptop  # the Salt id of your virtual machine host
50567            machine: quail1   # a machine name in the Vagrantfile (if not primary)
50568            vagrant_runas: my_username  # owner of Vagrant box files on "my_laptop"
50569            cwd: '/home/my_username' # the path (on "my_laptop") of the Vagrantfile
50570            provider: my_vagrant_provider  # name of entry in provider.conf file
50571            target_network: '10.0.0.0/8'  # VM external address will be somewhere here
50572
50573          # file /etc/salt/cloud.providers.d/vagrant_provider.conf on bevymaster
50574          my_vagrant_provider:
50575            driver: vagrant
50576            minion:
50577              master: 10.124.30.7  # the hard address of the master
50578
50579   Create and use your new Salt minion
50580       · Typing  on  the  Salt master computer bevymaster, tell it to create a
50581         new minion named v1 using profile q1...
50582
50583          sudo salt-cloud -p q1 v1
50584          sudo salt v1 network.ip_addrs
50585            [ you get a list of IP addresses, including the bridged one ]
50586
50587       · logged in to your laptop (or some other computer known to GitHub)...
50588            [NOTE:] if you are using MacOS, you need to type ssh-add -K  after
50589            each boot, unless you use one of the methods in this gist.
50590
50591          ssh -A vagrant@< the bridged network address >
50592            # [ or, if you are at /home/my_username/ on my_laptop ]
50593          vagrant ssh quail1
50594
50595       · then typing on your new node "v1" (a.k.a. quail1.bevy1.test)...
50596
50597          password: vagrant
50598            # [ stuff types out ... ]
50599
50600          ls -al /vagrant
50601            # [ should be shared /home/my_username from my_laptop ]
50602
50603          # you can access other network facilities using the ssh authorization
50604          # as recorded in your ~.ssh/ directory on my_laptop ...
50605
50606          sudo apt update
50607          sudo apt install git
50608          git clone ssh://git@github.com/yourID/your_project
50609          # etc...
50610
50611   Getting Started with VEXXHOST
50612       VEXXHOST  is  a cloud computing host which provides Canadian cloud com‐
50613       puting services which are based in Monteral and use the libcloud  Open‐
50614       Stack driver.  VEXXHOST currently runs the Havana release of OpenStack.
50615       When provisioning new instances, they automatically get a public IP and
50616       private IP address.  Therefore, you do not need to assign a floating IP
50617       to access your instance after it's booted.
50618
50619   Cloud Provider Configuration
50620       To use the openstack driver for the VEXXHOST  public  cloud,  you  will
50621       need  to set up the cloud provider configuration file as in the example
50622       below:
50623
50624       /etc/salt/cloud.providers.d/vexxhost.conf: In order to use the VEXXHOST
50625       public  cloud,  you  will  need to setup a cloud provider configuration
50626       file as in the example below which uses the OpenStack driver.
50627
50628          my-vexxhost-config:
50629            # Set the location of the salt-master
50630            #
50631            minion:
50632              master: saltmaster.example.com
50633
50634            # Configure VEXXHOST using the OpenStack plugin
50635            #
50636            identity_url: http://auth.api.thenebulacloud.com:5000/v2.0/tokens
50637            compute_name: nova
50638
50639            # Set the compute region:
50640            #
50641            compute_region: na-yul-nhs1
50642
50643            # Configure VEXXHOST authentication credentials
50644            #
50645            user: your-tenant-id
50646            password: your-api-key
50647            tenant: your-tenant-name
50648
50649            # keys to allow connection to the instance launched
50650            #
50651            ssh_key_name: yourkey
50652            ssh_key_file: /path/to/key/yourkey.priv
50653
50654            driver: openstack
50655
50656       NOTE:
50657          Changed in version 2015.8.0.
50658
50659
50660          The provider parameter in cloud provider definitions was renamed  to
50661          driver.  This  change  was made to avoid confusion with the provider
50662          parameter that is used in cloud profile definitions. Cloud  provider
50663          definitions  now  use  driver to refer to the Salt cloud module that
50664          provides the underlying functionality to connect to  a  cloud  host,
50665          while  cloud  profiles continue to use provider to refer to provider
50666          configurations that you define.
50667
50668   Authentication
50669       All of the authentication fields that you need can be found by  logging
50670       into  your  VEXXHOST  customer center.  Once you've logged in, you will
50671       need to click on "CloudConsole" and then click on "API Credentials".
50672
50673   Cloud Profile Configuration
50674       In order to get the correct image UUID and the instance type to use  in
50675       the cloud profile, you can run the following command respectively:
50676
50677          # salt-cloud --list-images=vexxhost-config
50678          # salt-cloud --list-sizes=vexxhost-config
50679
50680       Once  you  have  that, you can go ahead and create a new cloud profile.
50681       This profile will build an Ubuntu 12.04 LTS nb.2G instance.
50682
50683       /etc/salt/cloud.profiles.d/vh_ubuntu1204_2G.conf:
50684
50685          vh_ubuntu1204_2G:
50686            provider: my-vexxhost-config
50687            image: 4051139f-750d-4d72-8ef0-074f2ccc7e5a
50688            size: nb.2G
50689
50690   Provision an instance
50691       To create an instance based on  the  sample  profile  that  we  created
50692       above, you can run the following salt-cloud command.
50693
50694          # salt-cloud -p vh_ubuntu1204_2G vh_instance1
50695
50696       Typically,  instances  are  provisioned  in  under  30  seconds  on the
50697       VEXXHOST public cloud.  After the instance provisions, it will  be  set
50698       up a minion and then return all the instance information once it's com‐
50699       plete.
50700
50701       Once the instance has been setup, you can test connectivity  to  it  by
50702       running the following command:
50703
50704          # salt vh_instance1 test.version
50705
50706       You can now continue to provision new instances and they will all auto‐
50707       matically be set up as minions of the master you've defined in the con‐
50708       figuration file.
50709
50710   Getting Started With Virtualbox
50711       The  Virtualbox  cloud  module  allows you to manage a local Virtualbox
50712       hypervisor. Remote hypervisors may come later on.
50713
50714   Dependencies
50715       The virtualbox module for Salt Cloud requires the Virtualbox SDK  which
50716       is contained in a virtualbox installation from
50717
50718       https://www.virtualbox.org/wiki/Downloads
50719
50720   Configuration
50721       The Virtualbox cloud module just needs to use the virtualbox driver for
50722       now. Virtualbox will be run as the running user.
50723
50724       /etc/salt/cloud.providers    or    /etc/salt/cloud.providers.d/virtual‐
50725       box.conf:
50726
50727          virtualbox-config:
50728             driver: virtualbox
50729
50730   Profiles
50731       Set    up   an   initial   profile   at   /etc/salt/cloud.profiles   or
50732       /etc/salt/cloud.profiles.d/virtualbox.conf:
50733
50734          virtualbox-test:
50735              provider: virtualbox-config
50736              clonefrom: VM_to_clone_from
50737              # Optional
50738              power_on: True
50739              deploy: True
50740              ssh_username: a_username
50741              password: a_password
50742              sudo: a_username
50743              sudo_password: a_password
50744              # Example minion config
50745              minion:
50746                  master: localhost
50747              make_master: True
50748
50749       clonefrom Mandatory
50750              Enter the name of the VM/template to clone from.
50751
50752       So far only machines can only be cloned and  automatically  provisioned
50753       by Salt Cloud.
50754
50755   Provisioning
50756       In  order  to provision when creating a new machine power_on and deploy
50757       have to be True.
50758
50759       Furthermore to connect to the VM ssh_username and password will have to
50760       be set.
50761
50762       sudo  and  sudo_password are the credentials for getting root access in
50763       order to deploy salt
50764
50765   Actions
50766       start  Attempt to boot a VM by name. VMs should have  unique  names  in
50767              order to boot the correct one.
50768
50769       stop   Attempt to stop a VM. This is akin to a force shutdown or 5 sec‐
50770              ond press.
50771
50772   Functions
50773       show_image
50774              Show all available information about a VM  given  by  the  image
50775              parameter
50776
50777                 $ salt-cloud -f show_image virtualbox image=my_vm_name
50778
50779   Getting Started With VMware
50780       New in version 2015.5.4.
50781
50782
50783       Author: Nitin Madhok <nmadhok@clemson.edu>
50784
50785       The  VMware  cloud  module  allows  you to manage VMware ESX, ESXi, and
50786       vCenter.
50787
50788   Dependencies
50789       The vmware module for Salt Cloud requires the pyVmomi package, which is
50790       available at PyPI:
50791
50792       https://pypi.python.org/pypi/pyvmomi
50793
50794       This package can be installed using pip or easy_install:
50795
50796          pip install pyvmomi
50797          easy_install pyvmomi
50798
50799       NOTE:
50800          Version  6.0 of pyVmomi has some problems with SSL error handling on
50801          certain versions of Python. If using version  6.0  of  pyVmomi,  the
50802          machine that you are running the proxy minion process from must have
50803          either Python 2.7.9 or newer This is due to an  upstream  dependency
50804          in pyVmomi 6.0 that is not supported in Python version 2.6 to 2.7.8.
50805          If the version of Python running the salt-cloud command  is  not  in
50806          the  supported range, you will need to install an earlier version of
50807          pyVmomi. See Issue #29537 for more information.
50808
50809       NOTE:
50810          pyVmomi doesn't expose the ability to specify the locale  when  con‐
50811          necting  to VMware. This causes parsing issues when connecting to an
50812          instance of VMware running under a non-English  locale.  Until  this
50813          feature is added upstream Issue #38402 contains a workaround.
50814
50815   Configuration
50816       The VMware cloud module needs the vCenter or ESX/ESXi URL, username and
50817       password   to   be   set   up   in   the   cloud    configuration    at
50818       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/vmware.conf:
50819
50820          my-vmware-config:
50821            driver: vmware
50822            user: 'DOMAIN\user'
50823            password: 'verybadpass'
50824            url: '10.20.30.40'
50825
50826          vcenter01:
50827            driver: vmware
50828            user: 'DOMAIN\user'
50829            password: 'verybadpass'
50830            url: 'vcenter01.domain.com'
50831            protocol: 'https'
50832            port: 443
50833
50834          vcenter02:
50835            driver: vmware
50836            user: 'DOMAIN\user'
50837            password: 'verybadpass'
50838            url: 'vcenter02.domain.com'
50839            protocol: 'http'
50840            port: 80
50841
50842          esx01:
50843            driver: vmware
50844            user: 'admin'
50845            password: 'verybadpass'
50846            url: 'esx01.domain.com'
50847
50848       NOTE:
50849          Optionally, protocol and port can be specified if the vCenter server
50850          is not using the defaults. Default is protocol: https and port: 443.
50851
50852       NOTE:
50853          Changed in version 2015.8.0.
50854
50855
50856          The provider parameter in cloud provider configuration  was  renamed
50857          to  driver.   This  change  was  made  to  avoid  confusion with the
50858          provider parameter that is  used  in  cloud  profile  configuration.
50859          Cloud  provider  configuration  now  uses  driver  to  refer  to the
50860          salt-cloud driver that provides the underlying functionality to con‐
50861          nect  to a cloud provider, while cloud profile configuration contin‐
50862          ues to use provider to refer to  the  cloud  provider  configuration
50863          that you define.
50864
50865   Profiles
50866       Set    up   an   initial   profile   at   /etc/salt/cloud.profiles   or
50867       /etc/salt/cloud.profiles.d/vmware.conf:
50868
50869          vmware-centos6.5:
50870            provider: vcenter01
50871            clonefrom: test-vm
50872
50873            ## Optional arguments
50874            num_cpus: 4
50875            memory: 8GB
50876            devices:
50877              cd:
50878                CD/DVD drive 1:
50879                  device_type: datastore_iso_file
50880                  iso_path: "[nap004-1] vmimages/tools-isoimages/linux.iso"
50881                CD/DVD drive 2:
50882                  device_type: client_device
50883                  mode: atapi
50884                  controller: IDE 2
50885                CD/DVD drive 3:
50886                  device_type: client_device
50887                  mode: passthrough
50888                  controller: IDE 3
50889              disk:
50890                Hard disk 1:
50891                  size: 30
50892                Hard disk 2:
50893                  size: 20
50894                  controller: SCSI controller 2
50895                Hard disk 3:
50896                  size: 5
50897                  controller: SCSI controller 3
50898                  datastore: smalldiskdatastore
50899              network:
50900                Network adapter 1:
50901                  name: 10.20.30-400-Test
50902                  switch_type: standard
50903                  ip: 10.20.30.123
50904                  gateway: [10.20.30.110]
50905                  subnet_mask: 255.255.255.128
50906                  domain: example.com
50907                Network adapter 2:
50908                  name: 10.30.40-500-Dev-DHCP
50909                  adapter_type: e1000
50910                  switch_type: distributed
50911                  mac: '00:16:3e:e8:19:0f'
50912                Network adapter 3:
50913                  name: 10.40.50-600-Prod
50914                  adapter_type: vmxnet3
50915                  switch_type: distributed
50916                  ip: 10.40.50.123
50917                  gateway: [10.40.50.110]
50918                  subnet_mask: 255.255.255.128
50919                  domain: example.com
50920              scsi:
50921                SCSI controller 1:
50922                  type: lsilogic
50923                SCSI controller 2:
50924                  type: lsilogic_sas
50925                  bus_sharing: virtual
50926                SCSI controller 3:
50927                  type: paravirtual
50928                  bus_sharing: physical
50929              ide:
50930                IDE 2
50931                IDE 3
50932
50933            domain: example.com
50934            dns_servers:
50935              - 123.127.255.240
50936              - 123.127.255.241
50937              - 123.127.255.242
50938
50939            resourcepool: Resources
50940            cluster: Prod
50941
50942            datastore: HUGE-DATASTORE-Cluster
50943            folder: Development
50944            datacenter: DC1
50945            host: c4212n-002.domain.com
50946            template: False
50947            power_on: True
50948            extra_config:
50949              mem.hotadd: 'yes'
50950              guestinfo.foo: bar
50951              guestinfo.domain: foobar.com
50952              guestinfo.customVariable: customValue
50953            annotation: Created by Salt-Cloud
50954
50955            deploy: True
50956            customization: True
50957            private_key: /root/.ssh/mykey.pem
50958            ssh_username: cloud-user
50959            password: veryVeryBadPassword
50960            minion:
50961              master: 123.127.193.105
50962
50963            file_map:
50964              /path/to/local/custom/script: /path/to/remote/script
50965              /path/to/local/file: /path/to/remote/file
50966              /srv/salt/yum/epel.repo: /etc/yum.repos.d/epel.repo
50967
50968            hardware_version: 10
50969            image: centos64Guest
50970
50971            #For Windows VM
50972            win_username: Administrator
50973            win_password: administrator
50974            win_organization_name: ABC-Corp
50975            plain_text: True
50976            win_installer: /root/Salt-Minion-2015.8.4-AMD64-Setup.exe
50977            win_user_fullname: Windows User
50978
50979       provider
50980              Enter the name that was specified when the cloud provider config
50981              was created.
50982
50983       clonefrom
50984              Enter  the  name of the VM/template to clone from. If not speci‐
50985              fied, the VM will be created without cloning.
50986
50987       num_cpus
50988              Enter the number of vCPUS that you want the VM/template to have.
50989              If not specified, the current VM/template's vCPU count is used.
50990
50991       cores_per_socket
50992              Enter the number of cores per vCPU that you want the VM/template
50993              to have. If not specified, this will default to 1.
50994
50995              NOTE:
50996                 Cores per socket should be less than or equal  to  the  total
50997                 number of vCPUs assigned to the VM/template.
50998
50999              New in version 2016.11.0.
51000
51001
51002       memory Enter  the  memory  size (in MB or GB) that you want the VM/tem‐
51003              plate to have. If not specified, the current VM/template's  mem‐
51004              ory size is used. Example memory: 8GB or memory: 8192MB.
51005
51006       devices
51007              Enter  the  device specifications here. Currently, the following
51008              devices can be created or reconfigured:
51009
51010              cd     Enter the CD/DVD drive specification here. If the  CD/DVD
51011                     drive  doesn't  exist, it will be created with the speci‐
51012                     fied configuration. If the CD/DVD drive  already  exists,
51013                     it will be reconfigured with the specifications. The fol‐
51014                     lowing options can be specified per CD/DVD drive:
51015
51016                     device_type
51017                            Specify how the CD/DVD drive should be used.  Cur‐
51018                            rently supported types are client_device and data‐
51019                            store_iso_file.    Default     is     device_type:
51020                            client_device
51021
51022                     iso_path
51023                            Enter  the  path  to  the  iso file present on the
51024                            datastore only if device_type: datastore_iso_file.
51025                            The  syntax  to specify this is iso_path: "[datas‐
51026                            toreName]     vmimages/tools-isoimages/linux.iso".
51027                            This    field    is    ignored   if   device_type:
51028                            client_device
51029
51030                     mode   Enter the mode of connection only if  device_type:
51031                            client_device.   Currently   supported  modes  are
51032                            passthrough and atapi. This field  is  ignored  if
51033                            device_type:  datastore_iso_file. Default is mode:
51034                            passthrough
51035
51036                     controller
51037                            Specify the IDE controller  label  to  which  this
51038                            drive  should  be attached.  This should be speci‐
51039                            fied only when creating  both  the  specified  IDE
51040                            controller as well as the CD/DVD drive at the same
51041                            time.
51042
51043              disk   Enter the disk  specification  here.  If  the  hard  disk
51044                     doesn't exist, it will be created with the provided size.
51045                     If the hard disk already exists, it will be  expanded  if
51046                     the provided size is greater than the current size of the
51047                     disk.
51048
51049                     size   Enter the size of disk in GB
51050
51051                     thin_provision
51052                            Specifies whether the disk should be  thin  provi‐
51053                            sioned or not. Default is thin_provision: False.
51054
51055                     eagerly_scrub
51056                            Specifies  whether the disk should be rewrite with
51057                            zeros during thick provisioning or  not.   Default
51058                            is eagerly_scrub: False.
51059
51060                     controller
51061                            Specify  the  SCSI  controller label to which this
51062                            disk should be attached.  This should be specified
51063                            only  when  creating  both the specified SCSI con‐
51064                            troller as well as the hard disk at the same time.
51065
51066                     datastore
51067                            The name of a valid datastore should you wish  the
51068                            new  disk  to  be  in  a  datastore other than the
51069                            default for the VM.
51070
51071              network
51072                     Enter the network adapter specification here. If the net‐
51073                     work adapter doesn't exist, a new network adapter will be
51074                     created with the specified network name, type  and  other
51075                     configuration.  If the network adapter already exists, it
51076                     will be reconfigured with the specifications. The follow‐
51077                     ing  additional  options  can  be  specified  per network
51078                     adapter (See example above):
51079
51080                     name   Enter  the  network  name  you  want  the  network
51081                            adapter to be mapped to.
51082
51083                     adapter_type
51084                            Enter the network adapter type you want to create.
51085                            Currently supported  types  are  vmxnet,  vmxnet2,
51086                            vmxnet3,  e1000  and e1000e.  If no type is speci‐
51087                            fied, by default vmxnet3 will be used.
51088
51089                     switch_type
51090                            Enter the type of  switch  to  use.  This  decides
51091                            whether to use a standard switch network or a dis‐
51092                            tributed virtual  portgroup.  Currently  supported
51093                            types  are  standard  for  standard portgroups and
51094                            distributed for distributed virtual portgroups.
51095
51096                     ip     Enter the static IP you want the  network  adapter
51097                            to  be mapped to. If the network specified is DHCP
51098                            enabled, you do not have to specify this.
51099
51100                     gateway
51101                            Enter the gateway for the network as  a  list.  If
51102                            the  network specified is DHCP enabled, you do not
51103                            have to specify this.
51104
51105                     subnet_mask
51106                            Enter the subnet mask for the network. If the net‐
51107                            work specified is DHCP enabled, you do not have to
51108                            specify this.
51109
51110                     domain Enter the domain  to  be  used  with  the  network
51111                            adapter. If the network specified is DHCP enabled,
51112                            you do not have to specify this.
51113
51114                     mac    Enter the MAC for this  network  adapter.  If  not
51115                            specified  an  address  will be selected automati‐
51116                            cally.
51117
51118              scsi   Enter the SCSI controller specification here. If the SCSI
51119                     controller  doesn't  exist, a new SCSI controller will be
51120                     created of the specified type.  If  the  SCSI  controller
51121                     already exists, it will be reconfigured with the specifi‐
51122                     cations. The following additional options can  be  speci‐
51123                     fied per SCSI controller:
51124
51125                     type   Enter the SCSI controller type you want to create.
51126                            Currently  supported  types  are  lsilogic,   lsi‐
51127                            logic_sas  and paravirtual. Type must be specified
51128                            when creating a new SCSI controller.
51129
51130                     bus_sharing
51131                            Specify this if sharing of virtual  disks  between
51132                            virtual machines is desired.  The following can be
51133                            specified:
51134
51135                            virtual
51136                                   Virtual disks can be shared between virtual
51137                                   machines on the same server.
51138
51139                            physical
51140                                   Virtual disks can be shared between virtual
51141                                   machines on any server.
51142
51143                            no     Virtual disks cannot be shared between vir‐
51144                                   tual machines.
51145
51146              ide    Enter  the  IDE controller specification here. If the IDE
51147                     controller doesn't exist, a new IDE  controller  will  be
51148                     created. If the IDE controller already exists, no further
51149                     changes to it will me made.
51150
51151       domain Enter the global domain name to be used for DNS. If  not  speci‐
51152              fied  and  if the VM name is a FQDN, domain is set to the domain
51153              from the VM name. Default is local.
51154
51155       dns_servers
51156              Enter the list of DNS servers to use in order of priority.
51157
51158       resourcepool
51159              Enter the name of the resourcepool  to  which  the  new  virtual
51160              machine   should  be  attached.  This  determines  what  compute
51161              resources will be available to the clone.
51162
51163              NOTE:
51164
51165                 · For a clone operation from a virtual machine, it  will  use
51166                   the  same  resourcepool  as  the  original  virtual machine
51167                   unless specified.
51168
51169                 · For a clone operation from a template to a virtual machine,
51170                   specifying  either this or cluster is required. If both are
51171                   specified, the resourcepool value will be used.
51172
51173                 · For a clone operation  to  a  template,  this  argument  is
51174                   ignored.
51175
51176       cluster
51177              Enter  the  name of the cluster whose resource pool the new vir‐
51178              tual machine should be attached to.
51179
51180              NOTE:
51181
51182                 · For a clone operation from a virtual machine, it  will  use
51183                   the  same  cluster's  resourcepool  as the original virtual
51184                   machine unless specified.
51185
51186                 · For a clone operation from a template to a virtual machine,
51187                   specifying either this or resourcepool is required. If both
51188                   are specified, the resourcepool value will be used.
51189
51190                 · For a clone operation  to  a  template,  this  argument  is
51191                   ignored.
51192
51193       datastore
51194              Enter  the  name of the datastore or the datastore cluster where
51195              the virtual machine should be located on  physical  storage.  If
51196              not specified, the current datastore is used.
51197
51198              NOTE:
51199
51200                 · If you specify a datastore cluster name, DRS Storage recom‐
51201                   mendation is automatically applied.
51202
51203                 · If you specify a datastore name, DRS Storage recommendation
51204                   is disabled.
51205
51206       folder Enter  the  name of the folder that will contain the new virtual
51207              machine.
51208
51209              NOTE:
51210
51211                 · For a clone operation from a VM/template, the  new  VM/tem‐
51212                   plate  will  be  added to the same folder that the original
51213                   VM/template belongs to unless specified.
51214
51215                 · If both folder and datacenter  are  specified,  the  folder
51216                   value will be used.
51217
51218       datacenter
51219              Enter  the name of the datacenter that will contain the new vir‐
51220              tual machine.
51221
51222              NOTE:
51223
51224                 · For a clone operation from a VM/template, the  new  VM/tem‐
51225                   plate  will  be  added to the same folder that the original
51226                   VM/template belongs to unless specified.
51227
51228                 · If both folder and datacenter  are  specified,  the  folder
51229                   value will be used.
51230
51231       host   Enter  the  name  of  the  target host where the virtual machine
51232              should be registered.
51233
51234              If not specified:
51235
51236              NOTE:
51237
51238                 · If resource pool is not specified, current host is used.
51239
51240                 · If resource pool is specified, and the target  pool  repre‐
51241                   sents a stand-alone host, the host is used.
51242
51243                 · If  resource  pool is specified, and the target pool repre‐
51244                   sents a DRS-enabled cluster, a  host  selected  by  DRS  is
51245                   used.
51246
51247                 · If  resource  pool  is specified and the target pool repre‐
51248                   sents a cluster without  DRS  enabled,  an  InvalidArgument
51249                   exception be thrown.
51250
51251       template
51252              Specifies  whether the new virtual machine should be marked as a
51253              template or not.  Default is template: False.
51254
51255       power_on
51256              Specifies whether the new virtual machine should be  powered  on
51257              or not. If template: True is set, this field is ignored. Default
51258              is power_on: True.
51259
51260       extra_config
51261              Specifies the additional configuration information for the  vir‐
51262              tual machine. This describes a set of modifications to the addi‐
51263              tional options. If the key is already present, it will be  reset
51264              with  the  new value provided. Otherwise, a new option is added.
51265              Keys with empty values will be removed.
51266
51267       annotation
51268              User-provided description of  the  virtual  machine.  This  will
51269              store  a message in the vSphere interface, under the annotations
51270              section in the Summary view of the virtual machine.
51271
51272       deploy Specifies if salt should be installed on the newly  created  VM.
51273              Default  is  True  so salt will be installed using the bootstrap
51274              script. If template: True or power_on: False is set, this  field
51275              is ignored and salt will not be installed.
51276
51277       wait_for_ip_timeout
51278              When  deploy:  True, this timeout determines the maximum time to
51279              wait for VMware tools to be installed on the virtual machine. If
51280              this timeout is reached, an attempt to determine the client's IP
51281              will be made by resolving the VM's name.  By lowering this value
51282              a salt bootstrap can be fully automated for systems that are not
51283              built with VMware tools.  Default is wait_for_ip_timeout: 1200.
51284
51285       customization
51286              Specify whether the new virtual machine should be customized  or
51287              not.  If  customization:  False  is set, the new virtual machine
51288              will not be customized.  Default is customization: True.
51289
51290       private_key
51291              Specify the path to the private key to use to be able to ssh  to
51292              the VM.
51293
51294       ssh_username
51295              Specify  the  username to use in order to ssh to the VM. Default
51296              is root
51297
51298       password
51299              Specify a password to use in order to ssh to  the  VM.  If  pri‐
51300              vate_key is specified, you do not need to specify this.
51301
51302       minion Specify  custom minion configuration you want the salt minion to
51303              have. A good example would be  to  specify  the  master  as  the
51304              IP/DNS name of the master.
51305
51306       file_map
51307              Specify  file/files  you want to copy to the VM before the boot‐
51308              strap script is run and salt is installed.  A  good  example  of
51309              using  this would be if you need to put custom repo files on the
51310              server in case your server will be in a private network and can‐
51311              not reach external networks.
51312
51313       hardware_version
51314              Specify the virtual hardware version for the vm/template that is
51315              supported by the host.
51316
51317       image  Specify the guest id of the VM. For a  full  list  of  supported
51318              values see the VMware vSphere documentation:
51319
51320              http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
51321
51322              NOTE:
51323                 For a clone operation, this argument is ignored.
51324
51325       win_username
51326              Specify windows vm administrator account.
51327
51328              NOTE:
51329                 Windows template should have "administrator" account.
51330
51331       win_password
51332              Specify windows vm administrator account password.
51333
51334              NOTE:
51335                 During network configuration (if network  specified),  it  is
51336                 used to specify new administrator password for the machine.
51337
51338       win_organization_name
51339
51340              Specify  windows  vm  user's  organization. Default organization
51341              name is Organization
51342                     VMware vSphere documentation:
51343
51344              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.UserData.html
51345
51346       win_user_fullname
51347
51348              Specify  windows vm user's fullname. Default fullname is Windows
51349              User
51350                     VMware vSphere documentation:
51351
51352              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.UserData.html
51353
51354       plain_text
51355              Flag  to  specify  whether or not the password is in plain text,
51356              rather than encrypted.  VMware vSphere documentation:
51357
51358              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.Password.html
51359
51360       win_installer
51361              Specify windows minion client installer path
51362
51363       win_run_once
51364              Specify  a  list  of commands to run on first login to a windows
51365              minion
51366
51367              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.GuiRunOnce.html
51368
51369   Cloning a VM
51370       Cloning VMs/templates is the easiest and the preferred way to work with
51371       VMs using the VMware driver.
51372
51373       NOTE:
51374          Cloning operations are unsupported on standalone ESXi hosts, a vCen‐
51375          ter server will be required.
51376
51377       Example of a minimal profile:
51378
51379          my-minimal-clone:
51380            provider: vcenter01
51381            clonefrom: 'test-vm'
51382
51383       When  cloning  a  VM,  all  the  profile  configuration  parameters are
51384       optional and the configuration gets inherited from the clone.
51385
51386       Example to add/resize a disk:
51387
51388          my-disk-example:
51389            provider: vcenter01
51390            clonefrom: 'test-vm'
51391
51392            devices:
51393              disk:
51394                Hard disk 1:
51395                  size: 30
51396
51397       Depending on the configuration of the VM that is  getting  cloned,  the
51398       disk in the resulting clone will differ.
51399
51400       NOTE:
51401
51402          · If  the  VM has no disk named 'Hard disk 1' an empty disk with the
51403            specified size will be added to the clone.
51404
51405          · If the VM has a disk named 'Hard disk 1' and the size specified is
51406            larger  than  the  original disk, an empty disk with the specified
51407            size will be added to the clone.
51408
51409          · If the VM has a disk named 'Hard disk 1' and the size specified is
51410            smaller  than  the  original disk, an empty disk with the original
51411            size will be added to the clone.
51412
51413       Example to reconfigure the memory and number of vCPUs:
51414
51415          my-disk-example:
51416            provider: vcenter01
51417            clonefrom: 'test-vm'
51418
51419            memory: 16GB
51420            num_cpus: 8
51421
51422   Cloning a Template
51423       Cloning a template works similar to cloning a VM except  for  the  fact
51424       that  a  resource pool or cluster must be specified additionally in the
51425       profile.
51426
51427       Example of a minimal profile:
51428
51429          my-template-clone:
51430           provider: vcenter01
51431           clonefrom: 'test-template'
51432           cluster: 'Prod'
51433
51434   Cloning from a Snapshot
51435       New in version 2016.3.5.
51436
51437
51438       Cloning from a snapshot requires that one of the supported  options  be
51439       set in the cloud profile.
51440
51441       Supported options are createNewChildDiskBacking, moveChildMostDiskBack‐
51442       ing, moveAllDiskBackingsAndAllowSharing and  moveAllDiskBackingsAndDis‐
51443       allowSharing.
51444
51445       Example of a minimal profile:
51446
51447          my-template-clone:
51448            provider: vcenter01
51449            clonefrom: 'salt_vm'
51450            snapshot:
51451              disk_move_type: createNewChildDiskBacking
51452              # these types are also supported
51453              # disk_move_type: moveChildMostDiskBacking
51454              # disk_move_type: moveAllDiskBackingsAndAllowSharing
51455              # disk_move_type: moveAllDiskBackingsAndDisallowSharing
51456
51457   Creating a VM
51458       New in version 2016.3.0.
51459
51460
51461       Creating  a  VM  from  scratch  means that more configuration has to be
51462       specified in the profile because there is no place to inherit  configu‐
51463       ration from.
51464
51465       NOTE:
51466          Unlike  most  cloud  drivers  that use prepared images, creating VMs
51467          using VMware cloud driver needs an installation method that requires
51468          no  human interaction.  For Example: preseeded ISO, kickstart URL or
51469          network PXE boot.
51470
51471       Example of a minimal profile:
51472
51473          my-minimal-profile:
51474            provider: esx01
51475            datastore: esx01-datastore
51476            resourcepool: Resources
51477            folder: vm
51478
51479       NOTE:
51480          The example above contains the minimum required configuration needed
51481          to create a VM from scratch. The resulting VM will only have 1 VCPU,
51482          32MB of RAM and will not have any storage or networking.
51483
51484       Example of a complete profile:
51485
51486          my-complete-example:
51487            provider: esx01
51488            datastore: esx01-datastore
51489            resourcepool: Resources
51490            folder: vm
51491
51492            num_cpus: 2
51493            memory: 8GB
51494
51495            image: debian7_64Guest
51496
51497            devices:
51498              scsi:
51499                SCSI controller 0:
51500                  type: lsilogic_sas
51501              ide:
51502                IDE 0: {}
51503                IDE 1: {}
51504              disk:
51505                Hard disk 0:
51506                  controller: 'SCSI controller 0'
51507                  size: 20
51508                  mode: 'independent_nonpersistent'
51509              cd:
51510                CD/DVD drive 0:
51511                  controller: 'IDE 0'
51512                  device_type: datastore_iso_file
51513                  iso_path: '[esx01-datastore] debian-8-with-preseed.iso'
51514              network:
51515                Network adapter 0:
51516                  name: 'VM Network'
51517                  swith_type: standard
51518
51519       NOTE:
51520          Depending on VMware ESX/ESXi version, an exact match for image might
51521          not  be available. In such cases, the closest match to another image
51522          should be used. In the example above, a Debian 8 VM is created using
51523          the image debian7_64Guest which is for a Debian 7 guest.
51524
51525   Specifying disk backing mode
51526       New in version 2016.3.5.
51527
51528
51529       Disk  backing  mode can now be specified when cloning a VM. This option
51530       can be set in the cloud profile as shown in example below:
51531
51532          my-vm:
51533            provider: esx01
51534            datastore: esx01-datastore
51535            resourcepool: Resources
51536            folder: vm
51537
51538
51539            devices:
51540              disk:
51541                Hard disk 1:
51542                  mode: 'independent_nonpersistent'
51543                  size: 42
51544                Hard disk 2:
51545                  mode: 'independent_nonpersistent'
51546
51547   Getting Started With Xen
51548       The Xen cloud driver works with Citrix XenServer.
51549
51550       It can be used with a single XenServer or a XenServer resource pool.
51551
51552   Setup Dependencies
51553       This driver requires a copy of the freely  available  XenAPI.py  Python
51554       module.
51555
51556       Information about the Xen API Python module in the XenServer SDK can be
51557       found                                                                at
51558       https://xenserver.org/partners/developing-products-for-xenserver.html
51559
51560       Place  a  copy  of  this  module on your system. For example, it can be
51561       placed in the site packages location on your system.
51562
51563       The location of site packages can be determined by running:
51564
51565          python -m site --user-site
51566
51567   Provider Configuration
51568       Xen requires login credentials to a XenServer.
51569
51570       Set    up    the    provider    cloud     configuration     file     at
51571       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf.
51572
51573          # /etc/salt/cloud.providers.d/myxen.conf
51574          myxen:
51575            driver: xen
51576            url: https://10.0.0.120
51577            user: root
51578            password: p@ssw0rd
51579
51580       url:   The url option supports both http and https uri prefixes.
51581
51582       user:  A valid user id to login to the XenServer host.
51583
51584       password:
51585              The associated password for the user.
51586
51587       NOTE:
51588          Changed in version 2015.8.0.
51589
51590
51591          The  provider parameter in cloud provider definitions was renamed to
51592          driver. This change was made to avoid confusion  with  the  provider
51593          parameter  that is used in cloud profile definitions. Cloud provider
51594          definitions now use driver to refer to the Salt  cloud  module  that
51595          provides  the  underlying  functionality to connect to a cloud host,
51596          while cloud profiles continue to use provider to refer  to  provider
51597          configurations that you define.
51598
51599   Profile Configuration
51600       Xen profiles require a provider and  image.
51601
51602       provider:
51603              This will be the name of your defined provider.
51604
51605       image: The name of the VM template used to clone or copy.
51606
51607       clone: The  default behavior is to clone a template or VM. This is very
51608              fast, but requires the source template or VM to be in  the  same
51609              storage  repository  of the new target system. If the source and
51610              target are in different storage repositories then you must  copy
51611              the source and not clone it by setting clone: False.
51612
51613       deploy:
51614              The provisioning process will attempt to install the Salt minion
51615              service on the new target system by default. This  will  require
51616              login  credentials  for  Salt cloud to login via ssh to it.  The
51617              user and password options are required.  If  deploy  is  set  to
51618              False then these options are not needed.
51619
51620       resource_pool:
51621              The name of the resource pool used for this profile.
51622
51623       storage_repo:
51624              The name of the storage repository for the target system.
51625
51626       ipv4_cidr:
51627              If template is Windows, and running guest tools then a static ip
51628              address can be set.
51629
51630       ipv4_gw:
51631              If template is Windows, and running guest tools then  a  gateway
51632              can be set.
51633
51634       Set  up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in the
51635       /etc/salt/cloud.profiles.d/ directory:
51636
51637          # file: /etc/salt/cloud.profiles.d/xenprofiles.conf
51638          sles:
51639            provider: myxen
51640            deploy: False
51641            image: sles12sp2-template
51642
51643          suse:
51644            user: root
51645            password: p@ssw0rd
51646            provider: myxen
51647            image: opensuseleap42_2-template
51648            storage_repo: 'Local storage'
51649            clone: False
51650            minion:
51651              master: 10.0.0.20
51652
51653          w2k12:
51654            provider: myxen
51655            image: w2k12svr-template
51656            clone: True
51657            userdata_file: /srv/salt/win/files/windows-firewall.ps1
51658            win_installer: /srv/salt/win/files/Salt-Minion-2016.11.3-AMD64-Setup.exe
51659            win_username: Administrator
51660            win_password: p@ssw0rd
51661            use_winrm: False
51662            ipv4_cidr: 10.0.0.215/24
51663            ipv4_gw: 10.0.0.1
51664            minion:
51665              master: 10.0.0.21
51666
51667       The first example will create a clone of the sles12sp2-template in  the
51668       same storage repository without deploying the Salt minion.
51669
51670       The  second example will make a copy of the image and deploy a new suse
51671       VM with the Salt minion installed.
51672
51673       The third example will create a clone of the Windows 2012 template  and
51674       deploy the Salt minion.
51675
51676       The profile can be used with a salt command:
51677
51678          salt-cloud -p suse  xenvm02
51679
51680       This  will  create an salt minion instance named xenvm02 in Xen. If the
51681       command was executed on the salt-master, its Salt  key  will  automati‐
51682       cally be signed on the master.
51683
51684       Once  the  instance has been created with a salt-minion installed, con‐
51685       nectivity to it can be verified with Salt:
51686
51687          salt xenvm02 test.version
51688
51689   Listing Sizes
51690       Sizes can be obtained using the --list-sizes option for the  salt-cloud
51691       command:
51692
51693          # salt-cloud --list-sizes myxen
51694
51695       NOTE:
51696          Since  size  information  is build in a template this command is not
51697          implemented.
51698
51699   Listing Images
51700       Images  can  be  obtained  using  the  --list-images  option  for   the
51701       salt-cloud command:
51702
51703          # salt-cloud --list-images myxen
51704
51705       This command will return a list of templates with details.
51706
51707   Listing Locations
51708       Locations  can  be  obtained  using the --list-locations option for the
51709       salt-cloud command:
51710
51711          # salt-cloud --list-locations myxen
51712
51713       Returns a list of resource pools.
51714
51715   Miscellaneous Options
51716   Miscellaneous Salt Cloud Options
51717       This page describes various miscellaneous  options  available  in  Salt
51718       Cloud
51719
51720   Deploy Script Arguments
51721       Custom  deploy  scripts  are  unlikely  to  need custom arguments to be
51722       passed to them, but salt-bootstrap has been extended quite a  bit,  and
51723       this  may be necessary. script_args can be specified in either the pro‐
51724       file or the map file, to pass arguments to the deploy script:
51725
51726          ec2-amazon:
51727            provider: my-ec2-config
51728            image: ami-1624987f
51729            size: t1.micro
51730            ssh_username: ec2-user
51731            script: bootstrap-salt
51732            script_args: -c /tmp/
51733
51734       This has also been tested to work with pipes, if needed:
51735
51736          script_args: '| head'
51737
51738   Selecting the File Transport
51739       By default, Salt Cloud uses SFTP to transfer files to Linux hosts. How‐
51740       ever,  if  SFTP  is  not  available,  or  specific SCP functionality is
51741       needed, Salt Cloud can be configured to use SCP instead.
51742
51743          file_transport: sftp
51744          file_transport: scp
51745
51746   Sync After Install
51747       Salt allows users to create custom modules, grains,  and  states  which
51748       can  be synchronised to minions to extend Salt with further functional‐
51749       ity.
51750
51751       This option will inform Salt Cloud to synchronise your custom  modules,
51752       grains,  states  or all these to the minion just after it has been cre‐
51753       ated. For this to happen, the following line needs to be added  to  the
51754       main cloud configuration file:
51755
51756          sync_after_install: all
51757
51758       The available options for this setting are:
51759
51760          modules
51761          grains
51762          states
51763          all
51764
51765   Setting Up New Salt Masters
51766       It  has become increasingly common for users to set up multi-hierarchal
51767       infrastructures using Salt Cloud. This sometimes involves setting up an
51768       instance to be a master in addition to a minion. With that in mind, you
51769       can now lay down master configuration on a machine by specifying master
51770       options in the profile or map file.
51771
51772          make_master: True
51773
51774       This  will  cause  Salt Cloud to generate master keys for the instance,
51775       and tell salt-bootstrap to install the salt-master package, in addition
51776       to the salt-minion package.
51777
51778       The default master configuration is usually appropriate for most users,
51779       and will not be changed unless specific master configuration  has  been
51780       added to the profile or map:
51781
51782          master:
51783            user: root
51784            interface: 0.0.0.0
51785
51786   Setting Up a Salt Syndic with Salt Cloud
51787       In  addition to setting up new Salt Masters, syndics can also be provi‐
51788       sioned using Salt Cloud. In order to set up  a  Salt  Syndic  via  Salt
51789       Cloud,  a  Salt  Master  needs to be installed on the new machine and a
51790       master configuration file needs to be set up using the make_master set‐
51791       ting. This setting can be defined either in a profile config file or in
51792       a map file:
51793
51794          make_master: True
51795
51796       To install the Salt Syndic, the only other specification that needs  to
51797       be  configured  is the syndic_master key to specify the location of the
51798       master that the syndic will be reporting to. This modification needs to
51799       be  placed in the master setting, which can be configured either in the
51800       profile, provider, or /etc/salt/cloud config file:
51801
51802          master:
51803            syndic_master: 123.456.789  # may be either an IP address or a hostname
51804
51805       Many other Salt Syndic configuration settings and specifications can be
51806       passed  through  to the new syndic machine via the master configuration
51807       setting.  See the syndic documentation for more information.
51808
51809   SSH Port
51810       By default ssh port is set to port 22. If you want to use a custom port
51811       in provider, profile, or map blocks use ssh_port option.
51812
51813       New in version 2015.5.0.
51814
51815
51816          ssh_port: 2222
51817
51818   Delete SSH Keys
51819       When  Salt  Cloud deploys an instance, the SSH pub key for the instance
51820       is added to the known_hosts file for the user that ran  the  salt-cloud
51821       command.  When an instance is deployed, a cloud host generally recycles
51822       the IP address for the instance.  When Salt Cloud attempts to deploy an
51823       instance  using a recycled IP address that has previously been accessed
51824       from the same machine, the old key in the known_hosts file will cause a
51825       conflict.
51826
51827       In order to mitigate this issue, Salt Cloud can be configured to remove
51828       old keys from the known_hosts file when destroying the node.  In  order
51829       to do this, the following line needs to be added to the main cloud con‐
51830       figuration file:
51831
51832          delete_sshkeys: True
51833
51834   Keeping /tmp/ Files
51835       When Salt Cloud deploys an instance,  it  uploads  temporary  files  to
51836       /tmp/  for  salt-bootstrap  to  put in place. After the script has run,
51837       they are deleted. To keep these files around (mostly for debugging pur‐
51838       poses), the --keep-tmp option can be added:
51839
51840          salt-cloud -p myprofile mymachine --keep-tmp
51841
51842       For  those  wondering why /tmp/ was used instead of /root/, this had to
51843       be done for images which require the use of sudo, and therefore do  not
51844       allow  remote  root logins, even for file transfers (which makes /root/
51845       unavailable).
51846
51847   Hide Output From Minion Install
51848       By default Salt Cloud will stream the output  from  the  minion  deploy
51849       script  directly to STDOUT. Although this can been very useful, in cer‐
51850       tain cases you may wish to switch this off. The following config option
51851       is there to enable or disable this output:
51852
51853          display_ssh_output: False
51854
51855   Connection Timeout
51856       There  are several stages when deploying Salt where Salt Cloud needs to
51857       wait for something to happen. The VM getting it's IP address, the  VM's
51858       SSH port is available, etc.
51859
51860       If  you  find  that  the  Salt  Cloud  defaults are not enough and your
51861       deployment fails because Salt Cloud did not wait log enough, there  are
51862       some settings you can tweak.
51863
51864          Note
51865
51866                 All  settings  should  be  provided  in  lowercase All values
51867                 should be provided in seconds
51868
51869       You can tweak these settings globally, per cloud provider, or event per
51870       profile definition.
51871
51872   wait_for_ip_timeout
51873       The  amount of time Salt Cloud should wait for a VM to start and get an
51874       IP back from the cloud host.   Default:  varies  by  cloud  provider  (
51875       between 5 and 25 minutes)
51876
51877   wait_for_ip_interval
51878       The  amount of time Salt Cloud should sleep while querying for the VM's
51879       IP.  Default: varies by cloud provider ( between .5 and 10 seconds)
51880
51881   ssh_connect_timeout
51882       The amount of time Salt Cloud should wait for a successful SSH  connec‐
51883       tion  to  the VM.  Default: varies by cloud provider  (between 5 and 15
51884       minutes)
51885
51886   wait_for_passwd_timeout
51887       The amount of time until an ssh connection can be established via pass‐
51888       word or ssh key.  Default: varies by cloud provider (mostly 15 seconds)
51889
51890   wait_for_passwd_maxtries
51891       The number of attempts to connect to the VM until we abandon.  Default:
51892       15 attempts
51893
51894   wait_for_fun_timeout
51895       Some cloud drivers check for an available IP or a successful  SSH  con‐
51896       nection  using a function, namely, SoftLayer, and SoftLayer-HW. So, the
51897       amount of time Salt Cloud should retry such functions  before  failing.
51898       Default: 15 minutes.
51899
51900   wait_for_spot_timeout
51901       The  amount  of time Salt Cloud should wait before an EC2 Spot instance
51902       is available. This setting is only available for the EC2 cloud  driver.
51903       Default: 10  minutes
51904
51905   Salt Cloud Cache
51906       Salt  Cloud can maintain a cache of node data, for supported providers.
51907       The following options manage this functionality.
51908
51909   update_cachedir
51910       On supported cloud providers, whether or not to  maintain  a  cache  of
51911       nodes  returned from a --full-query. The data will be stored in msgpack
51912       format                                                            under
51913       <SALT_CACHEDIR>/cloud/active/<DRIVER>/<PROVIDER>/<NODE_NAME>.p.    This
51914       setting can be True or False.
51915
51916   diff_cache_events
51917       When the cloud cachedir is being managed, if  differences  are  encoun‐
51918       tered  between  the  data that is returned live from the cloud host and
51919       the data in the cache, fire events which  describe  the  changes.  This
51920       setting can be True or False.
51921
51922       Some  of  these events will contain data which describe a node. Because
51923       some  of  the  fields  returned  may  contain   sensitive   data,   the
51924       cache_event_strip_fields  configuration  option  exists  to strip those
51925       fields from the event return.
51926
51927          cache_event_strip_fields:
51928            - password
51929            - priv_key
51930
51931       The following are events that can be fired based on this data.
51932
51933   salt/cloud/minionid/cache_node_new
51934       A new node was found on the cloud host which  was  not  listed  in  the
51935       cloud cachedir. A dict describing the new node will be contained in the
51936       event.
51937
51938   salt/cloud/minionid/cache_node_missing
51939       A node that was previously listed in the cloud cachedir  is  no  longer
51940       available on the cloud host.
51941
51942   salt/cloud/minionid/cache_node_diff
51943       One  or  more  pieces  of data in the cloud cachedir has changed on the
51944       cloud host. A dict containing both the old and the  new  data  will  be
51945       contained in the event.
51946
51947   SSH Known Hosts
51948       Normally  when  bootstrapping a VM, salt-cloud will ignore the SSH host
51949       key. This is because it does not know  what  the  host  key  is  before
51950       starting (because it doesn't exist yet). If strict host key checking is
51951       turned on without the key in the known_hosts file, then the  host  will
51952       never be available, and cannot be bootstrapped.
51953
51954       If  a provider is able to determine the host key before trying to boot‐
51955       strap it, that provider's driver can add it to  the  known_hosts  file,
51956       and  then  turn  on strict host key checking. This can be set up in the
51957       main cloud configuration file  (normally  /etc/salt/cloud)  or  in  the
51958       provider-specific configuration file:
51959
51960          known_hosts_file: /path/to/.ssh/known_hosts
51961
51962       If  this  is not set, it will default to /dev/null, and strict host key
51963       checking will be turned off.
51964
51965       It is highly recommended that this option is not set, unless  the  user
51966       has  verified  that  the provider supports this functionality, and that
51967       the image being used is capable of providing the necessary information.
51968       At this time, only the EC2 driver supports this functionality.
51969
51970   SSH Agent
51971       New in version 2015.5.0.
51972
51973
51974       If  the ssh key is not stored on the server salt-cloud is being run on,
51975       set ssh_agent, and salt-cloud  will  use  the  forwarded  ssh-agent  to
51976       authenticate.
51977
51978          ssh_agent: True
51979
51980   File Map Upload
51981       New in version 2014.7.0.
51982
51983
51984       The  file_map  option allows an arbitrary group of files to be uploaded
51985       to the target system before running the deploy script. This functional‐
51986       ity  requires  a  provider  uses salt.utils.cloud.bootstrap(), which is
51987       currently limited to the ec2, gce, openstack and nova drivers.
51988
51989       The file_map can be configured globally in /etc/salt/cloud, or  in  any
51990       cloud provider or profile file. For example, to upload an extra package
51991       or a custom deploy script, a cloud profile using  file_map  might  look
51992       like:
51993
51994          ubuntu14:
51995            provider: ec2-config
51996            image: ami-98aa1cf0
51997            size: t1.micro
51998            ssh_username: root
51999            securitygroup: default
52000            file_map:
52001              /local/path/to/custom/script: /remote/path/to/use/custom/script
52002              /local/path/to/package: /remote/path/to/store/package
52003
52004   Running Pre-Flight Commands
52005       New in version 2018.3.0.
52006
52007
52008       To execute specified preflight shell commands on a VM before the deploy
52009       script is run, use the preflight_cmds option. These must be defined  as
52010       a list in a cloud configuration file. For example:
52011
52012          my-cloud-profile:
52013            provider: linode-config
52014            image: Ubuntu 16.04 LTS
52015            size: Linode 2048
52016            preflight_cmds:
52017              - whoami
52018              - echo 'hello world!'
52019
52020       These commands will run in sequence before the bootstrap script is exe‐
52021       cuted.
52022
52023   Force Minion Config
52024       New in version 2018.3.0.
52025
52026
52027       The force_minion_config option requests the bootstrap process to  over‐
52028       write  an  existing  minion  configuration  file and public/private key
52029       files.  Default: False
52030
52031       This might be  important  for  drivers  (such  as  saltify)  which  are
52032       expected to take over a connection from a former salt master.
52033
52034          my_saltify_provider:
52035            driver: saltify
52036            force_minion_config: true
52037
52038   Troubleshooting Steps
52039   Troubleshooting Salt Cloud
52040       This page describes various steps for troubleshooting problems that may
52041       arise while using Salt Cloud.
52042
52043   Virtual Machines Are Created, But Do Not Respond
52044       Are TCP ports 4505 and 4506 open on the master? This is easy  to  over‐
52045       look on new masters. Information on how to open firewall ports on vari‐
52046       ous platforms can be found here.
52047
52048   Generic Troubleshooting Steps
52049       This section describes a set of instructions that are useful to a large
52050       number of situations, and are likely to solve most issues that arise.
52051
52052   Debug Mode
52053       Frequently,  running  Salt  Cloud in debug mode will reveal information
52054       about a deployment which would otherwise not be obvious:
52055
52056          salt-cloud -p myprofile myinstance -l debug
52057
52058       Keep in mind that a number of messages will appear that look  at  first
52059       like errors, but are in fact intended to give developers factual infor‐
52060       mation to assist in debugging. A number of messages that appear will be
52061       for  cloud  providers  that you do not have configured; in these cases,
52062       the message usually is intended to confirm that they  are  not  config‐
52063       ured.
52064
52065   Salt Bootstrap
52066       By  default,  Salt  Cloud  uses  the Salt Bootstrap script to provision
52067       instances:
52068
52069       This script is packaged with Salt Cloud, but  may  be  updated  without
52070       updating the Salt package:
52071
52072          salt-cloud -u
52073
52074   The Bootstrap Log
52075       If  the  default  deploy script was used, there should be a file in the
52076       /tmp/ directory called bootstrap-salt.log. This file contains the  full
52077       output  from  the  deployment,  including  any  errors  that  may  have
52078       occurred.
52079
52080   Keeping Temp Files
52081       Salt Cloud uploads minion-specific files to  instances  once  they  are
52082       available  via  SSH, and then executes a deploy script to put them into
52083       the correct place and install Salt. The --keep-tmp option will instruct
52084       Salt  Cloud  not to remove those files when finished with them, so that
52085       the user may inspect them for problems:
52086
52087          salt-cloud -p myprofile myinstance --keep-tmp
52088
52089       By default, Salt Cloud will create a directory on the  target  instance
52090       called  /tmp/.saltcloud/.  This  directory  should be owned by the user
52091       that is to execute the deploy script, and should  have  permissions  of
52092       0700.
52093
52094       Most cloud hosts are configured to use root as the default initial user
52095       for deployment, and as such, this directory and all files in it  should
52096       be owned by the root user.
52097
52098       The /tmp/.saltcloud/ directory should the following files:
52099
52100       · A deploy.sh script. This script should have permissions of 0755.
52101
52102       · A .pem and .pub key named after the minion. The .pem file should have
52103         permissions of 0600. Ensure that the .pem and .pub  files  have  been
52104         properly copied to the /etc/salt/pki/minion/ directory.
52105
52106       · A  file  called  minion.  This  file  should  have been copied to the
52107         /etc/salt/ directory.
52108
52109       · Optionally, a file called grains. This file, if present, should  have
52110         been copied to the /etc/salt/ directory.
52111
52112   Unprivileged Primary Users
52113       Some  cloud  hosts,  most  notably EC2, are configured with a different
52114       primary user.  Some common examples are ec2-user, ubuntu,  fedora,  and
52115       bitnami.   In these cases, the /tmp/.saltcloud/ directory and all files
52116       in it should be owned by this user.
52117
52118       Some cloud hosts, such as EC2, are  configured  to  not  require  these
52119       users  to provide a password when using the sudo command. Because it is
52120       more secure to require sudo users to provide a  password,  other  hosts
52121       are configured that way.
52122
52123       If this instance is required to provide a password, it needs to be con‐
52124       figured in Salt Cloud. A password for sudo  to  use  may  be  added  to
52125       either the provider configuration or the profile configuration:
52126
52127          sudo_password: mypassword
52128
52129   /tmp/ is Mounted as noexec
52130       It  is  more  secure to mount the /tmp/ directory with a noexec option.
52131       This is uncommon on most cloud hosts, but very common in private  envi‐
52132       ronments.  To  see  if the /tmp/ directory is mounted this way, run the
52133       following command:
52134
52135          mount | grep tmp
52136
52137       The if the output of this command includes a line that looks like this,
52138       then the /tmp/ directory is mounted as noexec:
52139
52140          tmpfs on /tmp type tmpfs (rw,noexec)
52141
52142       If this is the case, then the deploy_command will need to be changed in
52143       order to run the deploy script through the sh command, rather than try‐
52144       ing  to  execute  it  directly.  This  may  be  specified in either the
52145       provider or the profile config:
52146
52147          deploy_command: sh /tmp/.saltcloud/deploy.sh
52148
52149       Please note that by default, Salt Cloud  will  place  its  files  in  a
52150       directory  called  /tmp/.saltcloud/. This may be also be changed in the
52151       provider or profile configuration:
52152
52153          tmp_dir: /tmp/.saltcloud/
52154
52155       If this directory is  changed,  then  the  deploy_command  need  to  be
52156       changed in order to reflect the tmp_dir configuration.
52157
52158   Executing the Deploy Script Manually
52159       If all of the files needed for deployment were successfully uploaded to
52160       the correct locations, and contain the correct permissions  and  owner‐
52161       ships, the deploy script may be executed manually in order to check for
52162       other issues:
52163
52164          cd /tmp/.saltcloud/
52165          ./deploy.sh
52166
52167   Extending Salt Cloud
52168   Writing Cloud Driver Modules
52169       Salt Cloud runs on a module system similar to the  main  Salt  project.
52170       The  modules  inside saltcloud exist in the salt/cloud/clouds directory
52171       of the salt source.
52172
52173       There are two basic types of cloud modules. If a  cloud  host  is  sup‐
52174       ported  by  libcloud,  then  using it is the fastest route to getting a
52175       module written. The Apache Libcloud project is located at:
52176
52177       http://libcloud.apache.org/
52178
52179       Not every cloud host is supported by libcloud. Additionally, not  every
52180       feature in a supported cloud host is necessarily supported by libcloud.
52181       In either of these cases, a module can be created which does  not  rely
52182       on libcloud.
52183
52184   All Driver Modules
52185       The  following functions are required by all driver modules, whether or
52186       not they are based on libcloud.
52187
52188   The __virtual__() Function
52189       This function determines whether or  not  to  make  this  cloud  module
52190       available upon execution. Most often, it uses get_configured_provider()
52191       to determine if the necessary configuration has been  set  up.  It  may
52192       also check for necessary imports, to decide whether to load the module.
52193       In most cases, it will return a True or False value. If the name of the
52194       driver  used  does  not  match  the  filename, then that name should be
52195       returned instead of True. An example of this may be seen in  the  Azure
52196       module:
52197
52198       https://github.com/saltstack/salt/tree/master/salt/cloud/clouds/msazure.py
52199
52200   The get_configured_provider() Function
52201       This function uses config.is_provider_configured() to determine whether
52202       all  required information for this driver has been configured. The last
52203       value in the list of required settings should be followed by a comma.
52204
52205   Libcloud Based Modules
52206       Writing a cloud module based on  libcloud  has  two  major  advantages.
52207       First  of  all,  much of the work has already been done by the libcloud
52208       project. Second, most of the functions necessary to Salt  have  already
52209       been added to the Salt Cloud project.
52210
52211   The create() Function
52212       The  most  important  function that does need to be manually written is
52213       the create() function. This is  what  is  used  to  request  a  virtual
52214       machine  to  be created by the cloud host, wait for it to become avail‐
52215       able, and then (optionally) log in and install Salt on it.
52216
52217       A good example to follow for writing a cloud  driver  module  based  on
52218       libcloud is the module provided for Linode:
52219
52220       https://github.com/saltstack/salt/tree/master/salt/cloud/clouds/linode.py
52221
52222       The basic flow of a create() function is as follows:
52223
52224       · Send a request to the cloud host to create a virtual machine.
52225
52226       · Wait for the virtual machine to become available.
52227
52228       · Generate kwargs to be used to deploy Salt.
52229
52230       · Log into the virtual machine and deploy Salt.
52231
52232       · Return a data structure  that  describes  the  newly-created  virtual
52233         machine.
52234
52235       At  various points throughout this function, events may be fired on the
52236       Salt event bus. Four of these events, which are  described  below,  are
52237       required. Other events may be added by the user, where appropriate.
52238
52239       When  the  create()  function  is called, it is passed a data structure
52240       called vm_. This dict contains a composite  of  information  describing
52241       the  virtual machine to be created. A dict called __opts__ is also pro‐
52242       vided by Salt, which contains the options used to run  Salt  Cloud,  as
52243       well as a set of configuration and environment variables.
52244
52245       The  first thing the create() function must do is fire an event stating
52246       that  it  has  started  the  create  process.  This  event  is   tagged
52247       salt/cloud/<vm  name>/creating.  The  payload contains the names of the
52248       VM, profile, and provider.
52249
52250       A set of kwargs is then usually created,  to  describe  the  parameters
52251       required by the cloud host to request the virtual machine.
52252
52253       An  event  is then fired to state that a virtual machine is about to be
52254       requested.  It is tagged as salt/cloud/<vm name>/requesting.  The  pay‐
52255       load  contains  most  or all of the parameters that will be sent to the
52256       cloud host. Any private information (such as passwords) should  not  be
52257       sent in the event.
52258
52259       After  a  request  is  made,  a set of deploy kwargs will be generated.
52260       These will be used to install  Salt  on  the  target  machine.  Windows
52261       options  are  supported at this point, and should be generated, even if
52262       the cloud host does not currently support Windows. This will save  time
52263       in the future if the host does eventually decide to support Windows.
52264
52265       An  event  is  then  fired to state that the deploy process is about to
52266       begin. This event is tagged salt/cloud/<vm name>/deploying. The payload
52267       for the event will contain a set of deploy kwargs, useful for debugging
52268       purposed. Any private data, including  passwords  and  keys  (including
52269       public keys) should be stripped from the deploy kwargs before the event
52270       is fired.
52271
52272       If    any    Windows    options    have    been    passed    in,    the
52273       salt.utils.cloud.deploy_windows()  function  will be called. Otherwise,
52274       it will be assumed that the target is a Linux or Unix machine, and  the
52275       salt.utils.cloud.deploy_script() will be called.
52276
52277       Both  of  these  functions  will  wait for the target machine to become
52278       available, then the necessary port to log in, then a  successful  login
52279       that  can  be  used to install Salt. Minion configuration and keys will
52280       then be uploaded to a temporary directory on the target by  the  appro‐
52281       priate function. On a Windows target, the Windows Minion Installer will
52282       be run in silent mode. On a Linux/Unix target, a deploy  script  (boot‐
52283       strap-salt.sh,  by  default)  will  be  run, which will auto-detect the
52284       operating system, and install Salt using its  native  package  manager.
52285       These do not need to be handled by the developer in the cloud module.
52286
52287       The salt.utils.cloud.validate_windows_cred() function has been extended
52288       to take the number of retries and retry_delay parameters in case a spe‐
52289       cific  cloud host has a delay between providing the Windows credentials
52290       and the credentials being available for use.  In their  create()  func‐
52291       tion, or as a sub-function called during the creation process, develop‐
52292       ers      should      use      the      win_deploy_auth_retries      and
52293       win_deploy_auth_retry_delay  parameters from the provider configuration
52294       to allow the end-user the ability to customize the number of tries  and
52295       delay between tries for their particular host.
52296
52297       After the appropriate deploy function completes, a final event is fired
52298       which describes the virtual machine that has just  been  created.  This
52299       event  is tagged salt/cloud/<vm name>/created. The payload contains the
52300       names of the VM, profile, and provider.
52301
52302       Finally, a dict (queried from the provider)  which  describes  the  new
52303       virtual machine is returned to the user. Because this data is not fired
52304       on the event bus it can, and should, return  any  passwords  that  were
52305       returned  by  the  cloud  host. In some cases (for example, Rackspace),
52306       this is the only time that the password can be  queried  by  the  user;
52307       post-creation  queries  may not contain password information (depending
52308       upon the host).
52309
52310   The libcloudfuncs Functions
52311       A number of other functions are required for all cloud hosts.  However,
52312       with  libcloud-based  modules,  these  are all provided for free by the
52313       libcloudfuncs library. The following two lines set up the imports:
52314
52315          from salt.cloud.libcloudfuncs import *   # pylint: disable=W0614,W0401
52316          import salt.utils.functools
52317
52318       And then a series of declarations will  make  the  necessary  functions
52319       available within the cloud module.
52320
52321          get_size = salt.utils.functools.namespaced_function(get_size, globals())
52322          get_image = salt.utils.functools.namespaced_function(get_image, globals())
52323          avail_locations = salt.utils.functools.namespaced_function(avail_locations, globals())
52324          avail_images = salt.utils.functools.namespaced_function(avail_images, globals())
52325          avail_sizes = salt.utils.functools.namespaced_function(avail_sizes, globals())
52326          script = salt.utils.functools.namespaced_function(script, globals())
52327          destroy = salt.utils.functools.namespaced_function(destroy, globals())
52328          list_nodes = salt.utils.functools.namespaced_function(list_nodes, globals())
52329          list_nodes_full = salt.utils.functools.namespaced_function(list_nodes_full, globals())
52330          list_nodes_select = salt.utils.functools.namespaced_function(list_nodes_select, globals())
52331          show_instance = salt.utils.functools.namespaced_function(show_instance, globals())
52332
52333       If necessary, these functions may be replaced by removing the appropri‐
52334       ate declaration line, and then adding the function as normal.
52335
52336       These functions are required for all cloud modules, and  are  described
52337       in detail in the next section.
52338
52339   Non-Libcloud Based Modules
52340       In  some  cases,  using  libcloud is not an option. This may be because
52341       libcloud has not yet included the necessary driver itself, or it may be
52342       that  the driver that is included with libcloud does not contain all of
52343       the necessary features required by the  developer.  When  this  is  the
52344       case, some or all of the functions in libcloudfuncs may be replaced. If
52345       they are all replaced, the libcloud imports should be absent  from  the
52346       Salt Cloud module.
52347
52348       A good example of a non-libcloud driver is the DigitalOcean driver:
52349
52350       https://github.com/saltstack/salt/tree/master/salt/cloud/clouds/digitalocean.py
52351
52352   The create() Function
52353       The create()  function  must  be  created  as  described  in  the  lib‐
52354       cloud-based module documentation.
52355
52356   The get_size() Function
52357       This  function  is  only necessary for libcloud-based modules, and does
52358       not need to exist otherwise.
52359
52360   The get_image() Function
52361       This function is only necessary for libcloud-based  modules,  and  does
52362       not need to exist otherwise.
52363
52364   The avail_locations() Function
52365       This  function returns a list of locations available, if the cloud host
52366       uses multiple data centers. It is not necessary if the cloud host  uses
52367       only  one data center. It is normally called using the --list-locations
52368       option.
52369
52370          salt-cloud --list-locations my-cloud-provider
52371
52372   The avail_images() Function
52373       This function returns  a  list  of  images  available  for  this  cloud
52374       provider. There are not currently any known cloud providers that do not
52375       provide this functionality, though they may refer to images by  a  dif‐
52376       ferent name (for example, "templates"). It is normally called using the
52377       --list-images option.
52378
52379          salt-cloud --list-images my-cloud-provider
52380
52381   The avail_sizes() Function
52382       This function  returns  a  list  of  sizes  available  for  this  cloud
52383       provider.   Generally, this refers to a combination of RAM, CPU, and/or
52384       disk space. This  functionality  may  not  be  present  on  some  cloud
52385       providers.  For example, the Parallels module breaks down RAM, CPU, and
52386       disk space into separate options, whereas  in  other  providers,  these
52387       options  are  baked  into  the  image.  It is normally called using the
52388       --list-sizes option.
52389
52390          salt-cloud --list-sizes my-cloud-provider
52391
52392   The script() Function
52393       This function builds the  deploy  script  to  be  used  on  the  remote
52394       machine.  It is likely to be moved into the salt.utils.cloud library in
52395       the near future, as it is very generic and can usually be copied whole‐
52396       sale from another module. An excellent example is in the Azure driver.
52397
52398   The destroy() Function
52399       This  function  irreversibly  destroys  a  virtual machine on the cloud
52400       provider.  Before doing so, it should fire an event on the  Salt  event
52401       bus.  The  tag  for this event is salt/cloud/<vm name>/destroying. Once
52402       the virtual machine has been destroyed, another event is fired. The tag
52403       for that event is salt/cloud/<vm name>/destroyed.
52404
52405       This function is normally called with the -d options:
52406
52407          salt-cloud -d myinstance
52408
52409   The list_nodes() Function
52410       This function returns a list of nodes available on this cloud provider,
52411       using the following fields:
52412
52413       · id (str)
52414
52415       · image (str)
52416
52417       · size (str)
52418
52419       · state (str)
52420
52421       · private_ips (list)
52422
52423       · public_ips (list)
52424
52425       No other fields should be returned in this function, and all  of  these
52426       fields  should  be  returned,  even  if empty. The private_ips and pub‐
52427       lic_ips fields should always be of a list type, even if empty, and  the
52428       other  fields should always be of a str type. This function is normally
52429       called with the -Q option:
52430
52431          salt-cloud -Q
52432
52433   The list_nodes_full() Function
52434       All information available about all nodes should be  returned  in  this
52435       function.   The  fields  in  the  list_nodes()  function should also be
52436       returned, even if they would not normally  be  provided  by  the  cloud
52437       provider. This is because some functions both within Salt and 3rd party
52438       will break if an expected field is not present. This function  is  nor‐
52439       mally called with the -F option:
52440
52441          salt-cloud -F
52442
52443   The list_nodes_select() Function
52444       This  function returns only the fields specified in the query.selection
52445       option in /etc/salt/cloud. Because this function is so generic, all  of
52446       the heavy lifting has been moved into the salt.utils.cloud library.
52447
52448       A  function  to  call list_nodes_select() still needs to be present. In
52449       general, the following code can be used as-is:
52450
52451          def list_nodes_select(call=None):
52452              '''
52453              Return a list of the VMs that are on the provider, with select fields
52454              '''
52455              return salt.utils.cloud.list_nodes_select(
52456                  list_nodes_full('function'), __opts__['query.selection'], call,
52457              )
52458
52459       However, depending on the cloud provider, additional variables  may  be
52460       required.  For instance, some modules use a conn object, or may need to
52461       pass other options into list_nodes_full(). In this  case,  be  sure  to
52462       update the function appropriately:
52463
52464          def list_nodes_select(conn=None, call=None):
52465              '''
52466              Return a list of the VMs that are on the provider, with select fields
52467              '''
52468              if not conn:
52469                  conn = get_conn()   # pylint: disable=E0602
52470
52471              return salt.utils.cloud.list_nodes_select(
52472                  list_nodes_full(conn, 'function'),
52473                  __opts__['query.selection'],
52474                  call,
52475              )
52476
52477       This function is normally called with the -S option:
52478
52479          salt-cloud -S
52480
52481   The show_instance() Function
52482       This  function is used to display all of the information about a single
52483       node that is available from the cloud provider.  The  simplest  way  to
52484       provide  this is usually to call list_nodes_full(), and return just the
52485       data for the requested node. It is normally called as an action:
52486
52487          salt-cloud -a show_instance myinstance
52488
52489   Actions and Functions
52490       Extra functionality may be added to a cloud provider in the form of  an
52491       --action  or  a  --function.  Actions  are  performed  against  a cloud
52492       instance/virtual machine, and functions are performed against  a  cloud
52493       provider.
52494
52495   Actions
52496       Actions  are  calls  that  are performed against a specific instance or
52497       virtual machine. The show_instance action should be  available  in  all
52498       cloud modules.  Actions are normally called with the -a option:
52499
52500          salt-cloud -a show_instance myinstance
52501
52502       Actions  must accept a name as a first argument, may optionally support
52503       any number of kwargs as appropriate, and must  accept  an  argument  of
52504       call, with a default of None.
52505
52506       Before performing any other work, an action should normally verify that
52507       it has been called correctly. It may then perform the desired  feature,
52508       and return useful information to the user. A basic action looks like:
52509
52510          def show_instance(name, call=None):
52511          '''
52512          Show the details from EC2 concerning an AMI
52513          '''
52514          if call != 'action':
52515              raise SaltCloudSystemExit(
52516                  'The show_instance action must be called with -a or --action.'
52517              )
52518
52519          return _get_node(name)
52520
52521       Please note that generic kwargs, if used, are passed through to actions
52522       as kwargs and not **kwargs. An example of this is seen in the Functions
52523       section.
52524
52525   Functions
52526       Functions  are  called  that  are  performed  against  a specific cloud
52527       provider. An optional function that  is  often  useful  is  show_image,
52528       which  describes an image in detail. Functions are normally called with
52529       the -f option:
52530
52531          salt-cloud -f show_image my-cloud-provider image='Ubuntu 13.10 64-bit'
52532
52533       A function may accept any number of kwargs  as  appropriate,  and  must
52534       accept an argument of call with a default of None.
52535
52536       Before  performing  any  other  work, a function should normally verify
52537       that it has been called correctly. It may then perform the desired fea‐
52538       ture, and return useful information to the user. A basic function looks
52539       like:
52540
52541          def show_image(kwargs, call=None):
52542              '''
52543              Show the details from EC2 concerning an AMI
52544              '''
52545              if call != 'function':
52546                  raise SaltCloudSystemExit(
52547                      'The show_image action must be called with -f or --function.'
52548                  )
52549
52550              params = {'ImageId.1': kwargs['image'],
52551                        'Action': 'DescribeImages'}
52552              result = query(params)
52553              log.info(result)
52554
52555              return result
52556
52557       Take note that generic kwargs are passed through to functions as kwargs
52558       and not **kwargs.
52559
52560   Cloud deployment scripts
52561       Salt  Cloud  works  primarily  by  executing  a  script  on the virtual
52562       machines as soon as they become available. The script that is  executed
52563       is  referenced  in  the cloud profile as the script. In older versions,
52564       this was the os argument. This was changed in 0.8.2.
52565
52566       A number of legacy scripts exist in the deploy directory in  the  salt‐
52567       cloud  source  tree.  The  preferred  method  is  currently  to use the
52568       salt-bootstrap script. A stable version is included with  each  release
52569       tarball starting with 0.8.4. The most updated version can be found at:
52570
52571       https://github.com/saltstack/salt-bootstrap
52572
52573       Note  that,  somewhat counter-intuitively, this script is referenced as
52574       bootstrap-salt in the configuration.
52575
52576       You can specify  a  deploy  script  in  the  cloud  configuration  file
52577       (/etc/salt/cloud by default):
52578
52579          script: bootstrap-salt
52580
52581       Or in a provider:
52582
52583          my-provider:
52584            # snip...
52585            script: bootstrap-salt
52586
52587       Or in a profile:
52588
52589          my-profile:
52590            provider: my-provider
52591            # snip...
52592            script: bootstrap-salt
52593
52594       If  you  do  not  specify a script argument in your cloud configuration
52595       file, provider  configuration  or  profile  configuration,  the  "boot‐
52596       strap-salt" script will be used by default.
52597
52598   Other Generic Deploy Scripts
52599       If  you  want  to  be assured of always using the latest Salt Bootstrap
52600       script, there are a few  generic  templates  available  in  the  deploy
52601       directory of your saltcloud source tree:
52602
52603          curl-bootstrap
52604          curl-bootstrap-git
52605          python-bootstrap
52606          wget-bootstrap
52607          wget-bootstrap-git
52608
52609       These  are  example  scripts  which  were  designed  to  be customized,
52610       adapted, and refit to meet your needs. One important use of them is  to
52611       pass options to the salt-bootstrap script, such as updating to specific
52612       git tags.
52613
52614   Custom Deploy Scripts
52615       If the Salt Bootstrap script does not meet your needs,  you  may  write
52616       your  own.   The  script should be written in shell and is a Jinja tem‐
52617       plate. Deploy scripts need to execute a number of  functions  to  do  a
52618       complete salt setup. These functions include:
52619
52620       1. Install  the  salt  minion.  If this can be done via system packages
52621          this method is HIGHLY preferred.
52622
52623       2. Add the salt minion keys before the minion is started for the  first
52624          time.   The  minion keys are available as strings that can be copied
52625          into place in the Jinja template under the dict named "vm".
52626
52627       3. Start the salt-minion daemon and enable it at startup time.
52628
52629       4. Set up the minion configuration file from the "minion"  data  avail‐
52630          able in the Jinja template.
52631
52632       A good, well commented example of this process is the Fedora deployment
52633       script:
52634
52635       https://github.com/saltstack/salt/blob/master/salt/cloud/deploy/Fedora.sh
52636
52637       A  number  of  legacy deploy scripts are included with the release tar‐
52638       ball. None of them are as functional or complete as Salt Bootstrap, and
52639       are still included for academic purposes.
52640
52641       Custom  deploy  scripts  are picked up from /etc/salt/cloud.deploy.d by
52642       default, but you can change the location of  deploy  scripts  with  the
52643       cloud  configuration  deploy_scripts_search_path. Additionally, if your
52644       deploy script has the extension .sh, you can leave out the extension in
52645       your configuration.
52646
52647       For   example,   if   your   custom   deploy   script   is  located  in
52648       /etc/salt/cloud.deploy.d/my_deploy.sh, you could specify it in a  cloud
52649       profile like this:
52650
52651          my-profile:
52652            provider: my-provider
52653            # snip...
52654            script: my_deploy
52655
52656       You're  also free to use the full path to the script if you like. Using
52657       full   paths,   your   script   doesn't    have    to    live    inside
52658       /etc/salt/cloud.deploy.d    or    whatever   you've   configured   with
52659       deploy_scripts_search_path.
52660
52661   Post-Deploy Commands
52662       Once a minion has been deployed, it has the option to run a  salt  com‐
52663       mand.  Normally, this would be the state.apply, which would finish pro‐
52664       visioning the VM.  Another  common  option  (for  testing)  is  to  use
52665       test.version. This is configured in the main cloud config file:
52666
52667          start_action: state.apply
52668
52669       This  is currently considered to be experimental functionality, and may
52670       not work well with all cloud hosts. If  you  experience  problems  with
52671       Salt  Cloud  hanging  after  Salt  is  deployed, consider using Startup
52672       States instead:
52673
52674       http://docs.saltstack.com/ref/states/startup.html
52675
52676   Skipping the Deploy Script
52677       For whatever reason, you may want to skip the deploy script altogether.
52678       This results in a VM being spun up much faster, with absolutely no con‐
52679       figuration.  This can be set from the command line:
52680
52681          salt-cloud --no-deploy -p micro_aws my_instance
52682
52683       Or it can be set from the main cloud config file:
52684
52685          deploy: False
52686
52687       Or it can be set from the provider's configuration:
52688
52689          RACKSPACE.user: example_user
52690          RACKSPACE.apikey: 123984bjjas87034
52691          RACKSPACE.deploy: False
52692
52693       Or even on the VM's profile settings:
52694
52695          ubuntu_aws:
52696            provider: my-ec2-config
52697            image: ami-7e2da54e
52698            size: t1.micro
52699            deploy: False
52700
52701       The default for deploy is True.
52702
52703       In the profile, you may also set the script option to None:
52704
52705          script: None
52706
52707       This is the slowest option, since it  still  uploads  the  None  deploy
52708       script and executes it.
52709
52710   Updating Salt Bootstrap
52711       Salt Bootstrap can be updated automatically with salt-cloud:
52712
52713          salt-cloud -u
52714          salt-cloud --update-bootstrap
52715
52716       Bear in mind that this updates to the latest stable version from:
52717
52718       https://bootstrap.saltstack.com/stable/bootstrap-salt.sh
52719
52720       To update Salt Bootstrap script to the develop version, run the follow‐
52721       ing command on the Salt minion host with salt-cloud installed:
52722
52723          salt-call config.gather_bootstrap_script 'https://bootstrap.saltstack.com/develop/bootstrap-salt.sh'
52724
52725       Or just download the file manually:
52726
52727          curl -L 'https://bootstrap.saltstack.com/develop' > /etc/salt/cloud.deploy.d/bootstrap-salt.sh
52728
52729   Keeping /tmp/ Files
52730       When Salt Cloud deploys an instance,  it  uploads  temporary  files  to
52731       /tmp/  for  salt-bootstrap  to  put in place. After the script has run,
52732       they are deleted. To keep these files around (mostly for debugging pur‐
52733       poses), the --keep-tmp option can be added:
52734
52735          salt-cloud -p myprofile mymachine --keep-tmp
52736
52737       For  those  wondering why /tmp/ was used instead of /root/, this had to
52738       be done for images which require the use of sudo, and therefore do  not
52739       allow  remote  root logins, even for file transfers (which makes /root/
52740       unavailable).
52741
52742   Deploy Script Arguments
52743       Custom deploy scripts are unlikely  to  need  custom  arguments  to  be
52744       passed  to  them, but salt-bootstrap has been extended quite a bit, and
52745       this may be necessary. script_args can be specified in either the  pro‐
52746       file or the map file, to pass arguments to the deploy script:
52747
52748          aws-amazon:
52749            provider: my-ec2-config
52750            image: ami-1624987f
52751            size: t1.micro
52752            ssh_username: ec2-user
52753            script: bootstrap-salt
52754            script_args: -c /tmp/
52755
52756       This has also been tested to work with pipes, if needed:
52757
52758          script_args: '| head'
52759
52760   Using Salt Cloud from Salt
52761   Using the Salt Modules for Cloud
52762       In  addition  to  the salt-cloud command, Salt Cloud can be called from
52763       Salt, in a variety of different ways. Most users will be interested  in
52764       either  the execution module or the state module, but it is also possi‐
52765       ble to call Salt Cloud as a runner.
52766
52767       Because the actual work will be performed on a remote minion, the  nor‐
52768       mal Salt Cloud configuration must exist on any target minion that needs
52769       to execute a Salt Cloud  command.   Because  Salt  Cloud  now  supports
52770       breaking  out configuration into individual files, the configuration is
52771       easily managed using Salt's own file.managed state function. For  exam‐
52772       ple,  the  following directories allow this configuration to be managed
52773       easily:
52774
52775          /etc/salt/cloud.providers.d/
52776          /etc/salt/cloud.profiles.d/
52777
52778   Minion Keys
52779       Keep in mind that when creating minions, Salt Cloud will create  public
52780       and  private minion keys, upload them to the minion, and place the pub‐
52781       lic key on the machine that created the minion. It will not attempt  to
52782       place any public minion keys on the master, unless the minion which was
52783       used to create the instance is also the Salt Master.  This  is  because
52784       granting  arbitrary  minions  access  to modify keys on the master is a
52785       serious security risk, and must be avoided.
52786
52787   Execution Module
52788       The cloud module is available to use from  the  command  line.  At  the
52789       moment,  almost  every standard Salt Cloud feature is available to use.
52790       The following commands are available:
52791
52792   list_images
52793       This command is designed to show images that are available to  be  used
52794       to create an instance using Salt Cloud. In general they are used in the
52795       creation of profiles, but may  also  be  used  to  create  an  instance
52796       directly (see below).  Listing images requires a provider to be config‐
52797       ured, and specified:
52798
52799          salt myminion cloud.list_images my-cloud-provider
52800
52801   list_sizes
52802       This command is designed to show sizes that are available to be used to
52803       create  an  instance  using Salt Cloud. In general they are used in the
52804       creation of profiles, but may  also  be  used  to  create  an  instance
52805       directly  (see  below).  This  command  is  not available for all cloud
52806       providers; see the provider-specific documentation for details. Listing
52807       sizes requires a provider to be configured, and specified:
52808
52809          salt myminion cloud.list_sizes my-cloud-provider
52810
52811   list_locations
52812       This  command  is  designed  to show locations that are available to be
52813       used to create an instance using Salt Cloud. In general they  are  used
52814       in the creation of profiles, but may also be used to create an instance
52815       directly (see below). This command  is  not  available  for  all  cloud
52816       providers; see the provider-specific documentation for details. Listing
52817       locations requires a provider to be configured, and specified:
52818
52819          salt myminion cloud.list_locations my-cloud-provider
52820
52821   query
52822       This command is used to query all configured cloud providers, and  dis‐
52823       play  all instances associated with those accounts. By default, it will
52824       run a standard query, returning the following fields:
52825
52826       id     The name or ID of the instance, as used by the cloud provider.
52827
52828       image  The disk image that was used to create this instance.
52829
52830       private_ips
52831              Any public IP addresses currently assigned to this instance.
52832
52833       public_ips
52834              Any private IP addresses currently assigned to this instance.
52835
52836       size   The size of the instance; can refer to RAM, CPU(s), disk  space,
52837              etc., depending on the cloud provider.
52838
52839       state  The  running  state  of  the  instance;  for  example,  running,
52840              stopped,  pending,  etc.  This  state  is  dependent  upon   the
52841              provider.
52842
52843       This  command  may  also  be  used  to perform a full query or a select
52844       query, as described below. The following usages are available:
52845
52846          salt myminion cloud.query
52847          salt myminion cloud.query list_nodes
52848          salt myminion cloud.query list_nodes_full
52849
52850   full_query
52851       This command behaves like the query command, but lists all  information
52852       concerning each instance as provided by the cloud provider, in addition
52853       to the fields returned by the query command.
52854
52855          salt myminion cloud.full_query
52856
52857   select_query
52858       This command behaves like the query command, but only  returned  select
52859       fields  as  defined in the /etc/salt/cloud configuration file. A sample
52860       configuration for this section of the file might look like:
52861
52862          query.selection:
52863            - id
52864            - key_name
52865
52866       This configuration would only return the id and  key_name  fields,  for
52867       those  cloud  providers  that  support  those two fields. This would be
52868       called using the following command:
52869
52870          salt myminion cloud.select_query
52871
52872   profile
52873       This command is used to create an instance using a profile that is con‐
52874       figured on the target minion. Please note that the profile must be con‐
52875       figured before this command can be used with it.
52876
52877          salt myminion cloud.profile ec2-centos64-x64 my-new-instance
52878
52879       Please note that the execution module does not run  in  parallel  mode.
52880       Using multiple minions to create instances can effectively perform par‐
52881       allel instance creation.
52882
52883   create
52884       This command is similar to the profile command, in that it is  used  to
52885       create  a  new  instance.  However, it does not require a profile to be
52886       pre-configured.  Instead, all of the options that are normally  config‐
52887       ured  in  a  profile  are  passed  directly to Salt Cloud to create the
52888       instance:
52889
52890          salt myminion cloud.create my-ec2-config my-new-instance \
52891              image=ami-1624987f size='t1.micro' ssh_username=ec2-user \
52892              securitygroup=default delvol_on_destroy=True
52893
52894       Please note that the execution module does not run  in  parallel  mode.
52895       Using multiple minions to create instances can effectively perform par‐
52896       allel instance creation.
52897
52898   destroy
52899       This command is used to destroy an instance or instances. This  command
52900       will  search  all configured providers and remove any instance(s) which
52901       matches the name(s) passed in here. The results  of  this  command  are
52902       non-reversable and should be used with caution.
52903
52904          salt myminion cloud.destroy myinstance
52905          salt myminion cloud.destroy myinstance1,myinstance2
52906
52907   action
52908       This  command implements both the action and the function commands used
52909       in the standard salt-cloud command. If one of the standard action  com‐
52910       mands  is  used, an instance name must be provided. If one of the stan‐
52911       dard function commands is used, a provider configuration must be named.
52912
52913          salt myminion cloud.action start instance=myinstance
52914          salt myminion cloud.action show_image provider=my-ec2-config \
52915              image=ami-1624987f
52916
52917       The actions available are largely dependent upon  the  module  for  the
52918       specific  cloud  provider.  The following actions are available for all
52919       cloud providers:
52920
52921       list_nodes
52922              This is a direct call to the query function as described  above,
52923              but  is  only  performed  against  a  single  cloud  provider. A
52924              provider configuration must be included.
52925
52926       list_nodes_select
52927              This is a direct call to the full_query  function  as  described
52928              above,  but is only performed against a single cloud provider. A
52929              provider configuration must be included.
52930
52931       list_nodes_select
52932              This is a direct call to the select_query function as  described
52933              above, but is only performed against a single cloud provider.  A
52934              provider configuration must be included.
52935
52936       show_instance
52937              This is a thin wrapper around list_nodes, which returns the full
52938              information  about  a  single instance. An instance name must be
52939              provided.
52940
52941   State Module
52942       A subset of the execution module is available through the  cloud  state
52943       module. Not all functions are currently included, because there is cur‐
52944       rently insufficient code for them to perform statefully. For example, a
52945       command  to  create an instance may be issued with a series of options,
52946       but those options cannot currently be  statefully  managed.  Additional
52947       states to manage these options will be released at a later time.
52948
52949   cloud.present
52950       This  state will ensure that an instance is present inside a particular
52951       cloud provider. Any option that is normally specified in the cloud.cre‐
52952       ate  execution  module  and function may be declared here, but only the
52953       actual presence of the instance will be managed statefully.
52954
52955          my-instance-name:
52956            cloud.present:
52957              - cloud_provider: my-ec2-config
52958              - image: ami-1624987f
52959              - size: 't1.micro'
52960              - ssh_username: ec2-user
52961              - securitygroup: default
52962              - delvol_on_destroy: True
52963
52964   cloud.profile
52965       This state will ensure that an instance is present inside a  particular
52966       cloud  provider. This function calls the cloud.profile execution module
52967       and function, but as with cloud.present, only the  actual  presence  of
52968       the instance will be managed statefully.
52969
52970          my-instance-name:
52971            cloud.profile:
52972              - profile: ec2-centos64-x64
52973
52974   cloud.absent
52975       This  state  will ensure that an instance (identified by name) does not
52976       exist in any of the cloud providers configured on  the  target  minion.
52977       Please  note  that  this  state is non-reversable and may be considered
52978       especially destructive when issued as a cloud state.
52979
52980          my-instance-name:
52981            cloud.absent
52982
52983   Runner Module
52984       The cloud runner module is executed on the master, and performs actions
52985       using  the  configuration  and  Salt modules on the master itself. This
52986       means that any public minion keys will also be properly accepted by the
52987       master.
52988
52989       Using  the  functions  in  the runner module is no different than using
52990       those in the execution module, outside of the behavior described in the
52991       above paragraph.  The following functions are available inside the run‐
52992       ner:
52993
52994       · list_images
52995
52996       · list_sizes
52997
52998       · list_locations
52999
53000       · query
53001
53002       · full_query
53003
53004       · select_query
53005
53006       · profile
53007
53008       · destroy
53009
53010       · action
53011
53012       Outside of the standard usage of salt-run itself, commands are executed
53013       as usual:
53014
53015          salt-run cloud.profile ec2-centos64-x86_64 my-instance-name
53016
53017   CloudClient
53018       The  execution, state, and runner modules ultimately all use the Cloud‐
53019       Client library that ships with Salt. To  use  the  CloudClient  library
53020       locally  (either on the master or a minion), create a client object and
53021       issue a command against it:
53022
53023          import salt.cloud
53024          import pprint
53025          client = salt.cloud.CloudClient('/etc/salt/cloud')
53026          nodes = client.query()
53027          pprint.pprint(nodes)
53028
53029   Reactor
53030       Examples of using the reactor with Salt  Cloud  are  available  in  the
53031       ec2-autoscale-reactor and salt-cloud-reactor formulas.
53032
53033   Feature Comparison
53034   Feature Matrix
53035       A number of features are available in most cloud hosts, but not all are
53036       available everywhere. This may be because the feature  isn't  supported
53037       by  the  cloud  host itself, or it may only be that the feature has not
53038       yet been added to Salt Cloud. In a handful of cases, it is because  the
53039       feature  does  not make sense for a particular cloud provider (Saltify,
53040       for instance).
53041
53042       This matrix shows which features are available in which cloud hosts, as
53043       far as Salt Cloud is concerned. This is not a comprehensive list of all
53044       features available in all cloud hosts, and should not be used  to  make
53045       business  decisions  concerning  choosing  a cloud host. In most cases,
53046       adding support for a feature to  Salt  Cloud  requires  only  a  little
53047       effort.
53048
53049   Legacy Drivers
53050       Both  AWS  and  Rackspace are listed as "Legacy". This is because those
53051       drivers have been replaced by other drivers, which  are  generally  the
53052       preferred method for working with those hosts.
53053
53054       The EC2 driver should be used instead of the AWS driver, when possible.
53055       The OpenStack driver should be used instead of  the  Rackspace  driver,
53056       unless  the  user  is  dealing  with  instances  in  "the old cloud" in
53057       Rackspace.
53058
53059   Note for Developers
53060       When adding new features to a particular cloud host, please  make  sure
53061       to add the feature to this table. Additionally, if you notice a feature
53062       that is not properly listed here, pull requests to fix them is appreci‐
53063       ated.
53064
53065   Standard Features
53066       These are features that are available for almost every cloud host.
53067
53068┌────────┬──────────┬────────┬───────┬─────┬────────┬────────┬──────┬───────┬──────┬───────────┬─────────┬─────────┬───────┬───────┬────────┬───────┐
53069│        │ AWS      │ Cloud‐ │ Dig‐  │ EC2 │ GoGrid │ JoyEnt │ Lin‐ │ Open‐ │ Par‐ │ Rackspace │ Saltify │ Vagrant │ Soft‐ │ Soft‐ │ Aliyun │ Ten‐  │
53070│        │ (Legacy) │ Stack  │ ital  │     │        │        │ ode  │ Stack │ al‐  │ (Legacy)  │         │         │ layer │ layer │        │ cent  │
53071│        │          │        │ Ocean │     │        │        │      │       │ lels │           │         │         │       │ Hard‐ │        │ Cloud │
53072│        │          │        │       │     │        │        │      │       │      │           │         │         │       │ ware  │        │       │
53073├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53074│Query   │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │ Yes   │
53075├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53076│Full    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │ Yes   │
53077│Query   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │       │
53078├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53079│Selec‐  │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │ Yes   │
53080│tive    │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │       │
53081│Query   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │       │
53082├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53083│List    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [2]     │ [2]     │ Yes   │ Yes   │ Yes    │ Yes   │
53084│Sizes   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │       │
53085├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53086│List    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes     │ Yes     │ Yes   │ Yes   │ Yes    │ Yes   │
53087│Images  │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │       │
53088├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53089│List    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [2]     │ [2]     │ Yes   │ Yes   │ Yes    │ Yes   │
53090│Loca‐   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │       │
53091│tions   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │       │
53092├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53093│create  │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes     │ [1]     │ Yes   │ Yes   │ Yes    │ Yes   │
53094├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┼───────┤
53095│destroy │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │ Yes   │
53096└────────┴──────────┴────────┴───────┴─────┴────────┴────────┴──────┴───────┴──────┴───────────┴─────────┴─────────┴───────┴───────┴────────┴───────┘
53097
53098       [1] Yes, if salt-api is enabled.
53099
53100       [2] Always returns {}.
53101
53102   Actions
53103       These  are  features  that  are  performed  on a specific instance, and
53104       require an instance name to be passed in. For example:
53105
53106          # salt-cloud -a attach_volume ami.example.com
53107
53108┌───────────────────────┬──────────┬────────┬───────┬─────┬────────┬────────┬──────┬───────┬──────┬───────────┬───────────────────────┬───────┬───────┬────────┬───────┐
53109│Actions                │ AWS      │ Cloud‐ │ Digi‐ │ EC2 │ GoGrid │ JoyEnt │ Lin‐ │ Open‐ │ Par‐ │ Rackspace │                       │ Soft‐ │ Soft‐ │ Aliyun │ Ten‐  │
53110│                       │ (Legacy) │ Stack  │ tal   │     │        │        │ ode  │ Stack │ al‐  │ (Legacy)  │        Saltify&       │ layer │ layer │        │ cent  │
53111│                       │          │        │ Ocean │     │        │        │      │       │ lels │           │               Vagrant │       │ Hard‐ │        │ Cloud │
53112│                       │          │        │       │     │        │        │      │       │      │           │                       │       │ ware  │        │       │
53113├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53114│attach_vol‐            │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53115│ume                    │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53116├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53117│cre‐                   │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53118│ate_attach_vol‐        │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53119│umes                   │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53120├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53121│del_tags               │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53122├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53123│delvol_on_destroy      │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53124├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53125│detach_volume          │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53126├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53127│disable_term_pro‐      │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53128│tect                   │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53129├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53130│enable_term_pro‐       │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53131│tect                   │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53132├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53133│get_tags               │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53134├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53135│keep‐                  │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53136│vol_on_destroy         │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53137├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53138│list_keypairs          │          │        │ Yes   │     │        │        │      │       │      │           │                       │       │       │        │       │
53139├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53140│rename                 │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53141├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53142│set_tags               │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53143├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53144│show_delvol_on_destroy │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53145├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53146│show_instance          │          │        │ Yes   │ Yes │        │        │ Yes  │       │ Yes  │           │                       │ Yes   │ Yes   │ Yes    │ Yes   │
53147├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53148│show_term_protect      │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53149├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53150│start                  │ Yes      │        │       │ Yes │        │ Yes    │ Yes  │       │ Yes  │           │                       │       │       │ Yes    │ Yes   │
53151├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53152│stop                   │ Yes      │        │       │ Yes │        │ Yes    │ Yes  │       │ Yes  │           │                       │       │       │ Yes    │ Yes   │
53153├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53154│take_action            │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53155└───────────────────────┴──────────┴────────┴───────┴─────┴────────┴────────┴──────┴───────┴──────┴───────────┴───────────────────────┴───────┴───────┴────────┴───────┘
53156
53157   Functions
53158       These  are  features  that  are  performed  against  a  specific  cloud
53159       provider, and require the name of the provider to  be  passed  in.  For
53160       example:
53161
53162          # salt-cloud -f list_images my_digitalocean
53163
53164┌──────────────────┬──────────┬────────┬───────┬─────┬────────┬────────┬──────┬───────┬──────┬───────────┬───────────────────────┬───────┬───────┬────────┬───────┐
53165│Func‐             │ AWS      │ Cloud‐ │ Digi‐ │ EC2 │ GoGrid │ JoyEnt │ Lin‐ │ Open‐ │ Par‐ │ Rackspace │                       │ Soft‐ │ Soft‐ │ Aliyun │ Ten‐  │
53166│tions             │ (Legacy) │ Stack  │ tal   │     │        │        │ ode  │ Stack │ al‐  │ (Legacy)  │        Saltify&       │ layer │ layer │        │ cent  │
53167│                  │          │        │ Ocean │     │        │        │      │       │ lels │           │               Vagrant │       │ Hard‐ │        │ Cloud │
53168│                  │          │        │       │     │        │        │      │       │      │           │                       │       │ ware  │        │       │
53169├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53170│block_device_map‐ │ Yes      │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53171│pings             │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53172├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53173│create_keypair    │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53174├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53175│create_volume     │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53176├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53177│delete_key        │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53178├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53179│delete_keypair    │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53180├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53181│delete_volume     │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53182├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53183│get_image         │          │        │ Yes   │     │        │ Yes    │      │       │ Yes  │           │                       │       │       │ Yes    │       │
53184├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53185│get_ip            │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53186├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53187│get_key           │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53188├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53189│get_keyid         │          │        │ Yes   │     │        │        │      │       │      │           │                       │       │       │        │       │
53190├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53191│get_keypair       │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53192├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53193│get_networkid     │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53194├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53195│get_node          │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53196├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53197│get_password      │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53198├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53199│get_size          │          │        │ Yes   │     │        │ Yes    │      │       │      │           │                       │       │       │ Yes    │       │
53200├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53201│get_spot_config   │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53202├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53203│get_subnetid      │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53204├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53205│iam_profile       │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │ Yes    │       │
53206├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53207│import_key        │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53208├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53209│key_list          │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53210├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53211│keyname           │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53212├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53213│list_availabil‐   │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │ Yes    │ Yes   │
53214│ity_zones         │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53215├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53216│list_cus‐         │          │        │       │     │        │        │      │       │      │           │                       │ Yes   │       │        │ Yes   │
53217│tom_images        │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │       │
53218├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53219│list_keys         │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53220├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53221│list_nodes        │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes                   │ Yes   │ Yes   │ Yes    │ Yes   │
53222├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53223│list_nodes_full   │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes                   │ Yes   │ Yes   │ Yes    │ Yes   │
53224├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53225│list_nodes_select │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes                   │ Yes   │ Yes   │ Yes    │ Yes   │
53226├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53227│list_vlans        │          │        │       │     │        │        │      │       │      │           │                       │ Yes   │ Yes   │        │       │
53228├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53229│rackconnect       │          │        │       │     │        │        │      │ Yes   │      │           │                       │       │       │        │       │
53230├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53231│reboot            │          │        │       │ Yes │        │ Yes    │      │       │      │           │ [1]                   │       │       │ Yes    │ Yes   │
53232├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53233│reformat_node     │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53234├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53235│securitygroup     │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53236├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53237│securitygroupid   │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │ Yes    │       │
53238├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53239│show_image        │          │        │       │ Yes │        │        │      │       │ Yes  │           │                       │       │       │ Yes    │ Yes   │
53240├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53241│show_key          │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │       │
53242├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53243│show_keypair      │          │        │ Yes   │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53244├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┼───────┤
53245│show_volume       │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │       │
53246└──────────────────┴──────────┴────────┴───────┴─────┴────────┴────────┴──────┴───────┴──────┴───────────┴───────────────────────┴───────┴───────┴────────┴───────┘
53247
53248       [1] Yes, if salt-api is enabled.
53249
53250   Tutorials
53251   Salt Cloud Quickstart
53252       Salt  Cloud  is built-in to Salt, and the easiest way to run Salt Cloud
53253       is directly from your Salt Master.
53254
53255       Note that if you installed Salt via Salt Bootstrap,  it  may  not  have
53256       automatically  installed  salt-cloud  for  you. Use your distribution's
53257       package manager to install the salt-cloud package from  the  same  repo
53258       that you used to install Salt.  These repos will automatically be setup
53259       by Salt Bootstrap.
53260
53261       Alternatively, the -L option can be passed to the Salt Bootstrap script
53262       when  installing  Salt.  The  -L option will install salt-cloud and the
53263       required libcloud package.
53264
53265       This quickstart walks you through the basic steps of setting up a cloud
53266       host and defining some virtual machines to create.
53267
53268       NOTE:
53269          Salt Cloud has its own process and does not rely on the Salt Master,
53270          so it can be installed on a standalone minion instead of  your  Salt
53271          Master.
53272
53273   Define a Provider
53274       The  first  step is to add the credentials for your cloud host. Creden‐
53275       tials and other settings provided by  the  cloud  host  are  stored  in
53276       provider  configuration  files.  Provider  configurations  contain  the
53277       details needed to connect to a cloud host such as EC2, GCE,  Rackspace,
53278       etc.,  and  any  global options that you want set on your cloud minions
53279       (such as the location of your Salt Master).
53280
53281       On your Salt Master, browse to /etc/salt/cloud.providers.d/ and  create
53282       a  file  called  <provider>.conf,  replacing <provider> with ec2, soft‐
53283       layer, and so on. The name helps you identify the contents, and is  not
53284       important as long as the file ends in .conf.
53285
53286       Next,  browse  to  the Provider specifics and add any required settings
53287       for your cloud host to this file. Here is an example for Amazon EC2:
53288
53289          my-ec2:
53290            driver: ec2
53291            # Set the EC2 access credentials (see below)
53292            #
53293            id: 'HJGRYCILJLKJYG'
53294            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
53295            # Make sure this key is owned by root with permissions 0400.
53296            #
53297            private_key: /etc/salt/my_test_key.pem
53298            keyname: my_test_key
53299            securitygroup: default
53300            # Optional: Set up the location of the Salt Master
53301            #
53302            minion:
53303              master: saltmaster.example.com
53304
53305       The required configuration varies between cloud hosts so make sure  you
53306       read the provider specifics.
53307
53308   List Cloud Provider Options
53309       You can now query the cloud provider you configured for available loca‐
53310       tions, images, and sizes. This information is used when you set  up  VM
53311       profiles.
53312
53313          salt-cloud --list-locations <provider_name>  # my-ec2 in the previous example
53314          salt-cloud --list-images <provider_name>
53315          salt-cloud --list-sizes <provider_name>
53316
53317       Replace <provider_name> with the name of the provider configuration you
53318       defined.
53319
53320   Create VM Profiles
53321       On your Salt Master, browse to /etc/salt/cloud.profiles.d/ and create a
53322       file  called  <profile>.conf,  replacing <profile> with ec2, softlayer,
53323       and so on. The file must end in .conf.
53324
53325       You can now add any custom profiles you'd like to define to this  file.
53326       Here are a few examples:
53327
53328          micro_ec2:
53329            provider: my-ec2
53330            image: ami-d514f291
53331            size: t1.micro
53332
53333          medium_ec2:
53334            provider: my-ec2
53335            image: ami-d514f291
53336            size: m3.medium
53337
53338          large_ec2:
53339            provider: my-ec2
53340            image: ami-d514f291
53341            size: m3.large
53342
53343       Notice  that the provider in our profile matches the provider name that
53344       we defined? That is how Salt Cloud knows how to connect to a cloud host
53345       to create a VM with these attributes.
53346
53347   Create VMs
53348       VMs are created by calling salt-cloud with the following options:
53349
53350          salt-cloud -p <profile> <name1> <name2> ...
53351
53352       For example:
53353
53354          salt-cloud -p micro_ec2 minion1 minion2
53355
53356   Destroy VMs
53357       Add a -d and the minion name you provided to destroy:
53358
53359          salt-cloud -d minion1 minion2
53360
53361   Query VMs
53362       You can view details about the VMs you've created using --query:
53363
53364          salt-cloud --query
53365
53366   Cloud Map
53367       Now  that  you  know  how to create and destoy individual VMs, next you
53368       should learn how to use a cloud map to create a number of VMs at once.
53369
53370       Cloud maps let you define a map of your infrastructure and quickly pro‐
53371       vision any number of VMs. On subsequent runs, any VMs that do not exist
53372       are created, and VMs that are already configured are left unmodified.
53373
53374       See Cloud Map File.
53375
53376   Using Salt Cloud with the Event Reactor
53377       One of the most powerful features of the Salt framework  is  the  Event
53378       Reactor.   As  the Reactor was in development, Salt Cloud was regularly
53379       updated to take advantage of the Reactor upon completion. As such, var‐
53380       ious  aspects  of  both  the creation and destruction of instances with
53381       Salt Cloud fire events to the Salt Master, which can  be  used  by  the
53382       Event Reactor.
53383
53384   Event Structure
53385       As of this writing, all events in Salt Cloud have a tag, which includes
53386       the ID of the instance being managed, and a payload which describes the
53387       task that is currently being handled. A Salt Cloud tag looks like:
53388
53389          salt/cloud/<minion_id>/<task>
53390
53391       For  instance,  the  first  event fired when creating an instance named
53392       web1 would look like:
53393
53394          salt/cloud/web1/creating
53395
53396       Assuming this instance is using the ec2-centos  profile,  which  is  in
53397       turn using the ec2-config provider, the payload for this tag would look
53398       like:
53399
53400          {'name': 'web1',
53401           'profile': 'ec2-centos',
53402           'provider': 'ec2-config:ec2'}
53403
53404   Available Events
53405       When an instance is created in Salt Cloud, whether by map, profile,  or
53406       directly  through  an API, a minimum of five events are normally fired.
53407       More may be available, depending upon the cloud  provider  being  used.
53408       Some of the common events are described below.
53409
53410   salt/cloud/<minion_id>/creating
53411       This  event  states  simply  that the process to create an instance has
53412       begun. At this point in time, no actual work has begun. The payload for
53413       this event includes:
53414
53415       name profile provider
53416
53417   salt/cloud/<minion_id>/requesting
53418       Salt  Cloud  is about to make a request to the cloud provider to create
53419       an instance. At this point, all of the variables required to  make  the
53420       request  have  been gathered, and the payload of the event will reflect
53421       those variables which do not normally pose a  security  risk.  What  is
53422       returned  here  is dependent upon the cloud provider. Some common vari‐
53423       ables are:
53424
53425       name image size location
53426
53427   salt/cloud/<minion_id>/querying
53428       The instance has been successfully requested, but the necessary  infor‐
53429       mation  to log into the instance (such as IP address) is not yet avail‐
53430       able. This event marks the beginning of the process to  wait  for  this
53431       information.
53432
53433       The payload for this event normally only includes the instance_id.
53434
53435   salt/cloud/<minion_id>/waiting_for_ssh
53436       The  information  required to log into the instance has been retrieved,
53437       but the instance is not necessarily ready  to  be  accessed.  Following
53438       this  event,  Salt  Cloud  will wait for the IP address to respond to a
53439       ping, then wait for the specified port (usually 22)  to  respond  to  a
53440       connection,  and  on  Linux  systems, for SSH to become available. Salt
53441       Cloud will attempt to issue the date command on the remote system, as a
53442       means to check for availability. If no ssh_username has been specified,
53443       a list of usernames (starting with root) will be attempted. If  one  or
53444       more  usernames  was configured for ssh_username, they will be added to
53445       the beginning of the list, in order.
53446
53447       The payload for this event normally only includes the ip_address.
53448
53449   salt/cloud/<minion_id>/deploying
53450       The necessary port has been detected as available, and now  Salt  Cloud
53451       can  log  into  the instance, upload any files used for deployment, and
53452       run the deploy script. Once the script has completed, Salt  Cloud  will
53453       log back into the instance and remove any remaining files.
53454
53455       A number of variables are used to deploy instances, and the majority of
53456       these will be available in the payload. Any keys,  passwords  or  other
53457       sensitive  data will be scraped from the payload. Most of the variables
53458       returned will be related to the profile or  provider  config,  and  any
53459       default values that could have been changed in the profile or provider,
53460       but weren't.
53461
53462   salt/cloud/<minion_id>/created
53463       The deploy sequence has completed, and the instance is  now  available,
53464       Salted, and ready for use. This event is the final task for Salt Cloud,
53465       before returning instance information to the user and exiting.
53466
53467       The payload for this event contains little more than the initial creat‐
53468       ing event. This event is required in all cloud providers.
53469
53470   Filtering Events
53471       When creating a VM, it is possible with certain tags to filter how much
53472       information is sent to the event bus. The tags that can be filtered  on
53473       any provider are:
53474
53475       · salt/cloud/<minion_id>/creating
53476
53477       · salt/cloud/<minion_id>/requesting
53478
53479       · salt/cloud/<minion_id>/created
53480
53481       Other  providers  may allow other tags to be filtered; when that is the
53482       case, the documentation for that provider will contain more details.
53483
53484       To filter information, create a section in  your  /etc/salt/cloud  file
53485       called  filter_events.  Create  a section for each tag that you want to
53486       filter, using the last segment of the tag. For instance,  use  creating
53487       to represent salt/cloud/<minion_id>/creating:
53488
53489          filter_events:
53490            creating:
53491              keys:
53492                - name
53493                - profile
53494                - provider
53495
53496       Any keys listed here will be added to the default keys that are already
53497       set to be displayed for that provider. If you  wish  to  start  with  a
53498       clean slate and only show the keys specified, add another option called
53499       use_defaults and set it to False.
53500
53501          filter_events:
53502            creating:
53503              keys:
53504                - name
53505                - profile
53506                - provider
53507              use_defaults: False
53508
53509   Configuring the Event Reactor
53510       The Event Reactor is built into the Salt Master process, and as such is
53511       configured  via  the master configuration file. Normally this will be a
53512       YAML file located at /etc/salt/master. Additionally, master  configura‐
53513       tion  items  can  be  stored, in YAML format, inside the /etc/salt/mas‐
53514       ter.d/ directory.
53515
53516       These configuration items may be stored in  either  location;  however,
53517       they  may  only be stored in one location. For organizational and secu‐
53518       rity purposes, it may be best to create a  single  configuration  file,
53519       which  contains  only  Event  Reactor  configuration, at /etc/salt/mas‐
53520       ter.d/reactor.
53521
53522       The Event Reactor uses a top-level configuration item  called  reactor.
53523       This  block  contains  a  list of tags to be watched for, each of which
53524       also includes a list of sls files. For instance:
53525
53526          reactor:
53527            - 'salt/minion/*/start':
53528              - '/srv/reactor/custom-reactor.sls'
53529            - 'salt/cloud/*/created':
53530              - '/srv/reactor/cloud-alert.sls'
53531            - 'salt/cloud/*/destroyed':
53532              - '/srv/reactor/cloud-destroy-alert.sls'
53533
53534       The above configuration configures reactors for three  different  tags:
53535       one  which  is fired when a minion process has started and is available
53536       to receive commands, one which is fired when a cloud instance has  been
53537       created, and one which is fired when a cloud instance is destroyed.
53538
53539       Note  that  each  tag  contains a wildcard (*) in it. For each of these
53540       tags, this will normally refer to a minion_id. This is not required  of
53541       event tags, but is very common.
53542
53543   Reactor SLS Files
53544       Reactor  sls  files should be placed in the /srv/reactor/ directory for
53545       consistency between environments, but this is not currently enforced by
53546       Salt.
53547
53548       Reactor  sls  files follow a similar format to other sls files in Salt.
53549       By default they are written in YAML and can be templated  using  Jinja,
53550       but  since  they  are  processed  through  Salt's rendering system, any
53551       available renderer (JSON, Mako, Cheetah, etc.) can be used.
53552
53553       As with other sls files, each stanza will start with a declaration  ID,
53554       followed  by the function to run, and then any arguments for that func‐
53555       tion. For example:
53556
53557          # /srv/reactor/cloud-alert.sls
53558          new_instance_alert:
53559            cmd.pagerduty.create_event:
53560              - tgt: alertserver
53561              - kwarg:
53562                  description: "New instance: {{ data['name'] }}"
53563                  details: "New cloud instance created on {{ data['provider'] }}"
53564                  service_key: 1626dead5ecafe46231e968eb1be29c4
53565                  profile: my-pagerduty-account
53566
53567       When the Event Reactor receives  an  event  notifying  it  that  a  new
53568       instance  has  been  created,  this  sls  will create a new incident in
53569       PagerDuty, using the configured PagerDuty account.
53570
53571       The declaration ID in this example is new_instance_alert. The  function
53572       called  is cmd.pagerduty.create_event. The cmd portion of this function
53573       specifies that an execution module and function will be called, in this
53574       case, the pagerduty.create_event function.
53575
53576       Because an execution module is specified, a target (tgt) must be speci‐
53577       fied on which to call the function.  In  this  case,  a  minion  called
53578       alertserver has been used. Any arguments passed through to the function
53579       are declared in the kwarg block.
53580
53581   Example: Reactor-Based Highstate
53582       When Salt Cloud creates an instance, by default  it  will  install  the
53583       Salt Minion onto the instance, along with any specified minion configu‐
53584       ration, and automatically accept that minion's keys on the master.  One
53585       of  the  configuration options that can be specified is startup_states,
53586       which is commonly set to highstate. This will tell the minion to  imme‐
53587       diately apply a highstate, as soon as it is able to do so.
53588
53589       This can present a problem with some system images on some cloud hosts.
53590       For instance, Salt Cloud can be configured to log in as either the root
53591       user,  or a user with sudo access. While some hosts commonly use images
53592       that lock out remote root access and require a user  with  sudo  privi‐
53593       leges  to  log  in (notably EC2, with their ec2-user login), most cloud
53594       hosts fall back to root as the default login on all  images,  including
53595       for  operating  systems (such as Ubuntu) which normally disallow remote
53596       root login.
53597
53598       For users of these operating systems, it is understandable that a high‐
53599       state  would  include  configuration to block remote root logins again.
53600       However, Salt Cloud may not have finished cleaning  up  its  deployment
53601       files  by  the  time  the  minion process has started, and kicked off a
53602       highstate run. Users have  reported  errors  from  Salt  Cloud  getting
53603       locked out while trying to clean up after itself.
53604
53605       The  goal  of  a startup state may be achieved using the Event Reactor.
53606       Because a minion fires an event when it is able  to  receive  commands,
53607       this  event  can effectively be used inside the reactor system instead.
53608       The following will point the reactor system to the right sls file:
53609
53610          reactor:
53611            - 'salt/cloud/*/created':
53612              - '/srv/reactor/startup_highstate.sls'
53613
53614       And the following sls file will start a highstate  run  on  the  target
53615       minion:
53616
53617          # /srv/reactor/startup_highstate.sls
53618          reactor_highstate:
53619            cmd.state.apply:
53620              - tgt: {{ data['name'] }}
53621
53622       Because  this  event  will not be fired until Salt Cloud has cleaned up
53623       after itself, the highstate run will not step on salt-cloud's toes. And
53624       because   every   file   on   the  minion  is  configurable,  including
53625       /etc/salt/minion, the startup_states can still be configured for future
53626       minion restarts, if desired.
53627

SALT PROXY MINION

53629       Proxy  minions  are  a developing Salt feature that enables controlling
53630       devices that, for whatever reason, cannot run a  standard  salt-minion.
53631       Examples  include  network  gear that has an API but runs a proprietary
53632       OS, devices with limited CPU or memory, or devices  that  could  run  a
53633       minion, but for security reasons, will not.
53634
53635       There are some proxy modules available, but if your device interface is
53636       not currently supported you will most likely have to write  the  inter‐
53637       face  yourself,  because  there  are an infinite number of controllable
53638       devices. Fortunately, this is only as difficult as the actual interface
53639       to  the  proxied  device.  Devices  that have an existing Python module
53640       (PyUSB for example) would be relatively simple to interface.   Code  to
53641       control  a device that has an HTML REST-based interface should be easy.
53642       Code to control your typical housecat would be excellent  source  mate‐
53643       rial for a PhD thesis.
53644
53645       Salt  proxy-minions  provide the 'plumbing' that allows device enumera‐
53646       tion and discovery, control, status, remote execution, and  state  man‐
53647       agement.
53648
53649       See  the  Proxy Minion Walkthrough for an end-to-end demonstration of a
53650       working REST-based proxy minion.
53651
53652       See the Proxy Minion SSH Walkthrough for an end-to-end demonstration of
53653       a working SSH proxy minion.
53654
53655       See Proxyminion States to configure and run salt-proxy on a remote min‐
53656       ion. Specify all your master side proxy (pillar) configuration and  use
53657       this state to remotely configure proxies on one or more minions.
53658
53659       See  Proxyminion  Beacon to help with easy configuration and management
53660       of salt-proxy processes.
53661
53662   New in 2017.7.0
53663       The proxy_merge_grains_in_module configuration variable  introduced  in
53664       2016.3, has been changed, defaulting to True.
53665
53666       The  connection  with  the remote device is kept alive by default, when
53667       the module implements the alive function and proxy_keep_alive is set to
53668       True.  The  polling interval is set using the proxy_keep_alive_interval
53669       option which defaults to 1 minute.
53670
53671       The developers are  also  able  to  use  the  proxy_always_alive,  when
53672       designing  a  proxy  module flexible enough to open the connection with
53673       the remote device only when required.
53674
53675   New in 2016.11.0
53676       Proxy minions now support configuration  files  with  names  ending  in
53677       '*.conf' and placed in /etc/salt/proxy.d.
53678
53679       Proxy   minions   can   now   be   configured   in  /etc/salt/proxy  or
53680       /etc/salt/proxy.d instead of just pillar.  Configuration format is  the
53681       same as it would be in pillar.
53682
53683   New in 2016.3
53684       The deprecated config option enumerate_proxy_minions has been removed.
53685
53686       As mentioned in earlier documentation, the add_proxymodule_to_opts con‐
53687       figuration variable defaults to False in this release.  This  means  if
53688       you  have proxymodules or other code looking in __opts__['proxymodule']
53689       you will need to set this variable in  your  /etc/salt/proxy  file,  or
53690       modify your code to use the __proxy__ injected variable.
53691
53692       The  __proxyenabled__  directive  now  only applies to grains and proxy
53693       modules themselves.  Standard execution modules and state  modules  are
53694       not prevented from loading for proxy minions.
53695
53696       Enhancements in grains processing have made the __proxyenabled__ direc‐
53697       tive somewhat redundant in dynamic grains code.  It is still  required,
53698       but  best  practices  for the __virtual__ function in grains files have
53699       changed.  It is now recommended that the __virtual__ functions check to
53700       make  sure  they  are  being  loaded for the correct proxytype, example
53701       below:
53702
53703          def __virtual__():
53704              '''
53705              Only work on proxy
53706              '''
53707              try:
53708                  if salt.utils.platform.is_proxy() and \
53709                     __opts__['proxy']['proxytype'] == 'ssh_sample':
53710                      return __virtualname__
53711              except KeyError:
53712                  pass
53713
53714              return False
53715
53716       The try/except block above exists because  grains  are  processed  very
53717       early  in  the proxy minion startup process, sometimes earlier than the
53718       proxy key in the __opts__ dictionary is populated.
53719
53720       Grains are loaded so early in startup that no dunder  dictionaries  are
53721       present, so __proxy__, __salt__, etc. are not available.  Custom grains
53722       located in /srv/salt/_grains and in the salt install  grains  directory
53723       can  now take a single argument, proxy, that is identical to __proxy__.
53724       This enables patterns like
53725
53726          def get_ip(proxy):
53727              '''
53728              Ask the remote device what IP it has
53729              '''
53730              return {'ip':proxy['proxymodulename.get_ip']()}
53731
53732       Then the grain ip will contain the result of calling the get_ip() func‐
53733       tion in the proxymodule called proxymodulename.
53734
53735       Proxy  modules  now  benefit  from including a function called initial‐
53736       ized().  This function should return True if the proxy's  init()  func‐
53737       tion  has been successfully called.  This is needed to make grains pro‐
53738       cessing easier.
53739
53740       Finally, if there is a function called grains in  the  proxymodule,  it
53741       will  be  executed  on  proxy-minion  startup  and its contents will be
53742       merged with the rest of the proxy's grains.  Since older  proxy-minions
53743       might  have  used  other  methods  to  call such a function and add its
53744       results to grains, this is config-gated by a  new  proxy  configuration
53745       option  called  proxy_merge_grains_in_module.  This defaults to True in
53746       the 2017.7.0 release.
53747
53748   New in 2015.8.2
53749       BREAKING CHANGE: Adding the proxymodule variable  to __opts__ is depre‐
53750       cated.  The proxymodule variable has been moved a new globally-injected
53751       variable called  __proxy__.   A  related  configuration  option  called
53752       add_proxymodule_to_opts  has  been  added and defaults to True.  In the
53753       next major release, 2016.3.0, this variable will default to False.
53754
53755       In the meantime, proxies that functioned under 2015.8.0 and  .1  should
53756       continue  to work under 2015.8.2.  You should rework your proxy code to
53757       use __proxy__ as soon as possible.
53758
53759       The rest_sample example proxy minion has been updated to use __proxy__.
53760
53761       This change was made because proxymodules are a LazyLoader object,  but
53762       LazyLoaders  cannot  be  serialized.   __opts__ gets serialized, and so
53763       things like saltutil.sync_all and state.highstate  would  throw  excep‐
53764       tions.
53765
53766       Support has been added to Salt's loader allowing custom proxymodules to
53767       be placed in salt://_proxy.  Proxy minions that need these modules will
53768       need  to  be restarted to pick up any changes.  A corresponding utility
53769       function, saltutil.sync_proxymodules, has been added to sync these mod‐
53770       ules to minions.
53771
53772       In  addition,  a salt.utils helper function called is_proxy() was added
53773       to make it easier to tell when the running minion is  a  proxy  minion.
53774       NOTE:  This  function was renamed to salt.utils.platform.is_proxy() for
53775       the 2018.3.0 release
53776
53777   New in 2015.8
53778       Starting with the 2015.8 release of Salt, proxy processes are no longer
53779       forked  off  from  a  controlling minion.  Instead, they have their own
53780       script salt-proxy which takes mostly the same arguments that the  stan‐
53781       dard  Salt  minion does with the addition of --proxyid.  This is the id
53782       that the salt-proxy will use to identify itself to the  master.   Proxy
53783       configurations  are  still best kept in Pillar and their format has not
53784       changed.
53785
53786       This change allows for better process control and logging.  Proxy  pro‐
53787       cesses can now be listed with standard process management utilities (ps
53788       from the command line).  Also, a full Salt minion is no longer required
53789       (though it is still strongly recommended) on machines hosting proxies.
53790
53791   Getting Started
53792       The  following diagram may be helpful in understanding the structure of
53793       a Salt installation that includes proxy-minions: [image]
53794
53795       The key thing to remember is the  left-most  section  of  the  diagram.
53796       Salt's  nature is to have a minion connect to a master, then the master
53797       may control the minion.  However, for proxy minions, the target  device
53798       cannot run a minion.
53799
53800       After  the  proxy minion is started and initiates its connection to the
53801       device, it connects back to the salt-master and  for  all  intents  and
53802       purposes looks like just another minion to the Salt master.
53803
53804       To create support for a proxied device one needs to create four things:
53805
53806       1. The proxy_connection_module (located in salt/proxy).
53807
53808       2. The grains support code (located in salt/grains).
53809
53810       3. Salt modules specific to the controlled device.
53811
53812       4. Salt states specific to the controlled device.
53813
53814   Configuration parameters
53815       Proxy minions require no configuration parameters in /etc/salt/master.
53816
53817       Salt's  Pillar  system  is ideally suited for configuring proxy-minions
53818       (though they can be configured in /etc/salt/proxy  as  well).   Proxies
53819       can  either be designated via a pillar file in pillar_roots, or through
53820       an external pillar.  External pillars afford the opportunity for inter‐
53821       facing  with  a  configuration  management  system,  database, or other
53822       knowledgeable system that that may already contain all the  details  of
53823       proxy targets.  To use static files in pillar_roots, pattern your files
53824       after the following examples, which are based on the diagram above:
53825
53826       /srv/pillar/top.sls
53827
53828          base:
53829            net-device1:
53830              - net-device1
53831            net-device2:
53832              - net-device2
53833            net-device3:
53834              - net-device3
53835            i2c-device4:
53836              - i2c-device4
53837            i2c-device5:
53838              - i2c-device5
53839            433wireless-device6:
53840              - 433wireless-device6
53841            smsgate-device7:
53842              - device7
53843
53844       /srv/pillar/net-device1.sls
53845
53846          proxy:
53847            proxytype: networkswitch
53848            host: 172.23.23.5
53849            username: root
53850            passwd: letmein
53851
53852       /srv/pillar/net-device2.sls
53853
53854          proxy:
53855            proxytype: networkswitch
53856            host: 172.23.23.6
53857            username: root
53858            passwd: letmein
53859
53860       /srv/pillar/net-device3.sls
53861
53862          proxy:
53863            proxytype: networkswitch
53864            host: 172.23.23.7
53865            username: root
53866            passwd: letmein
53867
53868       /srv/pillar/i2c-device4.sls
53869
53870          proxy:
53871            proxytype: i2c_lightshow
53872            i2c_address: 1
53873
53874       /srv/pillar/i2c-device5.sls
53875
53876          proxy:
53877            proxytype: i2c_lightshow
53878            i2c_address: 2
53879
53880       /srv/pillar/433wireless-device6.sls
53881
53882          proxy:
53883            proxytype: 433mhz_wireless
53884
53885       /srv/pillar/smsgate-device7.sls
53886
53887          proxy:
53888            proxytype: sms_serial
53889            deventry: /dev/tty04
53890
53891       Note the contents of each minioncontroller key may differ widely  based
53892       on the type of device that the proxy-minion is managing.
53893
53894       In the above example
53895
53896       · net-devices  1,  2, and 3 are network switches that have a management
53897         interface available at a particular IP address.
53898
53899       · i2c-devices 4 and 5 are very low-level devices controlled over an i2c
53900         bus.   In  this  case the devices are physically connected to machine
53901         'minioncontroller2', and are addressable on  the  i2c  bus  at  their
53902         respective i2c addresses.
53903
53904       · 433wireless-device6  is  a  433 MHz wireless transmitter, also physi‐
53905         cally connected to minioncontroller2
53906
53907       · smsgate-device7 is an SMS gateway  connected  to  machine  minioncon‐
53908         troller3 via a serial port.
53909
53910       Because  of the way pillar works, each of the salt-proxy processes that
53911       fork off the proxy minions will only see the keys specific to the prox‐
53912       ies it will be handling.
53913
53914       Proxies   can  be  configured  in  /etc/salt/proxy  or  with  files  in
53915       /etc/salt/proxy.d as of Salt's 2016.11.0 release.
53916
53917       Also, in general, proxy-minions are lightweight, so the  machines  that
53918       run  them  could conceivably control a large number of devices.  To run
53919       more than one proxy from a single machine, simply start  an  additional
53920       proxy  process with --proxyid set to the id to which you want the proxy
53921       to bind.  It is possible for the proxy services  to  be  spread  across
53922       many  machines if necessary, or intentionally run on machines that need
53923       to control devices because of some physical  interface  (e.g.  i2c  and
53924       serial  above).  Another reason to divide proxy services might be secu‐
53925       rity.  In more secure environments only certain  machines  may  have  a
53926       network path to certain devices.
53927
53928   Proxymodules
53929       A  proxy module encapsulates all the code necessary to interface with a
53930       device.  Proxymodules are located inside the salt.proxy module, or  can
53931       be  placed  in  the  _proxy  directory  in  your file_roots (default is
53932       /srv/salt/_proxy.  At a minimum a proxymodule object must implement the
53933       following functions:
53934
53935       __virtual__():  This  function  performs the same duty that it does for
53936       other types of Salt modules.  Logic goes here to determine if the  mod‐
53937       ule can be loaded, checking for the presence of Python modules on which
53938       the proxy depends.  Returning False will prevent the module from  load‐
53939       ing.
53940
53941       init(opts):  Perform any initialization that the device needs.  This is
53942       a good place to bring up  a  persistent  connection  to  a  device,  or
53943       authenticate to create a persistent authorization token.
53944
53945       initialized(): Returns True if init() was successfully called.
53946
53947       shutdown():  Code  to cleanly shut down or close a connection to a con‐
53948       trolled device goes here.  This function must exist,  but  can  contain
53949       only the keyword pass if there is no shutdown logic required.
53950
53951       ping(): While not required, it is highly recommended that this function
53952       also be defined in the proxymodule. The code for  ping  should  contact
53953       the controlled device and make sure it is really available.
53954
53955       alive(opts):  Another  optional  function, it is used together with the
53956       proxy_keep_alive option (default: True). This function should return  a
53957       boolean  value  corresponding  to  the state of the connection.  If the
53958       connection is down, will try to restart (shutdown  followed  by  init).
53959       The polling frequency is controlled using the proxy_keep_alive_interval
53960       option, in minutes.
53961
53962       grains(): Rather than including grains in /srv/salt/_grains or  in  the
53963       standard  install  directories  for  grains, grains can be computed and
53964       returned by this function.  This function will be called  automatically
53965       if  proxy_merge_grains_in_module  is  set  to  True in /etc/salt/proxy.
53966       This variable defaults to True in the release code-named 2017.7.0.
53967
53968       Pre 2015.8 the proxymodule also must have an id() function.  2015.8 and
53969       following don't use this function because the proxy's id is required on
53970       the command line.
53971
53972       Here is an example proxymodule used to interface to a very simple  REST
53973       server. Code for the server is in the salt-contrib GitHub repository.
53974
53975       This  proxymodule  enables  "service"  enumeration, starting, stopping,
53976       restarting, and status; "package" installation, and a ping.
53977
53978          # -*- coding: utf-8 -*-
53979          '''
53980          This is a simple proxy-minion designed to connect to and communicate with
53981          the bottle-based web service contained in https://github.com/saltstack/salt-contrib/tree/master/proxyminion_rest_example
53982          '''
53983          from __future__ import absolute_import
53984
53985          # Import python libs
53986          import logging
53987          import salt.utils.http
53988
53989          HAS_REST_EXAMPLE = True
53990
53991          # This must be present or the Salt loader won't load this module
53992          __proxyenabled__ = ['rest_sample']
53993
53994
53995          # Variables are scoped to this module so we can have persistent data
53996          # across calls to fns in here.
53997          GRAINS_CACHE = {}
53998          DETAILS = {}
53999
54000          # Want logging!
54001          log = logging.getLogger(__file__)
54002
54003
54004          # This does nothing, it's here just as an example and to provide a log
54005          # entry when the module is loaded.
54006          def __virtual__():
54007              '''
54008              Only return if all the modules are available
54009              '''
54010              log.debug('rest_sample proxy __virtual__() called...')
54011              return True
54012
54013
54014          def _complicated_function_that_determines_if_alive():
54015              return True
54016
54017          # Every proxy module needs an 'init', though you can
54018          # just put DETAILS['initialized'] = True here if nothing
54019          # else needs to be done.
54020
54021          def init(opts):
54022              log.debug('rest_sample proxy init() called...')
54023              DETAILS['initialized'] = True
54024
54025              # Save the REST URL
54026              DETAILS['url'] = opts['proxy']['url']
54027
54028              # Make sure the REST URL ends with a '/'
54029              if not DETAILS['url'].endswith('/'):
54030                  DETAILS['url'] += '/'
54031
54032          def alive(opts):
54033              '''
54034              This function returns a flag with the connection state.
54035              It is very useful when the proxy minion establishes the communication
54036              via a channel that requires a more elaborated keep-alive mechanism, e.g.
54037              NETCONF over SSH.
54038              '''
54039              log.debug('rest_sample proxy alive() called...')
54040              return _complicated_function_that_determines_if_alive()
54041
54042
54043          def initialized():
54044              '''
54045              Since grains are loaded in many different places and some of those
54046              places occur before the proxy can be initialized, return whether
54047              our init() function has been called
54048              '''
54049              return DETAILS.get('initialized', False)
54050
54051
54052          def grains():
54053              '''
54054              Get the grains from the proxied device
54055              '''
54056              if not DETAILS.get('grains_cache', {}):
54057                  r = salt.utils.http.query(DETAILS['url']+'info', decode_type='json', decode=True)
54058                  DETAILS['grains_cache'] = r['dict']
54059              return DETAILS['grains_cache']
54060
54061
54062          def grains_refresh():
54063              '''
54064              Refresh the grains from the proxied device
54065              '''
54066              DETAILS['grains_cache'] = None
54067              return grains()
54068
54069
54070          def fns():
54071              return {'details': 'This key is here because a function in '
54072                                'grains/rest_sample.py called fns() here in the proxymodule.'}
54073
54074
54075          def service_start(name):
54076              '''
54077              Start a "service" on the REST server
54078              '''
54079              r = salt.utils.http.query(DETAILS['url']+'service/start/'+name, decode_type='json', decode=True)
54080              return r['dict']
54081
54082
54083          def service_stop(name):
54084              '''
54085              Stop a "service" on the REST server
54086              '''
54087              r = salt.utils.http.query(DETAILS['url']+'service/stop/'+name, decode_type='json', decode=True)
54088              return r['dict']
54089
54090
54091          def service_restart(name):
54092              '''
54093              Restart a "service" on the REST server
54094              '''
54095              r = salt.utils.http.query(DETAILS['url']+'service/restart/'+name, decode_type='json', decode=True)
54096              return r['dict']
54097
54098
54099          def service_list():
54100              '''
54101              List "services" on the REST server
54102              '''
54103              r = salt.utils.http.query(DETAILS['url']+'service/list', decode_type='json', decode=True)
54104              return r['dict']
54105
54106
54107          def service_status(name):
54108              '''
54109              Check if a service is running on the REST server
54110              '''
54111              r = salt.utils.http.query(DETAILS['url']+'service/status/'+name, decode_type='json', decode=True)
54112              return r['dict']
54113
54114
54115          def package_list():
54116              '''
54117              List "packages" installed on the REST server
54118              '''
54119              r = salt.utils.http.query(DETAILS['url']+'package/list', decode_type='json', decode=True)
54120              return r['dict']
54121
54122
54123          def package_install(name, **kwargs):
54124              '''
54125              Install a "package" on the REST server
54126              '''
54127              cmd = DETAILS['url']+'package/install/'+name
54128              if kwargs.get('version', False):
54129                  cmd += '/'+kwargs['version']
54130              else:
54131                  cmd += '/1.0'
54132              r = salt.utils.http.query(cmd, decode_type='json', decode=True)
54133              return r['dict']
54134
54135
54136          def fix_outage():
54137              r = salt.utils.http.query(DETAILS['url']+'fix_outage')
54138              return r
54139
54140
54141          def uptodate(name):
54142
54143              '''
54144              Call the REST endpoint to see if the packages on the "server" are up to date.
54145              '''
54146              r = salt.utils.http.query(DETAILS['url']+'package/remove/'+name, decode_type='json', decode=True)
54147              return r['dict']
54148
54149
54150          def package_remove(name):
54151
54152              '''
54153              Remove a "package" on the REST server
54154              '''
54155              r = salt.utils.http.query(DETAILS['url']+'package/remove/'+name, decode_type='json', decode=True)
54156              return r['dict']
54157
54158
54159          def package_status(name):
54160              '''
54161              Check the installation status of a package on the REST server
54162              '''
54163              r = salt.utils.http.query(DETAILS['url']+'package/status/'+name, decode_type='json', decode=True)
54164              return r['dict']
54165
54166
54167          def ping():
54168              '''
54169              Is the REST server up?
54170              '''
54171              r = salt.utils.http.query(DETAILS['url']+'ping', decode_type='json', decode=True)
54172              try:
54173                  return r['dict'].get('ret', False)
54174              except Exception:
54175                  return False
54176
54177
54178          def shutdown(opts):
54179              '''
54180              For this proxy shutdown is a no-op
54181              '''
54182              log.debug('rest_sample proxy shutdown() called...')
54183
54184       Grains are data about minions.  Most proxied devices will have a paltry
54185       amount  of  data  as compared to a typical Linux server.  By default, a
54186       proxy minion will have several grains taken from the host.   Salt  core
54187       code  requires  values  for kernel, os, and os_family--all of these are
54188       forced to be proxy for proxy-minions.
54189
54190       To add others to your proxy minion for a particular  device,  create  a
54191       file  in  salt/grains named [proxytype].py and place inside it the dif‐
54192       ferent functions that need to be run to collect the data you are inter‐
54193       ested   in.   Here's  an  example.   Note  the  function  below  called
54194       proxy_functions.  It demonstrates how a grains function can take a sin‐
54195       gle  argument,  which  will  be  set to the value of __proxy__.  Dunder
54196       variables are not yet injected into Salt processes at the  time  grains
54197       are loaded, so this enables us to get a handle to the proxymodule so we
54198       can cross-call the functions therein used to commmunicate with the con‐
54199       trolled device.
54200
54201       Note that as of 2016.3, grains values can also be calculated in a func‐
54202       tion called grains() in the proxymodule itself.  This might  be  useful
54203       if a proxymodule author wants to keep all the code for the proxy inter‐
54204       face in the same place instead of splitting it between  the  proxy  and
54205       grains directories.
54206
54207       This  function  will  only be called automatically if the configuration
54208       variable proxy_merge_grains_in_module is set to True in the proxy  con‐
54209       figuration  file  (default /etc/salt/proxy).  This variable defaults to
54210       True in the release code-named 2017.7.0.
54211
54212   The __proxyenabled__ directive
54213       In previous versions of Salt the __proxyenabled__ directive  controlled
54214       loading  of  all  Salt modules for proxies (e.g. grains, execution mod‐
54215       ules, state modules).  From 2016.3 on, the only  modules  that  respect
54216       __proxyenabled__  are  grains and proxy modules.  These modules need to
54217       be told which proxy they work with.
54218
54219       __proxyenabled__ is a list, and can contain a single '*' to indicate  a
54220       grains module works with all proxies.
54221
54222       Example from salt/grains/rest_sample.py:
54223
54224          # -*- coding: utf-8 -*-
54225          '''
54226          Generate baseline proxy minion grains
54227          '''
54228          from __future__ import absolute_import
54229          import salt.utils.platform
54230
54231          __proxyenabled__ = ['rest_sample']
54232
54233          __virtualname__ = 'rest_sample'
54234
54235          def __virtual__():
54236              try:
54237                  if salt.utils.platform.is_proxy() and __opts__['proxy']['proxytype'] == 'rest_sample':
54238                      return __virtualname__
54239              except KeyError:
54240                  pass
54241
54242              return False
54243
54244   Salt Proxy Minion End-to-End Example
54245       The  following  is  walkthrough that documents how to run a sample REST
54246       service and configure one or more proxy minions to talk to and  control
54247       it.
54248
54249       1. Ideally,  create  a  Python virtualenv in which to run the REST ser‐
54250          vice.  This is not strictly required, but without a  virtualenv  you
54251          will need to install bottle via pip globally on your system
54252
54253       2. Clone  https://github.com/saltstack/salt-contrib  and  copy the con‐
54254          tents of  the  directory  proxyminion_rest_example  somewhere  on  a
54255          machine  that is reachable from the machine on which you want to run
54256          the salt-proxy.  This machine needs Python 2.7 or later.
54257
54258       3. Install bottle version 0.12.8 via pip or easy_install
54259
54260          pip install bottle==0.12.8
54261
54262       4. Run python rest.py --help for usage
54263
54264       5. Start the REST API on an appropriate port and IP.
54265
54266       6. Load the REST service's status page in your browser by going to  the
54267          IP/port combination (e.g. http://127.0.0.1:8000)
54268
54269       7. You  should  see  a  page entitled "Salt Proxy Minion" with two sec‐
54270          tions, one for "services" and one for "packages" and you should  see
54271          a log entry in the terminal where you started the REST process indi‐
54272          cating that the index page was retrieved.
54273       [image]
54274
54275       Now, configure your salt-proxy.
54276
54277       1. Edit /etc/salt/proxy and add an entry for your master's location
54278
54279          master: localhost
54280
54281       2. On your salt-master, ensure  that  pillar  is  configured  properly.
54282          Select  an ID for your proxy (in this example we will name the proxy
54283          with the letter 'p' followed by the port the proxy is answering on).
54284          In your pillar topfile, place an entry for your proxy:
54285
54286          base:
54287            'p8000':
54288              - p8000
54289
54290       This  says  that  Salt's  pillar  should load some values for the proxy
54291       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
54292       default pillar_roots)
54293
54294       3. In  the  pillar root for your base environment, create the p8000.sls
54295          file with the following contents:
54296
54297          proxy:
54298            proxytype: rest_sample
54299            url: http://<IP your REST listens on>:port
54300
54301       In other words, if your REST service  is  listening  on  port  8000  on
54302       127.0.0.1 the 'url' key above should say url: http://127.0.0.1:8000
54303
54304       4. Make sure your salt-master is running.
54305
54306       5. Start the salt-proxy in debug mode
54307
54308          salt-proxy --proxyid=p8000 -l debug
54309
54310       6. Accept your proxy's key on your salt-master
54311
54312          salt-key -y -a p8000
54313          The following keys are going to be accepted:
54314          Unaccepted Keys:
54315          p8000
54316          Key for minion p8000 accepted.
54317
54318       7. Now  you  should  be  able  to  ping your proxy.  When you ping, you
54319          should see a log entry in the terminal where  the  REST  service  is
54320          running.
54321
54322          salt p8000 test.version
54323
54324       8. The  REST  service  implements a degenerately simple pkg and service
54325          provider as well as a small set of grains.  To "install" a  package,
54326          use  a standard pkg.install.  If you pass '==' and a verrsion number
54327          after the package name then the service will parse that  and  accept
54328          that as the package's version.
54329
54330       9. Try  running  salt  p8000 grains.items to see what grains are avail‐
54331          able.  You can target proxies via grains if you like.
54332
54333       10.
54334          You can also start and stop the available services (apache, redbull,
54335          and postgresql with service.start, etc.
54336
54337       11.
54338          States  can be written to target the proxy.  Feel free to experiment
54339          with them.
54340
54341   SSH Proxymodules
54342       See above for a general introduction to writing proxy modules.  All  of
54343       the  guidelines that apply to REST are the same for SSH.  This sections
54344       specifically talks about the SSH proxy module and explains the  working
54345       of the example proxy module ssh_sample.
54346
54347       Here is a simple example proxymodule used to interface to a device over
54348       SSH.  Code for the SSH shell is in the salt-contrib GitHub repository.
54349
54350       This proxymodule enables "package" installation.
54351
54352          # -*- coding: utf-8 -*-
54353          '''
54354          This is a simple proxy-minion designed to connect to and communicate with
54355          a server that exposes functionality via SSH.
54356          This can be used as an option when the device does not provide
54357          an api over HTTP and doesn't have the python stack to run a minion.
54358          '''
54359          from __future__ import absolute_import
54360
54361          # Import python libs
54362          import salt.utils.json
54363          import logging
54364
54365          # Import Salt's libs
54366          from salt.utils.vt_helper import SSHConnection
54367          from salt.utils.vt import TerminalException
54368
54369          # This must be present or the Salt loader won't load this module
54370          __proxyenabled__ = ['ssh_sample']
54371
54372          DETAILS = {}
54373
54374          # Want logging!
54375          log = logging.getLogger(__file__)
54376
54377
54378          # This does nothing, it's here just as an example and to provide a log
54379          # entry when the module is loaded.
54380          def __virtual__():
54381              '''
54382              Only return if all the modules are available
54383              '''
54384              log.info('ssh_sample proxy __virtual__() called...')
54385
54386              return True
54387
54388
54389          def init(opts):
54390              '''
54391              Required.
54392              Can be used to initialize the server connection.
54393              '''
54394              try:
54395                  DETAILS['server'] = SSHConnection(host=__opts__['proxy']['host'],
54396                                                    username=__opts__['proxy']['username'],
54397                                                    password=__opts__['proxy']['password'])
54398                  # connected to the SSH server
54399                  out, err = DETAILS['server'].sendline('help')
54400
54401              except TerminalException as e:
54402                  log.error(e)
54403                  return False
54404
54405
54406          def shutdown(opts):
54407              '''
54408              Disconnect
54409              '''
54410              DETAILS['server'].close_connection()
54411
54412
54413          def parse(out):
54414              '''
54415              Extract json from out.
54416
54417              Parameter
54418                  out: Type string. The data returned by the
54419                  ssh command.
54420              '''
54421              jsonret = []
54422              in_json = False
54423              for ln_ in out.split('\n'):
54424                  if '{' in ln_:
54425                      in_json = True
54426                  if in_json:
54427                      jsonret.append(ln_)
54428                  if '}' in ln_:
54429                      in_json = False
54430              return salt.utils.json.loads('\n'.join(jsonret))
54431
54432
54433          def package_list():
54434              '''
54435              List "packages" by executing a command via ssh
54436              This function is called in response to the salt command
54437
54438              ..code-block::bash
54439                  salt target_minion pkg.list_pkgs
54440
54441              '''
54442              # Send the command to execute
54443              out, err = DETAILS['server'].sendline('pkg_list')
54444
54445              # "scrape" the output and return the right fields as a dict
54446              return parse(out)
54447
54448
54449          def package_install(name, **kwargs):
54450              '''
54451              Install a "package" on the REST server
54452              '''
54453              cmd = 'pkg_install ' + name
54454              if 'version' in kwargs:
54455                  cmd += '/'+kwargs['version']
54456              else:
54457                  cmd += '/1.0'
54458
54459              # Send the command to execute
54460              out, err = DETAILS['server'].sendline(cmd)
54461
54462              # "scrape" the output and return the right fields as a dict
54463              return parse(out)
54464
54465
54466          def package_remove(name):
54467              '''
54468              Remove a "package" on the REST server
54469              '''
54470              cmd = 'pkg_remove ' + name
54471
54472              # Send the command to execute
54473              out, err = DETAILS['server'].sendline(cmd)
54474
54475              # "scrape" the output and return the right fields as a dict
54476              return parse(out)
54477
54478   Connection Setup
54479       The init() method is responsible for  connection  setup.  It  uses  the
54480       host,  username  and  password  config  variables defined in the pillar
54481       data. The prompt kwarg can be  passed  to  SSHConnection  if  your  SSH
54482       server's  prompt differs from the example's prompt (Cmd). Instantiating
54483       the SSHConnection class establishes an SSH connection to the ssh server
54484       (using Salt VT).
54485
54486   Command execution
54487       The package_* methods use the SSH connection (established in init()) to
54488       send commands out to the SSH server. The sendline() method  of  SSHCon‐
54489       nection  class  can  be used to send commands out to the server. In the
54490       above example we send commands like pkg_list or  pkg_install.  You  can
54491       send any SSH command via this utility.
54492
54493   Output parsing
54494       Output  returned  by  sendline() is a tuple of strings representing the
54495       stdout and the stderr respectively. In the toy example shown we  simply
54496       scrape  the  output  and convert it to a python dictionary, as shown in
54497       the parse method. You can tailor this  method  to  match  your  parsing
54498       logic.
54499
54500   Connection teardown
54501       The  shutdown  method is responsible for calling the close_connection()
54502       method of SSHConnection class. This ends  the  SSH  connection  to  the
54503       server.
54504
54505       For more information please refer to class SSHConnection.
54506
54507   Salt Proxy Minion SSH End-to-End Example
54508       The  following  is  walkthrough  that documents how to run a sample SSH
54509       service and configure one or more proxy minions to talk to and  control
54510       it.
54511
54512       1. This  walkthrough  uses  a custom SSH shell to provide an end to end
54513          example.  Any other shells can be used too.
54514
54515       2. Setup      the      proxy      command      shell      as      shown
54516          https://github.com/saltstack/salt-contrib/tree/master/proxyminion_ssh_example
54517
54518       Now, configure your salt-proxy.
54519
54520       1. Edit /etc/salt/proxy and add an entry for your master's location
54521
54522          master: localhost
54523          multiprocessing: False
54524
54525       2. On your salt-master, ensure  that  pillar  is  configured  properly.
54526          Select  an ID for your proxy (in this example we will name the proxy
54527          with the letter 'p' followed by the port the proxy is answering on).
54528          In your pillar topfile, place an entry for your proxy:
54529
54530          base:
54531            'p8000':
54532              - p8000
54533
54534       This  says  that  Salt's  pillar  should load some values for the proxy
54535       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
54536       default pillar_roots)
54537
54538       3. In  the  pillar root for your base environment, create the p8000.sls
54539          file with the following contents:
54540
54541          proxy:
54542            proxytype: ssh_sample
54543            host: saltyVM
54544            username: salt
54545            password: badpass
54546
54547       4. Make sure your salt-master is running.
54548
54549       5. Start the salt-proxy in debug mode
54550
54551          salt-proxy --proxyid=p8000 -l debug
54552
54553       6. Accept your proxy's key on your salt-master
54554
54555          salt-key -y -a p8000
54556          The following keys are going to be accepted:
54557          Unaccepted Keys:
54558          p8000
54559          Key for minion p8000 accepted.
54560
54561       7. Now you should be able to run commands on your proxy.
54562
54563          salt p8000 pkg.list_pkgs
54564
54565       8. The SSH shell implements a degenerately simple pkg.  To "install"  a
54566          package,  use  a standard pkg.install.  If you pass '==' and a verr‐
54567          sion number after the package name then the service will parse  that
54568          and accept that as the package's version.
54569       New in version 2015.8.3.
54570
54571
54572   Proxy Minion Beacon
54573       The salt proxy beacon is meant to facilitate configuring multiple prox‐
54574       ies on one or many minions. This should simplify configuring and manag‐
54575       ing multiple salt-proxy processes.
54576
54577       1. On  your  salt-master,  ensure  that  pillar is configured properly.
54578          Select an ID for your proxy (in this example we will name the  proxy
54579          'p8000').  In your pillar topfile, place an entry for your proxy:
54580
54581          base:
54582            'p8000':
54583              - p8000
54584
54585       This  says  that  Salt's  pillar  should load some values for the proxy
54586       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
54587       default pillar_roots)
54588
54589       2. In  the  pillar root for your base environment, create the p8000.sls
54590          file with the following contents:
54591
54592          proxy:
54593            # set proxytype for your proxymodule
54594            proxytype: ssh_sample
54595            host: saltyVM
54596            username: salt
54597            password: badpass
54598
54599       This should complete the proxy setup for p8000
54600
54601       3. Configure the salt_proxy beacon
54602
54603          beacons:
54604            salt_proxy:
54605              - proxies:
54606                  p8000: {}
54607                  p8001: {}
54608
54609       Once  this  beacon  is  configured  it  will  automatically  start  the
54610       salt-proxy  process. If the salt-proxy process is terminated the beacon
54611       will re-start it.
54612
54613       4. Accept your proxy's key on your salt-master
54614
54615          salt-key -y -a p8000
54616          The following keys are going to be accepted:
54617          Unaccepted Keys:
54618          p8000
54619          Key for minion p8000 accepted.
54620
54621       5. Now you should be able to run commands on your proxy.
54622
54623          salt p8000 pkg.list_pkgs
54624       New in version 2015.8.2.
54625
54626
54627   Proxy Minion States
54628       Salt proxy state can be used to deploy, configure and run a  salt-proxy
54629       instance  on  your  minion. Configure proxy settings on the master side
54630       and the state configures and runs salt-proxy on the remote end.
54631
54632       1. On your salt-master, ensure  that  pillar  is  configured  properly.
54633          Select  an ID for your proxy (in this example we will name the proxy
54634          'p8000').  In your pillar topfile, place an entry for your proxy:
54635
54636          base:
54637            'p8000':
54638              - p8000
54639
54640       This says that Salt's pillar should load  some  values  for  the  proxy
54641       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
54642       default pillar_roots)
54643
54644       2. In the pillar root for your base environment, create  the  p8000.sls
54645          file with the following contents:
54646
54647          proxy:
54648            # set proxytype for your proxymodule
54649            proxytype: ssh_sample
54650            host: saltyVM
54651            username: salt
54652            password: badpass
54653
54654       3. Create  the  following  state  in  your  state  tree  (let's name it
54655          salt_proxy.sls)
54656
54657          salt-proxy-configure:
54658            salt_proxy.configure_proxy:
54659              - proxyname: p8000
54660              - start: True # start the process if it isn't running
54661
54662       4. Make sure your salt-master and salt-minion are running.
54663
54664       5. Run the state salt_proxy  on  the  minion  where  you  want  to  run
54665          salt-proxy
54666
54667       Example using state.sls to configure and run salt-proxy
54668
54669          # salt device_minion state.sls salt_proxy
54670
54671       This starts salt-proxy on device_minion
54672
54673       6. Accept your proxy's key on your salt-master
54674
54675          salt-key -y -a p8000
54676          The following keys are going to be accepted:
54677          Unaccepted Keys:
54678          p8000
54679          Key for minion p8000 accepted.
54680
54681       7. Now you should be able to run commands on your proxy.
54682
54683          salt p8000 pkg.list_pkgs
54684

NETWORK AUTOMATION

54686       Network automation is a continuous process of automating the configura‐
54687       tion, management and operations of a  computer  network.  Although  the
54688       abstraction  could  be compared with the operations on the server side,
54689       there are many particular challenges, the most important being  that  a
54690       network device is traditionally closed hardware able to run proprietary
54691       software only. In other words, the user is  not  able  to  install  the
54692       salt-minion package directly on a traditional network device. For these
54693       reasons, most network devices can be controlled only remotely via proxy
54694       minions  or using the Salt SSH. However, there are also vendors produc‐
54695       ing whitebox equipment (e.g. Arista, Cumulus) or others that have moved
54696       the operating system in the container (e.g. Cisco NX-OS, Cisco IOS-XR),
54697       allowing the salt-minion to be installed directly on the platform.
54698
54699   New in Carbon (2016.11)
54700       The methodologies  for  network  automation  have  been  introduced  in
54701       2016.11.0. Network automation support is based on proxy minions.
54702
54703       · NAPALM proxy
54704
54705       · Junos proxy
54706
54707       · Cisco NXOS
54708
54709       · Cisco NOS
54710
54711   NAPALM
54712       NAPALM  (Network  Automation and Programmability Abstraction Layer with
54713       Multivendor support) is an opensourced Python library that implements a
54714       set of functions to interact with different router vendor devices using
54715       a unified API.  Being vendor-agnostic  simplifies  operations,  as  the
54716       configuration  and interaction with the network device does not rely on
54717       a particular vendor.  [image]
54718
54719       Beginning with 2017.7.0, the NAPALM modules have  been  transformed  so
54720       they  can  run  in  both  proxy and regular minions. That means, if the
54721       operating system allows,  the  salt-minion  package  can  be  installed
54722       directly  on the network gear.  The interface between the network oper‐
54723       ating system and Salt in that case would be  the  corresponding  NAPALM
54724       sub-package.
54725
54726       For  example,  if the user installs the salt-minion on a Arista switch,
54727       the only requirement is napalm-eos.
54728
54729       The following modules are available in 2017.7.0:
54730
54731       · NAPALM grains
54732
54733       · NET execution module - Networking basic features
54734
54735       · NTP execution module
54736
54737       · BGP execution module
54738
54739       · Routes execution module
54740
54741       · SNMP execution module
54742
54743       · Users execution module
54744
54745       · Probes execution module
54746
54747       · NTP peers management state
54748
54749       · SNMP configuration management state
54750
54751       · Users management state
54752
54753       · Netconfig state module - Manage the configuration of network  devices
54754         using  arbitrary  templates and the Salt-specific advanced templating
54755         methodologies.
54756
54757       · Network ACL execution module - Generate and load ACL (firewall)  con‐
54758         figuration on network devices.
54759
54760       · Network  ACL  state  -  Manage  the  firewall  configuration. It only
54761         requires writing the pillar structure correctly!
54762
54763       · NAPALM YANG execution module - Parse, generate and load native device
54764         configuration  in  a  standard way, using the OpenConfig/IETF models.
54765         This module contains also helpers for the states.
54766
54767       · NAPALM YANG state module - Manage the  network  device  configuration
54768         according to the YANG models (OpenConfig or IETF).
54769
54770       · NET  finder  -  Runner  to  find  details easily and fast. It's smart
54771         enough to know what you are  looking  for.  It  will  search  in  the
54772         details  of the network interfaces, IP addresses, MAC address tables,
54773         ARP tables and LLDP neighbors.
54774
54775       · BGP finder - Runner to search BGP neighbors details.
54776
54777       · NAPALM syslog - Engine to import events from the napalm-logs  library
54778         into  the Salt event bus. The events are based on the syslog messages
54779         from the network devices and structured following the OpenConfig/IETF
54780         YANG models.
54781
54782       · NAPALM  Helpers  - Generic helpers for NAPALM-related operations. For
54783         example, the Compliance report function can be used inside the  state
54784         modules to compare the expected and the existing configuration.
54785
54786   Getting started
54787       Install  NAPALM  -  follow  the  notes  and check the platform-specific
54788       dependencies.
54789
54790       Salt's Pillar system is ideally suited  for  configuring  proxy-minions
54791       (though  they  can  be configured in /etc/salt/proxy as well).  Proxies
54792       can either be designated via a pillar file in pillar_roots, or  through
54793       an external pillar.  External pillars afford the opportunity for inter‐
54794       facing with a  configuration  management  system,  database,  or  other
54795       knowledgeable  system that may already contain all the details of proxy
54796       targets. To use static files in pillar_roots, pattern your files  after
54797       the following examples:
54798
54799       /etc/salt/pillar/top.sls
54800
54801          base:
54802            router1:
54803              - router1
54804            router2:
54805              - router2
54806            switch1:
54807              - switch1
54808            switch2:
54809              - switch2
54810            cpe1:
54811              - cpe1
54812
54813       /etc/salt/pillar/router1.sls
54814
54815          proxy:
54816            proxytype: napalm
54817            driver: junos
54818            host: r1.bbone.as1234.net
54819            username: my_username
54820            password: my_password
54821
54822       /etc/salt/pillar/router2.sls
54823
54824          proxy:
54825            proxytype: napalm
54826            driver: iosxr
54827            host: r2.bbone.as1234.net
54828            username: my_username
54829            password: my_password
54830            optional_args:
54831              port: 22022
54832
54833       /etc/salt/pillar/switch1.sls
54834
54835          proxy:
54836            proxytype: napalm
54837            driver: eos
54838            host: sw1.bbone.as1234.net
54839            username: my_username
54840            password: my_password
54841            optional_args:
54842              enable_password: my_secret
54843
54844       /etc/salt/pillar/switch2.sls
54845
54846          proxy:
54847            proxytype: napalm
54848            driver: nxos
54849            host: sw2.bbone.as1234.net
54850            username: my_username
54851            password: my_password
54852
54853       /etc/salt/pillar/cpe1.sls
54854
54855          proxy:
54856            proxytype: napalm
54857            driver: ios
54858            host: cpe1.edge.as1234.net
54859            username: ''
54860            password: ''
54861            optional_args:
54862              use_keys: True
54863              auto_rollback_on_error: True
54864
54865   CLI examples
54866       Display the complete running configuration on router1:
54867
54868          $ sudo salt 'router1' net.config source='running'
54869
54870       Retrieve the NTP servers configured on all devices:
54871
54872          $ sudo salt '*' ntp.servers
54873          router1:
54874            ----------
54875            comment:
54876            out:
54877                - 1.2.3.4
54878            result:
54879                True
54880          cpe1:
54881            ----------
54882            comment:
54883            out:
54884                - 1.2.3.4
54885            result:
54886                True
54887          switch2:
54888            ----------
54889            comment:
54890            out:
54891                - 1.2.3.4
54892            result:
54893                True
54894          router2:
54895            ----------
54896            comment:
54897            out:
54898                - 1.2.3.4
54899            result:
54900                True
54901          switch1:
54902            ----------
54903            comment:
54904            out:
54905                - 1.2.3.4
54906            result:
54907                True
54908
54909       Display the ARP tables on all Cisco devices running IOS-XR 5.3.3:
54910
54911          $ sudo salt -G 'os:iosxr and version:5.3.3' net.arp
54912
54913       Return operational details for interfaces from Arista switches:
54914
54915          $ sudo salt -C 'sw* and os:eos' net.interfaces
54916
54917       Execute traceroute from the edge of the network:
54918
54919          $ sudo salt 'router*' net.traceroute 8.8.8.8 vrf='CUSTOMER1-VRF'
54920
54921       Verbatim display from the CLI of Juniper routers:
54922
54923          $ sudo salt -C 'router* and G@os:junos' net.cli 'show version and haiku'
54924
54925       Retrieve  the  results  of  the  RPM probes configured on Juniper MX960
54926       routers:
54927
54928          $ sudo salt -C 'router* and G@os:junos and G@model:MX960' probes.results
54929
54930       Return the list of configured users on the CPEs:
54931
54932          $ sudo salt 'cpe*' users.config
54933
54934       Using the BGP finder, return the list of BGP neighbors that are down:
54935
54936          $ sudo salt-run bgp.neighbors up=False
54937
54938       Using the NET finder, determine  the  devices  containing  the  pattern
54939       "PX-1234-LHR" in their interface description:
54940
54941          $ sudo salt-run net.find PX-1234-LHR
54942
54943   Cross-platform configuration management example: NTP
54944       Assuming that the user adds the following two lines under file_roots:
54945
54946          file_roots:
54947            base:
54948              - /etc/salt/pillar/
54949              - /etc/salt/templates/
54950              - /etc/salt/states/
54951
54952       Define the list of NTP peers and servers wanted:
54953
54954       /etc/salt/pillar/ntp.sls
54955
54956          ntp.servers:
54957            - 1.2.3.4
54958            - 5.6.7.8
54959          ntp.peers:
54960             - 10.11.12.13
54961             - 14.15.16.17
54962
54963       Include  the  new  file:  for  example, if we want to have the same NTP
54964       servers on all network devices, we can add the  following  line  inside
54965       the top.sls file:
54966
54967          '*':
54968            - ntp
54969
54970       /etc/salt/pillar/top.sls
54971
54972          base:
54973            '*':
54974              - ntp
54975            router1:
54976              - router1
54977            router2:
54978              - router2
54979            switch1:
54980              - switch1
54981            switch2:
54982              - switch2
54983            cpe1:
54984              - cpe1
54985
54986       Or include only where needed:
54987
54988       /etc/salt/pillar/top.sls
54989
54990          base:
54991            router1:
54992              - router1
54993              - ntp
54994            router2:
54995              - router2
54996              - ntp
54997            switch1:
54998              - switch1
54999            switch2:
55000              - switch2
55001            cpe1:
55002              - cpe1
55003
55004       Define the cross-vendor template:
55005
55006       /etc/salt/templates/ntp.jinja
55007
55008          {%- if grains.vendor|lower == 'cisco' %}
55009            no ntp
55010            {%- for server in servers %}
55011            ntp server {{ server }}
55012            {%- endfor %}
55013            {%- for peer in peers %}
55014            ntp peer {{ peer }}
55015            {%- endfor %}
55016          {%- elif grains.os|lower == 'junos' %}
55017            system {
55018              replace:
55019              ntp {
55020                {%- for server in servers %}
55021                server {{ server }};
55022                {%- endfor %}
55023                {%- for peer in peers %}
55024                peer {{ peer }};
55025                {%- endfor %}
55026              }
55027            }
55028          {%- endif %}
55029
55030       Define the SLS state file, making use of the Netconfig state module:
55031
55032       /etc/salt/states/router/ntp.sls
55033
55034          ntp_config_example:
55035            netconfig.managed:
55036              - template_name: salt://ntp.jinja
55037              - peers: {{ pillar.get('ntp.peers', []) | json }}
55038              - servers: {{ pillar.get('ntp.servers', []) | json }}
55039
55040       Run  the  state  and  assure  NTP configuration consistency across your
55041       multi-vendor network:
55042
55043          $ sudo salt 'router*' state.sls router.ntp
55044
55045       Besides CLI, the state can be scheduled or executed when triggered by a
55046       certain event.
55047
55048   JUNOS
55049       Juniper  has  developed  a  Junos  specific  proxy infrastructure which
55050       allows remote execution and configuration management of  Junos  devices
55051       without  having  to install SaltStack on the device. The infrastructure
55052       includes:
55053
55054       · Junos proxy
55055
55056       · Junos execution module
55057
55058       · Junos state module
55059
55060       · Junos syslog engine
55061
55062       The execution  and  state  modules  are  implemented  using  junos-eznc
55063       (PyEZ).   Junos PyEZ is a microframework for Python that enables you to
55064       remotely manage and automate devices running the Junos  operating  sys‐
55065       tem.
55066
55067   Getting started
55068       Install  PyEZ  on the system which will run the Junos proxy minion.  It
55069       is required to run Junos specific modules.
55070
55071          pip install junos-eznc
55072
55073       Next, set the master of the proxy minions.
55074
55075       /etc/salt/proxy
55076
55077          master: <master_ip>
55078
55079       Add the details of the Junos device. Device details are usually  stored
55080       in  salt  pillars.  If  the you do not wish to store credentials in the
55081       pillar, one can setup passwordless ssh.
55082
55083       /srv/pillar/vmx_details.sls
55084
55085          proxy:
55086            proxytype: junos
55087            host: <hostip>
55088            username: user
55089            passwd: secret123
55090
55091       Map the pillar file to the proxy minion. This is done in the top file.
55092
55093       /srv/pillar/top.sls
55094
55095          base:
55096            vmx:
55097              - vmx_details
55098
55099       NOTE:
55100          Before starting the Junos proxy make sure that netconf is enabled on
55101          the  Junos device. This can be done by adding the following configu‐
55102          ration on the Junos device.
55103
55104              set system services netconf ssh
55105
55106       Start the salt master.
55107
55108          salt-master -l debug
55109
55110       Then start the salt proxy.
55111
55112          salt-proxy --proxyid=vmx -l debug
55113
55114       Once the master and junos proxy minion have started, we can run  execu‐
55115       tion and state modules on the proxy minion. Below are few examples.
55116
55117   CLI examples
55118       For  detailed  documentation  of all the junos execution modules refer:
55119       Junos execution module
55120
55121       Display device facts.
55122
55123          $ sudo salt 'vmx' junos.facts
55124
55125       Refresh the Junos facts. This function  will  also  refresh  the  facts
55126       which are stored in salt grains. (Junos proxy stores Junos facts in the
55127       salt grains)
55128
55129          $ sudo salt 'vmx' junos.facts_refresh
55130
55131       Call an RPC.
55132
55133          $ sudo salt 'vmx' junos.rpc 'get-interface-information' '/var/log/interface-info.txt' terse=True
55134
55135       Install config on the device.
55136
55137          $ sudo salt 'vmx' junos.install_config 'salt://my_config.set'
55138
55139       Shutdown the junos device.
55140
55141          $ sudo salt 'vmx' junos.shutdown shutdown=True in_min=10
55142
55143   State file examples
55144       For detailed documentation of all the junos state modules refer:  Junos
55145       state module
55146
55147       Executing an RPC on Junos device and storing the output in a file.
55148
55149       /srv/salt/rpc.sls
55150
55151          get-interface-information:
55152              junos:
55153                - rpc
55154                - dest: /home/user/rpc.log
55155                - interface_name: lo0
55156
55157       Lock the junos device, load the configuration, commit it and unlock the
55158       device.
55159
55160       /srv/salt/load.sls
55161
55162          lock the config:
55163            junos.lock
55164
55165          salt://configs/my_config.set:
55166            junos:
55167              - install_config
55168              - timeout: 100
55169              - diffs_file: 'var/log/diff'
55170
55171          commit the changes:
55172            junos:
55173              - commit
55174
55175          unlock the config:
55176            junos.unlock
55177
55178       According to the device personality install appropriate  image  on  the
55179       device.
55180
55181       /srv/salt/image_install.sls
55182
55183          {% if grains['junos_facts']['personality'] == MX %}
55184          salt://images/mx_junos_image.tgz:
55185            junos:
55186              - install_os
55187              - timeout: 100
55188              - reboot: True
55189          {% elif grains['junos_facts']['personality'] == EX %}
55190          salt://images/ex_junos_image.tgz:
55191            junos:
55192              - install_os
55193              - timeout: 150
55194          {% elif grains['junos_facts']['personality'] == SRX %}
55195          salt://images/srx_junos_image.tgz:
55196            junos:
55197              - install_os
55198              - timeout: 150
55199          {% endif %}
55200
55201   Junos Syslog Engine
55202       Junos  Syslog  Engine is a Salt engine which receives data from various
55203       Junos devices, extracts event information and forwards it on  the  mas‐
55204       ter/minion  event  bus. To start the engine on the salt master, add the
55205       following configuration in the master config file.  The engine can also
55206       run on the salt minion.
55207
55208       /etc/salt/master
55209
55210          engines:
55211            - junos_syslog:
55212                port: xxx
55213
55214       For  junos_syslog  engine  to receive events, syslog must be set on the
55215       Junos device.  This can be done via following configuration:
55216
55217          set system syslog host <ip-of-the-salt-device> port xxx any any
55218

SALT VIRT

55220       The Salt Virt cloud controller capability was initially added  to  Salt
55221       in version 0.14.0 as an alpha technology.
55222
55223       The initial Salt Virt system supports core cloud operations:
55224
55225       · Virtual machine deployment
55226
55227       · Inspection of deployed VMs
55228
55229       · Virtual machine migration
55230
55231       · Network profiling
55232
55233       · Automatic VM integration with all aspects of Salt
55234
55235       · Image Pre-seeding
55236
55237       Many  features are currently under development to enhance the capabili‐
55238       ties of the Salt Virt systems.
55239
55240       NOTE:
55241          It is noteworthy that Salt was originally developed with the  intent
55242          of  using  the  Salt communication system as the backbone to a cloud
55243          controller.  This means that the Salt Virt system is not  an  after‐
55244          thought,  simply  a system that took the back seat to other develop‐
55245          ment. The original attempt to develop the cloud control  aspects  of
55246          Salt  was a project called butter.  This project never took off, but
55247          was functional and proves the early viability of Salt to be a  cloud
55248          controller.
55249
55250       WARNING:
55251          Salt  Virt  does not work with KVM that is running in a VM. KVM must
55252          be running on the base hardware.
55253
55254   Salt Virt Tutorial
55255       A tutorial about how to get Salt Virt up and running has been added  to
55256       the tutorial section:
55257
55258       Cloud Controller Tutorial
55259
55260   The Salt Virt Runner
55261       The  point of interaction with the cloud controller is the virt runner.
55262       The virt runner comes with routines to execute specific virtual machine
55263       routines.
55264
55265       Reference  documentation for the virt runner is available with the run‐
55266       ner module documentation:
55267
55268       Virt Runner Reference
55269
55270   Based on Live State Data
55271       The Salt Virt system is based on using Salt to query  live  data  about
55272       hypervisors  and  then  using the data gathered to make decisions about
55273       cloud operations. This means that no external resources are required to
55274       run  Salt  Virt,  and  that the information gathered about the cloud is
55275       live and accurate.
55276
55277   Deploy from Network or Disk
55278   Virtual Machine Disk Profiles
55279       Salt Virt allows for the disks created for deployed virtual machines to
55280       be  finely  configured.  The  configuration  is a simple data structure
55281       which is read from the config.option function, meaning that the config‐
55282       uration  can  be  stored  in  the minion config file, the master config
55283       file, or the minion's pillar.
55284
55285       This configuration option is called virt.disk.  The  default  virt.disk
55286       data structure looks like this:
55287
55288          virt.disk:
55289            default:
55290              - system:
55291                size: 8192
55292                format: qcow2
55293                model: virtio
55294
55295       NOTE:
55296          The  format and model does not need to be defined, Salt will default
55297          to the optimal format used by the underlying hypervisor, in the case
55298          of kvm this it is qcow2 and virtio.
55299
55300       This  configuration  sets up a disk profile called default. The default
55301       profile creates a single system disk on the virtual machine.
55302
55303   Define More Profiles
55304       Many environments will require  more  complex  disk  profiles  and  may
55305       require more than one profile, this can be easily accomplished:
55306
55307          virt.disk:
55308            default:
55309              - system:
55310                  size: 8192
55311            database:
55312              - system:
55313                  size: 8192
55314              - data:
55315                  size: 30720
55316            web:
55317              - system:
55318                  size: 1024
55319              - logs:
55320                  size: 5120
55321
55322       This  configuration  allows  for  one of three profiles to be selected,
55323       allowing virtual machines to be created with different storage needs of
55324       the deployed vm.
55325
55326   Virtual Machine Network Profiles
55327       Salt  Virt  allows for the network devices created for deployed virtual
55328       machines to be finely configured. The configuration is  a  simple  data
55329       structure  which  is read from the config.option function, meaning that
55330       the configuration can be stored in the minion config file,  the  master
55331       config file, or the minion's pillar.
55332
55333       This  configuration  option is called virt:nic. By default the virt:nic
55334       option is empty but defaults to a data structure which looks like this:
55335
55336          virt:
55337            nic:
55338              default:
55339                eth0:
55340                  bridge: br0
55341                  model: virtio
55342
55343       NOTE:
55344          The model does not need to be defined,  Salt  will  default  to  the
55345          optimal  model used by the underlying hypervisor, in the case of kvm
55346          this model is virtio
55347
55348       This configuration sets  up  a  network  profile  called  default.  The
55349       default profile creates a single Ethernet device on the virtual machine
55350       that is bridged to the hypervisor's br0 interface. This  default  setup
55351       does not require setting up the virt:nic configuration, and is the rea‐
55352       son why a default install only  requires  setting  up  the  br0  bridge
55353       device on the hypervisor.
55354
55355   Define More Profiles
55356       Many  environments  will  require more complex network profiles and may
55357       require more than one profile, this can be easily accomplished:
55358
55359          virt:
55360            nic:
55361              dual:
55362                eth0:
55363                  bridge: service_br
55364                eth1:
55365                  bridge: storage_br
55366              single:
55367                eth0:
55368                  bridge: service_br
55369              triple:
55370                eth0:
55371                  bridge: service_br
55372                eth1:
55373                  bridge: storage_br
55374                eth2:
55375                  bridge: dmz_br
55376              all:
55377                eth0:
55378                  bridge: service_br
55379                eth1:
55380                  bridge: storage_br
55381                eth2:
55382                  bridge: dmz_br
55383                eth3:
55384                  bridge: database_br
55385              dmz:
55386                eth0:
55387                  bridge: service_br
55388                eth1:
55389                  bridge: dmz_br
55390              database:
55391                eth0:
55392                  bridge: service_br
55393                eth1:
55394                  bridge: database_br
55395
55396       This configuration allows for one  of  six  profiles  to  be  selected,
55397       allowing  virtual machines to be created which attach to different net‐
55398       work depending on the needs of the deployed vm.
55399

COMMAND LINE REFERENCE

55401   salt-call
55402   salt-call
55403   Synopsis
55404          salt-call [options]
55405
55406   Description
55407       The salt-call command is used to run module functions locally on a min‐
55408       ion instead of executing them from the master. Salt-call is used to run
55409       a Standalone Minion, and was originally created for troubleshooting.
55410
55411       The Salt  Master  is  contacted  to  retrieve  state  files  and  other
55412       resources during execution unless the --local option is specified.
55413
55414       NOTE:
55415          salt-call  commands  execute  from the current user's shell context,
55416          while salt commands execute from the system's default context.
55417
55418   Options
55419       --version
55420              Print the version of Salt that is running.
55421
55422       --versions-report
55423              Show program's dependencies and version number, and then exit
55424
55425       -h, --help
55426              Show the help message and exit
55427
55428       -c CONFIG_DIR, --config-dir=CONFIG_dir
55429              The location of the Salt configuration directory. This directory
55430              contains  the  configuration  files for Salt master and minions.
55431              The default location on most systems is /etc/salt.
55432
55433       --hard-crash
55434              Raise any original  exception  rather  than  exiting  gracefully
55435              Default: False
55436
55437       -g, --grains
55438              Return the information generated by the Salt grains
55439
55440       -m MODULE_DIRS, --module-dirs=MODULE_DIRS
55441              Specify  an additional directory to pull modules from.  Multiple
55442              directories can be provided by passing -m /--module-dirs  multi‐
55443              ple times.
55444
55445       -d, --doc, --documentation
55446              Return  the  documentation  for  the specified module or for all
55447              modules if none are specified
55448
55449       --master=MASTER
55450              Specify the master to use. The minion must be authenticated with
55451              the  master.  If this option is omitted, the master options from
55452              the minion config will be used. If multi masters are set up  the
55453              first listed master that responds will be used.
55454
55455       --return RETURNER
55456              Set  salt-call  to  pass the return data to one or many returner
55457              interfaces.  To use many returner  interfaces  specify  a  comma
55458              delimited list of returners.
55459
55460       --local
55461              Run salt-call locally, as if there was no master running.
55462
55463       --file-root=FILE_ROOT
55464              Set this directory as the base file root.
55465
55466       --pillar-root=PILLAR_ROOT
55467              Set this directory as the base pillar root.
55468
55469       --retcode-passthrough
55470              Exit with the salt call retcode and not the salt binary retcode
55471
55472       --metadata
55473              Print  out  the  execution  metadata as well as the return. This
55474              will print out the outputter data, the return code, etc.
55475
55476       --id=ID
55477              Specify the minion id to use. If this option is omitted, the  id
55478              option from the minion config will be used.
55479
55480       --skip-grains
55481              Do not load grains.
55482
55483       --refresh-grains-cache
55484              Force a refresh of the grains cache
55485
55486   Logging Options
55487       Logging  options  which override any settings defined on the configura‐
55488       tion files.
55489
55490       -l LOG_LEVEL, --log-level=LOG_LEVEL
55491              Console logging log level. One of all,  garbage,  trace,  debug,
55492              info, warning, error, quiet. Default: warning.
55493
55494       --log-file=LOG_FILE
55495              Log file path. Default: /var/log/salt/minion.
55496
55497       --log-file-level=LOG_LEVEL_LOGFILE
55498              Logfile  logging  log  level. One of all, garbage, trace, debug,
55499              info, warning, error, quiet. Default: warning.
55500
55501   Output Options
55502       --out  Pass in an alternative outputter to display the return of  data.
55503              This outputter can be any of the available outputters:
55504                 highstate, json, key, overstatestage, pprint, raw, txt, yaml,
55505                 and many others.
55506
55507              Some outputters are formatted only for data returned  from  spe‐
55508              cific  functions.  If an outputter is used that does not support
55509              the data passed into it, then Salt will fall back on the  pprint
55510              outputter  and  display  the return data using the Python pprint
55511              standard library module.
55512
55513       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
55514              Print the output indented by the provided value in spaces. Nega‐
55515              tive  values  disable indentation. Only applicable in outputters
55516              that support indentation.
55517
55518       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
55519              Write the output to the specified file.
55520
55521       --out-file-append, --output-file-append
55522              Append the output to the specified file.
55523
55524       --no-color
55525              Disable all colored output
55526
55527       --force-color
55528              Force colored output
55529
55530              NOTE:
55531                 When using colored output the color codes are as follows:
55532
55533                 green denotes success,  red  denotes  failure,  blue  denotes
55534                 changes  and  success  and  yellow  denotes a expected future
55535                 change in configuration.
55536
55537       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
55538              Override the configured state_output value  for  minion  output.
55539              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
55540              'none'.
55541
55542       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
55543              Override the configured state_verbose value for  minion  output.
55544              Set to True or False. Default: none.
55545
55546   See also
55547       salt(1) salt-master(1) salt-minion(1)
55548
55549   salt
55550   salt
55551   Synopsis
55552          salt '*' [ options ] sys.doc
55553
55554          salt -E '.*' [ options ] sys.doc cmd
55555
55556          salt -G 'os:Arch.*' [ options ] test.version
55557
55558          salt  -C  'G@os:Arch.* and webserv* or G@kernel:FreeBSD' [ options ]
55559          test.version
55560
55561   Description
55562       Salt allows for commands to be executed across a swath of  remote  sys‐
55563       tems in parallel. This means that remote systems can be both controlled
55564       and queried with ease.
55565
55566   Options
55567       --version
55568              Print the version of Salt that is running.
55569
55570       --versions-report
55571              Show program's dependencies and version number, and then exit
55572
55573       -h, --help
55574              Show the help message and exit
55575
55576       -c CONFIG_DIR, --config-dir=CONFIG_dir
55577              The location of the Salt configuration directory. This directory
55578              contains  the  configuration  files for Salt master and minions.
55579              The default location on most systems is /etc/salt.
55580
55581       -t TIMEOUT, --timeout=TIMEOUT
55582              The timeout in seconds to wait for replies from  the  Salt  min‐
55583              ions.  The  timeout  number  specifies how long the command line
55584              client will wait to query the minions and check on running jobs.
55585              Default: 5
55586
55587       -s, --static
55588              By  default as of version 0.9.8 the salt command returns data to
55589              the console  as  it  is  received  from  minions,  but  previous
55590              releases would return data only after all data was received. Use
55591              the static option to only return the data with  a  hard  timeout
55592              and after all minions have returned.  Without the static option,
55593              you will get a separate JSON string per minion which makes  JSON
55594              output invalid as a whole.
55595
55596       --async
55597              Instead  of waiting for the job to run on minions only print the
55598              job id of the started execution and complete.
55599
55600       --subset=SUBSET
55601              Execute the routine on a random subset of the targeted  minions.
55602              The  minions  will be verified that they have the named function
55603              before executing. The SUBSET argument is the count of  the  min‐
55604              ions to target.
55605
55606       -v VERBOSE, --verbose
55607              Turn  on  verbosity  for the salt call, this will cause the salt
55608              command to print out extra data like the job id.
55609
55610       --hide-timeout
55611              Instead of showing the return data for all minions. This  option
55612              prints only the online minions which could be reached.
55613
55614       -b BATCH, --batch-size=BATCH
55615              Instead of executing on all targeted minions at once, execute on
55616              a progressive set of minions. This option takes an  argument  in
55617              the form of an explicit number of minions to execute at once, or
55618              a percentage of minions to execute on.
55619
55620       -a EAUTH, --auth=EAUTH
55621              Pass in an external authentication medium to  validate  against.
55622              The credentials will be prompted for. The options are auto, key‐
55623              stone, ldap, and pam. Can be used with the -T option.
55624
55625       -T, --make-token
55626              Used in conjunction with the -a option.  This  creates  a  token
55627              that  allows for the authenticated user to send commands without
55628              needing to re-authenticate.
55629
55630       --return=RETURNER
55631              Choose an alternative returner to call  on  the  minion,  if  an
55632              alternative  returner is used then the return will not come back
55633              to the command line but will be sent  to  the  specified  return
55634              system.   The options are carbon, cassandra, couchbase, couchdb,
55635              elasticsearch,  etcd,  hipchat,  local,  local_cache,  memcache,
55636              mongo,  mysql,  odbc, postgres, redis, sentry, slack, sms, smtp,
55637              sqlite3, syslog, and xmpp.
55638
55639       -d, --doc, --documentation
55640              Return the documentation for the module functions  available  on
55641              the minions
55642
55643       --args-separator=ARGS_SEPARATOR
55644              Set  the  special  argument  used as a delimiter between command
55645              arguments of compound commands. This is useful when one wants to
55646              pass  commas  as arguments to some of the commands in a compound
55647              command.
55648
55649   Logging Options
55650       Logging options which override any settings defined on  the  configura‐
55651       tion files.
55652
55653       -l LOG_LEVEL, --log-level=LOG_LEVEL
55654              Console  logging  log  level. One of all, garbage, trace, debug,
55655              info, warning, error, quiet. Default: warning.
55656
55657       --log-file=LOG_FILE
55658              Log file path. Default: /var/log/salt/master.
55659
55660       --log-file-level=LOG_LEVEL_LOGFILE
55661              Logfile logging log level. One of all,  garbage,  trace,  debug,
55662              info, warning, error, quiet. Default: warning.
55663
55664   Target Selection
55665       The  default matching that Salt utilizes is shell-style globbing around
55666       the                  minion                   id.                   See
55667       https://docs.python.org/2/library/fnmatch.html#module-fnmatch.
55668
55669       -E, --pcre
55670              The  target  expression  will  be  interpreted as a PCRE regular
55671              expression rather than a shell glob.
55672
55673       -L, --list
55674              The target expression will be interpreted as  a  comma-delimited
55675              list; example: server1.foo.bar,server2.foo.bar,example7.quo.qux
55676
55677       -G, --grain
55678              The target expression matches values returned by the Salt grains
55679              system on the minions. The target expression is in the format of
55680              '<grain value>:<glob expression>'; example: 'os:Arch*'
55681
55682              This  was  changed  in  version 0.9.8 to accept glob expressions
55683              instead of regular expression. To use regular expression  match‐
55684              ing with grains, use the --grain-pcre option.
55685
55686       --grain-pcre
55687              The target expression matches values returned by the Salt grains
55688              system on the minions. The target expression is in the format of
55689              '<grain value>:< regular expression>'; example: 'os:Arch.*'
55690
55691       -N, --nodegroup
55692              Use a predefined compound target defined in the Salt master con‐
55693              figuration file.
55694
55695       -R, --range
55696              Instead of using shell globs to evaluate the target, use a range
55697              expression  to  identify  targets.  Range  expressions look like
55698              %cluster.
55699
55700              Using the Range option requires that a range server  is  set  up
55701              and the location of the range server is referenced in the master
55702              configuration file.
55703
55704       -C, --compound
55705              Utilize many target definitions to make the call very  granular.
55706              This option takes a group of targets separated by and or or. The
55707              default matcher is a glob as usual. If something  other  than  a
55708              glob  is  used,  preface  it  with the letter denoting the type;
55709              example: 'webserv* and G@os:Debian or E@db*' Make sure that  the
55710              compound target is encapsulated in quotes.
55711
55712       -I, --pillar
55713              Instead  of using shell globs to evaluate the target, use a pil‐
55714              lar value to identify targets. The syntax for the target is  the
55715              pillar key followed by a glob expression: "role:production*"
55716
55717       -S, --ipcidr
55718              Match based on Subnet (CIDR notation) or IPv4 address.
55719
55720   Output Options
55721       --out  Pass  in an alternative outputter to display the return of data.
55722              This outputter can be any of the available outputters:
55723                 highstate, json, key, overstatestage, pprint, raw, txt, yaml,
55724                 and many others.
55725
55726              Some  outputters  are formatted only for data returned from spe‐
55727              cific functions.  If an outputter is used that does not  support
55728              the  data passed into it, then Salt will fall back on the pprint
55729              outputter and display the return data using  the  Python  pprint
55730              standard library module.
55731
55732       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
55733              Print the output indented by the provided value in spaces. Nega‐
55734              tive values disable indentation. Only applicable  in  outputters
55735              that support indentation.
55736
55737       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
55738              Write the output to the specified file.
55739
55740       --out-file-append, --output-file-append
55741              Append the output to the specified file.
55742
55743       --no-color
55744              Disable all colored output
55745
55746       --force-color
55747              Force colored output
55748
55749              NOTE:
55750                 When using colored output the color codes are as follows:
55751
55752                 green  denotes  success,  red  denotes  failure, blue denotes
55753                 changes and success and  yellow  denotes  a  expected  future
55754                 change in configuration.
55755
55756       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
55757              Override  the  configured  state_output value for minion output.
55758              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
55759              'none'.
55760
55761       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
55762              Override  the  configured state_verbose value for minion output.
55763              Set to True or False. Default: none.
55764
55765       NOTE:
55766          If using --out=json, you will probably want --static as well.  With‐
55767          out  the static option, you will get a separate JSON string per min‐
55768          ion which makes JSON output invalid as a  whole.   This  is  due  to
55769          using  an  iterative  outputter. So if you want to feed it to a JSON
55770          parser, use --static as well.
55771
55772   See also
55773       salt(7) salt-master(1) salt-minion(1)
55774
55775   salt-cloud
55776   salt-cp
55777   salt-cp
55778       Copy a file or files to one or more minions
55779
55780   Synopsis
55781          salt-cp '*' [ options ] SOURCE [SOURCE2 SOURCE3 ...] DEST
55782
55783          salt-cp -E '.*' [ options ] SOURCE [SOURCE2 SOURCE3 ...] DEST
55784
55785          salt-cp -G 'os:Arch.*' [ options ] SOURCE [SOURCE2 SOURCE3 ...] DEST
55786
55787   Description
55788       salt-cp copies files from the master to all of the Salt minions matched
55789       by the specified target expression.
55790
55791       NOTE:
55792          salt-cp  uses Salt's publishing mechanism. This means the privacy of
55793          the contents of the file on the wire is  completely  dependent  upon
55794          the  transport  in use. In addition, if the master or minion is run‐
55795          ning with debug logging, the contents of the file will be logged  to
55796          disk.
55797
55798          In  addition,  this  tool is less efficient than the Salt fileserver
55799          when  copying  larger  files.  It  is  recommended  to  instead  use
55800          cp.get_file  to copy larger files to minions. However, this requires
55801          the file to be located within one of the fileserver directories.
55802
55803       Changed in  version  2016.3.7,2016.11.6,2017.7.0:  Compression  support
55804       added,  disable  with  -n. Also, if the destination path ends in a path
55805       separator (i.e. /,  or \ on Windows, the desitination will  be  assumed
55806       to  be  a  directory. Finally, recursion is now supported, allowing for
55807       entire directories to be copied.
55808
55809
55810       Changed in version 2016.11.7,2017.7.2: Reverted back to  the  old  copy
55811       mode to preserve backward compatibility. The new functionality added in
55812       2016.6.6 and 2017.7.0 is now available using the -C  or  --chunked  CLI
55813       arguments.  Note  that  compression, recursive copying, and support for
55814       copying large files is only available in chunked mode.
55815
55816
55817   Options
55818       --version
55819              Print the version of Salt that is running.
55820
55821       --versions-report
55822              Show program's dependencies and version number, and then exit
55823
55824       -h, --help
55825              Show the help message and exit
55826
55827       -c CONFIG_DIR, --config-dir=CONFIG_dir
55828              The location of the Salt configuration directory. This directory
55829              contains  the  configuration  files for Salt master and minions.
55830              The default location on most systems is /etc/salt.
55831
55832       -t TIMEOUT, --timeout=TIMEOUT
55833              The timeout in seconds to wait for replies from  the  Salt  min‐
55834              ions.  The  timeout  number  specifies how long the command line
55835              client will wait to query the minions and check on running jobs.
55836              Default: 5
55837
55838   Logging Options
55839       Logging  options  which override any settings defined on the configura‐
55840       tion files.
55841
55842       -l LOG_LEVEL, --log-level=LOG_LEVEL
55843              Console logging log level. One of all,  garbage,  trace,  debug,
55844              info, warning, error, quiet. Default: warning.
55845
55846       --log-file=LOG_FILE
55847              Log file path. Default: /var/log/salt/master.
55848
55849       --log-file-level=LOG_LEVEL_LOGFILE
55850              Logfile  logging  log  level. One of all, garbage, trace, debug,
55851              info, warning, error, quiet. Default: warning.
55852
55853   Target Selection
55854       The default matching that Salt utilizes is shell-style globbing  around
55855       the                   minion                   id.                  See
55856       https://docs.python.org/2/library/fnmatch.html#module-fnmatch.
55857
55858       -E, --pcre
55859              The target expression will be  interpreted  as  a  PCRE  regular
55860              expression rather than a shell glob.
55861
55862       -L, --list
55863              The  target  expression will be interpreted as a comma-delimited
55864              list; example: server1.foo.bar,server2.foo.bar,example7.quo.qux
55865
55866       -G, --grain
55867              The target expression matches values returned by the Salt grains
55868              system on the minions. The target expression is in the format of
55869              '<grain value>:<glob expression>'; example: 'os:Arch*'
55870
55871              This was changed in version 0.9.8  to  accept  glob  expressions
55872              instead  of regular expression. To use regular expression match‐
55873              ing with grains, use the --grain-pcre option.
55874
55875       --grain-pcre
55876              The target expression matches values returned by the Salt grains
55877              system on the minions. The target expression is in the format of
55878              '<grain value>:< regular expression>'; example: 'os:Arch.*'
55879
55880       -N, --nodegroup
55881              Use a predefined compound target defined in the Salt master con‐
55882              figuration file.
55883
55884       -R, --range
55885              Instead of using shell globs to evaluate the target, use a range
55886              expression to identify  targets.  Range  expressions  look  like
55887              %cluster.
55888
55889              Using  the  Range  option requires that a range server is set up
55890              and the location of the range server is referenced in the master
55891              configuration file.
55892
55893       -C, --chunked
55894              Use  new  chunked  mode  to copy files. This mode supports large
55895              files, recursive directories copying and compression.
55896
55897              New in version 2016.11.7,2017.7.2.
55898
55899
55900       -n, --no-compression
55901              Disable gzip compression in chunked mode.
55902
55903              New in version 2016.3.7,2016.11.6,2017.7.0.
55904
55905
55906   See also
55907       salt(1) salt-master(1) salt-minion(1)
55908
55909   salt-extend
55910   salt-extend
55911       A utilty to generate extensions to the Salt source-code. This  is  used
55912       for :
55913
55914       · Adding new execution modules, state modules
55915
55916       · Adding unit tests to existing modules
55917
55918       · Adding integration tests to existing modules
55919
55920   Synopsis
55921          salt-extend --help
55922
55923   Description
55924       salt-extend  is  a  templating  tool for extending SaltStack. If you're
55925       looking to add a module to SaltStack, then the salt-extend utility  can
55926       guide you through the process.
55927
55928       You  can use Salt Extend to quickly create templated modules for adding
55929       new behaviours to some of the module subsystems within Salt.
55930
55931       Salt Extend takes a template directory and merges it into  a  SaltStack
55932       source code directory.
55933
55934       See also: Salt Extend.
55935
55936   Options
55937       --extension, -e
55938              The  extension  type  you  want  to  develop,  e.g. module, mod‐
55939              ule_unit, state
55940
55941       --salt-directory, -o
55942              The path to the salt installation, defaults to .
55943
55944       --name, -n
55945              The module name for the new module
55946
55947       --description, -d
55948              A description of the new extension
55949
55950       --no-merge
55951              Don't merge the new module into the Salt source directory speci‐
55952              fied  by  --salt-directory,  save  to  a temporary directory and
55953              print the directory path
55954
55955       --debug
55956              Print debug messages to stdout
55957
55958   See also
55959       salt-api(1)   salt-call(1)   salt-cloud(1)    salt-cp(1)    salt-key(1)
55960       salt-main(1)   salt-master(1)  salt-minion(1)  salt-run(1)  salt-ssh(1)
55961       salt-syndic(1)
55962
55963   salt-key
55964   salt-key
55965   Synopsis
55966          salt-key [ options ]
55967
55968   Description
55969       Salt-key executes simple management of Salt server public keys used for
55970       authentication.
55971
55972       On  initial  connection, a Salt minion sends its public key to the Salt
55973       master. This key must be accepted using the  salt-key  command  on  the
55974       Salt master.
55975
55976       Salt minion keys can be in one of the following states:
55977
55978       · unaccepted: key is waiting to be accepted.
55979
55980       · accepted:  key  was  accepted and the minion can communicate with the
55981         Salt master.
55982
55983       · rejected: key was rejected using the salt-key command. In this  state
55984         the minion does not receive any communication from the Salt master.
55985
55986       · denied:  key  was  rejected  automatically  by the Salt master.  This
55987         occurs when a minion has a duplicate ID, or when a minion was rebuilt
55988         or  had  new keys generated and the previous key was not deleted from
55989         the Salt master. In this state the minion does not receive any commu‐
55990         nication from the Salt master.
55991
55992       To  change the state of a minion key, use -d to delete the key and then
55993       accept or reject the key.
55994
55995   Options
55996       --version
55997              Print the version of Salt that is running.
55998
55999       --versions-report
56000              Show program's dependencies and version number, and then exit
56001
56002       -h, --help
56003              Show the help message and exit
56004
56005       -c CONFIG_DIR, --config-dir=CONFIG_dir
56006              The location of the Salt configuration directory. This directory
56007              contains  the  configuration  files for Salt master and minions.
56008              The default location on most systems is /etc/salt.
56009
56010       -u USER, --user=USER
56011              Specify user to run salt-key
56012
56013       --hard-crash
56014              Raise any original exception  rather  than  exiting  gracefully.
56015              Default is False.
56016
56017       -q, --quiet
56018              Suppress output
56019
56020       -y, --yes
56021              Answer 'Yes' to all questions presented, defaults to False
56022
56023       --rotate-aes-key=ROTATE_AES_KEY
56024              Setting  this  to  False prevents the master from refreshing the
56025              key session when keys are deleted or rejected, this  lowers  the
56026              security  of  the  key  deletion/rejection operation. Default is
56027              True.
56028
56029   Logging Options
56030       Logging options which override any settings defined on  the  configura‐
56031       tion files.
56032
56033       --log-file=LOG_FILE
56034              Log file path. Default: /var/log/salt/minion.
56035
56036       --log-file-level=LOG_LEVEL_LOGFILE
56037              Logfile  logging  log  level. One of all, garbage, trace, debug,
56038              info, warning, error, quiet. Default: warning.
56039
56040   Output Options
56041       --out  Pass in an alternative outputter to display the return of  data.
56042              This outputter can be any of the available outputters:
56043                 highstate, json, key, overstatestage, pprint, raw, txt, yaml,
56044                 and many others.
56045
56046              Some outputters are formatted only for data returned  from  spe‐
56047              cific  functions.  If an outputter is used that does not support
56048              the data passed into it, then Salt will fall back on the  pprint
56049              outputter  and  display  the return data using the Python pprint
56050              standard library module.
56051
56052       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
56053              Print the output indented by the provided value in spaces. Nega‐
56054              tive  values  disable indentation. Only applicable in outputters
56055              that support indentation.
56056
56057       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
56058              Write the output to the specified file.
56059
56060       --out-file-append, --output-file-append
56061              Append the output to the specified file.
56062
56063       --no-color
56064              Disable all colored output
56065
56066       --force-color
56067              Force colored output
56068
56069              NOTE:
56070                 When using colored output the color codes are as follows:
56071
56072                 green denotes success,  red  denotes  failure,  blue  denotes
56073                 changes  and  success  and  yellow  denotes a expected future
56074                 change in configuration.
56075
56076       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
56077              Override the configured state_output value  for  minion  output.
56078              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
56079              'none'.
56080
56081       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
56082              Override the configured state_verbose value for  minion  output.
56083              Set to True or False. Default: none.
56084
56085   Actions
56086       -l ARG, --list=ARG
56087              List the public keys. The args pre, un, and unaccepted will list
56088              unaccepted/unsigned   keys.   acc   or   accepted   will    list
56089              accepted/signed  keys.  rej or rejected will list rejected keys.
56090              Finally, all will list all keys.
56091
56092       -L, --list-all
56093              List all public keys. (Deprecated: use --list all)
56094
56095       -a ACCEPT, --accept=ACCEPT
56096              Accept the specified public  key  (use  --include-all  to  match
56097              rejected keys in addition to pending keys). Globs are supported.
56098
56099       -A, --accept-all
56100              Accepts all pending keys.
56101
56102       -r REJECT, --reject=REJECT
56103              Reject  the  specified  public  key  (use --include-all to match
56104              accepted keys in addition to pending keys). Globs are supported.
56105
56106       -R, --reject-all
56107              Rejects all pending keys.
56108
56109       --include-all
56110              Include non-pending keys when accepting/rejecting.
56111
56112       -p PRINT, --print=PRINT
56113              Print the specified public key.
56114
56115       -P, --print-all
56116              Print all public keys
56117
56118       -d DELETE, --delete=DELETE
56119              Delete the specified key. Globs are supported.
56120
56121       -D, --delete-all
56122              Delete all keys.
56123
56124       -f FINGER, --finger=FINGER
56125              Print the specified key's fingerprint.
56126
56127       -F, --finger-all
56128              Print all keys' fingerprints.
56129
56130   Key Generation Options
56131       --gen-keys=GEN_KEYS
56132              Set a name to generate a keypair for use with salt
56133
56134       --gen-keys-dir=GEN_KEYS_DIR
56135              Set the directory to save the  generated  keypair.   Only  works
56136              with 'gen_keys_dir' option; default is the current directory.
56137
56138       --keysize=KEYSIZE
56139              Set  the  keysize  for  the  generated  key, only works with the
56140              '--gen-keys' option, the key size must be 2048 or higher, other‐
56141              wise it will be rounded up to 2048. The default is 2048.
56142
56143       --gen-signature
56144              Create  a  signature  file of the master's public-key named mas‐
56145              ter_pubkey_signature. The signature can be sent to a  minion  in
56146              the  master's  auth-reply  and  enables the minion to verify the
56147              master's public-key cryptographically. This requires a new sign‐
56148              ing-key-pair  which  can  be auto-created with the --auto-create
56149              parameter.
56150
56151       --priv=PRIV
56152              The private-key file to create a signature with
56153
56154       --signature-path=SIGNATURE_PATH
56155              The path where the signature file should be written
56156
56157       --pub=PUB
56158              The public-key file to create a signature for
56159
56160       --auto-create
56161              Auto-create a signing key-pair if it does not yet exist
56162
56163   See also
56164       salt(7) salt-master(1) salt-minion(1)
56165
56166   salt-master
56167   salt-master
56168       The Salt master daemon, used to control the Salt minions
56169
56170   Synopsis
56171          salt-master [ options ]
56172
56173   Description
56174       The master daemon controls the Salt minions
56175
56176   Options
56177       --version
56178              Print the version of Salt that is running.
56179
56180       --versions-report
56181              Show program's dependencies and version number, and then exit
56182
56183       -h, --help
56184              Show the help message and exit
56185
56186       -c CONFIG_DIR, --config-dir=CONFIG_dir
56187              The location of the Salt configuration directory. This directory
56188              contains  the  configuration  files for Salt master and minions.
56189              The default location on most systems is /etc/salt.
56190
56191       -u USER, --user=USER
56192              Specify user to run salt-master
56193
56194       -d, --daemon
56195              Run salt-master as a daemon
56196
56197       --pid-file PIDFILE
56198              Specify the location of the pidfile. Default: /var/run/salt-mas‐
56199              ter.pid
56200
56201   Logging Options
56202       Logging  options  which override any settings defined on the configura‐
56203       tion files.
56204
56205       -l LOG_LEVEL, --log-level=LOG_LEVEL
56206              Console logging log level. One of all,  garbage,  trace,  debug,
56207              info, warning, error, quiet. Default: warning.
56208
56209       --log-file=LOG_FILE
56210              Log file path. Default: /var/log/salt/master.
56211
56212       --log-file-level=LOG_LEVEL_LOGFILE
56213              Logfile  logging  log  level. One of all, garbage, trace, debug,
56214              info, warning, error, quiet. Default: warning.
56215
56216   See also
56217       salt(1) salt(7) salt-minion(1)
56218
56219   salt-minion
56220   salt-minion
56221       The Salt minion daemon, receives commands from a remote Salt master.
56222
56223   Synopsis
56224          salt-minion [ options ]
56225
56226   Description
56227       The Salt minion receives commands from  the  central  Salt  master  and
56228       replies with the results of said commands.
56229
56230   Options
56231       --version
56232              Print the version of Salt that is running.
56233
56234       --versions-report
56235              Show program's dependencies and version number, and then exit
56236
56237       -h, --help
56238              Show the help message and exit
56239
56240       -c CONFIG_DIR, --config-dir=CONFIG_dir
56241              The location of the Salt configuration directory. This directory
56242              contains the configuration files for Salt  master  and  minions.
56243              The default location on most systems is /etc/salt.
56244
56245       -u USER, --user=USER
56246              Specify user to run salt-minion
56247
56248       -d, --daemon
56249              Run salt-minion as a daemon
56250
56251       --pid-file PIDFILE
56252              Specify the location of the pidfile. Default: /var/run/salt-min‐
56253              ion.pid
56254
56255   Logging Options
56256       Logging options which override any settings defined on  the  configura‐
56257       tion files.
56258
56259       -l LOG_LEVEL, --log-level=LOG_LEVEL
56260              Console  logging  log  level. One of all, garbage, trace, debug,
56261              info, warning, error, quiet. Default: warning.
56262
56263       --log-file=LOG_FILE
56264              Log file path. Default: /var/log/salt/minion.
56265
56266       --log-file-level=LOG_LEVEL_LOGFILE
56267              Logfile logging log level. One of all,  garbage,  trace,  debug,
56268              info, warning, error, quiet. Default: warning.
56269
56270   See also
56271       salt(1) salt(7) salt-master(1)
56272
56273   salt-proxy
56274   salt-proxy
56275       Receives  commands  from  a  Salt  master and proxies these commands to
56276       devices that are unable to run a full minion.
56277
56278   Synopsis
56279          salt-proxy [ options ]
56280
56281   Description
56282       The Salt proxy minion receives commands from a Salt  master,  transmits
56283       appropriate  commands  to  devices that are unable to run a minion, and
56284       replies with the results of said commands.
56285
56286   Options
56287       --proxyid
56288              The minion id that this proxy will assume.  This is required.
56289
56290       --version
56291              Print the version of Salt that is running.
56292
56293       --versions-report
56294              Show program's dependencies and version number, and then exit
56295
56296       -h, --help
56297              Show the help message and exit
56298
56299       -c CONFIG_DIR, --config-dir=CONFIG_dir
56300              The location of the Salt configuration directory. This directory
56301              contains  the  configuration  files for Salt master and minions.
56302              The default location on most systems is /etc/salt.
56303
56304       -u USER, --user=USER
56305              Specify user to run salt-proxy
56306
56307       -d, --daemon
56308              Run salt-proxy as a daemon
56309
56310       --pid-file PIDFILE
56311              Specify    the    location    of    the    pidfile.     Default:
56312              /var/run/salt-proxy-<id>.pid
56313
56314   Logging Options
56315       Logging  options  which override any settings defined on the configura‐
56316       tion files.
56317
56318       -l LOG_LEVEL, --log-level=LOG_LEVEL
56319              Console logging log level. One of all,  garbage,  trace,  debug,
56320              info, warning, error, quiet. Default: warning.
56321
56322       --log-file=LOG_FILE
56323              Log file path. Default: /var/log/salt/minion.
56324
56325       --log-file-level=LOG_LEVEL_LOGFILE
56326              Logfile  logging  log  level. One of all, garbage, trace, debug,
56327              info, warning, error, quiet. Default: warning.
56328
56329   See also
56330       salt(1) salt(7) salt-master(1) salt-minion(1)
56331
56332   salt-run
56333   salt-run
56334       Execute a Salt runner
56335
56336   Synopsis
56337          salt-run RUNNER
56338
56339   Description
56340       salt-run is the frontend command for executing Salt Runners.  Salt run‐
56341       ners  are  simple  modules used to execute convenience functions on the
56342       master
56343
56344   Options
56345       --version
56346              Print the version of Salt that is running.
56347
56348       --versions-report
56349              Show program's dependencies and version number, and then exit
56350
56351       -h, --help
56352              Show the help message and exit
56353
56354       -c CONFIG_DIR, --config-dir=CONFIG_dir
56355              The location of the Salt configuration directory. This directory
56356              contains  the  configuration  files for Salt master and minions.
56357              The default location on most systems is /etc/salt.
56358
56359       -t TIMEOUT, --timeout=TIMEOUT
56360              The timeout in seconds to wait for replies from  the  Salt  min‐
56361              ions.  The  timeout  number  specifies how long the command line
56362              client will wait to query the minions and check on running jobs.
56363              Default: 1
56364
56365       --hard-crash
56366              Raise  any  original  exception  rather than exiting gracefully.
56367              Default is False.
56368
56369       -d, --doc, --documentation
56370              Display documentation for runners, pass a module or a runner  to
56371              see documentation on only that module/runner.
56372
56373   Logging Options
56374       Logging  options  which override any settings defined on the configura‐
56375       tion files.
56376
56377       -l LOG_LEVEL, --log-level=LOG_LEVEL
56378              Console logging log level. One of all,  garbage,  trace,  debug,
56379              info, warning, error, quiet. Default: warning.
56380
56381       --log-file=LOG_FILE
56382              Log file path. Default: /var/log/salt/master.
56383
56384       --log-file-level=LOG_LEVEL_LOGFILE
56385              Logfile  logging  log  level. One of all, garbage, trace, debug,
56386              info, warning, error, quiet. Default: warning.
56387
56388   See also
56389       salt(1) salt-master(1) salt-minion(1)
56390
56391   salt-ssh
56392   salt-ssh
56393   Synopsis
56394          salt-ssh '*' [ options ] sys.doc
56395
56396          salt-ssh -E '.*' [ options ] sys.doc cmd
56397
56398   Description
56399       Salt SSH allows for salt routines to be executed  using  only  SSH  for
56400       transport
56401
56402   Options
56403       --version
56404              Print the version of Salt that is running.
56405
56406       --versions-report
56407              Show program's dependencies and version number, and then exit
56408
56409       -h, --help
56410              Show the help message and exit
56411
56412       -c CONFIG_DIR, --config-dir=CONFIG_dir
56413              The location of the Salt configuration directory. This directory
56414              contains the configuration files for Salt  master  and  minions.
56415              The default location on most systems is /etc/salt.
56416
56417       --hard-crash
56418              Raise  any  original  exception  rather than exiting gracefully.
56419              Default: False.
56420
56421       -r, --raw, --raw-shell
56422              Execute a raw shell command.
56423
56424       --roster
56425              Define which roster system to use, this defines  if  a  database
56426              backend,  scanner,  or  custom roster system is used. Default is
56427              the flat file roster.
56428
56429       --roster-file
56430              Define an alternative location for the default roster file loca‐
56431              tion.  The  default roster file is called roster and is found in
56432              the same directory as the master config file.
56433
56434              New in version 2014.1.0.
56435
56436
56437       --refresh, --refresh-cache
56438              Force a refresh of the master side data cache  of  the  target's
56439              data.  This is needed if a target's grains have been changed and
56440              the auto refresh timeframe has not been reached.
56441
56442       --max-procs
56443              Set the number of concurrent minions to communicate  with.  This
56444              value defines how many processes are opened up at a time to man‐
56445              age connections, the more running process the faster  communica‐
56446              tion should be, default is 25.
56447
56448       --extra-filerefs=EXTRA_FILEREFS
56449              Pass in extra files to include in the state tarball.
56450
56451       --min-extra-modules=MIN_EXTRA_MODS
56452              One  or  comma-separated  list  of  extra  Python  modulesto  be
56453              included into Minimal Salt.
56454
56455       --thin-extra-modules=THIN_EXTRA_MODS
56456              One or  comma-separated  list  of  extra  Python  modulesto   be
56457              included into Thin Salt.
56458
56459       -v, --verbose
56460              Turn on command verbosity, display jid.
56461
56462       -s, --static
56463              Return the data from minions as a group after they all return.
56464
56465       -w, --wipe
56466              Remove the deployment of the salt files when done executing.
56467
56468       -W, --rand-thin-dir
56469              Select a random temp dir to deploy on the remote system. The dir
56470              will be cleaned after the execution.
56471
56472       -t, --regen-thin, --thin
56473              Trigger a thin tarball regeneration. This is needed  if   custom
56474              grains/modules/states have been added or updated.
56475
56476       --python2-bin=PYTHON2_BIN
56477              Path to a python2 binary which has salt installed.
56478
56479       --python3-bin=PYTHON3_BIN
56480              Path to a python3 binary which has salt installed.
56481
56482       --jid=JID
56483              Pass a JID to be used instead of generating one.
56484
56485   Authentication Options
56486       --priv=SSH_PRIV
56487              Specify the SSH private key file to be used for authentication.
56488
56489       --priv-passwd=SSH_PRIV_PASSWD
56490              Specify the SSH private key file's passphrase if need be.
56491
56492       -i, --ignore-host-keys
56493              By  default  ssh host keys are honored and connections  will ask
56494              for approval. Use this option to disable StrictHostKeyChecking.
56495
56496       --no-host-keys
56497              Fully ignores ssh host keys which by  default  are  honored  and
56498              connections  would ask for approval. Useful if the host key of a
56499              remote  server  has  changed  and   would   still   error   with
56500              --ignore-host-keys.
56501
56502       --user=SSH_USER
56503              Set the default user to attempt to use when authenticating.
56504
56505       --passwd
56506              Set the default password to attempt to use when authenticating.
56507
56508       --askpass
56509              Interactively  ask  for  the  SSH password with no echo - avoids
56510              password in process args and stored in history.
56511
56512       --key-deploy
56513              Set this flag to attempt to deploy the authorized ssh  key  with
56514              all  minions.  This  combined  with  --passwd  can  make initial
56515              deployment of keys very fast and easy.
56516
56517       --identities-only
56518              Use the only authentication identity  files  configured  in  the
56519              ssh_config files. See IdentitiesOnly flag in man ssh_config.
56520
56521       --sudo Run command via sudo.
56522
56523   Scan Roster Options
56524       --scan-ports=SSH_SCAN_PORTS
56525              Comma-separated list of ports to scan in the scan roster.
56526
56527       --scan-timeout=SSH_SCAN_TIMEOUT
56528              Scanning socket timeout for the scan roster.
56529
56530   Logging Options
56531       Logging  options  which override any settings defined on the configura‐
56532       tion files.
56533
56534       -l LOG_LEVEL, --log-level=LOG_LEVEL
56535              Console logging log level. One of all,  garbage,  trace,  debug,
56536              info, warning, error, quiet. Default: warning.
56537
56538       --log-file=LOG_FILE
56539              Log file path. Default: /var/log/salt/ssh.
56540
56541       --log-file-level=LOG_LEVEL_LOGFILE
56542              Logfile  logging  log  level. One of all, garbage, trace, debug,
56543              info, warning, error, quiet. Default: warning.
56544
56545   Target Selection
56546       The default matching that Salt utilizes is shell-style globbing  around
56547       the                   minion                   id.                  See
56548       https://docs.python.org/2/library/fnmatch.html#module-fnmatch.
56549
56550       -E, --pcre
56551              The target expression will be  interpreted  as  a  PCRE  regular
56552              expression rather than a shell glob.
56553
56554   Output Options
56555       --out  Pass  in an alternative outputter to display the return of data.
56556              This outputter can be any of the available outputters:
56557                 highstate, json, key, overstatestage, pprint, raw, txt, yaml,
56558                 and many others.
56559
56560              Some  outputters  are formatted only for data returned from spe‐
56561              cific functions.  If an outputter is used that does not  support
56562              the  data passed into it, then Salt will fall back on the pprint
56563              outputter and display the return data using  the  Python  pprint
56564              standard library module.
56565
56566       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
56567              Print the output indented by the provided value in spaces. Nega‐
56568              tive values disable indentation. Only applicable  in  outputters
56569              that support indentation.
56570
56571       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
56572              Write the output to the specified file.
56573
56574       --out-file-append, --output-file-append
56575              Append the output to the specified file.
56576
56577       --no-color
56578              Disable all colored output
56579
56580       --force-color
56581              Force colored output
56582
56583              NOTE:
56584                 When using colored output the color codes are as follows:
56585
56586                 green  denotes  success,  red  denotes  failure, blue denotes
56587                 changes and success and  yellow  denotes  a  expected  future
56588                 change in configuration.
56589
56590       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
56591              Override  the  configured  state_output value for minion output.
56592              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
56593              'none'.
56594
56595       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
56596              Override  the  configured state_verbose value for minion output.
56597              Set to True or False. Default: none.
56598
56599       NOTE:
56600          If using --out=json, you will probably want --static as well.  With‐
56601          out  the static option, you will get a separate JSON string per min‐
56602          ion which makes JSON output invalid as a  whole.   This  is  due  to
56603          using  an  iterative  outputter. So if you want to feed it to a JSON
56604          parser, use --static as well.
56605
56606   See also
56607       salt(7) salt-master(1) salt-minion(1)
56608
56609   salt-syndic
56610   salt-syndic
56611       The Salt syndic daemon, a special minion that passes  through  commands
56612       from a higher master
56613
56614   Synopsis
56615          salt-syndic [ options ]
56616
56617   Description
56618       The  Salt  syndic daemon, a special minion that passes through commands
56619       from a higher master.
56620
56621   Options
56622       --version
56623              Print the version of Salt that is running.
56624
56625       --versions-report
56626              Show program's dependencies and version number, and then exit
56627
56628       -h, --help
56629              Show the help message and exit
56630
56631       -c CONFIG_DIR, --config-dir=CONFIG_dir
56632              The location of the Salt configuration directory. This directory
56633              contains  the  configuration  files for Salt master and minions.
56634              The default location on most systems is /etc/salt.
56635
56636       -u USER, --user=USER
56637              Specify user to run salt-syndic
56638
56639       -d, --daemon
56640              Run salt-syndic as a daemon
56641
56642       --pid-file PIDFILE
56643              Specify the location of the pidfile. Default: /var/run/salt-syn‐
56644              dic.pid
56645
56646   Logging Options
56647       Logging  options  which override any settings defined on the configura‐
56648       tion files.
56649
56650       -l LOG_LEVEL, --log-level=LOG_LEVEL
56651              Console logging log level. One of all,  garbage,  trace,  debug,
56652              info, warning, error, quiet. Default: warning.
56653
56654       --log-file=LOG_FILE
56655              Log file path. Default: /var/log/salt/master.
56656
56657       --log-file-level=LOG_LEVEL_LOGFILE
56658              Logfile  logging  log  level. One of all, garbage, trace, debug,
56659              info, warning, error, quiet. Default: warning.
56660
56661   See also
56662       salt(1) salt-master(1) salt-minion(1)
56663
56664   salt-unity
56665   salt-unity
56666       A unified invocation wrapper around other Salt CLI scripts.
56667
56668   Synopsis
56669          salt-unity salt '*' test.version
56670
56671   Description
56672       This script takes an argument which  is  one  of  the  other  Salt  CLI
56673       scripts and invokes that script.
56674
56675   Options
56676   See also
56677       salt-api(1)    salt-call(1)    salt-cloud(1)   salt-cp(1)   salt-key(1)
56678       salt-main(1)  salt-master(1)  salt-minion(1)  salt-run(1)   salt-ssh(1)
56679       salt-syndic(1)
56680
56681   salt-api
56682   salt-api
56683       Start interfaces used to remotely connect to the salt master
56684
56685   Synopsis
56686          salt-api
56687
56688   Description
56689       The Salt API system manages network api connectors for the Salt Master
56690
56691   Options
56692       --version
56693              Print the version of Salt that is running.
56694
56695       --versions-report
56696              Show program's dependencies and version number, and then exit
56697
56698       -h, --help
56699              Show the help message and exit
56700
56701       -c CONFIG_DIR, --config-dir=CONFIG_dir
56702              The location of the Salt configuration directory. This directory
56703              contains the configuration files for Salt  master  and  minions.
56704              The default location on most systems is /etc/salt.
56705
56706       -d, --daemon
56707              Run the salt-api as a daemon
56708
56709       --pid-file=PIDFILE
56710              Specify     the    location    of    the    pidfile.    Default:
56711              /var/run/salt-api.pid
56712
56713   Logging Options
56714       Logging options which override any settings defined on  the  configura‐
56715       tion files.
56716
56717       -l LOG_LEVEL, --log-level=LOG_LEVEL
56718              Console  logging  log  level. One of all, garbage, trace, debug,
56719              info, warning, error, quiet. Default: warning.
56720
56721       --log-file=LOG_FILE
56722              Log file path. Default: /var/log/salt/api.
56723
56724       --log-file-level=LOG_LEVEL_LOGFILE
56725              Logfile logging log level. One of all,  garbage,  trace,  debug,
56726              info, warning, error, quiet. Default: warning.
56727
56728   See also
56729       salt-api(7) salt(7) salt-master(1)
56730
56731   spm
56732   spm
56733       Salt Package Manager
56734
56735   Synopsis
56736          spm <command> [<argument>]
56737
56738   Description
56739       spm  is  the frontend command for managing Salt packages. Packages nor‐
56740       mally only include formulas, meaning a group of SLS files that  install
56741       into  the  file_roots  on the Salt Master, but Salt modules can also be
56742       installed.
56743
56744   Options
56745       -y, --assume-yes
56746              Assume yes instead of prompting the other whether or not to pro‐
56747              ceed with a particular command. Default is False.
56748
56749       -f, --force
56750              When  presented  with a course of action that spm would normally
56751              refuse to perform, that action will be performed anyway. This is
56752              often destructive, and should be used with caution.
56753
56754   Logging Options
56755       Logging  options  which override any settings defined on the configura‐
56756       tion files.
56757
56758       -l LOG_LEVEL, --log-level=LOG_LEVEL
56759              Console logging log level. One of all,  garbage,  trace,  debug,
56760              info, warning, error, quiet. Default: warning.
56761
56762       --log-file=LOG_FILE
56763              Log file path. Default: /var/log/salt/spm.
56764
56765       --log-file-level=LOG_LEVEL_LOGFILE
56766              Logfile  logging  log  level. One of all, garbage, trace, debug,
56767              info, warning, error, quiet. Default: warning.
56768
56769   Commands
56770       update_repo
56771              Connect to remote repositories locally configured on the  system
56772              and download their metadata.
56773
56774       install
56775              Install  a  package from a configured SPM repository. Requires a
56776              package name.
56777
56778       remove Remove an installed package from the system. Requires a  package
56779              name.
56780
56781       info   List  information about an installed package. Requires a package
56782              name.
56783
56784       files  List files belonging to an installed package. Requires a package
56785              name.
56786
56787       local  Perform  one of the above options (except for remove) on a pack‐
56788              age file, instead of  on  a  package  in  a  repository,  or  an
56789              installed  package. Requires a valid path to a local file on the
56790              system.
56791
56792       build  Build a package from a  directory  containing  a  FORMULA  file.
56793              Requires a valid path to a local directory on the system.
56794
56795       create_repo
56796              Scan  a  directory  for  valid  SPM  package  files and build an
56797              SPM-METADATA file in that directory which describes them.
56798
56799   See also
56800       salt(1) salt-master(1) salt-minion(1)
56801

PILLARS

56803       Salt  includes  a  number  of  built-in  external  pillars,  listed  at
56804       all-salt.pillars.
56805
56806       The below links contain documentation for the configuration options
56807
56808       · master-side configuration
56809
56810       · minion-side configuration
56811
56812       Note  that  some  of same the configuration options from the master are
56813       present in the minion configuration file, these are used in  masterless
56814       mode.
56815
56816       The   source   for  the  built-in  Salt  pillars  can  be  found  here:
56817       https://github.com/saltstack/salt/blob/master/salt/pillar
56818

MASTER TOPS

56820       Salt includes a number of built-in  subsystems  to  generate  top  file
56821       data, they are listed at all-salt.tops.
56822
56823       The  source  for  the  built-in  Salt  master  tops  can be found here:
56824       https://github.com/saltstack/salt/blob/master/salt/tops
56825

SALT MODULE REFERENCE

56827       This section contains a list of the Python modules  that  are  used  to
56828       extend the various subsystems within Salt.
56829
56830   auth modules
56831                     ┌─────────────┬────────────────────────────┐
56832auto         │ An "Always Approved" eauth │
56833                     │             │ interface to test against, │
56834                     │             │ not  intended  for produc‐ │
56835                     │             │ tion use                   │
56836                     ├─────────────┼────────────────────────────┤
56837django       │ Provide     authentication │
56838                     │             │ using Django Web Framework │
56839                     ├─────────────┼────────────────────────────┤
56840file         │ Provide     authentication │
56841                     │             │ using local files          │
56842                     ├─────────────┼────────────────────────────┤
56843keystone     │ Provide     authentication │
56844                     │             │ using OpenStack Keystone   │
56845                     ├─────────────┼────────────────────────────┤
56846ldap         │ Provide     authentication │
56847                     │             │ using simple LDAP binds    │
56848                     ├─────────────┼────────────────────────────┤
56849mysql        │ Provide     authentication │
56850                     │             │ using MySQL.               │
56851                     ├─────────────┼────────────────────────────┤
56852pam          │ Authenticate against PAM   │
56853                     ├─────────────┼────────────────────────────┤
56854pki          │ Authenticate   via  a  PKI │
56855                     │             │ certificate.               │
56856                     ├─────────────┼────────────────────────────┤
56857rest         │ Provide     authentication │
56858                     │             │ using a REST call          │
56859                     ├─────────────┼────────────────────────────┤
56860sharedsecret │ Provide     authentication │
56861                     │             │ using  configured   shared │
56862                     │             │ secret                     │
56863                     ├─────────────┼────────────────────────────┤
56864yubico       │ Provide     authentication │
56865                     │             │ using YubiKey.             │
56866                     └─────────────┴────────────────────────────┘
56867
56868   salt.auth.auto
56869       An "Always Approved" eauth interface to test against, not intended  for
56870       production use
56871
56872       salt.auth.auto.auth(username, password)
56873              Authenticate!
56874
56875   salt.auth.django
56876       Provide authentication using Django Web Framework
56877
56878       depends
56879
56880              · Django Web Framework
56881
56882       Django  authentication  depends on the presence of the django framework
56883       in the PYTHONPATH, the Django project's settings.py file being  in  the
56884       PYTHONPATH  and  accessible  via the DJANGO_SETTINGS_MODULE environment
56885       variable.
56886
56887       Django auth can be defined like any other eauth module:
56888
56889          external_auth:
56890            django:
56891              fred:
56892                - .*
56893                - '@runner'
56894
56895       This will authenticate Fred via Django and allow him to run any  execu‐
56896       tion module and all runners.
56897
56898       The  authorization  details can optionally be located inside the Django
56899       database.  The relevant entry in the models.py  file  would  look  like
56900       this:
56901
56902          class SaltExternalAuthModel(models.Model):
56903              user_fk = models.ForeignKey(User, on_delete=models.CASCADE)
56904              minion_or_fn_matcher = models.CharField(max_length=255)
56905              minion_fn = models.CharField(max_length=255)
56906
56907       The  external_auth  clause  in  the  master config would then look like
56908       this:
56909
56910          external_auth:
56911            django:
56912              ^model: <fully-qualified reference to model class>
56913
56914       When a user attempts to authenticate via Django, Salt will  import  the
56915       package  indicated  via  the  keyword ^model.  That model must have the
56916       fields indicated above, though the model DOES  NOT  have  to  be  named
56917       'SaltExternalAuthModel'.
56918
56919       salt.auth.django.acl(username)
56920
56921              Parameters
56922                     username -- Username to filter for
56923
56924              Returns
56925                     Dictionary  that  can be slotted into the __opts__ struc‐
56926                     ture for eauth that designates the user associated ACL
56927
56928              Database records such as:
56929
56930                   ┌───────────┬───────────────────┬────────────────────┐
56931                   │username   │ min‐              │ minion_fn          │
56932                   │           │ ion_or_fn_matcher │                    │
56933                   ├───────────┼───────────────────┼────────────────────┤
56934                   │fred       │                   │ test.ping          │
56935                   ├───────────┼───────────────────┼────────────────────┤
56936                   │fred       │ server1           │ network.interfaces │
56937                   ├───────────┼───────────────────┼────────────────────┤
56938                   │fred       │ server1           │ raid.list          │
56939                   ├───────────┼───────────────────┼────────────────────┤
56940                   │fred       │ server2           │ .*                 │
56941                   ├───────────┼───────────────────┼────────────────────┤
56942                   │guru       │ .*                │                    │
56943                   ├───────────┼───────────────────┼────────────────────┤
56944                   │smartadmin │ server1           │ .*                 │
56945                   └───────────┴───────────────────┴────────────────────┘
56946
56947              Should result in an eauth config such as:
56948
56949                 fred:
56950                   - test.ping
56951                   - server1:
56952                       - network.interfaces
56953                       - raid.list
56954                   - server2:
56955                       - .*
56956                 guru:
56957                   - .*
56958                 smartadmin:
56959                   - server1:
56960                     - .*
56961
56962       salt.auth.django.auth(username, password)
56963              Simple Django auth
56964
56965       salt.auth.django.is_connection_usable()
56966
56967   salt.auth.file
56968       Provide authentication using local files
56969
56970       New in version 2018.3.0.
56971
56972
56973       The file auth module allows simple authentication via local files. Dif‐
56974       ferent filetypes are supported, including:
56975
56976          1. Text files, with passwords in plaintext or hashed
56977
56978          2. Apache-style htpasswd files
56979
56980          3. Apache-style htdigest files
56981
56982       NOTE:
56983          The python-passlib library is required when  using  a  ^filetype  of
56984          htpasswd or htdigest.
56985
56986       The simplest example is a plaintext file with usernames and passwords:
56987
56988          external_auth:
56989            file:
56990              ^filename: /etc/insecure-user-list.txt
56991              gene:
56992                - .*
56993              dean:
56994                - test.*
56995
56996       In this example the /etc/insecure-user-list.txt file would be formatted
56997       as so:
56998
56999          dean:goneFishing
57000          gene:OceanMan
57001
57002       ^filename is the only required parameter.  Any  parameter  that  begins
57003       with a ^ is passed directly to the underlying file authentication func‐
57004       tion via kwargs, with the leading ^ being stripped.
57005
57006       The text file option is configurable to work with legacy formats:
57007
57008          external_auth:
57009            file:
57010              ^filename: /etc/legacy_users.txt
57011              ^filetype: text
57012              ^hashtype: md5
57013              ^username_field: 2
57014              ^password_field: 3
57015              ^field_separator: '|'
57016              trey:
57017                - .*
57018
57019       This would authenticate users against a file of the following format:
57020
57021          46|trey|16a0034f90b06bf3c5982ed8ac41aab4
57022          555|mike|b6e02a4d2cb2a6ef0669e79be6fd02e4
57023          2001|page|14fce21db306a43d3b680da1a527847a
57024          8888|jon|c4e94ba906578ccf494d71f45795c6cb
57025
57026       NOTE:
57027          The hashutil.digest execution function is used for comparing  hashed
57028          passwords, so any algorithm supported by that function will work.
57029
57030       There is also support for Apache-style htpasswd and htdigest files:
57031
57032          external_auth:
57033            file:
57034              ^filename: /var/www/html/.htusers
57035              ^filetype: htpasswd
57036              cory:
57037                - .*
57038
57039       When using htdigest the ^realm must be set:
57040
57041          external_auth:
57042            file:
57043              ^filename: /var/www/html/.htdigest
57044              ^filetype: htdigest
57045              ^realm: MySecureRealm
57046              cory:
57047                - .*
57048
57049       salt.auth.file.auth(username, password)
57050              File based authentication
57051
57052              ^filename
57053                     The path to the file to use for authentication.
57054
57055              ^filetype
57056                     The type of file: text, htpasswd, htdigest.
57057
57058                     Default: text
57059
57060              ^realm The realm required by htdigest authentication.
57061
57062              NOTE:
57063                 The  following  parameters  are only used with the text file‐
57064                 type.
57065
57066              ^hashtype
57067                     The digest format of the password. Can  be  plaintext  or
57068                     any digest available via hashutil.digest.
57069
57070                     Default: plaintext
57071
57072              ^field_separator
57073                     The  character  to use as a delimiter between fields in a
57074                     text file.
57075
57076                     Default: :
57077
57078              ^username_field
57079                     The numbered field in the text  file  that  contains  the
57080                     username, with numbering beginning at 1 (one).
57081
57082                     Default: 1
57083
57084              ^password_field
57085                     The  numbered  field  in  the text file that contains the
57086                     password, with numbering beginning at 1 (one).
57087
57088                     Default: 2
57089
57090   salt.auth.keystone
57091       Provide authentication using OpenStack Keystone
57092
57093       depends
57094
57095              · keystoneclient Python module
57096
57097       salt.auth.keystone.auth(username, password)
57098              Try and authenticate
57099
57100       salt.auth.keystone.get_auth_url()
57101              Try and get the URL from the config, else return localhost
57102
57103   salt.auth.ldap
57104       Provide authentication using simple LDAP binds
57105
57106       depends
57107
57108              · ldap Python module
57109
57110       salt.auth.ldap.auth(username, password)
57111              Simple LDAP auth
57112
57113       salt.auth.ldap.groups(username, **kwargs)
57114              Authenticate against an LDAP group
57115
57116              Behavior is highly dependent on if Active Directory is in use.
57117
57118              AD handles group membership very differently than OpenLDAP.  See
57119              the External Authentication documentation for a thorough discus‐
57120              sion of available parameters for customizing the search.
57121
57122              OpenLDAP allows you to search for all groups  in  the  directory
57123              and  returns members of those groups.  Then we check against the
57124              username entered.
57125
57126       salt.auth.ldap.process_acl(auth_list, opts=None)
57127              Query LDAP, retrieve list of minion_ids  from  an  OU  or  other
57128              search.   For each minion_id returned from the LDAP search, copy
57129              the perms matchers into the auth  dictionary  :param  auth_list:
57130              :param opts: __opts__ for when __opts__ is not injected :return:
57131              Modified auth list.
57132
57133   salt.auth.mysql
57134       Provide authentication using MySQL.
57135
57136       When using MySQL as an authentication backend, you will need to  create
57137       or use an existing table that has a username and a password column.
57138
57139       To  get started, create a simple table that holds just a username and a
57140       password. The password field will hold a SHA256 checksum.
57141
57142          CREATE TABLE `users` (
57143            `id` int(11) NOT NULL AUTO_INCREMENT,
57144            `username` varchar(25) DEFAULT NULL,
57145            `password` varchar(70) DEFAULT NULL,
57146            PRIMARY KEY (`id`)
57147          ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
57148
57149       To create a user within MySQL, execute the following statement.
57150
57151          INSERT INTO users VALUES (NULL, 'diana', SHA2('secret', 256))
57152
57153          mysql_auth:
57154            hostname: localhost
57155            database: SaltStack
57156            username: root
57157            password: letmein
57158            auth_sql: 'SELECT username FROM users WHERE username = "{0}" AND password = SHA2("{1}", 256)'
57159
57160       The auth_sql contains the SQL that will validate a user to ensure  they
57161       are  correctly  authenticated.  This is where you can specify other SQL
57162       queries to authenticate users.
57163
57164       Enable MySQL authentication.
57165
57166          external_auth:
57167            mysql:
57168              damian:
57169                - test.*
57170
57171       depends
57172
57173              · MySQL-python Python module
57174
57175       salt.auth.mysql.auth(username, password)
57176              Authenticate using a MySQL user table
57177
57178   salt.auth.pam
57179       Authenticate against PAM
57180
57181       Provides an authenticate function that will allow the caller to authen‐
57182       ticate a user against the Pluggable Authentication Modules (PAM) on the
57183       system.
57184
57185       Implemented using ctypes, so no compilation is necessary.
57186
57187       There is one extra configuration option for pam.  The pam_service  that
57188       is authenticated against.  This defaults to login
57189
57190          auth.pam.service: login
57191
57192       NOTE:
57193          Solaris-like  (SmartOS,  OmniOS, ...) systems may need auth.pam.ser‐
57194          vice set to other.
57195
57196       NOTE:
57197          PAM authentication will not work for the root user.
57198
57199          The Python interface to PAM does not support authenticating as root.
57200
57201       NOTE:
57202          Using PAM groups with SSSD groups on python2.
57203
57204          To use sssd with the PAM eauth module and groups the pysss module is
57205          needed.  On RedHat/CentOS this is python-sss.
57206
57207          This should not be needed with python >= 3.3, because the os modules
57208          has the getgrouplist function.
57209
57210       class salt.auth.pam.PamConv
57211              Wrapper class for pam_conv structure
57212
57213              appdata_ptr
57214                     Structure/Union member
57215
57216              conv   Structure/Union member
57217
57218       class salt.auth.pam.PamHandle
57219              Wrapper class for pam_handle_t
57220
57221              handle Structure/Union member
57222
57223       class salt.auth.pam.PamMessage
57224              Wrapper class for pam_message structure
57225
57226              msg    Structure/Union member
57227
57228              msg_style
57229                     Structure/Union member
57230
57231       class salt.auth.pam.PamResponse
57232              Wrapper class for pam_response structure
57233
57234              resp   Structure/Union member
57235
57236              resp_retcode
57237                     Structure/Union member
57238
57239       salt.auth.pam.auth(username, password, **kwargs)
57240              Authenticate via pam
57241
57242       salt.auth.pam.authenticate(username, password)
57243              Returns True if the given username and password authenticate for
57244              the given service.  Returns False otherwise
57245
57246              username: the username to authenticate
57247
57248              password: the password in plain text
57249
57250       salt.auth.pam.groups(username, *args, **kwargs)
57251              Retrieve groups for a given user for this auth provider
57252
57253              Uses system groups
57254
57255   salt.auth.pki
57256       Authenticate via a PKI certificate.
57257
57258       NOTE:
57259          This module is Experimental and should be used with caution
57260
57261       Provides an authenticate function that will allow the caller to authen‐
57262       ticate a user via their public cert against a  pre-defined  Certificate
57263       Authority.
57264
57265       TODO:  Add a 'ca_dir' option to configure a directory of CA files, a la
57266       Apache.
57267
57268       depends
57269
57270              · pyOpenSSL module
57271
57272       salt.auth.pki.auth(username, password, **kwargs)
57273              Returns True if the given user cert (password is the  cert  con‐
57274              tents)  was  issued by the CA and if cert's Common Name is equal
57275              to username.
57276
57277              Returns False otherwise.
57278
57279              username: we need it to run the auth function from CLI/API;
57280                     it should be in master config auth/acl
57281
57282              password: contents of user certificate (pem-encoded user  public
57283              key);
57284                     why "password"? For CLI, it's the only available name
57285
57286              Configure the CA cert in the master config file:
57287
57288                 external_auth:
57289                   pki:
57290                     ca_file: /etc/pki/tls/ca_certs/trusted-ca.crt
57291                     your_user:
57292                       - .*
57293
57294   salt.auth.rest
57295       Provide authentication using a REST call
57296
57297       REST auth can be defined like any other eauth module:
57298
57299          external_auth:
57300            rest:
57301              ^url: https://url/for/rest/call
57302              fred:
57303                - .*
57304                - '@runner'
57305
57306       If  there  are  entries  underneath the ^url entry then they are merged
57307       with any responses from the REST call.  In the above example,  assuming
57308       the  REST call does not return any additional ACLs, this will authenti‐
57309       cate Fred via a REST call and allow him to run any execution module and
57310       all runners.
57311
57312       The  REST call should return a JSON object that maps to a regular eauth
57313       YAML structure as above.
57314
57315       salt.auth.rest.auth(username, password)
57316              REST authentication
57317
57318       salt.auth.rest.rest_auth_setup()
57319
57320   salt.auth.sharedsecret
57321       Provide authentication using configured shared secret
57322
57323          external_auth:
57324            sharedsecret:
57325              fred:
57326                - .*
57327                - '@jobs'
57328
57329       The shared secret should be added  to  the  master  configuration,  for
57330       example in /etc/salt/master.d/sharedsecret.conf (make sure that file is
57331       only readable by the user running the master):
57332
57333          sharedsecret: OIUHF_CHANGE_THIS_12h88
57334
57335       This auth module should be used with caution. It was initially designed
57336       to  work  with a frontal that takes care of authentication (for example
57337       kerberos) and places the shared secret  in  the  HTTP  headers  to  the
57338       salt-api call. This salt-api call should really be done on localhost to
57339       avoid someone eavesdropping on the shared secret.
57340
57341       See the documentation  for  cherrypy  to  setup  the  headers  in  your
57342       frontal.
57343
57344       New in version Beryllium.
57345
57346
57347       salt.auth.sharedsecret.auth(username, password)
57348              Shared secret authentication
57349
57350   salt.auth.yubico
57351       Provide authentication using YubiKey.
57352
57353       New in version 2015.5.0.
57354
57355
57356       depends
57357              yubico-client Python module
57358
57359       To get your YubiKey API key you will need to visit the website below.
57360
57361       https://upgrade.yubico.com/getapikey/
57362
57363       The resulting page will show the generated Client ID (aka AuthID or API
57364       ID) and the generated API key (Secret Key). Make a note of both and use
57365       these two values in your /etc/salt/master configuration.
57366          /etc/salt/master
57367
57368              yubico_users:
57369                damian:
57370                  id: 12345
57371                  key: ABCDEFGHIJKLMNOPQRSTUVWXYZ
57372
57373              external_auth:
57374                yubico:
57375                  damian:
57376                    - test.*
57377
57378       Please wait five to ten minutes after generating the key before testing
57379       so that the API key will be updated on all the YubiCloud servers.
57380
57381       salt.auth.yubico.auth(username, password)
57382              Authenticate against yubico server
57383
57384       salt.auth.yubico.groups(username, *args, **kwargs)
57385
57386   beacon modules
57387                   ┌─────────────────┬────────────────────────────┐
57388adb              │ Beacon to emit adb  device │
57389                   │                 │ state  changes for Android │
57390                   │                 │ devices                    │
57391                   ├─────────────────┼────────────────────────────┤
57392avahi_announce   │ Beacon  to  announce   via │
57393                   │                 │ avahi (zeroconf)           │
57394                   ├─────────────────┼────────────────────────────┤
57395bonjour_announce │ Beacon   to  announce  via │
57396                   │                 │ Bonjour (zeroconf)         │
57397                   ├─────────────────┼────────────────────────────┤
57398btmp             │ Beacon to fire  events  at │
57399                   │                 │ failed login of users      │
57400                   ├─────────────────┼────────────────────────────┤
57401diskusage        │ Beacon   to  monitor  disk │
57402                   │                 │ usage.                     │
57403                   ├─────────────────┼────────────────────────────┤
57404glxinfo          │ Beacon to emit when a dis‐ │
57405                   │                 │ play  is  available  to  a │
57406                   │                 │ linux machine              │
57407                   ├─────────────────┼────────────────────────────┤
57408haproxy          │ Watch current  connections │
57409                   │                 │ of  haproxy  server  back‐ │
57410                   │                 │ ends.                      │
57411                   ├─────────────────┼────────────────────────────┤
57412inotify          │ Watch files and  translate │
57413                   │                 │ the   changes   into  salt │
57414                   │                 │ events                     │
57415                   ├─────────────────┼────────────────────────────┤
57416journald         │ A simple beacon  to  watch │
57417                   │                 │ journald    for   specific │
57418                   │                 │ entries                    │
57419                   ├─────────────────┼────────────────────────────┤
57420load             │ Beacon to emit system load │
57421                   │                 │ averages                   │
57422                   ├─────────────────┼────────────────────────────┤
57423log              │                            │
57424                   ├─────────────────┼────────────────────────────┤
57425memusage         │ Beacon  to  monitor memory │
57426                   │                 │ usage.                     │
57427                   ├─────────────────┼────────────────────────────┤
57428napalm_beacon    │ Watch NAPALM functions and │
57429                   │                 │ fire  events  on  specific │
57430                   │                 │ triggers                   │
57431                   ├─────────────────┼────────────────────────────┤
57432network_info     │ Beacon to monitor  statis‐ │
57433                   │                 │ tics     from     ethernet │
57434                   │                 │ adapters                   │
57435                   ├─────────────────┼────────────────────────────┤
57436network_settings │ Beacon to monitor  network │
57437                   │                 │ adapter setting changes on │
57438                   │                 │ Linux                      │
57439                   ├─────────────────┼────────────────────────────┤
57440pkg              │ Watch for pkgs  that  have │
57441                   │                 │ upgrades,   then  fire  an │
57442                   │                 │ event.                     │
57443                   ├─────────────────┼────────────────────────────┤
57444proxy_example    │ Example beacon to use with │
57445                   │                 │ salt-proxy                 │
57446                   ├─────────────────┼────────────────────────────┤
57447ps               │ Send    events    covering │
57448                   │                 │ process status             │
57449                   ├─────────────────┼────────────────────────────┤
57450salt_proxy       │ Beacon   to   manage   and │
57451                   │                 │ report  the  status of one │
57452                   │                 │ or more  salt  proxy  pro‐ │
57453                   │                 │ cesses                     │
57454                   ├─────────────────┼────────────────────────────┤
57455sensehat         │ Monitor       temperature, │
57456                   │                 │ humidity   and    pressure │
57457                   │                 │ using  the  SenseHat  of a │
57458                   │                 │ Raspberry Pi               │
57459                   ├─────────────────┼────────────────────────────┤
57460service          │ Send events covering  ser‐ │
57461                   │                 │ vice status                │
57462                   ├─────────────────┼────────────────────────────┤
57463sh               │ Watch  the  shell commands │
57464                   │                 │ being executed actively.   │
57465                   ├─────────────────┼────────────────────────────┤
57466status           │ The   status   beacon   is │
57467                   │                 │ intended  to  send a basic │
57468                   │                 │ health check event  up  to │
57469                   │                 │ the  master,  this  allows │
57470                   │                 │ for event driven  routines │
57471                   │                 │ based  on  presence  to be │
57472                   │                 │ set up.                    │
57473                   ├─────────────────┼────────────────────────────┤
57474telegram_bot_msg │ Beacon  to  emit  Telegram │
57475                   │                 │ messages                   │
57476                   ├─────────────────┼────────────────────────────┤
57477twilio_txt_msg   │ Beacon to emit Twilio text │
57478                   │                 │ messages                   │
57479                   ├─────────────────┼────────────────────────────┤
57480wtmp             │ Beacon to fire  events  at │
57481                   │                 │ login  of  users as regis‐ │
57482                   │                 │ tered in the wtmp file     │
57483                   └─────────────────┴────────────────────────────┘
57484
57485   salt.beacons.adb module
57486       Beacon to emit adb device state changes for Android devices
57487
57488       New in version 2016.3.0.
57489
57490
57491       salt.beacons.adb.beacon(config)
57492              Emit the status of all devices returned by adb
57493
57494              Specify the device states that should emit an event, there  will
57495              be an event for each device with the event type and device spec‐
57496              ified.
57497
57498                 beacons:
57499                   adb:
57500                     - states:
57501                         - offline
57502                         - unauthorized
57503                         - missing
57504                     - no_devices_event: True
57505                     - battery_low: 25
57506
57507       salt.beacons.adb.validate(config)
57508              Validate the beacon configuration
57509
57510   salt.beacons.avahi_announce module
57511       Beacon to announce via avahi (zeroconf)
57512
57513       New in version 2016.11.0.
57514
57515
57516   Dependencies
57517       · python-avahi
57518
57519       · dbus-python
57520
57521       salt.beacons.avahi_announce.beacon(config)
57522              Broadcast values via zeroconf
57523
57524              If the announced  values  are  static,  it  is  advised  to  set
57525              run_once: True (do not poll) on the beacon configuration.
57526
57527              The following are required configuration settings:
57528
57529              · servicetype - The service type to announce
57530
57531              · port - The port of the service to announce
57532
57533              · txt - The TXT record of the service being announced as a dict.
57534                Grains can be used to define TXT values using one of following
57535                two formats:
57536
57537                · grains.<grain_name>
57538
57539                · grains.<grain_name>[i]  where  i  is an integer representing
57540                  the index of the grain to use. If the grain is not  a  list,
57541                  the index is ignored.
57542
57543              The following are optional configuration settings:
57544
57545              · servicename  - Set the name of the service. Will use the host‐
57546                name from the minion's host grain if this value is not set.
57547
57548              · reset_on_change - If True and there is a change in TXT records
57549                detected, it will stop announcing the service and then restart
57550                announcing the service. This interruption in service announce‐
57551                ment  may  be desirable if the client relies on changes in the
57552                browse records to update its cache of TXT records. Defaults to
57553                False.
57554
57555              · reset_wait  - The number of seconds to wait after announcement
57556                stops announcing and before it restarts announcing in the case
57557                where   there   is  a  change  in  TXT  records  detected  and
57558                reset_on_change is True.  Defaults to 0.
57559
57560              · copy_grains - If True, Salt will copy the grains  passed  into
57561                the  beacon  when it backs them up to check for changes on the
57562                next iteration.  Normally,  instead  of  copy,  it  would  use
57563                straight  value  assignment.  This  will  allow  detection  of
57564                changes to grains  where  the  grains  are  modified  in-place
57565                instead  of  completely replaced.  In-place grains changes are
57566                not currently done in the main Salt code but may be  done  due
57567                to a custom plug-in. Defaults to False.
57568
57569              Example Config
57570
57571                 beacons:
57572                   avahi_announce:
57573                     - run_once: True
57574                     - servicetype: _demo._tcp
57575                     - port: 1234
57576                     - txt:
57577                         ProdName: grains.productname
57578                         SerialNo: grains.serialnumber
57579                         Comments: 'this is a test'
57580
57581       salt.beacons.avahi_announce.validate(config)
57582              Validate the beacon configuration
57583
57584   salt.beacons.bonjour_announce module
57585       Beacon to announce via Bonjour (zeroconf)
57586
57587       salt.beacons.bonjour_announce.beacon(config)
57588              Broadcast values via zeroconf
57589
57590              If  the  announced  values  are  static,  it  is  advised to set
57591              run_once: True (do not poll) on the beacon configuration.
57592
57593              The following are required configuration settings:
57594
57595              · servicetype - The service type to announce
57596
57597              · port - The port of the service to announce
57598
57599              · txt - The TXT record of the service being announced as a dict.
57600                Grains can be used to define TXT values using one of following
57601                two formats:
57602
57603                · grains.<grain_name>
57604
57605                · grains.<grain_name>[i] where i is  an  integer  representing
57606                  the  index  of the grain to use. If the grain is not a list,
57607                  the index is ignored.
57608
57609              The following are optional configuration settings:
57610
57611              · servicename - Set the name of the service. Will use the  host‐
57612                name from the minion's host grain if this value is not set.
57613
57614              · reset_on_change - If True and there is a change in TXT records
57615                detected, it will stop announcing the service and then restart
57616                announcing the service. This interruption in service announce‐
57617                ment may be desirable if the client relies on changes  in  the
57618                browse records to update its cache of TXT records. Defaults to
57619                False.
57620
57621              · reset_wait - The number of seconds to wait after  announcement
57622                stops announcing and before it restarts announcing in the case
57623                where  there  is  a  change  in  TXT  records   detected   and
57624                reset_on_change is True.  Defaults to 0.
57625
57626              · copy_grains  -  If True, Salt will copy the grains passed into
57627                the beacon when it backs them up to check for changes  on  the
57628                next  iteration.   Normally,  instead  of  copy,  it would use
57629                straight  value  assignment.  This  will  allow  detection  of
57630                changes  to  grains  where  the  grains  are modified in-place
57631                instead of completely replaced.  In-place grains  changes  are
57632                not  currently  done in the main Salt code but may be done due
57633                to a custom plug-in. Defaults to False.
57634
57635              Example Config
57636
57637                 beacons:
57638                   bonjour_announce:
57639                     - run_once: True
57640                     - servicetype: _demo._tcp
57641                     - port: 1234
57642                     - txt:
57643                         ProdName: grains.productname
57644                         SerialNo: grains.serialnumber
57645                         Comments: 'this is a test'
57646
57647       salt.beacons.bonjour_announce.validate(config)
57648              Validate the beacon configuration
57649
57650   salt.beacons.btmp
57651       Beacon to fire events at failed login of users
57652
57653       New in version 2015.5.0.
57654
57655
57656   Example Configuration
57657          # Fire events on all failed logins
57658          beacons:
57659            btmp: []
57660
57661          # Matching on user name, using a default time range
57662          beacons:
57663            btmp:
57664              - users:
57665                  gareth:
57666              - defaults:
57667                  time_range:
57668                      start: '8am'
57669                      end: '4pm'
57670
57671          # Matching on user name, overriding the default time range
57672          beacons:
57673            btmp:
57674              - users:
57675                  gareth:
57676                      time_range:
57677                          start: '8am'
57678                          end: '4pm'
57679              - defaults:
57680                  time_range:
57681                      start: '8am'
57682                      end: '4pm'
57683
57684          # Matching on group name, overriding the default time range
57685          beacons:
57686            btmp:
57687              - groups:
57688                  users:
57689                      time_range:
57690                          start: '8am'
57691                          end: '4pm'
57692              - defaults:
57693                  time_range:
57694                      start: '8am'
57695                      end: '4pm'
57696
57697   Use Case: Posting Failed Login Events to Slack
57698       This can be done using the following reactor SLS:
57699
57700          report-wtmp:
57701            runner.salt.cmd:
57702              - args:
57703                - fun: slack.post_message
57704                - channel: mychannel      # Slack channel
57705                - from_name: someuser     # Slack user
57706                - message: "Failed login from `{{ data.get('user', '') or 'unknown user' }}` on `{{ data['id'] }}`"
57707
57708       Match the event like so in the master config file:
57709
57710          reactor:
57711
57712            - 'salt/beacon/*/btmp/':
57713              - salt://reactor/btmp.sls
57714
57715       NOTE:
57716          This approach uses the slack execution module directly on  the  mas‐
57717          ter,  and  therefore requires that the master has a slack API key in
57718          its configuration:
57719
57720              slack:
57721                api_key: xoxb-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX
57722
57723          See the slack execution module documentation for  more  information.
57724          While  you  can use an individual user's API key to post to Slack, a
57725          bot user is likely better suited for this. The slack engine documen‐
57726          tation has information on how to set up a bot user.
57727
57728       salt.beacons.btmp.beacon(config)
57729              Read  the  last  btmp  file and return information on the failed
57730              logins
57731
57732       salt.beacons.btmp.validate(config)
57733              Validate the beacon configuration
57734
57735   salt.beacons.diskusage
57736       Beacon to monitor disk usage.
57737
57738       New in version 2015.5.0.
57739
57740
57741       depends
57742              python-psutil
57743
57744       salt.beacons.diskusage.beacon(config)
57745              Monitor the disk usage of the minion
57746
57747              Specify thresholds for each disk and only emit a beacon  if  any
57748              of them are exceeded.
57749
57750                 beacons:
57751                   diskusage:
57752                     - /: 63%
57753                     - /mnt/nfs: 50%
57754
57755              Windows drives must be quoted to avoid yaml syntax errors
57756
57757                 beacons:
57758                   diskusage:
57759                     -  interval: 120
57760                     - 'c:\\': 90%
57761                     - 'd:\\': 50%
57762
57763              Regular expressions can be used as mount points.
57764
57765                 beacons:
57766                   diskusage:
57767                     - '^\/(?!home).*$': 90%
57768                     - '^[a-zA-Z]:\\$': 50%
57769
57770              The  first  one will match all mounted disks beginning with "/",
57771              except /home The second one will match disks from  A:to  Z:on  a
57772              Windows system
57773
57774              Note  that  if  a  regular expression are evaluated after static
57775              mount points, which means that if a regular  expression  matches
57776              another  defined  mount  point,  it will override the previously
57777              defined threshold.
57778
57779       salt.beacons.diskusage.validate(config)
57780              Validate the beacon configuration
57781
57782   salt.beacons.glxinfo module
57783       Beacon to emit when a display is available to a linux machine
57784
57785       New in version 2016.3.0.
57786
57787
57788       salt.beacons.glxinfo.beacon(config)
57789              Emit the status of a connected display to the minion
57790
57791              Mainly this is used to detect when the display fails to  connect
57792              for whatever reason.
57793
57794                 beacons:
57795                   glxinfo:
57796                     - user: frank
57797                     - screen_event: True
57798
57799       salt.beacons.glxinfo.validate(config)
57800              Validate the beacon configuration
57801
57802   salt.beacons.haproxy module
57803       Watch  current  connections  of haproxy server backends.  Fire an event
57804       when over a specified threshold.
57805
57806       New in version 2016.11.0.
57807
57808
57809       salt.beacons.haproxy.beacon(config)
57810              Check if current number of sessions of a server for  a  specific
57811              haproxy backend is over a defined threshold.
57812
57813                 beacons:
57814                   haproxy:
57815                     - backends:
57816                         www-backend:
57817                             threshold: 45
57818                             servers:
57819                               - web1
57820                               - web2
57821                     - interval: 120
57822
57823       salt.beacons.haproxy.validate(config)
57824              Validate the beacon configuration
57825
57826   salt.beacons.inotify
57827       Watch files and translate the changes into salt events
57828
57829       depends
57830
57831              · pyinotify Python module >= 0.9.5
57832
57833       Caution
57834              Using  generic  mask  options  like  open,  access, ignored, and
57835              closed_nowrite with reactors can easily  cause  the  reactor  to
57836              loop  on itself. To mitigate this behavior, consider setting the
57837              disable_during_state_run flag to True in the  beacon  configura‐
57838              tion.
57839
57840       note   The  inotify  beacon only works on OSes that have inotify kernel
57841              support.
57842
57843       salt.beacons.inotify.beacon(config)
57844              Watch the configured files
57845
57846              Example Config
57847
57848                 beacons:
57849                   inotify:
57850                     - files:
57851                         /path/to/file/or/dir:
57852                           mask:
57853                             - open
57854                             - create
57855                             - close_write
57856                           recurse: True
57857                           auto_add: True
57858                           exclude:
57859                             - /path/to/file/or/dir/exclude1
57860                             - /path/to/file/or/dir/exclude2
57861                             - /path/to/file/or/dir/regex[a-m]*$:
57862                                 regex: True
57863                     - coalesce: True
57864
57865              The mask list can contain the following events (the default mask
57866              is create, delete, and modify):
57867
57868              · access            - File accessed
57869
57870              · attrib            - File metadata changed
57871
57872              · close_nowrite     - Unwritable file closed
57873
57874              · close_write       - Writable file closed
57875
57876              · create            - File created in watched directory
57877
57878              · delete            - File deleted from watched directory
57879
57880              · delete_self       - Watched file or directory deleted
57881
57882              · modify            - File modified
57883
57884              · moved_from        - File moved out of watched directory
57885
57886              · moved_to          - File moved into watched directory
57887
57888              · move_self         - Watched file moved
57889
57890              · open              - File opened
57891
57892              The mask can also contain the following options:
57893
57894              · dont_follow       - Don't dereference symbolic links
57895
57896              · excl_unlink        -  Omit events for children after they have
57897                been unlinked
57898
57899              · oneshot           - Remove watch after one event
57900
57901              · onlydir           - Operate only if name is directory
57902
57903              recurse:
57904                     Recursively watch files in the directory
57905
57906              auto_add:
57907                     Automatically start watching files that  are  created  in
57908                     the watched directory
57909
57910              exclude:
57911                     Exclude  directories  or  files from triggering events in
57912                     the watched directory.  Can use regex if regex is set  to
57913                     True
57914
57915              coalesce:
57916                     If this coalescing option is enabled, events are filtered
57917                     based on their unicity, only unique events are  enqueued,
57918                     doublons are discarded.  An event is unique when the com‐
57919                     bination of its fields (wd, mask, cookie, name) is unique
57920                     among  events of a same batch. After a batch of events is
57921                     processed any events are accepted again.  This option  is
57922                     top-level  (at  the same level as the path) and therefore
57923                     affects all paths that are being watched. This is due  to
57924                     this option being at the Notifier level in pyinotify.
57925
57926       salt.beacons.inotify.close(config)
57927
57928       salt.beacons.inotify.validate(config)
57929              Validate the beacon configuration
57930
57931   salt.beacons.journald
57932       A simple beacon to watch journald for specific entries
57933
57934       salt.beacons.journald.beacon(config)
57935              The  journald beacon allows for the systemd journal to be parsed
57936              and linked objects to be turned into events.
57937
57938              This beacons config will return all sshd jornal entries
57939
57940                 beacons:
57941                   journald:
57942                     - services:
57943                         sshd:
57944                           SYSLOG_IDENTIFIER: sshd
57945                           PRIORITY: 6
57946
57947       salt.beacons.journald.validate(config)
57948              Validate the beacon configuration
57949
57950   salt.beacons.load
57951       Beacon to emit system load averages
57952
57953       salt.beacons.load.beacon(config)
57954              Emit the load averages of this host.
57955
57956              Specify thresholds for each load average and only emit a  beacon
57957              if any of them are exceeded.
57958
57959              onchangeonly:  when  onchangeonly  is  True the beacon will fire
57960              events only when the load average pass  one  threshold.   Other‐
57961              wise,  it  will  fire  an  event  at  each beacon interval.  The
57962              default is False.
57963
57964              emitatstartup: when emitatstartup is False the beacon  will  not
57965              fire
57966                     event  when  the  minion  is reload. Applicable only when
57967                     onchangeonly is True.  The default is True.
57968
57969                 beacons:
57970                   load:
57971                     - averages:
57972                         1m:
57973                           - 0.0
57974                           - 2.0
57975                         5m:
57976                           - 0.0
57977                           - 1.5
57978                         15m:
57979                           - 0.1
57980                           - 1.0
57981                     - emitatstartup: True
57982                     - onchangeonly: False
57983
57984       salt.beacons.load.validate(config)
57985              Validate the beacon configuration
57986
57987   salt.beacons.log module
57988       Beacon to fire events at specific log messages.
57989
57990       New in version 2017.7.0.
57991
57992
57993       salt.beacons.log.beacon(config)
57994              Read the log file and return match whole string
57995
57996                 beacons:
57997                     log:
57998                       - file: <path>
57999                       - tags:
58000                           <tag>:
58001                             regex: <pattern>
58002
58003              NOTE:
58004                 regex matching is based on the re module
58005
58006       salt.beacons.log.validate(config)
58007              Validate the beacon configuration
58008
58009   salt.beacons.memusage module
58010       Beacon to monitor memory usage.
58011
58012       New in version 2016.3.0.
58013
58014
58015       depends
58016              python-psutil
58017
58018       salt.beacons.memusage.beacon(config)
58019              Monitor the memory usage of the minion
58020
58021              Specify thresholds for percent used and only emit a beacon if it
58022              is exceeded.
58023
58024                 beacons:
58025                   memusage:
58026                     - percent: 63%
58027
58028       salt.beacons.memusage.validate(config)
58029              Validate the beacon configuration
58030
58031   salt.beacons.napalm_beacon
58032   Watch NAPALM functions and fire events on specific triggers
58033       New in version 2018.3.0.
58034
58035
58036       NOTE:
58037          The  NAPALM beacon only works only when running under a regular Min‐
58038          ion or a Proxy Minion, managed via NAPALM.  Check the  documentation
58039          for the NAPALM proxy module.
58040
58041       The  configuration  accepts a list of Salt functions to be invoked, and
58042       the corresponding output hierarchy that should be matched  against.  To
58043       invoke  a  function with certain arguments, they can be specified using
58044       the _args key, or _kwargs for more specific key-value arguments.
58045
58046       The match structure follows the output hierarchy of  the  NAPALM  func‐
58047       tions, under the out key.
58048
58049       For  example,  the  following  is  normal  structure  returned  by  the
58050       ntp.stats execution function:
58051
58052          {
58053              "comment": "",
58054              "result": true,
58055              "out": [
58056                  {
58057                      "referenceid": ".GPSs.",
58058                      "remote": "172.17.17.1",
58059                      "synchronized": true,
58060                      "reachability": 377,
58061                      "offset": 0.461,
58062                      "when": "860",
58063                      "delay": 143.606,
58064                      "hostpoll": 1024,
58065                      "stratum": 1,
58066                      "jitter": 0.027,
58067                      "type": "-"
58068                  },
58069                  {
58070                      "referenceid": ".INIT.",
58071                      "remote": "172.17.17.2",
58072                      "synchronized": false,
58073                      "reachability": 0,
58074                      "offset": 0.0,
58075                      "when": "-",
58076                      "delay": 0.0,
58077                      "hostpoll": 1024,
58078                      "stratum": 16,
58079                      "jitter": 4000.0,
58080                      "type": "-"
58081                  }
58082              ]
58083          }
58084
58085       In order to fire events when the synchronization is lost  with  one  of
58086       the NTP peers, e.g., 172.17.17.2, we can match it explicitly as:
58087
58088          ntp.stats:
58089            remote: 172.17.17.2
58090            synchronized: false
58091
58092       There is one single nesting level, as the output of ntp.stats is just a
58093       list of dictionaries, and this beacon will compare each dictionary from
58094       the list with the structure examplified above.
58095
58096       NOTE:
58097          When we want to match on any element at a certain level, we can con‐
58098          figure * to match anything.
58099
58100       Considering a more complex structure consisting on multiple nested lev‐
58101       els, e.g., the output of the bgp.neighbors execution function, to check
58102       when any neighbor from the global routing  table  is  down,  the  match
58103       structure would have the format:
58104
58105          bgp.neighbors:
58106            global:
58107              '*':
58108                up: false
58109
58110       The match structure above will match any BGP neighbor, with any network
58111       (* matches any AS number), under the global VRF.  In other words,  this
58112       beacon  will  push an event on the Salt bus when there's a BGP neighbor
58113       down.
58114
58115       The right operand can also accept mathematical operations (i.e., <, <=,
58116       !=, >, >= etc.) when comparing numerical values.
58117
58118       Configuration Example:
58119
58120          beacons:
58121            napalm:
58122              - net.interfaces:
58123                  # fire events when any interfaces is down
58124                  '*':
58125                    is_up: false
58126              - net.interfaces:
58127                  # fire events only when the xe-0/0/0 interface is down
58128                  'xe-0/0/0':
58129                    is_up: false
58130              - ntp.stats:
58131                  # fire when there's any NTP peer unsynchornized
58132                  synchronized: false
58133              - ntp.stats:
58134                  # fire only when the synchronization
58135                  # with with the 172.17.17.2 NTP server is lost
58136                  _args:
58137                    - 172.17.17.2
58138                  synchronized: false
58139              - ntp.stats:
58140                  # fire only when there's a NTP peer with
58141                  # synchronization stratum > 5
58142                  stratum: '> 5'
58143
58144       Event structure example:
58145
58146          {
58147              "_stamp": "2017-09-05T09:51:09.377202",
58148              "args": [],
58149              "data": {
58150                  "comment": "",
58151                  "out": [
58152                      {
58153                          "delay": 0.0,
58154                          "hostpoll": 1024,
58155                          "jitter": 4000.0,
58156                          "offset": 0.0,
58157                          "reachability": 0,
58158                          "referenceid": ".INIT.",
58159                          "remote": "172.17.17.1",
58160                          "stratum": 16,
58161                          "synchronized": false,
58162                          "type": "-",
58163                          "when": "-"
58164                      }
58165                  ],
58166                  "result": true
58167              },
58168              "fun": "ntp.stats",
58169              "id": "edge01.bjm01",
58170              "kwargs": {},
58171              "match": {
58172                  "stratum": "> 5"
58173              }
58174          }
58175
58176       The  event  examplified above has been fired when the device identified
58177       by the Minion id edge01.bjm01 has been synchronized with a  NTP  server
58178       at a stratum level greater than 5.
58179
58180       salt.beacons.napalm_beacon.beacon(config)
58181              Watch napalm function and fire events.
58182
58183       salt.beacons.napalm_beacon.validate(config)
58184              Validate the beacon configuration.
58185
58186   salt.beacons.network_info
58187       Beacon to monitor statistics from ethernet adapters
58188
58189       New in version 2015.5.0.
58190
58191
58192       salt.beacons.network_info.beacon(config)
58193              Emit the network statistics of this host.
58194
58195              Specify  thresholds for each network stat and only emit a beacon
58196              if any of them are exceeded.
58197
58198              Emit beacon when any values are equal to configured values.
58199
58200                 beacons:
58201                   network_info:
58202                     - interfaces:
58203                         eth0:
58204                           type: equal
58205                           bytes_sent: 100000
58206                           bytes_recv: 100000
58207                           packets_sent: 100000
58208                           packets_recv: 100000
58209                           errin: 100
58210                           errout: 100
58211                           dropin: 100
58212                           dropout: 100
58213
58214              Emit beacon when any values are greater than configured values.
58215
58216                 beacons:
58217                   network_info:
58218                     - interfaces:
58219                         eth0:
58220                           type: greater
58221                           bytes_sent: 100000
58222                           bytes_recv: 100000
58223                           packets_sent: 100000
58224                           packets_recv: 100000
58225                           errin: 100
58226                           errout: 100
58227                           dropin: 100
58228                           dropout: 100
58229
58230       salt.beacons.network_info.validate(config)
58231              Validate the beacon configuration
58232
58233   salt.beacons.network_settings
58234       Beacon to monitor network adapter setting changes on Linux
58235
58236       New in version 2016.3.0.
58237
58238
58239       class salt.beacons.network_settings.Hashabledict
58240              Helper class that implements a hash function for a dictionary
58241
58242       salt.beacons.network_settings.beacon(config)
58243              Watch for changes on network settings
58244
58245              By default, the beacon will emit when there is a value change on
58246              one  of the settings on watch. The config also support the onva‐
58247              lue parameter for each setting, which  instruct  the  beacon  to
58248              only emit if the setting changed to the value defined.
58249
58250              Example Config
58251
58252                 beacons:
58253                   network_settings:
58254                     - interfaces:
58255                         eth0:
58256                           ipaddr:
58257                           promiscuity:
58258                             onvalue: 1
58259                         eth1:
58260                           linkmode:
58261
58262              The config above will check for value changes on eth0 ipaddr and
58263              eth1 linkmode. It  will  also  emit  if  the  promiscuity  value
58264              changes to 1.
58265
58266              Beacon  items  can use the * wildcard to make a definition apply
58267              to several interfaces. For example an eth* would  apply  to  all
58268              ethernet interfaces.
58269
58270              Setting the argument coalesce = True will combine all the beacon
58271              results on a single event.  The example below shows how to trig‐
58272              ger coalesced results:
58273
58274                 beacons:
58275                   network_settings:
58276                     - coalesce: True
58277                     - interfaces:
58278                         eth0:
58279                           ipaddr:
58280                           promiscuity:
58281
58282       salt.beacons.network_settings.validate(config)
58283              Validate the beacon configuration
58284
58285   salt.beacons.pkg
58286       Watch for pkgs that have upgrades, then fire an event.
58287
58288       New in version 2016.3.0.
58289
58290
58291       salt.beacons.pkg.beacon(config)
58292              Check  if installed packages are the latest versions and fire an
58293              event for those that have upgrades.
58294
58295                 beacons:
58296                   pkg:
58297                     - pkgs:
58298                         - zsh
58299                         - apache2
58300                     - refresh: True
58301
58302       salt.beacons.pkg.validate(config)
58303              Validate the beacon configuration
58304
58305   salt.beacons.proxy_example module
58306       Example beacon to use with salt-proxy
58307
58308          beacons:
58309            proxy_example:
58310              endpoint: beacon
58311
58312       salt.beacons.proxy_example.beacon(config)
58313              Called         several         times         each         second
58314              https://docs.saltstack.com/en/latest/topics/beacons/#the-beacon-function
58315
58316                 beacons:
58317                   proxy_example:
58318                     - endpoint: beacon
58319
58320       salt.beacons.proxy_example.validate(config)
58321              Validate the beacon configuration
58322
58323   salt.beacons.ps module
58324       Send events covering process status
58325
58326       salt.beacons.ps.beacon(config)
58327              Scan for processes and fire events
58328
58329              Example Config
58330
58331                 beacons:
58332                   ps:
58333                     - processes:
58334                         salt-master: running
58335                         mysql: stopped
58336
58337              The config above sets up beacons to  check  that  processes  are
58338              running or stopped.
58339
58340       salt.beacons.ps.validate(config)
58341              Validate the beacon configuration
58342
58343   salt.beacons.salt_proxy module
58344       Beacon  to  manage and report the status of one or more salt proxy pro‐
58345       cesses
58346
58347       New in version 2015.8.3.
58348
58349
58350       salt.beacons.salt_proxy.beacon(config)
58351              Handle configured proxies
58352
58353                 beacons:
58354                   salt_proxy:
58355                     - proxies:
58356                         p8000: {}
58357                         p8001: {}
58358
58359       salt.beacons.salt_proxy.validate(config)
58360              Validate the beacon configuration
58361
58362   salt.beacons.sensehat module
58363   Monitor temperature, humidity and pressure using the SenseHat  of  a  Rasp‐
58364       berry Pi
58365       New in version 2017.7.0.
58366
58367
58368       maintainer
58369              Benedikt Werner <1benediktwerner@gmail.com>
58370
58371       maturity
58372              new
58373
58374       depends
58375              sense_hat Python module
58376
58377       salt.beacons.sensehat.beacon(config)
58378              Monitor  the temperature, humidity and pressure using the Sense‐
58379              Hat sensors.
58380
58381              You can either specify a threshold for each value and only  emit
58382              a  beacon  if it is exceeded or define a range and emit a beacon
58383              when the value is out of range.
58384
58385              Units: * humidity:                      percent  *  temperature:
58386              degrees  Celsius * temperature_from_pressure:    degrees Celsius
58387              * pressure:                     Millibars
58388
58389                 beacons:
58390                   sensehat:
58391                     - sensors:
58392                         humidity: 70%
58393                         temperature: [20, 40]
58394                         temperature_from_pressure: 40
58395                         pressure: 1500
58396
58397       salt.beacons.sensehat.validate(config)
58398              Validate the beacon configuration
58399
58400   salt.beacons.service
58401       Send events covering service status
58402
58403       salt.beacons.service.beacon(config)
58404              Scan for the configured services and fire events
58405
58406              Example Config
58407
58408                 beacons:
58409                   service:
58410                     - services:
58411                         salt-master: {}
58412                         mysql: {}
58413
58414              The config above sets up beacons to check  for  the  salt-master
58415              and mysql services.
58416
58417              The config also supports two other parameters for each service:
58418
58419              onchangeonly:  when  onchangeonly  is  True the beacon will fire
58420              events only when the service status changes.  Otherwise, it will
58421              fire an event at each beacon interval.  The default is False.
58422
58423              delay:  when delay is greater than 0 the beacon will fire events
58424              only after the service status changes, and the  delay  (in  sec‐
58425              onds)  has  passed.   Applicable only when onchangeonly is True.
58426              The default is 0.
58427
58428              emitatstartup: when emitatstartup is False the beacon  will  not
58429              fire  event  when  the  minion  is  reload. Applicable only when
58430              onchangeonly is True.  The default is True.
58431
58432              uncleanshutdown: If uncleanshutdown is present it  should  point
58433              to  the  location  of a pid file for the service.  Most services
58434              will not clean up this pid file if they are  shutdown  uncleanly
58435              (e.g.  via  kill  -9)  or if they are terminated through a crash
58436              such as a segmentation fault.  If the file is present, then  the
58437              beacon  will  add  uncleanshutdown:  True  to the event.  If not
58438              present, the field will be False.  The field is only added  when
58439              the  service is NOT running. Omitting the configuration variable
58440              altogether will turn this feature off.
58441
58442              Please note that some init systems can remove the  pid  file  if
58443              the  service  registers as crashed. One such example is nginx on
58444              CentOS 7, where the service unit removes the pid file  when  the
58445              service shuts down (IE: the pid file is observed as removed when
58446              kill -9 is sent to the nginx master process). The  'uncleanshut‐
58447              down'  option  might  not  be of much use there, unless the unit
58448              file is modified.
58449
58450              Here is an example that will fire an event 30 seconds after  the
58451              state  of  nginx  changes  and  report an uncleanshutdown.  This
58452              example is for Arch, which places nginx's pid file in /run.
58453
58454                 beacons:
58455                   service:
58456                     - services:
58457                         nginx:
58458                           onchangeonly: True
58459                           delay: 30
58460                           uncleanshutdown: /run/nginx.pid
58461
58462       salt.beacons.service.validate(config)
58463              Validate the beacon configuration
58464
58465   salt.beacons.sh
58466       Watch the shell commands being executed actively. This beacon  requires
58467       strace.
58468
58469       salt.beacons.sh.beacon(config)
58470              Scan  the  shell  execve  routines. This beacon will convert all
58471              login shells
58472
58473                 beacons:
58474                   sh: []
58475
58476       salt.beacons.sh.validate(config)
58477              Validate the beacon configuration
58478
58479   salt.beacons.status module
58480       The status beacon is intended to send a basic health check event up  to
58481       the  master, this allows for event driven routines based on presence to
58482       be set up.
58483
58484       The intention of this beacon is to add the config options to add  moni‐
58485       toring stats to the health beacon making it a one stop shop for gather‐
58486       ing systems health and status data
58487
58488       New in version 2016.11.0.
58489
58490
58491       To configure this beacon to use the defaults, set up an empty dict  for
58492       it in the minion config:
58493
58494          beacons:
58495            status: []
58496
58497       By  default, all of the information from the following execution module
58498       functions will be returned:
58499
58500          · loadavg
58501
58502          · cpustats
58503
58504          · meminfo
58505
58506          · vmstats
58507
58508          · time
58509
58510       You can also configure your own set of functions to be returned:
58511
58512          beacons:
58513            status:
58514              - time:
58515                - all
58516              - loadavg:
58517                - all
58518
58519       You may also configure only certain fields from  each  function  to  be
58520       returned.   For  instance,  the  loadavg function returns the following
58521       fields:
58522
58523          · 1-min
58524
58525          · 5-min
58526
58527          · 15-min
58528
58529       If you wanted to return only the 1-min and  5-min  fields  for  loadavg
58530       then you would configure:
58531
58532          beacons:
58533            status:
58534              - loadavg:
58535                - 1-min
58536                - 5-min
58537
58538       Other  functions  only  return  a single value instead of a dictionary.
58539       With these, you may specify all or 0. The following are both valid:
58540
58541          beacons:
58542            status:
58543              - time:
58544                - all
58545
58546          beacons:
58547            status:
58548              - time:
58549                - 0
58550
58551       If a status function returns a list, you may return the index marker or
58552       markers for specific list items:
58553
58554          beacons:
58555            status:
58556              - w:
58557                - 0
58558                - 1
58559                - 2
58560
58561       WARNING:
58562          Not  all  status functions are supported for every operating system.
58563          Be certain to check the minion log for errors after configuring this
58564          beacon.
58565
58566       salt.beacons.status.beacon(config)
58567              Return status for requested information
58568
58569       salt.beacons.status.validate(config)
58570              Validate the the config is a dict
58571
58572   salt.beacons.telegram_bot_msg
58573       Beacon to emit Telegram messages
58574
58575       Requires the python-telegram-bot library
58576
58577       salt.beacons.telegram_bot_msg.beacon(config)
58578              Emit  a dict with a key "msgs" whose value is a list of messages
58579              sent to the configured bot by one of the allowed usernames.
58580
58581                 beacons:
58582                   telegram_bot_msg:
58583                     - token: "<bot access token>"
58584                     - accept_from:
58585                       - "<valid username>"
58586                     - interval: 10
58587
58588       salt.beacons.telegram_bot_msg.validate(config)
58589              Validate the beacon configuration
58590
58591   salt.beacons.twilio_txt_msg
58592       Beacon to emit Twilio text messages
58593
58594       salt.beacons.twilio_txt_msg.beacon(config)
58595              Emit a dict name "texts" whose value is a list of texts.
58596
58597                 beacons:
58598                   twilio_txt_msg:
58599                     - account_sid: "<account sid>"
58600                     - auth_token: "<auth token>"
58601                     - twilio_number: "+15555555555"
58602                     - interval: 10
58603
58604       salt.beacons.twilio_txt_msg.validate(config)
58605              Validate the beacon configuration
58606
58607   salt.beacons.wtmp
58608       Beacon to fire events at login of users as registered in the wtmp file
58609
58610       New in version 2015.5.0.
58611
58612
58613   Example Configuration
58614          # Fire events on all logins
58615          beacons:
58616            wtmp: []
58617
58618          # Matching on user name, using a default time range
58619          beacons:
58620            wtmp:
58621              - users:
58622                  gareth:
58623              - defaults:
58624                  time_range:
58625                      start: '8am'
58626                      end: '4pm'
58627
58628          # Matching on user name, overriding the default time range
58629          beacons:
58630            wtmp:
58631              - users:
58632                  gareth:
58633                      time_range:
58634                          start: '7am'
58635                          end: '3pm'
58636              - defaults:
58637                  time_range:
58638                      start: '8am'
58639                      end: '4pm'
58640
58641          # Matching on group name, overriding the default time range
58642          beacons:
58643            wtmp:
58644              - groups:
58645                  users:
58646                      time_range:
58647                          start: '7am'
58648                          end: '3pm'
58649              - defaults:
58650                  time_range:
58651                      start: '8am'
58652                      end: '4pm'
58653
58654   How to Tell What An Event Means
58655       In the events that this beacon fires, a type  of  7  denotes  a  login,
58656       while  a  type  of  8  denotes a logout. These values correspond to the
58657       ut_type value from a wtmp/utmp event (see the  wtmp  manpage  for  more
58658       information).   In  the extremely unlikely case that your platform uses
58659       different values, they can be overridden using a  ut_type  key  in  the
58660       beacon configuration:
58661
58662          beacons:
58663            wtmp:
58664              - ut_type:
58665                  login: 9
58666                  logout: 10
58667
58668       This  beacon's  events include an action key which will be either login
58669       or logout depending on the event type.
58670
58671       Changed in version 2019.2.0: action key  added  to  beacon  event,  and
58672       ut_type config parameter added.
58673
58674
58675   Use Case: Posting Login/Logout Events to Slack
58676       This can be done using the following reactor SLS:
58677
58678          report-wtmp:
58679            runner.salt.cmd:
58680              - args:
58681                - fun: slack.post_message
58682                - channel: mychannel      # Slack channel
58683                - from_name: someuser     # Slack user
58684                - message: "{{ data.get('action', 'Unknown event') | capitalize }} from `{{ data.get('user', '') or 'unknown user' }}` on `{{ data['id'] }}`"
58685
58686       Match the event like so in the master config file:
58687
58688          reactor:
58689
58690            - 'salt/beacon/*/wtmp/':
58691              - salt://reactor/wtmp.sls
58692
58693       NOTE:
58694          This  approach  uses the slack execution module directly on the mas‐
58695          ter, and therefore requires that the master has a slack API  key  in
58696          its configuration:
58697
58698              slack:
58699                api_key: xoxb-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX
58700
58701          See  the  slack execution module documentation for more information.
58702          While you can use an individual user's API key to post to  Slack,  a
58703          bot user is likely better suited for this. The slack engine documen‐
58704          tation has information on how to set up a bot user.
58705
58706       salt.beacons.wtmp.beacon(config)
58707              Read the last wtmp file and return information on the logins
58708
58709       salt.beacons.wtmp.validate(config)
58710              Validate the beacon configuration
58711
58712   cache modules
58713                     ┌────────────┬────────────────────────────┐
58714consul      │ Minion data  cache  plugin │
58715                     │            │ for  Consul key/value data │
58716                     │            │ store.                     │
58717                     └────────────┴────────────────────────────┘
58718
58719
58720etcd_cache  │ Minion data  cache  plugin │
58721                     │            │ for  Etcd  key/value  data │
58722                     │            │ store.                     │
58723                     ├────────────┼────────────────────────────┤
58724localfs     │ Cache data in filesystem.  │
58725                     ├────────────┼────────────────────────────┤
58726mysql_cache │ Minion data  cache  plugin │
58727                     │            │ for MySQL database.        │
58728                     ├────────────┼────────────────────────────┤
58729redis_cache │ Redis                      │
58730                     └────────────┴────────────────────────────┘
58731
58732   salt.cache.consul
58733       Minion data cache plugin for Consul key/value data store.
58734
58735       New in version 2016.11.2.
58736
58737
58738       depends
58739              python-consul >= 0.2.0
58740
58741       It is up to the system administrator to set up and configure the Consul
58742       infrastructure. All is needed for this plugin is a working Consul agent
58743       with a read-write access to the key-value store.
58744
58745       The related documentation can be found in the Consul documentation.
58746
58747       To enable this cache plugin, the master will need the python client for
58748       Consul installed. This can be easily installed with pip:
58749
58750          pip install python-consul
58751
58752       Optionally, depending on the Consul agent configuration, the  following
58753       values could be set in the master config. These are the defaults:
58754
58755          consul.host: 127.0.0.1
58756          consul.port: 8500
58757          consul.token: None
58758          consul.scheme: http
58759          consul.consistency: default
58760          consul.dc: dc1
58761          consul.verify: True
58762
58763       Related docs could be found in the python-consul documentation.
58764
58765       To  use the consul as a minion data cache backend, set the master cache
58766       config value to consul:
58767
58768          cache: consul
58769
58770       salt.cache.consul.contains(bank, key)
58771              Checks if the specified bank contains the specified key.
58772
58773       salt.cache.consul.fetch(bank, key)
58774              Fetch a key value.
58775
58776       salt.cache.consul.flush(bank, key=None)
58777              Remove the key from the cache bank with all the key content.
58778
58779       salt.cache.consul.list_(bank)
58780              Return an iterable object containing all entries stored  in  the
58781              specified bank.
58782
58783       salt.cache.consul.store(bank, key, data)
58784              Store a key value.
58785
58786   salt.cache.etcd_cache
58787       Minion data cache plugin for Etcd key/value data store.
58788
58789       New in version develop.
58790
58791
58792       It  is  up to the system administrator to set up and configure the Etcd
58793       infrastructure. All is needed for this plugin is a working  Etcd  agent
58794       with a read-write access to the key-value store.
58795
58796       The related documentation can be found in the Etcd documentation.
58797
58798       To enable this cache plugin, the master will need the python client for
58799       Etcd installed. This can be easily installed with pip:
58800
58801          pip install python-etcd
58802
58803       Optionally, depending on the Etcd agent  configuration,  the  following
58804       values could be set in the master config. These are the defaults:
58805
58806          etcd.host: 127.0.0.1
58807          etcd.port: 2379
58808          etcd.protocol: http
58809          etcd.allow_reconnect: True
58810          etcd.allow_redirect: False
58811          etcd.srv_domain: None
58812          etcd.read_timeout: 60
58813          etcd.username: None
58814          etcd.password: None
58815          etcd.cert: None
58816          etcd.ca_cert: None
58817
58818       Related docs could be found in the python-etcd documentation.
58819
58820       To  use  the  etcd as a minion data cache backend, set the master cache
58821       config value to etcd:
58822
58823          cache: etcd
58824
58825       salt.cache.etcd_cache.contains(bank, key)
58826              Checks if the specified bank contains the specified key.
58827
58828       salt.cache.etcd_cache.fetch(bank, key)
58829              Fetch a key value.
58830
58831       salt.cache.etcd_cache.flush(bank, key=None)
58832              Remove the key from the cache bank with all the key content.
58833
58834       salt.cache.etcd_cache.ls(bank)
58835              Return an iterable object containing all entries stored  in  the
58836              specified bank.
58837
58838       salt.cache.etcd_cache.store(bank, key, data)
58839              Store a key value.
58840
58841   salt.cache.localfs
58842       Cache data in filesystem.
58843
58844       New in version 2016.11.0.
58845
58846
58847       The  localfs  Minion  cache module is the default cache module and does
58848       not require any configuration.
58849
58850       Expiration  values  can  be   set   in   the   relevant   config   file
58851       (/etc/salt/master for the master, /etc/salt/cloud for Salt Cloud, etc).
58852
58853       salt.cache.localfs.contains(bank, key, cachedir)
58854              Checks if the specified bank contains the specified key.
58855
58856       salt.cache.localfs.fetch(bank, key, cachedir)
58857              Fetch information from a file.
58858
58859       salt.cache.localfs.flush(bank, key=None, cachedir=None)
58860              Remove the key from the cache bank with all the key content.
58861
58862       salt.cache.localfs.get_storage_id(kwargs)
58863
58864       salt.cache.localfs.init_kwargs(kwargs)
58865
58866       salt.cache.localfs.list_(bank, cachedir)
58867              Return  an  iterable object containing all entries stored in the
58868              specified bank.
58869
58870       salt.cache.localfs.store(bank, key, data, cachedir)
58871              Store information in a file.
58872
58873       salt.cache.localfs.updated(bank, key, cachedir)
58874              Return the epoch of the mtime for this cache file
58875
58876   salt.cache.mysql_cache
58877       Minion data cache plugin for MySQL database.
58878
58879       New in version develop.
58880
58881
58882       It is up to the system administrator to set up and configure the  MySQL
58883       infrastructure.  All  is  needed  for  this  plugin  is a working MySQL
58884       server.
58885
58886       The module requires the salt_cache database to exists but  creates  its
58887       own  table  if needed. The keys are indexed using the bank and etcd_key
58888       columns.
58889
58890       To enable this cache plugin, the master will need the python client for
58891       MySQL installed. This can be easily installed with pip:
58892
58893          pip install python-mysql
58894
58895       Optionally,  depending  on the MySQL agent configuration, the following
58896       values could be set in the master config. These are the defaults:
58897
58898          mysql.host: 127.0.0.1
58899          mysql.port: 2379
58900          mysql.user: None
58901          mysql.password: None
58902          mysql.database: salt_cache
58903          mysql.table_name: cache
58904
58905       Related docs could be found in the python-mysql documentation.
58906
58907       To use the mysql as a minion data cache backend, set the  master  cache
58908       config value to mysql:
58909
58910          cache: mysql
58911
58912       salt.cache.mysql_cache.contains(bank, key)
58913              Checks if the specified bank contains the specified key.
58914
58915       salt.cache.mysql_cache.fetch(bank, key)
58916              Fetch a key value.
58917
58918       salt.cache.mysql_cache.flush(bank, key=None)
58919              Remove the key from the cache bank with all the key content.
58920
58921       salt.cache.mysql_cache.ls(bank)
58922              Return  an  iterable object containing all entries stored in the
58923              specified bank.
58924
58925       salt.cache.mysql_cache.run_query(conn, query, retries=3)
58926              Get a cursor and run a query. Reconnect up to retries  times  if
58927              needed.   Returns:  cursor,  affected rows counter Raises: Salt‐
58928              CacheError, AttributeError, OperationalError
58929
58930       salt.cache.mysql_cache.store(bank, key, data)
58931              Store a key value.
58932
58933   salt.cache.redis_cache
58934   Redis
58935       Redis plugin for the Salt caching subsystem.
58936
58937       New in version 2017.7.0.
58938
58939
58940       As Redis provides a simple mechanism for very fast key-value store,  in
58941       order  to privde the necessary features for the Salt caching subsystem,
58942       the following conventions are used:
58943
58944       · A Redis key consists of the bank name and the cache key separated  by
58945         /,  e.g.:  $KEY_minions/alpha/stuff  where  minions/alpha is the bank
58946         name and stuff is the key name.
58947
58948       · As the caching subsystem is organised as a tree, we need to store the
58949         caching  path  and  identify the bank and its offspring.  At the same
58950         time, Redis is linear and we need to avoid doing keys <pattern> which
58951         is  very  inefficient  as  it goes through all the keys on the remote
58952         Redis server.  Instead, each bank hierarchy has a Redis  SET  associ‐
58953         ated which stores the list of sub-banks. By default, these keys begin
58954         with $BANK_.
58955
58956       · In addition, each key name is stored in a separate  SET  of  all  the
58957         keys within a bank. By default, these SETs begin with $BANKEYS_.
58958
58959       For    example,    to   store   the   key   my-key   under   the   bank
58960       root-bank/sub-bank/leaf-bank, the following hierarchy will be built:
58961
58962          127.0.0.1:6379> SMEMBERS $BANK_root-bank
58963          1) "sub-bank"
58964          127.0.0.1:6379> SMEMBERS $BANK_root-bank/sub-bank
58965          1) "leaf-bank"
58966          127.0.0.1:6379> SMEMBERS $BANKEYS_root-bank/sub-bank/leaf-bank
58967          1) "my-key"
58968          127.0.0.1:6379> GET $KEY_root-bank/sub-bank/leaf-bank/my-key
58969          "my-value"
58970
58971       There are three types of keys stored:
58972
58973       · $BANK_* is a Redis SET containing the list of banks under the current
58974         bank
58975
58976       · $BANKEYS_*  is a Redis SET containing the list of keys under the cur‐
58977         rent bank
58978
58979       · $KEY_* keeps the value of the key
58980
58981       These prefixes and the separator can be adjusted using  the  configura‐
58982       tion options:
58983
58984       bank_prefix: $BANK
58985              The  prefix  used for the name of the Redis key storing the list
58986              of sub-banks.
58987
58988       bank_keys_prefix: $BANKEYS
58989              The prefix used for the name of the Redis keyt storing the  list
58990              of keys under a certain bank.
58991
58992       key_prefix: $KEY
58993              The  prefix of the Redis keys having the value of the keys to be
58994              cached under a certain bank.
58995
58996       separator: _
58997              The separator between the prefix and the key body.
58998
58999       The connection details can be specified using:
59000
59001       host: localhost
59002              The hostname of the Redis server.
59003
59004       port: 6379
59005              The Redis server port.
59006
59007       cluster_mode: False
59008              Whether cluster_mode is enabled or not
59009
59010       cluster.startup_nodes:
59011              A list of host, port dictionaries pointing to  cluster  members.
59012              At least one is required but multiple nodes are better
59013
59014                 cache.redis.cluster.startup_nodes
59015                   - host: redis-member-1
59016                     port: 6379
59017                   - host: redis-member-2
59018                     port: 6379
59019
59020       cluster.skip_full_coverage_check: False
59021              Some  cluster  providers restrict certain redis commands such as
59022              CONFIG for enhanced security.  Set this option to true  to  skip
59023              checks that required advanced privileges.
59024
59025              NOTE:
59026                 Most  cloud hosted redis clusters will require this to be set
59027                 to True
59028
59029       db: '0'
59030              The database index.
59031
59032              NOTE:
59033                 The database index must be specified as string not as integer
59034                 value!
59035
59036       password:
59037              Redis connection password.
59038
59039       unix_socket_path:
59040          New in version 2018.3.1.
59041
59042
59043          Path to a UNIX socket for access. Overrides host / port.
59044
59045       Configuration Example:
59046
59047          cache.redis.host: localhost
59048          cache.redis.port: 6379
59049          cache.redis.db: '0'
59050          cache.redis.password: my pass
59051          cache.redis.bank_prefix: #BANK
59052          cache.redis.bank_keys_prefix: #BANKEYS
59053          cache.redis.key_prefix: #KEY
59054          cache.redis.separator: '@'
59055
59056       Cluster Configuration Example:
59057
59058          cache.redis.cluster_mode: true
59059          cache.redis.cluster.skip_full_coverage_check: true
59060          cache.redis.cluster.startup_nodes:
59061            - host: redis-member-1
59062              port: 6379
59063            - host: redis-member-2
59064              port: 6379
59065          cache.redis.db: '0'
59066          cache.redis.password: my pass
59067          cache.redis.bank_prefix: #BANK
59068          cache.redis.bank_keys_prefix: #BANKEYS
59069          cache.redis.key_prefix: #KEY
59070          cache.redis.separator: '@'
59071
59072       salt.cache.redis_cache.contains(bank, key)
59073              Checks if the specified bank contains the specified key.
59074
59075       salt.cache.redis_cache.fetch(bank, key)
59076              Fetch data from the Redis cache.
59077
59078       salt.cache.redis_cache.flush(bank, key=None)
59079              Remove  the key from the cache bank with all the key content. If
59080              no key is specified, remove the entire bank with  all  keys  and
59081              sub-banks  inside.   This function is using the Redis pipelining
59082              for best performance.  However, when removing a whole  bank,  in
59083              order  to  re-create  the  tree,  there are a couple of requests
59084              made. In total:
59085
59086              · one for node in the hierarchy sub-tree, starting from the bank
59087                node
59088
59089              · one  pipelined  request to get the keys under all banks in the
59090                sub-tree
59091
59092              · one pipeline request to remove the corresponding keys
59093
59094              This is not quite optimal, as if we need to flush a bank  having
59095              a  very  long list of sub-banks, the number of requests to build
59096              the sub-tree may grow quite big.
59097
59098              An improvement for this would be loading a custom Lua script  in
59099              the  Redis  instance of the user (using the register_script fea‐
59100              ture) and call it whenever we flush.   This  script  would  only
59101              need  to  build  this sub-tree causing problems. It can be added
59102              later and the behaviour should not change as the user  needs  to
59103              explicitly allow Salt inject scripts in their Redis instance.
59104
59105       salt.cache.redis_cache.init_kwargs(kwargs)
59106
59107       salt.cache.redis_cache.list_(bank)
59108              Lists entries stored in the specified bank.
59109
59110       salt.cache.redis_cache.store(bank, key, data)
59111              Store the data in a Redis key.
59112
59113   cloud modules
59114                    ┌──────────────┬────────────────────────────┐
59115aliyun        │ AliYun ECS Cloud Module    │
59116                    ├──────────────┼────────────────────────────┤
59117azurearm      │ Azure ARM Cloud Module     │
59118                    ├──────────────┼────────────────────────────┤
59119cloudstack    │ CloudStack Cloud Module    │
59120                    ├──────────────┼────────────────────────────┤
59121digitalocean  │ DigitalOcean Cloud Module  │
59122                    ├──────────────┼────────────────────────────┤
59123dimensiondata │ Dimension  Data Cloud Mod‐ │
59124                    │              │ ule                        │
59125                    ├──────────────┼────────────────────────────┤
59126ec2           │ The EC2 Cloud Module       │
59127                    ├──────────────┼────────────────────────────┤
59128gce           │ Copyright 2013 Google Inc. │
59129                    ├──────────────┼────────────────────────────┤
59130gogrid        │ GoGrid Cloud Module        │
59131                    ├──────────────┼────────────────────────────┤
59132joyent        │ Joyent Cloud Module        │
59133                    ├──────────────┼────────────────────────────┤
59134linode        │ Linode Cloud Module  using │
59135                    │              │ Linode's REST API          │
59136                    ├──────────────┼────────────────────────────┤
59137lxc           │ Install  Salt  on  an  LXC │
59138                    │              │ Container                  │
59139                    ├──────────────┼────────────────────────────┤
59140msazure       │ Azure Cloud Module         │
59141                    ├──────────────┼────────────────────────────┤
59142oneandone     │ 1&1 Cloud Server Module    │
59143                    ├──────────────┼────────────────────────────┤
59144opennebula    │ OpenNebula Cloud Module    │
59145                    ├──────────────┼────────────────────────────┤
59146openstack     │ Openstack Cloud Driver     │
59147                    ├──────────────┼────────────────────────────┤
59148parallels     │ Parallels Cloud Module     │
59149                    ├──────────────┼────────────────────────────┤
59150profitbricks  │ ProfitBricks Cloud Module  │
59151                    ├──────────────┼────────────────────────────┤
59152proxmox       │ Proxmox Cloud Module       │
59153                    ├──────────────┼────────────────────────────┤
59154pyrax         │ Pyrax Cloud Module         │
59155                    ├──────────────┼────────────────────────────┤
59156qingcloud     │ QingCloud Cloud Module     │
59157                    ├──────────────┼────────────────────────────┤
59158saltify       │                            │
59159                    ├──────────────┼────────────────────────────┤
59160scaleway      │ Scaleway Cloud Module      │
59161                    ├──────────────┼────────────────────────────┤
59162softlayer     │ SoftLayer Cloud Module     │
59163                    ├──────────────┼────────────────────────────┤
59164softlayer_hw  │ SoftLayer HW Cloud Module  │
59165                    ├──────────────┼────────────────────────────┤
59166tencentcloud  │ Tencent Cloud Cloud Module │
59167                    ├──────────────┼────────────────────────────┤
59168vagrant       │ Vagrant Cloud Driver       │
59169                    ├──────────────┼────────────────────────────┤
59170virtualbox    │ A salt cloud provider that │
59171                    │              │ lets you use virtualbox on │
59172                    │              │ your machine and act as  a │
59173                    │              │ cloud.                     │
59174                    ├──────────────┼────────────────────────────┤
59175vmware        │ VMware Cloud Module        │
59176                    ├──────────────┼────────────────────────────┤
59177vultrpy       │ Vultr  Cloud  Module using │
59178                    │              │ python-vultr bindings      │
59179                    ├──────────────┼────────────────────────────┤
59180xen           │ XenServer Cloud Driver     │
59181                    └──────────────┴────────────────────────────┘
59182
59183   salt.cloud.clouds.aliyun
59184   AliYun ECS Cloud Module
59185       New in version 2014.7.0.
59186
59187
59188       The Aliyun cloud module is used to control access to  the  aliyun  ECS.
59189       http://www.aliyun.com/
59190
59191       Use of this module requires the id and key parameter to be set.  Set up
59192       the    cloud    configuration    at    /etc/salt/cloud.providers     or
59193       /etc/salt/cloud.providers.d/aliyun.conf:
59194
59195          my-aliyun-config:
59196            # aliyun Access Key ID
59197            id: wFGEwgregeqw3435gDger
59198            # aliyun Access Key Secret
59199            key: GDE43t43REGTrkilg43934t34qT43t4dgegerGEgg
59200            location: cn-qingdao
59201            driver: aliyun
59202
59203       depends
59204              requests
59205
59206       salt.cloud.clouds.aliyun.avail_images(kwargs=None, call=None)
59207              Return a list of the images that are on the provider
59208
59209       salt.cloud.clouds.aliyun.avail_locations(call=None)
59210              Return  a  dict  of  all  available  VM  locations  on the cloud
59211              provider with relevant data
59212
59213       salt.cloud.clouds.aliyun.avail_sizes(call=None)
59214              Return a list of the image sizes that are on the provider
59215
59216       salt.cloud.clouds.aliyun.create(vm_)
59217              Create a single VM from a data dict
59218
59219       salt.cloud.clouds.aliyun.create_node(kwargs)
59220              Convenience function to make the rest api  call  for  node  cre‐
59221              ation.
59222
59223       salt.cloud.clouds.aliyun.destroy(name, call=None)
59224              Destroy a node.
59225
59226              CLI Example:
59227
59228                 salt-cloud -a destroy myinstance
59229                 salt-cloud -d myinstance
59230
59231       salt.cloud.clouds.aliyun.get_configured_provider()
59232              Return the first configured instance.
59233
59234       salt.cloud.clouds.aliyun.get_dependencies()
59235              Warn if dependencies aren't met.
59236
59237       salt.cloud.clouds.aliyun.get_image(vm_)
59238              Return the image object to use
59239
59240       salt.cloud.clouds.aliyun.get_location(vm_=None)
59241
59242              Return the aliyun region to use, in this order:
59243
59244                     · CLI parameter
59245
59246                     · VM parameter
59247
59248                     · Cloud profile setting
59249
59250       salt.cloud.clouds.aliyun.get_securitygroup(vm_)
59251              Return the security group
59252
59253       salt.cloud.clouds.aliyun.get_size(vm_)
59254              Return the VM's size. Used by create_node().
59255
59256       salt.cloud.clouds.aliyun.list_availability_zones(call=None)
59257              List all availability zones in the current region
59258
59259       salt.cloud.clouds.aliyun.list_monitor_data(kwargs=None, call=None)
59260              Get  monitor  data of the instance. If instance name is missing,
59261              will show all the instance monitor data on the region.
59262
59263              CLI Examples:
59264
59265                 salt-cloud -f list_monitor_data aliyun
59266                 salt-cloud -f list_monitor_data aliyun name=AY14051311071990225bd
59267
59268       salt.cloud.clouds.aliyun.list_nodes(call=None)
59269              Return a list of the VMs that are on the provider
59270
59271       salt.cloud.clouds.aliyun.list_nodes_full(call=None)
59272              Return a list of the VMs that are on the provider
59273
59274       salt.cloud.clouds.aliyun.list_nodes_min(call=None)
59275              Return a list of the VMs that are on the provider. Only  a  list
59276              of  VM  names, and their state, is returned. This is the minimum
59277              amount of information needed to check for existing VMs.
59278
59279       salt.cloud.clouds.aliyun.list_nodes_select(call=None)
59280              Return a list of the VMs that are on the provider,  with  select
59281              fields
59282
59283       salt.cloud.clouds.aliyun.list_securitygroup(call=None)
59284              Return a list of security group
59285
59286       salt.cloud.clouds.aliyun.query(params=None)
59287              Make a web call to aliyun ECS REST API
59288
59289       salt.cloud.clouds.aliyun.reboot(name, call=None)
59290              Reboot a node
59291
59292              CLI Examples:
59293
59294                 salt-cloud -a reboot myinstance
59295
59296       salt.cloud.clouds.aliyun.script(vm_)
59297              Return the script deployment object
59298
59299       salt.cloud.clouds.aliyun.show_disk(name, call=None)
59300              Show the disk details of the instance
59301
59302              CLI Examples:
59303
59304                 salt-cloud -a show_disk aliyun myinstance
59305
59306       salt.cloud.clouds.aliyun.show_image(kwargs, call=None)
59307              Show the details from aliyun image
59308
59309       salt.cloud.clouds.aliyun.show_instance(name, call=None)
59310              Show the details from aliyun instance
59311
59312       salt.cloud.clouds.aliyun.start(name, call=None)
59313              Start a node
59314
59315              CLI Examples:
59316
59317                 salt-cloud -a start myinstance
59318
59319       salt.cloud.clouds.aliyun.stop(name, force=False, call=None)
59320              Stop a node
59321
59322              CLI Examples:
59323
59324                 salt-cloud -a stop myinstance
59325                 salt-cloud -a stop myinstance force=True
59326
59327   salt.cloud.clouds.azurearm
59328   Azure ARM Cloud Module
59329       New in version 2016.11.0.
59330
59331
59332       Changed in version 2019.2.0.
59333
59334
59335       The Azure ARM cloud module is used to control access to Microsoft Azure
59336       Resource Manager
59337
59338       depends
59339
59340              · azure >= 2.0.0rc6
59341
59342              · azure-common >= 1.1.4
59343
59344              · azure-mgmt >= 0.30.0rc6
59345
59346              · azure-mgmt-compute >= 0.33.0
59347
59348              · azure-mgmt-network >= 0.30.0rc6
59349
59350              · azure-mgmt-resource >= 0.30.0
59351
59352              · azure-mgmt-storage >= 0.30.0rc6
59353
59354              · azure-mgmt-web >= 0.30.0rc6
59355
59356              · azure-storage >= 0.32.0
59357
59358              · msrestazure >= 0.4.21
59359
59360       configuration
59361              Required provider parameters:
59362
59363              if using username and password:
59364
59365                     · subscription_id
59366
59367                     · username
59368
59369                     · password
59370
59371              if using a service principal:
59372
59373                     · subscription_id
59374
59375                     · tenant
59376
59377                     · client_id
59378
59379                     · secret
59380
59381              Optional provider parameters:
59382
59383              cloud_environment: Used to point the cloud driver  to  different
59384              API endpoints, such as Azure GovCloud. Possible values:
59385
59386                     · AZURE_PUBLIC_CLOUD (default)
59387
59388                     · AZURE_CHINA_CLOUD
59389
59390                     · AZURE_US_GOV_CLOUD
59391
59392                     · AZURE_GERMAN_CLOUD
59393
59394                     · HTTP  base  URL  for  a  custom endpoint, such as Azure
59395                       Stack. The /metadata/endpoints path will  be  added  to
59396                       the URL.
59397
59398              userdata and userdata_file:
59399                     Azure  Resource Manager uses a separate VirtualMachineEx‐
59400                     tension object to pass userdata scripts  to  the  virtual
59401                     machine.  Arbitrary  shell commands can be passed via the
59402                     userdata parameter, or via a file local to the Salt Cloud
59403                     system  using  the userdata_file parameter. Note that the
59404                     local file is not treated as a script by  the  extension,
59405                     so  "one-liners" probably work best. If greater function‐
59406                     ality is desired, a web-hosted script file can be  speci‐
59407                     fied    via   userdata_file:   https://raw.githubusercon
59408                     tent.com/account/repo/master/azure-script.py, which  will
59409                     be  executed on the system after VM creation. For Windows
59410                     systems, script files ending in  .ps1  will  be  executed
59411                     with  powershell.exe. The userdata parameter takes prece‐
59412                     dence over the userdata_file parameter when creating  the
59413                     custom script extension.
59414
59415              win_installer:
59416                     This  parameter,  which  holds the local path to the Salt
59417                     Minion installer package, is used  to  determine  if  the
59418                     virtual  machine  type  will  be "Windows". Only set this
59419                     parameter on profiles  which  install  Windows  operating
59420                     systems.
59421
59422       Example                   /etc/salt/cloud.providers                  or
59423       /etc/salt/cloud.providers.d/azure.conf configuration:
59424
59425          my-azure-config with username and password:
59426            driver: azurearm
59427            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
59428            username: larry
59429            password: 123pass
59430
59431          Or my-azure-config with service principal:
59432            driver: azurearm
59433            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
59434            tenant: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
59435            client_id: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
59436            secret: XXXXXXXXXXXXXXXXXXXXXXXX
59437            cloud_environment: AZURE_US_GOV_CLOUD
59438
59439            The Service Principal can be created with the new Azure CLI (https://github.com/Azure/azure-cli) with:
59440            az ad sp create-for-rbac -n "http://<yourappname>" --role <role> --scopes <scope>
59441            For example, this creates a service principal with 'owner' role for the whole subscription:
59442            az ad sp create-for-rbac -n "http://mysaltapp" --role owner --scopes /subscriptions/3287abc8-f98a-c678-3bde-326766fd3617
59443
59444            *Note: review the details of Service Principals. Owner role is more than you normally need, and you can restrict
59445            scope to a resource group or individual resources.
59446
59447       salt.cloud.clouds.azurearm.avail_images(call=None)
59448              Return a dict of all available images on the provider
59449
59450       salt.cloud.clouds.azurearm.avail_locations(call=None)
59451              Return a dict of all available regions.
59452
59453       salt.cloud.clouds.azurearm.avail_sizes(call=None)
59454              Return a list of sizes available from the provider
59455
59456       salt.cloud.clouds.azurearm.create(vm_)
59457              Create a single VM from a data dict.
59458
59459       salt.cloud.clouds.azurearm.create_network_interface(call=None,
59460       kwargs=None)
59461              Create a network interface.
59462
59463       salt.cloud.clouds.azurearm.create_or_update_vmextension(call=None,
59464       kwargs=None)
59465              New in version 2019.2.0.
59466
59467
59468              Create or update a VM extension object "inside" of a VM object.
59469
59470              required kwargs:
59471
59472                        extension_name: myvmextension
59473                        virtual_machine_name: myvm
59474                        settings: {"commandToExecute": "hostname"}
59475
59476              optional kwargs:
59477
59478                        resource_group: < inferred from cloud configs >
59479                        location: < inferred from cloud configs >
59480                        publisher: < default: Microsoft.Azure.Extensions >
59481                        virtual_machine_extension_type: < default: CustomScript >
59482                        type_handler_version: < default: 2.0 >
59483                        auto_upgrade_minor_version: < default: True >
59484                        protected_settings: < default: None >
59485
59486       salt.cloud.clouds.azurearm.delete_blob(call=None, kwargs=None)
59487              Delete a blob from a container.
59488
59489       salt.cloud.clouds.azurearm.delete_interface(call=None, kwargs=None)
59490              Delete a network interface.
59491
59492       salt.cloud.clouds.azurearm.delete_managed_disk(call=None, kwargs=None)
59493              Delete a managed disk from a resource group.
59494
59495       salt.cloud.clouds.azurearm.destroy(name, call=None, kwargs=None)
59496              Destroy a VM.
59497
59498              CLI Examples:
59499
59500                 salt-cloud -d myminion
59501                 salt-cloud -a destroy myminion service_name=myservice
59502
59503       salt.cloud.clouds.azurearm.get_api_versions(call=None, kwargs=None)
59504              Get a resource type api versions
59505
59506       salt.cloud.clouds.azurearm.get_configured_provider()
59507              Return the first configured provider instance.
59508
59509       salt.cloud.clouds.azurearm.get_conn(client_type)
59510              Return a connection object for a client type.
59511
59512       salt.cloud.clouds.azurearm.get_dependencies()
59513              Warn if dependencies aren't met.
59514
59515       salt.cloud.clouds.azurearm.get_location(call=None, kwargs=None)
59516              Return the location that is configured for this provider
59517
59518       salt.cloud.clouds.azurearm.get_resource_by_id(resource_id, api_version,
59519       extract_value=None)
59520              Get an AzureARM resource by id
59521
59522       salt.cloud.clouds.azurearm.list_blobs(call=None, kwargs=None)
59523              List blobs.
59524
59525       salt.cloud.clouds.azurearm.list_nodes(call=None)
59526              List VMs on this Azure account
59527
59528       salt.cloud.clouds.azurearm.list_nodes_full(call=None)
59529              List all VMs on the subscription with full information
59530
59531       salt.cloud.clouds.azurearm.list_resource_groups(call=None)
59532              List resource groups associated with the subscription
59533
59534       salt.cloud.clouds.azurearm.list_storage_accounts(call=None)
59535              List storage accounts within the subscription.
59536
59537       salt.cloud.clouds.azurearm.list_subnets(call=None, kwargs=None)
59538              List subnets in a virtual network.
59539
59540       salt.cloud.clouds.azurearm.list_virtual_networks(call=None,
59541       kwargs=None)
59542              List virtual networks.
59543
59544       salt.cloud.clouds.azurearm.request_instance(vm_)
59545              Request a VM from Azure.
59546
59547       salt.cloud.clouds.azurearm.show_instance(name, call=None)
59548              Show the details from AzureARM concerning an instance
59549
59550       salt.cloud.clouds.azurearm.start(name, call=None)
59551              New in version 2019.2.0.
59552
59553
59554              Start a VM
59555
59556              CLI Examples:
59557
59558                 salt-cloud -a start myminion
59559
59560       salt.cloud.clouds.azurearm.stop(name, call=None)
59561              New in version 2019.2.0.
59562
59563
59564              Stop (deallocate) a VM
59565
59566              CLI Examples:
59567
59568                 salt-cloud -a stop myminion
59569
59570   salt.cloud.clouds.cloudstack
59571   CloudStack Cloud Module
59572       The CloudStack cloud module is used to control access to  a  CloudStack
59573       based Public Cloud.
59574
59575       depends
59576              libcloud >= 0.15
59577
59578       Use of this module requires the apikey, secretkey, host and path param‐
59579       eters.
59580
59581          my-cloudstack-cloud-config:
59582            apikey: <your api key >
59583            secretkey: <your secret key >
59584            host: localhost
59585            path: /client/api
59586            driver: cloudstack
59587
59588       salt.cloud.clouds.cloudstack.avail_images(conn=None, call=None)
59589              Return a dict of all available VM images on the  cloud  provider
59590              with relevant data
59591
59592       salt.cloud.clouds.cloudstack.avail_locations(conn=None, call=None)
59593              Return  a  dict  of  all  available  VM  locations  on the cloud
59594              provider with relevant data
59595
59596       salt.cloud.clouds.cloudstack.avail_sizes(conn=None, call=None)
59597              Return a dict of all available VM images on the  cloud  provider
59598              with relevant data
59599
59600       salt.cloud.clouds.cloudstack.block_device_mappings(vm_)
59601              Return the block device mapping:
59602
59603                 [{'DeviceName': '/dev/sdb', 'VirtualName': 'ephemeral0'},
59604                   {'DeviceName': '/dev/sdc', 'VirtualName': 'ephemeral1'}]
59605
59606       salt.cloud.clouds.cloudstack.cloudstack_displayname(vm_)
59607              Return display name of VM:
59608
59609              ::     "minion1"
59610
59611       salt.cloud.clouds.cloudstack.create(vm_)
59612              Create a single VM from a data dict
59613
59614       salt.cloud.clouds.cloudstack.destroy(name, conn=None, call=None)
59615              Delete a single VM, and all of its volumes
59616
59617       salt.cloud.clouds.cloudstack.get_configured_provider()
59618              Return the first configured instance.
59619
59620       salt.cloud.clouds.cloudstack.get_conn()
59621              Return a conn object for the passed VM data
59622
59623       salt.cloud.clouds.cloudstack.get_dependencies()
59624              Warn if dependencies aren't met.
59625
59626       salt.cloud.clouds.cloudstack.get_image(conn, vm_)
59627              Return the image object to use
59628
59629       salt.cloud.clouds.cloudstack.get_ip(data)
59630              Return  the  IP  address  of  the VM If the VM has  public IP as
59631              defined by libcloud module then use it Otherwise try to  extract
59632              the private IP and use that one.
59633
59634       salt.cloud.clouds.cloudstack.get_key()
59635              Returns the ssh private key for VM access
59636
59637       salt.cloud.clouds.cloudstack.get_keypair(vm_)
59638              Return the keypair to use
59639
59640       salt.cloud.clouds.cloudstack.get_location(conn, vm_)
59641              Return the node location to use
59642
59643       salt.cloud.clouds.cloudstack.get_networkid(vm_)
59644              Return the networkid to use, only valid for Advanced Zone
59645
59646       salt.cloud.clouds.cloudstack.get_node(conn, name)
59647              Return a libcloud node for the named VM
59648
59649       salt.cloud.clouds.cloudstack.get_password(vm_)
59650              Return the password to use
59651
59652       salt.cloud.clouds.cloudstack.get_project(conn, vm_)
59653              Return the project to use.
59654
59655       salt.cloud.clouds.cloudstack.get_security_groups(conn, vm_)
59656              Return   a  list  of  security  groups  to  use,  defaulting  to
59657              ['default']
59658
59659       salt.cloud.clouds.cloudstack.get_size(conn, vm_)
59660              Return the VM's size object
59661
59662       salt.cloud.clouds.cloudstack.list_nodes(conn=None, call=None)
59663              Return a list of the VMs that are on the provider
59664
59665       salt.cloud.clouds.cloudstack.list_nodes_full(conn=None, call=None)
59666              Return a list of the VMs that are  on  the  provider,  with  all
59667              fields
59668
59669       salt.cloud.clouds.cloudstack.list_nodes_select(conn=None, call=None)
59670              Return  a  list of the VMs that are on the provider, with select
59671              fields
59672
59673       salt.cloud.clouds.cloudstack.script(vm_)
59674              Return the script deployment object
59675
59676       salt.cloud.clouds.cloudstack.show_instance(name, call=None)
59677              Show the details from the provider concerning an instance
59678
59679   salt.cloud.clouds.digitalocean
59680   DigitalOcean Cloud Module
59681       The DigitalOcean cloud module is used to control access  to  the  Digi‐
59682       talOcean VPS system.
59683
59684       Use  of  this  module  requires  a requires a personal_access_token, an
59685       ssh_key_file, and at least one SSH  key  name  in  ssh_key_names.  More
59686       ssh_key_names  can  be  added  by separating each key with a comma. The
59687       personal_access_token can be found in the DigitalOcean web interface in
59688       the  "Apps & API" section. The SSH key name can be found under the "SSH
59689       Keys" section.
59690
59691          # Note: This example is for /etc/salt/cloud.providers or any file in the
59692          # /etc/salt/cloud.providers.d/ directory.
59693
59694          my-digital-ocean-config:
59695            personal_access_token: xxx
59696            ssh_key_file: /path/to/ssh/key/file
59697            ssh_key_names: my-key-name,my-key-name-2
59698            driver: digitalocean
59699
59700       depends
59701              requests
59702
59703       salt.cloud.clouds.digitalocean.assign_floating_ip(kwargs=None,
59704       call=None)
59705              Assign a floating IP
59706
59707              New in version 2016.3.0.
59708
59709
59710              CLI Examples:
59711
59712                 salt-cloud -f assign_floating_ip my-digitalocean-config droplet_id=1234567 floating_ip='45.55.96.47'
59713
59714       salt.cloud.clouds.digitalocean.avail_images(call=None)
59715              Return a list of the images that are on the provider
59716
59717       salt.cloud.clouds.digitalocean.avail_locations(call=None)
59718              Return  a  dict  of  all  available  VM  locations  on the cloud
59719              provider with relevant data
59720
59721       salt.cloud.clouds.digitalocean.avail_sizes(call=None)
59722              Return a list of the image sizes that are on the provider
59723
59724       salt.cloud.clouds.digitalocean.create(vm_)
59725              Create a single VM from a data dict
59726
59727       salt.cloud.clouds.digitalocean.create_floating_ip(kwargs=None,
59728       call=None)
59729              Create a new floating IP
59730
59731              New in version 2016.3.0.
59732
59733
59734              CLI Examples:
59735
59736                 salt-cloud -f create_floating_ip my-digitalocean-config region='NYC2'
59737
59738                 salt-cloud -f create_floating_ip my-digitalocean-config droplet_id='1234567'
59739
59740       salt.cloud.clouds.digitalocean.create_key(kwargs=None, call=None)
59741              Upload a public key
59742
59743       salt.cloud.clouds.digitalocean.create_node(args)
59744              Create a node
59745
59746       salt.cloud.clouds.digitalocean.delete_floating_ip(kwargs=None,
59747       call=None)
59748              Delete a floating IP
59749
59750              New in version 2016.3.0.
59751
59752
59753              CLI Examples:
59754
59755                 salt-cloud -f delete_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
59756
59757       salt.cloud.clouds.digitalocean.destroy(name, call=None)
59758              Destroy a node. Will check termination protection  and  warn  if
59759              enabled.
59760
59761              CLI Example:
59762
59763                 salt-cloud --destroy mymachine
59764
59765       salt.cloud.clouds.digitalocean.destroy_dns_records(fqdn)
59766              Deletes DNS records for the given hostname if the domain is man‐
59767              aged with DO.
59768
59769       salt.cloud.clouds.digitalocean.get_configured_provider()
59770              Return the first configured instance.
59771
59772       salt.cloud.clouds.digitalocean.get_dependencies()
59773              Warn if dependencies aren't met.
59774
59775       salt.cloud.clouds.digitalocean.get_image(vm_)
59776              Return the image object to use
59777
59778       salt.cloud.clouds.digitalocean.get_keyid(keyname)
59779              Return the ID of the keyname
59780
59781       salt.cloud.clouds.digitalocean.get_location(vm_)
59782              Return the VM's location
59783
59784       salt.cloud.clouds.digitalocean.get_size(vm_)
59785              Return the VM's size. Used by create_node().
59786
59787       salt.cloud.clouds.digitalocean.import_keypair(kwargs=None, call=None)
59788              Upload public key to cloud provider.  Similar to EC2 import_key‐
59789              pair.
59790
59791              New in version 2016.11.0.
59792
59793
59794              kwargs file(mandatory): public key file-name keyname(mandatory):
59795                     public key name in the provider
59796
59797       salt.cloud.clouds.digitalocean.list_floating_ips(call=None)
59798              Return a list of the floating ips that are on the provider
59799
59800              New in version 2016.3.0.
59801
59802
59803              CLI Examples:
59804
59805                 salt-cloud -f list_floating_ips my-digitalocean-config
59806
59807       salt.cloud.clouds.digitalocean.list_keypairs(call=None)
59808              Return a dict  of  all  available  VM  locations  on  the  cloud
59809              provider with relevant data
59810
59811       salt.cloud.clouds.digitalocean.list_nodes(call=None)
59812              Return a list of the VMs that are on the provider
59813
59814       salt.cloud.clouds.digitalocean.list_nodes_full(call=None,      for_out‐
59815       put=True)
59816              Return a list of the VMs that are on the provider
59817
59818       salt.cloud.clouds.digitalocean.list_nodes_select(call=None)
59819              Return a list of the VMs that are on the provider,  with  select
59820              fields
59821
59822       salt.cloud.clouds.digitalocean.post_dns_record(**kwargs)
59823              Creates a DNS record for the given name if the domain is managed
59824              with DO.
59825
59826       salt.cloud.clouds.digitalocean.query(method=u'droplets',
59827       droplet_id=None, command=None, args=None, http_method=u'get')
59828              Make a web call to DigitalOcean
59829
59830       salt.cloud.clouds.digitalocean.reboot(name, call=None)
59831              Reboot a droplet in DigitalOcean.
59832
59833              New in version 2015.8.8.
59834
59835
59836              name   The name of the droplet to restart.
59837
59838              CLI Example:
59839
59840                 salt-cloud -a reboot droplet_name
59841
59842       salt.cloud.clouds.digitalocean.remove_key(kwargs=None, call=None)
59843              Delete public key
59844
59845       salt.cloud.clouds.digitalocean.script(vm_)
59846              Return the script deployment object
59847
59848       salt.cloud.clouds.digitalocean.show_floating_ip(kwargs=None, call=None)
59849              Show the details of a floating IP
59850
59851              New in version 2016.3.0.
59852
59853
59854              CLI Examples:
59855
59856                 salt-cloud -f show_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
59857
59858       salt.cloud.clouds.digitalocean.show_instance(name, call=None)
59859              Show the details from DigitalOcean concerning a droplet
59860
59861       salt.cloud.clouds.digitalocean.show_keypair(kwargs=None, call=None)
59862              Show the details of an SSH keypair
59863
59864       salt.cloud.clouds.digitalocean.show_pricing(kwargs=None, call=None)
59865              Show pricing for a particular profile. This is only an estimate,
59866              based on unofficial pricing sources.
59867
59868              New in version 2015.8.0.
59869
59870
59871              CLI Examples:
59872
59873                 salt-cloud -f show_pricing my-digitalocean-config profile=my-profile
59874
59875       salt.cloud.clouds.digitalocean.start(name, call=None)
59876              Start a droplet in DigitalOcean.
59877
59878              New in version 2015.8.8.
59879
59880
59881              name   The name of the droplet to start.
59882
59883              CLI Example:
59884
59885                 salt-cloud -a start droplet_name
59886
59887       salt.cloud.clouds.digitalocean.stop(name, call=None)
59888              Stop a droplet in DigitalOcean.
59889
59890              New in version 2015.8.8.
59891
59892
59893              name   The name of the droplet to stop.
59894
59895              CLI Example:
59896
59897                 salt-cloud -a stop droplet_name
59898
59899       salt.cloud.clouds.digitalocean.unassign_floating_ip(kwargs=None,
59900       call=None)
59901              Unassign a floating IP
59902
59903              New in version 2016.3.0.
59904
59905
59906              CLI Examples:
59907
59908                 salt-cloud -f unassign_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
59909
59910   salt.cloud.clouds.dimensiondata
59911   Dimension Data Cloud Module
59912       This is a cloud module for the Dimension Data Cloud, using the existing
59913       Libcloud driver for Dimension Data.
59914
59915          # Note: This example is for /etc/salt/cloud.providers
59916          # or any file in the
59917          # /etc/salt/cloud.providers.d/ directory.
59918
59919          my-dimensiondata-config:
59920            user_id: my_username
59921            key: myPassword!
59922            region: dd-na
59923            driver: dimensiondata
59924
59925       maintainer
59926              Anthony Shaw <anthonyshaw@apache.org>
59927
59928       depends
59929              libcloud >= 1.2.1
59930
59931       salt.cloud.clouds.dimensiondata.avail_images(conn=None, call=None)
59932              Return a dict of all available VM images on the  cloud  provider
59933              with relevant data
59934
59935       salt.cloud.clouds.dimensiondata.avail_locations(conn=None, call=None)
59936              Return  a  dict  of  all  available  VM  locations  on the cloud
59937              provider with relevant data
59938
59939       salt.cloud.clouds.dimensiondata.avail_sizes(conn=None, call=None)
59940              Return a dict of all available VM images on the  cloud  provider
59941              with relevant data
59942
59943       salt.cloud.clouds.dimensiondata.create(vm_)
59944              Create a single VM from a data dict
59945
59946       salt.cloud.clouds.dimensiondata.create_lb(kwargs=None, call=None)
59947              Create a load-balancer configuration.  CLI Example:
59948
59949                 salt-cloud -f create_lb dimensiondata \
59950                     name=dev-lb port=80 protocol=http \
59951                     members=w1,w2,w3 algorithm=ROUND_ROBIN
59952
59953       salt.cloud.clouds.dimensiondata.destroy(name, conn=None, call=None)
59954              Delete a single VM
59955
59956       salt.cloud.clouds.dimensiondata.get_configured_provider()
59957              Return the first configured instance.
59958
59959       salt.cloud.clouds.dimensiondata.get_conn()
59960              Return a conn object for the passed VM data
59961
59962       salt.cloud.clouds.dimensiondata.get_dependencies()
59963              Warn if dependencies aren't met.
59964
59965       salt.cloud.clouds.dimensiondata.get_image(conn, vm_)
59966              Return the image object to use
59967
59968       salt.cloud.clouds.dimensiondata.get_lb_conn(dd_driver=None)
59969              Return a load-balancer conn object
59970
59971       salt.cloud.clouds.dimensiondata.get_node(conn, name)
59972              Return a libcloud node for the named VM
59973
59974       salt.cloud.clouds.dimensiondata.get_size(conn, vm_)
59975              Return the VM's size object
59976
59977       salt.cloud.clouds.dimensiondata.list_nodes(conn=None, call=None)
59978              Return a list of the VMs that are on the provider
59979
59980       salt.cloud.clouds.dimensiondata.list_nodes_full(conn=None, call=None)
59981              Return  a  list  of  the  VMs that are on the provider, with all
59982              fields
59983
59984       salt.cloud.clouds.dimensiondata.list_nodes_select(conn=None, call=None)
59985              Return a list of the VMs that are on the provider,  with  select
59986              fields
59987
59988       salt.cloud.clouds.dimensiondata.preferred_ip(vm_, ips)
59989              Return  the preferred Internet protocol. Either 'ipv4' (default)
59990              or 'ipv6'.
59991
59992       salt.cloud.clouds.dimensiondata.reboot(name, conn=None)
59993              Reboot a single VM
59994
59995       salt.cloud.clouds.dimensiondata.script(vm_)
59996              Return the script deployment object
59997
59998       salt.cloud.clouds.dimensiondata.show_instance(name, call=None)
59999              Show the details from the provider concerning an instance
60000
60001       salt.cloud.clouds.dimensiondata.ssh_interface(vm_)
60002              Return the ssh_interface type to connect to. Either 'public_ips'
60003              (default) or 'private_ips'.
60004
60005       salt.cloud.clouds.dimensiondata.start(name, call=None)
60006              Stop a VM in DimensionData.
60007
60008              Parameters
60009                     name (str) -- The name of the VM to stop.
60010
60011              CLI Example:
60012
60013                 salt-cloud -a stop vm_name
60014
60015       salt.cloud.clouds.dimensiondata.stop(name, call=None)
60016              Stop a VM in DimensionData.
60017
60018              name:  The name of the VM to stop.
60019
60020              CLI Example:
60021
60022                 salt-cloud -a stop vm_name
60023
60024   salt.cloud.clouds.ec2
60025   The EC2 Cloud Module
60026       The  EC2  cloud module is used to interact with the Amazon Elastic Com‐
60027       pute Cloud.
60028
60029       To use the EC2 cloud module, set up the cloud configuration at
60030              /etc/salt/cloud.providers                                     or
60031              /etc/salt/cloud.providers.d/ec2.conf:
60032
60033          my-ec2-config:
60034            # EC2 API credentials: Access Key ID and Secret Access Key.
60035            # Alternatively, to use IAM Instance Role credentials available via
60036            # EC2 metadata set both id and key to 'use-instance-role-credentials'
60037            id: GKTADJGHEIQSXMKKRBJ08H
60038            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
60039
60040            # If 'role_arn' is specified the above credentials are used to
60041            # to assume to the role. By default, role_arn is set to None.
60042            role_arn: arn:aws:iam::012345678910:role/SomeRoleName
60043
60044            # The ssh keyname to use
60045            keyname: default
60046            # The amazon security group
60047            securitygroup: ssh_open
60048            # The location of the private key which corresponds to the keyname
60049            private_key: /root/default.pem
60050
60051            # Be default, service_url is set to amazonaws.com. If you are using this
60052            # driver for something other than Amazon EC2, change it here:
60053            service_url: amazonaws.com
60054
60055            # The endpoint that is ultimately used is usually formed using the region
60056            # and the service_url. If you would like to override that entirely, you
60057            # can explicitly define the endpoint:
60058            endpoint: myendpoint.example.com:1138/services/Cloud
60059
60060            # SSH Gateways can be used with this provider. Gateways can be used
60061            # when a salt-master is not on the same private network as the instance
60062            # that is being deployed.
60063
60064            # Defaults to None
60065            # Required
60066            ssh_gateway: gateway.example.com
60067
60068            # Defaults to port 22
60069            # Optional
60070            ssh_gateway_port: 22
60071
60072            # Defaults to root
60073            # Optional
60074            ssh_gateway_username: root
60075
60076            # Default to nc -q0 %h %p
60077            # Optional
60078            ssh_gateway_command: "-W %h:%p"
60079
60080            # One authentication method is required. If both
60081            # are specified, Private key wins.
60082
60083            # Private key defaults to None
60084            ssh_gateway_private_key: /path/to/key.pem
60085
60086            # Password defaults to None
60087            ssh_gateway_password: ExamplePasswordHere
60088
60089            driver: ec2
60090
60091            # Pass userdata to the instance to be created
60092            userdata_file: /etc/salt/my-userdata-file
60093
60094       depends
60095              requests
60096
60097       salt.cloud.clouds.ec2.attach_volume(name=None,             kwargs=None,
60098       instance_id=None, call=None)
60099              Attach a volume to an instance
60100
60101       salt.cloud.clouds.ec2.avail_images(kwargs=None, call=None)
60102              Return a dict of all available VM images on the cloud provider.
60103
60104       salt.cloud.clouds.ec2.avail_locations(call=None)
60105              List all available locations
60106
60107       salt.cloud.clouds.ec2.avail_sizes(call=None)
60108              Return a dict of all available VM sizes on  the  cloud  provider
60109              with relevant data. Latest version can be found at:
60110
60111              http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
60112
60113       salt.cloud.clouds.ec2.block_device_mappings(vm_)
60114              Return the block device mapping:
60115
60116                 [{'DeviceName': '/dev/sdb', 'VirtualName': 'ephemeral0'},
60117                   {'DeviceName': '/dev/sdc', 'VirtualName': 'ephemeral1'}]
60118
60119       salt.cloud.clouds.ec2.copy_snapshot(kwargs=None, call=None)
60120              Copy a snapshot
60121
60122       salt.cloud.clouds.ec2.create(vm_=None, call=None)
60123              Create a single VM from a data dict
60124
60125       salt.cloud.clouds.ec2.create_attach_volumes(name,  kwargs,   call=None,
60126       wait_to_finish=True)
60127              Create and attach volumes to created node
60128
60129       salt.cloud.clouds.ec2.create_keypair(kwargs=None, call=None)
60130              Create an SSH keypair
60131
60132       salt.cloud.clouds.ec2.create_snapshot(kwargs=None,           call=None,
60133       wait_to_finish=False)
60134              Create a snapshot.
60135
60136              volume_id
60137                     The ID of the Volume from which to create a snapshot.
60138
60139              description
60140                     The optional description of the snapshot.
60141
60142              CLI Exampe:
60143
60144                 salt-cloud -f create_snapshot my-ec2-config volume_id=vol-351d8826
60145                 salt-cloud -f create_snapshot my-ec2-config volume_id=vol-351d8826 \
60146                     description="My Snapshot Description"
60147
60148       salt.cloud.clouds.ec2.create_volume(kwargs=None,             call=None,
60149       wait_to_finish=False)
60150              Create a volume.
60151
60152              zone   The   availability   zone  used  to  create  the  volume.
60153                     Required. String.
60154
60155              size   The size of the volume, in GiBs. Defaults to 10. Integer.
60156
60157              snapshot
60158                     The snapshot-id from which to create the volume. Integer.
60159
60160              type   The volume type. This can be gp2 for General Purpose SSD,
60161                     io1  for  Provisioned  IOPS SSD, st1 for Throughput Opti‐
60162                     mized HDD, sc1 for Cold HDD,  or  standard  for  Magnetic
60163                     volumes. String.
60164
60165              iops   The  number of I/O operations per second (IOPS) to provi‐
60166                     sion for the volume, with a maximum ratio of 50 IOPS/GiB.
60167                     Only valid for Provisioned IOPS SSD volumes. Integer.
60168
60169                     This option will only be set if type is also specified as
60170                     io1.
60171
60172              encrypted
60173                     Specifies whether the volume will be encrypted. Boolean.
60174
60175                     If snapshot is also given in the  list  of  kwargs,  then
60176                     this value is ignored since volumes that are created from
60177                     encrypted snapshots are also automatically encrypted.
60178
60179              tags   The tags to apply to the volume during creation.  Dictio‐
60180                     nary.
60181
60182              call   The  create_volume  function  must  be  called with -f or
60183                     --function.  String.
60184
60185              wait_to_finish
60186                     Whether or not to wait for the volume  to  be  available.
60187                     Boolean. Defaults to False.
60188
60189              CLI Examples:
60190
60191                 salt-cloud -f create_volume my-ec2-config zone=us-east-1b
60192                 salt-cloud -f create_volume my-ec2-config zone=us-east-1b tags='{"tag1": "val1", "tag2", "val2"}'
60193
60194       salt.cloud.clouds.ec2.del_tags(name=None,    kwargs=None,    call=None,
60195       instance_id=None, resource_id=None)
60196              Delete tags for a resource. Normally a VM name or instance_id is
60197              passed  in, but a resource_id may be passed instead. If both are
60198              passed in, the instance_id will be used.
60199
60200              CLI Examples:
60201
60202                 salt-cloud -a del_tags mymachine tags=mytag,
60203                 salt-cloud -a del_tags mymachine tags=tag1,tag2,tag3
60204                 salt-cloud -a del_tags resource_id=vol-3267ab32 tags=tag1,tag2,tag3
60205
60206       salt.cloud.clouds.ec2.delete_keypair(kwargs=None, call=None)
60207              Delete an SSH keypair
60208
60209       salt.cloud.clouds.ec2.delete_snapshot(kwargs=None, call=None)
60210              Delete a snapshot
60211
60212       salt.cloud.clouds.ec2.delete_volume(name=None,             kwargs=None,
60213       instance_id=None, call=None)
60214              Delete a volume
60215
60216       salt.cloud.clouds.ec2.delvol_on_destroy(name, kwargs=None, call=None)
60217              Delete all/specified EBS volumes upon instance termination
60218
60219              CLI Example:
60220
60221                 salt-cloud -a delvol_on_destroy mymachine
60222
60223       salt.cloud.clouds.ec2.describe_snapshots(kwargs=None, call=None)
60224              Describe a snapshot (or snapshots)
60225
60226              snapshot_id
60227                     One  or more snapshot IDs. Multiple IDs must be separated
60228                     by ",".
60229
60230              owner  Return the snapshots owned by the specified owner.  Valid
60231                     values  include: self, amazon, <AWS Account ID>. Multiple
60232                     values must be separated by ",".
60233
60234              restorable_by
60235                     One or more AWS accounts IDs that can create volumes from
60236                     the snapshot.  Multiple aws account IDs must be separated
60237                     by ",".
60238
60239              TODO: Add all of the filters.
60240
60241       salt.cloud.clouds.ec2.describe_volumes(kwargs=None, call=None)
60242              Describe a volume (or volumes)
60243
60244              volume_id
60245                     One or more volume IDs. Multiple IDs must be separated by
60246                     ",".
60247
60248              TODO: Add all of the filters.
60249
60250       salt.cloud.clouds.ec2.destroy(name, call=None)
60251              Destroy  a  node.  Will check termination protection and warn if
60252              enabled.
60253
60254              CLI Example:
60255
60256                 salt-cloud --destroy mymachine
60257
60258       salt.cloud.clouds.ec2.detach_volume(name=None,             kwargs=None,
60259       instance_id=None, call=None)
60260              Detach a volume from an instance
60261
60262       salt.cloud.clouds.ec2.disable_detailed_monitoring(name, call=None)
60263              Enable/disable detailed monitoring on a node
60264
60265              CLI Example:
60266
60267       salt.cloud.clouds.ec2.disable_term_protect(name, call=None)
60268              Disable termination protection on a node
60269
60270              CLI Example:
60271
60272                 salt-cloud -a disable_term_protect mymachine
60273
60274       salt.cloud.clouds.ec2.enable_detailed_monitoring(name, call=None)
60275              Enable/disable detailed monitoring on a node
60276
60277              CLI Example:
60278
60279       salt.cloud.clouds.ec2.enable_term_protect(name, call=None)
60280              Enable termination protection on a node
60281
60282              CLI Example:
60283
60284                 salt-cloud -a enable_term_protect mymachine
60285
60286       salt.cloud.clouds.ec2.get_availability_zone(vm_)
60287              Return the availability zone to use
60288
60289       salt.cloud.clouds.ec2.get_configured_provider()
60290              Return the first configured instance.
60291
60292       salt.cloud.clouds.ec2.get_console_output(name=None,      location=None,
60293       instance_id=None, call=None, kwargs=None)
60294              Show the console output from the instance.
60295
60296              By default, returns decoded data, not  the  Base64-encoded  data
60297              that is actually returned from the EC2 API.
60298
60299       salt.cloud.clouds.ec2.get_dependencies()
60300              Warn if dependencies aren't met.
60301
60302       salt.cloud.clouds.ec2.get_imageid(vm_)
60303              Returns the ImageId to use
60304
60305       salt.cloud.clouds.ec2.get_location(vm_=None)
60306
60307              Return the EC2 region to use, in this order:
60308
60309                     · CLI parameter
60310
60311                     · VM parameter
60312
60313                     · Cloud profile setting
60314
60315       salt.cloud.clouds.ec2.get_password_data(name=None,         kwargs=None,
60316       instance_id=None, call=None)
60317              Return password data for a Windows instance.
60318
60319              By default only the encrypted password data  will  be  returned.
60320              However,  if  a key_file is passed in, then a decrypted password
60321              will also be returned.
60322
60323              Note that the key_file references the private key that was  used
60324              to generate the keypair associated with this instance. This pri‐
60325              vate key will _not_ be transmitted to Amazon; it  is  only  used
60326              internally  inside  of Salt Cloud to decrypt data _after_ it has
60327              been received from Amazon.
60328
60329              CLI Examples:
60330
60331                 salt-cloud -a get_password_data mymachine
60332                 salt-cloud -a get_password_data mymachine key_file=/root/ec2key.pem
60333
60334              Note: PKCS1_v1_5 was added in PyCrypto 2.5
60335
60336       salt.cloud.clouds.ec2.get_placementgroup(vm_)
60337              Returns the PlacementGroup to use
60338
60339       salt.cloud.clouds.ec2.get_provider(vm_=None)
60340              Extract the provider name from vm
60341
60342       salt.cloud.clouds.ec2.get_spot_config(vm_)
60343              Returns the spot instance configuration for the provided vm
60344
60345       salt.cloud.clouds.ec2.get_ssh_gateway_config(vm_)
60346              Return the ssh_gateway configuration.
60347
60348       salt.cloud.clouds.ec2.get_subnetid(vm_)
60349              Returns the SubnetId to use
60350
60351       salt.cloud.clouds.ec2.get_tags(name=None, instance_id=None,  call=None,
60352       location=None, kwargs=None, resource_id=None)
60353              Retrieve  tags for a resource. Normally a VM name or instance_id
60354              is passed in, but a resource_id may be passed instead.  If  both
60355              are passed in, the instance_id will be used.
60356
60357              CLI Examples:
60358
60359                 salt-cloud -a get_tags mymachine
60360                 salt-cloud -a get_tags resource_id=vol-3267ab32
60361
60362       salt.cloud.clouds.ec2.get_tenancy(vm_)
60363              Returns the Tenancy to use.
60364
60365              Can  be  "dedicated"  or  "default".  Cannot be present for spot
60366              instances.
60367
60368       salt.cloud.clouds.ec2.iam_profile(vm_)
60369              Return the IAM profile.
60370
60371              The IAM instance profile to associate with the instances.   This
60372              is either the Amazon Resource Name (ARN) of the instance profile
60373              or the name of the role.
60374
60375              Type: String
60376
60377              Default: None
60378
60379              Required: No
60380
60381              Example: arn:aws:iam::111111111111:instance-profile/s3access
60382
60383              Example: s3access
60384
60385       salt.cloud.clouds.ec2.import_keypair(kwargs=None, call=None)
60386              Import an SSH public key.
60387
60388              New in version 2015.8.3.
60389
60390
60391       salt.cloud.clouds.ec2.keepvol_on_destroy(name, kwargs=None, call=None)
60392              Do not delete all/specified EBS volumes upon  instance  termina‐
60393              tion
60394
60395              CLI Example:
60396
60397                 salt-cloud -a keepvol_on_destroy mymachine
60398
60399       salt.cloud.clouds.ec2.keyname(vm_)
60400              Return the keyname
60401
60402       salt.cloud.clouds.ec2.list_nodes(call=None)
60403              Return a list of the VMs that are on the provider
60404
60405       salt.cloud.clouds.ec2.list_nodes_full(location=None, call=None)
60406              Return a list of the VMs that are on the provider
60407
60408       salt.cloud.clouds.ec2.list_nodes_min(location=None, call=None)
60409              Return  a  list of the VMs that are on the provider. Only a list
60410              of VM names, and their state, is returned. This is  the  minimum
60411              amount of information needed to check for existing VMs.
60412
60413       salt.cloud.clouds.ec2.list_nodes_select(call=None)
60414              Return  a  list of the VMs that are on the provider, with select
60415              fields
60416
60417       salt.cloud.clouds.ec2.optimize_providers(providers)
60418              Return an optimized list of providers.
60419
60420              We want to reduce the duplication of querying the same region.
60421
60422              If a provider is using the same credentials for the same  region
60423              the  same  data will be returned for each provider, thus causing
60424              un-wanted duplicate data and API calls to EC2.
60425
60426       salt.cloud.clouds.ec2.query(params=None, setname=None, requesturl=None,
60427       location=None, return_url=False, return_root=False)
60428
60429       salt.cloud.clouds.ec2.query_instance(vm_=None, call=None)
60430              Query an instance upon creation from the EC2 API
60431
60432       salt.cloud.clouds.ec2.queue_instances(instances)
60433              Queue  a  set  of  instances  to be provisioned later. Expects a
60434              list.
60435
60436              Currently this only queries node data, and then places it in the
60437              cloud  cache (if configured). If the salt-cloud-reactor is being
60438              used, these instances will be  automatically  provisioned  using
60439              that.
60440
60441              For more information about the salt-cloud-reactor, see:
60442
60443              https://github.com/saltstack-formulas/salt-cloud-reactor
60444
60445       salt.cloud.clouds.ec2.reboot(name, call=None)
60446              Reboot a node.
60447
60448              CLI Example:
60449
60450                 salt-cloud -a reboot mymachine
60451
60452       salt.cloud.clouds.ec2.register_image(kwargs=None, call=None)
60453              Create an ami from a snapshot
60454
60455              CLI Example:
60456
60457                 salt-cloud -f register_image my-ec2-config ami_name=my_ami description="my description"
60458                         root_device_name=/dev/xvda snapshot_id=snap-xxxxxxxx
60459
60460       salt.cloud.clouds.ec2.rename(name, kwargs, call=None)
60461              Properly rename a node. Pass in the new name as "new name".
60462
60463              CLI Example:
60464
60465                 salt-cloud -a rename mymachine newname=yourmachine
60466
60467       salt.cloud.clouds.ec2.request_instance(vm_=None, call=None)
60468              Put  together  all  of  the  information necessary to request an
60469              instance on EC2, and then fire off the request the instance.
60470
60471              Returns data about the instance
60472
60473       salt.cloud.clouds.ec2.script(vm_)
60474              Return the script deployment object
60475
60476       salt.cloud.clouds.ec2.securitygroup(vm_)
60477              Return the security group
60478
60479       salt.cloud.clouds.ec2.securitygroupid(vm_)
60480              Returns the SecurityGroupId
60481
60482       salt.cloud.clouds.ec2.set_tags(name=None, tags=None,  call=None,  loca‐
60483       tion=None, instance_id=None, resource_id=None, kwargs=None)
60484              Set  tags  for  a resource. Normally a VM name or instance_id is
60485              passed in, but a resource_id may be passed instead. If both  are
60486              passed in, the instance_id will be used.
60487
60488              CLI Examples:
60489
60490                 salt-cloud -a set_tags mymachine tag1=somestuff tag2='Other stuff'
60491                 salt-cloud -a set_tags resource_id=vol-3267ab32 tag=somestuff
60492
60493       salt.cloud.clouds.ec2.show_delvol_on_destroy(name,         kwargs=None,
60494       call=None)
60495              Do not delete all/specified EBS volumes upon  instance  termina‐
60496              tion
60497
60498              CLI Example:
60499
60500                 salt-cloud -a show_delvol_on_destroy mymachine
60501
60502       salt.cloud.clouds.ec2.show_detailed_monitoring(name=None,
60503       instance_id=None, call=None, quiet=False)
60504              Show the details from EC2 regarding cloudwatch detailed monitor‐
60505              ing.
60506
60507       salt.cloud.clouds.ec2.show_image(kwargs, call=None)
60508              Show the details from EC2 concerning an AMI
60509
60510       salt.cloud.clouds.ec2.show_instance(name=None,        instance_id=None,
60511       call=None, kwargs=None)
60512              Show the details from EC2 concerning an AMI.
60513
60514              Can be called as an action (which requires a name):
60515
60516                 salt-cloud -a show_instance myinstance
60517
60518              ...or  as  a  function  (which  requires  either   a   name   or
60519              instance_id):
60520
60521                 salt-cloud -f show_instance my-ec2 name=myinstance
60522                 salt-cloud -f show_instance my-ec2 instance_id=i-d34db33f
60523
60524       salt.cloud.clouds.ec2.show_keypair(kwargs=None, call=None)
60525              Show the details of an SSH keypair
60526
60527       salt.cloud.clouds.ec2.show_pricing(kwargs=None, call=None)
60528              Show pricing for a particular profile. This is only an estimate,
60529              based on unofficial pricing sources.
60530
60531              CLI Examples:
60532
60533                 salt-cloud -f show_pricing my-ec2-config profile=my-profile
60534
60535              If pricing sources have not been  cached,  they  will  be  down‐
60536              loaded.  Once  they  have  been cached, they will not be updated
60537              automatically. To manually update all prices, use the  following
60538              command:
60539
60540                 salt-cloud -f update_pricing <provider>
60541
60542              New in version 2015.8.0.
60543
60544
60545       salt.cloud.clouds.ec2.show_term_protect(name=None,    instance_id=None,
60546       call=None, quiet=False)
60547              Show the details from EC2 concerning an  instance's  termination
60548              protection state
60549
60550       salt.cloud.clouds.ec2.show_volume(kwargs=None, call=None)
60551              Wrapper  around describe_volumes.  Here just to keep functional‐
60552              ity.  Might be depreciated later.
60553
60554       salt.cloud.clouds.ec2.sign(key, msg)
60555
60556       salt.cloud.clouds.ec2.ssh_interface(vm_)
60557              Return the ssh_interface type to connect to. Either 'public_ips'
60558              (default) or 'private_ips'.
60559
60560       salt.cloud.clouds.ec2.ssm_create_association(name=None,    kwargs=None,
60561       instance_id=None, call=None)
60562              Associates  the  specified  SSM  document  with  the   specified
60563              instance
60564
60565              http://docs.aws.amazon.com/ssm/latest/APIReference/API_CreateAssociation.html
60566
60567              CLI Examples:
60568
60569                 salt-cloud -a ssm_create_association ec2-instance-name ssm_document=ssm-document-name
60570
60571       salt.cloud.clouds.ec2.ssm_describe_association(name=None,  kwargs=None,
60572       instance_id=None, call=None)
60573              Describes  the  associations  for  the specified SSM document or
60574              instance.
60575
60576              http://docs.aws.amazon.com/ssm/latest/APIReference/API_DescribeAssociation.html
60577
60578              CLI Examples:
60579
60580                 salt-cloud -a ssm_describe_association ec2-instance-name ssm_document=ssm-document-name
60581
60582       salt.cloud.clouds.ec2.start(name, call=None)
60583              Start a node
60584
60585       salt.cloud.clouds.ec2.stop(name, call=None)
60586              Stop a node
60587
60588       salt.cloud.clouds.ec2.update_pricing(kwargs=None, call=None)
60589              Download most recent pricing information from AWS and convert to
60590              a local JSON file.
60591
60592              CLI Examples:
60593
60594                 salt-cloud -f update_pricing my-ec2-config
60595                 salt-cloud -f update_pricing my-ec2-config type=linux
60596
60597              New in version 2015.8.0.
60598
60599
60600       salt.cloud.clouds.ec2.volume_create(**kwargs)
60601              Wrapper around create_volume.  Here just to ensure the  compati‐
60602              bility with the cloud module.
60603
60604       salt.cloud.clouds.ec2.volume_list(**kwargs)
60605              Wrapper  around  describe_volumes.  Here just to ensure the com‐
60606              patibility with the cloud module.
60607
60608       salt.cloud.clouds.ec2.wait_for_instance(vm_=None,            data=None,
60609       ip_address=None, display_ssh_output=True, call=None)
60610              Wait  for  an instance upon creation from the EC2 API, to become
60611              available
60612
60613   salt.cloud.clouds.gce
60614       Copyright 2013 Google Inc. All Rights Reserved.
60615
60616       Licensed under the Apache License, Version 2.0 (the "License"); you may
60617       not  use  this  file  except  in  compliance with the License.  You may
60618       obtain a copy of the License at
60619          http://www.apache.org/licenses/LICENSE-2.0
60620
60621       Unless required by applicable law or agreed  to  in  writing,  software
60622       distributed under the License is distributed on an "AS IS" BASIS, WITH‐
60623       OUT WARRANTIES OR CONDITIONS OF ANY KIND, either  express  or  implied.
60624       See  the  License  for  the specific language governing permissions and
60625       limitations under the License.
60626
60627   Google Compute Engine Module
60628       The Google Compute Engine module. This module  interfaces  with  Google
60629       Compute Engine (GCE). To authenticate to GCE, you will need to create a
60630       Service Account.  To set up Service Account Authentication, follow  the
60631       gce_setup instructions.
60632
60633   Example Provider Configuration
60634          my-gce-config:
60635            # The Google Cloud Platform Project ID
60636            project: "my-project-id"
60637            # The Service Account client ID
60638            service_account_email_address: 1234567890@developer.gserviceaccount.com
60639            # The location of the private key (PEM format)
60640            service_account_private_key: /home/erjohnso/PRIVKEY.pem
60641            driver: gce
60642            # Specify whether to use public or private IP for deploy script.
60643            # Valid options are:
60644            #     private_ips - The salt-master is also hosted with GCE
60645            #     public_ips - The salt-master is hosted outside of GCE
60646            ssh_interface: public_ips
60647
60648       maintainer
60649              Eric Johnson <erjohnso@google.com>
60650
60651       maintainer
60652              Russell Tolle <russ.tolle@gmail.com>
60653
60654       depends
60655              libcloud >= 1.0.0
60656
60657       salt.cloud.clouds.gce.attach_disk(name=None, kwargs=None, call=None)
60658              Attach an existing disk to an existing instance.
60659
60660              CLI Example:
60661
60662                 salt-cloud -a attach_disk myinstance disk_name=mydisk mode=READ_WRITE
60663
60664       salt.cloud.clouds.gce.attach_lb(kwargs=None, call=None)
60665              Add an existing node/member to an existing load-balancer config‐
60666              uration.
60667
60668              CLI Example:
60669
60670                 salt-cloud -f attach_lb gce name=lb member=myinstance
60671
60672       salt.cloud.clouds.gce.avail_images(conn=None)
60673              Return a dict of all available VM images on the  cloud  provider
60674              with relevant data.
60675
60676              Note  that  for GCE, there are custom images within the project,
60677              but the generic images are in other projects.   This  returns  a
60678              dict  of  images in the project plus images in well-known public
60679              projects that provide supported images, as listed on this  page:
60680              https://cloud.google.com/compute/docs/operating-systems/
60681
60682              If  image  names  overlap,  the  image in the current project is
60683              used.
60684
60685       salt.cloud.clouds.gce.avail_locations(conn=None, call=None)
60686              Return a dict  of  all  available  VM  locations  on  the  cloud
60687              provider with relevant data
60688
60689       salt.cloud.clouds.gce.avail_sizes(conn=None)
60690              Return a dict of available instances sizes (a.k.a machine types)
60691              and convert them to something more serializable.
60692
60693       salt.cloud.clouds.gce.create(vm_=None, call=None)
60694              Create a single GCE instance from a data dict.
60695
60696       salt.cloud.clouds.gce.create_address(kwargs=None, call=None)
60697              Create a static address in a region.
60698
60699              CLI Example:
60700
60701                 salt-cloud -f create_address gce name=my-ip region=us-central1 address=IP
60702
60703       salt.cloud.clouds.gce.create_attach_volumes(name, kwargs, call=None)
60704              New in version 2017.7.0.
60705
60706
60707              Create and attach multiple volumes to a node. The 'volumes'  and
60708              'node'  arguments are required, where 'node' is a libcloud node,
60709              and 'volumes' is a list of maps, where each map contains:
60710
60711              size   The size of the new disk in GB. Required.
60712
60713              type   The disk type, either pd-standard  or  pd-ssd.  Optional,
60714                     defaults to pd-standard.
60715
60716              image  An image to use for this new disk. Optional.
60717
60718              snapshot
60719                     A snapshot to use for this new disk. Optional.
60720
60721              auto_delete
60722                     An  option(bool) to keep or remove the disk upon instance
60723                     deletion.  Optional, defaults to False.
60724
60725              Volumes are attached in the order in which they are given,  thus
60726              on  a  new  node  the  first volume will be /dev/sdb, the second
60727              /dev/sdc, and so on.
60728
60729       salt.cloud.clouds.gce.create_disk(kwargs=None, call=None)
60730              Create a new persistent disk. Must specify disk_name  and  loca‐
60731              tion,  and  optionally can specify 'disk_type' as pd-standard or
60732              pd-ssd, which defaults to pd-standard. Can also specify an image
60733              or  snapshot  but  if neither of those are specified, a size (in
60734              GB) is required.
60735
60736              CLI Example:
60737
60738                 salt-cloud -f create_disk gce disk_name=pd size=300 location=us-central1-b
60739
60740       salt.cloud.clouds.gce.create_fwrule(kwargs=None, call=None)
60741              Create a GCE firewall rule. The 'default' network is used if not
60742              specified.
60743
60744              CLI Example:
60745
60746                 salt-cloud -f create_fwrule gce name=allow-http allow=tcp:80
60747
60748       salt.cloud.clouds.gce.create_hc(kwargs=None, call=None)
60749              Create an HTTP health check configuration.
60750
60751              CLI Example:
60752
60753                 salt-cloud -f create_hc gce name=hc path=/healthy port=80
60754
60755       salt.cloud.clouds.gce.create_lb(kwargs=None, call=None)
60756              Create a load-balancer configuration.
60757
60758              CLI Example:
60759
60760                 salt-cloud -f create_lb gce name=lb region=us-central1 ports=80
60761
60762       salt.cloud.clouds.gce.create_network(kwargs=None, call=None)
60763              ... versionchanged:: 2017.7.0 Create a GCE network. Must specify
60764              name and cidr.
60765
60766              CLI Example:
60767
60768                 salt-cloud -f create_network gce name=mynet cidr=10.10.10.0/24 mode=legacy description=optional
60769                 salt-cloud -f create_network gce name=mynet description=optional
60770
60771       salt.cloud.clouds.gce.create_snapshot(kwargs=None, call=None)
60772              Create a new disk snapshot. Must specify name and  disk_name.
60773
60774              CLI Example:
60775
60776                 salt-cloud -f create_snapshot gce name=snap1 disk_name=pd
60777
60778       salt.cloud.clouds.gce.create_subnetwork(kwargs=None, call=None)
60779              ... versionadded:: 2017.7.0 Create a GCE Subnetwork. Must  spec‐
60780              ify name, cidr, network, and region.
60781
60782              CLI Example:
60783
60784                 salt-cloud -f create_subnetwork gce name=mysubnet network=mynet1 region=us-west1 cidr=10.0.0.0/24 description=optional
60785
60786       salt.cloud.clouds.gce.delete_address(kwargs=None, call=None)
60787              Permanently delete a static address.
60788
60789              CLI Example:
60790
60791                 salt-cloud -f delete_address gce name=my-ip
60792
60793       salt.cloud.clouds.gce.delete_disk(kwargs=None, call=None)
60794              Permanently delete a persistent disk.
60795
60796              CLI Example:
60797
60798                 salt-cloud -f delete_disk gce disk_name=pd
60799
60800       salt.cloud.clouds.gce.delete_fwrule(kwargs=None, call=None)
60801              Permanently delete a firewall rule.
60802
60803              CLI Example:
60804
60805                 salt-cloud -f delete_fwrule gce name=allow-http
60806
60807       salt.cloud.clouds.gce.delete_hc(kwargs=None, call=None)
60808              Permanently delete a health check.
60809
60810              CLI Example:
60811
60812                 salt-cloud -f delete_hc gce name=hc
60813
60814       salt.cloud.clouds.gce.delete_lb(kwargs=None, call=None)
60815              Permanently delete a load-balancer.
60816
60817              CLI Example:
60818
60819                 salt-cloud -f delete_lb gce name=lb
60820
60821       salt.cloud.clouds.gce.delete_network(kwargs=None, call=None)
60822              Permanently delete a network.
60823
60824              CLI Example:
60825
60826                 salt-cloud -f delete_network gce name=mynet
60827
60828       salt.cloud.clouds.gce.delete_snapshot(kwargs=None, call=None)
60829              Permanently delete a disk snapshot.
60830
60831              CLI Example:
60832
60833                 salt-cloud -f delete_snapshot gce name=disk-snap-1
60834
60835       salt.cloud.clouds.gce.delete_subnetwork(kwargs=None, call=None)
60836              ...  versionadded:: 2017.7.0 Delete a GCE Subnetwork. Must spec‐
60837              ify name and region.
60838
60839              CLI Example:
60840
60841                 salt-cloud -f delete_subnetwork gce name=mysubnet network=mynet1 region=us-west1
60842
60843       salt.cloud.clouds.gce.destroy(vm_name, call=None)
60844              Call 'destroy' on the instance.  Can be called with "-a destroy"
60845              or -d
60846
60847              CLI Example:
60848
60849                 salt-cloud -a destroy myinstance1 myinstance2 ...
60850                 salt-cloud -d myinstance1 myinstance2 ...
60851
60852       salt.cloud.clouds.gce.detach_disk(name=None, kwargs=None, call=None)
60853              Detach a disk from an instance.
60854
60855              CLI Example:
60856
60857                 salt-cloud -a detach_disk myinstance disk_name=mydisk
60858
60859       salt.cloud.clouds.gce.detach_lb(kwargs=None, call=None)
60860              Remove  an  existing  node/member from an existing load-balancer
60861              configuration.
60862
60863              CLI Example:
60864
60865                 salt-cloud -f detach_lb gce name=lb member=myinstance
60866
60867       salt.cloud.clouds.gce.get_configured_provider()
60868              Return the first configured instance.
60869
60870       salt.cloud.clouds.gce.get_conn()
60871              Return a conn object for the passed VM data
60872
60873       salt.cloud.clouds.gce.get_dependencies()
60874              Warn if dependencies aren't met.
60875
60876       salt.cloud.clouds.gce.get_lb_conn(gce_driver=None)
60877              Return a load-balancer conn object
60878
60879       salt.cloud.clouds.gce.list_nodes(conn=None, call=None)
60880              Return a list of the VMs that are on the provider
60881
60882       salt.cloud.clouds.gce.list_nodes_full(conn=None, call=None)
60883              Return a list of the VMs that are  on  the  provider,  with  all
60884              fields
60885
60886       salt.cloud.clouds.gce.list_nodes_select(conn=None, call=None)
60887              Return  a  list of the VMs that are on the provider, with select
60888              fields
60889
60890       salt.cloud.clouds.gce.reboot(vm_name, call=None)
60891              Call GCE 'reset' on the instance.
60892
60893              CLI Example:
60894
60895                 salt-cloud -a reboot myinstance
60896
60897       salt.cloud.clouds.gce.request_instance(vm_)
60898              Request a single GCE instance from a data dict.
60899
60900       salt.cloud.clouds.gce.script(vm_)
60901              Return the script deployment object
60902
60903       salt.cloud.clouds.gce.show_address(kwargs=None, call=None)
60904              Show the details of an existing static address.
60905
60906              CLI Example:
60907
60908                 salt-cloud -f show_address gce name=mysnapshot region=us-central1
60909
60910       salt.cloud.clouds.gce.show_disk(name=None, kwargs=None, call=None)
60911              Show the details of an existing disk.
60912
60913              CLI Example:
60914
60915                 salt-cloud -a show_disk myinstance disk_name=mydisk
60916                 salt-cloud -f show_disk gce disk_name=mydisk
60917
60918       salt.cloud.clouds.gce.show_fwrule(kwargs=None, call=None)
60919              Show the details of an existing firewall rule.
60920
60921              CLI Example:
60922
60923                 salt-cloud -f show_fwrule gce name=allow-http
60924
60925       salt.cloud.clouds.gce.show_hc(kwargs=None, call=None)
60926              Show the details of an existing health check.
60927
60928              CLI Example:
60929
60930                 salt-cloud -f show_hc gce name=hc
60931
60932       salt.cloud.clouds.gce.show_instance(vm_name, call=None)
60933              Show the details of the existing instance.
60934
60935       salt.cloud.clouds.gce.show_lb(kwargs=None, call=None)
60936              Show the details of an existing load-balancer.
60937
60938              CLI Example:
60939
60940                 salt-cloud -f show_lb gce name=lb
60941
60942       salt.cloud.clouds.gce.show_network(kwargs=None, call=None)
60943              Show the details of an existing network.
60944
60945              CLI Example:
60946
60947                 salt-cloud -f show_network gce name=mynet
60948
60949       salt.cloud.clouds.gce.show_pricing(kwargs=None, call=None)
60950              Show pricing for a particular profile. This is only an estimate,
60951              based on unofficial pricing sources.
60952
60953              New in version 2015.8.0.
60954
60955
60956              CLI Examples:
60957
60958                 salt-cloud -f show_pricing my-gce-config profile=my-profile
60959
60960       salt.cloud.clouds.gce.show_snapshot(kwargs=None, call=None)
60961              Show the details of an existing snapshot.
60962
60963              CLI Example:
60964
60965                 salt-cloud -f show_snapshot gce name=mysnapshot
60966
60967       salt.cloud.clouds.gce.show_subnetwork(kwargs=None, call=None)
60968              ... versionadded:: 2017.7.0 Show details of an existing GCE Sub‐
60969              network. Must specify name and region.
60970
60971              CLI Example:
60972
60973                 salt-cloud -f show_subnetwork gce name=mysubnet region=us-west1
60974
60975       salt.cloud.clouds.gce.start(vm_name, call=None)
60976              Call GCE 'start on the instance.
60977
60978              New in version 2017.7.0.
60979
60980
60981              CLI Example:
60982
60983                 salt-cloud -a start myinstance
60984
60985       salt.cloud.clouds.gce.stop(vm_name, call=None)
60986              Call GCE 'stop' on the instance.
60987
60988              New in version 2017.7.0.
60989
60990
60991              CLI Example:
60992
60993                 salt-cloud -a stop myinstance
60994
60995       salt.cloud.clouds.gce.update_pricing(kwargs=None, call=None)
60996              Download most recent  pricing  information  from  GCE  and  save
60997              locally
60998
60999              CLI Examples:
61000
61001                 salt-cloud -f update_pricing my-gce-config
61002
61003              New in version 2015.8.0.
61004
61005
61006   salt.cloud.clouds.gogrid
61007   GoGrid Cloud Module
61008       The  GoGrid cloud module. This module interfaces with the gogrid public
61009       cloud service. To use Salt Cloud with GoGrid log into  the  GoGrid  web
61010       interface  and  create  an api key. Do this by clicking on "My Account"
61011       and then going to the API Keys tab.
61012
61013       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
61014       /etc/salt/cloud.providers.d/gogrid.conf:
61015
61016          my-gogrid-config:
61017            # The generated api key to use
61018            apikey: asdff7896asdh789
61019            # The apikey's shared secret
61020            sharedsecret: saltybacon
61021            driver: gogrid
61022
61023       NOTE:
61024          A Note about using Map files with GoGrid:
61025
61026          Due  to  limitations  in  the GoGrid API, instances cannot be provi‐
61027          sioned in parallel with the GoGrid driver. Map files will work  with
61028          GoGrid,  but  the -P argument should not be used on maps referencing
61029          GoGrid instances.
61030
61031       NOTE:
61032          A Note about using Map files with GoGrid:
61033
61034          Due to limitations in the GoGrid API,  instances  cannot  be  provi‐
61035          sioned  in parallel with the GoGrid driver. Map files will work with
61036          GoGrid, but the -P argument should not be used on  maps  referencing
61037          GoGrid instances.
61038
61039       salt.cloud.clouds.gogrid.avail_images()
61040              Available images
61041
61042       salt.cloud.clouds.gogrid.avail_locations()
61043              Available locations
61044
61045       salt.cloud.clouds.gogrid.avail_sizes()
61046              Available sizes
61047
61048       salt.cloud.clouds.gogrid.create(vm_)
61049              Create a single VM from a data dict
61050
61051       salt.cloud.clouds.gogrid.destroy(name, call=None)
61052              Destroy a machine by name
61053
61054              CLI Example:
61055
61056                 salt-cloud -d vm_name
61057
61058       salt.cloud.clouds.gogrid.get_configured_provider()
61059              Return the first configured instance.
61060
61061       salt.cloud.clouds.gogrid.list_common_lookups(kwargs=None, call=None)
61062              List common lookups for a particular type of item
61063
61064              New in version 2015.8.0.
61065
61066
61067       salt.cloud.clouds.gogrid.list_nodes(full=False, call=None)
61068              List of nodes, keeping only a brief listing
61069
61070              CLI Example:
61071
61072                 salt-cloud -Q
61073
61074       salt.cloud.clouds.gogrid.list_nodes_full(call=None)
61075              List nodes, with all available information
61076
61077              CLI Example:
61078
61079                 salt-cloud -F
61080
61081       salt.cloud.clouds.gogrid.list_nodes_select(call=None)
61082              Return  a  list of the VMs that are on the provider, with select
61083              fields
61084
61085              CLI Example:
61086
61087                 salt-cloud -S
61088
61089       salt.cloud.clouds.gogrid.list_passwords(kwargs=None, call=None)
61090              List all password on the account
61091
61092              New in version 2015.8.0.
61093
61094
61095       salt.cloud.clouds.gogrid.list_public_ips(kwargs=None, call=None)
61096              List all available public IPs.
61097
61098              CLI Example:
61099                 salt-cloud -f list_public_ips <provider>
61100
61101              To list unavailable (assigned) IPs, use:
61102
61103              CLI Example:
61104                 salt-cloud -f list_public_ips <provider> state=assigned
61105
61106              New in version 2015.8.0.
61107
61108
61109       salt.cloud.clouds.gogrid.reboot(name, call=None)
61110              Reboot a machine by name
61111
61112              CLI Example:
61113
61114                 salt-cloud -a reboot vm_name
61115
61116              New in version 2015.8.0.
61117
61118
61119       salt.cloud.clouds.gogrid.show_instance(name, call=None)
61120              Start a machine by name
61121
61122              CLI Example:
61123
61124                 salt-cloud -a show_instance vm_name
61125
61126              New in version 2015.8.0.
61127
61128
61129       salt.cloud.clouds.gogrid.start(name, call=None)
61130              Start a machine by name
61131
61132              CLI Example:
61133
61134                 salt-cloud -a start vm_name
61135
61136              New in version 2015.8.0.
61137
61138
61139       salt.cloud.clouds.gogrid.stop(name, call=None)
61140              Stop a machine by name
61141
61142              CLI Example:
61143
61144                 salt-cloud -a stop vm_name
61145
61146              New in version 2015.8.0.
61147
61148
61149   salt.cloud.clouds.joyent
61150   Joyent Cloud Module
61151       The Joyent Cloud module is used to interact with the Joyent cloud  sys‐
61152       tem.
61153
61154       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
61155       /etc/salt/cloud.providers.d/joyent.conf:
61156
61157          my-joyent-config:
61158            driver: joyent
61159            # The Joyent login user
61160            user: fred
61161            # The Joyent user's password
61162            password: saltybacon
61163            # The location of the ssh private key that can log into the new VM
61164            private_key: /root/mykey.pem
61165            # The name of the private key
61166            keyname: mykey
61167
61168       When creating your profiles for the  joyent  cloud,  add  the  location
61169       attribute  to  the  profile, this will automatically get picked up when
61170       performing tasks associated with that vm. An example profile might look
61171       like:
61172
61173          joyent_512:
61174            provider: my-joyent-config
61175            size: g4-highcpu-512M
61176            image: centos-6
61177            location: us-east-1
61178
61179       This  driver  can also be used with the Joyent SmartDataCenter project.
61180       More details can be found at:
61181
61182       Using SDC requires that an api_host_suffix is set.  The  default  value
61183       for this is .api.joyentcloud.com. All characters, including the leading
61184       ., should be included:
61185
61186          api_host_suffix: .api.myhostname.com
61187
61188       depends
61189              PyCrypto
61190
61191       salt.cloud.clouds.joyent.avail_images(call=None)
61192              Get list of available images
61193
61194              CLI Example:
61195
61196                 salt-cloud --list-images
61197
61198              Can use a custom URL for images. Default is:
61199
61200                 image_url: images.joyent.com/images
61201
61202       salt.cloud.clouds.joyent.avail_locations(call=None)
61203              List all available locations
61204
61205       salt.cloud.clouds.joyent.avail_sizes(call=None)
61206              get list of available packages
61207
61208              CLI Example:
61209
61210                 salt-cloud --list-sizes
61211
61212       salt.cloud.clouds.joyent.create(vm_)
61213              Create a single VM from a data dict
61214
61215              CLI Example:
61216
61217                 salt-cloud -p profile_name vm_name
61218
61219       salt.cloud.clouds.joyent.create_node(**kwargs)
61220              convenience function to make the rest api  call  for  node  cre‐
61221              ation.
61222
61223       salt.cloud.clouds.joyent.delete_key(kwargs=None, call=None)
61224              List the keys available
61225
61226              CLI Example:
61227
61228                 salt-cloud -f delete_key joyent keyname=mykey
61229
61230       salt.cloud.clouds.joyent.destroy(name, call=None)
61231              destroy a machine by name
61232
61233              Parameters
61234
61235                     · name -- name given to the machine
61236
61237                     · call -- call value in this case is 'action'
61238
61239              Returns
61240                     array of booleans , true if successfully stopped and true
61241                     if successfully removed
61242
61243              CLI Example:
61244
61245                 salt-cloud -d vm_name
61246
61247       salt.cloud.clouds.joyent.get_configured_provider()
61248              Return the first configured instance.
61249
61250       salt.cloud.clouds.joyent.get_image(vm_)
61251              Return the image object to use
61252
61253       salt.cloud.clouds.joyent.get_location(vm_=None)
61254
61255              Return the joyent data center to use, in this order:
61256
61257                     · CLI parameter
61258
61259                     · VM parameter
61260
61261                     · Cloud profile setting
61262
61263       salt.cloud.clouds.joyent.get_location_path(location=u'us-east-1',
61264       api_host_suffix=u'.api.joyentcloud.com')
61265              create  url  from location variable :param location: joyent data
61266              center location :return: url
61267
61268       salt.cloud.clouds.joyent.get_node(name)
61269              gets the node from the full node list by name :param name:  name
61270              of the vm :return: node object
61271
61272       salt.cloud.clouds.joyent.get_size(vm_)
61273              Return the VM's size object
61274
61275       salt.cloud.clouds.joyent.has_method(obj, method_name)
61276              Find if the provided object has a specific method
61277
61278       salt.cloud.clouds.joyent.import_key(kwargs=None, call=None)
61279              List the keys available
61280
61281              CLI Example:
61282
61283                 salt-cloud -f import_key joyent keyname=mykey keyfile=/tmp/mykey.pub
61284
61285       salt.cloud.clouds.joyent.joyent_node_state(id_)
61286              Convert joyent returned state to state common to other data cen‐
61287              ter return values for consistency
61288
61289              Parameters
61290                     id -- joyent state value
61291
61292              Returns
61293                     state value
61294
61295       salt.cloud.clouds.joyent.key_list(items=None)
61296              convert list to dictionary  using  the  key  as  the  identifier
61297              :param items: array to iterate over :return: dictionary
61298
61299       salt.cloud.clouds.joyent.list_keys(kwargs=None, call=None)
61300              List the keys available
61301
61302       salt.cloud.clouds.joyent.list_nodes(full=False, call=None)
61303              list of nodes, keeping only a brief listing
61304
61305              CLI Example:
61306
61307                 salt-cloud -Q
61308
61309       salt.cloud.clouds.joyent.list_nodes_full(call=None)
61310              list  of  nodes,  maintaining  all  content provided from joyent
61311              listings
61312
61313              CLI Example:
61314
61315                 salt-cloud -F
61316
61317       salt.cloud.clouds.joyent.list_nodes_select(call=None)
61318              Return a list of the VMs that are on the provider,  with  select
61319              fields
61320
61321       salt.cloud.clouds.joyent.query(action=None,   command=None,  args=None,
61322       method=u'GET', location=None, data=None)
61323              Make a web call to Joyent
61324
61325       salt.cloud.clouds.joyent.query_instance(vm_=None, call=None)
61326              Query an instance upon creation from the Joyent API
61327
61328       salt.cloud.clouds.joyent.reboot(name, call=None)
61329              reboot a machine by name :param name: name given to the  machine
61330              :param  call:  call value in this case is 'action' :return: true
61331              if successful
61332
61333              CLI Example:
61334
61335                 salt-cloud -a reboot vm_name
61336
61337       salt.cloud.clouds.joyent.reformat_node(item=None, full=False)
61338              Reformat the returned data from joyent, determine public/private
61339              IPs  and strip out fields if necessary to provide either full or
61340              brief content.
61341
61342              Parameters
61343
61344                     · item -- node dictionary
61345
61346                     · full -- full or brief output
61347
61348              Returns
61349                     dict
61350
61351       salt.cloud.clouds.joyent.show_instance(name, call=None)
61352              get details about a machine  :param  name:  name  given  to  the
61353              machine  :param  call:  call  value  in  this  case  is 'action'
61354              :return: machine information
61355
61356              CLI Example:
61357
61358                 salt-cloud -a show_instance vm_name
61359
61360       salt.cloud.clouds.joyent.show_key(kwargs=None, call=None)
61361              List the keys available
61362
61363       salt.cloud.clouds.joyent.ssh_interface(vm_)
61364              Return the ssh_interface type to connect to. Either 'public_ips'
61365              (default) or 'private_ips'.
61366
61367       salt.cloud.clouds.joyent.start(name, call=None)
61368              start  a  machine by name :param name: name given to the machine
61369              :param call: call value in this case is 'action'  :return:  true
61370              if successful
61371
61372              CLI Example:
61373
61374                 salt-cloud -a start vm_name
61375
61376       salt.cloud.clouds.joyent.stop(name, call=None)
61377              stop  a  machine  by name :param name: name given to the machine
61378              :param call: call value in this case is 'action'  :return:  true
61379              if successful
61380
61381              CLI Example:
61382
61383                 salt-cloud -a stop vm_name
61384
61385       salt.cloud.clouds.joyent.take_action(name=None,     call=None,     com‐
61386       mand=None, data=None, method=u'GET', location=u'us-east-1')
61387              take action call used by start,stop, reboot  :param  name:  name
61388              given  to  the  machine  :param call: call value in this case is
61389              'action' :command: api path :data: any data to be passed to  the
61390              api,  must  be in json format :method: GET,POST,or DELETE :loca‐
61391              tion: data center to execute the command  on  :return:  true  if
61392              successful
61393
61394   salt.cloud.clouds.linode
61395   Linode Cloud Module using Linode's REST API
61396       The  Linode  cloud  module  is used to control access to the Linode VPS
61397       system.
61398
61399       Use of this module only requires the  apikey  parameter.  However,  the
61400       default root password for new instances also needs to be set. The pass‐
61401       word needs to be 8 characters and  contain  lowercase,  uppercase,  and
61402       numbers.
61403
61404       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
61405       /etc/salt/cloud.providers.d/linode.conf:
61406
61407          my-linode-provider:
61408            apikey: f4ZsmwtB1c7f85Jdu43RgXVDFlNjuJaeIYV8QMftTqKScEB2vSosFSr...
61409            password: F00barbaz
61410            driver: linode
61411
61412          linode-profile:
61413            provider: my-linode-provider
61414            size: Linode 1024
61415            image: CentOS 7
61416            location: London, England, UK
61417
61418       salt.cloud.clouds.linode.avail_images(call=None)
61419              Return available Linode images.
61420
61421              CLI Example:
61422
61423                 salt-cloud --list-images my-linode-config
61424                 salt-cloud -f avail_images my-linode-config
61425
61426       salt.cloud.clouds.linode.avail_locations(call=None)
61427              Return available Linode datacenter locations.
61428
61429              CLI Example:
61430
61431                 salt-cloud --list-locations my-linode-config
61432                 salt-cloud -f avail_locations my-linode-config
61433
61434       salt.cloud.clouds.linode.avail_sizes(call=None)
61435              Return available Linode sizes.
61436
61437              CLI Example:
61438
61439                 salt-cloud --list-sizes my-linode-config
61440                 salt-cloud -f avail_sizes my-linode-config
61441
61442       salt.cloud.clouds.linode.boot(name=None, kwargs=None, call=None)
61443              Boot a Linode.
61444
61445              name   The name of the Linode to boot. Can be  used  instead  of
61446                     linode_id.
61447
61448              linode_id
61449                     The  ID  of the Linode to boot. If provided, will be used
61450                     as an alternative to name and reduces the number  of  API
61451                     calls to Linode by one. Will be preferred over name.
61452
61453              config_id
61454                     The ID of the Config to boot. Required.
61455
61456              check_running
61457                     Defaults  to True. If set to False, overrides the call to
61458                     check if the VM is running before calling the linode.boot
61459                     API  call.  Change check_running to True is useful during
61460                     the boot call in the create function, since  the  new  VM
61461                     will not be running yet.
61462
61463              Can be called as an action (which requires a name):
61464
61465                 salt-cloud -a boot my-instance config_id=10
61466
61467              ...or as a function (which requires either a name or linode_id):
61468
61469                 salt-cloud -f boot my-linode-config name=my-instance config_id=10
61470                 salt-cloud -f boot my-linode-config linode_id=1225876 config_id=10
61471
61472       salt.cloud.clouds.linode.clone(kwargs=None, call=None)
61473              Clone a Linode.
61474
61475              linode_id
61476                     The ID of the Linode to clone. Required.
61477
61478              datacenter_id
61479                     The ID of the Datacenter where the Linode will be placed.
61480                     Required.
61481
61482              plan_id
61483                     The ID of the plan (size) of the Linode. Required.
61484
61485              CLI Example:
61486
61487                 salt-cloud -f clone my-linode-config linode_id=1234567 datacenter_id=2 plan_id=5
61488
61489       salt.cloud.clouds.linode.create(vm_)
61490              Create a single Linode VM.
61491
61492       salt.cloud.clouds.linode.create_config(kwargs=None, call=None)
61493              Creates a Linode Configuration Profile.
61494
61495              name   The name of the VM to create the config for.
61496
61497              linode_id
61498                     The ID of the Linode to create the configuration for.
61499
61500              root_disk_id
61501                     The Root Disk ID to be used for this config.
61502
61503              swap_disk_id
61504                     The Swap Disk ID to be used for this config.
61505
61506              data_disk_id
61507                     The Data Disk ID to be used for this config.
61508
61509              New in version 2016.3.0.
61510
61511
61512              kernel_id
61513                     The ID of the kernel to use for this  configuration  pro‐
61514                     file.
61515
61516       salt.cloud.clouds.linode.create_data_disk(vm_=None,     linode_id=None,
61517       data_size=None)
61518              Create a data disk for the linode (type is hardcoded to ext4  at
61519              the moment)
61520
61521              New in version 2016.3.0.
61522
61523
61524              vm_    The VM profile to create the data disk for.
61525
61526              linode_id
61527                     The ID of the Linode to create the data disk for.
61528
61529              data_size
61530                     The size of the disk, in MB.
61531
61532       salt.cloud.clouds.linode.create_disk_from_distro(vm_,        linode_id,
61533       swap_size=None)
61534              Creates the disk for the Linode from the distribution.
61535
61536              vm_    The VM profile to create the disk for.
61537
61538              linode_id
61539                     The ID of the Linode to create the distribution disk for.
61540                     Required.
61541
61542              swap_size
61543                     The size of the disk, in MB.
61544
61545       salt.cloud.clouds.linode.create_private_ip(linode_id)
61546              Creates a private IP for the specified Linode.
61547
61548              linode_id
61549                     The ID of the Linode to create the IP address for.
61550
61551       salt.cloud.clouds.linode.create_swap_disk(vm_,               linode_id,
61552       swap_size=None)
61553              Creates the disk for the specified Linode.
61554
61555              vm_    The VM profile to create the swap disk for.
61556
61557              linode_id
61558                     The ID of the Linode to create the swap disk for.
61559
61560              swap_size
61561                     The size of the disk, in MB.
61562
61563       salt.cloud.clouds.linode.destroy(name, call=None)
61564              Destroys a Linode by name.
61565
61566              name   The name of VM to be be destroyed.
61567
61568              CLI Example:
61569
61570                 salt-cloud -d vm_name
61571
61572       salt.cloud.clouds.linode.get_config_id(kwargs=None, call=None)
61573              Returns a config_id for a given linode.
61574
61575              New in version 2015.8.0.
61576
61577
61578              name   The name of the Linode for which to  get  the  config_id.
61579                     Can be used instead of linode_id.h
61580
61581              linode_id
61582                     The  ID of the Linode for which to get the config_id. Can
61583                     be used instead of name.
61584
61585              CLI Example:
61586
61587                 salt-cloud -f get_config_id my-linode-config name=my-linode
61588                 salt-cloud -f get_config_id my-linode-config linode_id=1234567
61589
61590       salt.cloud.clouds.linode.get_configured_provider()
61591              Return the first configured instance.
61592
61593       salt.cloud.clouds.linode.get_data_disk(vm_)
61594              Return True if a data disk is requested
61595
61596              New in version 2016.3.0.
61597
61598
61599       salt.cloud.clouds.linode.get_data_disk_size(vm_, swap, linode_id)
61600              Return the size of of the data disk in MB
61601
61602              New in version 2016.3.0.
61603
61604
61605       salt.cloud.clouds.linode.get_datacenter_id(location)
61606              Returns the Linode Datacenter ID.
61607
61608              location
61609                     The location, or name, of the datacenter to  get  the  ID
61610                     from.
61611
61612       salt.cloud.clouds.linode.get_disk_size(vm_, swap, linode_id)
61613              Returns the size of of the root disk in MB.
61614
61615              vm_    The VM to get the disk size for.
61616
61617       salt.cloud.clouds.linode.get_distribution_id(vm_)
61618              Returns the distribution ID for a VM
61619
61620              vm_    The VM to get the distribution ID for
61621
61622       salt.cloud.clouds.linode.get_ips(linode_id=None)
61623              Returns public and private IP addresses.
61624
61625              linode_id
61626                     Limits  the IP addresses returned to the specified Linode
61627                     ID.
61628
61629       salt.cloud.clouds.linode.get_linode(kwargs=None, call=None)
61630              Returns data for a single named Linode.
61631
61632              name   The name of the Linode for which to get data. Can be used
61633                     instead  linode_id.  Note  this will induce an additional
61634                     API call compared to using linode_id.
61635
61636              linode_id
61637                     The ID of the Linode for which to get data. Can  be  used
61638                     instead of name.
61639
61640              CLI Example:
61641
61642                 salt-cloud -f get_linode my-linode-config name=my-instance
61643                 salt-cloud -f get_linode my-linode-config linode_id=1234567
61644
61645       salt.cloud.clouds.linode.get_linode_id_from_name(name)
61646              Returns the Linode ID for a VM from the provided name.
61647
61648              name   The  name  of the Linode from which to get the Linode ID.
61649                     Required.
61650
61651       salt.cloud.clouds.linode.get_password(vm_)
61652              Return the password to use for a VM.
61653
61654              vm_    The configuration to obtain the password from.
61655
61656       salt.cloud.clouds.linode.get_plan_id(kwargs=None, call=None)
61657              Returns the Linode Plan ID.
61658
61659              label  The label, or name, of the plan to get the ID from.
61660
61661              CLI Example:
61662
61663                 salt-cloud -f get_plan_id linode label="Linode 1024"
61664
61665       salt.cloud.clouds.linode.get_private_ip(vm_)
61666              Return True if a private ip address is requested
61667
61668       salt.cloud.clouds.linode.get_pub_key(vm_)
61669              Return the SSH pubkey.
61670
61671              vm_    The configuration to obtain the public key from.
61672
61673       salt.cloud.clouds.linode.get_swap_size(vm_)
61674              Returns the amoutn of swap space to be used in MB.
61675
61676              vm_    The VM profile to obtain the swap size from.
61677
61678       salt.cloud.clouds.linode.get_vm_size(vm_)
61679              Returns the VM's size.
61680
61681              vm_    The VM to get the size for.
61682
61683       salt.cloud.clouds.linode.list_nodes(call=None)
61684              Returns a list of linodes, keeping only a brief listing.
61685
61686              CLI Example:
61687
61688                 salt-cloud -Q
61689                 salt-cloud --query
61690                 salt-cloud -f list_nodes my-linode-config
61691
61692              NOTE:
61693                 The image label only displays information about the VM's dis‐
61694                 tribution  vendor,  such  as  "Debian" or "RHEL" and does not
61695                 display the actual image name. This is due to a limitation of
61696                 the Linode API.
61697
61698       salt.cloud.clouds.linode.list_nodes_full(call=None)
61699              List linodes, with all available information.
61700
61701              CLI Example:
61702
61703                 salt-cloud -F
61704                 salt-cloud --full-query
61705                 salt-cloud -f list_nodes_full my-linode-config
61706
61707              NOTE:
61708                 The image label only displays information about the VM's dis‐
61709                 tribution vendor, such as "Debian" or  "RHEL"  and  does  not
61710                 display the actual image name. This is due to a limitation of
61711                 the Linode API.
61712
61713       salt.cloud.clouds.linode.list_nodes_min(call=None)
61714              Return a list of the VMs that are on the provider. Only  a  list
61715              of  VM  names  and  their state is returned. This is the minimum
61716              amount of information needed to check for existing VMs.
61717
61718              New in version 2015.8.0.
61719
61720
61721              CLI Example:
61722
61723                 salt-cloud -f list_nodes_min my-linode-config
61724                 salt-cloud --function list_nodes_min my-linode-config
61725
61726       salt.cloud.clouds.linode.list_nodes_select(call=None)
61727              Return a list of the VMs that are on the provider,  with  select
61728              fields.
61729
61730       salt.cloud.clouds.linode.reboot(name, call=None)
61731              Reboot a linode.
61732
61733              New in version 2015.8.0.
61734
61735
61736              name   The name of the VM to reboot.
61737
61738              CLI Example:
61739
61740                 salt-cloud -a reboot vm_name
61741
61742       salt.cloud.clouds.linode.show_instance(name, call=None)
61743              Displays  details about a particular Linode VM. Either a name or
61744              a linode_id must be provided.
61745
61746              New in version 2015.8.0.
61747
61748
61749              name   The name of the VM for which to display details.
61750
61751              CLI Example:
61752
61753                 salt-cloud -a show_instance vm_name
61754
61755              NOTE:
61756                 The image label only displays information about the VM's dis‐
61757                 tribution  vendor,  such  as  "Debian" or "RHEL" and does not
61758                 display the actual image name. This is due to a limitation of
61759                 the Linode API.
61760
61761       salt.cloud.clouds.linode.show_pricing(kwargs=None, call=None)
61762              Show pricing for a particular profile. This is only an estimate,
61763              based on unofficial pricing sources.
61764
61765              New in version 2015.8.0.
61766
61767
61768              CLI Example:
61769
61770                 salt-cloud -f show_pricing my-linode-config profile=my-linode-profile
61771
61772       salt.cloud.clouds.linode.start(name, call=None)
61773              Start a VM in Linode.
61774
61775              name   The name of the VM to start.
61776
61777              CLI Example:
61778
61779                 salt-cloud -a stop vm_name
61780
61781       salt.cloud.clouds.linode.stop(name, call=None)
61782              Stop a VM in Linode.
61783
61784              name   The name of the VM to stop.
61785
61786              CLI Example:
61787
61788                 salt-cloud -a stop vm_name
61789
61790       salt.cloud.clouds.linode.update_linode(linode_id, update_args=None)
61791              Updates a Linode's properties.
61792
61793              linode_id
61794                     The ID of the Linode to shutdown. Required.
61795
61796              update_args
61797                     The args to update the Linode with. Must be in dictionary
61798                     form.
61799
61800   salt.cloud.clouds.lxc
61801   Install Salt on an LXC Container
61802       New in version 2014.7.0.
61803
61804
61805       Please read core config documentation.
61806
61807       salt.cloud.clouds.lxc.avail_images()
61808
61809       salt.cloud.clouds.lxc.create(vm_, call=None)
61810              Create  an  lxc Container.  This function is idempotent and will
61811              try to either provision or finish the provision of an  lxc  con‐
61812              tainer.
61813
61814              NOTE:  Most of the initialization code has been moved and merged
61815              with the lxc runner and lxc.init functions
61816
61817       salt.cloud.clouds.lxc.destroy(vm_, call=None)
61818              Destroy a lxc container
61819
61820       salt.cloud.clouds.lxc.get_configured_provider(vm_=None)
61821              Return the contextual provider of None if no configured one  can
61822              be found.
61823
61824       salt.cloud.clouds.lxc.get_provider(name)
61825
61826       salt.cloud.clouds.lxc.list_nodes(conn=None, call=None)
61827
61828       salt.cloud.clouds.lxc.list_nodes_full(conn=None, call=None)
61829
61830       salt.cloud.clouds.lxc.list_nodes_select(call=None)
61831              Return  a  list of the VMs that are on the provider, with select
61832              fields
61833
61834       salt.cloud.clouds.lxc.show_instance(name, call=None)
61835              Show the details from the provider concerning an instance
61836
61837   salt.cloud.clouds.msazure
61838   Azure Cloud Module
61839       The Azure cloud module is used to control access to Microsoft Azure
61840
61841       depends
61842
61843              · Microsoft Azure SDK for Python >= 1.0.2
61844
61845              · python-requests, for Python < 2.7.9
61846
61847       configuration
61848              Required provider parameters:
61849
61850              · apikey
61851
61852              · certificate_path
61853
61854              · subscription_id
61855
61856              · backend
61857
61858              A Management Certificate (.pem and .crt files) must  be  created
61859              and  the .pem file placed on the same machine that salt-cloud is
61860              run from. Information on creating  the  pem  file  to  use,  and
61861              uploading the associated cer file can be found at:
61862
61863              http://www.windowsazure.com/en-us/develop/python/how-to-guides/service-management/
61864
61865              For users with Python < 2.7.9, backend must currently be set  to
61866              requests.
61867
61868       Example                   /etc/salt/cloud.providers                  or
61869       /etc/salt/cloud.providers.d/azure.conf configuration:
61870
61871          my-azure-config:
61872            driver: azure
61873            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
61874            certificate_path: /etc/salt/azure.pem
61875            management_host: management.core.windows.net
61876
61877       salt.cloud.clouds.msazure.add_input_endpoint(kwargs=None,    conn=None,
61878       call=None)
61879              New in version 2015.8.0.
61880
61881
61882              Add  an input endpoint to the deployment. Please note that there
61883              may be a delay before the changes show up.
61884
61885              CLI Example:
61886
61887                 salt-cloud -f add_input_endpoint my-azure service=myservice \
61888                     deployment=mydeployment role=myrole name=HTTP local_port=80 \
61889                     port=80 protocol=tcp enable_direct_server_return=False \
61890                     timeout_for_tcp_idle_connection=4
61891
61892       salt.cloud.clouds.msazure.add_management_certificate(kwargs=None,
61893       conn=None, call=None)
61894              New in version 2015.8.0.
61895
61896
61897              Add a new management certificate
61898
61899              CLI Example:
61900
61901                 salt-cloud -f add_management_certificate my-azure public_key='...PUBKEY...' \
61902                     thumbprint=0123456789ABCDEF data='...CERT_DATA...'
61903
61904       salt.cloud.clouds.msazure.add_service_certificate(kwargs=None,
61905       conn=None, call=None)
61906              New in version 2015.8.0.
61907
61908
61909              Add a new service certificate
61910
61911              CLI Example:
61912
61913                 salt-cloud -f add_service_certificate my-azure name=my_service_certificate \
61914                     data='...CERT_DATA...' certificate_format=sha1 password=verybadpass
61915
61916       salt.cloud.clouds.msazure.avail_images(conn=None, call=None)
61917              List available images for Azure
61918
61919       salt.cloud.clouds.msazure.avail_locations(conn=None, call=None)
61920              List available locations for Azure
61921
61922       salt.cloud.clouds.msazure.avail_sizes(call=None)
61923              Return a list of sizes from Azure
61924
61925       salt.cloud.clouds.msazure.cleanup_unattached_disks(kwargs=None,
61926       conn=None, call=None)
61927              New in version 2015.8.0.
61928
61929
61930              Cleans  up  all disks associated with the account, which are not
61931              attached.  * CAUTION * This is a destructive  function  with  no
61932              undo button, and no "Are you sure?" confirmation!
61933
61934              CLI Examples:
61935
61936                 salt-cloud -f cleanup_unattached_disks my-azure name=my_disk
61937                 salt-cloud -f cleanup_unattached_disks my-azure name=my_disk delete_vhd=True
61938
61939       salt.cloud.clouds.msazure.create(vm_)
61940              Create a single VM from a data dict
61941
61942       salt.cloud.clouds.msazure.create_affinity_group(kwargs=None, conn=None,
61943       call=None)
61944              New in version 2015.8.0.
61945
61946
61947              Create a new affinity group
61948
61949              CLI Example:
61950
61951                 salt-cloud -f create_affinity_group my-azure name=my_affinity_group
61952
61953       salt.cloud.clouds.msazure.create_attach_volumes(name,           kwargs,
61954       call=None, wait_to_finish=True)
61955              Create and attach volumes to created node
61956
61957       salt.cloud.clouds.msazure.create_service(kwargs=None,        conn=None,
61958       call=None)
61959              New in version 2015.8.0.
61960
61961
61962              Create a new hosted service
61963
61964              CLI Example:
61965
61966                 salt-cloud -f create_service my-azure name=my_service label=my_service location='West US'
61967
61968       salt.cloud.clouds.msazure.create_storage(kwargs=None,        conn=None,
61969       call=None)
61970              New in version 2015.8.0.
61971
61972
61973              Create a new storage account
61974
61975              CLI Example:
61976
61977                 salt-cloud -f create_storage my-azure name=my_storage label=my_storage location='West US'
61978
61979       salt.cloud.clouds.msazure.create_storage_container(kwargs=None,   stor‐
61980       age_conn=None, call=None)
61981              New in version 2015.8.0.
61982
61983
61984              Create a storage container
61985
61986              CLI Example:
61987
61988                 salt-cloud -f create_storage_container my-azure name=mycontainer
61989
61990              name:  Name of container to create.
61991
61992              meta_name_values:
61993                     Optional. A dict with name_value pairs to associate  with
61994                     the container as metadata. Example:{'Category':'test'}
61995
61996              blob_public_access:
61997                     Optional. Possible values include: container, blob
61998
61999              fail_on_exist:
62000                     Specify  whether to throw an exception when the container
62001                     exists.
62002
62003       salt.cloud.clouds.msazure.delete_affinity_group(kwargs=None, conn=None,
62004       call=None)
62005              New in version 2015.8.0.
62006
62007
62008              Delete a specific affinity group associated with the account
62009
62010              CLI Examples:
62011
62012                 salt-cloud -f delete_affinity_group my-azure name=my_affinity_group
62013
62014       salt.cloud.clouds.msazure.delete_disk(kwargs=None,           conn=None,
62015       call=None)
62016              New in version 2015.8.0.
62017
62018
62019              Delete a specific disk associated with the account
62020
62021              CLI Examples:
62022
62023                 salt-cloud -f delete_disk my-azure name=my_disk
62024                 salt-cloud -f delete_disk my-azure name=my_disk delete_vhd=True
62025
62026       salt.cloud.clouds.msazure.delete_input_endpoint(kwargs=None, conn=None,
62027       call=None)
62028              New in version 2015.8.0.
62029
62030
62031              Delete  an  input endpoint from the deployment. Please note that
62032              there may be a delay before the changes show up.
62033
62034              CLI Example:
62035
62036                 salt-cloud -f delete_input_endpoint my-azure service=myservice \
62037                     deployment=mydeployment role=myrole name=HTTP
62038
62039       salt.cloud.clouds.msazure.delete_management_certificate(kwargs=None,
62040       conn=None, call=None)
62041              New in version 2015.8.0.
62042
62043
62044              Delete a specific certificate associated with the management
62045
62046              CLI Examples:
62047
62048                 salt-cloud -f delete_management_certificate my-azure name=my_management_certificate \
62049                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62050
62051       salt.cloud.clouds.msazure.delete_service(kwargs=None,        conn=None,
62052       call=None)
62053              New in version 2015.8.0.
62054
62055
62056              Delete a specific service associated with the account
62057
62058              CLI Examples:
62059
62060                 salt-cloud -f delete_service my-azure name=my_service
62061
62062       salt.cloud.clouds.msazure.delete_service_certificate(kwargs=None,
62063       conn=None, call=None)
62064              New in version 2015.8.0.
62065
62066
62067              Delete a specific certificate associated with the service
62068
62069              CLI Examples:
62070
62071                 salt-cloud -f delete_service_certificate my-azure name=my_service_certificate \
62072                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62073
62074       salt.cloud.clouds.msazure.delete_storage(kwargs=None,        conn=None,
62075       call=None)
62076              New in version 2015.8.0.
62077
62078
62079              Delete a specific storage account
62080
62081              CLI Examples:
62082
62083                 salt-cloud -f delete_storage my-azure name=my_storage
62084
62085       salt.cloud.clouds.msazure.delete_storage_container(kwargs=None,   stor‐
62086       age_conn=None, call=None)
62087              New in version 2015.8.0.
62088
62089
62090              Delete a container associated with the storage account
62091
62092              CLI Example:
62093
62094                 salt-cloud -f delete_storage_container my-azure name=mycontainer
62095
62096              name:  Name of container to create.
62097
62098              fail_not_exist:
62099                     Specify  whether to throw an exception when the container
62100                     exists.
62101
62102              lease_id:
62103                     If specified, delete_storage_container only  succeeds  if
62104                     the container's lease is active and matches this ID.
62105
62106       salt.cloud.clouds.msazure.destroy(name,      conn=None,      call=None,
62107       kwargs=None)
62108              Destroy a VM
62109
62110              CLI Examples:
62111
62112                 salt-cloud -d myminion
62113                 salt-cloud -a destroy myminion service_name=myservice
62114
62115       salt.cloud.clouds.msazure.get_affinity_group(kwargs=None,    conn=None,
62116       call=None)
62117              New in version 2015.8.0.
62118
62119
62120              Show an affinity group associated with the account
62121
62122              CLI Example:
62123
62124                 salt-cloud -f show_affinity_group my-azure service=myservice \
62125                     deployment=mydeployment name=SSH
62126
62127       salt.cloud.clouds.msazure.get_blob(kwargs=None,      storage_conn=None,
62128       call=None)
62129              New in version 2015.8.0.
62130
62131
62132              Download a blob
62133
62134              CLI Example:
62135
62136                 salt-cloud -f get_blob my-azure container=base name=top.sls local_path=/srv/salt/top.sls
62137                 salt-cloud -f get_blob my-azure container=base name=content.txt return_content=True
62138
62139              container:
62140                     Name of existing container.
62141
62142              name:  Name of existing blob.
62143
62144              local_path:
62145                     The path on the local machine to download  the  blob  to.
62146                     Either this or return_content must be specified.
62147
62148              return_content:
62149                     Whether  or  not  to return the content directly from the
62150                     blob. If specified, must be True or False. Either this or
62151                     the local_path must be specified.
62152
62153              snapshot:
62154                     Optional.  The  snapshot  parameter is an opaque DateTime
62155                     value that, when present, specifies the blob snapshot  to
62156                     retrieve.
62157
62158              lease_id:
62159                     Required if the blob has an active lease.
62160
62161              progress_callback:
62162                     callback  for  progress  with signature function(current,
62163                     total) where current is the number of  bytes  transferred
62164                     so far, and total is the size of the blob.
62165
62166              max_connections:
62167                     Maximum  number  of  parallel connections to use when the
62168                     blob size exceeds 64MB.  Set to 1 to  download  the  blob
62169                     chunks  sequentially.   Set  to 2 or more to download the
62170                     blob chunks in parallel. This uses more system  resources
62171                     but will download faster.
62172
62173              max_retries:
62174                     Number  of  times  to  retry download of blob chunk if an
62175                     error occurs.
62176
62177              retry_wait:
62178                     Sleep time in secs between retries.
62179
62180       salt.cloud.clouds.msazure.get_blob_properties(kwargs=None,        stor‐
62181       age_conn=None, call=None)
62182              New in version 2015.8.0.
62183
62184
62185              Returns all user-defined metadata, standard HTTP properties, and
62186              system properties for the blob.
62187
62188              CLI Example:
62189
62190                 salt-cloud -f show_blob_properties my-azure container=mycontainer blob=myblob
62191
62192              container:
62193                     Name of existing container.
62194
62195              blob:  Name of existing blob.
62196
62197              lease_id:
62198                     Required if the blob has an active lease.
62199
62200       salt.cloud.clouds.msazure.get_blob_service_properties(kwargs=None,
62201       storage_conn=None, call=None)
62202              New in version 2015.8.0.
62203
62204
62205              Show a blob's service properties
62206
62207              CLI Example:
62208
62209                 salt-cloud -f show_blob_service_properties my-azure
62210
62211       salt.cloud.clouds.msazure.get_configured_provider()
62212              Return the first configured instance.
62213
62214       salt.cloud.clouds.msazure.get_conn()
62215              Return a conn object for the passed VM data
62216
62217       salt.cloud.clouds.msazure.get_dependencies()
62218              Warn if dependencies aren't met.
62219
62220       salt.cloud.clouds.msazure.get_deployment(kwargs=None,        conn=None,
62221       call=None)
62222              New in version 2015.8.0.
62223
62224
62225              Return information about a deployment
62226
62227              CLI Example:
62228
62229                 salt-cloud -f show_deployment my-azure name=my_deployment
62230
62231       salt.cloud.clouds.msazure.get_disk(kwargs=None, conn=None, call=None)
62232              New in version 2015.8.0.
62233
62234
62235              Return information about a disk
62236
62237              CLI Example:
62238
62239                 salt-cloud -f show_disk my-azure name=my_disk
62240
62241       salt.cloud.clouds.msazure.get_input_endpoint(kwargs=None,    conn=None,
62242       call=None)
62243              New in version 2015.8.0.
62244
62245
62246              Show an input endpoint associated with the deployment
62247
62248              CLI Example:
62249
62250                 salt-cloud -f show_input_endpoint my-azure service=myservice \
62251                     deployment=mydeployment name=SSH
62252
62253       salt.cloud.clouds.msazure.get_management_certificate(kwargs=None,
62254       conn=None, call=None)
62255              New in version 2015.8.0.
62256
62257
62258              Return information about a management_certificate
62259
62260              CLI Example:
62261
62262                 salt-cloud -f get_management_certificate my-azure name=my_management_certificate \
62263                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62264
62265       salt.cloud.clouds.msazure.get_operation_status(kwargs=None,  conn=None,
62266       call=None)
62267              New in version 2015.8.0.
62268
62269
62270              Get Operation Status, based on a request ID
62271
62272              CLI Example:
62273
62274                 salt-cloud -f get_operation_status my-azure id=0123456789abcdef0123456789abcdef
62275
62276       salt.cloud.clouds.msazure.get_service_certificate(kwargs=None,
62277       conn=None, call=None)
62278              New in version 2015.8.0.
62279
62280
62281              Return information about a service certificate
62282
62283              CLI Example:
62284
62285                 salt-cloud -f show_service_certificate my-azure name=my_service_certificate \
62286                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62287
62288       salt.cloud.clouds.msazure.get_storage(kwargs=None,           conn=None,
62289       call=None)
62290              New in version 2015.8.0.
62291
62292
62293              List storage service properties
62294
62295              CLI Example:
62296
62297                 salt-cloud -f show_storage my-azure name=my_storage
62298
62299       salt.cloud.clouds.msazure.get_storage_conn(storage_account=None,  stor‐
62300       age_key=None, conn_kwargs=None)
62301              New in version 2015.8.0.
62302
62303
62304              Return a storage_conn object for the storage account
62305
62306       salt.cloud.clouds.msazure.get_storage_container(kwargs=None,      stor‐
62307       age_conn=None, call=None)
62308              New in version 2015.8.0.
62309
62310
62311              Show a container associated with the storage account
62312
62313              CLI Example:
62314
62315                 salt-cloud -f show_storage_container my-azure name=myservice
62316
62317              name:  Name of container to show.
62318
62319       salt.cloud.clouds.msazure.get_storage_container_acl(kwargs=None,  stor‐
62320       age_conn=None, call=None)
62321              New in version 2015.8.0.
62322
62323
62324              Show a storage container's acl
62325
62326              CLI Example:
62327
62328                 salt-cloud -f show_storage_container_acl my-azure name=myservice
62329
62330              name:  Name of existing container.
62331
62332              lease_id:
62333                     If specified, show_storage_container_acl only succeeds if
62334                     the container's lease is active and matches this ID.
62335
62336       salt.cloud.clouds.msazure.get_storage_container_metadata(kwargs=None,
62337       storage_conn=None, call=None)
62338              New in version 2015.8.0.
62339
62340
62341              Show a storage container's metadata
62342
62343              CLI Example:
62344
62345                 salt-cloud -f show_storage_container_metadata my-azure name=myservice
62346
62347              name:  Name of container to show.
62348
62349              lease_id:
62350                     If specified, show_storage_container_metadata  only  suc‐
62351                     ceeds if the container's lease is active and matches this
62352                     ID.
62353
62354       salt.cloud.clouds.msazure.get_storage_keys(kwargs=None,      conn=None,
62355       call=None)
62356              New in version 2015.8.0.
62357
62358
62359              Show storage account keys
62360
62361              CLI Example:
62362
62363                 salt-cloud -f show_storage_keys my-azure name=my_storage
62364
62365       salt.cloud.clouds.msazure.lease_storage_container(kwargs=None,    stor‐
62366       age_conn=None, call=None)
62367              New in version 2015.8.0.
62368
62369
62370              Lease a container associated with the storage account
62371
62372              CLI Example:
62373
62374                 salt-cloud -f lease_storage_container my-azure name=mycontainer
62375
62376              name:  Name of container to create.
62377
62378              lease_action:
62379                     Required.                Possible                 values:
62380                     acquire|renew|release|break|change
62381
62382              lease_id:
62383                     Required if the container has an active lease.
62384
62385              lease_duration:
62386                     Specifies the duration of the lease, in seconds, or nega‐
62387                     tive one (-1) for a lease that never expires. A non-infi‐
62388                     nite  lease  can  be  between  15 and 60 seconds. A lease
62389                     duration cannot be changed using  renew  or  change.  For
62390                     backwards compatibility, the default is 60, and the value
62391                     is only used on an acquire operation.
62392
62393              lease_break_period:
62394                     Optional. For a break operation,  this  is  the  proposed
62395                     duration of seconds that the lease should continue before
62396                     it is broken, between 0 and 60 seconds. This break period
62397                     is  only used if it is shorter than the time remaining on
62398                     the lease. If longer, the time remaining on the lease  is
62399                     used.  A new lease will not be available before the break
62400                     period has expired, but the lease may be held for  longer
62401                     than  the  break  period.  If this header does not appear
62402                     with a break operation,  a  fixed-duration  lease  breaks
62403                     after the remaining lease period elapses, and an infinite
62404                     lease breaks immediately.
62405
62406              proposed_lease_id:
62407                     Optional for acquire, required for change. Proposed lease
62408                     ID, in a GUID string format.
62409
62410       salt.cloud.clouds.msazure.list_affinity_groups(kwargs=None,  conn=None,
62411       call=None)
62412              New in version 2015.8.0.
62413
62414
62415              List input endpoints associated with the deployment
62416
62417              CLI Example:
62418
62419                 salt-cloud -f list_affinity_groups my-azure
62420
62421       salt.cloud.clouds.msazure.list_blobs(kwargs=None,    storage_conn=None,
62422       call=None)
62423              New in version 2015.8.0.
62424
62425
62426              List blobs associated with the container
62427
62428              CLI Example:
62429
62430                 salt-cloud -f list_blobs my-azure container=mycontainer
62431
62432              container:
62433                     The name of the storage container
62434
62435              prefix:
62436                     Optional.  Filters the results to return only blobs whose
62437                     names begin with the specified prefix.
62438
62439              marker:
62440                     Optional. A string value that identifies the  portion  of
62441                     the list to be returned with the next list operation. The
62442                     operation returns a marker value within the response body
62443                     if  the  list returned was not complete. The marker value
62444                     may then be used in a subsequent call to request the next
62445                     set  of  list  items.  The  marker value is opaque to the
62446                     client.
62447
62448              maxresults:
62449                     Optional.  Specifies  the  maximum  number  of  blobs  to
62450                     return, including all BlobPrefix elements. If the request
62451                     does not specify maxresults or specifies a value  greater
62452                     than  5,000,  the  server  will return up to 5,000 items.
62453                     Setting maxresults to a value less than or equal to  zero
62454                     results in error response code 400 (Bad Request).
62455
62456              include:
62457                     Optional.  Specifies  one  or more datasets to include in
62458                     the response. To specify more than one of  these  options
62459                     on  the  URI, you must separate each option with a comma.
62460                     Valid values are:
62461
62462                     snapshots:
62463                            Specifies that snapshots should be included in the
62464                            enumeration.  Snapshots  are listed from oldest to
62465                            newest in the response.
62466
62467                     metadata:
62468                            Specifies that blob metadata be  returned  in  the
62469                            response.
62470
62471                     uncommittedblobs:
62472                            Specifies  that  blobs  for which blocks have been
62473                            uploaded, but which have not been committed  using
62474                            Put  Block  List  (REST  API),  be included in the
62475                            response.
62476
62477                     copy:  Version 2012-02-12 and newer. Specifies that meta‐
62478                            data  related to any current or previous Copy Blob
62479                            operation should be included in the response.
62480
62481              delimiter:
62482                     Optional. When the request includes this  parameter,  the
62483                     operation  returns  a  BlobPrefix element in the response
62484                     body that acts as a placeholder for all blobs whose names
62485                     begin with the same substring up to the appearance of the
62486                     delimiter character. The delimiter may be a single  char‐
62487                     acter or a string.
62488
62489       salt.cloud.clouds.msazure.list_disks(kwargs=None, conn=None, call=None)
62490              New in version 2015.8.0.
62491
62492
62493              List disks associated with the account
62494
62495              CLI Example:
62496
62497                 salt-cloud -f list_disks my-azure
62498
62499       salt.cloud.clouds.msazure.list_hosted_services(conn=None, call=None)
62500              List VMs on this Azure account, with full information
62501
62502       salt.cloud.clouds.msazure.list_input_endpoints(kwargs=None,  conn=None,
62503       call=None)
62504              New in version 2015.8.0.
62505
62506
62507              List input endpoints associated with the deployment
62508
62509              CLI Example:
62510
62511                 salt-cloud -f list_input_endpoints my-azure service=myservice deployment=mydeployment
62512
62513       salt.cloud.clouds.msazure.list_management_certificates(kwargs=None,
62514       conn=None, call=None)
62515              New in version 2015.8.0.
62516
62517
62518              List management certificates associated with the subscription
62519
62520              CLI Example:
62521
62522                 salt-cloud -f list_management_certificates my-azure name=my_management
62523
62524       salt.cloud.clouds.msazure.list_nodes(conn=None, call=None)
62525              List VMs on this Azure account
62526
62527       salt.cloud.clouds.msazure.list_nodes_full(conn=None, call=None)
62528              List VMs on this Azure account, with full information
62529
62530       salt.cloud.clouds.msazure.list_nodes_select(conn=None, call=None)
62531              Return  a  list of the VMs that are on the provider, with select
62532              fields
62533
62534       salt.cloud.clouds.msazure.list_service_certificates(kwargs=None,
62535       conn=None, call=None)
62536              New in version 2015.8.0.
62537
62538
62539              List certificates associated with the service
62540
62541              CLI Example:
62542
62543                 salt-cloud -f list_service_certificates my-azure name=my_service
62544
62545       salt.cloud.clouds.msazure.list_services(kwargs=None,         conn=None,
62546       call=None)
62547              New in version 2015.8.0.
62548
62549
62550              List hosted services associated with the account
62551
62552              CLI Example:
62553
62554                 salt-cloud -f list_services my-azure
62555
62556       salt.cloud.clouds.msazure.list_storage(kwargs=None,          conn=None,
62557       call=None)
62558              New in version 2015.8.0.
62559
62560
62561              List storage accounts associated with the account
62562
62563              CLI Example:
62564
62565                 salt-cloud -f list_storage my-azure
62566
62567       salt.cloud.clouds.msazure.list_storage_containers(kwargs=None,    stor‐
62568       age_conn=None, call=None)
62569              New in version 2015.8.0.
62570
62571
62572              List containers associated with the storage account
62573
62574              CLI Example:
62575
62576                 salt-cloud -f list_storage_containers my-azure
62577
62578       salt.cloud.clouds.msazure.list_storage_services(conn=None, call=None)
62579              List VMs on this Azure account, with full information
62580
62581       salt.cloud.clouds.msazure.list_virtual_networks(kwargs=None, conn=None,
62582       call=None)
62583              New in version 2015.8.0.
62584
62585
62586              List input endpoints associated with the deployment
62587
62588              CLI Example:
62589
62590                 salt-cloud -f list_virtual_networks my-azure service=myservice deployment=mydeployment
62591
62592       salt.cloud.clouds.msazure.make_blob_url(kwargs=None, storage_conn=None,
62593       call=None)
62594              New in version 2015.8.0.
62595
62596
62597              Creates the URL to access a blob
62598
62599              CLI Example:
62600
62601                 salt-cloud -f make_blob_url my-azure container=mycontainer blob=myblob
62602
62603              container:
62604                     Name of the container.
62605
62606              blob:  Name of the blob.
62607
62608              account:
62609                     Name of the storage account. If  not  specified,  derives
62610                     the host base from the provider configuration.
62611
62612              protocol:
62613                     Protocol  to  use:  'http'  or 'https'. If not specified,
62614                     derives the host base from the provider configuration.
62615
62616              host_base:
62617                     Live host base URL.  If not specified, derives  the  host
62618                     base from the provider configuration.
62619
62620       salt.cloud.clouds.msazure.put_blob(kwargs=None,      storage_conn=None,
62621       call=None)
62622              New in version 2015.8.0.
62623
62624
62625              Upload a blob
62626
62627              CLI Examples:
62628
62629                 salt-cloud -f put_blob my-azure container=base name=top.sls blob_path=/srv/salt/top.sls
62630                 salt-cloud -f put_blob my-azure container=base name=content.txt blob_content='Some content'
62631
62632              container:
62633                     Name of existing container.
62634
62635              name:  Name of existing blob.
62636
62637              blob_path:
62638                     The path on the local machine of the file to upload as  a
62639                     blob. Either this or blob_content must be specified.
62640
62641              blob_content:
62642                     The  actual content to be uploaded as a blob. Either this
62643                     or blob_path must me specified.
62644
62645              cache_control:
62646                     Optional. The Blob service stores this value but does not
62647                     use or modify it.
62648
62649              content_language:
62650                     Optional.  Specifies  the  natural languages used by this
62651                     resource.
62652
62653              content_md5:
62654                     Optional. An MD5 hash of the blob content. This  hash  is
62655                     used  to  verify  the integrity of the blob during trans‐
62656                     port. When this header is specified, the storage  service
62657                     checks  the  hash  that has arrived with the one that was
62658                     sent. If the two hashes do not match, the operation  will
62659                     fail with error code 400 (Bad Request).
62660
62661              blob_content_type:
62662                     Optional. Set the blob's content type.
62663
62664              blob_content_encoding:
62665                     Optional. Set the blob's content encoding.
62666
62667              blob_content_language:
62668                     Optional. Set the blob's content language.
62669
62670              blob_content_md5:
62671                     Optional. Set the blob's MD5 hash.
62672
62673              blob_cache_control:
62674                     Optional. Sets the blob's cache control.
62675
62676              meta_name_values:
62677                     A dict containing name, value for metadata.
62678
62679              lease_id:
62680                     Required if the blob has an active lease.
62681
62682       salt.cloud.clouds.msazure.query(path,     method=u'GET',     data=None,
62683       params=None, header_dict=None, decode=True)
62684              Perform a query directly against the Azure REST API
62685
62686       salt.cloud.clouds.msazure.regenerate_storage_keys(kwargs=None,
62687       conn=None, call=None)
62688              New in version 2015.8.0.
62689
62690
62691              Regenerate  storage account keys. Requires a key_type ("primary"
62692              or "secondary") to be specified.
62693
62694              CLI Example:
62695
62696                 salt-cloud -f regenerate_storage_keys my-azure name=my_storage key_type=primary
62697
62698       salt.cloud.clouds.msazure.script(vm_)
62699              Return the script deployment object
62700
62701       salt.cloud.clouds.msazure.set_blob_properties(kwargs=None,        stor‐
62702       age_conn=None, call=None)
62703              New in version 2015.8.0.
62704
62705
62706              Set a blob's properties
62707
62708              CLI Example:
62709
62710                 salt-cloud -f set_blob_properties my-azure
62711
62712              container:
62713                     Name of existing container.
62714
62715              blob:  Name of existing blob.
62716
62717              blob_cache_control:
62718                     Optional. Modifies the cache control string for the blob.
62719
62720              blob_content_type:
62721                     Optional. Sets the blob's content type.
62722
62723              blob_content_md5:
62724                     Optional. Sets the blob's MD5 hash.
62725
62726              blob_content_encoding:
62727                     Optional. Sets the blob's content encoding.
62728
62729              blob_content_language:
62730                     Optional. Sets the blob's content language.
62731
62732              lease_id:
62733                     Required if the blob has an active lease.
62734
62735              blob_content_disposition:
62736                     Optional.  Sets  the  blob's  Content-Disposition header.
62737                     The Content-Disposition  response  header  field  conveys
62738                     additional  information about how to process the response
62739                     payload, and also can be used to attach additional  meta‐
62740                     data.  For  example,  if  set to attachment, it indicates
62741                     that the user-agent should not display the response,  but
62742                     instead  show a Save As dialog with a filename other than
62743                     the blob name specified.
62744
62745       salt.cloud.clouds.msazure.set_blob_service_properties(kwargs=None,
62746       storage_conn=None, call=None)
62747              New in version 2015.8.0.
62748
62749
62750              Sets the properties of a storage account's Blob service, includ‐
62751              ing Windows Azure Storage Analytics. You can also use this oper‐
62752              ation  to  set  the  default  request  version  for all incoming
62753              requests that do not have a version specified.
62754
62755              CLI Example:
62756
62757                 salt-cloud -f set_blob_service_properties my-azure
62758
62759              properties:
62760                     a StorageServiceProperties object.
62761
62762              timeout:
62763                     Optional. The timeout parameter is expressed in seconds.
62764
62765       salt.cloud.clouds.msazure.set_storage_container_acl(kwargs=None,  stor‐
62766       age_conn=None, call=None)
62767              New in version 2015.8.0.
62768
62769
62770              Set a storage container's acl
62771
62772              CLI Example:
62773
62774                 salt-cloud -f set_storage_container my-azure name=mycontainer
62775
62776              name:  Name of existing container.
62777
62778              signed_identifiers:
62779                     SignedIdentifers instance
62780
62781              blob_public_access:
62782                     Optional. Possible values include: container, blob
62783
62784              lease_id:
62785                     If  specified, set_storage_container_acl only succeeds if
62786                     the container's lease is active and matches this ID.
62787
62788       salt.cloud.clouds.msazure.set_storage_container_metadata(kwargs=None,
62789       storage_conn=None, call=None)
62790              New in version 2015.8.0.
62791
62792
62793              Set a storage container's metadata
62794
62795              CLI Example:
62796
62797                 salt-cloud -f set_storage_container my-azure name=mycontainer \
62798                     x_ms_meta_name_values='{"my_name": "my_value"}'
62799
62800              name:  Name of existing container.
62801
62802              meta_name_values:
62803                     A  dict  containing  name,  value for metadata.  Example:
62804                     {'category':'test'}
62805
62806              lease_id:
62807                     If specified,  set_storage_container_metadata  only  suc‐
62808                     ceeds if the container's lease is active and matches this
62809                     ID.
62810
62811       salt.cloud.clouds.msazure.show_affinity_group(kwargs=None,   conn=None,
62812       call=None)
62813              New in version 2015.8.0.
62814
62815
62816              Show an affinity group associated with the account
62817
62818              CLI Example:
62819
62820                 salt-cloud -f show_affinity_group my-azure service=myservice \
62821                     deployment=mydeployment name=SSH
62822
62823       salt.cloud.clouds.msazure.show_blob_properties(kwargs=None,       stor‐
62824       age_conn=None, call=None)
62825              New in version 2015.8.0.
62826
62827
62828              Returns all user-defined metadata, standard HTTP properties, and
62829              system properties for the blob.
62830
62831              CLI Example:
62832
62833                 salt-cloud -f show_blob_properties my-azure container=mycontainer blob=myblob
62834
62835              container:
62836                     Name of existing container.
62837
62838              blob:  Name of existing blob.
62839
62840              lease_id:
62841                     Required if the blob has an active lease.
62842
62843       salt.cloud.clouds.msazure.show_blob_service_properties(kwargs=None,
62844       storage_conn=None, call=None)
62845              New in version 2015.8.0.
62846
62847
62848              Show a blob's service properties
62849
62850              CLI Example:
62851
62852                 salt-cloud -f show_blob_service_properties my-azure
62853
62854       salt.cloud.clouds.msazure.show_deployment(kwargs=None,       conn=None,
62855       call=None)
62856              New in version 2015.8.0.
62857
62858
62859              Return information about a deployment
62860
62861              CLI Example:
62862
62863                 salt-cloud -f show_deployment my-azure name=my_deployment
62864
62865       salt.cloud.clouds.msazure.show_disk(kwargs=None, conn=None, call=None)
62866              New in version 2015.8.0.
62867
62868
62869              Return information about a disk
62870
62871              CLI Example:
62872
62873                 salt-cloud -f show_disk my-azure name=my_disk
62874
62875       salt.cloud.clouds.msazure.show_input_endpoint(kwargs=None,   conn=None,
62876       call=None)
62877              New in version 2015.8.0.
62878
62879
62880              Show an input endpoint associated with the deployment
62881
62882              CLI Example:
62883
62884                 salt-cloud -f show_input_endpoint my-azure service=myservice \
62885                     deployment=mydeployment name=SSH
62886
62887       salt.cloud.clouds.msazure.show_instance(name, call=None)
62888              Show the details from the provider concerning an instance
62889
62890       salt.cloud.clouds.msazure.show_management_certificate(kwargs=None,
62891       conn=None, call=None)
62892              New in version 2015.8.0.
62893
62894
62895              Return information about a management_certificate
62896
62897              CLI Example:
62898
62899                 salt-cloud -f get_management_certificate my-azure name=my_management_certificate \
62900                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62901
62902       salt.cloud.clouds.msazure.show_service(kwargs=None,          conn=None,
62903       call=None)
62904              New in version 2015.8.0.
62905
62906
62907              List hosted service properties
62908
62909              CLI Example:
62910
62911                 salt-cloud -f show_service my-azure name=my_service
62912
62913       salt.cloud.clouds.msazure.show_service_certificate(kwargs=None,
62914       conn=None, call=None)
62915              New in version 2015.8.0.
62916
62917
62918              Return information about a service certificate
62919
62920              CLI Example:
62921
62922                 salt-cloud -f show_service_certificate my-azure name=my_service_certificate \
62923                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62924
62925       salt.cloud.clouds.msazure.show_storage(kwargs=None,          conn=None,
62926       call=None)
62927              New in version 2015.8.0.
62928
62929
62930              List storage service properties
62931
62932              CLI Example:
62933
62934                 salt-cloud -f show_storage my-azure name=my_storage
62935
62936       salt.cloud.clouds.msazure.show_storage_container(kwargs=None,     stor‐
62937       age_conn=None, call=None)
62938              New in version 2015.8.0.
62939
62940
62941              Show a container associated with the storage account
62942
62943              CLI Example:
62944
62945                 salt-cloud -f show_storage_container my-azure name=myservice
62946
62947              name:  Name of container to show.
62948
62949       salt.cloud.clouds.msazure.show_storage_container_acl(kwargs=None, stor‐
62950       age_conn=None, call=None)
62951              New in version 2015.8.0.
62952
62953
62954              Show a storage container's acl
62955
62956              CLI Example:
62957
62958                 salt-cloud -f show_storage_container_acl my-azure name=myservice
62959
62960              name:  Name of existing container.
62961
62962              lease_id:
62963                     If specified, show_storage_container_acl only succeeds if
62964                     the container's lease is active and matches this ID.
62965
62966       salt.cloud.clouds.msazure.show_storage_container_metadata(kwargs=None,
62967       storage_conn=None, call=None)
62968              New in version 2015.8.0.
62969
62970
62971              Show a storage container's metadata
62972
62973              CLI Example:
62974
62975                 salt-cloud -f show_storage_container_metadata my-azure name=myservice
62976
62977              name:  Name of container to show.
62978
62979              lease_id:
62980                     If specified, show_storage_container_metadata  only  suc‐
62981                     ceeds if the container's lease is active and matches this
62982                     ID.
62983
62984       salt.cloud.clouds.msazure.show_storage_keys(kwargs=None,     conn=None,
62985       call=None)
62986              New in version 2015.8.0.
62987
62988
62989              Show storage account keys
62990
62991              CLI Example:
62992
62993                 salt-cloud -f show_storage_keys my-azure name=my_storage
62994
62995       salt.cloud.clouds.msazure.update_affinity_group(kwargs=None, conn=None,
62996       call=None)
62997              New in version 2015.8.0.
62998
62999
63000              Update an affinity group's properties
63001
63002              CLI Example:
63003
63004                 salt-cloud -f update_affinity_group my-azure name=my_group label=my_group
63005
63006       salt.cloud.clouds.msazure.update_disk(kwargs=None,           conn=None,
63007       call=None)
63008              New in version 2015.8.0.
63009
63010
63011              Update a disk's properties
63012
63013              CLI Example:
63014
63015                 salt-cloud -f update_disk my-azure name=my_disk label=my_disk
63016                 salt-cloud -f update_disk my-azure name=my_disk new_name=another_disk
63017
63018       salt.cloud.clouds.msazure.update_input_endpoint(kwargs=None, conn=None,
63019       call=None, activity=u'update')
63020              New in version 2015.8.0.
63021
63022
63023              Update an input endpoint associated with the deployment.  Please
63024              note that there may be a delay before the changes show up.
63025
63026              CLI Example:
63027
63028                 salt-cloud -f update_input_endpoint my-azure service=myservice \
63029                     deployment=mydeployment role=myrole name=HTTP local_port=80 \
63030                     port=80 protocol=tcp enable_direct_server_return=False \
63031                     timeout_for_tcp_idle_connection=4
63032
63033       salt.cloud.clouds.msazure.update_storage(kwargs=None,        conn=None,
63034       call=None)
63035              New in version 2015.8.0.
63036
63037
63038              Update a storage account's properties
63039
63040              CLI Example:
63041
63042                 salt-cloud -f update_storage my-azure name=my_storage label=my_storage
63043
63044   salt.cloud.clouds.oneandone
63045   1&1 Cloud Server Module
63046       The 1&1 SaltStack cloud module allows a 1&1 server to be  automatically
63047       deployed  and  bootstrapped  with Salt. It also has functions to create
63048       block storages and ssh keys.
63049
63050       depends
63051              1and1 >= 1.2.0
63052
63053       The module requires the 1&1  api_token  to  be  provided.   The  server
63054       should also be assigned a public LAN, a private LAN, or both along with
63055       SSH key pairs.
63056
63057       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
63058       /etc/salt/cloud.providers.d/oneandone.conf:
63059
63060          my-oneandone-config:
63061            driver: oneandone
63062            # The 1&1 api token
63063            api_token: <your-token>
63064            # SSH private key filename
63065            ssh_private_key: /path/to/private_key
63066            # SSH public key filename
63067            ssh_public_key: /path/to/public_key
63068
63069          my-oneandone-profile:
63070            provider: my-oneandone-config
63071            # Either provide fixed_instance_size_id or vcore, cores_per_processor, ram, and hdds.
63072            # Size of the ID desired for the server
63073            fixed_instance_size: S
63074            # Total amount of processors
63075            vcore: 2
63076            # Number of cores per processor
63077            cores_per_processor: 2
63078            # RAM memory size in GB
63079            ram: 4
63080            # Hard disks
63081            hdds:
63082            -
63083              is_main: true
63084              size: 20
63085            -
63086              is_main: false
63087              size: 20
63088            # ID of the appliance image that will be installed on server
63089            appliance_id: <ID>
63090            # ID of the datacenter where the server will be created
63091            datacenter_id: <ID>
63092            # Description of the server
63093            description: My server description
63094            # Password of the server. Password must contain more than 8 characters
63095            # using uppercase letters, numbers and other special symbols.
63096            password: P4$$w0rD
63097            # Power on server after creation - default True
63098            power_on: true
63099            # Firewall policy ID. If it is not provided, the server will assign
63100            # the best firewall policy, creating a new one if necessary.
63101            # If the parameter is sent with a 0 value, the server will be created with all ports blocked.
63102            firewall_policy_id: <ID>
63103            # IP address ID
63104            ip_id: <ID>
63105            # Load balancer ID
63106            load_balancer_id: <ID>
63107            # Monitoring policy ID
63108            monitoring_policy_id: <ID>
63109
63110       Set deploy to False if Salt should not be installed on the node.
63111
63112          my-oneandone-profile:
63113            deploy: False
63114
63115       Create an SSH key
63116
63117          sudo salt-cloud -f create_ssh_key my-oneandone-config name='SaltTest' description='SaltTestDescription'
63118
63119       Create a block storage
63120
63121          sudo salt-cloud -f create_block_storage my-oneandone-config name='SaltTest2'
63122          description='SaltTestDescription' size=50 datacenter_id='5091F6D8CBFEF9C26ACE957C652D5D49'
63123
63124       salt.cloud.clouds.oneandone.avail_images(conn=None, call=None)
63125              Return a list of the server appliances that are on the provider
63126
63127       salt.cloud.clouds.oneandone.avail_locations(conn=None, call=None)
63128              List available locations/datacenters for 1&1
63129
63130       salt.cloud.clouds.oneandone.avail_sizes(call=None)
63131              Return  a  dict  of all available VM sizes on the cloud provider
63132              with relevant data.
63133
63134       salt.cloud.clouds.oneandone.create(vm_)
63135              Create a single VM from a data dict
63136
63137       salt.cloud.clouds.oneandone.create_block_storage(kwargs=None,
63138       call=None)
63139              Create a block storage
63140
63141       salt.cloud.clouds.oneandone.create_ssh_key(kwargs=None, call=None)
63142              Create an ssh key
63143
63144       salt.cloud.clouds.oneandone.destroy(name, call=None)
63145              destroy a server by name
63146
63147              Parameters
63148
63149                     · name -- name given to the server
63150
63151                     · call -- call value in this case is 'action'
63152
63153              Returns
63154                     array of booleans , true if successfully stopped and true
63155                     if successfully removed
63156
63157              CLI Example:
63158
63159                 salt-cloud -d vm_name
63160
63161       salt.cloud.clouds.oneandone.get_configured_provider()
63162              Return the first configured instance.
63163
63164       salt.cloud.clouds.oneandone.get_conn()
63165              Return a conn object for the passed VM data
63166
63167       salt.cloud.clouds.oneandone.get_dependencies()
63168              Warn if dependencies are not met.
63169
63170       salt.cloud.clouds.oneandone.get_image(vm_)
63171              Return the image object to use
63172
63173       salt.cloud.clouds.oneandone.get_key_filename(vm_)
63174              Check SSH private key file and return absolute path if exists.
63175
63176       salt.cloud.clouds.oneandone.get_node(conn, name)
63177              Return a node for the named VM
63178
63179       salt.cloud.clouds.oneandone.get_size(vm_)
63180              Return the VM's size object
63181
63182       salt.cloud.clouds.oneandone.get_wait_timeout(vm_)
63183              Return the wait_for_timeout for resource provisioning.
63184
63185       salt.cloud.clouds.oneandone.list_nodes(conn=None, call=None)
63186              Return a list of VMs that are on the provider
63187
63188       salt.cloud.clouds.oneandone.list_nodes_full(conn=None, call=None)
63189              Return a list of the VMs that are  on  the  provider,  with  all
63190              fields
63191
63192       salt.cloud.clouds.oneandone.list_nodes_select(conn=None, call=None)
63193              Return  a  list of the VMs that are on the provider, with select
63194              fields
63195
63196       salt.cloud.clouds.oneandone.load_public_key(vm_)
63197              Load the public key file if exists.
63198
63199       salt.cloud.clouds.oneandone.reboot(name, call=None)
63200              reboot a server by name :param name: name given to  the  machine
63201              :param  call:  call value in this case is 'action' :return: true
63202              if successful
63203
63204              CLI Example:
63205
63206                 salt-cloud -a reboot vm_name
63207
63208       salt.cloud.clouds.oneandone.script(vm_)
63209              Return the script deployment object
63210
63211       salt.cloud.clouds.oneandone.show_instance(name, call=None)
63212              Show the details from the provider concerning an instance
63213
63214       salt.cloud.clouds.oneandone.start(name, call=None)
63215              start a server by name :param name: name given  to  the  machine
63216              :param  call:  call value in this case is 'action' :return: true
63217              if successful
63218
63219              CLI Example:
63220
63221                 salt-cloud -a start vm_name
63222
63223       salt.cloud.clouds.oneandone.stop(name, call=None)
63224              stop a server by name :param name: name  given  to  the  machine
63225              :param  call:  call value in this case is 'action' :return: true
63226              if successful
63227
63228              CLI Example:
63229
63230                 salt-cloud -a stop vm_name
63231
63232   salt.cloud.clouds.opennebula
63233   OpenNebula Cloud Module
63234       The OpenNebula cloud module is used to control access to an  OpenNebula
63235       cloud.
63236
63237       New in version 2014.7.0.
63238
63239
63240       depends
63241              lxml
63242
63243       depends
63244              OpenNebula installation running version 4.14 or later.
63245
63246       Use  of this module requires the xml_rpc, user, and password parameters
63247       to be set.
63248
63249       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
63250       /etc/salt/cloud.providers.d/opennebula.conf:
63251
63252          my-opennebula-config:
63253            xml_rpc: http://localhost:2633/RPC2
63254            user: oneadmin
63255            password: JHGhgsayu32jsa
63256            driver: opennebula
63257
63258       This  driver  supports accessing new VM instances via DNS entry instead
63259       of IP address.  To enable this feature, in the provider or profile file
63260       add  fqdn_base  with  a value matching the base of your fully-qualified
63261       domain name.  Example:
63262
63263          my-opennebula-config:
63264            [...]
63265            fqdn_base: <my.basedomain.com>
63266            [...]
63267
63268       The driver will prepend the hostname to the  fqdn_base  and  do  a  DNS
63269       lookup to find the IP of the new VM.
63270
63271          salt-cloud -f image_allocate opennebula datastore_name=default \
63272              data='NAME="My New Image" DESCRIPTION="Description of the image." \
63273              PATH=/home/one_user/images/image_name.img'
63274          salt-cloud -f secgroup_allocate opennebula \
63275              data="Name = test RULE = [PROTOCOL = TCP, RULE_TYPE = inbound, \
63276              RANGE = 1000:2000]"
63277
63278       salt.cloud.clouds.opennebula.avail_images(call=None)
63279              Return available OpenNebula images.
63280
63281              CLI Example:
63282
63283                 salt-cloud --list-images opennebula
63284                 salt-cloud --function avail_images opennebula
63285                 salt-cloud -f avail_images opennebula
63286
63287       salt.cloud.clouds.opennebula.avail_locations(call=None)
63288              Return available OpenNebula locations.
63289
63290              CLI Example:
63291
63292                 salt-cloud --list-locations opennebula
63293                 salt-cloud --function avail_locations opennebula
63294                 salt-cloud -f avail_locations opennebula
63295
63296       salt.cloud.clouds.opennebula.avail_sizes(call=None)
63297              Because  sizes  are  built into templates with OpenNebula, there
63298              will be no sizes to return here.
63299
63300       salt.cloud.clouds.opennebula.create(vm_)
63301              Create a single VM from a data dict.
63302
63303              vm_    The dictionary use to create a VM.
63304
63305              Optional vm_ dict options for overwriting template:
63306
63307              region_id
63308                     Optional - OpenNebula Zone ID
63309
63310              memory Optional - In MB
63311
63312              cpu    Optional - Percent of host CPU to allocate
63313
63314              vcpu
63315                        Optional - Amount of vCPUs to allocate
63316
63317                     CLI Example:
63318
63319                         salt-cloud -p my-opennebula-profile vm_name
63320
63321                        salt-cloud -p my-opennebula-profile vm_name memory=16384 cpu=2.5 vcpu=16
63322
63323       salt.cloud.clouds.opennebula.destroy(name, call=None)
63324              Destroy a node. Will check termination protection  and  warn  if
63325              enabled.
63326
63327              name   The name of the vm to be destroyed.
63328
63329              CLI Example:
63330
63331                 salt-cloud --destroy vm_name
63332                 salt-cloud -d vm_name
63333                 salt-cloud --action destroy vm_name
63334                 salt-cloud -a destroy vm_name
63335
63336       salt.cloud.clouds.opennebula.get_cluster_id(kwargs=None, call=None)
63337              Returns a cluster's ID from the given cluster name.
63338
63339              New in version 2016.3.0.
63340
63341
63342              CLI Example:
63343
63344                 salt-cloud -f get_cluster_id opennebula name=my-cluster-name
63345
63346       salt.cloud.clouds.opennebula.get_configured_provider()
63347              Return the first configured instance.
63348
63349       salt.cloud.clouds.opennebula.get_datastore_id(kwargs=None, call=None)
63350              Returns a data store's ID from the given data store name.
63351
63352              New in version 2016.3.0.
63353
63354
63355              CLI Example:
63356
63357                 salt-cloud -f get_datastore_id opennebula name=my-datastore-name
63358
63359       salt.cloud.clouds.opennebula.get_dependencies()
63360              Warn if dependencies aren't met.
63361
63362       salt.cloud.clouds.opennebula.get_host_id(kwargs=None, call=None)
63363              Returns a host's ID from the given host name.
63364
63365              New in version 2016.3.0.
63366
63367
63368              CLI Example:
63369
63370                 salt-cloud -f get_host_id opennebula name=my-host-name
63371
63372       salt.cloud.clouds.opennebula.get_image(vm_)
63373              Return the image object to use.
63374
63375              vm_    The VM dictionary for which to obtain an image.
63376
63377       salt.cloud.clouds.opennebula.get_image_id(kwargs=None, call=None)
63378              Returns an image's ID from the given image name.
63379
63380              New in version 2016.3.0.
63381
63382
63383              CLI Example:
63384
63385                 salt-cloud -f get_image_id opennebula name=my-image-name
63386
63387       salt.cloud.clouds.opennebula.get_location(vm_)
63388              Return the VM's location.
63389
63390              vm_    The VM dictionary for which to obtain a location.
63391
63392       salt.cloud.clouds.opennebula.get_one_version(kwargs=None, call=None)
63393              Returns the OpenNebula version.
63394
63395              New in version 2016.3.5.
63396
63397
63398              CLI Example:
63399
63400                 salt-cloud -f get_one_version one_provider_name
63401
63402       salt.cloud.clouds.opennebula.get_secgroup_id(kwargs=None, call=None)
63403              Returns  a  security  group's  ID  from the given security group
63404              name.
63405
63406              New in version 2016.3.0.
63407
63408
63409              CLI Example:
63410
63411                 salt-cloud -f get_secgroup_id opennebula name=my-secgroup-name
63412
63413       salt.cloud.clouds.opennebula.get_template(vm_)
63414              Return the template id for a VM.
63415
63416              New in version 2016.11.0.
63417
63418
63419              vm_    The VM dictionary for which to obtain a template.
63420
63421       salt.cloud.clouds.opennebula.get_template_id(kwargs=None, call=None)
63422              Returns a template's ID from the given template name.
63423
63424              New in version 2016.3.0.
63425
63426
63427              CLI Example:
63428
63429                 salt-cloud -f get_template_id opennebula name=my-template-name
63430
63431       salt.cloud.clouds.opennebula.get_template_image(kwargs=None, call=None)
63432              Returns a template's image from the given template name.
63433
63434              New in version 2018.3.0.
63435
63436
63437                 salt-cloud -f get_template_image opennebula name=my-template-name
63438
63439       salt.cloud.clouds.opennebula.get_vm_id(kwargs=None, call=None)
63440              Returns a virtual machine's ID from the given virtual  machine's
63441              name.
63442
63443              New in version 2016.3.0.
63444
63445
63446              CLI Example:
63447
63448                 salt-cloud -f get_vm_id opennebula name=my-vm
63449
63450       salt.cloud.clouds.opennebula.get_vn_id(kwargs=None, call=None)
63451              Returns  a virtual network's ID from the given virtual network's
63452              name.
63453
63454              New in version 2016.3.0.
63455
63456
63457              CLI Example:
63458
63459                 salt-cloud -f get_vn_id opennebula name=my-vn-name
63460
63461       salt.cloud.clouds.opennebula.image_allocate(call=None, kwargs=None)
63462              Allocates a new image in OpenNebula.
63463
63464              New in version 2016.3.0.
63465
63466
63467              path   The path to a file containing the template of  the  image
63468                     to  allocate.   Syntax  within  the file can be the usual
63469                     attribute=value or XML. Can be used instead of data.
63470
63471              data   The data containing the template of the  image  to  allo‐
63472                     cate. Syntax can be the usual attribute=value or XML. Can
63473                     be used instead of path.
63474
63475              datastore_id
63476                     The ID of the data-store to be used for  the  new  image.
63477                     Can be used instead of datastore_name.
63478
63479              datastore_name
63480                     The  name of the data-store to be used for the new image.
63481                     Can be used instead of datastore_id.
63482
63483              CLI Example:
63484
63485                 salt-cloud -f image_allocate opennebula path=/path/to/image_file.txt datastore_id=1
63486                 salt-cloud -f image_allocate opennebula datastore_name=default \
63487                     data='NAME="Ubuntu 14.04" PATH="/home/one_user/images/ubuntu_desktop.img" \
63488                     DESCRIPTION="Ubuntu 14.04 for development."'
63489
63490       salt.cloud.clouds.opennebula.image_clone(call=None, kwargs=None)
63491              Clones an existing image.
63492
63493              New in version 2016.3.0.
63494
63495
63496              name   The name of the new image.
63497
63498              image_id
63499                     The ID of the image to be cloned. Can be used instead  of
63500                     image_name.
63501
63502              image_name
63503                     The  name  of the image to be cloned. Can be used instead
63504                     of image_id.
63505
63506              CLI Example:
63507
63508                 salt-cloud -f image_clone opennebula name=my-new-image image_id=10
63509                 salt-cloud -f image_clone opennebula name=my-new-image image_name=my-image-to-clone
63510
63511       salt.cloud.clouds.opennebula.image_delete(call=None, kwargs=None)
63512              Deletes the given image from OpenNebula. Either  a  name  or  an
63513              image_id must be supplied.
63514
63515              New in version 2016.3.0.
63516
63517
63518              name   The  name  of the image to delete. Can be used instead of
63519                     image_id.
63520
63521              image_id
63522                     The ID of the image to delete. Can  be  used  instead  of
63523                     name.
63524
63525              CLI Example:
63526
63527                 salt-cloud -f image_delete opennebula name=my-image
63528                 salt-cloud --function image_delete opennebula image_id=100
63529
63530       salt.cloud.clouds.opennebula.image_info(call=None, kwargs=None)
63531              Retrieves  information  for  a  given image. Either a name or an
63532              image_id must be supplied.
63533
63534              New in version 2016.3.0.
63535
63536
63537              name   The name of the image for which  to  gather  information.
63538                     Can be used instead of image_id.
63539
63540              image_id
63541                     The  ID of the image for which to gather information. Can
63542                     be used instead of name.
63543
63544              CLI Example:
63545
63546                 salt-cloud -f image_info opennebula name=my-image
63547                 salt-cloud --function image_info opennebula image_id=5
63548
63549       salt.cloud.clouds.opennebula.image_persistent(call=None, kwargs=None)
63550              Sets the Image as persistent or not persistent.
63551
63552              New in version 2016.3.0.
63553
63554
63555              name   The name of the image to set.  Can  be  used  instead  of
63556                     image_id.
63557
63558              image_id
63559                     The ID of the image to set. Can be used instead of name.
63560
63561              persist
63562                     A  boolean  value  to set the image as persistent or not.
63563                     Set to true for persistent, false for non-persistent.
63564
63565              CLI Example:
63566
63567                 salt-cloud -f image_persistent opennebula name=my-image persist=True
63568                 salt-cloud --function image_persistent opennebula image_id=5 persist=False
63569
63570       salt.cloud.clouds.opennebula.image_snapshot_delete(call=None,
63571       kwargs=None)
63572              Deletes a snapshot from the image.
63573
63574              New in version 2016.3.0.
63575
63576
63577              image_id
63578                     The  ID  of  the image from which to delete the snapshot.
63579                     Can be used instead of image_name.
63580
63581              image_name
63582                     The name of the image from which to delete the  snapshot.
63583                     Can be used instead of image_id.
63584
63585              snapshot_id
63586                     The ID of the snapshot to delete.
63587
63588              CLI Example:
63589
63590                 salt-cloud -f image_snapshot_delete vm_id=106 snapshot_id=45
63591                 salt-cloud -f image_snapshot_delete vm_name=my-vm snapshot_id=111
63592
63593       salt.cloud.clouds.opennebula.image_snapshot_flatten(call=None,
63594       kwargs=None)
63595              Flattens the snapshot of an image and discards others.
63596
63597              New in version 2016.3.0.
63598
63599
63600              image_id
63601                     The ID of the image. Can be used instead of image_name.
63602
63603              image_name
63604                     The name of the image. Can be used instead of image_id.
63605
63606              snapshot_id
63607                     The ID of the snapshot to flatten.
63608
63609              CLI Example:
63610
63611                 salt-cloud -f image_snapshot_flatten vm_id=106 snapshot_id=45
63612                 salt-cloud -f image_snapshot_flatten vm_name=my-vm snapshot_id=45
63613
63614       salt.cloud.clouds.opennebula.image_snapshot_revert(call=None,
63615       kwargs=None)
63616              Reverts an image state to a previous snapshot.
63617
63618              New in version 2016.3.0.
63619
63620
63621              image_id
63622                     The  ID  of  the  image to revert. Can be used instead of
63623                     image_name.
63624
63625              image_name
63626                     The name of the image to revert. Can be used  instead  of
63627                     image_id.
63628
63629              snapshot_id
63630                     The  ID  of  the  snapshot  to  which  the  image will be
63631                     reverted.
63632
63633              CLI Example:
63634
63635                 salt-cloud -f image_snapshot_revert vm_id=106 snapshot_id=45
63636                 salt-cloud -f image_snapshot_revert vm_name=my-vm snapshot_id=120
63637
63638       salt.cloud.clouds.opennebula.image_update(call=None, kwargs=None)
63639              Replaces the image template contents.
63640
63641              New in version 2016.3.0.
63642
63643
63644              image_id
63645                     The ID of the image to update. Can  be  used  instead  of
63646                     image_name.
63647
63648              image_name
63649                     The  name  of the image to update. Can be used instead of
63650                     image_id.
63651
63652              path   The path to a file containing the template of the  image.
63653                     Syntax  within  the file can be the usual attribute=value
63654                     or XML. Can be used instead of data.
63655
63656              data   Contains the template of the image.  Syntax  can  be  the
63657                     usual  attribute=value  or  XML.  Can  be used instead of
63658                     path.
63659
63660              update_type
63661                     There are two ways to update an image: replace the  whole
63662                     template or merge the new template with the existing one.
63663
63664              CLI Example:
63665
63666                 salt-cloud -f image_update opennebula image_id=0 file=/path/to/image_update_file.txt update_type=replace
63667                 salt-cloud -f image_update opennebula image_name="Ubuntu 14.04" update_type=merge \
63668                     data='NAME="Ubuntu Dev" PATH="/home/one_user/images/ubuntu_desktop.img" \
63669                     DESCRIPTION = "Ubuntu 14.04 for development."'
63670
63671       salt.cloud.clouds.opennebula.list_clusters(call=None)
63672              Returns a list of clusters in OpenNebula.
63673
63674              New in version 2016.3.0.
63675
63676
63677              CLI Example:
63678
63679                 salt-cloud -f list_clusters opennebula
63680
63681       salt.cloud.clouds.opennebula.list_datastores(call=None)
63682              Returns a list of data stores on OpenNebula.
63683
63684              New in version 2016.3.0.
63685
63686
63687              CLI Example:
63688
63689                 salt-cloud -f list_datastores opennebula
63690
63691       salt.cloud.clouds.opennebula.list_hosts(call=None)
63692              Returns a list of hosts on OpenNebula.
63693
63694              New in version 2016.3.0.
63695
63696
63697              CLI Example:
63698
63699                 salt-cloud -f list_hosts opennebula
63700
63701       salt.cloud.clouds.opennebula.list_nodes(call=None)
63702              Return a list of VMs on OpenNebula.
63703
63704              CLI Example:
63705
63706                 salt-cloud -Q
63707                 salt-cloud --query
63708                 salt-cloud --function list_nodes opennebula
63709                 salt-cloud -f list_nodes opennebula
63710
63711       salt.cloud.clouds.opennebula.list_nodes_full(call=None)
63712              Return a list of the VMs on OpenNebula.
63713
63714              CLI Example:
63715
63716                 salt-cloud -F
63717                 salt-cloud --full-query
63718                 salt-cloud --function list_nodes_full opennebula
63719                 salt-cloud -f list_nodes_full opennebula
63720
63721       salt.cloud.clouds.opennebula.list_nodes_select(call=None)
63722              Return  a  list of the VMs that are on the provider, with select
63723              fields.
63724
63725       salt.cloud.clouds.opennebula.list_security_groups(call=None)
63726              Lists all security groups available to the user and  the  user's
63727              groups.
63728
63729              New in version 2016.3.0.
63730
63731
63732              CLI Example:
63733
63734                 salt-cloud -f list_security_groups opennebula
63735
63736       salt.cloud.clouds.opennebula.list_templates(call=None)
63737              Lists all templates available to the user and the user's groups.
63738
63739              New in version 2016.3.0.
63740
63741
63742              CLI Example:
63743
63744                 salt-cloud -f list_templates opennebula
63745
63746       salt.cloud.clouds.opennebula.list_vns(call=None)
63747              Lists  all virtual networks available to the user and the user's
63748              groups.
63749
63750              New in version 2016.3.0.
63751
63752
63753              CLI Example:
63754
63755                 salt-cloud -f list_vns opennebula
63756
63757       salt.cloud.clouds.opennebula.reboot(name, call=None)
63758              Reboot a VM.
63759
63760              New in version 2016.3.0.
63761
63762
63763              name   The name of the VM to reboot.
63764
63765              CLI Example:
63766
63767                 salt-cloud -a reboot my-vm
63768
63769       salt.cloud.clouds.opennebula.secgroup_allocate(call=None, kwargs=None)
63770              Allocates a new security group in OpenNebula.
63771
63772              New in version 2016.3.0.
63773
63774
63775              path   The path to a file containing the template of  the  secu‐
63776                     rity  group.  Syntax  within  the  file  can be the usual
63777                     attribute=value or XML. Can be used instead of data.
63778
63779              data   The template data of the security group.  Syntax  can  be
63780                     the  usual attribute=value or XML. Can be used instead of
63781                     path.
63782
63783              CLI Example:
63784
63785                 salt-cloud -f secgroup_allocate opennebula path=/path/to/secgroup_file.txt
63786                 salt-cloud -f secgroup_allocate opennebula \
63787                     data="NAME = test RULE = [PROTOCOL = TCP, RULE_TYPE = inbound, \
63788                     RANGE = 1000:2000]"
63789
63790       salt.cloud.clouds.opennebula.secgroup_clone(call=None, kwargs=None)
63791              Clones an existing security group.
63792
63793              New in version 2016.3.0.
63794
63795
63796              name   The name of the new template.
63797
63798              secgroup_id
63799                     The ID of the security group to be cloned.  Can  be  used
63800                     instead of secgroup_name.
63801
63802              secgroup_name
63803                     The  name of the security group to be cloned. Can be used
63804                     instead of secgroup_id.
63805
63806              CLI Example:
63807
63808                 salt-cloud -f secgroup_clone opennebula name=my-cloned-secgroup secgroup_id=0
63809                 salt-cloud -f secgroup_clone opennebula name=my-cloned-secgroup secgroup_name=my-secgroup
63810
63811       salt.cloud.clouds.opennebula.secgroup_delete(call=None, kwargs=None)
63812              Deletes the given security group from OpenNebula. Either a  name
63813              or a secgroup_id must be supplied.
63814
63815              New in version 2016.3.0.
63816
63817
63818              name   The  name  of  the  security group to delete. Can be used
63819                     instead of secgroup_id.
63820
63821              secgroup_id
63822                     The ID of the security  group  to  delete.  Can  be  used
63823                     instead of name.
63824
63825              CLI Example:
63826
63827                 salt-cloud -f secgroup_delete opennebula name=my-secgroup
63828                 salt-cloud --function secgroup_delete opennebula secgroup_id=100
63829
63830       salt.cloud.clouds.opennebula.secgroup_info(call=None, kwargs=None)
63831              Retrieves  information  for  the  given security group. Either a
63832              name or a secgroup_id must be supplied.
63833
63834              New in version 2016.3.0.
63835
63836
63837              name   The name of the security group for which to gather infor‐
63838                     mation. Can be used instead of secgroup_id.
63839
63840              secgroup_id
63841                     The ID of the security group for which to gather informa‐
63842                     tion. Can be used instead of name.
63843
63844              CLI Example:
63845
63846                 salt-cloud -f secgroup_info opennebula name=my-secgroup
63847                 salt-cloud --function secgroup_info opennebula secgroup_id=5
63848
63849       salt.cloud.clouds.opennebula.secgroup_update(call=None, kwargs=None)
63850              Replaces the security group template contents.
63851
63852              New in version 2016.3.0.
63853
63854
63855              secgroup_id
63856                     The ID of the security  group  to  update.  Can  be  used
63857                     instead of secgroup_name.
63858
63859              secgroup_name
63860                     The  name  of  the  security group to update. Can be used
63861                     instead of secgroup_id.
63862
63863              path   The path to a file containing the template of  the  secu‐
63864                     rity  group.  Syntax  within  the  file  can be the usual
63865                     attribute=value or XML. Can be used instead of data.
63866
63867              data   The template data of the security group.  Syntax  can  be
63868                     the  usual attribute=value or XML. Can be used instead of
63869                     path.
63870
63871              update_type
63872                     There are two ways to update a  security  group:  replace
63873                     the  whole  template  or  merge the new template with the
63874                     existing one.
63875
63876              CLI Example:
63877
63878                 salt-cloud --function secgroup_update opennebula secgroup_id=100 \
63879                     path=/path/to/secgroup_update_file.txt \
63880                     update_type=replace
63881                 salt-cloud -f secgroup_update opennebula secgroup_name=my-secgroup update_type=merge \
63882                     data="Name = test RULE = [PROTOCOL = TCP, RULE_TYPE = inbound, RANGE = 1000:2000]"
63883
63884       salt.cloud.clouds.opennebula.show_instance(name, call=None)
63885              Show the details from OpenNebula concerning a named VM.
63886
63887              name   The name of the VM for which to display details.
63888
63889              call   Type of call to use with this function such as function.
63890
63891              CLI Example:
63892
63893                 salt-cloud --action show_instance vm_name
63894                 salt-cloud -a show_instance vm_name
63895
63896       salt.cloud.clouds.opennebula.start(name, call=None)
63897              Start a VM.
63898
63899              New in version 2016.3.0.
63900
63901
63902              name   The name of the VM to start.
63903
63904              CLI Example:
63905
63906                 salt-cloud -a start my-vm
63907
63908       salt.cloud.clouds.opennebula.stop(name, call=None)
63909              Stop a VM.
63910
63911              New in version 2016.3.0.
63912
63913
63914              name   The name of the VM to stop.
63915
63916              CLI Example:
63917
63918                 salt-cloud -a stop my-vm
63919
63920       salt.cloud.clouds.opennebula.template_allocate(call=None, kwargs=None)
63921              Allocates a new template in OpenNebula.
63922
63923              New in version 2016.3.0.
63924
63925
63926              path   The path to a file containing the elements  of  the  tem‐
63927                     plate to be allocated.  Syntax within the file can be the
63928                     usual attribute=value or XML.  Can  be  used  instead  of
63929                     data.
63930
63931              data   Contains  the  elements  of the template to be allocated.
63932                     Syntax can be the usual attribute=value or  XML.  Can  be
63933                     used instead of path.
63934
63935              CLI Example:
63936
63937                 salt-cloud -f template_allocate opennebula path=/path/to/template_file.txt
63938                 salt-cloud -f template_allocate opennebula \
63939                     data='CPU="1.0" DISK=[IMAGE="Ubuntu-14.04"] GRAPHICS=[LISTEN="0.0.0.0",TYPE="vnc"] \
63940                     MEMORY="1024" NETWORK="yes" NIC=[NETWORK="192net",NETWORK_UNAME="oneadmin"] \
63941                     OS=[ARCH="x86_64"] SUNSTONE_CAPACITY_SELECT="YES" SUNSTONE_NETWORK_SELECT="YES" \
63942                     VCPU="1"'
63943
63944       salt.cloud.clouds.opennebula.template_clone(call=None, kwargs=None)
63945              Clones an existing virtual machine template.
63946
63947              New in version 2016.3.0.
63948
63949
63950              name   The name of the new template.
63951
63952              template_id
63953                     The  ID of the template to be cloned. Can be used instead
63954                     of template_name.
63955
63956              template_name
63957                     The name of the  template  to  be  cloned.  Can  be  used
63958                     instead of template_id.
63959
63960              clone_images
63961                     Optional,  defaults  to  False.  Indicates  if the images
63962                     attached to the template should be cloned as well.
63963
63964              CLI Example:
63965
63966                 salt-cloud -f template_clone opennebula name=my-new-template template_id=0
63967                 salt-cloud -f template_clone opennebula name=my-new-template template_name=my-template
63968
63969       salt.cloud.clouds.opennebula.template_delete(call=None, kwargs=None)
63970              Deletes the given template from OpenNebula. Either a name  or  a
63971              template_id must be supplied.
63972
63973              New in version 2016.3.0.
63974
63975
63976              name   The  name  of the template to delete. Can be used instead
63977                     of template_id.
63978
63979              template_id
63980                     The ID of the template to delete. Can be used instead  of
63981                     name.
63982
63983              CLI Example:
63984
63985                 salt-cloud -f template_delete opennebula name=my-template
63986                 salt-cloud --function template_delete opennebula template_id=5
63987
63988       salt.cloud.clouds.opennebula.template_instantiate(call=None,
63989       kwargs=None)
63990              Instantiates a new virtual machine from a template.
63991
63992              New in version 2016.3.0.
63993
63994
63995              NOTE:
63996                 template_instantiate creates a VM on OpenNebula from  a  tem‐
63997                 plate,  but  it  does not install Salt on the new VM. Use the
63998                 create function for that functionality: salt-cloud  -p  open‐
63999                 nebula-profile vm-name.
64000
64001              vm_name
64002                     Name for the new VM instance.
64003
64004              template_id
64005                     The ID of the template from which the VM will be created.
64006                     Can be used instead of template_name.
64007
64008              template_name
64009                     The name of the template from which the VM will  be  cre‐
64010                     ated. Can be used instead of template_id.
64011
64012              CLI Example:
64013
64014                 salt-cloud -f template_instantiate opennebula vm_name=my-new-vm template_id=0
64015
64016       salt.cloud.clouds.opennebula.template_update(call=None, kwargs=None)
64017              Replaces the template contents.
64018
64019              New in version 2016.3.0.
64020
64021
64022              template_id
64023                     The  ID of the template to update. Can be used instead of
64024                     template_name.
64025
64026              template_name
64027                     The name of the template to update. Can be  used  instead
64028                     of template_id.
64029
64030              path   The  path  to  a file containing the elements of the tem‐
64031                     plate to be updated.  Syntax within the file can  be  the
64032                     usual  attribute=value  or  XML.  Can  be used instead of
64033                     data.
64034
64035              data   Contains the elements of the template to be updated. Syn‐
64036                     tax  can be the usual attribute=value or XML. Can be used
64037                     instead of path.
64038
64039              update_type
64040                     There are two ways to  update  a  template:  replace  the
64041                     whole  template or merge the new template with the exist‐
64042                     ing one.
64043
64044              CLI Example:
64045
64046                 salt-cloud --function template_update opennebula template_id=1 update_type=replace \
64047                     path=/path/to/template_update_file.txt
64048                 salt-cloud -f template_update opennebula template_name=my-template update_type=merge \
64049                     data='CPU="1.0" DISK=[IMAGE="Ubuntu-14.04"] GRAPHICS=[LISTEN="0.0.0.0",TYPE="vnc"] \
64050                     MEMORY="1024" NETWORK="yes" NIC=[NETWORK="192net",NETWORK_UNAME="oneadmin"] \
64051                     OS=[ARCH="x86_64"] SUNSTONE_CAPACITY_SELECT="YES" SUNSTONE_NETWORK_SELECT="YES" \
64052                     VCPU="1"'
64053
64054       salt.cloud.clouds.opennebula.vm_action(name, kwargs=None, call=None)
64055              Submits an action to be performed on a given virtual machine.
64056
64057              New in version 2016.3.0.
64058
64059
64060              name   The name of the VM to action.
64061
64062              action
64063
64064                     The action to be performed on the VM.  Available  options
64065                     include:
64066
64067                            · boot
64068
64069                            · delete
64070
64071                            · delete-recreate
64072
64073                            · hold
64074
64075                            · poweroff
64076
64077                            · poweroff-hard
64078
64079                            · reboot
64080
64081                            · reboot-hard
64082
64083                            · release
64084
64085                            · resched
64086
64087                            · resume
64088
64089                            · shutdown
64090
64091                            · shutdown-hard
64092
64093                            · stop
64094
64095                            · suspend
64096
64097                            · undeploy
64098
64099                            · undeploy-hard
64100
64101                            · unresched
64102
64103              CLI Example:
64104
64105                 salt-cloud -a vm_action my-vm action='release'
64106
64107       salt.cloud.clouds.opennebula.vm_allocate(call=None, kwargs=None)
64108              Allocates a new virtual machine in OpenNebula.
64109
64110              New in version 2016.3.0.
64111
64112
64113              path   The  path  to  a  file defining the template of the VM to
64114                     allocate.  Syntax  within  the  file  can  be  the  usual
64115                     attribute=value or XML.  Can be used instead of data.
64116
64117              data   Contains  the template definitions of the VM to allocate.
64118                     Syntax can be the usual attribute=value or  XML.  Can  be
64119                     used instead of path.
64120
64121              hold   If  this parameter is set to True, the VM will be created
64122                     in the HOLD state. If not set, the VM is created  in  the
64123                     PENDING state. Default is False.
64124
64125              CLI Example:
64126
64127                 salt-cloud -f vm_allocate path=/path/to/vm_template.txt
64128                 salt-cloud --function vm_allocate path=/path/to/vm_template.txt hold=True
64129
64130       salt.cloud.clouds.opennebula.vm_attach(name, kwargs=None, call=None)
64131              Attaches a new disk to the given virtual machine.
64132
64133              New in version 2016.3.0.
64134
64135
64136              name   The name of the VM for which to attach the new disk.
64137
64138              path   The  path  to  a  file  containing  a  single disk vector
64139                     attribute.  Syntax within  the  file  can  be  the  usual
64140                     attribute=value or XML.  Can be used instead of data.
64141
64142              data   Contains  the  data needed to attach a single disk vector
64143                     attribute.  Syntax can be the  usual  attribute=value  or
64144                     XML. Can be used instead of path.
64145
64146              CLI Example:
64147
64148                 salt-cloud -a vm_attach my-vm path=/path/to/disk_file.txt
64149                 salt-cloud -a vm_attach my-vm data="DISK=[DISK_ID=1]"
64150
64151       salt.cloud.clouds.opennebula.vm_attach_nic(name,           kwargs=None,
64152       call=None)
64153              Attaches a new network interface to the given virtual machine.
64154
64155              New in version 2016.3.0.
64156
64157
64158              name   The name of the VM for which to attach  the  new  network
64159                     interface.
64160
64161              path   The  path  to  a  file  containing  a  single  NIC vector
64162                     attribute.  Syntax within  the  file  can  be  the  usual
64163                     attribute=value or XML. Can be used instead of data.
64164
64165              data   Contains the single NIC vector attribute to attach to the
64166                     VM.  Syntax can be the usual attribute=value or XML.  Can
64167                     be used instead of path.
64168
64169              CLI Example:
64170
64171                 salt-cloud -a vm_attach_nic my-vm path=/path/to/nic_file.txt
64172                 salt-cloud -a vm_attach_nic my-vm data="NIC=[NETWORK_ID=1]"
64173
64174       salt.cloud.clouds.opennebula.vm_deploy(name, kwargs=None, call=None)
64175              Initiates the instance of the given VM on the target host.
64176
64177              New in version 2016.3.0.
64178
64179
64180              name   The name of the VM to deploy.
64181
64182              host_id
64183                     The  ID of the target host where the VM will be deployed.
64184                     Can be used instead of host_name.
64185
64186              host_name
64187                     The name  of  the  target  host  where  the  VM  will  be
64188                     deployed. Can be used instead of host_id.
64189
64190              capacity_maintained
64191                     True  to enforce the Host capacity is not over-committed.
64192                     This parameter is only  acknowledged  for  users  in  the
64193                     oneadmin group. Host capacity will be always enforced for
64194                     regular users.
64195
64196              datastore_id
64197                     The ID of the target system data-store where the VM  will
64198                     be  deployed.  Optional and can be used instead of datas‐
64199                     tore_name. If neither datastore_id nor datastore_name are
64200                     set, OpenNebula will choose the data-store.
64201
64202              datastore_name
64203                     The  name  of  the  target system data-store where the VM
64204                     will be deployed. Optional, and can be  used  instead  of
64205                     datastore_id.  If neither datastore_id nor datastore_name
64206                     are set, OpenNebula will choose the data-store.
64207
64208              CLI Example:
64209
64210                 salt-cloud -a vm_deploy my-vm host_id=0
64211                 salt-cloud -a vm_deploy my-vm host_id=1 capacity_maintained=False
64212                 salt-cloud -a vm_deploy my-vm host_name=host01 datastore_id=1
64213                 salt-cloud -a vm_deploy my-vm host_name=host01 datastore_name=default
64214
64215       salt.cloud.clouds.opennebula.vm_detach(name, kwargs=None, call=None)
64216              Detaches a disk from a virtual machine.
64217
64218              New in version 2016.3.0.
64219
64220
64221              name   The name of the VM from which to detach the disk.
64222
64223              disk_id
64224                     The ID of the disk to detach.
64225
64226              CLI Example:
64227
64228                 salt-cloud -a vm_detach my-vm disk_id=1
64229
64230       salt.cloud.clouds.opennebula.vm_detach_nic(name,           kwargs=None,
64231       call=None)
64232              Detaches a disk from a virtual machine.
64233
64234              New in version 2016.3.0.
64235
64236
64237              name   The  name  of  the  VM  from  which to detach the network
64238                     interface.
64239
64240              nic_id The ID of the nic to detach.
64241
64242              CLI Example:
64243
64244                 salt-cloud -a vm_detach_nic my-vm nic_id=1
64245
64246       salt.cloud.clouds.opennebula.vm_disk_save(name, kwargs=None, call=None)
64247              Sets the disk to be saved in the given image.
64248
64249              New in version 2016.3.0.
64250
64251
64252              name   The name of the VM containing the disk to save.
64253
64254              disk_id
64255                     The ID of the disk to save.
64256
64257              image_name
64258                     The name of the new image where the disk will be saved.
64259
64260              image_type
64261                     The type for the new image. If not set, then the  default
64262                     ONED  Configuration  will  be  used.  Other  valid  types
64263                     include: OS, CDROM, DATABLOCK, KERNEL, RAMDISK, and  CON‐
64264                     TEXT.
64265
64266              snapshot_id
64267                     The ID of the snapshot to export. If not set, the current
64268                     image state will be used.
64269
64270              CLI Example:
64271
64272                 salt-cloud -a vm_disk_save my-vm disk_id=1 image_name=my-new-image
64273                 salt-cloud -a vm_disk_save my-vm disk_id=1 image_name=my-new-image image_type=CONTEXT snapshot_id=10
64274
64275       salt.cloud.clouds.opennebula.vm_disk_snapshot_create(name, kwargs=None,
64276       call=None)
64277              Takes a new snapshot of the disk image.
64278
64279              New in version 2016.3.0.
64280
64281
64282              name   The name of the VM of which to take the snapshot.
64283
64284              disk_id
64285                     The ID of the disk to save.
64286
64287              description
64288                     The description for the snapshot.
64289
64290              CLI Example:
64291
64292                 salt-cloud -a vm_disk_snapshot_create my-vm disk_id=0 description="My Snapshot Description"
64293
64294       salt.cloud.clouds.opennebula.vm_disk_snapshot_delete(name, kwargs=None,
64295       call=None)
64296              Deletes a disk snapshot based on the given VM and the disk_id.
64297
64298              New in version 2016.3.0.
64299
64300
64301              name   The name of the VM containing the snapshot to delete.
64302
64303              disk_id
64304                     The ID of the disk to save.
64305
64306              snapshot_id
64307                     The ID of the snapshot to be deleted.
64308
64309              CLI Example:
64310
64311                 salt-cloud -a vm_disk_snapshot_delete my-vm disk_id=0 snapshot_id=6
64312
64313       salt.cloud.clouds.opennebula.vm_disk_snapshot_revert(name, kwargs=None,
64314       call=None)
64315              Reverts a disk state to a previously taken snapshot.
64316
64317              New in version 2016.3.0.
64318
64319
64320              name   The name of the VM containing the snapshot.
64321
64322              disk_id
64323                     The ID of the disk to revert its state.
64324
64325              snapshot_id
64326                     The  ID  of  the snapshot to which the snapshot should be
64327                     reverted.
64328
64329              CLI Example:
64330
64331                 salt-cloud -a vm_disk_snapshot_revert my-vm disk_id=0 snapshot_id=6
64332
64333       salt.cloud.clouds.opennebula.vm_info(name, call=None)
64334              Retrieves information for a given virtual  machine.  A  VM  name
64335              must be supplied.
64336
64337              New in version 2016.3.0.
64338
64339
64340              name   The name of the VM for which to gather information.
64341
64342              CLI Example:
64343
64344                 salt-cloud -a vm_info my-vm
64345
64346       salt.cloud.clouds.opennebula.vm_migrate(name, kwargs=None, call=None)
64347              Migrates  the  specified virtual machine to the specified target
64348              host.
64349
64350              New in version 2016.3.0.
64351
64352
64353              name   The name of the VM to migrate.
64354
64355              host_id
64356                     The ID of the host to which the VM will be migrated.  Can
64357                     be used instead of host_name.
64358
64359              host_name
64360                     The  name  of  the host to which the VM will be migrated.
64361                     Can be used instead of host_id.
64362
64363              live_migration
64364                     If set to  True,  a  live-migration  will  be  performed.
64365                     Default is False.
64366
64367              capacity_maintained
64368                     True  to enforce the Host capacity is not over-committed.
64369                     This parameter is only  acknowledged  for  users  in  the
64370                     oneadmin group. Host capacity will be always enforced for
64371                     regular users.
64372
64373              datastore_id
64374                     The target system data-store ID  where  the  VM  will  be
64375                     migrated. Can be used instead of datastore_name.
64376
64377              datastore_name
64378                     The  name  of  the  data-store target system where the VM
64379                     will be migrated. Can be used instead of datastore_id.
64380
64381              CLI Example:
64382
64383                 salt-cloud -a vm_migrate my-vm host_id=0 datastore_id=1
64384                 salt-cloud -a vm_migrate my-vm host_id=0 datastore_id=1 live_migration=True
64385                 salt-cloud -a vm_migrate my-vm host_name=host01 datastore_name=default
64386
64387       salt.cloud.clouds.opennebula.vm_monitoring(name, call=None)
64388              Returns the monitoring records for a given virtual machine. A VM
64389              name must be supplied.
64390
64391              The  monitoring  information  returned is a list of VM elements.
64392              Each VM element contains the complete dictionary of the VM  with
64393              the updated information returned by the poll action.
64394
64395              New in version 2016.3.0.
64396
64397
64398              name   The  name  of  the  VM  for  which  to  gather monitoring
64399                     records.
64400
64401              CLI Example:
64402
64403                 salt-cloud -a vm_monitoring my-vm
64404
64405       salt.cloud.clouds.opennebula.vm_resize(name, kwargs=None, call=None)
64406              Changes the capacity of the virtual machine.
64407
64408              New in version 2016.3.0.
64409
64410
64411              name   The name of the VM to resize.
64412
64413              path   The path to a file containing new capacity elements  CPU,
64414                     VCPU, MEMORY. If one of them is not present, or its value
64415                     is 0, the VM will not be re-sized. Syntax within the file
64416                     can  be  the  usual  attribute=value  or XML. Can be used
64417                     instead of data.
64418
64419              data   Contains the new capacity elements CPU, VCPU, and MEMORY.
64420                     If  one of them is not present, or its value is 0, the VM
64421                     will not be re-sized. Can be used instead of path.
64422
64423              capacity_maintained
64424                     True to enforce the Host capacity is not  over-committed.
64425                     This  parameter  is  only  acknowledged  for users in the
64426                     oneadmin group. Host capacity will be always enforced for
64427                     regular users.
64428
64429              CLI Example:
64430
64431                 salt-cloud -a vm_resize my-vm path=/path/to/capacity_template.txt
64432                 salt-cloud -a vm_resize my-vm path=/path/to/capacity_template.txt capacity_maintained=False
64433                 salt-cloud -a vm_resize my-vm data="CPU=1 VCPU=1 MEMORY=1024"
64434
64435       salt.cloud.clouds.opennebula.vm_snapshot_create(vm_name,   kwargs=None,
64436       call=None)
64437              Creates a new virtual machine snapshot from the provided VM.
64438
64439              New in version 2016.3.0.
64440
64441
64442              vm_name
64443                     The name of the VM from which to create the snapshot.
64444
64445              snapshot_name
64446                     The name of the snapshot to be created.
64447
64448              CLI Example:
64449
64450                 salt-cloud -a vm_snapshot_create my-vm snapshot_name=my-new-snapshot
64451
64452       salt.cloud.clouds.opennebula.vm_snapshot_delete(vm_name,   kwargs=None,
64453       call=None)
64454              Deletes a virtual machine snapshot from the provided VM.
64455
64456              New in version 2016.3.0.
64457
64458
64459              vm_name
64460                     The name of the VM from which to delete the snapshot.
64461
64462              snapshot_id
64463                     The ID of the snapshot to be deleted.
64464
64465              CLI Example:
64466
64467                 salt-cloud -a vm_snapshot_delete my-vm snapshot_id=8
64468
64469       salt.cloud.clouds.opennebula.vm_snapshot_revert(vm_name,   kwargs=None,
64470       call=None)
64471              Reverts a virtual machine to a snapshot
64472
64473              New in version 2016.3.0.
64474
64475
64476              vm_name
64477                     The name of the VM to revert.
64478
64479              snapshot_id
64480                     The snapshot ID.
64481
64482              CLI Example:
64483
64484                 salt-cloud -a vm_snapshot_revert my-vm snapshot_id=42
64485
64486       salt.cloud.clouds.opennebula.vm_update(name, kwargs=None, call=None)
64487              Replaces the user template contents.
64488
64489              New in version 2016.3.0.
64490
64491
64492              name   The name of the VM to update.
64493
64494              path   The path to a file containing new user template contents.
64495                     Syntax  within  the file can be the usual attribute=value
64496                     or XML. Can be used instead of data.
64497
64498              data   Contains the new user template contents.  Syntax  can  be
64499                     the  usual attribute=value or XML. Can be used instead of
64500                     path.
64501
64502              update_type
64503                     There are two ways to update a VM: replace the whole tem‐
64504                     plate or merge the new template with the existing one.
64505
64506              CLI Example:
64507
64508                 salt-cloud -a vm_update my-vm path=/path/to/user_template_file.txt update_type='replace'
64509
64510       salt.cloud.clouds.opennebula.vn_add_ar(call=None, kwargs=None)
64511              Adds address ranges to a given virtual network.
64512
64513              New in version 2016.3.0.
64514
64515
64516              vn_id  The  ID  of the virtual network to add the address range.
64517                     Can be used instead of vn_name.
64518
64519              vn_name
64520                     The name of the virtual network to add the address range.
64521                     Can be used instead of vn_id.
64522
64523              path   The path to a file containing the template of the address
64524                     range to add.  Syntax within the file can  be  the  usual
64525                     attribute=value or XML. Can be used instead of data.
64526
64527              data   Contains the template of the address range to add. Syntax
64528                     can be the usual attribute=value  or  XML.  Can  be  used
64529                     instead of path.
64530
64531              CLI Example:
64532
64533                 salt-cloud -f vn_add_ar opennebula vn_id=3 path=/path/to/address_range.txt
64534                 salt-cloud -f vn_add_ar opennebula vn_name=my-vn \
64535                     data="AR=[TYPE=IP4, IP=192.168.0.5, SIZE=10]"
64536
64537       salt.cloud.clouds.opennebula.vn_allocate(call=None, kwargs=None)
64538              Allocates a new virtual network in OpenNebula.
64539
64540              New in version 2016.3.0.
64541
64542
64543              path   The path to a file containing the template of the virtual
64544                     network to allocate.  Syntax within the file can  be  the
64545                     usual  attribute=value  or  XML.  Can  be used instead of
64546                     data.
64547
64548              data   Contains the template of the virtual network to allocate.
64549                     Syntax  can  be  the usual attribute=value or XML. Can be
64550                     used instead of path.
64551
64552              cluster_id
64553                     The ID of the cluster for which to add  the  new  virtual
64554                     network.  Can be used instead of cluster_name. If neither
64555                     cluster_id nor cluster_name  are  provided,  the  virtual
64556                     network won’t be added to any cluster.
64557
64558              cluster_name
64559                     The  name of the cluster for which to add the new virtual
64560                     network. Can be used instead of  cluster_id.  If  neither
64561                     cluster_name  nor  cluster_id  are  provided, the virtual
64562                     network won't be added to any cluster.
64563
64564              CLI Example:
64565
64566                 salt-cloud -f vn_allocate opennebula path=/path/to/vn_file.txt
64567
64568       salt.cloud.clouds.opennebula.vn_delete(call=None, kwargs=None)
64569              Deletes the given virtual network from OpenNebula. Either a name
64570              or a vn_id must be supplied.
64571
64572              New in version 2016.3.0.
64573
64574
64575              name   The  name  of  the virtual network to delete. Can be used
64576                     instead of vn_id.
64577
64578              vn_id  The ID of the virtual network  to  delete.  Can  be  used
64579                     instead of name.
64580
64581              CLI Example:
64582
64583                 salt-cloud -f vn_delete opennebula name=my-virtual-network
64584                 salt-cloud --function vn_delete opennebula vn_id=3
64585
64586       salt.cloud.clouds.opennebula.vn_free_ar(call=None, kwargs=None)
64587              Frees a reserved address range from a virtual network.
64588
64589              New in version 2016.3.0.
64590
64591
64592              vn_id  The  ID  of  the  virtual  network  from which to free an
64593                     address range.  Can be used instead of vn_name.
64594
64595              vn_name
64596                     The name of the virtual network from  which  to  free  an
64597                     address range.  Can be used instead of vn_id.
64598
64599              ar_id  The ID of the address range to free.
64600
64601              CLI Example:
64602
64603                 salt-cloud -f vn_free_ar opennebula vn_id=3 ar_id=1
64604                 salt-cloud -f vn_free_ar opennebula vn_name=my-vn ar_id=1
64605
64606       salt.cloud.clouds.opennebula.vn_hold(call=None, kwargs=None)
64607              Holds a virtual network lease as used.
64608
64609              New in version 2016.3.0.
64610
64611
64612              vn_id  The  ID  of  the  virtual  network from which to hold the
64613                     lease. Can be used instead of vn_name.
64614
64615              vn_name
64616                     The name of the virtual network from which  to  hold  the
64617                     lease. Can be used instead of vn_id.
64618
64619              path   The  path to a file defining the template of the lease to
64620                     hold.   Syntax  within  the  file  can   be   the   usual
64621                     attribute=value or XML. Can be used instead of data.
64622
64623              data   Contains the template of the lease to hold. Syntax can be
64624                     the usual attribute=value or XML. Can be used instead  of
64625                     path.
64626
64627              CLI Example:
64628
64629                 salt-cloud -f vn_hold opennebula vn_id=3 path=/path/to/vn_hold_file.txt
64630                 salt-cloud -f vn_hold opennebula vn_name=my-vn data="LEASES=[IP=192.168.0.5]"
64631
64632       salt.cloud.clouds.opennebula.vn_info(call=None, kwargs=None)
64633              Retrieves information for the virtual network.
64634
64635              New in version 2016.3.0.
64636
64637
64638              name   The  name  of  the  virtual  network  for which to gather
64639                     information. Can be used instead of vn_id.
64640
64641              vn_id  The ID of the virtual network for which to gather  infor‐
64642                     mation. Can be used instead of name.
64643
64644              CLI Example:
64645
64646                 salt-cloud -f vn_info opennebula vn_id=3
64647                 salt-cloud --function vn_info opennebula name=public
64648
64649       salt.cloud.clouds.opennebula.vn_release(call=None, kwargs=None)
64650              Releases a virtual network lease that was previously on hold.
64651
64652              New in version 2016.3.0.
64653
64654
64655              vn_id  The  ID  of the virtual network from which to release the
64656                     lease. Can be used instead of vn_name.
64657
64658              vn_name
64659                     The name of the virtual network from which to release the
64660                     lease.  Can be used instead of vn_id.
64661
64662              path   The  path to a file defining the template of the lease to
64663                     release.   Syntax  within  the  file  can  be  the  usual
64664                     attribute=value or XML. Can be used instead of data.
64665
64666              data   Contains the template defining the lease to release. Syn‐
64667                     tax can be the usual attribute=value or XML. Can be  used
64668                     instead of path.
64669
64670              CLI Example:
64671
64672                 salt-cloud -f vn_release opennebula vn_id=3 path=/path/to/vn_release_file.txt
64673                 salt-cloud =f vn_release opennebula vn_name=my-vn data="LEASES=[IP=192.168.0.5]"
64674
64675       salt.cloud.clouds.opennebula.vn_reserve(call=None, kwargs=None)
64676              Reserve network addresses.
64677
64678              New in version 2016.3.0.
64679
64680
64681              vn_id  The  ID  of  the  virtual  network  from which to reserve
64682                     addresses. Can be used instead of vn_name.
64683
64684              vn_name
64685                     The name of the virtual network  from  which  to  reserve
64686                     addresses. Can be used instead of vn_id.
64687
64688              path   The  path  to a file defining the template of the address
64689                     reservation.  Syntax within the file  can  be  the  usual
64690                     attribute=value or XML. Can be used instead of data.
64691
64692              data   Contains  the  template defining the address reservation.
64693                     Syntax can be the usual attribute=value or XML. Data pro‐
64694                     vided  must  be  wrapped  in  double  quotes. Can be used
64695                     instead of path.
64696
64697              CLI Example:
64698
64699                 salt-cloud -f vn_reserve opennebula vn_id=3 path=/path/to/vn_reserve_file.txt
64700                 salt-cloud -f vn_reserve opennebula vn_name=my-vn data="SIZE=10 AR_ID=8 NETWORK_ID=1"
64701
64702   salt.cloud.clouds.openstack
64703   Openstack Cloud Driver
64704       depends
64705              shade>=1.19.0
64706
64707       OpenStack is an open source project that is in use by a number a  cloud
64708       providers, each of which have their own ways of using it.
64709
64710       This  OpenStack  driver uses a the shade python module which is managed
64711       by the OpenStack Infra team.  This module is written to handle all  the
64712       different  versions of different OpenStack tools for salt, so most com‐
64713       mands are just passed over to the module to handle everything.
64714
64715   Provider
64716       There are two ways to configure providers for this driver.   The  first
64717       one  is  to  just  let  shade  handle  everything,  and configure using
64718       os-client-config and setting up /etc/openstack/clouds.yml.
64719
64720          clouds:
64721            democloud:
64722              region_name: RegionOne
64723              auth:
64724                username: 'demo'
64725                password: secret
64726                project_name: 'demo'
64727                auth_url: 'http://openstack/identity'
64728
64729       And then this can be referenced in the salt provider based on the demo‐
64730       cloud name.
64731
64732          myopenstack:
64733            driver: openstack
64734            cloud: democloud
64735            region_name: RegionOne
64736
64737       This allows for just using one configuration for salt-cloud and for any
64738       other openstack tools which are all using /etc/openstack/clouds.yml
64739
64740       The other method allows for specifying everything in the provider  con‐
64741       fig,  instead  of  using the extra configuration file.  This will allow
64742       for passing salt-cloud configs only through pillars for minions without
64743       having to write a clouds.yml file on each minion.abs
64744
64745          myopenstack:
64746            driver: openstack
64747            region_name: RegionOne
64748            auth:
64749              username: 'demo'
64750              password: secret
64751              project_name: 'demo'
64752              user_domain_name: default,
64753              project_domain_name: default,
64754              auth_url: 'http://openstack/identity'
64755
64756       Or  if  you  need to use a profile to setup some extra stuff, it can be
64757       passed as a profile to use any of the vendor config options.
64758
64759          myrackspace:
64760            driver: openstack
64761            profile: rackspace
64762            auth:
64763              username: rackusername
64764              api_key: myapikey
64765            region_name: ORD
64766            auth_type: rackspace_apikey
64767
64768       And this will pull in the profile for rackspace and setup all the  cor‐
64769       rect options for the auth_url and different api versions for services.
64770
64771   Profile
64772       Most  of  the  options  for  building servers are just passed on to the
64773       create_server function from shade.
64774
64775       The salt specific ones are:
64776
64777          · ssh_key_file: The path to the ssh key that should be used to login
64778            to the machine to bootstrap it
64779
64780          · ssh_key_file: The name of the keypair in openstack
64781
64782          · userdata_template:  The  renderer to use if the userdata is a file
64783            that is templated. Default: False
64784
64785          · ssh_interface: The interface to use to  login  for  bootstrapping:
64786            public_ips, private_ips, floating_ips, fixed_ips
64787
64788          centos:
64789            provider: myopenstack
64790            image: CentOS 7
64791            size: ds1G
64792            ssh_key_name: mykey
64793            ssh_key_file: /root/.ssh/id_rsa
64794
64795       This is the minimum setup required.
64796
64797       If  metadata  is set to make sure that the host has finished setting up
64798       the wait_for_metadata can be set.
64799
64800          centos:
64801            provider: myopenstack
64802            image: CentOS 7
64803            size: ds1G
64804            ssh_key_name: mykey
64805            ssh_key_file: /root/.ssh/id_rsa
64806            meta:
64807              build_config: rack_user_only
64808            wait_for_metadata:
64809              rax_service_level_automation: Complete
64810              rackconnect_automation_status: DEPLOYED
64811
64812       Anything else from the create_server docs can be passed through here.
64813
64814       ·
64815
64816         image: Image dict, name or ID to boot with. image is required
64817                unless boot_volume is given.
64818
64819       · flavor: Flavor dict, name or ID to boot onto.
64820
64821       ·
64822
64823         auto_ip: Whether to take actions to find a routable IP for
64824                the server. (defaults to True)
64825
64826       · ips: List of IPs to attach to the server (defaults to None)
64827
64828       ·
64829
64830         ip_pool: Name of the network or floating IP pool to get an
64831                address from. (defaults to None)
64832
64833       ·
64834
64835         root_volume: Name or ID of a volume to boot from
64836                (defaults to None - deprecated, use boot_volume)
64837
64838       ·
64839
64840         boot_volume: Name or ID of a volume to boot from
64841                (defaults to None)
64842
64843       ·
64844
64845         terminate_volume: If booting from a volume, whether it should
64846                be deleted when the server is destroyed.  (defaults to False)
64847
64848       · volumes: (optional) A list of volumes to attach to the server
64849
64850       ·
64851
64852         meta: (optional) A dict of arbitrary key/value metadata to
64853                store for this server. Both keys  and  values  must  be  <=255
64854                characters.
64855
64856       ·
64857
64858         files: (optional, deprecated) A dict of files to overwrite
64859                on   the   server   upon  boot.  Keys  are  file  names  (i.e.
64860                /etc/passwd) and values are the file  contents  (either  as  a
64861                string or as a file-like object). A maximum of five entries is
64862                allowed, and each file must be 10k or less.
64863
64864       · reservation_id: a UUID for the set of servers being requested.
64865
64866       ·
64867
64868         min_count: (optional extension) The minimum number of
64869                servers to launch.
64870
64871       ·
64872
64873         max_count: (optional extension) The maximum number of
64874                servers to launch.
64875
64876       · security_groups: A list of security group names
64877
64878       ·
64879
64880         userdata: user data to pass to be exposed by the metadata
64881                server this can be a file type object as well or a string.
64882
64883       ·
64884
64885         key_name: (optional extension) name of previously created
64886                keypair to inject into the instance.
64887
64888       ·
64889
64890         availability_zone: Name of the availability zone for instance
64891                placement.
64892
64893       ·
64894
64895         block_device_mapping: (optional) A dict of block
64896                device mappings for this server.
64897
64898       ·
64899
64900         block_device_mapping_v2: (optional) A dict of block
64901                device mappings for this server.
64902
64903       ·
64904
64905         nics:  (optional extension) an ordered list of nics to be
64906                added to this server, with information  about  connected  net‐
64907                works, fixed IPs, port etc.
64908
64909       ·
64910
64911         scheduler_hints: (optional extension) arbitrary key-value pairs
64912                specified by the client to help boot an instance
64913
64914       ·
64915
64916         config_drive: (optional extension) value for config drive
64917                either boolean, or volume-id
64918
64919       ·
64920
64921         disk_config: (optional extension) control how the disk is
64922                partitioned  when  the server is created.  possible values are
64923                'AUTO' or 'MANUAL'.
64924
64925       ·
64926
64927         admin_pass: (optional extension) add a user supplied admin
64928                password.
64929
64930       ·
64931
64932         timeout: (optional) Seconds to wait, defaults to 60.
64933                See the wait parameter.
64934
64935       ·
64936
64937         reuse_ips: (optional) Whether to attempt to reuse pre-existing
64938                floating ips should a floating IP be needed (defaults to True)
64939
64940       ·
64941
64942         network: (optional) Network dict or name or ID to attach the
64943                server to.  Mutually exclusive with the nics  parameter.   Can
64944                also be be a list of network names or IDs or network dicts.
64945
64946       ·
64947
64948         boot_from_volume: Whether to boot from volume. 'boot_volume'
64949                implies True, but boot_from_volume=True with no boot_volume is
64950                valid and will create a volume from the image and use that.
64951
64952       ·
64953
64954         volume_size: When booting an image from volume, how big should
64955                the created volume be? Defaults to 50.
64956
64957       ·
64958
64959         nat_destination: Which network should a created floating IP
64960                be attached to, if it's not possible to infer from the cloud's
64961                configuration.  (Optional, defaults to None)
64962
64963       ·
64964
64965         group: ServerGroup dict, name or id to boot the server in.
64966                If  a  group  is  provided  in both scheduler_hints and in the
64967                group param, the group param will win.  (Optional, defaults to
64968                None)
64969
64970       NOTE:
64971          If  there  is  anything  added,  that is not in this list, it can be
64972          added to an extras dictionary for the profile, and that will  be  to
64973          the create_server function.
64974
64975       salt.cloud.clouds.openstack.avail_images(conn=None, call=None)
64976              List available images for OpenStack
64977
64978              CLI Example
64979
64980                 salt-cloud -f avail_images myopenstack
64981                 salt-cloud --list-images myopenstack
64982
64983       salt.cloud.clouds.openstack.avail_sizes(conn=None, call=None)
64984              List available sizes for OpenStack
64985
64986              CLI Example
64987
64988                 salt-cloud -f avail_sizes myopenstack
64989                 salt-cloud --list-sizes myopenstack
64990
64991       salt.cloud.clouds.openstack.call(conn=None, call=None, kwargs=None)
64992              Call function from shade.
64993
64994              func
64995                 function to call from shade.openstackcloud library
64996
64997              CLI Example
64998
64999                 salt-cloud -f call myopenstack func=list_images
65000                 t sujksalt-cloud -f call myopenstack func=create_network name=mysubnet
65001
65002       salt.cloud.clouds.openstack.create(vm_)
65003              Create a single VM from a data dict
65004
65005       salt.cloud.clouds.openstack.destroy(name, conn=None, call=None)
65006              Delete a single VM
65007
65008       salt.cloud.clouds.openstack.get_configured_provider()
65009              Return the first configured instance.
65010
65011       salt.cloud.clouds.openstack.get_conn()
65012              Return a conn object for the passed VM data
65013
65014       salt.cloud.clouds.openstack.get_dependencies()
65015              Warn if dependencies aren't met.
65016
65017       salt.cloud.clouds.openstack.list_networks(conn=None, call=None)
65018              List networks for OpenStack
65019
65020              CLI Example
65021
65022                 salt-cloud -f list_networks myopenstack
65023
65024       salt.cloud.clouds.openstack.list_nodes(conn=None, call=None)
65025              Return a list of VMs
65026
65027              CLI Example
65028
65029                 salt-cloud -f list_nodes myopenstack
65030
65031       salt.cloud.clouds.openstack.list_nodes_full(conn=None, call=None)
65032              Return a list of VMs with all the information about them
65033
65034              CLI Example
65035
65036                 salt-cloud -f list_nodes_full myopenstack
65037
65038       salt.cloud.clouds.openstack.list_nodes_min(conn=None, call=None)
65039              Return a list of VMs with minimal information
65040
65041              CLI Example
65042
65043                 salt-cloud -f list_nodes_min myopenstack
65044
65045       salt.cloud.clouds.openstack.list_nodes_select(conn=None, call=None)
65046              Return a list of VMs with the fields from query.selection
65047
65048              CLI Example
65049
65050                 salt-cloud -f list_nodes_full myopenstack
65051
65052       salt.cloud.clouds.openstack.list_subnets(conn=None,          call=None,
65053       kwargs=None)
65054              List subnets in a virtual network
65055
65056              network
65057                     network to list subnets of
65058
65059                 salt-cloud -f list_subnets myopenstack network=salt-net
65060
65061       salt.cloud.clouds.openstack.preferred_ip(vm_, ips)
65062              Return the preferred Internet protocol. Either 'ipv4'  (default)
65063              or 'ipv6'.
65064
65065       salt.cloud.clouds.openstack.request_instance(vm_, conn=None, call=None)
65066              Request an instance to be built
65067
65068       salt.cloud.clouds.openstack.show_instance(name, conn=None, call=None)
65069              Get VM on this OpenStack account
65070
65071              name
65072                 name of the instance
65073
65074              CLI Example
65075
65076                 salt-cloud -a show_instance myserver
65077
65078       salt.cloud.clouds.openstack.ssh_interface(vm_)
65079              Return the ssh_interface type to connect to. Either 'public_ips'
65080              (default) or 'private_ips'.
65081
65082   salt.cloud.clouds.parallels
65083   Parallels Cloud Module
65084       The Parallels cloud module is used to control access to cloud providers
65085       using the Parallels VPS system.
65086
65087       Set up the cloud configuration at /etc/salt/cloud.providers or
65088              /etc/salt/cloud.providers.d/parallels.conf:
65089
65090          my-parallels-config:
65091            # Parallels account information
65092            user: myuser
65093            password: mypassword
65094            url: https://api.cloud.xmission.com:4465/paci/v1.0/
65095            driver: parallels
65096
65097       salt.cloud.clouds.parallels.avail_images(call=None)
65098              Return a list of the images that are on the provider
65099
65100       salt.cloud.clouds.parallels.create(vm_)
65101              Create a single VM from a data dict
65102
65103       salt.cloud.clouds.parallels.create_node(vm_)
65104              Build and submit the XML to create a node
65105
65106       salt.cloud.clouds.parallels.destroy(name, call=None)
65107              Destroy a node.
65108
65109              CLI Example:
65110
65111                 salt-cloud --destroy mymachine
65112
65113       salt.cloud.clouds.parallels.get_configured_provider()
65114              Return the first configured instance.
65115
65116       salt.cloud.clouds.parallels.get_image(vm_)
65117              Return the image object to use
65118
65119       salt.cloud.clouds.parallels.list_nodes(call=None)
65120              Return a list of the VMs that are on the provider
65121
65122       salt.cloud.clouds.parallels.list_nodes_full(call=None)
65123              Return a list of the VMs that are on the provider
65124
65125       salt.cloud.clouds.parallels.list_nodes_select(call=None)
65126              Return  a  list of the VMs that are on the provider, with select
65127              fields
65128
65129       salt.cloud.clouds.parallels.query(action=None, command=None, args=None,
65130       method=u'GET', data=None)
65131              Make a web call to a Parallels provider
65132
65133       salt.cloud.clouds.parallels.script(vm_)
65134              Return the script deployment object
65135
65136       salt.cloud.clouds.parallels.show_image(kwargs, call=None)
65137              Show the details from Parallels concerning an image
65138
65139       salt.cloud.clouds.parallels.show_instance(name, call=None)
65140              Show the details from Parallels concerning an instance
65141
65142       salt.cloud.clouds.parallels.start(name, call=None)
65143              Start a node.
65144
65145              CLI Example:
65146
65147                 salt-cloud -a start mymachine
65148
65149       salt.cloud.clouds.parallels.stop(name, call=None)
65150              Stop a node.
65151
65152              CLI Example:
65153
65154                 salt-cloud -a stop mymachine
65155
65156       salt.cloud.clouds.parallels.wait_until(name, state, timeout=300)
65157              Wait until a specific state has been reached on  a node
65158
65159   salt.cloud.clouds.profitbricks
65160   ProfitBricks Cloud Module
65161       The ProfitBricks SaltStack cloud module allows a ProfitBricks server to
65162       be automatically deployed and bootstraped with Salt.
65163
65164       depends
65165              profitbrick >= 3.1.0
65166
65167       The module requires ProfitBricks credentials to be supplied along  with
65168       an  existing  virtual  datacenter  UUID where the server resources will
65169       reside. The server should also be assigned a public LAN, a private LAN,
65170       or both along with SSH key pairs.
65171
65172       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
65173       /etc/salt/cloud.providers.d/profitbricks.conf:
65174
65175          my-profitbricks-config:
65176            driver: profitbricks
65177            # The ProfitBricks login username
65178            username: user@example.com
65179            # The ProfitBricks login password
65180            password: secretpassword
65181            # The ProfitBricks virtual datacenter UUID
65182            datacenter_id: <UUID>
65183            # SSH private key filename
65184            ssh_private_key: /path/to/private.key
65185            # SSH public key filename
65186            ssh_public_key: /path/to/public.key
65187
65188          my-profitbricks-profile:
65189            provider: my-profitbricks-config
65190            # Name of a predefined server size.
65191            size: Micro Instance
65192            # Assign CPU family to server.
65193            cpu_family: INTEL_XEON
65194            # Number of CPU cores to allocate to node (overrides server size).
65195            cores: 4
65196            # Amount of RAM in multiples of 256 MB (overrides server size).
65197            ram: 4096
65198            # The server availability zone.
65199            availability_zone: ZONE_1
65200            # Name or UUID of the HDD image to use.
65201            image: <UUID>
65202            # Image alias could be provided instead of image.
65203            # Example 'ubuntu:latest'
65204            #image_alias: <IMAGE_ALIAS>
65205            # Size of the node disk in GB (overrides server size).
65206            disk_size: 40
65207            # Type of disk (HDD or SSD).
65208            disk_type: SSD
65209            # Storage availability zone to use.
65210            disk_availability_zone: ZONE_2
65211            # Assign the server to the specified public LAN.
65212            public_lan: <ID>
65213            # Assign firewall rules to the network interface.
65214            public_firewall_rules:
65215              SSH:
65216                protocol: TCP
65217                port_range_start: 22
65218                port_range_end: 22
65219            # Assign the server to the specified private LAN.
65220            private_lan: <ID>
65221            # Enable NAT on the private NIC.
65222            nat: true
65223            # Assign additional volumes to the server.
65224            volumes:
65225              data-volume:
65226                disk_size: 500
65227                disk_availability_zone: ZONE_3
65228              log-volume:
65229                disk_size: 50
65230                disk_type: SSD
65231
65232       To use a private IP for connecting and bootstrapping node:
65233
65234          my-profitbricks-profile:
65235            ssh_interface: private_lan
65236
65237       Set deploy to False if Salt should not be installed on the node.
65238
65239          my-profitbricks-profile:
65240            deploy: False
65241
65242       salt.cloud.clouds.profitbricks.avail_images(call=None)
65243              Return a list of the images that are on the provider
65244
65245       salt.cloud.clouds.profitbricks.avail_locations(call=None)
65246              Return a dict  of  all  available  VM  locations  on  the  cloud
65247              provider with relevant data
65248
65249       salt.cloud.clouds.profitbricks.avail_sizes(call=None)
65250              Return  a  dict  of all available VM sizes on the cloud provider
65251              with relevant data. Latest version can be found at:
65252
65253       salt.cloud.clouds.profitbricks.create(vm_)
65254              Create a single VM from a data dict
65255
65256       salt.cloud.clouds.profitbricks.create_datacenter(call=None,
65257       kwargs=None)
65258              Creates a virtual datacenter based on supplied parameters.
65259
65260              CLI Example:
65261
65262                 salt-cloud -f create_datacenter profitbricks name=mydatacenter
65263                 location=us/las description="my description"
65264
65265       salt.cloud.clouds.profitbricks.create_loadbalancer(call=None,
65266       kwargs=None)
65267              Creates a loadbalancer within the datacenter from  the  provider
65268              config.
65269
65270              CLI Example:
65271
65272                 salt-cloud -f create_loadbalancer profitbricks name=mylb
65273
65274       salt.cloud.clouds.profitbricks.destroy(name, call=None)
65275              destroy a machine by name
65276
65277              Parameters
65278
65279                     · name -- name given to the machine
65280
65281                     · call -- call value in this case is 'action'
65282
65283              Returns
65284                     array of booleans , true if successfully stopped and true
65285                     if successfully removed
65286
65287              CLI Example:
65288
65289                 salt-cloud -d vm_name
65290
65291       salt.cloud.clouds.profitbricks.get_configured_provider()
65292              Return the first configured instance.
65293
65294       salt.cloud.clouds.profitbricks.get_conn()
65295              Return a conn object for the passed VM data
65296
65297       salt.cloud.clouds.profitbricks.get_datacenter(conn)
65298              Return the datacenter from the config provider datacenter ID
65299
65300       salt.cloud.clouds.profitbricks.get_datacenter_id()
65301              Return datacenter ID from provider configuration
65302
65303       salt.cloud.clouds.profitbricks.get_dependencies()
65304              Warn if dependencies are not met.
65305
65306       salt.cloud.clouds.profitbricks.get_disk_type(vm_)
65307              Return the type of disk to use. Either 'HDD' (default) or 'SSD'.
65308
65309       salt.cloud.clouds.profitbricks.get_image(vm_)
65310              Return the image object to use
65311
65312       salt.cloud.clouds.profitbricks.get_key_filename(vm_)
65313              Check SSH private key file and return absolute path if exists.
65314
65315       salt.cloud.clouds.profitbricks.get_node(conn, name)
65316              Return a node for the named VM
65317
65318       salt.cloud.clouds.profitbricks.get_public_keys(vm_)
65319              Retrieve list of SSH public keys.
65320
65321       salt.cloud.clouds.profitbricks.get_size(vm_)
65322              Return the VM's size object
65323
65324       salt.cloud.clouds.profitbricks.get_wait_timeout(vm_)
65325              Return the wait_for_timeout for resource provisioning.
65326
65327       salt.cloud.clouds.profitbricks.list_datacenters(conn=None, call=None)
65328              List all the data centers
65329
65330              CLI Example:
65331
65332                 salt-cloud -f list_datacenters my-profitbricks-config
65333
65334       salt.cloud.clouds.profitbricks.list_images(call=None, kwargs=None)
65335              List all the images with alias by location
65336
65337              CLI Example:
65338
65339                 salt-cloud -f list_images my-profitbricks-config location=us/las
65340
65341       salt.cloud.clouds.profitbricks.list_loadbalancers(call=None)
65342              Return a list of the loadbalancers that are on the provider
65343
65344       salt.cloud.clouds.profitbricks.list_nodes(conn=None, call=None)
65345              Return a list of VMs that are on the provider
65346
65347       salt.cloud.clouds.profitbricks.list_nodes_full(conn=None, call=None)
65348              Return a list of the VMs that are  on  the  provider,  with  all
65349              fields
65350
65351       salt.cloud.clouds.profitbricks.reboot(name, call=None)
65352              reboot  a machine by name :param name: name given to the machine
65353              :param call: call value in this case is 'action'  :return:  true
65354              if successful
65355
65356              CLI Example:
65357
65358                 salt-cloud -a reboot vm_name
65359
65360       salt.cloud.clouds.profitbricks.reserve_ipblock(call=None, kwargs=None)
65361              Reserve the IP Block
65362
65363       salt.cloud.clouds.profitbricks.set_public_lan(lan_id)
65364              Enables  public Internet access for the specified public_lan. If
65365              no public LAN is available, then a new public LAN is created.
65366
65367       salt.cloud.clouds.profitbricks.show_instance(name, call=None)
65368              Show the details from the provider concerning an instance
65369
65370       salt.cloud.clouds.profitbricks.signal_event(vm_, event, description)
65371
65372       salt.cloud.clouds.profitbricks.ssh_interface(vm_)
65373              Return the ssh_interface type to connect to. Either 'public_ips'
65374              (default) or 'private_ips'.
65375
65376       salt.cloud.clouds.profitbricks.start(name, call=None)
65377              start  a  machine by name :param name: name given to the machine
65378              :param call: call value in this case is 'action'  :return:  true
65379              if successful
65380
65381              CLI Example:
65382
65383                 salt-cloud -a start vm_name
65384
65385       salt.cloud.clouds.profitbricks.stop(name, call=None)
65386              stop  a  machine  by name :param name: name given to the machine
65387              :param call: call value in this case is 'action'  :return:  true
65388              if successful
65389
65390              CLI Example:
65391
65392                 salt-cloud -a stop vm_name
65393
65394       salt.cloud.clouds.profitbricks.version_compatible(version)
65395              Checks profitbricks version
65396
65397   salt.cloud.clouds.proxmox
65398   Proxmox Cloud Module
65399       New in version 2014.7.0.
65400
65401
65402       The  Proxmox  cloud module is used to control access to cloud providers
65403       using the Proxmox system (KVM / OpenVZ / LXC).
65404
65405       Set up the cloud configuration at /etc/salt/cloud.providers or
65406              /etc/salt/cloud.providers.d/proxmox.conf:
65407
65408          my-proxmox-config:
65409            # Proxmox account information
65410            user: myuser@pam or myuser@pve
65411            password: mypassword
65412            url: hypervisor.domain.tld
65413            driver: proxmox
65414            verify_ssl: True
65415
65416       maintainer
65417              Frank Klaassen <frank@cloudright.nl>
65418
65419       depends
65420              requests >= 2.2.1
65421
65422       depends
65423              IPy >= 0.81
65424
65425       salt.cloud.clouds.proxmox.avail_images(call=None, location=u'local')
65426              Return a list of the images that are on the provider
65427
65428              CLI Example:
65429
65430                 salt-cloud --list-images my-proxmox-config
65431
65432       salt.cloud.clouds.proxmox.avail_locations(call=None)
65433              Return a list of the hypervisors (nodes) which this Proxmox  PVE
65434              machine manages
65435
65436              CLI Example:
65437
65438                 salt-cloud --list-locations my-proxmox-config
65439
65440       salt.cloud.clouds.proxmox.create(vm_)
65441              Create a single VM from a data dict
65442
65443              CLI Example:
65444
65445                 salt-cloud -p proxmox-ubuntu vmhostname
65446
65447       salt.cloud.clouds.proxmox.create_node(vm_, newid)
65448              Build and submit the requestdata to create a new node
65449
65450       salt.cloud.clouds.proxmox.destroy(name, call=None)
65451              Destroy a node.
65452
65453              CLI Example:
65454
65455                 salt-cloud --destroy mymachine
65456
65457       salt.cloud.clouds.proxmox.get_configured_provider()
65458              Return the first configured instance.
65459
65460       salt.cloud.clouds.proxmox.get_dependencies()
65461              Warn if dependencies aren't met.
65462
65463       salt.cloud.clouds.proxmox.get_resources_nodes(call=None,        resFil‐
65464       ter=None)
65465              Retrieve all hypervisors (nodes) available on  this  environment
65466              CLI Example:
65467
65468                 salt-cloud -f get_resources_nodes my-proxmox-config
65469
65470       salt.cloud.clouds.proxmox.get_resources_vms(call=None,  resFilter=None,
65471       includeConfig=True)
65472              Retrieve all VMs available on this environment
65473
65474              CLI Example:
65475
65476                 salt-cloud -f get_resources_vms my-proxmox-config
65477
65478       salt.cloud.clouds.proxmox.get_vm_status(vmid=None, name=None)
65479              Get the status for a VM, either via the ID or the hostname
65480
65481       salt.cloud.clouds.proxmox.get_vmconfig(vmid,                 node=None,
65482       node_type=u'openvz')
65483              Get VM configuration
65484
65485       salt.cloud.clouds.proxmox.list_nodes(call=None)
65486              Return a list of the VMs that are managed by the provider
65487
65488              CLI Example:
65489
65490                 salt-cloud -Q my-proxmox-config
65491
65492       salt.cloud.clouds.proxmox.list_nodes_full(call=None)
65493              Return a list of the VMs that are on the provider
65494
65495              CLI Example:
65496
65497                 salt-cloud -F my-proxmox-config
65498
65499       salt.cloud.clouds.proxmox.list_nodes_select(call=None)
65500              Return  a  list of the VMs that are on the provider, with select
65501              fields
65502
65503              CLI Example:
65504
65505                 salt-cloud -S my-proxmox-config
65506
65507       salt.cloud.clouds.proxmox.query(conn_type, option, post_data=None)
65508              Execute the HTTP request to the API
65509
65510       salt.cloud.clouds.proxmox.script(vm_)
65511              Return the script deployment object
65512
65513       salt.cloud.clouds.proxmox.set_vm_status(status, name=None, vmid=None)
65514              Convenience function for setting VM status
65515
65516       salt.cloud.clouds.proxmox.show_instance(name, call=None)
65517              Show the details from Proxmox concerning an instance
65518
65519       salt.cloud.clouds.proxmox.shutdown(name=None, vmid=None, call=None)
65520              Shutdown a node via ACPI.
65521
65522              CLI Example:
65523
65524                 salt-cloud -a shutdown mymachine
65525
65526       salt.cloud.clouds.proxmox.start(name, vmid=None, call=None)
65527              Start a node.
65528
65529              CLI Example:
65530
65531                 salt-cloud -a start mymachine
65532
65533       salt.cloud.clouds.proxmox.stop(name, vmid=None, call=None)
65534              Stop a node ("pulling the plug").
65535
65536              CLI Example:
65537
65538                 salt-cloud -a stop mymachine
65539
65540       salt.cloud.clouds.proxmox.wait_for_created(upid, timeout=300)
65541              Wait until a the vm has been created successfully
65542
65543       salt.cloud.clouds.proxmox.wait_for_state(vmid, state, timeout=300)
65544              Wait until a specific state has been reached on a node
65545
65546   salt.cloud.clouds.pyrax
65547   Pyrax Cloud Module
65548       PLEASE NOTE: This module is currently in early development, and consid‐
65549       ered to be experimental and unstable. It is not recommended for produc‐
65550       tion use. Unless you are actively developing code in this  module,  you
65551       should use the OpenStack module instead.
65552
65553       salt.cloud.clouds.pyrax.get_configured_provider()
65554              Return the first configured instance.
65555
65556       salt.cloud.clouds.pyrax.get_conn(conn_type)
65557              Return a conn object for the passed VM data
65558
65559       salt.cloud.clouds.pyrax.get_dependencies()
65560              Warn if dependencies aren't met.
65561
65562       salt.cloud.clouds.pyrax.queues_create(call, kwargs)
65563
65564       salt.cloud.clouds.pyrax.queues_delete(call, kwargs)
65565
65566       salt.cloud.clouds.pyrax.queues_exists(call, kwargs)
65567
65568       salt.cloud.clouds.pyrax.queues_show(call, kwargs)
65569
65570   salt.cloud.clouds.qingcloud
65571   QingCloud Cloud Module
65572       New in version 2015.8.0.
65573
65574
65575       The  QingCloud cloud module is used to control access to the QingCloud.
65576       http://www.qingcloud.com/
65577
65578       Use of this module requires the access_key_id, secret_access_key,  zone
65579       and key_filename parameter to be set.
65580
65581       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
65582       /etc/salt/cloud.providers.d/qingcloud.conf:
65583
65584          my-qingcloud:
65585            driver: qingcloud
65586            access_key_id: AKIDMRTGYONNLTFFRBQJ
65587            secret_access_key: clYwH21U5UOmcov4aNV2V2XocaHCG3JZGcxEczFu
65588            zone: pek2
65589            key_filename: /path/to/your.pem
65590
65591       depends
65592              requests
65593
65594       salt.cloud.clouds.qingcloud.avail_images(kwargs=None, call=None)
65595              Return a list of the images that are on the provider.
65596
65597              CLI Examples:
65598
65599                 salt-cloud --list-images my-qingcloud
65600                 salt-cloud -f avail_images my-qingcloud zone=gd1
65601
65602       salt.cloud.clouds.qingcloud.avail_locations(call=None)
65603              Return a dict of all available locations on  the  provider  with
65604              relevant data.
65605
65606              CLI Examples:
65607
65608                 salt-cloud --list-locations my-qingcloud
65609
65610       salt.cloud.clouds.qingcloud.avail_sizes(kwargs=None, call=None)
65611              Return a list of the instance sizes that are on the provider.
65612
65613              CLI Examples:
65614
65615                 salt-cloud --list-sizes my-qingcloud
65616                 salt-cloud -f avail_sizes my-qingcloud zone=pek2
65617
65618       salt.cloud.clouds.qingcloud.create(vm_)
65619              Create a single instance from a data dict.
65620
65621              CLI Examples:
65622
65623                 salt-cloud -p qingcloud-ubuntu-c1m1 hostname1
65624                 salt-cloud -m /path/to/mymap.sls -P
65625
65626       salt.cloud.clouds.qingcloud.destroy(instance_id, call=None)
65627              Destroy an instance.
65628
65629              CLI Example:
65630
65631                 salt-cloud -a destroy i-2f733r5n
65632                 salt-cloud -d i-2f733r5n
65633
65634       salt.cloud.clouds.qingcloud.get_configured_provider()
65635              Return the first configured instance.
65636
65637       salt.cloud.clouds.qingcloud.get_dependencies()
65638              Warn if dependencies aren't met.
65639
65640       salt.cloud.clouds.qingcloud.list_nodes(call=None)
65641              Return a list of the instances that are on the provider.
65642
65643              CLI Examples:
65644
65645                 salt-cloud -Q my-qingcloud
65646
65647       salt.cloud.clouds.qingcloud.list_nodes_full(call=None)
65648              Return a list of the instances that are on the provider.
65649
65650              CLI Examples:
65651
65652                 salt-cloud -F my-qingcloud
65653
65654       salt.cloud.clouds.qingcloud.list_nodes_min(call=None)
65655              Return  a list of the instances that are on the provider. Only a
65656              list of instances names, and their state, is returned.
65657
65658              CLI Examples:
65659
65660                 salt-cloud -f list_nodes_min my-qingcloud
65661
65662       salt.cloud.clouds.qingcloud.list_nodes_select(call=None)
65663              Return a list of the instances that are on  the  provider,  with
65664              selected fields.
65665
65666              CLI Examples:
65667
65668                 salt-cloud -S my-qingcloud
65669
65670       salt.cloud.clouds.qingcloud.query(params=None)
65671              Make a web call to QingCloud IaaS API.
65672
65673       salt.cloud.clouds.qingcloud.reboot(instance_id, call=None)
65674              Reboot an instance.
65675
65676              CLI Examples:
65677
65678                 salt-cloud -a reboot i-2f733r5n
65679
65680       salt.cloud.clouds.qingcloud.script(vm_)
65681              Return the script deployment object.
65682
65683       salt.cloud.clouds.qingcloud.show_image(kwargs, call=None)
65684              Show the details from QingCloud concerning an image.
65685
65686              CLI Examples:
65687
65688                 salt-cloud -f show_image my-qingcloud image=trustysrvx64c
65689                 salt-cloud -f show_image my-qingcloud image=trustysrvx64c,coreos4
65690                 salt-cloud -f show_image my-qingcloud image=trustysrvx64c zone=ap1
65691
65692       salt.cloud.clouds.qingcloud.show_instance(instance_id,       call=None,
65693       kwargs=None)
65694              Show the details from QingCloud concerning an instance.
65695
65696              CLI Examples:
65697
65698                 salt-cloud -a show_instance i-2f733r5n
65699
65700       salt.cloud.clouds.qingcloud.start(instance_id, call=None)
65701              Start an instance.
65702
65703              CLI Examples:
65704
65705                 salt-cloud -a start i-2f733r5n
65706
65707       salt.cloud.clouds.qingcloud.stop(instance_id, force=False, call=None)
65708              Stop an instance.
65709
65710              CLI Examples:
65711
65712                 salt-cloud -a stop i-2f733r5n
65713                 salt-cloud -a stop i-2f733r5n force=True
65714
65715   salt.cloud.clouds.saltify
65716   Saltify Module
65717       The Saltify module is designed to install Salt  on  a  remote  machine,
65718       virtual  or bare metal, using SSH. This module is useful for provision‐
65719       ing machines which are already installed, but not Salted.
65720
65721       Changed in version 2018.3.0: The wake_on_lan  capability,  and  actions
65722       destroy, reboot, and query functions were added.
65723
65724
65725       Use  of  this  module  requires some configuration in cloud profile and
65726       provider files as described in the Gettting Started with Saltify  docu‐
65727       mentation.
65728
65729       salt.cloud.clouds.saltify.avail_images(call=None)
65730              This  function returns a list of images available for this cloud
65731              provider.
65732
65733                 salt-cloud --list-images saltify
65734
65735              returns a list of available profiles.
65736
65737              ..versionadded:: 2018.3.0
65738
65739       salt.cloud.clouds.saltify.avail_locations(call=None)
65740              This function returns a list of locations available.
65741
65742                 salt-cloud --list-locations my-cloud-provider
65743
65744              [ saltify will always return an empty dictionary ]
65745
65746       salt.cloud.clouds.saltify.avail_sizes(call=None)
65747              This function returns a list of sizes available for  this  cloud
65748              provider.
65749
65750                 salt-cloud --list-sizes saltify
65751
65752              [ saltify always returns an empty dictionary ]
65753
65754       salt.cloud.clouds.saltify.create(vm_)
65755              if configuration parameter deploy is True,
65756                 Provision  a single machine, adding its keys to the salt mas‐
65757                 ter
65758
65759              else,
65760                 Test ssh connections to the machine
65761
65762              Configuration parameters:
65763
65764              · deploy:  (see above)
65765
65766              · provider:  name of entry in salt/cloud.providers.d/??? file
65767
65768              · ssh_host: IP address or DNS name of the new machine
65769
65770              · ssh_username:  name used to log in to the new machine
65771
65772              · ssh_password:  password to  log  in  (unless  key_filename  is
65773                used)
65774
65775              · key_filename:   (optional)  SSH  private  key for passwordless
65776                login
65777
65778              · ssh_port: (default=22) TCP port for SSH connection
65779
65780              · wake_on_lan_mac:  (optional) hardware (MAC) address  for  wake
65781                on lan
65782
65783              · wol_sender_node:   (optional)  salt minion to send wake on lan
65784                command
65785
65786              · wol_boot_wait:  (default=30) seconds  to  delay  while  client
65787                boots
65788
65789              · force_minion_config:  (optional) replace the minion configura‐
65790                tion files on the new machine
65791
65792              See also Miscellaneous Salt Cloud Options  and  Getting  Started
65793              with Saltify
65794
65795              CLI Example:
65796
65797                 salt-cloud -p mymachine my_new_id
65798
65799       salt.cloud.clouds.saltify.destroy(name, call=None)
65800              Destroy a node.
65801
65802              New in version 2018.3.0.
65803
65804
65805              Disconnect a minion from the master, and remove its keys.
65806
65807              Optionally, (if remove_config_on_destroy is True),
65808                     disables  salt-minion  from  running  on  the minion, and
65809                     erases the Salt configuration files from it.
65810
65811              Optionally, (if shutdown_on_destroy is True),
65812                     orders the minion to halt.
65813
65814              CLI Example:
65815
65816                 salt-cloud --destroy mymachine
65817
65818       salt.cloud.clouds.saltify.get_configured_provider()
65819              Return the first configured instance.
65820
65821       salt.cloud.clouds.saltify.list_nodes(call=None)
65822              List the nodes which have salt-cloud:driver:saltify grains.
65823
65824                 salt-cloud -Q
65825
65826              returns a list of dictionaries of defined standard fields.
65827
65828              ..versionadded:: 2018.3.0
65829
65830       salt.cloud.clouds.saltify.list_nodes_full(call=None)
65831              Lists complete information for all nodes.
65832
65833                 salt-cloud -F
65834
65835              returns a list of dictionaries.
65836
65837              for 'saltify' minions, returns dict of grains (enhanced).
65838
65839              ..versionadded:: 2018.3.0
65840
65841       salt.cloud.clouds.saltify.list_nodes_select(call=None)
65842              Return a list of the minions that have salt-cloud  grains,  with
65843              select fields.
65844
65845       salt.cloud.clouds.saltify.reboot(name, call=None)
65846              Reboot a saltify minion.
65847
65848              ..versionadded:: 2018.3.0
65849
65850              name   The name of the VM to reboot.
65851
65852              CLI Example:
65853
65854                 salt-cloud -a reboot vm_name
65855
65856       salt.cloud.clouds.saltify.show_instance(name, call=None)
65857              List the a single node, return dict of grains.
65858
65859   salt.cloud.clouds.scaleway
65860   Scaleway Cloud Module
65861       New in version 2015.8.0.
65862
65863
65864       The  Scaleway  cloud  module  is  used  to  interact with your Scaleway
65865       BareMetal Servers.
65866
65867       Use of this module only requires the api_key parameter to be  set.  Set
65868       up    the   cloud   configuration   at   /etc/salt/cloud.providers   or
65869       /etc/salt/cloud.providers.d/scaleway.conf:
65870
65871          scaleway-config:
65872            # Scaleway organization and token
65873            access_key: 0e604a2c-aea6-4081-acb2-e1d1258ef95c
65874            token: be8fd96b-04eb-4d39-b6ba-a9edbcf17f12
65875            driver: scaleway
65876
65877       salt.cloud.clouds.scaleway.avail_images(call=None)
65878              Return a list of the images that are on the provider.
65879
65880       salt.cloud.clouds.scaleway.create(server_)
65881              Create a single BareMetal server from a data dict.
65882
65883       salt.cloud.clouds.scaleway.create_node(args)
65884              Create a node.
65885
65886       salt.cloud.clouds.scaleway.destroy(name, call=None)
65887              Destroy a node. Will check termination protection  and  warn  if
65888              enabled.
65889
65890              CLI Example:
65891                 salt-cloud --destroy mymachine
65892
65893       salt.cloud.clouds.scaleway.get_configured_provider()
65894              Return the first configured instance.
65895
65896       salt.cloud.clouds.scaleway.get_image(server_)
65897              Return the image object to use.
65898
65899       salt.cloud.clouds.scaleway.list_nodes(call=None)
65900              Return a list of the BareMetal servers that are on the provider.
65901
65902       salt.cloud.clouds.scaleway.list_nodes_full(call=None)
65903              Return a list of the BareMetal servers that are on the provider.
65904
65905       salt.cloud.clouds.scaleway.list_nodes_select(call=None)
65906              Return a list of the BareMetal servers that are on the provider,
65907              with select fields.
65908
65909       salt.cloud.clouds.scaleway.query(method=u'servers',     server_id=None,
65910       command=None, args=None, http_method=u'get')
65911              Make a call to the Scaleway API.
65912
65913       salt.cloud.clouds.scaleway.script(server_)
65914              Return the script deployment object.
65915
65916       salt.cloud.clouds.scaleway.show_instance(name, call=None)
65917              Show the details from a Scaleway BareMetal server.
65918
65919   salt.cloud.clouds.softlayer
65920   SoftLayer Cloud Module
65921       The  SoftLayer  cloud module is used to control access to the SoftLayer
65922       VPS system.
65923
65924       Use of this module only requires the apikey parameter. Set up the cloud
65925       configuration at:
65926
65927       /etc/salt/cloud.providers      or     /etc/salt/cloud.providers.d/soft‐
65928       layer.conf:
65929
65930          my-softlayer-config:
65931            # SoftLayer account api key
65932            user: MYLOGIN
65933            apikey: JVkbSJDGHSDKUKSDJfhsdklfjgsjdkflhjlsdfffhgdgjkenrtuinv
65934            driver: softlayer
65935
65936       The SoftLayer Python Library needs to be installed in order to use  the
65937       SoftLayer              salt.cloud             modules.             See:
65938       https://pypi.python.org/pypi/SoftLayer
65939
65940       depends
65941              softlayer
65942
65943       salt.cloud.clouds.softlayer.avail_images(call=None)
65944              Return a dict of all available VM images on the cloud provider.
65945
65946       salt.cloud.clouds.softlayer.avail_locations(call=None)
65947              List all available locations
65948
65949       salt.cloud.clouds.softlayer.avail_sizes(call=None)
65950              Return a dict of all available VM sizes on  the  cloud  provider
65951              with relevant data. This data is provided in three dicts.
65952
65953       salt.cloud.clouds.softlayer.create(vm_)
65954              Create a single VM from a data dict
65955
65956       salt.cloud.clouds.softlayer.destroy(name, call=None)
65957              Destroy a node.
65958
65959              CLI Example:
65960
65961                 salt-cloud --destroy mymachine
65962
65963       salt.cloud.clouds.softlayer.get_configured_provider()
65964              Return the first configured instance.
65965
65966       salt.cloud.clouds.softlayer.get_conn(service=u'SoftLayer_Vir‐
65967       tual_Guest')
65968              Return a conn object for the passed VM data
65969
65970       salt.cloud.clouds.softlayer.get_dependencies()
65971              Warn if dependencies aren't met.
65972
65973       salt.cloud.clouds.softlayer.get_location(vm_=None)
65974
65975              Return the location to use, in this order:
65976
65977                     · CLI parameter
65978
65979                     · VM parameter
65980
65981                     · Cloud profile setting
65982
65983       salt.cloud.clouds.softlayer.list_custom_images(call=None)
65984              Return a dict of all custom VM images on the cloud provider.
65985
65986       salt.cloud.clouds.softlayer.list_nodes(call=None)
65987              Return a list of the VMs that are on the provider
65988
65989       salt.cloud.clouds.softlayer.list_nodes_full(mask=u'mask[id]',
65990       call=None)
65991              Return a list of the VMs that are on the provider
65992
65993       salt.cloud.clouds.softlayer.list_nodes_select(call=None)
65994              Return  a  list of the VMs that are on the provider, with select
65995              fields
65996
65997       salt.cloud.clouds.softlayer.list_vlans(call=None)
65998              List all VLANs associated with the account
65999
66000       salt.cloud.clouds.softlayer.script(vm_)
66001              Return the script deployment object
66002
66003       salt.cloud.clouds.softlayer.show_instance(name, call=None)
66004              Show the details from SoftLayer concerning a guest
66005
66006   salt.cloud.clouds.softlayer_hw
66007   SoftLayer HW Cloud Module
66008       The SoftLayer HW cloud module is used to control access  to  the  Soft‐
66009       Layer hardware cloud system
66010
66011       Use of this module only requires the apikey parameter. Set up the cloud
66012       configuration at:
66013
66014       /etc/salt/cloud.providers     or      /etc/salt/cloud.providers.d/soft‐
66015       layer.conf:
66016
66017          my-softlayer-config:
66018            # SoftLayer account api key
66019            user: MYLOGIN
66020            apikey: JVkbSJDGHSDKUKSDJfhsdklfjgsjdkflhjlsdfffhgdgjkenrtuinv
66021            driver: softlayer_hw
66022
66023       The  SoftLayer Python Library needs to be installed in order to use the
66024       SoftLayer             salt.cloud             modules.              See:
66025       https://pypi.python.org/pypi/SoftLayer
66026
66027       depends
66028              softlayer
66029
66030       salt.cloud.clouds.softlayer_hw.avail_images(call=None)
66031              Return a dict of all available VM images on the cloud provider.
66032
66033       salt.cloud.clouds.softlayer_hw.avail_locations(call=None)
66034              List all available locations
66035
66036       salt.cloud.clouds.softlayer_hw.avail_sizes(call=None)
66037              Return  a  dict  of all available VM sizes on the cloud provider
66038              with relevant data. This data is provided in three dicts.
66039
66040       salt.cloud.clouds.softlayer_hw.create(vm_)
66041              Create a single VM from a data dict
66042
66043       salt.cloud.clouds.softlayer_hw.destroy(name, call=None)
66044              Destroy a node.
66045
66046              CLI Example:
66047
66048                 salt-cloud --destroy mymachine
66049
66050       salt.cloud.clouds.softlayer_hw.get_configured_provider()
66051              Return the first configured instance.
66052
66053       salt.cloud.clouds.softlayer_hw.get_conn(service=u'SoftLayer_Hardware')
66054              Return a conn object for the passed VM data
66055
66056       salt.cloud.clouds.softlayer_hw.get_dependencies()
66057              Warn if dependencies aren't met.
66058
66059       salt.cloud.clouds.softlayer_hw.get_location(vm_=None)
66060
66061              Return the location to use, in this order:
66062
66063                     · CLI parameter
66064
66065                     · VM parameter
66066
66067                     · Cloud profile setting
66068
66069       salt.cloud.clouds.softlayer_hw.list_nodes(call=None)
66070              Return a list of the VMs that are on the provider
66071
66072       salt.cloud.clouds.softlayer_hw.list_nodes_full(mask=u'mask[id,    host‐
66073       name, primaryIpAddress, primaryBackendIpAddress, processorPhysicalCore‐
66074       Amount, memoryCount]', call=None)
66075              Return a list of the VMs that are on the provider
66076
66077       salt.cloud.clouds.softlayer_hw.list_nodes_select(call=None)
66078              Return a list of the VMs that are on the provider,  with  select
66079              fields
66080
66081       salt.cloud.clouds.softlayer_hw.list_vlans(call=None)
66082              List all VLANs associated with the account
66083
66084       salt.cloud.clouds.softlayer_hw.script(vm_)
66085              Return the script deployment object
66086
66087       salt.cloud.clouds.softlayer_hw.show_all_categories(call=None)
66088              Return a dict of all available categories on the cloud provider.
66089
66090              New in version 2016.3.0.
66091
66092
66093       salt.cloud.clouds.softlayer_hw.show_all_prices(call=None, kwargs=None)
66094              Return a dict of all prices on the cloud provider.
66095
66096       salt.cloud.clouds.softlayer_hw.show_instance(name, call=None)
66097              Show the details from SoftLayer concerning a guest
66098
66099       salt.cloud.clouds.softlayer_hw.show_pricing(kwargs=None, call=None)
66100              Show pricing for a particular profile. This is only an estimate,
66101              based on unofficial pricing sources.
66102
66103              CLI Examples:
66104
66105                 salt-cloud -f show_pricing my-softlayerhw-config profile=my-profile
66106
66107              If pricing sources have not been  cached,  they  will  be  down‐
66108              loaded.  Once  they  have  been cached, they will not be updated
66109              automatically. To manually update all prices, use the  following
66110              command:
66111
66112                 salt-cloud -f update_pricing <provider>
66113
66114              New in version 2015.8.0.
66115
66116
66117   salt.cloud.clouds.tencentcloud
66118   Tencent Cloud Cloud Module
66119       New in version 3000.
66120
66121
66122       The Tencent Cloud Cloud Module is used to control access to the Tencent
66123       Cloud instance.  https://intl.cloud.tencent.com/
66124
66125       To use this module, set up the cloud configuration at
66126              /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf:
66127
66128          my-tencentcloud-config:
66129            driver: tencentcloud
66130            # Tencent Cloud Secret Id
66131            id: AKIDA64pOio9BMemkApzevX0HS169S4b750A
66132            # Tencent Cloud Secret Key
66133            key: 8r2xmPn0C5FDvRAlmcJimiTZKVRsk260
66134            # Tencent Cloud Region
66135            location: ap-guangzhou
66136
66137       depends
66138              tencentcloud-sdk-python
66139
66140       salt.cloud.clouds.tencentcloud.avail_images(call=None)
66141              Return Tencent Cloud available image
66142
66143              CLI Example:
66144
66145                 salt-cloud --list-images my-tencentcloud-config
66146                 salt-cloud -f avail_images my-tencentcloud-config
66147
66148       salt.cloud.clouds.tencentcloud.avail_locations(call=None)
66149              Return Tencent Cloud available region
66150
66151              CLI Example:
66152
66153                 salt-cloud --list-locations my-tencentcloud-config
66154                 salt-cloud -f avail_locations my-tencentcloud-config
66155
66156       salt.cloud.clouds.tencentcloud.avail_sizes(call=None)
66157              Return Tencent Cloud available instance type
66158
66159              CLI Example:
66160
66161                 salt-cloud --list-sizes my-tencentcloud-config
66162                 salt-cloud -f avail_sizes my-tencentcloud-config
66163
66164       salt.cloud.clouds.tencentcloud.create(vm_)
66165              Create a single Tencent Cloud instance from a data dict.
66166
66167              Tencent Cloud profiles require  a  provider,  availability_zone,
66168              image  and  size.  Set up profile at /etc/salt/cloud.profiles or
66169              /etc/salt/cloud.profiles.d/*.conf:
66170
66171                 tencentcloud-guangzhou-s1sm1:
66172                     provider: my-tencentcloud-config
66173                     availability_zone: ap-guangzhou-3
66174                     image: img-31tjrtph
66175                     size: S1.SMALL1
66176                     allocate_public_ip: True
66177                     internet_max_bandwidth_out: 1
66178                     password: '153e41ec96140152'
66179                     securitygroups:
66180                         - sg-5e90804b
66181
66182              CLI Examples:
66183
66184                 salt-cloud -p tencentcloud-guangzhou-s1 myinstance
66185
66186       salt.cloud.clouds.tencentcloud.destroy(name, call=None)
66187              Destroy a Tencent Cloud instance
66188
66189              CLI Example:
66190
66191                 salt-cloud -a destroy myinstance
66192                 salt-cloud -d myinstance
66193
66194       salt.cloud.clouds.tencentcloud.get_configured_provider()
66195              Return the first configured instance.
66196
66197       salt.cloud.clouds.tencentcloud.get_dependencies()
66198              Warn if dependencies aren't met.
66199
66200       salt.cloud.clouds.tencentcloud.get_provider_client(name=None)
66201              Return a new provider client
66202
66203       salt.cloud.clouds.tencentcloud.list_availability_zones(call=None)
66204              Return all Tencent Cloud availability zones in current region
66205
66206              CLI Example:
66207
66208                 salt-cloud -f list_availability_zones my-tencentcloud-config
66209
66210       salt.cloud.clouds.tencentcloud.list_custom_images(call=None)
66211              Return all Tencent Cloud images in current region
66212
66213              CLI Example:
66214
66215                 salt-cloud -f list_custom_images my-tencentcloud-config
66216
66217       salt.cloud.clouds.tencentcloud.list_nodes(call=None)
66218              Return a list of instances that are on the provider
66219
66220              CLI Examples:
66221
66222                 salt-cloud -Q
66223
66224       salt.cloud.clouds.tencentcloud.list_nodes_full(call=None)
66225              Return a list of instances that are on the provider,  with  full
66226              details
66227
66228              CLI Examples:
66229
66230                 salt-cloud -F
66231
66232       salt.cloud.clouds.tencentcloud.list_nodes_min(call=None)
66233              Return a list of instances that are on the provider, Only names,
66234              and their state, is returned.
66235
66236              CLI Examples:
66237
66238                 salt-cloud -f list_nodes_min my-tencentcloud-config
66239
66240       salt.cloud.clouds.tencentcloud.list_nodes_select(call=None)
66241              Return a list of instances that are on the provider, with select
66242              fields
66243
66244              CLI Examples:
66245
66246                 salt-cloud -S
66247
66248       salt.cloud.clouds.tencentcloud.list_securitygroups(call=None)
66249              Return all Tencent Cloud security groups in current region
66250
66251              CLI Example:
66252
66253                 salt-cloud -f list_securitygroups my-tencentcloud-config
66254
66255       salt.cloud.clouds.tencentcloud.reboot(name, call=None)
66256              Reboot a Tencent Cloud instance
66257
66258              CLI Examples:
66259
66260                 salt-cloud -a reboot myinstance
66261
66262       salt.cloud.clouds.tencentcloud.script(vm_)
66263              Return the script deployment object
66264
66265       salt.cloud.clouds.tencentcloud.show_disk(name, call=None)
66266              Show the disk details of Tencent Cloud instance
66267
66268              CLI Examples:
66269
66270                 salt-cloud -a show_disk myinstance
66271
66272       salt.cloud.clouds.tencentcloud.show_image(kwargs, call=None)
66273              Show the details of Tencent Cloud image
66274
66275              CLI Examples:
66276
66277                 salt-cloud -f show_image tencentcloud image=img-31tjrtph
66278
66279       salt.cloud.clouds.tencentcloud.show_instance(name, call=None)
66280              Show the details of Tencent Cloud instance
66281
66282              CLI Examples:
66283
66284                 salt-cloud -a show_instance myinstance
66285
66286       salt.cloud.clouds.tencentcloud.start(name, call=None)
66287              Start  a  Tencent Cloud instance Notice: the instance state must
66288              be stopped
66289
66290              CLI Examples:
66291
66292                 salt-cloud -a start myinstance
66293
66294       salt.cloud.clouds.tencentcloud.stop(name, force=False, call=None)
66295              Stop a Tencent Cloud running instance Note:  use  force=True  to
66296              make force stop
66297
66298              CLI Examples:
66299
66300                 salt-cloud -a stop myinstance
66301                 salt-cloud -a stop myinstance force=True
66302
66303   salt.cloud.clouds.vagrant
66304   Vagrant Cloud Driver
66305       The  Vagrant  cloud  is designed to "vagrant up" a virtual machine as a
66306       Salt minion.
66307
66308       Use of this module requires some configuration  in  cloud  profile  and
66309       provider  files  as described in the Getting Started with Vagrant docu‐
66310       mentation.
66311
66312       New in version 2018.3.0.
66313
66314
66315       salt.cloud.clouds.vagrant.avail_images(call=None)
66316              This function returns a list of images available for this  cloud
66317              provider.   vagrant  will return a list of profiles.  salt-cloud
66318              --list-images my-cloud-provider
66319
66320       salt.cloud.clouds.vagrant.avail_locations(call=None)
66321              This function returns a list of locations available.
66322
66323              CLI Example:
66324
66325                 salt-cloud --list-locations my-cloud-provider
66326
66327                 # \[ vagrant will always returns an empty dictionary \]
66328
66329       salt.cloud.clouds.vagrant.avail_sizes(call=None)
66330              This function returns a list of sizes available for  this  cloud
66331              provider.
66332
66333              CLI Example:
66334
66335                 salt-cloud --list-sizes my-cloud-provider
66336
66337                 # \[ vagrant always returns an empty dictionary \]
66338
66339       salt.cloud.clouds.vagrant.create(vm_)
66340              Provision a single machine
66341
66342              CLI Example:
66343
66344                 salt-cloud -p my_profile new_node_1
66345
66346       salt.cloud.clouds.vagrant.destroy(name, call=None)
66347              Destroy a node.
66348
66349              CLI Example:
66350
66351                 salt-cloud --destroy mymachine
66352
66353       salt.cloud.clouds.vagrant.get_configured_provider()
66354              Return the first configured instance.
66355
66356       salt.cloud.clouds.vagrant.list_nodes(call=None)
66357              List the nodes which have salt-cloud:driver:vagrant grains.
66358
66359              CLI Example:
66360
66361                 salt-cloud -Q
66362
66363       salt.cloud.clouds.vagrant.list_nodes_full(call=None)
66364              List the nodes, ask all 'vagrant' minions, return dict of grains
66365              (enhanced).
66366
66367              CLI Example:
66368
66369                 salt-call -F
66370
66371       salt.cloud.clouds.vagrant.list_nodes_select(call=None)
66372              Return a list of the minions that have salt-cloud  grains,  with
66373              select fields.
66374
66375       salt.cloud.clouds.vagrant.reboot(name, call=None)
66376              Reboot a vagrant minion.
66377
66378              name   The name of the VM to reboot.
66379
66380              CLI Example:
66381
66382                 salt-cloud -a reboot vm_name
66383
66384       salt.cloud.clouds.vagrant.show_instance(name, call=None)
66385              List the a single node, return dict of grains.
66386
66387   salt.cloud.clouds.virtualbox
66388       A  salt cloud provider that lets you use virtualbox on your machine and
66389       act as a cloud.
66390
66391       depends
66392              vboxapi
66393
66394       For now this will only clone existing VMs. It's best to create  a  tem‐
66395       plate from which we will clone.
66396
66397       Followed
66398       https://docs.saltstack.com/en/latest/topics/cloud/cloud.html#non-libcloud-based-modules
66399       to create this.
66400
66401       Dicts provided by salt:
66402
66403              __opts__
66404                     contains the options used to run Salt Cloud, as well as a
66405                     set of configuration and environment variables
66406
66407       salt.cloud.clouds.virtualbox.create(vm_info)
66408              Creates a virtual machine from the given VM information
66409
66410              This is what is used to request a virtual machine to be  created
66411              by the cloud provider, wait for it to become available, and then
66412              (optionally) log in and install Salt on it.
66413
66414              Events fired:
66415
66416              This function fires the event salt/cloud/vm_name/creating,  with
66417              the  payload  containing  the  names  of  the  VM,  profile, and
66418              provider.
66419
66420              @param vm_info
66421
66422                 {
66423                     name: <str>
66424                     profile: <dict>
66425                     driver: <provider>:<profile>
66426                     clonefrom: <vm_name>
66427                     clonemode: <mode> (default: state, choices: state, child, all)
66428                 }
66429
66430              @type vm_info dict @return dict of  resulting  vm.  !!!Passwords
66431              can and should be included!!!
66432
66433       salt.cloud.clouds.virtualbox.destroy(name, call=None)
66434              This  function  irreversibly  destroys  a virtual machine on the
66435              cloud provider.  Before doing so, it should fire an event on the
66436              Salt event bus.
66437
66438              The tag for this event is salt/cloud/<vm name>/destroying.  Once
66439              the virtual machine has been destroyed, another event is  fired.
66440              The tag for that event is salt/cloud/<vm name>/destroyed.
66441
66442              Dependencies:
66443                     list_nodes
66444
66445              @param  name:  @type name: str @param call: @type call: @return:
66446              True if all  went  well,  otherwise  an  error  message  @rtype:
66447              bool|str
66448
66449       salt.cloud.clouds.virtualbox.list_nodes(kwargs=None, call=None)
66450              This  function  returns  a list of nodes available on this cloud
66451              provider, using the following fields:
66452
66453              id (str) image (str) size (str) state (str)  private_ips  (list)
66454              public_ips (list)
66455
66456              No  other fields should be returned in this function, and all of
66457              these fields should be returned, even if empty.  The private_ips
66458              and  public_ips  fields should always be of a list type, even if
66459              empty, and the other fields should always  be  of  a  str  type.
66460              This function is normally called with the -Q option:
66461
66462                 salt-cloud -Q
66463
66464              @param  kwargs:  @type kwargs: @param call: @type call: @return:
66465              @rtype:
66466
66467       salt.cloud.clouds.virtualbox.list_nodes_full(kwargs=None, call=None)
66468              All information available about all nodes should be returned  in
66469              this  function.   The fields in the list_nodes() function should
66470              also be returned, even if they would not normally be provided by
66471              the cloud provider.
66472
66473              This  is  because  some functions both within Salt and 3rd party
66474              will break if an expected field is not present.   This  function
66475              is normally called with the -F option:
66476
66477                 salt-cloud -F
66478
66479              @param  kwargs:  @type kwargs: @param call: @type call: @return:
66480              @rtype:
66481
66482       salt.cloud.clouds.virtualbox.list_nodes_select(call=None)
66483              Return a list of the VMs that are on the provider,  with  select
66484              fields
66485
66486       salt.cloud.clouds.virtualbox.map_clonemode(vm_info)
66487              Convert  the  virtualbox  config file values for clone_mode into
66488              the integers the API requires
66489
66490       salt.cloud.clouds.virtualbox.show_image(kwargs, call=None)
66491              Show the details of an image
66492
66493       salt.cloud.clouds.virtualbox.start(name, call=None)
66494              Start a machine.  @param name: Machine to start @type name:  str
66495              @param call: Must be "action" @type call: str
66496
66497       salt.cloud.clouds.virtualbox.stop(name, call=None)
66498              Stop  a  running  machine.   @param  name: Machine to stop @type
66499              name: str @param call: Must be "action" @type call: str
66500
66501   salt.cloud.clouds.vmware
66502   VMware Cloud Module
66503       New in version 2015.5.4.
66504
66505
66506       The VMware cloud module allows you to  manage  VMware  ESX,  ESXi,  and
66507       vCenter.
66508
66509       See Getting started with VMware to get started.
66510
66511       codeauthor
66512              Nitin Madhok <nmadhok@clemson.edu>
66513
66514   Dependencies
66515       · pyVmomi Python Module
66516
66517   pyVmomi
66518       PyVmomi can be installed via pip:
66519
66520          pip install pyVmomi
66521
66522       NOTE:
66523          Version  6.0 of pyVmomi has some problems with SSL error handling on
66524          certain versions of Python. If using version 6.0 of pyVmomi,  Python
66525          2.6,  Python  2.7.9,  or  newer  must  be present. This is due to an
66526          upstream dependency in pyVmomi 6.0 that is not supported  in  Python
66527          versions  2.7  to 2.7.8. If the version of Python is not in the sup‐
66528          ported range, you will need to install an earlier  version  of  pyV‐
66529          momi. See Issue #29537 for more information.
66530
66531       Based  on the note above, to install an earlier version of pyVmomi than
66532       the version currently listed in PyPi, run the following:
66533
66534          pip install pyVmomi==5.5.0.2014.1.1
66535
66536       The 5.5.0.2014.1.1 is a known stable version that this original  VMware
66537       cloud driver was developed against.
66538
66539       NOTE:
66540          Ensure  python  pyVmomi  module  is  installed  by running following
66541          one-liner check. The output should be 0.
66542
66543              python -c "import pyVmomi" ; echo $?
66544
66545   Configuration
66546       To use this module, set up the vCenter or ESX/ESXi  URL,  username  and
66547       password  in  the  cloud  configuration at /etc/salt/cloud.providers or
66548       /etc/salt/cloud.providers.d/vmware.conf:
66549
66550          my-vmware-config:
66551            driver: vmware
66552            user: 'DOMAIN\user'
66553            password: 'verybadpass'
66554            url: '10.20.30.40'
66555
66556          vcenter01:
66557            driver: vmware
66558            user: 'DOMAIN\user'
66559            password: 'verybadpass'
66560            url: 'vcenter01.domain.com'
66561            protocol: 'https'
66562            port: 443
66563
66564          vcenter02:
66565            driver: vmware
66566            user: 'DOMAIN\user'
66567            password: 'verybadpass'
66568            url: 'vcenter02.domain.com'
66569            protocol: 'http'
66570            port: 80
66571
66572          esx01:
66573            driver: vmware
66574            user: 'admin'
66575            password: 'verybadpass'
66576            url: 'esx01.domain.com'
66577
66578       NOTE:
66579          Optionally, protocol and port can be specified if the vCenter server
66580          is not using the defaults. Default is protocol: https and port: 443.
66581
66582       NOTE:
66583          Changed in version 2015.8.0.
66584
66585
66586          The  provider  parameter in cloud provider configuration was renamed
66587          to driver.  This  change  was  made  to  avoid  confusion  with  the
66588          provider  parameter  that  is  used  in cloud profile configuration.
66589          Cloud provider  configuration  now  uses  driver  to  refer  to  the
66590          salt-cloud driver that provides the underlying functionality to con‐
66591          nect to a cloud provider, while cloud profile configuration  contin‐
66592          ues  to  use  provider  to refer to the cloud provider configuration
66593          that you define.
66594
66595       To test the connection for my-vmware-config specified in the cloud con‐
66596       figuration, run test_vcenter_connection()
66597
66598       salt.cloud.clouds.vmware.add_host(kwargs=None, call=None)
66599              Add a host system to the specified cluster or datacenter in this
66600              VMware environment
66601
66602              NOTE:
66603                 To use this function, you need to specify esxi_host_user  and
66604                 esxi_host_password  under  your provider configuration set up
66605                 at                /etc/salt/cloud.providers                or
66606                 /etc/salt/cloud.providers.d/vmware.conf:
66607
66608                     vcenter01:
66609                       driver: vmware
66610                       user: 'DOMAIN\user'
66611                       password: 'verybadpass'
66612                       url: 'vcenter01.domain.com'
66613
66614                       # Required when adding a host system
66615                       esxi_host_user: 'root'
66616                       esxi_host_password: 'myhostpassword'
66617                       # Optional fields that can be specified when adding a host system
66618                       esxi_host_ssl_thumbprint: '12:A3:45:B6:CD:7E:F8:90:A1:BC:23:45:D6:78:9E:FA:01:2B:34:CD'
66619
66620                 The SSL thumbprint of the host system can be optionally spec‐
66621                 ified by setting esxi_host_ssl_thumbprint under your provider
66622                 configuration.  To get the SSL thumbprint of the host system,
66623                 execute the following command from a remote server:
66624
66625                     echo -n | openssl s_client -connect <YOUR-HOSTSYSTEM-DNS/IP>:443 2>/dev/null | openssl x509 -noout -fingerprint -sha1
66626
66627              CLI Example:
66628
66629                 salt-cloud -f add_host my-vmware-config host="myHostSystemName" cluster="myClusterName"
66630                 salt-cloud -f add_host my-vmware-config host="myHostSystemName" datacenter="myDatacenterName"
66631
66632       salt.cloud.clouds.vmware.avail_images(call=None)
66633              Return a list of all the templates present in this VMware  envi‐
66634              ronment with basic details
66635
66636              CLI Example:
66637
66638                 salt-cloud --list-images my-vmware-config
66639
66640       salt.cloud.clouds.vmware.avail_locations(call=None)
66641              Return a list of all the available locations/datacenters in this
66642              VMware environment
66643
66644              CLI Example:
66645
66646                 salt-cloud --list-locations my-vmware-config
66647
66648       salt.cloud.clouds.vmware.avail_sizes(call=None)
66649              Return a list of all the available sizes in this VMware environ‐
66650              ment.
66651
66652              CLI Example:
66653
66654                 salt-cloud --list-sizes my-vmware-config
66655
66656              NOTE:
66657                 Since  sizes  are  built  into  templates, this function will
66658                 return an empty dictionary.
66659
66660       salt.cloud.clouds.vmware.build_clonespec(config_spec,       object_ref,
66661       reloc_spec, template)
66662              Returns the clone spec
66663
66664       salt.cloud.clouds.vmware.connect_host(kwargs=None, call=None)
66665              Connect the specified host system in this VMware environment
66666
66667              CLI Example:
66668
66669                 salt-cloud -f connect_host my-vmware-config host="myHostSystemName"
66670
66671       salt.cloud.clouds.vmware.convert_to_template(name,         kwargs=None,
66672       call=None)
66673              Convert the specified virtual machine to template.
66674
66675              CLI Example:
66676
66677                 salt-cloud -a convert_to_template vmname
66678
66679       salt.cloud.clouds.vmware.create(vm_)
66680              To create a single VM in the VMware environment.
66681
66682              Sample profile and arguments that can be specified in it can  be
66683              found here.
66684
66685              CLI Example:
66686
66687                 salt-cloud -p vmware-centos6.5 vmname
66688
66689       salt.cloud.clouds.vmware.create_cluster(kwargs=None, call=None)
66690              Create  a  new  cluster  under  the specified datacenter in this
66691              VMware environment
66692
66693              CLI Example:
66694
66695                 salt-cloud -f create_cluster my-vmware-config name="myNewCluster" datacenter="datacenterName"
66696
66697       salt.cloud.clouds.vmware.create_datacenter(kwargs=None, call=None)
66698              Create a new data center in this VMware environment
66699
66700              CLI Example:
66701
66702                 salt-cloud -f create_datacenter my-vmware-config name="MyNewDatacenter"
66703
66704       salt.cloud.clouds.vmware.create_datastore_cluster(kwargs=None,
66705       call=None)
66706              Create  a  new datastore cluster for the specified datacenter in
66707              this VMware environment
66708
66709              CLI Example:
66710
66711                 salt-cloud -f create_datastore_cluster my-vmware-config name="datastoreClusterName" datacenter="datacenterName"
66712
66713       salt.cloud.clouds.vmware.create_folder(kwargs=None, call=None)
66714              Create the specified folder path in this VMware environment
66715
66716              NOTE:
66717                 To create a Host and Cluster Folder under a Datacenter, spec‐
66718                 ify path="/yourDatacenterName/host/yourFolderName"
66719
66720                 To  create  a  Network  Folder  under  a  Datacenter, specify
66721                 path="/yourDatacenterName/network/yourFolderName"
66722
66723                 To create  a  Storage  Folder  under  a  Datacenter,  specify
66724                 path="/yourDatacenterName/datastore/yourFolderName"
66725
66726                 To  create a VM and Template Folder under a Datacenter, spec‐
66727                 ify path="/yourDatacenterName/vm/yourFolderName"
66728
66729              CLI Example:
66730
66731                 salt-cloud -f create_folder my-vmware-config path="/Local/a/b/c"
66732                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/vm/MyVMFolder"
66733                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/host/MyHostFolder"
66734                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/network/MyNetworkFolder"
66735                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/storage/MyStorageFolder"
66736
66737       salt.cloud.clouds.vmware.create_snapshot(name, kwargs=None, call=None)
66738              Create a snapshot of  the  specified  virtual  machine  in  this
66739              VMware environment
66740
66741              NOTE:
66742                 If the VM is powered on, the internal state of the VM (memory
66743                 dump) is included in the snapshot by default which will  also
66744                 set  the power state of the snapshot to "powered on". You can
66745                 set memdump=False to override this. This field is ignored  if
66746                 the virtual machine is powered off or if the VM does not sup‐
66747                 port snapshots with memory dumps. Default is memdump=True
66748
66749              NOTE:
66750                 If the VM is powered on when the snapshot  is  taken,  VMware
66751                 Tools  can  be used to quiesce the file system in the virtual
66752                 machine by setting quiesce=True. This field is ignored if the
66753                 virtual  machine  is  powered  off;  if  VMware Tools are not
66754                 available or if memdump=True. Default is quiesce=False
66755
66756              CLI Example:
66757
66758                 salt-cloud -a create_snapshot vmname snapshot_name="mySnapshot"
66759                 salt-cloud -a create_snapshot vmname snapshot_name="mySnapshot" [description="My snapshot"] [memdump=False] [quiesce=True]
66760
66761       salt.cloud.clouds.vmware.destroy(name, call=None)
66762              To destroy a VM from the VMware environment
66763
66764              CLI Example:
66765
66766                 salt-cloud -d vmname
66767                 salt-cloud --destroy vmname
66768                 salt-cloud -a destroy vmname
66769
66770       salt.cloud.clouds.vmware.disconnect_host(kwargs=None, call=None)
66771              Disconnect the specified host system in this VMware environment
66772
66773              CLI Example:
66774
66775                 salt-cloud -f disconnect_host my-vmware-config host="myHostSystemName"
66776
66777       salt.cloud.clouds.vmware.enter_maintenance_mode(kwargs=None, call=None)
66778              To put the specified host system in  maintenance  mode  in  this
66779              VMware environment
66780
66781              CLI Example:
66782
66783                 salt-cloud -f enter_maintenance_mode my-vmware-config host="myHostSystemName"
66784
66785       salt.cloud.clouds.vmware.exit_maintenance_mode(kwargs=None, call=None)
66786              To  take  the  specified  host system out of maintenance mode in
66787              this VMware environment
66788
66789              CLI Example:
66790
66791                 salt-cloud -f exit_maintenance_mode my-vmware-config host="myHostSystemName"
66792
66793       salt.cloud.clouds.vmware.get_clonespec_for_valid_snapshot(config_spec,
66794       object_ref, reloc_spec, template, vm_)
66795              return clonespec only if values are valid
66796
66797       salt.cloud.clouds.vmware.get_vcenter_version(kwargs=None, call=None)
66798              Show the vCenter Server version with build number.
66799
66800              CLI Example:
66801
66802                 salt-cloud -f get_vcenter_version my-vmware-config
66803
66804       salt.cloud.clouds.vmware.handle_snapshot(config_spec,       object_ref,
66805       reloc_spec, template, vm_)
66806              Returns  a  clone  spec  for  cloning  from   shapshots   :rtype
66807              vim.vm.CloneSpec
66808
66809       salt.cloud.clouds.vmware.list_clusters(kwargs=None, call=None)
66810              List all the clusters for this VMware environment
66811
66812              CLI Example:
66813
66814                 salt-cloud -f list_clusters my-vmware-config
66815
66816       salt.cloud.clouds.vmware.list_clusters_by_datacenter(kwargs=None,
66817       call=None)
66818              List clusters for each datacenter; or clusters for  a  specified
66819              datacenter in this VMware environment
66820
66821              To list clusters for each datacenter:
66822
66823              CLI Example:
66824
66825                 salt-cloud -f list_clusters_by_datacenter my-vmware-config
66826
66827              To list clusters for a specified datacenter:
66828
66829              CLI Example:
66830
66831                 salt-cloud -f list_clusters_by_datacenter my-vmware-config datacenter="datacenterName"
66832
66833       salt.cloud.clouds.vmware.list_datacenters(kwargs=None, call=None)
66834              List all the data centers for this VMware environment
66835
66836              CLI Example:
66837
66838                 salt-cloud -f list_datacenters my-vmware-config
66839
66840       salt.cloud.clouds.vmware.list_datastore_clusters(kwargs=None,
66841       call=None)
66842              List all the datastore clusters for this VMware environment
66843
66844              CLI Example:
66845
66846                 salt-cloud -f list_datastore_clusters my-vmware-config
66847
66848       salt.cloud.clouds.vmware.list_datastores(kwargs=None, call=None)
66849              List all the datastores for this VMware environment
66850
66851              CLI Example:
66852
66853                 salt-cloud -f list_datastores my-vmware-config
66854
66855       salt.cloud.clouds.vmware.list_dvs(kwargs=None, call=None)
66856              List all the distributed virtual switches for this VMware  envi‐
66857              ronment
66858
66859              CLI Example:
66860
66861                 salt-cloud -f list_dvs my-vmware-config
66862
66863       salt.cloud.clouds.vmware.list_folders(kwargs=None, call=None)
66864              List all the folders for this VMware environment
66865
66866              CLI Example:
66867
66868                 salt-cloud -f list_folders my-vmware-config
66869
66870       salt.cloud.clouds.vmware.list_hbas(kwargs=None, call=None)
66871              List  all HBAs for each host system; or all HBAs for a specified
66872              host system; or HBAs of specified type for each host system;  or
66873              HBAs  of  specified  type  for  a  specified host system in this
66874              VMware environment
66875
66876              NOTE:
66877                 You can specify type as  either  parallel,  iscsi,  block  or
66878                 fibre.
66879
66880              To list all HBAs for each host system:
66881
66882              CLI Example:
66883
66884                 salt-cloud -f list_hbas my-vmware-config
66885
66886              To list all HBAs for a specified host system:
66887
66888              CLI Example:
66889
66890                 salt-cloud -f list_hbas my-vmware-config host="hostSystemName"
66891
66892              To list HBAs of specified type for each host system:
66893
66894              CLI Example:
66895
66896                 salt-cloud -f list_hbas my-vmware-config type="HBAType"
66897
66898              To list HBAs of specified type for a specified host system:
66899
66900              CLI Example:
66901
66902                 salt-cloud -f list_hbas my-vmware-config host="hostSystemName" type="HBAtype"
66903
66904       salt.cloud.clouds.vmware.list_hosts(kwargs=None, call=None)
66905              List all the hosts for this VMware environment
66906
66907              CLI Example:
66908
66909                 salt-cloud -f list_hosts my-vmware-config
66910
66911       salt.cloud.clouds.vmware.list_hosts_by_cluster(kwargs=None, call=None)
66912              List hosts for each cluster; or hosts for a specified cluster in
66913              this VMware environment
66914
66915              To list hosts for each cluster:
66916
66917              CLI Example:
66918
66919                 salt-cloud -f list_hosts_by_cluster my-vmware-config
66920
66921              To list hosts for a specified cluster:
66922
66923              CLI Example:
66924
66925                 salt-cloud -f list_hosts_by_cluster my-vmware-config cluster="clusterName"
66926
66927       salt.cloud.clouds.vmware.list_hosts_by_datacenter(kwargs=None,
66928       call=None)
66929              List  hosts  for each datacenter; or hosts for a specified data‐
66930              center in this VMware environment
66931
66932              To list hosts for each datacenter:
66933
66934              CLI Example:
66935
66936                 salt-cloud -f list_hosts_by_datacenter my-vmware-config
66937
66938              To list hosts for a specified datacenter:
66939
66940              CLI Example:
66941
66942                 salt-cloud -f list_hosts_by_datacenter my-vmware-config datacenter="datacenterName"
66943
66944       salt.cloud.clouds.vmware.list_networks(kwargs=None, call=None)
66945              List all the standard networks for this VMware environment
66946
66947              CLI Example:
66948
66949                 salt-cloud -f list_networks my-vmware-config
66950
66951       salt.cloud.clouds.vmware.list_nodes(kwargs=None, call=None)
66952              Return a list of all VMs and templates that are on the specified
66953              provider, with basic fields
66954
66955              CLI Example:
66956
66957                 salt-cloud -f list_nodes my-vmware-config
66958
66959              To return a list of all VMs and templates present on ALL config‐
66960              ured providers, with basic fields:
66961
66962              CLI Example:
66963
66964                 salt-cloud -Q
66965
66966       salt.cloud.clouds.vmware.list_nodes_full(kwargs=None, call=None)
66967              Return a list of all VMs and templates that are on the specified
66968              provider, with full details
66969
66970              CLI Example:
66971
66972                 salt-cloud -f list_nodes_full my-vmware-config
66973
66974              To return a list of all VMs and templates present on ALL config‐
66975              ured providers, with full details:
66976
66977              CLI Example:
66978
66979                 salt-cloud -F
66980
66981       salt.cloud.clouds.vmware.list_nodes_min(kwargs=None, call=None)
66982              Return a list of all VMs and templates that are on the specified
66983              provider, with no details
66984
66985              CLI Example:
66986
66987                 salt-cloud -f list_nodes_min my-vmware-config
66988
66989       salt.cloud.clouds.vmware.list_nodes_select(call=None)
66990              Return a list of all VMs and templates that are on the specified
66991              provider,  with  fields  specified  under   query.selection   in
66992              /etc/salt/cloud
66993
66994              CLI Example:
66995
66996                 salt-cloud -f list_nodes_select my-vmware-config
66997
66998              To return a list of all VMs and templates present on ALL config‐
66999              ured providers, with fields specified under  query.selection  in
67000              /etc/salt/cloud:
67001
67002              CLI Example:
67003
67004                 salt-cloud -S
67005
67006       salt.cloud.clouds.vmware.list_portgroups(kwargs=None, call=None)
67007              List  all  the  distributed  virtual  portgroups for this VMware
67008              environment
67009
67010              CLI Example:
67011
67012                 salt-cloud -f list_portgroups my-vmware-config
67013
67014       salt.cloud.clouds.vmware.list_resourcepools(kwargs=None, call=None)
67015              List all the resource pools for this VMware environment
67016
67017              CLI Example:
67018
67019                 salt-cloud -f list_resourcepools my-vmware-config
67020
67021       salt.cloud.clouds.vmware.list_snapshots(kwargs=None, call=None)
67022              List snapshots either for all VMs and templates or  for  a  spe‐
67023              cific VM/template in this VMware environment
67024
67025              To list snapshots for all VMs and templates:
67026
67027              CLI Example:
67028
67029                 salt-cloud -f list_snapshots my-vmware-config
67030
67031              To list snapshots for a specific VM/template:
67032
67033              CLI Example:
67034
67035                 salt-cloud -f list_snapshots my-vmware-config name="vmname"
67036
67037       salt.cloud.clouds.vmware.list_templates(kwargs=None, call=None)
67038              List all the templates present in this VMware environment
67039
67040              CLI Example:
67041
67042                 salt-cloud -f list_templates my-vmware-config
67043
67044       salt.cloud.clouds.vmware.list_vapps(kwargs=None, call=None)
67045              List all the vApps for this VMware environment
67046
67047              CLI Example:
67048
67049                 salt-cloud -f list_vapps my-vmware-config
67050
67051       salt.cloud.clouds.vmware.reboot_host(kwargs=None, call=None)
67052              Reboot the specified host system in this VMware environment
67053
67054              NOTE:
67055                 If the host system is not in maintenance mode, it will not be
67056                 rebooted. If you want to reboot the host system regardless of
67057                 whether it is in maintenance mode, set force=True. Default is
67058                 force=False.
67059
67060              CLI Example:
67061
67062                 salt-cloud -f reboot_host my-vmware-config host="myHostSystemName" [force=True]
67063
67064       salt.cloud.clouds.vmware.remove_all_snapshots(name,        kwargs=None,
67065       call=None)
67066              Remove  all  the  snapshots  present  for  the specified virtual
67067              machine.
67068
67069              NOTE:
67070                 All the snapshots higher up in the hierarchy of  the  current
67071                 snapshot  tree  are  consolidated and their virtual disks are
67072                 merged. To override this behavior and only remove  all  snap‐
67073                 shots,  set  merge_snapshots=False.   Default  is merge_snap‐
67074                 shots=True
67075
67076              CLI Example:
67077
67078                 salt-cloud -a remove_all_snapshots vmname [merge_snapshots=False]
67079
67080       salt.cloud.clouds.vmware.remove_host(kwargs=None, call=None)
67081              Remove the specified host system from this VMware environment
67082
67083              CLI Example:
67084
67085                 salt-cloud -f remove_host my-vmware-config host="myHostSystemName"
67086
67087       salt.cloud.clouds.vmware.remove_snapshot(name, kwargs=None, call=None)
67088              Remove a snapshot of  the  specified  virtual  machine  in  this
67089              VMware environment
67090
67091              CLI Example:
67092
67093                 salt-cloud -a remove_snapshot vmname snapshot_name="mySnapshot"
67094                 salt-cloud -a remove_snapshot vmname snapshot_name="mySnapshot" [remove_children="True"]
67095
67096       salt.cloud.clouds.vmware.rescan_hba(kwargs=None, call=None)
67097              To rescan a specified HBA or all the HBAs on the Host System
67098
67099              CLI Example:
67100
67101                 salt-cloud -f rescan_hba my-vmware-config host="hostSystemName"
67102                 salt-cloud -f rescan_hba my-vmware-config hba="hbaDeviceName" host="hostSystemName"
67103
67104       salt.cloud.clouds.vmware.reset(name, soft=False, call=None)
67105              To reset a VM using its name
67106
67107              NOTE:
67108                 If  soft=True  then  issues  a command to the guest operating
67109                 system asking it to perform a  reboot.  Otherwise  hypervisor
67110                 will terminate VM and start it again.  Default is soft=False
67111
67112                 For soft=True vmtools should be installed on guest system.
67113
67114              CLI Example:
67115
67116                 salt-cloud -a reset vmname
67117                 salt-cloud -a reset vmname soft=True
67118
67119       salt.cloud.clouds.vmware.revert_to_snapshot(name,          kwargs=None,
67120       call=None)
67121              Revert virtual machine to it's current snapshot. If no  snapshot
67122              exists, the state of the virtual machine remains unchanged
67123
67124              NOTE:
67125                 The  virtual machine will be powered on if the power state of
67126                 the snapshot when it was created was set to "Powered On". Set
67127                 power_off=True  so that the virtual machine stays powered off
67128                 regardless of the power state of the  snapshot  when  it  was
67129                 created. Default is power_off=False.
67130
67131                 If  the  power  state of the snapshot when it was created was
67132                 "Powered On" and if power_off=True, the VM  will  be  put  in
67133                 suspended state after it has been reverted to the snapshot.
67134
67135              CLI Example:
67136
67137                 salt-cloud -a revert_to_snapshot vmame [power_off=True]
67138                 salt-cloud -a revert_to_snapshot vmame snapshot_name="selectedSnapshot" [power_off=True]
67139
67140       salt.cloud.clouds.vmware.show_instance(name, call=None)
67141              List all available details of the specified VM
67142
67143              CLI Example:
67144
67145                 salt-cloud -a show_instance vmname
67146
67147       salt.cloud.clouds.vmware.start(name, call=None)
67148              To start/power on a VM using its name
67149
67150              CLI Example:
67151
67152                 salt-cloud -a start vmname
67153
67154       salt.cloud.clouds.vmware.stop(name, soft=False, call=None)
67155              To stop/power off a VM using its name
67156
67157              NOTE:
67158                 If  soft=True  then  issues  a command to the guest operating
67159                 system asking it to perform a clean shutdown of all services.
67160                 Default is soft=False
67161
67162                 For soft=True vmtools should be installed on guest system.
67163
67164              CLI Example:
67165
67166                 salt-cloud -a stop vmname
67167                 salt-cloud -a stop vmname soft=True
67168
67169       salt.cloud.clouds.vmware.suspend(name, call=None)
67170              To suspend a VM using its name
67171
67172              CLI Example:
67173
67174                 salt-cloud -a suspend vmname
67175
67176       salt.cloud.clouds.vmware.terminate(name, call=None)
67177              To  do  an immediate power off of a VM using its name. A SIGKILL
67178              is issued to the vmx process of the VM
67179
67180              CLI Example:
67181
67182                 salt-cloud -a terminate vmname
67183
67184       salt.cloud.clouds.vmware.test_vcenter_connection(kwargs=None,
67185       call=None)
67186              Test  if  the connection can be made to the vCenter server using
67187              the specified credentials  inside  /etc/salt/cloud.providers  or
67188              /etc/salt/cloud.providers.d/vmware.conf
67189
67190              CLI Example:
67191
67192                 salt-cloud -f test_vcenter_connection my-vmware-config
67193
67194       salt.cloud.clouds.vmware.upgrade_tools(name, reboot=False, call=None)
67195              To upgrade VMware Tools on a specified virtual machine.
67196
67197              NOTE:
67198                 If the virtual machine is running Windows OS, use reboot=True
67199                 to reboot the virtual machine  after  VMware  tools  upgrade.
67200                 Default is reboot=False
67201
67202              CLI Example:
67203
67204                 salt-cloud -a upgrade_tools vmname
67205                 salt-cloud -a upgrade_tools vmname reboot=True
67206
67207       salt.cloud.clouds.vmware.upgrade_tools_all(call=None)
67208              To  upgrade  VMware Tools on all virtual machines present in the
67209              specified provider
67210
67211              NOTE:
67212                 If the virtual machine is running Windows OS,  this  function
67213                 will  attempt  to  suppress  the automatic reboot caused by a
67214                 VMware Tools upgrade.
67215
67216              CLI Example:
67217
67218                 salt-cloud -f upgrade_tools_all my-vmware-config
67219
67220   salt.cloud.clouds.vultrpy
67221   Vultr Cloud Module using python-vultr bindings
67222       New in version 2016.3.0.
67223
67224
67225       The Vultr cloud module is used to control access to the Vultr VPS  sys‐
67226       tem.
67227
67228       Use of this module only requires the api_key parameter.
67229
67230       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
67231       /etc/salt/cloud.providers.d/vultr.conf:
67232
67233          my-vultr-config:
67234            # Vultr account api key
67235            api_key: <supersecretapi_key>
67236            driver: vultr
67237
67238       Set   up   the   cloud   profile   at    /etc/salt/cloud.profiles    or
67239       /etc/salt/cloud.profiles.d/vultr.conf:
67240
67241          nyc-4gb-4cpu-ubuntu-14-04:
67242            location: 1
67243            provider: my-vultr-config
67244            image: 160
67245            size: 95
67246            enable_private_network: True
67247
67248       This driver also supports Vultr's startup script feature.  You can list
67249       startup scripts in your account with
67250
67251          salt-cloud -f list_scripts <name of vultr provider>
67252
67253       That list will include the IDs of the scripts in your  account.   Thus,
67254       if you have a script called 'setup-networking' with an ID of 493234 you
67255       can specify that startup script in a profile like so:
67256
67257          nyc-2gb-1cpu-ubuntu-17-04:
67258            location: 1
67259            provider: my-vultr-config
67260            image: 223
67261            size: 13
67262            startup_script_id: 493234
67263
67264       salt.cloud.clouds.vultrpy.avail_images(conn=None)
67265              Return available images
67266
67267       salt.cloud.clouds.vultrpy.avail_locations(conn=None)
67268              return available datacenter locations
67269
67270       salt.cloud.clouds.vultrpy.avail_scripts(conn=None)
67271              return available startup scripts
67272
67273       salt.cloud.clouds.vultrpy.avail_sizes(conn=None)
67274              Return available sizes ("plans" in VultrSpeak)
67275
67276       salt.cloud.clouds.vultrpy.create(vm_)
67277              Create a single VM from a data dict
67278
67279       salt.cloud.clouds.vultrpy.destroy(name)
67280              Remove a node from Vultr
67281
67282       salt.cloud.clouds.vultrpy.get_configured_provider()
67283              Return the first configured instance
67284
67285       salt.cloud.clouds.vultrpy.list_nodes(**kwargs)
67286              Return basic data on nodes
67287
67288       salt.cloud.clouds.vultrpy.list_nodes_full(**kwargs)
67289              Return all data on nodes
67290
67291       salt.cloud.clouds.vultrpy.list_nodes_select(conn=None, call=None)
67292              Return a list of the VMs that are on the provider,  with  select
67293              fields
67294
67295       salt.cloud.clouds.vultrpy.list_scripts(conn=None, call=None)
67296              return list of Startup Scripts
67297
67298       salt.cloud.clouds.vultrpy.show_instance(name, call=None)
67299              Show the details from the provider concerning an instance
67300
67301       salt.cloud.clouds.vultrpy.start(*args, **kwargs)
67302              Execute a "start" action on a VM
67303
67304       salt.cloud.clouds.vultrpy.stop(*args, **kwargs)
67305              Execute a "stop" action on a VM
67306
67307   salt.cloud.clouds.xen
67308   XenServer Cloud Driver
67309       The XenServer driver is designed to work with a Citrix XenServer.
67310
67311       Requires      XenServer     SDK     (can     be     downloaded     from
67312       https://www.citrix.com/downloads/xenserver/product-software/ )
67313
67314       Place a copy of the XenAPI.py in the Python site-packages folder.
67315
67316       depends
67317              XenAPI
67318
67319       Example provider configuration:
67320
67321              # /etc/salt/cloud.providers.d/myxen.conf
67322              myxen:
67323                driver: xen
67324                url: http://10.0.0.120
67325                user: root
67326                password: p@ssw0rd
67327
67328       Example profile configuration:
67329
67330              # /etc/salt/cloud.profiles.d/myxen.conf
67331              suse:
67332                provider: myxen
67333                user: root
67334                password: p@ssw0rd
67335                image: opensuseleap42_2-template
67336                storage_repo: 'Local storage'
67337                resource_pool: default_pool
67338                clone: True
67339                minion:
67340                  master: 10.0.0.18
67341              sles:
67342                provider: myxen
67343                user: root
67344                clone: False
67345                image: sles12sp2-template
67346                deploy: False
67347              w2k12:
67348                provider: myxen
67349                image: w2k12svr-template
67350                clone: True
67351                userdata_file: /srv/salt/win/files/windows-firewall.ps1
67352                win_installer: /srv/salt/win/files/Salt-Minion-2016.11.3-AMD64-Setup.exe
67353                win_username: Administrator
67354                win_password: p@ssw0rd
67355                use_winrm: False
67356                ipv4_cidr: 10.0.0.215/24
67357                ipv4_gw: 10.0.0.1
67358
67359       salt.cloud.clouds.xen.avail_images(call=None)
67360              Get a list of images from Xen
67361
67362              If called with the --list-images then it returns images with all
67363              details.
67364
67365                 salt-cloud --list-images myxen
67366
67367       salt.cloud.clouds.xen.avail_locations(session=None, call=None)
67368              Return available Xen locations (not implemented)
67369
67370                 salt-cloud --list-locations myxen
67371
67372       salt.cloud.clouds.xen.avail_sizes(session=None, call=None)
67373              Return a list of Xen template definitions
67374
67375                 salt-cloud --list-sizes myxen
67376
67377       salt.cloud.clouds.xen.create(vm_)
67378              Create a VM in Xen
67379
67380              The  configuration  for  this  function is read from the profile
67381              settings.
67382
67383                 salt-cloud -p some_profile xenvm01
67384
67385       salt.cloud.clouds.xen.destroy(name=None, call=None)
67386              Destroy Xen VM or template instance
67387
67388                 salt-cloud -d xenvm01
67389
67390       salt.cloud.clouds.xen.destroy_template(name=None,            call=None,
67391       kwargs=None)
67392              Destroy Xen VM or template instance
67393
67394                     salt-cloud -f destroy_template myxen name=testvm2
67395
67396       salt.cloud.clouds.xen.destroy_vm_vdis(name=None,          session=None,
67397       call=None)
67398              Get virtual block devices on VM
67399
67400                 salt-cloud -a destroy_vm_vdis  xenvm01
67401
67402       salt.cloud.clouds.xen.get_configured_provider()
67403              Return the first configured instance.
67404
67405       salt.cloud.clouds.xen.get_pv_args(name, session=None, call=None)
67406              Get PV arguments for a VM
67407
67408                 salt-cloud -a get_pv_args xenvm01
67409
67410       salt.cloud.clouds.xen.get_vm_ip(name=None, session=None, call=None)
67411              Get the IP address of the VM
67412
67413                 salt-cloud -a get_vm_ip xenvm01
67414
67415              NOTE:
67416                 Requires xen guest tools to be installed in VM
67417
67418       salt.cloud.clouds.xen.host_list(call=None)
67419              Get a list of Xen Servers
67420
67421                 salt-cloud -f host_list myxen
67422
67423       salt.cloud.clouds.xen.list_nodes()
67424              List virtual machines
67425
67426                     salt-cloud -Q
67427
67428       salt.cloud.clouds.xen.list_nodes_full(session=None)
67429              List full virtual machines
67430
67431                     salt-cloud -F
67432
67433       salt.cloud.clouds.xen.list_nodes_select(call=None)
67434              Perform a select query on Xen VM instances
67435
67436                 salt-cloud -S
67437
67438       salt.cloud.clouds.xen.pause(name, call=None, session=None)
67439              Pause a vm
67440
67441                 salt-cloud -a pause xenvm01
67442
67443       salt.cloud.clouds.xen.pif_list(call=None)
67444              Get a list of Resource Pools
67445
67446                 salt-cloud -f pool_list myxen
67447
67448       salt.cloud.clouds.xen.pool_list(call=None)
67449              Get a list of Resource Pools
67450
67451                 salt-cloud -f pool_list myxen
67452
67453       salt.cloud.clouds.xen.reboot(name, call=None, session=None)
67454              Reboot a vm
67455
67456                 salt-cloud -a reboot xenvm01
67457
67458       salt.cloud.clouds.xen.resume(name, call=None, session=None)
67459              Resume a vm from disk
67460
67461                 salt-cloud -a resume xenvm01
67462
67463       salt.cloud.clouds.xen.set_pv_args(name,   kwargs=None,    session=None,
67464       call=None)
67465              Set PV arguments for a VM
67466
67467                 salt-cloud -a set_pv_args xenvm01 pv_args="utf-8 graphical"
67468
67469       salt.cloud.clouds.xen.set_vm_ip(name=None,              ipv4_cidr=None,
67470       ipv4_gw=None, session=None, call=None)
67471              Set the IP address on a virtual interface (vif)
67472
67473       salt.cloud.clouds.xen.show_instance(name, session=None, call=None)
67474              Show information about a specific VM or template
67475
67476                     salt-cloud -a show_instance xenvm01
67477
67478              NOTE:
67479                 memory is memory_dynamic_max
67480
67481       salt.cloud.clouds.xen.shutdown(name, call=None, session=None)
67482              Shutdown  a vm
67483
67484                 salt-cloud -a shutdown xenvm01
67485
67486       salt.cloud.clouds.xen.sr_list(call=None)
67487              Geta list of storage repositories
67488
67489                 salt-cloud -f sr_list myxen
67490
67491       salt.cloud.clouds.xen.start(name, call=None, session=None)
67492              Start  a vm
67493
67494                 salt-cloud -a start xenvm01
67495
67496       salt.cloud.clouds.xen.stop(name, call=None, session=None)
67497              Stop a vm
67498
67499                 salt-cloud -a stop xenvm01
67500
67501       salt.cloud.clouds.xen.suspend(name, call=None, session=None)
67502              Suspend a vm to disk
67503
67504                 salt-cloud -a suspend xenvm01
67505
67506       salt.cloud.clouds.xen.template_list(call=None)
67507              Return available Xen template information.
67508
67509              This returns the details of each template to show number  cores,
67510              memory sizes, etc..
67511
67512                 salt-cloud -f template_list myxen
67513
67514       salt.cloud.clouds.xen.unpause(name, call=None, session=None)
67515              UnPause a vm
67516
67517                 salt-cloud -a unpause xenvm01
67518
67519       salt.cloud.clouds.xen.vbd_list(name=None, call=None)
67520              Get a list of VBDs on a VM
67521
67522              requires: the name of the vm with the vbd definition
67523
67524                 salt-cloud -a vbd_list xenvm01
67525
67526       salt.cloud.clouds.xen.vdi_list(call=None, kwargs=None)
67527              Return available Xen VDI images
67528
67529              If this function is called with the -f or --function then it can
67530              return a list with minimal deatil using the  terse=True  keyword
67531              argument.
67532
67533                 salt-cloud -f vdi_list myxen terse=True
67534
67535       salt.cloud.clouds.xen.vif_list(name, call=None, kwargs=None)
67536              Get a list of virtual network interfaces  on a VM
67537
67538              requires: the name of the vm with the vbd definition
67539
67540                 salt-cloud -a vif_list xenvm01
67541
67542   engine modules
67543                   ┌────────────────┬────────────────────────────┐
67544docker_events   │ Send  events  from  Docker │
67545                   │                │ events :Depends:    Docker │
67546                   │                │ API >= 1.22                │
67547                   ├────────────────┼────────────────────────────┤
67548fluent          │ An  engine that reads mes‐ │
67549                   │                │ sages from the salt  event │
67550                   │                │ bus and pushes them onto a │
67551                   │                │ fluent endpoint.           │
67552                   ├────────────────┼────────────────────────────┤
67553http_logstash   │ HTTP Logstash engine       │
67554                   ├────────────────┼────────────────────────────┤
67555ircbot          │ IRC Bot engine             │
67556                   ├────────────────┼────────────────────────────┤
67557junos_syslog    │ Junos Syslog Engine        │
67558                   ├────────────────┼────────────────────────────┤
67559logentries      │ An   engine   that   sends │
67560                   │                │ events  to  the Logentries │
67561                   │                │ logging service.           │
67562                   ├────────────────┼────────────────────────────┤
67563logstash_engine │ An engine that reads  mes‐ │
67564                   │                │ sages  from the salt event │
67565                   │                │ bus and pushes them onto a │
67566                   │                │ logstash endpoint.         │
67567                   ├────────────────┼────────────────────────────┤
67568napalm_syslog   │ NAPALM syslog engine       │
67569                   └────────────────┴────────────────────────────┘
67570
67571
67572reactor         │ Setup Reactor              │
67573                   ├────────────────┼────────────────────────────┤
67574redis_sentinel  │ An  engine that reads mes‐ │
67575                   │                │ sages from the redis  sen‐ │
67576                   │                │ tinel   pubsub  and  sends │
67577                   │                │ reactor  events  based  on │
67578                   │                │ the channels they are sub‐ │
67579                   │                │ scribed to.                │
67580                   ├────────────────┼────────────────────────────┤
67581slack           │ An engine that reads  mes‐ │
67582                   │                │ sages  from  Slack and can │
67583                   │                │ act on them                │
67584                   ├────────────────┼────────────────────────────┤
67585sqs_events      │ An  engine  that  continu‐ │
67586                   │                │ ously  reads messages from │
67587                   │                │ SQS  and  fires  them   as │
67588                   │                │ events.                    │
67589                   ├────────────────┼────────────────────────────┤
67590stalekey        │ An  engine that uses pres‐ │
67591                   │                │ ence  detection  to   keep │
67592                   │                │ track   of  which  minions │
67593                   │                │ have  been  recently  con‐ │
67594                   │                │ nected  and  remove  their │
67595                   │                │ keys if they have not been │
67596                   │                │ connected  for  a  certain │
67597                   │                │ period of time.            │
67598                   ├────────────────┼────────────────────────────┤
67599test            │ A simple test engine,  not │
67600                   │                │ intended  for real use but │
67601                   │                │ as an example              │
67602                   ├────────────────┼────────────────────────────┤
67603thorium         │ Manage the Thorium complex │
67604                   │                │ event reaction system      │
67605                   ├────────────────┼────────────────────────────┤
67606webhook         │ Send  events  from webhook │
67607                   │                │ api                        │
67608                   └────────────────┴────────────────────────────┘
67609
67610   salt.engines.docker_events module
67611       Send events from Docker events :Depends:   Docker API >= 1.22
67612
67613       salt.engines.docker_events.start(docker_url=u'unix://var/run/docker.sock',
67614       timeout=60, tag=u'salt/engines/docker_events', filters=None)
67615              Scan for Docker events and fire events
67616
67617              Example Config
67618
67619                 engines:
67620                   - docker_events:
67621                       docker_url: unix://var/run/docker.sock
67622                       filters:
67623                         event:
67624                         - start
67625                         - stop
67626                         - die
67627                         - oom
67628
67629              The  config  above sets up engines to listen for events from the
67630              Docker daemon and publish them to the Salt event bus.
67631
67632              For              filter              reference,              see
67633              https://docs.docker.com/engine/reference/commandline/events/
67634
67635   salt.engines.fluent
67636       An  engine  that reads messages from the salt event bus and pushes them
67637       onto a fluent endpoint.
67638
67639       New in version 3000.
67640
67641
67642       Configuration
67643
67644       All arguments are optional
67645          Example configuration of default settings
67646
67647              engines:
67648                - fluent:
67649                    host: localhost
67650                    port: 24224
67651                    app: engine
67652
67653          Example fluentd configuration
67654
67655              <source>
67656                  @type forward
67657                  port 24224
67658              </source>
67659
67660              <match saltstack.**>
67661                  @type file
67662                  path /var/log/td-agent/saltstack
67663              </match>
67664
67665       depends
67666              fluent-logger
67667
67668       salt.engines.fluent.start(host=u'localhost', port=24224, app=u'engine')
67669              Listen to salt events and forward them to fluent
67670
67671              Parameters
67672
67673                     · host (str) -- Host running fluentd  agent.  Default  is
67674                       localhost
67675
67676                     · port (int) -- Port of fluentd agent. Default is 24224
67677
67678                     · app  (str)  --  Text  sent  as  fluentd tag. Default is
67679                       "engine". This text is appended to "saltstack." to form
67680                       a fluentd tag, ex: "saltstack.engine"
67681
67682   salt.engines.http_logstash
67683   HTTP Logstash engine
67684       An  engine  that reads messages from the salt event bus and pushes them
67685       onto a logstash endpoint via HTTP requests.
67686
67687       Changed in version 2018.3.0.
67688
67689
67690       NOTE:
67691          By default, this engine  take  everything  from  the  Salt  bus  and
67692          exports  into  Logstash.   For a better selection of the events that
67693          you want to publish, you can use the tags and funs options.
67694
67695       configuration
67696              Example configuration
67697
67698                 engines:
67699                   - http_logstash:
67700                       url: http://blabla.com/salt-stuff
67701                       tags:
67702                           - salt/job/*/new
67703                           - salt/job/*/ret/*
67704                       funs:
67705                           - probes.results
67706                           - bgp.config
67707
67708       salt.engines.http_logstash.start(url, funs=None, tags=None)
67709              Listen to salt events and forward them to logstash.
67710
67711              url    The Logstash endpoint.
67712
67713              funs: None
67714                     A list of functions to be compared against, looking  into
67715                     the  fun  field from the event data. This option helps to
67716                     select the events generated by one or more functions.  If
67717                     an event does not have the fun field in the data section,
67718                     it will be published. For a  better  selection,  consider
67719                     using  the  tags option.  By default, this option accepts
67720                     any event to be submitted to Logstash.
67721
67722              tags: None
67723                     A list of pattern to compare the event tag  against.   By
67724                     default, this option accepts any event to be submitted to
67725                     Logstash.
67726
67727   salt.engines.ircbot
67728       IRC Bot engine
67729
67730       New in version 2017.7.0.
67731
67732
67733       Example Configuration
67734
67735          engines:
67736            - ircbot:
67737                nick: <nick>
67738                username: <username>
67739                password: <password>
67740                host: chat.freenode.net
67741                port: 7000
67742                channels:
67743                  - salt-test
67744                  - '##something'
67745                use_ssl: True
67746                use_sasl: True
67747                disable_query: True
67748                allow_hosts:
67749                  - salt/engineer/.*
67750                allow_nicks:
67751                  - gtmanfred
67752
67753       Available commands on irc are:
67754
67755       ping   return pong
67756
67757       echo <stuff>
67758              return <stuff> targeted at the user who sent the commands
67759
67760       event <tag> [<extra>, <data>]
67761              fire event on the master or minion event  stream  with  the  tag
67762              salt/engines/ircbot/<tag>  and  a  data  object  with  a list of
67763              everything else sent in the message
67764
67765       Example of usage
67766
67767          08:33:57 @gtmanfred > !ping
67768          08:33:57   gtmanbot > gtmanfred: pong
67769          08:34:02 @gtmanfred > !echo ping
67770          08:34:02   gtmanbot > ping
67771          08:34:17 @gtmanfred > !event test/tag/ircbot irc is useful
67772          08:34:17   gtmanbot > gtmanfred: TaDa!
67773
67774          [DEBUG   ] Sending event: tag = salt/engines/ircbot/test/tag/ircbot; data = {'_stamp': '2016-11-28T14:34:16.633623', 'data': ['irc', 'is', 'useful']}
67775
67776       class salt.engines.ircbot.Event(source, code, line)
67777
67778              code   Alias for field number 1
67779
67780              line   Alias for field number 2
67781
67782              source Alias for field number 0
67783
67784       class  salt.engines.ircbot.IRCClient(nick,   host,   port=6667,   user‐
67785       name=None, password=None, channels=None, use_ssl=False, use_sasl=False,
67786       char=u'!', allow_hosts=False, allow_nicks=False, disable_query=True)
67787
67788              join_channel(channel)
67789
67790              on_closed()
67791
67792              on_connect()
67793
67794              read_messages()
67795
67796              send_message(line)
67797
67798       class salt.engines.ircbot.PrivEvent(source,  nick,  user,  host,  code,
67799       channel, command, line)
67800
67801              channel
67802                     Alias for field number 5
67803
67804              code   Alias for field number 4
67805
67806              command
67807                     Alias for field number 6
67808
67809              host   Alias for field number 3
67810
67811              line   Alias for field number 7
67812
67813              nick   Alias for field number 1
67814
67815              source Alias for field number 0
67816
67817              user   Alias for field number 2
67818
67819       salt.engines.ircbot.start(nick,  host,  port=6667, username=None, pass‐
67820       word=None,  channels=None,  use_ssl=False,  use_sasl=False,  char=u'!',
67821       allow_hosts=False, allow_nicks=False, disable_query=True)
67822              IRC Bot for interacting with salt.
67823
67824              nick   Nickname of the connected Bot.
67825
67826              host   irc server (example - chat.freenode.net).
67827
67828              port   irc port.  Default: 6667
67829
67830              password
67831                     password  for authenticating.  If not provided, user will
67832                     not authenticate on the irc server.
67833
67834              channels
67835                     channels to join.
67836
67837              use_ssl
67838                     connect to server using ssl. Default: False
67839
67840              use_sasl
67841                     authenticate using sasl, instead of  messaging  NickServ.
67842                     Default: False
67843
67844                     NOTE:
67845                        This will allow the bot user to be fully authenticated
67846                        before joining any channels
67847
67848              char   command character to look for. Default: !
67849
67850              allow_hosts
67851                     hostmasks allowed to use commands on the  bot.   Default:
67852                     False  True  to  allow  all  False  to allow none List of
67853                     regexes to allow matching
67854
67855              allow_nicks
67856                     Nicks that are  allowed  to  use  commands  on  the  bot.
67857                     Default: False True to allow all False to allow none List
67858                     of regexes to allow matching
67859
67860              disable_query
67861                     Disable commands from being sent through private queries.
67862                     Require they be sent to a channel, so that all communica‐
67863                     tion can be controlled by access to the channel. Default:
67864                     True
67865
67866              WARNING:
67867                 Unauthenticated Access to event stream
67868
67869                 This  engine  sends  events calls to the event stream without
67870                 authenticating them in salt.  Authentication will need to  be
67871                 configured  and enforced on the irc server or enforced in the
67872                 irc channel.  The engine only accepts commands from channels,
67873                 so  non authenticated users could be banned or quieted in the
67874                 channel.
67875
67876                 /mode +q $~a  # quiet all users  who  are  not  authenticated
67877                 /mode  +r       # do not allow unauthenticated users into the
67878                 channel
67879
67880                 It would also be possible to add a password to the irc  chan‐
67881                 nel, or only allow invited users to join.
67882
67883   salt.engines.junos_syslog module
67884   Junos Syslog Engine
67885       New in version 2017.7.0.
67886
67887
67888       depends
67889              pyparsing, twisted
67890
67891       An  engine  that  listens to syslog message from Junos devices, extract
67892       event information and generate message on SaltStack bus.
67893
67894       The event topic sent to salt is dynamically generated according to  the
67895       topic  title  specified  by the user. The incoming event data (from the
67896       junos device) consists of the following fields:
67897
67898       1.  hostname
67899
67900       2.  hostip
67901
67902       3.  daemon
67903
67904       4.  event
67905
67906       5.  severity
67907
67908       6.  priority
67909
67910       7.  timestamp
67911
67912       8.  message
67913
67914       9.  pid
67915
67916       10. raw (the raw event data forwarded from the device)
67917
67918       The topic title can consist of any of the combination of above  fields,
67919       but  the topic has to start with jnpr/syslog. Here are a couple example
67920       combinations:
67921
67922       · jnpr/syslog/hostip/daemon/event
67923
67924       · jnpr/syslog/daemon/severity
67925
67926       The corresponding dynamic topic sent on salt event bus would look some‐
67927       thing like:
67928
67929       · jnpr/syslog/1.1.1.1/mgd/UI_COMMIT_COMPLETED
67930
67931       · jnpr/syslog/sshd/7
67932
67933       The default topic title is jnpr/syslog/hostname/event.
67934
67935       One can choose the type of data they want from the event bus. For exam‐
67936       ple, if one wants only events pertaining to a particular  daemon,  this
67937       can be specified in the configuration file:
67938
67939          daemon: mgd
67940
67941       One can even have a list of daemons:
67942
67943          daemon:
67944            - mgd
67945            - sshd
67946
67947       Example configuration (to be written in master config file)
67948
67949          engines:
67950            - junos_syslog:
67951                port: 9999
67952                topic: jnpr/syslog/hostip/daemon/event
67953                daemon:
67954                  - mgd
67955                  - sshd
67956
67957       For  junos_syslog  engine  to receive events, syslog must be set on the
67958       junos device.  This can be done via following configuration:
67959
67960          set system syslog host <ip-of-the-salt-device> port 516 any any
67961
67962       Below is a sample syslog event which is received from the junos device:
67963
67964          <30>May 29 05:18:12 bng-ui-vm-9 mspd[1492]: No chassis configuration found
67965
67966       The  source  for  parsing  the   syslog   messages   is   taken   from:
67967       https://gist.github.com/leandrosilva/3651640#file-xlog-py
67968
67969       salt.engines.junos_syslog.start(port=516, **kwargs)
67970
67971   salt.engines.logentries
67972       An engine that sends events to the Logentries logging service.
67973
67974       maintainer
67975              Jimmy Tang (jimmy_tang@rapid7.com)
67976
67977       maturity
67978              New
67979
67980       depends
67981              ssl, certifi
67982
67983       platform
67984              all
67985
67986       To  enable this engine the master and/or minion will need the following
67987       python libraries
67988          ssl certifi
67989
67990       If you are running a new enough version of python then the ssl  library
67991       will be present already.
67992
67993       You  will  also  need  the following values configured in the minion or
67994       master config.
67995
67996       configuration
67997              Example configuration
67998
67999                 engines:
68000                   - logentries:
68001                       endpoint: data.logentries.com
68002                       port: 10000
68003                       token: 057af3e2-1c05-47c5-882a-5cd644655dbf
68004
68005       The 'token' can be obtained from the Logentries service.
68006
68007       To test this engine
68008
68009              salt '*' test.ping cmd.run uptime
68010
68011       class     salt.engines.logentries.PlainTextSocketAppender(verbose=True,
68012       LE_API=u'data.logentries.com', LE_PORT=80, LE_TLS_PORT=443)
68013
68014              close_connection()
68015
68016              open_connection()
68017
68018              put(data)
68019
68020              reopen_connection()
68021
68022       salt.engines.logentries.SocketAppender
68023              alias of salt.engines.logentries.TLSSocketAppender
68024
68025       class           salt.engines.logentries.TLSSocketAppender(verbose=True,
68026       LE_API=u'data.logentries.com', LE_PORT=80, LE_TLS_PORT=443)
68027
68028              open_connection()
68029
68030       salt.engines.logentries.event_bus_context(opts)
68031
68032       salt.engines.logentries.start(endpoint=u'data.logentries.com',
68033       port=10000, token=None, tag=u'salt/engines/logentries')
68034              Listen to salt events and forward them to Logentries
68035
68036   salt.engines.logstash_engine
68037       An  engine  that reads messages from the salt event bus and pushes them
68038       onto a logstash endpoint.
68039
68040       configuration
68041              Example configuration
68042
68043                 engines:
68044                   - logstash:
68045                       host: log.my_network.com
68046                       port: 5959
68047                       proto: tcp
68048
68049       depends
68050              logstash
68051
68052       salt.engines.logstash_engine.event_bus_context(opts)
68053
68054       salt.engines.logstash_engine.start(host,                     port=5959,
68055       tag=u'salt/engine/logstash', proto=u'udp')
68056              Listen to salt events and forward them to logstash
68057
68058   salt.engines.napalm_syslog
68059   NAPALM syslog engine
68060       New in version 2017.7.0.
68061
68062
68063       An  engine  that takes syslog messages structured in OpenConfig or IETF
68064       format and fires Salt events.
68065
68066       As there can be many messages pushed into the event bus,  the  user  is
68067       able to filter based on the object structure.
68068
68069   Requirements
68070       · napalm-logs
68071
68072       This  engine  transfers  objects  from the napalm-logs library into the
68073       event bus. The top dictionary has the following keys:
68074
68075       · ip
68076
68077       · host
68078
68079       · timestamp
68080
68081       · os: the network OS identified
68082
68083       · model_name: the OpenConfig or IETF model name
68084
68085       · error: the error name (consult the documentation)
68086
68087       · message_details: details extracted from the syslog message
68088
68089       · open_config: the OpenConfig model
68090
68091       The napalm-logs transfers the messages via widely used transport mecha‐
68092       nisms such as: ZeroMQ (default), Kafka, etc.
68093
68094       The  user  can select the right transport using the transport option in
68095       the configuration.
68096
68097       configuration
68098              Example configuration
68099
68100                 engines:
68101                   - napalm_syslog:
68102                       transport: zmq
68103                       address: 1.2.3.4
68104                       port: 49018
68105
68106       configuration
68107              Configuration example, excluding messages from IOS-XR devices:
68108
68109                 engines:
68110                   - napalm_syslog:
68111                       transport: kafka
68112                       address: 1.2.3.4
68113                       port: 49018
68114                       os_blacklist:
68115                         - iosxr
68116
68117       Event example:
68118
68119          {
68120              "_stamp": "2017-05-26T10:03:18.653045",
68121              "error": "BGP_PREFIX_THRESH_EXCEEDED",
68122              "host": "vmx01",
68123              "ip": "192.168.140.252",
68124              "message_details": {
68125                  "date": "May 25",
68126                  "host": "vmx01",
68127                  "message": "192.168.140.254 (External AS 65001): Configured maximum prefix-limit threshold(22) exceeded for inet-unicast nlri: 28 (instance master)",
68128                  "pri": "28",
68129                  "processId": "2957",
68130                  "processName": "rpd",
68131                  "tag": "BGP_PREFIX_THRESH_EXCEEDED",
68132                  "time": "20:50:41"
68133              },
68134              "model_name": "openconfig_bgp",
68135              "open_config": {
68136                  "bgp": {
68137                      "neighbors": {
68138                          "neighbor": {
68139                              "192.168.140.254": {
68140                                  "afi_safis": {
68141                                      "afi_safi": {
68142                                          "inet": {
68143                                              "afi_safi_name": "inet",
68144                                              "ipv4_unicast": {
68145                                                  "prefix_limit": {
68146                                                      "state": {
68147                                                          "max_prefixes": 22
68148                                                      }
68149                                                  }
68150                                              },
68151                                              "state": {
68152                                                  "prefixes": {
68153                                                      "received": 28
68154                                                  }
68155                                              }
68156                                          }
68157                                      }
68158                                  },
68159                                  "neighbor_address": "192.168.140.254",
68160                                  "state": {
68161                                      "peer_as": 65001
68162                                  }
68163                              }
68164                          }
68165                      }
68166                  }
68167              },
68168              "os": "junos",
68169              "timestamp": "1495741841"
68170          }
68171
68172       To consume the events and eventually react and deploy  a  configuration
68173       changes  on the device(s) firing the event, one is able to identify the
68174       minion ID, using one of the following alternatives, but not limited to:
68175
68176       · Host grains to match the event tag
68177
68178       · Host DNS grain to match the IP address in the event data
68179
68180       · Hostname grains to match the event tag
68181
68182       · Define static grains
68183
68184       · Write a grains module
68185
68186       · Targeting minions using pillar data - The user can configure  certain
68187         information in the Pillar data and then use it to identify minions
68188
68189       Master configuration example, to match the event and react:
68190
68191          reactor:
68192            - 'napalm/syslog/*/BGP_PREFIX_THRESH_EXCEEDED/*':
68193              - salt://increase_prefix_limit_on_thresh_exceeded.sls
68194
68195       Which   matches   the   events   having   the   error   code   BGP_PRE‐
68196       FIX_THRESH_EXCEEDED from any network operating system,  from  any  host
68197       and  reacts, executing the increase_prefix_limit_on_thresh_exceeded.sls
68198       reactor, found under one of the file_roots paths.
68199
68200       Reactor example:
68201
68202          increase_prefix_limit_on_thresh_exceeded:
68203            local.net.load_template:
68204              - tgt: "hostname:{{ data['host'] }}"
68205              - tgt_type: grain
68206              - kwarg:
68207                  template_name: salt://increase_prefix_limit.jinja
68208                  openconfig_structure: {{ data['open_config'] }}
68209
68210       The reactor in the example increases the BGP prefix  limit  when  trig‐
68211       gered  by an event as above. The minion is matched using the host field
68212       from the data (which is the body of the event), compared to  the  host‐
68213       name  grain  field. When the event occurs, the reactor will execute the
68214       net.load_template  function,  sending   as   arguments   the   template
68215       salt://increase_prefix_limit.jinja  defined  by the user in their envi‐
68216       ronment and the complete OpenConfig  object  under  the  variable  name
68217       openconfig_structure.  Inside  the Jinja template, the user can process
68218       the object from openconfig_structure and define the bussiness logic  as
68219       required.
68220
68221       salt.engines.napalm_syslog.start(transport=u'zmq',  address=u'0.0.0.0',
68222       port=49017,  auth_address=u'0.0.0.0',  auth_port=49018,   disable_secu‐
68223       rity=False,   certificate=None,  os_whitelist=None,  os_blacklist=None,
68224       error_whitelist=None,    error_blacklist=None,     host_whitelist=None,
68225       host_blacklist=None)
68226              Listen  to  napalm-logs  and  publish events into the Salt event
68227              bus.
68228
68229              transport: zmq
68230                     Choose the desired transport.
68231
68232                     NOTE:
68233                        Currently zmq is the only valid option.
68234
68235              address: 0.0.0.0
68236                     The  address  of  the   publisher,   as   configured   on
68237                     napalm-logs.
68238
68239              port: 49017
68240                     The port of the publisher, as configured on napalm-logs.
68241
68242              auth_address: 0.0.0.0
68243                     The  address used for authentication when security is not
68244                     disabled.
68245
68246              auth_port: 49018
68247                     Port used for authentication.
68248
68249              disable_security: False
68250                     Trust unencrypted messages.  Strongly discouraged in pro‐
68251                     duction.
68252
68253              certificate: None
68254                     Absolute path to the SSL certificate.
68255
68256              os_whitelist: None
68257                     List  of operating systems allowed. By default everything
68258                     is allowed.
68259
68260              os_blacklist: None
68261                     List of operating system to be ignored.  Nothing  ignored
68262                     by default.
68263
68264              error_whitelist: None
68265                     List of errors allowed.
68266
68267              error_blacklist: None
68268                     List of errors ignored.
68269
68270              host_whitelist: None
68271                     List of hosts or IPs to be allowed.
68272
68273              host_blacklist: None
68274                     List of hosts of IPs to be ignored.
68275
68276   salt.engines.reactor module
68277       Setup Reactor
68278
68279       Example Config in Master or Minion config
68280
68281          engines:
68282            - reactor:
68283                refresh_interval: 60
68284                worker_threads: 10
68285                worker_hwm: 10000
68286
68287          reactor:
68288            - 'salt/cloud/*/destroyed':
68289              - /srv/reactor/destroy/*.sls
68290
68291       salt.engines.reactor.start(refresh_interval=None,  worker_threads=None,
68292       worker_hwm=None)
68293
68294   salt.engines.redis_sentinel module
68295       An engine that reads messages from the redis sentinel pubsub and  sends
68296       reactor events based on the channels they are subscribed to.
68297
68298       configuration
68299              Example configuration
68300
68301                 engines:
68302                   - redis_sentinel:
68303                       hosts:
68304                         matching: 'board*'
68305                         port: 26379
68306                         interface: eth2
68307                       channels:
68308                         - '+switch-master'
68309                         - '+odown'
68310                         - '-odown'
68311
68312       depends
68313              redis
68314
68315       class  salt.engines.redis_sentinel.Listener(host=None, port=None, chan‐
68316       nels=None, tag=None)
68317
68318              run()
68319
68320              work(item)
68321
68322       salt.engines.redis_sentinel.start(hosts, channels, tag=None)
68323
68324   salt.engines.slack module
68325       An engine that reads messages from Slack and can act on them
68326
68327       depends
68328              slackclient Python module
68329
68330       IMPORTANT:
68331          This engine requires a bot user. To create a bot user, first  go  to
68332          the Custom Integrations page in your Slack Workspace. Copy and paste
68333          the following URL, and replace myworkspace with the proper value for
68334          your workspace:
68335
68336          https://myworkspace.slack.com/apps/manage/custom-integrations
68337
68338          Next,  click  on the Bots integration and request installation. Once
68339          approved by an admin, you will be able to proceed  with  adding  the
68340          bot user.  Once the bot user has been added, you can configure it by
68341          adding an avatar, setting the display name, etc. You  will  also  at
68342          this  time  have  access  to your API token, which will be needed to
68343          configure this engine.
68344
68345          Finally, add this bot user to a channel by switching to the  channel
68346          and  using  /invite  @mybotuser.  Keep in mind that this engine will
68347          process messages from each channel in which the bot is a member,  so
68348          it  is recommended to narrowly define the commands which can be exe‐
68349          cuted, and the Slack users which are allowed to run commands.
68350
68351       This engine has two boolean configuration parameters that  toggle  spe‐
68352       cific features (both default to False):
68353
68354       1. control  -  If  set  to True, then any message which starts with the
68355          trigger string (which defaults to ! and can be overridden by setting
68356          the  trigger option in the engine configuration) will be interpreted
68357          as a Salt CLI command and the engine will attempt  to  run  it.  The
68358          permissions  defined  in  the  various  groups will determine if the
68359          Slack  user  is  allowed  to  run  the  command.  The  targets   and
68360          default_target  options  can be used to set targets for a given com‐
68361          mand, but the engine can also read the following two  keyword  argu‐
68362          ments:
68363
68364          · target - The target expression to use for the command
68365
68366          · tgt_type  - The match type, can be one of glob, list, pcre, grain,
68367            grain_pcre, pillar, nodegroup, range,  ipcidr,  or  compound.  The
68368            default value is glob.
68369
68370          Here are a few examples:
68371
68372             !test.ping target=*
68373             !state.apply foo target=os:CentOS tgt_type=grain
68374             !pkg.version mypkg target=role:database tgt_type=pillar
68375
68376       2. fire_all  - If set to True, all messages which are not prefixed with
68377          the trigger string will fired as events onto  Salt's  ref:event  bus
68378          <event-system>.  The  tag for these veents will be prefixed with the
68379          string   specified   by   the   tag    config    option    (default:
68380          salt/engines/slack).
68381
68382       The groups_pillar_name config option can be used to pull group configu‐
68383       ration from the specified pillar key.
68384
68385       NOTE:
68386          In order to use groups_pillar_name, the engine must be running as  a
68387          minion  running on the master, so that the Caller client can be used
68388          to retrieve that minions pillar data,  because  the  master  process
68389          does not have pillar data.
68390
68391   Configuration Examples
68392       Changed in version 2017.7.0: Access control group support added
68393
68394
68395       This  example  uses  a  single group called default. In addition, other
68396       groups are being loaded from pillar data. The group names do  not  have
68397       any significance, it is the users and commands defined within them that
68398       are used to determine whether the Slack user has permission to run  the
68399       desired command.
68400
68401          engines:
68402            - slack:
68403                token: 'xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx'
68404                control: True
68405                fire_all: False
68406                groups_pillar_name: 'slack_engine:groups_pillar'
68407                groups:
68408                  default:
68409                    users:
68410                      - '*'
68411                    commands:
68412                      - test.ping
68413                      - cmd.run
68414                      - list_jobs
68415                      - list_commands
68416                    aliases:
68417                      list_jobs:
68418                        cmd: jobs.list_jobs
68419                      list_commands:
68420                        cmd: 'pillar.get salt:engines:slack:valid_commands target=saltmaster tgt_type=list'
68421                    default_target:
68422                      target: saltmaster
68423                      tgt_type: glob
68424                    targets:
68425                      test.ping:
68426                        target: '*'
68427                        tgt_type: glob
68428                      cmd.run:
68429                        target: saltmaster
68430                        tgt_type: list
68431
68432       This  example  shows  multiple groups applying to different users, with
68433       all users having access to run test.ping. Keep in mind that when  using
68434       *,  the value must be quoted, or else PyYAML will fail to load the con‐
68435       figuration.
68436
68437          engines:
68438            - slack:
68439                groups_pillar: slack_engine_pillar
68440                token: 'xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx'
68441                control: True
68442                fire_all: True
68443                tag: salt/engines/slack
68444                groups_pillar_name: 'slack_engine:groups_pillar'
68445                groups:
68446                  default:
68447                    users:
68448                      - '*'
68449                    commands:
68450                      - test.ping
68451                    aliases:
68452                      list_jobs:
68453                        cmd: jobs.list_jobs
68454                      list_commands:
68455                        cmd: 'pillar.get salt:engines:slack:valid_commands target=saltmaster tgt_type=list'
68456                  gods:
68457                    users:
68458                      - garethgreenaway
68459                    commands:
68460                      - '*'
68461
68462       class salt.engines.slack.SlackClient(token)
68463
68464              can_user_run(user, command, groups)
68465                     Break out the permissions into the following:
68466
68467                     Check whether a user is in any group, including whether a
68468                     group has the '*' membership
68469
68470                     Parameters
68471
68472                            · user (str) -- The username being checked against
68473
68474                            · command  (str)  --  The  command  that  is being
68475                              invoked (e.g. test.ping)
68476
68477                            · groups (dict) -- the dictionary with groups per‐
68478                              missions structure.
68479
68480                     Return type
68481                            tuple
68482
68483                     Returns
68484                            On  a  successful permitting match, returns 2-ele‐
68485                            ment tuple that contains the  name  of  the  group
68486                            that  successfully  matched, and a dictionary con‐
68487                            taining the configuration of the group so  it  can
68488                            be referenced.
68489
68490                            On failure it returns an empty tuple
68491
68492
68493              commandline_to_list(cmdline_str, trigger_string)
68494                     cmdline_str  is  the  string  of  the  command line trig‐
68495                     ger_string is the trigger string, to be removed
68496
68497              control_message_target(slack_user_name,   text,   loaded_groups,
68498              trigger_string)
68499                     Returns a tuple of (target, cmdline,) for the response
68500
68501                     Raises  IndexError  if  a  user  can't  be looked up from
68502                     all_slack_users
68503
68504                     Returns (False, False) if the user doesn't  have  permis‐
68505                     sion
68506
68507                     These  are  returned together because the commandline and
68508                     the targeting interact with the  group  config  (specifi‐
68509                     cally aliases and targeting configuration) so taking care
68510                     of them together works out.
68511
68512                     The cmdline that is returned  is  the  actual  list  that
68513                     should be processed by salt, and not the alias.
68514
68515              fire(tag, msg)
68516                     This replaces a function in main called 'fire'
68517
68518                     It fires an event into the salt bus.
68519
68520              format_return_text(data, function, **kwargs)
68521                     Print out YAML using the block mode
68522
68523              generate_triggered_messages(token,    trigger_string,    groups,
68524              groups_pillar_name)
68525                     slack_token   =   string    trigger_string    =    string
68526                     input_valid_users = set input_valid_commands = set
68527
68528                     When the trigger_string prefixes the message text, yields
68529                     a dictionary of:
68530
68531                        {
68532                            'message_data': m_data,
68533                            'cmdline': cmdline_list, # this is a list
68534                            'channel': channel,
68535                            'user': m_data['user'],
68536                            'slack_client': sc
68537                        }
68538
68539                     else yields {'message_data': m_data} and the  caller  can
68540                     handle that
68541
68542                     When encountering an error (e.g. invalid message), yields
68543                     {}, the caller can proceed to the next message
68544
68545                     When the websocket being read from has given up  all  its
68546                     messages,  yields  {'done':  True}  to  indicate that the
68547                     caller has read all of the relevant  data  for  now,  and
68548                     should  continue  its  own  processing and check back for
68549                     more data later.
68550
68551                     This relies on the caller sleeping between checks, other‐
68552                     wise this could flood
68553
68554              get_config_groups(groups_conf, groups_pillar_name)
68555                     get info from groups in config, and from the named pillar
68556
68557                     todo:  add specification for the minion to use to recover
68558                     pillar
68559
68560              get_jobs_from_runner(outstanding_jids)
68561                     Given a list of job_ids, return  a  dictionary  of  those
68562                     job_ids that have completed and their results.
68563
68564                     Query   the   salt   event   bus  via  the  jobs  runner.
68565                     jobs.list_job   will   show   a    job    in    progress,
68566                     jobs.lookup_jid will return a job that has completed.
68567
68568                     returns a dictionary of job id: result
68569
68570              get_slack_channels(token)
68571                     Get all channel names from Slack
68572
68573              get_slack_users(token)
68574                     Get all users from Slack
68575
68576              get_target(permitted_group, cmdline, alias_cmdline)
68577                     When  we are permitted to run a command on a target, look
68578                     to see what the default targeting is for that group,  and
68579                     for that specific command (if provided).
68580
68581                     It's  possible  for  None  or  False  to be the result of
68582                     either, which means that it's expected  that  the  caller
68583                     provide a specific target.
68584
68585                     If  no  configured  target  is provided, the command line
68586                     will be parsed for target=foo and tgt_type=bar
68587
68588                     Test for this:
68589
68590                        h = {'aliases': {}, 'commands': {'cmd.run', 'pillar.get'},
68591                            'default_target': {'target': '*', 'tgt_type': 'glob'},
68592                            'targets': {'pillar.get': {'target': 'you_momma', 'tgt_type': 'list'}},
68593                            'users': {'dmangot', 'jmickle', 'pcn'}}
68594                        f = {'aliases': {}, 'commands': {'cmd.run', 'pillar.get'},
68595                             'default_target': {}, 'targets': {},'users': {'dmangot', 'jmickle', 'pcn'}}
68596
68597                        g = {'aliases': {}, 'commands': {'cmd.run', 'pillar.get'},
68598                             'default_target': {'target': '*', 'tgt_type': 'glob'},
68599                             'targets': {}, 'users': {'dmangot', 'jmickle', 'pcn'}}
68600
68601                     Run each of  them  through  get_configured_target(('foo',
68602                     f), 'pillar.get') and confirm a valid target
68603
68604              message_text(m_data)
68605                     Raises  ValueError if a value doesn't work out, and Type‐
68606                     Error if this isn't a message type
68607
68608              parse_args_and_kwargs(cmdline)
68609                     cmdline: list
68610
68611                     returns tuple of: args (list), kwargs (dict)
68612
68613              run_command_async(msg)
68614
68615                     Parameters
68616
68617                            · message_generator (generator of dict) --  Gener‐
68618                              ates messages from slack that should be run
68619
68620                            · fire_all (bool) -- Whether to also fire messages
68621                              to the event bus
68622
68623                            · tag (str) -- The tag to send to use to  send  to
68624                              the event bus
68625
68626                            · interval  (int) -- time to wait between ending a
68627                              loop and beginning the next
68628
68629              run_commands_from_slack_async(message_generator, fire_all,  tag,
68630              control, interval=1)
68631                     Pull  any  pending  messages  from the message_generator,
68632                     sending each one  to  either  the  event  bus,  the  com‐
68633                     mand_async  or  both, depending on the values of fire_all
68634                     and command
68635
68636       salt.engines.slack.start(token,      control=False,       trigger=u'!',
68637       groups=None,          groups_pillar_name=None,          fire_all=False,
68638       tag=u'salt/engines/slack')
68639              Listen to slack events and forward them to salt, new version
68640
68641   salt.engines.sqs_events
68642       An engine that continuously reads messages from SQS and fires  them  as
68643       events.
68644
68645       Note that long polling is utilized to avoid excessive CPU usage.
68646
68647       New in version 2015.8.0.
68648
68649
68650       depends
68651              boto
68652
68653   Configuration
68654       This engine can be run on the master or on a minion.
68655
68656       Example Config:
68657
68658          sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
68659          sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
68660          sqs.message_format: json
68661
68662       Explicit  sqs credentials are accepted but this engine can also utilize
68663       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
68664       credentials are then automatically obtained from AWS API and no further
68665       configuration is necessary. More Information available at:
68666
68667          http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
68668
68669       If IAM roles are not (or for boto version < 2.5.1)  used  you  need  to
68670       specify  them either in a pillar or in the config file of the master or
68671       minion, as appropriate:
68672
68673       To deserialize the message from json:
68674
68675          sqs.message_format: json
68676
68677       It's also possible to specify key, keyid and region via a profile:
68678
68679          sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
68680          sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
68681
68682       A region may also be specified in the configuration:
68683
68684          sqs.region: us-east-1
68685
68686       If a region is not specified, the default is us-east-1.
68687
68688       It's also possible to specify key, keyid and region via a profile:
68689
68690          myprofile:
68691            keyid: GKTADJGHEIQSXMKKRBJ08H
68692            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
68693            region: us-east-1
68694
68695       Additionally you can define cross account sqs:
68696
68697          engines:
68698            - sqs_events:
68699                queue: prod
68700                owner_acct_id: 111111111111
68701
68702       salt.engines.sqs_events.start(queue,                      profile=None,
68703       tag=u'salt/engine/sqs', owner_acct_id=None)
68704              Listen to sqs and fire message on event bus
68705
68706   salt.engines.stalekey module
68707       An  engine  that uses presence detection to keep track of which minions
68708       have been recently connected and remove their keys  if  they  have  not
68709       been connected for a certain period of time.
68710
68711       Requires that the minion_data_cache option be enabled.
68712
68713       configuration
68714              Example configuration:
68715
68716                 engines:
68717                   - stalekey:
68718                       interval: 3600
68719                       expire: 86400
68720
68721       salt.engines.stalekey.start(interval=3600, expire=604800)
68722
68723   salt.engines.test
68724       A simple test engine, not intended for real use but as an example
68725
68726       salt.engines.test.event_bus_context(opts)
68727
68728       salt.engines.test.start()
68729              Listen to events and write them to a log file
68730
68731   salt.engines.thorium module
68732       Manage the Thorium complex event reaction system
68733
68734       salt.engines.thorium.start(grains=False, grain_keys=None, pillar=False,
68735       pillar_keys=None)
68736              Execute the Thorium runtime
68737
68738   salt.engines.webhook
68739       Send events from webhook api
68740
68741       salt.engines.webhook.start(address=None,    port=5000,    ssl_crt=None,
68742       ssl_key=None)
68743              Api to listen for webhooks to send to the reactor.
68744
68745              Implement the webhook behavior in an engine.  rest_cherrypy Web‐
68746              hook docs
68747
68748              Unlike the rest_cherrypy Webhook, this is  only  an  unauthenti‐
68749              cated webhook endpoint.  If an authenticated webhook endpoint is
68750              needed, use the salt-api webhook which runs on  the  master  and
68751              authenticates through eauth.
68752
68753              WARNING:
68754                 Unauthenticated endpoint
68755
68756                 This  engine sends webhook calls to the event stream.  If the
68757                 engine is running on a minion  with  file_client:  local  the
68758                 event  is  sent  to the minion event stream.  Otherwise it is
68759                 sent to the master event stream.
68760
68761              Example Config
68762
68763                 engines:
68764                   - webhook: {}
68765
68766                 engines:
68767                   - webhook:
68768                       port: 8000
68769                       address: 10.128.1.145
68770                       ssl_crt: /etc/pki/tls/certs/localhost.crt
68771                       ssl_key: /etc/pki/tls/certs/localhost.key
68772
68773   executors modules
68774                     ┌────────────┬────────────────────────────┐
68775direct_call │ Direct call executor  mod‐ │
68776                     │            │ ule                        │
68777                     ├────────────┼────────────────────────────┤
68778docker      │ Docker executor module     │
68779                     ├────────────┼────────────────────────────┤
68780splay       │ Splay    function    calls │
68781                     │            │ across targeted minions    │
68782                     ├────────────┼────────────────────────────┤
68783sudo        │ Sudo executor module       │
68784                     └────────────┴────────────────────────────┘
68785
68786   salt.executors.direct_call module
68787       Direct call executor module
68788
68789       salt.executors.direct_call.execute(opts, data, func, args, kwargs)
68790              Directly calls the given function with arguments
68791
68792   salt.executors.docker module
68793       Docker executor module
68794
68795       Used with the docker proxy minion.
68796
68797       salt.executors.docker.allow_missing_func(function)
68798              Allow all calls to be passed through to docker container.
68799
68800              The docker call will use direct_call, which will return back  if
68801              the module was unable to be run.
68802
68803       salt.executors.docker.execute(opts, data, func, args, kwargs)
68804              Directly calls the given function with arguments
68805
68806   salt.executors.splay module
68807       Splay function calls across targeted minions
68808
68809       salt.executors.splay.execute(opts, data, func, args, kwargs)
68810              Splay  a salt function call execution time across minions over a
68811              number of seconds (default: 300)
68812
68813              NOTE:
68814                 You probably want to use --async here and  look  up  the  job
68815                 results later.  If you're dead set on getting the output from
68816                 the CLI command, then make sure to set the timeout (with  the
68817                 -t  flag) to something greater than the splaytime (max splay‐
68818                 time + time to execute job).   Otherwise,  it's  very  likely
68819                 that the cli will time out before the job returns.
68820
68821              CLI Example:
68822
68823                 # With default splaytime
68824                 salt --async --module-executors='[splay, direct_call]' '*' pkg.install cowsay version=3.03-8.el6
68825
68826                 # With specified splaytime (5 minutes) and timeout with 10 second buffer
68827                 salt -t 310 --module-executors='[splay, direct_call]' --executor-opts='{splaytime: 300}' '*' pkg.version cowsay
68828
68829   salt.executors.sudo module
68830       Sudo executor module
68831
68832       salt.executors.sudo.execute(opts, data, func, args, kwargs)
68833              Allow for the calling of execution modules via sudo.
68834
68835              This  module  is  invoked  by the minion if the sudo_user minion
68836              config is present.
68837
68838              Example minion config:
68839
68840                 sudo_user: saltdev
68841
68842              Once this setting is made, any execution module call done by the
68843              minion  will  be  run  under sudo -u <sudo_user> salt-call.  For
68844              example, with the above minion config,
68845
68846                 salt sudo_minion cmd.run 'cat /etc/sudoers'
68847
68848              is equivalent to
68849
68850                 sudo -u saltdev salt-call cmd.run 'cat /etc/sudoers'
68851
68852              being run on sudo_minion.
68853
68854   fileserver modules
68855                       ┌─────────┬────────────────────────────┐
68856azurefs  │ The  backend  for  serving │
68857                       │         │ files  from the Azure blob │
68858                       │         │ storage service.           │
68859                       ├─────────┼────────────────────────────┤
68860gitfs    │ Git Fileserver Backend     │
68861                       ├─────────┼────────────────────────────┤
68862hgfs     │ Mercurial Fileserver Back‐ │
68863                       │         │ end                        │
68864                       ├─────────┼────────────────────────────┤
68865minionfs │ Fileserver  backend  which │
68866                       │         │ serves files pushed to the │
68867                       │         │ Master                     │
68868                       ├─────────┼────────────────────────────┤
68869roots    │ The  default  file  server │
68870                       │         │ backend                    │
68871                       ├─────────┼────────────────────────────┤
68872s3fs     │ Amazon S3 Fileserver Back‐ │
68873                       │         │ end                        │
68874                       ├─────────┼────────────────────────────┤
68875svnfs    │ Subversion      Fileserver │
68876                       │         │ Backend                    │
68877                       └─────────┴────────────────────────────┘
68878
68879   salt.fileserver.azurefs
68880       The backend for serving files from the Azure blob storage service.
68881
68882       New in version 2015.8.0.
68883
68884
68885       To enable, add azurefs to the fileserver_backend option in  the  Master
68886       config file.
68887
68888          fileserver_backend:
68889            - azurefs
68890
68891       Starting  in  Salt  2018.3.0,  this  fileserver requires the standalone
68892       Azure Storage SDK for Python.  Theoretically  any  version  >=  v0.20.0
68893       should work, but it was developed against the v0.33.0 version.
68894
68895       Each  storage  container  will be mapped to an environment. By default,
68896       containers will be mapped to the base  environment.  You  can  override
68897       this  behavior  with  the saltenv configuration option. You can have an
68898       unlimited number of storage containers, and can  have  a  storage  con‐
68899       tainer serve multiple environments, or have multiple storage containers
68900       mapped to the same environment. Normal  first-found  rules  apply,  and
68901       storage containers are searched in the order they are defined.
68902
68903       You  must  have  either  an account_key or a sas_token defined for each
68904       container, if it is private. If you use a sas_token, it must have  READ
68905       and LIST permissions.
68906
68907          azurefs:
68908            - account_name: my_storage
68909              account_key: 'fNH9cRp0+qVIVYZ+5rnZAhHc9ycOUcJnHtzpfOr0W0sxrtL2KVLuMe1xDfLwmfed+JJInZaEdWVCPHD4d/oqeA=='
68910              container_name: my_container
68911            - account_name: my_storage
68912              sas_token: 'ss=b&sp=&sv=2015-07-08&sig=cohxXabx8FQdXsSEHyUXMjsSfNH2tZ2OB97Ou44pkRE%3D&srt=co&se=2017-04-18T21%3A38%3A01Z'
68913              container_name: my_dev_container
68914              saltenv: dev
68915            - account_name: my_storage
68916              container_name: my_public_container
68917
68918       NOTE:
68919          Do not include the leading ? for sas_token if generated from the web
68920
68921   salt.fileserver.gitfs
68922       Git Fileserver Backend
68923
68924       With  this  backend,  branches  and tags in a remote git repository are
68925       exposed to salt as different environments.
68926
68927       To enable, add gitfs to the fileserver_backend  option  in  the  Master
68928       config file.
68929
68930          fileserver_backend:
68931            - gitfs
68932
68933       NOTE:
68934          git  also  works here. Prior to the 2018.3.0 release, only git would
68935          work.
68936
68937       The Git fileserver backend supports both pygit2 and GitPython, to  pro‐
68938       vide  the  Python  interface  to git. If both are present, the order of
68939       preference for which one will be chosen is the same  as  the  order  in
68940       which they were listed: pygit2, then GitPython.
68941
68942       An  optional  master  config  parameter (gitfs_provider) can be used to
68943       specify which provider should be used, in  the  event  that  compatible
68944       versions of both pygit2 and GitPython are installed.
68945
68946       More detailed information on how to use GitFS can be found in the GitFS
68947       Walkthrough.
68948
68949       NOTE:
68950          Minimum requirements
68951
68952          To use pygit2 for GitFS requires a minimum pygit2 version of 0.20.3.
68953          pygit2 0.20.3 requires libgit2 0.20.0. pygit2 and libgit2 are devel‐
68954          oped alongside one another, so it is recommended to keep  them  both
68955          at the same major release to avoid unexpected behavior. For example,
68956          pygit2 0.21.x requires libgit2 0.21.x, pygit2  0.22.x  will  require
68957          libgit2 0.22.x, etc.
68958
68959          To  use  GitPython for GitFS requires a minimum GitPython version of
68960          0.3.0, as well as the git CLI utility. Instructions  for  installing
68961          GitPython can be found here.
68962
68963          To clear stale refs the git CLI utility must also be installed.
68964
68965   salt.fileserver.hgfs
68966       Mercurial Fileserver Backend
68967
68968       To enable, add hgfs to the fileserver_backend option in the Master con‐
68969       fig file.
68970
68971          fileserver_backend:
68972            - hgfs
68973
68974       NOTE:
68975          hg also works here. Prior to the 2018.3.0  release,  only  hg  would
68976          work.
68977
68978       After  enabling this backend, branches, bookmarks, and tags in a remote
68979       mercurial repository are exposed to  salt  as  different  environments.
68980       This  feature  is  managed by the fileserver_backend option in the salt
68981       master config file.
68982
68983       This fileserver has an additional option hgfs_branch_method  that  will
68984       set  the  desired  branch  method. Possible values are: branches, book‐
68985       marks, or mixed. If using branches or mixed, the default branch will be
68986       mapped to base.
68987
68988       Changed  in version 2014.1.0: The hgfs_base master config parameter was
68989       added, allowing for a branch other than default to be used for the base
68990       environment,  and  allowing for a base environment to be specified when
68991       using an hgfs_branch_method of bookmarks.
68992
68993
68994       depends
68995
68996              · mercurial
68997
68998              · python bindings for mercurial (python-hglib)
68999
69000   salt.fileserver.minionfs
69001       Fileserver backend which serves files pushed to the Master
69002
69003       The cp.push function allows Minions to push files  up  to  the  Master.
69004       Using this backend, these pushed files are exposed to other Minions via
69005       the Salt fileserver.
69006
69007       To enable minionfs, file_recv needs to be set to  True  in  the  master
69008       config file (otherwise cp.push will not be allowed to push files to the
69009       Master), and minionfs must be added to the fileserver_backends list.
69010
69011          fileserver_backend:
69012            - minionfs
69013
69014       NOTE:
69015          minion also works here. Prior to the 2018.3.0 release,  only  minion
69016          would work.
69017
69018       Other  minionfs  settings  include: minionfs_whitelist, minionfs_black‐
69019       list, minionfs_mountpoint, and minionfs_env.
69020
69021       SEE ALSO:
69022          tutorial-minionfs
69023
69024   salt.fileserver.roots
69025       The default file server backend
69026
69027       This fileserver backend serves files from the Master's  local  filesys‐
69028       tem.  If  fileserver_backend  is not defined in the Master config file,
69029       then this backend is enabled by default. If it is  defined  then  roots
69030       must be in the fileserver_backend list to enable this backend.
69031
69032          fileserver_backend:
69033            - roots
69034
69035       Fileserver  environments are defined using the file_roots configuration
69036       option.
69037
69038   salt.fileserver.s3fs
69039       Amazon S3 Fileserver Backend
69040
69041       New in version 0.16.0.
69042
69043
69044       This backend exposes directories in S3 buckets as Salt environments. To
69045       enable  this  backend, add s3fs to the fileserver_backend option in the
69046       Master config file.
69047
69048          fileserver_backend:
69049            - s3fs
69050
69051       S3 credentials must also be set in the master config file:
69052
69053          s3.keyid: GKTADJGHEIQSXMKKRBJ08H
69054          s3.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
69055
69056       Alternatively, if on EC2 these credentials can be automatically  loaded
69057       from instance metadata.
69058
69059       This fileserver supports two modes of operation for the buckets:
69060
69061       1. A single bucket per environment
69062
69063             s3.buckets:
69064               production:
69065                 - bucket1
69066                 - bucket2
69067               staging:
69068                 - bucket3
69069                 - bucket4
69070
69071       2. Multiple environments per bucket
69072
69073             s3.buckets:
69074               - bucket1
69075               - bucket2
69076               - bucket3
69077               - bucket4
69078
69079       Note  that  bucket  names must be all lowercase both in the AWS console
69080       and in Salt, otherwise you may encounter SignatureDoesNotMatch errors.
69081
69082       A multiple-environment bucket must adhere to the following root  direc‐
69083       tory structure:
69084
69085          s3://<bucket name>/<environment>/<files>
69086
69087       NOTE:
69088          This  fileserver  back-end requires the use of the MD5 hashing algo‐
69089          rithm.  MD5 may not be compliant with all security policies.
69090
69091       NOTE:
69092          This fileserver back-end is only compatible with MD5 ETag hashes  in
69093          the  S3  metadata.  This means that you must use SSE-S3 or plaintext
69094          for bucket encryption, and that you must not  use  multipart  upload
69095          when    uploading   to   your   bucket.   More   information   here:
69096          https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html
69097
69098          Objects  without  an  MD5  ETag  will be fetched on every fileserver
69099          update.
69100
69101          If you deal with objects greater than 8MB, then you should  use  the
69102          following AWS CLI config to avoid mutipart upload:
69103
69104              s3 =
69105                multipart_threshold = 1024MB
69106
69107          More                            info                           here:
69108          https://docs.aws.amazon.com/cli/latest/topic/s3-config.html
69109
69110   salt.fileserver.svnfs
69111       Subversion Fileserver Backend
69112
69113       After enabling this backend, branches and tags in a  remote  subversion
69114       repository  are  exposed  to  salt as different environments. To enable
69115       this backend, add svnfs to the fileserver_backend option in the  Master
69116       config file.
69117
69118          fileserver_backend:
69119            - svnfs
69120
69121       NOTE:
69122          svn  also  works here. Prior to the 2018.3.0 release, only svn would
69123          work.
69124
69125       This backend  assumes  a  standard  svn  layout  with  directories  for
69126       branches, tags, and trunk, at the repository root.
69127
69128       depends
69129
69130              · subversion
69131
69132              · pysvn
69133
69134       Changed in version 2014.7.0: The paths to the trunk, branches, and tags
69135       have been  made  configurable,  via  the  config  options  svnfs_trunk,
69136       svnfs_branches,  and  svnfs_tags.   svnfs_mountpoint  was  also  added.
69137       Finally, support for per-remote configuration parameters was added. See
69138       the documentation for more information.
69139
69140
69141   grains modules
69142                     ┌────────────┬────────────────────────────┐
69143cimc        │ Generate   baseline  proxy │
69144                     │            │ minion  grains  for   cimc │
69145                     │            │ hosts.                     │
69146                     ├────────────┼────────────────────────────┤
69147chronos     │ Generate   chronos   proxy │
69148                     │            │ minion grains.             │
69149                     ├────────────┼────────────────────────────┤
69150core        │ The static  grains,  these │
69151                     │            │ are  the core, or built in │
69152                     │            │ grains.                    │
69153                     ├────────────┼────────────────────────────┤
69154disks       │ Detect disks               │
69155                     ├────────────┼────────────────────────────┤
69156esxi        │ Generate  baseline   proxy │
69157                     │            │ minion   grains  for  ESXi │
69158                     │            │ hosts.                     │
69159                     ├────────────┼────────────────────────────┤
69160extra       │                            │
69161                     ├────────────┼────────────────────────────┤
69162fx2         │ Generate  baseline   proxy │
69163                     │            │ minion grains for Dell FX2 │
69164                     │            │ chassis.                   │
69165                     ├────────────┼────────────────────────────┤
69166junos       │ Grains for junos.          │
69167                     ├────────────┼────────────────────────────┤
69168marathon    │ Generate  marathon   proxy │
69169                     │            │ minion grains.             │
69170                     ├────────────┼────────────────────────────┤
69171mdadm       │ Detect MDADM RAIDs         │
69172                     ├────────────┼────────────────────────────┤
69173metadata    │ Grains from cloud metadata │
69174                     │            │ servers at 169.254.169.254 │
69175                     ├────────────┼────────────────────────────┤
69176napalm      │ NAPALM Grains              │
69177                     ├────────────┼────────────────────────────┤
69178opts        │ Simple grain to merge  the │
69179                     │            │ opts   into   the   grains │
69180                     │            │ directly if the grain_opts │
69181                     │            │ configuration value is set │
69182                     ├────────────┼────────────────────────────┤
69183panos       │ Generate   baseline  proxy │
69184                     │            │ minion  grains  for  panos │
69185                     │            │ hosts.                     │
69186                     ├────────────┼────────────────────────────┤
69187philips_hue │ Static   grains   for  the │
69188                     │            │ Philips HUE lamps          │
69189                     ├────────────┼────────────────────────────┤
69190rest_sample │ Generate  baseline   proxy │
69191                     │            │ minion grains              │
69192                     └────────────┴────────────────────────────┘
69193
69194   salt.grains.cimc
69195       Generate baseline proxy minion grains for cimc hosts.
69196
69197       salt.grains.cimc.cimc(proxy=None)
69198
69199   salt.grains.chronos
69200       Generate chronos proxy minion grains.
69201
69202       New in version 2015.8.2.
69203
69204
69205       salt.grains.chronos.kernel()
69206
69207       salt.grains.chronos.os()
69208
69209       salt.grains.chronos.os_data()
69210
69211       salt.grains.chronos.os_family()
69212
69213   salt.grains.core
69214       The static grains, these are the core, or built in grains.
69215
69216       When grains are loaded they are not loaded in the same way that modules
69217       are loaded, grain functions are detected and  executed,  the  functions
69218       MUST  return a dict which will be applied to the main grains dict. This
69219       module will always be executed first, so that any grains loaded here in
69220       the core module can be overwritten just by returning dict keys with the
69221       same value as those returned here
69222
69223       salt.grains.core.append_domain()
69224              Return append_domain if set
69225
69226       salt.grains.core.cwd()
69227              Current working directory
69228
69229       salt.grains.core.default_gateway()
69230              Populates grains which describe whether a server has  a  default
69231              gateway configured or not. Uses ip -4 route show and ip -6 route
69232              show and greps for a default  at  the  beginning  of  any  line.
69233              Assuming  the standard default via <ip> format for default gate‐
69234              ways, it will also parse out the ip address of the default gate‐
69235              way, and put it in ip4_gw or ip6_gw.
69236
69237              If the ip command is unavailable, no grains will be populated.
69238
69239              Currently does not support multiple default gateways. The grains
69240              will be set to the first default gateway found.
69241
69242              List of grains:
69243                 ip4_gw: True  # ip/True/False if default ipv4 gateway ip6_gw:
69244                 True  # ip/True/False if default ipv6 gateway ip_gw: True   #
69245                 True if either of the above is True, False otherwise
69246
69247       salt.grains.core.dns()
69248              Parse the resolver configuration file
69249                 New in version 2016.3.0.
69250
69251
69252       salt.grains.core.fqdns()
69253              Return all known FQDNs for the system by enumerating all  inter‐
69254              faces  and  then  trying to reverse resolve them (excluding 'lo'
69255              interface).
69256
69257       salt.grains.core.get_machine_id()
69258              Provide the machine-id for machine/virtualization combination
69259
69260       salt.grains.core.get_master()
69261              Provides the minion with the name of its master.  This is useful
69262              in states to target other services running on the master.
69263
69264       salt.grains.core.get_server_id()
69265              Provides  an  integer based on the FQDN of a machine.  Useful as
69266              server-id in MySQL replication or anywhere else you'll  need  an
69267              ID like this.
69268
69269       salt.grains.core.hostname()
69270              Return fqdn, hostname, domainname
69271
69272              NOTE:
69273                 On  Windows  the  domain grain may refer to the dns entry for
69274                 the host instead of the Windows domain to which the  host  is
69275                 joined.  It  may  also  be empty if not a part of any domain.
69276                 Refer to the windowsdomain grain instead
69277
69278       salt.grains.core.hwaddr_interfaces()
69279              Provide  a  dict  of  the  connected  interfaces  and  their  hw
69280              addresses (Mac Address)
69281
69282       salt.grains.core.id_()
69283              Return the id
69284
69285       salt.grains.core.ip4_interfaces()
69286              Provide  a  dict  of  the  connected  interfaces  and  their ip4
69287              addresses The addresses will be passed as a list for each inter‐
69288              face
69289
69290       salt.grains.core.ip6_interfaces()
69291              Provide  a  dict  of  the  connected  interfaces  and  their ip6
69292              addresses The addresses will be passed as a list for each inter‐
69293              face
69294
69295       salt.grains.core.ip_fqdn()
69296              Return ip address and FQDN grains
69297
69298       salt.grains.core.ip_interfaces()
69299              Provide  a  dict  of  the  connected  interfaces  and  their  ip
69300              addresses The addresses will be passed as a list for each inter‐
69301              face
69302
69303       salt.grains.core.linux_distribution(**kwargs)
69304
69305       salt.grains.core.locale_info()
69306
69307              Provides
69308                     defaultlanguage defaultencoding
69309
69310       salt.grains.core.os_data()
69311              Return grains pertaining to the operating system
69312
69313       salt.grains.core.path()
69314              Return the path
69315
69316       salt.grains.core.pythonexecutable()
69317              Return the python executable in use
69318
69319       salt.grains.core.pythonpath()
69320              Return the Python path
69321
69322       salt.grains.core.pythonversion()
69323              Return the Python version
69324
69325       salt.grains.core.saltpath()
69326              Return the path of the salt module
69327
69328       salt.grains.core.saltversion()
69329              Return the version of salt
69330
69331       salt.grains.core.saltversioninfo()
69332              Return the version_info of salt
69333                 New in version 0.17.0.
69334
69335
69336       salt.grains.core.zmqversion()
69337              Return the zeromq version
69338
69339   salt.grains.disks
69340       Detect disks
69341
69342       salt.grains.disks.disks()
69343              Return list of disk devices
69344
69345   salt.grains.esxi
69346       Generate baseline proxy minion grains for ESXi hosts.
69347
69348       New in version 2015.8.4.
69349
69350
69351       salt.grains.esxi.esxi()
69352
69353       salt.grains.esxi.kernel()
69354
69355       salt.grains.esxi.os()
69356
69357       salt.grains.esxi.os_family()
69358
69359   salt.grains.extra
69360       salt.grains.extra.config()
69361              Return the grains set in the grains file
69362
69363       salt.grains.extra.shell()
69364              Return the default shell to use on this system
69365
69366   salt.grains.fx2
69367       Generate  baseline proxy minion grains for Dell FX2 chassis.  The chal‐
69368       lenge is that most of Salt isn't bootstrapped yet, so we need to repeat
69369       a  bunch  of  things  that  would normally happen in proxy/fx2.py--just
69370       enough to get data from the chassis to include in grains.
69371
69372       salt.grains.fx2.fx2()
69373
69374       salt.grains.fx2.kernel()
69375
69376       salt.grains.fx2.location()
69377
69378       salt.grains.fx2.os_data()
69379
69380       salt.grains.fx2.os_family()
69381
69382   salt.grains.junos
69383       Grains for junos.  NOTE this is a little complicated--junos can only be
69384       accessed via salt-proxy-minion.Thus, some grains make sense to get them
69385       from the minion (PYTHONPATH), but others don't (ip_interfaces)
69386
69387       salt.grains.junos.defaults()
69388
69389       salt.grains.junos.facts(proxy=None)
69390
69391       salt.grains.junos.os_family()
69392
69393   salt.grains.marathon
69394       Generate marathon proxy minion grains.
69395
69396       New in version 2015.8.2.
69397
69398
69399       salt.grains.marathon.kernel()
69400
69401       salt.grains.marathon.marathon()
69402
69403       salt.grains.marathon.os()
69404
69405       salt.grains.marathon.os_data()
69406
69407       salt.grains.marathon.os_family()
69408
69409   salt.grains.mdadm
69410       Detect MDADM RAIDs
69411
69412       salt.grains.mdadm.mdadm()
69413              Return list of mdadm devices
69414
69415   salt.grains.metadata
69416       Grains from cloud metadata servers at 169.254.169.254
69417
69418       New in version 2017.7.0.
69419
69420
69421       depends
69422              requests
69423
69424       To enable these grains that pull from the http://169.254.169.254/latest
69425       metadata server set metadata_server_grains: True.
69426
69427          metadata_server_grains: True
69428
69429       salt.grains.metadata.metadata()
69430
69431   salt.grains.napalm
69432   NAPALM Grains
69433       codeauthor
69434              Mircea Ulinic <ping@mirceaulinic.net>
69435
69436       maturity
69437              new
69438
69439       depends
69440              napalm
69441
69442       platform
69443              unix
69444
69445   Dependencies
69446       · NAPALM proxy module
69447
69448       New in version 2016.11.0.
69449
69450
69451       salt.grains.napalm.getos(proxy=None)
69452              Returns the Operating System name running on the network device.
69453
69454              Example: junos, iosxr, eos, ios etc.
69455
69456              CLI Example - select all network devices running JunOS:
69457
69458                 salt -G 'os:junos' test.ping
69459
69460       salt.grains.napalm.host(proxy=None)
69461              This  grain  is set by the NAPALM grain module only when running
69462              in a proxy minion.  When Salt is installed directly on the  net‐
69463              work  device, thus running a regular minion, the host grain pro‐
69464              vides the physical hostname of the network device, as  it  would
69465              be  on  an ordinary minion server.  When running in a proxy min‐
69466              ion, host points to the value configured in the  pillar:  NAPALM
69467              proxy module.
69468
69469              NOTE:
69470                 The diference between host and hostname is that host provides
69471                 the physical location - either domain  name  or  IP  address,
69472                 while  hostname  provides  the  hostname as configured on the
69473                 device.  They are not necessarily the same.
69474
69475              New in version 2017.7.0.
69476
69477
69478              CLI Example:
69479
69480                 salt 'device*' grains.get host
69481
69482              Output:
69483
69484                 device1:
69485                     ip-172-31-13-136.us-east-2.compute.internal
69486                 device2:
69487                     ip-172-31-11-193.us-east-2.compute.internal
69488                 device3:
69489                     ip-172-31-2-181.us-east-2.compute.internal
69490
69491       salt.grains.napalm.host_dns(proxy=None)
69492              Return the DNS information of the host.  This grain is a dictio‐
69493              nary having two keys:
69494
69495              · A
69496
69497              · AAAA
69498
69499              NOTE:
69500                 This  grain  is disabled by default, as the proxy startup may
69501                 be slower when the lookup fails.   The  user  can  enable  it
69502                 using  the  napalm_host_dns_grain  option  (in  the pillar or
69503                 proxy configuration file):
69504
69505                     napalm_host_dns_grain: true
69506
69507              New in version 2017.7.0.
69508
69509
69510              CLI Example:
69511
69512                 salt 'device*' grains.get host_dns
69513
69514              Output:
69515
69516                 device1:
69517                     A:
69518                         - 172.31.9.153
69519                     AAAA:
69520                         - fd52:188c:c068::1
69521                 device2:
69522                     A:
69523                         - 172.31.46.249
69524                     AAAA:
69525                         - fdca:3b17:31ab::17
69526                 device3:
69527                     A:
69528                         - 172.31.8.167
69529                     AAAA:
69530                         - fd0f:9fd6:5fab::1
69531
69532       salt.grains.napalm.hostname(proxy=None)
69533              Return the hostname as configured on the network device.
69534
69535              CLI Example:
69536
69537                 salt 'device*' grains.get hostname
69538
69539              Output:
69540
69541                 device1:
69542                     edge01.yyz01
69543                 device2:
69544                     edge01.bjm01
69545                 device3:
69546                     edge01.flw01
69547
69548       salt.grains.napalm.interfaces(proxy=None)
69549              Returns the complete interfaces list of the network device.
69550
69551              Example: ['lc-0/0/0',  'pfe-0/0/0',  'xe-1/3/0',  'lo0',  'irb',
69552              'demux0', 'fxp0']
69553
69554              CLI  Example - select all devices that have a certain interface,
69555              e.g.: xe-1/1/1:
69556
69557                 salt -G 'interfaces:xe-1/1/1' test.ping
69558
69559              Output:
69560
69561                 edge01.yyz01:
69562                     True
69563                 edge01.maa01:
69564                     True
69565                 edge01.syd01:
69566                     True
69567                 edge01.del01:
69568                     True
69569                 edge01.dus01:
69570                     True
69571                 edge01.kix01:
69572                     True
69573
69574       salt.grains.napalm.model(proxy=None)
69575              Returns the network device chassis model.
69576
69577              Example: MX480, ASR-9904-AC etc.
69578
69579              CLI Example - select  all  Juniper  MX480  routers  and  execute
69580              traceroute to 8.8.8.8:
69581
69582                 salt -G 'model:MX480' net.traceroute 8.8.8.8
69583
69584       salt.grains.napalm.optional_args(proxy=None)
69585              Return the connection optional args.
69586
69587              NOTE:
69588                 Sensible data will not be returned.
69589
69590              New in version 2017.7.0.
69591
69592
69593              CLI Example - select all devices connecting via port 1234:
69594
69595                 salt -G 'optional_args:port:1234' test.ping
69596
69597              Output:
69598
69599                 device1:
69600                     True
69601                 device2:
69602                     True
69603
69604       salt.grains.napalm.serial(proxy=None)
69605              Returns the chassis serial number.
69606
69607              Example: FOX1234W00F
69608
69609              CLI Example - select all devices whose serial number begins with
69610              FOX and display the serial number value:
69611
69612                 salt -G 'serial:FOX*' grains.get serial
69613
69614              Output:
69615
69616                 edge01.icn01:
69617                     FOXW00F001
69618                 edge01.del01:
69619                     FOXW00F002
69620                 edge01.yyz01:
69621                     FOXW00F003
69622                 edge01.mrs01:
69623                     FOXW00F004
69624
69625       salt.grains.napalm.uptime(proxy=None)
69626              Returns the uptime in seconds.
69627
69628              CLI Example - select all devices  started/restarted  within  the
69629              last hour:
69630
69631                 salt -G 'uptime<3600' test.ping
69632
69633       salt.grains.napalm.username(proxy=None)
69634              Return the username.
69635
69636              New in version 2017.7.0.
69637
69638
69639              CLI  Example  -  select all devices using foobar as username for
69640              connection:
69641
69642                 salt -G 'username:foobar' test.ping
69643
69644              Output:
69645
69646       salt.grains.napalm.vendor(proxy=None)
69647              Returns the network device vendor.
69648
69649              Example: juniper, cisco, arista etc.
69650
69651              CLI Example - select all devices produced by Cisco and shutdown:
69652
69653                 salt -G 'vendor:cisco' net.cli "shut"
69654
69655       salt.grains.napalm.version(proxy=None)
69656              Returns the OS version.
69657
69658              Example: 13.3R6.5, 6.0.2 etc.
69659
69660              CLI Example - select all network devices running JunOS  13.3R6.5
69661              and return the model:
69662
69663                 salt -G 'os:junos and version:13.3R6.5' grains.get model
69664
69665              Output:
69666
69667                 edge01.bjm01:
69668                     MX2000
69669                 edge01.sjc01:
69670                     MX960
69671                 edge01.mrs01:
69672                     MX480
69673                 edge01.muc01:
69674                     MX240
69675
69676   salt.grains.opts
69677       Simple  grain  to  merge  the  opts  into  the  grains  directly if the
69678       grain_opts configuration value is set
69679
69680       salt.grains.opts.opts()
69681              Return the minion configuration settings
69682
69683   salt.grains.panos
69684       Generate baseline proxy minion grains for panos hosts.
69685
69686       salt.grains.panos.panos(proxy=None)
69687
69688   salt.grains.philips_hue
69689       Static grains for the Philips HUE lamps
69690
69691       New in version 2015.8.3.
69692
69693
69694       salt.grains.philips_hue.kernel()
69695
69696       salt.grains.philips_hue.os()
69697
69698       salt.grains.philips_hue.os_family()
69699
69700       salt.grains.philips_hue.product()
69701
69702       salt.grains.philips_hue.vendor()
69703
69704   salt.grains.rest_sample
69705       Generate baseline proxy minion grains
69706
69707       salt.grains.rest_sample.kernel()
69708
69709       salt.grains.rest_sample.location()
69710
69711       salt.grains.rest_sample.os()
69712
69713       salt.grains.rest_sample.os_data()
69714
69715       salt.grains.rest_sample.os_family()
69716
69717       salt.grains.rest_sample.proxy_functions(proxy)
69718              The loader will execute functions with one argument and  pass  a
69719              reference  to  the  proxymodules  LazyLoader  object.   However,
69720              grains sometimes get called before the LazyLoader object is set‐
69721              up so proxy might be None.
69722
69723   execution modules
69724          Virtual modules
69725
69726   salt.modules.group
69727       group  is  a  virtual  module that is fulfilled by one of the following
69728       modules:
69729
69730                   ┌─────────────────┬────────────────────────────┐
69731                   │Execution Module │ Used for                   │
69732                   ├─────────────────┼────────────────────────────┤
69733groupadd         │ Linux, NetBSD, and OpenBSD │
69734                   │                 │ systems using groupadd(8), │
69735                   │                 │ groupdel(8),  and   group‐ 
69736                   │                 │ mod(8)                     │
69737                   ├─────────────────┼────────────────────────────┤
69738pw_group         │ FreeBSD-based  OSes  using │
69739                   │                 │ pw(8)                      │
69740                   ├─────────────────┼────────────────────────────┤
69741solaris_group    │ Solaris-based  OSes  using │
69742                   │                 │ groupadd(1M),              │
69743                   │                 │ groupdel(1M),  and  group‐ 
69744                   │                 │ mod(1M)                    │
69745                   ├─────────────────┼────────────────────────────┤
69746win_groupadd     │ Windows                    │
69747                   └─────────────────┴────────────────────────────┘
69748
69749   salt.modules.kernelpkg
69750       kernelpkg is a virtual module that is fulfilled by one of the following
69751       modules:
69752
69753                 ┌────────────────────┬────────────────────────────┐
69754                 │Execution Module    │ Used for                   │
69755                 ├────────────────────┼────────────────────────────┤
69756kernelpkg_linux_apt │ Debian/Ubuntu-based   dis‐ │
69757                 │                    │ tros which use apt-get for │
69758                 │                    │ package management         │
69759                 ├────────────────────┼────────────────────────────┤
69760kernelpkg_linux_yum │ RedHat-based  distros  and │
69761                 │                    │ derivatives  using  yum or │
69762                 │                    │ dnf                        
69763                 └────────────────────┴────────────────────────────┘
69764
69765   salt.modules.pkg
69766       pkg is a virtual module that is fulfilled by one of the following  mod‐
69767       ules:
69768
69769                   ┌─────────────────┬────────────────────────────┐
69770                   │Execution Module │ Used for                   │
69771                   ├─────────────────┼────────────────────────────┤
69772aixpkg           │ AIX  OS using installp and │
69773                   │                 │ rpm                        
69774                   ├─────────────────┼────────────────────────────┤
69775aptpkg           │ Debian/Ubuntu-based   dis‐ │
69776                   │                 │ tros  which use apt-get(8)
69777                   │                 │ for package management     │
69778                   ├─────────────────┼────────────────────────────┤
69779mac_brew_pkg     │ Mac OS software management │
69780                   │                 │ using Homebrew
69781                   ├─────────────────┼────────────────────────────┤
69782ebuildpkg        │ Gentoo-based systems (uti‐ │
69783                   │                 │ lizes the  portage  python │
69784                   │                 │ module    as    well    as │
69785                   │                 │ emerge(1))                 │
69786                   ├─────────────────┼────────────────────────────┤
69787freebsdpkg       │ FreeBSD-based  OSes  using │
69788                   │                 │ pkg_add(1)                 │
69789                   ├─────────────────┼────────────────────────────┤
69790openbsdpkg       │ OpenBSD-based  OSes  using │
69791                   │                 │ pkg_add(1)                 │
69792                   ├─────────────────┼────────────────────────────┤
69793pacmanpkg        │ Arch  Linux-based  distros │
69794                   │                 │ using pacman(8)
69795                   ├─────────────────┼────────────────────────────┤
69796pkgin            │ NetBSD-based   OSes  using │
69797                   │                 │ pkgin(1)                   │
69798                   ├─────────────────┼────────────────────────────┤
69799pkgng            │ FreeBSD-based  OSes  using │
69800                   │                 │ pkg(8)                     │
69801                   ├─────────────────┼────────────────────────────┤
69802pkgutil          │ Solaris-based  OSes  using │
69803                   │                 │ OpenCSW's pkgutil(1)       │
69804                   ├─────────────────┼────────────────────────────┤
69805solarispkg       │ Solaris-based  OSes  using │
69806                   │                 │ pkgadd(1M)                 │
69807                   ├─────────────────┼────────────────────────────┤
69808solarisipspkg    │ Solaris-based  OSes  using │
69809                   │                 │ IPS pkg(1)                 │
69810                   ├─────────────────┼────────────────────────────┤
69811win_pkg          │ Salt's   Windows   Package │
69812                   │                 │ Manager                    │
69813                   ├─────────────────┼────────────────────────────┤
69814yumpkg           │ RedHat-based  distros  and │
69815                   │                 │ derivatives  using  yum(8)
69816                   │                 │ or dnf(8)
69817                   ├─────────────────┼────────────────────────────┤
69818zypperpkg        │ SUSE-based  distros  using │
69819                   │                 │ zypper(8)
69820                   └─────────────────┴────────────────────────────┘
69821
69822   salt.modules.service
69823       service is a virtual module that is fulfilled by one of  the  following
69824       modules:
69825
69826                   ┌─────────────────┬────────────────────────────┐
69827                   │Execution Module │ Used for                   │
69828                   ├─────────────────┼────────────────────────────┤
69829debian_service   │ Debian Wheezy and earlier  │
69830                   ├─────────────────┼────────────────────────────┤
69831freebsdservice   │ FreeBSD-based  OSes  using │
69832                   │                 │ service(8)
69833                   ├─────────────────┼────────────────────────────┤
69834gentoo_service   │ Gentoo     Linux     using │
69835                   │                 │ sysvinit and rc-update(8)  │
69836                   ├─────────────────┼────────────────────────────┤
69837mac_service      │ Mac    OS    hosts   using │
69838                   │                 │ launchctl(1)               │
69839                   ├─────────────────┼────────────────────────────┤
69840netbsdservice    │ NetBSD-based OSes          │
69841                   ├─────────────────┼────────────────────────────┤
69842openbsdservice   │ OpenBSD-based OSes         │
69843                   ├─────────────────┼────────────────────────────┤
69844rh_service       │ RedHat-based  distros  and │
69845                   │                 │ derivatives   using   ser‐ 
69846                   │                 │ vice(8) and  chkconfig(8). │
69847                   │                 │ Supports     both     pure │
69848                   │                 │ sysvinit     and     mixed │
69849                   │                 │ sysvinit/upstart systems.  │
69850                   ├─────────────────┼────────────────────────────┤
69851service          │ Fallback    which   simply │
69852                   │                 │ wraps sysvinit scripts     │
69853                   ├─────────────────┼────────────────────────────┤
69854smf_service      │ Solaris-based  OSes  which │
69855                   │                 │ use SMF                    │
69856                   ├─────────────────┼────────────────────────────┤
69857systemd_service  │ Linux  distros  which  use │
69858                   │                 │ systemd                    │
69859                   ├─────────────────┼────────────────────────────┤
69860upstart_service  │ Ubuntu-based distros using │
69861                   │                 │ upstart                    │
69862                   ├─────────────────┼────────────────────────────┤
69863win_service      │ Windows                    │
69864                   └─────────────────┴────────────────────────────┘
69865
69866   salt.modules.shadow
69867       shadow  is  a  virtual module that is fulfilled by one of the following
69868       modules:
69869
69870                    ┌─────────────────┬──────────────────────────┐
69871                    │Execution Module │ Used for                 │
69872                    ├─────────────────┼──────────────────────────┤
69873shadow           │ Linux                    │
69874                    ├─────────────────┼──────────────────────────┤
69875bsd_shadow       │ FreeBSD, OpenBSD, NetBSD │
69876                    ├─────────────────┼──────────────────────────┤
69877solaris_shadow   │ Solaris-based OSes       │
69878                    ├─────────────────┼──────────────────────────┤
69879win_shadow       │ Windows                  │
69880                    └─────────────────┴──────────────────────────┘
69881
69882   salt.modules.user
69883       user is a virtual module that is fulfilled by one of the following mod‐
69884       ules:
69885
69886                   ┌─────────────────┬────────────────────────────┐
69887                   │Execution Module │ Used for                   │
69888                   ├─────────────────┼────────────────────────────┤
69889useradd          │ Linux, NetBSD, and OpenBSD │
69890                   │                 │ systems using  useradd(8), │
69891                   │                 │ userdel(8), and usermod(8)
69892                   ├─────────────────┼────────────────────────────┤
69893pw_user          │ FreeBSD-based  OSes  using │
69894                   │                 │ pw(8)                      │
69895                   ├─────────────────┼────────────────────────────┤
69896solaris_user     │ Solaris-based  OSes  using │
69897                   │                 │ useradd(1M),  userdel(1M), │
69898                   │                 │ and usermod(1M)            │
69899                   ├─────────────────┼────────────────────────────┤
69900mac_user         │ MacOS                      │
69901                   ├─────────────────┼────────────────────────────┤
69902win_useradd      │ Windows                    │
69903                   └─────────────────┴────────────────────────────┘
69904
69905
69906
69907
69908┌──────────────────────────┬──────────────────────────────────────────────────────────────┐
69909acme                      │ ACME / Let's Encrypt  mod‐                                   │
69910│                          │ ule                                                          │
69911├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69912aix_group                 │ Manage groups on Solaris                                     │
69913├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69914aixpkg                    │ Package support for AIX                                      │
69915├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69916aliases                   │ Manage  the information in                                   │
69917│                          │ the aliases file                                             │
69918├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69919alternatives              │ Support  for  Alternatives                                   │
69920│                          │ system                                                       │
69921├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69922ansiblegate               │ Ansible Support                                              │
69923├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69924apache                    │ Support for Apache                                           │
69925├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69926apcups                    │ Module for apcupsd                                           │
69927├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69928apf                       │ Support  for Advanced Pol‐                                   │
69929│                          │ icy Firewall (APF)                                           │
69930├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69931apkpkg                    │ Support for apk                                              │
69932├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69933aptpkg                    │ Support for APT  (Advanced                                   │
69934│                          │ Packaging Tool)                                              │
69935├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69936archive                   │ A module to wrap (non-Win‐                                   │
69937│                          │ dows) archive calls                                          │
69938├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69939arista_pyeapi             │ Arista pyeapi                                                │
69940├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69941artifactory               │ Module for fetching  arti‐                                   │
69942│                          │ facts from Artifactory                                       │
69943├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69944at                        │ Wrapper module for at(1)
69945├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69946at_solaris                │ Wrapper   for   at(1)   on                                   │
69947│                          │ Solaris-like systems                                         │
69948├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69949augeas_cfg                │ Manages      configuration                                   │
69950│                          │ files via augeas                                             │
69951├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69952aws_sqs                   │ Support   for  the  Amazon                                   │
69953│                          │ Simple Queue Service.                                        │
69954├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69955azurearm_compute          │ Azure (ARM) Compute Execu‐                                   │
69956│                          │ tion Module                                                  │
69957├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69958azurearm_network          │ Azure (ARM) Network Execu‐                                   │
69959│                          │ tion Module                                                  │
69960├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69961azurearm_resource         │ Azure (ARM) Resource  Exe‐                                   │
69962│                          │ cution Module                                                │
69963├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69964bamboohr                  │ Support for BambooHR                                         │
69965├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69966bcache                    │ Module for managing BCache                                   │
69967│                          │ sets                                                         │
69968├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69969beacons                   │ Module  for  managing  the                                   │
69970│                          │ Salt beacons on a minion                                     │
69971├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69972bigip                     │ An  execution module which                                   │
69973│                          │ can manipulate an f5 bigip                                   │
69974│                          │ via iControl REST                                            │
69975├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69976bluez_bluetooth           │ Support    for   Bluetooth                                   │
69977│                          │ (using BlueZ in Linux).                                      │
69978├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69979boto3_elasticache         │ Execution module for  Ama‐                                   │
69980│                          │ zon    Elasticache   using                                   │
69981│                          │ boto3                                                        │
69982├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69983boto3_elasticsearch       │ Connection module for Ama‐                                   │
69984│                          │ zon Elasticsearch Service                                    │
69985├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69986boto3_route53             │ Execution  module for Ama‐                                   │
69987│                          │ zon    Route53     written                                   │
69988│                          │ against Boto 3                                               │
69989├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69990boto_apigateway           │ Connection module for Ama‐                                   │
69991│                          │ zon APIGateway                                               │
69992├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69993boto_asg                  │ Connection module for Ama‐                                   │
69994│                          │ zon Autoscale Groups                                         │
69995├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69996boto_cfn                  │ Connection module for Ama‐                                   │
69997│                          │ zon Cloud Formation                                          │
69998├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69999boto_cloudfront           │ Connection module for Ama‐                                   │
70000│                          │ zon CloudFront                                               │
70001├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70002boto_cloudtrail           │ Connection module for Ama‐                                   │
70003│                          │ zon CloudTrail                                               │
70004├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70005boto_cloudwatch           │ Connection module for Ama‐                                   │
70006│                          │ zon CloudWatch                                               │
70007├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70008boto_cloudwatch_event     │ Connection module for Ama‐                                   │
70009│                          │ zon CloudWatch Events                                        │
70010├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70011boto_cognitoidentity      │ Connection module for Ama‐                                   │
70012│                          │ zon CognitoIdentity                                          │
70013├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70014boto_datapipeline         │ Connection module for Ama‐                                   │
70015│                          │ zon Data Pipeline                                            │
70016├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70017boto_dynamodb             │ Connection module for Ama‐                                   │
70018│                          │ zon DynamoDB                                                 │
70019├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70020boto_ec2                  │ Connection module for Ama‐                                   │
70021│                          │ zon EC2                                                      │
70022├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70023boto_efs                  │ Connection module for Ama‐                                   │
70024│                          │ zon EFS                                                      │
70025├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70026boto_elasticache          │ Connection module for Ama‐                                   │
70027│                          │ zon Elasticache                                              │
70028├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70029boto_elasticsearch_domain │ Connection module for Ama‐                                   │
70030│                          │ zon Elasticsearch Service                                    │
70031├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70032boto_elb                  │ Connection module for Ama‐                                   │
70033│                          │ zon ELB                                                      │
70034├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70035boto_elbv2                │ Connection module for Ama‐                                   │
70036│                          │ zon ALB                                                      │
70037├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70038boto_iam                  │ Connection module for Ama‐                                   │
70039│                          │ zon IAM                                                      │
70040├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70041boto_iot                  │ Connection module for Ama‐                                   │
70042│                          │ zon IoT                                                      │
70043├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70044boto_kinesis              │ Connection module for Ama‐                                   │
70045│                          │ zon Kinesis                                                  │
70046├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70047boto_kms                  │ Connection module for Ama‐                                   │
70048│                          │ zon KMS                                                      │
70049├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70050boto_lambda               │ Connection module for Ama‐                                   │
70051│                          │ zon Lambda                                                   │
70052├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70053boto_rds                  │ Connection module for Ama‐                                   │
70054│                          │ zon RDS                                                      │
70055├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70056boto_route53              │ Connection module for Ama‐                                   │
70057│                          │ zon Route53                                                  │
70058├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70059boto_s3_bucket            │ Connection module for Ama‐                                   │
70060│                          │ zon S3 Buckets                                               │
70061├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70062boto_secgroup             │ Connection module for Ama‐                                   │
70063│                          │ zon Security Groups                                          │
70064├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70065boto_sns                  │ Connection module for Ama‐                                   │
70066│                          │ zon SNS                                                      │
70067├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70068boto_sqs                  │ Connection module for Ama‐                                   │
70069│                          │ zon SQS                                                      │
70070├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70071boto_vpc                  │ Connection module for Ama‐                                   │
70072│                          │ zon VPC                                                      │
70073├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70074bower                     │ Manage   and  query  Bower                                   │
70075│                          │ packages                                                     │
70076├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70077bridge                    │ Module for  gathering  and                                   │
70078│                          │ managing bridging informa‐                                   │
70079│                          │ tion                                                         │
70080├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70081bsd_shadow                │ Manage the password  data‐                                   │
70082│                          │ base on BSD systems                                          │
70083├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70084btrfs                     │ Module  for managing BTRFS                                   │
70085│                          │ file systems.                                                │
70086├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70087cabal                     │ Manage  and  query   Cabal                                   │
70088│                          │ packages                                                     │
70089├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70090capirca_acl               │ Capirca ACL                                                  │
70091├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70092cassandra                 │ Cassandra  NoSQL  Database                                   │
70093│                          │ Module                                                       │
70094├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70095cassandra_cql             │ Cassandra Database Module                                    │
70096├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70097celery                    │ Support   for   scheduling                                   │
70098│                          │ celery tasks.                                                │
70099├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70100ceph                      │ Module   to  provide  ceph                                   │
70101│                          │ control with salt.                                           │
70102├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70103chassis                   │ Glue execution  module  to                                   │
70104│                          │ link  to the fx2 proxymod‐                                   
70105│                          │ ule.                                                         │
70106└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70107
70108
70109chef                      │ Execute chef in server  or                                   │
70110│                          │ solo mode                                                    │
70111├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70112chocolatey                │ A dead simple module wrap‐                                   │
70113│                          │ ping calls to  the  Choco‐                                   │
70114│                          │ latey  package  manager (‐                                   │
70115│                          │ http://chocolatey.org)                                       │
70116├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70117chronos                   │ Module providing a  simple                                   │
70118│                          │ management  interface to a                                   │
70119│                          │ chronos cluster.                                             │
70120├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70121cimc                      │ Module  to  provide  Cisco                                   │
70122│                          │ UCS compatibility to Salt                                    │
70123├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70124ciscoconfparse_mod        │ Execution    module    for                                   │
70125│                          │ ciscoconfparse
70126├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70127cisconso                  │ Execution module for Cisco                                   │
70128│                          │ Network  Services  Orches‐                                   │
70129│                          │ trator Proxy minions                                         │
70130├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70131cloud                     │ Salt-specific    interface                                   │
70132│                          │ for   calling  Salt  Cloud                                   │
70133│                          │ directly                                                     │
70134├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70135cmdmod                    │ A module for shelling out.                                   │
70136├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70137composer                  │ Use  composer  to  install                                   │
70138│                          │ PHP   dependencies  for  a                                   │
70139│                          │ directory                                                    │
70140├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70141config                    │ Return config information                                    │
70142├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70143consul                    │ Interact with Consul                                         │
70144├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70145container_resource        │ Common resources  for  LXC                                   │
70146│                          │ and   systemd-nspawn  con‐                                   │
70147│                          │ tainers                                                      │
70148├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70149cp                        │ Minion side functions  for                                   │
70150│                          │ salt-cp                                                      │
70151├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70152cpan                      │ Manage  Perl modules using                                   │
70153│                          │ CPAN                                                         │
70154├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70155cron                      │ Work with cron                                               │
70156├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70157csf                       │ Support for Config  Server                                   │
70158│                          │ Firewall (CSF)                                               │
70159├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70160cyg                       │ Manage cygwin packages.                                      │
70161├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70162daemontools               │ daemontools  service  mod‐                                   │
70163│                          │ ule.                                                         │
70164├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70165data                      │ Manage a local  persistent                                   │
70166│                          │ data  structure  that  can                                   │
70167│                          │ hold  any  arbitrary  data                                   │
70168│                          │ specific to the minion                                       │
70169├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70170datadog_api               │ An  execution  module that                                   │
70171│                          │ interacts with the Datadog                                   │
70172│                          │ API                                                          │
70173├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70174ddns                      │ Support   for   RFC   2136                                   │
70175│                          │ dynamic DNS updates.                                         │
70176├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70177deb_apache                │ Support for Apache                                           │
70178├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70179deb_postgres              │ Module to provide Postgres                                   │
70180│                          │ compatibility  to salt for                                   │
70181│                          │ debian   family   specific                                   │
70182│                          │ tools.                                                       │
70183├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70184debuild_pkgbuild          │ Debian   Package   builder                                   │
70185│                          │ system                                                       │
70186├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70187debconfmod                │ Support for Debconf                                          │
70188├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70189debian_ip                 │ The networking module  for                                   │
70190│                          │ Debian-based distros                                         │
70191├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70192debian_service            │ Service support for Debian                                   │
70193│                          │ systems (uses  update-rc.d                                   │
70194│                          │ and /sbin/service)                                           │
70195├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70196defaults                  │ Module  to  work with salt                                   │
70197│                          │ formula defaults files                                       │
70198├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70199devmap                    │ Device-Mapper module                                         │
70200├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70201dig                       │ Compendium of generic  DNS                                   │
70202│                          │ utilities.                                                   │
70203├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70204disk                      │ Module  for managing disks                                   │
70205│                          │ and blockdevices                                             │
70206├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70207djangomod                 │ Manage Django sites                                          │
70208├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70209dnsmasq                   │ Module for  managing  dns‐                                   │
70210│                          │ masq                                                         │
70211├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70212dnsutil                   │ Compendium  of generic DNS                                   │
70213│                          │ utilities.                                                   │
70214├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70215dockercompose             │ Module      to      import                                   │
70216│                          │ docker-compose  via  salt‐                                   │
70217│                          │ stack                                                        │
70218├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70219dockermod                 │ Management of Docker  Con‐                                   │
70220│                          │ tainers                                                      │
70221├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70222dpkg_lowpkg               │ Support for DEB packages                                     │
70223├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70224drac                      │ Manage Dell DRAC                                             │
70225├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70226dracr                     │ Manage Dell DRAC.                                            │
70227├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70228drbd                      │ DRBD administration module                                   │
70229├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70230dummyproxy_pkg            │ Package  support  for  the                                   │
70231│                          │ dummy proxy  used  by  the                                   │
70232│                          │ test suite                                                   │
70233├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70234dummyproxy_service        │ Provide the service module                                   │
70235│                          │ for the dummy  proxy  used                                   │
70236│                          │ in integration tests                                         │
70237├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70238ebuildpkg                 │ Support for Portage                                          │
70239├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70240eix                       │ Support for Eix                                              │
70241├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70242elasticsearch             │ Elasticsearch - A distrib‐                                   │
70243│                          │ uted  RESTful  search  and                                   │
70244│                          │ analytics server                                             │
70245├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70246environ                   │ Support  for  getting  and                                   │
70247│                          │ setting  the   environment                                   │
70248│                          │ variables  of  the current                                   │
70249│                          │ salt process.                                                │
70250├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70251eselect                   │ Support for eselect,  Gen‐                                   │
70252│                          │ too's   configuration  and                                   │
70253│                          │ management tool.                                             │
70254├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70255esxi                      │ Glues the  VMware  vSphere                                   │
70256│                          │ Execution  Module  to  the                                   │
70257│                          │ VMware ESXi Proxy  Minions                                   │
70258│                          │ to the esxi proxymodule.                                     │
70259├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70260etcd_mod                  │ Execution  module  to work                                   │
70261│                          │ with etcd                                                    │
70262├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70263ethtool                   │ Module for running ethtool                                   │
70264│                          │ command                                                      │
70265├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70266event                     │ Use  the Salt Event System                                   │
70267│                          │ to fire  events  from  the                                   │
70268│                          │ master  to  the minion and                                   │
70269│                          │ vice-versa.                                                  │
70270├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70271extfs                     │ Module    for     managing                                   │
70272│                          │ ext2/3/4 file systems                                        │
70273├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70274file                      │ Manage  information  about                                   │
70275│                          │ regular  files,   directo‐                                   │
70276│                          │ ries, and special files on                                   │
70277│                          │ the minion, set/read user,                                   │
70278│                          │ group, mode, and data                                        │
70279├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70280firewalld                 │ Support for firewalld.                                       │
70281├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70282freebsd_sysctl            │ Module   for  viewing  and                                   │
70283│                          │ modifying  sysctl  parame‐                                   │
70284│                          │ ters                                                         │
70285├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70286freebsd_update            │ Support for freebsd-update                                   │
70287│                          │ utility on FreeBSD.                                          │
70288├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70289freebsdjail               │ The jail module for  Free‐                                   │
70290│                          │ BSD                                                          │
70291├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70292freebsdkmod               │ Module  to  manage FreeBSD                                   │
70293│                          │ kernel modules                                               │
70294├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70295freebsdpkg                │ Remote   package   support                                   │
70296│                          │ using pkg_add(1)                                             │
70297├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70298freebsdports              │ Install  software from the                                   │
70299│                          │ FreeBSD ports(7) system                                      │
70300├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70301freebsdservice            │ The  service  module   for                                   │
70302│                          │ FreeBSD                                                      │
70303├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70304gem                       │ Manage ruby gems.                                            │
70305├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70306genesis                   │ Module  for  managing con‐                                   │
70307│                          │ tainer and VM images                                         │
70308└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70309
70310gentoo_service            │ Top level package  command                                   │
70311│                          │ wrapper, used to translate                                   │
70312│                          │ the os detected by  grains                                   │
70313│                          │ to   the  correct  service                                   │
70314│                          │ manager                                                      │
70315├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70316gentoolkitmod             │ Support for Gentoolkit                                       │
70317├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70318git                       │ Support for the Git SCM                                      │
70319├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70320github                    │ Module   for   interacting                                   │
70321│                          │ with the GitHub v3 API.                                      │
70322├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70323glance                    │ Module  for handling open‐                                   │
70324│                          │ stack glance calls.                                          │
70325├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70326glanceng                  │ Glance module  for  inter‐                                   │
70327│                          │ acting    with   OpenStack                                   │
70328│                          │ Glance                                                       │
70329├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70330glusterfs                 │ Manage a glusterfs pool                                      │
70331├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70332gnomedesktop              │ GNOME implementations                                        │
70333├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70334google_chat               │ Module  for  sending  mes‐                                   │
70335│                          │ sages to google chat.                                        │
70336├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70337gpg                       │ Manage  a  GPG  keychains,                                   │
70338│                          │ add  keys,  create   keys,                                   │
70339│                          │ retrieve  keys  from  key‐                                   │
70340│                          │ servers.                                                     │
70341├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70342grafana4                  │ Module  for  working  with                                   │
70343│                          │ the Grafana v4 API                                           │
70344├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70345grains                    │ Return/control  aspects of                                   │
70346│                          │ the grains data                                              │
70347├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70348groupadd                  │ Manage  groups  on  Linux,                                   │
70349│                          │ OpenBSD and NetBSD                                           │
70350├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70351grub_legacy               │ Support for GRUB Legacy                                      │
70352├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70353guestfs                   │ Interact    with   virtual                                   │
70354│                          │ machine     images     via                                   │
70355│                          │ libguestfs                                                   │
70356├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70357hadoop                    │ Support for hadoop                                           │
70358├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70359haproxyconn               │ Support for haproxy                                          │
70360├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70361hashutil                  │ A  collection  of  hashing                                   │
70362│                          │ and encoding functions                                       │
70363├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70364heat                      │ Module for handling  Open‐                                   │
70365│                          │ Stack Heat calls                                             │
70366├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70367hg                        │ Support  for the Mercurial                                   │
70368│                          │ SCM                                                          │
70369├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70370hosts                     │ Manage the information  in                                   │
70371│                          │ the hosts file                                               │
70372├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70373http                      │ Module  for making various                                   │
70374│                          │ web calls.                                                   │
70375├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70376ifttt                     │ Support for IFTTT                                            │
70377├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70378ilo                       │ Manage HP ILO                                                │
70379├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70380icinga2                   │ Module to provide  icinga2                                   │
70381│                          │ compatibility to salt.                                       │
70382├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70383incron                    │ Work with incron                                             │
70384├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70385influxdbmod               │ InfluxDB  -  A distributed                                   │
70386│                          │ time series database                                         │
70387├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70388influxdb08mod             │ InfluxDB -  A  distributed                                   │
70389│                          │ time series database                                         │
70390├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70391infoblox                  │ This   module   have  been                                   │
70392│                          │ tested  on  infoblox   API                                   │
70393│                          │ v1.2.1,  other versions of                                   │
70394│                          │ the API  are  likly  work‐                                   │
70395│                          │ able.                                                        │
70396├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70397ini_manage                │ Edit ini files                                               │
70398├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70399inspectlib                │                                                              │
70400├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70401inspectlib.collector      │                                                              │
70402├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70403inspectlib.dbhandle       │                                                              │
70404├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70405inspectlib.entities       │                                                              │
70406├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70407inspectlib.exceptions     │                                                              │
70408├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70409inspectlib.fsdb           │                                                              │
70410│                          │        codeauthor                                            
70411│                          │               Bo  Maryniuk                                   │
70412│                          │               <bo@suse.de>                                   │
70413├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70414inspectlib.kiwiproc       │                                                              │
70415├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70416inspectlib.query          │                                                              │
70417├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70418inspector                 │ Module  for  full   system                                   │
70419│                          │ inspection.                                                  │
70420├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70421introspect                │ Functions    to    perform                                   │
70422│                          │ introspection on a minion,                                   │
70423│                          │ and  return data in a for‐                                   │
70424│                          │ mat usable by Salt States                                    │
70425├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70426iosconfig                 │ Cisco  IOS   configuration                                   │
70427│                          │ manipulation helpers                                         │
70428├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70429ipmi                      │ Support IPMI commands over                                   │
70430│                          │ LAN.                                                         │
70431├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70432ipset                     │ Support for ipset                                            │
70433├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70434iptables                  │ Support for iptables                                         │
70435├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70436iwtools                   │ Support for Wireless Tools                                   │
70437│                          │ for Linux                                                    │
70438├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70439jboss7                    │ Module  for managing JBoss                                   │
70440│                          │ AS  7  through   the   CLI                                   │
70441│                          │ interface.                                                   │
70442├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70443jboss7_cli                │ Module    for    low-level                                   │
70444│                          │ interaction with  JbossAS7                                   │
70445│                          │ through CLI.                                                 │
70446├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70447jenkinsmod                │ Module   for   controlling                                   │
70448│                          │ Jenkins                                                      │
70449├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70450jinja                     │ Module for checking  jinja                                   │
70451│                          │ maps   and  verifying  the                                   │
70452│                          │ result     of      loading                                   │
70453│                          │ JSON/YAML files                                              │
70454├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70455jira_mod                  │ JIRA Execution module                                        │
70456├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70457junos                     │ Module  to  interact  with                                   │
70458│                          │ Junos devices.                                               │
70459├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70460k8s                       │ Salt  module   to   manage                                   │
70461│                          │ Kubernetes cluster                                           │
70462├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70463kapacitor                 │ Kapacitor  execution  mod‐                                   │
70464│                          │ ule.                                                         │
70465├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70466kerberos                  │ Manage Kerberos KDC                                          │
70467├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70468kernelpkg_linux_apt       │ Manage Linux kernel  pack‐                                   │
70469│                          │ ages on APT-based systems                                    │
70470├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70471kernelpkg_linux_yum       │ Manage  Linux kernel pack‐                                   │
70472│                          │ ages on YUM-based systems                                    │
70473├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70474key                       │ Functions to view the min‐                                   │
70475│                          │ ion's  public key informa‐                                   │
70476│                          │ tion                                                         │
70477├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70478keyboard                  │ Module for  managing  key‐                                   │
70479│                          │ boards     on    supported                                   │
70480│                          │ POSIX-like  systems  using                                   │
70481│                          │ systemd,  or  such as Red‐                                   │
70482│                          │ hat, Debian and Gentoo.                                      │
70483├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70484keystone                  │ Module for handling  open‐                                   │
70485│                          │ stack keystone calls.                                        │
70486├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70487keystoneng                │ Keystone module for inter‐                                   │
70488│                          │ acting with OpenStack Key‐                                   │
70489│                          │ stone                                                        │
70490├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70491keystore                  │ Module  to  interact  with                                   │
70492│                          │ keystores                                                    │
70493├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70494kmod                      │ Module  to  manage   Linux                                   │
70495│                          │ kernel modules                                               │
70496├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70497kubernetesmod             │ Module for handling kuber‐                                   │
70498│                          │ netes calls.                                                 │
70499├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70500launchctl_service         │ Module for the  management                                   │
70501│                          │ of  MacOS systems that use                                   │
70502│                          │ launchd/launchctl                                            │
70503├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70504layman                    │ Support for Layman                                           │
70505├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70506ldap3                     │ Query and modify  an  LDAP                                   │
70507│                          │ database      (alternative                                   │
70508│                          │ interface)                                                   │
70509└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70510
70511ldapmod                   │ Salt  interface  to   LDAP                                   │
70512│                          │ commands                                                     │
70513├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70514libcloud_compute          │ Apache   Libcloud  Compute                                   │
70515│                          │ Management                                                   │
70516├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70517libcloud_dns              │ Apache Libcloud  DNS  Man‐                                   │
70518│                          │ agement                                                      │
70519├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70520libcloud_loadbalancer     │ Apache  Libcloud Load Bal‐                                   │
70521│                          │ ancer Management                                             │
70522├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70523libcloud_storage          │ Apache  Libcloud   Storage                                   │
70524│                          │ Management                                                   │
70525├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70526linux_acl                 │ Support   for  Linux  File                                   │
70527│                          │ Access Control Lists                                         │
70528├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70529linux_ip                  │ The networking module  for                                   │
70530│                          │ Non-RH/Deb Linux distros                                     │
70531├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70532linux_lvm                 │ Support for Linux LVM2                                       │
70533├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70534linux_sysctl              │ Module   for  viewing  and                                   │
70535│                          │ modifying  sysctl  parame‐                                   │
70536│                          │ ters                                                         │
70537├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70538localemod                 │ Module     for    managing                                   │
70539│                          │ locales on POSIX-like sys‐                                   │
70540│                          │ tems.                                                        │
70541├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70542locate                    │ Module   for   using   the                                   │
70543│                          │ locate utilities                                             │
70544├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70545logadm                    │ Module    for     managing                                   │
70546│                          │ Solaris  logadm  based log                                   │
70547│                          │ rotations.                                                   │
70548├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70549logmod                    │ On-demand logging                                            │
70550├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70551logrotate                 │ Module for managing logro‐                                   │
70552│                          │ tate.                                                        │
70553├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70554lvs                       │ Support   for  LVS  (Linux                                   │
70555│                          │ Virtual Server)                                              │
70556├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70557lxc                       │ Control  Linux  Containers                                   │
70558│                          │ via Salt                                                     │
70559├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70560lxd                       │ Module  for  managing  the                                   │
70561│                          │ LXD daemon  and  its  con‐                                   │
70562│                          │ tainers.                                                     │
70563├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70564mac_assistive             │ This  module allows you to                                   │
70565│                          │ manage assistive access on                                   │
70566│                          │ macOS minions with 10.9+                                     │
70567├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70568mac_brew_pkg              │ Homebrew for macOS                                           │
70569├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70570macdefaults               │ Set defaults on Mac OS                                       │
70571├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70572mac_desktop               │ macOS  implementations  of                                   │
70573│                          │ various  commands  in  the                                   │
70574│                          │ "desktop" interface                                          │
70575├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70576mac_group                 │ Manage  groups  on  Mac OS                                   │
70577│                          │ 10.7+                                                        │
70578├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70579mac_keychain              │ Install certificates  into                                   │
70580│                          │ the keychain on Mac OS                                       │
70581├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70582macpackage                │ Install  pkg, dmg and .app                                   │
70583│                          │ applications on macOS min‐                                   │
70584│                          │ ions.                                                        │
70585├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70586mac_pkgutil               │ Installer support for mac‐                                   │
70587│                          │ OS.                                                          │
70588├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70589mac_portspkg              │ Support for MacPorts under                                   │
70590│                          │ macOS.                                                       │
70591├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70592mac_power                 │ Module  for  editing power                                   │
70593│                          │ settings on macOS                                            │
70594├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70595mac_service               │ The  service  module   for                                   │
70596│                          │ macOS                                                        │
70597├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70598mac_shadow                │ Manage  macOS local direc‐                                   │
70599│                          │ tory passwords  and  poli‐                                   │
70600│                          │ cies                                                         │
70601├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70602mac_softwareupdate        │ Support  for the software‐                                   │
70603│                          │ update command on MacOS.                                     │
70604├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70605mac_sysctl                │ Module  for  viewing   and                                   │
70606│                          │ modifying  sysctl  parame‐                                   │
70607│                          │ ters                                                         │
70608├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70609mac_system                │ System module  for  sleep‐                                   │
70610│                          │ ing, restarting, and shut‐                                   │
70611│                          │ ting down  the  system  on                                   │
70612│                          │ Mac OS X                                                     │
70613├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70614mac_timezone              │ Module     for     editing                                   │
70615│                          │ date/time settings on mac‐                                   │
70616│                          │ OS                                                           │
70617├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70618mac_user                  │ Manage  users  on  Mac  OS                                   │
70619│                          │ 10.7+                                                        │
70620├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70621mac_xattr                 │ This module allows you  to                                   │
70622│                          │ manage extended attributes                                   │
70623│                          │ on files or directories                                      │
70624├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70625makeconf                  │ Support   for    modifying                                   │
70626│                          │ make.conf under Gentoo                                       │
70627├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70628mandrill                  │ Mandrill                                                     │
70629├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70630marathon                  │ Module  providing a simple                                   │
70631│                          │ management interface to  a                                   │
70632│                          │ marathon cluster.                                            │
70633├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70634match                     │ The  match  module  allows                                   │
70635│                          │ for match routines  to  be                                   │
70636│                          │ run  and  determine target                                   │
70637│                          │ specs                                                        │
70638├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70639mattermost                │ Module  for  sending  mes‐                                   │
70640│                          │ sages to Mattermost                                          │
70641├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70642mdadm_raid                │ Salt module to manage RAID                                   │
70643│                          │ arrays with mdadm                                            │
70644├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70645mdata                     │ Module   for    managaging                                   │
70646│                          │ metadata in SmartOS Zones                                    │
70647├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70648memcached                 │ Module  for  Management of                                   │
70649│                          │ Memcached Keys                                               │
70650├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70651mine                      │ The function cache  system                                   │
70652│                          │ allows   for  data  to  be                                   │
70653│                          │ stored on the master so it                                   │
70654│                          │ can   be  easily  read  by                                   │
70655│                          │ other minions                                                │
70656├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70657minion                    │ Module to provide informa‐                                   │
70658│                          │ tion about minions                                           │
70659├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70660mod_random                │ Provides access to random‐                                   │
70661│                          │ ness generators.                                             │
70662├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70663modjk                     │ Control  Modjk   via   the                                   │
70664│                          │ Apache   Tomcat   "Status"                                   │
70665│                          │ worker                  (‐                                   │
70666│                          │ http://tom
70667│                          │ cat.apache.org/connec‐
70668│                          │ tors-doc/reference/sta‐
70669│                          │ tus.html)                                                    │
70670├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70671mongodb                   │ Module to provide  MongoDB                                   │
70672│                          │ functionality to Salt                                        │
70673├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70674monit                     │ Monit service module.                                        │
70675├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70676moosefs                   │ Module  for  gathering and                                   │
70677│                          │ managing information about                                   │
70678│                          │ MooseFS                                                      │
70679├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70680mount                     │ Salt module to manage Unix                                   │
70681│                          │ mounts and the fstab file                                    │
70682├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70683mssql                     │ Module to provide  MS  SQL                                   │
70684│                          │ Server   compatibility  to                                   │
70685│                          │ salt.                                                        │
70686├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70687msteams                   │ Module  for  sending  mes‐                                   │
70688│                          │ sages to MS Teams                                            │
70689├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70690munin                     │ Run  munin  plugins/checks                                   │
70691│                          │ from salt and  format  the                                   │
70692│                          │ output as data.                                              │
70693├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70694mysql                     │ Module  to  provide  MySQL                                   │
70695│                          │ compatibility to salt.                                       │
70696├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70697nacl                      │ This module helps  include                                   │
70698│                          │ encrypted   passwords   in                                   │
70699│                          │ pillars, grains  and  salt                                   │
70700│                          │ state files.                                                 │
70701├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70702nagios                    │ Run  nagios plugins/checks                                   │
70703│                          │ from  salt  and  get   the                                   │
70704│                          │ return as data.                                              │
70705├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70706nagios_rpc                │ Check  Host & Service sta‐                                   │
70707│                          │ tus from Nagios  via  JSON                                   │
70708│                          │ RPC.                                                         │
70709└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70710
70711
70712namecheap_domains_dns     │ Namecheap DNS Management                                     │
70713├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70714namecheap_domains         │ Namecheap  Domain  Manage‐                                   │
70715│                          │ ment                                                         │
70716├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70717namecheap_domains_ns      │ Namecheap Nameserver  Man‐                                   │
70718│                          │ agement                                                      │
70719├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70720namecheap_ssl             │ Namecheap  SSL Certificate                                   │
70721│                          │ Management                                                   │
70722├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70723namecheap_users           │ Namecheap User Management                                    │
70724├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70725napalm_mod                │ NAPALM helpers                                               │
70726├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70727napalm_netacl             │ NAPALM ACL                                                   │
70728├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70729napalm_bgp                │ NAPALM BGP                                                   │
70730├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70731napalm_formula            │ NAPALM Formula helpers                                       │
70732├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70733napalm_mod                │ NAPALM helpers                                               │
70734├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70735napalm_network            │ NAPALM Network                                               │
70736├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70737napalm_ntp                │ NAPALM NTP                                                   │
70738├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70739napalm_probes             │ NAPALM Probes                                                │
70740├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70741napalm_route              │ NAPALM Route                                                 │
70742├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70743napalm_snmp               │ NAPALM SNMP                                                  │
70744├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70745napalm_users              │ NAPALM Users                                                 │
70746├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70747napalm_yang_mod           │ NAPALM YANG                                                  │
70748├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70749netaddress                │ Module for getting  infor‐                                   │
70750│                          │ mation    about    network                                   │
70751│                          │ addresses.                                                   │
70752├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70753netbox                    │ NetBox                                                       │
70754├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70755netbsd_sysctl             │ Module  for  viewing   and                                   │
70756│                          │ modifying  sysctl  parame‐                                   │
70757│                          │ ters                                                         │
70758├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70759netbsdservice             │ The  service  module   for                                   │
70760│                          │ NetBSD                                                       │
70761├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70762netmiko_mod               │ Netmiko Execution Module                                     │
70763├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70764netscaler                 │ Module  to  provide Citrix                                   │
70765│                          │ Netscaler compatibility to                                   │
70766│                          │ Salt    (compatible   with                                   │
70767│                          │ netscaler 9.2+)                                              │
70768├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70769network                   │ Module for  gathering  and                                   │
70770│                          │ managing  network informa‐                                   │
70771│                          │ tion                                                         │
70772├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70773neutron                   │ Module for handling  Open‐                                   │
70774│                          │ Stack Neutron calls                                          │
70775├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70776neutronng                 │ Neutron  module for inter‐                                   │
70777│                          │ acting with OpenStack Neu‐                                   │
70778│                          │ tron                                                         │
70779├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70780nfs3                      │ Module  for  managing  NFS                                   │
70781│                          │ version 3.                                                   │
70782├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70783nftables                  │ Support for nftables                                         │
70784├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70785nginx                     │ Support for nginx                                            │
70786├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70787nilrt_ip                  │ The networking module  for                                   │
70788│                          │ NI Linux Real-Time distro                                    │
70789├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70790nix                       │ Work with Nix packages                                       │
70791├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70792nova                      │ Module  for handling Open‐                                   │
70793│                          │ Stack Nova calls                                             │
70794├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70795npm                       │ Manage and query NPM pack‐                                   │
70796│                          │ ages.                                                        │
70797├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70798nspawn                    │ Manage nspawn containers                                     │
70799├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70800nxos                      │ Execution module for Cisco                                   │
70801│                          │ NX OS Switches Proxy  min‐                                   │
70802│                          │ ions                                                         │
70803├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70804nxos_api                  │ Execution module to manage                                   │
70805│                          │ Cisco    Nexus    Switches                                   │
70806│                          │ (NX-OS) over the NX-API                                      │
70807├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70808omapi                     │ This module interacts with                                   │
70809│                          │ an  ISC  DHCP  Server  via                                   │
70810│                          │ OMAPI.                                                       │
70811├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70812openbsd_sysctl            │ Module   for  viewing  and                                   │
70813│                          │ modifying  OpenBSD  sysctl                                   │
70814│                          │ parameters                                                   │
70815├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70816openbsdpkg                │ Package  support for Open‐                                   │
70817│                          │ BSD                                                          │
70818├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70819openbsdrcctl_service      │ The rcctl  service  module                                   │
70820│                          │ for OpenBSD                                                  │
70821├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70822openbsdservice            │ The   service  module  for                                   │
70823│                          │ OpenBSD                                                      │
70824├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70825openscap                  │ Module for  OpenSCAP  Man‐                                   │
70826│                          │ agement                                                      │
70827├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70828openstack_config          │ Modify,    retrieve,    or                                   │
70829│                          │ delete values  from  Open‐                                   │
70830│                          │ Stack configuration files.                                   │
70831├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70832openstack_mng             │ Module  for OpenStack Man‐                                   │
70833│                          │ agement                                                      │
70834├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70835openvswitch               │ Support for Open vSwitch -                                   │
70836│                          │ module   with  basic  Open                                   │
70837│                          │ vSwitch commands.                                            │
70838├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70839opkg                      │ Support for Opkg                                             │
70840├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70841opsgenie                  │ Module for sending data to                                   │
70842│                          │ OpsGenie                                                     │
70843├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70844oracle                    │ Oracle DataBase connection                                   │
70845│                          │ module                                                       │
70846├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70847osquery                   │ Support  for   OSQuery   -                                   │
70848│                          │ https://osquery.io.                                          │
70849├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70850out                       │ Output Module                                                │
70851├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70852pacmanpkg                 │ A  module  to  wrap pacman                                   │
70853│                          │ calls, since Arch  is  the                                   │
70854│                          │ best                    (‐                                   │
70855│                          │ https://wiki.arch
70856│                          │ linux.org/index.php/Arch_is_the_best)                        │
70857├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70858pagerduty                 │ Module for Firing Events  via  Pager‐                        │
70859│                          │ Duty                                                         │
70860├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70861pagerduty_util            │ Module    for   manageing   PagerDuty                        │
70862│                          │ resource                                                     │
70863├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70864pam                       │ Support for pam                                              │
70865├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70866panos                     │ Module to provide Palo Alto  compati‐                        │
70867│                          │ bility to Salt                                               │
70868├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70869parallels                 │ Manage  Parallels  Desktop  VMs  with                        │
70870│                          │ prlctl and prlsrvctl.                                        │
70871├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70872parted_partition          │ Module  for  managing  partitions  on                        │
70873│                          │ POSIX-like systems.                                          │
70874├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70875pcs                       │ Configure  a Pacemaker/Corosync clus‐                        │
70876│                          │ ter with PCS                                                 │
70877├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70878pdbedit                   │ Manage  accounts  in  Samba's  passdb                        │
70879│                          │ using pdbedit                                                │
70880├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70881pecl                      │ Manage PHP pecl extensions.                                  │
70882├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70883peeringdb                 │ PeeringDB Module                                             │
70884├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70885pf                        │ Control  the  OpenBSD  packet  filter                        │
70886│                          │ (PF).                                                        │
70887├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70888philips_hue               │ Philips HUE lamps module for proxy.                          │
70889├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70890pillar                    │ Extract the pillar data for this min‐                        │
70891│                          │ ion                                                          │
70892├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70893pip                       │ Install  Python  packages with pip to                        │
70894│                          │ either the system or a virtualenv                            │
70895├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70896pkg_resource              │ Resources needed by pkg providers                            │
70897├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70898pkgin                     │ Package support for pkgin based  sys‐                        │
70899│                          │ tems, inspired from freebsdpkg module                        │
70900├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70901pkgng                     │ Support  for  pkgng,  the new package                        │
70902│                          │ manager for FreeBSD                                          │
70903├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70904pkgutil                   │ Pkgutil support for Solaris                                  │
70905├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70906portage_config            │ Configure portage(5)                                         │
70907├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70908postfix                   │ Support for Postfix                                          │
70909└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70910
70911
70912
70913postgres                  │ Module to provide  Postgres  compati‐                        │
70914│                          │ bility to salt.                                              │
70915├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70916poudriere                 │ Support for poudriere                                        │
70917├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70918powerpath                 │ powerpath support.                                           │
70919├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70920proxy                     │ This  module  allows  you  to  manage                        │
70921│                          │ proxy settings                                               │
70922├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70923ps                        │ A salt interface to psutil, a  system                        │
70924│                          │ and process library.                                         │
70925├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70926publish                   │ Publish  a command from a minion to a                        │
70927│                          │ target                                                       │
70928├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70929puppet                    │ Execute puppet routines                                      │
70930├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70931purefa                    │ Management of Pure Storage FlashArray                        │
70932├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70933purefb                    │ Management of Pure Storage FlashBlade                        │
70934├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70935pushbullet                │ Module for sending messages to  Push‐                        │
70936│                          │ bullet (https://www.pushbullet.com)                          │
70937├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70938pushover_notify           │ Module   for   sending   messages  to                        │
70939│                          │ Pushover (https://www.pushover.net)                          │
70940├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70941pw_group                  │ Manage groups on FreeBSD                                     │
70942├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70943pw_user                   │ Manage users with the pw command                             │
70944├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70945pyenv                     │ Manage  python   installations   with                        │
70946│                          │ pyenv.                                                       │
70947├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70948qemu_img                  │ Qemu-img Command Wrapper                                     │
70949├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70950qemu_nbd                  │ Qemu Command Wrapper                                         │
70951├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70952quota                     │ Module   for   managing   quotas   on                        │
70953│                          │ POSIX-like systems.                                          │
70954├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70955rabbitmq                  │ Module to provide  RabbitMQ  compati‐                        │
70956│                          │ bility to Salt.                                              │
70957├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70958rallydev                  │ Support for RallyDev                                         │
70959├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70960random_org                │ Module for retrieving random informa‐                        │
70961│                          │ tion from Random.org                                         │
70962├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70963rbac_solaris              │ Module for Solaris' Role-Based Access                        │
70964│                          │ Control                                                      │
70965├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70966rbenv                     │ Manage ruby installations with rbenv.                        │
70967├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70968rdp                       │ Manage RDP Service on Windows servers                        │
70969├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70970redismod                  │ Module to provide redis functionality                        │
70971│                          │ to Salt                                                      │
70972├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70973reg                       │ Manage the Windows registry                                  │
70974├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70975rest_pkg                  │ Package support for the REST example                         │
70976├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70977rest_sample_utils         │ Utility functions for the rest_sample                        │
70978├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70979rest_service              │ Provide the service  module  for  the                        │
70980│                          │ proxy-minion REST sample                                     │
70981├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70982restartcheck              │ checkrestart functionality for Debian                        │
70983│                          │ and Red Hat Based systems                                    │
70984├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70985ret                       │ Module to integrate with the returner                        │
70986│                          │ system  and  retrieve  data sent to a                        │
70987│                          │ salt returner                                                │
70988├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70989rh_ip                     │ The networking module for RHEL/Fedora                        │
70990│                          │ based distros                                                │
70991├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70992rh_service                │ Service  support  for RHEL-based sys‐                        │
70993│                          │ tems,  including  support  for   both                        │
70994│                          │ upstart and sysvinit                                         │
70995├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70996riak                      │ Riak Salt Module                                             │
70997├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70998rpm_lowpkg                │ Support for rpm                                              │
70999├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71000rpmbuild_pkgbuild         │ RPM Package builder system                                   │
71001├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71002rsync                     │ Wrapper for rsync                                            │
71003├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71004runit                     │ runit      service      module     (‐                        │
71005│                          │ http://smarden.org/runit)                                    │
71006├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71007rvm                       │ Manage ruby installations and gemsets                        │
71008│                          │ with RVM, the Ruby Version Manager.                          │
71009├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71010s3                        │ Connection module for Amazon S3                              │
71011├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71012s6                        │ s6 service module                                            │
71013├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71014salt_proxy                │ Salt proxy module                                            │
71015├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71016salt_version              │ Access   Salt's   elemental   release                        │
71017│                          │ code-names.                                                  │
71018├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71019saltcheck                 │ A module for  testing  the  logic  of                        │
71020│                          │ states and highstates                                        │
71021├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71022saltcloudmod              │ Control a salt cloud system                                  │
71023├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71024saltutil                  │ The Saltutil module is used to manage                        │
71025│                          │ the state of the salt minion itself.                         │
71026├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71027schedule                  │ Module for managing the Salt schedule                        │
71028│                          │ on a minion                                                  │
71029├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71030scp_mod                   │ SCP Module                                                   │
71031├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71032scsi                      │ SCSI administration module                                   │
71033├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71034sdb                       │ Module  for Manipulating Data via the                        │
71035│                          │ Salt DB API                                                  │
71036├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71037seed                      │ Virtual  machine   image   management                        │
71038│                          │ tools                                                        │
71039├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71040selinux                   │ Execute calls on selinux                                     │
71041├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71042sensehat                  │ Module for controlling the LED matrix                        │
71043│                          │ or reading environment  data  on  the                        │
71044│                          │ SenseHat of a Raspberry Pi.                                  │
71045├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71046sensors                   │ Read lm-sensors                                              │
71047├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71048serverdensity_device      │ Wrapper around Server Density API                            │
71049├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71050service                   │ If Salt's OS detection does not iden‐                        │
71051│                          │ tify a different virtual service mod‐                        │
71052│                          │ ule,  the  minion  will  fall back to                        │
71053│                          │ using this basic module, which simply                        │
71054│                          │ wraps sysvinit scripts.                                      │
71055├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71056servicenow                │ Module for execution of ServiceNow CI                        │
71057│                          │ (configuration items)                                        │
71058├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71059shadow                    │ Manage the shadow file on Linux  sys‐                        │
71060│                          │ tems                                                         │
71061├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71062slack_notify              │ Module for sending messages to Slack                         │
71063├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71064slsutil                   │ Utility  functions for use with or in                        │
71065│                          │ SLS files                                                    │
71066├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71067smartos_imgadm            │ Module for running imgadm command  on                        │
71068│                          │ SmartOS                                                      │
71069├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71070smartos_nictagadm         │ Module  for running nictagadm command                        │
71071│                          │ on  SmartOS   :maintainer:      Jorge                        │
71072│                          │ Schrauwen <sjorge@blackdot.be> :matu‐                        │
71073│                          │ rity:      new :depends:       nicta‐                        │
71074│                          │ gadm  binary, dladm binary :platform:                        │
71075│                          │ smartos                                                      │
71076├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71077smartos_virt              │ virst compatibility module for manag‐                        │
71078│                          │ ing VMs on SmartOS                                           │
71079├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71080smartos_vmadm             │ Module  for  running vmadm command on                        │
71081│                          │ SmartOS                                                      │
71082├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71083smbios                    │ Interface to SMBIOS/DMI                                      │
71084├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71085smf_service               │ Service support for  Solaris  10  and                        │
71086│                          │ 11,  should  work  with other systems                        │
71087│                          │ that use SMF also.                                           │
71088├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71089smtp                      │ Module for Sending Messages via SMTP                         │
71090├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71091solaris_fmadm             │ Module for running fmadm  and  fmdump                        │
71092│                          │ on Solaris                                                   │
71093├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71094solaris_group             │ Manage groups on Solaris                                     │
71095├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71096solaris_shadow            │ Manage   the   password  database  on                        │
71097│                          │ Solaris systems                                              │
71098├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71099solaris_system            │ Support for reboot, shutdown, etc                            │
71100├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71101solaris_user              │ Manage users with the useradd command                        │
71102├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71103solarisipspkg             │ IPS pkg support for Solaris                                  │
71104├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71105solarispkg                │ Package support for Solaris                                  │
71106├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71107solr                      │ Apache Solr Salt Module                                      │
71108├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71109solrcloud                 │ Module for solrcloud configuration                           │
71110└──────────────────────────┴──────────────────────────────────────────────────────────────┘
71111
71112
71113
71114splunk                    │ Module for interop  with  the  Splunk                        │
71115│                          │ API                                                          │
71116├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71117splunk_search             │ Module  for  interop  with the Splunk                        │
71118│                          │ API                                                          │
71119├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71120sqlite3                   │ Support for SQLite3                                          │
71121├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71122ssh                       │ Manage client ssh components                                 │
71123├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71124ssh_pkg                   │ Service support for the REST example                         │
71125├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71126ssh_service               │ Provide the service  module  for  the                        │
71127│                          │ proxy-minion SSH sample ..                                   │
71128├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71129snapper                   │ Module to manage filesystem snapshots                        │
71130│                          │ with snapper                                                 │
71131├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71132state                     │ Control the state system on the  min‐                        │
71133│                          │ ion.                                                         │
71134├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71135status                    │ Module  for  returning various status                        │
71136│                          │ data about a minion.                                         │
71137├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71138statuspage                │ StatusPage                                                   │
71139├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71140supervisord               │ Provide the service module for system                        │
71141│                          │ supervisord  or supervisord in a vir‐                        │
71142│                          │ tualenv                                                      │
71143├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71144suse_apache               │ Support for Apache                                           │
71145├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71146svn                       │ Subversion SCM                                               │
71147├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71148swarm                     │ Docker Swarm  Module  using  Docker's                        │
71149│                          │ Python SDK                                                   │
71150├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71151swift                     │ Module  for  handling OpenStack Swift                        │
71152│                          │ calls  Author:  Anthony  Stanton   <‐                        │
71153│                          │ anthony.stanton@gmail.com>                                   │
71154├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71155sysbench                  │ The 'sysbench' module is used to ana‐                        │
71156│                          │ lyze the performance of the  minions,                        │
71157│                          │ right  from  the  master! It measures                        │
71158│                          │ various  system  parameters  such  as                        │
71159│                          │ CPU,  Memory,  File  I/O, Threads and                        │
71160│                          │ Mutex.                                                       │
71161├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71162sysfs                     │ Module for interfacing with SysFS                            │
71163├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71164syslog_ng                 │ Module for getting information  about                        │
71165│                          │ syslog-ng                                                    │
71166├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71167sysmod                    │ The  sys  module provides information                        │
71168│                          │ about the available functions on  the                        │
71169│                          │ minion                                                       │
71170├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71171sysrc                     │ sysrc module for FreeBSD                                     │
71172├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71173system                    │ Support  for reboot, shutdown, etc on                        │
71174│                          │ POSIX-like systems.                                          │
71175├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71176system_profiler           │ System Profiler Module                                       │
71177├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71178systemd_service           │ Provides the service module for  sys‐                        │
71179│                          │ temd                                                         │
71180├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71181telegram                  │ Module for sending messages via Tele‐                        │
71182│                          │ gram.                                                        │
71183├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71184telemetry                 │ Connection module for Telemetry                              │
71185├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71186temp                      │ Simple module for creating  temporary                        │
71187│                          │ directories and files                                        │
71188├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71189test                      │ Module for running arbitrary tests                           │
71190├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71191testinframod              │ This module exposes the functionality                        │
71192│                          │ of the TestInfra library for use with                        │
71193│                          │ SaltStack  in  order  to  verify  the                        │
71194│                          │ state of your minions.                                       │
71195├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71196test_virtual              │ Module for  running  arbitrary  tests                        │
71197│                          │ with a __virtual__ function                                  │
71198├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71199textfsm_mod               │ TextFSM                                                      │
71200├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71201timezone                  │ Module   for   managing  timezone  on                        │
71202│                          │ POSIX-like systems.                                          │
71203├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71204tls                       │ A salt module for SSL/TLS.                                   │
71205├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71206tomcat                    │ Support for Tomcat                                           │
71207├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71208trafficserver             │ Apache Traffic Server execution  mod‐                        │
71209│                          │ ule.                                                         │
71210├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71211travisci                  │ Commands for working with travisci.                          │
71212├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71213tuned                     │ Interface to Red Hat tuned-adm module                        │
71214├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71215twilio_notify             │ Module for notifications via Twilio                          │
71216├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71217udev                      │ Manage and query udev info                                   │
71218├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71219upstart_service           │ Module  for the management of upstart                        │
71220│                          │ systems.                                                     │
71221├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71222uptime                    │ Wrapper around uptime API                                    │
71223├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71224useradd                   │ Manage users with the useradd command                        │
71225├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71226uwsgi                     │ uWSGI          stats           server                        │
71227│                          │ https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html
71228├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71229vagrant                   │ Work with virtual machines managed by Vagrant.               │
71230├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71231varnish                   │ Support for Varnish                                          │
71232├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71233vault                     │ Functions to interact with Hashicorp Vault.                  │
71234├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71235vbox_guest                │ VirtualBox Guest Additions installer                         │
71236├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71237vboxmanage                │ Support for VirtualBox using the VBoxManage command          │
71238├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71239victorops                 │ Support for VictorOps                                        │
71240├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71241virt                      │ Work with virtual machines managed by libvirt                │
71242├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71243virtualenv_mod            │ Create virtualenv environments.                              │
71244├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71245vmctl                     │ Manage vms running  on  the  OpenBSD  VMM  hypervisor  using │
71246│                          │ vmctl(8).                                                    │
71247├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71248vsphere                   │ Manage VMware vCenter servers and ESXi hosts.                │
71249├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71250webutil                   │ Support for htpasswd command.                                │
71251├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71252win_autoruns              │ Module  for  listing  programs  that  automatically  run  on │
71253│                          │ startup (very alpha...not tested  on  anything  but  my  Win │
71254│                          │ 7x64)                                                        │
71255├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71256win_certutil              │ This module allows you to install certificates into the win‐ │
71257│                          │ dows certificate manager.                                    │
71258├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71259win_dacl                  │ Manage DACLs on Windows                                      │
71260├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71261win_disk                  │ Module for gathering disk information on Windows             │
71262├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71263win_dism                  │ Install features/packages for Windows using DISM,  which  is │
71264│                          │ useful for minions not running server versions of Windows.   │
71265├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71266win_dns_client            │ Module for configuring DNS Client on Windows systems         │
71267├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71268win_dsc                   │ Module  for  working  with  Windows  PowerShell DSC (Desired │
71269│                          │ State Configuration)                                         │
71270├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71271win_file                  │ Manage information about files on the minion, set/read user, │
71272│                          │ group data, modify the ACL of files/directories              │
71273├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71274win_firewall              │ Module for configuring Windows Firewall using netsh          
71275├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71276win_groupadd              │ Manage groups on Windows                                     │
71277├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71278win_iis                   │ Microsoft  IIS  site management via WebAdministration power‐ │
71279│                          │ shell module                                                 │
71280├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71281win_ip                    │ The networking module for Windows based systems              │
71282├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71283win_lgpo                  │ Manage Local Policy on Windows                               │
71284├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71285win_license               │ This module allows  you  to  manage  windows  licensing  via │
71286│                          │ slmgr.vbs                                                    │
71287├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71288win_network               │ Module for gathering and managing network information        │
71289├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71290win_ntp                   │ Management of NTP servers on Windows                         │
71291├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71292win_path                  │ Manage the Windows System PATH                               │
71293├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71294win_pkg                   │ A module to manage software on Windows                       │
71295├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71296win_pki                   │ Microsoft  certificate  management via the PKI Client Power‐ │
71297│                          │ Shell module.                                                │
71298├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71299win_powercfg              │ This module allows you to control the power  settings  of  a │
71300│                          │ windows minion via powercfg.                                 │
71301├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71302win_psget                 │ Module for managing PowerShell through PowerShellGet (PSGet) │
71303├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71304winrepo                   │ Module  to manage Windows software repo on a Standalone Min‐ │
71305│                          │ ion                                                          │
71306├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71307win_servermanager         │ Manage Windows features  via  the  ServerManager  powershell │
71308│                          │ module.                                                      │
71309├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71310win_service               │ Windows Service module.                                      │
71311├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71312win_shadow                │ Manage the shadow file                                       │
71313└──────────────────────────┴──────────────────────────────────────────────────────────────┘
71314
71315win_smtp_server           │ Module for managing IIS SMTP server configuration on Windows │
71316│                          │ servers.                                                     │
71317├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71318win_snmp                  │ Module  for  managing  SNMP  service  settings  on   Windows │
71319│                          │ servers.                                                     │
71320├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71321win_status                │ Module for returning various status data about a minion.     │
71322├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71323win_system                │ Module for managing windows systems.                         │
71324├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71325win_task                  │ Windows Task Scheduler Module ..                             │
71326├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71327win_timezone              │ Module for managing timezone on Windows systems.             │
71328├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71329win_useradd               │ Module for managing Windows Users                            │
71330├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71331win_wua                   │ Module for managing Windows Updates using the Windows Update │
71332│                          │ Agent.                                                       │
71333├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71334win_wusa                  │ Microsoft Update files management via wusa.exe               │
71335├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71336x509                      │ Manage X509 certificates                                     │
71337├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71338xapi_virt                 │ This module (mostly) uses the XenAPI to manage  Xen  virtual │
71339│                          │ machines.                                                    │
71340├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71341xbpspkg                   │ Package support for XBPS package manager (used by VoidLinux) │
71342├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71343xfs                       │ Module for managing XFS file systems.                        │
71344├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71345xml                       │ XML file manager                                             │
71346├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71347xmpp                      │ Module for Sending Messages via XMPP (a.k.a.                 │
71348├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71349yumpkg                    │ Support for YUM/DNF                                          │
71350├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71351zabbix                    │ Support for Zabbix                                           │
71352├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71353zcbuildout                │ Management of zc.buildout                                    │
71354├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71355zenoss                    │ Module for working with the Zenoss API                       │
71356├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71357zfs                       │ Module for running ZFS command                               │
71358├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71359zk_concurrency            │ Concurrency controls in zookeeper                            │
71360├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71361znc                       │ znc - An advanced IRC bouncer                                │
71362├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71363zoneadm                   │ Module for Solaris 10's zoneadm                              │
71364├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71365zonecfg                   │ Module for Solaris 10's zonecfg                              │
71366├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71367zookeeper                 │ Zookeeper Module                                             │
71368├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71369zpool                     │ Module for running ZFS zpool command                         │
71370├──────────────────────────┼──────────────────────────────────────────────────────────────┤
71371zypperpkg                 │ Package support for openSUSE via the zypper package manager  │
71372└──────────────────────────┴──────────────────────────────────────────────────────────────┘
71373
71374   salt.modules.acme module
71375   ACME / Let's Encrypt module
71376       This  module currently looks for certbot script in the $PATH as - cert‐
71377       bot, - lestsencrypt,  -  certbot-auto,  -  letsencrypt-auto  eventually
71378       falls back to /opt/letsencrypt/letsencrypt-auto
71379
71380       NOTE:
71381          Installation  &  configuration  of  the Let's Encrypt client can for
71382          example                be                 done                 using
71383          https://github.com/saltstack-formulas/letsencrypt-formula
71384
71385       WARNING:
71386          Be sure to set at least accept-tos = True in cli.ini!
71387
71388       Most parameters will fall back to cli.ini defaults if None is given.
71389
71390   DNS plugins
71391       This  module currently supports the CloudFlare certbot DNS plugin.  The
71392       DNS plugin credentials file needs to be passed in using  the  dns_plug‐
71393       in_credentials argument.
71394
71395       Make sure the appropriate certbot plugin for the wanted DNS provider is
71396       installed before using this module.
71397
71398       salt.modules.acme.cert(name,  aliases=None,  email=None,  webroot=None,
71399       test_cert=False,  renew=None, keysize=None, server=None, owner=u'root',
71400       group=u'root', mode=u'0640', certname=None,  preferred_challenges=None,
71401       tls_sni_01_port=None,    tls_sni_01_address=None,    http_01_port=None,
71402       http_01_address=None, dns_plugin=None, dns_plugin_credentials=None)
71403              Obtain/renew a certificate  from  an  ACME  CA,  probably  Let's
71404              Encrypt.
71405
71406              Parameters
71407
71408                     · name  --  Common  Name  of the certificate (DNS name of
71409                       certificate)
71410
71411                     · aliases -- subjectAltNames  (Additional  DNS  names  on
71412                       certificate)
71413
71414                     · email  --  e-mail  address  for  interaction  with ACME
71415                       provider
71416
71417                     · webroot -- True or a full path to use to  use  webroot.
71418                       Otherwise use standalone mode
71419
71420                     · test_cert  --  Request  a  certificate  from  the Happy
71421                       Hacker Fake CA (mutually exclusive with 'server')
71422
71423                     · renew -- True/'force' to force a renewal, or  a  window
71424                       of renewal before expiry in days
71425
71426                     · keysize -- RSA key bits
71427
71428                     · server -- API endpoint to talk to
71429
71430                     · owner -- owner of the private key file
71431
71432                     · group -- group of the private key file
71433
71434                     · mode -- mode of the private key file
71435
71436                     · certname -- Name of the certificate to save
71437
71438                     · preferred_challenges  -- A sorted, comma delimited list
71439                       of the preferred challenge to use during  authorization
71440                       with the most preferred challenge listed first.
71441
71442                     · tls_sni_01_port  --  Port  used during tls-sni-01 chal‐
71443                       lenge. This only affects the port Certbot listens on. A
71444                       conforming ACME server will still attempt to connect on
71445                       port 443.
71446
71447                     · tls_sni_01_address -- The address the server listens to
71448                       during tls-sni-01 challenge.
71449
71450                     · http_01_port  --  Port  used  in the http-01 challenge.
71451                       This only affects the port Certbot listens on.  A  con‐
71452                       forming  ACME  server  will still attempt to connect on
71453                       port 80.
71454
71455                     · https_01_address -- The address the server  listens  to
71456                       during http-01 challenge.
71457
71458                     · dns_plugin  --  Name  of a DNS plugin to use (currently
71459                       only 'cloudflare' or 'digitalocean')
71460
71461                     · dns_plugin_credentials -- Path to the credentials  file
71462                       if required by the specified DNS plugin
71463
71464                     · dns_plugin_propagate_seconds  --  Number  of seconds to
71465                       wait for DNS propogations before asking ACME servers to
71466                       verify the DNS record. (default 10)
71467
71468              Return type
71469                     dict
71470
71471              Returns
71472                     Dictionary  with  'result' True/False/None, 'comment' and
71473                     certificate's expiry date ('not_after')
71474
71475              CLI example:
71476
71477                 salt 'gitlab.example.com' acme.cert dev.example.com "[gitlab.example.com]" test_cert=True         renew=14 webroot=/opt/gitlab/embedded/service/gitlab-rails/public
71478
71479       salt.modules.acme.certs()
71480              Return a list of active certificates
71481
71482              CLI example:
71483
71484                 salt 'vhost.example.com' acme.certs
71485
71486       salt.modules.acme.expires(name)
71487              The expiry date of a certificate in ISO format
71488
71489              Parameters
71490                     name (str) -- CommonName of certificate
71491
71492              Return type
71493                     str
71494
71495              Returns
71496                     Expiry date in ISO format.
71497
71498              CLI example:
71499
71500                 salt 'gitlab.example.com' acme.expires dev.example.com
71501
71502       salt.modules.acme.has(name)
71503              Test if a certificate is in the Let's Encrypt Live directory
71504
71505              Parameters
71506                     name (str) -- CommonName of certificate
71507
71508              Return type
71509                     bool
71510
71511              Code example:
71512
71513                 if __salt__['acme.has']('dev.example.com'):
71514                     log.info('That is one nice certificate you have there!')
71515
71516       salt.modules.acme.info(name)
71517              Return information about a certificate
71518
71519              Parameters
71520                     name (str) -- CommonName of certificate
71521
71522              Return type
71523                     dict
71524
71525              Returns
71526                     Dictionary with information about  the  certificate.   If
71527                     neither the tls nor the x509 module can be used to deter‐
71528                     mine the certificate information, the information will be
71529                     retrieved  as one big text block under the key text using
71530                     the openssl cli.
71531
71532              CLI example:
71533
71534                 salt 'gitlab.example.com' acme.info dev.example.com
71535
71536       salt.modules.acme.needs_renewal(name, window=None)
71537              Check if a certificate needs renewal
71538
71539              Parameters
71540
71541                     · name (str) -- CommonName of certificate
71542
71543                     · window (bool/str/int) -- Window in days to  renew  ear‐
71544                       lier or True/force to just return True
71545
71546              Return type
71547                     bool
71548
71549              Returns
71550                     Whether or not the certificate needs to be renewed.
71551
71552              Code example:
71553
71554                 if __salt__['acme.needs_renewal']('dev.example.com'):
71555                     __salt__['acme.cert']('dev.example.com', **kwargs)
71556                 else:
71557                     log.info('Your certificate is still good')
71558
71559       salt.modules.acme.renew_by(name, window=None)
71560              Date in ISO format when a certificate should first be renewed
71561
71562              Parameters
71563
71564                     · name (str) -- CommonName of certificate
71565
71566                     · window  (int)  --  number  of  days  before expiry when
71567                       renewal should take place
71568
71569              Return type
71570                     str
71571
71572              Returns
71573                     Date of certificate renewal in ISO format.
71574
71575   salt.modules.aix_group module
71576       Manage groups on Solaris
71577
71578       IMPORTANT:
71579          If you feel that Salt should be using this module to  manage  groups
71580          on  a  minion, and it is using a different module (or gives an error
71581          similar to 'group.info' is not available), see here.
71582
71583       salt.modules.aix_group.add(name, gid=None, system=False, root=None)
71584              Add the specified group
71585
71586              CLI Example:
71587
71588                 salt '*' group.add foo 3456
71589
71590       salt.modules.aix_group.adduser(name, username, root=None)
71591              Add a user in the group.
71592
71593              CLI Example:
71594
71595                 salt '*' group.adduser foo bar
71596
71597              Verifies if a valid username 'bar' as a member  of  an  existing
71598              group 'foo', if not then adds it.
71599
71600       salt.modules.aix_group.chgid(name, gid)
71601              Change the gid for a named group
71602
71603              CLI Example:
71604
71605                 salt '*' group.chgid foo 4376
71606
71607       salt.modules.aix_group.delete(name)
71608              Remove the named group
71609
71610              CLI Example:
71611
71612                 salt '*' group.delete foo
71613
71614       salt.modules.aix_group.deluser(name, username, root=None)
71615              Remove a user from the group.
71616
71617              CLI Example:
71618
71619                 salt '*' group.deluser foo bar
71620
71621              Removes  a member user 'bar' from a group 'foo'. If group is not
71622              present then returns True.
71623
71624       salt.modules.aix_group.getent(refresh=False)
71625              Return info on all groups
71626
71627              CLI Example:
71628
71629                 salt '*' group.getent
71630
71631       salt.modules.aix_group.info(name)
71632              Return information about a group
71633
71634              CLI Example:
71635
71636                 salt '*' group.info foo
71637
71638       salt.modules.aix_group.members(name, members_list, root=None)
71639              Replaces members of the group with a provided list.
71640
71641              CLI Example:
71642                 salt '*' group.members foo 'user1,user2,user3,...'
71643
71644              Replaces a membership list for a local group 'foo'.
71645                     foo:x:1234:user1,user2,user3,...
71646
71647   salt.modules.aixpkg
71648       Package support for AIX
71649
71650       IMPORTANT:
71651          If you feel that Salt should be using this module to manage filesets
71652          or  rpm packages on a minion, and it is using a different module (or
71653          gives an error similar to 'pkg.install' is not available), see here.
71654
71655       salt.modules.aixpkg.available_version(*names, **kwargs)
71656              This function is an alias of latest_version.
71657                 Return the latest version of the  named  fileset/rpm  package
71658                 available for upgrade or installation. If more than one file‐
71659                 set/rpm package name is specified,  a  dict  of  name/version
71660                 pairs is returned.
71661
71662                 If  the  latest  version  of  a  given fileset/rpm package is
71663                 already installed, an empty string will be returned for  that
71664                 package.
71665
71666                 CLI Example:
71667
71668                     salt '*' pkg.latest_version <package name>
71669                     salt '*' pkg.latest_version <package1> <package2> <package3> ...
71670
71671                 NOTE: Repositories are not presently supported for AIX.  This
71672                 function will always return an empty string for a given file‐
71673                 set/rpm package.
71674
71675       salt.modules.aixpkg.install(name=None,  refresh=False,  pkgs=None, ver‐
71676       sion=None, test=False, **kwargs)
71677              Install the named fileset(s)/rpm package(s).
71678
71679              name   The name of the fileset or rpm package to be installed.
71680
71681              refresh
71682                     Whether or not to update the yum database before  execut‐
71683                     ing.
71684
71685              Multiple Package Installation Options:
71686
71687              pkgs   A  list of filesets and/or rpm packages to install.  Must
71688                     be passed as a python list. The name  parameter  will  be
71689                     ignored if this option is passed.
71690
71691              version
71692                     Install  a  specific  version  of  a fileset/rpm package.
71693                     (Unused at present).
71694
71695              test   Verify that command functions correctly:
71696
71697              Returns a dict  containing  the  new  fileset(s)/rpm  package(s)
71698              names and versions:
71699
71700                 {'<package>': {'old': '<old-version>',
71701                        'new': '<new-version>'}}
71702
71703              CLI Example:
71704
71705                 salt '*' pkg.install /stage/middleware/AIX/bash-4.2-3.aix6.1.ppc.rpm
71706                 salt '*' pkg.install /stage/middleware/AIX/bash-4.2-3.aix6.1.ppc.rpm refresh=True
71707                 salt '*' pkg.install /stage/middleware/AIX/VIOS2211_update/tpc_4.1.1.85.bff
71708                 salt '*' pkg.install /stage/middleware/AIX/Xlc/usr/sys/inst.images/xlC.rte
71709                 salt '*' pkg.install /stage/middleware/AIX/Firefox/ppc-AIX53/Firefox.base
71710                 salt '*' pkg.install pkgs='["foo", "bar"]'
71711
71712       salt.modules.aixpkg.latest_version(*names, **kwargs)
71713              Return  the  latest  version  of  the  named fileset/rpm package
71714              available for upgrade or installation. If more  than  one  file‐
71715              set/rpm  package name is specified, a dict of name/version pairs
71716              is returned.
71717
71718              If the latest version of a given fileset/rpm package is  already
71719              installed, an empty string will be returned for that package.
71720
71721              CLI Example:
71722
71723                 salt '*' pkg.latest_version <package name>
71724                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
71725
71726              NOTE:  Repositories  are  not presently supported for AIX.  This
71727              function will always return an empty string for  a  given  file‐
71728              set/rpm package.
71729
71730       salt.modules.aixpkg.list_pkgs(versions_as_list=False, **kwargs)
71731              List the filesets/rpm packages currently installed as a dict:
71732
71733                 {'<package_name>': '<version>'}
71734
71735              CLI Example:
71736
71737                 salt '*' pkg.list_pkgs
71738
71739       salt.modules.aixpkg.remove(name=None, pkgs=None, **kwargs)
71740              Remove specified fileset(s)/rpm package(s).
71741
71742              name   The name of the fileset or rpm package to be deleted.
71743
71744              Multiple Package Options:
71745
71746              pkgs   A  list  of filesets and/or rpm packages to delete.  Must
71747                     be passed as a python list. The name  parameter  will  be
71748                     ignored if this option is passed.
71749
71750              Returns a list containing the removed packages.
71751
71752              CLI Example:
71753
71754                 salt '*' pkg.remove <fileset/rpm package name>
71755                 salt '*' pkg.remove tcsh
71756                 salt '*' pkg.remove xlC.rte
71757                 salt '*' pkg.remove Firefox.base.adt
71758                 salt '*' pkg.remove pkgs='["foo", "bar"]'
71759
71760       salt.modules.aixpkg.upgrade_available(name)
71761              Check whether or not an upgrade is available for a given package
71762
71763              CLI Example:
71764
71765                 salt '*' pkg.upgrade_available <package name>
71766
71767       salt.modules.aixpkg.version(*names, **kwargs)
71768              Common  interface  for  obtaining the version of installed file‐
71769              set/rpm package.
71770
71771              CLI Example:
71772
71773                 salt '*' pkg.version vim
71774                 salt '*' pkg.version foo bar baz
71775
71776   salt.modules.aliases
71777       Manage the information in the aliases file
71778
71779       salt.modules.aliases.get_target(alias)
71780              Return the target associated with an alias
71781
71782              CLI Example:
71783
71784                 salt '*' aliases.get_target alias
71785
71786       salt.modules.aliases.has_target(alias, target)
71787              Return true if the alias/target is set
71788
71789              CLI Example:
71790
71791                 salt '*' aliases.has_target alias target
71792
71793       salt.modules.aliases.list_aliases()
71794              Return the aliases found in the aliases file in this format:
71795
71796                 {'alias': 'target'}
71797
71798              CLI Example:
71799
71800                 salt '*' aliases.list_aliases
71801
71802       salt.modules.aliases.rm_alias(alias)
71803              Remove an entry from the aliases file
71804
71805              CLI Example:
71806
71807                 salt '*' aliases.rm_alias alias
71808
71809       salt.modules.aliases.set_target(alias, target)
71810              Set the entry in the aliases file for the given alias, this will
71811              overwrite any previous entry for the given alias or create a new
71812              one if it does not exist.
71813
71814              CLI Example:
71815
71816                 salt '*' aliases.set_target alias target
71817
71818   salt.modules.alternatives
71819       Support for Alternatives system
71820
71821       codeauthor
71822              Radek Rada <radek.rada@gmail.com>
71823
71824       salt.modules.alternatives.auto(name)
71825              Trigger alternatives to set the path for <name> as specified  by
71826              priority.
71827
71828              CLI Example:
71829
71830                 salt '*' alternatives.auto name
71831
71832       salt.modules.alternatives.check_exists(name, path)
71833              Check if the given path is an alternative for a name.
71834
71835              New in version 2015.8.4.
71836
71837
71838              CLI Example:
71839
71840                 salt '*' alternatives.check_exists name path
71841
71842       salt.modules.alternatives.check_installed(name, path)
71843              Check if the current highest-priority match for a given alterna‐
71844              tives link is set to the desired path
71845
71846              CLI Example:
71847
71848                 salt '*' alternatives.check_installed name path
71849
71850       salt.modules.alternatives.display(name)
71851              Display alternatives settings for defined command name
71852
71853              CLI Example:
71854
71855                 salt '*' alternatives.display editor
71856
71857       salt.modules.alternatives.install(name, link, path, priority)
71858              Install symbolic links determining default commands
71859
71860              CLI Example:
71861
71862                 salt '*' alternatives.install editor /usr/bin/editor /usr/bin/emacs23 50
71863
71864       salt.modules.alternatives.remove(name, path)
71865              Remove symbolic links determining the default commands.
71866
71867              CLI Example:
71868
71869                 salt '*' alternatives.remove name path
71870
71871       salt.modules.alternatives.set_(name, path)
71872              Manually set the alternative <path> for <name>.
71873
71874              CLI Example:
71875
71876                 salt '*' alternatives.set name path
71877
71878       salt.modules.alternatives.show_current(name)
71879              Display the current highest-priority  alternative  for  a  given
71880              alternatives link
71881
71882              CLI Example:
71883
71884                 salt '*' alternatives.show_current editor
71885
71886       salt.modules.alternatives.show_link(name)
71887              Display master link for the alternative
71888
71889              New in version 2015.8.13,2016.3.4,2016.11.0.
71890
71891
71892              CLI Example:
71893
71894                 salt '*' alternatives.show_link editor
71895
71896   salt.modules.ansiblegate
71897   Ansible Support
71898       This   module  can  have  an  optional  minion-level  configuration  in
71899       /etc/salt/minion.d/ as follows:
71900          ansible_timeout: 1200
71901
71902       The timeout is how many seconds Salt should wait for any Ansible module
71903       to respond.
71904
71905       class salt.modules.ansiblegate.AnsibleModuleCaller(resolver)
71906
71907              DEFAULT_TIMEOUT = 1200
71908
71909              OPT_TIMEOUT_KEY = u'ansible_timeout'
71910
71911              call(module, *args, **kwargs)
71912                     Call  an  Ansible  module by invoking it.  :param module:
71913                     the name of the module.  :param args:  Arguments  to  the
71914                     module :param kwargs: keywords to the module :return:
71915
71916       class salt.modules.ansiblegate.AnsibleModuleResolver(opts)
71917              This class is to resolve all available modules in Ansible.
71918
71919              get_modules_list(pattern=None)
71920                     Return module map references.  :return:
71921
71922              install()
71923
71924              load_module(module)
71925                     Introspect Ansible module.
71926
71927                     Parameters
71928                            module --
71929
71930                     Returns
71931
71932
71933              resolve()
71934
71935       salt.modules.ansiblegate.help(module=None, *args)
71936              Display help on Ansible standard module.
71937
71938              Parameters
71939                     module --
71940
71941              Returns
71942
71943
71944       salt.modules.ansiblegate.list(pattern=None)
71945              Lists available modules.  :return:
71946
71947       salt.modules.ansiblegate.playbooks(playbook,  rundir=None, check=False,
71948       diff=False,   extra_vars=None,   flush_cache=False,   forks=5,   inven‐
71949       tory=None,      limit=None,      list_hosts=False,     list_tags=False,
71950       list_tasks=False, module_path=None, skip_tags=None, start_at_task=None,
71951       syntax_check=False, tags=None, playbook_kwargs=None)
71952              Run Ansible Playbooks
71953
71954              Parameters
71955
71956                     · playbook -- Which playbook to run.
71957
71958                     · rundir   --   Directory  to  run  ansible-playbook  in.
71959                       (Default: None)
71960
71961                     · check -- don't make any changes; instead, try  to  pre‐
71962                       dict  some  of  the  changes  that  may occur (Default:
71963                       False)
71964
71965                     · diff -- when changing (small) files and templates, show
71966                       the  differences  in  those  files;  works  great  with
71967                       --check (default: False)
71968
71969                     · extra_vars -- set additional variables as key=value  or
71970                       YAML/JSON, if filename prepend with @, (default: None)
71971
71972                     · flush_cache  --  clear the fact cache for every host in
71973                       inventory (default: False)
71974
71975                     · forks -- specify number of parallel  processes  to  use
71976                       (Default: 5)
71977
71978                     · inventory -- specify inventory host path or comma sepa‐
71979                       rated host list. (Default: None) (Ansible's default  is
71980                       /etc/ansible/hosts)
71981
71982                     · limit  -- further limit selected hosts to an additional
71983                       pattern (Default: None)
71984
71985                     · list_hosts -- outputs a list of  matching  hosts;  does
71986                       not execute anything else (Default: False)
71987
71988                     · list_tags -- list all available tags (Default: False)
71989
71990                     · list_tasks  --  list  all  tasks that would be executed
71991                       (Default: False)
71992
71993                     · module_path -- prepend colon-separated path(s) to  mod‐
71994                       ule library. (Default: None)
71995
71996                     · skip_tags -- only run plays and tasks whose tags do not
71997                       match these values (Default: False)
71998
71999                     · start_at_task -- start the playbook at the task  match‐
72000                       ing this name (Default: None)
72001
72002                     · tags -- only run plays and tasks tagged with these val‐
72003                       ues (Default: None)
72004
72005              Param  syntax_check: perform a syntax check on the playbook, but
72006                     do not execute it (Default: False)
72007
72008              Returns
72009                     Playbook return
72010
72011              CLI Example:
72012
72013                 salt 'ansiblehost'  ansible.playbook playbook=/srv/playbooks/play.yml
72014
72015   salt.modules.apache
72016       Support for Apache
72017
72018       NOTE:
72019          The  functions  in  here are generic functions designed to work with
72020          all implementations of Apache. Debian-specific functions  have  been
72021          moved  into  deb_apache.py,  but  will  still  load under the apache
72022          namespace when a Debian-based system is detected.
72023
72024       salt.modules.apache.config(name, config, edit=True)
72025              Create VirtualHost configuration files
72026
72027              name   File for the virtual host
72028
72029              config VirtualHost configurations
72030
72031              NOTE:
72032                 This function is not meant to be used from the command  line.
72033                 Config  is  meant  to be an ordered dict of all of the apache
72034                 configs.
72035
72036              CLI Example:
72037
72038                 salt '*' apache.config /etc/httpd/conf.d/ports.conf config="[{'Listen': '22'}]"
72039
72040       salt.modules.apache.directives()
72041              Return list of directives together with expected  arguments  and
72042              places where the directive is valid (apachectl -L)
72043
72044              CLI Example:
72045
72046                 salt '*' apache.directives
72047
72048       salt.modules.apache.fullversion()
72049              Return server version (apachectl -V)
72050
72051              CLI Example:
72052
72053                 salt '*' apache.fullversion
72054
72055       salt.modules.apache.modules()
72056              Return list of static and shared modules (apachectl -M)
72057
72058              CLI Example:
72059
72060                 salt '*' apache.modules
72061
72062       salt.modules.apache.server_status(profile=u'default')
72063              Get Information from the Apache server-status handler
72064
72065              NOTE:
72066                 The  server-status  handler is disabled by default.  In order
72067                 for this function to  work  it  needs  to  be  enabled.   See
72068                 http://httpd.apache.org/docs/2.2/mod/mod_status.html
72069
72070              The  following  configuration  needs to exists in pillar/grains.
72071              Each entry nested in apache.server-status  is  a  profile  of  a
72072              vhost/server.   This  would  give  support  for  multiple apache
72073              servers/vhosts.
72074
72075                 apache.server-status:
72076                   default:
72077                     url: http://localhost/server-status
72078                     user: someuser
72079                     pass: password
72080                     realm: 'authentication realm for digest passwords'
72081                     timeout: 5
72082
72083              CLI Examples:
72084
72085                 salt '*' apache.server_status
72086                 salt '*' apache.server_status other-profile
72087
72088       salt.modules.apache.servermods()
72089              Return list of modules compiled into the server (apachectl -l)
72090
72091              CLI Example:
72092
72093                 salt '*' apache.servermods
72094
72095       salt.modules.apache.signal(signal=None)
72096              Signals httpd to start, restart, or stop.
72097
72098              CLI Example:
72099
72100                 salt '*' apache.signal restart
72101
72102       salt.modules.apache.useradd(pwfile, user, password, opts=u'')
72103              Add HTTP user using the htpasswd command. If the  htpasswd  file
72104              does  not  exist,  it will be created. Valid options that can be
72105              passed are:
72106
72107                 n  Don't update file; display results on stdout.
72108                 m  Force MD5 hashing of the password (default).
72109                 d  Force CRYPT(3) hashing of the password.
72110                 p  Do not hash the password (plaintext).
72111                 s  Force SHA1 hashing of the password.
72112
72113              CLI Examples:
72114
72115                 salt '*' apache.useradd /etc/httpd/htpasswd larry badpassword
72116                 salt '*' apache.useradd /etc/httpd/htpasswd larry badpass opts=ns
72117
72118       salt.modules.apache.userdel(pwfile, user)
72119              Delete HTTP user from the specified htpasswd file.
72120
72121              CLI Example:
72122
72123                 salt '*' apache.userdel /etc/httpd/htpasswd larry
72124
72125       salt.modules.apache.version()
72126              Return server version (apachectl -v)
72127
72128              CLI Example:
72129
72130                 salt '*' apache.version
72131
72132       salt.modules.apache.vhosts()
72133              Show the settings as parsed from the config file (currently only
72134              shows  the  virtualhost  settings) (apachectl -S).  Because each
72135              additional virtual host adds to the execution time, this command
72136              may require a long timeout be specified by using -t 10.
72137
72138              CLI Example:
72139
72140                 salt -t 10 '*' apache.vhosts
72141
72142   salt.modules.apcups
72143       Module for apcupsd
72144
72145       salt.modules.apcups.status()
72146              Return apcaccess output
72147
72148              CLI Example:
72149
72150                 salt '*' apcups.status
72151
72152       salt.modules.apcups.status_battery()
72153              Return true if running on battery power
72154
72155              CLI Example:
72156
72157                 salt '*' apcups.status_battery
72158
72159       salt.modules.apcups.status_charge()
72160              Return battery charge
72161
72162              CLI Example:
72163
72164                 salt '*' apcups.status_charge
72165
72166       salt.modules.apcups.status_load()
72167              Return load
72168
72169              CLI Example:
72170
72171                 salt '*' apcups.status_load
72172
72173   salt.modules.apf
72174   Support for Advanced Policy Firewall (APF)
72175       maintainer
72176              Mostafa Hussein <mostafa.hussein91@gmail.com>
72177
72178       maturity
72179              new
72180
72181       depends
72182              python-iptables
72183
72184       platform
72185              Linux
72186
72187       salt.modules.apf.allow(ip, port=None)
72188              Add host (IP/FQDN) to allow_hosts.rules and immediately load new
72189              rule into firewall CLI Example:
72190
72191                 salt '*' apf.allow 127.0.0.1
72192
72193       salt.modules.apf.deny(ip)
72194              Add host (IP/FQDN) to deny_hosts.rules and immediately load  new
72195              rule into firewall CLI Example:
72196
72197                 salt '*' apf.deny 1.2.3.4
72198
72199       salt.modules.apf.disable()
72200              Stop (flush) all firewall rules CLI Example:
72201
72202                 salt '*' apf.disable
72203
72204       salt.modules.apf.enable()
72205              Load all firewall rules CLI Example:
72206
72207                 salt '*' apf.enable
72208
72209       salt.modules.apf.refresh()
72210              Refresh & resolve dns names in trust rules CLI Example:
72211
72212                 salt '*' apf.refresh
72213
72214       salt.modules.apf.reload()
72215              Stop (flush) & reload firewall rules CLI Example:
72216
72217                 salt '*' apf.reload
72218
72219       salt.modules.apf.remove(ip)
72220              Remove host from [glob]*_hosts.rules and immediately remove rule
72221              from firewall CLI Example:
72222
72223                 salt '*' apf.remove 1.2.3.4
72224
72225       salt.modules.apf.running()
72226              Check apf status CLI Example:
72227
72228                 salt '*' apf.running
72229
72230   salt.modules.apkpkg
72231       Support for apk
72232
72233       IMPORTANT:
72234          If you feel that Salt should be using this module to manage packages
72235          on  a  minion, and it is using a different module (or gives an error
72236          similar to 'pkg.install' is not available), see here.
72237
72238       salt.modules.apkpkg.file_dict(*packages)
72239              List the files that belong to a package, grouped by package. Not
72240              specifying  any  packages  will return a list of _every_ file on
72241              the system's package database (not generally recommended).
72242
72243              CLI Examples:
72244
72245                 salt '*' pkg.file_list httpd
72246                 salt '*' pkg.file_list httpd postfix
72247                 salt '*' pkg.file_list
72248
72249       salt.modules.apkpkg.file_list(*packages)
72250              List the files that belong to  a  package.  Not  specifying  any
72251              packages  will  return  a  list  of _every_ file on the system's
72252              package database (not generally recommended).
72253
72254              CLI Examples:
72255
72256                 salt '*' pkg.file_list httpd
72257                 salt '*' pkg.file_list httpd postfix
72258                 salt '*' pkg.file_list
72259
72260       salt.modules.apkpkg.install(name=None,    refresh=False,     pkgs=None,
72261       sources=None, **kwargs)
72262              Install  the  passed package, add refresh=True to update the apk
72263              database.
72264
72265              name   The name of the package to be installed. Note  that  this
72266                     parameter  is  ignored  if  either "pkgs" or "sources" is
72267                     passed. Additionally, please note that  this  option  can
72268                     only  be used to install packages from a software reposi‐
72269                     tory.  To  install  a  package  file  manually,  use  the
72270                     "sources" option.
72271
72272                     CLI Example:
72273
72274                        salt '*' pkg.install <package name>
72275
72276              refresh
72277                     Whether  or  not  to  refresh the package database before
72278                     installing.
72279
72280              Multiple Package Installation Options:
72281
72282              pkgs   A list of packages to install from a software repository.
72283                     Must be passed as a python list.
72284
72285                     CLI Example:
72286
72287                        salt '*' pkg.install pkgs='["foo", "bar"]'
72288
72289              sources
72290                     A  list  of  IPK packages to install. Must be passed as a
72291                     list of dicts, with the keys being package names, and the
72292                     values being the source URI or local path to the package.
72293                     Dependencies are automatically  resolved  and  marked  as
72294                     auto-installed.
72295
72296                     CLI Example:
72297
72298                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
72299
72300              install_recommends
72301                     Whether  to  install  the packages marked as recommended.
72302                     Default is True.
72303
72304              Returns a dict containing the new package names and versions:
72305
72306                 {'<package>': {'old': '<old-version>',
72307                                'new': '<new-version>'}}
72308
72309       salt.modules.apkpkg.latest_version(*names, **kwargs)
72310              Return the latest version of the  named  package  available  for
72311              upgrade or installation. If more than one package name is speci‐
72312              fied, a dict of name/version pairs is returned.
72313
72314              If the latest version of a given package is  already  installed,
72315              an empty string will be returned for that package.
72316
72317              CLI Example:
72318
72319                 salt '*' pkg.latest_version <package name>
72320                 salt '*' pkg.latest_version <package name>
72321                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
72322
72323       salt.modules.apkpkg.list_pkgs(versions_as_list=False, **kwargs)
72324              List the packages currently installed in a dict:
72325
72326                 {'<package_name>': '<version>'}
72327
72328              CLI Example:
72329
72330                 salt '*' pkg.list_pkgs
72331                 salt '*' pkg.list_pkgs versions_as_list=True
72332
72333       salt.modules.apkpkg.list_upgrades(refresh=True)
72334              List all available package upgrades.
72335
72336              CLI Example:
72337
72338                 salt '*' pkg.list_upgrades
72339
72340       salt.modules.apkpkg.owner(*paths)
72341              Return the name of the package that owns the file. Multiple file
72342              paths can be passed. Like pkg.version <salt.modules.apk.version,
72343              if  a  single  path is passed, a string will be returned, and if
72344              multiple paths are passed, a  dictionary  of  file/package  name
72345              pairs will be returned.
72346
72347              If  the file is not owned by a package, or is not present on the
72348              minion, then an empty string will be returned for that path.
72349
72350              CLI Example:
72351                 salt  '*'  pkg.owns  /usr/bin/apachectl  salt  '*'   pkg.owns
72352                 /usr/bin/apachectl /usr/bin/basename
72353
72354       salt.modules.apkpkg.purge(name=None, pkgs=None, **kwargs)
72355              Alias to remove
72356
72357       salt.modules.apkpkg.refresh_db()
72358              Updates the package list
72359
72360              · True: Database updated successfully
72361
72362              · False: Problem updating database
72363
72364              CLI Example:
72365
72366                 salt '*' pkg.refresh_db
72367
72368       salt.modules.apkpkg.remove(name=None, pkgs=None, purge=False, **kwargs)
72369              Remove packages using apk del.
72370
72371              name   The name of the package to be deleted.
72372
72373              Multiple Package Options:
72374
72375              pkgs   A  list of packages to delete. Must be passed as a python
72376                     list. The name parameter will be ignored if  this  option
72377                     is passed.
72378
72379              Returns a dict containing the changes.
72380
72381              CLI Example:
72382
72383                 salt '*' pkg.remove <package name>
72384                 salt '*' pkg.remove <package1>,<package2>,<package3>
72385                 salt '*' pkg.remove pkgs='["foo", "bar"]'
72386
72387       salt.modules.apkpkg.upgrade(name=None, pkgs=None, refresh=True)
72388              Upgrades  all  packages via apk upgrade or a specific package if
72389              name or pkgs is specified. Name is ignored if pkgs is specified
72390
72391              Returns a dict containing the changes.
72392
72393                 {'<package>': {'old': '<old-version>',
72394                        'new': '<new-version>'}}
72395
72396              CLI Example:
72397
72398                 salt '*' pkg.upgrade
72399
72400       salt.modules.apkpkg.version(*names, **kwargs)
72401              Returns a string representing the package version  or  an  empty
72402              string if not installed. If more than one package name is speci‐
72403              fied, a dict of name/version pairs is returned.
72404
72405              CLI Example:
72406
72407                 salt '*' pkg.version <package name>
72408                 salt '*' pkg.version <package1> <package2> <package3> ...
72409
72410   salt.modules.aptpkg
72411       Support for APT (Advanced Packaging Tool)
72412
72413       IMPORTANT:
72414          If you feel that Salt should be using this module to manage packages
72415          on  a  minion, and it is using a different module (or gives an error
72416          similar to 'pkg.install' is not available), see here.
72417
72418          For repository management, the python-apt package must be installed.
72419
72420       salt.modules.aptpkg.add_repo_key(path=None, text=None,  keyserver=None,
72421       keyid=None, saltenv=u'base')
72422              New in version 2017.7.0.
72423
72424
72425              Add a repo key using apt-key add.
72426
72427              Parameters
72428
72429                     · path (str) -- The path of the key file to import.
72430
72431                     · text (str) -- The key data to import, in string form.
72432
72433                     · keyserver  (str) -- The server to download the repo key
72434                       specified by the keyid.
72435
72436                     · keyid (str) -- The key id of the repo key to add.
72437
72438                     · saltenv (str) -- The environment the key  file  resides
72439                       in.
72440
72441              Returns
72442                     A boolean representing whether the repo key was added.
72443
72444              Return type
72445                     bool
72446
72447              CLI Examples:
72448
72449                 salt '*' pkg.add_repo_key 'salt://apt/sources/test.key'
72450
72451                 salt '*' pkg.add_repo_key text="'$KEY1'"
72452
72453                 salt '*' pkg.add_repo_key keyserver='keyserver.example' keyid='0000AAAA'
72454
72455       salt.modules.aptpkg.autoremove(list_only=False, purge=False)
72456              New in version 2015.5.0.
72457
72458
72459              Remove  packages  not  required by another package using apt-get
72460              autoremove.
72461
72462              list_only
72463                     False  Only  retrieve  the  list  of   packages   to   be
72464                     auto-removed, do not actually perform the auto-removal.
72465
72466              purge  False  Also  remove package config data when autoremoving
72467                     packages.
72468
72469                     New in version 2015.8.0.
72470
72471
72472              CLI Example:
72473
72474                 salt '*' pkg.autoremove
72475                 salt '*' pkg.autoremove list_only=True
72476                 salt '*' pkg.autoremove purge=True
72477
72478       salt.modules.aptpkg.del_repo(repo, **kwargs)
72479              Delete a repo from the sources.list / sources.list.d
72480
72481              If the .list file is in the  sources.list.d  directory  and  the
72482              file  that  the  repo  exists in does not contain any other repo
72483              configuration, the file itself will be deleted.
72484
72485              The repo passed in must be a fully formed repository  definition
72486              string.
72487
72488              CLI Examples:
72489
72490                 salt '*' pkg.del_repo "myrepo definition"
72491
72492       salt.modules.aptpkg.del_repo_key(name=None, **kwargs)
72493              New in version 2015.8.0.
72494
72495
72496              Remove a repo key using apt-key del
72497
72498              name   Repo  from  which to remove the key. Unnecessary if keyid
72499                     is passed.
72500
72501              keyid  The KeyID of the GPG key to remove
72502
72503              keyid_ppa
72504                     False If set to True, the  repo's  GPG  key  ID  will  be
72505                     looked up from ppa.launchpad.net and removed.
72506
72507                     NOTE:
72508                        Setting  this  option  to  True requires that the name
72509                        param also be passed.
72510
72511              CLI Examples:
72512
72513                 salt '*' pkg.del_repo_key keyid=0123ABCD
72514                 salt '*' pkg.del_repo_key name='ppa:foo/bar' keyid_ppa=True
72515
72516       salt.modules.aptpkg.expand_repo_def(**kwargs)
72517              Take a repository definition and  expand  it  to  the  full  pkg
72518              repository  dict  that  can  be  used for comparison.  This is a
72519              helper function to make the Debian/Ubuntu apt sources  sane  for
72520              comparison in the pkgrepo states.
72521
72522              This  is designed to be called from pkgrepo states and will have
72523              little use being called on the CLI.
72524
72525       salt.modules.aptpkg.file_dict(*packages)
72526              List the files that belong to a package, grouped by package. Not
72527              specifying  any  packages  will return a list of _every_ file on
72528              the system's package database (not generally recommended).
72529
72530              CLI Examples:
72531
72532                 salt '*' pkg.file_dict httpd
72533                 salt '*' pkg.file_dict httpd postfix
72534                 salt '*' pkg.file_dict
72535
72536       salt.modules.aptpkg.file_list(*packages)
72537              List the files that belong to  a  package.  Not  specifying  any
72538              packages  will  return  a  list  of _every_ file on the system's
72539              package database (not generally recommended).
72540
72541              CLI Examples:
72542
72543                 salt '*' pkg.file_list httpd
72544                 salt '*' pkg.file_list httpd postfix
72545                 salt '*' pkg.file_list
72546
72547       salt.modules.aptpkg.get_repo(repo, **kwargs)
72548              Display a repo from the sources.list / sources.list.d
72549
72550              The repo passed in needs to be a complete repo entry.
72551
72552              CLI Examples:
72553
72554                 salt '*' pkg.get_repo "myrepo definition"
72555
72556       salt.modules.aptpkg.get_repo_keys()
72557              New in version 2017.7.0.
72558
72559
72560              List known repo key details.
72561
72562              Returns
72563                     A dictionary containing the repo keys.
72564
72565              Return type
72566                     dict
72567
72568              CLI Examples:
72569
72570                 salt '*' pkg.get_repo_keys
72571
72572       salt.modules.aptpkg.get_selections(pattern=None, state=None)
72573              View package state from the dpkg database.
72574
72575              Returns a dict of dicts containing the state, and package names:
72576
72577                 {'<host>':
72578                     {'<state>': ['pkg1',
72579                                  ...
72580                                 ]
72581                     },
72582                     ...
72583                 }
72584
72585              CLI Example:
72586
72587                 salt '*' pkg.get_selections
72588                 salt '*' pkg.get_selections 'python-*'
72589                 salt '*' pkg.get_selections state=hold
72590                 salt '*' pkg.get_selections 'openssh*' state=hold
72591
72592       salt.modules.aptpkg.hold(name=None, pkgs=None, sources=None, **kwargs)
72593              New in version 2014.7.0.
72594
72595
72596              Set package in 'hold' state, meaning it will not be upgraded.
72597
72598              name   The name of the package, e.g., 'tmux'
72599
72600                     CLI Example:
72601
72602                        salt '*' pkg.hold <package name>
72603
72604              pkgs   A list of packages to hold. Must be passed  as  a  python
72605                     list.
72606
72607                     CLI Example:
72608
72609                        salt '*' pkg.hold pkgs='["foo", "bar"]'
72610
72611       salt.modules.aptpkg.info_installed(*names, **kwargs)
72612              Return  the information of the named package(s) installed on the
72613              system.
72614
72615              New in version 2015.8.1.
72616
72617
72618              names  The names of the packages for which  to  return  informa‐
72619                     tion.
72620
72621              failhard
72622                     Whether to throw an exception if none of the packages are
72623                     installed.  Defaults to True.
72624
72625                     New in version 2016.11.3.
72626
72627
72628              CLI example:
72629
72630                 salt '*' pkg.info_installed <package1>
72631                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
72632                 salt '*' pkg.info_installed <package1> failhard=false
72633
72634       salt.modules.aptpkg.install(name=None,  refresh=False,   fromrepo=None,
72635       skip_verify=False,   debconf=None,   pkgs=None,   sources=None,   rein‐
72636       stall=False, downloadonly=False, ignore_epoch=False, **kwargs)
72637              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
72638              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
72639              mands which modify installed packages from the salt-minion  dae‐
72640              mon's  control  group. This is done to keep systemd from killing
72641              any apt-get/dpkg commands spawned by Salt when  the  salt-minion
72642              service  is restarted. (see KillMode in the systemd.kill(5) man‐
72643              page for more information). If desired, usage of  systemd-run(1)
72644              can  be  suppressed  by  setting  a  config  option  called sys‐
72645              temd.scope, with a value of False (no quotes).
72646
72647
72648              Install the passed package, add refresh=True to update the  dpkg
72649              database.
72650
72651              name   The  name  of the package to be installed. Note that this
72652                     parameter is ignored if either  "pkgs"  or  "sources"  is
72653                     passed.  Additionally,  please  note that this option can
72654                     only be used to install packages from a software  reposi‐
72655                     tory.  To  install  a  package  file  manually,  use  the
72656                     "sources" option.
72657
72658                     32-bit packages can be installed  on  64-bit  systems  by
72659                     appending  the  architecture designation (:i386, etc.) to
72660                     the end of the package name.
72661
72662                     CLI Example:
72663
72664                        salt '*' pkg.install <package name>
72665
72666              refresh
72667                     Whether or not to refresh  the  package  database  before
72668                     installing.
72669
72670              cache_valid_time
72671                 New in version 2016.11.0.
72672
72673
72674                 Skip  refreshing  the package database if refresh has already
72675                 occurred within <value> seconds
72676
72677              fromrepo
72678                     Specify a  package  repository  to  install  from  (e.g.,
72679                     apt-get -t unstable install somepackage)
72680
72681              skip_verify
72682                     Skip  the GPG verification check (e.g., --allow-unauthen‐
72683                     ticated, or --force-bad-verify for install  from  package
72684                     file).
72685
72686              debconf
72687                     Provide  the  path  to  a debconf answers file, processed
72688                     before installation.
72689
72690              version
72691                     Install  a  specific  version  of   the   package,   e.g.
72692                     1.2.3~0ubuntu0. Ignored if "pkgs" or "sources" is passed.
72693
72694                     Changed in version 2018.3.0: version can now contain com‐
72695                     parison operators (e.g. >1.2.3, <=2.0, etc.)
72696
72697
72698              reinstall
72699                     False Specifying reinstall=True will use apt-get  install
72700                     --reinstall   rather  than  simply  apt-get  install  for
72701                     requested packages that are already installed.
72702
72703                     If a version is specified  with  the  requested  package,
72704                     then apt-get install --reinstall will only be used if the
72705                     installed version matches the requested version.
72706
72707                     New in version 2015.8.0.
72708
72709
72710              ignore_epoch
72711                     False Only used when the version of a package  is  speci‐
72712                     fied  using  a comparison operator (e.g. >4.1). If set to
72713                     True, then the epoch will be ignored when  comparing  the
72714                     currently-installed version to the desired version.
72715
72716                     New in version 2018.3.0.
72717
72718
72719              Multiple Package Installation Options:
72720
72721              pkgs   A list of packages to install from a software repository.
72722                     Must be passed as a python list.
72723
72724                     CLI Example:
72725
72726                        salt '*' pkg.install pkgs='["foo", "bar"]'
72727                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-0ubuntu0"}]'
72728
72729              sources
72730                     A list of DEB packages to install. Must be  passed  as  a
72731                     list of dicts, with the keys being package names, and the
72732                     values being the source URI or local path to the package.
72733                     Dependencies  are  automatically  resolved  and marked as
72734                     auto-installed.
72735
72736                     32-bit packages can be installed  on  64-bit  systems  by
72737                     appending  the  architecture designation (:i386, etc.) to
72738                     the end of the package name.
72739
72740                     Changed in version 2014.7.0.
72741
72742
72743                     CLI Example:
72744
72745                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
72746
72747              force_yes
72748                     Passes --force-yes to the  apt-get  command.   Don't  use
72749                     this unless you know what you're doing.
72750
72751                     New in version 0.17.4.
72752
72753
72754              install_recommends
72755                     Whether  to  install  the packages marked as recommended.
72756                     Default is True.
72757
72758                     New in version 2015.5.0.
72759
72760
72761              only_upgrade
72762                     Only upgrade the packages, if they are already installed.
72763                     Default is False.
72764
72765                     New in version 2015.5.0.
72766
72767
72768              force_conf_new
72769                     Always  install  the  new  version  of  any configuration
72770                     files.
72771
72772                     New in version 2015.8.0.
72773
72774
72775              Returns a dict containing the new package names and versions:
72776
72777                 {'<package>': {'old': '<old-version>',
72778                                'new': '<new-version>'}}
72779
72780       salt.modules.aptpkg.latest_version(*names, **kwargs)
72781              Return the latest version of the  named  package  available  for
72782              upgrade or installation. If more than one package name is speci‐
72783              fied, a dict of name/version pairs is returned.
72784
72785              If the latest version of a given package is  already  installed,
72786              an empty string will be returned for that package.
72787
72788              A  specific  repo  can  be  requested using the fromrepo keyword
72789              argument.
72790
72791              cache_valid_time
72792                 New in version 2016.11.0.
72793
72794
72795                 Skip refreshing the package database if refresh  has  already
72796                 occurred within <value> seconds
72797
72798              CLI Example:
72799
72800                 salt '*' pkg.latest_version <package name>
72801                 salt '*' pkg.latest_version <package name> fromrepo=unstable
72802                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
72803
72804       salt.modules.aptpkg.list_downloaded(root=None, **kwargs)
72805              New in version 3000?.
72806
72807
72808              List prefetched packages downloaded by apt in the local disk.
72809
72810              root   operate on a different root directory.
72811
72812              CLI example:
72813
72814                 salt '*' pkg.list_downloaded
72815
72816       salt.modules.aptpkg.list_pkgs(versions_as_list=False,    removed=False,
72817       purge_desired=False, **kwargs)
72818              List the packages currently installed in a dict:
72819
72820                 {'<package_name>': '<version>'}
72821
72822              removed
72823                     If True, then only packages which have been removed  (but
72824                     not purged) will be returned.
72825
72826              purge_desired
72827                     If  True, then only packages which have been marked to be
72828                     purged, but can't be purged due to their status as depen‐
72829                     dencies  for  other installed packages, will be returned.
72830                     Note that these packages will appear in installed
72831
72832                     Changed in version 2014.1.1: Packages in this  state  now
72833                     correctly show up in the output of this function.
72834
72835
72836              CLI Example:
72837
72838                 salt '*' pkg.list_pkgs
72839                 salt '*' pkg.list_pkgs versions_as_list=True
72840
72841       salt.modules.aptpkg.list_repo_pkgs(*args, **kwargs)
72842              New in version 2017.7.0.
72843
72844
72845              Returns  all  available packages. Optionally, package names (and
72846              name globs) can be passed and the results will  be  filtered  to
72847              packages matching those names.
72848
72849              This  function can be helpful in discovering the version or repo
72850              to specify in a pkg.installed state.
72851
72852              The return data will be a dictionary mapping package names to  a
72853              list  of  version  numbers,  ordered  from newest to oldest. For
72854              example:
72855
72856                 {
72857                     'bash': ['4.3-14ubuntu1.1',
72858                              '4.3-14ubuntu1'],
72859                     'nginx': ['1.10.0-0ubuntu0.16.04.4',
72860                               '1.9.15-0ubuntu1']
72861                 }
72862
72863              CLI Examples:
72864
72865                 salt '*' pkg.list_repo_pkgs
72866                 salt '*' pkg.list_repo_pkgs foo bar baz
72867
72868       salt.modules.aptpkg.list_repos()
72869              Lists all repos in the sources.list (and sources.lists.d) files
72870
72871              CLI Example:
72872
72873                 salt '*' pkg.list_repos
72874                 salt '*' pkg.list_repos disabled=True
72875
72876       salt.modules.aptpkg.list_upgrades(refresh=True,      dist_upgrade=True,
72877       **kwargs)
72878              List all available package upgrades.
72879
72880              refresh
72881                     Whether  to  refresh  the package database before listing
72882                     upgrades.  Default: True.
72883
72884              cache_valid_time
72885                 New in version 2016.11.0.
72886
72887
72888                 Skip refreshing the package database if refresh  has  already
72889                 occurred within <value> seconds
72890
72891              dist_upgrade
72892                     Whether  to  list  the  upgrades  using  dist-upgrade  vs
72893                     upgrade.  Default is to use dist-upgrade.
72894
72895              CLI Example:
72896
72897                 salt '*' pkg.list_upgrades
72898
72899       salt.modules.aptpkg.mod_repo(repo, saltenv=u'base', **kwargs)
72900              Modify one or more values for a repo.   If  the  repo  does  not
72901              exist,  it  will  be  created, so long as the definition is well
72902              formed.  For Ubuntu the ppa:<project>/repo format is acceptable.
72903              ppa: format can only be used to create a new repository.
72904
72905              The following options are available to modify a repo definition:
72906
72907              architectures
72908                     A  comma-separated  list of supported architectures, e.g.
72909                     amd64 If this option is not set, all architectures  (con‐
72910                     figured in the system) will be used.
72911
72912              comps  A  comma  separated list of components for the repo, e.g.
72913                     main
72914
72915              file   A file name to be used
72916
72917              keyserver
72918                     Keyserver to get gpg key from
72919
72920              keyid  Key ID or a list of key IDs to load  with  the  keyserver
72921                     argument
72922
72923              key_url
72924                     URL to a GPG key to add to the APT GPG keyring
72925
72926              key_text
72927                     GPG key in string form to add to the APT GPG keyring
72928
72929                     New in version 2018.3.0.
72930
72931
72932              consolidate
72933                     False  If True, will attempt to de-duplicate and consoli‐
72934                     date sources
72935
72936              comments
72937                     Sometimes you want to supply additional information,  but
72938                     not  as enabled configuration. All comments provided here
72939                     will be joined into a single string and appended  to  the
72940                     repo configuration with a comment marker (#) before it.
72941
72942                     New in version 2015.8.9.
72943
72944
72945              refresh
72946                     True  Enable or disable (True or False) refreshing of the
72947                     apt package database. The  previous  refresh_db  argument
72948                     was deprecated in favor of refresh`. The refresh_db argu‐
72949                     ment will still continue to work to ensure backwards com‐
72950                     patibility,  but  please  change  to  using the preferred
72951                     refresh.
72952
72953              NOTE:
72954                 Due to the way keys are stored for  APT,  there  is  a  known
72955                 issue where the key won't be updated unless another change is
72956                 made at the same time. Keys should be properly added on  ini‐
72957                 tial configuration.
72958
72959              CLI Examples:
72960
72961                 salt '*' pkg.mod_repo 'myrepo definition' uri=http://new/uri
72962                 salt '*' pkg.mod_repo 'myrepo definition' comps=main,universe
72963
72964       salt.modules.aptpkg.normalize_name(name)
72965              Strips the architecture from the specified package name, if nec‐
72966              essary.
72967
72968              CLI Example:
72969
72970                 salt '*' pkg.normalize_name zsh:amd64
72971
72972       salt.modules.aptpkg.owner(*paths)
72973              New in version 2014.7.0.
72974
72975
72976              Return the name of the package that owns the file. Multiple file
72977              paths  can  be  passed.  Like  pkg.version,  if a single path is
72978              passed, a string will be returned, and  if  multiple  paths  are
72979              passed,   a  dictionary  of  file/package  name  pairs  will  be
72980              returned.
72981
72982              If the file is not owned by a package, or is not present on  the
72983              minion, then an empty string will be returned for that path.
72984
72985              CLI Example:
72986
72987                 salt '*' pkg.owner /usr/bin/apachectl
72988                 salt '*' pkg.owner /usr/bin/apachectl /usr/bin/basename
72989
72990       salt.modules.aptpkg.parse_arch(name)
72991              Parse name and architecture from the specified package name.
72992
72993              CLI Example:
72994
72995                 salt '*' pkg.parse_arch zsh:amd64
72996
72997       salt.modules.aptpkg.purge(name=None, pkgs=None, **kwargs)
72998              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
72999              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
73000              mands  which modify installed packages from the salt-minion dae‐
73001              mon's control group. This is done to keep systemd  from  killing
73002              any  apt-get/dpkg  commands spawned by Salt when the salt-minion
73003              service is restarted. (see KillMode in the systemd.kill(5)  man‐
73004              page  for more information). If desired, usage of systemd-run(1)
73005              can be  suppressed  by  setting  a  config  option  called  sys‐
73006              temd.scope, with a value of False (no quotes).
73007
73008
73009              Remove  packages  via apt-get purge along with all configuration
73010              files.
73011
73012              name   The name of the package to be deleted.
73013
73014              Multiple Package Options:
73015
73016              pkgs   A list of packages to delete. Must be passed as a  python
73017                     list.  The  name parameter will be ignored if this option
73018                     is passed.
73019
73020              New in version 0.16.0.
73021
73022
73023              Returns a dict containing the changes.
73024
73025              CLI Example:
73026
73027                 salt '*' pkg.purge <package name>
73028                 salt '*' pkg.purge <package1>,<package2>,<package3>
73029                 salt '*' pkg.purge pkgs='["foo", "bar"]'
73030
73031       salt.modules.aptpkg.refresh_db(cache_valid_time=0, failhard=False)
73032              Updates the APT database to latest packages based upon reposito‐
73033              ries
73034
73035              Returns  a  dict,  with the keys being package databases and the
73036              values being the result of the update attempt. Values can be one
73037              of the following:
73038
73039              · True: Database updated successfully
73040
73041              · False: Problem updating database
73042
73043              · None: Database already up-to-date
73044
73045              cache_valid_time
73046                 New in version 2016.11.0.
73047
73048
73049                 Skip  refreshing  the package database if refresh has already
73050                 occurred within <value> seconds
73051
73052              failhard
73053                 If False, return results of Err lines as False for the  pack‐
73054                 age  database  that encountered the error.  If True, raise an
73055                 error with a list of the package databases  that  encountered
73056                 errors.
73057
73058              CLI Example:
73059
73060                 salt '*' pkg.refresh_db
73061
73062       salt.modules.aptpkg.remove(name=None, pkgs=None, **kwargs)
73063              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
73064              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
73065              mands  which modify installed packages from the salt-minion dae‐
73066              mon's control group. This is done to keep systemd  from  killing
73067              any  apt-get/dpkg  commands spawned by Salt when the salt-minion
73068              service is restarted. (see KillMode in the systemd.kill(5)  man‐
73069              page  for more information). If desired, usage of systemd-run(1)
73070              can be  suppressed  by  setting  a  config  option  called  sys‐
73071              temd.scope, with a value of False (no quotes).
73072
73073
73074              Remove packages using apt-get remove.
73075
73076              name   The name of the package to be deleted.
73077
73078              Multiple Package Options:
73079
73080              pkgs   A  list of packages to delete. Must be passed as a python
73081                     list. The name parameter will be ignored if  this  option
73082                     is passed.
73083
73084              New in version 0.16.0.
73085
73086
73087              Returns a dict containing the changes.
73088
73089              CLI Example:
73090
73091                 salt '*' pkg.remove <package name>
73092                 salt '*' pkg.remove <package1>,<package2>,<package3>
73093                 salt '*' pkg.remove pkgs='["foo", "bar"]'
73094
73095       salt.modules.aptpkg.set_selections(path=None,           selection=None,
73096       clear=False, saltenv=u'base')
73097              Change package state in the dpkg database.
73098
73099              The state can be any one of, documented in dpkg(1):
73100
73101              · install
73102
73103              · hold
73104
73105              · deinstall
73106
73107              · purge
73108
73109              This command is commonly used to mark specific  packages  to  be
73110              held  from being upgraded, that is, to be kept at a certain ver‐
73111              sion. When a state is changed to anything but being  held,  then
73112              it is typically followed by apt-get -u dselect-upgrade.
73113
73114              Note:  Be  careful  with the clear argument, since it will start
73115              with setting all packages to deinstall state.
73116
73117              Returns a dict of dicts containing the package  names,  and  the
73118              new and old versions:
73119
73120                 {'<host>':
73121                     {'<package>': {'new': '<new-state>',
73122                                    'old': '<old-state>'}
73123                     },
73124                     ...
73125                 }
73126
73127              CLI Example:
73128
73129                 salt '*' pkg.set_selections selection='{"install": ["netcat"]}'
73130                 salt '*' pkg.set_selections selection='{"hold": ["openssh-server", "openssh-client"]}'
73131                 salt '*' pkg.set_selections salt://path/to/file
73132                 salt '*' pkg.set_selections salt://path/to/file clear=True
73133
73134       salt.modules.aptpkg.show(*names, **kwargs)
73135              New in version 2019.2.0.
73136
73137
73138              Runs  an apt-cache show on the passed package names, and returns
73139              the results in a nested dictionary. The top level of the  return
73140              data will be the package name, with each package name mapping to
73141              a dictionary of version numbers to  any  additional  information
73142              returned by apt-cache show.
73143
73144              filter An  optional comma-separated list (or quoted Python list)
73145                     of case-insensitive keys on which to filter. This  allows
73146                     one to restrict the information returned for each package
73147                     to a smaller selection of pertinent items.
73148
73149              refresh
73150                     False If True, the apt cache will be refreshed first.  By
73151                     default, no refresh is performed.
73152
73153              CLI Examples:
73154
73155                 salt myminion pkg.show gawk
73156                 salt myminion pkg.show 'nginx-*'
73157                 salt myminion pkg.show 'nginx-*' filter=description,provides
73158
73159       salt.modules.aptpkg.unhold(name=None,      pkgs=None,     sources=None,
73160       **kwargs)
73161              New in version 2014.7.0.
73162
73163
73164              Set package current in 'hold' state to install state, meaning it
73165              will be upgraded.
73166
73167              name   The name of the package, e.g., 'tmux'
73168
73169                     CLI Example:
73170
73171                        salt '*' pkg.unhold <package name>
73172
73173              pkgs   A  list of packages to unhold. Must be passed as a python
73174                     list.
73175
73176                     CLI Example:
73177
73178                        salt '*' pkg.unhold pkgs='["foo", "bar"]'
73179
73180       salt.modules.aptpkg.upgrade(refresh=True, dist_upgrade=False, **kwargs)
73181              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
73182              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
73183              mands which modify installed packages from the salt-minion  dae‐
73184              mon's  control  group. This is done to keep systemd from killing
73185              any apt-get/dpkg commands spawned by Salt when  the  salt-minion
73186              service  is restarted. (see KillMode in the systemd.kill(5) man‐
73187              page for more information). If desired, usage of  systemd-run(1)
73188              can  be  suppressed  by  setting  a  config  option  called sys‐
73189              temd.scope, with a value of False (no quotes).
73190
73191
73192              Upgrades  all  packages   via   apt-get   upgrade   or   apt-get
73193              dist-upgrade if  dist_upgrade is True.
73194
73195              Returns a dictionary containing the changes:
73196
73197                 {'<package>':  {'old': '<old-version>',
73198                                 'new': '<new-version>'}}
73199
73200              dist_upgrade
73201                     Whether  to  perform  the  upgrade  using dist-upgrade vs
73202                     upgrade.  Default is to use upgrade.
73203
73204                     New in version 2014.7.0.
73205
73206
73207              cache_valid_time
73208                 New in version 2016.11.0.
73209
73210
73211                 Skip refreshing the package database if refresh  has  already
73212                 occurred within <value> seconds
73213
73214              download_only (or downloadonly)
73215                     Only download the packages, don't unpack or install them.
73216                     Use downloadonly to be in line with yum and  zypper  mod‐
73217                     ule.
73218
73219                     New in version 2018.3.0.
73220
73221
73222              force_conf_new
73223                     Always  install  the  new  version  of  any configuration
73224                     files.
73225
73226                     New in version 2015.8.0.
73227
73228
73229              CLI Example:
73230
73231                 salt '*' pkg.upgrade
73232
73233       salt.modules.aptpkg.upgrade_available(name)
73234              Check whether or not an upgrade is available for a given package
73235
73236              CLI Example:
73237
73238                 salt '*' pkg.upgrade_available <package name>
73239
73240       salt.modules.aptpkg.version(*names, **kwargs)
73241              Returns a string representing the package version  or  an  empty
73242              string if not installed. If more than one package name is speci‐
73243              fied, a dict of name/version pairs is returned.
73244
73245              CLI Example:
73246
73247                 salt '*' pkg.version <package name>
73248                 salt '*' pkg.version <package1> <package2> <package3> ...
73249
73250       salt.modules.aptpkg.version_cmp(pkg1, pkg2, ignore_epoch=False)
73251              Do a cmp-style comparison on two packages. Return -1 if  pkg1  <
73252              pkg2,  0  if  pkg1 == pkg2, and 1 if pkg1 > pkg2. Return None if
73253              there was a problem making the comparison.
73254
73255              ignore_epoch
73256                     False Set to True to ignore the epoch when comparing ver‐
73257                     sions
73258
73259                     New in version 2015.8.10,2016.3.2.
73260
73261
73262              CLI Example:
73263
73264                 salt '*' pkg.version_cmp '0.2.4-0ubuntu1' '0.2.4.1-0ubuntu1'
73265
73266   salt.modules.archive
73267       A module to wrap (non-Windows) archive calls
73268
73269       New in version 2014.1.0.
73270
73271
73272       salt.modules.archive.cmd_unzip(zip_file,      dest,      excludes=None,
73273       options=None,  template=None,  runas=None,   trim_output=False,   pass‐
73274       word=None)
73275              New  in version 2015.5.0: In versions 2014.7.x and earlier, this
73276              function was known as archive.unzip.
73277
73278
73279              Uses the unzip command to unpack zip files. This command is part
73280              of  the  Info-ZIP  suite  of tools, and is typically packaged as
73281              simply unzip.
73282
73283              zip_file
73284                     Path of zip file to be unpacked
73285
73286              dest   The destination directory into which the file  should  be
73287                     unpacked
73288
73289              excludes
73290                     None  Comma-separated  list  of  files not to unpack. Can
73291                     also be passed in a Python list.
73292
73293              template
73294                     None Can be set to 'jinja' or another supported  template
73295                     engine to render the command arguments before execution:
73296
73297                        salt '*' archive.cmd_unzip template=jinja /tmp/zipfile.zip '/tmp/{{grains.id}}' excludes=file_1,file_2
73298
73299              options
73300                     Optional  when  using  zip  archives,  ignored when usign
73301                     other archives files. This is mostly  used  to  overwrite
73302                     existing  files  with o.  This options are only used when
73303                     unzip binary is used.
73304
73305                     New in version 2016.3.1.
73306
73307
73308              runas  None Unpack the zip file as the specified user.  Defaults
73309                     to the user under which the minion is running.
73310
73311                     New in version 2015.5.0.
73312
73313
73314              trim_output
73315                     False  The  number  of  files we should output on success
73316                     before the rest are trimmed, if this is set to True  then
73317                     it will default to 100
73318
73319              password
73320                     Password to use with password protected zip files
73321
73322                     NOTE:
73323                        This  is  not  considered secure. It is recommended to
73324                        instead use archive.unzip for  password-protected  ZIP
73325                        files. If a password is used here, then the unzip com‐
73326                        mand run to extract the ZIP file will not show  up  in
73327                        the  minion log like most shell commands Salt runs do.
73328                        However, the password will still  be  present  in  the
73329                        events  logged  to  the  minion  log  at the debug log
73330                        level. If the minion is logging at debug (or more ver‐
73331                        bose),  then  be advised that the password will appear
73332                        in the log.
73333
73334                     New in version 2016.11.0.
73335
73336
73337              CLI Example:
73338
73339                 salt '*' archive.cmd_unzip /tmp/zipfile.zip /home/strongbad/ excludes=file_1,file_2
73340
73341       salt.modules.archive.cmd_zip(zip_file,     sources,      template=None,
73342       cwd=None, runas=None)
73343              New  in version 2015.5.0: In versions 2014.7.x and earlier, this
73344              function was known as archive.zip.
73345
73346
73347              Uses the zip command to create zip files. This command  is  part
73348              of  the  Info-ZIP  suite  of tools, and is typically packaged as
73349              simply zip.
73350
73351              zip_file
73352                     Path of zip file to be created
73353
73354              sources
73355                     Comma-separated list of sources to  include  in  the  zip
73356                     file. Sources can also be passed in a Python list.
73357
73358                     Changed  in  version  2017.7.0: Globbing is now supported
73359                     for this argument
73360
73361
73362              template
73363                     None Can be set to 'jinja' or another supported  template
73364                     engine to render the command arguments before execution:
73365
73366                        salt '*' archive.cmd_zip template=jinja /tmp/zipfile.zip /tmp/sourcefile1,/tmp/{{grains.id}}.txt
73367
73368              cwd    None  Use  this  argument  along  with  relative paths in
73369                     sources to create zip files  which  do  not  contain  the
73370                     leading  directories. If not specified, the zip file will
73371                     be created as if the cwd was /, and creating a  zip  file
73372                     of  /foo/bar/baz.txt  will contain the parent directories
73373                     foo and  bar.  To  create  a  zip  file  containing  just
73374                     baz.txt, the following command would be used:
73375
73376                        salt '*' archive.cmd_zip /tmp/baz.zip baz.txt cwd=/foo/bar
73377
73378                     New in version 2014.7.1.
73379
73380
73381              runas  None  Create the zip file as the specified user. Defaults
73382                     to the user under which the minion is running.
73383
73384                     New in version 2015.5.0.
73385
73386
73387              CLI Example:
73388
73389                 salt '*' archive.cmd_zip /tmp/zipfile.zip /tmp/sourcefile1,/tmp/sourcefile2
73390                 # Globbing for sources (2017.7.0 and later)
73391                 salt '*' archive.cmd_zip /tmp/zipfile.zip '/tmp/sourcefile*'
73392
73393       salt.modules.archive.gunzip(gzipfile,    template=None,     runas=None,
73394       options=None)
73395              Uses the gunzip command to unpack gzip files
73396
73397              template
73398                     None  Can be set to 'jinja' or another supported template
73399                     engine to render the command arguments before execution:
73400
73401                        salt '*' archive.gunzip template=jinja /tmp/{{grains.id}}.txt.gz
73402
73403              runas  None The user with which to run the gzip command line
73404
73405              options
73406                     None Pass any additional arguments to gzip
73407
73408                     New in version 2016.3.4.
73409
73410
73411              CLI Example:
73412
73413                 # Create /tmp/sourcefile.txt
73414                 salt '*' archive.gunzip /tmp/sourcefile.txt.gz
73415                 salt '*' archive.gunzip /tmp/sourcefile.txt options='--verbose'
73416
73417       salt.modules.archive.gzip(sourcefile,    template=None,     runas=None,
73418       options=None)
73419              Uses the gzip command to create gzip files
73420
73421              template
73422                     None  Can be set to 'jinja' or another supported template
73423                     engine to render the command arguments before execution:
73424
73425                        salt '*' archive.gzip template=jinja /tmp/{{grains.id}}.txt
73426
73427              runas  None The user with which to run the gzip command line
73428
73429              options
73430                     None Pass any additional arguments to gzip
73431
73432                     New in version 2016.3.4.
73433
73434
73435              CLI Example:
73436
73437                 # Create /tmp/sourcefile.txt.gz
73438                 salt '*' archive.gzip /tmp/sourcefile.txt
73439                 salt '*' archive.gzip /tmp/sourcefile.txt options='-9 --verbose'
73440
73441       salt.modules.archive.is_encrypted(name,  clean=False,  saltenv=u'base',
73442       source_hash=None)
73443              New in version 2016.11.0.
73444
73445
73446              Returns  True if the zip archive is password-protected, False if
73447              not. If the specified file is not a ZIP archive, an  error  will
73448              be raised.
73449
73450              name   The path / URL of the archive to check.
73451
73452              clean  False  Set this value to True to delete the path referred
73453                     to by name once  the  contents  have  been  listed.  This
73454                     option should be used with care.
73455
73456                     NOTE:
73457                        If  there  is an error listing the archive's contents,
73458                        the cached file will not  be  removed,  to  allow  for
73459                        troubleshooting.
73460
73461              saltenv
73462                     base  Specifies  the fileserver environment from which to
73463                     retrieve archive. This is only applicable when archive is
73464                     a file from the salt:// fileserver.
73465
73466              source_hash
73467                     If  name is an http(s)/ftp URL and the file exists in the
73468                     minion's file cache, this option can be  passed  to  keep
73469                     the  minion from re-downloading the archive if the cached
73470                     copy matches the specified hash.
73471
73472                     New in version 2018.3.0.
73473
73474
73475              CLI Examples:
73476
73477                 salt '*' archive.is_encrypted /path/to/myfile.zip
73478                 salt '*' archive.is_encrypted salt://foo.zip
73479                 salt '*' archive.is_encrypted salt://foo.zip saltenv=dev
73480                 salt '*' archive.is_encrypted https://domain.tld/myfile.zip clean=True
73481                 salt '*' archive.is_encrypted https://domain.tld/myfile.zip source_hash=f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
73482                 salt '*' archive.is_encrypted ftp://10.1.2.3/foo.zip
73483
73484       salt.modules.archive.list_(name,   archive_format=None,   options=None,
73485       strip_components=None,   clean=False,  verbose=False,  saltenv=u'base',
73486       source_hash=None)
73487              New in version 2016.11.0.
73488
73489
73490              Changed in version 2016.11.2: The rarfile Python module  is  now
73491              supported for listing the contents of rar archives. This is nec‐
73492              essary on minions with older releases of the rar CLI tool, which
73493              do not support listing the contents in a parsable format.
73494
73495
73496              List the files and directories in an tar, zip, or rar archive.
73497
73498              NOTE:
73499                 This function will only provide results for XZ-compressed ar‐
73500                 chives if the xz CLI command is available, as Python does not
73501                 at  this  time natively support XZ compression in its tarfile
73502                 module. Keep in mind however that  most  Linux  distros  ship
73503                 with xz already installed.
73504
73505                 To check if a given minion has xz, the following Salt command
73506                 can be run:
73507
73508                     salt minion_id cmd.which xz
73509
73510                 If None is returned, then xz  is  not  present  and  must  be
73511                 installed.   It is widely available and should be packaged as
73512                 either xz or xz-utils.
73513
73514              name   Path/URL of archive
73515
73516              archive_format
73517                     Specify the format of the archive (tar, zip, or rar).  If
73518                     this  argument  is  omitted,  the  archive format will be
73519                     guessed based on the value of the name parameter.
73520
73521              options
73522                     For tar archives only. This function  will,  by  default,
73523                     try  to  use  the tarfile module from the Python standard
73524                     library to get  a  list  of  files/directories.  If  this
73525                     method  fails,  then it will fall back to using the shell
73526                     to decompress the archive to stdout and pipe the  results
73527                     to  tar  -tf  -  to  produce a list of filenames. XZ-com‐
73528                     pressed archives are already supported automatically, but
73529                     in  the  event that the tar archive uses a different sort
73530                     of compression not supported natively  by  tarfile,  this
73531                     option  can be used to specify a command that will decom‐
73532                     press the archive to stdout. For example:
73533
73534                        salt minion_id archive.list /path/to/foo.tar.gz options='gzip --decompress --stdout'
73535
73536                     NOTE:
73537                        It is not necessary to manually  specify  options  for
73538                        gzip'ed archives, as gzip compression is natively sup‐
73539                        ported by tarfile.
73540
73541              strip_components
73542                     This argument specifies a number of top-level directories
73543                     to  strip  from the results. This is similar to the paths
73544                     that  would  be  extracted  if   --strip-components   (or
73545                     --strip) were used when extracting tar archives.
73546
73547                     New in version 2016.11.2.
73548
73549
73550              clean  False  Set this value to True to delete the path referred
73551                     to by name once  the  contents  have  been  listed.  This
73552                     option should be used with care.
73553
73554                     NOTE:
73555                        If  there  is an error listing the archive's contents,
73556                        the cached file will not  be  removed,  to  allow  for
73557                        troubleshooting.
73558
73559              verbose
73560                     False  If  False,  this  function  will  return a list of
73561                     files/dirs in the archive. If True, it will return a dic‐
73562                     tionary  categorizing  the  paths into separate keys con‐
73563                     taining the directory names, file names, and also  direc‐
73564                     tories/files present in the top level of the archive.
73565
73566                     Changed  in  version  2016.11.2: This option now includes
73567                     symlinks in their own list. Before,  they  were  included
73568                     with files.
73569
73570
73571              saltenv
73572                     base  Specifies  the fileserver environment from which to
73573                     retrieve archive. This is only applicable when archive is
73574                     a file from the salt:// fileserver.
73575
73576              source_hash
73577                     If  name is an http(s)/ftp URL and the file exists in the
73578                     minion's file cache, this option can be  passed  to  keep
73579                     the  minion from re-downloading the archive if the cached
73580                     copy matches the specified hash.
73581
73582                     New in version 2018.3.0.
73583
73584
73585              CLI Examples:
73586
73587                 salt '*' archive.list /path/to/myfile.tar.gz
73588                 salt '*' archive.list /path/to/myfile.tar.gz strip_components=1
73589                 salt '*' archive.list salt://foo.tar.gz
73590                 salt '*' archive.list https://domain.tld/myfile.zip
73591                 salt '*' archive.list https://domain.tld/myfile.zip source_hash=f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
73592                 salt '*' archive.list ftp://10.1.2.3/foo.rar
73593
73594       salt.modules.archive.rar(rarfile,  sources,  template=None,   cwd=None,
73595       runas=None)
73596              Uses rar for Linux to create rar files
73597
73598              rarfile
73599                     Path of rar file to be created
73600
73601              sources
73602                     Comma-separated  list  of  sources  to include in the rar
73603                     file. Sources can also be passed in a Python list.
73604
73605                     Changed in version 2017.7.0: Globbing  is  now  supported
73606                     for this argument
73607
73608
73609              cwd    None  Run  the  rar command from the specified directory.
73610                     Use this argument along with relative file paths to  cre‐
73611                     ate  rar  files which do not contain the leading directo‐
73612                     ries. If not specified, this will  default  to  the  home
73613                     directory of the user under which the salt minion process
73614                     is running.
73615
73616                     New in version 2014.7.1.
73617
73618
73619              template
73620                     None Can be set to 'jinja' or another supported  template
73621                     engine to render the command arguments before execution:
73622
73623                        salt '*' archive.rar template=jinja /tmp/rarfile.rar '/tmp/sourcefile1,/tmp/{{grains.id}}.txt'
73624
73625              CLI Example:
73626
73627                 salt '*' archive.rar /tmp/rarfile.rar /tmp/sourcefile1,/tmp/sourcefile2
73628                 # Globbing for sources (2017.7.0 and later)
73629                 salt '*' archive.rar /tmp/rarfile.rar '/tmp/sourcefile*'
73630
73631       salt.modules.archive.tar(options,   tarfile,  sources=None,  dest=None,
73632       cwd=None, template=None, runas=None)
73633
73634              NOTE:
73635                 This function has changed for version 0.17.0. In  prior  ver‐
73636                 sions, the cwd and template arguments must be specified, with
73637                 the source directories/files coming as a space-separated list
73638                 at  the  end  of  the command. Beginning with 0.17.0, sources
73639                 must be a comma-separated list,  and  the  cwd  and  template
73640                 arguments are optional.
73641
73642              Uses the tar command to pack, unpack, etc. tar files
73643
73644              options
73645                     Options to pass to the tar command
73646
73647                     Changed  in  version  2015.8.0: The mandatory - prefixing
73648                     has been removed.  An options  string  beginning  with  a
73649                     --long-option, would have uncharacteristically needed its
73650                     first - removed under the former scheme.
73651
73652                     Also, tar will parse its  options  differently  if  short
73653                     options  are used with or without a preceding -, so it is
73654                     better to not confuse  the  user  into  thinking  they're
73655                     using  the  non--  format, when really they are using the
73656                     with-- format.
73657
73658
73659              tarfile
73660                     The filename of the tar archive to pack/unpack
73661
73662              sources
73663                     Comma delimited list of files to pack into  the  tarfile.
73664                     Can also be passed as a Python list.
73665
73666                     Changed  in  version  2017.7.0: Globbing is now supported
73667                     for this argument
73668
73669
73670              dest   The  destination  directory  into  which  to  unpack  the
73671                     tarfile
73672
73673              cwd    None  The  directory  in  which the tar command should be
73674                     executed. If not specified,  will  default  to  the  home
73675                     directory of the user under which the salt minion process
73676                     is running.
73677
73678              template
73679                     None Can be set to 'jinja' or another supported  template
73680                     engine to render the command arguments before execution:
73681
73682                        salt '*' archive.tar cjvf /tmp/salt.tar.bz2 {{grains.saltpath}} template=jinja
73683
73684              CLI Examples:
73685
73686                 # Create a tarfile
73687                 salt '*' archive.tar cjvf /tmp/tarfile.tar.bz2 /tmp/file_1,/tmp/file_2
73688                 # Create a tarfile using globbing (2017.7.0 and later)
73689                 salt '*' archive.tar cjvf /tmp/tarfile.tar.bz2 '/tmp/file_*'
73690                 # Unpack a tarfile
73691                 salt '*' archive.tar xf foo.tar dest=/target/directory
73692
73693       salt.modules.archive.unrar(rarfile, dest, excludes=None, template=None,
73694       runas=None, trim_output=False)
73695              Uses rar for Linux to unpack rar files
73696
73697              rarfile
73698                     Name of rar file to be unpacked
73699
73700              dest   The destination directory into which to  unpack  the  rar
73701                     file
73702
73703              template
73704                     None  Can be set to 'jinja' or another supported template
73705                     engine to render the command arguments before execution:
73706
73707                        salt '*' archive.unrar template=jinja /tmp/rarfile.rar /tmp/{{grains.id}}/ excludes=file_1,file_2
73708
73709              trim_output
73710                     False The number of files we  should  output  on  success
73711                     before  the rest are trimmed, if this is set to True then
73712                     it will default to 100
73713
73714              CLI Example:
73715
73716                 salt '*' archive.unrar /tmp/rarfile.rar /home/strongbad/ excludes=file_1,file_2
73717
73718       salt.modules.archive.unzip(zip_file, dest, excludes=None, options=None,
73719       template=None,     runas=None,     trim_output=False,    password=None,
73720       extract_perms=True)
73721              Uses the zipfile Python module to unpack zip files
73722
73723              Changed in version 2015.5.0: This function was rewritten to  use
73724              Python's  native  zip  file  support.  The old functionality has
73725              been preserved in the new function archive.cmd_unzip.  For  ver‐
73726              sions  2014.7.x  and earlier, see the archive.cmd_zip documenta‐
73727              tion.
73728
73729
73730              zip_file
73731                     Path of zip file to be unpacked
73732
73733              dest   The destination directory into which the file  should  be
73734                     unpacked
73735
73736              excludes
73737                     None  Comma-separated  list  of  files not to unpack. Can
73738                     also be passed in a Python list.
73739
73740              options
73741                     This options are only used when unzip binary is used.  In
73742                     this function is ignored.
73743
73744                     New in version 2016.3.1.
73745
73746
73747              template
73748                     None  Can be set to 'jinja' or another supported template
73749                     engine to render the command arguments before execution:
73750
73751                        salt '*' archive.unzip template=jinja /tmp/zipfile.zip /tmp/{{grains.id}}/ excludes=file_1,file_2
73752
73753              runas  None Unpack the zip file as the specified user.  Defaults
73754                     to the user under which the minion is running.
73755
73756              trim_output
73757                     False  The  number  of  files we should output on success
73758                     before the rest are trimmed, if this is set to True  then
73759                     it will default to 100
73760
73761              CLI Example:
73762
73763                 salt '*' archive.unzip /tmp/zipfile.zip /home/strongbad/ excludes=file_1,file_2
73764
73765              password
73766                     Password to use with password protected zip files
73767
73768                     NOTE:
73769                        The  password  will be present in the events logged to
73770                        the minion log file at the debug  log  level.  If  the
73771                        minion  is logging at debug (or more verbose), then be
73772                        advised that the password will appear in the log.
73773
73774                     New in version 2016.3.0.
73775
73776
73777              extract_perms
73778                     True  The  Python  zipfile  module   does   not   extract
73779                     file/directory  attributes by default. When this argument
73780                     is set to True, Salt will attempt to apply the file  per‐
73781                     mission attributes to the extracted files/folders.
73782
73783                     On  Windows, only the read-only flag will be extracted as
73784                     set  within  the  zip  file,   other   attributes   (i.e.
73785                     user/group permissions) are ignored.
73786
73787                     Set this argument to False to disable this behavior.
73788
73789                     New in version 2016.11.0.
73790
73791
73792              CLI Example:
73793
73794                 salt '*' archive.unzip /tmp/zipfile.zip /home/strongbad/ password='BadPassword'
73795
73796       salt.modules.archive.zip_(zip_file,  sources,  template=None, cwd=None,
73797       runas=None, zip64=False)
73798              Uses the zipfile Python module to create zip files
73799
73800              Changed in version 2015.5.0: This function was rewritten to  use
73801              Python's  native  zip  file  support.  The old functionality has
73802              been preserved in the new function archive.cmd_zip. For versions
73803              2014.7.x and earlier, see the archive.cmd_zip documentation.
73804
73805
73806              zip_file
73807                     Path of zip file to be created
73808
73809              sources
73810                     Comma-separated  list  of  sources  to include in the zip
73811                     file. Sources can also be passed in a Python list.
73812
73813                     Changed in version 2017.7.0: Globbing  is  now  supported
73814                     for this argument
73815
73816
73817              template
73818                     None  Can be set to 'jinja' or another supported template
73819                     engine to render the command arguments before execution:
73820
73821                        salt '*' archive.zip template=jinja /tmp/zipfile.zip /tmp/sourcefile1,/tmp/{{grains.id}}.txt
73822
73823              cwd    None Use this  argument  along  with  relative  paths  in
73824                     sources  to  create  zip  files  which do not contain the
73825                     leading directories. If not specified, the zip file  will
73826                     be  created  as if the cwd was /, and creating a zip file
73827                     of /foo/bar/baz.txt will contain the  parent  directories
73828                     foo  and  bar.  To  create  a  zip  file  containing just
73829                     baz.txt, the following command would be used:
73830
73831                        salt '*' archive.zip /tmp/baz.zip baz.txt cwd=/foo/bar
73832
73833              runas  None Create the zip file as the specified user.  Defaults
73834                     to the user under which the minion is running.
73835
73836              zip64  False  Used  to enable ZIP64 support, necessary to create
73837                     archives larger than 4 GByte in size.  If true, will cre‐
73838                     ate  ZIP  file with the ZIPp64 extension when the zipfile
73839                     is larger than 2 GB.   ZIP64  extension  is  disabled  by
73840                     default  in  the  Python  native  zip support because the
73841                     default zip and unzip commands on Unix (the InfoZIP util‐
73842                     ities) don't support these extensions.
73843
73844              CLI Example:
73845
73846                 salt '*' archive.zip /tmp/zipfile.zip /tmp/sourcefile1,/tmp/sourcefile2
73847                 # Globbing for sources (2017.7.0 and later)
73848                 salt '*' archive.zip /tmp/zipfile.zip '/tmp/sourcefile*'
73849
73850   salt.modules.arista_pyeapi
73851   Arista pyeapi
73852       New in version 2019.2.0.
73853
73854
73855       Execution module to interface the connection with Arista switches, con‐
73856       necting to the remote network device using the pyeapi  library.  It  is
73857       flexible  enough  to  execute  the  commands both when running under an
73858       Arista Proxy Minion, as well as running under a Regular Minion by spec‐
73859       ifying  the  connection  arguments,  i.e., device_type, host, username,
73860       password etc.
73861
73862       codeauthor
73863              Mircea Ulinic <ping@mirceaulinic.net>
73864
73865       maturity
73866              new
73867
73868       depends
73869              pyeapi
73870
73871       platform
73872              unix
73873
73874       NOTE:
73875          To understand how to correctly  enable  the  eAPI  on  your  switch,
73876          please check https://eos.arista.com/arista-eapi-101/.
73877
73878   Dependencies
73879       The  pyeapi  Execution  module  requires  the  Python  Client  for eAPI
73880       (pyeapi) to be installed: pip install pyeapi.
73881
73882   Usage
73883       This module can equally be used via the pyeapi Proxy module or directly
73884       from  an  arbitrary  (Proxy) Minion that is running on a machine having
73885       access to the network device API, and the pyeapi library is installed.
73886
73887       When running outside of the pyeapi Proxy (i.e., from another Proxy Min‐
73888       ion  type,  or  regular Minion), the pyeapi connection arguments can be
73889       either specified from the CLI when executing the command, or in a  con‐
73890       figuration  block under the pyeapi key in the configuration opts (i.e.,
73891       (Proxy) Minion configuration file),  or  Pillar.  The  module  supports
73892       these  simultaneously. These fields are the exact same supported by the
73893       pyeapi Proxy Module:
73894
73895       transport: https
73896              Specifies the type of connection transport to use. Valid  values
73897              for the connection are socket, http_local, http, and  https.
73898
73899       host: localhost
73900              The IP address or DNS host name of the connection device.
73901
73902       username: admin
73903              The username to pass to the device to authenticate the eAPI con‐
73904              nection.
73905
73906       password
73907              The password to pass to the device to authenticate the eAPI con‐
73908              nection.
73909
73910       port   The  TCP  port  of the endpoint for the eAPI connection. If this
73911              keyword is not specified, the  default  value  is  automatically
73912              determined  by  the  transport  type  (80  for  http, or 443 for
73913              https).
73914
73915       enablepwd
73916              The enable mode password if required by the destination node.
73917
73918       Example (when not running in a pyeapi Proxy Minion):
73919
73920          pyeapi:
73921            username: test
73922            password: test
73923
73924       In case the username and password are the same on any  device  you  are
73925       targeting,  the  block above (besides other parameters specific to your
73926       environment you might need) should suffice to be able to  execute  com‐
73927       mands from outside a pyeapi Proxy, e.g.:
73928
73929          salt '*' pyeapi.send_commands 'show version' 'show interfaces'
73930          salt '*' pyeapi.config 'ntp server 1.2.3.4'
73931
73932       NOTE:
73933          Remember  that  the  above applies only when not running in a pyeapi
73934          Proxy Minion. If you want to use the pyeapi Proxy, please follow the
73935          documentation notes for a proper setup.
73936
73937       salt.modules.arista_pyeapi.call(method, *args, **kwargs)
73938              Invoke an arbitrary pyeapi method.
73939
73940              method The name of the pyeapi method to invoke.
73941
73942              args   A list of arguments to send to the method invoked.
73943
73944              kwargs Key-value dictionary to send to the method invoked.
73945
73946              transport: https
73947                     Specifies  the type of connection transport to use. Valid
73948                     values for the connection are socket,  http_local,  http,
73949                     and  https.
73950
73951                     NOTE:
73952                        This  argument does not need to be specified when run‐
73953                        ning in a pyeapi Proxy Minion.
73954
73955              host: localhost
73956                     The IP address or DNS host name of the connection device.
73957
73958                     NOTE:
73959                        This argument does not need to be specified when  run‐
73960                        ning in a pyeapi Proxy Minion.
73961
73962              username: admin
73963                     The  username  to  pass to the device to authenticate the
73964                     eAPI connection.
73965
73966                        NOTE:
73967                            This argument does not need to be  specified  when
73968                            running in a pyeapi Proxy Minion.
73969
73970              password
73971                     The  password  to  pass to the device to authenticate the
73972                     eAPI connection.
73973
73974                     NOTE:
73975                        This argument does not need to be specified when  run‐
73976                        ning in a pyeapi Proxy Minion.
73977
73978              port   The  TCP port of the endpoint for the eAPI connection. If
73979                     this keyword is not specified, the default value is auto‐
73980                     matically  determined by the transport type (80 for http,
73981                     or 443 for https).
73982
73983                     NOTE:
73984                        This argument does not need to be specified when  run‐
73985                        ning in a pyeapi Proxy Minion.
73986
73987              enablepwd
73988                     The  enable  mode password if required by the destination
73989                     node.
73990
73991                     NOTE:
73992                        This argument does not need to be specified when  run‐
73993                        ning in a pyeapi Proxy Minion.
73994
73995              CLI Example:
73996
73997                 salt '*' pyeapi.call run_commands "['show version']"
73998
73999       salt.modules.arista_pyeapi.config(commands=None, config_file=None, tem‐
74000       plate_engine=u'jinja',  context=None,  defaults=None,  saltenv=u'base',
74001       **kwargs)
74002              Configures the node with the specified commands.
74003
74004              This  method is used to send configuration commands to the node.
74005              It will take either a string or a list and prepend the necessary
74006              commands to put the session into config mode.
74007
74008              Returns the diff after the configuration commands are loaded.
74009
74010              config_file
74011                     The  source  file  with  the configuration commands to be
74012                     sent to the device.
74013
74014                     The file can also be a  template  that  can  be  rendered
74015                     using the template engine of choice.
74016
74017                     This  can  be  specified  using  the absolute path to the
74018                     file, or using one of the following URL schemes:
74019
74020                     · salt://, to fetch the file from the Salt fileserver.
74021
74022                     · http:// or https://
74023
74024                     · ftp://
74025
74026                     · s3://
74027
74028                     · swift://
74029
74030              commands
74031                     The commands to send to the node in config mode.  If  the
74032                     commands  argument is a string it will be cast to a list.
74033                     The list of commands will also be prepended with the nec‐
74034                     essary commands to put the session in config mode.
74035
74036                     NOTE:
74037                        This  argument  is  ignored when config_file is speci‐
74038                        fied.
74039
74040              template_engine: jinja
74041                     The template engine to  use  when  rendering  the  source
74042                     file.  Default:  jinja.  To simply fetch the file without
74043                     attempting to render, set this argument to None.
74044
74045              context
74046                     Variables to add to the template context.
74047
74048              defaults
74049                     Default values of the context dict.
74050
74051              transport: https
74052                     Specifies the type of connection transport to use.  Valid
74053                     values  for  the connection are socket, http_local, http,
74054                     and  https.
74055
74056                     NOTE:
74057                        This argument does not need to be specified when  run‐
74058                        ning in a pyeapi Proxy Minion.
74059
74060              host: localhost
74061                     The IP address or DNS host name of the connection device.
74062
74063                     NOTE:
74064                        This  argument does not need to be specified when run‐
74065                        ning in a pyeapi Proxy Minion.
74066
74067              username: admin
74068                     The username to pass to the device  to  authenticate  the
74069                     eAPI connection.
74070
74071                        NOTE:
74072                            This  argument  does not need to be specified when
74073                            running in a pyeapi Proxy Minion.
74074
74075              password
74076                     The password to pass to the device  to  authenticate  the
74077                     eAPI connection.
74078
74079                     NOTE:
74080                        This  argument does not need to be specified when run‐
74081                        ning in a pyeapi Proxy Minion.
74082
74083              port   The TCP port of the endpoint for the eAPI connection.  If
74084                     this keyword is not specified, the default value is auto‐
74085                     matically determined by the transport type (80 for  http,
74086                     or 443 for https).
74087
74088                     NOTE:
74089                        This  argument does not need to be specified when run‐
74090                        ning in a pyeapi Proxy Minion.
74091
74092              enablepwd
74093                     The enable mode password if required by  the  destination
74094                     node.
74095
74096                     NOTE:
74097                        This  argument does not need to be specified when run‐
74098                        ning in a pyeapi Proxy Minion.
74099
74100              CLI Example:
74101
74102                 salt '*' pyeapi.config commands="['ntp server 1.2.3.4', 'ntp server 5.6.7.8']"
74103                 salt '*' pyeapi.config config_file=salt://config.txt
74104                 salt '*' pyeapi.config config_file=https://bit.ly/2LGLcDy context="{'servers': ['1.2.3.4']}"
74105
74106       salt.modules.arista_pyeapi.get_config(config=u'running-config',
74107       params=None, as_string=False, **kwargs)
74108              Retrieves the config from the device.
74109
74110              This  method  will retrieve the config from the node as either a
74111              string or a list object.  The config to retrieve can  be  speci‐
74112              fied as either the startup-config or the running-config.
74113
74114              config: running-config
74115                     Specifies  to  return  either the nodes startup-config or
74116                     running-config.  The default value is the running-config.
74117
74118              params A string  of  keywords  to  append  to  the  command  for
74119                     retrieving the config.
74120
74121              as_string: False
74122                     Flag  that  determines  the  response.  If True, then the
74123                     configuration is returned as a  raw  string.   If  False,
74124                     then  the  configuration  is  returned  as  a  list.  The
74125                     default value is False.
74126
74127              transport: https
74128                     Specifies the type of connection transport to use.  Valid
74129                     values  for  the connection are socket, http_local, http,
74130                     and  https.
74131
74132                     NOTE:
74133                        This argument does not need to be specified when  run‐
74134                        ning in a pyeapi Proxy Minion.
74135
74136              host: localhost
74137                     The IP address or DNS host name of the connection device.
74138
74139                     NOTE:
74140                        This  argument does not need to be specified when run‐
74141                        ning in a pyeapi Proxy Minion.
74142
74143              username: admin
74144                     The username to pass to the device  to  authenticate  the
74145                     eAPI connection.
74146
74147                        NOTE:
74148                            This  argument  does not need to be specified when
74149                            running in a pyeapi Proxy Minion.
74150
74151              password
74152                     The password to pass to the device  to  authenticate  the
74153                     eAPI connection.
74154
74155                     NOTE:
74156                        This  argument does not need to be specified when run‐
74157                        ning in a pyeapi Proxy Minion.
74158
74159              port   The TCP port of the endpoint for the eAPI connection.  If
74160                     this keyword is not specified, the default value is auto‐
74161                     matically determined by the transport type (80 for  http,
74162                     or 443 for https).
74163
74164                     NOTE:
74165                        This  argument does not need to be specified when run‐
74166                        ning in a pyeapi Proxy Minion.
74167
74168              enablepwd
74169                     The enable mode password if required by  the  destination
74170                     node.
74171
74172                     NOTE:
74173                        This  argument does not need to be specified when run‐
74174                        ning in a pyeapi Proxy Minion.
74175
74176              CLI Example:
74177
74178                 salt '*' pyeapi.get_config
74179                 salt '*' pyeapi.get_config params='section snmp-server'
74180                 salt '*' pyeapi.get_config config='startup-config'
74181
74182       salt.modules.arista_pyeapi.get_connection(**kwargs)
74183              Return the connection object to the pyeapi Node.
74184
74185              WARNING:
74186                 This function returns an unserializable object, hence  it  is
74187                 not  meant  to be used on the CLI. This should mainly be used
74188                 when invoked from other modules for the low level  connection
74189                 with the network device.
74190
74191              kwargs Key-value dictionary with the authentication details.
74192
74193              USAGE Example:
74194
74195                 conn = __salt__['pyeapi.get_connection'](host='router1.example.com',
74196                                                          username='example',
74197                                                          password='example')
74198                 show_ver = conn.run_commands(['show version', 'show interfaces'])
74199
74200       salt.modules.arista_pyeapi.run_commands(*commands, **kwargs)
74201              Sends the commands over the transport to the device.
74202
74203              This  function  sends the commands to the device using the nodes
74204              transport.  This is a lower layer function that  shouldn't  nor‐
74205              mally  need  to  be  used, preferring instead to use config() or
74206              enable().
74207
74208              transport: https
74209                     Specifies the type of connection transport to use.  Valid
74210                     values  for  the connection are socket, http_local, http,
74211                     and  https.
74212
74213                     NOTE:
74214                        This argument does not need to be specified when  run‐
74215                        ning in a pyeapi Proxy Minion.
74216
74217              host: localhost
74218                     The IP address or DNS host name of the connection device.
74219
74220                     NOTE:
74221                        This  argument does not need to be specified when run‐
74222                        ning in a pyeapi Proxy Minion.
74223
74224              username: admin
74225                     The username to pass to the device  to  authenticate  the
74226                     eAPI connection.
74227
74228                        NOTE:
74229                            This  argument  does not need to be specified when
74230                            running in a pyeapi Proxy Minion.
74231
74232              password
74233                     The password to pass to the device  to  authenticate  the
74234                     eAPI connection.
74235
74236                     NOTE:
74237                        This  argument does not need to be specified when run‐
74238                        ning in a pyeapi Proxy Minion.
74239
74240              port   The TCP port of the endpoint for the eAPI connection.  If
74241                     this keyword is not specified, the default value is auto‐
74242                     matically determined by the transport type (80 for  http,
74243                     or 443 for https).
74244
74245                     NOTE:
74246                        This  argument does not need to be specified when run‐
74247                        ning in a pyeapi Proxy Minion.
74248
74249              enablepwd
74250                     The enable mode password if required by  the  destination
74251                     node.
74252
74253                     NOTE:
74254                        This  argument does not need to be specified when run‐
74255                        ning in a pyeapi Proxy Minion.
74256
74257              CLI Example:
74258
74259                 salt '*' pyeapi.run_commands 'show version'
74260                 salt '*' pyeapi.run_commands 'show version' encoding=text
74261                 salt '*' pyeapi.run_commands 'show version' encoding=text host=cr1.thn.lon username=example password=weak
74262
74263              Output example:
74264
74265                 veos1:
74266                     |_
74267                       ----------
74268                       architecture:
74269                           i386
74270                       bootupTimestamp:
74271                           1527541728.53
74272                       hardwareRevision:
74273                       internalBuildId:
74274                           63d2e89a-220d-4b8a-a9b3-0524fa8f9c5f
74275                       internalVersion:
74276                           4.18.1F-4591672.4181F
74277                       isIntlVersion:
74278                           False
74279                       memFree:
74280                           501468
74281                       memTotal:
74282                           1893316
74283                       modelName:
74284                           vEOS
74285                       serialNumber:
74286                       systemMacAddress:
74287                           52:54:00:3f:e6:d0
74288                       version:
74289                           4.18.1F
74290
74291       salt.modules.arista_pyeapi.section(regex,     config=u'running-config',
74292       **kwargs)
74293              Return a section of the config.
74294
74295              regex  A  valid  regular  expression  used to select sections of
74296                     configuration to return.
74297
74298              config: running-config
74299                     The configuration to return. Valid values for config  are
74300                     running-config  or  startup-config.  The default value is
74301                     running-config.
74302
74303              transport: https
74304                     Specifies the type of connection transport to use.  Valid
74305                     values  for  the connection are socket, http_local, http,
74306                     and  https.
74307
74308                     NOTE:
74309                        This argument does not need to be specified when  run‐
74310                        ning in a pyeapi Proxy Minion.
74311
74312              host: localhost
74313                     The IP address or DNS host name of the connection device.
74314
74315                     NOTE:
74316                        This  argument does not need to be specified when run‐
74317                        ning in a pyeapi Proxy Minion.
74318
74319              username: admin
74320                     The username to pass to the device  to  authenticate  the
74321                     eAPI connection.
74322
74323                        NOTE:
74324                            This  argument  does not need to be specified when
74325                            running in a pyeapi Proxy Minion.
74326
74327              password
74328                     The password to pass to the device  to  authenticate  the
74329                     eAPI connection.
74330
74331                     NOTE:
74332                        This  argument does not need to be specified when run‐
74333                        ning in a pyeapi Proxy Minion.
74334
74335              port   The TCP port of the endpoint for the eAPI connection.  If
74336                     this keyword is not specified, the default value is auto‐
74337                     matically determined by the transport type (80 for  http,
74338                     or 443 for https).
74339
74340                     NOTE:
74341                        This  argument does not need to be specified when run‐
74342                        ning in a pyeapi Proxy Minion.
74343
74344              enablepwd
74345                     The enable mode password if required by  the  destination
74346                     node.
74347
74348                     NOTE:
74349                        This  argument does not need to be specified when run‐
74350                        ning in a pyeapi Proxy Minion.
74351
74352              CLI Example:
74353
74354                 salt '*'
74355
74356   salt.modules.artifactory
74357       Module for fetching artifacts from Artifactory
74358
74359       exception salt.modules.artifactory.ArtifactoryError(value)
74360
74361       salt.modules.artifactory.get_latest_release(artifactory_url,    reposi‐
74362       tory,   group_id,   artifact_id,  packaging,  target_dir=u'/tmp',  tar‐
74363       get_file=None, classifier=None, username=None, password=None,  use_lit‐
74364       eral_group_id=False)
74365              Gets the latest release of the artifact
74366
74367              artifactory_url
74368                     URL of artifactory instance
74369
74370              repository
74371                     Release  repository  in  artifactory to retrieve artifact
74372                     from, for example: libs-releases
74373
74374              group_id
74375                     Group Id of the artifact
74376
74377              artifact_id
74378                     Artifact Id of the artifact
74379
74380              packaging
74381                     Packaging type (jar,war,ear,etc)
74382
74383              target_dir
74384                     Target directory to download artifact to (default: /tmp)
74385
74386              target_file
74387                     Target file to download artifact to  (by  default  it  is
74388                     target_dir/artifact_id-version.packaging)
74389
74390              classifier
74391                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
74392                     Optional parameter.
74393
74394              username
74395                     Artifactory username. Optional parameter.
74396
74397              password
74398                     Artifactory password. Optional parameter.
74399
74400       salt.modules.artifactory.get_latest_snapshot(artifactory_url,   reposi‐
74401       tory,   group_id,   artifact_id,  packaging,  target_dir=u'/tmp',  tar‐
74402       get_file=None, classifier=None, username=None, password=None,  use_lit‐
74403       eral_group_id=False)
74404              Gets latest snapshot of the given artifact
74405
74406              artifactory_url
74407                     URL of artifactory instance
74408
74409              repository
74410                     Snapshot  repository  in artifactory to retrieve artifact
74411                     from, for example: libs-snapshots
74412
74413              group_id
74414                     Group Id of the artifact
74415
74416              artifact_id
74417                     Artifact Id of the artifact
74418
74419              packaging
74420                     Packaging type (jar,war,ear,etc)
74421
74422              target_dir
74423                     Target directory to download artifact to (default: /tmp)
74424
74425              target_file
74426                     Target file to download artifact to  (by  default  it  is
74427                     target_dir/artifact_id-snapshot_version.packaging)
74428
74429              classifier
74430                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
74431                     Optional parameter.
74432
74433              username
74434                     Artifactory username. Optional parameter.
74435
74436              password
74437                     Artifactory password. Optional parameter.
74438
74439       salt.modules.artifactory.get_release(artifactory_url,       repository,
74440       group_id,  artifact_id,  packaging,  version,  target_dir=u'/tmp', tar‐
74441       get_file=None, classifier=None, username=None, password=None,  use_lit‐
74442       eral_group_id=False)
74443              Gets the specified release of the artifact
74444
74445              artifactory_url
74446                     URL of artifactory instance
74447
74448              repository
74449                     Release  repository  in  artifactory to retrieve artifact
74450                     from, for example: libs-releases
74451
74452              group_id
74453                     Group Id of the artifact
74454
74455              artifact_id
74456                     Artifact Id of the artifact
74457
74458              packaging
74459                     Packaging type (jar,war,ear,etc)
74460
74461              version
74462                     Version of the artifact
74463
74464              target_dir
74465                     Target directory to download artifact to (default: /tmp)
74466
74467              target_file
74468                     Target file to download artifact to  (by  default  it  is
74469                     target_dir/artifact_id-version.packaging)
74470
74471              classifier
74472                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
74473                     Optional parameter.
74474
74475              username
74476                     Artifactory username. Optional parameter.
74477
74478              password
74479                     Artifactory password. Optional parameter.
74480
74481       salt.modules.artifactory.get_snapshot(artifactory_url,      repository,
74482       group_id,  artifact_id, packaging, version, snapshot_version=None, tar‐
74483       get_dir=u'/tmp',  target_file=None,   classifier=None,   username=None,
74484       password=None, use_literal_group_id=False)
74485              Gets snapshot of the desired version of the artifact
74486
74487              artifactory_url
74488                     URL of artifactory instance
74489
74490              repository
74491                     Snapshot  repository  in artifactory to retrieve artifact
74492                     from, for example: libs-snapshots
74493
74494              group_id
74495                     Group Id of the artifact
74496
74497              artifact_id
74498                     Artifact Id of the artifact
74499
74500              packaging
74501                     Packaging type (jar,war,ear,etc)
74502
74503              version
74504                     Version of the artifact
74505
74506              target_dir
74507                     Target directory to download artifact to (default: /tmp)
74508
74509              target_file
74510                     Target file to download artifact to  (by  default  it  is
74511                     target_dir/artifact_id-snapshot_version.packaging)
74512
74513              classifier
74514                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
74515                     Optional parameter.
74516
74517              username
74518                     Artifactory username. Optional parameter.
74519
74520              password
74521                     Artifactory password. Optional parameter.
74522
74523   salt.modules.at
74524       Wrapper module for at(1)
74525
74526       Also, a 'tag' feature has been added to more easily tag jobs.
74527
74528       platform
74529              linux,openbsd,freebsd
74530
74531       Changed in version 2017.7.0.
74532
74533
74534       salt.modules.at.at(*args, **kwargs)
74535              Add a job to the queue.
74536
74537              The 'timespec' follows the format documented in the  at(1)  man‐
74538              page.
74539
74540              CLI Example:
74541
74542                 salt '*' at.at <timespec> <cmd> [tag=<tag>] [runas=<user>]
74543                 salt '*' at.at 12:05am '/sbin/reboot' tag=reboot
74544                 salt '*' at.at '3:05am +3 days' 'bin/myscript' tag=nightly runas=jim
74545
74546       salt.modules.at.atc(jobid)
74547              Print the at(1) script that will run for the passed job id. This
74548              is mostly for debugging so the output will just be text.
74549
74550              CLI Example:
74551
74552                 salt '*' at.atc <jobid>
74553
74554       salt.modules.at.atq(tag=None)
74555              List all queued and running jobs or only those with an  optional
74556              'tag'.
74557
74558              CLI Example:
74559
74560                 salt '*' at.atq
74561                 salt '*' at.atq [tag]
74562                 salt '*' at.atq [job number]
74563
74564       salt.modules.at.atrm(*args)
74565              Remove jobs from the queue.
74566
74567              CLI Example:
74568
74569                 salt '*' at.atrm <jobid> <jobid> .. <jobid>
74570                 salt '*' at.atrm all
74571                 salt '*' at.atrm all [tag]
74572
74573       salt.modules.at.jobcheck(**kwargs)
74574              Check  the job from queue.  The kwargs dict include 'hour minute
74575              day month year tag runas' Other parameters will be ignored.
74576
74577              CLI Example:
74578
74579                 salt '*' at.jobcheck runas=jam day=13
74580                 salt '*' at.jobcheck day=13 month=12 year=13 tag=rose
74581
74582   salt.modules.at_solaris
74583       Wrapper for at(1) on Solaris-like systems
74584
74585       NOTE:
74586          we try to mirror the generic at module where possible
74587
74588       maintainer
74589              jorge schrauwen <sjorge@blackdot.be>
74590
74591       maturity
74592              new
74593
74594       platform
74595              solaris,illumos,smartso
74596
74597       New in version 2017.7.0.
74598
74599
74600       salt.modules.at_solaris.at(*args, **kwargs)
74601              Add a job to the queue.
74602
74603              The 'timespec' follows the format documented in the  at(1)  man‐
74604              page.
74605
74606              CLI Example:
74607
74608                 salt '*' at.at <timespec> <cmd> [tag=<tag>] [runas=<user>]
74609                 salt '*' at.at 12:05am '/sbin/reboot' tag=reboot
74610                 salt '*' at.at '3:05am +3 days' 'bin/myscript' tag=nightly runas=jim
74611
74612       salt.modules.at_solaris.atc(jobid)
74613              Print the at(1) script that will run for the passed job id. This
74614              is mostly for debugging so the output will just be text.
74615
74616              CLI Example:
74617
74618                 salt '*' at.atc <jobid>
74619
74620       salt.modules.at_solaris.atq(tag=None)
74621              List all queued and running jobs or only those with an  optional
74622              'tag'.
74623
74624              CLI Example:
74625
74626                 salt '*' at.atq
74627                 salt '*' at.atq [tag]
74628                 salt '*' at.atq [job number]
74629
74630       salt.modules.at_solaris.atrm(*args)
74631              Remove jobs from the queue.
74632
74633              CLI Example:
74634
74635                 salt '*' at.atrm <jobid> <jobid> .. <jobid>
74636                 salt '*' at.atrm all
74637                 salt '*' at.atrm all [tag]
74638
74639       salt.modules.at_solaris.jobcheck(**kwargs)
74640              Check  the job from queue.  The kwargs dict include 'hour minute
74641              day month year tag runas' Other parameters will be ignored.
74642
74643              CLI Example:
74644
74645                 salt '*' at.jobcheck runas=jam day=13
74646                 salt '*' at.jobcheck day=13 month=12 year=13 tag=rose
74647
74648   salt.modules.augeas_cfg
74649       Manages configuration files via augeas
74650
74651       This module requires the augeas Python module.
74652
74653       WARNING:
74654          Minimal installations of Debian and Ubuntu have been  seen  to  have
74655          packaging bugs with python-augeas, causing the augeas module to fail
74656          to import. If the minion has the augeas module  installed,  but  the
74657          functions in this execution module fail to run due to being unavail‐
74658          able, first restart the salt-minion service. If the problem persists
74659          past  that,  the  following  command  can  be run from the master to
74660          determine what is causing the import to fail:
74661
74662              salt minion-id cmd.run 'python -c "from augeas import Augeas"'
74663
74664          For affected Debian/Ubuntu hosts, installing libpython2.7  has  been
74665          known to resolve the issue.
74666
74667       salt.modules.augeas_cfg.execute(context=None,  lens=None,  commands=(),
74668       load_path=None)
74669              Execute Augeas commands
74670
74671              New in version 2014.7.0.
74672
74673
74674              CLI Example:
74675
74676                 salt '*' augeas.execute /files/etc/redis/redis.conf \
74677                 commands='["set bind 0.0.0.0", "set maxmemory 1G"]'
74678
74679              context
74680                     The Augeas context
74681
74682              lens   The Augeas lens to use
74683
74684              commands
74685                     The Augeas commands to execute
74686
74687              New in version 2016.3.0.
74688
74689
74690              load_path
74691                     A colon-spearated list of directories that modules should
74692                     be  searched in. This is in addition to the standard load
74693                     path and the directories in AUGEAS_LENS_LIB.
74694
74695       salt.modules.augeas_cfg.get(path, value=u'', load_path=None)
74696              Get a value for a specific augeas path
74697
74698              CLI Example:
74699
74700                 salt '*' augeas.get /files/etc/hosts/1/ ipaddr
74701
74702              path   The path to get the value of
74703
74704              value  The optional value to get
74705
74706              New in version 2016.3.0.
74707
74708
74709              load_path
74710                     A colon-spearated list of directories that modules should
74711                     be  searched in. This is in addition to the standard load
74712                     path and the directories in AUGEAS_LENS_LIB.
74713
74714       salt.modules.augeas_cfg.ls(path, load_path=None)
74715              List the direct children of a node
74716
74717              CLI Example:
74718
74719                 salt '*' augeas.ls /files/etc/passwd
74720
74721              path   The path to list
74722
74723              New in version 2016.3.0.
74724
74725
74726              load_path
74727                     A colon-spearated list of directories that modules should
74728                     be  searched in. This is in addition to the standard load
74729                     path and the directories in AUGEAS_LENS_LIB.
74730
74731       salt.modules.augeas_cfg.match(path, value=u'', load_path=None)
74732              Get matches for path expression
74733
74734              CLI Example:
74735
74736                 salt '*' augeas.match /files/etc/services/service-name ssh
74737
74738              path   The path to match
74739
74740              value  The value to match on
74741
74742              New in version 2016.3.0.
74743
74744
74745              load_path
74746                     A colon-spearated list of directories that modules should
74747                     be  searched in. This is in addition to the standard load
74748                     path and the directories in AUGEAS_LENS_LIB.
74749
74750       salt.modules.augeas_cfg.remove(path, load_path=None)
74751              Get matches for path expression
74752
74753              CLI Example:
74754
74755                 salt '*' augeas.remove \
74756                 /files/etc/sysctl.conf/net.ipv4.conf.all.log_martians
74757
74758              path   The path to remove
74759
74760              New in version 2016.3.0.
74761
74762
74763              load_path
74764                     A colon-spearated list of directories that modules should
74765                     be  searched in. This is in addition to the standard load
74766                     path and the directories in AUGEAS_LENS_LIB.
74767
74768       salt.modules.augeas_cfg.setvalue(*args)
74769              Set a value for a specific augeas path
74770
74771              CLI Example:
74772
74773                 salt '*' augeas.setvalue /files/etc/hosts/1/canonical localhost
74774
74775              This will set the first entry in /etc/hosts to localhost
74776
74777              CLI Example:
74778
74779                 salt '*' augeas.setvalue /files/etc/hosts/01/ipaddr 192.168.1.1 \
74780                                          /files/etc/hosts/01/canonical test
74781
74782              Adds a new host to /etc/hosts the  ip  address  192.168.1.1  and
74783              hostname test
74784
74785              CLI Example:
74786
74787                 salt '*' augeas.setvalue prefix=/files/etc/sudoers/ \
74788                          "spec[user = '%wheel']/user" "%wheel" \
74789                          "spec[user = '%wheel']/host_group/host" 'ALL' \
74790                          "spec[user = '%wheel']/host_group/command[1]" 'ALL' \
74791                          "spec[user = '%wheel']/host_group/command[1]/tag" 'PASSWD' \
74792                          "spec[user = '%wheel']/host_group/command[2]" '/usr/bin/apt-get' \
74793                          "spec[user = '%wheel']/host_group/command[2]/tag" NOPASSWD
74794
74795              Ensures that the following line is present in /etc/sudoers:
74796
74797                 %wheel ALL = PASSWD : ALL , NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
74798
74799       salt.modules.augeas_cfg.tree(path, load_path=None)
74800              Returns recursively the complete tree of a node
74801
74802              CLI Example:
74803
74804                 salt '*' augeas.tree /files/etc/
74805
74806              path   The base of the recursive listing
74807
74808              New in version 2016.3.0.
74809
74810
74811              load_path
74812                     A colon-spearated list of directories that modules should
74813                     be searched in. This is in addition to the standard  load
74814                     path and the directories in AUGEAS_LENS_LIB.
74815
74816   salt.modules.aws_sqs
74817       Support for the Amazon Simple Queue Service.
74818
74819       salt.modules.aws_sqs.create_queue(name, region, opts=None, user=None)
74820              Creates a queue with the correct name.
74821
74822              name   Name of the SQS queue to create
74823
74824              region Region to create the SQS queue in
74825
74826              opts   None Any additional options to add to the command line
74827
74828              user   None Run hg as a user other than what the minion runs as
74829
74830              CLI Example:
74831                 salt '*' aws_sqs.create_queue <sqs queue> <region>
74832
74833       salt.modules.aws_sqs.delete_message(queue,    region,    receipthandle,
74834       opts=None, user=None)
74835              Delete one or more messages from a queue in a region
74836
74837              queue  The name of the queue to delete messages from
74838
74839              region Region where SQS queues exists
74840
74841              receipthandle
74842                     The  ReceiptHandle  of  the  message   to   delete.   The
74843                     ReceiptHandle is obtained in the return from receive_mes‐
74844                     sage
74845
74846              opts   None Any additional options to add to the command line
74847
74848              user   None Run as a user other than what the minion runs as
74849
74850              CLI Example:
74851
74852                 salt '*' aws_sqs.delete_message <sqs queue> <region> receipthandle='<sqs ReceiptHandle>'
74853
74854              New in version 2014.7.0.
74855
74856
74857       salt.modules.aws_sqs.delete_queue(name, region, opts=None, user=None)
74858              Deletes a queue in the region.
74859
74860              name   Name of the SQS queue to deletes
74861
74862              region Name of the region to delete the queue from
74863
74864              opts   None Any additional options to add to the command line
74865
74866              user   None Run hg as a user other than what the minion runs as
74867
74868              CLI Example:
74869                 salt '*' aws_sqs.delete_queue <sqs queue> <region>
74870
74871       salt.modules.aws_sqs.list_queues(region, opts=None, user=None)
74872              List the queues in the selected region.
74873
74874              region Region to list SQS queues for
74875
74876              opts   None Any additional options to add to the command line
74877
74878              user   None Run hg as a user other than what the minion runs as
74879
74880              CLI Example:
74881                 salt '*' aws_sqs.list_queues <region>
74882
74883       salt.modules.aws_sqs.queue_exists(name, region, opts=None, user=None)
74884              Returns True or False on whether the queue exists in the region
74885
74886              name   Name of the SQS queue to search for
74887
74888              region Name of the region to search for the queue in
74889
74890              opts   None Any additional options to add to the command line
74891
74892              user   None Run hg as a user other than what the minion runs as
74893
74894              CLI Example:
74895                 salt '*' aws_sqs.queue_exists <sqs queue> <region>
74896
74897       salt.modules.aws_sqs.receive_message(queue, region,  num=1,  opts=None,
74898       user=None)
74899              Receive one or more messages from a queue in a region
74900
74901              queue  The name of the queue to receive messages from
74902
74903              region Region where SQS queues exists
74904
74905              num    1 The max number of messages to receive
74906
74907              opts   None Any additional options to add to the command line
74908
74909              user   None Run as a user other than what the minion runs as
74910
74911              CLI Example:
74912
74913                 salt '*' aws_sqs.receive_message <sqs queue> <region>
74914                 salt '*' aws_sqs.receive_message <sqs queue> <region> num=10
74915
74916              New in version 2014.7.0.
74917
74918
74919   salt.modules.azurearm_compute
74920       Azure (ARM) Compute Execution Module
74921
74922       New in version 2019.2.0.
74923
74924
74925       maintainer
74926              <devops@decisionlab.io>
74927
74928       maturity
74929              new
74930
74931       depends
74932
74933              · azure >= 2.0.0
74934
74935              · azure-common >= 1.1.8
74936
74937              · azure-mgmt >= 1.0.0
74938
74939              · azure-mgmt-compute >= 1.0.0
74940
74941              · azure-mgmt-network >= 1.7.1
74942
74943              · azure-mgmt-resource >= 1.1.0
74944
74945              · azure-mgmt-storage >= 1.0.0
74946
74947              · azure-mgmt-web >= 0.32.0
74948
74949              · azure-storage >= 0.34.3
74950
74951              · msrestazure >= 0.4.21
74952
74953       platform
74954              linux
74955
74956       configuration
74957              This  module  requires  Azure Resource Manager credentials to be
74958              passed as keyword arguments to every function in order  to  work
74959              properly.
74960
74961              Required provider parameters:
74962
74963              if using username and password:
74964
74965                     · subscription_id
74966
74967                     · username
74968
74969                     · password
74970
74971              if using a service principal:
74972
74973                     · subscription_id
74974
74975                     · tenant
74976
74977                     · client_id
74978
74979                     · secret
74980
74981              Optional provider parameters:
74982
74983       cloud_environment: Used to point the cloud driver to different API end‐
74984       points, such as Azure GovCloud.
74985
74986              Possible values:
74987
74988                     · AZURE_PUBLIC_CLOUD (default)
74989
74990                     · AZURE_CHINA_CLOUD
74991
74992                     · AZURE_US_GOV_CLOUD
74993
74994                     · AZURE_GERMAN_CLOUD
74995
74996       salt.modules.azurearm_compute.availability_set_create_or_update(name,
74997       resource_group, **kwargs)
74998              New in version 2019.2.0.
74999
75000
75001              Create or update an availability set.
75002
75003              Parameters
75004
75005                     · name -- The availability set to create.
75006
75007                     · resource_group  --  The resource group name assigned to
75008                       the availability set.
75009
75010              CLI Example:
75011
75012                 salt-call azurearm_compute.availability_set_create_or_update testset testgroup
75013
75014       salt.modules.azurearm_compute.availability_set_delete(name,
75015       resource_group, **kwargs)
75016              New in version 2019.2.0.
75017
75018
75019              Delete an availability set.
75020
75021              Parameters
75022
75023                     · name -- The availability set to delete.
75024
75025                     · resource_group  --  The resource group name assigned to
75026                       the availability set.
75027
75028              CLI Example:
75029
75030                 salt-call azurearm_compute.availability_set_delete testset testgroup
75031
75032       salt.modules.azurearm_compute.availability_set_get(name,
75033       resource_group, **kwargs)
75034              New in version 2019.2.0.
75035
75036
75037              Get a dictionary representing an availability set's properties.
75038
75039              Parameters
75040
75041                     · name -- The availability set to get.
75042
75043                     · resource_group  --  The resource group name assigned to
75044                       the availability set.
75045
75046              CLI Example:
75047
75048                 salt-call azurearm_compute.availability_set_get testset testgroup
75049
75050       salt.modules.azurearm_compute.availability_sets_list(resource_group,
75051       **kwargs)
75052              New in version 2019.2.0.
75053
75054
75055              List all availability sets within a resource group.
75056
75057              Parameters
75058                     resource_group  -- The resource group name to list avail‐
75059                     ability sets within.
75060
75061              CLI Example:
75062
75063                 salt-call azurearm_compute.availability_sets_list testgroup
75064
75065       salt.modules.azurearm_compute.availability_sets_list_avail‐
75066       able_sizes(name, resource_group, **kwargs)
75067              New in version 2019.2.0.
75068
75069
75070              List  all available virtual machine sizes that can be used to to
75071              create a new virtual machine in an existing availability set.
75072
75073              Parameters
75074
75075                     · name -- The availability set  name  to  list  available
75076                       virtual machine sizes within.
75077
75078                     · resource_group  --  The  resource  group  name  to list
75079                       available availability set sizes within.
75080
75081              CLI Example:
75082
75083                 salt-call azurearm_compute.availability_sets_list_available_sizes testset testgroup
75084
75085       salt.modules.azurearm_compute.virtual_machine_capture(name,    destina‐
75086       tion_name,    resource_group,    prefix='capture-',    overwrite=False,
75087       **kwargs)
75088              New in version 2019.2.0.
75089
75090
75091              Captures the VM by copying virtual hard disks of the VM and out‐
75092              puts a template that can be used to create similar VMs.
75093
75094              Parameters
75095
75096                     · name -- The name of the virtual machine.
75097
75098                     · destination_name -- The destination container name.
75099
75100                     · resource_group  --  The resource group name assigned to
75101                       the virtual machine.
75102
75103                     · prefix -- (Default: 'capture-')  The  captured  virtual
75104                       hard disk's name prefix.
75105
75106                     · overwrite -- (Default: False) Overwrite the destination
75107                       disk in case of conflict.
75108
75109              CLI Example:
75110
75111                 salt-call azurearm_compute.virtual_machine_capture testvm testcontainer testgroup
75112
75113       salt.modules.azurearm_compute.virtual_machine_convert_to_man‐
75114       aged_disks(name, resource_group, **kwargs)
75115              New in version 2019.2.0.
75116
75117
75118              Converts virtual machine disks from blob-based to managed disks.
75119              Virtual machine must be stop-deallocated  before  invoking  this
75120              operation.
75121
75122              Parameters
75123
75124                     · name -- The name of the virtual machine to convert.
75125
75126                     · resource_group  --  The resource group name assigned to
75127                       the virtual machine.
75128
75129              CLI Example:
75130
75131                 salt-call azurearm_compute.virtual_machine_convert_to_managed_disks testvm testgroup
75132
75133       salt.modules.azurearm_compute.virtual_machine_deallocate(name,
75134       resource_group, **kwargs)
75135              New in version 2019.2.0.
75136
75137
75138              Power off a virtual machine and deallocate compute resources.
75139
75140              Parameters
75141
75142                     · name -- The name of the virtual machine to deallocate.
75143
75144                     · resource_group  --  The resource group name assigned to
75145                       the virtual machine.
75146
75147              CLI Example:
75148
75149                 salt-call azurearm_compute.virtual_machine_deallocate testvm testgroup
75150
75151       salt.modules.azurearm_compute.virtual_machine_generalize(name,
75152       resource_group, **kwargs)
75153              New in version 2019.2.0.
75154
75155
75156              Set the state of a virtual machine to 'generalized'.
75157
75158              Parameters
75159
75160                     · name -- The name of the virtual machine.
75161
75162                     · resource_group  --  The resource group name assigned to
75163                       the virtual machine.
75164
75165              CLI Example:
75166
75167                 salt-call azurearm_compute.virtual_machine_generalize testvm testgroup
75168
75169       salt.modules.azurearm_compute.virtual_machine_get(name, resource_group,
75170       **kwargs)
75171              New in version 2019.2.0.
75172
75173
75174              Retrieves  information about the model view or the instance view
75175              of a virtual machine.
75176
75177              Parameters
75178
75179                     · name -- The name of the virtual machine.
75180
75181                     · resource_group -- The resource group name  assigned  to
75182                       the virtual machine.
75183
75184              CLI Example:
75185
75186                 salt-call azurearm_compute.virtual_machine_get testvm testgroup
75187
75188       salt.modules.azurearm_compute.virtual_machine_power_off(name,
75189       resource_group, **kwargs)
75190              New in version 2019.2.0.
75191
75192
75193              Power off (stop) a virtual machine.
75194
75195              Parameters
75196
75197                     · name -- The name of the virtual machine to stop.
75198
75199                     · resource_group -- The resource group name  assigned  to
75200                       the virtual machine.
75201
75202              CLI Example:
75203
75204                 salt-call azurearm_compute.virtual_machine_power_off testvm testgroup
75205
75206       salt.modules.azurearm_compute.virtual_machine_redeploy(name,
75207       resource_group, **kwargs)
75208              New in version 2019.2.0.
75209
75210
75211              Redeploy a virtual machine.
75212
75213              Parameters
75214
75215                     · name -- The name of the virtual machine to redeploy.
75216
75217                     · resource_group -- The resource group name  assigned  to
75218                       the virtual machine.
75219
75220              CLI Example:
75221
75222                 salt-call azurearm_compute.virtual_machine_redeploy testvm testgroup
75223
75224       salt.modules.azurearm_compute.virtual_machine_restart(name,
75225       resource_group, **kwargs)
75226              New in version 2019.2.0.
75227
75228
75229              Restart a virtual machine.
75230
75231              Parameters
75232
75233                     · name -- The name of the virtual machine to restart.
75234
75235                     · resource_group -- The resource group name  assigned  to
75236                       the virtual machine.
75237
75238              CLI Example:
75239
75240                 salt-call azurearm_compute.virtual_machine_restart testvm testgroup
75241
75242       salt.modules.azurearm_compute.virtual_machine_start(name,
75243       resource_group, **kwargs)
75244              New in version 2019.2.0.
75245
75246
75247              Power on (start) a virtual machine.
75248
75249              Parameters
75250
75251                     · name -- The name of the virtual machine to start.
75252
75253                     · resource_group -- The resource group name  assigned  to
75254                       the virtual machine.
75255
75256              CLI Example:
75257
75258                 salt-call azurearm_compute.virtual_machine_start testvm testgroup
75259
75260       salt.modules.azurearm_compute.virtual_machines_list(resource_group,
75261       **kwargs)
75262              New in version 2019.2.0.
75263
75264
75265              List all virtual machines within a resource group.
75266
75267              Parameters
75268                     resource_group -- The resource group name to list virtual
75269                     machines within.
75270
75271              CLI Example:
75272
75273                 salt-call azurearm_compute.virtual_machines_list testgroup
75274
75275       salt.modules.azurearm_compute.virtual_machines_list_all(**kwargs)
75276              New in version 2019.2.0.
75277
75278
75279              List all virtual machines within a subscription.
75280
75281              CLI Example:
75282
75283                 salt-call azurearm_compute.virtual_machines_list_all
75284
75285       salt.modules.azurearm_compute.virtual_machines_list_avail‐
75286       able_sizes(name, resource_group, **kwargs)
75287              New in version 2019.2.0.
75288
75289
75290              Lists all available virtual machine sizes to which the specified
75291              virtual machine can be resized.
75292
75293              Parameters
75294
75295                     · name -- The name of the virtual machine.
75296
75297                     · resource_group  --  The resource group name assigned to
75298                       the virtual machine.
75299
75300              CLI Example:
75301
75302                 salt-call azurearm_compute.virtual_machines_list_available_sizes testvm testgroup
75303
75304   salt.modules.azurearm_network
75305       Azure (ARM) Network Execution Module
75306
75307       New in version 2019.2.0.
75308
75309
75310       maintainer
75311              <devops@decisionlab.io>
75312
75313       maturity
75314              new
75315
75316       depends
75317
75318              · azure >= 2.0.0
75319
75320              · azure-common >= 1.1.8
75321
75322              · azure-mgmt >= 1.0.0
75323
75324              · azure-mgmt-compute >= 1.0.0
75325
75326              · azure-mgmt-network >= 1.7.1
75327
75328              · azure-mgmt-resource >= 1.1.0
75329
75330              · azure-mgmt-storage >= 1.0.0
75331
75332              · azure-mgmt-web >= 0.32.0
75333
75334              · azure-storage >= 0.34.3
75335
75336              · msrestazure >= 0.4.21
75337
75338       platform
75339              linux
75340
75341       configuration
75342              This module requires Azure Resource Manager  credentials  to  be
75343              passed  as  keyword arguments to every function in order to work
75344              properly.
75345
75346              Required provider parameters:
75347
75348              if using username and password:
75349
75350                     · subscription_id
75351
75352                     · username
75353
75354                     · password
75355
75356              if using a service principal:
75357
75358                     · subscription_id
75359
75360                     · tenant
75361
75362                     · client_id
75363
75364                     · secret
75365
75366              Optional provider parameters:
75367
75368       cloud_environment: Used to point the cloud driver to different API end‐
75369       points, such as Azure GovCloud.
75370
75371              Possible values:
75372
75373                     · AZURE_PUBLIC_CLOUD (default)
75374
75375                     · AZURE_CHINA_CLOUD
75376
75377                     · AZURE_US_GOV_CLOUD
75378
75379                     · AZURE_GERMAN_CLOUD
75380
75381       salt.modules.azurearm_network.check_dns_name_availability(name, region,
75382       **kwargs)
75383              New in version 2019.2.0.
75384
75385
75386              Check whether a domain name in the current zone is available for
75387              use.
75388
75389              Parameters
75390
75391                     · name -- The DNS name to query.
75392
75393                     · region -- The region to query for the DNS name in ques‐
75394                       tion.
75395
75396              CLI Example:
75397
75398                 salt-call azurearm_network.check_dns_name_availability testdnsname westus
75399
75400       salt.modules.azurearm_network.check_ip_address_availability(ip_address,
75401       virtual_network, resource_group, **kwargs)
75402              New in version 2019.2.0.
75403
75404
75405              Check  that  a private ip address is available within the speci‐
75406              fied virtual network.
75407
75408              Parameters
75409
75410                     · ip_address -- The ip_address to query.
75411
75412                     · virtual_network -- The virtual network to query for the
75413                       IP address in question.
75414
75415                     · resource_group  --  The resource group name assigned to
75416                       the virtual network.
75417
75418              CLI Example:
75419
75420                 salt-call azurearm_network.check_ip_address_availability 10.0.0.4 testnet testgroup
75421
75422       salt.modules.azurearm_network.default_security_rule_get(name,     secu‐
75423       rity_group, resource_group, **kwargs)
75424              New in version 2019.2.0.
75425
75426
75427              Get  details  about  a  default  security rule within a security
75428              group.
75429
75430              Parameters
75431
75432                     · name -- The name of the security rule to query.
75433
75434                     · security_group -- The network security group containing
75435                       the security rule.
75436
75437                     · resource_group  --  The resource group name assigned to
75438                       the network security group.
75439
75440              CLI Example:
75441
75442                 salt-call azurearm_network.default_security_rule_get DenyAllOutBound testnsg testgroup
75443
75444       salt.modules.azurearm_network.default_security_rules_list(secu‐
75445       rity_group, resource_group, **kwargs)
75446              New in version 2019.2.0.
75447
75448
75449              List default security rules within a security group.
75450
75451              Parameters
75452
75453                     · security_group -- The network security group to query.
75454
75455                     · resource_group  --  The resource group name assigned to
75456                       the network security group.
75457
75458              CLI Example:
75459
75460                 salt-call azurearm_network.default_security_rules_list testnsg testgroup
75461
75462       salt.modules.azurearm_network.get_virtual_machine_scale_set_net‐
75463       work_interface(name, scale_set, vm_index, resource_group, **kwargs)
75464              New in version 2019.2.0.
75465
75466
75467              Get information about a specfic network interface within a scale
75468              set.
75469
75470              Parameters
75471
75472                     · name -- The name of the network interface to query.
75473
75474                     · scale_set -- The name of the scale set  containing  the
75475                       interface.
75476
75477                     · vm_index -- The virtual machine index.
75478
75479                     · resource_group  --  The resource group name assigned to
75480                       the scale set.
75481
75482              CLI Example:
75483
75484                 salt-call azurearm_network.get_virtual_machine_scale_set_network_interface test-iface0 testset testvm testgroup
75485
75486       salt.modules.azurearm_network.list_virtual_machine_scale_set_net‐
75487       work_interfaces(scale_set, resource_group, **kwargs)
75488              New in version 2019.2.0.
75489
75490
75491              Get information about all network interfaces within a scale set.
75492
75493              Parameters
75494
75495                     · scale_set -- The name of the scale set to query.
75496
75497                     · resource_group  --  The resource group name assigned to
75498                       the scale set.
75499
75500              CLI Example:
75501
75502                 salt-call azurearm_network.list_virtual_machine_scale_set_vm_network_interfaces testset testgroup
75503
75504       salt.modules.azurearm_network.list_virtual_machine_scale_set_vm_net‐
75505       work_interfaces(scale_set, vm_index, resource_group, **kwargs)
75506              New in version 2019.2.0.
75507
75508
75509              Get  information about all network interfaces in a specific vir‐
75510              tual machine within a scale set.
75511
75512              Parameters
75513
75514                     · scale_set -- The name of the scale set to query.
75515
75516                     · vm_index -- The virtual machine index.
75517
75518                     · resource_group -- The resource group name  assigned  to
75519                       the scale set.
75520
75521              CLI Example:
75522
75523                 salt-call azurearm_network.list_virtual_machine_scale_set_vm_network_interfaces testset testvm testgroup
75524
75525       salt.modules.azurearm_network.load_balancer_create_or_update(name,
75526       resource_group, **kwargs)
75527              New in version 2019.2.0.
75528
75529
75530              Create or update a load balancer  within  a  specified  resource
75531              group.
75532
75533              Parameters
75534
75535                     · name -- The name of the load balancer to create.
75536
75537                     · resource_group  --  The resource group name assigned to
75538                       the load balancer.
75539
75540              CLI Example:
75541
75542                 salt-call azurearm_network.load_balancer_create_or_update testlb testgroup
75543
75544       salt.modules.azurearm_network.load_balancer_delete(name,
75545       resource_group, **kwargs)
75546              New in version 2019.2.0.
75547
75548
75549              Delete a load balancer.
75550
75551              Parameters
75552
75553                     · name -- The name of the load balancer to delete.
75554
75555                     · resource_group  --  The resource group name assigned to
75556                       the load balancer.
75557
75558              CLI Example:
75559
75560                 salt-call azurearm_network.load_balancer_delete testlb testgroup
75561
75562       salt.modules.azurearm_network.load_balancer_get(name,   resource_group,
75563       **kwargs)
75564              New in version 2019.2.0.
75565
75566
75567              Get details about a specific load balancer.
75568
75569              Parameters
75570
75571                     · name -- The name of the load balancer to query.
75572
75573                     · resource_group  --  The resource group name assigned to
75574                       the load balancer.
75575
75576              CLI Example:
75577
75578                 salt-call azurearm_network.load_balancer_get testlb testgroup
75579
75580       salt.modules.azurearm_network.load_balancers_list(resource_group,
75581       **kwargs)
75582              New in version 2019.2.0.
75583
75584
75585              List all load balancers within a resource group.
75586
75587              Parameters
75588                     resource_group  --  The  resource group name to list load
75589                     balancers within.
75590
75591              CLI Example:
75592
75593                 salt-call azurearm_network.load_balancers_list testgroup
75594
75595       salt.modules.azurearm_network.load_balancers_list_all(**kwargs)
75596              New in version 2019.2.0.
75597
75598
75599              List all load balancers within a subscription.
75600
75601              CLI Example:
75602
75603                 salt-call azurearm_network.load_balancers_list_all
75604
75605       salt.modules.azurearm_network.network_interface_create_or_update(name,
75606       ip_configurations, subnet, virtual_network, resource_group, **kwargs)
75607              New in version 2019.2.0.
75608
75609
75610              Create or update a network interface within a specified resource
75611              group.
75612
75613              Parameters
75614
75615                     · name -- The name of the network interface to create.
75616
75617                     · ip_configurations -- A list of dictionaries  represent‐
75618                       ing  valid NetworkInterfaceIPConfiguration objects. The
75619                       'name' key is required at minimum. At least one IP Con‐
75620                       figuration must be present.
75621
75622                     · subnet  --  The name of the subnet assigned to the net‐
75623                       work interface.
75624
75625                     · virtual_network -- The  name  of  the  virtual  network
75626                       assigned to the subnet.
75627
75628                     · resource_group  --  The resource group name assigned to
75629                       the virtual network.
75630
75631              CLI Example:
75632
75633                 salt-call azurearm_network.network_interface_create_or_update test-iface0 [{'name': 'testipconfig1'}]                   testsubnet testnet testgroup
75634
75635       salt.modules.azurearm_network.network_interface_delete(name,
75636       resource_group, **kwargs)
75637              New in version 2019.2.0.
75638
75639
75640              Delete a network interface.
75641
75642              Parameters
75643
75644                     · name -- The name of the network interface to delete.
75645
75646                     · resource_group  --  The resource group name assigned to
75647                       the network interface.
75648
75649              CLI Example:
75650
75651                 salt-call azurearm_network.network_interface_delete test-iface0 testgroup
75652
75653       salt.modules.azurearm_network.network_interface_get(name,
75654       resource_group, **kwargs)
75655              New in version 2019.2.0.
75656
75657
75658              Get details about a specific network interface.
75659
75660              Parameters
75661
75662                     · name -- The name of the network interface to query.
75663
75664                     · resource_group  --  The resource group name assigned to
75665                       the network interface.
75666
75667              CLI Example:
75668
75669                 salt-call azurearm_network.network_interface_get test-iface0 testgroup
75670
75671       salt.modules.azurearm_network.network_interface_get_effective_route_ta‐
75672       ble(name, resource_group, **kwargs)
75673              New in version 2019.2.0.
75674
75675
75676              Get all route tables for a specific network interface.
75677
75678              Parameters
75679
75680                     · name -- The name of the network interface to query.
75681
75682                     · resource_group  --  The resource group name assigned to
75683                       the network interface.
75684
75685              CLI Example:
75686
75687                 salt-call azurearm_network.network_interface_get_effective_route_table test-iface0 testgroup
75688
75689       salt.modules.azurearm_network.network_interface_list_effective_net‐
75690       work_security_groups(name, resource_group, **kwargs)
75691              New in version 2019.2.0.
75692
75693
75694              Get  all  network  security groups applied to a specific network
75695              interface.
75696
75697              Parameters
75698
75699                     · name -- The name of the network interface to query.
75700
75701                     · resource_group -- The resource group name  assigned  to
75702                       the network interface.
75703
75704              CLI Example:
75705
75706                 salt-call azurearm_network.network_interface_list_effective_network_security_groups test-iface0 testgroup
75707
75708       salt.modules.azurearm_network.network_interfaces_list(resource_group,
75709       **kwargs)
75710              New in version 2019.2.0.
75711
75712
75713              List all network interfaces within a resource group.
75714
75715              Parameters
75716                     resource_group -- The resource group name to list network
75717                     interfaces within.
75718
75719              CLI Example:
75720
75721                 salt-call azurearm_network.network_interfaces_list testgroup
75722
75723       salt.modules.azurearm_network.network_interfaces_list_all(**kwargs)
75724              New in version 2019.2.0.
75725
75726
75727              List all network interfaces within a subscription.
75728
75729              CLI Example:
75730
75731                 salt-call azurearm_network.network_interfaces_list_all
75732
75733       salt.modules.azurearm_network.network_security_group_cre‐
75734       ate_or_update(name, resource_group, **kwargs)
75735              New in version 2019.2.0.
75736
75737
75738              Create or update a network security group.
75739
75740              Parameters
75741
75742                     · name -- The name of the network security group to  cre‐
75743                       ate.
75744
75745                     · resource_group  --  The resource group name assigned to
75746                       the network security group.
75747
75748              CLI Example:
75749
75750                 salt-call azurearm_network.network_security_group_create_or_update testnsg testgroup
75751
75752       salt.modules.azurearm_network.network_security_group_delete(name,
75753       resource_group, **kwargs)
75754              New in version 2019.2.0.
75755
75756
75757              Delete a network security group within a resource group.
75758
75759              Parameters
75760
75761                     · name  --  The  name  of  the  network security group to
75762                       delete.
75763
75764                     · resource_group -- The resource group name  assigned  to
75765                       the network security group.
75766
75767              CLI Example:
75768
75769                 salt-call azurearm_network.network_security_group_delete testnsg testgroup
75770
75771       salt.modules.azurearm_network.network_security_group_get(name,
75772       resource_group, **kwargs)
75773              New in version 2019.2.0.
75774
75775
75776              Get details about a network security  group  within  a  resource
75777              group.
75778
75779              Parameters
75780
75781                     · name  --  The  name  of  the  network security group to
75782                       query.
75783
75784                     · resource_group -- The resource group name  assigned  to
75785                       the network security group.
75786
75787              CLI Example:
75788
75789                 salt-call azurearm_network.network_security_group_get testnsg testgroup
75790
75791       salt.modules.azurearm_network.network_secu‐
75792       rity_groups_list(resource_group, **kwargs)
75793              New in version 2019.2.0.
75794
75795
75796              List all network security groups within a resource group.
75797
75798              Parameters
75799                     resource_group -- The resource group name to list network
75800                     security         groups within.
75801
75802              CLI Example:
75803
75804                 salt-call azurearm_network.network_security_groups_list testgroup
75805
75806       salt.modules.azurearm_network.network_secu‐
75807       rity_groups_list_all(**kwargs)
75808              New in version 2019.2.0.
75809
75810
75811              List all network security groups within a subscription.
75812
75813              CLI Example:
75814
75815                 salt-call azurearm_network.network_security_groups_list_all
75816
75817       salt.modules.azurearm_network.public_ip_address_create_or_update(name,
75818       resource_group, **kwargs)
75819              New in version 2019.2.0.
75820
75821
75822              Create or update a public IP address within a specified resource
75823              group.
75824
75825              Parameters
75826
75827                     · name -- The name of the public IP address to create.
75828
75829                     · resource_group -- The resource group name  assigned  to
75830                       the public IP address.
75831
75832              CLI Example:
75833
75834                 salt-call azurearm_network.public_ip_address_create_or_update test-ip-0 testgroup
75835
75836       salt.modules.azurearm_network.public_ip_address_delete(name,
75837       resource_group, **kwargs)
75838              New in version 2019.2.0.
75839
75840
75841              Delete a public IP address.
75842
75843              Parameters
75844
75845                     · name -- The name of the public IP address to delete.
75846
75847                     · resource_group -- The resource group name  assigned  to
75848                       the public IP address.
75849
75850              CLI Example:
75851
75852                 salt-call azurearm_network.public_ip_address_delete test-pub-ip testgroup
75853
75854       salt.modules.azurearm_network.public_ip_address_get(name,
75855       resource_group, **kwargs)
75856              New in version 2019.2.0.
75857
75858
75859              Get details about a specific public IP address.
75860
75861              Parameters
75862
75863                     · name -- The name of the public IP address to query.
75864
75865                     · resource_group -- The resource group name  assigned  to
75866                       the public IP address.
75867
75868              CLI Example:
75869
75870                 salt-call azurearm_network.public_ip_address_get test-pub-ip testgroup
75871
75872       salt.modules.azurearm_network.public_ip_addresses_list(resource_group,
75873       **kwargs)
75874              New in version 2019.2.0.
75875
75876
75877              List all public IP addresses within a resource group.
75878
75879              Parameters
75880                     resource_group -- The resource group name to list  public
75881                     IP addresses within.
75882
75883              CLI Example:
75884
75885                 salt-call azurearm_network.public_ip_addresses_list testgroup
75886
75887       salt.modules.azurearm_network.public_ip_addresses_list_all(**kwargs)
75888              New in version 2019.2.0.
75889
75890
75891              List all public IP addresses within a subscription.
75892
75893              CLI Example:
75894
75895                 salt-call azurearm_network.public_ip_addresses_list_all
75896
75897       salt.modules.azurearm_network.route_create_or_update(name, address_pre‐
75898       fix,        next_hop_type,         route_table,         resource_group,
75899       next_hop_ip_address=None, **kwargs)
75900              New in version 2019.2.0.
75901
75902
75903              Create or update a route within a specified route table.
75904
75905              Parameters
75906
75907                     · name -- The name of the route to create.
75908
75909                     · address_prefix  --  The  destination  CIDR to which the
75910                       route applies.
75911
75912                     · next_hop_type -- The  type  of  Azure  hop  the  packet
75913                       should  be  sent  to. Possible values are: 'VirtualNet‐
75914                       workGateway', 'VnetLocal',  'Internet',  'VirtualAppli‐
75915                       ance', and 'None'.
75916
75917                     · next_hop_ip_address  --  Optional  IP  address to which
75918                       packets should be forwarded. Next hop values  are  only
75919                       allowed  in  routes  where the next_hop_type is 'Virtu‐
75920                       alAppliance'.
75921
75922                     · route_table -- The name of the route  table  containing
75923                       the route.
75924
75925                     · resource_group  --  The resource group name assigned to
75926                       the route table.
75927
75928              CLI Example:
75929
75930                 salt-call azurearm_network.route_create_or_update test-rt '10.0.0.0/8' test-rt-table testgroup
75931
75932       salt.modules.azurearm_network.route_delete(name,           route_table,
75933       resource_group, **kwargs)
75934              New in version 2019.2.0.
75935
75936
75937              Delete a route from a route table.
75938
75939              Parameters
75940
75941                     · name -- The route to delete.
75942
75943                     · route_table -- The route table containing the route.
75944
75945                     · resource_group  --  The resource group name assigned to
75946                       the route table.
75947
75948              CLI Example:
75949
75950                 salt-call azurearm_network.route_delete test-rt test-rt-table testgroup
75951
75952       salt.modules.azurearm_network.route_filter_create_or_update(name,
75953       resource_group, **kwargs)
75954              New in version 2019.2.0.
75955
75956
75957              Create  or  update  a  route  filter within a specified resource
75958              group.
75959
75960              Parameters
75961
75962                     · name -- The name of the route filter to create.
75963
75964                     · resource_group -- The resource group name  assigned  to
75965                       the route filter.
75966
75967              CLI Example:
75968
75969                 salt-call azurearm_network.route_filter_create_or_update test-filter testgroup
75970
75971       salt.modules.azurearm_network.route_filter_delete(name, resource_group,
75972       **kwargs)
75973              New in version 2019.2.0.
75974
75975
75976              Delete a route filter.
75977
75978              Parameters
75979
75980                     · name -- The name of the route filter to delete.
75981
75982                     · resource_group -- The resource group name  assigned  to
75983                       the route filter.
75984
75985              CLI Example:
75986
75987                 salt-call azurearm_network.route_filter_delete test-filter testgroup
75988
75989       salt.modules.azurearm_network.route_filter_get(name,    resource_group,
75990       **kwargs)
75991              New in version 2019.2.0.
75992
75993
75994              Get details about a specific route filter.
75995
75996              Parameters
75997
75998                     · name -- The name of the route table to query.
75999
76000                     · resource_group -- The resource group name  assigned  to
76001                       the route filter.
76002
76003              CLI Example:
76004
76005                 salt-call azurearm_network.route_filter_get test-filter testgroup
76006
76007       salt.modules.azurearm_network.route_filter_rule_create_or_update(name,
76008       access, communities, route_filter, resource_group, **kwargs)
76009              New in version 2019.2.0.
76010
76011
76012              Create or update a rule within a specified route filter.
76013
76014              Parameters
76015
76016                     · name -- The name of the rule to create.
76017
76018                     · access -- The access type of the rule. Valid values are
76019                       'Allow' and 'Deny'.
76020
76021                     · communities -- A list of BGP communities to filter on.
76022
76023                     · route_filter -- The name of the route filter containing
76024                       the rule.
76025
76026                     · resource_group -- The resource group name  assigned  to
76027                       the route filter.
76028
76029              CLI Example:
76030
76031                 salt-call azurearm_network.route_filter_rule_create_or_update                   test-rule allow "['12076:51006']" test-filter testgroup
76032
76033       salt.modules.azurearm_network.route_filter_rule_delete(name, route_fil‐
76034       ter, resource_group, **kwargs)
76035              New in version 2019.2.0.
76036
76037
76038              Delete a route filter rule.
76039
76040              Parameters
76041
76042                     · name -- The route filter rule to delete.
76043
76044                     · route_filter -- The route filter containing the rule.
76045
76046                     · resource_group -- The resource group name  assigned  to
76047                       the route filter.
76048
76049              CLI Example:
76050
76051                 salt-call azurearm_network.route_filter_rule_delete test-rule test-filter testgroup
76052
76053       salt.modules.azurearm_network.route_filter_rule_get(name, route_filter,
76054       resource_group, **kwargs)
76055              New in version 2019.2.0.
76056
76057
76058              Get details about a specific route filter rule.
76059
76060              Parameters
76061
76062                     · name -- The route filter rule to query.
76063
76064                     · route_filter -- The route filter containing the rule.
76065
76066                     · resource_group -- The resource group name  assigned  to
76067                       the route filter.
76068
76069              CLI Example:
76070
76071                 salt-call azurearm_network.route_filter_rule_get test-rule test-filter testgroup
76072
76073       salt.modules.azurearm_network.route_filter_rules_list(route_filter,
76074       resource_group, **kwargs)
76075              New in version 2019.2.0.
76076
76077
76078              List all routes within a route filter.
76079
76080              Parameters
76081
76082                     · route_filter -- The route filter to query.
76083
76084                     · resource_group -- The resource group name  assigned  to
76085                       the route filter.
76086
76087              CLI Example:
76088
76089                 salt-call azurearm_network.route_filter_rules_list test-filter testgroup
76090
76091       salt.modules.azurearm_network.route_filters_list(resource_group,
76092       **kwargs)
76093              New in version 2019.2.0.
76094
76095
76096              List all route filters within a resource group.
76097
76098              Parameters
76099                     resource_group -- The resource group name to  list  route
76100                     filters within.
76101
76102              CLI Example:
76103
76104                 salt-call azurearm_network.route_filters_list testgroup
76105
76106       salt.modules.azurearm_network.route_filters_list_all(**kwargs)
76107              New in version 2019.2.0.
76108
76109
76110              List all route filters within a subscription.
76111
76112              CLI Example:
76113
76114                 salt-call azurearm_network.route_filters_list_all
76115
76116       salt.modules.azurearm_network.route_get(name,              route_table,
76117       resource_group, **kwargs)
76118              New in version 2019.2.0.
76119
76120
76121              Get details about a specific route.
76122
76123              Parameters
76124
76125                     · name -- The route to query.
76126
76127                     · route_table -- The route table containing the route.
76128
76129                     · resource_group -- The resource group name  assigned  to
76130                       the route table.
76131
76132              CLI Example:
76133
76134                 salt-call azurearm_network.route_get test-rt test-rt-table testgroup
76135
76136       salt.modules.azurearm_network.route_table_create_or_update(name,
76137       resource_group, **kwargs)
76138              New in version 2019.2.0.
76139
76140
76141              Create or update a  route  table  within  a  specified  resource
76142              group.
76143
76144              Parameters
76145
76146                     · name -- The name of the route table to create.
76147
76148                     · resource_group  --  The resource group name assigned to
76149                       the route table.
76150
76151              CLI Example:
76152
76153                 salt-call azurearm_network.route_table_create_or_update test-rt-table testgroup
76154
76155       salt.modules.azurearm_network.route_table_delete(name,  resource_group,
76156       **kwargs)
76157              New in version 2019.2.0.
76158
76159
76160              Delete a route table.
76161
76162              Parameters
76163
76164                     · name -- The name of the route table to delete.
76165
76166                     · resource_group  --  The resource group name assigned to
76167                       the route table.
76168
76169              CLI Example:
76170
76171                 salt-call azurearm_network.route_table_delete test-rt-table testgroup
76172
76173       salt.modules.azurearm_network.route_table_get(name,     resource_group,
76174       **kwargs)
76175              New in version 2019.2.0.
76176
76177
76178              Get details about a specific route table.
76179
76180              Parameters
76181
76182                     · name -- The name of the route table to query.
76183
76184                     · resource_group  --  The resource group name assigned to
76185                       the route table.
76186
76187              CLI Example:
76188
76189                 salt-call azurearm_network.route_table_get test-rt-table testgroup
76190
76191       salt.modules.azurearm_network.route_tables_list(resource_group,
76192       **kwargs)
76193              New in version 2019.2.0.
76194
76195
76196              List all route tables within a resource group.
76197
76198              Parameters
76199                     resource_group  --  The resource group name to list route
76200                     tables within.
76201
76202              CLI Example:
76203
76204                 salt-call azurearm_network.route_tables_list testgroup
76205
76206       salt.modules.azurearm_network.route_tables_list_all(**kwargs)
76207              New in version 2019.2.0.
76208
76209
76210              List all route tables within a subscription.
76211
76212              CLI Example:
76213
76214                 salt-call azurearm_network.route_tables_list_all
76215
76216       salt.modules.azurearm_network.routes_list(route_table,  resource_group,
76217       **kwargs)
76218              New in version 2019.2.0.
76219
76220
76221              List all routes within a route table.
76222
76223              Parameters
76224
76225                     · route_table -- The route table to query.
76226
76227                     · resource_group  --  The resource group name assigned to
76228                       the route table.
76229
76230              CLI Example:
76231
76232                 salt-call azurearm_network.routes_list test-rt-table testgroup
76233
76234       salt.modules.azurearm_network.security_rule_create_or_update(name,
76235       access,  direction, priority, protocol, security_group, resource_group,
76236       source_address_prefix=None,            destination_address_prefix=None,
76237       source_port_range=None,                    destination_port_range=None,
76238       source_address_prefixes=None,        destination_address_prefixes=None,
76239       source_port_ranges=None, destination_port_ranges=None, **kwargs)
76240              New in version 2019.2.0.
76241
76242
76243              Create  or  update  a  security  rule within a specified network
76244              security group.
76245
76246              Parameters
76247
76248                     · name -- The name of the security rule to create.
76249
76250                     · access -- 'allow' or 'deny'
76251
76252                     · direction -- 'inbound' or 'outbound'
76253
76254                     · priority -- Integer  between  100  and  4096  used  for
76255                       ordering rule application.
76256
76257                     · protocol -- 'tcp', 'udp', or '*'
76258
76259                     · destination_address_prefix  --  The CIDR or destination
76260                       IP range. Asterix '*' can also be  used  to  match  all
76261                       destination  IPs.   Default  tags  such as 'VirtualNet‐
76262                       work', 'AzureLoadBalancer' and 'Internet' can  also  be
76263                       used.  If this is an ingress rule, specifies where net‐
76264                       work traffic originates from.
76265
76266                     · destination_port_range  --  The  destination  port   or
76267                       range.  Integer  or  range between 0 and 65535. Asterix
76268                       '*' can also be used to match all ports.
76269
76270                     · source_address_prefix -- The CIDR or source  IP  range.
76271                       Asterix  '*'  can also be used to match all source IPs.
76272                       Default tags such as  'VirtualNetwork',  'AzureLoadBal‐
76273                       ancer'  and 'Internet' can also be used.  If this is an
76274                       ingress rule, specifies where  network  traffic  origi‐
76275                       nates from.
76276
76277                     · source_port_range  -- The source port or range. Integer
76278                       or range between 0 and 65535. Asterix '*' can  also  be
76279                       used to match all ports.
76280
76281                     · destination_address_prefixes  --  A  list  of  destina‐
76282                       tion_address_prefix values.  This  parameter  overrides
76283                       destination_address_prefix  and  will  cause  any value
76284                       entered there to be ignored.
76285
76286                     · destination_port_ranges   --   A   list   of   destina‐
76287                       tion_port_range values. This parameter overrides desti‐
76288                       nation_port_range and  will  cause  any  value  entered
76289                       there to be ignored.
76290
76291                     · source_address_prefixes      --      A      list     of
76292                       source_address_prefix values. This parameter  overrides
76293                       source_address_prefix  and will cause any value entered
76294                       there to be ignored.
76295
76296                     · source_port_ranges -- A list of source_port_range  val‐
76297                       ues.  This  parameter  overrides  source_port_range and
76298                       will cause any value entered there to be ignored.
76299
76300                     · security_group -- The network security group containing
76301                       the security rule.
76302
76303                     · resource_group  --  The resource group name assigned to
76304                       the network security group.
76305
76306              CLI Example:
76307
76308                 salt-call azurearm_network.security_rule_create_or_update testrule1 allow outbound 101 tcp testnsg testgroup                   source_address_prefix='*' destination_address_prefix=internet source_port_range='*'                   destination_port_range='1-1024'
76309
76310       salt.modules.azurearm_network.security_rule_delete(security_rule, secu‐
76311       rity_group, resource_group, **kwargs)
76312              New in version 2019.2.0.
76313
76314
76315              Delete a security rule within a specified security group.
76316
76317              Parameters
76318
76319                     · name -- The name of the security rule to delete.
76320
76321                     · security_group -- The network security group containing
76322                       the security rule.
76323
76324                     · resource_group -- The resource group name  assigned  to
76325                       the network security group.
76326
76327              CLI Example:
76328
76329                 salt-call azurearm_network.security_rule_delete testrule1 testnsg testgroup
76330
76331       salt.modules.azurearm_network.security_rule_get(security_rule,    secu‐
76332       rity_group, resource_group, **kwargs)
76333              New in version 2019.2.0.
76334
76335
76336              Get a security rule within a specified network security group.
76337
76338              Parameters
76339
76340                     · name -- The name of the security rule to query.
76341
76342                     · security_group -- The network security group containing
76343                       the security rule.
76344
76345                     · resource_group  --  The resource group name assigned to
76346                       the network security group.
76347
76348              CLI Example:
76349
76350                 salt-call azurearm_network.security_rule_get testrule1 testnsg testgroup
76351
76352       salt.modules.azurearm_network.security_rules_list(security_group,
76353       resource_group, **kwargs)
76354              New in version 2019.2.0.
76355
76356
76357              List security rules within a network security group.
76358
76359              Parameters
76360
76361                     · security_group -- The network security group to query.
76362
76363                     · resource_group  --  The resource group name assigned to
76364                       the network security group.
76365
76366              CLI Example:
76367
76368                 salt-call azurearm_network.security_rules_list testnsg testgroup
76369
76370       salt.modules.azurearm_network.subnet_create_or_update(name,
76371       address_prefix, virtual_network, resource_group, **kwargs)
76372              New in version 2019.2.0.
76373
76374
76375              Create or update a subnet.
76376
76377              Parameters
76378
76379                     · name  --  The name assigned to the subnet being created
76380                       or updated.
76381
76382                     · address_prefix -- A valid CIDR block within the virtual
76383                       network.
76384
76385                     · virtual_network  -- The virtual network name containing
76386                       the subnet.
76387
76388                     · resource_group -- The resource group name  assigned  to
76389                       the virtual network.
76390
76391              CLI Example:
76392
76393                 salt-call azurearm_network.subnet_create_or_update testsubnet                   '10.0.0.0/24' testnet testgroup
76394
76395       salt.modules.azurearm_network.subnet_delete(name,      virtual_network,
76396       resource_group, **kwargs)
76397              New in version 2019.2.0.
76398
76399
76400              Delete a subnet.
76401
76402              Parameters
76403
76404                     · name -- The name of the subnet to delete.
76405
76406                     · virtual_network -- The virtual network name  containing
76407                       the subnet.
76408
76409                     · resource_group  --  The resource group name assigned to
76410                       the virtual network.
76411
76412              CLI Example:
76413
76414                 salt-call azurearm_network.subnet_delete testsubnet testnet testgroup
76415
76416       salt.modules.azurearm_network.subnet_get(name,         virtual_network,
76417       resource_group, **kwargs)
76418              New in version 2019.2.0.
76419
76420
76421              Get details about a specific subnet.
76422
76423              Parameters
76424
76425                     · name -- The name of the subnet to query.
76426
76427                     · virtual_network  -- The virtual network name containing
76428                       the subnet.
76429
76430                     · resource_group -- The resource group name  assigned  to
76431                       the virtual network.
76432
76433              CLI Example:
76434
76435                 salt-call azurearm_network.subnet_get testsubnet testnet testgroup
76436
76437       salt.modules.azurearm_network.subnets_list(virtual_network,
76438       resource_group, **kwargs)
76439              New in version 2019.2.0.
76440
76441
76442              List all subnets within a virtual network.
76443
76444              Parameters
76445
76446                     · virtual_network -- The virtual  network  name  to  list
76447                       subnets within.
76448
76449                     · resource_group  --  The resource group name assigned to
76450                       the virtual network.
76451
76452              CLI Example:
76453
76454                 salt-call azurearm_network.subnets_list testnet testgroup
76455
76456       salt.modules.azurearm_network.usages_list(location, **kwargs)
76457              New in version 2019.2.0.
76458
76459
76460              List subscription network usage for a location.
76461
76462              Parameters
76463                     location -- The  Azure  location  to  query  for  network
76464                     usage.
76465
76466              CLI Example:
76467
76468                 salt-call azurearm_network.usages_list westus
76469
76470       salt.modules.azurearm_network.virtual_network_create_or_update(name,
76471       address_prefixes, resource_group, **kwargs)
76472              New in version 2019.2.0.
76473
76474
76475              Create or update a virtual network.
76476
76477              Parameters
76478
76479                     · name -- The name assigned to the virtual network  being
76480                       created or updated.
76481
76482                     · address_prefixes  -- A list of CIDR blocks which can be
76483                       used by subnets within the virtual network.
76484
76485                     · resource_group -- The resource group name  assigned  to
76486                       the virtual network.
76487
76488              CLI Example:
76489
76490                 salt-call azurearm_network.virtual_network_create_or_update                   testnet ['10.0.0.0/16'] testgroup
76491
76492       salt.modules.azurearm_network.virtual_network_delete(name,
76493       resource_group, **kwargs)
76494              New in version 2019.2.0.
76495
76496
76497              Delete a virtual network.
76498
76499              Parameters
76500
76501                     · name -- The name of the virtual network to delete.
76502
76503                     · resource_group -- The resource group name  assigned  to
76504                       the virtual network
76505
76506              CLI Example:
76507
76508                 salt-call azurearm_network.virtual_network_delete testnet testgroup
76509
76510       salt.modules.azurearm_network.virtual_network_get(name, resource_group,
76511       **kwargs)
76512              New in version 2019.2.0.
76513
76514
76515              Get details about a specific virtual network.
76516
76517              Parameters
76518
76519                     · name -- The name of the virtual network to query.
76520
76521                     · resource_group -- The resource group name  assigned  to
76522                       the virtual network.
76523
76524              CLI Example:
76525
76526                 salt-call azurearm_network.virtual_network_get testnet testgroup
76527
76528       salt.modules.azurearm_network.virtual_networks_list(resource_group,
76529       **kwargs)
76530              New in version 2019.2.0.
76531
76532
76533              List all virtual networks within a resource group.
76534
76535              Parameters
76536                     resource_group -- The resource group name to list virtual
76537                     networks within.
76538
76539              CLI Example:
76540
76541                 salt-call azurearm_network.virtual_networks_list testgroup
76542
76543       salt.modules.azurearm_network.virtual_networks_list_all(**kwargs)
76544              New in version 2019.2.0.
76545
76546
76547              List all virtual networks within a subscription.
76548
76549              CLI Example:
76550
76551                 salt-call azurearm_network.virtual_networks_list_all
76552
76553   salt.modules.azurearm_resource
76554       Azure (ARM) Resource Execution Module
76555
76556       New in version 2019.2.0.
76557
76558
76559       maintainer
76560              <devops@decisionlab.io>
76561
76562       maturity
76563              new
76564
76565       depends
76566
76567              · azure >= 2.0.0
76568
76569              · azure-common >= 1.1.8
76570
76571              · azure-mgmt >= 1.0.0
76572
76573              · azure-mgmt-compute >= 1.0.0
76574
76575              · azure-mgmt-network >= 1.7.1
76576
76577              · azure-mgmt-resource >= 1.1.0
76578
76579              · azure-mgmt-storage >= 1.0.0
76580
76581              · azure-mgmt-web >= 0.32.0
76582
76583              · azure-storage >= 0.34.3
76584
76585              · msrestazure >= 0.4.21
76586
76587       platform
76588              linux
76589
76590       configuration
76591              This  module  requires  Azure Resource Manager credentials to be
76592              passed as keyword arguments to every function in order  to  work
76593              properly.
76594
76595              Required provider parameters:
76596
76597              if using username and password:
76598
76599                     · subscription_id
76600
76601                     · username
76602
76603                     · password
76604
76605              if using a service principal:
76606
76607                     · subscription_id
76608
76609                     · tenant
76610
76611                     · client_id
76612
76613                     · secret
76614
76615              Optional provider parameters:
76616
76617       cloud_environment: Used to point the cloud driver to different API end‐
76618       points, such as Azure GovCloud.
76619
76620              Possible values:
76621
76622                     · AZURE_PUBLIC_CLOUD (default)
76623
76624                     · AZURE_CHINA_CLOUD
76625
76626                     · AZURE_US_GOV_CLOUD
76627
76628                     · AZURE_GERMAN_CLOUD
76629
76630       salt.modules.azurearm_resource.deployment_cancel(name,  resource_group,
76631       **kwargs)
76632              New in version 2019.2.0.
76633
76634
76635              Cancel a deployment if in 'Accepted' or 'Running' state.
76636
76637              Parameters
76638
76639                     · name -- The name of the deployment to cancel.
76640
76641                     · resource_group  --  The resource group name assigned to
76642                       the deployment.
76643
76644              CLI Example:
76645
76646                 salt-call azurearm_resource.deployment_cancel testdeploy testgroup
76647
76648       salt.modules.azurearm_resource.deployment_check_existence(name,
76649       resource_group, **kwargs)
76650              New in version 2019.2.0.
76651
76652
76653              Check the existence of a deployment.
76654
76655              Parameters
76656
76657                     · name -- The name of the deployment to query.
76658
76659                     · resource_group  --  The resource group name assigned to
76660                       the deployment.
76661
76662              CLI Example:
76663
76664                 salt-call azurearm_resource.deployment_check_existence testdeploy testgroup
76665
76666       salt.modules.azurearm_resource.deployment_create_or_update(name,
76667       resource_group,     deploy_mode='incremental',    debug_setting='none',
76668       deploy_params=None,  parameters_link=None,  deploy_template=None,  tem‐
76669       plate_link=None, **kwargs)
76670              New in version 2019.2.0.
76671
76672
76673              Deploys resources to a resource group.
76674
76675              Parameters
76676
76677                     · name -- The name of the deployment to create or update.
76678
76679                     · resource_group  --  The resource group name assigned to
76680                       the deployment.
76681
76682                     · deploy_mode  --  The  mode  that  is  used  to   deploy
76683                       resources.  This  value  can be either 'incremental' or
76684                       'complete'. In Incremental mode, resources are deployed
76685                       without   deleting  existing  resources  that  are  not
76686                       included in the template. In Complete  mode,  resources
76687                       are  deployed  and  existing  resources in the resource
76688                       group  that  are  not  included  in  the  template  are
76689                       deleted. Be careful when using Complete mode as you may
76690                       unintentionally delete resources.
76691
76692                     · debug_setting -- The debug setting of  the  deployment.
76693                       The  permitted  values  are  'none',  'requestContent',
76694                       'responseContent', or 'requestContent,responseContent'.
76695                       By  logging  information about the request or response,
76696                       you could potentially expose  sensitive  data  that  is
76697                       retrieved through the deployment operations.
76698
76699                     · deploy_params  -- JSON string containing name and value
76700                       pairs that define the  deployment  parameters  for  the
76701                       template. You use this element when you want to provide
76702                       the parameter values directly  in  the  request  rather
76703                       than link to an existing parameter file. Use either the
76704                       parameters_link property or the deploy_params property,
76705                       but not both.
76706
76707                     · parameters_link  --  The  URI of a parameters file. You
76708                       use this element to  link  to  an  existing  parameters
76709                       file.  Use  either  the parameters_link property or the
76710                       deploy_params property, but not both.
76711
76712                     · deploy_template -- JSON string of template content. You
76713                       use  this  element  when  you want to pass the template
76714                       syntax directly in the request rather than link  to  an
76715                       existing  template.  Use either the template_link prop‐
76716                       erty or the deploy_template property, but not both.
76717
76718                     · template_link -- The URI of the  template.  Use  either
76719                       the template_link property or the deploy_template prop‐
76720                       erty, but not both.
76721
76722              CLI Example:
76723
76724                 salt-call azurearm_resource.deployment_create_or_update testdeploy testgroup
76725
76726       salt.modules.azurearm_resource.deployment_delete(name,  resource_group,
76727       **kwargs)
76728              New in version 2019.2.0.
76729
76730
76731              Delete a deployment.
76732
76733              Parameters
76734
76735                     · name -- The name of the deployment to delete.
76736
76737                     · resource_group  --  The resource group name assigned to
76738                       the deployment.
76739
76740              CLI Example:
76741
76742                 salt-call azurearm_resource.deployment_delete testdeploy testgroup
76743
76744       salt.modules.azurearm_resource.deployment_export_template(name,
76745       resource_group, **kwargs)
76746              New in version 2019.2.0.
76747
76748
76749              Exports the template used for the specified deployment.
76750
76751              Parameters
76752
76753                     · name -- The name of the deployment to query.
76754
76755                     · resource_group  --  The resource group name assigned to
76756                       the deployment.
76757
76758              CLI Example:
76759
76760                 salt-call azurearm_resource.deployment_export_template testdeploy testgroup
76761
76762       salt.modules.azurearm_resource.deployment_get(name,     resource_group,
76763       **kwargs)
76764              New in version 2019.2.0.
76765
76766
76767              Get details about a specific deployment.
76768
76769              Parameters
76770
76771                     · name -- The name of the deployment to query.
76772
76773                     · resource_group  --  The resource group name assigned to
76774                       the deployment.
76775
76776              CLI Example:
76777
76778                 salt-call azurearm_resource.deployment_get testdeploy testgroup
76779
76780       salt.modules.azurearm_resource.deployment_operation_get(operation,
76781       deployment, resource_group, **kwargs)
76782              New in version 2019.2.0.
76783
76784
76785              Get a deployment operation within a deployment.
76786
76787              Parameters
76788
76789                     · operation  --  The operation ID of the operation within
76790                       the deployment.
76791
76792                     · deployment -- The name of the deployment containing the
76793                       operation.
76794
76795                     · resource_group  --  The resource group name assigned to
76796                       the deployment.
76797
76798              CLI Example:
76799
76800                 salt-call azurearm_resource.deployment_operation_get XXXXX testdeploy testgroup
76801
76802       salt.modules.azurearm_resource.deployment_operations_list(name,
76803       resource_group, result_limit=10, **kwargs)
76804              New in version 2019.2.0.
76805
76806
76807              List all deployment operations within a deployment.
76808
76809              Parameters
76810
76811                     · name -- The name of the deployment to query.
76812
76813                     · resource_group  --  The resource group name assigned to
76814                       the deployment.
76815
76816                     · result_limit -- (Default: 10) The limit on the list  of
76817                       deployment operations.
76818
76819              CLI Example:
76820
76821                 salt-call azurearm_resource.deployment_operations_list testdeploy testgroup
76822
76823       salt.modules.azurearm_resource.deployment_validate(name,
76824       resource_group,          deploy_mode=None,          debug_setting=None,
76825       deploy_params=None,  parameters_link=None,  deploy_template=None,  tem‐
76826       plate_link=None, **kwargs)
76827              New in version 2019.2.0.
76828
76829
76830              Validates whether the specified template is  syntactically  cor‐
76831              rect and will be accepted by Azure Resource Manager.
76832
76833              Parameters
76834
76835                     · name -- The name of the deployment to validate.
76836
76837                     · resource_group  --  The resource group name assigned to
76838                       the deployment.
76839
76840                     · deploy_mode  --  The  mode  that  is  used  to   deploy
76841                       resources.  This  value  can be either 'incremental' or
76842                       'complete'. In Incremental mode, resources are deployed
76843                       without   deleting  existing  resources  that  are  not
76844                       included in the template. In Complete  mode,  resources
76845                       are  deployed  and  existing  resources in the resource
76846                       group  that  are  not  included  in  the  template  are
76847                       deleted. Be careful when using Complete mode as you may
76848                       unintentionally delete resources.
76849
76850                     · debug_setting -- The debug setting of  the  deployment.
76851                       The  permitted  values  are  'none',  'requestContent',
76852                       'responseContent', or 'requestContent,responseContent'.
76853                       By  logging  information about the request or response,
76854                       you could potentially expose  sensitive  data  that  is
76855                       retrieved through the deployment operations.
76856
76857                     · deploy_params  -- JSON string containing name and value
76858                       pairs that define the  deployment  parameters  for  the
76859                       template. You use this element when you want to provide
76860                       the parameter values directly  in  the  request  rather
76861                       than link to an existing parameter file. Use either the
76862                       parameters_link property or the deploy_params property,
76863                       but not both.
76864
76865                     · parameters_link  --  The  URI of a parameters file. You
76866                       use this element to  link  to  an  existing  parameters
76867                       file.  Use  either  the parameters_link property or the
76868                       deploy_params property, but not both.
76869
76870                     · deploy_template -- JSON string of template content. You
76871                       use  this  element  when  you want to pass the template
76872                       syntax directly in the request rather than link  to  an
76873                       existing  template.  Use either the template_link prop‐
76874                       erty or the deploy_template property, but not both.
76875
76876                     · template_link -- The URI of the  template.  Use  either
76877                       the template_link property or the deploy_template prop‐
76878                       erty, but not both.
76879
76880              CLI Example:
76881
76882                 salt-call azurearm_resource.deployment_validate testdeploy testgroup
76883
76884       salt.modules.azurearm_resource.deployments_list(resource_group,
76885       **kwargs)
76886              New in version 2019.2.0.
76887
76888
76889              List all deployments within a resource group.
76890
76891              CLI Example:
76892
76893                 salt-call azurearm_resource.deployments_list testgroup
76894
76895       salt.modules.azurearm_resource.policy_assignment_create(name,    scope,
76896       definition_name, **kwargs)
76897              New in version 2019.2.0.
76898
76899
76900              Create a policy assignment.
76901
76902              Parameters
76903
76904                     · name -- The name of the policy assignment to create.
76905
76906                     · scope -- The scope of the policy assignment.
76907
76908                     · definition_name -- The name of the policy definition to
76909                       assign.
76910
76911              CLI Example:
76912
76913                 salt-call azurearm_resource.policy_assignment_create testassign         /subscriptions/bc75htn-a0fhsi-349b-56gh-4fghti-f84852 testpolicy
76914
76915       salt.modules.azurearm_resource.policy_assignment_delete(name,    scope,
76916       **kwargs)
76917              New in version 2019.2.0.
76918
76919
76920              Delete a policy assignment.
76921
76922              Parameters
76923
76924                     · name -- The name of the policy assignment to delete.
76925
76926                     · scope -- The scope of the policy assignment.
76927
76928              CLI Example:
76929
76930                 salt-call azurearm_resource.policy_assignment_delete testassign         /subscriptions/bc75htn-a0fhsi-349b-56gh-4fghti-f84852
76931
76932       salt.modules.azurearm_resource.policy_assignment_get(name,       scope,
76933       **kwargs)
76934              New in version 2019.2.0.
76935
76936
76937              Get details about a specific policy assignment.
76938
76939              Parameters
76940
76941                     · name -- The name of the policy assignment to query.
76942
76943                     · scope -- The scope of the policy assignment.
76944
76945              CLI Example:
76946
76947                 salt-call azurearm_resource.policy_assignment_get testassign         /subscriptions/bc75htn-a0fhsi-349b-56gh-4fghti-f84852
76948
76949       salt.modules.azurearm_resource.policy_assignments_list(**kwargs)
76950              New in version 2019.2.0.
76951
76952
76953              List all policy assignments for a subscription.
76954
76955              CLI Example:
76956
76957                 salt-call azurearm_resource.policy_assignments_list
76958
76959       salt.modules.azurearm_resource.policy_assign‐
76960       ments_list_for_resource_group(resource_group, **kwargs)
76961              New in version 2019.2.0.
76962
76963
76964              List all policy assignments for a resource group.
76965
76966              Parameters
76967                     resource_group -- The resource group name to list  policy
76968                     assignments within.
76969
76970              CLI Example:
76971
76972                 salt-call azurearm_resource.policy_assignments_list_for_resource_group testgroup
76973
76974       salt.modules.azurearm_resource.policy_definition_create_or_update(name,
76975       policy_rule, **kwargs)
76976              New in version 2019.2.0.
76977
76978
76979              Create or update a policy definition.
76980
76981              Parameters
76982
76983                     · name -- The name of the policy definition to create  or
76984                       update.
76985
76986                     · policy_rule -- A dictionary defining the policy rule.
76987
76988              CLI Example:
76989
76990                 salt-call azurearm_resource.policy_definition_create_or_update testpolicy '{...rule definition..}'
76991
76992       salt.modules.azurearm_resource.policy_definition_delete(name, **kwargs)
76993              New in version 2019.2.0.
76994
76995
76996              Delete a policy definition.
76997
76998              Parameters
76999                     name -- The name of the policy definition to delete.
77000
77001              CLI Example:
77002
77003                 salt-call azurearm_resource.policy_definition_delete testpolicy
77004
77005       salt.modules.azurearm_resource.policy_definition_get(name, **kwargs)
77006              New in version 2019.2.0.
77007
77008
77009              Get details about a specific policy definition.
77010
77011              Parameters
77012                     name -- The name of the policy definition to query.
77013
77014              CLI Example:
77015
77016                 salt-call azurearm_resource.policy_definition_get testpolicy
77017
77018       salt.modules.azurearm_resource.policy_defini‐
77019       tions_list(hide_builtin=False, **kwargs)
77020              New in version 2019.2.0.
77021
77022
77023              List all policy definitions for a subscription.
77024
77025              Parameters
77026                     hide_builtin -- Boolean which  will  filter  out  BuiltIn
77027                     policy definitions from the result.
77028
77029              CLI Example:
77030
77031                 salt-call azurearm_resource.policy_definitions_list
77032
77033       salt.modules.azurearm_resource.resource_group_check_existence(name,
77034       **kwargs)
77035              New in version 2019.2.0.
77036
77037
77038              Check for the existence of a named resource group in the current
77039              subscription.
77040
77041              Parameters
77042                     name -- The resource group name to check.
77043
77044              CLI Example:
77045
77046                 salt-call azurearm_resource.resource_group_check_existence testgroup
77047
77048       salt.modules.azurearm_resource.resource_group_create_or_update(name,
77049       location, **kwargs)
77050              New in version 2019.2.0.
77051
77052
77053              Create or update a resource group in a given location.
77054
77055              Parameters
77056
77057                     · name -- The name of the resource  group  to  create  or
77058                       update.
77059
77060                     · location  --  The  location of the resource group. This
77061                       value is not able to be updated once the resource group
77062                       is created.
77063
77064              CLI Example:
77065
77066                 salt-call azurearm_resource.resource_group_create_or_update testgroup westus
77067
77068       salt.modules.azurearm_resource.resource_group_delete(name, **kwargs)
77069              New in version 2019.2.0.
77070
77071
77072              Delete a resource group from the subscription.
77073
77074              Parameters
77075                     name -- The resource group name to delete.
77076
77077              CLI Example:
77078
77079                 salt-call azurearm_resource.resource_group_delete testgroup
77080
77081       salt.modules.azurearm_resource.resource_group_get(name, **kwargs)
77082              New in version 2019.2.0.
77083
77084
77085              Get a dictionary representing a resource group's properties.
77086
77087              Parameters
77088                     name -- The resource group name to get.
77089
77090              CLI Example:
77091
77092                 salt-call azurearm_resource.resource_group_get testgroup
77093
77094       salt.modules.azurearm_resource.resource_groups_list(**kwargs)
77095              New in version 2019.2.0.
77096
77097
77098              List all resource groups within a subscription.
77099
77100              CLI Example:
77101
77102                 salt-call azurearm_resource.resource_groups_list
77103
77104       salt.modules.azurearm_resource.subscription_get(subscription_id=None,
77105       **kwargs)
77106              New in version 2019.2.0.
77107
77108
77109              Get details about a subscription.
77110
77111              Parameters
77112                     subscription_id -- The ID of the subscription to query.
77113
77114              CLI Example:
77115
77116                 salt-call azurearm_resource.subscription_get XXXXXXXX
77117
77118       salt.modules.azurearm_resource.subscriptions_list(**kwargs)
77119              New in version 2019.2.0.
77120
77121
77122              List all subscriptions for a tenant.
77123
77124              CLI Example:
77125
77126                 salt-call azurearm_resource.subscriptions_list
77127
77128       salt.modules.azurearm_resource.subscriptions_list_locations(subscrip‐
77129       tion_id=None, **kwargs)
77130              New in version 2019.2.0.
77131
77132
77133              List all locations for a subscription.
77134
77135              Parameters
77136                     subscription_id -- The ID of the subscription to query.
77137
77138              CLI Example:
77139
77140                 salt-call azurearm_resource.subscriptions_list_locations XXXXXXXX
77141
77142       salt.modules.azurearm_resource.tenants_list(**kwargs)
77143              New in version 2019.2.0.
77144
77145
77146              List all tenants for your account.
77147
77148              CLI Example:
77149
77150                 salt-call azurearm_resource.tenants_list
77151
77152   salt.modules.bamboohr
77153       Support for BambooHR
77154
77155       New in version 2015.8.0.
77156
77157
77158       Requires a subdomain and an apikey in /etc/salt/minion:
77159
77160          bamboohr:
77161            apikey: 012345678901234567890
77162            subdomain: mycompany
77163
77164       salt.modules.bamboohr.list_employees(order_by=u'id')
77165              Show all employees for this company.
77166
77167              CLI Example:
77168                 salt myminion bamboohr.list_employees
77169
77170              By default, the return data will be keyed by ID. However, it can
77171              be ordered by any other field. Keep in mind that  if  the  field
77172              that  is  chosen  contains  duplicate  values (i.e., location is
77173              used, for a company which only  has  one  location),  then  each
77174              duplicate value will be overwritten by the previous.  Therefore,
77175              it is advisable to only sort by fields that are guaranteed to be
77176              unique.
77177
77178              CLI Examples:
77179                 salt myminion bamboohr.list_employees order_by=id salt mymin‐
77180                 ion bamboohr.list_employees order_by=displayName salt  mymin‐
77181                 ion bamboohr.list_employees order_by=workEmail
77182
77183       salt.modules.bamboohr.list_meta_fields()
77184              Show all meta data fields for this company.
77185
77186              CLI Example:
77187                 salt myminion bamboohr.list_meta_fields
77188
77189       salt.modules.bamboohr.list_users(order_by=u'id')
77190              Show all users for this company.
77191
77192              CLI Example:
77193                 salt myminion bamboohr.list_users
77194
77195              By default, the return data will be keyed by ID. However, it can
77196              be ordered by any other field. Keep in mind that  if  the  field
77197              that  is  chosen  contains  duplicate  values (i.e., location is
77198              used, for a company which only  has  one  location),  then  each
77199              duplicate value will be overwritten by the previous.  Therefore,
77200              it is advisable to only sort by fields that are guaranteed to be
77201              unique.
77202
77203              CLI Examples:
77204                 salt  myminion  bamboohr.list_users order_by=id salt myminion
77205                 bamboohr.list_users order_by=email
77206
77207       salt.modules.bamboohr.show_employee(emp_id, fields=None)
77208              Show all employees for this company.
77209
77210              CLI Example:
77211                 salt myminion bamboohr.show_employee 1138
77212
77213              By   default,   the   fields   normally   returned   from   bam‐
77214              boohr.list_employees are returned. These fields are:
77215
77216                 · canUploadPhoto
77217
77218                 · department
77219
77220                 · displayName
77221
77222                 · firstName
77223
77224                 · id
77225
77226                 · jobTitle
77227
77228                 · lastName
77229
77230                 · location
77231
77232                 · mobilePhone
77233
77234                 · nickname
77235
77236                 · photoUploaded
77237
77238                 · photoUrl
77239
77240                 · workEmail
77241
77242                 · workPhone
77243
77244                 · workPhoneExtension
77245
77246              If needed, a different set of fields may be specified, separated
77247              by commas:
77248
77249              CLI Example:
77250                 salt myminion bamboohr.show_employee 1138 displayName,dateOf‐
77251                 Birth
77252
77253              A    list    of    available    fields    can    be   found   at
77254              http://www.bamboohr.com/api/documentation/employees.php
77255
77256       salt.modules.bamboohr.update_employee(emp_id,   key=None,   value=None,
77257       items=None)
77258              Update  one or more items for this employee. Specifying an empty
77259              value will clear it for that employee.
77260
77261              CLI Examples:
77262                 salt myminion bamboohr.update_employee  1138  nickname  Curly
77263                 salt  myminion bamboohr.update_employee 1138 nickname '' salt
77264                 myminion  bamboohr.update_employee  1138  items='{"nickname":
77265                 "Curly"}    salt   myminion   bamboohr.update_employee   1138
77266                 items='{"nickname": ""}
77267
77268   salt.modules.bcache module
77269       Module for managing BCache sets
77270
77271       BCache is a block-level caching mechanism  similar  to  ZFS  L2ARC/ZIL,
77272       dm-cache  and  fscache.   It  works by formatting one block device as a
77273       cache set, then adding backend devices (which need to be  formatted  as
77274       such) to the set and activating them.
77275
77276       It's available in Linux mainline kernel since 3.10
77277
77278       https://www.kernel.org/doc/Documentation/bcache.txt
77279
77280       This module needs the bcache userspace tools to function.
77281
77282       salt.modules.bcache.attach_(dev=None)
77283              Attach  a backing devices to a cache set If no dev is given, all
77284              backing devices will be attached.
77285
77286              CLI example:
77287
77288                 salt '*' bcache.attach sdc
77289                 salt '*' bcache.attach /dev/bcache1
77290
77291              Returns
77292                     bool or None if nuttin' happened
77293
77294       salt.modules.bcache.back_make(dev,             cache_mode=u'writeback',
77295       force=False, attach=True, bucket_size=None)
77296              Create  a  backing  device for attachment to a set.  Because the
77297              block size must be the same, a cache set already needs to exist.
77298
77299              CLI example:
77300
77301                 salt '*' bcache.back_make sdc cache_mode=writeback attach=True
77302
77303              Parameters
77304
77305                     · cache_mode -- writethrough, writeback,  writearound  or
77306                       none.
77307
77308                     · force -- Overwrite existing bcaches
77309
77310                     · attach  -- Immediately attach the backing device to the
77311                       set
77312
77313                     · bucket_size -- Size of a bucket (see kernel doc)
77314
77315       salt.modules.bcache.cache_make(dev,     reserved=None,     force=False,
77316       block_size=None, bucket_size=None, attach=True)
77317              Create  BCache cache on a block device.  If blkdiscard is avail‐
77318              able the entire device will be properly cleared in advance.
77319
77320              CLI example:
77321
77322                 salt '*' bcache.cache_make sdb reserved=10% block_size=4096
77323
77324              Parameters
77325
77326                     · reserved --
77327
77328                       if dev is a full device, create a partition table  with
77329                       this size empty.
77330
77331                       NOTE:
77332                          this  increases  the amount of reserved space avail‐
77333                          able to SSD garbage collectors, potentially (vastly)
77334                          increasing performance
77335
77336
77337                     · block_size  --  Block  size  of  the cache; defaults to
77338                       devices' logical block size
77339
77340                     · force -- Overwrite existing BCache sets
77341
77342                     · attach -- Attach all existing backend  devices  immedi‐
77343                       ately
77344
77345       salt.modules.bcache.config_(dev=None, **kwargs)
77346              Show or update config of a bcache device.
77347
77348              If no device is given, operate on the cache set itself.
77349
77350              CLI example:
77351
77352                 salt '*' bcache.config
77353                 salt '*' bcache.config bcache1
77354                 salt '*' bcache.config errors=panic journal_delay_ms=150
77355                 salt '*' bcache.config bcache1 cache_mode=writeback writeback_percent=15
77356
77357              Returns
77358                     config or True/False
77359
77360       salt.modules.bcache.detach(dev=None)
77361              Detach  a backing device(s) from a cache set If no dev is given,
77362              all backing devices will be attached.
77363
77364              Detaching a backing device will flush it's  write  cache.   This
77365              should  leave  the  underlying device in a consistent state, but
77366              might take a while.
77367
77368              CLI example:
77369
77370                 salt '*' bcache.detach sdc
77371                 salt '*' bcache.detach bcache1
77372
77373       salt.modules.bcache.device(dev,   stats=False,   config=False,   inter‐
77374       nals=False, superblock=False)
77375              Check the state of a single bcache device
77376
77377              CLI example:
77378
77379                 salt '*' bcache.device bcache0
77380                 salt '*' bcache.device /dev/sdc stats=True
77381
77382              Parameters
77383
77384                     · stats -- include statistics
77385
77386                     · settings -- include all settings
77387
77388                     · internals -- include all internals
77389
77390                     · superblock -- include superblock info
77391
77392       salt.modules.bcache.start()
77393              Trigger a start of the full bcache system through udev.
77394
77395              CLI example:
77396
77397                 salt '*' bcache.start
77398
77399       salt.modules.bcache.status(stats=False,  config=False, internals=False,
77400       superblock=False, alldevs=False)
77401              Show the full status of the BCache  system  and  optionally  all
77402              it's involved devices
77403
77404              CLI example:
77405
77406                 salt '*' bcache.status
77407                 salt '*' bcache.status stats=True
77408                 salt '*' bcache.status internals=True alldevs=True
77409
77410              Parameters
77411
77412                     · stats -- include statistics
77413
77414                     · config -- include settings
77415
77416                     · internals -- include internals
77417
77418                     · superblock -- include superblock
77419
77420       salt.modules.bcache.stop(dev=None)
77421              Stop  a bcache device If no device is given, all backing devices
77422              will be detached from the  cache,  which  will  subsequently  be
77423              stopped.
77424
77425              WARNING:
77426                 'Stop'  on  an  individual backing device means hard-stop; no
77427                 attempt at flushing will be done and the bcache  device  will
77428                 seemingly 'disappear' from the device lists
77429
77430              CLI example:
77431
77432                 salt '*' bcache.stop
77433
77434       salt.modules.bcache.super_(dev)
77435              Read out BCache SuperBlock
77436
77437              CLI example:
77438
77439                 salt '*' bcache.device bcache0
77440                 salt '*' bcache.device /dev/sdc
77441
77442       salt.modules.bcache.uuid(dev=None)
77443              Return  the  bcache  UUID  of  a  block device.  If no device is
77444              given, the Cache UUID is returned.
77445
77446              CLI example:
77447
77448                 salt '*' bcache.uuid
77449                 salt '*' bcache.uuid /dev/sda
77450                 salt '*' bcache.uuid bcache0
77451
77452   salt.modules.beacons
77453       Module for managing the Salt beacons on a minion
77454
77455       New in version 2015.8.0.
77456
77457
77458       salt.modules.beacons.add(name, beacon_data, **kwargs)
77459              Add a beacon on the minion
77460
77461              Parameters
77462
77463                     · name -- Name of the beacon to configure
77464
77465                     · beacon_data -- Dictionary or list containing configura‐
77466                       tion for beacon.
77467
77468              Returns
77469                     Boolean and status message on success or failure of add.
77470
77471              CLI Example:
77472
77473                 salt '*' beacons.add ps "[{'processes': {'salt-master': 'stopped', 'apache2': 'stopped'}}]"
77474
77475       salt.modules.beacons.delete(name, **kwargs)
77476              Delete a beacon item
77477
77478              Parameters
77479                     name -- Name of the beacon to delete
77480
77481              Returns
77482                     Boolean  and  status  message  on  success  or failure of
77483                     delete.
77484
77485              CLI Example:
77486
77487                 salt '*' beacons.delete ps
77488
77489                 salt '*' beacons.delete load
77490
77491       salt.modules.beacons.disable(**kwargs)
77492              Disable all beacons jobs on the minion
77493
77494              Returns
77495                     Boolean and status message on success or failure of  dis‐
77496                     able.
77497
77498              CLI Example:
77499
77500                 salt '*' beacons.disable
77501
77502       salt.modules.beacons.disable_beacon(name, **kwargs)
77503              Disable beacon on the minion
77504
77505              Name   Name of the beacon to disable.
77506
77507              Returns
77508                     Boolean  and status message on success or failure of dis‐
77509                     able.
77510
77511              CLI Example:
77512
77513                 salt '*' beacons.disable_beacon ps
77514
77515       salt.modules.beacons.enable(**kwargs)
77516              Enable all beacons on the minion
77517
77518              Returns
77519                     Boolean and status  message  on  success  or  failure  of
77520                     enable.
77521
77522              Return type
77523                     bool
77524
77525              CLI Example:
77526
77527                 salt '*' beacons.enable
77528
77529       salt.modules.beacons.enable_beacon(name, **kwargs)
77530              Enable beacon on the minion
77531
77532              Name   Name of the beacon to enable.
77533
77534              Returns
77535                     Boolean  and  status  message  on  success  or failure of
77536                     enable.
77537
77538              CLI Example:
77539
77540                 salt '*' beacons.enable_beacon ps
77541
77542       salt.modules.beacons.list_(return_yaml=True,       include_pillar=True,
77543       include_opts=True, **kwargs)
77544              List the beacons currently configured on the minion
77545
77546              Parameters
77547
77548                     · return_yaml -- Whether to return YAML formatted output,
77549                       default True
77550
77551                     · include_pillar -- Whether to include beacons  that  are
77552                       configured in pillar, default is True.
77553
77554                     · include_opts  --  Whether  to  include beacons that are
77555                       configured in opts, default is True.
77556
77557              Returns
77558                     List of currently configured Beacons.
77559
77560              CLI Example:
77561
77562                 salt '*' beacons.list
77563
77564       salt.modules.beacons.list_available(return_yaml=True, **kwargs)
77565              List the beacons currently available on the minion
77566
77567              Parameters
77568                     return_yaml -- Whether to return YAML  formatted  output,
77569                     default True
77570
77571              Returns
77572                     List of currently configured Beacons.
77573
77574              CLI Example:
77575
77576                 salt '*' beacons.list_available
77577
77578       salt.modules.beacons.modify(name, beacon_data, **kwargs)
77579              Modify an existing beacon
77580
77581              Parameters
77582
77583                     · name -- Name of the beacon to configure
77584
77585                     · beacon_data  --  Dictionary  or list containing updated
77586                       configuration for beacon.
77587
77588              Returns
77589                     Boolean and status message on success or failure of  mod‐
77590                     ify.
77591
77592              CLI Example:
77593
77594                 salt '*' beacons.modify ps "[{'salt-master': 'stopped'}, {'apache2': 'stopped'}]"
77595
77596       salt.modules.beacons.reset(**kwargs)
77597              Resest beacon configuration on the minion
77598
77599              CLI Example:
77600
77601                 salt '*' beacons.reset
77602
77603       salt.modules.beacons.save(**kwargs)
77604              Save all beacons on the minion
77605
77606              Returns
77607                     Boolean and status message on success or failure of save.
77608
77609              CLI Example:
77610
77611                 salt '*' beacons.save
77612
77613   salt.modules.bigip
77614       An execution module which can manipulate an f5 bigip via iControl REST
77615
77616              maturity
77617                     develop
77618
77619              platform
77620                     f5_bigip_11.6
77621
77622       salt.modules.bigip.add_pool_member(hostname,  username, password, name,
77623       member)
77624              A function to connect to a bigip device and add a new member  to
77625              an existing pool.
77626
77627              hostname
77628                     The host/address of the bigip device
77629
77630              username
77631                     The iControl REST username
77632
77633              password
77634                     The iControl REST password
77635
77636              name   The name of the pool to modify
77637
77638              member The name of the member to add i.e. 10.1.1.2:80
77639
77640              CLI Example:
77641
77642                 salt '*' bigip.add_pool_members bigip admin admin my-pool 10.2.2.1:80
77643
77644       salt.modules.bigip.commit_transaction(hostname,   username,   password,
77645       label)
77646              A function to connect to a bigip device and commit  an  existing
77647              transaction.
77648
77649              hostname
77650                     The host/address of the bigip device
77651
77652              username
77653                     The iControl REST username
77654
77655              password
77656                     The iControl REST password
77657
77658              label  the  label  of  this transaction stored within the grain:
77659                     bigip_f5_trans:<label>
77660
77661              CLI Example:
77662
77663                 salt '*' bigip.commit_transaction bigip admin admin my_transaction
77664
77665       salt.modules.bigip.create_monitor(hostname, username,  password,  moni‐
77666       tor_type, name, **kwargs)
77667              A function to connect to a bigip device and create a monitor.
77668
77669              hostname
77670                     The host/address of the bigip device
77671
77672              username
77673                     The iControl REST username
77674
77675              password
77676                     The iControl REST password
77677
77678              monitor_type
77679                     The type of monitor to create
77680
77681              name   The name of the monitor to create
77682
77683              kwargs Consult F5 BIGIP user guide for specific options for each
77684                     monitor type.  Typically, tmsh arg names are used.
77685
77686              CLI Example:
77687
77688                 salt '*' bigip.create_monitor bigip admin admin http my-http-monitor timeout=10 interval=5
77689
77690       salt.modules.bigip.create_node(hostname,  username,   password,   name,
77691       address, trans_label=None)
77692              A function to connect to a bigip device and create a node.
77693
77694              hostname
77695                     The host/address of the bigip device
77696
77697              username
77698                     The iControl REST username
77699
77700              password
77701                     The iControl REST password
77702
77703              name   The name of the node
77704
77705              address
77706                     The address of the node
77707
77708              trans_label
77709                     The  label  of  the  transaction stored within the grain:
77710                     bigip_f5_trans:<label>
77711
77712              CLI Example:
77713
77714                 salt '*' bigip.create_node bigip admin admin 10.1.1.2
77715
77716       salt.modules.bigip.create_pool(hostname, username, password, name, mem‐
77717       bers=None,  allow_nat=None,  allow_snat=None,  description=None,  gate‐
77718       way_failsafe_device=None,                 ignore_persisted_weight=None,
77719       ip_tos_to_client=None,  ip_tos_to_server=None, link_qos_to_client=None,
77720       link_qos_to_server=None,   load_balancing_mode=None,    min_active_mem‐
77721       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
77722       bers_checking=None,            monitor=None,             profiles=None,
77723       queue_depth_limit=None,                 queue_on_connection_limit=None,
77724       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
77725       slow_ramp_time=None)
77726              A function to connect to a bigip device and create a pool.
77727
77728              hostname
77729                     The host/address of the bigip device
77730
77731              username
77732                     The iControl REST username
77733
77734              password
77735                     The iControl REST password
77736
77737              name   The name of the pool to create.
77738
77739              members
77740                     List  of comma delimited pool members to add to the pool.
77741                     i.e. 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80
77742
77743              allow_nat
77744                     [yes | no]
77745
77746              allow_snat
77747                     [yes | no]
77748
77749              description
77750                     [string]
77751
77752              gateway_failsafe_device
77753                     [string]
77754
77755              ignore_persisted_weight
77756                     [enabled | disabled]
77757
77758              ip_tos_to_client
77759                     [pass-through | [integer]]
77760
77761              ip_tos_to_server
77762                     [pass-through | [integer]]
77763
77764              link_qos_to_client
77765                     [pass-through | [integer]]
77766
77767              link_qos_to_server
77768                     [pass-through | [integer]]
77769
77770              load_balancing_mode
77771                     [dynamic-ratio-member     |     dynamic-ratio-node      |
77772                     fastest-app-response   |   fastest-node  |  least-connec‐
77773                     tions-members | least-connections-node | least-sessions |
77774                     observed-member  |  observed-node  |  predictive-member |
77775                     predictive-node   |   ratio-least-connections-member    |
77776                     ratio-least-connections-node  | ratio-member | ratio-node
77777                     | ratio-session |  round-robin  |  weighted-least-connec‐
77778                     tions-member | weighted-least-connections-node]
77779
77780              min_active_members
77781                     [integer]
77782
77783              min_up_members
77784                     [integer]
77785
77786              min_up_members_action
77787                     [failover | reboot | restart-all]
77788
77789              min_up_members_checking
77790                     [enabled | disabled]
77791
77792              monitor
77793                     [name]
77794
77795              profiles
77796                     [none | profile_name]
77797
77798              queue_depth_limit
77799                     [integer]
77800
77801              queue_on_connection_limit
77802                     [enabled | disabled]
77803
77804              queue_time_limit
77805                     [integer]
77806
77807              reselect_tries
77808                     [integer]
77809
77810              service_down_action
77811                     [drop | none | reselect | reset]
77812
77813              slow_ramp_time
77814                     [integer]
77815
77816              CLI Example:
77817
77818                 salt '*' bigip.create_pool bigip admin admin my-pool 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80 monitor=http
77819
77820       salt.modules.bigip.create_profile(hostname,  username,  password,  pro‐
77821       file_type, name, **kwargs)
77822              A function to connect to a bigip device and create a profile.
77823
77824              hostname
77825                     The host/address of the bigip device
77826
77827              username
77828                     The iControl REST username
77829
77830              password
77831                     The iControl REST password
77832
77833              profile_type
77834                     The type of profile to create
77835
77836              name   The name of the profile to create
77837
77838              kwargs [ arg=val ] ... [arg=key1:val1,key2:val2] ...
77839
77840                     Consult F5 BIGIP user guide for specific options for each
77841                     monitor type.  Typically, tmsh arg names are used.
77842
77843              Creating Complex Args
77844                     Profiles  can  get  pretty  complicated  in  terms of the
77845                     amount of possible  config  options.  Use  the  following
77846                     shorthand to create complex arguments such as lists, dic‐
77847                     tionaries, and lists of dictionaries. An option  is  also
77848                     provided to pass raw json as well.
77849
77850                     lists [i,i,i]:
77851                            param='item1,item2,item3'
77852
77853                     Dictionary [k:v,k:v,k,v]:
77854                            param='key-1:val-1,key-2:val2,key-3:va-3'
77855
77856                     List of Dictionaries [k:v,k:v|k:v,k:v|k:v,k:v]:
77857                            param='key-1:val-1,key-2:val-2|key-1:val-1,key-2:val-2|key-1:val-1,key-2:val-2'
77858
77859                     JSON: 'j{ ... }j':
77860                            cert-key-chain='j{    "default":     {     "cert":
77861                            "default.crt",   "chain":   "default.crt",  "key":
77862                            "default.key" } }j'
77863
77864                     Escaping Delimiters:
77865                            Use \, or \: or  \|  to  escape  characters  which
77866                            shouldn't    be   treated   as   delimiters   i.e.
77867                            ciphers='DEFAULT\:!SSLv3'
77868
77869              CLI Examples:
77870
77871                 salt '*' bigip.create_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http'
77872                 salt '*' bigip.create_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http' \
77873                     enforcement=maxHeaderCount:3200,maxRequests:10
77874
77875       salt.modules.bigip.create_virtual(hostname, username,  password,  name,
77876       destination,    pool=None,    address_status=None,   auto_lasthop=None,
77877       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
77878       dhcp_relay=None,      description=None,      fallback_persistence=None,
77879       flow_eviction_policy=None, gtm_score=None,  ip_forward=None,  ip_proto‐
77880       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
77881       mask=None, mirror=None, nat64=None, persist=None, profiles=None,  poli‐
77882       cies=None,   rate_class=None,   rate_limit=None,  rate_limit_mode=None,
77883       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
77884       related_rules=None,  reject=None,  source=None, source_address_transla‐
77885       tion=None, source_port=None, state=None,  traffic_classes=None,  trans‐
77886       late_address=None, translate_port=None, vlans=None)
77887              A  function  to  connect  to a bigip device and create a virtual
77888              server.
77889
77890              hostname
77891                     The host/address of the bigip device
77892
77893              username
77894                     The iControl REST username
77895
77896              password
77897                     The iControl REST password
77898
77899              name   The name of the virtual to create
77900
77901              destination
77902                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
77903                     ]
77904
77905              pool   [ [pool_name] | none]
77906
77907              address_status
77908                     [yes | no]
77909
77910              auto_lasthop
77911                     [default | enabled | disabled ]
77912
77913              bwc_policy
77914                     [none] | string]
77915
77916              cmp_enabled
77917                     [yes | no]
77918
77919              dhcp_relay
77920                     [yes | no]
77921
77922              connection_limit
77923                     [integer]
77924
77925              description
77926                     [string]
77927
77928              state  [disabled | enabled]
77929
77930              fallback_persistence
77931                     [none | [profile name] ]
77932
77933              flow_eviction_policy
77934                     [none | [eviction policy name] ]
77935
77936              gtm_score
77937                     [integer]
77938
77939              ip_forward
77940                     [yes | no]
77941
77942              ip_protocol
77943                     [any | protocol]
77944
77945              internal
77946                     [yes | no]
77947
77948              twelve_forward
77949                     (12-forward) [yes | no]
77950
77951              last_hop-pool
77952                     [ [pool_name] | none]
77953
77954              mask   { [ipv4] | [ipv6] }
77955
77956              mirror { [disabled | enabled | none] }
77957
77958              nat64  [enabled | disabled]
77959
77960              persist
77961                     [none | profile1,profile2,profile3 ... ]
77962
77963              profiles
77964                     [none | default | profile1,profile2,profile3 ... ]
77965
77966              policies
77967                     [none | default | policy1,policy2,policy3 ... ]
77968
77969              rate_class
77970                     [name]
77971
77972              rate_limit
77973                     [integer]
77974
77975              rate_limit_mode
77976                     [destination    |    object    |   object-destination   |
77977                     object-source  |  object-source-destination  |  source  |
77978                     source-destination]
77979
77980              rate_limit_dst
77981                     [integer]
77982
77983              rate_limitçsrc
77984                     [integer]
77985
77986              rules  [none | [rule_one,rule_two ...] ]
77987
77988              related_rules
77989                     [none | [rule_one,rule_two ...] ]
77990
77991              reject [yes | no]
77992
77993              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
77994
77995              source_address_translation
77996                     [none | snat:pool_name | lsn | automap ]
77997
77998              source_port
77999                     [change | preserve | preserve-strict]
78000
78001              state  [enabled | disabled]
78002
78003              traffic_classes
78004                     [none | default | class_one,class_two ... ]
78005
78006              translate_address
78007                     [enabled | disabled]
78008
78009              translate_port
78010                     [enabled | disabled]
78011
78012              vlans  [none  |  default  | [enabled|disabled]:vlan1,vlan2,vlan3
78013                     ... ]
78014
78015              CLI Examples:
78016
78017                 salt '*' bigip.create_virtual bigip admin admin my-virtual-3 26.2.2.5:80 \
78018                     pool=my-http-pool-http profiles=http,tcp
78019
78020                 salt '*' bigip.create_virtual bigip admin admin my-virtual-3 43.2.2.5:80 \
78021                     pool=test-http-pool-http profiles=http,websecurity persist=cookie,hash \
78022                     policies=asm_auto_l7_policy__http-virtual \
78023                     rules=_sys_APM_ExchangeSupport_helper,_sys_https_redirect \
78024                     related_rules=_sys_APM_activesync,_sys_APM_ExchangeSupport_helper \
78025                     source_address_translation=snat:my-snat-pool \
78026                     translate_address=enabled translate_port=enabled \
78027                     traffic_classes=my-class,other-class \
78028                     vlans=enabled:external,internal
78029
78030       salt.modules.bigip.delete_monitor(hostname, username,  password,  moni‐
78031       tor_type, name)
78032              A  function  to connect to a bigip device and delete an existing
78033              monitor.
78034
78035              hostname
78036                     The host/address of the bigip device
78037
78038              username
78039                     The iControl REST username
78040
78041              password
78042                     The iControl REST password
78043
78044              monitor_type
78045                     The type of monitor to delete
78046
78047              name   The name of the monitor to delete
78048
78049              CLI Example:
78050
78051                 salt '*' bigip.delete_monitor bigip admin admin http my-http-monitor
78052
78053       salt.modules.bigip.delete_node(hostname,  username,   password,   name,
78054       trans_label=None)
78055              A  function  to  connect to a bigip device and delete a specific
78056              node.
78057
78058              hostname
78059                     The host/address of the bigip device
78060
78061              username
78062                     The iControl REST username
78063
78064              password
78065                     The iControl REST password
78066
78067              name   The name of the node which will be deleted.
78068
78069              trans_label
78070                     The label of the transaction  stored  within  the  grain:
78071                     bigip_f5_trans:<label>
78072
78073              CLI Example:
78074
78075                 salt '*' bigip.delete_node bigip admin admin my-node
78076
78077       salt.modules.bigip.delete_pool(hostname, username, password, name)
78078              A  function  to  connect to a bigip device and delete a specific
78079              pool.
78080
78081              hostname
78082                     The host/address of the bigip device
78083
78084              username
78085                     The iControl REST username
78086
78087              password
78088                     The iControl REST password
78089
78090              name   The name of the pool which will be deleted
78091
78092              CLI Example:
78093
78094                 salt '*' bigip.delete_node bigip admin admin my-pool
78095
78096       salt.modules.bigip.delete_pool_member(hostname,   username,   password,
78097       name, member)
78098              A  function  to  connect to a bigip device and delete a specific
78099              pool.
78100
78101              hostname
78102                     The host/address of the bigip device
78103
78104              username
78105                     The iControl REST username
78106
78107              password
78108                     The iControl REST password
78109
78110              name   The name of the pool to modify
78111
78112              member The name of the pool member to delete
78113
78114              CLI Example:
78115
78116                 salt '*' bigip.delete_pool_member bigip admin admin my-pool 10.2.2.2:80
78117
78118       salt.modules.bigip.delete_profile(hostname,  username,  password,  pro‐
78119       file_type, name)
78120              A  function  to connect to a bigip device and delete an existing
78121              profile.
78122
78123              hostname
78124                     The host/address of the bigip device
78125
78126              username
78127                     The iControl REST username
78128
78129              password
78130                     The iControl REST password
78131
78132              profile_type
78133                     The type of profile to delete
78134
78135              name   The name of the profile to delete
78136
78137              CLI Example:
78138
78139                 salt '*' bigip.delete_profile bigip admin admin http my-http-profile
78140
78141       salt.modules.bigip.delete_transaction(hostname,   username,   password,
78142       label)
78143              A  function  to connect to a bigip device and delete an existing
78144              transaction.
78145
78146              hostname
78147                     The host/address of the bigip device
78148
78149              username
78150                     The iControl REST username
78151
78152              password
78153                     The iControl REST password
78154
78155              label  The label of this transaction stored  within  the  grain:
78156                     bigip_f5_trans:<label>
78157
78158              CLI Example:
78159
78160                 salt '*' bigip.delete_transaction bigip admin admin my_transaction
78161
78162       salt.modules.bigip.delete_virtual(hostname, username, password, name)
78163              A  function  to  connect to a bigip device and delete a specific
78164              virtual.
78165
78166              hostname
78167                     The host/address of the bigip device
78168
78169              username
78170                     The iControl REST username
78171
78172              password
78173                     The iControl REST password
78174
78175              name   The name of the virtual to delete
78176
78177              CLI Example:
78178
78179                 salt '*' bigip.delete_virtual bigip admin admin my-virtual
78180
78181       salt.modules.bigip.list_monitor(hostname,  username,  password,   moni‐
78182       tor_type, name=None)
78183              A  function  to  connect  to a bigip device and list an existing
78184              monitor.  If no name is provided than all monitors of the speci‐
78185              fied type will be listed.
78186
78187              hostname
78188                     The host/address of the bigip device
78189
78190              username
78191                     The iControl REST username
78192
78193              password
78194                     The iControl REST password
78195
78196              monitor_type
78197                     The type of monitor(s) to list
78198
78199              name   The name of the monitor to list
78200
78201              CLI Example:
78202
78203                 salt '*' bigip.list_monitor bigip admin admin http my-http-monitor
78204
78205       salt.modules.bigip.list_node(hostname,  username,  password, name=None,
78206       trans_label=None)
78207              A function to connect to a bigip device and list all nodes or  a
78208              specific node.
78209
78210              hostname
78211                     The host/address of the bigip device
78212
78213              username
78214                     The iControl REST username
78215
78216              password
78217                     The iControl REST password
78218
78219              name   The  name  of  the  node to list. If no name is specified
78220                     than all nodes will be listed.
78221
78222              trans_label
78223                     The label of the transaction  stored  within  the  grain:
78224                     bigip_f5_trans:<label>
78225
78226              CLI Example:
78227
78228                 salt '*' bigip.list_node bigip admin admin my-node
78229
78230       salt.modules.bigip.list_pool(hostname, username, password, name=None)
78231              A  function to connect to a bigip device and list all pools or a
78232              specific pool.
78233
78234              hostname
78235                     The host/address of the bigip device
78236
78237              username
78238                     The iControl REST username
78239
78240              password
78241                     The iControl REST password
78242
78243              name   The name of the pool to list. If  no  name  is  specified
78244                     then all pools will be listed.
78245
78246              CLI Example:
78247
78248                 salt '*' bigip.list_pool bigip admin admin my-pool
78249
78250       salt.modules.bigip.list_profile(hostname,   username,   password,  pro‐
78251       file_type, name=None)
78252              A function to connect to a bigip device  and  list  an  existing
78253              profile.  If no name is provided than all profiles of the speci‐
78254              fied type will be listed.
78255
78256              hostname
78257                     The host/address of the bigip device
78258
78259              username
78260                     The iControl REST username
78261
78262              password
78263                     The iControl REST password
78264
78265              profile_type
78266                     The type of profile(s) to list
78267
78268              name   The name of the profile to list
78269
78270              CLI Example:
78271
78272                 salt '*' bigip.list_profile bigip admin admin http my-http-profile
78273
78274       salt.modules.bigip.list_transaction(hostname,    username,    password,
78275       label)
78276              A  function  to  connect  to a bigip device and list an existing
78277              transaction.
78278
78279              hostname
78280                     The host/address of the bigip device
78281
78282              username
78283                     The iControl REST username
78284
78285              password
78286                     The iControl REST password
78287
78288              label  the label of this transaction stored  within  the  grain:
78289                     bigip_f5_trans:<label>
78290
78291              CLI Example:
78292
78293                 salt '*' bigip.list_transaction bigip admin admin my_transaction
78294
78295       salt.modules.bigip.list_virtual(hostname,      username,      password,
78296       name=None)
78297              A function to connect to a bigip device and list all virtuals or
78298              a specific virtual.
78299
78300              hostname
78301                     The host/address of the bigip device
78302
78303              username
78304                     The iControl REST username
78305
78306              password
78307                     The iControl REST password
78308
78309              name   The  name of the virtual to list. If no name is specified
78310                     than all virtuals will be listed.
78311
78312              CLI Example:
78313
78314                 salt '*' bigip.list_virtual bigip admin admin my-virtual
78315
78316       salt.modules.bigip.modify_monitor(hostname, username,  password,  moni‐
78317       tor_type, name, **kwargs)
78318              A  function  to connect to a bigip device and modify an existing
78319              monitor.
78320
78321              hostname
78322                     The host/address of the bigip device
78323
78324              username
78325                     The iControl REST username
78326
78327              password
78328                     The iControl REST password
78329
78330              monitor_type
78331                     The type of monitor to modify
78332
78333              name   The name of the monitor to modify
78334
78335              kwargs Consult F5 BIGIP user guide for specific options for each
78336                     monitor type.  Typically, tmsh arg names are used.
78337
78338              CLI Example:
78339
78340                 salt '*' bigip.modify_monitor bigip admin admin http my-http-monitor  timout=16 interval=6
78341
78342       salt.modules.bigip.modify_node(hostname, username, password, name, con‐
78343       nection_limit=None, description=None, dynamic_ratio=None, logging=None,
78344       monitor=None,  rate_limit=None,  ratio=None,  session=None, state=None,
78345       trans_label=None)
78346              A function to connect to a bigip device and modify  an  existing
78347              node.
78348
78349              hostname
78350                     The host/address of the bigip device
78351
78352              username
78353                     The iControl REST username
78354
78355              password
78356                     The iControl REST password
78357
78358              name   The name of the node to modify
78359
78360              connection_limit
78361                     [integer]
78362
78363              description
78364                     [string]
78365
78366              dynamic_ratio
78367                     [integer]
78368
78369              logging
78370                     [enabled | disabled]
78371
78372              monitor
78373                     [[name] | none | default]
78374
78375              rate_limit
78376                     [integer]
78377
78378              ratio  [integer]
78379
78380              session
78381                     [user-enabled | user-disabled]
78382
78383              state  [user-down | user-up ]
78384
78385              trans_label
78386                     The  label  of  the  transaction stored within the grain:
78387                     bigip_f5_trans:<label>
78388
78389              CLI Example:
78390
78391                 salt '*' bigip.modify_node bigip admin admin 10.1.1.2 ratio=2 logging=enabled
78392
78393       salt.modules.bigip.modify_pool(hostname,  username,   password,   name,
78394       allow_nat=None,    allow_snat=None,   description=None,   gateway_fail‐
78395       safe_device=None, ignore_persisted_weight=None,  ip_tos_to_client=None,
78396       ip_tos_to_server=None,                         link_qos_to_client=None,
78397       link_qos_to_server=None,   load_balancing_mode=None,    min_active_mem‐
78398       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
78399       bers_checking=None,            monitor=None,             profiles=None,
78400       queue_depth_limit=None,                 queue_on_connection_limit=None,
78401       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
78402       slow_ramp_time=None)
78403              A  function  to connect to a bigip device and modify an existing
78404              pool.
78405
78406              hostname
78407                     The host/address of the bigip device
78408
78409              username
78410                     The iControl REST username
78411
78412              password
78413                     The iControl REST password
78414
78415              name   The name of the pool to modify.
78416
78417              allow_nat
78418                     [yes | no]
78419
78420              allow_snat
78421                     [yes | no]
78422
78423              description
78424                     [string]
78425
78426              gateway_failsafe_device
78427                     [string]
78428
78429              ignore_persisted_weight
78430                     [yes | no]
78431
78432              ip_tos_to_client
78433                     [pass-through | [integer]]
78434
78435              ip_tos_to_server
78436                     [pass-through | [integer]]
78437
78438              link_qos_to_client
78439                     [pass-through | [integer]]
78440
78441              link_qos_to_server
78442                     [pass-through | [integer]]
78443
78444              load_balancing_mode
78445                     [dynamic-ratio-member     |     dynamic-ratio-node      |
78446                     fastest-app-response   |   fastest-node  |  least-connec‐
78447                     tions-members | least-connections-node | least-sessions |
78448                     observed-member  |  observed-node  |  predictive-member |
78449                     predictive-node   |   ratio-least-connections-member    |
78450                     ratio-least-connections-node  | ratio-member | ratio-node
78451                     | ratio-session |  round-robin  |  weighted-least-connec‐
78452                     tions-member | weighted-least-connections-node]
78453
78454              min_active_members
78455                     [integer]
78456
78457              min_up_members
78458                     [integer]
78459
78460              min_up_members_action
78461                     [failover | reboot | restart-all]
78462
78463              min_up_members_checking
78464                     [enabled | disabled]
78465
78466              monitor
78467                     [name]
78468
78469              profiles
78470                     [none | profile_name]
78471
78472              queue_on_connection_limit
78473                     [enabled | disabled]
78474
78475              queue_depth_limit
78476                     [integer]
78477
78478              queue_time_limit
78479                     [integer]
78480
78481              reselect_tries
78482                     [integer]
78483
78484              service_down_action
78485                     [drop | none | reselect | reset]
78486
78487              slow_ramp_time
78488                     [integer]
78489
78490              CLI Example:
78491
78492                 salt '*' bigip.modify_pool bigip admin admin my-pool 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80 min_active_members=1
78493
78494       salt.modules.bigip.modify_pool_member(hostname,   username,   password,
78495       name,      member,       connection_limit=None,       description=None,
78496       dynamic_ratio=None,  inherit_profile=None,  logging=None, monitor=None,
78497       priority_group=None, profiles=None, rate_limit=None,  ratio=None,  ses‐
78498       sion=None, state=None)
78499              A  function  to connect to a bigip device and modify an existing
78500              member of a pool.
78501
78502              hostname
78503                     The host/address of the bigip device
78504
78505              username
78506                     The iControl REST username
78507
78508              password
78509                     The iControl REST password
78510
78511              name   The name of the pool to modify
78512
78513              member The name of the member to modify i.e. 10.1.1.2:80
78514
78515              connection_limit
78516                     [integer]
78517
78518              description
78519                     [string]
78520
78521              dynamic_ratio
78522                     [integer]
78523
78524              inherit_profile
78525                     [enabled | disabled]
78526
78527              logging
78528                     [enabled | disabled]
78529
78530              monitor
78531                     [name]
78532
78533              priority_group
78534                     [integer]
78535
78536              profiles
78537                     [none | profile_name]
78538
78539              rate_limit
78540                     [integer]
78541
78542              ratio  [integer]
78543
78544              session
78545                     [user-enabled | user-disabled]
78546
78547              state  [ user-up | user-down ]
78548
78549              CLI Example:
78550
78551                 salt '*' bigip.modify_pool_member bigip admin admin my-pool 10.2.2.1:80 state=use-down session=user-disabled
78552
78553       salt.modules.bigip.modify_profile(hostname,  username,  password,  pro‐
78554       file_type, name, **kwargs)
78555              A function to connect to a bigip device and create a profile.
78556
78557              A function to connect to a bigip device and create a profile.
78558
78559              hostname
78560                     The host/address of the bigip device
78561
78562              username
78563                     The iControl REST username
78564
78565              password
78566                     The iControl REST password
78567
78568              profile_type
78569                     The type of profile to create
78570
78571              name   The name of the profile to create
78572
78573              kwargs [ arg=val ] ... [arg=key1:val1,key2:val2] ...
78574
78575                     Consult F5 BIGIP user guide for specific options for each
78576                     monitor type.  Typically, tmsh arg names are used.
78577
78578              Creating Complex Args
78579                 Profiles can get pretty complicated in terms of the amount of
78580                 possible  config options. Use the following shorthand to cre‐
78581                 ate complex arguments such as lists, dictionaries, and  lists
78582                 of  dictionaries. An option is also provided to pass raw json
78583                 as well.
78584
78585                 lists [i,i,i]:
78586                        param='item1,item2,item3'
78587
78588                 Dictionary [k:v,k:v,k,v]:
78589                        param='key-1:val-1,key-2:val2,key-3:va-3'
78590
78591                 List of Dictionaries [k:v,k:v|k:v,k:v|k:v,k:v]:
78592                        param='key-1:val-1,key-2:val-2|key-1:val-1,key-2:val-2|key-1:val-1,key-2:val-2'
78593
78594                 JSON: 'j{ ... }j':
78595                        cert-key-chain='j{ "default": { "cert": "default.crt",
78596                        "chain": "default.crt", "key": "default.key" } }j'
78597
78598                 Escaping Delimiters:
78599                        Use  \,  or  \:  or  \|  to  escape  characters  which
78600                        shouldn't    be    treated    as    delimiters    i.e.
78601                        ciphers='DEFAULT\:!SSLv3'
78602
78603              CLI Examples:
78604
78605                 salt '*' bigip.modify_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http'
78606
78607                 salt '*' bigip.modify_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http' \
78608                     enforcement=maxHeaderCount:3200,maxRequests:10
78609
78610                 salt '*' bigip.modify_profile bigip admin admin client-ssl my-client-ssl-1 retainCertificate=false \
78611                     ciphers='DEFAULT\:!SSLv3'
78612                     cert_key_chain='j{ "default": { "cert": "default.crt", "chain": "default.crt", "key": "default.key" } }j'
78613
78614       salt.modules.bigip.modify_virtual(hostname, username,  password,  name,
78615       destination=None,  pool=None,  address_status=None,  auto_lasthop=None,
78616       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
78617       dhcp_relay=None,      description=None,      fallback_persistence=None,
78618       flow_eviction_policy=None, gtm_score=None,  ip_forward=None,  ip_proto‐
78619       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
78620       mask=None, mirror=None, nat64=None, persist=None, profiles=None,  poli‐
78621       cies=None,   rate_class=None,   rate_limit=None,  rate_limit_mode=None,
78622       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
78623       related_rules=None,  reject=None,  source=None, source_address_transla‐
78624       tion=None, source_port=None, state=None,  traffic_classes=None,  trans‐
78625       late_address=None, translate_port=None, vlans=None)
78626              A  function  to connect to a bigip device and modify an existing
78627              virtual server.
78628
78629              hostname
78630                     The host/address of the bigip device
78631
78632              username
78633                     The iControl REST username
78634
78635              password
78636                     The iControl REST password
78637
78638              name   The name of the virtual to modify
78639
78640              destination
78641                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
78642                     ]
78643
78644              pool   [ [pool_name] | none]
78645
78646              address_status
78647                     [yes | no]
78648
78649              auto_lasthop
78650                     [default | enabled | disabled ]
78651
78652              bwc_policy
78653                     [none] | string]
78654
78655              cmp_enabled
78656                     [yes | no]
78657
78658              dhcp_relay
78659                     [yes | no}
78660
78661              connection_limit
78662                     [integer]
78663
78664              description
78665                     [string]
78666
78667              state  [disabled | enabled]
78668
78669              fallback_persistence
78670                     [none | [profile name] ]
78671
78672              flow_eviction_policy
78673                     [none | [eviction policy name] ]
78674
78675              gtm_score
78676                     [integer]
78677
78678              ip_forward
78679                     [yes | no]
78680
78681              ip_protocol
78682                     [any | protocol]
78683
78684              internal
78685                     [yes | no]
78686
78687              twelve_forward
78688                     (12-forward) [yes | no]
78689
78690              last_hop-pool
78691                     [ [pool_name] | none]
78692
78693              mask   { [ipv4] | [ipv6] }
78694
78695              mirror { [disabled | enabled | none] }
78696
78697              nat64  [enabled | disabled]
78698
78699              persist
78700                     [none | profile1,profile2,profile3 ... ]
78701
78702              profiles
78703                     [none | default | profile1,profile2,profile3 ... ]
78704
78705              policies
78706                     [none | default | policy1,policy2,policy3 ... ]
78707
78708              rate_class
78709                     [name]
78710
78711              rate_limit
78712                     [integer]
78713
78714              rate_limitr_mode
78715                     [destination    |    object    |   object-destination   |
78716                     object-source  |  object-source-destination  |  source  |
78717                     source-destination]
78718
78719              rate_limit_dst
78720                     [integer]
78721
78722              rate_limit_src
78723                     [integer]
78724
78725              rules  [none | [rule_one,rule_two ...] ]
78726
78727              related_rules
78728                     [none | [rule_one,rule_two ...] ]
78729
78730              reject [yes | no]
78731
78732              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
78733
78734              source_address_translation
78735                     [none | snat:pool_name | lsn | automap ]
78736
78737              source_port
78738                     [change | preserve | preserve-strict]
78739
78740              state  [enabled | disable]
78741
78742              traffic_classes
78743                     [none | default | class_one,class_two ... ]
78744
78745              translate_address
78746                     [enabled | disabled]
78747
78748              translate_port
78749                     [enabled | disabled]
78750
78751              vlans  [none  |  default  | [enabled|disabled]:vlan1,vlan2,vlan3
78752                     ... ]
78753
78754              CLI Example:
78755
78756                 salt '*' bigip.modify_virtual bigip admin admin my-virtual source_address_translation=none
78757                 salt '*' bigip.modify_virtual bigip admin admin my-virtual rules=my-rule,my-other-rule
78758
78759       salt.modules.bigip.replace_pool_members(hostname,  username,  password,
78760       name, members)
78761              A  function  to connect to a bigip device and replace members of
78762              an existing pool with new members.
78763
78764              hostname
78765                     The host/address of the bigip device
78766
78767              username
78768                     The iControl REST username
78769
78770              password
78771                     The iControl REST password
78772
78773              name   The name of the pool to modify
78774
78775              members
78776                     List of comma delimited pool members to replace  existing
78777                     members with.  i.e. 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80
78778
78779              CLI Example:
78780
78781                 salt '*' bigip.replace_pool_members bigip admin admin my-pool 10.2.2.1:80,10.2.2.2:80,10.2.2.3:80
78782
78783       salt.modules.bigip.start_transaction(hostname,    username,   password,
78784       label)
78785              A function to connect to a bigip device and start a new transac‐
78786              tion.
78787
78788              hostname
78789                     The host/address of the bigip device
78790
78791              username
78792                     The iControl REST username
78793
78794              password
78795                     The iControl REST password
78796
78797              label  The name / alias for this transaction.  The actual trans‐
78798                     action  id  will  be  stored  within   a   grain   called
78799                     bigip_f5_trans:<label>
78800
78801              CLI Example:
78802
78803                 salt '*' bigip.start_transaction bigip admin admin my_transaction
78804
78805   salt.modules.bluez_bluetooth
78806       Support for Bluetooth (using BlueZ in Linux).
78807
78808       The following packages are required packages for this module:
78809          bluez >= 5.7 bluez-libs >= 5.7 bluez-utils >= 5.7 pybluez >= 0.18
78810
78811       salt.modules.bluez_bluetooth.address_()
78812              Get the many addresses of the Bluetooth adapter
78813
78814              CLI Example:
78815
78816                 salt '*' bluetooth.address
78817
78818       salt.modules.bluez_bluetooth.block(bdaddr)
78819              Block a specific bluetooth device by BD Address
78820
78821              CLI Example:
78822
78823                 salt '*' bluetooth.block DE:AD:BE:EF:CA:FE
78824
78825       salt.modules.bluez_bluetooth.discoverable(dev)
78826              Enable this bluetooth device to be discoverable.
78827
78828              CLI Example:
78829
78830                 salt '*' bluetooth.discoverable hci0
78831
78832       salt.modules.bluez_bluetooth.noscan(dev)
78833              Turn off scanning modes on this device.
78834
78835              CLI Example:
78836
78837                 salt '*' bluetooth.noscan hci0
78838
78839       salt.modules.bluez_bluetooth.pair(address, key)
78840              Pair the bluetooth adapter with a device
78841
78842              CLI Example:
78843
78844                 salt '*' bluetooth.pair DE:AD:BE:EF:CA:FE 1234
78845
78846              Where  DE:AD:BE:EF:CA:FE  is  the  address of the device to pair
78847              with, and 1234 is the passphrase.
78848
78849              TODO: This function  is  currently  broken,  as  the  bluez-sim‐
78850              ple-agent program no longer ships with BlueZ >= 5.0. It needs to
78851              be refactored.
78852
78853       salt.modules.bluez_bluetooth.power(dev, mode)
78854              Power a bluetooth device on or off
78855
78856              CLI Examples:
78857
78858                 salt '*' bluetooth.power hci0 on
78859                 salt '*' bluetooth.power hci0 off
78860
78861       salt.modules.bluez_bluetooth.scan()
78862              Scan for bluetooth devices in the area
78863
78864              CLI Example:
78865
78866                 salt '*' bluetooth.scan
78867
78868       salt.modules.bluez_bluetooth.start()
78869              Start the bluetooth service.
78870
78871              CLI Example:
78872
78873                 salt '*' bluetooth.start
78874
78875       salt.modules.bluez_bluetooth.stop()
78876              Stop the bluetooth service.
78877
78878              CLI Example:
78879
78880                 salt '*' bluetooth.stop
78881
78882       salt.modules.bluez_bluetooth.unblock(bdaddr)
78883              Unblock a specific bluetooth device by BD Address
78884
78885              CLI Example:
78886
78887                 salt '*' bluetooth.unblock DE:AD:BE:EF:CA:FE
78888
78889       salt.modules.bluez_bluetooth.unpair(address)
78890              Unpair the bluetooth adapter from a device
78891
78892              CLI Example:
78893
78894                 salt '*' bluetooth.unpair DE:AD:BE:EF:CA:FE
78895
78896              Where DE:AD:BE:EF:CA:FE is the address of the device to unpair.
78897
78898              TODO: This function  is  currently  broken,  as  the  bluez-sim‐
78899              ple-agent program no longer ships with BlueZ >= 5.0. It needs to
78900              be refactored.
78901
78902       salt.modules.bluez_bluetooth.version()
78903              Return Bluez version from bluetoothd -v
78904
78905              CLI Example:
78906
78907                 salt '*' bluetoothd.version
78908
78909   salt.modules.boto3_elasticache module
78910   Execution module for Amazon Elasticache using boto3
78911       New in version 2017.7.0.
78912
78913
78914       configuration
78915              This module accepts explicit  elasticache  credentials  but  can
78916              also utilize IAM roles assigned to the instance through Instance
78917              Profiles.  Dynamic credentials are then  automatically  obtained
78918              from  AWS  API  and  no further configuration is necessary. More
78919              Information available at:
78920
78921                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
78922
78923              If IAM roles are not used you need to specify them either  in  a
78924              pillar or in the minion's config file:
78925
78926                 elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
78927                 elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78928
78929              A region may also be specified in the configuration:
78930
78931                 elasticache.region: us-east-1
78932
78933              If a region is not specified, the default is us-east-1.
78934
78935              It's  also  possible to specify key, keyid and region via a pro‐
78936              file, either as a passed in dict, or as a string  to  pull  from
78937              pillars or minion config:
78938
78939                 myprofile:
78940                     keyid: GKTADJGHEIQSXMKKRBJ08H
78941                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78942                     region: us-east-1
78943
78944       depends
78945              boto3
78946
78947       salt.modules.boto3_elasticache.add_tags_to_resource(name,  region=None,
78948       key=None, keyid=None, profile=None, **args)
78949              Add tags to an Elasticache resource.
78950
78951              Note that this function is essentially useless as it requires  a
78952              full AWS ARN for the resource being operated on, but there is no
78953              provided API or programmatic way to find the  ARN  for  a  given
78954              object  from  its name or ID alone.  It requires specific knowl‐
78955              edge about the account number, AWS partition,  and  other  magic
78956              details to generate.
78957
78958              If you happen to have those at hand though, feel free to utilize
78959              this function...
78960
78961              Example:
78962
78963                 salt myminion boto3_elasticache.add_tags_to_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'                 Tags="[{'Key': 'TeamOwner', 'Value': 'infrastructure'}]"
78964
78965       salt.modules.boto3_elasticache.authorize_cache_secu‐
78966       rity_group_ingress(name,   region=None,   key=None,   keyid=None,  pro‐
78967       file=None, **args)
78968              Authorize network ingress from an ec2 security group to a  cache
78969              security group.
78970
78971              Example:
78972
78973                 salt myminion boto3_elasticache.authorize_cache_security_group_ingress                                         mycachesecgrp                                         EC2SecurityGroupName=someEC2sg                                         EC2SecurityGroupOwnerId=SOMEOWNERID
78974
78975       salt.modules.boto3_elasticache.cache_cluster_exists(name,    conn=None,
78976       region=None, key=None, keyid=None, profile=None)
78977              Check to see if a cache cluster exists.
78978
78979              Example:
78980
78981                 salt myminion boto3_elasticache.cache_cluster_exists myelasticache
78982
78983       salt.modules.boto3_elasticache.cache_security_group_exists(name,
78984       region=None, key=None, keyid=None, profile=None)
78985              Check to see if an ElastiCache security group exists.
78986
78987              Example:
78988
78989                 salt myminion boto3_elasticache.cache_security_group_exists mysecuritygroup
78990
78991       salt.modules.boto3_elasticache.cache_subnet_group_exists(name,
78992       region=None, key=None, keyid=None, profile=None)
78993              Check to see if an ElastiCache subnet group exists.
78994
78995              Example:
78996
78997                 salt myminion boto3_elasticache.cache_subnet_group_exists my-subnet-group
78998
78999       salt.modules.boto3_elasticache.copy_snapshot(name,         region=None,
79000       key=None, keyid=None, profile=None, **args)
79001              Make a copy of an existing snapshot.
79002
79003              Example:
79004
79005                 salt myminion boto3_elasticache.copy_snapshot name=mySnapshot                                                       TargetSnapshotName=copyOfMySnapshot
79006
79007       salt.modules.boto3_elasticache.create_cache_cluster(name,     wait=600,
79008       security_groups=None, region=None, key=None, keyid=None,  profile=None,
79009       **args)
79010              Create a cache cluster.
79011
79012              Example:
79013
79014                 salt myminion boto3_elasticache.create_cache_cluster name=myCacheCluster                                                              Engine=redis                                                              CacheNodeType=cache.t2.micro                                                              NumCacheNodes=1                                                              SecurityGroupIds='[sg-11223344]'                                                              CacheSubnetGroupName=myCacheSubnetGroup
79015
79016       salt.modules.boto3_elasticache.create_cache_parameter_group(name,
79017       region=None, key=None, keyid=None, profile=None, **args)
79018              Create a cache parameter group.
79019
79020              Example:
79021
79022                 salt myminion boto3_elasticache.create_cache_parameter_group                 name=myParamGroup                 CacheParameterGroupFamily=redis2.8                 Description="My Parameter Group"
79023
79024       salt.modules.boto3_elasticache.create_cache_security_group(name,
79025       region=None, key=None, keyid=None, profile=None, **args)
79026              Create a cache security group.
79027
79028              Example:
79029
79030                 salt myminion boto3_elasticache.create_cache_security_group mycachesecgrp Description='My Cache Security Group'
79031
79032       salt.modules.boto3_elasticache.create_cache_subnet_group(name,     sub‐
79033       nets=None, region=None, key=None, keyid=None, profile=None, **args)
79034              Create an ElastiCache subnet group
79035
79036              Example:
79037
79038                 salt myminion boto3_elasticache.create_cache_subnet_group name=my-subnet-group                                               CacheSubnetGroupDescription="description"                                               subnets='[myVPCSubnet1,myVPCSubnet2]'
79039
79040       salt.modules.boto3_elasticache.create_replication_group(name, wait=600,
79041       security_groups=None,  region=None, key=None, keyid=None, profile=None,
79042       **args)
79043              Create a replication group.  Params are extensive and variable -
79044              see
79045              http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html?#ElastiCache.Client.create_replication_group
79046              for in-depth usage documentation.
79047
79048              Example:
79049
79050                 salt myminion boto3_elasticache.create_replication_group                                                   name=myelasticache                                                   ReplicationGroupDescription=description
79051
79052       salt.modules.boto3_elasticache.delete_cache_cluster(name,     wait=600,
79053       region=None, key=None, keyid=None, profile=None, **args)
79054              Delete a cache cluster.
79055
79056              Example:
79057
79058                 salt myminion boto3_elasticache.delete myelasticache
79059
79060       salt.modules.boto3_elasticache.delete_cache_parameter_group(name,
79061       region=None, key=None, keyid=None, profile=None, **args)
79062              Delete a cache parameter group.
79063
79064              Example:
79065
79066                 salt myminion boto3_elasticache.delete_cache_parameter_group myParamGroup
79067
79068       salt.modules.boto3_elasticache.delete_cache_security_group(name,
79069       region=None, key=None, keyid=None, profile=None, **args)
79070              Delete a cache security group.
79071
79072              Example:
79073
79074                 salt myminion boto3_elasticache.delete_cache_security_group myelasticachesg
79075
79076       salt.modules.boto3_elasticache.delete_cache_subnet_group(name,
79077       region=None, key=None, keyid=None, profile=None, **args)
79078              Delete an ElastiCache subnet group.
79079
79080              Example:
79081
79082                 salt myminion boto3_elasticache.delete_subnet_group my-subnet-group region=us-east-1
79083
79084       salt.modules.boto3_elasticache.delete_replication_group(name, wait=600,
79085       region=None, key=None, keyid=None, profile=None, **args)
79086              Delete an ElastiCache replication  group,  optionally  taking  a
79087              snapshot first.
79088
79089              Example:
79090
79091                 salt myminion boto3_elasticache.delete_replication_group my-replication-group
79092
79093       salt.modules.boto3_elasticache.describe_cache_clusters(name=None,
79094       conn=None, region=None, key=None, keyid=None, profile=None, **args)
79095              Return details about all (or just one) Elasticache  cache  clus‐
79096              ters.
79097
79098              Example:
79099
79100                 salt myminion boto3_elasticache.describe_cache_clusters
79101                 salt myminion boto3_elasticache.describe_cache_clusters myelasticache
79102
79103       salt.modules.boto3_elasticache.describe_cache_parame‐
79104       ter_groups(name=None,  conn=None,  region=None,  key=None,  keyid=None,
79105       profile=None)
79106              Return  details  about all (or just one) Elasticache cache clus‐
79107              ters.
79108
79109              Example:
79110
79111                 salt myminion boto3_elasticache.describe_cache_parameter_groups
79112                 salt myminion boto3_elasticache.describe_cache_parameter_groups myParameterGroup
79113
79114       salt.modules.boto3_elasticache.describe_cache_secu‐
79115       rity_groups(name=None,  conn=None,  region=None,  key=None, keyid=None,
79116       profile=None)
79117              Return details about all (or just one) Elasticache  cache  clus‐
79118              ters.
79119
79120              Example:
79121
79122                 salt myminion boto3_elasticache.describe_cache_security_groups
79123                 salt myminion boto3_elasticache.describe_cache_security_groups mycachesecgrp
79124
79125       salt.modules.boto3_elasticache.describe_cache_subnet_groups(name=None,
79126       conn=None, region=None, key=None, keyid=None, profile=None)
79127              Return details about all (or just one)  Elasticache  replication
79128              groups.
79129
79130              Example:
79131
79132                 salt myminion boto3_elasticache.describe_cache_subnet_groups region=us-east-1
79133
79134       salt.modules.boto3_elasticache.describe_replication_groups(name=None,
79135       conn=None, region=None, key=None, keyid=None, profile=None)
79136              Return details about all (or just one)  Elasticache  replication
79137              groups.
79138
79139              Example:
79140
79141                 salt myminion boto3_elasticache.describe_replication_groups
79142                 salt myminion boto3_elasticache.describe_replication_groups myelasticache
79143
79144       salt.modules.boto3_elasticache.list_cache_subnet_groups(region=None,
79145       key=None, keyid=None, profile=None)
79146              Return a list of all cache subnet group names
79147
79148              Example:
79149
79150                 salt myminion boto3_elasticache.list_cache_subnet_groups region=us-east-1
79151
79152       salt.modules.boto3_elasticache.list_tags_for_resource(name,
79153       region=None, key=None, keyid=None, profile=None, **args)
79154              List tags on an Elasticache resource.
79155
79156              Note  that this function is essentially useless as it requires a
79157              full AWS ARN for the resource being operated on, but there is no
79158              provided  API  or  programmatic  way to find the ARN for a given
79159              object from its name or ID alone.  It requires  specific  knowl‐
79160              edge  about  the  account number, AWS partition, and other magic
79161              details to generate.
79162
79163              If you happen to have those handy, feel  free  to  utilize  this
79164              however...
79165
79166              Example:
79167
79168                 salt myminion boto3_elasticache.list_tags_for_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'
79169
79170       salt.modules.boto3_elasticache.modify_cache_cluster(name,     wait=600,
79171       security_groups=None, region=None, key=None, keyid=None,  profile=None,
79172       **args)
79173              Update a cache cluster in place.
79174
79175              Notes:  {ApplyImmediately:  False} is pretty danged silly in the
79176              context of salt.
79177                     You can pass it,  but  for  fairly  obvious  reasons  the
79178                     results over multiple runs will be undefined and probably
79179                     contrary to your desired state.  Reducing the  number  of
79180                     nodes   requires   an  EXPLICIT  CacheNodeIdsToRemove  be
79181                     passed, which until a reasonable heuristic  for  program‐
79182                     matically  deciding which nodes to remove has been estab‐
79183                     lished,  MUST  be  decided  and  populated  intentionally
79184                     before  a  state call, and removed again before the next.
79185                     In practice this is not particularly  useful  and  should
79186                     probably be avoided.
79187
79188              Example:
79189
79190                 salt myminion boto3_elasticache.create_cache_cluster name=myCacheCluster                                                              NotificationTopicStatus=inactive
79191
79192       salt.modules.boto3_elasticache.modify_cache_subnet_group(name,     sub‐
79193       nets=None, region=None, key=None, keyid=None, profile=None, **args)
79194              Modify an ElastiCache subnet group
79195
79196              Example:
79197
79198                 salt myminion boto3_elasticache.modify_cache_subnet_group                                               name=my-subnet-group                                               subnets='[myVPCSubnet3]'
79199
79200       salt.modules.boto3_elasticache.modify_replication_group(name, wait=600,
79201       security_groups=None,  region=None, key=None, keyid=None, profile=None,
79202       **args)
79203              Modify a replication group.
79204
79205              Example:
79206
79207                 salt myminion boto3_elasticache.modify_replication_group                                                   name=myelasticache                                                   ReplicationGroupDescription=newDescription
79208
79209       salt.modules.boto3_elasticache.remove_tags_from_resource(name,
79210       region=None, key=None, keyid=None, profile=None, **args)
79211              Remove tags from an Elasticache resource.
79212
79213              Note  that this function is essentially useless as it requires a
79214              full AWS ARN for the resource being operated on, but there is no
79215              provided  API  or  programmatic  way to find the ARN for a given
79216              object from its name or ID alone.  It requires  specific  knowl‐
79217              edge  about  the  account number, AWS partition, and other magic
79218              details to generate.
79219
79220              If you happen to have those at hand though, feel free to utilize
79221              this function...
79222
79223              Example:
79224
79225                 salt myminion boto3_elasticache.remove_tags_from_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'                 TagKeys="['TeamOwner']"
79226
79227       salt.modules.boto3_elasticache.replication_group_exists(name,
79228       region=None, key=None, keyid=None, profile=None)
79229              Check to see if a replication group exists.
79230
79231              Example:
79232
79233                 salt myminion boto3_elasticache.replication_group_exists myelasticache
79234
79235       salt.modules.boto3_elasticache.revoke_cache_secu‐
79236       rity_group_ingress(name,   region=None,   key=None,   keyid=None,  pro‐
79237       file=None, **args)
79238              Revoke network ingress from an ec2 security  group  to  a  cache
79239              security group.
79240
79241              Example:
79242
79243                 salt myminion boto3_elasticache.revoke_cache_security_group_ingress                                         mycachesecgrp                                         EC2SecurityGroupName=someEC2sg                                         EC2SecurityGroupOwnerId=SOMEOWNERID
79244
79245   salt.modules.boto3_elasticsearch module
79246       Connection module for Amazon Elasticsearch Service
79247
79248       New in version Natrium.
79249
79250
79251       configuration
79252              This  module  accepts explicit IAM credentials but can also uti‐
79253              lize IAM roles assigned to the  instance  trough  Instance  Pro‐
79254              files.  Dynamic credentials are then automatically obtained from
79255              AWS API and no further configuration is necessary. More Informa‐
79256              tion available at:
79257
79258                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
79259
79260              If  IAM  roles are not used you need to specify them either in a
79261              pillar or in the minion's config file:
79262
79263                 es.keyid: GKTADJGHEIQSXMKKRBJ08H
79264                 es.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
79265
79266              A region may also be specified in the configuration:
79267
79268                 es.region: us-east-1
79269
79270              If a region is not specified, the default is us-east-1.
79271
79272              It's also possible to specify key, keyid and region via  a  pro‐
79273              file,  either  as  a passed in dict, or as a string to pull from
79274              pillars or minion config:
79275
79276                 myprofile:
79277                     keyid: GKTADJGHEIQSXMKKRBJ08H
79278                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
79279                     region: us-east-1
79280
79281              All methods return a dict with:
79282                     'result' key containing a boolean indicating  success  or
79283                     failure, 'error' key containing the errormessage returned
79284                     by boto on error, 'response' key containing the  data  of
79285                     the response returned by boto on success.
79286
79287       codeauthor
79288              Herbert Buurman <herbert.buurman@ogd.nl>
79289
79290       depends
79291              boto3
79292
79293       salt.modules.boto3_elasticsearch.add_tags(domain_name=None,   arn=None,
79294       tags=None, region=None, key=None, keyid=None, profile=None)
79295              Attaches tags to an existing Elasticsearch domain.  Tags  are  a
79296              set  of case-sensitive key value pairs.  An Elasticsearch domain
79297              may have up to 10 tags.
79298
79299              Parameters
79300
79301                     · domain_name (str) --  The  name  of  the  Elasticsearch
79302                       domain you want to add tags to.
79303
79304                     · arn  (str)  --  The ARN of the Elasticsearch domain you
79305                       want  to  add  tags  to.   Specifying  this   overrides
79306                       domain_name.
79307
79308                     · tags  (dict) -- The dict of tags to add to the Elastic‐
79309                       search domain.
79310
79311              Return type
79312                     dict
79313
79314              Returns
79315                     Dictionary with key  'result'  and  as  value  a  boolean
79316                     denoting success or failure.  Upon failure, also contains
79317                     a key 'error' with the error message as value.
79318
79319              New in version Natrium.
79320
79321
79322              CLI Example:
79323
79324                 salt myminion boto3_elasticsearch.add_tags domain_name=mydomain tags='{"foo": "bar", "baz": "qux"}'
79325
79326       salt.modules.boto3_elasticsearch.cancel_elasticsearch_service_soft‐
79327       ware_update(domain_name,   region=None,   keyid=None,   key=None,  pro‐
79328       file=None)
79329              Cancels a scheduled service software update  for  an  Amazon  ES
79330              domain.  You can only perform this operation before the Automat‐
79331              edUpdateDate and when the UpdateStatus is in the  PENDING_UPDATE
79332              state.
79333
79334              Parameters
79335                     domain_name (str) -- The name of the domain that you want
79336                     to stop the latest service software update on.
79337
79338              Return type
79339                     dict
79340
79341              Returns
79342                     Dictionary with key  'result'  and  as  value  a  boolean
79343                     denoting success or failure.  Upon success, also contains
79344                     a  key  'reponse'  with  the  current  service   software
79345                     options.   Upon failure, also contains a key 'error' with
79346                     the error message as value.
79347
79348              New in version Natrium.
79349
79350
79351       salt.modules.boto3_elasticsearch.check_upgrade_eligibility(domain_name,
79352       elasticsearch_version, region=None, keyid=None, key=None, profile=None)
79353              Helper  function  to  determine  in one call if an Elasticsearch
79354              domain can be upgraded to the specified Elasticsearch version.
79355
79356              This assumes that the Elasticsearch domain is  at  rest  at  the
79357              moment  this  function  is called. I.e. The domain is not in the
79358              process of :
79359
79360              · being created.
79361
79362              · being updated.
79363
79364              · another upgrade running, or a check thereof.
79365
79366              · being deleted.
79367
79368              Behind the scenes, this does 3 things:
79369
79370              · Check if elasticsearch_version is among the  compatible  elas‐
79371                ticsearch versions.
79372
79373              · Perform  a  check  if the Elasticsearch domain is eligible for
79374                the upgrade.
79375
79376              · Check the result of the check and return the result as a bool‐
79377                ean.
79378
79379              Parameters
79380
79381                     · name (str) -- The Elasticsearch domain name to check.
79382
79383                     · elasticsearch_version  (str)  -- The Elasticsearch ver‐
79384                       sion to upgrade to.
79385
79386              Return type
79387                     dict
79388
79389              Returns
79390                     Dictionary with key  'result'  and  as  value  a  boolean
79391                     denoting success or failure.  Upon success, also contains
79392                     a key 'reponse' with boolean result of the  check.   Upon
79393                     failure,  also contains a key 'error' with the error mes‐
79394                     sage as value.
79395
79396              New in version Natrium.
79397
79398
79399              CLI Example:
79400
79401                 salt myminion boto3_elasticsearch.check_upgrade_eligibility mydomain '6.7'
79402
79403       salt.modules.boto3_elasticsearch.create_elastic‐
79404       search_domain(domain_name,     elasticsearch_version=None,     elastic‐
79405       search_cluster_config=None,   ebs_options=None,   access_policies=None,
79406       snapshot_options=None,  vpc_options=None, cognito_options=None, encryp‐
79407       tion_at_rest_options=None,        node_to_node_encryption_options=None,
79408       advanced_options=None,   log_publishing_options=None,   blocking=False,
79409       region=None, key=None, keyid=None, profile=None)
79410              Given a valid config, create a domain.
79411
79412              Parameters
79413
79414                     · domain_name (str) --  The  name  of  the  Elasticsearch
79415                       domain  that you are creating.  Domain names are unique
79416                       across the domains owned by an account  within  an  AWS
79417                       region. Domain names must start with a letter or number
79418                       and can contain the following characters:  a-z  (lower‐
79419                       case), 0-9, and - (hyphen).
79420
79421                     · elasticsearch_version  (str) -- String of format X.Y to
79422                       specify version for the Elasticsearch domain eg.  "1.5"
79423                       or "2.3".
79424
79425                     · elasticsearch_cluster_config (dict) --
79426
79427                       Dictionary  specifying the configuration options for an
79428                       Elasticsearch domain. Keys  (case  sensitive)  in  here
79429                       are:
79430
79431                       · InstanceType (str): The instance type for an Elastic‐
79432                         search cluster.
79433
79434                       · InstanceCount (int): The instance type for  an  Elas‐
79435                         ticsearch cluster.
79436
79437                       · DedicatedMasterEnabled  (bool):  Indicate  whether  a
79438                         dedicated master node is enabled.
79439
79440                       · ZoneAwarenessEnabled (bool):  Indicate  whether  zone
79441                         awareness  is  enabled.   If this is not enabled, the
79442                         Elasticsearch domain will only be in one availability
79443                         zone.
79444
79445                       · ZoneAwarenessConfig (dict): Specifies the zone aware‐
79446                         ness configuration for a domain when  zone  awareness
79447                         is enabled.  Keys (case sensitive) in here are:
79448
79449                         · AvailabilityZoneCount  (int):  An  integer value to
79450                           indicate the number of  availability  zones  for  a
79451                           domain  when zone awareness is enabled. This should
79452                           be equal to number of subnets if VPC  endpoints  is
79453                           enabled. Allowed values: 2, 3
79454
79455                       · DedicatedMasterType  (str):  The  instance type for a
79456                         dedicated master node.
79457
79458                       · DedicatedMasterCount (int): Total number of dedicated
79459                         master nodes, active and on standby, for the cluster.
79460
79461
79462                     · ebs_options (dict) --
79463
79464                       Dict  specifying  the  options to enable or disable and
79465                       specifying the type and size of  EBS  storage  volumes.
79466                       Keys (case sensitive) in here are:
79467
79468                       · EBSEnabled  (bool): Specifies whether EBS-based stor‐
79469                         age is enabled.
79470
79471                       · VolumeType  (str):  Specifies  the  volume  type  for
79472                         EBS-based storage.
79473
79474                       · VolumeSize  (int):  Integer to specify the size of an
79475                         EBS volume.
79476
79477                       · Iops (int): Specifies the IOPD for a Provisioned IOPS
79478                         EBS volume (SSD).
79479
79480
79481                     · access_policies  (str  or  dict) -- Dict or JSON string
79482                       with the IAM access policy.
79483
79484                     · snapshot_options (dict) --
79485
79486                       Dict specifying the snapshot options.  Keys (case  sen‐
79487                       sitive) in here are:
79488
79489                       · AutomatedSnapshotStartHour (int): Specifies the time,
79490                         in UTC format, when the service takes a  daily  auto‐
79491                         mated snapshot of the specified Elasticsearch domain.
79492                         Default value is 0 hours.
79493
79494
79495                     · vpc_options (dict) --
79496
79497                       Dict with the options to specify the subnets and  secu‐
79498                       rity  groups  for  the VPC endpoint.  Keys (case sensi‐
79499                       tive) in here are:
79500
79501                       · SubnetIds (list): The list of  subnets  for  the  VPC
79502                         endpoint.
79503
79504                       · SecurityGroupIds  (list): The list of security groups
79505                         for the VPC endpoint.
79506
79507
79508                     · cognito_options (dict) --
79509
79510                       Dict with options to specify the cognito user and iden‐
79511                       tity  pools for Kibana authentication.  Keys (case sen‐
79512                       sitive) in here are:
79513
79514                       · Enabled (bool): Specifies the option to  enable  Cog‐
79515                         nito for Kibana authentication.
79516
79517                       · UserPoolId  (str): Specifies the Cognito user pool ID
79518                         for Kibana authentication.
79519
79520                       · IdentityPoolId (str): Specifies the Cognito  identity
79521                         pool ID for Kibana authentication.
79522
79523                       · RoleArn  (str):  Specifies the role ARN that provides
79524                         Elasticsearch  permissions  for   accessing   Cognito
79525                         resources.
79526
79527
79528                     · encryption_at_rest_options (dict) --
79529
79530                       Dict  specifying  the  encryption at rest options. Keys
79531                       (case sensitive) in here are:
79532
79533                       · Enabled  (bool):  Specifies  the  option  to   enable
79534                         Encryption At Rest.
79535
79536                       · KmsKeyId  (str): Specifies the KMS Key ID for Encryp‐
79537                         tion At Rest options.
79538
79539
79540                     · node_to_node_encryption_options (dict) --
79541
79542                       Dict specifying the node to  node  encryption  options.
79543                       Keys (case sensitive) in here are:
79544
79545                       · Enabled  (bool):  Specify True to enable node-to-node
79546                         encryption.
79547
79548
79549                     · advanced_options (dict) -- Dict with  option  to  allow
79550                       references  to indices in an HTTP request body. Must be
79551                       False   when   configuring   access    to    individual
79552                       sub-resources.  By  default,  the  value  is True.  See
79553                       http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide
79554                       /es-createupdatedomains.html#es-createdomain-config‐
79555                       ure-advanced-options for more information.
79556
79557                     · log_publishing_options (dict) --
79558
79559                       Dict with options for various type of logs.   The  keys
79560                       denote  the type of log file and can be one of the fol‐
79561                       lowing:
79562
79563                       · INDEX_SLOW_LOGS
79564
79565                       · SEARCH_SLOW_LOGS
79566
79567                       · ES_APPLICATION_LOGS
79568
79569                       The value assigned to each key is a dict with the  fol‐
79570                       lowing case sensitive keys:
79571
79572                       · CloudWatchLogsLogGroupArn   (str):  The  ARN  of  the
79573                         Cloudwatch log group to which the  log  needs  to  be
79574                         published.
79575
79576                       · Enabled  (bool): Specifies whether given log publish‐
79577                         ing option is enabled or not.
79578
79579
79580                     · blocking (bool) -- Whether or not to wait (block) until
79581                       the Elasticsearch domain has been created.
79582
79583              Note:  Not all instance types allow enabling encryption at rest.
79584              See    https://docs.aws.amazon.com           /elasticsearch-ser‐
79585              vice/latest/developerguide/aes-supported-instance-types.html
79586
79587              Return type
79588                     dict
79589
79590              Returns
79591                     Dictionary  with  key  'result'  and  as  value a boolean
79592                     denoting success or failure.  Upon success, also contains
79593                     a  key  'reponse'  with  the domain status configuration.
79594                     Upon failure, also contains a key 'error' with the  error
79595                     message as value.
79596
79597              New in version Natrium.
79598
79599
79600              CLI Example:
79601
79602                 salt myminion boto3_elasticsearch.create_elasticsearch_domain mydomain \
79603                 elasticsearch_cluster_config='{ \
79604                   "InstanceType": "t2.micro.elasticsearch", \
79605                   "InstanceCount": 1, \
79606                   "DedicatedMasterEnabled": False, \
79607                   "ZoneAwarenessEnabled": False}' \
79608                 ebs_options='{ \
79609                   "EBSEnabled": True, \
79610                   "VolumeType": "gp2", \
79611                   "VolumeSize": 10, \
79612                   "Iops": 0}' \
79613                 access_policies='{ \
79614                   "Version": "2012-10-17", \
79615                   "Statement": [ \
79616                     {"Effect": "Allow", \
79617                      "Principal": {"AWS": "*"}, \
79618                      "Action": "es:*", \
79619                      "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \
79620                      "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]}' \
79621                 snapshot_options='{"AutomatedSnapshotStartHour": 0}' \
79622                 advanced_options='{"rest.action.multi.allow_explicit_index": "true"}'
79623
79624       salt.modules.boto3_elasticsearch.delete_elastic‐
79625       search_domain(domain_name,   blocking=False,   region=None,   key=None,
79626       keyid=None, profile=None)
79627              Permanently  deletes  the specified Elasticsearch domain and all
79628              of its data.  Once a domain is deleted, it cannot be recovered.
79629
79630              Parameters
79631
79632                     · domain_name (str) -- The name of the domain to delete.
79633
79634                     · blocking (bool) -- Whether or not to wait (block) until
79635                       the Elasticsearch domain has been deleted.
79636
79637              Return type
79638                     dict
79639
79640              Returns
79641                     Dictionary  with  key  'result'  and  as  value a boolean
79642                     denoting success or failure.  Upon failure, also contains
79643                     a key 'error' with the error message as value.
79644
79645              New in version Natrium.
79646
79647
79648       salt.modules.boto3_elasticsearch.delete_elasticsearch_ser‐
79649       vice_role(region=None, keyid=None, key=None, profile=None)
79650              Deletes the service-linked role that Elasticsearch Service  uses
79651              to  manage  and maintain VPC domains. Role deletion will fail if
79652              any existing VPC domains use the role. You must delete any  such
79653              Elasticsearch domains before deleting the role.
79654
79655              Return type
79656                     dict
79657
79658              Returns
79659                     Dictionary  with  key  'result'  and  as  value a boolean
79660                     denoting success or failure.  Upon failure, also contains
79661                     a key 'error' with the error message as value.
79662
79663              New in version Natrium.
79664
79665
79666       salt.modules.boto3_elasticsearch.describe_elastic‐
79667       search_domain(domain_name,  region=None,  keyid=None,  key=None,   pro‐
79668       file=None)
79669              Given a domain name gets its status description.
79670
79671              Parameters
79672                     domain_name  (str)  --  The name of the domain to get the
79673                     status of.
79674
79675              Return type
79676                     dict
79677
79678              Returns
79679                     Dictionary ith key 'result' and as value a boolean denot‐
79680                     ing  success  or  failure.  Upon success, also contains a
79681                     key 'reponse' with the domain status  information.   Upon
79682                     failure,  also contains a key 'error' with the error mes‐
79683                     sage as value.
79684
79685              New in version Natrium.
79686
79687
79688       salt.modules.boto3_elasticsearch.describe_elasticsearch_domain_con‐
79689       fig(domain_name, region=None, keyid=None, key=None, profile=None)
79690              Provides  cluster  configuration information about the specified
79691              Elasticsearch domain, such as the state, creation  date,  update
79692              version, and update date for cluster options.
79693
79694              Parameters
79695                     domain_name (str) -- The name of the domain to describe.
79696
79697              Return type
79698                     dict
79699
79700              Returns
79701                     Dictionary  with  key  'result'  and  as  value a boolean
79702                     denoting success or failure.  Upon success, also contains
79703                     a  key  'reponse' with the current configuration informa‐
79704                     tion.  Upon failure, also contains a key 'error' with the
79705                     error message as value.
79706
79707              New in version Natrium.
79708
79709
79710       salt.modules.boto3_elasticsearch.describe_elastic‐
79711       search_domains(domain_names, region=None,  keyid=None,  key=None,  pro‐
79712       file=None)
79713              Returns  domain  configuration  information  about the specified
79714              Elasticsearch domains, including the domain ID, domain endpoint,
79715              and domain ARN.
79716
79717              Parameters
79718                     domain_names (list) -- List of domain names to get infor‐
79719                     mation for.
79720
79721              Return type
79722                     dict
79723
79724              Returns
79725                     Dictionary with key  'result'  and  as  value  a  boolean
79726                     denoting success or failure.  Upon success, also contains
79727                     a key 'reponse' with the list of domain  status  informa‐
79728                     tion.  Upon failure, also contains a key 'error' with the
79729                     error message as value.
79730
79731              New in version Natrium.
79732
79733
79734              CLI Example:
79735
79736                 salt myminion boto3_elasticsearch.describe_elasticsearch_domains '["domain_a", "domain_b"]'
79737
79738       salt.modules.boto3_elasticsearch.describe_elastic‐
79739       search_instance_type_limits(instance_type,       elasticsearch_version,
79740       domain_name=None, region=None, keyid=None, key=None, profile=None)
79741              Describe Elasticsearch Limits for a given InstanceType and Elas‐
79742              ticsearchVersion.   When  modifying existing Domain, specify the
79743              `` DomainName `` to know what Limits are supported  for  modify‐
79744              ing.
79745
79746              Parameters
79747
79748                     · instance_type  (str)  -- The instance type for an Elas‐
79749                       ticsearch cluster for which  Elasticsearch  Limits  are
79750                       needed.
79751
79752                     · elasticsearch_version (str) -- Version of Elasticsearch
79753                       for which Limits are needed.
79754
79755                     · domain_name (str) -- Represents the name of the  Domain
79756                       that  we  are  trying to modify. This should be present
79757                       only if we are querying for  Elasticsearch  Limits  for
79758                       existing domain.
79759
79760              Return type
79761                     dict
79762
79763              Returns
79764                     Dictionary  with  key  'result'  and  as  value a boolean
79765                     denoting success or failure.  Upon success, also contains
79766                     a  key 'reponse' with the limits information.  Upon fail‐
79767                     ure, also contains a key 'error' with the  error  message
79768                     as value.
79769
79770              New in version Natrium.
79771
79772
79773              CLI Example:
79774
79775                 salt myminion boto3_elasticsearch.describe_elasticsearch_instance_type_limits \
79776                   instance_type=r3.8xlarge.elasticsearch \
79777                   elasticsearch_version='6.2'
79778
79779       salt.modules.boto3_elasticsearch.describe_reserved_elastic‐
79780       search_instance_offerings(reserved_elasticsearch_instance_offer‐
79781       ing_id=None, region=None, keyid=None, key=None, profile=None)
79782              Lists available reserved Elasticsearch instance offerings.
79783
79784              Parameters
79785                     reserved_elasticsearch_instance_offering_id  (str) -- The
79786                     offering identifier filter value. Use this  parameter  to
79787                     show  only the available offering that matches the speci‐
79788                     fied reservation identifier.
79789
79790              Return type
79791                     dict
79792
79793              Returns
79794                     Dictionary with key  'result'  and  as  value  a  boolean
79795                     denoting success or failure.  Upon success, also contains
79796                     a key 'reponse' with the list of  offerings  information.
79797                     Upon  failure, also contains a key 'error' with the error
79798                     message as value.
79799
79800              New in version Natrium.
79801
79802
79803       salt.modules.boto3_elasticsearch.describe_reserved_elastic‐
79804       search_instances(reserved_elasticsearch_instance_id=None,  region=None,
79805       keyid=None, key=None, profile=None)
79806              Returns information about reserved Elasticsearch  instances  for
79807              this account.
79808
79809              Parameters
79810                     reserved_elasticsearch_instance_id  (str) -- The reserved
79811                     instance identifier filter value. Use this  parameter  to
79812                     show  only  the  reservation  that  matches the specified
79813                     reserved Elasticsearch instance ID.
79814
79815              Return type
79816                     dict
79817
79818              Returns
79819                     Dictionary with key  'result'  and  as  value  a  boolean
79820                     denoting success or failure.  Upon success, also contains
79821                     a key 'reponse' with a list of  information  on  reserved
79822                     instances.   Upon  failure,  also  contains a key 'error'
79823                     with the error message as value.
79824
79825              Note   Version 1.9.174 of boto3 has a bug in that reserved_elas‐
79826                     ticsearch_instance_id  is considered a required argument,
79827                     even though the documentation says otherwise.
79828
79829              New in version Natrium.
79830
79831
79832       salt.modules.boto3_elasticsearch.exists(domain_name,       region=None,
79833       key=None, keyid=None, profile=None)
79834              Given a domain name, check to see if the given domain exists.
79835
79836              Parameters
79837                     domain_name (str) -- The name of the domain to check.
79838
79839              Return type
79840                     dict
79841
79842              Returns
79843                     Dictionary  with  key  'result'  and  as  value a boolean
79844                     denoting success or failure.  Upon failure, also contains
79845                     a key 'error' with the error message as value.
79846
79847              New in version Natrium.
79848
79849
79850       salt.modules.boto3_elasticsearch.get_compatible_elasticsearch_ver‐
79851       sions(domain_name=None,   region=None,   keyid=None,   key=None,   pro‐
79852       file=None)
79853              Returns  a list of upgrade compatible Elastisearch versions. You
79854              can optionally pass a domain_name to get all upgrade  compatible
79855              Elasticsearch versions for that specific domain.
79856
79857              Parameters
79858                     domain_name (str) -- The name of an Elasticsearch domain.
79859
79860              Return type
79861                     dict
79862
79863              Returns
79864                     Dictionary  with  key  'result'  and  as  value a boolean
79865                     denoting success or failure.  Upon success, also contains
79866                     a key 'reponse' with a list of compatible versions.  Upon
79867                     failure, also contains a key 'error' with the error  mes‐
79868                     sage as value.
79869
79870              New in version Natrium.
79871
79872
79873       salt.modules.boto3_elasticsearch.get_upgrade_history(domain_name,
79874       region=None, keyid=None, key=None, profile=None)
79875              Retrieves the complete history of the last 10 upgrades that were
79876              performed on the domain.
79877
79878              Parameters
79879                     domain_name (str) -- The name of an Elasticsearch domain.
79880                     Domain names are unique across the domains  owned  by  an
79881                     account  within  an AWS region. Domain names start with a
79882                     letter or number and can contain  the  following  charac‐
79883                     ters: a-z (lowercase), 0-9, and - (hyphen).
79884
79885              Return type
79886                     dict
79887
79888              Returns
79889                     Dictionary  with  key  'result'  and  as  value a boolean
79890                     denoting success or failure.  Upon success, also contains
79891                     a  key  'reponse' with a list of upgrade histories.  Upon
79892                     failure, also contains a key 'error' with the error  mes‐
79893                     sage as value.
79894
79895              New in version Natrium.
79896
79897
79898       salt.modules.boto3_elasticsearch.get_upgrade_status(domain_name,
79899       region=None, keyid=None, key=None, profile=None)
79900              Retrieves the latest status of the last upgrade or upgrade  eli‐
79901              gibility check that was performed on the domain.
79902
79903              Parameters
79904                     domain_name (str) -- The name of an Elasticsearch domain.
79905                     Domain names are unique across the domains  owned  by  an
79906                     account  within  an AWS region. Domain names start with a
79907                     letter or number and can contain  the  following  charac‐
79908                     ters: a-z (lowercase), 0-9, and - (hyphen).
79909
79910              Return type
79911                     dict
79912
79913              Returns
79914                     Dictionary  with  key  'result'  and  as  value a boolean
79915                     denoting success or failure.  Upon success, also contains
79916                     a  key  'reponse'  with upgrade status information.  Upon
79917                     failure, also contains a key 'error' with the error  mes‐
79918                     sage as value.
79919
79920              New in version Natrium.
79921
79922
79923       salt.modules.boto3_elasticsearch.list_domain_names(region=None,
79924       keyid=None, key=None, profile=None)
79925              Returns the name of all Elasticsearch domains owned by the  cur‐
79926              rent user's account.
79927
79928              Return type
79929                     dict
79930
79931              Returns
79932                     Dictionary  with  key  'result'  and  as  value a boolean
79933                     denoting success or failure.  Upon success, also contains
79934                     a  key 'reponse' with a list of domain names.  Upon fail‐
79935                     ure, also contains a key 'error' with the  error  message
79936                     as value.
79937
79938              New in version Natrium.
79939
79940
79941       salt.modules.boto3_elasticsearch.list_elastic‐
79942       search_instance_types(elasticsearch_version,          domain_name=None,
79943       region=None, keyid=None, key=None, profile=None)
79944              List  all  Elasticsearch  instance  types that are supported for
79945              given ElasticsearchVersion.
79946
79947              Parameters
79948
79949                     · elasticsearch_version (str) -- Version of Elasticsearch
79950                       for  which  list  of  supported  elasticsearch instance
79951                       types are needed.
79952
79953                     · domain_name (str) -- DomainName represents the name  of
79954                       the Domain that we are trying to modify. This should be
79955                       present only if we are querying for list  of  available
79956                       Elasticsearch  instance  types  when modifying existing
79957                       domain.
79958
79959              Return type
79960                     dict
79961
79962              Returns
79963                     Dictionary with key  'result'  and  as  value  a  boolean
79964                     denoting success or failure.  Upon success, also contains
79965                     a key 'reponse' with a  list  of  Elasticsearch  instance
79966                     types.   Upon  failure,  also contains a key 'error' with
79967                     the error message as value.
79968
79969              New in version Natrium.
79970
79971
79972       salt.modules.boto3_elasticsearch.list_elasticsearch_ver‐
79973       sions(region=None, keyid=None, key=None, profile=None)
79974              List all supported Elasticsearch versions.
79975
79976              Return type
79977                     dict
79978
79979              Returns
79980                     Dictionary  with  key  'result'  and  as  value a boolean
79981                     denoting success or failure.  Upon success, also contains
79982                     a  key  'reponse'  with a list of Elasticsearch versions.
79983                     Upon failure, also contains a key 'error' with the  error
79984                     message as value.
79985
79986              New in version Natrium.
79987
79988
79989       salt.modules.boto3_elasticsearch.list_tags(domain_name=None,  arn=None,
79990       region=None, key=None, keyid=None, profile=None)
79991              Returns all tags for the given Elasticsearch domain.
79992
79993              Return type
79994                     dict
79995
79996              Returns
79997                     Dictionary with key  'result'  and  as  value  a  boolean
79998                     denoting success or failure.  Upon success, also contains
79999                     a key 'reponse' with a dict of tags.  Upon failure,  also
80000                     contains a key 'error' with the error message as value.
80001
80002              New in version Natrium.
80003
80004
80005       salt.modules.boto3_elasticsearch.purchase_reserved_elastic‐
80006       search_instance_offering(reserved_elasticsearch_instance_offering_id,
80007       reservation_name,    instance_count=None,    region=None,   keyid=None,
80008       key=None, profile=None)
80009              Allows you to purchase reserved Elasticsearch instances.
80010
80011              Parameters
80012
80013                     · reserved_elasticsearch_instance_offering_id  (str)   --
80014                       The  ID of the reserved Elasticsearch instance offering
80015                       to purchase.
80016
80017                     · reservation_name (str) -- A customer-specified  identi‐
80018                       fier to track this reservation.
80019
80020                     · instance_count  (int)  --  The  number of Elasticsearch
80021                       instances to reserve.
80022
80023              Return type
80024                     dict
80025
80026              Returns
80027                     Dictionary with key  'result'  and  as  value  a  boolean
80028                     denoting success or failure.  Upon success, also contains
80029                     a key 'reponse' with purchase information.  Upon failure,
80030                     also  contains  a  key  'error' with the error message as
80031                     value.
80032
80033              New in version Natrium.
80034
80035
80036       salt.modules.boto3_elasticsearch.remove_tags(tag_keys,
80037       domain_name=None,  arn=None,  region=None,  key=None,  keyid=None, pro‐
80038       file=None)
80039              Removes the specified set of tags from  the  specified  Elastic‐
80040              search domain.
80041
80042              Parameters
80043
80044                     · tag_keys  (list)  --  List  with  tag  keys you want to
80045                       remove from the Elasticsearch domain.
80046
80047                     · domain_name (str) --  The  name  of  the  Elasticsearch
80048                       domain you want to remove tags from.
80049
80050                     · arn  (str)  --  The ARN of the Elasticsearch domain you
80051                       want to remove tags from.   Specifying  this  overrides
80052                       domain_name.
80053
80054              Return type
80055                     dict
80056
80057              Returns
80058                     Dictionary  with  key  'result'  and  as  value a boolean
80059                     denoting success or failure.  Upon failure, also contains
80060                     a key 'error' with the error message as value.
80061
80062              New in version Natrium.
80063
80064
80065              CLI Example:
80066
80067                 salt myminion boto3_elasticsearch.remove_tags '["foo", "bar"]' domain_name=my_domain
80068
80069       salt.modules.boto3_elasticsearch.start_elasticsearch_service_soft‐
80070       ware_update(domain_name,  region=None,   keyid=None,   key=None,   pro‐
80071       file=None)
80072              Schedules a service software update for an Amazon ES domain.
80073
80074              Parameters
80075                     domain_name (str) -- The name of the domain that you want
80076                     to update to the latest service software.
80077
80078              Return type
80079                     dict
80080
80081              Returns
80082                     Dictionary with key  'result'  and  as  value  a  boolean
80083                     denoting success or failure.  Upon success, also contains
80084                     a key 'reponse' with service software information.   Upon
80085                     failure,  also contains a key 'error' with the error mes‐
80086                     sage as value.
80087
80088              New in version Natrium.
80089
80090
80091       salt.modules.boto3_elasticsearch.update_elasticsearch_domain_con‐
80092       fig(domain_name,  elasticsearch_cluster_config=None,  ebs_options=None,
80093       vpc_options=None,  access_policies=None,  snapshot_options=None,   cog‐
80094       nito_options=None,  advanced_options=None, log_publishing_options=None,
80095       blocking=False, region=None, key=None, keyid=None, profile=None)
80096              Modifies the cluster configuration  of  the  specified  Elastic‐
80097              search  domain,  for  example  setting the instance type and the
80098              number of instances.
80099
80100              Parameters
80101
80102                     · domain_name (str) --  The  name  of  the  Elasticsearch
80103                       domain  that you are creating.  Domain names are unique
80104                       across the domains owned by an account  within  an  AWS
80105                       region. Domain names must start with a letter or number
80106                       and can contain the following characters:  a-z  (lower‐
80107                       case), 0-9, and - (hyphen).
80108
80109                     · elasticsearch_cluster_config (dict) --
80110
80111                       Dictionary  specifying the configuration options for an
80112                       Elasticsearch domain. Keys  (case  sensitive)  in  here
80113                       are:
80114
80115                       · InstanceType (str): The instance type for an Elastic‐
80116                         search cluster.
80117
80118                       · InstanceCount (int): The instance type for  an  Elas‐
80119                         ticsearch cluster.
80120
80121                       · DedicatedMasterEnabled  (bool):  Indicate  whether  a
80122                         dedicated master node is enabled.
80123
80124                       · ZoneAwarenessEnabled (bool):  Indicate  whether  zone
80125                         awareness is enabled.
80126
80127                       · ZoneAwarenessConfig (dict): Specifies the zone aware‐
80128                         ness configuration for a domain when  zone  awareness
80129                         is enabled.  Keys (case sensitive) in here are:
80130
80131                         · AvailabilityZoneCount  (int):  An  integer value to
80132                           indicate the number of  availability  zones  for  a
80133                           domain  when zone awareness is enabled. This should
80134                           be equal to number of subnets if VPC  endpoints  is
80135                           enabled.
80136
80137                       · DedicatedMasterType  (str):  The  instance type for a
80138                         dedicated master node.
80139
80140                       · DedicatedMasterCount (int): Total number of dedicated
80141                         master nodes, active and on standby, for the cluster.
80142
80143
80144                     · ebs_options (dict) --
80145
80146                       Dict  specifying  the  options to enable or disable and
80147                       specifying the type and size of  EBS  storage  volumes.
80148                       Keys (case sensitive) in here are:
80149
80150                       · EBSEnabled  (bool): Specifies whether EBS-based stor‐
80151                         age is enabled.
80152
80153                       · VolumeType  (str):  Specifies  the  volume  type  for
80154                         EBS-based storage.
80155
80156                       · VolumeSize  (int):  Integer to specify the size of an
80157                         EBS volume.
80158
80159                       · Iops (int): Specifies the IOPD for a Provisioned IOPS
80160                         EBS volume (SSD).
80161
80162
80163                     · snapshot_options (dict) --
80164
80165                       Dict  specifying the snapshot options.  Keys (case sen‐
80166                       sitive) in here are:
80167
80168                       · AutomatedSnapshotStartHour (int): Specifies the time,
80169                         in  UTC  format, when the service takes a daily auto‐
80170                         mated snapshot of the specified Elasticsearch domain.
80171                         Default value is 0 hours.
80172
80173
80174                     · vpc_options (dict) --
80175
80176                       Dict  with the options to specify the subnets and secu‐
80177                       rity groups for the VPC endpoint.   Keys  (case  sensi‐
80178                       tive) in here are:
80179
80180                       · SubnetIds  (list):  The  list  of subnets for the VPC
80181                         endpoint.
80182
80183                       · SecurityGroupIds (list): The list of security  groups
80184                         for the VPC endpoint.
80185
80186
80187                     · cognito_options (dict) --
80188
80189                       Dict with options to specify the cognito user and iden‐
80190                       tity pools for Kibana authentication.  Keys (case  sen‐
80191                       sitive) in here are:
80192
80193                       · Enabled  (bool):  Specifies the option to enable Cog‐
80194                         nito for Kibana authentication.
80195
80196                       · UserPoolId (str): Specifies the Cognito user pool  ID
80197                         for Kibana authentication.
80198
80199                       · IdentityPoolId  (str): Specifies the Cognito identity
80200                         pool ID for Kibana authentication.
80201
80202                       · RoleArn (str): Specifies the role ARN  that  provides
80203                         Elasticsearch   permissions   for  accessing  Cognito
80204                         resources.
80205
80206
80207                     · advanced_options (dict) -- Dict with  option  to  allow
80208                       references  to indices in an HTTP request body. Must be
80209                       False   when   configuring   access    to    individual
80210                       sub-resources.  By  default,  the  value  is True.  See
80211                       http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide
80212                       /es-createupdatedomains.html#es-createdomain-config‐
80213                       ure-advanced-options for more information.
80214
80215                     · access_policies (str/dict) -- Dict or JSON string  with
80216                       the IAM access policy.
80217
80218                     · log_publishing_options (dict) --
80219
80220                       Dict  with  options for various type of logs.  The keys
80221                       denote the type of log file and can be one of the  fol‐
80222                       lowing:
80223                          INDEX_SLOW_LOGS,    SEARCH_SLOW_LOGS,    ES_APPLICA‐
80224                          TION_LOGS.
80225
80226                       The value assigned to each key is a dict with the  fol‐
80227                       lowing case sensitive keys:
80228
80229                       · CloudWatchLogsLogGroupArn   (str):  The  ARN  of  the
80230                         Cloudwatch log group to which the  log  needs  to  be
80231                         published.
80232
80233                       · Enabled  (bool): Specifies whether given log publish‐
80234                         ing option is enabled or not.
80235
80236
80237                     · blocking (bool) -- Whether or not to wait (block) until
80238                       the Elasticsearch domain has been updated.
80239
80240              Return type
80241                     dict
80242
80243              Returns
80244                     Dictionary  with  key  'result'  and  as  value a boolean
80245                     denoting success or failure.  Upon success, also contains
80246                     a  key  'reponse'  with  the  domain configuration.  Upon
80247                     failure, also contains a key 'error' with the error  mes‐
80248                     sage as value.
80249
80250              New in version Natrium.
80251
80252
80253              CLI Example:
80254
80255                 salt myminion boto3_elasticsearch.update_elasticsearch_domain_config mydomain \
80256                   elasticsearch_cluster_config='{\
80257                     "InstanceType": "t2.micro.elasticsearch", \
80258                     "InstanceCount": 1, \
80259                     "DedicatedMasterEnabled": false,
80260                     "ZoneAwarenessEnabled": false}' \
80261                   ebs_options='{\
80262                     "EBSEnabled": true, \
80263                     "VolumeType": "gp2", \
80264                     "VolumeSize": 10, \
80265                     "Iops": 0}' \
80266                   access_policies='{"Version": "2012-10-17", "Statement": [{\
80267                     "Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \
80268                     "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \
80269                     "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]}' \
80270                   snapshot_options='{"AutomatedSnapshotStartHour": 0}' \
80271                   advanced_options='{"rest.action.multi.allow_explicit_index": "true"}'
80272
80273       salt.modules.boto3_elasticsearch.upgrade_elastic‐
80274       search_domain(domain_name,   target_version,   perform_check_only=None,
80275       blocking=False, region=None, keyid=None, key=None, profile=None)
80276              Allows  you  to either upgrade your domain or perform an Upgrade
80277              eligibility check to a compatible Elasticsearch version.
80278
80279              Parameters
80280
80281                     · domain_name (str)  --  The  name  of  an  Elasticsearch
80282                       domain.  Domain  names  are  unique  across the domains
80283                       owned by an account within an AWS region. Domain  names
80284                       start  with a letter or number and can contain the fol‐
80285                       lowing  characters:  a-z  (lowercase),   0-9,   and   -
80286                       (hyphen).
80287
80288                     · target_version  (str)  --  The version of Elasticsearch
80289                       that you intend to upgrade the domain to.
80290
80291                     · perform_check_only (bool) -- This  flag,  when  set  to
80292                       True, indicates that an Upgrade Eligibility Check needs
80293                       to be performed. This will  not  actually  perform  the
80294                       Upgrade.
80295
80296                     · blocking (bool) -- Whether or not to wait (block) until
80297                       the Elasticsearch domain has been upgraded.
80298
80299              Return type
80300                     dict
80301
80302              Returns
80303                     Dictionary with key  'result'  and  as  value  a  boolean
80304                     denoting success or failure.  Upon success, also contains
80305                     a key 'reponse'  with  the  domain  configuration.   Upon
80306                     failure,  also contains a key 'error' with the error mes‐
80307                     sage as value.
80308
80309              New in version Natrium.
80310
80311
80312              CLI Example:
80313
80314                 salt myminion boto3_elasticsearch.upgrade_elasticsearch_domain mydomain \
80315                 target_version='6.7' \
80316                 perform_check_only=True
80317
80318       salt.modules.boto3_elasticsearch.wait_for_upgrade(domain_name,
80319       region=None, keyid=None, key=None, profile=None)
80320              Block until an upgrade-in-progress for domain name is finished.
80321
80322              Parameters
80323                     name (str) -- The name of the domain to wait for.
80324
80325              Rtype dict
80326
80327              Returns
80328                     Dictionary  with  key  'result'  and  as  value a boolean
80329                     denoting success or failure.  Upon failure, also contains
80330                     a key 'error' with the error message as value.
80331
80332              New in version Natrium.
80333
80334
80335   salt.modules.boto3_route53 module
80336       Execution module for Amazon Route53 written against Boto 3
80337
80338       New in version 2017.7.0.
80339
80340
80341       configuration
80342              This  module  accepts  explicit route53 credentials but can also
80343              utilize IAM roles assigned to the instance through Instance Pro‐
80344              files.  Dynamic credentials are then automatically obtained from
80345              AWS API and no further configuration is necessary. More Informa‐
80346              tion available at:
80347
80348                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
80349
80350              If  IAM  roles are not used you need to specify them either in a
80351              pillar or in the minion's config file:
80352
80353                 route53.keyid: GKTADJGHEIQSXMKKRBJ08H
80354                 route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80355
80356              A region may also be specified in the configuration:
80357
80358                 route53.region: us-east-1
80359
80360              It's also possible to specify key, keyid and region via  a  pro‐
80361              file,  either  as  a passed in dict, or as a string to pull from
80362              pillars or minion config:
80363
80364                 myprofile:
80365                   keyid: GKTADJGHEIQSXMKKRBJ08H
80366                   key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80367                   region: us-east-1
80368
80369              Note that Route53 essentially ignores all (valid)  settings  for
80370              'region',  since there is only one Endpoint (in us-east-1 if you
80371              care) and any (valid) region setting will just send  you  there.
80372              It is entirely safe to set it to None as well.
80373
80374       depends
80375              boto3
80376
80377       salt.modules.boto3_route53.associate_vpc_with_hosted_zone(Hosted‐
80378       ZoneId=None, Name=None, VPCId=None, VPCName=None, VPCRegion=None,  Com‐
80379       ment=None, region=None, key=None, keyid=None, profile=None)
80380              Associates an Amazon VPC with a private hosted zone.
80381
80382              To  perform the association, the VPC and the private hosted zone
80383              must already exist. You can't convert a public hosted zone  into
80384              a  private hosted zone.  If you want to associate a VPC from one
80385              AWS account with a zone from a another, the AWS  account  owning
80386              the  hosted  zone must first submit a CreateVPCAssociationAutho‐
80387              rization  (using  create_vpc_association_authorization()  or  by
80388              other  means,  such  as  the  AWS console).  With that done, the
80389              account    owning    the    VPC    can    then    call     asso‐
80390              ciate_vpc_with_hosted_zone() to create the association.
80391
80392              Note  that  if  both sides happen to be within the same account,
80393              associate_vpc_with_hosted_zone() is enough on its own, and there
80394              is no need for the CreateVPCAssociationAuthorization step.
80395
80396              Also  note  that looking up hosted zones by name (e.g. using the
80397              Name parameter) only works within a single account -  if  you're
80398              associating  a VPC to a zone in a different account, as outlined
80399              above, you unfortunately MUST  use  the  HostedZoneId  parameter
80400              exclusively.
80401
80402              HostedZoneId
80403                     The unique Zone Identifier for the Hosted Zone.
80404
80405              Name   The domain name associated with the Hosted Zone(s).
80406
80407              VPCId  When  working  with a private hosted zone, either the VPC
80408                     ID or VPC Name to associate with is required.   Exclusive
80409                     with VPCName.
80410
80411              VPCName
80412                     When  working  with a private hosted zone, either the VPC
80413                     ID or VPC Name to associate with is required.   Exclusive
80414                     with VPCId.
80415
80416              VPCRegion
80417                     When  working  with  a private hosted zone, the region of
80418                     the associated VPC is  required.   If  not  provided,  an
80419                     effort  will  be  made to determine it from VPCId or VPC‐
80420                     Name, if possible.  If this fails, you'll need to provide
80421                     an explicit value for VPCRegion.
80422
80423              Comment
80424                     Any  comments  you want to include about the change being
80425                     made.
80426
80427              CLI Example:
80428
80429                 salt myminion boto3_route53.associate_vpc_with_hosted_zone                     Name=example.org. VPCName=myVPC                     VPCRegion=us-east-1 Comment="Whoo-hoo!  I added another VPC."
80430
80431       salt.modules.boto3_route53.aws_encode(x)
80432              An implementation of  the  encoding  required  to  suport  AWS's
80433              domain name rules defined here:
80434
80435              While  AWS's documentation specifies individual ASCII characters
80436              which need to be encoded, we  instead  just  try  to  force  the
80437              string  to  one  of escaped unicode or idna depending on whether
80438              there are non-ASCII characters present.
80439
80440              This means that we support  things  like  ドメイン.テスト  as  a
80441              domain name string.
80442
80443              More information about IDNA encoding in python is found here:
80444
80445       salt.modules.boto3_route53.change_resource_record_sets(Hosted‐
80446       ZoneId=None,     Name=None,     PrivateZone=None,     ChangeBatch=None,
80447       region=None, key=None, keyid=None, profile=None)
80448              See  the AWS Route53 API docs as well as the Boto3 documentation
80449              for all the details...
80450
80451              The syntax for a ChangeBatch parameter is as follows,  but  note
80452              that  the  permutations  of  allowed parameters and combinations
80453              thereof are quite varied, so perusal of the above linked docs is
80454              highly recommended for any non-trival configurations.
80455
80456                 {
80457                     "Comment": "string",
80458                     "Changes": [
80459                         {
80460                             "Action": "CREATE"|"DELETE"|"UPSERT",
80461                             "ResourceRecordSet": {
80462                                 "Name": "string",
80463                                 "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"NAPTR"|"PTR"|"SRV"|"SPF"|"AAAA",
80464                                 "SetIdentifier": "string",
80465                                 "Weight": 123,
80466                                 "Region": "us-east-1"|"us-east-2"|"us-west-1"|"us-west-2"|"ca-central-1"|"eu-west-1"|"eu-west-2"|"eu-central-1"|"ap-southeast-1"|"ap-southeast-2"|"ap-northeast-1"|"ap-northeast-2"|"sa-east-1"|"cn-north-1"|"ap-south-1",
80467                                 "GeoLocation": {
80468                                     "ContinentCode": "string",
80469                                     "CountryCode": "string",
80470                                     "SubdivisionCode": "string"
80471                                 },
80472                                 "Failover": "PRIMARY"|"SECONDARY",
80473                                 "TTL": 123,
80474                                 "ResourceRecords": [
80475                                     {
80476                                         "Value": "string"
80477                                     },
80478                                 ],
80479                                 "AliasTarget": {
80480                                     "HostedZoneId": "string",
80481                                     "DNSName": "string",
80482                                     "EvaluateTargetHealth": True|False
80483                                 },
80484                                 "HealthCheckId": "string",
80485                                 "TrafficPolicyInstanceId": "string"
80486                             }
80487                         },
80488                     ]
80489                 }
80490
80491              CLI Example:
80492
80493                 foo='{
80494                        "Name": "my-cname.example.org.",
80495                        "TTL": 600,
80496                        "Type": "CNAME",
80497                        "ResourceRecords": [
80498                          {
80499                            "Value": "my-host.example.org"
80500                          }
80501                        ]
80502                      }'
80503                 foo=`echo $foo`  # Remove newlines
80504                 salt myminion boto3_route53.change_resource_record_sets DomainName=example.org.                 keyid=A1234567890ABCDEF123 key=xblahblahblah                 ChangeBatch="{'Changes': [{'Action': 'UPSERT', 'ResourceRecordSet': $foo}]}"
80505
80506       salt.modules.boto3_route53.create_hosted_zone(Name,   VPCId=None,  VPC‐
80507       Name=None, VPCRegion=None, CallerReference=None, Comment=u'',  Private‐
80508       Zone=False,  DelegationSetId=None,  region=None,  key=None, keyid=None,
80509       profile=None)
80510              Create a new Route53 Hosted Zone. Returns a Python  data  struc‐
80511              ture with information about the newly created Hosted Zone.
80512
80513              Name   The  name of the domain. This should be a fully-specified
80514                     domain, and should terminate with a period. This  is  the
80515                     name  you  have registered with your DNS registrar. It is
80516                     also the name you will delegate from  your  registrar  to
80517                     the  Amazon  Route  53  delegation  servers  returned  in
80518                     response to this request.
80519
80520              VPCId  When creating a private hosted zone, either the VPC ID or
80521                     VPC  Name  to associate with is required.  Exclusive with
80522                     VPCName.  Ignored if passed for a non-private zone.
80523
80524              VPCName
80525                     When creating a private hosted zone, either the VPC ID or
80526                     VPC  Name  to associate with is required.  Exclusive with
80527                     VPCId.  Ignored if passed for a non-private zone.
80528
80529              VPCRegion
80530                     When creating a private hosted zone, the  region  of  the
80531                     associated  VPC  is required.  If not provided, an effort
80532                     will be made to determine it from VPCId  or  VPCName,  if
80533                     possible.   If  this  fails,  you'll  need  to provide an
80534                     explicit value for this option.  Ignored if passed for  a
80535                     non-private zone.
80536
80537              CallerReference
80538                     A  unique  string  that  identifies  the request and that
80539                     allows create_hosted_zone() calls to be  retried  without
80540                     the  risk  of  executing  the operation twice.  This is a
80541                     required parameter when creating new Hosted Zones.  Maxi‐
80542                     mum length of 128.
80543
80544              Comment
80545                     Any comments you want to include about the hosted zone.
80546
80547              PrivateZone
80548                     Boolean - Set to True if creating a private hosted zone.
80549
80550              DelegationSetId
80551                     If  you  want to associate a reusable delegation set with
80552                     this hosted zone, the ID that Amazon Route 53 assigned to
80553                     the  reusable  delegation  set when you created it.  Note
80554                     that XXX TODO create_delegation_set() is not  yet  imple‐
80555                     mented,  so  you'd need to manually create any delegation
80556                     sets before utilizing this.
80557
80558              region Region endpoint to connect to.
80559
80560              key    AWS key to bind with.
80561
80562              keyid  AWS keyid to bind with.
80563
80564              profile
80565                     Dict, or pillar key pointing to a  dict,  containing  AWS
80566                     region/key/keyid.
80567
80568              CLI Example:
80569
80570                 salt myminion boto3_route53.create_hosted_zone example.org.
80571
80572       salt.modules.boto3_route53.delete_hosted_zone(Id,          region=None,
80573       key=None, keyid=None, profile=None)
80574              Delete a Route53 hosted zone.
80575
80576              CLI Example:
80577
80578                 salt myminion boto3_route53.delete_hosted_zone Z1234567890
80579
80580       salt.modules.boto3_route53.delete_hosted_zone_by_domain(Name,  Private‐
80581       Zone=None, region=None, key=None, keyid=None, profile=None)
80582              Delete  a  Route53  hosted  zone by domain name, and PrivateZone
80583              status if provided.
80584
80585              CLI Example:
80586
80587                 salt myminion boto3_route53.delete_hosted_zone_by_domain example.org.
80588
80589       salt.modules.boto3_route53.disassociate_vpc_from_hosted_zone(Hosted‐
80590       ZoneId=None,  Name=None, VPCId=None, VPCName=None, VPCRegion=None, Com‐
80591       ment=None, region=None, key=None, keyid=None, profile=None)
80592              Disassociates an Amazon VPC from a private hosted zone.
80593
80594              You can't disassociate the last VPC from a private hosted  zone.
80595              You  also  can't  convert  a  private  hosted zone into a public
80596              hosted zone.
80597
80598              Note that looking up hosted zones by name (e.g. using  the  Name
80599              parameter)  only works XXX FACTCHECK within a single AWS account
80600              - if you're disassociating a VPC in one account  from  a  hosted
80601              zone in a different account you unfortunately MUST use the Host‐
80602              edZoneId parameter exclusively. XXX FIXME DOCU
80603
80604              HostedZoneId
80605                     The unique Zone Identifier for the Hosted Zone.
80606
80607              Name   The domain name associated with the Hosted Zone(s).
80608
80609              VPCId  When working with a private hosted zone, either  the  VPC
80610                     ID  or VPC Name to associate with is required.  Exclusive
80611                     with VPCName.
80612
80613              VPCName
80614                     When working with a private hosted zone, either  the  VPC
80615                     ID  or VPC Name to associate with is required.  Exclusive
80616                     with VPCId.
80617
80618              VPCRegion
80619                     When working with a private hosted zone,  the  region  of
80620                     the  associated  VPC  is  required.   If not provided, an
80621                     effort will be made to determine it from  VPCId  or  VPC‐
80622                     Name, if possible.  If this fails, you'll need to provide
80623                     an explicit value for VPCRegion.
80624
80625              Comment
80626                     Any comments you want to include about the  change  being
80627                     made.
80628
80629              CLI Example:
80630
80631                 salt myminion boto3_route53.disassociate_vpc_from_hosted_zone                     Name=example.org. VPCName=myVPC                     VPCRegion=us-east-1 Comment="Whoops!  Don't wanna talk to this-here zone no more."
80632
80633       salt.modules.boto3_route53.find_hosted_zone(Id=None,   Name=None,  Pri‐
80634       vateZone=None, region=None, key=None, keyid=None, profile=None)
80635              Find a hosted zone with the given characteristics.
80636
80637              Id     The unique Zone Identifier for the Hosted  Zone.   Exclu‐
80638                     sive with Name.
80639
80640              Name   The  domain name associated with the Hosted Zone.  Exclu‐
80641                     sive with Id.  Note this has the potential to match  more
80642                     then one hosted zone (e.g. a public and a private if both
80643                     exist) which will raise an error unless  PrivateZone  has
80644                     also been passed in order split the different.
80645
80646              PrivateZone
80647                     Boolean  -  Set to True if searching for a private hosted
80648                     zone.
80649
80650              region Region to connect to.
80651
80652              key    Secret key to be used.
80653
80654              keyid  Access key to be used.
80655
80656              profile
80657                     Dict, or pillar key pointing to a  dict,  containing  AWS
80658                     region/key/keyid.
80659
80660              CLI Example:
80661
80662                 salt myminion boto3_route53.find_hosted_zone Name=salt.org.                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
80663
80664       salt.modules.boto3_route53.get_hosted_zone(Id,  region=None,  key=None,
80665       keyid=None, profile=None)
80666              Return detailed info about the given zone.
80667
80668              Id     The unique Zone Identifier for the Hosted Zone.
80669
80670              region Region to connect to.
80671
80672              key    Secret key to be used.
80673
80674              keyid  Access key to be used.
80675
80676              profile
80677                     Dict, or pillar key pointing to a  dict,  containing  AWS
80678                     region/key/keyid.
80679
80680              CLI Example:
80681
80682                 salt myminion boto3_route53.get_hosted_zone Z1234567690                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
80683
80684       salt.modules.boto3_route53.get_hosted_zones_by_domain(Name,
80685       region=None, key=None, keyid=None, profile=None)
80686              Find any zones with the given domain name  and  return  detailed
80687              info  about  them.   Note  that this can return multiple Route53
80688              zones, since a domain name can be used in both public  and  pri‐
80689              vate zones.
80690
80691              Name   The domain name associated with the Hosted Zone(s).
80692
80693              region Region to connect to.
80694
80695              key    Secret key to be used.
80696
80697              keyid  Access key to be used.
80698
80699              profile
80700                     Dict,  or  pillar  key pointing to a dict, containing AWS
80701                     region/key/keyid.
80702
80703              CLI Example:
80704
80705                 salt myminion boto3_route53.get_hosted_zones_by_domain salt.org.                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
80706
80707       salt.modules.boto3_route53.get_resource_records(HostedZoneId=None,
80708       Name=None,    StartRecordName=None,    StartRecordType=None,   Private‐
80709       Zone=None, region=None, key=None, keyid=None, profile=None)
80710              Get all resource records from a given zone matching the provided
80711              StartRecordName  (if given) or all records in the zone (if not),
80712              optionally filtered by a specific  StartRecordType.   This  will
80713              return any and all RRs matching, regardless of their special AWS
80714              flavors (weighted, geolocation, alias, etc.) so your code should
80715              be  prepared  for potentially large numbers of records back from
80716              this function - for example, if you've created a complex  geolo‐
80717              cation mapping with lots of entries all over the world providing
80718              the same server name to many different regional clients.
80719
80720              If you want EXACTLY ONE record to operate  on,  you'll  need  to
80721              implement  any  logic  required to pick the specific RR you care
80722              about from those returned.
80723
80724              Note that if you pass in Name without providing a value for Pri‐
80725              vateZone  (either  True  or False), CommandExecutionError can be
80726              raised in the case of both public and private zones matching the
80727              domain. XXX FIXME DOCU
80728
80729              CLI example:
80730
80731                 salt myminion boto3_route53.get_records test.example.org example.org A
80732
80733       salt.modules.boto3_route53.list_hosted_zones(DelegationSetId=None,
80734       region=None, key=None, keyid=None, profile=None)
80735              Return detailed info about all zones in the bound account.
80736
80737              DelegationSetId
80738                     If you're using reusable delegation sets and you want  to
80739                     list  all  of the hosted zones that are associated with a
80740                     reusable delegation set, specify the ID of  that  delega‐
80741                     tion set.
80742
80743              region Region to connect to.
80744
80745              key    Secret key to be used.
80746
80747              keyid  Access key to be used.
80748
80749              profile
80750                     Dict,  or  pillar  key pointing to a dict, containing AWS
80751                     region/key/keyid.
80752
80753              CLI Example:
80754
80755                 salt myminion boto3_route53.describe_hosted_zones                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
80756
80757       salt.modules.boto3_route53.update_hosted_zone_comment(Id=None,
80758       Name=None,   Comment=None,   PrivateZone=None,  region=None,  key=None,
80759       keyid=None, profile=None)
80760              Update the comment on an existing Route 53 hosted zone.
80761
80762              Id     The unique Zone Identifier for the Hosted Zone.
80763
80764              Name   The domain name associated with the Hosted Zone(s).
80765
80766              Comment
80767                     Any comments you want to include about the hosted zone.
80768
80769              PrivateZone
80770                     Boolean - Set to True if changing a private hosted zone.
80771
80772              CLI Example:
80773
80774                 salt myminion boto3_route53.update_hosted_zone_comment Name=example.org.                 Comment="This is an example comment for an example zone"
80775
80776   salt.modules.boto_apigateway module
80777       Connection module for Amazon APIGateway
80778
80779       New in version 2016.11.0.
80780
80781
80782       depends
80783
80784              · boto >= 2.8.0
80785
80786              · boto3 >= 1.2.1
80787
80788              · botocore >= 1.4.49
80789
80790       configuration
80791              This module accepts explicit Lambda  credentials  but  can  also
80792              utilize  IAM roles assigned to the instance trough Instance Pro‐
80793              files.  Dynamic credentials are then automatically obtained from
80794              AWS API and no further configuration is necessary. More Informa‐
80795              tion available at:
80796
80797                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
80798
80799              If IAM roles are not used you need to specify them either  in  a
80800              pillar or in the minion's config file:
80801
80802                 apigateway.keyid: GKTADJGHEIQSXMKKRBJ08H
80803                 apigateway.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80804
80805              A region may also be specified in the configuration:
80806
80807                 apigateway.region: us-west-2
80808
80809              If a region is not specified, the default is us-east-1.
80810
80811              It's  also  possible to specify key, keyid and region via a pro‐
80812              file, either as a passed in dict, or as a string  to  pull  from
80813              pillars or minion config:
80814
80815                 myprofile:
80816                     keyid: GKTADJGHEIQSXMKKRBJ08H
80817                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80818                     region: us-west-2
80819
80820       Changed  in version 2015.8.0: All methods now return a dictionary. Cre‐
80821       ate and delete methods return:
80822
80823          created: true
80824
80825       or
80826
80827          created: false
80828          error:
80829            message: error message
80830
80831       Request methods (e.g., describe_apigateway) return:
80832
80833          apigateway:
80834            - {...}
80835            - {...}
80836
80837       or
80838
80839          error:
80840            message: error message
80841
80842
80843       salt.modules.boto_apigateway.activate_api_deployment(restApiId,  stage‐
80844       Name, deploymentId, region=None, key=None, keyid=None, profile=None)
80845              Activates previously deployed deployment for a given stage
80846
80847              CLI Example:
80848
80849                 salt myminion boto_apigateway.activate_api_deployent restApiId stagename deploymentId
80850
80851       salt.modules.boto_apigateway.api_exists(name,         description=None,
80852       region=None, key=None, keyid=None, profile=None)
80853              Check to see if the given Rest API Name and optionally  descrip‐
80854              tion exists.
80855
80856              CLI Example:
80857
80858                 salt myminion boto_apigateway.exists myapi_name
80859
80860       salt.modules.boto_apigateway.api_model_exists(restApiId,     modelName,
80861       region=None, key=None, keyid=None, profile=None)
80862              Check to  see  if  the  given  modelName  exists  in  the  given
80863              restApiId
80864
80865              CLI Example:
80866
80867                 salt myminion boto_apigateway.api_model_exists restApiId modelName
80868
80869       salt.modules.boto_apigateway.associate_api_key_stagekeys(apiKey,
80870       stagekeyslist, region=None, key=None, keyid=None, profile=None)
80871              associate the given stagekeyslist to the given apiKey.
80872
80873              CLI Example:
80874
80875                 salt myminion boto_apigateway.associate_stagekeys_api_key \
80876                         api_key '["restapi id/stage name", ...]'
80877
80878       salt.modules.boto_apigateway.attach_usage_plan_to_apis(plan_id,   apis,
80879       region=None, key=None, keyid=None, profile=None)
80880              Attaches given usage plan to each of the apis provided in a list
80881              of apiId and stage values
80882
80883              New in version 2017.7.0.
80884
80885
80886              apis   a list of dictionaries, where  each  dictionary  contains
80887                     the following:
80888
80889                     apiId  a  string,  which  is the id of the created API in
80890                            AWS ApiGateway
80891
80892                     stage  a string, which is the stage that the created  API
80893                            is deployed to.
80894
80895              CLI Example:
80896
80897                 salt myminion boto_apigateway.attach_usage_plan_to_apis plan_id='usage plan id' apis='[{"apiId": "some id 1", "stage": "some stage 1"}]'
80898
80899       salt.modules.boto_apigateway.create_api(name,    description,    clone‐
80900       From=None, region=None, key=None, keyid=None, profile=None)
80901              Create a new REST API Service with the given name
80902
80903              Returns {created: True} if the rest api was created and  returns
80904              {created: False} if the rest api was not created.
80905
80906              CLI Example:
80907
80908                 salt myminion boto_apigateway.create_api myapi_name api_description
80909
80910       salt.modules.boto_apigateway.create_api_deployment(restApiId,    stage‐
80911       Name, stageDescription=u'', description=u'', cacheClusterEnabled=False,
80912       cacheClusterSize=u'0.5',    variables=None,    region=None,   key=None,
80913       keyid=None, profile=None)
80914              Creates a new API deployment.
80915
80916              CLI Example:
80917
80918                 salt myminion boto_apigateway.create_api_deployent restApiId stagename stageDescription='' \
80919                 description='' cacheClusterEnabled=True|False cacheClusterSize=0.5 variables='{"name": "value"}'
80920
80921       salt.modules.boto_apigateway.create_api_integration(restApiId,  resour‐
80922       cePath,  httpMethod,  integrationType, integrationHttpMethod, uri, cre‐
80923       dentials, requestParameters=None,  requestTemplates=None,  region=None,
80924       key=None, keyid=None, profile=None)
80925              Creates  an  integration  for a given method in a given API.  If
80926              integrationType is MOCK, uri and credential parameters  will  be
80927              ignored.
80928
80929              uri   is  in  the  form  of  (substitute  APIGATEWAY_REGION  and
80930              LAMBDA_FUNC_ARN)                    "arn:aws:apigateway:APIGATE‐
80931              WAY_REGION:lambda:path/2015-03-31/func‐
80932              tions/LAMBDA_FUNC_ARN/invocations"
80933
80934              credentials is in the form of an iam role name or role arn.
80935
80936              CLI Example:
80937
80938                 salt myminion boto_apigateway.create_api_integration restApiId resourcePath httpMethod \
80939                                      integrationType integrationHttpMethod uri credentials ['{}' ['{}']]
80940
80941       salt.modules.boto_apigateway.create_api_integration_response(restApiId,
80942       resourcePath, httpMethod, statusCode, selectionPattern, responseParame‐
80943       ters=None, responseTemplates=None, region=None,  key=None,  keyid=None,
80944       profile=None)
80945              Creates  an  integration  response for a given method in a given
80946              API
80947
80948              CLI Example:
80949
80950                 salt myminion boto_apigateway.create_api_integration_response restApiId resourcePath httpMethod \
80951                                     statusCode selectionPattern ['{}' ['{}']]
80952
80953       salt.modules.boto_apigateway.create_api_key(name,          description,
80954       enabled=True,  stageKeys=None,  region=None, key=None, keyid=None, pro‐
80955       file=None)
80956              Create an API key given name and description.
80957
80958              An optional enabled argument can be provided.  If provided,  the
80959              valid values are True|False.  This argument defaults to True.
80960
80961              An  optional  stageKeys  argument can be provided in the form of
80962              list of dictionary with 'restApiId' and 'stageName' as keys.
80963
80964              CLI Example:
80965
80966                 salt myminion boto_apigateway.create_api_key name description
80967
80968                 salt myminion boto_apigateway.create_api_key name description enabled=False
80969
80970                 salt myminion boto_apigateway.create_api_key name description \
80971                      stageKeys='[{"restApiId": "id", "stageName": "stagename"}]'
80972
80973       salt.modules.boto_apigateway.create_api_method(restApiId, resourcePath,
80974       httpMethod,   authorizationType,  apiKeyRequired=False,  requestParame‐
80975       ters=None, requestModels=None, region=None, key=None, keyid=None,  pro‐
80976       file=None)
80977              Creates API method for a resource in the given API
80978
80979              CLI Example:
80980
80981                 salt myminion boto_apigateway.create_api_method restApiId resourcePath, httpMethod, authorizationType, \
80982                     apiKeyRequired=False, requestParameters='{"name", "value"}', requestModels='{"content-type", "value"}'
80983
80984       salt.modules.boto_apigateway.create_api_method_response(restApiId,
80985       resourcePath, httpMethod, statusCode, responseParameters=None,  respon‐
80986       seModels=None, region=None, key=None, keyid=None, profile=None)
80987              Create  API  method response for a method on a given resource in
80988              the given API
80989
80990              CLI Example:
80991
80992                 salt myminion boto_apigateway.create_api_method_response restApiId resourcePath httpMethod \
80993                        statusCode responseParameters='{"name", "True|False"}' responseModels='{"content-type", "model"}'
80994
80995       salt.modules.boto_apigateway.create_api_model(restApiId,     modelName,
80996       modelDescription, schema, contentType=u'application/json', region=None,
80997       key=None, keyid=None, profile=None)
80998              Create a new model in a given API with a given schema, currently
80999              only contentType supported is 'application/json'
81000
81001              CLI Example:
81002
81003                 salt myminion boto_apigateway.create_api_model restApiId modelName modelDescription '<schema>' 'content-type'
81004
81005       salt.modules.boto_apigateway.create_api_resources(restApiId,      path,
81006       region=None, key=None, keyid=None, profile=None)
81007              Given rest api id, and an absolute resource path, create all the
81008              resources  and return all resources in the resourcepath, returns
81009              False on failure.
81010
81011              CLI Example:
81012
81013                 salt myminion boto_apigateway.create_api_resources myapi_id resource_path
81014
81015       salt.modules.boto_apigateway.create_api_stage(restApiId,     stageName,
81016       deploymentId, description=u'', cacheClusterEnabled=False, cacheCluster‐
81017       Size=u'0.5', variables=None, region=None,  key=None,  keyid=None,  pro‐
81018       file=None)
81019              Creates a new API stage for a given restApiId and deploymentId.
81020
81021              CLI Example:
81022
81023                 salt myminion boto_apigateway.create_api_stage restApiId stagename deploymentId \
81024                     description='' cacheClusterEnabled=True|False cacheClusterSize='0.5' variables='{"name": "value"}'
81025
81026       salt.modules.boto_apigateway.create_usage_plan(name,  description=None,
81027       throttle=None,  quota=None,  region=None,  key=None,  keyid=None,  pro‐
81028       file=None)
81029              Creates  a  new usage plan with throttling and quotas optionally
81030              applied
81031
81032              New in version 2017.7.0.
81033
81034
81035              name   Name of the usage plan
81036
81037              throttle
81038                     A dictionary consisting of the following keys:
81039
81040                     rateLimit
81041                            requests per second at steady rate, float
81042
81043                     burstLimit
81044                            maximum number of requests per second, integer
81045
81046              quota  A dictionary consisting of the following keys:
81047
81048                     limit  number of allowed  requests  per  specified  quota
81049                            period [required if quota parameter is present]
81050
81051                     offset number  of requests to be subtracted from limit at
81052                            the beginning of the period [optional]
81053
81054                     period quota period, must be one of DAY, WEEK, or  MONTH.
81055                            [required if quota parameter is present
81056
81057              CLI Example:
81058
81059                 salt myminion boto_apigateway.create_usage_plan name='usage plan name' throttle='{"rateLimit": 10.0, "burstLimit": 10}'
81060
81061       salt.modules.boto_apigateway.delete_api(name,         description=None,
81062       region=None, key=None, keyid=None, profile=None)
81063              Delete all REST API Service with the given name and an  optional
81064              API description
81065
81066              Returns  {deleted:  True,  count:  deleted_count}  if  apis were
81067              deleted, and returns {deleted: False} if error or not found.
81068
81069              CLI Example:
81070
81071                 salt myminion boto_apigateway.delete_api myapi_name
81072
81073                 salt myminion boto_apigateway.delete_api myapi_name description='api description'
81074
81075       salt.modules.boto_apigateway.delete_api_deployment(restApiId,   deploy‐
81076       mentId, region=None, key=None, keyid=None, profile=None)
81077              Deletes API deployment for a given restApiId and deploymentID
81078
81079              CLI Example:
81080
81081                 salt myminion boto_apigateway.delete_api_deployent restApiId deploymentId
81082
81083       salt.modules.boto_apigateway.delete_api_integration(restApiId,  resour‐
81084       cePath, httpMethod, region=None, key=None, keyid=None, profile=None)
81085              Deletes an integration for a given method in a given API
81086
81087              CLI Example:
81088
81089                 salt myminion boto_apigateway.delete_api_integration restApiId resourcePath httpMethod
81090
81091       salt.modules.boto_apigateway.delete_api_integration_response(restApiId,
81092       resourcePath,    httpMethod,    statusCode,    region=None,   key=None,
81093       keyid=None, profile=None)
81094              Deletes an integration response for a given method  in  a  given
81095              API
81096
81097              CLI Example:
81098
81099                 salt myminion boto_apigateway.delete_api_integration_response restApiId resourcePath httpMethod statusCode
81100
81101       salt.modules.boto_apigateway.delete_api_key(apiKey,        region=None,
81102       key=None, keyid=None, profile=None)
81103              Deletes a given apiKey
81104
81105              CLI Example:
81106
81107                 salt myminion boto_apigateway.delete_api_key apikeystring
81108
81109       salt.modules.boto_apigateway.delete_api_method(restApiId, resourcePath,
81110       httpMethod, region=None, key=None, keyid=None, profile=None)
81111              Delete API method for a resource in the given API
81112
81113              CLI Example:
81114
81115                 salt myminion boto_apigateway.delete_api_method restApiId resourcePath httpMethod
81116
81117       salt.modules.boto_apigateway.delete_api_method_response(restApiId,
81118       resourcePath,   httpMethod,    statusCode,    region=None,    key=None,
81119       keyid=None, profile=None)
81120              Delete API method response for a resource in the given API
81121
81122              CLI Example:
81123
81124                 salt myminion boto_apigateway.delete_api_method_response restApiId resourcePath httpMethod statusCode
81125
81126       salt.modules.boto_apigateway.delete_api_model(restApiId,     modelName,
81127       region=None, key=None, keyid=None, profile=None)
81128              Delete a model identified by name in a given API
81129
81130              CLI Example:
81131
81132                 salt myminion boto_apigateway.delete_api_model restApiId modelName
81133
81134       salt.modules.boto_apigateway.delete_api_resources(restApiId,      path,
81135       region=None, key=None, keyid=None, profile=None)
81136              Given  restApiId  and  an  absolute  resource  path,  delete the
81137              resources starting from the absolute resource path.  If  resour‐
81138              cepath is the root resource '/', the function will return False.
81139              Returns False on failure.
81140
81141              CLI Example:
81142
81143                 salt myminion boto_apigateway.delete_api_resources myapi_id, resource_path
81144
81145       salt.modules.boto_apigateway.delete_api_stage(restApiId,     stageName,
81146       region=None, key=None, keyid=None, profile=None)
81147              Deletes  stage  identified  by  stageName from API identified by
81148              restApiId
81149
81150              CLI Example:
81151
81152                 salt myminion boto_apigateway.delete_api_stage restApiId stageName
81153
81154       salt.modules.boto_apigateway.delete_usage_plan(plan_id,    region=None,
81155       key=None, keyid=None, profile=None)
81156              Deletes usage plan identified by plan_id
81157
81158              New in version 2017.7.0.
81159
81160
81161              CLI Example:
81162
81163                 salt myminion boto_apigateway.delete_usage_plan plan_id='usage plan id'
81164
81165       salt.modules.boto_apigateway.describe_api_deployment(restApiId, deploy‐
81166       mentId, region=None, key=None, keyid=None, profile=None)
81167              Get API deployment for a given restApiId and deploymentId.
81168
81169              CLI Example:
81170
81171                 salt myminion boto_apigateway.describe_api_deployent restApiId deploymentId
81172
81173       salt.modules.boto_apigateway.describe_api_deployments(restApiId,
81174       region=None, key=None, keyid=None, profile=None)
81175              Gets information about the defined API Deployments.  Return list
81176              of api deployments.
81177
81178              CLI Example:
81179
81180                 salt myminion boto_apigateway.describe_api_deployments restApiId
81181
81182       salt.modules.boto_apigateway.describe_api_integration(restApiId,
81183       resourcePath,   httpMethod,  region=None,  key=None,  keyid=None,  pro‐
81184       file=None)
81185              Get an integration for a given method in a given API
81186
81187              CLI Example:
81188
81189                 salt myminion boto_apigateway.describe_api_integration restApiId resourcePath httpMethod
81190
81191       salt.modules.boto_apigateway.describe_api_integra‐
81192       tion_response(restApiId,    resourcePath,    httpMethod,    statusCode,
81193       region=None, key=None, keyid=None, profile=None)
81194              Get an integration response for a given method in a given API
81195
81196              CLI Example:
81197
81198                 salt myminion boto_apigateway.describe_api_integration_response restApiId resourcePath httpMethod statusCode
81199
81200       salt.modules.boto_apigateway.describe_api_key(apiKey,      region=None,
81201       key=None, keyid=None, profile=None)
81202              Gets info about the given api key
81203
81204              CLI Example:
81205
81206                 salt myminion boto_apigateway.describe_api_key apigw_api_key
81207
81208       salt.modules.boto_apigateway.describe_api_keys(region=None,   key=None,
81209       keyid=None, profile=None)
81210              Gets information about the defined API  Keys.   Return  list  of
81211              apiKeys.
81212
81213              CLI Example:
81214
81215                 salt myminion boto_apigateway.describe_api_keys
81216
81217       salt.modules.boto_apigateway.describe_api_method(restApiId,     resour‐
81218       cePath, httpMethod, region=None, key=None, keyid=None, profile=None)
81219              Get API method for a resource in the given API
81220
81221              CLI Example:
81222
81223                 salt myminion boto_apigateway.describe_api_method restApiId resourcePath httpMethod
81224
81225       salt.modules.boto_apigateway.describe_api_method_response(restApiId,
81226       resourcePath,    httpMethod,    statusCode,    region=None,   key=None,
81227       keyid=None, profile=None)
81228              Get API method response for a resource in the given API
81229
81230              CLI Example:
81231
81232                 salt myminion boto_apigateway.describe_api_method_response restApiId resourcePath httpMethod statusCode
81233
81234       salt.modules.boto_apigateway.describe_api_model(restApiId,   modelName,
81235       flatten=True, region=None, key=None, keyid=None, profile=None)
81236              Get a model by name for a given API
81237
81238              CLI Example:
81239
81240                 salt myminion boto_apigateway.describe_api_model restApiId modelName [True]
81241
81242       salt.modules.boto_apigateway.describe_api_models(restApiId,
81243       region=None, key=None, keyid=None, profile=None)
81244              Get all models for a given API
81245
81246              CLI Example:
81247
81248                 salt myminion boto_apigateway.describe_api_models restApiId
81249
81250       salt.modules.boto_apigateway.describe_api_resource(restApiId,     path,
81251       region=None, key=None, keyid=None, profile=None)
81252              Given  rest  api  id, and an absolute resource path, returns the
81253              resource id for the given path.
81254
81255              CLI Example:
81256
81257                 salt myminion boto_apigateway.describe_api_resource myapi_id resource_path
81258
81259       salt.modules.boto_apigateway.describe_api_resource_method(restApiId,
81260       resourcePath,   httpMethod,  region=None,  key=None,  keyid=None,  pro‐
81261       file=None)
81262              Given rest api id, resource path, and http method (must  be  one
81263              of  DELETE,  GET,  HEAD,  OPTIONS, PATCH, POST, PUT), return the
81264              method for the api/resource path if defined.   Return  False  if
81265              method is not defined.
81266
81267              CLI Example:
81268
81269                 salt myminion boto_apigateway.describe_api_resource_method myapi_id resource_path httpmethod
81270
81271       salt.modules.boto_apigateway.describe_api_resources(restApiId,
81272       region=None, key=None, keyid=None, profile=None)
81273              Given rest api id, return all resources for this api.
81274
81275              CLI Example:
81276
81277                 salt myminion boto_apigateway.describe_api_resources myapi_id
81278
81279       salt.modules.boto_apigateway.describe_api_stage(restApiId,   stageName,
81280       region=None, key=None, keyid=None, profile=None)
81281              Get API stage for a given apiID and stage name
81282
81283              CLI Example:
81284
81285                 salt myminion boto_apigateway.describe_api_stage restApiId stageName
81286
81287       salt.modules.boto_apigateway.describe_api_stages(restApiId,  deploymen‐
81288       tId, region=None, key=None, keyid=None, profile=None)
81289              Get all API stages for a given apiID and deploymentID
81290
81291              CLI Example:
81292
81293                 salt myminion boto_apigateway.describe_api_stages restApiId deploymentId
81294
81295       salt.modules.boto_apigateway.describe_apis(name=None, description=None,
81296       region=None, key=None, keyid=None, profile=None)
81297              Returns all rest apis in the defined region.  If optional param‐
81298              eter name is included, returns all rest apis matching  the  name
81299              in the defined region.
81300
81301              CLI Example:
81302
81303                 salt myminion boto_apigateway.describe_apis
81304
81305                 salt myminion boto_apigateway.describe_apis name='api name'
81306
81307                 salt myminion boto_apigateway.describe_apis name='api name' description='desc str'
81308
81309       salt.modules.boto_apigateway.describe_usage_plans(name=None,
81310       plan_id=None, region=None, key=None, keyid=None, profile=None)
81311              Returns a list of existing usage plans, optionally  filtered  to
81312              match a given plan name
81313
81314              New in version 2017.7.0.
81315
81316
81317              CLI Example:
81318
81319                 salt myminion boto_apigateway.describe_usage_plans
81320                 salt myminion boto_apigateway.describe_usage_plans name='usage plan name'
81321                 salt myminion boto_apigateway.describe_usage_plans plan_id='usage plan id'
81322
81323       salt.modules.boto_apigateway.detach_usage_plan_from_apis(plan_id, apis,
81324       region=None, key=None, keyid=None, profile=None)
81325              Detaches given usage plan from each of the apis  provided  in  a
81326              list of apiId and stage value
81327
81328              New in version 2017.7.0.
81329
81330
81331              apis   a  list  of  dictionaries, where each dictionary contains
81332                     the following:
81333
81334                     apiId  a string, which is the id of the  created  API  in
81335                            AWS ApiGateway
81336
81337                     stage  a  string, which is the stage that the created API
81338                            is deployed to.
81339
81340              CLI Example:
81341
81342                 salt myminion boto_apigateway.detach_usage_plan_to_apis plan_id='usage plan id' apis='[{"apiId": "some id 1", "stage": "some stage 1"}]'
81343
81344       salt.modules.boto_apigateway.disable_api_key(apiKey,       region=None,
81345       key=None, keyid=None, profile=None)
81346              disable the given apiKey.
81347
81348              CLI Example:
81349
81350                 salt myminion boto_apigateway.enable_api_key api_key
81351
81352       salt.modules.boto_apigateway.disassociate_api_key_stagekeys(apiKey,
81353       stagekeyslist, region=None, key=None, keyid=None, profile=None)
81354              disassociate the given stagekeyslist to the given apiKey.
81355
81356              CLI Example:
81357
81358                 salt myminion boto_apigateway.disassociate_stagekeys_api_key \
81359                         api_key '["restapi id/stage name", ...]'
81360
81361       salt.modules.boto_apigateway.enable_api_key(apiKey,        region=None,
81362       key=None, keyid=None, profile=None)
81363              enable the given apiKey.
81364
81365              CLI Example:
81366
81367                 salt myminion boto_apigateway.enable_api_key api_key
81368
81369       salt.modules.boto_apigateway.flush_api_stage_cache(restApiId,    stage‐
81370       Name, region=None, key=None, keyid=None, profile=None)
81371              Flushes cache for the stage identified  by  stageName  from  API
81372              identified by restApiId
81373
81374              CLI Example:
81375
81376                 salt myminion boto_apigateway.flush_api_stage_cache restApiId stageName
81377
81378       salt.modules.boto_apigateway.overwrite_api_stage_variables(restApiId,
81379       stageName, variables, region=None, key=None, keyid=None, profile=None)
81380              Overwrite the stage variables for the given restApiId and  stage
81381              name  with the given variables, variables must be in the form of
81382              a dictionary.  Overwrite will always  remove  all  the  existing
81383              stage  variables  associated  with the given restApiId and stage
81384              name, follow by the adding of all the variables specified in the
81385              variables dictionary
81386
81387              CLI Example:
81388
81389                 salt myminion boto_apigateway.overwrite_api_stage_variables restApiId stageName variables='{"name": "value"}'
81390
81391       salt.modules.boto_apigateway.update_api_key_description(apiKey,
81392       description, region=None, key=None, keyid=None, profile=None)
81393              update the given apiKey with the given description.
81394
81395              CLI Example:
81396
81397                 salt myminion boto_apigateway.update_api_key_description api_key description
81398
81399       salt.modules.boto_apigateway.update_api_model_schema(restApiId,  model‐
81400       Name, schema, region=None, key=None, keyid=None, profile=None)
81401              update  the  schema  (in python dictionary format) for the given
81402              model in the given restApiId
81403
81404              CLI Example:
81405
81406                 salt myminion boto_apigateway.update_api_model_schema restApiId modelName schema
81407
81408       salt.modules.boto_apigateway.update_usage_plan(plan_id,  throttle=None,
81409       quota=None, region=None, key=None, keyid=None, profile=None)
81410              Updates an existing usage plan with throttling and quotas
81411
81412              New in version 2017.7.0.
81413
81414
81415              plan_id
81416                     Id of the created usage plan
81417
81418              throttle
81419                     A dictionary consisting of the following keys:
81420
81421                     rateLimit
81422                            requests per second at steady rate, float
81423
81424                     burstLimit
81425                            maximum number of requests per second, integer
81426
81427              quota  A dictionary consisting of the following keys:
81428
81429                     limit  number  of  allowed  requests  per specified quota
81430                            period [required if quota parameter is present]
81431
81432                     offset number of requests to be subtracted from limit  at
81433                            the beginning of the period [optional]
81434
81435                     period quota  period, must be one of DAY, WEEK, or MONTH.
81436                            [required if quota parameter is present
81437
81438              CLI Example:
81439
81440                 salt myminion boto_apigateway.update_usage_plan plan_id='usage plan id' throttle='{"rateLimit": 10.0, "burstLimit": 10}'
81441
81442   salt.modules.boto_asg
81443       Connection module for Amazon Autoscale Groups
81444
81445       New in version 2014.7.0.
81446
81447
81448       configuration
81449              This module accepts explicit autoscale credentials but can  also
81450              utilize IAM roles assigned to the instance through Instance Pro‐
81451              files.  Dynamic credentials are then automatically obtained from
81452              AWS API and no further configuration is necessary. More Informa‐
81453              tion available at:
81454
81455                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
81456
81457              If IAM roles are not used you need to specify them either  in  a
81458              pillar or in the minion's config file:
81459
81460                 asg.keyid: GKTADJGHEIQSXMKKRBJ08H
81461                 asg.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81462
81463              A region may also be specified in the configuration:
81464
81465                 asg.region: us-east-1
81466
81467              If a region is not specified, the default is us-east-1.
81468
81469              It's  also  possible to specify key, keyid and region via a pro‐
81470              file, either as a passed in dict, or as a string  to  pull  from
81471              pillars or minion config:
81472
81473                 myprofile:
81474                     keyid: GKTADJGHEIQSXMKKRBJ08H
81475                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81476                     region: us-east-1
81477
81478       depends
81479              boto
81480
81481       depends
81482              boto3
81483
81484       salt.modules.boto_asg.create(name,    launch_config_name,    availabil‐
81485       ity_zones,   min_size,   max_size,   desired_capacity=None,   load_bal‐
81486       ancers=None,       default_cooldown=None,       health_check_type=None,
81487       health_check_period=None,    placement_group=None,     vpc_zone_identi‐
81488       fier=None,    tags=None,    termination_policies=None,   suspended_pro‐
81489       cesses=None,       scaling_policies=None,       scheduled_actions=None,
81490       region=None,  notification_arn=None, notification_types=None, key=None,
81491       keyid=None, profile=None)
81492              Create an autoscale group.
81493
81494              CLI example:
81495
81496                 salt myminion boto_asg.create myasg mylc '["us-east-1a", "us-east-1e"]' 1 10 load_balancers='["myelb", "myelb2"]' tags='[{"key": "Name", value="myasg", "propagate_at_launch": True}]'
81497
81498       salt.modules.boto_asg.create_launch_configuration(name,       image_id,
81499       key_name=None,    vpc_id=None,   vpc_name=None,   security_groups=None,
81500       user_data=None,       instance_type=u'm1.small',        kernel_id=None,
81501       ramdisk_id=None, block_device_mappings=None, instance_monitoring=False,
81502       spot_price=None, instance_profile_name=None, ebs_optimized=False, asso‐
81503       ciate_public_ip_address=None,    volume_type=None,   delete_on_termina‐
81504       tion=True,   iops=None,   use_block_device_types=False,    region=None,
81505       key=None, keyid=None, profile=None)
81506              Create a launch configuration.
81507
81508              CLI example:
81509
81510                 salt myminion boto_asg.create_launch_configuration mylc image_id=ami-0b9c9f62 key_name='mykey' security_groups='["mygroup"]' instance_type='c3.2xlarge'
81511
81512       salt.modules.boto_asg.delete(name,  force=False, region=None, key=None,
81513       keyid=None, profile=None)
81514              Delete an autoscale group.
81515
81516              CLI example:
81517
81518                 salt myminion boto_asg.delete myasg region=us-east-1
81519
81520       salt.modules.boto_asg.delete_launch_configuration(name,    region=None,
81521       key=None, keyid=None, profile=None)
81522              Delete a launch configuration.
81523
81524              CLI example:
81525
81526                 salt myminion boto_asg.delete_launch_configuration mylc
81527
81528       salt.modules.boto_asg.describe_launch_configuration(name,  region=None,
81529       key=None, keyid=None, profile=None)
81530              Dump details of a given launch configuration.
81531
81532              CLI example:
81533
81534                 salt myminion boto_asg.describe_launch_configuration mylc
81535
81536       salt.modules.boto_asg.enter_standby(name,  instance_ids,  should_decre‐
81537       ment_desired_capacity=False,  region=None,  key=None,  keyid=None, pro‐
81538       file=None)
81539              Switch desired instances to StandBy mode
81540
81541              New in version 2016.11.0.
81542
81543
81544              CLI example:
81545
81546                 salt-call boto_asg.enter_standby my_autoscale_group_name '["i-xxxxxx"]'
81547
81548       salt.modules.boto_asg.exists(name, region=None,  key=None,  keyid=None,
81549       profile=None)
81550              Check to see if an autoscale group exists.
81551
81552              CLI example:
81553
81554                 salt myminion boto_asg.exists myasg region=us-east-1
81555
81556       salt.modules.boto_asg.exit_standby(name,   instance_ids,  should_decre‐
81557       ment_desired_capacity=False, region=None,  key=None,  keyid=None,  pro‐
81558       file=None)
81559              Exit desired instances from StandBy mode
81560
81561              New in version 2016.11.0.
81562
81563
81564              CLI example:
81565
81566                 salt-call boto_asg.exit_standby my_autoscale_group_name '["i-xxxxxx"]'
81567
81568       salt.modules.boto_asg.get_all_groups(region=None, key=None, keyid=None,
81569       profile=None)
81570              Return all AutoScale Groups visible in the account (as a list of
81571              boto.ec2.autoscale.group.AutoScalingGroup).
81572
81573              New in version 2016.11.0.
81574
81575
81576              CLI example:
81577
81578                 salt-call boto_asg.get_all_groups region=us-east-1 --output yaml
81579
81580       salt.modules.boto_asg.get_all_launch_configurations(region=None,
81581       key=None, keyid=None, profile=None)
81582              Fetch and return all Launch Configuration with details.
81583
81584              CLI example:
81585
81586                 salt myminion boto_asg.get_all_launch_configurations
81587
81588       salt.modules.boto_asg.get_cloud_init_mime(cloud_init)
81589              Get a mime multipart encoded string from a cloud-init dict. Cur‐
81590              rently supports boothooks, scripts and cloud-config.
81591
81592              CLI Example:
81593
81594                 salt myminion boto.get_cloud_init_mime <cloud init>
81595
81596       salt.modules.boto_asg.get_config(name,      region=None,      key=None,
81597       keyid=None, profile=None)
81598              Get the configuration for an autoscale group.
81599
81600              CLI example:
81601
81602                 salt myminion boto_asg.get_config myasg region=us-east-1
81603
81604       salt.modules.boto_asg.get_instances(name, lifecycle_state=u'InService',
81605       health_status=u'Healthy',              attribute=u'private_ip_address',
81606       attributes=None, region=None, key=None, keyid=None, profile=None)
81607              return attribute of all instances in the named autoscale group.
81608
81609              CLI example:
81610
81611                 salt-call boto_asg.get_instances my_autoscale_group_name
81612
81613       salt.modules.boto_asg.get_scaling_policy_arn(as_group,     scaling_pol‐
81614       icy_name, region=None, key=None, keyid=None, profile=None)
81615              Return  the  arn  for  a  scaling policy in a specific autoscale
81616              group or None if not found. Mainly used as a helper  method  for
81617              boto_cloudwatch_alarm, for linking alarms to scaling policies.
81618
81619              CLI Example:
81620
81621                 salt '*' boto_asg.get_scaling_policy_arn mygroup mypolicy
81622
81623       salt.modules.boto_asg.launch_configuration_exists(name,    region=None,
81624       key=None, keyid=None, profile=None)
81625              Check for a launch configuration's existence.
81626
81627              CLI example:
81628
81629                 salt myminion boto_asg.launch_configuration_exists mylc
81630
81631       salt.modules.boto_asg.list_groups(region=None,  key=None,   keyid=None,
81632       profile=None)
81633              Return all AutoScale Groups visible in the account (as a list of
81634              names).
81635
81636              New in version 2016.11.0.
81637
81638
81639              CLI example:
81640
81641                 salt-call boto_asg.list_groups region=us-east-1
81642
81643       salt.modules.boto_asg.list_launch_configurations(region=None, key=None,
81644       keyid=None, profile=None)
81645              List all Launch Configurations.
81646
81647              CLI example:
81648
81649                 salt myminion boto_asg.list_launch_configurations
81650
81651       salt.modules.boto_asg.update(name,    launch_config_name,    availabil‐
81652       ity_zones,   min_size,   max_size,   desired_capacity=None,   load_bal‐
81653       ancers=None,       default_cooldown=None,       health_check_type=None,
81654       health_check_period=None,    placement_group=None,     vpc_zone_identi‐
81655       fier=None,    tags=None,    termination_policies=None,   suspended_pro‐
81656       cesses=None, scaling_policies=None,  scheduled_actions=None,  notifica‐
81657       tion_arn=None,    notification_types=None,    region=None,    key=None,
81658       keyid=None, profile=None)
81659              Update an autoscale group.
81660
81661              CLI example:
81662
81663                 salt myminion boto_asg.update myasg mylc '["us-east-1a", "us-east-1e"]' 1 10 load_balancers='["myelb", "myelb2"]' tags='[{"key": "Name", value="myasg", "propagate_at_launch": True}]'
81664
81665   salt.modules.boto_cfn
81666       Connection module for Amazon Cloud Formation
81667
81668       New in version 2015.5.0.
81669
81670
81671       configuration
81672              This module accepts explicit AWS credentials but can  also  uti‐
81673              lize  IAM  roles  assigned to the instance through Instance Pro‐
81674              files. Dynamic credentials are then automatically obtained  from
81675              AWS API and no further configuration is necessary. More Informa‐
81676              tion available at:
81677
81678                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
81679
81680              If IAM roles are not used you need to specify them either  in  a
81681              pillar or in the minion's config file:
81682
81683                 cfn.keyid: GKTADJGHEIQSXMKKRBJ08H
81684                 cfn.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81685
81686              A region may also be specified in the configuration:
81687
81688                 cfn.region: us-east-1
81689
81690       depends
81691              boto
81692
81693       salt.modules.boto_cfn.create(name,       template_body=None,       tem‐
81694       plate_url=None, parameters=None, notification_arns=None,  disable_roll‐
81695       back=None,   timeout_in_minutes=None,   capabilities=None,   tags=None,
81696       on_failure=None,     stack_policy_body=None,     stack_policy_url=None,
81697       region=None, key=None, keyid=None, profile=None)
81698              Create a CFN stack.
81699
81700              CLI Example:
81701
81702                 salt myminion boto_cfn.create mystack template_url='https://s3.amazonaws.com/bucket/template.cft'         region=us-east-1
81703
81704       salt.modules.boto_cfn.delete(name,  region=None,  key=None, keyid=None,
81705       profile=None)
81706              Delete a CFN stack.
81707
81708              CLI Example:
81709
81710                 salt myminion boto_cfn.delete mystack region=us-east-1
81711
81712       salt.modules.boto_cfn.describe(name, region=None, key=None, keyid=None,
81713       profile=None)
81714              Describe a stack.
81715
81716              New in version 2015.8.0.
81717
81718
81719              CLI Example:
81720
81721                 salt myminion boto_cfn.describe mystack region=us-east-1
81722
81723       salt.modules.boto_cfn.exists(name,  region=None,  key=None, keyid=None,
81724       profile=None)
81725              Check to see if a stack exists.
81726
81727              CLI Example:
81728
81729                 salt myminion boto_cfn.exists mystack region=us-east-1
81730
81731       salt.modules.boto_cfn.get_template(name,     region=None,     key=None,
81732       keyid=None, profile=None)
81733              Check to see if attributes are set on a CFN stack.
81734
81735              CLI Example:
81736
81737                 salt myminion boto_cfn.get_template mystack
81738
81739       salt.modules.boto_cfn.update_stack(name,    template_body=None,    tem‐
81740       plate_url=None, parameters=None, notification_arns=None,  disable_roll‐
81741       back=False,   timeout_in_minutes=None,   capabilities=None,  tags=None,
81742       use_previous_template=None,       stack_policy_during_update_body=None,
81743       stack_policy_during_update_url=None, stack_policy_body=None, stack_pol‐
81744       icy_url=None, region=None, key=None, keyid=None, profile=None)
81745              Update a CFN stack.
81746
81747              New in version 2015.8.0.
81748
81749
81750              CLI Example:
81751
81752                 salt myminion boto_cfn.update_stack mystack template_url='https://s3.amazonaws.com/bucket/template.cft'         region=us-east-1
81753
81754       salt.modules.boto_cfn.validate_template(template_body=None,        tem‐
81755       plate_url=None, region=None, key=None, keyid=None, profile=None)
81756              Validate cloudformation template
81757
81758              New in version 2015.8.0.
81759
81760
81761              CLI Example:
81762
81763                 salt myminion boto_cfn.validate_template mystack-template
81764
81765   salt.modules.boto_cloudfront
81766       Connection module for Amazon CloudFront
81767
81768       New in version 2018.3.0.
81769
81770
81771       depends
81772              boto3
81773
81774       configuration
81775              This  module  accepts explicit AWS credentials but can also uti‐
81776              lize IAM roles assigned to the instance  through  Instance  Pro‐
81777              files  or  it  can read them from the ~/.aws/credentials file or
81778              from    these    environment    variables:    AWS_ACCESS_KEY_ID,
81779              AWS_SECRET_ACCESS_KEY.   Dynamic  credentials are then automati‐
81780              cally obtained from AWS API and no further configuration is nec‐
81781              essary. More information available at:
81782
81783                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/
81784                     iam-roles-for-amazon-ec2.html
81785
81786                 http://boto3.readthedocs.io/en/latest/guide/
81787                     configuration.html#guide-configuration
81788
81789              If  IAM  roles are not used you need to specify them either in a
81790              pillar or in the minion's config file:
81791
81792                 cloudfront.keyid: GKTADJGHEIQSXMKKRBJ08H
81793                 cloudfront.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81794
81795              A region may also be specified in the configuration:
81796
81797                 cloudfront.region: us-east-1
81798
81799              If a region is not specified, the default is us-east-1.
81800
81801              It's also possible to specify key, keyid and region via  a  pro‐
81802              file,  either  as  a passed in dict, or as a string to pull from
81803              pillars or minion config:
81804
81805                 myprofile:
81806                     keyid: GKTADJGHEIQSXMKKRBJ08H
81807                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81808                     region: us-east-1
81809
81810       salt.modules.boto_cloudfront.create_distribution(name,          config,
81811       tags=None, region=None, key=None, keyid=None, profile=None)
81812              Create  a  CloudFront  distribution with the given name, config,
81813              and (optionally) tags.
81814
81815              name   Name for the CloudFront distribution
81816
81817              config Configuration for the distribution
81818
81819              tags   Tags to associate with the distribution
81820
81821              region Region to connect to
81822
81823              key    Secret key to use
81824
81825              keyid  Access key to use
81826
81827              profile
81828                     A dict with region, key,  and  keyid,  or  a  pillar  key
81829                     (string) that contains such a dict.
81830
81831              CLI Example:
81832
81833                 salt myminion boto_cloudfront.create_distribution name=mydistribution profile=awsprofile             config='{"Comment":"partial configuration","Enabled":true}'
81834
81835       salt.modules.boto_cloudfront.export_distributions(region=None,
81836       key=None, keyid=None, profile=None)
81837              Get details of all CloudFront distributions.   Produces  results
81838              that can be used to create an SLS file.
81839
81840              CLI Example:
81841
81842                 salt-call boto_cloudfront.export_distributions --out=txt |            sed "s/local: //" > cloudfront_distributions.sls
81843
81844       salt.modules.boto_cloudfront.get_distribution(name,        region=None,
81845       key=None, keyid=None, profile=None)
81846              Get information about a CloudFront distribution  (configuration,
81847              tags) with a given name.
81848
81849              name   Name of the CloudFront distribution
81850
81851              region Region to connect to
81852
81853              key    Secret key to use
81854
81855              keyid  Access key to use
81856
81857              profile
81858                     A  dict  with  region,  key,  and  keyid, or a pillar key
81859                     (string) that contains such a dict.
81860
81861              CLI Example:
81862
81863                 salt myminion boto_cloudfront.get_distribution name=mydistribution profile=awsprofile
81864
81865       salt.modules.boto_cloudfront.update_distribution(name,          config,
81866       tags=None, region=None, key=None, keyid=None, profile=None)
81867              Update  the config (and optionally tags) for the CloudFront dis‐
81868              tribution with the given name.
81869
81870              name   Name of the CloudFront distribution
81871
81872              config Configuration for the distribution
81873
81874              tags   Tags to associate with the distribution
81875
81876              region Region to connect to
81877
81878              key    Secret key to use
81879
81880              keyid  Access key to use
81881
81882              profile
81883                     A dict with region, key,  and  keyid,  or  a  pillar  key
81884                     (string) that contains such a dict.
81885
81886              CLI Example:
81887
81888                 salt myminion boto_cloudfront.update_distribution name=mydistribution profile=awsprofile             config='{"Comment":"partial configuration","Enabled":true}'
81889
81890   salt.modules.boto_cloudtrail module
81891       Connection module for Amazon CloudTrail
81892
81893       New in version 2016.3.0.
81894
81895
81896       depends
81897
81898              · boto
81899
81900              · boto3
81901
81902       The dependencies listed above can be installed via package or pip.
81903
81904       configuration
81905              This  module  accepts  explicit  Lambda credentials but can also
81906              utilize IAM roles assigned to the instance through Instance Pro‐
81907              files.  Dynamic credentials are then automatically obtained from
81908              AWS API and no further configuration is necessary. More Informa‐
81909              tion available at:
81910
81911                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
81912
81913              If  IAM  roles are not used you need to specify them either in a
81914              pillar or in the minion's config file:
81915
81916                 cloudtrail.keyid: GKTADJGHEIQSXMKKRBJ08H
81917                 cloudtrail.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81918
81919              A region may also be specified in the configuration:
81920
81921                 cloudtrail.region: us-east-1
81922
81923              If a region is not specified, the default is us-east-1.
81924
81925              It's also possible to specify key, keyid and region via  a  pro‐
81926              file,  either  as  a passed in dict, or as a string to pull from
81927              pillars or minion config:
81928
81929                 myprofile:
81930                     keyid: GKTADJGHEIQSXMKKRBJ08H
81931                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81932                     region: us-east-1
81933
81934       salt.modules.boto_cloudtrail.add_tags(Name,   region=None,    key=None,
81935       keyid=None, profile=None, **kwargs)
81936              Add tags to a trail
81937
81938              Returns  {tagged:  true}  if  the  trail  was tagged and returns
81939              {tagged: False} if the trail was not tagged.
81940
81941              CLI Example:
81942
81943                 salt myminion boto_cloudtrail.add_tags my_trail tag_a=tag_value tag_b=tag_value
81944
81945       salt.modules.boto_cloudtrail.create(Name,    S3BucketName,    S3KeyPre‐
81946       fix=None,  SnsTopicName=None, IncludeGlobalServiceEvents=None, IsMulti‐
81947       RegionTrail=None,   EnableLogFileValidation=None,    CloudWatchLogsLog‐
81948       GroupArn=None,  CloudWatchLogsRoleArn=None, KmsKeyId=None, region=None,
81949       key=None, keyid=None, profile=None)
81950              Given a valid config, create a trail.
81951
81952              Returns {created: true} if the trail  was  created  and  returns
81953              {created: False} if the trail was not created.
81954
81955              CLI Example:
81956
81957                 salt myminion boto_cloudtrail.create my_trail my_bucket
81958
81959       salt.modules.boto_cloudtrail.delete(Name,     region=None,    key=None,
81960       keyid=None, profile=None)
81961              Given a trail name, delete it.
81962
81963              Returns {deleted: true} if the trail  was  deleted  and  returns
81964              {deleted: false} if the trail was not deleted.
81965
81966              CLI Example:
81967
81968                 salt myminion boto_cloudtrail.delete mytrail
81969
81970       salt.modules.boto_cloudtrail.describe(Name,    region=None,   key=None,
81971       keyid=None, profile=None)
81972              Given a trail name describe its properties.
81973
81974              Returns a dictionary of interesting properties.
81975
81976              CLI Example:
81977
81978                 salt myminion boto_cloudtrail.describe mytrail
81979
81980       salt.modules.boto_cloudtrail.exists(Name,    region=None,     key=None,
81981       keyid=None, profile=None)
81982              Given a trail name, check to see if the given trail exists.
81983
81984              Returns  True if the given trail exists and returns False if the
81985              given trail does not exist.
81986
81987              CLI Example:
81988
81989                 salt myminion boto_cloudtrail.exists mytrail
81990
81991       salt.modules.boto_cloudtrail.list(region=None,  key=None,   keyid=None,
81992       profile=None)
81993              List all trails
81994
81995              Returns list of trails
81996
81997              CLI Example:
81998
81999                 policies:
82000                   - {...}
82001                   - {...}
82002
82003       salt.modules.boto_cloudtrail.list_tags(Name,   region=None,   key=None,
82004       keyid=None, profile=None)
82005              List tags of a trail
82006
82007              Returns
82008
82009                     · {...}
82010
82011                     · {...}
82012
82013
82014              Return type
82015                     tags
82016
82017              CLI Example:
82018
82019                 salt myminion boto_cloudtrail.list_tags my_trail
82020
82021       salt.modules.boto_cloudtrail.remove_tags(Name,  region=None,  key=None,
82022       keyid=None, profile=None, **kwargs)
82023              Remove tags from a trail
82024
82025              Returns  {tagged:  true}  if  the  trail  was tagged and returns
82026              {tagged: False} if the trail was not tagged.
82027
82028              CLI Example:
82029
82030                 salt myminion boto_cloudtrail.remove_tags my_trail tag_a=tag_value tag_b=tag_value
82031
82032       salt.modules.boto_cloudtrail.start_logging(Name, region=None, key=None,
82033       keyid=None, profile=None)
82034              Start logging for a trail
82035
82036              Returns  {started:  true}  if  the trail was started and returns
82037              {started: False} if the trail was not started.
82038
82039              CLI Example:
82040
82041                 salt myminion boto_cloudtrail.start_logging my_trail
82042
82043       salt.modules.boto_cloudtrail.status(Name,    region=None,     key=None,
82044       keyid=None, profile=None)
82045              Given a trail name describe its properties.
82046
82047              Returns a dictionary of interesting properties.
82048
82049              CLI Example:
82050
82051                 salt myminion boto_cloudtrail.describe mytrail
82052
82053       salt.modules.boto_cloudtrail.stop_logging(Name,  region=None, key=None,
82054       keyid=None, profile=None)
82055              Stop logging for a trail
82056
82057              Returns {stopped: true} if the trail  was  stopped  and  returns
82058              {stopped: False} if the trail was not stopped.
82059
82060              CLI Example:
82061
82062                 salt myminion boto_cloudtrail.stop_logging my_trail
82063
82064       salt.modules.boto_cloudtrail.update(Name,    S3BucketName,    S3KeyPre‐
82065       fix=None, SnsTopicName=None, IncludeGlobalServiceEvents=None,  IsMulti‐
82066       RegionTrail=None,    EnableLogFileValidation=None,   CloudWatchLogsLog‐
82067       GroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None,  region=None,
82068       key=None, keyid=None, profile=None)
82069              Given a valid config, update a trail.
82070
82071              Returns  {created:  true}  if  the trail was created and returns
82072              {created: False} if the trail was not created.
82073
82074              CLI Example:
82075
82076                 salt myminion boto_cloudtrail.update my_trail my_bucket
82077
82078   salt.modules.boto_cloudwatch
82079       Connection module for Amazon CloudWatch
82080
82081       New in version 2014.7.0.
82082
82083
82084       configuration
82085              This module accepts explicit credentials but  can  also  utilize
82086              IAM  roles  assigned  to the instance through Instance Profiles.
82087              Dynamic credentials are then automatically obtained from AWS API
82088              and  no  further  configuration  is  necessary. More Information
82089              available at:
82090
82091                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
82092
82093              If IAM roles are not used you need to specify them either  in  a
82094              pillar or in the minion's config file:
82095
82096                 cloudwatch.keyid: GKTADJGHEIQSXMKKRBJ08H
82097                 cloudwatch.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82098
82099              A region may also be specified in the configuration:
82100
82101                 cloudwatch.region: us-east-1
82102
82103              If a region is not specified, the default is us-east-1.
82104
82105              It's  also  possible to specify key, keyid and region via a pro‐
82106              file, either as a passed in dict, or as a string  to  pull  from
82107              pillars or minion config:
82108
82109                 myprofile:
82110                     keyid: GKTADJGHEIQSXMKKRBJ08H
82111                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82112                     region: us-east-1
82113
82114       depends
82115              boto
82116
82117       salt.modules.boto_cloudwatch.convert_to_arn(arns,          region=None,
82118       key=None, keyid=None, profile=None)
82119              Convert a list of strings into actual arns. Converts convenience
82120              names such as 'scaling_policy:...'
82121
82122              CLI Example:
82123
82124                 salt '*' convert_to_arn 'scaling_policy:'
82125
82126       salt.modules.boto_cloudwatch.create_or_update_alarm(connection=None,
82127       name=None,  metric=None,   namespace=None,   statistic=None,   compari‐
82128       son=None,    threshold=None,    period=None,   evaluation_periods=None,
82129       unit=None, description=u'', dimensions=None, alarm_actions=None, insuf‐
82130       ficient_data_actions=None,   ok_actions=None,   region=None,  key=None,
82131       keyid=None, profile=None)
82132              Create or update a cloudwatch alarm.
82133
82134              Params are the same as:
82135                     https://boto.readthedocs.io/en/latest/ref/cloudwatch.html#boto.ec2.cloudwatch.alarm.MetricAlarm.
82136
82137              Dimensions  must  be  a  dict.  If  the value of Dimensions is a
82138              string,  it  will  be  json   decoded   to   produce   a   dict.
82139              alarm_actions, insufficient_data_actions, and ok_actions must be
82140              lists of string.  If the passed-in value is a string, it will be
82141              split  on  ","  to  produce  a  list. The strings themselves for
82142              alarm_actions, insufficient_data_actions, and ok_actions must be
82143              Amazon  resource  names  (ARN's); however, this method also sup‐
82144              ports an arn lookup notation, as follows:
82145                 arn:aws:....                                     ARN  as  per
82146                 http://docs.aws.amazon.com/general/lat
82147                 est/gr/aws-arns-and-namespaces.html              scaling_pol‐
82148                 icy:<as_name>:<scaling_policy_name>    The   named  autoscale
82149                 group scaling policy, for the named group (e.g.  scaling_pol‐
82150                 icy:my-asg:ScaleDown)
82151
82152              This is convenient for setting up autoscaling as follows.  First
82153              specify a boto_asg.present state for an ASG  with  scaling_poli‐
82154              cies, and then set up boto_cloudwatch_alarm.present states which
82155              have alarm_actions that reference the scaling_policy.
82156
82157              CLI example:
82158                 salt myminion boto_cloudwatch.create_alarm  name=myalarm  ...
82159                 region=us-east-1
82160
82161       salt.modules.boto_cloudwatch.delete_alarm(name,  region=None, key=None,
82162       keyid=None, profile=None)
82163              Delete a cloudwatch alarm
82164
82165              CLI example to delete a queue:
82166
82167                 salt myminion boto_cloudwatch.delete_alarm myalarm region=us-east-1
82168
82169       salt.modules.boto_cloudwatch.get_alarm(name,   region=None,   key=None,
82170       keyid=None, profile=None)
82171              Get  alarm details. Also can be used to check to see if an alarm
82172              exists.
82173
82174              CLI example:
82175
82176                 salt myminion boto_cloudwatch.get_alarm myalarm region=us-east-1
82177
82178       salt.modules.boto_cloudwatch.get_all_alarms(region=None,   prefix=None,
82179       key=None, keyid=None, profile=None)
82180              Get  all  alarm  details.   Produces results that can be used to
82181              create an sls file.
82182
82183              If prefix parameter is given, alarm names in the output will  be
82184              prepended  with  the prefix; alarms that have the prefix will be
82185              skipped.  This can be used to convert existing alarms to be man‐
82186              aged by salt, as follows:
82187
82188                 1.
82189
82190                    Make a backup of all existing alarms
82191                           $      salt-call     boto_cloudwatch.get_all_alarms
82192                           --out=txt | sed "s/local: //" > legacy_alarms.sls
82193
82194                 2.
82195
82196                    Get all alarms with new prefixed names
82197                           $  salt-call  boto_cloudwatch.get_all_alarms  "pre‐
82198                           fix=**MANAGED BY SALT** " --out=txt | sed "s/local:
82199                           //" > managed_alarms.sls
82200
82201                 3.
82202
82203                    Insert the managed alarms into cloudwatch
82204                           $ salt-call state.template managed_alarms.sls
82205
82206                 4. Manually verify that the new alarms look right
82207
82208                 5. Delete  the  original  alarms  $   sed   s/present/absent/
82209                    legacy_alarms.sls  >  remove_legacy_alarms.sls $ salt-call
82210                    state.template remove_legacy_alarms.sls
82211
82212                 6. Get all  alarms  again,  verify  no  changes  $  salt-call
82213                    boto_cloudwatch.get_all_alarms  --out=txt  | sed "s/local:
82214                    //"  >  final_alarms.sls  $  diff  final_alarms.sls   man‐
82215                    aged_alarms.sls
82216
82217              CLI example:
82218
82219                 salt myminion boto_cloudwatch.get_all_alarms region=us-east-1 --out=txt
82220
82221   salt.modules.boto_cloudwatch_event module
82222       Connection module for Amazon CloudWatch Events
82223
82224       New in version 2016.11.0.
82225
82226
82227       configuration
82228              This  module  accepts  explicit credentials but can also utilize
82229              IAM roles assigned to the instance  through  Instance  Profiles.
82230              Dynamic credentials are then automatically obtained from AWS API
82231              and no further  configuration  is  necessary.  More  Information
82232              available at:
82233
82234                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
82235
82236              If  IAM  roles are not used you need to specify them either in a
82237              pillar or in the minion's config file:
82238
82239                 cloudwatch_event.keyid: GKTADJGHEIQSXMKKRBJ08H
82240                 cloudwatch_event.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82241
82242              A region may also be specified in the configuration:
82243
82244                 cloudwatch_event.region: us-east-1
82245
82246              If a region is not specified, the default is us-east-1.
82247
82248              It's also possible to specify key, keyid and region via  a  pro‐
82249              file,  either  as  a passed in dict, or as a string to pull from
82250              pillars or minion config:
82251
82252                 myprofile:
82253                     keyid: GKTADJGHEIQSXMKKRBJ08H
82254                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82255                     region: us-east-1
82256
82257       depends
82258              boto3
82259
82260       salt.modules.boto_cloudwatch_event.create_or_update(Name,   ScheduleEx‐
82261       pression=None,   EventPattern=None,   Description=None,   RoleArn=None,
82262       State=None, region=None, key=None, keyid=None, profile=None)
82263              Given a valid config, create an event rule.
82264
82265              Returns {created: true} if the  rule  was  created  and  returns
82266              {created: False} if the rule was not created.
82267
82268              CLI Example:
82269
82270                 salt myminion boto_cloudwatch_event.create_or_update my_rule
82271
82272       salt.modules.boto_cloudwatch_event.delete(Name,  region=None, key=None,
82273       keyid=None, profile=None)
82274              Given a rule name, delete it.
82275
82276              Returns {deleted: true} if the  rule  was  deleted  and  returns
82277              {deleted: false} if the rule was not deleted.
82278
82279              CLI Example:
82280
82281                 salt myminion boto_cloudwatch_event.delete myrule
82282
82283       salt.modules.boto_cloudwatch_event.describe(Name,          region=None,
82284       key=None, keyid=None, profile=None)
82285              Given a rule name describe its properties.
82286
82287              Returns a dictionary of interesting properties.
82288
82289              CLI Example:
82290
82291                 salt myminion boto_cloudwatch_event.describe myrule
82292
82293       salt.modules.boto_cloudwatch_event.exists(Name, region=None,  key=None,
82294       keyid=None, profile=None)
82295              Given a rule name, check to see if the given rule exists.
82296
82297              Returns  True  if the given rule exists and returns False if the
82298              given rule does not exist.
82299
82300              CLI example:
82301
82302                 salt myminion boto_cloudwatch_event.exists myevent region=us-east-1
82303
82304       salt.modules.boto_cloudwatch_event.list_rules(region=None,    key=None,
82305       keyid=None, profile=None)
82306              List,  with  details,  all Cloudwatch Event rules visible in the
82307              current scope.
82308
82309              CLI example:
82310
82311                 salt myminion boto_cloudwatch_event.list_rules region=us-east-1
82312
82313       salt.modules.boto_cloudwatch_event.list_targets(Rule,      region=None,
82314       key=None, keyid=None, profile=None)
82315              Given a rule name list the targets of that rule.
82316
82317              Returns a dictionary of interesting properties.
82318
82319              CLI Example:
82320
82321                 salt myminion boto_cloudwatch_event.list_targets myrule
82322
82323       salt.modules.boto_cloudwatch_event.put_targets(Rule,           Targets,
82324       region=None, key=None, keyid=None, profile=None)
82325              Add the given targets to the given rule
82326
82327              Returns a dictionary describing any failures.
82328
82329              CLI Example:
82330
82331                 salt myminion boto_cloudwatch_event.put_targets myrule [{'Id': 'target1', 'Arn': 'arn:***'}]
82332
82333       salt.modules.boto_cloudwatch_event.remove_targets(Rule,            Ids,
82334       region=None, key=None, keyid=None, profile=None)
82335              Given a rule name remove the named targets from the target list
82336
82337              Returns a dictionary describing any failures.
82338
82339              CLI Example:
82340
82341                 salt myminion boto_cloudwatch_event.remove_targets myrule ['Target1']
82342
82343   salt.modules.boto_cognitoidentity module
82344       Connection module for Amazon CognitoIdentity
82345
82346       New in version 2016.11.0.
82347
82348
82349       configuration
82350              This module accepts explicit CognitoIdentity credentials but can
82351              also utilize IAM roles assigned to the instance trough  Instance
82352              Profiles.   Dynamic  credentials are then automatically obtained
82353              from AWS API and no further  configuration  is  necessary.  More
82354              Information available at:
82355
82356                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
82357
82358              If  IAM  roles are not used you need to specify them either in a
82359              pillar or in the minion's config file:
82360
82361                 cognitoidentity.keyid: GKTADJGHEIQSXMKKRBJ08H
82362                 cognitoidentity.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82363
82364              A region may also be specified in the configuration:
82365
82366                 cognitoidentity.region: us-east-1
82367
82368              If a region is not specified, the default is us-east-1.
82369
82370              It's also possible to specify key, keyid and region via  a  pro‐
82371              file,  either  as  a passed in dict, or as a string to pull from
82372              pillars or minion config:
82373
82374                 myprofile:
82375                     keyid: GKTADJGHEIQSXMKKRBJ08H
82376                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82377                     region: us-east-1
82378
82379       Changed in version 2015.8.0: All methods now return a dictionary.  Cre‐
82380       ate, delete, set, and update methods return:
82381
82382          created: true
82383
82384       or
82385
82386          created: false
82387          error:
82388            message: error message
82389
82390       Request methods (e.g., describe_identity_pools) return:
82391
82392          identity_pools:
82393            - {...}
82394            - {...}
82395
82396       or
82397
82398          error:
82399            message: error message
82400
82401
82402       depends
82403              boto3
82404
82405       salt.modules.boto_cognitoidentity.create_identity_pool(IdentityPool‐
82406       Name,       AllowUnauthenticatedIdentities=False,       SupportedLogin‐
82407       Providers=None,    DeveloperProviderName=None,   OpenIdConnectProvider‐
82408       ARNs=None, region=None, key=None, keyid=None, profile=None)
82409              Creates a new identity pool.  All parameters except for  Identi‐
82410              tyPoolName  is  optional.   SupportedLoginProviders  should be a
82411              dictionary mapping provider names to provider app IDs.   OpenId‐
82412              ConnectProviderARNs  should be a list of OpenID Connect provider
82413              ARNs.
82414
82415              Returns the created identity pool if successful
82416
82417              CLI Example:
82418
82419                 salt myminion boto_cognitoidentity.create_identity_pool my_id_pool_name                              DeveloperProviderName=custom_developer_provider
82420
82421       salt.modules.boto_cognitoidentity.delete_identity_pools(IdentityPool‐
82422       Name,  IdentityPoolId=None,  region=None,  key=None,  keyid=None,  pro‐
82423       file=None)
82424              Given an identity pool name, (optionally if an identity pool  id
82425              is given, the given name will be ignored)
82426
82427              Deletes  all identity pools matching the given name, or the spe‐
82428              cific identity pool with the given identity pool id.
82429
82430              CLI Example:
82431
82432                 salt myminion boto_cognitoidentity.delete_identity_pools my_id_pool_name
82433                 salt myminion boto_cognitoidentity.delete_identity_pools '' IdentityPoolId=my_id_pool_id
82434
82435       salt.modules.boto_cognitoidentity.describe_identity_pools(IdentityPool‐
82436       Name,  IdentityPoolId=None,  region=None,  key=None,  keyid=None,  pro‐
82437       file=None)
82438              Given an identity pool name, (optionally if an identity pool  id
82439              is given, the given name will be ignored)
82440
82441              Returns a list of matched identity pool name's pool properties
82442
82443              CLI Example:
82444
82445                 salt myminion boto_cognitoidentity.describe_identity_pools my_id_pool_name
82446                 salt myminion boto_cognitoidentity.describe_identity_pools '' IdentityPoolId=my_id_pool_id
82447
82448       salt.modules.boto_cognitoidentity.get_identity_pool_roles(IdentityPool‐
82449       Name,  IdentityPoolId=None,  region=None,  key=None,  keyid=None,  pro‐
82450       file=None)
82451              Given  an identity pool name, (optionally if an identity pool id
82452              if given, the given name will be ignored)
82453
82454              Returns a list of matched identity pool name's associated roles
82455
82456              CLI Example:
82457
82458                 salt myminion boto_cognitoidentity.get_identity_pool_roles my_id_pool_name
82459                 salt myminion boto_cognitoidentity.get_identity_pool_roles '' IdentityPoolId=my_id_pool_id
82460
82461       salt.modules.boto_cognitoidentity.set_identity_pool_roles(Identity‐
82462       PoolId,  AuthenticatedRole=None, UnauthenticatedRole=None, region=None,
82463       key=None, keyid=None, profile=None)
82464              Given an identity pool id, set the given  AuthenticatedRole  and
82465              UnauthenticatedRole (the Role can be an iam arn, or a role name)
82466              If AuthenticatedRole or UnauthenticatedRole is  not  given,  the
82467              authenticated  and/or the unauthenticated role associated previ‐
82468              ously with the pool will be cleared.
82469
82470              Returns set True if successful, set False if  unsuccessful  with
82471              the associated errors.
82472
82473              CLI Example:
82474
82475                 salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_roles  # this clears the roles
82476                 salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_id             AuthenticatedRole=my_auth_role UnauthenticatedRole=my_unauth_role  # this set both roles
82477                 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
82478                 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
82479
82480       salt.modules.boto_cognitoidentity.update_identity_pool(IdentityPoolId,
82481       IdentityPoolName=None, AllowUnauthenticatedIdentities=False, Supported‐
82482       LoginProviders=None, DeveloperProviderName=None, OpenIdConnectProvider‐
82483       ARNs=None, region=None, key=None, keyid=None, profile=None)
82484              Updates the given IdentityPoolId's properties.   All  parameters
82485              except for IdentityPoolId, is optional.  SupportedLoginProviders
82486              should be a dictionary mapping provider names  to  provider  app
82487              IDs.   OpenIdConnectProviderARNs should be a list of OpenID Con‐
82488              nect provider ARNs.
82489
82490              To clear SupportedLoginProviders pass '{}'
82491
82492              To clear OpenIdConnectProviderARNs pass '[]'
82493
82494              boto3 api prevents DeveloperProviderName to be updated after  it
82495              has been set for the first time.
82496
82497              Returns the updated identity pool if successful
82498
82499              CLI Example:
82500
82501                 salt myminion boto_cognitoidentity.update_identity_pool my_id_pool_id my_id_pool_name                              DeveloperProviderName=custom_developer_provider
82502
82503   salt.modules.boto_datapipeline module
82504       Connection module for Amazon Data Pipeline
82505
82506       New in version 2016.3.0.
82507
82508
82509       depends
82510              boto3
82511
82512       salt.modules.boto_datapipeline.activate_pipeline(pipeline_id,
82513       region=None, key=None, keyid=None, profile=None)
82514              Start processing pipeline tasks. This function is idempotent.
82515
82516              CLI example:
82517
82518                 salt myminion boto_datapipeline.activate_pipeline my_pipeline_id
82519
82520       salt.modules.boto_datapipeline.create_pipeline(name,         unique_id,
82521       description=u'', region=None, key=None, keyid=None, profile=None)
82522              Create a new, empty pipeline. This function is idempotent.
82523
82524              CLI example:
82525
82526                 salt myminion boto_datapipeline.create_pipeline my_name my_unique_id
82527
82528       salt.modules.boto_datapipeline.delete_pipeline(pipeline_id,
82529       region=None, key=None, keyid=None, profile=None)
82530              Delete a pipeline, its pipeline definition, and its run history.
82531              This function is idempotent.
82532
82533              CLI example:
82534
82535                 salt myminion boto_datapipeline.delete_pipeline my_pipeline_id
82536
82537       salt.modules.boto_datapipeline.describe_pipelines(pipeline_ids,
82538       region=None, key=None, keyid=None, profile=None)
82539              Retrieve metadata about one or more pipelines.
82540
82541              CLI example:
82542
82543                 salt myminion boto_datapipeline.describe_pipelines ['my_pipeline_id']
82544
82545       salt.modules.boto_datapipeline.get_pipeline_definition(pipeline_id,
82546       version=u'latest', region=None, key=None, keyid=None, profile=None)
82547              Get the definition of the specified pipeline.
82548
82549              CLI example:
82550
82551                 salt myminion boto_datapipeline.get_pipeline_definition my_pipeline_id
82552
82553       salt.modules.boto_datapipeline.list_pipelines(region=None,    key=None,
82554       keyid=None, profile=None)
82555              Get a list of pipeline ids and names for all pipelines.
82556
82557              CLI Example:
82558
82559                 salt myminion boto_datapipeline.list_pipelines profile=myprofile
82560
82561       salt.modules.boto_datapipeline.pipeline_id_from_name(name, region=None,
82562       key=None, keyid=None, profile=None)
82563              Get the pipeline id, if it exists, for the given name.
82564
82565              CLI example:
82566
82567                 salt myminion boto_datapipeline.pipeline_id_from_name my_pipeline_name
82568
82569       salt.modules.boto_datapipeline.put_pipeline_definition(pipeline_id,
82570       pipeline_objects,    parameter_objects=None,     parameter_values=None,
82571       region=None, key=None, keyid=None, profile=None)
82572              Add  tasks,  schedules, and preconditions to the specified pipe‐
82573              line. This function is idempotent and will replace  an  existing
82574              definition.
82575
82576              CLI example:
82577
82578                 salt myminion boto_datapipeline.put_pipeline_definition my_pipeline_id my_pipeline_objects
82579
82580   salt.modules.boto_dynamodb
82581       Connection module for Amazon DynamoDB
82582
82583       New in version 2015.5.0.
82584
82585
82586       configuration
82587              This  module  accepts explicit DynamoDB credentials but can also
82588              utilize IAM roles assigned to the instance through Instance Pro‐
82589              files.  Dynamic credentials are then automatically obtained from
82590              AWS API and no further configuration is necessary. More Informa‐
82591              tion available at:
82592
82593                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
82594
82595              If  IAM  roles are not used you need to specify them either in a
82596              pillar or in the minion's config file:
82597
82598                 keyid: GKTADJGHEIQSXMKKRBJ08H
82599                 key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82600
82601              A region may also be specified in the configuration:
82602
82603                 region: us-east-1
82604
82605              If a region is not specified, the default is us-east-1.
82606
82607              It's also possible to specify key, keyid and region via  a  pro‐
82608              file,  either  as  a passed in dict, or as a string to pull from
82609              pillars or minion config:
82610
82611                 myprofile:
82612                     keyid: GKTADJGHEIQSXMKKRBJ08H
82613                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82614                     region: us-east-1
82615
82616       depends
82617              boto
82618
82619       salt.modules.boto_dynamodb.create_global_secondary_index(table_name,
82620       global_index, region=None, key=None, keyid=None, profile=None)
82621              Creates a single global secondary index on a DynamoDB table.
82622
82623              CLI Example:
82624                 salt myminion boto_dynamodb.create_global_secondary_index ta‐
82625                 ble_name / index_name
82626
82627       salt.modules.boto_dynamodb.create_table(table_name,        region=None,
82628       key=None,     keyid=None,    profile=None,    read_capacity_units=None,
82629       write_capacity_units=None,   hash_key=None,    hash_key_data_type=None,
82630       range_key=None,      range_key_data_type=None,      local_indexes=None,
82631       global_indexes=None)
82632              Creates a DynamoDB table.
82633
82634              CLI Example:
82635
82636                 salt myminion boto_dynamodb.create_table table_name /
82637                 region=us-east-1 /
82638                 hash_key=id /
82639                 hash_key_data_type=N /
82640                 range_key=created_at /
82641                 range_key_data_type=N /
82642                 read_capacity_units=1 /
82643                 write_capacity_units=1
82644
82645       salt.modules.boto_dynamodb.delete(table_name,  region=None,   key=None,
82646       keyid=None, profile=None)
82647              Delete a DynamoDB table.
82648
82649              CLI Example:
82650
82651                 salt myminion boto_dynamodb.delete table_name region=us-east-1
82652
82653       salt.modules.boto_dynamodb.describe(table_name,  region=None, key=None,
82654       keyid=None, profile=None)
82655              Describe a DynamoDB table.
82656
82657              CLI example:
82658
82659                 salt myminion boto_dynamodb.describe table_name region=us-east-1
82660
82661       salt.modules.boto_dynamodb.exists(table_name,  region=None,   key=None,
82662       keyid=None, profile=None)
82663              Check to see if a table exists.
82664
82665              CLI Example:
82666
82667                 salt myminion boto_dynamodb.exists table_name region=us-east-1
82668
82669       salt.modules.boto_dynamodb.extract_index(index_data,
82670       global_index=False)
82671              Instantiates and returns an AllIndex object given a valid  index
82672              configuration
82673
82674              CLI Example:
82675                     salt myminion boto_dynamodb.extract_index index
82676
82677       salt.modules.boto_dynamodb.update(table_name,          throughput=None,
82678       global_indexes=None, region=None, key=None, keyid=None, profile=None)
82679              Update a DynamoDB table.
82680
82681              CLI example:
82682
82683                 salt myminion boto_dynamodb.update table_name region=us-east-1
82684
82685       salt.modules.boto_dynamodb.update_global_secondary_index(table_name,
82686       global_indexes, region=None, key=None, keyid=None, profile=None)
82687              Updates the throughput of the given global secondary indexes.
82688
82689              CLI Example:
82690                 salt myminion boto_dynamodb.update_global_secondary_index ta‐
82691                 ble_name / indexes
82692
82693   salt.modules.boto_ec2
82694       Connection module for Amazon EC2
82695
82696       New in version 2015.8.0.
82697
82698
82699       configuration
82700              This module accepts explicit EC2 credentials but can  also  uti‐
82701              lize  IAM  roles  assigned to the instance through Instance Pro‐
82702              files.  Dynamic credentials are then automatically obtained from
82703              AWS API and no further configuration is necessary. More Informa‐
82704              tion available here.
82705
82706       If IAM roles are not used you need to specify them either in  a  pillar
82707       or in the minion's config file:
82708
82709          ec2.keyid: GKTADJGHEIQSXMKKRBJ08H
82710          ec2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82711
82712       A region may also be specified in the configuration:
82713
82714          ec2.region: us-east-1
82715
82716       If a region is not specified, the default is us-east-1.
82717
82718       It's  also  possible  to  specify key, keyid, and region via a profile,
82719       either as a passed in dict, or as a string to pull from pillars or min‐
82720       ion config:
82721
82722          myprofile:
82723            keyid: GKTADJGHEIQSXMKKRBJ08H
82724            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82725            region: us-east-1
82726
82727       depends
82728              boto
82729
82730       salt.modules.boto_ec2.allocate_eip_address(domain=None,    region=None,
82731       key=None, keyid=None, profile=None)
82732              Allocate a new Elastic IP address and  associate  it  with  your
82733              account.
82734
82735              domain (string)  Optional  param  - if set to exactly 'vpc', the
82736                     address will be allocated to the VPC.  The default simply
82737                     maps the EIP to your account container.
82738
82739              returns
82740                     (dict)  dict of 'interesting' information about the newly
82741                     allocated EIP, with probably the  most  interesting  keys
82742                     being  'public_ip';  and 'allocation_id' iff 'domain=vpc'
82743                     was passed.
82744
82745              CLI Example:
82746
82747                 salt-call boto_ec2.allocate_eip_address domain=vpc
82748
82749              New in version 2016.3.0.
82750
82751
82752       salt.modules.boto_ec2.assign_private_ip_addresses(network_inter‐
82753       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
82754       secondary_private_ip_address_count=None,      allow_reassignment=False,
82755       region=None, key=None, keyid=None, profile=None)
82756              Assigns  one or more secondary private IP addresses to a network
82757              interface.
82758
82759              network_interface_id
82760                     (string) - ID of the network interface to  associate  the
82761                     IP with (exclusive with 'network_interface_name')
82762
82763              network_interface_name
82764                     (string) - Name of the network interface to associate the
82765                     IP with (exclusive with 'network_interface_id')
82766
82767              private_ip_addresses
82768                     (list) - Assigns the specified IP addresses as  secondary
82769                     IP  addresses  to  the  network interface (exclusive with
82770                     'secondary_private_ip_address_count')
82771
82772              secondary_private_ip_address_count
82773                     (int) - The number of secondary IP addresses to assign to
82774                     the    network    interface.    (exclusive   with   'pri‐
82775                     vate_ip_addresses')
82776
82777              allow_reassociation
82778                     (bool)    –  Allow  a  currently  associated  EIP  to  be
82779                     re-associated with the new instance or interface.
82780
82781              returns
82782                     (bool)   - True on success, False on failure.
82783
82784              CLI Example:
82785
82786                 salt myminion boto_ec2.assign_private_ip_addresses network_interface_name=my_eni private_ip_addresses=private_ip
82787                 salt myminion boto_ec2.assign_private_ip_addresses network_interface_name=my_eni secondary_private_ip_address_count=2
82788
82789              New in version 2017.7.0.
82790
82791
82792       salt.modules.boto_ec2.associate_eip_address(instance_id=None,
82793       instance_name=None, public_ip=None, allocation_id=None,  network_inter‐
82794       face_id=None,   network_interface_name=None,   private_ip_address=None,
82795       allow_reassociation=False,  region=None,  key=None,  keyid=None,   pro‐
82796       file=None)
82797              Associate  an  Elastic  IP  address  with  a  currently  running
82798              instance or a network interface.  This requires exactly  one  of
82799              either  'public_ip'  or  'allocation_id',  depending  on whether
82800              you’re associating a VPC address or a plain EC2 address.
82801
82802              instance_id
82803                     (string) – ID of the instance to associate  with  (exclu‐
82804                     sive with 'instance_name')
82805
82806              instance_name
82807                     (string)  –  Name  tag  of the instance to associate with
82808                     (exclusive with 'instance_id')
82809
82810              public_ip
82811                     (string) – Public IP  address,  for  standard  EC2  based
82812                     allocations.
82813
82814              allocation_id
82815                     (string) – Allocation ID for a VPC-based EIP.
82816
82817              network_interface_id
82818                     (string)  -  ID of the network interface to associate the
82819                     EIP with
82820
82821              network_interface_name
82822                     (string) - Name of the network interface to associate the
82823                     EIP with
82824
82825              private_ip_address
82826                     (string) – The primary or secondary private IP address to
82827                     associate with the Elastic IP address.
82828
82829              allow_reassociation
82830                     (bool)    –  Allow  a  currently  associated  EIP  to  be
82831                     re-associated with the new instance or interface.
82832
82833              returns
82834                     (bool)   - True on success, False on failure.
82835
82836              CLI Example:
82837
82838                 salt myminion boto_ec2.associate_eip_address instance_name=bubba.ho.tep allocation_id=eipalloc-ef382c8a
82839
82840              New in version 2016.3.0.
82841
82842
82843       salt.modules.boto_ec2.attach_network_interface(device_index, name=None,
82844       network_interface_id=None,    instance_name=None,     instance_id=None,
82845       region=None, key=None, keyid=None, profile=None)
82846              Attach an Elastic Network Interface.
82847
82848              New in version 2016.3.0.
82849
82850
82851              CLI Example:
82852
82853                 salt myminion boto_ec2.attach_network_interface my_eni instance_name=salt-master device_index=0
82854
82855       salt.modules.boto_ec2.attach_volume(volume_id,   instance_id,   device,
82856       region=None, key=None, keyid=None, profile=None)
82857              Attach an EBS volume to an EC2 instance.
82858
82859              volume_id
82860                     (string) – The ID of the EBS volume to be attached.
82861
82862              instance_id
82863                     (string) – The ID of the EC2 instance to attach the  vol‐
82864                     ume to.
82865
82866              device (string)  –  The device on the instance through which the
82867                     volume is exposed (e.g. /dev/sdh)
82868
82869              returns
82870                     (bool) - True on success, False on failure.
82871
82872              CLI Example:
82873
82874                 salt-call boto_ec2.attach_volume vol-12345678 i-87654321 /dev/sdh
82875
82876       salt.modules.boto_ec2.create_image(ami_name,          instance_id=None,
82877       instance_name=None,  tags=None, region=None, key=None, keyid=None, pro‐
82878       file=None,  description=None,  no_reboot=False,   dry_run=False,   fil‐
82879       ters=None)
82880              Given instance properties that define exactly one instance, cre‐
82881              ate AMI and return AMI-id.
82882
82883              CLI Examples:
82884
82885                 salt myminion boto_ec2.create_image ami_name instance_name=myinstance
82886                 salt myminion boto_ec2.create_image another_ami_name tags='{"mytag": "value"}' description='this is my ami'
82887
82888       salt.modules.boto_ec2.create_key(key_name,   save_path,    region=None,
82889       key=None, keyid=None, profile=None)
82890              Creates a key and saves it to a given path.  Returns the private
82891              key.
82892
82893              CLI Example:
82894
82895                 salt myminion boto_ec2.create_key mykey /root/
82896
82897       salt.modules.boto_ec2.create_network_interface(name,    subnet_id=None,
82898       subnet_name=None,       private_ip_address=None,      description=None,
82899       groups=None, region=None, key=None, keyid=None, profile=None)
82900              Create an Elastic Network Interface.
82901
82902              New in version 2016.3.0.
82903
82904
82905              CLI Example:
82906
82907                 salt myminion boto_ec2.create_network_interface my_eni subnet-12345 description=my_eni groups=['my_group']
82908
82909       salt.modules.boto_ec2.create_tags(resource_ids,   tags,    region=None,
82910       key=None, keyid=None, profile=None)
82911              Create new metadata tags for the specified resource ids.
82912
82913              New in version 2016.11.0.
82914
82915
82916              resource_ids
82917                     (string)  or  (list)  –  List  of  resource IDs.  A plain
82918                     string will be converted to a list of one element.
82919
82920              tags   (dict) – Dictionary of name/value pairs. To create only a
82921                     tag name, pass '' as the value.
82922
82923              returns
82924                     (bool) - True on success, False on failure.
82925
82926              CLI Example:
82927
82928                 salt-call boto_ec2.create_tags vol-12345678 '{"Name": "myVolume01"}'
82929
82930       salt.modules.boto_ec2.create_volume(zone_name,     size=None,     snap‐
82931       shot_id=None,     volume_type=None,     iops=None,     encrypted=False,
82932       kms_key_id=None,    wait_for_creation=False,   region=None,   key=None,
82933       keyid=None, profile=None)
82934              Create an EBS volume to an availability zone.
82935
82936              zone_name
82937                     (string) – The Availability zone name of the  EBS  volume
82938                     to be created.
82939
82940              size
82941
82942                     (int)  –  The  size  of the new volume, in GiB. If you're
82943                     creating the
82944                            volume from a snapshot and don't specify a  volume
82945                            size, the default is the snapshot size.
82946
82947              snapshot_id
82948                     (string)  –   The  snapshot  ID from which the new volume
82949                     will be created.
82950
82951              volume_type
82952
82953                     (string) - The type of the volume. Valid volume types for
82954                     AWS can be found here:
82955                            http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
82956
82957              iops   (int) - The provisioned IOPS you want to  associate  with
82958                     this volume.
82959
82960              encrypted
82961                     (bool)   -   Specifies   whether  the  volume  should  be
82962                     encrypted.
82963
82964              kms_key_id
82965
82966                     (string) - If encrypted is True, this KMS Key ID  may  be
82967                     specified to
82968                            encrypt     volume    with    this    key    e.g.:
82969                            arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef
82970
82971              wait_for_creation
82972                     (bool)  -  Whether  or not to wait for volume creation to
82973                     complete.
82974
82975              returns
82976                     (string) - created volume id on success, error message on
82977                     failure.
82978
82979              CLI Example:
82980
82981                 salt-call boto_ec2.create_volume us-east-1a size=10
82982                 salt-call boto_ec2.create_volume us-east-1a snapshot_id=snap-0123abcd
82983
82984       salt.modules.boto_ec2.delete_key(key_name,    region=None,    key=None,
82985       keyid=None, profile=None)
82986              Deletes a key. Always returns True
82987
82988              CLI Example:
82989
82990                 salt myminion boto_ec2.delete_key mykey
82991
82992       salt.modules.boto_ec2.delete_network_interface(name=None,          net‐
82993       work_interface_id=None,   region=None,   key=None,   keyid=None,   pro‐
82994       file=None)
82995              Create an Elastic Network Interface.
82996
82997              New in version 2016.3.0.
82998
82999
83000              CLI Example:
83001
83002                 salt myminion boto_ec2.create_network_interface my_eni subnet-12345 description=my_eni groups=['my_group']
83003
83004       salt.modules.boto_ec2.delete_tags(resource_ids,   tags,    region=None,
83005       key=None, keyid=None, profile=None)
83006              Delete metadata tags for the specified resource ids.
83007
83008              New in version 2016.11.0.
83009
83010
83011              resource_ids
83012                     (string)  or  (list)  –  List  of  resource IDs.  A plain
83013                     string will be converted to a list of one element.
83014
83015              tags
83016
83017                     (dict)  or  (list)  –  Either  a  dictionary   containing
83018                     name/value pairs or a list containing just tag names.
83019                            If you pass in a dictionary, the values must match
83020                            the actual tag values  or  the  tag  will  not  be
83021                            deleted.  If  you  pass in a value of None for the
83022                            tag  value,  all  tags  with  that  name  will  be
83023                            deleted.
83024
83025              returns
83026                     (bool) - True on success, False on failure.
83027
83028              CLI Example:
83029
83030                 salt-call boto_ec2.delete_tags vol-12345678 '{"Name": "myVolume01"}'
83031                 salt-call boto_ec2.delete_tags vol-12345678 '["Name","MountPoint"]'
83032
83033       salt.modules.boto_ec2.delete_volume(volume_id,        instance_id=None,
83034       device=None,  force=False,  region=None,  key=None,  keyid=None,   pro‐
83035       file=None)
83036              Detach an EBS volume from an EC2 instance.
83037
83038              New in version 2016.11.0.
83039
83040
83041              volume_id
83042                     (string) – The ID of the EBS volume to be deleted.
83043
83044              force  (bool)  –  Forces deletion even if the device has not yet
83045                     been detached from its instance.
83046
83047              returns
83048                     (bool) - True on success, False on failure.
83049
83050              CLI Example:
83051
83052                 salt-call boto_ec2.delete_volume vol-12345678
83053
83054       salt.modules.boto_ec2.detach_network_interface(name=None,          net‐
83055       work_interface_id=None,  attachment_id=None,  force=False, region=None,
83056       key=None, keyid=None, profile=None)
83057              Detach an Elastic Network Interface.
83058
83059              New in version 2016.3.0.
83060
83061
83062              CLI Example:
83063
83064                 salt myminion boto_ec2.detach_network_interface my_eni
83065
83066       salt.modules.boto_ec2.detach_volume(volume_id,        instance_id=None,
83067       device=None,   force=False,   wait_for_detachement=False,  region=None,
83068       key=None, keyid=None, profile=None)
83069              Detach an EBS volume from an EC2 instance.
83070
83071              New in version 2016.11.0.
83072
83073
83074              volume_id
83075                     (string) – The ID of the EBS volume to be detached.
83076
83077              instance_id
83078                     (string) – The ID of the EC2 instance from which it  will
83079                     be detached.
83080
83081              device (string)  –  The device on the instance through which the
83082                     volume is exposted (e.g. /dev/sdh)
83083
83084              force
83085
83086                     (bool) – Forces detachment  if  the  previous  detachment
83087                     attempt did not occur cleanly.
83088                            This  option  can lead to data loss or a corrupted
83089                            file system. Use this option only as a last resort
83090                            to  detach  a  volume  from a failed instance. The
83091                            instance will not have  an  opportunity  to  flush
83092                            file  system caches nor file system meta data.  If
83093                            you use this option, you must perform file  system
83094                            check and repair procedures.
83095
83096              wait_for_detachement
83097                     (bool) - Whether or not to wait for volume detachement to
83098                     complete.
83099
83100              returns
83101                     (bool) - True on success, False on failure.
83102
83103              CLI Example:
83104
83105                 salt-call boto_ec2.detach_volume vol-12345678 i-87654321
83106
83107       salt.modules.boto_ec2.disassociate_eip_address(public_ip=None, associa‐
83108       tion_id=None, region=None, key=None, keyid=None, profile=None)
83109              Disassociate  an  Elastic  IP  address  from a currently running
83110              instance. This requires exactly one of  either  'association_id'
83111              or  'public_ip',  depending on whether you’re dealing with a VPC
83112              or EC2 Classic address.
83113
83114              public_ip
83115                     (string) – Public IP address,  for  EC2  Classic  alloca‐
83116                     tions.
83117
83118              association_id
83119                     (string) – Association ID for a VPC-bound EIP.
83120
83121              returns
83122                     (bool)   - True on success, False on failure.
83123
83124              CLI Example:
83125
83126                 salt myminion boto_ec2.disassociate_eip_address association_id=eipassoc-e3ba2d16
83127
83128              New in version 2016.3.0.
83129
83130
83131       salt.modules.boto_ec2.exists(instance_id=None,   name=None,  tags=None,
83132       region=None, key=None, keyid=None, profile=None,  in_states=None,  fil‐
83133       ters=None)
83134              Given  an  instance  id,  check  to see if the given instance id
83135              exists.
83136
83137              Returns True if the given instance with the given id,  name,  or
83138              tags exists; otherwise, False is returned.
83139
83140              CLI Example:
83141
83142                 salt myminion boto_ec2.exists myinstance
83143
83144       salt.modules.boto_ec2.find_images(ami_name=None,    executable_by=None,
83145       owners=None,   image_ids=None,   tags=None,   region=None,    key=None,
83146       keyid=None, profile=None, return_objs=False)
83147              Given image properties, find and return matching AMI ids
83148
83149              CLI Examples:
83150
83151                 salt myminion boto_ec2.find_images tags='{"mytag": "value"}'
83152
83153       salt.modules.boto_ec2.find_instances(instance_id=None,       name=None,
83154       tags=None,    region=None,    key=None,    keyid=None,    profile=None,
83155       return_objs=False, in_states=None, filters=None)
83156              Given instance properties, find and return matching instance ids
83157
83158              CLI Examples:
83159
83160                 salt myminion boto_ec2.find_instances # Lists all instances
83161                 salt myminion boto_ec2.find_instances name=myinstance
83162                 salt myminion boto_ec2.find_instances tags='{"mytag": "value"}'
83163                 salt myminion boto_ec2.find_instances filters='{"vpc-id": "vpc-12345678"}'
83164
83165       salt.modules.boto_ec2.get_all_eip_addresses(addresses=None,     alloca‐
83166       tion_ids=None, region=None, key=None, keyid=None, profile=None)
83167              Get public addresses of some, or all EIPs  associated  with  the
83168              current account.
83169
83170              addresses
83171                     (list)  -  Optional list of addresses.  If provided, only
83172                     the addresses associated with those in the list  will  be
83173                     returned.
83174
83175              allocation_ids
83176                     (list)  -  Optional list of allocation IDs.  If provided,
83177                     only the addresses associated with the  given  allocation
83178                     IDs will be returned.
83179
83180              returns
83181                     (list) - A list of the requested EIP addresses
83182
83183              CLI Example:
83184
83185                 salt-call boto_ec2.get_all_eip_addresses
83186
83187              New in version 2016.3.0.
83188
83189
83190       salt.modules.boto_ec2.get_all_tags(filters=None, region=None, key=None,
83191       keyid=None, profile=None)
83192              Describe all tags matching the filter criteria, or all  tags  in
83193              the account otherwise.
83194
83195              New in version 2018.3.0.
83196
83197
83198              filters
83199                     (dict)  -  Additional  constraints  on  which  volumes to
83200                     return.  Note that valid filters vary extensively depend‐
83201                     ing  on  the  resource type.  When in doubt, search first
83202                     without a filter and then use the returned data  to  help
83203                     fine-tune  your  search.   You  can  generally garner the
83204                     resource type from its ID (e.g. vol-XXXXX  is  a  volume,
83205                     i-XXXXX is an instance, etc.
83206
83207              CLI Example:
83208
83209                 salt-call boto_ec2.get_all_tags '{"tag:Name": myInstanceNameTag, resource-type: instance}'
83210
83211       salt.modules.boto_ec2.get_all_volumes(volume_ids=None,    filters=None,
83212       return_objs=False, region=None, key=None, keyid=None, profile=None)
83213              Get a list of all EBS volumes, optionally filtered  by  provided
83214              'filters' param
83215
83216              New in version 2016.11.0.
83217
83218
83219              volume_ids
83220                     (list)  - Optional list of volume_ids.  If provided, only
83221                     the volumes associated with those in  the  list  will  be
83222                     returned.
83223
83224              filters
83225                     (dict)  -  Additional  constraints  on  which  volumes to
83226                     return.  Valid filters are:
83227
83228              · attachment.attach-time - The time stamp  when  the  attachment
83229                initiated.
83230
83231              · attachment.delete-on-termination   -  Whether  the  volume  is
83232                deleted on instance termination.
83233
83234              · attachment.device - The device name that  is  exposed  to  the
83235                instance (for example, /dev/sda1).
83236
83237              · attachment.instance-id  - The ID of the instance the volume is
83238                attached to.
83239
83240              · attachment.status - The attachment state (attaching | attached
83241                | detaching | detached).
83242
83243              · availability-zone  - The Availability Zone in which the volume
83244                was created.
83245
83246              · create-time - The time stamp when the volume was created.
83247
83248              · encrypted - The encryption status of the volume.
83249
83250              · size - The size of the volume, in GiB.
83251
83252              · snapshot-id - The snapshot from which the volume was created.
83253
83254              · status - The status of the  volume  (creating  |  available  |
83255                in-use | deleting | deleted | error).
83256
83257              · tag:key=value - The key/value combination of a tag assigned to
83258                the resource.
83259
83260              · volume-id - The volume ID.
83261
83262              · volume-type - The Amazon EBS volume type. This can be gp2  for
83263                General  Purpose  SSD,  io1  for Provisioned IOPS SSD, st1 for
83264                Throughput Optimized HDD, sc1 for Cold HDD,  or  standard  for
83265                Magnetic volumes.
83266
83267              return_objs
83268                     (bool)  - Changes the return type from list of volume IDs
83269                     to list of boto.ec2.volume.Volume objects
83270
83271              returns
83272                     (list) - A list of the requested values: Either the  vol‐
83273                     ume  IDs or, if return_objs is True, boto.ec2.volume.Vol‐
83274                     ume objects.
83275
83276              CLI Example:
83277
83278                 salt-call boto_ec2.get_all_volumes filters='{"tag:Name": "myVolume01"}'
83279
83280       salt.modules.boto_ec2.get_attribute(attribute,      instance_name=None,
83281       instance_id=None, region=None, key=None, keyid=None, profile=None, fil‐
83282       ters=None)
83283              Get an EC2 instance attribute.
83284
83285              CLI Example:
83286
83287                 salt myminion boto_ec2.get_attribute sourceDestCheck instance_name=my_instance
83288
83289              Available attributes:
83290
83291                     · instanceType
83292
83293                     · kernel
83294
83295                     · ramdisk
83296
83297                     · userData
83298
83299                     · disableApiTermination
83300
83301                     · instanceInitiatedShutdownBehavior
83302
83303                     · rootDeviceName
83304
83305                     · blockDeviceMapping
83306
83307                     · productCodes
83308
83309                     · sourceDestCheck
83310
83311                     · groupSet
83312
83313                     · ebsOptimized
83314
83315                     · sriovNetSupport
83316
83317       salt.modules.boto_ec2.get_eip_address_info(addresses=None,      alloca‐
83318       tion_ids=None, region=None, key=None, keyid=None, profile=None)
83319              Get  'interesting'  info about some, or all EIPs associated with
83320              the current account.
83321
83322              addresses
83323                     (list) - Optional list of addresses.  If  provided,  only
83324                     the  addresses  associated with those in the list will be
83325                     returned.
83326
83327              allocation_ids
83328                     (list) - Optional list of allocation IDs.   If  provided,
83329                     only  the  addresses associated with the given allocation
83330                     IDs will be returned.
83331
83332              returns
83333                     (list of dicts) - A list of dicts,  each  containing  the
83334                     info for one of the requested EIPs.
83335
83336              CLI Example:
83337
83338                 salt-call boto_ec2.get_eip_address_info addresses=52.4.2.15
83339
83340              New in version 2016.3.0.
83341
83342
83343       salt.modules.boto_ec2.get_id(name=None,     tags=None,     region=None,
83344       key=None, keyid=None, profile=None, in_states=None, filters=None)
83345              Given instance properties, return the instance id if it exists.
83346
83347              CLI Example:
83348
83349                 salt myminion boto_ec2.get_id myinstance
83350
83351       salt.modules.boto_ec2.get_key(key_name,     region=None,      key=None,
83352       keyid=None, profile=None)
83353              Check to see if a key exists. Returns fingerprint and name if it
83354              does and False if it doesn't CLI Example:
83355
83356                 salt myminion boto_ec2.get_key mykey
83357
83358       salt.modules.boto_ec2.get_keys(keynames=None,             filters=None,
83359       region=None, key=None, keyid=None, profile=None)
83360              Gets  all keys or filters them by name and returns a list.  key‐
83361              names (list):: A list of the names of keypairs to retrieve.   If
83362              not provided, all key pairs will be returned.  filters (dict) ::
83363              Optional filters that can be used to limit the results returned.
83364              Filters  are  provided in the form of a dictionary consisting of
83365              filter names as the key and filter values as the value. The  set
83366              of  allowable  filter  names/values  is dependent on the request
83367              being performed. Check the EC2 API guide for details.
83368
83369              CLI Example:
83370
83371                 salt myminion boto_ec2.get_keys
83372
83373       salt.modules.boto_ec2.get_network_interface(name=None,   network_inter‐
83374       face_id=None, region=None, key=None, keyid=None, profile=None)
83375              Get an Elastic Network Interface.
83376
83377              New in version 2016.3.0.
83378
83379
83380              CLI Example:
83381
83382                 salt myminion boto_ec2.get_network_interface name=my_eni
83383
83384       salt.modules.boto_ec2.get_network_interface_id(name,       region=None,
83385       key=None, keyid=None, profile=None)
83386              Get an Elastic Network Interface id from its name tag.
83387
83388              New in version 2016.3.0.
83389
83390
83391              CLI Example:
83392
83393                 salt myminion boto_ec2.get_network_interface_id name=my_eni
83394
83395       salt.modules.boto_ec2.get_tags(instance_id=None, keyid=None,  key=None,
83396       profile=None, region=None)
83397              Given an instance_id, return a list of tags associated with that
83398              instance.
83399
83400              returns
83401                     (list) - list of tags as key/value pairs
83402
83403              CLI Example:
83404
83405                 salt myminion boto_ec2.get_tags instance_id
83406
83407       salt.modules.boto_ec2.get_unassociated_eip_address(domain=u'standard',
83408       region=None, key=None, keyid=None, profile=None)
83409              Return the first unassociated EIP
83410
83411              domain Indicates  whether the address is an EC2 address or a VPC
83412                     address (standard|vpc).
83413
83414              CLI Example:
83415
83416                 salt-call boto_ec2.get_unassociated_eip_address
83417
83418              New in version 2016.3.0.
83419
83420
83421       salt.modules.boto_ec2.get_zones(region=None, key=None, keyid=None, pro‐
83422       file=None)
83423              Get a list of AZs for the configured region.
83424
83425              CLI Example:
83426
83427                 salt myminion boto_ec2.get_zones
83428
83429       salt.modules.boto_ec2.import_key(key_name,         public_key_material,
83430       region=None, key=None, keyid=None, profile=None)
83431              Imports the public key from an RSA key  pair  that  you  created
83432              with  a  third-party  tool.  Supported formats: - OpenSSH public
83433              key format (e.g., the format in ~/.ssh/authorized_keys) - Base64
83434              encoded  DER format - SSH public key file format as specified in
83435              RFC4716 - DSA keys are not supported. Make sure your key genera‐
83436              tor  is  set  up  to  create RSA keys.  Supported lengths: 1024,
83437              2048, and 4096.
83438
83439              CLI Example:
83440
83441                 salt myminion boto_ec2.import mykey publickey
83442
83443       salt.modules.boto_ec2.modify_network_interface_attribute(name=None,
83444       network_interface_id=None,    attr=None,    value=None,    region=None,
83445       key=None, keyid=None, profile=None)
83446              Modify an attribute of an Elastic Network Interface.
83447
83448              New in version 2016.3.0.
83449
83450
83451              CLI Example:
83452
83453                 salt myminion boto_ec2.modify_network_interface_attribute my_eni attr=description value='example description'
83454
83455       salt.modules.boto_ec2.release_eip_address(public_ip=None,       alloca‐
83456       tion_id=None, region=None, key=None, keyid=None, profile=None)
83457              Free  an Elastic IP address.  Pass either a public IP address to
83458              release an EC2 Classic EIP, or an AllocationId to release a  VPC
83459              EIP.
83460
83461              public_ip
83462                     (string) - The public IP address - for EC2 elastic IPs.
83463
83464              allocation_id
83465                     (string) - The Allocation ID - for VPC elastic IPs.
83466
83467              returns
83468                     (bool) - True on success, False on failure
83469
83470              CLI Example:
83471
83472                 salt myminion boto_ec2.release_eip_address allocation_id=eipalloc-ef382c8a
83473
83474              New in version 2016.3.0.
83475
83476
83477       salt.modules.boto_ec2.run(image_id,        name=None,        tags=None,
83478       key_name=None,          security_groups=None,           user_data=None,
83479       instance_type=u'm1.small',        placement=None,       kernel_id=None,
83480       ramdisk_id=None, monitoring_enabled=None,  vpc_id=None,  vpc_name=None,
83481       subnet_id=None,        subnet_name=None,       private_ip_address=None,
83482       block_device_map=None,  disable_api_termination=None,   instance_initi‐
83483       ated_shutdown_behavior=None,  placement_group=None,  client_token=None,
83484       security_group_ids=None,        security_group_names=None,        addi‐
83485       tional_info=None,        tenancy=None,       instance_profile_arn=None,
83486       instance_profile_name=None,     ebs_optimized=None,      network_inter‐
83487       face_id=None,   network_interface_name=None,   region=None,   key=None,
83488       keyid=None, profile=None, network_interfaces=None)
83489              Create and start an EC2 instance.
83490
83491              Returns True if the instance was created; otherwise False.
83492
83493              CLI Example:
83494
83495                 salt myminion boto_ec2.run ami-b80c2b87 name=myinstance
83496
83497              image_id
83498                     (string) – The ID of the image to run.
83499
83500              name   (string) - The name of the instance.
83501
83502              tags   (dict of key:  value  pairs)  -  tags  to  apply  to  the
83503                     instance.
83504
83505              key_name
83506                     (string)  – The name of the key pair with which to launch
83507                     instances.
83508
83509              security_groups
83510                     (list of strings) – The names of the EC2 classic security
83511                     groups with which to associate instances
83512
83513              user_data
83514                     (string)  –  The Base64-encoded MIME user data to be made
83515                     available to the instance(s) in this reservation.
83516
83517              instance_type
83518                     (string) – The type of instance to run.  Note  that  some
83519                     image types (e.g. hvm) only run on some instance types.
83520
83521              placement
83522                     (string)  –  The Availability Zone to launch the instance
83523                     into.
83524
83525              kernel_id
83526                     (string) – The ID of the kernel with which to launch  the
83527                     instances.
83528
83529              ramdisk_id
83530                     (string)  –  The  ID of the RAM disk with which to launch
83531                     the instances.
83532
83533              monitoring_enabled
83534                     (bool) – Enable detailed  CloudWatch  monitoring  on  the
83535                     instance.
83536
83537              vpc_id (string)  -  ID of a VPC to bind the instance to.  Exclu‐
83538                     sive with vpc_name.
83539
83540              vpc_name
83541                     (string) - Name of a VPC to bind the instance to.  Exclu‐
83542                     sive with vpc_id.
83543
83544              subnet_id
83545                     (string)  –  The  subnet  ID  within  which to launch the
83546                     instances for VPC.
83547
83548              subnet_name
83549                     (string) – The name of a subnet within  which  to  launch
83550                     the instances for VPC.
83551
83552              private_ip_address
83553                     (string)  –  If  you’re using VPC, you can optionally use
83554                     this parameter to assign the instance a  specific  avail‐
83555                     able IP address from the subnet (e.g. 10.0.0.25).
83556
83557              block_device_map
83558                     (boto.ec2.blockdevicemapping.BlockDeviceMapping)    –   A
83559                     BlockDeviceMapping data structure describing the EBS vol‐
83560                     umes associated with the Image.  (string) - A string rep‐
83561                     resentation of a BlockDeviceMapping structure (dict) -  A
83562                     dict describing a BlockDeviceMapping structure
83563
83564                     YAML example:
83565
83566                        device-maps:
83567                            /dev/sdb:
83568                                ephemeral_name: ephemeral0
83569                            /dev/sdc:
83570                                ephemeral_name: ephemeral1
83571                            /dev/sdd:
83572                                ephemeral_name: ephemeral2
83573                            /dev/sde:
83574                                ephemeral_name: ephemeral3
83575                            /dev/sdf:
83576                                size: 20
83577                                volume_type: gp2
83578
83579              disable_api_termination
83580                     (bool)  –  If True, the instances will be locked and will
83581                     not be able to be terminated via the API.
83582
83583              instance_initiated_shutdown_behavior
83584                     (string) – Specifies whether the instance stops or termi‐
83585                     nates  on  instance-initiated shutdown. Valid values are:
83586                     stop, terminate
83587
83588              placement_group
83589                     (string) – If specified, this is the name of  the  place‐
83590                     ment group in which the instance(s) will be launched.
83591
83592              client_token
83593                     (string)  – Unique, case-sensitive identifier you provide
83594                     to ensure idempotency of the request.  Maximum  64  ASCII
83595                     characters.
83596
83597              security_group_ids
83598                     (list  of strings) – The ID(s) of the VPC security groups
83599                     with which to associate instances.
83600
83601              security_group_names
83602                     (list of strings) –  The  name(s)  of  the  VPC  security
83603                     groups with which to associate instances.
83604
83605              additional_info
83606                     (string)  –  Specifies  additional  information  to  make
83607                     available to the instance(s).
83608
83609              tenancy
83610                     (string) – The  tenancy  of  the  instance  you  want  to
83611                     launch. An instance with a tenancy of ‘dedicated’ runs on
83612                     single-tenant hardware and can only be  launched  into  a
83613                     VPC. Valid values are:”default” or “dedicated”.  NOTE: To
83614                     use dedicated tenancy you MUST specify a VPC subnet-ID as
83615                     well.
83616
83617              instance_profile_arn
83618                     (string)  –  The  Amazon  resource  name (ARN) of the IAM
83619                     Instance Profile (IIP) to associate with the instances.
83620
83621              instance_profile_name
83622                     (string) – The name of the IAM Instance Profile (IIP)  to
83623                     associate with the instances.
83624
83625              ebs_optimized
83626                     (bool)  –  Whether the instance is optimized for EBS I/O.
83627                     This optimization provides dedicated throughput to Amazon
83628                     EBS and an optimized configuration stack to provide opti‐
83629                     mal EBS I/O performance.  This optimization isn’t  avail‐
83630                     able with all instance types.
83631
83632              network_interfaces
83633                     (boto.ec2.networkinterface.NetworkInterfaceCollection)  –
83634                     A NetworkInterfaceCollection  data  structure  containing
83635                     the ENI specifications for the instance.
83636
83637              network_interface_id
83638                     (string)  -  ID of the network interface to attach to the
83639                     instance
83640
83641              network_interface_name
83642                     (string) - Name of the network interface to attach to the
83643                     instance
83644
83645       salt.modules.boto_ec2.set_attribute(attribute,         attribute_value,
83646       instance_name=None,    instance_id=None,     region=None,     key=None,
83647       keyid=None, profile=None, filters=None)
83648              Set  an  EC2  instance attribute.  Returns whether the operation
83649              succeeded or not.
83650
83651              CLI Example:
83652
83653                 salt myminion boto_ec2.set_attribute sourceDestCheck False instance_name=my_instance
83654
83655              Available attributes:
83656
83657                     · instanceType
83658
83659                     · kernel
83660
83661                     · ramdisk
83662
83663                     · userData
83664
83665                     · disableApiTermination
83666
83667                     · instanceInitiatedShutdownBehavior
83668
83669                     · rootDeviceName
83670
83671                     · blockDeviceMapping
83672
83673                     · productCodes
83674
83675                     · sourceDestCheck
83676
83677                     · groupSet
83678
83679                     · ebsOptimized
83680
83681                     · sriovNetSupport
83682
83683       salt.modules.boto_ec2.set_volumes_tags(tag_maps,   authoritative=False,
83684       dry_run=False, region=None, key=None, keyid=None, profile=None)
83685              New in version 2016.11.0.
83686
83687
83688              tag_maps (list)
83689                     List  of  dicts of filters and tags, where 'filters' is a
83690                     dict suitable for passing to the  'filters'  argument  of
83691                     get_all_volumes()  above, and 'tags' is a dict of tags to
83692                     be  set  on  volumes  (via  create_tags/delete_tags)   as
83693                     matched  by  the  given  filters.   The  filter syntax is
83694                     extended to permit passing either a list of volume_ids or
83695                     an  instance_name  (with instance_name being the Name tag
83696                     of the instance to which the desired volumes are mapped).
83697                     Each mapping in the list is applied separately, so multi‐
83698                     ple sets of volumes can be all  tagged  differently  with
83699                     one  call  to  this  function.   If filtering by instance
83700                     Name, You may additionally limit the instances matched by
83701                     passing  in  a  list  of  desired  instance  states.  The
83702                     default set of states is ('pending',  'rebooting',  'run‐
83703                     ning', 'stopping', 'stopped').
83704
83705              YAML example fragment:
83706
83707                 - filters:
83708                     attachment.instance_id: i-abcdef12
83709                   tags:
83710                     Name: dev-int-abcdef12.aws-foo.com
83711                 - filters:
83712                     attachment.device: /dev/sdf
83713                   tags:
83714                     ManagedSnapshots: true
83715                     BillingGroup: bubba.hotep@aws-foo.com
83716                   in_states:
83717                   - stopped
83718                   - terminated
83719                 - filters:
83720                     instance_name: prd-foo-01.aws-foo.com
83721                   tags:
83722                     Name: prd-foo-01.aws-foo.com
83723                     BillingGroup: infra-team@aws-foo.com
83724                 - filters:
83725                     volume_ids: [ vol-12345689, vol-abcdef12 ]
83726                   tags:
83727                     BillingGroup: infra-team@aws-foo.com
83728
83729              authoritative (bool)
83730                     If  true,  any  existing tags on the matched volumes, and
83731                     not explicitly requested here, will be removed.
83732
83733              dry_run (bool)
83734                     If true, don't change anything, just return a  dictionary
83735                     describing any changes which would have been applied.
83736
83737              returns (dict)
83738                     A dict describing status and any changes.
83739
83740       salt.modules.boto_ec2.terminate(instance_id=None,            name=None,
83741       region=None, key=None, keyid=None, profile=None, filters=None)
83742              Terminate the instance described by instance_id or name.
83743
83744              CLI Example:
83745
83746                 salt myminion boto_ec2.terminate name=myinstance
83747                 salt myminion boto_ec2.terminate instance_id=i-a46b9f
83748
83749       salt.modules.boto_ec2.unassign_private_ip_addresses(network_inter‐
83750       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
83751       region=None, key=None, keyid=None, profile=None)
83752              Unassigns one or more secondary private IP addresses from a net‐
83753              work interface
83754
83755              network_interface_id
83756                     (string)  -  ID of the network interface to associate the
83757                     IP with (exclusive with 'network_interface_name')
83758
83759              network_interface_name
83760                     (string) - Name of the network interface to associate the
83761                     IP with (exclusive with 'network_interface_id')
83762
83763              private_ip_addresses
83764                     (list)  - Assigns the specified IP addresses as secondary
83765                     IP addresses to the network interface.
83766
83767              returns
83768                     (bool)   - True on success, False on failure.
83769
83770              CLI Example:
83771
83772                 salt myminion boto_ec2.unassign_private_ip_addresses network_interface_name=my_eni private_ip_addresses=private_ip
83773
83774              New in version 2017.7.0.
83775
83776
83777   salt.modules.boto_efs module
83778       Connection module for Amazon EFS
83779
83780       New in version 2017.7.0.
83781
83782
83783       configuration
83784              This module accepts explicit EFS credentials but can  also  uti‐
83785              lize  IAM  roles  assigned to the instance through Instance Pro‐
83786              files or it can read them from the  ~/.aws/credentials  file  or
83787              from    these    environment    variables:    AWS_ACCESS_KEY_ID,
83788              AWS_SECRET_ACCESS_KEY.  Dynamic credentials are  then  automati‐
83789              cally obtained from AWS API and no further configuration is nec‐
83790              essary.  More information available at:
83791
83792                 http://docs.aws.amazon.com/efs/latest/ug/
83793                     access-control-managing-permissions.html
83794
83795                 http://boto3.readthedocs.io/en/latest/guide/
83796                     configuration.html#guide-configuration
83797
83798              If IAM roles are not used you need to specify them either  in  a
83799              pillar or in the minion's config file
83800
83801                 efs.keyid: GKTADJGHEIQSXMKKRBJ08H
83802                 efs.key: askd+ghsdfjkghWupU/asdflkdfklgjsdfjajkghs
83803
83804              A region may also be specified in the configuration
83805
83806                 efs.region: us-east-1
83807
83808              If a region is not specified, the default is us-east-1.
83809
83810              It's  also possible to speficy key, keyid, and region via a pro‐
83811              file, either as a passed in dict, or as a string  to  pull  from
83812              pillars or minion config:
83813
83814                 myprofile:
83815                   keyid: GKTADJGHEIQSXMKKRBJ08H
83816                   key: askd+ghsdfjkghWupU/asdflkdfklgjsdfjajkghs
83817                   region: us-east-1
83818
83819       depends
83820              boto3
83821
83822       salt.modules.boto_efs.create_file_system(name,  performance_mode=u'gen‐
83823       eralPurpose', keyid=None,  key=None,  profile=None,  region=None,  cre‐
83824       ation_token=None, **kwargs)
83825              Creates a new, empty file system.
83826
83827              name   (string) - The name for the new file system
83828
83829              performance_mode
83830                     (string) - The PerformanceMode of the file system. Can be
83831                     either generalPurpose or maxIO
83832
83833              creation_token
83834                     (string) - A unique name to be  used  as  reference  when
83835                     creating  an  EFS.   This will ensure idempotency. Set to
83836                     name if not specified otherwise
83837
83838              returns
83839                     (dict) - A dict of the data for the elastic file system
83840
83841              CLI Example:
83842
83843                 salt 'my-minion' boto_efs.create_file_system efs-name generalPurpose
83844
83845       salt.modules.boto_efs.create_mount_target(filesystemid, subnetid, ipad‐
83846       dress=None,  securitygroups=None,  keyid=None,  key=None, profile=None,
83847       region=None, **kwargs)
83848              Creates a mount target for a file system.  You  can  then  mount
83849              the file system on EC2 instances via the mount target.
83850
83851              You  can  create  one  mount target in each Availability Zone in
83852              your VPC.  All EC2 instances in a VPC within a given  Availabil‐
83853              ity Zone share a single mount target for a given file system.
83854
83855              If you have multiple subnets in an Availability Zone, you create
83856              a mount target in one of the subnets.  EC2 instances do not need
83857              to  be in the same subnet as the mount target in order to access
83858              their file system.
83859
83860              filesystemid
83861                     (string) - ID of the file system for which to create  the
83862                     mount target.
83863
83864              subnetid
83865                     (string) - ID of the subnet to add the mount target in.
83866
83867              ipaddress
83868
83869                     (string) - Valid IPv4 address within the address range
83870                            of the specified subnet.
83871
83872              securitygroups
83873
83874                     (list[string]) - Up to five VPC security group IDs,
83875                            of  the  form  sg-xxxxxxxx.  These must be for the
83876                            same VPC as subnet specified.
83877
83878              returns
83879                     (dict) - A dict of the response data
83880
83881              CLI Example:
83882
83883                 salt 'my-minion' boto_efs.create_mount_target filesystemid subnetid
83884
83885       salt.modules.boto_efs.create_tags(filesystemid,    tags,    keyid=None,
83886       key=None, profile=None, region=None, **kwargs)
83887              Creates  or overwrites tags associated with a file system.  Each
83888              tag is a key-value pair. If a tag key specified in  the  request
83889              already exists on the file system, this operation overwrites its
83890              value with the value provided in the request.
83891
83892              filesystemid
83893                     (string) - ID of the file system for whose tags  will  be
83894                     modified.
83895
83896              tags   (dict) - The tags to add to the file system
83897
83898              CLI Example:
83899
83900                 salt 'my-minion' boto_efs.create_tags
83901
83902       salt.modules.boto_efs.delete_file_system(filesystemid,      keyid=None,
83903       key=None, profile=None, region=None, **kwargs)
83904              Deletes a file system, permanently severing access to  its  con‐
83905              tents.   Upon  return,  the file system no longer exists and you
83906              can't access any contents of the deleted file system. You  can't
83907              delete a file system that is in use. That is, if the file system
83908              has any mount targets, you must first delete them.
83909
83910              filesystemid
83911                     (string) - ID of the file system to delete.
83912
83913              CLI Example:
83914
83915                 salt 'my-minion' boto_efs.delete_file_system filesystemid
83916
83917       salt.modules.boto_efs.delete_mount_target(mounttargetid,    keyid=None,
83918       key=None, profile=None, region=None, **kwargs)
83919              Deletes the specified mount target.
83920
83921              This operation forcibly breaks any mounts of the file system via
83922              the mount target that is  being  deleted,  which  might  disrupt
83923              instances  or applications using those mounts. To avoid applica‐
83924              tions getting cut off abruptly, you  might  consider  unmounting
83925              any  mounts of the mount target, if feasible. The operation also
83926              deletes the associated network  interface.   Uncommitted  writes
83927              may  be  lost,  but breaking a mount target using this operation
83928              does not corrupt the file system itself.  The  file  system  you
83929              created  remains.  You can mount an EC2 instance in your VPC via
83930              another mount target.
83931
83932              mounttargetid
83933                     (string) - ID of the mount target to delete
83934
83935              CLI Example:
83936
83937                 salt 'my-minion' boto_efs.delete_mount_target mounttargetid
83938
83939       salt.modules.boto_efs.delete_tags(filesystemid,    tags,    keyid=None,
83940       key=None, profile=None, region=None, **kwargs)
83941              Deletes the specified tags from a file system.
83942
83943              filesystemid
83944                     (string)  -  ID of the file system for whose tags will be
83945                     removed.
83946
83947              tags   (list[string]) - The tag keys to delete to the file  sys‐
83948                     tem
83949
83950              CLI Example:
83951
83952                 salt 'my-minion' boto_efs.delete_tags
83953
83954       salt.modules.boto_efs.get_file_systems(filesystemid=None,   keyid=None,
83955       key=None, profile=None, region=None, creation_token=None, **kwargs)
83956              Get all EFS  properties  or  a  specific  instance  property  if
83957              filesystemid is specified
83958
83959              filesystemid
83960                     (string) - ID of the file system to retrieve properties
83961
83962              creation_token
83963                     (string)  -  A  unique  token that identifies an EFS.  If
83964                     fileysystem created  via  create_file_system  this  would
83965                     either  be explictitly passed in or set to name.  You can
83966                     limit your search with this.
83967
83968              returns
83969                     (list[dict]) - list of all elastic file system properties
83970
83971              CLI Example:
83972
83973                 salt 'my-minion' boto_efs.get_file_systems efs-id
83974
83975       salt.modules.boto_efs.get_mount_targets(filesystemid=None,    mounttar‐
83976       getid=None, keyid=None, key=None, profile=None, region=None, **kwargs)
83977              Get  all  the EFS mount point properties for a specific filesys‐
83978              temid or the properties for a specific mounttargetid. One or the
83979              other must be specified
83980
83981              filesystemid
83982
83983                     (string)  -  ID of the file system whose mount targets to
83984                     list
83985                            Must be specified if mounttargetid is not
83986
83987              mounttargetid
83988
83989                     (string) - ID of the mount target to have its  properties
83990                     returned
83991                            Must be specified if filesystemid is not
83992
83993              returns
83994                     (list[dict]) - list of all mount point properties
83995
83996              CLI Example:
83997
83998                 salt 'my-minion' boto_efs.get_mount_targets
83999
84000       salt.modules.boto_efs.get_tags(filesystemid, keyid=None, key=None, pro‐
84001       file=None, region=None, **kwargs)
84002              Return the tags associated with an EFS instance.
84003
84004              filesystemid
84005                     (string) - ID of the file system whose tags to list
84006
84007              returns
84008                     (list) - list of tags as key/value pairs
84009
84010              CLI Example:
84011
84012                 salt 'my-minion' boto_efs.get_tags efs-id
84013
84014       salt.modules.boto_efs.set_security_groups(mounttargetid, securitygroup,
84015       keyid=None, key=None, profile=None, region=None, **kwargs)
84016              Modifies the set of security groups in effect for a mount target
84017
84018              mounttargetid
84019                     (string)  -  ID of the mount target whose security groups
84020                     will be modified
84021
84022              securitygroups
84023                     (list[string]) - list of no  more  than  5  VPC  security
84024                     group IDs.
84025
84026              CLI Example:
84027
84028                 salt 'my-minion' boto_efs.set_security_groups my-mount-target-id my-sec-group
84029
84030   salt.modules.boto_elasticache
84031       Connection module for Amazon Elasticache
84032
84033       New in version 2014.7.0.
84034
84035
84036       configuration
84037              This  module  accepts  explicit  elasticache credentials but can
84038              also utilize IAM roles assigned to the instance through Instance
84039              Profiles.   Dynamic  credentials are then automatically obtained
84040              from AWS API and no further  configuration  is  necessary.  More
84041              Information available at:
84042
84043                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
84044
84045              If  IAM  roles are not used you need to specify them either in a
84046              pillar or in the minion's config file:
84047
84048                 elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
84049                 elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84050
84051              A region may also be specified in the configuration:
84052
84053                 elasticache.region: us-east-1
84054
84055              If a region is not specified, the default is us-east-1.
84056
84057              It's also possible to specify key, keyid and region via  a  pro‐
84058              file,  either  as  a passed in dict, or as a string to pull from
84059              pillars or minion config:
84060
84061                 myprofile:
84062                     keyid: GKTADJGHEIQSXMKKRBJ08H
84063                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84064                     region: us-east-1
84065
84066       depends
84067              boto
84068
84069       salt.modules.boto_elasticache.authorize_cache_secu‐
84070       rity_group_ingress(name,       ec2_security_group_name,       ec2_secu‐
84071       rity_group_owner_id, region=None, key=None, keyid=None, profile=None)
84072              Authorize network ingress from an ec2 security group to a  cache
84073              security group.
84074
84075              CLI example:
84076
84077                 salt myminion boto_elasticache.authorize_cache_security_group_ingress myelasticachesg myec2sg 879879
84078
84079       salt.modules.boto_elasticache.create(name,        num_cache_nodes=None,
84080       engine=None,      cache_node_type=None,      replication_group_id=None,
84081       engine_version=None,     cache_parameter_group_name=None,    cache_sub‐
84082       net_group_name=None,       cache_security_group_names=None,       secu‐
84083       rity_group_ids=None,      snapshot_arns=None,      preferred_availabil‐
84084       ity_zone=None, preferred_maintenance_window=None, port=None,  notifica‐
84085       tion_topic_arn=None,     auto_minor_version_upgrade=None,    wait=None,
84086       region=None, key=None, keyid=None, profile=None)
84087              Create a cache cluster.
84088
84089              CLI example:
84090
84091                 salt myminion boto_elasticache.create myelasticache 1 redis cache.t1.micro
84092                 cache_security_group_names='["myelasticachesg"]'
84093
84094       salt.modules.boto_elasticache.create_cache_security_group(name,
84095       description, region=None, key=None, keyid=None, profile=None)
84096              Create a cache security group.
84097
84098              CLI example:
84099
84100                 salt myminion boto_elasticache.create_cache_security_group myelasticachesg 'My Cache Security Group'
84101
84102       salt.modules.boto_elasticache.create_replication_group(name,       pri‐
84103       mary_cluster_id, replication_group_description, wait=None, region=None,
84104       key=None, keyid=None, profile=None)
84105              Create replication group.
84106
84107              CLI example:
84108
84109                 salt myminion boto_elasticache.create_replication_group myelasticache myprimarycluster description
84110
84111       salt.modules.boto_elasticache.create_subnet_group(name,    description,
84112       subnet_ids=None, subnet_names=None, tags=None,  region=None,  key=None,
84113       keyid=None, profile=None)
84114              Create an ElastiCache subnet group
84115
84116              CLI example to create an ElastiCache subnet group:
84117
84118                 salt myminion boto_elasticache.create_subnet_group my-subnet-group             "group description" subnet_ids='[subnet-12345678, subnet-87654321]'             region=us-east-1
84119
84120       salt.modules.boto_elasticache.delete(name,   wait=False,   region=None,
84121       key=None, keyid=None, profile=None)
84122              Delete a cache cluster.
84123
84124              CLI example:
84125
84126                 salt myminion boto_elasticache.delete myelasticache
84127
84128       salt.modules.boto_elasticache.delete_cache_security_group(name,
84129       region=None, key=None, keyid=None, profile=None)
84130              Delete a cache security group.
84131
84132              CLI example:
84133
84134                 salt myminion boto_elasticache.delete_cache_security_group myelasticachesg 'My Cache Security Group'
84135
84136       salt.modules.boto_elasticache.delete_replication_group(name,
84137       region=None, key=None, keyid=None, profile=None)
84138              Delete an ElastiCache replication group.
84139
84140              CLI example:
84141
84142                 salt myminion boto_elasticache.delete_replication_group my-replication-group                 region=us-east-1
84143
84144       salt.modules.boto_elasticache.delete_subnet_group(name,    region=None,
84145       key=None, keyid=None, profile=None)
84146              Delete an ElastiCache subnet group.
84147
84148              CLI example:
84149
84150                 salt myminion boto_elasticache.delete_subnet_group my-subnet-group                 region=us-east-1
84151
84152       salt.modules.boto_elasticache.describe_replication_group(name,
84153       region=None, key=None, keyid=None, profile=None, parameter=None)
84154              Get replication group information.
84155
84156              CLI example:
84157
84158                 salt myminion boto_elasticache.describe_replication_group mygroup
84159
84160       salt.modules.boto_elasticache.exists(name,    region=None,    key=None,
84161       keyid=None, profile=None)
84162              Check to see if a cache cluster exists.
84163
84164              CLI example:
84165
84166                 salt myminion boto_elasticache.exists myelasticache
84167
84168       salt.modules.boto_elasticache.get_all_cache_subnet_groups(name=None,
84169       region=None, key=None, keyid=None, profile=None)
84170              Return a list of all cache subnet groups with details
84171
84172              CLI example:
84173
84174                 salt myminion boto_elasticache.get_all_subnet_groups region=us-east-1
84175
84176       salt.modules.boto_elasticache.get_cache_subnet_group(name, region=None,
84177       key=None, keyid=None, profile=None)
84178              Get information about a cache subnet group.
84179
84180              CLI example:
84181
84182                 salt myminion boto_elasticache.get_cache_subnet_group mycache_subnet_group
84183
84184       salt.modules.boto_elasticache.get_config(name,  region=None,  key=None,
84185       keyid=None, profile=None)
84186              Get the configuration for a cache cluster.
84187
84188              CLI example:
84189
84190                 salt myminion boto_elasticache.get_config myelasticache
84191
84192       salt.modules.boto_elasticache.get_group_host(name,         region=None,
84193       key=None, keyid=None, profile=None)
84194              Get hostname from replication cache group
84195
84196              CLI example:
84197
84198                 salt myminion boto_elasticache.get_group_host myelasticachegroup
84199
84200       salt.modules.boto_elasticache.get_node_host(name,          region=None,
84201       key=None, keyid=None, profile=None)
84202              Get hostname from cache node
84203
84204              CLI example:
84205
84206                 salt myminion boto_elasticache.get_node_host myelasticache
84207
84208       salt.modules.boto_elasticache.group_exists(name, region=None, key=None,
84209       keyid=None, profile=None)
84210              Check to see if a replication group exists.
84211
84212              CLI example:
84213
84214                 salt myminion boto_elasticache.group_exists myelasticache
84215
84216       salt.modules.boto_elasticache.list_cache_subnet_groups(name=None,
84217       region=None, key=None, keyid=None, profile=None)
84218              Return a list of all cache subnet group names
84219
84220              CLI example:
84221
84222                 salt myminion boto_elasticache.list_subnet_groups region=us-east-1
84223
84224       salt.modules.boto_elasticache.revoke_cache_security_group_ingress(name,
84225       ec2_security_group_name,    ec2_security_group_owner_id,   region=None,
84226       key=None, keyid=None, profile=None)
84227              Revoke network ingress from an ec2 security  group  to  a  cache
84228              security group.
84229
84230              CLI example:
84231
84232                 salt myminion boto_elasticache.revoke_cache_security_group_ingress myelasticachesg myec2sg 879879
84233
84234       salt.modules.boto_elasticache.subnet_group_exists(name,      tags=None,
84235       region=None, key=None, keyid=None, profile=None)
84236              Check to see if an ElastiCache subnet group exists.
84237
84238              CLI example:
84239
84240                 salt myminion boto_elasticache.subnet_group_exists my-param-group                 region=us-east-1
84241
84242   salt.modules.boto_elasticsearch_domain module
84243       Connection module for Amazon Elasticsearch Service
84244
84245       New in version 2016.11.0.
84246
84247
84248       configuration
84249              This module accepts explicit AWS credentials but can  also  uti‐
84250              lize  IAM  roles  assigned  to the instance trough Instance Pro‐
84251              files.  Dynamic credentials are then automatically obtained from
84252              AWS API and no further configuration is necessary. More Informa‐
84253              tion available at:
84254
84255                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
84256
84257              If IAM roles are not used you need to specify them either  in  a
84258              pillar or in the minion's config file:
84259
84260                 lambda.keyid: GKTADJGHEIQSXMKKRBJ08H
84261                 lambda.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84262
84263              A region may also be specified in the configuration:
84264
84265                 lambda.region: us-east-1
84266
84267              If a region is not specified, the default is us-east-1.
84268
84269              It's  also  possible to specify key, keyid and region via a pro‐
84270              file, either as a passed in dict, or as a string  to  pull  from
84271              pillars or minion config:
84272
84273                 myprofile:
84274                     keyid: GKTADJGHEIQSXMKKRBJ08H
84275                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84276                     region: us-east-1
84277
84278              Create and delete methods return:
84279
84280                 created: true
84281
84282              or
84283
84284                 created: false
84285                 error:
84286                   message: error message
84287
84288              Request methods (e.g., describe_function) return:
84289
84290                 domain:
84291                   - {...}
84292                   - {...}
84293
84294              or
84295
84296                 error:
84297                   message: error message
84298
84299       depends
84300              boto3
84301
84302       salt.modules.boto_elasticsearch_domain.add_tags(DomainName=None,
84303       ARN=None, region=None, key=None, keyid=None, profile=None, **kwargs)
84304              Add tags to a domain
84305
84306              Returns {tagged: true} if the  domain  was  tagged  and  returns
84307              {tagged: False} if the domain was not tagged.
84308
84309              CLI Example:
84310
84311                 salt myminion boto_elasticsearch_domain.add_tags mydomain tag_a=tag_value tag_b=tag_value
84312
84313       salt.modules.boto_elasticsearch_domain.create(DomainName,      Elastic‐
84314       searchClusterConfig=None, EBSOptions=None,  AccessPolicies=None,  Snap‐
84315       shotOptions=None,    AdvancedOptions=None,    region=None,    key=None,
84316       keyid=None, profile=None, ElasticsearchVersion=None)
84317              Given a valid config, create a domain.
84318
84319              Returns {created: true} if the domain was  created  and  returns
84320              {created: False} if the domain was not created.
84321
84322              CLI Example:
84323
84324                 salt myminion boto_elasticsearch_domain.create mydomain \
84325                       {'InstanceType': 't2.micro.elasticsearch', 'InstanceCount': 1, \
84326                       'DedicatedMasterEnabled': false, 'ZoneAwarenessEnabled': false} \
84327                       {'EBSEnabled': true, 'VolumeType': 'gp2', 'VolumeSize': 10, \
84328                       'Iops': 0} \
84329                       {"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \
84330                        "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \
84331                        "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]} \
84332                       {"AutomatedSnapshotStartHour": 0} \
84333                       {"rest.action.multi.allow_explicit_index": "true"}
84334
84335       salt.modules.boto_elasticsearch_domain.delete(DomainName,  region=None,
84336       key=None, keyid=None, profile=None)
84337              Given a domain name, delete it.
84338
84339              Returns {deleted: true} if the domain was  deleted  and  returns
84340              {deleted: false} if the domain was not deleted.
84341
84342              CLI Example:
84343
84344                 salt myminion boto_elasticsearch_domain.delete mydomain
84345
84346       salt.modules.boto_elasticsearch_domain.describe(DomainName,
84347       region=None, key=None, keyid=None, profile=None)
84348              Given a domain name describe its properties.
84349
84350              Returns a dictionary of interesting properties.
84351
84352              CLI Example:
84353
84354                 salt myminion boto_elasticsearch_domain.describe mydomain
84355
84356       salt.modules.boto_elasticsearch_domain.exists(DomainName,  region=None,
84357       key=None, keyid=None, profile=None)
84358              Given a domain name, check to see if the given domain exists.
84359
84360              Returns True if the given domain exists and returns False if the
84361              given function does not exist.
84362
84363              CLI Example:
84364
84365                 salt myminion boto_elasticsearch_domain.exists mydomain
84366
84367       salt.modules.boto_elasticsearch_domain.list_tags(DomainName=None,
84368       ARN=None, region=None, key=None, keyid=None, profile=None)
84369              List tags of a trail
84370
84371              Returns
84372
84373                     · {...}
84374
84375                     · {...}
84376
84377
84378              Return type
84379                     tags
84380
84381              CLI Example:
84382
84383                 salt myminion boto_cloudtrail.list_tags my_trail
84384
84385       salt.modules.boto_elasticsearch_domain.remove_tags(TagKeys,     Domain‐
84386       Name=None, ARN=None, region=None, key=None, keyid=None, profile=None)
84387              Remove tags from a trail
84388
84389              Returns {tagged: true} if  the  trail  was  tagged  and  returns
84390              {tagged: False} if the trail was not tagged.
84391
84392              CLI Example:
84393
84394                 salt myminion boto_cloudtrail.remove_tags my_trail tag_a=tag_value tag_b=tag_value
84395
84396       salt.modules.boto_elasticsearch_domain.status(DomainName,  region=None,
84397       key=None, keyid=None, profile=None)
84398              Given a domain name describe its status.
84399
84400              Returns a dictionary of interesting properties.
84401
84402              CLI Example:
84403
84404                 salt myminion boto_elasticsearch_domain.status mydomain
84405
84406       salt.modules.boto_elasticsearch_domain.update(DomainName,      Elastic‐
84407       searchClusterConfig=None,  EBSOptions=None,  AccessPolicies=None, Snap‐
84408       shotOptions=None,    AdvancedOptions=None,    region=None,    key=None,
84409       keyid=None, profile=None)
84410              Update the named domain to the configuration.
84411
84412              Returns  {updated:  true}  if the domain was updated and returns
84413              {updated: False} if the domain was not updated.
84414
84415              CLI Example:
84416
84417                 salt myminion boto_elasticsearch_domain.update mydomain \
84418                       {'InstanceType': 't2.micro.elasticsearch', 'InstanceCount': 1, \
84419                       'DedicatedMasterEnabled': false, 'ZoneAwarenessEnabled': false} \
84420                       {'EBSEnabled': true, 'VolumeType': 'gp2', 'VolumeSize': 10, \
84421                       'Iops': 0} \
84422                       {"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \
84423                        "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \
84424                        "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]} \
84425                       {"AutomatedSnapshotStartHour": 0} \
84426                       {"rest.action.multi.allow_explicit_index": "true"}
84427
84428   salt.modules.boto_elb
84429       Connection module for Amazon ELB
84430
84431       New in version 2014.7.0.
84432
84433
84434       configuration
84435              This module accepts explicit elb credentials but can  also  uti‐
84436              lize  IAM  roles  assigned to the instance through Instance Pro‐
84437              files. Dynamic credentials are then automatically obtained  from
84438              AWS API and no further configuration is necessary. More Informa‐
84439              tion available at:
84440
84441                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
84442
84443              If IAM roles are not used you need to specify them either  in  a
84444              pillar or in the minion's config file:
84445
84446                 elb.keyid: GKTADJGHEIQSXMKKRBJ08H
84447                 elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84448
84449              A region may also be specified in the configuration:
84450
84451                 elb.region: us-east-1
84452
84453              If a region is not specified, the default is us-east-1.
84454
84455              It's  also  possible to specify key, keyid and region via a pro‐
84456              file, either as a passed in dict, or as a string  to  pull  from
84457              pillars or minion config:
84458
84459                 myprofile:
84460                     keyid: GKTADJGHEIQSXMKKRBJ08H
84461                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84462                     region: us-east-1
84463
84464       depends
84465              boto >= 2.33.0
84466
84467       salt.modules.boto_elb.apply_security_groups(name,      security_groups,
84468       region=None, key=None, keyid=None, profile=None)
84469              Apply security groups to ELB.
84470
84471              CLI example:
84472
84473                 salt myminion boto_elb.apply_security_groups myelb '["mysecgroup1"]'
84474
84475       salt.modules.boto_elb.attach_subnets(name,    subnets,     region=None,
84476       key=None, keyid=None, profile=None)
84477              Attach ELB to subnets.
84478
84479              CLI example:
84480
84481                 salt myminion boto_elb.attach_subnets myelb '["mysubnet"]'
84482
84483       salt.modules.boto_elb.create(name,  availability_zones, listeners, sub‐
84484       nets=None,       security_groups=None,       scheme=u'internet-facing',
84485       region=None, key=None, keyid=None, profile=None)
84486              Create an ELB
84487
84488              CLI example to create an ELB:
84489
84490                 salt myminion boto_elb.create myelb '["us-east-1a", "us-east-1e"]' '{"elb_port": 443, "elb_protocol": "HTTPS", ...}' region=us-east-1
84491
84492       salt.modules.boto_elb.create_listeners(name,   listeners,  region=None,
84493       key=None, keyid=None, profile=None)
84494              Create listeners on an ELB.
84495
84496              CLI example:
84497
84498                 salt myminion boto_elb.create_listeners myelb '[["HTTPS", "HTTP", 443, 80, "arn:aws:iam::11  11111:server-certificate/mycert"]]'
84499
84500       salt.modules.boto_elb.create_policy(name,   policy_name,   policy_type,
84501       policy, region=None, key=None, keyid=None, profile=None)
84502              Create an ELB policy.
84503
84504              New in version 2016.3.0.
84505
84506
84507              CLI example:
84508
84509                 salt myminion boto_elb.create_policy myelb mypolicy LBCookieStickinessPolicyType '{"CookieExpirationPeriod": 3600}'
84510
84511       salt.modules.boto_elb.delete(name,  region=None,  key=None, keyid=None,
84512       profile=None)
84513              Delete an ELB.
84514
84515              CLI example to delete an ELB:
84516
84517                 salt myminion boto_elb.delete myelb region=us-east-1
84518
84519       salt.modules.boto_elb.delete_listeners(name,    ports,     region=None,
84520       key=None, keyid=None, profile=None)
84521              Delete listeners on an ELB.
84522
84523              CLI example:
84524
84525                 salt myminion boto_elb.delete_listeners myelb '[80,443]'
84526
84527       salt.modules.boto_elb.delete_policy(name,   policy_name,   region=None,
84528       key=None, keyid=None, profile=None)
84529              Delete an ELB policy.
84530
84531              New in version 2016.3.0.
84532
84533
84534              CLI example:
84535
84536                 salt myminion boto_elb.delete_policy myelb mypolicy
84537
84538       salt.modules.boto_elb.delete_tags(name,  tags,  region=None,  key=None,
84539       keyid=None, profile=None)
84540              Add the tags on an ELB
84541
84542              name   name of the ELB
84543
84544              tags   list of tags to remove
84545
84546              CLI Example:
84547
84548                 salt myminion boto_elb.delete_tags my-elb-name ['TagToRemove1', 'TagToRemove2']
84549
84550       salt.modules.boto_elb.deregister_instances(name,             instances,
84551       region=None, key=None, keyid=None, profile=None)
84552              Deregister instances with an ELB.  Instances is either a  string
84553              instance id or a list of string instance id's.
84554
84555              Returns:
84556
84557              · True: instance(s) deregistered successfully
84558
84559              · False: instance(s) failed to be deregistered
84560
84561              · None: instance(s) not valid or not registered, no action taken
84562
84563              CLI example:
84564
84565                 salt myminion boto_elb.deregister_instances myelb instance_id
84566                 salt myminion boto_elb.deregister_instances myelb "[instance_id, instance_id]"
84567
84568       salt.modules.boto_elb.detach_subnets(name,     subnets,    region=None,
84569       key=None, keyid=None, profile=None)
84570              Detach ELB from subnets.
84571
84572              CLI example:
84573
84574                 salt myminion boto_elb.detach_subnets myelb '["mysubnet"]'
84575
84576       salt.modules.boto_elb.disable_availability_zones(name,       availabil‐
84577       ity_zones, region=None, key=None, keyid=None, profile=None)
84578              Disable availability zones for ELB.
84579
84580              CLI example:
84581
84582                 salt myminion boto_elb.disable_availability_zones myelb '["us-east-1a"]'
84583
84584       salt.modules.boto_elb.enable_availability_zones(name,        availabil‐
84585       ity_zones, region=None, key=None, keyid=None, profile=None)
84586              Enable availability zones for ELB.
84587
84588              CLI example:
84589
84590                 salt myminion boto_elb.enable_availability_zones myelb '["us-east-1a"]'
84591
84592       salt.modules.boto_elb.exists(name, region=None,  key=None,  keyid=None,
84593       profile=None)
84594              Check to see if an ELB exists.
84595
84596              CLI example:
84597
84598                 salt myminion boto_elb.exists myelb region=us-east-1
84599
84600       salt.modules.boto_elb.get_all_elbs(region=None,  key=None,  keyid=None,
84601       profile=None)
84602              Return all load balancers associated with an account
84603
84604              CLI example:
84605
84606                 salt myminion boto_elb.get_all_elbs region=us-east-1
84607
84608       salt.modules.boto_elb.get_attributes(name,    region=None,    key=None,
84609       keyid=None, profile=None)
84610              Check to see if attributes are set on an ELB.
84611
84612              CLI example:
84613
84614                 salt myminion boto_elb.get_attributes myelb
84615
84616       salt.modules.boto_elb.get_elb_config(name,    region=None,    key=None,
84617       keyid=None, profile=None)
84618              Get an ELB configuration.
84619
84620              CLI example:
84621
84622                 salt myminion boto_elb.exists myelb region=us-east-1
84623
84624       salt.modules.boto_elb.get_health_check(name,   region=None,   key=None,
84625       keyid=None, profile=None)
84626              Get the health check configured for this ELB.
84627
84628              CLI example:
84629
84630                 salt myminion boto_elb.get_health_check myelb
84631
84632       salt.modules.boto_elb.get_instance_health(name,  region=None, key=None,
84633       keyid=None, profile=None, instances=None)
84634              Get a list of instances and their health state
84635
84636              CLI example:
84637
84638                 salt myminion boto_elb.get_instance_health myelb
84639                 salt myminion boto_elb.get_instance_health myelb region=us-east-1 instances="[instance_id,instance_id]"
84640
84641       salt.modules.boto_elb.list_elbs(region=None, key=None, keyid=None, pro‐
84642       file=None)
84643              Return names of all load balancers associated with an account
84644
84645              CLI example:
84646
84647                 salt myminion boto_elb.list_elbs region=us-east-1
84648
84649       salt.modules.boto_elb.listener_dict_to_tuple(listener)
84650              Convert  an ELB listener dict into a listener tuple used by cer‐
84651              tain parts of the AWS ELB API.
84652
84653              CLI example:
84654
84655                 salt myminion boto_elb.listener_dict_to_tuple '{"elb_port":80,"instance_port":80,"elb_protocol":"HTTP"}'
84656
84657       salt.modules.boto_elb.register_instances(name, instances,  region=None,
84658       key=None, keyid=None, profile=None)
84659              Register  instances  with  an ELB.  Instances is either a string
84660              instance id or a list of string instance id's.
84661
84662              Returns:
84663
84664              · True: instance(s) registered successfully
84665
84666              · False: instance(s) failed to be registered
84667
84668              CLI example:
84669
84670                 salt myminion boto_elb.register_instances myelb instance_id
84671                 salt myminion boto_elb.register_instances myelb "[instance_id,instance_id]"
84672
84673       salt.modules.boto_elb.set_attributes(name,   attributes,   region=None,
84674       key=None, keyid=None, profile=None)
84675              Set attributes on an ELB.
84676
84677              name (string)
84678                     Name of the ELB instance to set attributes for
84679
84680              attributes
84681                     A dict of attributes to set.
84682
84683                     Valid attributes are:
84684
84685                     access_log (dict)
84686
84687                            enabled (bool)
84688                                   Enable storage of access logs.
84689
84690                            s3_bucket_name (string)
84691                                   The name of the S3 bucket to place logs.
84692
84693                            s3_bucket_prefix (string)
84694                                   Prefix for the log file name.
84695
84696                            emit_interval (int)
84697                                   Interval for storing logs in S3 in minutes.
84698                                   Valid values are 5 and 60.
84699
84700                     connection_draining (dict)
84701
84702                            enabled (bool)
84703                                   Enable connection draining.
84704
84705                            timeout (int)
84706                                   Maximum allowed time in seconds for sending
84707                                   existing connections to an instance that is
84708                                   deregistering  or  unhealthy.   Default  is
84709                                   300.
84710
84711                     cross_zone_load_balancing (dict)
84712
84713                            enabled (bool)
84714                                   Enable cross-zone load balancing.
84715
84716              CLI example to set attributes on an ELB:
84717
84718                 salt myminion boto_elb.set_attributes myelb '{"access_log": {"enabled": "true", "s3_bucket_name": "mybucket", "s3_bucket_prefix": "mylogs/", "emit_interval": "5"}}' region=us-east-1
84719
84720       salt.modules.boto_elb.set_backend_policy(name,   port,   policies=None,
84721       region=None, key=None, keyid=None, profile=None)
84722              Set the policies of an ELB backend server.
84723
84724              CLI example:
84725                 salt myminion boto_elb.set_backend_policy  myelb  443  "[pol‐
84726                 icy1,policy2]"
84727
84728       salt.modules.boto_elb.set_health_check(name, health_check, region=None,
84729       key=None, keyid=None, profile=None)
84730              Set attributes on an ELB.
84731
84732              CLI example to set attributes on an ELB:
84733
84734                 salt myminion boto_elb.set_health_check myelb '{"target": "HTTP:80/"}'
84735
84736       salt.modules.boto_elb.set_instances(name,    instances,     test=False,
84737       region=None, key=None, keyid=None, profile=None)
84738              Set the instances assigned to an ELB to exactly the list given
84739
84740              CLI example:
84741
84742                 salt myminion boto_elb.set_instances myelb region=us-east-1 instances="[instance_id,instance_id]"
84743
84744       salt.modules.boto_elb.set_listener_policy(name,   port,  policies=None,
84745       region=None, key=None, keyid=None, profile=None)
84746              Set the policies of an ELB listener.
84747
84748              New in version 2016.3.0.
84749
84750
84751              CLI example:
84752
84753                 salt myminion boto_elb.set_listener_policy myelb 443 "[policy1,policy2]"
84754
84755       salt.modules.boto_elb.set_tags(name,   tags,   region=None,   key=None,
84756       keyid=None, profile=None)
84757              Add the tags on an ELB
84758
84759              New in version 2016.3.0.
84760
84761
84762              name   name of the ELB
84763
84764              tags   dict of name/value pair tags
84765
84766              CLI Example:
84767
84768                 salt myminion boto_elb.set_tags my-elb-name "{'Tag1': 'Value', 'Tag2': 'Another Value'}"
84769
84770   salt.modules.boto_elbv2 module
84771       Connection module for Amazon ALB
84772
84773       New in version 2017.7.0.
84774
84775
84776       configuration
84777              This  module  accepts explicit elb credentials but can also uti‐
84778              lize IAM roles assigned to the instance  through  Instance  Pro‐
84779              files.  Dynamic credentials are then automatically obtained from
84780              AWS API and no further configuration is necessary. More Informa‐
84781              tion available at:
84782
84783                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
84784
84785              If  IAM  roles are not used you need to specify them either in a
84786              pillar or in the minion's config file:
84787
84788                 elbv2.keyid: GKTADJGHEIQSXMKKRBJ08H
84789                 elbv2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84790                 elbv2.region: us-west-2
84791
84792              If a region is not specified, the default is us-east-1.
84793
84794              It's also possible to specify key, keyid and region via  a  pro‐
84795              file,  either  as  a passed in dict, or as a string to pull from
84796              pillars or minion config:
84797
84798                 myprofile:
84799                     keyid: GKTADJGHEIQSXMKKRBJ08H
84800                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84801                     region: us-east-1
84802
84803       depends
84804              boto3
84805
84806       salt.modules.boto_elbv2.create_target_group(name,    protocol,    port,
84807       vpc_id,     region=None,     key=None,     keyid=None,    profile=None,
84808       health_check_protocol=u'HTTP',       health_check_port=u'traffic-port',
84809       health_check_path=u'/',               health_check_interval_seconds=30,
84810       health_check_timeout_seconds=5,              healthy_threshold_count=5,
84811       unhealthy_threshold_count=2)
84812              Create target group if not present.
84813
84814              name   (string) - The name of the target group.
84815
84816              protocol
84817                     (string) - The protocol to use for routing traffic to the
84818                     targets
84819
84820              port   (int) - The port on which the  targets  receive  traffic.
84821                     This port is used unless you specify a port override when
84822                     registering the traffic.
84823
84824              vpc_id (string) - The identifier of the  virtual  private  cloud
84825                     (VPC).
84826
84827              health_check_protocol
84828                     (string)  - The protocol the load balancer uses when per‐
84829                     forming health check on targets. The default is the  HTTP
84830                     protocol.
84831
84832              health_check_port
84833                     (string)  - The port the load balancer uses when perform‐
84834                     ing health checks  on  targets.  The  default  is  'traf‐
84835                     fic-port',  which indicates the port on which each target
84836                     receives traffic from the load balancer.
84837
84838              health_check_path
84839                     (string) - The ping path that is the destination  on  the
84840                     targets for health checks. The default is /.
84841
84842              health_check_interval_seconds
84843                     (integer)  -  The approximate amount of time, in seconds,
84844                     between  health  checks  of  an  individual  target.  The
84845                     default is 30 seconds.
84846
84847              health_check_timeout_seconds
84848                     (integer)  - The amount of time, in seconds, during which
84849                     no response from a target means a  failed  health  check.
84850                     The default is 5 seconds.
84851
84852              healthy_threshold_count
84853                     (integer)  - The number of consecutive health checks suc‐
84854                     cesses required before considering  an  unhealthy  target
84855                     healthy. The default is 5.
84856
84857              unhealthy_threshold_count
84858                     (integer)  - The number of consecutive health check fail‐
84859                     ures required before considering a target unhealthy.  The
84860                     default is 2.
84861
84862              returns
84863                     (bool) - True on success, False on failure.
84864
84865              CLI example:
84866                 salt myminion boto_elbv2.create_target_group learn1give1 pro‐
84867                 tocol=HTTP port=54006 vpc_id=vpc-deadbeef
84868
84869       salt.modules.boto_elbv2.delete_target_group(name,          region=None,
84870       key=None, keyid=None, profile=None)
84871              Delete target group.
84872
84873              name   (string)  -  Target  Group  Name  or Amazon Resource Name
84874                     (ARN).
84875
84876              returns
84877                     (bool) - True on success, False on failure.
84878
84879              CLI example:
84880
84881                 salt myminion boto_elbv2.delete_target_group arn:aws:elasticloadbalancing:us-west-2:644138682826:targetgroup/learn1give1-api/414788a16b5cf163
84882
84883       salt.modules.boto_elbv2.deregister_targets(name, targets,  region=None,
84884       key=None, keyid=None, profile=None)
84885              Deregister  targets  to  a  target  froup  of an ALB. targets is
84886              either a instance id string or a list of instance id's.
84887
84888              Returns:
84889
84890              · True: instance(s) deregistered successfully
84891
84892              · False: instance(s) failed to be deregistered
84893
84894              CLI example:
84895
84896                 salt myminion boto_elbv2.deregister_targets myelb instance_id
84897                 salt myminion boto_elbv2.deregister_targets myelb "[instance_id,instance_id]"
84898
84899       salt.modules.boto_elbv2.describe_target_health(name,      targets=None,
84900       region=None, key=None, keyid=None, profile=None)
84901              Get  the  curret  health  check  status  for targets in a target
84902              group.
84903
84904              CLI example:
84905
84906                 salt myminion boto_elbv2.describe_target_health arn:aws:elasticloadbalancing:us-west-2:644138682826:targetgroup/learn1give1-api/414788a16b5cf163 targets=["i-isdf23ifjf"]
84907
84908       salt.modules.boto_elbv2.register_targets(name,  targets,   region=None,
84909       key=None, keyid=None, profile=None)
84910              Register  targets to a target froup of an ALB. targets is either
84911              a instance id string or a list of instance id's.
84912
84913              Returns:
84914
84915              · True: instance(s) registered successfully
84916
84917              · False: instance(s) failed to be registered
84918
84919              CLI example:
84920
84921                 salt myminion boto_elbv2.register_targets myelb instance_id
84922                 salt myminion boto_elbv2.register_targets myelb "[instance_id,instance_id]"
84923
84924       salt.modules.boto_elbv2.target_group_exists(name,          region=None,
84925       key=None, keyid=None, profile=None)
84926              Check to see if an target group exists.
84927
84928              CLI example:
84929
84930                 salt myminion boto_elbv2.target_group_exists arn:aws:elasticloadbalancing:us-west-2:644138682826:targetgroup/learn1give1-api/414788a16b5cf163
84931
84932   salt.modules.boto_iam
84933       Connection module for Amazon IAM
84934
84935       New in version 2014.7.0.
84936
84937
84938       configuration
84939              This  module  accepts explicit iam credentials but can also uti‐
84940              lize IAM roles assigned to the instance  through  Instance  Pro‐
84941              files.  Dynamic credentials are then automatically obtained from
84942              AWS API and no further configuration is necessary. More Informa‐
84943              tion available at:
84944
84945                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
84946
84947              If  IAM  roles are not used you need to specify them either in a
84948              pillar or in the minion's config file:
84949
84950                 iam.keyid: GKTADJGHEIQSXMKKRBJ08H
84951                 iam.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84952                 iam.region: us-east-1
84953
84954              It's also possible to specify key, keyid and region via  a  pro‐
84955              file,  either  as  a passed in dict, or as a string to pull from
84956              pillars or minion config:
84957
84958                 myprofile:
84959                     keyid: GKTADJGHEIQSXMKKRBJ08H
84960                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84961                     region: us-east-1
84962
84963       depends
84964              boto
84965
84966       salt.modules.boto_iam.add_user_to_group(user_name,          group_name,
84967       region=None, key=None, keyid=None, profile=None)
84968              Add user to group.
84969
84970              New in version 2015.8.0.
84971
84972
84973              CLI Example:
84974
84975                 salt myminion boto_iam.add_user_to_group myuser mygroup
84976
84977       salt.modules.boto_iam.associate_profile_to_role(profile_name,
84978       role_name, region=None, key=None, keyid=None, profile=None)
84979              Associate an instance profile with an IAM role.
84980
84981              CLI Example:
84982
84983                 salt myminion boto_iam.associate_profile_to_role myirole myiprofile
84984
84985       salt.modules.boto_iam.attach_group_policy(policy_name,      group_name,
84986       region=None, key=None, keyid=None, profile=None)
84987              Attach a managed policy to a group.
84988
84989              CLI Example:
84990
84991                 salt myminion boto_iam.attach_group_policy mypolicy mygroup
84992
84993       salt.modules.boto_iam.attach_role_policy(policy_name,        role_name,
84994       region=None, key=None, keyid=None, profile=None)
84995              Attach a managed policy to a role.
84996
84997              CLI Example:
84998
84999                 salt myminion boto_iam.attach_role_policy mypolicy myrole
85000
85001       salt.modules.boto_iam.attach_user_policy(policy_name,        user_name,
85002       region=None, key=None, keyid=None, profile=None)
85003              Attach a managed policy to a user.
85004
85005              CLI Example:
85006
85007                 salt myminion boto_iam.attach_user_policy mypolicy myuser
85008
85009       salt.modules.boto_iam.build_policy(region=None,  key=None,  keyid=None,
85010       profile=None)
85011              Build a default assume role policy.
85012
85013              New in version 2015.8.0.
85014
85015
85016              CLI Example:
85017
85018                 salt myminion boto_iam.build_policy
85019
85020       salt.modules.boto_iam.create_access_key(user_name,         region=None,
85021       key=None, keyid=None, profile=None)
85022              Create access key id for a user.
85023
85024              New in version 2015.8.0.
85025
85026
85027              CLI Example:
85028
85029                 salt myminion boto_iam.create_access_key myuser
85030
85031       salt.modules.boto_iam.create_group(group_name,  path=None, region=None,
85032       key=None, keyid=None, profile=None)
85033              Create a group.
85034
85035              New in version 2015.8.0.
85036
85037
85038              CLI Example:
85039
85040                 salt myminion boto_iam.create_group group
85041
85042       salt.modules.boto_iam.create_instance_profile(name,        region=None,
85043       key=None, keyid=None, profile=None)
85044              Create an instance profile.
85045
85046              CLI Example:
85047
85048                 salt myminion boto_iam.create_instance_profile myiprofile
85049
85050       salt.modules.boto_iam.create_login_profile(user_name,         password,
85051       region=None, key=None, keyid=None, profile=None)
85052              Creates a login profile for the specified user,  give  the  user
85053              the  ability  to access AWS services and the AWS Management Con‐
85054              sole.
85055
85056              New in version 2015.8.0.
85057
85058
85059              CLI Example:
85060
85061                 salt myminion boto_iam.create_login_profile user_name password
85062
85063       salt.modules.boto_iam.create_policy(policy_name,       policy_document,
85064       path=None,  description=None,  region=None,  key=None, keyid=None, pro‐
85065       file=None)
85066              Create a policy.
85067
85068              CLI Example:
85069
85070                 salt myminios boto_iam.create_policy mypolicy '{"Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:Get*", "s3:List*"], "Resource": ["arn:aws:s3:::my-bucket/shared/*"]},]}'
85071
85072       salt.modules.boto_iam.create_policy_version(policy_name,   policy_docu‐
85073       ment,  set_as_default=None,  region=None,  key=None,  keyid=None,  pro‐
85074       file=None)
85075              Create a policy version.
85076
85077              CLI Example:
85078
85079                 salt myminios boto_iam.create_policy_version mypolicy '{"Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": ["s3:Get*", "s3:List*"], "Resource": ["arn:aws:s3:::my-bucket/shared/*"]},]}'
85080
85081       salt.modules.boto_iam.create_role(name,           policy_document=None,
85082       path=None, region=None, key=None, keyid=None, profile=None)
85083              Create an instance role.
85084
85085              CLI Example:
85086
85087                 salt myminion boto_iam.create_role myrole
85088
85089       salt.modules.boto_iam.create_role_policy(role_name,  policy_name,  pol‐
85090       icy, region=None, key=None, keyid=None, profile=None)
85091              Create or modify a role policy.
85092
85093              CLI Example:
85094
85095                 salt myminion boto_iam.create_role_policy myirole mypolicy '{"MyPolicy": "Statement": [{"Action": ["sqs:*"], "Effect": "Allow", "Resource": ["arn:aws:sqs:*:*:*"], "Sid": "MyPolicySqs1"}]}'
85096
85097       salt.modules.boto_iam.create_saml_provider(name,    saml_metadata_docu‐
85098       ment, region=None, key=None, keyid=None, profile=None)
85099              Create SAML provider
85100
85101              CLI Example:
85102
85103                 salt myminion boto_iam.create_saml_provider my_saml_provider_name saml_metadata_document
85104
85105       salt.modules.boto_iam.create_user(user_name,   path=None,  region=None,
85106       key=None, keyid=None, profile=None)
85107              Create a user.
85108
85109              New in version 2015.8.0.
85110
85111
85112              CLI Example:
85113
85114                 salt myminion boto_iam.create_user myuser
85115
85116       salt.modules.boto_iam.deactivate_mfa_device(user_name,          serial,
85117       region=None, key=None, keyid=None, profile=None)
85118              Deactivates the specified MFA device and removes it from associ‐
85119              ation with the user.
85120
85121              New in version 2016.3.0.
85122
85123
85124              CLI Example:
85125
85126                 salt myminion boto_iam.deactivate_mfa_device user_name serial_num
85127
85128       salt.modules.boto_iam.delete_access_key(access_key_id,  user_name=None,
85129       region=None, key=None, keyid=None, profile=None)
85130              Delete access key id from a user.
85131
85132              New in version 2015.8.0.
85133
85134
85135              CLI Example:
85136
85137                 salt myminion boto_iam.delete_access_key myuser
85138
85139       salt.modules.boto_iam.delete_group(group_name,  region=None,  key=None,
85140       keyid=None, profile=None)
85141              Delete a group policy.
85142
85143              CLI Example:
85144
85145                 .. code-block:: bash
85146                 salt myminion boto_iam.delete_group mygroup
85147
85148       salt.modules.boto_iam.delete_group_policy(group_name,      policy_name,
85149       region=None, key=None, keyid=None, profile=None)
85150              Delete a group policy.
85151
85152              CLI Example:
85153
85154                 .. code-block:: bash
85155                 salt myminion boto_iam.delete_group_policy mygroup mypolicy
85156
85157       salt.modules.boto_iam.delete_instance_profile(name,        region=None,
85158       key=None, keyid=None, profile=None)
85159              Delete an instance profile.
85160
85161              CLI Example:
85162
85163                 salt myminion boto_iam.delete_instance_profile myiprofile
85164
85165       salt.modules.boto_iam.delete_login_profile(user_name,      region=None,
85166       key=None, keyid=None, profile=None)
85167              Deletes a login profile for the specified user.
85168
85169              New in version 2016.3.0.
85170
85171
85172              CLI Example:
85173
85174                 salt myminion boto_iam.delete_login_profile user_name
85175
85176       salt.modules.boto_iam.delete_policy(policy_name, region=None, key=None,
85177       keyid=None, profile=None)
85178              Delete a policy.
85179
85180              CLI Example:
85181
85182                 salt myminion boto_iam.delete_policy mypolicy
85183
85184       salt.modules.boto_iam.delete_policy_version(policy_name,    version_id,
85185       region=None, key=None, keyid=None, profile=None)
85186              Delete a policy version.
85187
85188              CLI Example:
85189
85190                 salt myminion boto_iam.delete_policy_version mypolicy v1
85191
85192       salt.modules.boto_iam.delete_role(name,      region=None,     key=None,
85193       keyid=None, profile=None)
85194              Delete an IAM role.
85195
85196              CLI Example:
85197
85198                 salt myminion boto_iam.delete_role myirole
85199
85200       salt.modules.boto_iam.delete_role_policy(role_name,        policy_name,
85201       region=None, key=None, keyid=None, profile=None)
85202              Delete a role policy.
85203
85204              CLI Example:
85205
85206                 salt myminion boto_iam.delete_role_policy myirole mypolicy
85207
85208       salt.modules.boto_iam.delete_saml_provider(name, region=None, key=None,
85209       keyid=None, profile=None)
85210              Delete SAML provider
85211
85212              CLI Example:
85213
85214                 salt myminion boto_iam.delete_saml_provider my_saml_provider_name
85215
85216       salt.modules.boto_iam.delete_server_cert(cert_name,        region=None,
85217       key=None, keyid=None, profile=None)
85218              Deletes a certificate from Amazon.
85219
85220              New in version 2015.8.0.
85221
85222
85223              CLI Example:
85224
85225                 salt myminion boto_iam.delete_server_cert mycert_name
85226
85227       salt.modules.boto_iam.delete_user(user_name,   region=None,   key=None,
85228       keyid=None, profile=None)
85229              Delete a user.
85230
85231              New in version 2015.8.0.
85232
85233
85234              CLI Example:
85235
85236                 salt myminion boto_iam.delete_user myuser
85237
85238       salt.modules.boto_iam.delete_user_policy(user_name,        policy_name,
85239       region=None, key=None, keyid=None, profile=None)
85240              Delete a user policy.
85241
85242              CLI Example:
85243
85244                 salt myminion boto_iam.delete_user_policy myuser mypolicy
85245
85246       salt.modules.boto_iam.delete_virtual_mfa_device(serial,    region=None,
85247       key=None, keyid=None, profile=None)
85248              Deletes the specified virtual MFA device.
85249
85250              CLI Example:
85251
85252                 salt myminion boto_iam.delete_virtual_mfa_device serial_num
85253
85254       salt.modules.boto_iam.describe_role(name,    region=None,     key=None,
85255       keyid=None, profile=None)
85256              Get information for a role.
85257
85258              CLI Example:
85259
85260                 salt myminion boto_iam.describe_role myirole
85261
85262       salt.modules.boto_iam.detach_group_policy(policy_name,      group_name,
85263       region=None, key=None, keyid=None, profile=None)
85264              Detach a managed policy to a group.
85265
85266              CLI Example:
85267
85268                 salt myminion boto_iam.detach_group_policy mypolicy mygroup
85269
85270       salt.modules.boto_iam.detach_role_policy(policy_name,        role_name,
85271       region=None, key=None, keyid=None, profile=None)
85272              Detach a managed policy to a role.
85273
85274              CLI Example:
85275
85276                 salt myminion boto_iam.detach_role_policy mypolicy myrole
85277
85278       salt.modules.boto_iam.detach_user_policy(policy_name,        user_name,
85279       region=None, key=None, keyid=None, profile=None)
85280              Detach a managed policy to a user.
85281
85282              CLI Example:
85283
85284                 salt myminion boto_iam.detach_user_policy mypolicy myuser
85285
85286       salt.modules.boto_iam.disassociate_profile_from_role(profile_name,
85287       role_name, region=None, key=None, keyid=None, profile=None)
85288              Disassociate an instance profile from an IAM role.
85289
85290              CLI Example:
85291
85292                 salt myminion boto_iam.disassociate_profile_from_role myirole myiprofile
85293
85294       salt.modules.boto_iam.export_roles(path_prefix=u'/',       region=None,
85295       key=None, keyid=None, profile=None)
85296              Get all IAM role details. Produces results that can be  used  to
85297              create an sls file.
85298
85299              CLI Example:
85300                 salt-call boto_iam.export_roles --out=txt | sed "s/local: //"
85301                 > iam_roles.sls
85302
85303       salt.modules.boto_iam.export_users(path_prefix=u'/',       region=None,
85304       key=None, keyid=None, profile=None)
85305              Get  all  IAM user details. Produces results that can be used to
85306              create an sls file.
85307
85308              New in version 2016.3.0.
85309
85310
85311              CLI Example:
85312                 salt-call boto_iam.export_users --out=txt | sed "s/local: //"
85313                 > iam_users.sls
85314
85315       salt.modules.boto_iam.get_account_id(region=None, key=None, keyid=None,
85316       profile=None)
85317              Get a the AWS account id associated with the used credentials.
85318
85319              CLI Example:
85320
85321                 salt myminion boto_iam.get_account_id
85322
85323       salt.modules.boto_iam.get_account_policy(region=None,         key=None,
85324       keyid=None, profile=None)
85325              Get account policy for the AWS account.
85326
85327              New in version 2015.8.0.
85328
85329
85330              CLI Example:
85331
85332                 salt myminion boto_iam.get_account_policy
85333
85334       salt.modules.boto_iam.get_all_access_keys(user_name,       marker=None,
85335       max_items=None, region=None, key=None, keyid=None, profile=None)
85336              Get all access keys from a user.
85337
85338              New in version 2015.8.0.
85339
85340
85341              CLI Example:
85342
85343                 salt myminion boto_iam.get_all_access_keys myuser
85344
85345       salt.modules.boto_iam.get_all_group_policies(group_name,   region=None,
85346       key=None, keyid=None, profile=None)
85347              Get a list of policy names from a group.
85348
85349              CLI Example:
85350
85351                 salt myminion boto_iam.get_all_group_policies mygroup
85352
85353       salt.modules.boto_iam.get_all_groups(path_prefix=u'/',     region=None,
85354       key=None, keyid=None, profile=None)
85355              Get and return all IAM group details, starting at  the  optional
85356              path.
85357
85358              New in version 2016.3.0.
85359
85360
85361              CLI Example:
85362                 salt-call boto_iam.get_all_groups
85363
85364       salt.modules.boto_iam.get_all_instance_profiles(path_prefix=u'/',
85365       region=None, key=None, keyid=None, profile=None)
85366              Get and return  all  IAM  instance  profiles,  starting  at  the
85367              optional path.
85368
85369              New in version 2016.11.0.
85370
85371
85372              CLI Example:
85373                 salt-call boto_iam.get_all_instance_profiles
85374
85375       salt.modules.boto_iam.get_all_mfa_devices(user_name,       region=None,
85376       key=None, keyid=None, profile=None)
85377              Get all MFA devices associated with an IAM user.
85378
85379              New in version 2016.3.0.
85380
85381
85382              CLI Example:
85383
85384                 salt myminion boto_iam.get_all_mfa_devices user_name
85385
85386       salt.modules.boto_iam.get_all_roles(path_prefix=None,      region=None,
85387       key=None, keyid=None, profile=None)
85388              Get  and  return  all IAM role details, starting at the optional
85389              path.
85390
85391              New in version 2016.3.0.
85392
85393
85394              CLI Example:
85395                 salt-call boto_iam.get_all_roles
85396
85397       salt.modules.boto_iam.get_all_user_policies(user_name,     marker=None,
85398       max_items=None, region=None, key=None, keyid=None, profile=None)
85399              Get all user policies.
85400
85401              New in version 2015.8.0.
85402
85403
85404              CLI Example:
85405
85406                 salt myminion boto_iam.get_all_user_policies myuser
85407
85408       salt.modules.boto_iam.get_all_users(path_prefix=u'/',      region=None,
85409       key=None, keyid=None, profile=None)
85410              Get and return all IAM user details, starting  at  the  optional
85411              path.
85412
85413              New in version 2016.3.0.
85414
85415
85416              CLI Example:
85417                 salt-call boto_iam.get_all_users
85418
85419       salt.modules.boto_iam.get_group(group_name,    region=None,   key=None,
85420       keyid=None, profile=None)
85421              Get group information.
85422
85423              New in version 2015.8.0.
85424
85425
85426              CLI Example:
85427
85428                 salt myminion boto_iam.get_group mygroup
85429
85430       salt.modules.boto_iam.get_group_members(group_name,        region=None,
85431       key=None, keyid=None, profile=None)
85432              Get group information.
85433
85434              New in version 2016.3.0.
85435
85436
85437              CLI Example:
85438
85439                 salt myminion boto_iam.get_group mygroup
85440
85441       salt.modules.boto_iam.get_group_policy(group_name,         policy_name,
85442       region=None, key=None, keyid=None, profile=None)
85443              Retrieves the specified policy document for the specified group.
85444
85445              New in version 2015.8.0.
85446
85447
85448              CLI Example:
85449
85450                 salt myminion boto_iam.get_group_policy mygroup policyname
85451
85452       salt.modules.boto_iam.get_policy(policy_name,  region=None,   key=None,
85453       keyid=None, profile=None)
85454              Check to see if policy exists.
85455
85456              CLI Example:
85457
85458                 salt myminion boto_iam.instance_profile_exists myiprofile
85459
85460       salt.modules.boto_iam.get_policy_version(policy_name,       version_id,
85461       region=None, key=None, keyid=None, profile=None)
85462              Check to see if policy exists.
85463
85464              CLI Example:
85465
85466                 salt myminion boto_iam.instance_profile_exists myiprofile
85467
85468       salt.modules.boto_iam.get_role_policy(role_name,           policy_name,
85469       region=None, key=None, keyid=None, profile=None)
85470              Get a role policy.
85471
85472              CLI Example:
85473
85474                 salt myminion boto_iam.get_role_policy myirole mypolicy
85475
85476       salt.modules.boto_iam.get_saml_provider(name,   region=None,  key=None,
85477       keyid=None, profile=None)
85478              Get SAML provider document.
85479
85480              CLI Example:
85481
85482                 salt myminion boto_iam.get_saml_provider arn
85483
85484       salt.modules.boto_iam.get_saml_provider_arn(name,          region=None,
85485       key=None, keyid=None, profile=None)
85486              Get SAML provider
85487
85488              CLI Example:
85489
85490                 salt myminion boto_iam.get_saml_provider_arn my_saml_provider_name
85491
85492       salt.modules.boto_iam.get_server_certificate(cert_name,    region=None,
85493       key=None, keyid=None, profile=None)
85494              Returns certificate information from Amazon
85495
85496              New in version 2015.8.0.
85497
85498
85499              CLI Example:
85500
85501                 salt myminion boto_iam.get_server_certificate mycert_name
85502
85503       salt.modules.boto_iam.get_user(user_name=None,  region=None,  key=None,
85504       keyid=None, profile=None)
85505              Get user information.
85506
85507              New in version 2015.8.0.
85508
85509
85510              CLI Example:
85511
85512                 salt myminion boto_iam.get_user myuser
85513
85514       salt.modules.boto_iam.get_user_policy(user_name,           policy_name,
85515       region=None, key=None, keyid=None, profile=None)
85516              Retrieves the specified policy document for the specified user.
85517
85518              New in version 2015.8.0.
85519
85520
85521              CLI Example:
85522
85523                 salt myminion boto_iam.get_user_policy myuser mypolicyname
85524
85525       salt.modules.boto_iam.instance_profile_exists(name,        region=None,
85526       key=None, keyid=None, profile=None)
85527              Check to see if an instance profile exists.
85528
85529              CLI Example:
85530
85531                 salt myminion boto_iam.instance_profile_exists myiprofile
85532
85533       salt.modules.boto_iam.list_attached_group_policies(group_name,
85534       path_prefix=None,    entity_filter=None,     region=None,     key=None,
85535       keyid=None, profile=None)
85536              List entities attached to the given group.
85537
85538              CLI Example:
85539
85540                 salt myminion boto_iam.list_entities_for_policy mypolicy
85541
85542       salt.modules.boto_iam.list_attached_role_policies(role_name,  path_pre‐
85543       fix=None, entity_filter=None, region=None, key=None,  keyid=None,  pro‐
85544       file=None)
85545              List entities attached to the given role.
85546
85547              CLI Example:
85548
85549                 salt myminion boto_iam.list_entities_for_policy mypolicy
85550
85551       salt.modules.boto_iam.list_attached_user_policies(user_name,  path_pre‐
85552       fix=None, entity_filter=None, region=None, key=None,  keyid=None,  pro‐
85553       file=None)
85554              List entities attached to the given user.
85555
85556              CLI Example:
85557
85558                 salt myminion boto_iam.list_entities_for_policy mypolicy
85559
85560       salt.modules.boto_iam.list_entities_for_policy(policy_name,   path_pre‐
85561       fix=None, entity_filter=None, region=None, key=None,  keyid=None,  pro‐
85562       file=None)
85563              List entities that a policy is attached to.
85564
85565              CLI Example:
85566
85567                 salt myminion boto_iam.list_entities_for_policy mypolicy
85568
85569       salt.modules.boto_iam.list_instance_profiles(path_prefix=u'/',
85570       region=None, key=None, keyid=None, profile=None)
85571              List all IAM instance profiles, starting at the optional path.
85572
85573              New in version 2016.11.0.
85574
85575
85576              CLI Example:
85577                 salt-call boto_iam.list_instance_profiles
85578
85579       salt.modules.boto_iam.list_policies(region=None, key=None,  keyid=None,
85580       profile=None)
85581              List policies.
85582
85583              CLI Example:
85584
85585                 salt myminion boto_iam.list_policies
85586
85587       salt.modules.boto_iam.list_policy_versions(policy_name,    region=None,
85588       key=None, keyid=None, profile=None)
85589              List versions of a policy.
85590
85591              CLI Example:
85592
85593                 salt myminion boto_iam.list_policy_versions mypolicy
85594
85595       salt.modules.boto_iam.list_role_policies(role_name,        region=None,
85596       key=None, keyid=None, profile=None)
85597              Get a list of policy names from a role.
85598
85599              CLI Example:
85600
85601                 salt myminion boto_iam.list_role_policies myirole
85602
85603       salt.modules.boto_iam.list_saml_providers(region=None,        key=None,
85604       keyid=None, profile=None)
85605              List SAML providers.
85606
85607              CLI Example:
85608
85609                 salt myminion boto_iam.list_saml_providers
85610
85611       salt.modules.boto_iam.policy_exists(policy_name, region=None, key=None,
85612       keyid=None, profile=None)
85613              Check to see if policy exists.
85614
85615              CLI Example:
85616
85617                 salt myminion boto_iam.instance_profile_exists myiprofile
85618
85619       salt.modules.boto_iam.policy_version_exists(policy_name,    version_id,
85620       region=None, key=None, keyid=None, profile=None)
85621              Check to see if policy exists.
85622
85623              CLI Example:
85624
85625                 salt myminion boto_iam.instance_profile_exists myiprofile
85626
85627       salt.modules.boto_iam.profile_associated(role_name,       profile_name,
85628       region, key, keyid, profile)
85629              Check  to  see  if an instance profile is associated with an IAM
85630              role.
85631
85632              CLI Example:
85633
85634                 salt myminion boto_iam.profile_associated myirole myiprofile
85635
85636       salt.modules.boto_iam.put_group_policy(group_name,  policy_name,   pol‐
85637       icy_json, region=None, key=None, keyid=None, profile=None)
85638              Adds  or updates the specified policy document for the specified
85639              group.
85640
85641              New in version 2015.8.0.
85642
85643
85644              CLI Example:
85645
85646                 salt myminion boto_iam.put_group_policy mygroup policyname policyrules
85647
85648       salt.modules.boto_iam.put_user_policy(user_name,   policy_name,    pol‐
85649       icy_json, region=None, key=None, keyid=None, profile=None)
85650              Adds  or updates the specified policy document for the specified
85651              user.
85652
85653              New in version 2015.8.0.
85654
85655
85656              CLI Example:
85657
85658                 salt myminion boto_iam.put_user_policy myuser policyname policyrules
85659
85660       salt.modules.boto_iam.remove_user_from_group(group_name,     user_name,
85661       region=None, key=None, keyid=None, profile=None)
85662              Remove user from group.
85663
85664              New in version 2015.8.0.
85665
85666
85667              CLI Example:
85668
85669                 salt myminion boto_iam.remove_user_from_group mygroup myuser
85670
85671       salt.modules.boto_iam.role_exists(name,      region=None,     key=None,
85672       keyid=None, profile=None)
85673              Check to see if an IAM role exists.
85674
85675              CLI Example:
85676
85677                 salt myminion boto_iam.role_exists myirole
85678
85679       salt.modules.boto_iam.set_default_policy_version(policy_name,      ver‐
85680       sion_id, region=None, key=None, keyid=None, profile=None)
85681              Set the default version of  a policy.
85682
85683              CLI Example:
85684
85685                 salt myminion boto_iam.set_default_policy_version mypolicy v1
85686
85687       salt.modules.boto_iam.update_account_password_pol‐
85688       icy(allow_users_to_change_password=None,  hard_expiry=None,   max_pass‐
85689       word_age=None,   minimum_password_length=None,   password_reuse_preven‐
85690       tion=None,   require_lowercase_characters=None,   require_numbers=None,
85691       require_symbols=None,  require_uppercase_characters=None,  region=None,
85692       key=None, keyid=None, profile=None)
85693              Update the password policy for the AWS account.
85694
85695              New in version 2015.8.0.
85696
85697
85698              CLI Example:
85699
85700                 salt myminion boto_iam.update_account_password_policy True
85701
85702       salt.modules.boto_iam.update_assume_role_policy(role_name, policy_docu‐
85703       ment, region=None, key=None, keyid=None, profile=None)
85704              Update an assume role policy for a role.
85705
85706              New in version 2015.8.0.
85707
85708
85709              CLI Example:
85710
85711                 salt myminion boto_iam.update_assume_role_policy myrole '{"Statement":"..."}'
85712
85713       salt.modules.boto_iam.update_saml_provider(name,    saml_metadata_docu‐
85714       ment, region=None, key=None, keyid=None, profile=None)
85715              Update SAML provider.
85716
85717              CLI Example:
85718
85719                 salt myminion boto_iam.update_saml_provider my_saml_provider_name saml_metadata_document
85720
85721       salt.modules.boto_iam.upload_server_cert(cert_name,   cert_body,   pri‐
85722       vate_key,    cert_chain=None,    path=None,    region=None,   key=None,
85723       keyid=None, profile=None)
85724              Upload a certificate to Amazon.
85725
85726              New in version 2015.8.0.
85727
85728
85729              CLI Example:
85730
85731                 salt myminion boto_iam.upload_server_cert mycert_name crt priv_key
85732
85733              Parameters
85734
85735                     · cert_name -- The name for the  server  certificate.  Do
85736                       not include the path in this value.
85737
85738                     · cert_body -- The contents of the public key certificate
85739                       in PEM-encoded format.
85740
85741                     · private_key -- The  contents  of  the  private  key  in
85742                       PEM-encoded format.
85743
85744                     · cert_chain  --  The  contents of the certificate chain.
85745                       This is typically a concatenation  of  the  PEM-encoded
85746                       public key certificates of the chain.
85747
85748                     · path -- The path for the server certificate.
85749
85750                     · region -- The name of the region to connect to.
85751
85752                     · key -- The key to be used in order to connect
85753
85754                     · keyid -- The keyid to be used in order to connect
85755
85756                     · profile  -- The profile that contains a dict of region,
85757                       key, keyid
85758
85759              Returns
85760                     True / False
85761
85762       salt.modules.boto_iam.user_exists_in_group(user_name,       group_name,
85763       region=None, key=None, keyid=None, profile=None)
85764              Check if user exists in group.
85765
85766              New in version 2015.8.0.
85767
85768
85769              CLI Example:
85770
85771                 salt myminion boto_iam.user_exists_in_group myuser mygroup
85772
85773   salt.modules.boto_iot module
85774       Connection module for Amazon IoT
85775
85776       New in version 2016.3.0.
85777
85778
85779       depends
85780
85781              · boto
85782
85783              · boto3
85784
85785       The dependencies listed above can be installed via package or pip.
85786
85787       configuration
85788              This  module  accepts  explicit  Lambda credentials but can also
85789              utilize IAM roles assigned to the instance through Instance Pro‐
85790              files.  Dynamic credentials are then automatically obtained from
85791              AWS API and no further configuration is necessary. More Informa‐
85792              tion available at:
85793
85794                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
85795
85796              If  IAM  roles are not used you need to specify them either in a
85797              pillar or in the minion's config file:
85798
85799                 iot.keyid: GKTADJGHEIQSXMKKRBJ08H
85800                 iot.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
85801
85802              A region may also be specified in the configuration:
85803
85804                 iot.region: us-east-1
85805
85806              If a region is not specified, the default is us-east-1.
85807
85808              It's also possible to specify key, keyid and region via  a  pro‐
85809              file,  either  as  a passed in dict, or as a string to pull from
85810              pillars or minion config:
85811
85812                 myprofile:
85813                   keyid: GKTADJGHEIQSXMKKRBJ08H
85814                   key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
85815                   region: us-east-1
85816
85817       salt.modules.boto_iot.attach_principal_policy(policyName,    principal,
85818       region=None, key=None, keyid=None, profile=None)
85819              Attach the specified policy to the specified principal (certifi‐
85820              cate or other credential.)
85821
85822              Returns {attached: true} if the policy was  attached  {attached:
85823              False} if the policy was not attached.
85824
85825              CLI Example:
85826
85827                 salt myminion boto_iot.attach_principal_policy mypolicy mycognitoID
85828
85829       salt.modules.boto_iot.create_policy(policyName,         policyDocument,
85830       region=None, key=None, keyid=None, profile=None)
85831              Given a valid config, create a policy.
85832
85833              Returns {created: true} if the policy was  created  and  returns
85834              {created: False} if the policy was not created.
85835
85836              CLI Example:
85837
85838                 salt myminion boto_iot.create_policy my_policy \
85839                       '{"Version":"2015-12-12",\
85840                       "Statement":[{"Effect":"Allow",\
85841                                     "Action":["iot:Publish"],\
85842                                     "Resource":["arn:::::topic/foo/bar"]}]}'
85843
85844       salt.modules.boto_iot.create_policy_version(policyName, policyDocument,
85845       setAsDefault=False, region=None, key=None, keyid=None, profile=None)
85846              Given a valid config, create a new version of a policy.
85847
85848              Returns {created: true} if the policy version  was  created  and
85849              returns {created: False} if the policy version was not created.
85850
85851              CLI Example:
85852
85853                 salt myminion boto_iot.create_policy_version my_policy \
85854                        '{"Statement":[{"Effect":"Allow","Action":["iot:Publish"],"Resource":["arn:::::topic/foo/bar"]}]}'
85855
85856       salt.modules.boto_iot.create_thing_type(thingTypeName,       thingType‐
85857       Description,    searchableAttributesList,    region=None,     key=None,
85858       keyid=None, profile=None)
85859              Given a valid config, create a thing type.
85860
85861              Returns  {created:  true}  if  the  thing  type  was created and
85862              returns {created: False} if the thing type was not created.
85863
85864              New in version 2016.11.0.
85865
85866
85867              CLI Example:
85868
85869                 salt myminion boto_iot.create_thing_type mythingtype \
85870                       thingtype_description_string '["searchable_attr_1", "searchable_attr_2"]'
85871
85872       salt.modules.boto_iot.create_topic_rule(ruleName,     sql,     actions,
85873       description,  ruleDisabled=False,  region=None,  key=None,  keyid=None,
85874       profile=None)
85875              Given a valid config, create a topic rule.
85876
85877              Returns {created: true} if the  rule  was  created  and  returns
85878              {created: False} if the rule was not created.
85879
85880              CLI Example:
85881
85882                 salt myminion boto_iot.create_topic_rule my_rule "SELECT * FROM 'some/thing'" \
85883                     '[{"lambda":{"functionArn":"arn:::::something"}},{"sns":{\
85884                     "targetArn":"arn:::::something","roleArn":"arn:::::something"}}]'
85885
85886       salt.modules.boto_iot.delete_policy(policyName,  region=None, key=None,
85887       keyid=None, profile=None)
85888              Given a policy name, delete it.
85889
85890              Returns {deleted: true} if the policy was  deleted  and  returns
85891              {deleted: false} if the policy was not deleted.
85892
85893              CLI Example:
85894
85895                 salt myminion boto_iot.delete_policy mypolicy
85896
85897       salt.modules.boto_iot.delete_policy_version(policyName,      policyVer‐
85898       sionId, region=None, key=None, keyid=None, profile=None)
85899              Given a policy name and version, delete it.
85900
85901              Returns {deleted: true} if the policy version  was  deleted  and
85902              returns {deleted: false} if the policy version was not deleted.
85903
85904              CLI Example:
85905
85906                 salt myminion boto_iot.delete_policy_version mypolicy version
85907
85908       salt.modules.boto_iot.delete_thing_type(thingTypeName,     region=None,
85909       key=None, keyid=None, profile=None)
85910              Given a thing type name, delete it.
85911
85912              Returns {deleted: true}  if  the  thing  type  was  deleted  and
85913              returns {deleted: false} if the thing type was not deleted.
85914
85915              New in version 2016.11.0.
85916
85917
85918              CLI Example:
85919
85920                 salt myminion boto_iot.delete_thing_type mythingtype
85921
85922       salt.modules.boto_iot.delete_topic_rule(ruleName,          region=None,
85923       key=None, keyid=None, profile=None)
85924              Given a rule name, delete it.
85925
85926              Returns {deleted: true} if the  rule  was  deleted  and  returns
85927              {deleted: false} if the rule was not deleted.
85928
85929              CLI Example:
85930
85931                 salt myminion boto_iot.delete_rule myrule
85932
85933       salt.modules.boto_iot.deprecate_thing_type(thingTypeName,    undoDepre‐
85934       cate=False, region=None, key=None, keyid=None, profile=None)
85935              Given a thing type name,  deprecate  it  when  undoDeprecate  is
85936              False and undeprecate it when undoDeprecate is True.
85937
85938              Returns  {deprecated: true} if the thing type was deprecated and
85939              returns {deprecated: false} if the thing  type  was  not  depre‐
85940              cated.
85941
85942              New in version 2016.11.0.
85943
85944
85945              CLI Example:
85946
85947                 salt myminion boto_iot.deprecate_thing_type mythingtype
85948
85949       salt.modules.boto_iot.describe_policy(policyName,          region=None,
85950       key=None, keyid=None, profile=None)
85951              Given a policy name describe its properties.
85952
85953              Returns a dictionary of interesting properties.
85954
85955              CLI Example:
85956
85957                 salt myminion boto_iot.describe_policy mypolicy
85958
85959       salt.modules.boto_iot.describe_policy_version(policyName,    policyVer‐
85960       sionId, region=None, key=None, keyid=None, profile=None)
85961              Given a policy name and version describe its properties.
85962
85963              Returns a dictionary of interesting properties.
85964
85965              CLI Example:
85966
85967                 salt myminion boto_iot.describe_policy_version mypolicy version
85968
85969       salt.modules.boto_iot.describe_thing_type(thingTypeName,   region=None,
85970       key=None, keyid=None, profile=None)
85971              Given a thing type name describe its properties.
85972
85973              Returns a dictionary of interesting properties.
85974
85975              New in version 2016.11.0.
85976
85977
85978              CLI Example:
85979
85980                 salt myminion boto_iot.describe_thing_type mythingtype
85981
85982       salt.modules.boto_iot.describe_topic_rule(ruleName,        region=None,
85983       key=None, keyid=None, profile=None)
85984              Given a topic rule name describe its properties.
85985
85986              Returns a dictionary of interesting properties.
85987
85988              CLI Example:
85989
85990                 salt myminion boto_iot.describe_topic_rule myrule
85991
85992       salt.modules.boto_iot.detach_principal_policy(policyName,    principal,
85993       region=None, key=None, keyid=None, profile=None)
85994              Detach the specified policy from the specified  principal  (cer‐
85995              tificate or other credential.)
85996
85997              Returns  {detached:  true} if the policy was detached {detached:
85998              False} if the policy was not detached.
85999
86000              CLI Example:
86001
86002                 salt myminion boto_iot.detach_principal_policy mypolicy mycognitoID
86003
86004       salt.modules.boto_iot.list_policies(region=None, key=None,  keyid=None,
86005       profile=None)
86006              List all policies
86007
86008              Returns list of policies
86009
86010              CLI Example:
86011
86012                 salt myminion boto_iot.list_policies
86013
86014              Example Return:
86015
86016                 policies:
86017                   - {...}
86018                   - {...}
86019
86020       salt.modules.boto_iot.list_policy_versions(policyName,     region=None,
86021       key=None, keyid=None, profile=None)
86022              List the versions available for the given policy.
86023
86024              CLI Example:
86025
86026                 salt myminion boto_iot.list_policy_versions mypolicy
86027
86028              Example Return:
86029
86030                 policyVersions:
86031                   - {...}
86032                   - {...}
86033
86034       salt.modules.boto_iot.list_principal_policies(principal,   region=None,
86035       key=None, keyid=None, profile=None)
86036              List the policies attached to the given principal.
86037
86038              CLI Example:
86039
86040                 salt myminion boto_iot.list_principal_policies myprincipal
86041
86042              Example Return:
86043
86044                 policies:
86045                   - {...}
86046                   - {...}
86047
86048       salt.modules.boto_iot.list_topic_rules(topic=None,   ruleDisabled=None,
86049       region=None, key=None, keyid=None, profile=None)
86050              List all rules (for a given topic, if specified)
86051
86052              Returns list of rules
86053
86054              CLI Example:
86055
86056                 salt myminion boto_iot.list_topic_rules
86057
86058              Example Return:
86059
86060                 rules:
86061                   - {...}
86062                   - {...}
86063
86064       salt.modules.boto_iot.policy_exists(policyName, region=None,  key=None,
86065       keyid=None, profile=None)
86066              Given a policy name, check to see if the given policy exists.
86067
86068              Returns True if the given policy exists and returns False if the
86069              given policy does not exist.
86070
86071              CLI Example:
86072
86073                 salt myminion boto_iot.policy_exists mypolicy
86074
86075       salt.modules.boto_iot.policy_version_exists(policyName,      policyVer‐
86076       sionId, region=None, key=None, keyid=None, profile=None)
86077              Given  a  policy  name and version ID, check to see if the given
86078              policy version exists.
86079
86080              Returns True if the given  policy  version  exists  and  returns
86081              False if the given policy version does not exist.
86082
86083              CLI Example:
86084
86085                 salt myminion boto_iot.policy_version_exists mypolicy versionid
86086
86087       salt.modules.boto_iot.replace_topic_rule(ruleName,     sql,    actions,
86088       description,  ruleDisabled=False,  region=None,  key=None,  keyid=None,
86089       profile=None)
86090              Given a valid config, replace a topic rule with the new values.
86091
86092              Returns  {created:  true}  if  the  rule was created and returns
86093              {created: False} if the rule was not created.
86094
86095              CLI Example:
86096
86097                 salt myminion boto_iot.replace_topic_rule my_rule 'SELECT * FROM some.thing' \
86098                     '[{"lambda":{"functionArn":"arn:::::something"}},{"sns":{\
86099                     "targetArn":"arn:::::something","roleArn":"arn:::::something"}}]'
86100
86101       salt.modules.boto_iot.set_default_policy_version(policyName, policyVer‐
86102       sionId, region=None, key=None, keyid=None, profile=None)
86103              Sets  the  specified version of the specified policy as the pol‐
86104              icy's default (operative) version. This action affects all  cer‐
86105              tificates that the policy is attached to.
86106
86107              Returns  {changed: true} if the policy version was set {changed:
86108              False} if the policy version was not set.
86109
86110              CLI Example:
86111
86112                 salt myminion boto_iot.set_default_policy_version mypolicy versionid
86113
86114       salt.modules.boto_iot.thing_type_exists(thingTypeName,     region=None,
86115       key=None, keyid=None, profile=None)
86116              Given  a  thing  type name, check to see if the given thing type
86117              exists
86118
86119              Returns True if the given thing type exists and returns False if
86120              the given thing type does not exist.
86121
86122              New in version 2016.11.0.
86123
86124
86125              CLI Example:
86126
86127                 salt myminion boto_iot.thing_type_exists mythingtype
86128
86129       salt.modules.boto_iot.topic_rule_exists(ruleName,          region=None,
86130       key=None, keyid=None, profile=None)
86131              Given a rule name, check to see if the given rule exists.
86132
86133              Returns True if the given rule exists and returns False  if  the
86134              given rule does not exist.
86135
86136              CLI Example:
86137
86138                 salt myminion boto_iot.topic_rule_exists myrule
86139
86140   salt.modules.boto_kinesis module
86141       Connection module for Amazon Kinesis
86142
86143       New in version 2017.7.0.
86144
86145
86146       configuration
86147              This  module  accepts  explicit Kinesis credentials but can also
86148              utilize IAM roles assigned to the instance trough Instance  Pro‐
86149              files.  Dynamic credentials are then automatically obtained from
86150              AWS API and no further configuration is necessary. More Informa‐
86151              tion available at:
86152
86153                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
86154
86155              If  IAM  roles are not used you need to specify them either in a
86156              pillar or in the minion's config file:
86157
86158                 kinesis.keyid: GKTADJGHEIQSXMKKRBJ08H
86159                 kinesis.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
86160
86161              A region may also be specified in the configuration:
86162
86163                 kinesis.region: us-east-1
86164
86165              If a region is not specified, the default is us-east-1.
86166
86167              It's also possible to specify key, keyid and region via  a  pro‐
86168              file,  either  as  a passed in dict, or as a string to pull from
86169              pillars or minion config:
86170
86171                 myprofile:
86172                     keyid: GKTADJGHEIQSXMKKRBJ08H
86173                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
86174                     region: us-east-1
86175
86176       depends
86177              boto3
86178
86179       salt.modules.boto_kinesis.create_stream(stream_name,        num_shards,
86180       region=None, key=None, keyid=None, profile=None)
86181              Create  a  stream  with  name  stream_name and initial number of
86182              shards num_shards.
86183
86184              CLI example:
86185
86186                 salt myminion boto_kinesis.create_stream my_stream N region=us-east-1
86187
86188       salt.modules.boto_kinesis.decrease_stream_retention_period(stream_name,
86189       retention_hours, region=None, key=None, keyid=None, profile=None)
86190              Decrease stream retention period to retention_hours
86191
86192              CLI example:
86193
86194                 salt myminion boto_kinesis.decrease_stream_retention_period my_stream N region=us-east-1
86195
86196       salt.modules.boto_kinesis.delete_stream(stream_name,       region=None,
86197       key=None, keyid=None, profile=None)
86198              Delete the stream with name stream_name. This cannot be  undone!
86199              All data will be lost!!
86200
86201              CLI example:
86202
86203                 salt myminion boto_kinesis.delete_stream my_stream region=us-east-1
86204
86205       salt.modules.boto_kinesis.disable_enhanced_monitoring(stream_name, met‐
86206       rics, region=None, key=None, keyid=None, profile=None)
86207              Disable enhanced monitoring for the specified  shard-level  met‐
86208              rics on stream stream_name
86209
86210              CLI example:
86211
86212                 salt myminion boto_kinesis.disable_enhanced_monitoring my_stream ["metrics", "to", "disable"] region=us-east-1
86213
86214       salt.modules.boto_kinesis.enable_enhanced_monitoring(stream_name,  met‐
86215       rics, region=None, key=None, keyid=None, profile=None)
86216              Enable enhanced monitoring for the specified shard-level metrics
86217              on stream stream_name
86218
86219              CLI example:
86220
86221                 salt myminion boto_kinesis.enable_enhanced_monitoring my_stream ["metrics", "to", "enable"] region=us-east-1
86222
86223       salt.modules.boto_kinesis.exists(stream_name,   region=None,  key=None,
86224       keyid=None, profile=None)
86225              Check if the stream exists. Returns False and the  error  if  it
86226              does not.
86227
86228              CLI example:
86229
86230                 salt myminion boto_kinesis.exists my_stream region=us-east-1
86231
86232       salt.modules.boto_kinesis.get_info_for_reshard(stream_details)
86233              Collect some data: number of open shards, key range, etc.  Modi‐
86234              fies stream_details to add a sorted list of OpenShards.  Returns
86235              (min_hash_key, max_hash_key, stream_details)
86236
86237              CLI example:
86238
86239                 salt myminion boto_kinesis.get_info_for_reshard existing_stream_details
86240
86241       salt.modules.boto_kinesis.get_stream_when_active(stream_name,
86242       region=None, key=None, keyid=None, profile=None)
86243              Get complete stream info  from  AWS,  returning  only  when  the
86244              stream  is  in the ACTIVE state.  Continues to retry when stream
86245              is updating or  creating.   If  the  stream  is  deleted  during
86246              retries, the loop will catch the error and break.
86247
86248              CLI example:
86249
86250                 salt myminion boto_kinesis.get_stream_when_active my_stream region=us-east-1
86251
86252       salt.modules.boto_kinesis.increase_stream_retention_period(stream_name,
86253       retention_hours, region=None, key=None, keyid=None, profile=None)
86254              Increase stream retention period to retention_hours
86255
86256              CLI example:
86257
86258                 salt myminion boto_kinesis.increase_stream_retention_period my_stream N region=us-east-1
86259
86260       salt.modules.boto_kinesis.list_streams(region=None,           key=None,
86261       keyid=None, profile=None)
86262              Return a list of all streams visible to the current account
86263
86264              CLI example:
86265
86266                 salt myminion boto_kinesis.list_streams
86267
86268       salt.modules.boto_kinesis.long_int(hash_key)
86269              The hash key is a 128-bit int, sent as a string.  It's necessary
86270              to convert to int/long for comparison operations.   This  helper
86271              method handles python 2/3 incompatibility
86272
86273              CLI example:
86274
86275                 salt myminion boto_kinesis.long_int some_MD5_hash_as_string
86276
86277              Returns
86278                     long object if python 2.X, int object if python 3.X
86279
86280       salt.modules.boto_kinesis.reshard(stream_name,            desired_size,
86281       force=False, region=None, key=None, keyid=None, profile=None)
86282              Reshard a kinesis stream.  Each call to this function will  wait
86283              until  the  stream  is ACTIVE, then make a single split or merge
86284              operation. This function decides where to split  or  merge  with
86285              the  assumption  that  the ultimate goal is a balanced partition
86286              space.
86287
86288              For safety, user must past in force=True; otherwise,  the  func‐
86289              tion will dry run.
86290
86291              CLI example:
86292
86293                 salt myminion boto_kinesis.reshard my_stream N True region=us-east-1
86294
86295              Returns
86296                     True  if  a  split or merge was found/performed, False if
86297                     nothing is needed
86298
86299   salt.modules.boto_kms
86300       Connection module for Amazon KMS
86301
86302       New in version 2015.8.0.
86303
86304
86305       configuration
86306              This module accepts explicit kms credentials but can  also  uti‐
86307              lize  IAM  roles  assigned to the instance through Instance Pro‐
86308              files. Dynamic credentials are then automatically obtained  from
86309              AWS API and no further configuration is necessary. More Informa‐
86310              tion available at:
86311
86312                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
86313
86314              If IAM roles are not used you need to specify them either  in  a
86315              pillar or in the minion's config file:
86316
86317                 kms.keyid: GKTADJGHEIQSXMKKRBJ08H
86318                 kms.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
86319
86320              A region may also be specified in the configuration:
86321
86322                 kms.region: us-east-1
86323
86324              If a region is not specified, the default is us-east-1.
86325
86326              It's  also  possible to specify key, keyid and region via a pro‐
86327              file, either as a passed in dict, or as a string  to  pull  from
86328              pillars or minion config:
86329
86330                 myprofile:
86331                        keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupU‐
86332                        jasdflkdfklgjsdfjajkghs region: us-east-1
86333
86334       depends
86335              boto
86336
86337       salt.modules.boto_kms.create_alias(alias_name,           target_key_id,
86338       region=None, key=None, keyid=None, profile=None)
86339              Create a display name for a key.
86340
86341              CLI example:
86342
86343                 salt myminion boto_kms.create_alias 'alias/mykey' key_id
86344
86345       salt.modules.boto_kms.create_grant(key_id,   grantee_principal,  retir‐
86346       ing_principal=None,         operations=None,          constraints=None,
86347       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
86348              Adds  a  grant  to  a  key to specify who can access the key and
86349              under what conditions.
86350
86351              CLI example:
86352
86353                 salt myminion boto_kms.create_grant 'alias/mykey' 'arn:aws:iam::1111111:/role/myrole' operations='["Encrypt","Decrypt"]'
86354
86355       salt.modules.boto_kms.create_key(policy=None,         description=None,
86356       key_usage=None, region=None, key=None, keyid=None, profile=None)
86357              Creates a master key.
86358
86359              CLI example:
86360
86361                 salt myminion boto_kms.create_key '{"Statement":...}' "My master key"
86362
86363       salt.modules.boto_kms.decrypt(ciphertext_blob, encryption_context=None,
86364       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
86365              Decrypt ciphertext.
86366
86367              CLI example:
86368
86369                 salt myminion boto_kms.decrypt encrypted_ciphertext
86370
86371       salt.modules.boto_kms.describe_key(key_id,    region=None,    key=None,
86372       keyid=None, profile=None)
86373              Get detailed information about a key.
86374
86375              CLI example:
86376
86377                 salt myminion boto_kms.describe_key 'alias/mykey'
86378
86379       salt.modules.boto_kms.disable_key(key_id,     region=None,    key=None,
86380       keyid=None, profile=None)
86381              Mark key as disabled.
86382
86383              CLI example:
86384
86385                 salt myminion boto_kms.disable_key 'alias/mykey'
86386
86387       salt.modules.boto_kms.disable_key_rotation(key_id,         region=None,
86388       key=None, keyid=None, profile=None)
86389              Disable key rotation for specified key.
86390
86391              CLI example:
86392
86393                 salt myminion boto_kms.disable_key_rotation 'alias/mykey'
86394
86395       salt.modules.boto_kms.enable_key(key_id,     region=None,     key=None,
86396       keyid=None, profile=None)
86397              Mark key as enabled.
86398
86399              CLI example:
86400
86401                 salt myminion boto_kms.enable_key 'alias/mykey'
86402
86403       salt.modules.boto_kms.enable_key_rotation(key_id,          region=None,
86404       key=None, keyid=None, profile=None)
86405              Disable key rotation for specified key.
86406
86407              CLI example:
86408
86409                 salt myminion boto_kms.enable_key_rotation 'alias/mykey'
86410
86411       salt.modules.boto_kms.encrypt(key_id,     plaintext,    encryption_con‐
86412       text=None, grant_tokens=None, region=None, key=None,  keyid=None,  pro‐
86413       file=None)
86414              Encrypt plaintext into cipher text using specified key.
86415
86416              CLI example:
86417
86418                 salt myminion boto_kms.encrypt 'alias/mykey' 'myplaindata' '{"aws:username":"myuser"}'
86419
86420       salt.modules.boto_kms.generate_data_key(key_id,         encryption_con‐
86421       text=None,  number_of_bytes=None,   key_spec=None,   grant_tokens=None,
86422       region=None, key=None, keyid=None, profile=None)
86423              Generate a secure data key.
86424
86425              CLI example:
86426
86427                 salt myminion boto_kms.generate_data_key 'alias/mykey' number_of_bytes=1024 key_spec=AES_128
86428
86429       salt.modules.boto_kms.generate_data_key_without_plaintext(key_id,
86430       encryption_context=None,      number_of_bytes=None,      key_spec=None,
86431       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
86432              Generate a secure data key without a plaintext copy of the key.
86433
86434              CLI example:
86435
86436                 salt myminion boto_kms.generate_data_key_without_plaintext 'alias/mykey' number_of_bytes=1024 key_spec=AES_128
86437
86438       salt.modules.boto_kms.generate_random(number_of_bytes=None,
86439       region=None, key=None, keyid=None, profile=None)
86440              Generate a random string.
86441
86442              CLI example:
86443
86444                 salt myminion boto_kms.generate_random number_of_bytes=1024
86445
86446       salt.modules.boto_kms.get_key_policy(key_id, policy_name,  region=None,
86447       key=None, keyid=None, profile=None)
86448              Get the policy for the specified key.
86449
86450              CLI example:
86451
86452                 salt myminion boto_kms.get_key_policy 'alias/mykey' mypolicy
86453
86454       salt.modules.boto_kms.get_key_rotation_status(key_id,      region=None,
86455       key=None, keyid=None, profile=None)
86456              Get status of whether or not key rotation is enabled for a key.
86457
86458              CLI example:
86459
86460                 salt myminion boto_kms.get_key_rotation_status 'alias/mykey'
86461
86462       salt.modules.boto_kms.key_exists(key_id,     region=None,     key=None,
86463       keyid=None, profile=None)
86464              Check for the existence of a key.
86465
86466              CLI example:
86467
86468                 salt myminion boto_kms.key_exists 'alias/mykey'
86469
86470       salt.modules.boto_kms.list_grants(key_id,    limit=None,   marker=None,
86471       region=None, key=None, keyid=None, profile=None)
86472              List grants for the specified key.
86473
86474              CLI example:
86475
86476                 salt myminion boto_kms.list_grants 'alias/mykey'
86477
86478       salt.modules.boto_kms.list_key_policies(key_id,             limit=None,
86479       marker=None, region=None, key=None, keyid=None, profile=None)
86480              List key_policies for the specified key.
86481
86482              CLI example:
86483
86484                 salt myminion boto_kms.list_key_policies 'alias/mykey'
86485
86486       salt.modules.boto_kms.put_key_policy(key_id,    policy_name,    policy,
86487       region=None, key=None, keyid=None, profile=None)
86488              Attach a key policy to the specified key.
86489
86490              CLI example:
86491
86492                 salt myminion boto_kms.put_key_policy 'alias/mykey' default '{"Statement":...}'
86493
86494       salt.modules.boto_kms.re_encrypt(ciphertext_blob,   destination_key_id,
86495       source_encryption_context=None,    destination_encryption_context=None,
86496       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
86497              Reencrypt encrypted data with a new master key.
86498
86499              CLI example:
86500
86501                 salt myminion boto_kms.re_encrypt 'encrypted_data' 'alias/mynewkey' default '{"Statement":...}'
86502
86503       salt.modules.boto_kms.revoke_grant(key_id,    grant_id,    region=None,
86504       key=None, keyid=None, profile=None)
86505              Revoke a grant from a key.
86506
86507              CLI example:
86508
86509                 salt myminion boto_kms.revoke_grant 'alias/mykey' 8u89hf-j09j...
86510
86511       salt.modules.boto_kms.update_key_description(key_id,       description,
86512       region=None, key=None, keyid=None, profile=None)
86513              Update a key's description.
86514
86515              CLI example:
86516
86517                 salt myminion boto_kms.update_key_description 'alias/mykey' 'My key'
86518
86519   salt.modules.boto_lambda module
86520       Connection module for Amazon Lambda
86521
86522       New in version 2016.3.0.
86523
86524
86525       depends
86526
86527       · boto
86528
86529       · boto3
86530
86531       The dependencies listed above can be installed via package or pip.
86532
86533       configuration
86534              This module accepts explicit Lambda  credentials  but  can  also
86535              utilize IAM roles assigned to the instance through Instance Pro‐
86536              files.  Dynamic credentials are then automatically obtained from
86537              AWS API and no further configuration is necessary. More Informa‐
86538              tion available here.
86539
86540       If IAM roles are not used you need to specify them either in  a  pillar
86541       or in the minion's config file:
86542
86543          lambda.keyid: GKTADJGHEIQSXMKKRBJ08H
86544          lambda.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
86545
86546       A region may also be specified in the configuration:
86547
86548          lambda.region: us-east-1
86549
86550       If a region is not specified, the default is us-east-1.
86551
86552       It's  also  possible  to  specify  key, keyid and region via a profile,
86553       either as a passed in dict, or as a string to pull from pillars or min‐
86554       ion config:
86555
86556          myprofile:
86557              keyid: GKTADJGHEIQSXMKKRBJ08H
86558              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
86559              region: us-east-1
86560
86561       Changed  in version 2015.8.0: All methods now return a dictionary. Cre‐
86562       ate and delete methods return:
86563
86564          created: true
86565
86566       or
86567
86568          created: false
86569          error:
86570            message: error message
86571
86572       Request methods (e.g., describe_function) return:
86573
86574          function:
86575            - {...}
86576            - {...}
86577
86578       or
86579
86580          error:
86581            message: error message
86582
86583
86584       salt.modules.boto_lambda.add_permission(FunctionName,      StatementId,
86585       Action,  Principal, SourceArn=None, SourceAccount=None, Qualifier=None,
86586       region=None, key=None, keyid=None, profile=None)
86587              Add a permission to a lambda function.
86588
86589              Returns {added: true} if the permission was  added  and  returns
86590              {added: False} if the permission was not added.
86591
86592              CLI Example:
86593
86594                 salt myminion boto_lamba.add_permission my_function my_id "lambda:*" \
86595                                    s3.amazonaws.com aws:arn::::bucket-name \
86596                                    aws-account-id
86597
86598       salt.modules.boto_lambda.alias_exists(FunctionName,  Name, region=None,
86599       key=None, keyid=None, profile=None)
86600              Given a function name and alias name, check to see if the  given
86601              alias exists.
86602
86603              Returns  True if the given alias exists and returns False if the
86604              given alias does not exist.
86605
86606              CLI Example:
86607
86608                 salt myminion boto_lambda.alias_exists myfunction myalias
86609
86610       salt.modules.boto_lambda.create_alias(FunctionName, Name,  FunctionVer‐
86611       sion, Description=u'', region=None, key=None, keyid=None, profile=None)
86612              Given a valid config, create an alias to a function.
86613
86614              Returns  {created:  true}  if  the alias was created and returns
86615              {created: False} if the alias was not created.
86616
86617              CLI Example:
86618
86619                 salt myminion boto_lamba.create_alias my_function my_alias $LATEST "An alias"
86620
86621       salt.modules.boto_lambda.create_event_source_mapping(EventSourceArn,
86622       FunctionName,     StartingPosition,     Enabled=True,    BatchSize=100,
86623       region=None, key=None, keyid=None, profile=None)
86624              Identifies a stream as an event source for a Lambda function. It
86625              can  be  either  an  Amazon Kinesis stream or an Amazon DynamoDB
86626              stream. AWS Lambda invokes the specified function  when  records
86627              are posted to the stream.
86628
86629              Returns  {created: true} if the event source mapping was created
86630              and returns {created: False} if the event source mapping was not
86631              created.
86632
86633              CLI Example:
86634
86635                 salt myminion boto_lamba.create_event_source_mapping arn::::eventsource myfunction LATEST
86636
86637       salt.modules.boto_lambda.create_function(FunctionName,  Runtime,  Role,
86638       Handler, ZipFile=None, S3Bucket=None, S3Key=None, S3ObjectVersion=None,
86639       Description=u'',  Timeout=3,  MemorySize=128,  Publish=False,  WaitFor‐
86640       Role=False,  RoleRetries=5,  region=None,  key=None,  keyid=None,  pro‐
86641       file=None, VpcConfig=None, Environment=None)
86642              New in version 2017.7.0.
86643
86644
86645              Given a valid config, create a function.
86646
86647              Environment
86648                     The  parent  object that contains your environment's con‐
86649                     figuration settings. This is a dictionary of the form:
86650
86651                        {
86652                            'Variables': {
86653                                'VariableName': 'VariableValue'
86654                            }
86655                        }
86656
86657              Returns {'created': True} if the function was created and  {cre‐
86658              ated: False} if the function was not created.
86659
86660              CLI Example:
86661
86662                 salt myminion boto_lamba.create_function my_function python2.7 my_role my_file.my_function my_function.zip
86663
86664       salt.modules.boto_lambda.delete_alias(FunctionName,  Name, region=None,
86665       key=None, keyid=None, profile=None)
86666              Given a function name and alias name, delete the alias.
86667
86668              Returns {deleted: true} if the alias  was  deleted  and  returns
86669              {deleted: false} if the alias was not deleted.
86670
86671              CLI Example:
86672
86673                 salt myminion boto_lambda.delete_alias myfunction myalias
86674
86675       salt.modules.boto_lambda.delete_event_source_mapping(UUID=None,
86676       EventSourceArn=None,    FunctionName=None,    region=None,    key=None,
86677       keyid=None, profile=None)
86678              Given  an  event  source  mapping  ID or an event source ARN and
86679              FunctionName, delete the event source mapping
86680
86681              Returns {deleted: true} if the mapping was deleted  and  returns
86682              {deleted: false} if the mapping was not deleted.
86683
86684              CLI Example:
86685
86686                 salt myminion boto_lambda.delete_event_source_mapping 260c423d-e8b5-4443-8d6a-5e91b9ecd0fa
86687
86688       salt.modules.boto_lambda.delete_function(FunctionName,  Qualifier=None,
86689       region=None, key=None, keyid=None, profile=None)
86690              Given a function name and optional version qualifier, delete it.
86691
86692              Returns {deleted: true} if the function was deleted and  returns
86693              {deleted: false} if the function was not deleted.
86694
86695              CLI Example:
86696
86697                 salt myminion boto_lambda.delete_function myfunction
86698
86699       salt.modules.boto_lambda.describe_alias(FunctionName,             Name,
86700       region=None, key=None, keyid=None, profile=None)
86701              Given a function name and alias name describe the properties  of
86702              the alias.
86703
86704              Returns a dictionary of interesting properties.
86705
86706              CLI Example:
86707
86708                 salt myminion boto_lambda.describe_alias myalias
86709
86710       salt.modules.boto_lambda.describe_event_source_mapping(UUID=None,
86711       EventSourceArn=None,    FunctionName=None,    region=None,    key=None,
86712       keyid=None, profile=None)
86713              Given  an  event  source  mapping  ID or an event source ARN and
86714              FunctionName, obtain the current settings of that mapping.
86715
86716              Returns a dictionary of interesting properties.
86717
86718              CLI Example:
86719
86720                 salt myminion boto_lambda.describe_event_source_mapping uuid
86721
86722       salt.modules.boto_lambda.describe_function(FunctionName,   region=None,
86723       key=None, keyid=None, profile=None)
86724              Given a function name describe its properties.
86725
86726              Returns a dictionary of interesting properties.
86727
86728              CLI Example:
86729
86730                 salt myminion boto_lambda.describe_function myfunction
86731
86732       salt.modules.boto_lambda.event_source_mapping_exists(UUID=None,
86733       EventSourceArn=None,    FunctionName=None,    region=None,    key=None,
86734       keyid=None, profile=None)
86735              Given  an  event  source  mapping  ID or an event source ARN and
86736              FunctionName, check whether the mapping exists.
86737
86738              Returns True if the given alias exists and returns False if  the
86739              given alias does not exist.
86740
86741              CLI Example:
86742
86743                 salt myminion boto_lambda.alias_exists myfunction myalias
86744
86745       salt.modules.boto_lambda.function_exists(FunctionName,     region=None,
86746       key=None, keyid=None, profile=None)
86747              Given a function name, check to see if the given  function  name
86748              exists.
86749
86750              Returns  True  if the given function exists and returns False if
86751              the given function does not exist.
86752
86753              CLI Example:
86754
86755                 salt myminion boto_lambda.function_exists myfunction
86756
86757       salt.modules.boto_lambda.get_event_source_mapping_ids(EventSourceArn,
86758       FunctionName, region=None, key=None, keyid=None, profile=None)
86759              Given  an  event source and function name, return a list of map‐
86760              ping IDs
86761
86762              CLI Example:
86763
86764                 salt myminion boto_lambda.get_event_source_mapping_ids arn:::: myfunction
86765
86766       salt.modules.boto_lambda.get_permissions(FunctionName,  Qualifier=None,
86767       region=None, key=None, keyid=None, profile=None)
86768              Get resource permissions for the given lambda function
86769
86770              Returns dictionary of permissions, by statement ID
86771
86772              CLI Example:
86773
86774                 salt myminion boto_lamba.get_permissions my_function
86775
86776                 permissions: {...}
86777
86778       salt.modules.boto_lambda.list_function_versions(FunctionName,
86779       region=None, key=None, keyid=None, profile=None)
86780              List the versions available for the given function.
86781
86782              Returns list of function versions
86783
86784              CLI Example:
86785
86786                 versions:
86787                   - {...}
86788                   - {...}
86789
86790       salt.modules.boto_lambda.list_functions(region=None,          key=None,
86791       keyid=None, profile=None)
86792              List all Lambda functions visible in the current scope.
86793
86794              CLI Example:
86795
86796                 salt myminion boto_lambda.list_functions
86797
86798       salt.modules.boto_lambda.remove_permission(FunctionName,   StatementId,
86799       Qualifier=None, region=None, key=None, keyid=None, profile=None)
86800              Remove a permission from a lambda function.
86801
86802              Returns {removed:  true}  if  the  permission  was  removed  and
86803              returns {removed: False} if the permission was not removed.
86804
86805              CLI Example:
86806
86807                 salt myminion boto_lamba.remove_permission my_function my_id
86808
86809       salt.modules.boto_lambda.update_alias(FunctionName,  Name, FunctionVer‐
86810       sion=None, Description=None, region=None,  key=None,  keyid=None,  pro‐
86811       file=None)
86812              Update the named alias to the configuration.
86813
86814              Returns  {updated:  true}  if  the alias was updated and returns
86815              {updated: False} if the alias was not updated.
86816
86817              CLI Example:
86818
86819                 salt myminion boto_lamba.update_alias my_lambda my_alias $LATEST
86820
86821       salt.modules.boto_lambda.update_event_source_mapping(UUID,    Function‐
86822       Name=None,   Enabled=None,   BatchSize=None,   region=None,   key=None,
86823       keyid=None, profile=None)
86824              Update the event source mapping identified by the UUID.
86825
86826              Returns {updated: true} if the alias  was  updated  and  returns
86827              {updated: False} if the alias was not updated.
86828
86829              CLI Example:
86830
86831                 salt myminion boto_lamba.update_event_source_mapping uuid FunctionName=new_function
86832
86833       salt.modules.boto_lambda.update_function_code(FunctionName,        Zip‐
86834       File=None,  S3Bucket=None,   S3Key=None,   S3ObjectVersion=None,   Pub‐
86835       lish=False, region=None, key=None, keyid=None, profile=None)
86836              Upload the given code to the named lambda function.
86837
86838              Returns  {updated: true} if the function was updated and returns
86839              {updated: False} if the function was not updated.
86840
86841              CLI Example:
86842
86843                 salt myminion boto_lamba.update_function_code my_function ZipFile=function.zip
86844
86845       salt.modules.boto_lambda.update_function_config(FunctionName,
86846       Role=None,   Handler=None,   Description=None,   Timeout=None,  Memory‐
86847       Size=None,  region=None,  key=None,  keyid=None,   profile=None,   Vpc‐
86848       Config=None, WaitForRole=False, RoleRetries=5, Environment=None)
86849              New in version 2017.7.0.
86850
86851
86852              Update the named lambda function to the configuration.
86853
86854              Environment
86855                     The  parent  object that contains your environment's con‐
86856                     figuration settings. This is a dictionary of the form:
86857
86858                        {
86859                            'Variables': {
86860                                'VariableName': 'VariableValue'
86861                            }
86862                        }
86863
86864              Returns {'updated': True}  if  the  function  was  updated,  and
86865              {'updated': False} if the function was not updated.
86866
86867              CLI Example:
86868
86869                 salt myminion boto_lamba.update_function_config my_function my_role my_file.my_function "my lambda function"
86870
86871   salt.modules.boto_rds
86872       Connection module for Amazon RDS
86873
86874       New in version 2015.8.0.
86875
86876
86877       configuration
86878              This  module  accepts explicit rds credentials but can also uti‐
86879              lize IAM roles assigned to the instance  through  Instance  Pro‐
86880              files.  Dynamic credentials are then automatically obtained from
86881              AWS API and no further configuration is necessary. More Informa‐
86882              tion available at:
86883
86884                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
86885
86886              If  IAM  roles are not used you need to specify them either in a
86887              pillar or in the minion's config file:
86888
86889                 rds.keyid: GKTADJGHEIQSXMKKRBJ08H
86890                 rds.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
86891
86892              A region may also be specified in the configuration:
86893
86894                 rds.region: us-east-1
86895
86896              If a region is not specified, the default is us-east-1.
86897
86898              It's also possible to specify key, keyid and region via  a  pro‐
86899              file,  either  as  a passed in dict, or as a string to pull from
86900              pillars or minion config:
86901
86902                 myprofile:
86903                     keyid: GKTADJGHEIQSXMKKRBJ08H
86904                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
86905                     region: us-east-1
86906
86907       depends
86908              boto3
86909
86910       salt.modules.boto_rds.create(name,                   allocated_storage,
86911       db_instance_class,   engine,   master_username,   master_user_password,
86912       db_name=None,   db_security_groups=None,   vpc_security_group_ids=None,
86913       vpc_security_groups=None,        availability_zone=None,        db_sub‐
86914       net_group_name=None,   preferred_maintenance_window=None,    db_parame‐
86915       ter_group_name=None,         backup_retention_period=None,         pre‐
86916       ferred_backup_window=None,   port=None,   multi_az=None,    engine_ver‐
86917       sion=None,     auto_minor_version_upgrade=None,     license_model=None,
86918       iops=None,   option_group_name=None,   character_set_name=None,    pub‐
86919       licly_accessible=None,  wait_status=None, tags=None, db_cluster_identi‐
86920       fier=None,  storage_type=None,   tde_credential_arn=None,   tde_creden‐
86921       tial_password=None,       storage_encrypted=None,      kms_key_id=None,
86922       domain=None, copy_tags_to_snapshot=None, monitoring_interval=None, mon‐
86923       itoring_role_arn=None,  domain_iam_role_name=None,  region=None, promo‐
86924       tion_tier=None, key=None, keyid=None, profile=None)
86925              Create an RDS Instance
86926
86927              CLI example to create an RDS Instance:
86928
86929                 salt myminion boto_rds.create myrds 10 db.t2.micro MySQL sqlusr sqlpassw
86930
86931       salt.modules.boto_rds.create_option_group(name,            engine_name,
86932       major_engine_version, option_group_description, tags=None, region=None,
86933       key=None, keyid=None, profile=None)
86934              Create an RDS option group
86935
86936              CLI example to create an RDS option group:
86937
86938                 salt myminion boto_rds.create_option_group my-opt-group mysql 5.6                 "group description"
86939
86940       salt.modules.boto_rds.create_parameter_group(name,           db_parame‐
86941       ter_group_family,   description,   tags=None,   region=None,  key=None,
86942       keyid=None, profile=None)
86943              Create an RDS parameter group
86944
86945              CLI example to create an RDS parameter group:
86946
86947                 salt myminion boto_rds.create_parameter_group my-param-group mysql5.6                 "group description"
86948
86949       salt.modules.boto_rds.create_read_replica(name,            source_name,
86950       db_instance_class=None,        availability_zone=None,       port=None,
86951       auto_minor_version_upgrade=None,   iops=None,   option_group_name=None,
86952       publicly_accessible=None,  tags=None,  db_subnet_group_name=None, stor‐
86953       age_type=None,  copy_tags_to_snapshot=None,   monitoring_interval=None,
86954       monitoring_role_arn=None,   region=None,   key=None,  keyid=None,  pro‐
86955       file=None)
86956              Create an RDS read replica
86957
86958              CLI example to create an RDS  read replica:
86959
86960                 salt myminion boto_rds.create_read_replica replicaname source_name
86961
86962       salt.modules.boto_rds.create_subnet_group(name,    description,    sub‐
86963       net_ids, tags=None, region=None, key=None, keyid=None, profile=None)
86964              Create an RDS subnet group
86965
86966              CLI example to create an RDS subnet group:
86967
86968                 salt myminion boto_rds.create_subnet_group my-subnet-group             "group description" '[subnet-12345678, subnet-87654321]'             region=us-east-1
86969
86970       salt.modules.boto_rds.delete(name,            skip_final_snapshot=None,
86971       final_db_snapshot_identifier=None, region=None,  key=None,  keyid=None,
86972       profile=None, tags=None, wait_for_deletion=True, timeout=180)
86973              Delete an RDS instance.
86974
86975              CLI example:
86976
86977                 salt myminion boto_rds.delete myrds skip_final_snapshot=True                 region=us-east-1
86978
86979       salt.modules.boto_rds.delete_option_group(name,  region=None, key=None,
86980       keyid=None, profile=None)
86981              Delete an RDS option group.
86982
86983              CLI example:
86984
86985                 salt myminion boto_rds.delete_option_group my-opt-group                 region=us-east-1
86986
86987       salt.modules.boto_rds.delete_parameter_group(name,         region=None,
86988       key=None, keyid=None, profile=None)
86989              Delete an RDS parameter group.
86990
86991              CLI example:
86992
86993                 salt myminion boto_rds.delete_parameter_group my-param-group                 region=us-east-1
86994
86995       salt.modules.boto_rds.delete_subnet_group(name,  region=None, key=None,
86996       keyid=None, profile=None)
86997              Delete an RDS subnet group.
86998
86999              CLI example:
87000
87001                 salt myminion boto_rds.delete_subnet_group my-subnet-group                 region=us-east-1
87002
87003       salt.modules.boto_rds.describe(name, tags=None, region=None,  key=None,
87004       keyid=None, profile=None)
87005              Return RDS instance details.
87006
87007              CLI example:
87008
87009                 salt myminion boto_rds.describe myrds
87010
87011       salt.modules.boto_rds.describe_db_instances(name=None,    filters=None,
87012       jmespath=u'DBInstances',  region=None,   key=None,   keyid=None,   pro‐
87013       file=None)
87014              Return  a detailed listing of some, or all, DB Instances visible
87015              in the current scope.  Arbitrary subelements or  subsections  of
87016              the  returned  dataset  can  be  selected  by passing in a valid
87017              JMSEPath filter as well.
87018
87019              CLI example:
87020
87021                 salt myminion boto_rds.describe_db_instances jmespath='DBInstances[*].DBInstanceIdentifier'
87022
87023       salt.modules.boto_rds.describe_db_subnet_groups(name=None,         fil‐
87024       ters=None,     jmespath=u'DBSubnetGroups',    region=None,    key=None,
87025       keyid=None, profile=None)
87026              Return a detailed listing of some, or all, DB Subnet Groups vis‐
87027              ible in the current scope.  Arbitrary subelements or subsections
87028              of the returned dataset can be selected by passing  in  a  valid
87029              JMSEPath filter as well.
87030
87031              CLI example:
87032
87033                 salt myminion boto_rds.describe_db_subnet_groups
87034
87035       salt.modules.boto_rds.describe_parameter_group(name,      Filters=None,
87036       MaxRecords=None, Marker=None, region=None, key=None,  keyid=None,  pro‐
87037       file=None)
87038              Returns a list of DBParameterGroup descriptions.  CLI example to
87039              description of parameter group:
87040
87041                 salt myminion boto_rds.describe_parameter_group parametergroupname            region=us-east-1
87042
87043       salt.modules.boto_rds.describe_parameters(name,            Source=None,
87044       MaxRecords=None,  Marker=None,  region=None, key=None, keyid=None, pro‐
87045       file=None)
87046              Returns a list of DBParameterGroup parameters.  CLI  example  to
87047              description of parameters
87048
87049                 salt myminion boto_rds.describe_parameters parametergroupname            region=us-east-1
87050
87051       salt.modules.boto_rds.exists(name,  tags=None,  region=None,  key=None,
87052       keyid=None, profile=None)
87053              Check to see if an RDS exists.
87054
87055              CLI example:
87056
87057                 salt myminion boto_rds.exists myrds region=us-east-1
87058
87059       salt.modules.boto_rds.get_endpoint(name,    tags=None,     region=None,
87060       key=None, keyid=None, profile=None)
87061              Return the endpoint of an RDS instance.
87062
87063              CLI example:
87064
87065                 salt myminion boto_rds.get_endpoint myrds
87066
87067       salt.modules.boto_rds.modify_db_instance(name,  allocated_storage=None,
87068       allow_major_version_upgrade=None,               apply_immediately=None,
87069       auto_minor_version_upgrade=None,  backup_retention_period=None, ca_cer‐
87070       tificate_identifier=None,  character_set_name=None,  copy_tags_to_snap‐
87071       shot=None,      db_cluster_identifier=None,     db_instance_class=None,
87072       db_name=None,    db_parameter_group_name=None,     db_port_number=None,
87073       db_security_groups=None,     db_subnet_group_name=None,    domain=None,
87074       domain_iam_role_name=None,       engine_version=None,        iops=None,
87075       kms_key_id=None,  license_model=None,  master_user_password=None, moni‐
87076       toring_interval=None,     monitoring_role_arn=None,      multi_az=None,
87077       new_db_instance_identifier=None,      option_group_name=None,      pre‐
87078       ferred_backup_window=None,  preferred_maintenance_window=None,   promo‐
87079       tion_tier=None, publicly_accessible=None, storage_encrypted=None, stor‐
87080       age_type=None,  tde_credential_arn=None,  tde_credential_password=None,
87081       vpc_security_group_ids=None,  region=None,  key=None,  keyid=None, pro‐
87082       file=None)
87083              Modify settings for a DB instance.  CLI example  to  description
87084              of parameters
87085
87086                 salt myminion boto_rds.modify_db_instance db_instance_identifier region=us-east-1
87087
87088       salt.modules.boto_rds.option_group_exists(name, tags=None, region=None,
87089       key=None, keyid=None, profile=None)
87090              Check to see if an RDS option group exists.
87091
87092              CLI example:
87093
87094                 salt myminion boto_rds.option_group_exists myoptiongr region=us-east-1
87095
87096       salt.modules.boto_rds.parameter_group_exists(name,           tags=None,
87097       region=None, key=None, keyid=None, profile=None)
87098              Check to see if an RDS parameter group exists.
87099
87100              CLI example:
87101
87102                 salt myminion boto_rds.parameter_group_exists myparametergroup                 region=us-east-1
87103
87104       salt.modules.boto_rds.subnet_group_exists(name, tags=None, region=None,
87105       key=None, keyid=None, profile=None)
87106              Check to see if an RDS subnet group exists.
87107
87108              CLI example:
87109
87110                 salt myminion boto_rds.subnet_group_exists my-param-group                 region=us-east-1
87111
87112       salt.modules.boto_rds.update_parameter_group(name,          parameters,
87113       apply_method=u'pending-reboot',   tags=None,   region=None,   key=None,
87114       keyid=None, profile=None)
87115              Update an RDS parameter group.
87116
87117              CLI example:
87118
87119                 salt myminion boto_rds.update_parameter_group my-param-group                 parameters='{"back_log":1, "binlog_cache_size":4096}'                 region=us-east-1
87120
87121   salt.modules.boto_route53
87122       Connection module for Amazon Route53
87123
87124       New in version 2014.7.0.
87125
87126
87127       configuration
87128              This module accepts explicit route53 credentials  but  can  also
87129              utilize IAM roles assigned to the instance through Instance Pro‐
87130              files.  Dynamic credentials are then automatically obtained from
87131              AWS API and no further configuration is necessary. More Informa‐
87132              tion available at:
87133
87134                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
87135
87136              If IAM roles are not used you need to specify them either  in  a
87137              pillar or in the minion's config file:
87138
87139                 route53.keyid: GKTADJGHEIQSXMKKRBJ08H
87140                 route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
87141
87142              A region may also be specified in the configuration:
87143
87144                 route53.region: us-east-1
87145
87146              If  a region is not specified, the default is 'universal', which
87147              is what the boto_route53 library expects, rather than None.
87148
87149              It's also possible to specify key, keyid and region via  a  pro‐
87150              file,  either  as  a passed in dict, or as a string to pull from
87151              pillars or minion config:
87152
87153                 myprofile:
87154                   keyid: GKTADJGHEIQSXMKKRBJ08H
87155                   key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
87156                   region: us-east-1
87157
87158       depends
87159              boto
87160
87161       salt.modules.boto_route53.add_record(name,  value,  zone,  record_type,
87162       identifier=None,  ttl=None,  region=None,  key=None,  keyid=None,  pro‐
87163       file=None,  wait_for_sync=True,  split_dns=False,   private_zone=False,
87164       retry_on_rate_limit=None,                      rate_limit_retries=None,
87165       retry_on_errors=True, error_retries=5)
87166                 Add a record to a zone.
87167
87168                 CLI example:
87169
87170                     salt myminion boto_route53.add_record test.example.org 1.1.1.1 example.org A
87171
87172              retry_on_errors
87173                        Continue to query if the zone exists after an error is
87174                        raised.      The      previously     used     argument
87175                        retry_on_rate_limit was deprecated for this  argument.
87176                        Users  can  still  use  retry_on_rate_limit  to ensure
87177                        backwards compatibility, but please migrate  to  using
87178                        the favored retry_on_errors argument instead.
87179
87180                     error_retries
87181                            Amount  of  times  to attempt to query if the zone
87182                            exists.     The    previously    used     argument
87183                            rate_limit_retries  was  deprecated for this argu‐
87184                            ments. Users can still use  rate_limit_retries  to
87185                            ensure backwards compatibility, but please migrate
87186                            to  using  the  favored   error_retries   argument
87187                            instead.
87188
87189       salt.modules.boto_route53.create_healthcheck(ip_addr=None,   fqdn=None,
87190       region=None,    key=None,    keyid=None,     profile=None,     port=53,
87191       hc_type=u'TCP',  resource_path=u'',  string_match=None,  request_inter‐
87192       val=30, failure_threshold=3, retry_on_errors=True, error_retries=5)
87193              Create a Route53 healthcheck
87194
87195              New in version 2018.3.0.
87196
87197
87198              ip_addr
87199                 IP address to check.  ip_addr or fqdn is required.
87200
87201              fqdn
87202                 Domain name of the endpoint to check.   ip_addr  or  fqdn  is
87203                 required
87204
87205              port
87206                 Port to check
87207
87208              hc_type
87209                 Healthcheck   type.    HTTP   |   HTTPS  |  HTTP_STR_MATCH  |
87210                 HTTPS_STR_MATCH | TCP
87211
87212              resource_path
87213                 Path to check
87214
87215              string_match
87216                 If hc_type is HTTP_STR_MATCH or HTTPS_STR_MATCH,  the  string
87217                 to  search  for  in  the  response  body  from  the specified
87218                 resource
87219
87220              request_interval
87221                 The number of seconds between the time that Amazon  Route  53
87222                 gets a response from your endpoint and the time that it sends
87223                 the next health-check request.
87224
87225              failure_threshold
87226                 The number of consecutive health checks that an endpoint must
87227                 pass or fail for Amazon Route 53 to change the current status
87228                 of the endpoint from unhealthy to healthy or vice versa.
87229
87230              region
87231                 Region endpoint to connect to
87232
87233              key
87234                 AWS key
87235
87236              keyid
87237                 AWS keyid
87238
87239              profile
87240                 AWS pillar profile
87241
87242              CLI Example:
87243
87244                 salt myminion boto_route53.create_healthcheck 192.168.0.1
87245                 salt myminion boto_route53.create_healthcheck 192.168.0.1 port=443 hc_type=HTTPS                                                       resource_path=/ fqdn=blog.saltstack.furniture
87246
87247       salt.modules.boto_route53.create_hosted_zone(domain_name,         call‐
87248       er_ref=None,      comment=u'',     private_zone=False,     vpc_id=None,
87249       vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, pro‐
87250       file=None)
87251              Create  a  new Route53 Hosted Zone. Returns a Python data struc‐
87252              ture with information about the newly created Hosted Zone.
87253
87254              domain_name
87255                     The name of the domain.  This  must  be  fully-qualified,
87256                     terminating  with  a  period.   This is the name you have
87257                     registered with your domain registrar.  It  is  also  the
87258                     name  you will delegate from your registrar to the Amazon
87259                     Route 53 delegation servers returned in response to  this
87260                     request.
87261
87262              caller_ref
87263                     A  unique  string  that  identifies  the request and that
87264                     allows create_hosted_zone() calls to be  retried  without
87265                     the  risk  of executing the operation twice.  It can take
87266                     several minutes for the change to replicate globally, and
87267                     change  from  PENDING to INSYNC status. Thus it's best to
87268                     provide some value for this where possible, since  dupli‐
87269                     cate  calls  while the first is in PENDING status will be
87270                     accepted and can lead to  multiple  copies  of  the  zone
87271                     being  created.   On the other hand, if a zone is created
87272                     with a given caller_ref, then deleted, a  second  attempt
87273                     to create a zone with the same caller_ref will fail until
87274                     that caller_ref is flushed from the Route53 system, which
87275                     can take upwards of 24 hours.
87276
87277              comment
87278                     Any comments you want to include about the hosted zone.
87279
87280              private_zone
87281                     Set True if creating a private hosted zone.
87282
87283              vpc_id When creating a private hosted zone, either the VPC ID or
87284                     VPC Name to associate with is required.   Exclusive  with
87285                     vpe_name.  Ignored when creating a non-private zone.
87286
87287              vpc_name
87288                     When creating a private hosted zone, either the VPC ID or
87289                     VPC Name to associate with is required.   Exclusive  with
87290                     vpe_id.  Ignored when creating a non-private zone.
87291
87292              vpc_region
87293                     When  creating  a  private hosted zone, the region of the
87294                     associated VPC is required.  If not provided,  an  effort
87295                     will  be  made  to  determine it from vpc_id or vpc_name,
87296                     where possible.  If this fails, you'll need to provide an
87297                     explicit  value for this option.  Ignored when creating a
87298                     non-private zone.
87299
87300              region Region endpoint to connect to.
87301
87302              key    AWS key to bind with.
87303
87304              keyid  AWS keyid to bind with.
87305
87306              profile
87307                     Dict, or pillar key pointing to a  dict,  containing  AWS
87308                     region/key/keyid.
87309
87310              CLI Example:
87311
87312                 salt myminion boto_route53.create_hosted_zone example.org
87313
87314       salt.modules.boto_route53.create_zone(zone, private=False, vpc_id=None,
87315       vpc_region=None, region=None, key=None, keyid=None, profile=None)
87316              Create a Route53 hosted zone.
87317
87318              New in version 2015.8.0.
87319
87320
87321              zone   DNS zone to create
87322
87323              private
87324                     True/False if the zone will be a private zone
87325
87326              vpc_id VPC ID to associate the zone to (required if  private  is
87327                     True)
87328
87329              vpc_region
87330                     VPC Region (required if private is True)
87331
87332              region region endpoint to connect to
87333
87334              key    AWS key
87335
87336              keyid  AWS keyid
87337
87338              profile
87339                     AWS pillar profile
87340
87341              CLI Example:
87342
87343                 salt myminion boto_route53.create_zone example.org
87344
87345       salt.modules.boto_route53.delete_record(name,  zone, record_type, iden‐
87346       tifier=None, all_records=False, region=None, key=None, keyid=None, pro‐
87347       file=None,   wait_for_sync=True,  split_dns=False,  private_zone=False,
87348       retry_on_rate_limit=None,                      rate_limit_retries=None,
87349       retry_on_errors=True, error_retries=5)
87350                 Modify a record in a zone.
87351
87352                 CLI example:
87353
87354                     salt myminion boto_route53.delete_record test.example.org example.org A
87355
87356              retry_on_errors
87357                        Continue to query if the zone exists after an error is
87358                        raised.     The     previously      used      argument
87359                        retry_on_rate_limit  was deprecated for this argument.
87360                        Users can  still  use  retry_on_rate_limit  to  ensure
87361                        backwards  compatibility,  but please migrate to using
87362                        the favored retry_on_errors argument instead.
87363
87364                     error_retries
87365                            Amount of times to attempt to query  if  the  zone
87366                            exists.      The    previously    used    argument
87367                            rate_limit_retries was deprecated for  this  argu‐
87368                            ments.  Users  can still use rate_limit_retries to
87369                            ensure backwards compatibility, but please migrate
87370                            to   using   the  favored  error_retries  argument
87371                            instead.
87372
87373       salt.modules.boto_route53.delete_zone(zone,   region=None,    key=None,
87374       keyid=None, profile=None)
87375              Delete a Route53 hosted zone.
87376
87377              New in version 2015.8.0.
87378
87379
87380              CLI Example:
87381
87382                 salt myminion boto_route53.delete_zone example.org
87383
87384       salt.modules.boto_route53.describe_hosted_zones(zone_id=None,
87385       domain_name=None, region=None, key=None, keyid=None, profile=None)
87386              Return detailed info about one,  or  all,  zones  in  the  bound
87387              account.  If neither zone_id nor domain_name is provided, return
87388              all zones.  Note that the return format  is  slightly  different
87389              between the 'all' and 'single' description types.
87390
87391              zone_id
87392                     The unique identifier for the Hosted Zone
87393
87394              domain_name
87395                     The FQDN of the Hosted Zone (including final period)
87396
87397              region Region to connect to.
87398
87399              key    Secret key to be used.
87400
87401              keyid  Access key to be used.
87402
87403              profile
87404                     A  dict  with  region,  key  and  keyid,  or a pillar key
87405                     (string) that contains a dict with region, key and keyid.
87406
87407              CLI Example:
87408
87409                 salt myminion boto_route53.describe_hosted_zones domain_name=foo.bar.com.                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
87410
87411       salt.modules.boto_route53.get_record(name,      zone,      record_type,
87412       fetch_all=False,   region=None,   key=None,  keyid=None,  profile=None,
87413       split_dns=False,          private_zone=False,          identifier=None,
87414       retry_on_rate_limit=None,                      rate_limit_retries=None,
87415       retry_on_errors=True, error_retries=5)
87416                 Get a record from a zone.
87417
87418                 CLI example:
87419
87420                     salt myminion boto_route53.get_record test.example.org example.org A
87421
87422              retry_on_errors
87423                        Continue to query if the zone exists after an error is
87424                        raised.      The      previously     used     argument
87425                        retry_on_rate_limit was deprecated for this  argument.
87426                        Users  can  still  use  retry_on_rate_limit  to ensure
87427                        backwards compatibility, but please migrate  to  using
87428                        the favored retry_on_errors argument instead.
87429
87430                     error_retries
87431                            Amount  of  times  to attempt to query if the zone
87432                            exists.     The    previously    used     argument
87433                            rate_limit_retries  was  deprecated for this argu‐
87434                            ments. Users can still use  rate_limit_retries  to
87435                            ensure backwards compatibility, but please migrate
87436                            to  using  the  favored   error_retries   argument
87437                            instead.
87438
87439       salt.modules.boto_route53.list_all_zones_by_id(region=None,   key=None,
87440       keyid=None, profile=None)
87441              List, by their IDs, all hosted zones in the bound account.
87442
87443              region Region to connect to.
87444
87445              key    Secret key to be used.
87446
87447              keyid  Access key to be used.
87448
87449              profile
87450                     A dict with region,  key  and  keyid,  or  a  pillar  key
87451                     (string) that contains a dict with region, key and keyid.
87452
87453              CLI Example:
87454
87455                 salt myminion boto_route53.list_all_zones_by_id
87456
87457       salt.modules.boto_route53.list_all_zones_by_name(region=None, key=None,
87458       keyid=None, profile=None)
87459              List, by their FQDNs, all hosted zones in the bound account.
87460
87461              region Region to connect to.
87462
87463              key    Secret key to be used.
87464
87465              keyid  Access key to be used.
87466
87467              profile
87468                     A dict with region,  key  and  keyid,  or  a  pillar  key
87469                     (string) that contains a dict with region, key and keyid.
87470
87471              CLI Example:
87472
87473                 salt myminion boto_route53.list_all_zones_by_name
87474
87475       salt.modules.boto_route53.update_record(name, value, zone, record_type,
87476       identifier=None,  ttl=None,  region=None,  key=None,  keyid=None,  pro‐
87477       file=None,   wait_for_sync=True,  split_dns=False,  private_zone=False,
87478       retry_on_rate_limit=None,                      rate_limit_retries=None,
87479       retry_on_errors=True, error_retries=5)
87480                 Modify a record in a zone.
87481
87482                 CLI example:
87483
87484                     salt myminion boto_route53.modify_record test.example.org 1.1.1.1 example.org A
87485
87486              retry_on_errors
87487                        Continue to query if the zone exists after an error is
87488                        raised.     The     previously      used      argument
87489                        retry_on_rate_limit  was deprecated for this argument.
87490                        Users can  still  use  retry_on_rate_limit  to  ensure
87491                        backwards  compatibility,  but please migrate to using
87492                        the favored retry_on_errors argument instead.
87493
87494                     error_retries
87495                            Amount of times to attempt to query  if  the  zone
87496                            exists.      The    previously    used    argument
87497                            rate_limit_retries was deprecated for  this  argu‐
87498                            ments.  Users  can still use rate_limit_retries to
87499                            ensure backwards compatibility, but please migrate
87500                            to   using   the  favored  error_retries  argument
87501                            instead.
87502
87503       salt.modules.boto_route53.zone_exists(zone,   region=None,    key=None,
87504       keyid=None,           profile=None,           retry_on_rate_limit=None,
87505       rate_limit_retries=None, retry_on_errors=True, error_retries=5)
87506                 Check for the existence of a Route53 hosted zone.
87507
87508                 New in version 2015.8.0.
87509
87510
87511                 CLI Example:
87512
87513                     salt myminion boto_route53.zone_exists example.org
87514
87515              retry_on_errors
87516                        Continue to query if the zone exists after an error is
87517                        raised.      The      previously     used     argument
87518                        retry_on_rate_limit was deprecated for this  argument.
87519                        Users  can  still  use  retry_on_rate_limit  to ensure
87520                        backwards compatibility, but please migrate  to  using
87521                        the favored retry_on_errors argument instead.
87522
87523                     error_retries
87524                            Amount  of  times  to attempt to query if the zone
87525                            exists.     The    previously    used     argument
87526                            rate_limit_retries  was  deprecated for this argu‐
87527                            ments. Users can still use  rate_limit_retries  to
87528                            ensure backwards compatibility, but please migrate
87529                            to  using  the  favored   error_retries   argument
87530                            instead.
87531
87532   salt.modules.boto_s3_bucket module
87533       Connection module for Amazon S3 Buckets
87534
87535       New in version 2016.3.0.
87536
87537
87538       depends
87539
87540              · boto
87541
87542              · boto3
87543
87544       The dependencies listed above can be installed via package or pip.
87545
87546       configuration
87547              This  module  accepts  explicit  Lambda credentials but can also
87548              utilize IAM roles assigned to the instance through Instance Pro‐
87549              files.  Dynamic credentials are then automatically obtained from
87550              AWS API and no further configuration is necessary. More Informa‐
87551              tion available at:
87552
87553                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
87554
87555              If  IAM  roles are not used you need to specify them either in a
87556              pillar or in the minion's config file:
87557
87558                 s3.keyid: GKTADJGHEIQSXMKKRBJ08H
87559                 s3.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
87560
87561              A region may also be specified in the configuration:
87562
87563                 s3.region: us-east-1
87564
87565              If a region is not specified, the default is us-east-1.
87566
87567              It's also possible to specify key, keyid and region via  a  pro‐
87568              file,  either  as  a passed in dict, or as a string to pull from
87569              pillars or minion config:
87570
87571                 myprofile:
87572                     keyid: GKTADJGHEIQSXMKKRBJ08H
87573                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
87574                     region: us-east-1
87575
87576       salt.modules.boto_s3_bucket.create(Bucket,    ACL=None,    LocationCon‐
87577       straint=None, GrantFullControl=None, GrantRead=None, GrantReadACP=None,
87578       GrantWrite=None, GrantWriteACP=None, region=None, key=None, keyid=None,
87579       profile=None)
87580              Given a valid config, create an S3 Bucket.
87581
87582              Returns  {created:  true}  if the bucket was created and returns
87583              {created: False} if the bucket was not created.
87584
87585              CLI Example:
87586
87587                 salt myminion boto_s3_bucket.create my_bucket \
87588                                  GrantFullControl='emailaddress=example@example.com' \
87589                                  GrantRead='uri="http://acs.amazonaws.com/groups/global/AllUsers"' \
87590                                  GrantReadACP='emailaddress="exampl@example.com",id="2345678909876432"' \
87591                                  LocationConstraint=us-west-1
87592
87593       salt.modules.boto_s3_bucket.delete(Bucket, MFA=None, RequestPayer=None,
87594       Force=False, region=None, key=None, keyid=None, profile=None)
87595              Given a bucket name, delete it, optionally emptying it first.
87596
87597              Returns  {deleted:  true}  if the bucket was deleted and returns
87598              {deleted: false} if the bucket was not deleted.
87599
87600              CLI Example:
87601
87602                 salt myminion boto_s3_bucket.delete mybucket
87603
87604       salt.modules.boto_s3_bucket.delete_cors(Bucket, region=None,  key=None,
87605       keyid=None, profile=None)
87606              Delete the CORS configuration for the given bucket
87607
87608              Returns   {deleted:  true}  if  CORS  was  deleted  and  returns
87609              {deleted: False} if CORS was not deleted.
87610
87611              CLI Example:
87612
87613                 salt myminion boto_s3_bucket.delete_cors my_bucket
87614
87615       salt.modules.boto_s3_bucket.delete_lifecycle_configuration(Bucket,
87616       region=None, key=None, keyid=None, profile=None)
87617              Delete the lifecycle configuration for the given bucket
87618
87619              Returns  {deleted:  true}  if  Lifecycle was deleted and returns
87620              {deleted: False} if Lifecycle was not deleted.
87621
87622              CLI Example:
87623
87624                 salt myminion boto_s3_bucket.delete_lifecycle_configuration my_bucket
87625
87626       salt.modules.boto_s3_bucket.delete_objects(Bucket,  Delete,   MFA=None,
87627       RequestPayer=None, region=None, key=None, keyid=None, profile=None)
87628              Delete objects in a given S3 bucket.
87629
87630              Returns   {deleted:  true}  if  all  objects  were  deleted  and
87631              {deleted: false, failed: [key, ...]} otherwise
87632
87633              CLI Example:
87634
87635                 salt myminion boto_s3_bucket.delete_objects mybucket '{Objects: [Key: myobject]}'
87636
87637       salt.modules.boto_s3_bucket.delete_policy(Bucket,          region=None,
87638       key=None, keyid=None, profile=None)
87639              Delete the policy from the given bucket
87640
87641              Returns  {deleted:  true}  if  policy  was  deleted  and returns
87642              {deleted: False} if policy was not deleted.
87643
87644              CLI Example:
87645
87646                 salt myminion boto_s3_bucket.delete_policy my_bucket
87647
87648       salt.modules.boto_s3_bucket.delete_replication(Bucket,     region=None,
87649       key=None, keyid=None, profile=None)
87650              Delete the replication config from the given bucket
87651
87652              Returns {deleted: true} if replication configuration was deleted
87653              and returns {deleted: False} if  replication  configuration  was
87654              not deleted.
87655
87656              CLI Example:
87657
87658                 salt myminion boto_s3_bucket.delete_replication my_bucket
87659
87660       salt.modules.boto_s3_bucket.delete_tagging(Bucket,         region=None,
87661       key=None, keyid=None, profile=None)
87662              Delete the tags from the given bucket
87663
87664              Returns  {deleted:  true}  if  tags  were  deleted  and  returns
87665              {deleted: False} if tags were not deleted.
87666
87667              CLI Example:
87668
87669                 salt myminion boto_s3_bucket.delete_tagging my_bucket
87670
87671       salt.modules.boto_s3_bucket.delete_website(Bucket,         region=None,
87672       key=None, keyid=None, profile=None)
87673              Remove the website configuration from the given bucket
87674
87675              Returns {deleted: true} if website configuration was deleted and
87676              returns  {deleted:  False}  if  website  configuration  was  not
87677              deleted.
87678
87679              CLI Example:
87680
87681                 salt myminion boto_s3_bucket.delete_website my_bucket
87682
87683       salt.modules.boto_s3_bucket.describe(Bucket,   region=None,   key=None,
87684       keyid=None, profile=None)
87685              Given a bucket name describe its properties.
87686
87687              Returns a dictionary of interesting properties.
87688
87689              CLI Example:
87690
87691                 salt myminion boto_s3_bucket.describe mybucket
87692
87693       salt.modules.boto_s3_bucket.empty(Bucket,  MFA=None, RequestPayer=None,
87694       region=None, key=None, keyid=None, profile=None)
87695              Delete all objects in a given S3 bucket.
87696
87697              Returns  {deleted:  true}  if  all  objects  were  deleted   and
87698              {deleted: false, failed: [key, ...]} otherwise
87699
87700              CLI Example:
87701
87702                 salt myminion boto_s3_bucket.empty mybucket
87703
87704       salt.modules.boto_s3_bucket.exists(Bucket,    region=None,    key=None,
87705       keyid=None, profile=None)
87706              Given a bucket name, check to see if the given bucket exists.
87707
87708              Returns True if the given bucket exists and returns False if the
87709              given bucket does not exist.
87710
87711              CLI Example:
87712
87713                 salt myminion boto_s3_bucket.exists mybucket
87714
87715       salt.modules.boto_s3_bucket.list(region=None,   key=None,   keyid=None,
87716       profile=None)
87717              List all buckets  owned  by  the  authenticated  sender  of  the
87718              request.
87719
87720              Returns list of buckets
87721
87722              CLI Example:
87723
87724                 Owner: {...}
87725                 Buckets:
87726                   - {...}
87727                   - {...}
87728
87729       salt.modules.boto_s3_bucket.list_object_versions(Bucket,         Delim‐
87730       iter=None,  EncodingType=None,  Prefix=None,   region=None,   key=None,
87731       keyid=None, profile=None)
87732              List objects in a given S3 bucket.
87733
87734              Returns a list of objects.
87735
87736              CLI Example:
87737
87738                 salt myminion boto_s3_bucket.list_object_versions mybucket
87739
87740       salt.modules.boto_s3_bucket.list_objects(Bucket, Delimiter=None, Encod‐
87741       ingType=None,    Prefix=None,    FetchOwner=False,     StartAfter=None,
87742       region=None, key=None, keyid=None, profile=None)
87743              List objects in a given S3 bucket.
87744
87745              Returns a list of objects.
87746
87747              CLI Example:
87748
87749                 salt myminion boto_s3_bucket.list_objects mybucket
87750
87751       salt.modules.boto_s3_bucket.put_acl(Bucket, ACL=None, AccessControlPol‐
87752       icy=None,  GrantFullControl=None,  GrantRead=None,   GrantReadACP=None,
87753       GrantWrite=None, GrantWriteACP=None, region=None, key=None, keyid=None,
87754       profile=None)
87755              Given a valid config, update the ACL for a bucket.
87756
87757              Returns {updated: true} if  the  ACL  was  updated  and  returns
87758              {updated: False} if the ACL was not updated.
87759
87760              CLI Example:
87761
87762                 salt myminion boto_s3_bucket.put_acl my_bucket 'public' \
87763                                  GrantFullControl='emailaddress=example@example.com' \
87764                                  GrantRead='uri="http://acs.amazonaws.com/groups/global/AllUsers"' \
87765                                  GrantReadACP='emailaddress="exampl@example.com",id="2345678909876432"'
87766
87767       salt.modules.boto_s3_bucket.put_cors(Bucket,   CORSRules,  region=None,
87768       key=None, keyid=None, profile=None)
87769              Given a valid config, update the CORS rules for a bucket.
87770
87771              Returns  {updated:  true}  if  CORS  was  updated  and   returns
87772              {updated: False} if CORS was not updated.
87773
87774              CLI Example:
87775
87776                 salt myminion boto_s3_bucket.put_cors my_bucket '[{\
87777                       "AllowedHeaders":[],\
87778                       "AllowedMethods":["GET"],\
87779                       "AllowedOrigins":["*"],\
87780                       "ExposeHeaders":[],\
87781                       "MaxAgeSeconds":123,\
87782                 }]'
87783
87784       salt.modules.boto_s3_bucket.put_lifecycle_configuration(Bucket,  Rules,
87785       region=None, key=None, keyid=None, profile=None)
87786              Given a valid config, update the Lifecycle rules for a bucket.
87787
87788              Returns {updated: true} if Lifecycle  was  updated  and  returns
87789              {updated: False} if Lifecycle was not updated.
87790
87791              CLI Example:
87792
87793                 salt myminion boto_s3_bucket.put_lifecycle_configuration my_bucket '[{\
87794                       "Expiration": {...},\
87795                       "ID": "idstring",\
87796                       "Prefix": "prefixstring",\
87797                       "Status": "enabled",\
87798                       "Transitions": [{...},],\
87799                       "NoncurrentVersionTransitions": [{...},],\
87800                       "NoncurrentVersionExpiration": {...},\
87801                 }]'
87802
87803       salt.modules.boto_s3_bucket.put_logging(Bucket, TargetBucket=None, Tar‐
87804       getPrefix=None, TargetGrants=None, region=None,  key=None,  keyid=None,
87805       profile=None)
87806              Given  a  valid  config,  update  the  logging  parameters for a
87807              bucket.
87808
87809              Returns {updated: true} if parameters were updated  and  returns
87810              {updated: False} if parameters were not updated.
87811
87812              CLI Example:
87813
87814                 salt myminion boto_s3_bucket.put_logging my_bucket log_bucket '[{...}]' prefix
87815
87816       salt.modules.boto_s3_bucket.put_notification_configuration(Bucket, Top‐
87817       icConfigurations=None, QueueConfigurations=None, LambdaFunctionConfigu‐
87818       rations=None, region=None, key=None, keyid=None, profile=None)
87819              Given  a  valid config, update the notification parameters for a
87820              bucket.
87821
87822              Returns {updated: true} if parameters were updated  and  returns
87823              {updated: False} if parameters were not updated.
87824
87825              CLI Example:
87826
87827                 salt myminion boto_s3_bucket.put_notification_configuration my_bucket
87828                         [{...}] \
87829                         [{...}] \
87830                         [{...}]
87831
87832       salt.modules.boto_s3_bucket.put_policy(Bucket,   Policy,   region=None,
87833       key=None, keyid=None, profile=None)
87834              Given a valid config, update the policy for a bucket.
87835
87836              Returns {updated:  true}  if  policy  was  updated  and  returns
87837              {updated: False} if policy was not updated.
87838
87839              CLI Example:
87840
87841                 salt myminion boto_s3_bucket.put_policy my_bucket {...}
87842
87843       salt.modules.boto_s3_bucket.put_replication(Bucket,     Role,    Rules,
87844       region=None, key=None, keyid=None, profile=None)
87845              Given a valid config, update the replication configuration for a
87846              bucket.
87847
87848              Returns {updated: true} if replication configuration was updated
87849              and returns {updated: False} if  replication  configuration  was
87850              not updated.
87851
87852              CLI Example:
87853
87854                 salt myminion boto_s3_bucket.put_replication my_bucket my_role [...]
87855
87856       salt.modules.boto_s3_bucket.put_request_payment(Bucket,          Payer,
87857       region=None, key=None, keyid=None, profile=None)
87858              Given a valid config, update the request  payment  configuration
87859              for a bucket.
87860
87861              Returns  {updated:  true}  if  request payment configuration was
87862              updated and returns {updated: False} if request payment configu‐
87863              ration was not updated.
87864
87865              CLI Example:
87866
87867                 salt myminion boto_s3_bucket.put_request_payment my_bucket Requester
87868
87869       salt.modules.boto_s3_bucket.put_tagging(Bucket,  region=None, key=None,
87870       keyid=None, profile=None, **kwargs)
87871              Given a valid config, update the tags for a bucket.
87872
87873              Returns  {updated:  true}  if  tags  were  updated  and  returns
87874              {updated: False} if tags were not updated.
87875
87876              CLI Example:
87877
87878                 salt myminion boto_s3_bucket.put_tagging my_bucket my_role [...]
87879
87880       salt.modules.boto_s3_bucket.put_versioning(Bucket,              Status,
87881       MFADelete=None,  MFA=None,  region=None,  key=None,  keyid=None,   pro‐
87882       file=None)
87883              Given  a valid config, update the versioning configuration for a
87884              bucket.
87885
87886              Returns {updated: true} if versioning configuration was  updated
87887              and returns {updated: False} if versioning configuration was not
87888              updated.
87889
87890              CLI Example:
87891
87892                 salt myminion boto_s3_bucket.put_versioning my_bucket Enabled
87893
87894       salt.modules.boto_s3_bucket.put_website(Bucket,     ErrorDocument=None,
87895       IndexDocument=None,    RedirectAllRequestsTo=None,   RoutingRules=None,
87896       region=None, key=None, keyid=None, profile=None)
87897              Given a valid config, update the  website  configuration  for  a
87898              bucket.
87899
87900              Returns {updated: true} if website configuration was updated and
87901              returns  {updated:  False}  if  website  configuration  was  not
87902              updated.
87903
87904              CLI Example:
87905
87906                 salt myminion boto_s3_bucket.put_website my_bucket IndexDocument='{"Suffix":"index.html"}'
87907
87908   salt.modules.boto_secgroup
87909       Connection module for Amazon Security Groups
87910
87911       New in version 2014.7.0.
87912
87913
87914       configuration
87915              This  module  accepts explicit ec2 credentials but can also uti‐
87916              lize IAM roles assigned to the instance  through  Instance  Pro‐
87917              files.  Dynamic credentials are then automatically obtained from
87918              AWS API and no further configuration is necessary. More Informa‐
87919              tion available at:
87920
87921                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
87922
87923              If  IAM  roles are not used you need to specify them either in a
87924              pillar or in the minion's config file:
87925
87926                 secgroup.keyid: GKTADJGHEIQSXMKKRBJ08H
87927                 secgroup.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
87928
87929              A region may also be specified in the configuration:
87930
87931                 secgroup.region: us-east-1
87932
87933              If a region is not specified, the default is us-east-1.
87934
87935              It's also possible to specify key, keyid and region via  a  pro‐
87936              file,  either  as  a passed in dict, or as a string to pull from
87937              pillars or minion config:
87938
87939                 myprofile:
87940                     keyid: GKTADJGHEIQSXMKKRBJ08H
87941                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
87942                     region: us-east-1
87943
87944       depends
87945              boto
87946
87947       salt.modules.boto_secgroup.authorize(name=None, source_group_name=None,
87948       source_group_owner_id=None,      ip_protocol=None,      from_port=None,
87949       to_port=None, cidr_ip=None, group_id=None,  source_group_group_id=None,
87950       region=None,    key=None,    keyid=None,   profile=None,   vpc_id=None,
87951       vpc_name=None, egress=False)
87952              Add a new rule to an existing security group.
87953
87954              CLI example:
87955
87956                 salt myminion boto_secgroup.authorize mysecgroup ip_protocol=tcp from_port=80 to_port=80 cidr_ip='['10.0.0.0/8', '192.168.0.0/24']'
87957
87958       salt.modules.boto_secgroup.convert_to_group_ids(groups,    vpc_id=None,
87959       vpc_name=None, region=None, key=None, keyid=None, profile=None)
87960              Given   a   list   of   security   groups  and  a  vpc_id,  con‐
87961              vert_to_group_ids will convert all list items in the given  list
87962              to security group ids.
87963
87964              CLI example:
87965
87966                 salt myminion boto_secgroup.convert_to_group_ids mysecgroup vpc-89yhh7h
87967
87968       salt.modules.boto_secgroup.create(name,    description,    vpc_id=None,
87969       vpc_name=None, region=None, key=None, keyid=None, profile=None)
87970              Create a security group.
87971
87972              CLI example:
87973
87974                 salt myminion boto_secgroup.create mysecgroup 'My Security Group'
87975
87976       salt.modules.boto_secgroup.delete(name=None,             group_id=None,
87977       region=None,    key=None,    keyid=None,   profile=None,   vpc_id=None,
87978       vpc_name=None)
87979              Delete a security group.
87980
87981              CLI example:
87982
87983                 salt myminion boto_secgroup.delete mysecgroup
87984
87985       salt.modules.boto_secgroup.delete_tags(tags, name=None,  group_id=None,
87986       vpc_name=None,  vpc_id=None,  region=None,  key=None,  keyid=None, pro‐
87987       file=None)
87988              Deletes tags from a security group.
87989
87990              New in version 2016.3.0.
87991
87992
87993              tags   a list of tags to remove
87994
87995              name   the name of the security group
87996
87997              group_id
87998                     the group id of the security group (in lie of a  name/vpc
87999                     combo)
88000
88001              vpc_name
88002                     the name of the vpc to search the named group for
88003
88004              vpc_id the id of the vpc, in lieu of the vpc_name
88005
88006              region the amazon region
88007
88008              key    amazon key
88009
88010              keyid  amazon keyid
88011
88012              profile
88013                     amazon profile
88014
88015              CLI example:
88016
88017                 salt myminion boto_secgroup.delete_tags ['TAG_TO_DELETE1','TAG_TO_DELETE2'] security_group_name vpc_id=vpc-13435 profile=my_aws_profile
88018
88019       salt.modules.boto_secgroup.exists(name=None,   region=None,   key=None,
88020       keyid=None, profile=None, vpc_id=None, vpc_name=None, group_id=None)
88021              Check to see if a security group exists.
88022
88023              CLI example:
88024
88025                 salt myminion boto_secgroup.exists mysecgroup
88026
88027       salt.modules.boto_secgroup.get_all_security_groups(groupnames=None,
88028       group_ids=None,  filters=None,  region=None, key=None, keyid=None, pro‐
88029       file=None)
88030              Return a list of all Security Groups matching the given criteria
88031              and filters.
88032
88033              Note  that  the groupnames argument only functions correctly for
88034              EC2 Classic and default VPC Security Groups.  To find groups  by
88035              name  in  other  VPCs  you'll  want to use the group-name filter
88036              instead.
88037
88038              The valid keys for the filters argument can be  found  in  AWS's
88039              API documentation.
88040
88041              CLI example:
88042
88043                 salt myminion boto_secgroup.get_all_security_groups filters='{group-name: mygroup}'
88044
88045       salt.modules.boto_secgroup.get_config(name=None,         group_id=None,
88046       region=None,   key=None,   keyid=None,    profile=None,    vpc_id=None,
88047       vpc_name=None)
88048              Get the configuration for a security group.
88049
88050              CLI example:
88051
88052                 salt myminion boto_secgroup.get_config mysecgroup
88053
88054       salt.modules.boto_secgroup.get_group_id(name,              vpc_id=None,
88055       vpc_name=None, region=None, key=None, keyid=None, profile=None)
88056              Get a Group ID given a Group Name or Group Name and VPC ID
88057
88058              CLI example:
88059
88060                 salt myminion boto_secgroup.get_group_id mysecgroup
88061
88062       salt.modules.boto_secgroup.revoke(name=None,    source_group_name=None,
88063       source_group_owner_id=None,      ip_protocol=None,      from_port=None,
88064       to_port=None, cidr_ip=None, group_id=None,  source_group_group_id=None,
88065       region=None,    key=None,    keyid=None,   profile=None,   vpc_id=None,
88066       vpc_name=None, egress=False)
88067              Remove a rule from an existing security group.
88068
88069              CLI example:
88070
88071                 salt myminion boto_secgroup.revoke mysecgroup ip_protocol=tcp from_port=80 to_port=80 cidr_ip='10.0.0.0/8'
88072
88073       salt.modules.boto_secgroup.set_tags(tags,   name=None,   group_id=None,
88074       vpc_name=None,  vpc_id=None,  region=None,  key=None,  keyid=None, pro‐
88075       file=None)
88076              Sets tags on a security group.
88077
88078              New in version 2016.3.0.
88079
88080
88081              tags   a dict of key:value pair of tags to set on  the  security
88082                     group
88083
88084              name   the name of the security group
88085
88086              group_id
88087                     the  group id of the security group (in lie of a name/vpc
88088                     combo)
88089
88090              vpc_name
88091                     the name of the vpc to search the named group for
88092
88093              vpc_id the id of the vpc, in lieu of the vpc_name
88094
88095              region the amazon region
88096
88097              key    amazon key
88098
88099              keyid  amazon keyid
88100
88101              profile
88102                     amazon profile
88103
88104              CLI example:
88105
88106                 salt myminion boto_secgroup.set_tags "{'TAG1': 'Value1', 'TAG2': 'Value2'}" security_group_name vpc_id=vpc-13435 profile=my_aws_profile
88107
88108   salt.modules.boto_sns
88109       Connection module for Amazon SNS
88110
88111       configuration
88112              This module accepts explicit sns credentials but can  also  uti‐
88113              lize  IAM  roles  assigned to the instance through Instance Pro‐
88114              files. Dynamic credentials are then automatically obtained  from
88115              AWS API and no further configuration is necessary. More Informa‐
88116              tion available at:
88117
88118                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
88119
88120              If IAM roles are not used you need to specify them either  in  a
88121              pillar or in the minion's config file:
88122
88123                 sns.keyid: GKTADJGHEIQSXMKKRBJ08H
88124                 sns.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
88125
88126              A region may also be specified in the configuration:
88127
88128                 sns.region: us-east-1
88129
88130              If a region is not specified, the default is us-east-1.
88131
88132              It's  also  possible to specify key, keyid and region via a pro‐
88133              file, either as a passed in dict, or as a string  to  pull  from
88134              pillars or minion config:
88135
88136                 myprofile:
88137                     keyid: GKTADJGHEIQSXMKKRBJ08H
88138                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
88139                     region: us-east-1
88140
88141       depends
88142              boto
88143
88144       salt.modules.boto_sns.create(name,  region=None,  key=None, keyid=None,
88145       profile=None)
88146              Create an SNS topic.
88147
88148              CLI example to create a topic:
88149
88150                 salt myminion boto_sns.create mytopic region=us-east-1
88151
88152       salt.modules.boto_sns.delete(name, region=None,  key=None,  keyid=None,
88153       profile=None)
88154              Delete an SNS topic.
88155
88156              CLI example to delete a topic:
88157
88158                 salt myminion boto_sns.delete mytopic region=us-east-1
88159
88160       salt.modules.boto_sns.exists(name,  region=None,  key=None, keyid=None,
88161       profile=None)
88162              Check to see if an SNS topic exists.
88163
88164              CLI example:
88165
88166                 salt myminion boto_sns.exists mytopic region=us-east-1
88167
88168       salt.modules.boto_sns.get_all_subscriptions_by_topic(name, region=None,
88169       key=None, keyid=None, profile=None)
88170              Get list of all subscriptions to a specific topic.
88171
88172              CLI example to delete a topic:
88173
88174                 salt myminion boto_sns.get_all_subscriptions_by_topic mytopic region=us-east-1
88175
88176       salt.modules.boto_sns.get_all_topics(region=None, key=None, keyid=None,
88177       profile=None)
88178              Returns a list of the all topics..
88179
88180              CLI example:
88181
88182                 salt myminion boto_sns.get_all_topics
88183
88184       salt.modules.boto_sns.get_arn(name, region=None, key=None,  keyid=None,
88185       profile=None)
88186              Returns the full ARN for a given topic name.
88187
88188              CLI example:
88189
88190                 salt myminion boto_sns.get_arn mytopic
88191
88192       salt.modules.boto_sns.subscribe(topic, protocol, endpoint, region=None,
88193       key=None, keyid=None, profile=None)
88194              Subscribe to a Topic.
88195
88196              CLI example to delete a topic:
88197
88198                 salt myminion boto_sns.subscribe mytopic https https://www.example.com/sns-endpoint region=us-east-1
88199
88200       salt.modules.boto_sns.unsubscribe(topic, subscription_arn, region=None,
88201       key=None, keyid=None, profile=None)
88202              Unsubscribe a specific SubscriptionArn of a topic.
88203
88204              CLI Example:
88205
88206                 salt myminion boto_sns.unsubscribe my_topic my_subscription_arn region=us-east-1
88207
88208              New in version 2016.11.0.
88209
88210
88211   salt.modules.boto_sqs
88212       Connection module for Amazon SQS
88213
88214       New in version 2014.7.0.
88215
88216
88217       configuration
88218              This  module  accepts explicit sqs credentials but can also uti‐
88219              lize IAM roles assigned to the instance  through  Instance  Pro‐
88220              files.  Dynamic credentials are then automatically obtained from
88221              AWS API and no further configuration is necessary. More informa‐
88222              tion available at:
88223
88224                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
88225
88226              If  IAM  roles are not used you need to specify them either in a
88227              pillar or in the minion's config file:
88228
88229                 sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
88230                 sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
88231
88232              A region may also be specified in the configuration:
88233
88234                 sqs.region: us-east-1
88235
88236              If a region is not specified, the default is us-east-1.
88237
88238              It's also possible to specify key, keyid and region via  a  pro‐
88239              file,  either  as  a passed in dict, or as a string to pull from
88240              pillars or minion config:
88241
88242                 myprofile:
88243                     keyid: GKTADJGHEIQSXMKKRBJ08H
88244                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
88245                     region: us-east-1
88246
88247       depends
88248              boto3
88249
88250       salt.modules.boto_sqs.create(name,    attributes=None,     region=None,
88251       key=None, keyid=None, profile=None)
88252              Create an SQS queue.
88253
88254              CLI Example:
88255
88256                 salt myminion boto_sqs.create myqueue region=us-east-1
88257
88258       salt.modules.boto_sqs.delete(name,  region=None,  key=None, keyid=None,
88259       profile=None)
88260              Delete an SQS queue.
88261
88262              CLI Example:
88263
88264                 salt myminion boto_sqs.delete myqueue region=us-east-1
88265
88266       salt.modules.boto_sqs.exists(name, region=None,  key=None,  keyid=None,
88267       profile=None)
88268              Check to see if a queue exists.
88269
88270              CLI Example:
88271
88272                 salt myminion boto_sqs.exists myqueue region=us-east-1
88273
88274       salt.modules.boto_sqs.get_attributes(name,    region=None,    key=None,
88275       keyid=None, profile=None)
88276              Return attributes currently set on an SQS queue.
88277
88278              CLI Example:
88279
88280                 salt myminion boto_sqs.get_attributes myqueue
88281
88282       salt.modules.boto_sqs.list_(prefix=u'',     region=None,      key=None,
88283       keyid=None, profile=None)
88284              Return a list of the names of all visible queues.
88285
88286              New in version 2016.11.0.
88287
88288
88289              CLI Example:
88290
88291                 salt myminion boto_sqs.list region=us-east-1
88292
88293       salt.modules.boto_sqs.set_attributes(name,   attributes,   region=None,
88294       key=None, keyid=None, profile=None)
88295              Set attributes on an SQS queue.
88296
88297              CLI Example:
88298
88299                 salt myminion boto_sqs.set_attributes myqueue '{ReceiveMessageWaitTimeSeconds: 20}' region=us-east-1
88300
88301   salt.modules.boto_vpc
88302       Connection module for Amazon VPC
88303
88304       New in version 2014.7.0.
88305
88306
88307       depends
88308
88309       · boto >= 2.8.0
88310
88311       · boto3 >= 1.2.6
88312
88313       configuration
88314              This module accepts explicit VPC credentials but can  also  uti‐
88315              lize  IAM  roles  assigned to the instance through Instance Pro‐
88316              files.  Dynamic credentials are then automatically obtained from
88317              AWS API and no further configuration is necessary. More Informa‐
88318              tion available here.
88319
88320       If IAM roles are not used you need to specify them either in  a  pillar
88321       or in the minion's config file:
88322
88323          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
88324          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
88325
88326       A region may also be specified in the configuration:
88327
88328          vpc.region: us-east-1
88329
88330       If a region is not specified, the default is us-east-1.
88331
88332       It's  also  possible  to  specify  key, keyid and region via a profile,
88333       either as a passed in dict, or as a string to pull from pillars or min‐
88334       ion config:
88335
88336          myprofile:
88337              keyid: GKTADJGHEIQSXMKKRBJ08H
88338              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
88339              region: us-east-1
88340
88341       Changed  in version 2015.8.0: All methods now return a dictionary. Cre‐
88342       ate and delete methods return:
88343
88344          created: true
88345
88346       or
88347
88348          created: false
88349          error:
88350            message: error message
88351
88352       Request methods (e.g., describe_vpc) return:
88353
88354          vpcs:
88355            - {...}
88356            - {...}
88357
88358       or
88359
88360          error:
88361            message: error message
88362
88363
88364       New in version 2016.11.0.
88365
88366
88367       Functions to request, accept, delete and describe VPC  peering  connec‐
88368       tions.  Named VPC peering connections can be requested using these mod‐
88369       ules.  VPC owner accounts can accept VPC peering connections (named  or
88370       otherwise).
88371
88372       Examples showing creation of VPC peering connection
88373
88374          # Create a named VPC peering connection
88375          salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da name=my_vpc_connection
88376          # Without a name
88377          salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da
88378          # Specify a region
88379          salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da region=us-west-2
88380
88381       Check to see if VPC peering connection is pending
88382
88383          salt myminion boto_vpc.is_peering_connection_pending name=salt-vpc
88384          # Specify a region
88385          salt myminion boto_vpc.is_peering_connection_pending name=salt-vpc region=us-west-2
88386          # specify an id
88387          salt myminion boto_vpc.is_peering_connection_pending conn_id=pcx-8a8939e3
88388
88389       Accept VPC peering connection
88390
88391          salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc
88392          # Specify a region
88393          salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc region=us-west-2
88394          # specify an id
88395          salt myminion boto_vpc.accept_vpc_peering_connection conn_id=pcx-8a8939e3
88396
88397       Deleting VPC peering connection via this module
88398
88399          # Delete a named VPC peering connection
88400          salt myminion boto_vpc.delete_vpc_peering_connection name=salt-vpc
88401          # Specify a region
88402          salt myminion boto_vpc.delete_vpc_peering_connection name=salt-vpc region=us-west-2
88403          # specify an id
88404          salt myminion boto_vpc.delete_vpc_peering_connection conn_id=pcx-8a8939e3
88405
88406       salt.modules.boto_vpc.accept_vpc_peering_connection(conn_id=u'',
88407       name=u'',    region=None,    key=None,    keyid=None,     profile=None,
88408       dry_run=False)
88409              Request a VPC peering connection between two VPCs.
88410
88411              New in version 2016.11.0.
88412
88413
88414              Parameters
88415
88416                     · conn_id -- The ID to use. String type.
88417
88418                     · name -- The name of this VPC peering connection. String
88419                       type.
88420
88421                     · region -- The AWS region to use. Type string.
88422
88423                     · key -- The key to use for this connection. Type string.
88424
88425                     · keyid -- The key id to use.
88426
88427                     · profile -- The profile to use.
88428
88429                     · dry_run -- The dry_run flag to set.
88430
88431              Returns
88432                     dict
88433
88434              Warning: Please specify either the vpc_peering_connection_id  or
88435              name but not both. Specifying both will result in an error!
88436
88437              CLI Example:
88438
88439                 salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc
88440                 # Specify a region
88441                 salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc region=us-west-2
88442                 # specify an id
88443                 salt myminion boto_vpc.accept_vpc_peering_connection conn_id=pcx-8a8939e3
88444
88445       salt.modules.boto_vpc.associate_dhcp_options_to_vpc(dhcp_options_id,
88446       vpc_id=None, vpc_name=None,  region=None,  key=None,  keyid=None,  pro‐
88447       file=None)
88448              Given  valid  DHCP  options id and a valid VPC id, associate the
88449              DHCP options record with the VPC.
88450
88451              Returns True if the DHCP  options  record  were  associated  and
88452              returns False if the DHCP options record was not associated.
88453
88454              CLI Example:
88455
88456                 salt myminion boto_vpc.associate_dhcp_options_to_vpc 'dhcp-a0bl34pp' 'vpc-6b1fe402'
88457
88458       salt.modules.boto_vpc.associate_network_acl_to_subnet(net‐
88459       work_acl_id=None,    subnet_id=None,    network_acl_name=None,     sub‐
88460       net_name=None, region=None, key=None, keyid=None, profile=None)
88461              Given a network acl and subnet ids or names, associate a network
88462              acl to a subnet.
88463
88464              CLI Example:
88465
88466                 salt myminion boto_vpc.associate_network_acl_to_subnet \
88467                         network_acl_id='acl-5fb85d36' subnet_id='subnet-6a1fe403'
88468
88469                 salt myminion boto_vpc.associate_network_acl_to_subnet \
88470                         network_acl_id='myacl' subnet_id='mysubnet'
88471
88472       salt.modules.boto_vpc.associate_route_table(route_table_id=None,   sub‐
88473       net_id=None,   route_table_name=None,   subnet_name=None,  region=None,
88474       key=None, keyid=None, profile=None)
88475              Given a route table and subnet name or id, associates the  route
88476              table with the subnet.
88477
88478              CLI Example:
88479
88480                 salt myminion boto_vpc.associate_route_table 'rtb-1f382e7d' 'subnet-6a1fe403'
88481
88482                 salt myminion boto_vpc.associate_route_table route_table_name='myrtb' \
88483                         subnet_name='mysubnet'
88484
88485       salt.modules.boto_vpc.check_vpc(vpc_id=None,             vpc_name=None,
88486       region=None, key=None, keyid=None, profile=None)
88487              Check whether a VPC with the given name or id  exists.   Returns
88488              the  vpc_id  or  None. Raises SaltInvocationError if both vpc_id
88489              and vpc_name are None. Optionally raise a  CommandExecutionError
88490              if the VPC does not exist.
88491
88492              New in version 2016.3.0.
88493
88494
88495              CLI Example:
88496
88497                 salt myminion boto_vpc.check_vpc vpc_name=myvpc profile=awsprofile
88498
88499       salt.modules.boto_vpc.create(cidr_block,         instance_tenancy=None,
88500       vpc_name=None,   enable_dns_support=None,    enable_dns_hostnames=None,
88501       tags=None, region=None, key=None, keyid=None, profile=None)
88502              Given a valid CIDR block, create a VPC.
88503
88504              An  optional  instance_tenancy argument can be provided. If pro‐
88505              vided, the valid values are 'default' or 'dedicated'
88506
88507              An optional vpc_name argument can be provided.
88508
88509              Returns {created: true} if the VPC was created and returns {cre‐
88510              ated: False} if the VPC was not created.
88511
88512              CLI Example:
88513
88514                 salt myminion boto_vpc.create '10.0.0.0/24'
88515
88516       salt.modules.boto_vpc.create_customer_gateway(vpn_connection_type,
88517       ip_address,     bgp_asn,     customer_gateway_name=None,     tags=None,
88518       region=None, key=None, keyid=None, profile=None)
88519              Given  a  valid  VPN  connection type, a static IP address and a
88520              customer gateway’s Border Gateway Protocol (BGP) Autonomous Sys‐
88521              tem Number, create a customer gateway.
88522
88523              Returns the customer gateway id if the customer gateway was cre‐
88524              ated and returns False if the customer gateway was not created.
88525
88526              CLI Example:
88527
88528                 salt myminion boto_vpc.create_customer_gateway 'ipsec.1', '12.1.2.3', 65534
88529
88530       salt.modules.boto_vpc.create_dhcp_options(domain_name=None,
88531       domain_name_servers=None,  ntp_servers=None, netbios_name_servers=None,
88532       netbios_node_type=None, dhcp_options_name=None, tags=None, vpc_id=None,
88533       vpc_name=None, region=None, key=None, keyid=None, profile=None)
88534              Given  valid DHCP options, create a DHCP options record, option‐
88535              ally associating it with an existing VPC.
88536
88537              Returns True if the DHCP options record was created and  returns
88538              False if the DHCP options record was not deleted.
88539
88540              Changed in version 2015.8.0: Added vpc_name and vpc_id arguments
88541
88542
88543              CLI Example:
88544
88545                 salt myminion boto_vpc.create_dhcp_options domain_name='example.com' \
88546                         domain_name_servers='[1.2.3.4]' ntp_servers='[5.6.7.8]' \
88547                         netbios_name_servers='[10.0.0.1]' netbios_node_type=1 \
88548                         vpc_name='myvpc'
88549
88550       salt.modules.boto_vpc.create_internet_gateway(internet_gate‐
88551       way_name=None,  vpc_id=None,  vpc_name=None,  tags=None,   region=None,
88552       key=None, keyid=None, profile=None)
88553              Create an Internet Gateway, optionally attaching it to an exist‐
88554              ing VPC.
88555
88556              Returns the internet gateway id if the internet gateway was cre‐
88557              ated and returns False if the internet gateways was not created.
88558
88559              New in version 2015.8.0.
88560
88561
88562              CLI Example:
88563
88564                 salt myminion boto_vpc.create_internet_gateway \
88565                         internet_gateway_name=myigw vpc_name=myvpc
88566
88567       salt.modules.boto_vpc.create_nat_gateway(subnet_id=None,           sub‐
88568       net_name=None, allocation_id=None, region=None,  key=None,  keyid=None,
88569       profile=None)
88570              Create a NAT Gateway within an existing subnet. If allocation_id
88571              is specified, the elastic IP address it references is associated
88572              with  the gateway. Otherwise, a new allocation_id is created and
88573              used.
88574
88575              This function requires boto3 to be installed.
88576
88577              Returns the nat gateway id if the nat gateway  was  created  and
88578              returns False if the nat gateway was not created.
88579
88580              New in version 2016.11.0.
88581
88582
88583              CLI Example:
88584
88585                 salt myminion boto_vpc.create_nat_gateway subnet_name=mysubnet
88586
88587       salt.modules.boto_vpc.create_network_acl(vpc_id=None,    vpc_name=None,
88588       network_acl_name=None,  subnet_id=None,  subnet_name=None,   tags=None,
88589       region=None, key=None, keyid=None, profile=None)
88590              Given a vpc_id, creates a network acl.
88591
88592              Returns  the  network  acl  id  if successful, otherwise returns
88593              False.
88594
88595              Changed in version 2015.8.0: Added vpc_name, subnet_id, and sub‐
88596              net_name arguments
88597
88598
88599              CLI Example:
88600
88601                 salt myminion boto_vpc.create_network_acl 'vpc-6b1fe402'
88602
88603       salt.modules.boto_vpc.create_network_acl_entry(network_acl_id=None,
88604       rule_number=None,  protocol=None,  rule_action=None,   cidr_block=None,
88605       egress=None,   network_acl_name=None,  icmp_code=None,  icmp_type=None,
88606       port_range_from=None,   port_range_to=None,   region=None,    key=None,
88607       keyid=None, profile=None)
88608              Creates a network acl entry.
88609
88610              CLI Example:
88611
88612                 salt myminion boto_vpc.create_network_acl_entry 'acl-5fb85d36' '32767' \
88613                         'all' 'deny' '0.0.0.0/0' egress=true
88614
88615       salt.modules.boto_vpc.create_route(route_table_id=None,        destina‐
88616       tion_cidr_block=None,  route_table_name=None,  gateway_id=None,  inter‐
88617       net_gateway_name=None,  instance_id=None,  interface_id=None, vpc_peer‐
88618       ing_connection_id=None, vpc_peering_connection_name=None,  region=None,
88619       key=None,   keyid=None,  profile=None,  nat_gateway_id=None,  nat_gate‐
88620       way_subnet_name=None, nat_gateway_subnet_id=None)
88621              Creates a route.
88622
88623              If a nat gateway is specified, boto3 must be installed
88624
88625              CLI Example:
88626
88627                 salt myminion boto_vpc.create_route 'rtb-1f382e7d' '10.0.0.0/16' gateway_id='vgw-a1b2c3'
88628
88629       salt.modules.boto_vpc.create_route_table(vpc_id=None,    vpc_name=None,
88630       route_table_name=None,  tags=None,  region=None,  key=None, keyid=None,
88631       profile=None)
88632              Creates a route table.
88633
88634              Changed in version 2015.8.0: Added vpc_name argument
88635
88636
88637              CLI Examples:
88638
88639                 salt myminion boto_vpc.create_route_table vpc_id='vpc-6b1fe402' \
88640                         route_table_name='myroutetable'
88641                 salt myminion boto_vpc.create_route_table vpc_name='myvpc' \
88642                         route_table_name='myroutetable'
88643
88644       salt.modules.boto_vpc.create_subnet(vpc_id=None,       cidr_block=None,
88645       vpc_name=None,   availability_zone=None,  subnet_name=None,  tags=None,
88646       region=None,  key=None,  keyid=None,   profile=None,   auto_assign_pub‐
88647       lic_ipv4=False)
88648              Given  a  valid VPC ID or Name and a CIDR block, create a subnet
88649              for the VPC.
88650
88651              An optional availability zone argument can be provided.
88652
88653              Returns True if the VPC subnet was created and returns False  if
88654              the VPC subnet was not created.
88655
88656              Changed in version 2015.8.0: Added vpc_name argument
88657
88658
88659              CLI Examples:
88660
88661                 salt myminion boto_vpc.create_subnet vpc_id='vpc-6b1fe402' \
88662                         subnet_name='mysubnet' cidr_block='10.0.0.0/25'
88663                 salt myminion boto_vpc.create_subnet vpc_name='myvpc' \
88664                         subnet_name='mysubnet', cidr_block='10.0.0.0/25'
88665
88666       salt.modules.boto_vpc.customer_gateway_exists(customer_gateway_id=None,
88667       customer_gateway_name=None,  region=None,  key=None,  keyid=None,  pro‐
88668       file=None)
88669              Given  a  customer  gateway ID, check if the customer gateway ID
88670              exists.
88671
88672              Returns True if the customer gateway ID  exists;  Returns  False
88673              otherwise.
88674
88675              CLI Example:
88676
88677                 salt myminion boto_vpc.customer_gateway_exists cgw-b6a247df
88678                 salt myminion boto_vpc.customer_gateway_exists customer_gatway_name=mycgw
88679
88680       salt.modules.boto_vpc.delete(vpc_id=None,   name=None,   vpc_name=None,
88681       tags=None, region=None, key=None, keyid=None, profile=None)
88682              Given a VPC ID or VPC name, delete the VPC.
88683
88684              Returns {deleted: true} if  the  VPC  was  deleted  and  returns
88685              {deleted: false} if the VPC was not deleted.
88686
88687              CLI Example:
88688
88689                 salt myminion boto_vpc.delete vpc_id='vpc-6b1fe402'
88690                 salt myminion boto_vpc.delete name='myvpc'
88691
88692       salt.modules.boto_vpc.delete_customer_gateway(customer_gateway_id=None,
88693       customer_gateway_name=None,  region=None,  key=None,  keyid=None,  pro‐
88694       file=None)
88695              Given  a  customer gateway ID or name, delete the customer gate‐
88696              way.
88697
88698              Returns True if the customer gateway  was  deleted  and  returns
88699              False if the customer gateway was not deleted.
88700
88701              Changed  in  version 2015.8.0: Added customer_gateway_name argu‐
88702              ment
88703
88704
88705              CLI Example:
88706
88707                 salt myminion boto_vpc.delete_customer_gateway 'cgw-b6a247df'
88708
88709       salt.modules.boto_vpc.delete_dhcp_options(dhcp_options_id=None,
88710       dhcp_options_name=None,   region=None,   key=None,   keyid=None,   pro‐
88711       file=None)
88712              Delete dhcp options by id or name.
88713
88714              New in version 2015.8.0.
88715
88716
88717              CLI Example:
88718
88719                 salt myminion boto_vpc.delete_dhcp_options 'dopt-b6a247df'
88720
88721       salt.modules.boto_vpc.delete_internet_gateway(internet_gateway_id=None,
88722       internet_gateway_name=None,    detach=False,   region=None,   key=None,
88723       keyid=None, profile=None)
88724              Delete an internet gateway (by name or id).
88725
88726              Returns True if the internet gateway was deleted  and  otherwise
88727              False.
88728
88729              New in version 2015.8.0.
88730
88731
88732              CLI Examples:
88733
88734                 salt myminion boto_vpc.delete_internet_gateway internet_gateway_id=igw-1a2b3c
88735                 salt myminion boto_vpc.delete_internet_gateway internet_gateway_name=myigw
88736
88737       salt.modules.boto_vpc.delete_nat_gateway(nat_gateway_id,
88738       release_eips=False, region=None,  key=None,  keyid=None,  profile=None,
88739       wait_for_delete=False, wait_for_delete_retries=5)
88740              Delete a nat gateway (by id).
88741
88742              Returns  True  if the internet gateway was deleted and otherwise
88743              False.
88744
88745              This function requires boto3 to be installed.
88746
88747              New in version 2016.11.0.
88748
88749
88750              nat_gateway_id
88751                     Id of the NAT Gateway
88752
88753              releaes_eips
88754                     whether to release the elastic IPs  associated  with  the
88755                     given NAT Gateway Id
88756
88757              region Region to connect to.
88758
88759              key    Secret key to be used.
88760
88761              keyid  Access key to be used.
88762
88763              profile
88764                     A  dict  with  region,  key  and  keyid,  or a pillar key
88765                     (string) that contains a dict with region, key and keyid.
88766
88767              wait_for_delete
88768                     whether to wait for delete of the NAT gateway  to  be  in
88769                     failed or deleted state after issuing the delete call.
88770
88771              wait_for_delete_retries
88772                     NAT  gateway  may take some time to be go into deleted or
88773                     failed state.  During the  deletion  process,  subsequent
88774                     release of elastic IPs may fail; this state will automat‐
88775                     ically retry this number of times to ensure the NAT gate‐
88776                     way is in deleted or failed state before proceeding.
88777
88778              CLI Examples:
88779
88780                 salt myminion boto_vpc.delete_nat_gateway nat_gateway_id=igw-1a2b3c
88781
88782       salt.modules.boto_vpc.delete_network_acl(network_acl_id=None,      net‐
88783       work_acl_name=None,    disassociate=False,    region=None,    key=None,
88784       keyid=None, profile=None)
88785              Delete  a  network  acl  based  on  the  network_acl_id  or net‐
88786              work_acl_name provided.
88787
88788              CLI Examples:
88789
88790                 salt myminion boto_vpc.delete_network_acl network_acl_id='acl-5fb85d36' \
88791                         disassociate=false
88792
88793                 salt myminion boto_vpc.delete_network_acl network_acl_name='myacl' \
88794                         disassociate=true
88795
88796       salt.modules.boto_vpc.delete_network_acl_entry(network_acl_id=None,
88797       rule_number=None,   egress=None,   network_acl_name=None,  region=None,
88798       key=None, keyid=None, profile=None)
88799              Deletes a network acl entry.
88800
88801              CLI Example:
88802
88803                 salt myminion boto_vpc.delete_network_acl_entry 'acl-5fb85d36' '32767'
88804
88805       salt.modules.boto_vpc.delete_route(route_table_id=None,        destina‐
88806       tion_cidr_block=None,   route_table_name=None,  region=None,  key=None,
88807       keyid=None, profile=None)
88808              Deletes a route.
88809
88810              CLI Example:
88811
88812                 salt myminion boto_vpc.delete_route 'rtb-1f382e7d' '10.0.0.0/16'
88813
88814       salt.modules.boto_vpc.delete_route_table(route_table_id=None, route_ta‐
88815       ble_name=None, region=None, key=None, keyid=None, profile=None)
88816              Deletes a route table.
88817
88818              CLI Examples:
88819
88820                 salt myminion boto_vpc.delete_route_table route_table_id='rtb-1f382e7d'
88821                 salt myminion boto_vpc.delete_route_table route_table_name='myroutetable'
88822
88823       salt.modules.boto_vpc.delete_subnet(subnet_id=None,   subnet_name=None,
88824       region=None, key=None, keyid=None, profile=None)
88825              Given a subnet ID or name, delete the subnet.
88826
88827              Returns True if the subnet was deleted and returns False if  the
88828              subnet was not deleted.
88829
88830              Changed in version 2015.8.0: Added subnet_name argument
88831
88832
88833              CLI Example:
88834
88835                 salt myminion boto_vpc.delete_subnet 'subnet-6a1fe403'
88836
88837       salt.modules.boto_vpc.delete_vpc_peering_connection(conn_id=None,
88838       conn_name=None,  region=None,   key=None,   keyid=None,   profile=None,
88839       dry_run=False)
88840              Delete a VPC peering connection.
88841
88842              New in version 2016.11.0.
88843
88844
88845              conn_id
88846                     The connection ID to check.  Exclusive with conn_name.
88847
88848              conn_name
88849                     The connection name to check.  Exclusive with conn_id.
88850
88851              region Region to connect to.
88852
88853              key    Secret key to be used.
88854
88855              keyid  Access key to be used.
88856
88857              profile
88858                     A  dict  with  region,  key  and  keyid,  or a pillar key
88859                     (string) that contains a dict with region, key and keyid.
88860
88861              dry_run
88862                     If True, skip application  and  simply  return  projected
88863                     status.
88864
88865              CLI Example:
88866
88867                 # Create a named VPC peering connection
88868                 salt myminion boto_vpc.delete_vpc_peering_connection conn_name=salt-vpc
88869                 # Specify a region
88870                 salt myminion boto_vpc.delete_vpc_peering_connection conn_name=salt-vpc region=us-west-2
88871                 # specify an id
88872                 salt myminion boto_vpc.delete_vpc_peering_connection conn_id=pcx-8a8939e3
88873
88874       salt.modules.boto_vpc.describe(vpc_id=None, vpc_name=None, region=None,
88875       key=None, keyid=None, profile=None)
88876              Given a VPC ID describe its properties.
88877
88878              Returns a dictionary of interesting properties.
88879
88880              Changed in version 2015.8.0: Added vpc_name argument
88881
88882
88883              CLI Example:
88884
88885                 salt myminion boto_vpc.describe vpc_id=vpc-123456
88886                 salt myminion boto_vpc.describe vpc_name=myvpc
88887
88888       salt.modules.boto_vpc.describe_nat_gateways(nat_gateway_id=None,   sub‐
88889       net_id=None,      subnet_name=None,     vpc_id=None,     vpc_name=None,
88890       states=(u'pending', u'available'), region=None,  key=None,  keyid=None,
88891       profile=None)
88892              Return a description of nat gateways matching the selection cri‐
88893              teria
88894
88895              This function requires boto3 to be installed.
88896
88897              CLI Example:
88898
88899                 salt myminion boto_vpc.describe_nat_gateways nat_gateway_id='nat-03b02643b43216fe7'
88900                 salt myminion boto_vpc.describe_nat_gateways subnet_id='subnet-5b05942d'
88901
88902       salt.modules.boto_vpc.describe_route_table(route_table_id=None,
88903       route_table_name=None,  tags=None,  region=None,  key=None, keyid=None,
88904       profile=None)
88905              Given route table properties,  return  route  table  details  if
88906              matching table(s) exist.
88907
88908              New in version 2015.8.0.
88909
88910
88911              CLI Example:
88912
88913                 salt myminion boto_vpc.describe_route_table route_table_id='rtb-1f382e7d'
88914
88915       salt.modules.boto_vpc.describe_route_tables(route_table_id=None,
88916       route_table_name=None, vpc_id=None, tags=None,  region=None,  key=None,
88917       keyid=None, profile=None)
88918              Given  route  table  properties,  return details of all matching
88919              route tables.
88920
88921              This function requires boto3 to be installed.
88922
88923              New in version 2016.11.0.
88924
88925
88926              CLI Example:
88927
88928                 salt myminion boto_vpc.describe_route_tables vpc_id='vpc-a6a9efc3'
88929
88930       salt.modules.boto_vpc.describe_subnet(subnet_id=None, subnet_name=None,
88931       region=None, key=None, keyid=None, profile=None)
88932              Given a subnet id or name, describe its properties.
88933
88934              Returns a dictionary of interesting properties.
88935
88936              New in version 2015.8.0.
88937
88938
88939              CLI Examples:
88940
88941                 salt myminion boto_vpc.describe_subnet subnet_id=subnet-123456
88942                 salt myminion boto_vpc.describe_subnet subnet_name=mysubnet
88943
88944       salt.modules.boto_vpc.describe_subnets(subnet_ids=None,            sub‐
88945       net_names=None,   vpc_id=None,   cidr=None,   region=None,    key=None,
88946       keyid=None, profile=None)
88947              Given a VPC ID or subnet CIDR, returns a list of associated sub‐
88948              nets and their details. Return all subnets if VPC ID or CIDR are
88949              not  provided.   If  a  subnet  id or CIDR is provided, only its
88950              associated subnet details will be returned.
88951
88952              New in version 2015.8.0.
88953
88954
88955              CLI Examples:
88956
88957                 salt myminion boto_vpc.describe_subnets
88958
88959                 salt myminion boto_vpc.describe_subnets subnet_ids=['subnet-ba1987ab', 'subnet-ba1987cd']
88960
88961                 salt myminion boto_vpc.describe_subnets vpc_id=vpc-123456
88962
88963                 salt myminion boto_vpc.describe_subnets cidr=10.0.0.0/21
88964
88965       salt.modules.boto_vpc.describe_vpc_peering_connection(name,
88966       region=None, key=None, keyid=None, profile=None)
88967              Returns any VPC peering connection id(s) for the given VPC peer‐
88968              ing connection name.
88969
88970              VPC peering connection ids are  only  returned  for  connections
88971              that  are  in  the  active,  pending-acceptance  or provisioning
88972              state.
88973
88974              New in version 2016.11.0.
88975
88976
88977              Parameters
88978
88979                     · name -- The string name for this VPC peering connection
88980
88981                     · region -- The aws region to use
88982
88983                     · key -- Your aws key
88984
88985                     · keyid -- The key id associated with this aws account
88986
88987                     · profile -- The profile to use
88988
88989              Returns
88990                     dict
88991
88992              CLI Example:
88993
88994                 salt myminion boto_vpc.describe_vpc_peering_connection salt-vpc
88995                 # Specify a region
88996                 salt myminion boto_vpc.describe_vpc_peering_connection salt-vpc region=us-west-2
88997
88998       salt.modules.boto_vpc.describe_vpcs(vpc_id=None, name=None,  cidr=None,
88999       tags=None, region=None, key=None, keyid=None, profile=None)
89000              Describe all VPCs, matching the filter criteria if provided.
89001
89002              Returns a list of dictionaries with interesting properties.
89003
89004              New in version 2015.8.0.
89005
89006
89007              CLI Example:
89008
89009                 salt myminion boto_vpc.describe_vpcs
89010
89011       salt.modules.boto_vpc.dhcp_options_exists(dhcp_options_id=None,
89012       name=None, dhcp_options_name=None,  tags=None,  region=None,  key=None,
89013       keyid=None, profile=None)
89014              Check if a dhcp option exists.
89015
89016              Returns True if the dhcp option exists; Returns False otherwise.
89017
89018              CLI Example:
89019
89020                 salt myminion boto_vpc.dhcp_options_exists dhcp_options_id='dhcp-a0bl34pp'
89021
89022       salt.modules.boto_vpc.disassociate_network_acl(subnet_id=None,
89023       vpc_id=None, subnet_name=None,  vpc_name=None,  region=None,  key=None,
89024       keyid=None, profile=None)
89025              Given a subnet ID, disassociates a network acl.
89026
89027              CLI Example:
89028
89029                 salt myminion boto_vpc.disassociate_network_acl 'subnet-6a1fe403'
89030
89031       salt.modules.boto_vpc.disassociate_route_table(association_id,
89032       region=None, key=None, keyid=None, profile=None)
89033              Dissassociates a route table.
89034
89035              association_id
89036                     The Route Table Association ID to disassociate
89037
89038              CLI Example:
89039
89040                 salt myminion boto_vpc.disassociate_route_table 'rtbassoc-d8ccddba'
89041
89042       salt.modules.boto_vpc.exists(vpc_id=None,     name=None,     cidr=None,
89043       tags=None, region=None, key=None, keyid=None, profile=None)
89044              Given a VPC ID, check to see if the given VPC ID exists.
89045
89046              Returns True if the given VPC ID exists and returns False if the
89047              given VPC ID does not exist.
89048
89049              CLI Example:
89050
89051                 salt myminion boto_vpc.exists myvpc
89052
89053       salt.modules.boto_vpc.get_dhcp_options(dhcp_options_name=None,
89054       dhcp_options_id=None, region=None, key=None, keyid=None, profile=None)
89055              Return  a  dict  with  the  current values of the requested DHCP
89056              options set
89057
89058              CLI Example:
89059
89060                 salt myminion boto_vpc.get_dhcp_options 'myfunnydhcpoptionsname'
89061
89062              New in version 2016.3.0.
89063
89064
89065       salt.modules.boto_vpc.get_id(name=None,      cidr=None,      tags=None,
89066       region=None, key=None, keyid=None, profile=None)
89067              Given VPC properties, return the VPC id if a match is found.
89068
89069              CLI Example:
89070
89071                 salt myminion boto_vpc.get_id myvpc
89072
89073       salt.modules.boto_vpc.get_resource_id(resource,              name=None,
89074       resource_id=None, region=None, key=None, keyid=None, profile=None)
89075              Get an AWS id for a VPC resource by type and name.
89076
89077              New in version 2015.8.0.
89078
89079
89080              CLI Example:
89081
89082                 salt myminion boto_vpc.get_resource_id internet_gateway myigw
89083
89084       salt.modules.boto_vpc.get_subnet_association(subnets,      region=None,
89085       key=None, keyid=None, profile=None)
89086              Given  a subnet (aka: a vpc zone identifier) or list of subnets,
89087              returns vpc association.
89088
89089              Returns a VPC ID if the given subnets are  associated  with  the
89090              same  VPC ID.  Returns False on an error or if the given subnets
89091              are associated with different VPC IDs.
89092
89093              CLI Examples:
89094
89095                 salt myminion boto_vpc.get_subnet_association subnet-61b47516
89096
89097                 salt myminion boto_vpc.get_subnet_association ['subnet-61b47516','subnet-2cb9785b']
89098
89099       salt.modules.boto_vpc.is_peering_connection_pending(conn_id=None,
89100       conn_name=None, region=None, key=None, keyid=None, profile=None)
89101              Check if a VPC peering connection is in the pending state.
89102
89103              New in version 2016.11.0.
89104
89105
89106              conn_id
89107                     The connection ID to check.  Exclusive with conn_name.
89108
89109              conn_name
89110                     The connection name to check.  Exclusive with conn_id.
89111
89112              region Region to connect to.
89113
89114              key    Secret key to be used.
89115
89116              keyid  Access key to be used.
89117
89118              profile
89119                     A  dict  with  region,  key  and  keyid,  or a pillar key
89120                     (string) that contains a dict with region, key and keyid.
89121
89122              CLI Example:
89123
89124                 salt myminion boto_vpc.is_peering_connection_pending conn_name=salt-vpc
89125                 # Specify a region
89126                 salt myminion boto_vpc.is_peering_connection_pending conn_name=salt-vpc region=us-west-2
89127                 # specify an id
89128                 salt myminion boto_vpc.is_peering_connection_pending conn_id=pcx-8a8939e3
89129
89130       salt.modules.boto_vpc.nat_gateway_exists(nat_gateway_id=None,      sub‐
89131       net_id=None,      subnet_name=None,     vpc_id=None,     vpc_name=None,
89132       states=(u'pending', u'available'), region=None,  key=None,  keyid=None,
89133       profile=None)
89134              Checks if a nat gateway exists.
89135
89136              This function requires boto3 to be installed.
89137
89138              New in version 2016.11.0.
89139
89140
89141              CLI Example:
89142
89143                 salt myminion boto_vpc.nat_gateway_exists nat_gateway_id='nat-03b02643b43216fe7'
89144                 salt myminion boto_vpc.nat_gateway_exists subnet_id='subnet-5b05942d'
89145
89146       salt.modules.boto_vpc.network_acl_exists(network_acl_id=None,
89147       name=None,  network_acl_name=None,  tags=None,  region=None,  key=None,
89148       keyid=None, profile=None)
89149              Checks if a network acl exists.
89150
89151              Returns  True  if  the network acl exists or returns False if it
89152              doesn't exist.
89153
89154              CLI Example:
89155
89156                 salt myminion boto_vpc.network_acl_exists network_acl_id='acl-5fb85d36'
89157
89158       salt.modules.boto_vpc.peering_connection_pending_from_vpc(conn_id=None,
89159       conn_name=None,   vpc_id=None,  vpc_name=None,  region=None,  key=None,
89160       keyid=None, profile=None)
89161              Check if a VPC peering connection is in the pending  state,  and
89162              requested from the given VPC.
89163
89164              New in version 2016.11.0.
89165
89166
89167              conn_id
89168                     The connection ID to check.  Exclusive with conn_name.
89169
89170              conn_name
89171                     The connection name to check.  Exclusive with conn_id.
89172
89173              vpc_id Is  this  the  ID  of the requesting VPC for this peering
89174                     connection.  Exclusive with vpc_name.
89175
89176              vpc_name
89177                     Is this the Name of the requesting VPC for  this  peering
89178                     connection.  Exclusive with vpc_id.
89179
89180              region Region to connect to.
89181
89182              key    Secret key to be used.
89183
89184              keyid  Access key to be used.
89185
89186              profile
89187                     A  dict  with  region,  key  and  keyid,  or a pillar key
89188                     (string) that contains a dict with region, key and keyid.
89189
89190              CLI Example:
89191
89192                 salt myminion boto_vpc.is_peering_connection_pending name=salt-vpc
89193
89194       salt.modules.boto_vpc.replace_network_acl_entry(network_acl_id=None,
89195       rule_number=None,   protocol=None,  rule_action=None,  cidr_block=None,
89196       egress=None,  network_acl_name=None,  icmp_code=None,   icmp_type=None,
89197       port_range_from=None,    port_range_to=None,   region=None,   key=None,
89198       keyid=None, profile=None)
89199              Replaces a network acl entry.
89200
89201              CLI Example:
89202
89203                 salt myminion boto_vpc.replace_network_acl_entry 'acl-5fb85d36' '32767' \
89204                         'all' 'deny' '0.0.0.0/0' egress=true
89205
89206       salt.modules.boto_vpc.replace_route(route_table_id=None,       destina‐
89207       tion_cidr_block=None,      route_table_name=None,      gateway_id=None,
89208       instance_id=None, interface_id=None, region=None, key=None, keyid=None,
89209       profile=None, vpc_peering_connection_id=None)
89210              Replaces a route.
89211
89212              CLI Example:
89213
89214                 salt myminion boto_vpc.replace_route 'rtb-1f382e7d' '10.0.0.0/16' gateway_id='vgw-a1b2c3'
89215
89216       salt.modules.boto_vpc.replace_route_table_association(association_id,
89217       route_table_id, region=None, key=None, keyid=None, profile=None)
89218              Replaces a route table association.
89219
89220              CLI Example:
89221
89222                 salt myminion boto_vpc.replace_route_table_association 'rtbassoc-d8ccddba' 'rtb-1f382e7d'
89223
89224       salt.modules.boto_vpc.request_vpc_peering_connec‐
89225       tion(requester_vpc_id=None,  requester_vpc_name=None, peer_vpc_id=None,
89226       peer_vpc_name=None,   name=None,    peer_owner_id=None,    region=None,
89227       key=None, keyid=None, profile=None, dry_run=False)
89228              Request a VPC peering connection between two VPCs.
89229
89230              New in version 2016.11.0.
89231
89232
89233              requester_vpc_id
89234                     ID    of    the    requesting    VPC.    Exclusive   with
89235                     requester_vpc_name.
89236
89237              requester_vpc_name
89238                     Name  tag  of  the  requesting   VPC.    Exclusive   with
89239                     requester_vpc_id.
89240
89241              peer_vpc_id
89242                     ID of the VPC to create VPC peering connection with. This
89243                     can  be  a  VPC  in  another  account.   Exclusive   with
89244                     peer_vpc_name.
89245
89246              peer_vpc_name
89247                     Name  tag  of  the  VPC  to create VPC peering connection
89248                     with. This can only be a VPC in the  same  account,  else
89249                     resolving  it  into  a vpc ID will almost certainly fail.
89250                     Exclusive with peer_vpc_id.
89251
89252              name   The name to use for this VPC peering connection.
89253
89254              peer_owner_id
89255                     ID of the owner of the peer VPC. Defaults to your account
89256                     ID,  so  a  value  is required if peering with a VPC in a
89257                     different account.
89258
89259              region Region to connect to.
89260
89261              key    Secret key to be used.
89262
89263              keyid  Access key to be used.
89264
89265              profile
89266                     A dict with region,  key  and  keyid,  or  a  pillar  key
89267                     (string) that contains a dict with region, key and keyid.
89268
89269              dry_run
89270                     If True, skip application and return status.
89271
89272              CLI Example:
89273
89274                 # Create a named VPC peering connection
89275                 salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da name=my_vpc_connection
89276                 # Without a name
89277                 salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da
89278                 # Specify a region
89279                 salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da region=us-west-2
89280
89281       salt.modules.boto_vpc.resource_exists(resource,              name=None,
89282       resource_id=None, tags=None, region=None,  key=None,  keyid=None,  pro‐
89283       file=None)
89284              Given  a  resource  type  and  name, return {exists: true} if it
89285              exists, {exists: false} if it does not exist, or  {error:  {mes‐
89286              sage: error text} on error.
89287
89288              New in version 2015.8.0.
89289
89290
89291              CLI Example:
89292
89293                 salt myminion boto_vpc.resource_exists internet_gateway myigw
89294
89295       salt.modules.boto_vpc.route_exists(destination_cidr_block,    route_ta‐
89296       ble_name=None, route_table_id=None, gateway_id=None,  instance_id=None,
89297       interface_id=None,  tags=None,  region=None, key=None, keyid=None, pro‐
89298       file=None, vpc_peering_connection_id=None)
89299              Checks if a route exists.
89300
89301              New in version 2015.8.0.
89302
89303
89304              CLI Example:
89305
89306                 salt myminion boto_vpc.route_exists destination_cidr_block='10.0.0.0/20' gateway_id='local' route_table_name='test'
89307
89308       salt.modules.boto_vpc.route_table_exists(route_table_id=None,
89309       name=None,  route_table_name=None,  tags=None,  region=None,  key=None,
89310       keyid=None, profile=None)
89311              Checks if a route table exists.
89312
89313              CLI Example:
89314
89315                 salt myminion boto_vpc.route_table_exists route_table_id='rtb-1f382e7d'
89316
89317       salt.modules.boto_vpc.subnet_exists(subnet_id=None,   name=None,   sub‐
89318       net_name=None, cidr=None, tags=None, zones=None, region=None, key=None,
89319       keyid=None, profile=None)
89320              Check if a subnet exists.
89321
89322              Returns True if the subnet exists, otherwise returns False.
89323
89324              Changed in version 2015.8.0: Added subnet_name  argument  Depre‐
89325              cated name argument
89326
89327
89328              CLI Example:
89329
89330                 salt myminion boto_vpc.subnet_exists subnet_id='subnet-6a1fe403'
89331
89332   salt.modules.bower
89333   Manage and query Bower packages
89334       This module manages the installed packages using Bower.  Note that npm,
89335       git and bower must be installed for this module to be available.
89336
89337       salt.modules.bower.install(pkg, dir, pkgs=None, runas=None, env=None)
89338              Install a Bower package.
89339
89340              If no package is specified, the dependencies  (from  bower.json)
89341              of the package in the given directory will be installed.
89342
89343              pkg    A package name in any format accepted by Bower, including
89344                     a version identifier
89345
89346              dir    The target directory in which to install the package
89347
89348              pkgs   A list of package names in the same  format  as  the  pkg
89349                     parameter
89350
89351              runas  The user to run Bower with
89352
89353              env    Environment  variables  to  set when invoking Bower. Uses
89354                     the same env format as the cmd.run execution function.
89355
89356              CLI Example:
89357
89358                 salt '*' bower.install underscore /path/to/project
89359
89360                 salt '*' bower.install jquery#2.0 /path/to/project
89361
89362       salt.modules.bower.list_(dir, runas=None, env=None)
89363              List installed Bower packages.
89364
89365              dir    The directory whose packages will be listed
89366
89367              runas  The user to run Bower with
89368
89369              env    Environment variables to set when  invoking  Bower.  Uses
89370                     the same env format as the cmd.run execution function.
89371
89372              CLI Example:
89373
89374                 salt '*' bower.list /path/to/project
89375
89376       salt.modules.bower.prune(dir, runas=None, env=None)
89377              New in version 2017.7.0.
89378
89379
89380              Remove  extraneous  local  Bower packages, i.e. those not refer‐
89381              enced in bower.json
89382
89383              dir    The directory whose packages will be pruned
89384
89385              runas  The user to run Bower with
89386
89387              env    Environment variables to set when  invoking  Bower.  Uses
89388                     the same env format as the cmd.run execution function.
89389
89390              CLI Example:
89391
89392                 salt '*' bower.prune /path/to/project
89393
89394       salt.modules.bower.uninstall(pkg, dir, runas=None, env=None)
89395              Uninstall a Bower package.
89396
89397              pkg    A package name in any format accepted by Bower
89398
89399              dir    The target directory from which to uninstall the package
89400
89401              runas  The user to run Bower with
89402
89403              env    Environment  variables  to  set when invoking Bower. Uses
89404                     the same env format as the cmd.run execution function.
89405
89406              CLI Example:
89407
89408                 salt '*' bower.uninstall underscore /path/to/project
89409
89410   salt.modules.bridge
89411       Module for gathering and managing bridging information
89412
89413       salt.modules.bridge.add(br=None)
89414              Creates a bridge
89415
89416              CLI Example:
89417
89418                 salt '*' bridge.add br0
89419
89420       salt.modules.bridge.addif(br=None, iface=None)
89421              Adds an interface to a bridge
89422
89423              CLI Example:
89424
89425                 salt '*' bridge.addif br0 eth0
89426
89427       salt.modules.bridge.delete(br=None)
89428              Deletes a bridge
89429
89430              CLI Example:
89431
89432                 salt '*' bridge.delete br0
89433
89434       salt.modules.bridge.delif(br=None, iface=None)
89435              Removes an interface from a bridge
89436
89437              CLI Example:
89438
89439                 salt '*' bridge.delif br0 eth0
89440
89441       salt.modules.bridge.find_interfaces(*args)
89442              Returns the bridge to which the interfaces are bond to
89443
89444              CLI Example:
89445
89446                 salt '*' bridge.find_interfaces eth0 [eth1...]
89447
89448       salt.modules.bridge.interfaces(br=None)
89449              Returns interfaces attached to a bridge
89450
89451              CLI Example:
89452
89453                 salt '*' bridge.interfaces br0
89454
89455       salt.modules.bridge.list_()
89456              Returns the machine's bridges list
89457
89458              CLI Example:
89459
89460                 salt '*' bridge.list
89461
89462       salt.modules.bridge.show(br=None)
89463              Returns bridges interfaces along with enslaved  physical  inter‐
89464              faces.  If  no  interface  is given, all bridges are shown, else
89465              only the specified bridge values are returned.
89466
89467              CLI Example:
89468
89469                 salt '*' bridge.show
89470                 salt '*' bridge.show br0
89471
89472       salt.modules.bridge.stp(br=None, state=u'disable', iface=None)
89473              Sets Spanning Tree Protocol state for a bridge
89474
89475              CLI Example:
89476
89477                 salt '*' bridge.stp br0 enable
89478                 salt '*' bridge.stp br0 disable
89479
89480              For BSD-like operating systems, it is required to add the inter‐
89481              face on which to enable the STP.
89482
89483              CLI Example:
89484
89485                 salt '*' bridge.stp bridge0 enable fxp0
89486                 salt '*' bridge.stp bridge0 disable fxp0
89487
89488   salt.modules.bsd_shadow
89489       Manage the password database on BSD systems
89490
89491       IMPORTANT:
89492          If  you  feel  that Salt should be using this module to manage pass‐
89493          words on a minion, and it is using a different module (or  gives  an
89494          error similar to 'shadow.info' is not available), see here.
89495
89496       salt.modules.bsd_shadow.default_hash()
89497              Returns the default hash used for unset passwords
89498
89499              CLI Example:
89500
89501                 salt '*' shadow.default_hash
89502
89503       salt.modules.bsd_shadow.del_password(name)
89504              New in version 2015.8.2.
89505
89506
89507              Delete the password from name user
89508
89509              CLI Example:
89510
89511                 salt '*' shadow.del_password username
89512
89513       salt.modules.bsd_shadow.info(name)
89514              Return information for the specified user
89515
89516              CLI Example:
89517
89518                 salt '*' shadow.info someuser
89519
89520       salt.modules.bsd_shadow.set_change(name, change)
89521              Sets  the  time  at which the password expires (in seconds since
89522              the UNIX epoch). See man 8 usermod on NetBSD and OpenBSD or  man
89523              8 pw on FreeBSD.
89524
89525              A value of 0 sets the password to never expire.
89526
89527              CLI Example:
89528
89529                 salt '*' shadow.set_change username 1419980400
89530
89531       salt.modules.bsd_shadow.set_expire(name, expire)
89532              Sets the time at which the account expires (in seconds since the
89533              UNIX epoch). See man 8 usermod on NetBSD and OpenBSD or man 8 pw
89534              on FreeBSD.
89535
89536              A value of 0 sets the account to never expire.
89537
89538              CLI Example:
89539
89540                 salt '*' shadow.set_expire username 1419980400
89541
89542       salt.modules.bsd_shadow.set_password(name, password)
89543              Set  the password for a named user. The password must be a prop‐
89544              erly defined hash. The password hash can be generated with  this
89545              command:
89546
89547              python  -c  "import crypt; print crypt.crypt('password', cipher‐
89548              salt)"
89549
89550              NOTE:
89551                 When constructing the ciphersalt string, you must escape  any
89552                 dollar signs, to avoid them being interpolated by the shell.
89553
89554              'password'  is,  of  course,  the password for which you want to
89555              generate a hash.
89556
89557              ciphersalt is a combination of a cipher identifier, an  optional
89558              number  of  rounds,  and the cryptographic salt. The arrangement
89559              and format of these fields depends on the cipher and which  fla‐
89560              vor  of BSD you are using. For more information on this, see the
89561              manpage for  crpyt(3).  On  NetBSD,  additional  information  is
89562              available in passwd.conf(5).
89563
89564              It is important to make sure that a supported cipher is used.
89565
89566              CLI Example:
89567
89568                 salt '*' shadow.set_password someuser '$1$UYCIxa628.9qXjpQCjM4a..'
89569
89570   salt.modules.btrfs
89571       Module for managing BTRFS file systems.
89572
89573       salt.modules.btrfs.add(mountpoint, *devices, **kwargs)
89574              Add a devices to a BTRFS filesystem.
89575
89576              General options:
89577
89578              · nodiscard: Do not perform whole device TRIM
89579
89580              · force: Force overwrite existing filesystem on the disk
89581
89582              CLI Example:
89583
89584                 salt '*' btrfs.add /mountpoint /dev/sda1 /dev/sda2
89585
89586       salt.modules.btrfs.convert(device, permanent=False, keeplf=False)
89587              Convert ext2/3/4 to BTRFS. Device should be mounted.
89588
89589              Filesystem  can be converted temporarily so the further process‐
89590              ing and rollback is possible,  or  permanently,  where  previous
89591              extended  filesystem  image gets deleted. Please note, permanent
89592              conversion takes a while as BTRFS filesystem needs to  be  prop‐
89593              erly rebalanced afterwards.
89594
89595              General options:
89596
89597              · permanent: Specify if the migration should be permanent (false
89598                by default)
89599
89600              ·
89601
89602                keeplf: Keep lost+found of the partition (removed by default,
89603                       but still in the image, if not permanent migration)
89604
89605              CLI Example:
89606
89607                 salt '*' btrfs.convert /dev/sda1
89608                 salt '*' btrfs.convert /dev/sda1 permanent=True
89609
89610       salt.modules.btrfs.defragment(path)
89611              Defragment mounted BTRFS filesystem.  In order to  defragment  a
89612              filesystem, device should be properly mounted and writable.
89613
89614              If  passed  a  device  name, then defragmented whole filesystem,
89615              mounted on in.  If passed a moun tpoint of the filesystem,  then
89616              only this mount point is defragmented.
89617
89618              CLI Example:
89619
89620                 salt '*' btrfs.defragment /dev/sda1
89621                 salt '*' btrfs.defragment /path/on/filesystem
89622
89623       salt.modules.btrfs.delete(mountpoint, *devices, **kwargs)
89624              Remove devices from a BTRFS filesystem.
89625
89626              CLI Example:
89627
89628                 salt '*' btrfs.delete /mountpoint /dev/sda1 /dev/sda2
89629
89630       salt.modules.btrfs.devices()
89631              Get known BTRFS formatted devices on the system.
89632
89633              CLI Example:
89634
89635                 salt '*' btrfs.devices
89636
89637       salt.modules.btrfs.features()
89638              List currently available BTRFS features.
89639
89640              CLI Example:
89641
89642                 salt '*' btrfs.mkfs_features
89643
89644       salt.modules.btrfs.info(device)
89645              Get BTRFS filesystem information.
89646
89647              CLI Example:
89648
89649                 salt '*' btrfs.info /dev/sda1
89650
89651       salt.modules.btrfs.mkfs(*devices, **kwargs)
89652              Create  a  file system on the specified device. By default wipes
89653              out with force.
89654
89655              General options:
89656
89657              · allocsize: Specify the BTRFS offset  from  the  start  of  the
89658                device.
89659
89660              · bytecount: Specify the size of the resultant filesystem.
89661
89662              · nodesize: Node size.
89663
89664              · leafsize:  Specify  the nodesize, the tree block size in which
89665                btrfs stores data.
89666
89667              · noforce: Prevent force overwrite when an  existing  filesystem
89668                is detected on the device.
89669
89670              · sectorsize:  Specify  the  sectorsize,  the minimum data block
89671                allocation unit.
89672
89673              · nodiscard: Do not  perform  whole  device  TRIM  operation  by
89674                default.
89675
89676              · uuid: Pass UUID or pass True to generate one.
89677
89678              Options:
89679
89680              ·
89681
89682                dto: (raid0|raid1|raid5|raid6|raid10|single|dup)
89683                       Specify how the data must be spanned across the devices
89684                       specified.
89685
89686              ·
89687
89688                mto: (raid0|raid1|raid5|raid6|raid10|single|dup)
89689                       Specify how metadata must be spanned across the devices
89690                       specified.
89691
89692              · fts:  Features  (call salt <host> btrfs.features for full list
89693                of available features)
89694
89695              See the mkfs.btrfs(8) manpage for a more complete description of
89696              corresponding options description.
89697
89698              CLI Example:
89699
89700                 salt '*' btrfs.mkfs /dev/sda1
89701                 salt '*' btrfs.mkfs /dev/sda1 noforce=True
89702
89703       salt.modules.btrfs.properties(obj, type=None, set=None)
89704              List  properties  for given btrfs object. The object can be path
89705              of BTRFS device, mount point, or  any  directories/files  inside
89706              the BTRFS filesystem.
89707
89708              General options:
89709
89710              · type:  Possible  types are s[ubvol], f[ilesystem], i[node] and
89711                d[evice].
89712
89713              · force: Force overwrite existing filesystem on the disk
89714
89715              · set: <key=value,key1=value1...> Options for a filesystem prop‐
89716                erties.
89717
89718              CLI Example:
89719
89720                 salt '*' btrfs.properties /mountpoint
89721                 salt '*' btrfs.properties /dev/sda1 type=subvol set='ro=false,label="My Storage"'
89722
89723       salt.modules.btrfs.resize(mountpoint, size)
89724              Resize filesystem.
89725
89726              General options:
89727
89728              · mountpoint: Specify the BTRFS mountpoint to resize.
89729
89730              · size:  ([+/-]<newsize>[kKmMgGtTpPeE]|max) Specify the new size
89731                of the target.
89732
89733              CLI Example:
89734
89735                 salt '*' btrfs.resize /mountpoint size=+1g
89736                 salt '*' btrfs.resize /dev/sda1 size=max
89737
89738       salt.modules.btrfs.subvolume_create(name, dest=None, qgroupids=None)
89739              Create subvolume name in dest.
89740
89741              Return True if the subvolume is created, False is the  subvolume
89742              is already there.
89743
89744              name   Name of the new subvolume
89745
89746              dest   If  not  given, the subvolume will be created in the cur‐
89747                     rent directory, if given will be in /dest/name
89748
89749              qgroupids
89750                     Add the newly created subcolume to a qgroup. This parame‐
89751                     ter is a list
89752
89753              CLI Example:
89754
89755                 salt '*' btrfs.subvolume_create var
89756                 salt '*' btrfs.subvolume_create var dest=/mnt
89757                 salt '*' btrfs.subvolume_create var qgroupids='[200]'
89758
89759       salt.modules.btrfs.subvolume_delete(name=None, names=None, commit=None)
89760              Delete the subvolume(s) from the filesystem
89761
89762              The  user  can remove one single subvolume (name) or multiple of
89763              then at the same time (names). One of the two  parameters  needs
89764              to specified.
89765
89766              Please, refer to the documentation to understand the implication
89767              on the transactions, and when the subvolume is really deleted.
89768
89769              Return True if the subvolume is deleted, False is the  subvolume
89770              was already missing.
89771
89772              name   Name of the subvolume to remove
89773
89774              names  List of names of subvolumes to remove
89775
89776              commit
89777
89778                     · 'after': Wait for transaction commit at the end
89779
89780                     · 'each': Wait for transaction commit after each delete
89781
89782              CLI Example:
89783
89784                 salt '*' btrfs.subvolume_delete /var/volumes/tmp
89785                 salt '*' btrfs.subvolume_delete /var/volumes/tmp commit=after
89786
89787       salt.modules.btrfs.subvolume_exists(path)
89788              Check if a subvolume is present in the filesystem.
89789
89790              path   Mount point for the subvolume (full path)
89791
89792              CLI Example:
89793
89794                 salt '*' btrfs.subvolume_exists /mnt/var
89795
89796       salt.modules.btrfs.subvolume_find_new(name, last_gen)
89797              List the recently modified files in a subvolume
89798
89799              name   Name of the subvolume
89800
89801              last_gen
89802                     Last transid marker from where to compare
89803
89804              CLI Example:
89805
89806                 salt '*' btrfs.subvolume_find_new /var/volumes/tmp 1024
89807
89808       salt.modules.btrfs.subvolume_get_default(path)
89809              Get the default subvolume of the filesystem path
89810
89811              path   Mount point for the subvolume
89812
89813              CLI Example:
89814
89815                 salt '*' btrfs.subvolume_get_default /var/volumes/tmp
89816
89817       salt.modules.btrfs.subvolume_list(path,      parent_id=False,     abso‐
89818       lute=False,  ogeneration=False,   generation=False,   subvolumes=False,
89819       uuid=False,    parent_uuid=False,    sent_subvolume_uuid=False,   snap‐
89820       shots=False, readonly=False, deleted=False, generation_cmp=None,  ogen‐
89821       eration_cmp=None, sort=None)
89822              List the subvolumes present in the filesystem.
89823
89824              path   Mount point for the subvolume
89825
89826              parent_id
89827                     Print parent ID
89828
89829              absolute
89830                     Print  all  the  subvolumes in the filesystem and distin‐
89831                     guish between absolute and relative path with respect  to
89832                     the given <path>
89833
89834              ogeneration
89835                     Print the ogeneration of the subvolume
89836
89837              generation
89838                     Print the generation of the subvolume
89839
89840              subvolumes
89841                     Print only subvolumes below specified <path>
89842
89843              uuid   Print the UUID of the subvolume
89844
89845              parent_uuid
89846                     Print the parent uuid of subvolumes (and snapshots)
89847
89848              sent_subvolume_uuid
89849                     Print the UUID of the sent subvolume, where the subvolume
89850                     is the result of a receive operation
89851
89852              snapshots
89853                     Only snapshot subvolumes in the filesystem will be listed
89854
89855              readonly
89856                     Only readonly subvolumes in the filesystem will be listed
89857
89858              deleted
89859                     Only deleted subvolumens that are ye not cleaned
89860
89861              generation_cmp
89862                     List subvolumes in the filesystem that its generation  is
89863                     >=,  <=  or  =  value.  '+'  means >= value, '-' means <=
89864                     value, If there is neither '+' nor '-', it means = value
89865
89866              ogeneration_cmp
89867                     List subvolumes in the filesystem that its ogeneration is
89868                     >=, <= or = value
89869
89870              sort   List  subvolumes  in  order  by specified items. Possible
89871                     values: * rootid * gen * ogen * path You can add  '+'  or
89872                     '-'  in  front  of  each  items, '+' means ascending, '-'
89873                     means descending. The default is ascending. You can  com‐
89874                     bite it in a list.
89875
89876              CLI Example:
89877
89878                 salt '*' btrfs.subvolume_list /var/volumes/tmp
89879                 salt '*' btrfs.subvolume_list /var/volumes/tmp path=True
89880                 salt '*' btrfs.subvolume_list /var/volumes/tmp sort='[-rootid]'
89881
89882       salt.modules.btrfs.subvolume_set_default(subvolid, path)
89883              Set the subvolume as default
89884
89885              subvolid
89886                     ID of the new default subvolume
89887
89888              path   Mount point for the filesystem
89889
89890              CLI Example:
89891
89892                 salt '*' btrfs.subvolume_set_default 257 /var/volumes/tmp
89893
89894       salt.modules.btrfs.subvolume_show(path)
89895              Show information of a given subvolume
89896
89897              path   Mount point for the filesystem
89898
89899              CLI Example:
89900
89901                 salt '*' btrfs.subvolume_show /var/volumes/tmp
89902
89903       salt.modules.btrfs.subvolume_snapshot(source,   dest=None,   name=None,
89904       read_only=False)
89905              Create a snapshot of a source subvolume
89906
89907              source Source subvolume from where to create the snapshot
89908
89909              dest   If only dest is given, the subvolume will be named as the
89910                     basename of the source
89911
89912              name   Name of the snapshot
89913
89914              read_only
89915                     Create a read only snapshot
89916
89917              CLI Example:
89918
89919                 salt '*' btrfs.subvolume_snapshot /var/volumes/tmp dest=/.snapshots
89920                 salt '*' btrfs.subvolume_snapshot /var/volumes/tmp name=backup
89921
89922       salt.modules.btrfs.subvolume_sync(path, subvolids=None, sleep=None)
89923              Wait  until  given  subvolume  are  completely  removed from the
89924              filesystem after deletion.
89925
89926              path   Mount point for the filesystem
89927
89928              subvolids
89929                     List of IDs of subvolumes to wait for
89930
89931              sleep  Sleep N seconds betwenn checks (default: 1)
89932
89933              CLI Example:
89934
89935                 salt '*' btrfs.subvolume_sync /var/volumes/tmp
89936                 salt '*' btrfs.subvolume_sync /var/volumes/tmp subvolids='[257]'
89937
89938       salt.modules.btrfs.usage(path)
89939              Show in which disk the chunks are allocated.
89940
89941              CLI Example:
89942
89943                 salt '*' btrfs.usage /your/mountpoint
89944
89945       salt.modules.btrfs.version()
89946              Return BTRFS version.
89947
89948              CLI Example:
89949
89950                 salt '*' btrfs.version
89951
89952   salt.modules.cabal
89953   Manage and query Cabal packages
89954       New in version 2015.8.0.
89955
89956
89957       salt.modules.cabal.install(pkg=None,       pkgs=None,        user=None,
89958       install_global=False, env=None)
89959              Install a cabal package.
89960
89961              pkg    A  package name in format accepted by cabal-install. See:
89962                     https://wiki.haskell.org/Cabal-Install
89963
89964              pkgs   A list of packages names in same format as pkg
89965
89966              user   The user to run cabal install with
89967
89968              install_global
89969                     Install package globally instead of locally
89970
89971              env    Environment variables to set when  invoking  cabal.  Uses
89972                     the same env format as the cmd.run execution function
89973
89974              CLI Example:
89975
89976                 salt '*' cabal.install shellcheck
89977                 salt '*' cabal.install shellcheck-0.3.5
89978
89979       salt.modules.cabal.list_(pkg=None,      user=None,     installed=False,
89980       env=None)
89981              List packages matching a search string.
89982
89983              pkg    Search string for matching package names
89984
89985              user   The user to run cabal list with
89986
89987              installed
89988                     If True, only return installed packages.
89989
89990              env    Environment variables to set when  invoking  cabal.  Uses
89991                     the same env format as the cmd.run execution function
89992
89993              CLI example:
89994
89995                 salt '*' cabal.list
89996                 salt '*' cabal.list ShellCheck
89997
89998       salt.modules.cabal.uninstall(pkg, user=None, env=None)
89999              Uninstall a cabal package.
90000
90001              pkg    The package to uninstall
90002
90003              user   The user to run ghc-pkg unregister with
90004
90005              env    Environment  variables  to  set when invoking cabal. Uses
90006                     the same env format as the cmd.run execution function
90007
90008              CLI Example:
90009
90010                 salt '*' cabal.uninstall ShellCheck
90011
90012       salt.modules.cabal.update(user=None, env=None)
90013              Updates list of known packages.
90014
90015              user   The user to run cabal update with
90016
90017              env    Environment variables to set when  invoking  cabal.  Uses
90018                     the same env format as the cmd.run execution function.
90019
90020              CLI Example:
90021
90022                 salt '*' cabal.update
90023
90024   salt.modules.capirca_acl module
90025   Capirca ACL
90026       Generate ACL (firewall) configuration for network devices.
90027
90028       New in version 2017.7.0.
90029
90030
90031       codeauthor
90032              Mircea   Ulinic   <ping@mirceaulinic.net>  &  Robert  Ankeny  <‐
90033              robankeny@google.com>
90034
90035       maturity
90036              new
90037
90038       depends
90039              capirca
90040
90041       platform
90042              unix
90043
90044   Dependencies
90045       The firewall configuration is generated by Capirca.
90046
90047       To install Capirca, execute: pip install capirca.
90048
90049       salt.modules.capirca_acl.get_filter_config(platform, filter_name,  fil‐
90050       ter_options=None,  terms=None,  prepend=True,  pillar_key=u'acl',  pil‐
90051       larenv=None, saltenv=None,  merge_pillar=True,  only_lower_merge=False,
90052       revision_id=None,     revision_no=None,    revision_date=True,    revi‐
90053       sion_date_format=u'%Y/%m/%d')
90054              Return the configuration of a policy filter.
90055
90056              platform
90057                     The name of the Capirca platform.
90058
90059              filter_name
90060                     The name of the policy filter.
90061
90062              filter_options
90063                     Additional  filter  options.  These  options  are   plat‐
90064                     form-specific.  See the complete list of options.
90065
90066              terms  List  of  terms for this policy filter.  If not specified
90067                     or empty, will try to load  the  configuration  from  the
90068                     pillar, unless merge_pillar is set as False.
90069
90070              prepend: True
90071                     When merge_pillar is set as True, the final list of terms
90072                     generated by merging the  terms  from  terms  with  those
90073                     defined  in  the pillar (if any): new terms are prepended
90074                     at the beginning, while existing ones will  preserve  the
90075                     position.  To  add  the new terms at the end of the list,
90076                     set this argument to False.
90077
90078              pillar_key: acl
90079                     The key in the pillar containing the  default  attributes
90080                     values. Default: acl.
90081
90082              pillarenv
90083                     Query  the  master  to  generate fresh pillar data on the
90084                     fly, specifically from the requested pillar environment.
90085
90086              saltenv
90087                     Included    only    for    compatibility    with     pil‐
90088                     larenv_from_saltenv, and is otherwise ignored.
90089
90090              merge_pillar: True
90091                     Merge the CLI variables with the pillar. Default: True.
90092
90093              only_lower_merge: False
90094                     Specify  if it should merge only the terms fields. Other‐
90095                     wise it will try to merge also filters  fields.  Default:
90096                     False.
90097
90098              revision_id
90099                     Add a comment in the filter config having the description
90100                     for the changes applied.
90101
90102              revision_no
90103                     The revision count.
90104
90105              revision_date: True
90106                     Boolean flag: display the date when the filter configura‐
90107                     tion was generated. Default: True.
90108
90109              revision_date_format: %Y/%m/%d
90110                     The  date  format to be used when generating the perforce
90111                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
90112
90113              CLI Example:
90114
90115                 salt '*' capirca.get_filter_config ciscoxr my-filter pillar_key=netacl
90116
90117              Output Example:
90118
90119                 ! $Id:$
90120                 ! $Date:$
90121                 ! $Revision:$
90122                 no ipv4 access-list my-filter
90123                 ipv4 access-list my-filter
90124                  remark $Id:$
90125                  remark my-term
90126                  deny ipv4 any eq 1234 any
90127                  deny ipv4 any eq 1235 any
90128                  remark my-other-term
90129                  permit tcp any range 5678 5680 any
90130                 exit
90131
90132              The filter configuration has been loaded from the pillar, having
90133              the following structure:
90134
90135                 netacl:
90136                   - my-filter:
90137                       terms:
90138                         - my-term:
90139                             source_port: [1234, 1235]
90140                             action: reject
90141                         - my-other-term:
90142                             source_port:
90143                               - [5678, 5680]
90144                             protocol: tcp
90145                             action: accept
90146
90147       salt.modules.capirca_acl.get_filter_pillar(filter_name,            pil‐
90148       lar_key=u'acl', pillarenv=None, saltenv=None)
90149              Helper that can be used inside a state SLS, in order to get  the
90150              filter configuration given its name.
90151
90152              filter_name
90153                     The name of the filter.
90154
90155              pillar_key
90156                     The root key of the whole policy config.
90157
90158              pillarenv
90159                     Query  the  master  to  generate fresh pillar data on the
90160                     fly, specifically from the requested pillar environment.
90161
90162              saltenv
90163                     Included    only    for    compatibility    with     pil‐
90164                     larenv_from_saltenv, and is otherwise ignored.
90165
90166       salt.modules.capirca_acl.get_policy_config(platform,      filters=None,
90167       prepend=True,    pillar_key=u'acl',    pillarenv=None,    saltenv=None,
90168       merge_pillar=True,   only_lower_merge=False,   revision_id=None,  revi‐
90169       sion_no=None, revision_date=True, revision_date_format=u'%Y/%m/%d')
90170              Return the configuration of the whole policy.
90171
90172              platform
90173                     The name of the Capirca platform.
90174
90175              filters
90176                     List of filters for this policy.   If  not  specified  or
90177                     empty,  will  try to load the configuration from the pil‐
90178                     lar, unless merge_pillar is set as False.
90179
90180              prepend: True
90181                     When merge_pillar is set as True, the final list of  fil‐
90182                     ters  generated  by merging the filters from filters with
90183                     those defined in the pillar (if  any):  new  filters  are
90184                     prepended at the beginning, while existing ones will pre‐
90185                     serve the position. To add the new filters at the end  of
90186                     the list, set this argument to False.
90187
90188              pillar_key: acl
90189                     The  key  in the pillar containing the default attributes
90190                     values. Default: acl.
90191
90192              pillarenv
90193                     Query the master to generate fresh  pillar  data  on  the
90194                     fly, specifically from the requested pillar environment.
90195
90196              saltenv
90197                     Included     only    for    compatibility    with    pil‐
90198                     larenv_from_saltenv, and is otherwise ignored.
90199
90200              merge_pillar: True
90201                     Merge the CLI variables with the pillar. Default: True.
90202
90203              only_lower_merge: False
90204                     Specify if it should merge only  the  filters  and  terms
90205                     fields.  Otherwise it will try to merge everything at the
90206                     policy level. Default: False.
90207
90208              revision_id
90209                     Add a comment in the policy config having the description
90210                     for the changes applied.
90211
90212              revision_no
90213                     The revision count.
90214
90215              revision_date: True
90216                     Boolean flag: display the date when the policy configura‐
90217                     tion was generated. Default: True.
90218
90219              revision_date_format: %Y/%m/%d
90220                     The date format to be used when generating  the  perforce
90221                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
90222
90223              CLI Example:
90224
90225                 salt '*' capirca.get_policy_config juniper pillar_key=netacl
90226
90227              Output Example:
90228
90229                 firewall {
90230                     family inet {
90231                         replace:
90232                         /*
90233                         ** $Id:$
90234                         ** $Date:$
90235                         ** $Revision:$
90236                         **
90237                         */
90238                         filter my-filter {
90239                             term my-term {
90240                                 from {
90241                                     source-port [ 1234 1235 ];
90242                                 }
90243                                 then {
90244                                     reject;
90245                                 }
90246                             }
90247                             term my-other-term {
90248                                 from {
90249                                     protocol tcp;
90250                                     source-port 5678-5680;
90251                                 }
90252                                 then accept;
90253                             }
90254                         }
90255                     }
90256                 }
90257                 firewall {
90258                     family inet {
90259                         replace:
90260                         /*
90261                         ** $Id:$
90262                         ** $Date:$
90263                         ** $Revision:$
90264                         **
90265                         */
90266                         filter my-other-filter {
90267                             interface-specific;
90268                             term dummy-term {
90269                                 from {
90270                                     protocol [ tcp udp ];
90271                                 }
90272                                 then {
90273                                     reject;
90274                                 }
90275                             }
90276                         }
90277                     }
90278                 }
90279
90280              The policy configuration has been loaded from the pillar, having
90281              the following structure:
90282
90283                 netacl:
90284                   - my-filter:
90285                       options:
90286                         - not-interface-specific
90287                       terms:
90288                         - my-term:
90289                             source_port: [1234, 1235]
90290                             action: reject
90291                         - my-other-term:
90292                             source_port:
90293                               - [5678, 5680]
90294                             protocol: tcp
90295                             action: accept
90296                   - my-other-filter:
90297                       terms:
90298                         - dummy-term:
90299                             protocol:
90300                               - tcp
90301                               - udp
90302                             action: reject
90303
90304       salt.modules.capirca_acl.get_term_config(platform,         filter_name,
90305       term_name,   filter_options=None,   pillar_key=u'acl',  pillarenv=None,
90306       saltenv=None,  merge_pillar=True,  revision_id=None,  revision_no=None,
90307       revision_date=True,    revision_date_format=u'%Y/%m/%d',    source_ser‐
90308       vice=None, destination_service=None, **term_fields)
90309              Return the configuration of a single policy term.
90310
90311              platform
90312                     The name of the Capirca platform.
90313
90314              filter_name
90315                     The name of the policy filter.
90316
90317              term_name
90318                     The name of the term.
90319
90320              filter_options
90321                     Additional  filter  options.  These  options  are   plat‐
90322                     form-specific.   E.g.:  inet6,  bridge, object-group, See
90323                     the complete list of options.
90324
90325              pillar_key: acl
90326                     The key in the pillar containing the  default  attributes
90327                     values. Default: acl.  If the pillar contains the follow‐
90328                     ing structure:
90329
90330                        firewall:
90331                          - my-filter:
90332                              terms:
90333                                - my-term:
90334                                    source_port: 1234
90335                                    source_address:
90336                                        - 1.2.3.4/32
90337                                        - 5.6.7.8/32
90338
90339                     The pillar_key field would be specified as firewall.
90340
90341              pillarenv
90342                     Query the master to generate fresh  pillar  data  on  the
90343                     fly, specifically from the requested pillar environment.
90344
90345              saltenv
90346                     Included     only    for    compatibility    with    pil‐
90347                     larenv_from_saltenv, and is otherwise ignored.
90348
90349              merge_pillar: True
90350                     Merge the CLI variables with the pillar. Default: True.
90351
90352              revision_id
90353                     Add a comment in the term config having  the  description
90354                     for the changes applied.
90355
90356              revision_no
90357                     The revision count.
90358
90359              revision_date: True
90360                     Boolean  flag:  display the date when the term configura‐
90361                     tion was generated. Default: True.
90362
90363              revision_date_format: %Y/%m/%d
90364                     The date format to be used when generating  the  perforce
90365                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
90366
90367              source_service
90368                     A special service to choose from. This is a helper so the
90369                     user is able to select a  source  just  using  the  name,
90370                     instead of specifying a source_port and protocol.
90371
90372                     As  this  module  is available on Unix platforms only, it
90373                     reads the IANA port assignment from /etc/services.
90374
90375                     If the user requires additional shortcuts  to  be  refer‐
90376                     enced,  they  can  add entries under /etc/services, which
90377                     can be managed using the file state.
90378
90379              destination_service
90380                     A special service to choose from. This is a helper so the
90381                     user  is  able  to  select  a source just using the name,
90382                     instead of specifying a  destination_port  and  protocol.
90383                     Allows the same options as source_service.
90384
90385              term_fields
90386                     Term  attributes.   To  see  what  fields  are supported,
90387                     please consult the  list  of  supported  keywords.   Some
90388                     platforms have few other optional keywords.
90389
90390              NOTE:
90391                 The following fields are accepted:
90392
90393                 · action
90394
90395                 · address
90396
90397                 · address_exclude
90398
90399                 · comment
90400
90401                 · counter
90402
90403                 · expiration
90404
90405                 · destination_address
90406
90407                 · destination_address_exclude
90408
90409                 · destination_port
90410
90411                 · destination_prefix
90412
90413                 · forwarding_class
90414
90415                 · forwarding_class_except
90416
90417                 · logging
90418
90419                 · log_name
90420
90421                 · loss_priority
90422
90423                 · option
90424
90425                 · policer
90426
90427                 · port
90428
90429                 · precedence
90430
90431                 · principals
90432
90433                 · protocol
90434
90435                 · protocol_except
90436
90437                 · qos
90438
90439                 · pan_application
90440
90441                 · routing_instance
90442
90443                 · source_address
90444
90445                 · source_address_exclude
90446
90447                 · source_port
90448
90449                 · source_prefix
90450
90451                 · verbatim
90452
90453                 · packet_length
90454
90455                 · fragment_offset
90456
90457                 · hop_limit
90458
90459                 · icmp_type
90460
90461                 · ether_type
90462
90463                 · traffic_class_count
90464
90465                 · traffic_type
90466
90467                 · translated
90468
90469                 · dscp_set
90470
90471                 · dscp_match
90472
90473                 · dscp_except
90474
90475                 · next_ip
90476
90477                 · flexible_match_range
90478
90479                 · source_prefix_except
90480
90481                 · destination_prefix_except
90482
90483                 · vpn
90484
90485                 · source_tag
90486
90487                 · destination_tag
90488
90489                 · source_interface
90490
90491                 · destination_interface
90492
90493                 · flattened
90494
90495                 · flattened_addr
90496
90497                 · flattened_saddr
90498
90499                 · flattened_daddr
90500
90501                 · priority
90502
90503              NOTE:
90504                 The following fields can be also a single value and a list of
90505                 values:
90506
90507                 · action
90508
90509                 · address
90510
90511                 · address_exclude
90512
90513                 · comment
90514
90515                 · destination_address
90516
90517                 · destination_address_exclude
90518
90519                 · destination_port
90520
90521                 · destination_prefix
90522
90523                 · forwarding_class
90524
90525                 · forwarding_class_except
90526
90527                 · logging
90528
90529                 · option
90530
90531                 · port
90532
90533                 · precedence
90534
90535                 · principals
90536
90537                 · protocol
90538
90539                 · protocol_except
90540
90541                 · pan_application
90542
90543                 · source_address
90544
90545                 · source_address_exclude
90546
90547                 · source_port
90548
90549                 · source_prefix
90550
90551                 · verbatim
90552
90553                 · icmp_type
90554
90555                 · ether_type
90556
90557                 · traffic_type
90558
90559                 · dscp_match
90560
90561                 · dscp_except
90562
90563                 · flexible_match_range
90564
90565                 · source_prefix_except
90566
90567                 · destination_prefix_except
90568
90569                 · source_tag
90570
90571                 · destination_tag
90572
90573                 · source_service
90574
90575                 · destination_service
90576
90577                 Example: destination_address can be either defined as:
90578
90579                     destination_address: 172.17.17.1/24
90580
90581                 or as a list of destination IP addresses:
90582
90583                     destination_address:
90584                         - 172.17.17.1/24
90585                         - 172.17.19.1/24
90586
90587                 or a list of services to be matched:
90588
90589                     source_service:
90590                         - ntp
90591                         - snmp
90592                         - ldap
90593                         - bgpd
90594
90595              NOTE:
90596                 The port fields source_port and destination_port can be  used
90597                 as  above  to  select either a single value, either a list of
90598                 values, but also they can select port ranges. Example:
90599
90600                     source_port:
90601                         - [1000, 2000]
90602                         - [3000, 4000]
90603
90604                 With the configuration above, the user is able to select  the
90605                 1000-2000 and 3000-4000 source port ranges.
90606
90607              CLI Example:
90608
90609                 salt '*' capirca.get_term_config arista filter-name term-name source_address=1.2.3.4 destination_address=5.6.7.8 action=accept
90610
90611              Output Example:
90612
90613                 ! $Date: 2017/03/22 $
90614                 no ip access-list filter-name
90615                 ip access-list filter-name
90616                  remark term-name
90617                  permit ip host 1.2.3.4 host 5.6.7.8
90618                 exit
90619
90620       salt.modules.capirca_acl.get_term_pillar(filter_name,  term_name,  pil‐
90621       lar_key=u'acl', pillarenv=None, saltenv=None)
90622              Helper that can be used inside a state SLS, in order to get  the
90623              term  configuration  given  its  name,  under  a  certain filter
90624              uniquely identified by its name.
90625
90626              filter_name
90627                     The name of the filter.
90628
90629              term_name
90630                     The name of the term.
90631
90632              pillar_key: acl
90633                     The root key of the whole policy config. Default: acl.
90634
90635              pillarenv
90636                     Query the master to generate fresh  pillar  data  on  the
90637                     fly, specifically from the requested pillar environment.
90638
90639              saltenv
90640                     Included     only    for    compatibility    with    pil‐
90641                     larenv_from_saltenv, and is otherwise ignored.
90642
90643   salt.modules.cassandra
90644       Cassandra NoSQL Database Module
90645
90646       depends
90647
90648              · pycassa Cassandra Python adapter
90649
90650       configuration
90651              The location of the 'nodetool' command, host,  and  thrift  port
90652              needs to be specified via pillar:
90653
90654                 cassandra.nodetool: /usr/local/bin/nodetool
90655                 cassandra.host: localhost
90656                 cassandra.thrift_port: 9160
90657
90658       salt.modules.cassandra.column_families(keyspace=None)
90659              Return  existing  column  families for all keyspaces or just the
90660              provided one.
90661
90662              CLI Example:
90663
90664                 salt '*' cassandra.column_families
90665                 salt '*' cassandra.column_families <keyspace>
90666
90667       salt.modules.cassandra.column_family_definition(keyspace,   column_fam‐
90668       ily)
90669              Return  a  dictionary of column family definitions for the given
90670              keyspace/column_family
90671
90672              CLI Example:
90673
90674                 salt '*' cassandra.column_family_definition <keyspace> <column_family>
90675
90676       salt.modules.cassandra.compactionstats()
90677              Return compactionstats info
90678
90679              CLI Example:
90680
90681                 salt '*' cassandra.compactionstats
90682
90683       salt.modules.cassandra.info()
90684              Return cassandra node info
90685
90686              CLI Example:
90687
90688                 salt '*' cassandra.info
90689
90690       salt.modules.cassandra.keyspaces()
90691              Return existing keyspaces
90692
90693              CLI Example:
90694
90695                 salt '*' cassandra.keyspaces
90696
90697       salt.modules.cassandra.netstats()
90698              Return netstats info
90699
90700              CLI Example:
90701
90702                 salt '*' cassandra.netstats
90703
90704       salt.modules.cassandra.ring()
90705              Return cassandra ring info
90706
90707              CLI Example:
90708
90709                 salt '*' cassandra.ring
90710
90711       salt.modules.cassandra.tpstats()
90712              Return tpstats info
90713
90714              CLI Example:
90715
90716                 salt '*' cassandra.tpstats
90717
90718       salt.modules.cassandra.version()
90719              Return the cassandra version
90720
90721              CLI Example:
90722
90723                 salt '*' cassandra.version
90724
90725   salt.modules.cassandra_cql
90726       Cassandra Database Module
90727
90728       New in version 2015.5.0.
90729
90730
90731       This module works with Cassandra v2 and v3 and hence generates  queries
90732       based on the internal schema of said version.
90733
90734       depends
90735              DataStax      Python     Driver     for     Apache     Cassandra
90736              https://github.com/datastax/python-driver  pip  install  cassan‐
90737              dra-driver
90738
90739       referenced by
90740              Salt's cassandra_cql returner
90741
90742       configuration
90743              The  Cassandra cluster members and connection port can either be
90744              specified in the master or minion config, the minion's pillar or
90745              be passed to the module.
90746
90747              Example configuration in the config for a single node:
90748
90749                 cassandra:
90750                   cluster: 192.168.50.10
90751                   port: 9000
90752
90753              Example configuration in the config for a cluster:
90754
90755                 cassandra:
90756                   cluster:
90757                     - 192.168.50.10
90758                     - 192.168.50.11
90759                     - 192.168.50.12
90760                   port: 9000
90761                   username: cas_admin
90762
90763              Changed in version 2016.11.0.
90764
90765
90766              Added support for ssl_options and protocol_version.
90767
90768              Example configuration with ssl options:
90769
90770              If ssl_options are present in cassandra config the cassandra_cql
90771              returner will use SSL. SSL isn't used if ssl_options isn't spec‐
90772              ified.
90773
90774                 cassandra:
90775                   cluster:
90776                     - 192.168.50.10
90777                     - 192.168.50.11
90778                     - 192.168.50.12
90779                   port: 9000
90780                   username: cas_admin
90781
90782                   ssl_options:
90783                     ca_certs: /etc/ssl/certs/ca-bundle.trust.crt
90784
90785                     # SSL version should be one from the ssl module
90786                     # This is an optional parameter
90787                     ssl_version: PROTOCOL_TLSv1
90788
90789              Additionally you can also specify the protocol_version to use.
90790
90791                 cassandra:
90792                   cluster:
90793                     - 192.168.50.10
90794                     - 192.168.50.11
90795                     - 192.168.50.12
90796                   port: 9000
90797                   username: cas_admin
90798
90799                   # defaults to 4, if not set
90800                   protocol_version: 3
90801
90802       salt.modules.cassandra_cql.cql_query(query,        contact_points=None,
90803       port=None, cql_user=None, cql_pass=None)
90804              Run a query on a Cassandra cluster and return a dictionary.
90805
90806              Parameters
90807
90808                     · query (str) -- The query to execute.
90809
90810                     · contact_points (str | list[str]) -- The Cassandra clus‐
90811                       ter addresses, can either be a string or a list of IPs.
90812
90813                     · cql_user  (str) -- The Cassandra user if authentication
90814                       is turned on.
90815
90816                     · cql_pass  (str)  --  The  Cassandra  user  password  if
90817                       authentication is turned on.
90818
90819                     · port  (int)  -- The Cassandra cluster port, defaults to
90820                       None.
90821
90822                     · params (str) -- The parameters for the query, optional.
90823
90824              Returns
90825                     A dictionary from the return values of the query
90826
90827              Return type
90828                     list[dict]
90829
90830              CLI Example:
90831
90832                 salt 'cassandra-server' cassandra_cql.cql_query "SELECT * FROM users_by_name WHERE first_name = 'jane'"
90833
90834       salt.modules.cassandra_cql.cql_query_with_prepare(query,         state‐
90835       ment_name,      statement_arguments,     callback_errors=None,     con‐
90836       tact_points=None, port=None, cql_user=None, cql_pass=None, **kwargs)
90837              Run a query on a Cassandra cluster and return a dictionary.
90838
90839              This function should not be used asynchronously for  SELECTs  --
90840              it will not return anything and we don't currently have a mecha‐
90841              nism for handling a future that will return results.
90842
90843              Parameters
90844
90845                     · query (str) -- The query to execute.
90846
90847                     · statement_name (str) -- Name  to  assign  the  prepared
90848                       statement in the __context__ dictionary
90849
90850                     · statement_arguments  (list[str]) -- Bind parameters for
90851                       the SQL statement
90852
90853                     · async (bool) -- Run this query in asynchronous mode
90854
90855                     · callback_errors (Function callable) -- Function to call
90856                       after query runs if there is an error
90857
90858                     · contact_points (str | list[str]) -- The Cassandra clus‐
90859                       ter addresses, can either be a string or a list of IPs.
90860
90861                     · cql_user (str) -- The Cassandra user if  authentication
90862                       is turned on.
90863
90864                     · cql_pass  (str)  --  The  Cassandra  user  password  if
90865                       authentication is turned on.
90866
90867                     · port (int) -- The Cassandra cluster port,  defaults  to
90868                       None.
90869
90870                     · params (str) -- The parameters for the query, optional.
90871
90872              Returns
90873                     A dictionary from the return values of the query
90874
90875              Return type
90876                     list[dict]
90877
90878              CLI Example:
90879
90880                 # Insert data asynchronously
90881                 salt this-node cassandra_cql.cql_query_with_prepare "name_insert" "INSERT INTO USERS (first_name, last_name) VALUES (?, ?)"             statement_arguments=['John','Doe'], asynchronous=True
90882
90883                 # Select data, should not be asynchronous because there is not currently a facility to return data from a future
90884                 salt this-node cassandra_cql.cql_query_with_prepare "name_select" "SELECT * FROM USERS WHERE first_name=?"             statement_arguments=['John']
90885
90886       salt.modules.cassandra_cql.create_keyspace(keyspace, replication_strat‐
90887       egy=u'SimpleStrategy',    replication_factor=1,    replication_datacen‐
90888       ters=None,      contact_points=None,      port=None,     cql_user=None,
90889       cql_pass=None)
90890              Create a new keyspace in Cassandra.
90891
90892              Parameters
90893
90894                     · keyspace (str) -- The keyspace name
90895
90896                     · replication_strategy (str) -- either SimpleStrategy  or
90897                       NetworkTopologyStrategy
90898
90899                     · replication_factor  (int) -- number of replicas of data
90900                       on multiple nodes. not used if using  NetworkTopologyS‐
90901                       trategy
90902
90903                     · replication_datacenters   (str  |  dict[str,  int])  --
90904                       string or dict of datacenter names to replication  fac‐
90905                       tors,  required  if using NetworkTopologyStrategy (will
90906                       be a dict if coming from state file).
90907
90908                     · contact_points (str | list[str]) -- The Cassandra clus‐
90909                       ter addresses, can either be a string or a list of IPs.
90910
90911                     · cql_user  (str) -- The Cassandra user if authentication
90912                       is turned on.
90913
90914                     · cql_pass  (str)  --  The  Cassandra  user  password  if
90915                       authentication is turned on.
90916
90917                     · port  (int)  -- The Cassandra cluster port, defaults to
90918                       None.
90919
90920              Returns
90921                     The info for the keyspace or False if it does not exist.
90922
90923              Return type
90924                     dict
90925
90926              CLI Example:
90927
90928                 # CLI Example:
90929                 salt 'minion1' cassandra_cql.create_keyspace keyspace=newkeyspace
90930
90931                 salt 'minion1' cassandra_cql.create_keyspace keyspace=newkeyspace replication_strategy=NetworkTopologyStrategy         replication_datacenters='{"datacenter_1": 3, "datacenter_2": 2}'
90932
90933       salt.modules.cassandra_cql.create_user(username,    password,     supe‐
90934       ruser=False,     contact_points=None,     port=None,     cql_user=None,
90935       cql_pass=None)
90936              Create a new cassandra user with credentials and superuser  sta‐
90937              tus.
90938
90939              Parameters
90940
90941                     · username (str) -- The name of the new user.
90942
90943                     · password (str) -- The password of the new user.
90944
90945                     · superuser (bool) -- Is the new user going to be a supe‐
90946                       ruser? default: False
90947
90948                     · contact_points (str | list[str]) -- The Cassandra clus‐
90949                       ter addresses, can either be a string or a list of IPs.
90950
90951                     · cql_user  (str) -- The Cassandra user if authentication
90952                       is turned on.
90953
90954                     · cql_pass  (str)  --  The  Cassandra  user  password  if
90955                       authentication is turned on.
90956
90957                     · port  (int)  -- The Cassandra cluster port, defaults to
90958                       None.
90959
90960              Returns
90961
90962
90963              Return type
90964
90965
90966              CLI Example:
90967
90968                 salt 'minion1' cassandra_cql.create_user username=joe password=secret
90969
90970                 salt 'minion1' cassandra_cql.create_user username=joe password=secret superuser=True
90971
90972                 salt 'minion1' cassandra_cql.create_user username=joe password=secret superuser=True contact_points=minion1
90973
90974       salt.modules.cassandra_cql.drop_keyspace(keyspace, contact_points=None,
90975       port=None, cql_user=None, cql_pass=None)
90976              Drop a keyspace if it exists in a Cassandra cluster.
90977
90978              Parameters
90979
90980                     · keyspace (str) -- The keyspace to drop.
90981
90982                     · contact_points (str | list[str]) -- The Cassandra clus‐
90983                       ter addresses, can either be a string or a list of IPs.
90984
90985                     · cql_user (str) -- The Cassandra user if  authentication
90986                       is turned on.
90987
90988                     · cql_pass  (str)  --  The  Cassandra  user  password  if
90989                       authentication is turned on.
90990
90991                     · port (int) -- The Cassandra cluster port,  defaults  to
90992                       None.
90993
90994              Returns
90995                     The info for the keyspace or False if it does not exist.
90996
90997              Return type
90998                     dict
90999
91000              CLI Example:
91001
91002                 salt 'minion1' cassandra_cql.drop_keyspace keyspace=test
91003
91004                 salt 'minion1' cassandra_cql.drop_keyspace keyspace=test contact_points=minion1
91005
91006       salt.modules.cassandra_cql.grant_permission(username,    resource=None,
91007       resource_type=u'keyspace',    permission=None,     contact_points=None,
91008       port=None, cql_user=None, cql_pass=None)
91009              Grant permissions to a user.
91010
91011              Parameters
91012
91013                     · username (str) -- The name of the user to grant permis‐
91014                       sions to.
91015
91016                     · resource (str) -- The resource (keyspace or table),  if
91017                       None, permissions for all resources are granted.
91018
91019                     · resource_type  (str)  -- The resource_type (keyspace or
91020                       table), defaults to 'keyspace'.
91021
91022                     · permission (str) -- A permission name (e.g. select), if
91023                       None, all permissions are granted.
91024
91025                     · contact_points (str | list[str]) -- The Cassandra clus‐
91026                       ter addresses, can either be a string or a list of IPs.
91027
91028                     · cql_user (str) -- The Cassandra user if  authentication
91029                       is turned on.
91030
91031                     · cql_pass  (str)  --  The  Cassandra  user  password  if
91032                       authentication is turned on.
91033
91034                     · port (int) -- The Cassandra cluster port,  defaults  to
91035                       None.
91036
91037              Returns
91038
91039
91040              Return type
91041
91042
91043              CLI Example:
91044
91045                 salt 'minion1' cassandra_cql.grant_permission
91046
91047                 salt 'minion1' cassandra_cql.grant_permission username=joe resource=test_keyspace permission=select
91048
91049                 salt 'minion1' cassandra_cql.grant_permission username=joe resource=test_table resource_type=table         permission=select contact_points=minion1
91050
91051       salt.modules.cassandra_cql.info(contact_points=None,         port=None,
91052       cql_user=None, cql_pass=None)
91053              Show the Cassandra information for this cluster.
91054
91055              Parameters
91056
91057                     · contact_points (str | list[str]) -- The Cassandra clus‐
91058                       ter addresses, can either be a string or a list of IPs.
91059
91060                     · cql_user  (str) -- The Cassandra user if authentication
91061                       is turned on.
91062
91063                     · cql_pass  (str)  --  The  Cassandra  user  password  if
91064                       authentication is turned on.
91065
91066                     · port  (int)  -- The Cassandra cluster port, defaults to
91067                       None.
91068
91069              Returns
91070                     The information for this Cassandra cluster.
91071
91072              Return type
91073                     dict
91074
91075              CLI Example:
91076
91077                 salt 'minion1' cassandra_cql.info
91078
91079                 salt 'minion1' cassandra_cql.info contact_points=minion1
91080
91081       salt.modules.cassandra_cql.keyspace_exists(keyspace,               con‐
91082       tact_points=None, port=None, cql_user=None, cql_pass=None)
91083              Check if a keyspace exists in a Cassandra cluster.
91084
91085              :param  keyspace         The  keyspace name to check for.  :type
91086              keyspace:       str :param contact_points: The Cassandra cluster
91087              addresses, can either be a string or a list of IPs.  :type  con‐
91088              tact_points: str | list[str] :param cql_user:       The  Cassan‐
91089              dra  user  if  authentication  is  turned  on.  :type  cql_user:
91090              str  :param  cql_pass:        The  Cassandra  user  password  if
91091              authentication  is turned on.  :type  cql_pass:       str :param
91092              port:           The Cassandra cluster port,  defaults  to  None.
91093              :type   port:            int :return:               The info for
91094              the  keyspace  or  False  if  it  does   not   exist.    :rtype:
91095              dict
91096
91097              CLI Example:
91098
91099                 salt 'minion1' cassandra_cql.keyspace_exists keyspace=system
91100
91101       salt.modules.cassandra_cql.list_column_families(keyspace=None,     con‐
91102       tact_points=None, port=None, cql_user=None, cql_pass=None)
91103              List column families in a Cassandra cluster for all keyspaces or
91104              just the provided one.
91105
91106              Parameters
91107
91108                     · keyspace  (str)  --  The keyspace to provide the column
91109                       families for, optional.
91110
91111                     · contact_points (str | list[str]) -- The Cassandra clus‐
91112                       ter addresses, can either be a string or a list of IPs.
91113
91114                     · cql_user  (str) -- The Cassandra user if authentication
91115                       is turned on.
91116
91117                     · cql_pass  (str)  --  The  Cassandra  user  password  if
91118                       authentication is turned on.
91119
91120                     · port  (int)  -- The Cassandra cluster port, defaults to
91121                       None.
91122
91123              Returns
91124                     The column families in this Cassandra cluster.
91125
91126              Return type
91127                     list[dict]
91128
91129              CLI Example:
91130
91131                 salt 'minion1' cassandra_cql.list_column_families
91132
91133                 salt 'minion1' cassandra_cql.list_column_families contact_points=minion1
91134
91135                 salt 'minion1' cassandra_cql.list_column_families keyspace=system
91136
91137       salt.modules.cassandra_cql.list_keyspaces(contact_points=None,
91138       port=None, cql_user=None, cql_pass=None)
91139              List keyspaces in a Cassandra cluster.
91140
91141              Parameters
91142
91143                     · contact_points (str | list[str]) -- The Cassandra clus‐
91144                       ter addresses, can either be a string or a list of IPs.
91145
91146                     · cql_user (str) -- The Cassandra user if  authentication
91147                       is turned on.
91148
91149                     · cql_pass  (str)  --  The  Cassandra  user  password  if
91150                       authentication is turned on.
91151
91152                     · port (int) -- The Cassandra cluster port,  defaults  to
91153                       None.
91154
91155              Returns
91156                     The keyspaces in this Cassandra cluster.
91157
91158              Return type
91159                     list[dict]
91160
91161              CLI Example:
91162
91163                 salt 'minion1' cassandra_cql.list_keyspaces
91164
91165                 salt 'minion1' cassandra_cql.list_keyspaces contact_points=minion1 port=9000
91166
91167       salt.modules.cassandra_cql.list_permissions(username=None,
91168       resource=None,   resource_type=u'keyspace',    permission=None,    con‐
91169       tact_points=None, port=None, cql_user=None, cql_pass=None)
91170              List permissions.
91171
91172              Parameters
91173
91174                     · username  (str) -- The name of the user to list permis‐
91175                       sions for.
91176
91177                     · resource (str) -- The resource (keyspace or table),  if
91178                       None, permissions for all resources are listed.
91179
91180                     · resource_type  (str)  -- The resource_type (keyspace or
91181                       table), defaults to 'keyspace'.
91182
91183                     · permission (str) -- A permission name (e.g. select), if
91184                       None, all permissions are listed.
91185
91186                     · contact_points (str | list[str]) -- The Cassandra clus‐
91187                       ter addresses, can either be a string or a list of IPs.
91188
91189                     · cql_user (str) -- The Cassandra user if  authentication
91190                       is turned on.
91191
91192                     · cql_pass  (str)  --  The  Cassandra  user  password  if
91193                       authentication is turned on.
91194
91195                     · port (int) -- The Cassandra cluster port,  defaults  to
91196                       None.
91197
91198              Returns
91199                     Dictionary of permissions.
91200
91201              Return type
91202                     dict
91203
91204              CLI Example:
91205
91206                 salt 'minion1' cassandra_cql.list_permissions
91207
91208                 salt 'minion1' cassandra_cql.list_permissions username=joe resource=test_keyspace permission=select
91209
91210                 salt 'minion1' cassandra_cql.list_permissions username=joe resource=test_table resource_type=table           permission=select contact_points=minion1
91211
91212       salt.modules.cassandra_cql.list_users(contact_points=None,   port=None,
91213       cql_user=None, cql_pass=None)
91214              List existing users in this Cassandra cluster.
91215
91216              Parameters
91217
91218                     · contact_points (str | list[str]) -- The Cassandra clus‐
91219                       ter addresses, can either be a string or a list of IPs.
91220
91221                     · port  (int)  -- The Cassandra cluster port, defaults to
91222                       None.
91223
91224                     · cql_user (str) -- The Cassandra user if  authentication
91225                       is turned on.
91226
91227                     · cql_pass  (str)  --  The  Cassandra  user  password  if
91228                       authentication is turned on.
91229
91230              Returns
91231                     The list of existing users.
91232
91233              Return type
91234                     dict
91235
91236              CLI Example:
91237
91238                 salt 'minion1' cassandra_cql.list_users
91239
91240                 salt 'minion1' cassandra_cql.list_users contact_points=minion1
91241
91242       salt.modules.cassandra_cql.version(contact_points=None,      port=None,
91243       cql_user=None, cql_pass=None)
91244              Show the Cassandra version.
91245
91246              Parameters
91247
91248                     · contact_points (str | list[str]) -- The Cassandra clus‐
91249                       ter addresses, can either be a string or a list of IPs.
91250
91251                     · cql_user (str) -- The Cassandra user if  authentication
91252                       is turned on.
91253
91254                     · cql_pass  (str)  --  The  Cassandra  user  password  if
91255                       authentication is turned on.
91256
91257                     · port (int) -- The Cassandra cluster port,  defaults  to
91258                       None.
91259
91260              Returns
91261                     The version for this Cassandra cluster.
91262
91263              Return type
91264                     str
91265
91266              CLI Example:
91267
91268                 salt 'minion1' cassandra_cql.version
91269
91270                 salt 'minion1' cassandra_cql.version contact_points=minion1
91271
91272   salt.modules.celery module
91273       Support  for scheduling celery tasks. The worker is independent of salt
91274       and thus can run in a different virtualenv or  on  a  different  python
91275       version,  as  long  as  broker,  backend  and serializer configurations
91276       match.  Also note that celery and packages required by the celery  bro‐
91277       ker,  e.g.  redis  must  be installed to load the salt celery execution
91278       module.
91279
91280       NOTE:
91281          A new app (and thus new connections) is created for each task execu‐
91282          tion
91283
91284       salt.modules.celery.run_task(task_name,  args=None,  kwargs=None,  bro‐
91285       ker=None,  backend=None,  wait_for_result=False,  timeout=None,  propa‐
91286       gate=True, interval=0.5, no_ack=True, raise_timeout=True, config=None)
91287              Execute  celery tasks. For celery specific parameters see celery
91288              documentation.
91289
91290              CLI Example:
91291
91292                 salt '*' celery.run_task tasks.sleep args=[4] broker=redis://localhost \
91293                 backend=redis://localhost wait_for_result=true
91294
91295              task_name
91296                     The task name, e.g. tasks.sleep
91297
91298              args   Task arguments as a list
91299
91300              kwargs Task keyword arguments
91301
91302              broker Broker for celeryapp, see celery documentation
91303
91304              backend
91305                     Result backend for celeryapp, see celery documentation
91306
91307              wait_for_result
91308                     Wait until task result is read from  result  backend  and
91309                     return result, Default: False
91310
91311              timeout
91312                     Timeout  waiting for result from celery, see celery Asyn‐
91313                     cResult.get documentation
91314
91315              propagate
91316                     Propagate exceptions from celery task, see  celery  Asyn‐
91317                     cResult.get documentation, Default: True
91318
91319              interval
91320                     Interval  to  check  for task result, see celery AsyncRe‐
91321                     sult.get documentation, Default: 0.5
91322
91323              no_ack see celery AsyncResult.get documentation. Default: True
91324
91325              raise_timeout
91326                     Raise timeout exception if waiting for task result  times
91327                     out. Default: False
91328
91329              config Config dict for celery app, See celery documentation
91330
91331   salt.modules.ceph module
91332       Module to provide ceph control with salt.
91333
91334       depends
91335
91336              · ceph_cfg Python module
91337
91338       New in version 2016.11.0.
91339
91340
91341       salt.modules.ceph.ceph_version()
91342              Get the version of ceph installed
91343
91344              CLI Example:
91345
91346                 salt '*' ceph.ceph_version
91347
91348       salt.modules.ceph.cluster_quorum(**kwargs)
91349              Get the cluster's quorum status
91350
91351              CLI Example:
91352
91353                 salt '*' ceph.cluster_quorum \
91354                         'cluster_name'='ceph' \
91355                         'cluster_uuid'='cluster_uuid'
91356
91357              cluster_uuid
91358                     The  cluster UUID. Defaults to value found in ceph config
91359                     file.
91360
91361              cluster_name
91362                     The cluster name. Defaults to ceph.
91363
91364       salt.modules.ceph.cluster_status(**kwargs)
91365              Get the cluster status, including health if in quorum
91366
91367              CLI Example:
91368
91369                 salt '*' ceph.cluster_status \
91370                         'cluster_name'='ceph' \
91371                         'cluster_uuid'='cluster_uuid'
91372
91373              cluster_uuid
91374                     The cluster UUID. Defaults to value found in ceph  config
91375                     file.
91376
91377              cluster_name
91378                     The cluster name. Defaults to ceph.
91379
91380       salt.modules.ceph.keyring_auth_add(**kwargs)
91381              Add keyring to authorized list
91382
91383              CLI Example:
91384
91385                 salt '*' ceph.keyring_auth_add \
91386                         'keyring_type'='admin' \
91387                         'cluster_name'='ceph' \
91388                         'cluster_uuid'='cluster_uuid'
91389
91390              keyring_type (required)
91391                     One of admin, mon, osd, rgw, mds
91392
91393              cluster_uuid
91394                     The  cluster UUID. Defaults to value found in ceph config
91395                     file.
91396
91397              cluster_name
91398                     The cluster name. Defaults to ceph.
91399
91400       salt.modules.ceph.keyring_auth_del(**kwargs)
91401              Remove keyring from authorised list
91402
91403              CLI Example:
91404
91405                 salt '*' ceph.keyring_osd_auth_del \
91406                         'keyring_type'='admin' \
91407                         'cluster_name'='ceph' \
91408                         'cluster_uuid'='cluster_uuid'
91409
91410              keyring_type (required)
91411                     One of admin, mon, osd, rgw, mds
91412
91413              cluster_uuid
91414                     The cluster UUID. Defaults to value found in ceph  config
91415                     file.
91416
91417              cluster_name
91418                     The cluster name. Defaults to ceph.
91419
91420       salt.modules.ceph.keyring_auth_list(**kwargs)
91421              List all cephx authorization keys
91422
91423              CLI Example:
91424
91425                 salt '*' ceph.keyring_auth_list \
91426                         'cluster_name'='ceph' \
91427                         'cluster_uuid'='cluster_uuid'
91428
91429              cluster_name
91430                     The cluster name. Defaults to ceph.
91431
91432              cluster_uuid
91433                     The  cluster UUID. Defaults to value found in ceph config
91434                     file.
91435
91436       salt.modules.ceph.keyring_create(**kwargs)
91437              Create keyring for cluster
91438
91439              CLI Example:
91440
91441                 salt '*' ceph.keyring_create \
91442                         'keyring_type'='admin' \
91443                         'cluster_name'='ceph' \
91444                         'cluster_uuid'='cluster_uuid'
91445
91446              keyring_type (required)
91447                     One of admin, mon, osd, rgw, mds
91448
91449              cluster_uuid
91450                     The cluster UUID. Defaults to value found in ceph  config
91451                     file.
91452
91453              cluster_name
91454                     The cluster name. Defaults to ceph.
91455
91456       salt.modules.ceph.keyring_present(**kwargs)
91457              Returns True if the keyring is present on disk, otherwise False
91458
91459              CLI Example:
91460
91461                 salt '*' ceph.keyring_present \
91462                         'keyring_type'='admin' \
91463                         'cluster_name'='ceph' \
91464                         'cluster_uuid'='cluster_uuid'
91465
91466              keyring_type (required)
91467                     One of admin, mon, osd, rgw, mds
91468
91469              cluster_uuid
91470                     The  cluster UUID. Defaults to value found in ceph config
91471                     file.
91472
91473              cluster_name
91474                     The cluster name. Defaults to ceph.
91475
91476       salt.modules.ceph.keyring_purge(**kwargs)
91477              Delete keyring for cluster
91478
91479              CLI Example:
91480
91481                 salt '*' ceph.keyring_purge \
91482                         'keyring_type'='admin' \
91483                         'cluster_name'='ceph' \
91484                         'cluster_uuid'='cluster_uuid'
91485
91486              keyring_type (required)
91487                     One of admin, mon, osd, rgw, mds
91488
91489              cluster_uuid
91490                     The cluster UUID. Defaults to value found in ceph  config
91491                     file.
91492
91493              cluster_name
91494                     The cluster name. Defaults to ceph.
91495
91496              If no ceph config file is found, this command will fail.
91497
91498       salt.modules.ceph.keyring_save(**kwargs)
91499              Create save keyring locally
91500
91501              CLI Example:
91502
91503                 salt '*' ceph.keyring_save \
91504                         'keyring_type'='admin' \
91505                         'cluster_name'='ceph' \
91506                         'cluster_uuid'='cluster_uuid'
91507
91508              keyring_type (required)
91509                     One of admin, mon, osd, rgw, mds
91510
91511              cluster_uuid
91512                     The  cluster UUID. Defaults to value found in ceph config
91513                     file.
91514
91515              cluster_name
91516                     The cluster name. Defaults to ceph.
91517
91518       salt.modules.ceph.mds_create(**kwargs)
91519              Create a mds
91520
91521              CLI Example:
91522
91523                 salt '*' ceph.mds_create \
91524                         'name' = 'mds.name' \
91525                         'port' = 1000, \
91526                         'addr' = 'fqdn.example.org' \
91527                         'cluster_name'='ceph' \
91528                         'cluster_uuid'='cluster_uuid'
91529
91530              name (required)
91531                     The MDS name (must start with mds.)
91532
91533              port (required)
91534                     Port to which the MDS will listen
91535
91536              addr (required)
91537                     Address or IP address for the MDS to listen
91538
91539              cluster_uuid
91540                     The cluster UUID. Defaults to value found in ceph  config
91541                     file.
91542
91543              cluster_name
91544                     The cluster name. Defaults to ceph.
91545
91546       salt.modules.ceph.mds_destroy(**kwargs)
91547              Remove a mds
91548
91549              CLI Example:
91550
91551                 salt '*' ceph.mds_destroy \
91552                         'name' = 'mds.name' \
91553                         'cluster_name'='ceph' \
91554                         'cluster_uuid'='cluster_uuid'
91555
91556              name (required)
91557                     The MDS name (must start with mds.)
91558
91559              cluster_uuid
91560                     The  cluster UUID. Defaults to value found in ceph config
91561                     file.
91562
91563              cluster_name
91564                     The cluster name. Defaults to ceph.
91565
91566       salt.modules.ceph.mon_active(**kwargs)
91567              Returns True if the mon daemon is running, otherwise False
91568
91569              CLI Example:
91570
91571                 salt '*' ceph.mon_active \
91572                         'cluster_name'='ceph' \
91573                         'cluster_uuid'='cluster_uuid'
91574
91575              cluster_uuid
91576                     The cluster UUID. Defaults to value found in ceph  config
91577                     file.
91578
91579              cluster_name
91580                     The cluster name. Defaults to ceph.
91581
91582       salt.modules.ceph.mon_create(**kwargs)
91583              Create a mon node
91584
91585              CLI Example:
91586
91587                 salt '*' ceph.mon_create \
91588                         'cluster_name'='ceph' \
91589                         'cluster_uuid'='cluster_uuid'
91590
91591              cluster_uuid
91592                     The  cluster UUID. Defaults to value found in ceph config
91593                     file.
91594
91595              cluster_name
91596                     The cluster name. Defaults to ceph.
91597
91598       salt.modules.ceph.mon_is(**kwargs)
91599              Returns True if the target is a mon node, otherwise False
91600
91601              CLI Example:
91602
91603                 salt '*' ceph.mon_is \
91604                         'cluster_name'='ceph' \
91605                         'cluster_uuid'='cluster_uuid'
91606
91607              cluster_name
91608                     The cluster name. Defaults to ceph.
91609
91610              cluster_uuid
91611                     The cluster UUID. Defaults to value found in ceph  config
91612                     file.
91613
91614       salt.modules.ceph.mon_quorum(**kwargs)
91615              Returns True if the mon daemon is in the quorum, otherwise False
91616
91617              CLI Example:
91618
91619                 salt '*' ceph.mon_quorum \
91620                         'cluster_name'='ceph' \
91621                         'cluster_uuid'='cluster_uuid'
91622
91623              cluster_uuid
91624                     The  cluster UUID. Defaults to value found in ceph config
91625                     file.
91626
91627              cluster_name
91628                     The cluster name. Defaults to ceph.
91629
91630       salt.modules.ceph.mon_status(**kwargs)
91631              Get status from mon daemon
91632
91633              CLI Example:
91634
91635                 salt '*' ceph.mon_status \
91636                         'cluster_name'='ceph' \
91637                         'cluster_uuid'='cluster_uuid'
91638
91639              cluster_uuid
91640                     The cluster UUID. Defaults to value found in ceph  config
91641                     file.
91642
91643              cluster_name
91644                     The cluster name. Defaults to ceph.
91645
91646       salt.modules.ceph.osd_activate(**kwargs)
91647              Activate an OSD
91648
91649              CLI Example:
91650
91651                 salt '*' ceph.osd_activate 'osd_dev'='/dev/vdc'
91652
91653       salt.modules.ceph.osd_discover()
91654              List all OSD by cluster
91655
91656              CLI Example:
91657
91658                 salt '*' ceph.osd_discover
91659
91660       salt.modules.ceph.osd_prepare(**kwargs)
91661              Prepare an OSD
91662
91663              CLI Example:
91664
91665                 salt '*' ceph.osd_prepare 'osd_dev'='/dev/vdc' \
91666                         'journal_dev'='device' \
91667                         'cluster_name'='ceph' \
91668                         'cluster_uuid'='cluster_uuid' \
91669                         'osd_fs_type'='xfs' \
91670                         'osd_uuid'='2a143b73-6d85-4389-a9e9-b8a78d9e1e07' \
91671                         'journal_uuid'='4562a5db-ff6f-4268-811d-12fd4a09ae98'
91672
91673              cluster_uuid
91674                     The device to store the osd data on.
91675
91676              journal_dev
91677                     The journal device. defaults to osd_dev.
91678
91679              cluster_name
91680                     The cluster name. Defaults to ceph.
91681
91682              cluster_uuid
91683                     The cluster date will be added too. Defaults to the value
91684                     found in local config.
91685
91686              osd_fs_type
91687                     set the file system to store OSD data with.  Defaults  to
91688                     "xfs".
91689
91690              osd_uuid
91691                     set  the  OSD  data  UUID. If set will return if OSD with
91692                     data UUID already exists.
91693
91694              journal_uuid
91695                     set the OSD journal UUID. If set will return if OSD  with
91696                     journal UUID already exists.
91697
91698       salt.modules.ceph.partition_is(dev)
91699              Check whether a given device path is a partition or a full disk.
91700
91701              CLI Example:
91702
91703                 salt '*' ceph.partition_is /dev/sdc1
91704
91705       salt.modules.ceph.partition_list()
91706              List partitions by disk
91707
91708              CLI Example:
91709
91710                 salt '*' ceph.partition_list
91711
91712       salt.modules.ceph.partition_list_journal()
91713              List all OSD journal partitions by partition
91714
91715              CLI Example:
91716
91717                 salt '*' ceph.partition_list_journal
91718
91719       salt.modules.ceph.partition_list_osd()
91720              List all OSD data partitions by partition
91721
91722              CLI Example:
91723
91724                 salt '*' ceph.partition_list_osd
91725
91726       salt.modules.ceph.pool_add(pool_name, **kwargs)
91727              Create a pool
91728
91729              CLI Example:
91730
91731                 salt '*' ceph.pool_add pool_name \
91732                         'cluster_name'='ceph' \
91733                         'cluster_uuid'='cluster_uuid'
91734
91735              cluster_name
91736                     The cluster name. Defaults to ceph.
91737
91738              cluster_uuid
91739                     The  cluster UUID. Defaults to value found in ceph config
91740                     file.
91741
91742              pg_num Default to 8
91743
91744              pgp_num
91745                     Default to pg_num
91746
91747              pool_type
91748                     can take values "replicated" or "erasure"
91749
91750              erasure_code_profile
91751                     The "erasure_code_profile"
91752
91753              crush_ruleset
91754                     The crush map rule set
91755
91756       salt.modules.ceph.pool_del(pool_name, **kwargs)
91757              Delete a pool
91758
91759              CLI Example:
91760
91761                 salt '*' ceph.pool_del pool_name \
91762                         'cluster_name'='ceph' \
91763                         'cluster_uuid'='cluster_uuid'
91764
91765              cluster_name
91766                     The cluster name. Defaults to ceph.
91767
91768              cluster_uuid
91769                     The cluster UUID. Defaults to value found in ceph  config
91770                     file.
91771
91772       salt.modules.ceph.pool_list(**kwargs)
91773              List all pools
91774
91775              CLI Example:
91776
91777                 salt '*' ceph.pool_list \
91778                         'cluster_name'='ceph' \
91779                         'cluster_uuid'='cluster_uuid'
91780
91781              cluster_name
91782                     The cluster name. Defaults to ceph.
91783
91784              cluster_uuid
91785                     The  cluster UUID. Defaults to value found in ceph config
91786                     file.
91787
91788       salt.modules.ceph.purge(**kwargs)
91789              purge ceph configuration on the node
91790
91791              CLI Example:
91792
91793                 salt '*' ceph.purge \
91794                         'cluster_name'='ceph' \
91795                         'cluster_uuid'='cluster_uuid'
91796
91797              cluster_name
91798                     The cluster name. Defaults to ceph.
91799
91800              cluster_uuid
91801                     The cluster UUID. Defaults to value found in ceph  config
91802                     file.
91803
91804       salt.modules.ceph.rgw_create(**kwargs)
91805              Create a rgw
91806
91807              CLI Example:
91808
91809                 salt '*' ceph.rgw_create \
91810                         'name' = 'rgw.name' \
91811                         'cluster_name'='ceph' \
91812                         'cluster_uuid'='cluster_uuid'
91813
91814              name (required)
91815                     The RGW client name. Must start with rgw.
91816
91817              cluster_uuid
91818                     The  cluster UUID. Defaults to value found in ceph config
91819                     file.
91820
91821              cluster_name
91822                     The cluster name. Defaults to ceph.
91823
91824       salt.modules.ceph.rgw_destroy(**kwargs)
91825              Remove a rgw
91826
91827              CLI Example:
91828
91829                 salt '*' ceph.rgw_destroy \
91830                         'name' = 'rgw.name' \
91831                         'cluster_name'='ceph' \
91832                         'cluster_uuid'='cluster_uuid'
91833
91834              name (required)
91835                     The RGW client name (must start with rgw.)
91836
91837              cluster_uuid
91838                     The cluster UUID. Defaults to value found in ceph  config
91839                     file.
91840
91841              cluster_name
91842                     The cluster name. Defaults to ceph.
91843
91844       salt.modules.ceph.rgw_pools_create(**kwargs)
91845              Create pools for rgw
91846
91847              CLI Example:
91848
91849                 salt '*' ceph.rgw_pools_create
91850
91851              cluster_uuid
91852                     The  cluster UUID. Defaults to value found in ceph config
91853                     file.
91854
91855              cluster_name
91856                     The cluster name. Defaults to ceph.
91857
91858       salt.modules.ceph.rgw_pools_missing(**kwargs)
91859              Show pools missing for rgw
91860
91861              CLI Example:
91862
91863                 salt '*' ceph.rgw_pools_missing
91864
91865              cluster_uuid
91866                     The cluster UUID. Defaults to value found in ceph  config
91867                     file.
91868
91869              cluster_name
91870                     The cluster name. Defaults to ceph.
91871
91872       salt.modules.ceph.zap(target=None, **kwargs)
91873              Destroy the partition table and content of a given disk.
91874
91875                 salt '*' ceph.osd_prepare 'dev'='/dev/vdc' \
91876                         'cluster_name'='ceph' \
91877                         'cluster_uuid'='cluster_uuid'
91878
91879              dev    The block device to format.
91880
91881              cluster_name
91882                     The cluster name. Defaults to ceph.
91883
91884              cluster_uuid
91885                     The  cluster UUID. Defaults to value found in ceph config
91886                     file.
91887
91888   salt.modules.chassis
91889       Glue execution module to link to the fx2 proxymodule.
91890
91891       Depends: iDRAC Remote execution module (salt.modules.dracr)
91892
91893       For documentation on commands that you can direct to a Dell chassis via
91894       proxy, look in the documentation for salt.modules.dracr.
91895
91896       This execution module calls through to a function in the fx2 proxy mod‐
91897       ule called chconfig.  That function looks up the function passed in the
91898       cmd parameter in salt.modules.dracr and calls it.
91899
91900       New in version 2015.8.2.
91901
91902
91903       salt.modules.chassis.chassis_credentials()
91904
91905       salt.modules.chassis.cmd(cmd, *args, **kwargs)
91906
91907   salt.modules.chef
91908       Execute chef in server or solo mode
91909
91910       salt.modules.chef.client(whyrun=False,  localmode=False,  logfile=None,
91911       **kwargs)
91912              Execute a chef client run and return a  dict  with  the  stderr,
91913              stdout, return code, and pid.
91914
91915              CLI Example:
91916
91917                 salt '*' chef.client server=https://localhost
91918
91919              server The chef server URL
91920
91921              client_key
91922                     Set the client key file location
91923
91924              config The configuration file to use
91925
91926              config-file-jail
91927                     Directory  under  which  config  files  are allowed to be
91928                     loaded (no client.rb or knife.rb outside this  path  will
91929                     be loaded).
91930
91931              environment
91932                     Set the Chef Environment on the node
91933
91934              group  Group to set privilege to
91935
91936              json-attributes
91937                     Load attributes from a JSON file or URL
91938
91939              localmode
91940                     Point chef-client at local repository if True
91941
91942              log_level
91943                     Set the log level (debug, info, warn, error, fatal)
91944
91945              logfile
91946                     Set the log file location
91947
91948              node-name
91949                     The node name for this client
91950
91951              override-runlist
91952                     Replace  current run list with specified items for a sin‐
91953                     gle run
91954
91955              pid    Set    the    PID    file    location,    defaults     to
91956                     /tmp/chef-client.pid
91957
91958              run-lock-timeout
91959                     Set  maximum  duration  to wait for another client run to
91960                     finish, default is indefinitely.
91961
91962              runlist
91963                     Permanently replace current run list with specified items
91964
91965              user   User to set privilege to
91966
91967              validation_key
91968                     Set the validation key file location, used for  register‐
91969                     ing new clients
91970
91971              whyrun Enable whyrun mode when set to True
91972
91973       salt.modules.chef.solo(whyrun=False, logfile=None, **kwargs)
91974              Execute  a chef solo run and return a dict with the stderr, std‐
91975              out, return code, and pid.
91976
91977              CLI Example:
91978
91979                 salt '*' chef.solo override-runlist=test
91980
91981              config The configuration file to use
91982
91983              environment
91984                     Set the Chef Environment on the node
91985
91986              group  Group to set privilege to
91987
91988              json-attributes
91989                     Load attributes from a JSON file or URL
91990
91991              log_level
91992                     Set the log level (debug, info, warn, error, fatal)
91993
91994              logfile
91995                     Set the log file location
91996
91997              node-name
91998                     The node name for this client
91999
92000              override-runlist
92001                     Replace current run list with specified items for a  sin‐
92002                     gle run
92003
92004              recipe-url
92005                     Pull  down  a remote gzipped tarball of recipes and untar
92006                     it to the cookbook cache
92007
92008              run-lock-timeout
92009                     Set maximum duration to wait for another  client  run  to
92010                     finish, default is indefinitely.
92011
92012              user   User to set privilege to
92013
92014              whyrun Enable whyrun mode when set to True
92015
92016   salt.modules.chocolatey
92017       A  dead  simple module wrapping calls to the Chocolatey package manager
92018       (http://chocolatey.org)
92019
92020       New in version 2014.1.0.
92021
92022
92023       salt.modules.chocolatey.add_source(name,     source_location,     user‐
92024       name=None, password=None)
92025              Instructs Chocolatey to add a source.
92026
92027              name   The name of the source to be added as a chocolatey repos‐
92028                     itory.
92029
92030              source Location of the source you want to work with.
92031
92032              username
92033                     Provide username for chocolatey sources that need authen‐
92034                     tication credentials.
92035
92036              password
92037                     Provide password for chocolatey sources that need authen‐
92038                     tication credentials.
92039
92040              CLI Example:
92041
92042                 salt '*' chocolatey.add_source <source name> <source_location>
92043                 salt '*' chocolatey.add_source <source name> <source_location> user=<user> password=<password>
92044
92045       salt.modules.chocolatey.bootstrap(force=False)
92046              Download and install the latest version of the Chocolatey  pack‐
92047              age manager via the official bootstrap.
92048
92049              Chocolatey  requires  Windows  PowerShell and the .NET v4.0 run‐
92050              time.  Depending  on  the  host's  version  of  Windows,  choco‐
92051              latey.bootstrap  will  attempt to ensure these prerequisites are
92052              met by downloading and executing the appropriate installers from
92053              Microsoft.
92054
92055              Note  that  if  PowerShell is installed, you may have to restart
92056              the host machine for Chocolatey to work.
92057
92058              force  Run the bootstrap process even if Chocolatey is found  in
92059                     the path.
92060
92061              CLI Example:
92062
92063                 salt '*' chocolatey.bootstrap
92064                 salt '*' chocolatey.bootstrap force=True
92065
92066       salt.modules.chocolatey.chocolatey_version()
92067              Returns the version of Chocolatey installed on the minion.
92068
92069              CLI Example:
92070
92071                 salt '*' chocolatey.chocolatey_version
92072
92073       salt.modules.chocolatey.disable_source(name)
92074              Instructs Chocolatey to disable a source.
92075
92076              name   Name of the source repository to disable.
92077
92078              CLI Example:
92079
92080                 salt '*' chocolatey.disable_source <name>
92081
92082       salt.modules.chocolatey.enable_source(name)
92083              Instructs Chocolatey to enable a source.
92084
92085              name   Name of the source repository to enable.
92086
92087              CLI Example:
92088
92089                 salt '*' chocolatey.enable_source <name>
92090
92091       salt.modules.chocolatey.install(name,     version=None,    source=None,
92092       force=False,     pre_versions=False,      install_args=None,      over‐
92093       ride_args=False,   force_x86=False,   package_args=None,   allow_multi‐
92094       ple=False, execution_timeout=None)
92095              Instructs Chocolatey to install a package.
92096
92097              Parameters
92098
92099                     · name (str) -- The name of the package to be  installed.
92100                       Only accepts a single argument. Required.
92101
92102                     · version  (str)  --  Install  a  specific version of the
92103                       package. Defaults to latest version. Default is None.
92104
92105                     · source (str) --
92106
92107                       Chocolatey repository (directory, share or  remote  URL
92108                       feed)  the package comes from. Defaults to the official
92109                       Chocolatey feed.  Default is None.
92110
92111                       Alternate Sources:
92112
92113                       · cygwin
92114
92115                       · python
92116
92117                       · ruby
92118
92119                       · webpi
92120
92121                       · windowsfeatures
92122
92123
92124                     · force (bool) -- Reinstall the  current  version  of  an
92125                       existing  package.  Do  not  use  with  allow_multiple.
92126                       Default is False.
92127
92128                     · pre_versions (bool) --  Include  pre-release  packages.
92129                       Default is False.
92130
92131                     · install_args  (str)  -- A list of install arguments you
92132                       want to pass to the installation  process  i.e  product
92133                       key or feature list. Default is None.
92134
92135                     · override_args  (bool)  --  Set  to  true if you want to
92136                       override the original install arguments (for the native
92137                       installer)  in  the package and use your own. When this
92138                       is set to False install_args will be  appended  to  the
92139                       end of the default arguments. Default is None.
92140
92141                     · force_x86  (bool)  -- Force x86 (32bit) installation on
92142                       64 bit systems. Default is False.
92143
92144                     · package_args (str) -- Arguments you want to pass to the
92145                       package. Default is None.
92146
92147                     · allow_multiple (bool) --
92148
92149                       Allow multiple versions of the package to be installed.
92150                       Do not use with force. Does not work with all packages.
92151                       Default is False.
92152
92153                       New in version 2017.7.0.
92154
92155
92156
92157                     · execution_timeout (str) --
92158
92159                     · execution timeout value you want to pass to the instal‐
92160                       lation process. Default is None. (Chocolatey) --
92161
92162                       New in version 2018.3.0.
92163
92164
92165
92166              Returns
92167                     The output of the chocolatey command
92168
92169              Return type
92170                     str
92171
92172              CLI Example:
92173
92174                 salt '*' chocolatey.install <package name>
92175                 salt '*' chocolatey.install <package name> version=<package version>
92176                 salt '*' chocolatey.install <package name> install_args=<args> override_args=True
92177
92178       salt.modules.chocolatey.install_cygwin(name,  install_args=None,  over‐
92179       ride_args=False)
92180              Instructs Chocolatey to install a package via Cygwin.
92181
92182              name   The  name  of the package to be installed. Only accepts a
92183                     single argument.
92184
92185              install_args
92186                     A list of install arguments  you  want  to  pass  to  the
92187                     installation process i.e product key or feature list
92188
92189              override_args
92190                     Set  to true if you want to override the original install
92191                     arguments (for the native installer) in the  package  and
92192                     use your own. When this is set to False install_args will
92193                     be appended to the end of the default arguments
92194
92195              CLI Example:
92196
92197                 salt '*' chocolatey.install_cygwin <package name>
92198                 salt '*' chocolatey.install_cygwin <package name> install_args=<args> override_args=True
92199
92200       salt.modules.chocolatey.install_gem(name,                 version=None,
92201       install_args=None, override_args=False)
92202              Instructs Chocolatey to install a package via Ruby's Gems.
92203
92204              name   The  name  of the package to be installed. Only accepts a
92205                     single argument.
92206
92207              version
92208                     Install a specific version of the  package.  Defaults  to
92209                     latest version available.
92210
92211              install_args
92212                     A  list  of  install  arguments  you  want to pass to the
92213                     installation process i.e product key or feature list
92214
92215              override_args
92216                     Set to true if you want to override the original  install
92217                     arguments  (for  the native installer) in the package and
92218                     use your own. When this is set to False install_args will
92219                     be appended to the end of the default arguments
92220
92221              CLI Example:
92222
92223                 salt '*' chocolatey.install_gem <package name>
92224                 salt '*' chocolatey.install_gem <package name> version=<package version>
92225                 salt '*' chocolatey.install_gem <package name> install_args=<args> override_args=True
92226
92227       salt.modules.chocolatey.install_missing(name,             version=None,
92228       source=None)
92229              Instructs Chocolatey to install a package if it doesn't  already
92230              exist.
92231
92232              Changed  in  version  2014.7.0:  If the minion has Chocolatey >=
92233              0.9.8.24  installed,  this  function  calls   chocolatey.install
92234              instead,  as installmissing is deprecated as of that version and
92235              will be removed in Chocolatey 1.0.
92236
92237
92238              name   The name of the package to be installed. Only  accepts  a
92239                     single argument.
92240
92241              version
92242                     Install  a  specific  version of the package. Defaults to
92243                     latest version available.
92244
92245              source Chocolatey repository (directory,  share  or  remote  URL
92246                     feed)  the  package  comes from. Defaults to the official
92247                     Chocolatey feed.
92248
92249              CLI Example:
92250
92251                 salt '*' chocolatey.install_missing <package name>
92252                 salt '*' chocolatey.install_missing <package name> version=<package version>
92253
92254       salt.modules.chocolatey.install_python(name,              version=None,
92255       install_args=None, override_args=False)
92256              Instructs   Chocolatey   to   install  a  package  via  Python's
92257              easy_install.
92258
92259              name   The name of the package to be installed. Only  accepts  a
92260                     single argument.
92261
92262              version
92263                     Install  a  specific  version of the package. Defaults to
92264                     latest version available.
92265
92266              install_args
92267                     A list of install arguments  you  want  to  pass  to  the
92268                     installation process i.e product key or feature list
92269
92270              override_args
92271                     Set  to true if you want to override the original install
92272                     arguments (for the native installer) in the  package  and
92273                     use your own. When this is set to False install_args will
92274                     be appended to the end of the default arguments
92275
92276              CLI Example:
92277
92278                 salt '*' chocolatey.install_python <package name>
92279                 salt '*' chocolatey.install_python <package name> version=<package version>
92280                 salt '*' chocolatey.install_python <package name> install_args=<args> override_args=True
92281
92282       salt.modules.chocolatey.install_webpi(name,  install_args=None,   over‐
92283       ride_args=False)
92284              Instructs  Chocolatey to install a package via the Microsoft Web
92285              PI service.
92286
92287              name   The name of the package to be installed. Only  accepts  a
92288                     single argument.
92289
92290              install_args
92291                     A  list  of  install  arguments  you  want to pass to the
92292                     installation process i.e product key or feature list
92293
92294              override_args
92295                     Set to true if you want to override the original  install
92296                     arguments  (for  the native installer) in the package and
92297                     use your own. When this is set to False install_args will
92298                     be appended to the end of the default arguments
92299
92300              CLI Example:
92301
92302                 salt '*' chocolatey.install_webpi <package name>
92303                 salt '*' chocolatey.install_webpi <package name> install_args=<args> override_args=True
92304
92305       salt.modules.chocolatey.install_windowsfeatures(name)
92306              Instructs  Chocolatey  to  install  a  Windows  Feature  via the
92307              Deployment Image Servicing and Management tool.
92308
92309              name   The name of the feature to be installed. Only  accepts  a
92310                     single argument.
92311
92312              CLI Example:
92313
92314                 salt '*' chocolatey.install_windowsfeatures <package name>
92315
92316       salt.modules.chocolatey.list_(narrow=None, all_versions=False, pre_ver‐
92317       sions=False, source=None, local_only=False, exact=False)
92318              Instructs Chocolatey to pull  a  vague  package  list  from  the
92319              repository.
92320
92321              Parameters
92322
92323                     · narrow  (str)  --  Term  used  to  narrow down results.
92324                       Searches against name/description/tag. Default is None.
92325
92326                     · all_versions (bool) -- Display  all  available  package
92327                       versions in results. Default is False.
92328
92329                     · pre_versions  (bool) -- Display pre-release packages in
92330                       results. Default is False.
92331
92332                     · source (str) -- Chocolatey repository (directory, share
92333                       or remote URL feed) the package comes from. Defaults to
92334                       the official Chocolatey feed if None is passed. Default
92335                       is None.
92336
92337                     · local_only  (bool)  --  Display packages only installed
92338                       locally. Default is False.
92339
92340                     · exact (bool) --
92341
92342                       Display  only  packages  that  match  narrow   exactly.
92343                       Default is False.
92344
92345                       New in version 2017.7.0.
92346
92347
92348
92349              Returns
92350                     A dictionary of results.
92351
92352              Return type
92353                     dict
92354
92355              CLI Example:
92356
92357                 salt '*' chocolatey.list <narrow>
92358                 salt '*' chocolatey.list <narrow> all_versions=True
92359
92360       salt.modules.chocolatey.list_webpi()
92361              Instructs Chocolatey to pull a full package list from the Micro‐
92362              soft Web PI repository.
92363
92364              Returns
92365                     List of webpi packages
92366
92367              Return type
92368                     str
92369
92370              CLI Example:
92371
92372                 salt '*' chocolatey.list_webpi
92373
92374       salt.modules.chocolatey.list_windowsfeatures()
92375              Instructs Chocolatey to pull a full package list from  the  Win‐
92376              dows  Features list, via the Deployment Image Servicing and Man‐
92377              agement tool.
92378
92379              Returns
92380                     List of Windows Features
92381
92382              Return type
92383                     str
92384
92385              CLI Example:
92386
92387                 salt '*' chocolatey.list_windowsfeatures
92388
92389       salt.modules.chocolatey.uninstall(name,       version=None,       unin‐
92390       stall_args=None, override_args=False)
92391              Instructs Chocolatey to uninstall a package.
92392
92393              name   The name of the package to be uninstalled. Only accepts a
92394                     single argument.
92395
92396              version
92397                     Uninstalls a specific version of the package. Defaults to
92398                     latest version installed.
92399
92400              uninstall_args
92401                     A  list  of  uninstall  arguments you want to pass to the
92402                     uninstallation process i.e product key or feature list
92403
92404              override_args
92405                     Set to true if you want to override  the  original  unin‐
92406                     stall arguments (for the native uninstaller) in the pack‐
92407                     age and use your own. When this is  set  to  False  unin‐
92408                     stall_args  will  be  appended  to the end of the default
92409                     arguments
92410
92411              CLI Example:
92412
92413                 salt '*' chocolatey.uninstall <package name>
92414                 salt '*' chocolatey.uninstall <package name> version=<package version>
92415                 salt '*' chocolatey.uninstall <package name> version=<package version> uninstall_args=<args> override_args=True
92416
92417       salt.modules.chocolatey.update(name, source=None, pre_versions=False)
92418              Instructs Chocolatey to update packages on the system.
92419
92420              name   The name of the package to update,  or  "all"  to  update
92421                     everything installed on the system.
92422
92423              source Chocolatey  repository  (directory,  share  or remote URL
92424                     feed) the package comes from. Defaults  to  the  official
92425                     Chocolatey feed.
92426
92427              pre_versions
92428                     Include  pre-release  packages in comparison. Defaults to
92429                     False.
92430
92431              CLI Example:
92432
92433                 salt "*" chocolatey.update all
92434                 salt "*" chocolatey.update <package name> pre_versions=True
92435
92436       salt.modules.chocolatey.upgrade(name,    version=None,     source=None,
92437       force=False,      pre_versions=False,      install_args=None,     over‐
92438       ride_args=False, force_x86=False, package_args=None)
92439              New in version 2016.3.4.
92440
92441
92442              Instructs Chocolatey to upgrade packages on the system.  (update
92443              is  being  deprecated). This command will install the package if
92444              not installed.
92445
92446              Parameters
92447
92448                     · name (str) -- The name of the  package  to  update,  or
92449                       "all" to update everything installed on the system.
92450
92451                     · version  (str)  --  Install  a  specific version of the
92452                       package. Defaults to latest version.
92453
92454                     · source (str) -- Chocolatey repository (directory, share
92455                       or remote URL feed) the package comes from. Defaults to
92456                       the official Chocolatey feed.
92457
92458                     · force (bool) --  Reinstall  the  same  version  already
92459                       installed
92460
92461                     · pre_versions  (bool) -- Include pre-release packages in
92462                       comparison. Defaults to False.
92463
92464                     · install_args (str) -- A list of install  arguments  you
92465                       want  to  pass  to the installation process i.e product
92466                       key or feature list
92467
92468                     · override_args (str) -- Set to true if you want to over‐
92469                       ride the original install arguments (for the native in‐
92470                       staller) in the package and use your own. When this  is
92471                       set  to  False install_args will be appended to the end
92472                       of the default arguments
92473
92474                     · force_x86 -- Force x86 (32bit) installation on  64  bit
92475                       systems. Defaults to false.
92476
92477                     · package_args -- A list of arguments you want to pass to
92478                       the package
92479
92480              Returns
92481                     Results of the chocolatey command
92482
92483              Return type
92484                     str
92485
92486              CLI Example:
92487
92488                 salt "*" chocolatey.upgrade all
92489                 salt "*" chocolatey.upgrade <package name> pre_versions=True
92490
92491       salt.modules.chocolatey.version(name, check_remote=False,  source=None,
92492       pre_versions=False)
92493              Instructs  Chocolatey to check an installed package version, and
92494              optionally compare it to one available from a remote feed.
92495
92496              Parameters
92497
92498                     · name (str)  --  The  name  of  the  package  to  check.
92499                       Required.
92500
92501                     · check_remote  (bool)  --  Get the version number of the
92502                       latest package from the remote feed.  Default is False.
92503
92504                     · source (str) -- Chocolatey repository (directory, share
92505                       or remote URL feed) the package comes from. Defaults to
92506                       the official Chocolatey feed.  Default is None.
92507
92508                     · pre_versions (bool) -- Include pre-release packages  in
92509                       comparison. Default is False.
92510
92511              Returns
92512                     A dictionary of currently installed software and versions
92513
92514              Return type
92515                     dict
92516
92517              CLI Example:
92518
92519                 salt "*" chocolatey.version <package name>
92520                 salt "*" chocolatey.version <package name> check_remote=True
92521
92522   salt.modules.chronos module
92523       Module providing a simple management interface to a chronos cluster.
92524
92525       Currently this only works when run through a proxy minion.
92526
92527       New in version 2015.8.2.
92528
92529
92530       salt.modules.chronos.has_job(name)
92531              Return whether the given job is currently configured.
92532
92533              CLI Example:
92534
92535                 salt chronos-minion-id chronos.has_job my-job
92536
92537       salt.modules.chronos.job(name)
92538              Return the current server configuration for the specified job.
92539
92540              CLI Example:
92541
92542                 salt chronos-minion-id chronos.job my-job
92543
92544       salt.modules.chronos.jobs()
92545              Return a list of the currently installed job names.
92546
92547              CLI Example:
92548
92549                 salt chronos-minion-id chronos.jobs
92550
92551       salt.modules.chronos.rm_job(name)
92552              Remove the specified job from the server.
92553
92554              CLI Example:
92555
92556                 salt chronos-minion-id chronos.rm_job my-job
92557
92558       salt.modules.chronos.update_job(name, config)
92559              Update the specified job with the given configuration.
92560
92561              CLI Example:
92562
92563                 salt chronos-minion-id chronos.update_job my-job '<config yaml>'
92564
92565   salt.modules.cimc module
92566       Module to provide Cisco UCS compatibility to Salt
92567
92568       codeauthor
92569              Spencer Ervin <spencer_ervin@hotmail.com>
92570
92571       maturity
92572              new
92573
92574       depends
92575              none
92576
92577       platform
92578              unix
92579
92580   Configuration
92581       This  module accepts connection configuration details either as parame‐
92582       ters, or as configuration settings in pillar as a Salt proxy.   Options
92583       passed into opts will be ignored if options are passed into pillar.
92584
92585       SEE ALSO:
92586          Cisco UCS Proxy Module
92587
92588   About
92589       This execution module was designed to handle connections to a Cisco UCS
92590       server.  This module adds support to send connections directly  to  the
92591       device through the rest API.
92592
92593       salt.modules.cimc.activate_backup_image(reset=False)
92594              Activates the firmware backup image.
92595
92596              CLI Example:
92597
92598              Parameters
92599                     reset (bool) -- Reset the CIMC device on activate.
92600
92601                 salt '*' cimc.activate_backup_image
92602                 salt '*' cimc.activate_backup_image reset=True
92603
92604       salt.modules.cimc.create_user(uid=None,  username=None,  password=None,
92605       priv=None)
92606              Create a CIMC user with username and password.
92607
92608              Parameters
92609
92610                     · uid (int) -- The  user  ID  slot  to  create  the  user
92611                       account in.
92612
92613                     · username (str) -- The name of the user.
92614
92615                     · password (str) -- The clear text password of the user.
92616
92617                     · priv (str) -- The privilege level of the user.
92618
92619              CLI Example:
92620
92621                 salt '*' cimc.create_user 11 username=admin password=foobar priv=admin
92622
92623       salt.modules.cimc.get_bios_defaults()
92624              Get the default values of BIOS tokens.
92625
92626              CLI Example:
92627
92628                 salt '*' cimc.get_bios_defaults
92629
92630       salt.modules.cimc.get_bios_settings()
92631              Get the C240 server BIOS token values.
92632
92633              CLI Example:
92634
92635                 salt '*' cimc.get_bios_settings
92636
92637       salt.modules.cimc.get_boot_order()
92638              Retrieves the configured boot order table.
92639
92640              CLI Example:
92641
92642                 salt '*' cimc.get_boot_order
92643
92644       salt.modules.cimc.get_cpu_details()
92645              Get the CPU product ID details.
92646
92647              CLI Example:
92648
92649                 salt '*' cimc.get_cpu_details
92650
92651       salt.modules.cimc.get_disks()
92652              Get the HDD product ID details.
92653
92654              CLI Example:
92655
92656                 salt '*' cimc.get_disks
92657
92658       salt.modules.cimc.get_ethernet_interfaces()
92659              Get the adapter Ethernet interface details.
92660
92661              CLI Example:
92662
92663                 salt '*' cimc.get_ethernet_interfaces
92664
92665       salt.modules.cimc.get_fibre_channel_interfaces()
92666              Get the adapter fibre channel interface details.
92667
92668              CLI Example:
92669
92670                 salt '*' cimc.get_fibre_channel_interfaces
92671
92672       salt.modules.cimc.get_firmware()
92673              Retrieves the current running firmware versions of server compo‐
92674              nents.
92675
92676              CLI Example:
92677
92678                 salt '*' cimc.get_firmware
92679
92680       salt.modules.cimc.get_hostname()
92681              Retrieves the hostname from the device.
92682
92683              New in version 2019.2.0.
92684
92685
92686              CLI Example:
92687
92688                 salt '*' cimc.get_hostname
92689
92690       salt.modules.cimc.get_ldap()
92691              Retrieves LDAP server details.
92692
92693              CLI Example:
92694
92695                 salt '*' cimc.get_ldap
92696
92697       salt.modules.cimc.get_management_interface()
92698              Retrieve the management interface details.
92699
92700              CLI Example:
92701
92702                 salt '*' cimc.get_management_interface
92703
92704       salt.modules.cimc.get_memory_token()
92705              Get the memory RAS BIOS token.
92706
92707              CLI Example:
92708
92709                 salt '*' cimc.get_memory_token
92710
92711       salt.modules.cimc.get_memory_unit()
92712              Get the IMM/Memory unit product ID details.
92713
92714              CLI Example:
92715
92716                 salt '*' cimc.get_memory_unit
92717
92718       salt.modules.cimc.get_network_adapters()
92719              Get the list of network adapaters and configuration details.
92720
92721              CLI Example:
92722
92723                 salt '*' cimc.get_network_adapters
92724
92725       salt.modules.cimc.get_ntp()
92726              Retrieves the current running NTP configuration.
92727
92728              CLI Example:
92729
92730                 salt '*' cimc.get_ntp
92731
92732       salt.modules.cimc.get_pci_adapters()
92733              Get the PCI adapter product ID details.
92734
92735              CLI Example:
92736
92737                 salt '*' cimc.get_disks
92738
92739       salt.modules.cimc.get_power_configuration()
92740              Get the configuration of the power  settings  from  the  device.
92741              This is only available on some C-Series servers.
92742
92743              New in version 2019.2.0.
92744
92745
92746              CLI Example:
92747
92748                 salt '*' cimc.get_power_configuration
92749
92750       salt.modules.cimc.get_power_supplies()
92751              Retrieves the power supply unit details.
92752
92753              CLI Example:
92754
92755                 salt '*' cimc.get_power_supplies
92756
92757       salt.modules.cimc.get_snmp_config()
92758              Get the snmp configuration details.
92759
92760              CLI Example:
92761
92762                 salt '*' cimc.get_snmp_config
92763
92764       salt.modules.cimc.get_syslog()
92765              Get the Syslog client-server details.
92766
92767              CLI Example:
92768
92769                 salt '*' cimc.get_syslog
92770
92771       salt.modules.cimc.get_syslog_settings()
92772              Get the Syslog configuration settings from the system.
92773
92774              New in version 2019.2.0.
92775
92776
92777              CLI Example:
92778
92779                 salt '*' cimc.get_syslog_settings
92780
92781       salt.modules.cimc.get_system_info()
92782              Get the system information.
92783
92784              CLI Example:
92785
92786                 salt '*' cimc.get_system_info
92787
92788       salt.modules.cimc.get_users()
92789              Get the CIMC users.
92790
92791              CLI Example:
92792
92793                 salt '*' cimc.get_users
92794
92795       salt.modules.cimc.get_vic_adapters()
92796              Get the VIC adapter general profile details.
92797
92798              CLI Example:
92799
92800                 salt '*' cimc.get_vic_adapters
92801
92802       salt.modules.cimc.get_vic_uplinks()
92803              Get the VIC adapter uplink port details.
92804
92805              CLI Example:
92806
92807                 salt '*' cimc.get_vic_uplinks
92808
92809       salt.modules.cimc.mount_share(name=None,             remote_share=None,
92810       remote_file=None, mount_type=u'nfs', username=None, password=None)
92811              Mounts a remote file through a  remote  share.  Currently,  this
92812              feature  is  supported  in  version  1.5 or greater.  The remote
92813              share can be either NFS, CIFS, or WWW.
92814
92815              Some of the advantages of CIMC Mounted vMedia include:
92816                     Communication between  mounted  media  and  target  stays
92817                     local   (inside   datacenter)   Media   mounts   can   be
92818                     scripted/automated No vKVM requirements for media connec‐
92819                     tion Multiple share types supported Connections supported
92820                     through all CIMC interfaces
92821
92822                     Note: CIMC Mounted vMedia is enabled through BIOS config‐
92823                     uration.
92824
92825              Parameters
92826
92827                     · name  (str)  --  The  name  of  the  volume on the CIMC
92828                       device.
92829
92830                     · remote_share (str) -- The file share link that will  be
92831                       used to mount the share. This can be NFS, CIFS, or WWW.
92832                       This
92833
92834                     · be the directory path and not  the  full  path  to  the
92835                       remote file. (must) --
92836
92837                     · remote_file  (str)  --  The  name of the remote file to
92838                       mount. It must reside within remote_share.
92839
92840                     · mount_type (str) -- The type of share to  mount.  Valid
92841                       options are nfs, cifs, and www.
92842
92843                     · username  (str) -- An optional requirement to pass cre‐
92844                       dentials to the remote share. If not provided, an
92845
92846                     · connection attempt will be made. (unauthenticated) --
92847
92848                     · password (str) -- An optional  requirement  to  pass  a
92849                       password to the remote share. If not provided, an
92850
92851                     · connection attempt will be made. --
92852
92853              CLI Example:
92854
92855                 salt '*' cimc.mount_share name=WIN7 remote_share=10.xxx.27.xxx:/nfs remote_file=sl1huu.iso
92856
92857                 salt '*' cimc.mount_share name=WIN7 remote_share=10.xxx.27.xxx:/nfs remote_file=sl1huu.iso username=bob password=badpassword
92858
92859       salt.modules.cimc.reboot()
92860              Power cycling the server.
92861
92862              CLI Example:
92863
92864                 salt '*' cimc.reboot
92865
92866       salt.modules.cimc.set_hostname(hostname=None)
92867              Sets the hostname on the server.
92868
92869              New in version 2019.2.0.
92870
92871
92872              Parameters
92873                     hostname (str) -- The new hostname to set.
92874
92875              CLI Example:
92876
92877                 salt '*' cimc.set_hostname foobar
92878
92879       salt.modules.cimc.set_logging_levels(remote=None, local=None)
92880              Sets  the logging levels of the CIMC devices. The logging levels
92881              must match the following options:  emergency,  alert,  critical,
92882              error, warning, notice, informational, debug.
92883
92884              New in version 2019.2.0.
92885
92886
92887              Parameters
92888
92889                     · remote (str) -- The logging level for SYSLOG logs.
92890
92891                     · local (str) -- The logging level for the local device.
92892
92893              CLI Example:
92894
92895                 salt '*' cimc.set_logging_levels remote=error local=notice
92896
92897       salt.modules.cimc.set_ntp_server(server1=u'', server2=u'', server3=u'',
92898       server4=u'')
92899              Sets the NTP servers configuration. This will  also  enable  the
92900              client NTP service.
92901
92902              Parameters
92903
92904                     · server1  (str)  --  The first IP address or FQDN of the
92905                       NTP servers.
92906
92907                     · server2 (str) -- The second IP address or FQDN  of  the
92908                       NTP servers.
92909
92910                     · server3  (str)  --  The third IP address or FQDN of the
92911                       NTP servers.
92912
92913                     · server4 (str) -- The fourth IP address or FQDN  of  the
92914                       NTP servers.
92915
92916              CLI Example:
92917
92918                 salt '*' cimc.set_ntp_server 10.10.10.1
92919
92920                 salt '*' cimc.set_ntp_server 10.10.10.1 foo.bar.com
92921
92922       salt.modules.cimc.set_power_configuration(policy=None,  delayType=None,
92923       delayValue=None)
92924              Sets the power configuration on the device. This is only  avail‐
92925              able for some C-Series servers.
92926
92927              New in version 2019.2.0.
92928
92929
92930              Parameters
92931
92932                     · policy  (str)  --  The  action to be taken when chassis
92933                       power is restored after
92934
92935                     · unexpected power loss. This can be one of the following
92936                       (an) --
92937
92938                       reset:  The  server is allowed to boot up normally when
92939                       power is restored. The server can  restart  immediately
92940                       or, optionally, after a fixed or random delay.
92941
92942                       stay-off:  The  server remains off until it is manually
92943                       restarted.
92944
92945                       last-state: The server restarts and the system attempts
92946                       to restore any processes that were running before power
92947                       was lost.
92948
92949
92950                     · delayType (str) -- If the selected policy is reset, the
92951                       restart can be
92952
92953                     · with  this  option.  This  can  be one of the following
92954                       (delayed) --
92955
92956                       fixed: The server restarts after a fixed delay.
92957
92958                       random: The server restarts after a random delay.
92959
92960
92961                     · delayValue (int) -- If a fixed delay is selected,  once
92962                       chassis power is
92963
92964                     · and  the  Cisco  IMC has finished rebooting, the system
92965                       waits for (restored) --
92966
92967                     · specified  number  of  seconds  before  restarting  the
92968                       server. Enter an (the) --
92969
92970                     · between 0 and 240. (integer) --
92971
92972              CLI Example:
92973
92974                 salt '*' cimc.set_power_configuration stay-off
92975
92976                 salt '*' cimc.set_power_configuration reset fixed 0
92977
92978       salt.modules.cimc.set_syslog_server(server=None, type=u'primary')
92979              Set the SYSLOG server on the host.
92980
92981              Parameters
92982
92983                     · server  (str) -- The hostname or IP address of the SYS‐
92984                       LOG server.
92985
92986                     · type (str) -- Specifies the type of SYSLOG server. This
92987                       can either be primary (default) or secondary.
92988
92989              CLI Example:
92990
92991                 salt '*' cimc.set_syslog_server foo.bar.com
92992
92993                 salt '*' cimc.set_syslog_server foo.bar.com primary
92994
92995                 salt '*' cimc.set_syslog_server foo.bar.com secondary
92996
92997       salt.modules.cimc.set_user(uid=None,    username=None,   password=None,
92998       priv=None, status=None)
92999              Sets a CIMC user with specified configurations.
93000
93001              New in version 2019.2.0.
93002
93003
93004              Parameters
93005
93006                     · uid (int) -- The  user  ID  slot  to  create  the  user
93007                       account in.
93008
93009                     · username (str) -- The name of the user.
93010
93011                     · password (str) -- The clear text password of the user.
93012
93013                     · priv (str) -- The privilege level of the user.
93014
93015                     · status (str) -- The account status of the user.
93016
93017              CLI Example:
93018
93019                 salt '*' cimc.set_user 11 username=admin password=foobar priv=admin active
93020
93021       salt.modules.cimc.tftp_update_bios(server=None, path=None)
93022              Update the BIOS firmware through TFTP.
93023
93024              Parameters
93025
93026                     · server  (str) -- The IP address or hostname of the TFTP
93027                       server.
93028
93029                     · path (str) -- The TFTP path and filename for  the  BIOS
93030                       image.
93031
93032              CLI Example:
93033
93034                 salt '*' cimc.tftp_update_bios foo.bar.com HP-SL2.cap
93035
93036       salt.modules.cimc.tftp_update_cimc(server=None, path=None)
93037              Update the CIMC firmware through TFTP.
93038
93039              Parameters
93040
93041                     · server  (str) -- The IP address or hostname of the TFTP
93042                       server.
93043
93044                     · path (str) -- The TFTP path and filename for  the  CIMC
93045                       image.
93046
93047              CLI Example:
93048
93049                 salt '*' cimc.tftp_update_cimc foo.bar.com HP-SL2.bin
93050
93051   salt.modules.ciscoconfparse_mod module
93052       Execution module for ciscoconfparse
93053
93054       New in version 2019.2.0.
93055
93056
93057       This module can be used for basic configuration parsing, audit or vali‐
93058       dation for a variety of network platforms having Cisco IOS  style  con‐
93059       figuration  (one space indentation), including: Cisco IOS, Cisco Nexus,
93060       Cisco  IOS-XR,  Cisco  IOS-XR,  Cisco  ASA,  Arista  EOS,  Brocade,  HP
93061       Switches,  Dell  PowerConnect Switches, or Extreme Networks devices. In
93062       newer versions, ciscoconfparse  provides  support  for  brace-delimited
93063       configuration style as well, for platforms such as: Juniper Junos, Palo
93064       Alto, or F5 Networks.
93065
93066       See http://www.pennington.net/py/ciscoconfparse/index.html for  further
93067       details.
93068
93069       depends
93070              ciscoconfparse
93071
93072       This  module  depends  on the Python library with the same name, cisco‐
93073       confparse - to install execute: pip install ciscoconfparse.
93074
93075       salt.modules.ciscoconfparse_mod.filter_lines(config=None,          con‐
93076       fig_path=None, parent_regex=None, child_regex=None, saltenv=u'base')
93077              Return  a list of detailed matches, for the configuration blocks
93078              (parent-child relationship) whose parent  respects  the  regular
93079              expressions  configured  via  the parent_regex argument, and the
93080              child matches the child_regex regular expression. The result  is
93081              a list of dictionaries with the following keys:
93082
93083              · match:  a boolean value that tells whether child_regex matched
93084                any children lines.
93085
93086              · parent: the parent line (as text).
93087
93088              · child: the child line (as text). If  no  child  line  matched,
93089                this field will be None.
93090
93091              Note that the return list contains the elements that matched the
93092              parent condition, the parent_regex  regular  expression.  There‐
93093              fore,  the  parent  field  will always have a valid value, while
93094              match and child may default to False and None respectively  when
93095              there is not child match.
93096
93097              CLI Example:
93098
93099                 salt '*' ciscoconfparse.filter_lines config_path=https://bit.ly/2mAdq7z parent_regex='Gigabit' child_regex='shutdown'
93100
93101              Example output (for the example above):
93102
93103                 [
93104                     {
93105                         'parent': 'interface GigabitEthernet1',
93106                         'match': False,
93107                         'child': None
93108                     },
93109                     {
93110                         'parent': 'interface GigabitEthernet2',
93111                         'match': True,
93112                         'child': ' shutdown'
93113                     },
93114                     {
93115                         'parent': 'interface GigabitEthernet3',
93116                         'match': True,
93117                         'child': ' shutdown'
93118                     }
93119                 ]
93120
93121       salt.modules.ciscoconfparse_mod.find_lines(config=None,            con‐
93122       fig_path=None, regex=None, saltenv=u'base')
93123              Return all the lines (as text) that match the expression in  the
93124              regex argument.
93125
93126              config The configuration sent as text.
93127
93128                     NOTE:
93129                        This  argument  is  ignored when config_path is speci‐
93130                        fied.
93131
93132              config_path
93133                     The absolute or remote path to the file with the configu‐
93134                     ration  to  be  parsed.  This argument supports the usual
93135                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
93136                     s3://, etc.
93137
93138              regex  The regular expression to match the lines against.
93139
93140              saltenv: base
93141                     Salt  fileserver  environment  from which to retrieve the
93142                     file. This argument is ignored when config_path is not  a
93143                     salt:// URL.
93144
93145              CLI Example:
93146
93147                 salt '*' ciscoconfparse.find_lines config_path=https://bit.ly/2mAdq7z regex='ip address'
93148
93149              Output example:
93150
93151                 cisco-ios-router:
93152                      -  ip address dhcp
93153                      -  ip address 172.20.0.1 255.255.255.0
93154                      -  no ip address
93155
93156       salt.modules.ciscoconfparse_mod.find_lines_w_child(config=None,    con‐
93157       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
93158       saltenv=u'base')
93159              Return  a  list  of parent lines (as text)  matching the regular
93160              expression  parent_regex  that  have  children  lines   matching
93161              child_regex.
93162
93163              config The configuration sent as text.
93164
93165                     NOTE:
93166                        This  argument  is  ignored when config_path is speci‐
93167                        fied.
93168
93169              config_path
93170                     The absolute or remote path to the file with the configu‐
93171                     ration  to  be  parsed.  This argument supports the usual
93172                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
93173                     s3://, etc.
93174
93175              parent_regex
93176                     The regular expression to match the parent lines against.
93177
93178              child_regex
93179                     The regular expression to match the child lines against.
93180
93181              ignore_ws: False
93182                     Whether to ignore the white spaces.
93183
93184              saltenv: base
93185                     Salt  fileserver  environment  from which to retrieve the
93186                     file. This argument is ignored when config_path is not  a
93187                     salt:// URL.
93188
93189              CLI Example:
93190
93191                 salt '*' ciscoconfparse.find_lines_w_child config_path=https://bit.ly/2mAdq7z parent_line='line con' child_line='stopbits'
93192                 salt '*' ciscoconfparse.find_lines_w_child config_path=https://bit.ly/2uIRxau parent_regex='ge-(.*)' child_regex='unit \d+'
93193
93194       salt.modules.ciscoconfparse_mod.find_lines_wo_child(config=None,   con‐
93195       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
93196       saltenv=u'base')
93197              Return a list of parent ciscoconfparse.IOSCfgLine lines as text,
93198              which matched the parent_regex and whose children did not  match
93199              child_regex.   Only  the  parent  ciscoconfparse.IOSCfgLine text
93200              lines  will be returned.  For simplicity, this method only finds
93201              oldest ancestors without immediate children that match.
93202
93203              config The configuration sent as text.
93204
93205                     NOTE:
93206                        This  argument  is  ignored when config_path is speci‐
93207                        fied.
93208
93209              config_path
93210                     The absolute or remote path to the file with the configu‐
93211                     ration  to  be  parsed.  This argument supports the usual
93212                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
93213                     s3://, etc.
93214
93215              parent_regex
93216                     The regular expression to match the parent lines against.
93217
93218              child_regex
93219                     The regular expression to match the child lines against.
93220
93221              ignore_ws: False
93222                     Whether to ignore the white spaces.
93223
93224              saltenv: base
93225                     Salt  fileserver  environment  from which to retrieve the
93226                     file. This argument is ignored when config_path is not  a
93227                     salt:// URL.
93228
93229              CLI Example:
93230
93231                 salt '*' ciscoconfparse.find_lines_wo_child config_path=https://bit.ly/2mAdq7z parent_line='line con' child_line='stopbits'
93232
93233       salt.modules.ciscoconfparse_mod.find_objects(config=None,          con‐
93234       fig_path=None, regex=None, saltenv=u'base')
93235              Return all the line objects that match  the  expression  in  the
93236              regex argument.
93237
93238              WARNING:
93239                 This function is mostly valuable when invoked from other Salt
93240                 components (i.e., execution modules, states, templates etc.).
93241                 For    CLI    usage,   please   consider   using   ciscoconf‐
93242                 parse.find_lines
93243
93244              config The configuration sent as text.
93245
93246                     NOTE:
93247                        This argument is ignored when  config_path  is  speci‐
93248                        fied.
93249
93250              config_path
93251                     The absolute or remote path to the file with the configu‐
93252                     ration to be parsed. This  argument  supports  the  usual
93253                     Salt  filesystem  URIs,  e.g., salt://, https://, ftp://,
93254                     s3://, etc.
93255
93256              regex  The regular expression to match the lines against.
93257
93258              saltenv: base
93259                     Salt fileserver environment from which  to  retrieve  the
93260                     file.  This argument is ignored when config_path is not a
93261                     salt:// URL.
93262
93263              Usage example:
93264
93265                 objects = __salt__['ciscoconfparse.find_objects'](config_path='salt://path/to/config.txt',
93266                                                                   regex='Gigabit')
93267                 for obj in objects:
93268                     print(obj.text)
93269
93270       salt.modules.ciscoconfparse_mod.find_objects_w_child(config=None,  con‐
93271       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
93272       saltenv=u'base')
93273              Parse through the children of all  parent  lines  matching  par‐
93274              ent_regex, and return a list of child objects, which matched the
93275              child_regex.
93276
93277              WARNING:
93278                 This function is mostly valuable when invoked from other Salt
93279                 components (i.e., execution modules, states, templates etc.).
93280                 For   CLI   usage,   please   consider    using    ciscoconf‐
93281                 parse.find_lines_w_child
93282
93283              config The configuration sent as text.
93284
93285                     NOTE:
93286                        This  argument  is  ignored when config_path is speci‐
93287                        fied.
93288
93289              config_path
93290                     The absolute or remote path to the file with the configu‐
93291                     ration  to  be  parsed.  This argument supports the usual
93292                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
93293                     s3://, etc.
93294
93295              parent_regex
93296                     The regular expression to match the parent lines against.
93297
93298              child_regex
93299                     The regular expression to match the child lines against.
93300
93301              ignore_ws: False
93302                     Whether to ignore the white spaces.
93303
93304              saltenv: base
93305                     Salt  fileserver  environment  from which to retrieve the
93306                     file. This argument is ignored when config_path is not  a
93307                     salt:// URL.
93308
93309              Usage example:
93310
93311                 objects = __salt__['ciscoconfparse.find_objects_w_child'](config_path='https://bit.ly/2mAdq7z',
93312                                                                           parent_regex='line con',
93313                                                                           child_regex='stopbits')
93314                 for obj in objects:
93315                     print(obj.text)
93316
93317       salt.modules.ciscoconfparse_mod.find_objects_wo_child(config=None, con‐
93318       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
93319       saltenv=u'base')
93320              Return a list of parent ciscoconfparse.IOSCfgLine objects, which
93321              matched the  parent_regex  and  whose  children  did  not  match
93322              child_regex.   Only the parent ciscoconfparse.IOSCfgLine objects
93323              will be returned. For simplicity, this method only finds  oldest
93324              ancestors without immediate children that match.
93325
93326              WARNING:
93327                 This function is mostly valuable when invoked from other Salt
93328                 components (i.e., execution modules, states, templates etc.).
93329                 For    CLI    usage,   please   consider   using   ciscoconf‐
93330                 parse.find_lines_wo_child
93331
93332              config The configuration sent as text.
93333
93334                     NOTE:
93335                        This argument is ignored when  config_path  is  speci‐
93336                        fied.
93337
93338              config_path
93339                     The absolute or remote path to the file with the configu‐
93340                     ration to be parsed. This  argument  supports  the  usual
93341                     Salt  filesystem  URIs,  e.g., salt://, https://, ftp://,
93342                     s3://, etc.
93343
93344              parent_regex
93345                     The regular expression to match the parent lines against.
93346
93347              child_regex
93348                     The regular expression to match the child lines against.
93349
93350              ignore_ws: False
93351                     Whether to ignore the white spaces.
93352
93353              saltenv: base
93354                     Salt fileserver environment from which  to  retrieve  the
93355                     file.  This argument is ignored when config_path is not a
93356                     salt:// URL.
93357
93358              Usage example:
93359
93360                 objects = __salt__['ciscoconfparse.find_objects_wo_child'](config_path='https://bit.ly/2mAdq7z',
93361                                                                            parent_regex='line con',
93362                                                                            child_regex='stopbits')
93363                 for obj in objects:
93364                     print(obj.text)
93365
93366   salt.modules.cisconso
93367       Execution module for Cisco Network Services Orchestrator Proxy minions
93368
93369       For documentation on setting up the cisconso proxy minion look  in  the
93370       documentation for salt.proxy.cisconso.
93371
93372       salt.modules.cisconso.apply_rollback(datastore, name)
93373              Apply a system rollback
93374
93375              Parameters
93376
93377                     · datastore (DatastoreType (str enum).) -- The datastore,
93378                       e.g. running, operational.  One of  the  NETCONF  store
93379                       IETF types
93380
93381                     · name (str) -- an ID of the rollback to restore
93382
93383                 salt cisco-nso cisconso.apply_rollback 52
93384
93385       salt.modules.cisconso.get_data(datastore, path)
93386              Get the configuration of the device tree at the given path
93387
93388              Parameters
93389
93390                     · datastore (DatastoreType (str enum).) -- The datastore,
93391                       e.g. running, operational.  One of  the  NETCONF  store
93392                       IETF types
93393
93394                     · path (list, str OR tuple) -- The device path to set the
93395                       value at, a list of element names in order, / separated
93396
93397              Returns
93398                     The network configuration at that tree
93399
93400              Return type
93401                     dict
93402
93403                 salt cisco-nso cisconso.get_data running 'devices/ex0'
93404
93405       salt.modules.cisconso.get_rollback(name)
93406              Get the backup of stored a configuration rollback
93407
93408              Parameters
93409                     name (str) -- Typically an ID of the backup
93410
93411              Return type
93412                     str
93413
93414              Returns
93415                     the contents of the rollback snapshot
93416
93417                 salt cisco-nso cisconso.get_rollback 52
93418
93419       salt.modules.cisconso.get_rollbacks()
93420              Get a list of stored configuration rollbacks
93421
93422                 salt cisco-nso cisconso.get_rollbacks
93423
93424       salt.modules.cisconso.info()
93425              Return system information for grains of the NSO proxy minion
93426
93427                 salt '*' cisconso.info
93428
93429       salt.modules.cisconso.set_data_value(datastore, path, data)
93430              Set a data entry in a datastore
93431
93432              Parameters
93433
93434                     · datastore (DatastoreType (str enum).) -- The datastore,
93435                       e.g.  running,  operational.   One of the NETCONF store
93436                       IETF types
93437
93438                     · path (list, str OR tuple) -- The device path to set the
93439                       value at, a list of element names in order, / separated
93440
93441                     · data (dict) -- The new value at the given path
93442
93443              Return type
93444                     bool
93445
93446              Returns
93447                     True if successful, otherwise error.
93448
93449                 salt cisco-nso cisconso.set_data_value running 'devices/ex0/routes' 10.0.0.20/24
93450
93451   salt.modules.cloud
93452       Salt-specific interface for calling Salt Cloud directly
93453
93454       salt.modules.cloud.action(fun=None,      cloudmap=None,     names=None,
93455       provider=None, instance=None, **kwargs)
93456              Execute a single action on the given provider/instance
93457
93458              CLI Example:
93459
93460                 salt minionname cloud.action start instance=myinstance
93461                 salt minionname cloud.action stop instance=myinstance
93462                 salt minionname cloud.action show_image provider=my-ec2-config image=ami-1624987f
93463
93464       salt.modules.cloud.create(provider, names, opts=None, **kwargs)
93465              Create an instance using Salt Cloud
93466
93467              CLI Example:
93468
93469                 salt minionname cloud.create my-ec2-config myinstance image=ami-1624987f size='t1.micro' ssh_username=ec2-user securitygroup=default delvol_on_destroy=True
93470
93471       salt.modules.cloud.destroy(names)
93472              Destroy the named VM(s)
93473
93474              CLI Example:
93475
93476                 salt minionname cloud.destroy myinstance
93477
93478       salt.modules.cloud.full_query(query_type=u'list_nodes_full')
93479              List all available cloud provider data
93480
93481              CLI Example:
93482
93483                 salt minionname cloud.full_query
93484
93485       salt.modules.cloud.get_instance(name, provider=None)
93486              Return details on an instance.
93487
93488              Similar to the cloud action show_instance but returns  only  the
93489              instance details.
93490
93491              CLI Example:
93492
93493                 salt minionname cloud.get_instance myinstance
93494
93495              SLS Example:
93496
93497                 {{ salt['cloud.get_instance']('myinstance')['mac_address'] }}
93498
93499       salt.modules.cloud.has_instance(name, provider=None)
93500              Return true if the instance is found on a provider
93501
93502              CLI Example:
93503
93504                 salt minionname cloud.has_instance myinstance
93505
93506       salt.modules.cloud.list_images(provider=u'all')
93507              List cloud provider images for the given providers
93508
93509              CLI Example:
93510
93511                 salt minionname cloud.list_images my-gce-config
93512
93513       salt.modules.cloud.list_locations(provider=u'all')
93514              List cloud provider locations for the given providers
93515
93516              CLI Example:
93517
93518                 salt minionname cloud.list_locations my-gce-config
93519
93520       salt.modules.cloud.list_sizes(provider=u'all')
93521              List cloud provider sizes for the given providers
93522
93523              CLI Example:
93524
93525                 salt minionname cloud.list_sizes my-gce-config
93526
93527       salt.modules.cloud.map_run(path=None, **kwargs)
93528              Execute a salt cloud map file
93529
93530              Cloud Map data can be retrieved from several sources:
93531
93532              · a local file (provide the path to the file to the 'path' argu‐
93533                ment)
93534
93535              · a JSON-formatted map directly (provide the appropriately  for‐
93536                matted to using the 'map_data' argument)
93537
93538              · the   Salt  Pillar  (provide  the  map  name  of  under  'pil‐
93539                lar:cloud:maps' to the 'map_pillar' argument)
93540
93541              NOTE:
93542                 Only one of these sources can be read at a time. The  options
93543                 are listed in their order of precedence.
93544
93545              CLI Examples:
93546
93547                 salt minionname cloud.map_run /path/to/cloud.map
93548                 salt minionname cloud.map_run path=/path/to/cloud.map
93549                 salt minionname cloud.map_run map_pillar='<map_pillar>'
93550                   .. versionchanged:: 2018.3.1
93551                 salt minionname cloud.map_run map_data='<actual map data>'
93552
93553       salt.modules.cloud.network_create(provider, names, **kwargs)
93554              Create private network
93555
93556              CLI Example:
93557
93558                 salt minionname cloud.network_create my-nova names=['salt'] cidr='192.168.100.0/24'
93559
93560       salt.modules.cloud.network_list(provider)
93561              List private networks
93562
93563              CLI Example:
93564
93565                 salt minionname cloud.network_list my-nova
93566
93567       salt.modules.cloud.profile_(profile,      names,     vm_overrides=None,
93568       opts=None, **kwargs)
93569              Spin up an instance using Salt Cloud
93570
93571              CLI Example:
93572
93573                 salt minionname cloud.profile my-gce-config myinstance
93574
93575       salt.modules.cloud.query(query_type=u'list_nodes')
93576              List cloud provider data for all providers
93577
93578              CLI Examples:
93579
93580                 salt minionname cloud.query
93581                 salt minionname cloud.query list_nodes_full
93582                 salt minionname cloud.query list_nodes_select
93583
93584       salt.modules.cloud.select_query(query_type=u'list_nodes_select')
93585              List selected nodes
93586
93587              CLI Example:
93588
93589                 salt minionname cloud.select_query
93590
93591       salt.modules.cloud.virtual_interface_create(provider, names, **kwargs)
93592              Attach private interfaces to a server
93593
93594              CLI Example:
93595
93596                 salt minionname cloud.virtual_interface_create my-nova names=['salt-master'] net_name='salt'
93597
93598       salt.modules.cloud.virtual_interface_list(provider, names, **kwargs)
93599              List virtual interfaces on a server
93600
93601              CLI Example:
93602
93603                 salt minionname cloud.virtual_interface_list my-nova names=['salt-master']
93604
93605       salt.modules.cloud.volume_attach(provider, names, **kwargs)
93606              Attach volume to a server
93607
93608              CLI Example:
93609
93610                 salt minionname cloud.volume_attach my-nova myblock server_name=myserver device='/dev/xvdf'
93611
93612       salt.modules.cloud.volume_create(provider, names, **kwargs)
93613              Create volume
93614
93615              CLI Example:
93616
93617                 salt minionname cloud.volume_create my-nova myblock size=100 voltype=SSD
93618
93619       salt.modules.cloud.volume_delete(provider, names, **kwargs)
93620              Delete volume
93621
93622              CLI Example:
93623
93624                 salt minionname cloud.volume_delete my-nova myblock
93625
93626       salt.modules.cloud.volume_detach(provider, names, **kwargs)
93627              Detach volume from a server
93628
93629              CLI Example:
93630
93631                 salt minionname cloud.volume_detach my-nova myblock server_name=myserver
93632
93633       salt.modules.cloud.volume_list(provider)
93634              List block storage volumes
93635
93636              CLI Example:
93637
93638                 salt minionname cloud.volume_list my-nova
93639
93640   salt.modules.cmdmod
93641       A module for shelling out.
93642
93643       Keep in mind that this module is insecure, in that it can give whomever
93644       has access to the master root execution access to all salt minions.
93645
93646       salt.modules.cmdmod.exec_code(lang,    code,    cwd=None,    args=None,
93647       **kwargs)
93648              Pass in two strings, the first naming the  executable  language,
93649              aka  - python2, python3, ruby, perl, lua, etc. the second string
93650              containing the code you wish to  execute.  The  stdout  will  be
93651              returned.
93652
93653              All parameters from cmd.run_all except python_shell can be used.
93654
93655              CLI Example:
93656
93657                 salt '*' cmd.exec_code ruby 'puts "cheese"'
93658                 salt '*' cmd.exec_code ruby 'puts "cheese"' args='["arg1", "arg2"]' env='{"FOO": "bar"}'
93659
93660       salt.modules.cmdmod.exec_code_all(lang,   code,   cwd=None,  args=None,
93661       **kwargs)
93662              Pass in two strings, the first naming the  executable  language,
93663              aka  - python2, python3, ruby, perl, lua, etc. the second string
93664              containing the code you wish to execute. All cmd artifacts (std‐
93665              out, stderr, retcode, pid) will be returned.
93666
93667              All parameters from cmd.run_all except python_shell can be used.
93668
93669              CLI Example:
93670
93671                 salt '*' cmd.exec_code_all ruby 'puts "cheese"'
93672                 salt '*' cmd.exec_code_all ruby 'puts "cheese"' args='["arg1", "arg2"]' env='{"FOO": "bar"}'
93673
93674       salt.modules.cmdmod.has_exec(cmd)
93675              Returns true if the executable is available on the minion, false
93676              otherwise
93677
93678              CLI Example:
93679
93680                 salt '*' cmd.has_exec cat
93681
93682       salt.modules.cmdmod.powershell(cmd, cwd=None,  stdin=None,  runas=None,
93683       shell='/bin/bash',     env=None,     clean_env=False,    template=None,
93684       rstrip=True,       umask=None,        output_encoding=None,        out‐
93685       put_loglevel=u'debug',   hide_output=False,   timeout=None,  reset_sys‐
93686       tem_locale=True, ignore_retcode=False,  saltenv=u'base',  use_vt=False,
93687       password=None,   depth=None,  encode_cmd=False,  success_retcodes=None,
93688       **kwargs)
93689              Execute the passed PowerShell command and return the output as a
93690              dictionary.
93691
93692              Other  cmd.*  functions  (besides cmd.powershell_all) return the
93693              raw text output of the command. This  function  appends  |  Con‐
93694              vertTo-JSON  to  the  command  and  then  parses the JSON into a
93695              Python dictionary. If you want the raw textual  result  of  your
93696              PowerShell  command you should use cmd.run with the shell=power‐
93697              shell option.
93698
93699              For example:
93700
93701                 salt '*' cmd.run '$PSVersionTable.CLRVersion' shell=powershell
93702                 salt '*' cmd.run 'Get-NetTCPConnection' shell=powershell
93703
93704              New in version 2016.3.0.
93705
93706
93707              WARNING:
93708                 This passes the cmd argument directly to  PowerShell  without
93709                 any  further  processing!  Be  absolutely  sure that you have
93710                 properly sanitized the command passed to this function and do
93711                 not use untrusted inputs.
93712
93713              In  addition  to  the  normal  cmd.run  parameters, this command
93714              offers the depth parameter to change the Windows  default  depth
93715              for  the  ConvertTo-JSON powershell command. The Windows default
93716              is 2. If you need more depth, set that here.
93717
93718              NOTE:
93719                 For some commands, setting the depth to a value greater  than
93720                 4  greatly  increases  the  time  it takes for the command to
93721                 return and in many cases returns useless data.
93722
93723              Parameters
93724
93725                     · cmd (str) -- The powershell command to run.
93726
93727                     · cwd (str) -- The directory from which  to  execute  the
93728                       command.  Defaults  to  the  home directory of the user
93729                       specified by runas (or the user  under  which  Salt  is
93730                       running if runas is not specified).
93731
93732                     · stdin (str) -- A string of standard input can be speci‐
93733                       fied for the command to be run using the stdin  parame‐
93734                       ter. This can be useful in cases where sensitive infor‐
93735                       mation must be read from standard input.
93736
93737                     · runas (str) -- Specify an alternate  user  to  run  the
93738                       command.  The  default  behavior  is to run as the user
93739                       under which Salt is running. If running  on  a  Windows
93740                       minion you must also use the password argument, and the
93741                       target user  account  must  be  in  the  Administrators
93742                       group.
93743
93744                     · password (str) --
93745
93746                       Windows  only.  Required  when  specifying  runas. This
93747                       parameter will be ignored on non-Windows platforms.
93748
93749                       New in version 2016.3.0.
93750
93751
93752
93753                     · shell (str) -- Specify an alternate shell. Defaults  to
93754                       the system's default shell.
93755
93756                     · python_shell  (bool) -- If False, let python handle the
93757                       positional arguments. Set to True  to  use  shell  fea‐
93758                       tures, such as pipes or redirection.
93759
93760                     · env (dict) --
93761
93762                       Environment variables to be set prior to execution.
93763
93764                       NOTE:
93765                          When  passing environment variables on the CLI, they
93766                          should be passed as the string representation  of  a
93767                          dictionary.
93768
93769                              salt myminion cmd.powershell 'some command' env='{"FOO": "bar"}'
93770
93771
93772                     · clean_env  (bool)  --  Attempt  to  clean out all other
93773                       shell environment variables and set only those provided
93774                       in the 'env' argument to this function.
93775
93776                     · template  (str)  -- If this setting is applied then the
93777                       named templating engine will  be  used  to  render  the
93778                       downloaded  file.  Currently jinja, mako, and wempy are
93779                       supported.
93780
93781                     · rstrip (bool) -- Strip all whitespace off  the  end  of
93782                       output before it is returned.
93783
93784                     · umask (str) -- The umask (in octal) to use when running
93785                       the command.
93786
93787                     · output_encoding (str) --
93788
93789                       Control the encoding used to decode the command's  out‐
93790                       put.
93791
93792                       NOTE:
93793                          This  should  not  need to be used in most cases. By
93794                          default, Salt will try to use the encoding  detected
93795                          from  the system locale, and will fall back to UTF-8
93796                          if this fails. This should only need to be  used  in
93797                          cases  where the output of the command is encoded in
93798                          something other than the system locale or UTF-8.
93799
93800                          To see the encoding Salt has detected from the  sys‐
93801                          tem  locale,  check the locale line in the output of
93802                          test.versions_report.
93803
93804                       New in version 2018.3.0.
93805
93806
93807
93808                     · output_loglevel (str) --
93809
93810                       Control the loglevel at which the output from the  com‐
93811                       mand is logged to the minion log.
93812
93813                       NOTE:
93814                          The  command  being  run will still be logged at the
93815                          debug loglevel regardless, unless quiet is used  for
93816                          this value.
93817
93818
93819                     · ignore_retcode  (bool)  -- If the exit code of the com‐
93820                       mand is nonzero, this is treated as an error condition,
93821                       and  the  output from the command will be logged to the
93822                       minion log. However, there are some  cases  where  pro‐
93823                       grams  use  the return code for signaling and a nonzero
93824                       exit code doesn't necessarily mean failure.  Pass  this
93825                       argument as True to skip logging the output if the com‐
93826                       mand has a nonzero exit code.
93827
93828                     · hide_output (bool) --
93829
93830                       If True, suppress stdout and stderr in the return data.
93831
93832                       NOTE:
93833                          This is separate from  output_loglevel,  which  only
93834                          handles how Salt logs to the minion log.
93835
93836                       New in version 2018.3.0.
93837
93838
93839
93840                     · timeout  (int) -- A timeout in seconds for the executed
93841                       process to return.
93842
93843                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
93844                       command  output  more  interactively to the console and
93845                       the logs. This is experimental.
93846
93847                     · reset_system_locale (bool) -- Resets the system locale
93848
93849                     · saltenv (str) -- The salt environment to  use.  Default
93850                       is 'base'
93851
93852                     · depth (int) --
93853
93854                       The  number  of  levels  of  contained  objects  to  be
93855                       included.  Default is 2. Values greater than 4 seem  to
93856                       greatly  increase  the time it takes for the command to
93857                       complete for some commands. eg: dir
93858
93859                       New in version 2016.3.4.
93860
93861
93862
93863                     · encode_cmd (bool) -- Encode the command before  execut‐
93864                       ing.  Use  in  cases where characters may be dropped or
93865                       incorrectly converted when executed.  Default is False.
93866
93867                     · success_retcodes (list) -- .INDENT 2.0
93868
93869                     This parameter will be allow a list of
93870                       non-zero return codes that should be considered a  suc‐
93871                       cess.  If the return code returned from the run matches
93872                       any in the provided list, the return code will be over‐
93873                       ridden with zero.
93874
93875                     New in version 2019.2.0.
93876
93877
93878
93879              · stdin_raw_newlines (bool) -- .INDENT 2.0
93880
93881              False
93882                If True, Salt will not automatically convert the characters \n
93883                present in the stdin value to newlines.
93884
93885              New in version 2019.2.0.
93886
93887
93888
93889       Returns
93890
93891              dict   A dictionary of data returned by the powershell command.
93892
93893
93894CLI Example:
93895
93896                 salt '*' cmd.powershell "$PSVersionTable.CLRVersion"
93897
93898       salt.modules.cmdmod.powershell_all(cmd,      cwd=None,      stdin=None,
93899       runas=None,    shell='/bin/bash',   env=None,   clean_env=False,   tem‐
93900       plate=None,   rstrip=True,   umask=None,   output_encoding=None,   out‐
93901       put_loglevel=u'debug',     quiet=False,     timeout=None,    reset_sys‐
93902       tem_locale=True, ignore_retcode=False,  saltenv=u'base',  use_vt=False,
93903       password=None,  depth=None,  encode_cmd=False,  force_list=False,  suc‐
93904       cess_retcodes=None, **kwargs)
93905              Execute the passed PowerShell command and  return  a  dictionary
93906              with  a  result field representing the output of the command, as
93907              well as other fields showing us what the  PowerShell  invocation
93908              wrote  to stderr, the process id, and the exit code of the invo‐
93909              cation.
93910
93911              This function appends | ConvertTo-JSON  to  the  command  before
93912              actually invoking powershell.
93913
93914              An unquoted empty string is not valid JSON, but it's very normal
93915              for the Powershell output to be exactly that. Therefore,  we  do
93916              not attempt to parse empty Powershell output (which would result
93917              in an exception). Instead we treat this as a  special  case  and
93918              one of two things will happen:
93919
93920              · If  the  value  of  the force_list parameter is True, then the
93921                result field of the return dictionary will be an empty list.
93922
93923              · If the value of the force_list parameter is  False,  then  the
93924                return  dictionary  will not have a result key added to it. We
93925                aren't setting result to None in this case,  because  None  is
93926                the  Python  representation  of  "null"  in JSON. (We likewise
93927                can't use False for the equivalent reason.)
93928
93929              If Powershell's output is not an empty string and Python  cannot
93930              parse  its  content, then a CommandExecutionError exception will
93931              be raised.
93932
93933              If Powershell's output is not an empty string, Python is able to
93934              parse  its  content, and the type of the resulting Python object
93935              is other than list then one of two things will happen:
93936
93937              · If the value of the force_list parameter  is  True,  then  the
93938                result  field  will be a singleton list with the Python object
93939                as its sole member.
93940
93941              · If the value of the force_list parameter is  False,  then  the
93942                value of result will be the unmodified Python object.
93943
93944              If Powershell's output is not an empty string, Python is able to
93945              parse its content, and the type of the resulting  Python  object
93946              is  list, then the value of result will be the unmodified Python
93947              object. The force_list parameter has no effect in this case.
93948
93949              NOTE:
93950                 An example of why the force_list parameter is  useful  is  as
93951                 follows:  The  Powershell  command  dir  x  |  Convert-ToJson
93952                 results in
93953
93954                 · no output when x is an empty directory.
93955
93956                 · a dictionary object when x contains just one item.
93957
93958                 · a list of  dictionary  objects  when  x  contains  multiple
93959                   items.
93960
93961                 By  setting  force_list  to True we will always end up with a
93962                 list of dictionary items, representing files, no  matter  how
93963                 many  files  x contains.  Conversely, if force_list is False,
93964                 we will end up with no result key in  our  return  dictionary
93965                 when  x is an empty directory, and a dictionary object when x
93966                 contains just one file.
93967
93968              If you want a similar function but with  a  raw  textual  result
93969              instead  of  a  Python dictionary, you should use cmd.run_all in
93970              combination with shell=powershell.
93971
93972              The remaining fields in the return dictionary are  described  in
93973              more detail in the Returns section.
93974
93975              Example:
93976
93977                 salt '*' cmd.run_all '$PSVersionTable.CLRVersion' shell=powershell
93978                 salt '*' cmd.run_all 'Get-NetTCPConnection' shell=powershell
93979
93980              New in version 2018.3.0.
93981
93982
93983              WARNING:
93984                 This  passes  the cmd argument directly to PowerShell without
93985                 any further processing! Be  absolutely  sure  that  you  have
93986                 properly sanitized the command passed to this function and do
93987                 not use untrusted inputs.
93988
93989              In addition to  the  normal  cmd.run  parameters,  this  command
93990              offers  the  depth parameter to change the Windows default depth
93991              for the ConvertTo-JSON powershell command. The  Windows  default
93992              is 2. If you need more depth, set that here.
93993
93994              NOTE:
93995                 For  some commands, setting the depth to a value greater than
93996                 4 greatly increases the time it  takes  for  the  command  to
93997                 return and in many cases returns useless data.
93998
93999              Parameters
94000
94001                     · cmd (str) -- The powershell command to run.
94002
94003                     · cwd  (str)  --  The directory from which to execute the
94004                       command. Defaults to the home  directory  of  the  user
94005                       specified  by  runas  (or  the user under which Salt is
94006                       running if runas is not specified).
94007
94008                     · stdin (str) -- A string of standard input can be speci‐
94009                       fied  for the command to be run using the stdin parame‐
94010                       ter. This can be useful in cases where sensitive infor‐
94011                       mation must be read from standard input.
94012
94013                     · runas  (str)  --  Specify  an alternate user to run the
94014                       command. The default behavior is to  run  as  the  user
94015                       under  which  Salt  is running. If running on a Windows
94016                       minion you must also use the password argument, and the
94017                       target  user  account  must  be  in  the Administrators
94018                       group.
94019
94020                     · password (str) -- Windows only. Required when  specify‐
94021                       ing  runas.  This parameter will be ignored on non-Win‐
94022                       dows platforms.
94023
94024                     · shell (str) -- Specify an alternate shell. Defaults  to
94025                       the system's default shell.
94026
94027                     · python_shell  (bool) -- If False, let python handle the
94028                       positional arguments. Set to True  to  use  shell  fea‐
94029                       tures, such as pipes or redirection.
94030
94031                     · env (dict) --
94032
94033                       Environment variables to be set prior to execution.
94034
94035                       NOTE:
94036                          When  passing environment variables on the CLI, they
94037                          should be passed as the string representation  of  a
94038                          dictionary.
94039
94040                              salt myminion cmd.powershell_all 'some command' env='{"FOO": "bar"}'
94041
94042
94043                     · clean_env  (bool)  --  Attempt  to  clean out all other
94044                       shell environment variables and set only those provided
94045                       in the 'env' argument to this function.
94046
94047                     · template  (str)  -- If this setting is applied then the
94048                       named templating engine will  be  used  to  render  the
94049                       downloaded  file.  Currently jinja, mako, and wempy are
94050                       supported.
94051
94052                     · rstrip (bool) -- Strip all whitespace off  the  end  of
94053                       output before it is returned.
94054
94055                     · umask (str) -- The umask (in octal) to use when running
94056                       the command.
94057
94058                     · output_encoding (str) --
94059
94060                       Control the encoding used to decode the command's  out‐
94061                       put.
94062
94063                       NOTE:
94064                          This  should  not  need to be used in most cases. By
94065                          default, Salt will try to use the encoding  detected
94066                          from  the system locale, and will fall back to UTF-8
94067                          if this fails. This should only need to be  used  in
94068                          cases  where the output of the command is encoded in
94069                          something other than the system locale or UTF-8.
94070
94071                          To see the encoding Salt has detected from the  sys‐
94072                          tem  locale,  check the locale line in the output of
94073                          test.versions_report.
94074
94075                       New in version 2018.3.0.
94076
94077
94078
94079                     · output_loglevel (str) --
94080
94081                       Control the loglevel at which the output from the  com‐
94082                       mand is logged to the minion log.
94083
94084                       NOTE:
94085                          The  command  being  run will still be logged at the
94086                          debug loglevel regardless, unless quiet is used  for
94087                          this value.
94088
94089
94090                     · ignore_retcode  (bool)  -- If the exit code of the com‐
94091                       mand is nonzero, this is treated as an error condition,
94092                       and  the  output from the command will be logged to the
94093                       minion log. However, there are some  cases  where  pro‐
94094                       grams  use  the return code for signaling and a nonzero
94095                       exit code doesn't necessarily mean failure.  Pass  this
94096                       argument as True to skip logging the output if the com‐
94097                       mand has a nonzero exit code.
94098
94099                     · timeout (int) -- A timeout in seconds for the  executed
94100                       process to return.
94101
94102                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
94103                       command output more interactively to  the  console  and
94104                       the logs. This is experimental.
94105
94106                     · reset_system_locale (bool) -- Resets the system locale
94107
94108                     · ignore_retcode  --  If  the exit code of the command is
94109                       nonzero, this is treated as an error condition, and the
94110                       output  from  the  command will be logged to the minion
94111                       log. However, there are some cases where  programs  use
94112                       the  return  code for signaling and a nonzero exit code
94113                       doesn't necessarily mean failure. Pass this argument as
94114                       True  to  skip  logging the output if the command has a
94115                       nonzero exit code.
94116
94117                     · saltenv (str) -- The salt environment to  use.  Default
94118                       is 'base'
94119
94120                     · depth  (int)  --  The  number  of  levels  of contained
94121                       objects to be included.  Default is 2.  Values  greater
94122                       than  4  seem to greatly increase the time it takes for
94123                       the command to complete for some commands. eg: dir
94124
94125                     · encode_cmd (bool) -- Encode the command before  execut‐
94126                       ing.  Use  in  cases where characters may be dropped or
94127                       incorrectly converted when executed.  Default is False.
94128
94129                     · force_list (bool) -- The purpose of this  parameter  is
94130                       described in the preamble of this function's documenta‐
94131                       tion. Default value is False.
94132
94133                     · success_retcodes (list) -- .INDENT 2.0
94134
94135                     This parameter will be allow a list of
94136                       non-zero return codes that should be considered a  suc‐
94137                       cess.  If the return code returned from the run matches
94138                       any in the provided list, the return code will be over‐
94139                       ridden with zero.
94140
94141                     New in version 2019.2.0.
94142
94143
94144
94145              · stdin_raw_newlines (bool) -- .INDENT 2.0
94146
94147              False
94148                If True, Salt will not automatically convert the characters \n
94149                present in the stdin value to newlines.
94150
94151              New in version 2019.2.0.
94152
94153
94154
94155       Returns
94156              A dictionary with the following entries:
94157
94158              result For a complete description of this field, please refer to
94159                     this  function's  preamble. This key will not be added to
94160                     the dictionary when force_list is False and  Powershell's
94161                     output is the empty string.
94162
94163              stderr What the PowerShell invocation wrote to stderr.
94164
94165              pid    The process id of the PowerShell invocation
94166
94167              retcode
94168                     This  is  the  exit code of the invocation of PowerShell.
94169                     If the final execution status (in PowerShell) of our com‐
94170                     mand  (with  |  ConvertTo-JSON  appended)  is  False this
94171                     should be non-0.   Likewise  if  PowerShell  exited  with
94172                     $LASTEXITCODE  set to some non-0 value, then retcode will
94173                     end up with this value.
94174
94175
94176       Return type
94177              dict
94178
94179CLI Example:
94180
94181                 salt '*' cmd.powershell_all "$PSVersionTable.CLRVersion"
94182
94183              CLI Example:
94184
94185                 salt '*' cmd.powershell_all "dir mydirectory" force_list=True
94186
94187       salt.modules.cmdmod.retcode(cmd,  cwd=None,   stdin=None,   runas=None,
94188       group=None,     shell='/bin/bash',     python_shell=None,     env=None,
94189       clean_env=False, template=None, umask=None, output_encoding=None,  out‐
94190       put_loglevel=u'debug',   log_callback=None,   timeout=None,  reset_sys‐
94191       tem_locale=True, ignore_retcode=False,  saltenv=u'base',  use_vt=False,
94192       password=None, success_retcodes=None, **kwargs)
94193              Execute a shell command and return the command's return code.
94194
94195              Parameters
94196
94197                     · cmd (str) -- The command to run. ex: ls -lart /home
94198
94199                     · cwd  (str)  --  The directory from which to execute the
94200                       command. Defaults to the home  directory  of  the  user
94201                       specified  by  runas  (or  the user under which Salt is
94202                       running if runas is not specified).
94203
94204                     · stdin (str) -- A string of standard input can be speci‐
94205                       fied  for the command to be run using the stdin parame‐
94206                       ter. This can be useful in cases where sensitive infor‐
94207                       mation must be read from standard input.
94208
94209                     · runas (str) --
94210
94211                       Specify  an  alternate  user  to  run  the command. The
94212                       default behavior is to run as the user under which Salt
94213                       is  running.  If  running  on a Windows minion you must
94214                       also use the password argument,  and  the  target  user
94215                       account must be in the Administrators group.
94216
94217                       WARNING:
94218                          For  versions  2018.3.3  and  above  on macosx while
94219                          using runas, to pass special characters to the  com‐
94220                          mand you need to escape the characters on the shell.
94221
94222                          Example:
94223
94224                              cmd.retcode 'echo '\''h=\"baz\"'\''' runas=macuser
94225
94226
94227                     · password (str) --
94228
94229                       Windows  only.  Required  when  specifying  runas. This
94230                       parameter will be ignored on non-Windows platforms.
94231
94232                       New in version 2016.3.0.
94233
94234
94235
94236                     · group (str) -- Group to run command as.  Not  currently
94237                       supported on Windows.
94238
94239                     · shell  (str) -- Specify an alternate shell. Defaults to
94240                       the system's default shell.
94241
94242                     · python_shell (bool) -- If False, let python handle  the
94243                       positional  arguments.  Set  to  True to use shell fea‐
94244                       tures, such as pipes or redirection.
94245
94246                     · env (dict) --
94247
94248                       Environment variables to be set prior to execution.
94249
94250                       NOTE:
94251                          When passing environment variables on the CLI,  they
94252                          should  be  passed as the string representation of a
94253                          dictionary.
94254
94255                              salt myminion cmd.retcode 'some command' env='{"FOO": "bar"}'
94256
94257
94258                     · clean_env (bool) -- Attempt  to  clean  out  all  other
94259                       shell environment variables and set only those provided
94260                       in the 'env' argument to this function.
94261
94262                     · template (str) -- If this setting is applied  then  the
94263                       named  templating  engine  will  be  used to render the
94264                       downloaded file. Currently jinja, mako, and  wempy  are
94265                       supported.
94266
94267                     · rstrip  (bool)  --  Strip all whitespace off the end of
94268                       output before it is returned.
94269
94270                     · umask (str) -- The umask (in octal) to use when running
94271                       the command.
94272
94273                     · output_encoding (str) --
94274
94275                       Control  the encoding used to decode the command's out‐
94276                       put.
94277
94278                       NOTE:
94279                          This should not need to be used in  most  cases.  By
94280                          default,  Salt will try to use the encoding detected
94281                          from the system locale, and will fall back to  UTF-8
94282                          if  this  fails. This should only need to be used in
94283                          cases where the output of the command is encoded  in
94284                          something other than the system locale or UTF-8.
94285
94286                          To  see the encoding Salt has detected from the sys‐
94287                          tem locale, check the locale line in the  output  of
94288                          test.versions_report.
94289
94290                       New in version 2018.3.0.
94291
94292
94293
94294                     · output_loglevel (str) --
94295
94296                       Control  the loglevel at which the output from the com‐
94297                       mand is logged to the minion log.
94298
94299                       NOTE:
94300                          The command being run will still be  logged  at  the
94301                          debug  loglevel regardless, unless quiet is used for
94302                          this value.
94303
94304
94305                     · ignore_retcode (bool) -- If the exit code of  the  com‐
94306                       mand is nonzero, this is treated as an error condition,
94307                       and the output from the command will be logged  to  the
94308                       minion  log.  However,  there are some cases where pro‐
94309                       grams use the return code for signaling and  a  nonzero
94310                       exit  code  doesn't necessarily mean failure. Pass this
94311                       argument as True to skip logging the output if the com‐
94312                       mand has a nonzero exit code.
94313
94314                     · timeout  (int) -- A timeout in seconds for the executed
94315                       process to return.
94316
94317                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
94318                       command  output  more  interactively to the console and
94319                       the logs. This is experimental.
94320
94321                     · success_retcodes (list) -- .INDENT 2.0
94322
94323                     This parameter will be allow a list of
94324                       non-zero return codes that should be considered a  suc‐
94325                       cess.  If the return code returned from the run matches
94326                       any in the provided list, the return code will be over‐
94327                       ridden with zero.
94328
94329                     New in version 2019.2.0.
94330
94331
94332
94333              · stdin_raw_newlines (bool) -- .INDENT 2.0
94334
94335              False
94336                If True, Salt will not automatically convert the characters \n
94337                present in the stdin value to newlines.
94338
94339              New in version 2019.2.0.
94340
94341
94342
94343       Return type
94344              int
94345
94346       Return type
94347              None
94348
94349       Returns
94350              Return Code as an int or None if there was an exception.
94351
94352CLI Example:
94353
94354                 salt '*' cmd.retcode "file /bin/bash"
94355
94356              The template arg can be set to 'jinja' or another supported tem‐
94357              plate  engine  to render the command arguments before execution.
94358              For example:
94359
94360                 salt '*' cmd.retcode template=jinja "file {{grains.pythonpath[0]}}/python"
94361
94362              A string of standard input can be specified for the  command  to
94363              be  run  using  the stdin parameter. This can be useful in cases
94364              where sensitive information must be read from standard input.
94365
94366                 salt '*' cmd.retcode "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
94367
94368       salt.modules.cmdmod.run(cmd,    cwd=None,    stdin=None,    runas=None,
94369       group=None,     shell='/bin/bash',     python_shell=None,     env=None,
94370       clean_env=False, template=None, rstrip=True, umask=None,  output_encod‐
94371       ing=None,    output_loglevel=u'debug',   log_callback=None,   hide_out‐
94372       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
94373       code=False,  saltenv=u'base',  use_vt=False,  bg=False,  password=None,
94374       encoded_cmd=False,  raise_err=False,  prepend_path=None,   success_ret‐
94375       codes=None, **kwargs)
94376              Execute the passed command and return the output as a string
94377
94378              Parameters
94379
94380                     · cmd (str) -- The command to run. ex: ls -lart /home
94381
94382                     · cwd  (str)  --  The directory from which to execute the
94383                       command. Defaults to the home  directory  of  the  user
94384                       specified  by  runas  (or  the user under which Salt is
94385                       running if runas is not specified).
94386
94387                     · stdin (str) -- A string of standard input can be speci‐
94388                       fied  for the command to be run using the stdin parame‐
94389                       ter. This can be useful in cases where sensitive infor‐
94390                       mation must be read from standard input.
94391
94392                     · runas (str) --
94393
94394                       Specify  an  alternate  user  to  run  the command. The
94395                       default behavior is to run as the user under which Salt
94396                       is running.
94397
94398                       WARNING:
94399                          For  versions  2018.3.3  and  above  on macosx while
94400                          using runas, on linux while using run, to pass  spe‐
94401                          cial  characters  to  the command you need to escape
94402                          the characters on the shell.
94403
94404                          Example:
94405
94406                              cmd.run 'echo '\''h=\"baz\"'\''' runas=macuser
94407
94408
94409                     · group (str) -- Group to run command as.  Not  currently
94410                       supported on Windows.
94411
94412                     · password (str) --
94413
94414                       Windows  only.  Required  when  specifying  runas. This
94415                       parameter will be ignored on non-Windows platforms.
94416
94417                       New in version 2016.3.0.
94418
94419
94420
94421                     · shell (str) -- Specify an alternate shell. Defaults  to
94422                       the system's default shell.
94423
94424                     · python_shell  (bool) -- If False, let python handle the
94425                       positional arguments. Set to True  to  use  shell  fea‐
94426                       tures, such as pipes or redirection.
94427
94428                     · bg (bool) --
94429
94430                       If  True, run command in background and do not await or
94431                       deliver it's results
94432
94433                       New in version 2016.3.0.
94434
94435
94436
94437                     · env (dict) --
94438
94439                       Environment variables to be set prior to execution.
94440
94441                       NOTE:
94442                          When passing environment variables on the CLI,  they
94443                          should  be  passed as the string representation of a
94444                          dictionary.
94445
94446                              salt myminion cmd.run 'some command' env='{"FOO": "bar"}'
94447
94448
94449                     · clean_env (bool) -- Attempt  to  clean  out  all  other
94450                       shell environment variables and set only those provided
94451                       in the 'env' argument to this function.
94452
94453                     · prepend_path (str) --
94454
94455                       $PATH segment to prepend (trailing ':'  not  necessary)
94456                       to $PATH
94457
94458                       New in version 2018.3.0.
94459
94460
94461
94462                     · template  (str)  -- If this setting is applied then the
94463                       named templating engine will  be  used  to  render  the
94464                       downloaded  file.  Currently jinja, mako, and wempy are
94465                       supported.
94466
94467                     · rstrip (bool) -- Strip all whitespace off  the  end  of
94468                       output before it is returned.
94469
94470                     · umask (str) -- The umask (in octal) to use when running
94471                       the command.
94472
94473                     · output_encoding (str) --
94474
94475                       Control the encoding used to decode the command's  out‐
94476                       put.
94477
94478                       NOTE:
94479                          This  should  not  need to be used in most cases. By
94480                          default, Salt will try to use the encoding  detected
94481                          from  the system locale, and will fall back to UTF-8
94482                          if this fails. This should only need to be  used  in
94483                          cases  where the output of the command is encoded in
94484                          something other than the system locale or UTF-8.
94485
94486                          To see the encoding Salt has detected from the  sys‐
94487                          tem  locale,  check the locale line in the output of
94488                          test.versions_report.
94489
94490                       New in version 2018.3.0.
94491
94492
94493
94494                     · output_loglevel (str) --
94495
94496                       Control the loglevel at which the output from the  com‐
94497                       mand is logged to the minion log.
94498
94499                       NOTE:
94500                          The  command  being  run will still be logged at the
94501                          debug loglevel regardless, unless quiet is used  for
94502                          this value.
94503
94504
94505                     · ignore_retcode  (bool)  -- If the exit code of the com‐
94506                       mand is nonzero, this is treated as an error condition,
94507                       and  the  output from the command will be logged to the
94508                       minion log. However, there are some  cases  where  pro‐
94509                       grams  use  the return code for signaling and a nonzero
94510                       exit code doesn't necessarily mean failure.  Pass  this
94511                       argument as True to skip logging the output if the com‐
94512                       mand has a nonzero exit code.
94513
94514                     · hide_output (bool) --
94515
94516                       If True, suppress stdout and stderr in the return data.
94517
94518                       NOTE:
94519                          This is separate from  output_loglevel,  which  only
94520                          handles how Salt logs to the minion log.
94521
94522                       New in version 2018.3.0.
94523
94524
94525
94526                     · timeout  (int) -- A timeout in seconds for the executed
94527                       process to return.
94528
94529                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
94530                       command  output  more  interactively to the console and
94531                       the logs. This is experimental.
94532
94533                     · encoded_cmd (bool) -- Specify if the  supplied  command
94534                       is encoded.  Only applies to shell 'powershell'.
94535
94536                     · raise_err  (bool)  --  If  True  and  the command has a
94537                       nonzero exit code,  a  CommandExecutionError  exception
94538                       will be raised.
94539
94540              WARNING:
94541                 This  function  does  not  process  commands  through a shell
94542                 unless the python_shell flag is set to True. This means  that
94543                 any shell-specific functionality such as 'echo' or the use of
94544                 pipes, redirection  or  &&,  should  either  be  migrated  to
94545                 cmd.shell or have the python_shell=True flag set here.
94546
94547                 The use of python_shell=True means that the shell will accept
94548                 _any_ input including potentially malicious commands such  as
94549                 'good_command;rm -rf /'.  Be absolutely certain that you have
94550                 sanitized your input prior to using python_shell=True
94551
94552              Parameters
94553
94554                     · success_retcodes (list) -- .INDENT 2.0
94555
94556                     This parameter will be allow a list of
94557                       non-zero return codes that should be considered a  suc‐
94558                       cess.  If the return code returned from the run matches
94559                       any in the provided list, the return code will be over‐
94560                       ridden with zero.
94561
94562                     New in version 2019.2.0.
94563
94564
94565
94566              · stdin_raw_newlines (bool) -- .INDENT 2.0
94567
94568              False
94569                If  True,  Salt  will not automatically convert the characters
94570                \\n present in the stdin value to newlines.
94571
94572              New in version 2019.2.0.
94573
94574
94575
94576CLI Example:
94577
94578                 salt '*' cmd.run "ls -l | awk '/foo/{print \\$2}'"
94579
94580              The template arg can be set to 'jinja' or another supported tem‐
94581              plate  engine  to render the command arguments before execution.
94582              For example:
94583
94584                 salt '*' cmd.run template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \\$2}'"
94585
94586              Specify an alternate shell with the shell parameter:
94587
94588                 salt '*' cmd.run "Get-ChildItem C:\\ " shell='powershell'
94589
94590              A string of standard input can be specified for the  command  to
94591              be  run  using  the stdin parameter. This can be useful in cases
94592              where sensitive information must be read from standard input.
94593
94594                 salt '*' cmd.run "grep f" stdin='one\\ntwo\\nthree\\nfour\\nfive\\n'
94595
94596              If an equal sign (=) appears in an argument to a Salt command it
94597              is interpreted as a keyword argument in the format key=val. That
94598              processing can be bypassed  in  order  to  pass  an  equal  sign
94599              through  to  the remote shell command by manually specifying the
94600              kwarg:
94601
94602                 salt '*' cmd.run cmd='sed -e s/=/:/g'
94603
94604       salt.modules.cmdmod.run_all(cmd,  cwd=None,   stdin=None,   runas=None,
94605       group=None,     shell='/bin/bash',     python_shell=None,     env=None,
94606       clean_env=False, template=None, rstrip=True, umask=None,  output_encod‐
94607       ing=None,    output_loglevel=u'debug',   log_callback=None,   hide_out‐
94608       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
94609       code=False, saltenv=u'base', use_vt=False, redirect_stderr=False, pass‐
94610       word=None, encoded_cmd=False, prepend_path=None, success_retcodes=None,
94611       **kwargs)
94612              Execute the passed command and return a dict of return data
94613
94614              Parameters
94615
94616                     · cmd (str) -- The command to run. ex: ls -lart /home
94617
94618                     · cwd  (str)  --  The directory from which to execute the
94619                       command. Defaults to the home  directory  of  the  user
94620                       specified  by  runas  (or  the user under which Salt is
94621                       running if runas is not specified).
94622
94623                     · stdin (str) -- A string of standard input can be speci‐
94624                       fied  for the command to be run using the stdin parame‐
94625                       ter. This can be useful in cases where sensitive infor‐
94626                       mation must be read from standard input.
94627
94628                     · runas (str) --
94629
94630                       Specify  an  alternate  user  to  run  the command. The
94631                       default behavior is to run as the user under which Salt
94632                       is  running.  If  running  on a Windows minion you must
94633                       also use the password argument,  and  the  target  user
94634                       account must be in the Administrators group.
94635
94636                       WARNING:
94637                          For  versions  2018.3.3  and  above  on macosx while
94638                          using runas, to pass special characters to the  com‐
94639                          mand you need to escape the characters on the shell.
94640
94641                          Example:
94642
94643                              cmd.run_all 'echo '\''h=\"baz\"'\''' runas=macuser
94644
94645
94646                     · password (str) --
94647
94648                       Windows  only.  Required  when  specifying  runas. This
94649                       parameter will be ignored on non-Windows platforms.
94650
94651                       New in version 2016.3.0.
94652
94653
94654
94655                     · group (str) -- Group to run command as.  Not  currently
94656                       supported on Windows.
94657
94658                     · shell  (str) -- Specify an alternate shell. Defaults to
94659                       the system's default shell.
94660
94661                     · python_shell (bool) -- If False, let python handle  the
94662                       positional  arguments.  Set  to  True to use shell fea‐
94663                       tures, such as pipes or redirection.
94664
94665                     · env (dict) --
94666
94667                       Environment variables to be set prior to execution.
94668
94669                       NOTE:
94670                          When passing environment variables on the CLI,  they
94671                          should  be  passed as the string representation of a
94672                          dictionary.
94673
94674                              salt myminion cmd.run_all 'some command' env='{"FOO": "bar"}'
94675
94676
94677                     · clean_env (bool) -- Attempt  to  clean  out  all  other
94678                       shell environment variables and set only those provided
94679                       in the 'env' argument to this function.
94680
94681                     · prepend_path (str) --
94682
94683                       $PATH segment to prepend (trailing ':'  not  necessary)
94684                       to $PATH
94685
94686                       New in version 2018.3.0.
94687
94688
94689
94690                     · template  (str)  -- If this setting is applied then the
94691                       named templating engine will  be  used  to  render  the
94692                       downloaded  file.  Currently jinja, mako, and wempy are
94693                       supported.
94694
94695                     · rstrip (bool) -- Strip all whitespace off  the  end  of
94696                       output before it is returned.
94697
94698                     · umask (str) -- The umask (in octal) to use when running
94699                       the command.
94700
94701                     · output_encoding (str) --
94702
94703                       Control the encoding used to decode the command's  out‐
94704                       put.
94705
94706                       NOTE:
94707                          This  should  not  need to be used in most cases. By
94708                          default, Salt will try to use the encoding  detected
94709                          from  the system locale, and will fall back to UTF-8
94710                          if this fails. This should only need to be  used  in
94711                          cases  where the output of the command is encoded in
94712                          something other than the system locale or UTF-8.
94713
94714                          To see the encoding Salt has detected from the  sys‐
94715                          tem  locale,  check the locale line in the output of
94716                          test.versions_report.
94717
94718                       New in version 2018.3.0.
94719
94720
94721
94722                     · output_loglevel (str) --
94723
94724                       Control the loglevel at which the output from the  com‐
94725                       mand is logged to the minion log.
94726
94727                       NOTE:
94728                          The  command  being  run will still be logged at the
94729                          debug loglevel regardless, unless quiet is used  for
94730                          this value.
94731
94732
94733                     · ignore_retcode  (bool)  -- If the exit code of the com‐
94734                       mand is nonzero, this is treated as an error condition,
94735                       and  the  output from the command will be logged to the
94736                       minion log. However, there are some  cases  where  pro‐
94737                       grams  use  the return code for signaling and a nonzero
94738                       exit code doesn't necessarily mean failure.  Pass  this
94739                       argument as True to skip logging the output if the com‐
94740                       mand has a nonzero exit code.
94741
94742                     · hide_output (bool) --
94743
94744                       If True, suppress stdout and stderr in the return data.
94745
94746                       NOTE:
94747                          This is separate from  output_loglevel,  which  only
94748                          handles how Salt logs to the minion log.
94749
94750                       New in version 2018.3.0.
94751
94752
94753
94754                     · timeout  (int) -- A timeout in seconds for the executed
94755                       process to return.
94756
94757                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
94758                       command  output  more  interactively to the console and
94759                       the logs. This is experimental.
94760
94761                     · encoded_cmd (bool) --
94762
94763                       Specify if  the  supplied  command  is  encoded.   Only
94764                       applies to shell 'powershell'.
94765
94766                       New in version 2018.3.0.
94767
94768
94769
94770                     · redirect_stderr (bool) --
94771
94772                       If  set to True, then stderr will be redirected to std‐
94773                       out. This is helpful for cases where obtaining both the
94774                       retcode and output is desired, but it is not desired to
94775                       have the output separated into both stdout and stderr.
94776
94777                       New in version 2015.8.2.
94778
94779
94780
94781                     · password --
94782
94783                       Windows only.  Required  when  specifying  runas.  This
94784                       parameter will be ignored on non-Windows platforms.
94785                          New in version 2016.3.0.
94786
94787
94788
94789                     · bg (bool) --
94790
94791                       If  True, run command in background and do not await or
94792                       deliver its results
94793
94794                       New in version 2016.3.6.
94795
94796
94797
94798                     · success_retcodes (list) -- .INDENT 2.0
94799
94800                     This parameter will be allow a list of
94801                       non-zero return codes that should be considered a  suc‐
94802                       cess.  If the return code returned from the run matches
94803                       any in the provided list, the return code will be over‐
94804                       ridden with zero.
94805
94806                     New in version 2019.2.0.
94807
94808
94809
94810              · stdin_raw_newlines (bool) -- .INDENT 2.0
94811
94812              False
94813                If True, Salt will not automatically convert the characters \n
94814                present in the stdin value to newlines.
94815
94816              New in version 2019.2.0.
94817
94818
94819
94820CLI Example:
94821
94822                 salt '*' cmd.run_all "ls -l | awk '/foo/{print \$2}'"
94823
94824              The template arg can be set to 'jinja' or another supported tem‐
94825              plate  engine  to render the command arguments before execution.
94826              For example:
94827
94828                 salt '*' cmd.run_all template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
94829
94830              A string of standard input can be specified for the  command  to
94831              be  run  using  the stdin parameter. This can be useful in cases
94832              where sensitive information must be read from standard input.
94833
94834                 salt '*' cmd.run_all "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
94835
94836       salt.modules.cmdmod.run_bg(cmd,   cwd=None,   runas=None,   group=None,
94837       shell='/bin/bash',  python_shell=None,  env=None, clean_env=False, tem‐
94838       plate=None,  umask=None,   timeout=None,   output_encoding=None,   out‐
94839       put_loglevel=u'debug',   log_callback=None,   reset_system_locale=True,
94840       ignore_retcode=False,          saltenv=u'base',          password=None,
94841       prepend_path=None, success_retcodes=None, **kwargs)
94842              Execute the passed command in the background and return it's PID
94843
94844              NOTE:
94845                 If  the  init  system  is  systemd  and the backgrounded task
94846                 should run even if  the  salt-minion  process  is  restarted,
94847                 prepend  systemd-run --scope to the command. This will repar‐
94848                 ent the process in its own scope separate  from  salt-minion,
94849                 and will not be affected by restarting the minion service.
94850
94851              Parameters
94852
94853                     · cmd (str) -- The command to run. ex: ls -lart /home
94854
94855                     · cwd  (str)  --  The directory from which to execute the
94856                       command. Defaults to the home  directory  of  the  user
94857                       specified  by  runas  (or  the user under which Salt is
94858                       running if runas is not specified).
94859
94860                     · group (str) -- Group to run command as.  Not  currently
94861                       supported on Windows.
94862
94863                     · shell  (str) -- Shell to execute under. Defaults to the
94864                       system default shell.
94865
94866                     · output_encoding (str) --
94867
94868                       Control the encoding used to decode the command's  out‐
94869                       put.
94870
94871                       NOTE:
94872                          This  should  not  need to be used in most cases. By
94873                          default, Salt will try to use the encoding  detected
94874                          from  the system locale, and will fall back to UTF-8
94875                          if this fails. This should only need to be  used  in
94876                          cases  where the output of the command is encoded in
94877                          something other than the system locale or UTF-8.
94878
94879                          To see the encoding Salt has detected from the  sys‐
94880                          tem  locale,  check the locale line in the output of
94881                          test.versions_report.
94882
94883                       New in version 2018.3.0.
94884
94885
94886
94887                     · output_loglevel (str) --
94888
94889                       Control the loglevel at which the output from the  com‐
94890                       mand is logged to the minion log.
94891
94892                       NOTE:
94893                          The  command  being  run will still be logged at the
94894                          debug loglevel regardless, unless quiet is used  for
94895                          this value.
94896
94897
94898                     · ignore_retcode  (bool)  -- If the exit code of the com‐
94899                       mand is nonzero, this is treated as an error condition,
94900                       and  the  output from the command will be logged to the
94901                       minion log. However, there are some  cases  where  pro‐
94902                       grams  use  the return code for signaling and a nonzero
94903                       exit code doesn't necessarily mean failure.  Pass  this
94904                       argument as True to skip logging the output if the com‐
94905                       mand has a nonzero exit code.
94906
94907                     · runas (str) --
94908
94909                       Specify an alternate  user  to  run  the  command.  The
94910                       default behavior is to run as the user under which Salt
94911                       is running. If running on a  Windows  minion  you  must
94912                       also  use  the  password  argument, and the target user
94913                       account must be in the Administrators group.
94914
94915                       WARNING:
94916                          For versions 2018.3.3  and  above  on  macosx  while
94917                          using  runas, to pass special characters to the com‐
94918                          mand you need to escape the characters on the shell.
94919
94920                          Example:
94921
94922                              cmd.run_bg 'echo '\''h=\"baz\"'\''' runas=macuser
94923
94924
94925                     · password (str) --
94926
94927                       Windows only.  Required  when  specifying  runas.  This
94928                       parameter will be ignored on non-Windows platforms.
94929
94930                       New in version 2016.3.0.
94931
94932
94933
94934                     · shell  --  Specify  an alternate shell. Defaults to the
94935                       system's default shell.
94936
94937                     · python_shell (bool) -- If False, let python handle  the
94938                       positional  arguments.  Set  to  True to use shell fea‐
94939                       tures, such as pipes or redirection.
94940
94941                     · env (dict) --
94942
94943                       Environment variables to be set prior to execution.
94944
94945                       NOTE:
94946                          When passing environment variables on the CLI,  they
94947                          should  be  passed as the string representation of a
94948                          dictionary.
94949
94950                              salt myminion cmd.run_bg 'some command' env='{"FOO": "bar"}'
94951
94952
94953                     · clean_env (bool) -- Attempt  to  clean  out  all  other
94954                       shell environment variables and set only those provided
94955                       in the 'env' argument to this function.
94956
94957                     · prepend_path (str) --
94958
94959                       $PATH segment to prepend (trailing ':'  not  necessary)
94960                       to $PATH
94961
94962                       New in version 2018.3.0.
94963
94964
94965
94966                     · template  (str)  -- If this setting is applied then the
94967                       named templating engine will  be  used  to  render  the
94968                       downloaded  file.  Currently jinja, mako, and wempy are
94969                       supported.
94970
94971                     · umask (str) -- The umask (in octal) to use when running
94972                       the command.
94973
94974                     · timeout  (int) -- A timeout in seconds for the executed
94975                       process to return.
94976
94977              WARNING:
94978                 This function does  not  process  commands  through  a  shell
94979                 unless  the  python_shell argument is set to True. This means
94980                 that any shell-specific functionality such as 'echo'  or  the
94981                 use of pipes, redirection or &&, should either be migrated to
94982                 cmd.shell or have the python_shell=True flag set here.
94983
94984                 The use of python_shell=True means that the shell will accept
94985                 _any_  input including potentially malicious commands such as
94986                 'good_command;rm -rf /'.  Be absolutely certain that you have
94987                 sanitized your input prior to using python_shell=True.
94988
94989              Parameters
94990
94991                     · success_retcodes (list) -- .INDENT 2.0
94992
94993                     This parameter will be allow a list of
94994                       non-zero  return codes that should be considered a suc‐
94995                       cess.  If the return code returned from the run matches
94996                       any in the provided list, the return code will be over‐
94997                       ridden with zero.
94998
94999                     New in version 2019.2.0.
95000
95001
95002
95003              · stdin_raw_newlines (bool) -- .INDENT 2.0
95004
95005              False
95006                If True, Salt will not automatically  convert  the  characters
95007                \\n present in the stdin value to newlines.
95008
95009              New in version 2019.2.0.
95010
95011
95012
95013CLI Example:
95014
95015                 salt '*' cmd.run_bg "fstrim-all"
95016
95017              The template arg can be set to 'jinja' or another supported tem‐
95018              plate engine to render the command arguments  before  execution.
95019              For example:
95020
95021                 salt '*' cmd.run_bg template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \\$2}'"
95022
95023              Specify an alternate shell with the shell parameter:
95024
95025                 salt '*' cmd.run_bg "Get-ChildItem C:\\ " shell='powershell'
95026
95027              If an equal sign (=) appears in an argument to a Salt command it
95028              is interpreted as a keyword argument in the format key=val. That
95029              processing  can  be  bypassed  in  order  to  pass an equal sign
95030              through to the remote shell command by manually  specifying  the
95031              kwarg:
95032
95033                 salt '*' cmd.run_bg cmd='ls -lR / | sed -e s/=/:/g > /tmp/dontwait'
95034
95035       salt.modules.cmdmod.run_chroot(root,    cmd,    cwd=None,   stdin=None,
95036       runas=None,    group=None,    shell='/bin/bash',     python_shell=True,
95037       binds=None,   env=None,  clean_env=False,  template=None,  rstrip=True,
95038       umask=None, output_encoding=None,  output_loglevel=u'quiet',  log_call‐
95039       back=None,  hide_output=False,  timeout=None, reset_system_locale=True,
95040       ignore_retcode=False,  saltenv=u'base',  use_vt=False,  bg=False,  suc‐
95041       cess_retcodes=None, **kwargs)
95042              New in version 2014.7.0.
95043
95044
95045              This function runs cmd.run_all wrapped within a chroot, with dev
95046              and proc mounted in the chroot
95047
95048              Parameters
95049
95050                     · root (str) -- Path to the root of the jail to use.
95051
95052                     · stdin (str) -- A string of standard input can be speci‐
95053                       fied  for the command to be run using the stdin parame‐
95054                       ter. This can be useful in cases where sensitive infor‐
95055                       mation must be read from standard input.:
95056
95057                     · runas (str) -- User to run script as.
95058
95059                     · group (str) -- Group to run script as.
95060
95061                     · shell  (str) -- Shell to execute under. Defaults to the
95062                       system default shell.
95063
95064                     · cmd (str) -- The command to run. ex: ls -lart /home
95065
95066                     · cwd (str) -- The directory from which  to  execute  the
95067                       command.  Defaults  to  the  home directory of the user
95068                       specified by runas (or the user  under  which  Salt  is
95069                       running if runas is not specified).
95070
95071                     · runas  -- Specify an alternate user to run the command.
95072                       The default behavior is to run as the user under  which
95073                       Salt  is  running.  If  running on a Windows minion you
95074                       must also use the password  argument,  and  the  target
95075                       user account must be in the Administrators group.
95076
95077                     · shell  --  Specify  an alternate shell. Defaults to the
95078                       system's default shell.
95079
95080                     · python_shell (bool) -- If False, let python handle  the
95081                       positional  arguments.  Set  to  True to use shell fea‐
95082                       tures, such as pipes or redirection.
95083
95084                     · binds (list) --
95085
95086                       List of directories that will be  exported  inside  the
95087                       chroot with the bind option.
95088
95089                       New in version 3000.
95090
95091
95092
95093                     · env (dict) --
95094
95095                       Environment variables to be set prior to execution.
95096
95097                       NOTE:
95098                          When  passing environment variables on the CLI, they
95099                          should be passed as the string representation  of  a
95100                          dictionary.
95101
95102                              salt myminion cmd.run_chroot 'some command' env='{"FOO": "bar"}'
95103
95104
95105                     · clean_env  (dict)  --  Attempt  to  clean out all other
95106                       shell environment variables and set only those provided
95107                       in the 'env' argument to this function.
95108
95109                     · template  (str)  -- If this setting is applied then the
95110                       named templating engine will  be  used  to  render  the
95111                       downloaded  file.  Currently jinja, mako, and wempy are
95112                       supported.
95113
95114                     · rstrip (bool) -- Strip all whitespace off  the  end  of
95115                       output before it is returned.
95116
95117                     · umask (str) -- The umask (in octal) to use when running
95118                       the command.
95119
95120                     · output_encoding (str) --
95121
95122                       Control the encoding used to decode the command's  out‐
95123                       put.
95124
95125                       NOTE:
95126                          This  should  not  need to be used in most cases. By
95127                          default, Salt will try to use the encoding  detected
95128                          from  the system locale, and will fall back to UTF-8
95129                          if this fails. This should only need to be  used  in
95130                          cases  where the output of the command is encoded in
95131                          something other than the system locale or UTF-8.
95132
95133                          To see the encoding Salt has detected from the  sys‐
95134                          tem  locale,  check the locale line in the output of
95135                          test.versions_report.
95136
95137                       New in version 2018.3.0.
95138
95139
95140
95141                     · output_loglevel (str) --
95142
95143                       Control the loglevel at which the output from the  com‐
95144                       mand is logged to the minion log.
95145
95146                       NOTE:
95147                          The  command  being  run will still be logged at the
95148                          debug loglevel regardless, unless quiet is used  for
95149                          this value.
95150
95151
95152                     · ignore_retcode  (bool)  -- If the exit code of the com‐
95153                       mand is nonzero, this is treated as an error condition,
95154                       and  the  output from the command will be logged to the
95155                       minion log. However, there are some  cases  where  pro‐
95156                       grams  use  the return code for signaling and a nonzero
95157                       exit code doesn't necessarily mean failure.  Pass  this
95158                       argument as True to skip logging the output if the com‐
95159                       mand has a nonzero exit code.
95160
95161                     · hide_output (bool) --
95162
95163                       If True, suppress stdout and stderr in the return data.
95164
95165                       NOTE:
95166                          This is separate from  output_loglevel,  which  only
95167                          handles how Salt logs to the minion log.
95168
95169                       New in version 2018.3.0.
95170
95171
95172
95173                     · timeout  (int) -- A timeout in seconds for the executed
95174                       process to return.
95175
95176                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
95177                       command  output  more  interactively to the console and
95178                       the logs. This is experimental.
95179
95180              Parar str stdin
95181                     A string of standard input can be specified for the  com‐
95182                     mand  to  be  run  using the stdin parameter. This can be
95183                     useful in cases where sensitive information must be  read
95184                     from standard input.
95185
95186              success_retcodes: This parameter will be allow a list of
95187                        non-zero return codes that should be considered a suc‐
95188                        cess.  If  the  return  code  returned  from  the  run
95189                        matches any in the provided list, the return code will
95190                        be overridden with zero.
95191
95192                     New in version 2019.2.0.
95193
95194
95195              CLI Example:
95196
95197                 salt '*' cmd.run_chroot /var/lib/lxc/container_name/rootfs 'sh /tmp/bootstrap.sh'
95198
95199       salt.modules.cmdmod.run_stderr(cmd, cwd=None,  stdin=None,  runas=None,
95200       group=None,     shell='/bin/bash',     python_shell=None,     env=None,
95201       clean_env=False, template=None, rstrip=True, umask=None,  output_encod‐
95202       ing=None,    output_loglevel=u'debug',   log_callback=None,   hide_out‐
95203       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
95204       code=False,      saltenv=u'base',      use_vt=False,     password=None,
95205       prepend_path=None, success_retcodes=None, **kwargs)
95206              Execute a command and only return the standard error
95207
95208              Parameters
95209
95210                     · cmd (str) -- The command to run. ex: ls -lart /home
95211
95212                     · cwd (str) -- The directory from which  to  execute  the
95213                       command.  Defaults  to  the  home directory of the user
95214                       specified by runas (or the user  under  which  Salt  is
95215                       running if runas is not specified).
95216
95217                     · stdin (str) -- A string of standard input can be speci‐
95218                       fied for the command to be run using the stdin  parame‐
95219                       ter. This can be useful in cases where sensitive infor‐
95220                       mation must be read from standard input.
95221
95222                     · runas (str) --
95223
95224                       Specify an alternate  user  to  run  the  command.  The
95225                       default behavior is to run as the user under which Salt
95226                       is running. If running on a  Windows  minion  you  must
95227                       also  use  the  password  argument, and the target user
95228                       account must be in the Administrators group.
95229
95230                       WARNING:
95231                          For versions 2018.3.3  and  above  on  macosx  while
95232                          using  runas, to pass special characters to the com‐
95233                          mand you need to escape the characters on the shell.
95234
95235                          Example:
95236
95237                              cmd.run_stderr 'echo '\''h=\"baz\"'\''' runas=macuser
95238
95239
95240                     · password (str) --
95241
95242                       Windows only.  Required  when  specifying  runas.  This
95243                       parameter will be ignored on non-Windows platforms.
95244
95245                       New in version 2016.3.0.
95246
95247
95248
95249                     · group  (str)  -- Group to run command as. Not currently
95250                       supported on Windows.
95251
95252                     · shell (str) -- Specify an alternate shell. Defaults  to
95253                       the system's default shell.
95254
95255                     · python_shell  (bool) -- If False, let python handle the
95256                       positional arguments. Set to True  to  use  shell  fea‐
95257                       tures, such as pipes or redirection.
95258
95259                     · env (dict) --
95260
95261                       Environment variables to be set prior to execution.
95262
95263                       NOTE:
95264                          When  passing environment variables on the CLI, they
95265                          should be passed as the string representation  of  a
95266                          dictionary.
95267
95268                              salt myminion cmd.run_stderr 'some command' env='{"FOO": "bar"}'
95269
95270
95271                     · clean_env  (bool)  --  Attempt  to  clean out all other
95272                       shell environment variables and set only those provided
95273                       in the 'env' argument to this function.
95274
95275                     · prepend_path (str) --
95276
95277                       $PATH  segment  to prepend (trailing ':' not necessary)
95278                       to $PATH
95279
95280                       New in version 2018.3.0.
95281
95282
95283
95284                     · template (str) -- If this setting is applied  then  the
95285                       named  templating  engine  will  be  used to render the
95286                       downloaded file. Currently jinja, mako, and  wempy  are
95287                       supported.
95288
95289                     · rstrip  (bool)  --  Strip all whitespace off the end of
95290                       output before it is returned.
95291
95292                     · umask (str) -- The umask (in octal) to use when running
95293                       the command.
95294
95295                     · output_encoding (str) --
95296
95297                       Control  the encoding used to decode the command's out‐
95298                       put.
95299
95300                       NOTE:
95301                          This should not need to be used in  most  cases.  By
95302                          default,  Salt will try to use the encoding detected
95303                          from the system locale, and will fall back to  UTF-8
95304                          if  this  fails. This should only need to be used in
95305                          cases where the output of the command is encoded  in
95306                          something other than the system locale or UTF-8.
95307
95308                          To  see the encoding Salt has detected from the sys‐
95309                          tem locale, check the locale line in the  output  of
95310                          test.versions_report.
95311
95312                       New in version 2018.3.0.
95313
95314
95315
95316                     · output_loglevel (str) --
95317
95318                       Control  the loglevel at which the output from the com‐
95319                       mand is logged to the minion log.
95320
95321                       NOTE:
95322                          The command being run will still be  logged  at  the
95323                          debug  loglevel regardless, unless quiet is used for
95324                          this value.
95325
95326
95327                     · ignore_retcode (bool) -- If the exit code of  the  com‐
95328                       mand is nonzero, this is treated as an error condition,
95329                       and the output from the command will be logged  to  the
95330                       minion  log.  However,  there are some cases where pro‐
95331                       grams use the return code for signaling and  a  nonzero
95332                       exit  code  doesn't necessarily mean failure. Pass this
95333                       argument as True to skip logging the output if the com‐
95334                       mand has a nonzero exit code.
95335
95336                     · hide_output (bool) --
95337
95338                       If True, suppress stdout and stderr in the return data.
95339
95340                       NOTE:
95341                          This  is  separate  from output_loglevel, which only
95342                          handles how Salt logs to the minion log.
95343
95344                       New in version 2018.3.0.
95345
95346
95347
95348                     · timeout (int) -- A timeout in seconds for the  executed
95349                       process to return.
95350
95351                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
95352                       command output more interactively to  the  console  and
95353                       the logs. This is experimental.
95354
95355                     · success_retcodes (list) -- .INDENT 2.0
95356
95357                     This parameter will be allow a list of
95358                       non-zero  return codes that should be considered a suc‐
95359                       cess.  If the return code returned from the run matches
95360                       any in the provided list, the return code will be over‐
95361                       ridden with zero.
95362
95363                     New in version 2019.2.0.
95364
95365
95366
95367              · stdin_raw_newlines (bool) -- .INDENT 2.0
95368
95369              False
95370                If True, Salt will not automatically convert the characters \n
95371                present in the stdin value to newlines.
95372
95373              New in version 2019.2.0.
95374
95375
95376
95377CLI Example:
95378
95379                 salt '*' cmd.run_stderr "ls -l | awk '/foo/{print \$2}'"
95380
95381              The template arg can be set to 'jinja' or another supported tem‐
95382              plate engine to render the command arguments  before  execution.
95383              For example:
95384
95385                 salt '*' cmd.run_stderr template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
95386
95387              A  string  of standard input can be specified for the command to
95388              be run using the stdin parameter. This can be  useful  in  cases
95389              where sensitive information must be read from standard input.
95390
95391                 salt '*' cmd.run_stderr "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
95392
95393       salt.modules.cmdmod.run_stdout(cmd,  cwd=None,  stdin=None, runas=None,
95394       group=None,     shell='/bin/bash',     python_shell=None,     env=None,
95395       clean_env=False,  template=None, rstrip=True, umask=None, output_encod‐
95396       ing=None,   output_loglevel=u'debug',   log_callback=None,    hide_out‐
95397       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
95398       code=False,     saltenv=u'base',      use_vt=False,      password=None,
95399       prepend_path=None, success_retcodes=None, **kwargs)
95400              Execute a command, and only return the standard out
95401
95402              Parameters
95403
95404                     · cmd (str) -- The command to run. ex: ls -lart /home
95405
95406                     · cwd  (str)  --  The directory from which to execute the
95407                       command. Defaults to the home  directory  of  the  user
95408                       specified  by  runas  (or  the user under which Salt is
95409                       running if runas is not specified).
95410
95411                     · stdin (str) -- A string of standard input can be speci‐
95412                       fied  for the command to be run using the stdin parame‐
95413                       ter. This can be useful in cases where sensitive infor‐
95414                       mation must be read from standard input.
95415
95416                     · runas (str) --
95417
95418                       Specify  an  alternate  user  to  run  the command. The
95419                       default behavior is to run as the user under which Salt
95420                       is  running.  If  running  on a Windows minion you must
95421                       also use the password argument,  and  the  target  user
95422                       account must be in the Administrators group.
95423
95424                       WARNING:
95425                          For  versions  2018.3.3  and  above  on macosx while
95426                          using runas, to pass special characters to the  com‐
95427                          mand you need to escape the characters on the shell.
95428
95429                          Example:
95430
95431                              cmd.run_stdout 'echo '\''h=\"baz\"'\''' runas=macuser
95432
95433
95434                     · password (str) --
95435
95436                       Windows  only.  Required  when  specifying  runas. This
95437                       parameter will be ignored on non-Windows platforms.
95438
95439                       New in version 2016.3.0.
95440
95441
95442
95443                     · group (str) -- Group to run command as.  Not  currently
95444                       supported on Windows.
95445
95446                     · shell  (str) -- Specify an alternate shell. Defaults to
95447                       the system's default shell.
95448
95449                     · python_shell (bool) -- If False, let python handle  the
95450                       positional  arguments.  Set  to  True to use shell fea‐
95451                       tures, such as pipes or redirection.
95452
95453                     · env (dict) --
95454
95455                       Environment variables to be set prior to execution.
95456
95457                       NOTE:
95458                          When passing environment variables on the CLI,  they
95459                          should  be  passed as the string representation of a
95460                          dictionary.
95461
95462                              salt myminion cmd.run_stdout 'some command' env='{"FOO": "bar"}'
95463
95464
95465                     · clean_env (bool) -- Attempt  to  clean  out  all  other
95466                       shell environment variables and set only those provided
95467                       in the 'env' argument to this function.
95468
95469                     · prepend_path (str) --
95470
95471                       $PATH segment to prepend (trailing ':'  not  necessary)
95472                       to $PATH
95473
95474                       New in version 2018.3.0.
95475
95476
95477
95478                     · template  (str)  -- If this setting is applied then the
95479                       named templating engine will  be  used  to  render  the
95480                       downloaded  file.  Currently jinja, mako, and wempy are
95481                       supported.
95482
95483                     · rstrip (bool) -- Strip all whitespace off  the  end  of
95484                       output before it is returned.
95485
95486                     · umask (str) -- The umask (in octal) to use when running
95487                       the command.
95488
95489                     · output_encoding (str) --
95490
95491                       Control the encoding used to decode the command's  out‐
95492                       put.
95493
95494                       NOTE:
95495                          This  should  not  need to be used in most cases. By
95496                          default, Salt will try to use the encoding  detected
95497                          from  the system locale, and will fall back to UTF-8
95498                          if this fails. This should only need to be  used  in
95499                          cases  where the output of the command is encoded in
95500                          something other than the system locale or UTF-8.
95501
95502                          To see the encoding Salt has detected from the  sys‐
95503                          tem  locale,  check the locale line in the output of
95504                          test.versions_report.
95505
95506                       New in version 2018.3.0.
95507
95508
95509
95510                     · output_loglevel (str) --
95511
95512                       Control the loglevel at which the output from the  com‐
95513                       mand is logged to the minion log.
95514
95515                       NOTE:
95516                          The  command  being  run will still be logged at the
95517                          debug loglevel regardless, unless quiet is used  for
95518                          this value.
95519
95520
95521                     · ignore_retcode  (bool)  -- If the exit code of the com‐
95522                       mand is nonzero, this is treated as an error condition,
95523                       and  the  output from the command will be logged to the
95524                       minion log. However, there are some  cases  where  pro‐
95525                       grams  use  the return code for signaling and a nonzero
95526                       exit code doesn't necessarily mean failure.  Pass  this
95527                       argument as True to skip logging the output if the com‐
95528                       mand has a nonzero exit code.
95529
95530                     · hide_output (bool) --
95531
95532                       If True, suppress stdout and stderr in the return data.
95533
95534                       NOTE:
95535                          This is separate from  output_loglevel,  which  only
95536                          handles how Salt logs to the minion log.
95537
95538                       New in version 2018.3.0.
95539
95540
95541
95542                     · timeout  (int) -- A timeout in seconds for the executed
95543                       process to return.
95544
95545                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
95546                       command  output  more  interactively to the console and
95547                       the logs. This is experimental.
95548
95549                     · success_retcodes (list) -- .INDENT 2.0
95550
95551                     This parameter will be allow a list of
95552                       non-zero return codes that should be considered a  suc‐
95553                       cess.  If the return code returned from the run matches
95554                       any in the provided list, the return code will be over‐
95555                       ridden with zero.
95556
95557                     New in version 2019.2.0.
95558
95559
95560
95561              · stdin_raw_newlines (bool) -- .INDENT 2.0
95562
95563              False
95564                If True, Salt will not automatically convert the characters \n
95565                present in the stdin value to newlines.
95566
95567              New in version 2019.2.0.
95568
95569
95570
95571CLI Example:
95572
95573                 salt '*' cmd.run_stdout "ls -l | awk '/foo/{print \$2}'"
95574
95575              The template arg can be set to 'jinja' or another supported tem‐
95576              plate  engine  to render the command arguments before execution.
95577              For example:
95578
95579                 salt '*' cmd.run_stdout template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
95580
95581              A string of standard input can be specified for the  command  to
95582              be  run  using  the stdin parameter. This can be useful in cases
95583              where sensitive information must be read from standard input.
95584
95585                 salt '*' cmd.run_stdout "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
95586
95587       salt.modules.cmdmod.script(source,  args=None,  cwd=None,   stdin=None,
95588       runas=None, group=None, shell='/bin/bash', python_shell=None, env=None,
95589       template=None,       umask=None,       output_encoding=None,       out‐
95590       put_loglevel=u'debug',   log_callback=None,   hide_output=False,  time‐
95591       out=None,  reset_system_locale=True,   saltenv=u'base',   use_vt=False,
95592       bg=False, password=None, success_retcodes=None, **kwargs)
95593              Download  a script from a remote location and execute the script
95594              locally.  The script can be located  on  the  salt  master  file
95595              server or on an HTTP/FTP server.
95596
95597              The  script  will  be executed directly, so it can be written in
95598              any available programming language.
95599
95600              Parameters
95601
95602                     · source (str) -- The location of the script to download.
95603                       If  the  file is located on the master in the directory
95604                       named spam, and is called eggs, the  source  string  is
95605                       salt://spam/eggs
95606
95607                     · args (str) --
95608
95609                       String of command line args to pass to the script. Only
95610                       used if no args are specified as part of the name argu‐
95611                       ment.  To  pass a string containing spaces in YAML, you
95612                       will need to doubly-quote it:
95613
95614                          salt myminion cmd.script salt://foo.sh "arg1 'arg two' arg3"
95615
95616
95617                     · cwd (str) -- The directory from which  to  execute  the
95618                       command.  Defaults  to  the  home directory of the user
95619                       specified by runas (or the user  under  which  Salt  is
95620                       running if runas is not specified).
95621
95622                     · stdin (str) -- A string of standard input can be speci‐
95623                       fied for the command to be run using the stdin  parame‐
95624                       ter. This can be useful in cases where sensitive infor‐
95625                       mation must be read from standard input.
95626
95627                     · runas (str) --
95628
95629                       Specify an alternate  user  to  run  the  command.  The
95630                       default behavior is to run as the user under which Salt
95631                       is running. If running on a  Windows  minion  you  must
95632                       also  use  the  password  argument, and the target user
95633                       account must be in the Administrators group.
95634
95635                       NOTE:
95636                          For Window's users, specifically  Server  users,  it
95637                          may  be  necessary  to specify your runas user using
95638                          the User Logon Name  instead  of  the  legacy  logon
95639                          name.  Traditionally, logons would be in the follow‐
95640                          ing format.
95641                              Domain/user
95642
95643                          In the  event  this  causes  issues  when  executing
95644                          scripts,  use  the  UPN  format which looks like the
95645                          following.
95646                              user@domain.local
95647
95648                          More                 information                  <‐
95649                          https://github.com/saltstack/salt/issues/55080>
95650
95651
95652                     · password (str) --
95653
95654                       Windows  only.  Required  when  specifying  runas. This
95655                       parameter will be ignored on non-Windows platforms.
95656
95657                       New in version 2016.3.0.
95658
95659
95660
95661                     · group (str) -- Group to run script  as.  Not  currently
95662                       supported on Windows.
95663
95664                     · shell  (str) -- Specify an alternate shell. Defaults to
95665                       the system's default shell.
95666
95667                     · python_shell (bool) -- If False, let python handle  the
95668                       positional  arguments.  Set  to  True to use shell fea‐
95669                       tures, such as pipes or redirection.
95670
95671                     · bg (bool) -- If True, run script in background  and  do
95672                       not await or deliver it's results
95673
95674                     · env (dict) --
95675
95676                       Environment variables to be set prior to execution.
95677
95678                       NOTE:
95679                          When  passing environment variables on the CLI, they
95680                          should be passed as the string representation  of  a
95681                          dictionary.
95682
95683                              salt myminion cmd.script 'some command' env='{"FOO": "bar"}'
95684
95685
95686                     · template  (str)  -- If this setting is applied then the
95687                       named templating engine will  be  used  to  render  the
95688                       downloaded  file.  Currently jinja, mako, and wempy are
95689                       supported.
95690
95691                     · umask (str) -- The umask (in octal) to use when running
95692                       the command.
95693
95694                     · output_encoding (str) --
95695
95696                       Control  the encoding used to decode the command's out‐
95697                       put.
95698
95699                       NOTE:
95700                          This should not need to be used in  most  cases.  By
95701                          default,  Salt will try to use the encoding detected
95702                          from the system locale, and will fall back to  UTF-8
95703                          if  this  fails. This should only need to be used in
95704                          cases where the output of the command is encoded  in
95705                          something other than the system locale or UTF-8.
95706
95707                          To  see the encoding Salt has detected from the sys‐
95708                          tem locale, check the locale line in the  output  of
95709                          test.versions_report.
95710
95711                       New in version 2018.3.0.
95712
95713
95714
95715                     · output_loglevel (str) --
95716
95717                       Control  the loglevel at which the output from the com‐
95718                       mand is logged to the minion log.
95719
95720                       NOTE:
95721                          The command being run will still be  logged  at  the
95722                          debug  loglevel regardless, unless quiet is used for
95723                          this value.
95724
95725
95726                     · ignore_retcode (bool) -- If the exit code of  the  com‐
95727                       mand is nonzero, this is treated as an error condition,
95728                       and the output from the command will be logged  to  the
95729                       minion  log.  However,  there are some cases where pro‐
95730                       grams use the return code for signaling and  a  nonzero
95731                       exit  code  doesn't necessarily mean failure. Pass this
95732                       argument as True to skip logging the output if the com‐
95733                       mand has a nonzero exit code.
95734
95735                     · hide_output (bool) --
95736
95737                       If True, suppress stdout and stderr in the return data.
95738
95739                       NOTE:
95740                          This  is  separate  from output_loglevel, which only
95741                          handles how Salt logs to the minion log.
95742
95743                       New in version 2018.3.0.
95744
95745
95746
95747                     · timeout (int) -- If  the  command  has  not  terminated
95748                       after timeout seconds, send the subprocess sigterm, and
95749                       if sigterm is ignored, follow up with sigkill
95750
95751                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
95752                       command  output  more  interactively to the console and
95753                       the logs. This is experimental.
95754
95755                     · success_retcodes (list) -- .INDENT 2.0
95756
95757                     This parameter will be allow a list of
95758                       non-zero return codes that should be considered a  suc‐
95759                       cess.  If the return code returned from the run matches
95760                       any in the provided list, the return code will be over‐
95761                       ridden with zero.
95762
95763                     New in version 2019.2.0.
95764
95765
95766
95767              · stdin_raw_newlines (bool) -- .INDENT 2.0
95768
95769              False
95770                If True, Salt will not automatically convert the characters \n
95771                present in the stdin value to newlines.
95772
95773              New in version 2019.2.0.
95774
95775
95776
95777CLI Example:
95778
95779                 salt '*' cmd.script salt://scripts/runme.sh
95780                 salt '*' cmd.script salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
95781                 salt '*' cmd.script salt://scripts/windows_task.ps1 args=' -Input c:\tmp\infile.txt' shell='powershell'
95782
95783                 salt '*' cmd.script salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n'
95784
95785       salt.modules.cmdmod.script_retcode(source,     args=None,     cwd=None,
95786       stdin=None,       runas=None,       group=None,      shell='/bin/bash',
95787       python_shell=None,  env=None,  template=u'jinja',   umask=None,   time‐
95788       out=None,   reset_system_locale=True,   saltenv=u'base',  output_encod‐
95789       ing=None,  output_loglevel=u'debug',  log_callback=None,  use_vt=False,
95790       password=None, success_retcodes=None, **kwargs)
95791              Download  a script from a remote location and execute the script
95792              locally.  The script can be located  on  the  salt  master  file
95793              server or on an HTTP/FTP server.
95794
95795              The  script  will  be executed directly, so it can be written in
95796              any available programming language.
95797
95798              The script can also be formatted as a template, the  default  is
95799              jinja.
95800
95801              Only evaluate the script return code and do not block for termi‐
95802              nal output
95803
95804              Parameters
95805
95806                     · source (str) -- The location of the script to download.
95807                       If  the  file is located on the master in the directory
95808                       named spam, and is called eggs, the  source  string  is
95809                       salt://spam/eggs
95810
95811                     · args  (str)  --  String of command line args to pass to
95812                       the script. Only used if no args are specified as  part
95813                       of  the name argument. To pass a string containing spa‐
95814                       ces in YAML, you will need to  doubly-quote  it:  "arg1
95815                       'arg two' arg3"
95816
95817                     · cwd  (str)  --  The directory from which to execute the
95818                       command. Defaults to the home  directory  of  the  user
95819                       specified  by  runas  (or  the user under which Salt is
95820                       running if runas is not specified).
95821
95822                     · stdin (str) -- A string of standard input can be speci‐
95823                       fied  for the command to be run using the stdin parame‐
95824                       ter. This can be useful in cases where sensitive infor‐
95825                       mation must be read from standard input.
95826
95827                     · runas  (str)  --  Specify  an alternate user to run the
95828                       command. The default behavior is to  run  as  the  user
95829                       under  which  Salt  is running. If running on a Windows
95830                       minion you must also use the password argument, and the
95831                       target  user  account  must  be  in  the Administrators
95832                       group.
95833
95834                     · password (str) --
95835
95836                       Windows only.  Required  when  specifying  runas.  This
95837                       parameter will be ignored on non-Windows platforms.
95838
95839                       New in version 2016.3.0.
95840
95841
95842
95843                     · group  (str)  --  Group to run script as. Not currently
95844                       supported on Windows.
95845
95846                     · shell (str) -- Specify an alternate shell. Defaults  to
95847                       the system's default shell.
95848
95849                     · python_shell  (bool) -- If False, let python handle the
95850                       positional arguments. Set to True  to  use  shell  fea‐
95851                       tures, such as pipes or redirection.
95852
95853                     · env (dict) --
95854
95855                       Environment variables to be set prior to execution.
95856
95857                       NOTE:
95858                          When  passing environment variables on the CLI, they
95859                          should be passed as the string representation  of  a
95860                          dictionary.
95861
95862                              salt myminion cmd.script_retcode 'some command' env='{"FOO": "bar"}'
95863
95864
95865                     · template  (str)  -- If this setting is applied then the
95866                       named templating engine will  be  used  to  render  the
95867                       downloaded  file.  Currently jinja, mako, and wempy are
95868                       supported.
95869
95870                     · umask (str) -- The umask (in octal) to use when running
95871                       the command.
95872
95873                     · output_encoding (str) --
95874
95875                       Control  the encoding used to decode the command's out‐
95876                       put.
95877
95878                       NOTE:
95879                          This should not need to be used in  most  cases.  By
95880                          default,  Salt will try to use the encoding detected
95881                          from the system locale, and will fall back to  UTF-8
95882                          if  this  fails. This should only need to be used in
95883                          cases where the output of the command is encoded  in
95884                          something other than the system locale or UTF-8.
95885
95886                          To  see the encoding Salt has detected from the sys‐
95887                          tem locale, check the locale line in the  output  of
95888                          test.versions_report.
95889
95890                       New in version 2018.3.0.
95891
95892
95893
95894                     · output_loglevel (str) --
95895
95896                       Control  the loglevel at which the output from the com‐
95897                       mand is logged to the minion log.
95898
95899                       NOTE:
95900                          The command being run will still be  logged  at  the
95901                          debug  loglevel regardless, unless quiet is used for
95902                          this value.
95903
95904
95905                     · ignore_retcode (bool) -- If the exit code of  the  com‐
95906                       mand is nonzero, this is treated as an error condition,
95907                       and the output from the command will be logged  to  the
95908                       minion  log.  However,  there are some cases where pro‐
95909                       grams use the return code for signaling and  a  nonzero
95910                       exit  code  doesn't necessarily mean failure. Pass this
95911                       argument as True to skip logging the output if the com‐
95912                       mand has a nonzero exit code.
95913
95914                     · timeout  (int)  --  If  the  command has not terminated
95915                       after timeout seconds, send the subprocess sigterm, and
95916                       if sigterm is ignored, follow up with sigkill
95917
95918                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
95919                       command output more interactively to  the  console  and
95920                       the logs. This is experimental.
95921
95922                     · success_retcodes (list) -- .INDENT 2.0
95923
95924                     This parameter will be allow a list of
95925                       non-zero  return codes that should be considered a suc‐
95926                       cess.  If the return code returned from the run matches
95927                       any in the provided list, the return code will be over‐
95928                       ridden with zero.
95929
95930                     New in version 2019.2.0.
95931
95932
95933
95934              · stdin_raw_newlines (bool) -- .INDENT 2.0
95935
95936              False
95937                If True, Salt will not automatically convert the characters \n
95938                present in the stdin value to newlines.
95939
95940              New in version 2019.2.0.
95941
95942
95943
95944CLI Example:
95945
95946                 salt '*' cmd.script_retcode salt://scripts/runme.sh
95947                 salt '*' cmd.script_retcode salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
95948                 salt '*' cmd.script_retcode salt://scripts/windows_task.ps1 args=' -Input c:\tmp\infile.txt' shell='powershell'
95949
95950              A  string  of standard input can be specified for the command to
95951              be run using the stdin parameter. This can be  useful  in  cases
95952              where sensitive information must be read from standard input.
95953
95954                 salt '*' cmd.script_retcode salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n'
95955
95956       salt.modules.cmdmod.shell(cmd,    cwd=None,   stdin=None,   runas=None,
95957       group=None,   shell='/bin/bash',   env=None,   clean_env=False,    tem‐
95958       plate=None,   rstrip=True,   umask=None,   output_encoding=None,   out‐
95959       put_loglevel=u'debug',  log_callback=None,   hide_output=False,   time‐
95960       out=None,        reset_system_locale=True,        ignore_retcode=False,
95961       saltenv=u'base',      use_vt=False,      bg=False,       password=None,
95962       prepend_path=None, success_retcodes=None, **kwargs)
95963              Execute the passed command and return the output as a string.
95964
95965              New in version 2015.5.0.
95966
95967
95968              Parameters
95969
95970                     · cmd (str) -- The command to run. ex: ls -lart /home
95971
95972                     · cwd  (str)  --  The directory from which to execute the
95973                       command. Defaults to the home  directory  of  the  user
95974                       specified  by  runas  (or  the user under which Salt is
95975                       running if runas is not specified).
95976
95977                     · stdin (str) -- A string of standard input can be speci‐
95978                       fied  for the command to be run using the stdin parame‐
95979                       ter. This can be useful in cases where sensitive infor‐
95980                       mation must be read from standard input.
95981
95982                     · runas (str) --
95983
95984                       Specify  an  alternate  user  to  run  the command. The
95985                       default behavior is to run as the user under which Salt
95986                       is  running.  If  running  on a Windows minion you must
95987                       also use the password argument,  and  the  target  user
95988                       account must be in the Administrators group.
95989
95990                       WARNING:
95991                          For  versions  2018.3.3  and  above  on macosx while
95992                          using runas, to pass special characters to the  com‐
95993                          mand you need to escape the characters on the shell.
95994
95995                          Example:
95996
95997                              cmd.shell 'echo '\''h=\"baz\"'\''' runas=macuser
95998
95999
96000                     · group  (str)  -- Group to run command as. Not currently
96001                       supported on Windows.
96002
96003                     · password (str) --
96004
96005                       Windows only.  Required  when  specifying  runas.  This
96006                       parameter will be ignored on non-Windows platforms.
96007
96008                       New in version 2016.3.0.
96009
96010
96011
96012                     · shell  (int) -- Shell to execute under. Defaults to the
96013                       system default shell.
96014
96015                     · bg (bool) -- If True, run command in background and  do
96016                       not await or deliver its results
96017
96018                     · env (dict) --
96019
96020                       Environment variables to be set prior to execution.
96021
96022                       NOTE:
96023                          When  passing environment variables on the CLI, they
96024                          should be passed as the string representation  of  a
96025                          dictionary.
96026
96027                              salt myminion cmd.shell 'some command' env='{"FOO": "bar"}'
96028
96029
96030                     · clean_env  (bool)  --  Attempt  to  clean out all other
96031                       shell environment variables and set only those provided
96032                       in the 'env' argument to this function.
96033
96034                     · prepend_path (str) --
96035
96036                       $PATH  segment  to prepend (trailing ':' not necessary)
96037                       to $PATH
96038
96039                       New in version 2018.3.0.
96040
96041
96042
96043                     · template (str) -- If this setting is applied  then  the
96044                       named  templating  engine  will  be  used to render the
96045                       downloaded file. Currently jinja, mako, and  wempy  are
96046                       supported.
96047
96048                     · rstrip  (bool)  --  Strip all whitespace off the end of
96049                       output before it is returned.
96050
96051                     · umask (str) -- The umask (in octal) to use when running
96052                       the command.
96053
96054                     · output_encoding (str) --
96055
96056                       Control  the encoding used to decode the command's out‐
96057                       put.
96058
96059                       NOTE:
96060                          This should not need to be used in  most  cases.  By
96061                          default,  Salt will try to use the encoding detected
96062                          from the system locale, and will fall back to  UTF-8
96063                          if  this  fails. This should only need to be used in
96064                          cases where the output of the command is encoded  in
96065                          something other than the system locale or UTF-8.
96066
96067                          To  see the encoding Salt has detected from the sys‐
96068                          tem locale, check the locale line in the  output  of
96069                          test.versions_report.
96070
96071                       New in version 2018.3.0.
96072
96073
96074
96075                     · output_loglevel (str) --
96076
96077                       Control  the loglevel at which the output from the com‐
96078                       mand is logged to the minion log.
96079
96080                       NOTE:
96081                          The command being run will still be  logged  at  the
96082                          debug  loglevel regardless, unless quiet is used for
96083                          this value.
96084
96085
96086                     · ignore_retcode (bool) -- If the exit code of  the  com‐
96087                       mand is nonzero, this is treated as an error condition,
96088                       and the output from the command will be logged  to  the
96089                       minion  log.  However,  there are some cases where pro‐
96090                       grams use the return code for signaling and  a  nonzero
96091                       exit  code  doesn't necessarily mean failure. Pass this
96092                       argument as True to skip logging the output if the com‐
96093                       mand has a nonzero exit code.
96094
96095                     · hide_output (bool) --
96096
96097                       If True, suppress stdout and stderr in the return data.
96098
96099                       NOTE:
96100                          This  is  separate  from output_loglevel, which only
96101                          handles how Salt logs to the minion log.
96102
96103                       New in version 2018.3.0.
96104
96105
96106
96107                     · timeout (int) -- A timeout in seconds for the  executed
96108                       process to return.
96109
96110                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
96111                       command output more interactively to  the  console  and
96112                       the logs. This is experimental.
96113
96114              WARNING:
96115                 This  passes  the  cmd argument directly to the shell without
96116                 any further processing! Be  absolutely  sure  that  you  have
96117                 properly sanitized the command passed to this function and do
96118                 not use untrusted inputs.
96119
96120              Parameters
96121
96122                     · success_retcodes (list) -- .INDENT 2.0
96123
96124                     This parameter will be allow a list of
96125                       non-zero return codes that should be considered a  suc‐
96126                       cess.  If the return code returned from the run matches
96127                       any in the provided list, the return code will be over‐
96128                       ridden with zero.
96129
96130                     New in version 2019.2.0.
96131
96132
96133
96134              · stdin_raw_newlines (bool) -- .INDENT 2.0
96135
96136              False
96137                If True, Salt will not automatically convert the characters \n
96138                present in the stdin value to newlines.
96139
96140              New in version 2019.2.0.
96141
96142
96143
96144CLI Example:
96145
96146                 salt '*' cmd.shell "ls -l | awk '/foo/{print \$2}'"
96147
96148              The template arg can be set to 'jinja' or another supported tem‐
96149              plate  engine  to render the command arguments before execution.
96150              For example:
96151
96152                 salt '*' cmd.shell template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
96153
96154              Specify an alternate shell with the shell parameter:
96155
96156                 salt '*' cmd.shell "Get-ChildItem C:\ " shell='powershell'
96157
96158              A string of standard input can be specified for the  command  to
96159              be  run  using  the stdin parameter. This can be useful in cases
96160              where sensitive information must be read from standard input.
96161
96162                 salt '*' cmd.shell "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
96163
96164              If an equal sign (=) appears in an argument to a Salt command it
96165              is interpreted as a keyword argument in the format key=val. That
96166              processing can be bypassed  in  order  to  pass  an  equal  sign
96167              through  to  the remote shell command by manually specifying the
96168              kwarg:
96169
96170                 salt '*' cmd.shell cmd='sed -e s/=/:/g'
96171
96172       salt.modules.cmdmod.shell_info(shell, list_modules=False)
96173              New in version 2016.11.0.
96174
96175
96176              Provides information about a shell  or  script  languages  which
96177              often  use #!. The values returned are dependent on the shell or
96178              scripting languages all return  the  installed,  path,  version,
96179              version_raw
96180
96181              Parameters
96182
96183                     · shell (str) -- Name of the shell. Support shells/script
96184                       languages include
96185
96186                     · cmd,  perl,  php,  powershell,  python,  ruby  and  zsh
96187                       (bash,) --
96188
96189                     · list_modules  (bool)  -- True to list modules available
96190                       to the shell.
96191
96192                     · only lists powershell modules. (Currently) --
96193
96194              Returns
96195                     A dictionary of information about the shell
96196
96197              Return type
96198                     dict
96199
96200                 {'version': '<2 or 3 numeric components dot-separated>',
96201                  'version_raw': '<full version string>',
96202                  'path': '<full path to binary>',
96203                  'installed': <True, False or None>,
96204                  '<attribute>': '<attribute value>'}
96205
96206              NOTE:
96207
96208                 · installed is always returned, if None or False also returns
96209                   error and may also return stdout for diagnostics.
96210
96211                 · version  is for use in determine if a shell/script language
96212                   has a particular feature set, not for package management.
96213
96214                 · The shell must be within the executable search path.
96215
96216              CLI Example:
96217
96218                 salt '*' cmd.shell_info bash
96219                 salt '*' cmd.shell_info powershell
96220
96221              Codeauthor
96222                     Damon Atkins <https://github.com/damon-atkins>
96223
96224       salt.modules.cmdmod.shells()
96225              Lists the valid shells on this system via the /etc/shells file
96226
96227              New in version 2015.5.0.
96228
96229
96230              CLI Example:
96231
96232                 salt '*' cmd.shells
96233
96234       salt.modules.cmdmod.tty(device, echo=u'')
96235              Echo a string to a specific tty
96236
96237              CLI Example:
96238
96239                 salt '*' cmd.tty tty0 'This is a test'
96240                 salt '*' cmd.tty pts3 'This is a test'
96241
96242       salt.modules.cmdmod.which(cmd)
96243              Returns the path of an executable available on the minion,  None
96244              otherwise
96245
96246              CLI Example:
96247
96248                 salt '*' cmd.which cat
96249
96250       salt.modules.cmdmod.which_bin(cmds)
96251              Returns the first command found in a list of commands
96252
96253              CLI Example:
96254
96255                 salt '*' cmd.which_bin '[pip2, pip, pip-python]'
96256
96257   salt.modules.composer
96258       Use composer to install PHP dependencies for a directory
96259
96260       salt.modules.composer.did_composer_install(dir)
96261              Test to see if the vendor directory exists in this directory
96262
96263              dir    Directory location of the composer.json file
96264
96265              CLI Example:
96266
96267                 salt '*' composer.did_composer_install /var/www/application
96268
96269       salt.modules.composer.install(directory,    composer=None,    php=None,
96270       runas=None,  prefer_source=None,   prefer_dist=None,   no_scripts=None,
96271       no_plugins=None,    optimize=None,   no_dev=None,   quiet=False,   com‐
96272       poser_home=u'/root', env=None)
96273              Install composer dependencies for a directory.
96274
96275              If composer has not been installed globally making it  available
96276              in  the system PATH & making it executable, the composer and php
96277              parameters will need to be set to the location of  the  executa‐
96278              bles.
96279
96280              directory
96281                     Directory location of the composer.json file.
96282
96283              composer
96284                     Location  of  the composer.phar file. If not set composer
96285                     will just execute "composer" as if it is installed  glob‐
96286                     ally.  (i.e. /path/to/composer.phar)
96287
96288              php    Location  of  the  php  executable  to use with composer.
96289                     (i.e. /usr/bin/php)
96290
96291              runas  Which system user to run composer as.
96292
96293              prefer_source
96294                     --prefer-source option of composer.
96295
96296              prefer_dist
96297                     --prefer-dist option of composer.
96298
96299              no_scripts
96300                     --no-scripts option of composer.
96301
96302              no_plugins
96303                     --no-plugins option of composer.
96304
96305              optimize
96306                     --optimize-autoloader option of composer. Recommended for
96307                     production.
96308
96309              no_dev --no-dev option for composer. Recommended for production.
96310
96311              quiet  --quiet  option  for  composer.  Whether or not to return
96312                     output from composer.
96313
96314              composer_home
96315                     $COMPOSER_HOME environment variable
96316
96317              env    A list of environment variables to be set prior to execu‐
96318                     tion.
96319
96320              CLI Example:
96321
96322                 salt '*' composer.install /var/www/application
96323
96324                 salt '*' composer.install /var/www/application             no_dev=True optimize=True
96325
96326       salt.modules.composer.selfupdate(composer=None,  php=None,  runas=None,
96327       quiet=False, composer_home=u'/root')
96328              Update composer itself.
96329
96330              If composer has not been installed globally making it  available
96331              in  the system PATH & making it executable, the composer and php
96332              parameters will need to be set to the location of  the  executa‐
96333              bles.
96334
96335              composer
96336                     Location  of  the composer.phar file. If not set composer
96337                     will just execute "composer" as if it is installed  glob‐
96338                     ally.  (i.e. /path/to/composer.phar)
96339
96340              php    Location  of  the  php  executable  to use with composer.
96341                     (i.e. /usr/bin/php)
96342
96343              runas  Which system user to run composer as.
96344
96345              quiet  --quiet option for composer. Whether  or  not  to  return
96346                     output from composer.
96347
96348              composer_home
96349                     $COMPOSER_HOME environment variable
96350
96351              CLI Example:
96352
96353                 salt '*' composer.selfupdate
96354
96355       salt.modules.composer.update(directory,     composer=None,    php=None,
96356       runas=None,  prefer_source=None,   prefer_dist=None,   no_scripts=None,
96357       no_plugins=None,    optimize=None,   no_dev=None,   quiet=False,   com‐
96358       poser_home=u'/root', env=None)
96359              Update composer dependencies for a directory.
96360
96361              If composer install has not yet been  run,  this  runs  composer
96362              install instead.
96363
96364              If  composer has not been installed globally making it available
96365              in the system PATH & making it executable, the composer and  php
96366              parameters  will  need to be set to the location of the executa‐
96367              bles.
96368
96369              directory
96370                     Directory location of the composer.json file.
96371
96372              composer
96373                     Location of the composer.phar file. If not  set  composer
96374                     will  just execute "composer" as if it is installed glob‐
96375                     ally.  (i.e. /path/to/composer.phar)
96376
96377              php    Location of the php  executable  to  use  with  composer.
96378                     (i.e. /usr/bin/php)
96379
96380              runas  Which system user to run composer as.
96381
96382              prefer_source
96383                     --prefer-source option of composer.
96384
96385              prefer_dist
96386                     --prefer-dist option of composer.
96387
96388              no_scripts
96389                     --no-scripts option of composer.
96390
96391              no_plugins
96392                     --no-plugins option of composer.
96393
96394              optimize
96395                     --optimize-autoloader option of composer. Recommended for
96396                     production.
96397
96398              no_dev --no-dev option for composer. Recommended for production.
96399
96400              quiet  --quiet option for composer. Whether  or  not  to  return
96401                     output from composer.
96402
96403              composer_home
96404                     $COMPOSER_HOME environment variable
96405
96406              env    A list of environment variables to be set prior to execu‐
96407                     tion.
96408
96409              CLI Example:
96410
96411                 salt '*' composer.update /var/www/application
96412
96413                 salt '*' composer.update /var/www/application             no_dev=True optimize=True
96414
96415   salt.modules.config
96416       Return config information
96417
96418       salt.modules.config.backup_mode(backup=u'')
96419              Return the backup mode
96420
96421              CLI Example:
96422
96423                 salt '*' config.backup_mode
96424
96425       salt.modules.config.dot_vals(value)
96426              Pass in a configuration value that should  be  preceded  by  the
96427              module  name  and  a  dot,  this  will return a list of all read
96428              key/value pairs
96429
96430              CLI Example:
96431
96432                 salt '*' config.dot_vals host
96433
96434       salt.modules.config.gather_bootstrap_script(bootstrap=None)
96435              Download the salt-bootstrap script, and return its location
96436
96437              bootstrap
96438                     URL of alternate bootstrap script
96439
96440              CLI Example:
96441
96442                 salt '*' config.gather_bootstrap_script
96443
96444       salt.modules.config.get(key, default=u'',  delimiter=u':',  merge=None,
96445       omit_opts=False,          omit_pillar=False,         omit_master=False,
96446       omit_grains=False)
96447              Attempt to retrieve the named value from the minion config file,
96448              pillar,  grains  or the master config. If the named value is not
96449              available, return the value specified by the  default  argument.
96450              If  this  argument  is  not  specified, default falls back to an
96451              empty string.
96452
96453              Values can also be retrieved from  nested  dictionaries.  Assume
96454              the below data structure:
96455
96456                 {'pkg': {'apache': 'httpd'}}
96457
96458              To  retrieve  the  value  associated with the apache key, in the
96459              sub-dictionary corresponding to the pkg key, the following  com‐
96460              mand can be used:
96461
96462                 salt myminion config.get pkg:apache
96463
96464              The : (colon) is used to represent a nested dictionary level.
96465
96466              Changed  in  version 2015.5.0: The delimiter argument was added,
96467              to allow delimiters other than : to be used.
96468
96469
96470              This function traverses these data stores in this order, return‐
96471              ing the first match found:
96472
96473              · Minion configuration
96474
96475              · Minion's grains
96476
96477              · Minion's pillar data
96478
96479              · Master  configuration  (requires pillar_opts to be set to True
96480                in Minion config file in order to work)
96481
96482              This means that if there is a value that is going to be the same
96483              for  the majority of minions, it can be configured in the Master
96484              config file, and then overridden using the  grains,  pillar,  or
96485              Minion config file.
96486
96487              Adding config options to the Master or Minion configuration file
96488              is easy:
96489
96490                 my-config-option: value
96491                 cafe-menu:
96492                   - egg and bacon
96493                   - egg sausage and bacon
96494                   - egg and spam
96495                   - egg bacon and spam
96496                   - egg bacon sausage and spam
96497                   - spam bacon sausage and spam
96498                   - spam egg spam spam bacon and spam
96499                   - spam sausage spam spam bacon spam tomato and spam
96500
96501              NOTE:
96502                 Minion configuration options  built  into  Salt  (like  those
96503                 defined here) will always be defined in the Minion configura‐
96504                 tion and thus cannot be overridden by grains or pillar  data.
96505                 However,  additional (user-defined) configuration options (as
96506                 in the above example) will not be in the Minion configuration
96507                 by  default  and  thus  can be overridden using grains/pillar
96508                 data by leaving the option out of the minion config file.
96509
96510              Arguments
96511
96512              delimiter
96513                     New in version 2015.5.0.
96514
96515
96516                     Override the delimiter used to separate nested levels  of
96517                     a data structure.
96518
96519              merge  New in version 2015.5.0.
96520
96521
96522                     If passed, this parameter will change the behavior of the
96523                     function so that, instead of traversing each  data  store
96524                     above  in  order  and returning the first match, the data
96525                     stores are first merged together and then  searched.  The
96526                     pillar  data  is merged into the master config data, then
96527                     the grains are merged,  followed  by  the  Minion  config
96528                     data.   The resulting data structure is then searched for
96529                     a match. This allows for configurations to be more flexi‐
96530                     ble.
96531
96532                     NOTE:
96533                        The  merging  described above does not mean that grain
96534                        data will end up in the Minion's pillar data, or  pil‐
96535                        lar  data  will end up in the master config data, etc.
96536                        The data is just combined for the purposes of  search‐
96537                        ing an amalgam of the different data stores.
96538
96539                     The supported merge strategies are as follows:
96540
96541                     · recurse - If a key exists in both dictionaries, and the
96542                       new value is not a dictionary, it is  replaced.  Other‐
96543                       wise,  the  sub-dictionaries are merged together into a
96544                       single dictionary, recursively on down,  following  the
96545                       same criteria. For example:
96546
96547                          >>> dict1 = {'foo': {'bar': 1, 'qux': True},
96548                                       'hosts': ['a', 'b', 'c'],
96549                                       'only_x': None}
96550                          >>> dict2 = {'foo': {'baz': 2, 'qux': False},
96551                                       'hosts': ['d', 'e', 'f'],
96552                                       'only_y': None}
96553                          >>> merged
96554                          {'foo': {'bar': 1, 'baz': 2, 'qux': False},
96555                           'hosts': ['d', 'e', 'f'],
96556                           'only_dict1': None,
96557                           'only_dict2': None}
96558
96559                     · overwrite  -  If  a key exists in the top level of both
96560                       dictionaries, the new value completely  overwrites  the
96561                       old. For example:
96562
96563                          >>> dict1 = {'foo': {'bar': 1, 'qux': True},
96564                                       'hosts': ['a', 'b', 'c'],
96565                                       'only_x': None}
96566                          >>> dict2 = {'foo': {'baz': 2, 'qux': False},
96567                                       'hosts': ['d', 'e', 'f'],
96568                                       'only_y': None}
96569                          >>> merged
96570                          {'foo': {'baz': 2, 'qux': False},
96571                           'hosts': ['d', 'e', 'f'],
96572                           'only_dict1': None,
96573                           'only_dict2': None}
96574
96575              CLI Example:
96576
96577                 salt '*' config.get pkg:apache
96578                 salt '*' config.get lxc.container_profile:centos merge=recurse
96579
96580       salt.modules.config.items()
96581              Return  the  complete  config  from the currently running minion
96582              process.  This includes defaults for values not set in the  con‐
96583              fig file.
96584
96585              CLI Example:
96586
96587                 salt '*' config.items
96588
96589       salt.modules.config.manage_mode(mode)
96590              Return a mode value, normalized to a string
96591
96592              CLI Example:
96593
96594                 salt '*' config.manage_mode
96595
96596       salt.modules.config.merge(value,      default=u'',     omit_opts=False,
96597       omit_master=False, omit_pillar=False)
96598              Retrieves an option based on key, merging all matches.
96599
96600              Same as option() except that it merges all matches, rather  than
96601              taking the first match.
96602
96603              CLI Example:
96604
96605                 salt '*' config.merge schedule
96606
96607       salt.modules.config.option(value,     default=None,    omit_opts=False,
96608       omit_grains=False,        omit_pillar=False,         omit_master=False,
96609       omit_all=False, wildcard=False)
96610              Returns the setting for the specified config value. The priority
96611              for matches is the same as in  config.get,  only  this  function
96612              does not recurse into nested data structures. Another difference
96613              between this function and config.get is that it comes with a set
96614              of  "sane  defaults".   To view these, you can run the following
96615              command:
96616
96617                 salt '*' config.option '*' omit_all=True wildcard=True
96618
96619              default
96620                     The default value if no match is found. If not specified,
96621                     then the fallback default will be an empty string, unless
96622                     wildcard=True, in which case the return will be an  empty
96623                     dictionary.
96624
96625              omit_opts
96626                     False  Pass  as  True  to exclude matches from the minion
96627                     configuration file
96628
96629              omit_grains
96630                     False Pass as True to exclude matches from the grains
96631
96632              omit_pillar
96633                     False Pass as True to exclude  matches  from  the  pillar
96634                     data
96635
96636              omit_master
96637                     False  Pass  as  True  to exclude matches from the master
96638                     configuration file
96639
96640              omit_all
96641                     True Shorthand to  omit  all  of  the  above  and  return
96642                     matches only from the "sane defaults".
96643
96644                     New in version 3000.
96645
96646
96647              wildcard
96648                     False  If  used,  this  will  perform pattern matching on
96649                     keys. Note that this will also significantly  change  the
96650                     return  data.  Instead  of only a value being returned, a
96651                     dictionary mapping the matched keys to  their  values  is
96652                     returned.  For example, using wildcard=True with a key of
96653                     'foo.ba* could return a dictionary like so:
96654
96655                        {'foo.bar': True, 'foo.baz': False}
96656
96657                     New in version 3000.
96658
96659
96660              CLI Example:
96661
96662                 salt '*' config.option redis.host
96663
96664       salt.modules.config.valid_fileproto(uri)
96665              Returns a boolean value based on whether or not the  URI  passed
96666              has a valid remote file protocol designation
96667
96668              CLI Example:
96669
96670                 salt '*' config.valid_fileproto salt://path/to/file
96671
96672   salt.modules.consul
96673       Interact with Consul
96674
96675       https://www.consul.io
96676
96677       salt.modules.consul.acl_clone(consul_url=None, token=None, **kwargs)
96678              Information about an ACL token.
96679
96680              Parameters
96681
96682                     · consul_url -- The Consul server URL.
96683
96684                     · id -- Unique identifier for the ACL to update.
96685
96686              Returns
96687                     Boolean,  message  of  success  or failure, and new ID of
96688                     cloned ACL.
96689
96690              CLI Example:
96691
96692                 salt '*' consul.acl_info id='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
96693
96694       salt.modules.consul.acl_create(consul_url=None, token=None, **kwargs)
96695              Create a new ACL token.
96696
96697              Parameters
96698
96699                     · consul_url -- The Consul server URL.
96700
96701                     · name -- Meaningful indicator of the ACL's purpose.
96702
96703                     · type -- Type is either client or management. A  manage‐
96704                       ment  token  is  comparable  to a root user and has the
96705                       ability to perform any action including creating, modi‐
96706                       fying, and deleting ACLs.
96707
96708                     · rules -- The Consul server URL.
96709
96710              Returns
96711                     Boolean & message of success or failure.
96712
96713              CLI Example:
96714
96715                 salt '*' consul.acl_create
96716
96717       salt.modules.consul.acl_delete(consul_url=None, token=None, **kwargs)
96718              Delete an ACL token.
96719
96720              Parameters
96721
96722                     · consul_url -- The Consul server URL.
96723
96724                     · id -- Unique identifier for the ACL to update.
96725
96726              Returns
96727                     Boolean & message of success or failure.
96728
96729              CLI Example:
96730
96731                 salt '*' consul.acl_delete id='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
96732
96733       salt.modules.consul.acl_info(consul_url=None, **kwargs)
96734              Information about an ACL token.
96735
96736              Parameters
96737
96738                     · consul_url -- The Consul server URL.
96739
96740                     · id -- Unique identifier for the ACL to update.
96741
96742              Returns
96743                     Information about the ACL requested.
96744
96745              CLI Example:
96746
96747                 salt '*' consul.acl_info id='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
96748
96749       salt.modules.consul.acl_list(consul_url=None, token=None, **kwargs)
96750              List the ACL tokens.
96751
96752              Parameters
96753                     consul_url -- The Consul server URL.
96754
96755              Returns
96756                     List of ACLs
96757
96758              CLI Example:
96759
96760                 salt '*' consul.acl_list
96761
96762       salt.modules.consul.acl_update(consul_url=None, token=None, **kwargs)
96763              Update an ACL token.
96764
96765              Parameters
96766
96767                     · consul_url -- The Consul server URL.
96768
96769                     · name -- Meaningful indicator of the ACL's purpose.
96770
96771                     · id -- Unique identifier for the ACL to update.
96772
96773                     · type  -- Type is either client or management. A manage‐
96774                       ment token is comparable to a root  user  and  has  the
96775                       ability to perform any action including creating, modi‐
96776                       fying, and deleting ACLs.
96777
96778                     · rules -- The Consul server URL.
96779
96780              Returns
96781                     Boolean & message of success or failure.
96782
96783              CLI Example:
96784
96785                 salt '*' consul.acl_update
96786
96787       salt.modules.consul.agent_check_deregister(consul_url=None, token=None,
96788       checkid=None)
96789              The  agent  will  take  care of deregistering the check from the
96790              Catalog.
96791
96792              Parameters
96793
96794                     · consul_url -- The Consul server URL.
96795
96796                     · checkid -- The ID of the check to deregister from  Con‐
96797                       sul.
96798
96799              Returns
96800                     Boolean and message indicating success or failure.
96801
96802              CLI Example:
96803
96804                 salt '*' consul.agent_check_deregister checkid='Memory Utilization'
96805
96806       salt.modules.consul.agent_check_fail(consul_url=None,       token=None,
96807       checkid=None, **kwargs)
96808              This endpoint is used with a check that is of the TTL type. When
96809              this  is  called, the status of the check is set to critical and
96810              the TTL clock is reset.
96811
96812              Parameters
96813
96814                     · consul_url -- The Consul server URL.
96815
96816                     · checkid -- The ID of the check to deregister from  Con‐
96817                       sul.
96818
96819                     · note -- A human-readable message with the status of the
96820                       check.
96821
96822              Returns
96823                     Boolean and message indicating success or failure.
96824
96825              CLI Example:
96826
96827                 salt '*' consul.agent_check_fail checkid='redis_check1' note='Forcing check into critical state.'
96828
96829       salt.modules.consul.agent_check_pass(consul_url=None,       token=None,
96830       checkid=None, **kwargs)
96831              This endpoint is used with a check that is of the TTL type. When
96832              this is called, the status of the check is set  to  passing  and
96833              the TTL clock is reset.
96834
96835              Parameters
96836
96837                     · consul_url -- The Consul server URL.
96838
96839                     · checkid -- The ID of the check to mark as passing.
96840
96841                     · note -- A human-readable message with the status of the
96842                       check.
96843
96844              Returns
96845                     Boolean and message indicating success or failure.
96846
96847              CLI Example:
96848
96849                 salt '*' consul.agent_check_pass checkid='redis_check1' note='Forcing check into passing state.'
96850
96851       salt.modules.consul.agent_check_register(consul_url=None,   token=None,
96852       **kwargs)
96853              The  register  endpoint  is used to add a new check to the local
96854              agent.
96855
96856              Parameters
96857
96858                     · consul_url -- The Consul server URL.
96859
96860                     · name -- The description of what the check is for.
96861
96862                     · id -- The unique name to use for the check, if not pro‐
96863                       vided 'name' is used.
96864
96865                     · notes -- Human readable description of the check.
96866
96867                     · script  --  If  script is provided, the check type is a
96868                       script, and Consul will evaluate that script  based  on
96869                       the interval parameter.
96870
96871                     · http  -- Check will perform an HTTP GET request against
96872                       the value of HTTP (expected to be a URL) based  on  the
96873                       interval parameter.
96874
96875                     · ttl  -- If a TTL type is used, then the TTL update end‐
96876                       point must be used periodically to update the state  of
96877                       the check.
96878
96879                     · interval -- Interval at which the check should run.
96880
96881              Returns
96882                     Boolean and message indicating success or failure.
96883
96884              CLI Example:
96885
96886                 salt '*' consul.agent_check_register name='Memory Utilization' script='/usr/local/bin/check_mem.py' interval='15s'
96887
96888       salt.modules.consul.agent_check_warn(consul_url=None,       token=None,
96889       checkid=None, **kwargs)
96890              This endpoint is used with a check that is of the TTL type. When
96891              this  is  called,  the status of the check is set to warning and
96892              the TTL clock is reset.
96893
96894              Parameters
96895
96896                     · consul_url -- The Consul server URL.
96897
96898                     · checkid -- The ID of the check to deregister from  Con‐
96899                       sul.
96900
96901                     · note -- A human-readable message with the status of the
96902                       check.
96903
96904              Returns
96905                     Boolean and message indicating success or failure.
96906
96907              CLI Example:
96908
96909                 salt '*' consul.agent_check_warn checkid='redis_check1' note='Forcing check into warning state.'
96910
96911       salt.modules.consul.agent_checks(consul_url=None, token=None)
96912              Returns the checks the local agent is managing
96913
96914              Parameters
96915                     consul_url -- The Consul server URL.
96916
96917              Returns
96918                     Returns the checks the local agent is managing
96919
96920              CLI Example:
96921
96922                 salt '*' consul.agent_checks
96923
96924       salt.modules.consul.agent_join(consul_url=None,             token=None,
96925       address=None, **kwargs)
96926              Triggers the local agent to join a node
96927
96928              Parameters
96929
96930                     · consul_url -- The Consul server URL.
96931
96932                     · address -- The address for the agent to connect to.
96933
96934                     · wan  --  Causes  the agent to attempt to join using the
96935                       WAN pool.
96936
96937              Returns
96938                     Boolean and message indicating success or failure.
96939
96940              CLI Example:
96941
96942                 salt '*' consul.agent_join address='192.168.1.1'
96943
96944       salt.modules.consul.agent_leave(consul_url=None, token=None, node=None)
96945              Used to instruct the agent to force a node into the left state.
96946
96947              Parameters
96948
96949                     · consul_url -- The Consul server URL.
96950
96951                     · node -- The node the agent will force into left state
96952
96953              Returns
96954                     Boolean and message indicating success or failure.
96955
96956              CLI Example:
96957
96958                 salt '*' consul.agent_leave node='web1.example.com'
96959
96960       salt.modules.consul.agent_maintenance(consul_url=None,      token=None,
96961       **kwargs)
96962              Manages node maintenance mode
96963
96964              Parameters
96965
96966                     · consul_url -- The Consul server URL.
96967
96968                     · enable -- The enable flag is required.  Acceptable val‐
96969                       ues are either true  (to  enter  maintenance  mode)  or
96970                       false (to resume normal operation).
96971
96972                     · reason  --  If  provided,  its  value  should be a text
96973                       string explaining the reason for placing the node  into
96974                       maintenance mode.
96975
96976              Returns
96977                     Boolean and message indicating success or failure.
96978
96979              CLI Example:
96980
96981                 salt '*' consul.agent_maintenance enable='False' reason='Upgrade in progress'
96982
96983       salt.modules.consul.agent_members(consul_url=None,          token=None,
96984       **kwargs)
96985              Returns the members as seen by the local serf agent
96986
96987              Parameters
96988                     consul_url -- The Consul server URL.
96989
96990              Returns
96991                     Returns the members as seen by the local serf agent
96992
96993              CLI Example:
96994
96995                 salt '*' consul.agent_members
96996
96997       salt.modules.consul.agent_self(consul_url=None, token=None)
96998              Returns the local node configuration
96999
97000              Parameters
97001                     consul_url -- The Consul server URL.
97002
97003              Returns
97004                     Returns the local node configuration
97005
97006              CLI Example:
97007
97008                 salt '*' consul.agent_self
97009
97010       salt.modules.consul.agent_service_deregister(consul_url=None,
97011       token=None, serviceid=None)
97012              Used to remove a service.
97013
97014              Parameters
97015
97016                     · consul_url -- The Consul server URL.
97017
97018                     · serviceid -- A serviceid describing the service.
97019
97020              Returns
97021                     Boolean and message indicating success or failure.
97022
97023              CLI Example:
97024
97025                 salt '*' consul.agent_service_deregister serviceid='redis'
97026
97027       salt.modules.consul.agent_service_maintenance(consul_url=None,
97028       token=None, serviceid=None, **kwargs)
97029              Used to place a service into maintenance mode.
97030
97031              Parameters
97032
97033                     · consul_url -- The Consul server URL.
97034
97035                     · serviceid -- A name of the service.
97036
97037                     · enable -- Whether the service should be enabled or dis‐
97038                       abled.
97039
97040                     · reason  --  A human readable message of why the service
97041                       was enabled or disabled.
97042
97043              Returns
97044                     Boolean and message indicating success or failure.
97045
97046              CLI Example:
97047
97048                 salt '*' consul.agent_service_deregister serviceid='redis' enable='True' reason='Down for upgrade'
97049
97050       salt.modules.consul.agent_service_register(consul_url=None, token=None,
97051       **kwargs)
97052              The used to add a new service, with an optional health check, to
97053              the local agent.
97054
97055              Parameters
97056
97057                     · consul_url -- The Consul server URL.
97058
97059                     · name -- A name describing the service.
97060
97061                     · address -- The address used by the service, defaults to
97062                       the address of the agent.
97063
97064                     · port -- The port used by the service.
97065
97066                     · id  --  Unique  ID to identify the service, if not pro‐
97067                       vided the value of the name parameter is used.
97068
97069                     · tags -- Identifying tags for service, string or list.
97070
97071                     · script -- If script is provided, the check  type  is  a
97072                       script,  and  Consul will evaluate that script based on
97073                       the interval parameter.
97074
97075                     · http -- Check will perform an HTTP GET request  against
97076                       the  value  of HTTP (expected to be a URL) based on the
97077                       interval parameter.
97078
97079                     · check_ttl -- If a TTL type is used, then the TTL update
97080                       endpoint  must be used periodically to update the state
97081                       of the check.
97082
97083                     · check_interval -- Interval at which  the  check  should
97084                       run.
97085
97086              Returns
97087                     Boolean and message indicating success or failure.
97088
97089              CLI Example:
97090
97091                 salt '*' consul.agent_service_register name='redis' tags='["master", "v1"]' address="127.0.0.1" port="8080" check_script="/usr/local/bin/check_redis.py" interval="10s"
97092
97093       salt.modules.consul.agent_services(consul_url=None, token=None)
97094              Returns the services the local agent is managing
97095
97096              Parameters
97097                     consul_url -- The Consul server URL.
97098
97099              Returns
97100                     Returns the services the local agent is managing
97101
97102              CLI Example:
97103
97104                 salt '*' consul.agent_services
97105
97106       salt.modules.consul.catalog_datacenters(consul_url=None, token=None)
97107              Return list of available datacenters from catalog.
97108
97109              Parameters
97110                     consul_url -- The Consul server URL.
97111
97112              Returns
97113                     The list of available datacenters.
97114
97115              CLI Example:
97116
97117                 salt '*' consul.catalog_datacenters
97118
97119       salt.modules.consul.catalog_deregister(consul_url=None,     token=None,
97120       **kwargs)
97121              Deregisters a node, service, or check
97122
97123              Parameters
97124
97125                     · consul_url -- The Consul server URL.
97126
97127                     · node -- The node to deregister.
97128
97129                     · datacenter -- By default, the datacenter of  the  agent
97130                       is  queried;  however, the dc can be provided using the
97131                       "dc" parameter.
97132
97133                     · checkid -- The ID of the health check to deregister.
97134
97135                     · serviceid -- The ID of the service to deregister.
97136
97137              Returns
97138                     Boolean & message of success or failure.
97139
97140              CLI Example:
97141
97142                 salt '*' consul.catalog_register node='node1' serviceid='redis_server1' checkid='redis_check1'
97143
97144       salt.modules.consul.catalog_node(consul_url=None,           token=None,
97145       node=None, **kwargs)
97146              Information about the registered node.
97147
97148              Parameters
97149
97150                     · consul_url -- The Consul server URL.
97151
97152                     · node -- The node to request information about.
97153
97154                     · dc  --  By  default,  the  datacenter  of  the agent is
97155                       queried; however, the dc can be provided using the "dc"
97156                       parameter.
97157
97158              Returns
97159                     Information about the requested node.
97160
97161              CLI Example:
97162
97163                 salt '*' consul.catalog_service service='redis'
97164
97165       salt.modules.consul.catalog_nodes(consul_url=None,          token=None,
97166       **kwargs)
97167              Return list of available nodes from catalog.
97168
97169              Parameters
97170
97171                     · consul_url -- The Consul server URL.
97172
97173                     · dc -- By  default,  the  datacenter  of  the  agent  is
97174                       queried; however, the dc can be provided using the "dc"
97175                       parameter.
97176
97177              Returns
97178                     The list of available nodes.
97179
97180              CLI Example:
97181
97182                 salt '*' consul.catalog_nodes
97183
97184       salt.modules.consul.catalog_register(consul_url=None,       token=None,
97185       **kwargs)
97186              Registers a new node, service, or check
97187
97188              Parameters
97189
97190                     · consul_url -- The Consul server URL.
97191
97192                     · dc  --  By  default,  the  datacenter  of  the agent is
97193                       queried; however, the dc can be provided using the "dc"
97194                       parameter.
97195
97196                     · node -- The node to register.
97197
97198                     · address -- The address of the node.
97199
97200                     · service -- The service that will be registered.
97201
97202                     · service_address -- The address that the service listens
97203                       on.
97204
97205                     · service_port -- The port for the service.
97206
97207                     · service_id -- A unique identifier for the  service,  if
97208                       this is not provided "name" will be used.
97209
97210                     · service_tags -- Any tags associated with the service.
97211
97212                     · check -- The name of the health check to register
97213
97214                     · check_status  --  The initial status of the check, must
97215                       be one of unknown, passing, warning, or critical.
97216
97217                     · check_service -- The service that  the  check  is  per‐
97218                       formed against.
97219
97220                     · check_id -- Unique identifier for the service.
97221
97222                     · check_notes  --  An  opaque field that is meant to hold
97223                       human-readable text.
97224
97225              Returns
97226                     Boolean & message of success or failure.
97227
97228              CLI Example:
97229
97230                 salt '*' consul.catalog_register node='node1' address='192.168.1.1' service='redis' service_address='127.0.0.1' service_port='8080' service_id='redis_server1'
97231
97232       salt.modules.consul.catalog_service(consul_url=None,  token=None,  ser‐
97233       vice=None, **kwargs)
97234              Information about the registered service.
97235
97236              Parameters
97237
97238                     · consul_url -- The Consul server URL.
97239
97240                     · dc  --  By  default,  the  datacenter  of  the agent is
97241                       queried; however, the dc can be provided using the "dc"
97242                       parameter.
97243
97244                     · tag -- Filter returned services with tag parameter.
97245
97246              Returns
97247                     Information about the requested service.
97248
97249              CLI Example:
97250
97251                 salt '*' consul.catalog_service service='redis'
97252
97253       salt.modules.consul.catalog_services(consul_url=None,       token=None,
97254       **kwargs)
97255              Return list of available services rom catalog.
97256
97257              Parameters
97258
97259                     · consul_url -- The Consul server URL.
97260
97261                     · dc -- By  default,  the  datacenter  of  the  agent  is
97262                       queried; however, the dc can be provided using the "dc"
97263                       parameter.
97264
97265              Returns
97266                     The list of available services.
97267
97268              CLI Example:
97269
97270                 salt '*' consul.catalog_services
97271
97272       salt.modules.consul.delete(consul_url=None,    token=None,    key=None,
97273       **kwargs)
97274              Delete values from Consul
97275
97276              Parameters
97277
97278                     · consul_url -- The Consul server URL.
97279
97280                     · key  --  The  key  to use as the starting point for the
97281                       list.
97282
97283                     · recurse -- Delete values recursively beginning  at  the
97284                       value of key.
97285
97286                     · cas  --  This  flag  is  used to turn the DELETE into a
97287                       Check-And-Set operation.
97288
97289              Returns
97290                     Boolean & message of success or failure.
97291
97292              CLI Example:
97293
97294                 salt '*' consul.delete key='web'
97295                 salt '*' consul.delete key='web' recurse='True'
97296
97297       salt.modules.consul.event_fire(consul_url=None, token=None,  name=None,
97298       **kwargs)
97299              List the ACL tokens.
97300
97301              Parameters
97302
97303                     · consul_url -- The Consul server URL.
97304
97305                     · name -- The name of the event to fire.
97306
97307                     · dc  --  By  default,  the  datacenter  of  the agent is
97308                       queried; however, the dc can be provided using the "dc"
97309                       parameter.
97310
97311                     · node -- Filter by node name.
97312
97313                     · service -- Filter by service name.
97314
97315                     · tag -- Filter by tag name.
97316
97317              Returns
97318                     List of ACLs
97319
97320              CLI Example:
97321
97322                 salt '*' consul.event_fire name='deploy'
97323
97324       salt.modules.consul.event_list(consul_url=None, token=None, **kwargs)
97325              List the recent events.
97326
97327              Parameters
97328
97329                     · consul_url -- The Consul server URL.
97330
97331                     · name -- The name of the event to fire.
97332
97333              Returns
97334                     List of ACLs
97335
97336              CLI Example:
97337
97338                 salt '*' consul.event_list
97339
97340       salt.modules.consul.get(consul_url=None,      key=None,     token=None,
97341       recurse=False, decode=False, raw=False)
97342              Get key from Consul
97343
97344              Parameters
97345
97346                     · consul_url -- The Consul server URL.
97347
97348                     · key -- The key to use as the  starting  point  for  the
97349                       list.
97350
97351                     · recurse  --  Return values recursively beginning at the
97352                       value of key.
97353
97354                     · decode --  By  default  values  are  stored  as  Base64
97355                       encoded  values,  decode will return the whole key with
97356                       the value decoded.
97357
97358                     · raw -- Simply return the decoded value of the key.
97359
97360              Returns
97361                     The keys in Consul.
97362
97363              CLI Example:
97364
97365                 salt '*' consul.get key='web/key1'
97366                 salt '*' consul.get key='web' recurse=True
97367                 salt '*' consul.get key='web' recurse=True decode=True
97368
97369              By default values stored in Consul are base64  encoded,  passing
97370              the decode option will show them as the decoded values.
97371
97372                 salt '*' consul.get key='web' recurse=True decode=True raw=True
97373
97374              By  default Consult will return other information about the key,
97375              the raw option will return only the raw value.
97376
97377       salt.modules.consul.health_checks(consul_url=None,   token=None,   ser‐
97378       vice=None, **kwargs)
97379              Health information about the registered service.
97380
97381              Parameters
97382
97383                     · consul_url -- The Consul server URL.
97384
97385                     · service  --  The  service to request health information
97386                       about.
97387
97388                     · dc -- By  default,  the  datacenter  of  the  agent  is
97389                       queried; however, the dc can be provided using the "dc"
97390                       parameter.
97391
97392              Returns
97393                     Health information about the requested node.
97394
97395              CLI Example:
97396
97397                 salt '*' consul.health_checks service='redis1'
97398
97399       salt.modules.consul.health_node(consul_url=None, token=None, node=None,
97400       **kwargs)
97401              Health information about the registered node.
97402
97403              Parameters
97404
97405                     · consul_url -- The Consul server URL.
97406
97407                     · node -- The node to request health information about.
97408
97409                     · dc  --  By  default,  the  datacenter  of  the agent is
97410                       queried; however, the dc can be provided using the "dc"
97411                       parameter.
97412
97413              Returns
97414                     Health information about the requested node.
97415
97416              CLI Example:
97417
97418                 salt '*' consul.health_node node='node1'
97419
97420       salt.modules.consul.health_service(consul_url=None,   token=None,  ser‐
97421       vice=None, **kwargs)
97422              Health information about the registered service.
97423
97424              Parameters
97425
97426                     · consul_url -- The Consul server URL.
97427
97428                     · service -- The service to  request  health  information
97429                       about.
97430
97431                     · dc  --  By  default,  the  datacenter  of  the agent is
97432                       queried; however, the dc can be provided using the "dc"
97433                       parameter.
97434
97435                     · tag -- Filter returned services with tag parameter.
97436
97437                     · passing -- Filter results to only nodes with all checks
97438                       in the passing state.
97439
97440              Returns
97441                     Health information about the requested node.
97442
97443              CLI Example:
97444
97445                 salt '*' consul.health_service service='redis1'
97446
97447                 salt '*' consul.health_service service='redis1' passing='True'
97448
97449       salt.modules.consul.health_state(consul_url=None,           token=None,
97450       state=None, **kwargs)
97451              Returns the checks in the state provided on the path.
97452
97453              Parameters
97454
97455                     · consul_url -- The Consul server URL.
97456
97457                     · state  --  The  state to show checks for. The supported
97458                       states are any, unknown, passing, warning, or critical.
97459                       The  any state is a wildcard that can be used to return
97460                       all checks.
97461
97462                     · dc -- By  default,  the  datacenter  of  the  agent  is
97463                       queried; however, the dc can be provided using the "dc"
97464                       parameter.
97465
97466              Returns
97467                     The checks in the provided state.
97468
97469              CLI Example:
97470
97471                 salt '*' consul.health_state state='redis1'
97472
97473                 salt '*' consul.health_state service='redis1' passing='True'
97474
97475       salt.modules.consul.list_(consul_url=None,    token=None,     key=None,
97476       **kwargs)
97477              List keys in Consul
97478
97479              Parameters
97480
97481                     · consul_url -- The Consul server URL.
97482
97483                     · key  --  The  key  to use as the starting point for the
97484                       list.
97485
97486              Returns
97487                     The list of keys.
97488
97489              CLI Example:
97490
97491                 salt '*' consul.list
97492                 salt '*' consul.list key='web'
97493
97494       salt.modules.consul.put(consul_url=None,     token=None,      key=None,
97495       value=None, **kwargs)
97496              Put values into Consul
97497
97498              Parameters
97499
97500                     · consul_url -- The Consul server URL.
97501
97502                     · key  --  The  key  to use as the starting point for the
97503                       list.
97504
97505                     · value -- The value to set the key to.
97506
97507                     · flags -- This can be used to specify an unsigned  value
97508                       between  0  and  2^64-1. Clients can choose to use this
97509                       however makes sense for their application.
97510
97511                     · cas -- This flag  is  used  to  turn  the  PUT  into  a
97512                       Check-And-Set operation.
97513
97514                     · acquire  --  This  flag  is used to turn the PUT into a
97515                       lock acquisition operation.
97516
97517                     · release -- This flag is used to turn  the  PUT  into  a
97518                       lock release operation.
97519
97520              Returns
97521                     Boolean & message of success or failure.
97522
97523              CLI Example:
97524
97525                 salt '*' consul.put key='web/key1' value="Hello there"
97526
97527                 salt '*' consul.put key='web/key1' value="Hello there" acquire='d5d371f4-c380-5280-12fd-8810be175592'
97528
97529                 salt '*' consul.put key='web/key1' value="Hello there" release='d5d371f4-c380-5280-12fd-8810be175592'
97530
97531       salt.modules.consul.session_create(consul_url=None,         token=None,
97532       **kwargs)
97533              Used to create a session.
97534
97535              Parameters
97536
97537                     · consul_url -- The Consul server URL.
97538
97539                     · lockdelay -- Duration string using  a  "s"  suffix  for
97540                       seconds.  The default is 15s.
97541
97542                     · node  --  Must  refer  to a node that is already regis‐
97543                       tered, if specified. By default, the agent's  own  node
97544                       name is used.
97545
97546                     · name -- A human-readable name for the session
97547
97548                     · checks  --  A  list  of associated health checks. It is
97549                       highly recommended that, if you override this list, you
97550                       include the default "serfHealth".
97551
97552                     · behavior  --  Can  be  set to either release or delete.
97553                       This controls the behavior when a  session  is  invali‐
97554                       dated.  By  default, this is release, causing any locks
97555                       that are held to be released. Changing this  to  delete
97556                       causes any locks that are held to be deleted. delete is
97557                       useful for creating ephemeral key/value entries.
97558
97559                     · ttl -- Session is invalidated  if  it  is  not  renewed
97560                       before the TTL expires
97561
97562              Returns
97563                     Boolean and message indicating success or failure.
97564
97565              CLI Example:
97566
97567                 salt '*' consul.session_create node='node1' name='my-session' behavior='delete' ttl='3600s'
97568
97569       salt.modules.consul.session_destroy(consul_url=None,  token=None,  ses‐
97570       sion=None, **kwargs)
97571              Destroy session
97572
97573              Parameters
97574
97575                     · consul_url -- The Consul server URL.
97576
97577                     · session -- The ID of the session to destroy.
97578
97579                     · dc -- By  default,  the  datacenter  of  the  agent  is
97580                       queried; however, the dc can be provided using the "dc"
97581                       parameter.
97582
97583              Returns
97584                     Boolean & message of success or failure.
97585
97586              CLI Example:
97587
97588                 salt '*' consul.session_destroy session='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
97589
97590       salt.modules.consul.session_info(consul_url=None,   token=None,    ses‐
97591       sion=None, **kwargs)
97592              Information about a session
97593
97594              Parameters
97595
97596                     · consul_url -- The Consul server URL.
97597
97598                     · session  -- The ID of the session to return information
97599                       about.
97600
97601                     · dc -- By  default,  the  datacenter  of  the  agent  is
97602                       queried; however, the dc can be provided using the "dc"
97603                       parameter.
97604
97605              Returns
97606                     Boolean & message of success or failure.
97607
97608              CLI Example:
97609
97610                 salt '*' consul.session_info session='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
97611
97612       salt.modules.consul.session_list(consul_url=None,           token=None,
97613       return_list=False, **kwargs)
97614              Used to list sessions.
97615
97616              Parameters
97617
97618                     · consul_url -- The Consul server URL.
97619
97620                     · dc  --  By  default,  the  datacenter  of  the agent is
97621                       queried; however, the dc can be provided using the "dc"
97622                       parameter.
97623
97624                     · return_list  --  By  default, all information about the
97625                       sessions is returned, using the  return_list  parameter
97626                       will return a list of session IDs.
97627
97628              Returns
97629                     A list of all available sessions.
97630
97631              CLI Example:
97632
97633                 salt '*' consul.session_list
97634
97635       salt.modules.consul.status_leader(consul_url=None, token=None)
97636              Returns the current Raft leader
97637
97638              Parameters
97639                     consul_url -- The Consul server URL.
97640
97641              Returns
97642                     The address of the Raft leader.
97643
97644              CLI Example:
97645
97646                 salt '*' consul.status_leader
97647
97648       salt.modules.consul.status_peers(consul_url, token=None)
97649              Returns the current Raft peer set
97650
97651              Parameters
97652                     consul_url -- The Consul server URL.
97653
97654              Returns
97655                     Retrieves  the Raft peers for the datacenter in which the
97656                     agent is running.
97657
97658              CLI Example:
97659
97660                 salt '*' consul.status_peers
97661
97662   salt.modules.container_resource
97663       Common resources for LXC and systemd-nspawn containers
97664
97665       New in version 2015.8.0.
97666
97667
97668       These functions are not designed to be  called  directly,  but  instead
97669       from  the  lxc,  nspawn, and docker execution modules. They provide for
97670       common logic to be re-used for common actions.
97671
97672       salt.modules.container_resource.cache_file(source)
97673              Wrapper for cp.cache_file which raises an error if the file  was
97674              unable to be cached.
97675
97676              CLI Example:
97677
97678                 salt myminion container_resource.cache_file salt://foo/bar/baz.txt
97679
97680       salt.modules.container_resource.copy_to(*args, **kwargs)
97681              Common logic for copying files to containers
97682
97683              path   path  to  the  container  parent  (for LXC only) default:
97684                     /var/lib/lxc (system default)
97685
97686              CLI Example:
97687
97688                 salt myminion container_resource.copy_to mycontainer /local/file/path /container/file/path container_type=docker exec_driver=nsenter
97689
97690       salt.modules.container_resource.run(*args, **kwargs)
97691              Common logic for running shell commands in containers
97692
97693              path   path to the container  parent  (for  LXC  only)  default:
97694                     /var/lib/lxc (system default)
97695
97696              CLI Example:
97697
97698                 salt myminion container_resource.run mycontainer 'ps aux' container_type=docker exec_driver=nsenter output=stdout
97699
97700   salt.modules.cp
97701       Minion side functions for salt-cp
97702
97703       salt.modules.cp.cache_dir(path,  saltenv=u'base',  include_empty=False,
97704       include_pat=None, exclude_pat=None)
97705              Download and cache everything under a directory from the master
97706
97707              include_pat
97708                     None Glob or regex to narrow down the files  cached  from
97709                     the  given path. If matching with a regex, the regex must
97710                     be prefixed with E@, otherwise  the  expression  will  be
97711                     interpreted as a glob.
97712
97713                     New in version 2014.7.0.
97714
97715
97716              exclude_pat
97717                     None  Glob  or  regex to exclude certain files from being
97718                     cached from the given path. If matching with a regex, the
97719                     regex  must be prefixed with E@, otherwise the expression
97720                     will be interpreted as a glob.
97721
97722                     NOTE:
97723                        If used with include_pat, files matching this  pattern
97724                        will  be  excluded from the subset of files defined by
97725                        include_pat.
97726
97727                     New in version 2014.7.0.
97728
97729
97730              CLI Examples:
97731
97732                 salt '*' cp.cache_dir salt://path/to/dir
97733                 salt '*' cp.cache_dir salt://path/to/dir include_pat='E@*.py$'
97734
97735       salt.modules.cp.cache_file(path, saltenv=u'base', source_hash=None)
97736              Used to cache a single file on the Minion
97737
97738              Returns the location of the new cached file on the Minion
97739
97740              source_hash
97741                     If name is an http(s) or ftp URL and the file  exists  in
97742                     the  minion's  file  cache,  this option can be passed to
97743                     keep the minion  from  re-downloading  the  file  if  the
97744                     cached copy matches the specified hash.
97745
97746                     New in version 2018.3.0.
97747
97748
97749              CLI Example:
97750
97751                 salt '*' cp.cache_file salt://path/to/file
97752
97753              There  are  two  ways  of  defining  the  fileserver environment
97754              (a.k.a.  saltenv) from which to cache the file. One  is  to  use
97755              the  saltenv  parameter,  and  the other is to use a querystring
97756              syntax in the salt:// URL. The below two  examples  are  equiva‐
97757              lent:
97758
97759                 salt '*' cp.cache_file salt://foo/bar.conf saltenv=config
97760                 salt '*' cp.cache_file salt://foo/bar.conf?saltenv=config
97761
97762              If the path being cached is a salt:// URI, and the path does not
97763              exist, then False will be returned.
97764
97765              NOTE:
97766                 It may be necessary to quote the URL when using  the  querys‐
97767                 tring  method,  depending  on the shell being used to run the
97768                 command.
97769
97770       salt.modules.cp.cache_files(paths, saltenv=u'base')
97771              Used to gather many files from the Master,  the  gathered  files
97772              will  be  saved  in  the minion cachedir reflective to the paths
97773              retrieved from the Master
97774
97775              CLI Example:
97776
97777                 salt '*' cp.cache_files salt://pathto/file1,salt://pathto/file1
97778
97779              There are  two  ways  of  defining  the  fileserver  environment
97780              (a.k.a.   saltenv)  from which to cache the files. One is to use
97781              the saltenv parameter, and the other is  to  use  a  querystring
97782              syntax  in  the  salt:// URL. The below two examples are equiva‐
97783              lent:
97784
97785                 salt '*' cp.cache_files salt://foo/bar.conf,salt://foo/baz.conf saltenv=config
97786                 salt '*' cp.cache_files salt://foo/bar.conf?saltenv=config,salt://foo/baz.conf?saltenv=config
97787
97788              The querystring method is less useful when all files  are  being
97789              cached  from  the same environment, but is a good way of caching
97790              files from multiple different environments in the same  command.
97791              For  example,  the  below command will cache the first file from
97792              the config1 environment, and the second  one  from  the  config2
97793              environment.
97794
97795                 salt '*' cp.cache_files salt://foo/bar.conf?saltenv=config1,salt://foo/bar.conf?saltenv=config2
97796
97797              NOTE:
97798                 It  may  be necessary to quote the URL when using the querys‐
97799                 tring method, depending on the shell being used  to  run  the
97800                 command.
97801
97802       salt.modules.cp.cache_local_file(path)
97803              Cache a local file on the minion in the localfiles cache
97804
97805              CLI Example:
97806
97807                 salt '*' cp.cache_local_file /etc/hosts
97808
97809       salt.modules.cp.cache_master(saltenv=u'base')
97810              Retrieve all of the files on the master and cache them locally
97811
97812              CLI Example:
97813
97814                 salt '*' cp.cache_master
97815
97816       salt.modules.cp.envs()
97817              List available environments for fileserver
97818
97819              CLI Example
97820
97821                 salt '*' cp.envs
97822
97823       salt.modules.cp.get_dir(path,   dest,  saltenv=u'base',  template=None,
97824       gzip=None, **kwargs)
97825              Used to recursively copy a directory from the salt master
97826
97827              CLI Example:
97828
97829                 salt '*' cp.get_dir salt://path/to/dir/ /minion/dest
97830
97831              get_dir  supports  the  same  template  and  gzip  arguments  as
97832              get_file.
97833
97834       salt.modules.cp.get_file(path,  dest,  saltenv=u'base', makedirs=False,
97835       template=None, gzip=None, **kwargs)
97836              Changed in version 2018.3.0: dest can now be a directory
97837
97838
97839              Used to get a single file from the salt master
97840
97841              CLI Example:
97842
97843                 salt '*' cp.get_file salt://path/to/file /minion/dest
97844
97845              Template rendering can be enabled on both the source and  desti‐
97846              nation file names like so:
97847
97848                 salt '*' cp.get_file "salt://{{grains.os}}/vimrc" /etc/vimrc template=jinja
97849
97850              This  example  would  instruct  all Salt minions to download the
97851              vimrc from a directory with the same name as their os grain  and
97852              copy it to /etc/vimrc
97853
97854              For larger files, the cp.get_file module also supports gzip com‐
97855              pression.  Because gzip is CPU-intensive, this  should  only  be
97856              used in scenarios where the compression ratio is very high (e.g.
97857              pretty-printed JSON or YAML files).
97858
97859              Use the gzip named argument to  enable  it.   Valid  values  are
97860              1..9, where 1 is the lightest compression and 9 the heaviest.  1
97861              uses the least CPU on the master (and minion), 9 uses the most.
97862
97863              There are  two  ways  of  defining  the  fileserver  environment
97864              (a.k.a.  saltenv) from which to retrieve the file. One is to use
97865              the saltenv parameter, and the other is  to  use  a  querystring
97866              syntax  in  the  salt:// URL. The below two examples are equiva‐
97867              lent:
97868
97869                 salt '*' cp.get_file salt://foo/bar.conf /etc/foo/bar.conf saltenv=config
97870                 salt '*' cp.get_file salt://foo/bar.conf?saltenv=config /etc/foo/bar.conf
97871
97872              NOTE:
97873                 It may be necessary to quote the URL when using  the  querys‐
97874                 tring  method,  depending  on the shell being used to run the
97875                 command.
97876
97877       salt.modules.cp.get_file_str(path, saltenv=u'base')
97878              Download a file from a URL to the  Minion  cache  directory  and
97879              return the contents of that file
97880
97881              Returns False if Salt was unable to cache a file from a URL.
97882
97883              CLI Example:
97884
97885                 salt '*' cp.get_file_str salt://my/file
97886
97887       salt.modules.cp.get_template(path,       dest,       template=u'jinja',
97888       saltenv=u'base', makedirs=False, **kwargs)
97889              Render a file as a template before setting  it  down.   Warning,
97890              order  is  not the same as in fileclient.cp for non breaking old
97891              API.
97892
97893              CLI Example:
97894
97895                 salt '*' cp.get_template salt://path/to/template /minion/dest
97896
97897       salt.modules.cp.get_url(path,        dest=u'',         saltenv=u'base',
97898       makedirs=False, source_hash=None)
97899              Changed in version 2018.3.0: dest can now be a directory
97900
97901
97902              Used to get a single file from a URL.
97903
97904              path   A URL to download a file from. Supported URL schemes are:
97905                     salt://, http://, https://, ftp://, s3://,  swift://  and
97906                     file://  (local  filesystem). If no scheme was specified,
97907                     this is equivalent of using file://.  If a file:// URL is
97908                     given,  the  function  just returns absolute path to that
97909                     file on a local filesystem.  The function  returns  False
97910                     if Salt was unable to fetch a file from a salt:// URL.
97911
97912              dest   The default behaviour is to write the fetched file to the
97913                     given destination path. If this parameter is  omitted  or
97914                     set  as empty string (''), the function places the remote
97915                     file on the local  filesystem  inside  the  Minion  cache
97916                     directory and returns the path to that file.
97917
97918                     NOTE:
97919                        To simply return the file contents instead, set desti‐
97920                        nation to None.  This  works  with  salt://,  http://,
97921                        https://  and  file://  URLs.  The  files  fetched  by
97922                        http:// and https:// will not be cached.
97923
97924              saltenv
97925                     base Salt fileserver envrionment from which  to  retrieve
97926                     the file. Ignored if path is not a salt:// URL.
97927
97928              source_hash
97929                     If  path  is an http(s) or ftp URL and the file exists in
97930                     the minion's file cache, this option  can  be  passed  to
97931                     keep  the  minion  from  re-downloading  the  file if the
97932                     cached copy matches the specified hash.
97933
97934                     New in version 2018.3.0.
97935
97936
97937              CLI Example:
97938
97939                 salt '*' cp.get_url salt://my/file /tmp/this_file_is_mine
97940                 salt '*' cp.get_url http://www.slashdot.org /tmp/index.html
97941
97942       salt.modules.cp.hash_file(path, saltenv=u'base')
97943              Return the hash of a file, to get the hash of a file on the salt
97944              master file server prepend the path with salt://<file on server>
97945              otherwise, prepend the file with / for a local file.
97946
97947              CLI Example:
97948
97949                 salt '*' cp.hash_file salt://path/to/file
97950
97951       salt.modules.cp.is_cached(path, saltenv=u'base')
97952              Returns the full path to a file if it is cached locally  on  the
97953              minion otherwise returns a blank string
97954
97955              CLI Example:
97956
97957                 salt '*' cp.is_cached salt://path/to/file
97958
97959       salt.modules.cp.list_master(saltenv=u'base', prefix=u'')
97960              List all of the files stored on the master
97961
97962              CLI Example:
97963
97964                 salt '*' cp.list_master
97965
97966       salt.modules.cp.list_master_dirs(saltenv=u'base', prefix=u'')
97967              List all of the directories stored on the master
97968
97969              CLI Example:
97970
97971                 salt '*' cp.list_master_dirs
97972
97973       salt.modules.cp.list_master_symlinks(saltenv=u'base', prefix=u'')
97974              List all of the symlinks stored on the master
97975
97976              CLI Example:
97977
97978                 salt '*' cp.list_master_symlinks
97979
97980       salt.modules.cp.list_minion(saltenv=u'base')
97981              List all of the files cached on the minion
97982
97983              CLI Example:
97984
97985                 salt '*' cp.list_minion
97986
97987       salt.modules.cp.list_states(saltenv=u'base')
97988              List all of the available state modules in an environment
97989
97990              CLI Example:
97991
97992                 salt '*' cp.list_states
97993
97994       salt.modules.cp.push(path,    keep_symlinks=False,    upload_path=None,
97995       remove_source=False)
97996              WARNING Files pushed to the master will have global read permis‐
97997              sions..
97998
97999              Push  a  file from the minion up to the master, the file will be
98000              saved to the salt master in the master's minion  files  cachedir
98001              (defaults to /var/cache/salt/master/minions/minion-id/files)
98002
98003              Since this feature allows a minion to push a file up to the mas‐
98004              ter server it is disabled by default for security  purposes.  To
98005              enable,  set file_recv to True in the master configuration file,
98006              and restart the master.
98007
98008              keep_symlinks
98009                     Keep the path value without resolving its canonical form
98010
98011              upload_path
98012                     Provide a different path inside the master's minion files
98013                     cachedir
98014
98015              remove_source
98016                     Remove the source file on the minion
98017
98018                     New in version 2016.3.0.
98019
98020
98021              CLI Example:
98022
98023                 salt '*' cp.push /etc/fstab
98024                 salt '*' cp.push /etc/system-release keep_symlinks=True
98025                 salt '*' cp.push /etc/fstab upload_path='/new/path/fstab'
98026                 salt '*' cp.push /tmp/filename remove_source=True
98027
98028       salt.modules.cp.push_dir(path, glob=None, upload_path=None)
98029              Push  a  directory  from  the minion up to the master, the files
98030              will be saved to the salt master in the  master's  minion  files
98031              cachedir    (defaults   to   /var/cache/salt/master/minions/min‐
98032              ion-id/files).  It also has a glob for matching  specific  files
98033              using globbing.
98034
98035              New in version 2014.7.0.
98036
98037
98038              Since  this feature allows a minion to push files up to the mas‐
98039              ter server it is disabled by default for security  purposes.  To
98040              enable,  set file_recv to True in the master configuration file,
98041              and restart the master.
98042
98043              upload_path
98044                     Provide a different path and directory  name  inside  the
98045                     master's minion files cachedir
98046
98047              CLI Example:
98048
98049                 salt '*' cp.push /usr/lib/mysql
98050                 salt '*' cp.push /usr/lib/mysql upload_path='/newmysql/path'
98051                 salt '*' cp.push_dir /etc/modprobe.d/ glob='*.conf'
98052
98053       salt.modules.cp.recv(files, dest)
98054              Used with salt-cp, pass the files dict, and the destination.
98055
98056              This function receives small fast copy files from the master via
98057              salt-cp.  It does not work via the CLI.
98058
98059       salt.modules.cp.recv_chunked(dest,    chunk,     append=False,     com‐
98060       pressed=True, mode=None)
98061              This  function receives files copied to the minion using salt-cp
98062              and is not intended to be used directly on the CLI.
98063
98064       salt.modules.cp.stat_file(path, saltenv=u'base', octal=True)
98065              Return the permissions of a file, to get the  permissions  of  a
98066              file  on  the  salt  master  file  server  prepend the path with
98067              salt://<file on server> otherwise, prepend the file with / for a
98068              local file.
98069
98070              CLI Example:
98071
98072                 salt '*' cp.stat_file salt://path/to/file
98073
98074   salt.modules.cpan
98075       Manage Perl modules using CPAN
98076
98077       New in version 2015.5.0.
98078
98079
98080       salt.modules.cpan.install(module)
98081              Install a Perl module from CPAN
98082
98083              CLI Example:
98084
98085                 salt '*' cpan.install Template::Alloy
98086
98087       salt.modules.cpan.list_()
98088              List installed Perl modules, and the version installed
98089
98090              CLI Example:
98091
98092                 salt '*' cpan.list
98093
98094       salt.modules.cpan.remove(module, details=False)
98095              Attempt  to  remove  a Perl module that was installed from CPAN.
98096              Because  the  cpan  command  doesn't  actually  support   "unin‐
98097              stall"-like functionality, this function will attempt to do what
98098              it can, with what it has from CPAN.
98099
98100              Until this function is declared stable, USE AT YOUR OWN RISK!
98101
98102              CLI Example:
98103
98104                 salt '*' cpan.remove Old::Package
98105
98106       salt.modules.cpan.show(module)
98107              Show information about a specific Perl module
98108
98109              CLI Example:
98110
98111                 salt '*' cpan.show Template::Alloy
98112
98113       salt.modules.cpan.show_config()
98114              Return a dict of CPAN configuration values
98115
98116              CLI Example:
98117
98118                 salt '*' cpan.show_config
98119
98120   salt.modules.cron
98121       Work with cron
98122
98123       NOTE:
98124          Salt does not escape cron metacharacters automatically.  You  should
98125          backslash-escape  percent  characters  and  any other metacharacters
98126          that might be interpreted incorrectly by the shell.
98127
98128       salt.modules.cron.list_tab(user)
98129              Return the contents of the specified user's crontab
98130
98131              CLI Example:
98132
98133                 salt '*' cron.list_tab root
98134
98135       salt.modules.cron.ls(user)
98136              This function is an alias of list_tab.
98137                 Return the contents of the specified user's crontab
98138
98139                 CLI Example:
98140
98141                     salt '*' cron.list_tab root
98142
98143       salt.modules.cron.raw_cron(user)
98144              Return the contents of the user's crontab
98145
98146              CLI Example:
98147
98148                 salt '*' cron.raw_cron root
98149
98150       salt.modules.cron.rm(user, cmd, minute=None, hour=None,  daymonth=None,
98151       month=None, dayweek=None, identifier=None)
98152              This function is an alias of rm_job.
98153                 Remove  a  cron  job  for  a  specified  user.  If any of the
98154                 day/time params are specified, the job will only  be  removed
98155                 if the specified params match.
98156
98157                 CLI Example:
98158
98159                     salt '*' cron.rm_job root /usr/local/weekly
98160                     salt '*' cron.rm_job root /usr/bin/foo dayweek=1
98161
98162       salt.modules.cron.rm_env(user, name)
98163              Remove cron environment variable for a specified user.
98164
98165              CLI Example:
98166
98167                 salt '*' cron.rm_env root MAILTO
98168
98169       salt.modules.cron.rm_job(user,   cmd,   minute=None,   hour=None,  day‐
98170       month=None, month=None, dayweek=None, identifier=None)
98171              Remove a cron job for a specified user. If any of  the  day/time
98172              params are specified, the job will only be removed if the speci‐
98173              fied params match.
98174
98175              CLI Example:
98176
98177                 salt '*' cron.rm_job root /usr/local/weekly
98178                 salt '*' cron.rm_job root /usr/bin/foo dayweek=1
98179
98180       salt.modules.cron.rm_special(user, cmd, special=None, identifier=None)
98181              Remove a special cron job for a specified user.
98182
98183              CLI Example:
98184
98185                 salt '*' cron.rm_special root /usr/bin/foo
98186
98187       salt.modules.cron.set_env(user, name, value=None)
98188              Set up an environment variable in the crontab.
98189
98190              CLI Example:
98191
98192                 salt '*' cron.set_env root MAILTO user@example.com
98193
98194       salt.modules.cron.set_job(user, minute, hour, daymonth, month, dayweek,
98195       cmd, commented=False, comment=None, identifier=None)
98196              Sets a cron job up for a specified user.
98197
98198              CLI Example:
98199
98200                 salt '*' cron.set_job root '*' '*' '*' '*' 1 /usr/local/weekly
98201
98202       salt.modules.cron.set_special(user, special, cmd, commented=False, com‐
98203       ment=None, identifier=None)
98204              Set up a special command in the crontab.
98205
98206              CLI Example:
98207
98208                 salt '*' cron.set_special root @hourly 'echo foobar'
98209
98210       salt.modules.cron.write_cron_file(user, path)
98211              Writes the contents of a file to a user's crontab
98212
98213              CLI Example:
98214
98215                 salt '*' cron.write_cron_file root /tmp/new_cron
98216
98217              Changed in version 2015.8.9.
98218
98219
98220              NOTE:
98221                 Some OS' do not support specifying user via the crontab  com‐
98222                 mand i.e. (Solaris, AIX)
98223
98224       salt.modules.cron.write_cron_file_verbose(user, path)
98225              Writes  the  contents  of  a file to a user's crontab and return
98226              error message on error
98227
98228              CLI Example:
98229
98230                 salt '*' cron.write_cron_file_verbose root /tmp/new_cron
98231
98232              Changed in version 2015.8.9.
98233
98234
98235              NOTE:
98236                 Some OS' do not support specifying user via the crontab  com‐
98237                 mand i.e. (Solaris, AIX)
98238
98239   salt.modules.csf
98240   Support for Config Server Firewall (CSF)
98241       maintainer
98242              Mostafa Hussein <mostafa.hussein91@gmail.com>
98243
98244       maturity
98245              new
98246
98247       platform
98248              Linux
98249
98250       salt.modules.csf.allow(ip,  port=None,  proto=u'tcp',  direction=u'in',
98251       port_origin=u'd', ip_origin=u's', ttl=None, comment=u'')
98252              Add an rule to csf allowed hosts See _access_rule().  1- Add  an
98253              IP: CLI Example:
98254
98255                 salt '*' csf.allow 127.0.0.1
98256                 salt '*' csf.allow 127.0.0.1 comment="Allow localhost"
98257
98258       salt.modules.csf.allow_port(port, proto=u'tcp', direction=u'both')
98259              Like  allow_ports,  but  it  will  append  to the existing entry
98260              instead of replacing it.  Takes a single port instead of a  list
98261              of ports.
98262
98263              CLI Example:
98264
98265                 salt '*' csf.allow_port 22 proto='tcp' direction='in'
98266
98267       salt.modules.csf.allow_ports(ports, proto=u'tcp', direction=u'in')
98268              Fully  replace  the  incoming  or  outgoing  ports  line  in the
98269              csf.conf file - e.g. TCP_IN, TCP_OUT, UDP_IN, UDP_OUT, etc.
98270
98271              CLI Example:
98272
98273                 salt '*' csf.allow_ports ports="[22,80,443,4505,4506]" proto='tcp' direction='in'
98274
98275       salt.modules.csf.build_directions(direction)
98276
98277       salt.modules.csf.deny(ip,  port=None,  proto=u'tcp',   direction=u'in',
98278       port_origin=u'd', ip_origin=u'd', ttl=None, comment=u'')
98279              Add  an rule to csf denied hosts See _access_rule().  1- Deny an
98280              IP: CLI Example:
98281
98282                 salt '*' csf.deny 127.0.0.1
98283                 salt '*' csf.deny 127.0.0.1 comment="Too localhosty"
98284
98285       salt.modules.csf.disable()
98286              Disable csf permanently CLI Example:
98287
98288                 salt '*' csf.disable
98289
98290       salt.modules.csf.disable_testing_mode()
98291
98292       salt.modules.csf.enable()
98293              Activate csf if not running CLI Example:
98294
98295                 salt '*' csf.enable
98296
98297       salt.modules.csf.enable_testing_mode()
98298
98299       salt.modules.csf.exists(method,  ip,  port=None,  proto=u'tcp',  direc‐
98300       tion=u'in', port_origin=u'd', ip_origin=u'd', ttl=None, comment=u'')
98301              Returns  true  a  rule  for  the  ip already exists based on the
98302              method supplied. Returns false if not found.  CLI Example:
98303
98304                 salt '*' csf.exists allow 1.2.3.4
98305                 salt '*' csf.exists tempdeny 1.2.3.4
98306
98307       salt.modules.csf.get_option(option)
98308
98309       salt.modules.csf.get_ports(proto=u'tcp', direction=u'in')
98310              Lists ports from csf.conf based on direction and protocol.  e.g.
98311              - TCP_IN, TCP_OUT, UDP_IN, UDP_OUT, etc..
98312
98313              CLI Example:
98314
98315                 salt '*' csf.allow_port 22 proto='tcp' direction='in'
98316
98317       salt.modules.csf.get_skipped_nics(ipv6=False)
98318
98319       salt.modules.csf.get_testing_status()
98320
98321       salt.modules.csf.reload()
98322              Restart csf CLI Example:
98323
98324                 salt '*' csf.reload
98325
98326       salt.modules.csf.remove_rule(method,   ip,   port=None,   proto=u'tcp',
98327       direction=u'in',  port_origin=u'd',  ip_origin=u's',   ttl=None,   com‐
98328       ment=u'')
98329
98330       salt.modules.csf.remove_temp_rule(ip)
98331
98332       salt.modules.csf.running()
98333              Check csf status CLI Example:
98334
98335                 salt '*' csf.running
98336
98337       salt.modules.csf.set_option(option, value)
98338
98339       salt.modules.csf.skip_nic(nic, ipv6=False)
98340
98341       salt.modules.csf.skip_nics(nics, ipv6=False)
98342
98343       salt.modules.csf.split_option(option)
98344
98345       salt.modules.csf.tempallow(ip=None,    ttl=None,    port=None,   direc‐
98346       tion=None, comment=u'')
98347              Add an rule to the temporary ip allow list.  See _access_rule().
98348              1- Add an IP: CLI Example:
98349
98350                 salt '*' csf.tempallow 127.0.0.1 3600 port=22 direction='in' comment='# Temp dev ssh access'
98351
98352       salt.modules.csf.tempdeny(ip=None, ttl=None, port=None, direction=None,
98353       comment=u'')
98354              Add a rule to the temporary ip deny list.   See  _access_rule().
98355              1- Add an IP: CLI Example:
98356
98357                 salt '*' csf.tempdeny 127.0.0.1 300 port=22 direction='in' comment='# Brute force attempt'
98358
98359       salt.modules.csf.unallow(ip)
98360              Remove  a rule from the csf denied hosts See _access_rule().  1-
98361              Deny an IP: CLI Example:
98362
98363                 salt '*' csf.unallow 127.0.0.1
98364
98365       salt.modules.csf.undeny(ip)
98366              Remove a rule from the csf denied hosts See _access_rule().   1-
98367              Deny an IP: CLI Example:
98368
98369                 salt '*' csf.undeny 127.0.0.1
98370
98371   salt.modules.cyg
98372       Manage cygwin packages.
98373
98374       Module file to accompany the cyg state.
98375
98376       salt.modules.cyg.check_valid_package(package,  cyg_arch=u'x86_64', mir‐
98377       rors=None)
98378              Check if the package is valid on the given mirrors.
98379
98380              Parameters
98381
98382                     · package -- The name of the package
98383
98384                     · cyg_arch -- The cygwin architecture
98385
98386                     · mirrors -- any mirrors to check
98387
98388              Returns (bool): True if Valid, otherwise False
98389
98390              CLI Example:
98391
98392                 salt '*' cyg.check_valid_package <package name>
98393
98394       salt.modules.cyg.install(packages=None,    cyg_arch=u'x86_64',     mir‐
98395       rors=None)
98396              Install one or several packages.
98397
98398              packages
98399                     None The packages to install
98400
98401              cyg_arch
98402                     x86_64  Specify  the  architecture to install the package
98403                     under Current options are x86 and x86_64
98404
98405              CLI Example:
98406
98407                 salt '*' cyg.install dos2unix
98408                 salt '*' cyg.install dos2unix mirrors="[{'http://mirror': 'http://url/to/public/key}]'
98409
98410       salt.modules.cyg.list_(package=u'', cyg_arch=u'x86_64')
98411              List locally installed packages.
98412
98413              package
98414                     '' package name to check. else all
98415
98416              cyg_arch :
98417                     Cygwin architecture to use Options are x86 and x86_64
98418
98419              CLI Example:
98420
98421                 salt '*' cyg.list
98422
98423       salt.modules.cyg.uninstall(packages, cyg_arch=u'x86_64', mirrors=None)
98424              Uninstall one or several packages.
98425
98426              packages
98427                     The packages to uninstall.
98428
98429              cyg_arch
98430                     x86_64 Specify the architecture  to  remove  the  package
98431                     from Current options are x86 and x86_64
98432
98433              CLI Example:
98434
98435                 salt '*' cyg.uninstall dos2unix
98436                 salt '*' cyg.uninstall dos2unix mirrors="[{'http://mirror': 'http://url/to/public/key}]"
98437
98438       salt.modules.cyg.update(cyg_arch=u'x86_64', mirrors=None)
98439              Update all packages.
98440
98441              cyg_arch
98442                     x86_64  Specify  the  cygwin  architecture update Current
98443                     options are x86 and x86_64
98444
98445              CLI Example:
98446
98447                 salt '*' cyg.update
98448                 salt '*' cyg.update dos2unix mirrors="[{'http://mirror': 'http://url/to/public/key}]"
98449
98450   salt.modules.daemontools
98451       daemontools service module. This module will  create  daemontools  type
98452       service watcher.
98453
98454       This module is compatible with the service states, so it can be used to
98455       maintain services using the provider argument:
98456
98457          myservice:
98458            service.running:
98459              - provider: daemontools
98460
98461       salt.modules.daemontools.available(name)
98462              Returns True if the specified service  is  available,  otherwise
98463              returns False.
98464
98465              CLI Example:
98466
98467                 salt '*' daemontools.available foo
98468
98469       salt.modules.daemontools.disabled(name)
98470              Return True if the named service is enabled, false otherwise
98471
98472              New in version 2015.5.6.
98473
98474
98475              CLI Example:
98476
98477                 salt '*' daemontools.disabled <service name>
98478
98479       salt.modules.daemontools.enabled(name, **kwargs)
98480              Return  True  if the named service is enabled, false otherwise A
98481              service is considered enabled if in your service directory: - an
98482              executable ./run file exist - a file named "down" does not exist
98483
98484              New in version 2015.5.7.
98485
98486
98487              name   Service name
98488
98489              CLI Example:
98490
98491                 salt '*' daemontools.enabled <service name>
98492
98493       salt.modules.daemontools.full_restart(name)
98494              Calls daemontools.restart() function
98495
98496              CLI Example:
98497
98498                 salt '*' daemontools.full_restart <service name>
98499
98500       salt.modules.daemontools.get_all()
98501              Return a list of all available services
98502
98503              CLI Example:
98504
98505                 salt '*' daemontools.get_all
98506
98507       salt.modules.daemontools.missing(name)
98508              The inverse of daemontools.available.  Returns True if the spec‐
98509              ified service is not available, otherwise returns False.
98510
98511              CLI Example:
98512
98513                 salt '*' daemontools.missing foo
98514
98515       salt.modules.daemontools.reload_(name)
98516              Wrapper for term()
98517
98518              CLI Example:
98519
98520                 salt '*' daemontools.reload <service name>
98521
98522       salt.modules.daemontools.restart(name)
98523              Restart service via daemontools. This will stop/start service
98524
98525              CLI Example:
98526
98527                 salt '*' daemontools.restart <service name>
98528
98529       salt.modules.daemontools.start(name)
98530              Starts service via daemontools
98531
98532              CLI Example:
98533
98534                 salt '*' daemontools.start <service name>
98535
98536       salt.modules.daemontools.status(name, sig=None)
98537              Return the status for a service via daemontools, return  pid  if
98538              running
98539
98540              CLI Example:
98541
98542                 salt '*' daemontools.status <service name>
98543
98544       salt.modules.daemontools.stop(name)
98545              Stops service via daemontools
98546
98547              CLI Example:
98548
98549                 salt '*' daemontools.stop <service name>
98550
98551       salt.modules.daemontools.term(name)
98552              Send a TERM to service via daemontools
98553
98554              CLI Example:
98555
98556                 salt '*' daemontools.term <service name>
98557
98558   salt.modules.data
98559       Manage  a  local  persistent data structure that can hold any arbitrary
98560       data specific to the minion
98561
98562       salt.modules.data.cas(key, value, old_value)
98563              Check and set a value in the minion datastore
98564
98565              CLI Example:
98566
98567                 salt '*' data.cas <key> <value> <old_value>
98568
98569       salt.modules.data.clear()
98570              Clear out all of the data in the minion datastore, this function
98571              is destructive!
98572
98573              CLI Example:
98574
98575                 salt '*' data.clear
98576
98577       salt.modules.data.dump(new_data)
98578              Replace the entire datastore with a passed data structure
98579
98580              CLI Example:
98581
98582                 salt '*' data.dump '{'eggs': 'spam'}'
98583
98584       salt.modules.data.get(key, default=None)
98585              Get a (list of) value(s) from the minion datastore
98586
98587              New in version 2015.8.0.
98588
98589
98590              CLI Example:
98591
98592                 salt '*' data.get key
98593                 salt '*' data.get '["key1", "key2"]'
98594
98595       salt.modules.data.has_key(key)
98596              Check if key is in the minion datastore
98597
98598              New in version 2015.8.0.
98599
98600
98601              CLI Example:
98602
98603                 salt '*' data.has_key <mykey>
98604
98605       salt.modules.data.items()
98606              Get items from the minion datastore
98607
98608              New in version 2015.8.0.
98609
98610
98611              CLI Example:
98612
98613                 salt '*' data.items
98614
98615       salt.modules.data.keys()
98616              Get all keys from the minion datastore
98617
98618              New in version 2015.8.0.
98619
98620
98621              CLI Example:
98622
98623                 salt '*' data.keys
98624
98625       salt.modules.data.load()
98626              Return all of the data in the minion datastore
98627
98628              CLI Example:
98629
98630                 salt '*' data.load
98631
98632       salt.modules.data.pop(key, default=None)
98633              Pop (return & delete) a value from the minion datastore
98634
98635              New in version 2015.5.2.
98636
98637
98638              CLI Example:
98639
98640                 salt '*' data.pop <key> "there was no val"
98641
98642       salt.modules.data.update(key, value)
98643              Update a key with a value in the minion datastore
98644
98645              CLI Example:
98646
98647                 salt '*' data.update <key> <value>
98648
98649       salt.modules.data.values()
98650              Get values from the minion datastore
98651
98652              New in version 2015.8.0.
98653
98654
98655              CLI Example:
98656
98657                 salt '*' data.values
98658
98659   salt.modules.datadog_api
98660       An execution module that interacts with the Datadog API
98661
98662       The following parameters are required for all functions.
98663
98664       api_key
98665              The datadog API key
98666
98667       app_key
98668              The datadog application key
98669
98670       Full  argument reference is available on the Datadog API reference page
98671       https://docs.datadoghq.com/api/
98672
98673       salt.modules.datadog_api.cancel_downtime(api_key=None,    app_key=None,
98674       scope=None, id=None)
98675              Cancel a downtime by id or by scope.
98676
98677              CLI Example:
98678
98679                 salt-call datadog.cancel_downtime scope='host:app01' \
98680                                                   api_key='0123456789' \
98681                                                   app_key='9876543210'`
98682
98683              Arguments - Either scope or id is required.
98684
98685              Parameters
98686
98687                     · id -- The downtime ID
98688
98689                     · scope -- The downtime scope
98690
98691       salt.modules.datadog_api.post_event(api_key=None,         app_key=None,
98692       title=None, text=None,  date_happened=None,  priority=None,  host=None,
98693       tags=None,            alert_type=None,            aggregation_key=None,
98694       source_type_name=None)
98695              Post an event to the Datadog stream.
98696
98697              CLI Example
98698
98699                 salt-call datadog.post_event api_key='0123456789' \
98700                                              app_key='9876543210' \
98701                                              title='Salt Highstate' \
98702                                              text="Salt highstate was run on $(salt-call grains.get id)" \
98703                                              tags='["service:salt", "event:highstate"]'
98704
98705              Required arguments
98706
98707              Parameters
98708
98709                     · title -- The event title. Limited to 100 characters.
98710
98711                     · text -- The body of the event. Limited to 4000  charac‐
98712                       ters. The text supports markdown.
98713
98714              Optional arguments
98715
98716              Parameters
98717
98718                     · date_happened -- POSIX timestamp of the event.
98719
98720                     · priority  --  The  priority  of  the event ('normal' or
98721                       'low').
98722
98723                     · host -- Host name to associate with the event.
98724
98725                     · tags -- A list of tags to apply to the event.
98726
98727                     · alert_type -- "error", "warning", "info" or "success".
98728
98729                     · aggregation_key --  An  arbitrary  string  to  use  for
98730                       aggregation, max length of 100 characters.
98731
98732                     · source_type_name -- The type of event being posted.
98733
98734       salt.modules.datadog_api.schedule_downtime(scope,         api_key=None,
98735       app_key=None,  monitor_id=None,  start=None,  end=None,   message=None,
98736       recurrence=None, timezone=None, test=False)
98737              Schedule downtime for a scope of monitors.
98738
98739              CLI Example:
98740
98741                 salt-call datadog.schedule_downtime 'host:app2' \
98742                                                     stop=$(date --date='30 minutes' +%s) \
98743                                                     app_key='0123456789' \
98744                                                     api_key='9876543210'
98745
98746              Optional arguments
98747
98748              Parameters
98749
98750                     · monitor_id -- The ID of the monitor
98751
98752                     · start -- Start time in seconds since the epoch
98753
98754                     · end -- End time in seconds since the epoch
98755
98756                     · message -- A message to send in a notification for this
98757                       downtime
98758
98759                     · recurrence -- Repeat this downtime periodically
98760
98761                     · timezone -- Specify the timezone
98762
98763   salt.modules.ddns
98764       Support for RFC 2136 dynamic DNS updates.
98765
98766       depends
98767
98768              · dnspython Python module
98769
98770       configuration
98771              If you want to use TSIG authentication for the server, there are
98772              a  couple of optional configuration parameters made available to
98773              support this (the keyname is only needed if the keyring contains
98774              more than one key):
98775
98776                 keyfile: keyring file (default=None)
98777                 keyname: key name in file (default=None)
98778                 keyalgorithm: algorithm used to create the key
98779                               (default='HMAC-MD5.SIG-ALG.REG.INT').
98780                     Other possible values: hmac-sha1, hmac-sha224, hmac-sha256,
98781                         hmac-sha384, hmac-sha512
98782
98783              The  keyring  file  needs  to be in json format and the key name
98784              needs to end with an extra period in the file, similar to this:
98785
98786                 {"keyname.": "keycontent"}
98787
98788       salt.modules.ddns.add_host(zone,     name,     ttl,      ip,      name‐
98789       server=u'127.0.0.1', replace=True, timeout=5, port=53, **kwargs)
98790              Add,  replace,  or  update the A and PTR (reverse) records for a
98791              host.
98792
98793              CLI Example:
98794
98795                 salt ns1 ddns.add_host example.com host1 60 10.1.1.1
98796
98797       salt.modules.ddns.delete(zone,  name,  rdtype=None,  data=None,   name‐
98798       server=u'127.0.0.1', timeout=5, port=53, **kwargs)
98799              Delete a DNS record.
98800
98801              CLI Example:
98802
98803                 salt ns1 ddns.delete example.com host1 A
98804
98805       salt.modules.ddns.delete_host(zone,    name,   nameserver=u'127.0.0.1',
98806       timeout=5, port=53, **kwargs)
98807              Delete the forward and reverse records for a host.
98808
98809              Returns true if any records are deleted.
98810
98811              CLI Example:
98812
98813                 salt ns1 ddns.delete_host example.com host1
98814
98815       salt.modules.ddns.update(zone,   name,   ttl,   rdtype,   data,   name‐
98816       server=u'127.0.0.1', timeout=5, replace=False, port=53, **kwargs)
98817              Add,  replace, or update a DNS record.  nameserver must be an IP
98818              address and the minion running  this  module  must  have  update
98819              privileges  on  that  server.  If replace is true, first deletes
98820              all records for this name and type.
98821
98822              CLI Example:
98823
98824                 salt ns1 ddns.update example.com host1 60 A 10.0.0.1
98825
98826   salt.modules.deb_apache
98827       Support for Apache
98828
98829       Please note: The functions in here are Debian-specific. Placing them in
98830       this  separate  file  will allow them to load only on Debian-based sys‐
98831       tems, while still loading under the apache namespace.
98832
98833       salt.modules.deb_apache.a2disconf(conf)
98834              New in version 2016.3.0.
98835
98836
98837              Runs a2disconf for the given conf.
98838
98839              This will only be functional on Debian-based  operating  systems
98840              (Ubuntu, Mint, etc).
98841
98842              CLI Examples:
98843
98844                 salt '*' apache.a2disconf security
98845
98846       salt.modules.deb_apache.a2dismod(mod)
98847              Runs a2dismod for the given mod.
98848
98849              This  will  only be functional on Debian-based operating systems
98850              (Ubuntu, Mint, etc).
98851
98852              CLI Examples:
98853
98854                 salt '*' apache.a2dismod vhost_alias
98855
98856       salt.modules.deb_apache.a2dissite(site)
98857              Runs a2dissite for the given site.
98858
98859              This will only be functional on Debian-based  operating  systems
98860              (Ubuntu, Mint, etc).
98861
98862              CLI Examples:
98863
98864                 salt '*' apache.a2dissite example.com
98865
98866       salt.modules.deb_apache.a2enconf(conf)
98867              New in version 2016.3.0.
98868
98869
98870              Runs a2enconf for the given conf.
98871
98872              This  will  only be functional on Debian-based operating systems
98873              (Ubuntu, Mint, etc).
98874
98875              CLI Examples:
98876
98877                 salt '*' apache.a2enconf security
98878
98879       salt.modules.deb_apache.a2enmod(mod)
98880              Runs a2enmod for the given mod.
98881
98882              This will only be functional on Debian-based  operating  systems
98883              (Ubuntu, Mint, etc).
98884
98885              CLI Examples:
98886
98887                 salt '*' apache.a2enmod vhost_alias
98888
98889       salt.modules.deb_apache.a2ensite(site)
98890              Runs a2ensite for the given site.
98891
98892              This  will  only be functional on Debian-based operating systems
98893              (Ubuntu, Mint, etc).
98894
98895              CLI Examples:
98896
98897                 salt '*' apache.a2ensite example.com
98898
98899       salt.modules.deb_apache.check_conf_enabled(conf)
98900              New in version 2016.3.0.
98901
98902
98903              Checks  to  see   if   the   specific   conf   symlink   is   in
98904              /etc/apache2/conf-enabled.
98905
98906              This  will  only be functional on Debian-based operating systems
98907              (Ubuntu, Mint, etc).
98908
98909              CLI Examples:
98910
98911                 salt '*' apache.check_conf_enabled security
98912                 salt '*' apache.check_conf_enabled security.conf
98913
98914       salt.modules.deb_apache.check_mod_enabled(mod)
98915              Checks  to   see   if   the   specific   mod   symlink   is   in
98916              /etc/apache2/mods-enabled.
98917
98918              This  will  only be functional on Debian-based operating systems
98919              (Ubuntu, Mint, etc).
98920
98921              CLI Examples:
98922
98923                 salt '*' apache.check_mod_enabled status
98924                 salt '*' apache.check_mod_enabled status.load
98925                 salt '*' apache.check_mod_enabled status.conf
98926
98927       salt.modules.deb_apache.check_site_enabled(site)
98928              Checks  to  see   if   the   specific   site   symlink   is   in
98929              /etc/apache2/sites-enabled.
98930
98931              This  will  only be functional on Debian-based operating systems
98932              (Ubuntu, Mint, etc).
98933
98934              CLI Examples:
98935
98936                 salt '*' apache.check_site_enabled example.com
98937                 salt '*' apache.check_site_enabled example.com.conf
98938
98939   salt.modules.deb_postgres
98940       Module to provide Postgres compatibility to salt for debian family spe‐
98941       cific tools.
98942
98943       salt.modules.deb_postgres.cluster_create(version,         name=u'main',
98944       port=None, locale=None, encoding=None, datadir=None)
98945              Adds a cluster to the Postgres server.
98946
98947              CLI Example:
98948
98949                 salt '*' postgres.cluster_create '9.3'
98950
98951                 salt '*' postgres.cluster_create '9.3' 'main'
98952
98953                 salt '*' postgres.cluster_create '9.3' locale='fr_FR'
98954
98955       salt.modules.deb_postgres.cluster_exists(version, name=u'main')
98956              Checks if a given version and name of a cluster exists.
98957
98958              CLI Example:
98959
98960                 salt '*' postgres.cluster_exists '9.3'
98961
98962                 salt '*' postgres.cluster_exists '9.3' 'main'
98963
98964       salt.modules.deb_postgres.cluster_list(verbose=False)
98965              Return a list of cluster of Postgres server (tuples  of  version
98966              and name).
98967
98968              CLI Example:
98969
98970                 salt '*' postgres.cluster_list
98971
98972                 salt '*' postgres.cluster_list verbose=True
98973
98974       salt.modules.deb_postgres.cluster_remove(version,         name=u'main',
98975       stop=False)
98976              Remove a cluster on a Postgres server. By default it doesn't try
98977              to stop the cluster.
98978
98979              CLI Example:
98980
98981                 salt '*' postgres.cluster_remove '9.3'
98982
98983                 salt '*' postgres.cluster_remove '9.3' 'main'
98984
98985                 salt '*' postgres.cluster_remove '9.3' 'main' stop=True
98986
98987   salt.modules.debuild_pkgbuild
98988       Debian Package builder system
98989
98990       New in version 2015.8.0.
98991
98992
98993       This  system  allows  for all of the components to build debs safely in
98994       chrooted environments. This also provides a function to generate debian
98995       repositories
98996
98997       This module implements the pkgbuild interface
98998
98999       salt.modules.debuild_pkgbuild.build(runas,    tgt,    dest_dir,   spec,
99000       sources,       deps,       env,       template,        saltenv=u'base',
99001       log_dir=u'/var/log/salt/pkgbuild')
99002              Given  the package destination directory, the tarball containing
99003              debian files (e.g. control) and package sources, use pbuilder to
99004              safely build the platform package
99005
99006              CLI Example:
99007
99008              Debian
99009
99010                 salt '*' pkgbuild.make_src_pkg deb-8-x86_64 /var/www/html
99011                         https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/deb/python-libnacl.control
99012                         https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
99013
99014              This example command should build the libnacl package for Debian
99015              using pbuilder and place it in /var/www/html/ on the minion
99016
99017       salt.modules.debuild_pkgbuild.make_repo(repodir, keyid=None,  env=None,
99018       use_passphrase=False,   gnupghome=u'/etc/salt/gpgkeys',  runas=u'root',
99019       timeout=15.0)
99020              Make a package repository and optionally sign  it  and  packages
99021              present
99022
99023              Given  the repodir (directory to create repository in), create a
99024              Debian repository and optionally sign it and  packages  present.
99025              This  state  is  best used with onchanges linked to your package
99026              building states.
99027
99028              repodir
99029                     The directory to find packages that will be in the repos‐
99030                     itory.
99031
99032              keyid  Changed in version 2016.3.0.
99033
99034
99035                     Optional  Key  ID  to use in signing packages and reposi‐
99036                     tory.  This consists of the last 8 hex digits of the  GPG
99037                     key ID.
99038
99039                     Utilizes  Public  and  Private keys associated with keyid
99040                     which have been loaded into  the  minion's  Pillar  data.
99041                     Leverages gpg-agent and gpg-preset-passphrase for caching
99042                     keys, etc.  These pillar values are assumed to  be  file‐
99043                     names  which  are  present  in gnupghome. The pillar keys
99044                     shown below have to match exactly.
99045
99046                     For example, contents from a Pillar data file with  named
99047                     Public and Private keys as follows:
99048
99049                        gpg_pkg_priv_keyname: gpg_pkg_key.pem
99050                        gpg_pkg_pub_keyname: gpg_pkg_key.pub
99051
99052              env    Changed in version 2016.3.0.
99053
99054
99055                     A  dictionary  of environment variables to be utilized in
99056                     creating the repository.
99057
99058              use_passphrase
99059                     False New in version 2016.3.0.
99060
99061
99062                     Use a passphrase with the signing key presented in keyid.
99063                     Passphrase  is  received  from Pillar data which could be
99064                     passed on the command line  with  pillar  parameter.  For
99065                     example:
99066
99067                        pillar='{ "gpg_passphrase" : "my_passphrase" }'
99068
99069              gnupghome
99070                     /etc/salt/gpgkeys New in version 2016.3.0.
99071
99072
99073                     Location  where  GPG  related files are stored, used with
99074                     keyid.
99075
99076              runas  root New in version 2016.3.0.
99077
99078
99079                     User to create the repository  as,  and  optionally  sign
99080                     packages.
99081
99082                     NOTE:
99083                        Ensure  the  user has correct permissions to any files
99084                        and directories which are to be utilized.
99085
99086              timeout
99087                     15.0 New in version 2016.3.4.
99088
99089
99090                     Timeout in seconds to wait for the prompt  for  inputting
99091                     the passphrase.
99092
99093              CLI Example:
99094
99095                 salt '*' pkgbuild.make_repo /var/www/html
99096
99097       salt.modules.debuild_pkgbuild.make_src_pkg(dest_dir,   spec,   sources,
99098       env=None, saltenv=u'base', runas=u'root')
99099              Create a platform specific source package from the  given  plat‐
99100              form spec/control file and sources
99101
99102              CLI Example:
99103
99104              Debian
99105
99106                 salt '*' pkgbuild.make_src_pkg /var/www/html/
99107                         https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/deb/python-libnacl.control.tar.xz
99108                         https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
99109
99110              This example command should build the libnacl SOURCE package and
99111              place it in /var/www/html/ on the minion
99112
99113              dest_dir
99114                     Absolute path for directory to write source package
99115
99116              spec   Absolute path to spec file or equivalent
99117
99118              sources
99119                     Absolute path to source files  to  build  source  package
99120                     from
99121
99122              env    None A list  or dictionary of environment variables to be
99123                     set prior to execution.  Example:
99124
99125                        - env:
99126                            - DEB_BUILD_OPTIONS: 'nocheck'
99127
99128                     WARNING:
99129                        The above illustrates a common  PyYAML  pitfall,  that
99130                        yes,  no,  on,  off, true, and false are all loaded as
99131                        boolean True and False values, and must be enclosed in
99132                        quotes  to  be used as strings. More info on this (and
99133                        other) PyYAML idiosyncrasies can be found here.
99134
99135              saltenv: base
99136                 Salt environment variables
99137
99138              runas  root New in version 2019.2.1.
99139
99140
99141                     User to create the files and directories
99142
99143                     NOTE:
99144                        Ensure the user has correct permissions to  any  files
99145                        and directories which are to be utilized.
99146
99147   salt.modules.debconfmod
99148       Support for Debconf
99149
99150       salt.modules.debconfmod.get_selections(fetchempty=True)
99151              Answers  to  debconf questions for all packages in the following
99152              format:
99153
99154                 {'package': [['question', 'type', 'value'], ...]}
99155
99156              CLI Example:
99157
99158                 salt '*' debconf.get_selections
99159
99160       salt.modules.debconfmod.set_(package, question, type, value, *extra)
99161              Set answers to debconf questions for a package.
99162
99163              CLI Example:
99164
99165                 salt '*' debconf.set <package> <question> <type> <value> [<value> ...]
99166
99167       salt.modules.debconfmod.set_file(path, saltenv=u'base', **kwargs)
99168              Set answers to debconf questions from a file.
99169
99170              CLI Example:
99171
99172                 salt '*' debconf.set_file salt://pathto/pkg.selections
99173
99174       salt.modules.debconfmod.set_template(path, template, context, defaults,
99175       saltenv=u'base', **kwargs)
99176              Set answers to debconf questions from a template.
99177
99178              path   location of the file containing the package selections
99179
99180              template
99181                     template format
99182
99183              context
99184                     variables to add to the template environment
99185
99186              default
99187                     default values for the template environment
99188
99189              CLI Example:
99190
99191                 salt '*' debconf.set_template salt://pathto/pkg.selections.jinja jinja None None
99192
99193       salt.modules.debconfmod.show(name)
99194              Answers to debconf questions for a package in the following for‐
99195              mat:
99196
99197                 [['question', 'type', 'value'], ...]
99198
99199              If debconf doesn't know about a package, we return None.
99200
99201              CLI Example:
99202
99203                 salt '*' debconf.show <package name>
99204
99205   salt.modules.debian_ip
99206       The networking module for Debian-based distros
99207
99208       References:
99209
99210       · http://www.debian.org/doc/manuals/debian-reference/ch05.en.html
99211
99212       salt.modules.debian_ip.apply_network_settings(**settings)
99213              Apply global network configuration.
99214
99215              CLI Example:
99216
99217                 salt '*' ip.apply_network_settings
99218
99219       salt.modules.debian_ip.build_bond(iface, **settings)
99220              Create a bond script in /etc/modprobe.d with the passed settings
99221              and load the bonding kernel module.
99222
99223              CLI Example:
99224
99225                 salt '*' ip.build_bond bond0 mode=balance-alb
99226
99227       salt.modules.debian_ip.build_interface(iface,    iface_type,   enabled,
99228       **settings)
99229              Build an interface script for a network interface.
99230
99231              CLI Example:
99232
99233                 salt '*' ip.build_interface eth0 eth <settings>
99234
99235       salt.modules.debian_ip.build_network_settings(**settings)
99236              Build the global network script.
99237
99238              CLI Example:
99239
99240                 salt '*' ip.build_network_settings <settings>
99241
99242       salt.modules.debian_ip.build_routes(iface, **settings)
99243              Add route scripts for a network interface using up commands.
99244
99245              CLI Example:
99246
99247                 salt '*' ip.build_routes eth0 <settings>
99248
99249       salt.modules.debian_ip.down(iface, iface_type)
99250              Shutdown a network interface
99251
99252              CLI Example:
99253
99254                 salt '*' ip.down eth0 eth
99255
99256       salt.modules.debian_ip.get_bond(iface)
99257              Return the content of a bond script
99258
99259              CLI Example:
99260
99261                 salt '*' ip.get_bond bond0
99262
99263       salt.modules.debian_ip.get_interface(iface)
99264              Return the contents of an interface script
99265
99266              CLI Example:
99267
99268                 salt '*' ip.get_interface eth0
99269
99270       salt.modules.debian_ip.get_network_settings()
99271              Return the contents of the global network script.
99272
99273              CLI Example:
99274
99275                 salt '*' ip.get_network_settings
99276
99277       salt.modules.debian_ip.get_routes(iface)
99278              Return the routes for the interface
99279
99280              CLI Example:
99281
99282                 salt '*' ip.get_routes eth0
99283
99284       salt.modules.debian_ip.up(iface, iface_type)
99285              Start up a network interface
99286
99287              CLI Example:
99288
99289                 salt '*' ip.up eth0 eth
99290
99291   salt.modules.debian_service
99292       Service support for Debian systems (uses update-rc.d and /sbin/service)
99293
99294       IMPORTANT:
99295          If you feel that Salt should be using this module to manage services
99296          on  a  minion, and it is using a different module (or gives an error
99297          similar to 'service.start' is not available), see here.
99298
99299       salt.modules.debian_service.available(name)
99300              Returns True if the specified service  is  available,  otherwise
99301              returns False.
99302
99303              CLI Example:
99304
99305                 salt '*' service.available sshd
99306
99307       salt.modules.debian_service.disable(name, **kwargs)
99308              Disable the named service to start at boot
99309
99310              CLI Example:
99311
99312                 salt '*' service.disable <service name>
99313
99314       salt.modules.debian_service.disabled(name)
99315              Return True if the named service is disabled, false otherwise
99316
99317              CLI Example:
99318
99319                 salt '*' service.disabled <service name>
99320
99321       salt.modules.debian_service.enable(name, **kwargs)
99322              Enable the named service to start at boot
99323
99324              CLI Example:
99325
99326                 salt '*' service.enable <service name>
99327
99328       salt.modules.debian_service.enabled(name, **kwargs)
99329              Return True if the named service is enabled, false otherwise
99330
99331              CLI Example:
99332
99333                 salt '*' service.enabled <service name>
99334
99335       salt.modules.debian_service.force_reload(name)
99336              Force-reload the named service
99337
99338              CLI Example:
99339
99340                 salt '*' service.force_reload <service name>
99341
99342       salt.modules.debian_service.get_all()
99343              Return all available boot services
99344
99345              CLI Example:
99346
99347                 salt '*' service.get_all
99348
99349       salt.modules.debian_service.get_disabled()
99350              Return a set of services that are installed but disabled
99351
99352              CLI Example:
99353
99354                 salt '*' service.get_disabled
99355
99356       salt.modules.debian_service.get_enabled()
99357              Return a list of service that are enabled on boot
99358
99359              CLI Example:
99360
99361                 salt '*' service.get_enabled
99362
99363       salt.modules.debian_service.missing(name)
99364              The inverse of service.available.  Returns True if the specified
99365              service is not available, otherwise returns False.
99366
99367              CLI Example:
99368
99369                 salt '*' service.missing sshd
99370
99371       salt.modules.debian_service.reload_(name)
99372              Reload the named service
99373
99374              CLI Example:
99375
99376                 salt '*' service.reload <service name>
99377
99378       salt.modules.debian_service.restart(name)
99379              Restart the named service
99380
99381              CLI Example:
99382
99383                 salt '*' service.restart <service name>
99384
99385       salt.modules.debian_service.start(name)
99386              Start the specified service
99387
99388              CLI Example:
99389
99390                 salt '*' service.start <service name>
99391
99392       salt.modules.debian_service.status(name, sig=None)
99393              Return the status for a service.  If the name contains globbing,
99394              a dict mapping service name to True/False values is returned.
99395
99396              Changed  in version 2018.3.0: The service name can now be a glob
99397              (e.g. salt*)
99398
99399
99400              Parameters
99401
99402                     · name (str) -- The name of the service to check
99403
99404                     · sig (str) -- Signature to use to find the  service  via
99405                       ps
99406
99407              Returns
99408                     True  if running, False otherwise dict: Maps service name
99409                     to True if running, False otherwise
99410
99411              Return type
99412                     bool
99413
99414              CLI Example:
99415
99416                 salt '*' service.status <service name> [service signature]
99417
99418       salt.modules.debian_service.stop(name)
99419              Stop the specified service
99420
99421              CLI Example:
99422
99423                 salt '*' service.stop <service name>
99424
99425   salt.modules.defaults
99426       Module to work with salt formula defaults files
99427
99428       salt.modules.defaults.deepcopy(source)
99429              Allows deep copy of objects in formulas.
99430                 By default, Python does not copy objects, it creates bindings
99431                 between a target and an object.
99432
99433              It  is more typical to use this in a templating language in for‐
99434              mulas, instead of directly on the command-line.
99435
99436       salt.modules.defaults.get(key, default=u'')
99437              defaults.get is used much like pillar.get except  that  it  will
99438              read  a  default  value  for  a  pillar  from  defaults.json  or
99439              defaults.yaml files that are stored in the root of a  salt  for‐
99440              mula.
99441
99442              CLI Example:
99443
99444                 salt '*' defaults.get core:users:root
99445
99446              The  defaults  is  computed  from pillar key. The first entry is
99447              considered as the formula namespace.
99448
99449              For  example,  querying  core:users:root  will   try   to   load
99450              salt://core/defaults.yaml and salt://core/defaults.json.
99451
99452       salt.modules.defaults.merge(dest,        src,        merge_lists=False,
99453       in_place=True)
99454              Allows deep merging of dicts in formulas.
99455
99456              merge_lists
99457                     False If True,  it  will  also  merge  lists  instead  of
99458                     replace their items.
99459
99460              in_place
99461                     True  If  True,  it  will merge into dest dict, if not it
99462                     will make a new copy from that dict and return it.
99463
99464                     CLI Example:
99465
99466                     salt '*' default.merge a=b d=e
99467
99468              It is more typical to use this in a templating language in  for‐
99469              mulas, instead of directly on the command-line.
99470
99471       salt.modules.defaults.update(dest,      defaults,     merge_lists=True,
99472       in_place=True)
99473              Allows to set defaults for group of  data  set  e.g.  group  for
99474              nodes.
99475                 This   function   is  a  combination  of  defaults.merge  and
99476                 defaults.deepcopy to avoid redundant in jinja.
99477
99478                 Example:
99479
99480                     group01:
99481                       defaults:
99482                         enabled: True
99483                         extra:
99484                           - test
99485                           - stage
99486                       nodes:
99487                         host01:
99488                           index: foo
99489                           upstream: bar
99490                         host02:
99491                           index: foo2
99492                           upstream: bar2
99493
99494                     {% do salt['defaults.update'](group01.nodes, group01.defaults) %}
99495
99496                 Each node will look like the following:
99497
99498                     host01:
99499                       enabled: True
99500                       index: foo
99501                       upstream: bar
99502                       extra:
99503                         - test
99504                         - stage
99505
99506              merge_lists
99507                     True If True, it will also merge lists instead of replace
99508                     their items.
99509
99510              in_place
99511                     True  If  True,  it will merge into dest dict.  if not it
99512                     will make a new copy from that dict and return it.
99513
99514              It is more typical to use this in a templating language in  for‐
99515              mulas, instead of directly on the command-line.
99516
99517   salt.modules.devmap
99518       Device-Mapper module
99519
99520       salt.modules.devmap.multipath_flush(device)
99521              Device-Mapper Multipath flush
99522
99523              CLI Example:
99524
99525                 salt '*' devmap.multipath_flush mpath1
99526
99527       salt.modules.devmap.multipath_list()
99528              Device-Mapper Multipath list
99529
99530              CLI Example:
99531
99532                 salt '*' devmap.multipath_list
99533
99534   salt.modules.dig
99535       Compendium  of generic DNS utilities.  The 'dig' command line tool must
99536       be installed in order to use this module.
99537
99538       salt.modules.dig.A(host, nameserver=None)
99539              Return the A record for host.
99540
99541              Always returns a list.
99542
99543              CLI Example:
99544
99545                 salt ns1 dig.A www.google.com
99546
99547       salt.modules.dig.AAAA(host, nameserver=None)
99548              Return the AAAA record for host.
99549
99550              Always returns a list.
99551
99552              CLI Example:
99553
99554                 salt ns1 dig.AAAA www.google.com
99555
99556       salt.modules.dig.MX(domain, resolve=False, nameserver=None)
99557              Return a list of lists for the MX of domain.
99558
99559              If the resolve argument is True, resolve IPs for the servers.
99560
99561              It's limited to one IP, because although in practice  it's  very
99562              rarely  a  round  robin,  it  is an acceptable configuration and
99563              pulling just one IP lets the data be similar to the non-resolved
99564              version.  If  you  think  an  MX has multiple IPs, don't use the
99565              resolver here, resolve them in a separate step.
99566
99567              CLI Example:
99568
99569                 salt ns1 dig.MX google.com
99570
99571       salt.modules.dig.NS(domain, resolve=True, nameserver=None)
99572              Return a list of IPs of the nameservers for domain
99573
99574              If resolve is False, don't resolve names.
99575
99576              CLI Example:
99577
99578                 salt ns1 dig.NS google.com
99579
99580       salt.modules.dig.SPF(domain, record=u'SPF', nameserver=None)
99581              Return the allowed IPv4 ranges in the SPF record for domain.
99582
99583              If record is SPF and the SPF record is  empty,  the  TXT  record
99584              will  be searched automatically. If you know the domain uses TXT
99585              and not SPF, specifying that will save a lookup.
99586
99587              CLI Example:
99588
99589                 salt ns1 dig.SPF google.com
99590
99591       salt.modules.dig.TXT(host, nameserver=None)
99592              Return the TXT record for host.
99593
99594              Always returns a list.
99595
99596              CLI Example:
99597
99598                 salt ns1 dig.TXT google.com
99599
99600       salt.modules.dig.check_ip(addr)
99601              Check if address is a valid IP. returns True if valid, otherwise
99602              False.
99603
99604              CLI Example:
99605
99606                 salt ns1 dig.check_ip 127.0.0.1
99607                 salt ns1 dig.check_ip 1111:2222:3333:4444:5555:6666:7777:8888
99608
99609   salt.modules.disk
99610       Module for managing disks and blockdevices
99611
99612       salt.modules.disk.blkid(device=None, token=None)
99613              Return  block device attributes: UUID, LABEL, etc. This function
99614              only works on systems where blkid is available.
99615
99616              device Device name from the system
99617
99618              token  Any valid token used for the search
99619
99620              CLI Example:
99621
99622                 salt '*' disk.blkid
99623                 salt '*' disk.blkid /dev/sda
99624                 salt '*' disk.blkid token='UUID=6a38ee5-7235-44e7-8b22-816a403bad5d'
99625                 salt '*' disk.blkid token='TYPE=ext4'
99626
99627       salt.modules.disk.dump(device, args=None)
99628              Return all contents of dumpe2fs for a specified device
99629
99630              CLI Example:
99631                 salt '*' disk.dump /dev/sda1
99632
99633       salt.modules.disk.format_(device,   fs_type=u'ext4',   inode_size=None,
99634       lazy_itable_init=None, fat=None, force=False)
99635              Format a filesystem onto a device
99636
99637              New in version 2016.11.0.
99638
99639
99640              device The device in which to create the new filesystem
99641
99642              fs_type
99643                     The type of filesystem to create
99644
99645              inode_size
99646                     Size of the inodes
99647
99648                     This option is only enabled for ext and xfs filesystems
99649
99650              lazy_itable_init
99651                     If  enabled  and  the  uninit_bg  feature is enabled, the
99652                     inode table will not  be  fully  initialized  by  mke2fs.
99653                     This  speeds up filesystem initialization noticeably, but
99654                     it  requires  the  kernel  to  finish  initializing   the
99655                     filesystem   in  the  background  when  the filesystem is
99656                     first mounted.   If  the  option  value  is  omitted,  it
99657                     defaults to 1 to enable lazy inode table zeroing.
99658
99659                     This option is only enabled for ext filesystems
99660
99661              fat    FAT  size  option.  Can  be 12, 16 or 32, and can only be
99662                     used on fat or vfat filesystems.
99663
99664              force  Force mke2fs to create a filesystem, even if  the  speci‐
99665                     fied device is not a partition on a block special device.
99666                     This option is only enabled for ext and xfs filesystems
99667
99668                     This option is dangerous, use it with caution.
99669
99670              CLI Example:
99671
99672                 salt '*' disk.format /dev/sdX1
99673
99674       salt.modules.disk.fstype(device)
99675              Return the filesystem name of the specified device
99676
99677              New in version 2016.11.0.
99678
99679
99680              device The name of the device
99681
99682              CLI Example:
99683
99684                 salt '*' disk.fstype /dev/sdX1
99685
99686       salt.modules.disk.hdparms(disks, args=None)
99687              Retrieve all info's for all disks parse 'em  into  a  nice  dict
99688              (which, considering hdparms output, is quite a hassle)
99689
99690              New in version 2016.3.0.
99691
99692
99693              CLI Example:
99694                 salt '*' disk.hdparms /dev/sda
99695
99696       salt.modules.disk.hpa(disks, size=None)
99697              Get/set Host Protected Area settings
99698
99699              T13  INCITS  346-2001 (1367D) defines the BEER (Boot Engineering
99700              Extension Record) and PARTIES (Protected Area Run Time Interface
99701              Extension  Services),  allowing  for  a Host Protected Area on a
99702              disk.
99703
99704              It's often used by OEMS to hide parts of a disk, and  for  over‐
99705              provisioning SSD's
99706
99707              WARNING:
99708                 Setting the HPA might clobber your data, be very careful with
99709                 this on active disks!
99710
99711              New in version 2016.3.0.
99712
99713
99714              CLI Example:
99715
99716                 salt '*' disk.hpa /dev/sda
99717                 salt '*' disk.hpa /dev/sda 5%
99718                 salt '*' disk.hpa /dev/sda 10543256
99719
99720       salt.modules.disk.inodeusage(args=None)
99721              Return inode usage information for volumes mounted on this  min‐
99722              ion
99723
99724              CLI Example:
99725
99726                 salt '*' disk.inodeusage
99727
99728       salt.modules.disk.iostat(interval=1, count=5, disks=None)
99729              Gather and return (averaged) IO stats.
99730
99731              New in version 2016.3.0.
99732
99733
99734              Changed in version 2016.11.4: Added support for AIX
99735
99736
99737              CLI Example:
99738
99739                 salt '*' disk.iostat 1 5 disks=sda
99740
99741       salt.modules.disk.percent(args=None)
99742              Return partition information for volumes mounted on this minion
99743
99744              CLI Example:
99745
99746                 salt '*' disk.percent /var
99747
99748       salt.modules.disk.resize2fs(device)
99749              Resizes the filesystem.
99750
99751              CLI Example:
99752                 salt '*' disk.resize2fs /dev/sda1
99753
99754       salt.modules.disk.smart_attributes(dev, attributes=None, values=None)
99755              Fetch  SMART  attributes  Providing attributes will deliver only
99756              requested  attributes  Providing  values   will   deliver   only
99757              requested values for attributes
99758
99759              Default     is     the     Backblaze    recommended    set    (‐
99760              https://www.backblaze.com/blog/hard-drive-smart-stats/):
99761              (5,187,188,197,198)
99762
99763              New in version 2016.3.0.
99764
99765
99766              CLI Example:
99767
99768                 salt '*' disk.smart_attributes /dev/sda
99769                 salt '*' disk.smart_attributes /dev/sda attributes=(5,187,188,197,198)
99770
99771       salt.modules.disk.tune(device, **kwargs)
99772              Set attributes for the specified device
99773
99774              CLI Example:
99775
99776                 salt '*' disk.tune /dev/sda1 read-ahead=1024 read-write=True
99777
99778              Valid options are: read-ahead, filesystem-read-ahead, read-only,
99779              read-write.
99780
99781              See the blockdev(8) manpage for a more complete  description  of
99782              these options.
99783
99784       salt.modules.disk.usage(args=None)
99785              Return usage information for volumes mounted on this minion
99786
99787              Changed  in  version  2019.2.0:  Default  for SunOS changed to 1
99788              kilobyte blocks
99789
99790
99791              CLI Example:
99792
99793                 salt '*' disk.usage
99794
99795       salt.modules.disk.wipe(device)
99796              Remove the filesystem information
99797
99798              CLI Example:
99799
99800                 salt '*' disk.wipe /dev/sda1
99801
99802   salt.modules.djangomod
99803       Manage Django sites
99804
99805       salt.modules.djangomod.collectstatic(settings_module,     bin_env=None,
99806       no_post_process=False,    ignore=None,    dry_run=False,   clear=False,
99807       link=False,   no_default_ignore=False,    pythonpath=None,    env=None,
99808       runas=None)
99809              Collect  static files from each of your applications into a sin‐
99810              gle location that can easily be served in production.
99811
99812              CLI Example:
99813
99814                 salt '*' django.collectstatic <settings_module>
99815
99816       salt.modules.djangomod.command(settings_module, command,  bin_env=None,
99817       pythonpath=None, env=None, runas=None, *args, **kwargs)
99818              Run arbitrary django management command
99819
99820              CLI Example:
99821
99822                 salt '*' django.command <settings_module> <command>
99823
99824       salt.modules.djangomod.createsuperuser(settings_module,       username,
99825       email,   bin_env=None,   database=None,   pythonpath=None,    env=None,
99826       runas=None)
99827              Create a super user for the database.  This function defaults to
99828              use the --noinput flag which prevents the creation of a password
99829              for the superuser.
99830
99831              CLI Example:
99832
99833                 salt '*' django.createsuperuser <settings_module> user user@example.com
99834
99835       salt.modules.djangomod.loaddata(settings_module,              fixtures,
99836       bin_env=None, database=None, pythonpath=None, env=None)
99837              Load fixture data
99838
99839              Fixtures:
99840                     comma separated list of fixtures to load
99841
99842              CLI Example:
99843
99844                 salt '*' django.loaddata <settings_module> <comma delimited list of fixtures>
99845
99846       salt.modules.djangomod.migrate(settings_module, app_label=None,  migra‐
99847       tion_name=None, bin_env=None, database=None, pythonpath=None, env=None,
99848       noinput=True, runas=None)
99849              Run migrate
99850
99851              Execute the Django-Admin migrate command (requires Django 1.7 or
99852              higher).
99853
99854              New in version 3000.
99855
99856
99857              settings_module
99858                     Specifies  the settings module to use.  The settings mod‐
99859                     ule should be in Python package syntax, e.g.  mysite.set‐
99860                     tings.  If this isn’t provided, django-admin will use the
99861                     DJANGO_SETTINGS_MODULE environment variable.
99862
99863              app_label
99864                     Specific app to run migrations for, instead of all  apps.
99865                     This  may involve running other apps’ migrations too, due
99866                     to dependencies.
99867
99868              migration_name
99869                     Named migration to be applied to a specific app.   Brings
99870                     the  database schema to a state where the named migration
99871                     is applied, but no later migrations in the same  app  are
99872                     applied.  This  may  involve unapplying migrations if you
99873                     have previously migrated past the named  migration.   Use
99874                     the name zero to unapply all migrations for an app.
99875
99876              bin_env
99877                     Path  to  pip  (or  to a virtualenv). This can be used to
99878                     specify the path to the pip to use  when  more  than  one
99879                     Python  release  is  installed (e.g.  /usr/bin/pip-2.7 or
99880                     /usr/bin/pip-2.6. If a directory path is specified, it is
99881                     assumed to be a virtualenv.
99882
99883              database
99884                     Database to migrate. Defaults to 'default'.
99885
99886              pythonpath
99887                     Adds  the  given  filesystem  path  to  the Python import
99888                     search path.  If this isn’t provided,  django-admin  will
99889                     use the PYTHONPATH environment variable.
99890
99891              env    A list of environment variables to be set prior to execu‐
99892                     tion.
99893
99894                     Example:
99895
99896                        module.run:
99897                          - name: django.migrate
99898                          - settings_module: my_django_app.settings
99899                          - env:
99900                            - DATABASE_USER: 'mydbuser'
99901
99902              noinput
99903                     Suppresses all user prompts. Defaults to True.
99904
99905              runas  The user name to run the command as.
99906
99907              CLI Example:
99908
99909                 salt '*' django.migrate <settings_module>
99910                 salt '*' django.migrate <settings_module> <app_label>
99911                 salt '*' django.migrate <settings_module> <app_label> <migration_name>
99912
99913       salt.modules.djangomod.syncdb(settings_module,            bin_env=None,
99914       migrate=False,  database=None, pythonpath=None, env=None, noinput=True,
99915       runas=None)
99916              Run syncdb
99917
99918              Execute the Django-Admin syncdb command, if South  is  available
99919              on  the  minion the migrate option can be passed as True calling
99920              the migrations to run after the syncdb completes
99921
99922              NOTE: The syncdb  command  was  deprecated  in  Django  1.7  and
99923              removed  in  Django  1.9.  For Django versions 1.9 or higher use
99924              the migrate command instead.
99925
99926              CLI Example:
99927
99928                 salt '*' django.syncdb <settings_module>
99929
99930   salt.modules.dnsmasq
99931       Module for managing dnsmasq
99932
99933       salt.modules.dnsmasq.fullversion()
99934              Shows installed version of dnsmasq and compile options.
99935
99936              CLI Example:
99937
99938                 salt '*' dnsmasq.fullversion
99939
99940       salt.modules.dnsmasq.get_config(config_file=u'/etc/dnsmasq.conf')
99941              Dumps all options from the config file.
99942
99943              config_file
99944                     The location of the config file from which to obtain con‐
99945                     tents.  Defaults to /etc/dnsmasq.conf.
99946
99947              CLI Examples:
99948
99949                 salt '*' dnsmasq.get_config
99950                 salt '*' dnsmasq.get_config config_file=/etc/dnsmasq.conf
99951
99952       salt.modules.dnsmasq.set_config(config_file=u'/etc/dnsmasq.conf',  fol‐
99953       low=True, **kwargs)
99954              Sets a value or a set  of  values  in  the  specified  file.  By
99955              default,  if  conf-dir  is  configured  in  this file, salt will
99956              attempt to set the option in any file inside the conf-dir  where
99957              it  has  already been enabled. If it does not find it inside any
99958              files, it will append it to the main config file. Setting follow
99959              to False will turn off this behavior.
99960
99961              If  a  config  option  currently appears multiple times (such as
99962              dhcp-host, which is specified at least once per host),  the  new
99963              option will be added to the end of the main config file (and not
99964              to any includes). If you need an  option  added  to  a  specific
99965              include file, specify it as the config_file.
99966
99967              Parameters
99968
99969                     · config_file  (string)  --  config  file  where settings
99970                       should be updated / added.
99971
99972                     · follow (bool) --  attempt  to  set  the  config  option
99973                       inside  any  file  within  the  conf-dir  where  it has
99974                       already been enabled.
99975
99976                     · kwargs -- key value pairs that contain  the  configura‐
99977                       tion settings that you want set.
99978
99979              CLI Examples:
99980
99981                 salt '*' dnsmasq.set_config domain=mydomain.com
99982                 salt '*' dnsmasq.set_config follow=False domain=mydomain.com
99983                 salt '*' dnsmasq.set_config config_file=/etc/dnsmasq.conf domain=mydomain.com
99984
99985       salt.modules.dnsmasq.version()
99986              Shows installed version of dnsmasq.
99987
99988              CLI Example:
99989
99990                 salt '*' dnsmasq.version
99991
99992   salt.modules.dnsutil
99993       Compendium of generic DNS utilities.
99994
99995       NOTE:
99996          Some functions in the dnsutil execution module depend on dig.
99997
99998       salt.modules.dnsutil.A(host, nameserver=None)
99999              Return the A record(s) for host.
100000
100001              Always returns a list.
100002
100003              CLI Example:
100004
100005                 salt ns1 dnsutil.A www.google.com
100006
100007       salt.modules.dnsutil.AAAA(host, nameserver=None)
100008              Return the AAAA record(s) for host.
100009
100010              Always returns a list.
100011
100012              New in version 2014.7.5.
100013
100014
100015              CLI Example:
100016
100017                 salt ns1 dnsutil.AAAA www.google.com
100018
100019       salt.modules.dnsutil.MX(domain, resolve=False, nameserver=None)
100020              Return a list of lists for the MX of domain.
100021
100022              If the 'resolve' argument is True, resolve IPs for the servers.
100023
100024              It's  limited  to one IP, because although in practice it's very
100025              rarely a round robin, it  is  an  acceptable  configuration  and
100026              pulling just one IP lets the data be similar to the non-resolved
100027              version. If you think an MX has  multiple  IPs,  don't  use  the
100028              resolver here, resolve them in a separate step.
100029
100030              CLI Example:
100031
100032                 salt ns1 dnsutil.MX google.com
100033
100034       salt.modules.dnsutil.NS(domain, resolve=True, nameserver=None)
100035              Return a list of IPs of the nameservers for domain
100036
100037              If 'resolve' is False, don't resolve names.
100038
100039              CLI Example:
100040
100041                 salt ns1 dnsutil.NS google.com
100042
100043       salt.modules.dnsutil.SPF(domain, record=u'SPF', nameserver=None)
100044              Return the allowed IPv4 ranges in the SPF record for domain.
100045
100046              If  record  is  SPF  and the SPF record is empty, the TXT record
100047              will be searched automatically. If you know the domain uses  TXT
100048              and not SPF, specifying that will save a lookup.
100049
100050              CLI Example:
100051
100052                 salt ns1 dnsutil.SPF google.com
100053
100054       salt.modules.dnsutil.check_ip(ip_addr)
100055              Check that string ip_addr is a valid IP
100056
100057              CLI Example:
100058
100059                 salt ns1 dnsutil.check_ip 127.0.0.1
100060
100061       salt.modules.dnsutil.hosts_append(hostsfile=u'/etc/hosts',
100062       ip_addr=None, entries=None)
100063              Append a single line to the /etc/hosts file.
100064
100065              CLI Example:
100066
100067                 salt '*' dnsutil.hosts_append /etc/hosts 127.0.0.1 ad1.yuk.co,ad2.yuk.co
100068
100069       salt.modules.dnsutil.hosts_remove(hostsfile=u'/etc/hosts',
100070       entries=None)
100071              Remove a host from the /etc/hosts file. If doing so will leave a
100072              line containing only an  IP  address,  then  the  line  will  be
100073              deleted.  This  function  will  leave  comments  and blank lines
100074              intact.
100075
100076              CLI Examples:
100077
100078                 salt '*' dnsutil.hosts_remove /etc/hosts ad1.yuk.co
100079                 salt '*' dnsutil.hosts_remove /etc/hosts ad2.yuk.co,ad1.yuk.co
100080
100081       salt.modules.dnsutil.parse_hosts(hostsfile=u'/etc/hosts', hosts=None)
100082              Parse /etc/hosts file.
100083
100084              CLI Example:
100085
100086                 salt '*' dnsutil.parse_hosts
100087
100088       salt.modules.dnsutil.parse_zone(zonefile=None, zone=None)
100089              Parses a zone file. Can be passed  raw  zone  data  on  the  API
100090              level.
100091
100092              CLI Example:
100093
100094                 salt ns1 dnsutil.parse_zone /var/lib/named/example.com.zone
100095
100096       salt.modules.dnsutil.serial(zone=u'', update=False)
100097              Return, store and update a dns serial for your zone files.
100098
100099              zone: a keyword for a specific zone
100100
100101              update: store an updated version of the serial in a grain
100102
100103              If  update  is  False,  the  function  will retrieve an existing
100104              serial or return the current date if no serial is stored.  Noth‐
100105              ing will be stored
100106
100107              If  update is True, the function will set the serial to the cur‐
100108              rent date if none exist or if the existing serial is for a  pre‐
100109              vious  date.  If  a  serial for greater than the current date is
100110              already stored, the function will increment it.
100111
100112              This module stores the serial in a grain, you can explicitly set
100113              the stored value as a grain named dnsserial_<zone_name>.
100114
100115              CLI Example:
100116
100117                 salt ns1 dnsutil.serial example.com
100118
100119   salt.modules.dockercompose module
100120       Module to import docker-compose via saltstack
100121
100122       New in version 2016.3.0.
100123
100124
100125       maintainer
100126              Jean Praloran <jeanpralo@gmail.com>
100127
100128       maturity
100129              new
100130
100131       depends
100132              docker-compose>=1.5
100133
100134       platform
100135              all
100136
100137   Introduction
100138       This module allows one to deal with docker-compose file in a directory.
100139
100140       This  is   a  first version only, the following commands are missing at
100141       the moment but will be built later on if the community is interested in
100142       this module:
100143
100144       · run
100145
100146       · logs
100147
100148       · port
100149
100150       · scale
100151
100152   Installation Prerequisites
100153       This   execution  module  requires  at  least  version  1.4.0  of  both
100154       docker-compose and Docker. docker-compose can easily be installed using
100155       pip.install:
100156
100157          salt myminion pip.install docker-compose>=1.5.0
100158
100159   How to use this module?
100160       In  order  to  use the module if you have no docker-compose file on the
100161       server you can issue the command create, it  takes  two  arguments  the
100162       path  where  the  docker-compose.yml  will be stored and the content of
100163       this latter:
100164
100165          # salt-call -l debug dockercompose.create /tmp/toto '
100166          database:
100167          image: mongo:3.0
100168          command: mongod --smallfiles --quiet --logpath=/dev/null
100169          '
100170
100171       Then you can execute a list of method defined at  the  bottom  with  at
100172       least one argument (the path where the docker-compose.yml will be read)
100173       and an optional python list which corresponds to the services names:
100174
100175          # salt-call -l debug dockercompose.up /tmp/toto
100176          # salt-call -l debug dockercompose.restart /tmp/toto '[database]'
100177          # salt-call -l debug dockercompose.stop /tmp/toto
100178          # salt-call -l debug dockercompose.rm /tmp/toto
100179
100180   Docker-compose method supported
100181       · up
100182
100183       · restart
100184
100185       · stop
100186
100187       · start
100188
100189       · pause
100190
100191       · unpause
100192
100193       · kill
100194
100195       · rm
100196
100197       · ps
100198
100199       · pull
100200
100201       · build
100202
100203   Functions
100204       ·
100205
100206         docker-compose.yml management
100207
100208                · dockercompose.create
100209
100210                · dockercompose.get
100211
100212       ·
100213
100214         Manage containers
100215
100216                · dockercompose.restart
100217
100218                · dockercompose.stop
100219
100220                · dockercompose.pause
100221
100222                · dockercompose.unpause
100223
100224                · dockercompose.start
100225
100226                · dockercompose.kill
100227
100228                · dockercompose.rm
100229
100230                · dockercompose.up
100231
100232       ·
100233
100234         Manage containers image:
100235
100236                · dockercompose.pull
100237
100238                · dockercompose.build
100239
100240       ·
100241
100242         Gather information about containers:
100243
100244                · dockercompose.ps
100245
100246       ·
100247
100248         Manage service definitions:
100249
100250                · dockercompose.service_create
100251
100252                · dockercompose.service_upsert
100253
100254                · dockercompose.service_remove
100255
100256                · dockercompose.service_set_tag
100257
100258   Detailed Function Documentation
100259       salt.modules.dockercompose.build(path, service_names=None)
100260              Build image for containers  in  the  docker-compose  file,  ser‐
100261              vice_names  is  a  python  list, if omitted build images for all
100262              containers. Please note that at the moment the module  does  not
100263              allow  you  to  upload  your  Dockerfile, nor any other file you
100264              could need with your docker-compose.yml, you will have  to  make
100265              sure  the files you need are actually in the directory specified
100266              in the build keyword
100267
100268              path   Path where the  docker-compose  file  is  stored  on  the
100269                     server
100270
100271              service_names
100272                     If  specified  will pull only the image for the specified
100273                     services
100274
100275              CLI Example:
100276
100277                 salt myminion dockercompose.build /path/where/docker-compose/stored
100278                 salt myminion dockercompose.build /path/where/docker-compose/stored '[janus]'
100279
100280       salt.modules.dockercompose.create(path, docker_compose)
100281              Create and validate a docker-compose file into a directory
100282
100283              path   Path where the docker-compose file will be stored on  the
100284                     server
100285
100286              docker_compose
100287                     docker_compose file
100288
100289              CLI Example:
100290
100291                 salt myminion dockercompose.create /path/where/docker-compose/stored content
100292
100293       salt.modules.dockercompose.get(path)
100294              Get the content of the docker-compose file into a directory
100295
100296              path   Path  where  the  docker-compose  file  is  stored on the
100297                     server
100298
100299              CLI Example:
100300
100301                 salt myminion dockercompose.get /path/where/docker-compose/stored
100302
100303       salt.modules.dockercompose.kill(path, service_names=None)
100304              Kill containers in the docker-compose file, service_names  is  a
100305              python list, if omitted kill all containers
100306
100307              path   Path  where  the  docker-compose  file  is  stored on the
100308                     server
100309
100310              service_names
100311                     If specified will kill only the specified services
100312
100313              CLI Example:
100314
100315                 salt myminion dockercompose.kill /path/where/docker-compose/stored
100316                 salt myminion dockercompose.kill /path/where/docker-compose/stored '[janus]'
100317
100318       salt.modules.dockercompose.pause(path, service_names=None)
100319              Pause  running  containers  in  the  docker-compose  file,  ser‐
100320              vice_names is a python list, if omitted pause all containers
100321
100322              path   Path  where  the  docker-compose  file  is  stored on the
100323                     server
100324
100325              service_names
100326                     If specified will pause only the specified services
100327
100328              CLI Example:
100329
100330                 salt myminion dockercompose.pause /path/where/docker-compose/stored
100331                 salt myminion dockercompose.pause /path/where/docker-compose/stored '[janus]'
100332
100333       salt.modules.dockercompose.ps(path)
100334              List all running containers and report  some  information  about
100335              them
100336
100337              path   Path  where  the  docker-compose  file  is  stored on the
100338                     server
100339
100340              CLI Example:
100341
100342                 salt myminion dockercompose.ps /path/where/docker-compose/stored
100343
100344       salt.modules.dockercompose.pull(path, service_names=None)
100345              Pull image for  containers  in  the  docker-compose  file,  ser‐
100346              vice_names is a python list, if omitted pull all images
100347
100348              path   Path  where  the  docker-compose  file  is  stored on the
100349                     server
100350
100351              service_names
100352                     If specified will pull only the image for  the  specified
100353                     services
100354
100355              CLI Example:
100356
100357                 salt myminion dockercompose.pull /path/where/docker-compose/stored
100358                 salt myminion dockercompose.pull /path/where/docker-compose/stored '[janus]'
100359
100360       salt.modules.dockercompose.restart(path, service_names=None)
100361              Restart  container(s)  in the docker-compose file, service_names
100362              is a python list, if omitted restart all containers
100363
100364              path   Path where the  docker-compose  file  is  stored  on  the
100365                     server
100366
100367              service_names
100368                     If specified will restart only the specified services
100369
100370              CLI Example:
100371
100372                 salt myminion dockercompose.restart /path/where/docker-compose/stored
100373                 salt myminion dockercompose.restart /path/where/docker-compose/stored '[janus]'
100374
100375       salt.modules.dockercompose.rm(path, service_names=None)
100376              Remove  stopped  containers  in  the  docker-compose  file, ser‐
100377              vice_names is a python list, if omitted remove all stopped  con‐
100378              tainers
100379
100380              path   Path  where  the  docker-compose  file  is  stored on the
100381                     server
100382
100383              service_names
100384                     If specified will remove only the specified stopped  ser‐
100385                     vices
100386
100387              CLI Example:
100388
100389                 salt myminion dockercompose.rm /path/where/docker-compose/stored
100390                 salt myminion dockercompose.rm /path/where/docker-compose/stored '[janus]'
100391
100392       salt.modules.dockercompose.service_create(path,  service_name,  defini‐
100393       tion)
100394              Create the definition of a  docker-compose  service  This  fails
100395              when  the  service  already  exists This does not pull or up the
100396              service This wil re-write your yaml file. Comments will be lost.
100397              Indentation is set to 2 spaces
100398
100399              path   Path  where  the  docker-compose  file  is  stored on the
100400                     server
100401
100402              service_name
100403                     Name of the service to create
100404
100405              definition
100406                     Service definition as yaml or json string
100407
100408              CLI Example:
100409
100410                 salt myminion dockercompose.service_create /path/where/docker-compose/stored service_name definition
100411
100412       salt.modules.dockercompose.service_remove(path, service_name)
100413              Remove the definition of a docker-compose service This does  not
100414              rm the container This wil re-write your yaml file. Comments will
100415              be lost. Indentation is set to 2 spaces
100416
100417              path   Path where the  docker-compose  file  is  stored  on  the
100418                     server
100419
100420              service_name
100421                     Name of the service to remove
100422
100423              CLI Example:
100424
100425                 salt myminion dockercompose.service_remove /path/where/docker-compose/stored service_name
100426
100427       salt.modules.dockercompose.service_set_tag(path, service_name, tag)
100428              Change the tag of a docker-compose service This does not pull or
100429              up the service This wil re-write your yaml file.  Comments  will
100430              be lost. Indentation is set to 2 spaces
100431
100432              path   Path  where  the  docker-compose  file  is  stored on the
100433                     server
100434
100435              service_name
100436                     Name of the service to remove
100437
100438              tag    Name of the tag (often used as version) that the  service
100439                     image should have
100440
100441              CLI Example:
100442
100443                 salt myminion dockercompose.service_create /path/where/docker-compose/stored service_name tag
100444
100445       salt.modules.dockercompose.service_upsert(path,  service_name,  defini‐
100446       tion)
100447              Create or update the definition of a docker-compose service This
100448              does  not  pull  or  up  the service This wil re-write your yaml
100449              file. Comments will be lost. Indentation is set to 2 spaces
100450
100451              path   Path where the  docker-compose  file  is  stored  on  the
100452                     server
100453
100454              service_name
100455                     Name of the service to create
100456
100457              definition
100458                     Service definition as yaml or json string
100459
100460              CLI Example:
100461
100462                 salt myminion dockercompose.service_upsert /path/where/docker-compose/stored service_name definition
100463
100464       salt.modules.dockercompose.start(path, service_names=None)
100465              Start  containers in the docker-compose file, service_names is a
100466              python list, if omitted start all containers
100467
100468              path   Path where the  docker-compose  file  is  stored  on  the
100469                     server
100470
100471              service_names
100472                     If specified will start only the specified services
100473
100474              CLI Example:
100475
100476                 salt myminion dockercompose.start /path/where/docker-compose/stored
100477                 salt myminion dockercompose.start /path/where/docker-compose/stored '[janus]'
100478
100479       salt.modules.dockercompose.stop(path, service_names=None)
100480              Stop   running  containers  in  the  docker-compose  file,  ser‐
100481              vice_names is a python list, if omitted stop all containers
100482
100483              path   Path where the  docker-compose  file  is  stored  on  the
100484                     server
100485
100486              service_names
100487                     If specified will stop only the specified services
100488
100489              CLI Example:
100490
100491                 salt myminion dockercompose.stop /path/where/docker-compose/stored
100492                 salt myminion dockercompose.stop  /path/where/docker-compose/stored '[janus]'
100493
100494       salt.modules.dockercompose.unpause(path, service_names=None)
100495              Un-Pause containers in the docker-compose file, service_names is
100496              a python list, if omitted unpause all containers
100497
100498              path   Path where the  docker-compose  file  is  stored  on  the
100499                     server
100500
100501              service_names
100502                     If specified will un-pause only the specified services
100503
100504              CLI Example:
100505
100506                 salt myminion dockercompose.pause /path/where/docker-compose/stored
100507                 salt myminion dockercompose.pause /path/where/docker-compose/stored '[janus]'
100508
100509       salt.modules.dockercompose.up(path, service_names=None)
100510              Create  and  start  containers defined in the docker-compose.yml
100511              file located in path, service_names is a python list, if omitted
100512              create and start all containers
100513
100514              path   Path  where  the  docker-compose  file  is  stored on the
100515                     server
100516
100517              service_names
100518                     If specified will create and  start  only  the  specified
100519                     services
100520
100521              CLI Example:
100522
100523                 salt myminion dockercompose.up /path/where/docker-compose/stored
100524                 salt myminion dockercompose.up /path/where/docker-compose/stored '[janus]'
100525
100526   salt.modules.dockermod
100527       Management of Docker Containers
100528
100529       New in version 2015.8.0.
100530
100531
100532       Changed in version 2017.7.0: This module has replaced the legacy docker
100533       execution module.
100534
100535
100536       depends
100537              docker Python module
100538
100539       NOTE:
100540          Older releases  of  the  Python  bindings  for  Docker  were  called
100541          docker-py in PyPI. All releases of docker, and releases of docker-py
100542          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
100543          installed using pip.install:
100544
100545              salt myminion pip.install docker
100546
100547          To  upgrade  from  docker-py  to  docker,  you  must first uninstall
100548          docker-py, and then install docker:
100549
100550              salt myminion pip.uninstall docker-py
100551              salt myminion pip.install docker
100552
100553   Authentication
100554       If you have previously performed a docker login from the  minion,  then
100555       the  credentials  saved  in  ~/.docker/config.json will be used for any
100556       actions which require authentication. If not, then credentials  can  be
100557       configured in any of the following locations:
100558
100559       · Minion config file
100560
100561       · Grains
100562
100563       · Pillar data
100564
100565       · Master  config file (requires pillar_opts to be set to True in Minion
100566         config file in order to work)
100567
100568       IMPORTANT:
100569          Versions prior to 3000 require that Docker credentials  are  config‐
100570          ured  in  Pillar  data.  Be advised that Pillar data is still recom‐
100571          mended though, because  this  keeps  the  configuration  from  being
100572          stored on the Minion.
100573
100574          Also,  keep in mind that if one gets your ~/.docker/config.json, the
100575          password can be decoded from its contents.
100576
100577       The configuration schema is as follows:
100578
100579          docker-registries:
100580            <registry_url>:
100581              username: <username>
100582              password: <password>
100583
100584       For example:
100585
100586          docker-registries:
100587            hub:
100588              username: foo
100589              password: s3cr3t
100590
100591       NOTE:
100592          As of the 2016.3.7, 2016.11.4, and 2017.7.0 releases of  Salt,  cre‐
100593          dentials  for  the Docker Hub can be configured simply by specifying
100594          hub in place of the registry URL. In earlier releases, it is  neces‐
100595          sary  to  specify  the  actual registry URL for the Docker Hub (i.e.
100596          https://index.docker.io/v1/).
100597
100598       More than one registry can be configured. Salt  will  look  for  Docker
100599       credentials  in  the  docker-registries  Pillar key, as well as any key
100600       ending in -docker-registries. For example:
100601
100602          docker-registries:
100603            'https://mydomain.tld/registry:5000':
100604              username: foo
100605              password: s3cr3t
100606
100607          foo-docker-registries:
100608            https://index.foo.io/v1/:
100609              username: foo
100610              password: s3cr3t
100611
100612          bar-docker-registries:
100613            https://index.bar.io/v1/:
100614              username: foo
100615              password: s3cr3t
100616
100617       To login to the configured registries, use the  docker.login  function.
100618       This  only  needs  to  be  done  once for a given registry, and it will
100619       store/update the credentials in ~/.docker/config.json.
100620
100621       NOTE:
100622          For Salt releases before 2016.3.7 and 2016.11.4, docker.login is not
100623          available. Instead, Salt will try to authenticate using each of your
100624          configured registries for each push/pull, behavior which is not cor‐
100625          rect and has been resolved in newer releases.
100626
100627   Configuration Options
100628       The  following  configuration  options can be set to fine-tune how Salt
100629       uses Docker:
100630
100631       · docker.url: URL to the docker service (default: local socket).
100632
100633       · docker.version: API version to use (should not need to be  set  manu‐
100634         ally in the vast majority of cases)
100635
100636       · docker.exec_driver:   Execution   driver  to  use,  one  of  nsenter,
100637         lxc-attach, or docker-exec. See the Executing Commands Within a  Run‐
100638         ning  Container section for more details on how this config parameter
100639         is used.
100640
100641       These configuration options are retrieved using config.get  (click  the
100642       link for further information).
100643
100644   Executing Commands Within a Running Container
100645       NOTE:
100646          With  the  release  of  Docker 1.13.1, the Execution Driver has been
100647          removed.  Starting in versions 2016.3.6,  2016.11.4,  and  2017.7.0,
100648          Salt  defaults  to  using docker exec to run commands in containers,
100649          however for older Salt releases it will  be  necessary  to  set  the
100650          docker.exec_driver  config  option  to either docker-exec or nsenter
100651          for Docker versions 1.13.1 and newer.
100652
100653       Multiple methods exist for executing commands within Docker containers:
100654
100655       · lxc-attach: Default for older versions of docker
100656
100657       · nsenter: Enters container namespace to run command
100658
100659       · docker-exec: Native support for executing commands in Docker contain‐
100660         ers (added in Docker 1.3)
100661
100662       Adding    a    configuration    option    (see    config.get)    called
100663       docker.exec_driver will tell Salt which execution driver to use:
100664
100665          docker.exec_driver: docker-exec
100666
100667       If this configuration option is not found, Salt will use the  appropri‐
100668       ate  interface  (either  nsenter  or lxc-attach) based on the Execution
100669       Driver value returned from docker info. docker-exec will not be used by
100670       default,  as it is presently (as of version 1.6.2) only able to execute
100671       commands as the effective user of the container. Thus, if a USER direc‐
100672       tive  was  used  to  run as a non-privileged user, docker-exec would be
100673       unable to perform the action as root. Salt can still use docker-exec as
100674       an execution driver, but must be explicitly configured (as in the exam‐
100675       ple above) to do so at this time.
100676
100677       If possible, try to manually specify the execution driver, as  it  will
100678       save Salt a little work.
100679
100680       This execution module provides functions that shadow those from the cmd
100681       module. They are as follows:
100682
100683       · docker.retcode
100684
100685       · docker.run
100686
100687       · docker.run_all
100688
100689       · docker.run_stderr
100690
100691       · docker.run_stdout
100692
100693       · docker.script
100694
100695       · docker.script_retcode
100696
100697   Detailed Function Documentation
100698       class           salt.modules.dockermod.DockerJSONDecoder(encoding=None,
100699       object_hook=None,    parse_float=None,    parse_int=None,    parse_con‐
100700       stant=None, strict=True, object_pairs_hook=None)
100701
100702              decode(s, _w=None)
100703                     Return the Python representation of s (a str  or  unicode
100704                     instance containing a JSON document)
100705
100706       salt.modules.dockermod.apply_(name, mods=None, **kwargs)
100707              New in version 2019.2.0.
100708
100709
100710              Apply  states!  This  function  will call highstate or state.sls
100711              based on the arguments passed in, apply is intended  to  be  the
100712              main gateway for all state executions.
100713
100714              CLI Example:
100715
100716                 salt 'docker' docker.apply web01
100717                 salt 'docker' docker.apply web01 test
100718                 salt 'docker' docker.apply web01 test,pkgs
100719
100720       salt.modules.dockermod.build(path=None,    repository=None,   tag=None,
100721       cache=True, rm=True, api_response=False, fileobj=None, dockerfile=None,
100722       buildargs=None)
100723              Changed  in  version  2018.3.0:  If  the  built  image should be
100724              tagged, then the repository and tag must  now  be  passed  sepa‐
100725              rately  using  the  repository  and  tag  arguments, rather than
100726              together in the (now deprecated) image argument.
100727
100728
100729              Builds a docker image from a Dockerfile or a URL
100730
100731              path   Path to directory on the Minion containing a Dockerfile
100732
100733              repository
100734                     Optional repository name for the image being built
100735
100736                     New in version 2018.3.0.
100737
100738
100739              tag    latest Tag name for the image (required if repository  is
100740                     passed)
100741
100742                     New in version 2018.3.0.
100743
100744
100745              image  Deprecated  since  version  2018.3.0: Use both repository
100746                     and tag instead
100747
100748
100749              cache  True Set to False to force the build process not  to  use
100750                     the  Docker image cache, and pull all required intermedi‐
100751                     ate image layers
100752
100753              rm     True Remove intermediate containers created during build
100754
100755              api_response
100756                     False If True: an API_Response key will be present in the
100757                     return  data,  containing  the raw output from the Docker
100758                     API.
100759
100760              fileobj
100761                     Allows for a file-like object containing the contents  of
100762                     the Dockerfile to be passed in place of a file path argu‐
100763                     ment. This argument should not be used from the CLI, only
100764                     from other Salt code.
100765
100766              dockerfile
100767                     Allows  for  an  alternative  Dockerfile to be specified.
100768                     Path to alternative Dockefile is relative  to  the  build
100769                     path for the Docker container.
100770
100771                     New in version 2016.11.0.
100772
100773
100774              buildargs
100775                     A  dictionary  of  build arguments provided to the docker
100776                     build process.
100777
100778              RETURN DATA
100779
100780              A dictionary containing one or more of the following keys:
100781
100782              · Id - ID of the newly-built image
100783
100784              · Time_Elapsed - Time in seconds taken to perform the build
100785
100786              · Intermediate_Containers - IDs of containers created during the
100787                course of the build process
100788
100789                (Only present if rm=False)
100790
100791              ·
100792
100793                Images  - A dictionary containing one or more of the following
100794                keys:
100795
100796                       · Already_Pulled  -  Layers  that  that  were   already
100797                         present on the Minion
100798
100799                       · Pulled - Layers that that were pulled
100800
100801                (Only  present  if the image specified by the "repository" and
100802                "tag"  arguments  was  not  present  on  the  Minion,  or   if
100803                cache=False)
100804
100805              · Status  -  A  string  containing  a summary of the pull action
100806                (usually a message saying that an  image  was  downloaded,  or
100807                that it was up to date).
100808
100809                (Only  present  if the image specified by the "repository" and
100810                "tag"  arguments  was  not  present  on  the  Minion,  or   if
100811                cache=False)
100812
100813              CLI Example:
100814
100815                 salt myminion docker.build /path/to/docker/build/dir
100816                 salt myminion docker.build https://github.com/myuser/myrepo.git repository=myimage tag=latest
100817                 salt myminion docker.build /path/to/docker/build/dir dockerfile=Dockefile.different repository=myimage tag=dev
100818
100819       salt.modules.dockermod.call(name, function, *args, **kwargs)
100820              Executes a Salt function inside a running container
100821
100822              New in version 2016.11.0.
100823
100824
100825              The  container  does not need to have Salt installed, but Python
100826              is required.
100827
100828              name   Container name or ID
100829
100830              function
100831                     Salt execution module function
100832
100833              CLI Example:
100834
100835                 salt myminion docker.call test.ping
100836                 salt myminion test.arg arg1 arg2 key1=val1
100837                 salt myminion dockerng.call compassionate_mirzakhani test.arg arg1 arg2 key1=val1
100838
100839       salt.modules.dockermod.commit(name,  repository,   tag='latest',   mes‐
100840       sage=None, author=None)
100841              Changed  in version 2018.3.0: The repository and tag must now be
100842              passed separately using the repository and tag arguments, rather
100843              than together in the (now deprecated) image argument.
100844
100845
100846              Commits  a  container, thereby promoting it to an image. Equiva‐
100847              lent to running the docker commit Docker CLI command.
100848
100849              name   Container name or ID to commit
100850
100851              repository
100852                     Repository name for the image being committed
100853
100854                     New in version 2018.3.0.
100855
100856
100857              tag    latest Tag name for the image
100858
100859                     New in version 2018.3.0.
100860
100861
100862              image  Deprecated since version 2018.3.0:  Use  both  repository
100863                     and tag instead
100864
100865
100866              message
100867                     Commit message (Optional)
100868
100869              author Author name (Optional)
100870
100871              RETURN DATA
100872
100873              A dictionary containing the following keys:
100874
100875              · Id - ID of the newly-created image
100876
100877              · Image - Name of the newly-created image
100878
100879              · Time_Elapsed - Time in seconds taken to perform the commit
100880
100881              CLI Example:
100882
100883                 salt myminion docker.commit mycontainer myuser/myimage mytag
100884
100885       salt.modules.dockermod.compare_container(first, second, ignore=None)
100886              This function is an alias of compare_containers.
100887                 New in version 2017.7.0.
100888
100889
100890                 Changed in version 2018.3.0: Renamed from docker.compare_con‐
100891                 tainer  to  docker.compare_containers  (old   function   name
100892                 remains as an alias)
100893
100894
100895                 Compare  two containers' Config and and HostConfig and return
100896                 any differences between the two.
100897
100898                 first  Name or ID of first container
100899
100900                 second Name or ID of second container
100901
100902                 ignore A comma-separated list (or Python  list)  of  keys  to
100903                        ignore  when  comparing. This is useful when comparing
100904                        two otherwise identical containers which have  differ‐
100905                        ent hostnames.
100906
100907                 CLI Examples:
100908
100909                     salt myminion docker.compare_containers foo bar
100910                     salt myminion docker.compare_containers foo bar ignore=Hostname
100911
100912       salt.modules.dockermod.compare_container_networks(first, second)
100913              New in version 2018.3.0.
100914
100915
100916              Returns the differences between two containers' networks. When a
100917              network is only present one of the  two  containers,  that  net‐
100918              work's diff will simply be represented with True for the side of
100919              the diff in which the network is present) and False for the side
100920              of the diff in which the network is absent.
100921
100922              This  function  works by comparing the contents of both contain‐
100923              ers' Networks keys (under NetworkSettings) in  the  return  data
100924              from  docker.inspect_container.  Because  each  network contains
100925              some items that either A) only  set  at  runtime,  B)  naturally
100926              varying  from  container  to  container, or both, by default the
100927              following keys in each network are examined:
100928
100929              · Aliases
100930
100931              · Links
100932
100933              · IPAMConfig
100934
100935              The exception to this is if IPAMConfig is unset (i.e.  null)  in
100936              one  container but not the other. This happens when no static IP
100937              configuration is set,  and  automatic  IP  configuration  is  in
100938              effect.  So,  in order to report on changes between automatic IP
100939              configuration in one container and static  IP  configuration  in
100940              another  container  (as  we  need  to  do  for  the  docker_con‐
100941              tainer.running state), automatic IP configuration will  also  be
100942              checked in these cases.
100943
100944              This  function uses the docker.compare_container_networks minion
100945              config option to determine which keys to examine. This  provides
100946              flexibility  in the event that features added in a future Docker
100947              release necessitate changes to how Salt  compares  networks.  In
100948              these  cases, rather than waiting for a new Salt release one can
100949              just set docker.compare_container_networks.
100950
100951              Changed in version 3000: This config option can now also be  set
100952              in  pillar  data and grains.  Additionally, it can be set in the
100953              master config file, provided that pillar_opts is enabled on  the
100954              minion.
100955
100956
100957              NOTE:
100958                 The  checks  for  automatic  IP configuration described above
100959                 only apply if IPAMConfig is among the keys set for static  IP
100960                 checks in docker.compare_container_networks.
100961
100962              first  Name or ID of first container (old)
100963
100964              second Name or ID of second container (new)
100965
100966              CLI Example:
100967
100968                 salt myminion docker.compare_container_networks foo bar
100969
100970       salt.modules.dockermod.compare_containers(first, second, ignore=None)
100971              New in version 2017.7.0.
100972
100973
100974              Changed  in  version  2018.3.0: Renamed from docker.compare_con‐
100975              tainer to docker.compare_containers (old function  name  remains
100976              as an alias)
100977
100978
100979              Compare two containers' Config and and HostConfig and return any
100980              differences between the two.
100981
100982              first  Name or ID of first container
100983
100984              second Name or ID of second container
100985
100986              ignore A comma-separated list (or Python list) of keys to ignore
100987                     when  comparing. This is useful when comparing two other‐
100988                     wise identical containers which have different hostnames.
100989
100990              CLI Examples:
100991
100992                 salt myminion docker.compare_containers foo bar
100993                 salt myminion docker.compare_containers foo bar ignore=Hostname
100994
100995       salt.modules.dockermod.compare_networks(first,  second,   ignore='Name,
100996       Id, Created, Containers')
100997              New in version 2018.3.0.
100998
100999
101000              Compare two networks and return any differences between the two
101001
101002              first  Name or ID of first container
101003
101004              second Name or ID of second container
101005
101006              ignore Name,Id,Created,Containers  A  comma-separated  list  (or
101007                     Python list) of keys to ignore when comparing.
101008
101009              CLI Example:
101010
101011                 salt myminion docker.compare_network foo bar
101012
101013       salt.modules.dockermod.connect_container_to_network(container,  net_id,
101014       **kwargs)
101015              New in version 2015.8.3.
101016
101017
101018              Changed  in  version 2017.7.0: Support for ipv4_address argument
101019              added
101020
101021
101022              Changed in  version  2018.3.0:  All  arguments  are  now  passed
101023              through  to connect_container_to_network(), allowing for any new
101024              arguments added to this function to be supported automagically.
101025
101026
101027              Connect      container      to      network.       See       the
101028              connect_container_to_network() docs for information on supported
101029              arguments.
101030
101031              container
101032                     Container name or ID
101033
101034              net_id Network name or ID
101035
101036              CLI Examples:
101037
101038                 salt myminion docker.connect_container_to_network web-1 mynet
101039                 salt myminion docker.connect_container_to_network web-1 mynet ipv4_address=10.20.0.10
101040                 salt myminion docker.connect_container_to_network web-1 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
101041
101042       salt.modules.dockermod.connected(name, verbose=False)
101043              New in version 2018.3.0.
101044
101045
101046              Return a list of running containers attached  to  the  specified
101047              network
101048
101049              name   Network name
101050
101051              verbose
101052                     False  If True, return extended info about each container
101053                     (IP configuration, etc.)
101054
101055              CLI Example:
101056
101057                 salt myminion docker.connected net_name
101058
101059       salt.modules.dockermod.copy_from(name, source,  dest,  overwrite=False,
101060       makedirs=False)
101061              Copy a file from inside a container to the Minion
101062
101063              name   Container name
101064
101065              source Path of the file on the container's filesystem
101066
101067              dest   Destination  on  the Minion. Must be an absolute path. If
101068                     the destination is a directory, the file will  be  copied
101069                     into that directory.
101070
101071              overwrite
101072                     False  Unless  this option is set to True, then if a file
101073                     exists at the location specified by the dest argument, an
101074                     error will be raised.
101075
101076              makedirs
101077                     False  Create the parent directory on the container if it
101078                     does not already exist.
101079
101080              RETURN DATA
101081
101082              A boolean (True if successful, otherwise False)
101083
101084              CLI Example:
101085
101086                 salt myminion docker.copy_from mycontainer /var/log/nginx/access.log /home/myuser
101087
101088       salt.modules.dockermod.copy_to(name,  source,  dest,  exec_driver=None,
101089       overwrite=False, makedirs=False)
101090              Copy a file from the host into a container
101091
101092              name   Container name
101093
101094              source File  to  be copied to the container. Can be a local path
101095                     on the Minion or a remote file from the Salt fileserver.
101096
101097              dest   Destination on the container. Must be an  absolute  path.
101098                     If  the  destination  is  a  directory,  the file will be
101099                     copied into that directory.
101100
101101              exec_driver
101102                     None If not passed, the execution driver will be detected
101103                     as described above.
101104
101105              overwrite
101106                     False  Unless  this option is set to True, then if a file
101107                     exists at the location specified by the dest argument, an
101108                     error will be raised.
101109
101110              makedirs
101111                     False  Create the parent directory on the container if it
101112                     does not already exist.
101113
101114              RETURN DATA
101115
101116              A boolean (True if successful, otherwise False)
101117
101118              CLI Example:
101119
101120                 salt myminion docker.copy_to mycontainer /tmp/foo /root/foo
101121
101122       salt.modules.dockermod.create(*args, **kwargs)
101123              Create a new container
101124
101125              image  Image from which to create the container
101126
101127              name   Name for the new container. If not provided, Docker  will
101128                     randomly generate one for you (it will be included in the
101129                     return data).
101130
101131              start  False If True, start container after creating it
101132
101133                     New in version 2018.3.0.
101134
101135
101136              skip_translate
101137                     This function translates Salt CLI or SLS input  into  the
101138                     format  which  docker-py  expects.  However, in the event
101139                     that Salt's translation logic  fails  (due  to  potential
101140                     changes  in  the  Docker  Remote  API,  or to bugs in the
101141                     translation code), this argument can  be  used  to  exert
101142                     granular  control over which arguments are translated and
101143                     which are not.
101144
101145                     Pass this argument as a comma-separated list  (or  Python
101146                     list) of arguments, and translation for each passed argu‐
101147                     ment name will be skipped. Alternatively, pass  True  and
101148                     all translation will be skipped.
101149
101150                     Skipping tranlsation allows for arguments to be formatted
101151                     directly in the  format  which  docker-py  expects.  This
101152                     allows for API changes and other issues to be more easily
101153                     worked around. An example of using this  option  to  skip
101154                     translation would be:
101155
101156                        salt myminion docker.create image=centos:7.3.1611 skip_translate=environment environment="{'FOO': 'bar'}"
101157
101158                     See the following links for more information:
101159
101160                     · docker-py Low-level API
101161
101162                     · Docker Engine API
101163
101164              ignore_collisions
101165                     False  Since many of docker-py's arguments differ in name
101166                     from their CLI counterparts (with which most Docker users
101167                     are  more  familiar),  Salt  detects  usage  of these and
101168                     aliases them to the docker-py version of  that  argument.
101169                     However,  if  both the alias and the docker-py version of
101170                     the same argument (e.g. env and environment) are used, an
101171                     error  will  be raised. Set this argument to True to sup‐
101172                     press these errors and keep the docker-py version of  the
101173                     argument.
101174
101175              validate_ip_addrs
101176                     True  For  parameters which accept IP addresses as input,
101177                     IP address validation will be performed. To disable,  set
101178                     this to False
101179
101180              client_timeout
101181                     60  Timeout in seconds for the Docker client. This is not
101182                     a timeout for this function, but for receiving a response
101183                     from the API.
101184
101185                     NOTE:
101186                        This  is only used if Salt needs to pull the requested
101187                        image.
101188
101189              CONTAINER CONFIGURATION ARGUMENTS
101190
101191              auto_remove (or rm)
101192                     False Enable auto-removal of the container on daemon side
101193                     when  the container’s process exits (analogous to running
101194                     a docker container with --rm on the CLI).
101195
101196                     Examples:
101197
101198                     · auto_remove=True
101199
101200                     · rm=True
101201
101202              binds  Files/directories to bind mount. Each bind  mount  should
101203                     be passed in one of the following formats:
101204
101205                     · <host_path>:<container_path>  -  host_path  is  mounted
101206                       within the container as container_path with  read-write
101207                       access.
101208
101209                     · <host_path>:<container_path>:<selinux_context>        -
101210                       host_path is  mounted  within  the  container  as  con‐
101211                       tainer_path  with  read-write access. Additionally, the
101212                       specified selinux context will be set within  the  con‐
101213                       tainer.
101214
101215                     · <host_path>:<container_path>:<read_only> - host_path is
101216                       mounted within the container  as  container_path,  with
101217                       the read-only or read-write setting explicitly defined.
101218
101219                     · <host_path>:<container_path>:<read_only>,<selinux_con‐
101220                       text> - host_path is mounted within  the  container  as
101221                       container_path,  with  the read-only or read-write set‐
101222                       ting explicitly defined.  Additionally,  the  specified
101223                       selinux context will be set within the container.
101224
101225                     <read_only> can be either ro for read-write access, or ro
101226                     for read-only access. When omitted, it is assumed  to  be
101227                     read-write.
101228
101229                     <selinux_context>  can  be  z  if  the  volume  is shared
101230                     between multiple containers, or Z if the volume should be
101231                     private.
101232
101233                     NOTE:
101234                        When both <read_only> and <selinux_context> are speci‐
101235                        fied, there must be a comma before <selinux_context>.
101236
101237                     Binds can be expressed as a  comma-separated  list  or  a
101238                     Python  list,  however  in  cases where both ro/rw and an
101239                     selinux context are specified, the binds must  be  speci‐
101240                     fied as a Python list.
101241
101242                     Examples:
101243
101244                     · binds=/srv/www:/var/www:ro
101245
101246                     · binds=/srv/www:/var/www:rw
101247
101248                     · binds=/srv/www:/var/www
101249
101250                     · binds="['/srv/www:/var/www:ro,Z']"
101251
101252                     · binds="['/srv/www:/var/www:rw,Z']"
101253
101254                     · binds=/srv/www:/var/www:Z
101255
101256                     NOTE:
101257                        The  second and third examples above are equivalent to
101258                        each other, as are the last two examples.
101259
101260              blkio_weight
101261                     Block IO weight (relative weight), accepts a weight value
101262                     between 10 and 1000.
101263
101264                     Example: blkio_weight=100
101265
101266              blkio_weight_device
101267                     Block  IO weight (relative device weight), specified as a
101268                     list of expressions in the format PATH:WEIGHT
101269
101270                     Example: blkio_weight_device=/dev/sda:100
101271
101272              cap_add
101273                     List of capabilities to add within the container. Can  be
101274                     passed  as  a  comma-separated  list  or  a  Python list.
101275                     Requires Docker 1.2.0 or newer.
101276
101277                     Examples:
101278
101279                     · cap_add=SYS_ADMIN,MKNOD
101280
101281                     · cap_add="[SYS_ADMIN, MKNOD]"
101282
101283              cap_drop
101284                     List of capabilities to drop within the container. Can be
101285                     passed  as  a  comma-separated  string  or a Python list.
101286                     Requires Docker 1.2.0 or newer.
101287
101288                     Examples:
101289
101290                     · cap_drop=SYS_ADMIN,MKNOD,
101291
101292                     · cap_drop="[SYS_ADMIN, MKNOD]"
101293
101294              command (or cmd)
101295                     Command to run in the container
101296
101297                     Example: command=bash or cmd=bash
101298
101299                     Changed in version 2015.8.1: cmd is now also accepted
101300
101301
101302              cpuset_cpus (or cpuset)
101303                     CPUs on which which to allow execution,  specified  as  a
101304                     string containing a range (e.g. 0-3) or a comma-separated
101305                     list of CPUs (e.g. 0,1).
101306
101307                     Examples:
101308
101309                     · cpuset_cpus="0-3"
101310
101311                     · cpuset="0,1"
101312
101313              cpuset_mems
101314                     Memory nodes on which which to allow execution, specified
101315                     as a string containing a range (e.g. 0-3) or a comma-sep‐
101316                     arated list of MEMs (e.g. 0,1). Only  effective  on  NUMA
101317                     systems.
101318
101319                     Examples:
101320
101321                     · cpuset_mems="0-3"
101322
101323                     · cpuset_mems="0,1"
101324
101325              cpu_group
101326                     The length of a CPU period in microseconds
101327
101328                     Example: cpu_group=100000
101329
101330              cpu_period
101331                     Microseconds  of CPU time that the container can get in a
101332                     CPU period
101333
101334                     Example: cpu_period=50000
101335
101336              cpu_shares
101337                     CPU shares (relative weight),  specified  as  an  integer
101338                     between 2 and 1024.
101339
101340                     Example: cpu_shares=512
101341
101342              detach False  If  True, run the container's command in the back‐
101343                     ground (daemon mode)
101344
101345                     Example: detach=True
101346
101347              devices
101348                     List of host devices to expose within the container
101349
101350                     Examples:
101351
101352                     · devices="/dev/net/tun,/dev/xvda1:/dev/xvda1,/dev/xvdb1:/dev/xvdb1:r"
101353
101354                     · devices="['/dev/net/tun',      '/dev/xvda1:/dev/xvda1',
101355                       '/dev/xvdb1:/dev/xvdb1:r']"
101356
101357              device_read_bps
101358                     Limit read rate (bytes per second) from a device,  speci‐
101359                     fied  as  a  list of expressions in the format PATH:RATE,
101360                     where RATE is either an integer number  of  bytes,  or  a
101361                     string ending in kb, mb, or gb.
101362
101363                     Examples:
101364
101365                     · device_read_bps="/dev/sda:1mb,/dev/sdb:5mb"
101366
101367                     · device_read_bps="['/dev/sda:100mb', '/dev/sdb:5mb']"
101368
101369              device_read_iops
101370                     Limit read rate (I/O per second) from a device, specified
101371                     as a list of expressions in the format  PATH:RATE,  where
101372                     RATE is a number of I/O operations.
101373
101374                     Examples:
101375
101376                     · device_read_iops="/dev/sda:1000,/dev/sdb:500"
101377
101378                     · device_read_iops="['/dev/sda:1000', '/dev/sdb:500']"
101379
101380              device_write_bps
101381                     Limit write rate (bytes per second) from a device, speci‐
101382                     fied as a list of expressions in  the  format  PATH:RATE,
101383                     where  RATE  is  either  an integer number of bytes, or a
101384                     string ending in kb, mb or gb.
101385
101386                     Examples:
101387
101388                     · device_write_bps="/dev/sda:100mb,/dev/sdb:50mb"
101389
101390                     · device_write_bps="['/dev/sda:100mb', '/dev/sdb:50mb']"
101391
101392              device_read_iops
101393                     Limit write rate (I/O per second) from a  device,  speci‐
101394                     fied  as  a  list of expressions in the format PATH:RATE,
101395                     where RATE is a number of I/O operations.
101396
101397                     Examples:
101398
101399                     · device_read_iops="/dev/sda:1000,/dev/sdb:500"
101400
101401                     · device_read_iops="['/dev/sda:1000', '/dev/sdb:500']"
101402
101403              dns    List of DNS nameservers. Can be passed as  a  comma-sepa‐
101404                     rated list or a Python list.
101405
101406                     Examples:
101407
101408                     · dns=8.8.8.8,8.8.4.4
101409
101410                     · dns="['8.8.8.8', '8.8.4.4']"
101411
101412                     NOTE:
101413                        To    skip    IP   address   validation,   use   vali‐
101414                        date_ip_addrs=False
101415
101416              dns_opt
101417                     Additional  options  to  be  added  to  the   container’s
101418                     resolv.conf file
101419
101420                     Example: dns_opt=ndots:9
101421
101422              dns_search
101423                     List of DNS search domains. Can be passed as a comma-sep‐
101424                     arated list or a Python list.
101425
101426                     Examples:
101427
101428                     · dns_search=foo1.domain.tld,foo2.domain.tld
101429
101430                     · dns_search="[foo1.domain.tld, foo2.domain.tld]"
101431
101432              domainname
101433                     The domain name to use for the container
101434
101435                     Example: domainname=domain.tld
101436
101437              entrypoint
101438                     Entrypoint for  the  container.  Either  a  string  (e.g.
101439                     "mycmd --arg1 --arg2") or a Python list (e.g.  "['mycmd',
101440                     '--arg1', '--arg2']")
101441
101442                     Examples:
101443
101444                     · entrypoint="cat access.log"
101445
101446                     · entrypoint="['cat', 'access.log']"
101447
101448              environment (or env)
101449                     Either a dictionary of  environment  variable  names  and
101450                     their  values,  or a Python list of strings in the format
101451                     VARNAME=value.
101452
101453                     Examples:
101454
101455                     · environment='VAR1=value,VAR2=value'
101456
101457                     · environment="['VAR1=value', 'VAR2=value']"
101458
101459                     · environment="{'VAR1': 'value', 'VAR2': 'value'}"
101460
101461              extra_hosts
101462                     Additional hosts to add  to  the  container's  /etc/hosts
101463                     file. Can be passed as a comma-separated list or a Python
101464                     list. Requires Docker 1.3.0 or newer.
101465
101466                     Examples:
101467
101468                     · extra_hosts=web1:10.9.8.7,web2:10.9.8.8
101469
101470                     · extra_hosts="['web1:10.9.8.7', 'web2:10.9.8.8']"
101471
101472                     · extra_hosts="{'web1': '10.9.8.7', 'web2': '10.9.8.8'}"
101473
101474                     NOTE:
101475                        To   skip   IP   address   validation,    use    vali‐
101476                        date_ip_addrs=False
101477
101478              group_add
101479                     List  of  additional group names and/or IDs that the con‐
101480                     tainer process will run as
101481
101482                     Examples:
101483
101484                     · group_add=web,network
101485
101486                     · group_add="['web', 'network']"
101487
101488              hostname
101489                     Hostname of the container. If not provided, and if a name
101490                     has  been provided, the hostname will default to the name
101491                     that was passed.
101492
101493                     Example: hostname=web1
101494
101495                     WARNING:
101496                        If the container is  started  with  network_mode=host,
101497                        the hostname will be overridden by the hostname of the
101498                        Minion.
101499
101500              interactive (or stdin_open): False
101501                     Leave stdin open, even if not attached
101502
101503                     Examples:
101504
101505                     · interactive=True
101506
101507                     · stdin_open=True
101508
101509              ipc_mode (or ipc)
101510                     Set the IPC mode for the container. The default  behavior
101511                     is  to  create a private IPC namespace for the container,
101512                     but this option can be used to change that behavior:
101513
101514                     · container:<container_name_or_id>  reuses  another  con‐
101515                       tainer shared memory, semaphores and message queues
101516
101517                     · host: use the host's shared memory, semaphores and mes‐
101518                       sage queues
101519
101520                     Examples:
101521
101522                     · ipc_mode=container:foo
101523
101524                     · ipc=host
101525
101526                     WARNING:
101527                        Using host gives the container full  access  to  local
101528                        shared memory and is therefore considered insecure.
101529
101530              isolation
101531                     Specifies  the  type of isolation technology used by con‐
101532                     tainers
101533
101534                     Example: isolation=hyperv
101535
101536                     NOTE:
101537                        The default value on Windows server is process,  while
101538                        the  default  value  on  Windows  client is hyperv. On
101539                        Linux, only default is supported.
101540
101541              labels (or label)
101542                     Add metadata to the container. Labels  can  be  set  both
101543                     with and without values:
101544
101545                     Examples:
101546
101547                     · labels=foo,bar=baz
101548
101549                     · labels="['foo', 'bar=baz']"
101550
101551                     Changed in version 2018.3.0: Labels both with and without
101552                     values can now be mixed. Earlier releases only  permitted
101553                     one method or the other.
101554
101555
101556              links  Link this container to another. Links should be specified
101557                     in the format <container_name_or_id>:<link_alias>. Multi‐
101558                     ple  links can be passed, ether as a comma separated list
101559                     or a Python list.
101560
101561                     Examples:
101562
101563                     · links=web1:link1,web2:link2,
101564
101565                     · links="['web1:link1', 'web2:link2']"
101566
101567                     · links="{'web1': 'link1', 'web2': 'link2'}"
101568
101569              log_driver
101570                     Set container's logging driver. Requires  Docker  1.6  or
101571                     newer.
101572
101573                     Example:
101574
101575                     · log_driver=syslog
101576
101577                     NOTE:
101578                        The logging driver feature was improved in Docker 1.13
101579                        introducing option name changes. Please  see  Docker's
101580                        Configure   logging  drivers  documentation  for  more
101581                        information.
101582
101583              log_opt
101584                     Config options for the log_driver config option. Requires
101585                     Docker 1.6 or newer.
101586
101587                     Example:
101588
101589                     · log_opt="syslog-address=tcp://192.168.0.42,sys‐
101590                       log-facility=daemon"
101591
101592                     · log_opt="['syslog-address=tcp://192.168.0.42',    'sys‐
101593                       log-facility=daemon']"
101594
101595                     · log_opt="{'syslog-address': 'tcp://192.168.0.42', 'sys‐
101596                       log-facility': 'daemon'}"
101597
101598              lxc_conf
101599                     Additional LXC configuration  parameters  to  set  before
101600                     starting the container.
101601
101602                     Examples:
101603
101604                     · lxc_conf="lxc.utsname=docker,lxc.arch=x86_64"
101605
101606                     · lxc_conf="['lxc.utsname=docker', 'lxc.arch=x86_64']"
101607
101608                     · lxc_conf="{'lxc.utsname':     'docker',     'lxc.arch':
101609                       'x86_64'}"
101610
101611                     NOTE:
101612                        These LXC configuration parameters will only have  the
101613                        desired  effect if the container is using the LXC exe‐
101614                        cution driver, which  has  been  deprecated  for  some
101615                        time.
101616
101617              mac_address
101618                     MAC address to use for the container. If not specified, a
101619                     random MAC address will be used.
101620
101621                     Example: mac_address=01:23:45:67:89:0a
101622
101623              mem_limit (or memory)
101624                     0 Memory limit. Can be specified in bytes or  using  sin‐
101625                     gle-letter units (i.e. 512M, 2G, etc.). A value of 0 (the
101626                     default) means no memory limit.
101627
101628                     Examples:
101629
101630                     · mem_limit=512M
101631
101632                     · memory=1073741824
101633
101634              mem_swappiness
101635                     Tune a container's memory swappiness behavior. Accepts an
101636                     integer between 0 and 100.
101637
101638                     Example: mem_swappiness=60
101639
101640              memswap_limit (or memory_swap)
101641                     -1  Total  memory  limit (memory plus swap). Set to -1 to
101642                     disable swap. A value of 0 means no swap limit.
101643
101644                     Examples:
101645
101646                     · memswap_limit=1G
101647
101648                     · memory_swap=2147483648
101649
101650              network_disabled
101651                     False If True, networking will  be  disabled  within  the
101652                     container
101653
101654                     Example: network_disabled=True
101655
101656              network_mode
101657                     bridge One of the following:
101658
101659                     · bridge  - Creates a new network stack for the container
101660                       on the docker bridge
101661
101662                     · none - No networking  (equivalent  of  the  Docker  CLI
101663                       argument  --net=none). Not to be confused with Python's
101664                       None.
101665
101666                     · container:<name_or_id>  -  Reuses  another  container's
101667                       network stack
101668
101669                     · host  -  Use  the  host's network stack inside the con‐
101670                       tainer
101671
101672                       WARNING:
101673                          Using host mode gives the container full  access  to
101674                          the  hosts system's services (such as D-Bus), and is
101675                          therefore considered insecure.
101676
101677                     Examples:
101678
101679                     · network_mode=null
101680
101681                     · network_mode=container:web1
101682
101683              oom_kill_disable
101684                     Whether to disable OOM killer
101685
101686                     Example: oom_kill_disable=False
101687
101688              oom_score_adj
101689                     An integer value containing the score given to  the  con‐
101690                     tainer in order to tune OOM killer preferences
101691
101692                     Example: oom_score_adj=500
101693
101694              pid_mode
101695                     Set  to  host  to  use the host container's PID namespace
101696                     within the container. Requires Docker 1.5.0 or newer.
101697
101698                     Example: pid_mode=host
101699
101700              pids_limit
101701                     Set the container's PID limit. Set to -1 for unlimited.
101702
101703                     Example: pids_limit=2000
101704
101705              port_bindings (or publish)
101706                     Bind exposed ports which were  exposed  using  the  ports
101707                     argument  to docker.create. These should be passed in the
101708                     same way as the --publish argument to the docker run  CLI
101709                     command:
101710
101711                     · ip:hostPort:containerPort - Bind a specific IP and port
101712                       on the host to a specific port within the container.
101713
101714                     · ip::containerPort - Bind a specific IP and an ephemeral
101715                       port to a specific port within the container.
101716
101717                     · hostPort:containerPort - Bind a specific port on all of
101718                       the host's interfaces to a  specific  port  within  the
101719                       container.
101720
101721                     · containerPort  -  Bind  an ephemeral port on all of the
101722                       host's interfaces to a specific port  within  the  con‐
101723                       tainer.
101724
101725                     Multiple  bindings  can be separated by commas, or passed
101726                     as a Python list. The below two examples are equivalent:
101727
101728                     · port_bindings="5000:5000,2123:2123/udp,8080"
101729
101730                     · port_bindings="['5000:5000', '2123:2123/udp', 8080]"
101731
101732                     Port bindings can also include ranges:
101733
101734                     · port_bindings="14505-14506:4505-4506"
101735
101736                     NOTE:
101737                        When specifying a protocol, it must be passed  in  the
101738                        containerPort value, as seen in the examples above.
101739
101740              ports  A list of ports to expose on the container. Can be passed
101741                     as comma-separated list or a Python list. If the protocol
101742                     is omitted, the port will be assumed to be a TCP port.
101743
101744                     Examples:
101745
101746                     · ports=1111,2222/udp
101747
101748                     · ports="[1111, '2222/udp']"
101749
101750              privileged
101751                     False If True, runs the exec process with extended privi‐
101752                     leges
101753
101754                     Example: privileged=True
101755
101756              publish_all_ports (or publish_all): False
101757                     Publish all ports to the host
101758
101759                     Example: publish_all_ports=True
101760
101761              read_only
101762                     False If True, mount the container’s root  filesystem  as
101763                     read only
101764
101765                     Example: read_only=True
101766
101767              restart_policy (or restart)
101768                     Set a restart policy for the container. Must be passed as
101769                     a string in the format policy[:retry_count] where  policy
101770                     is  one  of  always,  unless-stopped,  or on-failure, and
101771                     retry_count  is  an  optional  limit  to  the  number  of
101772                     retries. The retry count is ignored when using the always
101773                     or unless-stopped restart policy.
101774
101775                     Examples:
101776
101777                     · restart_policy=on-failure:5
101778
101779                     · restart_policy=always
101780
101781              security_opt
101782                     Security configuration for MLS systems  such  as  SELinux
101783                     and AppArmor.  Can be passed as a comma-separated list or
101784                     a Python list.
101785
101786                     Examples:
101787
101788                     · security_opt=apparmor:unconfined,param2:value2
101789
101790                     · security_opt='["apparmor:unconfined", "param2:value2"]'
101791
101792                     IMPORTANT:
101793                        Some security options can  contain  commas.  In  these
101794                        cases,  this argument must be passed as a Python list,
101795                        as splitting by comma will result in an  invalid  con‐
101796                        figuration.
101797
101798                     NOTE:
101799                        See    the    documentation    for   security_opt   at
101800                        https://docs.docker.com/engine/reference/run/#security-configuration
101801
101802              shm_size
101803                     Size of /dev/shm
101804
101805                     Example: shm_size=128M
101806
101807              stop_signal
101808                     The  signal  used  to  stop the container. The default is
101809                     SIGTERM.
101810
101811                     Example: stop_signal=SIGRTMIN+3
101812
101813              stop_timeout
101814                     Timeout to stop the container, in seconds
101815
101816                     Example: stop_timeout=5
101817
101818              storage_opt
101819                     Storage driver options for the container
101820
101821                     Examples:
101822
101823                     · storage_opt='dm.basesize=40G'
101824
101825                     · storage_opt="['dm.basesize=40G']"
101826
101827                     · storage_opt="{'dm.basesize': '40G'}"
101828
101829              sysctls (or sysctl)
101830                     Set sysctl options for the container
101831
101832                     Examples:
101833
101834                     · sysctl='fs.nr_open=1048576,kernel.pid_max=32768'
101835
101836                     · sysctls="['fs.nr_open=1048576',                   'ker‐
101837                       nel.pid_max=32768']"
101838
101839                     · sysctls="{'fs.nr_open':   '1048576',  'kernel.pid_max':
101840                       '32768'}"
101841
101842              tmpfs  A map of container directories which should  be  replaced
101843                     by  tmpfs  mounts, and their corresponding mount options.
101844                     Can be passed as Python list of PATH:VALUE mappings, or a
101845                     Python  dictionary.  However, since commas usually appear
101846                     in  the  values,  this  option  cannot  be  passed  as  a
101847                     comma-separated list.
101848
101849                     Examples:
101850
101851                     · tmpfs="['/run:rw,noexec,nosuid,size=65536k',
101852                       '/var/lib/mysql:rw,noexec,nosuid,size=600m']"
101853
101854                     · tmpfs="{'/run':         'rw,noexec,nosuid,size=65536k',
101855                       '/var/lib/mysql': 'rw,noexec,nosuid,size=600m'}"
101856
101857              tty    False Attach TTYs
101858
101859                     Example: tty=True
101860
101861              ulimits (or ulimit)
101862                     List  of  ulimits.  These  limits should be passed in the
101863                     format <ulimit_name>:<soft_limit>:<hard_limit>, with  the
101864                     hard limit being optional. Can be passed as a comma-sepa‐
101865                     rated list or a Python list.
101866
101867                     Examples:
101868
101869                     · ulimits="nofile=1024:1024,nproc=60"
101870
101871                     · ulimits="['nofile=1024:1024', 'nproc=60']"
101872
101873              user   User under which to run exec process
101874
101875                     Example: user=foo
101876
101877              userns_mode (or user_ns_mode)
101878                     Sets the user namsepace mode,  when  the  user  namespace
101879                     remapping option is enabled.
101880
101881                     Example: userns_mode=host
101882
101883              volumes (or volume)
101884                     List  of  directories to expose as volumes. Can be passed
101885                     as a comma-separated list or a Python list.
101886
101887                     Examples:
101888
101889                     · volumes=/mnt/vol1,/mnt/vol2
101890
101891                     · volume="['/mnt/vol1', '/mnt/vol2']"
101892
101893              volumes_from
101894                     Container names or IDs from which the container will  get
101895                     volumes.  Can  be  passed  as a comma-separated list or a
101896                     Python list.
101897
101898                     Example:  volumes_from=foo,  volumes_from=foo,bar,   vol‐
101899                     umes_from="[foo, bar]"
101900
101901              volume_driver
101902                     Sets the container's volume driver
101903
101904                     Example: volume_driver=foobar
101905
101906              working_dir (or workdir)
101907                     Working directory inside the container
101908
101909                     Examples:
101910
101911                     · working_dir=/var/log/nginx
101912
101913                     · workdir=/var/www/myapp
101914
101915              RETURN DATA
101916
101917              A dictionary containing the following keys:
101918
101919              · Id - ID of the newly-created container
101920
101921              · Name - Name of the newly-created container
101922
101923              CLI Example:
101924
101925                 # Create a data-only container
101926                 salt myminion docker.create myuser/mycontainer volumes="/mnt/vol1,/mnt/vol2"
101927                 # Create a CentOS 7 container that will stay running once started
101928                 salt myminion docker.create centos:7 name=mycent7 interactive=True tty=True command=bash
101929
101930       salt.modules.dockermod.create_network(name,        skip_translate=None,
101931       ignore_collisions=False,   validate_ip_addrs=True,   client_timeout=60,
101932       **kwargs)
101933              Changed  in version 2018.3.0: Support added for network configu‐
101934              ration options other than driver and  driver_opts,  as  well  as
101935              IPAM configuration.
101936
101937
101938              Create a new network
101939
101940              NOTE:
101941                 This  function  supports  all  arguments for network and IPAM
101942                 pool configuration which are available  for  the  release  of
101943                 docker-py installed on the minion. For that reason, the argu‐
101944                 ments described below in the NETWORK CONFIGURATION  ARGUMENTS
101945                 and  IP ADDRESS MANAGEMENT (IPAM) sections may not accurately
101946                 reflect   what   is   available   on   the    minion.     The
101947                 docker.get_client_args  function  can  be  used  to check the
101948                 available arguments for the installed  version  of  docker-py
101949                 (they  are  found  in the network_config and ipam_config sec‐
101950                 tions of the return data), but Salt will not prevent  a  user
101951                 from  attempting  to  use an argument which is unsupported in
101952                 the release of Docker which is  installed.  In  those  cases,
101953                 network creation be attempted but will fail.
101954
101955              name   Network name
101956
101957              skip_translate
101958                     This  function  translates Salt CLI or SLS input into the
101959                     format which docker-py expects.  However,  in  the  event
101960                     that  Salt's  translation  logic  fails (due to potential
101961                     changes in the Docker Remote  API,  or  to  bugs  in  the
101962                     translation  code),  this  argument  can be used to exert
101963                     granular control over which arguments are translated  and
101964                     which are not.
101965
101966                     Pass  this  argument as a comma-separated list (or Python
101967                     list) of arguments, and translation for each passed argu‐
101968                     ment  name  will be skipped. Alternatively, pass True and
101969                     all translation will be skipped.
101970
101971                     Skipping tranlsation allows for arguments to be formatted
101972                     directly  in  the  format  which  docker-py expects. This
101973                     allows for API changes and other issues to be more easily
101974                     worked  around. See the following links for more informa‐
101975                     tion:
101976
101977                     · docker-py Low-level API
101978
101979                     · Docker Engine API
101980
101981                     New in version 2018.3.0.
101982
101983
101984              ignore_collisions
101985                     False Since many of docker-py's arguments differ in  name
101986                     from their CLI counterparts (with which most Docker users
101987                     are more familiar),  Salt  detects  usage  of  these  and
101988                     aliases  them  to the docker-py version of that argument.
101989                     However, if both the alias and the docker-py  version  of
101990                     the  same  argument  (e.g.  options  and driver_opts) are
101991                     used, an error will be raised. Set this argument to  True
101992                     to  suppress  these errors and keep the docker-py version
101993                     of the argument.
101994
101995                     New in version 2018.3.0.
101996
101997
101998              validate_ip_addrs
101999                     True For parameters which accept IP addresses  as  input,
102000                     IP  address validation will be performed. To disable, set
102001                     this to False
102002
102003                     NOTE:
102004                        When validating subnets, whether or not the IP portion
102005                        of  the  subnet is a valid subnet boundary will not be
102006                        checked. The IP will portion will  be  validated,  and
102007                        the  subnet  size  will  be checked to confirm it is a
102008                        valid number (1-32 for IPv4, 1-128 for IPv6).
102009
102010                     New in version 2018.3.0.
102011
102012
102013              NETWORK CONFIGURATION ARGUMENTS
102014
102015              driver Network driver
102016
102017                     Example: driver=macvlan
102018
102019              driver_opts (or driver_opt, or options)
102020                     Options for the network driver. Either  a  dictionary  of
102021                     option  names  and  values or a Python list of strings in
102022                     the format varname=value.
102023
102024                     Examples:
102025
102026                     · driver_opts='macvlan_mode=bridge,parent=eth0'
102027
102028                     · driver_opts="['macvlan_mode=bridge', 'parent=eth0']"
102029
102030                     · driver_opts="{'macvlan_mode':    'bridge',    'parent':
102031                       'eth0'}"
102032
102033              check_duplicate
102034                     True  If  True, checks for networks with duplicate names.
102035                     Since networks are primarily keyed based on a  random  ID
102036                     and  not  on  the  name,  and  network name is strictly a
102037                     user-friendly alias to  the  network  which  is  uniquely
102038                     identified  using ID, there is no guaranteed way to check
102039                     for duplicates. This  option  providess  a  best  effort,
102040                     checking  for  any networks which have the same name, but
102041                     it is not guaranteed to catch all name collisions.
102042
102043                     Example: check_duplicate=False
102044
102045              internal
102046                     False If True, restricts external access to the network
102047
102048                     Example: internal=True
102049
102050              labels Add metadata to the network. Labels can be set both  with
102051                     and without values:
102052
102053                     Examples (with values):
102054
102055                     · labels="label1=value1,label2=value2"
102056
102057                     · labels="['label1=value1', 'label2=value2']"
102058
102059                     · labels="{'label1': 'value1', 'label2': 'value2'}"
102060
102061                     Examples (without values):
102062
102063                     · labels=label1,label2
102064
102065                     · labels="['label1', 'label2']"
102066
102067              enable_ipv6 (or ipv6)
102068                     False Enable IPv6 on the network
102069
102070                     Example: enable_ipv6=True
102071
102072                     NOTE:
102073                        While  it should go without saying, this argument must
102074                        be set to True to configure an IPv6 subnet.  Also,  if
102075                        this  option  is  turned  on  without  an  IPv6 subnet
102076                        explicitly configured, you will get  an  error  unless
102077                        you  have  set  up  a  fixed  IPv6 subnet. Consult the
102078                        Docker IPv6 docs for information on how to do this.
102079
102080              attachable
102081                     False If True, and the network is in  the  global  scope,
102082                     non-service  containers  on  worker nodes will be able to
102083                     connect to the network.
102084
102085                     Example: attachable=True
102086
102087                     NOTE:
102088                        While support for this option was added in API version
102089                        1.24,  its  value was not added to the inpsect results
102090                        until API version 1.26.  The version of  Docker  which
102091                        is available for CentOS 7 runs API version 1.24, mean‐
102092                        ing that while Salt can pass this argument to the API,
102093                        it  has  no  way  of  knowing the value of this config
102094                        option in an existing Docker network.
102095
102096              scope  Specify the network's scope (local, global or swarm)
102097
102098                     Example: scope=local
102099
102100              ingress
102101                     False If True, create an ingress network  which  provides
102102                     the routing-mesh in swarm mode
102103
102104                     Example: ingress=True
102105
102106              IP ADDRESS MANAGEMENT (IPAM)
102107
102108              This  function  supports networks with either IPv4, or both IPv4
102109              and IPv6. If configuring IPv4, then you can pass the IPAM  argu‐
102110              ments  as  shown below, as individual arguments on the Salt CLI.
102111              However, if configuring IPv4 and IPv6,  the  arguments  must  be
102112              passed  as  a  list of dictionaries, in the ipam_pools argument.
102113              See the CLI Examples below. These docs also have  more  informa‐
102114              tion on these arguments.
102115
102116              IPAM ARGUMENTS
102117
102118              ipam_driver
102119                     IPAM driver to use, if different from the default one
102120
102121                     Example: ipam_driver=foo
102122
102123              ipam_opts
102124                     Options  for  the  IPAM  driver.  Either  a dictionary of
102125                     option names and values or a Python list  of  strings  in
102126                     the format varname=value.
102127
102128                     Examples:
102129
102130                     · ipam_opts='foo=bar,baz=qux'
102131
102132                     · ipam_opts="['foo=bar', 'baz=quz']"
102133
102134                     · ipam_opts="{'foo': 'bar', 'baz': 'qux'}"
102135
102136              IPAM POOL ARGUMENTS
102137
102138              subnet Subnet in CIDR format that represents a network segment
102139
102140                     Example: subnet=192.168.50.0/25
102141
102142              iprange (or ip_range)
102143                     Allocate container IP from a sub-range within the subnet
102144
102145                     Subnet in CIDR format that represents a network segment
102146
102147                     Example: iprange=192.168.50.64/26
102148
102149              gateway
102150                     IPv4 gateway for the master subnet
102151
102152                     Example: gateway=192.168.50.1
102153
102154              aux_addresses (or aux_address)
102155                     A  dictionary  of mapping container names to IP addresses
102156                     which should be allocated for them should they connect to
102157                     the network. Either a dictionary of option names and val‐
102158                     ues  or  a  Python  list  of  strings   in   the   format
102159                     host=ipaddr.
102160
102161                     Examples:
102162
102163                     · aux_addresses='foo.bar.tld=192.168.50.10,hello.world.tld=192.168.50.11'
102164
102165                     · aux_addresses="['foo.bar.tld=192.168.50.10',
102166                       'hello.world.tld=192.168.50.11']"
102167
102168                     · aux_addresses="{'foo.bar.tld':         '192.168.50.10',
102169                       'hello.world.tld': '192.168.50.11'}"
102170
102171              CLI Examples:
102172
102173                 salt myminion docker.create_network web_network driver=bridge
102174                 # IPv4
102175                 salt myminion docker.create_network macvlan_network driver=macvlan driver_opts="{'parent':'eth0'}" gateway=172.20.0.1 subnet=172.20.0.0/24
102176                 # IPv4 and IPv6
102177                 salt myminion docker.create_network mynet ipam_pools='[{"subnet": "10.0.0.0/24", "gateway": "10.0.0.1"}, {"subnet": "fe3f:2180:26:1::60/123", "gateway": "fe3f:2180:26:1::61"}]'
102178
102179       salt.modules.dockermod.create_volume(name,                 driver=None,
102180       driver_opts=None)
102181              Create a new volume
102182
102183              New in version 2015.8.4.
102184
102185
102186              name   name of volume
102187
102188              driver Driver of the volume
102189
102190              driver_opts
102191                     Options for the driver volume
102192
102193              CLI Example:
102194
102195                 salt myminion docker.create_volume my_volume driver=local
102196
102197       salt.modules.dockermod.dangling(prune=False, force=False)
102198              Return  top-level images (those on which no other images depend)
102199              which do not have a tag assigned to them. These include:
102200
102201              · Images which were once tagged but were later untagged, such as
102202                those  which  were  superseded  by committing a new copy of an
102203                existing tagged image.
102204
102205              · Images which were loaded using docker.load (or the docker load
102206                Docker CLI command), but not tagged.
102207
102208              prune  False Remove these images
102209
102210              force  False  If  True,  and if prune=True, then forcibly remove
102211                     these images.
102212
102213              RETURN DATA
102214
102215              If prune=False, the return data will be a list of dangling image
102216              IDs.
102217
102218              If  prune=True,  the  return data will be a dictionary with each
102219              key being the ID of the dangling image, and the following infor‐
102220              mation for each image:
102221
102222              · Comment  -  Any  error encountered when trying to prune a dan‐
102223                gling image
102224
102225                (Only present if prune failed)
102226
102227              · Removed - A boolean (True if prune was  successful,  False  if
102228                not)
102229
102230              CLI Example:
102231
102232                 salt myminion docker.dangling
102233                 salt myminion docker.dangling prune=True
102234
102235       salt.modules.dockermod.depends(name)
102236              Returns  the  containers and images, if any, which depend on the
102237              given image
102238
102239              name   Name or ID of image
102240
102241              RETURN DATA
102242
102243              A dictionary containing the following keys:
102244
102245              · Containers - A list of containers which depend on  the  speci‐
102246                fied image
102247
102248              · Images - A list of IDs of images which depend on the specified
102249                image
102250
102251              CLI Example:
102252
102253                 salt myminion docker.depends myimage
102254                 salt myminion docker.depends 0123456789ab
102255
102256       salt.modules.dockermod.diff(name)
102257              Get information on changes made to container's filesystem  since
102258              it was created. Equivalent to running the docker diff Docker CLI
102259              command.
102260
102261              name   Container name or ID
102262
102263              RETURN DATA
102264
102265              A dictionary containing any of the following keys:
102266
102267              · Added - A list of paths that were added.
102268
102269              · Changed - A list of paths that were changed.
102270
102271              · Deleted - A list of paths that were deleted.
102272
102273              These keys will only be present if there were changes, so if the
102274              container has no differences the return dict will be empty.
102275
102276              CLI Example:
102277
102278                 salt myminion docker.diff mycontainer
102279
102280       salt.modules.dockermod.disconnect_all_containers_from_network(net‐
102281       work_id)
102282              New in version 2018.3.0.
102283
102284
102285              Runs docker.disconnect_container_from_network on all  containers
102286              connected to the specified network, and returns the names of all
102287              containers that were disconnected.
102288
102289              network_id
102290                     Network name or ID
102291
102292              CLI Examples:
102293
102294                 salt myminion docker.disconnect_all_containers_from_network mynet
102295                 salt myminion docker.disconnect_all_containers_from_network 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
102296
102297       salt.modules.dockermod.disconnect_container_from_network(container,
102298       network_id)
102299              New in version 2015.8.3.
102300
102301
102302              Disconnect container from network
102303
102304              container
102305                     Container name or ID
102306
102307              network_id
102308                     Network name or ID
102309
102310              CLI Examples:
102311
102312                 salt myminion docker.disconnect_container_from_network web-1 mynet
102313                 salt myminion docker.disconnect_container_from_network web-1 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
102314
102315       salt.modules.dockermod.exists(name)
102316              Check if a given container exists
102317
102318              name   Container name or ID
102319
102320              RETURN DATA
102321
102322              A boolean (True if the container exists, otherwise False)
102323
102324              CLI Example:
102325
102326                 salt myminion docker.exists mycontainer
102327
102328       salt.modules.dockermod.export(name,        path,       overwrite=False,
102329       makedirs=False, compression=None, **kwargs)
102330              Exports a container to a tar archive.  It  can  also  optionally
102331              compress that tar archive, and push it up to the Master.
102332
102333              name   Container name or ID
102334
102335              path   Absolute  path  on the Minion where the container will be
102336                     exported
102337
102338              overwrite
102339                     False Unless this option is set to True, then if  a  file
102340                     exists at the location specified by the path argument, an
102341                     error will be raised.
102342
102343              makedirs
102344                     False If True, then if the parent directory of  the  file
102345                     specified  by the path argument does not exist, Salt will
102346                     attempt to create it.
102347
102348              compression
102349                     None Can be set to any of the following:
102350
102351                     · gzip or gz for gzip compression
102352
102353                     · bzip2 or bz2 for bzip2 compression
102354
102355                     · xz or lzma for XZ compression  (requires  xz-utils,  as
102356                       well  as  the lzma module from Python 3.3, available in
102357                       Python 2 and Python 3.0-3.2 as backports.lzma)
102358
102359                     This parameter can be omitted and Salt  will  attempt  to
102360                     determine  the compression type by examining the filename
102361                     passed in the path parameter.
102362
102363              push   False If True, the container will be pushed to the master
102364                     using cp.push.
102365
102366                     NOTE:
102367                        This  requires file_recv to be set to True on the Mas‐
102368                        ter.
102369
102370              RETURN DATA
102371
102372              A dictionary will containing the following keys:
102373
102374              · Path - Path of the file that was exported
102375
102376              · Push - Reports whether or not the file was successfully pushed
102377                to the Master
102378
102379                (Only present if push=True)
102380
102381              · Size - Size of the file, in bytes
102382
102383              · Size_Human - Size of the file, in human-readable units
102384
102385              · Time_Elapsed - Time in seconds taken to perform the export
102386
102387              CLI Examples:
102388
102389                 salt myminion docker.export mycontainer /tmp/mycontainer.tar
102390                 salt myminion docker.export mycontainer /tmp/mycontainer.tar.xz push=True
102391
102392       salt.modules.dockermod.get_client_args(limit=None)
102393              New in version 2016.3.6,2016.11.4,2017.7.0.
102394
102395
102396              Changed  in version 2017.7.0: Replaced the container config args
102397              with the ones from the API's create_container function.
102398
102399
102400              Changed in version 2018.3.0: Added ability to limit the input to
102401              specific client functions
102402
102403
102404              Many  functions  in  Salt  have been written to support the full
102405              list  of  arguments  for  a  given  function  in  the  docker-py
102406              Low-level  API.  However,  depending on the version of docker-py
102407              installed on the minion, the  available  arguments  may  differ.
102408              This  function  will  get the arguments for various functions in
102409              the installed version of docker-py, to be used as a reference.
102410
102411              limit  An optional list of categories for  which  to  limit  the
102412                     return.  This  is  useful if only a specific set of argu‐
102413                     ments  is  desired,  and  also  keeps  other   function's
102414                     argspecs from needlessly being examined.
102415
102416              AVAILABLE LIMITS
102417
102418              · create_container  -  arguments  accepted by create_container()
102419                (used by docker.create)
102420
102421              · host_config - arguments accepted by create_host_config() (used
102422                to build the host config for docker.create)
102423
102424              · connect_container_to_network     -     arguments    used    by
102425                connect_container_to_network() to construct an endpoint config
102426                when      connecting     to     a     network     (used     by
102427                docker.connect_container_to_network)
102428
102429              · create_network - arguments accepted by create_network()  (used
102430                by docker.create_network)
102431
102432              · ipam_config  -  arguments used to create an IPAM pool (used by
102433                docker.create_network in the process of constructing  an  IPAM
102434                config dictionary)
102435
102436              CLI Example:
102437
102438                 salt myminion docker.get_client_args
102439                 salt myminion docker.get_client_args logs
102440                 salt myminion docker.get_client_args create_container,connect_container_to_network
102441
102442       salt.modules.dockermod.highstate(name, saltenv='base', **kwargs)
102443              Apply a highstate to the running container
102444
102445              New in version 2019.2.0.
102446
102447
102448              The  container  does not need to have Salt installed, but Python
102449              is required.
102450
102451              name   Container name or ID
102452
102453              saltenv
102454                     base Specify the environment from which to  retrieve  the
102455                     SLS indicated by the mods parameter.
102456
102457              CLI Example:
102458
102459                 salt myminion docker.highstate compassionate_mirzakhani
102460
102461       salt.modules.dockermod.history(name, quiet=False)
102462              Return  the  history  for  an  image.  Equivalent to running the
102463              docker history Docker CLI command.
102464
102465              name   Container name or ID
102466
102467              quiet  False If True, the return data will simply be a  list  of
102468                     the commands run to build the container.
102469
102470                        $ salt myminion docker.history nginx:latest quiet=True
102471                        myminion:
102472                            - FROM scratch
102473                            - ADD file:ef063ed0ae9579362871b9f23d2bc0781ef7cd4de6ac822052cf6c9c5a12b1e2 in /
102474                            - CMD [/bin/bash]
102475                            - MAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com"
102476                            - apt-key adv --keyserver pgp.mit.edu --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
102477                            - echo "deb http://nginx.org/packages/mainline/debian/ wheezy nginx" >> /etc/apt/sources.list
102478                            - ENV NGINX_VERSION=1.7.10-1~wheezy
102479                            - apt-get update &&     apt-get install -y ca-certificates nginx=${NGINX_VERSION} &&     rm -rf /var/lib/apt/lists/*
102480                            - ln -sf /dev/stdout /var/log/nginx/access.log
102481                            - ln -sf /dev/stderr /var/log/nginx/error.log
102482                            - VOLUME [/var/cache/nginx]
102483                            - EXPOSE map[80/tcp:{} 443/tcp:{}]
102484                            - CMD [nginx -g daemon off;]
102485                                    https://github.com/saltstack/salt/pull/22421
102486
102487              RETURN DATA
102488
102489              If  quiet=False, the return value will be a list of dictionaries
102490              containing information about each step taken to build the image.
102491              The keys in each step include the following:
102492
102493              · Command - The command executed in this build step
102494
102495              · Id - Layer ID
102496
102497              · Size - Cumulative image size, in bytes
102498
102499              · Size_Human - Cumulative image size, in human-readable units
102500
102501              · Tags - Tag(s) assigned to this layer
102502
102503              · Time_Created_Epoch - Time this build step was completed (Epoch
102504                time)
102505
102506              · Time_Created_Local - Time this build step was completed  (Min‐
102507                ion's local timezone)
102508
102509              CLI Example:
102510
102511                 salt myminion docker.exists mycontainer
102512
102513       salt.modules.dockermod.images(verbose=False, **kwargs)
102514              Returns  information  about  the  Docker  images  on the Minion.
102515              Equivalent to running the docker images Docker CLI command.
102516
102517              all    False If True, untagged images will also be returned
102518
102519              verbose
102520                     False If True, a docker inspect will be run on each image
102521                     returned.
102522
102523              RETURN DATA
102524
102525              A  dictionary  with  each  key being an image ID, and each value
102526              some general info about that image  (time  created,  size,  tags
102527              associated with the image, etc.)
102528
102529              CLI Example:
102530
102531                 salt myminion docker.images
102532                 salt myminion docker.images all=True
102533
102534       salt.modules.dockermod.import_(source,     repository,    tag='latest',
102535       api_response=False)
102536              Changed in version 2018.3.0: The repository and tag must now  be
102537              passed separately using the repository and tag arguments, rather
102538              than together in the (now deprecated) image argument.
102539
102540
102541              Imports content from a local tarball or a URL as  a  new  docker
102542              image
102543
102544              source Content  to  import  (URL or absolute path to a tarball).
102545                     URL  can  be  a  file  on  the  Salt   fileserver   (i.e.
102546                     salt://path/to/rootfs/tarball.tar.xz.  To  import  a file
102547                     from a saltenv other than base (e.g. dev), pass it at the
102548                     end    of   the   URL   (ex.   salt://path/to/rootfs/tar‐
102549                     ball.tar.xz?saltenv=dev).
102550
102551              repository
102552                     Repository name for the image being imported
102553
102554                     New in version 2018.3.0.
102555
102556
102557              tag    latest Tag name for the image
102558
102559                     New in version 2018.3.0.
102560
102561
102562              image  Deprecated since version 2018.3.0:  Use  both  repository
102563                     and tag instead
102564
102565
102566              api_response
102567                     False  If True an api_response key will be present in the
102568                     return data, containing the raw output  from  the  Docker
102569                     API.
102570
102571              RETURN DATA
102572
102573              A dictionary containing the following keys:
102574
102575              · Id - ID of the newly-created image
102576
102577              · Image - Name of the newly-created image
102578
102579              · Time_Elapsed - Time in seconds taken to perform the commit
102580
102581              CLI Example:
102582
102583                 salt myminion docker.import /tmp/cent7-minimal.tar.xz myuser/centos
102584                 salt myminion docker.import /tmp/cent7-minimal.tar.xz myuser/centos:7
102585                 salt myminion docker.import salt://dockerimages/cent7-minimal.tar.xz myuser/centos:7
102586
102587       salt.modules.dockermod.info()
102588              Returns  a  dictionary of system-wide information. Equivalent to
102589              running the docker info Docker CLI command.
102590
102591              CLI Example:
102592
102593                 salt myminion docker.info
102594
102595       salt.modules.dockermod.inspect(name)
102596              Changed in  version  2017.7.0:  Volumes  and  networks  are  now
102597              checked, in addition to containers and images.
102598
102599
102600              This is a generic container/image/volume/network inspecton func‐
102601              tion. It will run the following functions in order:
102602
102603              · docker.inspect_container
102604
102605              · docker.inspect_image
102606
102607              · docker.inspect_volume
102608
102609              · docker.inspect_network
102610
102611              The first of these to find a match will be returned.
102612
102613              name   Container/image/volume/network name or ID
102614
102615              RETURN DATA
102616
102617              A dictionary of container/image/volume/network information
102618
102619              CLI Example:
102620
102621                 salt myminion docker.inspect mycontainer
102622                 salt myminion docker.inspect busybox
102623
102624       salt.modules.dockermod.inspect_container(name)
102625              Retrieves  container  information.  Equivalent  to  running  the
102626              docker  inspect  Docker CLI command, but will only look for con‐
102627              tainer information.
102628
102629              name   Container name or ID
102630
102631              RETURN DATA
102632
102633              A dictionary of container information
102634
102635              CLI Example:
102636
102637                 salt myminion docker.inspect_container mycontainer
102638                 salt myminion docker.inspect_container 0123456789ab
102639
102640       salt.modules.dockermod.inspect_image(name)
102641              Retrieves image information. Equivalent to  running  the  docker
102642              inspect  Docker CLI command, but will only look for image infor‐
102643              mation.
102644
102645              NOTE:
102646                 To inspect an image, it must have been pulled from a registry
102647                 or  built locally. Images on a Docker registry which have not
102648                 been pulled cannot be inspected.
102649
102650              name   Image name or ID
102651
102652              RETURN DATA
102653
102654              A dictionary of image information
102655
102656              CLI Examples:
102657
102658                 salt myminion docker.inspect_image busybox
102659                 salt myminion docker.inspect_image centos:6
102660                 salt myminion docker.inspect_image 0123456789ab
102661
102662       salt.modules.dockermod.inspect_network(network_id)
102663              Inspect Network
102664
102665              network_id
102666                     ID of network
102667
102668              CLI Example:
102669
102670                 salt myminion docker.inspect_network 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
102671
102672       salt.modules.dockermod.inspect_volume(name)
102673              Inspect Volume
102674
102675              New in version 2015.8.4.
102676
102677
102678              name   Name of volume
102679
102680              CLI Example:
102681
102682                 salt myminion docker.inspect_volume my_volume
102683
102684       salt.modules.dockermod.kill(*args, **kwargs)
102685              Kill all processes in a running container instead of  performing
102686              a graceful shutdown
102687
102688              name   Container name or ID
102689
102690              RETURN DATA
102691
102692              A dictionary will be returned, containing the following keys:
102693
102694              · status - A dictionary showing the prior state of the container
102695                as well as the new state
102696
102697              · result - A boolean noting whether or not the action  was  suc‐
102698                cessful
102699
102700              · comment - Only present if the container cannot be killed
102701
102702              CLI Example:
102703
102704                 salt myminion docker.kill mycontainer
102705
102706       salt.modules.dockermod.layers(name)
102707              Returns  a  list of the IDs of layers belonging to the specified
102708              image, with the top-most layer  (the  one  correspnding  to  the
102709              passed name) appearing last.
102710
102711              name   Image name or ID
102712
102713              CLI Example:
102714
102715                 salt myminion docker.layers centos:7
102716
102717       salt.modules.dockermod.list_containers(**kwargs)
102718              Returns  a  list  of  containers by name. This is different from
102719              docker.ps in that docker.ps returns  its  results  organized  by
102720              container ID.
102721
102722              all    False  If  True,  stopped  containers will be included in
102723                     return data
102724
102725              CLI Example:
102726
102727                 salt myminion docker.inspect_image <image>
102728
102729       salt.modules.dockermod.list_tags()
102730              Returns a list of tagged images
102731
102732              CLI Example:
102733
102734                 salt myminion docker.list_tags
102735
102736       salt.modules.dockermod.load(path, repository=None, tag=None)
102737              Changed in version 2018.3.0:  If  the  loaded  image  should  be
102738              tagged,  then  the  repository  and tag must now be passed sepa‐
102739              rately using the  repository  and  tag  arguments,  rather  than
102740              together in the (now deprecated) image argument.
102741
102742
102743              Load  a  tar  archive that was created using docker.save (or via
102744              the Docker CLI using docker save).
102745
102746              path   Path to docker tar archive. Path can be  a  file  on  the
102747                     Minion, or the URL of a file on the Salt fileserver (i.e.
102748                     salt://path/to/docker/saved/image.tar). To  load  a  file
102749                     from a saltenv other than base (e.g. dev), pass it at the
102750                     end   of   the   URL   (ex.    salt://path/to/rootfs/tar‐
102751                     ball.tar.xz?saltenv=dev).
102752
102753              repository
102754                     If specified, the topmost layer of the newly-loaded image
102755                     will be tagged with the specified repo using  docker.tag.
102756                     If  a  repository name is provided, then the tag argument
102757                     is also required.
102758
102759                     New in version 2018.3.0.
102760
102761
102762              tag    Tag name to go along with the  repository  name,  if  the
102763                     loaded image is to be tagged.
102764
102765                     New in version 2018.3.0.
102766
102767
102768              image  Deprecated  since  version  2018.3.0: Use both repository
102769                     and tag instead
102770
102771
102772              RETURN DATA
102773
102774              A dictionary will be returned, containing the following keys:
102775
102776              · Path - Path of the file that was saved
102777
102778              · Layers - A list containing the IDs of the  layers  which  were
102779                loaded.   Any  layers  in the file that was loaded, which were
102780                already present on the Minion, will not be included.
102781
102782              · Image - Name of tag applied to topmost layer
102783
102784                (Only present if tag was specified and tagging was successful)
102785
102786              · Time_Elapsed - Time in seconds taken to load the file
102787
102788              · Warning -  Message  describing  any  problems  encountered  in
102789                attemp to tag the topmost layer
102790
102791                (Only present if tag was specified and tagging failed)
102792
102793              CLI Example:
102794
102795                 salt myminion docker.load /path/to/image.tar
102796                 salt myminion docker.load salt://path/to/docker/saved/image.tar repository=myuser/myimage tag=mytag
102797
102798       salt.modules.dockermod.login(*registries)
102799              New in version 2016.3.7,2016.11.4,2017.7.0.
102800
102801
102802              Performs  a  docker login to authenticate to one or more config‐
102803              ured repositories. See the documentation at the top of this page
102804              to configure authentication credentials.
102805
102806              Multiple registry URLs (matching those configured in Pillar) can
102807              be passed, and Salt will attempt to login  to  just  those  reg‐
102808              istries.  If no registry URLs are provided, Salt will attempt to
102809              login to all configured registries.
102810
102811              RETURN DATA
102812
102813              A dictionary containing the following keys:
102814
102815              · Results - A dictionary mapping registry URLs to the  authenti‐
102816                cation  result.  True  means a successful login, False means a
102817                failed login.
102818
102819              · Errors - A list of errors encountered  during  the  course  of
102820                this function.
102821
102822              CLI Example:
102823
102824                 salt myminion docker.login
102825                 salt myminion docker.login hub
102826                 salt myminion docker.login hub https://mydomain.tld/registry/
102827
102828       salt.modules.dockermod.logs(name, **kwargs)
102829              Changed  in  version  2018.3.0:  Support  for all of docker-py's
102830              logs() function's arguments, with the exception of stream.
102831
102832
102833              Returns the logs for the container. An interface to  docker-py's
102834              logs() function.
102835
102836              name   Container name or ID
102837
102838              stdout True Return stdout lines
102839
102840              stderr True Return stdout lines
102841
102842              timestamps
102843                     False Show timestamps
102844
102845              tail   all  Output specified number of lines at the end of logs.
102846                     Either an integer number of lines or the string all.
102847
102848              since  Show logs since the specified  time,  passed  as  a  UNIX
102849                     epoch  timestamp.  Optionally, if timelib is installed on
102850                     the minion the timestamp can be passed as a string  which
102851                     will be resolved to a date using timelib.strtodatetime().
102852
102853              follow False  If  True,  this function will block until the con‐
102854                     tainer exits and  return  the  logs  when  it  does.  The
102855                     default  behavior  is to return what is in the log at the
102856                     time this function is executed.
102857
102858              CLI Examples:
102859
102860                 # All logs
102861                 salt myminion docker.logs mycontainer
102862                 # Last 100 lines of log
102863                 salt myminion docker.logs mycontainer tail=100
102864                 # Just stderr
102865                 salt myminion docker.logs mycontainer stdout=False
102866                 # Logs since a specific UNIX timestamp
102867                 salt myminion docker.logs mycontainer since=1511688459
102868                 # Flexible format for "since" argument (requires timelib)
102869                 salt myminion docker.logs mycontainer since='1 hour ago'
102870                 salt myminion docker.logs mycontainer since='1 week ago'
102871                 salt myminion docker.logs mycontainer since='1 fortnight ago'
102872
102873       salt.modules.dockermod.networks(names=None, ids=None)
102874              Changed in version 2017.7.0: The names and ids can be passed  as
102875              a comma-separated list now, as well as a Python list.
102876
102877
102878              Changed in version 2018.3.0: The Containers key for each network
102879              is no longer always empty.
102880
102881
102882              List existing networks
102883
102884              names  Filter by name
102885
102886              ids    Filter by id
102887
102888              CLI Example:
102889
102890                 salt myminion docker.networks names=network-web
102891                 salt myminion docker.networks ids=1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
102892
102893       salt.modules.dockermod.pause(*args, **kwargs)
102894              Pauses a container
102895
102896              name   Container name or ID
102897
102898              RETURN DATA
102899
102900              A dictionary will be returned, containing the following keys:
102901
102902              · status - A dictionary showing the prior state of the container
102903                as well as the new state
102904
102905              · result  -  A boolean noting whether or not the action was suc‐
102906                cessful
102907
102908              · comment - Only present if the container cannot be paused
102909
102910              CLI Example:
102911
102912                 salt myminion docker.pause mycontainer
102913
102914       salt.modules.dockermod.pid(name)
102915              Returns the PID of a container
102916
102917              name   Container name or ID
102918
102919              CLI Example:
102920
102921                 salt myminion docker.pid mycontainer
102922                 salt myminion docker.pid 0123456789ab
102923
102924       salt.modules.dockermod.port(name, private_port=None)
102925              Returns port mapping information for a given container.  Equiva‐
102926              lent to running the docker port Docker CLI command.
102927
102928              name   Container name or ID
102929
102930                     Changed in version 2019.2.0: This value can now be a pat‐
102931                     tern expression (using  the  pattern-matching  characters
102932                     defined  in  fnmatch).  If  a pattern expression is used,
102933                     this function will return a dictionary mapping  container
102934                     names  which  match the pattern to the mappings for those
102935                     containers. When no pattern expression is used, a dictio‐
102936                     nary  of  the  mappings  for the specified container name
102937                     will be returned.
102938
102939
102940              private_port
102941                     None If specified,  get  information  for  that  specific
102942                     port.  Can  be  specified  either  as a port number (i.e.
102943                     5000), or as  a  port  number  plus  the  protocol  (i.e.
102944                     5000/udp).
102945
102946                     If  this  argument  is omitted, all port mappings will be
102947                     returned.
102948
102949              RETURN DATA
102950
102951              A dictionary of port mappings, with the keys being the port  and
102952              the values being the mapping(s) for that port.
102953
102954              CLI Examples:
102955
102956                 salt myminion docker.port mycontainer
102957                 salt myminion docker.port mycontainer 5000
102958                 salt myminion docker.port mycontainer 5000/udp
102959
102960       salt.modules.dockermod.prune(containers=False,          networks=False,
102961       images=False, build=False, volumes=False, system=None, **filters)
102962              New in version 2019.2.0.
102963
102964
102965              Prune Docker's various subsystems
102966
102967              NOTE:
102968                 This requires docker-py version 2.1.0 or later.
102969
102970              containers
102971                     False If True, prunes stopped containers (documentation)
102972
102973              images False If True, prunes unused images (documentation)
102974
102975              networks
102976                     False  If  False,   prunes   unreferenced   networks   (‐
102977                     documentation)
102978
102979              build  False If True, clears the builder cache
102980
102981                     NOTE:
102982                        Only  supported in Docker 17.07.x and newer. Addition‐
102983                        ally, filters do not apply to this argument.
102984
102985              volumes
102986                     False   If   True,   prunes   unreferenced   volumes   (‐
102987                     documentation)
102988
102989              system If True, prunes containers, images, networks, and builder
102990                     cache.  Assumed to be True if none of containers, images,
102991                     networks, or build are set to True.
102992
102993                     NOTE:
102994                        volumes=True must still be used to prune volumes
102995
102996              filters
102997
102998                     · dangling=True  (images  only)  -  remove  only dangling
102999                       images
103000
103001                     · until=<timestamp> - only remove objects created  before
103002                       given  timestamp.  Not  applicable  to volumes. See the
103003                       documentation links above for examples  of  valid  time
103004                       expressions.
103005
103006                     · label  - only remove objects matching the label expres‐
103007                       sion. Valid expressions  include  labelname  or  label‐
103008                       name=value.
103009
103010              CLI Examples:
103011
103012                 salt myminion docker.prune system=True
103013                 salt myminion docker.prune system=True until=12h
103014                 salt myminion docker.prune images=True dangling=True
103015                 salt myminion docker.prune images=True label=foo,bar=baz
103016
103017       salt.modules.dockermod.ps_(filters=None, **kwargs)
103018              Returns  information  about the Docker containers on the Minion.
103019              Equivalent to running the docker ps Docker CLI command.
103020
103021              all    False If True, stopped containers will also be returned
103022
103023              host: False
103024                     If True, local host's network topology will be included
103025
103026              verbose
103027                     False If True, a docker inspect will be run on each  con‐
103028                     tainer returned.
103029
103030              filters: None
103031                     A  dictionary of filters to be processed on the container
103032                     list.  Available filters:
103033
103034                        · exited (int): Only containers  with  specified  exit
103035                          code
103036
103037                        · status  (str):  One  of restarting, running, paused,
103038                          exited
103039
103040                        · label (str): format either "key" or "key=value"
103041
103042              RETURN DATA
103043
103044              A dictionary with each key being an container ID, and each value
103045              some general info about that container (time created, name, com‐
103046              mand, etc.)
103047
103048              CLI Example:
103049
103050                 salt myminion docker.ps
103051                 salt myminion docker.ps all=True
103052                 salt myminion docker.ps filters="{'label': 'role=web'}"
103053
103054       salt.modules.dockermod.pull(image,             insecure_registry=False,
103055       api_response=False, client_timeout=60)
103056              Changed in version 2018.3.0: If no tag is specified in the image
103057              argument, all tags for the image will be pulled. For this reason
103058              is it recommended to pass image using the repo:tag notation.
103059
103060
103061              Pulls an image from a Docker registry
103062
103063              image  Image to be pulled
103064
103065              insecure_registry
103066                     False  If  True, the Docker client will permit the use of
103067                     insecure (non-HTTPS) registries.
103068
103069              api_response
103070                     False If True, an API_Response key will be present in the
103071                     return  data,  containing  the raw output from the Docker
103072                     API.
103073
103074                     NOTE:
103075                        This may result in a lot of  additional  return  data,
103076                        especially for larger images.
103077
103078              client_timeout
103079                     Timeout  in  seconds for the Docker client. This is not a
103080                     timeout for this function, but for receiving  a  response
103081                     from the API.
103082
103083              RETURN DATA
103084
103085              A dictionary will be returned, containing the following keys:
103086
103087              ·
103088
103089                Layers  - A dictionary containing one or more of the following
103090                keys:
103091
103092                       · Already_Pulled  -  Layers  that  that  were   already
103093                         present on the Minion
103094
103095                       · Pulled - Layers that that were pulled
103096
103097              · Status  -  A  string  containing  a summary of the pull action
103098                (usually a message saying that an  image  was  downloaded,  or
103099                that it was up to date).
103100
103101              · Time_Elapsed - Time in seconds taken to perform the pull
103102
103103              CLI Example:
103104
103105                 salt myminion docker.pull centos
103106                 salt myminion docker.pull centos:6
103107
103108       salt.modules.dockermod.push(image,             insecure_registry=False,
103109       api_response=False, client_timeout=60)
103110              Changed in version 2015.8.4: The Id and Image keys are no longer
103111              present  in  the  return  data.   This  is due to changes in the
103112              Docker Remote API.
103113
103114
103115              Pushes an image to a Docker registry. See the  documentation  at
103116              top of this page to configure authentication credentials.
103117
103118              image  Image  to  be  pushed.  If  just  the  repository name is
103119                     passed, then all tagged images  for  the  specified  repo
103120                     will  be  pushed. If the image name is passed in repo:tag
103121                     notation, only the specified image will be pushed.
103122
103123              insecure_registry
103124                     False If True, the Docker client will permit the  use  of
103125                     insecure (non-HTTPS) registries.
103126
103127              api_response
103128                     False If True, an API_Response key will be present in the
103129                     return data, containing the raw output  from  the  Docker
103130                     API.
103131
103132              client_timeout
103133                     Timeout  in  seconds for the Docker client. This is not a
103134                     timeout for this function, but for receiving  a  response
103135                     from the API.
103136
103137              RETURN DATA
103138
103139              A dictionary will be returned, containing the following keys:
103140
103141              ·
103142
103143                Layers  - A dictionary containing one or more of the following
103144                keys:
103145
103146                       · Already_Pushed  -  Layers  that  that  were   already
103147                         present on the Minion
103148
103149                       · Pushed - Layers that that were pushed
103150
103151              · Time_Elapsed - Time in seconds taken to perform the push
103152
103153              CLI Example:
103154
103155                 salt myminion docker.push myuser/mycontainer
103156                 salt myminion docker.push myuser/mycontainer:mytag
103157
103158       salt.modules.dockermod.remove_network(network_id)
103159              Remove a network
103160
103161              network_id
103162                     Network name or ID
103163
103164              CLI Examples:
103165
103166                 salt myminion docker.remove_network mynet
103167                 salt myminion docker.remove_network 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
103168
103169       salt.modules.dockermod.remove_volume(name)
103170              Remove a volume
103171
103172              New in version 2015.8.4.
103173
103174
103175              name   Name of volume
103176
103177              CLI Example:
103178
103179                 salt myminion docker.remove_volume my_volume
103180
103181       salt.modules.dockermod.rename(name, new_name)
103182              New in version 2017.7.0.
103183
103184
103185              Renames  a  container. Returns True if successful, and raises an
103186              error if the API  returns  one.  If  unsuccessful  and  the  API
103187              returns  no  error  (should  not  happen),  then  False  will be
103188              returned.
103189
103190              name   Name or ID of existing container
103191
103192              new_name
103193                     New name to assign to container
103194
103195              CLI Example:
103196
103197                 salt myminion docker.rename foo bar
103198
103199       salt.modules.dockermod.resolve_image_id(name)
103200              New in version 2018.3.0.
103201
103202
103203              Given an image name (or partial image ID), return the full image
103204              ID.  If  no match is found among the locally-pulled images, then
103205              False will be returned.
103206
103207              CLI Examples:
103208
103209                 salt myminion docker.resolve_image_id foo
103210                 salt myminion docker.resolve_image_id foo:bar
103211                 salt myminion docker.resolve_image_id 36540f359ca3
103212
103213       salt.modules.dockermod.resolve_tag(name, **kwargs)
103214              New in version 2017.7.2.
103215
103216
103217              Changed in version 2018.3.0: Instead of matching against  pulled
103218              tags  using  docker.list_tags, this function now simply inspects
103219              the passed image name using docker.inspect_image and returns the
103220              first matching tag. If no matching tags are found, it is assumed
103221              that the passed image is an untagged image ID, and the  full  ID
103222              is returned.
103223
103224
103225              Inspects the specified image name and returns the first matching
103226              tag in the inspect results. If the specified image is not pulled
103227              locally, this function will return False.
103228
103229              name   Image  name  to  resolve. If the image is found but there
103230                     are no tags, this means that the image name passed was an
103231                     untagged  image.  In  this  case  the  image  ID  will be
103232                     returned.
103233
103234              all    False If True, a  list  of  all  matching  tags  will  be
103235                     returned.  If  the  image is found but there are no tags,
103236                     then a list will still be returned, but  it  will  simply
103237                     contain the image ID.
103238
103239                     New in version 2018.3.0.
103240
103241
103242              tags   Deprecated since version 2018.3.0.
103243
103244
103245              CLI Examples:
103246
103247                 salt myminion docker.resolve_tag busybox
103248                 salt myminion docker.resolve_tag centos:7 all=True
103249                 salt myminion docker.resolve_tag c9f378ac27d9
103250
103251       salt.modules.dockermod.restart(name, timeout=10)
103252              Restarts a container
103253
103254              name   Container name or ID
103255
103256              timeout
103257                     10  Timeout  in seconds after which the container will be
103258                     killed (if it has not yet gracefully shut down)
103259
103260              RETURN DATA
103261
103262              A dictionary will be returned, containing the following keys:
103263
103264              · status - A dictionary showing the prior state of the container
103265                as well as the new state
103266
103267              · result  -  A boolean noting whether or not the action was suc‐
103268                cessful
103269
103270              · restarted - If  restart  was  successful,  this  key  will  be
103271                present and will be set to True.
103272
103273              CLI Examples:
103274
103275                 salt myminion docker.restart mycontainer
103276                 salt myminion docker.restart mycontainer timeout=20
103277
103278       salt.modules.dockermod.retcode(name, cmd, exec_driver=None, stdin=None,
103279       python_shell=True, output_loglevel='debug',  use_vt=False,  ignore_ret‐
103280       code=False, keep_env=None)
103281              Run cmd.retcode within a container
103282
103283              name   Container name or ID in which to run the command
103284
103285              cmd    Command to run
103286
103287              exec_driver
103288                     None If not passed, the execution driver will be detected
103289                     as described above.
103290
103291              stdin  None Standard input to be used for the command
103292
103293              output_loglevel
103294                     debug Level at which to log the output from the  command.
103295                     Set to quiet to suppress logging.
103296
103297              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
103298                     sole.
103299
103300              keep_env
103301                     None If not passed, only a sane default PATH  environment
103302                     variable  will be set. If True, all environment variables
103303                     from the container's host  will  be  kept.  Otherwise,  a
103304                     comma-separated  list  (or  Python  list)  of environment
103305                     variable names can be passed, and those environment vari‐
103306                     ables will be kept.
103307
103308              CLI Example:
103309
103310                 salt myminion docker.retcode mycontainer 'ls -l /etc'
103311
103312       salt.modules.dockermod.rm_(*args, **kwargs)
103313              Removes a container
103314
103315              name   Container name or ID
103316
103317              force  False  If True, the container will be killed first before
103318                     removal, as the Docker API will not permit a running con‐
103319                     tainer  to  be  removed.  This  option is set to False by
103320                     default to prevent accidental removal of a  running  con‐
103321                     tainer.
103322
103323              stop   False If True, the container will be stopped first before
103324                     removal, as the Docker API will not permit a running con‐
103325                     tainer  to  be  removed.  This  option is set to False by
103326                     default to prevent accidental removal of a  running  con‐
103327                     tainer.
103328
103329                     New in version 2017.7.0.
103330
103331
103332              timeout
103333                     Optional  timeout to be passed to docker.stop if stopping
103334                     the container.
103335
103336                     New in version 2018.3.0.
103337
103338
103339              volumes
103340                     False Also remove volumes associated with container
103341
103342              RETURN DATA
103343
103344              A list of the IDs of containers which were removed
103345
103346              CLI Example:
103347
103348                 salt myminion docker.rm mycontainer
103349                 salt myminion docker.rm mycontainer force=True
103350
103351       salt.modules.dockermod.rmi(*names, **kwargs)
103352              Removes an image
103353
103354              name   Name (in repo:tag notation) or ID of image.
103355
103356              force  False If True, the image will be removed even if the Min‐
103357                     ion has containers created from that image
103358
103359              prune  True  If  True,  untagged  parent  image  layers  will be
103360                     removed as well, set this to False to keep them.
103361
103362              RETURN DATA
103363
103364              A dictionary will be  returned,  containing  the  following  two
103365              keys:
103366
103367              · Layers - A list of the IDs of image layers that were removed
103368
103369              · Tags - A list of the tags that were removed
103370
103371              · Errors - A list of any errors that were encountered
103372
103373              CLI Examples:
103374
103375                 salt myminion docker.rmi busybox
103376                 salt myminion docker.rmi busybox force=True
103377                 salt myminion docker.rmi foo bar baz
103378
103379       salt.modules.dockermod.run(name,   cmd,  exec_driver=None,  stdin=None,
103380       python_shell=True, output_loglevel='debug',  use_vt=False,  ignore_ret‐
103381       code=False, keep_env=None)
103382              Run cmd.run within a container
103383
103384              name   Container name or ID in which to run the command
103385
103386              cmd    Command to run
103387
103388              exec_driver
103389                     None If not passed, the execution driver will be detected
103390                     as described above.
103391
103392              stdin  None Standard input to be used for the command
103393
103394              output_loglevel
103395                     debug Level at which to log the output from the  command.
103396                     Set to quiet to suppress logging.
103397
103398              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
103399                     sole.
103400
103401              keep_env
103402                     None If not passed, only a sane default PATH  environment
103403                     variable  will be set. If True, all environment variables
103404                     from the container's host  will  be  kept.  Otherwise,  a
103405                     comma-separated  list  (or  Python  list)  of environment
103406                     variable names can be passed, and those environment vari‐
103407                     ables will be kept.
103408
103409              CLI Example:
103410
103411                 salt myminion docker.run mycontainer 'ls -l /etc'
103412
103413       salt.modules.dockermod.run_all(name, cmd, exec_driver=None, stdin=None,
103414       python_shell=True, output_loglevel='debug',  use_vt=False,  ignore_ret‐
103415       code=False, keep_env=None)
103416              Run cmd.run_all within a container
103417
103418              NOTE:
103419                 While  the  command is run within the container, it is initi‐
103420                 ated from the host. Therefore, the PID in the return dict  is
103421                 from the host, not from the container.
103422
103423              name   Container name or ID in which to run the command
103424
103425              cmd    Command to run
103426
103427              exec_driver
103428                     None If not passed, the execution driver will be detected
103429                     as described above.
103430
103431              stdin  None Standard input to be used for the command
103432
103433              output_loglevel
103434                     debug Level at which to log the output from the  command.
103435                     Set to quiet to suppress logging.
103436
103437              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
103438                     sole.
103439
103440              keep_env
103441                     None If not passed, only a sane default PATH  environment
103442                     variable  will be set. If True, all environment variables
103443                     from the container's host  will  be  kept.  Otherwise,  a
103444                     comma-separated  list  (or  Python  list)  of environment
103445                     variable names can be passed, and those environment vari‐
103446                     ables will be kept.
103447
103448              CLI Example:
103449
103450                 salt myminion docker.run_all mycontainer 'ls -l /etc'
103451
103452       salt.modules.dockermod.run_container(*args, **kwargs)
103453              New in version 2018.3.0.
103454
103455
103456              Equivalent  to docker run on the Docker CLI. Runs the container,
103457              waits for it to exit, and returns the container's logs when com‐
103458              plete.
103459
103460              NOTE:
103461                 Not   to  be  confused  with  docker.run,  which  provides  a
103462                 cmd.run-like interface for executing commands  in  a  running
103463                 container.
103464
103465              This  function accepts the same arguments as docker.create, with
103466              the exception of start. In addition, it  accepts  the  arguments
103467              from  docker.logs,  with the exception of follow, to control how
103468              logs are returned. Finally, the bg argument described below  can
103469              be  used  to optionally run the container in the background (the
103470              default behavior is to block until the container exits).
103471
103472              bg     False If True, this function will not wait for  the  con‐
103473                     tainer to exit and will not return its logs. It will how‐
103474                     ever return the container's name  and  ID,  allowing  for
103475                     docker.logs to be used to view the logs.
103476
103477                     NOTE:
103478                        The logs will be inaccessible once the container exits
103479                        if auto_remove is set to True, so keep this in mind.
103480
103481              replace
103482                     False If True, and if the named container already exists,
103483                     this  will  remove  the  existing  container. The default
103484                     behavior is to return a False result when  the  container
103485                     already exists.
103486
103487              force  False  If  True,  and the named container already exists,
103488                     and replace is also set to True, then the container  will
103489                     be  forcibly removed.  Otherwise, the state will not pro‐
103490                     ceed and will return a False result.
103491
103492              networks
103493                     Networks to which the container should be  connected.  If
103494                     automatic  IP  configuration  is being used, the networks
103495                     can be a simple list of network names. If custom IP  con‐
103496                     figuration  is  being  used,  then  this argument must be
103497                     passed as a dictionary.
103498
103499              CLI Examples:
103500
103501                 salt myminion docker.run_container myuser/myimage command=/usr/local/bin/myscript.sh
103502                 # Run container in the background
103503                 salt myminion docker.run_container myuser/myimage command=/usr/local/bin/myscript.sh bg=True
103504                 # Connecting to two networks using automatic IP configuration
103505                 salt myminion docker.run_container myuser/myimage command='perl /scripts/sync.py' networks=net1,net2
103506                 # net1 using automatic IP, net2 using static IPv4 address
103507                 salt myminion docker.run_container myuser/myimage command='perl /scripts/sync.py' networks='{"net1": {}, "net2": {"ipv4_address": "192.168.27.12"}}'
103508
103509       salt.modules.dockermod.run_stderr(name,     cmd,      exec_driver=None,
103510       stdin=None,  python_shell=True,  output_loglevel='debug', use_vt=False,
103511       ignore_retcode=False, keep_env=None)
103512              Run cmd.run_stderr within a container
103513
103514              name   Container name or ID in which to run the command
103515
103516              cmd    Command to run
103517
103518              exec_driver
103519                     None If not passed, the execution driver will be detected
103520                     as described above.
103521
103522              stdin  None Standard input to be used for the command
103523
103524              output_loglevel
103525                     debug  Level at which to log the output from the command.
103526                     Set to quiet to suppress logging.
103527
103528              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
103529                     sole.
103530
103531              keep_env
103532                     None  If not passed, only a sane default PATH environment
103533                     variable will be set. If True, all environment  variables
103534                     from  the  container's  host  will  be kept. Otherwise, a
103535                     comma-separated list  (or  Python  list)  of  environment
103536                     variable names can be passed, and those environment vari‐
103537                     ables will be kept.
103538
103539              CLI Example:
103540
103541                 salt myminion docker.run_stderr mycontainer 'ls -l /etc'
103542
103543       salt.modules.dockermod.run_stdout(name,     cmd,      exec_driver=None,
103544       stdin=None,  python_shell=True,  output_loglevel='debug', use_vt=False,
103545       ignore_retcode=False, keep_env=None)
103546              Run cmd.run_stdout within a container
103547
103548              name   Container name or ID in which to run the command
103549
103550              cmd    Command to run
103551
103552              exec_driver
103553                     None If not passed, the execution driver will be detected
103554                     as described above.
103555
103556              stdin  None Standard input to be used for the command
103557
103558              output_loglevel
103559                     debug  Level at which to log the output from the command.
103560                     Set to quiet to suppress logging.
103561
103562              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
103563                     sole.
103564
103565              keep_env
103566                     None  If not passed, only a sane default PATH environment
103567                     variable will be set. If True, all environment  variables
103568                     from  the  container's  host  will  be kept. Otherwise, a
103569                     comma-separated list  (or  Python  list)  of  environment
103570                     variable names can be passed, and those environment vari‐
103571                     ables will be kept.
103572
103573              CLI Example:
103574
103575                 salt myminion docker.run_stdout mycontainer 'ls -l /etc'
103576
103577       salt.modules.dockermod.save(name,        path,         overwrite=False,
103578       makedirs=False, compression=None, **kwargs)
103579              Saves  an  image and to a file on the minion. Equivalent to run‐
103580              ning the docker save Docker CLI command, but unlike docker  save
103581              this will also work on named images instead of just images IDs.
103582
103583              name   Name  or ID of image. Specify a specific tag by using the
103584                     repo:tag notation.
103585
103586              path   Absolute path on the  Minion  where  the  image  will  be
103587                     exported
103588
103589              overwrite
103590                     False Unless this option is set to True, then if the des‐
103591                     tination file exists an error will be raised.
103592
103593              makedirs
103594                     False If True, then if the parent directory of  the  file
103595                     specified  by the path argument does not exist, Salt will
103596                     attempt to create it.
103597
103598              compression
103599                     None Can be set to any of the following:
103600
103601                     · gzip or gz for gzip compression
103602
103603                     · bzip2 or bz2 for bzip2 compression
103604
103605                     · xz or lzma for XZ compression  (requires  xz-utils,  as
103606                       well  as  the lzma module from Python 3.3, available in
103607                       Python 2 and Python 3.0-3.2 as backports.lzma)
103608
103609                     This parameter can be omitted and Salt  will  attempt  to
103610                     determine  the compression type by examining the filename
103611                     passed in the path parameter.
103612
103613                     NOTE:
103614                        Since the Docker API does  not  support  docker  save,
103615                        compression  will  be  a bit slower with this function
103616                        than with docker.export since the image(s) will  first
103617                        be saved and then the compression done afterwards.
103618
103619              push   False If True, the container will be pushed to the master
103620                     using cp.push.
103621
103622                     NOTE:
103623                        This requires file_recv to be set to True on the  Mas‐
103624                        ter.
103625
103626              RETURN DATA
103627
103628              A dictionary will be returned, containing the following keys:
103629
103630              · Path - Path of the file that was saved
103631
103632              · Push - Reports whether or not the file was successfully pushed
103633                to the Master
103634
103635                (Only present if push=True)
103636
103637              · Size - Size of the file, in bytes
103638
103639              · Size_Human - Size of the file, in human-readable units
103640
103641              · Time_Elapsed - Time in seconds taken to perform the save
103642
103643              CLI Examples:
103644
103645                 salt myminion docker.save centos:7 /tmp/cent7.tar
103646                 salt myminion docker.save 0123456789ab cdef01234567 /tmp/saved.tar
103647
103648       salt.modules.dockermod.script(name, source, saltenv='base',  args=None,
103649       template=None,  exec_driver=None,  stdin=None,  python_shell=True, out‐
103650       put_loglevel='debug',        ignore_retcode=False,        use_vt=False,
103651       keep_env=None)
103652              Run cmd.script within a container
103653
103654              NOTE:
103655                 While  the  command is run within the container, it is initi‐
103656                 ated from the host. Therefore, the PID in the return dict  is
103657                 from the host, not from the container.
103658
103659              name   Container name or ID
103660
103661              source Path  to the script. Can be a local path on the Minion or
103662                     a remote file from the Salt fileserver.
103663
103664              args   A string containing additional  command-line  options  to
103665                     pass to the script.
103666
103667              template
103668                     None  Templating  engine to use on the script before run‐
103669                     ning.
103670
103671              exec_driver
103672                     None If not passed, the execution driver will be detected
103673                     as described above.
103674
103675              stdin  None Standard input to be used for the script
103676
103677              output_loglevel
103678                     debug  Level  at which to log the output from the script.
103679                     Set to quiet to suppress logging.
103680
103681              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
103682                     sole.
103683
103684              keep_env
103685                     None  If not passed, only a sane default PATH environment
103686                     variable will be set. If True, all environment  variables
103687                     from  the  container's  host  will  be kept. Otherwise, a
103688                     comma-separated list  (or  Python  list)  of  environment
103689                     variable names can be passed, and those environment vari‐
103690                     ables will be kept.
103691
103692              CLI Example:
103693
103694                 salt myminion docker.script mycontainer salt://docker_script.py
103695                 salt myminion docker.script mycontainer salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
103696                 salt myminion docker.script mycontainer salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n' output_loglevel=quiet
103697
103698       salt.modules.dockermod.script_retcode(name,   source,   saltenv='base',
103699       args=None,       template=None,      exec_driver=None,      stdin=None,
103700       python_shell=True,    output_loglevel='debug',    ignore_retcode=False,
103701       use_vt=False, keep_env=None)
103702              Run cmd.script_retcode within a container
103703
103704              name   Container name or ID
103705
103706              source Path  to the script. Can be a local path on the Minion or
103707                     a remote file from the Salt fileserver.
103708
103709              args   A string containing additional  command-line  options  to
103710                     pass to the script.
103711
103712              template
103713                     None  Templating  engine to use on the script before run‐
103714                     ning.
103715
103716              exec_driver
103717                     None If not passed, the execution driver will be detected
103718                     as described above.
103719
103720              stdin  None Standard input to be used for the script
103721
103722              output_loglevel
103723                     debug  Level  at which to log the output from the script.
103724                     Set to quiet to suppress logging.
103725
103726              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
103727                     sole.
103728
103729              keep_env
103730                     None  If not passed, only a sane default PATH environment
103731                     variable will be set. If True, all environment  variables
103732                     from  the  container's  host  will  be kept. Otherwise, a
103733                     comma-separated list  (or  Python  list)  of  environment
103734                     variable names can be passed, and those environment vari‐
103735                     ables will be kept.
103736
103737              CLI Example:
103738
103739                 salt myminion docker.script_retcode mycontainer salt://docker_script.py
103740                 salt myminion docker.script_retcode mycontainer salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
103741                 salt myminion docker.script_retcode mycontainer salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n' output_loglevel=quiet
103742
103743       salt.modules.dockermod.search(name, official=False, trusted=False)
103744              Searches the registry for an image
103745
103746              name   Search keyword
103747
103748              official
103749                     False Limit results to official builds
103750
103751              trusted
103752                     False Limit results to trusted builds
103753
103754              RETURN DATA
103755
103756              A dictionary with each key being the name of an image,  and  the
103757              following information for each image:
103758
103759              · Description - Image description
103760
103761              · Official - A boolean (True if an official build, False if not)
103762
103763              · Stars - Number of stars the image has on the registry
103764
103765              · Trusted - A boolean (True if a trusted build, False if not)
103766
103767              CLI Example:
103768
103769                 salt myminion docker.search centos
103770                 salt myminion docker.search centos official=True
103771
103772       salt.modules.dockermod.signal_(*args, **kwargs)
103773              Send  a  signal to a container. Signals can be either strings or
103774              numbers, and are defined in the Standard Signals section of  the
103775              signal(7)  manpage.  Run  man 7 signal on a Linux host to browse
103776              this manpage.
103777
103778              name   Container name or ID
103779
103780              signal Signal to send to container
103781
103782              RETURN DATA
103783
103784              If the signal was successfully sent, True will be returned. Oth‐
103785              erwise, an error will be raised.
103786
103787              CLI Example:
103788
103789                 salt myminion docker.signal mycontainer SIGHUP
103790
103791       salt.modules.dockermod.sls(name, mods=None, **kwargs)
103792              Apply  the  states  defined  by the specified SLS modules to the
103793              running container
103794
103795              New in version 2016.11.0.
103796
103797
103798              The container does not need to have Salt installed,  but  Python
103799              is required.
103800
103801              name   Container name or ID
103802
103803              mods   None A string containing comma-separated list of SLS with
103804                     defined states to apply to the container.
103805
103806              saltenv
103807                     base Specify the environment from which to  retrieve  the
103808                     SLS indicated by the mods parameter.
103809
103810              pillarenv
103811                     Specify  a  Pillar  environment  to be used when applying
103812                     states. This can also be set in the  minion  config  file
103813                     using  the  pillarenv  option. When neither the pillarenv
103814                     minion config option nor this CLI argument is  used,  all
103815                     Pillar environments will be merged together.
103816
103817                     New in version 2018.3.0.
103818
103819
103820              pillar Custom Pillar values, passed as a dictionary of key-value
103821                     pairs
103822
103823                     NOTE:
103824                        Values passed this way will override Pillar values set
103825                        via pillar_roots or an external Pillar source.
103826
103827                     New in version 2018.3.0.
103828
103829
103830              CLI Example:
103831
103832                 salt myminion docker.sls compassionate_mirzakhani mods=rails,web
103833
103834       salt.modules.dockermod.sls_build(repository,  tag='latest', base='open‐
103835       suse/python', mods=None, dryrun=False, **kwargs)
103836              Changed in version 2018.3.0: The repository and tag must now  be
103837              passed separately using the repository and tag arguments, rather
103838              than together in the (now deprecated) image argument.
103839
103840
103841              Build a Docker image using the specified SLS modules on  top  of
103842              base image
103843
103844              New in version 2016.11.0.
103845
103846
103847              The  base image does not need to have Salt installed, but Python
103848              is required.
103849
103850              repository
103851                     Repository name for the image to be built
103852
103853                     New in version 2018.3.0.
103854
103855
103856              tag    latest Tag name for the image to be built
103857
103858                     New in version 2018.3.0.
103859
103860
103861              name   Deprecated since version 2018.3.0:  Use  both  repository
103862                     and tag instead
103863
103864
103865              base   opensuse/python Name or ID of the base image
103866
103867              mods   A  string  containing  comma-separated  list  of SLS with
103868                     defined states to apply to the base image.
103869
103870              saltenv
103871                     base Specify the environment from which to  retrieve  the
103872                     SLS indicated by the mods parameter.
103873
103874              pillarenv
103875                     Specify  a  Pillar  environment  to be used when applying
103876                     states. This can also be set in the  minion  config  file
103877                     using  the  pillarenv  option. When neither the pillarenv
103878                     minion config option nor this CLI argument is  used,  all
103879                     Pillar environments will be merged together.
103880
103881                     New in version 2018.3.0.
103882
103883
103884              pillar Custom Pillar values, passed as a dictionary of key-value
103885                     pairs
103886
103887                     NOTE:
103888                        Values passed this way will override Pillar values set
103889                        via pillar_roots or an external Pillar source.
103890
103891                     New in version 2018.3.0.
103892
103893
103894              dryrun: False
103895                     when  set  to True the container will not be committed at
103896                     the end of the build. The dryrun succeed  also  when  the
103897                     state contains errors.
103898
103899              RETURN DATA
103900
103901              A  dictionary  with  the  ID  of the new container. In case of a
103902              dryrun, the state result is  returned  and  the  container  gets
103903              removed.
103904
103905              CLI Example:
103906
103907                 salt myminion docker.sls_build imgname base=mybase mods=rails,web
103908
103909       salt.modules.dockermod.start_(*args, **kwargs)
103910              Start a container
103911
103912              name   Container name or ID
103913
103914              RETURN DATA
103915
103916              A dictionary will be returned, containing the following keys:
103917
103918              · status - A dictionary showing the prior state of the container
103919                as well as the new state
103920
103921              · result - A boolean noting whether or not the action  was  suc‐
103922                cessful
103923
103924              · comment - Only present if the container cannot be started
103925
103926              CLI Example:
103927
103928                 salt myminion docker.start mycontainer
103929
103930       salt.modules.dockermod.state(name)
103931              Returns the state of the container
103932
103933              name   Container name or ID
103934
103935              RETURN DATA
103936
103937              A string representing the current state of the container (either
103938              running, paused, or stopped)
103939
103940              CLI Example:
103941
103942                 salt myminion docker.state mycontainer
103943
103944       salt.modules.dockermod.stop(*args, **kwargs)
103945              Stops a running container
103946
103947              name   Container name or ID
103948
103949              unpause
103950                     False If True and the container is  paused,  it  will  be
103951                     unpaused before attempting to stop the container.
103952
103953              timeout
103954                     Timeout  in  seconds  after  which  the container will be
103955                     killed (if it has not yet gracefully shut down)
103956
103957                     Changed in version 2017.7.0:  If  this  argument  is  not
103958                     passed,   then  the  container's  configuration  will  be
103959                     checked.  If  the  container  was   created   using   the
103960                     stop_timeout  argument,  then the configured timeout will
103961                     be used, otherwise the timeout will be 10 seconds.
103962
103963
103964              RETURN DATA
103965
103966              A dictionary will be returned, containing the following keys:
103967
103968              · status - A dictionary showing the prior state of the container
103969                as well as the new state
103970
103971              · result  -  A boolean noting whether or not the action was suc‐
103972                cessful
103973
103974              · comment - Only present if the container can not be stopped
103975
103976              CLI Examples:
103977
103978                 salt myminion docker.stop mycontainer
103979                 salt myminion docker.stop mycontainer unpause=True
103980                 salt myminion docker.stop mycontainer timeout=20
103981
103982       salt.modules.dockermod.tag_(name,       repository,       tag='latest',
103983       force=False)
103984              Changed  in version 2018.3.0: The repository and tag must now be
103985              passed separately using the repository and tag arguments, rather
103986              than together in the (now deprecated) image argument.
103987
103988
103989              Tag  an  image into a repository and return True. If the tag was
103990              unsuccessful, an error will be raised.
103991
103992              name   ID of image
103993
103994              repository
103995                     Repository name for the image to be built
103996
103997                     New in version 2018.3.0.
103998
103999
104000              tag    latest Tag name for the image to be built
104001
104002                     New in version 2018.3.0.
104003
104004
104005              image  Deprecated since version 2018.3.0:  Use  both  repository
104006                     and tag instead
104007
104008
104009              force  False Force apply tag
104010
104011              CLI Example:
104012
104013                 salt myminion docker.tag 0123456789ab myrepo/mycontainer mytag
104014
104015       salt.modules.dockermod.top(name)
104016              Runs the docker top command on a specific container
104017
104018              name   Container name or ID
104019
104020              CLI Example:
104021
104022              RETURN DATA
104023
104024              A list of dictionaries containing information about each process
104025
104026                 salt myminion docker.top mycontainer
104027                 salt myminion docker.top 0123456789ab
104028
104029       salt.modules.dockermod.unpause(*args, **kwargs)
104030              Unpauses a container
104031
104032              name   Container name or ID
104033
104034              RETURN DATA
104035
104036              A dictionary will be returned, containing the following keys:
104037
104038              · status - A dictionary showing the prior state of the container
104039                as well as the new state
104040
104041              · result - A boolean noting whether or not the action  was  suc‐
104042                cessful
104043
104044              · comment - Only present if the container can not be unpaused
104045
104046              CLI Example:
104047
104048                 salt myminion docker.pause mycontainer
104049
104050       salt.modules.dockermod.version()
104051              Returns  a  dictionary of Docker version information. Equivalent
104052              to running the docker version Docker CLI command.
104053
104054              CLI Example:
104055
104056                 salt myminion docker.version
104057
104058       salt.modules.dockermod.volumes(filters=None)
104059              List existing volumes
104060
104061              New in version 2015.8.4.
104062
104063
104064              filters
104065                     There is one available filter: dangling=true
104066
104067              CLI Example:
104068
104069                 salt myminion docker.volumes filters="{'dangling': True}"
104070
104071       salt.modules.dockermod.wait(name,         ignore_already_stopped=False,
104072       fail_on_exit_status=False)
104073              Wait  for  the container to exit gracefully, and return its exit
104074              code
104075
104076              NOTE:
104077                 This function will block until the container is stopped.
104078
104079              name   Container name or ID
104080
104081              ignore_already_stopped
104082                     Boolean flag that prevents execution to fail, if  a  con‐
104083                     tainer is already stopped.
104084
104085              fail_on_exit_status
104086                     Boolean  flag to report execution as failure if exit_sta‐
104087                     tus is different than 0.
104088
104089              RETURN DATA
104090
104091              A dictionary will be returned, containing the following keys:
104092
104093              · status - A dictionary showing the prior state of the container
104094                as well as the new state
104095
104096              · result  -  A boolean noting whether or not the action was suc‐
104097                cessful
104098
104099              · exit_status - Exit status for the container
104100
104101              · comment - Only present if the container is already stopped
104102
104103              CLI Example:
104104
104105                 salt myminion docker.wait mycontainer
104106
104107   salt.modules.dpkg_lowpkg
104108       Support for DEB packages
104109
104110       salt.modules.dpkg_lowpkg.bin_pkg_info(path, saltenv=u'base')
104111              New in version 2015.8.0.
104112
104113
104114              Parses RPM metadata and  returns  a  dictionary  of  information
104115              about the package (name, version, etc.).
104116
104117              path   Path  to  the  file.  Can either be an absolute path to a
104118                     file on the  minion,  or  a  salt  fileserver  URL  (e.g.
104119                     salt://path/to/file.rpm).   If  a  salt fileserver URL is
104120                     passed, the file will be cached to the minion so that  it
104121                     can be examined.
104122
104123              saltenv
104124                     base  Salt  fileserver envrionment from which to retrieve
104125                     the package. Ignored if path is a local file path on  the
104126                     minion.
104127
104128              CLI Example:
104129
104130                 salt '*' lowpkg.bin_pkg_info /root/foo-1.2.3-1ubuntu1_all.deb
104131                 salt '*' lowpkg.bin_pkg_info salt://foo-1.2.3-1ubuntu1_all.deb
104132
104133       salt.modules.dpkg_lowpkg.file_dict(*packages)
104134              List the files that belong to a package, grouped by package. Not
104135              specifying any packages will return a list of  _every_  file  on
104136              the system's package database (not generally recommended).
104137
104138              CLI Examples:
104139
104140                 salt '*' lowpkg.file_list httpd
104141                 salt '*' lowpkg.file_list httpd postfix
104142                 salt '*' lowpkg.file_list
104143
104144       salt.modules.dpkg_lowpkg.file_list(*packages)
104145              List  the  files  that  belong  to a package. Not specifying any
104146              packages will return a list of  _every_  file  on  the  system's
104147              package database (not generally recommended).
104148
104149              CLI Examples:
104150
104151                 salt '*' lowpkg.file_list httpd
104152                 salt '*' lowpkg.file_list httpd postfix
104153                 salt '*' lowpkg.file_list
104154
104155       salt.modules.dpkg_lowpkg.info(*packages, **kwargs)
104156              Returns  a  detailed summary of package information for provided
104157              package names.  If no packages are specified, all packages  will
104158              be returned.
104159
104160              New in version 2015.8.1.
104161
104162
104163              packages
104164                     The  names  of  the packages for which to return informa‐
104165                     tion.
104166
104167              failhard
104168                     Whether to throw an exception if none of the packages are
104169                     installed.  Defaults to True.
104170
104171                     New in version 2016.11.3.
104172
104173
104174              CLI example:
104175
104176                 salt '*' lowpkg.info
104177                 salt '*' lowpkg.info apache2 bash
104178                 salt '*' lowpkg.info 'php5*' failhard=false
104179
104180       salt.modules.dpkg_lowpkg.list_pkgs(*packages)
104181              List the packages currently installed in a dict:
104182
104183                 {'<package_name>': '<version>'}
104184
104185              External dependencies:
104186
104187                 Virtual package resolution requires aptitude. Because this function
104188                 uses dpkg, virtual packages will be reported as not installed.
104189
104190              CLI Example:
104191
104192                 salt '*' lowpkg.list_pkgs
104193                 salt '*' lowpkg.list_pkgs httpd
104194
104195       salt.modules.dpkg_lowpkg.unpurge(*packages)
104196              Change package selection for each package specified to 'install'
104197
104198              CLI Example:
104199
104200                 salt '*' lowpkg.unpurge curl
104201
104202   salt.modules.drac
104203       Manage Dell DRAC
104204
104205       salt.modules.drac.change_password(username, password, uid=None)
104206              Change users password
104207
104208              CLI Example:
104209
104210                 salt dell drac.change_password [USERNAME] [PASSWORD] [UID - optional]
104211                 salt dell drac.change_password diana secret
104212
104213       salt.modules.drac.create_user(username,      password,     permissions,
104214       users=None)
104215              Create user accounts
104216
104217              CLI Example:
104218
104219                 salt dell drac.create_user [USERNAME] [PASSWORD] [PRIVILEGES]
104220                 salt dell drac.create_user diana secret login,test_alerts,clear_logs
104221
104222              DRAC Privileges
104223
104224                     · login                   : Login to iDRAC
104225
104226                     · drac                    : Configure iDRAC
104227
104228                     · user_management         : Configure Users
104229
104230                     · clear_logs              : Clear Logs
104231
104232                     · server_control_commands : Execute Server  Control  Com‐
104233                       mands
104234
104235                     · console_redirection     : Access Console Redirection
104236
104237                     · virtual_media           : Access Virtual Media
104238
104239                     · test_alerts             : Test Alerts
104240
104241                     · debug_commands          : Execute Debug Commands
104242
104243       salt.modules.drac.delete_user(username, uid=None)
104244              Delete a user
104245
104246              CLI Example:
104247
104248                 salt dell drac.delete_user [USERNAME] [UID - optional]
104249                 salt dell drac.delete_user diana 4
104250
104251       salt.modules.drac.email_alerts(action)
104252              Enable/Disable email alerts
104253
104254              CLI Example:
104255
104256                 salt dell drac.email_alerts True
104257                 salt dell drac.email_alerts False
104258
104259       salt.modules.drac.list_users()
104260              List all DRAC users
104261
104262              CLI Example:
104263
104264                 salt dell drac.list_users
104265
104266       salt.modules.drac.nameservers(*ns)
104267              Configure the nameservers on the DRAC
104268
104269              CLI Example:
104270
104271                 salt dell drac.nameservers [NAMESERVERS]
104272                 salt dell drac.nameservers ns1.example.com ns2.example.com
104273
104274       salt.modules.drac.network_info()
104275              Return Network Configuration
104276
104277              CLI Example:
104278
104279                 salt dell drac.network_info
104280
104281       salt.modules.drac.server_hardreset()
104282              Performs a reset (reboot) operation on the managed server.
104283
104284              CLI Example:
104285
104286                 salt dell drac.server_hardreset
104287
104288       salt.modules.drac.server_poweroff()
104289              Powers down the managed server.
104290
104291              CLI Example:
104292
104293                 salt dell drac.server_poweroff
104294
104295       salt.modules.drac.server_poweron()
104296              Powers up the managed server.
104297
104298              CLI Example:
104299
104300                 salt dell drac.server_poweron
104301
104302       salt.modules.drac.server_pxe()
104303              Configure server to PXE perform a one off PXE boot
104304
104305              CLI Example:
104306
104307                 salt dell drac.server_pxe
104308
104309       salt.modules.drac.server_reboot()
104310              Issues  a  power-cycle  operation  on  the  managed server. This
104311              action is similar to pressing the power button on  the  system's
104312              front panel to power down and then power up the system.
104313
104314              CLI Example:
104315
104316                 salt dell drac.server_reboot
104317
104318       salt.modules.drac.set_network(ip, netmask, gateway)
104319              Configure Network
104320
104321              CLI Example:
104322
104323                 salt dell drac.set_network [DRAC IP] [NETMASK] [GATEWAY]
104324                 salt dell drac.set_network 192.168.0.2 255.255.255.0 192.168.0.1
104325
104326       salt.modules.drac.set_permissions(username, permissions, uid=None)
104327              Configure users permissions
104328
104329              CLI Example:
104330
104331                 salt dell drac.set_permissions [USERNAME] [PRIVILEGES] [USER INDEX - optional]
104332                 salt dell drac.set_permissions diana login,test_alerts,clear_logs 4
104333
104334              DRAC Privileges
104335
104336                     · login                   : Login to iDRAC
104337
104338                     · drac                    : Configure iDRAC
104339
104340                     · user_management         : Configure Users
104341
104342                     · clear_logs              : Clear Logs
104343
104344                     · server_control_commands  :  Execute Server Control Com‐
104345                       mands
104346
104347                     · console_redirection     : Access Console Redirection
104348
104349                     · virtual_media           : Access Virtual Media
104350
104351                     · test_alerts             : Test Alerts
104352
104353                     · debug_commands          : Execute Debug Commands
104354
104355       salt.modules.drac.set_snmp(community)
104356              Configure SNMP community string
104357
104358              CLI Example:
104359
104360                 salt dell drac.set_snmp [COMMUNITY]
104361                 salt dell drac.set_snmp public
104362
104363       salt.modules.drac.syslog(server, enable=True)
104364              Configure syslog remote logging, by default syslog will automat‐
104365              ically be enabled if a server is specified. However, if you want
104366              to disable syslog you will need to specify a server followed  by
104367              False
104368
104369              CLI Example:
104370
104371                 salt dell drac.syslog [SYSLOG IP] [ENABLE/DISABLE]
104372                 salt dell drac.syslog 0.0.0.0 False
104373
104374       salt.modules.drac.system_info()
104375              Return System information
104376
104377              CLI Example:
104378
104379                 salt dell drac.system_info
104380
104381   salt.modules.dracr
104382       Manage Dell DRAC.
104383
104384       New in version 2015.8.2.
104385
104386
104387       salt.modules.dracr.bare_rac_cmd(cmd,   host=None,  admin_username=None,
104388       admin_password=None)
104389
104390       salt.modules.dracr.change_password(username,    password,     uid=None,
104391       host=None, admin_username=None, admin_password=None, module=None)
104392              Change user's password
104393
104394              CLI Example:
104395
104396                 salt dell dracr.change_password [USERNAME] [PASSWORD] uid=[OPTIONAL]
104397                     host=<remote DRAC> admin_username=<DRAC user>
104398                     admin_password=<DRAC PW>
104399                 salt dell dracr.change_password diana secret
104400
104401              Note  that if only a username is specified then this module will
104402              look up details for all 16 possible DRAC users.   This  is  time
104403              consuming,  but might be necessary if one is not sure which user
104404              slot contains the one you want.  Many  late-model  Dell  chassis
104405              have  'root' as UID 1, so if you can depend on that then setting
104406              the password is much quicker.  Raises an error if  the  supplied
104407              password is greater than 20 chars.
104408
104409       salt.modules.dracr.create_user(username,     password,     permissions,
104410       users=None, host=None, admin_username=None, admin_password=None)
104411              Create user accounts
104412
104413              CLI Example:
104414
104415                 salt dell dracr.create_user [USERNAME] [PASSWORD] [PRIVILEGES]
104416                 salt dell dracr.create_user diana secret login,test_alerts,clear_logs
104417
104418              DRAC Privileges
104419
104420                     · login                   : Login to iDRAC
104421
104422                     · drac                    : Configure iDRAC
104423
104424                     · user_management         : Configure Users
104425
104426                     · clear_logs              : Clear Logs
104427
104428                     · server_control_commands : Execute Server  Control  Com‐
104429                       mands
104430
104431                     · console_redirection     : Access Console Redirection
104432
104433                     · virtual_media           : Access Virtual Media
104434
104435                     · test_alerts             : Test Alerts
104436
104437                     · debug_commands          : Execute Debug Commands
104438
104439       salt.modules.dracr.delete_user(username,      uid=None,      host=None,
104440       admin_username=None, admin_password=None)
104441              Delete a user
104442
104443              CLI Example:
104444
104445                 salt dell dracr.delete_user [USERNAME] [UID - optional]
104446                 salt dell dracr.delete_user diana 4
104447
104448       salt.modules.dracr.deploy_password(username,    password,    host=None,
104449       admin_username=None, admin_password=None, module=None)
104450              Change the QuickDeploy password, used for switches as well
104451
104452              CLI Example:
104453
104454                 salt dell dracr.deploy_password [USERNAME] [PASSWORD]
104455                     host=<remote DRAC> admin_username=<DRAC user>
104456                     admin_password=<DRAC PW>
104457                 salt dell dracr.change_password diana secret
104458
104459              Note  that if only a username is specified then this module will
104460              look up details for all 16 possible DRAC users.   This  is  time
104461              consuming,  but might be necessary if one is not sure which user
104462              slot contains the one you want.  Many  late-model  Dell  chassis
104463              have  'root' as UID 1, so if you can depend on that then setting
104464              the password is much quicker.
104465
104466       salt.modules.dracr.deploy_snmp(snmp,  host=None,   admin_username=None,
104467       admin_password=None, module=None)
104468              Change  the QuickDeploy SNMP community string, used for switches
104469              as well
104470
104471              CLI Example:
104472
104473                 salt dell dracr.deploy_snmp SNMP_STRING
104474                     host=<remote DRAC or CMC> admin_username=<DRAC user>
104475                     admin_password=<DRAC PW>
104476                 salt dell dracr.deploy_password diana secret
104477
104478       salt.modules.dracr.email_alerts(action, host=None, admin_username=None,
104479       admin_password=None)
104480              Enable/Disable email alerts
104481
104482              CLI Example:
104483
104484                 salt dell dracr.email_alerts True
104485                 salt dell dracr.email_alerts False
104486
104487       salt.modules.dracr.get_chassis_datacenter(host=None,        admin_user‐
104488       name=None, admin_password=None)
104489              Get the datacenter of the chassis.
104490
104491              host   The chassis host.
104492
104493              admin_username
104494                     The username used to access the chassis.
104495
104496              admin_password
104497                     The password used to access the chassis.
104498
104499              CLI Example:
104500
104501                 salt '*' dracr.set_chassis_location host=111.222.333.444
104502                    admin_username=root admin_password=secret
104503
104504       salt.modules.dracr.get_chassis_location(host=None, admin_username=None,
104505       admin_password=None)
104506              Get the location of the chassis.
104507
104508              host   The chassis host.
104509
104510              admin_username
104511                     The username used to access the chassis.
104512
104513              admin_password
104514                     The password used to access the chassis.
104515
104516              CLI Example:
104517
104518                 salt '*' dracr.set_chassis_location host=111.222.333.444
104519                    admin_username=root admin_password=secret
104520
104521       salt.modules.dracr.get_chassis_name(host=None,     admin_username=None,
104522       admin_password=None)
104523              Get the name of a chassis.
104524
104525              host   The chassis host.
104526
104527              admin_username
104528                     The username used to access the chassis.
104529
104530              admin_password
104531                     The password used to access the chassis.
104532
104533              CLI Example:
104534
104535                 salt '*' dracr.get_chassis_name host=111.222.333.444
104536                     admin_username=root admin_password=secret
104537
104538       salt.modules.dracr.get_dns_dracname(host=None,     admin_username=None,
104539       admin_password=None)
104540
104541       salt.modules.dracr.get_general(cfg_sec, cfg_var, host=None, admin_user‐
104542       name=None, admin_password=None)
104543
104544       salt.modules.dracr.get_slotname(slot,  host=None,  admin_username=None,
104545       admin_password=None)
104546              Get the name of a slot number in the chassis.
104547
104548              slot   The number of the slot for which to obtain the name.
104549
104550              host   The chassis host.
104551
104552              admin_username
104553                     The username used to access the chassis.
104554
104555              admin_password
104556                     The password used to access the chassis.
104557
104558              CLI Example:
104559
104560                 salt-call --local dracr.get_slotname 0 host=111.222.333.444
104561                    admin_username=root admin_password=secret
104562
104563       salt.modules.dracr.idrac_general(blade_name,    command,    idrac_pass‐
104564       word=None, host=None, admin_username=None, admin_password=None)
104565              Run a generic racadm command against a  particular  blade  in  a
104566              chassis.   Blades  are  usually  named  things  like 'server-1',
104567              'server-2', etc.  If the iDRAC has a different password than the
104568              CMC, then you can pass it with the idrac_password kwarg.
104569
104570              Parameters
104571
104572                     · blade_name -- Name of the blade to run the command on
104573
104574                     · command -- Command like to pass to racadm
104575
104576                     · idrac_password  --  Password for the iDRAC if different
104577                       from the CMC
104578
104579                     · host -- Chassis hostname
104580
104581                     · admin_username -- CMC username
104582
104583                     · admin_password -- CMC password
104584
104585              Returns
104586                     stdout  if  the  retcode  is  0,  otherwise  a   standard
104587                     cmd.run_all dictionary
104588
104589              CLI Example:
104590
104591                 salt fx2 chassis.cmd idrac_general server-1 'get BIOS.SysProfileSettings'
104592
104593       salt.modules.dracr.inventory(host=None,            admin_username=None,
104594       admin_password=None)
104595
104596       salt.modules.dracr.list_slotnames(host=None,       admin_username=None,
104597       admin_password=None)
104598              List the names of all slots in the chassis.
104599
104600              host   The chassis host.
104601
104602              admin_username
104603                     The username used to access the chassis.
104604
104605              admin_password
104606                     The password used to access the chassis.
104607
104608              CLI Example:
104609
104610                 salt-call --local dracr.list_slotnames host=111.222.333.444
104611                     admin_username=root admin_password=secret
104612
104613       salt.modules.dracr.list_users(host=None,           admin_username=None,
104614       admin_password=None, module=None)
104615              List all DRAC users
104616
104617              CLI Example:
104618
104619                 salt dell dracr.list_users
104620
104621       salt.modules.dracr.nameservers(ns,   host=None,    admin_username=None,
104622       admin_password=None, module=None)
104623              Configure the nameservers on the DRAC
104624
104625              CLI Example:
104626
104627                 salt dell dracr.nameservers [NAMESERVERS]
104628                 salt dell dracr.nameservers ns1.example.com ns2.example.com
104629                     admin_username=root admin_password=calvin module=server-1
104630                     host=192.168.1.1
104631
104632       salt.modules.dracr.network_info(host=None,         admin_username=None,
104633       admin_password=None, module=None)
104634              Return Network Configuration
104635
104636              CLI Example:
104637
104638                 salt dell dracr.network_info
104639
104640       salt.modules.dracr.server_hardreset(host=None,     admin_username=None,
104641       admin_password=None, module=None)
104642              Performs a reset (reboot) operation on the managed server.
104643
104644              host   The chassis host.
104645
104646              admin_username
104647                     The username used to access the chassis.
104648
104649              admin_password
104650                     The password used to access the chassis.
104651
104652              module The element to hard reset on the chassis such as a blade.
104653                     If not provided, the chassis will be reset.
104654
104655              CLI Example:
104656
104657                 salt dell dracr.server_hardreset
104658                 salt dell dracr.server_hardreset module=server-1
104659
104660       salt.modules.dracr.server_power(status, host=None, admin_username=None,
104661       admin_password=None, module=None)
104662
104663              status One of 'powerup', 'powerdown', 'powercycle', 'hardreset',
104664                     'graceshutdown'
104665
104666              host   The chassis host.
104667
104668              admin_username
104669                     The username used to access the chassis.
104670
104671              admin_password
104672                     The password used to access the chassis.
104673
104674              module The element to reboot on the chassis such as a blade.  If
104675                     not provided, the chassis will be rebooted.
104676
104677              CLI Example:
104678
104679                 salt dell dracr.server_reboot
104680                 salt dell dracr.server_reboot module=server-1
104681
104682       salt.modules.dracr.server_poweroff(host=None,      admin_username=None,
104683       admin_password=None, module=None)
104684              Powers down the managed server.
104685
104686              host   The chassis host.
104687
104688              admin_username
104689                     The username used to access the chassis.
104690
104691              admin_password
104692                     The password used to access the chassis.
104693
104694              module The element to power off on the chassis such as a  blade.
104695                     If not provided, the chassis will be powered off.
104696
104697              CLI Example:
104698
104699                 salt dell dracr.server_poweroff
104700                 salt dell dracr.server_poweroff module=server-1
104701
104702       salt.modules.dracr.server_poweron(host=None,       admin_username=None,
104703       admin_password=None, module=None)
104704              Powers up the managed server.
104705
104706              host   The chassis host.
104707
104708              admin_username
104709                     The username used to access the chassis.
104710
104711              admin_password
104712                     The password used to access the chassis.
104713
104714              module The element to power on located on the chassis such as  a
104715                     blade. If not provided, the chassis will be powered on.
104716
104717              CLI Example:
104718
104719                 salt dell dracr.server_poweron
104720                 salt dell dracr.server_poweron module=server-1
104721
104722       salt.modules.dracr.server_powerstatus(host=None,   admin_username=None,
104723       admin_password=None, module=None)
104724              return the power status for the passed module
104725
104726              CLI Example:
104727
104728                 salt dell drac.server_powerstatus
104729
104730       salt.modules.dracr.server_pxe(host=None,           admin_username=None,
104731       admin_password=None)
104732              Configure server to PXE perform a one off PXE boot
104733
104734              CLI Example:
104735
104736                 salt dell dracr.server_pxe
104737
104738       salt.modules.dracr.server_reboot(host=None,        admin_username=None,
104739       admin_password=None, module=None)
104740              Issues a power-cycle  operation  on  the  managed  server.  This
104741              action  is  similar to pressing the power button on the system's
104742              front panel to power down and then power up the system.
104743
104744              host   The chassis host.
104745
104746              admin_username
104747                     The username used to access the chassis.
104748
104749              admin_password
104750                     The password used to access the chassis.
104751
104752              module The element to reboot on the chassis such as a blade.  If
104753                     not provided, the chassis will be rebooted.
104754
104755              CLI Example:
104756
104757                 salt dell dracr.server_reboot
104758                 salt dell dracr.server_reboot module=server-1
104759
104760       salt.modules.dracr.set_chassis_datacenter(location,          host=None,
104761       admin_username=None, admin_password=None)
104762              Set the location of the chassis.
104763
104764              location
104765                     The name of the datacenter to be set on the chassis.
104766
104767              host   The chassis host.
104768
104769              admin_username
104770                     The username used to access the chassis.
104771
104772              admin_password
104773                     The password used to access the chassis.
104774
104775              CLI Example:
104776
104777                 salt '*' dracr.set_chassis_datacenter datacenter-name host=111.222.333.444
104778                     admin_username=root admin_password=secret
104779
104780       salt.modules.dracr.set_chassis_location(location,            host=None,
104781       admin_username=None, admin_password=None)
104782              Set the location of the chassis.
104783
104784              location
104785                     The name of the location to be set on the chassis.
104786
104787              host   The chassis host.
104788
104789              admin_username
104790                     The username used to access the chassis.
104791
104792              admin_password
104793                     The password used to access the chassis.
104794
104795              CLI Example:
104796
104797                 salt '*' dracr.set_chassis_location location-name host=111.222.333.444
104798                     admin_username=root admin_password=secret
104799
104800       salt.modules.dracr.set_chassis_name(name,     host=None,    admin_user‐
104801       name=None, admin_password=None)
104802              Set the name of the chassis.
104803
104804              name   The name to be set on the chassis.
104805
104806              host   The chassis host.
104807
104808              admin_username
104809                     The username used to access the chassis.
104810
104811              admin_password
104812                     The password used to access the chassis.
104813
104814              CLI Example:
104815
104816                 salt '*' dracr.set_chassis_name my-chassis host=111.222.333.444
104817                     admin_username=root admin_password=secret
104818
104819       salt.modules.dracr.set_dns_dracname(name,    host=None,     admin_user‐
104820       name=None, admin_password=None)
104821
104822       salt.modules.dracr.set_general(cfg_sec,    cfg_var,   val,   host=None,
104823       admin_username=None, admin_password=None)
104824
104825       salt.modules.dracr.set_network(ip,   netmask,    gateway,    host=None,
104826       admin_username=None, admin_password=None)
104827              Configure  Network on the CMC or individual iDRAC.  Use set_nic‐
104828              cfg for blade and switch addresses.
104829
104830              CLI Example:
104831
104832                 salt dell dracr.set_network [DRAC IP] [NETMASK] [GATEWAY]
104833                 salt dell dracr.set_network 192.168.0.2 255.255.255.0 192.168.0.1
104834                     admin_username=root admin_password=calvin host=192.168.1.1
104835
104836       salt.modules.dracr.set_niccfg(ip=None,   netmask=None,    gateway=None,
104837       dhcp=False,  host=None,  admin_username=None, admin_password=None, mod‐
104838       ule=None)
104839
104840       salt.modules.dracr.set_nicvlan(vlan=None,    host=None,     admin_user‐
104841       name=None, admin_password=None, module=None)
104842
104843       salt.modules.dracr.set_permissions(username,   permissions,   uid=None,
104844       host=None, admin_username=None, admin_password=None)
104845              Configure users permissions
104846
104847              CLI Example:
104848
104849                 salt dell dracr.set_permissions [USERNAME] [PRIVILEGES]
104850                      [USER INDEX - optional]
104851                 salt dell dracr.set_permissions diana login,test_alerts,clear_logs 4
104852
104853              DRAC Privileges
104854
104855                     · login                   : Login to iDRAC
104856
104857                     · drac                    : Configure iDRAC
104858
104859                     · user_management         : Configure Users
104860
104861                     · clear_logs              : Clear Logs
104862
104863                     · server_control_commands : Execute Server  Control  Com‐
104864                       mands
104865
104866                     · console_redirection     : Access Console Redirection
104867
104868                     · virtual_media           : Access Virtual Media
104869
104870                     · test_alerts             : Test Alerts
104871
104872                     · debug_commands          : Execute Debug Commands
104873
104874       salt.modules.dracr.set_slotname(slot,   name,   host=None,  admin_user‐
104875       name=None, admin_password=None)
104876              Set the name of a slot in a chassis.
104877
104878              slot   The slot number to change.
104879
104880              name   The name to set. Can only be 15 characters long.
104881
104882              host   The chassis host.
104883
104884              admin_username
104885                     The username used to access the chassis.
104886
104887              admin_password
104888                     The password used to access the chassis.
104889
104890              CLI Example:
104891
104892                 salt '*' dracr.set_slotname 2 my-slotname host=111.222.333.444
104893                     admin_username=root admin_password=secret
104894
104895       salt.modules.dracr.set_snmp(community, host=None,  admin_username=None,
104896       admin_password=None)
104897              Configure  CMC  or  individual iDRAC SNMP community string.  Use
104898              deploy_snmp for configuring chassis switch SNMP.
104899
104900              CLI Example:
104901
104902                 salt dell dracr.set_snmp [COMMUNITY]
104903                 salt dell dracr.set_snmp public
104904
104905       salt.modules.dracr.syslog(server, enable=True,  host=None,  admin_user‐
104906       name=None, admin_password=None, module=None)
104907              Configure syslog remote logging, by default syslog will automat‐
104908              ically be enabled if a server is specified. However, if you want
104909              to  disable syslog you will need to specify a server followed by
104910              False
104911
104912              CLI Example:
104913
104914                 salt dell dracr.syslog [SYSLOG IP] [ENABLE/DISABLE]
104915                 salt dell dracr.syslog 0.0.0.0 False
104916
104917       salt.modules.dracr.system_info(host=None,          admin_username=None,
104918       admin_password=None, module=None)
104919              Return System information
104920
104921              CLI Example:
104922
104923                 salt dell dracr.system_info
104924
104925       salt.modules.dracr.update_firmware(filename,   host=None,   admin_user‐
104926       name=None, admin_password=None)
104927              Updates firmware using local firmware file
104928
104929                 salt dell dracr.update_firmware firmware.exe
104930
104931              This executes the following command on your FX2 (using  username
104932              and password stored in the pillar data)
104933
104934                 racadm update –f firmware.exe -u user –p pass
104935
104936       salt.modules.dracr.update_firmware_nfs_or_cifs(filename,         share,
104937       host=None, admin_username=None, admin_password=None)
104938              Executes the following for CIFS  (using  username  and  password
104939              stored in the pillar data)
104940
104941                 racadm update -f <updatefile> -u user –p pass -l //IP-Address/share
104942
104943              Or  for  NFS  (using  username and password stored in the pillar
104944              data)
104945
104946                 racadm update -f <updatefile> -u user –p pass -l IP-address:/share
104947
104948              Salt command for CIFS:
104949
104950                 salt dell dracr.update_firmware_nfs_or_cifs          firmware.exe //IP-Address/share
104951
104952              Salt command for NFS:
104953
104954                 salt dell dracr.update_firmware_nfs_or_cifs          firmware.exe IP-address:/share
104955
104956   salt.modules.drbd
104957       DRBD administration module
104958
104959       salt.modules.drbd.overview()
104960              Show status of the DRBD devices, support two nodes only.
104961
104962              CLI Example:
104963
104964                 salt '*' drbd.overview
104965
104966   salt.modules.dummyproxy_pkg module
104967       Package support for the dummy proxy used by the test suite
104968
104969       salt.modules.dummyproxy_pkg.install(name=None,   refresh=False,   from‐
104970       repo=None, pkgs=None, sources=None, **kwargs)
104971
104972       salt.modules.dummyproxy_pkg.installed(name,               version=None,
104973       refresh=False,     fromrepo=None,     skip_verify=False,     pkgs=None,
104974       sources=None, **kwargs)
104975
104976       salt.modules.dummyproxy_pkg.list_pkgs(versions_as_list=False, **kwargs)
104977
104978       salt.modules.dummyproxy_pkg.remove(name=None, pkgs=None, **kwargs)
104979
104980       salt.modules.dummyproxy_pkg.upgrade(name=None, pkgs=None, refresh=True,
104981       skip_verify=True, normalize=True, **kwargs)
104982
104983       salt.modules.dummyproxy_pkg.version(*names, **kwargs)
104984              Returns a string representing the package version  or  an  empty
104985              string if not installed. If more than one package name is speci‐
104986              fied, a dict of name/version pairs is returned.
104987
104988              CLI Example:
104989
104990                 salt '*' pkg.version <package name>
104991                 salt '*' pkg.version <package1> <package2> <package3> ...
104992
104993   salt.modules.dummyproxy_service module
104994       Provide the service module for the  dummy  proxy  used  in  integration
104995       tests
104996
104997       salt.modules.dummyproxy_service.enabled(name, sig=None)
104998              Only the 'redbull' service is 'enabled' in the test
104999
105000              New in version 2016.11.3.
105001
105002
105003       salt.modules.dummyproxy_service.get_all()
105004              Return a list of all available services
105005
105006              New in version 2016.11.3.
105007
105008
105009              CLI Example:
105010
105011                 salt '*' service.get_all
105012
105013       salt.modules.dummyproxy_service.list_()
105014              Return a list of all available services.
105015
105016              New in version 2016.11.3.
105017
105018
105019              CLI Example:
105020
105021                 salt '*' service.list
105022
105023       salt.modules.dummyproxy_service.restart(name, sig=None)
105024              Restart the specified service with dummy.
105025
105026              New in version 2016.11.3.
105027
105028
105029              CLI Example:
105030
105031                 salt '*' service.restart <service name>
105032
105033       salt.modules.dummyproxy_service.running(name, sig=None)
105034              Return whether this service is running.
105035
105036              New in version 2016.11.3.
105037
105038
105039       salt.modules.dummyproxy_service.start(name, sig=None)
105040              Start the specified service on the dummy
105041
105042              New in version 2016.11.3.
105043
105044
105045              CLI Example:
105046
105047                 salt '*' service.start <service name>
105048
105049       salt.modules.dummyproxy_service.status(name, sig=None)
105050              Return  the  status  for  a  service  via  dummy, returns a bool
105051              whether the service is running.
105052
105053              New in version 2016.11.3.
105054
105055
105056              CLI Example:
105057
105058                 salt '*' service.status <service name>
105059
105060       salt.modules.dummyproxy_service.stop(name, sig=None)
105061              Stop the specified service on the dummy
105062
105063              New in version 2016.11.3.
105064
105065
105066              CLI Example:
105067
105068                 salt '*' service.stop <service name>
105069
105070   salt.modules.ebuildpkg
105071       Support for Portage
105072
105073       IMPORTANT:
105074          If you feel that Salt should be using this module to manage packages
105075          on  a  minion, and it is using a different module (or gives an error
105076          similar to 'pkg.install' is not available), see here.
105077
105078       optdepends
105079
105080              · portage Python adapter
105081
105082       For now all package names MUST include the package category, i.e. 'vim'
105083       will not work, 'app-editors/vim' will.
105084
105085       salt.modules.ebuildpkg.check_db(*names, **kwargs)
105086              New in version 0.17.0.
105087
105088
105089              Returns  a  dict  containing  the following information for each
105090              specified package:
105091
105092              1. A key found, which will be a  boolean  value  denoting  if  a
105093                 match was found in the package database.
105094
105095              2. If  found is False, then a second key called suggestions will
105096                 be present, which will contain a list  of  possible  matches.
105097                 This  list will be empty if the package name was specified in
105098                 category/pkgname  format,  since  the  suggestions  are  only
105099                 intended  to  disambiguate ambiguous package names (ones sub‐
105100                 mitted without a category).
105101
105102              CLI Examples:
105103
105104                 salt '*' pkg.check_db <package1> <package2> <package3>
105105
105106       salt.modules.ebuildpkg.check_extra_requirements(pkgname, pkgver)
105107              Check if the installed package already has  the  given  require‐
105108              ments.
105109
105110              CLI Example:
105111
105112                 salt '*' pkg.check_extra_requirements 'sys-devel/gcc' '~>4.1.2:4.1::gentoo[nls,fortran]'
105113
105114       salt.modules.ebuildpkg.depclean(name=None,   slot=None,  fromrepo=None,
105115       pkgs=None)
105116              Portage has a function to remove unused dependencies. If a pack‐
105117              age  is  provided,  it will only removed the package if no other
105118              package depends on it.
105119
105120              name   The name of the package to be cleaned.
105121
105122              slot   Restrict the remove to a specific slot. Ignored  if  name
105123                     is None.
105124
105125              fromrepo
105126                     Restrict  the  remove to a specific slot. Ignored if name
105127                     is None.
105128
105129              pkgs   Clean multiple packages. slot and fromrepo arguments  are
105130                     ignored  if this argument is present. Must be passed as a
105131                     python list.
105132
105133              Return a list containing the removed packages:
105134
105135              CLI Example:
105136
105137                 salt '*' pkg.depclean <package name>
105138
105139       salt.modules.ebuildpkg.ex_mod_init(low)
105140              If the config option ebuild.enforce_nice_config is set to  True,
105141              this   module   will   enforce   a   nice   tree  structure  for
105142              /etc/portage/package.*  configuration files.
105143
105144              New in version 0.17.0: Initial automatic enforcement added  when
105145              pkg is used on a Gentoo system.
105146
105147
105148              Changed  in version 2014.1.0-Hydrogen: Configure option added to
105149              make this behaviour optional, defaulting to off.
105150
105151
105152              SEE ALSO:
105153                 ebuild.ex_mod_init  is  called  automatically  when  a  state
105154                 invokes     a    pkg    state    on    a    Gentoo    system.
105155                 salt.states.pkg.mod_init()
105156
105157                 ebuild.ex_mod_init uses portage_config.enforce_nice_config to
105158                 do        the       lifting.        salt.modules.portage_con‐
105159                 fig.enforce_nice_config()
105160
105161              CLI Example:
105162
105163                 salt '*' pkg.ex_mod_init
105164
105165       salt.modules.ebuildpkg.install(name=None,   refresh=False,   pkgs=None,
105166       sources=None,   slot=None,   fromrepo=None,   uses=None,  binhost=None,
105167       **kwargs)
105168              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
105169              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
105170              mands which modify installed packages from the salt-minion  dae‐
105171              mon's  control  group. This is done to keep systemd from killing
105172              any emerge commands spawned by Salt when the salt-minion service
105173              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
105174              more information). If desired, usage of  systemd-run(1)  can  be
105175              suppressed by setting a config option called systemd.scope, with
105176              a value of False (no quotes).
105177
105178
105179              Install the passed package(s),  add  refresh=True  to  sync  the
105180              portage tree before package is installed.
105181
105182              name   The  name  of the package to be installed. Note that this
105183                     parameter is ignored if either  "pkgs"  or  "sources"  is
105184                     passed.  Additionally,  please  note that this option can
105185                     only be used to emerge a package from the  portage  tree.
105186                     To  install  a  tbz2  package manually, use the "sources"
105187                     option described below.
105188
105189                     CLI Example:
105190
105191                        salt '*' pkg.install <package name>
105192
105193              refresh
105194                     Whether  or  not  to  sync  the   portage   tree   before
105195                     installing.
105196
105197              version
105198                     Install a specific version of the package, e.g. 1.0.9-r1.
105199                     Ignored if "pkgs" or "sources" is passed.
105200
105201              slot   Similar to version, but specifies  a  valid  slot  to  be
105202                     installed.  It  will install the latest available version
105203                     in the specified slot.  Ignored if "pkgs" or "sources" or
105204                     "version" is passed.
105205
105206                     CLI Example:
105207
105208                        salt '*' pkg.install sys-devel/gcc slot='4.4'
105209
105210              fromrepo
105211                     Similar  to  slot,  but specifies the repository from the
105212                     package will be installed. It  will  install  the  latest
105213                     available  version  in the specified repository.  Ignored
105214                     if "pkgs" or "sources" or "version" is passed.
105215
105216                     CLI Example:
105217
105218                        salt '*' pkg.install salt fromrepo='gentoo'
105219
105220              uses   Similar to slot,  but  specifies  a  list  of  use  flag.
105221                     Ignored if "pkgs" or "sources" or "version" is passed.
105222
105223                     CLI Example:
105224
105225                        salt '*' pkg.install sys-devel/gcc uses='["nptl","-nossp"]'
105226
105227              Multiple Package Installation Options:
105228
105229              pkgs   A list of packages to install from the portage tree. Must
105230                     be passed as a python list.
105231
105232                     CLI Example:
105233
105234                        salt '*' pkg.install pkgs='["foo","bar","~category/package:slot::repository[use]"]'
105235
105236              sources
105237                     A list of tbz2 packages to install. Must be passed  as  a
105238                     list of dicts, with the keys being package names, and the
105239                     values being the source URI or local path to the package.
105240
105241                     CLI Example:
105242
105243                        salt '*' pkg.install sources='[{"foo": "salt://foo.tbz2"},{"bar": "salt://bar.tbz2"}]'
105244
105245              binhost
105246                     has two options try and force.  try - tells emerge to try
105247                     and install the package from a configured binhost.  force
105248                     - forces emerge to install the  package  from  a  binhost
105249                     otherwise it fails out.
105250
105251              Returns a dict containing the new package names and versions:
105252
105253                 {'<package>': {'old': '<old-version>',
105254                                'new': '<new-version>'}}
105255
105256       salt.modules.ebuildpkg.latest_version(*names, **kwargs)
105257              Return  the  latest  version  of the named package available for
105258              upgrade or installation. If more than one package name is speci‐
105259              fied, a dict of name/version pairs is returned.
105260
105261              CLI Example:
105262
105263                 salt '*' pkg.latest_version <package name>
105264                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
105265
105266       salt.modules.ebuildpkg.list_pkgs(versions_as_list=False, **kwargs)
105267              List the packages currently installed in a dict:
105268
105269                 {'<package_name>': '<version>'}
105270
105271              CLI Example:
105272
105273                 salt '*' pkg.list_pkgs
105274
105275       salt.modules.ebuildpkg.list_upgrades(refresh=True,         backtrack=3,
105276       **kwargs)
105277              List all available package upgrades.
105278
105279              refresh
105280                     Whether or not to sync the portage tree  before  checking
105281                     for upgrades.
105282
105283              backtrack
105284                     Specifies  an  integer  number  of  times to backtrack if
105285                     dependency calculation fails due  to  a  conflict  or  an
105286                     unsatisfied dependency (default: ´3´).
105287
105288              CLI Example:
105289
105290                 salt '*' pkg.list_upgrades
105291
105292       salt.modules.ebuildpkg.porttree_matches(name)
105293              Returns  a  list containing the matches for a given package name
105294              from the portage tree. Note that the  specific  version  of  the
105295              package will not be provided for packages that have several ver‐
105296              sions in the portage tree, but rather the name  of  the  package
105297              (i.e. "dev-python/paramiko").
105298
105299       salt.modules.ebuildpkg.purge(name=None,    slot=None,    fromrepo=None,
105300       pkgs=None, **kwargs)
105301              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
105302              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
105303              mands which modify installed packages from the salt-minion  dae‐
105304              mon's  control  group. This is done to keep systemd from killing
105305              any emerge commands spawned by Salt when the salt-minion service
105306              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
105307              more information). If desired, usage of  systemd-run(1)  can  be
105308              suppressed by setting a config option called systemd.scope, with
105309              a value of False (no quotes).
105310
105311
105312              Portage does not have a purge, this function calls  remove  fol‐
105313              lowed by depclean to emulate a purge process
105314
105315              name   The name of the package to be deleted.
105316
105317              slot   Restrict  the  remove to a specific slot. Ignored if name
105318                     is None.
105319
105320              fromrepo
105321                     Restrict the remove to a specific slot. Ignored  if  name
105322                     is None.
105323
105324              Multiple Package Options:
105325
105326              pkgs   Uninstall  multiple packages. slot and fromrepo arguments
105327                     are ignored if this argument is present. Must  be  passed
105328                     as a python list.
105329
105330              New in version 0.16.0.
105331
105332
105333              Returns a dict containing the changes.
105334
105335              CLI Example:
105336
105337                 salt '*' pkg.purge <package name>
105338                 salt '*' pkg.purge <package name> slot=4.4
105339                 salt '*' pkg.purge <package1>,<package2>,<package3>
105340                 salt '*' pkg.purge pkgs='["foo", "bar"]'
105341
105342       salt.modules.ebuildpkg.refresh_db()
105343              Update  the  portage  tree using the first available method from
105344              the following list:
105345
105346              · emaint sync
105347
105348              · eix-sync
105349
105350              · emerge-webrsync
105351
105352              · emerge --sync
105353
105354              To prevent the portage tree from being synced within one day  of
105355              the  previous  sync, add the following pillar data for this min‐
105356              ion:
105357
105358                 portage:
105359                   sync_wait_one_day: True
105360
105361              CLI Example:
105362
105363                 salt '*' pkg.refresh_db
105364
105365       salt.modules.ebuildpkg.remove(name=None,   slot=None,    fromrepo=None,
105366       pkgs=None, **kwargs)
105367              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
105368              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
105369              mands  which modify installed packages from the salt-minion dae‐
105370              mon's control group. This is done to keep systemd  from  killing
105371              any emerge commands spawned by Salt when the salt-minion service
105372              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
105373              more  information).  If  desired, usage of systemd-run(1) can be
105374              suppressed by setting a config option called systemd.scope, with
105375              a value of False (no quotes).
105376
105377
105378              Remove packages via emerge --unmerge.
105379
105380              name   The name of the package to be deleted.
105381
105382              slot   Restrict  the  remove to a specific slot. Ignored if name
105383                     is None.
105384
105385              fromrepo
105386                     Restrict the remove to a specific slot. Ignored  if  name
105387                     is None.
105388
105389              Multiple Package Options:
105390
105391              pkgs   Uninstall  multiple packages. slot and fromrepo arguments
105392                     are ignored if this argument is present. Must  be  passed
105393                     as a python list.
105394
105395              New in version 0.16.0.
105396
105397
105398              Returns a dict containing the changes.
105399
105400              CLI Example:
105401
105402                 salt '*' pkg.remove <package name>
105403                 salt '*' pkg.remove <package name> slot=4.4 fromrepo=gentoo
105404                 salt '*' pkg.remove <package1>,<package2>,<package3>
105405                 salt '*' pkg.remove pkgs='["foo", "bar"]'
105406
105407       salt.modules.ebuildpkg.update(pkg,       slot=None,      fromrepo=None,
105408       refresh=False, binhost=None)
105409              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
105410              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
105411              mands which modify installed packages from the salt-minion  dae‐
105412              mon's  control  group. This is done to keep systemd from killing
105413              any emerge commands spawned by Salt when the salt-minion service
105414              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
105415              more information). If desired, usage of  systemd-run(1)  can  be
105416              suppressed by setting a config option called systemd.scope, with
105417              a value of False (no quotes).
105418
105419
105420              Updates the passed package (emerge --update package)
105421
105422              slot   Restrict the update to a particular slot. It will  update
105423                     to the latest version within the slot.
105424
105425              fromrepo
105426                     Restrict  the  update to a particular repository. It will
105427                     update to the latest version within the repository.
105428
105429              binhost
105430                     has two options try and force.  try - tells emerge to try
105431                     and install the package from a configured binhost.  force
105432                     - forces emerge to install the  package  from  a  binhost
105433                     otherwise it fails out.
105434
105435              Return a dict containing the new package names and versions:
105436
105437                 {'<package>': {'old': '<old-version>',
105438                                'new': '<new-version>'}}
105439
105440              CLI Example:
105441
105442                 salt '*' pkg.update <package name>
105443
105444       salt.modules.ebuildpkg.upgrade(refresh=True, binhost=None, backtrack=3)
105445              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
105446              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
105447              mands  which modify installed packages from the salt-minion dae‐
105448              mon's control group. This is done to keep systemd  from  killing
105449              any emerge commands spawned by Salt when the salt-minion service
105450              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
105451              more  information).  If  desired, usage of systemd-run(1) can be
105452              suppressed by setting a config option called systemd.scope, with
105453              a value of False (no quotes).
105454
105455
105456              Run a full system upgrade (emerge -uDN @world)
105457
105458              binhost
105459                     has two options try and force.  try - tells emerge to try
105460                     and install the package from a configured binhost.  force
105461                     -  forces  emerge  to  install the package from a binhost
105462                     otherwise it fails out.
105463
105464              backtrack
105465                     Specifies an integer number  of  times  to  backtrack  if
105466                     dependency  calculation  fails  due  to  a conflict or an
105467                     unsatisfied dependency (default: ´3´).
105468
105469              Returns a dictionary containing the changes:
105470
105471                 {'<package>':  {'old': '<old-version>',
105472                                 'new': '<new-version>'}}
105473
105474              CLI Example:
105475
105476                 salt '*' pkg.upgrade
105477
105478       salt.modules.ebuildpkg.upgrade_available(name)
105479              Check whether or not an upgrade is available for a given package
105480
105481              CLI Example:
105482
105483                 salt '*' pkg.upgrade_available <package name>
105484
105485       salt.modules.ebuildpkg.version(*names, **kwargs)
105486              Returns a string representing the package version  or  an  empty
105487              string if not installed. If more than one package name is speci‐
105488              fied, a dict of name/version pairs is returned.
105489
105490              CLI Example:
105491
105492                 salt '*' pkg.version <package name>
105493                 salt '*' pkg.version <package1> <package2> <package3> ...
105494
105495       salt.modules.ebuildpkg.version_clean(version)
105496              Clean the version string removing extra data.
105497
105498              CLI Example:
105499
105500                 salt '*' pkg.version_clean <version_string>
105501
105502       salt.modules.ebuildpkg.version_cmp(pkg1, pkg2, **kwargs)
105503              Do a cmp-style comparison on two packages. Return -1 if  pkg1  <
105504              pkg2,  0  if  pkg1 == pkg2, and 1 if pkg1 > pkg2. Return None if
105505              there was a problem making the comparison.
105506
105507              CLI Example:
105508
105509                 salt '*' pkg.version_cmp '0.2.4-0' '0.2.4.1-0'
105510
105511   salt.modules.eix
105512       Support for Eix
105513
105514       salt.modules.eix.sync()
105515              Sync portage/overlay trees and update the eix database
105516
105517              CLI Example:
105518
105519                 salt '*' eix.sync
105520
105521       salt.modules.eix.update()
105522              Update the eix database
105523
105524              CLI Example:
105525
105526                 salt '*' eix.update
105527
105528   salt.modules.elasticsearch
105529       Elasticsearch - A distributed RESTful search and analytics server
105530
105531       Module to provide Elasticsearch compatibility to Salt (compatible  with
105532       Elasticsearch version 1.5.2+)
105533
105534       New in version 2015.8.0.
105535
105536
105537       depends
105538              elasticsearch-py
105539
105540       configuration
105541              This  module  accepts connection configuration details either as
105542              parameters or as configuration settings in  /etc/salt/minion  on
105543              the relevant minions:
105544
105545                 elasticsearch:
105546                   host: '10.10.10.100:9200'
105547
105548                 elasticsearch-cluster:
105549                   hosts:
105550                     - '10.10.10.100:9200'
105551                     - '10.10.10.101:9200'
105552                     - '10.10.10.102:9200'
105553
105554                 elasticsearch-extra:
105555                   hosts:
105556                     - '10.10.10.100:9200'
105557                   use_ssl: True
105558                   verify_certs: True
105559                   ca_certs: /path/to/custom_ca_bundle.pem
105560                   number_of_shards: 1
105561                   number_of_replicas: 0
105562                   functions_blacklist:
105563                     - 'saltutil.find_job'
105564                     - 'pillar.items'
105565                     - 'grains.items'
105566                   proxies:
105567                     - http: http://proxy:3128
105568                     - https: http://proxy:1080
105569
105570              When  specifying  proxies  the requests backend will be used and
105571              the 'proxies' data structure is passed as-is to that module.
105572
105573              This data can also be passed into pillar.  Options  passed  into
105574              opts will overwrite options passed into pillar.
105575
105576              Some  functionality  might  be  limited  by elasticsearch-py and
105577              Elasticsearch server versions.
105578
105579       salt.modules.elasticsearch.alias_create(indices,   alias,   hosts=None,
105580       body=None, profile=None, source=None)
105581              Create an alias for a specific index/indices
105582
105583              indices
105584                     Single  or  multiple indices separated by comma, use _all
105585                     to perform the operation on all indices.
105586
105587              alias  Alias name
105588
105589              body   Optional definition such as routing or filter as  defined
105590                     in
105591                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html
105592
105593              source URL  of file specifying optional definition such as rout‐
105594                     ing or filter. Cannot be used in combination with body.
105595
105596              CLI example:
105597
105598                 salt myminion elasticsearch.alias_create testindex_v1 testindex
105599
105600       salt.modules.elasticsearch.alias_delete(indices,  aliases,  hosts=None,
105601       body=None, profile=None, source=None)
105602              Delete an alias of an index
105603
105604              indices
105605                     Single  or  multiple indices separated by comma, use _all
105606                     to perform the operation on all indices.
105607
105608              aliases
105609                     Alias names separated by comma
105610
105611              CLI example:
105612
105613                 salt myminion elasticsearch.alias_delete testindex_v1 testindex
105614
105615       salt.modules.elasticsearch.alias_exists(aliases,          indices=None,
105616       hosts=None, profile=None)
105617              Return a boolean indicating whether given alias exists
105618
105619              indices
105620                     Single  or  multiple indices separated by comma, use _all
105621                     to perform the operation on all indices.
105622
105623              aliases
105624                     Alias names separated by comma
105625
105626              CLI example:
105627
105628                 salt myminion elasticsearch.alias_exists None testindex
105629
105630       salt.modules.elasticsearch.alias_get(indices=None,        aliases=None,
105631       hosts=None, profile=None)
105632              Check for the existence of an alias and if it exists, return it
105633
105634              indices
105635                     Single  or  multiple indices separated by comma, use _all
105636                     to perform the operation on all indices.
105637
105638              aliases
105639                     Alias names separated by comma
105640
105641              CLI example:
105642
105643                 salt myminion elasticsearch.alias_get testindex
105644
105645       salt.modules.elasticsearch.cluster_get_settings(flat_settings=False,
105646       include_defaults=False, hosts=None, profile=None)
105647              New in version 3000.
105648
105649
105650              Return Elasticsearch cluster settings.
105651
105652              flat_settings
105653                     Return settings in flat format.
105654
105655              include_defaults
105656                     Whether to return all default clusters setting.
105657
105658              CLI example:
105659
105660                 salt myminion elasticsearch.cluster_get_settings
105661
105662       salt.modules.elasticsearch.cluster_health(index=None, level=u'cluster',
105663       local=False, hosts=None, profile=None)
105664              New in version 2017.7.0.
105665
105666
105667              Return Elasticsearch cluster health.
105668
105669              index  Limit the information returned to a specific index
105670
105671              level  Specify the level of  detail  for  returned  information,
105672                     default   'cluster',   valid   choices   are:  'cluster',
105673                     'indices', 'shards'
105674
105675              local  Return local information, do not retrieve the state  from
105676                     master node
105677
105678              CLI example:
105679
105680                 salt myminion elasticsearch.cluster_health
105681
105682       salt.modules.elasticsearch.cluster_put_settings(body=None,    flat_set‐
105683       tings=False, hosts=None, profile=None)
105684              New in version 3000.
105685
105686
105687              Set Elasticsearch cluster settings.
105688
105689              body   The settings to be updated. Can be either 'transient'  or
105690                     'persistent'       (survives       cluster       restart)
105691                     http://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html
105692
105693              flat_settings
105694                     Return settings in flat format.
105695
105696              CLI example:
105697
105698                 salt myminion elasticsearch.cluster_put_settings '{"persistent": {"indices.recovery.max_bytes_per_sec": "50mb"}}'
105699                 salt myminion elasticsearch.cluster_put_settings '{"transient": {"indices.recovery.max_bytes_per_sec": "50mb"}}'
105700
105701       salt.modules.elasticsearch.cluster_stats(nodes=None,  hosts=None,  pro‐
105702       file=None)
105703              New in version 2017.7.0.
105704
105705
105706              Return Elasticsearch cluster stats.
105707
105708              nodes  List of cluster nodes (id or name) to display stats  for.
105709                     Use _local for connected node, empty for all
105710
105711              CLI example:
105712
105713                 salt myminion elasticsearch.cluster_stats
105714
105715       salt.modules.elasticsearch.document_create(index,  doc_type, body=None,
105716       id=None, hosts=None, profile=None, source=None)
105717              Create a document in a specified index
105718
105719              index  Index name where the document should reside
105720
105721              doc_type
105722                     Type of the document
105723
105724              body   Document to store
105725
105726              source URL of file specifying document to store. Cannot be  used
105727                     in combination with body.
105728
105729              id     Optional   unique   document   identifier  for  specified
105730                     doc_type (empty for random)
105731
105732              CLI example:
105733
105734                 salt myminion elasticsearch.document_create testindex doctype1 '{}'
105735
105736       salt.modules.elasticsearch.document_delete(index,     doc_type,     id,
105737       hosts=None, profile=None)
105738              Delete a document from an index
105739
105740              index  Index name where the document resides
105741
105742              doc_type
105743                     Type of the document
105744
105745              id     Document identifier
105746
105747              CLI example:
105748
105749                 salt myminion elasticsearch.document_delete testindex doctype1 AUx-384m0Bug_8U80wQZ
105750
105751       salt.modules.elasticsearch.document_exists(index, id, doc_type=u'_all',
105752       hosts=None, profile=None)
105753              Return a boolean indicating whether given document exists
105754
105755              index  Index name where the document resides
105756
105757              id     Document identifier
105758
105759              doc_type
105760                     Type of the document, use _all to fetch the  first  docu‐
105761                     ment matching the ID across all types
105762
105763              CLI example:
105764
105765                 salt myminion elasticsearch.document_exists testindex AUx-384m0Bug_8U80wQZ
105766
105767       salt.modules.elasticsearch.document_get(index,   id,  doc_type=u'_all',
105768       hosts=None, profile=None)
105769              Check for the existence of a document and if it  exists,  return
105770              it
105771
105772              index  Index name where the document resides
105773
105774              id     Document identifier
105775
105776              doc_type
105777                     Type  of  the document, use _all to fetch the first docu‐
105778                     ment matching the ID across all types
105779
105780              CLI example:
105781
105782                 salt myminion elasticsearch.document_get testindex AUx-384m0Bug_8U80wQZ
105783
105784       salt.modules.elasticsearch.flush_synced(hosts=None,       profile=None,
105785       **kwargs)
105786              New in version 3000.
105787
105788
105789              Perform  a  normal  flush,  then  add  a generated unique marker
105790              (sync_id)              to              all               shards.
105791              http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-synced-flush.html
105792
105793              index  (Optional, string) A comma-separated list of index names;
105794                     use  _all  or  empty  string for all indices. Defaults to
105795                     '_all'.
105796
105797              ignore_unavailable
105798                     (Optional, boolean) If true, missing  or  closed  indices
105799                     are not included in the response. Defaults to false.
105800
105801              allow_no_indices
105802                     (Optional,  boolean) If true, the request does not return
105803                     an error if a wildcard expression or _all value retrieves
105804                     only  missing  or  closed  indices.   This parameter also
105805                     applies to index aliases  that  point  to  a  missing  or
105806                     closed index.
105807
105808              expand_wildcards
105809                     (Optional,  string)  Controls  what  kind of indices that
105810                     wildcard expressions can expand to.
105811
105812                     Valid values are:
105813
105814                        all - Expand to open and closed indices.
105815                        open - Expand only to open indices.
105816                        closed - Expand only to closed indices.
105817                        none - Wildcard expressions are not accepted.
105818
105819              The defaults settings for the above parameters depend on the API
105820              being used.
105821
105822              CLI example:
105823
105824                 salt myminion elasticsearch.flush_synced index='index1,index2' ignore_unavailable=True allow_no_indices=True expand_wildcards='all'
105825
105826       salt.modules.elasticsearch.index_close(index,    allow_no_indices=True,
105827       expand_wildcards=u'open',  ignore_unavailable=True,  hosts=None,   pro‐
105828       file=None)
105829              New in version 2017.7.0.
105830
105831
105832              Close specified index.
105833
105834              index  Index to be closed
105835
105836              allow_no_indices
105837                     Whether  to  ignore  if  a  wildcard  indices  expression
105838                     resolves into no concrete indices.  (This  includes  _all
105839                     string or when no indices have been specified)
105840
105841              expand_wildcards
105842                     Whether to expand wildcard expression to concrete indices
105843                     that are open, closed or  both.,  default  ‘open’,  valid
105844                     choices are: ‘open’, ‘closed’, ‘none’, ‘all’
105845
105846              ignore_unavailable
105847                     Whether specified concrete indices should be ignored when
105848                     unavailable (missing or closed)
105849
105850              CLI example:
105851
105852                 salt myminion elasticsearch.index_close testindex
105853
105854       salt.modules.elasticsearch.index_create(index,  body=None,  hosts=None,
105855       profile=None, source=None)
105856              Create an index
105857
105858              index  Index name
105859
105860              body   Index  definition,  such  as  settings  and  mappings  as
105861                     defined                                                in
105862                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
105863
105864              source URL to file specifying index definition. Cannot  be  used
105865                     in combination with body.
105866
105867              CLI example:
105868
105869                 salt myminion elasticsearch.index_create testindex
105870                 salt myminion elasticsearch.index_create testindex2 '{"settings" : {"index" : {"number_of_shards" : 3, "number_of_replicas" : 2}}}'
105871
105872       salt.modules.elasticsearch.index_delete(index,     hosts=None,     pro‐
105873       file=None)
105874              Delete an index
105875
105876              index  Index name
105877
105878              CLI example:
105879
105880                 salt myminion elasticsearch.index_delete testindex
105881
105882       salt.modules.elasticsearch.index_exists(index,     hosts=None,     pro‐
105883       file=None)
105884              Return a boolean indicating whether given index exists
105885
105886              index  Index name
105887
105888              CLI example:
105889
105890                 salt myminion elasticsearch.index_exists testindex
105891
105892       salt.modules.elasticsearch.index_get(index, hosts=None, profile=None)
105893              Check for the existence of an index and if it exists, return it
105894
105895              index  Index name
105896
105897              CLI example:
105898
105899                 salt myminion elasticsearch.index_get testindex
105900
105901       salt.modules.elasticsearch.index_get_settings(hosts=None, profile=None,
105902       **kwargs)
105903              New in version 3000.
105904
105905
105906              Check for the existence of an index and if it exists, return its
105907              settings
105908              http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html
105909
105910              index  (Optional, string) A comma-separated list of index names;
105911                     use _all or empty string for  all  indices.  Defaults  to
105912                     '_all'.
105913
105914              name   (Optional,  string)  The name of the settings that should
105915                     be included
105916
105917              allow_no_indices
105918                     (Optional, boolean)  Whether  to  ignore  if  a  wildcard
105919                     indices  expression  resolves  into  no concrete indices.
105920                     (This includes _all string or when no indices  have  been
105921                     specified)
105922
105923              expand_wildcards
105924                     (Optional,  string) Whether to expand wildcard expression
105925                     to concrete indices that are open, closed or both.  Valid
105926                     choices are: ‘open’, ‘closed’, ‘none’, ‘all’
105927
105928              flat_settings
105929                     (Optional, boolean) Return settings in flat format
105930
105931              ignore_unavailable
105932                     (Optional,  boolean)  Whether  specified concrete indices
105933                     should be ignored when unavailable (missing or closed)
105934
105935              include_defaults
105936                     (Optional, boolean) Whether to return all default setting
105937                     for each of the indices.
105938
105939              local  (Optional,  boolean)  Return  local  information,  do not
105940                     retrieve the state from master node
105941
105942              The defaults settings for the above parameters depend on the API
105943              version being used.
105944
105945              CLI example:
105946
105947                 salt myminion elasticsearch.index_get_settings index=testindex
105948
105949       salt.modules.elasticsearch.index_open(index,     allow_no_indices=True,
105950       expand_wildcards=u'closed', ignore_unavailable=True,  hosts=None,  pro‐
105951       file=None)
105952              New in version 2017.7.0.
105953
105954
105955              Open specified index.
105956
105957              index  Index to be opened
105958
105959              allow_no_indices
105960                     Whether  to  ignore  if  a  wildcard  indices  expression
105961                     resolves into no concrete indices.  (This  includes  _all
105962                     string or when no indices have been specified)
105963
105964              expand_wildcards
105965                     Whether to expand wildcard expression to concrete indices
105966                     that are open, closed or both., default  ‘closed’,  valid
105967                     choices are: ‘open’, ‘closed’, ‘none’, ‘all’
105968
105969              ignore_unavailable
105970                     Whether specified concrete indices should be ignored when
105971                     unavailable (missing or closed)
105972
105973              CLI example:
105974
105975                 salt myminion elasticsearch.index_open testindex
105976
105977       salt.modules.elasticsearch.index_put_settings(body=None,    hosts=None,
105978       profile=None, source=None, **kwargs)
105979              New in version 3000.
105980
105981
105982              Update             existing            index            settings
105983              https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html
105984
105985              body   The index settings to be updated.
105986
105987              source URL  to  file specifying index definition. Cannot be used
105988                     in combination with body.
105989
105990              index  (Optional, string) A comma-separated list of index names;
105991                     use  _all or empty string to perform the operation on all
105992                     indices
105993
105994              allow_no_indices
105995                     (Optional, boolean)  Whether  to  ignore  if  a  wildcard
105996                     indices  expression  resolves  into  no concrete indices.
105997                     (This includes _all string or when no indices  have  been
105998                     specified)
105999
106000              expand_wildcards
106001                     (Optional,  string) Whether to expand wildcard expression
106002                     to concrete indices that are open, closed or both.  Valid
106003                     choices are: ‘open’, ‘closed’, ‘none’, ‘all’
106004
106005              flat_settings
106006                     (Optional,   boolean)  Return  settings  in  flat  format
106007                     (default: false)
106008
106009              ignore_unavailable
106010                     (Optional, boolean) Whether  specified  concrete  indices
106011                     should be ignored when unavailable (missing or closed)
106012
106013              master_timeout
106014                     (Optional,  time  units)  Explicit  operation timeout for
106015                     connection to master node
106016
106017              preserve_existing
106018                     (Optional, boolean) Whether to update existing  settings.
106019                     If  set  to  true  existing  settings  on an index remain
106020                     unchanged, the default is false
106021
106022              The defaults settings for the above parameters depend on the API
106023              version being used.
106024
106025              ..note::
106026                     Elasticsearch    time    units   can   be   found   here:
106027                     https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#time-units
106028
106029              CLI example:
106030
106031                 salt myminion elasticsearch.index_put_settings index=testindex body='{"settings" : {"index" : {"number_of_replicas" : 2}}}'
106032
106033       salt.modules.elasticsearch.index_template_create(name,       body=None,
106034       hosts=None, profile=None, source=None)
106035              Create an index template
106036
106037              name   Index template name
106038
106039              body   Template      definition      as       specified       in
106040                     http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
106041
106042              source URL to file specifying  template  definition.  Cannot  be
106043                     used in combination with body.
106044
106045              CLI example:
106046
106047                 salt myminion elasticsearch.index_template_create testindex_templ '{ "template": "logstash-*", "order": 1, "settings": { "number_of_shards": 1 } }'
106048
106049       salt.modules.elasticsearch.index_template_delete(name, hosts=None, pro‐
106050       file=None)
106051              Delete an index template (type) along with its data
106052
106053              name   Index template name
106054
106055              CLI example:
106056
106057                 salt myminion elasticsearch.index_template_delete testindex_templ user
106058
106059       salt.modules.elasticsearch.index_template_exists(name, hosts=None, pro‐
106060       file=None)
106061              Return a boolean indicating whether given index template exists
106062
106063              name   Index template name
106064
106065              CLI example:
106066
106067                 salt myminion elasticsearch.index_template_exists testindex_templ
106068
106069       salt.modules.elasticsearch.index_template_get(name,   hosts=None,  pro‐
106070       file=None)
106071              Retrieve template definition of index or index/type
106072
106073              name   Index template name
106074
106075              CLI example:
106076
106077                 salt myminion elasticsearch.index_template_get testindex_templ
106078
106079       salt.modules.elasticsearch.info(hosts=None, profile=None)
106080              New in version 2017.7.0.
106081
106082
106083              Return Elasticsearch information.
106084
106085              CLI example:
106086
106087                 salt myminion elasticsearch.info
106088                 salt myminion elasticsearch.info profile=elasticsearch-extra
106089
106090       salt.modules.elasticsearch.mapping_create(index,  doc_type,  body=None,
106091       hosts=None, profile=None, source=None)
106092              Create a mapping in a given index
106093
106094              index  Index for the mapping
106095
106096              doc_type
106097                     Name of the document type
106098
106099              body   Mapping       definition       as       specified      in
106100                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html
106101
106102              source URL to file specifying mapping definition. Cannot be used
106103                     in combination with body.
106104
106105              CLI example:
106106
106107                 salt myminion elasticsearch.mapping_create testindex user '{ "user" : { "properties" : { "message" : {"type" : "string", "store" : true } } } }'
106108
106109       salt.modules.elasticsearch.mapping_delete(index, doc_type,  hosts=None,
106110       profile=None)
106111              Delete a mapping (type) along with its data. As of Elasticsearch
106112              5.0 this is no longer available.
106113
106114              index  Index for the mapping
106115
106116              doc_type
106117                     Name of the document type
106118
106119              CLI example:
106120
106121                 salt myminion elasticsearch.mapping_delete testindex user
106122
106123       salt.modules.elasticsearch.mapping_get(index,   doc_type,   hosts=None,
106124       profile=None)
106125              Retrieve mapping definition of index or index/type
106126
106127              index  Index for the mapping
106128
106129              doc_type
106130                     Name of the document type
106131
106132              CLI example:
106133
106134                 salt myminion elasticsearch.mapping_get testindex user
106135
106136       salt.modules.elasticsearch.node_info(nodes=None,   flat_settings=False,
106137       hosts=None, profile=None)
106138              New in version 2017.7.0.
106139
106140
106141              Return Elasticsearch node information.
106142
106143              nodes  List of cluster nodes (id or name) to display stats  for.
106144                     Use _local for connected node, empty for all
106145
106146              flat_settings
106147                     Flatten settings keys
106148
106149              CLI example:
106150
106151                 salt myminion elasticsearch.node_info flat_settings=True
106152
106153       salt.modules.elasticsearch.ping(allow_failure=False,  hosts=None,  pro‐
106154       file=None)
106155              New in version 2017.7.0.
106156
106157
106158              Test connection to Elasticsearch instance. This method does  not
106159              fail if not explicitly specified.
106160
106161              allow_failure
106162                     Throw exception if ping fails
106163
106164              CLI example:
106165
106166                 salt myminion elasticsearch.ping allow_failure=True
106167                 salt myminion elasticsearch.ping profile=elasticsearch-extra
106168
106169       salt.modules.elasticsearch.pipeline_create(id,  body,  hosts=None, pro‐
106170       file=None)
106171              New in version 2017.7.0.
106172
106173
106174              Create Ingest pipeline by supplied definition.  Available  since
106175              Elasticsearch 5.0.
106176
106177              id     Pipeline id
106178
106179              body   Pipeline       definition       as      specified      in
106180                     https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html
106181
106182              CLI example:
106183
106184                 salt myminion elasticsearch.pipeline_create mypipeline '{"description": "my custom pipeline", "processors": [{"set" : {"field": "collector_timestamp_millis", "value": "{{_ingest.timestamp}}"}}]}'
106185
106186       salt.modules.elasticsearch.pipeline_delete(id,     hosts=None,     pro‐
106187       file=None)
106188              New in version 2017.7.0.
106189
106190
106191              Delete Ingest pipeline. Available since Elasticsearch 5.0.
106192
106193              id     Pipeline id
106194
106195              CLI example:
106196
106197                 salt myminion elasticsearch.pipeline_delete mypipeline
106198
106199       salt.modules.elasticsearch.pipeline_get(id, hosts=None, profile=None)
106200              New in version 2017.7.0.
106201
106202
106203              Retrieve Ingest pipeline definition.  Available  since  Elastic‐
106204              search 5.0.
106205
106206              id     Pipeline id
106207
106208              CLI example:
106209
106210                 salt myminion elasticsearch.pipeline_get mypipeline
106211
106212       salt.modules.elasticsearch.pipeline_simulate(id,  body,  verbose=False,
106213       hosts=None, profile=None)
106214              New in version 2017.7.0.
106215
106216
106217              Simulate existing Ingest pipeline on  provided  data.  Available
106218              since Elasticsearch 5.0.
106219
106220              id     Pipeline id
106221
106222              body   Pipeline       definition       as      specified      in
106223                     https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html
106224
106225              verbose
106226                     Specify if the output should be more verbose
106227
106228              CLI example:
106229
106230                 salt myminion elasticsearch.pipeline_simulate mypipeline '{"docs":[{"_index":"index","_type":"type","_id":"id","_source":{"foo":"bar"}},{"_index":"index","_type":"type","_id":"id","_source":{"foo":"rab"}}]}' verbose=True
106231
106232       salt.modules.elasticsearch.repository_create(name,   body,  hosts=None,
106233       profile=None)
106234              New in version 2017.7.0.
106235
106236
106237              Create repository for storing snapshots. Note that shared repos‐
106238              itory paths have to be specified in path.repo Elasticsearch con‐
106239              figuration option.
106240
106241              name   Repository name
106242
106243              body   Repository           definition           as           in
106244                     https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html
106245
106246              CLI example:
106247
106248                 salt myminion elasticsearch.repository_create testrepo '{"type":"fs","settings":{"location":"/tmp/test","compress":true}}'
106249
106250       salt.modules.elasticsearch.repository_delete(name,   hosts=None,   pro‐
106251       file=None)
106252              New in version 2017.7.0.
106253
106254
106255              Delete existing repository.
106256
106257              name   Repository name
106258
106259              CLI example:
106260
106261                 salt myminion elasticsearch.repository_delete testrepo
106262
106263       salt.modules.elasticsearch.repository_get(name,            local=False,
106264       hosts=None, profile=None)
106265              New in version 2017.7.0.
106266
106267
106268              Get existing repository details.
106269
106270              name   Repository name
106271
106272              local  Retrieve only local information, default is false
106273
106274              CLI example:
106275
106276                 salt myminion elasticsearch.repository_get testrepo
106277
106278       salt.modules.elasticsearch.repository_verify(name,   hosts=None,   pro‐
106279       file=None)
106280              New in version 2017.7.0.
106281
106282
106283              Obtain  list  of  cluster nodes which successfully verified this
106284              repository.
106285
106286              name   Repository name
106287
106288              CLI example:
106289
106290                 salt myminion elasticsearch.repository_verify testrepo
106291
106292       salt.modules.elasticsearch.search_template_create(id, body, hosts=None,
106293       profile=None)
106294              New in version 2017.7.0.
106295
106296
106297              Create search template by supplied definition
106298
106299              id     Template ID
106300
106301              body   Search template definition
106302
106303              CLI example:
106304
106305                 salt myminion elasticsearch.search_template_create mytemplate '{"template":{"query":{"match":{"title":"{{query_string}}"}}}}'
106306
106307       salt.modules.elasticsearch.search_template_delete(id,  hosts=None, pro‐
106308       file=None)
106309              New in version 2017.7.0.
106310
106311
106312              Delete existing search template definition.
106313
106314              id     Template ID
106315
106316              CLI example:
106317
106318                 salt myminion elasticsearch.search_template_delete mytemplate
106319
106320       salt.modules.elasticsearch.search_template_get(id,   hosts=None,   pro‐
106321       file=None)
106322              New in version 2017.7.0.
106323
106324
106325              Obtain existing search template definition.
106326
106327              id     Template ID
106328
106329              CLI example:
106330
106331                 salt myminion elasticsearch.search_template_get mytemplate
106332
106333       salt.modules.elasticsearch.snapshot_create(repository,        snapshot,
106334       body=None, hosts=None, profile=None)
106335              New in version 2017.7.0.
106336
106337
106338              Create snapshot in specified repository by supplied definition.
106339
106340              repository
106341                     Repository name
106342
106343              snapshot
106344                     Snapshot name
106345
106346              body   Snapshot           definition            as            in
106347                     https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html
106348
106349              CLI example:
106350
106351                 salt myminion elasticsearch.snapshot_create testrepo testsnapshot '{"indices":"index_1,index_2","ignore_unavailable":true,"include_global_state":false}'
106352
106353       salt.modules.elasticsearch.snapshot_delete(repository,        snapshot,
106354       hosts=None, profile=None)
106355              New in version 2017.7.0.
106356
106357
106358              Delete snapshot from specified repository.
106359
106360              repository
106361                     Repository name
106362
106363              snapshot
106364                     Snapshot name
106365
106366              CLI example:
106367
106368                 salt myminion elasticsearch.snapshot_delete testrepo testsnapshot
106369
106370       salt.modules.elasticsearch.snapshot_get(repository,           snapshot,
106371       ignore_unavailable=False, hosts=None, profile=None)
106372              New in version 2017.7.0.
106373
106374
106375              Obtain snapshot residing in specified repository.
106376
106377              repository
106378                     Repository name
106379
106380              snapshot
106381                     Snapshot name, use _all to obtain all snapshots in speci‐
106382                     fied repository
106383
106384              ignore_unavailable
106385                     Ignore unavailable snapshots
106386
106387              CLI example:
106388
106389                 salt myminion elasticsearch.snapshot_get testrepo testsnapshot
106390
106391       salt.modules.elasticsearch.snapshot_restore(repository,       snapshot,
106392       body=None, hosts=None, profile=None)
106393              New in version 2017.7.0.
106394
106395
106396              Restore existing snapshot in specified  repository  by  supplied
106397              definition.
106398
106399              repository
106400                     Repository name
106401
106402              snapshot
106403                     Snapshot name
106404
106405              body   Restore            definition            as            in
106406                     https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html
106407
106408              CLI example:
106409
106410                 salt myminion elasticsearch.snapshot_restore testrepo testsnapshot '{"indices":"index_1,index_2","ignore_unavailable":true,"include_global_state":true}'
106411
106412       salt.modules.elasticsearch.snapshot_status(repository=None,       snap‐
106413       shot=None, ignore_unavailable=False, hosts=None, profile=None)
106414              New in version 2017.7.0.
106415
106416
106417              Obtain status of all currently running snapshots.
106418
106419              repository
106420                     Particular repository to look for snapshots
106421
106422              snapshot
106423                     Snapshot name
106424
106425              ignore_unavailable
106426                     Ignore unavailable snapshots
106427
106428              CLI example:
106429
106430                 salt myminion elasticsearch.snapshot_status ignore_unavailable=True
106431
106432   salt.modules.environ
106433       Support for getting and setting the environment variables of  the  cur‐
106434       rent salt process.
106435
106436       salt.modules.environ.get(key, default=u'')
106437              Get a single salt process environment variable.
106438
106439              key    String used as the key for environment lookup.
106440
106441              default
106442                     If  the  key is not found in the environment, return this
106443                     value.  Default: ''
106444
106445              CLI Example:
106446
106447                 salt '*' environ.get foo
106448                 salt '*' environ.get baz default=False
106449
106450       salt.modules.environ.has_value(key, value=None)
106451              Determine whether the key exists in  the  current  salt  process
106452              environment  dictionary. Optionally compare the current value of
106453              the environment against the supplied value string.
106454
106455              key    Must be a string. Used as key for environment lookup.
106456
106457              value: Optional. If key exists in the environment,  compare  the
106458                     current  value  with  this value. Return True if they are
106459                     equal.
106460
106461              CLI Example:
106462
106463                 salt '*' environ.has_value foo
106464
106465       salt.modules.environ.item(keys, default=u'')
106466              Get one or more salt process environment variables.   Returns  a
106467              dict.
106468
106469              keys   Either a string or a list of strings that will be used as
106470                     the keys for environment lookup.
106471
106472              default
106473                     If the key is not found in the environment,  return  this
106474                     value.  Default: ''
106475
106476              CLI Example:
106477
106478                 salt '*' environ.item foo
106479                 salt '*' environ.item '[foo, baz]' default=None
106480
106481       salt.modules.environ.items()
106482              Return a dict of the entire environment set for the salt process
106483
106484              CLI Example:
106485
106486                 salt '*' environ.items
106487
106488       salt.modules.environ.setenv(environ,                false_unsets=False,
106489       clear_all=False, update_minion=False, permanent=False)
106490              Set multiple salt process environment  variables  from  a  dict.
106491              Returns a dict.
106492
106493              environ
106494                     Must  be  a  dict. The top-level keys of the dict are the
106495                     names of the environment variables  to  set.  Each  key's
106496                     value   must   be   a  string  or  False.  Refer  to  the
106497                     'false_unsets' parameter for behavior when a value set to
106498                     False.
106499
106500              false_unsets
106501                     If  a key's value is False and false_unsets is True, then
106502                     the key will be removed from the salt processes  environ‐
106503                     ment  dict  entirely.  If  a  key's  value  is  False and
106504                     false_unsets is not True, then the key's  value  will  be
106505                     set to an empty string.  Default: False
106506
106507              clear_all
106508                     USE WITH CAUTION! This option can unset environment vari‐
106509                     ables needed for salt to function properly.  If clear_all
106510                     is  True,  then  any environment variables not defined in
106511                     the environ dict will be deleted.  Default: False
106512
106513              update_minion
106514                     If  True,  apply  these  environ  changes  to  the   main
106515                     salt-minion  process.  If False, the environ changes will
106516                     only affect the current salt subprocess.  Default: False
106517
106518              permanent
106519                     On Windows minions this will set the environment variable
106520                     in the registry so that it is always added as an environ‐
106521                     ment variable when applications open. If you want to  set
106522                     the  variable to HKLM instead of HKCU just pass in "HKLM"
106523                     for this parameter. On all other minion types  this  will
106524                     be  ignored. Note: This will only take affect on applica‐
106525                     tions opened after this has been set.
106526
106527              CLI Example:
106528
106529                 salt '*' environ.setenv '{"foo": "bar", "baz": "quux"}'
106530                 salt '*' environ.setenv '{"a": "b", "c": False}' false_unsets=True
106531
106532       salt.modules.environ.setval(key,   val,   false_unsets=False,    perma‐
106533       nent=False)
106534              Set  a single salt process environment variable. Returns True on
106535              success.
106536
106537              key    The environment key to set. Must be a string.
106538
106539              val    The value to set. Must be a string or False. Refer to the
106540                     'false_unsets' parameter for behavior when set to False.
106541
106542              false_unsets
106543                     If  val  is  False and false_unsets is True, then the key
106544                     will be removed from the salt processes environment  dict
106545                     entirely.   If val is False and false_unsets is not True,
106546                     then the key's value will be  set  to  an  empty  string.
106547                     Default: False.
106548
106549              permanent
106550                     On Windows minions this will set the environment variable
106551                     in the registry so that it is always added as an environ‐
106552                     ment  variable when applications open. If you want to set
106553                     the variable to HKLM instead of HKCU just pass in  "HKLM"
106554                     for  this  parameter. On all other minion types this will
106555                     be ignored. Note: This will only take affect on  applica‐
106556                     tions opened after this has been set.
106557
106558              CLI Example:
106559
106560                 salt '*' environ.setval foo bar
106561                 salt '*' environ.setval baz val=False false_unsets=True
106562                 salt '*' environ.setval baz bar permanent=True
106563                 salt '*' environ.setval baz bar permanent=HKLM
106564
106565   salt.modules.eselect
106566       Support for eselect, Gentoo's configuration and management tool.
106567
106568       salt.modules.eselect.exec_action(module, action, module_parameter=None,
106569       action_parameter=None, state_only=False)
106570              Execute an arbitrary action on a module.
106571
106572              module name of the module to be executed
106573
106574              action name of the module's action to be run
106575
106576              module_parameter
106577                     additional params passed to the defined module
106578
106579              action_parameter
106580                     additional params passed to the defined action
106581
106582              state_only
106583                     don't return any output but only the  success/failure  of
106584                     the operation
106585
106586              CLI Example (updating the php implementation used for apache2):
106587
106588                 salt '*' eselect.exec_action php update action_parameter='apache2'
106589
106590       salt.modules.eselect.get_current_target(module,  module_parameter=None,
106591       action_parameter=None)
106592              Get the currently selected target for the given module.
106593
106594              module name of the module to be queried for its current target
106595
106596              module_parameter
106597                     additional params passed to the defined module
106598
106599              action_parameter
106600                     additional params passed to the 'show' action
106601
106602              CLI Example (current target of system-wide java-vm):
106603
106604                 salt '*' eselect.get_current_target java-vm action_parameter='system'
106605
106606              CLI Example (current target of kernel symlink):
106607
106608                 salt '*' eselect.get_current_target kernel
106609
106610       salt.modules.eselect.get_modules()
106611              List available eselect modules.
106612
106613              CLI Example:
106614
106615                 salt '*' eselect.get_modules
106616
106617       salt.modules.eselect.get_target_list(module, action_parameter=None)
106618              List available targets for the given module.
106619
106620              module name of the module to be queried for its targets
106621
106622              action_parameter
106623                     additional params passed to the defined action
106624
106625                     New in version 2016.11.0.
106626
106627
106628              CLI Example:
106629
106630                 salt '*' eselect.get_target_list kernel
106631
106632       salt.modules.eselect.set_target(module, target,  module_parameter=None,
106633       action_parameter=None)
106634              Set the target for the given module.  Target can be specified by
106635              index or name.
106636
106637              module name of the module for which a target should be set
106638
106639              target name of the target to be set for this module
106640
106641              module_parameter
106642                     additional params passed to the defined module
106643
106644              action_parameter
106645                     additional params passed to the defined action
106646
106647              CLI Example (setting target of system-wide java-vm):
106648
106649                 salt '*' eselect.set_target java-vm icedtea-bin-7 action_parameter='system'
106650
106651              CLI Example (setting target of kernel symlink):
106652
106653                 salt '*' eselect.set_target kernel linux-3.17.5-gentoo
106654
106655   salt.modules.esxi
106656       Glues the VMware vSphere Execution Module to the VMware ESXi Proxy Min‐
106657       ions to the esxi proxymodule.
106658
106659       New in version 2015.8.4.
106660
106661
106662       Depends: vSphere Remote Execution Module (salt.modules.vsphere)
106663
106664       For  documentation  on commands that you can direct to an ESXi host via
106665       proxy, look in the documentation for salt.modules.vsphere.
106666
106667       This execution module calls through to a function  in  the  ESXi  proxy
106668       module called ch_config, which looks up the function passed in the com‐
106669       mand parameter in salt.modules.vsphere and calls it.
106670
106671       To execute commands with an ESXi Proxy Minion using the vSphere  Execu‐
106672       tion Module, use the esxi.cmd <vsphere-function-name> syntax. Both args
106673       and kwargs needed for various vsphere execution module  functions  must
106674       be passed through in a kwarg- type manor.
106675
106676          salt 'esxi-proxy' esxi.cmd system_info
106677          salt 'exsi-proxy' esxi.cmd get_service_policy service_name='ssh'
106678
106679       salt.modules.esxi.cmd(command, *args, **kwargs)
106680
106681       salt.modules.esxi.get_details()
106682
106683   salt.modules.etcd_mod
106684       Execution module to work with etcd
106685
106686       depends
106687
106688              · python-etcd
106689
106690   Configuration
106691       To  work  with  an  etcd server you must configure an etcd profile. The
106692       etcd config can be set in either the Salt Minion configuration file  or
106693       in pillar:
106694
106695          my_etd_config:
106696            etcd.host: 127.0.0.1
106697            etcd.port: 4001
106698
106699       It  is  technically possible to configure etcd without using a profile,
106700       but this is not considered to be a best practice, especially when  mul‐
106701       tiple etcd servers or clusters are available.
106702
106703          etcd.host: 127.0.0.1
106704          etcd.port: 4001
106705
106706       NOTE:
106707          The  etcd  configuration  can  also be set in the Salt Master config
106708          file, but in order to use any etcd  configurations  defined  in  the
106709          Salt Master config, the pillar_opts must be set to True.
106710
106711          Be  aware that setting pillar_opts to True has security implications
106712          as this makes all master configuration  settings  available  in  all
106713          minion's pillars.
106714
106715       salt.modules.etcd_mod.get_(key, recurse=False, profile=None, **kwargs)
106716              New in version 2014.7.0.
106717
106718
106719              Get a value from etcd, by direct path.  Returns None on failure.
106720
106721              CLI Examples:
106722
106723                 salt myminion etcd.get /path/to/key
106724                 salt myminion etcd.get /path/to/key profile=my_etcd_config
106725                 salt myminion etcd.get /path/to/key recurse=True profile=my_etcd_config
106726                 salt myminion etcd.get /path/to/key host=127.0.0.1 port=2379
106727
106728       salt.modules.etcd_mod.ls_(path=u'/', profile=None, **kwargs)
106729              New in version 2014.7.0.
106730
106731
106732              Return  all  keys  and  dirs  inside a specific path. Returns an
106733              empty dict on failure.
106734
106735              CLI Example:
106736
106737                 salt myminion etcd.ls /path/to/dir/
106738                 salt myminion etcd.ls /path/to/dir/ profile=my_etcd_config
106739                 salt myminion etcd.ls /path/to/dir/ host=127.0.0.1 port=2379
106740
106741       salt.modules.etcd_mod.rm_(key, recurse=False, profile=None, **kwargs)
106742              New in version 2014.7.0.
106743
106744
106745              Delete a key from etcd.  Returns True if the  key  was  deleted,
106746              False if it was not and None if there was a failure.
106747
106748              CLI Example:
106749
106750                 salt myminion etcd.rm /path/to/key
106751                 salt myminion etcd.rm /path/to/key profile=my_etcd_config
106752                 salt myminion etcd.rm /path/to/key host=127.0.0.1 port=2379
106753                 salt myminion etcd.rm /path/to/dir recurse=True profile=my_etcd_config
106754
106755       salt.modules.etcd_mod.set_(key,  value,  profile=None, ttl=None, direc‐
106756       tory=False, **kwargs)
106757              New in version 2014.7.0.
106758
106759
106760              Set a key in etcd by direct path. Optionally, create a directory
106761              or set a TTL on the key.  Returns None on failure.
106762
106763              CLI Example:
106764
106765                 salt myminion etcd.set /path/to/key value
106766                 salt myminion etcd.set /path/to/key value profile=my_etcd_config
106767                 salt myminion etcd.set /path/to/key value host=127.0.0.1 port=2379
106768                 salt myminion etcd.set /path/to/dir '' directory=True
106769                 salt myminion etcd.set /path/to/key value ttl=5
106770
106771       salt.modules.etcd_mod.tree(path=u'/', profile=None, **kwargs)
106772              New in version 2014.7.0.
106773
106774
106775              Recurse  through  etcd  and  return all values.  Returns None on
106776              failure.
106777
106778              CLI Example:
106779
106780                 salt myminion etcd.tree
106781                 salt myminion etcd.tree profile=my_etcd_config
106782                 salt myminion etcd.tree host=127.0.0.1 port=2379
106783                 salt myminion etcd.tree /path/to/keys profile=my_etcd_config
106784
106785       salt.modules.etcd_mod.update(fields, path=u'', profile=None, **kwargs)
106786              New in version 2016.3.0.
106787
106788
106789              Sets a dictionary of values  in  one  call.   Useful  for  large
106790              updates  in  syndic  environments.  The dictionary can contain a
106791              mix of formats such as:
106792
106793                 {
106794                   '/some/example/key': 'bar',
106795                   '/another/example/key': 'baz'
106796                 }
106797
106798              Or it may be a straight dictionary, which will be  flattened  to
106799              look like the above format:
106800
106801                 {
106802                     'some': {
106803                         'example': {
106804                             'key': 'bar'
106805                         }
106806                     },
106807                     'another': {
106808                         'example': {
106809                             'key': 'baz'
106810                         }
106811                     }
106812                 }
106813
106814              You can even mix the two formats and it will be flattened to the
106815              first format.  Leading and trailing '/' will be removed.
106816
106817              Empty directories can be created by setting the value of the key
106818              to an empty dictionary.
106819
106820              The 'path' parameter will optionally set the root of the path to
106821              use.
106822
106823              CLI Example:
106824
106825                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}"
106826                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" profile=my_etcd_config
106827                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" host=127.0.0.1 port=2379
106828                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" path='/some/root'
106829
106830       salt.modules.etcd_mod.watch(key,  recurse=False,  profile=None,   time‐
106831       out=0, index=None, **kwargs)
106832              New in version 2016.3.0.
106833
106834
106835              Makes  a  best effort to watch for a key or tree change in etcd.
106836              Returns a dict containing the new key value ( or None if the key
106837              was  deleted  ),  the  modifiedIndex of the key, whether the key
106838              changed or not, the path to the key that changed and whether  it
106839              is a directory or not.
106840
106841              If something catastrophic happens, returns {}
106842
106843              CLI Example:
106844
106845                 salt myminion etcd.watch /path/to/key
106846                 salt myminion etcd.watch /path/to/key timeout=10
106847                 salt myminion etcd.watch /patch/to/key profile=my_etcd_config index=10
106848                 salt myminion etcd.watch /patch/to/key host=127.0.0.1 port=2379
106849
106850   salt.modules.ethtool module
106851       Module for running ethtool command
106852
106853       New in version 2016.3.0.
106854
106855
106856       codeauthor
106857              Krzysztof Pawlowski <msciciel@msciciel.eu>
106858
106859       maturity
106860              new
106861
106862       depends
106863              python-ethtool
106864
106865       platform
106866              linux
106867
106868       salt.modules.ethtool.set_coalesce(devname, **kwargs)
106869              Changes the coalescing settings of the specified network device
106870
106871              CLI Example:
106872
106873                 salt '*' ethtool.set_coalesce <devname> [adaptive_rx=on|off] [adaptive_tx=on|off] [rx_usecs=N] [rx_frames=N]
106874                     [rx_usecs_irq=N] [rx_frames_irq=N] [tx_usecs=N] [tx_frames=N] [tx_usecs_irq=N] [tx_frames_irq=N]
106875                     [stats_block_usecs=N] [pkt_rate_low=N] [rx_usecs_low=N] [rx_frames_low=N] [tx_usecs_low=N] [tx_frames_low=N]
106876                     [pkt_rate_high=N] [rx_usecs_high=N] [rx_frames_high=N] [tx_usecs_high=N] [tx_frames_high=N]
106877                     [sample_interval=N]
106878
106879       salt.modules.ethtool.set_offload(devname, **kwargs)
106880              Changes  the offload parameters and other features of the speci‐
106881              fied network device
106882
106883              CLI Example:
106884
106885                 salt '*' ethtool.set_offload <devname> tcp_segmentation_offload=on
106886
106887       salt.modules.ethtool.set_ring(devname, **kwargs)
106888              Changes the rx/tx  ring  parameters  of  the  specified  network
106889              device
106890
106891              CLI Example:
106892
106893                 salt '*' ethtool.set_ring <devname> [rx=N] [rx_mini=N] [rx_jumbo=N] [tx=N]
106894
106895       salt.modules.ethtool.show_coalesce(devname)
106896              Queries the specified network device for coalescing information
106897
106898              CLI Example:
106899
106900                 salt '*' ethtool.show_coalesce <devname>
106901
106902       salt.modules.ethtool.show_driver(devname)
106903              Queries  the  specified  network  device  for  associated driver
106904              information
106905
106906              CLI Example:
106907
106908                 salt '*' ethtool.show_driver <devname>
106909
106910       salt.modules.ethtool.show_offload(devname)
106911              Queries the specified network device for the state  of  protocol
106912              offload and other features
106913
106914              CLI Example:
106915
106916                 salt '*' ethtool.show_offload <devname>
106917
106918       salt.modules.ethtool.show_ring(devname)
106919              Queries  the  specified  network device for rx/tx ring parameter
106920              information
106921
106922              CLI Example:
106923
106924                 salt '*' ethtool.show_ring <devname>
106925
106926   salt.modules.event
106927       Use the Salt Event System to fire events from the master to the  minion
106928       and vice-versa.
106929
106930       salt.modules.event.fire(data, tag)
106931              Fire an event on the local minion event bus. Data must be formed
106932              as a dict.
106933
106934              CLI Example:
106935
106936                 salt '*' event.fire '{"data":"my event data"}' 'tag'
106937
106938       salt.modules.event.fire_master(data, tag, preload=None)
106939              Fire an event off up to the master server
106940
106941              CLI Example:
106942
106943                 salt '*' event.fire_master '{"data":"my event data"}' 'tag'
106944
106945       salt.modules.event.send(tag, data=None,  preload=None,  with_env=False,
106946       with_grains=False, with_pillar=False, with_env_opts=False, **kwargs)
106947              Send an event to the Salt Master
106948
106949              New in version 2014.7.0.
106950
106951
106952              Parameters
106953
106954                     · tag  -- A tag to give the event.  Use slashes to create
106955                       a namespace for related events. E.g., myco/build/build‐
106956                       server1/start,         myco/build/buildserver1/success,
106957                       myco/build/buildserver1/failure.
106958
106959                     · data -- A dictionary of data  to  send  in  the  event.
106960                       This is free-form. Send any data points that are needed
106961                       for whoever is consuming the event.  Arguments  on  the
106962                       CLI  are interpreted as YAML so complex data structures
106963                       are possible.
106964
106965                     · with_env (Specify True to include all environment vari‐
106966                       ables,  or  specify a list of strings of variable names
106967                       to include.) -- Include environment variables from  the
106968                       current  shell  environment  in the event data as envi‐
106969                       ron.. This is a short-hand  for  working  with  systems
106970                       that  seed  the  environment with relevant data such as
106971                       Jenkins.
106972
106973                     · with_grains (Specify True to  include  all  grains,  or
106974                       specify  a  list of strings of grain names to include.)
106975                       -- Include grains from the current minion in the  event
106976                       data as grains.
106977
106978                     · with_pillar (Specify True to include all Pillar values,
106979                       or specify a list of strings of Pillar keys to include.
106980                       It is a best-practice to only specify a relevant subset
106981                       of Pillar data.) -- Include Pillar values from the cur‐
106982                       rent  minion in the event data as pillar. Remember Pil‐
106983                       lar data is often sensitive data so be careful. This is
106984                       useful  for  passing ephemeral Pillar values through an
106985                       event. Such as passing the pillar={} kwarg in state.sls
106986                       from  the  Master, through an event on the Minion, then
106987                       back to the Master.
106988
106989                     · with_env_opts (Specify True to include saltenv and pil‐
106990                       larenv  values  or  False  to  omit  them.)  -- Include
106991                       saltenv and pillarenv set on minion at the moment  when
106992                       event is send into event data.
106993
106994                     · kwargs  --  Any  additional keyword arguments passed to
106995                       this function will be interpreted  as  key-value  pairs
106996                       and included in the event data.  This provides a conve‐
106997                       nient alternative to YAML for simple values.
106998
106999              CLI Example:
107000
107001                 salt-call event.send myco/mytag foo=Foo bar=Bar
107002                 salt-call event.send 'myco/mytag' '{foo: Foo, bar: Bar}'
107003
107004              A convenient way to allow Jenkins to execute  salt-call  is  via
107005              sudo.  The following rule in sudoers will allow the jenkins user
107006              to run only the following command.
107007
107008              /etc/sudoers (allow preserving the environment):
107009
107010                 jenkins ALL=(ALL) NOPASSWD:SETENV: /usr/bin/salt-call event.send*
107011
107012              Call Jenkins via sudo (preserve the environment):
107013
107014                 sudo -E salt-call event.send myco/jenkins/build/success with_env=[BUILD_ID, BUILD_URL, GIT_BRANCH, GIT_COMMIT]
107015
107016   salt.modules.extfs
107017       Module for managing ext2/3/4 file systems
107018
107019       salt.modules.extfs.attributes(device, args=None)
107020              Return attributes from dumpe2fs for a specified device
107021
107022              CLI Example:
107023
107024                 salt '*' extfs.attributes /dev/sda1
107025
107026       salt.modules.extfs.blocks(device, args=None)
107027              Return block and inode info from dumpe2fs for a specified device
107028
107029              CLI Example:
107030
107031                 salt '*' extfs.blocks /dev/sda1
107032
107033       salt.modules.extfs.dump(device, args=None)
107034              Return all contents of dumpe2fs for a specified device
107035
107036              CLI Example:
107037
107038                 salt '*' extfs.dump /dev/sda1
107039
107040       salt.modules.extfs.mkfs(device, fs_type, **kwargs)
107041              Create a file system on the specified device
107042
107043              CLI Example:
107044
107045                 salt '*' extfs.mkfs /dev/sda1 fs_type=ext4 opts='acl,noexec'
107046
107047              Valid options are:
107048
107049              · block_size: 1024, 2048 or 4096
107050
107051              · check: check for bad blocks
107052
107053              · direct: use direct IO
107054
107055              · ext_opts: extended file system options (comma-separated)
107056
107057              · fragment_size: size of fragments
107058
107059              · force: setting force to True will cause mke2fs to specify  the
107060                -F  option  twice (it is already set once); this is truly dan‐
107061                gerous
107062
107063              · blocks_per_group: number of blocks in a block group
107064
107065              · number_of_groups: ext4 option for a virtual block group
107066
107067              · bytes_per_inode: set the bytes/inode ratio
107068
107069              · inode_size: size of the inode
107070
107071              · journal: set to True to create a journal (default on ext3/4)
107072
107073              · journal_opts: options for the fs journal (comma separated)
107074
107075              · blocks_file: read bad blocks from file
107076
107077              · label: label to apply to the file system
107078
107079              · reserved: percentage of blocks reserved for super-user
107080
107081              · last_dir: last mounted directory
107082
107083              · test: set to True to  not  actually  create  the  file  system
107084                (mke2fs -n)
107085
107086              · number_of_inodes: override default number of inodes
107087
107088              · creator_os: override "creator operating system" field
107089
107090              · opts: mount options (comma separated)
107091
107092              · revision: set the filesystem revision (default 1)
107093
107094              · super: write superblock and group descriptors only
107095
107096              · fs_type: set the filesystem type (REQUIRED)
107097
107098              · usage_type: how the filesystem is going to be used
107099
107100              · uuid: set the UUID for the file system
107101
107102              See  the  mke2fs(8)  manpage  for a more complete description of
107103              these options.
107104
107105       salt.modules.extfs.tune(device, **kwargs)
107106              Set attributes for the specified device (using tune2fs)
107107
107108              CLI Example:
107109
107110                 salt '*' extfs.tune /dev/sda1 force=True label=wildstallyns opts='acl,noexec'
107111
107112              Valid options are:
107113
107114              · max: max mount count
107115
107116              · count: mount count
107117
107118              · error: error behavior
107119
107120              · extended_opts: extended options (comma separated)
107121
107122              · force: force, even if there are errors (set to True)
107123
107124              · group: group name or gid that can use the reserved blocks
107125
107126              · interval: interval between checks
107127
107128              · journal: set to True to create a journal (default on ext3/4)
107129
107130              · journal_opts: options for the fs journal (comma separated)
107131
107132              · label: label to apply to the file system
107133
107134              · reserved: percentage of blocks reserved for super-user
107135
107136              · last_dir: last mounted directory
107137
107138              · opts: mount options (comma separated)
107139
107140              · feature: set or clear a feature (comma separated)
107141
107142              · mmp_check: mmp check interval
107143
107144              · reserved: reserved blocks count
107145
107146              · quota_opts: quota options (comma separated)
107147
107148              · time: time last checked
107149
107150              · user: user or uid who can use the reserved blocks
107151
107152              · uuid: set the UUID for the file system
107153
107154              See the mke2fs(8) manpage for a  more  complete  description  of
107155              these options.
107156
107157   salt.modules.file
107158       Manage  information about regular files, directories, and special files
107159       on the minion, set/read user, group, mode, and data
107160
107161       class salt.modules.file.AttrChanges(added, removed)
107162
107163              added  Alias for field number 0
107164
107165              removed
107166                     Alias for field number 1
107167
107168       salt.modules.file.access(path, mode)
107169              New in version 2014.1.0.
107170
107171
107172              Test whether the Salt process has the specified  access  to  the
107173              file. One of the following modes must be specified:
107174
107175              CLI Example:
107176
107177                 salt '*' file.access /path/to/file f
107178                 salt '*' file.access /path/to/file x
107179
107180       salt.modules.file.append(path, *args, **kwargs)
107181              New in version 0.9.5.
107182
107183
107184              Append text to the end of a file
107185
107186              path   path to file
107187
107188              *args  strings to append to file
107189
107190              CLI Example:
107191
107192                 salt '*' file.append /etc/motd \
107193                         "With all thine offerings thou shalt offer salt." \
107194                         "Salt is what makes things taste bad when it isn't in them."
107195
107196                 Attention
107197
107198                        If you need to pass a string to append and that string
107199                        contains an equal sign, you must include the  argument
107200                        name, args.  For example:
107201
107202                     salt '*' file.append /etc/motd args='cheese=spam'
107203
107204                     salt '*' file.append /etc/motd args="['cheese=spam','spam=cheese']"
107205
107206       salt.modules.file.apply_template_on_contents(contents,  template,  con‐
107207       text, defaults, saltenv)
107208              Return the contents after applying the templating engine
107209
107210              contents
107211                     template string
107212
107213              template
107214                     template format
107215
107216              context
107217                     Overrides default context variables passed  to  the  tem‐
107218                     plate.
107219
107220              defaults
107221                     Default context passed to the template.
107222
107223              CLI Example:
107224
107225                 salt '*' file.apply_template_on_contents \
107226                     contents='This is a {{ template }} string.' \
107227                     template=jinja \
107228                     "context={}" "defaults={'template': 'cool'}" \
107229                     saltenv=base
107230
107231       salt.modules.file.basename(path)
107232              Returns the final component of a pathname
107233
107234              New in version 2015.5.0.
107235
107236
107237              This  can  be  useful  at  the CLI but is frequently useful when
107238              scripting.
107239
107240                 {%- set filename = salt['file.basename'](source_file) %}
107241
107242              CLI Example:
107243
107244                 salt '*' file.basename 'test/test.config'
107245
107246       salt.modules.file.blockreplace(path, marker_start=u'#--  start  managed
107247       zone   --',   marker_end=u'#--   end  managed  zone  --',  content=u'',
107248       append_if_not_found=False, prepend_if_not_found=False,  backup=u'.bak',
107249       dry_run=False, show_changes=True, append_newline=False)
107250              New in version 2014.1.0.
107251
107252
107253              Replace  content  of  a  text block in a file, delimited by line
107254              markers
107255
107256              A block of content delimited by comments  can  help  you  manage
107257              several   lines  entries  without  worrying  about  old  entries
107258              removal.
107259
107260              NOTE:
107261                 This function will store two copies  of  the  file  in-memory
107262                 (the  original  version  and  the edited version) in order to
107263                 detect changes and only edit the targeted file if necessary.
107264
107265              path   Filesystem path to the file to be edited
107266
107267              marker_start
107268                     The line content identifying a line as the start  of  the
107269                     content  block.  Note that the whole line containing this
107270                     marker will be considered, so whitespace or extra content
107271                     before or after the marker is included in final output
107272
107273              marker_end
107274                     The  line  content  identifying  the  end  of the content
107275                     block. As of versions 2017.7.5 and  2018.3.1,  everything
107276                     up  to  the text matching the marker will be replaced, so
107277                     it's important to ensure that your  marker  includes  the
107278                     beginning of the text you wish to replace.
107279
107280              content
107281                     The  content  to be used between the two lines identified
107282                     by marker_start and marker_stop.
107283
107284              append_if_not_found: False
107285                     If markers are not found and set to True then, the  mark‐
107286                     ers and content will be appended to the file.
107287
107288              prepend_if_not_found: False
107289                     If  markers are not found and set to True then, the mark‐
107290                     ers and content will be prepended to the file.
107291
107292              backup The file extension to use for a backup of the file if any
107293                     edit is made.  Set to False to skip making a backup.
107294
107295              dry_run: False
107296                     If  True,  do  not  make any edits to the file and simply
107297                     return the changes that would be made.
107298
107299              show_changes: True
107300                     Controls how changes are presented. If True,  this  func‐
107301                     tion  will  return a unified diff of the changes made. If
107302                     False, then it will return a boolean (True if any changes
107303                     were made, otherwise False).
107304
107305              append_newline: False
107306                     Controls whether or not a newline is appended to the con‐
107307                     tent block. If the value of this argument is True then  a
107308                     newline  will  be  added  to  the content block. If it is
107309                     False, then a newline will not be added  to  the  content
107310                     block. If it is None then a newline will only be added to
107311                     the content block if it does not already end  in  a  new‐
107312                     line.
107313
107314                     New in version 2016.3.4.
107315
107316
107317                     Changed  in version 2017.7.5,2018.3.1: New behavior added
107318                     when value is None.
107319
107320
107321                     Changed in version 2019.2.0: The default  value  of  this
107322                     argument will change to None to match the behavior of the
107323                     file.blockreplace state
107324
107325
107326              CLI Example:
107327
107328                 salt '*' file.blockreplace /etc/hosts '#-- start managed zone foobar : DO NOT EDIT --' \
107329                 '#-- end managed zone foobar --' $'10.0.1.1 foo.foobar\n10.0.1.2 bar.foobar' True
107330
107331       salt.modules.file.chattr(*files, **kwargs)
107332              New in version 2018.3.0.
107333
107334
107335              Change the attributes of files. This  function  accepts  one  or
107336              more files and the following options:
107337
107338              operator
107339                     Can   be   wither   add  or  remove.  Determines  whether
107340                     attributes should be added or removed from files
107341
107342              attributes
107343                     One or more of the following characters: aAcCdDeijPsStTu,
107344                     representing attributes to add to/remove from files
107345
107346              version
107347                     a version number to assign to the file(s)
107348
107349              flags  One  or more of the following characters: RVf, represent‐
107350                     ing flags to assign to chattr (recurse, verbose, suppress
107351                     most errors)
107352
107353              CLI Example:
107354
107355                 salt '*' file.chattr foo1.txt foo2.txt operator=add attributes=ai
107356                 salt '*' file.chattr foo3.txt operator=remove attributes=i version=2
107357
107358       salt.modules.file.check_file_meta(name,  sfn, source, source_sum, user,
107359       group, mode, attrs, saltenv, contents=None)
107360              Check for the changes in the file metadata.
107361
107362              CLI Example:
107363
107364                 salt '*' file.check_file_meta /etc/httpd/conf.d/httpd.conf salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' root, root, '755' base
107365
107366              NOTE:
107367                 Supported hash types include sha512, sha384, sha256,  sha224,
107368                 sha1, and md5.
107369
107370              name   Path to file destination
107371
107372              sfn    Template-processed source file contents
107373
107374              source URL to file source
107375
107376              source_sum
107377                     File checksum information as a dictionary
107378
107379                        {hash_type: md5, hsum: <md5sum>}
107380
107381              user   Destination file user owner
107382
107383              group  Destination file group owner
107384
107385              mode   Destination file permissions mode
107386
107387              attrs  Destination file attributes
107388
107389                     New in version 2018.3.0.
107390
107391
107392              saltenv
107393                     Salt environment used to resolve source files
107394
107395              contents
107396                     File contents
107397
107398       salt.modules.file.check_hash(path, file_hash)
107399              Check if a file matches the given hash string
107400
107401              Returns True if the hash matches, otherwise False.
107402
107403              path   Path to a file local to the minion.
107404
107405              hash   The  hash to check against the file specified in the path
107406                     argument.
107407
107408                     Changed in version 2016.11.4.
107409
107410
107411                     For this and newer versions the  hash  can  be  specified
107412                     without     an     accompanying     hash    type    (e.g.
107413                     e138491e9d5b97023cea823fe17bac22),   but   for    earlier
107414                     releases it is necessary to also specify the hash type in
107415                     the      format      <hash_type>=<hash_value>       (e.g.
107416                     md5=e138491e9d5b97023cea823fe17bac22).
107417
107418              CLI Example:
107419
107420                 salt '*' file.check_hash /etc/fstab e138491e9d5b97023cea823fe17bac22
107421                 salt '*' file.check_hash /etc/fstab md5=e138491e9d5b97023cea823fe17bac22
107422
107423       salt.modules.file.check_managed(name,        source,       source_hash,
107424       source_hash_name,  user,  group,  mode,   attrs,   template,   context,
107425       defaults, saltenv, contents=None, skip_verify=False, **kwargs)
107426              Check to see what changes need to be made for a file
107427
107428              CLI Example:
107429
107430                 salt '*' file.check_managed /etc/httpd/conf.d/httpd.conf salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' root, root, '755' jinja True None None base
107431
107432       salt.modules.file.check_managed_changes(name,    source,   source_hash,
107433       source_hash_name,  user,  group,  mode,   attrs,   template,   context,
107434       defaults,  saltenv,  contents=None, skip_verify=False, keep_mode=False,
107435       **kwargs)
107436              Return a dictionary of what changes need to be made for a file
107437
107438              CLI Example:
107439
107440                 salt '*' file.check_managed_changes /etc/httpd/conf.d/httpd.conf salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' root, root, '755' jinja True None None base
107441
107442       salt.modules.file.check_perms(name, ret, user, group, mode, attrs=None,
107443       follow_symlinks=False)
107444              Check  the  permissions on files, modify attributes and chown if
107445              needed. File  attributes  are  only  verified  if  lsattr(1)  is
107446              installed.
107447
107448              CLI Example:
107449
107450                 salt '*' file.check_perms /etc/sudoers '{}' root root 400 ai
107451
107452              Changed in version 2014.1.3: follow_symlinks option added
107453
107454
107455       salt.modules.file.chgrp(path, group)
107456              Change the group of a file
107457
107458              path   path to the file or directory
107459
107460              group  group owner
107461
107462              CLI Example:
107463
107464                 salt '*' file.chgrp /etc/passwd root
107465
107466       salt.modules.file.chown(path, user, group)
107467              Chown a file, pass the file the desired user and group
107468
107469              path   path to the file or directory
107470
107471              user   user owner
107472
107473              group  group owner
107474
107475              CLI Example:
107476
107477                 salt '*' file.chown /etc/passwd root root
107478
107479       salt.modules.file.comment(path, regex, char=u'#', backup=u'.bak')
107480              Deprecated since version 0.17.0: Use replace() instead.
107481
107482
107483              Comment out specified lines in a file
107484
107485              path   The full path to the file to be edited
107486
107487              regex  A  regular  expression used to find the lines that are to
107488                     be commented; this pattern will be wrapped in parenthesis
107489                     and  will  move  any preceding/trailing ^ or $ characters
107490                     outside the parenthesis (e.g., the pattern ^foo$ will  be
107491                     rewritten as ^(foo)$)
107492
107493              char: #
107494                     The  character  to be inserted at the beginning of a line
107495                     in order to comment it out
107496
107497              backup: .bak
107498                     The file will be backed up before  edit  with  this  file
107499                     extension
107500
107501                     WARNING:
107502                        This  backup  will be overwritten each time sed / com‐
107503                        ment / uncomment is called. Meaning  the  backup  will
107504                        only be useful after the first invocation.
107505
107506              CLI Example:
107507
107508                 salt '*' file.comment /etc/modules pcspkr
107509
107510       salt.modules.file.comment_line(path,   regex,   char=u'#',   cmnt=True,
107511       backup=u'.bak')
107512              Comment or Uncomment a line in a text file.
107513
107514              Parameters
107515
107516                     · path -- string The full path to the text file.
107517
107518                     · regex -- string A regex expression that begins  with  ^
107519                       that  will find the line you wish to comment. Can be as
107520                       simple as ^color =
107521
107522                     · char -- string The character used to comment a line  in
107523                       the type of file you're referencing.  Default is #
107524
107525                     · cmnt  --  boolean  True  to  comment the line. False to
107526                       uncomment the line. Default is True.
107527
107528                     · backup -- string The file extension to give the  backup
107529                       file.  Default  is .bak Set to False/None to not keep a
107530                       backup.
107531
107532              Returns
107533                     boolean Returns True if successful, False if not
107534
107535              CLI Example:
107536
107537              The following example will comment out the pcspkr  line  in  the
107538              /etc/modules  file  using  the  default # character and create a
107539              backup file named modules.bak
107540
107541                 salt '*' file.comment_line '/etc/modules' '^pcspkr'
107542
107543              CLI Example:
107544
107545              The following example will uncomment the  log_level  setting  in
107546              minion  config  file  if  it  is set to either warning, info, or
107547              debug using the # character and create a backup file named  min‐
107548              ion.bk
107549
107550                 salt '*' file.comment_line 'C:\salt\conf\minion' '^log_level: (warning|info|debug)' '#' False '.bk'
107551
107552       salt.modules.file.contains(path, text)
107553              Deprecated since version 0.17.0: Use search() instead.
107554
107555
107556              Return True if the file at path contains text
107557
107558              CLI Example:
107559
107560                 salt '*' file.contains /etc/crontab 'mymaintenance.sh'
107561
107562       salt.modules.file.contains_glob(path, glob_expr)
107563              Deprecated since version 0.17.0: Use search() instead.
107564
107565
107566              Return True if the given glob matches a string in the named file
107567
107568              CLI Example:
107569
107570                 salt '*' file.contains_glob /etc/foobar '*cheese*'
107571
107572       salt.modules.file.contains_regex(path, regex, lchar=u'')
107573              Deprecated since version 0.17.0: Use search() instead.
107574
107575
107576              Return  True if the given regular expression matches on any line
107577              in the text of a given file.
107578
107579              If the lchar argument (leading char) is specified, it will strip
107580              lchar from the left side of each line before trying to match
107581
107582              CLI Example:
107583
107584                 salt '*' file.contains_regex /etc/crontab
107585
107586       salt.modules.file.copy(src, dst, recurse=False, remove_existing=False)
107587              Copy a file or directory from source to dst
107588
107589              In  order to copy a directory, the recurse flag is required, and
107590              will by default overwrite files in the destination with the same
107591              path,  and retain all other existing files. (similar to cp -r on
107592              unix)
107593
107594              remove_existing will remove all files in the  target  directory,
107595              and then copy files from the source.
107596
107597              NOTE:
107598                 The  copy  function  accepts paths that are local to the Salt
107599                 minion.  This function does not support salt://, http://,  or
107600                 the  other  additional  file  paths  that  are  supported  by
107601                 states.file.managed and states.file.recurse.
107602
107603              CLI Example:
107604
107605                 salt '*' file.copy /path/to/src /path/to/dst
107606                 salt '*' file.copy /path/to/src_dir /path/to/dst_dir recurse=True
107607                 salt '*' file.copy /path/to/src_dir /path/to/dst_dir recurse=True remove_existing=True
107608
107609       salt.modules.file.delete_backup(path, backup_id)
107610              New in version 0.17.0.
107611
107612
107613              Delete a previous version of a file that  was  backed  up  using
107614              Salt's file state backup system.
107615
107616              path   The path on the minion to check for backups
107617
107618              backup_id
107619                     The  numeric  id  for  the  backup you wish to delete, as
107620                     found using file.list_backups
107621
107622              CLI Example:
107623
107624                 salt '*' file.delete_backup /var/cache/salt/minion/file_backup/home/foo/bar/baz.txt 0
107625
107626       salt.modules.file.directory_exists(path)
107627              Tests to see if path is a valid directory.  Returns True/False.
107628
107629              CLI Example:
107630
107631                 salt '*' file.directory_exists /etc
107632
107633       salt.modules.file.dirname(path)
107634              Returns the directory component of a pathname
107635
107636              New in version 2015.5.0.
107637
107638
107639              This can be useful at the CLI  but  is  frequently  useful  when
107640              scripting.
107641
107642                 {%- from salt['file.dirname'](tpldir) + '/vars.jinja' import parent_vars %}
107643
107644              CLI Example:
107645
107646                 salt '*' file.dirname 'test/path/filename.config'
107647
107648       salt.modules.file.diskusage(path)
107649              Recursively calculate disk usage of path and return it in bytes
107650
107651              CLI Example:
107652
107653                 salt '*' file.diskusage /path/to/check
107654
107655       salt.modules.file.extract_hash(hash_fn,            hash_type=u'sha256',
107656       file_name=u'', source=u'', source_hash_name=None)
107657              Changed in version 2016.3.5: Prior to  this  version,  only  the
107658              file_name  argument  was  considered for filename matches in the
107659              hash file. This would be problematic for cases in which the user
107660              was  relying on a remote checksum file that they do not control,
107661              and they wished to use a different name for  that  file  on  the
107662              minion from the filename on the remote server (and in the check‐
107663              sum file). For example,  managing  /tmp/myfile.tar.gz  when  the
107664              remote  file  was at https://mydomain.tld/different_name.tar.gz.
107665              The file.managed state now also passes this function the  source
107666              URI  as  well  as  the source_hash_name (if specified). In cases
107667              where source_hash_name is specified, it  takes  precedence  over
107668              both  the  file_name  and  source.  When  it  is  not specified,
107669              file_name takes precedence over source. This allows  for  better
107670              capability for matching hashes.
107671
107672
107673              Changed  in  version 2016.11.0: File name and source URI matches
107674              are no longer disregarded when  source_hash_name  is  specified.
107675              They  will  be  used as fallback matches if there is no match to
107676              the source_hash_name value.
107677
107678
107679              This routine is called from the file.managed  state  to  pull  a
107680              hash  from  a remote file.  Regular expressions are used line by
107681              line on the source_hash file, to find a potential  candidate  of
107682              the  indicated hash type. This avoids many problems of arbitrary
107683              file layout rules. It specifically permits  pulling  hash  codes
107684              from debian *.dsc files.
107685
107686              If  no  exact  match  of a hash and filename are found, then the
107687              first hash found (if any) will be returned. If no hashes at  all
107688              are found, then None will be returned.
107689
107690              For example:
107691
107692                 openerp_7.0-latest-1.tar.gz:
107693                   file.managed:
107694                     - name: /tmp/openerp_7.0-20121227-075624-1_all.deb
107695                     - source: http://nightly.openerp.com/7.0/nightly/deb/openerp_7.0-20121227-075624-1.tar.gz
107696                     - source_hash: http://nightly.openerp.com/7.0/nightly/deb/openerp_7.0-20121227-075624-1.dsc
107697
107698              CLI Example:
107699
107700                 salt '*' file.extract_hash /path/to/hash/file sha512 /etc/foo
107701
107702       salt.modules.file.file_exists(path)
107703              Tests to see if path is a valid file.  Returns True/False.
107704
107705              CLI Example:
107706
107707                 salt '*' file.file_exists /etc/passwd
107708
107709       salt.modules.file.find(path, *args, **kwargs)
107710              Approximate  the Unix find(1) command and return a list of paths
107711              that meet the specified criteria.
107712
107713              The options include match criteria:
107714
107715                 name    = path-glob                 # case sensitive
107716                 iname   = path-glob                 # case insensitive
107717                 regex   = path-regex                # case sensitive
107718                 iregex  = path-regex                # case insensitive
107719                 type    = file-types                # match any listed type
107720                 user    = users                     # match any listed user
107721                 group   = groups                    # match any listed group
107722                 size    = [+-]number[size-unit]     # default unit = byte
107723                 mtime   = interval                  # modified since date
107724                 grep    = regex                     # search file contents
107725
107726              and/or actions:
107727
107728                 delete [= file-types]               # default type = 'f'
107729                 exec    = command [arg ...]         # where {} is replaced by pathname
107730                 print  [= print-opts]
107731
107732              and/or depth criteria:
107733
107734                 maxdepth = maximum depth to transverse in path
107735                 mindepth = minimum depth to transverse before checking files or directories
107736
107737              The default action is print=path
107738
107739              path-glob:
107740
107741                 *                = match zero or more chars
107742                 ?                = match any char
107743                 [abc]            = match a, b, or c
107744                 [!abc] or [^abc] = match anything except a, b, and c
107745                 [x-y]            = match chars x through y
107746                 [!x-y] or [^x-y] = match anything except chars x through y
107747                 {a,b,c}          = match a or b or c
107748
107749              path-regex: a Python Regex (regular expression) pattern to match
107750              pathnames
107751
107752              file-types: a string of one or more of the following:
107753
107754                 a: all file types
107755                 b: block device
107756                 c: character device
107757                 d: directory
107758                 p: FIFO (named pipe)
107759                 f: plain file
107760                 l: symlink
107761                 s: socket
107762
107763              users:  a space and/or comma separated list of user names and/or
107764              uids
107765
107766              groups: a space and/or  comma  separated  list  of  group  names
107767              and/or gids
107768
107769              size-unit:
107770
107771                 b: bytes
107772                 k: kilobytes
107773                 m: megabytes
107774                 g: gigabytes
107775                 t: terabytes
107776
107777              interval:
107778
107779                 [<num>w] [<num>d] [<num>h] [<num>m] [<num>s]
107780
107781                 where:
107782                     w: week
107783                     d: day
107784                     h: hour
107785                     m: minute
107786                     s: second
107787
107788              print-opts:  a  comma and/or space separated list of one or more
107789              of the following:
107790
107791                 group: group name
107792                 md5:   MD5 digest of file contents
107793                 mode:  file permissions (as integer)
107794                 mtime: last modification time (as time_t)
107795                 name:  file basename
107796                 path:  file absolute path
107797                 size:  file size in bytes
107798                 type:  file type
107799                 user:  user name
107800
107801              CLI Examples:
107802
107803                 salt '*' file.find / type=f name=\*.bak size=+10m
107804                 salt '*' file.find /var mtime=+30d size=+10m print=path,size,mtime
107805                 salt '*' file.find /var/log name=\*.[0-9] mtime=+30d size=+10m delete
107806
107807       salt.modules.file.get_devmm(name)
107808              Get major/minor info from a device
107809
107810              CLI Example:
107811
107812                 salt '*' file.get_devmm /dev/chr
107813
107814       salt.modules.file.get_diff(file1,  file2,  saltenv=u'base',  show_file‐
107815       names=True,  show_changes=True, template=False, source_hash_file1=None,
107816       source_hash_file2=None)
107817              Return unified diff of two files
107818
107819              file1  The first file to feed into the diff utility
107820
107821                     Changed in version 2018.3.0: Can now be either a local or
107822                     remote  file. In earlier releases, thuis had to be a file
107823                     local to the minion.
107824
107825
107826              file2  The second file to feed into the diff utility
107827
107828                     Changed in version 2018.3.0: Can now be either a local or
107829                     remote  file.  In earlier releases, this had to be a file
107830                     on the salt fileserver (i.e.  salt://somefile.txt)
107831
107832
107833              show_filenames: True
107834                     Set to False to hide the filenames in the top  two  lines
107835                     of the diff.
107836
107837              show_changes: True
107838                     If  set to False, and there are differences, then instead
107839                     of a diff a simple message stating that  show_changes  is
107840                     set to False will be returned.
107841
107842              template: False
107843                     Set  to True if two templates are being compared. This is
107844                     not useful except for  within  states,  with  the  obfus‐
107845                     cate_templates option set to True.
107846
107847                     New in version 2018.3.0.
107848
107849
107850              source_hash_file1
107851                     If file1 is an http(s)/ftp URL and the file exists in the
107852                     minion's file cache, this option can be  passed  to  keep
107853                     the  minion from re-downloading the archive if the cached
107854                     copy matches the specified hash.
107855
107856                     New in version 2018.3.0.
107857
107858
107859              source_hash_file2
107860                     If file2 is an http(s)/ftp URL and the file exists in the
107861                     minion's  file  cache,  this option can be passed to keep
107862                     the minion from re-downloading the archive if the  cached
107863                     copy matches the specified hash.
107864
107865                     New in version 2018.3.0.
107866
107867
107868              CLI Examples:
107869
107870                 salt '*' file.get_diff /home/fred/.vimrc salt://users/fred/.vimrc
107871                 salt '*' file.get_diff /tmp/foo.txt /tmp/bar.txt
107872
107873       salt.modules.file.get_gid(path, follow_symlinks=True)
107874              Return the id of the group that owns a given file
107875
107876              path   file or directory of which to get the gid
107877
107878              follow_symlinks
107879                     indicated if symlinks should be followed
107880
107881              CLI Example:
107882
107883                 salt '*' file.get_gid /etc/passwd
107884
107885              Changed in version 0.16.4: follow_symlinks option added
107886
107887
107888       salt.modules.file.get_group(path, follow_symlinks=True)
107889              Return the group that owns a given file
107890
107891              path   file or directory of which to get the group
107892
107893              follow_symlinks
107894                     indicated if symlinks should be followed
107895
107896              CLI Example:
107897
107898                 salt '*' file.get_group /etc/passwd
107899
107900              Changed in version 0.16.4: follow_symlinks option added
107901
107902
107903       salt.modules.file.get_hash(path, form=u'sha256', chunk_size=65536)
107904              Get the hash sum of a file
107905
107906              This is better than get_sum for the following reasons:
107907
107908                     · It does not read the entire file into memory.
107909
107910                     ·
107911
107912                       It  does  not  return  a  string on error. The returned
107913                       value of
107914                              get_sum cannot really be  trusted  since  it  is
107915                              vulnerable to collisions: get_sum(..., 'xyz') ==
107916                              'Hash xyz not supported'
107917
107918              path   path to the file or directory
107919
107920              form   desired sum format
107921
107922              chunk_size
107923                     amount to sum at once
107924
107925              CLI Example:
107926
107927                 salt '*' file.get_hash /etc/shadow
107928
107929       salt.modules.file.get_managed(name,  template,   source,   source_hash,
107930       source_hash_name, user, group, mode, attrs, saltenv, context, defaults,
107931       skip_verify=False, **kwargs)
107932              Return the managed file data for file.managed
107933
107934              name   location where the file lives on the server
107935
107936              template
107937                     template format
107938
107939              source managed source file
107940
107941              source_hash
107942                     hash of the source file
107943
107944              source_hash_name
107945                     When source_hash refers to a remote file, this  specifies
107946                     the filename to look for in that file.
107947
107948                     New in version 2016.3.5.
107949
107950
107951              user   Owner of file
107952
107953              group  Group owner of file
107954
107955              mode   Permissions of file
107956
107957              attrs  Attributes of file
107958
107959                     New in version 2018.3.0.
107960
107961
107962              context
107963                     Variables to add to the template context
107964
107965              defaults
107966                     Default values of for context_dict
107967
107968              skip_verify
107969                     If   True,  hash  verification  of  remote  file  sources
107970                     (http://, https://, ftp://)  will  be  skipped,  and  the
107971                     source_hash argument will be ignored.
107972
107973                     New in version 2016.3.0.
107974
107975
107976              CLI Example:
107977
107978                 salt '*' file.get_managed /etc/httpd/conf.d/httpd.conf jinja salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' None root root '755' base None None
107979
107980       salt.modules.file.get_mode(path, follow_symlinks=True)
107981              Return the mode of a file
107982
107983              path   file or directory of which to get the mode
107984
107985              follow_symlinks
107986                     indicated if symlinks should be followed
107987
107988              CLI Example:
107989
107990                 salt '*' file.get_mode /etc/passwd
107991
107992              Changed in version 2014.1.0: follow_symlinks option added
107993
107994
107995       salt.modules.file.get_selinux_context(path)
107996              Get an SELinux context from a given path
107997
107998              CLI Example:
107999
108000                 salt '*' file.get_selinux_context /etc/hosts
108001
108002       salt.modules.file.get_source_sum(file_name=u'',             source=u'',
108003       source_hash=None, source_hash_name=None, saltenv=u'base')
108004              New in version 2016.11.0.
108005
108006
108007              Used by file.get_managed to obtain the hash and hash  type  from
108008              the parameters specified below.
108009
108010              file_name
108011                     Optional  file  name  being  managed,  for  matching with
108012                     file.extract_hash.
108013
108014              source Source file,  as  used  in  file  and  other  states.  If
108015                     source_hash refers to a file containing hashes, then this
108016                     filename will be used to match a filename in  that  file.
108017                     If  the source_hash is a hash expression, then this argu‐
108018                     ment will be ignored.
108019
108020              source_hash
108021                     Hash file/expression, as used in file and  other  states.
108022                     If  this value refers to a remote URL or absolute path to
108023                     a local file, it will  be  cached  and  file.extract_hash
108024                     will be used to obtain a hash from it.
108025
108026              source_hash_name
108027                     Specific file name to look for when source_hash refers to
108028                     a remote file, used to disambiguate ambiguous matches.
108029
108030              saltenv: base
108031                     Salt fileserver environment from which  to  retrieve  the
108032                     source_hash.   This   value   will   only  be  used  when
108033                     source_hash refers to a file on the Salt fileserver (i.e.
108034                     one beginning with salt://).
108035
108036              CLI Example:
108037
108038                 salt '*' file.get_source_sum /tmp/foo.tar.gz source=http://mydomain.tld/foo.tar.gz source_hash=499ae16dcae71eeb7c3a30c75ea7a1a6
108039                 salt '*' file.get_source_sum /tmp/foo.tar.gz source=http://mydomain.tld/foo.tar.gz source_hash=https://mydomain.tld/hashes.md5
108040                 salt '*' file.get_source_sum /tmp/foo.tar.gz source=http://mydomain.tld/foo.tar.gz source_hash=https://mydomain.tld/hashes.md5 source_hash_name=./dir2/foo.tar.gz
108041
108042       salt.modules.file.get_sum(path, form=u'sha256')
108043              Return  the  checksum for the given file. The following checksum
108044              algorithms are supported:
108045
108046              · md5
108047
108048              · sha1
108049
108050              · sha224
108051
108052              · sha256 (default)
108053
108054              · sha384
108055
108056              · sha512
108057
108058              path   path to the file or directory
108059
108060              form   desired sum format
108061
108062              CLI Example:
108063
108064                 salt '*' file.get_sum /etc/passwd sha512
108065
108066       salt.modules.file.get_uid(path, follow_symlinks=True)
108067              Return the id of the user that owns a given file
108068
108069              path   file or directory of which to get the uid
108070
108071              follow_symlinks
108072                     indicated if symlinks should be followed
108073
108074              CLI Example:
108075
108076                 salt '*' file.get_uid /etc/passwd
108077
108078              Changed in version 0.16.4: follow_symlinks option added
108079
108080
108081       salt.modules.file.get_user(path, follow_symlinks=True)
108082              Return the user that owns a given file
108083
108084              path   file or directory of which to get the user
108085
108086              follow_symlinks
108087                     indicated if symlinks should be followed
108088
108089              CLI Example:
108090
108091                 salt '*' file.get_user /etc/passwd
108092
108093              Changed in version 0.16.4: follow_symlinks option added
108094
108095
108096       salt.modules.file.gid_to_group(gid)
108097              Convert the group id to the group name on this system
108098
108099              gid    gid to convert to a group name
108100
108101              CLI Example:
108102
108103                 salt '*' file.gid_to_group 0
108104
108105       salt.modules.file.grep(path, pattern, *opts)
108106              Grep for a string in the specified file
108107
108108              NOTE:
108109                 This function's return value  is  slated  for  refinement  in
108110                 future versions of Salt
108111
108112              path   Path to the file to be searched
108113
108114                     NOTE:
108115                        Globbing is supported (i.e. /var/log/foo/*.log, but if
108116                        globbing is being used then the path should be  quoted
108117                        to  keep  the shell from attempting to expand the glob
108118                        expression.
108119
108120              pattern
108121                     Pattern to match. For example: test, or a[0-5]
108122
108123              opts   Additional command-line flags to pass to  the  grep  com‐
108124                     mand. For example: -v, or -i -B2
108125
108126                     NOTE:
108127                        The  options should come after a double-dash (as shown
108128                        in the examples below) to  keep  Salt's  own  argument
108129                        parser from interpreting them.
108130
108131              CLI Example:
108132
108133                 salt '*' file.grep /etc/passwd nobody
108134                 salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-eth0 ipaddr -- -i
108135                 salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-eth0 ipaddr -- -i -B2
108136                 salt '*' file.grep "/etc/sysconfig/network-scripts/*" ipaddr -- -i -l
108137
108138       salt.modules.file.group_to_gid(group)
108139              Convert the group to the gid on this system
108140
108141              group  group to convert to its gid
108142
108143              CLI Example:
108144
108145                 salt '*' file.group_to_gid root
108146
108147       salt.modules.file.is_blkdev(name)
108148              Check if a file exists and is a block device.
108149
108150              CLI Example:
108151
108152                 salt '*' file.is_blkdev /dev/blk
108153
108154       salt.modules.file.is_chrdev(name)
108155              Check if a file exists and is a character device.
108156
108157              CLI Example:
108158
108159                 salt '*' file.is_chrdev /dev/chr
108160
108161       salt.modules.file.is_fifo(name)
108162              Check if a file exists and is a FIFO.
108163
108164              CLI Example:
108165
108166                 salt '*' file.is_fifo /dev/fifo
108167
108168       salt.modules.file.is_hardlink(path)
108169              Check if the path is a hard link by verifying that the number of
108170              links is larger than 1
108171
108172              CLI Example:
108173
108174                 salt '*' file.is_hardlink /path/to/link
108175
108176       salt.modules.file.is_link(path)
108177              Check if the path is a symbolic link
108178
108179              CLI Example:
108180
108181                 salt '*' file.is_link /path/to/link
108182
108183       salt.modules.file.join(*args)
108184              Return a normalized file system path for the underlying OS
108185
108186              New in version 2014.7.0.
108187
108188
108189              This can be useful at the CLI  but  is  frequently  useful  when
108190              scripting combining path variables:
108191
108192                 {% set www_root = '/var' %}
108193                 {% set app_dir = 'myapp' %}
108194
108195                 myapp_config:
108196                   file:
108197                     - managed
108198                     - name: {{ salt['file.join'](www_root, app_dir, 'config.yaml') }}
108199
108200              CLI Example:
108201
108202                 salt '*' file.join '/' 'usr' 'local' 'bin'
108203
108204       salt.modules.file.lchown(path, user, group)
108205              Chown  a  file, pass the file the desired user and group without
108206              following symlinks.
108207
108208              path   path to the file or directory
108209
108210              user   user owner
108211
108212              group  group owner
108213
108214              CLI Example:
108215
108216                 salt '*' file.chown /etc/passwd root root
108217
108218       salt.modules.file.line(path, content=None, match=None, mode=None, loca‐
108219       tion=None,  before=None,  after=None,  show_changes=True, backup=False,
108220       quiet=False, indent=True)
108221              New in version 2015.8.0.
108222
108223
108224              Edit a line in the configuration  file.  The  path  and  content
108225              arguments  are  required,  as well as passing in one of the mode
108226              options.
108227
108228              path   Filesystem path to the file to be edited.
108229
108230              content
108231                     Content of the line. Allowed to be empty if mode=delete.
108232
108233              match  Match the target line for an action by a  fragment  of  a
108234                     string or regular expression.
108235
108236                     If  neither  before  nor after are provided, and match is
108237                     also None, match becomes the content value.
108238
108239              mode   Defines how to edit a line. One of the following  options
108240                     is required:
108241
108242                     ·
108243
108244                       ensure If  line  does not exist, it will be added. This
108245                              is based on the content argument.
108246
108247                     ·
108248
108249                       replace
108250                              If line already exists, it will be replaced.
108251
108252                     ·
108253
108254                       delete Delete the line, once found.
108255
108256                     ·
108257
108258                       insert Insert a line.
108259
108260                     NOTE:
108261                        If mode=insert is used, at least one of the  following
108262                        options  must  also  be  defined: location, before, or
108263                        after. If location is used, it takes  precedence  over
108264                        the other two options.
108265
108266              location
108267                     Defines  where  to  place  content in the line. Note this
108268                     option is only used when mode=insert is specified.  If  a
108269                     location  is passed in, it takes precedence over both the
108270                     before and after kwargs. Valid locations are:
108271
108272                     ·
108273
108274                       start  Place the content at the beginning of the file.
108275
108276                     ·
108277
108278                       end    Place the content at the end of the file.
108279
108280              before Regular expression or an exact case-sensitive fragment of
108281                     the  string.   This  option  is only used when either the
108282                     ensure or insert mode is defined.
108283
108284              after  Regular expression or an exact case-sensitive fragment of
108285                     the  string.   This  option  is only used when either the
108286                     ensure or insert mode is defined.
108287
108288              show_changes
108289                     Output a unified diff of the old file and the  new  file.
108290                     If  False  return  a  boolean  if  any changes were made.
108291                     Default is True
108292
108293                     NOTE:
108294                        Using this option will store two copies  of  the  file
108295                        in-memory  (the  original  version and the edited ver‐
108296                        sion) in order to generate the diff.
108297
108298              backup Create a backup of the original file with the  extension:
108299                     "Year-Month-Day-Hour-Minutes-Seconds".
108300
108301              quiet  Do  not  raise  any exceptions. E.g. ignore the fact that
108302                     the file that is tried to be edited does  not  exist  and
108303                     nothing really happened.
108304
108305              indent Keep  indentation  with the previous line. This option is
108306                     not considered when the delete mode is specified.
108307
108308              CLI Example:
108309
108310                 salt '*' file.line /etc/nsswitch.conf "networks:        files dns" after="hosts:.*?" mode='ensure'
108311
108312              NOTE:
108313                 If an equal sign (=) appears in an argument to  a  Salt  com‐
108314                 mand,  it  is interpreted as a keyword argument in the format
108315                 of key=val. That processing can be bypassed in order to  pass
108316                 an equal sign through to the remote shell command by manually
108317                 specifying the kwarg:
108318
108319                     salt '*' file.line /path/to/file content="CREATEMAIL_SPOOL=no" match="CREATE_MAIL_SPOOL=yes" mode="replace"
108320
108321       salt.modules.file.link(src, path)
108322              New in version 2014.1.0.
108323
108324
108325              Create a hard link to a file
108326
108327              CLI Example:
108328
108329                 salt '*' file.link /path/to/file /path/to/link
108330
108331       salt.modules.file.list_backups(path, limit=None)
108332              New in version 0.17.0.
108333
108334
108335              Lists the previous versions of a file  backed  up  using  Salt's
108336              file state backup system.
108337
108338              path   The path on the minion to check for backups
108339
108340              limit  Limit the number of results to the most recent N backups
108341
108342              CLI Example:
108343
108344                 salt '*' file.list_backups /foo/bar/baz.txt
108345
108346       salt.modules.file.list_backups_dir(path, limit=None)
108347              Lists  the  previous  versions  of  a  directory backed up using
108348              Salt's file state backup system.
108349
108350              path   The directory on the minion to check for backups
108351
108352              limit  Limit the number of results to the most recent N backups
108353
108354              CLI Example:
108355
108356                 salt '*' file.list_backups_dir /foo/bar/baz/
108357
108358       salt.modules.file.lsattr(path)
108359              New in version 2018.3.0.
108360
108361
108362              Changed in version 2018.3.1: If lsattr is not installed  on  the
108363              system, None is returned.
108364
108365
108366              Changed in version 2018.3.4: If on AIX, None is returned even if
108367              in filesystem as lsattr on AIX is not  the  same  thing  as  the
108368              linux version.
108369
108370
108371              Obtain  the  modifiable attributes of the given file. If path is
108372              to a directory, an empty list is returned.
108373
108374              path   path to file to obtain attributes of. File/directory must
108375                     exist.
108376
108377              CLI Example:
108378
108379                 salt '*' file.lsattr foo1.txt
108380
108381       salt.modules.file.lstat(path)
108382              New in version 2014.1.0.
108383
108384
108385              Returns the lstat attributes for the given file or dir. Does not
108386              support symbolic links.
108387
108388              CLI Example:
108389
108390                 salt '*' file.lstat /path/to/file
108391
108392       salt.modules.file.makedirs_(path, user=None, group=None, mode=None)
108393              Ensure that the directory containing this path is available.
108394
108395              NOTE:
108396                 The path must end with a trailing slash otherwise the  direc‐
108397                 tory/directories  will be created up to the parent directory.
108398                 For example if path is /opt/code, then it would be treated as
108399                 /opt/  but  if  the  path  ends  with  a  trailing slash like
108400                 /opt/code/, then it would be treated as /opt/code/.
108401
108402              CLI Example:
108403
108404                 salt '*' file.makedirs /opt/code/
108405
108406       salt.modules.file.makedirs_perms(name,      user=None,      group=None,
108407       mode=u'0755')
108408              Taken  and modified from os.makedirs to set user, group and mode
108409              for each directory created.
108410
108411              CLI Example:
108412
108413                 salt '*' file.makedirs_perms /opt/code
108414
108415       salt.modules.file.manage_file(name, sfn, ret, source, source_sum, user,
108416       group,  mode,  attrs,  saltenv,  backup, makedirs=False, template=None,
108417       show_changes=True, contents=None, dir_mode=None,  follow_symlinks=True,
108418       skip_verify=False,      keep_mode=False,      encoding=None,     encod‐
108419       ing_errors=u'strict', **kwargs)
108420              Checks the destination against what was retrieved with  get_man‐
108421              aged and makes the appropriate modifications (if necessary).
108422
108423              name   location to place the file
108424
108425              sfn    location of cached file on the minion
108426
108427                     This  is  the path to the file stored on the minion. This
108428                     file is placed on the minion using cp.cache_file.  If the
108429                     hash  sum  of that file matches the source_sum, we do not
108430                     transfer the file to the minion again.
108431
108432                     This file is then grabbed and if it has template set,  it
108433                     renders  the  file to be placed into the correct place on
108434                     the system using salt.files.utils.copyfile()
108435
108436              ret    The initial state return data structure. Pass in None  to
108437                     use the default structure.
108438
108439              source file reference on the master
108440
108441              source_sum
108442                     sum hash for source
108443
108444              user   user owner
108445
108446              group  group owner
108447
108448              backup backup_mode
108449
108450              attrs  attributes to be set on file: '' means remove all of them
108451
108452                     New in version 2018.3.0.
108453
108454
108455              makedirs
108456                     make directories if they do not exist
108457
108458              template
108459                     format of templating
108460
108461              show_changes
108462                     Include diff in state return
108463
108464              contents:
108465                     contents to be placed in the file
108466
108467              dir_mode
108468                     mode for directories created with makedirs
108469
108470              skip_verify: False
108471                     If   True,  hash  verification  of  remote  file  sources
108472                     (http://, https://, ftp://)  will  be  skipped,  and  the
108473                     source_hash argument will be ignored.
108474
108475                     New in version 2016.3.0.
108476
108477
108478              keep_mode: False
108479                     If  True,  and  the  source is a file from the Salt file‐
108480                     server (or a local file on the minion), the mode  of  the
108481                     destination  file  will  be set to the mode of the source
108482                     file.
108483
108484                     NOTE:
108485                        keep_mode does not work with salt-ssh.
108486
108487                        As a consequence of how the files are  transferred  to
108488                        the  minion,  and the inability to connect back to the
108489                        master with salt-ssh, salt is unable to stat the  file
108490                        as  it exists on the fileserver and thus cannot mirror
108491                        the mode on the salt-ssh minion
108492
108493              encoding
108494                     If specified, then the specified encoding will  be  used.
108495                     Otherwise,  the  file  will  be  encoded using the system
108496                     locale           (usually           UTF-8).           See
108497                     https://docs.python.org/3/library/codecs.html#standard-encodings
108498                     for the list of available encodings.
108499
108500                     New in version 2017.7.0.
108501
108502
108503              encoding_errors: 'strict'
108504                     Default           is           `'strict'`.            See
108505                     https://docs.python.org/2/library/codecs.html#codec-base-classes
108506                     for the error handling schemes.
108507
108508                     New in version 2017.7.0.
108509
108510
108511              CLI Example:
108512
108513                 salt '*' file.manage_file /etc/httpd/conf.d/httpd.conf '' '{}' salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' root root '755' '' base ''
108514
108515              Changed in version 2014.7.0: follow_symlinks option added
108516
108517
108518       salt.modules.file.mkdir(dir_path, user=None, group=None, mode=None)
108519              Ensure that a directory is available.
108520
108521              CLI Example:
108522
108523                 salt '*' file.mkdir /opt/jetty/context
108524
108525       salt.modules.file.mknod(name,  ntype,  major=0,   minor=0,   user=None,
108526       group=None, mode=u'0600')
108527              New in version 0.17.0.
108528
108529
108530              Create  a block device, character device, or fifo pipe.  Identi‐
108531              cal to the gnu mknod.
108532
108533              CLI Examples:
108534
108535                 salt '*' file.mknod /dev/chr c 180 31
108536                 salt '*' file.mknod /dev/blk b 8 999
108537                 salt '*' file.nknod /dev/fifo p
108538
108539       salt.modules.file.mknod_blkdev(name,    major,    minor,     user=None,
108540       group=None, mode=u'0660')
108541              New in version 0.17.0.
108542
108543
108544              Create a block device.
108545
108546              CLI Example:
108547
108548                 salt '*' file.mknod_blkdev /dev/blk 8 999
108549
108550       salt.modules.file.mknod_chrdev(name,     major,    minor,    user=None,
108551       group=None, mode=u'0660')
108552              New in version 0.17.0.
108553
108554
108555              Create a character device.
108556
108557              CLI Example:
108558
108559                 salt '*' file.mknod_chrdev /dev/chr 180 31
108560
108561       salt.modules.file.mknod_fifo(name, user=None, group=None, mode=u'0660')
108562              New in version 0.17.0.
108563
108564
108565              Create a FIFO pipe.
108566
108567              CLI Example:
108568
108569                 salt '*' file.mknod_fifo /dev/fifo
108570
108571       salt.modules.file.move(src, dst)
108572              Move a file or directory
108573
108574              CLI Example:
108575
108576                 salt '*' file.move /path/to/src /path/to/dst
108577
108578       salt.modules.file.normpath(path)
108579              Returns Normalize path, eliminating double slashes, etc.
108580
108581              New in version 2015.5.0.
108582
108583
108584              This can be useful at the CLI  but  is  frequently  useful  when
108585              scripting.
108586
108587                 {%- from salt['file.normpath'](tpldir + '/../vars.jinja') import parent_vars %}
108588
108589              CLI Example:
108590
108591                 salt '*' file.normpath 'a/b/c/..'
108592
108593       salt.modules.file.open_files(by_pid=False)
108594              Return a list of all physical open files on the system.
108595
108596              CLI Examples:
108597
108598                 salt '*' file.open_files
108599                 salt '*' file.open_files by_pid=True
108600
108601       salt.modules.file.pardir()
108602              Return  the relative parent directory path symbol for underlying
108603              OS
108604
108605              New in version 2014.7.0.
108606
108607
108608              This can be useful when constructing Salt Formulas.
108609
108610                 {% set pardir = salt['file.pardir']() %}
108611                 {% set final_path = salt['file.join']('subdir', pardir, 'confdir') %}
108612
108613              CLI Example:
108614
108615                 salt '*' file.pardir
108616
108617       salt.modules.file.patch(originalfile,      patchfile,      options=u'',
108618       dry_run=False)
108619              New in version 0.10.4.
108620
108621
108622              Apply a patch to a file or directory.
108623
108624              Equivalent to:
108625
108626                 patch <options> -i <patchfile> <originalfile>
108627
108628              Or, when a directory is patched:
108629
108630                 patch <options> -i <patchfile> -d <originalfile> -p0
108631
108632              originalfile
108633                     The full path to the file or directory to be patched
108634
108635              patchfile
108636                     A patch file to apply to originalfile
108637
108638              options
108639                     Options to pass to patch.
108640
108641              CLI Example:
108642
108643                 salt '*' file.patch /opt/file.txt /tmp/file.txt.patch
108644
108645       salt.modules.file.path_exists_glob(path)
108646              Tests  to  see  if path after expansion is a valid path (file or
108647              directory).  Expansion allows usage of ? * and character  ranges
108648              []. Tilde expansion is not supported. Returns True/False.
108649
108650              New in version 2014.7.0.
108651
108652
108653              CLI Example:
108654
108655                 salt '*' file.path_exists_glob /etc/pam*/pass*
108656
108657       salt.modules.file.prepend(path, *args, **kwargs)
108658              New in version 2014.7.0.
108659
108660
108661              Prepend text to the beginning of a file
108662
108663              path   path to file
108664
108665              *args  strings to prepend to the file
108666
108667              CLI Example:
108668
108669                 salt '*' file.prepend /etc/motd \
108670                         "With all thine offerings thou shalt offer salt." \
108671                         "Salt is what makes things taste bad when it isn't in them."
108672
108673                 Attention
108674
108675                        If you need to pass a string to append and that string
108676                        contains an equal sign, you must include the  argument
108677                        name, args.  For example:
108678
108679                     salt '*' file.prepend /etc/motd args='cheese=spam'
108680
108681                     salt '*' file.prepend /etc/motd args="['cheese=spam','spam=cheese']"
108682
108683       salt.modules.file.psed(path,  before, after, limit=u'', backup=u'.bak',
108684       flags=u'gMS', escape_all=False, multi=False)
108685              Deprecated since version 0.17.0: Use replace() instead.
108686
108687
108688              Make a simple edit to a file (pure Python version)
108689
108690              Equivalent to:
108691
108692                 sed <backup> <options> "/<limit>/ s/<before>/<after>/<flags> <file>"
108693
108694              path   The full path to the file to be edited
108695
108696              before A pattern to find in order to replace with after
108697
108698              after  Text that will replace before
108699
108700              limit: ''
108701                     An initial pattern to search  for  before  searching  for
108702                     before
108703
108704              backup: .bak
108705                     The  file  will  be  backed up before edit with this file
108706                     extension; WARNING: each  time  sed/comment/uncomment  is
108707                     called will overwrite this backup
108708
108709              flags: gMS
108710
108711                     Flags to modify the search. Valid values are:
108712
108713                            · g:  Replace  all occurrences of the pattern, not
108714                              just the first.
108715
108716                            · I: Ignore case.
108717
108718                            · L: Make \w, \W, \b, \B, \s and \S  dependent  on
108719                              the locale.
108720
108721                            · M: Treat multiple lines as a single line.
108722
108723                            · S:  Make  . match all characters, including new‐
108724                              lines.
108725
108726                            · U: Make \w, \W, \b, \B, \d, \D, \s and \S depen‐
108727                              dent on Unicode.
108728
108729                            · X: Verbose (whitespace is ignored).
108730
108731              multi: False
108732                     If True, treat the entire file as a single line
108733
108734              Forward  slashes and single quotes will be escaped automatically
108735              in the before and after patterns.
108736
108737              CLI Example:
108738
108739                 salt '*' file.sed /etc/httpd/httpd.conf 'LogLevel warn' 'LogLevel info'
108740
108741       salt.modules.file.read(path, binary=False)
108742              New in version 2017.7.0.
108743
108744
108745              Return the content of the file.
108746
108747              CLI Example:
108748
108749                 salt '*' file.read /path/to/file
108750
108751       salt.modules.file.readdir(path)
108752              New in version 2014.1.0.
108753
108754
108755              Return a list containing the contents of a directory
108756
108757              CLI Example:
108758
108759                 salt '*' file.readdir /path/to/dir/
108760
108761       salt.modules.file.readlink(path, canonicalize=False)
108762              New in version 2014.1.0.
108763
108764
108765              Return the path that a symlink points to If canonicalize is  set
108766              to True, then it return the final target
108767
108768              CLI Example:
108769
108770                 salt '*' file.readlink /path/to/link
108771
108772       salt.modules.file.remove(path)
108773              Remove  the  named  file. If a directory is supplied, it will be
108774              recursively deleted.
108775
108776              CLI Example:
108777
108778                 salt '*' file.remove /tmp/foo
108779
108780              Changed in version 3000: The method now works on  all  types  of
108781              file system entries, not just files, directories and symlinks.
108782
108783
108784       salt.modules.file.rename(src, dst)
108785              Rename a file or directory
108786
108787              CLI Example:
108788
108789                 salt '*' file.rename /path/to/src /path/to/dst
108790
108791       salt.modules.file.replace(path,  pattern,  repl, count=0, flags=8, buf‐
108792       size=1,     append_if_not_found=False,      prepend_if_not_found=False,
108793       not_found_content=None,          backup=u'.bak',         dry_run=False,
108794       search_only=False,  show_changes=True,  ignore_if_missing=False,   pre‐
108795       serve_inode=True, backslash_literal=False)
108796              New in version 0.17.0.
108797
108798
108799              Replace  occurrences  of a pattern in a file. If show_changes is
108800              True, then a diff of what changed will be returned, otherwise  a
108801              True  will  be returned when changes are made, and False when no
108802              changes are made.
108803
108804              This is a pure Python implementation that wraps Python's sub().
108805
108806              path   Filesystem path to the file to be edited. If a symlink is
108807                     specified, it will be resolved to its target.
108808
108809              pattern
108810                     A  regular  expression,  to  be  matched  using  Python's
108811                     search().
108812
108813              repl   The replacement text
108814
108815              count: 0
108816                     Maximum number of pattern occurrences to be replaced.  If
108817                     count is a positive integer n, only n occurrences will be
108818                     replaced, otherwise all occurrences will be replaced.
108819
108820              flags (list or int)
108821                     A list of flags defined in the  re  module  documentation
108822                     from  the  Python standard library. Each list item should
108823                     be a string that will  correlate  to  the  human-friendly
108824                     flag name. E.g., ['IGNORECASE', 'MULTILINE']. Optionally,
108825                     flags may be an int, with a value  corresponding  to  the
108826                     XOR  (|)  of  all the desired flags. Defaults to 8 (which
108827                     supports 'MULTILINE').
108828
108829              bufsize (int or str)
108830                     How much of the file to buffer into memory at  once.  The
108831                     default value 1 processes one line at a time. The special
108832                     value file may be specified which will  read  the  entire
108833                     file into memory before processing.
108834
108835              append_if_not_found: False
108836                     New in version 2014.7.0.
108837
108838
108839                     If  set  to True, and pattern is not found, then the con‐
108840                     tent will be appended to the file.
108841
108842              prepend_if_not_found: False
108843                     New in version 2014.7.0.
108844
108845
108846                     If set to True and pattern is not found, then the content
108847                     will be prepended to the file.
108848
108849              not_found_content
108850                     New in version 2014.7.0.
108851
108852
108853                     Content  to  use for append/prepend if not found. If None
108854                     (default), uses repl. Useful when repl uses references to
108855                     group in pattern.
108856
108857              backup: .bak
108858                     The file extension to use for a backup of the file before
108859                     editing. Set to False to skip making a backup.
108860
108861              dry_run: False
108862                     If set to True, no changes will be made to the file,  the
108863                     function  will  just  return  the changes that would have
108864                     been made (or a True/False value if show_changes  is  set
108865                     to False).
108866
108867              search_only: False
108868                     If  set to true, this no changes will be performed on the
108869                     file, and this function will simply return  True  if  the
108870                     pattern was matched, and False if not.
108871
108872              show_changes: True
108873                     If True, return a diff of changes made. Otherwise, return
108874                     True if changes were made, and False if not.
108875
108876                     NOTE:
108877                        Using this option will store two copies of the file in
108878                        memory  (the  original version and the edited version)
108879                        in order to generate the diff. This may  not  normally
108880                        be  a  concern,  but  could impact performance if used
108881                        with large files.
108882
108883              ignore_if_missing: False
108884                     New in version 2015.8.0.
108885
108886
108887                     If set to True, this function will simply return False if
108888                     the  file  doesn't  exist.  Otherwise,  an  error will be
108889                     thrown.
108890
108891              preserve_inode: True
108892                     New in version 2015.8.0.
108893
108894
108895                     Preserve the inode of the file, so that  any  hard  links
108896                     continue  to  share the inode with the original filename.
108897                     This works by copying the file, reading  from  the  copy,
108898                     and  writing to the file at the original inode. If False,
108899                     the file will be moved rather than copied, and a new file
108900                     will  be  written  to a new inode, but using the original
108901                     filename. Hard links will then share an  inode  with  the
108902                     backup,  instead  (if  using  backup  to  create a backup
108903                     copy).
108904
108905              backslash_literal: False
108906                     New in version 2016.11.7.
108907
108908
108909                     Interpret backslashes as literal backslashes for the repl
108910                     and  not  escape  characters.   This will help when using
108911                     append/prepend so that the  backslashes  are  not  inter‐
108912                     preted for the repl on the second run of the state.
108913
108914              If an equal sign (=) appears in an argument to a Salt command it
108915              is interpreted as a keyword argument in the format key=val. That
108916              processing  can  be  bypassed  in  order  to  pass an equal sign
108917              through to the remote shell command by manually  specifying  the
108918              kwarg:
108919
108920                 salt '*' file.replace /path/to/file pattern='=' repl=':'
108921                 salt '*' file.replace /path/to/file pattern="bind-address\s*=" repl='bind-address:'
108922
108923              CLI Examples:
108924
108925                 salt '*' file.replace /etc/httpd/httpd.conf pattern='LogLevel warn' repl='LogLevel info'
108926                 salt '*' file.replace /some/file pattern='before' repl='after' flags='[MULTILINE, IGNORECASE]'
108927
108928       salt.modules.file.restore_backup(path, backup_id)
108929              New in version 0.17.0.
108930
108931
108932              Restore  a  previous  version of a file that was backed up using
108933              Salt's file state backup system.
108934
108935              path   The path on the minion to check for backups
108936
108937              backup_id
108938                     The numeric id for the backup you  wish  to  restore,  as
108939                     found using file.list_backups
108940
108941              CLI Example:
108942
108943                 salt '*' file.restore_backup /foo/bar/baz.txt 0
108944
108945       salt.modules.file.restorecon(path, recursive=False)
108946              Reset the SELinux context on a given path
108947
108948              CLI Example:
108949
108950                 salt '*' file.restorecon /home/user/.ssh/authorized_keys
108951
108952       salt.modules.file.rmdir(path)
108953              New in version 2014.1.0.
108954
108955
108956              Remove  the  specified  directory.  Fails  if a directory is not
108957              empty.
108958
108959              CLI Example:
108960
108961                 salt '*' file.rmdir /tmp/foo/
108962
108963       salt.modules.file.search(path,     pattern,     flags=8,     bufsize=1,
108964       ignore_if_missing=False, multiline=False)
108965              New in version 0.17.0.
108966
108967
108968              Search for occurrences of a pattern in a file
108969
108970              Except for multiline, params are identical to replace().
108971
108972              multiline
108973                     If  true, inserts 'MULTILINE' into flags and sets bufsize
108974                     to 'file'.
108975
108976                     New in version 2015.8.0.
108977
108978
108979              CLI Example:
108980
108981                 salt '*' file.search /etc/crontab 'mymaintenance.sh'
108982
108983       salt.modules.file.sed(path, before, after,  limit=u'',  backup=u'.bak',
108984       options=u'-r -e', flags=u'g', escape_all=False, negate_match=False)
108985              Deprecated since version 0.17.0: Use replace() instead.
108986
108987
108988              Make a simple edit to a file
108989
108990              Equivalent to:
108991
108992                 sed <backup> <options> "/<limit>/ s/<before>/<after>/<flags> <file>"
108993
108994              path   The full path to the file to be edited
108995
108996              before A pattern to find in order to replace with after
108997
108998              after  Text that will replace before
108999
109000              limit: ''
109001                     An  initial  pattern  to  search for before searching for
109002                     before
109003
109004              backup: .bak
109005                     The file will be backed up before  edit  with  this  file
109006                     extension;  WARNING:  each  time sed/comment/uncomment is
109007                     called will overwrite this backup
109008
109009              options: -r -e
109010                     Options to pass to sed
109011
109012              flags: g
109013                     Flags to modify the sed search; e.g., i for case-insensi‐
109014                     tive pattern matching
109015
109016              negate_match: False
109017                     Negate the search command (!)
109018
109019                     New in version 0.17.0.
109020
109021
109022              Forward  slashes and single quotes will be escaped automatically
109023              in the before and after patterns.
109024
109025              CLI Example:
109026
109027                 salt '*' file.sed /etc/httpd/httpd.conf 'LogLevel warn' 'LogLevel info'
109028
109029       salt.modules.file.sed_contains(path, text, limit=u'', flags=u'g')
109030              Deprecated since version 0.17.0: Use search() instead.
109031
109032
109033              Return True if the file at path contains text. Utilizes  sed  to
109034              perform the search (line-wise search).
109035
109036              Note: the p flag will be added to any flags you pass in.
109037
109038              CLI Example:
109039
109040                 salt '*' file.contains /etc/crontab 'mymaintenance.sh'
109041
109042       salt.modules.file.seek_read(path, size, offset)
109043              New in version 2014.1.0.
109044
109045
109046              Seek to a position on a file and read it
109047
109048              path   path to file
109049
109050              seek   amount to read at once
109051
109052              offset offset to start into the file
109053
109054              CLI Example:
109055
109056                 salt '*' file.seek_read /path/to/file 4096 0
109057
109058       salt.modules.file.seek_write(path, data, offset)
109059              New in version 2014.1.0.
109060
109061
109062              Seek to a position on a file and write to it
109063
109064              path   path to file
109065
109066              data   data to write to file
109067
109068              offset position in file to start writing
109069
109070              CLI Example:
109071
109072                 salt '*' file.seek_write /path/to/file 'some data' 4096
109073
109074       salt.modules.file.set_mode(path, mode)
109075              Set the mode of a file
109076
109077              path   file or directory of which to set the mode
109078
109079              mode   mode to set the path to
109080
109081              CLI Example:
109082
109083                 salt '*' file.set_mode /etc/passwd 0644
109084
109085       salt.modules.file.set_selinux_context(path,    user=None,    role=None,
109086       type=None, range=None)
109087              Set a specific SELinux label on a given path
109088
109089              CLI Example:
109090
109091                 salt '*' file.set_selinux_context path <user> <role> <type> <range>
109092                 salt '*' file.set_selinux_context /etc/yum.repos.d/epel.repo system_u object_r system_conf_t s0
109093
109094       salt.modules.file.source_list(source, source_hash, saltenv)
109095              Check the source list and return the source to use
109096
109097              CLI Example:
109098
109099                 salt '*' file.source_list salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' base
109100
109101       salt.modules.file.stats(path, hash_type=None, follow_symlinks=True)
109102              Return a dict containing the stats for a given file
109103
109104              CLI Example:
109105
109106                 salt '*' file.stats /etc/passwd
109107
109108       salt.modules.file.statvfs(path)
109109              New in version 2014.1.0.
109110
109111
109112              Perform a statvfs call against  the  filesystem  that  the  file
109113              resides on
109114
109115              CLI Example:
109116
109117                 salt '*' file.statvfs /path/to/file
109118
109119       salt.modules.file.symlink(src, path)
109120              Create a symbolic link (symlink, soft link) to a file
109121
109122              CLI Example:
109123
109124                 salt '*' file.symlink /path/to/file /path/to/link
109125
109126       salt.modules.file.touch(name, atime=None, mtime=None)
109127              New in version 0.9.5.
109128
109129
109130              Just  like  the touch command, create a file if it doesn't exist
109131              or simply update the atime and mtime if it already does.
109132
109133              atime: Access time in Unix epoch time
109134
109135              mtime: Last modification in Unix epoch time
109136
109137              CLI Example:
109138
109139                 salt '*' file.touch /var/log/emptyfile
109140
109141       salt.modules.file.truncate(path, length)
109142              New in version 2014.1.0.
109143
109144
109145              Seek to a position on a file and delete  everything  after  that
109146              point
109147
109148              path   path to file
109149
109150              length offset into file to truncate
109151
109152              CLI Example:
109153
109154                 salt '*' file.truncate /path/to/file 512
109155
109156       salt.modules.file.uid_to_user(uid)
109157              Convert a uid to a user name
109158
109159              uid    uid to convert to a username
109160
109161              CLI Example:
109162
109163                 salt '*' file.uid_to_user 0
109164
109165       salt.modules.file.uncomment(path, regex, char=u'#', backup=u'.bak')
109166              Deprecated since version 0.17.0: Use replace() instead.
109167
109168
109169              Uncomment specified commented lines in a file
109170
109171              path   The full path to the file to be edited
109172
109173              regex  A  regular  expression used to find the lines that are to
109174                     be uncommented.  This regex should not include  the  com‐
109175                     ment  character.  A  leading ^ character will be stripped
109176                     for convenience (for easily switching  between  comment()
109177                     and uncomment()).
109178
109179              char: #
109180                     The character to remove in order to uncomment a line
109181
109182              backup: .bak
109183                     The  file  will  be  backed up before edit with this file
109184                     extension; WARNING: each  time  sed/comment/uncomment  is
109185                     called will overwrite this backup
109186
109187              CLI Example:
109188
109189                 salt '*' file.uncomment /etc/hosts.deny 'ALL: PARANOID'
109190
109191       salt.modules.file.user_to_uid(user)
109192              Convert user name to a uid
109193
109194              user   user name to convert to its uid
109195
109196              CLI Example:
109197
109198                 salt '*' file.user_to_uid root
109199
109200       salt.modules.file.write(path, *args, **kwargs)
109201              New in version 2014.7.0.
109202
109203
109204              Write text to a file, overwriting any existing contents.
109205
109206              path   path to file
109207
109208              *args  strings to write to the file
109209
109210              CLI Example:
109211
109212                 salt '*' file.write /etc/motd \
109213                         "With all thine offerings thou shalt offer salt."
109214
109215                 Attention
109216
109217                        If you need to pass a string to append and that string
109218                        contains an equal sign, you must include the  argument
109219                        name, args.  For example:
109220
109221                     salt '*' file.write /etc/motd args='cheese=spam'
109222
109223                     salt '*' file.write /etc/motd args="['cheese=spam','spam=cheese']"
109224
109225   salt.modules.firewalld
109226       Support for firewalld.
109227
109228       New in version 2015.2.0.
109229
109230
109231       salt.modules.firewalld.add_interface(zone, interface, permanent=True)
109232              Bind an interface to a zone
109233
109234              New in version 2016.3.0.
109235
109236
109237              CLI Example:
109238
109239                 salt '*' firewalld.add_interface zone eth0
109240
109241       salt.modules.firewalld.add_masquerade(zone=None, permanent=True)
109242              Enable  masquerade  on a zone.  If zone is omitted, default zone
109243              will be used.
109244
109245              New in version 2015.8.0.
109246
109247
109248              CLI Example:
109249
109250                 salt '*' firewalld.add_masquerade
109251
109252              To enable masquerade on a specific zone
109253
109254                 salt '*' firewalld.add_masquerade dmz
109255
109256       salt.modules.firewalld.add_port(zone, port, permanent=True,  force_mas‐
109257       querade=False)
109258              Allow specific ports in a zone.
109259
109260              New in version 2015.8.0.
109261
109262
109263              CLI Example:
109264
109265                 salt '*' firewalld.add_port internal 443/tcp
109266
109267              force_masquerade
109268                     when  a zone is created ensure masquerade is also enabled
109269                     on that zone.
109270
109271       salt.modules.firewalld.add_port_fwd(zone,  src,   dest,   proto=u'tcp',
109272       dstaddr=u'', permanent=True, force_masquerade=False)
109273              Add port forwarding.
109274
109275              New in version 2015.8.0.
109276
109277
109278              CLI Example:
109279
109280                 salt '*' firewalld.add_port_fwd public 80 443 tcp
109281
109282              force_masquerade
109283                     when  a zone is created ensure masquerade is also enabled
109284                     on that zone.
109285
109286       salt.modules.firewalld.add_rich_rule(zone, rule, permanent=True)
109287              Add a rich rule to a zone
109288
109289              New in version 2016.11.0.
109290
109291
109292              CLI Example:
109293
109294                 salt '*' firewalld.add_rich_rule zone 'rule'
109295
109296       salt.modules.firewalld.add_service(service, zone=None, permanent=True)
109297              Add a service for zone. If zone is omitted, default zone will be
109298              used.
109299
109300              CLI Example:
109301
109302                 salt '*' firewalld.add_service ssh
109303
109304              To assign a service to a specific zone:
109305
109306                 salt '*' firewalld.add_service ssh my_zone
109307
109308       salt.modules.firewalld.add_service_port(service, port)
109309              Add a new port to the specified service.
109310
109311              New in version 2016.11.0.
109312
109313
109314              CLI Example:
109315
109316                 salt '*' firewalld.add_service_port zone 80
109317
109318       salt.modules.firewalld.add_service_protocol(service, protocol)
109319              Add a new protocol to the specified service.
109320
109321              New in version 2016.11.0.
109322
109323
109324              CLI Example:
109325
109326                 salt '*' firewalld.add_service_protocol zone ssh
109327
109328       salt.modules.firewalld.add_source(zone, source, permanent=True)
109329              Bind a source to a zone
109330
109331              New in version 2016.3.0.
109332
109333
109334              CLI Example:
109335
109336                 salt '*' firewalld.add_source zone 192.168.1.0/24
109337
109338       salt.modules.firewalld.allow_icmp(zone, icmp, permanent=True)
109339              Allow a specific ICMP type on a zone
109340
109341              New in version 2015.8.0.
109342
109343
109344              CLI Example:
109345
109346                 salt '*' firewalld.allow_icmp zone echo-reply
109347
109348       salt.modules.firewalld.block_icmp(zone, icmp, permanent=True)
109349              Block a specific ICMP type on a zone
109350
109351              New in version 2015.8.0.
109352
109353
109354              CLI Example:
109355
109356                 salt '*' firewalld.block_icmp zone echo-reply
109357
109358       salt.modules.firewalld.default_zone()
109359              Print default zone for connections and interfaces
109360
109361              CLI Example:
109362
109363                 salt '*' firewalld.default_zone
109364
109365       salt.modules.firewalld.delete_service(name, restart=True)
109366              Delete an existing service
109367
109368              CLI Example:
109369
109370                 salt '*' firewalld.delete_service my_service
109371
109372              By default firewalld will be reloaded. However, to avoid reload‐
109373              ing you need to specify the restart as False
109374
109375                 salt '*' firewalld.delete_service my_service False
109376
109377       salt.modules.firewalld.delete_zone(zone, restart=True)
109378              Delete an existing zone
109379
109380              CLI Example:
109381
109382                 salt '*' firewalld.delete_zone my_zone
109383
109384              By default firewalld will be reloaded. However, to avoid reload‐
109385              ing you need to specify the restart as False
109386
109387                 salt '*' firewalld.delete_zone my_zone False
109388
109389       salt.modules.firewalld.get_icmp_types(permanent=True)
109390              Print predefined icmptypes
109391
109392              CLI Example:
109393
109394                 salt '*' firewalld.get_icmp_types
109395
109396       salt.modules.firewalld.get_interfaces(zone, permanent=True)
109397              List interfaces bound to a zone
109398
109399              New in version 2016.3.0.
109400
109401
109402              CLI Example:
109403
109404                 salt '*' firewalld.get_interfaces zone
109405
109406       salt.modules.firewalld.get_masquerade(zone=None, permanent=True)
109407              Show  if masquerading is enabled on a zone.  If zone is omitted,
109408              default zone will be used.
109409
109410              CLI Example:
109411
109412                 salt '*' firewalld.get_masquerade zone
109413
109414       salt.modules.firewalld.get_rich_rules(zone, permanent=True)
109415              List rich rules bound to a zone
109416
109417              New in version 2016.11.0.
109418
109419
109420              CLI Example:
109421
109422                 salt '*' firewalld.get_rich_rules zone
109423
109424       salt.modules.firewalld.get_service_ports(service)
109425              List ports of a service.
109426
109427              New in version 2016.11.0.
109428
109429
109430              CLI Example:
109431
109432                 salt '*' firewalld.get_service_ports zone
109433
109434       salt.modules.firewalld.get_service_protocols(service)
109435              List protocols of a service.
109436
109437              New in version 2016.11.0.
109438
109439
109440              CLI Example:
109441
109442                 salt '*' firewalld.get_service_protocols zone
109443
109444       salt.modules.firewalld.get_services(permanent=True)
109445              Print predefined services
109446
109447              CLI Example:
109448
109449                 salt '*' firewalld.get_services
109450
109451       salt.modules.firewalld.get_sources(zone, permanent=True)
109452              List sources bound to a zone
109453
109454              New in version 2016.3.0.
109455
109456
109457              CLI Example:
109458
109459                 salt '*' firewalld.get_sources zone
109460
109461       salt.modules.firewalld.get_zones(permanent=True)
109462              Print predefined zones
109463
109464              CLI Example:
109465
109466                 salt '*' firewalld.get_zones
109467
109468       salt.modules.firewalld.list_all(zone=None, permanent=True)
109469              List everything added for or enabled in a zone
109470
109471              CLI Example:
109472
109473                 salt '*' firewalld.list_all
109474
109475              List a specific zone
109476
109477                 salt '*' firewalld.list_all my_zone
109478
109479       salt.modules.firewalld.list_icmp_block(zone, permanent=True)
109480              List ICMP blocks on a zone
109481
109482              New in version 2015.8.0.
109483
109484
109485              CLI Example:
109486
109487                 salt '*' firewlld.list_icmp_block zone
109488
109489       salt.modules.firewalld.list_port_fwd(zone, permanent=True)
109490              List port forwarding
109491
109492              New in version 2015.8.0.
109493
109494
109495              CLI Example:
109496
109497                 salt '*' firewalld.list_port_fwd public
109498
109499       salt.modules.firewalld.list_ports(zone, permanent=True)
109500              List all ports in a zone.
109501
109502              New in version 2015.8.0.
109503
109504
109505              CLI Example:
109506
109507                 salt '*' firewalld.list_ports
109508
109509       salt.modules.firewalld.list_services(zone=None, permanent=True)
109510              List services added for zone as a space separated list.  If zone
109511              is omitted, default zone will be used.
109512
109513              CLI Example:
109514
109515                 salt '*' firewalld.list_services
109516
109517              List a specific zone
109518
109519                 salt '*' firewalld.list_services my_zone
109520
109521       salt.modules.firewalld.list_zones(permanent=True)
109522              List everything added for or enabled in all zones
109523
109524              CLI Example:
109525
109526                 salt '*' firewalld.list_zones
109527
109528       salt.modules.firewalld.make_permanent()
109529              Make current runtime configuration permanent.
109530
109531              New in version 2016.3.0.
109532
109533
109534              CLI Example:
109535
109536                 salt '*' firewalld.make_permanent
109537
109538       salt.modules.firewalld.new_service(name, restart=True)
109539              Add a new service
109540
109541              CLI Example:
109542
109543                 salt '*' firewalld.new_service my_service
109544
109545              By default firewalld will be reloaded. However, to avoid reload‐
109546              ing you need to specify the restart as False
109547
109548                 salt '*' firewalld.new_service my_service False
109549
109550       salt.modules.firewalld.new_zone(zone, restart=True)
109551              Add a new zone
109552
109553              CLI Example:
109554
109555                 salt '*' firewalld.new_zone my_zone
109556
109557              By default firewalld will be reloaded. However, to avoid reload‐
109558              ing you need to specify the restart as False
109559
109560                 salt '*' firewalld.new_zone my_zone False
109561
109562       salt.modules.firewalld.reload_rules()
109563              Reload  the firewall rules, which makes the permanent configura‐
109564              tion the new runtime configuration without losing state informa‐
109565              tion.
109566
109567              New in version 2016.11.0.
109568
109569
109570              CLI Example:
109571
109572                 salt '*' firewalld.reload
109573
109574       salt.modules.firewalld.remove_interface(zone,     interface,     perma‐
109575       nent=True)
109576              Remove an interface bound to a zone
109577
109578              New in version 2016.3.0.
109579
109580
109581              CLI Example:
109582
109583                 salt '*' firewalld.remove_interface zone eth0
109584
109585       salt.modules.firewalld.remove_masquerade(zone=None, permanent=True)
109586              Remove masquerade on a zone.  If zone is omitted,  default  zone
109587              will be used.
109588
109589              New in version 2015.8.0.
109590
109591
109592              CLI Example:
109593
109594                 salt '*' firewalld.remove_masquerade
109595
109596              To remove masquerade on a specific zone
109597
109598                 salt '*' firewalld.remove_masquerade dmz
109599
109600       salt.modules.firewalld.remove_port(zone, port, permanent=True)
109601              Remove a specific port from a zone.
109602
109603              New in version 2015.8.0.
109604
109605
109606              CLI Example:
109607
109608                 salt '*' firewalld.remove_port internal 443/tcp
109609
109610       salt.modules.firewalld.remove_port_fwd(zone,  src,  dest, proto=u'tcp',
109611       dstaddr=u'', permanent=True)
109612              Remove Port Forwarding.
109613
109614              New in version 2015.8.0.
109615
109616
109617              CLI Example:
109618
109619                 salt '*' firewalld.remove_port_fwd public 80 443 tcp
109620
109621       salt.modules.firewalld.remove_rich_rule(zone, rule, permanent=True)
109622              Add a rich rule to a zone
109623
109624              New in version 2016.11.0.
109625
109626
109627              CLI Example:
109628
109629                 salt '*' firewalld.remove_rich_rule zone 'rule'
109630
109631       salt.modules.firewalld.remove_service(service,    zone=None,     perma‐
109632       nent=True)
109633              Remove  a service from zone. This option can be specified multi‐
109634              ple times.  If zone is omitted, default zone will be used.
109635
109636              CLI Example:
109637
109638                 salt '*' firewalld.remove_service ssh
109639
109640              To remove a service from a specific zone
109641
109642                 salt '*' firewalld.remove_service ssh dmz
109643
109644       salt.modules.firewalld.remove_service_port(service, port)
109645              Remove a port from the specified service.
109646
109647              New in version 2016.11.0.
109648
109649
109650              CLI Example:
109651
109652                 salt '*' firewalld.remove_service_port zone 80
109653
109654       salt.modules.firewalld.remove_service_protocol(service, protocol)
109655              Remove a protocol from the specified service.
109656
109657              New in version 2016.11.0.
109658
109659
109660              CLI Example:
109661
109662                 salt '*' firewalld.remove_service_protocol zone ssh
109663
109664       salt.modules.firewalld.remove_source(zone, source, permanent=True)
109665              Remove a source bound to a zone
109666
109667              New in version 2016.3.0.
109668
109669
109670              CLI Example:
109671
109672                 salt '*' firewalld.remove_source zone 192.168.1.0/24
109673
109674       salt.modules.firewalld.set_default_zone(zone)
109675              Set default zone
109676
109677              CLI Example:
109678
109679                 salt '*' firewalld.set_default_zone damian
109680
109681       salt.modules.firewalld.version()
109682              Return version from firewall-cmd
109683
109684              CLI Example:
109685
109686                 salt '*' firewalld.version
109687
109688   salt.modules.freebsd_sysctl
109689       Module for viewing and modifying sysctl parameters
109690
109691       salt.modules.freebsd_sysctl.assign(name, value)
109692              Assign a single sysctl parameter for this minion
109693
109694              CLI Example:
109695
109696                 salt '*' sysctl.assign net.inet.icmp.icmplim 50
109697
109698       salt.modules.freebsd_sysctl.get(name)
109699              Return a single sysctl parameter for this minion
109700
109701              CLI Example:
109702
109703                 salt '*' sysctl.get hw.physmem
109704
109705       salt.modules.freebsd_sysctl.persist(name,          value,          con‐
109706       fig=u'/etc/sysctl.conf')
109707              Assign and persist a simple sysctl parameter for this minion
109708
109709              CLI Example:
109710
109711                 salt '*' sysctl.persist net.inet.icmp.icmplim 50
109712                 salt '*' sysctl.persist coretemp_load NO config=/boot/loader.conf
109713
109714       salt.modules.freebsd_sysctl.show(config_file=False)
109715              Return a list of sysctl parameters for this minion
109716
109717              CLI Example:
109718
109719                 salt '*' sysctl.show
109720
109721   salt.modules.freebsd_update module
109722       Support for freebsd-update utility on FreeBSD.
109723
109724       New in version 2017.7.0.
109725
109726
109727       maintainer
109728              George Mamalakis <mamalos@gmail.com>
109729
109730       maturity
109731              new
109732
109733       platform
109734              FreeBSD
109735
109736       salt.modules.freebsd_update.fetch(**kwargs)
109737              New in version 2016.3.4.
109738
109739
109740              freebsd-update  fetch  wrapper. Based on the currently installed
109741              world and the configuration options  set,  fetch  all  available
109742              binary updates.
109743
109744              kwargs:
109745                     Parameters of freebsd-update command.
109746
109747       salt.modules.freebsd_update.ids(**kwargs)
109748              New in version 2016.3.4.
109749
109750
109751              freebsd-update IDS wrapper function. Compares the system against
109752              a "known good" index of the installed release.
109753
109754              kwargs:
109755                     Parameters of freebsd-update command.
109756
109757       salt.modules.freebsd_update.install(**kwargs)
109758              New in version 2016.3.4.
109759
109760
109761              freebsd-update  install  wrapper.  Install  the  most   recently
109762              fetched updates or upgrade.
109763
109764              kwargs:
109765                     Parameters of freebsd-update command.
109766
109767       salt.modules.freebsd_update.rollback(**kwargs)
109768              New in version 2016.3.4.
109769
109770
109771              freebsd-update  rollback  wrapper.  Uninstalls the most recently
109772              installed updates.
109773
109774              kwargs:
109775                     Parameters of freebsd-update command.
109776
109777       salt.modules.freebsd_update.update(**kwargs)
109778              New in version 2016.3.4.
109779
109780
109781              Command that simplifies freebsd-update by running freebsd-update
109782              fetch first and then freebsd-update install.
109783
109784              kwargs:
109785                     Parameters of freebsd-update command.
109786
109787       salt.modules.freebsd_update.upgrade(**kwargs)
109788              New in version 2016.3.4.
109789
109790
109791              Dummy  function used only to print a message that upgrade is not
109792              available.  The reason is that upgrade needs manual intervention
109793              and reboot, so even if used with:
109794                 yes | freebsd-upgrade -r VERSION
109795
109796              the  additional  freebsd-update  install that needs to run after
109797              the reboot cannot be implemented easily.
109798
109799              kwargs:
109800                     Parameters of freebsd-update command.
109801
109802   salt.modules.freebsdjail
109803       The jail module for FreeBSD
109804
109805       salt.modules.freebsdjail.fstab(jail)
109806              Display contents of a fstab(5) file defined in specified  jail's
109807              configuration. If no file is defined, return False.
109808
109809              CLI Example:
109810
109811                 salt '*' jail.fstab <jail name>
109812
109813       salt.modules.freebsdjail.get_enabled()
109814              Return which jails are set to be run
109815
109816              CLI Example:
109817
109818                 salt '*' jail.get_enabled
109819
109820       salt.modules.freebsdjail.is_enabled()
109821              See if jail service is actually enabled on boot
109822
109823              CLI Example:
109824
109825                 salt '*' jail.is_enabled <jail name>
109826
109827       salt.modules.freebsdjail.restart(jail=u'')
109828              Restart the specified jail or all, if none specified
109829
109830              CLI Example:
109831
109832                 salt '*' jail.restart [<jail name>]
109833
109834       salt.modules.freebsdjail.show_config(jail)
109835              Display specified jail's configuration
109836
109837              CLI Example:
109838
109839                 salt '*' jail.show_config <jail name>
109840
109841       salt.modules.freebsdjail.start(jail=u'')
109842              Start the specified jail or all, if none specified
109843
109844              CLI Example:
109845
109846                 salt '*' jail.start [<jail name>]
109847
109848       salt.modules.freebsdjail.status(jail)
109849              See if specified jail is currently running
109850
109851              CLI Example:
109852
109853                 salt '*' jail.status <jail name>
109854
109855       salt.modules.freebsdjail.stop(jail=u'')
109856              Stop the specified jail or all, if none specified
109857
109858              CLI Example:
109859
109860                 salt '*' jail.stop [<jail name>]
109861
109862       salt.modules.freebsdjail.sysctl()
109863              Dump all jail related kernel states (sysctl)
109864
109865              CLI Example:
109866
109867                 salt '*' jail.sysctl
109868
109869   salt.modules.freebsdkmod
109870       Module to manage FreeBSD kernel modules
109871
109872       salt.modules.freebsdkmod.available()
109873              Return a list of all available kernel modules
109874
109875              CLI Example:
109876
109877                 salt '*' kmod.available
109878
109879       salt.modules.freebsdkmod.check_available(mod)
109880              Check to see if the specified kernel module is available
109881
109882              CLI Example:
109883
109884                 salt '*' kmod.check_available vmm
109885
109886       salt.modules.freebsdkmod.is_loaded(mod)
109887              Check to see if the specified kernel module is loaded
109888
109889              CLI Example:
109890
109891                 salt '*' kmod.is_loaded vmm
109892
109893       salt.modules.freebsdkmod.load(mod, persist=False)
109894              Load the specified kernel module
109895
109896              mod    Name of the module to add
109897
109898              persist
109899                     Write  the module to sysrc kld_modules to make it load on
109900                     system reboot
109901
109902              CLI Example:
109903
109904                 salt '*' kmod.load bhyve
109905
109906       salt.modules.freebsdkmod.lsmod()
109907              Return a dict containing information about currently loaded mod‐
109908              ules
109909
109910              CLI Example:
109911
109912                 salt '*' kmod.lsmod
109913
109914       salt.modules.freebsdkmod.mod_list(only_persist=False)
109915              Return a list of the loaded module names
109916
109917              CLI Example:
109918
109919                 salt '*' kmod.mod_list
109920
109921       salt.modules.freebsdkmod.remove(mod, persist=False, comment=True)
109922              Remove the specified kernel module
109923
109924              mod    Name of module to remove
109925
109926              persist
109927                     Also remove module from /boot/loader.conf
109928
109929              comment
109930                     If    persist    is    set   don't   remove   line   from
109931                     /boot/loader.conf but only comment it
109932
109933              CLI Example:
109934
109935                 salt '*' kmod.remove vmm
109936
109937   salt.modules.freebsdpkg
109938       Remote package support using pkg_add(1)
109939
109940       IMPORTANT:
109941          If you feel that Salt should be using this module to manage packages
109942          on  a  minion, and it is using a different module (or gives an error
109943          similar to 'pkg.install' is not available), see here.
109944
109945       WARNING:
109946          This module has been completely rewritten. Up to and including  ver‐
109947          sion  0.17.0, it supported pkg_add(1), but checked for the existence
109948          of a pkgng local database and, if  found,   would  provide  some  of
109949          pkgng's  functionality.  The  rewrite of this module has removed all
109950          pkgng support, and moved it to the pkgng execution module. For  ver‐
109951          sions  <=  0.17.0,  the  documentation here should not be considered
109952          accurate. If your Minion is running one of these versions, then  the
109953          documentation  for this module can be viewed using the sys.doc func‐
109954          tion:
109955
109956              salt bsdminion sys.doc pkg
109957
109958       This module acts as the default package  provider  for  FreeBSD  9  and
109959       older. If you need to use pkgng on a FreeBSD 9 system, you will need to
109960       override the pkg provider by setting the providers  parameter  in  your
109961       Minion config file, in order to use pkgng.
109962
109963          providers:
109964            pkg: pkgng
109965
109966       More information on pkgng support can be found in the documentation for
109967       the pkgng module.
109968
109969       This module will respect the PACKAGEROOT  and  PACKAGESITE  environment
109970       variables,  if  set, but these values can also be overridden in several
109971       ways:
109972
109973       1. Salt configuration parameters. The configuration parameters  freebs‐
109974          dpkg.PACKAGEROOT  and  freebsdpkg.PACKAGESITE are recognized.  These
109975          config parameters are looked up using config.get  and  can  thus  be
109976          specified  in the Master config file, Grains, Pillar, or in the Min‐
109977          ion config file. Example:
109978
109979             freebsdpkg.PACKAGEROOT: ftp://ftp.freebsd.org/
109980             freebsdpkg.PACKAGESITE: ftp://ftp.freebsd.org/pub/FreeBSD/ports/ia64/packages-9-stable/Latest/
109981
109982       2. CLI arguments. Both the packageroot (used interchangeably with from‐
109983          repo for API compatibility) and packagesite CLI arguments are recog‐
109984          nized, and override their config counterparts from section 1 above.
109985
109986                 salt -G 'os:FreeBSD' pkg.install zsh fromrepo=ftp://ftp2.freebsd.org/
109987                 salt -G 'os:FreeBSD' pkg.install zsh packageroot=ftp://ftp2.freebsd.org/
109988                 salt -G 'os:FreeBSD' pkg.install zsh packagesite=ftp://ftp2.freebsd.org/pub/FreeBSD/ports/ia64/packages-9-stable/Latest/
109989
109990             .. note::
109991
109992                 These arguments can also be passed through in states:
109993
109994                 .. code-block:: yaml
109995
109996                     zsh:
109997                       pkg.installed:
109998                         - fromrepo: ftp://ftp2.freebsd.org/
109999
110000       salt.modules.freebsdpkg.file_dict(*packages)
110001              List the files that belong to a package, grouped by package. Not
110002              specifying  any  packages  will return a list of _every_ file on
110003              the system's package database (not generally recommended).
110004
110005              CLI Examples:
110006
110007                 salt '*' pkg.file_list httpd
110008                 salt '*' pkg.file_list httpd postfix
110009                 salt '*' pkg.file_list
110010
110011       salt.modules.freebsdpkg.file_list(*packages)
110012              List the files that belong to  a  package.  Not  specifying  any
110013              packages  will  return  a  list  of _every_ file on the system's
110014              package database (not generally recommended).
110015
110016              CLI Examples:
110017
110018                 salt '*' pkg.file_list httpd
110019                 salt '*' pkg.file_list httpd postfix
110020                 salt '*' pkg.file_list
110021
110022       salt.modules.freebsdpkg.install(name=None,     refresh=False,     from‐
110023       repo=None, pkgs=None, sources=None, **kwargs)
110024              Install package(s) using pkg_add(1)
110025
110026              name   The name of the package to be installed.
110027
110028              refresh
110029                     Whether  or  not  to  refresh the package database before
110030                     installing.
110031
110032              fromrepo or packageroot
110033                     Specify a package repository from which to install. Over‐
110034                     rides  the  system  default,  as  well as the PACKAGEROOT
110035                     environment variable.
110036
110037              packagesite
110038                     Specify the exact directory from  which  to  install  the
110039                     remote  package.   Overrides  the PACKAGESITE environment
110040                     variable, if present.
110041
110042              Multiple Package Installation Options:
110043
110044              pkgs   A list of packages to install from a software repository.
110045                     Must be passed as a python list.
110046
110047                     CLI Example:
110048
110049                        salt '*' pkg.install pkgs='["foo", "bar"]'
110050
110051              sources
110052                     A  list  of packages to install. Must be passed as a list
110053                     of dicts, with the keys being package names, and the val‐
110054                     ues being the source URI or local path to the package.
110055
110056                     CLI Example:
110057
110058                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"}, {"bar": "salt://bar.deb"}]'
110059
110060              Return a dict containing the new package names and versions:
110061
110062                 {'<package>': {'old': '<old-version>',
110063                                'new': '<new-version>'}}
110064
110065              CLI Example:
110066
110067                 salt '*' pkg.install <package name>
110068
110069       salt.modules.freebsdpkg.latest_version(*names, **kwargs)
110070              pkg_add(1)  is  not  capable of querying for remote packages, so
110071              this function will always return results as if there is no pack‐
110072              age available for install or upgrade.
110073
110074              CLI Example:
110075
110076                 salt '*' pkg.latest_version <package name>
110077                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
110078
110079       salt.modules.freebsdpkg.list_pkgs(versions_as_list=False,     with_ori‐
110080       gin=False, **kwargs)
110081              List the packages currently installed as a dict:
110082
110083                 {'<package_name>': '<version>'}
110084
110085              with_origin
110086                     False Return a nested dictionary containing both the ori‐
110087                     gin name and version for each installed package.
110088
110089                     New in version 2014.1.0.
110090
110091
110092              CLI Example:
110093
110094                 salt '*' pkg.list_pkgs
110095
110096       salt.modules.freebsdpkg.refresh_db()
110097              pkg_add(1)  does not use a local database of available packages,
110098              so this function simply returns True. it exists merely  for  API
110099              compatibility.
110100
110101              CLI Example:
110102
110103                 salt '*' pkg.refresh_db
110104
110105       salt.modules.freebsdpkg.remove(name=None, pkgs=None, **kwargs)
110106              Remove packages using pkg_delete(1)
110107
110108              name   The name of the package to be deleted.
110109
110110              Multiple Package Options:
110111
110112              pkgs   A  list of packages to delete. Must be passed as a python
110113                     list. The name parameter will be ignored if  this  option
110114                     is passed.
110115
110116              New in version 0.16.0.
110117
110118
110119              Returns a dict containing the changes.
110120
110121              CLI Example:
110122
110123                 salt '*' pkg.remove <package name>
110124                 salt '*' pkg.remove <package1>,<package2>,<package3>
110125                 salt '*' pkg.remove pkgs='["foo", "bar"]'
110126
110127       salt.modules.freebsdpkg.version(*names, **kwargs)
110128              Returns  a  string  representing the package version or an empty
110129              string if not installed. If more than one package name is speci‐
110130              fied, a dict of name/version pairs is returned.
110131
110132              with_origin
110133                     False Return a nested dictionary containing both the ori‐
110134                     gin name and version for each specified package.
110135
110136                     New in version 2014.1.0.
110137
110138
110139              CLI Example:
110140
110141                 salt '*' pkg.version <package name>
110142                 salt '*' pkg.version <package1> <package2> <package3> ...
110143
110144   salt.modules.freebsdports
110145       Install software from the FreeBSD ports(7) system
110146
110147       New in version 2014.1.0.
110148
110149
110150       This module allows you to install ports using BATCH=yes to bypass  con‐
110151       figuration prompts. It is recommended to use the ports state to install
110152       ports, but it is also possible to use this module exclusively from  the
110153       command line.
110154
110155          salt minion-id ports.config security/nmap IPV6=off
110156          salt minion-id ports.install security/nmap
110157
110158       salt.modules.freebsdports.config(name, reset=False, **kwargs)
110159              Modify  configuration options for a given port. Multiple options
110160              can be specified. To see the available options for a  port,  use
110161              ports.showconfig.
110162
110163              name   The port name, in category/name format
110164
110165              reset  False  If True, runs a make rmconfig for the port, clear‐
110166                     ing its configuration before setting the desired options
110167
110168              CLI Examples:
110169
110170                 salt '*' ports.config security/nmap IPV6=off
110171
110172       salt.modules.freebsdports.deinstall(name)
110173              De-install a port.
110174
110175              CLI Example:
110176
110177                 salt '*' ports.deinstall security/nmap
110178
110179       salt.modules.freebsdports.install(name, clean=True)
110180              Install a port from the ports tree. Installs using BATCH=yes for
110181              non-interactive  building.  To  set  config  options for a given
110182              port, use ports.config.
110183
110184              clean  True If True, cleans after  installation.  Equivalent  to
110185                     running make install clean BATCH=yes.
110186
110187              NOTE:
110188                 It may be helpful to run this function using the -t option to
110189                 set a higher timeout, since compiling a port  may  cause  the
110190                 Salt command to exceed the default timeout.
110191
110192              CLI Example:
110193
110194                 salt -t 1200 '*' ports.install security/nmap
110195
110196       salt.modules.freebsdports.list_all()
110197              Lists all ports available.
110198
110199              CLI Example:
110200
110201                 salt '*' ports.list_all
110202
110203              WARNING:
110204                 Takes a while to run, and returns a LOT of output
110205
110206       salt.modules.freebsdports.rmconfig(name)
110207              Clear  the  cached  options  for  the specified port; run a make
110208              rmconfig
110209
110210              name   The name of the port to clear
110211
110212              CLI Example:
110213
110214                 salt '*' ports.rmconfig security/nmap
110215
110216       salt.modules.freebsdports.search(name)
110217              Search for matches in the ports tree. Globs are  supported,  and
110218              the category is optional
110219
110220              CLI Examples:
110221
110222                 salt '*' ports.search 'security/*'
110223                 salt '*' ports.search 'security/n*'
110224                 salt '*' ports.search nmap
110225
110226              WARNING:
110227                 Takes a while to run
110228
110229       salt.modules.freebsdports.showconfig(name,               default=False,
110230       dict_return=False)
110231              Show the configuration options for a given port.
110232
110233              default
110234                     False Show the default options for a port (not  necessar‐
110235                     ily the same as the current configuration)
110236
110237              dict_return
110238                     False Instead of returning the output of make showconfig,
110239                     return the data in an dictionary
110240
110241              CLI Example:
110242
110243                 salt '*' ports.showconfig security/nmap
110244                 salt '*' ports.showconfig security/nmap default=True
110245
110246       salt.modules.freebsdports.update(extract=False)
110247              Update the ports tree
110248
110249              extract
110250                     False If True, runs a portsnap  extract  after  fetching,
110251                     should  be  used for first-time installation of the ports
110252                     tree.
110253
110254              CLI Example:
110255
110256                 salt '*' ports.update
110257
110258   salt.modules.freebsdservice
110259       The service module for FreeBSD
110260
110261       IMPORTANT:
110262          If you feel that Salt should be using this module to manage services
110263          on  a  minion, and it is using a different module (or gives an error
110264          similar to 'service.start' is not available), see here.
110265
110266       salt.modules.freebsdservice.available(name, jail=None)
110267              Check that the given service is available.
110268
110269              Changed in version 2016.3.4.
110270
110271
110272              jail: optional jid or jail name
110273
110274              CLI Example:
110275
110276                 salt '*' service.available sshd
110277
110278       salt.modules.freebsdservice.disable(name, **kwargs)
110279              Disable the named service to start at boot
110280
110281              Arguments the same as for enable()
110282
110283              Changed in version 2016.3.4.
110284
110285
110286              jail (optional keyword argument)
110287                     the jail's id or name
110288
110289              chroot (optional keyword argument)
110290                     the jail's chroot, if the  jail's  /etc  is  not  mounted
110291                     read-write
110292
110293              CLI Example:
110294
110295                 salt '*' service.disable <service name>
110296
110297       salt.modules.freebsdservice.disabled(name, **kwargs)
110298              Return True if the named service is enabled, false otherwise
110299
110300              CLI Example:
110301
110302                 salt '*' service.disabled <service name>
110303
110304       salt.modules.freebsdservice.enable(name, **kwargs)
110305              Enable the named service to start at boot
110306
110307              name   service name
110308
110309              config /etc/rc.conf  Config file for managing service. If config
110310                     value  is  empty  string,  then  /etc/rc.conf.d/<service>
110311                     used.  See man rc.conf(5) for details.
110312
110313                     Also  service.config  variable  can  be  used  to  change
110314                     default.
110315
110316              Changed in version 2016.3.4.
110317
110318
110319              jail (optional keyword argument)
110320                     the jail's id or name
110321
110322              chroot (optional keyword argument)
110323                     the jail's chroot, if the  jail's  /etc  is  not  mounted
110324                     read-write
110325
110326              CLI Example:
110327
110328                 salt '*' service.enable <service name>
110329
110330       salt.modules.freebsdservice.enabled(name, **kwargs)
110331              Return True if the named service is enabled, false otherwise
110332
110333              name   Service name
110334
110335              Changed in version 2016.3.4.
110336
110337
110338              Support  for  jail (representing jid or jail name) keyword argu‐
110339              ment in kwargs
110340
110341              CLI Example:
110342
110343                 salt '*' service.enabled <service name>
110344
110345       salt.modules.freebsdservice.get_all(jail=None)
110346              Return a list of all available services
110347
110348              Changed in version 2016.3.4.
110349
110350
110351              jail: optional jid or jail name
110352
110353              CLI Example:
110354
110355                 salt '*' service.get_all
110356
110357       salt.modules.freebsdservice.get_disabled(jail=None)
110358              Return what services are available but not enabled to  start  at
110359              boot
110360
110361              Changed in version 2016.3.4.
110362
110363
110364              Support  for  jail (representing jid or jail name) keyword argu‐
110365              ment in kwargs
110366
110367              CLI Example:
110368
110369                 salt '*' service.get_disabled
110370
110371       salt.modules.freebsdservice.get_enabled(jail=None)
110372              Return what services are set to run on boot
110373
110374              Changed in version 2016.3.4.
110375
110376
110377              Support for jail (representing jid or jail name)  keyword  argu‐
110378              ment in kwargs
110379
110380              CLI Example:
110381
110382                 salt '*' service.get_enabled
110383
110384       salt.modules.freebsdservice.missing(name, jail=None)
110385              The inverse of service.available.  Returns True if the specified
110386              service is not available, otherwise returns False.
110387
110388              Changed in version 2016.3.4.
110389
110390
110391              jail: optional jid or jail name
110392
110393              CLI Example:
110394
110395                 salt '*' service.missing sshd
110396
110397       salt.modules.freebsdservice.reload_(name, jail=None)
110398              Restart the named service
110399
110400              Changed in version 2016.3.4.
110401
110402
110403              jail: optional jid or jail name
110404
110405              CLI Example:
110406
110407                 salt '*' service.reload <service name>
110408
110409       salt.modules.freebsdservice.restart(name, jail=None)
110410              Restart the named service
110411
110412              Changed in version 2016.3.4.
110413
110414
110415              jail: optional jid or jail name
110416
110417              CLI Example:
110418
110419                 salt '*' service.restart <service name>
110420
110421       salt.modules.freebsdservice.start(name, jail=None)
110422              Start the specified service
110423
110424              Changed in version 2016.3.4.
110425
110426
110427              jail: optional jid or jail name
110428
110429              CLI Example:
110430
110431                 salt '*' service.start <service name>
110432
110433       salt.modules.freebsdservice.status(name, sig=None, jail=None)
110434              Return the status for a service.  If the name contains globbing,
110435              a dict mapping service name to True/False values is returned.
110436
110437              Changed in version 2016.3.4.
110438
110439
110440              Changed  in version 2018.3.0: The service name can now be a glob
110441              (e.g. salt*)
110442
110443
110444              Parameters
110445
110446                     · name (str) -- The name of the service to check
110447
110448                     · sig (str) -- Signature to use to find the  service  via
110449                       ps
110450
110451              Returns
110452                     True  if running, False otherwise dict: Maps service name
110453                     to True if running, False otherwise
110454
110455              Return type
110456                     bool
110457
110458              CLI Example:
110459
110460                 salt '*' service.status <service name> [service signature]
110461
110462       salt.modules.freebsdservice.stop(name, jail=None)
110463              Stop the specified service
110464
110465              Changed in version 2016.3.4.
110466
110467
110468              jail: optional jid or jail name
110469
110470              CLI Example:
110471
110472                 salt '*' service.stop <service name>
110473
110474   salt.modules.gem
110475       Manage ruby gems.
110476
110477       salt.modules.gem.install(gems,  ruby=None,  gem_bin=None,   runas=None,
110478       version=None,  rdoc=False,  ri=False,  pre_releases=False,  proxy=None,
110479       source=None)
110480              Installs one or several gems.
110481
110482              Parameters
110483
110484                     · gems -- string The gems to install
110485
110486                     · gem_bin -- string : None Full path  to  gem  binary  to
110487                       use.
110488
110489                     · ruby  --  string  : None If RVM or rbenv are installed,
110490                       the ruby version and gemset to use.  Ignored if gem_bin
110491                       is specified.
110492
110493                     · runas -- string : None The user to run gem as.
110494
110495                     · version -- string : None Specify the version to install
110496                       for the gem.  Doesn't play nice with multiple  gems  at
110497                       once
110498
110499                     · rdoc -- boolean : False Generate RDoc documentation for
110500                       the gem(s).  For rubygems > 3 this  is  interpreted  as
110501                       the  --no-document  arg  and the ri option will then be
110502                       ignored
110503
110504                     · ri -- boolean : False Generate RI documentation for the
110505                       gem(s).   For  rubygems  > 3 this is interpreted as the
110506                       --no-document arg and the  rdoc  option  will  then  be
110507                       ignored
110508
110509                     · pre_releases -- boolean : False Include pre-releases in
110510                       the available versions
110511
110512                     · proxy -- string : None Use  the  specified  HTTP  proxy
110513                       server    for    all    outgoing    traffic.    Format:
110514                       http://hostname[:port]
110515
110516              source None Use the specified HTTP gem source server to download
110517                     gem.  Format: http://hostname[:port]
110518
110519              CLI Example:
110520
110521                 salt '*' gem.install vagrant
110522
110523                 salt '*' gem.install redphone gem_bin=/opt/sensu/embedded/bin/gem
110524
110525       salt.modules.gem.list_(prefix=u'', ruby=None, runas=None, gem_bin=None)
110526              List locally installed gems.
110527
110528              Parameters
110529
110530                     · prefix -- string : Only list gems when the name matches
110531                       this prefix.
110532
110533                     · gem_bin -- string : None Full path  to  gem  binary  to
110534                       use.
110535
110536                     · ruby  --  string  : None If RVM or rbenv are installed,
110537                       the ruby version and gemset to use.  Ignored if gem_bin
110538                       is specified.
110539
110540                     · runas -- string : None The user to run gem as.
110541
110542              CLI Example:
110543
110544                 salt '*' gem.list
110545
110546       salt.modules.gem.list_upgrades(ruby=None, runas=None, gem_bin=None)
110547              New in version 2015.8.0.
110548
110549
110550              Check if an upgrade is available for installed gems
110551
110552              gem_bin
110553                     None Full path to gem binary to use.
110554
110555              ruby   None  If RVM or rbenv are installed, the ruby version and
110556                     gemset to use.  Ignored if gem_bin is specified.
110557
110558              runas  None The user to run gem as.
110559
110560              CLI Example:
110561
110562                 salt '*' gem.list_upgrades
110563
110564       salt.modules.gem.sources_add(source_uri,     ruby=None,     runas=None,
110565       gem_bin=None)
110566              Add a gem source.
110567
110568              Parameters
110569
110570                     · source_uri -- string The source URI to add.
110571
110572                     · gem_bin  --  string  :  None Full path to gem binary to
110573                       use.
110574
110575                     · ruby -- string : None If RVM or  rbenv  are  installed,
110576                       the ruby version and gemset to use.  Ignored if gem_bin
110577                       is specified.
110578
110579                     · runas -- string : None The user to run gem as.
110580
110581              CLI Example:
110582
110583                 salt '*' gem.sources_add http://rubygems.org/
110584
110585       salt.modules.gem.sources_list(ruby=None, runas=None, gem_bin=None)
110586              List the configured gem sources.
110587
110588              Parameters
110589
110590                     · gem_bin -- string : None Full path  to  gem  binary  to
110591                       use.
110592
110593                     · ruby  --  string  : None If RVM or rbenv are installed,
110594                       the ruby version and gemset to use.  Ignored if gem_bin
110595                       is specified.
110596
110597                     · runas -- string : None The user to run gem as.
110598
110599              CLI Example:
110600
110601                 salt '*' gem.sources_list
110602
110603       salt.modules.gem.sources_remove(source_uri,    ruby=None,   runas=None,
110604       gem_bin=None)
110605              Remove a gem source.
110606
110607              Parameters
110608
110609                     · source_uri -- string The source URI to remove.
110610
110611                     · gem_bin -- string : None Full path  to  gem  binary  to
110612                       use.
110613
110614                     · ruby  --  string  : None If RVM or rbenv are installed,
110615                       the ruby version and gemset to use.  Ignored if gem_bin
110616                       is specified.
110617
110618                     · runas -- string : None The user to run gem as.
110619
110620              CLI Example:
110621
110622                 salt '*' gem.sources_remove http://rubygems.org/
110623
110624       salt.modules.gem.uninstall(gems, ruby=None, runas=None, gem_bin=None)
110625              Uninstall one or several gems.
110626
110627              Parameters
110628
110629                     · gems -- string The gems to uninstall.
110630
110631                     · gem_bin  --  string  :  None Full path to gem binary to
110632                       use.
110633
110634                     · ruby -- string : None If RVM or  rbenv  are  installed,
110635                       the ruby version and gemset to use.  Ignored if gem_bin
110636                       is specified.
110637
110638                     · runas -- string : None The user to run gem as.
110639
110640              CLI Example:
110641
110642                 salt '*' gem.uninstall vagrant
110643
110644       salt.modules.gem.update(gems, ruby=None, runas=None, gem_bin=None)
110645              Update one or several gems.
110646
110647              Parameters
110648
110649                     · gems -- string The gems to update.
110650
110651                     · gem_bin -- string : None Full path  to  gem  binary  to
110652                       use.
110653
110654                     · ruby  --  string  : None If RVM or rbenv are installed,
110655                       the ruby version and gemset to use.  Ignored if gem_bin
110656                       is specified.
110657
110658                     · runas -- string : None The user to run gem as.
110659
110660              CLI Example:
110661
110662                 salt '*' gem.update vagrant
110663
110664       salt.modules.gem.update_system(version=u'',    ruby=None,   runas=None,
110665       gem_bin=None)
110666              Update rubygems.
110667
110668              Parameters
110669
110670                     · version -- string : (newest) The version of rubygems to
110671                       install.
110672
110673                     · gem_bin  --  string  :  None Full path to gem binary to
110674                       use.
110675
110676                     · ruby -- string : None If RVM or  rbenv  are  installed,
110677                       the ruby version and gemset to use.  Ignored if gem_bin
110678                       is specified.
110679
110680                     · runas -- string : None The user to run gem as.
110681
110682              CLI Example:
110683
110684                 salt '*' gem.update_system
110685
110686       salt.modules.gem.version(ruby=None, runas=None, gem_bin=None)
110687              Print out the version of gem
110688
110689              Parameters
110690
110691                     · gem_bin -- string : None Full path  to  gem  binary  to
110692                       use.
110693
110694                     · ruby  --  string  : None If RVM or rbenv are installed,
110695                       the ruby version and gemset to use.  Ignored if gem_bin
110696                       is specified.
110697
110698                     · runas -- string : None The user to run gem as.
110699
110700              CLI Example:
110701
110702                 salt '*' gem.version
110703
110704   salt.modules.genesis
110705       Module for managing container and VM images
110706
110707       New in version 2014.7.0.
110708
110709
110710       salt.modules.genesis.avail_platforms()
110711              Return which platforms are available
110712
110713              CLI Example:
110714
110715                 salt myminion genesis.avail_platforms
110716
110717       salt.modules.genesis.bootstrap(platform,    root,    img_format=u'dir',
110718       fs_format=u'ext2', fs_opts=None, arch=None, flavor=None, repo_url=None,
110719       static_qemu=None,    img_size=None,   mount_dir=None,   pkg_cache=None,
110720       pkgs=None,   exclude_pkgs=None,   epel_url=u'http://download.fedorapro
110721       ject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm')
110722              Create an image for a specific platform.
110723
110724              Please  note  that  this function MUST be run as root, as images
110725              that are created make files belonging to root.
110726
110727              platform
110728                     Which platform to use to create the image. Currently sup‐
110729                     ported platforms are rpm, deb and pacman.
110730
110731              root   Local path to create the root of the image filesystem.
110732
110733              img_format
110734                     Which  format  to  create  the image in. By default, just
110735                     copies files into a directory  on  the  local  filesystem
110736                     (dir). Future support will exist for sparse.
110737
110738              fs_format
110739                     When using a non-dir img_format, which filesystem to for‐
110740                     mat the image to. By default, ext2.
110741
110742              fs_opts
110743                     When using a non-dir img_format, a dict of  opts  may  be
110744                     specified.
110745
110746              arch   Architecture to install packages for, if supported by the
110747                     underlying bootstrap tool. Currently only used for deb.
110748
110749              flavor Which flavor of operating system to install. This  corre‐
110750                     lates to a specific directory on the distribution reposi‐
110751                     tories. For instance, wheezy on Debian.
110752
110753              repo_url
110754                     Mainly important for Debian-based repos. Base URL for the
110755                     mirror        to        install        from.       (e.x.:
110756                     http://ftp.debian.org/debian/)
110757
110758              static_qemu
110759                     Local path to the static qemu binary  required  for  this
110760                     arch.  (e.x.: /usr/bin/qemu-amd64-static)
110761
110762              pkg_confs
110763                     The location of the conf files to copy into the image, to
110764                     point the installer to the right repos and configuration.
110765
110766              img_size
110767                     If img_format is not dir, then the size of the image must
110768                     be specified.
110769
110770              mount_dir
110771                     If  img_format is not dir, then the image must be mounted
110772                     somewhere.  If the mount_dir is not  specified,  then  it
110773                     will  be created at /opt/salt-genesis.<random_uuid>. This
110774                     directory will be unmounted and removed when the  process
110775                     is finished.
110776
110777              pkg_cache
110778                     This  points to a directory containing a cache of package
110779                     files to be copied to the image. It does not need  to  be
110780                     specified.
110781
110782              pkgs   A  list  of  packages  to be installed on this image. For
110783                     RedHat, this will include yum, centos-release and iputils
110784                     by default.
110785
110786              exclude_pkgs
110787                     A  list of packages to be excluded. If you do not want to
110788                     install the defaults, you need to include  them  in  this
110789                     list.
110790
110791              epel_url
110792                     The URL to download the EPEL release package from.
110793
110794              CLI Examples:
110795
110796                 salt myminion genesis.bootstrap pacman /root/arch
110797                 salt myminion genesis.bootstrap rpm /root/redhat
110798                 salt myminion genesis.bootstrap deb /root/wheezy arch=amd64             flavor=wheezy static_qemu=/usr/bin/qemu-x86_64-static
110799
110800       salt.modules.genesis.ldd_deps(filename, ret=None)
110801              Recurse  through  a set of dependencies reported by ldd, to find
110802              associated dependencies.
110803
110804              Please  note  that  this  does  not  necessarily   resolve   all
110805              (non-package) dependencies for a file; but it does help.
110806
110807              CLI Example:
110808                 salt  myminion  genesis.ldd_deps  bash  salt  myminion  gene‐
110809                 sis.ldd_deps /bin/bash
110810
110811       salt.modules.genesis.mksls(fmt, src, dst=None)
110812              Convert an installation file/script to an  SLS  file.  Currently
110813              supports kickstart, preseed, and autoyast.
110814
110815              CLI Examples:
110816                 salt  <minion> genesis.mksls kickstart /path/to/kickstart.cfg
110817                 salt <minion> genesis.mksls kickstart  /path/to/kickstart.cfg
110818                 /path/to/dest.sls
110819
110820              New in version Beryllium.
110821
110822
110823       salt.modules.genesis.pack(name,  root,  path=None,  pack_format=u'tar',
110824       compress=u'bzip2')
110825              Pack up a directory structure, into a specific format
110826
110827              CLI Examples:
110828
110829                 salt myminion genesis.pack centos /root/centos
110830                 salt myminion genesis.pack centos /root/centos pack_format='tar'
110831
110832       salt.modules.genesis.unpack(name,   dest=None,   path=None,   pack_for‐
110833       mat=u'tar', compress=u'bz2')
110834              Unpack an image into a directory structure
110835
110836              CLI Example:
110837
110838                 salt myminion genesis.unpack centos /root/centos
110839
110840   salt.modules.gentoo_service
110841       Top level package command wrapper, used to translate the os detected by
110842       grains to the correct service manager
110843
110844       IMPORTANT:
110845          If you feel that Salt should be using this module to manage services
110846          on  a  minion, and it is using a different module (or gives an error
110847          similar to 'service.start' is not available), see here.
110848
110849       salt.modules.gentoo_service.available(name)
110850              Returns True if the specified service  is  available,  otherwise
110851              returns False.
110852
110853              CLI Example:
110854
110855                 salt '*' service.available sshd
110856
110857       salt.modules.gentoo_service.disable(name, **kwargs)
110858              Disable the named service to start at boot
110859
110860              CLI Example:
110861
110862                 salt '*' service.disable <service name> <runlevels=single-runlevel>
110863                 salt '*' service.disable <service name> <runlevels=[runlevel1,runlevel2]>
110864
110865       salt.modules.gentoo_service.disabled(name)
110866              Return True if the named service is enabled, false otherwise
110867
110868              CLI Example:
110869
110870                 salt '*' service.disabled <service name> <runlevels=[runlevel]>
110871
110872       salt.modules.gentoo_service.enable(name, **kwargs)
110873              Enable the named service to start at boot
110874
110875              CLI Example:
110876
110877                 salt '*' service.enable <service name> <runlevels=single-runlevel>
110878                 salt '*' service.enable <service name> <runlevels=[runlevel1,runlevel2]>
110879
110880       salt.modules.gentoo_service.enabled(name, **kwargs)
110881              Return True if the named service is enabled, false otherwise
110882
110883              CLI Example:
110884
110885                 salt '*' service.enabled <service name> <runlevels=single-runlevel>
110886                 salt '*' service.enabled <service name> <runlevels=[runlevel1,runlevel2]>
110887
110888       salt.modules.gentoo_service.get_all()
110889              Return all available boot services
110890
110891              CLI Example:
110892
110893                 salt '*' service.get_all
110894
110895       salt.modules.gentoo_service.get_disabled()
110896              Return a set of services that are installed but disabled
110897
110898              CLI Example:
110899
110900                 salt '*' service.get_disabled
110901
110902       salt.modules.gentoo_service.get_enabled()
110903              Return a list of service that are enabled on boot
110904
110905              CLI Example:
110906
110907                 salt '*' service.get_enabled
110908
110909       salt.modules.gentoo_service.missing(name)
110910              The inverse of service.available.  Returns True if the specified
110911              service is not available, otherwise returns False.
110912
110913              CLI Example:
110914
110915                 salt '*' service.missing sshd
110916
110917       salt.modules.gentoo_service.reload_(name)
110918              Reload the named service
110919
110920              CLI Example:
110921
110922                 salt '*' service.reload <service name>
110923
110924       salt.modules.gentoo_service.restart(name)
110925              Restart the named service
110926
110927              CLI Example:
110928
110929                 salt '*' service.restart <service name>
110930
110931       salt.modules.gentoo_service.start(name)
110932              Start the specified service
110933
110934              CLI Example:
110935
110936                 salt '*' service.start <service name>
110937
110938       salt.modules.gentoo_service.status(name, sig=None)
110939              Return the status for a service.  If the name contains globbing,
110940              a dict mapping service name to True/False values is returned.
110941
110942              Changed  in version 2018.3.0: The service name can now be a glob
110943              (e.g. salt*)
110944
110945
110946              Parameters
110947
110948                     · name (str) -- The name of the service to check
110949
110950                     · sig (str) -- Signature to use to find the  service  via
110951                       ps
110952
110953              Returns
110954                     True  if running, False otherwise dict: Maps service name
110955                     to True if running, False otherwise
110956
110957              Return type
110958                     bool
110959
110960              CLI Example:
110961
110962                 salt '*' service.status <service name> [service signature]
110963
110964       salt.modules.gentoo_service.stop(name)
110965              Stop the specified service
110966
110967              CLI Example:
110968
110969                 salt '*' service.stop <service name>
110970
110971       salt.modules.gentoo_service.zap(name)
110972              Resets service state
110973
110974              CLI Example:
110975
110976                 salt '*' service.zap <service name>
110977
110978   salt.modules.gentoolkitmod
110979       Support for Gentoolkit
110980
110981       salt.modules.gentoolkitmod.eclean_dist(destructive=False,         pack‐
110982       age_names=False,  size_limit=0,  time_limit=0,  fetch_restricted=False,
110983       exclude_file=u'/etc/eclean/distfiles.exclude')
110984              Clean obsolete portage sources
110985
110986              destructive
110987                     Only keep minimum for reinstallation
110988
110989              package_names
110990                     Protect all versions of installed packages. Only meaning‐
110991                     ful if used with destructive=True
110992
110993              size_limit <size>
110994                     Don't  delete  distfiles bigger than <size>.  <size> is a
110995                     size specification: "10M" is "ten megabytes",  "200K"  is
110996                     "two hundreds kilobytes", etc. Units are: G, M, K and B.
110997
110998              time_limit <time>
110999                     Don't delete distfiles files modified since <time> <time>
111000                     is an amount of time: "1y" is "one year",  "2w"  is  "two
111001                     weeks", etc. Units are: y (years), m (months), w (weeks),
111002                     d (days) and h (hours).
111003
111004              fetch_restricted
111005                     Protect fetch-restricted files. Only meaningful  if  used
111006                     with destructive=True
111007
111008              exclude_file
111009                     Path  to  exclusion  file.  Default  is /etc/eclean/dist‐
111010                     files.exclude This is the same default eclean-dist  uses.
111011                     Use None if this file exists and you want to ignore.
111012
111013              Returns  a  dict  containing  the cleaned, saved, and deprecated
111014              dists:
111015
111016                 {'cleaned': {<dist file>: <size>},
111017                  'deprecated': {<package>: <dist file>},
111018                  'saved': {<package>: <dist file>},
111019                  'total_cleaned': <size>}
111020
111021              CLI Example:
111022
111023                 salt '*' gentoolkit.eclean_dist destructive=True
111024
111025       salt.modules.gentoolkitmod.eclean_pkg(destructive=False,          pack‐
111026       age_names=False,     time_limit=0,     exclude_file=u'/etc/eclean/pack‐
111027       ages.exclude')
111028              Clean obsolete binary packages
111029
111030              destructive
111031                     Only keep minimum for reinstallation
111032
111033              package_names
111034                     Protect all versions of installed packages. Only meaning‐
111035                     ful if used with destructive=True
111036
111037              time_limit <time>
111038                     Don't delete distfiles files modified since <time> <time>
111039                     is an amount of time: "1y" is "one year",  "2w"  is  "two
111040                     weeks", etc. Units are: y (years), m (months), w (weeks),
111041                     d (days) and h (hours).
111042
111043              exclude_file
111044                     Path to  exclusion  file.  Default  is  /etc/eclean/pack‐
111045                     ages.exclude  This  is  the same default eclean-pkg uses.
111046                     Use None if this file exists and you want to ignore.
111047
111048              Returns a dict containing the cleaned binary packages:
111049
111050                 {'cleaned': {<dist file>: <size>},
111051                  'total_cleaned': <size>}
111052
111053              CLI Example:
111054
111055                 salt '*' gentoolkit.eclean_pkg destructive=True
111056
111057       salt.modules.gentoolkitmod.glsa_check_list(glsa_list)
111058              List the status of Gentoo Linux Security Advisories
111059
111060              glsa_list
111061                     can contain an arbitrary number of  GLSA  ids,  filenames
111062                     containing  GLSAs  or  the  special identifiers 'all' and
111063                     'affected'
111064
111065              Returns a dict containing glsa ids with a  description,  status,
111066              and CVEs:
111067
111068                 {<glsa_id>: {'description': <glsa_description>,
111069                  'status': <glsa status>,
111070                  'CVEs': [<list of CVEs>]}}
111071
111072              CLI Example:
111073
111074                 salt '*' gentoolkit.glsa_check_list 'affected'
111075
111076       salt.modules.gentoolkitmod.revdep_rebuild(lib=None)
111077              Fix up broken reverse dependencies
111078
111079              lib    Search  for reverse dependencies for a particular library
111080                     rather than every library on the system. It can be a full
111081                     path to a library or basic regular expression.
111082
111083              CLI Example:
111084
111085                 salt '*' gentoolkit.revdep_rebuild
111086
111087   salt.modules.git
111088       Support for the Git SCM
111089
111090       salt.modules.git.add(cwd,  filename, opts=u'', git_opts=u'', user=None,
111091       password=None, ignore_retcode=False, output_encoding=None)
111092              Changed in version 2015.8.0: The --verbose command line argument
111093              is now implied
111094
111095
111096              Interface to git-add(1)
111097
111098              cwd    The path to the git checkout
111099
111100              filename
111101                     The  location  of  the file/directory to add, relative to
111102                     cwd
111103
111104              opts   Any additional options to add to the command line,  in  a
111105                     single string
111106
111107                     NOTE:
111108                        On the Salt CLI, if the opts are preceded with a dash,
111109                        it is necessary to precede them with opts= (as in  the
111110                        CLI  examples  below)  to  avoid  causing  errors with
111111                        Salt's own argument parsing.
111112
111113              git_opts
111114                     Any additional options to add to git command itself  (not
111115                     the  add  subcommand), in a single string. This is useful
111116                     for passing -c to run git with temporary changes  to  the
111117                     git configuration.
111118
111119                     New in version 2017.7.0.
111120
111121
111122                     NOTE:
111123                        This is only supported in git 1.7.2 and newer.
111124
111125              user   User  under which to run the git command. By default, the
111126                     command is run by the user under which the minion is run‐
111127                     ning.
111128
111129              password
111130                        Windows  only.  Required  when  specifying  user. This
111131                        parameter will be ignored on non-Windows platforms.
111132
111133                     New in version 2016.3.4.
111134
111135
111136              ignore_retcode
111137                     False If True, do not log an error to the minion  log  if
111138                     the git command returns a nonzero exit status.
111139
111140                     New in version 2015.8.0.
111141
111142
111143              output_encoding
111144                     Use  this  option  to  specify  which  encoding to use to
111145                     decode the output from any git commands  which  are  run.
111146                     This should not be needed in most cases.
111147
111148                     NOTE:
111149                        This should only be needed if the files in the reposi‐
111150                        tory were created with  filenames  using  an  encoding
111151                        other than UTF-8 to handle Unicode characters.
111152
111153                     New in version 2018.3.1.
111154
111155
111156              CLI Examples:
111157
111158                 salt myminion git.add /path/to/repo foo/bar.py
111159                 salt myminion git.add /path/to/repo foo/bar.py opts='--dry-run'
111160
111161       salt.modules.git.archive(cwd,    output,    rev=u'HEAD',   prefix=None,
111162       git_opts=u'',  user=None,  password=None,  ignore_retcode=False,   out‐
111163       put_encoding=None, **kwargs)
111164              Changed  in version 2015.8.0: Returns True if successful, raises
111165              an error if not.
111166
111167
111168              Interface to git-archive(1), exports a tarball/zip file  of  the
111169              repository
111170
111171              cwd    The path to be archived
111172
111173                     NOTE:
111174                        git  archive  permits a partial archive to be created.
111175                        Thus, this path does not need to be the  root  of  the
111176                        git  repository.  Only  the files within the directory
111177                        specified by cwd (and its subdirectories) will  be  in
111178                        the  resulting archive. For example, if there is a git
111179                        checkout at /tmp/foo, then passing /tmp/foo/bar as the
111180                        cwd   will   result   in  just  the  files  underneath
111181                        /tmp/foo/bar to be exported as an archive.
111182
111183              output The path of the archive to be created
111184
111185              overwrite
111186                     False Unless set to True, Salt  will  over  overwrite  an
111187                     existing  archive  at  the  path  specified by the output
111188                     argument.
111189
111190                     New in version 2015.8.0.
111191
111192
111193              rev    HEAD The revision from which to create the archive
111194
111195              format Manually specify the file format  of  the  resulting  ar‐
111196                     chive. This argument can be omitted, and git archive will
111197                     attempt to guess the archive type (and compression)  from
111198                     the  filename.  zip,  tar, tar.gz, and tgz are extensions
111199                     that are recognized automatically, and git can be config‐
111200                     ured  to support other archive types with the addition of
111201                     git configuration keys.
111202
111203                     See the git-archive(1) manpage explanation of the  --for‐
111204                     mat argument (as well as the CONFIGURATION section of the
111205                     manpage) for further information.
111206
111207                     New in version 2015.8.0.
111208
111209
111210              prefix Prepend <prefix> to every filename  in  the  archive.  If
111211                     unspecified,  the  name of the directory at the top level
111212                     of the repository will be used as the prefix (e.g. if cwd
111213                     is  set  to /foo/bar/baz, the prefix will be baz, and the
111214                     resulting archive will contain a top-level  directory  by
111215                     that name).
111216
111217                     NOTE:
111218                        The  default  behavior  if the --prefix option for git
111219                        archive is not specified is to not prepend  a  prefix,
111220                        so  Salt's  behavior differs slightly from git archive
111221                        in this respect. Use prefix='' to  create  an  archive
111222                        with no prefix.
111223
111224                     Changed  in  version 2015.8.0: The behavior of this argu‐
111225                     ment has been changed slightly. As of this version, it is
111226                     necessary to include the trailing slash when specifying a
111227                     prefix, if the prefix is intended to create  a  top-level
111228                     directory.
111229
111230
111231              git_opts
111232                     Any  additional options to add to git command itself (not
111233                     the archive subcommand), in a single string. This is use‐
111234                     ful  for  passing -c to run git with temporary changes to
111235                     the git configuration.
111236
111237                     New in version 2017.7.0.
111238
111239
111240                     NOTE:
111241                        This is only supported in git 1.7.2 and newer.
111242
111243              user   User under which to run the git command. By default,  the
111244                     command is run by the user under which the minion is run‐
111245                     ning.
111246
111247              password
111248                        Windows only.  Required  when  specifying  user.  This
111249                        parameter will be ignored on non-Windows platforms.
111250
111251                     New in version 2016.3.4.
111252
111253
111254              ignore_retcode
111255                     False  If  True, do not log an error to the minion log if
111256                     the git command returns a nonzero exit status.
111257
111258                     New in version 2015.8.0.
111259
111260
111261              output_encoding
111262                     Use this option to  specify  which  encoding  to  use  to
111263                     decode  the  output  from any git commands which are run.
111264                     This should not be needed in most cases.
111265
111266                     NOTE:
111267                        This should only be needed if the files in the reposi‐
111268                        tory  were  created  with  filenames using an encoding
111269                        other than UTF-8 to handle Unicode characters.
111270
111271                     New in version 2018.3.1.
111272
111273
111274              CLI Example:
111275
111276                 salt myminion git.archive /path/to/repo /path/to/archive.tar
111277
111278       salt.modules.git.branch(cwd,   name=None,    opts=u'',    git_opts=u'',
111279       user=None, password=None, ignore_retcode=False, output_encoding=None)
111280              Interface to git-branch(1)
111281
111282              cwd    The path to the git checkout
111283
111284              name   Name of the branch on which to operate. If not specified,
111285                     the current branch will be assumed.
111286
111287              opts   Any additional options to add to the command line,  in  a
111288                     single string
111289
111290                     NOTE:
111291                        To create a branch based on something other than HEAD,
111292                        pass the name of the revision as opts. If the revision
111293                        is  in  the  format  remotename/branch, then this will
111294                        also set the remote tracking branch.
111295
111296                        Additionally, on the Salt CLI, if the  opts  are  pre‐
111297                        ceded  with  a  dash,  it is necessary to precede them
111298                        with opts= (as in the CLI  examples  below)  to  avoid
111299                        causing errors with Salt's own argument parsing.
111300
111301              git_opts
111302                     Any  additional options to add to git command itself (not
111303                     the branch subcommand), in a single string. This is  use‐
111304                     ful  for  passing -c to run git with temporary changes to
111305                     the git configuration.
111306
111307                     New in version 2017.7.0.
111308
111309
111310                     NOTE:
111311                        This is only supported in git 1.7.2 and newer.
111312
111313              user   User under which to run the git command. By default,  the
111314                     command is run by the user under which the minion is run‐
111315                     ning.
111316
111317              password
111318                        Windows only.  Required  when  specifying  user.  This
111319                        parameter will be ignored on non-Windows platforms.
111320
111321                     New in version 2016.3.4.
111322
111323
111324              ignore_retcode
111325                     False  If  True, do not log an error to the minion log if
111326                     the git command returns a nonzero exit status.
111327
111328                     New in version 2015.8.0.
111329
111330
111331              output_encoding
111332                     Use this option to  specify  which  encoding  to  use  to
111333                     decode  the  output  from any git commands which are run.
111334                     This should not be needed in most cases.
111335
111336                     NOTE:
111337                        This should only be needed if the files in the reposi‐
111338                        tory  were  created  with  filenames using an encoding
111339                        other than UTF-8 to handle Unicode characters.
111340
111341                     New in version 2018.3.1.
111342
111343
111344              CLI Examples:
111345
111346                 # Set remote tracking branch
111347                 salt myminion git.branch /path/to/repo mybranch opts='--set-upstream-to origin/mybranch'
111348                 # Create new branch
111349                 salt myminion git.branch /path/to/repo mybranch upstream/somebranch
111350                 # Delete branch
111351                 salt myminion git.branch /path/to/repo mybranch opts='-d'
111352                 # Rename branch (2015.8.0 and later)
111353                 salt myminion git.branch /path/to/repo newbranch opts='-m oldbranch'
111354
111355       salt.modules.git.checkout(cwd,   rev=None,    force=False,    opts=u'',
111356       git_opts=u'',   user=None,  password=None,  ignore_retcode=False,  out‐
111357       put_encoding=None)
111358              Interface to git-checkout(1)
111359
111360              cwd    The path to the git checkout
111361
111362              opts   Any additional options to add to the command line,  in  a
111363                     single string
111364
111365                     NOTE:
111366                        On the Salt CLI, if the opts are preceded with a dash,
111367                        it is necessary to precede them with opts= (as in  the
111368                        CLI  examples  below)  to  avoid  causing  errors with
111369                        Salt's own argument parsing.
111370
111371              git_opts
111372                     Any additional options to add to git command itself  (not
111373                     the  checkout  subcommand),  in  a single string. This is
111374                     useful for passing -c to run git with  temporary  changes
111375                     to the git configuration.
111376
111377                     New in version 2017.7.0.
111378
111379
111380                     NOTE:
111381                        This is only supported in git 1.7.2 and newer.
111382
111383              rev    The remote branch or revision to checkout.
111384
111385                     Changed in version 2015.8.0: Optional when using -b or -B
111386                     in opts.
111387
111388
111389              force  False Force a checkout even if there might be overwritten
111390                     changes
111391
111392              user   User  under which to run the git command. By default, the
111393                     command is run by the user under which the minion is run‐
111394                     ning.
111395
111396              password
111397                        Windows  only.  Required  when  specifying  user. This
111398                        parameter will be ignored on non-Windows platforms.
111399
111400                     New in version 2016.3.4.
111401
111402
111403              ignore_retcode
111404                     False If True, do not log an error to the minion  log  if
111405                     the git command returns a nonzero exit status.
111406
111407                     New in version 2015.8.0.
111408
111409
111410              output_encoding
111411                     Use  this  option  to  specify  which  encoding to use to
111412                     decode the output from any git commands  which  are  run.
111413                     This should not be needed in most cases.
111414
111415                     NOTE:
111416                        This should only be needed if the files in the reposi‐
111417                        tory were created with  filenames  using  an  encoding
111418                        other than UTF-8 to handle Unicode characters.
111419
111420                     New in version 2018.3.1.
111421
111422
111423              CLI Examples:
111424
111425                 # Checking out local local revisions
111426                 salt myminion git.checkout /path/to/repo somebranch user=jeff
111427                 salt myminion git.checkout /path/to/repo opts='testbranch -- conf/file1 file2'
111428                 salt myminion git.checkout /path/to/repo rev=origin/mybranch opts='--track'
111429                 # Checking out remote revision into new branch
111430                 salt myminion git.checkout /path/to/repo upstream/master opts='-b newbranch'
111431                 # Checking out current revision into new branch (2015.8.0 and later)
111432                 salt myminion git.checkout /path/to/repo opts='-b newbranch'
111433
111434       salt.modules.git.clone(cwd,      url=None,     name=None,     opts=u'',
111435       git_opts=u'', user=None, password=None, identity=None, https_user=None,
111436       https_pass=None,  ignore_retcode=False,  saltenv=u'base', output_encod‐
111437       ing=None)
111438              Interface to git-clone(1)
111439
111440              cwd    Location of git clone
111441
111442                     Changed in version 2015.8.0: If name is passed, then  the
111443                     clone will be made within this directory.
111444
111445
111446              url    The URL of the repository to be cloned
111447
111448                     Changed in version 2015.8.0: Argument renamed from repos‐
111449                     itory to url
111450
111451
111452              name   Optional alternate name for the top-level directory to be
111453                     created by the clone
111454
111455                     New in version 2015.8.0.
111456
111457
111458              opts   Any  additional  options to add to the command line, in a
111459                     single string
111460
111461              git_opts
111462                     Any additional options to add to git command itself  (not
111463                     the clone subcommand), in a single string. This is useful
111464                     for passing -c to run git with temporary changes  to  the
111465                     git configuration.
111466
111467                     New in version 2017.7.0.
111468
111469
111470                     NOTE:
111471                        This is only supported in git 1.7.2 and newer.
111472
111473              user   User  under which to run the git command. By default, the
111474                     command is run by the user under which the minion is run‐
111475                     ning.
111476
111477              password
111478                        Windows  only.  Required  when  specifying  user. This
111479                        parameter will be ignored on non-Windows platforms.
111480
111481                     New in version 2016.3.4.
111482
111483
111484              identity
111485                     Path to a private key to use for ssh URLs
111486
111487                     WARNING:
111488                        Unless  Salt  is  invoked  from   the   minion   using
111489                        salt-call,  the  key(s)  must  be  passphraseless. For
111490                        greater security with passphraseless private keys, see
111491                        the  sshd(8)  manpage  for information on securing the
111492                        keypair from the remote side  in  the  authorized_keys
111493                        file.
111494
111495                     Changed  in version 2015.8.7: Salt will no longer attempt
111496                     to use passphrase-protected keys unless invoked from  the
111497                     minion  using  salt-call, to prevent blocking waiting for
111498                     user input.
111499
111500
111501                     Key can also be specified as a SaltStack file server URL,
111502                     eg. salt://location/identity_file
111503
111504                     Changed in version 2016.3.0.
111505
111506
111507              https_user
111508                     Set  HTTP  Basic  Auth  username. Only accepted for HTTPS
111509                     URLs.
111510
111511                     New in version 20515.5.0.
111512
111513
111514              https_pass
111515                     Set HTTP Basic Auth password.  Only  accepted  for  HTTPS
111516                     URLs.
111517
111518                     New in version 2015.5.0.
111519
111520
111521              ignore_retcode
111522                     False  If  True, do not log an error to the minion log if
111523                     the git command returns a nonzero exit status.
111524
111525                     New in version 2015.8.0.
111526
111527
111528              saltenv
111529                     The default salt environment to pull sls files from
111530
111531                     New in version 2016.3.1.
111532
111533
111534              output_encoding
111535                     Use this option to  specify  which  encoding  to  use  to
111536                     decode  the  output  from any git commands which are run.
111537                     This should not be needed in most cases.
111538
111539                     NOTE:
111540                        This should only be needed if the files in the reposi‐
111541                        tory  were  created  with  filenames using an encoding
111542                        other than UTF-8 to handle Unicode characters.
111543
111544                     New in version 2018.3.1.
111545
111546
111547              CLI Example:
111548
111549                 salt myminion git.clone /path/to/repo_parent_dir git://github.com/saltstack/salt.git
111550
111551       salt.modules.git.commit(cwd,    message,    opts=u'',     git_opts=u'',
111552       user=None,  password=None,  filename=None,  ignore_retcode=False,  out‐
111553       put_encoding=None)
111554              Interface to git-commit(1)
111555
111556              cwd    The path to the git checkout
111557
111558              message
111559                     Commit message
111560
111561              opts   Any additional options to add to the command line,  in  a
111562                     single  string.   These  opts will be added to the end of
111563                     the git command being run.
111564
111565                     NOTE:
111566                        On the Salt CLI, if the opts are preceded with a dash,
111567                        it  is necessary to precede them with opts= (as in the
111568                        CLI examples  below)  to  avoid  causing  errors  with
111569                        Salt's own argument parsing.
111570
111571                        The -m option should not be passed here, as the commit
111572                        message will be defined by the message argument.
111573
111574              git_opts
111575                     Any additional options to add to git command itself  (not
111576                     the  commit subcommand), in a single string. This is use‐
111577                     ful for passing -c to run git with temporary  changes  to
111578                     the git configuration.
111579
111580                     New in version 2017.7.0.
111581
111582
111583                     NOTE:
111584                        This is only supported in git 1.7.2 and newer.
111585
111586              user   User  under which to run the git command. By default, the
111587                     command is run by the user under which the minion is run‐
111588                     ning.
111589
111590              password
111591                        Windows  only.  Required  when  specifying  user. This
111592                        parameter will be ignored on non-Windows platforms.
111593
111594                     New in version 2016.3.4.
111595
111596
111597              filename
111598                     The location of the file/directory to commit, relative to
111599                     cwd.   This argument is optional, and can be used to com‐
111600                     mit a file without first staging it.
111601
111602                     NOTE:
111603                        This argument only works on files  which  are  already
111604                        tracked by the git repository.
111605
111606                     New in version 2015.8.0.
111607
111608
111609              ignore_retcode
111610                     False  If  True, do not log an error to the minion log if
111611                     the git command returns a nonzero exit status.
111612
111613                     New in version 2015.8.0.
111614
111615
111616              output_encoding
111617                     Use this option to  specify  which  encoding  to  use  to
111618                     decode  the  output  from any git commands which are run.
111619                     This should not be needed in most cases.
111620
111621                     NOTE:
111622                        This should only be needed if the files in the reposi‐
111623                        tory  were  created  with  filenames using an encoding
111624                        other than UTF-8 to handle Unicode characters.
111625
111626                     New in version 2018.3.1.
111627
111628
111629              CLI Examples:
111630
111631                 salt myminion git.commit /path/to/repo 'The commit message'
111632                 salt myminion git.commit /path/to/repo 'The commit message' filename=foo/bar.py
111633
111634       salt.modules.git.config_get(key,  cwd=None,  user=None,  password=None,
111635       ignore_retcode=False, output_encoding=None, **kwargs)
111636              Get the value of a key in the git configuration file
111637
111638              key    The name of the configuration key to get
111639
111640                     Changed  in  version 2015.8.0: Argument renamed from set‐
111641                     ting_name to key
111642
111643
111644              cwd    The path to the git checkout
111645
111646                     Changed in version 2015.8.0: Now optional  if  global  is
111647                     set to True
111648
111649
111650              global False If True, query the global git configuration. Other‐
111651                     wise, only the local git configuration will be queried.
111652
111653                     New in version 2015.8.0.
111654
111655
111656              all    False If True, return a list of all values set  for  key.
111657                     If the key does not exist, None will be returned.
111658
111659                     New in version 2015.8.0.
111660
111661
111662              user   User  under which to run the git command. By default, the
111663                     command is run by the user under which the minion is run‐
111664                     ning.
111665
111666              password
111667                        Windows  only.  Required  when  specifying  user. This
111668                        parameter will be ignored on non-Windows platforms.
111669
111670                     New in version 2016.3.4.
111671
111672
111673              ignore_retcode
111674                     False If True, do not log an error to the minion  log  if
111675                     the git command returns a nonzero exit status.
111676
111677                     New in version 2015.8.0.
111678
111679
111680              output_encoding
111681                     Use  this  option  to  specify  which  encoding to use to
111682                     decode the output from any git commands  which  are  run.
111683                     This should not be needed in most cases.
111684
111685                     NOTE:
111686                        This should only be needed if the files in the reposi‐
111687                        tory were created with  filenames  using  an  encoding
111688                        other than UTF-8 to handle Unicode characters.
111689
111690                     New in version 2018.3.1.
111691
111692
111693              CLI Examples:
111694
111695                 salt myminion git.config_get user.name cwd=/path/to/repo
111696                 salt myminion git.config_get user.email global=True
111697                 salt myminion git.config_get core.gitproxy cwd=/path/to/repo all=True
111698
111699       salt.modules.git.config_get_regexp(key,   value_regex=None,   cwd=None,
111700       user=None, password=None,  ignore_retcode=False,  output_encoding=None,
111701       **kwargs)
111702              New in version 2015.8.0.
111703
111704
111705              Get  the  value  of  a key or keys in the git configuration file
111706              using regexes for more flexible matching. The return data  is  a
111707              dictionary   mapping  keys  to  lists  of  values  matching  the
111708              value_regex. If no values match, an  empty  dictionary  will  be
111709              returned.
111710
111711              key    Regex on which key names will be matched
111712
111713              value_regex
111714                     If  specified, return all values matching this regex. The
111715                     return data will be a dictionary mapping keys to lists of
111716                     values matching the regex.
111717
111718                     IMPORTANT:
111719                        Only  values  matching the value_regex will be part of
111720                        the return data. So, if key matches a  multivar,  then
111721                        it  is  possible  that  not  all of the values will be
111722                        returned. To get all values set for a multivar, simply
111723                        omit the value_regex argument.
111724
111725              cwd    The path to the git checkout
111726
111727              global False If True, query the global git configuration. Other‐
111728                     wise, only the local git configuration will be queried.
111729
111730              user   User under which to run the git command. By default,  the
111731                     command is run by the user under which the minion is run‐
111732                     ning.
111733
111734              password
111735                        Windows only.  Required  when  specifying  user.  This
111736                        parameter will be ignored on non-Windows platforms.
111737
111738                     New in version 2016.3.4.
111739
111740
111741              ignore_retcode
111742                     False  If  True, do not log an error to the minion log if
111743                     the git command returns a nonzero exit status.
111744
111745              output_encoding
111746                     Use this option to  specify  which  encoding  to  use  to
111747                     decode  the  output  from any git commands which are run.
111748                     This should not be needed in most cases.
111749
111750                     NOTE:
111751                        This should only be needed if the files in the reposi‐
111752                        tory  were  created  with  filenames using an encoding
111753                        other than UTF-8 to handle Unicode characters.
111754
111755                     New in version 2018.3.1.
111756
111757
111758              CLI Examples:
111759
111760                 # Matches any values for key 'foo.bar'
111761                 salt myminion git.config_get_regexp /path/to/repo foo.bar
111762                 # Matches any value starting with 'baz' set for key 'foo.bar'
111763                 salt myminion git.config_get_regexp /path/to/repo foo.bar 'baz.*'
111764                 # Matches any key starting with 'user.'
111765                 salt myminion git.config_get_regexp '^user\.' global=True
111766
111767       salt.modules.git.config_set(key, value=None,  multivar=None,  cwd=None,
111768       user=None,  password=None,  ignore_retcode=False, output_encoding=None,
111769       **kwargs)
111770              Changed in version 2015.8.0: Return  the  value(s)  of  the  key
111771              being set
111772
111773
111774              Set a key in the git configuration file
111775
111776              cwd    The  path  to the git checkout. Must be an absolute path,
111777                     or the word global to indicate that a global  key  should
111778                     be set.
111779
111780                     Changed  in  version 2014.7.0: Made cwd argument optional
111781                     if is_global=True
111782
111783
111784              key    The name of the configuration key to set
111785
111786                     Changed in version 2015.8.0: Argument renamed  from  set‐
111787                     ting_name to key
111788
111789
111790              value  The value to set for the specified key. Incompatible with
111791                     the multivar argument.
111792
111793                     Changed in version 2015.8.0: Argument renamed  from  set‐
111794                     ting_value to value
111795
111796
111797              add    False Add a value to a key, creating/updating a multivar
111798
111799                     New in version 2015.8.0.
111800
111801
111802              multivar
111803                     Set a multivar all at once. Values can be comma-separated
111804                     or passed as a Python list. Incompatible with  the  value
111805                     argument.
111806
111807                     New in version 2015.8.0.
111808
111809
111810              user   User  under which to run the git command. By default, the
111811                     command is run by the user under which the minion is run‐
111812                     ning.
111813
111814              password
111815                        Windows  only.  Required  when  specifying  user. This
111816                        parameter will be ignored on non-Windows platforms.
111817
111818                     New in version 2016.3.4.
111819
111820
111821              ignore_retcode
111822                     False If True, do not log an error to the minion  log  if
111823                     the git command returns a nonzero exit status.
111824
111825                     New in version 2015.8.0.
111826
111827
111828              global False If True, set a global variable
111829
111830              output_encoding
111831                     Use  this  option  to  specify  which  encoding to use to
111832                     decode the output from any git commands  which  are  run.
111833                     This should not be needed in most cases.
111834
111835                     NOTE:
111836                        This should only be needed if the files in the reposi‐
111837                        tory were created with  filenames  using  an  encoding
111838                        other than UTF-8 to handle Unicode characters.
111839
111840                     New in version 2018.3.1.
111841
111842
111843              CLI Examples:
111844
111845                 salt myminion git.config_set user.email me@example.com cwd=/path/to/repo
111846                 salt myminion git.config_set user.email foo@bar.com global=True
111847
111848       salt.modules.git.config_unset(key,      value_regex=None,     cwd=None,
111849       user=None, password=None,  ignore_retcode=False,  output_encoding=None,
111850       **kwargs)
111851              New in version 2015.8.0.
111852
111853
111854              Unset a key in the git configuration file
111855
111856              cwd    The  path  to the git checkout. Must be an absolute path,
111857                     or the word global to indicate that a global  key  should
111858                     be unset.
111859
111860              key    The name of the configuration key to unset
111861
111862              value_regex
111863                     Regular  expression that matches exactly one key, used to
111864                     delete a single value from a multivar. Ignored if all  is
111865                     set to True.
111866
111867              all    False  If True unset all values for a multivar. If False,
111868                     and key is a multivar, an error will be raised.
111869
111870              global False If True, unset set a global variable. Otherwise,  a
111871                     local variable will be unset.
111872
111873              user   User  under which to run the git command. By default, the
111874                     command is run by the user under which the minion is run‐
111875                     ning.
111876
111877              password
111878                        Windows  only.  Required  when  specifying  user. This
111879                        parameter will be ignored on non-Windows platforms.
111880
111881                     New in version 2016.3.4.
111882
111883
111884              ignore_retcode
111885                     False If True, do not log an error to the minion  log  if
111886                     the git command returns a nonzero exit status.
111887
111888              output_encoding
111889                     Use  this  option  to  specify  which  encoding to use to
111890                     decode the output from any git commands  which  are  run.
111891                     This should not be needed in most cases.
111892
111893                     NOTE:
111894                        This should only be needed if the files in the reposi‐
111895                        tory were created with  filenames  using  an  encoding
111896                        other than UTF-8 to handle Unicode characters.
111897
111898                     New in version 2018.3.1.
111899
111900
111901              CLI Example:
111902
111903                 salt myminion git.config_unset /path/to/repo foo.bar
111904                 salt myminion git.config_unset /path/to/repo foo.bar all=True
111905
111906       salt.modules.git.current_branch(cwd,      user=None,     password=None,
111907       ignore_retcode=False, output_encoding=None)
111908              Returns the current branch name of a local checkout. If HEAD  is
111909              detached,  return  the  SHA1  of the revision which is currently
111910              checked out.
111911
111912              cwd    The path to the git checkout
111913
111914              user   User under which to run the git command. By default,  the
111915                     command is run by the user under which the minion is run‐
111916                     ning.
111917
111918              password
111919                        Windows only.  Required  when  specifying  user.  This
111920                        parameter will be ignored on non-Windows platforms.
111921
111922                     New in version 2016.3.4.
111923
111924
111925              ignore_retcode
111926                     False  If  True, do not log an error to the minion log if
111927                     the git command returns a nonzero exit status.
111928
111929                     New in version 2015.8.0.
111930
111931
111932              output_encoding
111933                     Use this option to  specify  which  encoding  to  use  to
111934                     decode  the  output  from any git commands which are run.
111935                     This should not be needed in most cases.
111936
111937                     NOTE:
111938                        This should only be needed if the files in the reposi‐
111939                        tory  were  created  with  filenames using an encoding
111940                        other than UTF-8 to handle Unicode characters.
111941
111942                     New in version 2018.3.1.
111943
111944
111945              CLI Example:
111946
111947                 salt myminion git.current_branch /path/to/repo
111948
111949       salt.modules.git.describe(cwd, rev=u'HEAD',  user=None,  password=None,
111950       ignore_retcode=False, output_encoding=None)
111951              Returns  the  git-describe(1)  string (or the SHA1 hash if there
111952              are no tags) for the given revision.
111953
111954              cwd    The path to the git checkout
111955
111956              rev    HEAD The revision to describe
111957
111958              user   User under which to run the git command. By default,  the
111959                     command is run by the user under which the minion is run‐
111960                     ning.
111961
111962              password
111963                        Windows only.  Required  when  specifying  user.  This
111964                        parameter will be ignored on non-Windows platforms.
111965
111966                     New in version 2016.3.4.
111967
111968
111969              ignore_retcode
111970                     False  If  True, do not log an error to the minion log if
111971                     the git command returns a nonzero exit status.
111972
111973                     New in version 2015.8.0.
111974
111975
111976              output_encoding
111977                     Use this option to  specify  which  encoding  to  use  to
111978                     decode  the  output  from any git commands which are run.
111979                     This should not be needed in most cases.
111980
111981                     NOTE:
111982                        This should only be needed if the files in the reposi‐
111983                        tory  were  created  with  filenames using an encoding
111984                        other than UTF-8 to handle Unicode characters.
111985
111986                     New in version 2018.3.1.
111987
111988
111989              CLI Examples:
111990
111991                 salt myminion git.describe /path/to/repo
111992                 salt myminion git.describe /path/to/repo develop
111993
111994       salt.modules.git.diff(cwd,    item1=None,     item2=None,     opts=u'',
111995       git_opts=u'',  user=None,  password=None, no_index=False, cached=False,
111996       paths=None, output_encoding=None)
111997              New in version 2015.8.12,2016.3.3,2016.11.0.
111998
111999
112000              Interface to git-diff(1)
112001
112002              cwd    The path to the git checkout
112003
112004              item1 and item2
112005                     Revision(s) to pass to the git diff command. One or  both
112006                     of  these arguments may be ignored if some of the options
112007                     below are set to True. When cached is False, and no revi‐
112008                     sions are passed to this function, then the current work‐
112009                     ing  tree  will  be  compared  against  the  index  (i.e.
112010                     unstaged  changes).  When  two revisions are passed, they
112011                     will be compared to each other.
112012
112013              opts   Any additional options to add to the command line,  in  a
112014                     single string
112015
112016                     NOTE:
112017                        On the Salt CLI, if the opts are preceded with a dash,
112018                        it is necessary to precede them with opts= (as in  the
112019                        CLI  examples  below)  to  avoid  causing  errors with
112020                        Salt's own argument parsing.
112021
112022              git_opts
112023                     Any additional options to add to git command itself  (not
112024                     the  diff subcommand), in a single string. This is useful
112025                     for passing -c to run git with temporary changes  to  the
112026                     git configuration.
112027
112028                     New in version 2017.7.0.
112029
112030
112031                     NOTE:
112032                        This is only supported in git 1.7.2 and newer.
112033
112034              user   User  under which to run the git command. By default, the
112035                     command is run by the user under which the minion is run‐
112036                     ning.
112037
112038              password
112039                        Windows  only.  Required  when  specifying  user. This
112040                        parameter will be ignored on non-Windows platforms.
112041
112042                     New in version 2016.3.4.
112043
112044
112045              no_index
112046                     False When it is necessary to diff two files in the  same
112047                     repo against each other, and not diff two different revi‐
112048                     sions, set this option to True. If this is left False  in
112049                     these instances, then a normal git diff will be performed
112050                     against the index (i.e. unstaged changes), and  files  in
112051                     the  paths  option  will  be used to narrow down the diff
112052                     output.
112053
112054                     NOTE:
112055                        Requires Git 1.5.1 or newer. Additionally, when set to
112056                        True, item1 and item2 will be ignored.
112057
112058              cached False If True, compare staged changes to item1 (if speci‐
112059                     fied), otherwise compare them to the most recent commit.
112060
112061                     NOTE:
112062                        item2 is ignored if this option is is set to True.
112063
112064              paths  File paths to pass to the git diff command. Can be passed
112065                     as a comma-separated list or a Python list.
112066
112067              output_encoding
112068                     Use  this  option  to  specify  which  encoding to use to
112069                     decode the output from any git commands  which  are  run.
112070                     This should not be needed in most cases.
112071
112072                     NOTE:
112073                        This should only be needed if the files in the reposi‐
112074                        tory were created with  filenames  using  an  encoding
112075                        other than UTF-8 to handle Unicode characters.
112076
112077                     New in version 2018.3.1.
112078
112079
112080              CLI Example:
112081
112082                 # Perform diff against the index (staging area for next commit)
112083                 salt myminion git.diff /path/to/repo
112084                 # Compare staged changes to the most recent commit
112085                 salt myminion git.diff /path/to/repo cached=True
112086                 # Compare staged changes to a specific revision
112087                 salt myminion git.diff /path/to/repo mybranch cached=True
112088                 # Perform diff against the most recent commit (includes staged changes)
112089                 salt myminion git.diff /path/to/repo HEAD
112090                 # Diff two commits
112091                 salt myminion git.diff /path/to/repo abcdef1 aabbccd
112092                 # Diff two commits, only showing differences in the specified paths
112093                 salt myminion git.diff /path/to/repo abcdef1 aabbccd paths=path/to/file1,path/to/file2
112094                 # Diff two files with one being outside the working tree
112095                 salt myminion git.diff /path/to/repo no_index=True paths=path/to/file1,/absolute/path/to/file2
112096
112097       salt.modules.git.discard_local_changes(cwd, path=u'.', user=None, pass‐
112098       word=None, ignore_retcode=False, output_encoding=None)
112099              New in version 2019.2.0.
112100
112101
112102              Runs a git checkout -- <path> from the  directory  specified  by
112103              cwd.
112104
112105              cwd    The path to the git checkout
112106
112107              path   path relative to cwd (defaults to .)
112108
112109              user   User  under which to run the git command. By default, the
112110                     command is run by the user under which the minion is run‐
112111                     ning.
112112
112113              password
112114                     Windows only. Required when specifying user. This parame‐
112115                     ter will be ignored on non-Windows platforms.
112116
112117              ignore_retcode
112118                     False If True, do not log an error to the minion  log  if
112119                     the git command returns a nonzero exit status.
112120
112121              output_encoding
112122                     Use  this  option  to  specify  which  encoding to use to
112123                     decode the output from any git commands  which  are  run.
112124                     This should not be needed in most cases.
112125
112126                     NOTE:
112127                        This should only be needed if the files in the reposi‐
112128                        tory were created with  filenames  using  an  encoding
112129                        other than UTF-8 to handle Unicode characters.
112130
112131              CLI Example:
112132
112133                 salt myminion git.discard_local_changes /path/to/repo
112134                 salt myminion git.discard_local_changes /path/to/repo path=foo
112135
112136       salt.modules.git.fetch(cwd,  remote=None,  force=False,  refspecs=None,
112137       opts=u'',  git_opts=u'',   user=None,   password=None,   identity=None,
112138       ignore_retcode=False, saltenv=u'base', output_encoding=None)
112139              Changed  in  version  2015.8.2:  Return data is now a dictionary
112140              containing  information  on  branches   and   tags   that   were
112141              added/updated
112142
112143
112144              Interface to git-fetch(1)
112145
112146              cwd    The path to the git checkout
112147
112148              remote Optional  remote  name  to fetch. If not passed, then git
112149                     will  use  its   default   behavior   (as   detailed   in
112150                     git-fetch(1)).
112151
112152                     New in version 2015.8.0.
112153
112154
112155              force  Force the fetch even when it is not a fast-forward.
112156
112157                     New in version 2015.8.0.
112158
112159
112160              refspecs
112161                     Override  the  refspec(s)  configured for the remote with
112162                     this  argument.   Multiple  refspecs   can   be   passed,
112163                     comma-separated.
112164
112165                     New in version 2015.8.0.
112166
112167
112168              opts   Any  additional  options to add to the command line, in a
112169                     single string
112170
112171                     NOTE:
112172                        On the Salt CLI, if the opts are preceded with a dash,
112173                        it  is necessary to precede them with opts= (as in the
112174                        CLI examples  below)  to  avoid  causing  errors  with
112175                        Salt's own argument parsing.
112176
112177              git_opts
112178                     Any  additional options to add to git command itself (not
112179                     the fetch subcommand), in a single string. This is useful
112180                     for  passing  -c to run git with temporary changes to the
112181                     git configuration.
112182
112183                     New in version 2017.7.0.
112184
112185
112186                     NOTE:
112187                        This is only supported in git 1.7.2 and newer.
112188
112189              user   User under which to run the git command. By default,  the
112190                     command is run by the user under which the minion is run‐
112191                     ning.
112192
112193              password
112194                        Windows only.  Required  when  specifying  user.  This
112195                        parameter will be ignored on non-Windows platforms.
112196
112197                     New in version 2016.3.4.
112198
112199
112200              identity
112201                     Path to a private key to use for ssh URLs
112202
112203                     WARNING:
112204                        Unless   Salt   is   invoked  from  the  minion  using
112205                        salt-call, the  key(s)  must  be  passphraseless.  For
112206                        greater security with passphraseless private keys, see
112207                        the sshd(8) manpage for information  on  securing  the
112208                        keypair  from  the  remote side in the authorized_keys
112209                        file.
112210
112211                     Changed in version 2015.8.7: Salt will no longer  attempt
112212                     to  use passphrase-protected keys unless invoked from the
112213                     minion using salt-call, to prevent blocking  waiting  for
112214                     user input.
112215
112216
112217                     Key can also be specified as a SaltStack file server URL,
112218                     eg. salt://location/identity_file
112219
112220                     Changed in version 2016.3.0.
112221
112222
112223              ignore_retcode
112224                     False If True, do not log an error to the minion  log  if
112225                     the git command returns a nonzero exit status.
112226
112227                     New in version 2015.8.0.
112228
112229
112230              saltenv
112231                     The default salt environment to pull sls files from
112232
112233                     New in version 2016.3.1.
112234
112235
112236              output_encoding
112237                     Use  this  option  to  specify  which  encoding to use to
112238                     decode the output from any git commands  which  are  run.
112239                     This should not be needed in most cases.
112240
112241                     NOTE:
112242                        This should only be needed if the files in the reposi‐
112243                        tory were created with  filenames  using  an  encoding
112244                        other than UTF-8 to handle Unicode characters.
112245
112246                     New in version 2018.3.1.
112247
112248
112249              CLI Example:
112250
112251                 salt myminion git.fetch /path/to/repo upstream
112252                 salt myminion git.fetch /path/to/repo identity=/root/.ssh/id_rsa
112253
112254       salt.modules.git.init(cwd,     bare=False,     template=None,     sepa‐
112255       rate_git_dir=None,  shared=None,  opts=u'',  git_opts=u'',   user=None,
112256       password=None, ignore_retcode=False, output_encoding=None)
112257              Interface to git-init(1)
112258
112259              cwd    The path to the directory to be initialized
112260
112261              bare   False If True, init a bare repository
112262
112263                     New in version 2015.8.0.
112264
112265
112266              template
112267                     Set this argument to specify an alternate template direc‐
112268                     tory
112269
112270                     New in version 2015.8.0.
112271
112272
112273              separate_git_dir
112274                     Set this argument to specify an alternate $GIT_DIR
112275
112276                     New in version 2015.8.0.
112277
112278
112279              shared Set sharing permissions on git repo. See git-init(1)  for
112280                     more details.
112281
112282                     New in version 2015.8.0.
112283
112284
112285              opts   Any  additional  options to add to the command line, in a
112286                     single string
112287
112288                     NOTE:
112289                        On the Salt CLI, if the opts are preceded with a dash,
112290                        it  is necessary to precede them with opts= (as in the
112291                        CLI examples  below)  to  avoid  causing  errors  with
112292                        Salt's own argument parsing.
112293
112294              git_opts
112295                     Any  additional options to add to git command itself (not
112296                     the init subcommand), in a single string. This is  useful
112297                     for  passing  -c to run git with temporary changes to the
112298                     git configuration.
112299
112300                     New in version 2017.7.0.
112301
112302
112303                     NOTE:
112304                        This is only supported in git 1.7.2 and newer.
112305
112306              user   User under which to run the git command. By default,  the
112307                     command is run by the user under which the minion is run‐
112308                     ning.
112309
112310              password
112311                        Windows only.  Required  when  specifying  user.  This
112312                        parameter will be ignored on non-Windows platforms.
112313
112314                     New in version 2016.3.4.
112315
112316
112317              ignore_retcode
112318                     False  If  True, do not log an error to the minion log if
112319                     the git command returns a nonzero exit status.
112320
112321                     New in version 2015.8.0.
112322
112323
112324              output_encoding
112325                     Use this option to  specify  which  encoding  to  use  to
112326                     decode  the  output  from any git commands which are run.
112327                     This should not be needed in most cases.
112328
112329                     NOTE:
112330                        This should only be needed if the files in the reposi‐
112331                        tory  were  created  with  filenames using an encoding
112332                        other than UTF-8 to handle Unicode characters.
112333
112334                     New in version 2018.3.1.
112335
112336
112337              CLI Examples:
112338
112339                 salt myminion git.init /path/to/repo
112340                 # Init a bare repo (before 2015.8.0)
112341                 salt myminion git.init /path/to/bare/repo.git opts='--bare'
112342                 # Init a bare repo (2015.8.0 and later)
112343                 salt myminion git.init /path/to/bare/repo.git bare=True
112344
112345       salt.modules.git.is_worktree(cwd,   user=None,   password=None,    out‐
112346       put_encoding=None)
112347              New in version 2015.8.0.
112348
112349
112350              This  function  will  attempt  to  determine if cwd is part of a
112351              worktree by checking its .git to see if it is a file  containing
112352              a reference to another gitdir.
112353
112354              cwd    path to the worktree to be removed
112355
112356              user   User  under which to run the git command. By default, the
112357                     command is run by the user under which the minion is run‐
112358                     ning.
112359
112360              password
112361                        Windows  only.  Required  when  specifying  user. This
112362                        parameter will be ignored on non-Windows platforms.
112363
112364                     New in version 2016.3.4.
112365
112366
112367              output_encoding
112368                     Use this option to  specify  which  encoding  to  use  to
112369                     decode  the  output  from any git commands which are run.
112370                     This should not be needed in most cases.
112371
112372                     NOTE:
112373                        This should only be needed if the files in the reposi‐
112374                        tory  were  created  with  filenames using an encoding
112375                        other than UTF-8 to handle Unicode characters.
112376
112377                     New in version 2018.3.1.
112378
112379
112380              CLI Example:
112381
112382                 salt myminion git.is_worktree /path/to/repo
112383
112384       salt.modules.git.list_branches(cwd,  remote=False,   user=None,   pass‐
112385       word=None, ignore_retcode=False, output_encoding=None)
112386              New in version 2015.8.0.
112387
112388
112389              Return a list of branches
112390
112391              cwd    The path to the git checkout
112392
112393              remote False  If  True,  list  remote branches. Otherwise, local
112394                     branches will be listed.
112395
112396                     WARNING:
112397                        This option will only return remote branches of  which
112398                        the  local  checkout is aware, use git.fetch to update
112399                        remotes.
112400
112401              user   User under which to run the git command. By default,  the
112402                     command is run by the user under which the minion is run‐
112403                     ning.
112404
112405              password
112406                        Windows only.  Required  when  specifying  user.  This
112407                        parameter will be ignored on non-Windows platforms.
112408
112409                     New in version 2016.3.4.
112410
112411
112412              ignore_retcode
112413                     False  If  True, do not log an error to the minion log if
112414                     the git command returns a nonzero exit status.
112415
112416                     New in version 2015.8.0.
112417
112418
112419              output_encoding
112420                     Use this option to  specify  which  encoding  to  use  to
112421                     decode  the  output  from any git commands which are run.
112422                     This should not be needed in most cases.
112423
112424                     NOTE:
112425                        This should only be needed if the files in the reposi‐
112426                        tory  were  created  with  filenames using an encoding
112427                        other than UTF-8 to handle Unicode characters.
112428
112429                     New in version 2018.3.1.
112430
112431
112432              CLI Examples:
112433
112434                 salt myminion git.list_branches /path/to/repo
112435                 salt myminion git.list_branches /path/to/repo remote=True
112436
112437       salt.modules.git.list_tags(cwd, user=None,  password=None,  ignore_ret‐
112438       code=False, output_encoding=None)
112439              New in version 2015.8.0.
112440
112441
112442              Return a list of tags
112443
112444              cwd    The path to the git checkout
112445
112446              user   User  under which to run the git command. By default, the
112447                     command is run by the user under which the minion is run‐
112448                     ning.
112449
112450              password
112451                        Windows  only.  Required  when  specifying  user. This
112452                        parameter will be ignored on non-Windows platforms.
112453
112454                     New in version 2016.3.4.
112455
112456
112457              ignore_retcode
112458                     False If True, do not log an error to the minion  log  if
112459                     the git command returns a nonzero exit status.
112460
112461                     New in version 2015.8.0.
112462
112463
112464              output_encoding
112465                     Use  this  option  to  specify  which  encoding to use to
112466                     decode the output from any git commands  which  are  run.
112467                     This should not be needed in most cases.
112468
112469                     NOTE:
112470                        This should only be needed if the files in the reposi‐
112471                        tory were created with  filenames  using  an  encoding
112472                        other than UTF-8 to handle Unicode characters.
112473
112474                     New in version 2018.3.1.
112475
112476
112477              CLI Examples:
112478
112479                 salt myminion git.list_tags /path/to/repo
112480
112481       salt.modules.git.list_worktrees(cwd,   stale=False,   user=None,  pass‐
112482       word=None, output_encoding=None, **kwargs)
112483              New in version 2015.8.0.
112484
112485
112486              Returns information on worktrees
112487
112488              Changed in version 2015.8.4: Version 2.7.0 added the  list  sub‐
112489              command  to  git-worktree(1)  which provides a lot of additional
112490              information. The return data has been changed  to  include  this
112491              information, even for pre-2.7.0 versions of git. In addition, if
112492              a worktree has a detached head, then any tags which point to the
112493              worktree's HEAD will be included in the return data.
112494
112495
112496              NOTE:
112497                 By  default,  only worktrees for which the worktree directory
112498                 is still present are returned, but this can be changed  using
112499                 the all and stale arguments (described below).
112500
112501              cwd    The path to the git checkout
112502
112503              user   User  under which to run the git command. By default, the
112504                     command is run by the user under which the minion is run‐
112505                     ning.
112506
112507              password
112508                        Windows  only.  Required  when  specifying  user. This
112509                        parameter will be ignored on non-Windows platforms.
112510
112511                     New in version 2016.3.4.
112512
112513
112514              all    False If True, then return all  worktrees  tracked  under
112515                     $GIT_DIR/worktrees,  including  ones for which the gitdir
112516                     is no longer present.
112517
112518              stale  False If True, return only worktrees whose gitdir  is  no
112519                     longer present.
112520
112521              NOTE:
112522                 Only one of all and stale can be set to True.
112523
112524              output_encoding
112525                     Use  this  option  to  specify  which  encoding to use to
112526                     decode the output from any git commands  which  are  run.
112527                     This should not be needed in most cases.
112528
112529                     NOTE:
112530                        This should only be needed if the files in the reposi‐
112531                        tory were created with  filenames  using  an  encoding
112532                        other than UTF-8 to handle Unicode characters.
112533
112534                     New in version 2018.3.1.
112535
112536
112537              CLI Examples:
112538
112539                 salt myminion git.list_worktrees /path/to/repo
112540                 salt myminion git.list_worktrees /path/to/repo all=True
112541                 salt myminion git.list_worktrees /path/to/repo stale=True
112542
112543       salt.modules.git.ls_remote(cwd=None,     remote=u'origin',    ref=None,
112544       opts=u'',  git_opts=u'',   user=None,   password=None,   identity=None,
112545       https_user=None,  https_pass=None,  ignore_retcode=False, output_encod‐
112546       ing=None, saltenv=u'base')
112547              Interface to git-ls-remote(1). Returns the upstream hash  for  a
112548              remote reference.
112549
112550              cwd    The  path  to  the git checkout. Optional (and ignored if
112551                     present) when remote is set to a URL instead of a  remote
112552                     name.
112553
112554              remote origin  The  name of the remote to query. Can be the name
112555                     of a git remote (which exists in the git checkout defined
112556                     by the cwd parameter), or the URL of a remote repository.
112557
112558                     Changed in version 2015.8.0: Argument renamed from repos‐
112559                     itory to remote
112560
112561
112562              ref    The name of the ref to query. Optional, if not specified,
112563                     all  refs  are  returned. Can be a branch or tag name, or
112564                     the full name of the reference (for example, to  get  the
112565                     hash  for  a  Github pull request number 1234, ref can be
112566                     set to refs/pull/1234/head
112567
112568                     Changed in version 2015.8.0: Argument renamed from branch
112569                     to ref
112570
112571
112572                     Changed  in  version  2015.8.4: Defaults to returning all
112573                     refs instead of master.
112574
112575
112576              opts   Any additional options to add to the command line,  in  a
112577                     single string
112578
112579                     New in version 2015.8.0.
112580
112581
112582              git_opts
112583                     Any  additional options to add to git command itself (not
112584                     the ls-remote subcommand), in a single  string.  This  is
112585                     useful  for  passing -c to run git with temporary changes
112586                     to the git configuration.
112587
112588                     New in version 2017.7.0.
112589
112590
112591                     NOTE:
112592                        This is only supported in git 1.7.2 and newer.
112593
112594              user   User under which to run the git command. By default,  the
112595                     command is run by the user under which the minion is run‐
112596                     ning.
112597
112598              password
112599                        Windows only.  Required  when  specifying  user.  This
112600                        parameter will be ignored on non-Windows platforms.
112601
112602                     New in version 2016.3.4.
112603
112604
112605              identity
112606                     Path to a private key to use for ssh URLs
112607
112608                     WARNING:
112609                        Unless   Salt   is   invoked  from  the  minion  using
112610                        salt-call, the  key(s)  must  be  passphraseless.  For
112611                        greater security with passphraseless private keys, see
112612                        the sshd(8) manpage for information  on  securing  the
112613                        keypair  from  the  remote side in the authorized_keys
112614                        file.
112615
112616                     Changed in version 2015.8.7: Salt will no longer  attempt
112617                     to  use passphrase-protected keys unless invoked from the
112618                     minion using salt-call, to prevent blocking  waiting  for
112619                     user input.
112620
112621
112622                     Key can also be specified as a SaltStack file server URL,
112623                     eg. salt://location/identity_file
112624
112625                     Changed in version 2016.3.0.
112626
112627
112628              https_user
112629                     Set HTTP Basic Auth username.  Only  accepted  for  HTTPS
112630                     URLs.
112631
112632                     New in version 2015.5.0.
112633
112634
112635              https_pass
112636                     Set  HTTP  Basic  Auth  password. Only accepted for HTTPS
112637                     URLs.
112638
112639                     New in version 2015.5.0.
112640
112641
112642              ignore_retcode
112643                     False If True, do not log an error to the minion  log  if
112644                     the git command returns a nonzero exit status.
112645
112646                     New in version 2015.8.0.
112647
112648
112649              saltenv
112650                     The default salt environment to pull sls files from
112651
112652                     New in version 2016.3.1.
112653
112654
112655              output_encoding
112656                     Use  this  option  to  specify  which  encoding to use to
112657                     decode the output from any git commands  which  are  run.
112658                     This should not be needed in most cases.
112659
112660                     NOTE:
112661                        This should only be needed if the files in the reposi‐
112662                        tory were created with  filenames  using  an  encoding
112663                        other than UTF-8 to handle Unicode characters.
112664
112665                     New in version 2018.3.1.
112666
112667
112668              CLI Example:
112669
112670                 salt myminion git.ls_remote /path/to/repo origin master
112671                 salt myminion git.ls_remote remote=https://mydomain.tld/repo.git ref=mytag opts='--tags'
112672
112673       salt.modules.git.merge(cwd,     rev=None,    opts=u'',    git_opts=u'',
112674       user=None,  password=None,  identity=None,  ignore_retcode=False,  out‐
112675       put_encoding=None, **kwargs)
112676              Interface to git-merge(1)
112677
112678              cwd    The path to the git checkout
112679
112680              rev    Revision  to merge into the current branch. If not speci‐
112681                     fied, the remote tracking branch will be merged.
112682
112683                     New in version 2015.8.0.
112684
112685
112686              opts   Any additional options to add to the command line,  in  a
112687                     single string
112688
112689                     NOTE:
112690                        On the Salt CLI, if the opts are preceded with a dash,
112691                        it is necessary to precede them with opts= (as in  the
112692                        CLI  examples  below)  to  avoid  causing  errors with
112693                        Salt's own argument parsing.
112694
112695              git_opts
112696                     Any additional options to add to git command itself  (not
112697                     the merge subcommand), in a single string. This is useful
112698                     for passing -c to run git with temporary changes  to  the
112699                     git configuration.
112700
112701                     New in version 2017.7.0.
112702
112703
112704                     NOTE:
112705                        This is only supported in git 1.7.2 and newer.
112706
112707              user   User  under which to run the git command. By default, the
112708                     command is run by the user under which the minion is run‐
112709                     ning.
112710
112711              password
112712                        Windows  only.  Required  when  specifying  user. This
112713                        parameter will be ignored on non-Windows platforms.
112714
112715                     New in version 2016.3.4.
112716
112717
112718              identity
112719                     Path to a private key to use for ssh URLs. Salt will  not
112720                     attempt  to  use passphrase-protected keys unless invoked
112721                     from the minion  using  salt-call,  to  prevent  blocking
112722                     waiting  for  user  input. Key can also be specified as a
112723                     SaltStack file  server  URL,  eg.   salt://location/iden‐
112724                     tity_file.
112725
112726                     NOTE:
112727                        For greater security with passphraseless private keys,
112728                        see the sshd(8) manpage for  information  on  securing
112729                        the  keypair  from  the  remote  side  in  the  autho‐
112730                        rized_keys file.
112731
112732                     New in version 2018.3.5,2019.2.1,3000.
112733
112734
112735              ignore_retcode
112736                     False If True, do not log an error to the minion  log  if
112737                     the git command returns a nonzero exit status.
112738
112739                     New in version 2015.8.0.
112740
112741
112742              output_encoding
112743                     Use  this  option  to  specify  which  encoding to use to
112744                     decode the output from any git commands  which  are  run.
112745                     This should not be needed in most cases.
112746
112747                     NOTE:
112748                        This should only be needed if the files in the reposi‐
112749                        tory were created with  filenames  using  an  encoding
112750                        other than UTF-8 to handle Unicode characters.
112751
112752                     New in version 2018.3.1.
112753
112754
112755              CLI Example:
112756
112757                 # Fetch first...
112758                 salt myminion git.fetch /path/to/repo
112759                 # ... then merge the remote tracking branch
112760                 salt myminion git.merge /path/to/repo
112761                 # .. or merge another rev
112762                 salt myminion git.merge /path/to/repo rev=upstream/foo
112763
112764       salt.modules.git.merge_base(cwd,  refs=None,  octopus=False,  is_ances‐
112765       tor=False, independent=False, fork_point=None, opts=u'',  git_opts=u'',
112766       user=None,  password=None,  ignore_retcode=False, output_encoding=None,
112767       **kwargs)
112768              New in version 2015.8.0.
112769
112770
112771              Interface to git-merge-base(1).
112772
112773              cwd    The path to the git checkout
112774
112775              refs   Any refs/commits to check for a merge base. Can be passed
112776                     as a comma-separated list or a Python list.
112777
112778              all    False Return a list of all matching merge bases. Not com‐
112779                     patible with any of the below options except for octopus.
112780
112781              octopus
112782                     False If True, then this function will determine the best
112783                     common ancestors of all specified commits, in preparation
112784                     for an n-way merge.  See here for a  description  of  how
112785                     these bases are determined.
112786
112787                     Set  all  to True with this option to return all computed
112788                     merge bases, otherwise only the "best" will be returned.
112789
112790              is_ancestor
112791                     False If True, then instead of returning the merge  base,
112792                     return  a boolean telling whether or not the first commit
112793                     is an ancestor of the second commit.
112794
112795                     NOTE:
112796                        This option requires two commits to be passed.
112797
112798                     Changed in version 2015.8.2: Works properly in  git  ver‐
112799                     sions  older  than  1.8.0,  where  the  --is-ancestor CLI
112800                     option is not present.
112801
112802
112803              independent
112804                     False If True, this function will return the IDs  of  the
112805                     refs/commits  passed  which  cannot be reached by another
112806                     commit.
112807
112808              fork_point
112809                     If passed, then this  function  will  return  the  commit
112810                     where  the  commit  diverged  from  the  ref specified by
112811                     fork_point. If no fork point is found, None is returned.
112812
112813                     NOTE:
112814                        At most one commit is permitted  to  be  passed  if  a
112815                        fork_point  is  specified.  If  no commits are passed,
112816                        then HEAD is assumed.
112817
112818              opts   Any additional options to add to the command line,  in  a
112819                     single string
112820
112821                     NOTE:
112822                        On the Salt CLI, if the opts are preceded with a dash,
112823                        it is necessary to precede them with opts= (as in  the
112824                        CLI  examples  below)  to  avoid  causing  errors with
112825                        Salt's own argument parsing.
112826
112827                        This option should not be  necessary  unless  new  CLI
112828                        arguments  are  added to git-merge-base(1) and are not
112829                        yet supported in Salt.
112830
112831              git_opts
112832                     Any additional options to add to git command itself  (not
112833                     the  merge-base  subcommand), in a single string. This is
112834                     useful for passing -c to run git with  temporary  changes
112835                     to the git configuration.
112836
112837                     New in version 2017.7.0.
112838
112839
112840                     NOTE:
112841                        This is only supported in git 1.7.2 and newer.
112842
112843              user   User  under which to run the git command. By default, the
112844                     command is run by the user under which the minion is run‐
112845                     ning.
112846
112847              password
112848                        Windows  only.  Required  when  specifying  user. This
112849                        parameter will be ignored on non-Windows platforms.
112850
112851                     New in version 2016.3.4.
112852
112853
112854              ignore_retcode
112855                     False if True, do not log an error to the minion  log  if
112856                     the git command returns a nonzero exit status.
112857
112858              output_encoding
112859                     Use  this  option  to  specify  which  encoding to use to
112860                     decode the output from any git commands  which  are  run.
112861                     This should not be needed in most cases.
112862
112863                     NOTE:
112864                        This should only be needed if the files in the reposi‐
112865                        tory were created with  filenames  using  an  encoding
112866                        other than UTF-8 to handle Unicode characters.
112867
112868                     New in version 2018.3.1.
112869
112870
112871              CLI Examples:
112872
112873                 salt myminion git.merge_base /path/to/repo HEAD upstream/mybranch
112874                 salt myminion git.merge_base /path/to/repo 8f2e542,4ad8cab,cdc9886 octopus=True
112875                 salt myminion git.merge_base /path/to/repo refs=8f2e542,4ad8cab,cdc9886 independent=True
112876                 salt myminion git.merge_base /path/to/repo refs=8f2e542,4ad8cab is_ancestor=True
112877                 salt myminion git.merge_base /path/to/repo fork_point=upstream/master
112878                 salt myminion git.merge_base /path/to/repo refs=mybranch fork_point=upstream/master
112879
112880       salt.modules.git.merge_tree(cwd,   ref1,  ref2,  base=None,  user=None,
112881       password=None, ignore_retcode=False, output_encoding=None)
112882              New in version 2015.8.0.
112883
112884
112885              Interface to git-merge-tree(1), shows the merge results and con‐
112886              flicts from a 3-way merge without touching the index.
112887
112888              cwd    The path to the git checkout
112889
112890              ref1   First ref/commit to compare
112891
112892              ref2   Second ref/commit to compare
112893
112894              base   The  base  tree  to  use for the 3-way-merge. If not pro‐
112895                     vided, then git.merge_base will be invoked  on  ref1  and
112896                     ref2 to determine the merge base to use.
112897
112898              user   User  under which to run the git command. By default, the
112899                     command is run by the user under which the minion is run‐
112900                     ning.
112901
112902              password
112903                        Windows  only.  Required  when  specifying  user. This
112904                        parameter will be ignored on non-Windows platforms.
112905
112906                     New in version 2016.3.4.
112907
112908
112909              ignore_retcode
112910                     False if True, do not log an error to the minion  log  if
112911                     the git command returns a nonzero exit status.
112912
112913              output_encoding
112914                     Use  this  option  to  specify  which  encoding to use to
112915                     decode the output from any git commands  which  are  run.
112916                     This should not be needed in most cases.
112917
112918                     NOTE:
112919                        This should only be needed if the files in the reposi‐
112920                        tory were created with  filenames  using  an  encoding
112921                        other than UTF-8 to handle Unicode characters.
112922
112923                     New in version 2018.3.1.
112924
112925
112926              CLI Examples:
112927
112928                 salt myminion git.merge_tree /path/to/repo HEAD upstream/dev
112929                 salt myminion git.merge_tree /path/to/repo HEAD upstream/dev base=aaf3c3d
112930
112931       salt.modules.git.pull(cwd,  opts=u'',  git_opts=u'',  user=None,  pass‐
112932       word=None, identity=None, ignore_retcode=False,  saltenv=u'base',  out‐
112933       put_encoding=None)
112934              Interface to git-pull(1)
112935
112936              cwd    The path to the git checkout
112937
112938              opts   Any  additional  options to add to the command line, in a
112939                     single string
112940
112941                     NOTE:
112942                        On the Salt CLI, if the opts are preceded with a dash,
112943                        it  is necessary to precede them with opts= (as in the
112944                        CLI examples  below)  to  avoid  causing  errors  with
112945                        Salt's own argument parsing.
112946
112947              git_opts
112948                     Any  additional options to add to git command itself (not
112949                     the pull subcommand), in a single string. This is  useful
112950                     for  passing  -c to run git with temporary changes to the
112951                     git configuration.
112952
112953                     New in version 2017.7.0.
112954
112955
112956                     NOTE:
112957                        This is only supported in git 1.7.2 and newer.
112958
112959              user   User under which to run the git command. By default,  the
112960                     command is run by the user under which the minion is run‐
112961                     ning.
112962
112963              password
112964                        Windows only.  Required  when  specifying  user.  This
112965                        parameter will be ignored on non-Windows platforms.
112966
112967                     New in version 2016.3.4.
112968
112969
112970              identity
112971                     Path to a private key to use for ssh URLs
112972
112973                     WARNING:
112974                        Unless   Salt   is   invoked  from  the  minion  using
112975                        salt-call, the  key(s)  must  be  passphraseless.  For
112976                        greater security with passphraseless private keys, see
112977                        the sshd(8) manpage for information  on  securing  the
112978                        keypair  from  the  remote side in the authorized_keys
112979                        file.
112980
112981                     Changed in version 2015.8.7: Salt will no longer  attempt
112982                     to  use passphrase-protected keys unless invoked from the
112983                     minion using salt-call, to prevent blocking  waiting  for
112984                     user input.
112985
112986
112987                     Key can also be specified as a SaltStack file server URL,
112988                     eg. salt://location/identity_file
112989
112990                     Changed in version 2016.3.0.
112991
112992
112993              ignore_retcode
112994                     False If True, do not log an error to the minion  log  if
112995                     the git command returns a nonzero exit status.
112996
112997                     New in version 2015.8.0.
112998
112999
113000              saltenv
113001                     The default salt environment to pull sls files from
113002
113003                     New in version 2016.3.1.
113004
113005
113006              output_encoding
113007                     Use  this  option  to  specify  which  encoding to use to
113008                     decode the output from any git commands  which  are  run.
113009                     This should not be needed in most cases.
113010
113011                     NOTE:
113012                        This should only be needed if the files in the reposi‐
113013                        tory were created with  filenames  using  an  encoding
113014                        other than UTF-8 to handle Unicode characters.
113015
113016                     New in version 2018.3.1.
113017
113018
113019              CLI Example:
113020
113021                 salt myminion git.pull /path/to/repo opts='--rebase origin master'
113022
113023       salt.modules.git.push(cwd,     remote=None,     ref=None,     opts=u'',
113024       git_opts=u'',  user=None,  password=None,  identity=None,   ignore_ret‐
113025       code=False, saltenv=u'base', output_encoding=None, **kwargs)
113026              Interface to git-push(1)
113027
113028              cwd    The path to the git checkout
113029
113030              remote Name of the remote to which the ref should being pushed
113031
113032                     New in version 2015.8.0.
113033
113034
113035              ref    master Name of the ref to push
113036
113037                     NOTE:
113038                        Being  a refspec, this argument can include a colon to
113039                        define local and remote ref names.
113040
113041              opts   Any additional options to add to the command line,  in  a
113042                     single string
113043
113044                     NOTE:
113045                        On the Salt CLI, if the opts are preceded with a dash,
113046                        it is necessary to precede them with opts= (as in  the
113047                        CLI  examples  below)  to  avoid  causing  errors with
113048                        Salt's own argument parsing.
113049
113050              git_opts
113051                     Any additional options to add to git command itself  (not
113052                     the  push subcommand), in a single string. This is useful
113053                     for passing -c to run git with temporary changes  to  the
113054                     git configuration.
113055
113056                     New in version 2017.7.0.
113057
113058
113059                     NOTE:
113060                        This is only supported in git 1.7.2 and newer.
113061
113062              user   User  under which to run the git command. By default, the
113063                     command is run by the user under which the minion is run‐
113064                     ning.
113065
113066              password
113067                        Windows  only.  Required  when  specifying  user. This
113068                        parameter will be ignored on non-Windows platforms.
113069
113070                     New in version 2016.3.4.
113071
113072
113073              identity
113074                     Path to a private key to use for ssh URLs
113075
113076                     WARNING:
113077                        Unless  Salt  is  invoked  from   the   minion   using
113078                        salt-call,  the  key(s)  must  be  passphraseless. For
113079                        greater security with passphraseless private keys, see
113080                        the  sshd(8)  manpage  for information on securing the
113081                        keypair from the remote side  in  the  authorized_keys
113082                        file.
113083
113084                     Changed  in version 2015.8.7: Salt will no longer attempt
113085                     to use passphrase-protected keys unless invoked from  the
113086                     minion  using  salt-call, to prevent blocking waiting for
113087                     user input.
113088
113089
113090                     Key can also be specified as a SaltStack file server URL,
113091                     eg. salt://location/identity_file
113092
113093                     Changed in version 2016.3.0.
113094
113095
113096              ignore_retcode
113097                     False  If  True, do not log an error to the minion log if
113098                     the git command returns a nonzero exit status.
113099
113100                     New in version 2015.8.0.
113101
113102
113103              saltenv
113104                     The default salt environment to pull sls files from
113105
113106                     New in version 2016.3.1.
113107
113108
113109              output_encoding
113110                     Use this option to  specify  which  encoding  to  use  to
113111                     decode  the  output  from any git commands which are run.
113112                     This should not be needed in most cases.
113113
113114                     NOTE:
113115                        This should only be needed if the files in the reposi‐
113116                        tory  were  created  with  filenames using an encoding
113117                        other than UTF-8 to handle Unicode characters.
113118
113119                     New in version 2018.3.1.
113120
113121
113122              CLI Example:
113123
113124                 # Push master as origin/master
113125                 salt myminion git.push /path/to/repo origin master
113126                 # Push issue21 as upstream/develop
113127                 salt myminion git.push /path/to/repo upstream issue21:develop
113128                 # Delete remote branch 'upstream/temp'
113129                 salt myminion git.push /path/to/repo upstream :temp
113130
113131       salt.modules.git.rebase(cwd,  rev=u'master',  opts=u'',   git_opts=u'',
113132       user=None, password=None, ignore_retcode=False, output_encoding=None)
113133              Interface to git-rebase(1)
113134
113135              cwd    The path to the git checkout
113136
113137              rev    master The revision to rebase onto the current branch
113138
113139              opts   Any  additional  options to add to the command line, in a
113140                     single string
113141
113142                     NOTE:
113143                        On the Salt CLI, if the opts are preceded with a dash,
113144                        it  is necessary to precede them with opts= (as in the
113145                        CLI examples  below)  to  avoid  causing  errors  with
113146                        Salt's own argument parsing.
113147
113148              git_opts
113149                     Any  additional options to add to git command itself (not
113150                     the rebase subcommand), in a single string. This is  use‐
113151                     ful  for  passing -c to run git with temporary changes to
113152                     the git configuration.
113153
113154                     New in version 2017.7.0.
113155
113156
113157                     NOTE:
113158                        This is only supported in git 1.7.2 and newer.
113159
113160              user   User under which to run the git command. By default,  the
113161                     command is run by the user under which the minion is run‐
113162                     ning.
113163
113164              password
113165                        Windows only.  Required  when  specifying  user.  This
113166                        parameter will be ignored on non-Windows platforms.
113167
113168                     New in version 2016.3.4.
113169
113170
113171              ignore_retcode
113172                     False  If  True, do not log an error to the minion log if
113173                     the git command returns a nonzero exit status.
113174
113175                     New in version 2015.8.0.
113176
113177
113178              output_encoding
113179                     Use this option to  specify  which  encoding  to  use  to
113180                     decode  the  output  from any git commands which are run.
113181                     This should not be needed in most cases.
113182
113183                     NOTE:
113184                        This should only be needed if the files in the reposi‐
113185                        tory  were  created  with  filenames using an encoding
113186                        other than UTF-8 to handle Unicode characters.
113187
113188                     New in version 2018.3.1.
113189
113190
113191              CLI Example:
113192
113193                 salt myminion git.rebase /path/to/repo master
113194                 salt myminion git.rebase /path/to/repo 'origin master'
113195                 salt myminion git.rebase /path/to/repo origin/master opts='--onto newbranch'
113196
113197       salt.modules.git.remote_get(cwd,  remote=u'origin',  user=None,   pass‐
113198       word=None,    redact_auth=True,   ignore_retcode=False,   output_encod‐
113199       ing=None)
113200              Get the fetch and push URL for a specific remote
113201
113202              cwd    The path to the git checkout
113203
113204              remote origin Name of the remote to query
113205
113206              user   User under which to run the git command. By default,  the
113207                     command is run by the user under which the minion is run‐
113208                     ning.
113209
113210              password
113211                        Windows only.  Required  when  specifying  user.  This
113212                        parameter will be ignored on non-Windows platforms.
113213
113214                     New in version 2016.3.4.
113215
113216
113217              redact_auth
113218                     True Set to False to include the username/password if the
113219                     remote uses HTTPS Basic Auth. Otherwise, this information
113220                     will be redacted.
113221
113222                     WARNING:
113223                        Setting  this  to False will not only reveal any HTTPS
113224                        Basic Auth that is configured,  but  the  return  data
113225                        will  also be written to the job cache. When possible,
113226                        it is recommended to use SSH for authentication.
113227
113228                     New in version 2015.5.6.
113229
113230
113231              ignore_retcode
113232                     False If True, do not log an error to the minion  log  if
113233                     the git command returns a nonzero exit status.
113234
113235                     New in version 2015.8.0.
113236
113237
113238              output_encoding
113239                     Use  this  option  to  specify  which  encoding to use to
113240                     decode the output from any git commands  which  are  run.
113241                     This should not be needed in most cases.
113242
113243                     NOTE:
113244                        This should only be needed if the files in the reposi‐
113245                        tory were created with  filenames  using  an  encoding
113246                        other than UTF-8 to handle Unicode characters.
113247
113248                     New in version 2018.3.1.
113249
113250
113251              CLI Examples:
113252
113253                 salt myminion git.remote_get /path/to/repo
113254                 salt myminion git.remote_get /path/to/repo upstream
113255
113256       salt.modules.git.remote_refs(url,  heads=False,  tags=False, user=None,
113257       password=None,   identity=None,    https_user=None,    https_pass=None,
113258       ignore_retcode=False, output_encoding=None, saltenv=u'base', **kwargs)
113259              New in version 2015.8.0.
113260
113261
113262              Return  the  remote  refs  for  the specified URL by running git
113263              ls-remote.
113264
113265              url    URL of the remote repository
113266
113267              filter Optionally provide a ref name to git ls-remote. This  can
113268                     be  useful  to make this function run faster on reposito‐
113269                     ries with many branches/tags.
113270
113271                     New in version 2019.2.0.
113272
113273
113274              heads  False Restrict output to  heads.  Can  be  combined  with
113275                     tags.
113276
113277              tags   False  Restrict  output  to  tags.  Can  be combined with
113278                     heads.
113279
113280              user   User under which to run the git command. By default,  the
113281                     command is run by the user under which the minion is run‐
113282                     ning.
113283
113284              password
113285                        Windows only.  Required  when  specifying  user.  This
113286                        parameter will be ignored on non-Windows platforms.
113287
113288                     New in version 2016.3.4.
113289
113290
113291              identity
113292                     Path to a private key to use for ssh URLs
113293
113294                     WARNING:
113295                        Unless   Salt   is   invoked  from  the  minion  using
113296                        salt-call, the  key(s)  must  be  passphraseless.  For
113297                        greater security with passphraseless private keys, see
113298                        the sshd(8) manpage for information  on  securing  the
113299                        keypair  from  the  remote side in the authorized_keys
113300                        file.
113301
113302                     Changed in version 2015.8.7: Salt will no longer  attempt
113303                     to  use passphrase-protected keys unless invoked from the
113304                     minion using salt-call, to prevent blocking  waiting  for
113305                     user input.
113306
113307
113308                     Key can also be specified as a SaltStack file server URL,
113309                     eg. salt://location/identity_file
113310
113311                     Changed in version 2016.3.0.
113312
113313
113314              https_user
113315                     Set HTTP Basic Auth username.  Only  accepted  for  HTTPS
113316                     URLs.
113317
113318              https_pass
113319                     Set  HTTP  Basic  Auth  password. Only accepted for HTTPS
113320                     URLs.
113321
113322              ignore_retcode
113323                     False If True, do not log an error to the minion  log  if
113324                     the git command returns a nonzero exit status.
113325
113326              saltenv
113327                     The default salt environment to pull sls files from
113328
113329                     New in version 2016.3.1.
113330
113331
113332              output_encoding
113333                     Use  this  option  to  specify  which  encoding to use to
113334                     decode the output from any git commands  which  are  run.
113335                     This should not be needed in most cases.
113336
113337                     NOTE:
113338                        This should only be needed if the files in the reposi‐
113339                        tory were created with  filenames  using  an  encoding
113340                        other than UTF-8 to handle Unicode characters.
113341
113342                     New in version 2018.3.1.
113343
113344
113345              CLI Example:
113346
113347                 salt myminion git.remote_refs https://github.com/saltstack/salt.git
113348                 salt myminion git.remote_refs https://github.com/saltstack/salt.git filter=develop
113349
113350       salt.modules.git.remote_set(cwd,   url,   remote=u'origin',  user=None,
113351       password=None,   https_user=None,    https_pass=None,    push_url=None,
113352       push_https_user=None,  push_https_pass=None, ignore_retcode=False, out‐
113353       put_encoding=None)
113354
113355              cwd    The path to the git checkout
113356
113357              url    Remote URL to set
113358
113359              remote origin Name of the remote to set
113360
113361              push_url
113362                     If unset, the push URL will be  identical  to  the  fetch
113363                     URL.
113364
113365                     New in version 2015.8.0.
113366
113367
113368              user   User  under which to run the git command. By default, the
113369                     command is run by the user under which the minion is run‐
113370                     ning.
113371
113372              password
113373                        Windows  only.  Required  when  specifying  user. This
113374                        parameter will be ignored on non-Windows platforms.
113375
113376                     New in version 2016.3.4.
113377
113378
113379              https_user
113380                     Set HTTP Basic Auth username.  Only  accepted  for  HTTPS
113381                     URLs.
113382
113383                     New in version 2015.5.0.
113384
113385
113386              https_pass
113387                     Set  HTTP  Basic  Auth  password. Only accepted for HTTPS
113388                     URLs.
113389
113390                     New in version 2015.5.0.
113391
113392
113393              push_https_user
113394                     Set  HTTP  Basic  Auth  user  for  push_url.  Ignored  if
113395                     push_url is unset. Only accepted for HTTPS URLs.
113396
113397                     New in version 2015.8.0.
113398
113399
113400              push_https_pass
113401                     Set  HTTP  Basic  Auth  password for push_url. Ignored if
113402                     push_url is unset. Only accepted for HTTPS URLs.
113403
113404                     New in version 2015.8.0.
113405
113406
113407              ignore_retcode
113408                     False If True, do not log an error to the minion  log  if
113409                     the git command returns a nonzero exit status.
113410
113411                     New in version 2015.8.0.
113412
113413
113414              output_encoding
113415                     Use  this  option  to  specify  which  encoding to use to
113416                     decode the output from any git commands  which  are  run.
113417                     This should not be needed in most cases.
113418
113419                     NOTE:
113420                        This should only be needed if the files in the reposi‐
113421                        tory were created with  filenames  using  an  encoding
113422                        other than UTF-8 to handle Unicode characters.
113423
113424                     New in version 2018.3.1.
113425
113426
113427              CLI Examples:
113428
113429                 salt myminion git.remote_set /path/to/repo git@github.com:user/repo.git
113430                 salt myminion git.remote_set /path/to/repo git@github.com:user/repo.git remote=upstream
113431                 salt myminion git.remote_set /path/to/repo https://github.com/user/repo.git remote=upstream push_url=git@github.com:user/repo.git
113432
113433       salt.modules.git.remotes(cwd,         user=None,         password=None,
113434       redact_auth=True, ignore_retcode=False, output_encoding=None)
113435              Get fetch and push URLs for each remote in a git checkout
113436
113437              cwd    The path to the git checkout
113438
113439              user   User under which to run the git command. By default,  the
113440                     command is run by the user under which the minion is run‐
113441                     ning.
113442
113443              password
113444                        Windows only.  Required  when  specifying  user.  This
113445                        parameter will be ignored on non-Windows platforms.
113446
113447                     New in version 2016.3.4.
113448
113449
113450              redact_auth
113451                     True  Set  to  False to include the username/password for
113452                     authenticated remotes in the return data. Otherwise, this
113453                     information will be redacted.
113454
113455                     WARNING:
113456                        Setting  this  to False will not only reveal any HTTPS
113457                        Basic Auth that is configured,  but  the  return  data
113458                        will  also be written to the job cache. When possible,
113459                        it is recommended to use SSH for authentication.
113460
113461                     New in version 2015.5.6.
113462
113463
113464              ignore_retcode
113465                     False If True, do not log an error to the minion  log  if
113466                     the git command returns a nonzero exit status.
113467
113468                     New in version 2015.8.0.
113469
113470
113471              output_encoding
113472                     Use  this  option  to  specify  which  encoding to use to
113473                     decode the output from any git commands  which  are  run.
113474                     This should not be needed in most cases.
113475
113476                     NOTE:
113477                        This should only be needed if the files in the reposi‐
113478                        tory were created with  filenames  using  an  encoding
113479                        other than UTF-8 to handle Unicode characters.
113480
113481                     New in version 2018.3.1.
113482
113483
113484              CLI Example:
113485
113486                 salt myminion git.remotes /path/to/repo
113487
113488       salt.modules.git.reset(cwd,  opts=u'',  git_opts=u'',  user=None, pass‐
113489       word=None, identity=None, ignore_retcode=False, output_encoding=None)
113490              Interface to git-reset(1), returns the stdout from the git  com‐
113491              mand
113492
113493              cwd    The path to the git checkout
113494
113495              opts   Any  additional  options to add to the command line, in a
113496                     single string
113497
113498                     NOTE:
113499                        On the Salt CLI, if the opts are preceded with a dash,
113500                        it  is necessary to precede them with opts= (as in the
113501                        CLI examples  below)  to  avoid  causing  errors  with
113502                        Salt's own argument parsing.
113503
113504              git_opts
113505                     Any  additional options to add to git command itself (not
113506                     the reset subcommand), in a single string. This is useful
113507                     for  passing  -c to run git with temporary changes to the
113508                     git configuration.
113509
113510                     New in version 2017.7.0.
113511
113512
113513                     NOTE:
113514                        This is only supported in git 1.7.2 and newer.
113515
113516              user   User under which to run the git command. By default,  the
113517                     command is run by the user under which the minion is run‐
113518                     ning.
113519
113520              password
113521                        Windows only.  Required  when  specifying  user.  This
113522                        parameter will be ignored on non-Windows platforms.
113523
113524                     New in version 2016.3.4.
113525
113526
113527              identity
113528                     Path  to a private key to use for ssh URLs. Salt will not
113529                     attempt to use passphrase-protected keys  unless  invoked
113530                     from  the  minion  using  salt-call,  to prevent blocking
113531                     waiting for user input. Key can also be  specified  as  a
113532                     SaltStack  file  server  URL,  eg.  salt://location/iden‐
113533                     tity_file.
113534
113535                     NOTE:
113536                        For greater security with passphraseless private keys,
113537                        see  the  sshd(8)  manpage for information on securing
113538                        the  keypair  from  the  remote  side  in  the  autho‐
113539                        rized_keys file.
113540
113541                     New in version 2018.3.5,2019.2.1,3000.
113542
113543
113544              ignore_retcode
113545                     False  If  True, do not log an error to the minion log if
113546                     the git command returns a nonzero exit status.
113547
113548                     New in version 2015.8.0.
113549
113550
113551              output_encoding
113552                     Use this option to  specify  which  encoding  to  use  to
113553                     decode  the  output  from any git commands which are run.
113554                     This should not be needed in most cases.
113555
113556                     NOTE:
113557                        This should only be needed if the files in the reposi‐
113558                        tory  were  created  with  filenames using an encoding
113559                        other than UTF-8 to handle Unicode characters.
113560
113561                     New in version 2018.3.1.
113562
113563
113564              CLI Examples:
113565
113566                 # Soft reset to a specific commit ID
113567                 salt myminion git.reset /path/to/repo ac3ee5c
113568                 # Hard reset
113569                 salt myminion git.reset /path/to/repo opts='--hard origin/master'
113570
113571       salt.modules.git.rev_parse(cwd,   rev=None,   opts=u'',   git_opts=u'',
113572       user=None, password=None, ignore_retcode=False, output_encoding=None)
113573              New in version 2015.8.0.
113574
113575
113576              Interface to git-rev-parse(1)
113577
113578              cwd    The path to the git checkout
113579
113580              rev    Revision  to  parse. See the SPECIFYING REVISIONS section
113581                     of the git-rev-parse(1) manpage for  details  on  how  to
113582                     format this argument.
113583
113584                     This  argument  is optional when using the options in the
113585                     Options for Files section of  the  git-rev-parse(1)  man‐
113586                     page.
113587
113588              opts   Any  additional  options to add to the command line, in a
113589                     single string
113590
113591              git_opts
113592                     Any additional options to add to git command itself  (not
113593                     the  rev-parse  subcommand),  in a single string. This is
113594                     useful for passing -c to run git with  temporary  changes
113595                     to the git configuration.
113596
113597                     New in version 2017.7.0.
113598
113599
113600                     NOTE:
113601                        This is only supported in git 1.7.2 and newer.
113602
113603              user   User  under which to run the git command. By default, the
113604                     command is run by the user under which the minion is run‐
113605                     ning.
113606
113607              password
113608                        Windows  only.  Required  when  specifying  user. This
113609                        parameter will be ignored on non-Windows platforms.
113610
113611                     New in version 2016.3.4.
113612
113613
113614              ignore_retcode
113615                     False If True, do not log an error to the minion  log  if
113616                     the git command returns a nonzero exit status.
113617
113618              output_encoding
113619                     Use  this  option  to  specify  which  encoding to use to
113620                     decode the output from any git commands  which  are  run.
113621                     This should not be needed in most cases.
113622
113623                     NOTE:
113624                        This should only be needed if the files in the reposi‐
113625                        tory were created with  filenames  using  an  encoding
113626                        other than UTF-8 to handle Unicode characters.
113627
113628                     New in version 2018.3.1.
113629
113630
113631              CLI Examples:
113632
113633                 # Get the full SHA1 for HEAD
113634                 salt myminion git.rev_parse /path/to/repo HEAD
113635                 # Get the short SHA1 for HEAD
113636                 salt myminion git.rev_parse /path/to/repo HEAD opts='--short'
113637                 # Get the develop branch's upstream tracking branch
113638                 salt myminion git.rev_parse /path/to/repo 'develop@{upstream}' opts='--abbrev-ref'
113639                 # Get the SHA1 for the commit corresponding to tag v1.2.3
113640                 salt myminion git.rev_parse /path/to/repo 'v1.2.3^{commit}'
113641                 # Find out whether or not the repo at /path/to/repo is a bare repository
113642                 salt myminion git.rev_parse /path/to/repo opts='--is-bare-repository'
113643
113644       salt.modules.git.revision(cwd,   rev=u'HEAD',  short=False,  user=None,
113645       password=None, ignore_retcode=False, output_encoding=None)
113646              Returns the SHA1 hash of a given identifier (hash, branch,  tag,
113647              HEAD, etc.)
113648
113649              cwd    The path to the git checkout
113650
113651              rev    HEAD The revision
113652
113653              short  False If True, return an abbreviated SHA1 git hash
113654
113655              user   User  under which to run the git command. By default, the
113656                     command is run by the user under which the minion is run‐
113657                     ning.
113658
113659              password
113660                        Windows  only.  Required  when  specifying  user. This
113661                        parameter will be ignored on non-Windows platforms.
113662
113663                     New in version 2016.3.4.
113664
113665
113666              ignore_retcode
113667                     False If True, do not log an error to the minion  log  if
113668                     the git command returns a nonzero exit status.
113669
113670                     New in version 2015.8.0.
113671
113672
113673              output_encoding
113674                     Use  this  option  to  specify  which  encoding to use to
113675                     decode the output from any git commands  which  are  run.
113676                     This should not be needed in most cases.
113677
113678                     NOTE:
113679                        This should only be needed if the files in the reposi‐
113680                        tory were created with  filenames  using  an  encoding
113681                        other than UTF-8 to handle Unicode characters.
113682
113683                     New in version 2018.3.1.
113684
113685
113686              CLI Example:
113687
113688                 salt myminion git.revision /path/to/repo mybranch
113689
113690       salt.modules.git.rm_(cwd,  filename, opts=u'', git_opts=u'', user=None,
113691       password=None, ignore_retcode=False, output_encoding=None)
113692              Interface to git-rm(1)
113693
113694              cwd    The path to the git checkout
113695
113696              filename
113697                     The location of the file/directory to remove, relative to
113698                     cwd
113699
113700                     NOTE:
113701                        To  remove  a  directory,  -r must be part of the opts
113702                        parameter.
113703
113704              opts   Any additional options to add to the command line,  in  a
113705                     single string
113706
113707                     NOTE:
113708                        On the Salt CLI, if the opts are preceded with a dash,
113709                        it is necessary to precede them with opts= (as in  the
113710                        CLI  examples  below)  to  avoid  causing  errors with
113711                        Salt's own argument parsing.
113712
113713              git_opts
113714                     Any additional options to add to git command itself  (not
113715                     the  rm  subcommand),  in a single string. This is useful
113716                     for passing -c to run git with temporary changes  to  the
113717                     git configuration.
113718
113719                     New in version 2017.7.0.
113720
113721
113722                     NOTE:
113723                        This is only supported in git 1.7.2 and newer.
113724
113725              user   User  under which to run the git command. By default, the
113726                     command is run by the user under which the minion is run‐
113727                     ning.
113728
113729              password
113730                        Windows  only.  Required  when  specifying  user. This
113731                        parameter will be ignored on non-Windows platforms.
113732
113733                     New in version 2016.3.4.
113734
113735
113736              ignore_retcode
113737                     False If True, do not log an error to the minion  log  if
113738                     the git command returns a nonzero exit status.
113739
113740                     New in version 2015.8.0.
113741
113742
113743              output_encoding
113744                     Use  this  option  to  specify  which  encoding to use to
113745                     decode the output from any git commands  which  are  run.
113746                     This should not be needed in most cases.
113747
113748                     NOTE:
113749                        This should only be needed if the files in the reposi‐
113750                        tory were created with  filenames  using  an  encoding
113751                        other than UTF-8 to handle Unicode characters.
113752
113753                     New in version 2018.3.1.
113754
113755
113756              CLI Examples:
113757
113758                 salt myminion git.rm /path/to/repo foo/bar.py
113759                 salt myminion git.rm /path/to/repo foo/bar.py opts='--dry-run'
113760                 salt myminion git.rm /path/to/repo foo/baz opts='-r'
113761
113762       salt.modules.git.stash(cwd,   action=u'save',  opts=u'',  git_opts=u'',
113763       user=None, password=None, ignore_retcode=False, output_encoding=None)
113764              Interface to git-stash(1), returns the stdout from the git  com‐
113765              mand
113766
113767              cwd    The path to the git checkout
113768
113769              opts   Any  additional  options to add to the command line, in a
113770                     single string.  Use this to complete the git  stash  com‐
113771                     mand  by  adding  the  remaining  arguments  (i.e.  'save
113772                     <stash  comment>',  'apply  stash@{2}',  'show',   etc.).
113773                     Omitting this argument will simply run git stash.
113774
113775              git_opts
113776                     Any  additional options to add to git command itself (not
113777                     the stash subcommand), in a single string. This is useful
113778                     for  passing  -c to run git with temporary changes to the
113779                     git configuration.
113780
113781                     New in version 2017.7.0.
113782
113783
113784                     NOTE:
113785                        This is only supported in git 1.7.2 and newer.
113786
113787              user   User under which to run the git command. By default,  the
113788                     command is run by the user under which the minion is run‐
113789                     ning.
113790
113791              password
113792                        Windows only.  Required  when  specifying  user.  This
113793                        parameter will be ignored on non-Windows platforms.
113794
113795                     New in version 2016.3.4.
113796
113797
113798              ignore_retcode
113799                     False  If  True, do not log an error to the minion log if
113800                     the git command returns a nonzero exit status.
113801
113802                     New in version 2015.8.0.
113803
113804
113805              output_encoding
113806                     Use this option to  specify  which  encoding  to  use  to
113807                     decode  the  output  from any git commands which are run.
113808                     This should not be needed in most cases.
113809
113810                     NOTE:
113811                        This should only be needed if the files in the reposi‐
113812                        tory  were  created  with  filenames using an encoding
113813                        other than UTF-8 to handle Unicode characters.
113814
113815                     New in version 2018.3.1.
113816
113817
113818              CLI Examples:
113819
113820                 salt myminion git.stash /path/to/repo save opts='work in progress'
113821                 salt myminion git.stash /path/to/repo apply opts='stash@{1}'
113822                 salt myminion git.stash /path/to/repo drop opts='stash@{1}'
113823                 salt myminion git.stash /path/to/repo list
113824
113825       salt.modules.git.status(cwd,  user=None,   password=None,   ignore_ret‐
113826       code=False, output_encoding=None)
113827              Changed in version 2015.8.0: Return data has changed from a list
113828              of lists to a dictionary
113829
113830
113831              Returns the changes to the repository
113832
113833              cwd    The path to the git checkout
113834
113835              user   User under which to run the git command. By default,  the
113836                     command is run by the user under which the minion is run‐
113837                     ning.
113838
113839              password
113840                        Windows only.  Required  when  specifying  user.  This
113841                        parameter will be ignored on non-Windows platforms.
113842
113843                     New in version 2016.3.4.
113844
113845
113846              ignore_retcode
113847                     False  If  True, do not log an error to the minion log if
113848                     the git command returns a nonzero exit status.
113849
113850                     New in version 2015.8.0.
113851
113852
113853              output_encoding
113854                     Use this option to  specify  which  encoding  to  use  to
113855                     decode  the  output  from any git commands which are run.
113856                     This should not be needed in most cases.
113857
113858                     NOTE:
113859                        This should only be needed if the files in the reposi‐
113860                        tory  were  created  with  filenames using an encoding
113861                        other than UTF-8 to handle Unicode characters.
113862
113863                     New in version 2018.3.1.
113864
113865
113866              CLI Example:
113867
113868                 salt myminion git.status /path/to/repo
113869
113870       salt.modules.git.submodule(cwd,   command,   opts=u'',    git_opts=u'',
113871       user=None,    password=None,    identity=None,    ignore_retcode=False,
113872       saltenv=u'base', output_encoding=None, **kwargs)
113873              Changed in version 2015.8.0: Added the command argument to allow
113874              for  operations  other  than update to be run on submodules, and
113875              deprecated the init argument. To  do  a  submodule  update  with
113876              init=True moving forward, use command=update opts='--init'
113877
113878
113879              Interface to git-submodule(1)
113880
113881              cwd    The path to the submodule
113882
113883              command
113884                     Submodule  command to run, see git-submodule(1) <git sub‐
113885                     module> for more information.  Any  additional  arguments
113886                     after  the command (such as the URL when adding a submod‐
113887                     ule) must be passed in the opts parameter.
113888
113889                     New in version 2015.8.0.
113890
113891
113892              opts   Any additional options to add to the command line,  in  a
113893                     single string
113894
113895                     NOTE:
113896                        On the Salt CLI, if the opts are preceded with a dash,
113897                        it is necessary to precede them with opts= (as in  the
113898                        CLI  examples  below)  to  avoid  causing  errors with
113899                        Salt's own argument parsing.
113900
113901              git_opts
113902                     Any additional options to add to git command itself  (not
113903                     the  submodule  subcommand),  in a single string. This is
113904                     useful for passing -c to run git with  temporary  changes
113905                     to the git configuration.
113906
113907                     New in version 2017.7.0.
113908
113909
113910                     NOTE:
113911                        This is only supported in git 1.7.2 and newer.
113912
113913              init   False  If  True, ensures that new submodules are initial‐
113914                     ized
113915
113916                     Deprecated since version 2015.8.0: Pass init as the  com‐
113917                     mand  parameter, or include --init in the opts param with
113918                     command set to update.
113919
113920
113921              user   User under which to run the git command. By default,  the
113922                     command is run by the user under which the minion is run‐
113923                     ning.
113924
113925              password
113926                        Windows only.  Required  when  specifying  user.  This
113927                        parameter will be ignored on non-Windows platforms.
113928
113929                     New in version 2016.3.4.
113930
113931
113932              identity
113933                     Path to a private key to use for ssh URLs
113934
113935                     WARNING:
113936                        Unless   Salt   is   invoked  from  the  minion  using
113937                        salt-call, the  key(s)  must  be  passphraseless.  For
113938                        greater security with passphraseless private keys, see
113939                        the sshd(8) manpage for information  on  securing  the
113940                        keypair  from  the  remote side in the authorized_keys
113941                        file.
113942
113943                     Changed in version 2015.8.7: Salt will no longer  attempt
113944                     to  use passphrase-protected keys unless invoked from the
113945                     minion using salt-call, to prevent blocking  waiting  for
113946                     user input.
113947
113948
113949                     Key can also be specified as a SaltStack file server URL,
113950                     eg. salt://location/identity_file
113951
113952                     Changed in version 2016.3.0.
113953
113954
113955              ignore_retcode
113956                     False If True, do not log an error to the minion  log  if
113957                     the git command returns a nonzero exit status.
113958
113959                     New in version 2015.8.0.
113960
113961
113962              saltenv
113963                     The default salt environment to pull sls files from
113964
113965                     New in version 2016.3.1.
113966
113967
113968              output_encoding
113969                     Use  this  option  to  specify  which  encoding to use to
113970                     decode the output from any git commands  which  are  run.
113971                     This should not be needed in most cases.
113972
113973                     NOTE:
113974                        This should only be needed if the files in the reposi‐
113975                        tory were created with  filenames  using  an  encoding
113976                        other than UTF-8 to handle Unicode characters.
113977
113978                     New in version 2018.3.1.
113979
113980
113981              CLI Example:
113982
113983                 # Update submodule and ensure it is initialized (before 2015.8.0)
113984                 salt myminion git.submodule /path/to/repo/sub/repo init=True
113985                 # Update submodule and ensure it is initialized (2015.8.0 and later)
113986                 salt myminion git.submodule /path/to/repo/sub/repo update opts='--init'
113987
113988                 # Rebase submodule (2015.8.0 and later)
113989                 salt myminion git.submodule /path/to/repo/sub/repo update opts='--rebase'
113990
113991                 # Add submodule (2015.8.0 and later)
113992                 salt myminion git.submodule /path/to/repo/sub/repo add opts='https://mydomain.tld/repo.git'
113993
113994                 # Unregister submodule (2015.8.0 and later)
113995                 salt myminion git.submodule /path/to/repo/sub/repo deinit
113996
113997       salt.modules.git.symbolic_ref(cwd,     ref,    value=None,    opts=u'',
113998       git_opts=u'',  user=None,  password=None,  ignore_retcode=False,   out‐
113999       put_encoding=None)
114000              New in version 2015.8.0.
114001
114002
114003              Interface to git-symbolic-ref(1)
114004
114005              cwd    The path to the git checkout
114006
114007              ref    Symbolic ref to read/modify
114008
114009              value  If  passed,  then  the  symbolic  ref will be set to this
114010                     value and an empty string will be returned.
114011
114012                     If not passed, then the ref to which ref points  will  be
114013                     returned,  unless  --delete is included in opts (in which
114014                     case the symbolic ref will be deleted).
114015
114016              opts   Any additional options to add to the command line,  in  a
114017                     single string
114018
114019              git_opts
114020                     Any  additional options to add to git command itself (not
114021                     the symbolic-refs subcommand), in a single  string.  This
114022                     is  useful  for  passing  -c  to  run  git with temporary
114023                     changes to the git configuration.
114024
114025                     New in version 2017.7.0.
114026
114027
114028                     NOTE:
114029                        This is only supported in git 1.7.2 and newer.
114030
114031              user   User under which to run the git command. By default,  the
114032                     command is run by the user under which the minion is run‐
114033                     ning.
114034
114035              password
114036                        Windows only.  Required  when  specifying  user.  This
114037                        parameter will be ignored on non-Windows platforms.
114038
114039                     New in version 2016.3.4.
114040
114041
114042              ignore_retcode
114043                     False  If  True, do not log an error to the minion log if
114044                     the git command returns a nonzero exit status.
114045
114046                     New in version 2015.8.0.
114047
114048
114049              output_encoding
114050                     Use this option to  specify  which  encoding  to  use  to
114051                     decode  the  output  from any git commands which are run.
114052                     This should not be needed in most cases.
114053
114054                     NOTE:
114055                        This should only be needed if the files in the reposi‐
114056                        tory  were  created  with  filenames using an encoding
114057                        other than UTF-8 to handle Unicode characters.
114058
114059                     New in version 2018.3.1.
114060
114061
114062              CLI Examples:
114063
114064                 # Get ref to which HEAD is pointing
114065                 salt myminion git.symbolic_ref /path/to/repo HEAD
114066                 # Set/overwrite symbolic ref 'FOO' to local branch 'foo'
114067                 salt myminion git.symbolic_ref /path/to/repo FOO refs/heads/foo
114068                 # Delete symbolic ref 'FOO'
114069                 salt myminion git.symbolic_ref /path/to/repo FOO opts='--delete'
114070
114071       salt.modules.git.tag(cwd, name,  ref=u'HEAD',  message=None,  opts=u'',
114072       git_opts=u'',   user=None,  password=None,  ignore_retcode=False,  out‐
114073       put_encoding=None)
114074              New in version 2018.3.4.
114075
114076
114077              Interface to git-tag(1), adds and removes tags.
114078
114079              cwd    The path to the main git checkout or a linked worktree
114080
114081              name   Name of the tag
114082
114083              ref    HEAD Which ref to tag (defaults to local clone's HEAD)
114084
114085                     NOTE:
114086                        This argument is ignored when either -d or --delete is
114087                        present in the opts passed to this function.
114088
114089              message
114090                     Optional message to include with the tag. If provided, an
114091                     annotated tag will be created.
114092
114093              opts   Any additional options to add to the command line,  in  a
114094                     single string
114095
114096                     NOTE:
114097                        Additionally,  on  the  Salt CLI, if the opts are pre‐
114098                        ceded with a dash, it is  necessary  to  precede  them
114099                        with  opts=  (as  in  the CLI examples below) to avoid
114100                        causing errors with Salt's own argument parsing.
114101
114102              git_opts
114103                     Any additional options to add to git command itself  (not
114104                     the  worktree  subcommand),  in  a single string. This is
114105                     useful for passing -c to run git with  temporary  changes
114106                     to the git configuration.
114107
114108                     NOTE:
114109                        This is only supported in git 1.7.2 and newer.
114110
114111              user   User  under which to run the git command. By default, the
114112                     command is run by the user under which the minion is run‐
114113                     ning.
114114
114115              password
114116                     Windows only. Required when specifying user. This parame‐
114117                     ter will be ignored on non-Windows platforms.
114118
114119              ignore_retcode
114120                     False If True, do not log an error to the minion  log  if
114121                     the git command returns a nonzero exit status.
114122
114123              output_encoding
114124                     Use  this  option  to  specify  which  encoding to use to
114125                     decode the output from any git commands  which  are  run.
114126                     This should not be needed in most cases.
114127
114128                     NOTE:
114129                        This should only be needed if the files in the reposi‐
114130                        tory were created with  filenames  using  an  encoding
114131                        other than UTF-8 to handle Unicode characters.
114132
114133              CLI Example:
114134
114135                 # Create an non-annotated tag
114136                 salt myminion git.tag /path/to/repo v1.2
114137                 # Create an annotated tag
114138                 salt myminion git.tag /path/to/repo v1.2 message='Version 1.2'
114139                 # Delete the tag
114140                 salt myminion git.tag /path/to/repo v1.2 opts='-d'
114141
114142       salt.modules.git.version(versioninfo=False)
114143              New in version 2015.8.0.
114144
114145
114146              Returns the version of Git installed on the minion
114147
114148              versioninfo
114149                     False  If  True, return the version in a versioninfo list
114150                     (e.g. [2, 5, 0])
114151
114152              CLI Example:
114153
114154                 salt myminion git.version
114155
114156       salt.modules.git.worktree_add(cwd,       worktree_path,       ref=None,
114157       reset_branch=None,  force=None,  detach=False,  opts=u'', git_opts=u'',
114158       user=None, password=None,  ignore_retcode=False,  output_encoding=None,
114159       **kwargs)
114160              New in version 2015.8.0.
114161
114162
114163              Interface to git-worktree(1), adds a worktree
114164
114165              cwd    The path to the git checkout
114166
114167              worktree_path
114168                     Path to the new worktree. Can be either absolute, or rel‐
114169                     ative to cwd.
114170
114171              branch Name of new branch to create. If omitted, will be set  to
114172                     the  basename  of  the worktree_path. For example, if the
114173                     worktree_path is /foo/bar/baz, then branch will be baz.
114174
114175              ref    Name of the ref on which to base  the  new  worktree.  If
114176                     omitted,  then HEAD is use, and a new branch will be cre‐
114177                     ated, named for the basename of  the  worktree_path.  For
114178                     example,  if the worktree_path is /foo/bar/baz then a new
114179                     branch baz will be created, and pointed at HEAD.
114180
114181              reset_branch
114182                     False If False, then git-worktree(1) will fail to  create
114183                     the  worktree  if the targeted branch already exists. Set
114184                     this argument to True to reset  the  targeted  branch  to
114185                     point  at  ref,  and checkout the newly-reset branch into
114186                     the new worktree.
114187
114188              force  False By default, git-worktree(1)  will  not  permit  the
114189                     same  branch to be checked out in more than one worktree.
114190                     Set this argument to True to override this.
114191
114192              opts   Any additional options to add to the command line,  in  a
114193                     single string
114194
114195                     NOTE:
114196                        On the Salt CLI, if the opts are preceded with a dash,
114197                        it is necessary to precede them with  opts=  to  avoid
114198                        causing errors with Salt's own argument parsing.
114199
114200                        All  CLI  options for adding worktrees as of Git 2.5.0
114201                        are already supported by  this  function  as  of  Salt
114202                        2015.8.0, so using this argument is unnecessary unless
114203                        new CLI arguments are added to git-worktree(1) and are
114204                        not yet supported in Salt.
114205
114206              git_opts
114207                     Any  additional options to add to git command itself (not
114208                     the worktree subcommand), in a  single  string.  This  is
114209                     useful  for  passing -c to run git with temporary changes
114210                     to the git configuration.
114211
114212                     New in version 2017.7.0.
114213
114214
114215                     NOTE:
114216                        This is only supported in git 1.7.2 and newer.
114217
114218              user   User under which to run the git command. By default,  the
114219                     command is run by the user under which the minion is run‐
114220                     ning.
114221
114222              password
114223                        Windows only.  Required  when  specifying  user.  This
114224                        parameter will be ignored on non-Windows platforms.
114225
114226                     New in version 2016.3.4.
114227
114228
114229              ignore_retcode
114230                     False  If  True, do not log an error to the minion log if
114231                     the git command returns a nonzero exit status.
114232
114233                     New in version 2015.8.0.
114234
114235
114236              output_encoding
114237                     Use this option to  specify  which  encoding  to  use  to
114238                     decode  the  output  from any git commands which are run.
114239                     This should not be needed in most cases.
114240
114241                     NOTE:
114242                        This should only be needed if the files in the reposi‐
114243                        tory  were  created  with  filenames using an encoding
114244                        other than UTF-8 to handle Unicode characters.
114245
114246                     New in version 2018.3.1.
114247
114248
114249              CLI Examples:
114250
114251                 salt myminion git.worktree_add /path/to/repo/main ../hotfix ref=origin/master
114252                 salt myminion git.worktree_add /path/to/repo/main ../hotfix branch=hotfix21 ref=v2.1.9.3
114253
114254       salt.modules.git.worktree_prune(cwd,    dry_run=False,    verbose=True,
114255       expire=None,    opts=u'',   git_opts=u'',   user=None,   password=None,
114256       ignore_retcode=False, output_encoding=None)
114257              New in version 2015.8.0.
114258
114259
114260              Interface to git-worktree(1), prunes stale worktree  administra‐
114261              tive data from the gitdir
114262
114263              cwd    The path to the main git checkout or a linked worktree
114264
114265              dry_run
114266                     False  If True, then this function will report what would
114267                     have been pruned, but no changes will be made.
114268
114269              verbose
114270                     True Report all changes made. Set to  False  to  suppress
114271                     this output.
114272
114273              expire Only  prune  unused  worktree  data older than a specific
114274                     period of time.  The date format for  this  parameter  is
114275                     described  in the documentation for the gc.pruneWorktree‐
114276                     sExpire config param in the git-config(1) manpage.
114277
114278              opts   Any additional options to add to the command line,  in  a
114279                     single string
114280
114281                     NOTE:
114282                        On the Salt CLI, if the opts are preceded with a dash,
114283                        it is necessary to precede them with  opts=  to  avoid
114284                        causing errors with Salt's own argument parsing.
114285
114286                        All  CLI options for pruning worktrees as of Git 2.5.0
114287                        are already supported by  this  function  as  of  Salt
114288                        2015.8.0, so using this argument is unnecessary unless
114289                        new CLI arguments are added to git-worktree(1) and are
114290                        not yet supported in Salt.
114291
114292              git_opts
114293                     Any  additional options to add to git command itself (not
114294                     the worktree subcommand), in a  single  string.  This  is
114295                     useful  for  passing -c to run git with temporary changes
114296                     to the git configuration.
114297
114298                     New in version 2017.7.0.
114299
114300
114301                     NOTE:
114302                        This is only supported in git 1.7.2 and newer.
114303
114304              user   User under which to run the git command. By default,  the
114305                     command is run by the user under which the minion is run‐
114306                     ning.
114307
114308              password
114309                        Windows only.  Required  when  specifying  user.  This
114310                        parameter will be ignored on non-Windows platforms.
114311
114312                     New in version 2016.3.4.
114313
114314
114315              ignore_retcode
114316                     False  If  True, do not log an error to the minion log if
114317                     the git command returns a nonzero exit status.
114318
114319                     New in version 2015.8.0.
114320
114321
114322              output_encoding
114323                     Use this option to  specify  which  encoding  to  use  to
114324                     decode  the  output  from any git commands which are run.
114325                     This should not be needed in most cases.
114326
114327                     NOTE:
114328                        This should only be needed if the files in the reposi‐
114329                        tory  were  created  with  filenames using an encoding
114330                        other than UTF-8 to handle Unicode characters.
114331
114332                     New in version 2018.3.1.
114333
114334
114335              CLI Examples:
114336
114337                 salt myminion git.worktree_prune /path/to/repo
114338                 salt myminion git.worktree_prune /path/to/repo dry_run=True
114339                 salt myminion git.worktree_prune /path/to/repo expire=1.day.ago
114340
114341       salt.modules.git.worktree_rm(cwd, user=None, output_encoding=None)
114342              New in version 2015.8.0.
114343
114344
114345              Recursively removes the worktree located at cwd, returning  True
114346              if successful. This function will attempt to determine if cwd is
114347              actually a worktree by invoking  git.is_worktree.  If  the  path
114348              does  not correspond to a worktree, then an error will be raised
114349              and no action will be taken.
114350
114351              WARNING:
114352                 There is no undoing this action. Be VERY careful before  run‐
114353                 ning this function.
114354
114355              cwd    Path to the worktree to be removed
114356
114357              user   Used for path expansion when cwd is not an absolute path.
114358                     By default, when cwd is not absolute, the  path  will  be
114359                     assumed  to be relative to the home directory of the user
114360                     under which the minion is running.  Setting  this  option
114361                     will  change the home directory from which path expansion
114362                     is performed.
114363
114364              output_encoding
114365                     Use this option to  specify  which  encoding  to  use  to
114366                     decode  the  output  from any git commands which are run.
114367                     This should not be needed in most cases.
114368
114369                     NOTE:
114370                        This should only be needed if the files in the reposi‐
114371                        tory  were  created  with  filenames using an encoding
114372                        other than UTF-8 to handle Unicode characters.
114373
114374                     New in version 2018.3.1.
114375
114376
114377              CLI Examples:
114378
114379                 salt myminion git.worktree_rm /path/to/worktree
114380
114381   salt.modules.github module
114382       Module for interacting with the GitHub v3 API.
114383
114384       New in version 2016.3.0.
114385
114386
114387       depends
114388              PyGithub python module
114389
114390   Configuration
114391       Configure this module by specifying the name of a configuration profile
114392       in  the minion config, minion pillar, or master config. The module will
114393       use the 'github' key by default, if defined.
114394
114395       For example:
114396
114397          github:
114398            token: abc1234
114399            org_name: my_organization
114400
114401            # optional: some functions require a repo_name, which
114402            # can be set in the config file, or passed in at the CLI.
114403            repo_name: my_repo
114404
114405            # optional: it can be dangerous to change the privacy of a repository
114406            # in an automated way. set this to True to allow privacy modifications
114407            allow_repo_privacy_changes: False
114408
114409       salt.modules.github.add_repo(name,   description=None,   homepage=None,
114410       private=None,   has_issues=None,   has_wiki=None,   has_downloads=None,
114411       auto_init=None,  gitignore_template=None,  license_template=None,  pro‐
114412       file=u'github')
114413              Create a new github repository.
114414
114415              name   The name of the team to be created.
114416
114417              description
114418                     The description of the repository.
114419
114420              homepage
114421                     The URL with more information about the repository.
114422
114423              private
114424                     The visiblity of the repository. Note that private repos‐
114425                     itories require a paid GitHub account.
114426
114427              has_issues
114428                     Whether to enable issues for this repository.
114429
114430              has_wiki
114431                     Whether to enable the wiki for this repository.
114432
114433              has_downloads
114434                     Whether to enable downloads for this repository.
114435
114436              auto_init
114437                     Whether to create an initial commit with an empty README.
114438
114439              gitignore_template
114440                     The desired language or platform for  a  .gitignore,  e.g
114441                     "Haskell".
114442
114443              license_template
114444                     The  desired  LICENSE  template  to  apply,  e.g "mit" or
114445                     "mozilla".
114446
114447              profile
114448                     The name of the profile configuration to use. Defaults to
114449                     github.
114450
114451              CLI Example:
114452
114453                 salt myminion github.add_repo 'repo_name'
114454
114455              New in version 2016.11.0.
114456
114457
114458       salt.modules.github.add_team(name,  description=None,  repo_names=None,
114459       privacy=None, permission=None, profile=u'github')
114460              Create a new Github team within an organization.
114461
114462              name   The name of the team to be created.
114463
114464              description
114465                     The description of the team.
114466
114467              repo_names
114468                     The names of repositories to add the team to.
114469
114470              privacy
114471                     The level of privacy for the team,  can  be  'secret'  or
114472                     'closed'.
114473
114474              permission
114475                     The  default permission for new repositories added to the
114476                     team, can be 'pull', 'push' or 'admin'.
114477
114478              profile
114479                     The name of the profile configuration to use. Defaults to
114480                     github.
114481
114482              CLI Example:
114483
114484                 salt myminion github.add_team 'team_name'
114485
114486              New in version 2016.11.0.
114487
114488
114489       salt.modules.github.add_team_member(name, team_name, profile=u'github')
114490              Adds a team member to a team with team_name.
114491
114492              name   The name of the team member to add.
114493
114494              team_name
114495                     The name of the team of which to add the user.
114496
114497              profile
114498                     The name of the profile configuration to use. Defaults to
114499                     github.
114500
114501              CLI Example:
114502
114503                 salt myminion github.add_team_member 'user_name' 'team_name'
114504
114505              New in version 2016.11.0.
114506
114507
114508       salt.modules.github.add_team_repo(repo_name,      team_name,       pro‐
114509       file=u'github', permission=None)
114510              Adds a repository to a team with team_name.
114511
114512              repo_name
114513                     The name of the repository to add.
114514
114515              team_name
114516                     The name of the team of which to add the repository.
114517
114518              profile
114519                     The name of the profile configuration to use. Defaults to
114520                     github.
114521
114522              permission
114523                     The permission for team members  within  the  repository,
114524                     can  be  'pull', 'push' or 'admin'. If not specified, the
114525                     default permission specified on the team will be used.
114526
114527                     New in version 2017.7.0.
114528
114529
114530              CLI Example:
114531
114532                 salt myminion github.add_team_repo 'my_repo' 'team_name'
114533
114534              New in version 2016.11.0.
114535
114536
114537       salt.modules.github.add_user(name, profile=u'github')
114538              Add a GitHub user.
114539
114540              name   The user for which to obtain information.
114541
114542              profile
114543                     The name of the profile configuration to use. Defaults to
114544                     github.
114545
114546              CLI Example:
114547
114548                 salt myminion github.add_user github-handle
114549
114550       salt.modules.github.edit_repo(name,   description=None,  homepage=None,
114551       private=None, has_issues=None, has_wiki=None, has_downloads=None,  pro‐
114552       file=u'github')
114553              Updates an existing Github repository.
114554
114555              name   The name of the team to be created.
114556
114557              description
114558                     The description of the repository.
114559
114560              homepage
114561                     The URL with more information about the repository.
114562
114563              private
114564                     The visiblity of the repository. Note that private repos‐
114565                     itories require a paid GitHub account.
114566
114567              has_issues
114568                     Whether to enable issues for this repository.
114569
114570              has_wiki
114571                     Whether to enable the wiki for this repository.
114572
114573              has_downloads
114574                     Whether to enable downloads for this repository.
114575
114576              profile
114577                     The name of the profile configuration to use. Defaults to
114578                     github.
114579
114580              CLI Example:
114581
114582                 salt myminion github.add_repo 'repo_name'
114583
114584              New in version 2016.11.0.
114585
114586
114587       salt.modules.github.edit_team(name,   description=None,   privacy=None,
114588       permission=None, profile=u'github')
114589              Updates an existing Github team.
114590
114591              name   The name of the team to be edited.
114592
114593              description
114594                     The description of the team.
114595
114596              privacy
114597                     The level of privacy for the team,  can  be  'secret'  or
114598                     'closed'.
114599
114600              permission
114601                     The  default permission for new repositories added to the
114602                     team, can be 'pull', 'push' or 'admin'.
114603
114604              profile
114605                     The name of the profile configuration to use. Defaults to
114606                     github.
114607
114608              CLI Example:
114609
114610                 salt myminion github.edit_team 'team_name' description='Team description'
114611
114612              New in version 2016.11.0.
114613
114614
114615       salt.modules.github.get_issue(issue_number,     repo_name=None,    pro‐
114616       file=u'github', output=u'min')
114617              Return information about a single issue in a named repository.
114618
114619              New in version 2016.11.0.
114620
114621
114622              issue_number
114623                     The number of the issue to retrieve.
114624
114625              repo_name
114626                     The name of the repository from which to get  the  issue.
114627                     This  argument is required, either passed via the CLI, or
114628                     defined in the configured profile. A repo_name passed  as
114629                     a CLI argument will override the repo_name defined in the
114630                     configured profile, if provided.
114631
114632              profile
114633                     The name of the profile configuration to use. Defaults to
114634                     github.
114635
114636              output The  amount  of  data returned by each issue. Defaults to
114637                     min. Change to full to see all issue output.
114638
114639              CLI Example:
114640
114641                 salt myminion github.get_issue 514
114642                 salt myminion github.get_issue 514 repo_name=salt
114643
114644       salt.modules.github.get_issue_comments(issue_number,    repo_name=None,
114645       profile=u'github', since=None, output=u'min')
114646              Return  information  about  the  comments for a given issue in a
114647              named repository.
114648
114649              New in version 2016.11.0.
114650
114651
114652              issue_number
114653                     The number of the issue for which to retrieve comments.
114654
114655              repo_name
114656                     The name of the repository to which  the  issue  belongs.
114657                     This  argument is required, either passed via the CLI, or
114658                     defined in the configured profile. A repo_name passed  as
114659                     a CLI argument will override the repo_name defined in the
114660                     configured profile, if provided.
114661
114662              profile
114663                     The name of the profile configuration to use. Defaults to
114664                     github.
114665
114666              since  Only comments updated at or after this time are returned.
114667                     This   is   a   timestamp    in    ISO    8601    format:
114668                     YYYY-MM-DDTHH:MM:SSZ.
114669
114670              output The  amount  of  data returned by each issue. Defaults to
114671                     min. Change to full to see all issue output.
114672
114673              CLI Example:
114674
114675                 salt myminion github.get_issue_comments 514
114676                 salt myminion github.get_issue 514 repo_name=salt
114677
114678       salt.modules.github.get_issues(repo_name=None, profile=u'github', mile‐
114679       stone=None, state=u'open', assignee=None, creator=None, mentioned=None,
114680       labels=None,  sort=u'created',  direction=u'desc',   since=None,   out‐
114681       put=u'min', per_page=None)
114682              Returns  information for all issues in a given repository, based
114683              on the search options.
114684
114685              New in version 2016.11.0.
114686
114687
114688              repo_name
114689                     The name of the repository for which to list issues. This
114690                     argument  is  required,  either  passed  via  the CLI, or
114691                     defined in the configured profile. A repo_name passed  as
114692                     a CLI argument will override the repo_name defined in the
114693                     configured profile, if provided.
114694
114695              profile
114696                     The name of the profile configuration to use. Defaults to
114697                     github.
114698
114699              milestone
114700                     The number of a GitHub milestone, or a string of either *
114701                     or none.
114702
114703                     If a number is passed, it should refer to a milestone  by
114704                     its  number  field. Use the github.get_milestone function
114705                     to obtain a milestone's number.
114706
114707                     If the string * is passed, issues with any milestone  are
114708                     accepted.  If  the  string none is passed, issues without
114709                     milestones are returned.
114710
114711              state  Indicates the state of  the  issues  to  return.  Can  be
114712                     either open, closed, or all. Default is open.
114713
114714              assignee
114715                     Can be the name of a user. Pass in none (as a string) for
114716                     issues with no assigned user or * for issues assigned  to
114717                     any user.
114718
114719              creator
114720                     The user that created the issue.
114721
114722              mentioned
114723                     A user that's mentioned in the issue.
114724
114725              labels A  string  of  comma  separated label names. For example,
114726                     bug,ui,@high.
114727
114728              sort   What to sort results by. Can be either created,  updated,
114729                     or comments. Default is created.
114730
114731              direction
114732                     The  direction  of  the  sort. Can be either asc or desc.
114733                     Default is desc.
114734
114735              since  Only issues updated at or after this time  are  returned.
114736                     This    is    a    timestamp    in   ISO   8601   format:
114737                     YYYY-MM-DDTHH:MM:SSZ.
114738
114739              output The amount of data returned by each  issue.  Defaults  to
114740                     min. Change to full to see all issue output.
114741
114742              per_page
114743                     GitHub  paginates data in their API calls. Use this value
114744                     to increase or decrease the  number  of  issues  gathered
114745                     from  GitHub,  per  page. If not set, GitHub defaults are
114746                     used. Maximum is 100.
114747
114748              CLI Example:
114749
114750                 salt myminion github.get_issues my-github-repo
114751
114752       salt.modules.github.get_milestone(number=None,               name=None,
114753       repo_name=None, profile=u'github', output=u'min')
114754              Return  information  about a single milestone in a named reposi‐
114755              tory.
114756
114757              New in version 2016.11.0.
114758
114759
114760              number The number of the milestone  to  retrieve.  If  provided,
114761                     this option will be favored over name.
114762
114763              name   The name of the milestone to retrieve.
114764
114765              repo_name
114766                     The name of the repository for which to list issues. This
114767                     argument is required,  either  passed  via  the  CLI,  or
114768                     defined  in the configured profile. A repo_name passed as
114769                     a CLI argument will override the repo_name defined in the
114770                     configured profile, if provided.
114771
114772              profile
114773                     The name of the profile configuration to use. Defaults to
114774                     github.
114775
114776              output The amount of data returned by each  issue.  Defaults  to
114777                     min. Change to full to see all issue output.
114778
114779              CLI Example:
114780
114781                 salt myminion github.get_milestone 72
114782                 salt myminion github.get_milestone name=my_milestone
114783
114784       salt.modules.github.get_milestones(repo_name=None,   profile=u'github',
114785       state=u'open',   sort=u'due_on',    direction=u'asc',    output=u'min',
114786       per_page=None)
114787              Return information about milestones for a given repository.
114788
114789              New in version 2016.11.0.
114790
114791
114792              repo_name
114793                     The name of the repository for which to list issues. This
114794                     argument is required,  either  passed  via  the  CLI,  or
114795                     defined  in the configured profile. A repo_name passed as
114796                     a CLI argument will override the repo_name defined in the
114797                     configured profile, if provided.
114798
114799              profile
114800                     The name of the profile configuration to use. Defaults to
114801                     github.
114802
114803              state  The state of the milestone. Either open, closed, or  all.
114804                     Default is open.
114805
114806              sort   What  to  sort results by. Either due_on or completeness.
114807                     Default is due_on.
114808
114809              direction
114810                     The direction of the sort. Either asc or desc. Default is
114811                     asc.
114812
114813              output The  amount  of  data returned by each issue. Defaults to
114814                     min. Change to full to see all issue output.
114815
114816              per_page
114817                     GitHub paginates data in their API calls. Use this  value
114818                     to  increase  or  decrease  the number of issues gathered
114819                     from GitHub, per page. If not set,  GitHub  defaults  are
114820                     used.
114821
114822              CLI Example:
114823
114824                 salt myminion github.get_milestones
114825
114826       salt.modules.github.get_prs(repo_name=None,          profile=u'github',
114827       state=u'open',   head=None,    base=None,    sort=u'created',    direc‐
114828       tion=u'desc', output=u'min', per_page=None)
114829              Returns information for all pull requests in a given repository,
114830              based on the search options provided.
114831
114832              New in version 2017.7.0.
114833
114834
114835              repo_name
114836                     The name  of  the  repository  for  which  to  list  pull
114837                     requests.  This  argument  is required, either passed via
114838                     the  CLI,  or  defined  in  the  configured  profile.   A
114839                     repo_name  passed  as  a  CLI  argument will override the
114840                     repo_name defined in the configured profile, if provided.
114841
114842              profile
114843                     The name of the profile configuration to use. Defaults to
114844                     github.
114845
114846              state  Indicates  the  state of the pull requests to return. Can
114847                     be either open, closed, or all. Default is open.
114848
114849              head   Filter pull requests by head user and branch name in  the
114850                     format of user:ref-name. Example: 'github:new-script-for‐
114851                     mat'. Default is None.
114852
114853              base   Filter pulls by  base  branch  name.  Example:  gh-pages.
114854                     Default is None.
114855
114856              sort   What  to sort results by. Can be either created, updated,
114857                     popularity (comment count), or long-running (age, filter‐
114858                     ing  by  pull  requests  updated  within the last month).
114859                     Default is created.
114860
114861              direction
114862                     The direction of the sort. Can be  either  asc  or  desc.
114863                     Default is desc.
114864
114865              output The  amount  of  data  returned  by  each  pull  request.
114866                     Defaults to min.  Change to full to see all pull  request
114867                     output.
114868
114869              per_page
114870                     GitHub  paginates data in their API calls. Use this value
114871                     to increase or decrease the number of pull requests gath‐
114872                     ered  from  GitHub, per page. If not set, GitHub defaults
114873                     are used. Maximum is 100.
114874
114875              CLI Example:
114876
114877                 salt myminion github.get_prs
114878                 salt myminion github.get_prs base=2016.11
114879
114880       salt.modules.github.get_repo_info(repo_name,         profile=u'github',
114881       ignore_cache=False)
114882              Return information for a given repo.
114883
114884              New in version 2016.11.0.
114885
114886
114887              repo_name
114888                     The name of the repository.
114889
114890              profile
114891                     The name of the profile configuration to use. Defaults to
114892                     github.
114893
114894              CLI Example:
114895
114896                 salt myminion github.get_repo_info salt
114897                 salt myminion github.get_repo_info salt profile='my-github-profile'
114898
114899       salt.modules.github.get_repo_teams(repo_name, profile=u'github')
114900              Return teams belonging to a repository.
114901
114902              New in version 2017.7.0.
114903
114904
114905              repo_name
114906                     The name of the repository from which to retrieve teams.
114907
114908              profile
114909                     The name of the profile configuration to use. Defaults to
114910                     github.
114911
114912              CLI Example:
114913
114914                 salt myminion github.get_repo_teams salt
114915                 salt myminion github.get_repo_teams salt profile='my-github-profile'
114916
114917       salt.modules.github.get_team(name, profile=u'github')
114918              Returns  the  team details if a team with the given name exists,
114919              or None otherwise.
114920
114921              name   The team name for which to obtain information.
114922
114923              profile
114924                     The name of the profile configuration to use. Defaults to
114925                     github.
114926
114927              CLI Example:
114928
114929                 salt myminion github.get_team 'team_name'
114930
114931       salt.modules.github.get_user(name,                   profile=u'github',
114932       user_details=False)
114933              Get a GitHub user by name.
114934
114935              name   The user for which to obtain information.
114936
114937              profile
114938                     The name of the profile configuration to use. Defaults to
114939                     github.
114940
114941              user_details
114942                     Prints  user  information  details. Defaults to False. If
114943                     the user is already in the organization and  user_details
114944                     is  set  to False, the get_user function returns True. If
114945                     the user is not already present in the organization, user
114946                     details will be printed by default.
114947
114948              CLI Example:
114949
114950                 salt myminion github.get_user github-handle
114951                 salt myminion github.get_user github-handle user_details=true
114952
114953       salt.modules.github.is_team_member(name, team_name, profile=u'github')
114954              Returns  True  if the github user is in the team with team_name,
114955              or False otherwise.
114956
114957              name   The name of the user whose membership to check.
114958
114959              team_name
114960                     The name of the team to check membership in.
114961
114962              profile
114963                     The name of the profile configuration to use. Defaults to
114964                     github.
114965
114966              CLI Example:
114967
114968                 salt myminion github.is_team_member 'user_name' 'team_name'
114969
114970              New in version 2016.11.0.
114971
114972
114973       salt.modules.github.list_members_without_mfa(profile=u'github',
114974       ignore_cache=False)
114975              List all members (in lower case) without MFA turned on.
114976
114977              profile
114978                     The name of the profile configuration to use. Defaults to
114979                     github.
114980
114981              ignore_cache
114982                     Bypasses the use of cached team repos.
114983
114984              CLI Example:
114985
114986                 salt myminion github.list_members_without_mfa
114987
114988              New in version 2016.11.0.
114989
114990
114991       salt.modules.github.list_private_repos(profile=u'github')
114992              List  private  repositories  within  the organization. Dependent
114993              upon the access rights of the profile token.
114994
114995              New in version 2016.11.0.
114996
114997
114998              profile
114999                     The name of the profile configuration to use. Defaults to
115000                     github.
115001
115002              CLI Example:
115003
115004                 salt myminion github.list_private_repos
115005                 salt myminion github.list_private_repos profile='my-github-profile'
115006
115007       salt.modules.github.list_public_repos(profile=u'github')
115008              List public repositories within the organization.
115009
115010              New in version 2016.11.0.
115011
115012
115013              profile
115014                     The name of the profile configuration to use. Defaults to
115015                     github.
115016
115017              CLI Example:
115018
115019                 salt myminion github.list_public_repos
115020                 salt myminion github.list_public_repos profile='my-github-profile'
115021
115022       salt.modules.github.list_repos(profile=u'github')
115023              List all repositories within the organization.  Includes  public
115024              and  private repositories within the organization Dependent upon
115025              the access rights of the profile token.
115026
115027              New in version 2016.11.0.
115028
115029
115030              profile
115031                     The name of the profile configuration to use. Defaults to
115032                     github.
115033
115034              CLI Example:
115035
115036                 salt myminion github.list_repos
115037                 salt myminion github.list_repos profile='my-github-profile'
115038
115039       salt.modules.github.list_team_members(team_name,     profile=u'github',
115040       ignore_cache=False)
115041              Gets the names of team members in lower case.
115042
115043              team_name
115044                     The name of the team from which to list members.
115045
115046              profile
115047                     The name of the profile configuration to use. Defaults to
115048                     github.
115049
115050              ignore_cache
115051                     Bypasses the use of cached team members.
115052
115053              CLI Example:
115054
115055                 salt myminion github.list_team_members 'team_name'
115056
115057              New in version 2016.11.0.
115058
115059
115060       salt.modules.github.list_team_repos(team_name,       profile=u'github',
115061       ignore_cache=False)
115062              Gets the repo details for a given team as a dict from  repo_name
115063              to repo details.  Note that repo names are always in lower case.
115064
115065              team_name
115066                     The name of the team from which to list repos.
115067
115068              profile
115069                     The name of the profile configuration to use. Defaults to
115070                     github.
115071
115072              ignore_cache
115073                     Bypasses the use of cached team repos.
115074
115075              CLI Example:
115076
115077                 salt myminion github.list_team_repos 'team_name'
115078
115079              New in version 2016.11.0.
115080
115081
115082       salt.modules.github.list_teams(profile=u'github', ignore_cache=False)
115083              Lists all teams with the organization.
115084
115085              profile
115086                     The name of the profile configuration to use. Defaults to
115087                     github.
115088
115089              ignore_cache
115090                     Bypasses the use of cached teams.
115091
115092              CLI Example:
115093
115094                 salt myminion github.list_teams
115095
115096              New in version 2016.11.0.
115097
115098
115099       salt.modules.github.list_users(profile=u'github', ignore_cache=False)
115100              List all users within the organization.
115101
115102              profile
115103                     The name of the profile configuration to use. Defaults to
115104                     github.
115105
115106              ignore_cache
115107                     Bypasses the use of cached users.
115108
115109                     New in version 2016.11.0.
115110
115111
115112              CLI Example:
115113
115114                 salt myminion github.list_users
115115                 salt myminion github.list_users profile='my-github-profile'
115116
115117       salt.modules.github.remove_repo(name, profile=u'github')
115118              Remove a Github repository.
115119
115120              name   The name of the repository to be removed.
115121
115122              profile
115123                     The name of the profile configuration to use. Defaults to
115124                     github.
115125
115126              CLI Example:
115127
115128                 salt myminion github.remove_repo 'my-repo'
115129
115130              New in version 2016.11.0.
115131
115132
115133       salt.modules.github.remove_team(name, profile=u'github')
115134              Remove a github team.
115135
115136              name   The name of the team to be removed.
115137
115138              profile
115139                     The name of the profile configuration to use. Defaults to
115140                     github.
115141
115142              CLI Example:
115143
115144                 salt myminion github.remove_team 'team_name'
115145
115146              New in version 2016.11.0.
115147
115148
115149       salt.modules.github.remove_team_member(name,      team_name,       pro‐
115150       file=u'github')
115151              Removes a team member from a team with team_name.
115152
115153              name   The name of the team member to remove.
115154
115155              team_name
115156                     The name of the team from which to remove the user.
115157
115158              profile
115159                     The name of the profile configuration to use. Defaults to
115160                     github.
115161
115162              CLI Example:
115163
115164                 salt myminion github.remove_team_member 'user_name' 'team_name'
115165
115166              New in version 2016.11.0.
115167
115168
115169       salt.modules.github.remove_team_repo(repo_name,     team_name,     pro‐
115170       file=u'github')
115171              Removes a repository from a team with team_name.
115172
115173              repo_name
115174                     The name of the repository to remove.
115175
115176              team_name
115177                     The name of the team of which to remove the repository.
115178
115179              profile
115180                     The name of the profile configuration to use. Defaults to
115181                     github.
115182
115183              CLI Example:
115184
115185                 salt myminion github.remove_team_repo 'my_repo' 'team_name'
115186
115187              New in version 2016.11.0.
115188
115189
115190       salt.modules.github.remove_user(name, profile=u'github')
115191              Remove a Github user by name.
115192
115193              name   The user for which to obtain information.
115194
115195              profile
115196                     The name of the profile configuration to use. Defaults to
115197                     github.
115198
115199              CLI Example:
115200
115201                 salt myminion github.remove_user github-handle
115202
115203   salt.modules.glance
115204       Module for handling openstack glance calls.
115205
115206       optdepends
115207
115208              · glanceclient Python adapter
115209
115210       configuration
115211              This  module  is  not  usable  until the following are specified
115212              either in a pillar or in the minion's config file:
115213
115214                 keystone.user: admin
115215                 keystone.password: verybadpass
115216                 keystone.tenant: admin
115217                 keystone.insecure: False   #(optional)
115218                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
115219
115220              If configuration for multiple openstack  accounts  is  required,
115221              they  can  be  set  up  as different configuration profiles: For
115222              example:
115223
115224                 openstack1:
115225                   keystone.user: admin
115226                   keystone.password: verybadpass
115227                   keystone.tenant: admin
115228                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
115229
115230                 openstack2:
115231                   keystone.user: admin
115232                   keystone.password: verybadpass
115233                   keystone.tenant: admin
115234                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
115235
115236              With this configuration in place, any of  the  glance  functions
115237              can  make use of a configuration profile by declaring it explic‐
115238              itly.  For example:
115239
115240                 salt '*' glance.image_list profile=openstack1
115241
115242       salt.modules.glance.image_create(name,   location=None,   profile=None,
115243       visibility=None,   container_format=u'bare',  disk_format=u'raw',  pro‐
115244       tected=None)
115245              Create an image (glance image-create)
115246
115247              CLI Example, old format:
115248
115249                 salt '*' glance.image_create name=f16-jeos \
115250                          disk_format=qcow2 container_format=ovf
115251
115252              CLI Example, new format resembling Glance API v2:
115253
115254                 salt '*' glance.image_create name=f16-jeos visibility=public \
115255                          disk_format=qcow2 container_format=ovf
115256
115257              The parameter 'visibility' defaults to 'public'  if  not  speci‐
115258              fied.
115259
115260       salt.modules.glance.image_delete(id=None, name=None, profile=None)
115261              Delete an image (glance image-delete)
115262
115263              CLI Examples:
115264
115265                 salt '*' glance.image_delete c2eb2eb0-53e1-4a80-b990-8ec887eae7df
115266                 salt '*' glance.image_delete id=c2eb2eb0-53e1-4a80-b990-8ec887eae7df
115267                 salt '*' glance.image_delete name=f16-jeos
115268
115269       salt.modules.glance.image_list(id=None, profile=None, name=None)
115270              Return a list of available images (glance image-list)
115271
115272              CLI Example:
115273
115274                 salt '*' glance.image_list
115275
115276       salt.modules.glance.image_schema(profile=None)
115277              Returns  names  and descriptions of the schema "image"'s proper‐
115278              ties for this profile's instance of glance
115279
115280              CLI Example:
115281
115282                 salt '*' glance.image_schema
115283
115284       salt.modules.glance.image_show(id=None, name=None, profile=None)
115285              Return details about a specific image (glance image-show)
115286
115287              CLI Example:
115288
115289                 salt '*' glance.image_show
115290
115291       salt.modules.glance.image_update(id=None,   name=None,    profile=None,
115292       **kwargs)
115293              Update  properties of given image.  Known to work for: - min_ram
115294              (in MB) - protected (bool) - visibility ('public' or 'private')
115295
115296              CLI Example:
115297
115298                 salt '*' glance.image_update id=c2eb2eb0-53e1-4a80-b990-8ec887eae7df
115299                 salt '*' glance.image_update name=f16-jeos
115300
115301       salt.modules.glance.schema_get(name, profile=None)
115302
115303              Known valid names of schemas are:
115304
115305                     · image
115306
115307                     · images
115308
115309                     · member
115310
115311                     · members
115312
115313              CLI Example:
115314
115315                 salt '*' glance.schema_get name=f16-jeos
115316
115317   salt.modules.glanceng
115318       Glance module for interacting with OpenStack Glance
115319
115320       New in version 2018.3.0.
115321
115322
115323       :depends:shade
115324
115325       Example configuration
115326
115327          glance:
115328            cloud: default
115329
115330          glance:
115331            auth:
115332              username: admin
115333              password: password123
115334              user_domain_name: mydomain
115335              project_name: myproject
115336              project_domain_name: myproject
115337              auth_url: https://example.org:5000/v3
115338            identity_api_version: 3
115339
115340       salt.modules.glanceng.compare_changes(obj, **kwargs)
115341              Compare two dicts returning only keys that exist  in  the  first
115342              dict and are different in the second one
115343
115344       salt.modules.glanceng.get_openstack_cloud(auth=None)
115345              Return an openstack_cloud
115346
115347       salt.modules.glanceng.get_operator_cloud(auth=None)
115348              Return an operator_cloud
115349
115350       salt.modules.glanceng.image_create(auth=None, **kwargs)
115351              Create an image
115352
115353              CLI Example:
115354
115355                 salt '*' glanceng.image_create name=cirros file=cirros.raw disk_format=raw
115356                 salt '*' glanceng.image_create name=cirros file=cirros.raw disk_format=raw hw_scsi_model=virtio-scsi hw_disk_bus=scsi
115357
115358       salt.modules.glanceng.image_delete(auth=None, **kwargs)
115359              Delete an image
115360
115361              CLI Example:
115362
115363                 salt '*' glanceng.image_delete name=image1
115364                 salt '*' glanceng.image_delete name=0e4febc2a5ab4f2c8f374b054162506d
115365
115366       salt.modules.glanceng.image_get(auth=None, **kwargs)
115367              Get a single image
115368
115369              CLI Example:
115370
115371                 salt '*' glanceng.image_get name=image1
115372                 salt '*' glanceng.image_get name=0e4febc2a5ab4f2c8f374b054162506d
115373
115374       salt.modules.glanceng.image_list(auth=None, **kwargs)
115375              List images
115376
115377              CLI Example:
115378
115379                 salt '*' glanceng.image_list
115380                 salt '*' glanceng.image_list
115381
115382       salt.modules.glanceng.image_search(auth=None, **kwargs)
115383              Search for images
115384
115385              CLI Example:
115386
115387                 salt '*' glanceng.image_search name=image1
115388                 salt '*' glanceng.image_search
115389
115390       salt.modules.glanceng.setup_clouds(auth=None)
115391              Call  functions  to create Shade cloud objects in __context__ to
115392              take advantage  of  Shade's  in-memory  caching  across  several
115393              states
115394
115395       salt.modules.glanceng.update_image_properties(auth=None, **kwargs)
115396              Update properties for an image
115397
115398              CLI Example:
115399
115400                 salt '*' glanceng.update_image_properties name=image1 hw_scsi_model=virtio-scsi hw_disk_bus=scsi
115401                 salt '*' glanceng.update_image_properties name=0e4febc2a5ab4f2c8f374b054162506d min_ram=1024
115402
115403   salt.modules.glusterfs
115404       Manage a glusterfs pool
115405
115406       salt.modules.glusterfs.add_volume_bricks(name, bricks)
115407              Add brick(s) to an existing volume
115408
115409              name   Volume name
115410
115411              bricks List of bricks to add to the volume
115412
115413              CLI Example:
115414
115415                 salt '*' glusterfs.add_volume_bricks <volume> <bricks>
115416
115417       salt.modules.glusterfs.create_volume(name,     bricks,    stripe=False,
115418       replica=False,    device_vg=False,    transport=u'tcp',    start=False,
115419       force=False, arbiter=False)
115420              Create a glusterfs volume
115421
115422              name   Name of the gluster volume
115423
115424              bricks Bricks to create volume from, in <peer>:<brick path> for‐
115425                     mat.  For          multiple  bricks  use   list   format:
115426                     '["<peer1>:<brick1>",         "<peer2>:<brick2>"]'
115427
115428              stripe Stripe  count,  the number of bricks should be a multiple
115429                     of the stripe         count  for  a  distributed  striped
115430                     volume
115431
115432              replica
115433                     Replica  count, the number of bricks should be a multiple
115434                     of the         replica count for a distributed replicated
115435                     volume
115436
115437              arbiter
115438                     If  true,  specifies  volume should use arbiter brick(s).
115439                     Valid configuration limited to "replica 3 arbiter 1"  per
115440                     Gluster  documentation.  Every  third  brick in the brick
115441                     list         is used as an arbiter brick.
115442
115443                     New in version 2019.2.0.
115444
115445
115446              device_vg
115447                     If  true,  specifies  volume  should  use  block  backend
115448                     instead  of  regular          posix backend. Block device
115449                     backend volume does not support multiple         bricks
115450
115451              transport
115452                     Transport protocol  to  use,  can  be  'tcp',  'rdma'  or
115453                     'tcp,rdma'
115454
115455              start  Start the volume after creation
115456
115457              force  Force  volume  creation,  this  works even if creating in
115458                     root FS
115459
115460              CLI Examples:
115461
115462                 salt host1 glusterfs.create newvolume host1:/brick
115463
115464                 salt gluster1 glusterfs.create vol2 '["gluster1:/export/vol2/brick",         "gluster2:/export/vol2/brick"]' replica=2 start=True
115465
115466       salt.modules.glusterfs.delete_volume(target, stop=True)
115467              Deletes a gluster volume
115468
115469              target Volume to delete
115470
115471              stop   True If True, stop volume before delete
115472
115473              CLI Example:
115474
115475                 salt '*' glusterfs.delete_volume <volume>
115476
115477       salt.modules.glusterfs.disable_quota_volume(name)
115478              Disable quota on a glusterfs volume.
115479
115480              name   Name of the gluster volume
115481
115482              CLI Example:
115483
115484                 salt '*' glusterfs.disable_quota_volume <volume>
115485
115486       salt.modules.glusterfs.enable_quota_volume(name)
115487              Enable quota on a glusterfs volume.
115488
115489              name   Name of the gluster volume
115490
115491              CLI Example:
115492
115493                 salt '*' glusterfs.enable_quota_volume <volume>
115494
115495       salt.modules.glusterfs.get_max_op_version()
115496              New in version 2019.2.0.
115497
115498
115499              Returns the glusterfs volume's  max  op-version  value  Requires
115500              Glusterfs version > 3.9
115501
115502              CLI Example:
115503                 salt '*' glusterfs.get_max_op_version
115504
115505       salt.modules.glusterfs.get_op_version(name)
115506              New in version 2019.2.0.
115507
115508
115509              Returns the glusterfs volume op-version
115510
115511              name   Name of the glusterfs volume
115512
115513              CLI Example:
115514
115515                 salt '*' glusterfs.get_op_version <volume>
115516
115517       salt.modules.glusterfs.get_version()
115518              New in version 2019.2.0.
115519
115520
115521              Returns the version of glusterfs.  CLI Example:
115522                 salt '*' glusterfs.get_version
115523
115524       salt.modules.glusterfs.info(name=None)
115525              New in version 2015.8.4.
115526
115527
115528              Return gluster volume info.
115529
115530              name   Optional name to retrieve only information of one volume
115531
115532              CLI Example:
115533
115534                 salt '*' glusterfs.info
115535
115536       salt.modules.glusterfs.list_quota_volume(name)
115537              List quotas of glusterfs volume
115538
115539              name   Name of the gluster volume
115540
115541              CLI Example:
115542
115543                 salt '*' glusterfs.list_quota_volume <volume>
115544
115545       salt.modules.glusterfs.list_volumes()
115546              List configured volumes
115547
115548              CLI Example:
115549
115550                 salt '*' glusterfs.list_volumes
115551
115552       salt.modules.glusterfs.peer(name)
115553              Add another node into the peer list.
115554
115555              name   The remote host to probe.
115556
115557              CLI Example:
115558
115559                 salt 'one.gluster.*' glusterfs.peer two
115560
115561              GLUSTER  direct  CLI  example  (to  show what salt is sending to
115562              gluster):
115563                 $ gluster peer probe ftp2
115564
115565              GLUSTER CLI 3.4.4 return example (so we know what we  are  pars‐
115566              ing):
115567                     #if the "peer" is the local host: peer probe: success: on
115568                     localhost not needed
115569
115570                     #if the peer was just added: peer probe: success
115571
115572                     #if the peer was already part of the cluster: peer probe:
115573                     success: host ftp2 port 24007 already in peer list
115574
115575       salt.modules.glusterfs.peer_status()
115576              Return peer status information
115577
115578              The  return  value  is  a dictionary with peer UUIDs as keys and
115579              dicts of peer information as values. Hostnames are listed in one
115580              list. GlusterFS separates one of the hostnames but the only rea‐
115581              son for this seems to be which hostname happens to be used first
115582              in peering.
115583
115584              CLI Example:
115585
115586                 salt '*' glusterfs.peer_status
115587
115588              GLUSTER  direct  CLI  example  (to  show what salt is sending to
115589              gluster):
115590                 $ gluster peer status
115591
115592              GLUSTER CLI 3.4.4 return example (so we know what we  are  pars‐
115593              ing):
115594                 Number of Peers: 2
115595
115596                 Hostname:         ftp2        Port:        24007        Uuid:
115597                 cbcb256b-e66e-4ec7-a718-21082d396c24 State: Peer  in  Cluster
115598                 (Connected)
115599
115600                 Hostname:   ftp3  Uuid:  5ea10457-6cb2-427b-a770-7897509625e9
115601                 State: Peer in Cluster (Connected)
115602
115603       salt.modules.glusterfs.set_op_version(version)
115604              New in version 2019.2.0.
115605
115606
115607              Set the glusterfs volume op-version
115608
115609              version
115610                     Version to set the glusterfs volume op-version
115611
115612              CLI Example:
115613
115614                 salt '*' glusterfs.set_op_version <volume>
115615
115616       salt.modules.glusterfs.set_quota_volume(name,        path,        size,
115617       enable_quota=False)
115618              Set quota to glusterfs volume.
115619
115620              name   Name of the gluster volume
115621
115622              path   Folder path for restriction in volume ("/")
115623
115624              size   Hard-limit size of the volume (MB/GB)
115625
115626              enable_quota
115627                     Enable quota before set up restriction
115628
115629              CLI Example:
115630
115631                 salt '*' glusterfs.set_quota_volume <volume> <path> <size> enable_quota=True
115632
115633       salt.modules.glusterfs.start_volume(name, force=False)
115634              Start a gluster volume
115635
115636              name   Volume name
115637
115638              force  Force the volume start even if the volume is started
115639
115640              CLI Example:
115641
115642                 salt '*' glusterfs.start mycluster
115643
115644       salt.modules.glusterfs.status(name)
115645              Check the status of a gluster volume.
115646
115647              name   Volume name
115648
115649              CLI Example:
115650
115651                 salt '*' glusterfs.status myvolume
115652
115653       salt.modules.glusterfs.stop_volume(name, force=False)
115654              Stop a gluster volume
115655
115656              name   Volume name
115657
115658              force  Force stop the volume
115659
115660                     New in version 2015.8.4.
115661
115662
115663              CLI Example:
115664
115665                 salt '*' glusterfs.stop_volume mycluster
115666
115667       salt.modules.glusterfs.unset_quota_volume(name, path)
115668              Unset quota on glusterfs volume
115669
115670              name   Name of the gluster volume
115671
115672              path   Folder path for restriction in volume
115673
115674              CLI Example:
115675
115676                 salt '*' glusterfs.unset_quota_volume <volume> <path>
115677
115678   salt.modules.gnomedesktop
115679       GNOME implementations
115680
115681       salt.modules.gnomedesktop.get(schema=None,     key=None,     user=None,
115682       **kwargs)
115683              Get key in a particular GNOME schema
115684
115685              CLI Example:
115686
115687                 salt '*' gnome.get user=<username> schema=org.gnome.desktop.screensaver key=idle-activation-enabled
115688
115689       salt.modules.gnomedesktop.getClockFormat(**kwargs)
115690              Return the current clock format, either 12h or 24h format.
115691
115692              CLI Example:
115693
115694                 salt '*' gnome.getClockFormat user=<username>
115695
115696       salt.modules.gnomedesktop.getClockShowDate(**kwargs)
115697              Return the current setting, if the date is shown in the clock
115698
115699              CLI Example:
115700
115701                 salt '*' gnome.getClockShowDate user=<username>
115702
115703       salt.modules.gnomedesktop.getIdleActivation(**kwargs)
115704              Get whether the idle activation is enabled
115705
115706              CLI Example:
115707
115708                 salt '*' gnome.getIdleActivation user=<username>
115709
115710       salt.modules.gnomedesktop.getIdleDelay(**kwargs)
115711              Return the current idle delay setting in seconds
115712
115713              CLI Example:
115714
115715                 salt '*' gnome.getIdleDelay user=<username>
115716
115717       salt.modules.gnomedesktop.ping(**kwargs)
115718              A test to ensure the GNOME module is loaded
115719
115720              CLI Example:
115721
115722                 salt '*' gnome.ping user=<username>
115723
115724       salt.modules.gnomedesktop.setClockFormat(clockFormat, **kwargs)
115725              Set the clock format, either 12h or 24h format.
115726
115727              CLI Example:
115728
115729                 salt '*' gnome.setClockFormat <12h|24h> user=<username>
115730
115731       salt.modules.gnomedesktop.setClockShowDate(kvalue, **kwargs)
115732              Set whether the date is visible in the clock
115733
115734              CLI Example:
115735
115736                 salt '*' gnome.setClockShowDate <True|False> user=<username>
115737
115738       salt.modules.gnomedesktop.setIdleActivation(kvalue, **kwargs)
115739              Set whether the idle activation is enabled
115740
115741              CLI Example:
115742
115743                 salt '*' gnome.setIdleActivation <True|False> user=<username>
115744
115745       salt.modules.gnomedesktop.setIdleDelay(delaySeconds, **kwargs)
115746              Set the current idle delay setting in seconds
115747
115748              CLI Example:
115749
115750                 salt '*' gnome.setIdleDelay <seconds> user=<username>
115751
115752       salt.modules.gnomedesktop.set_(schema=None,    key=None,     user=None,
115753       value=None, **kwargs)
115754              Set key in a particular GNOME schema
115755
115756              CLI Example:
115757
115758                 salt '*' gnome.set user=<username> schema=org.gnome.desktop.screensaver key=idle-activation-enabled value=False
115759
115760   salt.modules.google_chat
115761       Module for sending messages to google chat.
115762
115763       New in version 2019.2.0.
115764
115765
115766       To  use  this module you need to configure a webhook in the google chat
115767       room where you would like the message to be sent, see:
115768          https://developers.google.com/hangouts/chat/how-tos/webhooks
115769
115770       salt.modules.google_chat.send_message(url, message)
115771              Send a message to the google chat room specified in the  webhook
115772              url.
115773
115774                 salt '*' google_chat.send_message "https://chat.googleapis.com/v1/spaces/example_space/messages?key=example_key" "This is a test message"
115775
115776   salt.modules.gpg
115777       Manage  a GPG keychains, add keys, create keys, retrieve keys from key‐
115778       servers.  Sign, encrypt and sign plus encrypt text and files.
115779
115780       New in version 2015.5.0.
115781
115782
115783       NOTE:
115784          The  python-gnupg  library  and  gpg  binary  are  required  to   be
115785          installed.
115786
115787       salt.modules.gpg.create_key(*args, **kwargs)
115788              Create a key in the GPG keychain
115789
115790              NOTE:
115791                 GPG  key generation requires a lot of entropy and randomness.
115792                 Difficult to do over a  remote  connection,  consider  having
115793                 another  process available which is generating randomness for
115794                 the machine.  Also especially difficult on virtual  machines,
115795                 consider the rng-tools package.
115796
115797                 The create_key process takes awhile so increasing the timeout
115798                 may be necessary, e.g. -t 15.
115799
115800              key_type
115801                     The type of the primary key to generate. It must be capa‐
115802                     ble of signing.  'RSA' or 'DSA'.
115803
115804              key_length
115805                     The length of the primary key in bits.
115806
115807              name_real
115808                     The  real  name of the user identity which is represented
115809                     by the key.
115810
115811              name_comment
115812                     A comment to attach to the user id.
115813
115814              name_email
115815                     An email address for the user.
115816
115817              subkey_type
115818                     The type of the secondary key to generate.
115819
115820              subkey_length
115821                     The length of the secondary key in bits.
115822
115823              expire_date
115824                     The expiration date for the  primary  and  any  secondary
115825                     key.    You   can  specify  an  ISO  date,  A  number  of
115826                     days/weeks/months/years, an  epoch  value,  or  0  for  a
115827                     non-expiring key.
115828
115829              use_passphrase
115830                     Whether  to  use  a  passphrase  with  the  signing  key.
115831                     Passphrase is received from Pillar.
115832
115833              user   Which user's keychain to access, defaults to user Salt is
115834                     running  as.  Passing the user as salt will set the GnuPG
115835                     home directory to the /etc/salt/gpgkeys.
115836
115837              gnupghome
115838                     Specify the location where GPG keyring and related  files
115839                     are stored.
115840
115841              CLI Example:
115842
115843                 salt -t 15 '*' gpg.create_key
115844
115845       salt.modules.gpg.decrypt(user=None,   text=None,   filename=None,  out‐
115846       put=None, use_passphrase=False, gnupghome=None, bare=False)
115847              Decrypt a message or file
115848
115849              user   Which user's keychain to access, defaults to user Salt is
115850                     running  as.  Passing the user as salt will set the GnuPG
115851                     home directory to the /etc/salt/gpgkeys.
115852
115853              text   The encrypted text to decrypt.
115854
115855              filename
115856                     The encrypted filename to decrypt.
115857
115858              output The filename where the decrypted data  will  be  written,
115859                     default is standard out.
115860
115861              use_passphrase
115862                     Whether  to  use  a  passphrase  with  the  signing  key.
115863                     Passphrase is received from Pillar.
115864
115865              gnupghome
115866                     Specify the location where GPG keyring and related  files
115867                     are stored.
115868
115869              bare   If True, return the (armored) decrypted block as a string
115870                     without the standard comment/res dict.
115871
115872              CLI Example:
115873
115874                 salt '*' gpg.decrypt filename='/path/to/important.file.gpg'
115875
115876                 salt '*' gpg.decrypt filename='/path/to/important.file.gpg' use_passphrase=True
115877
115878       salt.modules.gpg.delete_key(keyid=None,               fingerprint=None,
115879       delete_secret=False, user=None, gnupghome=None)
115880              Get a key from the GPG keychain
115881
115882              keyid  The keyid of the key to be deleted.
115883
115884              fingerprint
115885                     The fingerprint of the key to be deleted.
115886
115887              delete_secret
115888                     Whether  to  delete  a  corresponding secret key prior to
115889                     deleting the public key.  Secret  keys  must  be  deleted
115890                     before deleting any corresponding public keys.
115891
115892              user   Which user's keychain to access, defaults to user Salt is
115893                     running as.  Passing the user as salt will set the  GnuPG
115894                     home directory to the /etc/salt/gpgkeys.
115895
115896              gnupghome
115897                     Specify  the location where GPG keyring and related files
115898                     are stored.
115899
115900              CLI Example:
115901
115902                 salt '*' gpg.delete_key keyid=3FAD9F1E
115903
115904                 salt '*' gpg.delete_key fingerprint=53C96788253E58416D20BCD352952C84C3252192
115905
115906                 salt '*' gpg.delete_key keyid=3FAD9F1E user=username
115907
115908                 salt '*' gpg.delete_key keyid=3FAD9F1E user=username delete_secret=True
115909
115910       salt.modules.gpg.encrypt(user=None, recipients=None,  text=None,  file‐
115911       name=None,      output=None,      sign=None,      use_passphrase=False,
115912       gnupghome=None, bare=False)
115913              Encrypt a message or file
115914
115915              user   Which user's keychain to access, defaults to user Salt is
115916                     running  as.  Passing the user as salt will set the GnuPG
115917                     home directory to the /etc/salt/gpgkeys.
115918
115919              recipients
115920                     The fingerprints for those recipient  whom  the  data  is
115921                     being encrypted for.
115922
115923              text   The text to encrypt.
115924
115925              filename
115926                     The filename to encrypt.
115927
115928              output The  filename  where  the  signed  file  will be written,
115929                     default is standard out.
115930
115931              sign   Whether to sign, in addition to encrypt, the  data.  True
115932                     to  use default key or fingerprint to specify a different
115933                     key to sign with.
115934
115935              use_passphrase
115936                     Whether  to  use  a  passphrase  with  the  signing  key.
115937                     Passphrase is received from Pillar.
115938
115939              gnupghome
115940                     Specify  the location where GPG keyring and related files
115941                     are stored.
115942
115943              bare   If True, return the (armored) encrypted block as a string
115944                     without the standard comment/res dict.
115945
115946              CLI Example:
115947
115948                 salt '*' gpg.encrypt text='Hello there.  How are you?'
115949
115950                 salt '*' gpg.encrypt filename='/path/to/important.file'
115951
115952                 salt '*' gpg.encrypt filename='/path/to/important.file' use_passphrase=True
115953
115954       salt.modules.gpg.export_key(keyids=None,    secret=False,    user=None,
115955       gnupghome=None)
115956              Export a key from the GPG keychain
115957
115958              keyids The key ID(s) of the key(s) to be exported. Can be speci‐
115959                     fied  as  a  comma  separated  string or a list. Anything
115960                     which GnuPG itself accepts to identify a key - for  exam‐
115961                     ple, the key ID or the fingerprint could be used.
115962
115963              secret Export  the  secret key identified by the keyids informa‐
115964                     tion passed.
115965
115966              user   Which user's keychain to access, defaults to user Salt is
115967                     running  as.  Passing the user as salt will set the GnuPG
115968                     home directory to the /etc/salt/gpgkeys.
115969
115970              gnupghome
115971                     Specify the location where GPG keyring and related  files
115972                     are stored.
115973
115974              CLI Example:
115975
115976                 salt '*' gpg.export_key keyids=3FAD9F1E
115977
115978                 salt '*' gpg.export_key keyids=3FAD9F1E secret=True
115979
115980                 salt '*' gpg.export_key keyids="['3FAD9F1E','3FBD8F1E']" user=username
115981
115982       salt.modules.gpg.get_key(keyid=None,    fingerprint=None,    user=None,
115983       gnupghome=None)
115984              Get a key from the GPG keychain
115985
115986              keyid  The key ID (short or long) of the key to be retrieved.
115987
115988              fingerprint
115989                     The fingerprint of the key to be retrieved.
115990
115991              user   Which user's keychain to access, defaults to user Salt is
115992                     running  as.  Passing the user as salt will set the GnuPG
115993                     home directory to the /etc/salt/gpgkeys.
115994
115995              gnupghome
115996                     Specify the location where GPG keyring and related  files
115997                     are stored.
115998
115999              CLI Example:
116000
116001                 salt '*' gpg.get_key keyid=3FAD9F1E
116002
116003                 salt '*' gpg.get_key fingerprint=53C96788253E58416D20BCD352952C84C3252192
116004
116005                 salt '*' gpg.get_key keyid=3FAD9F1E user=username
116006
116007       salt.modules.gpg.get_secret_key(keyid=None,           fingerprint=None,
116008       user=None, gnupghome=None)
116009              Get a key from the GPG keychain
116010
116011              keyid  The key ID (short or long) of the key to be retrieved.
116012
116013              fingerprint
116014                     The fingerprint of the key to be retrieved.
116015
116016              user   Which user's keychain to access, defaults to user Salt is
116017                     running  as.  Passing the user as salt will set the GnuPG
116018                     home directory to the /etc/salt/gpgkeys.
116019
116020              gnupghome
116021                     Specify the location where GPG keyring and related  files
116022                     are stored.
116023
116024              CLI Example:
116025
116026                 salt '*' gpg.get_secret_key keyid=3FAD9F1E
116027
116028                 salt '*' gpg.get_secret_key fingerprint=53C96788253E58416D20BCD352952C84C3252192
116029
116030                 salt '*' gpg.get_secret_key keyid=3FAD9F1E user=username
116031
116032       salt.modules.gpg.import_key(*args, **kwargs)
116033              Import a key from text or file
116034
116035              text   The text containing to import.
116036
116037              filename
116038                     The filename containing the key to import.
116039
116040              user   Which user's keychain to access, defaults to user Salt is
116041                     running as.  Passing the user as salt will set the  GnuPG
116042                     home directory to the /etc/salt/gpgkeys.
116043
116044              gnupghome
116045                     Specify  the location where GPG keyring and related files
116046                     are stored.
116047
116048              CLI Example:
116049
116050                 salt '*' gpg.import_key text='-----BEGIN PGP PUBLIC KEY BLOCK-----\n ... -----END PGP PUBLIC KEY BLOCK-----'
116051                 salt '*' gpg.import_key filename='/path/to/public-key-file'
116052
116053       salt.modules.gpg.list_keys(user=None, gnupghome=None)
116054              List keys in GPG keychain
116055
116056              user   Which user's keychain to access, defaults to user Salt is
116057                     running  as.  Passing the user as salt will set the GnuPG
116058                     home directory to the /etc/salt/gpgkeys.
116059
116060              gnupghome
116061                     Specify the location where GPG keyring and related  files
116062                     are stored.
116063
116064              CLI Example:
116065
116066                 salt '*' gpg.list_keys
116067
116068       salt.modules.gpg.list_secret_keys(user=None, gnupghome=None)
116069              List secret keys in GPG keychain
116070
116071              user   Which user's keychain to access, defaults to user Salt is
116072                     running as.  Passing the user as salt will set the  GnuPG
116073                     home directory to the /etc/salt/gpgkeys.
116074
116075              gnupghome
116076                     Specify  the location where GPG keyring and related files
116077                     are stored.
116078
116079              CLI Example:
116080
116081                 salt '*' gpg.list_secret_keys
116082
116083       salt.modules.gpg.receive_keys(*args, **kwargs)
116084              Receive key(s) from keyserver and add them to keychain
116085
116086              keyserver
116087                     Keyserver to use for searching for GPG keys, defaults  to
116088                     pgp.mit.edu
116089
116090              keys   The  keyID(s)  to  retrieve  from  the keyserver.  Can be
116091                     specified as a comma separated string or a list.
116092
116093              user   Which user's keychain to access, defaults to user Salt is
116094                     running  as.  Passing the user as salt will set the GnuPG
116095                     home directory to the /etc/salt/gpgkeys.
116096
116097              gnupghome
116098                     Specify the location where GPG keyring and related  files
116099                     are stored.
116100
116101              CLI Example:
116102
116103                 salt '*' gpg.receive_keys keys='3FAD9F1E'
116104
116105                 salt '*' gpg.receive_keys keys="['3FAD9F1E','3FBD9F2E']"
116106
116107                 salt '*' gpg.receive_keys keys=3FAD9F1E user=username
116108
116109       salt.modules.gpg.search_keys(text, keyserver=None, user=None)
116110              Search keys from keyserver
116111
116112              text   Text  to  search  the  keyserver for, e.g. email address,
116113                     keyID or fingerprint.
116114
116115              keyserver
116116                     Keyserver to use for searching for GPG keys, defaults  to
116117                     pgp.mit.edu.
116118
116119              user   Which user's keychain to access, defaults to user Salt is
116120                     running as.  Passing the user as salt will set the  GnuPG
116121                     home directory to the /etc/salt/gpgkeys.
116122
116123              CLI Example:
116124
116125                 salt '*' gpg.search_keys user@example.com
116126
116127                 salt '*' gpg.search_keys user@example.com keyserver=keyserver.ubuntu.com
116128
116129                 salt '*' gpg.search_keys user@example.com keyserver=keyserver.ubuntu.com user=username
116130
116131       salt.modules.gpg.sign(user=None,  keyid=None, text=None, filename=None,
116132       output=None, use_passphrase=False, gnupghome=None)
116133              Sign message or file
116134
116135              user   Which user's keychain to access, defaults to user Salt is
116136                     running  as.  Passing the user as salt will set the GnuPG
116137                     home directory to the /etc/salt/gpgkeys.
116138
116139              keyid  The keyid of the key to set the trust level for, defaults
116140                     to first key in the secret keyring.
116141
116142              text   The text to sign.
116143
116144              filename
116145                     The filename to sign.
116146
116147              output The  filename  where  the  signed  file  will be written,
116148                     default is standard out.
116149
116150              use_passphrase
116151                     Whether  to  use  a  passphrase  with  the  signing  key.
116152                     Passphrase is received from Pillar.
116153
116154              gnupghome
116155                     Specify  the location where GPG keyring and related files
116156                     are stored.
116157
116158              CLI Example:
116159
116160                 salt '*' gpg.sign text='Hello there.  How are you?'
116161
116162                 salt '*' gpg.sign filename='/path/to/important.file'
116163
116164                 salt '*' gpg.sign filename='/path/to/important.file' use_passphrase=True
116165
116166       salt.modules.gpg.trust_key(keyid=None,                fingerprint=None,
116167       trust_level=None, user=None)
116168              Set the trust level for a key in GPG keychain
116169
116170              keyid  The keyid of the key to set the trust level for.
116171
116172              fingerprint
116173                     The fingerprint of the key to set the trust level for.
116174
116175              trust_level
116176                     The trust level to set for the specified key, must be one
116177                     of  the   following:   expired,   unknown,   not_trusted,
116178                     marginally, fully, ultimately
116179
116180              user   Which user's keychain to access, defaults to user Salt is
116181                     running as.  Passing the user as salt will set the  GnuPG
116182                     home directory to the /etc/salt/gpgkeys.
116183
116184              CLI Example:
116185
116186                 salt '*' gpg.trust_key keyid='3FAD9F1E' trust_level='marginally'
116187                 salt '*' gpg.trust_key fingerprint='53C96788253E58416D20BCD352952C84C3252192' trust_level='not_trusted'
116188                 salt '*' gpg.trust_key keys=3FAD9F1E trust_level='ultimately' user='username'
116189
116190       salt.modules.gpg.verify(text=None,       user=None,      filename=None,
116191       gnupghome=None, signature=None, trustmodel=None)
116192              Verify a message or file
116193
116194              text   The text to verify.
116195
116196              filename
116197                     The filename to verify.
116198
116199              user   Which user's keychain to access, defaults to user Salt is
116200                     running  as.  Passing the user as salt will set the GnuPG
116201                     home directory to the /etc/salt/gpgkeys.
116202
116203              gnupghome
116204                     Specify the location where GPG keyring and related  files
116205                     are stored.
116206
116207              signature
116208                     Specify the filename of a detached signature.
116209
116210                     New in version 2018.3.0.
116211
116212
116213              trustmodel
116214
116215                     Explicitly define the used trust model. One of:
116216
116217                            · pgp
116218
116219                            · classic
116220
116221                            · tofu
116222
116223                            · tofu+pgp
116224
116225                            · direct
116226
116227                            · always
116228
116229                            · auto
116230
116231                     New in version 2019.2.0.
116232
116233
116234              CLI Example:
116235
116236                 salt '*' gpg.verify text='Hello there.  How are you?'
116237                 salt '*' gpg.verify filename='/path/to/important.file'
116238                 salt '*' gpg.verify filename='/path/to/important.file' use_passphrase=True
116239                 salt '*' gpg.verify filename='/path/to/important.file' trustmodel=direct
116240
116241   salt.modules.grafana4 module
116242       Module for working with the Grafana v4 API
116243
116244       New in version 2017.7.0.
116245
116246
116247       depends
116248              requests
116249
116250       configuration
116251              This module requires a configuration profile to be configured in
116252              the minion config, minion pillar, or master config.  The  module
116253              will use the 'grafana' key by default, if defined.
116254
116255              For example:
116256
116257                 grafana:
116258                     grafana_url: http://grafana.localhost
116259                     grafana_user: admin
116260                     grafana_password: admin
116261                     grafana_timeout: 3
116262
116263       salt.modules.grafana4.create_datasource(orgname=None,              pro‐
116264       file=u'grafana', **kwargs)
116265              Create a new datasource in an organisation.
116266
116267              name   Name of the data source.
116268
116269              type   Type of the datasource ('graphite', 'influxdb' etc.).
116270
116271              access Use proxy or direct.
116272
116273              url    The URL to the data source API.
116274
116275              user   Optional - user to authenticate with the data source.
116276
116277              password
116278                     Optional - password to authenticate with the data source.
116279
116280              database
116281                     Optional - database to use with the data source.
116282
116283              basicAuth
116284                     Optional - set to True to use HTTP basic auth to  authen‐
116285                     ticate with the data source.
116286
116287              basicAuthUser
116288                     Optional - HTTP basic auth username.
116289
116290              basicAuthPassword
116291                     Optional - HTTP basic auth password.
116292
116293              jsonData
116294                     Optional  - additional json data to post (eg. "timeInter‐
116295                     val").
116296
116297              isDefault
116298                     Optional - set data source as default.
116299
116300              withCredentials
116301                     Optional - Whether credentials such as  cookies  or  auth
116302                     headers should be sent with cross-site requests.
116303
116304              typeLogoUrl
116305                     Optional - Logo to use for this datasource.
116306
116307              orgname
116308                     Name  of the organization in which the data source should
116309                     be created.
116310
116311              profile
116312                     Configuration profile used  to  connect  to  the  Grafana
116313                     instance.  Default is 'grafana'.
116314
116315              CLI Example:
116316
116317                 salt '*' grafana4.create_datasource
116318
116319       salt.modules.grafana4.create_org(profile=u'grafana', **kwargs)
116320              Create a new organization.
116321
116322              name   Name of the organization.
116323
116324              profile
116325                     Configuration  profile  used  to  connect  to the Grafana
116326                     instance.  Default is 'grafana'.
116327
116328              CLI Example:
116329
116330                 salt '*' grafana4.create_org <name>
116331
116332       salt.modules.grafana4.create_org_user(orgname=None, profile=u'grafana',
116333       **kwargs)
116334              Add user to the organization.
116335
116336              loginOrEmail
116337                     Login or email of the user.
116338
116339              role
116340
116341                     Role of the user for this organization. Should be one of:
116342
116343                            · Admin
116344
116345                            · Editor
116346
116347                            · Read Only Editor
116348
116349                            · Viewer
116350
116351              orgname
116352                     Name of the organization in which users are added.
116353
116354              profile
116355                     Configuration  profile  used  to  connect  to the Grafana
116356                     instance.  Default is 'grafana'.
116357
116358              CLI Example:
116359
116360                 salt '*' grafana4.create_org_user <orgname> loginOrEmail=<loginOrEmail> role=<role>
116361
116362       salt.modules.grafana4.create_update_dashboard(orgname=None,        pro‐
116363       file=u'grafana', **kwargs)
116364              Create or update a dashboard.
116365
116366              dashboard
116367                     A dict that defines the dashboard to create/update.
116368
116369              overwrite
116370                     Whether  the  dashboard  should be overwritten if already
116371                     existing.
116372
116373              orgname
116374                     Name of the organization.
116375
116376              profile
116377                     Configuration profile used  to  connect  to  the  Grafana
116378                     instance.  Default is 'grafana'.
116379
116380              CLI Example:
116381
116382                 salt '*' grafana4.create_update_dashboard dashboard=<dashboard> overwrite=True orgname=<orgname>
116383
116384       salt.modules.grafana4.create_user(profile=u'grafana', **kwargs)
116385              Create a new user.
116386
116387              login  Login of the new user.
116388
116389              password
116390                     Password of the new user.
116391
116392              email  Email of the new user.
116393
116394              name   Optional - Full name of the new user.
116395
116396              profile
116397                     Configuration  profile  used  to  connect  to the Grafana
116398                     instance.  Default is 'grafana'.
116399
116400              CLI Example:
116401
116402                 salt '*' grafana4.create_user login=<login> password=<password> email=<email>
116403
116404       salt.modules.grafana4.delete_dashboard(slug,     orgname=None,     pro‐
116405       file=u'grafana')
116406              Delete a dashboard.
116407
116408              slug   Slug (name) of the dashboard.
116409
116410              orgname
116411                     Name of the organization.
116412
116413              profile
116414                     Configuration  profile  used  to  connect  to the Grafana
116415                     instance.  Default is 'grafana'.
116416
116417              CLI Example:
116418
116419                 salt '*' grafana4.delete_dashboard <slug>
116420
116421       salt.modules.grafana4.delete_datasource(datasourceid,     orgname=None,
116422       profile=u'grafana')
116423              Delete a datasource.
116424
116425              datasourceid
116426                     Id of the datasource.
116427
116428              profile
116429                     Configuration  profile  used  to  connect  to the Grafana
116430                     instance.  Default is 'grafana'.
116431
116432              CLI Example:
116433
116434                 salt '*' grafana4.delete_datasource <datasource_id>
116435
116436       salt.modules.grafana4.delete_org(orgid, profile=u'grafana')
116437              Delete an organization.
116438
116439              orgid  Id of the organization.
116440
116441              profile
116442                     Configuration profile used  to  connect  to  the  Grafana
116443                     instance.  Default is 'grafana'.
116444
116445              CLI Example:
116446
116447                 salt '*' grafana4.delete_org <org_id>
116448
116449       salt.modules.grafana4.delete_org_user(userid,     orgname=None,    pro‐
116450       file=u'grafana')
116451              Remove user from the organization.
116452
116453              userid Id of the user.
116454
116455              orgname
116456                     Name of the organization in which users are updated.
116457
116458              profile
116459                     Configuration profile used  to  connect  to  the  Grafana
116460                     instance.  Default is 'grafana'.
116461
116462              CLI Example:
116463
116464                 salt '*' grafana4.delete_org_user <user_id> <orgname>
116465
116466       salt.modules.grafana4.delete_user(userid, profile=u'grafana')
116467              Delete a user.
116468
116469              userid Id of the user.
116470
116471              profile
116472                     Configuration  profile  used  to  connect  to the Grafana
116473                     instance.  Default is 'grafana'.
116474
116475              CLI Example:
116476
116477                 salt '*' grafana4.delete_user <user_id>
116478
116479       salt.modules.grafana4.delete_user_org(userid,        orgid,        pro‐
116480       file=u'grafana')
116481              Remove a user from an organization.
116482
116483              userid Id of the user.
116484
116485              orgid  Id of the organization.
116486
116487              profile
116488                     Configuration  profile  used  to  connect  to the Grafana
116489                     instance.  Default is 'grafana'.
116490
116491              CLI Example:
116492
116493                 salt '*' grafana4.delete_user_org <user_id> <org_id>
116494
116495       salt.modules.grafana4.get_dashboard(slug,      orgname=None,       pro‐
116496       file=u'grafana')
116497              Get a dashboard.
116498
116499              slug   Slug (name) of the dashboard.
116500
116501              orgname
116502                     Name of the organization.
116503
116504              profile
116505                     Configuration  profile  used  to  connect  to the Grafana
116506                     instance.  Default is 'grafana'.
116507
116508              CLI Example:
116509
116510                 salt '*' grafana4.get_dashboard <slug>
116511
116512       salt.modules.grafana4.get_datasource(name,      orgname=None,      pro‐
116513       file=u'grafana')
116514              Show a single datasource in an organisation.
116515
116516              name   Name of the datasource.
116517
116518              orgname
116519                     Name of the organization.
116520
116521              profile
116522                     Configuration  profile  used  to  connect  to the Grafana
116523                     instance.  Default is 'grafana'.
116524
116525              CLI Example:
116526
116527                 salt '*' grafana4.get_datasource <name> <orgname>
116528
116529       salt.modules.grafana4.get_datasources(orgname=None, profile=u'grafana')
116530              List all datasources in an organisation.
116531
116532              orgname
116533                     Name of the organization.
116534
116535              profile
116536                     Configuration profile used  to  connect  to  the  Grafana
116537                     instance.  Default is 'grafana'.
116538
116539              CLI Example:
116540
116541                 salt '*' grafana4.get_datasources <orgname>
116542
116543       salt.modules.grafana4.get_org(name, profile=u'grafana')
116544              Show a single organization.
116545
116546              name   Name of the organization.
116547
116548              profile
116549                     Configuration  profile  used  to  connect  to the Grafana
116550                     instance.  Default is 'grafana'.
116551
116552              CLI Example:
116553
116554                 salt '*' grafana4.get_org <name>
116555
116556       salt.modules.grafana4.get_org_address(orgname=None, profile=u'grafana')
116557              Get the organization address.
116558
116559              orgname
116560                     Name of the organization in which users are updated.
116561
116562              profile
116563                     Configuration profile used  to  connect  to  the  Grafana
116564                     instance.  Default is 'grafana'.
116565
116566              CLI Example:
116567
116568                 salt '*' grafana4.get_org_address <orgname>
116569
116570       salt.modules.grafana4.get_org_prefs(orgname=None, profile=u'grafana')
116571              Get the organization preferences.
116572
116573              orgname
116574                     Name of the organization in which users are updated.
116575
116576              profile
116577                     Configuration  profile  used  to  connect  to the Grafana
116578                     instance.  Default is 'grafana'.
116579
116580              CLI Example:
116581
116582                 salt '*' grafana4.get_org_prefs <orgname>
116583
116584       salt.modules.grafana4.get_org_users(orgname=None, profile=u'grafana')
116585              Get the list of users that belong to the organization.
116586
116587              orgname
116588                     Name of the organization.
116589
116590              profile
116591                     Configuration profile used  to  connect  to  the  Grafana
116592                     instance.  Default is 'grafana'.
116593
116594              CLI Example:
116595
116596                 salt '*' grafana4.get_org_users <orgname>
116597
116598       salt.modules.grafana4.get_orgs(profile=u'grafana')
116599              List all organizations.
116600
116601              profile
116602                     Configuration  profile  used  to  connect  to the Grafana
116603                     instance.  Default is 'grafana'.
116604
116605              CLI Example:
116606
116607                 salt '*' grafana4.get_orgs
116608
116609       salt.modules.grafana4.get_user(login, profile=u'grafana')
116610              Show a single user.
116611
116612              login  Login of the user.
116613
116614              profile
116615                     Configuration profile used  to  connect  to  the  Grafana
116616                     instance.  Default is 'grafana'.
116617
116618              CLI Example:
116619
116620                 salt '*' grafana4.get_user <login>
116621
116622       salt.modules.grafana4.get_user_data(userid, profile=u'grafana')
116623              Get user data.
116624
116625              userid Id of the user.
116626
116627              profile
116628                     Configuration  profile  used  to  connect  to the Grafana
116629                     instance.  Default is 'grafana'.
116630
116631              CLI Example:
116632
116633                 salt '*' grafana4.get_user_data <user_id>
116634
116635       salt.modules.grafana4.get_user_orgs(userid, profile=u'grafana')
116636              Get the list of organisations a user belong to.
116637
116638              userid Id of the user.
116639
116640              profile
116641                     Configuration profile used  to  connect  to  the  Grafana
116642                     instance.  Default is 'grafana'.
116643
116644              CLI Example:
116645
116646                 salt '*' grafana4.get_user_orgs <user_id>
116647
116648       salt.modules.grafana4.get_users(profile=u'grafana')
116649              List all users.
116650
116651              profile
116652                     Configuration  profile  used  to  connect  to the Grafana
116653                     instance.  Default is 'grafana'.
116654
116655              CLI Example:
116656
116657                 salt '*' grafana4.get_users
116658
116659       salt.modules.grafana4.switch_org(orgname, profile=u'grafana')
116660              Switch the current organization.
116661
116662              name   Name of the organization to switch to.
116663
116664              profile
116665                     Configuration profile used  to  connect  to  the  Grafana
116666                     instance.  Default is 'grafana'.
116667
116668              CLI Example:
116669
116670                 salt '*' grafana4.switch_org <name>
116671
116672       salt.modules.grafana4.update_datasource(datasourceid,     orgname=None,
116673       profile=u'grafana', **kwargs)
116674              Update a datasource.
116675
116676              datasourceid
116677                     Id of the datasource.
116678
116679              name   Name of the data source.
116680
116681              type   Type of the datasource ('graphite', 'influxdb' etc.).
116682
116683              access Use proxy or direct.
116684
116685              url    The URL to the data source API.
116686
116687              user   Optional - user to authenticate with the data source.
116688
116689              password
116690                     Optional - password to authenticate with the data source.
116691
116692              database
116693                     Optional - database to use with the data source.
116694
116695              basicAuth
116696                     Optional - set to True to use HTTP basic auth to  authen‐
116697                     ticate with the data source.
116698
116699              basicAuthUser
116700                     Optional - HTTP basic auth username.
116701
116702              basicAuthPassword
116703                     Optional - HTTP basic auth password.
116704
116705              jsonData
116706                     Optional  - additional json data to post (eg. "timeInter‐
116707                     val").
116708
116709              isDefault
116710                     Optional - set data source as default.
116711
116712              withCredentials
116713                     Optional - Whether credentials such as  cookies  or  auth
116714                     headers should be sent with cross-site requests.
116715
116716              typeLogoUrl
116717                     Optional - Logo to use for this datasource.
116718
116719              profile
116720                     Configuration  profile  used  to  connect  to the Grafana
116721                     instance.  Default is 'grafana'.
116722
116723              CLI Example:
116724
116725                 salt '*' grafana4.update_datasource <datasourceid>
116726
116727       salt.modules.grafana4.update_org(orgid, profile=u'grafana', **kwargs)
116728              Update an existing organization.
116729
116730              orgid  Id of the organization.
116731
116732              name   New name of the organization.
116733
116734              profile
116735                     Configuration profile used  to  connect  to  the  Grafana
116736                     instance.  Default is 'grafana'.
116737
116738              CLI Example:
116739
116740                 salt '*' grafana4.update_org <org_id> name=<name>
116741
116742       salt.modules.grafana4.update_org_address(orgname=None,             pro‐
116743       file=u'grafana', **kwargs)
116744              Update the organization address.
116745
116746              orgname
116747                     Name of the organization in which users are updated.
116748
116749              address1
116750                     Optional - address1 of the org.
116751
116752              address2
116753                     Optional - address2 of the org.
116754
116755              city   Optional - city of the org.
116756
116757              zip_code
116758                     Optional - zip_code of the org.
116759
116760              state  Optional - state of the org.
116761
116762              country
116763                     Optional - country of the org.
116764
116765              profile
116766                     Configuration profile used  to  connect  to  the  Grafana
116767                     instance.  Default is 'grafana'.
116768
116769              CLI Example:
116770
116771                 salt '*' grafana4.update_org_address <orgname> country=<country>
116772
116773       salt.modules.grafana4.update_org_prefs(orgname=None,               pro‐
116774       file=u'grafana', **kwargs)
116775              Update the organization preferences.
116776
116777              orgname
116778                     Name of the organization in which users are updated.
116779
116780              theme  Selected theme for the org.
116781
116782              homeDashboardId
116783                     Home dashboard for the org.
116784
116785              timezone
116786                     Timezone for the org (one of: "browser", "utc", or "").
116787
116788              profile
116789                     Configuration profile used  to  connect  to  the  Grafana
116790                     instance.  Default is 'grafana'.
116791
116792              CLI Example:
116793
116794                 salt '*' grafana4.update_org_prefs <orgname> theme=<theme> timezone=<timezone>
116795
116796       salt.modules.grafana4.update_org_user(userid,     orgname=None,    pro‐
116797       file=u'grafana', **kwargs)
116798              Update user role in the organization.
116799
116800              userid Id of the user.
116801
116802              loginOrEmail
116803                     Login or email of the user.
116804
116805              role
116806
116807                     Role of the user for this organization. Should be one of:
116808
116809                            · Admin
116810
116811                            · Editor
116812
116813                            · Read Only Editor
116814
116815                            · Viewer
116816
116817              orgname
116818                     Name of the organization in which users are updated.
116819
116820              profile
116821                     Configuration profile used  to  connect  to  the  Grafana
116822                     instance.  Default is 'grafana'.
116823
116824              CLI Example:
116825
116826                 salt '*' grafana4.update_org_user <user_id> <orgname> loginOrEmail=<loginOrEmail> role=<role>
116827
116828       salt.modules.grafana4.update_user(userid, profile=u'grafana', **kwargs)
116829              Update an existing user.
116830
116831              userid Id of the user.
116832
116833              login  Optional - Login of the user.
116834
116835              email  Optional - Email of the user.
116836
116837              name   Optional - Full name of the user.
116838
116839              profile
116840                     Configuration  profile  used  to  connect  to the Grafana
116841                     instance.  Default is 'grafana'.
116842
116843              CLI Example:
116844
116845                 salt '*' grafana4.update_user <user_id> login=<login> email=<email>
116846
116847       salt.modules.grafana4.update_user_password(userid,  profile=u'grafana',
116848       **kwargs)
116849              Update a user password.
116850
116851              userid Id of the user.
116852
116853              password
116854                     New password of the user.
116855
116856              profile
116857                     Configuration  profile  used  to  connect  to the Grafana
116858                     instance.  Default is 'grafana'.
116859
116860              CLI Example:
116861
116862                 salt '*' grafana4.update_user_password <user_id> password=<password>
116863
116864       salt.modules.grafana4.update_user_permissions(userid,              pro‐
116865       file=u'grafana', **kwargs)
116866              Update a user password.
116867
116868              userid Id of the user.
116869
116870              isGrafanaAdmin
116871                     Whether user is a Grafana admin.
116872
116873              profile
116874                     Configuration  profile  used  to  connect  to the Grafana
116875                     instance.  Default is 'grafana'.
116876
116877              CLI Example:
116878
116879                 salt '*' grafana4.update_user_permissions <user_id> isGrafanaAdmin=<true|false>
116880
116881   salt.modules.grains
116882       Return/control aspects of the grains data
116883
116884       Grains set or altered with this module are stored in the 'grains'  file
116885       on the minions. By default, this file is located at: /etc/salt/grains
116886
116887       NOTE:
116888          This does NOT override any grains set in the minion config file.
116889
116890       salt.modules.grains.append(key, val, convert=False, delimiter=':')
116891              New in version 0.17.0.
116892
116893
116894              Append a value to a list in the grains config file. If the grain
116895              doesn't exist, the grain key is added and the value is  appended
116896              to the new grain as a list item.
116897
116898              key    The grain key to be appended to
116899
116900              val    The value to append to the grain key
116901
116902              convert
116903                     If  convert  is  True,  convert  non-list contents into a
116904                     list.   If  convert  is  False  and  the  grain  contains
116905                     non-list contents, an error is given. Defaults to False.
116906
116907              delimiter
116908                     The  key  can be a nested dict key. Use this parameter to
116909                     specify the delimiter you use, instead of the default  :.
116910                     You  can now append values to a list in nested dictionary
116911                     grains. If the list doesn't exist at this level, it  will
116912                     be created.
116913
116914                     New in version 2014.7.6.
116915
116916
116917              CLI Example:
116918
116919                 salt '*' grains.append key val
116920
116921       salt.modules.grains.delkey(key)
116922              New in version 2017.7.0.
116923
116924
116925              Remove  a  grain  completely  from  the  grain system, this will
116926              remove the grain key and value
116927
116928              key    The grain key from which to delete the value.
116929
116930              CLI Example:
116931
116932                 salt '*' grains.delkey key
116933
116934       salt.modules.grains.delval(key, destructive=False)
116935              New in version 0.17.0.
116936
116937
116938              Delete a grain value from the grains config file. This will just
116939              set the grain value to None. To completely remove the grain, run
116940              grains.delkey or pass destructive=True to grains.delval.
116941
116942              key    The grain key from which to delete the value.
116943
116944              destructive
116945                     Delete the key, too. Defaults to False.
116946
116947              CLI Example:
116948
116949                 salt '*' grains.delval key
116950
116951       salt.modules.grains.equals(key, value)
116952              Used to make sure the minion's grain key/value matches.
116953
116954              Returns True if matches otherwise False.
116955
116956              New in version 2017.7.0.
116957
116958
116959              CLI Example:
116960
116961                 salt '*' grains.equals fqdn <expected_fqdn>
116962                 salt '*' grains.equals systemd:version 219
116963
116964       salt.modules.grains.fetch(key,       default=u'',        delimiter=':',
116965       ordered=True)
116966              Attempt  to  retrieve  the named value from grains, if the named
116967              value is not available return the passed  default.  The  default
116968              return is an empty string.
116969
116970              The  value  can  also represent a value in a nested dict using a
116971              ":" delimiter for the dict. This means that if a dict in  grains
116972              looks like this:
116973
116974                 {'pkg': {'apache': 'httpd'}}
116975
116976              To  retrieve the value associated with the apache key in the pkg
116977              dict this key can be passed:
116978
116979                 pkg:apache
116980
116981              Parameters
116982
116983                     · delimiter --
116984
116985                       Specify an alternate delimiter to use when traversing a
116986                       nested  dict.   This is useful for when the desired key
116987                       contains a colon. See CLI example below for usage.
116988
116989                       New in version 2014.7.0.
116990
116991
116992
116993                     · ordered --
116994
116995                       Outputs an ordered dict if applicable (default: True)
116996
116997                       New in version 2016.11.0.
116998
116999
117000
117001              CLI Example:
117002
117003                 salt '*' grains.get pkg:apache
117004                 salt '*' grains.get abc::def|ghi delimiter='|'
117005
117006       salt.modules.grains.filter_by(lookup_dict,          grain=u'os_family',
117007       merge=None, default=u'default', base=None)
117008              New in version 0.17.0.
117009
117010
117011              Look up the given grain in a given dictionary for the current OS
117012              and return the result
117013
117014              Although this may occasionally be useful at the CLI, the primary
117015              intent  of  this function is for use in Jinja to make short work
117016              of creating lookup tables for OS-specific data. For example:
117017
117018                 {% set apache = salt['grains.filter_by']({
117019                     'Debian': {'pkg': 'apache2', 'srv': 'apache2'},
117020                     'RedHat': {'pkg': 'httpd', 'srv': 'httpd'},
117021                 }, default='Debian') %}
117022
117023                 myapache:
117024                   pkg.installed:
117025                     - name: {{ apache.pkg }}
117026                   service.running:
117027                     - name: {{ apache.srv }}
117028
117029              Values in the lookup table may be overridden by values  in  Pil‐
117030              lar.  An  example Pillar to override values in the example above
117031              could be as follows:
117032
117033                 apache:
117034                   lookup:
117035                     pkg: apache_13
117036                     srv: apache
117037
117038              The call to filter_by() would be modified as follows  to  refer‐
117039              ence those Pillar values:
117040
117041                 {% set apache = salt['grains.filter_by']({
117042                     ...
117043                 }, merge=salt['pillar.get']('apache:lookup')) %}
117044
117045              Parameters
117046
117047                     · lookup_dict --
117048
117049                       A  dictionary,  keyed by a grain, containing a value or
117050                       values relevant to systems  matching  that  grain.  For
117051                       example,  a  key  could  be the grain for an OS and the
117052                       value could the name of a package  on  that  particular
117053                       OS.
117054
117055                       Changed  in version 2016.11.0: The dictionary key could
117056                       be a globbing pattern. The  function  will  return  the
117057                       corresponding   lookup_dict  value  where  grain  value
117058                       matches the pattern. For example:
117059
117060                          # this will render 'got some salt' if Minion ID begins from 'salt'
117061                          salt '*' grains.filter_by '{salt*: got some salt, default: salt is not here}' id
117062
117063
117064
117065                     · grain --
117066
117067                       The name of a grain to match with the current  system's
117068                       grains. For example, the value of the "os_family" grain
117069                       for the current system could be  used  to  pull  values
117070                       from the lookup_dict dictionary.
117071
117072                       Changed  in version 2016.11.0: The grain value could be
117073                       a list. The function will return the lookup_dict  value
117074                       for  a first found item in the list matching one of the
117075                       lookup_dict keys.
117076
117077
117078
117079                     · merge -- A dictionary to merge with the results of  the
117080                       grain selection from lookup_dict. This allows Pillar to
117081                       override the values in the lookup_dict. This  could  be
117082                       useful,   for  example,  to  override  the  values  for
117083                       non-standard package names such as when using a differ‐
117084                       ent Python version from the default Python version pro‐
117085                       vided  by  the  OS  (e.g.,  python26-mysql  instead  of
117086                       python-mysql).
117087
117088                     · default --
117089
117090                       default  lookup_dict's  key  used if the grain does not
117091                       exists  or  if  the  grain  value  has  no   match   on
117092                       lookup_dict.  If unspecified the value is "default".
117093
117094                       New in version 2014.1.0.
117095
117096
117097
117098                     · base --
117099
117100                       A  lookup_dict  key  to use for a base dictionary.  The
117101                       grain-selected lookup_dict is merged over this and then
117102                       finally  the  merge  dictionary is merged.  This allows
117103                       common values for each case to be collected in the base
117104                       and  overridden  by  the grain selection dictionary and
117105                       the merge dictionary.  Default is unset.
117106
117107                       New in version 2015.5.0.
117108
117109
117110
117111              CLI Example:
117112
117113                 salt '*' grains.filter_by '{Debian: Debheads rule, RedHat: I love my hat}'
117114                 # this one will render {D: {E: I, G: H}, J: K}
117115                 salt '*' grains.filter_by '{A: B, C: {D: {E: F, G: H}}}' 'xxx' '{D: {E: I}, J: K}' 'C'
117116                 # next one renders {A: {B: G}, D: J}
117117                 salt '*' grains.filter_by '{default: {A: {B: C}, D: E}, F: {A: {B: G}}, H: {D: I}}' 'xxx' '{D: J}' 'F' 'default'
117118                 # next same as above when default='H' instead of 'F' renders {A: {B: C}, D: J}
117119
117120       salt.modules.grains.get(key, default=u'', delimiter=':', ordered=True)
117121              Attempt to retrieve the named value from grains,  if  the  named
117122              value  is  not  available return the passed default. The default
117123              return is an empty string.
117124
117125              The value can also represent a value in a nested  dict  using  a
117126              ":"  delimiter for the dict. This means that if a dict in grains
117127              looks like this:
117128
117129                 {'pkg': {'apache': 'httpd'}}
117130
117131              To retrieve the value associated with the apache key in the  pkg
117132              dict this key can be passed:
117133
117134                 pkg:apache
117135
117136              Parameters
117137
117138                     · delimiter --
117139
117140                       Specify an alternate delimiter to use when traversing a
117141                       nested dict.  This is useful for when the  desired  key
117142                       contains a colon. See CLI example below for usage.
117143
117144                       New in version 2014.7.0.
117145
117146
117147
117148                     · ordered --
117149
117150                       Outputs an ordered dict if applicable (default: True)
117151
117152                       New in version 2016.11.0.
117153
117154
117155
117156              CLI Example:
117157
117158                 salt '*' grains.get pkg:apache
117159                 salt '*' grains.get abc::def|ghi delimiter='|'
117160
117161       salt.modules.grains.get_or_set_hash(name,  length=8, chars=u'abcdefghi‐
117162       jklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)')
117163              Perform a one-time generation of a hash  and  write  it  to  the
117164              local  grains.   If  that  grain has already been set return the
117165              value instead.
117166
117167              This is useful for generating passwords or keys  that  are  spe‐
117168              cific  to a single minion that don't need to be stored somewhere
117169              centrally.
117170
117171              State Example:
117172
117173                 some_mysql_user:
117174                   mysql_user:
117175                     - present
117176                     - host: localhost
117177                     - password: {{ salt['grains.get_or_set_hash']('mysql:some_mysql_user') }}
117178
117179              CLI Example:
117180
117181                 salt '*' grains.get_or_set_hash 'django:SECRET_KEY' 50
117182
117183              WARNING:
117184                 This function could return strings which may contain  charac‐
117185                 ters  which  are  reserved  as directives by the YAML parser,
117186                 such as strings beginning with %. To avoid issues when  using
117187                 the  output  of  this  function  in  an  SLS  file containing
117188                 YAML+Jinja, surround the call with single quotes.
117189
117190       salt.modules.grains.has_value(key)
117191              Determine whether a key exists in the grains dictionary.
117192
117193              Given a grains dictionary that contains the following structure:
117194
117195                 {'pkg': {'apache': 'httpd'}}
117196
117197              One would determine if the apache key in the pkg dict exists by:
117198
117199                 pkg:apache
117200
117201              CLI Example:
117202
117203                 salt '*' grains.has_value pkg:apache
117204
117205       salt.modules.grains.item(*args, **kwargs)
117206              Return one or more grains
117207
117208              CLI Example:
117209
117210                 salt '*' grains.item os
117211                 salt '*' grains.item os osrelease oscodename
117212
117213              Sanitized CLI Example:
117214
117215                 salt '*' grains.item host sanitize=True
117216
117217       salt.modules.grains.items(sanitize=False)
117218              Return all of the minion's grains
117219
117220              CLI Example:
117221
117222                 salt '*' grains.items
117223
117224              Sanitized CLI Example:
117225
117226                 salt '*' grains.items sanitize=True
117227
117228       salt.modules.grains.ls()
117229              Return a list of all available grains
117230
117231              CLI Example:
117232
117233                 salt '*' grains.ls
117234
117235       salt.modules.grains.remove(key, val, delimiter=':')
117236              New in version 0.17.0.
117237
117238
117239              Remove a value from a list in the grains config file
117240
117241              key    The grain key to remove.
117242
117243              val    The value to remove.
117244
117245              delimiter
117246                     The key can be a nested dict key. Use this  parameter  to
117247                     specify  the delimiter you use, instead of the default :.
117248                     You can now append values to a list in nested  dictionary
117249                     grains.  If the list doesn't exist at this level, it will
117250                     be created.
117251
117252                     New in version 2015.8.2.
117253
117254
117255              CLI Example:
117256
117257                 salt '*' grains.remove key val
117258
117259       salt.modules.grains.set(key, val=u'',  force=False,  destructive=False,
117260       delimiter=':')
117261              Set  a  key  to  an  arbitrary value. It is used like setval but
117262              works with nested keys.
117263
117264              This function is conservative. It will only overwrite  an  entry
117265              if  its  value  and  the given one are not a list or a dict. The
117266              force parameter is used to allow overwriting in all cases.
117267
117268              New in version 2015.8.0.
117269
117270
117271              Parameters
117272
117273                     · force -- Force writing over existing entry if given  or
117274                       existing values are list or dict. Defaults to False.
117275
117276                     · destructive  --  If an operation results in a key being
117277                       removed, delete the key, too. Defaults to False.
117278
117279                     · delimiter -- Specify an alternate delimiter to use when
117280                       traversing a nested dict, the default being :
117281
117282              CLI Example:
117283
117284                 salt '*' grains.set 'apps:myApp:port' 2209
117285                 salt '*' grains.set 'apps:myApp' '{port: 2209}'
117286
117287       salt.modules.grains.setval(key, val, destructive=False)
117288              Set a grains value in the grains config file
117289
117290              key    The grain key to be set.
117291
117292              val    The value to set the grain key to.
117293
117294              destructive
117295                     If  an  operation  results in a key being removed, delete
117296                     the key, too.  Defaults to False.
117297
117298              CLI Example:
117299
117300                 salt '*' grains.setval key val
117301                 salt '*' grains.setval key "{'sub-key': 'val', 'sub-key2': 'val2'}"
117302
117303       salt.modules.grains.setvals(grains, destructive=False)
117304              Set new grains values in the grains config file
117305
117306              destructive
117307                     If an operation results in a key  being  removed,  delete
117308                     the key, too.  Defaults to False.
117309
117310              CLI Example:
117311
117312                 salt '*' grains.setvals "{'key1': 'val1', 'key2': 'val2'}"
117313
117314   salt.modules.groupadd
117315       Manage groups on Linux, OpenBSD and NetBSD
117316
117317       IMPORTANT:
117318          If  you  feel that Salt should be using this module to manage groups
117319          on a minion, and it is using a different module (or gives  an  error
117320          similar to 'group.info' is not available), see here.
117321
117322       salt.modules.groupadd.add(name, gid=None, system=False, root=None)
117323              Add the specified group
117324
117325              name   Name of the new group
117326
117327              gid    Use GID for the new group
117328
117329              system Create a system account
117330
117331              root   Directory to chroot into
117332
117333              CLI Example:
117334
117335                 salt '*' group.add foo 3456
117336
117337       salt.modules.groupadd.adduser(name, username, root=None)
117338              Add a user in the group.
117339
117340              name   Name of the group to modify
117341
117342              username
117343                     Username to add to the group
117344
117345              root   Directory to chroot into
117346
117347              CLI Example:
117348
117349                 salt '*' group.adduser foo bar
117350
117351              Verifies  if  a  valid username 'bar' as a member of an existing
117352              group 'foo', if not then adds it.
117353
117354       salt.modules.groupadd.chgid(name, gid, root=None)
117355              Change the gid for a named group
117356
117357              name   Name of the group to modify
117358
117359              gid    Change the group ID to GID
117360
117361              root   Directory to chroot into
117362
117363              CLI Example:
117364
117365                 salt '*' group.chgid foo 4376
117366
117367       salt.modules.groupadd.delete(name, root=None)
117368              Remove the named group
117369
117370              name   Name group to delete
117371
117372              root   Directory to chroot into
117373
117374              CLI Example:
117375
117376                 salt '*' group.delete foo
117377
117378       salt.modules.groupadd.deluser(name, username, root=None)
117379              Remove a user from the group.
117380
117381              name   Name of the group to modify
117382
117383              username
117384                     Username to delete from the group
117385
117386              root   Directory to chroot into
117387
117388              CLI Example:
117389
117390                 salt '*' group.deluser foo bar
117391
117392              Removes a member user 'bar' from a group 'foo'. If group is  not
117393              present then returns True.
117394
117395       salt.modules.groupadd.getent(refresh=False, root=None)
117396              Return info on all groups
117397
117398              refresh
117399                     Force a refresh of group information
117400
117401              root   Directory to chroot into
117402
117403              CLI Example:
117404
117405                 salt '*' group.getent
117406
117407       salt.modules.groupadd.info(name, root=None)
117408              Return information about a group
117409
117410              name   Name of the group
117411
117412              root   Directory to chroot into
117413
117414              CLI Example:
117415
117416                 salt '*' group.info foo
117417
117418       salt.modules.groupadd.members(name, members_list, root=None)
117419              Replaces members of the group with a provided list.
117420
117421              name   Name of the group to modify
117422
117423              members_list
117424                     Username list to set into the group
117425
117426              root   Directory to chroot into
117427
117428              CLI Example:
117429                 salt '*' group.members foo 'user1,user2,user3,...'
117430
117431              Replaces a membership list for a local group 'foo'.
117432                     foo:x:1234:user1,user2,user3,...
117433
117434   salt.modules.grub_legacy
117435       Support for GRUB Legacy
117436
117437       salt.modules.grub_legacy.conf()
117438              Parse GRUB conf file
117439
117440              CLI Example:
117441
117442                 salt '*' grub.conf
117443
117444       salt.modules.grub_legacy.version()
117445              Return server version from grub --version
117446
117447              CLI Example:
117448
117449                 salt '*' grub.version
117450
117451   salt.modules.guestfs
117452       Interact with virtual machine images via libguestfs
117453
117454       depends
117455
117456              · libguestfs
117457
117458       salt.modules.guestfs.mount(location, access=u'rw', root=None)
117459              Mount an image
117460
117461              CLI Example:
117462
117463                 salt '*' guest.mount /srv/images/fedora.qcow
117464
117465   salt.modules.hadoop
117466       Support for hadoop
117467
117468       maintainer
117469              Yann Jouanin <yann.jouanin@intelunix.fr>
117470
117471       maturity
117472              new
117473
117474       depends
117475
117476       platform
117477              linux
117478
117479       salt.modules.hadoop.dfs(command=None, *args)
117480              Execute a command on DFS
117481
117482              CLI Example:
117483
117484                 salt '*' hadoop.dfs ls /
117485
117486       salt.modules.hadoop.dfs_absent(path)
117487              Check if a file or directory is absent on the distributed FS.
117488
117489              CLI Example:
117490
117491                 salt '*' hadoop.dfs_absent /some_random_file
117492
117493              Returns True if the file is absent
117494
117495       salt.modules.hadoop.dfs_present(path)
117496              Check if a file or directory is present on the distributed FS.
117497
117498              CLI Example:
117499
117500                 salt '*' hadoop.dfs_present /some_random_file
117501
117502              Returns True if the file is present
117503
117504       salt.modules.hadoop.dfsadmin_report(arg=None)
117505              New in version 2019.2.0.
117506
117507
117508              Reports  basic  filesystem  information and statistics. Optional
117509              flags may be used to filter the list of displayed DataNodes.
117510
117511              arg    [live] [dead] [decommissioning]
117512
117513              CLI Example:
117514
117515                 salt '*' hadoop.dfsadmin -report
117516
117517       salt.modules.hadoop.namenode_format(force=None)
117518              Format a name node
117519
117520                 salt '*' hadoop.namenode_format force=True
117521
117522       salt.modules.hadoop.version()
117523              Return version from hadoop version
117524
117525              CLI Example:
117526
117527                 salt '*' hadoop.version
117528
117529   salt.modules.haproxyconn
117530       Support for haproxy
117531
117532       New in version 2014.7.0.
117533
117534
117535       salt.modules.haproxyconn.disable_server(name,                  backend,
117536       socket=u'/var/run/haproxy.sock')
117537              Disable server in haproxy.
117538
117539              name   Server to disable
117540
117541              backend
117542                     haproxy backend, or all backends if "*" is supplied
117543
117544              socket haproxy stats socket, default /var/run/haproxy.sock
117545
117546              CLI Example:
117547
117548                 salt '*' haproxy.disable_server db1.example.com mysql
117549
117550       salt.modules.haproxyconn.enable_server(name,                   backend,
117551       socket=u'/var/run/haproxy.sock')
117552              Enable Server in haproxy
117553
117554              name   Server to enable
117555
117556              backend
117557                     haproxy backend, or all backends if "*" is supplied
117558
117559              socket haproxy stats socket, default /var/run/haproxy.sock
117560
117561              CLI Example:
117562
117563                 salt '*' haproxy.enable_server web1.example.com www
117564
117565       salt.modules.haproxyconn.get_backend(backend,
117566       socket=u'/var/run/haproxy.sock')
117567              Receive information about a specific backend.
117568
117569              backend
117570                     haproxy backend
117571
117572              socket haproxy stats socket, default /var/run/haproxy.sock
117573
117574              CLI Example:
117575
117576                 salt '*' haproxy.get_backend mysql
117577
117578       salt.modules.haproxyconn.get_sessions(name,                    backend,
117579       socket=u'/var/run/haproxy.sock')
117580              New in version 2016.11.0.
117581
117582
117583              Get number of current sessions on server in backend (scur)
117584
117585              name   Server name
117586
117587              backend
117588                     haproxy backend
117589
117590              socket haproxy stats socket, default /var/run/haproxy.sock
117591
117592              CLI Example:
117593
117594                 salt '*' haproxy.get_sessions web1.example.com www
117595
117596       salt.modules.haproxyconn.get_weight(name,                      backend,
117597       socket=u'/var/run/haproxy.sock')
117598              Get server weight
117599
117600              name   Server name
117601
117602              backend
117603                     haproxy backend
117604
117605              socket haproxy stats socket, default /var/run/haproxy.sock
117606
117607              CLI Example:
117608
117609                 salt '*' haproxy.get_weight web1.example.com www
117610
117611       salt.modules.haproxyconn.list_backends(servers=True,
117612       socket=u'/var/run/haproxy.sock')
117613              List HaProxy Backends
117614
117615              socket haproxy stats socket, default /var/run/haproxy.sock
117616
117617              servers
117618                     list backends with servers
117619
117620              CLI Example:
117621
117622                 salt '*' haproxy.list_backends
117623
117624       salt.modules.haproxyconn.list_fron‐
117625       tends(socket=u'/var/run/haproxy.sock')
117626              List HaProxy frontends
117627
117628              socket haproxy stats socket, default /var/run/haproxy.sock
117629
117630              CLI Example:
117631
117632                 salt '*' haproxy.list_frontends
117633
117634       salt.modules.haproxyconn.list_servers(backend,
117635       socket=u'/var/run/haproxy.sock', objectify=False)
117636              List servers in haproxy backend.
117637
117638              backend
117639                     haproxy backend
117640
117641              socket haproxy stats socket, default /var/run/haproxy.sock
117642
117643              CLI Example:
117644
117645                 salt '*' haproxy.list_servers mysql
117646
117647       salt.modules.haproxyconn.set_state(name,        backend,         state,
117648       socket=u'/var/run/haproxy.sock')
117649              Force  a  server's administrative state to a new state. This can
117650              be useful to disable load balancing  and/or  any  traffic  to  a
117651              server.  Setting  the state to "ready" puts the server in normal
117652              mode, and the command is the equivalent of the  "enable  server"
117653              command.  Setting  the  state to "maint" disables any traffic to
117654              the server as well as any health checks. This is the  equivalent
117655              of  the  "disable  server"  command. Setting the mode to "drain"
117656              only removes the server from load balancing but still allows  it
117657              to  be checked and to accept new persistent connections. Changes
117658              are propagated to tracking servers if any.
117659
117660              name   Server name
117661
117662              backend
117663                     haproxy backend
117664
117665              state  A string of the state to set. Must be  'ready',  'drain',
117666                     or 'maint'
117667
117668              socket haproxy stats socket, default /var/run/haproxy.sock
117669
117670              CLI Example:
117671
117672                 salt '*' haproxy.set_state my_proxy_server my_backend ready
117673
117674       salt.modules.haproxyconn.set_weight(name,       backend,      weight=0,
117675       socket=u'/var/run/haproxy.sock')
117676              Set server weight
117677
117678              name   Server name
117679
117680              backend
117681                     haproxy backend
117682
117683              weight Server Weight
117684
117685              socket haproxy stats socket, default /var/run/haproxy.sock
117686
117687              CLI Example:
117688
117689                 salt '*' haproxy.set_weight web1.example.com www 13
117690
117691       salt.modules.haproxyconn.show_backends(socket=u'/var/run/haproxy.sock')
117692              Show HaProxy Backends
117693
117694              socket haproxy stats socket, default /var/run/haproxy.sock
117695
117696              CLI Example:
117697
117698                 salt '*' haproxy.show_backends
117699
117700       salt.modules.haproxyconn.show_fron‐
117701       tends(socket=u'/var/run/haproxy.sock')
117702              Show HaProxy frontends
117703
117704              socket haproxy stats socket, default /var/run/haproxy.sock
117705
117706              CLI Example:
117707
117708                 salt '*' haproxy.show_frontends
117709
117710       salt.modules.haproxyconn.wait_state(backend, server, value=u'up', time‐
117711       out=300, socket=u'/var/run/haproxy.sock')
117712              Wait for a specific server state
117713
117714              backend
117715                     haproxy backend
117716
117717              server targeted server
117718
117719              value  state value
117720
117721              timeout
117722                     timeout before giving up state value, default 5 min
117723
117724              socket haproxy stats socket, default /var/run/haproxy.sock
117725
117726              CLI Example:
117727
117728                 salt '*' haproxy.wait_state mysql server01 up 60
117729
117730   salt.modules.hashutil
117731       A collection of hashing and encoding functions
117732
117733       salt.modules.hashutil.base64_b64decode(instr)
117734              Decode a base64-encoded string using the "modern" Python  inter‐
117735              face
117736
117737              New in version 2016.3.0.
117738
117739
117740              CLI Example:
117741
117742                 salt '*' hashutil.base64_b64decode 'Z2V0IHNhbHRlZA=='
117743
117744       salt.modules.hashutil.base64_b64encode(instr)
117745              Encode a string as base64 using the "modern" Python interface.
117746
117747              Among  other possible differences, the "modern" encoder does not
117748              include newline ('n') characters in the encoded output.
117749
117750              New in version 2016.3.0.
117751
117752
117753              CLI Example:
117754
117755                 salt '*' hashutil.base64_b64encode 'get salted'
117756
117757       salt.modules.hashutil.base64_decodefile(instr, outfile)
117758              Decode a base64-encoded string and write the result to a file
117759
117760              New in version 2016.3.0.
117761
117762
117763              CLI Example:
117764
117765                 salt '*' hashutil.base64_decodefile instr='Z2V0IHNhbHRlZAo=' outfile='/path/to/binary_file'
117766
117767       salt.modules.hashutil.base64_decodestring(instr)
117768              Decode a base64-encoded  byte-like  object  using  the  "modern"
117769              Python interface
117770
117771              New in version 3000.
117772
117773
117774              CLI Example:
117775
117776                 salt '*' hashutil.base64_decodestring instr='Z2V0IHNhbHRlZAo='
117777
117778       salt.modules.hashutil.base64_encodefile(fname)
117779              Read  a file from the file system and return as a base64 encoded
117780              string
117781
117782              New in version 2016.3.0.
117783
117784
117785              Pillar example:
117786
117787                 path:
117788                   to:
117789                     data: |
117790                       {{ salt.hashutil.base64_encodefile('/path/to/binary_file') | indent(6) }}
117791
117792              The file.decode state function can be used to decode  this  data
117793              and write it to disk.
117794
117795              CLI Example:
117796
117797                 salt '*' hashutil.base64_encodefile /path/to/binary_file
117798
117799       salt.modules.hashutil.base64_encodestring(instr)
117800              Encode  a  byte-like  object as base64 using the "modern" Python
117801              interface.
117802
117803              Among other possible differences, the "modern" encoder  includes
117804              a  newline  ('n') character after every 76 characters and always
117805              at the end of the encoded byte-like object.
117806
117807              New in version 3000.
117808
117809
117810              CLI Example:
117811
117812                 salt '*' hashutil.base64_encodestring 'get salted'
117813
117814       salt.modules.hashutil.digest(instr, checksum=u'md5')
117815              Return a checksum digest for a string
117816
117817              instr  A string
117818
117819              checksum
117820                     md5 The hashing algorithm to use to  generate  checksums.
117821                     Valid options: md5, sha256, sha512.
117822
117823              CLI Example:
117824
117825                 salt '*' hashutil.digest 'get salted'
117826
117827       salt.modules.hashutil.digest_file(infile, checksum=u'md5')
117828              Return a checksum digest for a file
117829
117830              infile A file path
117831
117832              checksum
117833                     md5  The  hashing algorithm to use to generate checksums.
117834                     Wraps the hashutil.digest execution function.
117835
117836              CLI Example:
117837
117838                 salt '*' hashutil.digest_file /path/to/file
117839
117840       salt.modules.hashutil.github_signature(string,   shared_secret,   chal‐
117841       lenge_hmac)
117842              Verify   a   challenging  hmac  signature  against  a  string  /
117843              shared-secret for github webhooks.
117844
117845              New in version 2017.7.0.
117846
117847
117848              Returns a boolean if the verification succeeded or failed.
117849
117850              CLI Example:
117851
117852                 salt '*' hashutil.github_signature '{"ref":....} ' 'shared secret' 'sha1=bc6550fc290acf5b42283fa8deaf55cea0f8c206'
117853
117854       salt.modules.hashutil.hmac_compute(string, shared_secret)
117855              New in version 3000.
117856
117857
117858              Compute a HMAC SHA256 digest using a string and secret.
117859
117860              CLI Example:
117861
117862                 salt '*' hashutil.hmac_compute 'get salted' 'shared secret'
117863
117864       salt.modules.hashutil.hmac_signature(string,    shared_secret,    chal‐
117865       lenge_hmac)
117866              Verify   a   challenging  hmac  signature  against  a  string  /
117867              shared-secret
117868
117869              New in version 2014.7.0.
117870
117871
117872              Returns a boolean if the verification succeeded or failed.
117873
117874              CLI Example:
117875
117876                 salt '*' hashutil.hmac_signature 'get salted' 'shared secret' 'eBWf9bstXg+NiP5AOwppB5HMvZiYMPzEM9W5YMm/AmQ='
117877
117878       salt.modules.hashutil.md5_digest(instr)
117879              Generate an md5 hash of a given string
117880
117881              New in version 2014.7.0.
117882
117883
117884              CLI Example:
117885
117886                 salt '*' hashutil.md5_digest 'get salted'
117887
117888       salt.modules.hashutil.sha256_digest(instr)
117889              Generate an sha256 hash of a given string
117890
117891              New in version 2014.7.0.
117892
117893
117894              CLI Example:
117895
117896                 salt '*' hashutil.sha256_digest 'get salted'
117897
117898       salt.modules.hashutil.sha512_digest(instr)
117899              Generate an sha512 hash of a given string
117900
117901              New in version 2014.7.0.
117902
117903
117904              CLI Example:
117905
117906                 salt '*' hashutil.sha512_digest 'get salted'
117907
117908   salt.modules.heat module
117909       Module for handling OpenStack Heat calls
117910
117911       New in version 2017.7.0.
117912
117913
117914       depends
117915
117916              · heatclient Python module
117917
117918       configuration
117919              This module is not usable until the user, password, tenant,  and
117920              auth  URL  are  specified  either in a pillar or in the minion's
117921              config file.  For example:
117922
117923                 keystone.user: admin
117924                 keystone.password: verybadpass
117925                 keystone.tenant: admin
117926                 keystone.insecure: False   #(optional)
117927                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
117928                 # Optional
117929                 keystone.region_name: 'RegionOne'
117930
117931              If configuration for multiple OpenStack  accounts  is  required,
117932              they  can  be  set  up  as different configuration profiles: For
117933              example:
117934
117935                 openstack1:
117936                   keystone.user: admin
117937                   keystone.password: verybadpass
117938                   keystone.tenant: admin
117939                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
117940
117941                 openstack2:
117942                   keystone.user: admin
117943                   keystone.password: verybadpass
117944                   keystone.tenant: admin
117945                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
117946
117947              With this configuration in place, any of the heat functions  can
117948              make  use of a configuration profile by declaring it explicitly.
117949              For example:
117950
117951                 salt '*' heat.flavor_list profile=openstack1
117952
117953       salt.modules.heat.create_stack(name=None, template_file=None,  environ‐
117954       ment=None,  parameters=None,  poll=0,  rollback=False, timeout=60, pro‐
117955       file=None)
117956              Create a stack (heat stack-create)
117957
117958              name   Name of the new stack
117959
117960              template_file
117961                     File of template
117962
117963              environment
117964                     File of environment
117965
117966              parameters
117967                     Parameter dict used to create the stack
117968
117969              poll   Poll and report events until stack complete
117970
117971              rollback
117972                     Enable rollback on create failure
117973
117974              timeout
117975                     Stack creation timeout in minutes
117976
117977              profile
117978                     Profile to build on
117979
117980              CLI Example:
117981
117982                 salt '*' heat.create_stack name=mystack \
117983                          template_file=salt://template.yaml \
117984                          environment=salt://environment.yaml \
117985                          parameters="{"image": "Debian 8", "flavor": "m1.small"}" \
117986                          poll=5 rollback=False timeout=60 profile=openstack1
117987
117988              New in version 2017.7.5,2018.3.1: The spelling mistake in param‐
117989              eter  enviroment  was  corrected to environment.  The enviroment
117990              spelling mistake has been removed in Salt 3000.
117991
117992
117993       salt.modules.heat.delete_stack(name=None,  poll=0,   timeout=60,   pro‐
117994       file=None)
117995              Delete a stack (heat stack-delete)
117996
117997              name   Name of the stack
117998
117999              poll   Poll and report events until stack complete
118000
118001              timeout
118002                     Stack creation timeout in minute
118003
118004              profile
118005                     Profile to use
118006
118007              CLI Examples:
118008
118009                 salt '*' heat.delete_stack name=mystack poll=5 \
118010                          profile=openstack1
118011
118012       salt.modules.heat.list_stack(profile=None)
118013              Return a list of available stack (heat stack-list)
118014
118015              profile
118016                     Profile to use
118017
118018              CLI Example:
118019
118020                 salt '*' heat.list_stack profile=openstack1
118021
118022       salt.modules.heat.show_stack(name=None, profile=None)
118023              Return details about a specific stack (heat stack-show)
118024
118025              name   Name of the stack
118026
118027              profile
118028                     Profile to use
118029
118030              CLI Example:
118031
118032                 salt '*' heat.show_stack name=mystack profile=openstack1
118033
118034       salt.modules.heat.template_stack(name=None, profile=None)
118035              Return template a specific stack (heat stack-template)
118036
118037              name   Name of the stack
118038
118039              profile
118040                     Profile to use
118041
118042              CLI Example:
118043
118044                 salt '*' heat.template_stack name=mystack profile=openstack1
118045
118046       salt.modules.heat.update_stack(name=None,  template_file=None, environ‐
118047       ment=None, parameters=None, poll=0,  rollback=False,  timeout=60,  pro‐
118048       file=None)
118049              Update a stack (heat stack-template)
118050
118051              name   Name of the  stack
118052
118053              template_file
118054                     File of template
118055
118056              environment
118057                     File of environment
118058
118059              parameters
118060                     Parameter dict used to update the stack
118061
118062              poll   Poll and report events until stack complete
118063
118064              rollback
118065                     Enable rollback on update failure
118066
118067              timeout
118068                     Stack creation timeout in minutes
118069
118070              profile
118071                     Profile to build on
118072
118073              CLI Example:
118074
118075                 salt '*' heat.update_stack name=mystack \
118076                          template_file=salt://template.yaml \
118077                          environment=salt://environment.yaml \
118078                          parameters="{"image": "Debian 8", "flavor": "m1.small"}" \
118079                          poll=5 rollback=False timeout=60 profile=openstack1
118080
118081              New in version 2017.7.5,2018.3.1: The spelling mistake in param‐
118082              eter enviroment was corrected to  environment.   The  enviroment
118083              spelling mistake has been removed in Salt 3000.
118084
118085
118086   salt.modules.hg
118087       Support for the Mercurial SCM
118088
118089       salt.modules.hg.archive(cwd, output, rev=u'tip', fmt=None, prefix=None,
118090       user=None)
118091              Export a tarball from the repository
118092
118093              cwd    The path to the Mercurial repository
118094
118095              output The path to the archive tarball
118096
118097              rev: tip
118098                     The revision to create an archive from
118099
118100              fmt: None
118101                     Format of the resulting archive. Mercurial supports: tar,
118102                     tbz2, tgz, zip, uzip, and files formats.
118103
118104              prefix None Prepend <prefix>/ to every filename in the archive
118105
118106              user   None Run hg as a user other than what the minion runs as
118107
118108              If  prefix  is  not specified it defaults to the basename of the
118109              repo directory.
118110
118111              CLI Example:
118112
118113                 salt '*' hg.archive /path/to/repo output=/tmp/archive.tgz fmt=tgz
118114
118115       salt.modules.hg.clone(cwd,  repository,  opts=None,  user=None,   iden‐
118116       tity=None)
118117              Clone a new repository
118118
118119              cwd    The path to the Mercurial repository
118120
118121              repository
118122                     The hg URI of the repository
118123
118124              opts   None Any additional options to add to the command line
118125
118126              user   None Run hg as a user other than what the minion runs as
118127
118128              identity
118129                     None Private SSH key on the minion server for authentica‐
118130                     tion (ssh://)
118131
118132                     New in version 2015.5.0.
118133
118134
118135              CLI Example:
118136
118137                 salt '*' hg.clone /path/to/repo https://bitbucket.org/birkenfeld/sphinx
118138
118139       salt.modules.hg.describe(cwd, rev=u'tip', user=None)
118140              Mimic git describe and return an identifier for the given  revi‐
118141              sion
118142
118143              cwd    The path to the Mercurial repository
118144
118145              rev: tip
118146                     The path to the archive tarball
118147
118148              user   None Run hg as a user other than what the minion runs as
118149
118150              CLI Example:
118151
118152                 salt '*' hg.describe /path/to/repo
118153
118154       salt.modules.hg.pull(cwd,  opts=None, user=None, identity=None, reposi‐
118155       tory=None)
118156              Perform a pull on the given repository
118157
118158              cwd    The path to the Mercurial repository
118159
118160              repository
118161                     None Perform pull  from  the  repository  different  from
118162                     .hg/hgrc:[paths]:default
118163
118164              opts   None Any additional options to add to the command line
118165
118166              user   None Run hg as a user other than what the minion runs as
118167
118168              identity
118169                     None Private SSH key on the minion server for authentica‐
118170                     tion (ssh://)
118171
118172                     New in version 2015.5.0.
118173
118174
118175              CLI Example:
118176
118177                 salt '*' hg.pull /path/to/repo opts=-u
118178
118179       salt.modules.hg.revision(cwd, rev=u'tip', short=False, user=None)
118180              Returns the long hash of a given identifier (hash, branch,  tag,
118181              HEAD, etc)
118182
118183              cwd    The path to the Mercurial repository
118184
118185              rev: tip
118186                     The revision
118187
118188              short: False
118189                     Return an abbreviated commit hash
118190
118191              user   None Run hg as a user other than what the minion runs as
118192
118193              CLI Example:
118194
118195                 salt '*' hg.revision /path/to/repo mybranch
118196
118197       salt.modules.hg.status(cwd, opts=None, user=None)
118198              Show changed files of the given repository
118199
118200              cwd    The path to the Mercurial repository
118201
118202              opts   None Any additional options to add to the command line
118203
118204              user   None Run hg as a user other than what the minion runs as
118205
118206              CLI Example:
118207
118208                 salt '*' hg.status /path/to/repo
118209
118210       salt.modules.hg.update(cwd, rev, force=False, user=None)
118211              Update to a given revision
118212
118213              cwd    The path to the Mercurial repository
118214
118215              rev    The revision to update to
118216
118217              force  False Force an update
118218
118219              user   None Run hg as a user other than what the minion runs as
118220
118221              CLI Example:
118222
118223                 salt devserver1 hg.update /path/to/repo somebranch
118224
118225   salt.modules.hosts
118226       Manage the information in the hosts file
118227
118228       salt.modules.hosts.add_host(ip, alias)
118229              Add  a  host  to an existing entry, if the entry is not in place
118230              then create it with the given host
118231
118232              CLI Example:
118233
118234                 salt '*' hosts.add_host <ip> <alias>
118235
118236       salt.modules.hosts.get_alias(ip)
118237              Return the list of aliases associated with an ip
118238
118239              Aliases (host names) are returned in the  order  in  which  they
118240              appear  in  the  hosts file.  If there are no aliases associated
118241              with the IP, an empty list is returned.
118242
118243              CLI Example:
118244
118245                 salt '*' hosts.get_alias <ip addr>
118246
118247       salt.modules.hosts.get_ip(host)
118248              Return the ip associated with the named host
118249
118250              CLI Example:
118251
118252                 salt '*' hosts.get_ip <hostname>
118253
118254       salt.modules.hosts.has_pair(ip, alias)
118255              Return true if the alias is set
118256
118257              CLI Example:
118258
118259                 salt '*' hosts.has_pair <ip> <alias>
118260
118261       salt.modules.hosts.list_hosts()
118262              Return the hosts found in the hosts file in this format:
118263
118264                 {'<ip addr>': ['alias1', 'alias2', ...]}
118265
118266              CLI Example:
118267
118268                 salt '*' hosts.list_hosts
118269
118270       salt.modules.hosts.rm_host(ip, alias)
118271              Remove a host entry from the hosts file
118272
118273              CLI Example:
118274
118275                 salt '*' hosts.rm_host <ip> <alias>
118276
118277       salt.modules.hosts.set_host(ip, alias)
118278              Set the host entry in the hosts file for the given ip, this will
118279              overwrite any previous entry for the given ip
118280
118281              Changed  in version 2016.3.0: If alias does not include any host
118282              names (it is the empty string or contains only whitespace),  all
118283              entries for the given IP address are removed.
118284
118285
118286              CLI Example:
118287
118288                 salt '*' hosts.set_host <ip> <alias>
118289
118290   salt.modules.http
118291       Module  for  making  various web calls. Primarily designed for webhooks
118292       and the like, but also useful for basic http testing.
118293
118294       New in version 2015.5.0.
118295
118296
118297       salt.modules.http.query(url, **kwargs)
118298              New in version 2015.5.0.
118299
118300
118301              Query a resource, and decode the return data
118302
118303              Passes   through   all   the   parameters   described   in   the
118304              utils.http.query function:
118305
118306              salt.utils.http.query(url,      method=u'GET',      params=None,
118307              data=None, data_file=None,  header_dict=None,  header_list=None,
118308              header_file=None,   username=None,   password=None,   auth=None,
118309              decode=False, decode_type=u'auto', status=False,  headers=False,
118310              text=False, cookies=None, cookie_jar=None, cookie_format=u'lwp',
118311              persist_session=False,    session_cookie_jar=None,     data_ren‐
118312              der=False,  data_renderer=None, header_render=False, header_ren‐
118313              derer=None,   template_dict=None,   test=False,   test_url=None,
118314              node=u'minion',   port=80,   opts=None,   backend=None,  ca_bun‐
118315              dle=None,  verify_ssl=None,  cert=None,   text_out=None,   head‐
118316              ers_out=None,   decode_out=None,  stream=False,  streaming_call‐
118317              back=None,          header_callback=None,          handle=False,
118318              agent=u'Salt/3000.1',  hide_fields=None, raise_error=True, form‐
118319              data=False,   formdata_fieldname=None,   formdata_filename=None,
118320              **kwargs)
118321                     Query a resource, and decode the return data
118322
118323              raise_error
118324                     True  If  False,  and if a connection cannot be made, the
118325                     error will be suppressed and the body of the return  will
118326                     simply be None.
118327
118328              CLI Example:
118329
118330                 salt '*' http.query http://somelink.com/
118331                 salt '*' http.query http://somelink.com/ method=POST             params='key1=val1&key2=val2'
118332                 salt '*' http.query http://somelink.com/ method=POST             data='<xml>somecontent</xml>'
118333
118334       salt.modules.http.update_ca_bundle(target=None,            source=None,
118335       merge_files=None)
118336              Update the local CA bundle file from a URL
118337
118338              New in version 2015.5.0.
118339
118340
118341              CLI Example:
118342
118343                 salt '*' http.update_ca_bundle
118344                 salt '*' http.update_ca_bundle target=/path/to/cacerts.pem
118345                 salt '*' http.update_ca_bundle source=https://example.com/cacerts.pem
118346
118347              If the target is not specified,  it  will  be  pulled  from  the
118348              ca_cert  configuration  variable  available to the minion. If it
118349              cannot be found there, it will be placed at  <<FILE_ROOTS>>/cac‐
118350              erts.pem.
118351
118352              If  the  source  is  not  specified,  it will be pulled from the
118353              ca_cert_url configuration variable available to the  minion.  If
118354              it cannot be found, it will be downloaded from the cURL website,
118355              using an http (not https) URL. USING THE DEFAULT URL  SHOULD  BE
118356              AVOIDED!
118357
118358              merge_files  may  also  be specified, which includes a string or
118359              list of strings representing a file or files to be  appended  to
118360              the end of the CA bundle, once it is downloaded.
118361
118362              CLI Example:
118363
118364                 salt '*' http.update_ca_bundle merge_files=/path/to/mycert.pem
118365
118366       salt.modules.http.wait_for_successful_query(url,          wait_for=300,
118367       **kwargs)
118368              Query a resource until a successful  response,  and  decode  the
118369              return data
118370
118371              CLI Example:
118372
118373                 salt '*' http.wait_for_successful_query http://somelink.com/ wait_for=160 request_interval=1
118374
118375   salt.modules.ifttt
118376       Support for IFTTT
118377
118378       New in version 2015.8.0.
118379
118380
118381       Requires an api_key in /etc/salt/minion:
118382
118383          ifttt:
118384            secret_key: '280d4699-a817-4719-ba6f-ca56e573e44f'
118385
118386       salt.modules.ifttt.trigger_event(event=None, **kwargs)
118387              Trigger a configured event in IFTTT.
118388
118389              Parameters
118390                     event -- The name of the event to trigger.
118391
118392              Returns
118393                     A  dictionary  with status, text, and error if result was
118394                     failure.
118395
118396   salt.modules.ilo
118397       Manage HP ILO
118398
118399       depends
118400              hponcfg (SmartStart Scripting Toolkit Linux Edition)
118401
118402       salt.modules.ilo.change_password(username, password)
118403              Reset a users password
118404
118405              CLI Example:
118406
118407                 salt '*' ilo.change_password damianMyerscough
118408
118409       salt.modules.ilo.change_username(old_username, new_username)
118410              Change a username
118411
118412              CLI Example:
118413
118414                 salt '*' ilo.change_username damian diana
118415
118416       salt.modules.ilo.configure_network(ip, netmask, gateway)
118417              Configure Network Interface
118418
118419              CLI Example:
118420
118421                 salt '*' ilo.configure_network [IP ADDRESS] [NETMASK] [GATEWAY]
118422
118423       salt.modules.ilo.configure_snmp(community,  snmp_port=161,   snmp_trap‐
118424       port=161)
118425              Configure SNMP
118426
118427              CLI Example:
118428
118429                 salt '*' ilo.configure_snmp [COMMUNITY STRING] [SNMP PORT] [SNMP TRAP PORT]
118430
118431       salt.modules.ilo.create_user(name, password, *privileges)
118432              Create user
118433
118434              CLI Example:
118435
118436                 salt '*' ilo.create_user damian secretagent VIRTUAL_MEDIA_PRIV
118437
118438              If  no  permissions  are  specify  the  user  will  only  have a
118439              read-only account.
118440
118441              Supported privelges:
118442
118443              · ADMIN_PRIV Enables the user to administer user accounts.
118444
118445              · REMOTE_CONS_PRIV Enables the user to access the Remote Console
118446                functionality.
118447
118448              · RESET_SERVER_PRIV  Enables the user to remotely manipulate the
118449                server power setting.
118450
118451              · VIRTUAL_MEDIA_PRIV Enables the user permission to  access  the
118452                virtual media functionality.
118453
118454              · CONFIG_ILO_PRIV Enables the user to configure iLO settings.
118455
118456       salt.modules.ilo.delete_ssh_key(username)
118457              Delete a users SSH key from the ILO
118458
118459              CLI Example:
118460
118461                 salt '*' ilo.delete_user_sshkey damian
118462
118463       salt.modules.ilo.delete_user(username)
118464              Delete a user
118465
118466              CLI Example:
118467
118468                 salt '*' ilo.delete_user damian
118469
118470       salt.modules.ilo.disable_dhcp()
118471              Disable DHCP
118472
118473              CLI Example:
118474
118475                 salt '*' ilo.disable_dhcp
118476
118477       salt.modules.ilo.disable_ssh()
118478              Disable the SSH daemon
118479
118480              CLI Example:
118481
118482                 salt '*' ilo.disable_ssh
118483
118484       salt.modules.ilo.enable_dhcp()
118485              Enable DHCP
118486
118487              CLI Example:
118488
118489                 salt '*' ilo.enable_dhcp
118490
118491       salt.modules.ilo.enable_ssh()
118492              Enable the SSH daemon
118493
118494              CLI Example:
118495
118496                 salt '*' ilo.enable_ssh
118497
118498       salt.modules.ilo.get_user(username)
118499              Returns local user information, excluding the password
118500
118501              CLI Example:
118502
118503                 salt '*' ilo.get_user damian
118504
118505       salt.modules.ilo.global_settings()
118506              Show global settings
118507
118508              CLI Example:
118509
118510                 salt '*' ilo.global_settings
118511
118512       salt.modules.ilo.list_users()
118513              List all users
118514
118515              CLI Example:
118516
118517                 salt '*' ilo.list_users
118518
118519       salt.modules.ilo.list_users_info()
118520              List all users in detail
118521
118522              CLI Example:
118523
118524                 salt '*' ilo.list_users_info
118525
118526       salt.modules.ilo.network()
118527              Grab the current network settings
118528
118529              CLI Example:
118530
118531                 salt '*' ilo.network
118532
118533       salt.modules.ilo.set_http_port(port=80)
118534              Configure the port HTTP should listen on
118535
118536              CLI Example:
118537
118538                 salt '*' ilo.set_http_port 8080
118539
118540       salt.modules.ilo.set_https_port(port=443)
118541              Configure the port HTTPS should listen on
118542
118543              CLI Example:
118544
118545                 salt '*' ilo.set_https_port 4334
118546
118547       salt.modules.ilo.set_ssh_key(public_key)
118548              Configure SSH public keys for specific users
118549
118550              CLI Example:
118551
118552                 salt '*' ilo.set_ssh_key "ssh-dss AAAAB3NzaC1kc3MAAACBA... damian"
118553
118554              The  SSH public key needs to be DSA and the last argument in the
118555              key needs to be the username (case-senstive) of  the  ILO  user‐
118556              name.
118557
118558       salt.modules.ilo.set_ssh_port(port=22)
118559              Enable SSH on a user defined port
118560
118561              CLI Example:
118562
118563                 salt '*' ilo.set_ssh_port 2222
118564
118565   salt.modules.icinga2 module
118566       Module to provide icinga2 compatibility to salt.
118567
118568       New in version 2017.7.0.
118569
118570
118571       depends
118572
118573              · icinga2 server
118574
118575       salt.modules.icinga2.generate_cert(domain)
118576              Generate an icinga2 client certificate and key.
118577
118578              Returns::
118579                     icinga2    pki    new-cert    --cn    domain.tld    --key
118580                     /etc/icinga2/pki/domain.tld.key                    --cert
118581                     /etc/icinga2/pki/domain.tld.crt
118582
118583              CLI Example:
118584
118585                 salt '*' icinga2.generate_cert domain.tld
118586
118587       salt.modules.icinga2.generate_ticket(domain)
118588              Generate and save an icinga2 ticket.
118589
118590              Returns::
118591                     icinga2 pki ticket --cn domain.tld
118592
118593              CLI Example:
118594
118595                 salt '*' icinga2.generate_ticket domain.tld
118596
118597       salt.modules.icinga2.node_setup(domain, master, ticket)
118598              Setup the icinga2 node.
118599
118600              Returns::
118601                     icinga2  node  setup  --ticket  TICKET_ID --endpoint mas‐
118602                     ter.domain.tld  --zone  domain.tld   --master_host   mas‐
118603                     ter.domain.tld                              --trustedcert
118604                     /etc/icinga2/pki/trusted-master.crt
118605
118606              CLI Example:
118607
118608                 salt '*' icinga2.node_setup domain.tld master.domain.tld TICKET_ID
118609
118610       salt.modules.icinga2.request_cert(domain, master, ticket, port)
118611              Request CA cert from master icinga2 node.
118612
118613              Returns::
118614                     icinga2 pki request --host master.domain.tld --port  5665
118615                     --ticket  TICKET_ID --key /etc/icinga2/pki/domain.tld.key
118616                     --cert   /etc/icinga2/pki/domain.tld.crt    --trustedcert
118617                     /etc/icinga2/pki/trusted-master.crt                  --ca
118618                     /etc/icinga2/pki/ca.crt
118619
118620              CLI Example:
118621
118622                 salt '*' icinga2.request_cert domain.tld master.domain.tld TICKET_ID
118623
118624       salt.modules.icinga2.save_cert(domain, master)
118625              Save the certificate for master icinga2 node.
118626
118627              Returns::
118628                     icinga2           pki           save-cert           --key
118629                     /etc/icinga2/pki/domain.tld.key                    --cert
118630                     /etc/icinga2/pki/domain.tld.crt             --trustedcert
118631                     /etc/icinga2/pki/trusted-master.crt      --host      mas‐
118632                     ter.domain.tld
118633
118634              CLI Example:
118635
118636                 salt '*' icinga2.save_cert domain.tld master.domain.tld
118637
118638   salt.modules.incron
118639       Work with incron
118640
118641       salt.modules.incron.list_tab(user)
118642              Return the contents of the specified user's incrontab
118643
118644              CLI Example:
118645
118646                 salt '*' incron.list_tab root
118647
118648       salt.modules.incron.ls(user)
118649              This function is an alias of list_tab.
118650                 Return the contents of the specified user's incrontab
118651
118652                 CLI Example:
118653
118654                     salt '*' incron.list_tab root
118655
118656       salt.modules.incron.raw_incron(user)
118657              Return the contents of the user's incrontab
118658
118659              CLI Example:
118660
118661                 salt '*' incron.raw_incron root
118662
118663       salt.modules.incron.raw_system_incron()
118664              Return the contents of the system wide incrontab
118665
118666              CLI Example:
118667
118668                 salt '*' incron.raw_system_incron
118669
118670       salt.modules.incron.rm(user, path, mask, cmd)
118671              This function is an alias of rm_job.
118672                 Remove a incron job for a  specified  user.  If  any  of  the
118673                 day/time  params  are specified, the job will only be removed
118674                 if the specified params match.
118675
118676                 CLI Example:
118677
118678                     salt '*' incron.rm_job root /path
118679
118680       salt.modules.incron.rm_job(user, path, mask, cmd)
118681              Remove a incron job for a specified user. If any of the day/time
118682              params are specified, the job will only be removed if the speci‐
118683              fied params match.
118684
118685              CLI Example:
118686
118687                 salt '*' incron.rm_job root /path
118688
118689       salt.modules.incron.set_job(user, path, mask, cmd)
118690              Sets an incron job up for a specified user.
118691
118692              CLI Example:
118693
118694                 salt '*' incron.set_job root '/root' 'IN_MODIFY' 'echo "$$ $@ $# $% $&"'
118695
118696       salt.modules.incron.write_incron_file(user, path)
118697              Writes the contents of a file to a user's incrontab
118698
118699              CLI Example:
118700
118701                 salt '*' incron.write_incron_file root /tmp/new_incron
118702
118703       salt.modules.incron.write_incron_file_verbose(user, path)
118704              Writes the contents of a file to a user's incrontab  and  return
118705              error message on error
118706
118707              CLI Example:
118708
118709                 salt '*' incron.write_incron_file_verbose root /tmp/new_incron
118710
118711   salt.modules.influxdbmod
118712       InfluxDB - A distributed time series database
118713
118714       Module  to  provide  InfluxDB  compatibility  to  Salt (compatible with
118715       InfluxDB version 0.9+)
118716
118717       depends
118718
118719              · influxdb Python module (>= 3.0.0)
118720
118721       configuration
118722              This module accepts connection configuration details  either  as
118723              parameters  or  as configuration settings in /etc/salt/minion on
118724              the relevant minions:
118725
118726                 influxdb.host: 'localhost'
118727                 influxdb.port: 8086
118728                 influxdb.user: 'root'
118729                 influxdb.password: 'root'
118730
118731              This data can also be passed into pillar.  Options  passed  into
118732              opts will overwrite options passed into pillar.
118733
118734              Most  functions  in this module allow you to override or provide
118735              some or all of these settings via keyword arguments:
118736
118737                 salt '*' influxdb.foo_function influxdb_user='influxadmin' influxdb_password='s3cr1t'
118738
118739              would override user and password while still using the  defaults
118740              for host and port.
118741
118742       salt.modules.influxdbmod.alter_retention_policy(database,  name,  dura‐
118743       tion, replication, default=False, **client_args)
118744              Modify an existing retention policy.
118745
118746              name   Name of the retention policy to modify.
118747
118748              database
118749                     Name of the database for which the retention  policy  was
118750                     defined.
118751
118752              duration
118753                     New duration of given retention policy.
118754
118755                     Durations  such as 1h, 90m, 12h, 7d, and 4w, are all sup‐
118756                     ported and mean 1 hour, 90 minutes, 12 hours, 7 day,  and
118757                     4  weeks,  respectively. For infinite retention – meaning
118758                     the data will never be deleted – use 'INF' for  duration.
118759                     The minimum retention period is 1 hour.
118760
118761              replication
118762                     New replication of given retention policy.
118763
118764                     This  determines how many independent copies of each data
118765                     point are stored in a cluster.
118766
118767              default
118768                     False Whether or  not  to  set  the  modified  policy  as
118769                     default.
118770
118771              CLI Example:
118772
118773                 salt '*' influxdb.alter_retention_policy metrics default 1d 1
118774
118775       salt.modules.influxdbmod.continuous_query_exists(database,        name,
118776       **client_args)
118777              Check if continuous query with given name exists  on  the  data‐
118778              base.
118779
118780              database
118781                     Name  of  the database for which the continuous query was
118782                     defined.
118783
118784              name   Name of the continuous query to check.
118785
118786              CLI Example:
118787
118788                 salt '*' influxdb.continuous_query_exists metrics default
118789
118790       salt.modules.influxdbmod.create_continuous_query(database, name, query,
118791       resample_time=None, coverage_period=None, **client_args)
118792              Create a continuous query.
118793
118794              database
118795                     Name  of the database for which the continuous query will
118796                     be created on.
118797
118798              name   Name of the continuous query to create.
118799
118800              query  The continuous query string.
118801
118802              resample_time
118803                     None Duration between continuous query resampling.
118804
118805              coverage_period
118806                     None Duration specifying time period per sample.
118807
118808              CLI Example:
118809
118810                 salt '*' influxdb.create_continuous_query mydb cq_month 'SELECT mean(*) INTO mydb.a_month.:MEASUREMENT FROM mydb.a_week./.*/ GROUP BY time(5m), *'
118811
118812       salt.modules.influxdbmod.create_db(name, **client_args)
118813              Create a database.
118814
118815              name   Name of the database to create.
118816
118817              CLI Example:
118818
118819                 salt '*' influxdb.create_db <name>
118820
118821       salt.modules.influxdbmod.create_retention_policy(database, name,  dura‐
118822       tion, replication, default=False, **client_args)
118823              Create a retention policy.
118824
118825              database
118826                     Name  of the database for which the retention policy will
118827                     be created.
118828
118829              name   Name of the new retention policy.
118830
118831              duration
118832                     Duration of the new retention policy.
118833
118834                     Durations such as 1h, 90m, 12h, 7d, and 4w, are all  sup‐
118835                     ported  and mean 1 hour, 90 minutes, 12 hours, 7 day, and
118836                     4 weeks, respectively. For infinite retention  –  meaning
118837                     the  data will never be deleted – use 'INF' for duration.
118838                     The minimum retention period is 1 hour.
118839
118840              replication
118841                     Replication factor of the retention policy.
118842
118843                     This determines how many independent copies of each  data
118844                     point are stored in a cluster.
118845
118846              default
118847                     False Whether or not the policy as default will be set as
118848                     default.
118849
118850              CLI Example:
118851
118852                 salt '*' influxdb.create_retention_policy metrics default 1d 1
118853
118854       salt.modules.influxdbmod.create_user(name,     passwd,     admin=False,
118855       **client_args)
118856              Create a user.
118857
118858              name   Name of the user to create.
118859
118860              passwd Password of the new user.
118861
118862              admin  False Whether the user should have cluster administration
118863                     privileges or not.
118864
118865              CLI Example:
118866
118867                 salt '*' influxdb.create_user <name> <password>
118868                 salt '*' influxdb.create_user <name> <password> admin=True
118869
118870       salt.modules.influxdbmod.db_exists(name, **client_args)
118871              Checks if a database exists in InfluxDB.
118872
118873              name   Name of the database to check.
118874
118875              CLI Example:
118876
118877                 salt '*' influxdb.db_exists <name>
118878
118879       salt.modules.influxdbmod.drop_continuous_query(database,          name,
118880       **client_args)
118881              Drop a continuous query.
118882
118883              database
118884                     Name  of the database for which the continuous query will
118885                     be drop from.
118886
118887              name   Name of the continuous query to drop.
118888
118889              CLI Example:
118890
118891                 salt '*' influxdb.drop_continuous_query mydb my_cq
118892
118893       salt.modules.influxdbmod.drop_db(name, **client_args)
118894              Drop a database.
118895
118896              name   Name of the database to drop.
118897
118898              CLI Example:
118899
118900                 salt '*' influxdb.drop_db <name>
118901
118902       salt.modules.influxdbmod.drop_retention_policy(database,          name,
118903       **client_args)
118904              Drop a retention policy.
118905
118906              database
118907                     Name  of the database for which the retention policy will
118908                     be dropped.
118909
118910              name   Name of the retention policy to drop.
118911
118912              CLI Example:
118913
118914                 salt '*' influxdb.drop_retention_policy mydb mypr
118915
118916       salt.modules.influxdbmod.get_continuous_query(database,           name,
118917       **client_args)
118918              Get an existing continuous query.
118919
118920              database
118921                     Name  of  the database for which the continuous query was
118922                     defined.
118923
118924              name   Name of the continuous query to get.
118925
118926              CLI Example:
118927
118928                 salt '*' influxdb.get_continuous_query mydb cq_month
118929
118930       salt.modules.influxdbmod.get_retention_policy(database,           name,
118931       **client_args)
118932              Get an existing retention policy.
118933
118934              database
118935                     Name  of  the database for which the retention policy was
118936                     defined.
118937
118938              name   Name of the retention policy.
118939
118940              CLI Example:
118941
118942                 salt '*' influxdb.get_retention_policy metrics default
118943
118944       salt.modules.influxdbmod.grant_admin_privileges(name, **client_args)
118945              Grant cluster administration privileges to a user.
118946
118947              name   Name of  the  user  to  whom  admin  privileges  will  be
118948                     granted.
118949
118950              CLI Example:
118951
118952                 salt '*' influxdb.grant_admin_privileges <name>
118953
118954       salt.modules.influxdbmod.grant_privilege(database, privilege, username,
118955       **client_args)
118956              Grant a privilege on a database to a user.
118957
118958              database
118959                     Name of the database to grant the privilege on.
118960
118961              privilege
118962                     Privilege to grant. Can be  one  of  'read',  'write'  or
118963                     'all'.
118964
118965              username
118966                     Name of the user to grant the privilege to.
118967
118968       salt.modules.influxdbmod.list_dbs(**client_args)
118969              List all InfluxDB databases.
118970
118971              CLI Example:
118972
118973                 salt '*' influxdb.list_dbs
118974
118975       salt.modules.influxdbmod.list_privileges(name, **client_args)
118976              List privileges from a user.
118977
118978              name   Name of the user from whom privileges will be listed.
118979
118980              CLI Example:
118981
118982                 salt '*' influxdb.list_privileges <name>
118983
118984       salt.modules.influxdbmod.list_users(**client_args)
118985              List all users.
118986
118987              CLI Example:
118988
118989                 salt '*' influxdb.list_users
118990
118991       salt.modules.influxdbmod.query(database, query, **client_args)
118992              Execute a query.
118993
118994              database
118995                     Name of the database to query on.
118996
118997              query  InfluxQL query string.
118998
118999       salt.modules.influxdbmod.remove_user(name, **client_args)
119000              Remove a user.
119001
119002              name   Name of the user to remove
119003
119004              CLI Example:
119005
119006                 salt '*' influxdb.remove_user <name>
119007
119008       salt.modules.influxdbmod.retention_policy_exists(database,        name,
119009       **client_args)
119010              Check if retention policy with given name exists.
119011
119012              database
119013                     Name of the database for which the retention  policy  was
119014                     defined.
119015
119016              name   Name of the retention policy to check.
119017
119018              CLI Example:
119019
119020                 salt '*' influxdb.retention_policy_exists metrics default
119021
119022       salt.modules.influxdbmod.revoke_admin_privileges(name, **client_args)
119023              Revoke cluster administration privileges from a user.
119024
119025              name   Name  of  the  user  from  whom  admin privileges will be
119026                     revoked.
119027
119028              CLI Example:
119029
119030                 salt '*' influxdb.revoke_admin_privileges <name>
119031
119032       salt.modules.influxdbmod.revoke_privilege(database,  privilege,   user‐
119033       name, **client_args)
119034              Revoke a privilege on a database from a user.
119035
119036              database
119037                     Name of the database to grant the privilege on.
119038
119039              privilege
119040                     Privilege  to  grant.  Can  be  one of 'read', 'write' or
119041                     'all'.
119042
119043              username
119044                     Name of the user to grant the privilege to.
119045
119046       salt.modules.influxdbmod.set_user_password(name, passwd, **client_args)
119047              Change password of a user.
119048
119049              name   Name of the user for whom to set the password.
119050
119051              passwd New password of the user.
119052
119053              CLI Example:
119054
119055                 salt '*' influxdb.set_user_password <name> <password>
119056
119057       salt.modules.influxdbmod.user_exists(name, **client_args)
119058              Check if a user exists.
119059
119060              name   Name of the user to check.
119061
119062              CLI Example:
119063
119064                 salt '*' influxdb.user_exists <name>
119065
119066       salt.modules.influxdbmod.user_info(name, **client_args)
119067              Get information about given user.
119068
119069              name   Name of the user for which to get information.
119070
119071              CLI Example:
119072
119073                 salt '*' influxdb.user_info <name>
119074
119075   salt.modules.influxdb08mod
119076       InfluxDB - A distributed time series database
119077
119078       Module to provide  InfluxDB  compatibility  to  Salt  (compatible  with
119079       InfluxDB version 0.5-0.8)
119080
119081       New in version 2014.7.0.
119082
119083
119084       depends
119085
119086              · influxdb Python module (>= 1.0.0)
119087
119088       configuration
119089              This  module  accepts connection configuration details either as
119090              parameters or as configuration settings in  /etc/salt/minion  on
119091              the relevant minions:
119092
119093                 influxdb08.host: 'localhost'
119094                 influxdb08.port: 8086
119095                 influxdb08.user: 'root'
119096                 influxdb08.password: 'root'
119097
119098              This  data  can  also be passed into pillar. Options passed into
119099              opts will overwrite options passed into pillar.
119100
119101       salt.modules.influxdb08mod.db_create(name,  user=None,   password=None,
119102       host=None, port=None)
119103              Create a database
119104
119105              name   Database name to create
119106
119107              user   The user to connect as
119108
119109              password
119110                     The password of the user
119111
119112              host   The host to connect to
119113
119114              port   The port to connect to
119115
119116              CLI Example:
119117
119118                 salt '*' influxdb08.db_create <name>
119119                 salt '*' influxdb08.db_create <name> <user> <password> <host> <port>
119120
119121       salt.modules.influxdb08mod.db_exists(name,   user=None,  password=None,
119122       host=None, port=None)
119123              Checks if a database exists in Influxdb
119124
119125              name   Database name to create
119126
119127              user   The user to connect as
119128
119129              password
119130                     The password of the user
119131
119132              host   The host to connect to
119133
119134              port   The port to connect to
119135
119136              CLI Example:
119137
119138                 salt '*' influxdb08.db_exists <name>
119139                 salt '*' influxdb08.db_exists <name> <user> <password> <host> <port>
119140
119141       salt.modules.influxdb08mod.db_list(user=None, password=None, host=None,
119142       port=None)
119143              List all InfluxDB databases
119144
119145              user   The user to connect as
119146
119147              password
119148                     The password of the user
119149
119150              host   The host to connect to
119151
119152              port   The port to connect to
119153
119154              CLI Example:
119155
119156                 salt '*' influxdb08.db_list
119157                 salt '*' influxdb08.db_list <user> <password> <host> <port>
119158
119159       salt.modules.influxdb08mod.db_remove(name,   user=None,  password=None,
119160       host=None, port=None)
119161              Remove a database
119162
119163              name   Database name to remove
119164
119165              user   The user to connect as
119166
119167              password
119168                     The password of the user
119169
119170              host   The host to connect to
119171
119172              port   The port to connect to
119173
119174              CLI Example:
119175
119176                 salt '*' influxdb08.db_remove <name>
119177                 salt '*' influxdb08.db_remove <name> <user> <password> <host> <port>
119178
119179       salt.modules.influxdb08mod.login_test(name,  password,   database=None,
119180       host=None, port=None)
119181              Checks if a credential pair can log in at all.
119182
119183              If  a  database  is  specified:  it will check for database user
119184              existence.  If a database is not specified: it  will  check  for
119185              cluster admin existence.
119186
119187              name   The user to connect as
119188
119189              password
119190                     The password of the user
119191
119192              database
119193                     The database to try to log in to
119194
119195              host   The host to connect to
119196
119197              port   The port to connect to
119198
119199              CLI Example:
119200
119201                 salt '*' influxdb08.login_test <name>
119202                 salt '*' influxdb08.login_test <name> <database>
119203                 salt '*' influxdb08.login_test <name> <database> <user> <password> <host> <port>
119204
119205       salt.modules.influxdb08mod.query(database,  query, time_precision=u's',
119206       chunked=False, user=None, password=None, host=None, port=None)
119207              Querying data
119208
119209              database
119210                     The database to query
119211
119212              query  Query to be executed
119213
119214              time_precision
119215                     Time precision to use ('s', 'm', or 'u')
119216
119217              chunked
119218                     Whether is chunked or not
119219
119220              user   The user to connect as
119221
119222              password
119223                     The password of the user
119224
119225              host   The host to connect to
119226
119227              port   The port to connect to
119228
119229              CLI Example:
119230
119231                 salt '*' influxdb08.query <database> <query>
119232                 salt '*' influxdb08.query <database> <query> <time_precision> <chunked> <user> <password> <host> <port>
119233
119234       salt.modules.influxdb08mod.retention_policy_add(database,  name,  dura‐
119235       tion,  replication, default=False, user=None, password=None, host=None,
119236       port=None)
119237              Add a retention policy.
119238
119239              database
119240                     The database to operate on.
119241
119242              name   Name of the policy to modify.
119243
119244              duration
119245                     How long InfluxDB keeps the data.
119246
119247              replication
119248                     How many copies of the data are stored in the cluster.
119249
119250              default
119251                     Whether this policy should be the default or not. Default
119252                     is False.
119253
119254              CLI Example:
119255
119256                 salt '*' influxdb.retention_policy_add metrics default 1d 1
119257
119258       salt.modules.influxdb08mod.retention_policy_alter(database, name, dura‐
119259       tion, replication, default=False, user=None, password=None,  host=None,
119260       port=None)
119261              Modify an existing retention policy.
119262
119263              database
119264                     The database to operate on.
119265
119266              name   Name of the policy to modify.
119267
119268              duration
119269                     How long InfluxDB keeps the data.
119270
119271              replication
119272                     How many copies of the data are stored in the cluster.
119273
119274              default
119275                     Whether this policy should be the default or not. Default
119276                     is False.
119277
119278              CLI Example:
119279
119280                 salt '*' influxdb08.retention_policy_modify metrics default 1d 1
119281
119282       salt.modules.influxdb08mod.retention_policy_exists(database,      name,
119283       user=None, password=None, host=None, port=None)
119284              Check if a retention policy exists.
119285
119286              database
119287                     The database to operate on.
119288
119289              name   Name of the policy to modify.
119290
119291              CLI Example:
119292
119293                 salt '*' influxdb08.retention_policy_exists metrics default
119294
119295       salt.modules.influxdb08mod.retention_policy_get(database,         name,
119296       user=None, password=None, host=None, port=None)
119297              Get an existing retention policy.
119298
119299              database
119300                     The database to operate on.
119301
119302              name   Name of the policy to modify.
119303
119304              CLI Example:
119305
119306                 salt '*' influxdb08.retention_policy_get metrics default
119307
119308       salt.modules.influxdb08mod.user_chpass(name,   passwd,   database=None,
119309       user=None, password=None, host=None, port=None)
119310              Change password for a cluster admin or a database user.
119311
119312              If  a  database is specified: it will update database user pass‐
119313              word.  If a database is not specified: it  will  update  cluster
119314              admin password.
119315
119316              name   User name for whom to change the password
119317
119318              passwd New password
119319
119320              database
119321                     The database on which to operate
119322
119323              user   The user to connect as
119324
119325              password
119326                     The password of the user
119327
119328              host   The host to connect to
119329
119330              port   The port to connect to
119331
119332              CLI Example:
119333
119334                 salt '*' influxdb08.user_chpass <name> <passwd>
119335                 salt '*' influxdb08.user_chpass <name> <passwd> <database>
119336                 salt '*' influxdb08.user_chpass <name> <passwd> <database> <user> <password> <host> <port>
119337
119338       salt.modules.influxdb08mod.user_create(name,   passwd,   database=None,
119339       user=None, password=None, host=None, port=None)
119340              Create a cluster admin or a database user.
119341
119342              If a database is specified: it will create database user.  If  a
119343              database is not specified: it will create a cluster admin.
119344
119345              name   User name for the new user to create
119346
119347              passwd Password for the new user to create
119348
119349              database
119350                     The database to create the user in
119351
119352              user   The user to connect as
119353
119354              password
119355                     The password of the user
119356
119357              host   The host to connect to
119358
119359              port   The port to connect to
119360
119361              CLI Example:
119362
119363                 salt '*' influxdb08.user_create <name> <passwd>
119364                 salt '*' influxdb08.user_create <name> <passwd> <database>
119365                 salt '*' influxdb08.user_create <name> <passwd> <database> <user> <password> <host> <port>
119366
119367       salt.modules.influxdb08mod.user_exists(name,  database=None, user=None,
119368       password=None, host=None, port=None)
119369              Checks if a cluster admin or database user exists.
119370
119371              If a database is specified: it  will  check  for  database  user
119372              existence.   If  a  database is not specified: it will check for
119373              cluster admin existence.
119374
119375              name   User name
119376
119377              database
119378                     The database to check for the user to exist
119379
119380              user   The user to connect as
119381
119382              password
119383                     The password of the user
119384
119385              host   The host to connect to
119386
119387              port   The port to connect to
119388
119389              CLI Example:
119390
119391                 salt '*' influxdb08.user_exists <name>
119392                 salt '*' influxdb08.user_exists <name> <database>
119393                 salt '*' influxdb08.user_exists <name> <database> <user> <password> <host> <port>
119394
119395       salt.modules.influxdb08mod.user_list(database=None,  user=None,   pass‐
119396       word=None, host=None, port=None)
119397              List cluster admins or database users.
119398
119399              If  a database is specified: it will return database users list.
119400              If a database is not specified: it will  return  cluster  admins
119401              list.
119402
119403              database
119404                     The database to list the users from
119405
119406              user   The user to connect as
119407
119408              password
119409                     The password of the user
119410
119411              host   The host to connect to
119412
119413              port   The port to connect to
119414
119415              CLI Example:
119416
119417                 salt '*' influxdb08.user_list
119418                 salt '*' influxdb08.user_list <database>
119419                 salt '*' influxdb08.user_list <database> <user> <password> <host> <port>
119420
119421       salt.modules.influxdb08mod.user_remove(name,  database=None, user=None,
119422       password=None, host=None, port=None)
119423              Remove a cluster admin or a database user.
119424
119425              If a database is specified: it will remove  the  database  user.
119426              If  a  database  is  not  specified:  it will remove the cluster
119427              admin.
119428
119429              name   User name to remove
119430
119431              database
119432                     The database to remove the user from
119433
119434              user   User name for the new user to delete
119435
119436              user   The user to connect as
119437
119438              password
119439                     The password of the user
119440
119441              host   The host to connect to
119442
119443              port   The port to connect to
119444
119445              CLI Example:
119446
119447                 salt '*' influxdb08.user_remove <name>
119448                 salt '*' influxdb08.user_remove <name> <database>
119449                 salt '*' influxdb08.user_remove <name> <database> <user> <password> <host> <port>
119450
119451   salt.modules.infoblox
119452       This module have been tested on infoblox API v1.2.1, other versions  of
119453       the API are likly workable.
119454
119455       depends
119456              libinfoblox, https://github.com/steverweber/libinfoblox
119457
119458              libinfoblox can be installed using pip install libinfoblox
119459
119460       API documents can be found on your infoblox server at:
119461          https://INFOBLOX/wapidoc
119462
119463       configuration
119464              The  following  configuration defaults can be defined (pillar or
119465              config files '/etc/salt/master.d/infoblox.conf'):
119466
119467                 infoblox.config:
119468                     api_sslverify: True
119469                     api_url: 'https://INFOBLOX/wapi/v1.2.1'
119470                     api_user: 'username'
119471                     api_key: 'password'
119472
119473              Many of the functions accept api_opts to override the  API  con‐
119474              fig.
119475
119476                 salt-call infoblox.get_host name=my.host.com             api_url: 'https://INFOBLOX/wapi/v1.2.1'             api_user=admin             api_key=passs
119477
119478       salt.modules.infoblox.create_a(data, **api_opts)
119479              Create A record.
119480
119481              This  is  a helper function to create_object.  See your infoblox
119482              API for full data format.
119483
119484              CLI Example:
119485
119486                 salt-call infoblox.create_a                     data =
119487                             name: 'fastlinux.math.example.ca'
119488                             ipv4addr: '127.0.0.1'
119489                             view: External
119490
119491       salt.modules.infoblox.create_cname(data, **api_opts)
119492              Create a cname record.
119493
119494              CLI Example:
119495
119496                 salt-call infoblox.create_cname data={             "comment": "cname to example server",             "name": "example.example.com",             "zone": "example.com",             "view": "Internal",             "canonical": "example-ha-0.example.com"         }
119497
119498       salt.modules.infoblox.create_host(data, **api_opts)
119499              Add host record
119500
119501              Avoid   race   conditions,    use    func:nextavailableip    for
119502              ipv[4,6]addrs:
119503
119504              · func:nextavailableip:network/ZG54dfgsrDFEFfsfs‐
119505                LzA:10.0.0.0/8/default
119506
119507              · func:nextavailableip:10.0.0.0/8
119508
119509              · func:nextavailableip:10.0.0.0/8,external
119510
119511              · func:nextavailableip:10.0.0.3-10.0.0.10
119512
119513              See your infoblox API for full data format.
119514
119515              CLI Example:
119516
119517                 salt-call infoblox.create_host             data =
119518                         {'name': 'hostname.example.ca',
119519                         'aliases': ['hostname.math.example.ca'],
119520                     'extattrs': [{'Business Contact': {'value': 'example@example.ca'}},
119521                         {'Pol8 Classification': {'value': 'Restricted'}},
119522                         {'Primary OU': {'value': 'CS'}},
119523                         {'Technical Contact': {'value': 'example@example.ca'}}],
119524                     'ipv4addrs': [{'configure_for_dhcp': True,
119525                         'ipv4addr': 'func:nextavailableip:129.97.139.0/24',
119526                         'mac': '00:50:56:84:6e:ae'}],
119527                     'ipv6addrs': [], }
119528
119529       salt.modules.infoblox.create_ipv4_range(data, **api_opts)
119530              Create a ipv4 range
119531
119532              This is a helper function to create_object See your infoblox API
119533              for full data format.
119534
119535              CLI Example:
119536
119537                 salt-call infoblox.create_ipv4_range data={
119538                     start_addr: '129.97.150.160',
119539                     end_addr: '129.97.150.170'}
119540
119541       salt.modules.infoblox.create_object(object_type, data, **api_opts)
119542              Create raw infoblox object. This is a low level api call.
119543
119544              CLI Example:
119545
119546                 salt-call infoblox.update_object object_type=record:host  data={}
119547
119548       salt.modules.infoblox.delete_a(name=None,                ipv4addr=None,
119549       allow_array=False, **api_opts)
119550              Delete A record
119551
119552              If  the  A  record  is  used  as  a  round  robin  you  can  set
119553              allow_array=True to delete all records for the hostname.
119554
119555              CLI Examples:
119556
119557                 salt-call infoblox.delete_a name=abc.example.com
119558                 salt-call infoblox.delete_a ipv4addr=192.168.3.5
119559                 salt-call infoblox.delete_a name=acname.example.com allow_array=True
119560
119561       salt.modules.infoblox.delete_cname(name=None,           canonical=None,
119562       **api_opts)
119563              Delete CNAME. This is a helper call to delete_object.
119564
119565              If record is not found, return True
119566
119567              CLI Examples:
119568
119569                 salt-call infoblox.delete_cname name=example.example.com
119570                 salt-call infoblox.delete_cname canonical=example-ha-0.example.com
119571
119572       salt.modules.infoblox.delete_host(name=None,  mac=None,  ipv4addr=None,
119573       **api_opts)
119574              Delete host
119575
119576              CLI Example:
119577
119578                 salt-call infoblox.delete_host name=example.domain.com
119579                 salt-call infoblox.delete_host ipv4addr=123.123.122.12
119580                 salt-call infoblox.delete_host ipv4addr=123.123.122.12 mac=00:50:56:84:6e:ae
119581
119582       salt.modules.infoblox.delete_ipv4_range(start_addr=None, end_addr=None,
119583       **api_opts)
119584              Delete ip range.
119585
119586              CLI Example:
119587
119588                 salt-call infoblox.delete_ipv4_range start_addr=123.123.122.12
119589
119590       salt.modules.infoblox.delete_object(objref, **api_opts)
119591              Delete infoblox object. This is a low level api call.
119592
119593              CLI Example:
119594
119595                 salt-call infoblox.delete_object objref=[ref_of_object]
119596
119597       salt.modules.infoblox.diff_objects(obja, objb)
119598              Diff two complex infoblox  objects.   This  is  used  from  salt
119599              states to detect changes in objects.
119600
119601              Using  func:nextavailableip  will  not cause a diff if the ipad‐
119602              dress is in range
119603
119604       salt.modules.infoblox.get_a(name=None, ipv4addr=None, allow_array=True,
119605       **api_opts)
119606              Get A record
119607
119608              CLI Examples:
119609
119610                 salt-call infoblox.get_a name=abc.example.com
119611                 salt-call infoblox.get_a ipv4addr=192.168.3.5
119612
119613       salt.modules.infoblox.get_cname(name=None,              canonical=None,
119614       return_fields=None, **api_opts)
119615              Get CNAME information.
119616
119617              CLI Examples:
119618
119619                 salt-call infoblox.get_cname name=example.example.com
119620                 salt-call infoblox.get_cname canonical=example-ha-0.example.com
119621
119622       salt.modules.infoblox.get_host(name=None,   ipv4addr=None,    mac=None,
119623       return_fields=None, **api_opts)
119624              Get host information
119625
119626              CLI Examples:
119627
119628                 salt-call infoblox.get_host hostname.domain.ca
119629                 salt-call infoblox.get_host ipv4addr=123.123.122.12
119630                 salt-call infoblox.get_host mac=00:50:56:84:6e:ae
119631
119632       salt.modules.infoblox.get_host_advanced(name=None,       ipv4addr=None,
119633       mac=None, **api_opts)
119634              Get all host information
119635
119636              CLI Example:
119637
119638                 salt-call infoblox.get_host_advanced hostname.domain.ca
119639
119640       salt.modules.infoblox.get_host_domainname(name,           domains=None,
119641       **api_opts)
119642              Get host domain name
119643
119644              If  no domains are passed, the hostname is checked for a zone in
119645              infoblox, if no zone split on first dot.
119646
119647              If domains are provided, the best  match  out  of  the  list  is
119648              returned.
119649
119650              If none are found the return is None
119651
119652              dots at end of names are ignored.
119653
119654              CLI Example:
119655
119656                 salt-call uwl.get_host_domainname name=localhost.t.domain.com             domains=['domain.com', 't.domain.com.']
119657
119658                 # returns: t.domain.com
119659
119660       salt.modules.infoblox.get_host_hostname(name, domains=None, **api_opts)
119661              Get hostname
119662
119663              If  no domains are passed, the hostname is checked for a zone in
119664              infoblox, if no zone split on first dot.
119665
119666              If domains are provided, the best match out of the list is trun‐
119667              cated from the fqdn leaving the hostname.
119668
119669              If no matching domains are found the fqdn is returned.
119670
119671              dots at end of names are ignored.
119672
119673              CLI Examples:
119674
119675                 salt-call infoblox.get_host_hostname fqdn=localhost.xxx.t.domain.com             domains="['domain.com', 't.domain.com']"
119676                 #returns: localhost.xxx
119677
119678                 salt-call infoblox.get_host_hostname fqdn=localhost.xxx.t.domain.com
119679                 #returns: localhost
119680
119681       salt.modules.infoblox.get_host_ipv4(name=None,                mac=None,
119682       allow_array=False, **api_opts)
119683              Get ipv4 address from host record.
119684
119685              Use allow_array to return possible multiple values.
119686
119687              CLI Examples:
119688
119689                 salt-call infoblox.get_host_ipv4 host=localhost.domain.com
119690                 salt-call infoblox.get_host_ipv4 mac=00:50:56:84:6e:ae
119691
119692       salt.modules.infoblox.get_host_ipv4addr_info(ipv4addr=None,   mac=None,
119693       discovered_data=None, return_fields=None, **api_opts)
119694              Get host ipv4addr information
119695
119696              CLI Examples:
119697
119698                 salt-call infoblox.get_ipv4addr ipv4addr=123.123.122.12
119699                 salt-call infoblox.get_ipv4addr mac=00:50:56:84:6e:ae
119700                 salt-call infoblox.get_ipv4addr mac=00:50:56:84:6e:ae return_fields=host return_fields='mac,host,configure_for_dhcp,ipv4addr'
119701
119702       salt.modules.infoblox.get_host_ipv6addr_info(ipv6addr=None,   mac=None,
119703       discovered_data=None, return_fields=None, **api_opts)
119704              Get host ipv6addr information
119705
119706              CLI Example:
119707
119708                 salt-call infoblox.get_host_ipv6addr_info ipv6addr=2001:db8:85a3:8d3:1349:8a2e:370:7348
119709
119710       salt.modules.infoblox.get_host_mac(name=None,        allow_array=False,
119711       **api_opts)
119712              Get mac address from host record.
119713
119714              Use allow_array to return possible multiple values.
119715
119716              CLI Example:
119717
119718                 salt-call infoblox.get_host_mac host=localhost.domain.com
119719
119720       salt.modules.infoblox.get_ipv4_range(start_addr=None,    end_addr=None,
119721       return_fields=None, **api_opts)
119722              Get ip range
119723
119724              CLI Example:
119725
119726                 salt-call infoblox.get_ipv4_range start_addr=123.123.122.12
119727
119728       salt.modules.infoblox.get_network(ipv4addr=None,          network=None,
119729       return_fields=None, **api_opts)
119730              Get  list  of all networks. This is helpful when looking up sub‐
119731              nets to use with func:nextavailableip
119732
119733              This call is offen slow and not cached!
119734
119735              some   return_fields   comment,network,network_view,ddns_domain‐
119736              name,disable,enable_ddns
119737
119738              CLI Example:
119739
119740                 salt-call infoblox.get_network
119741
119742       salt.modules.infoblox.get_object(objref, data=None, return_fields=None,
119743       max_results=None, ensure_none_or_one_result=False, **api_opts)
119744              Get raw infoblox object. This is a low level api call.
119745
119746              CLI Example:
119747
119748                 salt-call infoblox.get_object objref=[_ref of object]
119749
119750       salt.modules.infoblox.is_ipaddr_in_ipfunc_range(ipaddr, ipfunc)
119751              Return true if the ipaddress is in the range of  the  nextavail‐
119752              ableip function
119753
119754              CLI Example:
119755
119756                 salt-call infoblox.is_ipaddr_in_ipfunc_range             ipaddr="10.0.2.2" ipfunc="func:nextavailableip:10.0.0.0/8"
119757
119758       salt.modules.infoblox.update_cname(name, data, **api_opts)
119759              Update CNAME. This is a helper call to update_object.
119760
119761              Find a CNAME _ref then call update_object with the record data.
119762
119763              CLI Example:
119764
119765                 salt-call infoblox.update_cname name=example.example.com data="{
119766                         'canonical':'example-ha-0.example.com',
119767                         'use_ttl':true,
119768                         'ttl':200,
119769                         'comment':'Salt managed CNAME'}"
119770
119771       salt.modules.infoblox.update_host(name, data, **api_opts)
119772              Update host record. This is a helper call to update_object.
119773
119774              Find a hosts _ref then call update_object with the record data.
119775
119776              CLI Example:
119777
119778                 salt-call infoblox.update_host name=fqdn data={}
119779
119780       salt.modules.infoblox.update_object(objref, data, **api_opts)
119781              Update raw infoblox object. This is a low level api call.
119782
119783              CLI Example:
119784
119785                 salt-call infoblox.update_object objref=[ref_of_object] data={}
119786
119787   salt.modules.ini_manage
119788       Edit ini files
119789
119790       maintainer
119791              <akilesh1597@gmail.com>
119792
119793       maturity
119794              new
119795
119796       depends
119797              re
119798
119799       platform
119800              all
119801
119802       (for example /etc/sysctl.conf)
119803
119804       salt.modules.ini_manage.get_ini(file_name, separator=u'=')
119805              Retrieve  whole structure from an ini file and return it as dic‐
119806              tionary.
119807
119808              API Example:
119809
119810                 import salt
119811                 sc = salt.client.get_local_client()
119812                 sc.cmd('target', 'ini.get_ini',
119813                        [path_to_ini_file])
119814
119815              CLI Example:
119816
119817                 salt '*' ini.get_ini /path/to/ini
119818
119819       salt.modules.ini_manage.get_option(file_name, section, option,  separa‐
119820       tor=u'=')
119821              Get  value  of a key from a section in an ini file. Returns None
119822              if no matching key was found.
119823
119824              API Example:
119825
119826                 import salt
119827                 sc = salt.client.get_local_client()
119828                 sc.cmd('target', 'ini.get_option',
119829                        [path_to_ini_file, section_name, option])
119830
119831              CLI Example:
119832
119833                 salt '*' ini.get_option /path/to/ini section_name option_name
119834
119835       salt.modules.ini_manage.get_section(file_name, section, separator=u'=')
119836              Retrieve a section from an ini file. Returns the section as dic‐
119837              tionary.  If  the  section  is not found, an empty dictionary is
119838              returned.
119839
119840              API Example:
119841
119842                 import salt
119843                 sc = salt.client.get_local_client()
119844                 sc.cmd('target', 'ini.get_section',
119845                        [path_to_ini_file, section_name])
119846
119847              CLI Example:
119848
119849                 salt '*' ini.get_section /path/to/ini section_name
119850
119851       salt.modules.ini_manage.remove_option(file_name, section, option, sepa‐
119852       rator=u'=')
119853              Remove  a  key/value pair from a section in an ini file. Returns
119854              the value of the removed key, or None if nothing was removed.
119855
119856              API Example:
119857
119858                 import salt
119859                 sc = salt.client.get_local_client()
119860                 sc.cmd('target', 'ini.remove_option',
119861                        [path_to_ini_file, section_name, option])
119862
119863              CLI Example:
119864
119865                 salt '*' ini.remove_option /path/to/ini section_name option_name
119866
119867       salt.modules.ini_manage.remove_section(file_name,   section,    separa‐
119868       tor=u'=')
119869              Remove  a section in an ini file. Returns the removed section as
119870              dictionary, or None if nothing was removed.
119871
119872              API Example:
119873
119874                 import salt
119875                 sc = salt.client.get_local_client()
119876                 sc.cmd('target', 'ini.remove_section',
119877                        [path_to_ini_file, section_name])
119878
119879              CLI Example:
119880
119881                 salt '*' ini.remove_section /path/to/ini section_name
119882
119883       salt.modules.ini_manage.set_option(file_name,  sections=None,   separa‐
119884       tor=u'=')
119885              Edit an ini file, replacing one or more sections. Returns a dic‐
119886              tionary containing the changes made.
119887
119888              file_name
119889                     path of ini_file
119890
119891              sections
119892                     None A dictionary representing the sections to be  edited
119893                     ini  file  The  keys are the section names and the values
119894                     are the dictionary containing the options If the ini file
119895                     does  not  contain sections the keys and values represent
119896                     the options
119897
119898              separator
119899                     = A character used to separate keys and values.  Standard
119900                     ini files use the "=" character.
119901
119902                     New in version 2016.11.0.
119903
119904
119905              API Example:
119906
119907                 import salt
119908                 sc = salt.client.get_local_client()
119909                 sc.cmd('target', 'ini.set_option',
119910                        ['path_to_ini_file', '{"section_to_change": {"key": "value"}}'])
119911
119912              CLI Example:
119913
119914                 salt '*' ini.set_option /path/to/ini '{section_foo: {key: value}}'
119915
119916   salt.modules.inspectlib package
119917   Submodules
119918   salt.modules.inspectlib.collector module
119919       class  salt.modules.inspectlib.collector.Inspector(cachedir=None,  pid‐
119920       dir=None, pidfilename=None)
119921
119922              DEFAULT_MINION_CONFIG_PATH = '/etc/salt/minion'
119923
119924              IGNORE_FS_TYPES = ['autofs', 'cifs', 'nfs', 'nfs4']
119925
119926              IGNORE_MOUNTS   =   ['proc',   'sysfs',   'devtmpfs',   'tmpfs',
119927              'fuse.gvfs-fuse-daemon']
119928
119929              IGNORE_PATHS  =  ['/tmp', '/var/tmp', '/lost+found', '/var/run',
119930              '/var/lib/rpm',  '/.snapshots',  '/.zfs',  '/etc/ssh',  '/root',
119931              '/home']
119932
119933              MODE = ['configuration', 'payload', 'all']
119934
119935              build(format='qcow2', path='/tmp')
119936                     Build an image using Kiwi.
119937
119938                     Parameters
119939
119940                            · format --
119941
119942                            · path --
119943
119944                     Returns
119945
119946
119947              create_snapshot()
119948                     Open new snapshot.
119949
119950                     Returns
119951
119952
119953              export(description, local=False, path='/tmp', format='qcow2')
119954                     Export description for Kiwi.
119955
119956                     Parameters
119957
119958                            · local --
119959
119960                            · path --
119961
119962                     Returns
119963
119964
119965              request_snapshot(mode, priority=19, **kwargs)
119966                     Take a snapshot of the system.
119967
119968              reuse_snapshot()
119969                     Open an existing, latest snapshot.
119970
119971                     Returns
119972
119973
119974              snapshot(mode)
119975                     Take a snapshot of the system.
119976
119977       salt.modules.inspectlib.collector.is_alive(pidfile)
119978              Check if PID is still alive.
119979
119980       salt.modules.inspectlib.collector.main(dbfile, pidfile, mode)
119981              Main analyzer routine.
119982
119983   salt.modules.inspectlib.dbhandle module
119984       class salt.modules.inspectlib.dbhandle.DBHandle(path)
119985
119986       class salt.modules.inspectlib.dbhandle.DBHandleBase(path)
119987              Handle  for  the  volatile database, which serves the purpose of
119988              caching the inspected data. This database can  be  destroyed  or
119989              corrupted, so it should be simply re-created from scratch.
119990
119991              close()
119992                     Close the database connection.
119993
119994              flush(table)
119995                     Flush the table.
119996
119997              open(new=False)
119998                     Init the database, if required.
119999
120000              purge()
120001                     Purge whole database.
120002
120003   salt.modules.inspectlib.exceptions module
120004       exception  salt.modules.inspectlib.exceptions.InspectorKiwiProcessorEx‐
120005       ception
120006              Kiwi builder/exporter exception.
120007
120008       exception salt.modules.inspectlib.exceptions.InspectorQueryException
120009              Exception that is only for the inspector query.
120010
120011       exception salt.modules.inspectlib.exceptions.InspectorSnapshotException
120012              Snapshot exception.
120013
120014       exception salt.modules.inspectlib.exceptions.SIException
120015              System information exception.
120016
120017   salt.modules.inspectlib.query module
120018       class salt.modules.inspectlib.query.Query(scope, cachedir=None)
120019              Query the system.  This class is actually puts all Salt features
120020              together,  so  there  would  be  no need to pick it from various
120021              places.
120022
120023              SCOPES  =  ['changes',  'configuration',  'identity',  'system',
120024              'software', 'services', 'payload', 'all']
120025
120026       class salt.modules.inspectlib.query.SysInfo(systype)
120027              System information.
120028
120029   Module contents
120030       class   salt.modules.inspectlib.EnvLoader(cachedir=None,   piddir=None,
120031       pidfilename=None)
120032              Load environment.
120033
120034              DB_FILE = '_minion_collector.db'
120035
120036              DEFAULT_CACHE_PATH = '/var/cache/salt'
120037
120038              DEFAULT_PID_PATH = '/var/run'
120039
120040              PID_FILE = '_minion_collector.pid'
120041
120042   salt.modules.inspectlib.entities module
120043       class salt.modules.inspectlib.entities.AllowedDir
120044              Allowed directories
120045
120046       class salt.modules.inspectlib.entities.IgnoredDir
120047              Ignored directories
120048
120049       class salt.modules.inspectlib.entities.Package
120050              Package.
120051
120052       class salt.modules.inspectlib.entities.PackageCfgFile
120053              Config file, belongs to the package
120054
120055       class salt.modules.inspectlib.entities.PayloadFile
120056              Payload file.
120057
120058   salt.modules.inspectlib.fsdb module
120059       codeauthor
120060              Bo Maryniuk <bo@suse.de>
120061
120062       class salt.modules.inspectlib.fsdb.CsvDB(path)
120063              File-based CSV database.  This database is  in-memory  operating
120064              relatively small plain text csv files.
120065
120066              close()
120067                     Close the database.
120068
120069                     Returns
120070
120071
120072              create_table_from_object(obj)
120073                     Create  a  table  from  the  object.   NOTE:  This method
120074                     doesn't stores anything.
120075
120076                     Parameters
120077                            obj --
120078
120079                     Returns
120080
120081
120082              delete(obj, matches=None, mt=None, lt=None, eq=None)
120083                     Delete object from the database.
120084
120085                     Parameters
120086
120087                            · obj --
120088
120089                            · matches --
120090
120091                            · mt --
120092
120093                            · lt --
120094
120095                            · eq --
120096
120097                     Returns
120098
120099
120100              flush(table)
120101                     Flush table.
120102
120103                     Parameters
120104                            table --
120105
120106                     Returns
120107
120108
120109              get(obj, matches=None, mt=None, lt=None, eq=None)
120110                     Get objects from the table.
120111
120112                     Parameters
120113
120114                            · table_name --
120115
120116                            · matches -- Regexp.
120117
120118                            · mt -- More than.
120119
120120                            · lt -- Less than.
120121
120122                            · eq -- Equals.
120123
120124                     Returns
120125
120126
120127              is_closed()
120128                     Return if the database is closed.
120129
120130                     Returns
120131
120132
120133              list() List all the databases on the given path.
120134
120135                     Returns
120136
120137
120138              list_tables()
120139                     Load existing tables and their descriptions.
120140
120141                     Returns
120142
120143
120144              new()  Create a new database and opens it.
120145
120146                     Returns
120147
120148
120149              open(dbname=None)
120150                     Open database from the path with the name or latest.   If
120151                     there are no yet databases, create a new implicitly.
120152
120153                     Returns
120154
120155
120156              purge(dbid)
120157                     Purge the database.
120158
120159                     Parameters
120160                            dbid --
120161
120162                     Returns
120163
120164
120165              store(obj, distinct=False)
120166                     Store an object in the table.
120167
120168                     Parameters
120169
120170                            · obj -- An object to store
120171
120172                            · distinct  --  Store object only if there is none
120173                              identical of such.  If at  least  one  field  is
120174                              different, store it.
120175
120176                     Returns
120177
120178
120179              update(obj, matches=None, mt=None, lt=None, eq=None)
120180                     Update object(s) in the database.
120181
120182                     Parameters
120183
120184                            · obj --
120185
120186                            · matches --
120187
120188                            · mt --
120189
120190                            · lt --
120191
120192                            · eq --
120193
120194                     Returns
120195
120196
120197       class salt.modules.inspectlib.fsdb.CsvDBEntity
120198              Serializable object for the table.
120199
120200   salt.modules.inspectlib.kiwiproc module
120201       class salt.modules.inspectlib.kiwiproc.KiwiExporter(grains, format)
120202              Exports system description as Kiwi configuration.
120203
120204              export(name)
120205                     Export to the Kiwi config.xml as text.
120206
120207                     Returns
120208
120209
120210              load(**descr)
120211                     Load data by keys.
120212
120213                     Parameters
120214                            data --
120215
120216                     Returns
120217
120218
120219   salt.modules.inspector module
120220       Module for full system inspection.
120221
120222       salt.modules.inspector.build(format=u'qcow2', path=u'/tmp/')
120223              Build  an image from a current system description.  The image is
120224              a system image can be output in bootable ISO or QCOW2 formats.
120225
120226              Node uses the image building library Kiwi to perform the  actual
120227              build.
120228
120229              Parameters:
120230
120231              · format:  Specifies  output  format:  "qcow2" or "iso. Default:
120232                qcow2.
120233
120234              · path: Specifies  output  path  where  to  store  built  image.
120235                Default: /tmp.
120236
120237              CLI Example:
120238
120239                 salt myminion inspector.build
120240                 salt myminion inspector.build format=iso path=/opt/builds/
120241
120242       salt.modules.inspector.delete(all=False, *databases)
120243              Remove description snapshots from the system.
120244
120245              ::parameter:  all.  Default: False. Remove all snapshots, if set
120246              to True.
120247
120248              CLI example:
120249
120250                 salt myminion inspector.delete <ID> <ID1> <ID2>..
120251                 salt myminion inspector.delete all=True
120252
120253       salt.modules.inspector.export(local=False,      path=u'/tmp',      for‐
120254       mat=u'qcow2')
120255              Export an image description for Kiwi.
120256
120257              Parameters:
120258
120259              · local:  Specifies True or False if the export has to be in the
120260                local file. Default: False.
120261
120262              ·
120263
120264                path: If local=True, then specifies the path where  file  with
120265                the Kiwi description is written.
120266                       Default: /tmp.
120267
120268              CLI Example:
120269
120270                 salt myminion inspector.export
120271                 salt myminion inspector.export format=iso path=/opt/builds/
120272
120273       salt.modules.inspector.inspect(mode=u'all', priority=19, **kwargs)
120274              Start node inspection and save the data to the database for fur‐
120275              ther query.
120276
120277              Parameters:
120278
120279              · mode: Clarify inspection  mode:  configuration,  payload,  all
120280                (default)
120281
120282                payload
120283
120284                       · filter: Comma-separated directories to track payload.
120285
120286              · priority:  (advanced)  Set priority of the inspection. Default
120287                is low priority.
120288
120289              CLI Example:
120290
120291                 salt '*' inspector.inspect
120292                 salt '*' inspector.inspect configuration
120293                 salt '*' inspector.inspect payload filter=/opt,/ext/oracle
120294
120295       salt.modules.inspector.query(*args, **kwargs)
120296              Query the node for specific information.
120297
120298              Parameters:
120299
120300              · scope: Specify scope of the query.
120301
120302                   · System: Return system data.
120303
120304                   · Software: Return software information.
120305
120306                   · Services: Return known services.
120307
120308                   ·
120309
120310                     Identity: Return user accounts information for this  sys‐
120311                     tem.
120312
120313                            accounts
120314                                   Can  be  either  'local', 'remote' or 'all'
120315                                   (equal to "local,remote").  Remote accounts
120316                                   cannot be resolved on all systems, but only
120317                                   those, which supports 'passwd -S -a'.
120318
120319                            disabled
120320                                   True (or False,  default)  to  return  only
120321                                   disabled accounts.
120322
120323                   ·
120324
120325                     payload: Payload scope parameters:
120326
120327                            filter Include only results which path starts from
120328                                   the filter string.
120329
120330                            time   Display  time  in  Unix  ticks  or   format
120331                                   according  to  the  configured TZ (default)
120332                                   Values: ticks, tz (default)
120333
120334                            size   Format size. Values: B, KB, MB, GB
120335
120336                            type   Include payload type.  Values  (comma-sepa‐
120337                                   rated):  directory  (or  dir),  link,  file
120338                                   (default)  Example  (returns   everything):
120339                                   type=directory,link,file
120340
120341                            owners Resolve UID/GID to an actual names or leave
120342                                   them  numeric  (default).    Values:   name
120343                                   (default), id
120344
120345                            brief  Return  just a list of payload elements, if
120346                                   True. Default: False.
120347
120348                   · all: Return all information (default).
120349
120350              CLI Example:
120351
120352                 salt '*' inspector.query scope=system
120353                 salt '*' inspector.query scope=payload type=file,link filter=/etc size=Kb brief=False
120354
120355       salt.modules.inspector.snapshots()
120356              List current description snapshots.
120357
120358              CLI Example:
120359
120360                 salt myminion inspector.snapshots
120361
120362   salt.modules.introspect
120363       Functions to perform introspection on a minion, and return  data  in  a
120364       format usable by Salt States
120365
120366       salt.modules.introspect.enabled_service_owners()
120367              Return  which  packages  own  each of the services that are cur‐
120368              rently enabled.
120369
120370              CLI Example:
120371                 salt myminion introspect.enabled_service_owners
120372
120373       salt.modules.introspect.running_service_owners(exclude=(u'/dev',
120374       u'/home', u'/media', u'/proc', u'/run', u'/sys/', u'/tmp', u'/var'))
120375              Determine  which packages own the currently running services. By
120376              default, excludes files whose full path starts with /dev, /home,
120377              /media, /proc, /run, /sys, /tmp and /var. This can be overridden
120378              by passing in a new list to exclude.
120379
120380              CLI Example:
120381                 salt myminion introspect.running_service_owners
120382
120383       salt.modules.introspect.service_highstate(requires=True)
120384              Return running and enabled services in a highstate structure. By
120385              default  also  returns  package dependencies for those services,
120386              which means that package definitions  must  be  created  outside
120387              this function. To drop the package dependencies, set requires to
120388              False.
120389
120390              CLI Example:
120391                 salt  myminion  introspect.service_highstate  salt   myminion
120392                 introspect.service_highstate requires=False
120393
120394   salt.modules.iosconfig module
120395       Cisco IOS configuration manipulation helpers
120396
120397       New in version 2019.2.0.
120398
120399
120400       This  module  provides  a  collection of helper functions for Cisco IOS
120401       style configuration manipulation. This module does  not  have  external
120402       dependencies and can be used from any Proxy or regular Minion.
120403
120404       salt.modules.iosconfig.clean(config=None, path=None, saltenv=u'base')
120405              Return  a clean version of the config, without any special signs
120406              (such as ! as an individual line) or empty lines, but just lines
120407              with  significant  value  in  the  configuration  of the network
120408              device.
120409
120410              config The configuration sent as text. This argument is  ignored
120411                     when path is configured.
120412
120413              path   Absolute or remote path from where to load the configura‐
120414                     tion text. This argument  allows  any  URI  supported  by
120415                     cp.get_url), e.g., salt://, https://, s3://, ftp:/, etc.
120416
120417              saltenv: base
120418                     Salt  fileserver  environment  from which to retrieve the
120419                     file.  Ignored if path is not a salt:// URL.
120420
120421              CLI Example:
120422
120423                 salt '*' iosconfig.clean path=salt://path/to/my/config.txt
120424                 salt '*' iosconfig.clean path=https://bit.ly/2mAdq7z
120425
120426       salt.modules.iosconfig.diff_text(candidate_config=None,          candi‐
120427       date_path=None,         running_config=None,         running_path=None,
120428       saltenv=u'base')
120429              Return the diff, as text, between the candidate and the  running
120430              config.
120431
120432              candidate_config
120433                     The  candidate  configuration sent as text. This argument
120434                     is ignored when candidate_path is set.
120435
120436              candidate_path
120437                     Absolute or remote path from where to load the  candidate
120438                     configuration  text.  This  argument  allows any URI sup‐
120439                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
120440                     ftp:/, etc.
120441
120442              running_config
120443                     The  running configuration sent as text. This argument is
120444                     ignored when running_path is set.
120445
120446              running_path
120447                     Absolute or remote path from where  to  load  the  runing
120448                     configuration  text.  This  argument  allows any URI sup‐
120449                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
120450                     ftp:/, etc.
120451
120452              saltenv: base
120453                     Salt  fileserver  environment  from which to retrieve the
120454                     file.  Ignored if candidate_path or running_path is not a
120455                     salt:// URL.
120456
120457              CLI Example:
120458
120459                 salt '*' iosconfig.diff_text candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg
120460
120461       salt.modules.iosconfig.diff_tree(candidate_config=None,          candi‐
120462       date_path=None,         running_config=None,         running_path=None,
120463       saltenv=u'base')
120464              Return the diff, as Python dictionary, between the candidate and
120465              the running configuration.
120466
120467              candidate_config
120468                     The candidate configuration sent as text.  This  argument
120469                     is ignored when candidate_path is set.
120470
120471              candidate_path
120472                     Absolute  or remote path from where to load the candidate
120473                     configuration text. This argument  allows  any  URI  sup‐
120474                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
120475                     ftp:/, etc.
120476
120477              running_config
120478                     The running configuration sent as text. This argument  is
120479                     ignored when running_path is set.
120480
120481              running_path
120482                     Absolute  or  remote  path  from where to load the runing
120483                     configuration text. This argument  allows  any  URI  sup‐
120484                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
120485                     ftp:/, etc.
120486
120487              saltenv: base
120488                     Salt fileserver environment from which  to  retrieve  the
120489                     file.  Ignored if candidate_path or running_path is not a
120490                     salt:// URL.
120491
120492              CLI Example:
120493
120494                 salt '*' iosconfig.diff_tree candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg
120495
120496       salt.modules.iosconfig.merge_diff(initial_config=None,             ini‐
120497       tial_path=None, merge_config=None, merge_path=None, saltenv=u'base')
120498              Return  the  merge diff, as text, after merging the merge config
120499              into the initial config.
120500
120501              initial_config
120502                     The initial configuration sent as text. This argument  is
120503                     ignored when initial_path is set.
120504
120505              initial_path
120506                     Absolute  or  remote  path from where to load the initial
120507                     configuration text. This argument  allows  any  URI  sup‐
120508                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
120509                     ftp:/, etc.
120510
120511              merge_config
120512                     The config to be merged into the initial config, sent  as
120513                     text. This argument is ignored when merge_path is set.
120514
120515              merge_path
120516                     Absolute or remote path from where to load the merge con‐
120517                     figuration text. This argument allows any  URI  supported
120518                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
120519                     etc.
120520
120521              saltenv: base
120522                     Salt fileserver environment from which  to  retrieve  the
120523                     file.   Ignored  if  initial_path  or merge_path is not a
120524                     salt:// URL.
120525
120526              CLI Example:
120527
120528                 salt '*' iosconfig.merge_diff initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
120529
120530       salt.modules.iosconfig.merge_text(initial_config=None,             ini‐
120531       tial_path=None, merge_config=None, merge_path=None, saltenv=u'base')
120532              Return   the   merge  result  of  the  initial_config  with  the
120533              merge_config, as plain text.
120534
120535              initial_config
120536                     The initial configuration sent as text. This argument  is
120537                     ignored when initial_path is set.
120538
120539              initial_path
120540                     Absolute  or  remote  path from where to load the initial
120541                     configuration text. This argument  allows  any  URI  sup‐
120542                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
120543                     ftp:/, etc.
120544
120545              merge_config
120546                     The config to be merged into the initial config, sent  as
120547                     text. This argument is ignored when merge_path is set.
120548
120549              merge_path
120550                     Absolute or remote path from where to load the merge con‐
120551                     figuration text. This argument allows any  URI  supported
120552                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
120553                     etc.
120554
120555              saltenv: base
120556                     Salt fileserver environment from which  to  retrieve  the
120557                     file.   Ignored  if  initial_path  or merge_path is not a
120558                     salt:// URL.
120559
120560              CLI Example:
120561
120562                 salt '*' iosconfig.merge_text initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
120563
120564       salt.modules.iosconfig.merge_tree(initial_config=None,             ini‐
120565       tial_path=None, merge_config=None, merge_path=None, saltenv=u'base')
120566              Return  the merge tree of the initial_config with the merge_con‐
120567              fig, as a Python dictionary.
120568
120569              initial_config
120570                     The initial configuration sent as text. This argument  is
120571                     ignored when initial_path is set.
120572
120573              initial_path
120574                     Absolute  or  remote  path from where to load the initial
120575                     configuration text. This argument  allows  any  URI  sup‐
120576                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
120577                     ftp:/, etc.
120578
120579              merge_config
120580                     The config to be merged into the initial config, sent  as
120581                     text. This argument is ignored when merge_path is set.
120582
120583              merge_path
120584                     Absolute or remote path from where to load the merge con‐
120585                     figuration text. This argument allows any  URI  supported
120586                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
120587                     etc.
120588
120589              saltenv: base
120590                     Salt fileserver environment from which  to  retrieve  the
120591                     file.   Ignored  if  initial_path  or merge_path is not a
120592                     salt:// URL.
120593
120594              CLI Example:
120595
120596                 salt '*' iosconfig.merge_tree initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
120597
120598       salt.modules.iosconfig.tree(config=None,  path=None,   with_tags=False,
120599       saltenv=u'base')
120600              Transform  Cisco  IOS  style  configuration to structured Python
120601              dictionary.  Depending on the value of the  with_tags  argument,
120602              this function may provide different views, valuable in different
120603              situations.
120604
120605              config The configuration sent as text. This argument is  ignored
120606                     when path is configured.
120607
120608              path   Absolute or remote path from where to load the configura‐
120609                     tion text. This argument  allows  any  URI  supported  by
120610                     cp.get_url), e.g., salt://, https://, s3://, ftp:/, etc.
120611
120612              with_tags: False
120613                     Whether this function should return a detailed view, with
120614                     tags.
120615
120616              saltenv: base
120617                     Salt fileserver environment from which  to  retrieve  the
120618                     file.  Ignored if path is not a salt:// URL.
120619
120620              CLI Example:
120621
120622                 salt '*' iosconfig.tree path=salt://path/to/my/config.txt
120623                 salt '*' iosconfig.tree path=https://bit.ly/2mAdq7z
120624
120625   salt.modules.ipmi
120626       Support  IPMI commands over LAN. This module does not talk to the local
120627       systems hardware through IPMI drivers. It uses a python module pyghmi.
120628
120629       depends
120630              Python module pyghmi.  You can install pyghmi using pip:
120631
120632                 pip install pyghmi
120633
120634       configuration
120635              The following configuration defaults can be  define  (pillar  or
120636              config files):
120637
120638                 ipmi.config:
120639                     api_host: 127.0.0.1
120640                     api_user: admin
120641                     api_pass: apassword
120642                     api_port: 623
120643                     api_kg: None
120644
120645              Usage can override the config defaults:
120646
120647                 salt-call ipmi.get_user api_host=myipmienabled.system
120648                                         api_user=admin api_pass=pass
120649                                         uid=1
120650
120651       salt.modules.ipmi.create_user(uid,  name,  password,  channel=14, call‐
120652       back=False, link_auth=True,  ipmi_msg=True,  privilege_level=u'adminis‐
120653       trator', **kwargs)
120654              create/ensure a user is created with provided settings.
120655
120656              Parameters
120657
120658                     · privilege_level  --  User  Privilege Limit. (Determines
120659                       the maximum privilege level that the user is allowed to
120660                       switch to on the specified channel.)  * callback * user
120661                       * operator * administrator * proprietary * no_access
120662
120663                     · kwargs -- .INDENT 2.0
120664
120665                     · api_host=127.0.0.1
120666
120667                     · api_user=admin
120668
120669                     · api_pass=example
120670
120671                     · api_port=623
120672
120673                     · api_kg=None
120674
120675
120676       CLI Examples:
120677
120678                 salt-call ipmi.create_user uid=2 name=steverweber api_host=172.168.0.7 api_pass=nevertell
120679
120680       salt.modules.ipmi.fast_connect_test(**kwargs)
120681              Returns True if connection success.   This  uses  an  aggressive
120682              timeout value!
120683
120684              Parameters
120685                     kwargs -- .INDENT 7.0
120686
120687              · api_host=127.0.0.1
120688
120689              · api_user=admin
120690
120691              · api_pass=example
120692
120693              · api_port=623
120694
120695              · api_kg=None
120696
120697
120698       CLI Examples:
120699
120700                 salt-call ipmi.fast_connect_test api_host=172.168.0.9
120701
120702       salt.modules.ipmi.get_bootdev(**kwargs)
120703              Get current boot device override information.
120704
120705              Provides  the  current requested boot device.  Be aware that not
120706              all IPMI devices support this.  Even  in  BMCs  that  claim  to,
120707              occasionally  the BIOS or UEFI fail to honor it. This is usually
120708              only applicable to the next reboot.
120709
120710              Parameters
120711                     kwargs -- .INDENT 7.0
120712
120713              · api_host=127.0.0.1
120714
120715              · api_user=admin
120716
120717              · api_pass=example
120718
120719              · api_port=623
120720
120721              · api_kg=None
120722
120723
120724       CLI Example:
120725
120726                 salt-call ipmi.get_bootdev api_host=127.0.0.1 api_user=admin api_pass=pass
120727
120728       salt.modules.ipmi.get_channel_access(channel=14,
120729       read_mode=u'non_volatile', **kwargs)
120730              :param        kwargs:api_host='127.0.0.1'       api_user='admin'
120731              api_pass='example' api_port=623
120732
120733              Parameters
120734
120735                     · channel -- number [1:7]
120736
120737                     · read_mode -- .INDENT 2.0
120738
120739                     · non_volatile  = get non-volatile Channel Access
120740
120741                     · volatile      = get present volatile  (active)  setting
120742                       of Channel Access
120743
120744
120745              · kwargs -- .INDENT 2.0
120746
120747              · api_host=127.0.0.1
120748
120749              · api_user=admin
120750
120751              · api_pass=example
120752
120753              · api_port=623
120754
120755              · api_kg=None
120756
120757
120758Return Data
120759                 A Python dict with the following keys/values:
120760
120761                     {
120762                         alerting:
120763                         per_msg_auth:
120764                         user_level_auth:
120765                         access_mode:{ (ONE OF)
120766                             0: 'disabled',
120767                             1: 'pre_boot',
120768                             2: 'always',
120769                             3: 'shared'
120770                         }
120771                         privilege_level: { (ONE OF)
120772                             1: 'callback',
120773                             2: 'user',
120774                             3: 'operator',
120775                             4: 'administrator',
120776                             5: 'proprietary',
120777                         }
120778                     }
120779
120780              CLI Examples:
120781
120782                 salt-call ipmi.get_channel_access channel=1
120783
120784       salt.modules.ipmi.get_channel_info(channel=14, **kwargs)
120785              Get channel info
120786
120787              Parameters
120788
120789                     · channel -- number [1:7]
120790
120791                     · kwargs -- .INDENT 2.0
120792
120793                     · api_host=127.0.0.1
120794
120795                     · api_user=admin
120796
120797                     · api_pass=example
120798
120799                     · api_port=623
120800
120801                     · api_kg=None
120802
120803
120804              Return Data
120805                     channel session supports
120806
120807                        - no_session: channel is session-less
120808                        - single: channel is single-session
120809                        - multi: channel is multi-session
120810                        - auto: channel is session-based (channel could alternate between
120811                            single- and multi-session operation, as can occur with a
120812                            serial/modem channel that supports connection mode auto-detect)
120813
120814              CLI Examples:
120815
120816                 salt-call ipmi.get_channel_info
120817
120818       salt.modules.ipmi.get_channel_max_user_count(channel=14, **kwargs)
120819              Get max users in channel
120820
120821              Parameters
120822
120823                     · channel -- number [1:7]
120824
120825                     · kwargs -- .INDENT 2.0
120826
120827                     · api_host=127.0.0.1
120828
120829                     · api_user=admin
120830
120831                     · api_pass=example
120832
120833                     · api_port=623
120834
120835                     · api_kg=None
120836
120837
120838       Returns
120839              int -- often 16
120840
120841       CLI Examples:
120842
120843                 salt-call ipmi.get_channel_max_user_count
120844
120845       salt.modules.ipmi.get_health(**kwargs)
120846              Get Summarize health
120847
120848              This provides a summary of the health of the managed system.  It
120849              additionally provides an iterable list of reasons  for  warning,
120850              critical, or failed assessments.
120851
120852              good health: {'badreadings': [], 'health': 0}
120853
120854              Parameters
120855                     kwargs -- .INDENT 7.0
120856
120857              · api_host=127.0.0.1
120858
120859              · api_user=admin
120860
120861              · api_pass=example
120862
120863              · api_port=623
120864
120865              · api_kg=None
120866
120867
120868       CLI Example:
120869
120870                 salt-call ipmi.get_health api_host=127.0.0.1 api_user=admin api_pass=pass
120871
120872       salt.modules.ipmi.get_power(**kwargs)
120873              Get current power state
120874
120875              The response, if successful, should contain 'powerstate' key and
120876              either 'on' or 'off' to indicate current state.
120877
120878              Parameters
120879                     kwargs -- .INDENT 7.0
120880
120881              · api_host=127.0.0.1
120882
120883              · api_user=admin
120884
120885              · api_pass=example
120886
120887              · api_port=623
120888
120889              · api_kg=None
120890
120891
120892       CLI Example:
120893
120894                 salt-call ipmi.get_power api_host=127.0.0.1 api_user=admin api_pass=pass
120895
120896       salt.modules.ipmi.get_sensor_data(**kwargs)
120897              Get sensor readings
120898
120899              Iterates sensor reading objects
120900
120901              Parameters
120902                     kwargs -- .INDENT 7.0
120903
120904              · api_host=127.0.0.1
120905
120906              · api_user=admin
120907
120908              · api_pass=example
120909
120910              · api_port=623
120911
120912              · api_kg=None
120913
120914
120915       CLI Example:
120916
120917                 salt-call ipmi.get_sensor_data api_host=127.0.0.1 api_user=admin api_pass=pass
120918
120919       salt.modules.ipmi.get_user(uid, channel=14, **kwargs)
120920              Get user from uid and access on channel
120921
120922              Parameters
120923
120924                     · uid -- user number [1:16]
120925
120926                     · channel -- number [1:7]
120927
120928                     · kwargs -- .INDENT 2.0
120929
120930                     · api_host=127.0.0.1
120931
120932                     · api_user=admin
120933
120934                     · api_pass=example
120935
120936                     · api_port=623
120937
120938                     · api_kg=None
120939
120940
120941       Return Data
120942
120943                 name: (str)
120944                 uid: (int)
120945                 channel: (int)
120946                 access:
120947                     - callback (bool)
120948                     - link_auth (bool)
120949                     - ipmi_msg (bool)
120950                     - privilege_level: (str)[callback, user, operatorm administrator,
120951                                             proprietary, no_access]
120952
120953              CLI Examples:
120954
120955                 salt-call ipmi.get_user uid=2
120956
120957       salt.modules.ipmi.get_user_access(uid, channel=14, **kwargs)
120958              Get user access
120959
120960              Parameters
120961
120962                     · uid -- user number [1:16]
120963
120964                     · channel -- number [1:7]
120965
120966                     · kwargs -- .INDENT 2.0
120967
120968                     · api_host=127.0.0.1
120969
120970                     · api_user=admin
120971
120972                     · api_pass=example
120973
120974                     · api_port=623
120975
120976                     · api_kg=None
120977
120978
120979       Return Data
120980
120981                 channel_info:
120982                     - max_user_count = maximum number of user IDs on this channel
120983                     - enabled_users = count of User ID slots presently in use
120984                     - users_with_fixed_names = count of user IDs with fixed names
120985                 access:
120986                     - callback
120987                     - link_auth
120988                     - ipmi_msg
120989                     - privilege_level: [reserved, callback, user, operator
120990                                        administrator, proprietary, no_access]
120991
120992              CLI Examples:
120993
120994                 salt-call ipmi.get_user_access uid=2
120995
120996       salt.modules.ipmi.get_user_name(uid,         return_none_on_error=True,
120997       **kwargs)
120998              Get user name
120999
121000              Parameters
121001
121002                     · uid -- user number [1:16]
121003
121004                     · return_none_on_error -- return None on error
121005
121006                     · kwargs -- .INDENT 2.0
121007
121008                     · api_host=127.0.0.1
121009
121010                     · api_user=admin
121011
121012                     · api_pass=example
121013
121014                     · api_port=623
121015
121016                     · api_kg=None
121017
121018
121019       CLI Examples:
121020
121021                 salt-call ipmi.get_user_name uid=2
121022
121023       salt.modules.ipmi.get_users(channel=14, **kwargs)
121024              get list of users and access information
121025
121026              Parameters
121027
121028                     · channel -- number [1:7]
121029
121030                     · kwargs -- .INDENT 2.0
121031
121032                     · api_host=127.0.0.1
121033
121034                     · api_user=admin
121035
121036                     · api_pass=example
121037
121038                     · api_port=623
121039
121040                     · api_kg=None
121041
121042
121043       Returns
121044
121045              · name: (str)
121046
121047              · uid: (int)
121048
121049              · channel: (int)
121050
121051              ·
121052
121053                access:
121054
121055                       · callback (bool)
121056
121057                       · link_auth (bool)
121058
121059                       · ipmi_msg (bool)
121060
121061                       · privilege_level:   (str)[callback,   user,  operatorm
121062                         administrator, proprietary, no_access]
121063
121064
121065       CLI Examples:
121066
121067                 salt-call ipmi.get_users api_host=172.168.0.7
121068
121069       salt.modules.ipmi.raw_command(netfn,   command,    bridge_request=None,
121070       data=(), retry=True, delay_xmit=None, **kwargs)
121071              Send raw ipmi command
121072
121073              This allows arbitrary IPMI bytes to be issued.  This is commonly
121074              used for certain vendor specific commands.
121075
121076              Parameters
121077
121078                     · netfn -- Net function number
121079
121080                     · command -- Command value
121081
121082                     · bridge_request -- The target slave address and  channel
121083                       number for the bridge request.
121084
121085                     · data -- Command data as a tuple or list
121086
121087                     · kwargs -- .INDENT 2.0
121088
121089                     · api_host=127.0.0.1
121090
121091                     · api_user=admin
121092
121093                     · api_pass=example
121094
121095                     · api_port=623
121096
121097                     · api_kg=None
121098
121099
121100       Returns
121101              dict -- The response from IPMI device
121102
121103       CLI Examples:
121104
121105                 salt-call ipmi.raw_command netfn=0x06 command=0x46 data=[0x02]
121106                 # this will return the name of the user with id 2 in bytes
121107
121108       salt.modules.ipmi.set_bootdev(bootdev=u'default',  persist=False, uefi‐
121109       boot=False, **kwargs)
121110              Set boot device to use on next reboot
121111
121112              Parameters
121113
121114                     · bootdev -- .INDENT 2.0
121115
121116                     · network: Request network boot
121117
121118                     · hd: Boot from hard drive
121119
121120                     · safe: Boot from hard drive, requesting 'safe mode'
121121
121122                     · optical: boot from CD/DVD/BD drive
121123
121124                     · setup: Boot into setup utility
121125
121126                     · default: remove any IPMI directed boot device request
121127
121128
121129              · persist -- If true, ask that system firmware use  this  device
121130                beyond next boot.  Be aware many systems do not honor this
121131
121132              · uefiboot  --  If true, request UEFI boot explicitly.  Strictly
121133                speaking, the spec suggests that if not set, the system should
121134                BIOS  boot  and  offers  no "don't care" option.  In practice,
121135                this flag not being set does not preclude  UEFI  boot  on  any
121136                system I've encountered.
121137
121138              · kwargs -- .INDENT 2.0
121139
121140              · api_host=127.0.0.1
121141
121142              · api_user=admin
121143
121144              · api_pass=example
121145
121146              · api_port=623
121147
121148              · api_kg=None
121149
121150
121151       Returns
121152              dict or True -- If callback is not provided, the response
121153
121154CLI Examples:
121155
121156                 salt-call ipmi.set_bootdev bootdev=network persist=True
121157
121158       salt.modules.ipmi.set_channel_access(channel=14,
121159       access_update_mode=u'non_volatile', alerting=False, per_msg_auth=False,
121160       user_level_auth=False,           access_mode=u'always',          privi‐
121161       lege_update_mode=u'non_volatile',     privilege_level=u'administrator',
121162       **kwargs)
121163              Set channel access
121164
121165              Parameters
121166
121167                     · channel -- number [1:7]
121168
121169                     · access_update_mode -- .INDENT 2.0
121170
121171                     · 'dont_change'  = don't set or change Channel Access
121172
121173                     · 'non_volatile' = set non-volatile Channel Access
121174
121175                     · 'volatile'     = set volatile (active) setting of Chan‐
121176                       nel Access
121177
121178
121179              · alerting --
121180
121181                PEF Alerting Enable/Disable
121182
121183                · True  = enable PEF Alerting
121184
121185                · False = disable PEF Alerting on this channel (Alert  Immedi‐
121186                  ate command can still be used to generate alerts)
121187
121188
121189              · per_msg_auth --
121190
121191                Per-message Authentication
121192
121193                · True  = enable
121194
121195                · False  = disable Per-message Authentication. [Authentication
121196                  required to  activate  any  session  on  this  channel,  but
121197                  authentication  not  used on subsequent packets for the ses‐
121198                  sion.]
121199
121200
121201              · user_level_auth --
121202
121203                User Level Authentication Enable/Disable
121204
121205                · True  = enable User Level  Authentication.  All  User  Level
121206                  commands are to be authenticated per the Authentication Type
121207                  that was negotiated when the session was activated.
121208
121209                · False = disable User Level Authentication. Allow User  Level
121210                  commands to be executed without being authenticated.  If the
121211                  option to  disable  User  Level  Command  authentication  is
121212                  accepted,  the  BMC  will accept packets with Authentication
121213                  Type set to None if they contain user level  commands.   For
121214                  outgoing  packets,  the  BMC returns responses with the same
121215                  Authentication Type that was used for the request.
121216
121217
121218              · access_mode --
121219
121220                Access Mode for IPMI messaging (PEF Alerting  is  enabled/dis‐
121221                abled separately from IPMI messaging)
121222
121223                · disabled = disabled for IPMI messaging
121224
121225                · pre_boot  = pre-boot only channel only available when system
121226                  is in a powered down state or in  BIOS  prior  to  start  of
121227                  boot.
121228
121229                · always    =  channel  always  available regardless of system
121230                  mode.  BIOS typically dedicates the serial connection to the
121231                  BMC.
121232
121233                · shared    =  same  as  always  available, but BIOS typically
121234                  leaves the serial port available for software use.
121235
121236
121237              · privilege_update_mode --
121238
121239                Channel Privilege Level Limit. This  value  sets  the  maximum
121240                privilege level that can be accepted on the specified channel.
121241
121242                · dont_change   =  don't set or change channel Privilege Level
121243                  Limit
121244
121245                · non_volatile = non-volatile Privilege Level Limit according
121246
121247                · volatile     = volatile setting of Privilege Level Limit
121248
121249
121250              · privilege_level --
121251
121252                Channel Privilege Level Limit
121253
121254                · reserved      = unused
121255
121256                · callback
121257
121258                · user
121259
121260                · operator
121261
121262                · administrator
121263
121264                · proprietary   = used by OEM
121265
121266
121267              · kwargs -- .INDENT 2.0
121268
121269              · api_host=127.0.0.1
121270
121271              · api_user=admin
121272
121273              · api_pass=example
121274
121275              · api_port=623
121276
121277              · api_kg=None
121278
121279
121280CLI Examples:
121281
121282                 salt-call ipmi.set_channel_access privilege_level='administrator'
121283
121284       salt.modules.ipmi.set_identify(on=True, duration=600, **kwargs)
121285              Request identify light
121286
121287              Request the identify light to turn off, on for a duration, or on
121288              indefinitely.  Other than error exceptions,
121289
121290              Parameters
121291
121292                     · on -- Set to True to force on or False to force off
121293
121294                     · duration  --  Set  if  wanting to request turn on for a
121295                       duration in seconds, None = indefinitely.
121296
121297                     · kwargs -- .INDENT 2.0
121298
121299                     · api_host=127.0.0.1
121300
121301                     · api_user=admin
121302
121303                     · api_pass=example
121304
121305                     · api_port=623
121306
121307                     · api_kg=None
121308
121309
121310       CLI Examples:
121311
121312                 salt-call ipmi.set_identify
121313
121314       salt.modules.ipmi.set_power(state=u'power_on', wait=True, **kwargs)
121315              Request power state change
121316
121317              Parameters
121318
121319                     · name -- .INDENT 2.0
121320
121321                     · power_on -- system turn on
121322
121323                     · power_off -- system turn off (without waiting for OS)
121324
121325                     · shutdown -- request OS proper shutdown
121326
121327                     · reset -- reset (without waiting for OS)
121328
121329                     · boot -- If system is off, then 'on', else 'reset'
121330
121331
121332              · ensure -- If (bool True), do not return until system  actually
121333                completes  requested  state  change  for  300  seconds.   If a
121334                non-zero (int), adjust the wait time to the  requested  number
121335                of seconds
121336
121337              · kwargs -- .INDENT 2.0
121338
121339              · api_host=127.0.0.1
121340
121341              · api_user=admin
121342
121343              · api_pass=example
121344
121345              · api_port=623
121346
121347              · api_kg=None
121348
121349
121350       Returns
121351              dict -- A dict describing the response retrieved
121352
121353CLI Examples:
121354
121355                 salt-call ipmi.set_power state=shutdown wait=True
121356
121357       salt.modules.ipmi.set_user_access(uid,    channel=14,    callback=True,
121358       link_auth=True,    ipmi_msg=True,     privilege_level=u'administrator',
121359       **kwargs)
121360              Set user access
121361
121362              Parameters
121363
121364                     · uid -- user number [1:16]
121365
121366                     · channel -- number [1:7]
121367
121368                     · callback --
121369
121370                       User Restricted to Callback
121371
121372                       · False  =  User  Privilege  Limit is determined by the
121373                         User Privilege Limit parameter, below, for both call‐
121374                         back and non-callback connections.
121375
121376                       · True   =  User  Privilege  Limit is determined by the
121377                         User Privilege Limit parameter for  callback  connec‐
121378                         tions,  but  is  restricted  to  Callback  level  for
121379                         non-callback connections. Thus, a user can only  ini‐
121380                         tiate  a Callback when they 'call in' to the BMC, but
121381                         once the callback connection has been made, the  user
121382                         could potentially establish a session as an Operator.
121383
121384
121385                     · link_auth  --  User  Link authentication enable/disable
121386                       (used to enable whether this user's name  and  password
121387                       information  will be used for link authentication, e.g.
121388                       PPP CHAP) for the given  channel.  Link  authentication
121389                       itself  is  a  global  setting  for  the channel and is
121390                       enabled/disabled  via  the  serial/modem  configuration
121391                       parameters.
121392
121393                     · ipmi_msg  --  User IPMI Messaging: (used to enable/dis‐
121394                       able whether this user's name and password  information
121395                       will  be  used  for IPMI Messaging. In this case, 'IPMI
121396                       Messaging' refers to the  ability  to  execute  generic
121397                       IPMI commands that are not associated with a particular
121398                       payload type. For example, if IPMI  Messaging  is  dis‐
121399                       abled for a user, but that user is enabled for activat‐
121400                       ing the SOL payload type, then IPMI commands associated
121401                       with  SOL  and session management, such as Get SOL Con‐
121402                       figuration Parameters and Close Session are  available,
121403                       but  generic  IPMI  commands  such  as Get SEL Time are
121404                       unavailable.)
121405
121406                     · privilege_level --
121407
121408                       User Privilege Limit. (Determines the maximum privilege
121409                       level  that  the  user  is  allowed to switch to on the
121410                       specified channel.)
121411
121412                       · callback
121413
121414                       · user
121415
121416                       · operator
121417
121418                       · administrator
121419
121420                       · proprietary
121421
121422                       · no_access
121423
121424
121425                     · kwargs -- .INDENT 2.0
121426
121427                     · api_host=127.0.0.1
121428
121429                     · api_user=admin
121430
121431                     · api_pass=example
121432
121433                     · api_port=623
121434
121435                     · api_kg=None
121436
121437
121438       CLI Examples:
121439
121440                 salt-call ipmi.set_user_access uid=2 privilege_level='operator'
121441
121442       salt.modules.ipmi.set_user_name(uid, name, **kwargs)
121443              Set user name
121444
121445              Parameters
121446
121447                     · uid -- user number [1:16]
121448
121449                     · name -- username (limit of 16bytes)
121450
121451                     · kwargs -- .INDENT 2.0
121452
121453                     · api_host=127.0.0.1
121454
121455                     · api_user=admin
121456
121457                     · api_pass=example
121458
121459                     · api_port=623
121460
121461                     · api_kg=None
121462
121463
121464       CLI Examples:
121465
121466                 salt-call ipmi.set_user_name uid=2 name='steverweber'
121467
121468       salt.modules.ipmi.set_user_password(uid,  mode=u'set_password',   pass‐
121469       word=None, **kwargs)
121470              Set user password and (modes)
121471
121472              Parameters
121473
121474                     · uid -- id number of user.  see: get_names_uid()['name']
121475
121476                     · mode -- .INDENT 2.0
121477
121478                     · disable       = disable user connections
121479
121480                     · enable        = enable user connections
121481
121482                     · set_password  = set or ensure password
121483
121484                     · test_password = test password is correct
121485
121486
121487              · password -- max 16 char string (optional when mode is [disable
121488                or enable])
121489
121490              · kwargs -- .INDENT 2.0
121491
121492              · api_host=127.0.0.1
121493
121494              · api_user=admin
121495
121496              · api_pass=example
121497
121498              · api_port=623
121499
121500              · api_kg=None
121501
121502
121503       Returns
121504              True on success when mode = test_password, return False  on  bad
121505              password
121506
121507CLI Example:
121508
121509                 salt-call ipmi.set_user_password api_host=127.0.0.1 api_user=admin api_pass=pass
121510                                                  uid=1 password=newPass
121511                 salt-call ipmi.set_user_password uid=1 mode=enable
121512
121513       salt.modules.ipmi.user_delete(uid, channel=14, **kwargs)
121514              Delete user (helper)
121515
121516              Parameters
121517
121518                     · uid -- user number [1:16]
121519
121520                     · channel -- number [1:7]
121521
121522                     · kwargs -- .INDENT 2.0
121523
121524                     · api_host=127.0.0.1
121525
121526                     · api_user=admin
121527
121528                     · api_pass=example
121529
121530                     · api_port=623
121531
121532                     · api_kg=None
121533
121534
121535       CLI Examples:
121536
121537                 salt-call ipmi.user_delete uid=2
121538
121539   salt.modules.ipset
121540       Support for ipset
121541
121542       salt.modules.ipset.add(setname=None,     entry=None,    family=u'ipv4',
121543       **kwargs)
121544              Append an entry to the specified set.
121545
121546              CLI Example:
121547
121548                 salt '*' ipset.add setname 192.168.1.26
121549
121550                 salt '*' ipset.add setname 192.168.0.3,AA:BB:CC:DD:EE:FF
121551
121552       salt.modules.ipset.check(set=None, entry=None, family=u'ipv4')
121553              Check that an entry exists in the specified set.
121554
121555              set    The ipset name
121556
121557              entry  An entry in the ipset.  This parameter can be a single IP
121558                     address,  a  range  of  IP  addresses, or a subnet block.
121559                     Example:
121560
121561                        192.168.0.1
121562                        192.168.0.2-192.168.0.19
121563                        192.168.0.0/25
121564
121565              family IP protocol version: ipv4 or ipv6
121566
121567              CLI Example:
121568
121569                 salt '*' ipset.check setname '192.168.0.1 comment "Hello"'
121570
121571       salt.modules.ipset.check_set(set=None, family=u'ipv4')
121572              Check that given ipset set exists.
121573
121574              New in version 2014.7.0.
121575
121576
121577              CLI Example:
121578
121579                 salt '*' ipset.check_set setname
121580
121581       salt.modules.ipset.delete(set=None,     entry=None,     family=u'ipv4',
121582       **kwargs)
121583              Delete an entry from the specified set.
121584
121585              CLI Example:
121586
121587                 salt '*' ipset.delete setname 192.168.0.3,AA:BB:CC:DD:EE:FF
121588
121589       salt.modules.ipset.delete_set(set=None, family=u'ipv4')
121590              New in version 2014.7.0.
121591
121592
121593              Delete ipset set.
121594
121595              CLI Example:
121596
121597                 salt '*' ipset.delete_set custom_set
121598
121599                 IPv6:
121600                 salt '*' ipset.delete_set custom_set family=ipv6
121601
121602       salt.modules.ipset.flush(set=None, family=u'ipv4')
121603              Flush entries in the specified set, Flush all sets if set is not
121604              specified.
121605
121606              CLI Example:
121607
121608                 salt '*' ipset.flush
121609
121610                 salt '*' ipset.flush set
121611
121612                 IPv6:
121613                 salt '*' ipset.flush
121614
121615                 salt '*' ipset.flush set
121616
121617       salt.modules.ipset.list_sets(family=u'ipv4')
121618              New in version 2014.7.0.
121619
121620
121621              List all ipset sets.
121622
121623              CLI Example:
121624
121625                 salt '*' ipset.list_sets
121626
121627       salt.modules.ipset.long_range(start, end)
121628
121629       salt.modules.ipset.new_set(set=None,   set_type=None,   family=u'ipv4',
121630       comment=False, **kwargs)
121631              New in version 2014.7.0.
121632
121633
121634              Create new custom set
121635
121636              CLI Example:
121637
121638                 salt '*' ipset.new_set custom_set list:set
121639
121640                 salt '*' ipset.new_set custom_set list:set comment=True
121641
121642                 IPv6:
121643                 salt '*' ipset.new_set custom_set list:set family=ipv6
121644
121645       salt.modules.ipset.rename_set(set=None, new_set=None, family=u'ipv4')
121646              New in version 2014.7.0.
121647
121648
121649              Delete ipset set.
121650
121651              CLI Example:
121652
121653                 salt '*' ipset.rename_set custom_set new_set=new_set_name
121654
121655                 IPv6:
121656                 salt '*' ipset.rename_set custom_set new_set=new_set_name family=ipv6
121657
121658       salt.modules.ipset.test(set=None, entry=None, family=u'ipv4', **kwargs)
121659              Test if an entry is in the specified set.
121660
121661              CLI Example:
121662
121663                 salt '*' ipset.test setname 192.168.0.2
121664
121665                 IPv6:
121666                 salt '*' ipset.test setname fd81:fc56:9ac7::/48
121667
121668       salt.modules.ipset.version()
121669              Return version from ipset --version
121670
121671              CLI Example:
121672
121673                 salt '*' ipset.version
121674
121675   salt.modules.iptables
121676       Support for iptables
121677
121678   Configuration Options
121679       The  following options can be set in the minion config, grains, pillar,
121680       or master config. The configuration is read using config.get.
121681
121682       · iptables.save_filters: List of REGEX strings to FILTER  OUT  matching
121683         lines
121684
121685         This  is  useful for filtering out chains, rules, etc that you do not
121686         wish to persist, such as ephemeral Docker rules.
121687
121688         The default is to not filter out anything.
121689
121690            iptables.save_filters:
121691              - "-j CATTLE_PREROUTING"
121692              - "-j DOCKER"
121693              - "-A POSTROUTING"
121694              - "-A CATTLE_POSTROUTING"
121695              - "-A FORWARD"
121696
121697       salt.modules.iptables.append(table=u'filter',  chain=None,   rule=None,
121698       family=u'ipv4')
121699              Append a rule to the specified table/chain.
121700
121701              This function accepts a rule in a standard iptables command for‐
121702              mat,
121703                     starting with the chain. Trying to force users  to  adapt
121704                     to  a new method of creating rules would be irritating at
121705                     best, and we already have a parser that can handle it.
121706
121707              CLI Example:
121708
121709                 salt '*' iptables.append filter INPUT \
121710                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
121711
121712                 IPv6:
121713                 salt '*' iptables.append filter INPUT \
121714                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
121715                     family=ipv6
121716
121717       salt.modules.iptables.build_rule(table=u'filter',   chain=None,    com‐
121718       mand=None, position=u'', full=None, family=u'ipv4', **kwargs)
121719              Build  a  well-formatted  iptables rule based on kwargs. A table
121720              and chain are not required, unless full is True.
121721
121722              If full is True, then table, chain  and  command  are  required.
121723              command  may  be  specified  as either a short option ('I') or a
121724              long option (--insert). This will return the  iptables  command,
121725              exactly as it would be used from the command line.
121726
121727              If  a  position is required (as with -I or -D), it may be speci‐
121728              fied as position. This will only be useful if full is True.
121729
121730              If state is passed, it  will  be  ignored,  use  connstate.   If
121731              connstate  is  passed  in,  it  will automatically be changed to
121732              state.
121733
121734              To pass in jump options that doesn't take arguments, pass in  an
121735              empty string.
121736
121737              NOTE:
121738                 Whereas iptables will accept -p, --proto[c[o[l]]] as synonyms
121739                 of --protocol, if --proto  appears  in  an  iptables  command
121740                 after  the  appearance of -m policy, it is interpreted as the
121741                 --proto  option  of  the  policy  extension  (see  the  ipta‐
121742                 bles-extensions(8) man page).
121743
121744              CLI Examples:
121745
121746                 salt '*' iptables.build_rule match=state \
121747                     connstate=RELATED,ESTABLISHED jump=ACCEPT
121748
121749                 salt '*' iptables.build_rule filter INPUT command=I position=3 \
121750                     full=True match=state connstate=RELATED,ESTABLISHED jump=ACCEPT
121751
121752                 salt '*' iptables.build_rule filter INPUT command=A \
121753                     full=True match=state connstate=RELATED,ESTABLISHED \
121754                     source='127.0.0.1' jump=ACCEPT
121755
121756                 .. Invert Rules
121757                 salt '*' iptables.build_rule filter INPUT command=A \
121758                     full=True match=state connstate=RELATED,ESTABLISHED \
121759                     source='!127.0.0.1' jump=ACCEPT
121760
121761                 salt '*' iptables.build_rule filter INPUT command=A \
121762                     full=True match=state connstate=RELATED,ESTABLISHED \
121763                     destination='not 127.0.0.1' jump=ACCEPT
121764
121765                 IPv6:
121766                 salt '*' iptables.build_rule match=state \
121767                     connstate=RELATED,ESTABLISHED jump=ACCEPT \
121768                     family=ipv6
121769                 salt '*' iptables.build_rule filter INPUT command=I position=3 \
121770                     full=True match=state connstate=RELATED,ESTABLISHED jump=ACCEPT \
121771                     family=ipv6
121772
121773       salt.modules.iptables.check(table=u'filter',   chain=None,   rule=None,
121774       family=u'ipv4')
121775              Check for the existence of a rule in the table and chain
121776
121777              This function accepts a rule in a standard iptables command for‐
121778              mat,
121779                     starting  with  the chain. Trying to force users to adapt
121780                     to a new method of creating rules would be irritating  at
121781                     best, and we already have a parser that can handle it.
121782
121783              CLI Example:
121784
121785                 salt '*' iptables.check filter INPUT \
121786                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
121787
121788                 IPv6:
121789                 salt '*' iptables.check filter INPUT \
121790                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
121791                     family=ipv6
121792
121793       salt.modules.iptables.check_chain(table=u'filter',   chain=None,   fam‐
121794       ily=u'ipv4')
121795              New in version 2014.1.0.
121796
121797
121798              Check for the existence of a chain in the table
121799
121800              CLI Example:
121801
121802                 salt '*' iptables.check_chain filter INPUT
121803
121804                 IPv6:
121805                 salt '*' iptables.check_chain filter INPUT family=ipv6
121806
121807       salt.modules.iptables.delete(table,     chain=None,      position=None,
121808       rule=None, family=u'ipv4')
121809
121810              Delete  a rule from the specified table/chain, specifying either
121811              the rule
121812                     in its entirety, or the rule's position in the chain.
121813
121814              This function accepts a rule in a standard iptables command for‐
121815              mat,
121816                     starting  with  the chain. Trying to force users to adapt
121817                     to a new method of creating rules would be irritating  at
121818                     best, and we already have a parser that can handle it.
121819
121820              CLI Examples:
121821
121822                 salt '*' iptables.delete filter INPUT position=3
121823                 salt '*' iptables.delete filter INPUT \
121824                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
121825
121826                 IPv6:
121827                 salt '*' iptables.delete filter INPUT position=3 family=ipv6
121828                 salt '*' iptables.delete filter INPUT \
121829                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
121830                     family=ipv6
121831
121832       salt.modules.iptables.delete_chain(table=u'filter',   chain=None,  fam‐
121833       ily=u'ipv4')
121834              New in version 2014.1.0.
121835
121836
121837              Delete custom chain to the specified table.
121838
121839              CLI Example:
121840
121841                 salt '*' iptables.delete_chain filter CUSTOM_CHAIN
121842
121843                 IPv6:
121844                 salt '*' iptables.delete_chain filter CUSTOM_CHAIN family=ipv6
121845
121846       salt.modules.iptables.flush(table=u'filter', chain=u'', family=u'ipv4')
121847              Flush the chain in the specified table, flush all chains in  the
121848              specified table if not specified chain.
121849
121850              CLI Example:
121851
121852                 salt '*' iptables.flush filter INPUT
121853
121854                 IPv6:
121855                 salt '*' iptables.flush filter INPUT family=ipv6
121856
121857       salt.modules.iptables.get_policy(table=u'filter',    chain=None,   fam‐
121858       ily=u'ipv4')
121859              Return the current policy for the specified table/chain
121860
121861              CLI Example:
121862
121863                 salt '*' iptables.get_policy filter INPUT
121864
121865                 IPv6:
121866                 salt '*' iptables.get_policy filter INPUT family=ipv6
121867
121868       salt.modules.iptables.get_rules(family=u'ipv4')
121869              Return a data structure of the current, in-memory rules
121870
121871              CLI Example:
121872
121873                 salt '*' iptables.get_rules
121874
121875                 IPv6:
121876                 salt '*' iptables.get_rules family=ipv6
121877
121878       salt.modules.iptables.get_saved_policy(table=u'filter',     chain=None,
121879       conf_file=None, family=u'ipv4')
121880              Return the current policy for the specified table/chain
121881
121882              CLI Examples:
121883
121884                 salt '*' iptables.get_saved_policy filter INPUT
121885                 salt '*' iptables.get_saved_policy filter INPUT \
121886                     conf_file=/etc/iptables.saved
121887
121888                 IPv6:
121889                 salt '*' iptables.get_saved_policy filter INPUT family=ipv6
121890                 salt '*' iptables.get_saved_policy filter INPUT \
121891                     conf_file=/etc/iptables.saved family=ipv6
121892
121893       salt.modules.iptables.get_saved_rules(conf_file=None, family=u'ipv4')
121894              Return a data structure of the rules in the conf file
121895
121896              CLI Example:
121897
121898                 salt '*' iptables.get_saved_rules
121899
121900                 IPv6:
121901                 salt '*' iptables.get_saved_rules family=ipv6
121902
121903       salt.modules.iptables.insert(table=u'filter',     chain=None,     posi‐
121904       tion=None, rule=None, family=u'ipv4')
121905              Insert a rule into the specified table/chain, at  the  specified
121906              position.
121907
121908              This function accepts a rule in a standard iptables command for‐
121909              mat,
121910                     starting with the chain. Trying to force users  to  adapt
121911                     to  a new method of creating rules would be irritating at
121912                     best, and we already have a parser that can handle it.
121913
121914              If the position specified is a negative number, then the  insert
121915              will be
121916                     performed   counting  from  the  end  of  the  list.  For
121917                     instance, a position of -1 will insert the  rule  as  the
121918                     second  to  last rule. To insert a rule in the last posi‐
121919                     tion, use the append function instead.
121920
121921              CLI Examples:
121922
121923                 salt '*' iptables.insert filter INPUT position=3 \
121924                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
121925
121926                 IPv6:
121927                 salt '*' iptables.insert filter INPUT position=3 \
121928                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
121929                     family=ipv6
121930
121931       salt.modules.iptables.new_chain(table=u'filter',    chain=None,    fam‐
121932       ily=u'ipv4')
121933              New in version 2014.1.0.
121934
121935
121936              Create new custom chain to the specified table.
121937
121938              CLI Example:
121939
121940                 salt '*' iptables.new_chain filter CUSTOM_CHAIN
121941
121942                 IPv6:
121943                 salt '*' iptables.new_chain filter CUSTOM_CHAIN family=ipv6
121944
121945       salt.modules.iptables.save(filename=None, family=u'ipv4')
121946              Save the current in-memory rules to disk
121947
121948              CLI Example:
121949
121950                 salt '*' iptables.save /etc/sysconfig/iptables
121951
121952                 IPv6:
121953                 salt '*' iptables.save /etc/sysconfig/iptables family=ipv6
121954
121955       salt.modules.iptables.set_policy(table=u'filter',    chain=None,   pol‐
121956       icy=None, family=u'ipv4')
121957              Set the current policy for the specified table/chain
121958
121959              CLI Example:
121960
121961                 salt '*' iptables.set_policy filter INPUT ACCEPT
121962
121963                 IPv6:
121964                 salt '*' iptables.set_policy filter INPUT ACCEPT family=ipv6
121965
121966       salt.modules.iptables.version(family=u'ipv4')
121967              Return version from iptables --version
121968
121969              CLI Example:
121970
121971                 salt '*' iptables.version
121972
121973                 IPv6:
121974                 salt '*' iptables.version family=ipv6
121975
121976   salt.modules.iwtools module
121977       Support for Wireless Tools for Linux
121978
121979       salt.modules.iwtools.list_interfaces(style=None)
121980              List all of the wireless interfaces
121981
121982              CLI Example:
121983                 salt minion iwtools.list_interfaces
121984
121985       salt.modules.iwtools.scan(iface, style=None)
121986              List networks on a wireless interface
121987
121988              CLI Examples:
121989                 salt minion  iwtools.scan  wlp3s0  salt  minion  iwtools.scan
121990                 wlp3s0 list
121991
121992       salt.modules.iwtools.set_mode(iface, mode)
121993              List networks on a wireless interface
121994
121995              CLI Example:
121996                 salt minion iwtools.set_mode wlp3s0 Managed
121997
121998   salt.modules.jboss7
121999       Module for managing JBoss AS 7 through the CLI interface.
122000
122001       New in version 2015.5.0.
122002
122003
122004       In order to run each function, jboss_config dictionary with the follow‐
122005       ing properties must be passed:
122006
122007              · cli_path:  the  path  to  jboss-cli   script,   for   example:
122008                '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
122009
122010              · controller:  the  IP address and port of controller, for exam‐
122011                ple: 10.11.12.13:9999
122012
122013              · cli_user: username to connect to jboss administration  console
122014                if necessary
122015
122016              · cli_password: password to connect to jboss administration con‐
122017                sole if necessary
122018
122019       Example:
122020
122021          jboss_config:
122022             cli_path: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
122023             controller: 10.11.12.13:9999
122024             cli_user: 'jbossadm'
122025             cli_password: 'jbossadm'
122026
122027       salt.modules.jboss7.create_datasource(jboss_config,     name,     data‐
122028       source_properties, profile=None)
122029              Create datasource in running jboss instance
122030
122031              jboss_config
122032                     Configuration dictionary with properties specified above.
122033
122034              name   Datasource name
122035
122036              datasource_properties
122037
122038                     A dictionary of datasource properties to be created:
122039
122040                            · driver-name: mysql
122041
122042                            · connection-url:                               '‐
122043                              jdbc:mysql://localhost:3306/sampleDatabase'
122044
122045                            · jndi-name: 'java:jboss/datasources/sampleDS'
122046
122047                            · user-name: sampleuser
122048
122049                            · password: secret
122050
122051                            · min-pool-size: 3
122052
122053                            · use-java-context: True
122054
122055              profile
122056                     The profile name (JBoss domain mode only)
122057
122058              CLI Example:
122059
122060                 salt '*' jboss7.create_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' 'my_datasource' '{"driver-name": "mysql", "connection-url": "jdbc:mysql://localhost:3306/sampleDatabase", "jndi-name": "java:jboss/datasources/sampleDS", "user-name": "sampleuser", "password": "secret", "min-pool-size": 3, "use-java-context": True}'
122061
122062       salt.modules.jboss7.create_simple_binding(jboss_config,   binding_name,
122063       value, profile=None)
122064              Create a simple jndi binding in the running jboss instance
122065
122066              jboss_config
122067                     Configuration dictionary with properties specified above.
122068
122069              binding_name
122070                     Binding name to be created
122071
122072              value  Binding value
122073
122074              profile
122075                     The profile name (JBoss domain mode only)
122076
122077              CLI Example:
122078
122079                 salt '*' jboss7.create_simple_binding \
122080                         '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", \
122081                         "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' \
122082                         my_binding_name my_binding_value
122083
122084       salt.modules.jboss7.deploy(jboss_config, source_file)
122085              Deploy the application on the jboss instance from the local file
122086              system where minion is running.
122087
122088              jboss_config
122089                     Configuration dictionary with properties specified above.
122090
122091              source_file
122092                     Source file to deploy from
122093
122094              CLI Example:
122095
122096                 salt '*' jboss7.deploy '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' /opt/deploy_files/my_deploy
122097
122098       salt.modules.jboss7.list_deployments(jboss_config)
122099              List all deployments on the jboss instance
122100
122101              jboss_config
122102                        Configuration  dictionary  with  properties  specified
122103                        above.
122104
122105                     CLI Example:
122106
122107                        salt '*' jboss7.list_deployments '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
122108
122109       salt.modules.jboss7.read_datasource(jboss_config, name, profile=None)
122110              Read datasource properties in the running jboss instance.
122111
122112              jboss_config
122113                     Configuration dictionary with properties specified above.
122114
122115              name   Datasource name
122116
122117              profile
122118                     Profile name (JBoss domain mode only)
122119
122120              CLI Example:
122121
122122                 salt '*' jboss7.read_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
122123
122124       salt.modules.jboss7.read_simple_binding(jboss_config,     binding_name,
122125       profile=None)
122126              Read jndi binding in the running jboss instance
122127
122128              jboss_config
122129                     Configuration dictionary with properties specified above.
122130
122131              binding_name
122132                     Binding name to be created
122133
122134              profile
122135                     The profile name (JBoss domain mode only)
122136
122137              CLI Example:
122138
122139
122140
122141                 salt '*' jboss7.read_simple_binding  '{"cli_path":  "integra‐
122142                 tion.modules.sysmod.SysModuleTest.test_valid_docs",     "con‐
122143                 troller":   "10.11.12.13:9999",    "cli_user":    "jbossadm",
122144                 "cli_password": "jbossadm"}' my_binding_name
122145
122146       salt.modules.jboss7.reload_(jboss_config, host=None)
122147              Reload running jboss instance
122148
122149              jboss_config
122150                     Configuration dictionary with properties specified above.
122151
122152              host   The  name  of  the  host.  JBoss  domain  mode only - and
122153                     required if running in domain mode.  The host name is the
122154                     "name" attribute of the "host" element in host.xml
122155
122156              CLI Example:
122157
122158                 salt '*' jboss7.reload '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
122159
122160       salt.modules.jboss7.remove_datasource(jboss_config, name, profile=None)
122161              Remove an existing datasource from the running jboss instance.
122162
122163              jboss_config
122164                     Configuration dictionary with properties specified above.
122165
122166              name   Datasource name
122167
122168              profile
122169                     The profile (JBoss domain mode only)
122170
122171              CLI Example:
122172
122173                 salt '*' jboss7.remove_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_datasource_name
122174
122175       salt.modules.jboss7.status(jboss_config, host=None, server_config=None)
122176              Get status of running jboss instance.
122177
122178              jboss_config
122179                     Configuration dictionary with properties specified above.
122180
122181              host   The  name  of  the  host.  JBoss  domain  mode only - and
122182                     required if running in domain mode.  The host name is the
122183                     "name" attribute of the "host" element in host.xml
122184
122185              server_config
122186                     The  name  of the Server Configuration. JBoss Domain mode
122187                     only - and required if running in domain mode.
122188
122189              CLI Example:
122190
122191                 salt '*' jboss7.status '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
122192
122193       salt.modules.jboss7.stop_server(jboss_config, host=None)
122194              Stop running jboss instance
122195
122196              jboss_config
122197                     Configuration dictionary with properties specified above.
122198
122199              host   The name of the  host.  JBoss  domain  mode  only  -  and
122200                     required if running in domain mode.  The host name is the
122201                     "name" attribute of the "host" element in host.xml
122202
122203              CLI Example:
122204
122205                 salt '*' jboss7.stop_server '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
122206
122207       salt.modules.jboss7.undeploy(jboss_config, deployment)
122208              Undeploy the application from jboss instance
122209
122210              jboss_config
122211                     Configuration dictionary with properties specified above.
122212
122213              deployment
122214                     Deployment name to undeploy
122215
122216              CLI Example:
122217
122218                 salt '*' jboss7.undeploy '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_deployment
122219
122220       salt.modules.jboss7.update_datasource(jboss_config,  name,  new_proper‐
122221       ties, profile=None)
122222              Update an existing datasource in running jboss instance.  If the
122223              property doesn't exist if will be created, if it does,  it  will
122224              be updated with the new value
122225
122226              jboss_config
122227                     Configuration dictionary with properties specified above.
122228
122229              name   Datasource name
122230
122231              new_properties
122232
122233                     A  dictionary of datasource properties to be updated. For
122234                     example:
122235
122236                            · driver-name: mysql
122237
122238                            · connection-url:                               '‐
122239                              jdbc:mysql://localhost:3306/sampleDatabase'
122240
122241                            · jndi-name: 'java:jboss/datasources/sampleDS'
122242
122243                            · user-name: sampleuser
122244
122245                            · password: secret
122246
122247                            · min-pool-size: 3
122248
122249                            · use-java-context: True
122250
122251              profile
122252                     The profile name (JBoss domain mode only)
122253
122254              CLI Example:
122255
122256                 salt '*' jboss7.update_datasource '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' 'my_datasource' '{"driver-name": "mysql", "connection-url": "jdbc:mysql://localhost:3306/sampleDatabase", "jndi-name": "java:jboss/datasources/sampleDS", "user-name": "sampleuser", "password": "secret", "min-pool-size": 3, "use-java-context": True}'
122257
122258       salt.modules.jboss7.update_simple_binding(jboss_config,   binding_name,
122259       value, profile=None)
122260              Update the simple jndi binding in the running jboss instance
122261
122262              jboss_config
122263                     Configuration dictionary with properties specified above.
122264
122265              binding_name
122266                     Binding name to be updated
122267
122268              value  New binding value
122269
122270              profile
122271                     The profile name (JBoss domain mode only)
122272
122273              CLI Example:
122274
122275                 salt '*' jboss7.update_simple_binding '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_binding_name my_binding_value
122276
122277   salt.modules.jboss7_cli
122278       Module for low-level interaction with JbossAS7 through CLI.
122279
122280       This module exposes two  ways  of  interaction  with  the  CLI,  either
122281       through commands or operations.
122282
122283       NOTE:
122284          Following             JBoss             documentation             (‐
122285          https://developer.jboss.org/wiki/CommandLineInterface):  "Operations
122286          are  considered  a  low level but comprehensive way to manage the AS
122287          controller, i.e. if it can't be done with  operations  it  can't  be
122288          done  in  any  other  way.   Commands,  on  the other hand, are more
122289          user-friendly in syntax, although most of them still translate  into
122290          operation requests and some of them even into a few composite opera‐
122291          tion requests, i.e. commands also simplify  some  management  opera‐
122292          tions from the user's point of view."
122293
122294       The  difference  between  calling a command or operation is in handling
122295       the result.  Commands return a zero return code if  operation  is  suc‐
122296       cessful  or  return non-zero return code and print an error to standard
122297       output in plain text, in case of an error.
122298
122299       Operations return a json-like structure, that contain more  information
122300       about  the  result.   In case of a failure, they also return a specific
122301       return code. This module parses the  output  from  the  operations  and
122302       returns  it  as  a  dictionary so that an execution of an operation can
122303       then be verified against specific errors.
122304
122305       In order to run each function, jboss_config dictionary with the follow‐
122306       ing properties must be passed:
122307
122308              · cli_path:   the   path   to  jboss-cli  script,  for  example:
122309                '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
122310
122311              · controller: the IP address and port of controller,  for  exam‐
122312                ple: 10.11.12.13:9999
122313
122314              · cli_user:  username to connect to jboss administration console
122315                if necessary
122316
122317              · cli_password: password to connect to jboss administration con‐
122318                sole if necessary
122319
122320       Example:
122321
122322          jboss_config:
122323             cli_path: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
122324             controller: 10.11.12.13:9999
122325             cli_user: 'jbossadm'
122326             cli_password: 'jbossadm'
122327
122328       salt.modules.jboss7_cli.run_command(jboss_config,              command,
122329       fail_on_error=True)
122330              Execute a command against jboss instance through the CLI  inter‐
122331              face.
122332
122333              jboss_config
122334                     Configuration dictionary with properties specified above.
122335
122336              command
122337                     Command to execute against jboss instance
122338
122339              fail_on_error (default=True)
122340                     Is  true, raise CommandExecutionError exception if execu‐
122341                     tion fails.  If false, 'success' property of the returned
122342                     dictionary is set to False
122343
122344              CLI Example:
122345
122346                 salt '*' jboss7_cli.run_command '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_command
122347
122348       salt.modules.jboss7_cli.run_operation(jboss_config,          operation,
122349       fail_on_error=True, retries=1)
122350              Execute an operation against  jboss  instance  through  the  CLI
122351              interface.
122352
122353              jboss_config
122354                     Configuration dictionary with properties specified above.
122355
122356              operation
122357                     An operation to execute against jboss instance
122358
122359              fail_on_error (default=True)
122360                     Is  true, raise CommandExecutionError exception if execu‐
122361                     tion fails.  If false, 'success' property of the returned
122362                     dictionary is set to False
122363
122364              retries:
122365                     Number  of retries in case of "JBAS012144: Could not con‐
122366                     nect to remote" error.
122367
122368              CLI Example:
122369
122370                 salt '*' jboss7_cli.run_operation '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' my_operation
122371
122372   salt.modules.jenkinsmod module
122373       Module for controlling Jenkins
122374
122375       depends
122376              python-jenkins
122377
122378       New in version 2016.3.0.
122379
122380
122381       depends
122382              python-jenkins Python module (not to be confused with jenkins)
122383
122384       configuration
122385              This module can be used by either passing an api key and version
122386              directly or by specifying both in a configuration profile in the
122387              salt master/minion config.
122388
122389              For example:
122390
122391                 jenkins:
122392                   api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
122393
122394       salt.modules.jenkinsmod.build_job(name=None, parameters=None)
122395              Initiate a build for the provided job.
122396
122397              Parameters
122398
122399                     · name -- The name of the job is check if it exists.
122400
122401                     · parameters -- Parameters to send to the job.
122402
122403              Returns
122404                     True is successful, otherwise raise an exception.
122405
122406              CLI Example:
122407
122408                 salt '*' jenkins.build_job jobname
122409
122410       salt.modules.jenkinsmod.create_job(name=None,          config_xml=None,
122411       saltenv=u'base')
122412              Return the configuration file.
122413
122414              Parameters
122415
122416                     · name -- The name of the job is check if it exists.
122417
122418                     · config_xml  --  The configuration file to use to create
122419                       the job.
122420
122421                     · saltenv -- The environment to look for the file in.
122422
122423              Returns
122424                     The configuration file used for the job.
122425
122426              CLI Example:
122427
122428                 salt '*' jenkins.create_job jobname
122429
122430                 salt '*' jenkins.create_job jobname config_xml='salt://jenkins/config.xml'
122431
122432       salt.modules.jenkinsmod.delete_job(name=None)
122433              Return true is job is deleted successfully.
122434
122435              Parameters
122436                     name -- The name of the job to delete.
122437
122438              Returns
122439                     Return true if job is deleted successfully.
122440
122441              CLI Example:
122442
122443                 salt '*' jenkins.delete_job jobname
122444
122445       salt.modules.jenkinsmod.disable_job(name=None)
122446              Return true is job is disabled successfully.
122447
122448              Parameters
122449                     name -- The name of the job to disable.
122450
122451              Returns
122452                     Return true if job is disabled successfully.
122453
122454              CLI Example:
122455
122456                 salt '*' jenkins.disable_job jobname
122457
122458       salt.modules.jenkinsmod.enable_job(name=None)
122459              Return true is job is enabled successfully.
122460
122461              Parameters
122462                     name -- The name of the job to enable.
122463
122464              Returns
122465                     Return true if job is enabled successfully.
122466
122467              CLI Example:
122468
122469                 salt '*' jenkins.enable_job jobname
122470
122471       salt.modules.jenkinsmod.get_job_config(name=None)
122472              Return the current job configuration for the provided job.
122473
122474              Parameters
122475                     name -- The name of the job to return  the  configuration
122476                     for.
122477
122478              Returns
122479                     The configuration for the job specified.
122480
122481              CLI Example:
122482
122483                 salt '*' jenkins.get_job_config jobname
122484
122485       salt.modules.jenkinsmod.get_job_info(name=None)
122486              Return information about the Jenkins job.
122487
122488              Parameters
122489                     name -- The name of the job is check if it exists.
122490
122491              Returns
122492                     Information about the Jenkins job.
122493
122494              CLI Example:
122495
122496                 salt '*' jenkins.get_job_info jobname
122497
122498       salt.modules.jenkinsmod.get_jobs()
122499              Return the currently configured jobs.
122500
122501              Returns
122502                     The currently configured jobs.
122503
122504              CLI Example:
122505
122506                 salt '*' jenkins.get_jobs
122507
122508       salt.modules.jenkinsmod.get_version()
122509              Return version of Jenkins
122510
122511              Returns
122512                     The version of Jenkins
122513
122514              CLI Example:
122515
122516                 salt '*' jenkins.get_version
122517
122518       salt.modules.jenkinsmod.job_exists(name=None)
122519              Check whether the job exists in configured Jenkins jobs.
122520
122521              Parameters
122522                     name -- The name of the job is check if it exists.
122523
122524              Returns
122525                     True if job exists, False if job does not exist.
122526
122527              CLI Example:
122528
122529                 salt '*' jenkins.job_exists jobname
122530
122531       salt.modules.jenkinsmod.job_status(name=None)
122532              Return the current status, enabled or disabled, of the job.
122533
122534              Parameters
122535                     name -- The name of the job to return status for
122536
122537              Returns
122538                     Return true if enabled or false if disabled.
122539
122540              CLI Example:
122541
122542                 salt '*' jenkins.job_status jobname
122543
122544       salt.modules.jenkinsmod.plugin_installed(name)
122545              New in version 2016.11.0.
122546
122547
122548              Return if the plugin is installed for the provided plugin name.
122549
122550              Parameters
122551                     name  --  The  name of the parameter to confirm installa‐
122552                     tion.
122553
122554              Returns
122555                     True if plugin exists, False if plugin does not exist.
122556
122557              CLI Example:
122558
122559                 salt '*' jenkins.plugin_installed pluginName
122560
122561       salt.modules.jenkinsmod.run(script)
122562              New in version 2017.7.0.
122563
122564
122565              Execute a script on the jenkins master
122566
122567              Parameters
122568                     script -- The script
122569
122570              CLI Example:
122571
122572                 salt '*' jenkins.run 'Jenkins.instance.doSafeRestart()'
122573
122574       salt.modules.jenkinsmod.update_job(name=None,          config_xml=None,
122575       saltenv=u'base')
122576              Return the updated configuration file.
122577
122578              Parameters
122579
122580                     · name -- The name of the job is check if it exists.
122581
122582                     · config_xml  --  The configuration file to use to create
122583                       the job.
122584
122585                     · saltenv -- The environment to look for the file in.
122586
122587              Returns
122588                     The configuration file used for the job.
122589
122590              CLI Example:
122591
122592                 salt '*' jenkins.update_job jobname
122593
122594                 salt '*' jenkins.update_job jobname config_xml='salt://jenkins/config.xml'
122595
122596   salt.modules.jinja
122597       Module for checking jinja maps and  verifying  the  result  of  loading
122598       JSON/YAML files
122599
122600       New in version 3000.
122601
122602
122603       salt.modules.jinja.import_json(*args)
122604              Loads JSON data from the specified path
122605
122606              CLI Example:
122607
122608                 salt myminion jinja.import_JSON myformula/foo.json
122609
122610       salt.modules.jinja.import_yaml(*args)
122611              Loads YAML data from the specified path
122612
122613              CLI Example:
122614
122615                 salt myminion jinja.import_yaml myformula/foo.yaml
122616
122617       salt.modules.jinja.load_map(*args)
122618              Loads  the  map at the specified path, and returns the specified
122619              value from that map.
122620
122621              CLI Example:
122622
122623                 # Assuming the map is loaded in your formula SLS as follows:
122624                 #
122625                 # {% from "myformula/map.jinja" import myformula with context %}
122626                 #
122627                 # the following syntax can be used to load the map and check the
122628                 # results:
122629                 salt myminion jinja.load_map myformula/map.jinja myformula
122630
122631   salt.modules.jira_mod module
122632   JIRA Execution module
122633       New in version 2019.2.0.
122634
122635
122636       Execution module to manipulate JIRA tickets via Salt.
122637
122638       This module requires the jira Python library to be installed.
122639
122640       Configuration example:
122641
122642          jira:
122643            server: https://jira.atlassian.org
122644            username: salt
122645            password: pass
122646
122647       salt.modules.jira_mod.add_comment(issue_key, comment,  visibility=None,
122648       is_internal=False, server=None, username=None, password=None)
122649              Add  a  comment  to an existing ticket. Return True when it suc‐
122650              cessfully added the comment.
122651
122652              issue_key
122653                     The issue ID to add the comment to.
122654
122655              comment
122656                     The body of the comment to be added.
122657
122658              visibility: None
122659                     A dictionary having two keys:
122660
122661                     · type: is role (or group if the JIRA server has  config‐
122662                       ured comment visibility for groups).
122663
122664                     · value: the name of the role (or group) to which viewing
122665                       of this comment will be restricted.
122666
122667              is_internal: False
122668                     Whether a comment has to be marked as  Internal  in  Jira
122669                     Service Desk.
122670
122671              CLI Example:
122672
122673                 salt '*' jira.add_comment NE-123 'This is a comment'
122674
122675       salt.modules.jira_mod.assign_issue(issue_key,   assignee,  server=None,
122676       username=None, password=None)
122677              Assign the issue to an existing user. Return True when the issue
122678              has been properly assigned.
122679
122680              issue_key
122681                     The JIRA ID of the ticket to manipulate.
122682
122683              assignee
122684                     The name of the user to assign the ticket to.
122685
122686              CLI Example:
122687                 salt '*' jira.assign_issue NET-123 example_user
122688
122689       salt.modules.jira_mod.create_issue(project,  summary, description, tem‐
122690       plate_engine=u'jinja',  context=None,  defaults=None,  saltenv=u'base',
122691       issuetype=u'Bug',   priority=u'Normal',   labels=None,   assignee=None,
122692       server=None, username=None, password=None, **kwargs)
122693              Create a JIRA issue using the named settings.  Return  the  JIRA
122694              ticket ID.
122695
122696              project
122697                     The name of the project to attach the JIRA ticket to.
122698
122699              summary
122700                     The  summary  (title)  of  the JIRA ticket. When the tem‐
122701                     plate_engine argument is set to  a  proper  value  of  an
122702                     existing  Salt  template engine (e.g., jinja, mako, etc.)
122703                     it will render the summary before creating the ticket.
122704
122705              description
122706                     The full body description of the JIRA  ticket.  When  the
122707                     template_engine  argument  is set to a proper value of an
122708                     existing Salt template engine (e.g., jinja,  mako,  etc.)
122709                     it  will  render  the  description  before  creating  the
122710                     ticket.
122711
122712              template_engine: jinja
122713                     The name of the template engine to be used to render  the
122714                     values of the summary and description arguments. Default:
122715                     jinja.
122716
122717              context: None
122718                     The context  to  pass  when  rendering  the  summary  and
122719                     description.    This   argument   is  ignored  when  tem‐
122720                     plate_engine is set as None
122721
122722              defaults: None
122723                     Default values to pass to the Salt rendering pipeline for
122724                     the  summary and description arguments.  This argument is
122725                     ignored when template_engine is set as None.
122726
122727              saltenv: base
122728                     The Salt environment name (for the rendering system).
122729
122730              issuetype: Bug
122731                     The type of the JIRA ticket. Default: Bug.
122732
122733              priority: Normal
122734                     The priority of the JIRA ticket. Default: Normal.
122735
122736              labels: None
122737                     A list of labels to add to the ticket.
122738
122739              assignee: None
122740                     The name of the person to assign the ticket to.
122741
122742              CLI Examples:
122743
122744                 salt '*' jira.create_issue NET 'Ticket title' 'Ticket description'
122745                 salt '*' jira.create_issue NET 'Issue on {{ opts.id }}' 'Error detected on {{ opts.id }}' template_engine=jinja
122746
122747       salt.modules.jira_mod.issue_closed(issue_key,    server=None,     user‐
122748       name=None, password=None)
122749              Check if the issue is closed.
122750
122751              issue_key
122752                     The JIRA iD of the ticket to close.
122753
122754              Returns:
122755
122756              · True: the ticket exists and it is closed.
122757
122758              · False: the ticket exists and it has not been closed.
122759
122760              · None: the ticket does not exist.
122761
122762              CLI Example:
122763
122764                 salt '*' jira.issue_closed NE-123
122765
122766   salt.modules.junos
122767       Module to interact with Junos devices.
122768
122769       maturity
122770              new
122771
122772       dependencies
122773              junos-eznc, jxmlease
122774
122775       NOTE:
122776          Those  who  wish to use junos-eznc (PyEZ) version >= 2.1.0, must use
122777          the latest salt code from github until the next release.
122778
122779       Refer to junos for information on connecting to junos proxy.
122780
122781       salt.modules.junos.cli(*args, **kwargs)
122782              Executes the CLI commands and returns the  output  in  specified
122783              format.     (default is text) The output can also be stored in a
122784              file.
122785
122786              command (required)
122787                     The command to execute on the Junos CLI
122788
122789              format text Format in which to get the CLI output  (either  text
122790                     or xml)
122791
122792              dev_timeout
122793                     30 The NETCONF RPC timeout (in seconds)
122794
122795              dest   Destination  file  where  the  RPC output is stored. Note
122796                     that the file will be stored on the proxy minion. To push
122797                     the files to the master use cp.push.
122798
122799              CLI Examples:
122800
122801                 salt 'device_name' junos.cli 'show system commit'
122802                 salt 'device_name' junos.cli 'show version' dev_timeout=40
122803                 salt 'device_name' junos.cli 'show system alarms' format=xml dest=/home/user/cli_output.txt
122804
122805       salt.modules.junos.commit(*args, **kwargs)
122806              To commit the changes loaded in the candidate configuration.
122807
122808              dev_timeout
122809                     30 The NETCONF RPC timeout (in seconds)
122810
122811              comment
122812                     Provide a comment for the commit
122813
122814              confirm
122815                     Provide  time in minutes for commit confirmation. If this
122816                     option is specified, the commit will be  rolled  back  in
122817                     the  specified  amount  of time unless the commit is con‐
122818                     firmed.
122819
122820              sync   False When True, on dual control plane systems,  requests
122821                     that  the candidate configuration on one control plane be
122822                     copied to the other control plane,  checked  for  correct
122823                     syntax, and committed on both Routing Engines.
122824
122825              force_sync
122826                     False When True, on dual control plane systems, force the
122827                     candidate configuration on one control plane to be copied
122828                     to the other control plane.
122829
122830              full   When True, requires all the daemons to check and evaluate
122831                     the new configuration.
122832
122833              detail When True, return commit detail
122834
122835              CLI Examples:
122836
122837                 salt 'device_name' junos.commit comment='Commiting via saltstack' detail=True
122838                 salt 'device_name' junos.commit dev_timeout=60 confirm=10
122839                 salt 'device_name' junos.commit sync=True dev_timeout=90
122840
122841       salt.modules.junos.commit_check()
122842              Perform a commit check on the configuration
122843
122844              CLI Example:
122845
122846                 salt 'device_name' junos.commit_check
122847
122848       salt.modules.junos.diff(**kwargs)
122849              Returns the difference between the  candidate  and  the  current
122850              configuration
122851
122852              id     0 The rollback ID value (0-49)
122853
122854              CLI Example:
122855
122856                 salt 'device_name' junos.diff 3
122857
122858       salt.modules.junos.facts()
122859              Displays  the facts gathered during the connection.  These facts
122860              are also stored in Salt grains.
122861
122862              CLI Example:
122863
122864                 salt 'device_name' junos.facts
122865
122866       salt.modules.junos.facts_refresh()
122867              Reload the facts dictionary from the device. Usually only needed
122868              if,  the  device  configuration  is changed by some other actor.
122869              This function will also refresh the facts  stored  in  the  salt
122870              grains.
122871
122872              CLI Example:
122873
122874                 salt 'device_name' junos.facts_refresh
122875
122876       salt.modules.junos.file_copy(src=None, dest=None)
122877              Copies the file from the local device to the junos device
122878
122879              src    The source path where the file is kept.
122880
122881              dest   The destination path on the where the file will be copied
122882
122883              CLI Example:
122884
122885                 salt 'device_name' junos.file_copy /home/m2/info.txt info_copy.txt
122886
122887       salt.modules.junos.install_config(*args, **kwargs)
122888              Installs the given configuration file into the candidate config‐
122889              uration.  Commits the changes if the commit checks or throws  an
122890              error.
122891
122892              path (required)
122893                     Path where the configuration/template file is present. If
122894                     the file has a .conf extension, the content is treated as
122895                     text  format.  If the file has a .xml extension, the con‐
122896                     tent is treated as XML format. If the  file  has  a  .set
122897                     extension,  the  content  is treated as Junos OS set com‐
122898                     mands.
122899
122900              mode   exclusive The mode in which the configuration is  locked.
122901                     Can be one of private, dynamic, batch, exclusive.
122902
122903              dev_timeout
122904                     30  Set  NETCONF  RPC  timeout.  Can be used for commands
122905                     which take a while to execute.
122906
122907              overwrite
122908                     False Set to True if you want this file is to  completely
122909                     replace the configuration file.
122910
122911              replace
122912                     False   Specify   whether  the  configuration  file  uses
122913                     replace: statements. If True, only those statements under
122914                     the replace tag will be changed.
122915
122916              format Determines the format of the contents
122917
122918              update False Compare a complete loaded configuration against the
122919                     candidate configuration. For each hierarchy level or con‐
122920                     figuration object that is different in the two configura‐
122921                     tions, the version in the loaded  configuration  replaces
122922                     the version in the candidate configuration. When the con‐
122923                     figuration is later committed, only system processes that
122924                     are  affected by the changed configuration elements parse
122925                     the new configuration. This action is supported from PyEZ
122926                     2.1.
122927
122928              comment
122929                     Provide a comment for the commit
122930
122931              confirm
122932                     Provide  time in minutes for commit confirmation. If this
122933                     option is specified, the commit will be  rolled  back  in
122934                     the  specified  amount  of time unless the commit is con‐
122935                     firmed.
122936
122937              diffs_file
122938                     Path to the file where the diff (difference in  old  con‐
122939                     figuration  and  the  committed  configuration)  will  be
122940                     stored. Note that the file will be stored  on  the  proxy
122941                     minion. To push the files to the master use cp.push.
122942
122943              template_vars
122944                     Variables  to  be  passed  into  the  template processing
122945                     engine in addition to those present in pillar, the minion
122946                     configuration,  grains,  etc.   You  may  reference these
122947                     variables in your template like so:
122948
122949                        {{ template_vars["var_name"] }}
122950
122951              CLI Examples:
122952
122953                 salt 'device_name' junos.install_config 'salt://production/network/routers/config.set'
122954                 salt 'device_name' junos.install_config 'salt://templates/replace_config.conf' replace=True comment='Committed via SaltStack'
122955                 salt 'device_name' junos.install_config 'salt://my_new_configuration.conf' dev_timeout=300 diffs_file='/salt/confs/old_config.conf' overwrite=True
122956                 salt 'device_name' junos.install_config 'salt://syslog_template.conf' template_vars='{"syslog_host": "10.180.222.7"}'
122957
122958       salt.modules.junos.install_os(*args, **kwargs)
122959              Installs the given image on the device. After  the  installation
122960              is  complete     the device is rebooted, if reboot=True is given
122961              as a keyworded argument.
122962
122963              path (required)
122964                     Path where the image file is present on the proxy minion
122965
122966              remote_path :
122967                     If the value of path  is a file path on the  local  (Salt
122968                     host's)  filesystem,  then  the  image is copied from the
122969                     local filesystem to the :remote_path:  directory  on  the
122970                     target  Junos  device.  The  default  is /var/tmp. If the
122971                     value  of  :path:  or  is  a  URL,  then  the  value   of
122972                     :remote_path: is unused.
122973
122974              dev_timeout
122975                     30  The  NETCONF  RPC timeout (in seconds). This argument
122976                     was added since most of the time the  "package  add"  RPC
122977                     takes  a  significant  amount  of  time.  The default RPC
122978                     timeout is 30 seconds.  So this :timeout: value  will  be
122979                     used  in  the  context  of  the  SW installation process.
122980                     Defaults to 30 minutes (30*60=1800)
122981
122982              reboot False Whether to reboot after installation
122983
122984              no_copy
122985                     False If True the software package will not be  SCP’d  to
122986                     the device
122987
122988              bool validate:
122989                     When  True  this  method will perform a config validation
122990                     against the new image
122991
122992              bool issu:
122993                     When True  allows  unified  in-service  software  upgrade
122994                     (ISSU) feature enables you to upgrade between two differ‐
122995                     ent Junos OS releases with no disruption on  the  control
122996                     plane and with minimal disruption of traffic.
122997
122998              bool nssu:
122999                     When  True allows nonstop software upgrade (NSSU) enables
123000                     you to upgrade the software running on a Juniper Networks
123001                     EX Series Virtual Chassis or a Juniper Networks EX Series
123002                     Ethernet Switch with redundant  Routing  Engines  with  a
123003                     single command and minimal disruption to network traffic.
123004
123005              CLI Examples:
123006
123007                 salt 'device_name' junos.install_os 'salt://images/junos_image.tgz' reboot=True
123008                 salt 'device_name' junos.install_os 'salt://junos_16_1.tgz' dev_timeout=300
123009
123010       salt.modules.junos.load(path=None, **kwargs)
123011              Loads the configuration from the file provided onto the device.
123012
123013              path (required)
123014                     Path where the configuration/template file is present. If
123015                     the file has a .conf extension, the content is treated as
123016                     text  format.  If the file has a .xml extension, the con‐
123017                     tent is treated as XML format. If the  file  has  a  .set
123018                     extension,  the  content  is treated as Junos OS set com‐
123019                     mands.
123020
123021              overwrite
123022                     False Set to True if you want this file is to  completely
123023                     replace the configuration file.
123024
123025              replace
123026                     False   Specify   whether  the  configuration  file  uses
123027                     replace: statements. If True, only those statements under
123028                     the replace tag will be changed.
123029
123030              format Determines the format of the contents
123031
123032              update False Compare a complete loaded configuration against the
123033                     candidate configuration. For each hierarchy level or con‐
123034                     figuration object that is different in the two configura‐
123035                     tions, the version in the loaded  configuration  replaces
123036                     the version in the candidate configuration. When the con‐
123037                     figuration is later committed, only system processes that
123038                     are  affected by the changed configuration elements parse
123039                     the new configuration. This action is supported from PyEZ
123040                     2.1.
123041
123042              template_vars
123043                     Variables  to  be  passed  into  the  template processing
123044                     engine in addition to those present in pillar, the minion
123045                     configuration,  grains,  etc.   You  may  reference these
123046                     variables in your template like so:
123047
123048                        {{ template_vars["var_name"] }}
123049
123050              CLI Examples:
123051
123052                 salt 'device_name' junos.load 'salt://production/network/routers/config.set'
123053
123054                 salt 'device_name' junos.load 'salt://templates/replace_config.conf' replace=True
123055
123056                 salt 'device_name' junos.load 'salt://my_new_configuration.conf' overwrite=True
123057
123058                 salt 'device_name' junos.load 'salt://syslog_template.conf' template_vars='{"syslog_host": "10.180.222.7"}'
123059
123060       salt.modules.junos.lock()
123061              Attempts an exclusive lock on the candidate configuration.  This
123062              is a non-blocking call.
123063
123064              NOTE:
123065                 When   locking,   it   is   important  to  remember  to  call
123066                 junos.unlock once finished. If locking during  orchestration,
123067                 remember  to  include  a  step  in  the  orchestration job to
123068                 unlock.
123069
123070              CLI Example:
123071
123072                 salt 'device_name' junos.lock
123073
123074       salt.modules.junos.ping(*args, **kwargs)
123075              Send a ping RPC to a device
123076
123077              dest_ip
123078                     The IP of the device to ping
123079
123080              dev_timeout
123081                     30 The NETCONF RPC timeout (in seconds)
123082
123083              rapid  False When True, executes ping at 100pps instead of 1pps
123084
123085              ttl    Maximum number of IP routers (IP  hops)  allowed  between
123086                     source and destination
123087
123088              routing_instance
123089                     Name of the routing instance to use to send the ping
123090
123091              interface
123092                     Interface used to send traffic
123093
123094              count  5 Number of packets to send
123095
123096              CLI Examples:
123097
123098                 salt 'device_name' junos.ping '8.8.8.8' count=5
123099                 salt 'device_name' junos.ping '8.8.8.8' ttl=1 rapid=True
123100
123101       salt.modules.junos.rollback(*args, **kwargs)
123102              Roll back the last committed configuration changes and commit
123103
123104              id     0 The rollback ID value (0-49)
123105
123106              dev_timeout
123107                     30 The NETCONF RPC timeout (in seconds)
123108
123109              comment
123110                     Provide a comment for the commit
123111
123112              confirm
123113                     Provide  time in minutes for commit confirmation. If this
123114                     option is specified, the commit will be  rolled  back  in
123115                     the  specified  amount  of time unless the commit is con‐
123116                     firmed.
123117
123118              diffs_file
123119                     Path to the file where the diff (difference in  old  con‐
123120                     figuration  and  the  committed  configuration)  will  be
123121                     stored. Note that the file will be stored  on  the  proxy
123122                     minion. To push the files to the master use cp.push.
123123
123124              CLI Example:
123125
123126                 salt 'device_name' junos.rollback 10
123127
123128       salt.modules.junos.rpc(*args, **kwargs)
123129              This  function  executes  the  RPC  provided as arguments on the
123130              junos device.  The returned data can be stored in a file.
123131
123132              cmd    The RPC to be executed
123133
123134              dest   Destination file where the RPC  output  is  stored.  Note
123135                     that the file will be stored on the proxy minion. To push
123136                     the files to the master use cp.push.
123137
123138              format xml The format in which the RPC reply  is  received  from
123139                     the device
123140
123141              dev_timeout
123142                     30 The NETCONF RPC timeout (in seconds)
123143
123144              filter Used  with  the get-config RPC to get specific configura‐
123145                     tion
123146
123147              terse  False Amount of information you want
123148
123149              interface_name
123150                     Name of the interface to query
123151
123152              CLI Example:
123153
123154                 salt 'device' junos.rpc get_config /var/log/config.txt format=text filter='<configuration><system/></configuration>'
123155                 salt 'device' junos.rpc get-interface-information /home/user/interface.xml interface_name='lo0' terse=True
123156                 salt 'device' junos.rpc get-chassis-inventory
123157
123158       salt.modules.junos.set_hostname(*args, **kwargs)
123159              Set the device's hostname
123160
123161              hostname
123162                     The name to be set
123163
123164              dev_timeout
123165                     30 The NETCONF RPC timeout (in seconds)
123166
123167              comment
123168                     Provide a comment to the commit
123169
123170              confirm
123171                     Provide time in minutes for commit confirmation. If  this
123172                     option  is  specified,  the commit will be rolled back in
123173                     the specified amount of time unless the  commit  is  con‐
123174                     firmed.
123175
123176              CLI Example:
123177
123178                 salt 'device_name' junos.set_hostname salt-device
123179
123180       salt.modules.junos.shutdown(**kwargs)
123181              Shut  down (power off) or reboot a device running Junos OS. This
123182              includes all Routing Engines in a  Virtual  Chassis  or  a  dual
123183              Routing Engine system.
123184
123185                 NOTE:
123186                     One  of  shutdown  or  reboot  must  be set to True or no
123187                     action will be taken.
123188
123189              shutdown
123190                     False Set this to  True  if  you  want  to  shutdown  the
123191                     machine. This is a safety mechanism so that the user does
123192                     not accidentally shutdown the junos device.
123193
123194              reboot False If True, reboot instead of shutting down
123195
123196              at     Used when rebooting, to specify the  date  and  time  the
123197                     reboot  should  take place. The value of this option must
123198                     match the JunOS CLI reboot syntax.
123199
123200              in_min Used when shutting down. Specify the delay  (in  minutes)
123201                     before the device will be shut down.
123202
123203              CLI Examples:
123204
123205                 salt 'device_name' junos.shutdown reboot=True
123206                 salt 'device_name' junos.shutdown shutdown=True in_min=10
123207                 salt 'device_name' junos.shutdown shutdown=True
123208
123209       salt.modules.junos.timeoutDecorator(function)
123210
123211       salt.modules.junos.unlock()
123212              Unlocks the candidate configuration.
123213
123214              CLI Example:
123215
123216                 salt 'device_name' junos.unlock
123217
123218       salt.modules.junos.zeroize()
123219              Resets the device to default factory settings
123220
123221              CLI Example:
123222
123223                 salt 'device_name' junos.zeroize
123224
123225   salt.modules.k8s
123226       Salt module to manage Kubernetes cluster
123227
123228       New in version 2016.3.0.
123229
123230
123231       Roadmap:
123232
123233       · Add creation of K8S objects (pod, rc, service, ...)
123234
123235       · Add replace of K8S objects (pod, rc, service, ...)
123236
123237       · Add deletion of K8S objects (pod, rc, service, ...)
123238
123239       · Add rolling update
123240
123241       · Add (auto)scalling
123242
123243       salt.modules.k8s.create_namespace(name, apiserver_url=None)
123244              New in version 2016.3.0.
123245
123246
123247              Create  kubernetes namespace from the name, similar to the func‐
123248              tionality added to kubectl since v.1.2.0:
123249                 kubectl create namespaces namespace-name
123250
123251              CLI Example:
123252
123253                 salt '*' k8s.create_namespace namespace_name
123254
123255                 salt '*' k8s.create_namespace namespace_name http://kube-master.cluster.local
123256
123257       salt.modules.k8s.create_secret(namespace,    name,    sources,    apis‐
123258       erver_url=None, force=False, update=False, saltenv=u'base')
123259              New in version 2016.3.0.
123260
123261
123262              Create  k8s  secrets  in  the defined namespace from the list of
123263              files
123264
123265              CLI Example:
123266
123267                 salt '*' k8s.create_secret namespace_name secret_name sources
123268
123269                 salt '*' k8s.create_secret namespace_name secret_name sources
123270                 http://kube-master.cluster.local
123271
123272              sources are either dictionary of {name: path, name1: path} pairs
123273              or array of strings defining paths.
123274
123275              Example of paths array:
123276
123277
123278
123279              ['/full/path/filename',            "file:///full/path/filename",
123280              "salt://secret/storage/file.txt",  "http://user:password@secure‐
123281              site.com/secret-file.json"]
123282
123283              Example of dictionaries:
123284
123285
123286
123287              {"nameit":   '/full/path/fiename',  name2:  "salt://secret/stor‐
123288              age/file.txt"}
123289
123290              optional parameters accepted:
123291
123292              update=[false] default value is  false  if  set  to  false,  and
123293              secret  is  already  present  on  the  cluster - warning will be
123294              returned and no changes to the secret will be done.  In case  it
123295              is  set  to  "true"  and  secret is present but data is differ -
123296              secret will be updated.
123297
123298              force=[true] default value is true if the to False, secret  will
123299              not  be created in case one of the files is not valid kubernetes
123300              secret. e.g. capital letters in secret name or _ in  case  force
123301              is  set  to True, wrong files will be skipped but secret will be
123302              created any way.
123303
123304              saltenv=['base'] default value is base in case 'salt://' path is
123305              used, this parameter can change the visibility of files
123306
123307       salt.modules.k8s.delete_secret(namespace,   name,   apiserver_url=None,
123308       force=True)
123309              New in version 2016.3.0.
123310
123311
123312              Delete kubernetes secret in the defined namespace. Namespace  is
123313              the mandatory parameter as well as name.
123314
123315              CLI Example:
123316
123317                 salt '*' k8s.delete_secret namespace_name secret_name
123318
123319                 salt '*' k8s.delete_secret namespace_name secret_name http://kube-master.cluster.local
123320
123321       salt.modules.k8s.get_labels(node=None, apiserver_url=None)
123322              New in version 2016.3.0.
123323
123324
123325              Get labels from the current node
123326
123327              CLI Example:
123328
123329                 salt '*' k8s.get_labels
123330                 salt '*' k8s.get_labels kube-node.cluster.local http://kube-master.cluster.local
123331
123332       salt.modules.k8s.get_namespaces(namespace=u'', apiserver_url=None)
123333              New in version 2016.3.0.
123334
123335
123336              Get one or all kubernetes namespaces.
123337
123338              If  namespace  parameter  is  omitted,  all  namespaces  will be
123339              returned back to user, similar to following kubectl example:
123340
123341                 kubectl get namespaces -o json
123342
123343              In case namespace is set by user, the output will be similar  to
123344              the one from kubectl:
123345
123346                 kubectl get namespaces namespace_name -o json
123347
123348              CLI Example:
123349
123350                 salt '*' k8s.get_namespaces
123351                 salt '*' k8s.get_namespaces namespace_name http://kube-master.cluster.local
123352
123353       salt.modules.k8s.get_secrets(namespace,  name=u'',  apiserver_url=None,
123354       decode=False, brief=False)
123355              Get k8s namespaces
123356
123357              CLI Example:
123358
123359                 salt '*' k8s.get_secrets namespace_name
123360                 salt '*' k8s.get_secrets namespace_name secret_name http://kube-master.cluster.local
123361
123362       salt.modules.k8s.label_absent(name, node=None, apiserver_url=None)
123363              New in version 2016.3.0.
123364
123365
123366              Delete label to the current node
123367
123368              CLI Example:
123369
123370                 salt '*' k8s.label_absent hw/disktype
123371                 salt '*' k8s.label_absent hw/disktype kube-node.cluster.local http://kube-master.cluster.local
123372
123373       salt.modules.k8s.label_folder_absent(name,       node=None,       apis‐
123374       erver_url=None)
123375              New in version 2016.3.0.
123376
123377
123378              Delete label folder to the current node
123379
123380              CLI Example:
123381
123382                 salt '*' k8s.label_folder_absent hw
123383                 salt '*' k8s.label_folder_absent hw/ kube-node.cluster.local http://kube-master.cluster.local
123384
123385       salt.modules.k8s.label_present(name,     value,     node=None,    apis‐
123386       erver_url=None)
123387              New in version 2016.3.0.
123388
123389
123390              Set label to the current node
123391
123392              CLI Example:
123393
123394                 salt '*' k8s.label_present hw/disktype ssd
123395
123396                 salt '*' k8s.label_present hw/disktype ssd kube-node.cluster.local http://kube-master.cluster.local
123397
123398       salt.modules.k8s.update_secret(namespace,    name,    sources,    apis‐
123399       erver_url=None, force=True, saltenv=u'base')
123400              New in version 2016.3.0.
123401
123402
123403              alias to k8s.create_secret with update=true
123404
123405              CLI Example:
123406
123407                 salt '*' k8s.update_secret namespace_name secret_name sources [apiserver_url] [force=true] [update=false] [saltenv='base']
123408
123409              sources are either dictionary of {name: path, name1: path} pairs
123410              or array of strings defining paths.
123411
123412              Example of paths array:
123413
123414
123415
123416              ['/full/path/filename',            "file:///full/path/filename",
123417              "salt://secret/storage/file.txt",  "http://user:password@secure‐
123418              site.com/secret-file.json"]
123419
123420              Example of dictionaries:
123421
123422
123423
123424              {"nameit":  '/full/path/fiename',  name2:   "salt://secret/stor‐
123425              age/file.txt"}
123426
123427              optional parameters accepted:
123428
123429              force=[true]  default value is true if the to False, secret will
123430              not be created in case one of the files is not valid  kubernetes
123431              secret.  e.g.  capital letters in secret name or _ in case force
123432              is set to True, wrong files will be skipped but secret  will  be
123433              created any way.
123434
123435              saltenv=['base'] default value is base in case 'salt://' path is
123436              used, this parameter can change the visibility of files
123437
123438   salt.modules.kapacitor module
123439       Kapacitor execution module.
123440
123441       configuration
123442              This module accepts connection configuration details  either  as
123443              parameters  or  as configuration settings in /etc/salt/minion on
123444              the relevant minions:
123445
123446                 kapacitor.host: 'localhost'
123447                 kapacitor.port: 9092
123448
123449              New in version 2016.11.0.
123450
123451
123452              Also protocol and SSL settings could be configured:
123453
123454                 kapacitor.unsafe_ssl: 'false'
123455                 kapacitor.protocol: 'http'
123456
123457              New in version 2019.2.0.
123458
123459
123460              This data can also be passed into pillar.  Options  passed  into
123461              opts will overwrite options passed into pillar.
123462
123463       salt.modules.kapacitor.define_task(name,                   tick_script,
123464       task_type=u'stream',    database=None,     retention_policy=u'default',
123465       dbrps=None)
123466              Define a task. Serves as both create/update.
123467
123468              name   Name of the task.
123469
123470              tick_script
123471                     Path  to  the  TICK script for the task. Can be a salt://
123472                     source.
123473
123474              task_type
123475                     Task type. Defaults to 'stream'
123476
123477              dbrps  A  list  of   databases   and   retention   policies   in
123478                     "dbname"."rpname" format to fetch data from. For backward
123479                     compatibility,  the  value  of  'database'  and   'reten‐
123480                     tion_policy' will be merged as part of dbrps.
123481
123482                     New in version 2019.2.0.
123483
123484
123485              database
123486                     Which database to fetch data from.
123487
123488              retention_policy
123489                     Which  retention  policy  to fetch data from. Defaults to
123490                     'default'.
123491
123492              CLI Example:
123493
123494                 salt '*' kapacitor.define_task cpu salt://kapacitor/cpu.tick database=telegraf
123495
123496       salt.modules.kapacitor.delete_task(name)
123497              Delete a kapacitor task.
123498
123499              name   Name of the task to delete.
123500
123501              CLI Example:
123502
123503                 salt '*' kapacitor.delete_task cpu
123504
123505       salt.modules.kapacitor.disable_task(name)
123506              Disable a kapacitor task.
123507
123508              name   Name of the task to disable.
123509
123510              CLI Example:
123511
123512                 salt '*' kapacitor.disable_task cpu
123513
123514       salt.modules.kapacitor.enable_task(name)
123515              Enable a kapacitor task.
123516
123517              name   Name of the task to enable.
123518
123519              CLI Example:
123520
123521                 salt '*' kapacitor.enable_task cpu
123522
123523       salt.modules.kapacitor.get_task(name)
123524              Get a dict of data on a task.
123525
123526              name   Name of the task to get information about.
123527
123528              CLI Example:
123529
123530                 salt '*' kapacitor.get_task cpu
123531
123532       salt.modules.kapacitor.version(*args, **kwargs)
123533              Get the kapacitor version.
123534
123535   salt.modules.kerberos
123536       Manage Kerberos KDC
123537
123538       configuration
123539              In order to manage your KDC you will need to generate  a  keytab
123540              that can authenticate without requiring a password.
123541
123542          # ktadd -k /root/secure.keytab kadmin/admin kadmin/changepw
123543
123544       On the KDC minion you will need to add the following to the minion con‐
123545       figuration file so Salt knows what keytab to use and what principal  to
123546       authenticate as.
123547
123548          auth_keytab: /root/auth.keytab
123549          auth_principal: kadmin/admin
123550
123551       salt.modules.kerberos.create_keytab(name, keytab, enctypes=None)
123552              Create keytab
123553
123554              CLI Example:
123555
123556                 salt 'kdc.example.com' kerberos.create_keytab host/host1.example.com host1.example.com.keytab
123557
123558       salt.modules.kerberos.create_principal(name, enctypes=None)
123559              Create Principal
123560
123561              CLI Example:
123562
123563                 salt 'kdc.example.com' kerberos.create_principal host/example.com
123564
123565       salt.modules.kerberos.delete_principal(name)
123566              Delete Principal
123567
123568              CLI Example:
123569
123570                 salt 'kdc.example.com' kerberos.delete_principal host/example.com@EXAMPLE.COM
123571
123572       salt.modules.kerberos.get_policy(name)
123573              Get policy details
123574
123575              CLI Example:
123576
123577                 salt 'kdc.example.com' kerberos.get_policy my_policy
123578
123579       salt.modules.kerberos.get_principal(name)
123580              Get princial details
123581
123582              CLI Example:
123583
123584                 salt 'kdc.example.com' kerberos.get_principal root/admin
123585
123586       salt.modules.kerberos.get_privs()
123587              Current privileges
123588
123589              CLI Example:
123590
123591                 salt 'kdc.example.com' kerberos.get_privs
123592
123593       salt.modules.kerberos.list_policies()
123594              List policies
123595
123596              CLI Example:
123597
123598                 salt 'kdc.example.com' kerberos.list_policies
123599
123600       salt.modules.kerberos.list_principals()
123601              Get all principals
123602
123603              CLI Example:
123604
123605                 salt 'kde.example.com' kerberos.list_principals
123606
123607   salt.modules.kernelpkg_linux_apt
123608       Manage Linux kernel packages on APT-based systems
123609
123610       salt.modules.kernelpkg_linux_apt.active()
123611              Return the version of the running kernel.
123612
123613              CLI Example:
123614
123615                 salt '*' kernelpkg.active
123616
123617       salt.modules.kernelpkg_linux_apt.cleanup(keep_latest=True)
123618              Remove all unused kernel packages from the system.
123619
123620              keep_latest
123621                     True  In the event that the active kernel is not the lat‐
123622                     est one installed, setting this to True will  retain  the
123623                     latest  kernel package, in addition to the active one. If
123624                     False, all kernel packages other than the active one will
123625                     be removed.
123626
123627              CLI Example:
123628
123629                 salt '*' kernelpkg.cleanup
123630
123631       salt.modules.kernelpkg_linux_apt.latest_available()
123632              Return the version of the latest kernel from the package reposi‐
123633              tories.
123634
123635              CLI Example:
123636
123637                 salt '*' kernelpkg.latest_available
123638
123639       salt.modules.kernelpkg_linux_apt.latest_installed()
123640              Return the version of the latest installed kernel.
123641
123642              CLI Example:
123643
123644                 salt '*' kernelpkg.latest_installed
123645
123646              NOTE:
123647                 This function may not return the same value as active() if  a
123648                 new kernel has been installed and the system has not yet been
123649                 rebooted.  The needs_reboot() function exists to detect  this
123650                 condition.
123651
123652       salt.modules.kernelpkg_linux_apt.list_installed()
123653              Return a list of all installed kernels.
123654
123655              CLI Example:
123656
123657                 salt '*' kernelpkg.list_installed
123658
123659       salt.modules.kernelpkg_linux_apt.needs_reboot()
123660              Detect  if  a  new  kernel version has been installed but is not
123661              running.  Returns True if a new kernel is installed, False  oth‐
123662              erwise.
123663
123664              CLI Example:
123665
123666                 salt '*' kernelpkg.needs_reboot
123667
123668       salt.modules.kernelpkg_linux_apt.remove(release)
123669              Remove a specific version of the kernel.
123670
123671              release
123672                     The  release  number of an installed kernel. This must be
123673                     the   entire    release    number    as    returned    by
123674                     list_installed(), not the package name.
123675
123676              CLI Example:
123677
123678                 salt '*' kernelpkg.remove 4.4.0-70-generic
123679
123680       salt.modules.kernelpkg_linux_apt.upgrade(reboot=False, at_time=None)
123681              Upgrade the kernel and optionally reboot the system.
123682
123683              reboot False Request a reboot if a new kernel is available.
123684
123685              at_time
123686                     immediate  Schedule  the  reboot  at  some  point  in the
123687                     future. This argument is  ignored  if  reboot=False.  See
123688                     reboot() for more details on this argument.
123689
123690              CLI Example:
123691
123692                 salt '*' kernelpkg.upgrade
123693                 salt '*' kernelpkg.upgrade reboot=True at_time=1
123694
123695              NOTE:
123696                 An  immediate  reboot  often shuts down the system before the
123697                 minion has a chance to return, resulting in errors. A minimal
123698                 delay  (1 minute) is useful to ensure the result is delivered
123699                 to the master.
123700
123701       salt.modules.kernelpkg_linux_apt.upgrade_available()
123702              Detect if a new kernel version is available in the repositories.
123703              Returns True if a new kernel is available, False otherwise.
123704
123705              CLI Example:
123706
123707                 salt '*' kernelpkg.upgrade_available
123708
123709   salt.modules.kernelpkg_linux_yum
123710       Manage Linux kernel packages on YUM-based systems
123711
123712       salt.modules.kernelpkg_linux_yum.active()
123713              Return the version of the running kernel.
123714
123715              CLI Example:
123716
123717                 salt '*' kernelpkg.active
123718
123719       salt.modules.kernelpkg_linux_yum.cleanup(keep_latest=True)
123720              Remove all unused kernel packages from the system.
123721
123722              keep_latest
123723                     True  In the event that the active kernel is not the lat‐
123724                     est one installed, setting this to True will  retain  the
123725                     latest  kernel package, in addition to the active one. If
123726                     False, all kernel packages other than the active one will
123727                     be removed.
123728
123729              CLI Example:
123730
123731                 salt '*' kernelpkg.cleanup
123732
123733       salt.modules.kernelpkg_linux_yum.latest_available()
123734              Return the version of the latest kernel from the package reposi‐
123735              tories.
123736
123737              CLI Example:
123738
123739                 salt '*' kernelpkg.latest_available
123740
123741       salt.modules.kernelpkg_linux_yum.latest_installed()
123742              Return the version of the latest installed kernel.
123743
123744              CLI Example:
123745
123746                 salt '*' kernelpkg.latest_installed
123747
123748              NOTE:
123749                 This function may not return the same value as active() if  a
123750                 new kernel has been installed and the system has not yet been
123751                 rebooted.  The needs_reboot() function exists to detect  this
123752                 condition.
123753
123754       salt.modules.kernelpkg_linux_yum.list_installed()
123755              Return a list of all installed kernels.
123756
123757              CLI Example:
123758
123759                 salt '*' kernelpkg.list_installed
123760
123761       salt.modules.kernelpkg_linux_yum.needs_reboot()
123762              Detect  if  a  new  kernel version has been installed but is not
123763              running.  Returns True if a new kernel is installed, False  oth‐
123764              erwise.
123765
123766              CLI Example:
123767
123768                 salt '*' kernelpkg.needs_reboot
123769
123770       salt.modules.kernelpkg_linux_yum.remove(release)
123771              Remove a specific version of the kernel.
123772
123773              release
123774                     The  release  number of an installed kernel. This must be
123775                     the   entire    release    number    as    returned    by
123776                     list_installed(), not the package name.
123777
123778              CLI Example:
123779
123780                 salt '*' kernelpkg.remove 3.10.0-327.el7
123781
123782       salt.modules.kernelpkg_linux_yum.upgrade(reboot=False, at_time=None)
123783              Upgrade the kernel and optionally reboot the system.
123784
123785              reboot False Request a reboot if a new kernel is available.
123786
123787              at_time
123788                     immediate  Schedule  the  reboot  at  some  point  in the
123789                     future. This argument is  ignored  if  reboot=False.  See
123790                     reboot() for more details on this argument.
123791
123792              CLI Example:
123793
123794                 salt '*' kernelpkg.upgrade
123795                 salt '*' kernelpkg.upgrade reboot=True at_time=1
123796
123797              NOTE:
123798                 An  immediate  reboot  often shuts down the system before the
123799                 minion has a chance to return, resulting in errors. A minimal
123800                 delay  (1 minute) is useful to ensure the result is delivered
123801                 to the master.
123802
123803       salt.modules.kernelpkg_linux_yum.upgrade_available()
123804              Detect if a new kernel version is available in the repositories.
123805              Returns True if a new kernel is available, False otherwise.
123806
123807              CLI Example:
123808
123809                 salt '*' kernelpkg.upgrade_available
123810
123811   salt.modules.key
123812       Functions to view the minion's public key information
123813
123814       salt.modules.key.finger(hash_type=None)
123815              Return the minion's public key fingerprint
123816
123817              hash_type
123818                     The hash algorithm used to calculate the fingerprint
123819
123820              CLI Example:
123821
123822                 salt '*' key.finger
123823
123824       salt.modules.key.finger_master(hash_type=None)
123825              Return the fingerprint of the master's public key on the minion.
123826
123827              hash_type
123828                     The hash algorithm used to calculate the fingerprint
123829
123830              CLI Example:
123831
123832                 salt '*' key.finger_master
123833
123834   salt.modules.keyboard
123835       Module  for  managing  keyboards  on supported POSIX-like systems using
123836       systemd, or such as Redhat, Debian and Gentoo.
123837
123838       salt.modules.keyboard.get_sys()
123839              Get current system keyboard setting
123840
123841              CLI Example:
123842
123843                 salt '*' keyboard.get_sys
123844
123845       salt.modules.keyboard.get_x()
123846              Get current X keyboard setting
123847
123848              CLI Example:
123849
123850                 salt '*' keyboard.get_x
123851
123852       salt.modules.keyboard.set_sys(layout)
123853              Set current system keyboard setting
123854
123855              CLI Example:
123856
123857                 salt '*' keyboard.set_sys dvorak
123858
123859       salt.modules.keyboard.set_x(layout)
123860              Set current X keyboard setting
123861
123862              CLI Example:
123863
123864                 salt '*' keyboard.set_x dvorak
123865
123866   salt.modules.keystone
123867       Module for handling openstack keystone calls.
123868
123869       optdepends
123870
123871              · keystoneclient Python adapter
123872
123873       configuration
123874              This module is not usable  until  the  following  are  specified
123875              either in a pillar or in the minion's config file:
123876
123877                 keystone.user: admin
123878                 keystone.password: verybadpass
123879                 keystone.tenant: admin
123880                 keystone.tenant_id: f80919baedab48ec8931f200c65a50df
123881                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
123882
123883              OR (for token based authentication)
123884
123885                 keystone.token: 'ADMIN'
123886                 keystone.endpoint: 'http://127.0.0.1:35357/v2.0'
123887
123888              If  configuration  for  multiple openstack accounts is required,
123889              they can be set up  as  different  configuration  profiles.  For
123890              example:
123891
123892                 openstack1:
123893                   keystone.user: admin
123894                   keystone.password: verybadpass
123895                   keystone.tenant: admin
123896                   keystone.tenant_id: f80919baedab48ec8931f200c65a50df
123897                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
123898
123899                 openstack2:
123900                   keystone.user: admin
123901                   keystone.password: verybadpass
123902                   keystone.tenant: admin
123903                   keystone.tenant_id: f80919baedab48ec8931f200c65a50df
123904                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
123905
123906              With  this configuration in place, any of the keystone functions
123907              can make use of a configuration profile by declaring it  explic‐
123908              itly.  For example:
123909
123910                 salt '*' keystone.tenant_list profile=openstack1
123911
123912       salt.modules.keystone.api_version(profile=None, **connection_args)
123913              Returns the API version derived from endpoint's response.
123914
123915              CLI Example:
123916
123917                 salt '*' keystone.api_version
123918
123919       salt.modules.keystone.auth(profile=None, **connection_args)
123920              Set  up  keystone  credentials.  Only intended to be used within
123921              Keystone-enabled modules.
123922
123923              CLI Example:
123924
123925                 salt '*' keystone.auth
123926
123927       salt.modules.keystone.ec2_credentials_create(user_id=None,   name=None,
123928       tenant_id=None, tenant=None, profile=None, **connection_args)
123929              Create EC2-compatible credentials for user per tenant
123930
123931              CLI Examples:
123932
123933                 salt '*' keystone.ec2_credentials_create name=admin tenant=admin
123934
123935                 salt '*' keystone.ec2_credentials_create         user_id=c965f79c4f864eaaa9c3b41904e67082         tenant_id=722787eb540849158668370dc627ec5f
123936
123937       salt.modules.keystone.ec2_credentials_delete(user_id=None,   name=None,
123938       access_key=None, profile=None, **connection_args)
123939              Delete EC2-compatible credentials
123940
123941              CLI Examples:
123942
123943                 salt '*' keystone.ec2_credentials_delete         860f8c2c38ca4fab989f9bc56a061a64 access_key=5f66d2f24f604b8bb9cd28886106f442
123944
123945                 salt '*' keystone.ec2_credentials_delete name=admin         access_key=5f66d2f24f604b8bb9cd28886106f442
123946
123947       salt.modules.keystone.ec2_credentials_get(user_id=None,      name=None,
123948       access=None, profile=None, **connection_args)
123949              Return ec2_credentials for a user (keystone ec2-credentials-get)
123950
123951              CLI Examples:
123952
123953                 salt '*' keystone.ec2_credentials_get c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370
123954                 salt '*' keystone.ec2_credentials_get user_id=c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370
123955                 salt '*' keystone.ec2_credentials_get name=nova access=722787eb540849158668370dc627ec5f
123956
123957       salt.modules.keystone.ec2_credentials_list(user_id=None,     name=None,
123958       profile=None, **connection_args)
123959              Return a list of ec2_credentials for a specific  user  (keystone
123960              ec2-credentials-list)
123961
123962              CLI Examples:
123963
123964                 salt '*' keystone.ec2_credentials_list 298ce377245c4ec9b70e1c639c89e654
123965                 salt '*' keystone.ec2_credentials_list user_id=298ce377245c4ec9b70e1c639c89e654
123966                 salt '*' keystone.ec2_credentials_list name=jack
123967
123968       salt.modules.keystone.endpoint_create(service,  publicurl=None,  inter‐
123969       nalurl=None, adminurl=None, region=None, profile=None, url=None, inter‐
123970       face=None, **connection_args)
123971              Create an endpoint for an Openstack service
123972
123973              CLI Examples:
123974
123975                 salt 'v2' keystone.endpoint_create nova 'http://public/url' 'http://internal/url' 'http://adminurl/url' region
123976
123977                 salt 'v3' keystone.endpoint_create nova url='http://public/url' interface='public' region='RegionOne'
123978
123979       salt.modules.keystone.endpoint_delete(service,     region=None,    pro‐
123980       file=None, interface=None, **connection_args)
123981              Delete endpoints of an Openstack service
123982
123983              CLI Examples:
123984
123985                 salt 'v2' keystone.endpoint_delete nova [region=RegionOne]
123986
123987                 salt 'v3' keystone.endpoint_delete nova interface=admin [region=RegionOne]
123988
123989       salt.modules.keystone.endpoint_get(service, region=None,  profile=None,
123990       interface=None, **connection_args)
123991              Return a specific endpoint (keystone endpoint-get)
123992
123993              CLI Example:
123994
123995                 salt 'v2' keystone.endpoint_get nova [region=RegionOne]
123996
123997                 salt 'v3' keystone.endpoint_get nova interface=admin [region=RegionOne]
123998
123999       salt.modules.keystone.endpoint_list(profile=None, **connection_args)
124000              Return a list of available endpoints (keystone endpoints-list)
124001
124002              CLI Example:
124003
124004                 salt '*' keystone.endpoint_list
124005
124006       salt.modules.keystone.project_create(name,   domain,  description=None,
124007       enabled=True, profile=None, **connection_args)
124008              Create a keystone  project.   Overrides  keystone  tenant_create
124009              form api V2. For keystone api V3.
124010
124011              New in version 2016.11.0.
124012
124013
124014              name   The  project name, which must be unique within the owning
124015                     domain.
124016
124017              domain The domain name.
124018
124019              description
124020                     The project description.
124021
124022              enabled
124023                     Enables or disables the project.
124024
124025              profile
124026                     Configuration profile -  if  configuration  for  multiple
124027                     openstack accounts required.
124028
124029              CLI Examples:
124030
124031                 salt '*' keystone.project_create nova default description='Nova Compute Project'
124032                 salt '*' keystone.project_create test default enabled=False
124033
124034       salt.modules.keystone.project_delete(project_id=None,  name=None,  pro‐
124035       file=None, **connection_args)
124036              Delete a project (keystone project-delete).  Overrides  keystone
124037              tenant-delete form api V2. For keystone api V3 only.
124038
124039              New in version 2016.11.0.
124040
124041
124042              project_id
124043                     The project id.
124044
124045              name   The project name.
124046
124047              profile
124048                     Configuration  profile  -  if  configuration for multiple
124049                     openstack accounts required.
124050
124051              CLI Examples:
124052
124053                 salt '*' keystone.project_delete c965f79c4f864eaaa9c3b41904e67082
124054                 salt '*' keystone.project_delete project_id=c965f79c4f864eaaa9c3b41904e67082
124055                 salt '*' keystone.project_delete name=demo
124056
124057       salt.modules.keystone.project_get(project_id=None,   name=None,    pro‐
124058       file=None, **connection_args)
124059              Return a specific projects (keystone project-get) Overrides key‐
124060              stone tenant-get form api V2.  For keystone api V3 only.
124061
124062              New in version 2016.11.0.
124063
124064
124065              project_id
124066                     The project id.
124067
124068              name   The project name.
124069
124070              profile
124071                     Configuration profile -  if  configuration  for  multiple
124072                     openstack accounts required.
124073
124074              CLI Examples:
124075
124076                 salt '*' keystone.project_get c965f79c4f864eaaa9c3b41904e67082
124077                 salt '*' keystone.project_get project_id=c965f79c4f864eaaa9c3b41904e67082
124078                 salt '*' keystone.project_get name=nova
124079
124080       salt.modules.keystone.project_list(profile=None, **connection_args)
124081              Return  a  list  of available projects (keystone projects-list).
124082              Overrides keystone tenants-list form api V2.  For  keystone  api
124083              V3 only.
124084
124085              New in version 2016.11.0.
124086
124087
124088              profile
124089                     Configuration  profile  -  if  configuration for multiple
124090                     openstack accounts required.
124091
124092              CLI Example:
124093
124094                 salt '*' keystone.project_list
124095
124096       salt.modules.keystone.project_update(project_id=None,        name=None,
124097       description=None, enabled=None, profile=None, **connection_args)
124098              Update a tenant's information (keystone project-update) The fol‐
124099              lowing fields may be updated: name, description,  enabled.   Can
124100              only update name if targeting by ID
124101
124102              Overrides  keystone tenant_update form api V2.  For keystone api
124103              V3 only.
124104
124105              New in version 2016.11.0.
124106
124107
124108              project_id
124109                     The project id.
124110
124111              name   The project name, which must be unique within the  owning
124112                     domain.
124113
124114              description
124115                     The project description.
124116
124117              enabled
124118                     Enables or disables the project.
124119
124120              profile
124121                     Configuration  profile  -  if  configuration for multiple
124122                     openstack accounts required.
124123
124124              CLI Examples:
124125
124126                 salt '*' keystone.project_update name=admin enabled=True
124127                 salt '*' keystone.project_update c965f79c4f864eaaa9c3b41904e67082 name=admin email=admin@domain.com
124128
124129       salt.modules.keystone.role_create(name,     profile=None,     **connec‐
124130       tion_args)
124131              Create a named role.
124132
124133              CLI Example:
124134
124135                 salt '*' keystone.role_create admin
124136
124137       salt.modules.keystone.role_delete(role_id=None,     name=None,     pro‐
124138       file=None, **connection_args)
124139              Delete a role (keystone role-delete)
124140
124141              CLI Examples:
124142
124143                 salt '*' keystone.role_delete c965f79c4f864eaaa9c3b41904e67082
124144                 salt '*' keystone.role_delete role_id=c965f79c4f864eaaa9c3b41904e67082
124145                 salt '*' keystone.role_delete name=admin
124146
124147       salt.modules.keystone.role_get(role_id=None,  name=None,  profile=None,
124148       **connection_args)
124149              Return a specific roles (keystone role-get)
124150
124151              CLI Examples:
124152
124153                 salt '*' keystone.role_get c965f79c4f864eaaa9c3b41904e67082
124154                 salt '*' keystone.role_get role_id=c965f79c4f864eaaa9c3b41904e67082
124155                 salt '*' keystone.role_get name=nova
124156
124157       salt.modules.keystone.role_list(profile=None, **connection_args)
124158              Return a list of available roles (keystone role-list)
124159
124160              CLI Example:
124161
124162                 salt '*' keystone.role_list
124163
124164       salt.modules.keystone.service_create(name,    service_type,    descrip‐
124165       tion=None, profile=None, **connection_args)
124166              Add service to Keystone service catalog
124167
124168              CLI Examples:
124169
124170                 salt '*' keystone.service_create nova compute 'OpenStack Compute Service'
124171
124172       salt.modules.keystone.service_delete(service_id=None,  name=None,  pro‐
124173       file=None, **connection_args)
124174              Delete a service from Keystone service catalog
124175
124176              CLI Examples:
124177
124178                 salt '*' keystone.service_delete c965f79c4f864eaaa9c3b41904e67082
124179                 salt '*' keystone.service_delete name=nova
124180
124181       salt.modules.keystone.service_get(service_id=None,    name=None,   pro‐
124182       file=None, **connection_args)
124183              Return a specific services (keystone service-get)
124184
124185              CLI Examples:
124186
124187                 salt '*' keystone.service_get c965f79c4f864eaaa9c3b41904e67082
124188                 salt '*' keystone.service_get service_id=c965f79c4f864eaaa9c3b41904e67082
124189                 salt '*' keystone.service_get name=nova
124190
124191       salt.modules.keystone.service_list(profile=None, **connection_args)
124192              Return a list of available services (keystone services-list)
124193
124194              CLI Example:
124195
124196                 salt '*' keystone.service_list
124197
124198       salt.modules.keystone.tenant_create(name,             description=None,
124199       enabled=True, profile=None, **connection_args)
124200              Create a keystone tenant
124201
124202              CLI Examples:
124203
124204                 salt '*' keystone.tenant_create nova description='nova tenant'
124205                 salt '*' keystone.tenant_create test enabled=False
124206
124207       salt.modules.keystone.tenant_delete(tenant_id=None,   name=None,   pro‐
124208       file=None, **connection_args)
124209              Delete a tenant (keystone tenant-delete)
124210
124211              CLI Examples:
124212
124213                 salt '*' keystone.tenant_delete c965f79c4f864eaaa9c3b41904e67082
124214                 salt '*' keystone.tenant_delete tenant_id=c965f79c4f864eaaa9c3b41904e67082
124215                 salt '*' keystone.tenant_delete name=demo
124216
124217       salt.modules.keystone.tenant_get(tenant_id=None,    name=None,     pro‐
124218       file=None, **connection_args)
124219              Return a specific tenants (keystone tenant-get)
124220
124221              CLI Examples:
124222
124223                 salt '*' keystone.tenant_get c965f79c4f864eaaa9c3b41904e67082
124224                 salt '*' keystone.tenant_get tenant_id=c965f79c4f864eaaa9c3b41904e67082
124225                 salt '*' keystone.tenant_get name=nova
124226
124227       salt.modules.keystone.tenant_list(profile=None, **connection_args)
124228              Return a list of available tenants (keystone tenants-list)
124229
124230              CLI Example:
124231
124232                 salt '*' keystone.tenant_list
124233
124234       salt.modules.keystone.tenant_update(tenant_id=None, name=None, descrip‐
124235       tion=None, enabled=None, profile=None, **connection_args)
124236              Update a tenant's information (keystone tenant-update) The  fol‐
124237              lowing  fields  may be updated: name, description, enabled.  Can
124238              only update name if targeting by ID
124239
124240              CLI Examples:
124241
124242                 salt '*' keystone.tenant_update name=admin enabled=True
124243                 salt '*' keystone.tenant_update c965f79c4f864eaaa9c3b41904e67082 name=admin email=admin@domain.com
124244
124245       salt.modules.keystone.token_get(profile=None, **connection_args)
124246              Return the configured tokens (keystone token-get)
124247
124248              CLI Example:
124249
124250                 salt '*' keystone.token_get c965f79c4f864eaaa9c3b41904e67082
124251
124252       salt.modules.keystone.user_create(name,    password,    email,     ten‐
124253       ant_id=None,   enabled=True,  profile=None,  project_id=None,  descrip‐
124254       tion=None, **connection_args)
124255              Create a user (keystone user-create)
124256
124257              CLI Examples:
124258
124259                 salt '*' keystone.user_create name=jack password=zero email=jack@halloweentown.org         tenant_id=a28a7b5a999a455f84b1f5210264375e enabled=True
124260
124261       salt.modules.keystone.user_delete(user_id=None,     name=None,     pro‐
124262       file=None, **connection_args)
124263              Delete a user (keystone user-delete)
124264
124265              CLI Examples:
124266
124267                 salt '*' keystone.user_delete c965f79c4f864eaaa9c3b41904e67082
124268                 salt '*' keystone.user_delete user_id=c965f79c4f864eaaa9c3b41904e67082
124269                 salt '*' keystone.user_delete name=nova
124270
124271       salt.modules.keystone.user_get(user_id=None,  name=None,  profile=None,
124272       **connection_args)
124273              Return a specific users (keystone user-get)
124274
124275              CLI Examples:
124276
124277                 salt '*' keystone.user_get c965f79c4f864eaaa9c3b41904e67082
124278                 salt '*' keystone.user_get user_id=c965f79c4f864eaaa9c3b41904e67082
124279                 salt '*' keystone.user_get name=nova
124280
124281       salt.modules.keystone.user_list(profile=None, **connection_args)
124282              Return a list of available users (keystone user-list)
124283
124284              CLI Example:
124285
124286                 salt '*' keystone.user_list
124287
124288       salt.modules.keystone.user_password_update(user_id=None,     name=None,
124289       password=None, profile=None, **connection_args)
124290              Update a user's password (keystone user-password-update)
124291
124292              CLI Examples:
124293
124294                 salt '*' keystone.user_password_update c965f79c4f864eaaa9c3b41904e67082 password=12345
124295                 salt '*' keystone.user_password_update user_id=c965f79c4f864eaaa9c3b41904e67082 password=12345
124296                 salt '*' keystone.user_password_update name=nova password=12345
124297
124298       salt.modules.keystone.user_role_add(user_id=None,    user=None,    ten‐
124299       ant_id=None,  tenant=None,   role_id=None,   role=None,   profile=None,
124300       project_id=None, project_name=None, **connection_args)
124301              Add role for user in tenant (keystone user-role-add)
124302
124303              CLI Examples:
124304
124305                 salt '*' keystone.user_role_add user_id=298ce377245c4ec9b70e1c639c89e654 tenant_id=7167a092ece84bae8cead4bf9d15bb3b role_id=ce377245c4ec9b70e1c639c89e8cead4
124306                 salt '*' keystone.user_role_add user=admin tenant=admin role=admin
124307
124308       salt.modules.keystone.user_role_list(user_id=None,      tenant_id=None,
124309       user_name=None,   tenant_name=None,   profile=None,    project_id=None,
124310       project_name=None, **connection_args)
124311              Return a list of available user_roles (keystone user-roles-list)
124312
124313              CLI Examples:
124314
124315                 salt '*' keystone.user_role_list user_id=298ce377245c4ec9b70e1c639c89e654 tenant_id=7167a092ece84bae8cead4bf9d15bb3b
124316                 salt '*' keystone.user_role_list user_name=admin tenant_name=admin
124317
124318       salt.modules.keystone.user_role_remove(user_id=None,   user=None,  ten‐
124319       ant_id=None,  tenant=None,   role_id=None,   role=None,   profile=None,
124320       project_id=None, project_name=None, **connection_args)
124321              Remove role for user in tenant (keystone user-role-remove)
124322
124323              CLI Examples:
124324
124325                 salt '*' keystone.user_role_remove user_id=298ce377245c4ec9b70e1c639c89e654 tenant_id=7167a092ece84bae8cead4bf9d15bb3b role_id=ce377245c4ec9b70e1c639c89e8cead4
124326                 salt '*' keystone.user_role_remove user=admin tenant=admin role=admin
124327
124328       salt.modules.keystone.user_update(user_id=None,  name=None, email=None,
124329       enabled=None,   tenant=None,   profile=None,   project=None,   descrip‐
124330       tion=None, **connection_args)
124331              Update a user's information (keystone user-update) The following
124332              fields may be updated: name, email,  enabled,  tenant.   Because
124333              the name is one of the fields, a valid user id is required.
124334
124335              CLI Examples:
124336
124337                 salt '*' keystone.user_update user_id=c965f79c4f864eaaa9c3b41904e67082 name=newname
124338                 salt '*' keystone.user_update c965f79c4f864eaaa9c3b41904e67082 name=newname email=newemail@domain.com
124339
124340       salt.modules.keystone.user_verify_password(user_id=None,     name=None,
124341       password=None, profile=None, **connection_args)
124342              Verify a user's password
124343
124344              CLI Examples:
124345
124346                 salt '*' keystone.user_verify_password name=test password=foobar
124347                 salt '*' keystone.user_verify_password user_id=c965f79c4f864eaaa9c3b41904e67082 password=foobar
124348
124349   salt.modules.keystoneng
124350       Keystone module for interacting with OpenStack Keystone
124351
124352       New in version 2018.3.0.
124353
124354
124355       :depends:shade
124356
124357       Example configuration
124358
124359          keystone:
124360            cloud: default
124361
124362          keystone:
124363            auth:
124364              username: admin
124365              password: password123
124366              user_domain_name: mydomain
124367              project_name: myproject
124368              project_domain_name: myproject
124369              auth_url: https://example.org:5000/v3
124370            identity_api_version: 3
124371
124372       salt.modules.keystoneng.compare_changes(obj, **kwargs)
124373              Compare two dicts returning only keys that exist  in  the  first
124374              dict and are different in the second one
124375
124376       salt.modules.keystoneng.domain_create(auth=None, **kwargs)
124377              Create a domain
124378
124379              CLI Example:
124380
124381                 salt '*' keystoneng.domain_create name=domain1
124382
124383       salt.modules.keystoneng.domain_delete(auth=None, **kwargs)
124384              Delete a domain
124385
124386              CLI Example:
124387
124388                 salt '*' keystoneng.domain_delete name=domain1
124389                 salt '*' keystoneng.domain_delete name=b62e76fbeeff4e8fb77073f591cf211e
124390
124391       salt.modules.keystoneng.domain_get(auth=None, **kwargs)
124392              Get a single domain
124393
124394              CLI Example:
124395
124396                 salt '*' keystoneng.domain_get name=domain1
124397                 salt '*' keystoneng.domain_get name=b62e76fbeeff4e8fb77073f591cf211e
124398
124399       salt.modules.keystoneng.domain_list(auth=None, **kwargs)
124400              List domains
124401
124402              CLI Example:
124403
124404                 salt '*' keystoneng.domain_list
124405
124406       salt.modules.keystoneng.domain_search(auth=None, **kwargs)
124407              Search domains
124408
124409              CLI Example:
124410
124411                 salt '*' keystoneng.domain_search
124412                 salt '*' keystoneng.domain_search name=domain1
124413
124414       salt.modules.keystoneng.domain_update(auth=None, **kwargs)
124415              Update a domain
124416
124417              CLI Example:
124418
124419                 salt '*' keystoneng.domain_update name=domain1 new_name=newdomain
124420                 salt '*' keystoneng.domain_update name=domain1 enabled=True description='new description'
124421
124422       salt.modules.keystoneng.endpoint_create(auth=None, **kwargs)
124423              Create an endpoint
124424
124425              CLI Example:
124426
124427                 salt '*' keystoneng.endpoint_create interface=admin service=glance url=https://example.org:9292
124428                 salt '*' keystoneng.endpoint_create interface=public service=glance region=RegionOne url=https://example.org:9292
124429                 salt '*' keystoneng.endpoint_create interface=admin service=glance url=https://example.org:9292 enabled=True
124430
124431       salt.modules.keystoneng.endpoint_delete(auth=None, **kwargs)
124432              Delete an endpoint
124433
124434              CLI Example:
124435
124436                 salt '*' keystoneng.endpoint_delete id=3bee4bd8c2b040ee966adfda1f0bfca9
124437
124438       salt.modules.keystoneng.endpoint_get(auth=None, **kwargs)
124439              Get a single endpoint
124440
124441              CLI Example:
124442
124443                 salt '*' keystoneng.endpoint_get id=02cffaa173b2460f98e40eda3748dae5
124444
124445       salt.modules.keystoneng.endpoint_list(auth=None, **kwargs)
124446              List endpoints
124447
124448              CLI Example:
124449
124450                 salt '*' keystoneng.endpoint_list
124451
124452       salt.modules.keystoneng.endpoint_search(auth=None, **kwargs)
124453              Search endpoints
124454
124455              CLI Example:
124456
124457                 salt '*' keystoneng.endpoint_search
124458                 salt '*' keystoneng.endpoint_search id=02cffaa173b2460f98e40eda3748dae5
124459
124460       salt.modules.keystoneng.endpoint_update(auth=None, **kwargs)
124461              Update an endpoint
124462
124463              CLI Example:
124464
124465                 salt '*' keystoneng.endpoint_update endpoint_id=4f961ad09d2d48948896bbe7c6a79717 interface=public enabled=False
124466                 salt '*' keystoneng.endpoint_update endpoint_id=4f961ad09d2d48948896bbe7c6a79717 region=newregion
124467                 salt '*' keystoneng.endpoint_update endpoint_id=4f961ad09d2d48948896bbe7c6a79717 service_name_or_id=glance url=https://example.org:9292
124468
124469       salt.modules.keystoneng.get_entity(ent_type, **kwargs)
124470              Attempt to query Keystone for more information about an entity
124471
124472       salt.modules.keystoneng.get_openstack_cloud(auth=None)
124473              Return an openstack_cloud
124474
124475       salt.modules.keystoneng.get_operator_cloud(auth=None)
124476              Return an operator_cloud
124477
124478       salt.modules.keystoneng.group_create(auth=None, **kwargs)
124479              Create a group
124480
124481              CLI Example:
124482
124483                 salt '*' keystoneng.group_create name=group1
124484                 salt '*' keystoneng.group_create name=group2 domain=domain1 description='my group2'
124485
124486       salt.modules.keystoneng.group_delete(auth=None, **kwargs)
124487              Delete a group
124488
124489              CLI Example:
124490
124491                 salt '*' keystoneng.group_delete name=group1
124492                 salt '*' keystoneng.group_delete name=group2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124493                 salt '*' keystoneng.group_delete name=0e4febc2a5ab4f2c8f374b054162506d
124494
124495       salt.modules.keystoneng.group_get(auth=None, **kwargs)
124496              Get a single group
124497
124498              CLI Example:
124499
124500                 salt '*' keystoneng.group_get name=group1
124501                 salt '*' keystoneng.group_get name=group2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124502                 salt '*' keystoneng.group_get name=0e4febc2a5ab4f2c8f374b054162506d
124503
124504       salt.modules.keystoneng.group_list(auth=None, **kwargs)
124505              List groups
124506
124507              CLI Example:
124508
124509                 salt '*' keystoneng.group_list
124510                 salt '*' keystoneng.group_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
124511
124512       salt.modules.keystoneng.group_search(auth=None, **kwargs)
124513              Search for groups
124514
124515              CLI Example:
124516
124517                 salt '*' keystoneng.group_search name=group1
124518                 salt '*' keystoneng.group_search domain_id=b62e76fbeeff4e8fb77073f591cf211e
124519
124520       salt.modules.keystoneng.group_update(auth=None, **kwargs)
124521              Update a group
124522
124523              CLI Example:
124524
124525                 salt '*' keystoneng.group_update name=group1 description='new description'
124526                 salt '*' keystoneng.group_create name=group2 domain_id=b62e76fbeeff4e8fb77073f591cf211e new_name=newgroupname
124527                 salt '*' keystoneng.group_create name=0e4febc2a5ab4f2c8f374b054162506d new_name=newgroupname
124528
124529       salt.modules.keystoneng.project_create(auth=None, **kwargs)
124530              Create a project
124531
124532              CLI Example:
124533
124534                 salt '*' keystoneng.project_create name=project1
124535                 salt '*' keystoneng.project_create name=project2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124536                 salt '*' keystoneng.project_create name=project3 enabled=False description='my project3'
124537
124538       salt.modules.keystoneng.project_delete(auth=None, **kwargs)
124539              Delete a project
124540
124541              CLI Example:
124542
124543                 salt '*' keystoneng.project_delete name=project1
124544                 salt '*' keystoneng.project_delete name=project2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124545                 salt '*' keystoneng.project_delete name=f315afcf12f24ad88c92b936c38f2d5a
124546
124547       salt.modules.keystoneng.project_get(auth=None, **kwargs)
124548              Get a single project
124549
124550              CLI Example:
124551
124552                 salt '*' keystoneng.project_get name=project1
124553                 salt '*' keystoneng.project_get name=project2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124554                 salt '*' keystoneng.project_get name=f315afcf12f24ad88c92b936c38f2d5a
124555
124556       salt.modules.keystoneng.project_list(auth=None, **kwargs)
124557              List projects
124558
124559              CLI Example:
124560
124561                 salt '*' keystoneng.project_list
124562                 salt '*' keystoneng.project_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
124563
124564       salt.modules.keystoneng.project_search(auth=None, **kwargs)
124565              Search projects
124566
124567              CLI Example:
124568
124569                 salt '*' keystoneng.project_search
124570                 salt '*' keystoneng.project_search name=project1
124571                 salt '*' keystoneng.project_search domain_id=b62e76fbeeff4e8fb77073f591cf211e
124572
124573       salt.modules.keystoneng.project_update(auth=None, **kwargs)
124574              Update a project
124575
124576              CLI Example:
124577
124578                 salt '*' keystoneng.project_update name=project1 new_name=newproject
124579                 salt '*' keystoneng.project_update name=project2 enabled=False description='new description'
124580
124581       salt.modules.keystoneng.role_assignment_list(auth=None, **kwargs)
124582              List role assignments
124583
124584              CLI Example:
124585
124586                 salt '*' keystoneng.role_assignment_list
124587
124588       salt.modules.keystoneng.role_create(auth=None, **kwargs)
124589              Create a role
124590
124591              CLI Example:
124592
124593                 salt '*' keystoneng.role_create name=role1
124594                 salt '*' keystoneng.role_create name=role1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124595
124596       salt.modules.keystoneng.role_delete(auth=None, **kwargs)
124597              Delete a role
124598
124599              CLI Example:
124600
124601                 salt '*' keystoneng.role_delete name=role1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124602                 salt '*' keystoneng.role_delete name=1eb6edd5525e4ac39af571adee673559
124603
124604       salt.modules.keystoneng.role_get(auth=None, **kwargs)
124605              Get a single role
124606
124607              CLI Example:
124608
124609                 salt '*' keystoneng.role_get name=role1
124610                 salt '*' keystoneng.role_get name=role1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124611                 salt '*' keystoneng.role_get name=1eb6edd5525e4ac39af571adee673559
124612
124613       salt.modules.keystoneng.role_grant(auth=None, **kwargs)
124614              Grant a role in a project/domain to a user/group
124615
124616              CLI Example:
124617
124618                 salt '*' keystoneng.role_grant name=role1 user=user1 project=project1
124619                 salt '*' keystoneng.role_grant name=ddbe3e0ed74e4c7f8027bad4af03339d group=user1 project=project1 domain=domain1
124620                 salt '*' keystoneng.role_grant name=ddbe3e0ed74e4c7f8027bad4af03339d group=19573afd5e4241d8b65c42215bae9704 project=1dcac318a83b4610b7a7f7ba01465548
124621
124622       salt.modules.keystoneng.role_list(auth=None, **kwargs)
124623              List roles
124624
124625              CLI Example:
124626
124627                 salt '*' keystoneng.role_list
124628                 salt '*' keystoneng.role_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
124629
124630       salt.modules.keystoneng.role_revoke(auth=None, **kwargs)
124631              Grant a role in a project/domain to a user/group
124632
124633              CLI Example:
124634
124635                 salt '*' keystoneng.role_revoke name=role1 user=user1 project=project1
124636                 salt '*' keystoneng.role_revoke name=ddbe3e0ed74e4c7f8027bad4af03339d group=user1 project=project1 domain=domain1
124637                 salt '*' keystoneng.role_revoke name=ddbe3e0ed74e4c7f8027bad4af03339d group=19573afd5e4241d8b65c42215bae9704 project=1dcac318a83b4610b7a7f7ba01465548
124638
124639       salt.modules.keystoneng.role_search(auth=None, **kwargs)
124640              Search roles
124641
124642              CLI Example:
124643
124644                 salt '*' keystoneng.role_search
124645                 salt '*' keystoneng.role_search name=role1
124646                 salt '*' keystoneng.role_search domain_id=b62e76fbeeff4e8fb77073f591cf211e
124647
124648       salt.modules.keystoneng.role_update(auth=None, **kwargs)
124649              Update a role
124650
124651              CLI Example:
124652
124653                 salt '*' keystoneng.role_update name=role1 new_name=newrole
124654                 salt '*' keystoneng.role_update name=1eb6edd5525e4ac39af571adee673559 new_name=newrole
124655
124656       salt.modules.keystoneng.service_create(auth=None, **kwargs)
124657              Create a service
124658
124659              CLI Example:
124660
124661                 salt '*' keystoneng.service_create name=glance type=image
124662                 salt '*' keystoneng.service_create name=glance type=image description="Image"
124663
124664       salt.modules.keystoneng.service_delete(auth=None, **kwargs)
124665              Delete a service
124666
124667              CLI Example:
124668
124669                 salt '*' keystoneng.service_delete name=glance
124670                 salt '*' keystoneng.service_delete name=39cc1327cdf744ab815331554430e8ec
124671
124672       salt.modules.keystoneng.service_get(auth=None, **kwargs)
124673              Get a single service
124674
124675              CLI Example:
124676
124677                 salt '*' keystoneng.service_get name=glance
124678                 salt '*' keystoneng.service_get name=75a5804638944b3ab54f7fbfcec2305a
124679
124680       salt.modules.keystoneng.service_list(auth=None, **kwargs)
124681              List services
124682
124683              CLI Example:
124684
124685                 salt '*' keystoneng.service_list
124686
124687       salt.modules.keystoneng.service_search(auth=None, **kwargs)
124688              Search services
124689
124690              CLI Example:
124691
124692                 salt '*' keystoneng.service_search
124693                 salt '*' keystoneng.service_search name=glance
124694                 salt '*' keystoneng.service_search name=135f0403f8e544dc9008c6739ecda860
124695
124696       salt.modules.keystoneng.service_update(auth=None, **kwargs)
124697              Update a service
124698
124699              CLI Example:
124700
124701                 salt '*' keystoneng.service_update name=cinder type=volumev2
124702                 salt '*' keystoneng.service_update name=cinder description='new description'
124703                 salt '*' keystoneng.service_update name=ab4d35e269f147b3ae2d849f77f5c88f enabled=False
124704
124705       salt.modules.keystoneng.setup_clouds(auth=None)
124706              Call  functions  to create Shade cloud objects in __context__ to
124707              take advantage  of  Shade's  in-memory  caching  across  several
124708              states
124709
124710       salt.modules.keystoneng.user_create(auth=None, **kwargs)
124711              Create a user
124712
124713              CLI Example:
124714
124715                 salt '*' keystoneng.user_create name=user1
124716                 salt '*' keystoneng.user_create name=user2 password=1234 enabled=False
124717                 salt '*' keystoneng.user_create name=user3 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124718
124719       salt.modules.keystoneng.user_delete(auth=None, **kwargs)
124720              Delete a user
124721
124722              CLI Example:
124723
124724                 salt '*' keystoneng.user_delete name=user1
124725                 salt '*' keystoneng.user_delete name=user2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124726                 salt '*' keystoneng.user_delete name=a42cbbfa1e894e839fd0f584d22e321f
124727
124728       salt.modules.keystoneng.user_get(auth=None, **kwargs)
124729              Get a single user
124730
124731              CLI Example:
124732
124733                 salt '*' keystoneng.user_get name=user1
124734                 salt '*' keystoneng.user_get name=user1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
124735                 salt '*' keystoneng.user_get name=02cffaa173b2460f98e40eda3748dae5
124736
124737       salt.modules.keystoneng.user_list(auth=None, **kwargs)
124738              List users
124739
124740              CLI Example:
124741
124742                 salt '*' keystoneng.user_list
124743                 salt '*' keystoneng.user_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
124744
124745       salt.modules.keystoneng.user_search(auth=None, **kwargs)
124746              List users
124747
124748              CLI Example:
124749
124750                 salt '*' keystoneng.user_list
124751                 salt '*' keystoneng.user_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
124752
124753       salt.modules.keystoneng.user_update(auth=None, **kwargs)
124754              Update a user
124755
124756              CLI Example:
124757
124758                 salt '*' keystoneng.user_update name=user1 enabled=False description='new description'
124759                 salt '*' keystoneng.user_update name=user1 new_name=newuser
124760
124761   salt.modules.keystore
124762       Module to interact with keystores
124763
124764       salt.modules.keystore.add(name, keystore, passphrase, certificate, pri‐
124765       vate_key=None)
124766              Adds certificates to an existing keystore or creates a  new  one
124767              if necesssary.
124768
124769              Parameters
124770
124771                     · name -- alias for the certificate
124772
124773                     · keystore -- The path to the keystore file to query
124774
124775                     · passphrase  -- The passphrase to use to decode the key‐
124776                       store
124777
124778                     · certificate -- The PEM public  certificate  to  add  to
124779                       keystore. Can be a string for file.
124780
124781                     · private_key  -- (Optional for TrustedCert) The PEM pri‐
124782                       vate key to add to the keystore
124783
124784              CLI Example:
124785
124786                 salt '*' keystore.add aliasname /tmp/test.store changeit /tmp/testcert.crt
124787                 salt '*' keystore.add aliasname /tmp/test.store changeit certificate="-----BEGIN CERTIFICATE-----SIb...BM=-----END CERTIFICATE-----"
124788                 salt '*' keystore.add keyname /tmp/test.store changeit /tmp/512.cert private_key=/tmp/512.key
124789
124790       salt.modules.keystore.list(keystore,      passphrase,       alias=None,
124791       return_cert=False)
124792              Lists certificates in a keytool managed keystore.
124793
124794              Parameters
124795
124796                     · keystore -- The path to the keystore file to query
124797
124798                     · passphrase  -- The passphrase to use to decode the key‐
124799                       store
124800
124801                     · alias -- (Optional) If found, displays details on  only
124802                       this key
124803
124804                     · return_certs -- (Optional) Also return certificate PEM.
124805
124806              WARNING:
124807                 There  are  security  implications  for  using return_cert to
124808                 return decrypted certificates.
124809
124810              CLI Example:
124811
124812                 salt '*' keystore.list /usr/lib/jvm/java-8/jre/lib/security/cacerts changeit
124813                 salt '*' keystore.list /usr/lib/jvm/java-8/jre/lib/security/cacerts changeit debian:verisign_-_g5.pem
124814
124815       salt.modules.keystore.remove(name, keystore, passphrase)
124816              Removes a certificate from an existing keystore.   Returns  True
124817              if remove was successful, otherwise False
124818
124819              Parameters
124820
124821                     · name -- alias for the certificate
124822
124823                     · keystore -- The path to the keystore file to query
124824
124825                     · passphrase  -- The passphrase to use to decode the key‐
124826                       store
124827
124828              CLI Example:
124829
124830                 salt '*' keystore.remove aliasname /tmp/test.store changeit
124831
124832   salt.modules.kmod
124833       Module to manage Linux kernel modules
124834
124835       salt.modules.kmod.available()
124836              Return a list of all available kernel modules
124837
124838              CLI Example:
124839
124840                 salt '*' kmod.available
124841
124842       salt.modules.kmod.check_available(mod)
124843              Check to see if the specified kernel module is available
124844
124845              CLI Example:
124846
124847                 salt '*' kmod.check_available kvm
124848
124849       salt.modules.kmod.is_loaded(mod)
124850              Check to see if the specified kernel module is loaded
124851
124852              CLI Example:
124853
124854                 salt '*' kmod.is_loaded kvm
124855
124856       salt.modules.kmod.load(mod, persist=False)
124857              Load the specified kernel module
124858
124859              mod    Name of module to add
124860
124861              persist
124862                     Write module to /etc/modules to make it  load  on  system
124863                     reboot
124864
124865              CLI Example:
124866
124867                 salt '*' kmod.load kvm
124868
124869       salt.modules.kmod.lsmod()
124870              Return a dict containing information about currently loaded mod‐
124871              ules
124872
124873              CLI Example:
124874
124875                 salt '*' kmod.lsmod
124876
124877       salt.modules.kmod.mod_list(only_persist=False)
124878              Return a list of the loaded module names
124879
124880              only_persist
124881                     Only return the list of loaded persistent modules
124882
124883              CLI Example:
124884
124885                 salt '*' kmod.mod_list
124886
124887       salt.modules.kmod.remove(mod, persist=False, comment=True)
124888              Remove the specified kernel module
124889
124890              mod    Name of module to remove
124891
124892              persist
124893                     Also remove module from /etc/modules
124894
124895              comment
124896                     If persist is set don't remove line from /etc/modules but
124897                     only comment it
124898
124899              CLI Example:
124900
124901                 salt '*' kmod.remove kvm
124902
124903   salt.modules.kubernetesmod
124904       Module for handling kubernetes calls.
124905
124906       optdepends
124907
124908              · kubernetes Python client
124909
124910       configuration
124911              The  k8s  API  settings  are provided either in a pillar, in the
124912              minion's config file, or in master's config file:
124913
124914                 kubernetes.kubeconfig: '/path/to/kubeconfig'
124915                 kubernetes.kubeconfig-data: '<base64 encoded kubeconfig content'
124916                 kubernetes.context: 'context'
124917
124918       These settings can be overridden by adding context and  `kubeconfig  or
124919       kubeconfig_data parameters when calling a function.
124920
124921       The  data format for kubernetes.kubeconfig-data value is the content of
124922       kubeconfig base64 encoded in one line.
124923
124924       Only kubeconfig or kubeconfig-data should be provided. In case both are
124925       provided kubeconfig entry is preferred.
124926
124927          salt '*' kubernetes.nodes kubeconfig=/etc/salt/k8s/kubeconfig context=minikube
124928
124929       Changed in version 2019.2.0.
124930
124931
124932       WARNING:
124933          Configuration  options changed in 2019.2.0. The following configura‐
124934          tion options have been removed:
124935
124936          · kubernetes.user
124937
124938          · kubernetes.password
124939
124940          · kubernetes.api_url
124941
124942          · kubernetes.certificate-authority-data/file
124943
124944          · kubernetes.client-certificate-data/file
124945
124946          · kubernetes.client-key-data/file
124947
124948          Please use now:
124949
124950          · kubernetes.kubeconfig or kubernetes.kubeconfig-data
124951
124952          · kubernetes.context
124953
124954       salt.modules.kubernetesmod.configmaps(namespace=u'default', **kwargs)
124955              Return a list of kubernetes configmaps defined in the namespace
124956
124957              CLI Examples:
124958
124959                 salt '*' kubernetes.configmaps
124960                 salt '*' kubernetes.configmaps namespace=default
124961
124962       salt.modules.kubernetesmod.create_configmap(name,   namespace,    data,
124963       source=None, template=None, saltenv=u'base', **kwargs)
124964              Creates the kubernetes configmap as defined by the user.
124965
124966              CLI Examples:
124967
124968                 salt 'minion1' kubernetes.create_configmap             settings default '{"example.conf": "# example file"}'
124969
124970                 salt 'minion2' kubernetes.create_configmap             name=settings namespace=default data='{"example.conf": "# example file"}'
124971
124972       salt.modules.kubernetesmod.create_deployment(name, namespace, metadata,
124973       spec, source, template, saltenv, **kwargs)
124974              Creates the kubernetes deployment as defined by the user.
124975
124976       salt.modules.kubernetesmod.create_namespace(name, **kwargs)
124977              Creates a namespace with the specified name.
124978
124979              CLI Example:
124980                     salt '*' kubernetes.create_namespace salt salt '*' kuber‐
124981                     netes.create_namespace name=salt
124982
124983       salt.modules.kubernetesmod.create_pod(name,  namespace, metadata, spec,
124984       source, template, saltenv, **kwargs)
124985              Creates the kubernetes deployment as defined by the user.
124986
124987       salt.modules.kubernetesmod.create_secret(name,    namespace=u'default',
124988       data=None, source=None, template=None, saltenv=u'base', **kwargs)
124989              Creates the kubernetes secret as defined by the user.
124990
124991              CLI Examples:
124992
124993                 salt 'minion1' kubernetes.create_secret             passwords default '{"db": "letmein"}'
124994
124995                 salt 'minion2' kubernetes.create_secret             name=passwords namespace=default data='{"db": "letmein"}'
124996
124997       salt.modules.kubernetesmod.create_service(name,   namespace,  metadata,
124998       spec, source, template, saltenv, **kwargs)
124999              Creates the kubernetes service as defined by the user.
125000
125001       salt.modules.kubernetesmod.delete_configmap(name, namespace=u'default',
125002       **kwargs)
125003              Deletes the kubernetes configmap defined by name and namespace
125004
125005              CLI Examples:
125006
125007                 salt '*' kubernetes.delete_configmap settings default
125008                 salt '*' kubernetes.delete_configmap name=settings namespace=default
125009
125010       salt.modules.kubernetesmod.delete_deployment(name,               names‐
125011       pace=u'default', **kwargs)
125012              Deletes the kubernetes deployment defined by name and namespace
125013
125014              CLI Examples:
125015
125016                 salt '*' kubernetes.delete_deployment my-nginx
125017                 salt '*' kubernetes.delete_deployment name=my-nginx namespace=default
125018
125019       salt.modules.kubernetesmod.delete_namespace(name, **kwargs)
125020              Deletes the kubernetes namespace defined by name
125021
125022              CLI Examples:
125023
125024                 salt '*' kubernetes.delete_namespace salt
125025                 salt '*' kubernetes.delete_namespace name=salt
125026
125027       salt.modules.kubernetesmod.delete_pod(name,       namespace=u'default',
125028       **kwargs)
125029              Deletes the kubernetes pod defined by name and namespace
125030
125031              CLI Examples:
125032
125033                 salt '*' kubernetes.delete_pod guestbook-708336848-5nl8c default
125034                 salt '*' kubernetes.delete_pod name=guestbook-708336848-5nl8c namespace=default
125035
125036       salt.modules.kubernetesmod.delete_secret(name,    namespace=u'default',
125037       **kwargs)
125038              Deletes the kubernetes secret defined by name and namespace
125039
125040              CLI Examples:
125041
125042                 salt '*' kubernetes.delete_secret confidential default
125043                 salt '*' kubernetes.delete_secret name=confidential namespace=default
125044
125045       salt.modules.kubernetesmod.delete_service(name,   namespace=u'default',
125046       **kwargs)
125047              Deletes the kubernetes service defined by name and namespace
125048
125049              CLI Examples:
125050
125051                 salt '*' kubernetes.delete_service my-nginx default
125052                 salt '*' kubernetes.delete_service name=my-nginx namespace=default
125053
125054       salt.modules.kubernetesmod.deployments(namespace=u'default', **kwargs)
125055              Return a list of kubernetes deployments defined in the namespace
125056
125057              CLI Examples:
125058
125059                 salt '*' kubernetes.deployments
125060                 salt '*' kubernetes.deployments namespace=default
125061
125062       salt.modules.kubernetesmod.namespaces(**kwargs)
125063              Return the names of the available namespaces
125064
125065              CLI Examples:
125066
125067                 salt '*' kubernetes.namespaces
125068                 salt '*' kubernetes.namespaces kubeconfig=/etc/salt/k8s/kubeconfig context=minikube
125069
125070       salt.modules.kubernetesmod.node(name, **kwargs)
125071              Return the details of the node identified by the specified name
125072
125073              CLI Examples:
125074
125075                 salt '*' kubernetes.node name='minikube'
125076
125077       salt.modules.kubernetesmod.node_add_label(node_name,        label_name,
125078       label_value, **kwargs)
125079              Set  the  value  of  the  label  identified  by  label_name   to
125080              label_value  on the node identified by the name node_name.  Cre‐
125081              ates the lable if not present.
125082
125083              CLI Examples:
125084
125085                 salt '*' kubernetes.node_add_label node_name="minikube"             label_name="foo" label_value="bar"
125086
125087       salt.modules.kubernetesmod.node_labels(name, **kwargs)
125088              Return the labels of the node identified by the specified name
125089
125090              CLI Examples:
125091
125092                 salt '*' kubernetes.node_labels name="minikube"
125093
125094       salt.modules.kubernetesmod.node_remove_label(node_name,     label_name,
125095       **kwargs)
125096              Removes the label identified by label_name from the node identi‐
125097              fied by the name node_name.
125098
125099              CLI Examples:
125100
125101                 salt '*' kubernetes.node_remove_label node_name="minikube"             label_name="foo"
125102
125103       salt.modules.kubernetesmod.nodes(**kwargs)
125104              Return the names of the nodes composing the kubernetes cluster
125105
125106              CLI Examples:
125107
125108                 salt '*' kubernetes.nodes
125109                 salt '*' kubernetes.nodes kubeconfig=/etc/salt/k8s/kubeconfig context=minikube
125110
125111       salt.modules.kubernetesmod.ping(**kwargs)
125112              Checks connections with the kubernetes API server.  Returns True
125113              if the connection can be established, False otherwise.
125114
125115              CLI Example:
125116                     salt '*' kubernetes.ping
125117
125118       salt.modules.kubernetesmod.pods(namespace=u'default', **kwargs)
125119              Return a list of kubernetes pods defined in the namespace
125120
125121              CLI Examples:
125122
125123                 salt '*' kubernetes.pods
125124                 salt '*' kubernetes.pods namespace=default
125125
125126       salt.modules.kubernetesmod.replace_configmap(name,  data,  source=None,
125127       template=None, saltenv=u'base', namespace=u'default', **kwargs)
125128              Replaces an existing configmap with a new one  defined  by  name
125129              and namespace with the specified data.
125130
125131              CLI Examples:
125132
125133                 salt 'minion1' kubernetes.replace_configmap             settings default '{"example.conf": "# example file"}'
125134
125135                 salt 'minion2' kubernetes.replace_configmap             name=settings namespace=default data='{"example.conf": "# example file"}'
125136
125137       salt.modules.kubernetesmod.replace_deployment(name,   metadata,   spec,
125138       source, template, saltenv, namespace=u'default', **kwargs)
125139              Replaces an existing deployment with a new one defined  by  name
125140              and namespace, having the specificed metadata and spec.
125141
125142       salt.modules.kubernetesmod.replace_secret(name, data, source=None, tem‐
125143       plate=None, saltenv=u'base', namespace=u'default', **kwargs)
125144              Replaces an existing secret with a new one defined by  name  and
125145              namespace, having the specificed data.
125146
125147              CLI Examples:
125148
125149                 salt 'minion1' kubernetes.replace_secret             name=passwords data='{"db": "letmein"}'
125150
125151                 salt 'minion2' kubernetes.replace_secret             name=passwords namespace=saltstack data='{"db": "passw0rd"}'
125152
125153       salt.modules.kubernetesmod.replace_service(name,     metadata,    spec,
125154       source, template, old_service, saltenv, namespace=u'default', **kwargs)
125155              Replaces an existing service with a new one defined by name  and
125156              namespace, having the specificed metadata and spec.
125157
125158       salt.modules.kubernetesmod.secrets(namespace=u'default', **kwargs)
125159              Return a list of kubernetes secrets defined in the namespace
125160
125161              CLI Examples:
125162
125163                 salt '*' kubernetes.secrets
125164                 salt '*' kubernetes.secrets namespace=default
125165
125166       salt.modules.kubernetesmod.services(namespace=u'default', **kwargs)
125167              Return a list of kubernetes services defined in the namespace
125168
125169              CLI Examples:
125170
125171                 salt '*' kubernetes.services
125172                 salt '*' kubernetes.services namespace=default
125173
125174       salt.modules.kubernetesmod.show_configmap(name,   namespace=u'default',
125175       **kwargs)
125176              Return the kubernetes configmap defined by name and namespace.
125177
125178              CLI Examples:
125179
125180                 salt '*' kubernetes.show_configmap game-config default
125181                 salt '*' kubernetes.show_configmap name=game-config namespace=default
125182
125183       salt.modules.kubernetesmod.show_deployment(name,  namespace=u'default',
125184       **kwargs)
125185              Return the kubernetes deployment defined by name and namespace
125186
125187              CLI Examples:
125188
125189                 salt '*' kubernetes.show_deployment my-nginx default
125190                 salt '*' kubernetes.show_deployment name=my-nginx namespace=default
125191
125192       salt.modules.kubernetesmod.show_namespace(name, **kwargs)
125193              Return  information  for a given namespace defined by the speci‐
125194              fied name
125195
125196              CLI Examples:
125197
125198                 salt '*' kubernetes.show_namespace kube-system
125199
125200       salt.modules.kubernetesmod.show_pod(name,         namespace=u'default',
125201       **kwargs)
125202              Return  POD  information  for  a  given  pod name defined in the
125203              namespace
125204
125205              CLI Examples:
125206
125207                 salt '*' kubernetes.show_pod guestbook-708336848-fqr2x
125208                 salt '*' kubernetes.show_pod guestbook-708336848-fqr2x namespace=default
125209
125210       salt.modules.kubernetesmod.show_secret(name,      namespace=u'default',
125211       decode=False, **kwargs)
125212              Return the kubernetes secret defined by name and namespace.  The
125213              secrets can be decoded if specified by the user.  Warning:  this
125214              has security implications.
125215
125216              CLI Examples:
125217
125218                 salt '*' kubernetes.show_secret confidential default
125219                 salt '*' kubernetes.show_secret name=confidential namespace=default
125220                 salt '*' kubernetes.show_secret name=confidential decode=True
125221
125222       salt.modules.kubernetesmod.show_service(name,     namespace=u'default',
125223       **kwargs)
125224              Return the kubernetes service defined by name and namespace
125225
125226              CLI Examples:
125227
125228                 salt '*' kubernetes.show_service my-nginx default
125229                 salt '*' kubernetes.show_service name=my-nginx namespace=default
125230
125231   salt.modules.launchctl_service
125232       Module for the management of MacOS systems that use launchd/launchctl
125233
125234       IMPORTANT:
125235          If you feel that Salt should be using this module to manage services
125236          on  a  minion, and it is using a different module (or gives an error
125237          similar to 'service.start' is not available), see here.
125238
125239       depends
125240
125241              · plistlib Python module
125242
125243       salt.modules.launchctl_service.available(job_label)
125244              Check that the given service is available.
125245
125246              CLI Example:
125247
125248                 salt '*' service.available com.openssh.sshd
125249
125250       salt.modules.launchctl_service.disabled(job_label, runas=None)
125251              Return True if the named service is disabled, false otherwise
125252
125253              CLI Example:
125254
125255                 salt '*' service.disabled <service label>
125256
125257       salt.modules.launchctl_service.enabled(job_label, runas=None)
125258              Return True if the named service is enabled, false otherwise
125259
125260              CLI Example:
125261
125262                 salt '*' service.enabled <service label>
125263
125264       salt.modules.launchctl_service.get_all()
125265              Return all installed services
125266
125267              CLI Example:
125268
125269                 salt '*' service.get_all
125270
125271       salt.modules.launchctl_service.missing(job_label)
125272              The inverse of service.available Check that the given service is
125273              not available.
125274
125275              CLI Example:
125276
125277                 salt '*' service.missing com.openssh.sshd
125278
125279       salt.modules.launchctl_service.restart(job_label, runas=None)
125280              Restart the named service
125281
125282              CLI Example:
125283
125284                 salt '*' service.restart <service label>
125285
125286       salt.modules.launchctl_service.start(job_label, runas=None)
125287              Start the specified service
125288
125289              CLI Example:
125290
125291                 salt '*' service.start <service label>
125292                 salt '*' service.start org.ntp.ntpd
125293                 salt '*' service.start /System/Library/LaunchDaemons/org.ntp.ntpd.plist
125294
125295       salt.modules.launchctl_service.status(name, runas=None)
125296              Return  the  status for a service via systemd.  If the name con‐
125297              tains globbing, a dict mapping service name to True/False values
125298              is returned.
125299
125300              Changed  in version 2018.3.0: The service name can now be a glob
125301              (e.g. salt*)
125302
125303
125304              Parameters
125305
125306                     · name (str) -- The name of the service to check
125307
125308                     · runas (str) -- User to run launchctl commands
125309
125310              Returns
125311                     True if running, False otherwise dict: Maps service  name
125312                     to True if running, False otherwise
125313
125314              Return type
125315                     bool
125316
125317              CLI Example:
125318
125319                 salt '*' service.status <service name>
125320
125321       salt.modules.launchctl_service.stop(job_label, runas=None)
125322              Stop the specified service
125323
125324              CLI Example:
125325
125326                 salt '*' service.stop <service label>
125327                 salt '*' service.stop org.ntp.ntpd
125328                 salt '*' service.stop /System/Library/LaunchDaemons/org.ntp.ntpd.plist
125329
125330   salt.modules.layman
125331       Support for Layman
125332
125333       salt.modules.layman.add(overlay)
125334              Add  the  given  overlay  from  the  cached  remote list to your
125335              locally installed overlays. Specify 'ALL' to  add  all  overlays
125336              from the remote list.
125337
125338              Return a list of the new overlay(s) added:
125339
125340              CLI Example:
125341
125342                 salt '*' layman.add <overlay name>
125343
125344       salt.modules.layman.delete(overlay)
125345              Remove  the  given overlay from the your locally installed over‐
125346              lays.  Specify 'ALL' to remove all overlays.
125347
125348              Return a list of the overlays(s) that were removed:
125349
125350              CLI Example:
125351
125352                 salt '*' layman.delete <overlay name>
125353
125354       salt.modules.layman.list_all()
125355              List all overlays, including remote ones.
125356
125357              Return a list of available overlays:
125358
125359              CLI Example:
125360
125361                 salt '*' layman.list_all
125362
125363       salt.modules.layman.list_local()
125364              List the locally installed overlays.
125365
125366              Return a list of installed overlays:
125367
125368              CLI Example:
125369
125370                 salt '*' layman.list_local
125371
125372       salt.modules.layman.sync(overlay=u'ALL')
125373              Update the specified overlay. Use 'ALL' to synchronize all over‐
125374              lays.  This is the default if no overlay is specified.
125375
125376              overlay
125377                     Name of the overlay to sync. (Defaults to 'ALL')
125378
125379              CLI Example:
125380
125381                 salt '*' layman.sync
125382
125383   salt.modules.ldap3
125384   Query and modify an LDAP database (alternative interface)
125385       New in version 2016.3.0.
125386
125387
125388       This  is  an  alternative to the ldap interface provided by the ldapmod
125389       execution module.
125390
125391       depends
125392
125393              · ldap Python module
125394
125395       exception salt.modules.ldap3.LDAPError(message, cause=None)
125396              Base class of all LDAP exceptions raised by backends.
125397
125398              This is only used for errors encountered while interacting  with
125399              the  LDAP server; usage errors (e.g., invalid backend name) will
125400              have a different type.
125401
125402              Variables
125403                     cause -- backend exception object, if applicable
125404
125405       salt.modules.ldap3.add(connect_spec, dn, attributes)
125406              Add an entry to an LDAP database.
125407
125408              Parameters
125409
125410                     · connect_spec -- See  the  documentation  for  the  con‐
125411                       nect_spec parameter for connect().
125412
125413                     · dn -- Distinguished name of the entry.
125414
125415                     · attributes  --  Non-empty  dict mapping each of the new
125416                       entry's attributes to a non-empty iterable of values.
125417
125418              Returns
125419                     True if successful, raises an exception otherwise.
125420
125421              CLI example:
125422
125423                 salt '*' ldap3.add "{
125424                     'url': 'ldaps://ldap.example.com/',
125425                     'bind': {
125426                         'method': 'simple',
125427                         'password': 'secret',
125428                     },
125429                 }" "dn='dc=example,dc=com'" "attributes={'example': 'values'}"
125430
125431       salt.modules.ldap3.change(connect_spec, dn, before, after)
125432              Modify an entry in an LDAP database.
125433
125434              This does the same thing as modify(), but with a simpler  inter‐
125435              face.  Instead of taking a list of directives, it takes a before
125436              and after view of an entry, determines the  differences  between
125437              the two, computes the directives, and executes them.
125438
125439              Any  attribute  value  present in before but missing in after is
125440              deleted.  Any attribute value present in after  but  missing  in
125441              before  is  added.   Any attribute value in the database that is
125442              not mentioned in either before or after  is  not  altered.   Any
125443              attribute  value  that  is  present  in both before and after is
125444              ignored, regardless of whether that attribute  value  exists  in
125445              the database.
125446
125447              Parameters
125448
125449                     · connect_spec  --  See  the  documentation  for the con‐
125450                       nect_spec parameter for connect().
125451
125452                     · dn -- Distinguished name of the entry.
125453
125454                     · before -- The expected state of the entry before  modi‐
125455                       fication.   This  is a dict mapping each attribute name
125456                       to an iterable of values.
125457
125458                     · after -- The desired state of the entry after modifica‐
125459                       tion.  This is a dict mapping each attribute name to an
125460                       iterable of values.
125461
125462              Returns
125463                     True if successful, raises an exception otherwise.
125464
125465              CLI example:
125466
125467                 salt '*' ldap3.change "{
125468                     'url': 'ldaps://ldap.example.com/',
125469                     'bind': {
125470                         'method': 'simple',
125471                         'password': 'secret'}
125472                 }" dn='cn=admin,dc=example,dc=com'
125473                 before="{'example_value': 'before_val'}"
125474                 after="{'example_value': 'after_val'}"
125475
125476       salt.modules.ldap3.connect(connect_spec=None)
125477              Connect and optionally bind to an LDAP server.
125478
125479              Parameters
125480                     connect_spec --
125481
125482                     This can be an LDAP connection object returned by a  pre‐
125483                     vious  call  to  connect() (in which case the argument is
125484                     simply returned), None (in which case an  empty  dict  is
125485                     used), or a dict with the following keys:
125486
125487                     ·
125488
125489                       'backend'
125490                              Optional;  default  depends on which Python LDAP
125491                              modules are installed.  Name of the Python  LDAP
125492                              module  to use.  Only 'ldap' is supported at the
125493                              moment.
125494
125495                     ·
125496
125497                       'url'  Optional; defaults to 'ldapi:///'.  URL  to  the
125498                              LDAP server.
125499
125500                     ·
125501
125502                       'bind' Optional;  defaults  to  None.  Describes how to
125503                              bind an identity to  the  LDAP  connection.   If
125504                              None,  an  anonymous  connection is made.  Valid
125505                              keys:
125506
125507                              ·
125508
125509                                'method'
125510                                       Optional;  defaults   to   None.    The
125511                                       authentication  method  to  use.  Valid
125512                                       values include but are not  necessarily
125513                                       limited  to 'simple', 'sasl', and None.
125514                                       If None,  an  anonymous  connection  is
125515                                       made.   Available methods depend on the
125516                                       chosen backend.
125517
125518                              ·
125519
125520                                'mechanism'
125521                                       Optional; defaults to 'EXTERNAL'.   The
125522                                       SASL  mechanism to use.  Ignored unless
125523                                       the method is 'sasl'.  Available  meth‐
125524                                       ods  depend  on  the chosen backend and
125525                                       the server's capabilities.
125526
125527                              ·
125528
125529                                'credentials'
125530                                       Optional; defaults to None.  An  object
125531                                       specific  to  the chosen SASL mechanism
125532                                       and backend that represents the authen‐
125533                                       tication  credentials.   Ignored unless
125534                                       the method is 'sasl'.
125535
125536                                       For the 'ldap' backend, this is a  dic‐
125537                                       tionary.   If  None,  an  empty dict is
125538                                       used.  Keys:
125539
125540                                       ·
125541
125542                                         'args' Optional; defaults to an empty
125543                                                list.   A list of arguments to
125544                                                pass  to  the  SASL  mechanism
125545                                                constructor.    See  the  SASL
125546                                                mechanism constructor documen‐
125547                                                tation in the ldap.sasl Python
125548                                                module.
125549
125550                                       ·
125551
125552                                         'kwargs'
125553                                                Optional; defaults to an empty
125554                                                dict.  A dict of keyword argu‐
125555                                                ments  to  pass  to  the  SASL
125556                                                mechanism   constructor.   See
125557                                                the SASL mechanism constructor
125558                                                documentation in the ldap.sasl
125559                                                Python module.
125560
125561                              ·
125562
125563                                'dn'   Optional; defaults to an empty  string.
125564                                       The distinguished name to bind.
125565
125566                              ·
125567
125568                                'password'
125569                                       Optional;  defaults to an empty string.
125570                                       Password for binding.  Ignored  if  the
125571                                       method is 'sasl'.
125572
125573                     ·
125574
125575                       'tls'  Optional;  defaults to None.  A backend-specific
125576                              object containing settings to  override  default
125577                              TLS behavior.
125578
125579                              For  the  'ldap'  backend, this is a dictionary.
125580                              Not all settings in  this  dictionary  are  sup‐
125581                              ported  by  all  versions  of python-ldap or the
125582                              underlying TLS library.  If None, an empty  dict
125583                              is used.  Possible keys:
125584
125585                              ·
125586
125587                                'starttls'
125588                                       If  present,  initiate a TLS connection
125589                                       using StartTLS.  (The value  associated
125590                                       with this key is ignored.)
125591
125592                              ·
125593
125594                                'cacertdir'
125595                                       Set  the path of the directory contain‐
125596                                       ing CA certificates.
125597
125598                              ·
125599
125600                                'cacertfile'
125601                                       Set the pathname of the CA  certificate
125602                                       file.
125603
125604                              ·
125605
125606                                'certfile'
125607                                       Set  the  pathname  of  the certificate
125608                                       file.
125609
125610                              ·
125611
125612                                'cipher_suite'
125613                                       Set the allowed cipher suite.
125614
125615                              ·
125616
125617                                'crlcheck'
125618                                       Set the CRL evaluation strategy.  Valid
125619                                       values are 'none', 'peer', and 'all'.
125620
125621                              ·
125622
125623                                'crlfile'
125624                                       Set the pathname of the CRL file.
125625
125626                              ·
125627
125628                                'dhfile'
125629                                       Set the pathname of the file containing
125630                                       the   parameters   for   Diffie-Hellman
125631                                       ephemeral key exchange.
125632
125633                              ·
125634
125635                                'keyfile'
125636                                       Set the pathname of the certificate key
125637                                       file.
125638
125639                              ·
125640
125641                                'newctx'
125642                                       If present, instruct the underlying TLS
125643                                       library  to  create  a new TLS context.
125644                                       (The value associated with this key  is
125645                                       ignored.)
125646
125647                              ·
125648
125649                                'protocol_min'
125650                                       Set the minimum protocol version.
125651
125652                              ·
125653
125654                                'random_file'
125655                                       Set  the  pathname  of  the random file
125656                                       when /dev/random and  /dev/urandom  are
125657                                       not available.
125658
125659                              ·
125660
125661                                'require_cert'
125662                                       Set  the certificate validation policy.
125663                                       Valid  values  are   'never',   'hard',
125664                                       'demand', 'allow', and 'try'.
125665
125666                     ·
125667
125668                       'opts' Optional;  defaults to None.  A backend-specific
125669                              object containing options for the backend.
125670
125671                              For the 'ldap' backend, this is a dictionary  of
125672                              OpenLDAP options to set.  If None, an empty dict
125673                              is used.  Each key is a the name of an  OpenLDAP
125674                              option  constant without the 'LDAP_OPT_' prefix,
125675                              then converted to lower case.
125676
125677
125678              Returns
125679                     an object representing an LDAP  connection  that  can  be
125680                     used as the connect_spec argument to any of the functions
125681                     in this module (to avoid the overhead of making and  ter‐
125682                     minating multiple connections).
125683
125684                     This  object  should be used as a context manager.  It is
125685                     safe to nest with statements.
125686
125687
125688              CLI example:
125689
125690                 salt '*' ldap3.connect "{
125691                     'url': 'ldaps://ldap.example.com/',
125692                     'bind': {
125693                         'method': 'simple',
125694                         'dn': 'cn=admin,dc=example,dc=com',
125695                         'password': 'secret'}
125696                 }"
125697
125698       salt.modules.ldap3.delete(connect_spec, dn)
125699              Delete an entry from an LDAP database.
125700
125701              Parameters
125702
125703                     · connect_spec -- See  the  documentation  for  the  con‐
125704                       nect_spec parameter for connect().
125705
125706                     · dn -- Distinguished name of the entry.
125707
125708              Returns
125709                     True if successful, raises an exception otherwise.
125710
125711              CLI example:
125712
125713                 salt '*' ldap3.delete "{
125714                     'url': 'ldaps://ldap.example.com/',
125715                     'bind': {
125716                         'method': 'simple',
125717                         'password': 'secret'}
125718                 }" dn='cn=admin,dc=example,dc=com'
125719
125720       salt.modules.ldap3.modify(connect_spec, dn, directives)
125721              Modify an entry in an LDAP database.
125722
125723              Parameters
125724
125725                     · connect_spec  --  See  the  documentation  for the con‐
125726                       nect_spec parameter for connect().
125727
125728                     · dn -- Distinguished name of the entry.
125729
125730                     · directives --
125731
125732                       Iterable of directives that indicate how to modify  the
125733                       entry.   Each  directive  is  a  tuple of the form (op,
125734                       attr, vals), where:
125735
125736                       · op identifies the modification operation to  perform.
125737                         One of:
125738
125739                         · 'add' to add one or more values to the attribute
125740
125741                         · 'delete'  to  delete some or all of the values from
125742                           the attribute.  If no  values  are  specified  with
125743                           this  operation,  all of the attribute's values are
125744                           deleted.  Otherwise,  only  the  named  values  are
125745                           deleted.
125746
125747                         · 'replace'  to replace all of the attribute's values
125748                           with zero or more new values
125749
125750                       · attr names the attribute to modify
125751
125752                       · vals is an iterable of values to add or delete
125753
125754
125755              Returns
125756                     True if successful, raises an exception otherwise.
125757
125758              CLI example:
125759
125760                 salt '*' ldap3.modify "{
125761                     'url': 'ldaps://ldap.example.com/',
125762                     'bind': {
125763                         'method': 'simple',
125764                         'password': 'secret'}
125765                 }" dn='cn=admin,dc=example,dc=com'
125766                 directives="('add', 'example', ['example_val'])"
125767
125768       salt.modules.ldap3.search(connect_spec, base, scope=u'subtree', filter‐
125769       str=u'(objectClass=*)', attrlist=None, attrsonly=0)
125770              Search an LDAP database.
125771
125772              Parameters
125773
125774                     · connect_spec  --  See  the  documentation  for the con‐
125775                       nect_spec parameter for connect().
125776
125777                     · base -- Distinguished name of the  entry  at  which  to
125778                       start the search.
125779
125780                     · scope --
125781
125782                       One of the following:
125783
125784                       ·
125785
125786                         'subtree'
125787                                Search the base and all of its descendants.
125788
125789                       ·
125790
125791                         'base' Search only the base itself.
125792
125793                       ·
125794
125795                         'onelevel'
125796                                Search only the base's immediate children.
125797
125798
125799                     · filterstr  --  String  representation  of the filter to
125800                       apply in the search.
125801
125802                     · attrlist -- Limit the returned attributes to  those  in
125803                       the  specified  list.   If None, all attributes of each
125804                       entry are returned.
125805
125806                     · attrsonly -- If non-zero, don't  return  any  attribute
125807                       values.
125808
125809              Returns
125810                     a  dict  of  results.   The dict is empty if there are no
125811                     results.  The dict maps  each  returned  entry's  distin‐
125812                     guished  name  to  a  dict that maps each of the matching
125813                     attribute names to a list of its values.
125814
125815              CLI example:
125816
125817                 salt '*' ldap3.search "{
125818                     'url': 'ldaps://ldap.example.com/',
125819                     'bind': {
125820                         'method': 'simple',
125821                         'dn': 'cn=admin,dc=example,dc=com',
125822                         'password': 'secret',
125823                     },
125824                 }" "base='dc=example,dc=com'"
125825
125826   salt.modules.ldapmod
125827       Salt interface to LDAP commands
125828
125829       depends
125830
125831              · ldap Python module
125832
125833       configuration
125834              In order to connect to LDAP, certain configuration  is  required
125835              in  the minion config on the LDAP server. The minimum configura‐
125836              tion items that must be set are:
125837
125838                 ldap.basedn: dc=acme,dc=com (example values, adjust to suit)
125839
125840              If your LDAP server requires authentication then you  must  also
125841              set:
125842
125843                 ldap.anonymous: False
125844                 ldap.binddn: admin
125845                 ldap.bindpw: password
125846
125847              In addition, the following optional values may be set:
125848
125849                 ldap.server: localhost (default=localhost, see warning below)
125850                 ldap.port: 389 (default=389, standard port)
125851                 ldap.tls: False (default=False, no TLS)
125852                 ldap.no_verify: False (default=False, verify TLS)
125853                 ldap.anonymous: True (default=True, bind anonymous)
125854                 ldap.scope: 2 (default=2, ldap.SCOPE_SUBTREE)
125855                 ldap.attrs: [saltAttr] (default=None, return all attributes)
125856
125857       WARNING:
125858          At  the  moment  this module only recommends connection to LDAP ser‐
125859          vices listening on localhost. This is deliberate to avoid the poten‐
125860          tially  dangerous  situation  of  multiple minions sending identical
125861          update commands to the same LDAP server. It's easy enough  to  over‐
125862          ride this behavior, but badness may ensue - you have been warned.
125863
125864       salt.modules.ldapmod.search(filter,  dn=None,  scope=None,  attrs=None,
125865       **kwargs)
125866              Run an arbitrary LDAP query and return the results.
125867
125868              CLI Example:
125869
125870                 salt 'ldaphost' ldap.search "filter=cn=myhost"
125871
125872              Return data:
125873
125874                 {'myhost': {'count': 1,
125875                             'results': [['cn=myhost,ou=hosts,o=acme,c=gb',
125876                                          {'saltKeyValue': ['ntpserver=ntp.acme.local',
125877                                                            'foo=myfoo'],
125878                                           'saltState': ['foo', 'bar']}]],
125879                             'time': {'human': '1.2ms', 'raw': '0.00123'}}}
125880
125881              Search and connection options can be  overridden  by  specifying
125882              the relevant option as key=value pairs, for example:
125883
125884                 salt 'ldaphost' ldap.search filter=cn=myhost dn=ou=hosts,o=acme,c=gb
125885                 scope=1 attrs='' server='localhost' port='7393' tls=True bindpw='ssh'
125886
125887   salt.modules.libcloud_compute module
125888   Apache Libcloud Compute Management
125889       Connection  module  for  Apache  Libcloud Compute management for a full
125890       list           of           supported            clouds,            see
125891       http://libcloud.readthedocs.io/en/latest/compute/supported_providers.html
125892
125893       Clouds include Amazon EC2, Azure, Google GCE, VMware, OpenStack Nova
125894
125895       New in version 2018.3.0.
125896
125897
125898       configuration
125899              This module uses a configuration profile  for  one  or  multiple
125900              cloud providers
125901
125902                 libcloud_compute:
125903                     profile_test1:
125904                       driver: google
125905                       key: service-account@googlecloud.net
125906                       secret: /path/to.key.json
125907                     profile_test2:
125908                       driver: arm
125909                       key: 12345
125910                       secret: mysecret
125911
125912       depends
125913              apache-libcloud
125914
125915       salt.modules.libcloud_compute.attach_volume(node_id,   volume_id,  pro‐
125916       file, device=None, **libcloud_kwargs)
125917              Attaches volume to node.
125918
125919              Parameters
125920
125921                     · node_id (str) -- Node ID to target
125922
125923                     · volume_id (str) -- Volume ID from which to attach
125924
125925                     · profile (str) -- The profile key
125926
125927                     · device (str) --  Where  the  device  is  exposed,  e.g.
125928                       '/dev/sdb'
125929
125930                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
125931                       driver's attach_volume method
125932
125933              CLI Example:
125934
125935                 salt myminion libcloud_compute.detach_volume vol1 profile1
125936
125937       salt.modules.libcloud_compute.copy_image(source_region, image_id, name,
125938       profile, description=None, **libcloud_kwargs)
125939              Copies an image from a source region to the current region.
125940
125941              Parameters
125942
125943                     · source_region (str) -- Region to copy the node from.
125944
125945                     · image_id (str) -- Image to copy.
125946
125947                     · name (str) -- name for new image.
125948
125949                     · profile (str) -- The profile key
125950
125951                     · description -- description for new image.
125952
125953                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
125954                       driver's copy_image method
125955
125956              CLI Example:
125957
125958                 salt myminion libcloud_compute.copy_image us-east1 image1 'new image' profile1
125959
125960       salt.modules.libcloud_compute.create_image(node_id,   name,    profile,
125961       description=None, **libcloud_kwargs)
125962              Create an image from a node
125963
125964              Parameters
125965
125966                     · node_id (str) -- Node to run the task on.
125967
125968                     · name (str) -- name for new image.
125969
125970                     · profile (str) -- The profile key
125971
125972                     · description (description) -- description for new image.
125973
125974                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
125975                       driver's create_image method
125976
125977              CLI Example:
125978
125979                 salt myminion libcloud_compute.create_image server1 my_image profile1
125980                 salt myminion libcloud_compute.create_image server1 my_image profile1 description='test image'
125981
125982       salt.modules.libcloud_compute.create_key_pair(name,   profile,   **lib‐
125983       cloud_kwargs)
125984              Create a single key pair by name
125985
125986              Parameters
125987
125988                     · name (str) -- Name of the key pair to create.
125989
125990                     · profile (str) -- The profile key
125991
125992                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
125993                       driver's create_key_pair method
125994
125995              CLI Example:
125996
125997                 salt myminion libcloud_compute.create_key_pair pair1 profile1
125998
125999       salt.modules.libcloud_compute.create_volume(size, name, profile,  loca‐
126000       tion_id=None, **libcloud_kwargs)
126001              Create a storage volume
126002
126003              Parameters
126004
126005                     · size (int) -- Size of volume in gigabytes (required)
126006
126007                     · name (str) -- Name of the volume to be created
126008
126009                     · location_id (str) -- Which data center to create a vol‐
126010                       ume in. If empty, undefined behavior will be  selected.
126011                       (optional)
126012
126013                     · profile (str) -- The profile key
126014
126015                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126016                       driver's list_volumes method
126017
126018              CLI Example:
126019
126020                 salt myminion libcloud_compute.create_volume 1000 vol1 profile1
126021
126022       salt.modules.libcloud_compute.create_volume_snapshot(volume_id,    pro‐
126023       file, name=None, **libcloud_kwargs)
126024              Create a storage volume snapshot
126025
126026              Parameters
126027
126028                     · volume_id  (str)  -- Volume ID from which to create the
126029                       new snapshot.
126030
126031                     · profile (str) -- The profile key
126032
126033                     · name (str) --  Name  of  the  snapshot  to  be  created
126034                       (optional)
126035
126036                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126037                       driver's create_volume_snapshot method
126038
126039              CLI Example:
126040
126041                 salt myminion libcloud_compute.create_volume_snapshot vol1 profile1
126042
126043       salt.modules.libcloud_compute.delete_image(image_id,  profile,   **lib‐
126044       cloud_kwargs)
126045              Delete an image of a node
126046
126047              Parameters
126048
126049                     · image_id (str) -- Image to delete
126050
126051                     · profile (str) -- The profile key
126052
126053                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126054                       driver's delete_image method
126055
126056              CLI Example:
126057
126058                 salt myminion libcloud_compute.delete_image image1 profile1
126059
126060       salt.modules.libcloud_compute.delete_key_pair(name,   profile,   **lib‐
126061       cloud_kwargs)
126062              Delete a key pair
126063
126064              Parameters
126065
126066                     · name (str) -- Key pair name.
126067
126068                     · profile (str) -- The profile key
126069
126070                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126071                       driver's import_key_pair_from_xxx method
126072
126073              CLI Example:
126074
126075                 salt myminion libcloud_compute.delete_key_pair pair1 profile1
126076
126077       salt.modules.libcloud_compute.destroy_node(node_id,   profile,   **lib‐
126078       cloud_kwargs)
126079              Destroy a node in the cloud
126080
126081              Parameters
126082
126083                     · node_id (str) -- Unique ID of the node to destroy
126084
126085                     · profile (str) -- The profile key
126086
126087                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126088                       driver's destroy_node method
126089
126090              CLI Example:
126091
126092                 salt myminion libcloud_compute.destry_node as-2346 profile1
126093
126094       salt.modules.libcloud_compute.destroy_volume(volume_id, profile, **lib‐
126095       cloud_kwargs)
126096              Destroy a volume.
126097
126098              Parameters
126099
126100                     · volume_id (str) -- Volume ID from which to destroy
126101
126102                     · profile (str) -- The profile key
126103
126104                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126105                       driver's destroy_volume method
126106
126107              CLI Example:
126108
126109                 salt myminion libcloud_compute.destroy_volume vol1 profile1
126110
126111       salt.modules.libcloud_compute.destroy_volume_snapshot(volume_id,  snap‐
126112       shot_id, profile, **libcloud_kwargs)
126113              Destroy a volume snapshot.
126114
126115              Parameters
126116
126117                     · volume_id  (str)  --  Volume ID from which the snapshot
126118                       belongs
126119
126120                     · snapshot_id (str) -- Volume Snapshot ID from  which  to
126121                       destroy
126122
126123                     · profile (str) -- The profile key
126124
126125                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126126                       driver's destroy_volume_snapshot method
126127
126128              CLI Example:
126129
126130                 salt myminion libcloud_compute.destroy_volume_snapshot snap1 profile1
126131
126132       salt.modules.libcloud_compute.detach_volume(volume_id, profile,  **lib‐
126133       cloud_kwargs)
126134              Detaches a volume from a node.
126135
126136              Parameters
126137
126138                     · volume_id (str) -- Volume ID from which to detach
126139
126140                     · profile (str) -- The profile key
126141
126142                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126143                       driver's detach_volume method
126144
126145              CLI Example:
126146
126147                 salt myminion libcloud_compute.detach_volume vol1 profile1
126148
126149       salt.modules.libcloud_compute.extra(method, profile, **libcloud_kwargs)
126150              Call an extended method on the driver
126151
126152              Parameters
126153
126154                     · method (str) -- Driver's method name
126155
126156                     · profile (str) -- The profile key
126157
126158                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126159                       driver's method
126160
126161              CLI Example:
126162
126163                 salt myminion libcloud_compute.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
126164
126165       salt.modules.libcloud_compute.get_image(image_id,    profile,    **lib‐
126166       cloud_kwargs)
126167              Get an image of a node
126168
126169              Parameters
126170
126171                     · image_id (str) -- Image to fetch
126172
126173                     · profile (str) -- The profile key
126174
126175                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126176                       driver's delete_image method
126177
126178              CLI Example:
126179
126180                 salt myminion libcloud_compute.get_image image1 profile1
126181
126182       salt.modules.libcloud_compute.get_key_pair(name,     profile,    **lib‐
126183       cloud_kwargs)
126184              Get a single key pair by name
126185
126186              Parameters
126187
126188                     · name (str) -- Name of the key pair to retrieve.
126189
126190                     · profile (str) -- The profile key
126191
126192                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126193                       driver's get_key_pair method
126194
126195              CLI Example:
126196
126197                 salt myminion libcloud_compute.get_key_pair pair1 profile1
126198
126199       salt.modules.libcloud_compute.import_key_pair(name,    key,    profile,
126200       key_type=None, **libcloud_kwargs)
126201              Import a new public key from string or a file path
126202
126203              Parameters
126204
126205                     · name (str) -- Key pair name.
126206
126207                     · key (str or path  str)  --  Public  key  material,  the
126208                       string or a path to a file
126209
126210                     · profile (str) -- The profile key
126211
126212                     · key_type  (str)  --  The  key pair type, either FILE or
126213                       STRING. Will detect if not provided and assume that  if
126214                       the  string is a path to an existing path it is a FILE,
126215                       else STRING.
126216
126217                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126218                       driver's import_key_pair_from_xxx method
126219
126220              CLI Example:
126221
126222                 salt myminion libcloud_compute.import_key_pair pair1 key_value_data123 profile1
126223                 salt myminion libcloud_compute.import_key_pair pair1 /path/to/key profile1
126224
126225       salt.modules.libcloud_compute.list_images(profile,    location_id=None,
126226       **libcloud_kwargs)
126227              Return a list of images for this cloud
126228
126229              Parameters
126230
126231                     · profile (str) -- The profile key
126232
126233                     · location_id (str) -- The location key, from  list_loca‐
126234                       tions
126235
126236                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126237                       driver's list_images method
126238
126239              CLI Example:
126240
126241                 salt myminion libcloud_compute.list_images profile1
126242
126243       salt.modules.libcloud_compute.list_key_pairs(profile,            **lib‐
126244       cloud_kwargs)
126245              List all the available key pair objects.
126246
126247              Parameters
126248
126249                     · profile (str) -- The profile key
126250
126251                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126252                       driver's list_key_pairs method
126253
126254              CLI Example:
126255
126256                 salt myminion libcloud_compute.list_key_pairs profile1
126257
126258       salt.modules.libcloud_compute.list_locations(profile,            **lib‐
126259       cloud_kwargs)
126260              Return a list of locations for this cloud
126261
126262              Parameters
126263
126264                     · profile (str) -- The profile key
126265
126266                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126267                       driver's list_locations method
126268
126269              CLI Example:
126270
126271                 salt myminion libcloud_compute.list_locations profile1
126272
126273       salt.modules.libcloud_compute.list_nodes(profile, **libcloud_kwargs)
126274              Return a list of nodes
126275
126276              Parameters
126277
126278                     · profile (str) -- The profile key
126279
126280                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126281                       driver's list_nodes method
126282
126283              CLI Example:
126284
126285                 salt myminion libcloud_compute.list_nodes profile1
126286
126287       salt.modules.libcloud_compute.list_sizes(profile,     location_id=None,
126288       **libcloud_kwargs)
126289              Return a list of node sizes
126290
126291              Parameters
126292
126293                     · profile (str) -- The profile key
126294
126295                     · location_id (str) -- The location key, from  list_loca‐
126296                       tions
126297
126298                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126299                       driver's list_sizes method
126300
126301              CLI Example:
126302
126303                 salt myminion libcloud_compute.list_sizes profile1
126304                 salt myminion libcloud_compute.list_sizes profile1 us-east1
126305
126306       salt.modules.libcloud_compute.list_volume_snapshots(volume_id, profile,
126307       **libcloud_kwargs)
126308              Return a list of storage volumes snapshots for this cloud
126309
126310              Parameters
126311
126312                     · volume_id (str) -- The volume identifier
126313
126314                     · profile (str) -- The profile key
126315
126316                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126317                       driver's list_volume_snapshots method
126318
126319              CLI Example:
126320
126321                 salt myminion libcloud_compute.list_volume_snapshots vol1 profile1
126322
126323       salt.modules.libcloud_compute.list_volumes(profile, **libcloud_kwargs)
126324              Return a list of storage volumes for this cloud
126325
126326              Parameters
126327
126328                     · profile (str) -- The profile key
126329
126330                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126331                       driver's list_volumes method
126332
126333              CLI Example:
126334
126335                 salt myminion libcloud_compute.list_volumes profile1
126336
126337       salt.modules.libcloud_compute.reboot_node(node_id,    profile,   **lib‐
126338       cloud_kwargs)
126339              Reboot a node in the cloud
126340
126341              Parameters
126342
126343                     · node_id (str) -- Unique ID of the node to reboot
126344
126345                     · profile (str) -- The profile key
126346
126347                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126348                       driver's reboot_node method
126349
126350              CLI Example:
126351
126352                 salt myminion libcloud_compute.reboot_node as-2346 profile1
126353
126354   salt.modules.libcloud_dns module
126355   Apache Libcloud DNS Management
126356       Connection module for Apache Libcloud DNS management
126357
126358       New in version 2016.11.0.
126359
126360
126361       configuration
126362              This module uses a configuration profile for one or multiple DNS
126363              providers
126364
126365                 libcloud_dns:
126366                     profile_test1:
126367                       driver: cloudflare
126368                       key: 12345
126369                       secret: mysecret
126370                     profile_test2:
126371                       driver: godaddy
126372                       key: 12345
126373                       secret: mysecret
126374                       shopper_id: 12345
126375
126376       depends
126377              apache-libcloud
126378
126379       salt.modules.libcloud_dns.create_record(name, zone_id, type, data, pro‐
126380       file)
126381              Create a new record.
126382
126383              Parameters
126384
126385                     · name (str) -- Record name without the domain name (e.g.
126386                       www).  Note: If you want to create a record for a  base
126387                       domain  name,  you should specify empty string ('') for
126388                       this argument.
126389
126390                     · zone_id (str) -- Zone where  the  requested  record  is
126391                       created.
126392
126393                     · type (str) -- DNS record type (A, AAAA, ...).
126394
126395                     · data  (str)  --  Data  for  the  record (depends on the
126396                       record type).
126397
126398                     · profile (str) -- The profile key
126399
126400              CLI Example:
126401
126402                 salt myminion libcloud_dns.create_record www google.com A 12.32.12.2 profile1
126403
126404       salt.modules.libcloud_dns.create_zone(domain, profile,  type=u'master',
126405       ttl=None)
126406              Create a new zone.
126407
126408              Parameters
126409
126410                     · domain (str) -- Zone domain name (e.g. example.com)
126411
126412                     · profile (str) -- The profile key
126413
126414                     · type (str) -- Zone type (master / slave).
126415
126416                     · ttl (int) -- TTL for new records. (optional)
126417
126418              CLI Example:
126419
126420                 salt myminion libcloud_dns.create_zone google.com profile1
126421
126422       salt.modules.libcloud_dns.delete_record(zone_id, record_id, profile)
126423              Delete a record.
126424
126425              Parameters
126426
126427                     · zone_id (str) -- Zone to delete.
126428
126429                     · record_id (str) -- Record to delete.
126430
126431                     · profile (str) -- The profile key
126432
126433              Return type
126434                     bool
126435
126436              CLI Example:
126437
126438                 salt myminion libcloud_dns.delete_record google.com www profile1
126439
126440       salt.modules.libcloud_dns.delete_zone(zone_id, profile)
126441              Delete a zone.
126442
126443              Parameters
126444
126445                     · zone_id (str) -- Zone to delete.
126446
126447                     · profile (str) -- The profile key
126448
126449              Return type
126450                     bool
126451
126452              CLI Example:
126453
126454                 salt myminion libcloud_dns.delete_zone google.com profile1
126455
126456       salt.modules.libcloud_dns.extra(method, profile, **libcloud_kwargs)
126457              Call an extended method on the driver
126458
126459              Parameters
126460
126461                     · method (str) -- Driver's method name
126462
126463                     · profile (str) -- The profile key
126464
126465                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126466                       driver's delete_container method
126467
126468              CLI Example:
126469
126470                 salt myminion libcloud_dns.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
126471
126472       salt.modules.libcloud_dns.get_bind_data(zone_id, profile)
126473              Export Zone to the BIND compatible format.
126474
126475              Parameters
126476
126477                     · zone_id (str) -- Zone to export.
126478
126479                     · profile (str) -- The profile key
126480
126481              Returns
126482                     Zone data in BIND compatible format.
126483
126484              Return type
126485                     str
126486
126487              CLI Example:
126488
126489                 salt myminion libcloud_dns.get_bind_data google.com profile1
126490
126491       salt.modules.libcloud_dns.get_record(zone_id, record_id, profile)
126492              Get record information for the given zone_id on the  given  pro‐
126493              file
126494
126495              Parameters
126496
126497                     · zone_id (str) -- Zone to export.
126498
126499                     · record_id (str) -- Record to delete.
126500
126501                     · profile (str) -- The profile key
126502
126503              CLI Example:
126504
126505                 salt myminion libcloud_dns.get_record google.com www profile1
126506
126507       salt.modules.libcloud_dns.get_zone(zone_id, profile)
126508              Get zone information for the given zone_id on the given profile
126509
126510              Parameters
126511
126512                     · zone_id (str) -- Zone to export.
126513
126514                     · profile (str) -- The profile key
126515
126516              CLI Example:
126517
126518                 salt myminion libcloud_dns.get_zone google.com profile1
126519
126520       salt.modules.libcloud_dns.list_record_types(profile)
126521              List available record types for the given profile, e.g. A, AAAA
126522
126523              Parameters
126524                     profile (str) -- The profile key
126525
126526              CLI Example:
126527
126528                 salt myminion libcloud_dns.list_record_types profile1
126529
126530       salt.modules.libcloud_dns.list_records(zone_id, profile, type=None)
126531              List records for the given zone_id on the given profile
126532
126533              Parameters
126534
126535                     · zone_id (str) -- Zone to export.
126536
126537                     · profile (str) -- The profile key
126538
126539                     · type (str) -- The record type, e.g. A, NS
126540
126541              CLI Example:
126542
126543                 salt myminion libcloud_dns.list_records google.com profile1
126544
126545       salt.modules.libcloud_dns.list_zones(profile)
126546              List zones for the given profile
126547
126548              Parameters
126549                     profile (str) -- The profile key
126550
126551              CLI Example:
126552
126553                 salt myminion libcloud_dns.list_zones profile1
126554
126555       salt.modules.libcloud_dns.update_zone(zone_id,     domain,     profile,
126556       type=u'master', ttl=None)
126557              Update an existing zone.
126558
126559              Parameters
126560
126561                     · zone_id (str) -- Zone ID to update.
126562
126563                     · domain (str) -- Zone domain name (e.g. example.com)
126564
126565                     · profile (str) -- The profile key
126566
126567                     · type (str) -- Zone type (master / slave).
126568
126569                     · ttl (int) -- TTL for new records. (optional)
126570
126571              CLI Example:
126572
126573                 salt myminion libcloud_dns.update_zone google.com google.com profile1 type=slave
126574
126575   salt.modules.libcloud_loadbalancer
126576   Apache Libcloud Load Balancer Management
126577       Connection module for Apache Libcloud Storage load balancer  management
126578       for      a      full      list     of     supported     clouds,     see
126579       http://libcloud.readthedocs.io/en/latest/loadbalancer/supported_providers.html
126580
126581       Clouds include Amazon ELB, ALB, Google, Aliyun, CloudStack, Softlayer
126582
126583       New in version 2018.3.0.
126584
126585
126586       configuration
126587              This  module  uses  a  configuration profile for one or multiple
126588              Storage providers
126589
126590                 libcloud_loadbalancer:
126591                     profile_test1:
126592                       driver: gce
126593                       key: GOOG0123456789ABCXYZ
126594                       secret: mysecret
126595                     profile_test2:
126596                       driver: alb
126597                       key: 12345
126598                       secret: mysecret
126599
126600       depends
126601              apache-libcloud
126602
126603       salt.modules.libcloud_loadbalancer.balancer_attach_member(balancer_id,
126604       ip, port, profile, extra=None, **libcloud_kwargs)
126605              Add a new member to the load balancer
126606
126607              Parameters
126608
126609                     · balancer_id  (str) -- id of a load balancer you want to
126610                       fetch
126611
126612                     · ip (str) -- IP address for the new member
126613
126614                     · port (int) -- Port for the new member
126615
126616                     · profile (str) -- The profile key
126617
126618                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126619                       driver's balancer_attach_member method
126620
126621              CLI Example:
126622
126623                 salt myminion libcloud_storage.balancer_attach_member balancer123 1.2.3.4 80 profile1
126624
126625       salt.modules.libcloud_loadbalancer.balancer_detach_member(balancer_id,
126626       member_id, profile, **libcloud_kwargs)
126627              Add a new member to the load balancer
126628
126629              Parameters
126630
126631                     · balancer_id (str) -- id of a load balancer you want  to
126632                       fetch
126633
126634                     · ip (str) -- IP address for the new member
126635
126636                     · port (int) -- Port for the new member
126637
126638                     · profile (str) -- The profile key
126639
126640                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126641                       driver's balancer_detach_member method
126642
126643              CLI Example:
126644
126645                 salt myminion libcloud_storage.balancer_detach_member balancer123 member123 profile1
126646
126647       salt.modules.libcloud_loadbalancer.create_balancer(name,  port,  proto‐
126648       col, profile, algorithm=None, members=None, **libcloud_kwargs)
126649              Create a new load balancer instance
126650
126651              Parameters
126652
126653                     · name (str) -- Name of the new load balancer (required)
126654
126655                     · port  (str) -- Port the load balancer should listen on,
126656                       defaults to 80
126657
126658                     · protocol (str) -- Loadbalancer  protocol,  defaults  to
126659                       http.
126660
126661                     · algorithm  (str)  -- Load balancing algorithm, defaults
126662                       to ROUND_ROBIN. See Algorithm type in Libcloud documen‐
126663                       tation for a full listing.
126664
126665                     · profile (str) -- The profile key
126666
126667                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126668                       driver's create_balancer method
126669
126670              Returns
126671                     The details of the new balancer
126672
126673              CLI Example:
126674
126675                 salt myminion libcloud_storage.create_balancer my_balancer 80 http profile1
126676
126677       salt.modules.libcloud_loadbalancer.destroy_balancer(balancer_id,   pro‐
126678       file, **libcloud_kwargs)
126679              Destroy a load balancer
126680
126681              Parameters
126682
126683                     · balancer_id  (str)  --  LoadBalancer ID which should be
126684                       used
126685
126686                     · profile (str) -- The profile key
126687
126688                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126689                       driver's destroy_balancer method
126690
126691              Returns
126692                     True if the destroy was successful, otherwise False.
126693
126694              Return type
126695                     bool
126696
126697              CLI Example:
126698
126699                 salt myminion libcloud_storage.destroy_balancer balancer_1 profile1
126700
126701       salt.modules.libcloud_loadbalancer.extra(method,     profile,    **lib‐
126702       cloud_kwargs)
126703              Call an extended method on the driver
126704
126705              Parameters
126706
126707                     · method (str) -- Driver's method name
126708
126709                     · profile (str) -- The profile key
126710
126711                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126712                       driver's method
126713
126714              CLI Example:
126715
126716                 salt myminion libcloud_loadbalancer.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
126717
126718       salt.modules.libcloud_loadbalancer.get_balancer(balancer_id,   profile,
126719       **libcloud_kwargs)
126720              Get the details for a load balancer by ID
126721
126722              Parameters
126723
126724                     · balancer_id (str) -- id of a load balancer you want  to
126725                       fetch
126726
126727                     · profile (str) -- The profile key
126728
126729                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126730                       driver's get_balancer method
126731
126732              Returns
126733                     the load balancer details
126734
126735              CLI Example:
126736
126737                 salt myminion libcloud_storage.get_balancer balancer123 profile1
126738
126739       salt.modules.libcloud_loadbalancer.get_balancer_by_name(name,  profile,
126740       **libcloud_kwargs)
126741              Get the details for a load balancer by name
126742
126743              Parameters
126744
126745                     · name (str) -- Name of a load balancer you want to fetch
126746
126747                     · profile (str) -- The profile key
126748
126749                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126750                       driver's list_balancers method
126751
126752              Returns
126753                     the load balancer details
126754
126755              CLI Example:
126756
126757                 salt myminion libcloud_storage.get_balancer_by_name my_balancer profile1
126758
126759       salt.modules.libcloud_loadbalancer.list_balancer_members(balancer_id,
126760       profile, **libcloud_kwargs)
126761              List the members of a load balancer
126762
126763              Parameters
126764
126765                     · balancer_id  (str) -- id of a load balancer you want to
126766                       fetch
126767
126768                     · profile (str) -- The profile key
126769
126770                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126771                       driver's list_balancer_members method
126772
126773              CLI Example:
126774
126775                 salt myminion libcloud_storage.list_balancer_members balancer123 profile1
126776
126777       salt.modules.libcloud_loadbalancer.list_balancers(profile,       **lib‐
126778       cloud_kwargs)
126779              Return a list of load balancers.
126780
126781              Parameters
126782
126783                     · profile (str) -- The profile key
126784
126785                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126786                       driver's list_balancers method
126787
126788              CLI Example:
126789
126790                 salt myminion libcloud_storage.list_balancers profile1
126791
126792       salt.modules.libcloud_loadbalancer.list_protocols(profile,       **lib‐
126793       cloud_kwargs)
126794              Return a list of supported protocols.
126795
126796              Parameters
126797
126798                     · profile (str) -- The profile key
126799
126800                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126801                       driver's list_protocols method
126802
126803              Returns
126804                     a list of supported protocols
126805
126806              Return type
126807                     list of str
126808
126809              CLI Example:
126810
126811                 salt myminion libcloud_storage.list_protocols profile1
126812
126813       salt.modules.libcloud_loadbalancer.list_supported_algorithms(profile,
126814       **libcloud_kwargs)
126815              Get the supported algorithms for a profile
126816
126817              Parameters
126818
126819                     · profile (str) -- The profile key
126820
126821                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126822                       driver's list_supported_algorithms method
126823
126824              Returns
126825                     The supported algorithms
126826
126827              CLI Example:
126828
126829                 salt myminion libcloud_storage.list_supported_algorithms profile1
126830
126831   salt.modules.libcloud_storage
126832   Apache Libcloud Storage Management
126833       Connection  module for Apache Libcloud Storage (object/blob) management
126834       for     a     full     list     of      supported      clouds,      see
126835       http://libcloud.readthedocs.io/en/latest/storage/supported_providers.html
126836
126837       Clouds include Amazon S3, Google Storage, Aliyun,  Azure  Blobs,  Ceph,
126838       OpenStack swift
126839
126840       New in version 2018.3.0.
126841
126842
126843       configuration
126844              This  module  uses  a  configuration profile for one or multiple
126845              Storage providers
126846
126847                 libcloud_storage:
126848                     profile_test1:
126849                       driver: google_storage
126850                       key: GOOG0123456789ABCXYZ
126851                       secret: mysecret
126852                     profile_test2:
126853                       driver: s3
126854                       key: 12345
126855                       secret: mysecret
126856
126857       depends
126858              apache-libcloud
126859
126860       salt.modules.libcloud_storage.create_container(container_name, profile,
126861       **libcloud_kwargs)
126862              Create a container in the cloud
126863
126864              Parameters
126865
126866                     · container_name (str) -- Container name
126867
126868                     · profile (str) -- The profile key
126869
126870                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126871                       driver's create_container method
126872
126873              CLI Example:
126874
126875                 salt myminion libcloud_storage.create_container MyFolder profile1
126876
126877       salt.modules.libcloud_storage.delete_container(container_name, profile,
126878       **libcloud_kwargs)
126879              Delete an object container in the cloud
126880
126881              Parameters
126882
126883                     · container_name (str) -- Container name
126884
126885                     · profile (str) -- The profile key
126886
126887                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126888                       driver's delete_container method
126889
126890              Returns
126891                     True  if  an  object  container  has  been   successfully
126892                     deleted, False otherwise.
126893
126894              Return type
126895                     bool
126896
126897              CLI Example:
126898
126899                 salt myminion libcloud_storage.delete_container MyFolder profile1
126900
126901       salt.modules.libcloud_storage.delete_object(container_name,
126902       object_name, profile, **libcloud_kwargs)
126903              Delete an object in the cloud
126904
126905              Parameters
126906
126907                     · container_name (str) -- Container name
126908
126909                     · object_name (str) -- Object name
126910
126911                     · profile (str) -- The profile key
126912
126913                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126914                       driver's delete_object method
126915
126916              Returns
126917                     True  if  an  object has been successfully deleted, False
126918                     otherwise.
126919
126920              Return type
126921                     bool
126922
126923              CLI Example:
126924
126925                 salt myminion libcloud_storage.delete_object MyFolder me.jpg profile1
126926
126927       salt.modules.libcloud_storage.download_object(container_name,
126928       object_name,   destination_path,   profile,   overwrite_existing=False,
126929       delete_on_failure=True, **libcloud_kwargs)
126930              Download an object to the specified destination path.
126931
126932              Parameters
126933
126934                     · container_name (str) -- Container name
126935
126936                     · object_name (str) -- Object name
126937
126938                     · destination_path (str) -- Full path  to  a  file  or  a
126939                       directory where the incoming file will be saved.
126940
126941                     · profile (str) -- The profile key
126942
126943                     · overwrite_existing  (bool)  --  True  to  overwrite  an
126944                       existing file, defaults to False.
126945
126946                     · delete_on_failure (bool) -- True to delete a  partially
126947                       downloaded  file  if  the  download  was not successful
126948                       (hash mismatch / file size).
126949
126950                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126951                       driver's download_object method
126952
126953              Returns
126954                     True if an object has been successfully downloaded, False
126955                     otherwise.
126956
126957              Return type
126958                     bool
126959
126960              CLI Example:
126961
126962                 salt myminion libcloud_storage.download_object MyFolder me.jpg /tmp/me.jpg profile1
126963
126964       salt.modules.libcloud_storage.extra(method, profile, **libcloud_kwargs)
126965              Call an extended method on the driver
126966
126967              Parameters
126968
126969                     · method (str) -- Driver's method name
126970
126971                     · profile (str) -- The profile key
126972
126973                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126974                       driver's delete_container method
126975
126976              CLI Example:
126977
126978                 salt myminion libcloud_storage.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
126979
126980       salt.modules.libcloud_storage.get_container(container_name,    profile,
126981       **libcloud_kwargs)
126982              List container details for the given container_name on the given
126983              profile
126984
126985              Parameters
126986
126987                     · container_name (str) -- Container name
126988
126989                     · profile (str) -- The profile key
126990
126991                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
126992                       driver's get_container method
126993
126994              CLI Example:
126995
126996                 salt myminion libcloud_storage.get_container MyFolder profile1
126997
126998       salt.modules.libcloud_storage.get_container_object(container_name,
126999       object_name, profile, **libcloud_kwargs)
127000              Get  the  details  for a container object (file or object in the
127001              cloud)
127002
127003              Parameters
127004
127005                     · container_name (str) -- Container name
127006
127007                     · object_name (str) -- Object name
127008
127009                     · profile (str) -- The profile key
127010
127011                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
127012                       driver's get_container_object method
127013
127014              CLI Example:
127015
127016                 salt myminion libcloud_storage.get_container_object MyFolder MyFile.xyz profile1
127017
127018       salt.modules.libcloud_storage.list_container_objects(container_name,
127019       profile, **libcloud_kwargs)
127020              List container objects (e.g. files) for the  given  container_id
127021              on the given profile
127022
127023              Parameters
127024
127025                     · container_name (str) -- Container name
127026
127027                     · profile (str) -- The profile key
127028
127029                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
127030                       driver's list_container_objects method
127031
127032              CLI Example:
127033
127034                 salt myminion libcloud_storage.list_container_objects MyFolder profile1
127035
127036       salt.modules.libcloud_storage.list_containers(profile,           **lib‐
127037       cloud_kwargs)
127038              Return a list of containers.
127039
127040              Parameters
127041
127042                     · profile (str) -- The profile key
127043
127044                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
127045                       driver's list_containers method
127046
127047              CLI Example:
127048
127049                 salt myminion libcloud_storage.list_containers profile1
127050
127051       salt.modules.libcloud_storage.upload_object(file_path,  container_name,
127052       object_name,   profile,   extra=None,  verify_hash=True,  headers=None,
127053       **libcloud_kwargs)
127054              Upload an object currently located on a disk.
127055
127056              Parameters
127057
127058                     · file_path (str) -- Path to the object on disk.
127059
127060                     · container_name (str) -- Destination container.
127061
127062                     · object_name (str) -- Object name.
127063
127064                     · profile (str) -- The profile key
127065
127066                     · verify_hash (bool) -- Verify hash
127067
127068                     · extra (dict) --  Extra  attributes  (driver  specific).
127069                       (optional)
127070
127071                     · headers  (dict)  -- (optional) Additional request head‐
127072                       ers, such as  CORS  headers.  For  example:  headers  =
127073                       {'Access-Control-Allow-Origin': 'http://mozilla.com'}
127074
127075                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
127076                       driver's upload_object method
127077
127078              Returns
127079                     The object name in the cloud
127080
127081              Return type
127082                     str
127083
127084              CLI Example:
127085
127086                 salt myminion libcloud_storage.upload_object /file/to/me.jpg MyFolder me.jpg profile1
127087
127088   salt.modules.linux_acl
127089       Support for Linux File Access Control Lists
127090
127091       The Linux ACL module requires the getfacl and setfacl binaries.
127092
127093       salt.modules.linux_acl.delfacl(acl_type, acl_name=u'', *args, **kwargs)
127094              Remove specific FACL from the specified file(s)
127095
127096              CLI Examples:
127097
127098                 salt '*' acl.delfacl user myuser /tmp/house/kitchen
127099                 salt '*' acl.delfacl default:group mygroup /tmp/house/kitchen
127100                 salt '*' acl.delfacl d:u myuser /tmp/house/kitchen
127101                 salt '*' acl.delfacl g myuser /tmp/house/kitchen /tmp/house/livingroom
127102                 salt '*' acl.delfacl user myuser /tmp/house/kitchen recursive=True
127103
127104       salt.modules.linux_acl.getfacl(*args, **kwargs)
127105              Return (extremely verbose) map of FACLs on specified file(s)
127106
127107              CLI Examples:
127108
127109                 salt '*' acl.getfacl /tmp/house/kitchen
127110                 salt '*' acl.getfacl /tmp/house/kitchen /tmp/house/livingroom
127111                 salt '*' acl.getfacl /tmp/house/kitchen /tmp/house/livingroom recursive=True
127112
127113       salt.modules.linux_acl.modfacl(acl_type,    acl_name=u'',    perms=u'',
127114       *args, **kwargs)
127115              Add or modify a FACL for the specified file(s)
127116
127117              CLI Examples:
127118
127119                 salt '*' acl.modfacl user myuser rwx /tmp/house/kitchen
127120                 salt '*' acl.modfacl default:group mygroup rx /tmp/house/kitchen
127121                 salt '*' acl.modfacl d:u myuser 7 /tmp/house/kitchen
127122                 salt '*' acl.modfacl g mygroup 0 /tmp/house/kitchen /tmp/house/livingroom
127123                 salt '*' acl.modfacl user myuser rwx /tmp/house/kitchen recursive=True
127124                 salt '*' acl.modfacl user myuser rwx /tmp/house/kitchen raise_err=True
127125
127126       salt.modules.linux_acl.version()
127127              Return facl version from getfacl --version
127128
127129              CLI Example:
127130
127131                 salt '*' acl.version
127132
127133       salt.modules.linux_acl.wipefacls(*args, **kwargs)
127134              Remove all FACLs from the specified file(s)
127135
127136              CLI Examples:
127137
127138                 salt '*' acl.wipefacls /tmp/house/kitchen
127139                 salt '*' acl.wipefacls /tmp/house/kitchen /tmp/house/livingroom
127140                 salt '*' acl.wipefacls /tmp/house/kitchen /tmp/house/livingroom recursive=True
127141
127142   salt.modules.linux_ip module
127143       The networking module for Non-RH/Deb Linux distros
127144
127145       salt.modules.linux_ip.down(iface, iface_type=None)
127146              Shutdown a network interface
127147
127148              CLI Example:
127149
127150                 salt '*' ip.down eth0
127151
127152       salt.modules.linux_ip.get_interface(iface)
127153              Return the contents of an interface script
127154
127155              CLI Example:
127156
127157                 salt '*' ip.get_interface eth0
127158
127159       salt.modules.linux_ip.get_routes(iface=None)
127160              Return the current routing table
127161
127162              CLI Examples:
127163
127164                 salt '*' ip.get_routes
127165                 salt '*' ip.get_routes eth0
127166
127167       salt.modules.linux_ip.up(iface, iface_type=None)
127168              Start up a network interface
127169
127170              CLI Example:
127171
127172                 salt '*' ip.up eth0
127173
127174   salt.modules.linux_lvm
127175       Support for Linux LVM2
127176
127177       salt.modules.linux_lvm.fullversion()
127178              Return all version info from lvm version
127179
127180              CLI Example:
127181
127182                 salt '*' lvm.fullversion
127183
127184       salt.modules.linux_lvm.lvcreate(lvname,        vgname,       size=None,
127185       extents=None, snapshot=None, pv=None, thinvolume=False, thinpool=False,
127186       force=False, **kwargs)
127187              Create a new logical volume, with option for which physical vol‐
127188              ume to be used
127189
127190              CLI Examples:
127191
127192                 salt '*' lvm.lvcreate new_volume_name     vg_name size=10G
127193                 salt '*' lvm.lvcreate new_volume_name     vg_name extents=100 pv=/dev/sdb
127194                 salt '*' lvm.lvcreate new_snapshot        vg_name snapshot=volume_name size=3G
127195
127196              New in version to_complete.
127197
127198
127199              Support for thin pools and thin volumes
127200
127201              CLI Examples:
127202
127203                 salt '*' lvm.lvcreate new_thinpool_name   vg_name               size=20G thinpool=True
127204                 salt '*' lvm.lvcreate new_thinvolume_name vg_name/thinpool_name size=10G thinvolume=True
127205
127206       salt.modules.linux_lvm.lvdisplay(lvname=u'', quiet=False)
127207              Return information about the logical volume(s)
127208
127209              lvname logical device name
127210
127211              quiet  if the logical volume is not present,  do  not  show  any
127212                     error
127213
127214              CLI Examples:
127215
127216                 salt '*' lvm.lvdisplay
127217                 salt '*' lvm.lvdisplay /dev/vg_myserver/root
127218
127219       salt.modules.linux_lvm.lvremove(lvname, vgname)
127220              Remove  a  given  existing  logical volume from a named existing
127221              volume group
127222
127223              CLI Example:
127224
127225                 salt '*' lvm.lvremove lvname vgname force=True
127226
127227       salt.modules.linux_lvm.lvresize(size=None, lvpath=None, extents=None)
127228              Return information about the logical volume(s)
127229
127230              CLI Examples:
127231
127232                 salt '*' lvm.lvresize +12M /dev/mapper/vg1-test
127233                 salt '*' lvm.lvresize lvpath=/dev/mapper/vg1-test extents=+100%FREE
127234
127235       salt.modules.linux_lvm.pvcreate(devices, override=True, **kwargs)
127236              Set a physical device to be used as an LVM physical volume
127237
127238              override
127239                     Skip devices, if they are already LVM physical volumes
127240
127241              CLI Examples:
127242
127243                 salt mymachine lvm.pvcreate /dev/sdb1,/dev/sdb2
127244                 salt mymachine lvm.pvcreate /dev/sdb1 dataalignmentoffset=7s
127245
127246       salt.modules.linux_lvm.pvdisplay(pvname=u'', real=False, quiet=False)
127247              Return information about the physical volume(s)
127248
127249              pvname physical device name
127250
127251              real   dereference any symlinks and report the real device
127252
127253                     New in version 2015.8.7.
127254
127255
127256              quiet  if the physical volume is not present, do  not  show  any
127257                     error
127258
127259              CLI Examples:
127260
127261                 salt '*' lvm.pvdisplay
127262                 salt '*' lvm.pvdisplay /dev/md0
127263
127264       salt.modules.linux_lvm.pvremove(devices, override=True)
127265              Remove a physical device being used as an LVM physical volume
127266
127267              override
127268                     Skip  devices, if they are already not used as LVM physi‐
127269                     cal volumes
127270
127271              CLI Examples:
127272
127273                 salt mymachine lvm.pvremove /dev/sdb1,/dev/sdb2
127274
127275       salt.modules.linux_lvm.version()
127276              Return LVM version from lvm version
127277
127278              CLI Example:
127279
127280                 salt '*' lvm.version
127281
127282       salt.modules.linux_lvm.vgcreate(vgname, devices, **kwargs)
127283              Create an LVM volume group
127284
127285              CLI Examples:
127286
127287                 salt mymachine lvm.vgcreate my_vg /dev/sdb1,/dev/sdb2
127288                 salt mymachine lvm.vgcreate my_vg /dev/sdb1 clustered=y
127289
127290       salt.modules.linux_lvm.vgdisplay(vgname=u'', quiet=False)
127291              Return information about the volume group(s)
127292
127293              vgname volume group name
127294
127295              quiet  if the volume group is not present, do not show any error
127296
127297              CLI Examples:
127298
127299                 salt '*' lvm.vgdisplay
127300                 salt '*' lvm.vgdisplay nova-volumes
127301
127302       salt.modules.linux_lvm.vgextend(vgname, devices)
127303              Add physical volumes to an LVM volume group
127304
127305              CLI Examples:
127306
127307                 salt mymachine lvm.vgextend my_vg /dev/sdb1,/dev/sdb2
127308                 salt mymachine lvm.vgextend my_vg /dev/sdb1
127309
127310       salt.modules.linux_lvm.vgremove(vgname)
127311              Remove an LVM volume group
127312
127313              CLI Examples:
127314
127315                 salt mymachine lvm.vgremove vgname
127316                 salt mymachine lvm.vgremove vgname force=True
127317
127318   salt.modules.linux_sysctl
127319       Module for viewing and modifying sysctl parameters
127320
127321       salt.modules.linux_sysctl.assign(name, value)
127322              Assign a single sysctl parameter for this minion
127323
127324              CLI Example:
127325
127326                 salt '*' sysctl.assign net.ipv4.ip_forward 1
127327
127328       salt.modules.linux_sysctl.default_config()
127329              Linux hosts using systemd 207 or later  ignore  /etc/sysctl.conf
127330              and  only  load from /etc/sysctl.d/*.conf. This function will do
127331              the proper checks and return a default config file which will be
127332              valid  for  the  Minion.  Hosts  running systemd >= 207 will use
127333              /etc/sysctl.d/99-salt.conf.
127334
127335              CLI Example:
127336
127337                 salt -G 'kernel:Linux' sysctl.default_config
127338
127339       salt.modules.linux_sysctl.get(name)
127340              Return a single sysctl parameter for this minion
127341
127342              CLI Example:
127343
127344                 salt '*' sysctl.get net.ipv4.ip_forward
127345
127346       salt.modules.linux_sysctl.persist(name, value, config=None)
127347              Assign and persist a simple sysctl parameter for this minion. If
127348              config is not specified, a sensible default will be chosen using
127349              sysctl.default_config.
127350
127351              CLI Example:
127352
127353                 salt '*' sysctl.persist net.ipv4.ip_forward 1
127354
127355       salt.modules.linux_sysctl.show(config_file=False)
127356              Return a list of sysctl parameters for this minion
127357
127358              config: Pull the data from the system configuration file
127359                     instead of the live data.
127360
127361              CLI Example:
127362
127363                 salt '*' sysctl.show
127364
127365   salt.modules.localemod
127366       Module for managing locales on POSIX-like systems.
127367
127368       salt.modules.localemod.avail(locale)
127369              Check if a locale is available.
127370
127371              New in version 2014.7.0.
127372
127373
127374              CLI Example:
127375
127376                 salt '*' locale.avail 'en_US.UTF-8'
127377
127378       salt.modules.localemod.gen_locale(locale, **kwargs)
127379              Generate a locale. Options:
127380
127381              New in version 2014.7.0.
127382
127383
127384              Parameters
127385                     locale -- Any locale listed in /usr/share/i18n/locales or
127386                     /usr/share/i18n/SUPPORTED  for  Debian  and  Gentoo based
127387                     distributions, which require the charmap to be  specified
127388                     as part of the locale when generating it.
127389
127390              verbose
127391                     Show  extra  warnings  about  errors  that  are  normally
127392                     ignored.
127393
127394              CLI Example:
127395
127396                 salt '*' locale.gen_locale en_US.UTF-8
127397                 salt '*' locale.gen_locale 'en_IE.UTF-8 UTF-8'    # Debian/Gentoo only
127398
127399       salt.modules.localemod.get_locale()
127400              Get the current system locale
127401
127402              CLI Example:
127403
127404                 salt '*' locale.get_locale
127405
127406       salt.modules.localemod.list_avail()
127407              Lists available (compiled) locales
127408
127409              CLI Example:
127410
127411                 salt '*' locale.list_avail
127412
127413       salt.modules.localemod.set_locale(locale)
127414              Sets the current system locale
127415
127416              CLI Example:
127417
127418                 salt '*' locale.set_locale 'en_US.UTF-8'
127419
127420   salt.modules.locate
127421       Module for using the locate utilities
127422
127423       salt.modules.locate.locate(pattern, database=u'', limit=0, **kwargs)
127424              Performs a file lookup. Valid options (and their defaults) are:
127425
127426                 basename=False
127427                 count=False
127428                 existing=False
127429                 follow=True
127430                 ignore=False
127431                 nofollow=False
127432                 wholename=True
127433                 regex=False
127434                 database=<locate's default database>
127435                 limit=<integer, not set by default>
127436
127437              See the manpage for locate(1) for further explanation  of  these
127438              options.
127439
127440              CLI Example:
127441
127442                 salt '*' locate.locate
127443
127444       salt.modules.locate.stats()
127445              Returns statistics about the locate database
127446
127447              CLI Example:
127448
127449                 salt '*' locate.stats
127450
127451       salt.modules.locate.updatedb()
127452              Updates the locate database
127453
127454              CLI Example:
127455
127456                 salt '*' locate.updatedb
127457
127458       salt.modules.locate.version()
127459              Returns the version of locate
127460
127461              CLI Example:
127462
127463                 salt '*' locate.version
127464
127465   salt.modules.logadm
127466       Module for managing Solaris logadm based log rotations.
127467
127468       salt.modules.logadm.list_conf(conf_file=u'/etc/logadm.conf',
127469       log_file=None, include_unset=False)
127470              Show parsed configuration
127471
127472              New in version 2018.3.0.
127473
127474
127475              conf_file
127476                     string path to logadm.conf, defaults to /etc/logadm.conf
127477
127478              log_file
127479                     string optional show only one log file
127480
127481              include_unset
127482                     boolean include unset flags in output
127483
127484              CLI Example:
127485
127486                 salt '*' logadm.list_conf
127487                 salt '*' logadm.list_conf log=/var/log/syslog
127488                 salt '*' logadm.list_conf include_unset=False
127489
127490       salt.modules.logadm.remove(name, conf_file=u'/etc/logadm.conf')
127491              Remove log pattern from logadm
127492
127493              CLI Example:
127494
127495                 salt '*' logadm.remove myapplog
127496
127497       salt.modules.logadm.rotate(name,                          pattern=None,
127498       conf_file=u'/etc/logadm.conf', **kwargs)
127499              Set up pattern for logging.
127500
127501              name   string alias for entryname
127502
127503              pattern
127504                     string alias for log_file
127505
127506              conf_file
127507                     string optional path to alternative configuration file
127508
127509              kwargs boolean|string|int  optional additional flags and parame‐
127510                     ters
127511
127512              NOTE:
127513                 name and pattern were kept for backwards  compatibility  rea‐
127514                 sons.
127515
127516                 name  is  an  alias for the entryname argument, pattern is an
127517                 alias for log_file. These aliases will only be  used  if  the
127518                 entryname and log_file arguments are not passed.
127519
127520                 For a full list of arguments see `logadm.show_args`.
127521
127522              CLI Example:
127523
127524                 salt '*' logadm.rotate myapplog pattern='/var/log/myapp/*.log' count=7
127525                 salt '*' logadm.rotate myapplog log_file='/var/log/myapp/*.log' count=4 owner=myappd mode='0700'
127526
127527       salt.modules.logadm.show_args(*args, **kwargs)
127528              Show which arguments map to which flags and options.
127529
127530              New in version 2018.3.0.
127531
127532
127533              CLI Example:
127534
127535                 salt '*' logadm.show_args
127536
127537       salt.modules.logadm.show_conf(conf_file=u'/etc/logadm.conf', name=None)
127538              Show configuration
127539
127540              conf_file
127541                     string path to logadm.conf, defaults to /etc/logadm.conf
127542
127543              name   string optional show only a single entry
127544
127545              CLI Example:
127546
127547                 salt '*' logadm.show_conf
127548                 salt '*' logadm.show_conf name=/var/log/syslog
127549
127550   salt.modules.logmod module
127551   On-demand logging
127552       New in version 2017.7.0.
127553
127554
127555       The sole purpose of this module is logging messages in the (proxy) min‐
127556       ion.  It comes very handy when debugging complex Jinja  templates,  for
127557       example:
127558
127559          {%- for var in range(10) %}
127560            {%- do salt.log.info(var) -%}
127561          {%- endfor %}
127562
127563       CLI Example:
127564
127565          salt '*' log.error "Please don't do that, this module is not for CLI use!"
127566
127567       salt.modules.logmod.critical(message)
127568              Log message at level CRITICAL.
127569
127570       salt.modules.logmod.debug(message)
127571              Log message at level DEBUG.
127572
127573       salt.modules.logmod.error(message)
127574              Log message at level ERROR.
127575
127576       salt.modules.logmod.exception(message)
127577              Log message at level EXCEPTION.
127578
127579       salt.modules.logmod.info(message)
127580              Log message at level INFO.
127581
127582       salt.modules.logmod.warning(message)
127583              Log message at level WARNING.
127584
127585   salt.modules.logrotate
127586       Module for managing logrotate.
127587
127588       salt.modules.logrotate.get(key,   value=None,   conf_file=u'/etc/logro‐
127589       tate.conf')
127590              Get the value for a specific configuration line.
127591
127592              Parameters
127593
127594                     · key (str) -- The command or stanza block to configure.
127595
127596                     · value (str) -- The command  value  or  command  of  the
127597                       block specified by the key parameter.
127598
127599                     · conf_file (str) -- The logrotate configuration file.
127600
127601              Returns
127602                     The value for a specific configuration line.
127603
127604              Return type
127605                     bool|int|str
127606
127607              CLI Example:
127608
127609                 salt '*' logrotate.get rotate
127610
127611                 salt '*' logrotate.get /var/log/wtmp rotate /etc/logrotate.conf
127612
127613       salt.modules.logrotate.set_(key,          value,          setting=None,
127614       conf_file=u'/etc/logrotate.conf')
127615              Set a new value for a specific configuration line.
127616
127617              Parameters
127618
127619                     · key (str) -- The command or block to configure.
127620
127621                     · value (str) -- The command  value  or  command  of  the
127622                       block specified by the key parameter.
127623
127624                     · setting  (str)  --  The  command  value for the command
127625                       specified by the value parameter.
127626
127627                     · conf_file (str) -- The logrotate configuration file.
127628
127629              Returns
127630                     A boolean representing whether all changes succeeded.
127631
127632              Return type
127633                     bool
127634
127635              CLI Example:
127636
127637                 salt '*' logrotate.set rotate 2
127638
127639              Can also be used to set a single value inside a  multiline  con‐
127640              figuration  block. For instance, to change rotate in the follow‐
127641              ing block:
127642
127643                 /var/log/wtmp {
127644                     monthly
127645                     create 0664 root root
127646                     rotate 1
127647                 }
127648
127649              Use the following command:
127650
127651                 salt '*' logrotate.set /var/log/wtmp rotate 2
127652
127653              This module also has the ability to scan files inside an include
127654              directory, and make changes in the appropriate file.
127655
127656       salt.modules.logrotate.show_conf(conf_file=u'/etc/logrotate.conf')
127657              Show parsed configuration
127658
127659              Parameters
127660                     conf_file (str) -- The logrotate configuration file.
127661
127662              Returns
127663                     The parsed configuration.
127664
127665              Return type
127666                     dict
127667
127668              CLI Example:
127669
127670                 salt '*' logrotate.show_conf
127671
127672   salt.modules.lvs
127673       Support for LVS (Linux Virtual Server)
127674
127675       salt.modules.lvs.add_server(protocol=None,        service_address=None,
127676       server_address=None, packet_forward_method=u'dr', weight=1, **kwargs)
127677              Add a real server to a virtual service.
127678
127679              protocol
127680                     The service protocol(only support  tcp,  udp  and  fwmark
127681                     service).
127682
127683              service_address
127684                     The LVS service address.
127685
127686              server_address
127687                     The real server address.
127688
127689              packet_forward_method
127690                     The  LVS  packet forwarding method(dr for direct routing,
127691                     tunnel for tunneling, nat  for  network  access  transla‐
127692                     tion).
127693
127694              weight The  capacity   of a server relative to the others in the
127695                     pool.
127696
127697              CLI Example:
127698
127699                 salt '*' lvs.add_server tcp 1.1.1.1:80 192.168.0.11:8080 nat 1
127700
127701       salt.modules.lvs.add_service(protocol=None,       service_address=None,
127702       scheduler=u'wlc')
127703              Add a virtual service.
127704
127705              protocol
127706                     The  service  protocol(only  support  tcp, udp and fwmark
127707                     service).
127708
127709              service_address
127710                     The LVS service address.
127711
127712              scheduler
127713                     Algorithm for allocating TCP connections  and  UDP  data‐
127714                     grams to real servers.
127715
127716              CLI Example:
127717
127718                 salt '*' lvs.add_service tcp 1.1.1.1:80 rr
127719
127720       salt.modules.lvs.check_server(protocol=None,      service_address=None,
127721       server_address=None, **kwargs)
127722              Check the real server exists in the specified service.
127723
127724              CLI Example:
127725
127726                 salt '*' lvs.check_server tcp 1.1.1.1:80 192.168.0.11:8080
127727
127728       salt.modules.lvs.check_service(protocol=None,     service_address=None,
127729       **kwargs)
127730              Check the virtual service exists.
127731
127732              CLI Example:
127733
127734                 salt '*' lvs.check_service tcp 1.1.1.1:80
127735
127736       salt.modules.lvs.clear()
127737              Clear the virtual server table
127738
127739              CLI Example:
127740
127741                 salt '*' lvs.clear
127742
127743       salt.modules.lvs.delete_server(protocol=None,     service_address=None,
127744       server_address=None)
127745              Delete the realserver from the virtual service.
127746
127747              protocol
127748                     The service protocol(only support  tcp,  udp  and  fwmark
127749                     service).
127750
127751              service_address
127752                     The LVS service address.
127753
127754              server_address
127755                     The real server address.
127756
127757              CLI Example:
127758
127759                 salt '*' lvs.delete_server tcp 1.1.1.1:80 192.168.0.11:8080
127760
127761       salt.modules.lvs.delete_service(protocol=None, service_address=None)
127762              Delete the virtual service.
127763
127764              protocol
127765                     The  service  protocol(only  support  tcp, udp and fwmark
127766                     service).
127767
127768              service_address
127769                     The LVS service address.
127770
127771              CLI Example:
127772
127773                 salt '*' lvs.delete_service tcp 1.1.1.1:80
127774
127775       salt.modules.lvs.edit_server(protocol=None,       service_address=None,
127776       server_address=None, packet_forward_method=None, weight=None, **kwargs)
127777              Edit a real server to a virtual service.
127778
127779              protocol
127780                     The  service  protocol(only  support  tcp, udp and fwmark
127781                     service).
127782
127783              service_address
127784                     The LVS service address.
127785
127786              server_address
127787                     The real server address.
127788
127789              packet_forward_method
127790                     The LVS packet forwarding method(dr for  direct  routing,
127791                     tunnel  for  tunneling,  nat  for network access transla‐
127792                     tion).
127793
127794              weight The capacity  of a server relative to the others  in  the
127795                     pool.
127796
127797              CLI Example:
127798
127799                 salt '*' lvs.edit_server tcp 1.1.1.1:80 192.168.0.11:8080 nat 1
127800
127801       salt.modules.lvs.edit_service(protocol=None,      service_address=None,
127802       scheduler=None)
127803              Edit the virtual service.
127804
127805              protocol
127806                     The service protocol(only support  tcp,  udp  and  fwmark
127807                     service).
127808
127809              service_address
127810                     The LVS service address.
127811
127812              scheduler
127813                     Algorithm  for  allocating  TCP connections and UDP data‐
127814                     grams to real servers.
127815
127816              CLI Example:
127817
127818                 salt '*' lvs.edit_service tcp 1.1.1.1:80 rr
127819
127820       salt.modules.lvs.get_rules()
127821              Get the virtual server rules
127822
127823              CLI Example:
127824
127825                 salt '*' lvs.get_rules
127826
127827       salt.modules.lvs.list_(protocol=None, service_address=None)
127828              List the virtual server table if service_address is  not  speci‐
127829              fied. If a service_address is selected, list this service only.
127830
127831              CLI Example:
127832
127833                 salt '*' lvs.list
127834
127835       salt.modules.lvs.zero(protocol=None, service_address=None)
127836              Zero the packet, byte and rate counters in a service or all ser‐
127837              vices.
127838
127839              CLI Example:
127840
127841                 salt '*' lvs.zero
127842
127843   salt.modules.lxc
127844       Control Linux Containers via Salt
127845
127846       depends
127847              lxc package for distribution
127848
127849       lxc >= 1.0 (even beta alpha) is required
127850
127851       salt.modules.lxc.add_veth(name, interface_name, bridge=None, path=None)
127852              Add a veth to a container.  Note : this function doesn't  update
127853              the container config, just add the interface at runtime
127854
127855              name   Name of the container
127856
127857              interface_name
127858                     Name of the interface in the container
127859
127860              bridge Name  of  the bridge to attach the interface to (faculta‐
127861                     tive)
127862
127863              CLI Examples:
127864
127865                 salt '*' lxc.add_veth container_name eth1 br1
127866                 salt '*' lxc.add_veth container_name eth1
127867
127868       salt.modules.lxc.apply_network_profile(name,           network_profile,
127869       nic_opts=None, path=None)
127870              New in version 2015.5.0.
127871
127872
127873              Apply a network profile to a container
127874
127875              network_profile
127876                     profile name or default values (dict)
127877
127878              nic_opts
127879                     values to override in defaults (dict) indexed by nic card
127880                     names
127881
127882              path   path to the container parent
127883
127884                     New in version 2015.8.0.
127885
127886
127887              CLI Examples:
127888
127889                 salt 'minion' lxc.apply_network_profile web1 centos
127890                 salt 'minion' lxc.apply_network_profile web1 centos \
127891                         nic_opts="{'eth0': {'mac': 'xx:xx:xx:xx:xx:xx'}}"
127892                 salt 'minion' lxc.apply_network_profile web1 \
127893                         "{'eth0': {'mac': 'xx:xx:xx:xx:xx:yy'}}"
127894                         nic_opts="{'eth0': {'mac': 'xx:xx:xx:xx:xx:xx'}}"
127895
127896              The special case to disable use of ethernet nics:
127897
127898                 salt 'minion' lxc.apply_network_profile web1 centos \
127899                         "{eth0: {disable: true}}"
127900
127901       salt.modules.lxc.attachable(name, path=None)
127902              Return True if the named container can be attached  to  via  the
127903              lxc-attach command
127904
127905              path   path  to the container parent default: /var/lib/lxc (sys‐
127906                     tem default)
127907
127908                     New in version 2015.8.0.
127909
127910
127911              CLI Example:
127912
127913                 salt 'minion' lxc.attachable ubuntu
127914
127915       salt.modules.lxc.bootstrap(name,     config=None,     approve_key=True,
127916       install=True,    pub_key=None,    priv_key=None,    bootstrap_url=None,
127917       force_install=False,  unconditional_install=False,   path=None,   boot‐
127918       strap_delay=None, bootstrap_args=None, bootstrap_shell=None)
127919              Install and configure salt in a container.
127920
127921              config Minion  configuration  options.  By  default,  the master
127922                     option is set to the target host's master.
127923
127924              approve_key
127925                     Request a  pre-approval  of  the  generated  minion  key.
127926                     Requires  that  the  salt-master  be configured to either
127927                     auto-accept all keys or expect a signing request from the
127928                     target host. Default: True
127929
127930              path   path  to the container parent default: /var/lib/lxc (sys‐
127931                     tem default)
127932
127933                     New in version 2015.8.0.
127934
127935
127936              pub_key
127937                     Explicit  public  key  to   pressed   the   minion   with
127938                     (optional).   This  can  be either a filepath or a string
127939                     representing the key
127940
127941              priv_key
127942                     Explicit  private  key  to  pressed   the   minion   with
127943                     (optional).   This  can  be either a filepath or a string
127944                     representing the key
127945
127946              bootstrap_delay
127947                     Delay in seconds between end of  container  creation  and
127948                     bootstrapping.   Useful  when  waiting  for  container to
127949                     obtain a DHCP lease.
127950
127951                     New in version 2015.5.0.
127952
127953
127954              bootstrap_url
127955                     url, content or filepath to the salt bootstrap script
127956
127957              bootstrap_args
127958                     salt bootstrap script arguments
127959
127960              bootstrap_shell
127961                     shell to execute the script into
127962
127963              install
127964                     Whether to attempt a full installation of salt-minion  if
127965                     needed.
127966
127967              force_install
127968                     Force  installation even if salt-minion is detected, this
127969                     is the way to run vendor bootstrap scripts even if a salt
127970                     minion is already present in the container
127971
127972              unconditional_install
127973                     Run the script even if the container seems seeded
127974
127975              CLI Examples:
127976
127977                 salt 'minion' lxc.bootstrap container_name [config=config_data] \
127978                         [approve_key=(True|False)] [install=(True|False)]
127979
127980       salt.modules.lxc.clone(name,  orig, profile=None, network_profile=None,
127981       nic_opts=None, **kwargs)
127982              Create a new container as a clone of another container
127983
127984              name   Name of the container
127985
127986              orig   Name of the original container to be cloned
127987
127988              profile
127989                     Profile   to    use    in    container    cloning    (see
127990                     lxc.get_container_profile).  Values  in a profile will be
127991                     overridden by  the  Container  Cloning  Arguments  listed
127992                     below.
127993
127994              path   path   to   the   container   parent  directory  default:
127995                     /var/lib/lxc (system)
127996
127997                     New in version 2015.8.0.
127998
127999
128000              Container Cloning Arguments
128001
128002              snapshot
128003                     Use Copy On Write snapshots (LVM)
128004
128005              size   1G Size of the volume to create. Only applicable if back‐
128006                     ing=lvm.
128007
128008              backing
128009                     The  type  of  storage  to  use. Set to lvm to use an LVM
128010                     group.  Defaults to filesystem within /var/lib/lxc.
128011
128012              network_profile
128013                     Network profile to use for container
128014
128015                     New in version 2015.8.0.
128016
128017
128018              nic_opts
128019                     give extra opts overriding network profile values
128020
128021                     New in version 2015.8.0.
128022
128023
128024              CLI Examples:
128025
128026                 salt '*' lxc.clone myclone orig=orig_container
128027                 salt '*' lxc.clone myclone orig=orig_container snapshot=True
128028
128029       salt.modules.lxc.cloud_init(name, vm_=None, **kwargs)
128030              Thin wrapper to lxc.init to  be  used  from  the  saltcloud  lxc
128031              driver
128032
128033              name   Name  of  the container may be None and then guessed from
128034                     saltcloud mapping
128035
128036              vm_    saltcloud mapping defaults for the vm
128037
128038              CLI Example:
128039
128040                 salt '*' lxc.cloud_init foo
128041
128042       salt.modules.lxc.cloud_init_interface(name, vm_=None, **kwargs)
128043              Interface between salt.cloud.lxc driver and lxc.init  vm_  is  a
128044              mapping  of  vm  opts in the salt.cloud format as documented for
128045              the lxc driver.
128046
128047              This can be used either:
128048
128049              · from the salt cloud driver
128050
128051              · because you find the argument to give easier here  than  using
128052                directly lxc.init
128053
128054              WARNING:
128055                 BE REALLY CAREFUL CHANGING DEFAULTS !!!  IT'S A RETRO COMPAT‐
128056                 IBLE INTERFACE WITH THE SALT CLOUD DRIVER (ask kiorky).
128057
128058              name   name of the lxc container to create
128059
128060              pub_key
128061                     public key to preseed the minion with.  Can be  the  key‐
128062                     content or a filepath
128063
128064              priv_key
128065                     private  key to preseed the minion with.  Can be the key‐
128066                     content or a filepath
128067
128068              path   path  to  the  container   parent   directory   (default:
128069                     /var/lib/lxc)
128070
128071                     New in version 2015.8.0.
128072
128073
128074              profile
128075                     profile selection
128076
128077              network_profile
128078                     network profile selection
128079
128080              nic_opts
128081                     per  interface  settings compatibles with network profile
128082                     (ipv4/ipv6/link/gateway/mac/netmask)
128083
128084                     eg:
128085
128086                        - {'eth0': {'mac': '00:16:3e:01:29:40',
128087                                    'gateway': None, (default)
128088                                    'link': 'br0', (default)
128089                                    'gateway': None, (default)
128090                                    'netmask': '', (default)
128091                                    'ip': '22.1.4.25'}}
128092
128093              unconditional_install
128094                     given to lxc.bootstrap (see relative doc)
128095
128096              force_install
128097                     given to lxc.bootstrap (see relative doc)
128098
128099              config any extra argument for the salt minion config
128100
128101              dnsservers
128102                     list of DNS servers to set inside the container
128103
128104              dns_via_dhcp
128105                     do not set the dns servers, let them be set by the dhcp.
128106
128107              autostart
128108                     autostart the container at boot time
128109
128110              password
128111                     administrative password for the container
128112
128113              bootstrap_delay
128114                     delay before launching bootstrap script at Container init
128115
128116              WARNING:
128117                 Legacy but still supported options:
128118
128119                 from_container
128120                        which container we use  as  a  template  when  running
128121                        lxc.clone
128122
128123                 image  which template do we use when we are using lxc.create.
128124                        This is the default mode unless you specify  something
128125                        in from_container
128126
128127                 backing
128128                        which backing store to use.  Values can be: overlayfs,
128129                        dir(default), lvm, zfs, brtfs
128130
128131                 fstype When using a blockdevice level  backing  store,  which
128132                        filesystem to use on
128133
128134                 size   When  using  a  blockdevice level backing store, which
128135                        size for the filesystem to use on
128136
128137                 snapshot
128138                        Use snapshot when cloning the container source
128139
128140                 vgname if using LVM: vgname
128141
128142                 lvname if using LVM: lvname
128143
128144                 thinpool:
128145                        if using LVM: thinpool
128146
128147                 ip     ip for the primary nic
128148
128149                 mac    mac address for the primary nic
128150
128151                 netmask
128152                        netmask for the primary nic (24) =  vm_.get('netmask',
128153                        '24')
128154
128155                 bridge bridge for the primary nic (lxcbr0)
128156
128157                 gateway
128158                        network gateway for the container
128159
128160                 additional_ips
128161                        additional  ips which will be wired on the main bridge
128162                        (br0) which is connected to internet.  Be  aware  that
128163                        you  may  use manual virtual mac addresses providen by
128164                        you provider (online, ovh, etc).  This is  a  list  of
128165                        mappings  {ip: '', mac: '', netmask:''} Set gateway to
128166                        None and an interface with a gateway  to  escape  from
128167                        another interface that eth0.  eg:
128168
128169                            - {'mac': '00:16:3e:01:29:40',
128170                               'gateway': None, (default)
128171                               'link': 'br0', (default)
128172                               'netmask': '', (default)
128173                               'ip': '22.1.4.25'}
128174
128175                 users  administrative users for the container default: [root]
128176                        and [root, ubuntu] on ubuntu
128177
128178                 default_nic
128179                        name of the first interface,  you  should  really  not
128180                        override this
128181
128182              CLI Example:
128183
128184                 salt '*' lxc.cloud_init_interface foo
128185
128186       salt.modules.lxc.copy_to(name,     source,    dest,    overwrite=False,
128187       makedirs=False, path=None)
128188              Changed in version 2015.8.0: Function  renamed  from  lxc.cp  to
128189              lxc.copy_to  for  consistency with other container types. lxc.cp
128190              will continue to work, however.  For versions 2015.2.x and  ear‐
128191              lier, use lxc.cp.
128192
128193
128194              Copy a file or directory from the host into a container
128195
128196              name   Container name
128197
128198              source File to be copied to the container
128199
128200              path   path  to the container parent default: /var/lib/lxc (sys‐
128201                     tem default)
128202
128203                     New in version 2015.8.0.
128204
128205
128206              dest   Destination on the container. Must be an absolute path.
128207
128208                     Changed in version 2015.5.0:  If  the  destination  is  a
128209                     directory, the file will be copied into that directory.
128210
128211
128212              overwrite
128213                     False  Unless  this option is set to True, then if a file
128214                     exists at the location specified by the dest argument, an
128215                     error will be raised.
128216
128217                     New in version 2015.8.0.
128218
128219
128220              makedirs : False
128221                 Create  the  parent directory on the container if it does not
128222                 already exist.
128223
128224                 New in version 2015.5.0.
128225
128226
128227              CLI Example:
128228
128229                 salt 'minion' lxc.copy_to /tmp/foo /root/foo
128230                 salt 'minion' lxc.cp /tmp/foo /root/foo
128231
128232       salt.modules.lxc.create(name, config=None,  profile=None,  network_pro‐
128233       file=None, nic_opts=None, **kwargs)
128234              Create a new container.
128235
128236              name   Name of the container
128237
128238              config The  config  file  to  use for the container. Defaults to
128239                     system-wide config (usually in /etc/lxc/lxc.conf).
128240
128241              profile
128242                     Profile   to   use    in    container    creation    (see
128243                     lxc.get_container_profile).  Values  in a profile will be
128244                     overridden by the  Container  Creation  Arguments  listed
128245                     below.
128246
128247              network_profile
128248                     Network profile to use for container
128249
128250                     New in version 2015.5.0.
128251
128252
128253              Container Creation Arguments
128254
128255              template
128256                     The  template to use. For example, ubuntu or fedora.  For
128257                     a  full  list  of  available  templates,  check  out  the
128258                     lxc.templates function.
128259
128260                     Conflicts with the image argument.
128261
128262                     NOTE:
128263                        The  download  template  requires  the following three
128264                        parameters to be defined in options:
128265
128266                        · dist - The name of the distribution
128267
128268                        · release - Release name/version
128269
128270                        · arch - Architecture of the container
128271
128272                        The  available  images  can  be   listed   using   the
128273                        lxc.images function.
128274
128275              options
128276                     Template-specific  options to pass to the lxc-create com‐
128277                     mand. These correspond to the long options  (ones  begin‐
128278                     ning  with  two dashes) that the template script accepts.
128279                     For example:
128280
128281                        options='{"dist": "centos", "release": "6", "arch": "amd64"}'
128282
128283                     For available template options, refer to the lxc template
128284                     scripts     which     are    ususally    located    under
128285                     /usr/share/lxc/templates, or run lxc-create -t <template>
128286                     -h.
128287
128288              image  A  tar  archive  to  use as the rootfs for the container.
128289                     Conflicts with the template argument.
128290
128291              backing
128292                     The type of storage to use. Set to  lvm  to  use  an  LVM
128293                     group.  Defaults to filesystem within /var/lib/lxc.
128294
128295              fstype Filesystem type to use on LVM logical volume
128296
128297              size   1G Size of the volume to create. Only applicable if back‐
128298                     ing=lvm.
128299
128300              vgname lxc Name of the LVM volume group in which to  create  the
128301                     volume  for  this  container.  Only  applicable  if back‐
128302                     ing=lvm.
128303
128304              lvname Name of the LVM logical volume in  which  to  create  the
128305                     volume  for  this  container.  Only  applicable  if back‐
128306                     ing=lvm.
128307
128308              thinpool
128309                     Name of a pool volume that will be used  for  thin-provi‐
128310                     sioning this container. Only applicable if backing=lvm.
128311
128312              nic_opts
128313                     give extra opts overriding network profile values
128314
128315              path   parent   path   for   the  container  creation  (default:
128316                     /var/lib/lxc)
128317
128318              zfsroot
128319                     Name of the ZFS root in which to create  the  volume  for
128320                     this   container.    Only   applicable   if  backing=zfs.
128321                     (default: tank/lxc)
128322
128323                     New in version 2015.8.0.
128324
128325
128326       salt.modules.lxc.destroy(name, stop=False, path=None)
128327              Destroy the named container.
128328
128329              WARNING:
128330                 Destroys all data associated with the container.
128331
128332              path   path  to  the  container   parent   directory   (default:
128333                     /var/lib/lxc)
128334
128335                     New in version 2015.8.0.
128336
128337
128338              stop   False If True, the container will be destroyed even if it
128339                     is running/frozen.
128340
128341                     Changed in version 2015.5.0:  Default  value  changed  to
128342                     False.   This   more  closely  matches  the  behavior  of
128343                     lxc-destroy(1), and also makes it  less  likely  that  an
128344                     accidental  command will destroy a running container that
128345                     was being used for important things.
128346
128347
128348              CLI Examples:
128349
128350                 salt '*' lxc.destroy foo
128351                 salt '*' lxc.destroy foo stop=True
128352
128353       salt.modules.lxc.edit_conf(conf_file,             out_format=u'simple',
128354       read_only=False, lxc_config=None, **kwargs)
128355              Edit  an LXC configuration file. If a setting is already present
128356              inside the file, its value will be  replaced.  If  it  does  not
128357              exist,  it will be appended to the end of the file. Comments and
128358              blank lines will be kept in-tact if they already  exist  in  the
128359              file.
128360
128361              out_format:
128362                     Set  to simple if you need backward compatibility (multi‐
128363                     ple items for a simple key is not supported)
128364
128365              read_only:
128366                     return only the edited configuration without applying  it
128367                     to the underlying lxc configuration file
128368
128369              lxc_config:
128370                     List of dict containning lxc configuration items For net‐
128371                     work configuration, you also need to add  the  device  it
128372                     belongs to, otherwise it will default to eth0.  Also, any
128373                     change to a network parameter will result  in  the  whole
128374                     network  reconfiguration  to avoid mismatchs, be aware of
128375                     that !
128376
128377              After the file is edited, its  contents  will  be  returned.  By
128378              default,  it  will  be  returned  in  simple  format, meaning an
128379              unordered dict (which may not represent the actual file  order).
128380              Passing  in an out_format of commented will return a data struc‐
128381              ture which accurately represents the order and  content  of  the
128382              file.
128383
128384              CLI Example:
128385
128386                 salt 'minion' lxc.edit_conf /etc/lxc/mycontainer.conf \
128387                     out_format=commented lxc.network.type=veth
128388                 salt 'minion' lxc.edit_conf /etc/lxc/mycontainer.conf \
128389                     out_format=commented \
128390                     lxc_config="[{'lxc.network.name': 'eth0', \
128391                                   'lxc.network.ipv4': '1.2.3.4'},
128392                                  {'lxc.network.name': 'eth2', \
128393                                   'lxc.network.ipv4': '1.2.3.5',\
128394                                   'lxc.network.gateway': '1.2.3.1'}]"
128395
128396       salt.modules.lxc.exists(name, path=None)
128397              Returns whether the named container exists.
128398
128399              path   path   to   the   container  parent  directory  (default:
128400                     /var/lib/lxc)
128401
128402                     New in version 2015.8.0.
128403
128404
128405              CLI Example:
128406
128407                 salt '*' lxc.exists name
128408
128409       salt.modules.lxc.freeze(name, **kwargs)
128410              Freeze the named container
128411
128412              path   path  to  the   container   parent   directory   default:
128413                     /var/lib/lxc (system)
128414
128415                     New in version 2015.8.0.
128416
128417
128418              start  False If True and the container is stopped, the container
128419                     will be started before attempting to freeze.
128420
128421                     New in version 2015.5.0.
128422
128423
128424              use_vt run the command through VT
128425
128426                     New in version 2015.8.0.
128427
128428
128429              CLI Example:
128430
128431                 salt '*' lxc.freeze name
128432
128433       salt.modules.lxc.get_container_profile(name=None, **kwargs)
128434              New in version 2015.5.0.
128435
128436
128437              Gather a pre-configured set of container  configuration  parame‐
128438              ters. If no arguments are passed, an empty profile is returned.
128439
128440              Profiles can be defined in the minion or master config files, or
128441              in pillar or grains, and are loaded using  config.get.  The  key
128442              under   which  LXC  profiles  must  be  configured  is  lxc.con‐
128443              tainer_profile.profile_name. An example container profile  would
128444              be as follows:
128445
128446                 lxc.container_profile:
128447                   ubuntu:
128448                     template: ubuntu
128449                     backing: lvm
128450                     vgname: lxc
128451                     size: 1G
128452
128453              Parameters  set  in a profile can be overridden by passing addi‐
128454              tional container creation arguments (such as the ones passed  to
128455              lxc.create) to this function.
128456
128457              A profile can be defined either as the name of the profile, or a
128458              dictionary of variable names and values. See  the  LXC  Tutorial
128459              for more information on how to use LXC profiles.
128460
128461              CLI Example:
128462
128463                 salt-call lxc.get_container_profile centos
128464                 salt-call lxc.get_container_profile ubuntu template=ubuntu backing=overlayfs
128465
128466       salt.modules.lxc.get_network_profile(name=None, **kwargs)
128467              New in version 2015.5.0.
128468
128469
128470              Gather a pre-configured set of network configuration parameters.
128471              If no arguments are passed, the  following  default  profile  is
128472              returned:
128473
128474                 {'eth0': {'link': 'br0', 'type': 'veth', 'flags': 'up'}}
128475
128476              Profiles can be defined in the minion or master config files, or
128477              in pillar or grains, and are loaded using  config.get.  The  key
128478              under  which LXC profiles must be configured is lxc.network_pro‐
128479              file. An example network profile would be as follows:
128480
128481                 lxc.network_profile.centos:
128482                   eth0:
128483                     link: br0
128484                     type: veth
128485                     flags: up
128486
128487              To disable networking entirely:
128488
128489                 lxc.network_profile.centos:
128490                   eth0:
128491                     disable: true
128492
128493              Parameters set in a profile can be overridden by  passing  addi‐
128494              tional arguments to this function.
128495
128496              A  profile can be passed either as the name of the profile, or a
128497              dictionary of variable names and values. See  the  LXC  Tutorial
128498              for more information on how to use network profiles.
128499
128500              WARNING:
128501                 The  ipv4,  ipv6, gateway, and link (bridge) settings in net‐
128502                 work profiles will only work if the container  doesn't  rede‐
128503                 fine  the  network configuration (for example in /etc/syscon‐
128504                 fig/network-scripts/ifcfg-<interface_name> on RHEL/CentOS, or
128505                 /etc/network/interfaces on Debian/Ubuntu/etc.)
128506
128507              CLI Example:
128508
128509                 salt-call lxc.get_network_profile default
128510
128511       salt.modules.lxc.get_parameter(name, parameter, path=None)
128512              Returns the value of a cgroup parameter for a container
128513
128514              path   path   to   the   container   parent  directory  default:
128515                     /var/lib/lxc (system)
128516
128517                     New in version 2015.8.0.
128518
128519
128520              CLI Example:
128521
128522                 salt '*' lxc.get_parameter container_name memory.limit_in_bytes
128523
128524       salt.modules.lxc.get_pid(name, path=None)
128525              Returns a container pid.  Throw an exception  if  the  container
128526              isn't running.
128527
128528              CLI Example:
128529
128530                 salt '*' lxc.get_pid name
128531
128532       salt.modules.lxc.get_root_path(path)
128533              Get the configured lxc root for containers
128534
128535              New in version 2015.8.0.
128536
128537
128538              CLI Example:
128539
128540                 salt '*' lxc.get_root_path
128541
128542       salt.modules.lxc.images(dist=None)
128543              New in version 2015.5.0.
128544
128545
128546              List the available images for LXC's download template.
128547
128548              dist   None Filter results to a single Linux distribution
128549
128550              CLI Examples:
128551
128552                 salt myminion lxc.images
128553                 salt myminion lxc.images dist=centos
128554
128555       salt.modules.lxc.info(name, path=None)
128556              Returns information about a container
128557
128558              path   path   to   the   container   parent  directory  default:
128559                     /var/lib/lxc (system)
128560
128561                     New in version 2015.8.0.
128562
128563
128564              CLI Example:
128565
128566                 salt '*' lxc.info name
128567
128568       salt.modules.lxc.init(name,  config=None,  cpuset=None,  cpushare=None,
128569       memory=None,    profile=None,    network_profile=None,   nic_opts=None,
128570       cpu=None,   autostart=True,   password=None,   password_encrypted=None,
128571       users=None,  dnsservers=None,  searchdomains=None,  bridge=None,  gate‐
128572       way=None, pub_key=None,  priv_key=None,  force_install=False,  uncondi‐
128573       tional_install=False,  bootstrap_delay=None, bootstrap_args=None, boot‐
128574       strap_shell=None, bootstrap_url=None, **kwargs)
128575              Initialize a new container.
128576
128577              This is a partial idempotent function as if it is already provi‐
128578              sioned,  we will reset a bit the lxc configuration file but much
128579              of the hard work will be escaped as markers will prevent re-exe‐
128580              cution of harmful tasks.
128581
128582              name   Name of the container
128583
128584              image  A  tar  archive  to  use as the rootfs for the container.
128585                     Conflicts with the template argument.
128586
128587              cpus   Select a random number of cpu cores and assign it to  the
128588                     cpuset, if the cpuset option is set then this option will
128589                     be ignored
128590
128591              cpuset Explicitly define the cpus this container will  be  bound
128592                     to
128593
128594              cpushare
128595                     cgroups cpu shares
128596
128597              autostart
128598                     autostart container on reboot
128599
128600              memory cgroups memory limit, in MB
128601
128602                     Changed  in  version  2015.5.0: If no value is passed, no
128603                     limit is set. In earlier Salt versions, not passing  this
128604                     value  causes a 1024MB memory limit to be set, and it was
128605                     necessary to pass memory=0 to set no limit.
128606
128607
128608              gateway
128609                     the ipv4 gateway to use the  default  does  nothing  more
128610                     than lxcutils does
128611
128612              bridge the  bridge  to  use  the  default does nothing more than
128613                     lxcutils does
128614
128615              network_profile
128616                     Network profile to use for the container
128617
128618                     New in version 2015.5.0.
128619
128620
128621              nic_opts
128622                     Extra options for network interfaces, will override
128623
128624                     {"eth0":    {"hwaddr":    "aa:bb:cc:dd:ee:ff",    "ipv4":
128625                     "10.1.1.1", "ipv6": "2001:db8::ff00:42:8329"}}
128626
128627                     or
128628
128629                     {"eth0":    {"hwaddr":    "aa:bb:cc:dd:ee:ff",    "ipv4":
128630                     "10.1.1.1/24", "ipv6": "2001:db8::ff00:42:8329"}}
128631
128632              users  Users for which the  password  defined  in  the  password
128633                     param  should  be set. Can be passed as a comma separated
128634                     list or a python list.  Defaults to just the root user.
128635
128636              password
128637                     Set the initial password for the  users  defined  in  the
128638                     users parameter
128639
128640              password_encrypted
128641                     False  Set to True to denote a password hash instead of a
128642                     plaintext password
128643
128644                     New in version 2015.5.0.
128645
128646
128647              profile
128648                     A LXC profile (defined in config or pillar).  This can be
128649                     either  a real profile mapping or a string to retrieve it
128650                     in configuration
128651
128652              start  Start the newly-created container
128653
128654              dnsservers
128655                     list of dns servers to set in the container,  default  []
128656                     (no setting)
128657
128658              seed   Seed the container with the minion config. Default: True
128659
128660              install
128661                     If  salt-minion  is  not  already  installed, install it.
128662                     Default: True
128663
128664              config Optional config parameters. By default, the id is set  to
128665                     the name of the container.
128666
128667              master salt master (default to minion's master)
128668
128669              master_port
128670                     salt master port (default to minion's master port)
128671
128672              pub_key
128673                     Explicit   public   key   to   preseed  the  minion  with
128674                     (optional).  This can be either a filepath  or  a  string
128675                     representing the key
128676
128677              priv_key
128678                     Explicit   private   key   to  preseed  the  minion  with
128679                     (optional).  This can be either a filepath  or  a  string
128680                     representing the key
128681
128682              approve_key
128683                     If  explicit  preseeding  is not used; Attempt to request
128684                     key approval from the master. Default: True
128685
128686              path   path  to  the   container   parent   directory   default:
128687                     /var/lib/lxc (system)
128688
128689                     New in version 2015.8.0.
128690
128691
128692              clone_from
128693                     Original  from  which  to use a clone operation to create
128694                     the container.  Default: None
128695
128696              bootstrap_delay
128697                     Delay in seconds between end of  container  creation  and
128698                     bootstrapping.   Useful  when  waiting  for  container to
128699                     obtain a DHCP lease.
128700
128701                     New in version 2015.5.0.
128702
128703
128704              bootstrap_url
128705                     See lxc.bootstrap
128706
128707              bootstrap_shell
128708                     See lxc.bootstrap
128709
128710              bootstrap_args
128711                     See lxc.bootstrap
128712
128713              force_install
128714                     Force installation even if salt-minion is detected,  this
128715                     is the way to run vendor bootstrap scripts even if a salt
128716                     minion is already present in the container
128717
128718              unconditional_install
128719                     Run the script even if the container seems seeded
128720
128721              CLI Example:
128722
128723                 salt 'minion' lxc.init name [cpuset=cgroups_cpuset] \
128724                         [cpushare=cgroups_cpushare] [memory=cgroups_memory] \
128725                         [nic=nic_profile] [profile=lxc_profile] \
128726                         [nic_opts=nic_opts] [start=(True|False)] \
128727                         [seed=(True|False)] [install=(True|False)] \
128728                         [config=minion_config] [approve_key=(True|False) \
128729                         [clone_from=original] [autostart=True] \
128730                         [priv_key=/path_or_content] [pub_key=/path_or_content] \
128731                         [bridge=lxcbr0] [gateway=10.0.3.1] \
128732                         [dnsservers[dns1,dns2]] \
128733                         [users=[foo]] [password='secret'] \
128734                         [password_encrypted=(True|False)]
128735
128736       salt.modules.lxc.list_(extra=False, limit=None, path=None)
128737              List containers classified by state
128738
128739              extra  Also get per-container specific info.  This  will  change
128740                     the return data.  Instead of returning a list of contain‐
128741                     ers, a dictionary of containers and each container's out‐
128742                     put from lxc.info.
128743
128744              path   path   to   the   container   parent  directory  default:
128745                     /var/lib/lxc (system)
128746
128747                     New in version 2015.8.0.
128748
128749
128750              limit  Return output matching a specific state (frozen, running,
128751                     or stopped).
128752
128753                     New in version 2015.5.0.
128754
128755
128756              CLI Examples:
128757
128758                 salt '*' lxc.list
128759                 salt '*' lxc.list extra=True
128760                 salt '*' lxc.list limit=running
128761
128762       salt.modules.lxc.ls_(active=None, cache=True, path=None)
128763              Return a list of the containers available on the minion
128764
128765              path   path   to   the   container   parent  directory  default:
128766                     /var/lib/lxc (system)
128767
128768                     New in version 2015.8.0.
128769
128770
128771              active If True, return only active (i.e. running) containers
128772
128773                     New in version 2015.5.0.
128774
128775
128776              CLI Example:
128777
128778                 salt '*' lxc.ls
128779                 salt '*' lxc.ls active=True
128780
128781       salt.modules.lxc.read_conf(conf_file, out_format=u'simple')
128782              Read in an LXC configuration file. By default returns a  simple,
128783              unsorted  dict,  but  can  also return a more detailed structure
128784              including blank lines and comments.
128785
128786              out_format:
128787                     set to 'simple' if  you  need  the  old  and  unsupported
128788                     behavior.   This  won't  support  the multiple lxc values
128789                     (eg: multiple network nics)
128790
128791              CLI Examples:
128792
128793                 salt 'minion' lxc.read_conf /etc/lxc/mycontainer.conf
128794                 salt 'minion' lxc.read_conf /etc/lxc/mycontainer.conf out_format=commented
128795
128796       salt.modules.lxc.reboot(name, path=None)
128797              Reboot a container.
128798
128799              path   path to the container parent default: /var/lib/lxc  (sys‐
128800                     tem default)
128801
128802                     New in version 2015.8.0.
128803
128804
128805              CLI Examples:
128806
128807                 salt 'minion' lxc.reboot myvm
128808
128809       salt.modules.lxc.reconfigure(name,        cpu=None,        cpuset=None,
128810       cpushare=None,   memory=None,    profile=None,    network_profile=None,
128811       nic_opts=None, bridge=None, gateway=None, autostart=None, utsname=None,
128812       rootfs=None, path=None, **kwargs)
128813              Reconfigure a container.
128814
128815              This only applies to a few property
128816
128817              name   Name of the container.
128818
128819              utsname
128820                     utsname of the container.
128821
128822                     New in version 2016.3.0.
128823
128824
128825              rootfs rootfs of the container.
128826
128827                     New in version 2016.3.0.
128828
128829
128830              cpu    Select a random number of cpu cores and assign it to  the
128831                     cpuset, if the cpuset option is set then this option will
128832                     be ignored
128833
128834              cpuset Explicitly define the cpus this container will  be  bound
128835                     to
128836
128837              cpushare
128838                     cgroups cpu shares.
128839
128840              autostart
128841                     autostart container on reboot
128842
128843              memory cgroups  memory  limit,  in MB.  (0 for nolimit, None for
128844                     old default 1024MB)
128845
128846              gateway
128847                     the ipv4 gateway to use the  default  does  nothing  more
128848                     than lxcutils does
128849
128850              bridge the  bridge  to  use  the  default does nothing more than
128851                     lxcutils does
128852
128853              nic    Network interfaces profile (defined in config or pillar).
128854
128855              nic_opts
128856                     Extra options for network interfaces, will override
128857
128858                     {"eth0": {"mac": "aa:bb:cc:dd:ee:ff", "ipv4": "10.1.1.1",
128859                     "ipv6": "2001:db8::ff00:42:8329"}}
128860
128861                     or
128862
128863                     {"eth0":     {"mac":     "aa:bb:cc:dd:ee:ff",     "ipv4":
128864                     "10.1.1.1/24", "ipv6": "2001:db8::ff00:42:8329"}}
128865
128866              path   path to the container parent
128867
128868                     New in version 2015.8.0.
128869
128870
128871              CLI Example:
128872
128873                 salt-call -lall mc_lxc_fork.reconfigure foobar nic_opts="{'eth1': {'mac': '00:16:3e:dd:ee:44'}}" memory=4
128874
128875       salt.modules.lxc.restart(name, path=None, lxc_config=None, force=False)
128876              New in version 2015.5.0.
128877
128878
128879              Restart the named container. If the container was  not  running,
128880              the container will merely be started.
128881
128882              name   The name of the container
128883
128884              path   path   to   the   container   parent  directory  default:
128885                     /var/lib/lxc (system)
128886
128887                     New in version 2015.8.0.
128888
128889
128890              lxc_config
128891                     path to a lxc config file config  file  will  be  guessed
128892                     from container name otherwise
128893
128894                     New in version 2015.8.0.
128895
128896
128897              force  False  If  True,  the  container  will  be  force-stopped
128898                     instead of gracefully shut down
128899
128900              CLI Example:
128901
128902                 salt myminion lxc.restart name
128903
128904       salt.modules.lxc.retcode(name,      cmd,      no_start=False,      pre‐
128905       serve_state=True,       stdin=None,       python_shell=True,       out‐
128906       put_loglevel=u'debug', use_vt=False,  path=None,  ignore_retcode=False,
128907       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
128908              New in version 2015.5.0.
128909
128910
128911              Run cmd.retcode within a container
128912
128913              WARNING:
128914                 Many  shell builtins do not work, failing with stderr similar
128915                 to the following:
128916
128917                     lxc_container: No such file or directory - failed to exec 'command'
128918
128919                 The same error will be displayed in  stderr  if  the  command
128920                 being  run  does not exist. If the retcode is nonzero and not
128921                 what was expected, try using lxc.run_stderr or lxc.run_all.
128922
128923              name   Name of the container in which to run the command
128924
128925              cmd    Command to run
128926
128927              no_start
128928                     False If the container is not running, don't start it
128929
128930              preserve_state
128931                     True After running the command, return the  container  to
128932                     its previous state
128933
128934              path   path  to the container parent default: /var/lib/lxc (sys‐
128935                     tem default)
128936
128937                     New in version 2015.8.0.
128938
128939
128940              stdin  None Standard input to be used for the command
128941
128942              output_loglevel
128943                     debug Level at which to log the output from the  command.
128944                     Set to quiet to suppress logging.
128945
128946              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
128947                     sole output=all.
128948
128949              keep_env
128950                     http_proxy,https_proxy,no_proxy A list  of  env  vars  to
128951                     preserve. May be passed as commma-delimited list.
128952
128953              chroot_fallback
128954                     if  the  container is not running, try to run the command
128955                     using chroot default: false
128956
128957              CLI Example:
128958
128959                 salt myminion lxc.retcode mycontainer 'ip addr show'
128960
128961       salt.modules.lxc.run(name,  cmd,  no_start=False,  preserve_state=True,
128962       stdin=None,  python_shell=True, output_loglevel=u'debug', use_vt=False,
128963       path=None,         ignore_retcode=False,         chroot_fallback=False,
128964       keep_env=u'http_proxy, https_proxy, no_proxy')
128965              New in version 2015.8.0.
128966
128967
128968              Run cmd.run within a container
128969
128970              WARNING:
128971                 Many  shell builtins do not work, failing with stderr similar
128972                 to the following:
128973
128974                     lxc_container: No such file or directory - failed to exec 'command'
128975
128976                 The same error will be displayed in  stderr  if  the  command
128977                 being run does not exist. If no output is returned using this
128978                 function, try using lxc.run_stderr or lxc.run_all.
128979
128980              name   Name of the container in which to run the command
128981
128982              cmd    Command to run
128983
128984              path   path to the container parent default: /var/lib/lxc  (sys‐
128985                     tem default)
128986
128987                     New in version 2015.8.0.
128988
128989
128990              no_start
128991                     False If the container is not running, don't start it
128992
128993              preserve_state
128994                     True  After  running the command, return the container to
128995                     its previous state
128996
128997              stdin  None Standard input to be used for the command
128998
128999              output_loglevel
129000                     debug Level at which to log the output from the  command.
129001                     Set to quiet to suppress logging.
129002
129003              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
129004                     sole. Assumes output=all.
129005
129006              chroot_fallback
129007                     if the container is not running, try to run  the  command
129008                     using chroot default: false
129009
129010              keep_env
129011                     http_proxy,https_proxy,no_proxy  A  list  of  env vars to
129012                     preserve. May be passed as commma-delimited list.
129013
129014              CLI Example:
129015
129016                 salt myminion lxc.run mycontainer 'ifconfig -a'
129017
129018       salt.modules.lxc.run_all(name,      cmd,      no_start=False,      pre‐
129019       serve_state=True,       stdin=None,       python_shell=True,       out‐
129020       put_loglevel=u'debug', use_vt=False,  path=None,  ignore_retcode=False,
129021       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
129022              New in version 2015.5.0.
129023
129024
129025              Run cmd.run_all within a container
129026
129027              NOTE:
129028                 While  the  command is run within the container, it is initi‐
129029                 ated from the host. Therefore, the PID in the return dict  is
129030                 from the host, not from the container.
129031
129032              WARNING:
129033                 Many  shell builtins do not work, failing with stderr similar
129034                 to the following:
129035
129036                     lxc_container: No such file or directory - failed to exec 'command'
129037
129038                 The same error will be displayed in  stderr  if  the  command
129039                 being run does not exist.
129040
129041              name   Name of the container in which to run the command
129042
129043              path   path  to the container parent default: /var/lib/lxc (sys‐
129044                     tem default)
129045
129046                     New in version 2015.8.0.
129047
129048
129049              cmd    Command to run
129050
129051              no_start
129052                     False If the container is not running, don't start it
129053
129054              preserve_state
129055                     True After running the command, return the  container  to
129056                     its previous state
129057
129058              stdin  None Standard input to be used for the command
129059
129060              output_loglevel
129061                     debug  Level at which to log the output from the command.
129062                     Set to quiet to suppress logging.
129063
129064              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
129065                     sole output=all.
129066
129067              keep_env
129068                     http_proxy,https_proxy,no_proxy  A  list  of  env vars to
129069                     preserve. May be passed as commma-delimited list.
129070
129071              chroot_fallback
129072                     if the container is not running, try to run  the  command
129073                     using chroot default: false
129074
129075              CLI Example:
129076
129077                 salt myminion lxc.run_all mycontainer 'ip addr show'
129078
129079       salt.modules.lxc.run_stderr(name,     cmd,     no_start=False,     pre‐
129080       serve_state=True,       stdin=None,       python_shell=True,       out‐
129081       put_loglevel=u'debug',  use_vt=False,  path=None, ignore_retcode=False,
129082       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
129083              New in version 2015.5.0.
129084
129085
129086              Run cmd.run_stderr within a container
129087
129088              WARNING:
129089                 Many shell builtins do not work, failing with stderr  similar
129090                 to the following:
129091
129092                     lxc_container: No such file or directory - failed to exec 'command'
129093
129094                 The  same  error  will  be displayed if the command being run
129095                 does not exist.
129096
129097              name   Name of the container in which to run the command
129098
129099              cmd    Command to run
129100
129101              path   path to the container parent default: /var/lib/lxc  (sys‐
129102                     tem default)
129103
129104                     New in version 2015.8.0.
129105
129106
129107              no_start
129108                     False If the container is not running, don't start it
129109
129110              preserve_state
129111                     True  After  running the command, return the container to
129112                     its previous state
129113
129114              stdin  None Standard input to be used for the command
129115
129116              output_loglevel
129117                     debug Level at which to log the output from the  command.
129118                     Set to quiet to suppress logging.
129119
129120              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
129121                     sole output=all.
129122
129123              keep_env
129124                     http_proxy,https_proxy,no_proxy A list  of  env  vars  to
129125                     preserve. May be passed as commma-delimited list.
129126
129127              chroot_fallback
129128                     if  the  container is not running, try to run the command
129129                     using chroot default: false
129130
129131              CLI Example:
129132
129133                 salt myminion lxc.run_stderr mycontainer 'ip addr show'
129134
129135       salt.modules.lxc.run_stdout(name,     cmd,     no_start=False,     pre‐
129136       serve_state=True,       stdin=None,       python_shell=True,       out‐
129137       put_loglevel=u'debug', use_vt=False,  path=None,  ignore_retcode=False,
129138       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
129139              New in version 2015.5.0.
129140
129141
129142              Run cmd.run_stdout within a container
129143
129144              WARNING:
129145                 Many  shell builtins do not work, failing with stderr similar
129146                 to the following:
129147
129148                     lxc_container: No such file or directory - failed to exec 'command'
129149
129150                 The same error will be displayed in  stderr  if  the  command
129151                 being run does not exist. If no output is returned using this
129152                 function, try using lxc.run_stderr or lxc.run_all.
129153
129154              name   Name of the container in which to run the command
129155
129156              cmd    Command to run
129157
129158              path   path to the container parent default: /var/lib/lxc  (sys‐
129159                     tem default)
129160
129161                     New in version 2015.8.0.
129162
129163
129164              no_start
129165                     False If the container is not running, don't start it
129166
129167              preserve_state
129168                     True  After  running the command, return the container to
129169                     its previous state
129170
129171              stdin  None Standard input to be used for the command
129172
129173              output_loglevel
129174                     debug Level at which to log the output from the  command.
129175                     Set to quiet to suppress logging.
129176
129177              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
129178                     sole output=all.
129179
129180              keep_env
129181                     http_proxy,https_proxy,no_proxy A list  of  env  vars  to
129182                     preserve. May be passed as commma-delimited list.
129183
129184              chroot_fallback
129185                     if  the  container is not running, try to run the command
129186                     using chroot default: false
129187
129188              CLI Example:
129189
129190                 salt myminion lxc.run_stdout mycontainer 'ifconfig -a'
129191
129192       salt.modules.lxc.running_systemd(name, cache=True, path=None)
129193              Determine if systemD is running
129194
129195              path   path to the container parent
129196
129197                     New in version 2015.8.0.
129198
129199
129200              CLI Example:
129201
129202                 salt '*' lxc.running_systemd ubuntu
129203
129204       salt.modules.lxc.search_lxc_bridge()
129205              Search the first bridge which is potentially  available  as  LXC
129206              bridge
129207
129208              CLI Example:
129209
129210                 salt '*' lxc.search_lxc_bridge
129211
129212       salt.modules.lxc.search_lxc_bridges()
129213              Search which bridges are potentially available as LXC bridges
129214
129215              CLI Example:
129216
129217                 salt '*' lxc.search_lxc_bridges
129218
129219       salt.modules.lxc.set_dns(name,   dnsservers=None,   searchdomains=None,
129220       path=None)
129221              Changed in version 2015.5.0: The  dnsservers  and  searchdomains
129222              parameters can now be passed as a comma-separated list.
129223
129224
129225              Update /etc/resolv.confo
129226
129227              path
129228                 path  to  the  container parent default: /var/lib/lxc (system
129229                 default)
129230
129231                 New in version 2015.8.0.
129232
129233
129234              CLI Example:
129235
129236                 salt myminion lxc.set_dns ubuntu "['8.8.8.8', '4.4.4.4']"
129237
129238       salt.modules.lxc.set_parameter(name, parameter, value, path=None)
129239              Set the value of a cgroup parameter for a container.
129240
129241              path   path  to  the   container   parent   directory   default:
129242                     /var/lib/lxc (system)
129243
129244                     New in version 2015.8.0.
129245
129246
129247              CLI Example:
129248
129249                 salt '*' lxc.set_parameter name parameter value
129250
129251       salt.modules.lxc.set_password(name,  users,  password,  encrypted=True,
129252       path=None)
129253              Changed in version 2015.5.0: Function renamed from  set_pass  to
129254              set_password.  Additionally,  this  function  now  supports (and
129255              defaults to using) a password hash instead of a plaintext  pass‐
129256              word.
129257
129258
129259              Set the password of one or more system users inside containers
129260
129261              users  Comma-separated  list (or python list) of users to change
129262                     password
129263
129264              password
129265                     Password to set for the specified user(s)
129266
129267              encrypted
129268                     True If true, password must be a password  hash.  Set  to
129269                     False to set a plaintext password (not recommended).
129270
129271                     New in version 2015.5.0.
129272
129273
129274              path   path   to   the   container   parent  directory  default:
129275                     /var/lib/lxc (system)
129276
129277                     New in version 2015.8.0.
129278
129279
129280              CLI Example:
129281
129282                 salt '*' lxc.set_pass container-name root '$6$uJ2uAyLU$KoI67t8As/0fXtJOPcHKGXmUpcoYUcVR2K6x93walnShTCQvjRwq25yIkiCBOqgbfdKQSFnAo28/ek6716vEV1'
129283                 salt '*' lxc.set_pass container-name root foo encrypted=False
129284
129285       salt.modules.lxc.start(name, **kwargs)
129286              Start the named container
129287
129288              path   path  to  the   container   parent   directory   default:
129289                     /var/lib/lxc (system)
129290
129291                     New in version 2015.8.0.
129292
129293
129294              lxc_config
129295                     path  to  a  lxc  config file config file will be guessed
129296                     from container name otherwise
129297
129298                     New in version 2015.8.0.
129299
129300
129301              use_vt run the command through VT
129302
129303                     New in version 2015.8.0.
129304
129305
129306              CLI Example:
129307
129308                 salt myminion lxc.start name
129309
129310       salt.modules.lxc.state(name, path=None)
129311              Returns the state of a container.
129312
129313              path   path  to  the  container   parent   directory   (default:
129314                     /var/lib/lxc)
129315
129316                     New in version 2015.8.0.
129317
129318
129319              CLI Example:
129320
129321                 salt '*' lxc.state name
129322
129323       salt.modules.lxc.stop(name, kill=False, path=None, use_vt=None)
129324              Stop the named container
129325
129326              path   path   to   the   container   parent  directory  default:
129327                     /var/lib/lxc (system)
129328
129329                     New in version 2015.8.0.
129330
129331
129332              kill: False
129333                     Do not wait for the container to stop, kill all tasks  in
129334                     the  container.   Older LXC versions will stop containers
129335                     like this irrespective of this argument.
129336
129337                     Changed in version 2015.5.0:  Default  value  changed  to
129338                     False
129339
129340
129341              use_vt run the command through VT
129342
129343                     New in version 2015.8.0.
129344
129345
129346              CLI Example:
129347
129348                 salt myminion lxc.stop name
129349
129350       salt.modules.lxc.systemd_running_state(name, path=None)
129351              Get the operational state of a systemd based container
129352
129353              path   path  to the container parent default: /var/lib/lxc (sys‐
129354                     tem default)
129355
129356                     New in version 2015.8.0.
129357
129358
129359              CLI Example:
129360
129361                 salt myminion lxc.systemd_running_state ubuntu
129362
129363       salt.modules.lxc.templates()
129364              New in version 2015.5.0.
129365
129366
129367              List the available LXC template scripts installed on the minion
129368
129369              CLI Examples:
129370
129371                 salt myminion lxc.templates
129372
129373       salt.modules.lxc.test_bare_started_state(name, path=None)
129374              Test if a non systemd container is fully  started  For  now,  it
129375              consists only to test if the container is attachable
129376
129377              path   path  to the container parent default: /var/lib/lxc (sys‐
129378                     tem default)
129379
129380                     New in version 2015.8.0.
129381
129382
129383              CLI Example:
129384
129385                 salt myminion lxc.test_bare_started_state ubuntu
129386
129387       salt.modules.lxc.test_sd_started_state(name, path=None)
129388              Test if a systemd container is fully started
129389
129390              path   path to the container parent default: /var/lib/lxc  (sys‐
129391                     tem default)
129392
129393                     New in version 2015.8.0.
129394
129395
129396              CLI Example:
129397
129398                 salt myminion lxc.test_sd_started_state ubuntu
129399
129400       salt.modules.lxc.unfreeze(name, path=None, use_vt=None)
129401              Unfreeze the named container.
129402
129403              path   path   to   the   container   parent  directory  default:
129404                     /var/lib/lxc (system)
129405
129406                     New in version 2015.8.0.
129407
129408
129409              use_vt run the command through VT
129410
129411                     New in version 2015.8.0.
129412
129413
129414              CLI Example:
129415
129416                 salt '*' lxc.unfreeze name
129417
129418       salt.modules.lxc.update_lxc_conf(name,    lxc_conf,     lxc_conf_unset,
129419       path=None)
129420              Edit LXC configuration options
129421
129422              path   path  to the container parent default: /var/lib/lxc (sys‐
129423                     tem default)
129424
129425                     New in version 2015.8.0.
129426
129427
129428              CLI Example:
129429
129430                 salt myminion lxc.update_lxc_conf ubuntu \
129431                         lxc_conf="[{'network.ipv4.ip':'10.0.3.5'}]" \
129432                         lxc_conf_unset="['lxc.utsname']"
129433
129434       salt.modules.lxc.version()
129435              Return the actual lxc client version
129436
129437              New in version 2015.8.0.
129438
129439
129440              CLI Example:
129441
129442                 salt '*' lxc.version
129443
129444       salt.modules.lxc.wait_started(name, path=None, timeout=300)
129445              Check that the system has fully inited
129446
129447              This is actually very important for systemD based containers
129448
129449              see https://github.com/saltstack/salt/issues/23847
129450
129451              path   path to the container parent default: /var/lib/lxc  (sys‐
129452                     tem default)
129453
129454                     New in version 2015.8.0.
129455
129456
129457              CLI Example:
129458
129459                 salt myminion lxc.wait_started ubuntu
129460
129461       salt.modules.lxc.write_conf(conf_file, conf)
129462              Write out an LXC configuration file
129463
129464              This  is  normally  only used internally. The format of the data
129465              structure   must   match   that   which   is    returned    from
129466              lxc.read_conf(), with out_format set to commented.
129467
129468              An example might look like:
129469
129470                 [
129471                     {'lxc.utsname': '$CONTAINER_NAME'},
129472                     '# This is a commented line\n',
129473                     '\n',
129474                     {'lxc.mount': '$CONTAINER_FSTAB'},
129475                     {'lxc.rootfs': {'comment': 'This is another test',
129476                                     'value': 'This is another test'}},
129477                     '\n',
129478                     {'lxc.network.type': 'veth'},
129479                     {'lxc.network.flags': 'up'},
129480                     {'lxc.network.link': 'br0'},
129481                     {'lxc.network.mac': '$CONTAINER_MACADDR'},
129482                     {'lxc.network.ipv4': '$CONTAINER_IPADDR'},
129483                     {'lxc.network.name': '$CONTAINER_DEVICENAME'},
129484                 ]
129485
129486              CLI Example:
129487
129488                 salt 'minion' lxc.write_conf /etc/lxc/mycontainer.conf \
129489                     out_format=commented
129490
129491   salt.modules.lxd
129492       Module for managing the LXD daemon and its containers.
129493
129494       New in version 2019.2.0.
129495
129496
129497       LXD(1) is a container "hypervisor". This execution module provides sev‐
129498       eral functions to help manage it and its containers.
129499
129500       NOTE:
129501
129502          · pylxd(2) version >=2.2.5 is required to let this  work,  currently
129503            only available via pip.
129504                To install on Ubuntu:
129505
129506                $ apt-get install libssl-dev python-pip $ pip install -U pylxd
129507
129508          · you  need lxd installed on the minion for the init() and version()
129509            methods.
129510
129511          · for the config_get() and config_get() methods  you  need  to  have
129512            lxd-client installed.
129513
129514       maintainer
129515              René Jochum <rene@jochums.at>
129516
129517       maturity
129518              new
129519
129520       depends
129521              python-pylxd
129522
129523       platform
129524              Linux
129525
129526       salt.modules.lxd.authenticate(remote_addr,  password,  cert,  key, ver‐
129527       ify_cert=True)
129528              Authenticate with a remote LXDaemon.
129529
129530              remote_addr :
129531                     An URL to a remote Server, you also have to give cert and
129532                     key if you provide remote_addr and its a TCP Address!
129533
129534                     Examples:
129535                            https://myserver.lan:8443
129536
129537              password :
129538                     The password of the remote.
129539
129540              cert : PEM Formatted SSL Certificate.
129541
129542                     Examples:
129543                            ~/.config/lxc/client.crt
129544
129545              key :  PEM Formatted SSL Key.
129546
129547                     Examples:
129548                            ~/.config/lxc/client.key
129549
129550              verify_cert
129551                     True Wherever to verify the cert, this is by default True
129552                     but in the most cases you want to set it off as LXD  nor‐
129553                     maly uses self-signed certificates.
129554
129555              CLI Example:
129556
129557                 $ salt '*' lxd.authenticate https://srv01:8443 <yourpass> ~/.config/lxc/client.crt ~/.config/lxc/client.key false
129558
129559              See the requests-docs for the SSL stuff.
129560
129561       salt.modules.lxd.config_get(key)
129562              Get an LXD daemon config option
129563
129564              key :  The key of the config value to retrieve
129565
129566              CLI Examples:
129567
129568                 salt '*' lxd.config_get core.https_address
129569
129570       salt.modules.lxd.config_set(key, value)
129571              Set an LXD daemon config option
129572
129573              CLI Examples:
129574
129575              To listen on IPv4 and IPv6 port 8443, you can omit the :8443 its
129576              the default:
129577
129578                 salt '*' lxd.config_set core.https_address [::]:8443
129579
129580              To set the server trust password:
129581
129582                 salt '*' lxd.config_set core.trust_password blah
129583
129584       salt.modules.lxd.container_config_delete(name,              config_key,
129585       remote_addr=None, cert=None, key=None, verify_cert=True)
129586              Delete a container config value
129587
129588              name : Name of the container
129589
129590              config_key :
129591                     The config key to delete
129592
129593              remote_addr :
129594                     An URL to a remote Server, you also have to give cert and
129595                     key if you provide remote_addr and its a TCP Address!
129596
129597                     Examples:
129598                            https://myserver.lan:8443 /var/lib/mysocket.sock
129599
129600              cert : PEM Formatted SSL Certificate.
129601
129602                     Examples:
129603                            ~/.config/lxc/client.crt
129604
129605              key :  PEM Formatted SSL Key.
129606
129607                     Examples:
129608                            ~/.config/lxc/client.key
129609
129610              verify_cert
129611                     True Wherever to verify the cert, this is by default True
129612                     but  in the most cases you want to set it off as LXD nor‐
129613                     maly uses self-signed certificates.
129614
129615       salt.modules.lxd.container_config_get(name,                 config_key,
129616       remote_addr=None, cert=None, key=None, verify_cert=True)
129617              Get a container config value
129618
129619              name : Name of the container
129620
129621              config_key :
129622                     The config key to retrieve
129623
129624              remote_addr :
129625                     An URL to a remote Server, you also have to give cert and
129626                     key if you provide remote_addr and its a TCP Address!
129627
129628                     Examples:
129629                            https://myserver.lan:8443 /var/lib/mysocket.sock
129630
129631              cert : PEM Formatted SSL Certificate.
129632
129633                     Examples:
129634                            ~/.config/lxc/client.crt
129635
129636              key :  PEM Formatted SSL Key.
129637
129638                     Examples:
129639                            ~/.config/lxc/client.key
129640
129641              verify_cert
129642                     True Wherever to verify the cert, this is by default True
129643                     but  in the most cases you want to set it off as LXD nor‐
129644                     maly uses self-signed certificates.
129645
129646       salt.modules.lxd.container_config_set(name,  config_key,  config_value,
129647       remote_addr=None, cert=None, key=None, verify_cert=True)
129648              Set a container config value
129649
129650              name : Name of the container
129651
129652              config_key :
129653                     The config key to set
129654
129655              config_value :
129656                     The config value to set
129657
129658              remote_addr :
129659                     An URL to a remote Server, you also have to give cert and
129660                     key if you provide remote_addr and its a TCP Address!
129661
129662                     Examples:
129663                            https://myserver.lan:8443 /var/lib/mysocket.sock
129664
129665              cert : PEM Formatted SSL Certificate.
129666
129667                     Examples:
129668                            ~/.config/lxc/client.crt
129669
129670              key :  PEM Formatted SSL Key.
129671
129672                     Examples:
129673                            ~/.config/lxc/client.key
129674
129675              verify_cert
129676                     True Wherever to verify the cert, this is by default True
129677                     but  in the most cases you want to set it off as LXD nor‐
129678                     maly uses self-signed certificates.
129679
129680       salt.modules.lxd.container_create(name,  source,  profiles=None,   con‐
129681       fig=None,    devices=None,   architecture=u'x86_64',   ephemeral=False,
129682       wait=True,  remote_addr=None,  cert=None,  key=None,  verify_cert=True,
129683       _raw=False)
129684              Create a container
129685
129686              name : The name of the container
129687
129688              source :
129689
129690                     Can be either a string containing an image alias:
129691                            "xenial/amd64"
129692
129693                     or an dict with type image with alias:
129694
129695                            {"type": image ,
129696                                   "alias": "xenial/amd64"}
129697
129698                     or image with fingerprint :
129699
129700                            {"type": image ,
129701                                   "fingerprint": "SHA-256"}
129702
129703                     or image with properties :
129704
129705                            {"type": image ,
129706
129707                                   properties : {
129708                                          "os":  "ubuntu", "release": "14.04",
129709                                          "architecture": "x86_64"}}
129710
129711                     or none:
129712                            {"type": "none"}
129713
129714                     or copy:
129715
129716                            {"type": copy ,
129717                                   "source": "my-old-container"}
129718
129719              profiles
129720                     ['default'] List of profiles to apply on this container
129721
129722              config :
129723                     A config dict or None (None = unset).
129724
129725                     Can also be a list:
129726
129727                            [{'key': 'boot.autostart', 'value': 1},
129728                                   {'key':   'security.privileged',   'value':
129729                                   '1'}]
129730
129731              devices :
129732                     A device dict or None (None = unset).
129733
129734              architecture
129735                     'x86_64'.INDENT 7.0
129736
129737              Can be one of the following:
129738
129739                     · unknown
129740
129741                     · i686
129742
129743                     · x86_64
129744
129745                     · armv7l
129746
129747                     · aarch64
129748
129749                     · ppc
129750
129751                     · ppc64
129752
129753                     · ppc64le
129754
129755                     · s390x
129756
129757       ephemeral
129758              False Destroy this container after stop?
129759
129760       remote_addr :
129761              An URL to a remote Server, you also have to give cert and key if
129762              you provide remote_addr and its a TCP Address!
129763
129764              Examples:
129765                     https://myserver.lan:8443 /var/lib/mysocket.sock
129766
129767       cert : PEM Formatted SSL Certificate.
129768
129769              Examples:
129770                     ~/.config/lxc/client.crt
129771
129772       key :  PEM Formatted SSL Key.
129773
129774              Examples:
129775                     ~/.config/lxc/client.key
129776
129777       verify_cert
129778              True Wherever to verify the cert, this is by default True but in
129779              the  most  cases  you  want  to  set  it off as LXD normaly uses
129780              self-signed certificates.
129781
129782       _raw   False Return the raw pyxld object or a dict?
129783
129784       CLI Examples:
129785
129786                 salt '*' lxd.container_create test xenial/amd64
129787
129788              See also the rest-api-docs.
129789
129790       salt.modules.lxd.container_delete(name,  remote_addr=None,   cert=None,
129791       key=None, verify_cert=True)
129792              Delete a container
129793
129794              name : Name of the container to delete
129795
129796              remote_addr :
129797                     An URL to a remote Server, you also have to give cert and
129798                     key if you provide remote_addr and its a TCP Address!
129799
129800                     Examples:
129801                            https://myserver.lan:8443 /var/lib/mysocket.sock
129802
129803              cert : PEM Formatted SSL Certificate.
129804
129805                     Examples:
129806                            ~/.config/lxc/client.crt
129807
129808              key :  PEM Formatted SSL Key.
129809
129810                     Examples:
129811                            ~/.config/lxc/client.key
129812
129813              verify_cert
129814                     True Wherever to verify the cert, this is by default True
129815                     but  in the most cases you want to set it off as LXD nor‐
129816                     maly uses self-signed certificates.
129817
129818       salt.modules.lxd.container_device_add(name,                device_name,
129819       device_type=u'disk',   remote_addr=None,   cert=None,   key=None,  ver‐
129820       ify_cert=True, **kwargs)
129821              Add a container device
129822
129823              name : Name of the container
129824
129825              device_name :
129826                     The device name to add
129827
129828              device_type :
129829                     Type of the device
129830
129831              ** kwargs :
129832                     Additional device args
129833
129834              remote_addr :
129835                     An URL to a remote Server, you also have to give cert and
129836                     key if you provide remote_addr and its a TCP Address!
129837
129838                     Examples:
129839                            https://myserver.lan:8443 /var/lib/mysocket.sock
129840
129841              cert : PEM Formatted SSL Certificate.
129842
129843                     Examples:
129844                            ~/.config/lxc/client.crt
129845
129846              key :  PEM Formatted SSL Key.
129847
129848                     Examples:
129849                            ~/.config/lxc/client.key
129850
129851              verify_cert
129852                     True Wherever to verify the cert, this is by default True
129853                     but in the most cases you want to set it off as LXD  nor‐
129854                     maly uses self-signed certificates.
129855
129856       salt.modules.lxd.container_device_delete(name,             device_name,
129857       remote_addr=None, cert=None, key=None, verify_cert=True)
129858              Delete a container device
129859
129860              name : Name of the container
129861
129862              device_name :
129863                     The device name to delete
129864
129865              remote_addr :
129866                     An URL to a remote Server, you also have to give cert and
129867                     key if you provide remote_addr and its a TCP Address!
129868
129869                     Examples:
129870                            https://myserver.lan:8443 /var/lib/mysocket.sock
129871
129872              cert : PEM Formatted SSL Certificate.
129873
129874                     Examples:
129875                            ~/.config/lxc/client.crt
129876
129877              key :  PEM Formatted SSL Key.
129878
129879                     Examples:
129880                            ~/.config/lxc/client.key
129881
129882              verify_cert
129883                     True Wherever to verify the cert, this is by default True
129884                     but in the most cases you want to set it off as LXD  nor‐
129885                     maly uses self-signed certificates.
129886
129887       salt.modules.lxd.container_device_get(name,                device_name,
129888       remote_addr=None, cert=None, key=None, verify_cert=True)
129889              Get a container device
129890
129891              name : Name of the container
129892
129893              device_name :
129894                     The device name to retrieve
129895
129896              remote_addr :
129897                     An URL to a remote Server, you also have to give cert and
129898                     key if you provide remote_addr and its a TCP Address!
129899
129900                     Examples:
129901                            https://myserver.lan:8443 /var/lib/mysocket.sock
129902
129903              cert : PEM Formatted SSL Certificate.
129904
129905                     Examples:
129906                            ~/.config/lxc/client.crt
129907
129908              key :  PEM Formatted SSL Key.
129909
129910                     Examples:
129911                            ~/.config/lxc/client.key
129912
129913              verify_cert
129914                     True Wherever to verify the cert, this is by default True
129915                     but in the most cases you want to set it off as LXD  nor‐
129916                     maly uses self-signed certificates.
129917
129918       salt.modules.lxd.container_execute(name,     cmd,     remote_addr=None,
129919       cert=None, key=None, verify_cert=True)
129920              Execute a command list on a container.
129921
129922              name : Name of the container
129923
129924              cmd :  Command to be executed (as a list)
129925
129926                     Example :
129927                            '["ls", "-l"]'
129928
129929              remote_addr :
129930                     An URL to a remote Server, you also have to give cert and
129931                     key if you provide remote_addr and its a TCP Address!
129932
129933                     Examples:
129934                            https://myserver.lan:8443 /var/lib/mysocket.sock
129935
129936              cert : PEM Formatted SSL Certificate.
129937
129938                     Examples:
129939                            ~/.config/lxc/client.crt
129940
129941              key :  PEM Formatted SSL Key.
129942
129943                     Examples:
129944                            ~/.config/lxc/client.key
129945
129946              verify_cert
129947                     True Wherever to verify the cert, this is by default True
129948                     but in the most cases you want to set it off as LXD  nor‐
129949                     maly uses self-signed certificates.
129950
129951              CLI Example:
129952
129953                 salt '*' lxd.container_execute <container name> '["ls", "-l"]'
129954
129955       salt.modules.lxd.container_file_get(name,  src,  dst,  overwrite=False,
129956       mode=None, uid=None, gid=None, remote_addr=None,  cert=None,  key=None,
129957       verify_cert=True)
129958              Get a file from a container
129959
129960              name : Name of the container
129961
129962              src :  The source file or directory
129963
129964              dst :  The destination file or directory
129965
129966              mode : Set file mode to octal number
129967
129968              uid :  Set file uid (owner)
129969
129970              gid :  Set file gid (group)
129971
129972              remote_addr :
129973                     An URL to a remote Server, you also have to give cert and
129974                     key if you provide remote_addr and its a TCP Address!
129975
129976                     Examples:
129977                            https://myserver.lan:8443 /var/lib/mysocket.sock
129978
129979              cert : PEM Formatted SSL Certificate.
129980
129981                     Examples:
129982                            ~/.config/lxc/client.crt
129983
129984              key :  PEM Formatted SSL Key.
129985
129986                     Examples:
129987                            ~/.config/lxc/client.key
129988
129989              verify_cert
129990                     True Wherever to verify the cert, this is by default True
129991                     but  in the most cases you want to set it off as LXD nor‐
129992                     maly uses self-signed certificates.
129993
129994       salt.modules.lxd.container_file_put(name,  src,  dst,  recursive=False,
129995       overwrite=False,   mode=None,   uid=None,   gid=None,  saltenv=u'base',
129996       remote_addr=None, cert=None, key=None, verify_cert=True)
129997              Put a file into a container
129998
129999              name : Name of the container
130000
130001              src :  The source file or directory
130002
130003              dst :  The destination file or directory
130004
130005              recursive :
130006                     Decent into src directory
130007
130008              overwrite :
130009                     Replace destination if it exists
130010
130011              mode : Set file mode to octal number
130012
130013              uid :  Set file uid (owner)
130014
130015              gid :  Set file gid (group)
130016
130017              remote_addr :
130018                     An URL to a remote Server, you also have to give cert and
130019                     key if you provide remote_addr and its a TCP Address!
130020
130021                     Examples:
130022                            https://myserver.lan:8443 /var/lib/mysocket.sock
130023
130024              cert : PEM Formatted SSL Certificate.
130025
130026                     Examples:
130027                            ~/.config/lxc/client.crt
130028
130029              key :  PEM Formatted SSL Key.
130030
130031                     Examples:
130032                            ~/.config/lxc/client.key
130033
130034              verify_cert
130035                     True Wherever to verify the cert, this is by default True
130036                     but in the most cases you want to set it off as LXD  nor‐
130037                     maly uses self-signed certificates.
130038
130039              CLI Example:
130040
130041                 salt '*' lxd.container_file_put <container name> /var/tmp/foo /var/tmp/
130042
130043       salt.modules.lxd.container_freeze(name,   remote_addr=None,  cert=None,
130044       key=None, verify_cert=True)
130045              Freeze a container
130046
130047              name : Name of the container to freeze
130048
130049              remote_addr :
130050                     An URL to a remote Server, you also have to give cert and
130051                     key if you provide remote_addr and its a TCP Address!
130052
130053                     Examples:
130054                            https://myserver.lan:8443 /var/lib/mysocket.sock
130055
130056              cert : PEM Formatted SSL Certificate.
130057
130058                     Examples:
130059                            ~/.config/lxc/client.crt
130060
130061              key :  PEM Formatted SSL Key.
130062
130063                     Examples:
130064                            ~/.config/lxc/client.key
130065
130066              verify_cert
130067                     True Wherever to verify the cert, this is by default True
130068                     but in the most cases you want to set it off as LXD  nor‐
130069                     maly uses self-signed certificates.
130070
130071       salt.modules.lxd.container_get(name=None,  remote_addr=None, cert=None,
130072       key=None, verify_cert=True, _raw=False)
130073              Gets a container from the LXD
130074
130075              name : The name of the container to get.
130076
130077              remote_addr :
130078                     An URL to a remote Server, you also have to give cert and
130079                     key if you provide remote_addr and its a TCP Address!
130080
130081                     Examples:
130082                            https://myserver.lan:8443 /var/lib/mysocket.sock
130083
130084              cert : PEM Formatted SSL Certificate.
130085
130086                     Examples:
130087                            ~/.config/lxc/client.crt
130088
130089              key :  PEM Formatted SSL Key.
130090
130091                     Examples:
130092                            ~/.config/lxc/client.key
130093
130094              verify_cert
130095                     True Wherever to verify the cert, this is by default True
130096                     but in the most cases you want to set it off as LXD  nor‐
130097                     maly uses self-signed certificates.
130098
130099              _raw : Return  the  pylxd object, this is internal and by states
130100                     in use.
130101
130102       salt.modules.lxd.container_list(list_names=False,     remote_addr=None,
130103       cert=None, key=None, verify_cert=True)
130104              Lists containers
130105
130106              list_names
130107                     False Only return a list of names when True
130108
130109              remote_addr :
130110                     An URL to a remote Server, you also have to give cert and
130111                     key if you provide remote_addr and its a TCP Address!
130112
130113                     Examples:
130114                            https://myserver.lan:8443 /var/lib/mysocket.sock
130115
130116              cert : PEM Formatted SSL Certificate.
130117
130118                     Examples:
130119                            ~/.config/lxc/client.crt
130120
130121              key :  PEM Formatted SSL Key.
130122
130123                     Examples:
130124                            ~/.config/lxc/client.key
130125
130126              verify_cert
130127                     True Wherever to verify the cert, this is by default True
130128                     but  in the most cases you want to set it off as LXD nor‐
130129                     maly uses self-signed certificates.
130130
130131              CLI Examples:
130132
130133              Full dict with all available informations:
130134
130135                 salt '*' lxd.container_list
130136
130137              For a list of names:
130138
130139                 salt '*' lxd.container_list true
130140
130141              See also container-attributes.
130142
130143       salt.modules.lxd.container_migrate(name,          stop_and_start=False,
130144       remote_addr=None,      cert=None,      key=None,      verify_cert=True,
130145       src_remote_addr=None,     src_cert=None,     src_key=None,     src_ver‐
130146       ify_cert=None)
130147              Migrate a container.
130148
130149              If  the  container is running, it either must be shut down first
130150              (use stop_and_start=True) or  criu  must  be  installed  on  the
130151              source and destination machines.
130152
130153              For  this  operation  both  certs  need to be authenticated, use
130154              lxd.authenticate <salt.modules.lxd.authenticate to  authenticate
130155              your cert(s).
130156
130157              name : Name of the container to migrate
130158
130159              stop_and_start :
130160                     Stop the container on the source and start it on dest
130161
130162              remote_addr :
130163                     An URL to a remote Server, you also have to give cert and
130164                     key if you provide remote_addr and its a TCP Address!
130165
130166                     Examples:
130167                            https://myserver.lan:8443 /var/lib/mysocket.sock
130168
130169              cert : PEM Formatted SSL Certificate.
130170
130171                     Examples:
130172                            ~/.config/lxc/client.crt
130173
130174              key :  PEM Formatted SSL Key.
130175
130176                     Examples:
130177                            ~/.config/lxc/client.key
130178
130179              verify_cert
130180                     True Wherever to verify the cert, this is by default True
130181                     but  in the most cases you want to set it off as LXD nor‐
130182                     maly uses self-signed certificates.
130183
130184              CLI Example:
130185
130186                 # Authorize
130187                 salt '*' lxd.authenticate https://srv01:8443 <yourpass> ~/.config/lxc/client.crt ~/.config/lxc/client.key false
130188                 salt '*' lxd.authenticate https://srv02:8443 <yourpass> ~/.config/lxc/client.crt ~/.config/lxc/client.key false
130189
130190                 # Migrate phpmyadmin from srv01 to srv02
130191                 salt '*' lxd.container_migrate phpmyadmin stop_and_start=true remote_addr=https://srv02:8443 cert=~/.config/lxc/client.crt key=~/.config/lxc/client.key verify_cert=False src_remote_addr=https://srv01:8443
130192
130193       salt.modules.lxd.container_rename(name,   newname,    remote_addr=None,
130194       cert=None, key=None, verify_cert=True)
130195              Rename a container
130196
130197              name : Name of the container to Rename
130198
130199              newname :
130200                     The new name of the contianer
130201
130202              remote_addr :
130203                     An URL to a remote Server, you also have to give cert and
130204                     key if you provide remote_addr and its a TCP Address!
130205
130206                     Examples:
130207                            https://myserver.lan:8443 /var/lib/mysocket.sock
130208
130209              cert : PEM Formatted SSL Certificate.
130210
130211                     Examples:
130212                            ~/.config/lxc/client.crt
130213
130214              key :  PEM Formatted SSL Key.
130215
130216                     Examples:
130217                            ~/.config/lxc/client.key
130218
130219              verify_cert
130220                     True Wherever to verify the cert, this is by default True
130221                     but  in the most cases you want to set it off as LXD nor‐
130222                     maly uses self-signed certificates.
130223
130224       salt.modules.lxd.container_restart(name,  remote_addr=None,  cert=None,
130225       key=None, verify_cert=True)
130226              Restart a container
130227
130228              name : Name of the container to restart
130229
130230              remote_addr :
130231                     An URL to a remote Server, you also have to give cert and
130232                     key if you provide remote_addr and its a TCP Address!
130233
130234                     Examples:
130235                            https://myserver.lan:8443 /var/lib/mysocket.sock
130236
130237              cert : PEM Formatted SSL Certificate.
130238
130239                     Examples:
130240                            ~/.config/lxc/client.crt
130241
130242              key :  PEM Formatted SSL Key.
130243
130244                     Examples:
130245                            ~/.config/lxc/client.key
130246
130247              verify_cert
130248                     True Wherever to verify the cert, this is by default True
130249                     but  in the most cases you want to set it off as LXD nor‐
130250                     maly uses self-signed certificates.
130251
130252       salt.modules.lxd.container_start(name,   remote_addr=None,   cert=None,
130253       key=None, verify_cert=True)
130254              Start a container
130255
130256              name : Name of the container to start
130257
130258              remote_addr :
130259                     An URL to a remote Server, you also have to give cert and
130260                     key if you provide remote_addr and its a TCP Address!
130261
130262                     Examples:
130263                            https://myserver.lan:8443 /var/lib/mysocket.sock
130264
130265              cert : PEM Formatted SSL Certificate.
130266
130267                     Examples:
130268                            ~/.config/lxc/client.crt
130269
130270              key :  PEM Formatted SSL Key.
130271
130272                     Examples:
130273                            ~/.config/lxc/client.key
130274
130275              verify_cert
130276                     True Wherever to verify the cert, this is by default True
130277                     but  in the most cases you want to set it off as LXD nor‐
130278                     maly uses self-signed certificates.
130279
130280       salt.modules.lxd.container_state(name=None,           remote_addr=None,
130281       cert=None, key=None, verify_cert=True)
130282              Get container state
130283
130284              remote_addr :
130285                     An URL to a remote Server, you also have to give cert and
130286                     key if you provide remote_addr and its a TCP Address!
130287
130288                     Examples:
130289                            https://myserver.lan:8443 /var/lib/mysocket.sock
130290
130291              cert : PEM Formatted SSL Certificate.
130292
130293                     Examples:
130294                            ~/.config/lxc/client.crt
130295
130296              key :  PEM Formatted SSL Key.
130297
130298                     Examples:
130299                            ~/.config/lxc/client.key
130300
130301              verify_cert
130302                     True Wherever to verify the cert, this is by default True
130303                     but  in the most cases you want to set it off as LXD nor‐
130304                     maly uses self-signed certificates.
130305
130306       salt.modules.lxd.container_stop(name,      timeout=30,      force=True,
130307       remote_addr=None, cert=None, key=None, verify_cert=True)
130308              Stop a container
130309
130310              name : Name of the container to stop
130311
130312              remote_addr :
130313                     An URL to a remote Server, you also have to give cert and
130314                     key if you provide remote_addr and its a TCP Address!
130315
130316                     Examples:
130317                            https://myserver.lan:8443 /var/lib/mysocket.sock
130318
130319              cert : PEM Formatted SSL Certificate.
130320
130321                     Examples:
130322                            ~/.config/lxc/client.crt
130323
130324              key :  PEM Formatted SSL Key.
130325
130326                     Examples:
130327                            ~/.config/lxc/client.key
130328
130329              verify_cert
130330                     True Wherever to verify the cert, this is by default True
130331                     but  in the most cases you want to set it off as LXD nor‐
130332                     maly uses self-signed certificates.
130333
130334       salt.modules.lxd.container_unfreeze(name, remote_addr=None,  cert=None,
130335       key=None, verify_cert=True)
130336              Unfreeze a container
130337
130338              name : Name of the container to unfreeze
130339
130340              remote_addr :
130341                     An URL to a remote Server, you also have to give cert and
130342                     key if you provide remote_addr and its a TCP Address!
130343
130344                     Examples:
130345                            https://myserver.lan:8443 /var/lib/mysocket.sock
130346
130347              cert : PEM Formatted SSL Certificate.
130348
130349                     Examples:
130350                            ~/.config/lxc/client.crt
130351
130352              key :  PEM Formatted SSL Key.
130353
130354                     Examples:
130355                            ~/.config/lxc/client.key
130356
130357              verify_cert
130358                     True Wherever to verify the cert, this is by default True
130359                     but  in the most cases you want to set it off as LXD nor‐
130360                     maly uses self-signed certificates.
130361
130362       salt.modules.lxd.image_alias_add(image,     alias,     description=u'',
130363       remote_addr=None, cert=None, key=None, verify_cert=True)
130364              Create an alias on the given image
130365
130366              image :
130367                     An image alias, a fingerprint or a image object
130368
130369              alias :
130370                     The alias to add
130371
130372              description :
130373                     Description of the alias
130374
130375              remote_addr :
130376                     An URL to a remote Server, you also have to give cert and
130377                     key if you provide remote_addr and its a TCP Address!
130378
130379                     Examples:
130380                            https://myserver.lan:8443 /var/lib/mysocket.sock
130381
130382              cert : PEM Formatted SSL Certificate.
130383
130384                     Examples:
130385                            ~/.config/lxc/client.crt
130386
130387              key :  PEM Formatted SSL Key.
130388
130389                     Examples:
130390                            ~/.config/lxc/client.key
130391
130392              verify_cert
130393                     True Wherever to verify the cert, this is by default True
130394                     but  in the most cases you want to set it off as LXD nor‐
130395                     maly uses self-signed certificates.
130396
130397              CLI Examples:
130398
130399                 $ salt '*' lxd.image_alias_add xenial/amd64 x "Short version of xenial/amd64"
130400
130401       salt.modules.lxd.image_alias_delete(image,   alias,   remote_addr=None,
130402       cert=None, key=None, verify_cert=True)
130403              Delete an alias (this is currently not restricted to the image)
130404
130405              image :
130406                     An image alias, a fingerprint or a image object
130407
130408              alias :
130409                     The alias to delete
130410
130411              remote_addr :
130412                     An URL to a remote Server, you also have to give cert and
130413                     key if you provide remote_addr and its a TCP Address!
130414
130415                     Examples:
130416                            https://myserver.lan:8443 /var/lib/mysocket.sock
130417
130418              cert : PEM Formatted SSL Certificate.
130419
130420                     Examples:
130421                            ~/.config/lxc/client.crt
130422
130423              key :  PEM Formatted SSL Key.
130424
130425                     Examples:
130426                            ~/.config/lxc/client.key
130427
130428              verify_cert
130429                     True Wherever to verify the cert, this is by default True
130430                     but  in the most cases you want to set it off as LXD nor‐
130431                     maly uses self-signed certificates.
130432
130433              CLI Examples:
130434
130435                 $ salt '*' lxd.image_alias_add xenial/amd64 x "Short version of xenial/amd64"
130436
130437       salt.modules.lxd.image_copy_lxd(source,   src_remote_addr,    src_cert,
130438       src_key,  src_verify_cert,  remote_addr,  cert,  key, verify_cert=True,
130439       aliases=None, public=None, auto_update=None, _raw=False)
130440              Copy an image from another LXD instance
130441
130442              source :
130443                     An alias or a fingerprint of the source.
130444
130445              src_remote_addr :
130446                     An URL to the source remote daemon
130447
130448                     Examples:
130449                            https://mysourceserver.lan:8443
130450
130451              src_cert :
130452                     PEM Formatted SSL Certificate for the source
130453
130454                     Examples:
130455                            ~/.config/lxc/client.crt
130456
130457              src_key :
130458                     PEM Formatted SSL Key for the source
130459
130460                     Examples:
130461                            ~/.config/lxc/client.key
130462
130463              src_verify_cert
130464                     True Wherever to verify the cert, this is by default True
130465                     but  in the most cases you want to set it off as LXD nor‐
130466                     maly uses self-signed certificates.
130467
130468              remote_addr :
130469                     Address of the destination daemon
130470
130471                     Examples:
130472                            https://mydestserver.lan:8443
130473
130474              cert : PEM Formatted SSL Certificate for the destination
130475
130476                     Examples:
130477                            ~/.config/lxc/client.crt
130478
130479              key :  PEM Formatted SSL Key for the destination
130480
130481                     Examples:
130482                            ~/.config/lxc/client.key
130483
130484              verify_cert
130485                     True Wherever to verify the cert, this is by default True
130486                     but  in the most cases you want to set it off as LXD nor‐
130487                     maly uses self-signed certificates.
130488
130489              aliases
130490                     [] List of aliases to append to the copied image
130491
130492              public None Make this image public available, None = copy source
130493
130494              auto_update
130495                     None Wherever to auto-update from  the  original  source,
130496                     None = copy source
130497
130498              _raw   False Return the raw pylxd object or a dict of the desti‐
130499                     nation image?
130500
130501              CLI Examples:
130502
130503                 $ salt '*' lxd.image_copy_lxd xenial/amd64 https://srv01:8443 ~/.config/lxc/client.crt ~/.config/lxc/client.key false https://srv02:8443 ~/.config/lxc/client.crt ~/.config/lxc/client.key false aliases="['xenial/amd64']"
130504
130505       salt.modules.lxd.image_delete(image,    remote_addr=None,    cert=None,
130506       key=None, verify_cert=True)
130507              Delete an image by an alias or fingerprint
130508
130509              name : The alias or fingerprint of the image to delete, can be a
130510                     obj for the states.
130511
130512              remote_addr :
130513                     An URL to a remote Server, you also have to give cert and
130514                     key if you provide remote_addr and its a TCP Address!
130515
130516                     Examples:
130517                            https://myserver.lan:8443 /var/lib/mysocket.sock
130518
130519              cert : PEM Formatted SSL Certificate.
130520
130521                     Examples:
130522                            ~/.config/lxc/client.crt
130523
130524              key :  PEM Formatted SSL Key.
130525
130526                     Examples:
130527                            ~/.config/lxc/client.key
130528
130529              verify_cert
130530                     True Wherever to verify the cert, this is by default True
130531                     but in the most cases you want to set it off as LXD  nor‐
130532                     maly uses self-signed certificates.
130533
130534              CLI Examples:
130535
130536              ..code-block:: bash
130537                 $ salt '*' lxd.image_delete xenial/amd64
130538
130539       salt.modules.lxd.image_from_file(filename, remote_addr=None, cert=None,
130540       key=None,      verify_cert=True,      aliases=None,       public=False,
130541       saltenv=u'base', _raw=False)
130542              Create an image from a file
130543
130544              filename :
130545                     The filename of the rootfs
130546
130547              remote_addr :
130548                     An URL to a remote Server, you also have to give cert and
130549                     key if you provide remote_addr and its a TCP Address!
130550
130551                     Examples:
130552                            https://myserver.lan:8443 /var/lib/mysocket.sock
130553
130554              cert : PEM Formatted SSL Certificate.
130555
130556                     Examples:
130557                            ~/.config/lxc/client.crt
130558
130559              key :  PEM Formatted SSL Key.
130560
130561                     Examples:
130562                            ~/.config/lxc/client.key
130563
130564              verify_cert
130565                     True Wherever to verify the cert, this is by default True
130566                     but  in the most cases you want to set it off as LXD nor‐
130567                     maly uses self-signed certificates.
130568
130569              aliases
130570                     [] List of aliases to append to the copied image
130571
130572              public False Make this image public available
130573
130574              saltenv
130575                     base The saltenv to use for salt:// copies
130576
130577              _raw   False Return the raw pylxd object or a dict of the image?
130578
130579              CLI Examples:
130580
130581              ..code-block:: bash
130582                 $   salt   '*'   lxd.image_from_file   salt://lxd/files/busy‐
130583                 box.tar.xz aliases=["busybox-amd64"]
130584
130585       salt.modules.lxd.image_from_simplestreams(server,                alias,
130586       remote_addr=None, cert=None, key=None, verify_cert=True,  aliases=None,
130587       public=False, auto_update=False, _raw=False)
130588              Create an image from simplestreams
130589
130590              server :
130591                     Simplestreams server URI
130592
130593              alias :
130594                     The alias of the image to retrieve
130595
130596              remote_addr :
130597                     An URL to a remote Server, you also have to give cert and
130598                     key if you provide remote_addr and its a TCP Address!
130599
130600                     Examples:
130601                            https://myserver.lan:8443 /var/lib/mysocket.sock
130602
130603              cert : PEM Formatted SSL Certificate.
130604
130605                     Examples:
130606                            ~/.config/lxc/client.crt
130607
130608              key :  PEM Formatted SSL Key.
130609
130610                     Examples:
130611                            ~/.config/lxc/client.key
130612
130613              verify_cert
130614                     True Wherever to verify the cert, this is by default True
130615                     but  in the most cases you want to set it off as LXD nor‐
130616                     maly uses self-signed certificates.
130617
130618              aliases
130619                     [] List of aliases to append to the copied image
130620
130621              public False Make this image public available
130622
130623              auto_update
130624                     False Should LXD auto update that image?
130625
130626              _raw   False Return the raw pylxd object or a dict of the image?
130627
130628              CLI Examples:
130629
130630              ..code-block:: bash
130631                 $     salt      '*'      lxd.image_from_simplestreams      "‐
130632                 https://cloud-images.ubuntu.com/releases"      "trusty/amd64"
130633                 aliases='["t", "trusty/amd64"]' auto_update=True
130634
130635       salt.modules.lxd.image_from_url(url,    remote_addr=None,    cert=None,
130636       key=None,       verify_cert=True,      aliases=None,      public=False,
130637       auto_update=False, _raw=False)
130638              Create an image from an url
130639
130640              url :  The URL from where to download the image
130641
130642              remote_addr :
130643                     An URL to a remote Server, you also have to give cert and
130644                     key if you provide remote_addr and its a TCP Address!
130645
130646                     Examples:
130647                            https://myserver.lan:8443 /var/lib/mysocket.sock
130648
130649              cert : PEM Formatted SSL Certificate.
130650
130651                     Examples:
130652                            ~/.config/lxc/client.crt
130653
130654              key :  PEM Formatted SSL Key.
130655
130656                     Examples:
130657                            ~/.config/lxc/client.key
130658
130659              verify_cert
130660                     True Wherever to verify the cert, this is by default True
130661                     but in the most cases you want to set it off as LXD  nor‐
130662                     maly uses self-signed certificates.
130663
130664              aliases
130665                     [] List of aliases to append to the copied image
130666
130667              public False Make this image public available
130668
130669              auto_update
130670                     False Should LXD auto update that image?
130671
130672              _raw   False Return the raw pylxd object or a dict of the image?
130673
130674              CLI Examples:
130675
130676              ..code-block:: bash
130677                 $  salt  '*'  lxd.image_from_url  https://dl.stgraber.org/lxd
130678                 aliases='["busybox-amd64"]'
130679
130680       salt.modules.lxd.image_get(fingerprint,  remote_addr=None,   cert=None,
130681       key=None, verify_cert=True, _raw=False)
130682              Get an image by its fingerprint
130683
130684              fingerprint :
130685                     The fingerprint of the image to retrieve
130686
130687              remote_addr :
130688                     An URL to a remote Server, you also have to give cert and
130689                     key if you provide remote_addr and its a TCP Address!
130690
130691                     Examples:
130692                            https://myserver.lan:8443 /var/lib/mysocket.sock
130693
130694              cert : PEM Formatted SSL Certificate.
130695
130696                     Examples:
130697                            ~/.config/lxc/client.crt
130698
130699              key :  PEM Formatted SSL Key.
130700
130701                     Examples:
130702                            ~/.config/lxc/client.key
130703
130704              verify_cert
130705                     True Wherever to verify the cert, this is by default True
130706                     but  in the most cases you want to set it off as LXD nor‐
130707                     maly uses self-signed certificates.
130708
130709              _raw   False Return the raw pylxd object or a dict of it?
130710
130711              CLI Examples:
130712
130713              ..code-block:: bash
130714                 $ salt '*' lxd.image_get <fingerprint>
130715
130716       salt.modules.lxd.image_get_by_alias(alias, remote_addr=None, cert=None,
130717       key=None, verify_cert=True, _raw=False)
130718              Get an image by an alias
130719
130720              alias :
130721                     The alias of the image to retrieve
130722
130723              remote_addr :
130724                     An URL to a remote Server, you also have to give cert and
130725                     key if you provide remote_addr and its a TCP Address!
130726
130727                     Examples:
130728                            https://myserver.lan:8443 /var/lib/mysocket.sock
130729
130730              cert : PEM Formatted SSL Certificate.
130731
130732                     Examples:
130733                            ~/.config/lxc/client.crt
130734
130735              key :  PEM Formatted SSL Key.
130736
130737                     Examples:
130738                            ~/.config/lxc/client.key
130739
130740              verify_cert
130741                     True Wherever to verify the cert, this is by default True
130742                     but  in the most cases you want to set it off as LXD nor‐
130743                     maly uses self-signed certificates.
130744
130745              _raw   False Return the raw pylxd object or a dict of it?
130746
130747              CLI Examples:
130748
130749              ..code-block:: bash
130750                 $ salt '*' lxd.image_get_by_alias xenial/amd64
130751
130752       salt.modules.lxd.image_list(list_aliases=False,       remote_addr=None,
130753       cert=None, key=None, verify_cert=True)
130754              Lists all images from the LXD.
130755
130756              list_aliases :
130757                 Return  a  dict  with  the  fingerprint  as key and a list of
130758                 aliases as value instead.
130759
130760              remote_addr :
130761                     An URL to a remote Server, you also have to give cert and
130762                     key if you provide remote_addr and its a TCP Address!
130763
130764                     Examples:
130765                            https://myserver.lan:8443 /var/lib/mysocket.sock
130766
130767              cert : PEM Formatted SSL Certificate.
130768
130769                     Examples:
130770                            ~/.config/lxc/client.crt
130771
130772              key :  PEM Formatted SSL Key.
130773
130774                     Examples:
130775                            ~/.config/lxc/client.key
130776
130777              verify_cert
130778                     True Wherever to verify the cert, this is by default True
130779                     but in the most cases you want to set it off as LXD  nor‐
130780                     maly uses self-signed certificates.
130781
130782              CLI Examples:
130783
130784                 $ salt '*' lxd.image_list true --out=json
130785                 $ salt '*' lxd.image_list --out=json
130786
130787       salt.modules.lxd.init(storage_backend=u'dir', trust_password=None, net‐
130788       work_address=None, network_port=None, storage_create_device=None, stor‐
130789       age_create_loop=None, storage_pool=None)
130790              Calls lxd init --auto -- opts
130791
130792              storage_backend :
130793                     Storage backend to use (zfs or dir, default: dir)
130794
130795              trust_password :
130796                     Password required to add new clients
130797
130798              network_address
130799                     None Address to bind LXD to (default: none)
130800
130801              network_port
130802                     None Port to bind LXD to (Default: 8443)
130803
130804              storage_create_device
130805                     None Setup device based storage using this DEVICE
130806
130807              storage_create_loop
130808                     None Setup loop based storage with this SIZE in GB
130809
130810              storage_pool
130811                     None Storage pool to use or create
130812
130813              CLI Examples:
130814
130815              To listen on all IPv4/IPv6 Addresses:
130816
130817                 salt '*' lxd.init dir PaSsW0rD [::]
130818
130819              To not listen on Network:
130820
130821                 salt '*' lxd.init
130822
130823       salt.modules.lxd.normalize_input_values(config, devices)
130824              normalize config input so returns can be put into mongodb, which
130825              doesn't like .
130826
130827              This is not meant to be used on the commandline.
130828
130829              CLI Examples:
130830
130831                 salt '*' lxd.normalize_input_values config={} devices={}
130832
130833       salt.modules.lxd.profile_config_delete(name,                config_key,
130834       remote_addr=None, cert=None, key=None, verify_cert=True)
130835              Delete a profile config item.
130836
130837              name : The name of the profile to delete the config item.
130838
130839              config_key :
130840                     The config key for the value to retrieve.
130841
130842              remote_addr :
130843                     An URL to a remote Server, you also have to give cert and
130844                     key if you provide remote_addr and its a TCP Address!
130845
130846                     Examples:
130847                            https://myserver.lan:8443 /var/lib/mysocket.sock
130848
130849              cert : PEM Formatted SSL Certificate.
130850
130851                     Examples:
130852                            ~/.config/lxc/client.crt
130853
130854              key :  PEM Formatted SSL Key.
130855
130856                     Examples:
130857                            ~/.config/lxc/client.key
130858
130859              verify_cert
130860                     True Wherever to verify the cert, this is by default True
130861                     but  in the most cases you want to set it off as LXD nor‐
130862                     maly uses self-signed certificates.
130863
130864              CLI Example:
130865
130866                 $ salt '*' lxd.profile_config_delete autostart boot.autostart.delay
130867
130868       salt.modules.lxd.profile_config_get(name, config_key, remote_addr=None,
130869       cert=None, key=None, verify_cert=True)
130870              Get a profile config item.
130871
130872              name : The name of the profile to get the config item from.
130873
130874              config_key :
130875                     The key for the item to retrieve.
130876
130877              remote_addr :
130878                     An URL to a remote Server, you also have to give cert and
130879                     key if you provide remote_addr and its a TCP Address!
130880
130881                     Examples:
130882                            https://myserver.lan:8443 /var/lib/mysocket.sock
130883
130884              cert : PEM Formatted SSL Certificate.
130885
130886                     Examples:
130887                            ~/.config/lxc/client.crt
130888
130889              key :  PEM Formatted SSL Key.
130890
130891                     Examples:
130892                            ~/.config/lxc/client.key
130893
130894              verify_cert
130895                     True Wherever to verify the cert, this is by default True
130896                     but  in the most cases you want to set it off as LXD nor‐
130897                     maly uses self-signed certificates.
130898
130899              CLI Example:
130900
130901                 $ salt '*' lxd.profile_config_get autostart boot.autostart
130902
130903       salt.modules.lxd.profile_config_set(name,   config_key,   config_value,
130904       remote_addr=None, cert=None, key=None, verify_cert=True)
130905              Set a profile config item.
130906
130907              name : The name of the profile to set the config item to.
130908
130909              config_key :
130910                     The items key.
130911
130912              config_value :
130913                     Its items value.
130914
130915              remote_addr :
130916                     An URL to a remote Server, you also have to give cert and
130917                     key if you provide remote_addr and its a TCP Address!
130918
130919                     Examples:
130920                            https://myserver.lan:8443 /var/lib/mysocket.sock
130921
130922              cert : PEM Formatted SSL Certificate.
130923
130924                     Examples:
130925                            ~/.config/lxc/client.crt
130926
130927              key :  PEM Formatted SSL Key.
130928
130929                     Examples:
130930                            ~/.config/lxc/client.key
130931
130932              verify_cert
130933                     True Wherever to verify the cert, this is by default True
130934                     but  in the most cases you want to set it off as LXD nor‐
130935                     maly uses self-signed certificates.
130936
130937              CLI Example:
130938
130939                 $ salt '*' lxd.profile_config_set autostart boot.autostart 0
130940
130941       salt.modules.lxd.profile_create(name,    config=None,     devices=None,
130942       description=None,    remote_addr=None,    cert=None,   key=None,   ver‐
130943       ify_cert=True)
130944              Creates a profile.
130945
130946              name : The name of the profile to get.
130947
130948              config :
130949                     A config dict or None (None = unset).
130950
130951                     Can also be a list:
130952
130953                            [{'key': 'boot.autostart', 'value': 1},
130954                                   {'key':   'security.privileged',   'value':
130955                                   '1'}]
130956
130957              devices :
130958                     A device dict or None (None = unset).
130959
130960              description :
130961                     A description string or None (None = unset).
130962
130963              remote_addr :
130964                     An URL to a remote Server, you also have to give cert and
130965                     key if you provide remote_addr and its a TCP Address!
130966
130967                     Examples:
130968                            https://myserver.lan:8443 /var/lib/mysocket.sock
130969
130970              cert : PEM Formatted SSL Certificate.
130971
130972                     Examples:
130973                            ~/.config/lxc/client.crt
130974
130975              key :  PEM Formatted SSL Key.
130976
130977                     Examples:
130978                            ~/.config/lxc/client.key
130979
130980              verify_cert
130981                     True Wherever to verify the cert, this is by default True
130982                     but  in the most cases you want to set it off as LXD nor‐
130983                     maly uses self-signed certificates.
130984
130985              CLI Examples:
130986
130987                 $ salt '*' lxd.profile_create autostart config="{boot.autostart: 1, boot.autostart.delay: 2, boot.autostart.priority: 1}"
130988                 $ salt '*' lxd.profile_create shared_mounts devices="{shared_mount: {type: 'disk', source: '/home/shared', path: '/home/shared'}}"
130989
130990              See the lxd-docs for the details about the  config  and  devices
130991              dicts.
130992
130993       salt.modules.lxd.profile_delete(name,    remote_addr=None,   cert=None,
130994       key=None, verify_cert=True)
130995              Deletes a profile.
130996
130997              name : The name of the profile to delete.
130998
130999              remote_addr :
131000                     An URL to a remote Server, you also have to give cert and
131001                     key if you provide remote_addr and its a TCP Address!
131002
131003                     Examples:
131004                            https://myserver.lan:8443 /var/lib/mysocket.sock
131005
131006              cert : PEM Formatted SSL Certificate.
131007
131008                     Examples:
131009                            ~/.config/lxc/client.crt
131010
131011              key :  PEM Formatted SSL Key.
131012
131013                     Examples:
131014                            ~/.config/lxc/client.key
131015
131016              verify_cert
131017                     True Wherever to verify the cert, this is by default True
131018                     but in the most cases you want to set it off as LXD  nor‐
131019                     maly uses self-signed certificates.
131020
131021              CLI Example:
131022
131023                 $ salt '*' lxd.profile_delete shared_mounts
131024
131025       salt.modules.lxd.profile_device_delete(name,               device_name,
131026       remote_addr=None, cert=None, key=None, verify_cert=True)
131027              Delete a profile device.
131028
131029              name : The name of the profile to delete the device.
131030
131031              device_name :
131032                     The name of the device to delete.
131033
131034              remote_addr :
131035                     An URL to a remote Server, you also have to give cert and
131036                     key if you provide remote_addr and its a TCP Address!
131037
131038                     Examples:
131039                            https://myserver.lan:8443 /var/lib/mysocket.sock
131040
131041              cert : PEM Formatted SSL Certificate.
131042
131043                     Examples:
131044                            ~/.config/lxc/client.crt
131045
131046              key :  PEM Formatted SSL Key.
131047
131048                     Examples:
131049                            ~/.config/lxc/client.key
131050
131051              verify_cert
131052                     True Wherever to verify the cert, this is by default True
131053                     but in the most cases you want to set it off as LXD  nor‐
131054                     maly uses self-signed certificates.
131055
131056              CLI Example:
131057
131058                 $ salt '*' lxd.profile_device_delete autostart eth1
131059
131060       salt.modules.lxd.profile_device_get(name,                  device_name,
131061       remote_addr=None, cert=None, key=None, verify_cert=True)
131062              Get a profile device.
131063
131064              name : The name of the profile to get the device from.
131065
131066              device_name :
131067                     The name of the device to retrieve.
131068
131069              remote_addr :
131070                     An URL to a remote Server, you also have to give cert and
131071                     key if you provide remote_addr and its a TCP Address!
131072
131073                     Examples:
131074                            https://myserver.lan:8443 /var/lib/mysocket.sock
131075
131076              cert : PEM Formatted SSL Certificate.
131077
131078                     Examples:
131079                            ~/.config/lxc/client.crt
131080
131081              key :  PEM Formatted SSL Key.
131082
131083                     Examples:
131084                            ~/.config/lxc/client.key
131085
131086              verify_cert
131087                     True Wherever to verify the cert, this is by default True
131088                     but in the most cases you want to set it off as LXD  nor‐
131089                     maly uses self-signed certificates.
131090
131091              CLI Example:
131092
131093                 $ salt '*' lxd.profile_device_get default eth0
131094
131095       salt.modules.lxd.profile_device_set(name,                  device_name,
131096       device_type=u'disk',  remote_addr=None,   cert=None,   key=None,   ver‐
131097       ify_cert=True, **kwargs)
131098              Set a profile device.
131099
131100              name : The name of the profile to set the device to.
131101
131102              device_name :
131103                     The name of the device to set.
131104
131105              remote_addr :
131106                     An URL to a remote Server, you also have to give cert and
131107                     key if you provide remote_addr and its a TCP Address!
131108
131109                     Examples:
131110                            https://myserver.lan:8443 /var/lib/mysocket.sock
131111
131112              cert : PEM Formatted SSL Certificate.
131113
131114                     Examples:
131115                            ~/.config/lxc/client.crt
131116
131117              key :  PEM Formatted SSL Key.
131118
131119                     Examples:
131120                            ~/.config/lxc/client.key
131121
131122              verify_cert
131123                     True Wherever to verify the cert, this is by default True
131124                     but  in the most cases you want to set it off as LXD nor‐
131125                     maly uses self-signed certificates.
131126
131127              CLI Example:
131128
131129                 $ salt '*' lxd.profile_device_set autostart eth1 nic nictype=bridged parent=lxdbr0
131130
131131       salt.modules.lxd.profile_get(name,     remote_addr=None,     cert=None,
131132       key=None, verify_cert=True, _raw=False)
131133              Gets a profile from the LXD
131134
131135              name : The name of the profile to get.
131136
131137              remote_addr :
131138                     An URL to a remote Server, you also have to give cert and
131139                     key if you provide remote_addr and its a TCP Address!
131140
131141                     Examples:
131142                            https://myserver.lan:8443 /var/lib/mysocket.sock
131143
131144              cert : PEM Formatted SSL Certificate.
131145
131146                     Examples:
131147                            ~/.config/lxc/client.crt
131148
131149              key :  PEM Formatted SSL Key.
131150
131151                     Examples:
131152                            ~/.config/lxc/client.key
131153
131154              verify_cert
131155                     True Wherever to verify the cert, this is by default True
131156                     but  in the most cases you want to set it off as LXD nor‐
131157                     maly uses self-signed certificates.
131158
131159              _raw : Return the pylxd object, this is internal and  by  states
131160                     in use.
131161
131162              CLI Examples:
131163
131164                 $ salt '*' lxd.profile_get autostart
131165
131166       salt.modules.lxd.profile_list(list_names=False,       remote_addr=None,
131167       cert=None, key=None, verify_cert=True)
131168              Lists all profiles from the LXD.
131169
131170              list_names :
131171                 Return a list of names instead of full blown dicts.
131172
131173              remote_addr :
131174                     An URL to a remote Server, you also have to give cert and
131175                     key if you provide remote_addr and its a TCP Address!
131176
131177                     Examples:
131178                            https://myserver.lan:8443 /var/lib/mysocket.sock
131179
131180              cert : PEM Formatted SSL Certificate.
131181
131182                     Examples:
131183                            ~/.config/lxc/client.crt
131184
131185              key :  PEM Formatted SSL Key.
131186
131187                     Examples:
131188                            ~/.config/lxc/client.key
131189
131190              verify_cert
131191                     True Wherever to verify the cert, this is by default True
131192                     but in the most cases you want to set it off as LXD  nor‐
131193                     maly uses self-signed certificates.
131194
131195              CLI Examples:
131196
131197                 salt '*' lxd.profile_list true --out=json
131198                 salt '*' lxd.profile_list --out=json
131199
131200       salt.modules.lxd.pylxd_client_get(remote_addr=None,          cert=None,
131201       key=None, verify_cert=True)
131202              Get an pyxld client, this is not ment to be runned over the CLI.
131203
131204              remote_addr :
131205                     An URL to a remote Server, you also have to give cert and
131206                     key if you provide remote_addr and its a TCP Address!
131207
131208                     Examples:
131209                            https://myserver.lan:8443 /var/lib/mysocket.sock
131210
131211              cert : PEM Formatted SSL Certificate.
131212
131213                     Examples:
131214                            ~/.config/lxc/client.crt
131215
131216              key :  PEM Formatted SSL Key.
131217
131218                     Examples:
131219                            ~/.config/lxc/client.key
131220
131221              verify_cert
131222                     True Wherever to verify the cert, this is by default True
131223                     but in the most cases you want to set it off as LXD  nor‐
131224                     maly uses self-signed certificates.
131225
131226              See the requests-docs for the SSL stuff.
131227
131228       salt.modules.lxd.pylxd_save_object(obj)
131229
131230              Saves an object (profile/image/container) and
131231                     translate its execpetion on failure
131232
131233              obj :  The object to save
131234
131235              This is an internal method, no CLI Example.
131236
131237       salt.modules.lxd.pylxd_version()
131238              Returns the actual pylxd version.
131239
131240              CLI Example:
131241
131242                 salt '*' lxd.pylxd_version
131243
131244       salt.modules.lxd.snapshots_all(container,  remote_addr=None, cert=None,
131245       key=None, verify_cert=True)
131246              Get all snapshots for a container
131247
131248              container :
131249                     The name of the container to get.
131250
131251              remote_addr :
131252                     An URL to a remote server. The 'cert'  and  'key'  fields
131253                     must also be provided if 'remote_addr' is defined.
131254
131255                     Examples:
131256                            https://myserver.lan:8443 /var/lib/mysocket.sock
131257
131258              cert : PEM Formatted SSL Certificate.
131259
131260                     Examples:
131261                            ~/.config/lxc/client.crt
131262
131263              key :  PEM Formatted SSL Key.
131264
131265                     Examples:
131266                            ~/.config/lxc/client.key
131267
131268              verify_cert
131269                     True Verify the ssl certificate.  Default: True
131270
131271              CLI Examples:
131272
131273                 $ salt '*' lxd.snapshots_all test-container
131274
131275       salt.modules.lxd.snapshots_create(container,                 name=None,
131276       remote_addr=None, cert=None, key=None, verify_cert=True)
131277              Create a snapshot for a container
131278
131279              container :
131280                     The name of the container to get.
131281
131282              name : The name of the snapshot.
131283
131284              remote_addr :
131285                     An URL to a remote server. The 'cert'  and  'key'  fields
131286                     must also be provided if 'remote_addr' is defined.
131287
131288                     Examples:
131289                            https://myserver.lan:8443 /var/lib/mysocket.sock
131290
131291              cert : PEM Formatted SSL Certificate.
131292
131293                     Examples:
131294                            ~/.config/lxc/client.crt
131295
131296              key :  PEM Formatted SSL Key.
131297
131298                     Examples:
131299                            ~/.config/lxc/client.key
131300
131301              verify_cert
131302                     True Verify the ssl certificate.  Default: True
131303
131304              CLI Examples:
131305
131306                 $ salt '*' lxd.snapshots_create test-container test-snapshot
131307
131308       salt.modules.lxd.snapshots_delete(container,   name,  remote_addr=None,
131309       cert=None, key=None, verify_cert=True)
131310              Delete a snapshot for a container
131311
131312              container :
131313                     The name of the container to get.
131314
131315              name : The name of the snapshot.
131316
131317              remote_addr :
131318                     An URL to a remote server. The 'cert'  and  'key'  fields
131319                     must also be provided if 'remote_addr' is defined.
131320
131321                     Examples:
131322                            https://myserver.lan:8443 /var/lib/mysocket.sock
131323
131324              cert : PEM Formatted SSL Certificate.
131325
131326                     Examples:
131327                            ~/.config/lxc/client.crt
131328
131329              key :  PEM Formatted SSL Key.
131330
131331                     Examples:
131332                            ~/.config/lxc/client.key
131333
131334              verify_cert
131335                     True Verify the ssl certificate.  Default: True
131336
131337              CLI Examples:
131338
131339                 $ salt '*' lxd.snapshots_delete test-container test-snapshot
131340
131341       salt.modules.lxd.snapshots_get(container,    name,    remote_addr=None,
131342       cert=None, key=None, verify_cert=True)
131343              Get information about snapshot for a container
131344
131345              container :
131346                     The name of the container to get.
131347
131348              name : The name of the snapshot.
131349
131350              remote_addr :
131351                     An URL to a remote server. The 'cert'  and  'key'  fields
131352                     must also be provided if 'remote_addr' is defined.
131353
131354                     Examples:
131355                            https://myserver.lan:8443 /var/lib/mysocket.sock
131356
131357              cert : PEM Formatted SSL Certificate.
131358
131359                     Examples:
131360                            ~/.config/lxc/client.crt
131361
131362              key :  PEM Formatted SSL Key.
131363
131364                     Examples:
131365                            ~/.config/lxc/client.key
131366
131367              verify_cert
131368                     True Verify the ssl certificate.  Default: True
131369
131370              CLI Examples:
131371
131372                 $ salt '*' lxd.snapshots_get test-container test-snapshot
131373
131374       salt.modules.lxd.sync_config_devices(obj,     newconfig,    newdevices,
131375       test=False)
131376              Syncs the given config and devices with the object (a profile or
131377              a container) returns a changes dict with all changes made.
131378
131379              obj :  The object to sync with / or just test with.
131380
131381              newconfig:
131382                     The new config to check with the obj.
131383
131384              newdevices:
131385                     The new devices to check with the obj.
131386
131387              test:  Wherever  to  not change anything and give "Would change"
131388                     message.
131389
131390       salt.modules.lxd.version()
131391              Returns the actual lxd version.
131392
131393              CLI Example:
131394
131395                 salt '*' lxd.version
131396
131397   salt.modules.mac_assistive module
131398       This module allows you to manage assistive access on macOS minions with
131399       10.9+
131400
131401       New in version 2016.3.0.
131402
131403
131404          salt '*' assistive.install /usr/bin/osascript
131405
131406       salt.modules.mac_assistive.enable(app_id, enabled=True)
131407              Enable or disable an existing assistive access application.
131408
131409              app_id The bundle ID or command to set assistive access status.
131410
131411              enabled
131412                     Sets enabled or disabled status. Default is True.
131413
131414              CLI Example:
131415
131416                 salt '*' assistive.enable /usr/bin/osascript
131417                 salt '*' assistive.enable com.smileonmymac.textexpander enabled=False
131418
131419       salt.modules.mac_assistive.enabled(app_id)
131420              Check  if  a  bundle ID or command is listed in assistive access
131421              and enabled.
131422
131423              app_id The bundle ID or command  to  retrieve  assistive  access
131424                     status.
131425
131426              CLI Example:
131427
131428                 salt '*' assistive.enabled /usr/bin/osascript
131429                 salt '*' assistive.enabled com.smileonmymac.textexpander
131430
131431       salt.modules.mac_assistive.install(app_id, enable=True)
131432              Install a bundle ID or command as being allowed to use assistive
131433              access.
131434
131435              app_id The bundle ID or command to install for assistive access.
131436
131437              enabled
131438                     Sets enabled or disabled status. Default is True.
131439
131440              CLI Example:
131441
131442                 salt '*' assistive.install /usr/bin/osascript
131443                 salt '*' assistive.install com.smileonmymac.textexpander
131444
131445       salt.modules.mac_assistive.installed(app_id)
131446              Check if a bundle ID or command is listed in  assistive  access.
131447              This will not check to see if it's enabled.
131448
131449              app_id The bundle ID or command to check installed status.
131450
131451              CLI Example:
131452
131453                 salt '*' assistive.installed /usr/bin/osascript
131454                 salt '*' assistive.installed com.smileonmymac.textexpander
131455
131456       salt.modules.mac_assistive.remove(app_id)
131457              Remove  a bundle ID or command as being allowed to use assistive
131458              access.
131459
131460              app_id The bundle ID or command to remove from assistive  access
131461                     list.
131462
131463              CLI Example:
131464
131465                 salt '*' assistive.remove /usr/bin/osascript
131466                 salt '*' assistive.remove com.smileonmymac.textexpander
131467
131468   salt.modules.mac_brew_pkg
131469       Homebrew for macOS
131470
131471       IMPORTANT:
131472          If you feel that Salt should be using this module to manage packages
131473          on a minion, and it is using a different module (or gives  an  error
131474          similar to 'pkg.install' is not available), see here.
131475
131476       salt.modules.mac_brew_pkg.available_version(*names, **kwargs)
131477              This function is an alias of latest_version.
131478                 Return  the latest version of the named package available for
131479                 upgrade or installation
131480
131481                 Currently chooses stable versions, falling back to  devel  if
131482                 that does not exist.
131483
131484                 CLI Example:
131485
131486                     salt '*' pkg.latest_version <package name>
131487                     salt '*' pkg.latest_version <package1> <package2> <package3>
131488
131489       salt.modules.mac_brew_pkg.info_installed(*names)
131490              Return  the information of the named package(s) installed on the
131491              system.
131492
131493              New in version 2016.3.1.
131494
131495
131496              names  The names of the packages for which  to  return  informa‐
131497                     tion.
131498
131499              CLI example:
131500
131501                 salt '*' pkg.info_installed <package1>
131502                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
131503
131504       salt.modules.mac_brew_pkg.install(name=None,    pkgs=None,   taps=None,
131505       options=None, **kwargs)
131506              Install the passed package(s) with brew install
131507
131508              name   The name of the formula to be installed. Note  that  this
131509                     parameter is ignored if "pkgs" is passed.
131510
131511                     CLI Example:
131512
131513                        salt '*' pkg.install <package name>
131514
131515              taps   Unofficial   GitHub   repos  to  use  when  updating  and
131516                     installing formulas.
131517
131518                     CLI Example:
131519
131520                        salt '*' pkg.install <package name> tap='<tap>'
131521                        salt '*' pkg.install zlib taps='homebrew/dupes'
131522                        salt '*' pkg.install php54 taps='["josegonzalez/php", "homebrew/dupes"]'
131523
131524              options
131525                     Options to pass to brew. Only applies to initial install.
131526                     Due  to how brew works, modifying chosen options requires
131527                     a full uninstall followed by a fresh install.  Note  that
131528                     if  "pkgs"  is  used,  all  options will be passed to all
131529                     packages. Unrecognized options  for  a  package  will  be
131530                     silently ignored by brew.
131531
131532                     CLI Example:
131533
131534                        salt '*' pkg.install <package name> tap='<tap>'
131535                        salt '*' pkg.install php54 taps='["josegonzalez/php", "homebrew/dupes"]' options='["--with-fpm"]'
131536
131537              Multiple Package Installation Options:
131538
131539              pkgs   A list of formulas to install. Must be passed as a python
131540                     list.
131541
131542                     CLI Example:
131543
131544                        salt '*' pkg.install pkgs='["foo","bar"]'
131545
131546              Returns a dict containing the new package names and versions:
131547
131548                 {'<package>': {'old': '<old-version>',
131549                                'new': '<new-version>'}}
131550
131551              CLI Example:
131552
131553                 salt '*' pkg.install 'package package package'
131554
131555       salt.modules.mac_brew_pkg.latest_version(*names, **kwargs)
131556              Return the latest version of the  named  package  available  for
131557              upgrade or installation
131558
131559              Currently chooses stable versions, falling back to devel if that
131560              does not exist.
131561
131562              CLI Example:
131563
131564                 salt '*' pkg.latest_version <package name>
131565                 salt '*' pkg.latest_version <package1> <package2> <package3>
131566
131567       salt.modules.mac_brew_pkg.list_pkgs(versions_as_list=False, **kwargs)
131568              List the packages currently installed in a dict:
131569
131570                 {'<package_name>': '<version>'}
131571
131572              CLI Example:
131573
131574                 salt '*' pkg.list_pkgs
131575
131576       salt.modules.mac_brew_pkg.list_upgrades(refresh=True, **kwargs)
131577              Check whether or not an upgrade is available for all packages
131578
131579              CLI Example:
131580
131581                 salt '*' pkg.list_upgrades
131582
131583       salt.modules.mac_brew_pkg.refresh_db()
131584              Update the homebrew package repository.
131585
131586              CLI Example:
131587
131588                 salt '*' pkg.refresh_db
131589
131590       salt.modules.mac_brew_pkg.remove(name=None, pkgs=None, **kwargs)
131591              Removes packages with brew uninstall.
131592
131593              name   The name of the package to be deleted.
131594
131595              Multiple Package Options:
131596
131597              pkgs   A list of packages to delete. Must be passed as a  python
131598                     list.  The  name parameter will be ignored if this option
131599                     is passed.
131600
131601              New in version 0.16.0.
131602
131603
131604              Returns a dict containing the changes.
131605
131606              CLI Example:
131607
131608                 salt '*' pkg.remove <package name>
131609                 salt '*' pkg.remove <package1>,<package2>,<package3>
131610                 salt '*' pkg.remove pkgs='["foo", "bar"]'
131611
131612       salt.modules.mac_brew_pkg.upgrade(refresh=True)
131613              Upgrade outdated, unpinned brews.
131614
131615              refresh
131616                     Fetch the newest version of  Homebrew  and  all  formulae
131617                     from GitHub before installing.
131618
131619              Returns a dictionary containing the changes:
131620
131621                 {'<package>':  {'old': '<old-version>',
131622                                 'new': '<new-version>'}}
131623
131624              CLI Example:
131625
131626                 salt '*' pkg.upgrade
131627
131628       salt.modules.mac_brew_pkg.upgrade_available(pkg)
131629              Check whether or not an upgrade is available for a given package
131630
131631              CLI Example:
131632
131633                 salt '*' pkg.upgrade_available <package name>
131634
131635       salt.modules.mac_brew_pkg.version(*names, **kwargs)
131636              Returns  a  string  representing the package version or an empty
131637              string if not installed. If more than one package name is speci‐
131638              fied, a dict of name/version pairs is returned.
131639
131640              CLI Example:
131641
131642                 salt '*' pkg.version <package name>
131643                 salt '*' pkg.version <package1> <package2> <package3>
131644
131645   salt.modules.macdefaults
131646       Set defaults on Mac OS
131647
131648       salt.modules.macdefaults.delete(domain, key, user=None)
131649              Delete a default from the system
131650
131651              CLI Example:
131652
131653                 salt '*' macdefaults.delete com.apple.CrashReporter DialogType
131654
131655                 salt '*' macdefaults.delete NSGlobalDomain ApplePersistence
131656
131657              domain The name of the domain to delete from
131658
131659              key    The key of the given domain to delete
131660
131661              user   The user to delete the defaults with
131662
131663       salt.modules.macdefaults.read(domain, key, user=None)
131664              Write a default to the system
131665
131666              CLI Example:
131667
131668                 salt '*' macdefaults.read com.apple.CrashReporter DialogType
131669
131670                 salt '*' macdefaults.read NSGlobalDomain ApplePersistence
131671
131672              domain The name of the domain to read from
131673
131674              key    The key of the given domain to read from
131675
131676              user   The user to write the defaults to
131677
131678       salt.modules.macdefaults.write(domain,   key,   value,  type=u'string',
131679       user=None)
131680              Write a default to the system
131681
131682              CLI Example:
131683
131684                 salt '*' macdefaults.write com.apple.CrashReporter DialogType Server
131685
131686                 salt '*' macdefaults.write NSGlobalDomain ApplePersistence True type=bool
131687
131688              domain The name of the domain to write to
131689
131690              key    The key of the given domain to write to
131691
131692              value  The value to write to the given key
131693
131694              type   The type of value to be written, valid types are  string,
131695                     data,   int[eger],   float,   bool[ean],   date,   array,
131696                     array-add, dict, dict-add
131697
131698              user   The user to write the defaults to
131699
131700   salt.modules.mac_desktop module
131701       macOS implementations of various commands in the "desktop" interface
131702
131703       salt.modules.mac_desktop.get_output_volume()
131704              Get the output volume (range 0 to 100)
131705
131706              CLI Example:
131707
131708                 salt '*' desktop.get_output_volume
131709
131710       salt.modules.mac_desktop.lock()
131711              Lock the desktop session
131712
131713              CLI Example:
131714
131715                 salt '*' desktop.lock
131716
131717       salt.modules.mac_desktop.say(*words)
131718              Say some words.
131719
131720              words  The words to execute the say command with.
131721
131722              CLI Example:
131723
131724                 salt '*' desktop.say <word0> <word1> ... <wordN>
131725
131726       salt.modules.mac_desktop.screensaver()
131727              Launch the screensaver.
131728
131729              CLI Example:
131730
131731                 salt '*' desktop.screensaver
131732
131733       salt.modules.mac_desktop.set_output_volume(volume)
131734              Set the volume of sound.
131735
131736              volume The level of volume. Can range from 0 to 100.
131737
131738              CLI Example:
131739
131740                 salt '*' desktop.set_output_volume <volume>
131741
131742   salt.modules.mac_group
131743       Manage groups on Mac OS 10.7+
131744
131745       salt.modules.mac_group.add(name, gid=None, **kwargs)
131746              Add the specified group
131747
131748              CLI Example:
131749
131750                 salt '*' group.add foo 3456
131751
131752       salt.modules.mac_group.adduser(group, name)
131753              Add a user in the group.
131754
131755              CLI Example:
131756
131757                 salt '*' group.adduser foo bar
131758
131759              Verifies if a valid username 'bar' as a member  of  an  existing
131760              group 'foo', if not then adds it.
131761
131762       salt.modules.mac_group.chgid(name, gid)
131763              Change the gid for a named group
131764
131765              CLI Example:
131766
131767                 salt '*' group.chgid foo 4376
131768
131769       salt.modules.mac_group.delete(name)
131770              Remove the named group
131771
131772              CLI Example:
131773
131774                 salt '*' group.delete foo
131775
131776       salt.modules.mac_group.deluser(group, name)
131777              Remove a user from the group
131778
131779              New in version 2016.3.0.
131780
131781
131782              CLI Example:
131783
131784                 salt '*' group.deluser foo bar
131785
131786              Removes  a member user 'bar' from a group 'foo'. If group is not
131787              present then returns True.
131788
131789       salt.modules.mac_group.getent(refresh=False)
131790              Return info on all groups
131791
131792              CLI Example:
131793
131794                 salt '*' group.getent
131795
131796       salt.modules.mac_group.info(name)
131797              Return information about a group
131798
131799              CLI Example:
131800
131801                 salt '*' group.info foo
131802
131803       salt.modules.mac_group.members(name, members_list)
131804              Replaces members of the group with a provided list.
131805
131806              New in version 2016.3.0.
131807
131808
131809              CLI Example:
131810                 salt '*' group.members foo 'user1,user2,user3,...'
131811
131812              Replaces a membership list for a local group 'foo'.
131813
131814   salt.modules.mac_keychain module
131815       Install certificates into the keychain on Mac OS
131816
131817       New in version 2016.3.0.
131818
131819
131820       salt.modules.mac_keychain.get_default_keychain(user=None,
131821       domain=u'user')
131822              Get the default keychain
131823
131824              user   The user to check the default keychain of
131825
131826              domain The  domain  to  use  valid  values  are user|system|com‐
131827                     mon|dynamic, the default is user
131828
131829              CLI Example:
131830
131831                 salt '*' keychain.get_default_keychain
131832
131833       salt.modules.mac_keychain.get_friendly_name(cert, password)
131834              Get the friendly name of the given certificate
131835
131836              cert   The certificate to install
131837
131838              password
131839                     The password for the certificate being installed  format‐
131840                     ted  in the way described for openssl command in the PASS
131841                     PHRASE ARGUMENTS section
131842
131843                     Note: The password given here will show up  as  plaintext
131844                     in the returned job info.
131845
131846              CLI Example:
131847
131848                 salt '*' keychain.get_friendly_name /tmp/test.p12 test123
131849
131850       salt.modules.mac_keychain.get_hash(name, password=None)
131851              Returns the hash of a certificate in the keychain.
131852
131853              name   The  name of the certificate (which you can get from key‐
131854                     chain.get_friendly_name) or the location of a p12 file.
131855
131856              password
131857                     The password  that  is  used  in  the  certificate.  Only
131858                     required  if your passing a p12 file.  Note: This will be
131859                     outputted to logs
131860
131861              CLI Example:
131862
131863                 salt '*' keychain.get_hash /tmp/test.p12 test123
131864
131865       salt.modules.mac_keychain.install(cert,         password,          key‐
131866       chain=u'/Library/Keychains/System.keychain',    allow_any=False,   key‐
131867       chain_password=None)
131868              Install a certificate
131869
131870              cert   The certificate to install
131871
131872              password
131873                     The password for the certificate being installed  format‐
131874                     ted  in the way described for openssl command in the PASS
131875                     PHRASE ARGUMENTS section.
131876
131877                     Note: The password given here will show up  as  plaintext
131878                     in the job returned info.
131879
131880              keychain
131881                     The keychain to install the certificate to, this defaults
131882                     to /Library/Keychains/System.keychain
131883
131884              allow_any
131885                     Allow any application to access the imported  certificate
131886                     without warning
131887
131888              keychain_password
131889                     If your keychain is likely to be locked pass the password
131890                     and it will be unlocked before running the import
131891
131892                     Note: The password given here will show up  as  plaintext
131893                     in the returned job info.
131894
131895              CLI Example:
131896
131897                 salt '*' keychain.install test.p12 test123
131898
131899       salt.modules.mac_keychain.list_certs(keychain=u'/Library/Keychains/Sys‐
131900       tem.keychain')
131901              List all of the installed certificates
131902
131903              keychain
131904                     The keychain to install the certificate to, this defaults
131905                     to /Library/Keychains/System.keychain
131906
131907              CLI Example:
131908
131909                 salt '*' keychain.list_certs
131910
131911       salt.modules.mac_keychain.set_default_keychain(keychain,
131912       domain=u'user', user=None)
131913              Set the default keychain
131914
131915              keychain
131916                     The location of the keychain to set as default
131917
131918              domain The domain  to  use  valid  values  are  user|system|com‐
131919                     mon|dynamic, the default is user
131920
131921              user   The user to set the default keychain as
131922
131923              CLI Example:
131924
131925                 salt '*' keychain.set_keychain /Users/fred/Library/Keychains/login.keychain
131926
131927       salt.modules.mac_keychain.uninstall(cert_name, keychain=u'/Library/Key‐
131928       chains/System.keychain', keychain_password=None)
131929              Uninstall a certificate from a keychain
131930
131931              cert_name
131932                     The name of the certificate to remove
131933
131934              keychain
131935                     The keychain to install the certificate to, this defaults
131936                     to /Library/Keychains/System.keychain
131937
131938              keychain_password
131939                     If your keychain is likely to be locked pass the password
131940                     and it will be unlocked before running the import
131941
131942                     Note: The password given here will show up  as  plaintext
131943                     in the returned job info.
131944
131945              CLI Example:
131946
131947                 salt '*' keychain.install test.p12 test123
131948
131949       salt.modules.mac_keychain.unlock_keychain(keychain, password)
131950              Unlock the given keychain with the password
131951
131952              keychain
131953                     The keychain to unlock
131954
131955              password
131956                     The password to use to unlock the keychain.
131957
131958                     Note:  The  password given here will show up as plaintext
131959                     in the returned job info.
131960
131961              CLI Example:
131962
131963                 salt '*' keychain.unlock_keychain /tmp/test.p12 test123
131964
131965   salt.modules.macpackage
131966       Install pkg, dmg and .app applications on macOS minions.
131967
131968       salt.modules.macpackage.get_mpkg_ids(mpkg)
131969              Attempt to get the package IDs from a mounted .mpkg file
131970
131971              Parameters
131972                     mpkg (str) -- The location of the mounted mpkg file
131973
131974              Returns
131975                     List of package IDs
131976
131977              Return type
131978                     list
131979
131980              CLI Example:
131981
131982                 salt '*' macpackage.get_mpkg_ids /dev/disk2
131983
131984       salt.modules.macpackage.get_pkg_id(pkg)
131985              Attempt to get the package ID from a .pkg file
131986
131987              Parameters
131988                     pkg (str) -- The location of the pkg file
131989
131990              Returns
131991                     List of all of the package IDs
131992
131993              Return type
131994                     list
131995
131996              CLI Example:
131997
131998                 salt '*' macpackage.get_pkg_id /tmp/test.pkg
131999
132000       salt.modules.macpackage.install(pkg,             target=u'LocalSystem',
132001       store=False, allow_untrusted=False)
132002              Install a pkg file
132003
132004              Parameters
132005
132006                     · pkg (str) -- The package to install
132007
132008                     · target  (str)  --  The  target  in which to install the
132009                       package to
132010
132011                     · store (bool) -- Should the package be installed  as  if
132012                       it was from the store?
132013
132014                     · allow_untrusted  (bool)  --  Allow  the installation of
132015                       untrusted packages?
132016
132017              Returns
132018                     A dictionary containing the results of the installation
132019
132020              Return type
132021                     dict
132022
132023              CLI Example:
132024
132025                 salt '*' macpackage.install test.pkg
132026
132027       salt.modules.macpackage.install_app(app, target=u'/Applications/')
132028              Install an app file by moving it into the specified Applications
132029              directory
132030
132031              Parameters
132032
132033                     · app (str) -- The location of the .app file
132034
132035                     · target  (str)  --  The  target  in which to install the
132036                       package to Default is ''/Applications/''
132037
132038              Returns
132039                     The results of the rsync command
132040
132041              Return type
132042                     str
132043
132044              CLI Example:
132045
132046                 salt '*' macpackage.install_app /tmp/tmp.app /Applications/
132047
132048       salt.modules.macpackage.installed_pkgs()
132049              Return the list of installed packages on the machine
132050
132051              Returns
132052                     List of installed packages
132053
132054              Return type
132055                     list
132056
132057              CLI Example:
132058
132059                 salt '*' macpackage.installed_pkgs
132060
132061       salt.modules.macpackage.mount(dmg)
132062              Attempt to mount a dmg file to a temporary location  and  return
132063              the location of the pkg file inside
132064
132065              Parameters
132066                     dmg (str) -- The location of the dmg file to mount
132067
132068              Returns
132069
132070                     Tuple  containing  the  results of the command along with
132071                     the mount
132072                            point
132073
132074
132075              Return type
132076                     tuple
132077
132078              CLI Example:
132079
132080                 salt '*' macpackage.mount /tmp/software.dmg
132081
132082       salt.modules.macpackage.uninstall_app(app)
132083              Uninstall an app file  by  removing  it  from  the  Applications
132084              directory
132085
132086              Parameters
132087                     app (str) -- The location of the .app file
132088
132089              Returns
132090                     True if successful, otherwise False
132091
132092              Return type
132093                     bool
132094
132095              CLI Example:
132096
132097                 salt '*' macpackage.uninstall_app /Applications/app.app
132098
132099       salt.modules.macpackage.unmount(mountpoint)
132100              Attempt to unmount a dmg file from a temporary location
132101
132102              Parameters
132103                     mountpoint (str) -- The location of the mount point
132104
132105              Returns
132106                     The results of the hdutil detach command
132107
132108              Return type
132109                     str
132110
132111              CLI Example:
132112
132113                 salt '*' macpackage.unmount /dev/disk2
132114
132115   salt.modules.mac_pkgutil module
132116       Installer support for macOS.
132117
132118       Installer is the native .pkg/.mpkg package manager for macOS.
132119
132120       salt.modules.mac_pkgutil.forget(package_id)
132121              New in version 2016.3.0.
132122
132123
132124              Remove  the  receipt  data about the specified package. Does not
132125              remove files.
132126
132127              WARNING:
132128                 DO NOT use this command to fix broken package design
132129
132130              Parameters
132131                     package_id (str) -- The name of the package to forget
132132
132133              Returns
132134                     True if successful, otherwise False
132135
132136              Return type
132137                     bool
132138
132139              CLI Example:
132140
132141                 salt '*' pkgutil.forget com.apple.pkg.gcc4.2Leo
132142
132143       salt.modules.mac_pkgutil.install(source, package_id)
132144              Install a .pkg from an URI or an absolute path.
132145
132146              Parameters
132147
132148                     · source (str) -- The path to a package.
132149
132150                     · package_id (str) -- The package ID
132151
132152              Returns
132153                     True if successful, otherwise False
132154
132155              Return type
132156                     bool
132157
132158              CLI Example:
132159
132160                 salt '*' pkgutil.install source=/vagrant/build_essentials.pkg package_id=com.apple.pkg.gcc4.2Leo
132161
132162       salt.modules.mac_pkgutil.is_installed(package_id)
132163              Returns whether a given package id is installed.
132164
132165              Returns
132166                     True if installed, otherwise False
132167
132168              Return type
132169                     bool
132170
132171              CLI Example:
132172
132173                 salt '*' pkgutil.is_installed com.apple.pkg.gcc4.2Leo
132174
132175       salt.modules.mac_pkgutil.list_()
132176              List the installed packages.
132177
132178              Returns
132179                     A list of installed packages
132180
132181              Return type
132182                     list
132183
132184              CLI Example:
132185
132186                 salt '*' pkgutil.list
132187
132188   salt.modules.mac_portspkg
132189       Support for MacPorts under macOS.
132190
132191       This module has some caveats.
132192
132193       1. Updating the database of available ports  is  quite  resource-inten‐
132194       sive.   However,  refresh=True  is  the default for all operations that
132195       need an up-to-date copy of  available  ports.   Consider  refresh=False
132196       when you are sure no db update is needed.
132197
132198       2.  In  some cases MacPorts doesn't always realize when another copy of
132199       itself is running and will gleefully tromp all over the available ports
132200       database.   This  makes MacPorts behave in undefined ways until a fresh
132201       complete copy is retrieved.
132202
132203       Because of 1 and 2 it is possible to get the salt-minion into  a  state
132204       where salt mac-machine pkg./something/ won't want to return.  Use
132205
132206       salt-run jobs.active
132207
132208       on the master to check for potentially long-running calls to port.
132209
132210       Finally, ports database updates are always handled with port selfupdate
132211       as opposed to port sync.  This makes sense in the MacPorts user commmu‐
132212       nity but may confuse experienced Linux admins as Linux package managers
132213       don't upgrade the packaging software  when  doing  a  package  database
132214       update.   In  other  words salt mac-machine pkg.refresh_db is more like
132215       apt-get update;  apt-get  upgrade  dpkg  apt-get  than  simply  apt-get
132216       update.
132217
132218       salt.modules.mac_portspkg.available_version(*names, **kwargs)
132219              This function is an alias of latest_version.
132220                 Return  the latest version of the named package available for
132221                 upgrade or installation
132222
132223                 Options:
132224
132225                 refresh
132226                        Update ports with port selfupdate
132227
132228                 CLI Example:
132229
132230                     salt '*' pkg.latest_version <package name>
132231                     salt '*' pkg.latest_version <package1> <package2> <package3>
132232
132233       salt.modules.mac_portspkg.install(name=None, refresh=False,  pkgs=None,
132234       **kwargs)
132235              Install the passed package(s) with port install
132236
132237              name   The  name  of the formula to be installed. Note that this
132238                     parameter is ignored if "pkgs" is passed.
132239
132240                     CLI Example:
132241
132242                        salt '*' pkg.install <package name>
132243
132244              version
132245                     Specify a version to pkg to install. Ignored if  pkgs  is
132246                     specified.
132247
132248                     CLI Example:
132249
132250                        salt '*' pkg.install <package name>
132251                        salt '*' pkg.install git-core version='1.8.5.5'
132252
132253              variant
132254                     Specify  a  variant to pkg to install. Ignored if pkgs is
132255                     specified.
132256
132257                     CLI Example:
132258
132259                        salt '*' pkg.install <package name>
132260                        salt '*' pkg.install git-core version='1.8.5.5' variant='+credential_osxkeychain+doc+pcre'
132261
132262              Multiple Package Installation Options:
132263
132264              pkgs   A list of formulas to install. Must be passed as a python
132265                     list.
132266
132267                     CLI Example:
132268
132269                        salt '*' pkg.install pkgs='["foo","bar"]'
132270                        salt '*' pkg.install pkgs='["foo@1.2","bar"]'
132271                        salt '*' pkg.install pkgs='["foo@1.2+ssl","bar@2.3"]'
132272
132273              Returns a dict containing the new package names and versions:
132274
132275                 {'<package>': {'old': '<old-version>',
132276                                'new': '<new-version>'}}
132277
132278              CLI Example:
132279
132280                 salt '*' pkg.install 'package package package'
132281
132282       salt.modules.mac_portspkg.latest_version(*names, **kwargs)
132283              Return  the  latest  version  of the named package available for
132284              upgrade or installation
132285
132286              Options:
132287
132288              refresh
132289                     Update ports with port selfupdate
132290
132291              CLI Example:
132292
132293                 salt '*' pkg.latest_version <package name>
132294                 salt '*' pkg.latest_version <package1> <package2> <package3>
132295
132296       salt.modules.mac_portspkg.list_pkgs(versions_as_list=False, **kwargs)
132297              List the packages currently installed in a dict:
132298
132299                 {'<package_name>': '<version>'}
132300
132301              CLI Example:
132302
132303                 salt '*' pkg.list_pkgs
132304
132305       salt.modules.mac_portspkg.list_upgrades(refresh=True, **kwargs)
132306              Check whether or not an upgrade is available for all packages
132307
132308              Options:
132309
132310              refresh
132311                     Update ports with port selfupdate
132312
132313              CLI Example:
132314
132315                 salt '*' pkg.list_upgrades
132316
132317       salt.modules.mac_portspkg.refresh_db()
132318              Update ports with port selfupdate
132319
132320              CLI Example:
132321
132322                 salt mac pkg.refresh_db
132323
132324       salt.modules.mac_portspkg.remove(name=None, pkgs=None, **kwargs)
132325              Removes packages with port uninstall.
132326
132327              name   The name of the package to be deleted.
132328
132329              Multiple Package Options:
132330
132331              pkgs   A list of packages to delete. Must be passed as a  python
132332                     list.  The  name parameter will be ignored if this option
132333                     is passed.
132334
132335              New in version 0.16.0.
132336
132337
132338              Returns a dict containing the changes.
132339
132340              CLI Example:
132341
132342                 salt '*' pkg.remove <package name>
132343                 salt '*' pkg.remove <package1>,<package2>,<package3>
132344                 salt '*' pkg.remove pkgs='["foo", "bar"]'
132345
132346       salt.modules.mac_portspkg.upgrade(refresh=True)
132347              Run a full upgrade using MacPorts 'port upgrade outdated'
132348
132349              Options:
132350
132351              refresh
132352                     Update ports with port selfupdate
132353
132354              Returns a dictionary containing the changes:
132355
132356                 {'<package>':  {'old': '<old-version>',
132357                                 'new': '<new-version>'}}
132358
132359              CLI Example:
132360
132361                 salt '*' pkg.upgrade
132362
132363       salt.modules.mac_portspkg.upgrade_available(pkg, refresh=True)
132364              Check whether or not an upgrade is available for a given package
132365
132366              CLI Example:
132367
132368                 salt '*' pkg.upgrade_available <package name>
132369
132370       salt.modules.mac_portspkg.version(*names, **kwargs)
132371              Returns a string representing the package version  or  an  empty
132372              string if not installed. If more than one package name is speci‐
132373              fied, a dict of name/version pairs is returned.
132374
132375              CLI Example:
132376
132377                 salt '*' pkg.version <package name>
132378                 salt '*' pkg.version <package1> <package2> <package3>
132379
132380   salt.modules.mac_power module
132381       Module for editing power settings on macOS
132382          New in version 2016.3.0.
132383
132384
132385       salt.modules.mac_power.get_computer_sleep()
132386              Display the amount of idle time until the computer sleeps.
132387
132388              Returns
132389                     A string representing the sleep settings for the computer
132390
132391              Return type
132392                     str
132393
132394              CLI Example:
132395
132396              ..code-block:: bash
132397                 salt '*' power.get_computer_sleep
132398
132399       salt.modules.mac_power.get_display_sleep()
132400              Display the amount of idle time until the display sleeps.
132401
132402              Returns
132403                     A string representing the sleep settings for the displey
132404
132405              Return type
132406                     str
132407
132408              CLI Example:
132409
132410              ..code-block:: bash
132411                 salt '*' power.get_display_sleep
132412
132413       salt.modules.mac_power.get_harddisk_sleep()
132414              Display the amount of idle time until the hard disk sleeps.
132415
132416              Returns
132417                     A string representing the sleep  settings  for  the  hard
132418                     disk
132419
132420              Return type
132421                     str
132422
132423              CLI Example:
132424
132425              ..code-block:: bash
132426                 salt '*' power.get_harddisk_sleep
132427
132428       salt.modules.mac_power.get_restart_freeze()
132429              Displays whether 'restart on freeze' is on or off if supported
132430
132431              Returns
132432                     A  string value representing the "restart on freeze" set‐
132433                     tings
132434
132435              Return type
132436                     string
132437
132438              CLI Example:
132439
132440                 salt '*' power.get_restart_freeze
132441
132442       salt.modules.mac_power.get_restart_power_failure()
132443              Displays whether 'restart on power failure' is on or off if sup‐
132444              ported
132445
132446              Returns
132447                     A  string  value representing the "restart on power fail‐
132448                     ure" settings
132449
132450              Return type
132451                     string
132452
132453              CLI Example:
132454
132455                 salt '*' power.get_restart_power_failure
132456
132457       salt.modules.mac_power.get_sleep()
132458              Displays the amount of idle time until the machine sleeps.  Set‐
132459              tings for Computer, Display, and Hard Disk are displayed.
132460
132461              Returns
132462                     A  dictionary  containing  the sleep status for Computer,
132463                     Display, and Hard Disk
132464
132465              Return type
132466                     dict
132467
132468              CLI Example:
132469
132470                 salt '*' power.get_sleep
132471
132472       salt.modules.mac_power.get_sleep_on_power_button()
132473              Displays whether 'allow power button to sleep computer' is on or
132474              off if supported
132475
132476              Returns
132477                     A  string  value  representing the "allow power button to
132478                     sleep computer" settings
132479
132480              Return type
132481                     string
132482
132483              CLI Example:
132484
132485                 salt '*' power.get_sleep_on_power_button
132486
132487       salt.modules.mac_power.get_wake_on_modem()
132488              Displays whether 'wake on modem' is on or off if supported
132489
132490              Returns
132491                     A string value representing the "wake on modem" settings
132492
132493              Return type
132494                     str
132495
132496              CLI Example:
132497
132498                 salt '*' power.get_wake_on_modem
132499
132500       salt.modules.mac_power.get_wake_on_network()
132501              Displays whether 'wake on network' is on or off if supported
132502
132503              Returns
132504                     A string value representing the "wake  on  network"  set‐
132505                     tings
132506
132507              Return type
132508                     string
132509
132510              CLI Example:
132511
132512                 salt '*' power.get_wake_on_network
132513
132514       salt.modules.mac_power.set_computer_sleep(minutes)
132515              Set  the  amount  of  idle  time until the computer sleeps. Pass
132516              "Never" of "Off" to never sleep.
132517
132518              Parameters
132519                     minutes -- Can be an integer between 1 and 180 or "Never"
132520                     or "Off"
132521
132522              Ptype  int, str
132523
132524              Returns
132525                     True if successful, False if not
132526
132527              Return type
132528                     bool
132529
132530              CLI Example:
132531
132532                 salt '*' power.set_computer_sleep 120
132533                 salt '*' power.set_computer_sleep off
132534
132535       salt.modules.mac_power.set_display_sleep(minutes)
132536              Set  the  amount  of  idle  time  until the display sleeps. Pass
132537              "Never" of "Off" to never sleep.
132538
132539              Parameters
132540                     minutes -- Can be an integer between 1 and 180 or "Never"
132541                     or "Off"
132542
132543              Ptype  int, str
132544
132545              Returns
132546                     True if successful, False if not
132547
132548              Return type
132549                     bool
132550
132551              CLI Example:
132552
132553                 salt '*' power.set_display_sleep 120
132554                 salt '*' power.set_display_sleep off
132555
132556       salt.modules.mac_power.set_harddisk_sleep(minutes)
132557              Set  the  amount  of  idle  time until the harddisk sleeps. Pass
132558              "Never" of "Off" to never sleep.
132559
132560              Parameters
132561                     minutes -- Can be an integer between 1 and 180 or "Never"
132562                     or "Off"
132563
132564              Ptype  int, str
132565
132566              Returns
132567                     True if successful, False if not
132568
132569              Return type
132570                     bool
132571
132572              CLI Example:
132573
132574                 salt '*' power.set_harddisk_sleep 120
132575                 salt '*' power.set_harddisk_sleep off
132576
132577       salt.modules.mac_power.set_restart_freeze(enabled)
132578              Specifies whether the server restarts automatically after a sys‐
132579              tem freeze.  This setting doesn't seem to be editable. The  com‐
132580              mand  completes  successfully  but  the  setting  isn't actually
132581              updated. This is probably a macOS. The functions remains in case
132582              they ever fix the bug.
132583
132584              Parameters
132585                     enabled  (bool) -- True to enable, False to disable. "On"
132586                     and "Off" are also acceptable  values.  Additionally  you
132587                     can pass 1 and 0 to represent True and False respectively
132588
132589              Returns
132590                     True if successful, False if not
132591
132592              Return type
132593                     bool
132594
132595              CLI Example:
132596
132597                 salt '*' power.set_restart_freeze True
132598
132599       salt.modules.mac_power.set_restart_power_failure(enabled)
132600              Set whether or not the computer will automatically restart after
132601              a power failure.
132602
132603              Parameters
132604                     enabled (bool) -- True to enable, False to disable.  "On"
132605                     and  "Off"  are  also acceptable values. Additionally you
132606                     can pass 1 and 0 to represent True and False respectively
132607
132608              Returns
132609                     True if successful, False if not
132610
132611              Return type
132612                     bool
132613
132614              CLI Example:
132615
132616                 salt '*' power.set_restart_power_failure True
132617
132618       salt.modules.mac_power.set_sleep(minutes)
132619              Sets the amount of idle time until the machine sleeps. Sets  the
132620              same value for Computer, Display, and Hard Disk. Pass "Never" or
132621              "Off" for computers that should never sleep.
132622
132623              Parameters
132624                     minutes -- Can be an integer between 1 and 180 or "Never"
132625                     or "Off"
132626
132627              Ptype  int, str
132628
132629              Returns
132630                     True if successful, False if not
132631
132632              Return type
132633                     bool
132634
132635              CLI Example:
132636
132637                 salt '*' power.set_sleep 120
132638                 salt '*' power.set_sleep never
132639
132640       salt.modules.mac_power.set_sleep_on_power_button(enabled)
132641              Set whether or not the power button can sleep the computer.
132642
132643              Parameters
132644                     enabled  (bool) -- True to enable, False to disable. "On"
132645                     and "Off" are also acceptable  values.  Additionally  you
132646                     can pass 1 and 0 to represent True and False respectively
132647
132648              Returns
132649                     True if successful, False if not
132650
132651              Return type
132652                     bool
132653
132654              CLI Example:
132655
132656                 salt '*' power.set_sleep_on_power_button True
132657
132658       salt.modules.mac_power.set_wake_on_modem(enabled)
132659              Set  whether or not the computer will wake from sleep when modem
132660              activity is detected.
132661
132662              Parameters
132663                     enabled (bool) -- True to enable, False to disable.  "On"
132664                     and  "Off"  are  also acceptable values. Additionally you
132665                     can pass 1 and 0 to represent True and False respectively
132666
132667              Returns
132668                     True if successful, False if not
132669
132670              Return type
132671                     bool
132672
132673              CLI Example:
132674
132675                 salt '*' power.set_wake_on_modem True
132676
132677       salt.modules.mac_power.set_wake_on_network(enabled)
132678              Set whether or not the computer will wake from sleep  when  net‐
132679              work activity is detected.
132680
132681              Parameters
132682                     enabled  (bool) -- True to enable, False to disable. "On"
132683                     and "Off" are also acceptable  values.  Additionally  you
132684                     can pass 1 and 0 to represent True and False respectively
132685
132686              Returns
132687                     True if successful, False if not
132688
132689              Return type
132690                     bool
132691
132692              CLI Example:
132693
132694                 salt '*' power.set_wake_on_network True
132695
132696   salt.modules.mac_service module
132697       The service module for macOS
132698
132699       New in version 2016.3.0.
132700
132701
132702       This module has support for services in the following locations.
132703
132704          /System/Library/LaunchDaemons/
132705          /System/Library/LaunchAgents/
132706          /Library/LaunchDaemons/
132707          /Library/LaunchAgents/
132708
132709          # As of version "2019.2.0" support for user-specific services were added.
132710          /Users/foo/Library/LaunchAgents/
132711
132712       NOTE:
132713          As of the 2019.2.0 release, if a service is located in a LaunchAgent
132714          path and a runas user is NOT specified,  the  current  console  user
132715          will be used to properly interact with the service.
132716
132717       salt.modules.mac_service.available(name)
132718              Check that the given service is available.
132719
132720              Parameters
132721                     name (str) -- The name of the service
132722
132723              Returns
132724                     True if the service is available, otherwise False
132725
132726              Return type
132727                     bool
132728
132729              CLI Example:
132730
132731                 salt '*' service.available com.openssh.sshd
132732
132733       salt.modules.mac_service.disable(name, runas=None)
132734              Disable  a launchd service. Raises an error if the service fails
132735              to be disabled
132736
132737              Parameters
132738
132739                     · name (str) -- Service label, file name, or full path
132740
132741                     · runas (str) -- User to run launchctl commands
132742
132743              Returns
132744                     True if successful or if the service is already disabled
132745
132746              Return type
132747                     bool
132748
132749              CLI Example:
132750
132751                 salt '*' service.disable org.cups.cupsd
132752
132753       salt.modules.mac_service.disabled(name, runas=None, domain=u'system')
132754              Check if the specified service is not enabled. This is the oppo‐
132755              site of service.enabled
132756
132757              Parameters
132758
132759                     · name (str) -- The name to look up
132760
132761                     · runas (str) -- User to run launchctl commands
132762
132763                     · domain  (str) -- domain to check for disabled services.
132764                       Default is system.
132765
132766              Returns
132767                     True if the specified service is NOT  enabled,  otherwise
132768                     False
132769
132770              Return type
132771                     bool
132772
132773              CLI Example:
132774
132775                 salt '*' service.disabled org.cups.cupsd
132776
132777       salt.modules.mac_service.enable(name, runas=None)
132778              Enable  a  launchd service. Raises an error if the service fails
132779              to be enabled
132780
132781              Parameters
132782
132783                     · name (str) -- Service label, file name, or full path
132784
132785                     · runas (str) -- User to run launchctl commands
132786
132787              Returns
132788                     True if successful or if the service is already enabled
132789
132790              Return type
132791                     bool
132792
132793              CLI Example:
132794
132795                 salt '*' service.enable org.cups.cupsd
132796
132797       salt.modules.mac_service.enabled(name, runas=None)
132798              Check if the specified service is enabled
132799
132800              Parameters
132801
132802                     · name (str) -- The name of the service to look up
132803
132804                     · runas (str) -- User to run launchctl commands
132805
132806              Returns
132807                     True if the specified service enabled, otherwise False
132808
132809              Return type
132810                     bool
132811
132812              CLI Example:
132813
132814                 salt '*' service.enabled org.cups.cupsd
132815
132816       salt.modules.mac_service.get_all(runas=None)
132817              Return a list of services that are enabled or available. Can  be
132818              used to find the name of a service.
132819
132820              Parameters
132821                     runas (str) -- User to run launchctl commands
132822
132823              Returns
132824                     A list of all the services available or enabled
132825
132826              Return type
132827                     list
132828
132829              CLI Example:
132830
132831                 salt '*' service.get_all
132832
132833       salt.modules.mac_service.get_enabled(runas=None)
132834              Return  a  list of all services that are enabled. Can be used to
132835              find the name of a service.
132836
132837              Parameters
132838                     runas (str) -- User to run launchctl commands
132839
132840              Returns
132841                     A list of all the services enabled on the system
132842
132843              Return type
132844                     list
132845
132846              CLI Example:
132847
132848                 salt '*' service.get_enabled
132849
132850       salt.modules.mac_service.launchctl(sub_cmd, *args, **kwargs)
132851              Run a launchctl command and raise an error if it fails
132852
132853              Parameters
132854
132855                     · sub_cmd (str) -- Sub command supplied to launchctl
132856
132857                     · args (tuple) -- Tuple containing  additional  arguments
132858                       to pass to launchctl
132859
132860                     · kwargs  (dict)  --  Dictionary  containing arguments to
132861                       pass to cmd.run_all
132862
132863                     · return_stdout (bool) -- A keyword  argument.   If  true
132864                       return the stdout of the launchctl command
132865
132866              Returns
132867                     True  if  successful, raise CommandExecutionError if not,
132868                     or the stdout of the launchctl command if requested
132869
132870              Return type
132871                     bool, str
132872
132873              CLI Example:
132874
132875                 salt '*' service.launchctl debug org.cups.cupsd
132876
132877       salt.modules.mac_service.list_(name=None, runas=None)
132878              Run launchctl list and return the output
132879
132880              Parameters
132881
132882                     · name (str) -- The name of the service to list
132883
132884                     · runas (str) -- User to run launchctl commands
132885
132886              Returns
132887                     If a name is passed returns information about  the  named
132888                     service,  otherwise  returns  a  list of all services and
132889                     pids
132890
132891              Return type
132892                     str
132893
132894              CLI Example:
132895
132896                 salt '*' service.list
132897                 salt '*' service.list org.cups.cupsd
132898
132899       salt.modules.mac_service.missing(name)
132900              The inverse of service.available Check that the given service is
132901              not available.
132902
132903              Parameters
132904                     name (str) -- The name of the service
132905
132906              Returns
132907                     True if the service is not available, otherwise False
132908
132909              Return type
132910                     bool
132911
132912              CLI Example:
132913
132914                 salt '*' service.missing com.openssh.sshd
132915
132916       salt.modules.mac_service.restart(name, runas=None)
132917              Unloads  and  reloads a launchd service.  Raises an error if the
132918              service fails to reload
132919
132920              Parameters
132921
132922                     · name (str) -- Service label, file name, or full path
132923
132924                     · runas (str) -- User to run launchctl commands
132925
132926              Returns
132927                     True if successful
132928
132929              Return type
132930                     bool
132931
132932              CLI Example:
132933
132934                 salt '*' service.restart org.cups.cupsd
132935
132936       salt.modules.mac_service.show(name)
132937              Show properties of a launchctl service
132938
132939              Parameters
132940                     name (str) -- Service label, file name, or full path
132941
132942              Returns
132943                     The service information if the service is found
132944
132945              Return type
132946                     dict
132947
132948              CLI Example:
132949
132950                 salt '*' service.show org.cups.cupsd  # service label
132951                 salt '*' service.show org.cups.cupsd.plist  # file name
132952                 salt '*' service.show /System/Library/LaunchDaemons/org.cups.cupsd.plist  # full path
132953
132954       salt.modules.mac_service.start(name, runas=None)
132955              Start a launchd service.  Raises an error if the  service  fails
132956              to start
132957
132958              NOTE:
132959                 To  start  a  service  in  macOS  the service must be enabled
132960                 first. Use service.enable to enable the service.
132961
132962              Parameters
132963
132964                     · name (str) -- Service label, file name, or full path
132965
132966                     · runas (str) -- User to run launchctl commands
132967
132968              Returns
132969                     True if successful or if the service is already running
132970
132971              Return type
132972                     bool
132973
132974              CLI Example:
132975
132976                 salt '*' service.start org.cups.cupsd
132977
132978       salt.modules.mac_service.status(name, sig=None, runas=None)
132979              Return the status for a service.
132980
132981              Parameters
132982
132983                     · name (str) -- Used to find the service from  launchctl.
132984                       Can  be any part of the service name or a regex expres‐
132985                       sion.
132986
132987                     · sig (str) -- Find the service with status.pid  instead.
132988                       Note that name must still be provided.
132989
132990                     · runas (str) -- User to run launchctl commands
132991
132992              Returns
132993                     The  PID for the service if it is running, or 'loaded' if
132994                     the service should not always have a PID, or otherwise an
132995                     empty string
132996
132997              Return type
132998                     str
132999
133000              CLI Example:
133001
133002                 salt '*' service.status cups
133003
133004       salt.modules.mac_service.stop(name, runas=None)
133005              Stop a launchd service.  Raises an error if the service fails to
133006              stop
133007
133008              NOTE:
133009                 Though service.stop will unload a service in macOS, the  ser‐
133010                 vice  will start on next boot unless it is disabled. Use ser‐
133011                 vice.disable to disable the service
133012
133013              Parameters
133014
133015                     · name (str) -- Service label, file name, or full path
133016
133017                     · runas (str) -- User to run launchctl commands
133018
133019              Returns
133020                     True if successful or if the service is already stopped
133021
133022              Return type
133023                     bool
133024
133025              CLI Example:
133026
133027                 salt '*' service.stop org.cups.cupsd
133028
133029   salt.modules.mac_shadow module
133030       Manage macOS local directory passwords and policies
133031
133032       New in version 2016.3.0.
133033
133034
133035       Note that it is usually better to apply password policies  through  the
133036       creation of a configuration profile.
133037
133038       salt.modules.mac_shadow.del_password(name)
133039              Deletes the account password
133040
133041              Parameters
133042                     name (str) -- The user name of the account
133043
133044              Returns
133045                     True if successful, otherwise False
133046
133047              Return type
133048                     bool
133049
133050              Raises CommandExecutionError  on  user  not  found  or any other
133051                     unknown error
133052
133053              CLI Example:
133054
133055                 salt '*' shadow.del_password username
133056
133057       salt.modules.mac_shadow.get_account_created(name)
133058              Get the date/time the account was created
133059
133060              Parameters
133061                     name (str) -- The username of the account
133062
133063              Returns
133064                     The  date/time  the  account  was   created   (yyyy-mm-dd
133065                     hh:mm:ss)
133066
133067              Return type
133068                     str
133069
133070              Raises CommandExecutionError  on  user  not  found  or any other
133071                     unknown error
133072
133073              CLI Example:
133074
133075                 salt '*' shadow.get_account_created admin
133076
133077       salt.modules.mac_shadow.get_change(name)
133078              Gets the date on which the password expires
133079
133080              Parameters
133081                     name (str) -- The name of the user account
133082
133083              Returns
133084                     The date the password will expire
133085
133086              Return type
133087                     str
133088
133089              Raises CommandExecutionError on user  not  found  or  any  other
133090                     unknown error
133091
133092              CLI Example:
133093
133094                 salt '*' shadow.get_change username
133095
133096       salt.modules.mac_shadow.get_expire(name)
133097              Gets the date on which the account expires
133098
133099              Parameters
133100                     name (str) -- The name of the user account
133101
133102              Returns
133103                     The date the account expires
133104
133105              Return type
133106                     str
133107
133108              Raises CommandExecutionError  on  user  not  found  or any other
133109                     unknown error
133110
133111              CLI Example:
133112
133113                 salt '*' shadow.get_expire username
133114
133115       salt.modules.mac_shadow.get_last_change(name)
133116              Get the date/time the account was changed
133117
133118              Parameters
133119                     name (str) -- The username of the account
133120
133121              Returns
133122                     The  date/time  the  account  was  modified   (yyyy-mm-dd
133123                     hh:mm:ss)
133124
133125              Return type
133126                     str
133127
133128              Raises CommandExecutionError  on  user  not  found  or any other
133129                     unknown error
133130
133131              CLI Example:
133132
133133                 salt '*' shadow.get_last_change admin
133134
133135       salt.modules.mac_shadow.get_login_failed_count(name)
133136              Get the the number of failed login attempts
133137
133138              Parameters
133139                     name (str) -- The username of the account
133140
133141              Returns
133142                     The number of failed login attempts
133143
133144              Return type
133145                     int
133146
133147              Raises CommandExecutionError on user  not  found  or  any  other
133148                     unknown error
133149
133150              CLI Example:
133151
133152                 salt '*' shadow.get_login_failed_count admin
133153
133154       salt.modules.mac_shadow.get_login_failed_last(name)
133155              Get the date/time of the last failed login attempt
133156
133157              Parameters
133158                     name (str) -- The username of the account
133159
133160              Returns
133161                     The  date/time  of  the last failed login attempt on this
133162                     account (yyyy-mm-dd hh:mm:ss)
133163
133164              Return type
133165                     str
133166
133167              Raises CommandExecutionError on user  not  found  or  any  other
133168                     unknown error
133169
133170              CLI Example:
133171
133172                 salt '*' shadow.get_login_failed_last admin
133173
133174       salt.modules.mac_shadow.get_maxdays(name)
133175              Get the maximum age of the password
133176
133177              Parameters
133178                     name (str) -- The username of the account
133179
133180              Returns
133181                     The maximum age of the password in days
133182
133183              Return type
133184                     int
133185
133186              Raises CommandExecutionError  on  user  not  found  or any other
133187                     unknown error
133188
133189              CLI Example:
133190
133191                 salt '*' shadow.get_maxdays admin 90
133192
133193       salt.modules.mac_shadow.info(name)
133194              Return information for the specified user
133195
133196              Parameters
133197                     name (str) -- The username
133198
133199              Returns
133200                     A dictionary containing the user's shadow information
133201
133202              Return type
133203                     dict
133204
133205              CLI Example:
133206
133207                 salt '*' shadow.info admin
133208
133209       salt.modules.mac_shadow.set_change(name, date)
133210              Sets the date on which the password expires. The  user  will  be
133211              required to change their password. Format is mm/dd/yyyy
133212
133213              Parameters
133214
133215                     · name (str) -- The name of the user account
133216
133217                     · date  (date) -- The date the password will expire. Must
133218                       be in mm/dd/yyyy format.
133219
133220              Returns
133221                     True if successful, otherwise False
133222
133223              Return type
133224                     bool
133225
133226              Raises CommandExecutionError on user  not  found  or  any  other
133227                     unknown error
133228
133229              CLI Example:
133230
133231                 salt '*' shadow.set_change username 09/21/2016
133232
133233       salt.modules.mac_shadow.set_expire(name, date)
133234              Sets the date on which the account expires. The user will not be
133235              able to login after this date. Date format is mm/dd/yyyy
133236
133237              Parameters
133238
133239                     · name (str) -- The name of the user account
133240
133241                     · date (datetime) -- The date the  account  will  expire.
133242                       Format must be mm/dd/yyyy.
133243
133244              Returns
133245                     True if successful, False if not
133246
133247              Return type
133248                     bool
133249
133250              Raises CommandExecutionError  on  user  not  found  or any other
133251                     unknown error
133252
133253              CLI Example:
133254
133255                 salt '*' shadow.set_expire username 07/23/2015
133256
133257       salt.modules.mac_shadow.set_inactdays(name, days)
133258              Set the number if inactive days before the  account  is  locked.
133259              Not available in macOS
133260
133261              Parameters
133262
133263                     · name (str) -- The user name
133264
133265                     · days (int) -- The number of days
133266
133267              Returns
133268                     Will  always  return False until macOS supports this fea‐
133269                     ture.
133270
133271              Return type
133272                     bool
133273
133274              CLI Example:
133275
133276                 salt '*' shadow.set_inactdays admin 90
133277
133278       salt.modules.mac_shadow.set_maxdays(name, days)
133279              Set the maximum age of the password in days
133280
133281              Parameters
133282
133283                     · name (str) -- The username of the account
133284
133285                     · days (int) -- The maximum age of the account in days
133286
133287              Returns
133288                     True if successful, False if not
133289
133290              Return type
133291                     bool
133292
133293              Raises CommandExecutionError on user  not  found  or  any  other
133294                     unknown error
133295
133296              CLI Example:
133297
133298                 salt '*' shadow.set_maxdays admin 90
133299
133300       salt.modules.mac_shadow.set_mindays(name, days)
133301              Set the minimum password age in days. Not available in macOS.
133302
133303              Parameters
133304
133305                     · name (str) -- The user name
133306
133307                     · days (int) -- The number of days
133308
133309              Returns
133310                     Will  always  return False until macOS supports this fea‐
133311                     ture.
133312
133313              Return type
133314                     bool
133315
133316              CLI Example:
133317
133318                 salt '*' shadow.set_mindays admin 90
133319
133320       salt.modules.mac_shadow.set_password(name, password)
133321              Set the password for a named user (insecure, the  password  will
133322              be in the process list while the command is running)
133323
133324              Parameters
133325
133326                     · name  (str)  --  The  name  of the local user, which is
133327                       assumed to be in the local directory service
133328
133329                     · password (str) -- The plaintext password to set
133330
133331              Returns
133332                     True if successful, otherwise False
133333
133334              Return type
133335                     bool
133336
133337              Raises CommandExecutionError on user  not  found  or  any  other
133338                     unknown error
133339
133340              CLI Example:
133341
133342                 salt '*' mac_shadow.set_password macuser macpassword
133343
133344       salt.modules.mac_shadow.set_warndays(name, days)
133345              Set the number of days before the password expires that the user
133346              will start to see a warning. Not available in macOS
133347
133348              Parameters
133349
133350                     · name (str) -- The user name
133351
133352                     · days (int) -- The number of days
133353
133354              Returns
133355                     Will always return False until macOS supports  this  fea‐
133356                     ture.
133357
133358              Return type
133359                     bool
133360
133361              CLI Example:
133362
133363                 salt '*' shadow.set_warndays admin 90
133364
133365   salt.modules.mac_softwareupdate module
133366       Support for the softwareupdate command on MacOS.
133367
133368       salt.modules.mac_softwareupdate.download(name)
133369              Download  a  named update so that it can be installed later with
133370              the update or update_all functions
133371
133372              Parameters
133373                     name (str) -- The update to download.
133374
133375              Returns
133376                     True if successful, otherwise False
133377
133378              Return type
133379                     bool
133380
133381              CLI Example:
133382
133383                 salt '*' softwareupdate.download <update name>
133384
133385       salt.modules.mac_softwareupdate.download_all(recommended=False,
133386       restart=True)
133387              Download  all  available  updates  so that they can be installed
133388              later with the update or update_all functions. It returns a list
133389              of updates that are now downloaded.
133390
133391              Parameters
133392
133393                     · recommended  (bool) -- If set to True, only install the
133394                       recommended updates. If  set  to  False  (default)  all
133395                       updates are installed.
133396
133397                     · restart  (bool) -- Set this to False if you do not want
133398                       to install updates that require a restart.  Default  is
133399                       True
133400
133401              Returns
133402                     A list containing all downloaded updates on the system.
133403
133404              Return type
133405                     list
133406
133407              CLI Example:
133408
133409                 salt '*' softwareupdate.download_all
133410
133411       salt.modules.mac_softwareupdate.get_catalog()
133412              New in version 2016.3.0.
133413
133414
133415              Get  the  current  catalog  being  used for update lookups. Will
133416              return a url if a custom catalog has been  specified.  Otherwise
133417              the word 'Default' will be returned
133418
133419              Returns
133420                     The catalog being used for update lookups
133421
133422              Return type
133423                     str
133424
133425              CLI Example:
133426
133427                 salt '*' softwareupdates.get_catalog
133428
133429       salt.modules.mac_softwareupdate.ignore(name)
133430              Ignore  a specific program update. When an update is ignored the
133431              '-'  and  version  number  at  the  end  will  be  omitted,   so
133432              "SecUpd2014-001-1.0"   becomes   "SecUpd2014-001".  It  will  be
133433              removed automatically if  present.  An  update  is  successfully
133434              ignored when it no longer shows up after list_updates.
133435
133436              Parameters
133437                     name -- The name of the update to add to the ignore list.
133438
133439              Ptype  str
133440
133441              Returns
133442                     True if successful, False if not
133443
133444              Return type
133445                     bool
133446
133447              CLI Example:
133448
133449                 salt '*' softwareupdate.ignore <update-name>
133450
133451       salt.modules.mac_softwareupdate.list_available(recommended=False,
133452       restart=False)
133453              List all available updates.
133454
133455              Parameters
133456
133457                     · recommended (bool) -- Show only recommended updates.
133458
133459                     · restart (bool) -- Show  only  updates  that  require  a
133460                       restart.
133461
133462              Returns
133463                     Returns a dictionary containing the updates
133464
133465              Return type
133466                     dict
133467
133468              CLI Example:
133469
133470                 salt '*' softwareupdate.list_available
133471
133472       salt.modules.mac_softwareupdate.list_downloads()
133473              Return a list of all updates that have been downloaded locally.
133474
133475              Returns
133476                     A list of updates that have been downloaded
133477
133478              Return type
133479                     list
133480
133481              CLI Example:
133482
133483                 salt '*' softwareupdate.list_downloads
133484
133485       salt.modules.mac_softwareupdate.list_ignored()
133486              List  all  updates  that  have been ignored. Ignored updates are
133487              shown without the '-' and version number at the end, this is how
133488              the softwareupdate command works.
133489
133490              Returns
133491                     The list of ignored updates
133492
133493              Return type
133494                     list
133495
133496              CLI Example:
133497
133498                 salt '*' softwareupdate.list_ignored
133499
133500       salt.modules.mac_softwareupdate.reset_catalog()
133501              New in version 2016.3.0.
133502
133503
133504              Reset the Software Update Catalog to the default.
133505
133506              Returns
133507                     True if successful, False if not
133508
133509              Return type
133510                     bool
133511
133512              CLI Example:
133513
133514                 salt '*' softwareupdates.reset_catalog
133515
133516       salt.modules.mac_softwareupdate.reset_ignored()
133517              Make sure the ignored updates are not ignored anymore, returns a
133518              list of the updates that are no longer ignored.
133519
133520              Returns
133521                     True if the list was reset, Otherwise False
133522
133523              Return type
133524                     bool
133525
133526              CLI Example:
133527
133528                 salt '*' softwareupdate.reset_ignored
133529
133530       salt.modules.mac_softwareupdate.schedule_enable(enable)
133531              Enable/disable automatic update scheduling.
133532
133533              Parameters
133534                     enable -- True/On/Yes/1 to  turn  on  automatic  updates.
133535                     False/No/Off/0  to  turn  off  automatic updates. If this
133536                     value is empty, the current status will be returned.
133537
133538              Type   bool str
133539
133540              Returns
133541                     True if scheduling is enabled, False if disabled
133542
133543              Return type
133544                     bool
133545
133546              CLI Example:
133547
133548                 salt '*' softwareupdate.schedule_enable on|off
133549
133550       salt.modules.mac_softwareupdate.schedule_enabled()
133551              Check the status of automatic update scheduling.
133552
133553              Returns
133554                     True if scheduling is enabled, False if disabled
133555
133556              Return type
133557                     bool
133558
133559              CLI Example:
133560
133561                 salt '*' softwareupdate.schedule_enabled
133562
133563       salt.modules.mac_softwareupdate.set_catalog(url)
133564              New in version 2016.3.0.
133565
133566
133567              Set the Software Update Catalog to the URL specified
133568
133569              Parameters
133570                     url (str) -- The url to the update catalog
133571
133572              Returns
133573                     True if successful, False if not
133574
133575              Return type
133576                     bool
133577
133578              CLI Example:
133579
133580                 salt '*' softwareupdates.set_catalog http://swupd.local:8888/index.sucatalog
133581
133582       salt.modules.mac_softwareupdate.update(name)
133583              Install a named update.
133584
133585              Parameters
133586                     name (str) -- The name of the of the update to install.
133587
133588              Returns
133589                     True if successfully updated, otherwise False
133590
133591              Return type
133592                     bool
133593
133594              CLI Example:
133595
133596                 salt '*' softwareupdate.update <update-name>
133597
133598       salt.modules.mac_softwareupdate.update_all(recommended=False,
133599       restart=True)
133600              Install  all  available updates. Returns a dictionary containing
133601              the name of the update and the status of its installation.
133602
133603              Parameters
133604
133605                     · recommended (bool) -- If set to True, only install  the
133606                       recommended  updates.  If  set  to  False (default) all
133607                       updates are installed.
133608
133609                     · restart (bool) -- Set this to False if you do not  want
133610                       to  install  updates that require a restart. Default is
133611                       True
133612
133613              Returns
133614                     A dictionary containing the updates that  were  installed
133615                     and  the  status  of its installation. If no updates were
133616                     installed an empty dictionary is returned.
133617
133618              Return type
133619                     dict
133620
133621              CLI Example:
133622
133623                 salt '*' softwareupdate.update_all
133624
133625       salt.modules.mac_softwareupdate.update_available(name)
133626              Check whether or not an update is available with a given name.
133627
133628              Parameters
133629                     name (str) -- The name of the update to look for
133630
133631              Returns
133632                     True if available, False if not
133633
133634              Return type
133635                     bool
133636
133637              CLI Example:
133638
133639                 salt '*' softwareupdate.update_available <update-name>
133640                 salt '*' softwareupdate.update_available "<update with whitespace>"
133641
133642   salt.modules.mac_sysctl module
133643       Module for viewing and modifying sysctl parameters
133644
133645       salt.modules.mac_sysctl.assign(name, value)
133646              Assign a single sysctl parameter for this minion
133647
133648              name   The name of the sysctl value to edit.
133649
133650              value  The sysctl value to apply.
133651
133652              CLI Example:
133653
133654                 salt '*' sysctl.assign net.inet.icmp.icmplim 50
133655
133656       salt.modules.mac_sysctl.get(name)
133657              Return a single sysctl parameter for this minion
133658
133659              name   The name of the sysctl value to display.
133660
133661              CLI Example:
133662
133663                 salt '*' sysctl.get hw.physmem
133664
133665       salt.modules.mac_sysctl.persist(name,            value,            con‐
133666       fig=u'/etc/sysctl.conf', apply_change=False)
133667              Assign and persist a simple sysctl parameter for this minion
133668
133669              name   The name of the sysctl value to edit.
133670
133671              value  The sysctl value to apply.
133672
133673              config The location of the sysctl configuration file.
133674
133675              apply_change
133676                     Default  is False; Default behavior only creates or edits
133677                     the sysctl.conf file.  If  apply  is  set  to  True,  the
133678                     changes are applied to the system.
133679
133680              CLI Example:
133681
133682                 salt '*' sysctl.persist net.inet.icmp.icmplim 50
133683                 salt '*' sysctl.persist coretemp_load NO config=/etc/sysctl.conf
133684
133685       salt.modules.mac_sysctl.show(config_file=False)
133686              Return a list of sysctl parameters for this minion
133687
133688              CLI Example:
133689
133690                 salt '*' sysctl.show
133691
133692   salt.modules.mac_system module
133693       System module for sleeping, restarting, and shutting down the system on
133694       Mac OS X
133695
133696       New in version 2016.3.0.
133697
133698
133699       WARNING:
133700          Using this module will enable atrun on the system if it is disabled.
133701
133702       salt.modules.mac_system.get_boot_arch()
133703              Get the kernel architecture setting from com.apple.Boot.plist
133704
133705              Returns
133706                     A string value representing the boot architecture setting
133707
133708              Return type
133709                     str
133710
133711              CLI Example:
133712
133713                 salt '*' system.get_boot_arch
133714
133715       salt.modules.mac_system.get_computer_name()
133716              Gets the computer name
133717
133718              Returns
133719                     The computer name
133720
133721              Return type
133722                     str
133723
133724              CLI Example:
133725
133726                 salt '*' system.get_computer_name
133727
133728       salt.modules.mac_system.get_disable_keyboard_on_lock()
133729              Get whether or not the keyboard should be disabled  when  the  X
133730              Serve enclosure lock is engaged.
133731
133732              Returns
133733                     True if disable keyboard on lock is on, False if off
133734
133735              Return type
133736                     bool
133737
133738              CLI Example:
133739
133740              ..code-block:: bash
133741                 salt '*' system.get_disable_keyboard_on_lock
133742
133743       salt.modules.mac_system.get_remote_events()
133744              Displays whether remote apple events are on or off.
133745
133746              Returns
133747                     True if remote apple events are on, False if off
133748
133749              Return type
133750                     bool
133751
133752              CLI Example:
133753
133754                 salt '*' system.get_remote_events
133755
133756       salt.modules.mac_system.get_remote_login()
133757              Displays whether remote login (SSH) is on or off.
133758
133759              Returns
133760                     True if remote login is on, False if off
133761
133762              Return type
133763                     bool
133764
133765              CLI Example:
133766
133767                 salt '*' system.get_remote_login
133768
133769       salt.modules.mac_system.get_restart_delay()
133770              Get the number of seconds after which the computer will start up
133771              after a power failure.
133772
133773              Returns
133774                     A string value representing the  number  of  seconds  the
133775                     system will delay restart after power loss
133776
133777              Return type
133778                     str
133779
133780              CLI Example:
133781
133782                 salt '*' system.get_restart_delay
133783
133784       salt.modules.mac_system.get_startup_disk()
133785              Displays the current startup disk
133786
133787              Returns
133788                     The current startup disk
133789
133790              Return type
133791                     str
133792
133793              CLI Example:
133794
133795                 salt '*' system.get_startup_disk
133796
133797       salt.modules.mac_system.get_subnet_name()
133798              Gets the local subnet name
133799
133800              Returns
133801                     The local subnet name
133802
133803              Return type
133804                     str
133805
133806              CLI Example:
133807
133808                 salt '*' system.get_subnet_name
133809
133810       salt.modules.mac_system.halt(at_time=None)
133811              Halt a running system
133812
133813              Parameters
133814                     at_time (str) --
133815
133816                     Any  valid  at  expression.  For  example,  some valid at
133817                     expressions could be:
133818
133819                     · noon
133820
133821                     · midnight
133822
133823                     · fri
133824
133825                     · 9:00 AM
133826
133827                     · 2:30 PM tomorrow
133828
133829                     · now + 10 minutes
133830
133831
133832              NOTE:
133833                 If you pass a time only, with  no  'AM/PM'  designation,  you
133834                 have  to  double quote the parameter on the command line. For
133835                 example: '"14:00"'
133836
133837              CLI Example:
133838
133839                 salt '*' system.halt
133840                 salt '*' system.halt 'now + 10 minutes'
133841
133842       salt.modules.mac_system.list_startup_disks()
133843              List all valid startup disks on the system.
133844
133845              Returns
133846                     A list of valid startup disks
133847
133848              Return type
133849                     list
133850
133851              CLI Example:
133852
133853                 salt '*' system.list_startup_disks
133854
133855       salt.modules.mac_system.restart(at_time=None)
133856              Restart the system
133857
133858              Parameters
133859                     at_time (str) --
133860
133861                     Any valid at  expression.  For  example,  some  valid  at
133862                     expressions could be:
133863
133864                     · noon
133865
133866                     · midnight
133867
133868                     · fri
133869
133870                     · 9:00 AM
133871
133872                     · 2:30 PM tomorrow
133873
133874                     · now + 10 minutes
133875
133876
133877              NOTE:
133878                 If  you  pass  a  time only, with no 'AM/PM' designation, you
133879                 have to double quote the parameter on the command  line.  For
133880                 example: '"14:00"'
133881
133882              CLI Example:
133883
133884                 salt '*' system.restart
133885                 salt '*' system.restart '12:00 PM fri'
133886
133887       salt.modules.mac_system.set_boot_arch(arch=u'default')
133888              Set the kernel to boot in 32 or 64 bit mode on next boot.
133889
133890              NOTE:
133891                 When  this  function  fails  with the error changes to kernel
133892                 architecture failed to save!,  then  the  boot  arch  is  not
133893                 updated.   This  is either an Apple bug, not available on the
133894                 test system, or a result of system files being locked down in
133895                 macOS (SIP Protection).
133896
133897              Parameters
133898                     arch (str) --
133899
133900                     A  string  representing  the  desired architecture. If no
133901                     value  is  passed,  default  is  assumed.  Valid   values
133902                     include:
133903
133904                     · i386
133905
133906                     · x86_64
133907
133908                     · default
133909
133910
133911              Returns
133912                     True if successful, False if not
133913
133914              Return type
133915                     bool
133916
133917              CLI Example:
133918
133919                 salt '*' system.set_boot_arch i386
133920
133921       salt.modules.mac_system.set_computer_name(name)
133922              Set the computer name
133923
133924              Parameters
133925                     name (str) -- The new computer name
133926
133927              Returns
133928                     True if successful, False if not
133929
133930              Return type
133931                     bool
133932
133933              CLI Example:
133934
133935                 salt '*' system.set_computer_name "Mike's Mac"
133936
133937       salt.modules.mac_system.set_disable_keyboard_on_lock(enable)
133938              Get  whether  or  not the keyboard should be disabled when the X
133939              Serve enclosure lock is engaged.
133940
133941              Parameters
133942                     enable (bool) -- True to enable, False to  disable.  "On"
133943                     and  "Off"  are  also acceptable values. Additionally you
133944                     can pass 1 and 0 to represent True and False respectively
133945
133946              Returns
133947                     True if successful, False if not
133948
133949              Return type
133950                     bool
133951
133952              CLI Example:
133953
133954                 salt '*' system.set_disable_keyboard_on_lock False
133955
133956       salt.modules.mac_system.set_remote_events(enable)
133957              Set whether the server responds to events sent by other  comput‐
133958              ers (such as AppleScripts)
133959
133960              Parameters
133961                     enable  (bool)  -- True to enable, False to disable. "On"
133962                     and "Off" are also acceptable  values.  Additionally  you
133963                     can pass 1 and 0 to represent True and False respectively
133964
133965              Returns
133966                     True if successful, False if not
133967
133968              Return type
133969                     bool
133970
133971              CLI Example:
133972
133973                 salt '*' system.set_remote_events On
133974
133975       salt.modules.mac_system.set_remote_login(enable)
133976              Set the remote login (SSH) to either on or off.
133977
133978              Parameters
133979                     enable  (bool)  -- True to enable, False to disable. "On"
133980                     and "Off" are also acceptable  values.  Additionally  you
133981                     can pass 1 and 0 to represent True and False respectively
133982
133983              Returns
133984                     True if successful, False if not
133985
133986              Return type
133987                     bool
133988
133989              CLI Example:
133990
133991                 salt '*' system.set_remote_login True
133992
133993       salt.modules.mac_system.set_restart_delay(seconds)
133994              Set the number of seconds after which the computer will start up
133995              after a power failure.
133996
133997              WARNING:
133998                 This command fails with the following error:
133999
134000                 Error, IOServiceOpen returned 0x10000003
134001
134002                 The setting is not updated. This is an apple  bug.  It  seems
134003                 like  it  may  only work on certain versions of Mac Server X.
134004                 This article explains the issue in more detail, though it  is
134005                 quite old.
134006
134007                 http://lists.apple.com/archives/macos-x-server/2006/Jul/msg00967.html
134008
134009              Parameters
134010                     seconds (int) -- The number of seconds. Must be a  multi‐
134011                     ple of 30
134012
134013              Returns
134014                     True if successful, False if not
134015
134016              Return type
134017                     bool
134018
134019              CLI Example:
134020
134021                 salt '*' system.set_restart_delay 180
134022
134023       salt.modules.mac_system.set_startup_disk(path)
134024              Set  the  current  startup  disk to the indicated path. Use sys‐
134025              tem.list_startup_disks to find valid startup disks on  the  sys‐
134026              tem.
134027
134028              Parameters
134029                     path (str) -- The valid startup disk path
134030
134031              Returns
134032                     True if successful, False if not
134033
134034              Return type
134035                     bool
134036
134037              CLI Example:
134038
134039                 salt '*' system.set_startup_disk /System/Library/CoreServices
134040
134041       salt.modules.mac_system.set_subnet_name(name)
134042              Set the local subnet name
134043
134044              Parameters
134045                     name (str) -- The new local subnet name
134046
134047              NOTE:
134048                 Spaces  are  changed  to dashes. Other special characters are
134049                 removed.
134050
134051              Returns
134052                     True if successful, False if not
134053
134054              Return type
134055                     bool
134056
134057              CLI Example:
134058
134059                 The following will be set as 'Mikes-Mac'
134060                 salt '*' system.set_subnet_name "Mike's Mac"
134061
134062       salt.modules.mac_system.shutdown(at_time=None)
134063              Shutdown the system
134064
134065              Parameters
134066                     at_time (str) --
134067
134068                     Any valid at  expression.  For  example,  some  valid  at
134069                     expressions could be:
134070
134071                     · noon
134072
134073                     · midnight
134074
134075                     · fri
134076
134077                     · 9:00 AM
134078
134079                     · 2:30 PM tomorrow
134080
134081                     · now + 10 minutes
134082
134083
134084              NOTE:
134085                 If  you  pass  a  time only, with no 'AM/PM' designation, you
134086                 have to double quote the parameter on the command  line.  For
134087                 example: '"14:00"'
134088
134089              CLI Example:
134090
134091                 salt '*' system.shutdown
134092                 salt '*' system.shutdown 'now + 1 hour'
134093
134094       salt.modules.mac_system.sleep(at_time=None)
134095              Sleep  the  system.  If  a  user is active on the system it will
134096              likely fail to sleep.
134097
134098              Parameters
134099                     at_time (str) --
134100
134101                     Any valid at  expression.  For  example,  some  valid  at
134102                     expressions could be:
134103
134104                     · noon
134105
134106                     · midnight
134107
134108                     · fri
134109
134110                     · 9:00 AM
134111
134112                     · 2:30 PM tomorrow
134113
134114                     · now + 10 minutes
134115
134116
134117              NOTE:
134118                 If  you  pass  a  time only, with no 'AM/PM' designation, you
134119                 have to double quote the parameter on the command  line.  For
134120                 example: '"14:00"'
134121
134122              CLI Example:
134123
134124                 salt '*' system.sleep
134125                 salt '*' system.sleep '10:00 PM'
134126
134127   salt.modules.mac_timezone module
134128       Module for editing date/time settings on macOS
134129          New in version 2016.3.0.
134130
134131
134132       salt.modules.mac_timezone.get_date()
134133              Displays the current date
134134
134135              Returns
134136                     the system date
134137
134138              Return type
134139                     str
134140
134141              CLI Example:
134142
134143                 salt '*' timezone.get_date
134144
134145       salt.modules.mac_timezone.get_hwclock()
134146              Get current hardware clock setting (UTC or localtime)
134147
134148              CLI Example:
134149
134150                 salt '*' timezone.get_hwclock
134151
134152       salt.modules.mac_timezone.get_offset()
134153              Displays the current time zone offset
134154
134155              Returns
134156                     The current time zone offset
134157
134158              Return type
134159                     str
134160
134161              CLI Example:
134162
134163                 salt '*' timezone.get_offset
134164
134165       salt.modules.mac_timezone.get_time()
134166              Get the current system time.
134167
134168              Returns
134169                     The current time in 24 hour format
134170
134171              Return type
134172                     str
134173
134174              CLI Example:
134175
134176                 salt '*' timezone.get_time
134177
134178       salt.modules.mac_timezone.get_time_server()
134179              Display the currently set network time server.
134180
134181              Returns
134182                     the network time server
134183
134184              Return type
134185                     str
134186
134187              CLI Example:
134188
134189                 salt '*' timezone.get_time_server
134190
134191       salt.modules.mac_timezone.get_using_network_time()
134192              Display whether network time is on or off
134193
134194              Returns
134195                     True if network time is on, False if off
134196
134197              Return type
134198                     bool
134199
134200              CLI Example:
134201
134202                 salt '*' timezone.get_using_network_time
134203
134204       salt.modules.mac_timezone.get_zone()
134205              Displays the current time zone
134206
134207              Returns
134208                     The current time zone
134209
134210              Return type
134211                     str
134212
134213              CLI Example:
134214
134215                 salt '*' timezone.get_zone
134216
134217       salt.modules.mac_timezone.get_zonecode()
134218              Displays the current time zone abbreviated code
134219
134220              Returns
134221                     The current time zone code
134222
134223              Return type
134224                     str
134225
134226              CLI Example:
134227
134228                 salt '*' timezone.get_zonecode
134229
134230       salt.modules.mac_timezone.list_zones()
134231              Displays a list of available time zones. Use this list when set‐
134232              ting a time zone using timezone.set_zone
134233
134234              Returns
134235                     a list of time zones
134236
134237              Return type
134238                     list
134239
134240              CLI Example:
134241
134242                 salt '*' timezone.list_zones
134243
134244       salt.modules.mac_timezone.set_date(date)
134245              Set the current month, day, and year
134246
134247              Parameters
134248                     date (str) --
134249
134250                     The date to set. Valid date formats are:
134251
134252                     · %m:%d:%y
134253
134254                     · %m:%d:%Y
134255
134256                     · %m/%d/%y
134257
134258                     · %m/%d/%Y
134259
134260
134261              Returns
134262                     True if successful, False if not
134263
134264              Return type
134265                     bool
134266
134267              Raises SaltInvocationError on Invalid Date format
134268
134269              Raises CommandExecutionError on failure
134270
134271              CLI Example:
134272
134273                 salt '*' timezone.set_date 1/13/2016
134274
134275       salt.modules.mac_timezone.set_hwclock(clock)
134276              Sets the hardware clock to be either UTC or localtime
134277
134278              CLI Example:
134279
134280                 salt '*' timezone.set_hwclock UTC
134281
134282       salt.modules.mac_timezone.set_time(time)
134283              Sets the current time. Must be in 24 hour format.
134284
134285              Parameters
134286                     time (str) -- The time to set in  24  hour  format.   The
134287                     value must be double quoted. ie: '"17:46"'
134288
134289              Returns
134290                     True if successful, False if not
134291
134292              Return type
134293                     bool
134294
134295              Raises SaltInvocationError on Invalid Time format
134296
134297              Raises CommandExecutionError on failure
134298
134299              CLI Example:
134300
134301                 salt '*' timezone.set_time '"17:34"'
134302
134303       salt.modules.mac_time‐
134304       zone.set_time_server(time_server=u'time.apple.com')
134305              Designates a network time server. Enter the IP  address  or  DNS
134306              name for the network time server.
134307
134308              Parameters
134309                     time_server -- IP or DNS name of the network time server.
134310                     If nothing is passed the time server will be set  to  the
134311                     macOS default of 'time.apple.com'
134312
134313              Type   str
134314
134315              Returns
134316                     True if successful, False if not
134317
134318              Return type
134319                     bool
134320
134321              Raises CommandExecutionError on failure
134322
134323              CLI Example:
134324
134325                 salt '*' timezone.set_time_server time.acme.com
134326
134327       salt.modules.mac_timezone.set_using_network_time(enable)
134328              Set whether network time is on or off.
134329
134330              Parameters
134331                     enable  -- True to enable, False to disable. Can also use
134332                     'on' or 'off'
134333
134334              Type   str bool
134335
134336              Returns
134337                     True if successful, False if not
134338
134339              Return type
134340                     bool
134341
134342              Raises CommandExecutionError on failure
134343
134344              CLI Example:
134345
134346                 salt '*' timezone.set_using_network_time True
134347
134348       salt.modules.mac_timezone.set_zone(time_zone)
134349              Set the local time zone. Use timezone.list_zones to  list  valid
134350              time_zone arguments
134351
134352              Parameters
134353                     time_zone (str) -- The time zone to apply
134354
134355              Returns
134356                     True if successful, False if not
134357
134358              Return type
134359                     bool
134360
134361              Raises SaltInvocationError on Invalid Timezone
134362
134363              Raises CommandExecutionError on failure
134364
134365              CLI Example:
134366
134367                 salt '*' timezone.set_zone America/Denver
134368
134369       salt.modules.mac_timezone.zone_compare(time_zone)
134370              Compares the given timezone name with the system timezone name.
134371
134372              Returns
134373                     True if they are the same, False if not
134374
134375              Return type
134376                     bool
134377
134378              CLI Example:
134379
134380                 salt '*' timezone.zone_compare America/Boise
134381
134382   salt.modules.mac_user
134383       Manage users on Mac OS 10.7+
134384
134385       IMPORTANT:
134386          If you feel that Salt should be using this module to manage users on
134387          a minion, and it is using a different module (or gives an error sim‐
134388          ilar to 'user.info' is not available), see here.
134389
134390       salt.modules.mac_user.add(name,    uid=None,   gid=None,   groups=None,
134391       home=None, shell=None, fullname=None, createhome=True, **kwargs)
134392              Add a user to the minion
134393
134394              CLI Example:
134395
134396                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
134397
134398       salt.modules.mac_user.chfullname(name, fullname)
134399              Change the user's Full Name
134400
134401              CLI Example:
134402
134403                 salt '*' user.chfullname foo 'Foo Bar'
134404
134405       salt.modules.mac_user.chgid(name, gid)
134406              Change the default group of the user
134407
134408              CLI Example:
134409
134410                 salt '*' user.chgid foo 4376
134411
134412       salt.modules.mac_user.chgroups(name, groups, append=False)
134413              Change the groups to which  the  user  belongs.  Note  that  the
134414              user's  primary  group  does  not  have  to be one of the groups
134415              passed, membership in the user's primary group is  automatically
134416              assumed.
134417
134418              groups Groups  to  which  the  user should belong, can be passed
134419                     either as a python list or a comma-separated string
134420
134421              append Instead of removing user from groups not included in  the
134422                     groups  parameter,  just add user to any groups for which
134423                     they are not members
134424
134425              CLI Example:
134426
134427                 salt '*' user.chgroups foo wheel,root
134428
134429       salt.modules.mac_user.chhome(name, home, **kwargs)
134430              Change the home directory of the user
134431
134432              CLI Example:
134433
134434                 salt '*' user.chhome foo /Users/foo
134435
134436       salt.modules.mac_user.chshell(name, shell)
134437              Change the default shell of the user
134438
134439              CLI Example:
134440
134441                 salt '*' user.chshell foo /bin/zsh
134442
134443       salt.modules.mac_user.chuid(name, uid)
134444              Change the uid for a named user
134445
134446              CLI Example:
134447
134448                 salt '*' user.chuid foo 4376
134449
134450       salt.modules.mac_user.delete(name, remove=False, force=False)
134451              Remove a user from the minion
134452
134453              CLI Example:
134454
134455                 salt '*' user.delete name remove=True force=True
134456
134457       salt.modules.mac_user.disable_auto_login()
134458              New in version 2016.3.0.
134459
134460
134461              Disables auto login on the machine
134462
134463              Returns
134464                     True if successful, otherwise False
134465
134466              Return type
134467                     bool
134468
134469              CLI Example:
134470
134471                 salt '*' user.disable_auto_login
134472
134473       salt.modules.mac_user.enable_auto_login(name, password)
134474              New in version 2016.3.0.
134475
134476
134477              Configures the machine to auto login with the specified user
134478
134479              Parameters
134480
134481                     · name (str) -- The user account use for auto login
134482
134483                     · password (str) --
134484
134485                       The password to user for auto login
134486
134487                       New in version 2017.7.3.
134488
134489
134490
134491              Returns
134492                     True if successful, otherwise False
134493
134494              Return type
134495                     bool
134496
134497              CLI Example:
134498
134499                 salt '*' user.enable_auto_login stevej
134500
134501       salt.modules.mac_user.get_auto_login()
134502              New in version 2016.3.0.
134503
134504
134505              Gets the current setting for Auto Login
134506
134507              Returns
134508                     If enabled, returns  the  user  name,  otherwise  returns
134509                     False
134510
134511              Return type
134512                     str, bool
134513
134514              CLI Example:
134515
134516                 salt '*' user.get_auto_login
134517
134518       salt.modules.mac_user.getent(refresh=False)
134519              Return the list of all info for all users
134520
134521              CLI Example:
134522
134523                 salt '*' user.getent
134524
134525       salt.modules.mac_user.info(name)
134526              Return user information
134527
134528              CLI Example:
134529
134530                 salt '*' user.info root
134531
134532       salt.modules.mac_user.list_groups(name)
134533              Return a list of groups the named user belongs to.
134534
134535              name
134536                 The  name  of  the user for which to list groups. Starting in
134537                 Salt 2016.11.0, all groups for  the  user,  including  groups
134538                 beginning with an underscore will be listed.
134539
134540                 Changed in version 2016.11.0.
134541
134542
134543              CLI Example:
134544
134545                 salt '*' user.list_groups foo
134546
134547       salt.modules.mac_user.list_users()
134548              Return a list of all users
134549
134550              CLI Example:
134551
134552                 salt '*' user.list_users
134553
134554       salt.modules.mac_user.primary_group(name)
134555              Return the primary group of the named user
134556
134557              New in version 2016.3.0.
134558
134559
134560              CLI Example:
134561
134562                 salt '*' user.primary_group saltadmin
134563
134564       salt.modules.mac_user.rename(name, new_name)
134565              Change the username for a named user
134566
134567              CLI Example:
134568
134569                 salt '*' user.rename name new_name
134570
134571   salt.modules.mac_xattr module
134572       This module allows you to manage extended attributes on files or direc‐
134573       tories
134574
134575          salt '*' xattr.list /path/to/file
134576
134577       salt.modules.mac_xattr.clear(path)
134578              Causes the all attributes on the file/directory to be removed
134579
134580              Parameters
134581                     path (str) -- The file(s) to get attributes from
134582
134583              Returns
134584                     True if successful, otherwise False
134585
134586              Raises CommandExecutionError on file  not  found  or  any  other
134587                     unknown error
134588
134589              CLI Example:
134590
134591                 salt '*' xattr.delete /path/to/file "com.test.attr"
134592
134593       salt.modules.mac_xattr.delete(path, attribute)
134594              Removes the given attribute from the file
134595
134596              Parameters
134597
134598                     · path (str) -- The file(s) to get attributes from
134599
134600                     · attribute  (str)  --  The  attribute name to be deleted
134601                       from the file/directory
134602
134603              Returns
134604                     True if successful, otherwise False
134605
134606              Return type
134607                     bool
134608
134609              Raises CommandExecutionError on file not  found,  attribute  not
134610                     found, and any other unknown error
134611
134612              CLI Example:
134613
134614                 salt '*' xattr.delete /path/to/file "com.test.attr"
134615
134616       salt.modules.mac_xattr.list_(path, **kwargs)
134617              List all of the extended attributes on the given file/directory
134618
134619              Parameters
134620
134621                     · path (str) -- The file(s) to get attributes from
134622
134623                     · hex (bool) -- Return the values with forced hexadecimal
134624                       values
134625
134626              Returns
134627                     A dictionary containing extended  attributes  and  values
134628                     for the given file
134629
134630              Return type
134631                     dict
134632
134633              Raises CommandExecutionError  on  file  not  found  or any other
134634                     unknown error
134635
134636              CLI Example:
134637
134638                 salt '*' xattr.list /path/to/file
134639                 salt '*' xattr.list /path/to/file hex=True
134640
134641       salt.modules.mac_xattr.read(path, attribute, **kwargs)
134642              Read the given attributes on the given file/directory
134643
134644              Parameters
134645
134646                     · path (str) -- The file to get attributes from
134647
134648                     · attribute (str) -- The attribute to read
134649
134650                     · hex (bool) -- Return the values with forced hexadecimal
134651                       values
134652
134653              Returns
134654                     A string containing the value of the named attribute
134655
134656              Return type
134657                     str
134658
134659              Raises CommandExecutionError  on  file  not found, attribute not
134660                     found, and any other unknown error
134661
134662              CLI Example:
134663
134664                 salt '*' xattr.read /path/to/file com.test.attr
134665                 salt '*' xattr.read /path/to/file com.test.attr hex=True
134666
134667       salt.modules.mac_xattr.write(path, attribute, value, **kwargs)
134668              Causes the given attribute name to be assigned the given value
134669
134670              Parameters
134671
134672                     · path (str) -- The file(s) to get attributes from
134673
134674                     · attribute (str) -- The attribute name to be written  to
134675                       the file/directory
134676
134677                     · value  (str)  --  The  value  to  assign  to  the given
134678                       attribute
134679
134680                     · hex (bool) -- Set the values  with  forced  hexadecimal
134681                       values
134682
134683              Returns
134684                     True if successful, otherwise False
134685
134686              Return type
134687                     bool
134688
134689              Raises CommandExecutionError  on  file  not  found  or any other
134690                     unknown error
134691
134692              CLI Example:
134693
134694                 salt '*' xattr.write /path/to/file "com.test.attr" "value"
134695
134696   salt.modules.makeconf
134697       Support for modifying make.conf under Gentoo
134698
134699       salt.modules.makeconf.append_cflags(value)
134700              Add to or create a new CFLAGS in the make.conf
134701
134702              Return a dict containing the new value for variable:
134703
134704                 {'<variable>': {'old': '<old-value>',
134705                                 'new': '<new-value>'}}
134706
134707              CLI Example:
134708
134709                 salt '*' makeconf.append_cflags '-pipe'
134710
134711       salt.modules.makeconf.append_cxxflags(value)
134712              Add to or create a new CXXFLAGS in the make.conf
134713
134714              Return a dict containing the new value for variable:
134715
134716                 {'<variable>': {'old': '<old-value>',
134717                                 'new': '<new-value>'}}
134718
134719              CLI Example:
134720
134721                 salt '*' makeconf.append_cxxflags '-pipe'
134722
134723       salt.modules.makeconf.append_emerge_default_opts(value)
134724              Add to or create a new EMERGE_DEFAULT_OPTS in the make.conf
134725
134726              Return a dict containing the new value for variable:
134727
134728                 {'<variable>': {'old': '<old-value>',
134729                                 'new': '<new-value>'}}
134730
134731              CLI Example:
134732
134733                 salt '*' makeconf.append_emerge_default_opts '--jobs'
134734
134735       salt.modules.makeconf.append_features(value)
134736              Add to or create a new FEATURES in the make.conf
134737
134738              Return a dict containing the new value for variable:
134739
134740                 {'<variable>': {'old': '<old-value>',
134741                                 'new': '<new-value>'}}
134742
134743              CLI Example:
134744
134745                 salt '*' makeconf.append_features 'webrsync-gpg'
134746
134747       salt.modules.makeconf.append_gentoo_mirrors(value)
134748              Add to or create a new GENTOO_MIRRORS in the make.conf
134749
134750              Return a dict containing the new value for variable:
134751
134752                 {'<variable>': {'old': '<old-value>',
134753                                 'new': '<new-value>'}}
134754
134755              CLI Example:
134756
134757                 salt '*' makeconf.append_gentoo_mirrors 'http://distfiles.gentoo.org'
134758
134759       salt.modules.makeconf.append_makeopts(value)
134760              Add to or create a new MAKEOPTS in the make.conf
134761
134762              Return a dict containing the new value for variable:
134763
134764                 {'<variable>': {'old': '<old-value>',
134765                                 'new': '<new-value>'}}
134766
134767              CLI Example:
134768
134769                 salt '*' makeconf.append_makeopts '-j3'
134770
134771       salt.modules.makeconf.append_var(var, value)
134772              Add to or create a new variable in the make.conf
134773
134774              Return a dict containing the new value for variable:
134775
134776                 {'<variable>': {'old': '<old-value>',
134777                                 'new': '<new-value>'}}
134778
134779              CLI Example:
134780
134781                 salt '*' makeconf.append_var 'LINGUAS' 'en'
134782
134783       salt.modules.makeconf.cflags_contains(value)
134784              Verify if CFLAGS variable contains a value in make.conf
134785
134786              Return True if value is set for var
134787
134788              CLI Example:
134789
134790                 salt '*' makeconf.cflags_contains '-pipe'
134791
134792       salt.modules.makeconf.chost_contains(value)
134793              Verify if CHOST variable contains a value in make.conf
134794
134795              Return True if value is set for var
134796
134797              CLI Example:
134798
134799                 salt '*' makeconf.chost_contains 'x86_64-pc-linux-gnu'
134800
134801       salt.modules.makeconf.cxxflags_contains(value)
134802              Verify if CXXFLAGS variable contains a value in make.conf
134803
134804              Return True if value is set for var
134805
134806              CLI Example:
134807
134808                 salt '*' makeconf.cxxflags_contains '-pipe'
134809
134810       salt.modules.makeconf.emerge_default_opts_contains(value)
134811              Verify if  EMERGE_DEFAULT_OPTS  variable  contains  a  value  in
134812              make.conf
134813
134814              Return True if value is set for var
134815
134816              CLI Example:
134817
134818                 salt '*' makeconf.emerge_default_opts_contains '--jobs'
134819
134820       salt.modules.makeconf.features_contains(value)
134821              Verify if FEATURES variable contains a value in make.conf
134822
134823              Return True if value is set for var
134824
134825              CLI Example:
134826
134827                 salt '*' makeconf.features_contains 'webrsync-gpg'
134828
134829       salt.modules.makeconf.gentoo_mirrors_contains(value)
134830              Verify if GENTOO_MIRRORS variable contains a value in make.conf
134831
134832              Return True if value is set for var
134833
134834              CLI Example:
134835
134836                 salt '*' makeconf.gentoo_mirrors_contains 'http://distfiles.gentoo.org'
134837
134838       salt.modules.makeconf.get_cflags()
134839              Get the value of CFLAGS variable in the make.conf
134840
134841              Return  the value of the variable or None if the variable is not
134842              in the make.conf
134843
134844              CLI Example:
134845
134846                 salt '*' makeconf.get_cflags
134847
134848       salt.modules.makeconf.get_chost()
134849              Get the value of CHOST variable in the make.conf
134850
134851              Return the value of the variable or None if the variable is  not
134852              in the make.conf
134853
134854              CLI Example:
134855
134856                 salt '*' makeconf.get_chost
134857
134858       salt.modules.makeconf.get_cxxflags()
134859              Get the value of CXXFLAGS variable in the make.conf
134860
134861              Return  the value of the variable or None if the variable is not
134862              in the make.conf
134863
134864              CLI Example:
134865
134866                 salt '*' makeconf.get_cxxflags
134867
134868       salt.modules.makeconf.get_emerge_default_opts()
134869              Get the value of EMERGE_DEFAULT_OPTS variable in the make.conf
134870
134871              Return the value of the variable or None if the variable is  not
134872              in the make.conf
134873
134874              CLI Example:
134875
134876                 salt '*' makeconf.get_emerge_default_opts
134877
134878       salt.modules.makeconf.get_features()
134879              Get the value of FEATURES variable in the make.conf
134880
134881              Return  the value of the variable or None if the variable is not
134882              in the make.conf
134883
134884              CLI Example:
134885
134886                 salt '*' makeconf.get_features
134887
134888       salt.modules.makeconf.get_gentoo_mirrors()
134889              Get the value of GENTOO_MIRRORS variable in the make.conf
134890
134891              Return the value of the variable or None if the variable is  not
134892              in the make.conf
134893
134894              CLI Example:
134895
134896                 salt '*' makeconf.get_gentoo_mirrors
134897
134898       salt.modules.makeconf.get_makeopts()
134899              Get the value of MAKEOPTS variable in the make.conf
134900
134901              Return  the value of the variable or None if the variable is not
134902              in the make.conf
134903
134904              CLI Example:
134905
134906                 salt '*' makeconf.get_makeopts
134907
134908       salt.modules.makeconf.get_sync()
134909              Get the value of SYNC variable in the make.conf
134910
134911              Return the value of the variable or None if the variable is  not
134912              in the make.conf
134913
134914              CLI Example:
134915
134916                 salt '*' makeconf.get_sync
134917
134918       salt.modules.makeconf.get_var(var)
134919              Get the value of a variable in make.conf
134920
134921              Return  the value of the variable or None if the variable is not
134922              in make.conf
134923
134924              CLI Example:
134925
134926                 salt '*' makeconf.get_var 'LINGUAS'
134927
134928       salt.modules.makeconf.makeopts_contains(value)
134929              Verify if MAKEOPTS variable contains a value in make.conf
134930
134931              Return True if value is set for var
134932
134933              CLI Example:
134934
134935                 salt '*' makeconf.makeopts_contains '-j3'
134936
134937       salt.modules.makeconf.remove_var(var)
134938              Remove a variable from the make.conf
134939
134940              Return a dict containing the new value for the variable:
134941
134942                 {'<variable>': {'old': '<old-value>',
134943                                 'new': '<new-value>'}}
134944
134945              CLI Example:
134946
134947                 salt '*' makeconf.remove_var 'LINGUAS'
134948
134949       salt.modules.makeconf.set_cflags(value)
134950              Set the CFLAGS variable
134951
134952              Return a dict containing the new value for variable:
134953
134954                 {'<variable>': {'old': '<old-value>',
134955                                 'new': '<new-value>'}}
134956
134957              CLI Example:
134958
134959                 salt '*' makeconf.set_cflags '-march=native -O2 -pipe'
134960
134961       salt.modules.makeconf.set_chost(value)
134962              Set the CHOST variable
134963
134964              Return a dict containing the new value for variable:
134965
134966                 {'<variable>': {'old': '<old-value>',
134967                                 'new': '<new-value>'}}
134968
134969              CLI Example:
134970
134971                 salt '*' makeconf.set_chost 'x86_64-pc-linux-gnu'
134972
134973       salt.modules.makeconf.set_cxxflags(value)
134974              Set the CXXFLAGS variable
134975
134976              Return a dict containing the new value for variable:
134977
134978                 {'<variable>': {'old': '<old-value>',
134979                                 'new': '<new-value>'}}
134980
134981              CLI Example:
134982
134983                 salt '*' makeconf.set_cxxflags '-march=native -O2 -pipe'
134984
134985       salt.modules.makeconf.set_emerge_default_opts(value)
134986              Set the EMERGE_DEFAULT_OPTS variable
134987
134988              Return a dict containing the new value for variable:
134989
134990                 {'<variable>': {'old': '<old-value>',
134991                                 'new': '<new-value>'}}
134992
134993              CLI Example:
134994
134995                 salt '*' makeconf.set_emerge_default_opts '--jobs'
134996
134997       salt.modules.makeconf.set_gentoo_mirrors(value)
134998              Set the GENTOO_MIRRORS variable
134999
135000              Return a dict containing the new value for variable:
135001
135002                 {'<variable>': {'old': '<old-value>',
135003                                 'new': '<new-value>'}}
135004
135005              CLI Example:
135006
135007                 salt '*' makeconf.set_gentoo_mirrors 'http://distfiles.gentoo.org'
135008
135009       salt.modules.makeconf.set_makeopts(value)
135010              Set the MAKEOPTS variable
135011
135012              Return a dict containing the new value for variable:
135013
135014                 {'<variable>': {'old': '<old-value>',
135015                                 'new': '<new-value>'}}
135016
135017              CLI Example:
135018
135019                 salt '*' makeconf.set_makeopts '-j3'
135020
135021       salt.modules.makeconf.set_sync(value)
135022              Set the SYNC variable
135023
135024              Return a dict containing the new value for variable:
135025
135026                 {'<variable>': {'old': '<old-value>',
135027                                 'new': '<new-value>'}}
135028
135029              CLI Example:
135030
135031                 salt '*' makeconf.set_sync 'rsync://rsync.namerica.gentoo.org/gentoo-portage'
135032
135033       salt.modules.makeconf.set_var(var, value)
135034              Set a variable in the make.conf
135035
135036              Return a dict containing the new value for variable:
135037
135038                 {'<variable>': {'old': '<old-value>',
135039                                 'new': '<new-value>'}}
135040
135041              CLI Example:
135042
135043                 salt '*' makeconf.set_var 'LINGUAS' 'en'
135044
135045       salt.modules.makeconf.sync_contains(value)
135046              Verify if SYNC variable contains a value in make.conf
135047
135048              Return True if value is set for var
135049
135050              CLI Example:
135051
135052                 salt '*' makeconf.sync_contains 'rsync://rsync.namerica.gentoo.org/gentoo-portage'
135053
135054       salt.modules.makeconf.trim_cflags(value)
135055              Remove a value from CFLAGS variable in the make.conf
135056
135057              Return a dict containing the new value for variable:
135058
135059                 {'<variable>': {'old': '<old-value>',
135060                                 'new': '<new-value>'}}
135061
135062              CLI Example:
135063
135064                 salt '*' makeconf.trim_cflags '-pipe'
135065
135066       salt.modules.makeconf.trim_cxxflags(value)
135067              Remove a value from CXXFLAGS variable in the make.conf
135068
135069              Return a dict containing the new value for variable:
135070
135071                 {'<variable>': {'old': '<old-value>',
135072                                 'new': '<new-value>'}}
135073
135074              CLI Example:
135075
135076                 salt '*' makeconf.trim_cxxflags '-pipe'
135077
135078       salt.modules.makeconf.trim_emerge_default_opts(value)
135079              Remove  a  value  from  EMERGE_DEFAULT_OPTS  variable   in   the
135080              make.conf
135081
135082              Return a dict containing the new value for variable:
135083
135084                 {'<variable>': {'old': '<old-value>',
135085                                 'new': '<new-value>'}}
135086
135087              CLI Example:
135088
135089                 salt '*' makeconf.trim_emerge_default_opts '--jobs'
135090
135091       salt.modules.makeconf.trim_features(value)
135092              Remove a value from FEATURES variable in the make.conf
135093
135094              Return a dict containing the new value for variable:
135095
135096                 {'<variable>': {'old': '<old-value>',
135097                                 'new': '<new-value>'}}
135098
135099              CLI Example:
135100
135101                 salt '*' makeconf.trim_features 'webrsync-gpg'
135102
135103       salt.modules.makeconf.trim_gentoo_mirrors(value)
135104              Remove a value from GENTOO_MIRRORS variable in the make.conf
135105
135106              Return a dict containing the new value for variable:
135107
135108                 {'<variable>': {'old': '<old-value>',
135109                                 'new': '<new-value>'}}
135110
135111              CLI Example:
135112
135113                 salt '*' makeconf.trim_gentoo_mirrors 'http://distfiles.gentoo.org'
135114
135115       salt.modules.makeconf.trim_makeopts(value)
135116              Remove a value from MAKEOPTS variable in the make.conf
135117
135118              Return a dict containing the new value for variable:
135119
135120                 {'<variable>': {'old': '<old-value>',
135121                                 'new': '<new-value>'}}
135122
135123              CLI Example:
135124
135125                 salt '*' makeconf.trim_makeopts '-j3'
135126
135127       salt.modules.makeconf.trim_var(var, value)
135128              Remove a value from a variable in the make.conf
135129
135130              Return a dict containing the new value for variable:
135131
135132                 {'<variable>': {'old': '<old-value>',
135133                                 'new': '<new-value>'}}
135134
135135              CLI Example:
135136
135137                 salt '*' makeconf.trim_var 'LINGUAS' 'en'
135138
135139       salt.modules.makeconf.var_contains(var, value)
135140              Verify if variable contains a value in make.conf
135141
135142              Return True if value is set for var
135143
135144              CLI Example:
135145
135146                 salt '*' makeconf.var_contains 'LINGUAS' 'en'
135147
135148   salt.modules.mandrill
135149   Mandrill
135150       Send out emails using the Mandrill API.
135151
135152       In the minion configuration file, the following block is required:
135153
135154          mandrill:
135155            key: <API_KEY>
135156
135157       New in version 2018.3.0.
135158
135159
135160       salt.modules.mandrill.send(message,  asynchronous=False,  ip_pool=None,
135161       send_at=None, api_url=None, api_version=None, api_key=None, **kwargs)
135162              Send out the email using the details from the message argument.
135163
135164              message
135165                     The information on the message  to  send.  This  argument
135166                     must be sent as dictionary with at fields as specified in
135167                     the Mandrill API documentation.
135168
135169              asynchronous: False
135170                     Enable a background sending mode that  is  optimized  for
135171                     bulk  sending.   In asynchronous mode, messages/send will
135172                     immediately return a status of "queued" for every recipi‐
135173                     ent.  To  handle  rejections when sending in asynchronous
135174                     mode, set up a webhook for the 'reject'  event.  Defaults
135175                     to  false  for  messages with no more than 10 recipients;
135176                     messages with more than 10  recipients  are  always  sent
135177                     asynchronously, regardless of the value of asynchronous.
135178
135179              ip_pool
135180                     The  name of the dedicated ip pool that should be used to
135181                     send the message. If you do not have any  dedicated  IPs,
135182                     this  parameter has no effect. If you specify a pool that
135183                     does not exist, your default pool will be used instead.
135184
135185              send_at
135186                     When this message should be sent as a  UTC  timestamp  in
135187                     YYYY-MM-DD  HH:MM:SS format. If you specify a time in the
135188                     past, the message will be sent immediately. An additional
135189                     fee applies for scheduled email, and this feature is only
135190                     available to accounts with a positive balance.
135191
135192              NOTE:
135193                 Fur further details please consult the API documentation.
135194
135195              CLI Example:
135196
135197                 $ salt '*' mandrill.send message="{'subject': 'Hi', 'from_email': 'test@example.com', 'to': [{'email': 'recv@example.com', 'type': 'to'}]}"
135198
135199              message structure example (as YAML for readability):
135200
135201                 message:
135202                     text: |
135203                         This is the body of the email.
135204                         This is the second line.
135205                     subject: Email subject
135206                     from_name: Test At Example Dot Com
135207                     from_email: test@example.com
135208                     to:
135209                       - email: recv@example.com
135210                         type: to
135211                         name: Recv At Example Dot Com
135212                       - email: cc@example.com
135213                         type: cc
135214                         name: CC At Example Dot Com
135215                     important: true
135216                     track_clicks: true
135217                     track_opens: true
135218                     attachments:
135219                       - type: text/x-yaml
135220                         name: yaml_file.yml
135221                         content: aV9hbV9zdXBlcl9jdXJpb3VzOiB0cnVl
135222
135223              Output example:
135224
135225                 minion:
135226                     ----------
135227                     comment:
135228                     out:
135229                         |_
135230                           ----------
135231                           _id:
135232                               c4353540a3c123eca112bbdd704ab6
135233                           email:
135234                               recv@example.com
135235                           reject_reason:
135236                               None
135237                           status:
135238                               sent
135239                     result:
135240                         True
135241
135242   salt.modules.marathon module
135243       Module providing a simple management interface to a marathon cluster.
135244
135245       Currently this only works when run through a proxy minion.
135246
135247       New in version 2015.8.2.
135248
135249
135250       salt.modules.marathon.app(id)
135251              Return the current server configuration for the specified app.
135252
135253              CLI Example:
135254
135255                 salt marathon-minion-id marathon.app my-app
135256
135257       salt.modules.marathon.apps()
135258              Return a list of the currently installed app ids.
135259
135260              CLI Example:
135261
135262                 salt marathon-minion-id marathon.apps
135263
135264       salt.modules.marathon.has_app(id)
135265              Return whether the given app id is currently configured.
135266
135267              CLI Example:
135268
135269                 salt marathon-minion-id marathon.has_app my-app
135270
135271       salt.modules.marathon.info()
135272              Return configuration and status information about  the  marathon
135273              instance.
135274
135275              CLI Example:
135276
135277                 salt marathon-minion-id marathon.info
135278
135279       salt.modules.marathon.restart_app(id, restart=False, force=True)
135280              Restart the current server configuration for the specified app.
135281
135282              Parameters
135283
135284                     · restart -- Restart the app
135285
135286                     · force -- Override the current deployment
135287
135288              CLI Example:
135289
135290                 salt marathon-minion-id marathon.restart_app my-app
135291
135292              By  default, this will only check if the app exists in marathon.
135293              It does not check if there are any tasks associated with  it  or
135294              if the app is suspended.
135295
135296                 salt marathon-minion-id marathon.restart_app my-app true true
135297
135298              The  restart  option needs to be set to True to actually issue a
135299              rolling restart to marathon.
135300
135301              The force option  tells  marathon  to  ignore  the  current  app
135302              deployment if there is one.
135303
135304       salt.modules.marathon.rm_app(id)
135305              Remove the specified app from the server.
135306
135307              CLI Example:
135308
135309                 salt marathon-minion-id marathon.rm_app my-app
135310
135311       salt.modules.marathon.update_app(id, config)
135312              Update the specified app with the given configuration.
135313
135314              CLI Example:
135315
135316                 salt marathon-minion-id marathon.update_app my-app '<config yaml>'
135317
135318   salt.modules.match
135319       The match module allows for match routines to be run and determine tar‐
135320       get specs
135321
135322       salt.modules.match.compound(tgt, minion_id=None)
135323              Return True if the minion ID matches the given compound target
135324
135325              minion_id
135326                     Specify the minion ID to match against the target expres‐
135327                     sion
135328
135329                     New in version 2014.7.0.
135330
135331
135332              CLI Example:
135333
135334                 salt '*' match.compound 'L@cheese,foo and *'
135335
135336       salt.modules.match.data(tgt)
135337              Return True if the minion matches the given data target
135338
135339              CLI Example:
135340
135341                 salt '*' match.data 'spam:eggs'
135342
135343       salt.modules.match.filter_by(lookup,     tgt_type=u'compound',     min‐
135344       ion_id=None, default=u'default')
135345              Return the first match in a dictionary of target patterns
135346
135347              New in version 2014.7.0.
135348
135349
135350              CLI Example:
135351
135352                 salt '*' match.filter_by '{foo*: Foo!, bar*: Bar!}' minion_id=bar03
135353
135354              Pillar Example:
135355
135356                 # Filter the data for the current minion into a variable:
135357                 {% set roles = salt['match.filter_by']({
135358                     'web*': ['app', 'caching'],
135359                     'db*': ['db'],
135360                 }, default='web*') %}
135361
135362                 # Make the filtered data available to Pillar:
135363                 roles: {{ roles | yaml() }}
135364
135365       salt.modules.match.glob(tgt, minion_id=None)
135366              Return True if the minion ID matches the given glob target
135367
135368              minion_id
135369                     Specify the minion ID to match against the target expres‐
135370                     sion
135371
135372                     New in version 2014.7.0.
135373
135374
135375              CLI Example:
135376
135377                 salt '*' match.glob '*'
135378
135379       salt.modules.match.grain(tgt, delimiter=':')
135380              Return  True  if  the minion matches the given grain target. The
135381              delimiter argument can be used to specify a different delimiter.
135382
135383              CLI Example:
135384
135385                 salt '*' match.grain 'os:Ubuntu'
135386                 salt '*' match.grain 'ipv6|2001:db8::ff00:42:8329' delimiter='|'
135387
135388              delimiter
135389                     Specify an alternate delimiter to use when  traversing  a
135390                     nested dict
135391
135392                     New in version 2014.7.0.
135393
135394
135395              delim  Specify  an  alternate delimiter to use when traversing a
135396                     nested dict
135397
135398                     New in version 0.16.4.
135399
135400
135401                     Deprecated since version 2015.8.0.
135402
135403
135404       salt.modules.match.grain_pcre(tgt, delimiter=':')
135405              Return True if the minion matches the given  grain_pcre  target.
135406              The delimiter argument can be used to specify a different delim‐
135407              iter.
135408
135409              CLI Example:
135410
135411                 salt '*' match.grain_pcre 'os:Fedo.*'
135412                 salt '*' match.grain_pcre 'ipv6|2001:.*' delimiter='|'
135413
135414              delimiter
135415                     Specify an alternate delimiter to use when  traversing  a
135416                     nested dict
135417
135418                     New in version 2014.7.0.
135419
135420
135421              delim  Specify  an  alternate delimiter to use when traversing a
135422                     nested dict
135423
135424                     New in version 0.16.4.
135425
135426
135427                     Deprecated since version 2015.8.0.
135428
135429
135430       salt.modules.match.ipcidr(tgt)
135431              Return True if the minion matches the given ipcidr target
135432
135433              CLI Example:
135434
135435                 salt '*' match.ipcidr '192.168.44.0/24'
135436
135437              delimiter Pillar Example:
135438
135439                 '172.16.0.0/12':
135440                   - match: ipcidr
135441                   - nodeclass: internal
135442
135443       salt.modules.match.list_(tgt, minion_id=None)
135444              Return True if the minion ID matches the given list target
135445
135446              minion_id
135447                     Specify the minion ID to match against the target expres‐
135448                     sion
135449
135450                     New in version 2014.7.0.
135451
135452
135453              CLI Example:
135454
135455                 salt '*' match.list 'server1,server2'
135456
135457       salt.modules.match.pcre(tgt, minion_id=None)
135458              Return True if the minion ID matches the given pcre target
135459
135460              minion_id
135461                     Specify the minion ID to match against the target expres‐
135462                     sion
135463
135464                     New in version 2014.7.0.
135465
135466
135467              CLI Example:
135468
135469                 salt '*' match.pcre '.*'
135470
135471       salt.modules.match.pillar(tgt, delimiter=':')
135472              Return True if the minion matches the given pillar  target.  The
135473              delimiter argument can be used to specify a different delimiter.
135474
135475              CLI Example:
135476
135477                 salt '*' match.pillar 'cheese:foo'
135478                 salt '*' match.pillar 'clone_url|https://github.com/saltstack/salt.git' delimiter='|'
135479
135480              delimiter
135481                     Specify  an  alternate delimiter to use when traversing a
135482                     nested dict
135483
135484                     New in version 2014.7.0.
135485
135486
135487              delim  Specify an alternate delimiter to use when  traversing  a
135488                     nested dict
135489
135490                     New in version 0.16.4.
135491
135492
135493                     Deprecated since version 2015.8.0.
135494
135495
135496       salt.modules.match.pillar_pcre(tgt, delimiter=':')
135497              Return  True if the minion matches the given pillar_pcre target.
135498              The delimiter argument can be used to specify a different delim‐
135499              iter.
135500
135501              CLI Example:
135502
135503                 salt '*' match.pillar_pcre 'cheese:(swiss|american)'
135504                 salt '*' match.pillar_pcre 'clone_url|https://github\.com/.*\.git' delimiter='|'
135505
135506              delimiter
135507                     Specify  an  alternate delimiter to use when traversing a
135508                     nested dict
135509
135510                     New in version 2014.7.0.
135511
135512
135513              delim  Specify an alternate delimiter to use when  traversing  a
135514                     nested dict
135515
135516                     New in version 0.16.4.
135517
135518
135519                     Deprecated since version 2015.8.0.
135520
135521
135522       salt.modules.match.search_by(lookup,     tgt_type=u'compound',     min‐
135523       ion_id=None)
135524              Search a dictionary of target strings for matching targets
135525
135526              This is the inverse of match.filter_by and allows matching  val‐
135527              ues  instead of matching keys. A minion can be matched by multi‐
135528              ple entries.
135529
135530              New in version 2017.7.0.
135531
135532
135533              CLI Example:
135534
135535                 salt '*' match.search_by '{web: [node1, node2], db: [node2, node]}'
135536
135537              Pillar Example:
135538
135539                 {% set roles = salt.match.search_by({
135540                     'web': ['G@os_family:Debian not nodeX'],
135541                     'db': ['L@node2,node3 and G@datacenter:west'],
135542                     'caching': ['node3', 'node4'],
135543                 }) %}
135544
135545                 # Make the filtered data available to Pillar:
135546                 roles: {{ roles | yaml() }}
135547
135548   salt.modules.mattermost module
135549       Module for sending messages to Mattermost
135550
135551       New in version 2017.7.0.
135552
135553
135554       configuration
135555              This module can be used by either passing an  api_url  and  hook
135556              directly or by specifying both in a configuration profile in the
135557              salt master/minion config. For example:
135558
135559                 mattermost:
135560                   hook: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
135561                   api_url: https://example.com
135562
135563       salt.modules.mattermost.post_message(message,    channel=None,    user‐
135564       name=None, api_url=None, hook=None)
135565              Send a message to a Mattermost channel.
135566
135567              Parameters
135568
135569                     · channel -- The channel name, either will work.
135570
135571                     · username -- The username of the poster.
135572
135573                     · message  -- The message to send to the Mattermost chan‐
135574                       nel.
135575
135576                     · api_url -- The Mattermost api url, if not specified  in
135577                       the configuration.
135578
135579                     · hook  --  The  Mattermost hook, if not specified in the
135580                       configuration.
135581
135582              Returns
135583                     Boolean if message was sent successfully.
135584
135585              CLI Example:
135586
135587                 salt '*' mattermost.post_message message='Build is done'
135588
135589   salt.modules.mdadm_raid
135590       Salt module to manage RAID arrays with mdadm
135591
135592       salt.modules.mdadm_raid.add(name, device)
135593              Add new device to RAID array.
135594
135595              CLI Example:
135596
135597                 salt '*' raid.add /dev/md0 /dev/sda1
135598
135599       salt.modules.mdadm_raid.assemble(name,    devices,     test_mode=False,
135600       **kwargs)
135601              Assemble a RAID device.
135602
135603              CLI Examples:
135604
135605                 salt '*' raid.assemble /dev/md0 ['/dev/xvdd', '/dev/xvde']
135606
135607              NOTE:
135608                 Adding test_mode=True as an argument will print out the mdadm
135609                 command that would have been run.
135610
135611              name   The name of the array to assemble.
135612
135613              devices
135614                     The list of devices comprising the array to assemble.
135615
135616              kwargs Optional arguments to be passed to mdadm.
135617
135618              returns
135619
135620                     test_mode=True:
135621                            Prints out the full command.
135622
135623                     test_mode=False (Default):
135624                            Executes command on the host(s) and prints out the
135625                            mdadm output.
135626
135627              For more info, read the mdadm manpage.
135628
135629       salt.modules.mdadm_raid.create(name,      level,     devices,     meta‐
135630       data=u'default', test_mode=False, **kwargs)
135631              Create a RAID device.
135632
135633              Changed in version 2014.7.0.
135634
135635
135636              WARNING:
135637                 Use with CAUTION, as this function can be very destructive if
135638                 not used properly!
135639
135640              CLI Examples:
135641
135642                 salt '*' raid.create /dev/md0 level=1 chunk=256 devices="['/dev/xvdd', '/dev/xvde']" test_mode=True
135643
135644              NOTE:
135645                 Adding test_mode=True as an argument will print out the mdadm
135646                 command that would have been run.
135647
135648              name   The name of the array to create.
135649
135650              level  The RAID level to use when creating the raid.
135651
135652              devices
135653                     A list of devices used to build the array.
135654
135655              metadata
135656                     Version of metadata to use when creating the array.
135657
135658              kwargs Optional arguments to be passed to mdadm.
135659
135660              returns
135661
135662                     test_mode=True:
135663                            Prints out the full command.
135664
135665                     test_mode=False (Default):
135666                            Executes command on remote the host(s) and  Prints
135667                            out the mdadm output.
135668
135669              NOTE:
135670                 It  takes  time  to  create  a  RAID array. You can check the
135671                 progress in "resync_status:" field of the  results  from  the
135672                 following command:
135673
135674                     salt '*' raid.detail /dev/md0
135675
135676              For more info, read the mdadm(8) manpage
135677
135678       salt.modules.mdadm_raid.destroy(device)
135679              Destroy a RAID device.
135680
135681              WARNING This will zero the superblock of all members of the RAID
135682              array..
135683
135684              CLI Example:
135685
135686                 salt '*' raid.destroy /dev/md0
135687
135688       salt.modules.mdadm_raid.detail(device=u'/dev/md0')
135689              Show detail for a specified RAID device
135690
135691              CLI Example:
135692
135693                 salt '*' raid.detail '/dev/md0'
135694
135695       salt.modules.mdadm_raid.examine(device, quiet=False)
135696              Show detail for a specified RAID component device
135697
135698              device Device to examine, that is part of the RAID
135699
135700              quiet  If the device is not part of the RAID, do  not  show  any
135701                     error
135702
135703              CLI Example:
135704
135705                 salt '*' raid.examine '/dev/sda1'
135706
135707       salt.modules.mdadm_raid.list_()
135708              List the RAID devices.
135709
135710              CLI Example:
135711
135712                 salt '*' raid.list
135713
135714       salt.modules.mdadm_raid.save_config()
135715              Save RAID configuration to config file.
135716
135717              Same as: mdadm --detail --scan >> /etc/mdadm/mdadm.conf
135718
135719              Fixes        this       issue       with       Ubuntu       REF:
135720              http://askubuntu.com/questions/209702/why-is-my-raid-dev-md1-showing-up-as-dev-md126-is-mdadm-conf-being-ignored
135721
135722              CLI Example:
135723
135724                 salt '*' raid.save_config
135725
135726       salt.modules.mdadm_raid.stop()
135727              Shut  down  all  arrays that can be shut down (i.e. are not cur‐
135728              rently in use).
135729
135730              CLI Example:
135731
135732                 salt '*' raid.stop
135733
135734   salt.modules.mdata
135735       Module for managaging metadata in SmartOS Zones
135736
135737       New in version 2016.3.0.
135738
135739
135740       maintainer
135741              Jorge Schrauwen <sjorge@blackdot.be>
135742
135743       maturity
135744              new
135745
135746       platform
135747              smartos
135748
135749       salt.modules.mdata.delete_(*keyname)
135750              Delete metadata
135751
135752              prop   string name of property
135753
135754              CLI Example:
135755
135756                 salt '*' mdata.get salt:role
135757                 salt '*' mdata.get user-script salt:role
135758
135759       salt.modules.mdata.get_(*keyname)
135760              Get metadata
135761
135762              keyname
135763                     string name of key
135764
135765              NOTE:
135766                 If no keynames are specified, we get all (public) properties
135767
135768              CLI Example:
135769
135770                 salt '*' mdata.get salt:role
135771                 salt '*' mdata.get user-script salt:role
135772
135773       salt.modules.mdata.list_()
135774              List available metadata
135775
135776              CLI Example:
135777
135778                 salt '*' mdata.list
135779
135780       salt.modules.mdata.put_(keyname, val)
135781              Put metadata
135782
135783              prop   string name of property
135784
135785              val    string value to set
135786
135787              CLI Example:
135788
135789                 salt '*' mdata.list
135790
135791   salt.modules.memcached
135792       Module for Management of Memcached Keys
135793
135794       New in version 2014.1.0.
135795
135796
135797       salt.modules.memcached.add(key, value,  host=u'127.0.0.1',  port=11211,
135798       time=0, min_compress_len=0)
135799              Add  a  key  to  the  memcached  server, but only if it does not
135800              exist. Returns False if the key already exists.
135801
135802              CLI Example:
135803
135804                 salt '*' memcached.add <key> <value>
135805
135806       salt.modules.memcached.decrement(key,    delta=1,    host=u'127.0.0.1',
135807       port=11211)
135808              Decrement the value of a key
135809
135810              CLI Example:
135811
135812                 salt '*' memcached.decrement <key>
135813                 salt '*' memcached.decrement <key> 2
135814
135815       salt.modules.memcached.delete(key,    host=u'127.0.0.1',    port=11211,
135816       time=0)
135817              Delete a key from memcache server
135818
135819              CLI Example:
135820
135821                 salt '*' memcached.delete <key>
135822
135823       salt.modules.memcached.get(key, host=u'127.0.0.1', port=11211)
135824              Retrieve value for a key
135825
135826              CLI Example:
135827
135828                 salt '*' memcached.get <key>
135829
135830       salt.modules.memcached.increment(key,    delta=1,    host=u'127.0.0.1',
135831       port=11211)
135832              Increment the value of a key
135833
135834              CLI Example:
135835
135836                 salt '*' memcached.increment <key>
135837                 salt '*' memcached.increment <key> 2
135838
135839       salt.modules.memcached.replace(key,      value,      host=u'127.0.0.1',
135840       port=11211, time=0, min_compress_len=0)
135841              Replace a key on the memcached server. This only succeeds if the
135842              key already exists. This is the opposite of memcached.add
135843
135844              CLI Example:
135845
135846                 salt '*' memcached.replace <key> <value>
135847
135848       salt.modules.memcached.set_(key,  value, host=u'127.0.0.1', port=11211,
135849       time=0, min_compress_len=0)
135850              Set a key on the memcached server, overwriting the value  if  it
135851              exists.
135852
135853              CLI Example:
135854
135855                 salt '*' memcached.set <key> <value>
135856
135857       salt.modules.memcached.status(host=u'127.0.0.1', port=11211)
135858              Get memcached status
135859
135860              CLI Example:
135861
135862                 salt '*' memcached.status
135863
135864   salt.modules.mine
135865       The function cache system allows for data to be stored on the master so
135866       it can be easily read by other minions
135867
135868       salt.modules.mine.delete(fun)
135869              Remove specific function contents of minion.
135870
135871              Parameters
135872                     fun (str) -- The name of the function.
135873
135874              Return type
135875                     bool
135876
135877              Returns
135878                     True on success.
135879
135880              CLI Example:
135881
135882                 salt '*' mine.delete 'network.interfaces'
135883
135884       salt.modules.mine.flush()
135885              Remove all mine contents of minion.
135886
135887              Return type
135888                     bool
135889
135890              Returns
135891                     True on success
135892
135893              CLI Example:
135894
135895                 salt '*' mine.flush
135896
135897       salt.modules.mine.get(tgt, fun, tgt_type=u'glob', exclude_minion=False)
135898              Get data from the mine.
135899
135900              Parameters
135901
135902                     · tgt (str) -- Target whose mine data to get.
135903
135904                     · fun (str or list) -- Function to get the mine data  of.
135905                       You  can  specify  multiple functions to retrieve using
135906                       either a list or a comma-separated string of functions.
135907
135908                     · tgt_type (str) -- Default glob. Target type to use with
135909                       tgt.   See  targeting  for more information.  Note that
135910                       all pillar matches, whether using the compound matching
135911                       system  or  the  pillar  matching system, will be exact
135912                       matches, with globbing disabled.
135913
135914                     · exclude_minion (bool) -- Excludes  the  current  minion
135915                       from the result set.
135916
135917              CLI Example:
135918
135919                 salt '*' mine.get '*' network.interfaces
135920                 salt '*' mine.get 'os:Fedora' network.interfaces grain
135921                 salt '*' mine.get 'G@os:Fedora and S@192.168.5.0/24' network.ipaddrs compound
135922
135923              SEE ALSO:
135924                 Retrieving Mine data from Pillar and Orchestrate
135925
135926                 This  execution module is intended to be executed on minions.
135927                 Master-side operations such as  Pillar  or  Orchestrate  that
135928                 require  Mine data should use the Mine Runner module instead;
135929                 it  can  be  invoked  from  a  Pillar  SLS  file  using   the
135930                 saltutil.runner module. For example:
135931
135932                     {% set minion_ips = salt.saltutil.runner('mine.get',
135933                         tgt='*',
135934                         fun='network.ip_addrs',
135935                         tgt_type='glob') %}
135936
135937       salt.modules.mine.get_docker(interfaces=None,   cidrs=None,   with_con‐
135938       tainer_id=False)
135939              Changed in version 2017.7.8,2018.3.3: When docker.update_mine is
135940              set  to False for a given minion, no mine data will be populated
135941              for that minion, and thus none will be returned for it.
135942
135943
135944              Changed in version 2019.2.0: docker.update_mine now defaults  to
135945              False
135946
135947
135948              Get  all mine data for docker.ps and run an aggregation routine.
135949              The interfaces  parameter  allows  for  specifying  the  network
135950              interfaces  from which to select IP addresses. The cidrs parame‐
135951              ter allows for specifying a list of subnets which the IP address
135952              must match.
135953
135954              with_container_id
135955                     Boolean, to expose container_id in the list of results
135956
135957                     New in version 2015.8.2.
135958
135959
135960              CLI Example:
135961
135962                 salt '*' mine.get_docker
135963                 salt '*' mine.get_docker interfaces='eth0'
135964                 salt '*' mine.get_docker interfaces='["eth0", "eth1"]'
135965                 salt '*' mine.get_docker cidrs='107.170.147.0/24'
135966                 salt '*' mine.get_docker cidrs='["107.170.147.0/24", "172.17.42.0/24"]'
135967                 salt '*' mine.get_docker interfaces='["eth0", "eth1"]' cidrs='["107.170.147.0/24", "172.17.42.0/24"]'
135968
135969       salt.modules.mine.send(name, *args, **kwargs)
135970              Send  a specific function and its result to the salt mine.  This
135971              gets stored in either the local  cache,  or  the  salt  master's
135972              cache.
135973
135974              Parameters
135975                     name (str) -- Name of the function to add to the mine.
135976
135977              The following pameters are extracted from kwargs if present:
135978
135979              Parameters
135980
135981                     · mine_function  (str)  -- The name of the execution_mod‐
135982                       ule.function to run and whose value will be  stored  in
135983                       the salt mine. Defaults to name.
135984
135985                     · allow_tgt  (str)  --  Targeting  specification for ACL.
135986                       Specifies which minions  are  allowed  to  access  this
135987                       function.  Please note both your master and minion need
135988                       to be on, at least, version 3000 for this to work prop‐
135989                       erly.
135990
135991                     · allow_tgt_type  (str) -- Type of the targeting specifi‐
135992                       cation. This value will be ignored if allow_tgt is  not
135993                       specified. Please note both your master and minion need
135994                       to be on, at least, version 3000 for this to work prop‐
135995                       erly.
135996
135997              Remaining  args  and kwargs will be passed on to the function to
135998              run.
135999
136000              Return type
136001                     bool
136002
136003              Returns
136004                     Whether executing the function and storing  the  informa‐
136005                     tion was succesful.
136006
136007              Changed     in    version    3000:    Added    allow_tgt-    and
136008              allow_tgt_type-parameters to specify which minions  are  allowed
136009              to  access  this  function.   See targeting for more information
136010              about targeting.
136011
136012
136013              CLI Example:
136014
136015                 salt '*' mine.send network.ip_addrs eth0
136016                 salt '*' mine.send eth0_ip_addrs mine_function=network.ip_addrs eth0
136017                 salt '*' mine.send eth0_ip_addrs mine_function=network.ip_addrs eth0 allow_tgt='G@grain:value' allow_tgt_type=compound
136018
136019       salt.modules.mine.update(clear=False, mine_functions=None)
136020              Call the configured functions and send the data back up  to  the
136021              master.   The  functions to be called are merged from the master
136022              config, pillar and minion config  under  the  option  mine_func‐
136023              tions:
136024
136025                 mine_functions:
136026                   network.ip_addrs:
136027                     - eth0
136028                   disk.usage: []
136029
136030              This function accepts the following arguments:
136031
136032              Parameters
136033
136034                     · clear (bool) -- Default: False Specifies whether updat‐
136035                       ing will clear the existing values (True),  or  whether
136036                       it will update them (False).
136037
136038                     · mine_functions (dict) --
136039
136040                       Update  (or  clear,  see  clear) the mine data on these
136041                       functions only.  This will need to have  the  structure
136042                       as                      defined                      on
136043                       https://docs.saltstack.com/en/latest/topics/mine/index.html#mine-functions
136044
136045                       This  feature  can  be  used when updating the mine for
136046                       functions that require a refresh at different intervals
136047                       than   the   rest  of  the  functions  specified  under
136048                       mine_functions in the minion/master config  or  pillar.
136049                       A  potential  use would be together with the scheduler,
136050                       for example:
136051
136052                          schedule:
136053                            lldp_mine_update:
136054                              function: mine.update
136055                              kwargs:
136056                                  mine_functions:
136057                                    net.lldp: []
136058                              hours: 12
136059
136060                       In the example above, the mine for  net.lldp  would  be
136061                       refreshed every 12 hours, while  network.ip_addrs would
136062                       continue to be updated as specified in mine_interval.
136063
136064
136065              The function cache will be populated with information from  exe‐
136066              cuting these functions
136067
136068              CLI Example:
136069
136070                 salt '*' mine.update
136071
136072       salt.modules.mine.valid()
136073              List valid entries in mine configuration.
136074
136075              CLI Example:
136076
136077                 salt '*' mine.valid
136078
136079   salt.modules.minion module
136080       Module to provide information about minions
136081
136082       salt.modules.minion.kill(timeout=15)
136083              Kill the salt minion.
136084
136085              timeout
136086                     int seconds to wait for the minion to die.
136087
136088              If  you  have  a  monitor that restarts salt-minion when it dies
136089              then this is a great way to restart after a minion upgrade.
136090
136091              CLI example:
136092
136093                 >$ salt minion[12] minion.kill
136094                 minion1:
136095                     ----------
136096                     killed:
136097                         7874
136098                     retcode:
136099                         0
136100                 minion2:
136101                     ----------
136102                     killed:
136103                         29071
136104                     retcode:
136105                         0
136106
136107              The result of the salt command shows the process ID of the  min‐
136108              ions  and  the  results of a kill signal to the minion in as the
136109              retcode value: 0 is success, anything else is a failure.
136110
136111       salt.modules.minion.list_()
136112              Return a list of accepted, denied, unaccepted and rejected keys.
136113              This is the same output as salt-key -L
136114
136115              CLI Example:
136116
136117                 salt 'master' minion.list
136118
136119       salt.modules.minion.restart()
136120              Kill and restart the salt minion.
136121
136122              The configuration key minion_restart_command is an argv list for
136123              the command to restart the minion.  If minion_restart_command is
136124              not specified or empty then the argv of the current process will
136125              be used.
136126
136127              if the configuration value minion_restart_command is not set and
136128              the -d (daemonize) argument is missing from argv then the minion
136129              will be killed but will not be restarted and  will  require  the
136130              parent  process  to  perform  the  restart.   This  behavior  is
136131              intended for managed salt minion processes.
136132
136133              CLI example:
136134
136135                 >$ salt minion[12] minion.restart
136136                 minion1:
136137                     ----------
136138                     comment:
136139                         - Restart using process argv:
136140                         -     /home/omniture/install/bin/salt-minion
136141                         -     -d
136142                         -     -c
136143                         -     /home/omniture/install/etc/salt
136144                     killed:
136145                         10070
136146                     restart:
136147                         ----------
136148                         stderr:
136149                         stdout:
136150                     retcode:
136151                         0
136152                 minion2:
136153                     ----------
136154                     comment:
136155                         - Using configuration minion_restart_command:
136156                         -     /home/omniture/install/bin/salt-minion
136157                         -     --not-an-option
136158                         -     -d
136159                         -     -c
136160                         -     /home/omniture/install/etc/salt
136161                         - Restart failed
136162                     killed:
136163                         10896
136164                     restart:
136165                         ----------
136166                         stderr:
136167                             Usage: salt-minion
136168
136169                             salt-minion: error: no such option: --not-an-option
136170                         stdout:
136171                     retcode:
136172                         64
136173
136174              The result of the command shows the process ID of  minion1  that
136175              is  shutdown  (killed) and the results of the restart.  If there
136176              is a failure in the restart it will be reflected in  a  non-zero
136177              retcode  and  possibly output in the stderr and/or stdout values
136178              along with addition information  in  the  comment  field  as  is
136179              demonstrated with minion2.
136180
136181   salt.modules.mod_random
136182   Provides access to randomness generators.
136183       New in version 2014.7.0.
136184
136185
136186       salt.modules.mod_random.get_str(length=20)
136187              New in version 2014.7.0.
136188
136189
136190              Returns a random string of the specified length.
136191
136192              length 20 Any valid number of bytes.
136193
136194              CLI Example:
136195
136196                 salt '*' random.get_str 128
136197
136198       salt.modules.mod_random.hash(value, algorithm=u'sha512')
136199              New in version 2014.7.0.
136200
136201
136202              Encodes a value with the specified encoder.
136203
136204              value  The value to be hashed.
136205
136206              algorithm
136207                     sha512  The  algorithm to use. May be any valid algorithm
136208                     supported by hashlib.
136209
136210              CLI Example:
136211
136212                 salt '*' random.hash 'I am a string' md5
136213
136214       salt.modules.mod_random.rand_int(start=1, end=10, seed=None)
136215              Returns a random integer number between the start and  end  num‐
136216              ber.
136217
136218              start  1 Any valid integer number
136219
136220              end    10 Any valid integer number
136221
136222              seed : Optional hashable object
136223
136224              Changed  in  version  2019.2.0: Added seed argument. Will return
136225              the same result when run with the same seed.
136226
136227
136228              CLI Example:
136229
136230                 salt '*' random.rand_int 1 10
136231
136232       salt.modules.mod_random.seed(range=10, hash=None)
136233              Returns a random number within a range. Optional  hash  argument
136234              can  be  any hashable object. If hash is omitted or None, the id
136235              of the minion is used.
136236
136237              hash: None
136238                     Any hashable object.
136239
136240              range: 10
136241                     Any valid integer number
136242
136243              CLI Example:
136244
136245                 salt '*' random.seed 10 hash=None
136246
136247       salt.modules.mod_random.shadow_hash(crypt_salt=None,     password=None,
136248       algorithm=u'sha512')
136249              Generates a salted hash suitable for /etc/shadow.
136250
136251              crypt_salt
136252                     None  Salt  to  be used in the generation of the hash. If
136253                     one is not provided, a random salt will be generated.
136254
136255              password
136256                     None Value to be salted and hashed. If one  is  not  pro‐
136257                     vided, a random password will be generated.
136258
136259              algorithm
136260                     sha512 Hash algorithm to use.
136261
136262              CLI Example:
136263
136264                 salt '*' random.shadow_hash 'My5alT' 'MyP@asswd' md5
136265
136266       salt.modules.mod_random.str_encode(value, encoder=u'base64')
136267              New in version 2014.7.0.
136268
136269
136270              value  The value to be encoded.
136271
136272              encoder
136273                     base64 The encoder to use on the subsequent string.
136274
136275              CLI Example:
136276
136277                 salt '*' random.str_encode 'I am a new string' base64
136278
136279   salt.modules.modjk
136280       Control    Modjk   via   the   Apache   Tomcat   "Status"   worker   (‐
136281       http://tomcat.apache.org/connectors-doc/reference/status.html)
136282
136283       Below is an example of the configuration needed for this  module.  This
136284       configuration data can be placed either in grains or pillar.
136285
136286       If  using  grains,  this  can be accomplished statically or via a grain
136287       module.
136288
136289       If using pillar, the yaml configuration can be placed directly  into  a
136290       pillar SLS file, making this both the easier and more dynamic method of
136291       configuring this module.
136292
136293          modjk:
136294            default:
136295              url: http://localhost/jkstatus
136296              user: modjk
136297              pass: secret
136298              realm: authentication realm for digest passwords
136299              timeout: 5
136300            otherVhost:
136301              url: http://otherVhost/jkstatus
136302              user: modjk
136303              pass: secret2
136304              realm: authentication realm2 for digest passwords
136305              timeout: 600
136306
136307       salt.modules.modjk.bulk_activate(workers, lbn, profile=u'default')
136308              Activate all the given workers in the specific load balancer
136309
136310              CLI Examples:
136311
136312                 salt '*' modjk.bulk_activate node1,node2,node3 loadbalancer1
136313                 salt '*' modjk.bulk_activate node1,node2,node3 loadbalancer1 other-profile
136314
136315                 salt '*' modjk.bulk_activate ["node1","node2","node3"] loadbalancer1
136316                 salt '*' modjk.bulk_activate ["node1","node2","node3"] loadbalancer1 other-profile
136317
136318       salt.modules.modjk.bulk_disable(workers, lbn, profile=u'default')
136319              Disable all the given workers in the specific load balancer
136320
136321              CLI Examples:
136322
136323                 salt '*' modjk.bulk_disable node1,node2,node3 loadbalancer1
136324                 salt '*' modjk.bulk_disable node1,node2,node3 loadbalancer1 other-profile
136325
136326                 salt '*' modjk.bulk_disable ["node1","node2","node3"] loadbalancer1
136327                 salt '*' modjk.bulk_disable ["node1","node2","node3"] loadbalancer1 other-profile
136328
136329       salt.modules.modjk.bulk_recover(workers, lbn, profile=u'default')
136330              Recover all the given workers in the specific load balancer
136331
136332              CLI Examples:
136333
136334                 salt '*' modjk.bulk_recover node1,node2,node3 loadbalancer1
136335                 salt '*' modjk.bulk_recover node1,node2,node3 loadbalancer1 other-profile
136336
136337                 salt '*' modjk.bulk_recover ["node1","node2","node3"] loadbalancer1
136338                 salt '*' modjk.bulk_recover ["node1","node2","node3"] loadbalancer1 other-profile
136339
136340       salt.modules.modjk.bulk_stop(workers, lbn, profile=u'default')
136341              Stop all the given workers in the specific load balancer
136342
136343              CLI Examples:
136344
136345                 salt '*' modjk.bulk_stop node1,node2,node3 loadbalancer1
136346                 salt '*' modjk.bulk_stop node1,node2,node3 loadbalancer1 other-profile
136347
136348                 salt '*' modjk.bulk_stop ["node1","node2","node3"] loadbalancer1
136349                 salt '*' modjk.bulk_stop ["node1","node2","node3"] loadbalancer1 other-profile
136350
136351       salt.modules.modjk.dump_config(profile=u'default')
136352              Dump the original configuration that was loaded from disk
136353
136354              CLI Examples:
136355
136356                 salt '*' modjk.dump_config
136357                 salt '*' modjk.dump_config other-profile
136358
136359       salt.modules.modjk.get_running(profile=u'default')
136360              Get the current running config (not from disk)
136361
136362              CLI Examples:
136363
136364                 salt '*' modjk.get_running
136365                 salt '*' modjk.get_running other-profile
136366
136367       salt.modules.modjk.lb_edit(lbn, settings, profile=u'default')
136368              Edit the loadbalancer settings
136369
136370              Note:
136371              http://tomcat.apache.org/connectors-doc/reference/status.html
136372              Data Parameters for the standard Update Action
136373
136374              CLI Examples:
136375
136376                 salt '*' modjk.lb_edit loadbalancer1 "{'vlr': 1, 'vlt': 60}"
136377                 salt '*' modjk.lb_edit loadbalancer1 "{'vlr': 1, 'vlt': 60}" other-profile
136378
136379       salt.modules.modjk.list_configured_members(lbn, profile=u'default')
136380              Return a list of member workers from the configuration files
136381
136382              CLI Examples:
136383
136384                 salt '*' modjk.list_configured_members loadbalancer1
136385                 salt '*' modjk.list_configured_members loadbalancer1 other-profile
136386
136387       salt.modules.modjk.recover_all(lbn, profile=u'default')
136388              Set the all the workers in lbn to recover and activate  them  if
136389              they are not
136390
136391              CLI Examples:
136392
136393                 salt '*' modjk.recover_all loadbalancer1
136394                 salt '*' modjk.recover_all loadbalancer1 other-profile
136395
136396       salt.modules.modjk.reset_stats(lbn, profile=u'default')
136397              Reset all runtime statistics for the load balancer
136398
136399              CLI Examples:
136400
136401                 salt '*' modjk.reset_stats loadbalancer1
136402                 salt '*' modjk.reset_stats loadbalancer1 other-profile
136403
136404       salt.modules.modjk.version(profile=u'default')
136405              Return the modjk version
136406
136407              CLI Examples:
136408
136409                 salt '*' modjk.version
136410                 salt '*' modjk.version other-profile
136411
136412       salt.modules.modjk.worker_activate(worker, lbn, profile=u'default')
136413              Set the worker to activate state in the lbn load balancer
136414
136415              CLI Examples:
136416
136417                 salt '*' modjk.worker_activate node1 loadbalancer1
136418                 salt '*' modjk.worker_activate node1 loadbalancer1 other-profile
136419
136420       salt.modules.modjk.worker_disable(worker, lbn, profile=u'default')
136421              Set the worker to disable state in the lbn load balancer
136422
136423              CLI Examples:
136424
136425                 salt '*' modjk.worker_disable node1 loadbalancer1
136426                 salt '*' modjk.worker_disable node1 loadbalancer1 other-profile
136427
136428       salt.modules.modjk.worker_edit(worker,      lbn,     settings,     pro‐
136429       file=u'default')
136430              Edit the worker settings
136431
136432              Note:
136433              http://tomcat.apache.org/connectors-doc/reference/status.html
136434              Data Parameters for the standard Update Action
136435
136436              CLI Examples:
136437
136438                 salt '*' modjk.worker_edit node1 loadbalancer1 "{'vwf': 500, 'vwd': 60}"
136439                 salt '*' modjk.worker_edit node1 loadbalancer1 "{'vwf': 500, 'vwd': 60}" other-profile
136440
136441       salt.modules.modjk.worker_recover(worker, lbn, profile=u'default')
136442              Set the worker to recover this module will fail if it is  in  OK
136443              state
136444
136445              CLI Examples:
136446
136447                 salt '*' modjk.worker_recover node1 loadbalancer1
136448                 salt '*' modjk.worker_recover node1 loadbalancer1 other-profile
136449
136450       salt.modules.modjk.worker_status(worker, profile=u'default')
136451              Return the state of the worker
136452
136453              CLI Examples:
136454
136455                 salt '*' modjk.worker_status node1
136456                 salt '*' modjk.worker_status node1 other-profile
136457
136458       salt.modules.modjk.worker_stop(worker, lbn, profile=u'default')
136459              Set the worker to stopped state in the lbn load balancer
136460
136461              CLI Examples:
136462
136463                 salt '*' modjk.worker_activate node1 loadbalancer1
136464                 salt '*' modjk.worker_activate node1 loadbalancer1 other-profile
136465
136466       salt.modules.modjk.workers(profile=u'default')
136467              Return a list of member workers and their status
136468
136469              CLI Examples:
136470
136471                 salt '*' modjk.workers
136472                 salt '*' modjk.workers other-profile
136473
136474   salt.modules.mongodb
136475       Module to provide MongoDB functionality to Salt
136476
136477       configuration
136478              This  module  uses PyMongo, and accepts configuration details as
136479              parameters as well as configuration settings:
136480
136481                 mongodb.host: 'localhost'
136482                 mongodb.port: 27017
136483                 mongodb.user: ''
136484                 mongodb.password: ''
136485
136486              This data can also be passed into pillar.  Options  passed  into
136487              opts will overwrite options passed into pillar.
136488
136489       salt.modules.mongodb.db_exists(name,      user=None,     password=None,
136490       host=None, port=None, authdb=None)
136491              Checks if a database exists in MongoDB
136492
136493              CLI Example:
136494
136495                 salt '*' mongodb.db_exists <name> <user> <password> <host> <port>
136496
136497       salt.modules.mongodb.db_list(user=None,    password=None,    host=None,
136498       port=None, authdb=None)
136499              List all MongoDB databases
136500
136501              CLI Example:
136502
136503                 salt '*' mongodb.db_list <user> <password> <host> <port>
136504
136505       salt.modules.mongodb.db_remove(name,      user=None,     password=None,
136506       host=None, port=None, authdb=None)
136507              Remove a MongoDB database
136508
136509              CLI Example:
136510
136511                 salt '*' mongodb.db_remove <name> <user> <password> <host> <port>
136512
136513       salt.modules.mongodb.find(collection,  query=None,   user=None,   pass‐
136514       word=None, host=None, port=None, database=u'admin', authdb=None)
136515              Find an object or list of objects in a collection
136516
136517              CLI Example:
136518
136519                 salt '*' mongodb.find mycollection '[{"foo": "FOO", "bar": "BAR"}]' <user> <password> <host> <port> <database>
136520
136521       salt.modules.mongodb.insert(objects,   collection,   user=None,   pass‐
136522       word=None, host=None, port=None, database=u'admin', authdb=None)
136523              Insert an object or list of objects into a collection
136524
136525              CLI Example:
136526
136527                 salt '*' mongodb.insert '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' mycollection <user> <password> <host> <port> <database>
136528
136529       salt.modules.mongodb.remove(collection,  query=None,  user=None,  pass‐
136530       word=None, host=None, port=None, database=u'admin', w=1, authdb=None)
136531              Remove an object or list of objects into a collection
136532
136533              CLI Example:
136534
136535                 salt '*' mongodb.remove mycollection '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' <user> <password> <host> <port> <database>
136536
136537       salt.modules.mongodb.update_one(objects,  collection,  user=None, pass‐
136538       word=None, host=None, port=None, database=u'admin', authdb=None)
136539              Update       an       object       into       a       collection
136540              http://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.update_one
136541
136542              New in version 2016.11.0.
136543
136544
136545              CLI Example:
136546
136547                 salt '*' mongodb.update_one '{"_id": "my_minion"} {"bar": "BAR"}' mycollection <user> <password> <host> <port> <database>
136548
136549       salt.modules.mongodb.user_create(name,   passwd,    user=None,    pass‐
136550       word=None,   host=None,   port=None,   database=u'admin',  authdb=None,
136551       roles=None)
136552              Create a MongoDB user
136553
136554              CLI Example:
136555
136556                 salt '*' mongodb.user_create <user_name> <user_password> <roles> <user> <password> <host> <port> <database>
136557
136558       salt.modules.mongodb.user_exists(name,    user=None,     password=None,
136559       host=None, port=None, database=u'admin', authdb=None)
136560              Checks if a user exists in MongoDB
136561
136562              CLI Example:
136563
136564                 salt '*' mongodb.user_exists <name> <user> <password> <host> <port> <database>
136565
136566       salt.modules.mongodb.user_find(name,      user=None,     password=None,
136567       host=None, port=None, database=u'admin', authdb=None)
136568              Get single user from MongoDB
136569
136570              CLI Example:
136571
136572                 salt '*' mongodb.user_find <name> <user> <password> <host> <port> <database> <authdb>
136573
136574       salt.modules.mongodb.user_grant_roles(name, roles, database, user=None,
136575       password=None, host=None, port=None, authdb=None)
136576              Grant one or many roles to a MongoDB user
136577
136578              CLI Examples:
136579
136580                 salt '*' mongodb.user_grant_roles johndoe '["readWrite"]' dbname admin adminpwd localhost 27017
136581
136582                 salt '*' mongodb.user_grant_roles janedoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017
136583
136584       salt.modules.mongodb.user_list(user=None,   password=None,   host=None,
136585       port=None, database=u'admin', authdb=None)
136586              List users of a MongoDB database
136587
136588              CLI Example:
136589
136590                 salt '*' mongodb.user_list <user> <password> <host> <port> <database>
136591
136592       salt.modules.mongodb.user_remove(name,    user=None,     password=None,
136593       host=None, port=None, database=u'admin', authdb=None)
136594              Remove a MongoDB user
136595
136596              CLI Example:
136597
136598                 salt '*' mongodb.user_remove <name> <user> <password> <host> <port> <database>
136599
136600       salt.modules.mongodb.user_revoke_roles(name,      roles,      database,
136601       user=None, password=None, host=None, port=None, authdb=None)
136602              Revoke one or many roles to a MongoDB user
136603
136604              CLI Examples:
136605
136606                 salt '*' mongodb.user_revoke_roles johndoe '["readWrite"]' dbname admin adminpwd localhost 27017
136607
136608                 salt '*' mongodb.user_revoke_roles janedoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017
136609
136610       salt.modules.mongodb.user_roles_exists(name,      roles,      database,
136611       user=None, password=None, host=None, port=None, authdb=None)
136612              Checks if a user of a MongoDB database has specified roles
136613
136614              CLI Examples:
136615
136616                 salt '*' mongodb.user_roles_exists johndoe '["readWrite"]' dbname admin adminpwd localhost 27017
136617
136618                 salt '*' mongodb.user_roles_exists johndoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017
136619
136620       salt.modules.mongodb.version(user=None,    password=None,    host=None,
136621       port=None, database=u'admin', authdb=None)
136622              Get MongoDB instance version
136623
136624              CLI Example:
136625
136626                 salt '*' mongodb.version <user> <password> <host> <port> <database>
136627
136628   salt.modules.monit
136629       Monit service module. This module will  create  a  monit  type  service
136630       watcher.
136631
136632       salt.modules.monit.configtest()
136633              New in version 2016.3.0.
136634
136635
136636              Test monit configuration syntax
136637
136638              CLI Example:
136639
136640                 salt '*' monit.configtest
136641
136642       salt.modules.monit.id_(reset=False)
136643              New in version 2016.3.0.
136644
136645
136646              Return monit unique id.
136647
136648              reset  False  Reset  current  id and generate a new id when it's
136649                     True.
136650
136651              CLI Example:
136652
136653                 salt '*' monit.id [reset=True]
136654
136655       salt.modules.monit.monitor(name)
136656              monitor service via monit
136657
136658              CLI Example:
136659
136660                 salt '*' monit.monitor <service name>
136661
136662       salt.modules.monit.reload_()
136663              New in version 2016.3.0.
136664
136665
136666              Reload monit configuration
136667
136668              CLI Example:
136669
136670                 salt '*' monit.reload
136671
136672       salt.modules.monit.restart(name)
136673              Restart service via monit
136674
136675              CLI Example:
136676
136677                 salt '*' monit.restart <service name>
136678
136679       salt.modules.monit.start(name)
136680              CLI Example:
136681
136682                 salt '*' monit.start <service name>
136683
136684       salt.modules.monit.status(svc_name=u'')
136685              Display a process status from monit
136686
136687              CLI Example:
136688
136689                 salt '*' monit.status
136690                 salt '*' monit.status <service name>
136691
136692       salt.modules.monit.stop(name)
136693              Stops service via monit
136694
136695              CLI Example:
136696
136697                 salt '*' monit.stop <service name>
136698
136699       salt.modules.monit.summary(svc_name=u'')
136700              Display a summary from monit
136701
136702              CLI Example:
136703
136704                 salt '*' monit.summary
136705                 salt '*' monit.summary <service name>
136706
136707       salt.modules.monit.unmonitor(name)
136708              Unmonitor service via monit
136709
136710              CLI Example:
136711
136712                 salt '*' monit.unmonitor <service name>
136713
136714       salt.modules.monit.validate()
136715              New in version 2016.3.0.
136716
136717
136718              Check all services
136719
136720              CLI Example:
136721
136722                 salt '*' monit.validate
136723
136724       salt.modules.monit.version()
136725              New in version 2016.3.0.
136726
136727
136728              Return version from monit -V
136729
136730              CLI Example:
136731
136732                 salt '*' monit.version
136733
136734   salt.modules.moosefs
136735       Module for gathering and managing information about MooseFS
136736
136737       salt.modules.moosefs.dirinfo(path, opts=None)
136738              Return information on a directory located on the Moose
136739
136740              CLI Example:
136741
136742                 salt '*' moosefs.dirinfo /path/to/dir/ [-[n][h|H]]
136743
136744       salt.modules.moosefs.fileinfo(path)
136745              Return information on a file located on the Moose
136746
136747              CLI Example:
136748
136749                 salt '*' moosefs.fileinfo /path/to/dir/
136750
136751       salt.modules.moosefs.getgoal(path, opts=None)
136752              Return goal(s) for a file or directory
136753
136754              CLI Example:
136755
136756                 salt '*' moosefs.getgoal /path/to/file [-[n][h|H]]
136757                 salt '*' moosefs.getgoal /path/to/dir/ [-[n][h|H][r]]
136758
136759       salt.modules.moosefs.mounts()
136760              Return a list of current MooseFS mounts
136761
136762              CLI Example:
136763
136764                 salt '*' moosefs.mounts
136765
136766   salt.modules.mount
136767       Salt module to manage Unix mounts and the fstab file
136768
136769       salt.modules.mount.active(extended=False)
136770              List the active mounts.
136771
136772              CLI Example:
136773
136774                 salt '*' mount.active
136775
136776       salt.modules.mount.automaster(config=u'/etc/auto_salt')
136777              List the contents of the auto master
136778
136779              CLI Example:
136780
136781                 salt '*' mount.automaster
136782
136783       salt.modules.mount.delete_mount_cache(real_name)
136784              New in version 2018.3.0.
136785
136786
136787              Provide information if the path is mounted
136788
136789              CLI Example:
136790
136791                 salt '*' mount.delete_mount_cache /mnt/share
136792
136793       salt.modules.mount.filesystems(config=u'/etc/filesystems')
136794              New in version 2018.3.3.
136795
136796
136797              List the contents of the filesystems
136798
136799              CLI Example:
136800
136801                 salt '*' mount.filesystems
136802
136803       salt.modules.mount.fstab(config=u'/etc/fstab')
136804              Changed in version 2016.3.2.
136805
136806
136807              List the contents of the fstab
136808
136809              CLI Example:
136810
136811                 salt '*' mount.fstab
136812
136813       salt.modules.mount.is_fuse_exec(cmd)
136814              Returns true if the command passed is a fuse mountable  applica‐
136815              tion.
136816
136817              CLI Example:
136818
136819                 salt '*' mount.is_fuse_exec sshfs
136820
136821       salt.modules.mount.is_mounted(name)
136822              New in version 2014.7.0.
136823
136824
136825              Provide information if the path is mounted
136826
136827              CLI Example:
136828
136829                 salt '*' mount.is_mounted /mnt/share
136830
136831       salt.modules.mount.mount(name,    device,    mkmnt=False,   fstype=u'',
136832       opts=u'defaults', user=None, util=u'mount')
136833              Mount a device
136834
136835              CLI Example:
136836
136837                 salt '*' mount.mount /mnt/foo /dev/sdz1 True
136838
136839       salt.modules.mount.read_mount_cache(name)
136840              New in version 2018.3.0.
136841
136842
136843              Provide information if the path is mounted
136844
136845              CLI Example:
136846
136847                 salt '*' mount.read_mount_cache /mnt/share
136848
136849       salt.modules.mount.remount(name,   device,   mkmnt=False,   fstype=u'',
136850       opts=u'defaults', user=None)
136851              Attempt  to  remount  a  device,  if  the  device is not already
136852              mounted, mount is called
136853
136854              CLI Example:
136855
136856                 salt '*' mount.remount /mnt/foo /dev/sdz1 True
136857
136858       salt.modules.mount.rm_automaster(name,           device,           con‐
136859       fig=u'/etc/auto_salt')
136860              Remove the mount point from the auto_master
136861
136862              CLI Example:
136863
136864                 salt '*' mount.rm_automaster /mnt/foo /dev/sdg
136865
136866       salt.modules.mount.rm_filesystems(name,  device, config=u'/etc/filesys‐
136867       tems')
136868              New in version 2018.3.3.
136869
136870
136871              Remove the mount point from the filesystems
136872
136873              CLI Example:
136874
136875                 salt '*' mount.rm_filesystems /mnt/foo /dev/sdg
136876
136877       salt.modules.mount.rm_fstab(name, device, config=u'/etc/fstab')
136878              Changed in version 2016.3.2.
136879
136880
136881              Remove the mount point from the fstab
136882
136883              CLI Example:
136884
136885                 salt '*' mount.rm_fstab /mnt/foo /dev/sdg
136886
136887       salt.modules.mount.rm_vfstab(name, device, config=u'/etc/vfstab')
136888              New in version 2016.3.2.
136889
136890
136891              Remove the mount point from the vfstab
136892
136893              CLI Example:
136894
136895                 salt '*' mount.rm_vfstab /mnt/foo /device/c0t0d0p0
136896
136897       salt.modules.mount.set_automaster(name, device, fstype, opts=u'',  con‐
136898       fig=u'/etc/auto_salt', test=False, not_change=False, **kwargs)
136899              Verify  that  this mount is represented in the auto_salt, change
136900              the mount to match the data passed, or add the mount  if  it  is
136901              not present.
136902
136903              CLI Example:
136904
136905                 salt '*' mount.set_automaster /mnt/foo /dev/sdz1 ext4
136906
136907       salt.modules.mount.set_filesystems(name,  device,  vfstype,  opts=u'-',
136908       mount=u'true',         config=u'/etc/filesystems',          test=False,
136909       match_on=u'auto', not_change=False, **kwargs)
136910              New in version 2018.3.3.
136911
136912
136913              Verify that this mount is represented in the filesystems, change
136914              the mount to match the data passed, or add the mount  if  it  is
136915              not present on AIX
136916
136917              If  the  entry is found via match_on and not_change is True, the
136918              current line will be preserved.
136919                 Provide information if the path is mounted
136920
136921              Parameters
136922
136923                     · name -- The name of the mount point where the device is
136924                       mounted.
136925
136926                     · device -- The device that is being mounted.
136927
136928                     · vfstype  --  The  file system that is used (AIX has two
136929                       fstypes, fstype and vfstype - similar to Linux fstype)
136930
136931                     · opts --  Additional  options  used  when  mounting  the
136932                       device.
136933
136934                     · mount -- Mount if not mounted, default True.
136935
136936                     · config -- Configuration file, default /etc/filesystems.
136937
136938                     · match -- File systems type to match on, default auto
136939
136940              CLI Example:
136941
136942                 salt '*' mount.set_filesystems /mnt/foo /dev/sdz1 jfs2
136943
136944       salt.modules.mount.set_fstab(name,  device,  fstype,  opts=u'defaults',
136945       dump=0, pass_num=0, config=u'/etc/fstab', test=False, match_on=u'auto',
136946       not_change=False, **kwargs)
136947              Verify  that  this mount is represented in the fstab, change the
136948              mount to match the data passed, or add the mount if  it  is  not
136949              present.
136950
136951              If  the  entry is found via match_on and not_change is True, the
136952              current line will be preserved.
136953
136954              CLI Example:
136955
136956                 salt '*' mount.set_fstab /mnt/foo /dev/sdz1 ext4
136957
136958       salt.modules.mount.set_vfstab(name,    device,    fstype,    opts=u'-',
136959       device_fsck=u'-',     pass_fsck=u'-',     mount_at_boot=u'yes',    con‐
136960       fig=u'/etc/vfstab',  test=False,  match_on=u'auto',   not_change=False,
136961       **kwargs)
136962              ..verionadded::  2016.3.2  Verify that this mount is represented
136963              in the fstab, change the mount to match the data passed, or  add
136964              the mount if it is not present.
136965
136966              If  the  entry is found via match_on and not_change is True, the
136967              current line will be preserved.
136968
136969              CLI Example:
136970
136971                 salt '*' mount.set_vfstab /mnt/foo /device/c0t0d0p0 ufs
136972
136973       salt.modules.mount.swapoff(name)
136974              Deactivate a named swap mount
136975
136976              Changed in version 2016.3.2.
136977
136978
136979              CLI Example:
136980
136981                 salt '*' mount.swapoff /root/swapfile
136982
136983       salt.modules.mount.swapon(name, priority=None)
136984              Activate a swap disk
136985
136986              Changed in version 2016.3.2.
136987
136988
136989              CLI Example:
136990
136991                 salt '*' mount.swapon /root/swapfile
136992
136993       salt.modules.mount.swaps()
136994              Return a dict containing information on active swap
136995
136996              Changed in version 2016.3.2.
136997
136998
136999              CLI Example:
137000
137001                 salt '*' mount.swaps
137002
137003       salt.modules.mount.umount(name, device=None, user=None, util=u'mount')
137004              Attempt to unmount a device by specifying the  directory  it  is
137005              mounted on
137006
137007              CLI Example:
137008
137009                 salt '*' mount.umount /mnt/foo
137010
137011              New in version 2015.5.0.
137012
137013
137014                 salt '*' mount.umount /mnt/foo /dev/xvdc1
137015
137016       salt.modules.mount.vfstab(config=u'/etc/vfstab')
137017              New in version 2016.3.2.
137018
137019
137020              List the contents of the vfstab
137021
137022              CLI Example:
137023
137024                 salt '*' mount.vfstab
137025
137026       salt.modules.mount.write_mount_cache(real_name,  device, mkmnt, fstype,
137027       mount_opts)
137028              New in version 2018.3.0.
137029
137030
137031              Provide information if the path is mounted
137032
137033              Parameters
137034
137035                     · real_name -- The real name of the mount point where the
137036                       device is mounted.
137037
137038                     · device -- The device that is being mounted.
137039
137040                     · mkmnt  -- Whether or not the mount point should be cre‐
137041                       ated.
137042
137043                     · fstype -- The file system that is used.
137044
137045                     · mount_opts -- Additional options used when mounting the
137046                       device.
137047
137048              Returns
137049                     Boolean if message was sent successfully.
137050
137051              CLI Example:
137052
137053                 salt '*' mount.write_mount_cache /mnt/share /dev/sda1 False ext4 defaults,nosuid
137054
137055   salt.modules.mssql
137056       Module to provide MS SQL Server compatibility to salt.
137057
137058       depends
137059
137060              · FreeTDS
137061
137062              · pymssql Python module
137063
137064       configuration
137065              In  order  to connect to MS SQL Server, certain configuration is
137066              required in minion configs/pillars on the relevant minions. Some
137067              sample pillars might look like:
137068
137069                 mssql.server: 'localhost'
137070                 mssql.port:   1433
137071                 mssql.user:   'sysdba'
137072                 mssql.password:   'Some preferable complex password'
137073                 mssql.database: ''
137074
137075              The  default  for  the port is '1433' and for the database is ''
137076              (empty string); in most cases they can be left  at  the  default
137077              setting.   Options  that are directly passed into functions will
137078              overwrite options from configs or pillars.
137079
137080       salt.modules.mssql.db_create(database,  containment=u'NONE',  new_data‐
137081       base_options=None, **kwargs)
137082              Creates  a  new  database.   Does not update options of existing
137083              databases.  new_database_options can only be a list of strings
137084
137085              CLI Example:
137086
137087                 salt minion mssql.db_create DB_NAME
137088
137089       salt.modules.mssql.db_exists(database_name, **kwargs)
137090              Find if a specific database exists on the MS SQL server.
137091
137092              CLI Example:
137093
137094                 salt minion mssql.db_exists database_name='DBNAME'
137095
137096       salt.modules.mssql.db_list(**kwargs)
137097              Return the database list created on a MS SQL server.
137098
137099              CLI Example:
137100
137101                 salt minion mssql.db_list
137102
137103       salt.modules.mssql.db_remove(database_name, **kwargs)
137104              Drops a specific database from the MS SQL server.  It  will  not
137105              drop any of 'master', 'model', 'msdb' or 'tempdb'.
137106
137107              CLI Example:
137108
137109                 salt minion mssql.db_remove database_name='DBNAME'
137110
137111       salt.modules.mssql.login_create(login,         new_login_password=None,
137112       new_login_domain=u'',   new_login_roles=None,   new_login_options=None,
137113       **kwargs)
137114              Creates  a  new  login.   Does  not  update password of existing
137115              logins.  For Windows authentication,  provide  new_login_domain.
137116              For SQL Server authentication, prvide new_login_password.  Since
137117              hashed passwords are varbinary values, if the new_login_password
137118              is 'int / long', it will be considered to be HASHED.
137119
137120              new_login_roles
137121                     a list of SERVER roles
137122
137123              new_login_options
137124                     a list of strings
137125
137126              CLI Example:
137127
137128                 salt minion mssql.login_create LOGIN_NAME database=DBNAME [new_login_password=PASSWORD]
137129
137130       salt.modules.mssql.login_exists(login, domain=u'', **kwargs)
137131              Find  if  a  login exists in the MS SQL server.  domain, if pro‐
137132              vided, will be prepended to login
137133
137134              CLI Example:
137135
137136                 salt minion mssql.login_exists 'LOGIN'
137137
137138       salt.modules.mssql.login_remove(login, **kwargs)
137139              Removes an login.
137140
137141              CLI Example:
137142
137143                 salt minion mssql.login_remove LOGINNAME
137144
137145       salt.modules.mssql.role_create(role, owner=None, grants=None, **kwargs)
137146              Creates a new database role.  If no owner is specified, the role
137147              will  be  owned  by the user that executes CREATE ROLE, which is
137148              the user argument or  mssql.user  option.   grants  is  list  of
137149              strings.
137150
137151              CLI Example:
137152
137153                 salt minion mssql.role_create role=product01 owner=sysdba grants='["SELECT", "INSERT", "UPDATE", "DELETE", "EXECUTE"]'
137154
137155       salt.modules.mssql.role_exists(role, **kwargs)
137156              Checks if a role exists.
137157
137158              CLI Example:
137159
137160                 salt minion mssql.role_exists db_owner
137161
137162       salt.modules.mssql.role_list(**kwargs)
137163              Lists database roles.
137164
137165              CLI Example:
137166
137167                 salt minion mssql.role_list
137168
137169       salt.modules.mssql.role_remove(role, **kwargs)
137170              Remove a database role.
137171
137172              CLI Example:
137173
137174                 salt minion mssql.role_create role=test_role01
137175
137176       salt.modules.mssql.tsql_query(query, **kwargs)
137177              Run  a SQL query and return query result as list of tuples, or a
137178              list of dictionaries if as_dict was passed, or an empty list  if
137179              no data is available.
137180
137181              CLI Example:
137182
137183                 salt minion mssql.tsql_query 'SELECT @@version as version' as_dict=True
137184
137185       salt.modules.mssql.user_create(username,  login=None, domain=u'', data‐
137186       base=None, roles=None, options=None, **kwargs)
137187              Creates a new user.  If login is not specified, the user will be
137188              created without a login.  domain, if provided, will be prepended
137189              to username.  options can only be a list of strings
137190
137191              CLI Example:
137192
137193                 salt minion mssql.user_create USERNAME database=DBNAME
137194
137195       salt.modules.mssql.user_exists(username,   domain=u'',   database=None,
137196       **kwargs)
137197              Find  if  an  user  exists  in a specific database on the MS SQL
137198              server.  domain, if provided, will be prepended to username
137199
137200              CLI Example:
137201
137202                 salt minion mssql.user_exists 'USERNAME' [database='DBNAME']
137203
137204       salt.modules.mssql.user_list(**kwargs)
137205              Get the user list for a specific database on the MS SQL server.
137206
137207              CLI Example:
137208
137209                 salt minion mssql.user_list [database='DBNAME']
137210
137211       salt.modules.mssql.user_remove(username, **kwargs)
137212              Removes an user.
137213
137214              CLI Example:
137215
137216                 salt minion mssql.user_remove USERNAME database=DBNAME
137217
137218       salt.modules.mssql.version(**kwargs)
137219              Return the version of a MS SQL server.
137220
137221              CLI Example:
137222
137223                 salt minion mssql.version
137224
137225   salt.modules.msteams module
137226       Module for sending messages to MS Teams
137227
137228       New in version 2017.7.0.
137229
137230
137231       configuration
137232              This module can be used by either passing a hook_url directly or
137233              by  specifying  it  in  a configuration profile in the salt mas‐
137234              ter/minion config. For example:
137235
137236          msteams:
137237            hook_url: https://outlook.office.com/webhook/837
137238
137239       salt.modules.msteams.post_card(message,   hook_url=None,    title=None,
137240       theme_color=None)
137241              Send  a message to an MS Teams channel.  :param message:     The
137242              message to send to  the  MS  Teams  channel.   :param  hook_url:
137243              The  Teams  webhook  URL, if not specified in the configuration.
137244              :param title:       Optional title for the  posted  card  :param
137245              theme_color:   Optional  hex color highlight for the posted card
137246              :return:            Boolean if message was sent successfully.
137247
137248              CLI Example:
137249
137250                 salt '*' msteams.post_card message="Build is done"
137251
137252   salt.modules.munin
137253       Run munin plugins/checks from salt and format the output as data.
137254
137255       salt.modules.munin.list_plugins()
137256              List all the munin plugins
137257
137258              CLI Example:
137259
137260                 salt '*' munin.list_plugins
137261
137262       salt.modules.munin.run(plugins)
137263              Run one or more named munin plugins
137264
137265              CLI Example:
137266
137267                 salt '*' munin.run uptime
137268                 salt '*' munin.run uptime,cpu,load,memory
137269
137270       salt.modules.munin.run_all()
137271              Run all the munin plugins
137272
137273              CLI Example:
137274
137275                 salt '*' munin.run_all
137276
137277   salt.modules.mysql
137278       Module to provide MySQL compatibility to salt.
137279
137280       depends
137281
137282              · MySQLdb Python module
137283
137284       NOTE:
137285          On  CentOS  5  (and  possibly  RHEL   5)   both   MySQL-python   and
137286          python26-mysqldb need to be installed.
137287
137288       configuration
137289              In  order to connect to MySQL, certain configuration is required
137290              in /etc/salt/minion on the relevant minions. Some sample configs
137291              might look like:
137292
137293                 mysql.host: 'localhost'
137294                 mysql.port: 3306
137295                 mysql.user: 'root'
137296                 mysql.pass: ''
137297                 mysql.db: 'mysql'
137298                 mysql.unix_socket: '/tmp/mysql.sock'
137299                 mysql.charset: 'utf8'
137300
137301              You can also use a defaults file:
137302
137303                 mysql.default_file: '/etc/mysql/debian.cnf'
137304
137305       Changed  in version 2014.1.0: 'charset' connection argument added. This
137306       is a MySQL charset, not a python one.
137307
137308
137309       Changed in version 0.16.2: Connection arguments from the minion  config
137310       file  can be overridden on the CLI by using the arguments defined here.
137311       Additionally, it is now possible to setup a user with no password.
137312
137313
137314       salt.modules.mysql.alter_db(name,   character_set=None,   collate=None,
137315       **connection_args)
137316              Modify  database  using  ALTER DATABASE %(dbname)s CHARACTER SET
137317              %(charset)s COLLATE %(collation)s; query.
137318
137319              CLI Example:
137320
137321                 salt '*' mysql.alter_db testdb charset='latin1'
137322
137323       salt.modules.mysql.db_check(name, table=None, **connection_args)
137324              Repairs the full database or just a given table
137325
137326              CLI Example:
137327
137328                 salt '*' mysql.db_check dbname
137329                 salt '*' mysql.db_check dbname dbtable
137330
137331       salt.modules.mysql.db_create(name,  character_set=None,   collate=None,
137332       **connection_args)
137333              Adds a databases to the MySQL server.
137334
137335              name   The name of the database to manage
137336
137337              character_set
137338                     The  character  set, if left empty the MySQL default will
137339                     be used
137340
137341              collate
137342                     The collation, if left empty the MySQL  default  will  be
137343                     used
137344
137345              CLI Example:
137346
137347                 salt '*' mysql.db_create 'dbname'
137348                 salt '*' mysql.db_create 'dbname' 'utf8' 'utf8_general_ci'
137349
137350       salt.modules.mysql.db_exists(name, **connection_args)
137351              Checks if a database exists on the MySQL server.
137352
137353              CLI Example:
137354
137355                 salt '*' mysql.db_exists 'dbname'
137356
137357       salt.modules.mysql.db_get(name, **connection_args)
137358              Return  a  list  of databases of a MySQL server using the output
137359              from  the  SELECT   DEFAULT_CHARACTER_SET_NAME,   DEFAULT_COLLA‐
137360              TION_NAME       FROM      INFORMATION_SCHEMA.SCHEMATA      WHERE
137361              SCHEMA_NAME='dbname'; query.
137362
137363              CLI Example:
137364
137365                 salt '*' mysql.db_get test
137366
137367       salt.modules.mysql.db_list(**connection_args)
137368              Return a list of databases of a MySQL server  using  the  output
137369              from the SHOW DATABASES query.
137370
137371              CLI Example:
137372
137373                 salt '*' mysql.db_list
137374
137375       salt.modules.mysql.db_optimize(name, table=None, **connection_args)
137376              Optimizes the full database or just a given table
137377
137378              CLI Example:
137379
137380                 salt '*' mysql.db_optimize dbname
137381
137382       salt.modules.mysql.db_remove(name, **connection_args)
137383              Removes a databases from the MySQL server.
137384
137385              CLI Example:
137386
137387                 salt '*' mysql.db_remove 'dbname'
137388
137389       salt.modules.mysql.db_repair(name, table=None, **connection_args)
137390              Repairs the full database or just a given table
137391
137392              CLI Example:
137393
137394                 salt '*' mysql.db_repair dbname
137395
137396       salt.modules.mysql.db_tables(name, **connection_args)
137397              Shows the tables in the given MySQL database (if exists)
137398
137399              CLI Example:
137400
137401                 salt '*' mysql.db_tables 'database'
137402
137403       salt.modules.mysql.file_query(database, file_name, **connection_args)
137404              Run  an  arbitrary  SQL query from the specified file and return
137405              the the number of affected rows.
137406
137407              New in version 2017.7.0.
137408
137409
137410              database
137411                 database to run script inside
137412
137413              file_name
137414                 File name of the script.  This can be on  the  minion,  or  a
137415                 file that is reachable by the fileserver
137416
137417              CLI Example:
137418
137419                 salt '*' mysql.file_query mydb file_name=/tmp/sqlfile.sql
137420                 salt '*' mysql.file_query mydb file_name=salt://sqlfile.sql
137421
137422              Return data:
137423
137424                 {'query time': {'human': '39.0ms', 'raw': '0.03899'}, 'rows affected': 1L}
137425
137426       salt.modules.mysql.free_slave(**connection_args)
137427              Frees a slave from its master.  This is a WIP, do not use.
137428
137429              CLI Example:
137430
137431                 salt '*' mysql.free_slave
137432
137433       salt.modules.mysql.get_master_status(**connection_args)
137434              Retrieves the master status from the minion.
137435
137436              Returns:
137437
137438                 {'host.domain.com': {'Binlog_Do_DB': '',
137439                                  'Binlog_Ignore_DB': '',
137440                                  'File': 'mysql-bin.000021',
137441                                  'Position': 107}}
137442
137443              CLI Example:
137444
137445                 salt '*' mysql.get_master_status
137446
137447       salt.modules.mysql.get_slave_status(**connection_args)
137448              Retrieves the slave status from the minion.
137449
137450              Returns:
137451
137452                 {'host.domain.com': {'Connect_Retry': 60,
137453                                'Exec_Master_Log_Pos': 107,
137454                                'Last_Errno': 0,
137455                                'Last_Error': '',
137456                                'Last_IO_Errno': 0,
137457                                'Last_IO_Error': '',
137458                                'Last_SQL_Errno': 0,
137459                                'Last_SQL_Error': '',
137460                                'Master_Host': 'comet.scion-eng.com',
137461                                'Master_Log_File': 'mysql-bin.000021',
137462                                'Master_Port': 3306,
137463                                'Master_SSL_Allowed': 'No',
137464                                'Master_SSL_CA_File': '',
137465                                'Master_SSL_CA_Path': '',
137466                                'Master_SSL_Cert': '',
137467                                'Master_SSL_Cipher': '',
137468                                'Master_SSL_Key': '',
137469                                'Master_SSL_Verify_Server_Cert': 'No',
137470                                'Master_Server_Id': 1,
137471                                'Master_User': 'replu',
137472                                'Read_Master_Log_Pos': 107,
137473                                'Relay_Log_File': 'klo-relay-bin.000071',
137474                                'Relay_Log_Pos': 253,
137475                                'Relay_Log_Space': 553,
137476                                'Relay_Master_Log_File': 'mysql-bin.000021',
137477                                'Replicate_Do_DB': '',
137478                                'Replicate_Do_Table': '',
137479                                'Replicate_Ignore_DB': '',
137480                                'Replicate_Ignore_Server_Ids': '',
137481                                'Replicate_Ignore_Table': '',
137482                                'Replicate_Wild_Do_Table': '',
137483                                'Replicate_Wild_Ignore_Table': '',
137484                                'Seconds_Behind_Master': 0,
137485                                'Skip_Counter': 0,
137486                                'Slave_IO_Running': 'Yes',
137487                                'Slave_IO_State': 'Waiting for master to send event',
137488                                'Slave_SQL_Running': 'Yes',
137489                                'Until_Condition': 'None',
137490                                'Until_Log_File': '',
137491                                'Until_Log_Pos': 0}}
137492
137493              CLI Example:
137494
137495                 salt '*' mysql.get_slave_status
137496
137497       salt.modules.mysql.grant_add(grant,  database, user, host=u'localhost',
137498       grant_option=False, escape=True, ssl_option=False, **connection_args)
137499              Adds a grant to the MySQL server.
137500
137501              For database, make sure you specify database.table or database.*
137502
137503              CLI Example:
137504
137505                 salt '*' mysql.grant_add             'SELECT,INSERT,UPDATE,...' 'database.*' 'frank' 'localhost'
137506
137507       salt.modules.mysql.grant_exists(grant,  database,  user,  host=u'local‐
137508       host', grant_option=False, escape=True, **connection_args)
137509              Checks to see if a grant exists in the database
137510
137511              CLI Example:
137512
137513                 salt '*' mysql.grant_exists              'SELECT,INSERT,UPDATE,...' 'database.*' 'frank' 'localhost'
137514
137515       salt.modules.mysql.grant_revoke(grant,  database,  user,  host=u'local‐
137516       host', grant_option=False, escape=True, **connection_args)
137517              Removes a grant from the MySQL server.
137518
137519              CLI Example:
137520
137521                 salt '*' mysql.grant_revoke             'SELECT,INSERT,UPDATE' 'database.*' 'frank' 'localhost'
137522
137523       salt.modules.mysql.plugin_add(name, soname=None, **connection_args)
137524              Add a plugina.
137525
137526              CLI Example:
137527
137528                 salt '*' mysql.plugin_add auth_socket
137529
137530       salt.modules.mysql.plugin_remove(name, **connection_args)
137531              Remove a plugin.
137532
137533              CLI Example:
137534
137535                 salt '*' mysql.plugin_remove auth_socket
137536
137537       salt.modules.mysql.plugin_status(name, **connection_args)
137538              Return the status of a plugin.
137539
137540              CLI Example:
137541
137542                 salt '*' mysql.plugin_status auth_socket
137543
137544       salt.modules.mysql.plugins_list(**connection_args)
137545              Return a list of plugins and their status from the SHOW  PLUGINS
137546              query.
137547
137548              CLI Example:
137549
137550                 salt '*' mysql.plugins_list
137551
137552       salt.modules.mysql.processlist(**connection_args)
137553              Retrieves  the  processlist from the MySQL server via "SHOW FULL
137554              PROCESSLIST".
137555
137556              Returns: a list of dicts, with each dict representing a process:
137557
137558                 {'Command': 'Query',
137559                 'Host': 'localhost',
137560                 'Id': 39,
137561                 'Info': 'SHOW FULL PROCESSLIST',
137562                 'Rows_examined': 0,
137563                 'Rows_read': 1,
137564                 'Rows_sent': 0,
137565                 'State': None,
137566                 'Time': 0,
137567                 'User': 'root',
137568                 'db': 'mysql'}
137569
137570              CLI Example:
137571
137572                 salt '*' mysql.processlist
137573
137574       salt.modules.mysql.query(database, query, **connection_args)
137575              Run an arbitrary SQL query and return the results or the  number
137576              of affected rows.
137577
137578              CLI Example:
137579
137580                 salt '*' mysql.query mydb "UPDATE mytable set myfield=1 limit 1"
137581
137582              Return data:
137583
137584                 {'query time': {'human': '39.0ms', 'raw': '0.03899'}, 'rows affected': 1L}
137585
137586              CLI Example:
137587
137588                 salt '*' mysql.query mydb "SELECT id,name,cash from users limit 3"
137589
137590              Return data:
137591
137592                 {'columns': ('id', 'name', 'cash'),
137593                     'query time': {'human': '1.0ms', 'raw': '0.001'},
137594                     'results': ((1L, 'User 1', Decimal('110.000000')),
137595                                 (2L, 'User 2', Decimal('215.636756')),
137596                                 (3L, 'User 3', Decimal('0.040000'))),
137597                     'rows returned': 3L}
137598
137599              CLI Example:
137600
137601                 salt '*' mysql.query mydb 'INSERT into users values (null,"user 4", 5)'
137602
137603              Return data:
137604
137605                 {'query time': {'human': '25.6ms', 'raw': '0.02563'}, 'rows affected': 1L}
137606
137607              CLI Example:
137608
137609                 salt '*' mysql.query mydb 'DELETE from users where id = 4 limit 1'
137610
137611              Return data:
137612
137613                 {'query time': {'human': '39.0ms', 'raw': '0.03899'}, 'rows affected': 1L}
137614
137615              Jinja  Example:  Run  a  query on mydb and use row 0, column 0's
137616              data.
137617
137618                 {{ salt['mysql.query']('mydb', 'SELECT info from mytable limit 1')['results'][0][0] }}
137619
137620       salt.modules.mysql.quote_identifier(identifier, for_grants=False)
137621              Return an identifier name (column, table, database, etc) escaped
137622              for MySQL
137623
137624              This means surrounded by "`" character and escaping this charac‐
137625              ter inside.  It  also  means  doubling  the  '%'  character  for
137626              MySQLdb internal usage.
137627
137628              Parameters
137629
137630                     · identifier -- the table, column or database identifier
137631
137632                     · for_grants  -- is False by default, when using database
137633                       names on grant queries you should set  it  to  True  to
137634                       also  escape  "_"  and  "%"  characters as requested by
137635                       MySQL. Note  that  theses  characters  should  only  be
137636                       escaped  when  requesting  grants on the database level
137637                       (my_%db.*)   but   not   for   table    level    grants
137638                       (my_%db.`foo`)
137639
137640              CLI Example:
137641
137642                 salt '*' mysql.quote_identifier 'foo`bar'
137643
137644       salt.modules.mysql.showglobal(**connection_args)
137645              Retrieves the show global variables from the minion.
137646
137647              Returns::
137648                     show global variables full dict
137649
137650              CLI Example:
137651
137652                 salt '*' mysql.showglobal
137653
137654       salt.modules.mysql.showvariables(**connection_args)
137655              Retrieves the show variables from the minion.
137656
137657              Returns::
137658                     show variables full dict
137659
137660              CLI Example:
137661
137662                 salt '*' mysql.showvariables
137663
137664       salt.modules.mysql.slave_lag(**connection_args)
137665              Return  the number of seconds that a slave SQL server is lagging
137666              behind the master, if the host is not a slave it will return -1.
137667              If  the  server  is configured to be a slave for replication but
137668              slave IO is not running then -2 will be returned. If  there  was
137669              an  error  connecting to the database or checking the slave sta‐
137670              tus, -3 will be returned.
137671
137672              CLI Example:
137673
137674                 salt '*' mysql.slave_lag
137675
137676       salt.modules.mysql.status(**connection_args)
137677              Return the status of a MySQL server using the  output  from  the
137678              SHOW STATUS query.
137679
137680              CLI Example:
137681
137682                 salt '*' mysql.status
137683
137684       salt.modules.mysql.tokenize_grant(grant)
137685              External wrapper function :param grant: :return: dict
137686
137687              CLI Example:
137688
137689                 salt '*' mysql.tokenize_grant             "GRANT SELECT, INSERT ON testdb.* TO 'testuser'@'localhost'"
137690
137691       salt.modules.mysql.user_chpass(user,  host=u'localhost', password=None,
137692       password_hash=None, allow_passwordless=False,  unix_socket=None,  pass‐
137693       word_column=None, **connection_args)
137694              Change password for a MySQL user
137695
137696              host   Host for which this user/password combo applies
137697
137698              password
137699                     The  password  to  set for the new user. Will take prece‐
137700                     dence over the password_hash option if  both  are  speci‐
137701                     fied.
137702
137703              password_hash
137704                     The  password  in hashed form. Be sure to quote the pass‐
137705                     word because YAML doesn't like the *. A password hash can
137706                     be obtained from the mysql command-line client like so:
137707
137708                        mysql> SELECT PASSWORD('mypass');
137709                        +-------------------------------------------+
137710                        | PASSWORD('mypass')                        |
137711                        +-------------------------------------------+
137712                        | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
137713                        +-------------------------------------------+
137714                        1 row in set (0.00 sec)
137715
137716              allow_passwordless
137717                     If  True,  then password and password_hash can be omitted
137718                     (or set to None) to permit a passwordless login.
137719
137720              New in version 0.16.2: The allow_passwordless option was added.
137721
137722
137723              CLI Examples:
137724
137725                 salt '*' mysql.user_chpass frank localhost newpassword
137726                 salt '*' mysql.user_chpass frank localhost password_hash='hash'
137727                 salt '*' mysql.user_chpass frank localhost allow_passwordless=True
137728
137729       salt.modules.mysql.user_create(user, host=u'localhost',  password=None,
137730       password_hash=None,  allow_passwordless=False, unix_socket=False, pass‐
137731       word_column=None,    auth_plugin=u'mysql_native_password',    **connec‐
137732       tion_args)
137733              Creates a MySQL user
137734
137735              host   Host for which this user/password combo applies
137736
137737              password
137738                     The  password  to  use for the new user. Will take prece‐
137739                     dence over the password_hash option if  both  are  speci‐
137740                     fied.
137741
137742              password_hash
137743                     The  password  in hashed form. Be sure to quote the pass‐
137744                     word because YAML doesn't like the *. A password hash can
137745                     be obtained from the mysql command-line client like so:
137746
137747                        mysql> SELECT PASSWORD('mypass');
137748                        +-------------------------------------------+
137749                        | PASSWORD('mypass')                        |
137750                        +-------------------------------------------+
137751                        | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
137752                        +-------------------------------------------+
137753                        1 row in set (0.00 sec)
137754
137755              allow_passwordless
137756                     If  True,  then password and password_hash can be omitted
137757                     (or set to None) to permit a passwordless login.
137758
137759              unix_socket
137760                     If True and allow_passwordless is True then will be  used
137761                     unix_socket auth plugin.
137762
137763              password_column
137764                     The password column to use in the user table.
137765
137766              auth_plugin
137767                     The  authentication  plugin to use, default is to use the
137768                     mysql_native_password plugin.
137769
137770              New in version 0.16.2: The allow_passwordless option was added.
137771
137772
137773              CLI Examples:
137774
137775                 salt '*' mysql.user_create 'username' 'hostname' 'password'
137776                 salt '*' mysql.user_create 'username' 'hostname' password_hash='hash'
137777                 salt '*' mysql.user_create 'username' 'hostname' allow_passwordless=True
137778
137779       salt.modules.mysql.user_exists(user, host=u'localhost',  password=None,
137780       password_hash=None,    passwordless=False,   unix_socket=False,   pass‐
137781       word_column=None, **connection_args)
137782              Checks if a user exists on the MySQL  server.  A  login  can  be
137783              checked  to  see  if passwordless login is permitted by omitting
137784              password and password_hash, and using passwordless=True.
137785
137786              New in version 0.16.2: The passwordless option was added.
137787
137788
137789              CLI Example:
137790
137791                 salt '*' mysql.user_exists 'username' 'hostname' 'password'
137792                 salt '*' mysql.user_exists 'username' 'hostname' password_hash='hash'
137793                 salt '*' mysql.user_exists 'username' passwordless=True
137794                 salt '*' mysql.user_exists 'username' password_column='authentication_string'
137795
137796       salt.modules.mysql.user_grants(user,    host=u'localhost',    **connec‐
137797       tion_args)
137798              Shows the grants for the given MySQL user (if it exists)
137799
137800              CLI Example:
137801
137802                 salt '*' mysql.user_grants 'frank' 'localhost'
137803
137804       salt.modules.mysql.user_info(user,     host=u'localhost',     **connec‐
137805       tion_args)
137806              Get full info on a MySQL user
137807
137808              CLI Example:
137809
137810                 salt '*' mysql.user_info root localhost
137811
137812       salt.modules.mysql.user_list(**connection_args)
137813              Return a list of users on a MySQL server
137814
137815              CLI Example:
137816
137817                 salt '*' mysql.user_list
137818
137819       salt.modules.mysql.user_remove(user,    host=u'localhost',    **connec‐
137820       tion_args)
137821              Delete MySQL user
137822
137823              CLI Example:
137824
137825                 salt '*' mysql.user_remove frank localhost
137826
137827       salt.modules.mysql.verify_login(user, password=None, **connection_args)
137828              Attempt to login using the provided credentials.  If successful,
137829              return true.  Otherwise, return False.
137830
137831              CLI Example:
137832
137833                 salt '*' mysql.verify_login root password
137834
137835       salt.modules.mysql.version(**connection_args)
137836              Return the version of a MySQL server using the output  from  the
137837              SELECT VERSION() query.
137838
137839              CLI Example:
137840
137841                 salt '*' mysql.version
137842
137843   salt.modules.nacl
137844       This  module  helps  include encrypted passwords in pillars, grains and
137845       salt state files.
137846
137847       depends
137848              libnacl, https://github.com/saltstack/libnacl
137849
137850       This is often useful if you wish to store your pillars in  source  con‐
137851       trol  or  share  your  pillar  data with others that you trust. I don't
137852       advise making your pillars public regardless if they are  encrypted  or
137853       not.
137854
137855       When  generating  keys  and encrypting passwords use --local when using
137856       salt-call for extra security. Also consider using just the salt  runner
137857       nacl when encrypting pillar passwords.
137858
137859       configuration
137860              The  following  configuration  defaults can be define (pillar or
137861              config files) Avoid storing private keys in pillars! Ensure mas‐
137862              ter does not have pillar_opts=True:
137863
137864                 # cat /etc/salt/master.d/nacl.conf
137865                 nacl.config:
137866                     # NOTE: `key` and `key_file` have been renamed to `sk`, `sk_file`
137867                     # also `box_type` default changed from secretbox to sealedbox.
137868                     box_type: sealedbox                     (default)
137869                     sk_file: /etc/salt/pki/master/nacl      (default)
137870                     pk_file: /etc/salt/pki/master/nacl.pub  (default)
137871                     sk: None
137872                     pk: None
137873
137874              Usage can override the config defaults:
137875
137876                 salt-call nacl.enc sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
137877
137878       The  nacl  lib  uses 32byte keys, these keys are base64 encoded to make
137879       your life more simple.  To generate your sk_file and pk_file use:
137880
137881          salt-call --local nacl.keygen sk_file=/etc/salt/pki/master/nacl
137882          # or if you want to work without files.
137883          salt-call --local nacl.keygen
137884          local:
137885              ----------
137886              pk:
137887                  /kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
137888              sk:
137889                  SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow=
137890
137891       Now with your keypair, you can encrypt data:
137892
137893       You have two option, sealedbox or secretbox.
137894
137895       SecretBox  is  data  encrypted  using  private  key  pk.  Sealedbox  is
137896       encrypted using public key pk.
137897
137898       Recommend using Sealedbox because the one way encryption permits devel‐
137899       opers to encrypt data for source control but  not  decrypt.   Sealedbox
137900       only has one key that is for both encryption and decryption.
137901
137902          salt-call --local nacl.enc asecretpass pk=/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
137903          tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58=
137904
137905       To decrypt the data:
137906
137907          salt-call --local nacl.dec data='tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='         sk='SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow='
137908
137909       When  the  keys  are defined in the master config you can use them from
137910       the nacl runner without extra parameters:
137911
137912          # cat /etc/salt/master.d/nacl.conf
137913          nacl.config:
137914              sk_file: /etc/salt/pki/master/nacl
137915              pk: 'cTIqXwnUiD1ulg4kXsbeCE7/NoeKEzd4nLeYcCFpd9k='
137916
137917          salt-run nacl.enc 'asecretpass'
137918          salt-run nacl.dec 'tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='
137919
137920          # a salt developers minion could have pillar data that includes a nacl public key
137921          nacl.config:
137922              pk: '/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0='
137923
137924       The developer can then use a less-secure system to encrypt data.
137925
137926          salt-call --local nacl.enc apassword
137927
137928       Pillar files can include protected data that the salt master decrypts:
137929
137930          pillarexample:
137931              user: root
137932              password1: {{salt.nacl.dec('DRB7Q6/X5gGSRCTpZyxS6hlbWj0llUA+uaVyvou3vJ4=')|json}}
137933              cert_key: {{salt.nacl.dec_file('/srv/salt/certs/example.com/key.nacl')|json}}
137934              cert_key2: {{salt.nacl.dec_file('salt:///certs/example.com/key.nacl')|json}}
137935
137936       Larger files like certificates can be encrypted with:
137937
137938          salt-call nacl.enc_file /tmp/cert.crt out=/tmp/cert.nacl
137939          # or more advanced
137940          cert=$(cat /tmp/cert.crt)
137941          salt-call --out=newline_values_only nacl.enc_pub data="$cert" > /tmp/cert.nacl
137942
137943       In pillars rended with jinja be sure to include |json  so  line  breaks
137944       are encoded:
137945
137946          cert: "{{salt.nacl.dec('S2uogToXkgENz9...085KYt')|json}}"
137947
137948       In states rendered with jinja it is also good pratice to include |json:
137949
137950          {{sls}} private key:
137951              file.managed:
137952                  - name: /etc/ssl/private/cert.key
137953                  - mode: 700
137954                  - contents: "{{pillar['pillarexample']['cert_key']|json}}"
137955
137956       Optional small program to encrypt data without needing salt modules.
137957
137958          #!/bin/python3
137959          import sys, base64, libnacl.sealed
137960          pk = base64.b64decode('YOURPUBKEY')
137961          b = libnacl.sealed.SealedBox(pk)
137962          data = sys.stdin.buffer.read()
137963          print(base64.b64encode(b.encrypt(data)).decode())
137964
137965          echo 'apassword' | nacl_enc.py
137966
137967       salt.modules.nacl.dec(data, **kwargs)
137968              Alias to {box_type}_decrypt
137969
137970              box_type: secretbox, sealedbox(default)
137971
137972       salt.modules.nacl.dec_file(name, out=None, **kwargs)
137973              This  is a helper function to decrypt a file and return its con‐
137974              tents.
137975
137976              You can provide an optional output file using out
137977
137978              name can be a local file or when not using salt-run can be a url
137979              like salt://, https:// etc.
137980
137981              CLI Examples:
137982
137983                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl
137984                 salt-call nacl.dec_file name=salt://crt/mycert.nacl out=/tmp/id_rsa
137985                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
137986
137987       salt.modules.nacl.enc(data, **kwargs)
137988              Alias to {box_type}_encrypt
137989
137990              box_type: secretbox, sealedbox(default)
137991
137992       salt.modules.nacl.enc_file(name, out=None, **kwargs)
137993              This  is a helper function to encrypt a file and return its con‐
137994              tents.
137995
137996              You can provide an optional output file using out
137997
137998              name can be a local file or when not using salt-run can be a url
137999              like salt://, https:// etc.
138000
138001              CLI Examples:
138002
138003                 salt-run nacl.enc_file name=/tmp/id_rsa
138004                 salt-call nacl.enc_file name=salt://crt/mycert out=/tmp/cert
138005                 salt-run nacl.enc_file name=/tmp/id_rsa box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
138006
138007       salt.modules.nacl.keygen(sk_file=None, pk_file=None, **kwargs)
138008              Use libnacl to generate a keypair.
138009
138010              If no sk_file is defined return a keypair.
138011
138012              If  only  the  sk_file is defined pk_file will use the same name
138013              with a postfix .pub.
138014
138015              When the sk_file is already existing, but pk_file  is  not.  The
138016              pk_file will be generated using the sk_file.
138017
138018              CLI Examples:
138019
138020                 salt-call nacl.keygen
138021                 salt-call nacl.keygen sk_file=/etc/salt/pki/master/nacl
138022                 salt-call nacl.keygen sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
138023                 salt-call --local nacl.keygen
138024
138025       salt.modules.nacl.sealedbox_decrypt(data, **kwargs)
138026              Decrypt  data using a secret key that was encrypted using a pub‐
138027              lic key with nacl.sealedbox_encrypt.
138028
138029              CLI Examples:
138030
138031                 salt-call nacl.sealedbox_decrypt pEXHQM6cuaF7A=
138032                 salt-call --local nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
138033                 salt-call --local nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
138034
138035       salt.modules.nacl.sealedbox_encrypt(data, **kwargs)
138036              Encrypt data using a public key generated from nacl.keygen.  The
138037              encryptd data can be decrypted using nacl.sealedbox_decrypt only
138038              with the secret key.
138039
138040              CLI Examples:
138041
138042                 salt-run nacl.sealedbox_encrypt datatoenc
138043                 salt-call --local nacl.sealedbox_encrypt datatoenc pk_file=/etc/salt/pki/master/nacl.pub
138044                 salt-call --local nacl.sealedbox_encrypt datatoenc pk='vrwQF7cNiNAVQVAiS3bvcbJUnF0cN6fU9YTZD9mBfzQ='
138045
138046       salt.modules.nacl.secretbox_decrypt(data, **kwargs)
138047              Decrypt data that  was  encrypted  using  nacl.secretbox_encrypt
138048              using the secret key that was generated from nacl.keygen.
138049
138050              CLI Examples:
138051
138052                 salt-call nacl.secretbox_decrypt pEXHQM6cuaF7A=
138053                 salt-call --local nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
138054                 salt-call --local nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
138055
138056       salt.modules.nacl.secretbox_encrypt(data, **kwargs)
138057              Encrypt data using a secret key generated from nacl.keygen.  The
138058              same  secret  key  can  be  used  to  decrypt  the  data   using
138059              nacl.secretbox_decrypt.
138060
138061              CLI Examples:
138062
138063                 salt-run nacl.secretbox_encrypt datatoenc
138064                 salt-call --local nacl.secretbox_encrypt datatoenc sk_file=/etc/salt/pki/master/nacl
138065                 salt-call --local nacl.secretbox_encrypt datatoenc sk='YmFkcGFzcwo='
138066
138067   salt.modules.nagios
138068       Run nagios plugins/checks from salt and get the return as data.
138069
138070       salt.modules.nagios.list_plugins()
138071              List all the nagios plugins
138072
138073              CLI Example:
138074
138075                 salt '*' nagios.list_plugins
138076
138077       salt.modules.nagios.retcode(plugin, args=u'', key_name=None)
138078              Run one nagios plugin and return retcode of the execution
138079
138080       salt.modules.nagios.retcode_pillar(pillar_name)
138081              Run  one  or  more  nagios  plugins from pillar data and get the
138082              result of cmd.retcode The pillar have to be in this format:
138083
138084                 ------
138085                 webserver:
138086                     Ping_google:
138087                         - check_icmp: 8.8.8.8
138088                         - check_icmp: google.com
138089                     Load:
138090                         - check_load: -w 0.8 -c 1
138091                     APT:
138092                         - check_apt
138093                 -------
138094
138095              webserver is the role to check, the next keys are the group  and
138096              the items the check with the arguments if needed
138097
138098              You  must  to  group  different checks(one o more) and always it
138099              will return the highest value of all the checks
138100
138101              CLI Example:
138102
138103                 salt '*' nagios.retcode webserver
138104
138105       salt.modules.nagios.run(plugin, args=u'')
138106              Run nagios plugin and return all the data execution with cmd.run
138107
138108              CLI Example:
138109
138110                 salt '*' nagios.run check_apt
138111                 salt '*' nagios.run check_icmp '8.8.8.8'
138112
138113       salt.modules.nagios.run_all(plugin, args=u'')
138114              Run nagios  plugin  and  return  all  the  data  execution  with
138115              cmd.run_all
138116
138117       salt.modules.nagios.run_all_pillar(pillar_name)
138118              Run  one  or  more  nagios  plugins from pillar data and get the
138119              result of cmd.run_all The pillar have to be in this format:
138120
138121                 ------
138122                 webserver:
138123                     Ping_google:
138124                         - check_icmp: 8.8.8.8
138125                         - check_icmp: google.com
138126                     Load:
138127                         - check_load: -w 0.8 -c 1
138128                     APT:
138129                         - check_apt
138130                 -------
138131
138132              webserver is the role to check, the next keys are the group  and
138133              the items the check with the arguments if needed
138134
138135              You have to group different checks in a group
138136
138137              CLI Example:
138138
138139                 salt '*' nagios.run webserver
138140
138141       salt.modules.nagios.run_pillar(pillar_name)
138142              Run  one  or  more  nagios  plugins from pillar data and get the
138143              result of cmd.run The pillar have to be in this format:
138144
138145                 ------
138146                 webserver:
138147                     Ping_google:
138148                         - check_icmp: 8.8.8.8
138149                         - check_icmp: google.com
138150                     Load:
138151                         - check_load: -w 0.8 -c 1
138152                     APT:
138153                         - check_apt
138154                 -------
138155
138156              webserver is the role to check, the next keys are the group  and
138157              the items the check with the arguments if needed
138158
138159              You have to group different checks in a group
138160
138161              CLI Example:
138162
138163                 salt '*' nagios.run webserver
138164
138165   salt.modules.nagios_rpc
138166       Check Host & Service status from Nagios via JSON RPC.
138167
138168       New in version 2015.8.0.
138169
138170
138171       salt.modules.nagios_rpc.host_status(hostname=None, **kwargs)
138172              Check  status  of  a  particular  host  By  default statuses are
138173              returned in a numeric format.
138174
138175              Parameters:
138176
138177              hostname
138178                     The hostname to  check  the  status  of  the  service  in
138179                     Nagios.
138180
138181              numeric
138182                     Turn  to  false  in order to return status in text format
138183                     ('OK' instead of 0, 'Warning' instead of 1 etc)
138184
138185              Returns
138186                     status:     'OK', 'Warning', 'Critical' or 'Unknown'
138187
138188              CLI Example:
138189
138190                 salt '*' nagios_rpc.host_status hostname=webserver.domain.com
138191                 salt '*' nagios_rpc.host_status hostname=webserver.domain.com numeric=False
138192
138193       salt.modules.nagios_rpc.service_status(hostname=None,     service=None,
138194       **kwargs)
138195              Check  status of a particular service on a host on it in Nagios.
138196              By default statuses are returned in a numeric format.
138197
138198              Parameters:
138199
138200              hostname
138201                     The hostname to  check  the  status  of  the  service  in
138202                     Nagios.
138203
138204              service
138205                     The service to check the status of in Nagios.
138206
138207              numeric
138208                     Turn  to  false  in order to return status in text format
138209                     ('OK' instead of 0, 'Warning' instead of 1 etc)
138210
138211              Returns
138212                     status:     'OK', 'Warning', 'Critical' or 'Unknown'
138213
138214              CLI Example:
138215
138216                 salt '*' nagios_rpc.service_status hostname=webserver.domain.com service='HTTP'
138217                 salt '*' nagios_rpc.service_status hostname=webserver.domain.com service='HTTP' numeric=False
138218
138219   salt.modules.namecheap_domains_dns
138220       Namecheap DNS Management
138221
138222       New in version 2017.7.0.
138223
138224
138225   Prerequisites
138226       This module uses the requests  Python  module  to  communicate  to  the
138227       namecheap API.
138228
138229   Configuration
138230       The  Namecheap  username,  API  key and URL should be set in the minion
138231       configuration file, or in the Pillar data.
138232
138233          namecheap.name: companyname
138234          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
138235          namecheap.client_ip: 162.155.30.172
138236          #Real url
138237          namecheap.url: https://api.namecheap.com/xml.response
138238          #Sandbox url
138239          #namecheap.url: https://api.sandbox.namecheap.xml.response
138240
138241       salt.modules.namecheap_domains_dns.get_hosts(sld, tld)
138242              Retrieves DNS host record settings for the requested domain.
138243
138244              returns a dictionary of information about the requested domain
138245
138246              sld    SLD of the domain name
138247
138248              tld    TLD of the domain name
138249
138250              CLI Example:
138251
138252                 salt 'my-minion' namecheap_domains_dns.get_hosts sld tld
138253
138254       salt.modules.namecheap_domains_dns.get_list(sld, tld)
138255              Gets a list of DNS servers associated with the requested domain.
138256
138257              returns a dictionary of information about requested domain
138258
138259              sld    SLD of the domain name
138260
138261              tld    TLD of the domain name
138262
138263              CLI Example:
138264
138265                 salt 'my-minion' namecheap_domains_dns.get_list sld tld
138266
138267       salt.modules.namecheap_domains_dns.set_custom(sld, tld, nameservers)
138268              Sets domain to use custom DNS servers.
138269
138270              returns True if the custom nameservers were set successfully
138271
138272              sld    SLD of the domain name
138273
138274              tld    TLD of the domain name
138275
138276              nameservers
138277                     array of strings  List of nameservers  to  be  associated
138278                     with this domain
138279
138280              CLI Example:
138281
138282                 salt 'my-minion' namecheap_domains_dns.set_custom sld tld nameserver
138283
138284       salt.modules.namecheap_domains_dns.set_default(sld, tld)
138285              Sets  domain  to use namecheap default DNS servers. Required for
138286              free services like Host record management, URL forwarding, email
138287              forwarding, dynamic DNS and other value added services.
138288
138289              sld    SLD of the domain name
138290
138291              tld    TLD of the domain name
138292
138293              Returns  True  if  the  domain  was  successfully pointed at the
138294              default DNS servers.
138295
138296              CLI Example:
138297
138298                 salt 'my-minion' namecheap_domains_dns.set_default sld tld
138299
138300       salt.modules.namecheap_domains_dns.set_hosts(sld, tld, hosts)
138301              Sets DNS host records settings for the requested domain.
138302
138303              returns True if the host records were set successfully
138304
138305              sld    SLD of the domain name
138306
138307              tld    TLD of the domain name
138308
138309              hosts  Must be passed as a list  of  Python  dictionaries,  with
138310                     each dictionary containing the following keys:
138311
138312                     · hostname
138313
138314                     · recordtype  - One of A, AAAA, CNAME, MX, MXE, TXT, URL,
138315                       URL301, or FRAME
138316
138317                     · address - URL or IP address
138318
138319                     · ttl - An integer between 60 and 60000 (default: 1800)
138320
138321                     Additonally, the mxpref key can be present, but  must  be
138322                     accompanied by an emailtype key.
138323
138324              CLI Example:
138325
138326                 salt 'my-minion' namecheap_domains_dns.set_hosts sld tld hosts
138327
138328   salt.modules.namecheap_domains module
138329       Namecheap Domain Management
138330
138331       New in version 2017.7.0.
138332
138333
138334   Prerequisites
138335       This  module  uses  the  requests  Python  module to communicate to the
138336       namecheap API.
138337
138338   Configuration
138339       The Namecheap username, API key and URL should be  set  in  the  minion
138340       configuration file, or in the Pillar data.
138341
138342          namecheap.name: companyname
138343          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
138344          namecheap.client_ip: 162.155.30.172
138345          #Real url
138346          namecheap.url: https://api.namecheap.com/xml.response
138347          #Sandbox url
138348          #namecheap.url: https://api.sandbox.namecheap.xml.response
138349
138350       salt.modules.namecheap_domains.check(*domains_to_check)
138351              Checks the availability of domains
138352
138353              domains_to_check
138354                     array of strings  List of domains to check
138355
138356              Returns  a  dictionary mapping the each domain name to a boolean
138357              denoting whether or not it is available.
138358
138359              CLI Example:
138360
138361                 salt 'my-minion' namecheap_domains.check domain-to-check
138362
138363       salt.modules.namecheap_domains.create(domain_name, years, **kwargs)
138364              Try to register the specified domain name
138365
138366              domain_name
138367                     The domain name to be registered
138368
138369              years  Number of years to register
138370
138371              Returns the following information:
138372
138373              · Whether or not the domain was renewed successfully
138374
138375              · Whether or not WhoisGuard is enabled
138376
138377              · Whether or not registration is instant
138378
138379              · The amount charged for registration
138380
138381              · The domain ID
138382
138383              · The order ID
138384
138385              · The transaction ID
138386
138387              CLI Example:
138388
138389                 salt 'my-minion' namecheap_domains.create my-domain-name 2
138390
138391       salt.modules.namecheap_domains.get_info(domain_name)
138392              Returns information about the requested domain
138393
138394              returns a dictionary of information about the domain_name
138395
138396              domain_name
138397                     string  Domain name to get information about
138398
138399              CLI Example:
138400
138401                 salt 'my-minion' namecheap_domains.get_info my-domain-name
138402
138403       salt.modules.namecheap_domains.get_list(list_type=None,
138404       search_term=None, page=None, page_size=None, sort_by=None)
138405              Returns  a  list of domains for the particular user as a list of
138406              objects offset by page length of page_size
138407
138408              list_type
138409                     ALL One of ALL, EXPIRING, EXPIRED
138410
138411              search_term
138412                     Keyword to look for on the domain list
138413
138414              page   1 Number of result page to return
138415
138416              page_size
138417                     20 Number of domains to be listed per page (minimum:  10,
138418                     maximum: 100)
138419
138420              sort_by
138421                     One of NAME, NAME_DESC, EXPIREDATE, EXPIREDATE_DESC, CRE‐
138422                     ATEDATE, or CREATEDATE_DESC
138423
138424              CLI Example:
138425
138426                 salt 'my-minion' namecheap_domains.get_list
138427
138428       salt.modules.namecheap_domains.get_tld_list()
138429              Returns a list of TLDs as objects
138430
138431              CLI Example:
138432
138433                 salt 'my-minion' namecheap_domains.get_tld_list
138434
138435       salt.modules.namecheap_domains.reactivate(domain_name)
138436              Try to reactivate the expired domain name
138437
138438              Returns the following information:
138439
138440              · Whether or not the domain was reactivated successfully
138441
138442              · The amount charged for reactivation
138443
138444              · The order ID
138445
138446              · The transaction ID
138447
138448              CLI Example:
138449
138450                 salt 'my-minion' namecheap_domains.reactivate my-domain-name
138451
138452       salt.modules.namecheap_domains.renew(domain_name,     years,     promo‐
138453       tion_code=None)
138454              Try  to renew the specified expiring domain name for a specified
138455              number of years
138456
138457              domain_name
138458                     The domain name to be renewed
138459
138460              years  Number of years to renew
138461
138462              Returns the following information:
138463
138464              · Whether or not the domain was renewed successfully
138465
138466              · The domain ID
138467
138468              · The order ID
138469
138470              · The transaction ID
138471
138472              · The amount charged for renewal
138473
138474              CLI Example:
138475
138476                 salt 'my-minion' namecheap_domains.renew my-domain-name 5
138477
138478   salt.modules.namecheap_domains_ns
138479       Namecheap Nameserver Management
138480
138481       New in version 2017.7.0.
138482
138483
138484   Prerequisites
138485       This module uses the requests  Python  module  to  communicate  to  the
138486       namecheap API.
138487
138488   Configuration
138489       The  Namecheap  username,  API  key and URL should be set in the minion
138490       configuration file, or in the Pillar data.
138491
138492          namecheap.name: companyname
138493          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
138494          namecheap.client_ip: 162.155.30.172
138495          #Real url
138496          namecheap.url: https://api.namecheap.com/xml.response
138497          #Sandbox url
138498          #namecheap.url: https://api.sandbox.namecheap.xml.response
138499
138500       salt.modules.namecheap_domains_ns.create(sld, tld, nameserver, ip)
138501              Creates a new nameserver. Returns True  if  the  nameserver  was
138502              created successfully.
138503
138504              sld    SLD of the domain name
138505
138506              tld    TLD of the domain name
138507
138508              nameserver
138509                     Nameserver to create
138510
138511              ip     Nameserver IP address
138512
138513              CLI Example:
138514
138515                 salt '*' namecheap_domains_ns.create sld tld nameserver ip
138516
138517       salt.modules.namecheap_domains_ns.delete(sld, tld, nameserver)
138518              Deletes a nameserver. Returns True if the nameserver was deleted
138519              successfully
138520
138521              sld    SLD of the domain name
138522
138523              tld    TLD of the domain name
138524
138525              nameserver
138526                     Nameserver to delete
138527
138528              CLI Example:
138529
138530                 salt '*' namecheap_domains_ns.delete sld tld nameserver
138531
138532       salt.modules.namecheap_domains_ns.get_info(sld, tld, nameserver)
138533              Retrieves information about a registered nameserver. Returns the
138534              following information:
138535
138536              · IP Address set for the nameserver
138537
138538              · Domain name which was queried
138539
138540              · A list of nameservers and their statuses
138541
138542              sld    SLD of the domain name
138543
138544              tld    TLD of the domain name
138545
138546              nameserver
138547                     Nameserver to retrieve
138548
138549              CLI Example:
138550
138551                 salt '*' namecheap_domains_ns.get_info sld tld nameserver
138552
138553       salt.modules.namecheap_domains_ns.update(sld,  tld, nameserver, old_ip,
138554       new_ip)
138555              Deletes a nameserver. Returns True if the nameserver was updated
138556              successfully.
138557
138558              sld    SLD of the domain name
138559
138560              tld    TLD of the domain name
138561
138562              nameserver
138563                     Nameserver to create
138564
138565              old_ip Current ip address
138566
138567              new_ip New ip address
138568
138569              CLI Example:
138570
138571                 salt '*' namecheap_domains_ns.update sld tld nameserver old_ip new_ip
138572
138573   salt.modules.namecheap_ssl module
138574       Namecheap SSL Certificate Management
138575
138576       New in version 2017.7.0.
138577
138578
138579   Prerequisites
138580       This  module  uses  the  requests  Python  module to communicate to the
138581       namecheap API.
138582
138583   Configuration
138584       The Namecheap username, API key and URL should be  set  in  the  minion
138585       configuration file, or in the Pillar data.
138586
138587          namecheap.name: companyname
138588          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
138589          namecheap.client_ip: 162.155.30.172
138590          #Real url
138591          namecheap.url: https://api.namecheap.com/xml.response
138592          #Sandbox url
138593          #namecheap.url: https://api.sandbox.namecheap.xml.response
138594
138595       salt.modules.namecheap_ssl.activate(csr_file,           certificate_id,
138596       web_server_type,     approver_email=None,     http_dc_validation=False,
138597       **kwargs)
138598              Activates  a  newly-purchased SSL certificate. Returns a dictio‐
138599              nary of result values.
138600
138601              csr_file
138602                     Path to Certificate Signing Request file
138603
138604              certificate_id
138605                     Unique ID of the SSL certificate you wish to activate
138606
138607              web_server_type
138608                     The type of certificate format to return. Possible values
138609                     include:
138610
138611                     · apache2
138612
138613                     · apacheapachessl
138614
138615                     · apacheopenssl
138616
138617                     · apacheraven
138618
138619                     · apachessl
138620
138621                     · apachessleay
138622
138623                     · c2net
138624
138625                     · cobaltseries
138626
138627                     · cpanel
138628
138629                     · domino
138630
138631                     · dominogo4625
138632
138633                     · dominogo4626
138634
138635                     · ensim
138636
138637                     · hsphere
138638
138639                     · ibmhttp
138640
138641                     · iis
138642
138643                     · iis4
138644
138645                     · iis5
138646
138647                     · iplanet
138648
138649                     · ipswitch
138650
138651                     · netscape
138652
138653                     · other
138654
138655                     · plesk
138656
138657                     · tomcat
138658
138659                     · weblogic
138660
138661                     · website
138662
138663                     · webstar
138664
138665                     · zeusv3
138666
138667              approver_email
138668                     The email ID which is on the approver email list.
138669
138670                     NOTE:
138671                        http_dc_validation must be set to False if this option
138672                        is used.
138673
138674              http_dc_validation
138675                     False Whether or not to activate using HTTP-based valida‐
138676                     tion.
138677
138678              NOTE:
138679                 For other parameters which may be required, see here.
138680
138681              CLI Example:
138682
138683                 salt 'my-minion' namecheap_ssl.activate my-csr-file my-cert-id apachessl
138684
138685       salt.modules.namecheap_ssl.create(years,    certificate_type,    promo‐
138686       tion_code=None, sans_to_add=None)
138687              Creates a new SSL certificate. Returns  the  following  informa‐
138688              tion:
138689
138690              · Whether or not the SSL order was successful
138691
138692              · The certificate ID
138693
138694              · The order ID
138695
138696              · The transaction ID
138697
138698              · The amount charged for the order
138699
138700              · The date on which the certificate was created
138701
138702              · The date on which the certificate will expire
138703
138704              · The type of SSL certificate
138705
138706              · The number of years for which the certificate was purchased
138707
138708              · The current status of the SSL certificate
138709
138710              years  1 Number of years to register
138711
138712              certificate_type
138713                     Type of SSL Certificate. Possible values include:
138714
138715                     · EV Multi Domain SSL
138716
138717                     · EV SSL
138718
138719                     · EV SSL SGC
138720
138721                     · EssentialSSL
138722
138723                     · EssentialSSL Wildcard
138724
138725                     · InstantSSL
138726
138727                     · InstantSSL Pro
138728
138729                     · Multi Domain SSL
138730
138731                     · PositiveSSL
138732
138733                     · PositiveSSL Multi Domain
138734
138735                     · PositiveSSL Wildcard
138736
138737                     · PremiumSSL
138738
138739                     · PremiumSSL Wildcard
138740
138741                     · QuickSSL Premium
138742
138743                     · RapidSSL
138744
138745                     · RapidSSL Wildcard
138746
138747                     · SGC Supercert
138748
138749                     · SSL Web Server
138750
138751                     · SSL Webserver EV
138752
138753                     · SSL123
138754
138755                     · Secure Site
138756
138757                     · Secure Site Pro
138758
138759                     · Secure Site Pro with EV
138760
138761                     · Secure Site with EV
138762
138763                     · True BusinessID
138764
138765                     · True BusinessID Multi Domain
138766
138767                     · True BusinessID Wildcard
138768
138769                     · True BusinessID with EV
138770
138771                     · True BusinessID with EV Multi Domain
138772
138773                     · Unified Communications
138774
138775              promotional_code
138776                     An  optional promo code to use when creating the certifi‐
138777                     cate
138778
138779              sans_to_add
138780                     0 This parameter defines the number of add-on domains  to
138781                     be purchased in addition to the default number of domains
138782                     included with a multi-domain certificate.  Each  certifi‐
138783                     cate that supports SANs has the default number of domains
138784                     included. You may check the  default  number  of  domains
138785                     included  and  the  maximum number of domains that can be
138786                     added to it in the table below.
138787
138788         ┌─────────┬───────────────┬───────────────┬───────────────┬───────────────┐
138789         │Provider │ Product name  │ Default  num‐ │ Maximum  num‐ │ Maximum  num‐ │
138790         │         │               │ ber        of │ ber of  total │ ber        of │
138791         │         │               │ domains       │ domains       │ domains  that │
138792         │         │               │ (domain  from │               │ can be passed │
138793         │         │               │ CSR        is │               │ in            │
138794         │         │               │ counted here) │               │ sans_to_add   │
138795         │         │               │               │               │ parameter     │
138796         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138797         │Comodo   │ PositiveSSL   │ 3             │ 100           │ 97            │
138798         │         │ Multi-Domain  │               │               │               │
138799         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138800         │Comodo   │ Multi-Domain  │ 3             │ 100           │ 97            │
138801         │         │ SSL           │               │               │               │
138802         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138803         │Comodo   │ EV     Multi- │ 3             │ 100           │ 97            │
138804         │         │ Domain SSL    │               │               │               │
138805         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138806         │Comodo   │ Unified  Com‐ │ 3             │ 100           │ 97            │
138807         │         │ munications   │               │               │               │
138808         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138809         │GeoTrust │ QuickSSL Pre‐ │ 1             │ 1 domain +  4 │ The only sup‐ │
138810         │         │ mium          │               │ subdomains    │ ported  value │
138811         │         │               │               │               │ is 4          │
138812         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138813         │GeoTrust │ True Busines‐ │ 5             │ 25            │ 20            │
138814         │         │ sID  with  EV │               │               │               │
138815         │         │ Multi-Domain  │               │               │               │
138816         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138817         │GeoTrust │ True Business │ 5             │ 25            │ 20            │
138818         │         │ ID     Multi- │               │               │               │
138819         │         │ Domain        │               │               │               │
138820         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138821         │Thawte   │ SSL       Web │ 1             │ 25            │ 24            │
138822         │         │ Server        │               │               │               │
138823         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138824         │Thawte   │ SSL       Web │ 1             │ 25            │ 24            │
138825         │         │ Server   with │               │               │               │
138826         │         │ EV            │               │               │               │
138827         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138828         │Thawte   │ SGC           │ 1             │ 25            │ 24            │
138829         │         │ Supercerts    │               │               │               │
138830         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138831         │Symantec │ Secure   Site │ 1             │ 25            │ 24            │
138832         │         │ Pro with EV   │               │               │               │
138833         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138834         │Symantec │ Secure   Site │ 1             │ 25            │ 24            │
138835         │         │ with EV       │               │               │               │
138836         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138837         │Symantec │ Secure Site   │ 1             │ 25            │ 24            │
138838         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
138839         │Symantec │ Secure   Site │ 1             │ 25            │ 24            │
138840         │         │ Pro           │               │               │               │
138841         └─────────┴───────────────┴───────────────┴───────────────┴───────────────┘
138842
138843              CLI Example:
138844
138845                 salt 'my-minion' namecheap_ssl.create 2 RapidSSL
138846
138847       salt.modules.namecheap_ssl.get_info(certificate_id,      returncertifi‐
138848       cate=False, returntype=None)
138849              Retrieves  information  about  the  requested  SSL  certificate.
138850              Returns a dictionary of information about  the  SSL  certificate
138851              with two keys:
138852
138853              · ssl - Contains the metadata information
138854
138855              · certificate - Contains the details for the certificate such as
138856                the CSR, Approver, and certificate data
138857
138858              certificate_id
138859                     Unique ID of the SSL certificate
138860
138861              returncertificate
138862                     False Set to True to ask for the certificate in response
138863
138864              returntype
138865                     Optional type for the returned certificate. Can be either
138866                     "Individual" (for X.509 format) or "PKCS7"
138867
138868                     NOTE:
138869                        Required if returncertificate is True
138870
138871              CLI Example:
138872
138873                 salt 'my-minion' namecheap_ssl.get_info my-cert-id
138874
138875       salt.modules.namecheap_ssl.get_list(**kwargs)
138876              Returns a list of SSL certificates for a particular user
138877
138878              ListType
138879                     All Possible values:
138880
138881                     · All
138882
138883                     · Processing
138884
138885                     · EmailSent
138886
138887                     · TechnicalProblem
138888
138889                     · InProgress
138890
138891                     · Completed
138892
138893                     · Deactivated
138894
138895                     · Active
138896
138897                     · Cancelled
138898
138899                     · NewPurchase
138900
138901                     · NewRenewal
138902
138903                     SearchTerm
138904                            Keyword to look for on the SSL list
138905
138906                     Page   1 Page number to return
138907
138908                     PageSize
138909                            20 Total number of SSL certificates to display per
138910                            page (minimum: 10, maximum: 100)
138911
138912                     SoryBy One of PURCHASEDATE,  PURCHASEDATE_DESC,  SSLTYPE,
138913                            SSLTYPE_DESC, EXPIREDATETIME, EXPIREDATETIME_DESC,
138914                            Host_Name, or Host_Name_DESC
138915
138916              CLI Example:
138917
138918                 salt 'my-minion' namecheap_ssl.get_list Processing
138919
138920       salt.modules.namecheap_ssl.parse_csr(csr_file,        certificate_type,
138921       http_dc_validation=False)
138922              Parses the CSR. Returns a dictionary of result values.
138923
138924              csr_file
138925                     Path to Certificate Signing Request file
138926
138927              certificate_type
138928                     Type of SSL Certificate. Possible values include:
138929
138930                     · EV Multi Domain SSL
138931
138932                     · EV SSL
138933
138934                     · EV SSL SGC
138935
138936                     · EssentialSSL
138937
138938                     · EssentialSSL Wildcard
138939
138940                     · InstantSSL
138941
138942                     · InstantSSL Pro
138943
138944                     · Multi Domain SSL
138945
138946                     · PositiveSSL
138947
138948                     · PositiveSSL Multi Domain
138949
138950                     · PositiveSSL Wildcard
138951
138952                     · PremiumSSL
138953
138954                     · PremiumSSL Wildcard
138955
138956                     · QuickSSL Premium
138957
138958                     · RapidSSL
138959
138960                     · RapidSSL Wildcard
138961
138962                     · SGC Supercert
138963
138964                     · SSL Web Server
138965
138966                     · SSL Webserver EV
138967
138968                     · SSL123
138969
138970                     · Secure Site
138971
138972                     · Secure Site Pro
138973
138974                     · Secure Site Pro with EV
138975
138976                     · Secure Site with EV
138977
138978                     · True BusinessID
138979
138980                     · True BusinessID Multi Domain
138981
138982                     · True BusinessID Wildcard
138983
138984                     · True BusinessID with EV
138985
138986                     · True BusinessID with EV Multi Domain
138987
138988                     · Unified Communications
138989
138990              http_dc_validation
138991                     False  Set to True if a Comodo certificate and validation
138992                     should be done with files instead of emails and to return
138993                     the info to do so
138994
138995              CLI Example:
138996
138997                 salt 'my-minion' namecheap_ssl.parse_csr my-csr-file PremiumSSL
138998
138999       salt.modules.namecheap_ssl.reissue(csr_file,            certificate_id,
139000       web_server_type,     approver_email=None,     http_dc_validation=False,
139001       **kwargs)
139002              Reissues  a  purchased  SSL certificate. Returns a dictionary of
139003              result values.
139004
139005              csr_file
139006                     Path to Certificate Signing Request file
139007
139008              certificate_id
139009                     Unique ID of the SSL certificate you wish to activate
139010
139011              web_server_type
139012                     The type of certificate format to return. Possible values
139013                     include:
139014
139015                     · apache2
139016
139017                     · apacheapachessl
139018
139019                     · apacheopenssl
139020
139021                     · apacheraven
139022
139023                     · apachessl
139024
139025                     · apachessleay
139026
139027                     · c2net
139028
139029                     · cobaltseries
139030
139031                     · cpanel
139032
139033                     · domino
139034
139035                     · dominogo4625
139036
139037                     · dominogo4626
139038
139039                     · ensim
139040
139041                     · hsphere
139042
139043                     · ibmhttp
139044
139045                     · iis
139046
139047                     · iis4
139048
139049                     · iis5
139050
139051                     · iplanet
139052
139053                     · ipswitch
139054
139055                     · netscape
139056
139057                     · other
139058
139059                     · plesk
139060
139061                     · tomcat
139062
139063                     · weblogic
139064
139065                     · website
139066
139067                     · webstar
139068
139069                     · zeusv3
139070
139071              approver_email
139072                     The email ID which is on the approver email list.
139073
139074                     NOTE:
139075                        http_dc_validation must be set to False if this option
139076                        is used.
139077
139078              http_dc_validation
139079                     False Whether or not to activate using HTTP-based valida‐
139080                     tion.
139081
139082              NOTE:
139083                 For other parameters which may be required, see here.
139084
139085              CLI Example:
139086
139087                 salt 'my-minion' namecheap_ssl.reissue my-csr-file my-cert-id apachessl
139088
139089       salt.modules.namecheap_ssl.renew(years,     certificate_id,    certifi‐
139090       cate_type, promotion_code=None)
139091              Renews an SSL certificate if it is  ACTIVE  and  Expires  <=  30
139092              days. Returns the following information:
139093
139094              · The certificate ID
139095
139096              · The order ID
139097
139098              · The transaction ID
139099
139100              · The amount charged for the order
139101
139102              years  1 Number of years to register
139103
139104              certificate_id
139105                     Unique ID of the SSL certificate you wish to renew
139106
139107              certificate_type
139108                     Type of SSL Certificate. Possible values include:
139109
139110                     · EV Multi Domain SSL
139111
139112                     · EV SSL
139113
139114                     · EV SSL SGC
139115
139116                     · EssentialSSL
139117
139118                     · EssentialSSL Wildcard
139119
139120                     · InstantSSL
139121
139122                     · InstantSSL Pro
139123
139124                     · Multi Domain SSL
139125
139126                     · PositiveSSL
139127
139128                     · PositiveSSL Multi Domain
139129
139130                     · PositiveSSL Wildcard
139131
139132                     · PremiumSSL
139133
139134                     · PremiumSSL Wildcard
139135
139136                     · QuickSSL Premium
139137
139138                     · RapidSSL
139139
139140                     · RapidSSL Wildcard
139141
139142                     · SGC Supercert
139143
139144                     · SSL Web Server
139145
139146                     · SSL Webserver EV
139147
139148                     · SSL123
139149
139150                     · Secure Site
139151
139152                     · Secure Site Pro
139153
139154                     · Secure Site Pro with EV
139155
139156                     · Secure Site with EV
139157
139158                     · True BusinessID
139159
139160                     · True BusinessID Multi Domain
139161
139162                     · True BusinessID Wildcard
139163
139164                     · True BusinessID with EV
139165
139166                     · True BusinessID with EV Multi Domain
139167
139168                     · Unified Communications
139169
139170              promotional_code
139171                     An  optional promo code to use when renewing the certifi‐
139172                     cate
139173
139174              CLI Example:
139175
139176                 salt 'my-minion' namecheap_ssl.renew 1 my-cert-id RapidSSL
139177
139178   salt.modules.namecheap_users module
139179       Namecheap User Management
139180
139181       New in version 2017.7.0.
139182
139183
139184   Prerequisites
139185       This module uses the requests  Python  module  to  communicate  to  the
139186       namecheap API.
139187
139188   Configuration
139189       The  Namecheap  username,  API  key and URL should be set in the minion
139190       configuration file, or in the Pillar data.
139191
139192          namecheap.name: companyname
139193          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
139194          namecheap.client_ip: 162.155.30.172
139195          #Real url
139196          namecheap.url: https://api.namecheap.com/xml.response
139197          #Sandbox url
139198          #namecheap.url: https://api.sandbox.namecheap.xml.response
139199
139200       salt.modules.namecheap_users.check_balances(minimum=100)
139201              Checks if the provided minimum value is present  in  the  user's
139202              account.
139203
139204              Returns  a  boolean. Returns False if the user's account balance
139205              is less than the provided minimum or True if  greater  than  the
139206              minimum.
139207
139208              minimum
139209                     100 The value to check
139210
139211              CLI Example:
139212
139213                 salt 'my-minion' namecheap_users.check_balances
139214                 salt 'my-minion' namecheap_users.check_balances minimum=150
139215
139216       salt.modules.namecheap_users.get_balances()
139217              Gets  information  about fund in the user's account. This method
139218              returns the following information:  Available  Balance,  Account
139219              Balance,  Earned  Amount, Withdrawable Amount and Funds Required
139220              for AutoRenew.
139221
139222              NOTE:
139223                 If a domain setup with automatic renewal is  expiring  within
139224                 the  next  90  days,  the FundsRequiredForAutoRenew attribute
139225                 shows the amount needed in your Namecheap account to complete
139226                 auto renewal.
139227
139228              CLI Example:
139229
139230                 salt 'my-minion' namecheap_users.get_balances
139231
139232   salt.modules.napalm_mod module
139233   NAPALM helpers
139234       Helpers for the NAPALM modules.
139235
139236       New in version 2017.7.0.
139237
139238
139239       salt.modules.napalm_mod.alive(*args, **kwargs)
139240              Returns the alive status of the connection layer.  The output is
139241              a dictionary under the usual dictionary  output  of  the  NAPALM
139242              modules.
139243
139244              CLI Example:
139245
139246                 salt '*' napalm.alive
139247
139248              Output Example:
139249
139250                 result: True
139251                 out:
139252                     is_alive: False
139253                 comment: ''
139254
139255       salt.modules.napalm_mod.call(*args, **kwargs)
139256              Execute  arbitrary  methods from the NAPALM library.  To see the
139257              expected output, please consult the NAPALM documentation.
139258
139259              NOTE:
139260                 This feature is not recommended to be used in production.  It
139261                 should be used for testing only!
139262
139263              CLI Example:
139264
139265                 salt '*' napalm.call get_lldp_neighbors
139266                 salt '*' napalm.call get_firewall_policies
139267                 salt '*' napalm.call get_bgp_config group='my-group'
139268
139269       salt.modules.napalm_mod.compliance_report(*args, **kwargs)
139270              Return the compliance report.
139271
139272              filepath
139273                     The absolute path to the validation file.
139274
139275                     Changed in version 2019.2.0.
139276
139277
139278                     Beginning  with  release codename 2019.2.0, this function
139279                     has  been  enhanced,  to  be   able   to   leverage   the
139280                     multi-engine template rendering of Salt, besides the pos‐
139281                     sibility to retrieve the file source from remote systems,
139282                     the URL schemes supported being:
139283
139284                     · salt://
139285
139286                     · http:// and https://
139287
139288                     · ftp://
139289
139290                     · s3://
139291
139292                     · swift:/
139293
139294                     Or on the local file system (on the Minion).
139295
139296                     NOTE:
139297                        The  rendering  result does not necessarily need to be
139298                        YAML, instead it can  be  any  format  interpreted  by
139299                        Salt's rendering pipeline (including pure Python).
139300
139301              string New in version 2019.2.0.
139302
139303
139304                     The  compliance  report send as inline string, to be used
139305                     as the file to send through the  renderer  system.  Note,
139306                     not  all renderer modules can work with strings; the 'py'
139307                     renderer requires a file, for example.
139308
139309              renderer: jinja|yaml
139310                     New in version 2019.2.0.
139311
139312
139313                     The renderer pipe to send the file through; this is over‐
139314                     ridden by a "she-bang" at the top of the file.
139315
139316              kwargs Changed in version 2019.2.0.
139317
139318
139319                     Keyword  args  to pass to Salt's compile_template() func‐
139320                     tion.
139321
139322              CLI Example:
139323
139324                 salt '*' napalm.compliance_report ~/validate.yml
139325                 salt '*' napalm.compliance_report salt://path/to/validator.sls
139326
139327              Validation File Example (pure YAML):
139328
139329                 - get_facts:
139330                     os_version: 4.17
139331
139332                 - get_interfaces_ip:
139333                     Management1:
139334                       ipv4:
139335                         10.0.2.14:
139336                           prefix_length: 24
139337                         _mode: strict
139338
139339              Validation File Example (as Jinja + YAML):
139340
139341                 - get_facts:
139342                     os_version: {{ grains.version }}
139343                 - get_interfaces_ip:
139344                     Loopback0:
139345                       ipv4:
139346                         {{ grains.lo0.ipv4 }}:
139347                           prefix_length: 24
139348                         _mode: strict
139349                 - get_bgp_neighbors: {{ pillar.bgp.neighbors }}
139350
139351              Output Example:
139352
139353                 device1:
139354                     ----------
139355                     comment:
139356                     out:
139357                         ----------
139358                         complies:
139359                             False
139360                         get_facts:
139361                             ----------
139362                             complies:
139363                                 False
139364                             extra:
139365                             missing:
139366                             present:
139367                                 ----------
139368                                 os_version:
139369                                     ----------
139370                                     actual_value:
139371                                         15.1F6-S1.4
139372                                     complies:
139373                                         False
139374                                     nested:
139375                                         False
139376                         get_interfaces_ip:
139377                             ----------
139378                             complies:
139379                                 False
139380                             extra:
139381                             missing:
139382                                 - Management1
139383                             present:
139384                                 ----------
139385                         skipped:
139386                     result:
139387                         True
139388
139389       salt.modules.napalm_mod.config_diff_text(source1=u'candidate',   candi‐
139390       date_path=None, source2=u'running', running_path=None)
139391              New in version 2019.2.0.
139392
139393
139394              Return  the  diff, as text, between the two different configura‐
139395              tion sources.  The sources can be  either  specified  using  the
139396              source1  and  source2 arguments when retrieving from the managed
139397              network device.
139398
139399              source1: candidate
139400                     The source from where to retrieve the configuration to be
139401                     compared  with.   Available  options: candidate, running,
139402                     startup. Default: candidate.
139403
139404              candidate_path
139405                     Absolute or remote path from where to load the  candidate
139406                     configuration  text.  This  argument  allows any URI sup‐
139407                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
139408                     ftp:/, etc.
139409
139410              source2: running
139411                     The  source  from  where to retrieve the configuration to
139412                     compare with.   Available  options:  candidate,  running,
139413                     startup. Default: running.
139414
139415              running_path
139416                     Absolute  or  remote  path  from where to load the runing
139417                     configuration text. This argument  allows  any  URI  sup‐
139418                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
139419                     ftp:/, etc.
139420
139421              saltenv: base
139422                     Salt fileserver environment from which  to  retrieve  the
139423                     file.  Ignored if candidate_path or running_path is not a
139424                     salt:// URL.
139425
139426              CLI Example:
139427
139428                 salt '*' napalm.config_diff_text
139429                 salt '*' napalm.config_diff_text candidate_path=https://bit.ly/2mAdq7z
139430                 # Would compare the running config with the configuration available at
139431                 # https://bit.ly/2mAdq7z
139432
139433       salt.modules.napalm_mod.config_diff_tree(source1=u'candidate',   candi‐
139434       date_path=None, source2=u'running', running_path=None)
139435              New in version 2019.2.0.
139436
139437
139438              Return  the  diff,  as  Python dictionary, between two different
139439              sources.  The sources can be either specified using the  source1
139440              and  source2  arguments when retrieving from the managed network
139441              device.
139442
139443              source1: candidate
139444                     The source from where to retrieve the configuration to be
139445                     compared  with.   Available  options: candidate, running,
139446                     startup. Default: candidate.
139447
139448              candidate_path
139449                     Absolute or remote path from where to load the  candidate
139450                     configuration  text.  This  argument  allows any URI sup‐
139451                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
139452                     ftp:/, etc.
139453
139454              source2: running
139455                     The  source  from  where to retrieve the configuration to
139456                     compare with.   Available  options:  candidate,  running,
139457                     startup. Default: running.
139458
139459              running_path
139460                     Absolute  or  remote  path  from where to load the runing
139461                     configuration text. This argument  allows  any  URI  sup‐
139462                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
139463                     ftp:/, etc.
139464
139465              saltenv: base
139466                     Salt fileserver environment from which  to  retrieve  the
139467                     file.  Ignored if candidate_path or running_path is not a
139468                     salt:// URL.
139469
139470              CLI Example:
139471
139472                 salt '*' napalm.config_diff_text
139473                 salt '*' napalm.config_diff_text candidate_path=https://bit.ly/2mAdq7z
139474                 # Would compare the running config with the configuration available at
139475                 # https://bit.ly/2mAdq7z
139476
139477              CLI Example:
139478
139479                 salt '*' napalm.config_diff_tree
139480                 salt '*' napalm.config_diff_tree running startup
139481
139482       salt.modules.napalm_mod.config_filter_lines(parent_regex,  child_regex,
139483       source=u'running')
139484              New in version 2019.2.0.
139485
139486
139487              Return  a list of detailed matches, for the configuration blocks
139488              (parent-child relationship) whose parent  respects  the  regular
139489              expressions  configured  via  the parent_regex argument, and the
139490              child matches the child_regex regular expression. The result  is
139491              a list of dictionaries with the following keys:
139492
139493              · match:  a boolean value that tells whether child_regex matched
139494                any children lines.
139495
139496              · parent: the parent line (as text).
139497
139498              · child: the child line (as text). If  no  child  line  matched,
139499                this field will be None.
139500
139501              NOTE:
139502                 This  function  is  only  available  only when the underlying
139503                 library ciscoconfparse is installed. See ciscoconfparse  mod‐
139504                 ule for more details.
139505
139506              parent_regex
139507                     The  regular expression to match the parent configuration
139508                     lines against.
139509
139510              child_regex
139511                     The regular expression to match the  child  configuration
139512                     lines against.
139513
139514              source: running
139515                     The  configuration  type  to  retrieve  from  the network
139516                     device. Default:  running.  Available  options:  running,
139517                     startup, candidate.
139518
139519              CLI Example:
139520
139521                 salt '*' napalm.config_filter_lines '^interface' 'ip address'
139522                 salt '*' napalm.config_filter_lines '^interface' 'shutdown' source=candidate
139523
139524       salt.modules.napalm_mod.config_find_lines(regex, source=u'running')
139525              New in version 2019.2.0.
139526
139527
139528              Return  the  configuration  lines that match the regular expres‐
139529              sions from the regex argument. The configuration  is  read  from
139530              the network device interrogated.
139531
139532              regex  The  regular  expression to match the configuration lines
139533                     against.
139534
139535              source: running
139536                     The configuration  type  to  retrieve  from  the  network
139537                     device.  Default:  running.  Available  options: running,
139538                     startup, candidate.
139539
139540              CLI Example:
139541
139542                 salt '*' napalm.config_find_lines '^interface Ethernet1\d'
139543
139544       salt.modules.napalm_mod.config_lines_w_child(parent_regex, child_regex,
139545       source=u'running')
139546                 New in version 2019.2.0.
139547
139548
139549              Return  the  configuration  lines that match the regular expres‐
139550              sions from the parent_regex argument, having child lines  match‐
139551              ing  child_regex.   The  configuration  is read from the network
139552              device interrogated.
139553
139554              NOTE:
139555                 This function is only  available  only  when  the  underlying
139556                 library  ciscoconfparse is installed. See ciscoconfparse mod‐
139557                 ule for more details.
139558
139559              parent_regex
139560                     The regular expression to match the parent  configuration
139561                     lines against.
139562
139563              child_regex
139564                     The  regular  expression to match the child configuration
139565                     lines against.
139566
139567              source: running
139568                     The configuration  type  to  retrieve  from  the  network
139569                     device.  Default:  running.  Available  options: running,
139570                     startup, candidate.
139571
139572              CLI Example:
139573
139574                 salt '*' napalm.config_lines_w_child '^interface' 'ip address'
139575                 salt '*' napalm.config_lines_w_child '^interface' 'shutdown' source=candidate
139576
139577       salt.modules.napalm_mod.config_lines_wo_child(parent_regex,
139578       child_regex, source=u'running')
139579                 New in version 2019.2.0.
139580
139581
139582              Return  the  configuration  lines that match the regular expres‐
139583              sions from the parent_regex argument, having the child lines not
139584              matching  child_regex.   The configuration is read from the net‐
139585              work device interrogated.
139586
139587              NOTE:
139588                 This function is only  available  only  when  the  underlying
139589                 library  ciscoconfparse is installed. See ciscoconfparse mod‐
139590                 ule for more details.
139591
139592              parent_regex
139593                     The regular expression to match the parent  configuration
139594                     lines against.
139595
139596              child_regex
139597                     The  regular  expression to match the child configuration
139598                     lines against.
139599
139600              source: running
139601                     The configuration  type  to  retrieve  from  the  network
139602                     device.  Default:  running.  Available  options: running,
139603                     startup, candidate.
139604
139605              CLI Example:
139606
139607                 salt '*' napalm.config_lines_wo_child '^interface' 'ip address'
139608                 salt '*' napalm.config_lines_wo_child '^interface' 'shutdown' source=candidate
139609
139610       salt.modules.napalm_mod.config_merge_diff(source=u'running', merge_con‐
139611       fig=None, merge_path=None, saltenv=u'base')
139612              New in version 2019.2.0.
139613
139614
139615              Return  the  merge diff, as text, after merging the merge config
139616              into the configuration source  requested  (without  loading  the
139617              config on the device).
139618
139619              source: running
139620                     The  configuration  type  to  retrieve  from  the network
139621                     device. Default:  running.  Available  options:  running,
139622                     startup, candidate.
139623
139624              merge_config
139625                     The  config to be merged into the initial config, sent as
139626                     text. This argument is ignored when merge_path is set.
139627
139628              merge_path
139629                     Absolute or remote path from where to load the merge con‐
139630                     figuration  text.  This argument allows any URI supported
139631                     by cp.get_url), e.g., salt://,  https://,  s3://,  ftp:/,
139632                     etc.
139633
139634              saltenv: base
139635                     Salt  fileserver  environment  from which to retrieve the
139636                     file.  Ignored if merge_path is not a salt:// URL.
139637
139638              CLI Example:
139639
139640                 salt '*' napalm.config_merge_diff merge_path=salt://path/to/merge.cfg
139641
139642       salt.modules.napalm_mod.config_merge_text(source=u'running', merge_con‐
139643       fig=None, merge_path=None, saltenv=u'base')
139644              New in version 2019.2.0.
139645
139646
139647              Return  the  merge  result of the configuration from source with
139648              the merge configuration, as plain text (without loading the con‐
139649              fig on the device).
139650
139651              source: running
139652                     The  configuration  type  to  retrieve  from  the network
139653                     device. Default:  running.  Available  options:  running,
139654                     startup, candidate.
139655
139656              merge_config
139657                     The  config to be merged into the initial config, sent as
139658                     text. This argument is ignored when merge_path is set.
139659
139660              merge_path
139661                     Absolute or remote path from where to load the merge con‐
139662                     figuration  text.  This argument allows any URI supported
139663                     by cp.get_url), e.g., salt://,  https://,  s3://,  ftp:/,
139664                     etc.
139665
139666              saltenv: base
139667                     Salt  fileserver  environment  from which to retrieve the
139668                     file.  Ignored if merge_path is not a salt:// URL.
139669
139670              CLI Example:
139671
139672                 salt '*' napalm.config_merge_text merge_path=salt://path/to/merge.cfg
139673
139674       salt.modules.napalm_mod.config_merge_tree(source=u'running', merge_con‐
139675       fig=None, merge_path=None, saltenv=u'base')
139676              New in version 2019.2.0.
139677
139678
139679              Return  the merge tree of the initial_config with the merge_con‐
139680              fig, as a Python dictionary.
139681
139682              source: running
139683                     The configuration  type  to  retrieve  from  the  network
139684                     device.  Default:  running.  Available  options: running,
139685                     startup, candidate.
139686
139687              merge_config
139688                     The config to be merged into the initial config, sent  as
139689                     text. This argument is ignored when merge_path is set.
139690
139691              merge_path
139692                     Absolute or remote path from where to load the merge con‐
139693                     figuration text. This argument allows any  URI  supported
139694                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
139695                     etc.
139696
139697              saltenv: base
139698                     Salt fileserver environment from which  to  retrieve  the
139699                     file.  Ignored if merge_path is not a salt:// URL.
139700
139701              CLI Example:
139702
139703                 salt '*' napalm.config_merge_tree merge_path=salt://path/to/merge.cfg
139704
139705       salt.modules.napalm_mod.config_tree(source=u'running', with_tags=False)
139706              New in version 2019.2.0.
139707
139708
139709              Transform  Cisco  IOS  style  configuration to structured Python
139710              dictionary.  Depending on the value of the  with_tags  argument,
139711              this function may provide different views, valuable in different
139712              situations.
139713
139714              source: running
139715                     The configuration  type  to  retrieve  from  the  network
139716                     device.  Default:  running.  Available  options: running,
139717                     startup, candidate.
139718
139719              with_tags: False
139720                     Whether this function should return a detailed view, with
139721                     tags.
139722
139723              CLI Example:
139724
139725                 salt '*' napalm.config_tree
139726
139727       salt.modules.napalm_mod.junos_call(*args, **kwargs)
139728              New in version 2019.2.0.
139729
139730
139731              Execute  an  arbitrary function from the junos execution module.
139732              To check what args and kwargs you must  send  to  the  function,
139733              please consult the appropriate documentation.
139734
139735              fun    The name of the function. E.g., set_hostname.
139736
139737              args   List of arguments to send to the junos function invoked.
139738
139739              kwargs Dictionary  of  key-value  arguments  to send to the juno
139740                     function invoked.
139741
139742              CLI Example:
139743
139744                 salt '*' napalm.junos_fun cli 'show system commit'
139745
139746       salt.modules.napalm_mod.junos_cli(*args, **kwargs)
139747              New in version 2019.2.0.
139748
139749
139750              Execute a CLI command and return the  output  in  the  specified
139751              format.
139752
139753              command
139754                     The command to execute on the Junos CLI.
139755
139756              format: text
139757                     Format  in  which  to  get the CLI output (either text or
139758                     xml).
139759
139760              dev_timeout: 30
139761                     The NETCONF RPC timeout (in seconds).
139762
139763              dest   Destination file where the RPC  output  is  stored.  Note
139764                     that the file will be stored on the Proxy Minion. To push
139765                     the files to the Master, use cp.push.
139766
139767              CLI Example:
139768
139769                 salt '*' napalm.junos_cli 'show lldp neighbors'
139770
139771       salt.modules.napalm_mod.junos_commit(*args, **kwargs)
139772              New in version 2019.2.0.
139773
139774
139775              Commit the changes loaded in the candidate configuration.
139776
139777              dev_timeout: 30
139778                     The NETCONF RPC timeout (in seconds).
139779
139780              comment
139781                     Provide a comment for the commit.
139782
139783              confirm
139784                     Provide time in minutes for commit confirmation. If  this
139785                     option  is  specified,  the commit will be rolled back in
139786                     the specified amount of time unless the  commit  is  con‐
139787                     firmed.
139788
139789              sync: False
139790                     When  True,  on dual control plane systems, requests that
139791                     the candidate  configuration  on  one  control  plane  be
139792                     copied  to  the  other control plane, checked for correct
139793                     syntax, and committed on both Routing Engines.
139794
139795              force_sync: False
139796                     When True, on dual control plane systems, force the  can‐
139797                     didate configuration on one control plane to be copied to
139798                     the other control plane.
139799
139800              full   When True, requires all the daemons to check and evaluate
139801                     the new configuration.
139802
139803              detail When True, return commit detail.
139804
139805              CLI Examples:
139806
139807                 salt '*' napalm.junos_commit comment='Commitiing via Salt' detail=True
139808                 salt '*' napalm.junos_commit dev_timeout=60 confirm=10
139809                 salt '*' napalm.junos_commit sync=True dev_timeout=90
139810
139811       salt.modules.napalm_mod.junos_copy_file(*args, **kwargs)
139812              New in version 2019.2.0.
139813
139814
139815              Copies the file on the remote Junos device.
139816
139817              src    The  source  file  path.  This argument accepts the usual
139818                     Salt  URIs  (e.g.,  salt://,  http://,  https://,  s3://,
139819                     ftp://, etc.).
139820
139821              dst    The  destination  path  on  the  device where to copy the
139822                     file.
139823
139824              CLI Example:
139825
139826                 salt '*' napalm.junos_copy_file https://example.com/junos.cfg /var/tmp/myjunos.cfg
139827
139828       salt.modules.napalm_mod.junos_facts(*args, **kwargs)
139829              New in version 2019.2.0.
139830
139831
139832              The complete list of Junos facts collected by junos-eznc.
139833
139834              CLI Example:
139835
139836                 salt '*' napalm.junos_facts
139837
139838       salt.modules.napalm_mod.junos_install_os(*args, **kwargs)
139839              New in version 2019.2.0.
139840
139841
139842              Installs the given image on the device.
139843
139844              path   The image file source. This argument supports the follow‐
139845                     ing URIs:
139846
139847                     · Absolute path on the Minion.
139848
139849                     · salt:// to fetch from the Salt fileserver.
139850
139851                     · http:// and https://
139852
139853                     · ftp://
139854
139855                     · swift:/
139856
139857                     · s3://
139858
139859              dev_timeout: 30
139860                     The NETCONF RPC timeout (in seconds)
139861
139862              reboot: False
139863                     Whether  to  reboot  the device after the installation is
139864                     complete.
139865
139866              no_copy: False
139867                     If True the software package will not be  copied  to  the
139868                     remote device.
139869
139870              CLI Example:
139871
139872                 salt '*' napalm.junos_install_os salt://images/junos_16_1.tgz reboot=True
139873
139874       salt.modules.napalm_mod.junos_rpc(*args, **kwargs)
139875              New in version 2019.2.0.
139876
139877
139878              Execute an RPC request on the remote Junos device.
139879
139880              cmd    The  RPC  request  to  the executed. To determine the RPC
139881                     request, you can check the from the command line  of  the
139882                     device, by executing the usual command followed by | dis‐
139883                     play xml rpc, e.g., show lldp  neighbors  |  display  xml
139884                     rpc.
139885
139886              dest   Destination  file  where  the  RPC output is stored. Note
139887                     that the file will be stored on the Proxy Minion. To push
139888                     the files to the Master, use cp.push Execution function.
139889
139890              format: xml
139891                     The  format  in  which the RPC reply is received from the
139892                     device.
139893
139894              dev_timeout: 30
139895                     The NETCONF RPC timeout.
139896
139897              filter Used with the get-config RPC request to  filter  out  the
139898                     config tree.
139899
139900              terse: False
139901                     Whether to return terse output.
139902
139903                     NOTE:
139904                        Some RPC requests may not support this argument.
139905
139906              interface_name
139907                     Name of the interface to query.
139908
139909              CLI Example:
139910
139911                 salt '*' napalm.junos_rpc get-lldp-neighbors-information
139912                 salt '*' napalm.junos_rcp get-config <configuration><system><ntp/></system></configuration>
139913
139914       salt.modules.napalm_mod.netmiko_args(*args, **kwargs)
139915              New in version 2019.2.0.
139916
139917
139918              Return the key-value arguments used for the authentication argu‐
139919              ments for the netmiko module.
139920
139921              When running in a non-native NAPALM driver  (e.g.,  panos,  f5`,
139922              mos - either from https://github.com/napalm-automation-community
139923              or defined in user's own environment, one can specify  the  Net‐
139924              miko  device  type  (the  device_type  argument)  via  the  net‐
139925              miko_device_type_map configuration option / Pillar key, e.g.,
139926
139927                 netmiko_device_type_map:
139928                   f5: f5_ltm
139929                   dellos10: dell_os10
139930
139931              The configuration above defines the mapping between  the  NAPALM
139932              os  Grain  and  the  Netmiko  device_type, e.g., when the NAPALM
139933              Grain is f5, it would use the f5_ltm SSH Netmiko driver to  exe‐
139934              cute commands over SSH on the remote network device.
139935
139936              CLI Example:
139937
139938                 salt '*' napalm.netmiko_args
139939
139940       salt.modules.napalm_mod.netmiko_call(*args, **kwargs)
139941              New in version 2019.2.0.
139942
139943
139944              Execute  an arbitrary Netmiko method, passing the authentication
139945              details from the existing NAPALM connection.
139946
139947              method The name of the Netmiko method to execute.
139948
139949              args   List of arguments to send to the Netmiko method specified
139950                     in method.
139951
139952              kwargs Key-value  arguments  to  send  to the execution function
139953                     specified in method.
139954
139955              CLI Example:
139956
139957                 salt '*' napalm.netmiko_call send_command 'show version'
139958
139959       salt.modules.napalm_mod.netmiko_commands(*args, **kwargs)
139960              New in version 2019.2.0.
139961
139962
139963              Invoke one or more commands to be executed on the remote device,
139964              via  Netmiko.   Returns  a list of strings, with the output from
139965              each command.
139966
139967              commands
139968                     A list of commands to be executed.
139969
139970              expect_string
139971                     Regular expression pattern to use for determining end  of
139972                     output.   If  left  blank  will default to being based on
139973                     router prompt.
139974
139975              delay_factor: 1
139976                     Multiplying factor used to adjust delays (default: 1).
139977
139978              max_loops: 500
139979                     Controls wait time in conjunction with delay_factor. Will
139980                     default to be based upon self.timeout.
139981
139982              auto_find_prompt: True
139983                     Whether it should try to auto-detect the prompt (default:
139984                     True).
139985
139986              strip_prompt: True
139987                     Remove  the  trailing  router  prompt  from  the   output
139988                     (default: True).
139989
139990              strip_command: True
139991                     Remove  the echo of the command from the output (default:
139992                     True).
139993
139994              normalize: True
139995                     Ensure the  proper  enter  is  sent  at  end  of  command
139996                     (default: True).
139997
139998              use_textfsm: False
139999                     Process command output through TextFSM template (default:
140000                     False).
140001
140002              CLI Example:
140003
140004                 salt '*' napalm.netmiko_commands 'show version' 'show interfaces'
140005
140006       salt.modules.napalm_mod.netmiko_config(*args, **kwargs)
140007              New in version 2019.2.0.
140008
140009
140010              Load a list of configuration commands on the remote device,  via
140011              Netmiko.
140012
140013              WARNING:
140014                 Please remember that netmiko does not have any rollback safe‐
140015                 guards and any configuration change will be  directly  loaded
140016                 into the running config if the platform doesn't have the con‐
140017                 cept of candidate config.
140018
140019                 On Junos, or other platforms that have this  capability,  the
140020                 changes  will  not be loaded into the running config, and the
140021                 user must set the commit argument to  True  to  transfer  the
140022                 changes  from  the  candidate  into the running config before
140023                 exiting.
140024
140025              config_commands
140026                     A list of configuration commands  to  be  loaded  on  the
140027                     remote device.
140028
140029              config_file
140030                     Read the configuration commands from a file. The file can
140031                     equally be a template that  can  be  rendered  using  the
140032                     engine of choice (see template_engine).
140033
140034                     This  can  be  specified  using  the absolute path to the
140035                     file, or using one of the following URL schemes:
140036
140037                     · salt://, to fetch the file from the Salt fileserver.
140038
140039                     · http:// or https://
140040
140041                     · ftp://
140042
140043                     · s3://
140044
140045                     · swift://
140046
140047              exit_config_mode: True
140048                     Determines whether or not to exit config mode after  com‐
140049                     plete.
140050
140051              delay_factor: 1
140052                     Factor to adjust delays.
140053
140054              max_loops: 150
140055                     Controls  wait  time  in  conjunction  with  delay_factor
140056                     (default: 150).
140057
140058              strip_prompt: False
140059                     Determines whether or not to strip the  prompt  (default:
140060                     False).
140061
140062              strip_command: False
140063                     Determines  whether or not to strip the command (default:
140064                     False).
140065
140066              config_mode_command
140067                     The command to enter into config mode.
140068
140069              commit: False
140070                     Commit the configuration changes before exiting the  con‐
140071                     fig  mode.  This  option  is by default disabled, as many
140072                     platforms don't have this capability natively.
140073
140074              CLI Example:
140075
140076                 salt '*' napalm.netmiko_config 'set system ntp peer 1.2.3.4' commit=True
140077                 salt '*' napalm.netmiko_config https://bit.ly/2sgljCB
140078
140079       salt.modules.napalm_mod.netmiko_conn(*args, **kwargs)
140080              New in version 2019.2.0.
140081
140082
140083              Return the connection object with the network device, over  Net‐
140084              miko,  passing  the  authentication  details  from  the existing
140085              NAPALM connection.
140086
140087              WARNING:
140088                 This function is not suitable for CLI usage, more  rather  to
140089                 be used in various Salt modules.
140090
140091              USAGE Example:
140092
140093                 conn = __salt__['napalm.netmiko_conn']()
140094                 res = conn.send_command('show interfaces')
140095                 conn.disconnect()
140096
140097       salt.modules.napalm_mod.netmiko_fun(*args, **kwargs)
140098              New in version 2019.2.0.
140099
140100
140101              Call  an arbitrary function from the Netmiko module, passing the
140102              authentication details from the existing NAPALM connection.
140103
140104              fun    The name of the function from the Netmiko to invoke.
140105
140106              args   List of arguments to send to the execution function spec‐
140107                     ified in fun.
140108
140109              kwargs Key-value  arguments  to  send  to the execution function
140110                     specified in fun.
140111
140112              CLI Example:
140113
140114                 salt '*' napalm.netmiko_fun send_command 'show version'
140115
140116       salt.modules.napalm_mod.netmiko_multi_call(*args, **kwargs)
140117              New in version 2019.2.0.
140118
140119
140120              Execute a list of arbitrary Netmiko methods, passing the authen‐
140121              tication details from the existing NAPALM connection.
140122
140123              methods
140124                     List of dictionaries with the following keys:
140125
140126                     · name: the name of the Netmiko function to invoke.
140127
140128                     · args: list of arguments to send to the name method.
140129
140130                     · kwargs: key-value arguments to send to the name method.
140131
140132              CLI Example:
140133
140134                 salt '*' napalm.netmiko_multi_call "{'name': 'send_command', 'args': ['show version']}" "{'name': 'send_command', 'args': ['show interfaces']}"
140135
140136       salt.modules.napalm_mod.nxos_api_config(*args, **kwargs)
140137                 New in version 2019.2.0.
140138
140139
140140              Configures the Nexus switch with the specified commands, via the
140141              NX-API.
140142
140143              commands
140144                     The list of configuration commands to load on  the  Nexus
140145                     switch.
140146
140147                     NOTE:
140148                        This  argument  is  ignored when config_file is speci‐
140149                        fied.
140150
140151              config_file
140152                     The source file with the  configuration  commands  to  be
140153                     sent to the device.
140154
140155                     The  file  can  also  be  a template that can be rendered
140156                     using the template engine of choice. This can  be  speci‐
140157                     fied using the absolute path to the file, or using one of
140158                     the following URL schemes:
140159
140160                     · salt://
140161
140162                     · https://
140163
140164                     · ftp:/
140165
140166                     · s3:/
140167
140168                     · swift://
140169
140170              template_engine: jinja
140171                     The template engine to  use  when  rendering  the  source
140172                     file.  Default:  jinja.  To simply fetch the file without
140173                     attempting to render, set this argument to None.
140174
140175              context: None
140176                     Variables to add to the template context.
140177
140178              defaults: None
140179                     Default values of the context dict.
140180
140181              saltenv: base
140182                     Salt fileserver environment from which  to  retrieve  the
140183                     file. Ignored if config_file is not a salt:// URL.
140184
140185              CLI Example:
140186
140187                 salt '*' napalm.nxos_api_config 'spanning-tree mode mstp'
140188                 salt '*' napalm.nxos_api_config config_file=https://bit.ly/2LGLcDy context="{'servers': ['1.2.3.4']}"
140189
140190       salt.modules.napalm_mod.nxos_api_rpc(*args, **kwargs)
140191              New in version 2019.2.0.
140192
140193
140194              Execute an arbitrary RPC request via the Nexus API.
140195
140196              commands
140197                     The RPC commands to be executed.
140198
140199              method: cli
140200                     The  type  of the response, i.e., raw text (cli_ascii) or
140201                     structured document (cli). Defaults  to  cli  (structured
140202                     data).
140203
140204              CLI Example:
140205
140206                 salt '*' napalm.nxos_api_rpc 'show version'
140207
140208       salt.modules.napalm_mod.nxos_api_show(*args, **kwargs)
140209              New in version 2019.2.0.
140210
140211
140212              Execute one or more show (non-configuration) commands.
140213
140214              commands
140215                     The commands to be executed.
140216
140217              raw_text: True
140218                     Whether to return raw text or structured data.
140219
140220              CLI Example:
140221
140222                 salt '*' napalm.nxos_api_show 'show version'
140223                 salt '*' napalm.nxos_api_show 'show bgp sessions' 'show processes' raw_text=False
140224
140225       salt.modules.napalm_mod.pyeapi_call(*args, **kwargs)
140226              New in version 2019.2.0.
140227
140228
140229              Invoke  an arbitrary method from the pyeapi library.  This func‐
140230              tion  forwards  the   existing   connection   details   to   the
140231              pyeapi.run_commands execution function.
140232
140233              method The name of the pyeapi method to invoke.
140234
140235              kwargs Key-value arguments to send to the pyeapi method.
140236
140237              CLI Example:
140238
140239                 salt '*' napalm.pyeapi_call run_commands 'show version' encoding=text
140240                 salt '*' napalm.pyeapi_call get_config as_string=True
140241
140242       salt.modules.napalm_mod.pyeapi_config(*args, **kwargs)
140243              New in version 2019.2.0.
140244
140245
140246              Configures  the  Arista  switch with the specified commands, via
140247              the pyeapi library. This function forwards the existing  connec‐
140248              tion details to the pyeapi.run_commands execution function.
140249
140250              commands
140251                     The  list of configuration commands to load on the Arista
140252                     switch.
140253
140254                     NOTE:
140255                        This argument is ignored when  config_file  is  speci‐
140256                        fied.
140257
140258              config_file
140259                     The  source  file  with  the configuration commands to be
140260                     sent to the device.
140261
140262                     The file can also be a  template  that  can  be  rendered
140263                     using  the  template engine of choice. This can be speci‐
140264                     fied using the absolute path to the file, or using one of
140265                     the following URL schemes:
140266
140267                     · salt://
140268
140269                     · https://
140270
140271                     · ftp:/
140272
140273                     · s3:/
140274
140275                     · swift://
140276
140277              template_engine: jinja
140278                     The  template  engine  to  use  when rendering the source
140279                     file. Default: jinja. To simply fetch  the  file  without
140280                     attempting to render, set this argument to None.
140281
140282              context: None
140283                     Variables to add to the template context.
140284
140285              defaults: None
140286                     Default values of the context dict.
140287
140288              saltenv: base
140289                     Salt  fileserver  environment  from which to retrieve the
140290                     file. Ignored if config_file is not a salt:// URL.
140291
140292              CLI Example:
140293
140294                 salt '*' napalm.pyeapi_config 'ntp server 1.2.3.4'
140295
140296       salt.modules.napalm_mod.pyeapi_conn(*args, **kwargs)
140297              New in version 2019.2.0.
140298
140299
140300              Return the  connection  object  with  the  Arista  switch,  over
140301              pyeapi,  passing  the  authentication  details from the existing
140302              NAPALM connection.
140303
140304              WARNING:
140305                 This function is not suitable for CLI usage, more  rather  to
140306                 be  used  in various Salt modules, to reusing the established
140307                 connection, as in opposite to opening a  new  connection  for
140308                 each task.
140309
140310              Usage example:
140311
140312                 conn = __salt__['napalm.pyeapi_conn']()
140313                 res1 = conn.run_commands('show version')
140314                 res2 = conn.get_config(as_string=True)
140315
140316       salt.modules.napalm_mod.pyeapi_nxos_api_args(**prev_kwargs)
140317              New in version 2019.2.0.
140318
140319
140320              Return the key-value arguments used for the authentication argu‐
140321              ments for the pyeapi execution module.
140322
140323              CLI Example:
140324
140325                 salt '*' napalm.pyeapi_nxos_api_args
140326
140327       salt.modules.napalm_mod.pyeapi_run_commands(*args, **kwargs)
140328              Execute a list of commands on the Arista switch, via the  pyeapi
140329              library.  This function forwards the existing connection details
140330              to the pyeapi.run_commands execution function.
140331
140332              commands
140333                     A list of commands to execute.
140334
140335              encoding: json
140336                     The requested encoding of the command output. Valid  val‐
140337                     ues for encoding are json (default) or text.
140338
140339              CLI Example:
140340
140341                 salt '*' napalm.pyeapi_run_commands 'show version' encoding=text
140342                 salt '*' napalm.pyeapi_run_commands 'show ip bgp neighbors'
140343
140344       salt.modules.napalm_mod.reconnect(*args, **kwargs)
140345              Reconnect the NAPALM proxy when the connection is dropped by the
140346              network device.  The connection can be forced  to  be  restarted
140347              using the force argument.
140348
140349              NOTE:
140350                 This function can be used only when running proxy minions.
140351
140352              CLI Example:
140353
140354                 salt '*' napalm.reconnect
140355                 salt '*' napalm.reconnect force=True
140356
140357       salt.modules.napalm_mod.rpc(*args, **kwargs)
140358              New in version 2019.2.0.
140359
140360
140361              This  is  a  wrapper  to execute RPC requests on various network
140362              operating systems supported by NAPALM,  invoking  the  following
140363              functions for the NAPALM native drivers:
140364
140365              · napalm.junos_rpc for junos
140366
140367              · napalm.pyeapi_run_commands for eos
140368
140369              · napalm.nxos_api_rpc for nxos
140370
140371              · napalm.netmiko_commands for ios, iosxr, and nxos_ssh
140372
140373              command
140374                     The RPC command to execute. This depends on the nature of
140375                     the operating system.
140376
140377              kwargs Key-value arguments to be sent to the  underlying  Execu‐
140378                     tion function.
140379
140380              The function capabilities are extensible in the user environment
140381              via the napalm_rpc_map configuration option / Pillar, e.g.,
140382
140383                 napalm_rpc_map:
140384                   f5: napalm.netmiko_commands
140385                   panos: panos.call
140386
140387              The mapping above reads: when the NAPALM os Grain  is  f5,  then
140388              call napalm.netmiko_commands for RPC requests.
140389
140390              By  default,  if  the  user does not specify any map, non-native
140391              NAPALM drivers will invoke the napalm.netmiko_commands Execution
140392              function.
140393
140394              CLI Example:
140395
140396                 salt '*' napalm.rpc 'show version'
140397                 salt '*' napalm.rpc get-interfaces
140398
140399       salt.modules.napalm_mod.scp_get(remote_path,   local_path=u'',   recur‐
140400       sive=False, preserve_times=False, **kwargs)
140401              New in version 2019.2.0.
140402
140403
140404              Transfer files and directories from remote network device to the
140405              localhost of the Minion.
140406
140407              NOTE:
140408                 This  function  is  only  available  only when the underlying
140409                 library scp is installed. See scp module for more details.
140410
140411              remote_path
140412                     Path to retrieve from remote host. Since this  is  evalu‐
140413                     ated by scp on the remote host, shell wildcards and envi‐
140414                     ronment variables may be used.
140415
140416              recursive: False
140417                     Transfer files and directories recursively.
140418
140419              preserve_times: False
140420                     Preserve mtime and atime of transferred files and  direc‐
140421                     tories.
140422
140423              passphrase
140424                     Used for decrypting private keys.
140425
140426              pkey   An optional private key to use for authentication.
140427
140428              key_filename
140429                     The  filename,  or list of filenames, of optional private
140430                     key(s) and/or certificates to try for authentication.
140431
140432              timeout
140433                     An optional timeout (in seconds) for the TCP connect.
140434
140435              socket_timeout: 10
140436                     The channel socket timeout in seconds.
140437
140438              buff_size: 16384
140439                     The size of the SCP send buffer.
140440
140441              allow_agent: True
140442                     Set to False to disable connecting to the SSH agent.
140443
140444              look_for_keys: True
140445                     Set to False to disable searching for  discoverable  pri‐
140446                     vate key files in ~/.ssh/
140447
140448              banner_timeout
140449                     An optional timeout (in seconds) to wait for the SSH ban‐
140450                     ner to be presented.
140451
140452              auth_timeout
140453                     An optional timeout (in seconds) to wait for an authenti‐
140454                     cation response.
140455
140456              auto_add_policy: False
140457                     Automatically add the host to the known_hosts.
140458
140459              CLI Example:
140460
140461                 salt '*' napalm.scp_get /var/tmp/file /tmp/file auto_add_policy=True
140462
140463       salt.modules.napalm_mod.scp_put(files,     remote_path=None,     recur‐
140464       sive=False, preserve_times=False, saltenv=u'base', **kwargs)
140465              New in version 2019.2.0.
140466
140467
140468              Transfer files and directories to remote network device.
140469
140470              NOTE:
140471                 This function is only  available  only  when  the  underlying
140472                 library scp is installed. See scp module for more details.
140473
140474              files  A single path or a list of paths to be transferred.
140475
140476              remote_path
140477                     The path on the remote device where to store the files.
140478
140479              recursive: True
140480                     Transfer files and directories recursively.
140481
140482              preserve_times: False
140483                     Preserve  mtime and atime of transferred files and direc‐
140484                     tories.
140485
140486              saltenv: base
140487                     The name of the Salt environment. Ignored when  files  is
140488                     not a salt:// URL.
140489
140490              hostname
140491                     The hostname of the remote device.
140492
140493              port: 22
140494                     The port of the remote device.
140495
140496              username
140497                     The  username  required  for  SSH  authentication  on the
140498                     device.
140499
140500              password
140501                     Used for password authentication. It  is  also  used  for
140502                     private key decryption if passphrase is not given.
140503
140504              passphrase
140505                     Used for decrypting private keys.
140506
140507              pkey   An optional private key to use for authentication.
140508
140509              key_filename
140510                     The  filename,  or list of filenames, of optional private
140511                     key(s) and/or certificates to try for authentication.
140512
140513              timeout
140514                     An optional timeout (in seconds) for the TCP connect.
140515
140516              socket_timeout: 10
140517                     The channel socket timeout in seconds.
140518
140519              buff_size: 16384
140520                     The size of the SCP send buffer.
140521
140522              allow_agent: True
140523                     Set to False to disable connecting to the SSH agent.
140524
140525              look_for_keys: True
140526                     Set to False to disable searching for  discoverable  pri‐
140527                     vate key files in ~/.ssh/
140528
140529              banner_timeout
140530                     An optional timeout (in seconds) to wait for the SSH ban‐
140531                     ner to be presented.
140532
140533              auth_timeout
140534                     An optional timeout (in seconds) to wait for an authenti‐
140535                     cation response.
140536
140537              auto_add_policy: False
140538                     Automatically add the host to the known_hosts.
140539
140540              CLI Example:
140541
140542                 salt '*' napalm.scp_put /path/to/file /var/tmp/file auto_add_policy=True
140543
140544   salt.modules.napalm_netacl
140545   NAPALM ACL
140546       Generate and load ACL (firewall) configuration on network devices.
140547
140548       New in version 2017.7.0.
140549
140550
140551       codeauthor
140552              Mircea Ulinic <ping@mirceaulinic.net>
140553
140554       maturity
140555              new
140556
140557       depends
140558              capirca, napalm
140559
140560       platform
140561              unix
140562
140563   Dependencies
140564       The firewall configuration is generated by Capirca.
140565
140566       To install Capirca, execute: pip install capirca.
140567
140568       To be able to load configuration on network devices, it requires NAPALM
140569       library  to  be  installed:   pip   install   napalm.    Please   check
140570       Installation for complete details.
140571
140572       salt.modules.napalm_netacl.get_filter_pillar(filter_name,          pil‐
140573       lar_key=u'acl', pillarenv=None, saltenv=None)
140574              Helper that can be used inside a state SLS, in order to get  the
140575              filter configuration given its name.
140576
140577              filter_name
140578                     The name of the filter.
140579
140580              pillar_key
140581                     The root key of the whole policy config.
140582
140583              pillarenv
140584                     Query  the  master  to  generate fresh pillar data on the
140585                     fly, specifically from the requested pillar environment.
140586
140587              saltenv
140588                     Included    only    for    compatibility    with     pil‐
140589                     larenv_from_saltenv, and is otherwise ignored.
140590
140591       salt.modules.napalm_netacl.get_term_pillar(filter_name, term_name, pil‐
140592       lar_key=u'acl', pillarenv=None, saltenv=None)
140593              Helper that can be used inside a state SLS, in order to get  the
140594              term  configuration  given  its  name,  under  a  certain filter
140595              uniquely identified by its name.
140596
140597              filter_name
140598                     The name of the filter.
140599
140600              term_name
140601                     The name of the term.
140602
140603              pillar_key: acl
140604                     The root key of the whole policy config. Default: acl.
140605
140606              pillarenv
140607                     Query the master to generate fresh  pillar  data  on  the
140608                     fly, specifically from the requested pillar environment.
140609
140610              saltenv
140611                     Included     only    for    compatibility    with    pil‐
140612                     larenv_from_saltenv, and is otherwise ignored.
140613
140614       salt.modules.napalm_netacl.load_filter_config(*args, **kwargs)
140615              Generate and load the configuration of a policy filter.
140616
140617              NOTE:
140618                 The order of the terms is very important.  The  configuration
140619                 loaded  on the device respects the order defined in the terms
140620                 and/or inside the pillar.
140621
140622                 When merging the terms with the  pillar  data,  consider  the
140623                 prepend argument to make sure the order is correct!
140624
140625              filter_name
140626                     The name of the policy filter.
140627
140628              filter_options
140629                     Additional   filter  options.  These  options  are  plat‐
140630                     form-specific.  See the complete list of options.
140631
140632              terms  List of terms for this policy filter.  If  not  specified
140633                     or  empty,  will  try  to load the configuration from the
140634                     pillar, unless merge_pillar is set as False.
140635
140636              prepend: True
140637                     When merge_pillar is set as True, the final list of terms
140638                     generated  by  merging  the  terms  from terms with those
140639                     defined in the pillar (if any): new terms  are  prepended
140640                     at  the  beginning, while existing ones will preserve the
140641                     position. To add the new terms at the end  of  the  list,
140642                     set this argument to False.
140643
140644              pillar_key: acl
140645                     The  key  in the pillar containing the default attributes
140646                     values. Default: acl.
140647
140648              pillarenv
140649                     Query the master to generate fresh  pillar  data  on  the
140650                     fly, specifically from the requested pillar environment.
140651
140652              saltenv
140653                     Included     only    for    compatibility    with    pil‐
140654                     larenv_from_saltenv, and is otherwise ignored.
140655
140656              merge_pillar: True
140657                     Merge the CLI variables with the pillar. Default: True.
140658
140659                     The merge logic depends on the prepend argument  and  the
140660                     CLI has higher priority than the pillar.
140661
140662              only_lower_merge: False
140663                     Specify  if it should merge only the terms fields. Other‐
140664                     wise it will try to merge also filters  fields.  Default:
140665                     False.   This  option requires merge_pillar, otherwise it
140666                     is ignored.
140667
140668              revision_id
140669                     Add a comment in the filter config having the description
140670                     for the changes applied.
140671
140672              revision_no
140673                     The revision count.
140674
140675              revision_date: True
140676                     Boolean flag: display the date when the filter configura‐
140677                     tion was generated. Default: True.
140678
140679              revision_date_format: %Y/%m/%d
140680                     The date format to be used when generating  the  perforce
140681                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
140682
140683              test: False
140684                     Dry  run?  If set as True, will apply the config, discard
140685                     and return the changes.  Default: False and  will  commit
140686                     the changes on the device.
140687
140688              commit: True
140689                     Commit? Default: True.
140690
140691              debug: False
140692                     Debug  mode.  Will insert a new key under the output dic‐
140693                     tionary, as loaded_config containing the  raw  configura‐
140694                     tion loaded on the device.
140695
140696              The output is a dictionary having the same form as net.load_con‐
140697              fig.
140698
140699              CLI Example:
140700
140701                 salt 'edge01.bjm01' netacl.load_filter_config my-filter pillar_key=netacl debug=True
140702
140703              Output Example:
140704
140705                 edge01.bjm01:
140706                     ----------
140707                     already_configured:
140708                         False
140709                     comment:
140710                     diff:
140711                         [edit firewall]
140712                         +    family inet {
140713                         +        /*
140714                         +         ** $Date: 2017/03/22 $
140715                         +         **
140716                         +         */
140717                         +        filter my-filter {
140718                         +            interface-specific;
140719                         +            term my-term {
140720                         +                from {
140721                         +                    source-port [ 1234 1235 ];
140722                         +                }
140723                         +                then {
140724                         +                    reject;
140725                         +                }
140726                         +            }
140727                         +            term my-other-term {
140728                         +                from {
140729                         +                    protocol tcp;
140730                         +                    source-port 5678-5680;
140731                         +                }
140732                         +                then accept;
140733                         +            }
140734                         +        }
140735                         +    }
140736                     loaded_config:
140737                         firewall {
140738                             family inet {
140739                                 replace:
140740                                 /*
140741                                 ** $Date: 2017/03/22 $
140742                                 **
140743                                 */
140744                                 filter my-filter {
140745                                     interface-specific;
140746                                     term my-term {
140747                                         from {
140748                                             source-port [ 1234 1235 ];
140749                                         }
140750                                         then {
140751                                             reject;
140752                                         }
140753                                     }
140754                                     term my-other-term {
140755                                         from {
140756                                             protocol tcp;
140757                                             source-port 5678-5680;
140758                                         }
140759                                         then accept;
140760                                     }
140761                                 }
140762                             }
140763                         }
140764                     result:
140765                         True
140766
140767              The filter configuration has been loaded from the pillar, having
140768              the following structure:
140769
140770                 netacl:
140771                   - my-filter:
140772                       terms:
140773                         - my-term:
140774                             source_port:
140775                              - 1234
140776                              - 1235
140777                             action: reject
140778                         - my-other-term:
140779                             source_port:
140780                               - - 5678
140781                                 - 5680
140782                             protocol: tcp
140783                             action: accept
140784
140785       salt.modules.napalm_netacl.load_policy_config(*args, **kwargs)
140786              Generate and load the configuration of the whole policy.
140787
140788              NOTE:
140789                 The  order  of the filters and their terms is very important.
140790                 The configuration loaded on the  device  respects  the  order
140791                 defined in the filters and/or inside the pillar.
140792
140793                 When  merging  the filters with the pillar data, consider the
140794                 prepend argument to make sure the order is correct!
140795
140796              filters
140797                     List of filters for this policy.   If  not  specified  or
140798                     empty,  will  try to load the configuration from the pil‐
140799                     lar, unless merge_pillar is set as False.
140800
140801              prepend: True
140802                     When merge_pillar is set as True, the final list of  fil‐
140803                     ters  generated  by merging the filters from filters with
140804                     those defined in the pillar (if  any):  new  filters  are
140805                     prepended at the beginning, while existing ones will pre‐
140806                     serve the position. To add the new filters at the end  of
140807                     the list, set this argument to False.
140808
140809              pillar_key: acl
140810                     The  key  in the pillar containing the default attributes
140811                     values. Default: acl.
140812
140813              pillarenv
140814                     Query the master to generate fresh  pillar  data  on  the
140815                     fly, specifically from the requested pillar environment.
140816
140817              saltenv
140818                     Included     only    for    compatibility    with    pil‐
140819                     larenv_from_saltenv, and is otherwise ignored.
140820
140821              merge_pillar: True
140822                     Merge the CLI variables with the pillar. Default: True.
140823
140824                     The merge logic depends on the prepend argument  and  the
140825                     CLI has higher priority than the pillar.
140826
140827              only_lower_merge: False
140828                     Specify  if  it  should  merge only the filters and terms
140829                     fields. Otherwise it will try to merge everything at  the
140830                     policy  level.  Default:  False.   This  option  requires
140831                     merge_pillar, otherwise it is ignored.
140832
140833              revision_id
140834                     Add a comment in the policy config having the description
140835                     for the changes applied.
140836
140837              revision_no
140838                     The revision count.
140839
140840              revision_date: True
140841                     Boolean flag: display the date when the policy configura‐
140842                     tion was generated. Default: True.
140843
140844              revision_date_format: %Y/%m/%d
140845                     The date format to be used when generating  the  perforce
140846                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
140847
140848              test: False
140849                     Dry  run?  If set as True, will apply the config, discard
140850                     and return the changes.  Default: False and  will  commit
140851                     the changes on the device.
140852
140853              commit: True
140854                     Commit? Default: True.
140855
140856              debug: False
140857                     Debug  mode.  Will insert a new key under the output dic‐
140858                     tionary, as loaded_config containing the  raw  configura‐
140859                     tion loaded on the device.
140860
140861              The output is a dictionary having the same form as net.load_con‐
140862              fig.
140863
140864              CLI Example:
140865
140866                 salt 'edge01.flw01' netacl.load_policy_config debug=True
140867
140868              Output Example:
140869
140870                 edge01.flw01:
140871                     ----------
140872                     already_configured:
140873                         False
140874                     comment:
140875                     diff:
140876                         ---
140877                         +++
140878                         @@ -1228,9 +1228,24 @@
140879                          !
140880                         +ipv4 access-list my-filter
140881                         + 10 remark my-term
140882                         + 20 deny tcp host 1.2.3.4 eq 1234 any
140883                         + 30 deny udp host 1.2.3.4 eq 1234 any
140884                         + 40 deny tcp host 1.2.3.4 eq 1235 any
140885                         + 50 deny udp host 1.2.3.4 eq 1235 any
140886                         + 60 remark my-other-term
140887                         + 70 permit tcp any range 5678 5680 any
140888                         +!
140889                         +!
140890                         +ipv4 access-list block-icmp
140891                         + 10 remark first-term
140892                         + 20 deny icmp any any
140893                          !
140894                     loaded_config:
140895                         ! $Date: 2017/03/22 $
140896                         no ipv4 access-list my-filter
140897                         ipv4 access-list my-filter
140898                          remark my-term
140899                          deny tcp host 1.2.3.4 eq 1234 any
140900                          deny udp host 1.2.3.4 eq 1234 any
140901                          deny tcp host 1.2.3.4 eq 1235 any
140902                          deny udp host 1.2.3.4 eq 1235 any
140903                          remark my-other-term
140904                          permit tcp any range 5678 5680 any
140905                         exit
140906                         no ipv4 access-list block-icmp
140907                         ipv4 access-list block-icmp
140908                          remark first-term
140909                          deny icmp any any
140910                         exit
140911                     result:
140912                         True
140913
140914              The policy configuration has been loaded from the pillar, having
140915              the following structure:
140916
140917                 acl:
140918                   - my-filter:
140919                       terms:
140920                         - my-term:
140921                             source_port:
140922                              - 1234
140923                              - 1235
140924                             protocol:
140925                               - tcp
140926                               - udp
140927                             source_address: 1.2.3.4
140928                             action: reject
140929                         - my-other-term:
140930                             source_port:
140931                               - [5678, 5680]
140932                             protocol: tcp
140933                             action: accept
140934                   - block-icmp:
140935                       terms:
140936                         - first-term:
140937                             protocol:
140938                               - icmp
140939                             action: reject
140940
140941       salt.modules.napalm_netacl.load_term_config(*args, **kwargs)
140942              Generate and load the configuration of a policy term.
140943
140944              filter_name
140945                     The name of the policy filter.
140946
140947              term_name
140948                     The name of the term.
140949
140950              filter_options
140951                     Additional   filter  options.  These  options  are  plat‐
140952                     form-specific.  See the complete list of options.
140953
140954              pillar_key: acl
140955                     The key in the pillar containing the  default  attributes
140956                     values. Default: acl.  If the pillar contains the follow‐
140957                     ing structure:
140958
140959                        firewall:
140960                          - my-filter:
140961                              terms:
140962                                - my-term:
140963                                    source_port: 1234
140964                                    source_address:
140965                                        - 1.2.3.4/32
140966                                        - 5.6.7.8/32
140967
140968                     The pillar_key field would be specified as firewall.
140969
140970              pillarenv
140971                     Query the master to generate fresh  pillar  data  on  the
140972                     fly, specifically from the requested pillar environment.
140973
140974              saltenv
140975                     Included     only    for    compatibility    with    pil‐
140976                     larenv_from_saltenv, and is otherwise ignored.
140977
140978              merge_pillar: True
140979                     Merge the CLI variables with the pillar. Default: True.
140980
140981                     The properties specified through the CLI have higher pri‐
140982                     ority than the pillar.
140983
140984              revision_id
140985                     Add  a  comment in the term config having the description
140986                     for the changes applied.
140987
140988              revision_no
140989                     The revision count.
140990
140991              revision_date: True
140992                     Boolean flag: display the date when the  term  configura‐
140993                     tion was generated. Default: True.
140994
140995              revision_date_format: %Y/%m/%d
140996                     The  date  format to be used when generating the perforce
140997                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
140998
140999              test: False
141000                     Dry run? If set as True, will apply the  config,  discard
141001                     and  return  the changes.  Default: False and will commit
141002                     the changes on the device.
141003
141004              commit: True
141005                     Commit? Default: True.
141006
141007              debug: False
141008                     Debug mode. Will insert a new key under the  output  dic‐
141009                     tionary,  as  loaded_config containing the raw configura‐
141010                     tion loaded on the device.
141011
141012              source_service
141013                     A special service to choose from. This is a helper so the
141014                     user  is  able  to  select  a source just using the name,
141015                     instead of specifying a source_port and protocol.
141016
141017                     As this module is available on Unix  platforms  only,  it
141018                     reads the IANA port assignment from /etc/services.
141019
141020                     If  the  user  requires additional shortcuts to be refer‐
141021                     enced, they can add entries  under  /etc/services,  which
141022                     can be managed using the file state.
141023
141024              destination_service
141025                     A special service to choose from. This is a helper so the
141026                     user is able to select a  source  just  using  the  name,
141027                     instead  of  specifying  a destination_port and protocol.
141028                     Allows the same options as source_service.
141029
141030              term_fields
141031                     Term attributes. To see what fields are supported, please
141032                     consult  the  list  of supported keywords. Some platforms
141033                     have a few other optional keywords.
141034
141035              NOTE:
141036                 The following fields are accepted (some  being  platform-spe‐
141037                 cific):
141038
141039                 · action
141040
141041                 · address
141042
141043                 · address_exclude
141044
141045                 · comment
141046
141047                 · counter
141048
141049                 · expiration
141050
141051                 · destination_address
141052
141053                 · destination_address_exclude
141054
141055                 · destination_port
141056
141057                 · destination_prefix
141058
141059                 · forwarding_class
141060
141061                 · forwarding_class_except
141062
141063                 · logging
141064
141065                 · log_name
141066
141067                 · loss_priority
141068
141069                 · option
141070
141071                 · policer
141072
141073                 · port
141074
141075                 · precedence
141076
141077                 · principals
141078
141079                 · protocol
141080
141081                 · protocol_except
141082
141083                 · qos
141084
141085                 · pan_application
141086
141087                 · routing_instance
141088
141089                 · source_address
141090
141091                 · source_address_exclude
141092
141093                 · source_port
141094
141095                 · source_prefix
141096
141097                 · verbatim
141098
141099                 · packet_length
141100
141101                 · fragment_offset
141102
141103                 · hop_limit
141104
141105                 · icmp_type
141106
141107                 · ether_type
141108
141109                 · traffic_class_count
141110
141111                 · traffic_type
141112
141113                 · translated
141114
141115                 · dscp_set
141116
141117                 · dscp_match
141118
141119                 · dscp_except
141120
141121                 · next_ip
141122
141123                 · flexible_match_range
141124
141125                 · source_prefix_except
141126
141127                 · destination_prefix_except
141128
141129                 · vpn
141130
141131                 · source_tag
141132
141133                 · destination_tag
141134
141135                 · source_interface
141136
141137                 · destination_interface
141138
141139                 · flattened
141140
141141                 · flattened_addr
141142
141143                 · flattened_saddr
141144
141145                 · flattened_daddr
141146
141147                 · priority
141148
141149              NOTE:
141150                 The following fields can be also a single value and a list of
141151                 values:
141152
141153                 · action
141154
141155                 · address
141156
141157                 · address_exclude
141158
141159                 · comment
141160
141161                 · destination_address
141162
141163                 · destination_address_exclude
141164
141165                 · destination_port
141166
141167                 · destination_prefix
141168
141169                 · forwarding_class
141170
141171                 · forwarding_class_except
141172
141173                 · logging
141174
141175                 · option
141176
141177                 · port
141178
141179                 · precedence
141180
141181                 · principals
141182
141183                 · protocol
141184
141185                 · protocol_except
141186
141187                 · pan_application
141188
141189                 · source_address
141190
141191                 · source_address_exclude
141192
141193                 · source_port
141194
141195                 · source_prefix
141196
141197                 · verbatim
141198
141199                 · icmp_type
141200
141201                 · ether_type
141202
141203                 · traffic_type
141204
141205                 · dscp_match
141206
141207                 · dscp_except
141208
141209                 · flexible_match_range
141210
141211                 · source_prefix_except
141212
141213                 · destination_prefix_except
141214
141215                 · source_tag
141216
141217                 · destination_tag
141218
141219                 · source_service
141220
141221                 · destination_service
141222
141223                 Example: destination_address can be either defined as:
141224
141225                     destination_address: 172.17.17.1/24
141226
141227                 or as a list of destination IP addresses:
141228
141229                     destination_address:
141230                         - 172.17.17.1/24
141231                         - 172.17.19.1/24
141232
141233                 or a list of services to be matched:
141234
141235                     source_service:
141236                         - ntp
141237                         - snmp
141238                         - ldap
141239                         - bgpd
141240
141241              NOTE:
141242                 The port fields source_port and destination_port can be  used
141243                 as  above  to  select either a single value, either a list of
141244                 values, but also they can select port ranges. Example:
141245
141246                     source_port:
141247                         - - 1000
141248                           - 2000
141249                         - - 3000
141250                           - 4000
141251
141252                 With the configuration above, the user is able to select  the
141253                 1000-2000 and 3000-4000 source port ranges.
141254
141255              The output is a dictionary having the same form as net.load_con‐
141256              fig.
141257
141258              CLI Example:
141259
141260                 salt 'edge01.bjm01' netacl.load_term_config filter-name term-name source_address=1.2.3.4 destination_address=5.6.7.8 action=accept test=True debug=True
141261
141262              Output Example:
141263
141264                 edge01.bjm01:
141265                     ----------
141266                     already_configured:
141267                         False
141268                     comment:
141269                         Configuration discarded.
141270                     diff:
141271                         [edit firewall]
141272                         +    family inet {
141273                         +        /*
141274                         +         ** $Date: 2017/03/22 $
141275                         +         **
141276                         +         */
141277                         +        filter filter-name {
141278                         +            interface-specific;
141279                         +            term term-name {
141280                         +                from {
141281                         +                    source-address {
141282                         +                        1.2.3.4/32;
141283                         +                    }
141284                         +                    destination-address {
141285                         +                        5.6.7.8/32;
141286                         +                    }
141287                         +                }
141288                         +                then accept;
141289                         +            }
141290                         +        }
141291                         +    }
141292                     loaded_config:
141293                         firewall {
141294                             family inet {
141295                                 replace:
141296                                 /*
141297                                 ** $Date: 2017/03/22 $
141298                                 **
141299                                 */
141300                                 filter filter-name {
141301                                     interface-specific;
141302                                     term term-name {
141303                                         from {
141304                                             source-address {
141305                                                 1.2.3.4/32;
141306                                             }
141307                                             destination-address {
141308                                                 5.6.7.8/32;
141309                                             }
141310                                         }
141311                                         then accept;
141312                                     }
141313                                 }
141314                             }
141315                         }
141316                     result:
141317                         True
141318
141319   salt.modules.napalm_bgp module
141320   NAPALM BGP
141321       Manages BGP configuration on network devices and provides statistics.
141322
141323       codeauthor
141324              Mircea  Ulinic  <ping@mirceaulinic.net>  &  Jerome   Fleury   <‐
141325              jf@cloudflare.com>
141326
141327       maturity
141328              new
141329
141330       depends
141331              napalm
141332
141333       platform
141334              unix
141335
141336   Dependencies
141337       · napalm proxy minion
141338
141339       New in version 2016.11.0.
141340
141341
141342       salt.modules.napalm_bgp.config(*args, **kwargs)
141343              Provides the BGP configuration on the device.
141344
141345              Parameters
141346
141347                     · group -- Name of the group selected to display the con‐
141348                       figuration.
141349
141350                     · neighbor -- IP Address of the neighbor to  display  the
141351                       configuration.   If  the  group parameter is not speci‐
141352                       fied, the neighbor setting will be ignored.
141353
141354              Returns
141355                     A dictionary containing the BGP  configuration  from  the
141356                     network  device.  The keys of the main dictionary are the
141357                     group names.
141358
141359              Each group has the following properties:
141360
141361                 · type (string)
141362
141363                 · description (string)
141364
141365                 · apply_groups (string list)
141366
141367                 · multihop_ttl (int)
141368
141369                 · multipath (True/False)
141370
141371                 · local_address (string)
141372
141373                 · local_as (int)
141374
141375                 · remote_as (int)
141376
141377                 · import_policy (string)
141378
141379                 · export_policy (string)
141380
141381                 · remove_private_as (True/False)
141382
141383                 · prefix_limit (dictionary)
141384
141385                 · neighbors (dictionary)
141386
141387              Each neighbor in the dictionary of neighbors provides:
141388
141389                 · description (string)
141390
141391                 · import_policy (string)
141392
141393                 · export_policy (string)
141394
141395                 · local_address (string)
141396
141397                 · local_as (int)
141398
141399                 · remote_as (int)
141400
141401                 · authentication_key (string)
141402
141403                 · prefix_limit (dictionary)
141404
141405                 · route_reflector_client (True/False)
141406
141407                 · nhs (True/False)
141408
141409              CLI Example:
141410
141411                 salt '*' bgp.config # entire BGP config
141412                 salt '*' bgp.config PEERS-GROUP-NAME # provides detail only about BGP group PEERS-GROUP-NAME
141413                 salt '*' bgp.config PEERS-GROUP-NAME 172.17.17.1 # provides details only about BGP neighbor 172.17.17.1,
141414                 # configured in the group PEERS-GROUP-NAME
141415
141416              Output Example:
141417
141418                 {
141419                     'PEERS-GROUP-NAME':{
141420                         'type'          : 'external',
141421                         'description'   : 'Here we should have a nice description',
141422                         'apply_groups'  : ['BGP-PREFIX-LIMIT'],
141423                         'import_policy' : 'PUBLIC-PEER-IN',
141424                         'export_policy' : 'PUBLIC-PEER-OUT',
141425                         'remove_private': True,
141426                         'multipath'     : True,
141427                         'multihop_ttl'  : 30,
141428                         'neighbors'     : {
141429                             '192.168.0.1': {
141430                                 'description'   : 'Facebook [CDN]',
141431                                 'prefix_limit'  : {
141432                                     'inet': {
141433                                         'unicast': {
141434                                             'limit': 100,
141435                                             'teardown': {
141436                                                 'threshold' : 95,
141437                                                 'timeout'   : 5
141438                                             }
141439                                         }
141440                                     }
141441                                 }
141442                                 'peer-as'        : 32934,
141443                                 'route_reflector': False,
141444                                 'nhs'            : True
141445                             },
141446                             '172.17.17.1': {
141447                                 'description'   : 'Twitter [CDN]',
141448                                 'prefix_limit'  : {
141449                                     'inet': {
141450                                         'unicast': {
141451                                             'limit': 500,
141452                                             'no-validate': 'IMPORT-FLOW-ROUTES'
141453                                         }
141454                                     }
141455                                 }
141456                                 'peer_as'        : 13414
141457                                 'route_reflector': False,
141458                                 'nhs'            : False
141459                             }
141460                         }
141461                     }
141462                 }
141463
141464       salt.modules.napalm_bgp.neighbors(*args, **kwargs)
141465              Provides details regarding the BGP sessions  configured  on  the
141466              network device.
141467
141468              Parameters
141469                     neighbor -- IP Address of a specific neighbor.
141470
141471              Returns
141472                     A  dictionary with the statistics of the all/selected BGP
141473                     neighbors. Outer dictionary keys represent the VRF  name.
141474                     Keys  of inner dictionary represent the AS numbers, while
141475                     the values are lists of dictionaries, having the  follow‐
141476                     ing keys:
141477
141478                     · up (True/False)
141479
141480                     · local_as (int)
141481
141482                     · remote_as (int)
141483
141484                     · local_address (string)
141485
141486                     · routing_table (string)
141487
141488                     · local_address_configured (True/False)
141489
141490                     · local_port (int)
141491
141492                     · remote_address (string)
141493
141494                     · remote_port (int)
141495
141496                     · multihop (True/False)
141497
141498                     · multipath (True/False)
141499
141500                     · remove_private_as (True/False)
141501
141502                     · import_policy (string)
141503
141504                     · export_policy (string)
141505
141506                     · input_messages (int)
141507
141508                     · output_messages (int)
141509
141510                     · input_updates (int)
141511
141512                     · output_updates (int)
141513
141514                     · messages_queued_out (int)
141515
141516                     · connection_state (string)
141517
141518                     · previous_connection_state (string)
141519
141520                     · last_event (string)
141521
141522                     · suppress_4byte_as (True/False)
141523
141524                     · local_as_prepend (True/False)
141525
141526                     · holdtime (int)
141527
141528                     · configured_holdtime (int)
141529
141530                     · keepalive (int)
141531
141532                     · configured_keepalive (int)
141533
141534                     · active_prefix_count (int)
141535
141536                     · received_prefix_count (int)
141537
141538                     · accepted_prefix_count (int)
141539
141540                     · suppressed_prefix_count (int)
141541
141542                     · advertised_prefix_count (int)
141543
141544                     · flap_count (int)
141545
141546
141547              CLI Example:
141548
141549                 salt '*' bgp.neighbors  # all neighbors
141550                 salt '*' bgp.neighbors 172.17.17.1  # only session with BGP neighbor(s) 172.17.17.1
141551
141552              Output Example:
141553
141554                 {
141555                     'default': {
141556                         8121: [
141557                             {
141558                                 'up'                        : True,
141559                                 'local_as'                  : 13335,
141560                                 'remote_as'                 : 8121,
141561                                 'local_address'             : '172.101.76.1',
141562                                 'local_address_configured'  : True,
141563                                 'local_port'                : 179,
141564                                 'remote_address'            : '192.247.78.0',
141565                                 'router_id'                 : '192.168.0.1',
141566                                 'remote_port'               : 58380,
141567                                 'multihop'                  : False,
141568                                 'import_policy'             : '4-NTT-TRANSIT-IN',
141569                                 'export_policy'             : '4-NTT-TRANSIT-OUT',
141570                                 'input_messages'            : 123,
141571                                 'output_messages'           : 13,
141572                                 'input_updates'             : 123,
141573                                 'output_updates'            : 5,
141574                                 'messages_queued_out'       : 23,
141575                                 'connection_state'          : 'Established',
141576                                 'previous_connection_state' : 'EstabSync',
141577                                 'last_event'                : 'RecvKeepAlive',
141578                                 'suppress_4byte_as'         : False,
141579                                 'local_as_prepend'          : False,
141580                                 'holdtime'                  : 90,
141581                                 'configured_holdtime'       : 90,
141582                                 'keepalive'                 : 30,
141583                                 'configured_keepalive'      : 30,
141584                                 'active_prefix_count'       : 132808,
141585                                 'received_prefix_count'     : 566739,
141586                                 'accepted_prefix_count'     : 566479,
141587                                 'suppressed_prefix_count'   : 0,
141588                                 'advertise_prefix_count'    : 0,
141589                                 'flap_count'                : 27
141590                             }
141591                         ]
141592                     }
141593                 }
141594
141595   salt.modules.napalm_formula module
141596   NAPALM Formula helpers
141597       New in version 2019.2.0.
141598
141599
141600       This is an Execution Module providing helpers for various NAPALM formu‐
141601       las,     e.g.,      napalm-interfaces-formula,      napalm-bgp-formula,
141602       napalm-ntp-formula  etc.,  meant to provide various helper functions to
141603       make the templates more readable.
141604
141605       salt.modules.napalm_formula.container_path(model,    key=None,     con‐
141606       tainer=None, delim=':')
141607              Return  the  list of all the possible paths in a container, down
141608              to the config container.  This function can be  used  to  verify
141609              that  the  model  is  a  Python  object correctly structured and
141610              respecting the OpenConfig hierarchy.
141611
141612              model  The OpenConfig-structured object to inspect.
141613
141614              delim: :
141615                     The key delimiter. In particular cases, it  is  indicated
141616                     to  use  //  as : might be already used in various cases,
141617                     e.g., IPv6 addresses, interface name (e.g.,  Juniper  QFX
141618                     series), etc.
141619
141620              CLI Example:
141621
141622                 salt '*' napalm_formula.container_path "{'interfaces': {'interface': {'Ethernet1': {'config': {'name': 'Ethernet1'}}}}}"
141623
141624              The  example  above  would return a list with the following ele‐
141625              ment: interfaces:interface:Ethernet1:config which  is  the  only
141626              possible path in that hierarchy.
141627
141628              Other output examples:
141629
141630                 - interfaces:interface:Ethernet1:config
141631                 - interfaces:interface:Ethernet1:subinterfaces:subinterface:0:config
141632                 - interfaces:interface:Ethernet2:config
141633
141634       salt.modules.napalm_formula.defaults(model,   defaults_,   delim=u'//',
141635       flipped_merge=False)
141636              Apply the defaults to a Python dictionary having  the  structure
141637              as described in the OpenConfig standards.
141638
141639              model  The OpenConfig model to apply the defaults to.
141640
141641              defaults
141642                     The dictionary of defaults. This argument must equally be
141643                     structured with respect to the OpenConfig standards.
141644
141645                     For ease of use, the keys of these support glob matching,
141646                     therefore  we don't have to provide the defaults for each
141647                     entity but only for  the  entity  type.  See  an  example
141648                     below.
141649
141650              delim: //
141651                     The  key delimiter to use. Generally, // should cover all
141652                     the possible cases, and you don't need to  override  this
141653                     value.
141654
141655              flipped_merge: False
141656                     Whether  should merge the model into the defaults, or the
141657                     defaults into the model. Default: False (merge the  model
141658                     into the defaults, i.e., any defaults would be overridden
141659                     by the values from the model).
141660
141661              CLI Example:
141662
141663                 salt '*' napalm_formula.defaults "{'interfaces': {'interface': {'Ethernet1': {'config': {'name': 'Ethernet1'}}}}}" "{'interfaces': {'interface': {'*': {'config': {'enabled': True}}}}}"
141664
141665              As one can notice in the example above, the * corresponds to the
141666              interface  name,  therefore, the defaults will be applied on all
141667              the interfaces.
141668
141669       salt.modules.napalm_formula.dictupdate(dest,        upd,         recur‐
141670       sive_update=True, merge_lists=False)
141671              Recursive version of the default dict.update
141672
141673              Merges upd recursively into dest
141674
141675              If  recursive_update=False, will use the classic dict.update, or
141676              fall back on a manual merge (helpful  for  non-dict  types  like
141677              FunctionWrapper).
141678
141679              If merge_lists=True, will aggregate list object types instead of
141680              replace.  The list in upd is added to the list in dest,  so  the
141681              resulting  list  is dest[key] + upd[key]. This behaviour is only
141682              activated     when     recursive_update=True.     By     default
141683              merge_lists=False.
141684
141685       salt.modules.napalm_formula.render_field(dictionary,             field,
141686       prepend=None, append=None, quotes=False, **opts)
141687              Render a field found under the field level of the  hierarchy  in
141688              the  dictionary  object.   This is useful to render a field in a
141689              Jinja template without worrying that  the  hierarchy  might  not
141690              exist.  For  example  if we do the following in Jinja: {{ inter‐
141691              faces.interface.Ethernet5.config.description }} for the  follow‐
141692              ing  object:  {'interfaces':  {'interface': {'Ethernet1': {'con‐
141693              fig': {'enabled': True}}}}} it would error, as the Ethernet5 key
141694              does  not  exist.   With this helper, we can skip this and avoid
141695              existence checks. This must be however used with care.
141696
141697              dictionary
141698                     The dictionary to traverse.
141699
141700              field  The key name or part to traverse in the dictionary.
141701
141702              prepend: None
141703                     The text to prepend in front of  the  text.  Usually,  we
141704                     need  to  have  the name of the field too when generating
141705                     the configuration.
141706
141707              append: None
141708                     Text to append at the end.
141709
141710              quotes: False
141711                     Whether should wrap the text around quotes.
141712
141713              CLI Example:
141714
141715                 salt '*' napalm_formula.render_field "{'enabled': True}" enabled
141716                 # This would return the value of the ``enabled`` leaf key
141717                 salt '*' napalm_formula.render_field "{'enabled': True}" description
141718                 # This would not error
141719
141720              Jinja usage example:
141721
141722                 {%- set config = {'enabled': True, 'description': 'Interface description'} %}
141723                 {{ salt.napalm_formula.render_field(config, 'description', quotes=True) }}
141724
141725              The example above would be rendered on Arista / Cisco as:
141726
141727                 description "Interface description"
141728
141729              While on Junos (the semicolon is important to be  added,  other‐
141730              wise the configuration won't be accepted by Junos):
141731
141732                 description "Interface description";
141733
141734       salt.modules.napalm_formula.render_fields(dictionary, *fields, **opts)
141735              This  function works similarly to render_field but for a list of
141736              fields from the same dictionary, rendering, indenting  and  dis‐
141737              tributing them on separate lines.
141738
141739              dictionary
141740                     The dictionary to traverse.
141741
141742              fields A list of field names or paths in the dictionary.
141743
141744              indent: 0
141745                     The indentation to use, prepended to the rendered field.
141746
141747              separator: \n
141748                     The separator to use between fields.
141749
141750              CLI Example:
141751
141752                 salt '*' napalm_formula.render_fields "{'mtu': 68, 'description': 'Interface description'}" mtu description
141753
141754              Jinja usage example:
141755
141756                 {%- set config={'mtu': 68, 'description': 'Interface description'} %}
141757                 {{ salt.napalm_formula.render_fields(config, 'mtu', 'description', quotes=True) }}
141758
141759              The  Jinja example above would generate the following configura‐
141760              tion:
141761
141762                 mtu "68"
141763                 description "Interface description"
141764
141765       salt.modules.napalm_formula.setval(key, val, dict_=None, delim=':')
141766              Set a value under the dictionary hierarchy identified under  the
141767              key.  The  target 'foo/bar/baz' returns the dictionary hierarchy
141768              {'foo': {'bar': {'baz': {}}}}.
141769
141770              NOTE:
141771                 Currently this doesn't work with integers, i.e.  cannot build
141772                 lists dynamically.
141773
141774              CLI Example:
141775
141776                 salt '*' formula.setval foo:baz:bar True
141777
141778       salt.modules.napalm_formula.traverse(data,  key,  default=None,  delim‐
141779       iter=':')
141780              Traverse a dict or list using a  colon-delimited  (or  otherwise
141781              delimited,  using the delimiter param) target string. The target
141782              foo:bar:0  will  return  data['foo']['bar'][0]  if  this   value
141783              exists,  and will otherwise return the dict in the default argu‐
141784              ment.  Function will automatically determine  the  target  type.
141785              The  target  foo:bar:0 will return data['foo']['bar'][0] if data
141786              like     {'foo':{'bar':['baz']}}     ,     if     data      like
141787              {'foo':{'bar':{'0':'baz'}}} then return data['foo']['bar']['0']
141788
141789              CLI Example:
141790
141791                 salt '*' napalm_formula.traverse "{'foo': {'bar': {'baz': True}}}" foo:baz:bar
141792
141793   salt.modules.napalm_network module
141794   NAPALM Network
141795       Basic  methods for interaction with the network device through the vir‐
141796       tual proxy 'napalm'.
141797
141798       codeauthor
141799              Mircea  Ulinic  <ping@mirceaulinic.net>  &  Jerome   Fleury   <‐
141800              jf@cloudflare.com>
141801
141802       maturity
141803              new
141804
141805       depends
141806              napalm
141807
141808       platform
141809              unix
141810
141811   Dependencies
141812       · napalm proxy minion
141813
141814       New in version 2016.11.0.
141815
141816
141817       Changed in version 2017.7.0.
141818
141819
141820       salt.modules.napalm_network.arp(*args, **kwargs)
141821              NAPALM  returns  a  list of dictionaries with details of the ARP
141822              entries.
141823
141824              Parameters
141825
141826                     · interface -- interface name to filter on
141827
141828                     · ipaddr -- IP address to filter on
141829
141830                     · macaddr -- MAC address to filter on
141831
141832              Returns
141833                     List of the entries in the ARP table
141834
141835              CLI Example:
141836
141837                 salt '*' net.arp
141838                 salt '*' net.arp macaddr='5c:5e:ab:da:3c:f0'
141839
141840              Example output:
141841
141842                 [
141843                     {
141844                         'interface' : 'MgmtEth0/RSP0/CPU0/0',
141845                         'mac'       : '5c:5e:ab:da:3c:f0',
141846                         'ip'        : '172.17.17.1',
141847                         'age'       : 1454496274.84
141848                     },
141849                     {
141850                         'interface': 'MgmtEth0/RSP0/CPU0/0',
141851                         'mac'       : '66:0e:94:96:e0:ff',
141852                         'ip'        : '172.17.17.2',
141853                         'age'       : 1435641582.49
141854                     }
141855                 ]
141856
141857       salt.modules.napalm_network.blockreplace(marker_start, marker_end, con‐
141858       tent=u'',     append_if_not_found=False,    prepend_if_not_found=False,
141859       show_changes=True, append_newline=False, source=u'running',  path=None,
141860       test=False, commit=True, debug=False, replace=True)
141861              New in version 2019.2.0.
141862
141863
141864              Replace  content  of  the configuration source, delimited by the
141865              line markers.
141866
141867              A block of content delimited by comments  can  help  you  manage
141868              several lines without worrying about old entries removal.
141869
141870              marker_start
141871                     The  line  content identifying a line as the start of the
141872                     content block.  Note that the whole line containing  this
141873                     marker will be considered, so whitespace or extra content
141874                     before or after the marker is included in final output.
141875
141876              marker_end
141877                     The line content identifying a line as  the  end  of  the
141878                     content  block.  Note that the whole line containing this
141879                     marker will be considered, so whitespace or extra content
141880                     before or after the marker is included in final output.
141881
141882              content
141883                     The  content  to be used between the two lines identified
141884                     by marker_start and marker_stop.
141885
141886              append_if_not_found: False
141887                     If markers are not found and set to True then, the  mark‐
141888                     ers and content will be appended to the file.
141889
141890              prepend_if_not_found: False
141891                     If  markers are not found and set to True then, the mark‐
141892                     ers and content will be prepended to the file.
141893
141894              append_newline: False
141895                     Controls whether or not a newline is appended to the con‐
141896                     tent block.  If the value of this argument is True then a
141897                     newline will be added to the  content  block.  If  it  is
141898                     False,  then  a  newline will not be added to the content
141899                     block. If it is None then a newline will only be added to
141900                     the  content  block  if it does not already end in a new‐
141901                     line.
141902
141903              show_changes: True
141904                     Controls how changes are presented. If True,  this  func‐
141905                     tion will return the of the changes made.  If False, then
141906                     it will return a boolean (True if any changes were  made,
141907                     otherwise False).
141908
141909              source: running
141910                     The  configuration  source.  Choose from: running, candi‐
141911                     date, or startup. Default: running.
141912
141913              path: None
141914                     Save the temporary configuration to a specific path, then
141915                     read  from  there. This argument is optional, can be used
141916                     when you prefers a particular location of  the  temporary
141917                     file.
141918
141919              test: False
141920                     Dry  run?  If set as True, will apply the config, discard
141921                     and return the changes. Default: False  and  will  commit
141922                     the changes on the device.
141923
141924              commit: True
141925                     Commit the configuration changes? Default: True.
141926
141927              debug: False
141928                     Debug  mode.  Will insert a new key in the output dictio‐
141929                     nary, as loaded_config containing the  raw  configuration
141930                     loaded on the device.
141931
141932              replace: True
141933                     Load and replace the configuration. Default: True.
141934
141935              CLI Example:
141936
141937                 salt '*' net.blockreplace 'ntp' 'interface' ''
141938
141939       salt.modules.napalm_network.cancel_commit(jid)
141940              New in version 2019.2.0.
141941
141942
141943              Cancel  a  commit scheduled to be executed via the commit_in and
141944              commit_at    arguments    from    the    net.load_template    or
141945              net.load_config  execution functions. The commit ID is displayed
141946              when the commit is scheduled via the functions named above.
141947
141948              CLI Example:
141949
141950                 salt '*' net.cancel_commit 20180726083540640360
141951
141952       salt.modules.napalm_network.cli(*args, **kwargs)
141953              Returns a dictionary with the raw output of all commands  passed
141954              as arguments.
141955
141956              commands
141957                     List of commands to be executed on the device.
141958
141959              textfsm_parse: False
141960                     Try parsing the outputs using the TextFSM templates.
141961
141962                     New in version 2018.3.0.
141963
141964
141965                     NOTE:
141966                        This  option  can be also specified in the minion con‐
141967                        figuration file or pillar as napalm_cli_textfsm_parse.
141968
141969              textfsm_path
141970                     The path where the TextFSM templates can be  found.  This
141971                     option  implies  the  usage  of  the  TextFSM index file.
141972                     textfsm_path can be either absolute path on  the  server,
141973                     either   specified  using  the  following  URL  mschemes:
141974                     file://,  salt://,  http://,  https://,  ftp://,   s3://,
141975                     swift://.
141976
141977                     New in version 2018.3.0.
141978
141979
141980                     NOTE:
141981                        This  needs  to  be a directory with a flat structure,
141982                        having an index file  (whose  name  can  be  specified
141983                        using  the  index_file option) and a number of TextFSM
141984                        templates.
141985
141986                     NOTE:
141987                        This option can be also specified in the  minion  con‐
141988                        figuration file or pillar as textfsm_path.
141989
141990              textfsm_template
141991                     The  path to a certain the TextFSM template.  This can be
141992                     specified using the absolute path to the file,  or  using
141993                     one of the following URL schemes:
141994
141995                     · salt://,  to  fetch  the  template  from the Salt file‐
141996                       server.
141997
141998                     · http:// or https://
141999
142000                     · ftp://
142001
142002                     · s3://
142003
142004                     · swift://
142005
142006                     New in version 2018.3.0.
142007
142008
142009              textfsm_template_dict
142010                     A dictionary with the mapping between a command  and  the
142011                     corresponding  TextFSM  path  to use to extract the data.
142012                     The TextFSM paths can be  specified  as  in  textfsm_tem‐
142013                     plate.
142014
142015                     New in version 2018.3.0.
142016
142017
142018                     NOTE:
142019                        This  option  can be also specified in the minion con‐
142020                        figuration file or pillar  as  napalm_cli_textfsm_tem‐
142021                        plate_dict.
142022
142023              platform_grain_name: os
142024                     The  name of the grain used to identify the platform name
142025                     in the TextFSM index file. Default: os.
142026
142027                     New in version 2018.3.0.
142028
142029
142030                     NOTE:
142031                        This option can be also specified in the  minion  con‐
142032                        figuration file or pillar as textfsm_platform_grain.
142033
142034              platform_column_name: Platform
142035                     The column name used to identify the platform, exactly as
142036                     specified in the TextFSM index file.  Default: Platform.
142037
142038                     New in version 2018.3.0.
142039
142040
142041                     NOTE:
142042                        This is field is case sensitive, make sure  to  assign
142043                        the  correct  value to this option, exactly as defined
142044                        in the index file.
142045
142046                     NOTE:
142047                        This option can be also specified in the  minion  con‐
142048                        figuration  file  or  pillar  as textfsm_platform_col‐
142049                        umn_name.
142050
142051              index_file: index
142052                     The  name  of  the  TextFSM   index   file,   under   the
142053                     textfsm_path. Default: index.
142054
142055                     New in version 2018.3.0.
142056
142057
142058                     NOTE:
142059                        This  option  can be also specified in the minion con‐
142060                        figuration file or pillar as textfsm_index_file.
142061
142062              saltenv: base
142063                     Salt fileserver envrionment from which  to  retrieve  the
142064                     file.  Ignored if textfsm_path is not a salt:// URL.
142065
142066                     New in version 2018.3.0.
142067
142068
142069              include_empty: False
142070                     Include empty files under the textfsm_path.
142071
142072                     New in version 2018.3.0.
142073
142074
142075              include_pat
142076                     Glob  or  regex  to narrow down the files cached from the
142077                     given path.  If matching with a regex, the regex must  be
142078                     prefixed with E@, otherwise the expression will be inter‐
142079                     preted as a glob.
142080
142081                     New in version 2018.3.0.
142082
142083
142084              exclude_pat
142085                     Glob or regex to exclude certain files from being  cached
142086                     from the given path.  If matching with a regex, the regex
142087                     must be prefixed with E@, otherwise the  expression  will
142088                     be interpreted as a glob.
142089
142090                     New in version 2018.3.0.
142091
142092
142093                     NOTE:
142094                        If  used with include_pat, files matching this pattern
142095                        will be excluded from the subset of files  defined  by
142096                        include_pat.
142097
142098              CLI Example:
142099
142100                 salt '*' net.cli "show version" "show chassis fan"
142101
142102              CLI Example with TextFSM template:
142103
142104                 salt '*' net.cli textfsm_parse=True textfsm_path=salt://textfsm/
142105
142106              Example output:
142107
142108                 {
142109                     'show version and haiku':  'Hostname: re0.edge01.arn01
142110                                                   Model: mx480
142111                                                   Junos: 13.3R6.5
142112                                                     Help me, Obi-Wan
142113                                                     I just saw Episode Two
142114                                                     You're my only hope
142115                                                  ',
142116                     'show chassis fan' :   'Item                      Status   RPM     Measurement
142117                                               Top Rear Fan              OK       3840    Spinning at intermediate-speed
142118                                               Bottom Rear Fan           OK       3840    Spinning at intermediate-speed
142119                                               Top Middle Fan            OK       3900    Spinning at intermediate-speed
142120                                               Bottom Middle Fan         OK       3840    Spinning at intermediate-speed
142121                                               Top Front Fan             OK       3810    Spinning at intermediate-speed
142122                                               Bottom Front Fan          OK       3840    Spinning at intermediate-speed
142123                                              '
142124                 }
142125
142126              Example output with TextFSM parsing:
142127
142128                 {
142129                   "comment": "",
142130                   "result": true,
142131                   "out": {
142132                     "sh ver": [
142133                       {
142134                         "kernel": "9.1S3.5",
142135                         "documentation": "9.1S3.5",
142136                         "boot": "9.1S3.5",
142137                         "crypto": "9.1S3.5",
142138                         "chassis": "",
142139                         "routing": "9.1S3.5",
142140                         "base": "9.1S3.5",
142141                         "model": "mx960"
142142                       }
142143                     ]
142144                   }
142145                 }
142146
142147       salt.modules.napalm_network.commit(*args, **kwargs)
142148              Commits the configuration changes made on the network device.
142149
142150              CLI Example:
142151
142152                 salt '*' net.commit
142153
142154       salt.modules.napalm_network.compare_config(*args, **kwargs)
142155              Returns the difference between the running config and the candi‐
142156              date config.
142157
142158              CLI Example:
142159
142160                 salt '*' net.compare_config
142161
142162       salt.modules.napalm_network.config(*args, **kwargs)
142163              New in version 2017.7.0.
142164
142165
142166              Return  the  whole  configuration  of  the  network  device.  By
142167              default,  it will return all possible configuration sources sup‐
142168              ported by the network device.  At most, there will be:
142169
142170              · running config
142171
142172              · startup config
142173
142174              · candidate config
142175
142176              To return only one of the configurations, you can use the source
142177              argument.
142178
142179              source Which  configuration type you want to display, default is
142180                     all of them.
142181
142182                     Options:
142183
142184                     · running
142185
142186                     · candidate
142187
142188                     · startup
142189
142190              Returns
142191                     The object returned is a dictionary  with  the  following
142192                     keys:
142193
142194                     · running  (string): Representation of the native running
142195                       configuration.
142196
142197                     ·
142198
142199                       candidate (string): Representation of the native candi‐
142200                       date configuration.
142201                              If the device doesn't differentiate between run‐
142202                              ning and  startup  configuration  this  will  an
142203                              empty string.
142204
142205                     ·
142206
142207                       startup  (string): Representation of the native startup
142208                       configuration.
142209                              If the device doesn't differentiate between run‐
142210                              ning  and  startup  configuration  this  will an
142211                              empty string.
142212
142213
142214              CLI Example:
142215
142216                 salt '*' net.config
142217                 salt '*' net.config source=candidate
142218
142219       salt.modules.napalm_network.config_changed(*args, **kwargs)
142220              Will prompt if the configuration has been changed.
142221
142222              Returns
142223                     A tuple with a boolean that specifies if the  config  was
142224                     changed on the device.    And a string that provides more
142225                     details of the  reason  why  the  configuration  was  not
142226                     changed.
142227
142228              CLI Example:
142229
142230                 salt '*' net.config_changed
142231
142232       salt.modules.napalm_network.config_control(*args, **kwargs)
142233              Will  check  if  the  configuration was changed.  If differences
142234              found, will try to commit.  In case  commit  unsuccessful,  will
142235              try to rollback.
142236
142237              Returns
142238                     A  tuple  with a boolean that specifies if the config was
142239                     changed/committed/rollbacked  on  the  device.     And  a
142240                     string  that  provides more details of the reason why the
142241                     configuration was not committed properly.
142242
142243              CLI Example:
142244
142245                 salt '*' net.config_control
142246
142247       salt.modules.napalm_network.confirm_commit(jid)
142248              New in version 2019.2.0.
142249
142250
142251              Confirm a commit scheduled to be reverted via the revert_in  and
142252              revert_at     arguments    from    the    net.load_template   or
142253              net.load_config execution functions. The commit ID is  displayed
142254              when  the  commit confirmed is scheduled via the functions named
142255              above.
142256
142257              CLI Example:
142258
142259                 salt '*' net.confirm_commit 20180726083540640360
142260
142261       salt.modules.napalm_network.connected(*args, **kwargs)
142262              Specifies if the connection to the device succeeded.
142263
142264              CLI Example:
142265
142266                 salt '*' net.connected
142267
142268       salt.modules.napalm_network.discard_config(*args, **kwargs)
142269              Discards the changes applied.
142270
142271              CLI Example:
142272
142273                 salt '*' net.discard_config
142274
142275       salt.modules.napalm_network.environment(*args, **kwargs)
142276              Returns the environment of the device.
142277
142278              CLI Example:
142279
142280                 salt '*' net.environment
142281
142282              Example output:
142283
142284                 {
142285                     'fans': {
142286                         'Bottom Rear Fan': {
142287                             'status': True
142288                         },
142289                         'Bottom Middle Fan': {
142290                             'status': True
142291                         },
142292                         'Top Middle Fan': {
142293                             'status': True
142294                         },
142295                         'Bottom Front Fan': {
142296                             'status': True
142297                         },
142298                         'Top Front Fan': {
142299                             'status': True
142300                         },
142301                         'Top Rear Fan': {
142302                             'status': True
142303                         }
142304                     },
142305                     'memory': {
142306                         'available_ram': 16349,
142307                         'used_ram': 4934
142308                     },
142309                     'temperature': {
142310                        'FPC 0 Exhaust A': {
142311                             'is_alert': False,
142312                             'temperature': 35.0,
142313                             'is_critical': False
142314                         }
142315                     },
142316                     'cpu': {
142317                         '1': {
142318                             '%usage': 19.0
142319                         },
142320                         '0': {
142321                             '%usage': 35.0
142322                         }
142323                     }
142324                 }
142325
142326       salt.modules.napalm_network.facts(*args, **kwargs)
142327              Returns characteristics of the network device.  :return: a  dic‐
142328              tionary with the following keys:
142329
142330                 · uptime - Uptime of the device in seconds.
142331
142332                 · vendor - Manufacturer of the device.
142333
142334                 · model - Device model.
142335
142336                 · hostname - Hostname of the device
142337
142338                 · fqdn - Fqdn of the device
142339
142340                 · os_version  -  String  with  the  OS version running on the
142341                   device.
142342
142343                 · serial_number - Serial number of the device
142344
142345                 · interface_list - List of the interfaces of the device
142346
142347              CLI Example:
142348
142349                 salt '*' net.facts
142350
142351              Example output:
142352
142353                 {
142354                     'os_version': '13.3R6.5',
142355                     'uptime': 10117140,
142356                     'interface_list': [
142357                         'lc-0/0/0',
142358                         'pfe-0/0/0',
142359                         'pfh-0/0/0',
142360                         'xe-0/0/0',
142361                         'xe-0/0/1',
142362                         'xe-0/0/2',
142363                         'xe-0/0/3',
142364                         'gr-0/0/10',
142365                         'ip-0/0/10'
142366                     ],
142367                     'vendor': 'Juniper',
142368                     'serial_number': 'JN131356FBFA',
142369                     'model': 'MX480',
142370                     'hostname': 're0.edge05.syd01',
142371                     'fqdn': 're0.edge05.syd01'
142372                 }
142373
142374       salt.modules.napalm_network.interfaces(*args, **kwargs)
142375              Returns details of the interfaces on the device.
142376
142377              Returns
142378                     Returns a dictionary of dictionaries. The  keys  for  the
142379                     first dictionary will be the interfaces in the devices.
142380
142381              CLI Example:
142382
142383                 salt '*' net.interfaces
142384
142385              Example output:
142386
142387                 {
142388                     'Management1': {
142389                         'is_up': False,
142390                         'is_enabled': False,
142391                         'description': '',
142392                         'last_flapped': -1,
142393                         'speed': 1000,
142394                         'mac_address': 'dead:beef:dead',
142395                     },
142396                     'Ethernet1':{
142397                         'is_up': True,
142398                         'is_enabled': True,
142399                         'description': 'foo',
142400                         'last_flapped': 1429978575.1554043,
142401                         'speed': 1000,
142402                         'mac_address': 'beef:dead:beef',
142403                     }
142404                 }
142405
142406       salt.modules.napalm_network.ipaddrs(*args, **kwargs)
142407              Returns IP addresses configured on the device.
142408
142409              Returns
142410                     A  dictionary  with  the  IPv4  and IPv6 addresses of the
142411                     interfaces.  Returns all configured IP addresses  on  all
142412                     interfaces  as a dictionary of dictionaries.  Keys of the
142413                     main dictionary represent  the  name  of  the  interface.
142414                     Values  of the main dictionary represent are dictionaries
142415                     that may consist of two keys 'ipv4' and 'ipv6' (one, both
142416                     or  none)  which  are  themselvs dictionaries with the IP
142417                     addresses as keys.
142418
142419              CLI Example:
142420
142421                 salt '*' net.ipaddrs
142422
142423              Example output:
142424
142425                 {
142426                     'FastEthernet8': {
142427                         'ipv4': {
142428                             '10.66.43.169': {
142429                                 'prefix_length': 22
142430                             }
142431                         }
142432                     },
142433                     'Loopback555': {
142434                         'ipv4': {
142435                             '192.168.1.1': {
142436                                 'prefix_length': 24
142437                             }
142438                         },
142439                         'ipv6': {
142440                             '1::1': {
142441                                 'prefix_length': 64
142442                             },
142443                             '2001:DB8:1::1': {
142444                                 'prefix_length': 64
142445                             },
142446                             'FE80::3': {
142447                                 'prefix_length': 'N/A'
142448                             }
142449                         }
142450                     }
142451                 }
142452
142453       salt.modules.napalm_network.lldp(*args, **kwargs)
142454              Returns a detailed view of the LLDP neighbors.
142455
142456              Parameters
142457                     interface -- interface name to filter on
142458
142459              Returns
142460                     A dictionary with the LLDL neighbors. The  keys  are  the
142461                     interfaces with LLDP activated on.
142462
142463              CLI Example:
142464
142465                 salt '*' net.lldp
142466                 salt '*' net.lldp interface='TenGigE0/0/0/8'
142467
142468              Example output:
142469
142470                 {
142471                     'TenGigE0/0/0/8': [
142472                         {
142473                             'parent_interface': 'Bundle-Ether8',
142474                             'interface_description': 'TenGigE0/0/0/8',
142475                             'remote_chassis_id': '8c60.4f69.e96c',
142476                             'remote_system_name': 'switch',
142477                             'remote_port': 'Eth2/2/1',
142478                             'remote_port_description': 'Ethernet2/2/1',
142479                             'remote_system_description': 'Cisco Nexus Operating System (NX-OS) Software 7.1(0)N1(1a)
142480                                   TAC support: http://www.cisco.com/tac
142481                                   Copyright (c) 2002-2015, Cisco Systems, Inc. All rights reserved.',
142482                             'remote_system_capab': 'B, R',
142483                             'remote_system_enable_capab': 'B'
142484                         }
142485                     ]
142486                 }
142487
142488       salt.modules.napalm_network.load_config(*args, **kwargs)
142489              Applies  configuration  changes  on the device. It can be loaded
142490              from a file or from inline string.  If you send both a  filename
142491              and  a  string containing the configuration, the file has higher
142492              precedence.
142493
142494              By default this function will commit the changes. If  there  are
142495              no  changes,  it does not commit and the flag already_configured
142496              will be set as True to point this out.
142497
142498              To avoid committing the configuration, set the argument test  to
142499              True and will discard (dry run).
142500
142501              To keep the changes but not commit, set commit to False.
142502
142503              To replace the config, set replace to True.
142504
142505              filename
142506                     Path  to  the  file containing the desired configuration.
142507                     This can be specified using  the  absolute  path  to  the
142508                     file, or using one of the following URL schemes:
142509
142510                     · salt://,  to  fetch  the  template  from the Salt file‐
142511                       server.
142512
142513                     · http:// or https://
142514
142515                     · ftp://
142516
142517                     · s3://
142518
142519                     · swift://
142520
142521                     Changed in version 2018.3.0.
142522
142523
142524              text   String containing the desired configuration.  This  argu‐
142525                     ment is ignored when filename is specified.
142526
142527              test: False
142528                     Dry  run?  If set as True, will apply the config, discard
142529                     and return the changes. Default: False  and  will  commit
142530                     the changes on the device.
142531
142532              commit: True
142533                     Commit? Default: True.
142534
142535              debug: False
142536                     Debug  mode.  Will insert a new key under the output dic‐
142537                     tionary, as loaded_config containing the  raw  configura‐
142538                     tion loaded on the device.
142539
142540                     New in version 2016.11.2.
142541
142542
142543              replace: False
142544                     Load and replace the configuration. Default: False.
142545
142546                     New in version 2016.11.2.
142547
142548
142549              commit_in: None
142550                     Commit  the  changes  in  a  specific number of minutes /
142551                     hours. Example of accepted formats: 5 (commit in  5  min‐
142552                     utes),  2m  (commit in 2 minutes), 1h (commit the changes
142553                     in 1 hour)`, 5h30m (commit the changes in 5 hours and  30
142554                     minutes).
142555
142556                     NOTE:
142557                        This  feature  works  on any platforms, as it does not
142558                        rely on the native features of the  network  operating
142559                        system.
142560
142561                     NOTE:
142562                        After the command is executed and the diff is not sat‐
142563                        isfactory, or for any other reasons you have  to  dis‐
142564                        card  the  commit,  you  are  able  to do so using the
142565                        net.cancel_commit execution function, using the commit
142566                        ID returned by this function.
142567
142568                     WARNING:
142569                        Using  this feature, Salt will load the exact configu‐
142570                        ration you expect, however the diff may change in time
142571                        (i.e.,  if  an  user  applies  a  manual configuration
142572                        change, or a different process or command changes  the
142573                        configuration in the meanwhile).
142574
142575                     New in version 2019.2.0.
142576
142577
142578              commit_at: None
142579                     Commit  the  changes  at  a  specific  time.  Example  of
142580                     accepted formats: 1am (will commit  the  changes  at  the
142581                     next 1AM), 13:20 (will commit at 13:20), 1:20am, etc.
142582
142583                     NOTE:
142584                        This  feature  works  on any platforms, as it does not
142585                        rely on the native features of the  network  operating
142586                        system.
142587
142588                     NOTE:
142589                        After the command is executed and the diff is not sat‐
142590                        isfactory, or for any other reasons you have  to  dis‐
142591                        card  the  commit,  you  are  able  to do so using the
142592                        net.cancel_commit execution function, using the commit
142593                        ID returned by this function.
142594
142595                     WARNING:
142596                        Using  this feature, Salt will load the exact configu‐
142597                        ration you expect, however the diff may change in time
142598                        (i.e.,  if  an  user  applies  a  manual configuration
142599                        change, or a different process or command changes  the
142600                        configuration in the meanwhile).
142601
142602                     New in version 2019.2.0.
142603
142604
142605              revert_in: None
142606                     Commit  and  revert  the  changes in a specific number of
142607                     minutes / hours.  Example of accepted formats: 5  (revert
142608                     in  5  minutes), 2m (revert in 2 minutes), 1h (revert the
142609                     changes in 1 hour)`, 5h30m (revert the changes in 5 hours
142610                     and 30 minutes).
142611
142612                     NOTE:
142613                        To  confirm  the  commit,  and  prevent  reverting the
142614                        changes,   you    will    have    to    execute    the
142615                        net.confirm_commit   function,  using  the  commit  ID
142616                        returned by this function.
142617
142618                     WARNING:
142619                        This works on any platform, regardless if they have or
142620                        don't have native capabilities to confirming a commit.
142621                        However, please be very cautious when using this  fea‐
142622                        ture: on Junos (as it is the only NAPALM core platform
142623                        supporting this natively) it executes  a  commit  con‐
142624                        firmed as you would do from the command line.  All the
142625                        other platforms don't have this  capability  natively,
142626                        therefore  the  revert  is  done via Salt. That means,
142627                        your device needs to be reachable at the  moment  when
142628                        Salt  will attempt to revert your changes. Be cautious
142629                        when pushing configuration changes that would  prevent
142630                        you reach the device.
142631
142632                        Similarly,  if  an  user  or a different process apply
142633                        other configuration changes in the meanwhile  (between
142634                        the  moment  you  commit  and  till  the  changes  are
142635                        reverted), these changes would be equally reverted, as
142636                        Salt cannot be aware of them.
142637
142638                     New in version 2019.2.0.
142639
142640
142641              revert_at: None
142642                     Commit and revert the changes at a specific time. Example
142643                     of accepted formats: 1am  (will  commit  and  revert  the
142644                     changes  at  the next 1AM), 13:20 (will commit and revert
142645                     at 13:20), 1:20am, etc.
142646
142647                     NOTE:
142648                        To confirm  the  commit,  and  prevent  reverting  the
142649                        changes,    you    will    have    to    execute   the
142650                        net.confirm_commit  function,  using  the  commit   ID
142651                        returned by this function.
142652
142653                     WARNING:
142654                        This works on any platform, regardless if they have or
142655                        don't have native capabilities to confirming a commit.
142656                        However,  please be very cautious when using this fea‐
142657                        ture: on Junos (as it is the only NAPALM core platform
142658                        supporting  this  natively)  it executes a commit con‐
142659                        firmed as you would do from the command line.  All the
142660                        other  platforms  don't have this capability natively,
142661                        therefore the revert is done  via  Salt.  That  means,
142662                        your  device  needs to be reachable at the moment when
142663                        Salt will attempt to revert your changes. Be  cautious
142664                        when  pushing configuration changes that would prevent
142665                        you reach the device.
142666
142667                        Similarly, if an user or  a  different  process  apply
142668                        other  configuration changes in the meanwhile (between
142669                        the  moment  you  commit  and  till  the  changes  are
142670                        reverted), these changes would be equally reverted, as
142671                        Salt cannot be aware of them.
142672
142673                     New in version 2019.2.0.
142674
142675
142676              saltenv: base
142677                     Specifies the Salt environment name.
142678
142679                     New in version 2018.3.0.
142680
142681
142682              Returns
142683                     a dictionary having the following keys:
142684
142685              · result (bool): if the config was applied successfully.  It  is
142686                False  only  in  case  of  failure.  In  case     there are no
142687                changes to be applied and successfully performs all operations
142688                it  is  still  True  and so will be     the already_configured
142689                flag (example below)
142690
142691              · comment (str): a message for the user
142692
142693              · already_configured (bool): flag to  check  if  there  were  no
142694                changes applied
142695
142696              · loaded_config  (str):  the configuration loaded on the device.
142697                Requires debug to be set as True
142698
142699              · diff (str): returns the config changes applied
142700
142701              CLI Example:
142702
142703                 salt '*' net.load_config text='ntp peer 192.168.0.1'
142704                 salt '*' net.load_config filename='/absolute/path/to/your/file'
142705                 salt '*' net.load_config filename='/absolute/path/to/your/file' test=True
142706                 salt '*' net.load_config filename='/absolute/path/to/your/file' commit=False
142707
142708              Example output:
142709
142710                 {
142711                     'comment': 'Configuration discarded.',
142712                     'already_configured': False,
142713                     'result': True,
142714                     'diff': '[edit interfaces xe-0/0/5]+   description "Adding a description";'
142715                 }
142716
142717       salt.modules.napalm_network.load_template(*args, **kwargs)
142718              Renders a configuration template (default: Jinja) and loads  the
142719              result on the device.
142720
142721              By  default  this function will commit the changes. If there are
142722              no changes, it does not commit, discards he config and the  flag
142723              already_configured will be set as True to point this out.
142724
142725              To  avoid committing the configuration, set the argument test to
142726              True and will discard (dry run).
142727
142728              To preserve the changes, set commit to False.  However, this  is
142729              recommended  to be used only in exceptional cases when there are
142730              applied few consecutive  states  and/or  configuration  changes.
142731              Otherwise the user might forget that the config DB is locked and
142732              the candidate config buffer is not cleared/merged in the running
142733              config.
142734
142735              To replace the config, set replace to True.
142736
142737              template_name
142738                     Identifies path to the template source.  The template can
142739                     be either stored on the local machine,  either  remotely.
142740                     The recommended location is under the file_roots as spec‐
142741                     ified in the master config file.  For example, let's sup‐
142742                     pose the file_roots is configured as:
142743
142744                        file_roots:
142745                          base:
142746                            - /etc/salt/states
142747
142748                     Placing    the   template   under   /etc/salt/states/tem‐
142749                     plates/example.jinja,  it  can  be  used  as  salt://tem‐
142750                     plates/example.jinja.   Alternatively,  for  local files,
142751                     the user can specify the absolute path.  If remotely, the
142752                     source can be retrieved via http, https or ftp.
142753
142754                     Examples:
142755
142756                     · salt://my_template.jinja
142757
142758                     · /absolute/path/to/my_template.jinja
142759
142760                     · http://example.com/template.cheetah
142761
142762                     · https:/example.com/template.mako
142763
142764                     · ftp://example.com/template.py
142765
142766                     Changed  in  version 2019.2.0: This argument can now sup‐
142767                     port a list of templates to be rendered.   The  resulting
142768                     configuration text is loaded at once, as a single config‐
142769                     uration chunk.
142770
142771
142772              template_source: None
142773                     Inline config template to be rendered and loaded  on  the
142774                     device.
142775
142776              template_hash: None
142777                     Hash  of  the  template  file. Format: {hash_type: 'md5',
142778                     'hsum': <md5sum>}
142779
142780                     New in version 2016.11.2.
142781
142782
142783              context: None
142784                     Overrides default context variables passed  to  the  tem‐
142785                     plate.
142786
142787                     New in version 2019.2.0.
142788
142789
142790              template_hash_name: None
142791                     When  template_hash  refers to a remote file, this speci‐
142792                     fies the filename to look for in that file.
142793
142794                     New in version 2016.11.2.
142795
142796
142797              saltenv: base
142798                     Specifies the template environment.  This will  influence
142799                     the relative imports inside the templates.
142800
142801                     New in version 2016.11.2.
142802
142803
142804              template_engine: jinja
142805                     The following templates engines are supported:
142806
142807                     · cheetah
142808
142809                     · genshi
142810
142811                     · jinja
142812
142813                     · mako
142814
142815                     · py
142816
142817                     · wempy
142818
142819                     New in version 2016.11.2.
142820
142821
142822              skip_verify: True
142823                     If   True,  hash  verification  of  remote  file  sources
142824                     (http://, https://, ftp://)  will  be  skipped,  and  the
142825                     source_hash argument will be ignored.
142826
142827                     New in version 2016.11.2.
142828
142829
142830              test: False
142831                     Dry  run?  If set to True, will apply the config, discard
142832                     and return the changes.  Default: False and  will  commit
142833                     the changes on the device.
142834
142835              commit: True
142836                     Commit? (default: True)
142837
142838              debug: False
142839                     Debug  mode.  Will insert a new key under the output dic‐
142840                     tionary, as loaded_config containing the raw result after
142841                     the template was rendered.
142842
142843                     New in version 2016.11.2.
142844
142845
142846              replace: False
142847                     Load and replace the configuration.
142848
142849                     New in version 2016.11.2.
142850
142851
142852              commit_in: None
142853                     Commit  the  changes  in  a  specific number of minutes /
142854                     hours. Example of accepted formats: 5 (commit in  5  min‐
142855                     utes),  2m  (commit in 2 minutes), 1h (commit the changes
142856                     in 1 hour)`, 5h30m (commit the changes in 5 hours and  30
142857                     minutes).
142858
142859                     NOTE:
142860                        This  feature  works  on any platforms, as it does not
142861                        rely on the native features of the  network  operating
142862                        system.
142863
142864                     NOTE:
142865                        After the command is executed and the diff is not sat‐
142866                        isfactory, or for any other reasons you have  to  dis‐
142867                        card  the  commit,  you  are  able  to do so using the
142868                        net.cancel_commit execution function, using the commit
142869                        ID returned by this function.
142870
142871                     WARNING:
142872                        Using  this feature, Salt will load the exact configu‐
142873                        ration you expect, however the diff may change in time
142874                        (i.e.,  if  an  user  applies  a  manual configuration
142875                        change, or a different process or command changes  the
142876                        configuration in the meanwhile).
142877
142878                     New in version 2019.2.0.
142879
142880
142881              commit_at: None
142882                     Commit  the  changes  at  a  specific  time.  Example  of
142883                     accepted formats: 1am (will commit  the  changes  at  the
142884                     next 1AM), 13:20 (will commit at 13:20), 1:20am, etc.
142885
142886                     NOTE:
142887                        This  feature  works  on any platforms, as it does not
142888                        rely on the native features of the  network  operating
142889                        system.
142890
142891                     NOTE:
142892                        After the command is executed and the diff is not sat‐
142893                        isfactory, or for any other reasons you have  to  dis‐
142894                        card  the  commit,  you  are  able  to do so using the
142895                        net.cancel_commit execution function, using the commit
142896                        ID returned by this function.
142897
142898                     WARNING:
142899                        Using  this feature, Salt will load the exact configu‐
142900                        ration you expect, however the diff may change in time
142901                        (i.e.,  if  an  user  applies  a  manual configuration
142902                        change, or a different process or command changes  the
142903                        configuration in the meanwhile).
142904
142905                     New in version 2019.2.0.
142906
142907
142908              revert_in: None
142909                     Commit  and  revert  the  changes in a specific number of
142910                     minutes / hours.  Example of accepted formats: 5  (revert
142911                     in  5  minutes), 2m (revert in 2 minutes), 1h (revert the
142912                     changes in 1 hour)`, 5h30m (revert the changes in 5 hours
142913                     and 30 minutes).
142914
142915                     NOTE:
142916                        To  confirm  the  commit,  and  prevent  reverting the
142917                        changes,   you    will    have    to    execute    the
142918                        net.confirm_commit   function,  using  the  commit  ID
142919                        returned by this function.
142920
142921                     WARNING:
142922                        This works on any platform, regardless if they have or
142923                        don't have native capabilities to confirming a commit.
142924                        However, please be very cautious when using this  fea‐
142925                        ture: on Junos (as it is the only NAPALM core platform
142926                        supporting this natively) it executes  a  commit  con‐
142927                        firmed as you would do from the command line.  All the
142928                        other platforms don't have this  capability  natively,
142929                        therefore  the  revert  is  done via Salt. That means,
142930                        your device needs to be reachable at the  moment  when
142931                        Salt  will attempt to revert your changes. Be cautious
142932                        when pushing configuration changes that would  prevent
142933                        you reach the device.
142934
142935                        Similarly,  if  an  user  or a different process apply
142936                        other configuration changes in the meanwhile  (between
142937                        the  moment  you  commit  and  till  the  changes  are
142938                        reverted), these changes would be equally reverted, as
142939                        Salt cannot be aware of them.
142940
142941                     New in version 2019.2.0.
142942
142943
142944              revert_at: None
142945                     Commit and revert the changes at a specific time. Example
142946                     of accepted formats: 1am  (will  commit  and  revert  the
142947                     changes  at  the next 1AM), 13:20 (will commit and revert
142948                     at 13:20), 1:20am, etc.
142949
142950                     NOTE:
142951                        To confirm  the  commit,  and  prevent  reverting  the
142952                        changes,    you    will    have    to    execute   the
142953                        net.confirm_commit  function,  using  the  commit   ID
142954                        returned by this function.
142955
142956                     WARNING:
142957                        This works on any platform, regardless if they have or
142958                        don't have native capabilities to confirming a commit.
142959                        However,  please be very cautious when using this fea‐
142960                        ture: on Junos (as it is the only NAPALM core platform
142961                        supporting  this  natively)  it executes a commit con‐
142962                        firmed as you would do from the command line.  All the
142963                        other  platforms  don't have this capability natively,
142964                        therefore the revert is done  via  Salt.  That  means,
142965                        your  device  needs to be reachable at the moment when
142966                        Salt will attempt to revert your changes. Be  cautious
142967                        when  pushing configuration changes that would prevent
142968                        you reach the device.
142969
142970                        Similarly, if an user or  a  different  process  apply
142971                        other  configuration changes in the meanwhile (between
142972                        the  moment  you  commit  and  till  the  changes  are
142973                        reverted), these changes would be equally reverted, as
142974                        Salt cannot be aware of them.
142975
142976                     New in version 2019.2.0.
142977
142978
142979              defaults: None
142980                     Default variables/context passed to the template.
142981
142982                     New in version 2016.11.2.
142983
142984
142985              template_vars
142986                     Dictionary with the arguments/context to be used when the
142987                     template is rendered.
142988
142989                     NOTE:
142990                        Do  not  explicitly specify this argument. This repre‐
142991                        sents any other variable that will be sent to the tem‐
142992                        plate  rendering  system.   Please  see  the  examples
142993                        below!
142994
142995                     NOTE:
142996                        It is more recommended to use the context argument  to
142997                        avoid  conflicts  between  CLI  arguments and template
142998                        variables.
142999
143000              Returns
143001                     a dictionary having the following keys:
143002
143003              · result (bool): if the config was applied successfully.  It  is
143004                False only in case of failure. In case there are no changes to
143005                be applied and successfully  performs  all  operations  it  is
143006                still True and so will be the already_configured flag (example
143007                below)
143008
143009              · comment (str): a message for the user
143010
143011              · already_configured (bool): flag to  check  if  there  were  no
143012                changes applied
143013
143014              · loaded_config  (str):  the configuration loaded on the device,
143015                after rendering the template. Requires debug to be set as True
143016
143017              · diff (str): returns the config changes applied
143018
143019              The template can use variables from the grains, pillar or  opts,
143020              for example:
143021
143022                 {% set router_model = grains.get('model') -%}
143023                 {% set router_vendor = grains.get('vendor') -%}
143024                 {% set os_version = grains.get('version') -%}
143025                 {% set hostname = pillar.get('proxy', {}).get('host') -%}
143026                 {% if router_vendor|lower == 'juniper' %}
143027                 system {
143028                     host-name {{hostname}};
143029                 }
143030                 {% elif router_vendor|lower == 'cisco' %}
143031                 hostname {{hostname}}
143032                 {% endif %}
143033
143034              CLI Examples:
143035
143036                 salt '*' net.load_template set_ntp_peers peers=[192.168.0.1]  # uses NAPALM default templates
143037
143038                 # inline template:
143039                 salt -G 'os:junos' net.load_template template_source='system { host-name {{host_name}}; }'         host_name='MX480.lab'
143040
143041                 # inline template using grains info:
143042                 salt -G 'os:junos' net.load_template         template_source='system { host-name {{grains.model}}.lab; }'
143043                 # if the device is a MX480, the command above will set the hostname as: MX480.lab
143044
143045                 # inline template using pillar data:
143046                 salt -G 'os:junos' net.load_template template_source='system { host-name {{pillar.proxy.host}}; }'
143047
143048                 salt '*' net.load_template https://bit.ly/2OhSgqP hostname=example  # will commit
143049                 salt '*' net.load_template https://bit.ly/2OhSgqP hostname=example test=True  # dry run
143050
143051                 salt '*' net.load_template salt://templates/example.jinja debug=True  # Using the salt:// URI
143052
143053                 # render a mako template:
143054                 salt '*' net.load_template salt://templates/example.mako template_engine=mako debug=True
143055
143056                 # render remote template
143057                 salt -G 'os:junos' net.load_template http://bit.ly/2fReJg7 test=True debug=True peers=['192.168.0.1']
143058                 salt -G 'os:ios' net.load_template http://bit.ly/2gKOj20 test=True debug=True peers=['192.168.0.1']
143059
143060                 # render multiple templates at once
143061                 salt '*' net.load_template "['https://bit.ly/2OhSgqP', 'salt://templates/example.jinja']" context="{'hostname': 'example'}"
143062
143063              Example output:
143064
143065                 {
143066                     'comment': '',
143067                     'already_configured': False,
143068                     'result': True,
143069                     'diff': '[edit system]+  host-name edge01.bjm01',
143070                     'loaded_config': 'system { host-name edge01.bjm01; }''
143071                 }
143072
143073       salt.modules.napalm_network.mac(*args, **kwargs)
143074              Returns the MAC Address Table on the device.
143075
143076              Parameters
143077
143078                     · address -- MAC address to filter on
143079
143080                     · interface -- Interface name to filter on
143081
143082                     · vlan -- VLAN identifier
143083
143084              Returns
143085                     A  list  of  dictionaries representing the entries in the
143086                     MAC Address Table
143087
143088              CLI Example:
143089
143090                 salt '*' net.mac
143091                 salt '*' net.mac vlan=10
143092
143093              Example output:
143094
143095                 [
143096                     {
143097                         'mac'       : '00:1c:58:29:4a:71',
143098                         'interface' : 'xe-3/0/2',
143099                         'static'    : False,
143100                         'active'    : True,
143101                         'moves'     : 1,
143102                         'vlan'      : 10,
143103                         'last_move' : 1454417742.58
143104                     },
143105                     {
143106                         'mac'       : '8c:60:4f:58:e1:c1',
143107                         'interface' : 'xe-1/0/1',
143108                         'static'    : False,
143109                         'active'    : True,
143110                         'moves'     : 2,
143111                         'vlan'      : 42,
143112                         'last_move' : 1453191948.11
143113                     }
143114                 ]
143115
143116       salt.modules.napalm_network.optics(*args, **kwargs)
143117              New in version 2017.7.0.
143118
143119
143120              Fetches the power usage on the various transceivers installed on
143121              the  network  device  (in dBm), and returns a view that conforms
143122              with the OpenConfig model openconfig-platform-transceiver.yang.
143123
143124              Returns
143125
143126                     Returns a dictionary where the keys are as listed below:
143127
143128                            ·
143129
143130                              intf_name (unicode)
143131
143132                                     ·
143133
143134                                       physical_channels
143135
143136                                              ·
143137
143138                                                channels (list of dicts)
143139
143140                                                       · index (int)
143141
143142                                                       ·
143143
143144                                                         state
143145
143146                                                                ·
143147
143148                                                                  input_power
143149
143150                                                                         · instant
143151                                                                           (float)
143152
143153                                                                         · avg
143154                                                                           (float)
143155
143156                                                                         · min
143157                                                                           (float)
143158
143159                                                                         · max
143160                                                                           (float)
143161
143162                                                                ·
143163
143164                                                                  output_power
143165
143166                                                                         · instant
143167                                                                           (float)
143168
143169                                                                         · avg
143170                                                                           (float)
143171
143172                                                                         · min
143173                                                                           (float)
143174
143175                                                                         · max
143176                                                                           (float)
143177
143178                                                                ·
143179
143180                                                                  laser_bias_cur‐
143181                                                                  rent
143182
143183                                                                         · instant
143184                                                                           (float)
143185
143186                                                                         · avg
143187                                                                           (float)
143188
143189                                                                         · min
143190                                                                           (float)
143191
143192                                                                         · max
143193                                                                           (float)
143194
143195
143196              CLI Example:
143197
143198                 salt '*' net.optics
143199
143200       salt.modules.napalm_network.patch(patchfile,               options=u'',
143201       saltenv=u'base',  source_hash=None,  show_changes=True,   source=u'run‐
143202       ning', path=None, test=False, commit=True, debug=False, replace=True)
143203              New in version 2019.2.0.
143204
143205
143206              Apply  a  patch to the configuration source, and load the result
143207              into the running config of the device.
143208
143209              patchfile
143210                     A patch file to apply to the configuration source.
143211
143212              options
143213                     Options to pass to patch.
143214
143215              source_hash
143216                     If the patch file (specified via the patchfile  argument)
143217                     is  an HTTP(S) or FTP URL and the file exists in the min‐
143218                     ion's file cache, this option can be passed to  keep  the
143219                     minion  from  re-downloading  the file if the cached copy
143220                     matches the specified hash.
143221
143222              show_changes: True
143223                     Controls how changes are presented. If True,  this  func‐
143224                     tion will return the of the changes made.  If False, then
143225                     it will return a boolean (True if any changes were  made,
143226                     otherwise False).
143227
143228              source: running
143229                     The  configuration  source.  Choose from: running, candi‐
143230                     date, or startup. Default: running.
143231
143232              path: None
143233                     Save the temporary configuration to a specific path, then
143234                     read  from there. This argument is optional, can the user
143235                     prefers a particular location of the temporary file.
143236
143237              test: False
143238                     Dry run? If set as True, will apply the  config,  discard
143239                     and  return  the  changes. Default: False and will commit
143240                     the changes on the device.
143241
143242              commit: True
143243                     Commit the configuration changes? Default: True.
143244
143245              debug: False
143246                     Debug mode. Will insert a new key in the  output  dictio‐
143247                     nary,  as  loaded_config containing the raw configuration
143248                     loaded on the device.
143249
143250              replace: True
143251                     Load and replace the configuration. Default: True.
143252
143253              CLI Example:
143254
143255                 salt '*' net.patch https://example.com/running_config.patch
143256
143257       salt.modules.napalm_network.ping(*args, **kwargs)
143258              Executes a ping on the network device and returns  a  dictionary
143259              as a result.
143260
143261              destination
143262                     Hostname or IP address of remote host
143263
143264              source Source address of echo request
143265
143266              ttl    IP  time-to-live  value  (IPv6  hop-limit  value) (1..255
143267                     hops)
143268
143269              timeout
143270                     Maximum wait time after sending final packet (seconds)
143271
143272              size   Size of request packets (0..65468 bytes)
143273
143274              count  Number of ping requests to send (1..2000000000 packets)
143275
143276              vrf    VRF (routing instance) for ping attempt
143277
143278                     New in version 2016.11.4.
143279
143280
143281              CLI Example:
143282
143283                 salt '*' net.ping 8.8.8.8
143284                 salt '*' net.ping 8.8.8.8 ttl=3 size=65468
143285                 salt '*' net.ping 8.8.8.8 source=127.0.0.1 timeout=1 count=100
143286
143287       salt.modules.napalm_network.replace_pattern(pattern,   repl,   count=0,
143288       flags=8,              bufsize=1,             append_if_not_found=False,
143289       prepend_if_not_found=False, not_found_content=None,  search_only=False,
143290       show_changes=True,   backslash_literal=False,  source=None,  path=None,
143291       test=False, replace=True, debug=False, commit=True)
143292              New in version 2019.2.0.
143293
143294
143295              Replace occurrences of a pattern in the configuration source. If
143296              show_changes  is  True,  then  a  diff  of  what changed will be
143297              returned, otherwise a True will be  returned  when  changes  are
143298              made, and False when no changes are made.  This is a pure Python
143299              implementation that wraps Python's sub().
143300
143301              pattern
143302                     A  regular  expression,  to  be  matched  using  Python's
143303                     search().
143304
143305              repl   The replacement text.
143306
143307              count: 0
143308                     Maximum  number of pattern occurrences to be replaced. If
143309                     count is a positive integer n, only n occurrences will be
143310                     replaced, otherwise all occurrences will be replaced.
143311
143312              flags (list or int): 8
143313                     A  list  of  flags defined in the re module documentation
143314                     from the Python standard library. Each list  item  should
143315                     be  a  string  that  will correlate to the human-friendly
143316                     flag name. E.g., ['IGNORECASE', 'MULTILINE']. Optionally,
143317                     flags  may  be  an int, with a value corresponding to the
143318                     XOR (|) of all the desired flags. Defaults  to  8  (which
143319                     supports 'MULTILINE').
143320
143321              bufsize (int or str): 1
143322                     How  much  of  the configuration to buffer into memory at
143323                     once. The default value 1 processes one line at  a  time.
143324                     The  special  value file may be specified which will read
143325                     the entire file into memory before processing.
143326
143327              append_if_not_found: False
143328                     If set to True, and pattern is not found, then  the  con‐
143329                     tent will be appended to the file.
143330
143331              prepend_if_not_found: False
143332                     If set to True and pattern is not found, then the content
143333                     will be prepended to the file.
143334
143335              not_found_content
143336                     Content to use for append/prepend if not found.  If  None
143337                     (default), uses repl. Useful when repl uses references to
143338                     group in pattern.
143339
143340              search_only: False
143341                     If set to true, this no changes will be performed on  the
143342                     file,  and  this  function will simply return True if the
143343                     pattern was matched, and False if not.
143344
143345              show_changes: True
143346                     If True, return a diff of changes made. Otherwise, return
143347                     True if changes were made, and False if not.
143348
143349              backslash_literal: False
143350                     Interpret backslashes as literal backslashes for the repl
143351                     and not escape characters.  This  will  help  when  using
143352                     append/prepend  so  that  the  backslashes are not inter‐
143353                     preted for the repl on the second run of the state.
143354
143355              source: running
143356                     The configuration source. Choose  from:  running,  candi‐
143357                     date, or startup. Default: running.
143358
143359              path   Save the temporary configuration to a specific path, then
143360                     read from there.
143361
143362              test: False
143363                     Dry run? If set as True, will apply the  config,  discard
143364                     and  return  the  changes. Default: False and will commit
143365                     the changes on the device.
143366
143367              commit: True
143368                     Commit the configuration changes? Default: True.
143369
143370              debug: False
143371                     Debug mode. Will insert a new key in the  output  dictio‐
143372                     nary,  as  loaded_config containing the raw configuration
143373                     loaded on the device.
143374
143375              replace: True
143376                     Load and replace the configuration. Default: True.
143377
143378              If an equal sign (=) appears in an argument to a Salt command it
143379              is interpreted as a keyword argument in the format key=val. That
143380              processing can be bypassed  in  order  to  pass  an  equal  sign
143381              through  to  the remote shell command by manually specifying the
143382              kwarg:
143383
143384                 salt '*' net.replace_pattern "bind-address\s*=" "bind-address:"
143385
143386              CLI Example:
143387
143388                 salt '*' net.replace_pattern PREFIX-LIST_NAME new-prefix-list-name
143389                 salt '*' net.replace_pattern bgp-group-name new-bgp-group-name count=1
143390
143391       salt.modules.napalm_network.rollback(*args, **kwargs)
143392              Rollbacks the configuration.
143393
143394              CLI Example:
143395
143396                 salt '*' net.rollback
143397
143398       salt.modules.napalm_network.save_config(source=None, path=None)
143399              New in version 2019.2.0.
143400
143401
143402              Save the configuration to a file on the local file system.
143403
143404              source: running
143405                     The configuration source. Choose  from:  running,  candi‐
143406                     date, startup. Default: running.
143407
143408              path   Absolute  path  to  file where to save the configuration.
143409                     To push the files to the Master,  use  cp.push  Execution
143410                     function.
143411
143412              CLI Example:
143413
143414                 salt '*' net.save_config source=running
143415
143416       salt.modules.napalm_network.traceroute(*args, **kwargs)
143417              Calls  the  method  traceroute from the NAPALM driver object and
143418              returns a dictionary with the result of the  traceroute  command
143419              executed on the device.
143420
143421              destination
143422                     Hostname or address of remote host
143423
143424              source Source address to use in outgoing traceroute packets
143425
143426              ttl    IP  maximum time-to-live value (or IPv6 maximum hop-limit
143427                     value)
143428
143429              timeout
143430                     Number of seconds to wait for response (seconds)
143431
143432              vrf    VRF (routing instance) for traceroute attempt
143433
143434                     New in version 2016.11.4.
143435
143436
143437              CLI Example:
143438
143439                 salt '*' net.traceroute 8.8.8.8
143440                 salt '*' net.traceroute 8.8.8.8 source=127.0.0.1 ttl=5 timeout=1
143441
143442   salt.modules.napalm_ntp module
143443   NAPALM NTP
143444       Manages NTP on network devices.
143445
143446       codeauthor
143447              Mircea  Ulinic  <ping@mirceaulinic.net>  &  Jerome   Fleury   <‐
143448              jf@cloudflare.com>
143449
143450       maturity
143451              new
143452
143453       depends
143454              napalm
143455
143456       platform
143457              unix
143458
143459   Dependencies
143460       · NAPALM proxy minion
143461
143462       · NET basic features
143463
143464       SEE ALSO:
143465          NTP peers management state
143466
143467       New in version 2016.11.0.
143468
143469
143470       salt.modules.napalm_ntp.delete_peers(*args, **kwargs)
143471              Removes NTP peers configured on the device.
143472
143473              Parameters
143474
143475                     · peers  --  list  of  IP  Addresses/Domain  Names  to be
143476                       removed as NTP peers
143477
143478                     · (bool) (commit) -- discard loaded  config.  By  default
143479                       test is False (will not dicard the changes)
143480
143481                     · (bool)  --  commit  loaded config. By default commit is
143482                       True (will commit the changes). Useful  when  the  user
143483                       does  not want to commit after each change, but after a
143484                       couple.
143485
143486              By default this function will  commit  the  config  changes  (if
143487              any).  To  load without committing, use the commit option. For a
143488              dry run, use the test argument.
143489
143490              CLI Example:
143491
143492                 salt '*' ntp.delete_peers 8.8.8.8 time.apple.com
143493                 salt '*' ntp.delete_peers 172.17.17.1 test=True  # only displays the diff
143494                 salt '*' ntp.delete_peers 192.168.0.1 commit=False  # preserves the changes, but does not commit
143495
143496       salt.modules.napalm_ntp.delete_servers(*args, **kwargs)
143497              Removes NTP servers configured on the device.
143498
143499              Parameters
143500
143501                     · servers -- list of  IP  Addresses/Domain  Names  to  be
143502                       removed as NTP servers
143503
143504                     · (bool)  (commit)  --  discard loaded config. By default
143505                       test is False (will not dicard the changes)
143506
143507                     · (bool) -- commit loaded config. By  default  commit  is
143508                       True  (will  commit  the changes). Useful when the user
143509                       does not want to commit after each change, but after  a
143510                       couple.
143511
143512              By  default  this  function  will  commit the config changes (if
143513              any). To load without committing, use the commit option. For dry
143514              run use the test argument.
143515
143516              CLI Example:
143517
143518                 salt '*' ntp.delete_servers 8.8.8.8 time.apple.com
143519                 salt '*' ntp.delete_servers 172.17.17.1 test=True  # only displays the diff
143520                 salt '*' ntp.delete_servers 192.168.0.1 commit=False  # preserves the changes, but does not commit
143521
143522       salt.modules.napalm_ntp.peers(*args, **kwargs)
143523              Returns a list the NTP peers configured on the network device.
143524
143525              Returns
143526                     configured NTP peers as list.
143527
143528              CLI Example:
143529
143530                 salt '*' ntp.peers
143531
143532              Example output:
143533
143534                 [
143535                     '192.168.0.1',
143536                     '172.17.17.1',
143537                     '172.17.17.2',
143538                     '2400:cb00:6:1024::c71b:840a'
143539                 ]
143540
143541       salt.modules.napalm_ntp.servers(*args, **kwargs)
143542              Returns a list of the configured NTP servers on the device.
143543
143544              CLI Example:
143545
143546                 salt '*' ntp.servers
143547
143548              Example output:
143549
143550                 [
143551                     '192.168.0.1',
143552                     '172.17.17.1',
143553                     '172.17.17.2',
143554                     '2400:cb00:6:1024::c71b:840a'
143555                 ]
143556
143557       salt.modules.napalm_ntp.set_peers(*args, **kwargs)
143558              Configures a list of NTP peers on the device.
143559
143560              Parameters
143561
143562                     · peers -- list of IP Addresses/Domain Names
143563
143564                     · (bool) (test) -- discard loaded config. By default test
143565                       is False (will not dicard the changes)
143566
143567              Commit commit (bool)
143568                     commit loaded config. By default  commit  is  True  (will
143569                     commit  the  changes). Useful when the user does not want
143570                     to commit after each change, but after a couple.
143571
143572              By default this function will  commit  the  config  changes  (if
143573              any). To load without committing, use the commit option. For dry
143574              run use the test argument.
143575
143576              CLI Example:
143577
143578                 salt '*' ntp.set_peers 192.168.0.1 172.17.17.1 time.apple.com
143579                 salt '*' ntp.set_peers 172.17.17.1 test=True  # only displays the diff
143580                 salt '*' ntp.set_peers 192.168.0.1 commit=False  # preserves the changes, but does not commit
143581
143582       salt.modules.napalm_ntp.set_servers(*args, **kwargs)
143583              Configures a list of NTP servers on the device.
143584
143585              Parameters
143586
143587                     · servers -- list of IP Addresses/Domain Names
143588
143589                     · (bool) (test) -- discard loaded config. By default test
143590                       is False (will not dicard the changes)
143591
143592              Commit commit (bool)
143593                     commit  loaded  config.  By  default commit is True (will
143594                     commit the changes). Useful when the user does  not  want
143595                     to commit after each change, but after a couple.
143596
143597              By  default  this  function  will  commit the config changes (if
143598              any). To load without committing, use the commit option. For dry
143599              run use the test argument.
143600
143601              CLI Example:
143602
143603                 salt '*' ntp.set_servers 192.168.0.1 172.17.17.1 time.apple.com
143604                 salt '*' ntp.set_servers 172.17.17.1 test=True  # only displays the diff
143605                 salt '*' ntp.set_servers 192.168.0.1 commit=False  # preserves the changes, but does not commit
143606
143607       salt.modules.napalm_ntp.stats(*args, **kwargs)
143608              Returns  a  dictionary containing synchronization details of the
143609              NTP peers.
143610
143611              Parameters
143612                     peer -- Returns only the details of a specific NTP peer.
143613
143614              Returns
143615                     a list of dictionaries, with the following keys:
143616
143617                     · remote
143618
143619                     · referenceid
143620
143621                     · synchronized
143622
143623                     · stratum
143624
143625                     · type
143626
143627                     · when
143628
143629                     · hostpoll
143630
143631                     · reachability
143632
143633                     · delay
143634
143635                     · offset
143636
143637                     · jitter
143638
143639
143640              CLI Example:
143641
143642                 salt '*' ntp.stats
143643
143644              Example output:
143645
143646                 [
143647                     {
143648                         'remote'        : '188.114.101.4',
143649                         'referenceid'   : '188.114.100.1',
143650                         'synchronized'  : True,
143651                         'stratum'       : 4,
143652                         'type'          : '-',
143653                         'when'          : '107',
143654                         'hostpoll'      : 256,
143655                         'reachability'  : 377,
143656                         'delay'         : 164.228,
143657                         'offset'        : -13.866,
143658                         'jitter'        : 2.695
143659                     }
143660                 ]
143661
143662   salt.modules.napalm_probes module
143663   NAPALM Probes
143664       Manages RPM/SLA probes on the network device.
143665
143666       codeauthor
143667              Mircea  Ulinic  <ping@mirceaulinic.net>  &  Jerome   Fleury   <‐
143668              jf@cloudflare.com>
143669
143670       maturity
143671              new
143672
143673       depends
143674              napalm
143675
143676       platform
143677              unix
143678
143679   Dependencies
143680       · napalm proxy minion
143681
143682       · NET basic features
143683
143684       SEE ALSO:
143685          Probes configuration management state
143686
143687       New in version 2016.11.0.
143688
143689
143690       salt.modules.napalm_probes.config(*args, **kwargs)
143691              Returns the configuration of the RPM probes.
143692
143693              Returns
143694                     A  dictionary containing the configuration of the RPM/SLA
143695                     probes.
143696
143697              CLI Example:
143698
143699                 salt '*' probes.config
143700
143701              Output Example:
143702
143703                 {
143704                     'probe1':{
143705                         'test1': {
143706                             'probe_type'   : 'icmp-ping',
143707                             'target'       : '192.168.0.1',
143708                             'source'       : '192.168.0.2',
143709                             'probe_count'  : 13,
143710                             'test_interval': 3
143711                         },
143712                         'test2': {
143713                             'probe_type'   : 'http-ping',
143714                             'target'       : '172.17.17.1',
143715                             'source'       : '192.17.17.2',
143716                             'probe_count'  : 5,
143717                             'test_interval': 60
143718                         }
143719                     }
143720                 }
143721
143722       salt.modules.napalm_probes.delete_probes(*args, **kwargs)
143723              Removes RPM/SLA probes from the network device.  Calls the  con‐
143724              figuration  template  'delete_probes'  from  the NAPALM library,
143725              providing as input a rich formatted dictionary with the configu‐
143726              ration  details  of the probes to be removed from the configura‐
143727              tion of the device.
143728
143729              Parameters
143730
143731                     · probes -- Dictionary with a similar format as the  out‐
143732                       put  dictionary  of  the  function  config(), where the
143733                       details are not necessary.
143734
143735                     · test -- Dry run? If set as True, will apply the config,
143736                       discard and return the changes. Default: False
143737
143738                     · commit  --  Commit? (default: True) Sometimes it is not
143739                       needed to commit the config immediately  after  loading
143740                       the changes. E.g.: a state loads a couple of parts (add
143741                       / remove / update) and would not be optimal  to  commit
143742                       after each operation.  Also, from the CLI when the user
143743                       needs to apply the similar changes  before  committing,
143744                       can  specify commit=False and will not discard the con‐
143745                       fig.
143746
143747              Raises MergeConfigException -- If there is an error on the  con‐
143748                     figuration sent.
143749
143750              Returns
143751                     A dictionary having the following keys:
143752
143753              · result  (bool):  if the config was applied successfully. It is
143754                False only in case of failure. In case there are no changes to
143755                be  applied  and  successfully  performs  all operations it is
143756                still True and so will be the already_configured flag (example
143757                below)
143758
143759              · comment (str): a message for the user
143760
143761              · already_configured  (bool):  flag  to  check  if there were no
143762                changes applied
143763
143764              · diff (str): returns the config changes applied
143765
143766              Input example:
143767
143768                 probes = {
143769                     'existing_probe':{
143770                         'existing_test1': {},
143771                         'existing_test2': {}
143772                     }
143773                 }
143774
143775       salt.modules.napalm_probes.results(*args, **kwargs)
143776              Provides the results of the measurements of the RPM/SLA probes.
143777
143778              :return a dictionary with the results of the probes.
143779
143780              CLI Example:
143781
143782                 salt '*' probes.results
143783
143784              Output example:
143785
143786                 {
143787                     'probe1':  {
143788                         'test1': {
143789                             'last_test_min_delay'   : 63.120,
143790                             'global_test_min_delay' : 62.912,
143791                             'current_test_avg_delay': 63.190,
143792                             'global_test_max_delay' : 177.349,
143793                             'current_test_max_delay': 63.302,
143794                             'global_test_avg_delay' : 63.802,
143795                             'last_test_avg_delay'   : 63.438,
143796                             'last_test_max_delay'   : 65.356,
143797                             'probe_type'            : 'icmp-ping',
143798                             'rtt'                   : 63.138,
143799                             'last_test_loss'        : 0,
143800                             'round_trip_jitter'     : -59.0,
143801                             'target'                : '192.168.0.1',
143802                             'source'                : '192.168.0.2',
143803                             'probe_count'           : 15,
143804                             'current_test_min_delay': 63.138
143805                         },
143806                         'test2': {
143807                             'last_test_min_delay'   : 176.384,
143808                             'global_test_min_delay' : 169.226,
143809                             'current_test_avg_delay': 177.098,
143810                             'global_test_max_delay' : 292.628,
143811                             'current_test_max_delay': 180.055,
143812                             'global_test_avg_delay' : 177.959,
143813                             'last_test_avg_delay'   : 177.178,
143814                             'last_test_max_delay'   : 184.671,
143815                             'probe_type'            : 'icmp-ping',
143816                             'rtt'                   : 176.449,
143817                             'last_test_loss'        : 0,
143818                             'round_trip_jitter'     : -34.0,
143819                             'target'                : '172.17.17.1',
143820                             'source'                : '172.17.17.2',
143821                             'probe_count'           : 15,
143822                             'current_test_min_delay': 176.402
143823                         }
143824                     }
143825                 }
143826
143827       salt.modules.napalm_probes.schedule_probes(*args, **kwargs)
143828              Will schedule the probes. On Cisco devices, it is not enough  to
143829              define the probes, it is also necessary to schedule them.
143830
143831              This  function  calls the configuration template schedule_probes
143832              from the NAPALM library, providing as  input  a  rich  formatted
143833              dictionary  with  the  names  of  the probes and the tests to be
143834              scheduled.
143835
143836              Parameters
143837
143838                     · probes -- Dictionary with a similar format as the  out‐
143839                       put  dictionary  of  the  function  config(), where the
143840                       details are not necessary.
143841
143842                     · test -- Dry run? If set as True, will apply the config,
143843                       discard and return the changes. Default: False
143844
143845                     · commit  --  Commit? (default: True) Sometimes it is not
143846                       needed to commit the config immediately  after  loading
143847                       the changes. E.g.: a state loads a couple of parts (add
143848                       / remove / update) and would not be optimal  to  commit
143849                       after each operation.  Also, from the CLI when the user
143850                       needs to apply the similar changes  before  committing,
143851                       can  specify commit=False and will not discard the con‐
143852                       fig.
143853
143854              Raises MergeConfigException -- If there is an error on the  con‐
143855                     figuration sent.
143856
143857              Returns
143858                     a dictionary having the following keys:
143859
143860              · result  (bool):  if the config was applied successfully. It is
143861                False only in case of failure. In case there are no changes to
143862                be  applied  and  successfully  performs  all operations it is
143863                still True and so will be the already_configured flag (example
143864                below)
143865
143866              · comment (str): a message for the user
143867
143868              · already_configured  (bool):  flag  to  check  if there were no
143869                changes applied
143870
143871              · diff (str): returns the config changes applied
143872
143873              Input example:
143874
143875                 probes = {
143876                     'new_probe':{
143877                         'new_test1': {},
143878                         'new_test2': {}
143879                     }
143880                 }
143881
143882       salt.modules.napalm_probes.set_probes(*args, **kwargs)
143883              Configures RPM/SLA probes on the device.  Calls  the  configura‐
143884              tion template 'set_probes' from the NAPALM library, providing as
143885              input a rich formatted dictionary with the configuration details
143886              of the probes to be configured.
143887
143888              Parameters
143889
143890                     · probes  --  Dictionary  formatted  as the output of the
143891                       function config()
143892
143893                     · test -- Dry run? If set as True, will apply the config,
143894                       discard and return the changes. Default: False
143895
143896                     · commit  --  Commit? (default: True) Sometimes it is not
143897                       needed to commit the config immediately  after  loading
143898                       the changes. E.g.: a state loads a couple of parts (add
143899                       / remove / update) and would not be optimal  to  commit
143900                       after each operation.  Also, from the CLI when the user
143901                       needs to apply the similar changes  before  committing,
143902                       can  specify commit=False and will not discard the con‐
143903                       fig.
143904
143905              Raises MergeConfigException -- If there is an error on the  con‐
143906                     figuration sent.
143907
143908              Return a dictionary having the following keys
143909
143910                     · result  (bool): if the config was applied successfully.
143911                       It is False only in case of failure. In case there  are
143912                       no  changes to be applied and successfully performs all
143913                       operations  it  is  still  True  and  so  will  be  the
143914                       already_configured flag (example below)
143915
143916                     · comment (str): a message for the user
143917
143918                     · already_configured  (bool): flag to check if there were
143919                       no changes applied
143920
143921                     · diff (str): returns the config changes applied
143922
143923              Input example - via state/script:
143924
143925                 probes = {
143926                     'new_probe':{
143927                         'new_test1': {
143928                             'probe_type'   : 'icmp-ping',
143929                             'target'       : '192.168.0.1',
143930                             'source'       : '192.168.0.2',
143931                             'probe_count'  : 13,
143932                             'test_interval': 3
143933                         },
143934                         'new_test2': {
143935                             'probe_type'   : 'http-ping',
143936                             'target'       : '172.17.17.1',
143937                             'source'       : '192.17.17.2',
143938                             'probe_count'  : 5,
143939                             'test_interval': 60
143940                         }
143941                     }
143942                 }
143943                 set_probes(probes)
143944
143945              CLI Example - to push cahnges on the fly (not recommended):
143946
143947                 salt 'junos_minion' probes.set_probes "{'new_probe':{'new_test1':{'probe_type':'icmp-ping',            'target':'192.168.0.1','source':'192.168.0.2','probe_count':13,'test_interval':3}}}" test=True
143948
143949              Output example - for the CLI example above:
143950
143951                 junos_minion:
143952                     ----------
143953                     already_configured:
143954                         False
143955                     comment:
143956                         Configuration discarded.
143957                     diff:
143958                         [edit services rpm]
143959                              probe transit { ... }
143960                         +    probe new_probe {
143961                         +        test new_test1 {
143962                         +            probe-type icmp-ping;
143963                         +            target address 192.168.0.1;
143964                         +            probe-count 13;
143965                         +            test-interval 3;
143966                         +            source-address 192.168.0.2;
143967                         +        }
143968                         +    }
143969                     result:
143970                         True
143971
143972   salt.modules.napalm_route module
143973   NAPALM Route
143974       Retrieves route details from network devices.
143975
143976       codeauthor
143977              Mircea Ulinic <ping@mirceaulinic.net>
143978
143979       maturity
143980              new
143981
143982       depends
143983              napalm
143984
143985       platform
143986              unix
143987
143988   Dependencies
143989       · NAPALM proxy minion
143990
143991       New in version 2016.11.0.
143992
143993
143994       salt.modules.napalm_route.show(*args, **kwargs)
143995              Displays all details for a certain route learned via a  specific
143996              protocol.   If  the  protocol  is not specified, will return all
143997              possible routes.
143998
143999              NOTE:
144000                 This function return the routes from the RIB.   In  case  the
144001                 destination prefix is too short, there may be too many routes
144002                 matched.  Therefore in cases of devices having  a  very  high
144003                 number  of  routes  it  may be necessary to adjust the prefix
144004                 length and request using a longer prefix.
144005
144006              destination
144007                     destination prefix.
144008
144009              protocol (optional)
144010                     protocol used to learn the routes to the destination.
144011
144012              Changed in version 2017.7.0.
144013
144014
144015              CLI Example:
144016
144017                 salt 'my_router' route.show 172.16.0.0/25
144018                 salt 'my_router' route.show 172.16.0.0/25 bgp
144019
144020              Output example:
144021
144022                 {
144023                     '172.16.0.0/25': [
144024                         {
144025                             'protocol': 'BGP',
144026                             'last_active': True,
144027                             'current_active': True,
144028                             'age': 1178693,
144029                             'routing_table': 'inet.0',
144030                             'next_hop': '192.168.0.11',
144031                             'outgoing_interface': 'xe-1/1/1.100',
144032                             'preference': 170,
144033                             'selected_next_hop': False,
144034                             'protocol_attributes': {
144035                                 'remote_as': 65001,
144036                                 'metric': 5,
144037                                 'local_as': 13335,
144038                                 'as_path': '',
144039                                 'remote_address': '192.168.0.11',
144040                                 'metric2': 0,
144041                                 'local_preference': 0,
144042                                 'communities': [
144043                                     '0:2',
144044                                     'no-export'
144045                                 ],
144046                                 'preference2': -1
144047                             },
144048                             'inactive_reason': ''
144049                         },
144050                         {
144051                             'protocol': 'BGP',
144052                             'last_active': False,
144053                             'current_active': False,
144054                             'age': 2359429,
144055                             'routing_table': 'inet.0',
144056                             'next_hop': '192.168.0.17',
144057                             'outgoing_interface': 'xe-1/1/1.100',
144058                             'preference': 170,
144059                             'selected_next_hop': True,
144060                             'protocol_attributes': {
144061                                 'remote_as': 65001,
144062                                 'metric': 5,
144063                                 'local_as': 13335,
144064                                 'as_path': '',
144065                                 'remote_address': '192.168.0.17',
144066                                 'metric2': 0,
144067                                 'local_preference': 0,
144068                                 'communities': [
144069                                     '0:3',
144070                                     'no-export'
144071                                 ],
144072                                 'preference2': -1
144073                             },
144074                             'inactive_reason': 'Not Best in its group - Router ID'
144075                         }
144076                     ]
144077                 }
144078
144079   salt.modules.napalm_snmp module
144080   NAPALM SNMP
144081       Manages SNMP on network devices.
144082
144083       codeauthor
144084              Mircea Ulinic <ping@mirceaulinic.net>
144085
144086       maturity
144087              new
144088
144089       depends
144090              napalm
144091
144092       platform
144093              unix
144094
144095   Dependencies
144096       · NAPALM proxy minion
144097
144098       · NET basic features
144099
144100       SEE ALSO:
144101          SNMP configuration management state
144102
144103       New in version 2016.11.0.
144104
144105
144106       salt.modules.napalm_snmp.config(*args, **kwargs)
144107              Returns the SNMP configuration
144108
144109              CLI Example:
144110
144111                 salt '*' snmp.config
144112
144113       salt.modules.napalm_snmp.remove_config(*args, **kwargs)
144114              Removes a configuration element from the SNMP configuration.
144115
144116              Parameters
144117
144118                     · chassis_id -- (optional) Chassis ID
144119
144120                     · community -- (optional) A dictionary having the follow‐
144121                       ing optional keys:
144122
144123              · acl (if any policy / ACL need to be set)
144124
144125              · mode: rw or ro. Default: ro
144126
144127              Parameters
144128
144129                     · contact -- Contact details
144130
144131                     · location -- Location
144132
144133                     · test -- Dry run? If set as True, will apply the config,
144134                       discard and return the changes. Default: False
144135
144136                     · commit -- Commit? (default: True) Sometimes it  is  not
144137                       needed  to  commit the config immediately after loading
144138                       the changes. E.g.: a state loads a couple of parts (add
144139                       /  remove  / update) and would not be optimal to commit
144140                       after each operation.  Also, from the CLI when the user
144141                       needs  to  apply the similar changes before committing,
144142                       can specify commit=False and will not discard the  con‐
144143                       fig.
144144
144145              Raises MergeConfigException  -- If there is an error on the con‐
144146                     figuration sent.
144147
144148              Returns
144149                     A dictionary having the following keys:
144150
144151              · result (bool): if the config was applied successfully.  It  is
144152                False only in case of failure. In case there are no changes to
144153                be applied and successfully  performs  all  operations  it  is
144154                still True and so will be the already_configured flag (example
144155                below)
144156
144157              · comment (str): a message for the user
144158
144159              · already_configured (bool): flag to  check  if  there  were  no
144160                changes applied
144161
144162              · diff (str): returns the config changes applied
144163
144164              CLI Example:
144165
144166                 salt '*' snmp.remove_config community='abcd'
144167
144168       salt.modules.napalm_snmp.update_config(*args, **kwargs)
144169              Updates the SNMP configuration.
144170
144171              Parameters
144172
144173                     · chassis_id -- (optional) Chassis ID
144174
144175                     · community -- (optional) A dictionary having the follow‐
144176                       ing optional keys:
144177
144178              · acl (if any policy / ACL need to be set)
144179
144180              · mode: rw or ro. Default: ro
144181
144182              Parameters
144183
144184                     · contact -- Contact details
144185
144186                     · location -- Location
144187
144188                     · test -- Dry run? If set as True, will apply the config,
144189                       discard and return the changes. Default: False
144190
144191                     · commit  --  Commit? (default: True) Sometimes it is not
144192                       needed to commit the config immediately  after  loading
144193                       the changes. E.g.: a state loads a couple of parts (add
144194                       / remove / update) and would not be optimal  to  commit
144195                       after each operation.  Also, from the CLI when the user
144196                       needs to apply the similar changes  before  committing,
144197                       can  specify commit=False and will not discard the con‐
144198                       fig.
144199
144200              Raises MergeConfigException -- If there is an error on the  con‐
144201                     figuration sent.
144202
144203              Return a dictionary having the following keys
144204
144205              · result  (bool):  if the config was applied successfully. It is
144206                False only in case of failure. In case there are no changes to
144207                be  applied  and  successfully  performs  all operations it is
144208                still True and so will be the already_configured flag (example
144209                below)
144210
144211              · comment (str): a message for the user
144212
144213              · already_configured  (bool):  flag  to  check  if there were no
144214                changes applied
144215
144216              · diff (str): returns the config changes applied
144217
144218              CLI Example:
144219
144220                 salt 'edge01.lon01' snmp.update_config location="Greenwich, UK" test=True
144221
144222              Output example (for the CLI example above):
144223
144224                 edge01.lon01:
144225                     ----------
144226                     already_configured:
144227                         False
144228                     comment:
144229                         Configuration discarded.
144230                     diff:
144231                         [edit snmp]
144232                         -  location "London, UK";
144233                         +  location "Greenwich, UK";
144234                     result:
144235                         True
144236
144237   salt.modules.napalm_users module
144238   NAPALM Users
144239       Manages the configuration of the users on network devices.
144240
144241       codeauthor
144242              Mircea Ulinic <ping@mirceaulinic.net>
144243
144244       maturity
144245              new
144246
144247       depends
144248              napalm
144249
144250       platform
144251              unix
144252
144253   Dependencies
144254       · NAPALM proxy minion
144255
144256       SEE ALSO:
144257          Users management state
144258
144259       New in version 2016.11.0.
144260
144261
144262       salt.modules.napalm_users.config(*args, **kwargs)
144263              Returns the configuration of the users on the device
144264
144265              CLI Example:
144266
144267                 salt '*' users.config
144268
144269              Output example:
144270
144271                 {
144272                     'mircea': {
144273                         'level': 15,
144274                         'password': '$1$0P70xKPa$4jt5/10cBTckk6I/w/',
144275                         'sshkeys': [
144276                             'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4pFn+shPwTb2yELO4L7NtQrKOJXNeCl1je                    l9STXVaGnRAnuc2PXl35vnWmcUq6YbUEcgUTRzzXfmelJKuVJTJIlMXii7h2xkbQp0YZIEs4P                    8ipwnRBAxFfk/ZcDsN3mjep4/yjN56ejk345jhk345jk345jk341p3A/9LIL7l6YewLBCwJj6                    D+fWSJ0/YW+7oH17Fk2HH+tw0L5PcWLHkwA4t60iXn16qDbIk/ze6jv2hDGdCdz7oYQeCE55C                    CHOHMJWYfN3jcL4s0qv8/u6Ka1FVkV7iMmro7ChThoV/5snI4Ljf2wKqgHH7TfNaCfpU0WvHA                    nTs8zhOrGScSrtb mircea@master-roshi'
144277                         ]
144278                     }
144279                 }
144280
144281       salt.modules.napalm_users.delete_users(*args, **kwargs)
144282              Removes users from the configuration of network devices.
144283
144284              Parameters
144285
144286                     · users -- Dictionary formatted  as  the  output  of  the
144287                       function config()
144288
144289                     · test -- Dry run? If set as True, will apply the config,
144290                       discard and return the changes. Default: False
144291
144292                     · commit -- Commit? (default: True) Sometimes it  is  not
144293                       needed  to  commit the config immediately after loading
144294                       the changes. E.g.: a state loads a couple of parts (add
144295                       /  remove  / update) and would not be optimal to commit
144296                       after each operation.  Also, from the CLI when the user
144297                       needs  to  apply the similar changes before committing,
144298                       can specify commit=False and will not discard the  con‐
144299                       fig.
144300
144301              Raises MergeConfigException  -- If there is an error on the con‐
144302                     figuration sent.
144303
144304              Return a dictionary having the following keys
144305
144306                     · result (bool): if the config was applied  successfully.
144307                       It  is False only in case of failure. In case there are
144308                       no changes to be applied and successfully performs  all
144309                       operations  it  is  still  True  and  so  will  be  the
144310                       already_configured flag (example below)
144311
144312                     · comment (str): a message for the user
144313
144314                     · already_configured (bool): flag to check if there  were
144315                       no changes applied
144316
144317                     · diff (str): returns the config changes applied
144318
144319              CLI Example:
144320
144321                 salt '*' users.delete_users "{'mircea': {}}"
144322
144323       salt.modules.napalm_users.set_users(*args, **kwargs)
144324              Configures users on network devices.
144325
144326              Parameters
144327
144328                     · users  --  Dictionary  formatted  as  the output of the
144329                       function config()
144330
144331                     · test -- Dry run? If set as True, will apply the config,
144332                       discard and return the changes. Default: False
144333
144334                     · commit  --  Commit? (default: True) Sometimes it is not
144335                       needed to commit the config immediately  after  loading
144336                       the changes. E.g.: a state loads a couple of parts (add
144337                       / remove / update) and would not be optimal  to  commit
144338                       after each operation.  Also, from the CLI when the user
144339                       needs to apply the similar changes  before  committing,
144340                       can  specify commit=False and will not discard the con‐
144341                       fig.
144342
144343              Raises MergeConfigException -- If there is an error on the  con‐
144344                     figuration sent.
144345
144346              Return a dictionary having the following keys
144347
144348              · result  (bool):  if the config was applied successfully. It is
144349                False only in case of failure. In case there are no changes to
144350                be  applied  and  successfully  performs  all operations it is
144351                still True and so will be the already_configured flag (example
144352                below)
144353
144354              · comment (str): a message for the user
144355
144356              · already_configured  (bool):  flag  to  check  if there were no
144357                changes applied
144358
144359              · diff (str): returns the config changes applied
144360
144361              CLI Example:
144362
144363                 salt '*' users.set_users "{'mircea': {}}"
144364
144365   salt.modules.napalm_yang_mod module
144366   NAPALM YANG
144367       NAPALM YANG basic operations.
144368
144369       New in version 2017.7.0.
144370
144371
144372       salt.modules.napalm_yang_mod.compliance_report(*args, **kwargs)
144373              Return the compliance report using YANG objects.
144374
144375              data   Dictionary structured with respect to the  models  refer‐
144376                     enced.
144377
144378              models A list of models to be used when generating the config.
144379
144380              filepath
144381                     The absolute path to the validation file.
144382
144383              CLI Example:
144384
144385                 salt '*' napalm_yang.compliance_report {} models.openconfig_interfaces filepath=~/validate.yml
144386
144387              Output Example:
144388
144389                 {
144390                   "skipped": [],
144391                   "complies": true,
144392                   "get_interfaces_ip": {
144393                     "missing": [],
144394                     "complies": true,
144395                     "present": {
144396                       "ge-0/0/0.0": {
144397                         "complies": true,
144398                         "nested": true
144399                       }
144400                     },
144401                     "extra": []
144402                   }
144403                 }
144404
144405       salt.modules.napalm_yang_mod.diff(candidate, running, *models)
144406              Returns the difference between two configuration entities struc‐
144407              tured according to the YANG model.
144408
144409              NOTE:
144410                 This function is recommended to be used  mostly  as  a  state
144411                 helper.
144412
144413              candidate
144414                     First model to compare.
144415
144416              running
144417                     Second model to compare.
144418
144419              models A list of models to be used when comparing.
144420
144421              CLI Example:
144422
144423                 salt '*' napalm_yang.diff {} {} models.openconfig_interfaces
144424
144425              Output Example:
144426
144427                 {
144428                     "interfaces": {
144429                         "interface": {
144430                             "both": {
144431                                 "Port-Channel1": {
144432                                     "config": {
144433                                         "mtu": {
144434                                             "first": "0",
144435                                             "second": "9000"
144436                                         }
144437                                     }
144438                                 }
144439                             },
144440                             "first_only": [
144441                                 "Loopback0"
144442                             ],
144443                             "second_only": [
144444                                 "Loopback1"
144445                             ]
144446                         }
144447                     }
144448                 }
144449
144450       salt.modules.napalm_yang_mod.get_config(*args, **kwargs)
144451              Return the native config.
144452
144453              data   Dictionary  structured  with respect to the models refer‐
144454                     enced.
144455
144456              models A list of models to be used when generating the config.
144457
144458              profiles: None
144459                     Use certain profiles to  generate  the  config.   If  not
144460                     specified, will use the platform default profile(s).
144461
144462              CLI Example:
144463
144464                 salt '*' napalm_yang.get_config {} models.openconfig_interfaces
144465
144466              Output Example:
144467
144468                 interface et1
144469                     ip address 192.168.1.1/24
144470                     description Uplink1
144471                     mtu 9000
144472                 interface et2
144473                     ip address 192.168.2.1/24
144474                     description Uplink2
144475                     mtu 9000
144476
144477       salt.modules.napalm_yang_mod.load_config(*args, **kwargs)
144478              Generate  and load the config on the device using the OpenConfig
144479              or IETF models and device profiles.
144480
144481              data   Dictionary structured with respect to the  models  refer‐
144482                     enced.
144483
144484              models A list of models to be used when generating the config.
144485
144486              profiles: None
144487                     Use  certain  profiles  to  generate  the config.  If not
144488                     specified, will use the platform default profile(s).
144489
144490              test: False
144491                     Dry run? If set as True, will apply the  config,  discard
144492                     and  return  the  changes. Default: False and will commit
144493                     the changes on the device.
144494
144495              commit: True
144496                     Commit? Default: True.
144497
144498              debug: False
144499                     Debug mode. Will insert a new key under the  output  dic‐
144500                     tionary,  as  loaded_config containing the raw configura‐
144501                     tion loaded on the device.
144502
144503              replace: False
144504                     Should replace the config with the new generate one?
144505
144506              CLI Example:
144507
144508                 salt '*' napalm_yang.load_config {} models.openconfig_interfaces test=True debug=True
144509
144510              Output Example:
144511
144512                 device1:
144513                     ----------
144514                     already_configured:
144515                         False
144516                     comment:
144517                     diff:
144518                         [edit interfaces ge-0/0/0]
144519                         -   mtu 1400;
144520                         [edit interfaces ge-0/0/0 unit 0 family inet]
144521                         -       dhcp;
144522                         [edit interfaces lo0]
144523                         -    unit 0 {
144524                         -        description lo0.0;
144525                         -    }
144526                         +    unit 1 {
144527                         +        description "new loopback";
144528                         +    }
144529                     loaded_config:
144530                         <configuration>
144531                           <interfaces replace="replace">
144532                             <interface>
144533                               <name>ge-0/0/0</name>
144534                               <unit>
144535                                 <name>0</name>
144536                                 <family>
144537                                   <inet/>
144538                                 </family>
144539                                 <description>ge-0/0/0.0</description>
144540                               </unit>
144541                               <description>management interface</description>
144542                             </interface>
144543                             <interface>
144544                               <name>ge-0/0/1</name>
144545                               <disable/>
144546                               <description>ge-0/0/1</description>
144547                             </interface>
144548                             <interface>
144549                               <name>ae0</name>
144550                               <unit>
144551                                 <name>0</name>
144552                                 <vlan-id>100</vlan-id>
144553                                 <family>
144554                                   <inet>
144555                                     <address>
144556                                       <name>192.168.100.1/24</name>
144557                                     </address>
144558                                     <address>
144559                                       <name>172.20.100.1/24</name>
144560                                     </address>
144561                                   </inet>
144562                                 </family>
144563                                 <description>a description</description>
144564                               </unit>
144565                               <vlan-tagging/>
144566                               <unit>
144567                                 <name>1</name>
144568                                 <vlan-id>1</vlan-id>
144569                                 <family>
144570                                   <inet>
144571                                     <address>
144572                                       <name>192.168.101.1/24</name>
144573                                     </address>
144574                                   </inet>
144575                                 </family>
144576                                 <disable/>
144577                                 <description>ae0.1</description>
144578                               </unit>
144579                               <vlan-tagging/>
144580                               <unit>
144581                                 <name>2</name>
144582                                 <vlan-id>2</vlan-id>
144583                                 <family>
144584                                   <inet>
144585                                     <address>
144586                                       <name>192.168.102.1/24</name>
144587                                     </address>
144588                                   </inet>
144589                                 </family>
144590                                 <description>ae0.2</description>
144591                               </unit>
144592                               <vlan-tagging/>
144593                             </interface>
144594                             <interface>
144595                               <name>lo0</name>
144596                               <unit>
144597                                 <name>1</name>
144598                                 <description>new loopback</description>
144599                               </unit>
144600                               <description>lo0</description>
144601                             </interface>
144602                           </interfaces>
144603                         </configuration>
144604                     result:
144605                         True
144606
144607       salt.modules.napalm_yang_mod.parse(*args, **kwargs)
144608              Parse configuration from the device.
144609
144610              models A list of models to be used when parsing.
144611
144612              config: False
144613                     Parse config.
144614
144615              state: False
144616                     Parse state.
144617
144618              profiles: None
144619                     Use certain profiles to parse. If not specified, will use
144620                     the device default profile(s).
144621
144622              CLI Example:
144623
144624                 salt '*' napalm_yang.parse models.openconfig_interfaces
144625
144626              Output Example:
144627
144628                 {
144629                     "interfaces": {
144630                         "interface": {
144631                             ".local.": {
144632                                 "name": ".local.",
144633                                 "state": {
144634                                     "admin-status": "UP",
144635                                     "counters": {
144636                                         "in-discards": 0,
144637                                         "in-errors": 0,
144638                                         "out-errors": 0
144639                                     },
144640                                     "enabled": True,
144641                                     "ifindex": 0,
144642                                     "last-change": 0,
144643                                     "oper-status": "UP",
144644                                     "type": "softwareLoopback"
144645                                 },
144646                                 "subinterfaces": {
144647                                     "subinterface": {
144648                                         ".local..0": {
144649                                             "index": ".local..0",
144650                                             "state": {
144651                                                 "ifindex": 0,
144652                                                 "name": ".local..0"
144653                                             }
144654                                         }
144655                                     }
144656                                 }
144657                             },
144658                             "ae0": {
144659                                 "name": "ae0",
144660                                 "state": {
144661                                     "admin-status": "UP",
144662                                     "counters": {
144663                                         "in-discards": 0,
144664                                         "in-errors": 0,
144665                                         "out-errors": 0
144666                                     },
144667                                     "enabled": True,
144668                                     "ifindex": 531,
144669                                     "last-change": 255203,
144670                                     "mtu": 1518,
144671                                     "oper-status": "DOWN"
144672                                 },
144673                                 "subinterfaces": {
144674                                     "subinterface": {
144675                                         "ae0.0": {
144676                                             "index": "ae0.0",
144677                                             "state": {
144678                                                 "description": "ASDASDASD",
144679                                                 "ifindex": 532,
144680                                                 "name": "ae0.0"
144681                                             }
144682                                         }
144683                                         "ae0.32767": {
144684                                             "index": "ae0.32767",
144685                                             "state": {
144686                                                 "ifindex": 535,
144687                                                 "name": "ae0.32767"
144688                                             }
144689                                         }
144690                                     }
144691                                 }
144692                             },
144693                             "dsc": {
144694                                 "name": "dsc",
144695                                 "state": {
144696                                     "admin-status": "UP",
144697                                     "counters": {
144698                                         "in-discards": 0,
144699                                         "in-errors": 0,
144700                                         "out-errors": 0
144701                                     },
144702                                     "enabled": True,
144703                                     "ifindex": 5,
144704                                     "last-change": 0,
144705                                     "oper-status": "UP"
144706                                 }
144707                             },
144708                             "ge-0/0/0": {
144709                                 "name": "ge-0/0/0",
144710                                 "state": {
144711                                     "admin-status": "UP",
144712                                     "counters": {
144713                                         "in-broadcast-pkts": 0,
144714                                         "in-discards": 0,
144715                                         "in-errors": 0,
144716                                         "in-multicast-pkts": 0,
144717                                         "in-unicast-pkts": 16877,
144718                                         "out-broadcast-pkts": 0,
144719                                         "out-errors": 0,
144720                                         "out-multicast-pkts": 0,
144721                                         "out-unicast-pkts": 15742
144722                                     },
144723                                     "description": "management interface",
144724                                     "enabled": True,
144725                                     "ifindex": 507,
144726                                     "last-change": 258467,
144727                                     "mtu": 1400,
144728                                     "oper-status": "UP"
144729                                 },
144730                                 "subinterfaces": {
144731                                     "subinterface": {
144732                                         "ge-0/0/0.0": {
144733                                             "index": "ge-0/0/0.0",
144734                                             "state": {
144735                                                 "description": "ge-0/0/0.0",
144736                                                 "ifindex": 521,
144737                                                 "name": "ge-0/0/0.0"
144738                                             }
144739                                         }
144740                                     }
144741                                 }
144742                             }
144743                             "irb": {
144744                                 "name": "irb",
144745                                 "state": {
144746                                     "admin-status": "UP",
144747                                     "counters": {
144748                                         "in-discards": 0,
144749                                         "in-errors": 0,
144750                                         "out-errors": 0
144751                                     },
144752                                     "enabled": True,
144753                                     "ifindex": 502,
144754                                     "last-change": 0,
144755                                     "mtu": 1514,
144756                                     "oper-status": "UP",
144757                                     "type": "ethernetCsmacd"
144758                                 }
144759                             },
144760                             "lo0": {
144761                                 "name": "lo0",
144762                                 "state": {
144763                                     "admin-status": "UP",
144764                                     "counters": {
144765                                         "in-discards": 0,
144766                                         "in-errors": 0,
144767                                         "out-errors": 0
144768                                     },
144769                                     "description": "lo0",
144770                                     "enabled": True,
144771                                     "ifindex": 6,
144772                                     "last-change": 0,
144773                                     "oper-status": "UP",
144774                                     "type": "softwareLoopback"
144775                                 },
144776                                 "subinterfaces": {
144777                                     "subinterface": {
144778                                         "lo0.0": {
144779                                             "index": "lo0.0",
144780                                             "state": {
144781                                                 "description": "lo0.0",
144782                                                 "ifindex": 16,
144783                                                 "name": "lo0.0"
144784                                             }
144785                                         },
144786                                         "lo0.16384": {
144787                                             "index": "lo0.16384",
144788                                             "state": {
144789                                                 "ifindex": 21,
144790                                                 "name": "lo0.16384"
144791                                             }
144792                                         },
144793                                         "lo0.16385": {
144794                                             "index": "lo0.16385",
144795                                             "state": {
144796                                                 "ifindex": 22,
144797                                                 "name": "lo0.16385"
144798                                             }
144799                                         },
144800                                         "lo0.32768": {
144801                                             "index": "lo0.32768",
144802                                             "state": {
144803                                                 "ifindex": 248,
144804                                                 "name": "lo0.32768"
144805                                             }
144806                                         }
144807                                     }
144808                                 }
144809                             }
144810                         }
144811                     }
144812                 }
144813
144814   salt.modules.netaddress
144815       Module for getting information about network addresses.
144816
144817       New in version 2016.3.0.
144818
144819
144820       depends
144821              netaddr
144822
144823       salt.modules.netaddress.cidr_broadcast(cidr)
144824              Get the broadcast address associated with a CIDR address.
144825
144826              CLI example:
144827
144828                 salt myminion netaddress.cidr_netmask 192.168.0.0/20
144829
144830       salt.modules.netaddress.cidr_netmask(cidr)
144831              Get the netmask address associated with a CIDR address.
144832
144833              CLI example:
144834
144835                 salt myminion netaddress.cidr_netmask 192.168.0.0/20
144836
144837       salt.modules.netaddress.list_cidr_ips(cidr)
144838              Get a list of IP addresses from a CIDR.
144839
144840              CLI example:
144841
144842                 salt myminion netaddress.list_cidr_ips 192.168.0.0/20
144843
144844       salt.modules.netaddress.list_cidr_ips_ipv6(cidr)
144845              Get a list of IPv6 addresses from a CIDR.
144846
144847              CLI example:
144848
144849                 salt myminion netaddress.list_cidr_ips_ipv6 192.168.0.0/20
144850
144851   salt.modules.netbox module
144852   NetBox
144853       Module to query NetBox
144854
144855       codeauthor
144856              Zach Moody <zmoody@do.co>
144857
144858       maturity
144859              new
144860
144861       depends
144862              pynetbox
144863
144864       The  following  config should be in the minion config file. In order to
144865       work with secrets you should provide a token and path to  your  private
144866       key file:
144867
144868          netbox:
144869            url: <NETBOX_URL>
144870            token: <NETBOX_USERNAME_API_TOKEN (OPTIONAL)>
144871            keyfile: </PATH/TO/NETBOX/KEY (OPTIONAL)>
144872
144873       New in version 2018.3.0.
144874
144875
144876       salt.modules.netbox.create_circuit(name,   provider_id,   circuit_type,
144877       description=None)
144878              New in version 2019.2.0.
144879
144880
144881              Create a new Netbox circuit
144882
144883              name   Name of the circuit
144884
144885              provider_id
144886                     The netbox id of the circuit provider
144887
144888              circuit_type
144889                     The name of the circuit type
144890
144891              asn    The ASN of the circuit provider
144892
144893              description
144894                     The description of the circuit
144895
144896              CLI Example:
144897
144898                 salt myminion netbox.create_circuit NEW_CIRCUIT_01 Telia Transit 1299 "New Telia circuit"
144899
144900       salt.modules.netbox.create_circuit_provider(name, asn=None)
144901              New in version 2019.2.0.
144902
144903
144904              Create a new Netbox circuit provider
144905
144906              name   The name of the circuit provider
144907
144908              asn    The ASN of the circuit provider
144909
144910              CLI Example:
144911
144912                 salt myminion netbox.create_circuit_provider Telia 1299
144913
144914       salt.modules.netbox.create_circuit_termination(circuit,      interface,
144915       device, speed, xconnect_id=None, term_side=u'A')
144916              New in version 2019.2.0.
144917
144918
144919              Terminate a circuit on an interface
144920
144921              circuit
144922                     The name of the circuit
144923
144924              interface
144925                     The name of the interface to terminate on
144926
144927              device The name of the device the interface belongs to
144928
144929              speed  The speed of the circuit, in Kbps
144930
144931              xconnect_id
144932                     The cross-connect identifier
144933
144934              term_side
144935                     The side of the circuit termination
144936
144937              CLI Example:
144938
144939                 salt myminion netbox.create_circuit_termination NEW_CIRCUIT_01 xe-0/0/1 myminion 10000 xconnect_id=XCON01
144940
144941       salt.modules.netbox.create_circuit_type(name)
144942              New in version 2019.2.0.
144943
144944
144945              Create a new Netbox circuit type.
144946
144947              name   The name of the circuit type
144948
144949              CLI Example:
144950
144951                 salt myminion netbox.create_circuit_type Transit
144952
144953       salt.modules.netbox.create_device(name,   role,   model,  manufacturer,
144954       site)
144955              New in version 2019.2.0.
144956
144957
144958              Create a new device with a name, role, model,  manufacturer  and
144959              site.  All these components need to be already in Netbox.
144960
144961              name   The name of the device, e.g., edge_router
144962
144963              role   String of device role, e.g., router
144964
144965              model  String of device model, e.g., MX480
144966
144967              manufacturer
144968                     String of device manufacturer, e.g., Juniper
144969
144970              site   String of device site, e.g., BRU
144971
144972              CLI Example:
144973
144974                 salt myminion netbox.create_device edge_router router MX480 Juniper BRU
144975
144976       salt.modules.netbox.create_device_role(role, color)
144977              New in version 2019.2.0.
144978
144979
144980              Create a device role
144981
144982              role   String of device role, e.g., router
144983
144984              CLI Example:
144985
144986                 salt myminion netbox.create_device_role router
144987
144988       salt.modules.netbox.create_device_type(model, manufacturer)
144989              New in version 2019.2.0.
144990
144991
144992              Create  a device type. If the manufacturer doesn't exist, create
144993              a new manufacturer.
144994
144995              model  String of device model, e.g., MX480
144996
144997              manufacturer
144998                     String of device manufacturer, e.g., Juniper
144999
145000              CLI Example:
145001
145002                 salt myminion netbox.create_device_type MX480 Juniper
145003
145004       salt.modules.netbox.create_interface(device_name,       interface_name,
145005       mac_address=None,  description=None,  enabled=None,  lag=None, lag_par‐
145006       ent=None, form_factor=None)
145007              New in version 2019.2.0.
145008
145009
145010              Attach an interface to a device. If not all arguments  are  pro‐
145011              vided, they will default to Netbox defaults.
145012
145013              device_name
145014                     The name of the device, e.g., edge_router
145015
145016              interface_name
145017                     The name of the interface, e.g., TenGigE0/0/0/0
145018
145019              mac_address
145020                     String of mac address, e.g., 50:87:89:73:92:C8
145021
145022              description
145023                     String of interface description, e.g., NTT
145024
145025              enabled
145026                     String of boolean interface status, e.g., True
145027
145028              lag:   Boolean of interface lag status, e.g., True
145029
145030              lag_parent
145031                     String of interface lag parent name, e.g., ae13
145032
145033              form_factor
145034                     Integer  of form factor id, obtained through _choices API
145035                     endpoint, e.g., 200
145036
145037              CLI Example:
145038
145039                 salt myminion netbox.create_interface edge_router ae13 description="Core uplink"
145040
145041       salt.modules.netbox.create_interface_connection(interface_a,     inter‐
145042       face_b)
145043              New in version 2019.2.0.
145044
145045
145046              Create an interface connection between 2 interfaces
145047
145048              interface_a
145049                     Interface id for Side A
145050
145051              interface_b
145052                     Interface id for Side B
145053
145054              CLI Example:
145055
145056                 salt myminion netbox.create_interface_connection 123 456
145057
145058       salt.modules.netbox.create_inventory_item(device_name, item_name, manu‐
145059       facturer_name=None, serial=u'', part_id=u'', description=u'')
145060              New in version 2019.2.0.
145061
145062
145063              Add an inventory item to an existing device.
145064
145065              device_name
145066                     The name of the device, e.g., edge_router.
145067
145068              item_name
145069                     String of inventory item name, e.g., Transceiver.
145070
145071              manufacturer_name
145072                     String of inventory item manufacturer, e.g., Fiberstore.
145073
145074              serial String of inventory item serial, e.g., FS1238931.
145075
145076              part_id
145077                     String of inventory item part id, e.g., 740-01234.
145078
145079              description
145080                     String of inventory item description, e.g., SFP+-10G-LR.
145081
145082              CLI Example:
145083
145084                 salt myminion netbox.create_inventory_item edge_router Transceiver part_id=740-01234
145085
145086       salt.modules.netbox.create_ipaddress(ip_address,  family,  device=None,
145087       interface=None)
145088              New in version 2019.2.0.
145089
145090
145091              Add an IP address, and optionally attach it to an interface.
145092
145093              ip_address
145094                     The IP address and CIDR, e.g., 192.168.1.1/24
145095
145096              family Integer of IP family, e.g., 4
145097
145098              device The name of the device to attach IP to, e.g., edge_router
145099
145100              interface
145101                     The name of the interface to attach IP to, e.g., ae13
145102
145103              CLI Example:
145104
145105                 salt myminion netbox.create_ipaddress 192.168.1.1/24 4 device=edge_router interface=ae13
145106
145107       salt.modules.netbox.create_manufacturer(name)
145108              New in version 2019.2.0.
145109
145110
145111              Create a device manufacturer.
145112
145113              name   The name of the manufacturer, e.g., Juniper
145114
145115              CLI Example:
145116
145117                 salt myminion netbox.create_manufacturer Juniper
145118
145119       salt.modules.netbox.create_platform(platform)
145120              New in version 2019.2.0.
145121
145122
145123              Create a new device platform
145124
145125              platform
145126                     String of device platform, e.g., junos
145127
145128              CLI Example:
145129
145130                 salt myminion netbox.create_platform junos
145131
145132       salt.modules.netbox.create_site(site)
145133              New in version 2019.2.0.
145134
145135
145136              Create a new device site
145137
145138              site   String of device site, e.g., BRU
145139
145140              CLI Example:
145141
145142                 salt myminion netbox.create_site BRU
145143
145144       salt.modules.netbox.delete_interface(device_name, interface_name)
145145              New in version 2019.2.0.
145146
145147
145148              Delete an interface from a device.
145149
145150              device_name
145151                     The name of the device, e.g., edge_router.
145152
145153              interface_name
145154                     The name of the interface, e.g., ae13
145155
145156              CLI Example:
145157
145158                 salt myminion netbox.delete_interface edge_router ae13
145159
145160       salt.modules.netbox.delete_inventory_item(item_id)
145161              New in version 2019.2.0.
145162
145163
145164              Remove  an item from a devices inventory. Identified by the net‐
145165              box id
145166
145167              item_id
145168                     Integer of item to be deleted
145169
145170              CLI Example:
145171
145172                 salt myminion netbox.delete_inventory_item 1354
145173
145174       salt.modules.netbox.delete_ipaddress(ipaddr_id)
145175              New in version 2019.2.0.
145176
145177
145178              Delete an IP address. IP addresses in Netbox are  a  combination
145179              of address and the interface it is assigned to.
145180
145181              id     The Netbox id for the IP address.
145182
145183              CLI Example:
145184
145185                 salt myminion netbox.delete_ipaddress 9002
145186
145187       salt.modules.netbox.filter_(app, endpoint, **kwargs)
145188              Get a list of items from NetBox.
145189
145190              app    String of netbox app, e.g., dcim, circuits, ipam
145191
145192              endpoint
145193                     String of app endpoint, e.g., sites, regions, devices
145194
145195              kwargs Optional  arguments that can be used to filter.  All fil‐
145196                     ter keywords are available in Netbox, which can be  found
145197                     by  surfing to the corresponding API endpoint, and click‐
145198                     ing Filters. e.g., role=router
145199
145200              Returns a list of dictionaries
145201
145202                 salt myminion netbox.filter dcim devices status=1 role=router
145203
145204       salt.modules.netbox.get_(app, endpoint, id=None, **kwargs)
145205              Get a single item from NetBox.
145206
145207              app    String of netbox app, e.g., dcim, circuits, ipam
145208
145209              endpoint
145210                     String of app endpoint, e.g., sites, regions, devices
145211
145212              Returns a single dictionary
145213
145214              To get an item based on ID.
145215
145216                 salt myminion netbox.get dcim devices id=123
145217
145218              Or using named arguments that correspond with  accepted  filters
145219              on the NetBox endpoint.
145220
145221                 salt myminion netbox.get dcim devices name=my-router
145222
145223       salt.modules.netbox.get_circuit_provider(name, asn=None)
145224              New in version 2019.2.0.
145225
145226
145227              Get a circuit provider with a given name and optional ASN.
145228
145229              name   The name of the circuit provider
145230
145231              asn    The ASN of the circuit provider
145232
145233              CLI Example:
145234
145235                 salt myminion netbox.get_circuit_provider Telia 1299
145236
145237       salt.modules.netbox.get_interfaces(device_name=None, **kwargs)
145238              New in version 2019.2.0.
145239
145240
145241              Returns  interfaces for a specific device using arbitrary netbox
145242              filters
145243
145244              device_name
145245                     The name of the device, e.g., edge_router
145246
145247              kwargs Optional arguments to be used for filtering
145248
145249              CLI Example:
145250
145251                 salt myminion netbox.get_interfaces edge_router name="et-0/0/5"
145252
145253       salt.modules.netbox.get_ipaddresses(device_name=None, **kwargs)
145254              New in version 2019.2.0.
145255
145256
145257              Filters for an IP address using specified filters
145258
145259              device_name
145260                     The name of the device to check for the IP address
145261
145262              kwargs Optional arguments that can be used to filter, e.g., fam‐
145263                     ily=4
145264
145265              CLI Example:
145266
145267                 salt myminion netbox.get_ipaddresses device_name family=4
145268
145269       salt.modules.netbox.make_interface_child(device_name,   interface_name,
145270       parent_name)
145271              New in version 2019.2.0.
145272
145273
145274              Set an interface as part of a LAG.
145275
145276              device_name
145277                     The name of the device, e.g., edge_router.
145278
145279              interface_name
145280                     The name of the interface to be attached  to  LAG,  e.g.,
145281                     xe-1/0/2.
145282
145283              parent_name
145284                     The name of the LAG interface, e.g., ae13.
145285
145286              CLI Example:
145287
145288                 salt myminion netbox.make_interface_child xe-1/0/2 ae13
145289
145290       salt.modules.netbox.make_interface_lag(device_name, interface_name)
145291              New in version 2019.2.0.
145292
145293
145294              Update an interface to be a LAG.
145295
145296              device_name
145297                     The name of the device, e.g., edge_router.
145298
145299              interface_name
145300                     The name of the interface, e.g., ae13.
145301
145302              CLI Example:
145303
145304                 salt myminion netbox.make_interface_lag edge_router ae13
145305
145306       salt.modules.netbox.openconfig_interfaces(device_name=None)
145307              New in version 2019.2.0.
145308
145309
145310              Return   a   dictionary   structured   as  standardised  in  the
145311              openconfig-interfaces YANG model, containing physical  and  con‐
145312              figuration  data  available  in Netbox, e.g., IP addresses, MTU,
145313              enabled / disabled, etc.
145314
145315              device_name: None
145316                     The name of the device to query the interface  data  for.
145317                     If not provided, will use the Minion ID.
145318
145319              CLI Example:
145320
145321                 salt '*' netbox.openconfig_interfaces
145322                 salt '*' netbox.openconfig_interfaces device_name=cr1.thn.lon
145323
145324       salt.modules.netbox.openconfig_lacp(device_name=None)
145325              New in version 2019.2.0.
145326
145327
145328              Return   a   dictionary   structured   as  standardised  in  the
145329              openconfig-lacp YANG model, with  configuration  data  for  Link
145330              Aggregation Control Protocol (LACP) for aggregate interfaces.
145331
145332              NOTE:
145333                 The  interval  and lacp_mode keys have the values set as SLOW
145334                 and ACTIVE respectively, as this data is not currently avail‐
145335                 able in Netbox, therefore defaulting to the values defined in
145336                 the  standard.   See  interval  and  lacp-mode  for   further
145337                 details.
145338
145339              device_name: None
145340                     The name of the device to query the LACP information for.
145341                     If not provided, will use the Minion ID.
145342
145343              CLI Example:
145344
145345                 salt '*' netbox.openconfig_lacp
145346                 salt '*' netbox.openconfig_lacp device_name=cr1.thn.lon
145347
145348       salt.modules.netbox.slugify(value)
145349              '   Slugify    given    value.     Credit    to    Djangoproject
145350              https://docs.djangoproject.com/en/2.0/_modules/django/utils/text/#slugify
145351
145352       salt.modules.netbox.update_device(name, **kwargs)
145353              New in version 2019.2.0.
145354
145355
145356              Add attributes to an existing device, identified by name.
145357
145358              name   The name of the device, e.g., edge_router
145359
145360              kwargs Arguments to change in device, e.g., serial=JN2932930
145361
145362              CLI Example:
145363
145364                 salt myminion netbox.update_device edge_router serial=JN2932920
145365
145366       salt.modules.netbox.update_interface(device_name,       interface_name,
145367       **kwargs)
145368              New in version 2019.2.0.
145369
145370
145371              Update an existing interface with new attributes.
145372
145373              device_name
145374                     The name of the device, e.g., edge_router
145375
145376              interface_name
145377                     The name of the interface, e.g., ae13
145378
145379              kwargs Arguments     to     change     in    interface,    e.g.,
145380                     mac_address=50:87:69:53:32:D0
145381
145382              CLI Example:
145383
145384                 salt myminion netbox.update_interface edge_router ae13 mac_address=50:87:69:53:32:D0
145385
145386   salt.modules.netbsd_sysctl
145387       Module for viewing and modifying sysctl parameters
145388
145389       salt.modules.netbsd_sysctl.assign(name, value)
145390              Assign a single sysctl parameter for this minion
145391
145392              CLI Example:
145393
145394                 salt '*' sysctl.assign net.inet.icmp.icmplim 50
145395
145396       salt.modules.netbsd_sysctl.get(name)
145397              Return a single sysctl parameter for this minion
145398
145399              CLI Example:
145400
145401                 salt '*' sysctl.get hw.physmem
145402
145403       salt.modules.netbsd_sysctl.persist(name,          value,           con‐
145404       fig=u'/etc/sysctl.conf')
145405              Assign and persist a simple sysctl parameter for this minion
145406
145407              CLI Example:
145408
145409                 salt '*' sysctl.persist net.inet.icmp.icmplim 50
145410
145411       salt.modules.netbsd_sysctl.show(config_file=False)
145412              Return a list of sysctl parameters for this minion
145413
145414              CLI Example:
145415
145416                 salt '*' sysctl.show
145417
145418   salt.modules.netbsdservice
145419       The service module for NetBSD
145420
145421       IMPORTANT:
145422          If you feel that Salt should be using this module to manage services
145423          on a minion, and it is using a different module (or gives  an  error
145424          similar to 'service.start' is not available), see here.
145425
145426       salt.modules.netbsdservice.available(name)
145427              Returns  True  if  the specified service is available, otherwise
145428              returns False.
145429
145430              CLI Example:
145431
145432                 salt '*' service.available sshd
145433
145434       salt.modules.netbsdservice.disable(name, **kwargs)
145435              Disable the named service to start at boot
145436
145437              CLI Example:
145438
145439                 salt '*' service.disable <service name>
145440
145441       salt.modules.netbsdservice.disabled(name)
145442              Return True if the named service is enabled, false otherwise
145443
145444              CLI Example:
145445
145446                 salt '*' service.disabled <service name>
145447
145448       salt.modules.netbsdservice.enable(name, **kwargs)
145449              Enable the named service to start at boot
145450
145451              CLI Example:
145452
145453                 salt '*' service.enable <service name>
145454
145455       salt.modules.netbsdservice.enabled(name, **kwargs)
145456              Return True if the named service is enabled, false otherwise
145457
145458              CLI Example:
145459
145460                 salt '*' service.enabled <service name>
145461
145462       salt.modules.netbsdservice.force_reload(name)
145463              Force-reload the named service
145464
145465              CLI Example:
145466
145467                 salt '*' service.force_reload <service name>
145468
145469       salt.modules.netbsdservice.get_all()
145470              Return all available boot services
145471
145472              CLI Example:
145473
145474                 salt '*' service.get_all
145475
145476       salt.modules.netbsdservice.get_disabled()
145477              Return a set of services that are installed but disabled
145478
145479              CLI Example:
145480
145481                 salt '*' service.get_disabled
145482
145483       salt.modules.netbsdservice.get_enabled()
145484              Return a list of service that are enabled on boot
145485
145486              CLI Example:
145487
145488                 salt '*' service.get_enabled
145489
145490       salt.modules.netbsdservice.missing(name)
145491              The inverse of service.available.  Returns True if the specified
145492              service is not available, otherwise returns False.
145493
145494              CLI Example:
145495
145496                 salt '*' service.missing sshd
145497
145498       salt.modules.netbsdservice.reload_(name)
145499              Reload the named service
145500
145501              CLI Example:
145502
145503                 salt '*' service.reload <service name>
145504
145505       salt.modules.netbsdservice.restart(name)
145506              Restart the named service
145507
145508              CLI Example:
145509
145510                 salt '*' service.restart <service name>
145511
145512       salt.modules.netbsdservice.start(name)
145513              Start the specified service
145514
145515              CLI Example:
145516
145517                 salt '*' service.start <service name>
145518
145519       salt.modules.netbsdservice.status(name, sig=None)
145520              Return the status for a service.  If the name contains globbing,
145521              a dict mapping service name to True/False values is returned.
145522
145523              Changed in version 2018.3.0: The service name can now be a  glob
145524              (e.g. salt*)
145525
145526
145527              Parameters
145528
145529                     · name (str) -- The name of the service to check
145530
145531                     · sig  (str)  -- Signature to use to find the service via
145532                       ps
145533
145534              Returns
145535                     True if running, False otherwise dict: Maps service  name
145536                     to True if running, False otherwise
145537
145538              Return type
145539                     bool
145540
145541              CLI Example:
145542
145543                 salt '*' service.status <service name> [service signature]
145544
145545       salt.modules.netbsdservice.stop(name)
145546              Stop the specified service
145547
145548              CLI Example:
145549
145550                 salt '*' service.stop <service name>
145551
145552   salt.modules.netmiko_mod
145553   Netmiko Execution Module
145554       New in version 2019.2.0.
145555
145556
145557       Execution  module  to  interface  the  connection with a remote network
145558       device. It is flexible enough to execute the commands both when running
145559       under a Netmiko Proxy Minion, as well as running under a Regular Minion
145560       by specifying the connection arguments, i.e.,  device_type,  ip,  user‐
145561       name, password etc.
145562
145563       codeauthor
145564              Mircea   Ulinic   <ping@mirceaulinic.net>   &   Kirk   Byers  <‐
145565              ktbyers@twb-tech.com>
145566
145567       maturity
145568              new
145569
145570       depends
145571              netmiko
145572
145573       platform
145574              unix
145575
145576   Dependencies
145577       The netmiko proxy modules requires Netmiko to be installed: pip install
145578       netmiko.
145579
145580   Usage
145581       This  module  can  equally  be used via the netmiko Proxy module (check
145582       documentation), or directly from an arbitrary (Proxy)  Minion  that  is
145583       running on a server (computer) having access to the network device, and
145584       has the netmiko library installed.
145585
145586       When running outside of the netmiko Proxy  (i.e.,  from  another  Proxy
145587       Minion  type,  or regular Minion), the netmiko connection arguments can
145588       be either specified from the CLI when executing the command,  or  in  a
145589       configuration  block  under  the  netmiko key in the configuration opts
145590       (i.e., (Proxy) Minion configuration file), or Pillar. The  module  sup‐
145591       ports  these  simultaneously. These fields are the exact same supported
145592       by the netmiko Proxy Module:
145593
145594       · device_type  -  Class  selection  based  on  device  type.  Supported
145595         options:
145596
145597         · a10: A10 Networks
145598
145599         · accedian: Accedian Networks
145600
145601         · alcatel_aos: Alcatel AOS
145602
145603         · alcatel_sros: Alcatel SROS
145604
145605         · apresia_aeos: Apresia AEOS
145606
145607         · arista_eos: Arista EOS
145608
145609         · aruba_os: Aruba
145610
145611         · avaya_ers: Avaya ERS
145612
145613         · avaya_vsp: Avaya VSP
145614
145615         · brocade_fastiron: Brocade Fastiron
145616
145617         · brocade_netiron: Brocade Netiron
145618
145619         · brocade_nos: Brocade NOS
145620
145621         · brocade_vdx: Brocade NOS
145622
145623         · brocade_vyos: VyOS
145624
145625         · checkpoint_gaia: Check Point GAiA
145626
145627         · calix_b6: Calix B6
145628
145629         · ciena_saos: Ciena SAOS
145630
145631         · cisco_asa: Cisco SA
145632
145633         · cisco_ios: Cisco IOS
145634
145635         · cisco_nxos: Cisco NX-oS
145636
145637         · cisco_s300: Cisco S300
145638
145639         · cisco_tp: Cisco TpTcCe
145640
145641         · cisco_wlc: Cisco WLC
145642
145643         · cisco_xe: Cisco IOS
145644
145645         · cisco_xr: Cisco XR
145646
145647         · coriant: Coriant
145648
145649         · dell_force10: Dell Force10
145650
145651         · dell_os10: Dell OS10
145652
145653         · dell_powerconnect: Dell PowerConnect
145654
145655         · eltex: Eltex
145656
145657         · enterasys: Enterasys
145658
145659         · extreme: Extreme
145660
145661         · extreme_wing: Extreme Wing
145662
145663         · f5_ltm: F5 LTM
145664
145665         · fortinet: Fortinet
145666
145667         · generic_termserver: TerminalServer
145668
145669         · hp_comware: HP Comware
145670
145671         · hp_procurve: HP Procurve
145672
145673         · huawei: Huawei
145674
145675         · huawei_vrpv8: Huawei VRPV8
145676
145677         · juniper: Juniper Junos
145678
145679         · juniper_junos: Juniper Junos
145680
145681         · linux: Linux
145682
145683         · mellanox: Mellanox
145684
145685         · mrv_optiswitch: MrvOptiswitch
145686
145687         · netapp_cdot: NetAppcDot
145688
145689         · netscaler: Netscaler
145690
145691         · ovs_linux: OvsLinux
145692
145693         · paloalto_panos: PaloAlto Panos
145694
145695         · pluribus: Pluribus
145696
145697         · quanta_mesh: Quanta Mesh
145698
145699         · ruckus_fastiron: Ruckus Fastiron
145700
145701         · ubiquiti_edge: Ubiquiti Edge
145702
145703         · ubiquiti_edgeswitch: Ubiquiti Edge
145704
145705         · vyatta_vyos: VyOS
145706
145707         · vyos: VyOS
145708
145709         · brocade_fastiron_telnet: Brocade Fastiron over Telnet
145710
145711         · brocade_netiron_telnet: Brocade Netiron over Telnet
145712
145713         · cisco_ios_telnet: Cisco IOS over Telnet
145714
145715         · apresia_aeos_telnet: Apresia AEOS over Telnet
145716
145717         · arista_eos_telnet: Arista EOS over Telnet
145718
145719         · hp_procurve_telnet: HP Procurve over Telnet
145720
145721         · hp_comware_telnet: HP Comware over Telnet
145722
145723         · juniper_junos_telnet: Juniper Junos over Telnet
145724
145725         · calix_b6_telnet: Calix B6 over Telnet
145726
145727         · dell_powerconnect_telnet: Dell PowerConnect over Telnet
145728
145729         · generic_termserver_telnet: TerminalServer over Telnet
145730
145731         · extreme_telnet: Extreme Networks over Telnet
145732
145733         · ruckus_fastiron_telnet: Ruckus Fastiron over Telnet
145734
145735         · cisco_ios_serial: Cisco IOS over serial port
145736
145737       · ip - IP address of target device (not required if host is provided)
145738
145739       · host - Hostname of target device (not required if ip is provided)
145740
145741       · username  -  Username  to  authenticate  against  target  device,  if
145742         required
145743
145744       · password  -  Password  to  authenticate  against  target  device,  if
145745         required
145746
145747       · secret - The enable password if target device requires one
145748
145749       · port - The destination port used to connect to the target device
145750
145751       · global_delay_factor  - Multiplication factor affecting Netmiko delays
145752         (default: 1)
145753
145754       · use_keys - Connect to target device using SSH keys (default: False)
145755
145756       · key_file - Filename path of the SSH key file to use
145757
145758       · allow_agent - Enable use of SSH key-agent
145759
145760       · ssh_strict - Automatically reject unknown  SSH  host  keys  (default:
145761         False, which means unknown SSH host keys will be accepted)
145762
145763       · system_host_keys  - Load host keys from the user's "known_hosts" file
145764         (default: False)
145765
145766       · alt_host_keys - If True,  host keys will  be  loaded  from  the  file
145767         specified in alt_key_file (default: False)
145768
145769       · alt_key_file - SSH host key file to use (if alt_host_keys=True)
145770
145771       · ssh_config_file - File name of OpenSSH configuration file
145772
145773       · timeout - Connection timeout, in seconds (default: 90)
145774
145775       · session_timeout  -  Set  a  timeout for parallel requests, in seconds
145776         (default: 60)
145777
145778       · keepalive - Send SSH keepalive packets at  a  specific  interval,  in
145779         seconds.  Currently  defaults  to  0, for backwards compatibility (it
145780         will not attempt to keep the connection  alive  using  the  KEEPALIVE
145781         packets).
145782
145783       · default_enter  -  Character(s)  to  send  to  correspond to enter key
145784         (default: \n)
145785
145786       · response_return - Character(s) to use in normalized  return  data  to
145787         represent enter key (default: \n)
145788
145789       Example (when not running in a netmiko Proxy Minion):
145790
145791          netmiko:
145792            username: test
145793            password: test
145794
145795       In  case  the  username and password are the same on any device you are
145796       targeting, the block above (besides other parameters specific  to  your
145797       environment  you  might need) should suffice to be able to execute com‐
145798       mands from outside a netmiko Proxy, e.g.:
145799
145800          salt '*' netmiko.send_command 'show version' host=router1.example.com device_type=juniper
145801          salt '*' netmiko.send_config https://bit.ly/2sgljCB host=sw2.example.com device_type=cisco_ios
145802
145803       NOTE:
145804          Remember that the above applies only when not running in  a  netmiko
145805          Proxy Minion. If you want to use the <salt.proxy.netmiko_px>, please
145806          follow the documentation notes for a proper setup.
145807
145808       salt.modules.netmiko_mod.call(method, *args, **kwargs)
145809              Invoke an arbitrary Netmiko method.
145810
145811              method The name of the Netmiko method to invoke.
145812
145813              args   A list of arguments to send to the method invoked.
145814
145815              kwargs Key-value dictionary to send to the method invoked.
145816
145817       salt.modules.netmiko_mod.commit(**kwargs)
145818              Commit the configuration changes.
145819
145820              WARNING:
145821                 This function is supported only on the platforms that support
145822                 the commit operation.
145823
145824              CLI Example:
145825
145826                 salt '*' netmiko.commit
145827
145828       salt.modules.netmiko_mod.enter_config_mode(**kwargs)
145829              Enter into config mode.
145830
145831              config_command
145832                     Configuration command to send to the device.
145833
145834              pattern
145835                     Pattern to terminate reading of channel.
145836
145837              CLI Example:
145838
145839                 salt '*' netmiko.enter_config_mode
145840                 salt '*' netmiko.enter_config_mode device_type='juniper_junos' ip='192.168.0.1' username='example'
145841
145842       salt.modules.netmiko_mod.exit_config_mode(**kwargs)
145843              Exit from configuration mode.
145844
145845              exit_config
145846                     Command to exit configuration mode.
145847
145848              pattern
145849                     Pattern to terminate reading of channel.
145850
145851              CLI Example:
145852
145853                 salt '*' netmiko.exit_config_mode
145854                 salt '*' netmiko.exit_config_mode device_type='juniper' ip='192.168.0.1' username='example'
145855
145856       salt.modules.netmiko_mod.get_connection(**kwargs)
145857              Return the Netmiko connection object.
145858
145859              WARNING:
145860                 This  function  returns an unserializable object, hence it is
145861                 not meant to be used on the CLI. This should mainly  be  used
145862                 when  invoked from other modules for the low level connection
145863                 with the network device.
145864
145865              kwargs Key-value dictionary with the authentication details.
145866
145867              USAGE Example:
145868
145869                 conn = __salt__['netmiko.get_connection'](host='router1.example.com',
145870                                                           username='example',
145871                                                           password='example')
145872                 show_if = conn.send_command('show interfaces')
145873                 conn.disconnect()
145874
145875       salt.modules.netmiko_mod.multi_call(*methods, **kwargs)
145876              Invoke multiple Netmiko methods at once, and return  their  out‐
145877              put, as list.
145878
145879              methods
145880                     A list of dictionaries with the following keys:
145881
145882                     · name: the name of the Netmiko method to be executed.
145883
145884                     · args:  list  of  arguments  to  be  sent to the Netmiko
145885                       method.
145886
145887                     · kwargs: dictionary of arguments to be sent to the  Net‐
145888                       miko method.
145889
145890              kwargs Key-value  dictionary  with  the connection details (when
145891                     not running under a Proxy Minion).
145892
145893       salt.modules.netmiko_mod.send_command(command_string, **kwargs)
145894              Execute command_string on the SSH channel using a  pattern-based
145895              mechanism.   Generally  used  for show commands. By default this
145896              method will keep waiting  to  receive  data  until  the  network
145897              device  prompt  is  detected.  The current network device prompt
145898              will be determined automatically.
145899
145900              command_string
145901                     The command to be executed on the remote device.
145902
145903              expect_string
145904                     Regular expression pattern to use for determining end  of
145905                     output.   If  left  blank  will default to being based on
145906                     router prompt.
145907
145908              delay_factor: 1
145909                     Multiplying factor used to adjust delays (default: 1).
145910
145911              max_loops: 500
145912                     Controls wait time in conjunction with delay_factor. Will
145913                     default to be based upon self.timeout.
145914
145915              auto_find_prompt: True
145916                     Whether it should try to auto-detect the prompt (default:
145917                     True).
145918
145919              strip_prompt: True
145920                     Remove  the  trailing  router  prompt  from  the   output
145921                     (default: True).
145922
145923              strip_command: True
145924                     Remove  the echo of the command from the output (default:
145925                     True).
145926
145927              normalize: True
145928                     Ensure the  proper  enter  is  sent  at  end  of  command
145929                     (default: True).
145930
145931              use_textfsm: False
145932                     Process command output through TextFSM template (default:
145933                     False).
145934
145935              CLI Example:
145936
145937                 salt '*' netmiko.send_command 'show version'
145938                 salt '*' netmiko.send_command 'show_version' host='router1.example.com' username='example' device_type='cisco_ios'
145939
145940       salt.modules.netmiko_mod.send_command_timing(command_string, **kwargs)
145941              Execute command_string on the SSH channel  using  a  delay-based
145942              mechanism.  Generally used for show commands.
145943
145944              command_string
145945                     The command to be executed on the remote device.
145946
145947              delay_factor: 1
145948                     Multiplying factor used to adjust delays (default: 1).
145949
145950              max_loops: 500
145951                     Controls wait time in conjunction with delay_factor. Will
145952                     default to be based upon self.timeout.
145953
145954              strip_prompt: True
145955                     Remove  the  trailing  router  prompt  from  the   output
145956                     (default: True).
145957
145958              strip_command: True
145959                     Remove  the echo of the command from the output (default:
145960                     True).
145961
145962              normalize: True
145963                     Ensure the  proper  enter  is  sent  at  end  of  command
145964                     (default: True).
145965
145966              use_textfsm: False
145967                     Process command output through TextFSM template (default:
145968                     False).
145969
145970              CLI Example:
145971
145972                 salt '*' netmiko.send_command_timing 'show version'
145973                 salt '*' netmiko.send_command_timing 'show version' host='router1.example.com' username='example' device_type='arista_eos'
145974
145975       salt.modules.netmiko_mod.send_config(config_file=None,      config_com‐
145976       mands=None,    template_engine='jinja',   commit=False,   context=None,
145977       defaults=None, saltenv='base', **kwargs)
145978              Send configuration commands down the SSH  channel.   Return  the
145979              configuration lines sent to the device.
145980
145981              The  function is flexible to send the configuration from a local
145982              or remote file, or simply the commands as list.
145983
145984              config_file
145985                     The source file with the  configuration  commands  to  be
145986                     sent to the device.
145987
145988                     The  file  can  also  be  a template that can be rendered
145989                     using the template engine of choice.
145990
145991                     This can be specified using  the  absolute  path  to  the
145992                     file, or using one of the following URL schemes:
145993
145994                     · salt://, to fetch the file from the Salt fileserver.
145995
145996                     · http:// or https://
145997
145998                     · ftp://
145999
146000                     · s3://
146001
146002                     · swift://
146003
146004              config_commands
146005                     Multiple configuration commands to be sent to the device.
146006
146007                     NOTE:
146008                        This  argument  is  ignored when config_file is speci‐
146009                        fied.
146010
146011              template_engine: jinja
146012                     The template engine to  use  when  rendering  the  source
146013                     file.  Default:  jinja.  To simply fetch the file without
146014                     attempting to render, set this argument to None.
146015
146016              commit: False
146017                     Commit the configuration changes before exiting the  con‐
146018                     fig  mode.  This  option  is by default disabled, as many
146019                     platforms don't have this capability natively.
146020
146021              context
146022                     Variables to add to the template context.
146023
146024              defaults
146025                     Default values of the context_dict.
146026
146027              exit_config_mode: True
146028                     Determines whether or not to exit config mode after  com‐
146029                     plete.
146030
146031              delay_factor: 1
146032                     Factor to adjust delays.
146033
146034              max_loops: 150
146035                     Controls  wait  time  in  conjunction  with  delay_factor
146036                     (default: 150).
146037
146038              strip_prompt: False
146039                     Determines whether or not to strip the  prompt  (default:
146040                     False).
146041
146042              strip_command: False
146043                     Determines  whether or not to strip the command (default:
146044                     False).
146045
146046              config_mode_command
146047                     The command to enter into config mode.
146048
146049              CLI Example:
146050
146051                 salt '*' netmiko.send_config config_commands="['interface GigabitEthernet3', 'no ip address']"
146052                 salt '*' netmiko.send_config config_commands="['snmp-server location {{ grains.location }}']"
146053                 salt '*' netmiko.send_config config_file=salt://config.txt
146054                 salt '*' netmiko.send_config config_file=https://bit.ly/2sgljCB device_type='cisco_ios' ip='1.2.3.4' username='example'
146055
146056   salt.modules.netscaler
146057       Module to provide Citrix Netscaler compatibility  to  Salt  (compatible
146058       with netscaler 9.2+)
146059
146060       New in version 2015.2.0.
146061
146062
146063       depends
146064
146065       · nsnitro Python module
146066
146067       NOTE:
146068          You can install nsnitro using:
146069
146070              pip install nsnitro
146071
146072       configuration
146073              This  module  accepts connection configuration details either as
146074              parameters, or as configuration settings in /etc/salt/minion  on
146075              the relevant minions
146076
146077                 netscaler.host: 1.2.3.4
146078                 netscaler.user: user
146079                 netscaler.pass: password
146080
146081              This  data  can  also be passed into pillar. Options passed into
146082              opts will overwrite options passed into pillar.
146083
146084       CLI Examples
146085              Calls relying on configuration  passed  using  /etc/salt/minion,
146086              grains, or pillars:
146087                 salt-call netscaler.server_exists server_name
146088
146089              Calls passing configuration as opts
146090                 salt-call         netscaler.server_exists         server_name
146091                 netscaler_host=1.2.3.4                netscaler_user=username
146092                 netscaler_pass=password   salt-call   netscaler.server_exists
146093                 server_name  netscaler_host=1.2.3.5  netscaler_user=username2
146094                 netscaler_pass=password2   salt-call  netscaler.server_enable
146095                 server_name2         netscaler_host=1.2.3.5         salt-call
146096                 netscaler.server_up    server_name3    netscaler_host=1.2.3.6
146097                 netscaler_useSSL=False
146098
146099       salt.modules.netscaler.server_add(s_name, s_ip, s_state=None, **connec‐
146100       tion_args)
146101              Add a server Note: The default server state is ENABLED
146102
146103              CLI Example:
146104
146105                 salt '*' netscaler.server_add 'serverName' 'serverIpAddress'
146106                 salt '*' netscaler.server_add 'serverName' 'serverIpAddress' 'serverState'
146107
146108       salt.modules.netscaler.server_delete(s_name, **connection_args)
146109              Delete a server
146110
146111              CLI Example:
146112
146113                 salt '*' netscaler.server_delete 'serverName'
146114
146115       salt.modules.netscaler.server_disable(s_name, **connection_args)
146116              Disable a server globally
146117
146118              CLI Example:
146119
146120                 salt '*' netscaler.server_disable 'serverName'
146121
146122       salt.modules.netscaler.server_enable(s_name, **connection_args)
146123              Enables a server globally
146124
146125              CLI Example:
146126
146127                 salt '*' netscaler.server_enable 'serverName'
146128
146129       salt.modules.netscaler.server_enabled(s_name, **connection_args)
146130              Check if a server is enabled globally
146131
146132              CLI Example:
146133
146134                 salt '*' netscaler.server_enabled 'serverName'
146135
146136       salt.modules.netscaler.server_exists(s_name,   ip=None,   s_state=None,
146137       **connection_args)
146138              Checks if a server exists
146139
146140              CLI Example:
146141
146142                 salt '*' netscaler.server_exists 'serverName'
146143
146144       salt.modules.netscaler.server_update(s_name, s_ip, **connection_args)
146145              Update a server's attributes
146146
146147              CLI Example:
146148
146149                 salt '*' netscaler.server_update 'serverName' 'serverIP'
146150
146151       salt.modules.netscaler.service_disable(s_name, s_delay=None,  **connec‐
146152       tion_args)
146153              Disable a service
146154
146155              CLI Example:
146156
146157                 salt '*' netscaler.service_disable 'serviceName'
146158                 salt '*' netscaler.service_disable 'serviceName' 'delayInSeconds'
146159
146160       salt.modules.netscaler.service_enable(s_name, **connection_args)
146161              Enable a service
146162
146163              CLI Example:
146164
146165                 salt '*' netscaler.service_enable 'serviceName'
146166
146167       salt.modules.netscaler.service_exists(s_name, **connection_args)
146168              Checks if a service exists
146169
146170              CLI Example:
146171
146172                 salt '*' netscaler.service_exists 'serviceName'
146173
146174       salt.modules.netscaler.service_up(s_name, **connection_args)
146175              Checks if a service is UP
146176
146177              CLI Example:
146178
146179                 salt '*' netscaler.service_up 'serviceName'
146180
146181       salt.modules.netscaler.servicegroup_add(sg_name,       sg_type=u'HTTP',
146182       **connection_args)
146183              Add a new service group If no service type  is  specified,  HTTP
146184              will  be  used.   Most  common  service  types:  HTTP,  SSL, and
146185              SSL_BRIDGE
146186
146187              CLI Example:
146188
146189                 salt '*' netscaler.servicegroup_add 'serviceGroupName'
146190                 salt '*' netscaler.servicegroup_add 'serviceGroupName' 'serviceGroupType'
146191
146192       salt.modules.netscaler.servicegroup_delete(sg_name, **connection_args)
146193              Delete a new service group
146194
146195              CLI Example:
146196
146197                 salt '*' netscaler.servicegroup_delete 'serviceGroupName'
146198
146199       salt.modules.netscaler.servicegroup_exists(sg_name,       sg_type=None,
146200       **connection_args)
146201              Checks if a service group exists
146202
146203              CLI Example:
146204
146205                 salt '*' netscaler.servicegroup_exists 'serviceGroupName'
146206
146207       salt.modules.netscaler.servicegroup_server_add(sg_name, s_name, s_port,
146208       **connection_args)
146209              Add a server:port member to a servicegroup
146210
146211              CLI Example:
146212
146213                 salt '*' netscaler.servicegroup_server_add 'serviceGroupName' 'serverName' 'serverPort'
146214
146215       salt.modules.netscaler.servicegroup_server_delete(sg_name,      s_name,
146216       s_port, **connection_args)
146217              Remove a server:port member from a servicegroup
146218
146219              CLI Example:
146220
146221                 salt '*' netscaler.servicegroup_server_delete 'serviceGroupName' 'serverName' 'serverPort'
146222
146223       salt.modules.netscaler.servicegroup_server_disable(sg_name,     s_name,
146224       s_port, **connection_args)
146225              Disable a server:port member of a servicegroup
146226
146227              CLI Example:
146228
146229                 salt '*' netscaler.servicegroup_server_disable 'serviceGroupName' 'serverName' 'serverPort'
146230
146231       salt.modules.netscaler.servicegroup_server_enable(sg_name,      s_name,
146232       s_port, **connection_args)
146233              Enable a server:port member of a servicegroup
146234
146235              CLI Example:
146236
146237                 salt '*' netscaler.servicegroup_server_enable 'serviceGroupName' 'serverName' 'serverPort'
146238
146239       salt.modules.netscaler.servicegroup_server_exists(sg_name,      s_name,
146240       s_port=None, **connection_args)
146241              Check if a server:port combination is a member of a servicegroup
146242
146243              CLI Example:
146244
146245                 salt '*' netscaler.servicegroup_server_exists 'serviceGroupName' 'serverName' 'serverPort'
146246
146247       salt.modules.netscaler.servicegroup_server_up(sg_name, s_name,  s_port,
146248       **connection_args)
146249              Check  if a server:port combination is in state UP in a service‐
146250              group
146251
146252              CLI Example:
146253
146254                 salt '*' netscaler.servicegroup_server_up 'serviceGroupName' 'serverName' 'serverPort'
146255
146256       salt.modules.netscaler.vserver_add(v_name, v_ip, v_port, v_type, **con‐
146257       nection_args)
146258              Add a new lb vserver
146259
146260              CLI Example:
146261
146262                 salt '*' netscaler.vserver_add 'vserverName' 'vserverIP' 'vserverPort' 'vserverType'
146263                 salt '*' netscaler.vserver_add 'alex.patate.chaude.443' '1.2.3.4' '443' 'SSL'
146264
146265       salt.modules.netscaler.vserver_delete(v_name, **connection_args)
146266              Delete a lb vserver
146267
146268              CLI Example:
146269
146270                 salt '*' netscaler.vserver_delete 'vserverName'
146271
146272       salt.modules.netscaler.vserver_exists(v_name,  v_ip=None,  v_port=None,
146273       v_type=None, **connection_args)
146274              Checks if a vserver exists
146275
146276              CLI Example:
146277
146278                 salt '*' netscaler.vserver_exists 'vserverName'
146279
146280       salt.modules.netscaler.vserver_servicegroup_add(v_name, sg_name, **con‐
146281       nection_args)
146282              Bind a servicegroup to a vserver
146283
146284              CLI Example:
146285
146286                 salt '*' netscaler.vserver_servicegroup_add 'vserverName' 'serviceGroupName'
146287
146288       salt.modules.netscaler.vserver_servicegroup_delete(v_name,     sg_name,
146289       **connection_args)
146290              Unbind a servicegroup from a vserver
146291
146292              CLI Example:
146293
146294                 salt '*' netscaler.vserver_servicegroup_delete 'vserverName' 'serviceGroupName'
146295
146296       salt.modules.netscaler.vserver_servicegroup_exists(v_name,     sg_name,
146297       **connection_args)
146298              Checks if a servicegroup is tied to a vserver
146299
146300              CLI Example:
146301
146302                 salt '*' netscaler.vserver_servicegroup_exists 'vserverName' 'serviceGroupName'
146303
146304       salt.modules.netscaler.vserver_sslcert_add(v_name,  sc_name,  **connec‐
146305       tion_args)
146306              Binds a SSL certificate to a vserver
146307
146308              CLI Example:
146309
146310                 salt '*' netscaler.vserver_sslcert_add 'vserverName' 'sslCertificateName'
146311
146312       salt.modules.netscaler.vserver_sslcert_delete(v_name,  sc_name,  **con‐
146313       nection_args)
146314              Unbinds a SSL certificate from a vserver
146315
146316              CLI Example:
146317
146318                 salt '*' netscaler.vserver_sslcert_delete 'vserverName' 'sslCertificateName'
146319
146320       salt.modules.netscaler.vserver_sslcert_exists(v_name,  sc_name,  **con‐
146321       nection_args)
146322              Checks if a SSL certificate is tied to a vserver
146323
146324              CLI Example:
146325
146326                 salt '*' netscaler.vserver_sslcert_exists 'vserverName' 'sslCertificateName'
146327
146328   salt.modules.network
146329       Module for gathering and managing network information
146330
146331       salt.modules.network.active_tcp()
146332              Return a dict containing information on all of the  running  TCP
146333              connections (currently linux and solaris only)
146334
146335              Changed in version 2015.8.4: Added support for SunOS
146336
146337
146338              CLI Example:
146339
146340                 salt '*' network.active_tcp
146341
146342       salt.modules.network.arp()
146343              Return the arp table from the minion
146344
146345              Changed in version 2015.8.0: Added support for SunOS
146346
146347
146348              CLI Example:
146349
146350                 salt '*' network.arp
146351
146352       salt.modules.network.calc_net(ip_addr, netmask=None)
146353              Returns  the CIDR of a subnet based on an IP address (CIDR nota‐
146354              tion supported) and optional netmask.
146355
146356              CLI Example:
146357
146358                 salt '*' network.calc_net 172.17.0.5 255.255.255.240
146359                 salt '*' network.calc_net 2a02:f6e:a000:80:84d8:8332:7866:4e07/64
146360
146361              New in version 2015.8.0.
146362
146363
146364       salt.modules.network.connect(host, port=None, **kwargs)
146365              Test connectivity to a host using a  particular  port  from  the
146366              minion.
146367
146368              New in version 2014.7.0.
146369
146370
146371              CLI Example:
146372
146373                 salt '*' network.connect archlinux.org 80
146374
146375                 salt '*' network.connect archlinux.org 80 timeout=3
146376
146377                 salt '*' network.connect archlinux.org 80 timeout=3 family=ipv4
146378
146379                 salt '*' network.connect google-public-dns-a.google.com port=53 proto=udp timeout=3
146380
146381       salt.modules.network.convert_cidr(cidr)
146382              returns the network and subnet mask of a cidr addr
146383
146384              New in version 2016.3.0.
146385
146386
146387              CLI Example:
146388
146389                 salt '*' network.convert_cidr 172.31.0.0/16
146390
146391       salt.modules.network.default_route(family=None)
146392              Return default route(s) from routing table
146393
146394              Changed  in  version  2015.8.0: Added support for SunOS (Solaris
146395              10, Illumos, SmartOS)
146396
146397
146398              Changed in version 2016.11.4: Added support for AIX
146399
146400
146401              CLI Example:
146402
146403                 salt '*' network.default_route
146404
146405       salt.modules.network.dig(host)
146406              Performs a DNS lookup with dig
146407
146408              CLI Example:
146409
146410                 salt '*' network.dig archlinux.org
146411
146412       salt.modules.network.get_bufsize(iface)
146413              Return network buffer sizes as a dict (currently linux only)
146414
146415              CLI Example:
146416
146417                 salt '*' network.get_bufsize eth0
146418
146419       salt.modules.network.get_fqdn()
146420              Get fully qualified domain name
146421
146422              CLI Example:
146423
146424                 salt '*' network.get_fqdn
146425
146426       salt.modules.network.get_hostname()
146427              Get hostname
146428
146429              CLI Example:
146430
146431                 salt '*' network.get_hostname
146432
146433       salt.modules.network.get_route(ip)
146434              Return routing information for given destination ip
146435
146436              New in version 2015.5.3.
146437
146438
146439              Changed in version 2015.8.0: Added support  for  SunOS  (Solaris
146440              10, Illumos, SmartOS) Added support for OpenBSD
146441
146442
146443              Changed in version 2016.11.4: Added support for AIX
146444
146445
146446              CLI Example:
146447
146448                 salt '*' network.get_route 10.10.10.10
146449
146450       salt.modules.network.hw_addr(iface)
146451              Return  the  hardware  address  (a.k.a. MAC address) for a given
146452              interface
146453
146454              CLI Example:
146455
146456                 salt '*' network.hw_addr eth0
146457
146458       salt.modules.network.hwaddr(iface)
146459              This function is an alias of hw_addr.
146460                 Return the hardware address (a.k.a. MAC address) for a  given
146461                 interface
146462
146463                 CLI Example:
146464
146465                     salt '*' network.hw_addr eth0
146466
146467       salt.modules.network.ifacestartswith(cidr)
146468              Retrieve the interface name from a specific CIDR
146469
146470              New in version 2016.11.0.
146471
146472
146473              CLI Example:
146474
146475                 salt '*' network.ifacestartswith 10.0
146476
146477       salt.modules.network.in_subnet(cidr)
146478              Returns  True  if  host  is  within  specified subnet, otherwise
146479              False.
146480
146481              CLI Example:
146482
146483                 salt '*' network.in_subnet 10.0.0.0/16
146484
146485       salt.modules.network.interface(iface)
146486              Return the inet address for a given interface
146487
146488              New in version 2014.7.0.
146489
146490
146491              CLI Example:
146492
146493                 salt '*' network.interface eth0
146494
146495       salt.modules.network.interface_ip(iface)
146496              Return the inet address for a given interface
146497
146498              New in version 2014.7.0.
146499
146500
146501              CLI Example:
146502
146503                 salt '*' network.interface_ip eth0
146504
146505       salt.modules.network.interfaces()
146506              Return a dictionary of information about all the  interfaces  on
146507              the minion
146508
146509              CLI Example:
146510
146511                 salt '*' network.interfaces
146512
146513       salt.modules.network.ip_addrs(interface=None,   include_loopback=False,
146514       cidr=None, type=None)
146515              Returns a list of IPv4 addresses assigned to the host. 127.0.0.1
146516              is  ignored,  unless  'include_loopback=True'  is  indicated. If
146517              'interface' is provided, then only IP addresses from that inter‐
146518              face will be returned.  Providing a CIDR via 'cidr="10.0.0.0/8"'
146519              will return only the addresses which are within that subnet.  If
146520              'type' is 'public', then only public addresses will be returned.
146521              Ditto for 'type'='private'.
146522
146523              CLI Example:
146524
146525                 salt '*' network.ip_addrs
146526
146527       salt.modules.network.ip_addrs6(interface=None,  include_loopback=False,
146528       cidr=None)
146529              Returns  a  list  of IPv6 addresses assigned to the host. ::1 is
146530              ignored, unless 'include_loopback=True' is indicated. If 'inter‐
146531              face'  is  provided,  then only IP addresses from that interface
146532              will be returned.  Providing a CIDR via  'cidr="2000::/3"'  will
146533              return only the addresses which are within that subnet.
146534
146535              CLI Example:
146536
146537                 salt '*' network.ip_addrs6
146538
146539       salt.modules.network.ip_in_subnet(ip_addr, cidr)
146540              Returns  True  if given IP is within specified subnet, otherwise
146541              False.
146542
146543              CLI Example:
146544
146545                 salt '*' network.ip_in_subnet 172.17.0.4 172.16.0.0/12
146546
146547       salt.modules.network.ipaddrs(interface=None,    include_loopback=False,
146548       cidr=None, type=None)
146549              This function is an alias of ip_addrs.
146550                 Returns  a  list  of  IPv4  addresses  assigned  to the host.
146551                 127.0.0.1 is ignored, unless 'include_loopback=True' is indi‐
146552                 cated.  If  'interface'  is  provided, then only IP addresses
146553                 from that interface will be returned.  Providing a  CIDR  via
146554                 'cidr="10.0.0.0/8"'  will return only the addresses which are
146555                 within that subnet. If 'type' is 'public', then  only  public
146556                 addresses will be returned. Ditto for 'type'='private'.
146557
146558                 CLI Example:
146559
146560                     salt '*' network.ip_addrs
146561
146562       salt.modules.network.ipaddrs6(interface=None,   include_loopback=False,
146563       cidr=None)
146564              This function is an alias of ip_addrs6.
146565                 Returns a list of IPv6 addresses assigned to the host. ::1 is
146566                 ignored,  unless  'include_loopback=True'  is  indicated.  If
146567                 'interface' is provided, then only  IP  addresses  from  that
146568                 interface   will   be   returned.    Providing   a  CIDR  via
146569                 'cidr="2000::/3"' will return only the  addresses  which  are
146570                 within that subnet.
146571
146572                 CLI Example:
146573
146574                     salt '*' network.ip_addrs6
146575
146576       salt.modules.network.iphexval(ip)
146577              Retrieve the hexadecimal representation of an IP address
146578
146579              New in version 2016.11.0.
146580
146581
146582              CLI Example:
146583
146584                 salt '*' network.iphexval 10.0.0.1
146585
146586       salt.modules.network.is_loopback(ip_addr)
146587              Check if the given IP address is a loopback address
146588
146589              New in version 2014.7.0.
146590
146591
146592              Changed in version 2015.8.0: IPv6 support
146593
146594
146595              CLI Example:
146596
146597                 salt '*' network.is_loopback 127.0.0.1
146598
146599       salt.modules.network.is_private(ip_addr)
146600              Check if the given IP address is a private address
146601
146602              New in version 2014.7.0.
146603
146604
146605              Changed in version 2015.8.0: IPv6 support
146606
146607
146608              CLI Example:
146609
146610                 salt '*' network.is_private 10.0.0.3
146611
146612       salt.modules.network.mod_bufsize(iface, *args, **kwargs)
146613              Modify network interface buffers (currently linux only)
146614
146615              CLI Example:
146616
146617                 salt '*' network.mod_bufsize tx=<val> rx=<val> rx-mini=<val> rx-jumbo=<val>
146618
146619       salt.modules.network.mod_hostname(hostname)
146620              Modify hostname
146621
146622              Changed  in  version  2015.8.0: Added support for SunOS (Solaris
146623              10, Illumos, SmartOS)
146624
146625
146626              CLI Example:
146627
146628                 salt '*' network.mod_hostname master.saltstack.com
146629
146630       salt.modules.network.netstat()
146631              Return information on open ports and states
146632
146633              NOTE:
146634                 On BSD minions, the output contains PID  info  (where  avail‐
146635                 able)  for  each  netstat  entry, fetched from sockstat/fstat
146636                 output.
146637
146638              Changed in version 2014.1.4: Added support for OpenBSD, FreeBSD,
146639              and NetBSD
146640
146641
146642              Changed in version 2015.8.0: Added support for SunOS
146643
146644
146645              Changed in version 2016.11.4: Added support for AIX
146646
146647
146648              CLI Example:
146649
146650                 salt '*' network.netstat
146651
146652       salt.modules.network.ping(host, timeout=False, return_boolean=False)
146653              Performs an ICMP ping to a host
146654
146655              Changed in version 2015.8.0: Added support for SunOS
146656
146657
146658              CLI Example:
146659
146660                 salt '*' network.ping archlinux.org
146661
146662              New in version 2015.5.0.
146663
146664
146665              Return a True or False instead of ping output.
146666
146667                 salt '*' network.ping archlinux.org return_boolean=True
146668
146669              Set the time to wait for a response in seconds.
146670
146671                 salt '*' network.ping archlinux.org timeout=3
146672
146673       salt.modules.network.reverse_ip(ip_addr)
146674              Returns the reversed IP address
146675
146676              Changed in version 2015.8.0: IPv6 support
146677
146678
146679              CLI Example:
146680
146681                 salt '*' network.reverse_ip 172.17.0.4
146682
146683       salt.modules.network.routes(family=None)
146684              Return currently configured routes from routing table
146685
146686              Changed  in  version  2015.8.0: Added support for SunOS (Solaris
146687              10, Illumos, SmartOS)
146688
146689
146690              Changed in version 2016.11.4: Added support for AIX
146691
146692
146693              CLI Example:
146694
146695                 salt '*' network.routes
146696
146697       salt.modules.network.subnets(interfaces=None)
146698              Returns a list of IPv4 subnets to which the host belongs
146699
146700              CLI Example:
146701
146702                 salt '*' network.subnets
146703                 salt '*' network.subnets interfaces=eth1
146704
146705       salt.modules.network.subnets6()
146706              Returns a list of IPv6 subnets to which the host belongs
146707
146708              CLI Example:
146709
146710                 salt '*' network.subnets
146711
146712       salt.modules.network.traceroute(host)
146713              Performs a traceroute to a 3rd party host
146714
146715              Changed in version 2015.8.0: Added support for SunOS
146716
146717
146718              Changed in version 2016.11.4: Added support for AIX
146719
146720
146721              CLI Example:
146722
146723                 salt '*' network.traceroute archlinux.org
146724
146725       salt.modules.network.wol(mac, bcast=u'255.255.255.255', destport=9)
146726              Send Wake On Lan packet to a host
146727
146728              CLI Example:
146729
146730                 salt '*' network.wol 08-00-27-13-69-77
146731                 salt '*' network.wol 080027136977 255.255.255.255 7
146732                 salt '*' network.wol 08:00:27:13:69:77 255.255.255.255 7
146733
146734   salt.modules.neutron
146735       Module for handling OpenStack Neutron calls
146736
146737       depends
146738
146739              · neutronclient Python module
146740
146741       configuration
146742              This module is not usable until the user, password, tenant,  and
146743              auth  URL  are  specified  either in a pillar or in the minion's
146744              config file.  For example:
146745
146746                 keystone.user: 'admin'
146747                 keystone.password: 'password'
146748                 keystone.tenant: 'admin'
146749                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
146750                 keystone.region_name: 'RegionOne'
146751                 keystone.service_type: 'network'
146752
146753              If configuration for multiple OpenStack  accounts  is  required,
146754              they  can  be  set  up  as different configuration profiles: For
146755              example:
146756
146757                 openstack1:
146758                   keystone.user: 'admin'
146759                   keystone.password: 'password'
146760                   keystone.tenant: 'admin'
146761                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
146762                   keystone.region_name: 'RegionOne'
146763                   keystone.service_type: 'network'
146764
146765                 openstack2:
146766                   keystone.user: 'admin'
146767                   keystone.password: 'password'
146768                   keystone.tenant: 'admin'
146769                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
146770                   keystone.region_name: 'RegionOne'
146771                   keystone.service_type: 'network'
146772
146773              With this configuration in place, any of the  neutron  functions
146774              can  make use of a configuration profile by declaring it explic‐
146775              itly.  For example:
146776
146777                 salt '*' neutron.network_list profile=openstack1
146778
146779              To use keystoneauth1  instead  of  keystoneclient,  include  the
146780              use_keystoneauth option in the pillar or minion config.
146781
146782              NOTE:
146783                 this is required to use keystone v3 as for authentication.
146784
146785                 keystone.user: admin
146786                 keystone.password: verybadpass
146787                 keystone.tenant: admin
146788                 keystone.auth_url: 'http://127.0.0.1:5000/v3/'
146789                 keystone.region_name: 'RegionOne'
146790                 keystone.service_type: 'network'
146791                 keystone.use_keystoneauth: true
146792                 keystone.verify: '/path/to/custom/certs/ca-bundle.crt'
146793
146794              Note:  by  default the neutron module will attempt to verify its
146795              connection utilizing the system certificates.  If  you  need  to
146796              verify against another bundle of CA certificates or want to skip
146797              verification altogether you will  need  to  specify  the  verify
146798              option. You can specify True or False to verify (or not) against
146799              system certificates, a path to a bundle or  CA  certs  to  check
146800              against,  or  None  to allow keystoneauth to search for the cer‐
146801              tificates on its own.(defaults to True)
146802
146803       salt.modules.neutron.add_gateway_router(router,    ext_network,    pro‐
146804       file=None)
146805              Adds an external network gateway to the specified router
146806
146807              CLI Example:
146808
146809                 salt '*' neutron.add_gateway_router router-name ext-network-name
146810
146811              Parameters
146812
146813                     · router -- ID or name of the router
146814
146815                     · ext_network  --  ID or name of the external network the
146816                       gateway
146817
146818                     · profile -- Profile to build on (Optional)
146819
146820              Returns
146821                     Added Gateway router information
146822
146823       salt.modules.neutron.add_interface_router(router, subnet, profile=None)
146824              Adds an internal network interface to the specified router
146825
146826              CLI Example:
146827
146828                 salt '*' neutron.add_interface_router router-name subnet-name
146829
146830              Parameters
146831
146832                     · router -- ID or name of the router
146833
146834                     · subnet -- ID or name of the subnet
146835
146836                     · profile -- Profile to build on (Optional)
146837
146838              Returns
146839                     Added interface information
146840
146841       salt.modules.neutron.create_firewall_rule(protocol,    action,     pro‐
146842       file=None, **kwargs)
146843              Creates a new firewall rule
146844
146845              CLI Example:
146846
146847                 salt '*' neutron.create_firewall_rule protocol action
146848                         tenant_id=TENANT_ID name=NAME description=DESCRIPTION ip_version=IP_VERSION
146849                         source_ip_address=SOURCE_IP_ADDRESS destination_ip_address=DESTINATION_IP_ADDRESS source_port=SOURCE_PORT
146850                         destination_port=DESTINATION_PORT shared=SHARED enabled=ENABLED
146851
146852              Parameters
146853
146854                     · protocol  --  Protocol  for  the  firewall rule, choose
146855                       "tcp","udp","icmp" or "None".
146856
146857                     · action -- Action for the firewall rule, choose  "allow"
146858                       or "deny".
146859
146860                     · tenant_id -- The owner tenant ID. (Optional)
146861
146862                     · name -- Name for the firewall rule. (Optional)
146863
146864                     · description  --  Description  for  the  firewall  rule.
146865                       (Optional)
146866
146867                     · ip_version  --  IP  protocol   version,   default:   4.
146868                       (Optional)
146869
146870                     · source_ip_address  --  Source  IP  address  or  subnet.
146871                       (Optional)
146872
146873                     · destination_ip_address --  Destination  IP  address  or
146874                       subnet. (Optional)
146875
146876                     · source_port  --  Source  port (integer in [1, 65535] or
146877                       range in a:b). (Optional)
146878
146879                     · destination_port -- Destination port  (integer  in  [1,
146880                       65535] or range in a:b). (Optional)
146881
146882                     · shared   --   Set   shared  to  True,  default:  False.
146883                       (Optional)
146884
146885                     · enabled  --  To  enable  this  rule,   default:   True.
146886                       (Optional)
146887
146888       salt.modules.neutron.create_floatingip(floating_network,     port=None,
146889       profile=None)
146890              Creates a new floatingIP
146891
146892              CLI Example:
146893
146894                 salt '*' neutron.create_floatingip network-name port-name
146895
146896              Parameters
146897
146898                     · floating_network -- Network  name  or  ID  to  allocate
146899                       floatingIP from
146900
146901                     · port  --  Of  the port to be associated with the float‐
146902                       ingIP (Optional)
146903
146904                     · profile -- Profile to build on (Optional)
146905
146906              Returns
146907                     Created floatingIP information
146908
146909       salt.modules.neutron.create_ikepolicy(name, profile=None, **kwargs)
146910              Creates a new IKEPolicy
146911
146912              CLI Example:
146913
146914                 salt '*' neutron.create_ikepolicy ikepolicy-name
146915                         phase1_negotiation_mode=main auth_algorithm=sha1
146916                         encryption_algorithm=aes-128 pfs=group5
146917
146918              Parameters
146919
146920                     · name -- Name of the IKE policy
146921
146922                     · phase1_negotiation_mode -- IKE Phase1 negotiation  mode
146923                       in lowercase, default: main (Optional)
146924
146925                     · auth_algorithm  --  Authentication  algorithm in lower‐
146926                       case, default: sha1 (Optional)
146927
146928                     · encryption_algorithm -- Encryption algorithm in  lower‐
146929                       case.  default:aes-128 (Optional)
146930
146931                     · pfs  -- Prefect Forward Security in lowercase, default:
146932                       group5 (Optional)
146933
146934                     · units  --  IKE  lifetime  attribute.  default:  seconds
146935                       (Optional)
146936
146937                     · value   --   IKE   lifetime  attribute.  default:  3600
146938                       (Optional)
146939
146940                     · ike_version -- IKE version in  lowercase,  default:  v1
146941                       (Optional)
146942
146943                     · profile -- Profile to build on (Optional)
146944
146945                     · kwargs --
146946
146947              Returns
146948                     Created IKE policy information
146949
146950       salt.modules.neutron.create_ipsec_site_connection(name,    ipsecpolicy,
146951       ikepolicy,  vpnservice,   peer_cidrs,   peer_address,   peer_id,   psk,
146952       admin_state_up=True, profile=None, **kwargs)
146953              Creates a new IPsecSiteConnection
146954
146955              CLI Example:
146956
146957                 salt '*' neutron.show_ipsec_site_connection connection-name
146958                         ipsec-policy-name ikepolicy-name vpnservice-name
146959                         192.168.XXX.XXX/24 192.168.XXX.XXX 192.168.XXX.XXX secret
146960
146961              Parameters
146962
146963                     · name -- Set friendly name for the connection
146964
146965                     · ipsecpolicy  -- IPSec policy ID or name associated with
146966                       this connection
146967
146968                     · ikepolicy -- IKE policy ID or name associated with this
146969                       connection
146970
146971                     · vpnservice  --  VPN service instance ID or name associ‐
146972                       ated with this connection
146973
146974                     · peer_cidrs -- Remote subnet(s) in CIDR format
146975
146976                     · peer_address -- Peer gateway public  IPv4/IPv6  address
146977                       or FQDN
146978
146979                     · peer_id  -- Peer router identity for authentication Can
146980                       be IPv4/IPv6 address, e-mail address, key id, or FQDN
146981
146982                     · psk -- Pre-shared key string
146983
146984                     · initiator   --   Initiator    state    in    lowercase,
146985                       default:bi-directional
146986
146987                     · admin_state_up  -- Set admin state up to true or false,
146988                       default: True (Optional)
146989
146990                     · mtu -- size for the connection, default:1500 (Optional)
146991
146992                     · dpd_action   --   Dead   Peer   Detection    attribute:
146993                       hold/clear/disabled/ restart/restart-by-peer (Optional)
146994
146995                     · dpd_interval   --   Dead   Peer   Detection   attribute
146996                       (Optional)
146997
146998                     · dpd_timeout -- Dead Peer Detection attribute (Optional)
146999
147000                     · profile -- Profile to build on (Optional)
147001
147002              Returns
147003                     Created IPSec site connection information
147004
147005       salt.modules.neutron.create_ipsecpolicy(name, profile=None, **kwargs)
147006              Creates a new IPsecPolicy
147007
147008              CLI Example:
147009
147010                 salt '*' neutron.create_ipsecpolicy ipsecpolicy-name
147011                         transform_protocol=esp auth_algorithm=sha1
147012                         encapsulation_mode=tunnel encryption_algorithm=aes-128
147013
147014              Parameters
147015
147016                     · name -- Name of the IPSec policy
147017
147018                     · transform_protocol -- Transform protocol in  lowercase,
147019                       default: esp (Optional)
147020
147021                     · auth_algorithm  --  Authentication  algorithm in lower‐
147022                       case, default: sha1 (Optional)
147023
147024                     · encapsulation_mode -- Encapsulation mode in  lowercase,
147025                       default: tunnel (Optional)
147026
147027                     · encryption_algorithm  -- Encryption algorithm in lower‐
147028                       case, default:aes-128 (Optional)
147029
147030                     · pfs -- Prefect Forward Security in lowercase,  default:
147031                       group5 (Optional)
147032
147033                     · units  --  IPSec  lifetime  attribute. default: seconds
147034                       (Optional)
147035
147036                     · value  --  IPSec  lifetime  attribute.  default:   3600
147037                       (Optional)
147038
147039                     · profile -- Profile to build on (Optional)
147040
147041              Returns
147042                     Created IPSec policy information
147043
147044       salt.modules.neutron.create_network(name,              router_ext=None,
147045       admin_state_up=True, network_type=None, physical_network=None,  segmen‐
147046       tation_id=None, shared=None, profile=None)
147047              Creates a new network
147048
147049              CLI Example:
147050
147051                 salt '*' neutron.create_network network-name
147052                 salt '*' neutron.create_network network-name profile=openstack1
147053
147054              Parameters
147055
147056                     · name -- Name of network to create
147057
147058                     · admin_state_up  --  should  the state of the network be
147059                       up?  default: True (Optional)
147060
147061                     · router_ext -- True then if create the external  network
147062                       (Optional)
147063
147064                     · network_type  --  the Type of network that the provider
147065                       is such as GRE, VXLAN, VLAN, FLAT, or LOCAL (Optional)
147066
147067                     · physical_network -- the name of the physical network as
147068                       neutron knows it (Optional)
147069
147070                     · segmentation_id -- the vlan id or GRE id (Optional)
147071
147072                     · shared -- is the network shared or not (Optional)
147073
147074                     · profile -- Profile to build on (Optional)
147075
147076              Returns
147077                     Created network information
147078
147079       salt.modules.neutron.create_port(name,     network,     device_id=None,
147080       admin_state_up=True, profile=None)
147081              Creates a new port
147082
147083              CLI Example:
147084
147085                 salt '*' neutron.create_port network-name port-name
147086
147087              Parameters
147088
147089                     · name -- Name of port to create
147090
147091                     · network -- Network name or ID
147092
147093                     · device_id -- ID of device (Optional)
147094
147095                     · admin_state_up -- Set admin state up to true or  false,
147096                       default: true (Optional)
147097
147098                     · profile -- Profile to build on (Optional)
147099
147100              Returns
147101                     Created port information
147102
147103       salt.modules.neutron.create_router(name,              ext_network=None,
147104       admin_state_up=True, profile=None)
147105              Creates a new router
147106
147107              CLI Example:
147108
147109                 salt '*' neutron.create_router new-router-name
147110
147111              Parameters
147112
147113                     · name -- Name of router to create (must be first)
147114
147115                     · ext_network -- ID or name of the external for the gate‐
147116                       way (Optional)
147117
147118                     · admin_state_up  -- Set admin state up to true or false,
147119                       default:true (Optional)
147120
147121                     · profile -- Profile to build on (Optional)
147122
147123              Returns
147124                     Created router information
147125
147126       salt.modules.neutron.create_security_group(name=None, description=None,
147127       profile=None)
147128              Creates a new security group
147129
147130              CLI Example:
147131
147132                 salt '*' neutron.create_security_group security-group-name                 description='Security group for servers'
147133
147134              Parameters
147135
147136                     · name -- Name of security group (Optional)
147137
147138                     · description -- Description of security group (Optional)
147139
147140                     · profile -- Profile to build on (Optional)
147141
147142              Returns
147143                     Created security group information
147144
147145       salt.modules.neutron.create_security_group_rule(security_group,
147146       remote_group_id=None,       direction=u'ingress',        protocol=None,
147147       port_range_min=None,   port_range_max=None,   ethertype=u'IPv4',   pro‐
147148       file=None)
147149              Creates a new security group rule
147150
147151              CLI Example:
147152
147153                 salt '*' neutron.show_security_group_rule security-group-rule-id
147154
147155              Parameters
147156
147157                     · security_group -- Security group name or ID to add rule
147158
147159                     · remote_group_id -- Remote security group name or ID  to
147160                       apply rule (Optional)
147161
147162                     · direction  --  Direction  of  traffic:  ingress/egress,
147163                       default: ingress (Optional)
147164
147165                     · protocol  --  Protocol  of  packet:  null/icmp/tcp/udp,
147166                       default: null (Optional)
147167
147168                     · port_range_min -- Starting port range (Optional)
147169
147170                     · port_range_max -- Ending port range (Optional)
147171
147172                     · ethertype -- IPv4/IPv6, default: IPv4 (Optional)
147173
147174                     · profile -- Profile to build on (Optional)
147175
147176              Returns
147177                     Created security group rule information
147178
147179       salt.modules.neutron.create_subnet(network,  cidr,  name=None,  ip_ver‐
147180       sion=4, profile=None)
147181              Creates a new subnet
147182
147183              CLI Example:
147184
147185                 salt '*' neutron.create_subnet network-name 192.168.1.0/24
147186
147187              Parameters
147188
147189                     · network -- Network ID or name this subnet belongs to
147190
147191                     · cidr -- CIDR of subnet to create (Ex. '192.168.1.0/24')
147192
147193                     · name -- Name of the subnet to create (Optional)
147194
147195                     · ip_version  --  Version  to  use,  default  is  4(IPv4)
147196                       (Optional)
147197
147198                     · profile -- Profile to build on (Optional)
147199
147200              Returns
147201                     Created subnet information
147202
147203       salt.modules.neutron.create_vpnservice(subnet,       router,      name,
147204       admin_state_up=True, profile=None)
147205              Creates a new VPN service
147206
147207              CLI Example:
147208
147209                 salt '*' neutron.create_vpnservice router-name name
147210
147211              Parameters
147212
147213                     · subnet -- Subnet unique identifier for the VPN  service
147214                       deployment
147215
147216                     · router -- Router unique identifier for the VPN service
147217
147218                     · name -- Set a name for the VPN service
147219
147220                     · admin_state_up  -- Set admin state up to true or false,
147221                       default:True (Optional)
147222
147223                     · profile -- Profile to build on (Optional)
147224
147225              Returns
147226                     Created VPN service information
147227
147228       salt.modules.neutron.delete_firewall_rule(firewall_rule, profile=None)
147229              Deletes the specified firewall_rule
147230
147231              CLI Example:
147232
147233                 salt '*' neutron.delete_firewall_rule firewall-rule
147234
147235              Parameters
147236
147237                     · firewall_rule -- ID or name of firewall rule to delete
147238
147239                     · profile -- Profile to build on (Optional)
147240
147241              Returns
147242                     True(Succeed) or False
147243
147244       salt.modules.neutron.delete_floatingip(floatingip_id, profile=None)
147245              Deletes the specified floating IP
147246
147247              CLI Example:
147248
147249                 salt '*' neutron.delete_floatingip floatingip-id
147250
147251              Parameters
147252
147253                     · floatingip_id -- ID of floatingIP to delete
147254
147255                     · profile -- Profile to build on (Optional)
147256
147257              Returns
147258                     True(Succeed) or False
147259
147260       salt.modules.neutron.delete_ikepolicy(ikepolicy, profile=None)
147261              Deletes the specified IKEPolicy
147262
147263              CLI Example:
147264
147265                 salt '*' neutron.delete_ikepolicy ikepolicy-name
147266
147267              Parameters
147268
147269                     · ikepolicy -- ID or name of IKE policy to delete
147270
147271                     · profile -- Profile to build on (Optional)
147272
147273              Returns
147274                     True(Succeed) or False
147275
147276       salt.modules.neutron.delete_ipsec_site_connection(ipsec_site_connec‐
147277       tion, profile=None)
147278              Deletes the specified IPsecSiteConnection
147279
147280              CLI Example:
147281
147282                 salt '*' neutron.delete_ipsec_site_connection connection-name
147283
147284              Parameters
147285
147286                     · ipsec_site_connection  -- ID or name of ipsec site con‐
147287                       nection to delete
147288
147289                     · profile -- Profile to build on (Optional)
147290
147291              Returns
147292                     True(Succeed) or False
147293
147294       salt.modules.neutron.delete_ipsecpolicy(ipsecpolicy, profile=None)
147295              Deletes the specified IPsecPolicy
147296
147297              CLI Example:
147298
147299                 salt '*' neutron.delete_ipsecpolicy ipsecpolicy-name
147300
147301              Parameters
147302
147303                     · ipsecpolicy -- ID or name of IPSec policy to delete
147304
147305                     · profile -- Profile to build on (Optional)
147306
147307              Returns
147308                     True(Succeed) or False
147309
147310       salt.modules.neutron.delete_network(network, profile=None)
147311              Deletes the specified network
147312
147313              CLI Example:
147314
147315                 salt '*' neutron.delete_network network-name
147316                 salt '*' neutron.delete_network network-name profile=openstack1
147317
147318              Parameters
147319
147320                     · network -- ID or name of network to delete
147321
147322                     · profile -- Profile to build on (Optional)
147323
147324              Returns
147325                     True(Succeed) or False
147326
147327       salt.modules.neutron.delete_port(port, profile=None)
147328              Deletes the specified port
147329
147330              CLI Example:
147331
147332                 salt '*' neutron.delete_network port-name
147333                 salt '*' neutron.delete_network port-name profile=openstack1
147334
147335              Parameters
147336
147337                     · port -- port name or ID
147338
147339                     · profile -- Profile to build on (Optional)
147340
147341              Returns
147342                     True(Succeed) or False
147343
147344       salt.modules.neutron.delete_quota(tenant_id, profile=None)
147345              Delete the specified tenant's quota value
147346
147347              CLI Example:
147348
147349                 salt '*' neutron.update_quota tenant-id
147350                 salt '*' neutron.update_quota tenant-id profile=openstack1
147351
147352              Parameters
147353
147354                     · tenant_id -- ID of tenant to quota delete
147355
147356                     · profile -- Profile to build on (Optional)
147357
147358              Returns
147359                     True(Delete succeed) or False(Delete failed)
147360
147361       salt.modules.neutron.delete_router(router, profile=None)
147362              Delete the specified router
147363
147364              CLI Example:
147365
147366                 salt '*' neutron.delete_router router-name
147367
147368              Parameters
147369
147370                     · router -- ID or name of router to delete
147371
147372                     · profile -- Profile to build on (Optional)
147373
147374              Returns
147375                     True(Succeed) or False
147376
147377       salt.modules.neutron.delete_security_group(security_group,         pro‐
147378       file=None)
147379              Deletes the specified security group
147380
147381              CLI Example:
147382
147383                 salt '*' neutron.delete_security_group security-group-name
147384
147385              Parameters
147386
147387                     · security_group  --  ID  or  name  of  security group to
147388                       delete
147389
147390                     · profile -- Profile to build on (Optional)
147391
147392              Returns
147393                     True(Succeed) or False
147394
147395       salt.modules.neutron.delete_security_group_rule(security_group_rule_id,
147396       profile=None)
147397              Deletes the specified security group rule
147398
147399              CLI Example:
147400
147401                 salt '*' neutron.delete_security_group_rule security-group-rule-id
147402
147403              Parameters
147404
147405                     · security_group_rule_id  -- ID of security group rule to
147406                       delete
147407
147408                     · profile -- Profile to build on (Optional)
147409
147410              Returns
147411                     True(Succeed) or False
147412
147413       salt.modules.neutron.delete_subnet(subnet, profile=None)
147414              Deletes the specified subnet
147415
147416              CLI Example:
147417
147418                 salt '*' neutron.delete_subnet subnet-name
147419                 salt '*' neutron.delete_subnet subnet-name profile=openstack1
147420
147421              Parameters
147422
147423                     · subnet -- ID or name of subnet to delete
147424
147425                     · profile -- Profile to build on (Optional)
147426
147427              Returns
147428                     True(Succeed) or False
147429
147430       salt.modules.neutron.delete_vpnservice(vpnservice, profile=None)
147431              Deletes the specified VPN service
147432
147433              CLI Example:
147434
147435                 salt '*' neutron.delete_vpnservice vpnservice-name
147436
147437              Parameters
147438
147439                     · vpnservice -- ID or name of vpn service to delete
147440
147441                     · profile -- Profile to build on (Optional)
147442
147443              Returns
147444                     True(Succeed) or False
147445
147446       salt.modules.neutron.get_quotas_tenant(profile=None)
147447              Fetches tenant info in  server's  context  for  following  quota
147448              operation
147449
147450              CLI Example:
147451
147452                 salt '*' neutron.get_quotas_tenant
147453                 salt '*' neutron.get_quotas_tenant profile=openstack1
147454
147455              Parameters
147456                     profile -- Profile to build on (Optional)
147457
147458              Returns
147459                     Quotas information
147460
147461       salt.modules.neutron.list_agents(profile=None)
147462              List agents.
147463
147464              CLI Example:
147465
147466                 salt '*' neutron.list_agents
147467
147468              Parameters
147469                     profile -- Profile to build on (Optional)
147470
147471              Returns
147472                     agents message.
147473
147474       salt.modules.neutron.list_extensions(profile=None)
147475              Fetches a list of all extensions on server side
147476
147477              CLI Example:
147478
147479                 salt '*' neutron.list_extensions
147480                 salt '*' neutron.list_extensions profile=openstack1
147481
147482              Parameters
147483                     profile -- Profile to build on (Optional)
147484
147485              Returns
147486                     List of extensions
147487
147488       salt.modules.neutron.list_firewall_rules(profile=None)
147489              Fetches a list of all firewall rules for a tenant CLI Example:
147490
147491                 salt '*' neutron.list_firewall_rules
147492
147493              Parameters
147494                     profile -- Profile to build on (Optional)
147495
147496              Returns
147497                     List of firewall rules
147498
147499       salt.modules.neutron.list_firewalls(profile=None)
147500              Fetches a list of all firewalls for a tenant CLI Example:
147501
147502                 salt '*' neutron.list_firewalls
147503
147504              Parameters
147505                     profile -- Profile to build on (Optional)
147506
147507              Returns
147508                     List of firewalls
147509
147510       salt.modules.neutron.list_floatingips(profile=None)
147511              Fetch a list of all floatingIPs for a tenant
147512
147513              CLI Example:
147514
147515                 salt '*' neutron.list_floatingips
147516                 salt '*' neutron.list_floatingips profile=openstack1
147517
147518              Parameters
147519                     profile -- Profile to build on (Optional)
147520
147521              Returns
147522                     List of floatingIP
147523
147524       salt.modules.neutron.list_ikepolicies(profile=None)
147525              Fetches a list of all configured IKEPolicies for a tenant
147526
147527              CLI Example:
147528
147529                 salt '*' neutron.list_ikepolicies
147530                 salt '*' neutron.list_ikepolicies profile=openstack1
147531
147532              Parameters
147533                     profile -- Profile to build on (Optional)
147534
147535              Returns
147536                     List of IKE policy
147537
147538       salt.modules.neutron.list_ipsec_site_connections(profile=None)
147539              Fetches all configured IPsec Site Connections for a tenant
147540
147541              CLI Example:
147542
147543                 salt '*' neutron.list_ipsec_site_connections
147544                 salt '*' neutron.list_ipsec_site_connections profile=openstack1
147545
147546              Parameters
147547                     profile -- Profile to build on (Optional)
147548
147549              Returns
147550                     List of IPSec site connection
147551
147552       salt.modules.neutron.list_ipsecpolicies(profile=None)
147553              Fetches a list of all configured IPsecPolicies for a tenant
147554
147555              CLI Example:
147556
147557                 salt '*' neutron.list_ipsecpolicies ipsecpolicy-name
147558                 salt '*' neutron.list_ipsecpolicies ipsecpolicy-name profile=openstack1
147559
147560              Parameters
147561                     profile -- Profile to build on (Optional)
147562
147563              Returns
147564                     List of IPSec policy
147565
147566       salt.modules.neutron.list_l3_agent_hosting_routers(router,         pro‐
147567       file=None)
147568              List L3 agents hosting a router.
147569
147570              CLI Example:
147571
147572                 salt '*' neutron.list_l3_agent_hosting_routers router
147573
147574              :param router:router name or ID to query.  :param profile:  Pro‐
147575              file to build on (Optional) :return: L3 agents message.
147576
147577       salt.modules.neutron.list_networks(profile=None)
147578              Fetches a list of all networks for a tenant
147579
147580              CLI Example:
147581
147582                 salt '*' neutron.list_networks
147583                 salt '*' neutron.list_networks profile=openstack1
147584
147585              Parameters
147586                     profile -- Profile to build on (Optional)
147587
147588              Returns
147589                     List of network
147590
147591       salt.modules.neutron.list_ports(profile=None)
147592              Fetches a list of all networks for a tenant
147593
147594              CLI Example:
147595
147596                 salt '*' neutron.list_ports
147597                 salt '*' neutron.list_ports profile=openstack1
147598
147599              Parameters
147600                     profile -- Profile to build on (Optional)
147601
147602              Returns
147603                     List of port
147604
147605       salt.modules.neutron.list_quotas(profile=None)
147606              Fetches all tenants quotas
147607
147608              CLI Example:
147609
147610                 salt '*' neutron.list_quotas
147611                 salt '*' neutron.list_quotas profile=openstack1
147612
147613              Parameters
147614                     profile -- Profile to build on (Optional)
147615
147616              Returns
147617                     List of quotas
147618
147619       salt.modules.neutron.list_routers(profile=None)
147620              Fetches a list of all routers for a tenant
147621
147622              CLI Example:
147623
147624                 salt '*' neutron.list_routers
147625                 salt '*' neutron.list_routers profile=openstack1
147626
147627              Parameters
147628                     profile -- Profile to build on (Optional)
147629
147630              Returns
147631                     List of router
147632
147633       salt.modules.neutron.list_security_group_rules(profile=None)
147634              Fetches a list of all security group rules for a tenant
147635
147636              CLI Example:
147637
147638                 salt '*' neutron.list_security_group_rules
147639                 salt '*' neutron.list_security_group_rules profile=openstack1
147640
147641              Parameters
147642                     profile -- Profile to build on (Optional)
147643
147644              Returns
147645                     List of security group rule
147646
147647       salt.modules.neutron.list_security_groups(profile=None)
147648              Fetches a list of all security groups for a tenant
147649
147650              CLI Example:
147651
147652                 salt '*' neutron.list_security_groups
147653                 salt '*' neutron.list_security_groups profile=openstack1
147654
147655              Parameters
147656                     profile -- Profile to build on (Optional)
147657
147658              Returns
147659                     List of security group
147660
147661       salt.modules.neutron.list_subnets(profile=None)
147662              Fetches a list of all networks for a tenant
147663
147664              CLI Example:
147665
147666                 salt '*' neutron.list_subnets
147667                 salt '*' neutron.list_subnets profile=openstack1
147668
147669              Parameters
147670                     profile -- Profile to build on (Optional)
147671
147672              Returns
147673                     List of subnet
147674
147675       salt.modules.neutron.list_vpnservices(retrieve_all=True,  profile=None,
147676       **kwargs)
147677              Fetches a list of all configured VPN services for a tenant
147678
147679              CLI Example:
147680
147681                 salt '*' neutron.list_vpnservices
147682
147683              Parameters
147684
147685                     · retrieve_all -- True or False, default: True (Optional)
147686
147687                     · profile -- Profile to build on (Optional)
147688
147689              Returns
147690                     List of VPN service
147691
147692       salt.modules.neutron.remove_gateway_router(router, profile=None)
147693              Removes an external network gateway from the specified router
147694
147695              CLI Example:
147696
147697                 salt '*' neutron.remove_gateway_router router-name
147698
147699              Parameters
147700
147701                     · router -- ID or name of router
147702
147703                     · profile -- Profile to build on (Optional)
147704
147705              Returns
147706                     True(Succeed) or False
147707
147708       salt.modules.neutron.remove_interface_router(router,    subnet,    pro‐
147709       file=None)
147710              Removes an internal network interface from the specified router
147711
147712              CLI Example:
147713
147714                 salt '*' neutron.remove_interface_router router-name subnet-name
147715
147716              Parameters
147717
147718                     · router -- ID or name of the router
147719
147720                     · subnet -- ID or name of the subnet
147721
147722                     · profile -- Profile to build on (Optional)
147723
147724              Returns
147725                     True(Succeed) or False
147726
147727       salt.modules.neutron.show_firewall(firewall, profile=None)
147728              Fetches information of a specific firewall rule
147729
147730              CLI Example:
147731
147732                 salt '*' neutron.show_firewall firewall
147733
147734              Parameters
147735
147736                     · firewall -- ID or name of firewall to look up
147737
147738                     · profile -- Profile to build on (Optional)
147739
147740              Returns
147741                     firewall information
147742
147743       salt.modules.neutron.show_firewall_rule(firewall_rule, profile=None)
147744              Fetches information of a specific firewall rule
147745
147746              CLI Example:
147747
147748                 salt '*' neutron.show_firewall_rule firewall-rule-name
147749
147750              Parameters
147751
147752                     · ipsecpolicy -- ID or name of firewall rule to look up
147753
147754                     · profile -- Profile to build on (Optional)
147755
147756              Returns
147757                     firewall rule information
147758
147759       salt.modules.neutron.show_floatingip(floatingip_id, profile=None)
147760              Fetches information of a certain floatingIP
147761
147762              CLI Example:
147763
147764                 salt '*' neutron.show_floatingip floatingip-id
147765
147766              Parameters
147767
147768                     · floatingip_id -- ID of floatingIP to look up
147769
147770                     · profile -- Profile to build on (Optional)
147771
147772              Returns
147773                     Floating IP information
147774
147775       salt.modules.neutron.show_ikepolicy(ikepolicy, profile=None)
147776              Fetches information of a specific IKEPolicy
147777
147778              CLI Example:
147779
147780                 salt '*' neutron.show_ikepolicy ikepolicy-name
147781
147782              Parameters
147783
147784                     · ikepolicy -- ID or name of ikepolicy to look up
147785
147786                     · profile -- Profile to build on (Optional)
147787
147788              Returns
147789                     IKE policy information
147790
147791       salt.modules.neutron.show_ipsec_site_connection(ipsec_site_connection,
147792       profile=None)
147793              Fetches information of a specific IPsecSiteConnection
147794
147795              CLI Example:
147796
147797                 salt '*' neutron.show_ipsec_site_connection connection-name
147798
147799              Parameters
147800
147801                     · ipsec_site_connection -- ID or name of ipsec site  con‐
147802                       nection to look up
147803
147804                     · profile -- Profile to build on (Optional)
147805
147806              Returns
147807                     IPSec site connection information
147808
147809       salt.modules.neutron.show_ipsecpolicy(ipsecpolicy, profile=None)
147810              Fetches information of a specific IPsecPolicy
147811
147812              CLI Example:
147813
147814                 salt '*' neutron.show_ipsecpolicy ipsecpolicy-name
147815
147816              Parameters
147817
147818                     · ipsecpolicy -- ID or name of IPSec policy to look up
147819
147820                     · profile -- Profile to build on (Optional)
147821
147822              Returns
147823                     IPSec policy information
147824
147825       salt.modules.neutron.show_network(network, profile=None)
147826              Fetches information of a certain network
147827
147828              CLI Example:
147829
147830                 salt '*' neutron.show_network network-name
147831                 salt '*' neutron.show_network network-name profile=openstack1
147832
147833              Parameters
147834
147835                     · network -- ID or name of network to look up
147836
147837                     · profile -- Profile to build on (Optional)
147838
147839              Returns
147840                     Network information
147841
147842       salt.modules.neutron.show_port(port, profile=None)
147843              Fetches information of a certain port
147844
147845              CLI Example:
147846
147847                 salt '*' neutron.show_port port-id
147848                 salt '*' neutron.show_port port-id profile=openstack1
147849
147850              Parameters
147851
147852                     · port -- ID or name of port to look up
147853
147854                     · profile -- Profile to build on (Optional)
147855
147856              Returns
147857                     Port information
147858
147859       salt.modules.neutron.show_quota(tenant_id, profile=None)
147860              Fetches information of a certain tenant's quotas
147861
147862              CLI Example:
147863
147864                 salt '*' neutron.show_quota tenant-id
147865                 salt '*' neutron.show_quota tenant-id profile=openstack1
147866
147867              Parameters
147868
147869                     · tenant_id -- ID of tenant
147870
147871                     · profile -- Profile to build on (Optional)
147872
147873              Returns
147874                     Quota information
147875
147876       salt.modules.neutron.show_router(router, profile=None)
147877              Fetches information of a certain router
147878
147879              CLI Example:
147880
147881                 salt '*' neutron.show_router router-name
147882
147883              Parameters
147884
147885                     · router -- ID or name of router to look up
147886
147887                     · profile -- Profile to build on (Optional)
147888
147889              Returns
147890                     Router information
147891
147892       salt.modules.neutron.show_security_group(security_group, profile=None)
147893              Fetches information of a certain security group
147894
147895              CLI Example:
147896
147897                 salt '*' neutron.show_security_group security-group-name
147898
147899              Parameters
147900
147901                     · security_group  -- ID or name of security group to look
147902                       up
147903
147904                     · profile -- Profile to build on (Optional)
147905
147906              Returns
147907                     Security group information
147908
147909       salt.modules.neutron.show_security_group_rule(security_group_rule_id,
147910       profile=None)
147911              Fetches information of a certain security group rule
147912
147913              CLI Example:
147914
147915                 salt '*' neutron.show_security_group_rule security-group-rule-id
147916
147917              Parameters
147918
147919                     · security_group_rule_id  -- ID of security group rule to
147920                       look up
147921
147922                     · profile -- Profile to build on (Optional)
147923
147924              Returns
147925                     Security group rule information
147926
147927       salt.modules.neutron.show_subnet(subnet, profile=None)
147928              Fetches information of a certain subnet
147929
147930              CLI Example:
147931
147932                 salt '*' neutron.show_subnet subnet-name
147933
147934              Parameters
147935
147936                     · subnet -- ID or name of subnet to look up
147937
147938                     · profile -- Profile to build on (Optional)
147939
147940              Returns
147941                     Subnet information
147942
147943       salt.modules.neutron.show_vpnservice(vpnservice,          profile=None,
147944       **kwargs)
147945              Fetches information of a specific VPN service
147946
147947              CLI Example:
147948
147949                 salt '*' neutron.show_vpnservice vpnservice-name
147950
147951              Parameters
147952
147953                     · vpnservice -- ID or name of vpn service to look up
147954
147955                     · profile -- Profile to build on (Optional)
147956
147957              Returns
147958                     VPN service information
147959
147960       salt.modules.neutron.update_firewall_rule(firewall_rule, protocol=None,
147961       action=None,     name=None,     description=None,      ip_version=None,
147962       source_ip_address=None,  destination_ip_address=None, source_port=None,
147963       destination_port=None, shared=None, enabled=None, profile=None)
147964              Update a firewall rule
147965
147966              CLI Example:
147967
147968                 salt '*' neutron.update_firewall_rule firewall_rule protocol=PROTOCOL action=ACTION
147969                         name=NAME description=DESCRIPTION ip_version=IP_VERSION
147970                         source_ip_address=SOURCE_IP_ADDRESS destination_ip_address=DESTINATION_IP_ADDRESS
147971                         source_port=SOURCE_PORT destination_port=DESTINATION_PORT shared=SHARED enabled=ENABLED
147972
147973              Parameters
147974
147975                     · firewall_rule -- ID or name of firewall rule to update.
147976
147977                     · protocol -- Protocol  for  the  firewall  rule,  choose
147978                       "tcp","udp","icmp" or "None". (Optional)
147979
147980                     · action  -- Action for the firewall rule, choose "allow"
147981                       or "deny". (Optional)
147982
147983                     · name -- Name for the firewall rule. (Optional)
147984
147985                     · description  --  Description  for  the  firewall  rule.
147986                       (Optional)
147987
147988                     · ip_version   --   IP   protocol  version,  default:  4.
147989                       (Optional)
147990
147991                     · source_ip_address  --  Source  IP  address  or  subnet.
147992                       (Optional)
147993
147994                     · destination_ip_address  --  Destination  IP  address or
147995                       subnet. (Optional)
147996
147997                     · source_port -- Source port (integer in  [1,  65535]  or
147998                       range in a:b). (Optional)
147999
148000                     · destination_port  --  Destination  port (integer in [1,
148001                       65535] or range in a:b). (Optional)
148002
148003                     · shared  --  Set  shared  to   True,   default:   False.
148004                       (Optional)
148005
148006                     · enabled   --   To  enable  this  rule,  default:  True.
148007                       (Optional)
148008
148009                     · profile -- Profile to build on (Optional)
148010
148011       salt.modules.neutron.update_floatingip(floatingip_id,  port=None,  pro‐
148012       file=None)
148013              Updates a floatingIP
148014
148015              CLI Example:
148016
148017                 salt '*' neutron.update_floatingip network-name port-name
148018
148019              Parameters
148020
148021                     · floatingip_id -- ID of floatingIP
148022
148023                     · port  -- ID or name of port, to associate floatingip to
148024                       None or do not specify to disassociate  the  floatingip
148025                       (Optional)
148026
148027                     · profile -- Profile to build on (Optional)
148028
148029              Returns
148030                     Value of updated floating IP information
148031
148032       salt.modules.neutron.update_network(network, name, profile=None)
148033              Updates a network
148034
148035              CLI Example:
148036
148037                 salt '*' neutron.update_network network-name new-network-name
148038
148039              Parameters
148040
148041                     · network -- ID or name of network to update
148042
148043                     · name -- Name of this network
148044
148045                     · profile -- Profile to build on (Optional)
148046
148047              Returns
148048                     Value of updated network information
148049
148050       salt.modules.neutron.update_port(port,  name, admin_state_up=True, pro‐
148051       file=None)
148052              Updates a port
148053
148054              CLI Example:
148055
148056                 salt '*' neutron.update_port port-name network-name new-port-name
148057
148058              Parameters
148059
148060                     · port -- Port name or ID
148061
148062                     · name -- Name of this port
148063
148064                     · admin_state_up -- Set admin state up to true or  false,
148065                       default: true (Optional)
148066
148067                     · profile -- Profile to build on (Optional)
148068
148069              Returns
148070                     Value of updated port information
148071
148072       salt.modules.neutron.update_quota(tenant_id,  subnet=None, router=None,
148073       network=None, floatingip=None,  port=None,  security_group=None,  secu‐
148074       rity_group_rule=None, profile=None)
148075              Update a tenant's quota
148076
148077              CLI Example:
148078
148079                 salt '*' neutron.update_quota tenant-id subnet=40 router=50
148080                                             network=10 floatingip=30 port=30
148081
148082              Parameters
148083
148084                     · tenant_id -- ID of tenant
148085
148086                     · subnet -- Value of subnet quota (Optional)
148087
148088                     · router -- Value of router quota (Optional)
148089
148090                     · network -- Value of network quota (Optional)
148091
148092                     · floatingip -- Value of floatingip quota (Optional)
148093
148094                     · port -- Value of port quota (Optional)
148095
148096                     · security_group -- Value of security group (Optional)
148097
148098                     · security_group_rule  --  Value  of  security group rule
148099                       (Optional)
148100
148101                     · profile -- Profile to build on (Optional)
148102
148103              Returns
148104                     Value of updated quota
148105
148106       salt.modules.neutron.update_router(router,                   name=None,
148107       admin_state_up=None, profile=None, **kwargs)
148108              Updates a router
148109
148110              CLI Example:
148111
148112                 salt '*' neutron.update_router router_id name=new-router-name
148113                         admin_state_up=True
148114
148115              Parameters
148116
148117                     · router -- ID or name of router to update
148118
148119                     · name -- Name of this router
148120
148121                     · ext_network -- ID or name of the external for the gate‐
148122                       way (Optional)
148123
148124                     · admin_state_up -- Set admin state up to true or  false,
148125                       default: true (Optional)
148126
148127                     · profile -- Profile to build on (Optional)
148128
148129                     · kwargs --
148130
148131              Returns
148132                     Value of updated router information
148133
148134       salt.modules.neutron.update_security_group(security_group,   name=None,
148135       description=None, profile=None)
148136              Updates a security group
148137
148138              CLI Example:
148139
148140                 salt '*' neutron.update_security_group security-group-name                 new-security-group-name
148141
148142              Parameters
148143
148144                     · security_group -- ID  or  name  of  security  group  to
148145                       update
148146
148147                     · name -- Name of this security group (Optional)
148148
148149                     · description -- Description of security group (Optional)
148150
148151                     · profile -- Profile to build on (Optional)
148152
148153              Returns
148154                     Value of updated security group information
148155
148156       salt.modules.neutron.update_subnet(subnet, name, profile=None)
148157              Updates a subnet
148158
148159              CLI Example:
148160
148161                 salt '*' neutron.update_subnet subnet-name new-subnet-name
148162
148163              Parameters
148164
148165                     · subnet -- ID or name of subnet to update
148166
148167                     · name -- Name of this subnet
148168
148169                     · profile -- Profile to build on (Optional)
148170
148171              Returns
148172                     Value of updated subnet information
148173
148174       salt.modules.neutron.update_vpnservice(vpnservice, desc, profile=None)
148175              Updates a VPN service
148176
148177              CLI Example:
148178
148179                 salt '*' neutron.update_vpnservice vpnservice-name desc='VPN Service1'
148180
148181              Parameters
148182
148183                     · vpnservice -- ID or name of vpn service to update
148184
148185                     · desc -- Set a description for the VPN service
148186
148187                     · profile -- Profile to build on (Optional)
148188
148189              Returns
148190                     Value of updated VPN service information
148191
148192   salt.modules.neutronng
148193       Neutron module for interacting with OpenStack Neutron
148194
148195       New in version 2018.3.0.
148196
148197
148198       :depends:shade
148199
148200       Example configuration
148201
148202          neutron:
148203            cloud: default
148204
148205          neutron:
148206            auth:
148207              username: admin
148208              password: password123
148209              user_domain_name: mydomain
148210              project_name: myproject
148211              project_domain_name: myproject
148212              auth_url: https://example.org:5000/v3
148213            identity_api_version: 3
148214
148215       salt.modules.neutronng.compare_changes(obj, **kwargs)
148216              Compare  two  dicts  returning only keys that exist in the first
148217              dict and are different in the second one
148218
148219       salt.modules.neutronng.get_openstack_cloud(auth=None)
148220              Return an openstack_cloud
148221
148222       salt.modules.neutronng.get_operator_cloud(auth=None)
148223              Return an operator_cloud
148224
148225       salt.modules.neutronng.list_networks(auth=None, **kwargs)
148226              List networks
148227
148228              filters
148229                     A Python dictionary of filter conditions to push down
148230
148231              CLI Example:
148232
148233                 salt '*' neutronng.list_networks
148234                 salt '*' neutronng.list_networks           filters='{"tenant_id": "1dcac318a83b4610b7a7f7ba01465548"}'
148235
148236       salt.modules.neutronng.list_subnets(auth=None, **kwargs)
148237              List subnets
148238
148239              filters
148240                     A Python dictionary of filter conditions to push down
148241
148242              CLI Example:
148243
148244                 salt '*' neutronng.list_subnets
148245                 salt '*' neutronng.list_subnets           filters='{"tenant_id": "1dcac318a83b4610b7a7f7ba01465548"}'
148246
148247       salt.modules.neutronng.network_create(auth=None, **kwargs)
148248              Create a network
148249
148250              name   Name of the network being created
148251
148252              shared False If True, set the network as shared
148253
148254              admin_state_up
148255                     True If True, Set the  network  administrative  state  to
148256                     "up"
148257
148258              external
148259                     False  Control  whether or not this network is externally
148260                     accessible
148261
148262              provider
148263                     An optional Python dictionary of network provider options
148264
148265              project_id
148266                     The project ID on which this network will be created
148267
148268              CLI Example:
148269
148270                 salt '*' neutronng.network_create name=network2           shared=True admin_state_up=True external=True
148271
148272                 salt '*' neutronng.network_create name=network3           provider='{"network_type": "vlan",                     "segmentation_id": "4010",                     "physical_network": "provider"}'           project_id=1dcac318a83b4610b7a7f7ba01465548
148273
148274       salt.modules.neutronng.network_delete(auth=None, **kwargs)
148275              Delete a network
148276
148277              name_or_id
148278                     Name or ID of the network being deleted
148279
148280              CLI Example:
148281
148282                 salt '*' neutronng.network_delete name_or_id=network1
148283                 salt '*' neutronng.network_delete name_or_id=1dcac318a83b4610b7a7f7ba01465548
148284
148285       salt.modules.neutronng.network_get(auth=None, **kwargs)
148286              Get a single network
148287
148288              filters
148289                     A Python dictionary of filter conditions to push down
148290
148291              CLI Example:
148292
148293                 salt '*' neutronng.network_get name=XLB4
148294
148295       salt.modules.neutronng.security_group_create(auth=None, **kwargs)
148296              Create  a  security  group.  Use  security_group_get  to  create
148297              default.
148298
148299              project_id
148300                     The  project ID on which this security group will be cre‐
148301                     ated
148302
148303              CLI Example:
148304
148305                 salt '*' neutronng.security_group_create name=secgroup1           description="Very secure security group"
148306                 salt '*' neutronng.security_group_create name=secgroup1           description="Very secure security group"           project_id=1dcac318a83b4610b7a7f7ba01465548
148307
148308       salt.modules.neutronng.security_group_delete(auth=None, **kwargs)
148309              Delete a security group
148310
148311              name_or_id
148312                     The name or unique ID of the security group
148313
148314              CLI Example:
148315
148316                 salt '*' neutronng.security_group_delete name_or_id=secgroup1
148317
148318       salt.modules.neutronng.security_group_get(auth=None, **kwargs)
148319              Get a single security group. This will create a default security
148320              group if one does not exist yet for a particular project id.
148321
148322              filters
148323                     A Python dictionary of filter conditions to push down
148324
148325              CLI Example:
148326
148327                 salt '*' neutronng.security_group_get           name=1dcac318a83b4610b7a7f7ba01465548
148328
148329                 salt '*' neutronng.security_group_get           name=default          filters='{"tenant_id":"2e778bb64ca64a199eb526b5958d8710"}'
148330
148331       salt.modules.neutronng.security_group_rule_create(auth=None, **kwargs)
148332              Create a rule in a security group
148333
148334              secgroup_name_or_id
148335                     The  security  group  name  or  ID to associate with this
148336                     security group rule. If a non-unique group name is given,
148337                     an exception is raised.
148338
148339              port_range_min
148340                     The  minimum  port number in the range that is matched by
148341                     the security group rule. If the protocol is TCP  or  UDP,
148342                     this   value   must   be   less  than  or  equal  to  the
148343                     port_range_max attribute value. If nova is  used  by  the
148344                     cloud  provider for security groups, then a value of None
148345                     will be transformed to -1.
148346
148347              port_range_max
148348                     The maximum port number in the range that is  matched  by
148349                     the  security  group  rule.  The port_range_min attribute
148350                     constrains the port_range_max attribute. If nova is  used
148351                     by  the  cloud provider for security groups, then a value
148352                     of None will be transformed to -1.
148353
148354              protocol
148355                     The protocol that is matched by the security group  rule.
148356                     Valid values are None, tcp, udp, and icmp.
148357
148358              remote_ip_prefix
148359                     The  remote IP prefix to be associated with this security
148360                     group rule.  This attribute matches the specified IP pre‐
148361                     fix as the source IP address of the IP packet.
148362
148363              remote_group_id
148364                     The  remote  group ID to be associated with this security
148365                     group rule
148366
148367              direction
148368                     Either ingress or egress;  the  direction  in  which  the
148369                     security  group  rule is applied. For a compute instance,
148370                     an ingress security group rule  is  applied  to  incoming
148371                     (ingress)  traffic  for that instance.  An egress rule is
148372                     applied to traffic leaving the instance
148373
148374              ethertype
148375                     Must be IPv4 or IPv6, and addresses represented  in  CIDR
148376                     must match the ingress or egress rules
148377
148378              project_id
148379                     Specify  the  project ID this security group will be cre‐
148380                     ated on (admin-only)
148381
148382              CLI Example:
148383
148384                 salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=secgroup1
148385
148386                 salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=secgroup2 port_range_min=8080          port_range_max=8080 direction='egress'
148387
148388                 salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=c0e1d1ce-7296-405e-919d-1c08217be529          protocol=icmp project_id=1dcac318a83b4610b7a7f7ba01465548
148389
148390       salt.modules.neutronng.security_group_rule_delete(auth=None, **kwargs)
148391              Delete a security group
148392
148393              name_or_id
148394                     The unique ID of the security group rule
148395
148396              CLI Example:
148397
148398                 salt '*' neutronng.security_group_rule_delete name_or_id=1dcac318a83b4610b7a7f7ba01465548
148399
148400       salt.modules.neutronng.security_group_update(secgroup=None,  auth=None,
148401       **kwargs)
148402              Update a security group
148403
148404              secgroup
148405                     Name, ID or Raw Object of the security group to update
148406
148407              name   New name for the security group
148408
148409              description
148410                     New description for the security group
148411
148412              CLI Example:
148413
148414                 salt '*' neutronng.security_group_update secgroup=secgroup1           description="Very secure security group"
148415                 salt '*' neutronng.security_group_update secgroup=secgroup1           description="Very secure security group"           project_id=1dcac318a83b4610b7a7f7ba01465548
148416
148417       salt.modules.neutronng.setup_clouds(auth=None)
148418              Call  functions  to create Shade cloud objects in __context__ to
148419              take advantage  of  Shade's  in-memory  caching  across  several
148420              states
148421
148422       salt.modules.neutronng.subnet_create(auth=None, **kwargs)
148423              Create a subnet
148424
148425              network_name_or_id
148426                     The  unique  name  or  ID  of  the attached network. If a
148427                     non-unique name is supplied, an exception is raised.
148428
148429              cidr   The CIDR
148430
148431              ip_version
148432                     The IP version, which is 4 or 6.
148433
148434              enable_dhcp
148435                     False Set to True if DHCP is enabled and  False  if  dis‐
148436                     abled
148437
148438              subnet_name
148439                     The name of the subnet
148440
148441              tenant_id
148442                     The  ID of the tenant who owns the network. Only adminis‐
148443                     trative users can specify a tenant ID  other  than  their
148444                     own.
148445
148446              allocation_pools
148447                     A list of dictionaries of the start and end addresses for
148448                     the allocation pools.
148449
148450              gateway_ip
148451                     The gateway IP address. When  you  specify  both  alloca‐
148452                     tion_pools and gateway_ip, you must ensure that the gate‐
148453                     way IP does not overlap  with  the  specified  allocation
148454                     pools.
148455
148456              disable_gateway_ip
148457                     False  Set  to True if gateway IP address is disabled and
148458                     False if enabled. It is not allowed with gateway_ip.
148459
148460              dns_nameservers
148461                     A list of DNS name servers for the subnet
148462
148463              host_routes
148464                     A list of host route dictionaries for the subnet
148465
148466              ipv6_ra_mode
148467                     IPv6  Router  Advertisement  mode.   Valid   values   are
148468                     dhcpv6-stateful, dhcpv6-stateless, or slaac.
148469
148470              ipv6_address_mode
148471                     IPv6  address  mode.  Valid  values  are dhcpv6-stateful,
148472                     dhcpv6-stateless, or slaac.
148473
148474              use_default_subnetpool
148475                     If True, use the default  subnetpool  for  ip_version  to
148476                     obtain  a  CIDR.  It is required to pass None to the cidr
148477                     argument when enabling this option.
148478
148479              CLI Example:
148480
148481                 salt '*' neutronng.subnet_create network_name_or_id=network1
148482                   subnet_name=subnet1
148483
148484                 salt '*' neutronng.subnet_create subnet_name=subnet2          network_name_or_id=network2 enable_dhcp=True           allocation_pools='[{"start": "192.168.199.2",                              "end": "192.168.199.254"}]'          gateway_ip='192.168.199.1' cidr=192.168.199.0/24
148485
148486                 salt '*' neutronng.subnet_create network_name_or_id=network1           subnet_name=subnet1 dns_nameservers='["8.8.8.8", "8.8.8.7"]'
148487
148488       salt.modules.neutronng.subnet_delete(auth=None, **kwargs)
148489              Delete a subnet
148490
148491              name   Name or ID of the subnet to update
148492
148493              CLI Example:
148494
148495                 salt '*' neutronng.subnet_delete name=subnet1
148496                 salt '*' neutronng.subnet_delete           name=1dcac318a83b4610b7a7f7ba01465548
148497
148498       salt.modules.neutronng.subnet_get(auth=None, **kwargs)
148499              Get a single subnet
148500
148501              filters
148502                     A Python dictionary of filter conditions to push down
148503
148504              CLI Example:
148505
148506                 salt '*' neutronng.subnet_get name=subnet1
148507
148508       salt.modules.neutronng.subnet_update(auth=None, **kwargs)
148509              Update a subnet
148510
148511              name_or_id
148512                     Name or ID of the subnet to update
148513
148514              subnet_name
148515                     The new name of the subnet
148516
148517              enable_dhcp
148518                     Set to True if DHCP is enabled and False if disabled
148519
148520              gateway_ip
148521                     The gateway IP address. When  you  specify  both  alloca‐
148522                     tion_pools and gateway_ip, you must ensure that the gate‐
148523                     way IP does not overlap  with  the  specified  allocation
148524                     pools.
148525
148526              disable_gateway_ip
148527                     False  Set  to True if gateway IP address is disabled and
148528                     False if enabled.  It is not allowed with gateway_ip.
148529
148530              allocation_pools
148531                     A list of dictionaries of the start and end addresses for
148532                     the allocation pools.
148533
148534              dns_nameservers
148535                     A list of DNS name servers for the subnet
148536
148537              host_routes
148538                     A list of host route dictionaries for the subnet
148539
148540                 salt '*' neutronng.subnet_update name=subnet1 subnet_name=subnet2
148541                 salt '*' neutronng.subnet_update name=subnet1 dns_nameservers='["8.8.8.8", "8.8.8.7"]'
148542
148543   salt.modules.nfs3
148544       Module for managing NFS version 3.
148545
148546       salt.modules.nfs3.add_export(exports=u'/etc/exports',        path=None,
148547       hosts=None, options=None)
148548              Add an export
148549
148550              CLI Example:
148551
148552                 salt '*' nfs3.add_export path='/srv/test' hosts='127.0.0.1' options=['rw']
148553
148554       salt.modules.nfs3.del_export(exports=u'/etc/exports', path=None)
148555              Remove an export
148556
148557              CLI Example:
148558
148559                 salt '*' nfs.del_export /media/storage
148560
148561       salt.modules.nfs3.list_exports(exports=u'/etc/exports')
148562              List configured exports
148563
148564              CLI Example:
148565
148566                 salt '*' nfs.list_exports
148567
148568       salt.modules.nfs3.reload_exports()
148569              Trigger a reload of the exports file to apply changes
148570
148571              CLI Example:
148572
148573                 salt '*' nfs3.reload_exports
148574
148575   salt.modules.nftables
148576       Support for nftables
148577
148578       salt.modules.nftables.append(table=u'filter',  chain=None,   rule=None,
148579       family=u'ipv4')
148580              Append a rule to the specified table & chain.
148581
148582              This function accepts a rule in a standard nftables command for‐
148583              mat,
148584                     starting with the chain. Trying to force users  to  adapt
148585                     to  a new method of creating rules would be irritating at
148586                     best, and we already have a parser that can handle it.
148587
148588              CLI Example:
148589
148590                 salt '*' nftables.append filter input \
148591                     rule='tcp dport 22 log accept'
148592
148593                 IPv6:
148594                 salt '*' nftables.append filter input \
148595                     rule='tcp dport 22 log accept' \
148596                     family=ipv6
148597
148598       salt.modules.nftables.build_rule(table=None, chain=None,  command=None,
148599       position=u'', full=None, family=u'ipv4', **kwargs)
148600              Build  a  well-formatted nftables rule based on kwargs.  A table
148601              and chain are not required, unless full is True.
148602
148603              If full is True, then table, chain  and  command  are  required.
148604              command  may  be  specified as either insert, append, or delete.
148605              This will return the nftables command, exactly as  it  would  be
148606              used from the command line.
148607
148608              If  a position is required (as with insert or delete), it may be
148609              specified as position. This will only be useful if full is True.
148610
148611              If connstate is passed in, it will automatically be  changed  to
148612              state.
148613
148614              CLI Examples:
148615
148616                 salt '*' nftables.build_rule match=state \
148617                     connstate=RELATED,ESTABLISHED jump=ACCEPT
148618                 salt '*' nftables.build_rule filter input command=insert position=3 \
148619                     full=True match=state state=related,established jump=accept
148620
148621                 IPv6:
148622                 salt '*' nftables.build_rule match=state \
148623                     connstate=related,established jump=accept \
148624                     family=ipv6
148625                 salt '*' nftables.build_rule filter input command=insert position=3 \
148626                     full=True match=state state=related,established jump=accept \
148627                     family=ipv6
148628
148629       salt.modules.nftables.check(table=u'filter',   chain=None,   rule=None,
148630       family=u'ipv4')
148631              Check for the existence of a rule in the table and chain
148632
148633              This function accepts a rule in a standard nftables command for‐
148634              mat,
148635                     starting  with  the chain. Trying to force users to adapt
148636                     to a new method of creating rules would be irritating  at
148637                     best, and we already have a parser that can handle it.
148638
148639              CLI Example:
148640
148641                 salt '*' nftables.check filter input \
148642                     rule='tcp dport 22 log accept'
148643
148644                 IPv6:
148645                 salt '*' nftables.check filter input \
148646                     rule='tcp dport 22 log accept' \
148647                     family=ipv6
148648
148649       salt.modules.nftables.check_chain(table=u'filter',   chain=None,   fam‐
148650       ily=u'ipv4')
148651              New in version 2014.7.0.
148652
148653
148654              Check for the existence of a chain in the table
148655
148656              CLI Example:
148657
148658                 salt '*' nftables.check_chain filter input
148659
148660                 IPv6:
148661                 salt '*' nftables.check_chain filter input family=ipv6
148662
148663       salt.modules.nftables.check_table(table=None, family=u'ipv4')
148664              Check for the existence of a table
148665
148666              CLI Example:
148667
148668                 salt '*' nftables.check_table nat
148669
148670       salt.modules.nftables.delete(table,     chain=None,      position=None,
148671       rule=None, family=u'ipv4')
148672
148673              Delete  a  rule  from  the  specified  table & chain, specifying
148674              either the rule
148675                     in its entirety, or the rule's position in the chain.
148676
148677              This function accepts a rule in a standard nftables command for‐
148678              mat,
148679                     starting  with  the chain. Trying to force users to adapt
148680                     to a new method of creating rules would be irritating  at
148681                     best, and we already have a parser that can handle it.
148682
148683              CLI Examples:
148684
148685                 salt '*' nftables.delete filter input position=3
148686
148687                 salt '*' nftables.delete filter input \
148688                     rule='tcp dport 22 log accept'
148689
148690                 IPv6:
148691                 salt '*' nftables.delete filter input position=3 family=ipv6
148692
148693                 salt '*' nftables.delete filter input \
148694                     rule='tcp dport 22 log accept' \
148695                     family=ipv6
148696
148697       salt.modules.nftables.delete_chain(table=u'filter',   chain=None,  fam‐
148698       ily=u'ipv4')
148699              New in version 2014.7.0.
148700
148701
148702              Delete the chain from the specified table.
148703
148704              CLI Example:
148705
148706                 salt '*' nftables.delete_chain filter input
148707
148708                 salt '*' nftables.delete_chain filter foo
148709
148710                 IPv6:
148711                 salt '*' nftables.delete_chain filter input family=ipv6
148712
148713                 salt '*' nftables.delete_chain filter foo family=ipv6
148714
148715       salt.modules.nftables.delete_table(table, family=u'ipv4')
148716              New in version 2014.7.0.
148717
148718
148719              Create new custom table.
148720
148721              CLI Example:
148722
148723                 salt '*' nftables.delete_table filter
148724
148725                 IPv6:
148726                 salt '*' nftables.delete_table filter family=ipv6
148727
148728       salt.modules.nftables.flush(table=u'filter', chain=u'', family=u'ipv4')
148729              Flush the chain in the specified table, flush all chains in  the
148730              specified table if chain is not specified.
148731
148732              CLI Example:
148733
148734                 salt '*' nftables.flush filter
148735
148736                 salt '*' nftables.flush filter input
148737
148738                 IPv6:
148739                 salt '*' nftables.flush filter input family=ipv6
148740
148741       salt.modules.nftables.get_rule_handle(table=u'filter',      chain=None,
148742       rule=None, family=u'ipv4')
148743              Get the handle for a particular rule
148744
148745              This function accepts a rule in a standard nftables command for‐
148746              mat,
148747                     starting  with  the chain. Trying to force users to adapt
148748                     to a new method of creating rules would be irritating  at
148749                     best, and we already have a parser that can handle it.
148750
148751              CLI Example:
148752
148753                 salt '*' nftables.get_rule_handle filter input \
148754                     rule='tcp dport 22 log accept'
148755
148756                 IPv6:
148757                 salt '*' nftables.get_rule_handle filter input \
148758                     rule='tcp dport 22 log accept' \
148759                     family=ipv6
148760
148761       salt.modules.nftables.get_rules(family=u'ipv4')
148762              Return a data structure of the current, in-memory rules
148763
148764              CLI Example:
148765
148766                 salt '*' nftables.get_rules
148767
148768                 salt '*' nftables.get_rules family=ipv6
148769
148770       salt.modules.nftables.get_saved_rules(conf_file=None)
148771              Return a data structure of the rules in the conf file
148772
148773              CLI Example:
148774
148775                 salt '*' nftables.get_saved_rules
148776
148777       salt.modules.nftables.insert(table=u'filter',     chain=None,     posi‐
148778       tion=None, rule=None, family=u'ipv4')
148779              Insert a rule into the specified table & chain, at the specified
148780              position.
148781
148782              If  position  is  not  specified, rule will be inserted in first
148783              position.
148784
148785              This function accepts a rule in a standard nftables command for‐
148786              mat,
148787                     starting  with  the chain. Trying to force users to adapt
148788                     to a new method of creating rules would be irritating  at
148789                     best, and we already have a parser that can handle it.
148790
148791              CLI Examples:
148792
148793                 salt '*' nftables.insert filter input \
148794                     rule='tcp dport 22 log accept'
148795
148796                 salt '*' nftables.insert filter input position=3 \
148797                     rule='tcp dport 22 log accept'
148798
148799                 IPv6:
148800                 salt '*' nftables.insert filter input \
148801                     rule='tcp dport 22 log accept' \
148802                     family=ipv6
148803
148804                 salt '*' nftables.insert filter input position=3 \
148805                     rule='tcp dport 22 log accept' \
148806                     family=ipv6
148807
148808       salt.modules.nftables.list_tables(family=u'ipv4')
148809              Return a data structure of the current, in-memory tables
148810
148811              CLI Example:
148812
148813                 salt '*' nftables.list_tables
148814
148815                 salt '*' nftables.list_tables family=ipv6
148816
148817       salt.modules.nftables.new_chain(table=u'filter',     chain=None,    ta‐
148818       ble_type=None, hook=None, priority=None, family=u'ipv4')
148819              New in version 2014.7.0.
148820
148821
148822              Create new chain to the specified table.
148823
148824              CLI Example:
148825
148826                 salt '*' nftables.new_chain filter input
148827
148828                 salt '*' nftables.new_chain filter input \
148829                         table_type=filter hook=input priority=0
148830
148831                 salt '*' nftables.new_chain filter foo
148832
148833                 IPv6:
148834                 salt '*' nftables.new_chain filter input family=ipv6
148835
148836                 salt '*' nftables.new_chain filter input \
148837                         table_type=filter hook=input priority=0 family=ipv6
148838
148839                 salt '*' nftables.new_chain filter foo family=ipv6
148840
148841       salt.modules.nftables.new_table(table, family=u'ipv4')
148842              New in version 2014.7.0.
148843
148844
148845              Create new custom table.
148846
148847              CLI Example:
148848
148849                 salt '*' nftables.new_table filter
148850
148851                 IPv6:
148852                 salt '*' nftables.new_table filter family=ipv6
148853
148854       salt.modules.nftables.save(filename=None, family=u'ipv4')
148855              Save the current in-memory rules to disk
148856
148857              CLI Example:
148858
148859                 salt '*' nftables.save /etc/nftables
148860
148861       salt.modules.nftables.version()
148862              Return version from nftables --version
148863
148864              CLI Example:
148865
148866                 salt '*' nftables.version
148867
148868   salt.modules.nginx
148869       Support for nginx
148870
148871       salt.modules.nginx.build_info()
148872              Return server and build arguments
148873
148874              CLI Example:
148875
148876                 salt '*' nginx.build_info
148877
148878       salt.modules.nginx.configtest()
148879              test configuration and exit
148880
148881              CLI Example:
148882
148883                 salt '*' nginx.configtest
148884
148885       salt.modules.nginx.signal(signal=None)
148886              Signals nginx to start, reload, reopen or stop.
148887
148888              CLI Example:
148889
148890                 salt '*' nginx.signal reload
148891
148892       salt.modules.nginx.status(url=u'http://127.0.0.1/status')
148893              Return the data from an  Nginx  status  page  as  a  dictionary.
148894              http://wiki.nginx.org/HttpStubStatusModule
148895
148896              url    The   URL   of   the   status   page.   Defaults   to  '‐
148897                     http://127.0.0.1/status'
148898
148899              CLI Example:
148900
148901                 salt '*' nginx.status
148902
148903       salt.modules.nginx.version()
148904              Return server version from nginx -v
148905
148906              CLI Example:
148907
148908                 salt '*' nginx.version
148909
148910   salt.modules.nilrt_ip module
148911       The networking module for NI Linux Real-Time distro
148912
148913       salt.modules.nilrt_ip.apply_network_settings(**settings)
148914              Apply global network configuration.
148915
148916              CLI Example:
148917
148918                 salt '*' ip.apply_network_settings
148919
148920       salt.modules.nilrt_ip.build_interface(iface,    iface_type,    enabled,
148921       **settings)
148922              Build an interface script for a network interface.
148923
148924              CLI Example:
148925
148926                 salt '*' ip.build_interface eth0 eth <settings>
148927
148928       salt.modules.nilrt_ip.build_network_settings(**settings)
148929              Build the global network script.
148930
148931              CLI Example:
148932
148933                 salt '*' ip.build_network_settings <settings>
148934
148935       salt.modules.nilrt_ip.disable(interface)
148936              Disable the specified interface
148937
148938              Change  adapter  mode  to Disabled. If previous adapter mode was
148939              EtherCAT, the target will need reboot.
148940
148941              Parameters
148942                     interface (str) -- interface label
148943
148944              Returns
148945                     True if the service was disabled, otherwise an  exception
148946                     will be thrown.
148947
148948              Return type
148949                     bool
148950
148951              CLI Example:
148952
148953                 salt '*' ip.disable interface-label
148954
148955       salt.modules.nilrt_ip.down(interface, iface_type=None)
148956              Disable the specified interface
148957
148958              Change  adapter  mode  to Disabled. If previous adapter mode was
148959              EtherCAT, the target will need reboot.
148960
148961              Parameters
148962                     interface (str) -- interface label
148963
148964              Returns
148965                     True if the service was disabled, otherwise an  exception
148966                     will be thrown.
148967
148968              Return type
148969                     bool
148970
148971              CLI Example:
148972
148973                 salt '*' ip.down interface-label
148974
148975       salt.modules.nilrt_ip.enable(interface)
148976              Enable the specified interface
148977
148978              Change  adapter  mode  to  TCP/IP.  If previous adapter mode was
148979              EtherCAT, the target will need reboot.
148980
148981              Parameters
148982                     interface (str) -- interface label
148983
148984              Returns
148985                     True if the service was enabled, otherwise  an  exception
148986                     will be thrown.
148987
148988              Return type
148989                     bool
148990
148991              CLI Example:
148992
148993                 salt '*' ip.enable interface-label
148994
148995       salt.modules.nilrt_ip.get_interface(iface)
148996              Returns details about given interface.
148997
148998              CLI Example:
148999
149000                 salt '*' ip.get_interface eth0
149001
149002       salt.modules.nilrt_ip.get_interfaces_details()
149003              Get details about all the interfaces on the minion
149004
149005              Returns
149006                     information about all interfaces omitting loopback
149007
149008              Return type
149009                     dictionary
149010
149011              CLI Example:
149012
149013                 salt '*' ip.get_interfaces_details
149014
149015       salt.modules.nilrt_ip.get_network_settings()
149016              Return the contents of the global network script.
149017
149018              CLI Example:
149019
149020                 salt '*' ip.get_network_settings
149021
149022       salt.modules.nilrt_ip.set_dhcp_linklocal_all(interface)
149023              Configure specified adapter to use DHCP with linklocal fallback
149024
149025              Change  adapter  mode  to  TCP/IP.  If previous adapter mode was
149026              EtherCAT, the target will need reboot.
149027
149028              Parameters
149029                     interface (str) -- interface label
149030
149031              Returns
149032                     True if the settings were applied, otherwise an exception
149033                     will be thrown.
149034
149035              Return type
149036                     bool
149037
149038              CLI Example:
149039
149040                 salt '*' ip.set_dhcp_linklocal_all interface-label
149041
149042       salt.modules.nilrt_ip.set_dhcp_only_all(interface)
149043              Configure specified adapter to use DHCP only
149044
149045              Change  adapter  mode  to  TCP/IP.  If previous adapter mode was
149046              EtherCAT, the target will need reboot.
149047
149048              Parameters
149049                     interface (str) -- interface label
149050
149051              Returns
149052                     True if the settings were applied, otherwise an exception
149053                     will be thrown.
149054
149055              Return type
149056                     bool
149057
149058              CLI Example:
149059
149060                 salt '*' ip.dhcp_only_all interface-label
149061
149062       salt.modules.nilrt_ip.set_ethercat(interface, master_id)
149063              Configure  specified  adapter  to  use EtherCAT adapter mode. If
149064              successful, the target will need reboot if  it  doesn't  already
149065              use EtherCAT adapter mode, otherwise will return true.
149066
149067              Parameters
149068
149069                     · interface -- interface label
149070
149071                     · master_id -- EtherCAT Master ID
149072
149073              Returns
149074                     True if the settings were applied, otherwise an exception
149075                     will be thrown.
149076
149077              CLI Example:
149078
149079                 salt '*' ip.set_ethercat interface-label master-id
149080
149081       salt.modules.nilrt_ip.set_linklocal_only_all(interface)
149082              Configure specified adapter to use linklocal only
149083
149084              Change adapter mode to TCP/IP.  If  previous  adapter  mode  was
149085              EtherCAT, the target will need reboot.
149086
149087              Parameters
149088                     interface (str) -- interface label
149089
149090              Returns
149091                     True if the settings were applied, otherwise an exception
149092                     will be thrown.
149093
149094              Return type
149095                     bool
149096
149097              CLI Example:
149098
149099                 salt '*' ip.linklocal_only_all interface-label
149100
149101       salt.modules.nilrt_ip.set_static_all(interface, address, netmask, gate‐
149102       way, nameservers)
149103              Configure specified adapter to use ipv4 manual settings
149104
149105              Change  adapter  mode  to  TCP/IP.  If previous adapter mode was
149106              EtherCAT, the target will need reboot.
149107
149108              Parameters
149109
149110                     · interface (str) -- interface label
149111
149112                     · address (str) -- ipv4 address
149113
149114                     · netmask (str) -- ipv4 netmask
149115
149116                     · gateway (str) -- ipv4 gateway
149117
149118                     · nameservers (str) -- list of nameservers servers  sepa‐
149119                       rated by spaces
149120
149121              Returns
149122                     True if the settings were applied, otherwise an exception
149123                     will be thrown.
149124
149125              Return type
149126                     bool
149127
149128              CLI Example:
149129
149130                 salt '*' ip.set_static_all interface-label address netmask gateway nameservers
149131
149132       salt.modules.nilrt_ip.up(interface, iface_type=None)
149133              Enable the specified interface
149134
149135              Change adapter mode to TCP/IP.  If  previous  adapter  mode  was
149136              EtherCAT, the target will need reboot.
149137
149138              Parameters
149139                     interface (str) -- interface label
149140
149141              Returns
149142                     True  if  the service was enabled, otherwise an exception
149143                     will be thrown.
149144
149145              Return type
149146                     bool
149147
149148              CLI Example:
149149
149150                 salt '*' ip.up interface-label
149151
149152   salt.modules.nix
149153   Work with Nix packages
149154       New in version 2017.7.0.
149155
149156
149157       Does not require the machine to be Nixos, just have Nix  installed  and
149158       available  to use for the user running this command. Their profile must
149159       be located in their home, under $HOME/.nix-profile/, and the nix store,
149160       unless  specially  set  up,  should be in /nix. To easily use this with
149161       multiple users or a root user, set up the nix-daemon.
149162
149163       This module exposes most of the common nix  operations.  Currently  not
149164       meant to be run as a pkg module, but explicitly as nix.*.
149165
149166       For more information on nix, see the nix documentation.
149167
149168       salt.modules.nix.collect_garbage()
149169              Completely  removed  all currently 'uninstalled' packages in the
149170              nix store.
149171
149172              Tells the user how many store paths were removed  and  how  much
149173              space was freed.
149174
149175              Returns
149176                     How  much  space  was freed and how many derivations were
149177                     removed
149178
149179              Return type
149180                     str
149181
149182              WARNING:
149183                 This is a destructive action on the nix store.
149184
149185                 salt '*' nix.collect_garbage
149186
149187       salt.modules.nix.install(*pkgs, **kwargs)
149188              Installs a single or multiple packages via nix
149189
149190              Parameters
149191
149192                     · pkgs (list(str)) -- packages to update
149193
149194                     · attributes (bool) -- Pass the list of packages or  sin‐
149195                       gle  package as attribues, not package names.  default:
149196                       False
149197
149198              Returns
149199                     Installed packages. Example element: gcc-3.3.2
149200
149201              Return type
149202                     list(str)
149203
149204                 salt '*' nix.install package [package2 ...]
149205                 salt '*' nix.install attributes=True attr.name [attr.name2 ...]
149206
149207       salt.modules.nix.list_pkgs(installed=True, attributes=True)
149208              Lists installed packages. Due to how nix works, it  defaults  to
149209              just doing a nix-env -q.
149210
149211              Parameters
149212
149213                     · installed  (bool) -- list only installed packages. This
149214                       can be a very long list (12,000+ elements), so  caution
149215                       is advised.  Default: True
149216
149217                     · attributes  (bool)  -- show the attributes of the pack‐
149218                       ages when listing all packages.  Default: True
149219
149220              Returns
149221                     Packages  installed  or  available,  along   with   their
149222                     attributes.
149223
149224              Return type
149225                     list(list(str))
149226
149227                 salt '*' nix.list_pkgs
149228                 salt '*' nix.list_pkgs installed=False
149229
149230       salt.modules.nix.uninstall(*pkgs)
149231              Erases  a  package  from the current nix profile. Nix uninstalls
149232              work differently than other package managers, and  the  symlinks
149233              in  the  profile  are removed, while the actual package remains.
149234              There is also a nix.purge function, to clear the  package  cache
149235              of unused packages.
149236
149237              Parameters
149238                     pkgs (list(str)) -- List, single package to uninstall
149239
149240              Returns
149241                     Packages that have been uninstalled
149242
149243              Return type
149244                     list(str)
149245
149246                 salt '*' nix.uninstall pkg1 [pkg2 ...]
149247
149248       salt.modules.nix.upgrade(*pkgs)
149249              Runs an update operation on the specified packages, or all pack‐
149250              ages if none is specified.
149251
149252              Parameters
149253                     pkgs (list(str)) -- List of packages to update
149254
149255              Returns
149256                     The upgraded packages. Example element: ['libxslt-1.1.0',
149257                     'libxslt-1.1.10']
149258
149259              Return type
149260                     list(tuple(str, str))
149261
149262                 salt '*' nix.update
149263                 salt '*' nix.update pkgs=one,two
149264
149265   salt.modules.nova
149266       Module for handling OpenStack Nova calls
149267
149268       depends
149269
149270              · novaclient Python module
149271
149272       configuration
149273              This  module is not usable until the user, password, tenant, and
149274              auth URL are specified either in a pillar  or  in  the  minion's
149275              config file.  For example:
149276
149277                 keystone.user: admin
149278                 keystone.password: verybadpass
149279                 keystone.tenant: admin
149280                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
149281                 # Optional
149282                 keystone.region_name: 'RegionOne'
149283
149284              If  configuration  for  multiple OpenStack accounts is required,
149285              they can be set up  as  different  configuration  profiles:  For
149286              example:
149287
149288                 openstack1:
149289                   keystone.user: admin
149290                   keystone.password: verybadpass
149291                   keystone.tenant: admin
149292                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
149293
149294                 openstack2:
149295                   keystone.user: admin
149296                   keystone.password: verybadpass
149297                   keystone.tenant: admin
149298                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
149299
149300              With  this configuration in place, any of the nova functions can
149301              make use of a configuration profile by declaring it  explicitly.
149302              For example:
149303
149304                 salt '*' nova.flavor_list profile=openstack1
149305
149306              To  use  keystoneauth1  instead  of  keystoneclient, include the
149307              use_keystoneauth option in the pillar or minion config.
149308
149309              NOTE:
149310                 This is required to use keystone v3 as for authentication.
149311
149312                 keystone.user: admin
149313                 keystone.password: verybadpass
149314                 keystone.tenant: admin
149315                 keystone.auth_url: 'http://127.0.0.1:5000/v3/'
149316                 keystone.use_keystoneauth: true
149317                 keystone.verify: '/path/to/custom/certs/ca-bundle.crt'
149318
149319              NOTE:
149320                 By default the nova module will attempt to verify its connec‐
149321                 tion utilizing the system certificates. If you need to verify
149322                 against another bundle of CA certificates  or  want  to  skip
149323                 verification  altogether  you will need to specify the verify
149324                 option. You can specify True or  False  to  verify  (or  not)
149325                 against  system  certificates, a path to a bundle or CA certs
149326                 to check against, or None to allow keystoneauth to search for
149327                 the certificates on its own. (defaults to True)
149328
149329       salt.modules.nova.boot(name,   flavor_id=0,  image_id=0,  profile=None,
149330       timeout=300)
149331              Boot (create) a new instance
149332
149333              name   Name of the new instance (must be first)
149334
149335              flavor_id
149336                     Unique integer ID for the flavor
149337
149338              image_id
149339                     Unique integer ID for the image
149340
149341              timeout
149342                     How long to wait, after creating the  instance,  for  the
149343                     provider to return information about it (default 300 sec‐
149344                     onds).
149345
149346                     New in version 2014.1.0.
149347
149348
149349              CLI Example:
149350
149351                 salt '*' nova.boot myinstance flavor_id=4596 image_id=2
149352
149353              The flavor_id and image_id are  obtained  from  nova.flavor_list
149354              and nova.image_list
149355
149356                 salt '*' nova.flavor_list
149357                 salt '*' nova.image_list
149358
149359       salt.modules.nova.delete(instance_id, profile=None)
149360              Delete an instance
149361
149362              instance_id
149363                     ID of the instance to be deleted
149364
149365              CLI Example:
149366
149367                 salt '*' nova.delete 1138
149368
149369       salt.modules.nova.flavor_create(name,   flavor_id=0,   ram=0,   disk=0,
149370       vcpus=1, profile=None)
149371              Add a flavor to nova (nova flavor-create). The following parame‐
149372              ters are required:
149373
149374              name   Name of the new flavor (must be first)
149375
149376              flavor_id
149377                     Unique integer ID for the new flavor
149378
149379              ram    Memory size in MB
149380
149381              disk   Disk size in GB
149382
149383              vcpus  Number of vcpus
149384
149385              CLI Example:
149386
149387                 salt '*' nova.flavor_create myflavor flavor_id=6 ram=4096 disk=10 vcpus=1
149388
149389       salt.modules.nova.flavor_delete(flavor_id, profile=None)
149390              Delete a flavor from nova by id (nova flavor-delete)
149391
149392              CLI Example:
149393
149394                 salt '*' nova.flavor_delete 7
149395
149396       salt.modules.nova.flavor_list(profile=None)
149397              Return a list of available flavors (nova flavor-list)
149398
149399              CLI Example:
149400
149401                 salt '*' nova.flavor_list
149402
149403       salt.modules.nova.image_list(name=None, profile=None)
149404              Return  a  list  of  available  images  (nova images-list + nova
149405              image-show) If a name is provided, only that image will be  dis‐
149406              played.
149407
149408              CLI Examples:
149409
149410                 salt '*' nova.image_list
149411                 salt '*' nova.image_list myimage
149412
149413       salt.modules.nova.image_meta_delete(image_id=None,           name=None,
149414       keys=None, profile=None)
149415              Delete a key=value pair from the metadata  for  an  image  (nova
149416              image-meta set)
149417
149418              CLI Examples:
149419
149420                 salt '*' nova.image_meta_delete 6f52b2ff-0b31-4d84-8fd1-af45b84824f6 keys=cheese
149421                 salt '*' nova.image_meta_delete name=myimage keys=salad,beans
149422
149423       salt.modules.nova.image_meta_set(image_id=None,     name=None,     pro‐
149424       file=None, **kwargs)
149425              Sets a key=value  pair  in  the  metadata  for  an  image  (nova
149426              image-meta set)
149427
149428              CLI Examples:
149429
149430                 salt '*' nova.image_meta_set 6f52b2ff-0b31-4d84-8fd1-af45b84824f6 cheese=gruyere
149431                 salt '*' nova.image_meta_set name=myimage salad=pasta beans=baked
149432
149433       salt.modules.nova.keypair_add(name,   pubfile=None,  pubkey=None,  pro‐
149434       file=None)
149435              Add a keypair to nova (nova keypair-add)
149436
149437              CLI Examples:
149438
149439                 salt '*' nova.keypair_add mykey pubfile=/home/myuser/.ssh/id_rsa.pub
149440                 salt '*' nova.keypair_add mykey pubkey='ssh-rsa <key> myuser@mybox'
149441
149442       salt.modules.nova.keypair_delete(name, profile=None)
149443              Add a keypair to nova (nova keypair-delete)
149444
149445              CLI Example:
149446
149447                 salt '*' nova.keypair_delete mykey
149448
149449       salt.modules.nova.keypair_list(profile=None)
149450              Return a list of available keypairs (nova keypair-list)
149451
149452              CLI Example:
149453
149454                 salt '*' nova.keypair_list
149455
149456       salt.modules.nova.list_(profile=None)
149457              To maintain the feel of the nova  command  line,  this  function
149458              simply calls the server_list function.
149459
149460              CLI Example:
149461
149462                 salt '*' nova.list
149463
149464       salt.modules.nova.lock(instance_id, profile=None)
149465              Lock an instance
149466
149467              instance_id
149468                     ID of the instance to be locked
149469
149470              CLI Example:
149471
149472                 salt '*' nova.lock 1138
149473
149474       salt.modules.nova.resume(instance_id, profile=None)
149475              Resume an instance
149476
149477              instance_id
149478                     ID of the instance to be resumed
149479
149480              CLI Example:
149481
149482                 salt '*' nova.resume 1138
149483
149484       salt.modules.nova.secgroup_create(name, description, profile=None)
149485              Add a secgroup to nova (nova secgroup-create)
149486
149487              CLI Example:
149488
149489                 salt '*' nova.secgroup_create mygroup 'This is my security group'
149490
149491       salt.modules.nova.secgroup_delete(name, profile=None)
149492              Delete a secgroup to nova (nova secgroup-delete)
149493
149494              CLI Example:
149495
149496                 salt '*' nova.secgroup_delete mygroup
149497
149498       salt.modules.nova.secgroup_list(profile=None)
149499              Return a list of available security groups (nova items-list)
149500
149501              CLI Example:
149502
149503                 salt '*' nova.secgroup_list
149504
149505       salt.modules.nova.server_by_name(name, profile=None)
149506              Return information about a server
149507
149508              name   Server Name
149509
149510              CLI Example:
149511
149512                 salt '*' nova.server_by_name myserver profile=openstack
149513
149514       salt.modules.nova.server_list(profile=None)
149515              Return list of active servers
149516
149517              CLI Example:
149518
149519                 salt '*' nova.server_list
149520
149521       salt.modules.nova.server_list_detailed(profile=None)
149522              Return detailed list of active servers
149523
149524              CLI Example:
149525
149526                 salt '*' nova.server_list_detailed
149527
149528       salt.modules.nova.server_show(server_id, profile=None)
149529              Return detailed information for an active server
149530
149531              CLI Example:
149532
149533                 salt '*' nova.server_show <server_id>
149534
149535       salt.modules.nova.show(server_id, profile=None)
149536              To  maintain  the  feel  of the nova command line, this function
149537              simply calls the server_show function.
149538
149539              CLI Example:
149540
149541                 salt '*' nova.show
149542
149543       salt.modules.nova.suspend(instance_id, profile=None)
149544              Suspend an instance
149545
149546              instance_id
149547                     ID of the instance to be suspended
149548
149549              CLI Example:
149550
149551                 salt '*' nova.suspend 1138
149552
149553       salt.modules.nova.volume_attach(name, server_name, device=u'/dev/xvdb',
149554       profile=None, timeout=300)
149555              Attach a block storage volume
149556
149557              name   Name of the new volume to attach
149558
149559              server_name
149560                     Name of the server to attach to
149561
149562              device Name of the device on the server
149563
149564              profile
149565                     Profile to build on
149566
149567              CLI Example:
149568
149569                 salt '*' nova.volume_attach myblock slice.example.com profile=openstack
149570                 salt '*' nova.volume_attach myblock server.example.com device='/dev/xvdb' profile=openstack
149571
149572       salt.modules.nova.volume_create(name,      size=100,     snapshot=None,
149573       voltype=None, profile=None)
149574              Create a block storage volume
149575
149576              name   Name of the new volume (must be first)
149577
149578              size   Volume size
149579
149580              snapshot
149581                     Block storage snapshot id
149582
149583              voltype
149584                     Type of storage
149585
149586              profile
149587                     Profile to build on
149588
149589              CLI Example:
149590
149591                 salt '*' nova.volume_create myblock size=300 profile=openstack
149592
149593       salt.modules.nova.volume_delete(name, profile=None)
149594              Destroy the volume
149595
149596              name   Name of the volume
149597
149598              profile
149599                     Profile to build on
149600
149601              CLI Example:
149602
149603                 salt '*' nova.volume_delete myblock profile=openstack
149604
149605       salt.modules.nova.volume_detach(name, profile=None, timeout=300)
149606              Attach a block storage volume
149607
149608              name   Name of the new volume to attach
149609
149610              server_name
149611                     Name of the server to detach from
149612
149613              profile
149614                     Profile to build on
149615
149616              CLI Example:
149617
149618                 salt '*' nova.volume_detach myblock profile=openstack
149619
149620       salt.modules.nova.volume_list(search_opts=None, profile=None)
149621              List storage volumes
149622
149623              search_opts
149624                     Dictionary of search options
149625
149626              profile
149627                     Profile to use
149628
149629              CLI Example:
149630
149631                 salt '*' nova.volume_list search_opts='{"display_name": "myblock"}' profile=openstack
149632
149633       salt.modules.nova.volume_show(name, profile=None)
149634              Create a block storage volume
149635
149636              name   Name of the volume
149637
149638              profile
149639                     Profile to use
149640
149641              CLI Example:
149642
149643                 salt '*' nova.volume_show myblock profile=openstack
149644
149645   salt.modules.npm
149646       Manage and query NPM packages.
149647
149648       salt.modules.npm.cache_clean(path=None,      runas=None,      env=None,
149649       force=False)
149650              Clean cached NPM packages.
149651
149652              If  no  path for a specific package is provided the entire cache
149653              will be cleared.
149654
149655              path   The cache subpath to delete, or None to clear the  entire
149656                     cache
149657
149658              runas  The user to run NPM with
149659
149660              env    Environment  variables to set when invoking npm. Uses the
149661                     same env format as the cmd.run execution function.
149662
149663              force  Force cleaning of cache.  Required for npm@5 and greater
149664
149665                     New in version 2016.11.6.
149666
149667
149668              CLI Example:
149669
149670                 salt '*' npm.cache_clean force=True
149671
149672       salt.modules.npm.cache_list(path=None, runas=None, env=None)
149673              List NPM cached packages.
149674
149675              If no path for a specific package is provided this will list all
149676              the cached packages.
149677
149678              path   The  cache  subpath  to  list, or None to list the entire
149679                     cache
149680
149681              runas  The user to run NPM with
149682
149683              env    Environment variables to set when invoking npm. Uses  the
149684                     same env format as the cmd.run execution function.
149685
149686              CLI Example:
149687
149688                 salt '*' npm.cache_clean
149689
149690       salt.modules.npm.cache_path(runas=None, env=None)
149691              List path of the NPM cache directory.
149692
149693              runas  The user to run NPM with
149694
149695              env    Environment  variables to set when invoking npm. Uses the
149696                     same env format as the cmd.run execution function.
149697
149698              CLI Example:
149699
149700                 salt '*' npm.cache_path
149701
149702       salt.modules.npm.install(pkg=None,  pkgs=None,  dir=None,   runas=None,
149703       registry=None, env=None, dry_run=False, silent=True)
149704              Install an NPM package.
149705
149706              If  no  directory  is  specified,  the package will be installed
149707              globally. If no package is  specified,  the  dependencies  (from
149708              package.json)  of  the  package  in  the given directory will be
149709              installed.
149710
149711              pkg    A package name in any format accepted by NPM, including a
149712                     version identifier
149713
149714              pkgs   A  list  of  package names in the same format as the name
149715                     parameter
149716
149717                     New in version 2014.7.0.
149718
149719
149720              dir    The target directory in which to install the package,  or
149721                     None for global installation
149722
149723              runas  The user to run NPM with
149724
149725              registry
149726                     The NPM registry to install the package from.
149727
149728                     New in version 2014.7.0.
149729
149730
149731              env    Environment  variables to set when invoking npm. Uses the
149732                     same env format as the cmd.run execution function.
149733
149734                     New in version 2014.7.0.
149735
149736
149737              silent Whether or not to run NPM install with --silent flag.
149738
149739                     New in version 2016.3.0.
149740
149741
149742              dry_run
149743                     Whether or not to run NPM install with --dry-run flag.
149744
149745                     New in version 2015.8.4.
149746
149747
149748              silent Whether or not to run NPM install with --silent flag.
149749
149750                     New in version 2015.8.5.
149751
149752
149753              CLI Example:
149754
149755                 salt '*' npm.install coffee-script
149756
149757                 salt '*' npm.install coffee-script@1.0.1
149758
149759       salt.modules.npm.list_(pkg=None,   dir=None,   runas=None,    env=None,
149760       depth=None)
149761              List installed NPM packages.
149762
149763              If no directory is specified, this will return the list of glob‐
149764              ally- installed packages.
149765
149766              pkg    Limit package listing by name
149767
149768              dir    The directory whose packages will be listed, or None  for
149769                     global installation
149770
149771              runas  The user to run NPM with
149772
149773                     New in version 2014.7.0.
149774
149775
149776              env    Environment  variables to set when invoking npm. Uses the
149777                     same env format as the cmd.run execution function.
149778
149779                     New in version 2014.7.0.
149780
149781
149782              depth  Limit the depth of the packages listed
149783
149784                     New in version 2016.11.6,2017.7.0.
149785
149786
149787              CLI Example:
149788
149789                 salt '*' npm.list
149790
149791       salt.modules.npm.uninstall(pkg, dir=None, runas=None, env=None)
149792              Uninstall an NPM package.
149793
149794              If no directory is specified, the package  will  be  uninstalled
149795              globally.
149796
149797              pkg    A package name in any format accepted by NPM
149798
149799              dir    The target directory from which to uninstall the package,
149800                     or None for global installation
149801
149802              runas  The user to run NPM with
149803
149804              env    Environment variables to set when invoking npm. Uses  the
149805                     same env format as the cmd.run execution function.
149806
149807                     New in version 2015.5.3.
149808
149809
149810              CLI Example:
149811
149812                 salt '*' npm.uninstall coffee-script
149813
149814   salt.modules.nspawn
149815       Manage nspawn containers
149816
149817       New in version 2015.8.0.
149818
149819
149820       systemd-nspawn(1)  is  a tool used to manage lightweight namespace con‐
149821       tainers. This execution module provides several functions to help  man‐
149822       age these containers.
149823
149824       Minions   running   systemd   >=  219  will  place  new  containers  in
149825       /var/lib/machines, while those running systemd < 219 will place them in
149826       /var/lib/container.
149827
149828       salt.modules.nspawn.bootstrap_container(name, dist=None, version=None)
149829              Bootstrap  a container from package servers, if dist is None the
149830              os the minion is running  as  will  be  created,  otherwise  the
149831              needed  bootstrapping  tools  will  need  to be available on the
149832              host.
149833
149834              CLI Example:
149835
149836                 salt myminion nspawn.bootstrap_container <name>
149837
149838       salt.modules.nspawn.bootstrap_salt(name, config=None, approve_key=True,
149839       install=True,    pub_key=None,    priv_key=None,    bootstrap_url=None,
149840       force_install=False, unconditional_install=False, bootstrap_delay=None,
149841       bootstrap_args=None, bootstrap_shell=None)
149842              Bootstrap  a container from package servers, if dist is None the
149843              os the minion is running  as  will  be  created,  otherwise  the
149844              needed  bootstrapping  tools  will  need  to be available on the
149845              host.
149846
149847              CLI Example:
149848
149849                 salt '*' nspawn.bootstrap_salt arch1
149850
149851       salt.modules.nspawn.copy_to(name, *args, **kwargs)
149852              Copy a file from the host into a container
149853
149854              name   Container name
149855
149856              source File to be copied to the container
149857
149858              dest   Destination on the container. Must be an absolute path.
149859
149860              overwrite
149861                     False Unless this option is set to True, then if  a  file
149862                     exists at the location specified by the dest argument, an
149863                     error will be raised.
149864
149865              makedirs : False
149866                 Create the parent directory on the container if it  does  not
149867                 already exist.
149868
149869              CLI Example:
149870
149871                 salt 'minion' nspawn.copy_to /tmp/foo /root/foo
149872
149873       salt.modules.nspawn.disable(name, *args, **kwargs)
149874              Set the named container to not be launched at boot
149875
149876              CLI Example:
149877
149878                 salt myminion nspawn.enable <name>
149879
149880       salt.modules.nspawn.enable(name, *args, **kwargs)
149881              Set the named container to be launched at boot
149882
149883              CLI Example:
149884
149885                 salt myminion nspawn.enable <name>
149886
149887       salt.modules.nspawn.exists(name)
149888              Returns true if the named container exists
149889
149890              CLI Example:
149891
149892                 salt myminion nspawn.exists <name>
149893
149894       salt.modules.nspawn.info(name, **kwargs)
149895              Return info about a container
149896
149897              NOTE:
149898                 The container must be running for machinectl to gather infor‐
149899                 mation about it. If the container is stopped, then this func‐
149900                 tion will start it.
149901
149902              start  False  If  True,  then  the  container will be started to
149903                     retrieve the info. A Started key will be  in  the  return
149904                     data if the container was started.
149905
149906              CLI Example:
149907
149908                 salt myminion nspawn.info arch1
149909                 salt myminion nspawn.info arch1 force_start=False
149910
149911       salt.modules.nspawn.list_all()
149912              Lists all nspawn containers
149913
149914              CLI Example:
149915
149916                 salt myminion nspawn.list_all
149917
149918       salt.modules.nspawn.list_running()
149919              Lists running nspawn containers
149920
149921              NOTE:
149922                 nspawn.list also works to list running containers
149923
149924              CLI Example:
149925
149926                 salt myminion nspawn.list_running
149927                 salt myminion nspawn.list
149928
149929       salt.modules.nspawn.list_stopped()
149930              Lists stopped nspawn containers
149931
149932              CLI Example:
149933
149934                 salt myminion nspawn.list_stopped
149935
149936       salt.modules.nspawn.pid(name, *args, **kwargs)
149937              Returns the PID of a container
149938
149939              name   Container name
149940
149941              CLI Example:
149942
149943                 salt myminion nspawn.pid arch1
149944
149945       salt.modules.nspawn.poweroff(name)
149946              Issue  a clean shutdown to the container.  Equivalent to running
149947              machinectl poweroff on the named container.
149948
149949              For convenience, running nspawn.stop``(as shown in the CLI exam‐
149950              ples below) is equivalent to running ``nspawn.poweroff.
149951
149952              NOTE:
149953                 machinectl  poweroff  is only supported in systemd >= 219. On
149954                 earlier systemd versions, running this function  will  simply
149955                 issue a clean shutdown via systemctl.
149956
149957              CLI Examples:
149958
149959                 salt myminion nspawn.poweroff arch1
149960                 salt myminion nspawn.stop arch1
149961
149962       salt.modules.nspawn.pull_dkr(url, name, index)
149963              Execute a machinectl pull-dkr to download a docker image and add
149964              it to /var/lib/machines as a new container.
149965
149966              NOTE:
149967                 Requires systemd >= 219
149968
149969              url    URL from which to download the container
149970
149971              name   Name for the new container
149972
149973              index  URL of the Docker index server from which to  pull  (must
149974                     be an http:// or https:// URL).
149975
149976              CLI Examples:
149977
149978                 salt myminion nspawn.pull_dkr centos/centos6 cent6 index=https://get.docker.com
149979                 salt myminion nspawn.pull_docker centos/centos6 cent6 index=https://get.docker.com
149980
149981       salt.modules.nspawn.pull_raw(url, name, verify=False)
149982              Execute  a  machinectl pull-raw to download a .qcow2 or raw disk
149983              image, and add it to /var/lib/machines as a new container.
149984
149985              NOTE:
149986                 Requires systemd >= 219
149987
149988              url    URL from which to download the container
149989
149990              name   Name for the new container
149991
149992              verify False Perform signature or checksum verification  on  the
149993                     container. See the machinectl(1) man page (section titled
149994                     "Image  Transfer  Commands")  for  more  information   on
149995                     requirements for image verification. To perform signature
149996                     verification, use verify=signature. For checksum  verifi‐
149997                     cation,  use verify=checksum. By default, no verification
149998                     will be performed.
149999
150000              CLI Examples:
150001
150002                 salt myminion nspawn.pull_raw http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/21/Cloud/Images/x86_64/Fedora-Cloud-Base-20141203-21.x86_64.raw.xz fedora21
150003
150004       salt.modules.nspawn.pull_tar(url, name, verify=False)
150005              Execute a machinectl  pull-raw  to  download  a  .tar  container
150006              image, and add it to /var/lib/machines as a new container.
150007
150008              NOTE:
150009                 Requires systemd >= 219
150010
150011              url    URL from which to download the container
150012
150013              name   Name for the new container
150014
150015              verify False  Perform  signature or checksum verification on the
150016                     container. See the machinectl(1) man page (section titled
150017                     "Image   Transfer  Commands")  for  more  information  on
150018                     requirements for image verification. To perform signature
150019                     verification,  use verify=signature. For checksum verifi‐
150020                     cation, use verify=checksum. By default, no  verification
150021                     will be performed.
150022
150023              CLI Examples:
150024
150025                 salt myminion nspawn.pull_tar http://foo.domain.tld/containers/archlinux-2015.02.01.tar.gz arch2
150026
150027       salt.modules.nspawn.reboot(name, *args, **kwargs)
150028              Reboot  the  container  by sending a SIGINT to its init process.
150029              Equivalent to running machinectl reboot on the named container.
150030
150031              For convenience, running nspawn.restart (as  shown  in  the  CLI
150032              examples below) is equivalent to running nspawn.reboot.
150033
150034              NOTE:
150035                 machinectl  reboot  is  only  supported in systemd >= 219. On
150036                 earlier systemd versions, running this function will  instead
150037                 restart the container via systemctl.
150038
150039              CLI Examples:
150040
150041                 salt myminion nspawn.reboot arch1
150042                 salt myminion nspawn.restart arch1
150043
150044       salt.modules.nspawn.remove(name, *args, **kwargs)
150045              Remove the named container
150046
150047              WARNING:
150048                 This  function  will remove all data associated with the con‐
150049                 tainer. It will not, however,  remove  the  btrfs  subvolumes
150050                 created   by   pulling   container  images  (nspawn.pull_raw,
150051                 nspawn.pull_tar, nspawn.pull_dkr).
150052
150053              stop   False If True, the container will be destroyed even if it
150054                     is running/frozen.
150055
150056              CLI Examples:
150057
150058                 salt '*' nspawn.remove foo
150059                 salt '*' nspawn.remove foo stop=True
150060
150061       salt.modules.nspawn.retcode(name,     cmd,     no_start=False,     pre‐
150062       serve_state=True,       stdin=None,       python_shell=True,       out‐
150063       put_loglevel=u'debug',        use_vt=False,       ignore_retcode=False,
150064       keep_env=None)
150065              Run cmd.retcode within a container
150066
150067              name   Name of the container in which to run the command
150068
150069              cmd    Command to run
150070
150071              no_start
150072                     False If the container is not running, don't start it
150073
150074              preserve_state
150075                     True After running the command, return the  container  to
150076                     its previous state
150077
150078              stdin  None Standard input to be used for the command
150079
150080              output_loglevel
150081                     debug  Level at which to log the output from the command.
150082                     Set to quiet to suppress logging.
150083
150084              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
150085                     sole. Assumes output=all.
150086
150087              keep_env
150088                     None  If not passed, only a sane default PATH environment
150089                     variable will be set. If True, all environment  variables
150090                     from  the  container's  host  will  be kept. Otherwise, a
150091                     comma-separated list  (or  Python  list)  of  environment
150092                     variable names can be passed, and those environment vari‐
150093                     ables will be kept.
150094
150095              CLI Example:
150096
150097                 salt myminion nspawn.retcode mycontainer 'ip addr show'
150098
150099       salt.modules.nspawn.run(name, cmd, no_start=False, preserve_state=True,
150100       stdin=None,  python_shell=True, output_loglevel=u'debug', use_vt=False,
150101       ignore_retcode=False, keep_env=None)
150102              Run cmd.run within a container
150103
150104              name   Name of the container in which to run the command
150105
150106              cmd    Command to run
150107
150108              no_start
150109                     False If the container is not running, don't start it
150110
150111              preserve_state
150112                     True After running the command, return the  container  to
150113                     its previous state
150114
150115              stdin  None Standard input to be used for the command
150116
150117              output_loglevel
150118                     debug  Level at which to log the output from the command.
150119                     Set to quiet to suppress logging.
150120
150121              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
150122                     sole.
150123
150124              keep_env
150125                     None  If not passed, only a sane default PATH environment
150126                     variable will be set. If True, all environment  variables
150127                     from  the  container's  host  will  be kept. Otherwise, a
150128                     comma-separated list  (or  Python  list)  of  environment
150129                     variable names can be passed, and those environment vari‐
150130                     ables will be kept.
150131
150132              CLI Example:
150133
150134                 salt myminion nspawn.run mycontainer 'ifconfig -a'
150135
150136       salt.modules.nspawn.run_all(name,     cmd,     no_start=False,     pre‐
150137       serve_state=True,       stdin=None,       python_shell=True,       out‐
150138       put_loglevel=u'debug',       use_vt=False,        ignore_retcode=False,
150139       keep_env=None)
150140              Run cmd.run_all within a container
150141
150142              NOTE:
150143                 While  the  command is run within the container, it is initi‐
150144                 ated from the host. Therefore, the PID in the return dict  is
150145                 from the host, not from the container.
150146
150147              name   Name of the container in which to run the command
150148
150149              cmd    Command to run
150150
150151              no_start
150152                     False If the container is not running, don't start it
150153
150154              preserve_state
150155                     True  After  running the command, return the container to
150156                     its previous state
150157
150158              stdin  None Standard input to be used for the command
150159
150160              output_loglevel
150161                     debug Level at which to log the output from the  command.
150162                     Set to quiet to suppress logging.
150163
150164              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
150165                     sole. Assumes output=all.
150166
150167              keep_env
150168                     None If not passed, only a sane default PATH  environment
150169                     variable  will be set. If True, all environment variables
150170                     from the container's host  will  be  kept.  Otherwise,  a
150171                     comma-separated  list  (or  Python  list)  of environment
150172                     variable names can be passed, and those environment vari‐
150173                     ables will be kept.
150174
150175              CLI Example:
150176
150177                 salt myminion nspawn.run_all mycontainer 'ip addr show'
150178
150179       salt.modules.nspawn.run_stderr(name,    cmd,    no_start=False,    pre‐
150180       serve_state=True,       stdin=None,       python_shell=True,       out‐
150181       put_loglevel=u'debug',        use_vt=False,       ignore_retcode=False,
150182       keep_env=None)
150183              Run cmd.run_stderr within a container
150184
150185              name   Name of the container in which to run the command
150186
150187              cmd    Command to run
150188
150189              no_start
150190                     False If the container is not running, don't start it
150191
150192              preserve_state
150193                     True After running the command, return the  container  to
150194                     its previous state
150195
150196              stdin  None Standard input to be used for the command
150197
150198              output_loglevel
150199                     debug  Level at which to log the output from the command.
150200                     Set to quiet to suppress logging.
150201
150202              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
150203                     sole. Assumes output=all.
150204
150205              keep_env
150206                     None  If not passed, only a sane default PATH environment
150207                     variable will be set. If True, all environment  variables
150208                     from  the  container's  host  will  be kept. Otherwise, a
150209                     comma-separated list  (or  Python  list)  of  environment
150210                     variable names can be passed, and those environment vari‐
150211                     ables will be kept.
150212
150213              CLI Example:
150214
150215                 salt myminion nspawn.run_stderr mycontainer 'ip addr show'
150216
150217       salt.modules.nspawn.run_stdout(name,    cmd,    no_start=False,    pre‐
150218       serve_state=True,       stdin=None,       python_shell=True,       out‐
150219       put_loglevel=u'debug',       use_vt=False,        ignore_retcode=False,
150220       keep_env=None)
150221              Run cmd.run_stdout within a container
150222
150223              name   Name of the container in which to run the command
150224
150225              cmd    Command to run
150226
150227              no_start
150228                     False If the container is not running, don't start it
150229
150230              preserve_state
150231                     True  After  running the command, return the container to
150232                     its previous state
150233
150234              stdin  None Standard input to be used for the command
150235
150236              output_loglevel
150237                     debug Level at which to log the output from the  command.
150238                     Set to quiet to suppress logging.
150239
150240              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
150241                     sole. Assumes output=all.
150242
150243              keep_env
150244                     None If not passed, only a sane default PATH  environment
150245                     variable  will be set. If True, all environment variables
150246                     from the container's host  will  be  kept.  Otherwise,  a
150247                     comma-separated  list  (or  Python  list)  of environment
150248                     variable names can be passed, and those environment vari‐
150249                     ables will be kept.
150250
150251              CLI Example:
150252
150253                 salt myminion nspawn.run_stdout mycontainer 'ifconfig -a'
150254
150255       salt.modules.nspawn.start(name, *args, **kwargs)
150256              Start the named container
150257
150258              CLI Example:
150259
150260                 salt myminion nspawn.start <name>
150261
150262       salt.modules.nspawn.state(name, *args, **kwargs)
150263              Return state of container (running or stopped)
150264
150265              CLI Example:
150266
150267                 salt myminion nspawn.state <name>
150268
150269       salt.modules.nspawn.terminate(name)
150270              Kill  all  processes  in  the  container without issuing a clean
150271              shutdown.  Equivalent to running  machinectl  terminate  on  the
150272              named container.
150273
150274              For  convenience,  running nspawn.stop and passing kill=True (as
150275              shown in the  CLI  examples  below)  is  equivalent  to  running
150276              nspawn.terminate.
150277
150278              NOTE:
150279                 machinectl  terminate is only supported in systemd >= 219. On
150280                 earlier systemd versions, running this function  will  simply
150281                 issue a clean shutdown via systemctl.
150282
150283              CLI Examples:
150284
150285                 salt myminion nspawn.terminate arch1
150286                 salt myminion nspawn.stop arch1 kill=True
150287
150288   salt.modules.nxos module
150289       Execution module for Cisco NX OS Switches Proxy minions
150290
150291       New in version 2016.11.0.
150292
150293
150294       For documentation on setting up the nxos proxy minion look in the docu‐
150295       mentation for salt.proxy.nxos.
150296
150297       salt.modules.nxos.cmd(command, *args, **kwargs)
150298              run commands from __proxy__ salt.proxy.nxos
150299
150300              command
150301                     function from salt.proxy.nxos to run
150302
150303              args   positional args to pass to command function
150304
150305              kwargs key word arguments to pass to command function
150306
150307                 salt '*' nxos.cmd sendline 'show ver'
150308                 salt '*' nxos.cmd show_run
150309                 salt '*' nxos.cmd check_password username=admin password='$5$lkjsdfoi$blahblahblah' encrypted=True
150310
150311       salt.modules.nxos.system_info()
150312              Return system information for grains of the NX OS proxy minion
150313
150314                 salt '*' nxos.system_info
150315
150316   salt.modules.nxos_api module
150317       Execution module to manage Cisco Nexus Switches (NX-OS) over the NX-API
150318
150319       New in version 2019.2.0.
150320
150321
150322       Execution module used to interface the interaction  with  a  remote  or
150323       local  Nexus  switch whether we're running in a Proxy Minion or regular
150324       Minion (or regular Minion running directly on the Nexus switch).
150325
150326       codeauthor
150327              Mircea Ulinic <ping@mirceaulinic.net>
150328
150329       maturity
150330              new
150331
150332       platform
150333              any
150334
150335       NOTE:
150336          To be able to use this module you need to enable to NX-API  on  your
150337          switch, by executing feature nxapi in configuration mode.
150338
150339          Configuration example:
150340
150341              switch# conf t
150342              switch(config)# feature nxapi
150343
150344          To check that NX-API is properly enabled, execute show nxapi.
150345
150346          Output example:
150347
150348              switch# show nxapi
150349              nxapi enabled
150350              HTTPS Listen on port 443
150351
150352       NOTE:
150353          NX-API  requires  modern  NXOS distributions, typically at least 7.0
150354          depending on the hardware. Due to reliability reasons it  is  recom‐
150355          mended to run the most recent version.
150356
150357          Check
150358          https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/programmability/guide/b_Cisco_Nexus_7000_Series_NX-OS_Programmability_Guide/b_Cisco_Nexus_7000_Series_NX-OS_Programmability_Guide_chapter_0101.html
150359          for more details.
150360
150361   Usage
150362       This  module  can  equally  be  used  via  the nxos_api Proxy module or
150363       directly from an arbitrary (Proxy) Minion that is running on a  machine
150364       having access to the network device API. Given that there are no exter‐
150365       nal dependencies, this module can very well used when using the regular
150366       Salt Minion directly installed on the switch.
150367
150368       When  running  outside  of the nxos_api Proxy (i.e., from another Proxy
150369       Minion type, or regular Minion), the NX-API connection arguments can be
150370       either  specified from the CLI when executing the command, or in a con‐
150371       figuration block under the  nxos_api  key  in  the  configuration  opts
150372       (i.e.,  (Proxy)  Minion configuration file), or Pillar. The module sup‐
150373       ports these simultaneously. These fields are the exact  same  supported
150374       by the nxos_api Proxy Module:
150375
150376       transport: https
150377              Specifies  the type of connection transport to use. Valid values
150378              for the connection are http, and  https.
150379
150380       host: localhost
150381              The IP address or DNS host name of the connection device.
150382
150383       username: admin
150384              The username to pass to the device to  authenticate  the  NX-API
150385              connection.
150386
150387       password
150388              The  password  to  pass to the device to authenticate the NX-API
150389              connection.
150390
150391       port   The TCP port of the endpoint for the NX-API connection. If  this
150392              keyword  is  not  specified,  the default value is automatically
150393              determined by the transport  type  (80  for  http,  or  443  for
150394              https).
150395
150396       timeout: 60
150397              Time  in  seconds to wait for the device to respond. Default: 60
150398              seconds.
150399
150400       verify: True
150401              Either a boolean, in which case it controls  whether  we  verify
150402              the  NX-API  TLS certificate, or a string, in which case it must
150403              be a path to a CA bundle to use. Defaults to True.
150404
150405              When there is no certificate configuration  on  the  device  and
150406              this  option  is  set  as True (default), the commands will fail
150407              with  the  following  error:  SSLError:  [SSL:  CERTIFICATE_VER‐
150408              IFY_FAILED]  certificate  verify  failed  (_ssl.c:581).  In this
150409              case, you either need to configure a proper certificate  on  the
150410              device (recommended), or bypass the checks setting this argument
150411              as False with all the security risks considered.
150412
150413              Check
150414              https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/programmability/6_x/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide_chapter_01.html
150415              to see how to properly configure the certificate.
150416
150417       Example (when not running in a nxos_api Proxy Minion):
150418
150419          nxos_api:
150420            username: test
150421            password: test
150422
150423       In case the username and password are the same on any  device  you  are
150424       targeting,  the  block above (besides other parameters specific to your
150425       environment you might need) should suffice to be able to  execute  com‐
150426       mands from outside a nxos_api Proxy, e.g.:
150427
150428          salt-call --local nxos_api.show 'show lldp neighbors' raw_text
150429          # The command above is available when running in a regular Minion where Salt is installed
150430
150431          salt '*' nxos_api.show 'show version' raw_text=False
150432
150433       NOTE:
150434          Remember  that the above applies only when not running in a nxos_api
150435          Proxy Minion. If you want to use the nxos_api Proxy,  please  follow
150436          the documentation notes for a proper setup.
150437
150438       salt.modules.nxos_api.config(commands=None,    config_file=None,   tem‐
150439       plate_engine=u'jinja',  context=None,  defaults=None,  saltenv=u'base',
150440       **kwargs)
150441              Configures the Nexus switch with the specified commands.
150442
150443              This  method  is  used  to  send  configuration  commands to the
150444              switch.  It will take either a string or a list and prepend  the
150445              necessary commands to put the session into config mode.
150446
150447              WARNING:
150448                 All  the  commands  will  be  applied  directly into the run‐
150449                 ning-config.
150450
150451              config_file
150452                     The source file with the  configuration  commands  to  be
150453                     sent to the device.
150454
150455                     The  file  can  also  be  a template that can be rendered
150456                     using the template engine of choice.
150457
150458                     This can be specified using  the  absolute  path  to  the
150459                     file, or using one of the following URL schemes:
150460
150461                     · salt://, to fetch the file from the Salt fileserver.
150462
150463                     · http:// or https://
150464
150465                     · ftp://
150466
150467                     · s3://
150468
150469                     · swift://
150470
150471              commands
150472                     The  commands  to  send to the switch in config mode.  If
150473                     the commands argument is a string it will be  cast  to  a
150474                     list.   The  list of commands will also be prepended with
150475                     the necessary commands to put the session in config mode.
150476
150477                     NOTE:
150478                        This argument is ignored when  config_file  is  speci‐
150479                        fied.
150480
150481              template_engine: jinja
150482                     The  template  engine  to  use  when rendering the source
150483                     file. Default: jinja. To simply fetch  the  file  without
150484                     attempting to render, set this argument to None.
150485
150486              context
150487                     Variables to add to the template context.
150488
150489              defaults
150490                     Default values of the context_dict.
150491
150492              transport: https
150493                     Specifies  the type of connection transport to use. Valid
150494                     values for the connection are http, and  https.
150495
150496              host: localhost
150497                     The IP address or DNS host name of the connection device.
150498
150499              username: admin
150500                     The username to pass to the device  to  authenticate  the
150501                     NX-API connection.
150502
150503              password
150504                     The  password  to  pass to the device to authenticate the
150505                     NX-API connection.
150506
150507              port   The TCP port of the endpoint for the  NX-API  connection.
150508                     If  this  keyword  is not specified, the default value is
150509                     automatically determined by the transport  type  (80  for
150510                     http, or 443 for https).
150511
150512              timeout: 60
150513                     Time  in  seconds  to  wait  for  the  device to respond.
150514                     Default: 60 seconds.
150515
150516              verify: True
150517                     Either a boolean, in which case it  controls  whether  we
150518                     verify  the NX-API TLS certificate, or a string, in which
150519                     case it must be a path to a CA bundle to use. Defaults to
150520                     True.
150521
150522              CLI Example:
150523
150524                 salt '*' nxos_api.config commands="['spanning-tree mode mstp']"
150525                 salt '*' nxos_api.config config_file=salt://config.txt
150526                 salt '*' nxos_api.config config_file=https://bit.ly/2LGLcDy context="{'servers': ['1.2.3.4']}"
150527
150528       salt.modules.nxos_api.rpc(commands, method=u'cli', **kwargs)
150529              Execute an arbitrary RPC request via the Nexus API.
150530
150531              commands
150532                     The commands to be executed.
150533
150534              method: cli
150535                     The  type  of the response, i.e., raw text (cli_ascii) or
150536                     structured document (cli). Defaults  to  cli  (structured
150537                     data).
150538
150539              transport: https
150540                     Specifies  the type of connection transport to use. Valid
150541                     values for the connection are http, and  https.
150542
150543              host: localhost
150544                     The IP address or DNS host name of the connection device.
150545
150546              username: admin
150547                     The username to pass to the device  to  authenticate  the
150548                     NX-API connection.
150549
150550              password
150551                     The  password  to  pass to the device to authenticate the
150552                     NX-API connection.
150553
150554              port   The TCP port of the endpoint for the  NX-API  connection.
150555                     If  this  keyword  is not specified, the default value is
150556                     automatically determined by the transport  type  (80  for
150557                     http, or 443 for https).
150558
150559              timeout: 60
150560                     Time  in  seconds  to  wait  for  the  device to respond.
150561                     Default: 60 seconds.
150562
150563              verify: True
150564                     Either a boolean, in which case it  controls  whether  we
150565                     verify  the NX-API TLS certificate, or a string, in which
150566                     case it must be a path to a CA bundle to use. Defaults to
150567                     True.
150568
150569              CLI Example:
150570
150571                 salt-call --local nxps_api.rpc 'show version'
150572
150573       salt.modules.nxos_api.show(commands, raw_text=True, **kwargs)
150574              Execute one or more show (non-configuration) commands.
150575
150576              commands
150577                     The commands to be executed.
150578
150579              raw_text: True
150580                     Whether to return raw text or structured data.
150581
150582              transport: https
150583                     Specifies  the type of connection transport to use. Valid
150584                     values for the connection are http, and  https.
150585
150586              host: localhost
150587                     The IP address or DNS host name of the connection device.
150588
150589              username: admin
150590                     The username to pass to the device  to  authenticate  the
150591                     NX-API connection.
150592
150593              password
150594                     The  password  to  pass to the device to authenticate the
150595                     NX-API connection.
150596
150597              port   The TCP port of the endpoint for the  NX-API  connection.
150598                     If  this  keyword  is not specified, the default value is
150599                     automatically determined by the transport  type  (80  for
150600                     http, or 443 for https).
150601
150602              timeout: 60
150603                     Time  in  seconds  to  wait  for  the  device to respond.
150604                     Default: 60 seconds.
150605
150606              verify: True
150607                     Either a boolean, in which case it  controls  whether  we
150608                     verify  the NX-API TLS certificate, or a string, in which
150609                     case it must be a path to a CA bundle to use. Defaults to
150610                     True.
150611
150612              CLI Example:
150613
150614                 salt-call --local nxos_api.show 'show version'
150615                 salt '*' nxos_api.show 'show bgp sessions' 'show processes' raw_text=False
150616                 salt 'regular-minion' nxos_api.show 'show interfaces' host=sw01.example.com username=test password=test
150617
150618   salt.modules.omapi
150619       This module interacts with an ISC DHCP Server via OMAPI.  server_ip and
150620       server_port params may be set in the minion config or pillar:
150621
150622          omapi.server_ip: 127.0.0.1
150623          omapi.server_port: 7991
150624
150625       depends
150626              pypureomapi Python module
150627
150628       salt.modules.omapi.add_host(mac,   name=None,   ip=None,    ddns=False,
150629       group=None, supersede_host=False)
150630              Add a host object for the given mac.
150631
150632              CLI Example:
150633
150634                 salt dhcp-server omapi.add_host ab:ab:ab:ab:ab:ab name=host1
150635
150636              Add ddns-hostname and a fixed-ip statements:
150637
150638                 salt dhcp-server omapi.add_host ab:ab:ab:ab:ab:ab name=host1 ip=10.1.1.1 ddns=true
150639
150640       salt.modules.omapi.delete_host(mac=None, name=None)
150641              Delete the host with the given mac or name.
150642
150643              CLI Examples:
150644
150645                 salt dhcp-server omapi.delete_host name=host1
150646                 salt dhcp-server omapi.delete_host mac=ab:ab:ab:ab:ab:ab
150647
150648   salt.modules.openbsd_sysctl
150649       Module for viewing and modifying OpenBSD sysctl parameters
150650
150651       salt.modules.openbsd_sysctl.assign(name, value)
150652              Assign a single sysctl parameter for this minion
150653
150654              CLI Example:
150655
150656                 salt '*' sysctl.assign net.inet.ip.forwarding 1
150657
150658       salt.modules.openbsd_sysctl.get(name)
150659              Return a single sysctl parameter for this minion
150660
150661              CLI Example:
150662
150663                 salt '*' sysctl.get hw.physmem
150664
150665       salt.modules.openbsd_sysctl.persist(name,          value,          con‐
150666       fig=u'/etc/sysctl.conf')
150667              Assign and persist a simple sysctl parameter for this minion
150668
150669              CLI Example:
150670
150671                 salt '*' sysctl.persist net.inet.ip.forwarding 1
150672
150673       salt.modules.openbsd_sysctl.show(config_file=False)
150674              Return a list of sysctl parameters for this minion
150675
150676              CLI Example:
150677
150678                 salt '*' sysctl.show
150679
150680   salt.modules.openbsdpkg
150681       Package support for OpenBSD
150682
150683       NOTE:
150684          The package repository is configured on each host using /etc/instal‐
150685          lurl   from   OpenBSD   6.1  onwards.  Earlier  releases  relied  on
150686          /etc/pkg.conf.
150687
150688       Changed in version 2016.3.5: Package versions on OpenBSD are  not  nor‐
150689       mally specified explicitly; instead packages may be available in multi‐
150690       ple flavors, and branches which are specified  by  the  format  of  the
150691       package  name.  This  module  allows  you to use the same formatting as
150692       pkg_add(1), and will select the empty  flavor  and  default  branch  by
150693       default. Examples:
150694
150695          - rsync
150696          - vim--no_x11
150697          - ruby%2.3
150698
150699
150700       salt.modules.openbsdpkg.install(name=None,   pkgs=None,   sources=None,
150701       **kwargs)
150702              Install the passed package
150703
150704              Return a dict containing the new package names and versions:
150705
150706                 {'<package>': {'old': '<old-version>',
150707                                'new': '<new-version>'}}
150708
150709              CLI Example, Install one package:
150710
150711                 salt '*' pkg.install <package name>
150712
150713              CLI Example, Install more than one package:
150714
150715                 salt '*' pkg.install pkgs='["<package name>", "<package name>"]'
150716
150717              CLI Example, Install more than  one  package  from  a  alternate
150718              source (e.g.  salt file-server, HTTP, FTP, local filesystem):
150719
150720                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]'
150721
150722       salt.modules.openbsdpkg.latest_version(*names, **kwargs)
150723              Return  the  latest  version  of the named package available for
150724              upgrade or installation. If more than one package name is speci‐
150725              fied, a dict of name/version pairs is returned.
150726
150727              If  the  latest version of a given package is already installed,
150728              an empty string will be returned for that package.
150729
150730              CLI Example:
150731
150732                 salt '*' pkg.latest_version <package name>
150733
150734       salt.modules.openbsdpkg.list_pkgs(versions_as_list=False, **kwargs)
150735              List the packages currently installed as a dict:
150736
150737                 {'<package_name>': '<version>'}
150738
150739              CLI Example:
150740
150741                 salt '*' pkg.list_pkgs
150742
150743       salt.modules.openbsdpkg.purge(name=None, pkgs=None, **kwargs)
150744              Remove a package and extra configuration files.
150745
150746              name   The name of the package to be deleted.
150747
150748              Multiple Package Options:
150749
150750              pkgs   A list of packages to delete. Must be passed as a  python
150751                     list.  The  name parameter will be ignored if this option
150752                     is passed.
150753
150754              New in version 0.16.0.
150755
150756
150757              Returns a dict containing the changes.
150758
150759              CLI Example:
150760
150761                 salt '*' pkg.purge <package name>
150762                 salt '*' pkg.purge <package1>,<package2>,<package3>
150763                 salt '*' pkg.purge pkgs='["foo", "bar"]'
150764
150765       salt.modules.openbsdpkg.remove(name=None,    pkgs=None,    purge=False,
150766       **kwargs)
150767              Remove a single package with pkg_delete
150768
150769              Multiple Package Options:
150770
150771              pkgs   A  list of packages to delete. Must be passed as a python
150772                     list. The name parameter will be ignored if  this  option
150773                     is passed.
150774
150775              New in version 0.16.0.
150776
150777
150778              Returns a dict containing the changes.
150779
150780              CLI Example:
150781
150782                 salt '*' pkg.remove <package name>
150783                 salt '*' pkg.remove <package1>,<package2>,<package3>
150784                 salt '*' pkg.remove pkgs='["foo", "bar"]'
150785
150786       salt.modules.openbsdpkg.upgrade(name=None, pkgs=None, **kwargs)
150787              Run  a  full package upgrade (pkg_add -u), or upgrade a specific
150788              package if name or pkgs is provided.  name is ignored when  pkgs
150789              is specified.
150790
150791              Returns a dictionary containing the changes:
150792
150793              New in version 2019.2.0.
150794
150795
150796                 {'<package>': {'old': '<old-version>',
150797                                'new': '<new-version>'}}
150798
150799              CLI Example:
150800
150801                 salt '*' pkg.upgrade
150802                 salt '*' pkg.upgrade python%2.7
150803
150804       salt.modules.openbsdpkg.upgrade_available(name)
150805              Check whether or not an upgrade is available for a given package
150806
150807              New in version 2019.2.0.
150808
150809
150810              CLI Example:
150811
150812                 salt '*' pkg.upgrade_available <package name>
150813
150814       salt.modules.openbsdpkg.version(*names, **kwargs)
150815              Returns  a  string  representing the package version or an empty
150816              string if not installed. If more than one package name is speci‐
150817              fied, a dict of name/version pairs is returned.
150818
150819              CLI Example:
150820
150821                 salt '*' pkg.version <package name>
150822                 salt '*' pkg.version <package1> <package2> <package3> ...
150823
150824   salt.modules.openbsdrcctl_service.py
150825       The rcctl service module for OpenBSD
150826
150827       salt.modules.openbsdrcctl_service.available(name)
150828              Return True if the named service is available.
150829
150830              CLI Example:
150831
150832                 salt '*' service.available sshd
150833
150834       salt.modules.openbsdrcctl_service.disable(name, **kwargs)
150835              Disable the named service to not start at boot.
150836
150837              CLI Example:
150838
150839                 salt '*' service.disable <service name>
150840
150841       salt.modules.openbsdrcctl_service.disabled(name)
150842              Return True if the named service is disabled at boot, False oth‐
150843              erwise.
150844
150845              CLI Example:
150846
150847                 salt '*' service.disabled <service name>
150848
150849       salt.modules.openbsdrcctl_service.enable(name, **kwargs)
150850              Enable the named service to start at boot.
150851
150852              flags  None Set optional flags to run the service with.
150853
150854              service.flags can be used to change the default flags.
150855
150856              CLI Example:
150857
150858                 salt '*' service.enable <service name>
150859                 salt '*' service.enable <service name> flags=<flags>
150860
150861       salt.modules.openbsdrcctl_service.enabled(name, **kwargs)
150862              Return True if the named service is enabled at boot and the pro‐
150863              vided  flags  match  the  configured ones (if any). Return False
150864              otherwise.
150865
150866              name   Service name
150867
150868              CLI Example:
150869
150870                 salt '*' service.enabled <service name>
150871                 salt '*' service.enabled <service name> flags=<flags>
150872
150873       salt.modules.openbsdrcctl_service.get_all()
150874              Return all installed services.
150875
150876              CLI Example:
150877
150878                 salt '*' service.get_all
150879
150880       salt.modules.openbsdrcctl_service.get_disabled()
150881              Return what services are available but not enabled to  start  at
150882              boot.
150883
150884              CLI Example:
150885
150886                 salt '*' service.get_disabled
150887
150888       salt.modules.openbsdrcctl_service.get_enabled()
150889              Return what services are set to run on boot.
150890
150891              CLI Example:
150892
150893                 salt '*' service.get_enabled
150894
150895       salt.modules.openbsdrcctl_service.missing(name)
150896              The inverse of service.available.  Return True if the named ser‐
150897              vice is not available.
150898
150899              CLI Example:
150900
150901                 salt '*' service.missing sshd
150902
150903       salt.modules.openbsdrcctl_service.reload_(name)
150904              Reload the named service.
150905
150906              CLI Example:
150907
150908                 salt '*' service.reload <service name>
150909
150910       salt.modules.openbsdrcctl_service.restart(name)
150911              Restart the named service.
150912
150913              CLI Example:
150914
150915                 salt '*' service.restart <service name>
150916
150917       salt.modules.openbsdrcctl_service.start(name)
150918              Start the named service.
150919
150920              CLI Example:
150921
150922                 salt '*' service.start <service name>
150923
150924       salt.modules.openbsdrcctl_service.status(name, sig=None)
150925              Return the status for a service, returns a bool whether the ser‐
150926              vice is running.
150927
150928              CLI Example:
150929
150930                 salt '*' service.status <service name>
150931
150932       salt.modules.openbsdrcctl_service.stop(name)
150933              Stop the named service.
150934
150935              CLI Example:
150936
150937                 salt '*' service.stop <service name>
150938
150939   salt.modules.openbsdservice
150940       The service module for OpenBSD
150941
150942       IMPORTANT:
150943          If you feel that Salt should be using this module to manage services
150944          on a minion, and it is using a different module (or gives  an  error
150945          similar to 'service.start' is not available), see here.
150946
150947       salt.modules.openbsdservice.available(name)
150948              New in version 2014.7.0.
150949
150950
150951              Returns  True  if  the specified service is available, otherwise
150952              returns False.
150953
150954              CLI Example:
150955
150956                 salt '*' service.available sshd
150957
150958       salt.modules.openbsdservice.disabled(name)
150959              New in version 2014.7.0.
150960
150961
150962              Return True if the named service is disabled, false otherwise
150963
150964              CLI Example:
150965
150966                 salt '*' service.disabled <service name>
150967
150968       salt.modules.openbsdservice.enabled(name, **kwargs)
150969              New in version 2014.7.0.
150970
150971
150972              Return True if the named service is enabled, false otherwise
150973
150974              CLI Example:
150975
150976                 salt '*' service.enabled <service name>
150977
150978       salt.modules.openbsdservice.get_all()
150979              New in version 2014.7.0.
150980
150981
150982              Return all available boot services
150983
150984              CLI Example:
150985
150986                 salt '*' service.get_all
150987
150988       salt.modules.openbsdservice.get_disabled()
150989              New in version 2014.7.0.
150990
150991
150992              Return a set of services that are installed but disabled
150993
150994              CLI Example:
150995
150996                 salt '*' service.get_disabled
150997
150998       salt.modules.openbsdservice.get_enabled()
150999              New in version 2014.7.0.
151000
151001
151002              Return a list of service that are enabled on boot
151003
151004              CLI Example:
151005
151006                 salt '*' service.get_enabled
151007
151008       salt.modules.openbsdservice.missing(name)
151009              New in version 2014.7.0.
151010
151011
151012              The inverse of service.available.  Returns True if the specified
151013              service is not available, otherwise returns False.
151014
151015              CLI Example:
151016
151017                 salt '*' service.missing sshd
151018
151019       salt.modules.openbsdservice.reload_(name)
151020              New in version 2014.7.0.
151021
151022
151023              Reload the named service
151024
151025              CLI Example:
151026
151027                 salt '*' service.reload <service name>
151028
151029       salt.modules.openbsdservice.restart(name)
151030              Restart the named service
151031
151032              CLI Example:
151033
151034                 salt '*' service.restart <service name>
151035
151036       salt.modules.openbsdservice.start(name)
151037              Start the specified service
151038
151039              CLI Example:
151040
151041                 salt '*' service.start <service name>
151042
151043       salt.modules.openbsdservice.status(name, sig=None)
151044              Return the status for a service.  If the name contains globbing,
151045              a dict mapping service name to True/False values is returned.
151046
151047              Changed in version 2018.3.0: The service name can now be a  glob
151048              (e.g. salt*)
151049
151050
151051              Parameters
151052
151053                     · name (str) -- The name of the service to check
151054
151055                     · sig  (str)  -- Signature to use to find the service via
151056                       ps
151057
151058              Returns
151059                     True if running, False otherwise dict: Maps service  name
151060                     to True if running, False otherwise
151061
151062              Return type
151063                     bool
151064
151065              CLI Example:
151066
151067                 salt '*' service.status <service name> [service signature]
151068
151069       salt.modules.openbsdservice.stop(name)
151070              Stop the specified service
151071
151072              CLI Example:
151073
151074                 salt '*' service.stop <service name>
151075
151076   salt.modules.openscap module
151077       Module for OpenSCAP Management
151078
151079       salt.modules.openscap.xccdf(params)
151080              Run  oscap  xccdf  commands  on minions.  It uses cp.push_dir to
151081              upload the generated files to the salt master  in  the  master's
151082              minion  files  cachedir (defaults to /var/cache/salt/master/min‐
151083              ions/minion-id/files)
151084
151085              It needs file_recv set to True in the master configuration file.
151086
151087              CLI Example:
151088
151089                 salt '*'  openscap.xccdf "eval --profile Default /usr/share/openscap/scap-yast2sec-xccdf.xml"
151090
151091   salt.modules.openstack_config
151092       Modify, retrieve, or delete values from OpenStack configuration files.
151093
151094       maintainer
151095              Jeffrey C. Ollie <jeff@ocjtech.us>
151096
151097       maturity
151098              new
151099
151100       depends
151101
151102       platform
151103              linux
151104
151105       salt.modules.openstack_config.delete(filename, section, parameter)
151106              Delete a value from an OpenStack configuration file.
151107
151108              filename
151109                     The full path to the configuration file
151110
151111              section
151112                     The section from which to delete the parameter
151113
151114              parameter
151115                     The parameter to delete
151116
151117              CLI Example:
151118
151119                 salt-call openstack_config.delete /etc/keystone/keystone.conf sql connection
151120
151121       salt.modules.openstack_config.get(filename, section, parameter)
151122              Get a value from an OpenStack configuration file.
151123
151124              filename
151125                     The full path to the configuration file
151126
151127              section
151128                     The section from which to search for the parameter
151129
151130              parameter
151131                     The parameter to return
151132
151133              CLI Example:
151134
151135                 salt-call openstack_config.get /etc/keystone/keystone.conf sql connection
151136
151137       salt.modules.openstack_config.set_(filename, section, parameter, value)
151138              Set a value in an OpenStack configuration file.
151139
151140              filename
151141                     The full path to the configuration file
151142
151143              section
151144                     The section in which the parameter will be set
151145
151146              parameter
151147                     The parameter to change
151148
151149              value  The value to set
151150
151151              CLI Example:
151152
151153                 salt-call openstack_config.set /etc/keystone/keystone.conf sql connection foo
151154
151155   salt.modules.openstack_mng module
151156       Module for OpenStack Management
151157
151158       codeauthor
151159              Konrad Mosoń <mosonkonrad@gmail.com>
151160
151161       maturity
151162              new
151163
151164       depends
151165              openstack-utils
151166
151167       platform
151168              linux
151169
151170       salt.modules.openstack_mng.restart_service(service_name,   minimum_run‐
151171       ning_time=None)
151172              Restart  OpenStack  service immediately, or only if it's running
151173              longer than specified value
151174
151175              CLI Example:
151176
151177                 salt '*' openstack_mng.restart_service neutron
151178                 salt '*' openstack_mng.restart_service neutron minimum_running_time=600
151179
151180       salt.modules.openstack_mng.start_service(service_name)
151181              Start OpenStack service immediately
151182
151183              CLI Example:
151184
151185                 salt '*' openstack_mng.start_service neutron
151186
151187       salt.modules.openstack_mng.stop_service(service_name)
151188              Stop OpenStack service immediately
151189
151190              CLI Example:
151191
151192                 salt '*' openstack_mng.stop_service neutron
151193
151194   salt.modules.openvswitch module
151195       Support for Open vSwitch - module with basic Open vSwitch commands.
151196
151197       Suitable for setting up Openstack Neutron.
151198
151199       codeauthor
151200              Jiri Kotlin <jiri.kotlin@ultimum.io>
151201
151202       salt.modules.openvswitch.bridge_create(br, may_exist=True)
151203              Creates a new bridge.
151204
151205              Parameters
151206
151207                     · br -- A string - bridge name
151208
151209                     · may_exist -- Bool, if False - attempting  to  create  a
151210                       bridge that exists returns False.
151211
151212              Returns
151213                     True on success, else False.
151214
151215              New in version 2016.3.0.
151216
151217
151218              CLI Example:
151219                 salt '*' openvswitch.bridge_create br0
151220
151221       salt.modules.openvswitch.bridge_delete(br, if_exists=True)
151222              Deletes bridge and all of  its  ports.
151223
151224              Parameters
151225
151226                     · br -- A string - bridge name
151227
151228                     · if_exists  --  Bool,  if False - attempting to delete a
151229                       bridge that does not exist returns False.
151230
151231              Returns
151232                     True on success, else False.
151233
151234              New in version 2016.3.0.
151235
151236
151237              CLI Example:
151238                 salt '*' openvswitch.bridge_delete br0
151239
151240       salt.modules.openvswitch.bridge_exists(br)
151241              Tests whether bridge exists as a real or fake  bridge.
151242
151243              Returns
151244                     True if Bridge exists, else False.
151245
151246              New in version 2016.3.0.
151247
151248
151249              CLI Example:
151250                 salt '*' openvswitch.bridge_exists br0
151251
151252       salt.modules.openvswitch.bridge_list()
151253              Lists all existing real and fake bridges.
151254
151255              Returns
151256                     List of bridges (or empty list), False on failure.
151257
151258              New in version 2016.3.0.
151259
151260
151261              CLI Example:
151262                 salt '*' openvswitch.bridge_list
151263
151264       salt.modules.openvswitch.interface_get_options(port)
151265              Port's interface's optional parameters.
151266
151267              Parameters
151268                     port -- A string - port name.
151269
151270              Returns
151271                     String containing optional parameters  of  port's  inter‐
151272                     face, False on failure.
151273
151274              New in version 2016.3.0.
151275
151276
151277              CLI Example:
151278                 salt '*' openvswitch.interface_get_options tap0
151279
151280       salt.modules.openvswitch.interface_get_type(port)
151281              Type of port's interface.
151282
151283              Parameters
151284                     port -- A string - port name.
151285
151286              Returns
151287                     String  -  type  of  interface  or empty string, False on
151288                     failure.
151289
151290              New in version 2016.3.0.
151291
151292
151293              CLI Example:
151294                 salt '*' openvswitch.interface_get_type tap0
151295
151296       salt.modules.openvswitch.port_add(br,  port,  may_exist=False,   inter‐
151297       nal=False)
151298              Creates on bridge a new port named port.
151299
151300              Returns
151301                     True on success, else False.
151302
151303              Parameters
151304
151305                     · br -- A string - bridge name
151306
151307                     · port -- A string - port name
151308
151309                     · may_exist  --  Bool,  if False - attempting to create a
151310                       port that exists returns False.
151311
151312                     · internal -- A boolean to create an  internal  interface
151313                       if one does not exist.
151314
151315              New in version 2016.3.0.
151316
151317
151318              CLI Example:
151319                 salt '*' openvswitch.port_add br0 8080
151320
151321       salt.modules.openvswitch.port_create_gre(br, port, id, remote)
151322              Generic  Routing Encapsulation - creates GRE tunnel between end‐
151323              points.
151324
151325              Parameters
151326
151327                     · br -- A string - bridge name.
151328
151329                     · port -- A string - port name.
151330
151331                     · id -- An integer -  unsigned  32-bit  number,  tunnel's
151332                       key.
151333
151334                     · remote -- A string - remote endpoint's IP address.
151335
151336              Returns
151337                     True on success, else False.
151338
151339              New in version 2016.3.0.
151340
151341
151342              CLI Example:
151343                 salt    '*'   openvswitch.port_create_gre   br0   gre1   5001
151344                 192.168.1.10
151345
151346       salt.modules.openvswitch.port_create_vlan(br, port, id, internal=False)
151347              Isolate VM traffic using VLANs.
151348
151349              Parameters
151350
151351                     · br -- A string - bridge name.
151352
151353                     · port -- A string - port name.
151354
151355                     · id -- An integer in the valid range 0 to  4095  (inclu‐
151356                       sive), name of VLAN.
151357
151358                     · internal  --  A boolean to create an internal interface
151359                       if one does not exist.
151360
151361              Returns
151362                     True on success, else False.
151363
151364              New in version 2016.3.0.
151365
151366
151367              CLI Example:
151368                 salt '*' openvswitch.port_create_vlan br0 tap0 100
151369
151370       salt.modules.openvswitch.port_create_vxlan(br,   port,   id,    remote,
151371       dst_port=None)
151372              Virtual  eXtensible  Local  Area  Network - creates VXLAN tunnel
151373              between endpoints.
151374
151375              Parameters
151376
151377                     · br -- A string - bridge name.
151378
151379                     · port -- A string - port name.
151380
151381                     · id -- An integer -  unsigned  64-bit  number,  tunnel's
151382                       key.
151383
151384                     · remote -- A string - remote endpoint's IP address.
151385
151386                     · dst_port -- An integer - port to use when creating tun‐
151387                       nelport in the switch.
151388
151389              Returns
151390                     True on success, else False.
151391
151392              New in version 2016.3.0.
151393
151394
151395              CLI Example:
151396                 salt   '*'   openvswitch.port_create_vxlan   br0   vx1   5001
151397                 192.168.1.10 8472
151398
151399       salt.modules.openvswitch.port_get_tag(port)
151400              Lists tags of the port.
151401
151402              Parameters
151403                     port -- A string - port name.
151404
151405              Returns
151406                     List of tags (or empty list), False on failure.
151407
151408              New in version 2016.3.0.
151409
151410
151411              CLI Example:
151412                 salt '*' openvswitch.port_get_tag tap0
151413
151414       salt.modules.openvswitch.port_list(br)
151415              Lists all of the ports within bridge.
151416
151417              Parameters
151418                     br -- A string - bridge name.
151419
151420              Returns
151421                     List of bridges (or empty list), False on failure.
151422
151423              New in version 2016.3.0.
151424
151425
151426              CLI Example:
151427                 salt '*' openvswitch.port_list br0
151428
151429       salt.modules.openvswitch.port_remove(br, port, if_exists=True)
151430                 Deletes port.
151431
151432              Parameters
151433
151434                     · br  --  A string - bridge name (If bridge is None, port
151435                       is removed from  whatever bridge contains it)
151436
151437                     · port -- A string - port name.
151438
151439                     · if_exists -- Bool, if False - attempting  to  delete  a
151440                       por that  does  not exist returns False. (Default True)
151441
151442              Returns
151443                     True on success, else False.
151444
151445              New in version 2016.3.0.
151446
151447
151448              CLI Example:
151449                 salt '*' openvswitch.port_remove br0 8080
151450
151451   salt.modules.opkg module
151452       Support for Opkg
151453
151454       IMPORTANT:
151455          If you feel that Salt should be using this module to manage packages
151456          on a minion, and it is using a different module (or gives  an  error
151457          similar to 'pkg.install' is not available), see here.
151458
151459       NOTE:
151460          For version comparison support on opkg < 0.3.4, the opkg-utils pack‐
151461          age must be installed.
151462
151463       salt.modules.opkg.available_version(*names, **kwargs)
151464              Return the latest version of the  named  package  available  for
151465              upgrade or installation. If more than one package name is speci‐
151466              fied, a dict of name/version pairs is returned.
151467
151468              If the latest version of a given package is  already  installed,
151469              an empty string will be returned for that package.
151470
151471              CLI Example:
151472
151473                 salt '*' pkg.latest_version <package name>
151474                 salt '*' pkg.latest_version <package name>
151475                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
151476
151477       salt.modules.opkg.check_extra_requirements(pkgname, pkgver)
151478              Check  if  the  installed package already has the given require‐
151479              ments.  There's nothing do to here for  nipkg.py,  therefore  it
151480              will always return True.
151481
151482       salt.modules.opkg.del_repo(repo, **kwargs)
151483              Delete a repo from /etc/opkg/*.conf
151484
151485              If  the  file does not contain any other repo configuration, the
151486              file itself will be deleted.
151487
151488              CLI Examples:
151489
151490                 salt '*' pkg.del_repo repo
151491
151492       salt.modules.opkg.file_dict(*packages, **kwargs)
151493              List the files that belong to a package, grouped by package. Not
151494              specifying  any  packages  will return a list of _every_ file on
151495              the system's package database (not generally recommended).
151496
151497              CLI Examples:
151498
151499                 salt '*' pkg.file_list httpd
151500                 salt '*' pkg.file_list httpd postfix
151501                 salt '*' pkg.file_list
151502
151503       salt.modules.opkg.file_list(*packages, **kwargs)
151504              List the files that belong to  a  package.  Not  specifying  any
151505              packages  will  return  a  list  of _every_ file on the system's
151506              package database (not generally recommended).
151507
151508              CLI Examples:
151509
151510                 salt '*' pkg.file_list httpd
151511                 salt '*' pkg.file_list httpd postfix
151512                 salt '*' pkg.file_list
151513
151514       salt.modules.opkg.get_repo(repo, **kwargs)
151515              Display a repo from the /etc/opkg/*.conf
151516
151517              CLI Examples:
151518
151519                 salt '*' pkg.get_repo repo
151520
151521       salt.modules.opkg.hold(name=None, pkgs=None, sources=None, **kwargs)
151522              Set package in 'hold' state, meaning it will not be upgraded.
151523
151524              name   The name of the package, e.g., 'tmux'
151525
151526                     CLI Example:
151527
151528                        salt '*' pkg.hold <package name>
151529
151530              pkgs   A list of packages to hold. Must be passed  as  a  python
151531                     list.
151532
151533                     CLI Example:
151534
151535                        salt '*' pkg.hold pkgs='["foo", "bar"]'
151536
151537       salt.modules.opkg.info_installed(*names, **kwargs)
151538              Return the information of the named package(s), installed on the
151539              system.
151540
151541              New in version 2017.7.0.
151542
151543
151544              Parameters
151545
151546                     · names -- Names  of  the  packages  to  get  information
151547                       about.  If  none are specified, will return information
151548                       for all installed packages.
151549
151550                     · attr --
151551
151552                       Comma-separated package attributes.  If  no  'attr'  is
151553                       specified, all available attributes returned.
151554
151555                       Valid attributes are:
151556                              arch,  conffiles,  conflicts,  depends, descrip‐
151557                              tion,  filename,   group,   install_date_time_t,
151558                              md5sum,    packager,    provides,    recommends,
151559                              replaces, size, source, suggests, url, version
151560
151561
151562              CLI example:
151563
151564                 salt '*' pkg.info_installed
151565                 salt '*' pkg.info_installed attr=version,packager
151566                 salt '*' pkg.info_installed <package1>
151567                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
151568                 salt '*' pkg.info_installed <package1> attr=version,packager
151569                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,packager
151570
151571       salt.modules.opkg.install(name=None,     refresh=False,      pkgs=None,
151572       sources=None, reinstall=False, **kwargs)
151573              Install  the passed package, add refresh=True to update the opkg
151574              database.
151575
151576              name   The name of the package to be installed. Note  that  this
151577                     parameter  is  ignored  if  either "pkgs" or "sources" is
151578                     passed. Additionally, please note that  this  option  can
151579                     only  be used to install packages from a software reposi‐
151580                     tory.  To  install  a  package  file  manually,  use  the
151581                     "sources" option.
151582
151583                     CLI Example:
151584
151585                        salt '*' pkg.install <package name>
151586
151587              refresh
151588                     Whether  or  not  to  refresh the package database before
151589                     installing.
151590
151591              version
151592                     Install  a  specific  version  of   the   package,   e.g.
151593                     1.2.3~0ubuntu0. Ignored if "pkgs" or "sources" is passed.
151594
151595                     New in version 2017.7.0.
151596
151597
151598              reinstall
151599                     False  Specifying  reinstall=True  will  use opkg install
151600                     --force-reinstall rather than  simply  opkg  install  for
151601                     requested packages that are already installed.
151602
151603                     If  a  version  is  specified with the requested package,
151604                     then opkg install --force-reinstall will only be used  if
151605                     the installed version matches the requested version.
151606
151607                     New in version 2017.7.0.
151608
151609
151610              Multiple Package Installation Options:
151611
151612              pkgs   A list of packages to install from a software repository.
151613                     Must be passed as a python list.
151614
151615                     CLI Example:
151616
151617                        salt '*' pkg.install pkgs='["foo", "bar"]'
151618                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-0ubuntu0"}]'
151619
151620              sources
151621                     A list of IPK packages to install. Must be  passed  as  a
151622                     list of dicts, with the keys being package names, and the
151623                     values being the source URI or local path to the package.
151624                     Dependencies  are  automatically  resolved  and marked as
151625                     auto-installed.
151626
151627                     CLI Example:
151628
151629                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
151630
151631              install_recommends
151632                     Whether to install the packages  marked  as  recommended.
151633                     Default is True.
151634
151635              only_upgrade
151636                     Only  upgrade the packages (disallow downgrades), if they
151637                     are already installed. Default is False.
151638
151639                     New in version 2017.7.0.
151640
151641
151642              Returns a dict containing the new package names and versions:
151643
151644                 {'<package>': {'old': '<old-version>',
151645                                'new': '<new-version>'}}
151646
151647       salt.modules.opkg.latest_version(*names, **kwargs)
151648              Return the latest version of the  named  package  available  for
151649              upgrade or installation. If more than one package name is speci‐
151650              fied, a dict of name/version pairs is returned.
151651
151652              If the latest version of a given package is  already  installed,
151653              an empty string will be returned for that package.
151654
151655              CLI Example:
151656
151657                 salt '*' pkg.latest_version <package name>
151658                 salt '*' pkg.latest_version <package name>
151659                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
151660
151661       salt.modules.opkg.list_pkgs(versions_as_list=False, **kwargs)
151662              List the packages currently installed in a dict:
151663
151664                 {'<package_name>': '<version>'}
151665
151666              CLI Example:
151667
151668                 salt '*' pkg.list_pkgs
151669                 salt '*' pkg.list_pkgs versions_as_list=True
151670
151671       salt.modules.opkg.list_repos(**kwargs)
151672              Lists all repos on /etc/opkg/*.conf
151673
151674              CLI Example:
151675
151676                 salt '*' pkg.list_repos
151677
151678       salt.modules.opkg.list_upgrades(refresh=True, **kwargs)
151679              List all available package upgrades.
151680
151681              CLI Example:
151682
151683                 salt '*' pkg.list_upgrades
151684
151685       salt.modules.opkg.mod_repo(repo, **kwargs)
151686              Modify  one  or  more  values  for a repo.  If the repo does not
151687              exist, it will be created, so long as uri is defined.
151688
151689              The following options are available to modify a repo definition:
151690
151691              repo   alias by which opkg refers to the repo.
151692
151693              uri    the URI to the repo.
151694
151695              compressed
151696                     defines (True or False) if the index file is compressed
151697
151698              enabled
151699                     enable or disable (True or False) repository but  do  not
151700                     remove if disabled.
151701
151702              refresh
151703                     enable  or  disable  (True  or False) auto-refresh of the
151704                     repositories
151705
151706              CLI Examples:
151707
151708                 salt '*' pkg.mod_repo repo uri=http://new/uri
151709                 salt '*' pkg.mod_repo repo enabled=False
151710
151711       salt.modules.opkg.owner(*paths, **kwargs)
151712              Return the name of the package that owns the file. Multiple file
151713              paths  can  be  passed. Like pkg.version <salt.modules.opkg.ver‐
151714              sion, if a single path is passed, a string will be returned, and
151715              if  multiple paths are passed, a dictionary of file/package name
151716              pairs will be returned.
151717
151718              If the file is not owned by a package, or is not present on  the
151719              minion, then an empty string will be returned for that path.
151720
151721              CLI Example:
151722                 salt  '*'  pkg.owner  /usr/bin/apachectl  salt  '*' pkg.owner
151723                 /usr/bin/apachectl /usr/bin/basename
151724
151725       salt.modules.opkg.purge(name=None, pkgs=None, **kwargs)
151726              Package purges are not supported by opkg, this function is iden‐
151727              tical to pkg.remove.
151728
151729              name   The name of the package to be deleted.
151730
151731              Multiple Package Options:
151732
151733              pkgs   A  list of packages to delete. Must be passed as a python
151734                     list. The name parameter will be ignored if  this  option
151735                     is passed.
151736
151737              Returns a dict containing the changes.
151738
151739              CLI Example:
151740
151741                 salt '*' pkg.purge <package name>
151742                 salt '*' pkg.purge <package1>,<package2>,<package3>
151743                 salt '*' pkg.purge pkgs='["foo", "bar"]'
151744
151745       salt.modules.opkg.refresh_db(failhard=False, **kwargs)
151746              Updates  the opkg database to latest packages based upon reposi‐
151747              tories
151748
151749              Returns a dict, with the keys being package  databases  and  the
151750              values being the result of the update attempt. Values can be one
151751              of the following:
151752
151753              · True: Database updated successfully
151754
151755              · False: Problem updating database
151756
151757              failhard
151758                     If False, return results of failed lines as False for the
151759                     package  database  that  encountered the error.  If True,
151760                     raise an error with a list of the package databases  that
151761                     encountered errors.
151762
151763                     New in version 2018.3.0.
151764
151765
151766              CLI Example:
151767
151768                 salt '*' pkg.refresh_db
151769
151770       salt.modules.opkg.remove(name=None, pkgs=None, **kwargs)
151771              Remove packages using opkg remove.
151772
151773              name   The name of the package to be deleted.
151774
151775              Multiple Package Options:
151776
151777              pkgs   A  list of packages to delete. Must be passed as a python
151778                     list. The name parameter will be ignored if  this  option
151779                     is passed.
151780
151781              remove_dependencies
151782                     Remove package and all dependencies
151783
151784                     New in version 2019.2.0.
151785
151786
151787              auto_remove_deps
151788                     Remove packages that were installed automatically to sat‐
151789                     isfy dependencies
151790
151791                     New in version 2019.2.0.
151792
151793
151794              Returns a dict containing the changes.
151795
151796              CLI Example:
151797
151798                 salt '*' pkg.remove <package name>
151799                 salt '*' pkg.remove <package1>,<package2>,<package3>
151800                 salt '*' pkg.remove pkgs='["foo", "bar"]'
151801                 salt '*' pkg.remove pkgs='["foo", "bar"]' remove_dependencies=True auto_remove_deps=True
151802
151803       salt.modules.opkg.unhold(name=None, pkgs=None, sources=None, **kwargs)
151804              Set package current in 'hold' state to install state, meaning it
151805              will be upgraded.
151806
151807              name   The name of the package, e.g., 'tmux'
151808
151809                     CLI Example:
151810
151811                        salt '*' pkg.unhold <package name>
151812
151813              pkgs   A  list  of  packages to hold. Must be passed as a python
151814                     list.
151815
151816                     CLI Example:
151817
151818                        salt '*' pkg.unhold pkgs='["foo", "bar"]'
151819
151820       salt.modules.opkg.upgrade(refresh=True, **kwargs)
151821              Upgrades all packages via opkg upgrade
151822
151823              Returns a dictionary containing the changes:
151824
151825                 {'<package>':  {'old': '<old-version>',
151826                                 'new': '<new-version>'}}
151827
151828              CLI Example:
151829
151830                 salt '*' pkg.upgrade
151831
151832       salt.modules.opkg.upgrade_available(name, **kwargs)
151833              Check whether or not an upgrade is available for a given package
151834
151835              CLI Example:
151836
151837                 salt '*' pkg.upgrade_available <package name>
151838
151839       salt.modules.opkg.version(*names, **kwargs)
151840              Returns a string representing the package version  or  an  empty
151841              string if not installed. If more than one package name is speci‐
151842              fied, a dict of name/version pairs is returned.
151843
151844              CLI Example:
151845
151846                 salt '*' pkg.version <package name>
151847                 salt '*' pkg.version <package1> <package2> <package3> ...
151848
151849       salt.modules.opkg.version_clean(version)
151850              Clean the version string removing extra data.   There's  nothing
151851              do  to  here  for  nipkg.py, therefore it will always return the
151852              given version.
151853
151854       salt.modules.opkg.version_cmp(pkg1, pkg2, ignore_epoch=False, **kwargs)
151855              Do a cmp-style comparison on two packages. Return -1 if  pkg1  <
151856              pkg2,  0  if  pkg1 == pkg2, and 1 if pkg1 > pkg2. Return None if
151857              there was a problem making the comparison.
151858
151859              ignore_epoch
151860                     False Set to True to ignore the epoch when comparing ver‐
151861                     sions
151862
151863                     New in version 2016.3.4.
151864
151865
151866              CLI Example:
151867
151868                 salt '*' pkg.version_cmp '0.2.4-0' '0.2.4.1-0'
151869
151870   salt.modules.opsgenie
151871       Module for sending data to OpsGenie
151872
151873       New in version 2018.3.0.
151874
151875
151876       configuration
151877              This  module  can  be used in Reactor System for posting data to
151878              OpsGenie as a remote-execution function.
151879
151880              For example:
151881
151882                 opsgenie_event_poster:
151883                   local.opsgenie.post_data:
151884                     - tgt: 'salt-minion'
151885                     - kwarg:
151886                         name: event.reactor
151887                         api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
151888                         reason: {{ data['data']['reason'] }}
151889                         action_type: Create
151890
151891       salt.modules.opsgenie.post_data(api_key=None, name=u'OpsGenie Execution
151892       Module', reason=None, action_type=None)
151893              Post data to OpsGenie. It's designed for Salt's Event Reactor.
151894
151895              After  configuring the sls reaction file as shown above, you can
151896              trigger the module with your  designated  tag  (og-tag  in  this
151897              case).
151898
151899              CLI Example:
151900
151901                 salt-call event.send 'og-tag' '{"reason" : "Overheating CPU!"}'
151902
151903              Required parameters:
151904
151905              api_key
151906                     It's  the  API Key you've copied while adding integration
151907                     in OpsGenie.
151908
151909              reason It will be used as alert's default message in OpsGenie.
151910
151911              action_type
151912                     OpsGenie supports the  default  values  Create/Close  for
151913                     action_type. You can customize this field with OpsGenie's
151914                     custom actions for other purposes like  adding  notes  or
151915                     acknowledging alerts.
151916
151917              Optional parameters:
151918
151919              name   It  will be used as alert's alias. If you want to use the
151920                     close functionality you must provide name field for  both
151921                     states like in this case.
151922
151923   salt.modules.oracle
151924       Oracle DataBase connection module
151925
151926       maintainer
151927              Vladimir Bormotov <bormotov@gmail.com>
151928
151929       maturity
151930              new
151931
151932       depends
151933              cx_Oracle
151934
151935       platform
151936              all
151937
151938       configuration
151939              module provide connections for multiple Oracle DB instances.
151940
151941              OS Environment
151942
151943                 ORACLE_HOME: path to oracle product
151944                 PATH: path to Oracle Client libs need to be in PATH
151945
151946              pillar
151947
151948                 oracle:
151949                   dbs:
151950                     <db>:
151951                       uri: connection credentials in format:
151952                     user/password@host[:port]/sid[ servicename as {sysdba|sysoper}]
151953                       optional keyword servicename will determine whether it is a sid or service_name
151954                     <db>:
151955                       uri: .....
151956
151957       salt.modules.oracle.client_version()
151958              Oracle Client Version
151959
151960              CLI Example:
151961
151962                 salt '*' oracle.client_version
151963
151964       salt.modules.oracle.run_query(db, query)
151965              Run SQL query and return result
151966
151967              CLI Example:
151968
151969                 salt '*' oracle.run_query my_db "select * from my_table"
151970
151971       salt.modules.oracle.show_dbs(*dbs)
151972              Show databases configuration from pillar. Filter by *args
151973
151974              CLI Example:
151975
151976                 salt '*' oracle.show_dbs
151977                 salt '*' oracle.show_dbs my_db
151978
151979       salt.modules.oracle.show_env()
151980              Show Environment used by Oracle Client
151981
151982              CLI Example:
151983
151984                 salt '*' oracle.show_env
151985
151986              NOTE:
151987                 at first _connect() NLS_LANG will forced to '.AL32UTF8'
151988
151989       salt.modules.oracle.show_pillar(item=None)
151990              Show   Pillar   segment   oracle.*  and  subitem  with  notation
151991              "item:subitem"
151992
151993              CLI Example:
151994
151995                 salt '*' oracle.show_pillar
151996                 salt '*' oracle.show_pillar dbs:my_db
151997
151998       salt.modules.oracle.version(*dbs)
151999              Server Version (select banner  from v$version)
152000
152001              CLI Example:
152002
152003                 salt '*' oracle.version
152004                 salt '*' oracle.version my_db
152005
152006   salt.modules.osquery
152007       Support for OSQuery - https://osquery.io.
152008
152009       New in version 2015.8.0.
152010
152011
152012       salt.modules.osquery.acpi_tables(attrs=None, where=None)
152013              Return acpi_tables information from osquery
152014
152015              CLI Example:
152016
152017                 salt '*' osquery.acpi_tables
152018
152019       salt.modules.osquery.alf(attrs=None, where=None)
152020              Return alf information from osquery
152021
152022              CLI Example:
152023
152024                 salt '*' osquery.alf
152025
152026       salt.modules.osquery.alf_exceptions(attrs=None, where=None)
152027              Return alf_exceptions information from osquery
152028
152029              CLI Example:
152030
152031                 salt '*' osquery.alf_exceptions
152032
152033       salt.modules.osquery.alf_explicit_auths(attrs=None, where=None)
152034              Return alf_explicit_auths information from osquery
152035
152036              CLI Example:
152037
152038                 salt '*' osquery.alf_explicit_auths
152039
152040       salt.modules.osquery.alf_services(attrs=None, where=None)
152041              Return alf_services information from osquery
152042
152043              CLI Example:
152044
152045                 salt '*' osquery.alf_services
152046
152047       salt.modules.osquery.apps(attrs=None, where=None)
152048              Return apps information from osquery
152049
152050              CLI Example:
152051
152052                 salt '*' osquery.apps
152053
152054       salt.modules.osquery.apt_sources(attrs=None, where=None)
152055              Return apt_sources information from osquery
152056
152057              CLI Example:
152058
152059                 salt '*' osquery.apt_sources
152060
152061       salt.modules.osquery.arp_cache(attrs=None, where=None)
152062              Return arp_cache information from osquery
152063
152064              CLI Example:
152065
152066                 salt '*' osquery.arp_cache
152067
152068       salt.modules.osquery.block_devices(attrs=None, where=None)
152069              Return block_devices information from osquery
152070
152071              CLI Example:
152072
152073                 salt '*' osquery.block_devices
152074
152075       salt.modules.osquery.certificates(attrs=None, where=None)
152076              Return certificates information from osquery
152077
152078              CLI Example:
152079
152080                 salt '*' osquery.certificates
152081
152082       salt.modules.osquery.chrome_extensions(attrs=None, where=None)
152083              Return chrome_extensions information from osquery
152084
152085              CLI Example:
152086
152087                 salt '*' osquery.chrome_extensions
152088
152089       salt.modules.osquery.cpuid(attrs=None, where=None)
152090              Return cpuid information from osquery
152091
152092              CLI Example:
152093
152094                 salt '*' osquery.cpuid
152095
152096       salt.modules.osquery.crontab(attrs=None, where=None)
152097              Return crontab information from osquery
152098
152099              CLI Example:
152100
152101                 salt '*' osquery.crontab
152102
152103       salt.modules.osquery.deb_packages(attrs=None, where=None)
152104              Return deb_packages information from osquery
152105
152106              CLI Example:
152107
152108                 salt '*' osquery.deb_packages
152109
152110       salt.modules.osquery.etc_hosts(attrs=None, where=None)
152111              Return etc_hosts information from osquery
152112
152113              CLI Example:
152114
152115                 salt '*' osquery.etc_hosts
152116
152117       salt.modules.osquery.etc_services(attrs=None, where=None)
152118              Return etc_services information from osquery
152119
152120              CLI Example:
152121
152122                 salt '*' osquery.etc_services
152123
152124       salt.modules.osquery.file_(attrs=None, where=None)
152125              Return file information from osquery
152126
152127              CLI Example:
152128
152129                 salt '*' osquery.file
152130
152131       salt.modules.osquery.file_changes(attrs=None, where=None)
152132              Return file_changes information from osquery
152133
152134              CLI Example:
152135
152136                 salt '*' osquery.file_changes
152137
152138       salt.modules.osquery.firefox_addons(attrs=None, where=None)
152139              Return firefox_addons information from osquery
152140
152141              CLI Example:
152142
152143                 salt '*' osquery.firefox_addons
152144
152145       salt.modules.osquery.groups(attrs=None, where=None)
152146              Return groups information from osquery
152147
152148              CLI Example:
152149
152150                 salt '*' osquery.groups
152151
152152       salt.modules.osquery.hardware_events(attrs=None, where=None)
152153              Return hardware_events information from osquery
152154
152155              CLI Example:
152156
152157                 salt '*' osquery.hardware_events
152158
152159       salt.modules.osquery.hash_(attrs=None, where=None)
152160              Return hash information from osquery
152161
152162              CLI Example:
152163
152164                 salt '*' osquery.hash
152165
152166       salt.modules.osquery.homebrew_packages(attrs=None, where=None)
152167              Return homebrew_packages information from osquery
152168
152169              CLI Example:
152170
152171                 salt '*' osquery.homebrew_packages
152172
152173       salt.modules.osquery.interface_addresses(attrs=None, where=None)
152174              Return interface_addresses information from osquery
152175
152176              CLI Example:
152177
152178                 salt '*' osquery.interface_addresses
152179
152180       salt.modules.osquery.interface_details(attrs=None, where=None)
152181              Return interface_details information from osquery
152182
152183              CLI Example:
152184
152185                 salt '*' osquery.interface_details
152186
152187       salt.modules.osquery.iokit_devicetree(attrs=None, where=None)
152188              Return iokit_devicetree information from osquery
152189
152190              CLI Example:
152191
152192                 salt '*' osquery.iokit_devicetree
152193
152194       salt.modules.osquery.iokit_registry(attrs=None, where=None)
152195              Return iokit_registry information from osquery
152196
152197              CLI Example:
152198
152199                 salt '*' osquery.iokit_registry
152200
152201       salt.modules.osquery.kernel_extensions(attrs=None, where=None)
152202              Return kernel_extensions information from osquery
152203
152204              CLI Example:
152205
152206                 salt '*' osquery.kernel_extensions
152207
152208       salt.modules.osquery.kernel_info(attrs=None, where=None)
152209              Return kernel_info information from osquery
152210
152211              CLI Example:
152212
152213                 salt '*' osquery.kernel_info
152214
152215       salt.modules.osquery.kernel_integrity(attrs=None, where=None)
152216              Return kernel_integrity information from osquery
152217
152218              CLI Example:
152219
152220                 salt '*' osquery.kernel_integrity
152221
152222       salt.modules.osquery.kernel_modules(attrs=None, where=None)
152223              Return kernel_modules information from osquery
152224
152225              CLI Example:
152226
152227                 salt '*' osquery.kernel_modules
152228
152229       salt.modules.osquery.keychain_items(attrs=None, where=None)
152230              Return keychain_items information from osquery
152231
152232              CLI Example:
152233
152234                 salt '*' osquery.keychain_items
152235
152236       salt.modules.osquery.last(attrs=None, where=None)
152237              Return last information from osquery
152238
152239              CLI Example:
152240
152241                 salt '*' osquery.last
152242
152243       salt.modules.osquery.launchd(attrs=None, where=None)
152244              Return launchd information from osquery
152245
152246              CLI Example:
152247
152248                 salt '*' osquery.launchd
152249
152250       salt.modules.osquery.listening_ports(attrs=None, where=None)
152251              Return listening_ports information from osquery
152252
152253              CLI Example:
152254
152255                 salt '*' osquery.listening_ports
152256
152257       salt.modules.osquery.logged_in_users(attrs=None, where=None)
152258              Return logged_in_users information from osquery
152259
152260              CLI Example:
152261
152262                 salt '*' osquery.logged_in_users
152263
152264       salt.modules.osquery.memory_map(attrs=None, where=None)
152265              Return memory_map information from osquery
152266
152267              CLI Example:
152268
152269                 salt '*' osquery.memory_map
152270
152271       salt.modules.osquery.mounts(attrs=None, where=None)
152272              Return mounts information from osquery
152273
152274              CLI Example:
152275
152276                 salt '*' osquery.mounts
152277
152278       salt.modules.osquery.nfs_shares(attrs=None, where=None)
152279              Return nfs_shares information from osquery
152280
152281              CLI Example:
152282
152283                 salt '*' osquery.nfs_shares
152284
152285       salt.modules.osquery.nvram(attrs=None, where=None)
152286              Return nvram information from osquery
152287
152288              CLI Example:
152289
152290                 salt '*' osquery.nvram
152291
152292       salt.modules.osquery.os_version(attrs=None, where=None)
152293              Return os_version information from osquery
152294
152295              CLI Example:
152296
152297                 salt '*' osquery.os_version
152298
152299       salt.modules.osquery.osquery_extensions(attrs=None, where=None)
152300              Return osquery_extensions information from osquery
152301
152302              CLI Example:
152303
152304                 salt '*' osquery.osquery_extensions
152305
152306       salt.modules.osquery.osquery_flags(attrs=None, where=None)
152307              Return osquery_flags information from osquery
152308
152309              CLI Example:
152310
152311                 salt '*' osquery.osquery_flags
152312
152313       salt.modules.osquery.osquery_info(attrs=None, where=None)
152314              Return osquery_info information from osquery
152315
152316              CLI Example:
152317
152318                 salt '*' osquery.osquery_info
152319
152320       salt.modules.osquery.osquery_registry(attrs=None, where=None)
152321              Return osquery_registry information from osquery
152322
152323              CLI Example:
152324
152325                 salt '*' osquery.osquery_registry
152326
152327       salt.modules.osquery.passwd_changes(attrs=None, where=None)
152328              Return passwd_changes information from osquery
152329
152330              CLI Example:
152331
152332                 salt '*' osquery.passwd_changes
152333
152334       salt.modules.osquery.pci_devices(attrs=None, where=None)
152335              Return pci_devices information from osquery
152336
152337              CLI Example:
152338
152339                 salt '*' osquery.pci_devices
152340
152341       salt.modules.osquery.preferences(attrs=None, where=None)
152342              Return preferences information from osquery
152343
152344              CLI Example:
152345
152346                 salt '*' osquery.preferences
152347
152348       salt.modules.osquery.process_envs(attrs=None, where=None)
152349              Return process_envs information from osquery
152350
152351              CLI Example:
152352
152353                 salt '*' osquery.process_envs
152354
152355       salt.modules.osquery.process_memory_map(attrs=None, where=None)
152356              Return process_memory_map information from osquery
152357
152358              CLI Example:
152359
152360                 salt '*' osquery.process_memory_map
152361
152362       salt.modules.osquery.process_open_files(attrs=None, where=None)
152363              Return process_open_files information from osquery
152364
152365              CLI Example:
152366
152367                 salt '*' osquery.process_open_files
152368
152369       salt.modules.osquery.process_open_sockets(attrs=None, where=None)
152370              Return process_open_sockets information from osquery
152371
152372              CLI Example:
152373
152374                 salt '*' osquery.process_open_sockets
152375
152376       salt.modules.osquery.processes(attrs=None, where=None)
152377              Return processes information from osquery
152378
152379              CLI Example:
152380
152381                 salt '*' osquery.processes
152382
152383       salt.modules.osquery.quarantine(attrs=None, where=None)
152384              Return quarantine information from osquery
152385
152386              CLI Example:
152387
152388                 salt '*' osquery.quarantine
152389
152390       salt.modules.osquery.query(sql=None)
152391              Return time information from osquery
152392
152393              CLI Example:
152394
152395                 salt '*' osquery.query "select * from users;"
152396
152397       salt.modules.osquery.routes(attrs=None, where=None)
152398              Return routes information from osquery
152399
152400              CLI Example:
152401
152402                 salt '*' osquery.routes
152403
152404       salt.modules.osquery.rpm_packages(attrs=None, where=None)
152405              Return cpuid information from osquery
152406
152407              CLI Example:
152408
152409                 salt '*' osquery.rpm_packages
152410
152411       salt.modules.osquery.safari_extensions(attrs=None, where=None)
152412              Return safari_extensions information from osquery
152413
152414              CLI Example:
152415
152416                 salt '*' osquery.safari_extensions
152417
152418       salt.modules.osquery.shared_memory(attrs=None, where=None)
152419              Return shared_memory information from osquery
152420
152421              CLI Example:
152422
152423                 salt '*' osquery.shared_memory
152424
152425       salt.modules.osquery.shell_history(attrs=None, where=None)
152426              Return shell_history information from osquery
152427
152428              CLI Example:
152429
152430                 salt '*' osquery.shell_history
152431
152432       salt.modules.osquery.smbios_tables(attrs=None, where=None)
152433              Return smbios_tables information from osquery
152434
152435              CLI Example:
152436
152437                 salt '*' osquery.smbios_tables
152438
152439       salt.modules.osquery.startup_items(attrs=None, where=None)
152440              Return startup_items information from osquery
152441
152442              CLI Example:
152443
152444                 salt '*' osquery.startup_items
152445
152446       salt.modules.osquery.suid_bin(attrs=None, where=None)
152447              Return suid_bin information from osquery
152448
152449              CLI Example:
152450
152451                 salt '*' osquery.suid_bin
152452
152453       salt.modules.osquery.system_controls(attrs=None, where=None)
152454              Return system_controls information from osquery
152455
152456              CLI Example:
152457
152458                 salt '*' osquery.system_controls
152459
152460       salt.modules.osquery.time_(attrs=None)
152461              Return time information from osquery
152462
152463              CLI Example:
152464
152465                 salt '*' osquery.time
152466
152467       salt.modules.osquery.usb_devices(attrs=None, where=None)
152468              Return usb_devices information from osquery
152469
152470              CLI Example:
152471
152472                 salt '*' osquery.usb_devices
152473
152474       salt.modules.osquery.users(attrs=None, where=None)
152475              Return users information from osquery
152476
152477              CLI Example:
152478
152479                 salt '*' osquery.users
152480
152481       salt.modules.osquery.version()
152482              Return version of osquery
152483
152484              CLI Example:
152485
152486                 salt '*' osquery.version
152487
152488       salt.modules.osquery.xattr_where_from(attrs=None, where=None)
152489              Return xattr_where_from information from osquery
152490
152491              CLI Example:
152492
152493                 salt '*' osquery.xattr_where_from
152494
152495       salt.modules.osquery.xprotect_entries(attrs=None, where=None)
152496              Return xprotect_entries information from osquery
152497
152498              CLI Example:
152499
152500                 salt '*' osquery.xprotect_entries
152501
152502       salt.modules.osquery.xprotect_reports(attrs=None, where=None)
152503              Return xprotect_reports information from osquery
152504
152505              CLI Example:
152506
152507                 salt '*' osquery.xprotect_reports
152508
152509   salt.modules.out module
152510   Output Module
152511       New in version 2018.3.0.
152512
152513
152514       Execution module that processes  JSON  serializable  data  and  returns
152515       string having the format as processed by the outputters.
152516
152517       Although this does not bring much value on the CLI, it turns very handy
152518       in applications that require human readable  data  rather  than  Python
152519       objects.
152520
152521       For example, inside a Jinja template:
152522
152523          {{ salt.out.string_format(complex_object, out='highstate') }}
152524
152525       salt.modules.out.html_format(data, out=u'nested', opts=None, **kwargs)
152526              Return the formatted string as HTML.
152527
152528              data   The JSON serializable object.
152529
152530              out: nested
152531                     The  name  of  the  output  to use to transform the data.
152532                     Default: nested.
152533
152534              opts   Dictionary of configuration options. Default: __opts__.
152535
152536              kwargs Arguments to sent to the outputter module.
152537
152538              CLI Example:
152539
152540                 salt '*' out.html_format "{'key': 'value'}" out=yaml
152541
152542       salt.modules.out.out_format(data, out=u'nested', opts=None, **kwargs)
152543              Return the formatted outputter string for the Python object.
152544
152545              data   The JSON serializable object.
152546
152547              out: nested
152548                     The name of the output to  use  to  transform  the  data.
152549                     Default: nested.
152550
152551              opts   Dictionary of configuration options. Default: __opts__.
152552
152553              kwargs Arguments to sent to the outputter module.
152554
152555              CLI Example:
152556
152557                 salt '*' out.out_format "{'key': 'value'}"
152558
152559       salt.modules.out.string_format(data,      out=u'nested',     opts=None,
152560       **kwargs)
152561              Return the outputter formatted string, removing the ANSI  escape
152562              sequences.
152563
152564              data   The JSON serializable object.
152565
152566              out: nested
152567                     The  name  of  the  output  to use to transform the data.
152568                     Default: nested.
152569
152570              opts   Dictionary of configuration options. Default: __opts__.
152571
152572              kwargs Arguments to sent to the outputter module.
152573
152574              CLI Example:
152575
152576                 salt '*' out.string_format "{'key': 'value'}" out=table
152577
152578   salt.modules.pacmanpkg
152579       A  module  to  wrap  pacman  calls,  since  Arch   is   the   best   (‐
152580       https://wiki.archlinux.org/index.php/Arch_is_the_best)
152581
152582       IMPORTANT:
152583          If you feel that Salt should be using this module to manage packages
152584          on a minion, and it is using a different module (or gives  an  error
152585          similar to 'pkg.install' is not available), see here.
152586
152587       salt.modules.pacmanpkg.file_dict(*packages)
152588              List the files that belong to a package, grouped by package. Not
152589              specifying any packages will return a list of  _every_  file  on
152590              the system's package database (not generally recommended).
152591
152592              CLI Examples:
152593
152594                 salt '*' pkg.file_list httpd
152595                 salt '*' pkg.file_list httpd postfix
152596                 salt '*' pkg.file_list
152597
152598       salt.modules.pacmanpkg.file_list(*packages)
152599              List  the  files  that  belong  to a package. Not specifying any
152600              packages will return a list of  _every_  file  on  the  system's
152601              package database (not generally recommended).
152602
152603              CLI Examples:
152604
152605                 salt '*' pkg.file_list httpd
152606                 salt '*' pkg.file_list httpd postfix
152607                 salt '*' pkg.file_list
152608
152609       salt.modules.pacmanpkg.group_diff(name)
152610              New in version 2016.11.0.
152611
152612
152613              Lists  which  of  a group's packages are installed and which are
152614              not installed
152615
152616              Compatible  with   yumpkg.group_diff   for   easy   support   of
152617              state.pkg.group_installed
152618
152619              CLI Example:
152620
152621                 salt '*' pkg.group_diff 'xorg'
152622
152623       salt.modules.pacmanpkg.group_info(name)
152624              New in version 2016.11.0.
152625
152626
152627              Lists all packages in the specified group
152628
152629              CLI Example:
152630
152631                 salt '*' pkg.group_info 'xorg'
152632
152633       salt.modules.pacmanpkg.group_list()
152634              New in version 2016.11.0.
152635
152636
152637              Lists all groups known by pacman on this system
152638
152639              CLI Example:
152640
152641                 salt '*' pkg.group_list
152642
152643       salt.modules.pacmanpkg.install(name=None,     refresh=False,     sysup‐
152644       grade=None, pkgs=None, sources=None, **kwargs)
152645              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
152646              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
152647              mands which modify installed packages from the salt-minion  dae‐
152648              mon's  control  group. This is done to keep systemd from killing
152649              any pacman commands spawned by Salt when the salt-minion service
152650              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
152651              more information). If desired, usage of  systemd-run(1)  can  be
152652              suppressed by setting a config option called systemd.scope, with
152653              a value of False (no quotes).
152654
152655
152656              Install (pacman -S) the specified packag(s). Add refresh=True to
152657              install with -y, add sysupgrade=True to install with -u.
152658
152659              name   The  name  of the package to be installed. Note that this
152660                     parameter is ignored if either pkgs or sources is passed.
152661                     Additionally,  please  note  that this option can only be
152662                     used to install packages from a software  repository.  To
152663                     install a package file manually, use the sources option.
152664
152665                     CLI Example:
152666
152667                        salt '*' pkg.install <package name>
152668
152669              refresh
152670                     Whether  or  not  to  refresh the package database before
152671                     installing.
152672
152673              sysupgrade
152674                     Whether or not to  upgrade  the  system  packages  before
152675                     installing.   If refresh is set to True but sysupgrade is
152676                     not specified, -u will be applied
152677
152678              Multiple Package Installation Options:
152679
152680              pkgs   A list of packages to install from a software repository.
152681                     Must  be passed as a python list. A specific version num‐
152682                     ber can be specified by using a single-element dict  rep‐
152683                     resenting  the  package and its version. As with the ver‐
152684                     sion parameter above, comparison operators can be used to
152685                     target a specific version of a package.
152686
152687                     CLI Examples:
152688
152689                        salt '*' pkg.install pkgs='["foo", "bar"]'
152690                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4"}]'
152691                        salt '*' pkg.install pkgs='["foo", {"bar": "<1.2.3-4"}]'
152692
152693              sources
152694                     A  list  of packages to install. Must be passed as a list
152695                     of dicts, with the keys being package names, and the val‐
152696                     ues being the source URI or local path to the package.
152697
152698                     CLI Example:
152699
152700                        salt '*' pkg.install                 sources='[{"foo": "salt://foo.pkg.tar.xz"},                 {"bar": "salt://bar.pkg.tar.xz"}]'
152701
152702              Returns a dict containing the new package names and versions:
152703
152704                 {'<package>': {'old': '<old-version>',
152705                                'new': '<new-version>'}}
152706
152707       salt.modules.pacmanpkg.latest_version(*names, **kwargs)
152708              Return  the  latest  version  of the named package available for
152709              upgrade or installation. If more than one package name is speci‐
152710              fied, a dict of name/version pairs is returned.
152711
152712              If  the  latest version of a given package is already installed,
152713              an empty string will be returned for that package.
152714
152715              CLI Example:
152716
152717                 salt '*' pkg.latest_version <package name>
152718                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
152719
152720       salt.modules.pacmanpkg.list_pkgs(versions_as_list=False, **kwargs)
152721              List the packages currently installed as a dict:
152722
152723                 {'<package_name>': '<version>'}
152724
152725              CLI Example:
152726
152727                 salt '*' pkg.list_pkgs
152728
152729       salt.modules.pacmanpkg.list_repo_pkgs(*args, **kwargs)
152730              Returns all available packages. Optionally, package  names  (and
152731              name  globs)  can  be passed and the results will be filtered to
152732              packages matching those names.
152733
152734              This function can be helpful in discovering the version or  repo
152735              to specify in a pkg.installed state.
152736
152737              The  return data will be a dictionary mapping package names to a
152738              list of version numbers,  ordered  from  newest  to  oldest.  If
152739              byrepo  is  set to True, then the return dictionary will contain
152740              repository names at the top level, and each repository will  map
152741              packages to lists of version numbers. For example:
152742
152743                 # With byrepo=False (default)
152744                 {
152745                     'bash': ['4.4.005-2'],
152746                     'nginx': ['1.10.2-2']
152747                 }
152748                 # With byrepo=True
152749                 {
152750                     'core': {
152751                         'bash': ['4.4.005-2']
152752                     },
152753                     'extra': {
152754                         'nginx': ['1.10.2-2']
152755                     }
152756                 }
152757
152758              fromrepo
152759                     None  Only  include  results  from the specified repo(s).
152760                     Multiple repos can be specified, comma-separated.
152761
152762              byrepo False When True, the return data for each package will be
152763                     organized by repository.
152764
152765              refresh
152766                     False  When  True, the package database will be refreshed
152767                     (i.e. pacman -Sy) before checking for available versions.
152768
152769              CLI Examples:
152770
152771                 salt '*' pkg.list_repo_pkgs
152772                 salt '*' pkg.list_repo_pkgs foo bar baz
152773                 salt '*' pkg.list_repo_pkgs 'samba4*' fromrepo=base,updates
152774                 salt '*' pkg.list_repo_pkgs 'python2-*' byrepo=True
152775
152776       salt.modules.pacmanpkg.list_upgrades(refresh=False,          root=None,
152777       **kwargs)
152778              List all available package upgrades on this system
152779
152780              CLI Example:
152781
152782                 salt '*' pkg.list_upgrades
152783
152784       salt.modules.pacmanpkg.owner(*paths)
152785              New in version 2014.7.0.
152786
152787
152788              Return the name of the package that owns the file. Multiple file
152789              paths can be passed. Like  pkg.version,  if  a  single  path  is
152790              passed,  a  string  will  be returned, and if multiple paths are
152791              passed,  a  dictionary  of  file/package  name  pairs  will   be
152792              returned.
152793
152794              If  the file is not owned by a package, or is not present on the
152795              minion, then an empty string will be returned for that path.
152796
152797              CLI Example:
152798                 salt '*'  pkg.owner  /usr/bin/apachectl  salt  '*'  pkg.owner
152799                 /usr/bin/apachectl /usr/bin/zsh
152800
152801       salt.modules.pacmanpkg.purge(name=None, pkgs=None, **kwargs)
152802              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
152803              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
152804              mands  which modify installed packages from the salt-minion dae‐
152805              mon's control group. This is done to keep systemd  from  killing
152806              any pacman commands spawned by Salt when the salt-minion service
152807              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
152808              more  information).  If  desired, usage of systemd-run(1) can be
152809              suppressed by setting a config option called systemd.scope, with
152810              a value of False (no quotes).
152811
152812
152813              Recursively  remove  a  package  and all dependencies which were
152814              installed with it, this will call a pacman -Rsc
152815
152816              name   The name of the package to be deleted.
152817
152818              Multiple Package Options:
152819
152820              pkgs   A list of packages to delete. Must be passed as a  python
152821                     list.  The  name parameter will be ignored if this option
152822                     is passed.
152823
152824              New in version 0.16.0.
152825
152826
152827              Returns a dict containing the changes.
152828
152829              CLI Example:
152830
152831                 salt '*' pkg.purge <package name>
152832                 salt '*' pkg.purge <package1>,<package2>,<package3>
152833                 salt '*' pkg.purge pkgs='["foo", "bar"]'
152834
152835       salt.modules.pacmanpkg.refresh_db(root=None)
152836              Just run a pacman -Sy, return a dict:
152837
152838                 {'<database name>': Bool}
152839
152840              CLI Example:
152841
152842                 salt '*' pkg.refresh_db
152843
152844       salt.modules.pacmanpkg.remove(name=None, pkgs=None, **kwargs)
152845              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
152846              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
152847              mands which modify installed packages from the salt-minion  dae‐
152848              mon's  control  group. This is done to keep systemd from killing
152849              any pacman commands spawned by Salt when the salt-minion service
152850              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
152851              more information). If desired, usage of  systemd-run(1)  can  be
152852              suppressed by setting a config option called systemd.scope, with
152853              a value of False (no quotes).
152854
152855
152856              Remove packages with pacman -R.
152857
152858              name   The name of the package to be deleted.
152859
152860              Multiple Package Options:
152861
152862              pkgs   A list of packages to delete. Must be passed as a  python
152863                     list.  The  name parameter will be ignored if this option
152864                     is passed.
152865
152866              New in version 0.16.0.
152867
152868
152869              Returns a dict containing the changes.
152870
152871              CLI Example:
152872
152873                 salt '*' pkg.remove <package name>
152874                 salt '*' pkg.remove <package1>,<package2>,<package3>
152875                 salt '*' pkg.remove pkgs='["foo", "bar"]'
152876
152877       salt.modules.pacmanpkg.upgrade(refresh=False, root=None, **kwargs)
152878              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
152879              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
152880              mands which modify installed packages from the salt-minion  dae‐
152881              mon's  control  group. This is done to keep systemd from killing
152882              any pacman commands spawned by Salt when the salt-minion service
152883              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
152884              more information). If desired, usage of  systemd-run(1)  can  be
152885              suppressed by setting a config option called systemd.scope, with
152886              a value of False (no quotes).
152887
152888
152889              Run a full system upgrade, a pacman -Syu
152890
152891              refresh
152892                     Whether or not to refresh  the  package  database  before
152893                     installing.
152894
152895              Returns a dictionary containing the changes:
152896
152897                 {'<package>':  {'old': '<old-version>',
152898                                 'new': '<new-version>'}}
152899
152900              CLI Example:
152901
152902                 salt '*' pkg.upgrade
152903
152904       salt.modules.pacmanpkg.upgrade_available(name)
152905              Check whether or not an upgrade is available for a given package
152906
152907              CLI Example:
152908
152909                 salt '*' pkg.upgrade_available <package name>
152910
152911       salt.modules.pacmanpkg.version(*names, **kwargs)
152912              Returns  a  string  representing the package version or an empty
152913              string if not installed. If more than one package name is speci‐
152914              fied, a dict of name/version pairs is returned.
152915
152916              CLI Example:
152917
152918                 salt '*' pkg.version <package name>
152919                 salt '*' pkg.version <package1> <package2> <package3> ...
152920
152921   salt.modules.pagerduty
152922       Module for Firing Events via PagerDuty
152923
152924       New in version 2014.1.0.
152925
152926
152927       configuration
152928              This  module  can be used by specifying the name of a configura‐
152929              tion profile in the minion config, minion pillar, or master con‐
152930              fig.
152931
152932              For example:
152933
152934                 my-pagerduty-account:
152935                     pagerduty.api_key: F3Rbyjbve43rfFWf2214
152936                     pagerduty.subdomain: mysubdomain
152937
152938       salt.modules.pagerduty.create_event(service_key=None, description=None,
152939       details=None, incident_key=None, profile=None)
152940              Create an event in PagerDuty. Designed for use in states.
152941
152942              CLI Example:
152943
152944                 salt myminion pagerduty.create_event <service_key> <description> <details>         profile=my-pagerduty-account
152945
152946              The following parameters are required:
152947
152948              service_key
152949                     This key can be found by using pagerduty.list_services.
152950
152951              description
152952                     This is a short description of the event.
152953
152954              details
152955                     This can be a more detailed description of the event.
152956
152957              profile
152958                     This refers to the configuration profile to use  to  con‐
152959                     nect to the PagerDuty service.
152960
152961       salt.modules.pagerduty.list_escalation_policies(profile=None,
152962       api_key=None)
152963              This function is an alias of list_policies.
152964                 List escalation policies belonging to this account
152965
152966                 CLI Example:
152967                     salt    myminion    pagerduty.list_policies     my-pager‐
152968                     duty-account    salt    myminion   pagerduty.list_escala‐
152969                     tion_policies my-pagerduty-account
152970
152971       salt.modules.pagerduty.list_incidents(profile=None, api_key=None)
152972              List incidents belonging to this account
152973
152974              CLI Example:
152975                 salt myminion pagerduty.list_incidents my-pagerduty-account
152976
152977       salt.modules.pagerduty.list_maintenance_windows(profile=None,
152978       api_key=None)
152979              This function is an alias of list_windows.
152980                 List maintenance windows belonging to this account
152981
152982                 CLI Example:
152983                     salt myminion pagerduty.list_windows my-pagerduty-account
152984                     salt     myminion      pagerduty.list_maintenance_windows
152985                     my-pagerduty-account
152986
152987       salt.modules.pagerduty.list_policies(profile=None, api_key=None)
152988              List escalation policies belonging to this account
152989
152990              CLI Example:
152991                 salt  myminion  pagerduty.list_policies  my-pagerduty-account
152992                 salt  myminion  pagerduty.list_escalation_policies  my-pager‐
152993                 duty-account
152994
152995       salt.modules.pagerduty.list_schedules(profile=None, api_key=None)
152996              List schedules belonging to this account
152997
152998              CLI Example:
152999                 salt myminion pagerduty.list_schedules my-pagerduty-account
153000
153001       salt.modules.pagerduty.list_services(profile=None, api_key=None)
153002              List services belonging to this account
153003
153004              CLI Example:
153005                 salt myminion pagerduty.list_services my-pagerduty-account
153006
153007       salt.modules.pagerduty.list_users(profile=None, api_key=None)
153008              List users belonging to this account
153009
153010              CLI Example:
153011                 salt myminion pagerduty.list_users my-pagerduty-account
153012
153013       salt.modules.pagerduty.list_windows(profile=None, api_key=None)
153014              List maintenance windows belonging to this account
153015
153016              CLI Example:
153017                 salt   myminion  pagerduty.list_windows  my-pagerduty-account
153018                 salt  myminion  pagerduty.list_maintenance_windows  my-pager‐
153019                 duty-account
153020
153021   salt.modules.pagerduty_util
153022       Module for manageing PagerDuty resource
153023
153024       configuration
153025              This  module  can be used by specifying the name of a configura‐
153026              tion profile in the minion config, minion pillar, or master con‐
153027              fig.  The default configuration profile name is 'pagerduty.'
153028
153029              For example:
153030
153031                 pagerduty:
153032                     pagerduty.api_key: F3Rbyjbve43rfFWf2214
153033                     pagerduty.subdomain: mysubdomain
153034
153035       For            PagerDuty           API           details,           see
153036       https://developer.pagerduty.com/documentation/rest
153037
153038       salt.modules.pagerduty_util.create_or_update_resource(resource_name,
153039       identifier_fields,   data,   diff=None,   profile=u'pagerduty',  subdo‐
153040       main=None, api_key=None)
153041              create or  update  any  pagerduty  resource  Helper  method  for
153042              present().
153043
153044              Determining  if two resources are the same is different for dif‐
153045              ferent PD resource, so this method accepts a diff function.  The
153046              diff   function   will  be  invoked  as  diff(state_information,
153047              object_returned_from_pagerduty), and should  return  a  dict  of
153048              data  to  pass to the PagerDuty update API method, or None if no
153049              update is to be performed.  If no diff method is  provided,  the
153050              default  behavor  is  to scan the keys in the state_information,
153051              comparing the matching values in the object_returned_from_pager‐
153052              duty, and update any values that differ.  Examples
153053
153054              create_or_update_resource("user",   ["id","name","email"])  cre‐
153055              ate_or_update_resource("escalation_policies",     ["id","name"],
153056              diff=my_diff_function)
153057
153058       salt.modules.pagerduty_util.delete_resource(resource_name, key, identi‐
153059       fier_fields, profile=u'pagerduty', subdomain=None, api_key=None)
153060              delete any pagerduty resource
153061
153062              Helper method for absent() Example
153063
153064              delete_resource("users", key, ["id","name","email"]) # delete by
153065              id or name or email
153066
153067       salt.modules.pagerduty_util.get_escalation_policies(profile=u'pager‐
153068       duty', subdomain=None, api_key=None)
153069              List escalation_policies belonging to this account
153070
153071              CLI Example:
153072                 salt myminion pagerduty.get_escalation_policies
153073
153074       salt.modules.pagerduty_util.get_resource(resource_name,  key,   identi‐
153075       fier_fields, profile=u'pagerduty', subdomain=None, api_key=None)
153076              Get any single pagerduty resource by key.
153077
153078              We  allow flexible lookup by any of a list of identifier_fields.
153079              So, for example, you can look up users by email address or  name
153080              by calling:
153081                 get_resource('users', key, ['name', 'email'], ...)
153082
153083              This method is mainly used to translate state sls into pagerduty
153084              id's for dependent objects.  For example, a pagerduty escalation
153085              policy  contains  one or more schedules, which must be passed by
153086              their pagerduty id.  We look up the  schedules  by  name  (using
153087              this method), and then translate the names into id's.
153088
153089              This  method  is  implemented  by  getting  all  objects  of the
153090              resource  type  (cached  into  __context__),  then  brute  force
153091              searching  through the list and trying to match any of the iden‐
153092              tifier_fields.  The __context__ cache is purged after  any  cre‐
153093              ate, update or delete to the resource.
153094
153095       salt.modules.pagerduty_util.get_schedules(profile=u'pagerduty',  subdo‐
153096       main=None, api_key=None)
153097              List schedules belonging to this account
153098
153099              CLI Example:
153100                 salt myminion pagerduty.get_schedules
153101
153102       salt.modules.pagerduty_util.get_services(profile=u'pagerduty',   subdo‐
153103       main=None, api_key=None)
153104              List services belonging to this account
153105
153106              CLI Example:
153107                 salt myminion pagerduty.get_services
153108
153109       salt.modules.pagerduty_util.get_users(profile=u'pagerduty',      subdo‐
153110       main=None, api_key=None)
153111              List users belonging to this account
153112
153113              CLI Example:
153114                 salt myminion pagerduty.get_users
153115
153116       salt.modules.pagerduty_util.resource_absent(resource,           identi‐
153117       fier_fields,    profile=u'pagerduty',   subdomain=None,   api_key=None,
153118       **kwargs)
153119              Generic resource.absent state method.   Pagerduty state  modules
153120              should  be  a  thin wrapper over this method, with a custom diff
153121              function.
153122
153123              This method calls delete_resource() and formats the result as  a
153124              salt state return value.  Example
153125
153126              resource_absent("users", ["id","name","email"])
153127
153128       salt.modules.pagerduty_util.resource_present(resource,          identi‐
153129       fier_fields,    diff=None,    profile=u'pagerduty',     subdomain=None,
153130       api_key=None, **kwargs)
153131              Generic resource.present state method.   Pagerduty state modules
153132              should be a thin wrapper over this method, with  a  custom  diff
153133              function.
153134
153135              This  method  calls  create_or_update_resource() and formats the
153136              result as a salt state return value.  Example
153137
153138              resource_present("users", ["id","name","email"])
153139
153140   salt.modules.pam
153141       Support for pam
153142
153143       salt.modules.pam.read_file(file_name)
153144              This is just a test function, to make sure parsing works
153145
153146              CLI Example:
153147
153148                 salt '*' pam.read_file /etc/pam.d/login
153149
153150   salt.modules.panos
153151       Module to provide Palo Alto compatibility to Salt
153152
153153       codeauthor
153154              Spencer Ervin <spencer_ervin@hotmail.com>
153155
153156       maturity
153157              new
153158
153159       depends
153160              none
153161
153162       platform
153163              unix
153164
153165       New in version 2018.3.0.
153166
153167
153168   Configuration
153169       This module accepts connection configuration details either as  parame‐
153170       ters,  or as configuration settings in pillar as a Salt proxy.  Options
153171       passed into opts will be ignored if options are passed into pillar.
153172
153173       SEE ALSO:
153174          Palo Alto Proxy Module
153175
153176   About
153177       This execution module was designed to handle connections to a Palo Alto
153178       based  firewall.  This module adds support to send connections directly
153179       to the device through the XML API or through a brokered  connection  to
153180       Panorama.
153181
153182       salt.modules.panos.add_config_lock()
153183              Prevent  other  users from changing configuration until the lock
153184              is released.
153185
153186              CLI Example:
153187
153188                 salt '*' panos.add_config_lock
153189
153190       salt.modules.panos.check_antivirus()
153191              Get anti-virus information from PaloAlto Networks server
153192
153193              CLI Example:
153194
153195                 salt '*' panos.check_antivirus
153196
153197       salt.modules.panos.check_software()
153198              Get software information from PaloAlto Networks server.
153199
153200              CLI Example:
153201
153202                 salt '*' panos.check_software
153203
153204       salt.modules.panos.clear_commit_tasks()
153205              Clear all commit tasks.
153206
153207              CLI Example:
153208
153209                 salt '*' panos.clear_commit_tasks
153210
153211       salt.modules.panos.commit()
153212              Commits the candidate configuration to  the  running  configura‐
153213              tion.
153214
153215              CLI Example:
153216
153217                 salt '*' panos.commit
153218
153219       salt.modules.panos.deactivate_license(key_name=None)
153220              Deactivates  an  installed  license.   Required version 7.0.0 or
153221              greater.
153222
153223              key_name(str): The file name of the license key installed.
153224
153225              CLI Example:
153226
153227                 salt '*' panos.deactivate_license key_name=License_File_Name.key
153228
153229       salt.modules.panos.delete_license(key_name=None)
153230              Remove license keys on disk.
153231
153232              key_name(str): The file name of the license key to be deleted.
153233
153234              CLI Example:
153235
153236                 salt '*' panos.delete_license key_name=License_File_Name.key
153237
153238       salt.modules.panos.download_antivirus()
153239              Download the most recent anti-virus package.
153240
153241              CLI Example:
153242
153243                 salt '*' panos.download_antivirus
153244
153245       salt.modules.panos.download_software_file(filename=None, synch=False)
153246              Download software packages by filename.
153247
153248              Parameters
153249
153250                     · filename (str) -- The filename of  the  PANOS  file  to
153251                       download.
153252
153253                     · synch (bool) -- If true then the file will synch to the
153254                       peer unit.
153255
153256              CLI Example:
153257
153258                 salt '*' panos.download_software_file PanOS_5000-8.0.0
153259                 salt '*' panos.download_software_file PanOS_5000-8.0.0 True
153260
153261       salt.modules.panos.download_software_version(version=None, synch=False)
153262              Download software packages by version number.
153263
153264              Parameters
153265
153266                     · version (str) -- The version of the PANOS file to down‐
153267                       load.
153268
153269                     · synch (bool) -- If true then the file will synch to the
153270                       peer unit.
153271
153272              CLI Example:
153273
153274                 salt '*' panos.download_software_version 8.0.0
153275                 salt '*' panos.download_software_version 8.0.0 True
153276
153277       salt.modules.panos.fetch_license(auth_code=None)
153278              Get new license(s) using from the Palo Alto Network Server.
153279
153280              auth_code
153281                     The license authorization code.
153282
153283              CLI Example:
153284
153285                 salt '*' panos.fetch_license
153286                 salt '*' panos.fetch_license auth_code=foobar
153287
153288       salt.modules.panos.get_address(address=None, vsys=u'1')
153289              Get the candidate configuration for  the  specified  get_address
153290              object.  This will not return address objects that are marked as
153291              pre-defined objects.
153292
153293              address(str): The name of the address object.
153294
153295              vsys(str): The string representation of the VSYS ID.
153296
153297              CLI Example:
153298
153299                 salt '*' panos.get_address myhost
153300                 salt '*' panos.get_address myhost 3
153301
153302       salt.modules.panos.get_address_group(addressgroup=None, vsys=u'1')
153303              Get the candidate configuration for the specified address group.
153304              This   will  not  return  address  groups  that  are  marked  as
153305              pre-defined objects.
153306
153307              addressgroup(str): The name of the address group.
153308
153309              vsys(str): The string representation of the VSYS ID.
153310
153311              CLI Example:
153312
153313                 salt '*' panos.get_address_group foobar
153314                 salt '*' panos.get_address_group foobar 3
153315
153316       salt.modules.panos.get_admins_active()
153317              Show active administrators.
153318
153319              CLI Example:
153320
153321                 salt '*' panos.get_admins_active
153322
153323       salt.modules.panos.get_admins_all()
153324              Show all administrators.
153325
153326              CLI Example:
153327
153328                 salt '*' panos.get_admins_all
153329
153330       salt.modules.panos.get_antivirus_info()
153331              Show information about available anti-virus packages.
153332
153333              CLI Example:
153334
153335                 salt '*' panos.get_antivirus_info
153336
153337       salt.modules.panos.get_arp()
153338              Show ARP information.
153339
153340              CLI Example:
153341
153342                 salt '*' panos.get_arp
153343
153344       salt.modules.panos.get_cli_idle_timeout()
153345              Show timeout information for this administrative session.
153346
153347              CLI Example:
153348
153349                 salt '*' panos.get_cli_idle_timeout
153350
153351       salt.modules.panos.get_cli_permissions()
153352              Show cli administrative permissions.
153353
153354              CLI Example:
153355
153356                 salt '*' panos.get_cli_permissions
153357
153358       salt.modules.panos.get_disk_usage()
153359              Report filesystem disk space usage.
153360
153361              CLI Example:
153362
153363                 salt '*' panos.get_disk_usage
153364
153365       salt.modules.panos.get_dns_server_config()
153366              Get the DNS server configuration from the  candidate  configura‐
153367              tion.
153368
153369              CLI Example:
153370
153371                 salt '*' panos.get_dns_server_config
153372
153373       salt.modules.panos.get_domain_config()
153374              Get  the domain name configuration from the candidate configura‐
153375              tion.
153376
153377              CLI Example:
153378
153379                 salt '*' panos.get_domain_config
153380
153381       salt.modules.panos.get_dos_blocks()
153382              Show the DoS block-ip table.
153383
153384              CLI Example:
153385
153386                 salt '*' panos.get_dos_blocks
153387
153388       salt.modules.panos.get_fqdn_cache()
153389              Print FQDNs used in rules and their IPs.
153390
153391              CLI Example:
153392
153393                 salt '*' panos.get_fqdn_cache
153394
153395       salt.modules.panos.get_ha_config()
153396              Get the high availability configuration.
153397
153398              CLI Example:
153399
153400                 salt '*' panos.get_ha_config
153401
153402       salt.modules.panos.get_ha_link()
153403                 Show high-availability link-monitoring state.
153404
153405                 CLI Example:
153406
153407                 salt '*' panos.get_ha_link
153408
153409       salt.modules.panos.get_ha_path()
153410              Show high-availability path-monitoring state.
153411
153412              CLI Example:
153413
153414                 salt '*' panos.get_ha_path
153415
153416       salt.modules.panos.get_ha_state()
153417              Show high-availability state information.
153418
153419              CLI Example:
153420
153421                 salt '*' panos.get_ha_state
153422
153423       salt.modules.panos.get_ha_transitions()
153424              Show high-availability transition statistic information.
153425
153426              CLI Example:
153427
153428                 salt '*' panos.get_ha_transitions
153429
153430       salt.modules.panos.get_hostname()
153431              Get the hostname of the device.
153432
153433              CLI Example:
153434
153435                 salt '*' panos.get_hostname
153436
153437       salt.modules.panos.get_interface_counters(name=u'all')
153438              Get the counter statistics for interfaces.
153439
153440              Parameters
153441                     name (str) -- The name  of  the  interface  to  view.  By
153442                     default, all interface statistics are viewed.
153443
153444              CLI Example:
153445
153446                 salt '*' panos.get_interface_counters
153447                 salt '*' panos.get_interface_counters ethernet1/1
153448
153449       salt.modules.panos.get_interfaces(name=u'all')
153450              Show interface information.
153451
153452              Parameters
153453                     name  (str)  --  The  name  of  the interface to view. By
153454                     default, all interface statistics are viewed.
153455
153456              CLI Example:
153457
153458                 salt '*' panos.get_interfaces
153459                 salt '*' panos.get_interfaces ethernet1/1
153460
153461       salt.modules.panos.get_job(jid=None)
153462              List all a single job by ID.
153463
153464              jid    The ID of the job to retrieve.
153465
153466              CLI Example:
153467
153468                 salt '*' panos.get_job jid=15
153469
153470       salt.modules.panos.get_jobs(state=u'all')
153471              List all jobs on the device.
153472
153473              state  The state of the jobs to display. Valid options are  all,
153474                     pending,  or  processed.  Pending  jobs are jobs that are
153475                     currently in a running or waiting state.  Processed  jobs
153476                     are jobs that have completed execution.
153477
153478              CLI Example:
153479
153480                 salt '*' panos.get_jobs
153481                 salt '*' panos.get_jobs state=pending
153482
153483       salt.modules.panos.get_lacp()
153484              Show LACP state.
153485
153486              CLI Example:
153487
153488                 salt '*' panos.get_lacp
153489
153490       salt.modules.panos.get_license_info()
153491              Show information about owned license(s).
153492
153493              CLI Example:
153494
153495                 salt '*' panos.get_license_info
153496
153497       salt.modules.panos.get_license_tokens()
153498              Show license token files for manual license deactivation.
153499
153500              CLI Example:
153501
153502                 salt '*' panos.get_license_tokens
153503
153504       salt.modules.panos.get_lldp_config()
153505              Show lldp config for interfaces.
153506
153507              CLI Example:
153508
153509                 salt '*' panos.get_lldp_config
153510
153511       salt.modules.panos.get_lldp_counters()
153512              Show lldp counters for interfaces.
153513
153514              CLI Example:
153515
153516                 salt '*' panos.get_lldp_counters
153517
153518       salt.modules.panos.get_lldp_local()
153519              Show lldp local info for interfaces.
153520
153521              CLI Example:
153522
153523                 salt '*' panos.get_lldp_local
153524
153525       salt.modules.panos.get_lldp_neighbors()
153526              Show lldp neighbors info for interfaces.
153527
153528              CLI Example:
153529
153530                 salt '*' panos.get_lldp_neighbors
153531
153532       salt.modules.panos.get_local_admins()
153533              Show all local administrator accounts.
153534
153535              CLI Example:
153536
153537                 salt '*' panos.get_local_admins
153538
153539       salt.modules.panos.get_logdb_quota()
153540              Report the logdb quotas.
153541
153542              CLI Example:
153543
153544                 salt '*' panos.get_logdb_quota
153545
153546       salt.modules.panos.get_master_key()
153547              Get the master key properties.
153548
153549              CLI Example:
153550
153551                 salt '*' panos.get_master_key
153552
153553       salt.modules.panos.get_ntp_config()
153554              Get the NTP configuration from the candidate configuration.
153555
153556              CLI Example:
153557
153558                 salt '*' panos.get_ntp_config
153559
153560       salt.modules.panos.get_ntp_servers()
153561              Get list of configured NTP servers.
153562
153563              CLI Example:
153564
153565                 salt '*' panos.get_ntp_servers
153566
153567       salt.modules.panos.get_operational_mode()
153568              Show device operational mode setting.
153569
153570              CLI Example:
153571
153572                 salt '*' panos.get_operational_mode
153573
153574       salt.modules.panos.get_panorama_status()
153575              Show panorama connection status.
153576
153577              CLI Example:
153578
153579                 salt '*' panos.get_panorama_status
153580
153581       salt.modules.panos.get_permitted_ips()
153582              Get  the IP addresses that are permitted to establish management
153583              connections to the device.
153584
153585              CLI Example:
153586
153587                 salt '*' panos.get_permitted_ips
153588
153589       salt.modules.panos.get_platform()
153590              Get the platform model information and limitations.
153591
153592              CLI Example:
153593
153594                 salt '*' panos.get_platform
153595
153596       salt.modules.panos.get_predefined_application(application=None)
153597              Get the configuration for the specified pre-defined  application
153598              object. This will only return pre-defined application objects.
153599
153600              application(str):   The  name  of  the  pre-defined  application
153601              object.
153602
153603              CLI Example:
153604
153605                 salt '*' panos.get_predefined_application saltstack
153606
153607       salt.modules.panos.get_security_rule(rulename=None, vsys=u'1')
153608              Get the candidate configuration for the specified security rule.
153609
153610              rulename(str): The name of the security rule.
153611
153612              vsys(str): The string representation of the VSYS ID.
153613
153614              CLI Example:
153615
153616                 salt '*' panos.get_security_rule rule01
153617                 salt '*' panos.get_security_rule rule01 3
153618
153619       salt.modules.panos.get_service(service=None, vsys=u'1')
153620              Get  the  candidate  configuration  for  the  specified  service
153621              object.  This  will  not  return  services  that  are  marked as
153622              pre-defined objects.
153623
153624              service(str): The name of the service object.
153625
153626              vsys(str): The string representation of the VSYS ID.
153627
153628              CLI Example:
153629
153630                 salt '*' panos.get_service tcp-443
153631                 salt '*' panos.get_service tcp-443 3
153632
153633       salt.modules.panos.get_service_group(servicegroup=None, vsys=u'1')
153634              Get the candidate configuration for the specified service group.
153635              This   will  not  return  service  groups  that  are  marked  as
153636              pre-defined objects.
153637
153638              servicegroup(str): The name of the service group.
153639
153640              vsys(str): The string representation of the VSYS ID.
153641
153642              CLI Example:
153643
153644                 salt '*' panos.get_service_group foobar
153645                 salt '*' panos.get_service_group foobar 3
153646
153647       salt.modules.panos.get_session_info()
153648              Show device session statistics.
153649
153650              CLI Example:
153651
153652                 salt '*' panos.get_session_info
153653
153654       salt.modules.panos.get_snmp_config()
153655              Get the SNMP configuration from the device.
153656
153657              CLI Example:
153658
153659                 salt '*' panos.get_snmp_config
153660
153661       salt.modules.panos.get_software_info()
153662              Show information about available software packages.
153663
153664              CLI Example:
153665
153666                 salt '*' panos.get_software_info
153667
153668       salt.modules.panos.get_system_date_time()
153669              Get the system date/time.
153670
153671              CLI Example:
153672
153673                 salt '*' panos.get_system_date_time
153674
153675       salt.modules.panos.get_system_files()
153676              List important files in the system.
153677
153678              CLI Example:
153679
153680                 salt '*' panos.get_system_files
153681
153682       salt.modules.panos.get_system_info()
153683              Get the system information.
153684
153685              CLI Example:
153686
153687                 salt '*' panos.get_system_info
153688
153689       salt.modules.panos.get_system_services()
153690              Show system services.
153691
153692              CLI Example:
153693
153694                 salt '*' panos.get_system_services
153695
153696       salt.modules.panos.get_system_state(mask=None)
153697              Show the system state variables.
153698
153699              mask   Filters by a subtree or a wildcard.
153700
153701              CLI Example:
153702
153703                 salt '*' panos.get_system_state
153704                 salt '*' panos.get_system_state mask=cfg.ha.config.enabled
153705                 salt '*' panos.get_system_state mask=cfg.ha.*
153706
153707       salt.modules.panos.get_uncommitted_changes()
153708              Retrieve a list  of  all  uncommitted  changes  on  the  device.
153709              Requires PANOS version 8.0.0 or greater.
153710
153711              CLI Example:
153712
153713                 salt '*' panos.get_uncommitted_changes
153714
153715       salt.modules.panos.get_users_config()
153716              Get the local administrative user account configuration.
153717
153718              CLI Example:
153719
153720                 salt '*' panos.get_users_config
153721
153722       salt.modules.panos.get_vlans()
153723              Show all VLAN information.
153724
153725              CLI Example:
153726
153727                 salt '*' panos.get_vlans
153728
153729       salt.modules.panos.get_xpath(xpath=u'')
153730              Retrieve a specified xpath from the candidate configuration.
153731
153732              xpath(str): The specified xpath in the candidate configuration.
153733
153734              CLI Example:
153735
153736                 salt '*' panos.get_xpath /config/shared/service
153737
153738       salt.modules.panos.get_zone(zone=u'', vsys=u'1')
153739              Get the candidate configuration for the specified zone.
153740
153741              zone(str): The name of the zone.
153742
153743              vsys(str): The string representation of the VSYS ID.
153744
153745              CLI Example:
153746
153747                 salt '*' panos.get_zone trust
153748                 salt '*' panos.get_zone trust 2
153749
153750       salt.modules.panos.get_zones(vsys=u'1')
153751              Get all the zones in the candidate configuration.
153752
153753              vsys(str): The string representation of the VSYS ID.
153754
153755              CLI Example:
153756
153757                 salt '*' panos.get_zones
153758                 salt '*' panos.get_zones 2
153759
153760       salt.modules.panos.install_antivirus(version=None,        latest=False,
153761       synch=False, skip_commit=False)
153762              Install anti-virus packages.
153763
153764              Parameters
153765
153766                     · version (str) -- The  version  of  the  PANOS  file  to
153767                       install.
153768
153769                     · latest  (bool)  --  If true, the latest anti-virus file
153770                       will be installed.  The specified version  option  will
153771                       be ignored.
153772
153773                     · synch  (bool)  -- If true, the anti-virus will synch to
153774                       the peer unit.
153775
153776                     · skip_commit (bool) -- If true, the  install  will  skip
153777                       committing to the device.
153778
153779              CLI Example:
153780
153781                 salt '*' panos.install_antivirus 8.0.0
153782
153783       salt.modules.panos.install_license()
153784              Install the license key(s).
153785
153786              CLI Example:
153787
153788                 salt '*' panos.install_license
153789
153790       salt.modules.panos.install_software(version=None)
153791              Upgrade to a software package by version.
153792
153793              Parameters
153794                     version  (str)  --  The  version  of  the  PANOS  file to
153795                     install.
153796
153797              CLI Example:
153798
153799                 salt '*' panos.install_license 8.0.0
153800
153801       salt.modules.panos.reboot()
153802              Reboot a running system.
153803
153804              CLI Example:
153805
153806                 salt '*' panos.reboot
153807
153808       salt.modules.panos.refresh_fqdn_cache(force=False)
153809              Force refreshes all FQDNs used in rules.
153810
153811              force  Forces all fqdn refresh
153812
153813              CLI Example:
153814
153815                 salt '*' panos.refresh_fqdn_cache
153816                 salt '*' panos.refresh_fqdn_cache force=True
153817
153818       salt.modules.panos.remove_config_lock()
153819              Release config lock previously held.
153820
153821              CLI Example:
153822
153823                 salt '*' panos.remove_config_lock
153824
153825       salt.modules.panos.resolve_address(address=None, vsys=None)
153826              Resolve address  to  ip  address.   Required  version  7.0.0  or
153827              greater.
153828
153829              address
153830                     Address name you want to resolve.
153831
153832              vsys   The vsys name.
153833
153834              CLI Example:
153835
153836                 salt '*' panos.resolve_address foo.bar.com
153837                 salt '*' panos.resolve_address foo.bar.com vsys=2
153838
153839       salt.modules.panos.save_device_config(filename=None)
153840              Save device configuration to a named file.
153841
153842              filename
153843                     The filename to save the configuration to.
153844
153845              CLI Example:
153846
153847                 salt '*' panos.save_device_config foo.xml
153848
153849       salt.modules.panos.save_device_state()
153850              Save files needed to restore device to local disk.
153851
153852              CLI Example:
153853
153854                 salt '*' panos.save_device_state
153855
153856       salt.modules.panos.set_authentication_profile(profile=None,
153857       deploy=False)
153858              Set the authentication profile of the Palo Alto proxy minion.  A
153859              commit will be required before this is processed.
153860
153861              CLI Example:
153862
153863              Parameters
153864
153865                     · profile (str) -- The name of the authentication profile
153866                       to set.
153867
153868                     · deploy (bool) -- If true then commit the full candidate
153869                       configuration, if false only set pending change.
153870
153871                 salt '*' panos.set_authentication_profile foo
153872                 salt '*' panos.set_authentication_profile foo deploy=True
153873
153874       salt.modules.panos.set_hostname(hostname=None, deploy=False)
153875              Set the hostname of the Palo Alto proxy minion. A commit will be
153876              required before this is processed.
153877
153878              CLI Example:
153879
153880              Parameters
153881
153882                     · hostname (str) -- The hostname to set
153883
153884                     · deploy (bool) -- If true then commit the full candidate
153885                       configuration, if false only set pending change.
153886
153887                 salt '*' panos.set_hostname newhostname
153888                 salt '*' panos.set_hostname newhostname deploy=True
153889
153890       salt.modules.panos.set_management_http(enabled=True, deploy=False)
153891              Enables or disables the HTTP management service on the device.
153892
153893              CLI Example:
153894
153895              Parameters
153896
153897                     · enabled  (bool) -- If true the service will be enabled.
153898                       If false the service will be disabled.
153899
153900                     · deploy (bool) -- If true then commit the full candidate
153901                       configuration, if false only set pending change.
153902
153903                 salt '*' panos.set_management_http
153904                 salt '*' panos.set_management_http enabled=False deploy=True
153905
153906       salt.modules.panos.set_management_https(enabled=True, deploy=False)
153907              Enables or disables the HTTPS management service on the device.
153908
153909              CLI Example:
153910
153911              Parameters
153912
153913                     · enabled  (bool) -- If true the service will be enabled.
153914                       If false the service will be disabled.
153915
153916                     · deploy (bool) -- If true then commit the full candidate
153917                       configuration, if false only set pending change.
153918
153919                 salt '*' panos.set_management_https
153920                 salt '*' panos.set_management_https enabled=False deploy=True
153921
153922       salt.modules.panos.set_management_icmp(enabled=True, deploy=False)
153923              Enables or disables the ICMP management service on the device.
153924
153925              CLI Example:
153926
153927              Parameters
153928
153929                     · enabled  (bool) -- If true the service will be enabled.
153930                       If false the service will be disabled.
153931
153932                     · deploy (bool) -- If true then commit the full candidate
153933                       configuration, if false only set pending change.
153934
153935                 salt '*' panos.set_management_icmp
153936                 salt '*' panos.set_management_icmp enabled=False deploy=True
153937
153938       salt.modules.panos.set_management_ocsp(enabled=True, deploy=False)
153939              Enables  or  disables  the  HTTP  OCSP management service on the
153940              device.
153941
153942              CLI Example:
153943
153944              Parameters
153945
153946                     · enabled (bool) -- If true the service will be  enabled.
153947                       If false the service will be disabled.
153948
153949                     · deploy (bool) -- If true then commit the full candidate
153950                       configuration, if false only set pending change.
153951
153952                 salt '*' panos.set_management_ocsp
153953                 salt '*' panos.set_management_ocsp enabled=False deploy=True
153954
153955       salt.modules.panos.set_management_snmp(enabled=True, deploy=False)
153956              Enables or disables the SNMP management service on the device.
153957
153958              CLI Example:
153959
153960              Parameters
153961
153962                     · enabled (bool) -- If true the service will be  enabled.
153963                       If false the service will be disabled.
153964
153965                     · deploy (bool) -- If true then commit the full candidate
153966                       configuration, if false only set pending change.
153967
153968                 salt '*' panos.set_management_snmp
153969                 salt '*' panos.set_management_snmp enabled=False deploy=True
153970
153971       salt.modules.panos.set_management_ssh(enabled=True, deploy=False)
153972              Enables or disables the SSH management service on the device.
153973
153974              CLI Example:
153975
153976              Parameters
153977
153978                     · enabled (bool) -- If true the service will be  enabled.
153979                       If false the service will be disabled.
153980
153981                     · deploy (bool) -- If true then commit the full candidate
153982                       configuration, if false only set pending change.
153983
153984                 salt '*' panos.set_management_ssh
153985                 salt '*' panos.set_management_ssh enabled=False deploy=True
153986
153987       salt.modules.panos.set_management_telnet(enabled=True, deploy=False)
153988              Enables or disables the Telnet management service on the device.
153989
153990              CLI Example:
153991
153992              Parameters
153993
153994                     · enabled (bool) -- If true the service will be  enabled.
153995                       If false the service will be disabled.
153996
153997                     · deploy (bool) -- If true then commit the full candidate
153998                       configuration, if false only set pending change.
153999
154000                 salt '*' panos.set_management_telnet
154001                 salt '*' panos.set_management_telnet enabled=False deploy=True
154002
154003       salt.modules.panos.set_ntp_authentication(target=None,      authentica‐
154004       tion_type=None,  key_id=None,  authentication_key=None, algorithm=None,
154005       deploy=False)
154006              Set the NTP authentication of the Palo Alto proxy minion. A com‐
154007              mit will be required before this is processed.
154008
154009              CLI Example:
154010
154011              Parameters
154012
154013                     · target  (str) -- Determines the target of the authenti‐
154014                       cation. Valid options are primary, secondary, or both.
154015
154016                     · authentication_type (str) -- The authentication type to
154017                       be  used.  Valid  options  are  symmetric, autokey, and
154018                       none.
154019
154020                     · key_id (int) -- The NTP authentication key ID.
154021
154022                     · authentication_key (str) -- The authentication key.
154023
154024                     · algorithm (str) -- The algorithm type to be used for  a
154025                       symmetric key. Valid options are md5 and sha1.
154026
154027                     · deploy (bool) -- If true then commit the full candidate
154028                       configuration, if false only set pending change.
154029
154030                 salt '*' ntp.set_authentication target=both authentication_type=autokey
154031                 salt '*' ntp.set_authentication target=primary authentication_type=none
154032                 salt '*' ntp.set_authentication target=both authentication_type=symmetric key_id=15 authentication_key=mykey algorithm=md5
154033                 salt '*' ntp.set_authentication target=both authentication_type=symmetric key_id=15 authentication_key=mykey algorithm=md5 deploy=True
154034
154035       salt.modules.panos.set_ntp_servers(primary_server=None,            sec‐
154036       ondary_server=None, deploy=False)
154037              Set the NTP servers of the Palo Alto proxy minion. A commit will
154038              be required before this is processed.
154039
154040              CLI Example:
154041
154042              Parameters
154043
154044                     · primary_server (str)  --  The  primary  NTP  server  IP
154045                       address or FQDN.
154046
154047                     · secondary_server  (str)  -- The secondary NTP server IP
154048                       address or FQDN.
154049
154050                     · deploy (bool) -- If true then commit the full candidate
154051                       configuration, if false only set pending change.
154052
154053                 salt '*' ntp.set_servers 0.pool.ntp.org 1.pool.ntp.org
154054                 salt '*' ntp.set_servers primary_server=0.pool.ntp.org secondary_server=1.pool.ntp.org
154055                 salt '*' ntp.ser_servers 0.pool.ntp.org 1.pool.ntp.org deploy=True
154056
154057       salt.modules.panos.set_permitted_ip(address=None, deploy=False)
154058              Add an IPv4 address or network to the permitted IP list.
154059
154060              CLI Example:
154061
154062              Parameters
154063
154064                     · address  (str)  -- The IPv4 address or network to allow
154065                       access to add to the Palo Alto device.
154066
154067                     · deploy (bool) -- If true then commit the full candidate
154068                       configuration, if false only set pending change.
154069
154070                 salt '*' panos.set_permitted_ip 10.0.0.1
154071                 salt '*' panos.set_permitted_ip 10.0.0.0/24
154072                 salt '*' panos.set_permitted_ip 10.0.0.1 deploy=True
154073
154074       salt.modules.panos.set_timezone(tz=None, deploy=False)
154075              Set the timezone of the Palo Alto proxy minion. A commit will be
154076              required before this is processed.
154077
154078              CLI Example:
154079
154080              Parameters
154081
154082                     · tz (str) -- The name of the timezone to set.
154083
154084                     · deploy (bool) -- If true then commit the full candidate
154085                       configuration, if false only set pending change.
154086
154087                 salt '*' panos.set_timezone UTC
154088                 salt '*' panos.set_timezone UTC deploy=True
154089
154090       salt.modules.panos.shutdown()
154091              Shutdown a running system.
154092
154093              CLI Example:
154094
154095                 salt '*' panos.shutdown
154096
154097       salt.modules.panos.test_fib_route(ip=None, vr=u'vr1')
154098              Perform a route lookup within active route table (fib).
154099
154100              ip (str): The destination IP address to test.
154101
154102              vr (str): The name of the virtual router to test.
154103
154104              CLI Example:
154105
154106                 salt '*' panos.test_fib_route 4.2.2.2
154107                 salt '*' panos.test_fib_route 4.2.2.2 my-vr
154108
154109       salt.modules.panos.test_security_policy(sourcezone=None,   destination‐
154110       zone=None,  source=None,  destination=None,  protocol=None,  port=None,
154111       application=None, category=None, vsys=u'1', allrules=False)
154112              Checks  which  security  policy  as connection will match on the
154113              device.
154114
154115              sourcezone (str): The source zone matched  against  the  connec‐
154116              tion.
154117
154118              destinationzone  (str): The destination zone matched against the
154119              connection.
154120
154121              source (str): The source address.  This  must  be  a  single  IP
154122              address.
154123
154124              destination  (str): The destination address. This must be a sin‐
154125              gle IP address.
154126
154127              protocol (int): The protocol number for the connection. This  is
154128              the numerical representation of the protocol.
154129
154130              port (int): The port number for the connection.
154131
154132              application (str): The application that should be matched.
154133
154134              category (str): The category that should be matched.
154135
154136              vsys (int): The numerical representation of the VSYS ID.
154137
154138              allrules  (bool):  Show  all  potential  match rules until first
154139              allow rule.
154140
154141              CLI Example:
154142
154143                 salt '*' panos.test_security_policy sourcezone=trust destinationzone=untrust protocol=6 port=22
154144                 salt '*' panos.test_security_policy sourcezone=trust destinationzone=untrust protocol=6 port=22 vsys=2
154145
154146       salt.modules.panos.unlock_admin(username=None)
154147              Unlocks a locked administrator account.
154148
154149              username
154150                     Username of the administrator.
154151
154152              CLI Example:
154153
154154                 salt '*' panos.unlock_admin username=bob
154155
154156   salt.modules.parallels module
154157       Manage Parallels Desktop VMs with prlctl and prlsrvctl.  Only  some  of
154158       the prlctl commands implemented so far.  Of those that have been imple‐
154159       mented, not all of the options may have been provided yet.  For a  com‐
154160       plete reference, see the Parallels Desktop Reference Guide.
154161
154162       This  module  requires  the  prlctl  binary to be installed to run most
154163       functions.   To  run  parallels.prlsrvctl,  the  prlsrvctl  binary   is
154164       required.
154165
154166       What  has  not  been  implemented  yet  can  be accessed through paral‐
154167       lels.prlctl and parallels.prlsrvctl (note the preceding double dash  --
154168       as necessary):
154169
154170          salt '*' parallels.prlctl installtools macvm runas=macdev
154171          salt -- '*' parallels.prlctl capture 'macvm --file macvm.display.png' runas=macdev
154172          salt -- '*' parallels.prlsrvctl set '--mem-limit auto' runas=macdev
154173
154174       New in version 2016.3.0.
154175
154176
154177       salt.modules.parallels.clone(name,    new_name,    linked=False,   tem‐
154178       plate=False, runas=None)
154179              Clone a VM
154180
154181              New in version 2016.11.0.
154182
154183
154184              Parameters
154185
154186                     · name (str) -- Name/ID of VM to clone
154187
154188                     · new_name (str) -- Name of the new VM
154189
154190                     · linked (bool) -- Create a linked virtual machine.
154191
154192                     · template (bool) -- Create a  virtual  machine  template
154193                       instead of a real virtual machine.
154194
154195                     · runas (str) -- The user that the prlctl command will be
154196                       run as
154197
154198              Example:
154199
154200                 salt '*' parallels.clone macvm macvm_new runas=macdev
154201                 salt '*' parallels.clone macvm macvm_templ template=True runas=macdev
154202
154203       salt.modules.parallels.delete(name, runas=None)
154204              Delete a VM
154205
154206              New in version 2016.11.0.
154207
154208
154209              Parameters
154210
154211                     · name (str) -- Name/ID of VM to clone
154212
154213                     · runas (str) -- The user that the prlctl command will be
154214                       run as
154215
154216              Example:
154217
154218                 salt '*' parallels.exec macvm 'find /etc/paths.d' runas=macdev
154219
154220       salt.modules.parallels.delete_snapshot(name,   snap_name,   runas=None,
154221       all=False)
154222              Delete a snapshot
154223
154224              NOTE:
154225                 Deleting a snapshot from which other  snapshots  are  dervied
154226                 will not delete the derived snapshots
154227
154228              Parameters
154229
154230                     · name  (str)  --  Name/ID  of  VM whose snapshot will be
154231                       deleted
154232
154233                     · snap_name (str) -- Name/ID of snapshot to delete
154234
154235                     · runas (str) -- The user that the prlctl command will be
154236                       run as
154237
154238                     · all (bool) --
154239
154240                       Delete all snapshots having the name given
154241
154242                       New in version 2016.11.0.
154243
154244
154245
154246              Example:
154247
154248                 salt '*' parallels.delete_snapshot macvm 'unneeded snapshot' runas=macdev
154249                 salt '*' parallels.delete_snapshot macvm 'Snapshot for linked clone' all=True runas=macdev
154250
154251       salt.modules.parallels.exec_(name, command, runas=None)
154252              Run a command on a VM
154253
154254              Parameters
154255
154256                     · name (str) -- Name/ID of VM whose exec will be returned
154257
154258                     · command (str) -- Command to run on the VM
154259
154260                     · runas (str) -- The user that the prlctl command will be
154261                       run as
154262
154263              Example:
154264
154265                 salt '*' parallels.exec macvm 'find /etc/paths.d' runas=macdev
154266
154267       salt.modules.parallels.exists(name, runas=None)
154268              Query whether a VM exists
154269
154270              New in version 2016.11.0.
154271
154272
154273              Parameters
154274
154275                     · name (str) -- Name/ID of VM
154276
154277                     · runas (str) -- The user that the prlctl command will be
154278                       run as
154279
154280              Example:
154281
154282                 salt '*' parallels.exists macvm runas=macdev
154283
154284       salt.modules.parallels.list_snapshots(name, snap_name=None, tree=False,
154285       names=False, runas=None)
154286              List the snapshots
154287
154288              Parameters
154289
154290                     · name (str) -- Name/ID of VM  whose  snapshots  will  be
154291                       listed
154292
154293                     · snap_id  (str) -- Name/ID of snapshot to display infor‐
154294                       mation about.  If tree=True is also specified,  display
154295                       the  snapshot  subtree having this snapshot as the root
154296                       snapshot
154297
154298                     · tree (bool) -- List snapshots  in  tree  format  rather
154299                       than tabular format
154300
154301                     · names (bool) -- List snapshots as ID, name pairs
154302
154303                     · runas (str) -- The user that the prlctl command will be
154304                       run as
154305
154306              Example:
154307
154308                 salt '*' parallels.list_snapshots macvm runas=macdev
154309                 salt '*' parallels.list_snapshots macvm tree=True runas=macdev
154310                 salt '*' parallels.list_snapshots macvm snap_name=original runas=macdev
154311                 salt '*' parallels.list_snapshots macvm names=True runas=macdev
154312
154313       salt.modules.parallels.list_vms(name=None,    info=False,    all=False,
154314       args=None, runas=None, template=False)
154315              List information about the VMs
154316
154317              Parameters
154318
154319                     · name (str) --
154320
154321                       Name/ID of VM to list
154322
154323                       Changed   in   version  2016.11.0:  No  longer  implies
154324                       info=True
154325
154326
154327
154328                     · info (str) -- List extra information
154329
154330                     · all (bool) -- List all non-template VMs
154331
154332                     · args (tuple) -- Additional  arguments  given  to  prctl
154333                       list
154334
154335                     · runas (str) -- The user that the prlctl command will be
154336                       run as
154337
154338                     · template (bool) --
154339
154340                       List the available virtual machine templates.  The real
154341                       virtual machines will not be included in the output
154342
154343                       New in version 2016.11.0.
154344
154345
154346
154347              Example:
154348
154349                 salt '*' parallels.list_vms runas=macdev
154350                 salt '*' parallels.list_vms name=macvm info=True runas=macdev
154351                 salt '*' parallels.list_vms info=True runas=macdev
154352                 salt '*' parallels.list_vms ' -o uuid,status' all=True runas=macdev
154353
154354       salt.modules.parallels.prlctl(sub_cmd, args=None, runas=None)
154355              Execute a prlctl command
154356
154357              Parameters
154358
154359                     · sub_cmd (str) -- prlctl subcommand to execute
154360
154361                     · args   (str)   --  The  arguments  supplied  to  prlctl
154362                       <sub_cmd>
154363
154364                     · runas (str) -- The user that the prlctl command will be
154365                       run as
154366
154367              Example:
154368
154369                 salt '*' parallels.prlctl user list runas=macdev
154370                 salt '*' parallels.prlctl exec 'macvm uname' runas=macdev
154371                 salt -- '*' parallels.prlctl capture 'macvm --file macvm.display.png' runas=macdev
154372
154373       salt.modules.parallels.prlsrvctl(sub_cmd, args=None, runas=None)
154374              Execute a prlsrvctl command
154375
154376              New in version 2016.11.0.
154377
154378
154379              Parameters
154380
154381                     · sub_cmd (str) -- prlsrvctl subcommand to execute
154382
154383                     · args  (str)  --  The  arguments  supplied  to prlsrvctl
154384                       <sub_cmd>
154385
154386                     · runas (str) -- The user that the prlsrvctl command will
154387                       be run as
154388
154389              Example:
154390
154391                 salt '*' parallels.prlsrvctl info runas=macdev
154392                 salt '*' parallels.prlsrvctl usb list runas=macdev
154393                 salt -- '*' parallels.prlsrvctl set '--mem-limit auto' runas=macdev
154394
154395       salt.modules.parallels.reset(name, runas=None)
154396              Reset a VM by performing a hard shutdown and then a restart
154397
154398              Parameters
154399
154400                     · name (str) -- Name/ID of VM to reset
154401
154402                     · runas (str) -- The user that the prlctl command will be
154403                       run as
154404
154405              Example:
154406
154407                 salt '*' parallels.reset macvm runas=macdev
154408
154409       salt.modules.parallels.restart(name, runas=None)
154410              Restart a VM by gracefully shutting it down and then  restarting
154411              it
154412
154413              Parameters
154414
154415                     · name (str) -- Name/ID of VM to restart
154416
154417                     · runas (str) -- The user that the prlctl command will be
154418                       run as
154419
154420              Example:
154421
154422                 salt '*' parallels.restart macvm runas=macdev
154423
154424       salt.modules.parallels.revert_snapshot(name, snap_name, runas=None)
154425              Revert a VM to a snapshot
154426
154427              Parameters
154428
154429                     · name (str) -- Name/ID of VM to revert to a snapshot
154430
154431                     · snap_name (str) -- Name/ID of snapshot to revert to
154432
154433                     · runas (str) -- The user that the prlctl command will be
154434                       run as
154435
154436              Example:
154437
154438                 salt '*' parallels.revert_snapshot macvm base-with-updates runas=macdev
154439
154440       salt.modules.parallels.snapshot(name,     snap_name=None,    desc=None,
154441       runas=None)
154442              Create a snapshot
154443
154444              Parameters
154445
154446                     · name (str) -- Name/ID of VM to take a snapshot of
154447
154448                     · snap_name (str) -- Name of snapshot
154449
154450                     · desc (str) -- Description of snapshot
154451
154452                     · runas (str) -- The user that the prlctl command will be
154453                       run as
154454
154455              Example:
154456
154457                 salt '*' parallels.create_snapshot macvm snap_name=macvm-original runas=macdev
154458                 salt '*' parallels.create_snapshot macvm snap_name=macvm-updates desc='clean install with updates' runas=macdev
154459
154460       salt.modules.parallels.snapshot_id_to_name(name, snap_id, strict=False,
154461       runas=None)
154462              Attempt to convert a snapshot ID to a  snapshot  name.   If  the
154463              snapshot  has  no  name or if the ID is not found or invalid, an
154464              empty string will be returned
154465
154466              Parameters
154467
154468                     · name  (str)  --  Name/ID  of  VM  whose  snapshots  are
154469                       inspected
154470
154471                     · snap_id (str) -- ID of the snapshot
154472
154473                     · strict (bool) -- Raise an exception if a name cannot be
154474                       found for the given snap_id
154475
154476                     · runas (str) -- The user that the prlctl command will be
154477                       run as
154478
154479              Example data
154480
154481                 ID: {a5b8999f-5d95-4aff-82de-e515b0101b66}
154482                 Name: original
154483                 Date: 2016-03-04 10:50:34
154484                 Current: yes
154485                 State: poweroff
154486                 Description: original state
154487
154488              CLI Example:
154489
154490                 salt '*' parallels.snapshot_id_to_name macvm a5b8999f-5d95-4aff-82de-e515b0101b66 runas=macdev
154491
154492       salt.modules.parallels.snapshot_name_to_id(name,             snap_name,
154493       strict=False, runas=None)
154494              Attempt to convert a snapshot name to a  snapshot  ID.   If  the
154495              name  is  not  found  an  empty string is returned.  If multiple
154496              snapshots share the same name, a list will be returned
154497
154498              Parameters
154499
154500                     · name  (str)  --  Name/ID  of  VM  whose  snapshots  are
154501                       inspected
154502
154503                     · snap_name (str) -- Name of the snapshot
154504
154505                     · strict  (bool)  -- Raise an exception if multiple snap‐
154506                       shot IDs are found
154507
154508                     · runas (str) -- The user that the prlctl command will be
154509                       run as
154510
154511              CLI Example:
154512
154513                 salt '*' parallels.snapshot_id_to_name macvm original runas=macdev
154514
154515       salt.modules.parallels.start(name, runas=None)
154516              Start a VM
154517
154518              Parameters
154519
154520                     · name (str) -- Name/ID of VM to start
154521
154522                     · runas (str) -- The user that the prlctl command will be
154523                       run as
154524
154525              Example:
154526
154527                 salt '*' parallels.start macvm runas=macdev
154528
154529       salt.modules.parallels.status(name, runas=None)
154530              Status of a VM
154531
154532              Parameters
154533
154534                     · name (str) --  Name/ID  of  VM  whose  status  will  be
154535                       returned
154536
154537                     · runas (str) -- The user that the prlctl command will be
154538                       run as
154539
154540              Example:
154541
154542                 salt '*' parallels.status macvm runas=macdev
154543
154544       salt.modules.parallels.stop(name, kill=False, runas=None)
154545              Stop a VM
154546
154547              Parameters
154548
154549                     · name (str) -- Name/ID of VM to stop
154550
154551                     · kill (bool) -- Perform a hard shutdown
154552
154553                     · runas (str) -- The user that the prlctl command will be
154554                       run as
154555
154556              Example:
154557
154558                 salt '*' parallels.stop macvm runas=macdev
154559                 salt '*' parallels.stop macvm kill=True runas=macdev
154560
154561   salt.modules.parted_partition
154562       Module for managing partitions on POSIX-like systems.
154563
154564       depends
154565
154566              · parted,  partprobe, lsblk (usually parted and util-linux pack‐
154567                ages)
154568
154569       Some functions may not be  available,  depending  on  your  version  of
154570       parted.
154571
154572       Check  the  manpage  for  parted(8) for more information, or the online
154573       docs at:
154574
154575       http://www.gnu.org/software/parted/manual/html_chapter/parted_2.html
154576
154577       In light of parted not directly supporting partition IDs, some of  this
154578       module has been written to utilize sfdisk instead. For further informa‐
154579       tion, please reference the man page for sfdisk(8).
154580
154581       salt.modules.parted_partition.align_check(device, part_type, partition)
154582              Check  if  partition  satisfies  the  alignment  constraint   of
154583              part_type.  Type must be "minimal" or "optimal".
154584
154585              CLI Example:
154586
154587                 salt '*' partition.align_check /dev/sda minimal 1
154588
154589       salt.modules.parted_partition.check(device, minor)
154590              Checks if the file system on partition <minor> has any errors.
154591
154592              CLI Example:
154593
154594                 salt '*' partition.check 1
154595
154596       salt.modules.parted_partition.cp(device, from_minor, to_minor)
154597              Copies  the  file system on the partition <from-minor> to parti‐
154598              tion <to-minor>, deleting the original contents of the  destina‐
154599              tion partition.
154600
154601              CLI Example:
154602
154603                 salt '*' partition.cp /dev/sda 2 3
154604
154605       salt.modules.parted_partition.disk_set(device, flag, state)
154606              Changes a flag on selected device.
154607
154608              A  flag  can  be  either  "on" or "off" (make sure to use proper
154609              quoting, see YAML Idiosyncrasies). Some or all  of  these  flags
154610              will be available, depending on what disk label you are using.
154611
154612              Valid flags are:
154613
154614                     · cylinder_alignment
154615
154616                     · pmbr_boot
154617
154618                     · implicit_partition_table
154619
154620              CLI Example:
154621
154622                 salt '*' partition.disk_set /dev/sda pmbr_boot '"on"'
154623
154624       salt.modules.parted_partition.disk_toggle(device, flag)
154625              Toggle the state of <flag> on <device>. Valid flags are the same
154626              as the disk_set command.
154627
154628              CLI Example:
154629
154630                 salt '*' partition.disk_toggle /dev/sda pmbr_boot
154631
154632       salt.modules.parted_partition.exists(device=u'')
154633              Check to see if the partition exists
154634
154635              CLI Example:
154636
154637                 salt '*' partition.exists /dev/sdb1
154638
154639       salt.modules.parted_partition.get_block_device()
154640              Retrieve a list of disk devices
154641
154642              New in version 2014.7.0.
154643
154644
154645              CLI Example:
154646
154647                 salt '*' partition.get_block_device
154648
154649       salt.modules.parted_partition.get_id(device, minor)
154650              Prints the system ID for the partition. Some typical values are:
154651
154652                  b: FAT32 (vfat)
154653                  7: HPFS/NTFS
154654                 82: Linux Swap
154655                 83: Linux
154656                 8e: Linux LVM
154657                 fd: Linux RAID Auto
154658
154659              CLI Example:
154660
154661                 salt '*' partition.get_id /dev/sda 1
154662
154663       salt.modules.parted_partition.list_(device, unit=None)
154664              Prints partition information of given <device>
154665
154666              CLI Examples:
154667
154668                 salt '*' partition.list /dev/sda
154669                 salt '*' partition.list /dev/sda unit=s
154670                 salt '*' partition.list /dev/sda unit=kB
154671
154672       salt.modules.parted_partition.mkfs(device, fs_type)
154673              Makes a file system <fs_type> on partition <device>,  destroying
154674              all  data  that resides on that partition. <fs_type> must be one
154675              of "ext2", "fat32",  "fat16",  "linux-swap"  or  "reiserfs"  (if
154676              libreiserfs is installed)
154677
154678              CLI Example:
154679
154680                 salt '*' partition.mkfs /dev/sda2 fat32
154681
154682       salt.modules.parted_partition.mklabel(device, label_type)
154683              Create a new disklabel (partition table) of label_type.
154684
154685              Type  should  be  one  of  "aix",  "amiga", "bsd", "dvh", "gpt",
154686              "loop", "mac", "msdos", "pc98", or "sun".
154687
154688              CLI Example:
154689
154690                 salt '*' partition.mklabel /dev/sda msdos
154691
154692       salt.modules.parted_partition.mkpart(device,  part_type,  fs_type=None,
154693       start=None, end=None)
154694              Make  a part_type partition for filesystem fs_type, beginning at
154695              start and ending at end (by default  in  megabytes).   part_type
154696              should be one of "primary", "logical", or "extended".
154697
154698              CLI Examples:
154699
154700                 salt '*' partition.mkpart /dev/sda primary fs_type=fat32 start=0 end=639
154701                 salt '*' partition.mkpart /dev/sda primary start=0 end=639
154702
154703       salt.modules.parted_partition.mkpartfs(device,    part_type,   fs_type,
154704       start, end)
154705              Make a <part_type> partition with a new filesystem of <fs_type>,
154706              beginning  at  <start>  and  ending  at  <end>  (by  default  in
154707              megabytes).
154708
154709              <part_type>  should  be  one   of   "primary",   "logical",   or
154710              "extended".  <fs_type>  must be one of "ext2", "fat32", "fat16",
154711              "linux-swap" or "reiserfs" (if libreiserfs is installed)
154712
154713              CLI Example:
154714
154715                 salt '*' partition.mkpartfs /dev/sda logical ext2 440 670
154716
154717       salt.modules.parted_partition.name(device, partition, name)
154718              Set the name of partition to name. This  option  works  only  on
154719              Mac, PC98, and GPT disklabels. The name can be placed in quotes,
154720              if necessary.
154721
154722              CLI Example:
154723
154724                 salt '*' partition.name /dev/sda 1 'My Documents'
154725
154726       salt.modules.parted_partition.probe(*devices)
154727              Ask the kernel to update its local partition data. When no  args
154728              are specified all block devices are tried.
154729
154730              Caution:  Generally only works on devices with no mounted parti‐
154731              tions and may take a long time to return  if  specified  devices
154732              are in use.
154733
154734              CLI Examples:
154735
154736                 salt '*' partition.probe
154737                 salt '*' partition.probe /dev/sda
154738                 salt '*' partition.probe /dev/sda /dev/sdb
154739
154740       salt.modules.parted_partition.rescue(device, start, end)
154741              Rescue a lost partition that was located somewhere between start
154742              and end.  If a partition is found, parted will ask if  you  want
154743              to create an entry for it in the partition table.
154744
154745              CLI Example:
154746
154747                 salt '*' partition.rescue /dev/sda 0 8056
154748
154749       salt.modules.parted_partition.resize(device, minor, start, end)
154750              Resizes the partition with number <minor>.
154751
154752              The partition will start <start> from the beginning of the disk,
154753              and end <end> from the  beginning  of  the  disk.  resize  never
154754              changes  the  minor number.  Extended partitions can be resized,
154755              so long as the new extended partition  completely  contains  all
154756              logical partitions.
154757
154758              CLI Example:
154759
154760                 salt '*' partition.resize /dev/sda 3 200 850
154761
154762       salt.modules.parted_partition.rm(device, minor)
154763              Removes the partition with number <minor>.
154764
154765              CLI Example:
154766
154767                 salt '*' partition.rm /dev/sda 5
154768
154769       salt.modules.parted_partition.set_(device, minor, flag, state)
154770              Changes a flag on the partition with number <minor>.
154771
154772              A  flag  can  be  either  "on" or "off" (make sure to use proper
154773              quoting, see YAML Idiosyncrasies). Some or all  of  these  flags
154774              will be available, depending on what disk label you are using.
154775
154776              Valid flags are:
154777
154778                     · boot
154779
154780                     · root
154781
154782                     · swap
154783
154784                     · hidden
154785
154786                     · raid
154787
154788                     · lvm
154789
154790                     · lba
154791
154792                     · hp-service
154793
154794                     · palo
154795
154796                     · prep
154797
154798                     · msftres
154799
154800                     · bios_grub
154801
154802                     · atvrecv
154803
154804                     · diag
154805
154806                     · legacy_boot
154807
154808                     · msftdata
154809
154810                     · irst
154811
154812                     · esp
154813
154814                     · type
154815
154816              CLI Example:
154817
154818                 salt '*' partition.set /dev/sda 1 boot '"on"'
154819
154820       salt.modules.parted_partition.set_id(device, minor, system_id)
154821              Sets the system ID for the partition. Some typical values are:
154822
154823                  b: FAT32 (vfat)
154824                  7: HPFS/NTFS
154825                 82: Linux Swap
154826                 83: Linux
154827                 8e: Linux LVM
154828                 fd: Linux RAID Auto
154829
154830              CLI Example:
154831
154832                 salt '*' partition.set_id /dev/sda 1 83
154833
154834       salt.modules.parted_partition.system_types()
154835              List  the  system types that are supported by the installed ver‐
154836              sion of sfdisk
154837
154838              CLI Example:
154839
154840                 salt '*' partition.system_types
154841
154842       salt.modules.parted_partition.toggle(device, partition, flag)
154843
154844              Toggle the state of <flag> on <partition>. Valid flags  are  the
154845              same as
154846                     the set command.
154847
154848              CLI Example:
154849
154850                 salt '*' partition.toggle /dev/sda 1 boot
154851
154852   salt.modules.pcs module
154853   Configure a Pacemaker/Corosync cluster with PCS
154854       Configure  Pacemaker/Cororsync  clusters  with  the Pacemaker/Cororsync
154855       conifguration system (PCS)
154856
154857       depends
154858              pcs
154859
154860       New in version 2016.3.0.
154861
154862
154863       salt.modules.pcs.auth(nodes, pcsuser=u'hacluster',  pcspasswd=u'haclus‐
154864       ter', extra_args=None)
154865              Authorize nodes to the cluster
154866
154867              nodes  a list of nodes which should be authorized to the cluster
154868
154869              pcsuser
154870                     user for communitcation with PCS (default: hacluster)
154871
154872              pcspasswd
154873                     password for pcsuser (default: hacluster)
154874
154875              extra_args
154876                     list of extra option for the 'pcs cluster auth' command
154877
154878              CLI Example:
154879
154880                 salt '*' pcs.auth nodes='[ node1.example.org node2.example.org ]' pcsuser=hacluster pcspasswd=hoonetorg extra_args="[ '--force' ]"
154881
154882       salt.modules.pcs.cib_create(cibfile,            scope=u'configuration',
154883       extra_args=None)
154884              Create a CIB-file from the current CIB of the cluster
154885
154886              cibfile
154887                     name/path of the file containing the CIB
154888
154889              scope  specific section of the CIB (default: configuration)
154890
154891              extra_args
154892                     additional options for creating the CIB-file
154893
154894              CLI Example:
154895
154896                 salt '*' pcs.cib_create cibfile='/tmp/VIP_apache_1.cib' scope=False
154897
154898       salt.modules.pcs.cib_push(cibfile,              scope=u'configuration',
154899       extra_args=None)
154900              Push a CIB-file as the new CIB to the cluster
154901
154902              cibfile
154903                     name/path of the file containing the CIB
154904
154905              scope  specific section of the CIB (default: configuration)
154906
154907              extra_args
154908                     additional options for creating the CIB-file
154909
154910              CLI Example:
154911
154912                 salt '*' pcs.cib_push cibfile='/tmp/VIP_apache_1.cib' scope=False
154913
154914       salt.modules.pcs.cluster_node_add(node, extra_args=None)
154915              Add a node to the pacemaker cluster via pcs command
154916
154917              node   node that should be added
154918
154919              extra_args
154920                     list  of extra option for the 'pcs cluster node add' com‐
154921                     mand
154922
154923              CLI Example:
154924
154925                 salt '*' pcs.cluster_node_add node=node2.example.org
154926
154927       salt.modules.pcs.cluster_setup(nodes,     pcsclustername=u'pcscluster',
154928       extra_args=None)
154929              Setup pacemaker cluster via pcs command
154930
154931              nodes  a list of nodes which should be set up
154932
154933              pcsclustername
154934                     Name of the Pacemaker cluster (default: pcscluster)
154935
154936              extra_args
154937                     list of extra option for the 'pcs cluster setup' command
154938
154939              CLI Example:
154940
154941                 salt '*' pcs.cluster_setup nodes='[ node1.example.org node2.example.org ]' pcsclustername=pcscluster
154942
154943       salt.modules.pcs.config_show(cibfile=None)
154944              Show config of cluster
154945
154946              cibfile
154947                     name/path of the file containing the CIB
154948
154949              CLI Example:
154950
154951                 salt '*' pcs.config_show cibfile='/tmp/cib_for_galera'
154952
154953       salt.modules.pcs.is_auth(nodes)
154954              Check if nodes are already authorized
154955
154956              nodes  a  list  of  nodes to be checked for authorization to the
154957                     cluster
154958
154959              CLI Example:
154960
154961                 salt '*' pcs.is_auth nodes='[node1.example.org node2.example.org]'
154962
154963       salt.modules.pcs.item_create(item,  item_id,  item_type,  create=u'cre‐
154964       ate', extra_args=None, cibfile=None)
154965              Create  an  item  via  pcs  command (mainly for use with the pcs
154966              state module)
154967
154968              item   config, property, resource, constraint etc.
154969
154970              item_id
154971                     id of the item
154972
154973              item_type
154974                     item type
154975
154976              create create command (create or set f.e., default: create)
154977
154978              extra_args
154979                     additional options for the pcs command
154980
154981              cibfile
154982                     use cibfile instead of the live CIB
154983
154984       salt.modules.pcs.item_show(item,     item_id=None,      item_type=None,
154985       show=u'show', extra_args=None, cibfile=None)
154986              Show  an item via pcs command (mainly for use with the pcs state
154987              module)
154988
154989              item   config, property, resource, constraint etc.
154990
154991              item_id
154992                     id of the item
154993
154994              item_type
154995                     item type
154996
154997              show   show command (probably None, default: show)
154998
154999              extra_args
155000                     additional options for the pcs command
155001
155002              cibfile
155003                     use cibfile instead of the live CIB
155004
155005       salt.modules.pcs.prop_set(prop, value, extra_args=None, cibfile=None)
155006              Set the value of a cluster property
155007
155008              prop   name of the property
155009
155010              value  value of the property prop
155011
155012              extra_args
155013                     additional options for the pcs property command
155014
155015              cibfile
155016                     use cibfile instead of the live CIB
155017
155018              CLI Example:
155019
155020                 salt '*' pcs.prop_set prop='no-quorum-policy' value='ignore' cibfile='/tmp/2_node_cluster.cib'
155021
155022       salt.modules.pcs.prop_show(prop, extra_args=None, cibfile=None)
155023              Show the value of a cluster property
155024
155025              prop   name of the property
155026
155027              extra_args
155028                     additional options for the pcs property command
155029
155030              cibfile
155031                     use cibfile instead of the live CIB
155032
155033              CLI Example:
155034
155035                 salt '*' pcs.prop_show cibfile='/tmp/2_node_cluster.cib' prop='no-quorum-policy' cibfile='/tmp/2_node_cluster.cib'
155036
155037       salt.modules.pcs.resource_create(resource_id,            resource_type,
155038       resource_options=None, cibfile=None)
155039              Create a resource via pcs command
155040
155041              resource_id
155042                     name for the resource
155043
155044              resource_type
155045                     resource type (f.e. ocf:heartbeat:IPaddr2 or VirtualIP)
155046
155047              resource_options
155048                     additional options for creating the resource
155049
155050              cibfile
155051                     use cibfile instead of the live CIB for manipulation
155052
155053              CLI Example:
155054
155055                 salt '*' pcs.resource_create resource_id='galera' resource_type='ocf:heartbeat:galera' resource_options="['wsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org', '--master']" cibfile='/tmp/cib_for_galera.cib'
155056
155057       salt.modules.pcs.resource_show(resource_id,    extra_args=None,    cib‐
155058       file=None)
155059              Show a resource via pcs command
155060
155061              resource_id
155062                     name of the resource
155063
155064              extra_args
155065                     additional options for the pcs command
155066
155067              cibfile
155068                     use cibfile instead of the live CIB
155069
155070              CLI Example:
155071
155072                 salt '*' pcs.resource_show resource_id='galera' cibfile='/tmp/cib_for_galera.cib'
155073
155074       salt.modules.pcs.stonith_create(stonith_id,        stonith_device_type,
155075       stonith_device_options=None, cibfile=None)
155076              Create a stonith resource via pcs command
155077
155078              stonith_id
155079                     name for the stonith resource
155080
155081              stonith_device_type
155082                     name of the stonith agent fence_eps, fence_xvm f.e.
155083
155084              stonith_device_options
155085                     additional options for creating the stonith resource
155086
155087              cibfile
155088                     use cibfile instead of the live CIB for manipulation
155089
155090              CLI Example:
155091
155092                 salt '*' pcs.stonith_create stonith_id='eps_fence' stonith_device_type='fence_eps'
155093                                             stonith_device_options="['pcmk_host_map=node1.example.org:01;node2.example.org:02', 'ipaddr=myepsdevice.example.org', 'action=reboot', 'power_wait=5', 'verbose=1', 'debug=/var/log/pcsd/eps_fence.log', 'login=hidden', 'passwd=hoonetorg']" cibfile='/tmp/cib_for_stonith.cib'
155094
155095       salt.modules.pcs.stonith_show(stonith_id,     extra_args=None,     cib‐
155096       file=None)
155097              Show the value of a cluster stonith
155098
155099              stonith_id
155100                     name for the stonith resource
155101
155102              extra_args
155103                     additional options for the pcs stonith command
155104
155105              cibfile
155106                     use cibfile instead of the live CIB
155107
155108              CLI Example:
155109
155110                 salt '*' pcs.stonith_show stonith_id='eps_fence' cibfile='/tmp/2_node_cluster.cib'
155111
155112   salt.modules.pdbedit
155113       Manage accounts in Samba's passdb using pdbedit
155114
155115       maintainer
155116              Jorge Schrauwen <sjorge@blackdot.be>
155117
155118       maturity
155119              new
155120
155121       platform
155122              posix
155123
155124       New in version 2017.7.0.
155125
155126
155127       salt.modules.pdbedit.create(login,   password,   password_hashed=False,
155128       machine_account=False)
155129              Create user account
155130
155131              login  string login name
155132
155133              password
155134                     string password
155135
155136              password_hashed
155137                     boolean  set  if  password  is a nt hash instead of plain
155138                     text
155139
155140              machine_account
155141                     boolean set to create a machine trust account instead
155142
155143              CLI Example:
155144
155145                 salt '*' pdbedit.create zoe 9764951149F84E770889011E1DC4A927 nthash
155146                 salt '*' pdbedit.create river  1sw4ll0w3d4bug
155147
155148       salt.modules.pdbedit.delete(login)
155149              Delete user account
155150
155151              login  string login name
155152
155153              CLI Example:
155154
155155                 salt '*' pdbedit.delete wash
155156
155157       salt.modules.pdbedit.generate_nt_hash(password)
155158              Generate a NT HASH
155159
155160              CLI Example:
155161
155162                 salt '*' pdbedit.generate_nt_hash my_passwd
155163
155164       salt.modules.pdbedit.get_user(login, hashes=False)
155165              Get user account details
155166
155167              login  string login name
155168
155169              hashes boolean include NTHASH and LMHASH in verbose output
155170
155171              CLI Example:
155172
155173                 salt '*' pdbedit.get kaylee
155174
155175       salt.modules.pdbedit.list_users(verbose=True, hashes=False)
155176              List user accounts
155177
155178              verbose
155179                     boolean return all information
155180
155181              hashes boolean include NT HASH and LM HASH in verbose output
155182
155183              CLI Example:
155184
155185                 salt '*' pdbedit.list
155186
155187       salt.modules.pdbedit.modify(login,         password=None,         pass‐
155188       word_hashed=False,  domain=None, profile=None, script=None, drive=None,
155189       homedir=None, fullname=None,  account_desc=None,  account_control=None,
155190       machine_sid=None,        user_sid=None,        reset_login_hours=False,
155191       reset_bad_password_count=False)
155192              Modify user account
155193
155194              login  string login name
155195
155196              password
155197                     string password
155198
155199              password_hashed
155200                     boolean set if password is a nt  hash  instead  of  plain
155201                     text
155202
155203              domain string users domain
155204
155205              profile
155206                     string profile path
155207
155208              script string logon script
155209
155210              drive  string home drive
155211
155212              homedir
155213                     string home directory
155214
155215              fullname
155216                     string full name
155217
155218              account_desc
155219                     string account description
155220
155221              machine_sid
155222                     string specify the machines new primary group SID or rid
155223
155224              user_sid
155225                     string specify the users new primary group SID or rid
155226
155227              account_control
155228                     string specify user account control properties
155229
155230                     NOTE:
155231                        Only  the  following  can  be  set:  -  N: No password
155232                        required - D: Account disabled  -  H:  Home  directory
155233                        required - L: Automatic Locking - X: Password does not
155234                        expire
155235
155236              reset_login_hours
155237                     boolean reset the users allowed logon hours
155238
155239              reset_bad_password_count
155240                     boolean reset the stored bad login counter
155241
155242              NOTE:
155243                 if user is absent and password is provided, the user will  be
155244                 created
155245
155246              CLI Example:
155247
155248                 salt '*' pdbedit.modify inara fullname='Inara Serra'
155249                 salt '*' pdbedit.modify simon password=r1v3r
155250                 salt '*' pdbedit.modify jane drive='V:' homedir='\\serenity\jane\profile'
155251                 salt '*' pdbedit.modify mal account_control=NX
155252
155253   salt.modules.pecl
155254       Manage PHP pecl extensions.
155255
155256       salt.modules.pecl.install(pecls,   defaults=False,   force=False,  pre‐
155257       ferred_state=u'stable')
155258              New in version 0.17.0.
155259
155260
155261              Installs one or several pecl extensions.
155262
155263              pecls  The pecl extensions to install.
155264
155265              defaults
155266                     Use default answers  for  extensions  such  as  pecl_http
155267                     which  ask  questions  before  installation. Without this
155268                     option, the pecl.installed state will  hang  indefinitely
155269                     when trying to install these extensions.
155270
155271              force  Whether to force the installed version or not
155272
155273              CLI Example:
155274
155275                 salt '*' pecl.install fuse
155276
155277       salt.modules.pecl.list_(channel=None)
155278              List installed pecl extensions.
155279
155280              CLI Example:
155281
155282                 salt '*' pecl.list
155283
155284       salt.modules.pecl.uninstall(pecls)
155285              Uninstall one or several pecl extensions.
155286
155287              pecls  The pecl extensions to uninstall.
155288
155289              CLI Example:
155290
155291                 salt '*' pecl.uninstall fuse
155292
155293       salt.modules.pecl.update(pecls)
155294              Update one or several pecl extensions.
155295
155296              pecls  The pecl extensions to update.
155297
155298              CLI Example:
155299
155300                 salt '*' pecl.update fuse
155301
155302   salt.modules.peeringdb module
155303   PeeringDB Module
155304       New in version 2019.2.0.
155305
155306
155307       Execution module for the basic interaction with the PeeringDB API.
155308
155309       While  for  GET operations (the functions prefixed by get_) the creden‐
155310       tials are optional, there are some specific details  that  are  visible
155311       only  to  authenticated  users.  Moreover, the credentials are required
155312       when adding or updating information. That means, the module can equally
155313       work  out of the box without any further configuration with the limita‐
155314       tions imposed by the PeeringDB API.
155315
155316       For     complete     API     documentation,     please     refer     to
155317       https://www.peeringdb.com/apidocs/.
155318
155319       Configuration (in the opts or Pillar):
155320
155321          peeringdb:
155322            username: salt
155323            password: 5@1t
155324
155325       salt.modules.peeringdb.get_fac(**kwargs)
155326              Return  the  details of the facility identified using the search
155327              filters specified in the query.
155328
155329              NOTE:
155330                 If no id or filter arguments are specified,  it  will  return
155331                 all the possible facilities registered in PeeringDB.
155332
155333                 The      available     filters     are     documented     at:
155334                 https://www.peeringdb.com/apidocs/#!/netfac/netfac_list
155335
155336              CLI Example:
155337
155338                 salt '*' peeringdb.get_fac id=1774
155339                 salt '*' peeringdb.get_fac state=UT
155340
155341       salt.modules.peeringdb.get_ix(**kwargs)
155342              Return the details of an IX (Internet Exchange) using the search
155343              filters specified in the query.
155344
155345              NOTE:
155346                 If  no  id  or filter arguments are specified, it will return
155347                 all the possible IXs registered in PeeringDB.
155348
155349                 The     available     filters     are     documented      at:
155350                 https://www.peeringdb.com/apidocs/#!/ix/ix_list
155351
155352              CLI Example:
155353
155354                 salt '*' peeringdb.get_ix id=1
155355                 salt '*' peeringdb.get_ix city='Milwaukee'
155356
155357       salt.modules.peeringdb.get_ixfac(**kwargs)
155358              Return  the  details of an IX (Internet Exchange) facility using
155359              the search filters specified in the query.
155360
155361              NOTE:
155362                 If no id or filter arguments are specified,  it  will  return
155363                 all the possible IX facilities registered in PeeringDB.
155364
155365                 The      available     filters     are     documented     at:
155366                 https://www.peeringdb.com/apidocs/#!/ixfac/ixfac_list
155367
155368              CLI Example:
155369
155370                 salt '*' peeringdb.get_ixfac id=1
155371                 salt '*' peeringdb.get_ixfac city='Milwaukee'
155372
155373       salt.modules.peeringdb.get_ixlan(**kwargs)
155374              Return the details of an IX (Internet  Exchange)  together  with
155375              the  networks  available  in  this location (and their details),
155376              using the search filters specified in the query.
155377
155378              NOTE:
155379                 If no id or filter arguments are specified,  it  will  return
155380                 all the possible IX LAN facilities registered in PeeringDB.
155381
155382                 The      available     filters     are     documented     at:
155383                 https://www.peeringdb.com/apidocs/#!/ixlan/ixlan_list
155384
155385              CLI Example:
155386
155387                 salt '*' peeringdb.get_ixlan id=780
155388                 salt '*' peeringdb.get_ixlan city='Milwaukee'
155389
155390       salt.modules.peeringdb.get_ixpfx(**kwargs)
155391              Return the details of an IX (Internet  Exchange)  together  with
155392              the  PeeringDB  IDs  of the networks available in this location,
155393              using the search filters specified in the query.
155394
155395              NOTE:
155396                 If no id or filter arguments are specified,  it  will  return
155397                 all the possible IX LAN facilities registered in PeeringDB.
155398
155399                 The      available     filters     are     documented     at:
155400                 https://www.peeringdb.com/apidocs/#!/ixpfx/ixpfx_list
155401
155402              CLI Example:
155403
155404                 salt '*' peeringdb.get_ixpfx id=780
155405                 salt '*' peeringdb.get_ixpfx city='Milwaukee'
155406
155407       salt.modules.peeringdb.get_net(**kwargs)
155408              Return the details of a network identified using the search fil‐
155409              ters specified in the query.
155410
155411              NOTE:
155412                 If  no  id  or filter arguments are specified, it will return
155413                 all the possible networks registered in PeeringDB.
155414
155415                 The     available     filters     are     documented      at:
155416                 https://www.peeringdb.com/apidocs/#!/net/net_list
155417
155418              CLI Example:
155419
155420                 salt '*' peeringdb.get_net id=4224
155421                 salt '*' peeringdb.get_net asn=13335
155422                 salt '*' peeringdb.get_net city='Salt Lake City'
155423                 salt '*' peeringdb.get_net name__startswith=GTT
155424
155425       salt.modules.peeringdb.get_netfac(**kwargs)
155426              Return  the  list  of  facilities  used by a particular network,
155427              given the id or other filters specified in the query.
155428
155429              NOTE:
155430                 If no id or filter arguments are specified,  it  will  return
155431                 all the possible network facilities registered in PeeringDB.
155432
155433                 The      available     filters     are     documented     at:
155434                 https://www.peeringdb.com/apidocs/#!/netfac/netfac_list
155435
155436              CLI Example:
155437
155438                 salt '*' peeringdb.get_netfac id=780
155439                 salt '*' peeringdb.get_netfac city='Milwaukee'
155440
155441       salt.modules.peeringdb.get_netixlan(**kwargs)
155442              Return the IP addresses used by a particular network at all  the
155443              IXs  where  it  is available. The network is selected either via
155444              the id argument or the other filters specified in the query.
155445
155446              NOTE:
155447                 If no id or filter arguments are specified,  it  will  return
155448                 all  the  possible IP addresses, of all networks, at all IXs,
155449                 registered in PeeringDB.
155450
155451                 The     available     filters     are     documented      at:
155452                 https://www.peeringdb.com/apidocs/#!/netixlan/netixlan_list
155453
155454              CLI Example:
155455
155456                 salt '*' peeringdb.get_netixlan asn=13335
155457                 salt '*' peeringdb.get_netixlan ipaddr4=185.1.114.25
155458
155459       salt.modules.peeringdb.get_org(**kwargs)
155460              Return the details of an organisation together with the networks
155461              available in this location, using the search  filters  specified
155462              in the query.
155463
155464              NOTE:
155465                 If  no  id  or filter arguments are specified, it will return
155466                 all the possible organisations registered in PeeringDB.
155467
155468                 The     available     filters     are     documented      at:
155469                 https://www.peeringdb.com/apidocs/#!/org/org_list
155470
155471              CLI Example:
155472
155473                 salt '*' peeringdb.get_org id=2
155474                 salt '*' peeringdb.get_org city=Duesseldorf
155475
155476       salt.modules.peeringdb.get_poc(**kwargs)
155477              Return  the  details  of  a person of contact together using the
155478              search filters specified in the query.
155479
155480              NOTE:
155481                 If no id or filter arguments are specified,  it  will  return
155482                 all the possible contacts registered in PeeringDB.
155483
155484                 The      available     filters     are     documented     at:
155485                 https://www.peeringdb.com/apidocs/#!/poc/poc_list
155486
155487              CLI Example:
155488
155489                 salt '*' peeringdb.get_poc id=6721
155490                 salt '*' peeringdb.get_poc email__contains='@cloudflare.com'
155491
155492   salt.modules.pf
155493       Control the OpenBSD packet filter (PF).
155494
155495       codeauthor
155496              Jasper Lievisse Adriaanse <j@jasper.la>
155497
155498       New in version 2019.2.0.
155499
155500
155501       salt.modules.pf.disable()
155502              Disable the Packet Filter.
155503
155504              CLI example:
155505
155506                 salt '*' pf.disable
155507
155508       salt.modules.pf.enable()
155509              Enable the Packet Filter.
155510
155511              CLI example:
155512
155513                 salt '*' pf.enable
155514
155515       salt.modules.pf.flush(modifier)
155516              Flush the specified packet filter parameters.
155517
155518              modifier:
155519                     Should be one of the following:
155520
155521                     · all
155522
155523                     · info
155524
155525                     · osfp
155526
155527                     · rules
155528
155529                     · sources
155530
155531                     · states
155532
155533                     · tables
155534
155535                     Please refer to the OpenBSD pfctl(8) documentation for  a
155536                     detailed explanation of each command.
155537
155538              CLI example:
155539
155540                 salt '*' pf.flush states
155541
155542       salt.modules.pf.load(file=u'/etc/pf.conf', noop=False)
155543              Load a ruleset from the specific file, overwriting the currently
155544              loaded ruleset.
155545
155546              file:  Full path to the file containing the ruleset.
155547
155548              noop:  Don't actually load the rules, just parse them.
155549
155550              CLI example:
155551
155552                 salt '*' pf.load /etc/pf.conf.d/lockdown.conf
155553
155554       salt.modules.pf.loglevel(level)
155555              Set the debug level which limits the severity  of  log  messages
155556              printed by pf(4).
155557
155558              level: Log  level. Should be one of the following: emerg, alert,
155559                     crit, err, warning, notice, info or debug.
155560
155561              CLI example:
155562
155563                 salt '*' pf.loglevel emerg
155564
155565       salt.modules.pf.show(modifier)
155566              Show filter parameters.
155567
155568              modifier:
155569                     Modifier to apply for filtering. Only a useful subset  of
155570                     what pfctl supports can be used with Salt.
155571
155572                     · rules
155573
155574                     · states
155575
155576                     · tables
155577
155578              CLI example:
155579
155580                 salt '*' pf.show rules
155581
155582       salt.modules.pf.table(command, table, **kwargs)
155583              Apply a command on the specified table.
155584
155585              table: Name of the table.
155586
155587              command:
155588                     Command to apply to the table. Supported commands are:
155589
155590                     · add
155591
155592                     · delete
155593
155594                     · expire
155595
155596                     · flush
155597
155598                     · kill
155599
155600                     · replace
155601
155602                     · show
155603
155604                     · test
155605
155606                     · zero
155607
155608                     Please  refer to the OpenBSD pfctl(8) documentation for a
155609                     detailed explanation of each command.
155610
155611              CLI example:
155612
155613                 salt '*' pf.table expire table=spam_hosts number=300
155614                 salt '*' pf.table add table=local_hosts addresses='["127.0.0.1", "::1"]'
155615
155616   salt.modules.philips_hue module
155617       Philips HUE lamps module for proxy.
155618
155619       New in version 2015.8.3.
155620
155621
155622   salt.modules.pillar
155623       Extract the pillar data for this minion
155624
155625       salt.modules.pillar.ext(external, pillar=None)
155626              Changed in version  2016.3.6,2016.11.3,2017.7.0:  The  supported
155627              ext_pillar  types are now tunable using the on_demand_ext_pillar
155628              config option. Earlier releases used a hard-coded default.
155629
155630
155631              Generate the pillar and apply an explicit external pillar
155632
155633              external
155634                     A single ext_pillar to add to the  ext_pillar  configura‐
155635                     tion.  This  must  be passed as a single section from the
155636                     ext_pillar configuration (see CLI  examples  below).  For
155637                     more  complicated  ext_pillar  configurations,  it can be
155638                     helpful to use the Python shell to load  YAML  configura‐
155639                     tion into a dictionary, and figure out
155640
155641                        >>> import salt.utils.yaml
155642                        >>> ext_pillar = salt.utils.yaml.safe_load("""
155643                        ... ext_pillar:
155644                        ...   - git:
155645                        ...     - issue38440 https://github.com/terminalmage/git_pillar:
155646                        ...       - env: base
155647                        ... """)
155648                        >>> ext_pillar
155649                        {'ext_pillar': [{'git': [{'mybranch https://github.com/myuser/myrepo': [{'env': 'base'}]}]}]}
155650                        >>> ext_pillar['ext_pillar'][0]
155651                        {'git': [{'mybranch https://github.com/myuser/myrepo': [{'env': 'base'}]}]}
155652
155653                     In  the above example, the value to pass would be {'git':
155654                     [{'mybranch  https://github.com/myuser/myrepo':  [{'env':
155655                     'base'}]}]}.  Note that this would need to be quoted when
155656                     passing on the CLI (as in the CLI examples below).
155657
155658              pillar None If specified, allows for a dictionary of pillar data
155659                     to  be made available to pillar and ext_pillar rendering.
155660                     These pillar variables will also override  any  variables
155661                     of the same name in pillar or ext_pillar.
155662
155663                     New in version 2015.5.0.
155664
155665
155666              CLI Examples:
155667
155668                 salt '*' pillar.ext '{libvirt: _}'
155669                 salt '*' pillar.ext "{'git': ['master https://github.com/myuser/myrepo']}"
155670                 salt '*' pillar.ext "{'git': [{'mybranch https://github.com/myuser/myrepo': [{'env': 'base'}]}]}"
155671
155672       salt.modules.pillar.fetch(key,   default=<type  'exceptions.KeyError'>,
155673       merge=False,  merge_nested_lists=None,  delimiter=':',  pillarenv=None,
155674       saltenv=None)
155675              New in version 0.14.
155676
155677
155678              Attempt  to retrieve the named value from in-memory pillar data.
155679              If the pillar key is not present in the in-memory  pillar,  then
155680              the value specified in the default option (described below) will
155681              be returned.
155682
155683              If the merge parameter is set  to  True,  the  default  will  be
155684              recursively merged into the returned pillar data.
155685
155686              The  value  can  also represent a value in a nested dict using a
155687              ":" delimiter for the dict. This means that if a dict in  pillar
155688              looks like this:
155689
155690                 {'pkg': {'apache': 'httpd'}}
155691
155692              To  retrieve the value associated with the apache key in the pkg
155693              dict this key can be passed as:
155694
155695                 pkg:apache
155696
155697              key    The pillar key to get value from
155698
155699              default
155700                     The value specified by this option will  be  returned  if
155701                     the desired pillar key does not exist.
155702
155703                     If a default value is specified, then it will be an empty
155704                     string, unless pillar_raise_on_missing is set to True, in
155705                     which case an error will be raised.
155706
155707              merge  False  If  True, the retrieved values will be merged into
155708                     the passed default. When the default  and  the  retrieved
155709                     value  are  both  dictionaries,  the dictionaries will be
155710                     recursively merged.
155711
155712                     New in version 2014.7.0.
155713
155714
155715                     Changed in version  2016.3.7,2016.11.4,2017.7.0:  If  the
155716                     default and the retrieved value are not of the same type,
155717                     then merging will be skipped and the retrieved value will
155718                     be  returned.  Earlier  releases raised an error in these
155719                     cases.
155720
155721
155722              merge_nested_lists
155723                     If set to False, lists nested within the retrieved pillar
155724                     dictionary  will  overwrite  lists  in default. If set to
155725                     True, nested lists will be merged into lists in  default.
155726                     If  unspecified  (the  default), this option is inherited
155727                     from the pillar_merge_lists minion config option.
155728
155729                     NOTE:
155730                        This option is ignored when merge is set to False.
155731
155732                     New in version 2016.11.6.
155733
155734
155735              delimiter
155736                     Specify an alternate delimiter to use when  traversing  a
155737                     nested  dict.   This  is  useful for when the desired key
155738                     contains a colon. See CLI example below for usage.
155739
155740                     New in version 2014.7.0.
155741
155742
155743              pillarenv
155744                     If specified, this function will query the master to gen‐
155745                     erate fresh pillar data on the fly, specifically from the
155746                     requested pillar environment. Note that this can  produce
155747                     different  pillar data than executing this function with‐
155748                     out an environment, as its normal  behavior  is  just  to
155749                     return a value from minion's pillar data in memory (which
155750                     can be sourced from more than one pillar environment).
155751
155752                     Using this argument will not affect the  pillar  data  in
155753                     memory.  It  will however be slightly slower and use more
155754                     resources on the master due to the need for the master to
155755                     generate  and  send  the  minion  fresh pillar data. This
155756                     tradeoff in performance however allows for the  use  case
155757                     where  pillar data is desired only from a single environ‐
155758                     ment.
155759
155760                     New in version 2017.7.0.
155761
155762
155763              saltenv
155764                     Included    only    for    compatibility    with     pil‐
155765                     larenv_from_saltenv, and is otherwise ignored.
155766
155767                     New in version 2017.7.0.
155768
155769
155770              CLI Example:
155771
155772                 salt '*' pillar.get pkg:apache
155773                 salt '*' pillar.get abc::def|ghi delimiter='|'
155774
155775       salt.modules.pillar.file_exists(path, saltenv=None)
155776              New in version 2016.3.0.
155777
155778
155779              This  is  a master-only function. Calling from the minion is not
155780              supported.
155781
155782              Use the given path and search relative to  the  pillar  environ‐
155783              ments to see if a file exists at that path.
155784
155785              If  the saltenv argument is given, restrict search to that envi‐
155786              ronment only.
155787
155788              Will only work with pillar_roots, not external pillars.
155789
155790              Returns True if the file is found, and False otherwise.
155791
155792              path   The path to the file in question. Will be  treated  as  a
155793                     relative path
155794
155795              saltenv
155796                     Optional  argument  to  restrict the search to a specific
155797                     saltenv
155798
155799              CLI Example:
155800
155801                 salt '*' pillar.file_exists foo/bar.sls
155802
155803       salt.modules.pillar.filter_by(lookup_dict,     pillar,      merge=None,
155804       default=u'default', base=None)
155805              New in version 2017.7.0.
155806
155807
155808              Look  up  the  given pillar in a given dictionary and return the
155809              result
155810
155811              Parameters
155812
155813                     · lookup_dict --
155814
155815                       A dictionary, keyed by a pillar, containing a value  or
155816                       values  relevant  to  systems matching that pillar. For
155817                       example, a key could be a pillar for  a  role  and  the
155818                       value  could  the  name of a package on that particular
155819                       OS.
155820
155821                       The dictionary key can be a globbing pattern. The func‐
155822                       tion  will  return  the corresponding lookup_dict value
155823                       where the pillar value matches the  pattern. For  exam‐
155824                       ple:
155825
155826                          # this will render 'got some salt' if ``role`` begins with 'salt'
155827                          salt '*' pillar.filter_by '{salt*: got some salt, default: salt is not here}' role
155828
155829
155830                     · pillar --
155831
155832                       The name of a pillar to match with the system's pillar.
155833                       For example, the value of the "role"  pillar  could  be
155834                       used to pull values from the lookup_dict dictionary.
155835
155836                       The  pillar  value  can  be  a  list. The function will
155837                       return the lookup_dict value for a first found item  in
155838                       the list matching one of the lookup_dict keys.
155839
155840
155841                     · merge  -- A dictionary to merge with the results of the
155842                       pillar selection from lookup_dict. This allows  another
155843                       dictionary to override the values in the lookup_dict.
155844
155845                     · default -- default lookup_dict's key used if the pillar
155846                       does not exist or if the pillar value has no  match  on
155847                       lookup_dict.  If unspecified the value is "default".
155848
155849                     · base -- A lookup_dict key to use for a base dictionary.
155850                       The pillar-selected lookup_dict is merged over this and
155851                       then  finally  the  merge  dictionary  is merged.  This
155852                       allows common values for each case to be  collected  in
155853                       the base and overridden by the pillar selection dictio‐
155854                       nary and the merge dictionary.  Default is unset.
155855
155856              CLI Example:
155857
155858                 salt '*' pillar.filter_by '{web: Serve it up, db: I query, default: x_x}' role
155859
155860       salt.modules.pillar.get(key,   default=<type    'exceptions.KeyError'>,
155861       merge=False,  merge_nested_lists=None,  delimiter=':',  pillarenv=None,
155862       saltenv=None)
155863              New in version 0.14.
155864
155865
155866              Attempt to retrieve the named value from in-memory pillar  data.
155867              If  the  pillar key is not present in the in-memory pillar, then
155868              the value specified in the default option (described below) will
155869              be returned.
155870
155871              If  the  merge  parameter  is  set  to True, the default will be
155872              recursively merged into the returned pillar data.
155873
155874              The value can also represent a value in a nested  dict  using  a
155875              ":"  delimiter for the dict. This means that if a dict in pillar
155876              looks like this:
155877
155878                 {'pkg': {'apache': 'httpd'}}
155879
155880              To retrieve the value associated with the apache key in the  pkg
155881              dict this key can be passed as:
155882
155883                 pkg:apache
155884
155885              key    The pillar key to get value from
155886
155887              default
155888                     The  value  specified  by this option will be returned if
155889                     the desired pillar key does not exist.
155890
155891                     If a default value is specified, then it will be an empty
155892                     string, unless pillar_raise_on_missing is set to True, in
155893                     which case an error will be raised.
155894
155895              merge  False If True, the retrieved values will be  merged  into
155896                     the  passed  default.  When the default and the retrieved
155897                     value are both dictionaries,  the  dictionaries  will  be
155898                     recursively merged.
155899
155900                     New in version 2014.7.0.
155901
155902
155903                     Changed  in  version  2016.3.7,2016.11.4,2017.7.0: If the
155904                     default and the retrieved value are not of the same type,
155905                     then merging will be skipped and the retrieved value will
155906                     be returned. Earlier releases raised an  error  in  these
155907                     cases.
155908
155909
155910              merge_nested_lists
155911                     If set to False, lists nested within the retrieved pillar
155912                     dictionary will overwrite lists in  default.  If  set  to
155913                     True,  nested lists will be merged into lists in default.
155914                     If unspecified (the default), this  option  is  inherited
155915                     from the pillar_merge_lists minion config option.
155916
155917                     NOTE:
155918                        This option is ignored when merge is set to False.
155919
155920                     New in version 2016.11.6.
155921
155922
155923              delimiter
155924                     Specify  an  alternate delimiter to use when traversing a
155925                     nested dict.  This is useful for  when  the  desired  key
155926                     contains a colon. See CLI example below for usage.
155927
155928                     New in version 2014.7.0.
155929
155930
155931              pillarenv
155932                     If specified, this function will query the master to gen‐
155933                     erate fresh pillar data on the fly, specifically from the
155934                     requested  pillar environment. Note that this can produce
155935                     different pillar data than executing this function  with‐
155936                     out  an  environment,  as  its normal behavior is just to
155937                     return a value from minion's pillar data in memory (which
155938                     can be sourced from more than one pillar environment).
155939
155940                     Using  this  argument  will not affect the pillar data in
155941                     memory. It will however be slightly slower and  use  more
155942                     resources on the master due to the need for the master to
155943                     generate and send the  minion  fresh  pillar  data.  This
155944                     tradeoff  in  performance however allows for the use case
155945                     where pillar data is desired only from a single  environ‐
155946                     ment.
155947
155948                     New in version 2017.7.0.
155949
155950
155951              saltenv
155952                     Included     only    for    compatibility    with    pil‐
155953                     larenv_from_saltenv, and is otherwise ignored.
155954
155955                     New in version 2017.7.0.
155956
155957
155958              CLI Example:
155959
155960                 salt '*' pillar.get pkg:apache
155961                 salt '*' pillar.get abc::def|ghi delimiter='|'
155962
155963       salt.modules.pillar.item(*args, **kwargs)
155964              New in version 0.16.2.
155965
155966
155967              Return one or more pillar  entries  from  the  in-memory  pillar
155968              data.
155969
155970              delimiter
155971                     Delimiter used to traverse nested dictionaries.
155972
155973                     NOTE:
155974                        This  is  different from pillar.get in that no default
155975                        value can be  specified.  pillar.get  should  probably
155976                        still  be used in most cases to retrieve nested pillar
155977                        values, as it is a bit more flexible.  One  reason  to
155978                        use  this  function  instead  of pillar.get however is
155979                        when it is desirable to retrieve the  values  of  more
155980                        than  one  key, since pillar.get can only retrieve one
155981                        key at a time.
155982
155983                     New in version 2015.8.0.
155984
155985
155986              pillarenv
155987                     If specified, this function will query the master to gen‐
155988                     erate fresh pillar data on the fly, specifically from the
155989                     requested pillar environment. Note that this can  produce
155990                     different  pillar data than executing this function with‐
155991                     out an environment, as its normal  behavior  is  just  to
155992                     return a value from minion's pillar data in memory (which
155993                     can be sourced from more than one pillar environment).
155994
155995                     Using this argument will not affect the  pillar  data  in
155996                     memory.  It  will however be slightly slower and use more
155997                     resources on the master due to the need for the master to
155998                     generate  and  send  the  minion  fresh pillar data. This
155999                     tradeoff in performance however allows for the  use  case
156000                     where  pillar data is desired only from a single environ‐
156001                     ment.
156002
156003                     New in version 2017.7.6,2018.3.1.
156004
156005
156006              saltenv
156007                     Included    only    for    compatibility    with     pil‐
156008                     larenv_from_saltenv, and is otherwise ignored.
156009
156010                     New in version 2017.7.6,2018.3.1.
156011
156012
156013              CLI Examples:
156014
156015                 salt '*' pillar.item foo
156016                 salt '*' pillar.item foo:bar
156017                 salt '*' pillar.item foo bar baz
156018
156019       salt.modules.pillar.items(*args, **kwargs)
156020              Calls  the  master  for  a fresh pillar and generates the pillar
156021              data on the fly
156022
156023              Contrast with raw() which returns the pillar data that  is  cur‐
156024              rently loaded into the minion.
156025
156026              pillar If  specified,  allows for a dictionary of pillar data to
156027                     be made available to  pillar  and  ext_pillar  rendering.
156028                     these  pillar  variables will also override any variables
156029                     of the same name in pillar or ext_pillar.
156030
156031                     New in version 2015.5.0.
156032
156033
156034              pillar_enc
156035                     If specified, the data passed in the pillar argument will
156036                     be passed through this renderer to decrypt it.
156037
156038                     NOTE:
156039                        This will decrypt on the minion side, so the specified
156040                        renderer must be set up on  the  minion  for  this  to
156041                        work. Alternatively, pillar data can be decrypted mas‐
156042                        ter-side. For more information, see the Pillar Encryp‐
156043                        tion  documentation.   Pillar  data  that is decrypted
156044                        master-side, is not decrypted until the end of  pillar
156045                        compilation  though, so minion-side decryption will be
156046                        necessary if the encrypted pillar data  must  be  made
156047                        available in an decrypted state pillar/ext_pillar ren‐
156048                        dering.
156049
156050                     New in version 2017.7.0.
156051
156052
156053              pillarenv
156054                     Pass a specific pillar environment from which to  compile
156055                     pillar  data.   If  not specified, then the minion's pil‐
156056                     larenv option is not used, and if that also is not speci‐
156057                     fied  then  all  configured  pillar  environments will be
156058                     merged into a single pillar dictionary and returned.
156059
156060                     New in version 2016.11.2.
156061
156062
156063              saltenv
156064                     Included    only    for    compatibility    with     pil‐
156065                     larenv_from_saltenv, and is otherwise ignored.
156066
156067              CLI Example:
156068
156069                 salt '*' pillar.items
156070
156071       salt.modules.pillar.keys(key, delimiter=':')
156072              New in version 2015.8.0.
156073
156074
156075              Attempt to retrieve a list of keys from the named value from the
156076              pillar.
156077
156078              The value can also represent a value in a nested  dict  using  a
156079              ":" delimiter for the dict, similar to how pillar.get works.
156080
156081              delimiter
156082                     Specify  an  alternate delimiter to use when traversing a
156083                     nested dict
156084
156085              CLI Example:
156086
156087                 salt '*' pillar.keys web:sites
156088
156089       salt.modules.pillar.ls(*args)
156090              New in version 2015.8.0.
156091
156092
156093              Calls the master for a fresh pillar, generates the  pillar  data
156094              on  the fly (same as items()), but only shows the available main
156095              keys.
156096
156097              CLI Examples:
156098
156099                 salt '*' pillar.ls
156100
156101       salt.modules.pillar.obfuscate(*args)
156102              New in version 2015.8.0.
156103
156104
156105              Same as items(), but replace pillar values with  a  simple  type
156106              indication.
156107
156108              This is useful to avoid displaying sensitive information on con‐
156109              sole or flooding the console with long output, such as  certifi‐
156110              cates.   For many debug or control purposes, the stakes lie more
156111              in dispatching than in actual values.
156112
156113              In case the value  is  itself  a  collection  type,  obfuscation
156114              occurs within the value.  For mapping types, keys are not obfus‐
156115              cated.  Here are some examples:
156116
156117              · 'secret password' becomes '<str>'
156118
156119              · ['secret', 1] becomes ['<str>', '<int>']
156120
156121              · {'login':  'somelogin',  'pwd':  'secret'}  becomes  {'login':
156122                '<str>', 'pwd': '<str>'}
156123
156124              CLI Examples:
156125
156126                 salt '*' pillar.obfuscate
156127
156128       salt.modules.pillar.raw(key=None)
156129              Return  the  raw  pillar  data that is currently loaded into the
156130              minion.
156131
156132              Contrast with items() which calls the master to fetch  the  most
156133              up-to-date Pillar.
156134
156135              CLI Example:
156136
156137                 salt '*' pillar.raw
156138
156139              With  the optional key argument, you can select a subtree of the
156140              pillar raw data.:
156141
156142                 salt '*' pillar.raw key='roles'
156143
156144   salt.modules.pip
156145       Install Python packages with pip to either the system or a virtualenv
156146
156147   Windows Support
156148       New in version 2014.7.4.
156149
156150
156151       Salt now uses a portable python. As a result the entire pip  module  is
156152       now  functional  on  the  salt installation itself. You can pip install
156153       dependencies for your custom modules. You can even upgrade salt  itself
156154       using  pip.  For  this  to  work properly, you must specify the Current
156155       Working Directory (cwd) and the Pip Binary (bin_env) salt  should  use.
156156       The variable pip_bin can be either a virtualenv path or the path to the
156157       pip binary itself.
156158
156159       For example, the following command will  list  all  software  installed
156160       using pip to your current salt environment:
156161
156162          salt <minion> pip.list cwd='C:\salt\bin\Scripts' bin_env='C:\salt\bin\Scripts\pip.exe'
156163
156164       Specifying  the  cwd  and  bin_env options ensures you're modifying the
156165       salt environment. If these are omitted, it will default  to  the  local
156166       installation of python. If python is not installed locally it will fail
156167       saying it couldn't find pip.
156168
156169   State File Support
156170       This functionality works in states as well. If you need to pip  install
156171       colorama with a state, for example, the following will work:
156172
156173          install_colorama:
156174            pip.installed:
156175              - name: colorama
156176              - cwd: 'C:\salt\bin\scripts'
156177              - bin_env: 'C:\salt\bin\scripts\pip.exe'
156178              - upgrade: True
156179
156180   Upgrading Salt using Pip
156181       You can now update salt using pip to any version from the 2014.7 branch
156182       forward. Previous version require recompiling some of the  dependencies
156183       which is painful in windows.
156184
156185       To  do this you just use pip with git to update to the version you want
156186       and then restart the service. Here is a sample state file that upgrades
156187       salt to the head of the 2015.5 branch:
156188
156189          install_salt:
156190            pip.installed:
156191              - cwd: 'C:\salt\bin\scripts'
156192              - bin_env: 'C:\salt\bin\scripts\pip.exe'
156193              - editable: git+https://github.com/saltstack/salt@2015.5#egg=salt
156194              - upgrade: True
156195
156196          restart_service:
156197            service.running:
156198              - name: salt-minion
156199              - enable: True
156200              - watch:
156201                - pip: install_salt
156202
156203       NOTE:
156204          If  you're having problems, you might try doubling the back slashes.
156205          For example, cwd: 'C:\salt\bin\scripts'. Sometimes python thinks the
156206          single back slash is an escape character.
156207
156208          There  is a known incompatibility between Python2 pip>=10.* and Salt
156209          <=2018.3.0.       The      issue       is       decribed       here:
156210          https://github.com/saltstack/salt/issues/46163
156211
156212       salt.modules.pip.freeze(bin_env=None,        user=None,       cwd=None,
156213       use_vt=False, env_vars=None, **kwargs)
156214              Return a list of installed packages either globally  or  in  the
156215              specified virtualenv
156216
156217              bin_env
156218                     Path  to  pip  (or  to a virtualenv). This can be used to
156219                     specify the path to the pip to use  when  more  than  one
156220                     Python  release  is  installed (e.g.  /usr/bin/pip-2.7 or
156221                     /usr/bin/pip-2.6. If a directory path is specified, it is
156222                     assumed to be a virtualenv.
156223
156224              user   The user under which to run pip
156225
156226              cwd    Directory from which to run pip
156227
156228              NOTE:
156229                 If the version of pip available is older than 8.0.3, the list
156230                 will not include the packages pip, wheel, setuptools, or dis‐
156231                 tribute even if they are installed.
156232
156233              CLI Example:
156234
156235                 salt '*' pip.freeze bin_env=/home/code/path/to/virtualenv
156236
156237       salt.modules.pip.install(pkgs=None,   requirements=None,  bin_env=None,
156238       use_wheel=False,  no_use_wheel=False,   log=None,   proxy=None,   time‐
156239       out=None,      editable=None,      find_links=None,     index_url=None,
156240       extra_index_url=None, no_index=False,  mirrors=None,  build=None,  tar‐
156241       get=None,      download=None,     download_cache=None,     source=None,
156242       upgrade=False,      force_reinstall=False,      ignore_installed=False,
156243       exists_action=None, no_deps=False, no_install=False, no_download=False,
156244       global_options=None,   install_options=None,    user=None,    cwd=None,
156245       pre_releases=False,  cert=None,  allow_all_external=False, allow_exter‐
156246       nal=None,    allow_unverified=None,     process_dependency_links=False,
156247       saltenv=u'base',    env_vars=None,   use_vt=False,   trusted_host=None,
156248       no_cache_dir=False,  extra_args=None,  cache_dir=None,  no_binary=None,
156249       disable_version_check=False, **kwargs)
156250              Install packages with pip
156251
156252              Install  packages  individually or from a pip requirements file.
156253              Install packages globally or to a virtualenv.
156254
156255              pkgs   Comma separated list of packages to install
156256
156257              requirements
156258                     Path to requirements
156259
156260              bin_env
156261                     Path to pip (or to a virtualenv). This  can  be  used  to
156262                     specify  the  path  to  the pip to use when more than one
156263                     Python release is installed  (e.g.   /usr/bin/pip-2.7  or
156264                     /usr/bin/pip-2.6. If a directory path is specified, it is
156265                     assumed to be a virtualenv.
156266
156267                     NOTE:
156268                        For Windows, if  the  pip  module  is  being  used  to
156269                        upgrade the pip package, bin_env should be the path to
156270                        the virtualenv or to the python binary that should  be
156271                        used.   The pip command is unable to upgrade itself in
156272                        Windows.
156273
156274              use_wheel
156275                     Prefer wheel archives (requires pip>=1.4)
156276
156277              no_use_wheel
156278                     Force   to   not    use    wheel    archives    (requires
156279                     pip>=1.4,<10.0.0)
156280
156281              no_binary
156282                     Force  to not use binary packages (requires pip >= 7.0.0)
156283                     Accepts either :all:  to  disable  all  binary  packages,
156284                     :none:  to  empty  the  set, or one or more package names
156285                     with commas between them
156286
156287              log    Log file where a complete (maximum verbosity) record will
156288                     be kept
156289
156290              proxy  Specify       a       proxy       in       the       form
156291                     user:passwd@proxy.server:port. Note that  the  user:pass‐
156292                     word@  is optional and required only if you are behind an
156293                     authenticated      proxy.      If       you       provide
156294                     user@proxy.server:port  then  you  will be prompted for a
156295                     password.
156296
156297                     NOTE:
156298                        If the the Minion has a globaly configured proxy -  it
156299                        will be used even if no proxy was set here. To explic‐
156300                        itly disable proxy for pip you should pass False as  a
156301                        value.
156302
156303              timeout
156304                     Set the socket timeout (default 15 seconds)
156305
156306              editable
156307                     install          something         editable         (e.g.
156308                     git+https://github.com/worldcompany/djangoem
156309                     bed.git#egg=djangoembed)
156310
156311              find_links
156312                     URL to search for packages
156313
156314              index_url
156315                     Base URL of Python Package Index
156316
156317              extra_index_url
156318                     Extra  URLs  of  package  indexes  to  use in addition to
156319                     index_url
156320
156321              no_index
156322                     Ignore package index
156323
156324              mirrors
156325                     Specific  mirror  URL(s)  to  query  (automatically  adds
156326                     --use-mirrors)
156327
156328                     WARNING:
156329                        This  option  has  been  deprecated and removed in pip
156330                        version   7.0.0.    Please   use   index_url    and/or
156331                        extra_index_url instead.
156332
156333              build  Unpack packages into build dir
156334
156335              target Install packages into target dir
156336
156337              download
156338                     Download  packages  into  download  instead of installing
156339                     them
156340
156341              download_cache | cache_dir
156342                     Cache downloaded packages in download_cache or  cache_dir
156343                     dir
156344
156345              source Check out editable packages into source dir
156346
156347              upgrade
156348                     Upgrade all packages to the newest available version
156349
156350              force_reinstall
156351                     When  upgrading,  reinstall all packages even if they are
156352                     already up-to-date.
156353
156354              ignore_installed
156355                     Ignore the installed packages (reinstalling instead)
156356
156357              exists_action
156358                     Default action when  a  path  already  exists:  (s)witch,
156359                     (i)gnore, (w)ipe, (b)ackup
156360
156361              no_deps
156362                     Ignore package dependencies
156363
156364              no_install
156365                     Download  and  unpack  all  packages,  but don't actually
156366                     install them
156367
156368              no_download
156369                     Don't  download  any  packages,  just  install  the  ones
156370                     already   downloaded   (completes  an  install  run  with
156371                     --no-install)
156372
156373              install_options
156374                     Extra arguments to be supplied to  the  setup.py  install
156375                     command                    (e.g.                     like
156376                     --install-option='--install-scripts=/usr/local/bin').
156377                     Use  multiple  --install-option  options to pass multiple
156378                     options to setup.py install. If you are using  an  option
156379                     with a directory path, be sure to use absolute path.
156380
156381              global_options
156382                     Extra  global options to be supplied to the setup.py call
156383                     before the install command.
156384
156385              user   The user under which to run pip
156386
156387              cwd    Directory from which to run pip
156388
156389              pre_releases
156390                     Include pre-releases in the available versions
156391
156392              cert   Provide a path to an alternate CA bundle
156393
156394              allow_all_external
156395                     Allow the installation of all externally hosted files
156396
156397              allow_external
156398                     Allow the installation of externally hosted files  (comma
156399                     separated list)
156400
156401              allow_unverified
156402                     Allow the installation of insecure and unverifiable files
156403                     (comma separated list)
156404
156405              process_dependency_links
156406                     Enable the processing of dependency links
156407
156408              env_vars
156409                     Set environment variables that some  builds  will  depend
156410                     on.  For  example,  a Python C-module may have a Makefile
156411                     that needs INCLUDE_PATH set to  pick  up  a  header  file
156412                     while  compiling.   This must be in the form of a dictio‐
156413                     nary or a mapping.
156414
156415                     Example:
156416
156417                        salt '*' pip.install django_app env_vars="{'CUSTOM_PATH': '/opt/django_app'}"
156418
156419              trusted_host
156420                     Mark this host as trusted, even though it does  not  have
156421                     valid or any HTTPS.
156422
156423              use_vt Use VT terminal emulation (see output while installing)
156424
156425              no_cache_dir
156426                     Disable the cache.
156427
156428              extra_args
156429                     pip  keyword and positional arguments not yet implemented
156430                     in salt
156431
156432                        salt '*' pip.install pandas extra_args="[{'--latest-pip-kwarg':'param'}, '--latest-pip-arg']"
156433
156434                     WARNING:
156435                        If unsupported options are passed here  that  are  not
156436                        supported  in  a  minion's  version  of pip, a No such
156437                        option error will be thrown.
156438
156439              Will be translated into the following pip command:
156440
156441                 pip install pandas --latest-pip-kwarg param --latest-pip-arg
156442
156443              disable_version_check
156444                     Pip may periodically check PyPI to  determine  whether  a
156445                     new version of pip is available to download. Passing True
156446                     for this option disables that check.
156447
156448              CLI Example:
156449
156450                 salt '*' pip.install <package name>,<package2 name>
156451                 salt '*' pip.install requirements=/path/to/requirements.txt
156452                 salt '*' pip.install <package name> bin_env=/path/to/virtualenv
156453                 salt '*' pip.install <package name> bin_env=/path/to/pip_bin
156454
156455              Complicated CLI example:
156456
156457                 salt '*' pip.install markdown,django                 editable=git+https://github.com/worldcompany/djangoembed.git#egg=djangoembed upgrade=True no_deps=True
156458
156459       salt.modules.pip.is_installed(pkgname=None,  bin_env=None,   user=None,
156460       cwd=None)
156461              New in version 2018.3.0.
156462
156463
156464              Filter  list  of  installed  apps from freeze and return True or
156465              False  if pkgname exists in the list of packages installed.
156466
156467              NOTE:
156468                 If the version of pip available  is  older  than  8.0.3,  the
156469                 packages  wheel,  setuptools,  and  distribute  will  not  be
156470                 reported by this function even if they are installed.  Unlike
156471                 pip.freeze,  this  function always reports the version of pip
156472                 which is installed.
156473
156474              CLI Example:
156475
156476                 salt '*' pip.is_installed salt
156477
156478       salt.modules.pip.list_(prefix=None, bin_env=None, user=None,  cwd=None,
156479       env_vars=None, **kwargs)
156480              Filter  list  of  installed apps from freeze and check to see if
156481              prefix exists in the list of packages installed.
156482
156483              NOTE:
156484                 If the version of pip available  is  older  than  8.0.3,  the
156485                 packages  wheel,  setuptools,  and  distribute  will  not  be
156486                 reported by this function even if they are installed.  Unlike
156487                 pip.freeze,  this  function always reports the version of pip
156488                 which is installed.
156489
156490              CLI Example:
156491
156492                 salt '*' pip.list salt
156493
156494       salt.modules.pip.list_all_versions(pkg,                   bin_env=None,
156495       include_alpha=False,  include_beta=False,  include_rc=False, user=None,
156496       cwd=None, index_url=None, extra_index_url=None)
156497              New in version 2017.7.3.
156498
156499
156500              List all available versions of a pip package
156501
156502              pkg    The package to check
156503
156504              bin_env
156505                     Path to pip (or to a virtualenv). This  can  be  used  to
156506                     specify  the  path  to  the pip to use when more than one
156507                     Python release is installed  (e.g.   /usr/bin/pip-2.7  or
156508                     /usr/bin/pip-2.6. If a directory path is specified, it is
156509                     assumed to be a virtualenv.
156510
156511              include_alpha
156512                     Include alpha versions in the list
156513
156514              include_beta
156515                     Include beta versions in the list
156516
156517              include_rc
156518                     Include release candidates versions in the list
156519
156520              user   The user under which to run pip
156521
156522              cwd    Directory from which to run pip
156523
156524              index_url
156525                     Base URL of Python Package Index
156526
156527              extra_index_url
156528                     Additional URL of Python Package Index
156529
156530              CLI Example:
156531
156532                 salt '*' pip.list_all_versions <package name>
156533
156534       salt.modules.pip.list_upgrades(bin_env=None, user=None, cwd=None)
156535              Check whether or not an upgrade is available for all packages
156536
156537              CLI Example:
156538
156539                 salt '*' pip.list_upgrades
156540
156541       salt.modules.pip.uninstall(pkgs=None, requirements=None,  bin_env=None,
156542       log=None,     proxy=None,     timeout=None,     user=None,    cwd=None,
156543       saltenv=u'base', use_vt=False)
156544              Uninstall packages individually or from a pip requirements file
156545
156546              pkgs   comma separated list of packages to install
156547
156548              requirements
156549                     Path to requirements file
156550
156551              bin_env
156552                     Path to pip (or to a virtualenv). This  can  be  used  to
156553                     specify  the  path  to  the pip to use when more than one
156554                     Python release is installed  (e.g.   /usr/bin/pip-2.7  or
156555                     /usr/bin/pip-2.6. If a directory path is specified, it is
156556                     assumed to be a virtualenv.
156557
156558              log    Log file where a complete (maximum verbosity) record will
156559                     be kept
156560
156561              proxy  Specify       a       proxy       in      the      format
156562                     user:passwd@proxy.server:port. Note that  the  user:pass‐
156563                     word@  is optional and required only if you are behind an
156564                     authenticated      proxy.       If      you       provide
156565                     user@proxy.server:port  then  you  will be prompted for a
156566                     password.
156567
156568                     NOTE:
156569                        If the the Minion has a globaly configured proxy -  it
156570                        will be used even if no proxy was set here. To explic‐
156571                        itly disable proxy for pip you should pass False as  a
156572                        value.
156573
156574              timeout
156575                     Set the socket timeout (default 15 seconds)
156576
156577              user   The user under which to run pip
156578
156579              cwd    Directory from which to run pip
156580
156581              use_vt Use VT terminal emulation (see output while installing)
156582
156583              CLI Example:
156584
156585                 salt '*' pip.uninstall <package name>,<package2 name>
156586                 salt '*' pip.uninstall requirements=/path/to/requirements.txt
156587                 salt '*' pip.uninstall <package name> bin_env=/path/to/virtualenv
156588                 salt '*' pip.uninstall <package name> bin_env=/path/to/pip_bin
156589
156590       salt.modules.pip.upgrade(bin_env=None,       user=None,       cwd=None,
156591       use_vt=False)
156592              New in version 2015.5.0.
156593
156594
156595              Upgrades outdated pip packages.
156596
156597              NOTE:
156598                 On Windows you can't update salt from pip using salt, so salt
156599                 will be skipped
156600
156601              Returns a dict containing the changes.
156602
156603                 {'<package>': {'old': '<old-version>',
156604                        'new': '<new-version>'}}
156605
156606              CLI Example:
156607
156608                 salt '*' pip.upgrade
156609
156610       salt.modules.pip.upgrade_available(pkg,     bin_env=None,    user=None,
156611       cwd=None)
156612              New in version 2015.5.0.
156613
156614
156615              Check whether or not an upgrade is available for a given package
156616
156617              CLI Example:
156618
156619                 salt '*' pip.upgrade_available <package name>
156620
156621       salt.modules.pip.version(bin_env=None, cwd=None)
156622              New in version 0.17.0.
156623
156624
156625              Returns the version of pip. Use bin_env to specify the path to a
156626              virtualenv and get the version of pip in that virtualenv.
156627
156628              If unable to detect the pip version, returns None.
156629
156630              CLI Example:
156631
156632                 salt '*' pip.version
156633
156634   salt.modules.pkg_resource
156635       Resources needed by pkg providers
156636
156637       salt.modules.pkg_resource.add_pkg(pkgs, name, pkgver)
156638              Add a package to a dict of installed packages.
156639
156640              CLI Example:
156641
156642                 salt '*' pkg_resource.add_pkg '{}' bind 9
156643
156644       salt.modules.pkg_resource.check_extra_requirements(pkgname, pkgver)
156645              Check  if  the  installed package already has the given require‐
156646              ments.    This   function   will   return    the    result    of
156647              pkg.check_extra_requirements  if  this  function  exists for the
156648              minion, otherwise it will return True.
156649
156650              CLI Example:
156651
156652                 salt '*' pkg_resource.check_extra_requirements <pkgname> <extra_requirements>
156653
156654       salt.modules.pkg_resource.format_pkg_list(packages,   versions_as_list,
156655       attr)
156656              Formats packages according to parameters for list_pkgs.
156657
156658       salt.modules.pkg_resource.format_version(epoch, version, release)
156659              Formats a version string for list_pkgs.
156660
156661       salt.modules.pkg_resource.pack_sources(sources, normalize=True)
156662              Accepts list of dicts (or a string representing a list of dicts)
156663              and packs the key/value pairs into a single dict.
156664
156665              '[{"foo": "salt://foo.rpm"}, {"bar":  "salt://bar.rpm"}]'  would
156666              become {"foo": "salt://foo.rpm", "bar": "salt://bar.rpm"}
156667
156668              normalize
156669                     True Normalize the package name by removing the architec‐
156670                     ture, if the architecture of  the  package  is  different
156671                     from  the architecture of the operating system. The abil‐
156672                     ity to disable this behavior is useful for poorly-created
156673                     packages which include the architecture as an actual part
156674                     of the name, such as kernel modules which  match  a  spe‐
156675                     cific kernel version.
156676
156677                     New in version 2015.8.0.
156678
156679
156680              CLI Example:
156681
156682                 salt '*' pkg_resource.pack_sources '[{"foo": "salt://foo.rpm"}, {"bar": "salt://bar.rpm"}]'
156683
156684       salt.modules.pkg_resource.parse_targets(name=None,           pkgs=None,
156685       sources=None, saltenv=u'base', normalize=True, **kwargs)
156686              Parses the input to pkg.install and returns back the  package(s)
156687              to be installed. Returns a list of packages, as well as a string
156688              noting whether the packages are to come from a repository  or  a
156689              binary package.
156690
156691              CLI Example:
156692
156693                 salt '*' pkg_resource.parse_targets
156694
156695       salt.modules.pkg_resource.sort_pkglist(pkgs)
156696              Accepts  a dict obtained from pkg.list_pkgs() and sorts in place
156697              the list of versions for any packages that  have  multiple  ver‐
156698              sions  installed,  so  that two package lists can be compared to
156699              one another.
156700
156701              CLI Example:
156702
156703                 salt '*' pkg_resource.sort_pkglist '["3.45", "2.13"]'
156704
156705       salt.modules.pkg_resource.stringify(pkgs)
156706              Takes a dict of package name/version information and joins  each
156707              list of installed versions into a string.
156708
156709              CLI Example:
156710
156711                 salt '*' pkg_resource.stringify 'vim: 7.127'
156712
156713       salt.modules.pkg_resource.version(*names, **kwargs)
156714              Common  interface  for  obtaining the version of installed pack‐
156715              ages.
156716
156717              CLI Example:
156718
156719                 salt '*' pkg_resource.version vim
156720                 salt '*' pkg_resource.version foo bar baz
156721                 salt '*' pkg_resource.version 'python*'
156722
156723       salt.modules.pkg_resource.version_clean(verstr)
156724              Clean the version string removing  extra  data.   This  function
156725              will simply try to call pkg.version_clean.
156726
156727              CLI Example:
156728
156729                 salt '*' pkg_resource.version_clean <version_string>
156730
156731   salt.modules.pkgin
156732       Package  support for pkgin based systems, inspired from freebsdpkg mod‐
156733       ule
156734
156735       IMPORTANT:
156736          If you feel that Salt should be using this module to manage packages
156737          on  a  minion, and it is using a different module (or gives an error
156738          similar to 'pkg.install' is not available), see here.
156739
156740       salt.modules.pkgin.available_version(*names, **kwargs)
156741              This function is an alias of latest_version.
156742                 Return the latest version of the named package available  for
156743                 upgrade or installation.
156744
156745                 If   the  latest  version  of  a  given  package  is  already
156746                 installed, an empty string will be returned for that package.
156747
156748                 CLI Example:
156749
156750                     salt '*' pkg.latest_version <package name>
156751                     salt '*' pkg.latest_version <package1> <package2> ...
156752
156753       salt.modules.pkgin.file_dict(*packages)
156754              List the files that belong to a package.
156755
156756              CLI Examples:
156757
156758                 salt '*' pkg.file_dict nginx
156759                 salt '*' pkg.file_dict nginx varnish
156760
156761       salt.modules.pkgin.file_list(package)
156762              List the files that belong to a package.
156763
156764              CLI Examples:
156765
156766                 salt '*' pkg.file_list nginx
156767
156768       salt.modules.pkgin.install(name=None,   refresh=False,   fromrepo=None,
156769       pkgs=None, sources=None, **kwargs)
156770              Install the passed package
156771
156772              name   The name of the package to be installed.
156773
156774              refresh
156775                     Whether  or  not  to  refresh the package database before
156776                     installing.
156777
156778              fromrepo
156779                     Specify a package repository to install from.
156780
156781              Multiple Package Installation Options:
156782
156783              pkgs   A list of packages to install from a software repository.
156784                     Must be passed as a python list.
156785
156786                     CLI Example:
156787
156788                        salt '*' pkg.install pkgs='["foo","bar"]'
156789
156790              sources
156791                     A  list  of packages to install. Must be passed as a list
156792                     of dicts, with the keys being package names, and the val‐
156793                     ues being the source URI or local path to the package.
156794
156795                     CLI Example:
156796
156797                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
156798
156799              Return a dict containing the new package names and versions:
156800
156801                 {'<package>': {'old': '<old-version>',
156802                                'new': '<new-version>'}}
156803
156804              CLI Example:
156805
156806                 salt '*' pkg.install <package name>
156807
156808       salt.modules.pkgin.latest_version(*names, **kwargs)
156809              Return  the  latest  version  of the named package available for
156810              upgrade or installation.
156811
156812              If the latest version of a given package is  already  installed,
156813              an empty string will be returned for that package.
156814
156815              CLI Example:
156816
156817                 salt '*' pkg.latest_version <package name>
156818                 salt '*' pkg.latest_version <package1> <package2> ...
156819
156820       salt.modules.pkgin.list_pkgs(versions_as_list=False, **kwargs)
156821              List the packages currently installed as a dict:
156822
156823                 {'<package_name>': '<version>'}
156824
156825              CLI Example:
156826
156827                 salt '*' pkg.list_pkgs
156828
156829       salt.modules.pkgin.list_upgrades(refresh=True, **kwargs)
156830              List all available package upgrades.
156831
156832              New in version 2018.3.0.
156833
156834
156835              refresh
156836                     Whether  or  not  to  refresh the package database before
156837                     installing.
156838
156839              CLI Example:
156840
156841                 salt '*' pkg.list_upgrades
156842
156843       salt.modules.pkgin.purge(name=None, pkgs=None, **kwargs)
156844              Package purges are not supported, this function is identical  to
156845              remove().
156846
156847              name   The name of the package to be deleted.
156848
156849              Multiple Package Options:
156850
156851              pkgs   A  list of packages to delete. Must be passed as a python
156852                     list. The name parameter will be ignored if  this  option
156853                     is passed.
156854
156855              New in version 0.16.0.
156856
156857
156858              Returns a dict containing the changes.
156859
156860              CLI Example:
156861
156862                 salt '*' pkg.purge <package name>
156863                 salt '*' pkg.purge <package1>,<package2>,<package3>
156864                 salt '*' pkg.purge pkgs='["foo", "bar"]'
156865
156866       salt.modules.pkgin.refresh_db(force=False)
156867              Use pkg update to get latest pkg_summary
156868
156869              force  Pass -f so that the cache is always refreshed.
156870
156871                     New in version 2018.3.0.
156872
156873
156874              CLI Example:
156875
156876                 salt '*' pkg.refresh_db
156877
156878       salt.modules.pkgin.remove(name=None, pkgs=None, **kwargs)
156879
156880              name   The name of the package to be deleted.
156881
156882              Multiple Package Options:
156883
156884              pkgs   A  list of packages to delete. Must be passed as a python
156885                     list. The name parameter will be ignored if  this  option
156886                     is passed.
156887
156888              New in version 0.16.0.
156889
156890
156891              Returns a list containing the removed packages.
156892
156893              CLI Example:
156894
156895                 salt '*' pkg.remove <package name>
156896                 salt '*' pkg.remove <package1>,<package2>,<package3>
156897                 salt '*' pkg.remove pkgs='["foo", "bar"]'
156898
156899       salt.modules.pkgin.search(pkg_name)
156900              Searches for an exact match using pkgin ^package$
156901
156902              CLI Example:
156903
156904                 salt '*' pkg.search 'mysql-server'
156905
156906       salt.modules.pkgin.upgrade(refresh=True, pkgs=None, **kwargs)
156907              Run pkg upgrade, if pkgin used. Otherwise do nothing
156908
156909              refresh
156910                     Whether  or  not  to  refresh the package database before
156911                     installing.
156912
156913              Multiple Package Upgrade Options:
156914
156915              pkgs   A list of packages to upgrade from a software repository.
156916                     Must be passed as a python list.
156917
156918                     CLI Example:
156919
156920                        salt '*' pkg.upgrade pkgs='["foo","bar"]'
156921
156922              Returns a dictionary containing the changes:
156923
156924                 {'<package>':  {'old': '<old-version>',
156925                                 'new': '<new-version>'}}
156926
156927              CLI Example:
156928
156929                 salt '*' pkg.upgrade
156930
156931       salt.modules.pkgin.version(*names, **kwargs)
156932              Returns  a  string  representing the package version or an empty
156933              string if not installed. If more than one package name is speci‐
156934              fied, a dict of name/version pairs is returned.
156935
156936              CLI Example:
156937
156938                 salt '*' pkg.version <package name>
156939                 salt '*' pkg.version <package1> <package2> <package3> ...
156940
156941   salt.modules.pkgng
156942       Support for pkgng, the new package manager for FreeBSD
156943
156944       IMPORTANT:
156945          If you feel that Salt should be using this module to manage packages
156946          on a minion, and it is using a different module (or gives  an  error
156947          similar to 'pkg.install' is not available), see here.
156948
156949       WARNING:
156950          This  module has been completely rewritten. Up to and including ver‐
156951          sion 0.17.x, it was available as the pkgng  module,  (pkgng.install,
156952          pkgng.delete,  etc.),  but moving forward this module will no longer
156953          be available as pkgng, as it will behave  like  a  normal  Salt  pkg
156954          provider.  The documentation below should not be considered to apply
156955          to this module in versions <= 0.17.x. If your minion  is  running  a
156956          0.17.x  release or older, then the documentation for this module can
156957          be viewed using the sys.doc function:
156958
156959              salt bsdminion sys.doc pkgng
156960
156961       This module provides an interface to pkg(8). It  acts  as  the  default
156962       package provider for FreeBSD 10 and newer. For FreeBSD hosts which have
156963       been upgraded to use pkgng, you will need to override the pkg  provider
156964       by setting the providers parameter in your Minion config file, in order
156965       to use this module to manage packages, like so:
156966
156967          providers:
156968            pkg: pkgng
156969
156970       salt.modules.pkgng.audit(jail=None, chroot=None, root=None)
156971              Audits installed packages against known vulnerabilities
156972
156973              CLI Example:
156974
156975                 salt '*' pkg.audit
156976
156977              jail   Audit packages within the specified jail
156978
156979                     CLI Example:
156980
156981                        salt '*' pkg.audit jail=<jail name or id>
156982
156983              chroot Audit packages within the specified  chroot  (ignored  if
156984                     jail is specified)
156985
156986              root   Audit packages within the specified root (ignored if jail
156987                     is specified)
156988
156989                     CLI Example:
156990
156991                        salt '*' pkg.audit chroot=/path/to/chroot
156992
156993       salt.modules.pkgng.autoremove(jail=None,    chroot=None,     root=None,
156994       dryrun=False)
156995              Delete  packages which were automatically installed as dependen‐
156996              cies and are not required anymore.
156997
156998              dryrun Dry-run mode. The list of changes to packages  is  always
156999                     printed, but no changes are actually made.
157000
157001              CLI Example:
157002
157003                 salt '*' pkg.autoremove
157004                 salt '*' pkg.autoremove jail=<jail name or id>
157005                 salt '*' pkg.autoremove dryrun=True
157006                 salt '*' pkg.autoremove jail=<jail name or id> dryrun=True
157007
157008       salt.modules.pkgng.backup(file_name, jail=None, chroot=None, root=None)
157009              Export installed packages into yaml+mtree file
157010
157011              CLI Example:
157012
157013                 salt '*' pkg.backup /tmp/pkg
157014
157015              jail   Backup  packages  from the specified jail. Note that this
157016                     will run the command within the jail, and so the path  to
157017                     the backup file will be relative to the root of the jail
157018
157019                     CLI Example:
157020
157021                        salt '*' pkg.backup /tmp/pkg jail=<jail name or id>
157022
157023              chroot Backup  packages  from  the  specified chroot (ignored if
157024                     jail is specified). Note that this will run  the  command
157025                     within  the  chroot,  and  so the path to the backup file
157026                     will be relative to the root of the chroot.
157027
157028              root   Backup packages from the specified root (ignored if  jail
157029                     is specified). Note that this will run the command within
157030                     the root, and so the path to the backup file will be rel‐
157031                     ative to the root of the root.
157032
157033                     CLI Example:
157034
157035                        salt '*' pkg.backup /tmp/pkg chroot=/path/to/chroot
157036
157037       salt.modules.pkgng.check(jail=None,       chroot=None,       root=None,
157038       depends=False, recompute=False, checksum=False)
157039              Sanity checks installed packages
157040
157041              jail   Perform the sanity check in the specified jail
157042
157043                     CLI Example:
157044
157045                        salt '*' pkg.check jail=<jail name or id>
157046
157047              chroot Perform the sanity check in the specified chroot (ignored
157048                     if jail is specified)
157049
157050              root   Perform  the  sanity check in the specified root (ignored
157051                     if jail is specified)
157052
157053                     CLI Example:
157054
157055                        salt '*' pkg.check chroot=/path/to/chroot
157056
157057              Of the below, at least one must be set to True.
157058
157059              depends
157060                     Check for and install missing dependencies.
157061
157062                     CLI Example:
157063
157064                        salt '*' pkg.check recompute=True
157065
157066              recompute
157067                     Recompute sizes and checksums of installed packages.
157068
157069                     CLI Example:
157070
157071                        salt '*' pkg.check depends=True
157072
157073              checksum
157074                     Find invalid checksums for installed packages.
157075
157076                     CLI Example:
157077
157078                        salt '*' pkg.check checksum=True
157079
157080       salt.modules.pkgng.clean(jail=None,       chroot=None,       root=None,
157081       clean_all=False, dryrun=False)
157082              Cleans the local cache of fetched remote packages
157083
157084              CLI Example:
157085
157086                 salt '*' pkg.clean
157087
157088              jail   Cleans the package cache in the specified jail
157089
157090                     CLI Example:
157091
157092                        salt '*' pkg.clean jail=<jail name or id>
157093
157094              chroot Cleans the package cache in the specified chroot (ignored
157095                     if jail is specified)
157096
157097              root   Cleans the package cache in the specified  root  (ignored
157098                     if jail is specified)
157099
157100                     CLI Example:
157101
157102                        salt '*' pkg.clean chroot=/path/to/chroot
157103
157104              clean_all
157105                     Clean  all  packages from the local cache (not just those
157106                     that have been superseded by newer versions).
157107
157108                     CLI Example:
157109
157110
157111
157112                     salt '*' pkg.clean clean_all=True
157113
157114              dryrun Dry-run mode. This list of changes to the local cache  is
157115                     always printed, but no changes are actually made.
157116
157117                     CLI Example:
157118
157119                        salt '*' pkg.clean dryrun=True
157120
157121       salt.modules.pkgng.fetch(name,   jail=None,   chroot=None,   root=None,
157122       fetch_all=False, quiet=False,  fromrepo=None,  glob=True,  regex=False,
157123       pcre=False, local=False, depends=False)
157124              Fetches remote packages
157125
157126              CLI Example:
157127
157128                 salt '*' pkg.fetch <package name>
157129
157130              jail   Fetch package in the specified jail
157131
157132                     CLI Example:
157133
157134                        salt '*' pkg.fetch <package name> jail=<jail name or id>
157135
157136              chroot Fetch package in the specified chroot (ignored if jail is
157137                     specified)
157138
157139              root   Fetch package in the specified root (ignored if  jail  is
157140                     specified)
157141
157142                     CLI Example:
157143
157144                        salt '*' pkg.fetch <package name> chroot=/path/to/chroot
157145
157146              fetch_all
157147                     Fetch all packages.
157148
157149                     CLI Example:
157150
157151                        salt '*' pkg.fetch <package name> fetch_all=True
157152
157153              quiet  Quiet mode. Show less output.
157154
157155                     CLI Example:
157156
157157                        salt '*' pkg.fetch <package name> quiet=True
157158
157159              fromrepo
157160                     Fetches  packages  from  the  given repo if multiple repo
157161                     support is enabled. See pkg.conf(5).
157162
157163                     CLI Example:
157164
157165                        salt '*' pkg.fetch <package name> fromrepo=repo
157166
157167              glob   Treat pkg_name as a shell glob pattern.
157168
157169                     CLI Example:
157170
157171                        salt '*' pkg.fetch <package name> glob=True
157172
157173              regex  Treat pkg_name as a regular expression.
157174
157175                     CLI Example:
157176
157177                        salt '*' pkg.fetch <regular expression> regex=True
157178
157179              pcre   Treat pkg_name is an extended regular expression.
157180
157181                     CLI Example:
157182
157183                        salt '*' pkg.fetch <extended regular expression> pcre=True
157184
157185              local  Skip updating the repository catalogs with pkg-update(8).
157186                     Use the local cache only.
157187
157188                     CLI Example:
157189
157190                        salt '*' pkg.fetch <package name> local=True
157191
157192              depends
157193                     Fetch the package and its dependencies as well.
157194
157195                     CLI Example:
157196
157197                        salt '*' pkg.fetch <package name> depends=True
157198
157199       salt.modules.pkgng.hold(name=None, pkgs=None, **kwargs)
157200              Version-lock packages
157201
157202              NOTE:
157203                 This  function  is  provided  primarily for compatibilty with
157204                 some parts of  states.pkg.   Consider  using  Consider  using
157205                 pkg.lock instead. instead.
157206
157207              name   The name of the package to be held.
157208
157209              Multiple Package Options:
157210
157211              pkgs   A  list  of  packages to hold. Must be passed as a python
157212                     list. The name parameter will be ignored if  this  option
157213                     is passed.
157214
157215              Returns a dict containing the changes.
157216
157217              CLI Example:
157218
157219                 salt '*' pkg.hold <package name>
157220                 salt '*' pkg.hold pkgs='["foo", "bar"]'
157221
157222       salt.modules.pkgng.install(name=None,     fromrepo=None,     pkgs=None,
157223       sources=None,   jail=None,   chroot=None,   root=None,    orphan=False,
157224       force=False,  glob=False, local=False, dryrun=False, quiet=False, rein‐
157225       stall_requires=False, regex=False, pcre=False, batch=False, **kwargs)
157226              Install package(s) from a repository
157227
157228              name   The name of the package to install
157229
157230                     CLI Example:
157231
157232                        salt '*' pkg.install <package name>
157233
157234              jail   Install the package into the specified jail
157235
157236              chroot Install the package into the specified chroot (ignored if
157237                     jail is specified)
157238
157239              root   Install  the  package into the specified root (ignored if
157240                     jail is specified)
157241
157242              orphan Mark the installed package as orphan. Will  be  automati‐
157243                     cally  removed  if  no other packages depend on them. For
157244                     more information please refer to pkg-autoremove(8).
157245
157246                     CLI Example:
157247
157248                        salt '*' pkg.install <package name> orphan=True
157249
157250              force  Force  the  reinstallation  of  the  package  if  already
157251                     installed.
157252
157253                     CLI Example:
157254
157255                        salt '*' pkg.install <package name> force=True
157256
157257              glob   Treat the package names as shell glob patterns.
157258
157259                     CLI Example:
157260
157261                        salt '*' pkg.install <package name> glob=True
157262
157263              local  Do not update the repository catalogs with pkg-update(8).
157264                     A value of True here is equivalent to using the  -U  flag
157265                     with pkg install.
157266
157267                     CLI Example:
157268
157269                        salt '*' pkg.install <package name> local=True
157270
157271              dryrun Dru-run  mode.  The list of changes to packages is always
157272                     printed, but no changes are actually made.
157273
157274                     CLI Example:
157275
157276                        salt '*' pkg.install <package name> dryrun=True
157277
157278              quiet  Force quiet output, except when dryrun is used, where pkg
157279                     install  will  always  show  packages  to  be  installed,
157280                     upgraded or deleted.
157281
157282                     CLI Example:
157283
157284                        salt '*' pkg.install <package name> quiet=True
157285
157286              reinstall_requires
157287                     When  used  with  force,  reinstalls  any  packages  that
157288                     require the given package.
157289
157290                     CLI Example:
157291
157292                        salt '*' pkg.install <package name> reinstall_requires=True force=True
157293
157294                     Changed  in  version  2014.7.0:  require kwarg renamed to
157295                     reinstall_requires
157296
157297
157298              fromrepo
157299                     In multi-repo mode, override the  pkg.conf  ordering  and
157300                     only  attempt to download packages from the named reposi‐
157301                     tory.
157302
157303                     CLI Example:
157304
157305                        salt '*' pkg.install <package name> fromrepo=repo
157306
157307              regex  Treat the package names as a regular expression
157308
157309                     CLI Example:
157310
157311                        salt '*' pkg.install <regular expression> regex=True
157312
157313              pcre   Treat the package names as extended regular expressions.
157314
157315                     CLI Example:
157316
157317
157318
157319              batch  Use BATCH=true for pkg install, skipping  all  questions.
157320                     Be careful when using in production.
157321
157322                     CLI Example:
157323
157324                        salt '*' pkg.install <package name> batch=True
157325
157326       salt.modules.pkgng.latest_version(*names, **kwargs)
157327              Return  the  latest  version  of the named package available for
157328              upgrade or installation. If more than one package name is speci‐
157329              fied, a dict of name/version pairs is returned.
157330
157331              If  the  latest version of a given package is already installed,
157332              an empty string will be returned for that package.
157333
157334              CLI Example:
157335
157336                 salt '*' pkg.latest_version <package name>
157337                 salt '*' pkg.latest_version <package name> jail=<jail name or id>
157338                 salt '*' pkg.latest_version <package name> chroot=/path/to/chroot
157339
157340       salt.modules.pkgng.list_locked(**kwargs)
157341              Query the package  database  those  packages  which  are  locked
157342              against reinstallation, modification or deletion.
157343
157344              Returns returns a list of package names with version strings
157345
157346              CLI Example:
157347
157348                 salt '*' pkg.list_locked
157349
157350              jail   List locked packages within the specified jail
157351
157352                     CLI Example:
157353
157354                        salt '*' pkg.list_locked jail=<jail name or id>
157355
157356              chroot List locked packages within the specified chroot (ignored
157357                     if jail is specified)
157358
157359                     CLI Example:
157360
157361                        salt '*' pkg.list_locked chroot=/path/to/chroot
157362
157363              root   List locked packages within the specified  root  (ignored
157364                     if jail is specified)
157365
157366                     CLI Example:
157367
157368                        salt '*' pkg.list_locked root=/path/to/chroot
157369
157370       salt.modules.pkgng.list_pkgs(versions_as_list=False,         jail=None,
157371       chroot=None, root=None, with_origin=False, **kwargs)
157372              List the packages currently installed as a dict:
157373
157374                 {'<package_name>': '<version>'}
157375
157376              jail   List the packages in the specified jail
157377
157378              chroot List the packages in the  specified  chroot  (ignored  if
157379                     jail is specified)
157380
157381              root   List  the packages in the specified root (ignored if jail
157382                     is specified)
157383
157384              with_origin
157385                     False Return a nested dictionary containing both the ori‐
157386                     gin name and version for each installed package.
157387
157388                     New in version 2014.1.0.
157389
157390
157391              CLI Example:
157392
157393                 salt '*' pkg.list_pkgs
157394                 salt '*' pkg.list_pkgs jail=<jail name or id>
157395                 salt '*' pkg.list_pkgs chroot=/path/to/chroot
157396
157397       salt.modules.pkgng.list_upgrades(refresh=True, **kwargs)
157398              List those packages for which an upgrade is available
157399
157400              The fromrepo argument is also supported, as used in pkg states.
157401
157402              CLI Example:
157403
157404                 salt '*' pkg.list_upgrades
157405
157406              jail   List upgrades within the specified jail
157407
157408                     CLI Example:
157409
157410                        salt '*' pkg.list_upgrades jail=<jail name or id>
157411
157412              chroot List  upgrades  within  the  specified chroot (ignored if
157413                     jail is specified)
157414
157415                     CLI Example:
157416
157417                        salt '*' pkg.list_upgrades chroot=/path/to/chroot
157418
157419              root   List upgrades within the specified root (ignored if  jail
157420                     is specified)
157421
157422                     CLI Example:
157423
157424                        salt '*' pkg.list_upgrades root=/path/to/chroot
157425
157426       salt.modules.pkgng.lock(name, **kwargs)
157427              Lock  the  named package against reinstallation, modification or
157428              deletion.
157429
157430              Returns True if the named package was successfully locked.
157431
157432              CLI Example:
157433
157434                 salt '*' pkg.lock <package name>
157435
157436              jail   Lock packages within the specified jail
157437
157438                     CLI Example:
157439
157440                        salt '*' pkg.lock <package name> jail=<jail name or id>
157441
157442              chroot Lock packages within the  specified  chroot  (ignored  if
157443                     jail is specified)
157444
157445                     CLI Example:
157446
157447                        salt '*' pkg.lock <package name> chroot=/path/to/chroot
157448
157449              root   Lock  packages within the specified root (ignored if jail
157450                     is specified)
157451
157452                     CLI Example:
157453
157454                        salt '*' pkg.lock <package name> root=/path/to/chroot
157455
157456       salt.modules.pkgng.locked(name, **kwargs)
157457              Query the package database to determine if the named package  is
157458              locked against reinstallation, modification or deletion.
157459
157460              Returns True if the named package is locked, False otherwise.
157461
157462              CLI Example:
157463
157464                 salt '*' pkg.locked <package name>
157465
157466              jail   Test if a package is locked within the specified jail
157467
157468                     CLI Example:
157469
157470                        salt '*' pkg.locked <package name> jail=<jail name or id>
157471
157472              chroot Test  if  a package is locked within the specified chroot
157473                     (ignored if jail is specified)
157474
157475                     CLI Example:
157476
157477                        salt '*' pkg.locked <package name> chroot=/path/to/chroot
157478
157479              root   Test if a package is locked  within  the  specified  root
157480                     (ignored if jail is specified)
157481
157482                     CLI Example:
157483
157484                        salt '*' pkg.locked <package name> root=/path/to/chroot
157485
157486       salt.modules.pkgng.parse_config(file_name=u'/usr/local/etc/pkg.conf')
157487              Return dict of uncommented global variables.
157488
157489              CLI Example:
157490
157491                 salt '*' pkg.parse_config
157492
157493              NOTE: not working properly right now
157494
157495       salt.modules.pkgng.refresh_db(jail=None,     chroot=None,    root=None,
157496       force=False)
157497              Refresh PACKAGESITE contents
157498
157499              NOTE:
157500                 This function can accessed using pkg.update  in  addition  to
157501                 pkg.refresh_db,  to  more  closely  match  the  CLI  usage of
157502                 pkg(8).
157503
157504              CLI Example:
157505
157506                 salt '*' pkg.refresh_db
157507
157508              jail   Refresh the pkg database within the specified jail
157509
157510              chroot Refresh the pkg  database  within  the  specified  chroot
157511                     (ignored if jail is specified)
157512
157513              root   Refresh  the  pkg  database  within  the  specified  root
157514                     (ignored if jail is specified)
157515
157516              force  Force a full download of the repository  catalog  without
157517                     regard  to  the  respective  ages of the local and remote
157518                     copies of the catalog.
157519
157520                     CLI Example:
157521
157522                        salt '*' pkg.refresh_db force=True
157523
157524       salt.modules.pkgng.remove(name=None, pkgs=None, jail=None, chroot=None,
157525       root=None,  all_installed=False, force=False, glob=False, dryrun=False,
157526       recurse=False, regex=False, pcre=False, **kwargs)
157527              Remove a package from the database and system
157528
157529              NOTE:
157530                 This function can accessed using pkg.delete  in  addition  to
157531                 pkg.remove, to more closely match the CLI usage of pkg(8).
157532
157533              name   The package to remove
157534
157535                     CLI Example:
157536
157537                        salt '*' pkg.remove <package name>
157538
157539              jail   Delete the package from the specified jail
157540
157541              chroot Delete  the package from the specified chroot (ignored if
157542                     jail is specified)
157543
157544              root   Delete the package from the specified  root  (ignored  if
157545                     jail is specified)
157546
157547              all_installed
157548                     Deletes  all  installed packages from the system and emp‐
157549                     ties the database. USE WITH CAUTION!
157550
157551                     CLI Example:
157552
157553                        salt '*' pkg.remove all all_installed=True force=True
157554
157555              force  Forces packages to be removed despite leaving  unresolved
157556                     dependencies.
157557
157558                     CLI Example:
157559
157560                        salt '*' pkg.remove <package name> force=True
157561
157562              glob   Treat the package names as shell glob patterns.
157563
157564                     CLI Example:
157565
157566                        salt '*' pkg.remove <package name> glob=True
157567
157568              dryrun Dry  run  mode.  The list of packages to delete is always
157569                     printed, but no packages are actually deleted.
157570
157571                     CLI Example:
157572
157573                        salt '*' pkg.remove <package name> dryrun=True
157574
157575              recurse
157576                     Delete all packages that require the  listed  package  as
157577                     well.
157578
157579                     CLI Example:
157580
157581                        salt '*' pkg.remove <package name> recurse=True
157582
157583              regex  Treat the package names as regular expressions.
157584
157585                     CLI Example:
157586
157587                        salt '*' pkg.remove <regular expression> regex=True
157588
157589              pcre   Treat the package names as extended regular expressions.
157590
157591                     CLI Example:
157592
157593                        salt '*' pkg.remove <extended regular expression> pcre=True
157594
157595       salt.modules.pkgng.restore(file_name,      jail=None,      chroot=None,
157596       root=None)
157597              Reads archive created by pkg backup -d and recreates  the  data‐
157598              base.
157599
157600              CLI Example:
157601
157602                 salt '*' pkg.restore /tmp/pkg
157603
157604              jail   Restore  database  to  the specified jail. Note that this
157605                     will run the command within the jail, and so the path  to
157606                     the  file from which the pkg database will be restored is
157607                     relative to the root of the jail.
157608
157609                     CLI Example:
157610
157611                        salt '*' pkg.restore /tmp/pkg jail=<jail name or id>
157612
157613              chroot Restore database to the specified chroot (ignored if jail
157614                     is specified). Note that this will run the command within
157615                     the chroot, and so the path to the file  from  which  the
157616                     pkg  database will be restored is relative to the root of
157617                     the chroot.
157618
157619              root   Restore database to the specified root (ignored  if  jail
157620                     is specified). Note that this will run the command within
157621                     the root, and so the path to the file from which the  pkg
157622                     database  will be restored is relative to the root of the
157623                     root.
157624
157625                     CLI Example:
157626
157627                        salt '*' pkg.restore /tmp/pkg chroot=/path/to/chroot
157628
157629       salt.modules.pkgng.search(name,  jail=None,   chroot=None,   root=None,
157630       exact=False,   glob=False,   regex=False,   pcre=False,  comment=False,
157631       desc=False, full=False, depends=False,  size=False,  quiet=False,  ori‐
157632       gin=False, prefix=False)
157633              Searches in remote package repositories
157634
157635              CLI Example:
157636
157637                 salt '*' pkg.search pattern
157638
157639              jail   Perform  the search using the pkg.conf(5) from the speci‐
157640                     fied jail
157641
157642                     CLI Example:
157643
157644                        salt '*' pkg.search pattern jail=<jail name or id>
157645
157646              chroot Perform the search using the pkg.conf(5) from the  speci‐
157647                     fied chroot (ignored if jail is specified)
157648
157649              root   Perform  the search using the pkg.conf(5) from the speci‐
157650                     fied root (ignored if jail is specified)
157651
157652                     CLI Example:
157653
157654                        salt '*' pkg.search pattern chroot=/path/to/chroot
157655
157656              exact  Treat pattern as exact pattern.
157657
157658                     CLI Example:
157659
157660                        salt '*' pkg.search pattern exact=True
157661
157662              glob   Treat pattern as a shell glob pattern.
157663
157664                     CLI Example:
157665
157666                        salt '*' pkg.search pattern glob=True
157667
157668              regex  Treat pattern as a regular expression.
157669
157670                     CLI Example:
157671
157672                        salt '*' pkg.search pattern regex=True
157673
157674              pcre   Treat pattern as an extended regular expression.
157675
157676                     CLI Example:
157677
157678                        salt '*' pkg.search pattern pcre=True
157679
157680              comment
157681                     Search  for  pattern  in  the  package  comment  one-line
157682                     description.
157683
157684                     CLI Example:
157685
157686                        salt '*' pkg.search pattern comment=True
157687
157688              desc   Search for pattern in the package description.
157689
157690                     CLI Example:
157691
157692                        salt '*' pkg.search pattern desc=True
157693
157694              full   Displays full information about the matching packages.
157695
157696                     CLI Example:
157697
157698                        salt '*' pkg.search pattern full=True
157699
157700              depends
157701                     Displays the dependencies of pattern.
157702
157703                     CLI Example:
157704
157705                        salt '*' pkg.search pattern depends=True
157706
157707              size   Displays the size of the package
157708
157709                     CLI Example:
157710
157711                        salt '*' pkg.search pattern size=True
157712
157713              quiet  Be  quiet.  Prints only the requested information without
157714                     displaying many hints.
157715
157716                     CLI Example:
157717
157718                        salt '*' pkg.search pattern quiet=True
157719
157720              origin Displays pattern origin.
157721
157722                     CLI Example:
157723
157724                        salt '*' pkg.search pattern origin=True
157725
157726              prefix Displays the installation prefix for each package  match‐
157727                     ing pattern.
157728
157729                     CLI Example:
157730
157731                        salt '*' pkg.search pattern prefix=True
157732
157733       salt.modules.pkgng.stats(local=False,      remote=False,     jail=None,
157734       chroot=None, root=None)
157735              Return pkgng stats.
157736
157737              CLI Example:
157738
157739                 salt '*' pkg.stats
157740
157741              local  Display stats only for the local package database.
157742
157743                     CLI Example:
157744
157745                        salt '*' pkg.stats local=True
157746
157747              remote Display stats only for the remote package database(s).
157748
157749                     CLI Example:
157750
157751                        salt '*' pkg.stats remote=True
157752
157753              jail   Retrieve stats from the specified jail.
157754
157755                     CLI Example:
157756
157757                        salt '*' pkg.stats jail=<jail name or id>
157758                        salt '*' pkg.stats jail=<jail name or id> local=True
157759                        salt '*' pkg.stats jail=<jail name or id> remote=True
157760
157761              chroot Retrieve stats from the specified chroot (ignored if jail
157762                     is specified).
157763
157764              root   Retrieve  stats  from the specified root (ignored if jail
157765                     is specified).
157766
157767                     CLI Example:
157768
157769                        salt '*' pkg.stats chroot=/path/to/chroot
157770                        salt '*' pkg.stats chroot=/path/to/chroot local=True
157771                        salt '*' pkg.stats chroot=/path/to/chroot remote=True
157772
157773       salt.modules.pkgng.unhold(name=None, pkgs=None, **kwargs)
157774              Remove version locks
157775
157776              NOTE:
157777                 This function is provided  primarily  for  compatibilty  with
157778                 some parts of states.pkg.  Consider using pkg.unlock instead.
157779
157780              name   The name of the package to be unheld
157781
157782              Multiple Package Options:
157783
157784              pkgs   A  list of packages to unhold. Must be passed as a python
157785                     list. The name parameter will be ignored if  this  option
157786                     is passed.
157787
157788              Returns a dict containing the changes.
157789
157790              CLI Example:
157791
157792                 salt '*' pkg.unhold <package name>
157793                 salt '*' pkg.unhold pkgs='["foo", "bar"]'
157794
157795       salt.modules.pkgng.unlock(name, **kwargs)
157796              Unlock the named package against reinstallation, modification or
157797              deletion.
157798
157799              Returns True if the named package was successfully unlocked.
157800
157801              CLI Example:
157802
157803                 salt '*' pkg.unlock <package name>
157804
157805              jail   Unlock packages within the specified jail
157806
157807                     CLI Example:
157808
157809                        salt '*' pkg.unlock <package name> jail=<jail name or id>
157810
157811              chroot Unlock packages within the specified chroot  (ignored  if
157812                     jail is specified)
157813
157814                     CLI Example:
157815
157816                        salt '*' pkg.unlock <package name> chroot=/path/to/chroot
157817
157818              root   Unlock  packages  within  the  specified root (ignored if
157819                     jail is specified)
157820
157821                     CLI Example:
157822
157823                        salt '*' pkg.unlock <package name> root=/path/to/chroot
157824
157825       salt.modules.pkgng.update_package_site(new_url)
157826              Updates remote package repo URL, PACKAGESITE var to be exact.
157827
157828              Must use http://, ftp://, or https:// protocol
157829
157830              CLI Example:
157831
157832                 salt '*' pkg.update_package_site http://127.0.0.1/
157833
157834       salt.modules.pkgng.updating(name,  jail=None,  chroot=None,  root=None,
157835       filedate=None, filename=None)
157836              ' Displays UPDATING entries of software packages
157837
157838              CLI Example:
157839
157840                 salt '*' pkg.updating foo
157841
157842              jail   Perform the action in the specified jail
157843
157844                     CLI Example:
157845
157846                        salt '*' pkg.updating foo jail=<jail name or id>
157847
157848              chroot Perform  the  action  in the specified chroot (ignored if
157849                     jail is specified)
157850
157851              root   Perform the action in the specified root (ignored if jail
157852                     is specified)
157853
157854                     CLI Example:
157855
157856                        salt '*' pkg.updating foo chroot=/path/to/chroot
157857
157858              filedate
157859                     Only  entries  newer  than date are shown. Use a YYYYMMDD
157860                     date format.
157861
157862                     CLI Example:
157863
157864                        salt '*' pkg.updating foo filedate=20130101
157865
157866              filename
157867                     Defines an alternative location of the UPDATING file.
157868
157869                     CLI Example:
157870
157871                        salt '*' pkg.updating foo filename=/tmp/UPDATING
157872
157873       salt.modules.pkgng.upgrade(*names, **kwargs)
157874              Upgrade named or all packages (run a pkg upgrade).  If  <package
157875              name> is omitted, the operation is executed on all packages.
157876
157877              Returns a dictionary containing the changes:
157878
157879                 {'<package>':  {'old': '<old-version>',
157880                                 'new': '<new-version>'}}
157881
157882              CLI Example:
157883
157884                 salt '*' pkg.upgrade <package name>
157885
157886              jail   Audit packages within the specified jail
157887
157888                     CLI Example:
157889
157890                        salt '*' pkg.upgrade <package name> jail=<jail name or id>
157891
157892              chroot Audit  packages  within  the specified chroot (ignored if
157893                     jail is specified)
157894
157895              root   Audit packages within the specified root (ignored if jail
157896                     is specified)
157897
157898                     CLI Example:
157899
157900                        salt '*' pkg.upgrade <package name> chroot=/path/to/chroot
157901
157902              Any of the below options can also be used with jail or chroot.
157903
157904              force  Force reinstalling/upgrading the whole set of packages.
157905
157906                     CLI Example:
157907
157908                        salt '*' pkg.upgrade <package name> force=True
157909
157910              local  Do not update the repository catalogs with pkg-update(8).
157911                     A value of True here is equivalent to using the  -U  flag
157912                     with pkg upgrade.
157913
157914                     CLI Example:
157915
157916                        salt '*' pkg.upgrade <package name> local=True
157917
157918              dryrun Dry-run  mode: show what packages have updates available,
157919                     but do not perform any upgrades. Repository catalogs will
157920                     be  updated  as  usual  unless  the  local option is also
157921                     given.
157922
157923                     CLI Example:
157924
157925                        salt '*' pkg.upgrade <package name> dryrun=True
157926
157927       salt.modules.pkgng.version(*names, **kwargs)
157928              Returns a string representing the package version  or  an  empty
157929              string if not installed. If more than one package name is speci‐
157930              fied, a dict of name/version pairs is returned.
157931
157932              NOTE:
157933                 This function can accessed  using  pkg.info  in  addition  to
157934                 pkg.version, to more closely match the CLI usage of pkg(8).
157935
157936              jail   Get package version information for the specified jail
157937
157938              chroot Get  package version information for the specified chroot
157939                     (ignored if jail is specified)
157940
157941              root   Get package version information for  the  specified  root
157942                     (ignored if jail is specified)
157943
157944              with_origin
157945                     False Return a nested dictionary containing both the ori‐
157946                     gin name and version for each specified package.
157947
157948                     New in version 2014.1.0.
157949
157950
157951              CLI Example:
157952
157953                 salt '*' pkg.version <package name>
157954                 salt '*' pkg.version <package name> jail=<jail name or id>
157955                 salt '*' pkg.version <package1> <package2> <package3> ...
157956
157957       salt.modules.pkgng.version_cmp(pkg1, pkg2, ignore_epoch=False)
157958              Do a cmp-style comparison on two packages. Return -1 if  pkg1  <
157959              pkg2,  0  if  pkg1 == pkg2, and 1 if pkg1 > pkg2. Return None if
157960              there was a problem making the comparison.
157961
157962              CLI Example:
157963
157964                 salt '*' pkg.version_cmp '2.1.11' '2.1.12'
157965
157966       salt.modules.pkgng.which(path, jail=None, chroot=None, root=None,  ori‐
157967       gin=False, quiet=False)
157968              Displays which package installed a specific file
157969
157970              CLI Example:
157971
157972                 salt '*' pkg.which <file name>
157973
157974              jail   Perform the check in the specified jail
157975
157976                     CLI Example:
157977
157978                        salt '*' pkg.which <file name> jail=<jail name or id>
157979
157980              chroot Perform  the  check  in  the specified chroot (ignored if
157981                     jail is specified)
157982
157983              root   Perform the check in the specified root (ignored if  jail
157984                     is specified)
157985
157986                     CLI Example:
157987
157988                        salt '*' pkg.which <file name> chroot=/path/to/chroot
157989
157990              origin Shows the origin of the package instead of name-version.
157991
157992                     CLI Example:
157993
157994                        salt '*' pkg.which <file name> origin=True
157995
157996              quiet  Quiet output.
157997
157998                     CLI Example:
157999
158000                        salt '*' pkg.which <file name> quiet=True
158001
158002   salt.modules.pkgutil
158003       Pkgutil support for Solaris
158004
158005       IMPORTANT:
158006          If you feel that Salt should be using this module to manage packages
158007          on a minion, and it is using a different module (or gives  an  error
158008          similar to 'pkg.install' is not available), see here.
158009
158010       salt.modules.pkgutil.install(name=None,   refresh=False,  version=None,
158011       pkgs=None, **kwargs)
158012              Install packages using the pkgutil tool.
158013
158014              CLI Example:
158015
158016                 salt '*' pkg.install <package_name>
158017                 salt '*' pkg.install SMClgcc346
158018
158019              Multiple Package Installation Options:
158020
158021              pkgs   A list of packages  to  install  from  OpenCSW.  Must  be
158022                     passed as a python list.
158023
158024                     CLI Example:
158025
158026                        salt '*' pkg.install pkgs='["foo", "bar"]'
158027                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3"}]'
158028
158029              Returns a dict containing the new package names and versions:
158030
158031                 {'<package>': {'old': '<old-version>',
158032                                'new': '<new-version>'}}
158033
158034       salt.modules.pkgutil.latest_version(*names, **kwargs)
158035              Return  the  latest  version  of the named package available for
158036              upgrade or installation. If more than one package name is speci‐
158037              fied, a dict of name/version pairs is returned.
158038
158039              If  the  latest version of a given package is already installed,
158040              an empty string will be returned for that package.
158041
158042              CLI Example:
158043
158044                 salt '*' pkgutil.latest_version CSWpython
158045                 salt '*' pkgutil.latest_version <package1> <package2> <package3> ...
158046
158047       salt.modules.pkgutil.list_pkgs(versions_as_list=False, **kwargs)
158048              List the packages currently installed as a dict:
158049
158050                 {'<package_name>': '<version>'}
158051
158052              CLI Example:
158053
158054                 salt '*' pkg.list_pkgs
158055                 salt '*' pkg.list_pkgs versions_as_list=True
158056
158057       salt.modules.pkgutil.list_upgrades(refresh=True, **kwargs)
158058              List all available package upgrades on this system
158059
158060              CLI Example:
158061
158062                 salt '*' pkgutil.list_upgrades
158063
158064       salt.modules.pkgutil.purge(name=None, pkgs=None, **kwargs)
158065              Package purges are not supported, this function is identical  to
158066              remove().
158067
158068              name   The name of the package to be deleted.
158069
158070              Multiple Package Options:
158071
158072              pkgs   A  list of packages to delete. Must be passed as a python
158073                     list. The name parameter will be ignored if  this  option
158074                     is passed.
158075
158076              New in version 0.16.0.
158077
158078
158079              Returns a dict containing the changes.
158080
158081              CLI Example:
158082
158083                 salt '*' pkg.purge <package name>
158084                 salt '*' pkg.purge <package1>,<package2>,<package3>
158085                 salt '*' pkg.purge pkgs='["foo", "bar"]'
158086
158087       salt.modules.pkgutil.refresh_db()
158088              Updates the pkgutil repo database (pkgutil -U)
158089
158090              CLI Example:
158091
158092                 salt '*' pkgutil.refresh_db
158093
158094       salt.modules.pkgutil.remove(name=None, pkgs=None, **kwargs)
158095              Remove  a  package and all its dependencies which are not in use
158096              by other packages.
158097
158098              name   The name of the package to be deleted.
158099
158100              Multiple Package Options:
158101
158102              pkgs   A list of packages to delete. Must be passed as a  python
158103                     list.  The  name parameter will be ignored if this option
158104                     is passed.
158105
158106              New in version 0.16.0.
158107
158108
158109              Returns a dict containing the changes.
158110
158111              CLI Example:
158112
158113                 salt '*' pkg.remove <package name>
158114                 salt '*' pkg.remove <package1>,<package2>,<package3>
158115                 salt '*' pkg.remove pkgs='["foo", "bar"]'
158116
158117       salt.modules.pkgutil.upgrade(refresh=True)
158118              Upgrade all of the packages to the latest available version.
158119
158120              Returns a dict containing the changes:
158121
158122                 {'<package>': {'old': '<old-version>',
158123                                'new': '<new-version>'}}
158124
158125              CLI Example:
158126
158127                 salt '*' pkgutil.upgrade
158128
158129       salt.modules.pkgutil.upgrade_available(name)
158130              Check if there is an upgrade available for a certain package
158131
158132              CLI Example:
158133
158134                 salt '*' pkgutil.upgrade_available CSWpython
158135
158136       salt.modules.pkgutil.version(*names, **kwargs)
158137              Returns a version if the package is installed, else  returns  an
158138              empty string
158139
158140              CLI Example:
158141
158142                 salt '*' pkgutil.version CSWpython
158143
158144   salt.modules.portage_config
158145       Configure portage(5)
158146
158147       salt.modules.portage_config.append_to_package_conf(conf,      atom=u'',
158148       flags=None, string=u'', overwrite=False)
158149              Append a string or a list of flags for a given package or DEPEND
158150              atom to a given configuration file.
158151
158152              CLI Example:
158153
158154                 salt '*' portage_config.append_to_package_conf use string="app-admin/salt ldap -libvirt"
158155                 salt '*' portage_config.append_to_package_conf use atom="> = app-admin/salt-0.14.1" flags="['ldap', '-libvirt']"
158156
158157       salt.modules.portage_config.append_use_flags(atom,   uses=None,   over‐
158158       write=False)
158159              Append a list of use flags for a given package or DEPEND atom
158160
158161              CLI Example:
158162
158163                 salt '*' portage_config.append_use_flags "app-admin/salt[ldap, -libvirt]"
158164                 salt '*' portage_config.append_use_flags ">=app-admin/salt-0.14.1" "['ldap', '-libvirt']"
158165
158166       salt.modules.portage_config.enforce_nice_config()
158167              Enforce a nice tree structure for /etc/portage/package.* config‐
158168              uration files.
158169
158170              SEE ALSO:
158171
158172                 salt.modules.ebuild.ex_mod_init()
158173                        for information on automatically running this when pkg
158174                        is used.
158175
158176              CLI Example:
158177
158178                 salt '*' portage_config.enforce_nice_config
158179
158180       salt.modules.portage_config.filter_flags(use,  use_expand_hidden,  use‐
158181       masked, useforced)
158182              New in version 2015.8.0.
158183
158184
158185              Filter function to remove hidden or otherwise not normally visi‐
158186              ble USE flags from a list.
158187
158188              @type use: list @param use: the USE flag list  to  be  filtered.
158189              @type use_expand_hidden: list @param  use_expand_hidden: list of
158190              flags hidden.  @type usemasked: list @param usemasked:  list  of
158191              masked  USE  flags.  @type useforced: list @param useforced: the
158192              forced USE flags.  @rtype: list @return the filtered USE flags.
158193
158194       salt.modules.portage_config.get_all_cpv_use(cp)
158195              New in version 2015.8.0.
158196
158197
158198              Uses portage to determine final USE flags and  settings  for  an
158199              emerge.
158200
158201              @type  cp:  string  @param  cp: eg cat/pkg @rtype: lists @return
158202              use, use_expand_hidden, usemask, useforce
158203
158204       salt.modules.portage_config.get_cleared_flags(cp)
158205              New in version 2015.8.0.
158206
158207
158208              Uses portage for compare use flags which is used for  installing
158209              package  and  use  flags  which now exist int /etc/portage/pack‐
158210              age.use/
158211
158212              @type cp: string @param cp: eg cat/pkg  @rtype:  tuple  @rparam:
158213              tuple  with  two  lists  -  list of used flags and list of flags
158214              which will be used
158215
158216       salt.modules.portage_config.get_flags_from_package_conf(conf, atom)
158217              Get flags for a given package or  DEPEND  atom.   Warning:  This
158218              only  works  if  the  configuration files tree is in the correct
158219              format (the one enforced by enforce_nice_config)
158220
158221              CLI Example:
158222
158223                 salt '*' portage_config.get_flags_from_package_conf license salt
158224
158225       salt.modules.portage_config.get_installed_use(cp, use=u'USE')
158226              New in version 2015.8.0.
158227
158228
158229              Gets the installed USE flags from the VARDB.
158230
158231              @type: cp: string @param cp: cat/pkg @type  use:  string  @param
158232              use:  1 of ["USE", "PKGUSE"] @rtype list @returns [] or the list
158233              of IUSE flags
158234
158235       salt.modules.portage_config.get_iuse(cp)
158236              New in version 2015.8.0.
158237
158238
158239              Gets the current IUSE flags from the tree.
158240
158241              @type: cpv: string @param cpv: cat/pkg @rtype list  @returns  []
158242              or the list of IUSE flags
158243
158244       salt.modules.portage_config.get_missing_flags(conf, atom, flags)
158245              Find  out  which  of the given flags are currently not set.  CLI
158246              Example:
158247
158248                 salt '*' portage_config.get_missing_flags use salt "['ldap', '-libvirt', 'openssl']"
158249
158250       salt.modules.portage_config.has_flag(conf, atom, flag)
158251              Verify if the given package or DEPEND atom has the  given  flag.
158252              Warning:  This  only works if the configuration files tree is in
158253              the correct format (the one enforced by enforce_nice_config)
158254
158255              CLI Example:
158256
158257                 salt '*' portage_config.has_flag license salt Apache-2.0
158258
158259       salt.modules.portage_config.has_use(atom, use)
158260              Verify if the given package or DEPEND atom  has  the  given  use
158261              flag.   Warning: This only works if the configuration files tree
158262              is in the correct format (the one enforced by  enforce_nice_con‐
158263              fig)
158264
158265              CLI Example:
158266
158267                 salt '*' portage_config.has_use salt libvirt
158268
158269       salt.modules.portage_config.is_changed_uses(cp)
158270              New in version 2015.8.0.
158271
158272
158273              Uses portage for determine if the use flags of installed package
158274              is compatible with use flags in portage configs.
158275
158276              @type cp: string @param cp: eg cat/pkg
158277
158278       salt.modules.portage_config.is_present(conf, atom)
158279              Tell if a given package or DEPEND atom is present in the config‐
158280              uration  files tree.  Warning: This only works if the configura‐
158281              tion files tree is in the correct format (the  one  enforced  by
158282              enforce_nice_config)
158283
158284              CLI Example:
158285
158286                 salt '*' portage_config.is_present unmask salt
158287
158288   salt.modules.postfix
158289       Support for Postfix
158290
158291       This module is currently little more than a config file viewer and edi‐
158292       tor. It is able to read the master.cf file (which  is  one  style)  and
158293       files in the style of main.cf (which is a different style, that is used
158294       in multiple postfix configuration files).
158295
158296       The design of this module is such that when files are edited, a minimum
158297       of  changes  are  made to them. Each file should look as if it has been
158298       edited by hand; order, comments and whitespace are all preserved.
158299
158300       salt.modules.postfix.delete(queue_id)
158301              Delete message(s) from the mail queue
158302
158303              CLI Example:
158304
158305                 salt '*' postfix.delete 5C33CA0DEA
158306
158307                 salt '*' postfix.delete ALL
158308
158309       salt.modules.postfix.hold(queue_id)
158310              Put message(s) on hold from the mail queue
158311
158312              CLI Example:
158313
158314                 salt '*' postfix.hold 5C33CA0DEA
158315
158316                 salt '*' postfix.hold ALL
158317
158318       salt.modules.postfix.requeue(queue_id)
158319              Requeue message(s) in the mail queue
158320
158321              CLI Example:
158322
158323                 salt '*' postfix.requeue 5C33CA0DEA
158324
158325                 salt '*' postfix.requeue ALL
158326
158327       salt.modules.postfix.set_main(key, value, path=u'/etc/postfix/main.cf')
158328              Set a single config value in the main.cf file. If the value does
158329              not already exist, it will be appended to the end.
158330
158331              CLI Example:
158332                 salt <minion> postfix.set_main mailq_path /usr/bin/mailq
158333
158334       salt.modules.postfix.set_master(service,    conn_type,    private=u'y',
158335       unpriv=u'y',  chroot=u'y',  wakeup=u'n',  maxproc=u'100',  command=u'',
158336       write_conf=True, path=u'/etc/postfix/master.cf')
158337              Set  a  single  config value in the master.cf file. If the value
158338              does not already exist, it will be appended to the end.
158339
158340              Because of shell parsing issues, '-' cannot be set as  a  value,
158341              as  is normal in the master.cf file; either 'y', 'n' or a number
158342              should be used when calling this function from the command line.
158343              If  the  value  used  matches the default, it will internally be
158344              converted to a '-'. Calling this function from the Python API is
158345              not affected by this limitation
158346
158347              The  settings  and  their default values, in order, are: service
158348              (required),  conn_type  (required),  private  (y),  unpriv  (y),
158349              chroot (y), wakeup (n), maxproc (100), command (required).
158350
158351              By default, this function will write out the changes to the mas‐
158352              ter.cf file, and then returns the full contents of the file.  By
158353              setting the write_conf option to False, it will skip writing the
158354              file.
158355
158356              CLI Example:
158357                 salt <minion> postfix.set_master smtp inet n y n n 100 smtpd
158358
158359       salt.modules.postfix.show_main(path=u'/etc/postfix/main.cf')
158360              Return a dict of active config values.  This  does  not  include
158361              comments, spacing or order. Bear in mind that order is function‐
158362              ally important in the main.cf file, since keys can  be  referred
158363              to  as  variables.  This  means that the data returned from this
158364              function should not be  used  for  direct  modification  of  the
158365              main.cf file; other functions are available for that.
158366
158367              CLI Examples:
158368                 salt   <minion>   postfix.show_main   salt   <minion>   post‐
158369                 fix.show_main path=/path/to/main.cf
158370
158371       salt.modules.postfix.show_master(path=u'/etc/postfix/master.cf')
158372              Return a dict of active config values.  This  does  not  include
158373              comments, spacing or order.
158374
158375              The  data  returned  from  this  function should not be used for
158376              direct modification of the main.cf  file;  other  functions  are
158377              available for that.
158378
158379              CLI Examples:
158380                 salt   <minion>   postfix.show_master   salt  <minion>  post‐
158381                 fix.show_master path=/path/to/master.cf
158382
158383       salt.modules.postfix.show_queue()
158384              Show contents of the mail queue
158385
158386              CLI Example:
158387
158388                 salt '*' postfix.show_queue
158389
158390       salt.modules.postfix.unhold(queue_id)
158391              Set held message(s) in the mail queue to unheld
158392
158393              CLI Example:
158394
158395                 salt '*' postfix.unhold 5C33CA0DEA
158396
158397                 salt '*' postfix.unhold ALL
158398
158399   salt.modules.postgres
158400       Module to provide Postgres compatibility to salt.
158401
158402       configuration
158403              In order  to  connect  to  Postgres,  certain  configuration  is
158404              required  in /etc/salt/minion on the relevant minions. Some sam‐
158405              ple configs might look like:
158406
158407                 postgres.host: 'localhost'
158408                 postgres.port: '5432'
158409                 postgres.user: 'postgres' -> db user
158410                 postgres.pass: ''
158411                 postgres.maintenance_db: 'postgres'
158412
158413              The default for the maintenance_db is  'postgres'  and  in  most
158414              cases it can be left at the default setting.  This data can also
158415              be passed into pillar. Options passed into opts  will  overwrite
158416              options passed into pillar
158417
158418       note   This  module  uses  MD5  hashing which may not be compliant with
158419              certain security audits.
158420
158421       note   When installing postgres from the official  postgres  repos,  on
158422              certain  linux  distributions,  either  the  psql  or the initdb
158423              binary is not automatically placed on the path. Add a configura‐
158424              tion  to the location of the postgres bin's path to the relevant
158425              minion for this module:
158426
158427                 postgres.bins_dir: '/usr/pgsql-9.5/bin/'
158428
158429       salt.modules.postgres.available_extensions(user=None,        host=None,
158430       port=None, maintenance_db=None, password=None, runas=None)
158431              List available postgresql extensions
158432
158433              CLI Example:
158434
158435                 salt '*' postgres.available_extensions
158436
158437       salt.modules.postgres.create_extension(name,        if_not_exists=None,
158438       schema=None, ext_version=None, from_version=None, user=None, host=None,
158439       port=None, maintenance_db=None, password=None, runas=None)
158440              Install a postgresql extension
158441
158442              CLI Example:
158443
158444                 salt '*' postgres.create_extension 'adminpack'
158445
158446       salt.modules.postgres.create_metadata(name,           ext_version=None,
158447       schema=None,  user=None,  host=None,  port=None,   maintenance_db=None,
158448       password=None, runas=None)
158449              Get lifecycle information about an extension
158450
158451              CLI Example:
158452
158453                 salt '*' postgres.create_metadata adminpack
158454
158455       salt.modules.postgres.datadir_exists(name)
158456              New in version 2016.3.0.
158457
158458
158459              Checks if postgres data directory has been initialized
158460
158461              CLI Example:
158462
158463                 salt '*' postgres.datadir_exists '/var/lib/pgsql/data'
158464
158465              name   Name of the directory to check
158466
158467       salt.modules.postgres.datadir_init(name,  auth=u'password',  user=None,
158468       password=None,  encoding=u'UTF8',  locale=None,   waldir=None,   check‐
158469       sums=False, runas=None)
158470              New in version 2016.3.0.
158471
158472
158473              Initializes a postgres data directory
158474
158475              CLI Example:
158476
158477                 salt '*' postgres.datadir_init '/var/lib/pgsql/data'
158478
158479              name   The name of the directory to initialize
158480
158481              auth   The default authentication method for local connections
158482
158483              password
158484                     The password to set for the postgres user
158485
158486              user   The database superuser name
158487
158488              encoding
158489                     The default encoding for new databases
158490
158491              locale The default locale for new databases
158492
158493              waldir The  transaction  log (WAL) directory (default is to keep
158494                     WAL inside the data directory)
158495
158496                     New in version 2019.2.0.
158497
158498
158499              checksums
158500                     If True, the cluster  will  be  created  with  data  page
158501                     checksums.
158502
158503                     NOTE:
158504                        Data  page  checksums  are  supported since PostgreSQL
158505                        9.3.
158506
158507                     New in version 2019.2.0.
158508
158509
158510              runas  The system user the  operation  should  be  performed  on
158511                     behalf of
158512
158513       salt.modules.postgres.db_alter(name,  user=None,  host=None, port=None,
158514       maintenance_db=None,   password=None,   tablespace=None,    owner=None,
158515       owner_recurse=False, runas=None)
158516              Change tablespace or/and owner of database.
158517
158518              CLI Example:
158519
158520                 salt '*' postgres.db_alter dbname owner=otheruser
158521
158522       salt.modules.postgres.db_create(name,  user=None, host=None, port=None,
158523       maintenance_db=None,  password=None,  tablespace=None,   encoding=None,
158524       lc_collate=None, lc_ctype=None, owner=None, template=None, runas=None)
158525              Adds a databases to the Postgres server.
158526
158527              CLI Example:
158528
158529                 salt '*' postgres.db_create 'dbname'
158530
158531                 salt '*' postgres.db_create 'dbname' template=template_postgis
158532
158533       salt.modules.postgres.db_exists(name,  user=None, host=None, port=None,
158534       maintenance_db=None, password=None, runas=None)
158535              Checks if a database exists on the Postgres server.
158536
158537              CLI Example:
158538
158539                 salt '*' postgres.db_exists 'dbname'
158540
158541       salt.modules.postgres.db_list(user=None, host=None, port=None,  mainte‐
158542       nance_db=None, password=None, runas=None)
158543              Return dictionary with information about databases of a Postgres
158544              server.
158545
158546              CLI Example:
158547
158548                 salt '*' postgres.db_list
158549
158550       salt.modules.postgres.db_remove(name, user=None, host=None,  port=None,
158551       maintenance_db=None, password=None, runas=None)
158552              Removes a databases from the Postgres server.
158553
158554              CLI Example:
158555
158556                 salt '*' postgres.db_remove 'dbname'
158557
158558       salt.modules.postgres.drop_extension(name,              if_exists=None,
158559       restrict=None, cascade=None, user=None, host=None,  port=None,  mainte‐
158560       nance_db=None, password=None, runas=None)
158561              Drop an installed postgresql extension
158562
158563              CLI Example:
158564
158565                 salt '*' postgres.drop_extension 'adminpack'
158566
158567       salt.modules.postgres.get_available_extension(name,          user=None,
158568       host=None, port=None, maintenance_db=None, password=None, runas=None)
158569              Get info about an available postgresql extension
158570
158571              CLI Example:
158572
158573                 salt '*' postgres.get_available_extension plpgsql
158574
158575       salt.modules.postgres.get_installed_extension(name,          user=None,
158576       host=None, port=None, maintenance_db=None, password=None, runas=None)
158577              Get info about an installed postgresql extension
158578
158579              CLI Example:
158580
158581                 salt '*' postgres.get_installed_extension plpgsql
158582
158583       salt.modules.postgres.group_create(groupname,   user=None,   host=None,
158584       port=None,  maintenance_db=None,  password=None,  createdb=None,   cre‐
158585       ateroles=None,    encrypted=None,   login=None,   inherit=None,   supe‐
158586       ruser=None,    replication=None,    rolepassword=None,     groups=None,
158587       runas=None)
158588              Creates  a  Postgres  group. A group is postgres is similar to a
158589              user, but cannot login.
158590
158591              CLI Example:
158592
158593                 salt '*' postgres.group_create 'groupname' user='user' \
158594                         host='hostname' port='port' password='password' \
158595                         rolepassword='rolepassword'
158596
158597       salt.modules.postgres.group_remove(groupname,   user=None,   host=None,
158598       port=None, maintenance_db=None, password=None, runas=None)
158599              Removes a group from the Postgres server.
158600
158601              CLI Example:
158602
158603                 salt '*' postgres.group_remove 'groupname'
158604
158605       salt.modules.postgres.group_update(groupname,   user=None,   host=None,
158606       port=None,  maintenance_db=None,  password=None,  createdb=None,   cre‐
158607       ateroles=None,    encrypted=None,   inherit=None,   login=None,   supe‐
158608       ruser=None,    replication=None,    rolepassword=None,     groups=None,
158609       runas=None)
158610              Updates a postgres group
158611
158612              CLI Examples:
158613
158614                 salt '*' postgres.group_update 'username' user='user' \
158615                         host='hostname' port='port' password='password' \
158616                         rolepassword='rolepassword'
158617
158618       salt.modules.postgres.has_privileges(name,   object_name,  object_type,
158619       privileges=None,    grant_option=None,    prepend=u'public',    mainte‐
158620       nance_db=None,    user=None,   host=None,   port=None,   password=None,
158621       runas=None)
158622              New in version 2016.3.0.
158623
158624
158625              Check if a role has the specified privileges on an object
158626
158627              CLI Example:
158628
158629                 salt '*' postgres.has_privileges user_name table_name table \
158630                 SELECT,INSERT maintenance_db=db_name
158631
158632              name   Name of the role whose privileges should  be  checked  on
158633                     object_type
158634
158635              object_name
158636                     Name of the object on which the check is to be performed
158637
158638              object_type
158639                     The object type, which can be one of the following:
158640
158641                     · table
158642
158643                     · sequence
158644
158645                     · schema
158646
158647                     · tablespace
158648
158649                     · language
158650
158651                     · database
158652
158653                     · group
158654
158655                     · function
158656
158657              privileges
158658                     Comma  separated  list  of  privileges to check, from the
158659                     list below:
158660
158661                     · INSERT
158662
158663                     · CREATE
158664
158665                     · TRUNCATE
158666
158667                     · CONNECT
158668
158669                     · TRIGGER
158670
158671                     · SELECT
158672
158673                     · USAGE
158674
158675                     · TEMPORARY
158676
158677                     · UPDATE
158678
158679                     · EXECUTE
158680
158681                     · REFERENCES
158682
158683                     · DELETE
158684
158685                     · ALL
158686
158687              grant_option
158688                     If grant_option is set to True, the grant option check is
158689                     performed
158690
158691              prepend
158692                     Table  and  Sequence  object types live under a schema so
158693                     this should be provided if the object is  not  under  the
158694                     default public schema
158695
158696              maintenance_db
158697                     The database to connect to
158698
158699              user   database username if different from config or default
158700
158701              password
158702                     user password if any password for a specified user
158703
158704              host   Database host if different from config or default
158705
158706              port   Database port if different from config or default
158707
158708              runas  System  user all operations should be performed on behalf
158709                     of
158710
158711       salt.modules.postgres.installed_extensions(user=None,        host=None,
158712       port=None, maintenance_db=None, password=None, runas=None)
158713              List installed postgresql extensions
158714
158715              CLI Example:
158716
158717                 salt '*' postgres.installed_extensions
158718
158719       salt.modules.postgres.is_available_extension(name,           user=None,
158720       host=None, port=None, maintenance_db=None, password=None, runas=None)
158721              Test if a specific extension is available
158722
158723              CLI Example:
158724
158725                 salt '*' postgres.is_available_extension
158726
158727       salt.modules.postgres.is_installed_extension(name,           user=None,
158728       host=None, port=None, maintenance_db=None, password=None, runas=None)
158729              Test if a specific extension is installed
158730
158731              CLI Example:
158732
158733                 salt '*' postgres.is_installed_extension
158734
158735       salt.modules.postgres.language_create(name,  maintenance_db, user=None,
158736       host=None, port=None, password=None, runas=None)
158737              New in version 2016.3.0.
158738
158739
158740              Installs a language into a database
158741
158742              CLI Example:
158743
158744                 salt '*' postgres.language_create plpgsql dbname
158745
158746              name   Language to install
158747
158748              maintenance_db
158749                     The database to install the language in
158750
158751              user   database username if different from config or default
158752
158753              password
158754                     user password if any password for a specified user
158755
158756              host   Database host if different from config or default
158757
158758              port   Database port if different from config or default
158759
158760              runas  System user all operations should be performed on  behalf
158761                     of
158762
158763       salt.modules.postgres.language_exists(name,  maintenance_db, user=None,
158764       host=None, port=None, password=None, runas=None)
158765              New in version 2016.3.0.
158766
158767
158768              Checks if language exists in a database.
158769
158770              CLI Example:
158771
158772                 salt '*' postgres.language_exists plpgsql dbname
158773
158774              name   Language to check for
158775
158776              maintenance_db
158777                     The database to check in
158778
158779              user   database username if different from config or default
158780
158781              password
158782                     user password if any password for a specified user
158783
158784              host   Database host if different from config or default
158785
158786              port   Database port if different from config or default
158787
158788              runas  System user all operations should be performed on  behalf
158789                     of
158790
158791       salt.modules.postgres.language_list(maintenance_db,          user=None,
158792       host=None, port=None, password=None, runas=None)
158793              New in version 2016.3.0.
158794
158795
158796              Return a list of languages in a database.
158797
158798              CLI Example:
158799
158800                 salt '*' postgres.language_list dbname
158801
158802              maintenance_db
158803                     The database to check
158804
158805              user   database username if different from config or default
158806
158807              password
158808                     user password if any password for a specified user
158809
158810              host   Database host if different from config or default
158811
158812              port   Database port if different from config or default
158813
158814              runas  System user all operations should be performed on  behalf
158815                     of
158816
158817       salt.modules.postgres.language_remove(name,  maintenance_db, user=None,
158818       host=None, port=None, password=None, runas=None)
158819              New in version 2016.3.0.
158820
158821
158822              Removes a language from a database
158823
158824              CLI Example:
158825
158826                 salt '*' postgres.language_remove plpgsql dbname
158827
158828              name   Language to remove
158829
158830              maintenance_db
158831                     The database to install the language in
158832
158833              user   database username if different from config or default
158834
158835              password
158836                     user password if any password for a specified user
158837
158838              host   Database host if different from config or default
158839
158840              port   Database port if different from config or default
158841
158842              runas  System user all operations should be performed on  behalf
158843                     of
158844
158845       salt.modules.postgres.owner_to(dbname, ownername, user=None, host=None,
158846       port=None, password=None, runas=None)
158847              Set the owner of  all  schemas,  functions,  tables,  views  and
158848              sequences to the given username.
158849
158850              CLI Example:
158851
158852                 salt '*' postgres.owner_to 'dbname' 'username'
158853
158854       salt.modules.postgres.privileges_grant(name,  object_name, object_type,
158855       privileges=None,    grant_option=None,    prepend=u'public',    mainte‐
158856       nance_db=None,    user=None,   host=None,   port=None,   password=None,
158857       runas=None)
158858              New in version 2016.3.0.
158859
158860
158861              Grant privileges on a postgres object
158862
158863              CLI Example:
158864
158865                 salt '*' postgres.privileges_grant user_name table_name table \
158866                 SELECT,UPDATE maintenance_db=db_name
158867
158868              name   Name of the role to which privileges should be granted
158869
158870              object_name
158871                     Name of the object on which the grant is to be performed
158872
158873              object_type
158874                     The object type, which can be one of the following:
158875
158876                     · table
158877
158878                     · sequence
158879
158880                     · schema
158881
158882                     · tablespace
158883
158884                     · language
158885
158886                     · database
158887
158888                     · group
158889
158890                     · function
158891
158892              privileges
158893                     Comma separated list of privileges  to  grant,  from  the
158894                     list below:
158895
158896                     · INSERT
158897
158898                     · CREATE
158899
158900                     · TRUNCATE
158901
158902                     · CONNECT
158903
158904                     · TRIGGER
158905
158906                     · SELECT
158907
158908                     · USAGE
158909
158910                     · TEMPORARY
158911
158912                     · UPDATE
158913
158914                     · EXECUTE
158915
158916                     · REFERENCES
158917
158918                     · DELETE
158919
158920                     · ALL
158921
158922              grant_option
158923                     If  grant_option  is  set  to  True, the recipient of the
158924                     privilege can in turn grant it to others
158925
158926              prepend
158927                     Table and Sequence object types live under  a  schema  so
158928                     this  should  be  provided if the object is not under the
158929                     default public schema
158930
158931              maintenance_db
158932                     The database to connect to
158933
158934              user   database username if different from config or default
158935
158936              password
158937                     user password if any password for a specified user
158938
158939              host   Database host if different from config or default
158940
158941              port   Database port if different from config or default
158942
158943              runas  System user all operations should be performed on  behalf
158944                     of
158945
158946       salt.modules.postgres.privileges_list(name, object_type, prepend=u'pub‐
158947       lic',  maintenance_db=None,  user=None,  host=None,  port=None,   pass‐
158948       word=None, runas=None)
158949              New in version 2016.3.0.
158950
158951
158952              Return a list of privileges for the specified object.
158953
158954              CLI Example:
158955
158956                 salt '*' postgres.privileges_list table_name table maintenance_db=db_name
158957
158958              name   Name  of  the  object for which the permissions should be
158959                     returned
158960
158961              object_type
158962                     The object type, which can be one of the following:
158963
158964                     · table
158965
158966                     · sequence
158967
158968                     · schema
158969
158970                     · tablespace
158971
158972                     · language
158973
158974                     · database
158975
158976                     · group
158977
158978                     · function
158979
158980              prepend
158981                     Table and Sequence object types live under  a  schema  so
158982                     this  should  be  provided if the object is not under the
158983                     default public schema
158984
158985              maintenance_db
158986                     The database to connect to
158987
158988              user   database username if different from config or default
158989
158990              password
158991                     user password if any password for a specified user
158992
158993              host   Database host if different from config or default
158994
158995              port   Database port if different from config or default
158996
158997              runas  System user all operations should be performed on  behalf
158998                     of
158999
159000       salt.modules.postgres.privileges_revoke(name, object_name, object_type,
159001       privileges=None,  prepend=u'public',  maintenance_db=None,   user=None,
159002       host=None, port=None, password=None, runas=None)
159003              New in version 2016.3.0.
159004
159005
159006              Revoke privileges on a postgres object
159007
159008              CLI Example:
159009
159010                 salt '*' postgres.privileges_revoke user_name table_name table \
159011                 SELECT,UPDATE maintenance_db=db_name
159012
159013              name   Name of the role whose privileges should be revoked
159014
159015              object_name
159016                     Name of the object on which the revoke is to be performed
159017
159018              object_type
159019                     The object type, which can be one of the following:
159020
159021                     · table
159022
159023                     · sequence
159024
159025                     · schema
159026
159027                     · tablespace
159028
159029                     · language
159030
159031                     · database
159032
159033                     · group
159034
159035                     · function
159036
159037              privileges
159038                     Comma  separated  list  of privileges to revoke, from the
159039                     list below:
159040
159041                     · INSERT
159042
159043                     · CREATE
159044
159045                     · TRUNCATE
159046
159047                     · CONNECT
159048
159049                     · TRIGGER
159050
159051                     · SELECT
159052
159053                     · USAGE
159054
159055                     · TEMPORARY
159056
159057                     · UPDATE
159058
159059                     · EXECUTE
159060
159061                     · REFERENCES
159062
159063                     · DELETE
159064
159065                     · ALL
159066
159067              maintenance_db
159068                     The database to connect to
159069
159070              user   database username if different from config or default
159071
159072              password
159073                     user password if any password for a specified user
159074
159075              host   Database host if different from config or default
159076
159077              port   Database port if different from config or default
159078
159079              runas  System user all operations should be performed on  behalf
159080                     of
159081
159082       salt.modules.postgres.psql_query(query,      user=None,      host=None,
159083       port=None, maintenance_db=None, password=None, runas=None, write=False)
159084              Run an SQL-Query and return the results as a list. This  command
159085              only  supports SELECT statements.  This limitation can be worked
159086              around with a query like this:
159087
159088              WITH updated AS (UPDATE pg_authid SET rolconnlimit = 2000  WHERE
159089              rolname  =  'rolename'  RETURNING  rolconnlimit)  SELECT  * FROM
159090              updated;
159091
159092              query  The query string.
159093
159094              user   Database username, if different from config or default.
159095
159096              host   Database host, if different from config or default.
159097
159098              port   Database port, if different from the config or default.
159099
159100              maintenance_db
159101                     The database to run the query against.
159102
159103              password
159104                     User password, if different from the config or default.
159105
159106              runas  User to run the command as.
159107
159108              write  Mark query as READ WRITE transaction.
159109
159110              CLI Example:
159111
159112                 salt '*' postgres.psql_query 'select * from pg_stat_activity'
159113
159114       salt.modules.postgres.role_get(name, user=None,  host=None,  port=None,
159115       maintenance_db=None, password=None, runas=None, return_password=False)
159116              Return a dict with information about users of a Postgres server.
159117
159118              Set return_password to True to get password hash in the result.
159119
159120              CLI Example:
159121
159122                 salt '*' postgres.role_get postgres
159123
159124       salt.modules.postgres.schema_create(dbname,      name,      owner=None,
159125       user=None, db_user=None, db_password=None, db_host=None, db_port=None)
159126              Creates a Postgres schema.
159127
159128              CLI Example:
159129
159130                 salt '*' postgres.schema_create dbname name owner='owner' \
159131                         user='user' \
159132                         db_user='user' db_password='password'
159133                         db_host='hostname' db_port='port'
159134
159135       salt.modules.postgres.schema_exists(dbname,      name,       user=None,
159136       db_user=None, db_password=None, db_host=None, db_port=None)
159137              Checks if a schema exists on the Postgres server.
159138
159139              CLI Example:
159140
159141                 salt '*' postgres.schema_exists dbname schemaname
159142
159143              dbname Database name we query on
159144
159145              name   Schema name we look for
159146
159147              user   The  system  user  the  operation  should be performed on
159148                     behalf of
159149
159150              db_user
159151                     database username if different from config or default
159152
159153              db_password
159154                     user password if any password for a specified user
159155
159156              db_host
159157                     Database host if different from config or default
159158
159159              db_port
159160                     Database port if different from config or default
159161
159162       salt.modules.postgres.schema_get(dbname, name, user=None, db_user=None,
159163       db_password=None, db_host=None, db_port=None)
159164              Return a dict with information about schemas in a database.
159165
159166              CLI Example:
159167
159168                 salt '*' postgres.schema_get dbname name
159169
159170              dbname Database name we query on
159171
159172              name   Schema name we look for
159173
159174              user   The  system  user  the  operation  should be performed on
159175                     behalf of
159176
159177              db_user
159178                     database username if different from config or default
159179
159180              db_password
159181                     user password if any password for a specified user
159182
159183              db_host
159184                     Database host if different from config or default
159185
159186              db_port
159187                     Database port if different from config or default
159188
159189       salt.modules.postgres.schema_list(dbname,   user=None,    db_user=None,
159190       db_password=None, db_host=None, db_port=None)
159191              Return a dict with information about schemas in a Postgres data‐
159192              base.
159193
159194              CLI Example:
159195
159196                 salt '*' postgres.schema_list dbname
159197
159198              dbname Database name we query on
159199
159200              user   The system user the  operation  should  be  performed  on
159201                     behalf of
159202
159203              db_user
159204                     database username if different from config or default
159205
159206              db_password
159207                     user password if any password for a specified user
159208
159209              db_host
159210                     Database host if different from config or default
159211
159212              db_port
159213                     Database port if different from config or default
159214
159215       salt.modules.postgres.schema_remove(dbname,       name,      user=None,
159216       db_user=None, db_password=None, db_host=None, db_port=None)
159217              Removes a schema from the Postgres server.
159218
159219              CLI Example:
159220
159221                 salt '*' postgres.schema_remove dbname schemaname
159222
159223              dbname Database name we work on
159224
159225              schemaname
159226                     The schema's name we'll remove
159227
159228              user   System user all operations should be performed on  behalf
159229                     of
159230
159231              db_user
159232                     database username if different from config or default
159233
159234              db_password
159235                     user password if any password for a specified user
159236
159237              db_host
159238                     Database host if different from config or default
159239
159240              db_port
159241                     Database port if different from config or default
159242
159243       salt.modules.postgres.tablespace_alter(name,    user=None,   host=None,
159244       port=None,    maintenance_db=None,    password=None,     new_name=None,
159245       new_owner=None, set_option=None, reset_option=None, runas=None)
159246              Change tablespace name, owner, or options.
159247
159248              CLI Example:
159249
159250                 salt '*' postgres.tablespace_alter tsname new_owner=otheruser
159251                 salt '*' postgres.tablespace_alter index_space new_name=fast_raid
159252                 salt '*' postgres.tablespace_alter test set_option="{'seq_page_cost': '1.1'}"
159253                 salt '*' postgres.tablespace_alter tsname reset_option=seq_page_cost
159254
159255              New in version 2015.8.0.
159256
159257
159258       salt.modules.postgres.tablespace_create(name,  location,  options=None,
159259       owner=None, user=None, host=None, port=None, maintenance_db=None, pass‐
159260       word=None, runas=None)
159261              Adds a tablespace to the Postgres server.
159262
159263              CLI Example:
159264
159265                 salt '*' postgres.tablespace_create tablespacename '/path/datadir'
159266
159267              New in version 2015.8.0.
159268
159269
159270       salt.modules.postgres.tablespace_exists(name,   user=None,   host=None,
159271       port=None, maintenance_db=None, password=None, runas=None)
159272              Checks if a tablespace exists on the Postgres server.
159273
159274              CLI Example:
159275
159276                 salt '*' postgres.tablespace_exists 'dbname'
159277
159278              New in version 2015.8.0.
159279
159280
159281       salt.modules.postgres.tablespace_list(user=None, host=None,  port=None,
159282       maintenance_db=None, password=None, runas=None)
159283              Return  dictionary with information about tablespaces of a Post‐
159284              gres server.
159285
159286              CLI Example:
159287
159288                 salt '*' postgres.tablespace_list
159289
159290              New in version 2015.8.0.
159291
159292
159293       salt.modules.postgres.tablespace_remove(name,   user=None,   host=None,
159294       port=None, maintenance_db=None, password=None, runas=None)
159295              Removes a tablespace from the Postgres server.
159296
159297              CLI Example:
159298
159299                 salt '*' postgres.tablespace_remove tsname
159300
159301              New in version 2015.8.0.
159302
159303
159304       salt.modules.postgres.user_create(username,    user=None,    host=None,
159305       port=None,  maintenance_db=None,  password=None,  createdb=None,   cre‐
159306       ateroles=None,      inherit=None,      login=None,      connlimit=None,
159307       encrypted=None,  superuser=None,  replication=None,  rolepassword=None,
159308       valid_until=None, groups=None, runas=None)
159309              Creates a Postgres user.
159310
159311              CLI Examples:
159312
159313                 salt '*' postgres.user_create 'username' user='user' \
159314                         host='hostname' port='port' password='password' \
159315                         rolepassword='rolepassword' valid_until='valid_until'
159316
159317       salt.modules.postgres.user_exists(name,      user=None,      host=None,
159318       port=None, maintenance_db=None, password=None, runas=None)
159319              Checks if a user exists on the Postgres server.
159320
159321              CLI Example:
159322
159323                 salt '*' postgres.user_exists 'username'
159324
159325       salt.modules.postgres.user_list(user=None, host=None, port=None,  main‐
159326       tenance_db=None, password=None, runas=None, return_password=False)
159327              Return a dict with information about users of a Postgres server.
159328
159329              Set return_password to True to get password hash in the result.
159330
159331              CLI Example:
159332
159333                 salt '*' postgres.user_list
159334
159335       salt.modules.postgres.user_remove(username,    user=None,    host=None,
159336       port=None, maintenance_db=None, password=None, runas=None)
159337              Removes a user from the Postgres server.
159338
159339              CLI Example:
159340
159341                 salt '*' postgres.user_remove 'username'
159342
159343       salt.modules.postgres.user_update(username,    user=None,    host=None,
159344       port=None,   maintenance_db=None,  password=None,  createdb=None,  cre‐
159345       ateroles=None,    encrypted=None,     superuser=None,     inherit=None,
159346       login=None,    connlimit=None,   replication=None,   rolepassword=None,
159347       valid_until=None, groups=None, runas=None)
159348              Updates a Postgres user.
159349
159350              CLI Examples:
159351
159352                 salt '*' postgres.user_update 'username' user='user' \
159353                         host='hostname' port='port' password='password' \
159354                         rolepassword='rolepassword' valid_until='valid_until'
159355
159356       salt.modules.postgres.version(user=None, host=None, port=None,  mainte‐
159357       nance_db=None, password=None, runas=None)
159358              Return the version of a Postgres server.
159359
159360              CLI Example:
159361
159362                 salt '*' postgres.version
159363
159364   salt.modules.poudriere
159365       Support for poudriere
159366
159367       salt.modules.poudriere.bulk_build(jail, pkg_file, keep=False)
159368              Run bulk build on poudriere server.
159369
159370              Return number of pkg builds, failures, and errors, on error dump
159371              to CLI
159372
159373              CLI Example:
159374
159375                 salt -N buildbox_group poudriere.bulk_build 90amd64 /root/pkg_list
159376
159377       salt.modules.poudriere.create_jail(name, arch, version=u'9.0-RELEASE')
159378              Creates a new poudriere jail if one does not exist
159379
159380              NOTE creating a new jail will take some time the master  is  not
159381              hanging
159382
159383              CLI Example:
159384
159385                 salt '*' poudriere.create_jail 90amd64 amd64
159386
159387       salt.modules.poudriere.create_ports_tree()
159388              Not working need to run portfetch non interactive
159389
159390       salt.modules.poudriere.delete_jail(name)
159391              Deletes poudriere jail with name
159392
159393              CLI Example:
159394
159395                 salt '*' poudriere.delete_jail 90amd64
159396
159397       salt.modules.poudriere.is_jail(name)
159398              Return True if jail exists False if not
159399
159400              CLI Example:
159401
159402                 salt '*' poudriere.is_jail <jail name>
159403
159404       salt.modules.poudriere.list_jails()
159405              Return a list of current jails managed by poudriere
159406
159407              CLI Example:
159408
159409                 salt '*' poudriere.list_jails
159410
159411       salt.modules.poudriere.list_ports()
159412              Return a list of current port trees managed by poudriere
159413
159414              CLI Example:
159415
159416                 salt '*' poudriere.list_ports
159417
159418       salt.modules.poudriere.make_pkgng_aware(jname)
159419              Make jail jname pkgng aware
159420
159421              CLI Example:
159422
159423                 salt '*' poudriere.make_pkgng_aware <jail name>
159424
159425       salt.modules.poudriere.parse_config(config_file=None)
159426              Returns a dict of poudriere main configuration definitions
159427
159428              CLI Example:
159429
159430                 salt '*' poudriere.parse_config
159431
159432       salt.modules.poudriere.update_jail(name)
159433              Run freebsd-update on name poudriere jail
159434
159435              CLI Example:
159436
159437                 salt '*' poudriere.update_jail freebsd:10:x86:64
159438
159439       salt.modules.poudriere.update_ports_tree(ports_tree)
159440              Updates  the  ports  tree,  either the default or the ports_tree
159441              specified
159442
159443              CLI Example:
159444
159445                 salt '*' poudriere.update_ports_tree staging
159446
159447       salt.modules.poudriere.version()
159448              Return poudriere version
159449
159450              CLI Example:
159451
159452                 salt '*' poudriere.version
159453
159454   salt.modules.powerpath
159455       powerpath support.
159456
159457       Assumes RedHat
159458
159459       salt.modules.powerpath.add_license(key)
159460              Add a license
159461
159462       salt.modules.powerpath.has_powerpath()
159463
159464       salt.modules.powerpath.list_licenses()
159465              returns a list of applied powerpath license keys
159466
159467       salt.modules.powerpath.remove_license(key)
159468              Remove a license
159469
159470   salt.modules.proxy module
159471       This module allows you to manage proxy settings
159472
159473          salt '*' network.get_http_proxy
159474
159475       salt.modules.proxy.get_ftp_proxy(network_service=u'Ethernet')
159476              Returns the current ftp proxy settings
159477
159478              network_service
159479                     The network service to apply the changes  to,  this  only
159480                     necessary on macOS
159481
159482              CLI Example:
159483
159484                 salt '*' proxy.get_ftp_proxy Ethernet
159485
159486       salt.modules.proxy.get_http_proxy(network_service=u'Ethernet')
159487              Returns the current http proxy settings
159488
159489              network_service
159490                     The  network  service  to apply the changes to, this only
159491                     necessary on macOS
159492
159493              CLI Example:
159494
159495                 salt '*' proxy.get_http_proxy Ethernet
159496
159497       salt.modules.proxy.get_https_proxy(network_service=u'Ethernet')
159498              Returns the current https proxy settings
159499
159500              network_service
159501                     The network service to apply the changes  to,  this  only
159502                     necessary on macOS
159503
159504              CLI Example:
159505
159506                 salt '*' proxy.get_https_proxy Ethernet
159507
159508       salt.modules.proxy.get_proxy_bypass(network_service=u'Ethernet')
159509              Returns the current domains that can bypass the proxy
159510
159511              network_service
159512                     The  network service to get the bypass domains from, this
159513                     is only necessary on macOS
159514
159515              CLI Example:
159516
159517                 salt '*' proxy.get_proxy_bypass
159518
159519       salt.modules.proxy.get_proxy_win()
159520              Gets all of the proxy settings in one call,  only  available  on
159521              Windows
159522
159523              CLI Example:
159524
159525                 salt '*' proxy.get_proxy_win
159526
159527       salt.modules.proxy.set_ftp_proxy(server,    port,    user=None,   pass‐
159528       word=None, network_service=u'Ethernet', bypass_hosts=None)
159529              Sets the ftp proxy settings
159530
159531              server The proxy server to use
159532
159533              port   The port used by the proxy server
159534
159535              user   The username to use for the proxy server if required
159536
159537              password
159538                     The password to use if required by the server
159539
159540              network_service
159541                     The network service to apply the changes  to,  this  only
159542                     necessary on macOS
159543
159544              bypass_hosts
159545                     The  hosts  that  are  allowed to by pass the proxy. Only
159546                     used on Windows for other OS's  use  set_proxy_bypass  to
159547                     edit the bypass hosts.
159548
159549              CLI Example:
159550
159551                 salt '*' proxy.set_ftp_proxy example.com 1080 user=proxy_user password=proxy_pass network_service=Ethernet
159552
159553       salt.modules.proxy.set_http_proxy(server,    port,   user=None,   pass‐
159554       word=None, network_service=u'Ethernet', bypass_hosts=None)
159555              Sets the http proxy settings. Note: On Windows this  will  over‐
159556              ride  any other proxy settings you have, the preferred method of
159557              updating proxies on windows is using set_proxy.
159558
159559              server The proxy server to use
159560
159561              port   The port used by the proxy server
159562
159563              user   The username to use for the proxy server if required
159564
159565              password
159566                     The password to use if required by the server
159567
159568              network_service
159569                     The network service to apply the changes  to,  this  only
159570                     necessary on macOS
159571
159572              bypass_hosts
159573                     The  hosts  that  are  allowed to by pass the proxy. Only
159574                     used on Windows for other OS's  use  set_proxy_bypass  to
159575                     edit the bypass hosts.
159576
159577              CLI Example:
159578
159579                 salt '*' proxy.set_http_proxy example.com 1080 user=proxy_user password=proxy_pass network_service=Ethernet
159580
159581       salt.modules.proxy.set_https_proxy(server,   port,   user=None,   pass‐
159582       word=None, network_service=u'Ethernet', bypass_hosts=None)
159583              Sets the https proxy settings. Note: On Windows this will  over‐
159584              ride  any other proxy settings you have, the preferred method of
159585              updating proxies on windows is using set_proxy.
159586
159587              server The proxy server to use
159588
159589              port   The port used by the proxy server
159590
159591              user   The username to use for the proxy server if required
159592
159593              password
159594                     The password to use if required by the server
159595
159596              network_service
159597                     The network service to apply the changes  to,  this  only
159598                     necessary on macOS
159599
159600              bypass_hosts
159601                     The  hosts  that  are  allowed to by pass the proxy. Only
159602                     used on Windows for other OS's  use  set_proxy_bypass  to
159603                     edit the bypass hosts.
159604
159605              CLI Example:
159606
159607                 salt '*' proxy.set_https_proxy example.com 1080 user=proxy_user password=proxy_pass network_service=Ethernet
159608
159609       salt.modules.proxy.set_proxy_bypass(domains,   network_service=u'Ether‐
159610       net')
159611              Sets the domains that can bypass the proxy
159612
159613              domains
159614                     An array of domains allowed to bypass the proxy
159615
159616              network_service
159617                     The network service to apply the changes  to,  this  only
159618                     necessary on macOS
159619
159620              CLI Example:
159621
159622                 salt '*' proxy.set_proxy_bypass "['127.0.0.1', 'localhost']"
159623
159624       salt.modules.proxy.set_proxy_win(server,        port,       types=None,
159625       bypass_hosts=None)
159626              Sets the http proxy settings, only works with Windows.
159627
159628              server The proxy server to use
159629
159630              password
159631                     The password to use if required by the server
159632
159633              types  The types of proxy connections should be setup with  this
159634                     server. Valid types are:
159635
159636                        · http
159637
159638                        · https
159639
159640                        · ftp
159641
159642              bypass_hosts
159643                     The hosts that are allowed to by pass the proxy.
159644
159645              CLI Example:
159646
159647                 salt '*' proxy.set_http_proxy example.com 1080 types="['http', 'https']"
159648
159649   salt.modules.ps
159650       A  salt  interface  to  psutil,  a  system  and  process  library.  See
159651       http://code.google.com/p/psutil.
159652
159653       depends
159654
159655              · psutil Python module, version 0.3.0 or later
159656
159657              · python-utmp package (optional)
159658
159659       salt.modules.ps.boot_time(time_format=None)
159660              Return the boot time in number of seconds since the epoch began.
159661
159662              CLI Example:
159663
159664              time_format
159665                     Optionally  specify  a  strftime   format   string.   Use
159666                     time_format='%c'  to  get  a nicely-formatted locale spe‐
159667                     cific date and time (i.e. Fri May  2 19:08:32 2014).
159668
159669                     New in version 2014.1.4.
159670
159671
159672                 salt '*' ps.boot_time
159673
159674       salt.modules.ps.cpu_percent(interval=0.1, per_cpu=False)
159675              Return the percent of time the CPU is busy.
159676
159677              interval
159678                     the number of seconds to sample CPU usage over
159679
159680              per_cpu
159681                     if True return an array of CPU percent busy for each CPU,
159682                     otherwise aggregate all percents into one number
159683
159684              CLI Example:
159685
159686                 salt '*' ps.cpu_percent
159687
159688       salt.modules.ps.cpu_times(per_cpu=False)
159689              Return  the  percent  of time the CPU spends in each state, e.g.
159690              user, system, idle, nice, iowait, irq, softirq.
159691
159692              per_cpu
159693                     if True return an array of percents for each CPU,  other‐
159694                     wise aggregate all percents into one number
159695
159696              CLI Example:
159697
159698                 salt '*' ps.cpu_times
159699
159700       salt.modules.ps.disk_io_counters(device=None)
159701              Return disk I/O statistics.
159702
159703              CLI Example:
159704
159705                 salt '*' ps.disk_io_counters
159706
159707                 salt '*' ps.disk_io_counters device=sda1
159708
159709       salt.modules.ps.disk_partition_usage(all=False)
159710              Return  a list of disk partitions plus the mount point, filesys‐
159711              tem and usage statistics.
159712
159713              CLI Example:
159714
159715                 salt '*' ps.disk_partition_usage
159716
159717       salt.modules.ps.disk_partitions(all=False)
159718              Return a list of disk partitions and their device, mount  point,
159719              and filesystem type.
159720
159721              all    if  set  to False, only return local, physical partitions
159722                     (hard disk, USB, CD/DVD partitions).  If True, return all
159723                     filesystems.
159724
159725              CLI Example:
159726
159727                 salt '*' ps.disk_partitions
159728
159729       salt.modules.ps.disk_usage(path)
159730              Given a path, return a dict listing the total available space as
159731              well as the free space, and used space.
159732
159733              CLI Example:
159734
159735                 salt '*' ps.disk_usage /home
159736
159737       salt.modules.ps.get_pid_list()
159738              Return a list of process ids (PIDs) for all running processes.
159739
159740              CLI Example:
159741
159742                 salt '*' ps.get_pid_list
159743
159744       salt.modules.ps.get_users()
159745              Return logged-in users.
159746
159747              CLI Example:
159748
159749                 salt '*' ps.get_users
159750
159751       salt.modules.ps.kill_pid(pid, signal=15)
159752              Kill a process by PID.
159753
159754                 salt 'minion' ps.kill_pid pid [signal=signal_number]
159755
159756              pid    PID of process to kill.
159757
159758              signal Signal to send to the process. See manpage entry for kill
159759                     for possible values. Default: 15 (SIGTERM).
159760
159761              Example:
159762
159763              Send SIGKILL to process with PID 2000:
159764
159765                 salt 'minion' ps.kill_pid 2000 signal=9
159766
159767       salt.modules.ps.lsof(name)
159768              Retrieve the lsof information of the given process name.
159769
159770              CLI Example:
159771
159772                 salt '*' ps.lsof apache2
159773
159774       salt.modules.ps.netstat(name)
159775              Retrieve the netstat information of the given process name.
159776
159777              CLI Example:
159778
159779                 salt '*' ps.netstat apache2
159780
159781       salt.modules.ps.network_io_counters(interface=None)
159782              Return network I/O statistics.
159783
159784              CLI Example:
159785
159786                 salt '*' ps.network_io_counters
159787
159788                 salt '*' ps.network_io_counters interface=eth0
159789
159790       salt.modules.ps.num_cpus()
159791              Return the number of CPUs.
159792
159793              CLI Example:
159794
159795                 salt '*' ps.num_cpus
159796
159797       salt.modules.ps.pgrep(pattern, user=None, full=False)
159798              Return the pids for processes matching a pattern.
159799
159800              If  full is true, the full command line is searched for a match,
159801              otherwise only the name of the command is searched.
159802
159803                 salt '*' ps.pgrep pattern [user=username] [full=(true|false)]
159804
159805              pattern
159806                     Pattern to search for in the process list.
159807
159808              user   Limit matches to the given username. Default: All users.
159809
159810              full   A boolean value indicating whether only the name  of  the
159811                     command  or  the  full  command  line  should  be matched
159812                     against the pattern.
159813
159814              Examples:
159815
159816              Find all httpd processes on all 'www' minions:
159817
159818                 salt 'www.*' ps.pgrep httpd
159819
159820              Find all bash processes owned by user 'tom':
159821
159822                 salt '*' ps.pgrep bash user=tom
159823
159824       salt.modules.ps.pkill(pattern, user=None, signal=15, full=False)
159825              Kill processes matching a pattern.
159826
159827                 salt '*' ps.pkill pattern [user=username] [signal=signal_number] \
159828                         [full=(true|false)]
159829
159830              pattern
159831                     Pattern to search for in the process list.
159832
159833              user   Limit matches to the given username. Default: All users.
159834
159835              signal Signal to send to the process(es). See manpage entry  for
159836                     kill for possible values. Default: 15 (SIGTERM).
159837
159838              full   A  boolean  value indicating whether only the name of the
159839                     command or  the  full  command  line  should  be  matched
159840                     against the pattern.
159841
159842              Examples:
159843
159844              Send SIGHUP to all httpd processes on all 'www' minions:
159845
159846                 salt 'www.*' ps.pkill httpd signal=1
159847
159848              Send SIGKILL to all bash processes owned by user 'tom':
159849
159850                 salt '*' ps.pkill bash signal=9 user=tom
159851
159852       salt.modules.ps.proc_info(pid, attrs=None)
159853              Return a dictionary of information for a process id (PID).
159854
159855              CLI Example:
159856
159857                 salt '*' ps.proc_info 2322
159858                 salt '*' ps.proc_info 2322 attrs='["pid", "name"]'
159859
159860              pid    PID of process to query.
159861
159862              attrs  Optional list of desired process attributes.  The list of
159863                     possible    attributes     can     be     found     here:
159864                     http://pythonhosted.org/psutil/#psutil.Process
159865
159866       salt.modules.ps.psaux(name)
159867              Retrieve  information  corresponding to a "ps aux" filtered with
159868              the given pattern. It could be just a name or a regular  expres‐
159869              sion (using python search from "re" module).
159870
159871              CLI Example:
159872
159873                 salt '*' ps.psaux www-data.+apache2
159874
159875       salt.modules.ps.ss(name)
159876              Retrieve the ss information of the given process name.
159877
159878              CLI Example:
159879
159880                 salt '*' ps.ss apache2
159881
159882              New in version 2016.11.6.
159883
159884
159885       salt.modules.ps.swap_memory()
159886              New in version 2014.7.0.
159887
159888
159889              Return a dict that describes swap memory statistics.
159890
159891              NOTE:
159892                 This  function  is only available in psutil version 0.6.0 and
159893                 above.
159894
159895              CLI Example:
159896
159897                 salt '*' ps.swap_memory
159898
159899       salt.modules.ps.top(num_processes=5, interval=3)
159900              Return a list of top CPU consuming processes during  the  inter‐
159901              val.   num_processes  = return the top N CPU consuming processes
159902              interval = the number of seconds to sample CPU usage over
159903
159904              CLI Examples:
159905
159906                 salt '*' ps.top
159907
159908                 salt '*' ps.top 5 10
159909
159910       salt.modules.ps.total_physical_memory()
159911              Return the total number of bytes of physical memory.
159912
159913              CLI Example:
159914
159915                 salt '*' ps.total_physical_memory
159916
159917       salt.modules.ps.virtual_memory()
159918              New in version 2014.7.0.
159919
159920
159921              Return a dict that  describes  statistics  about  system  memory
159922              usage.
159923
159924              NOTE:
159925                 This  function  is only available in psutil version 0.6.0 and
159926                 above.
159927
159928              CLI Example:
159929
159930                 salt '*' ps.virtual_memory
159931
159932   salt.modules.publish
159933       Publish a command from a minion to a target
159934
159935       salt.modules.publish.full_data(tgt,  fun,  arg=None,  tgt_type=u'glob',
159936       returner=u'', timeout=5)
159937              Return  the  full data about the publication, this is invoked in
159938              the same way as the publish function
159939
159940              CLI Example:
159941
159942                 salt system.example.com publish.full_data '*' cmd.run 'ls -la /tmp'
159943
159944                 Attention
159945
159946                        If you need to pass a value to a function argument and
159947                        that  value  contains  an equal sign, you must include
159948                        the argument name.  For example:
159949
159950                     salt '*' publish.full_data test.kwarg arg='cheese=spam'
159951
159952       salt.modules.publish.publish(tgt,  fun,   arg=None,   tgt_type=u'glob',
159953       returner=u'', timeout=5, via_master=None)
159954              Publish a command from the minion out to other minions.
159955
159956              Publications  need to be enabled on the Salt master and the min‐
159957              ion needs to have permission to publish the  command.  The  Salt
159958              master  will  also  prevent  a  recursive publication loop, this
159959              means that a minion cannot command  another  minion  to  command
159960              another minion as that would create an infinite command loop.
159961
159962              The tgt_type argument is used to pass a target other than a glob
159963              into the execution, the available options are:
159964
159965              · glob
159966
159967              · pcre
159968
159969              · grain
159970
159971              · grain_pcre
159972
159973              · pillar
159974
159975              · pillar_pcre
159976
159977              · ipcidr
159978
159979              · range
159980
159981              · compound
159982
159983              Changed in version 2017.7.0: The  expr_form  argument  has  been
159984              renamed to tgt_type, earlier releases must use expr_form.
159985
159986
159987              Note  that  for pillar matches must be exact, both in the pillar
159988              matcher and the compound matcher. No globbing is supported.
159989
159990              The arguments sent to the minion publish function are  separated
159991              with  commas.  This  means that for a minion executing a command
159992              with multiple args it will look like this:
159993
159994                 salt system.example.com publish.publish '*' user.add 'foo,1020,1020'
159995                 salt system.example.com publish.publish 'os:Fedora' network.interfaces '' grain
159996
159997              CLI Example:
159998
159999                 salt system.example.com publish.publish '*' cmd.run 'ls -la /tmp'
160000
160001                 Attention
160002
160003                        If you need to pass a value to a function argument and
160004                        that  value  contains  an equal sign, you must include
160005                        the argument name.  For example:
160006
160007                     salt '*' publish.publish test.kwarg arg='cheese=spam'
160008
160009                 Multiple keyword arguments should be passed as a list.
160010
160011                     salt '*' publish.publish test.kwarg arg="['cheese=spam','spam=cheese']"
160012
160013              When running via salt-call, the via_master flag may  be  set  to
160014              specific  which  master  the publication should be sent to. Only
160015              one master may be specified. If unset, the publication  will  be
160016              sent only to the first master in minion configuration.
160017
160018       salt.modules.publish.runner(fun, arg=None, timeout=5)
160019              Execute a runner on the master and return the data from the run‐
160020              ner function
160021
160022              CLI Example:
160023
160024                 salt publish.runner manage.down
160025
160026   salt.modules.puppet
160027       Execute puppet routines
160028
160029       salt.modules.puppet.disable(message=None)
160030              New in version 2014.7.0.
160031
160032
160033              Disable the puppet agent
160034
160035              message
160036                     New in version 2015.5.2.
160037
160038
160039                     Disable message to send to puppet
160040
160041              CLI Example:
160042
160043                 salt '*' puppet.disable
160044                 salt '*' puppet.disable 'Disabled, contact XYZ before enabling'
160045
160046       salt.modules.puppet.enable()
160047              New in version 2014.7.0.
160048
160049
160050              Enable the puppet agent
160051
160052              CLI Example:
160053
160054                 salt '*' puppet.enable
160055
160056       salt.modules.puppet.fact(name, puppet=False)
160057              Run facter for a specific fact
160058
160059              CLI Example:
160060
160061                 salt '*' puppet.fact kernel
160062
160063       salt.modules.puppet.facts(puppet=False)
160064              Run facter and return the results
160065
160066              CLI Example:
160067
160068                 salt '*' puppet.facts
160069
160070       salt.modules.puppet.noop(*args, **kwargs)
160071              Execute a puppet noop run and return a  dict  with  the  stderr,
160072              stdout, return code, etc. Usage is the same as for puppet.run.
160073
160074              CLI Example:
160075
160076                 salt '*' puppet.noop
160077                 salt '*' puppet.noop tags=basefiles::edit,apache::server
160078                 salt '*' puppet.noop debug
160079                 salt '*' puppet.noop apply /a/b/manifest.pp modulepath=/a/b/modules tags=basefiles::edit,apache::server
160080
160081       salt.modules.puppet.plugin_sync()
160082              Runs a plugin sync between the puppet master and agent
160083
160084              CLI Example:
160085
160086                 salt '*' puppet.plugin_sync
160087
160088       salt.modules.puppet.run(*args, **kwargs)
160089              Execute  a puppet run and return a dict with the stderr, stdout,
160090              return code, etc. The first positional argument given is checked
160091              as  a  subcommand.  Following  positional  arguments  should  be
160092              ordered with arguments required by the  subcommand  first,  fol‐
160093              lowed  by  non-keyword  arguments.   Tags are specified by a tag
160094              keyword   and   comma   separated    list    of    values.    --
160095              http://docs.puppetlabs.com/puppet/latest/reference/lang_tags.html
160096
160097              CLI Examples:
160098
160099                 salt '*' puppet.run
160100                 salt '*' puppet.run tags=basefiles::edit,apache::server
160101                 salt '*' puppet.run agent onetime no-daemonize no-usecacheonfailure no-splay ignorecache
160102                 salt '*' puppet.run debug
160103                 salt '*' puppet.run apply /a/b/manifest.pp modulepath=/a/b/modules tags=basefiles::edit,apache::server
160104
160105       salt.modules.puppet.status()
160106              New in version 2014.7.0.
160107
160108
160109              Display puppet agent status
160110
160111              CLI Example:
160112
160113                 salt '*' puppet.status
160114
160115       salt.modules.puppet.summary()
160116              New in version 2014.7.0.
160117
160118
160119              Show a summary of the last puppet agent run
160120
160121              CLI Example:
160122
160123                 salt '*' puppet.summary
160124
160125   salt.modules.purefa
160126       Management of Pure Storage FlashArray
160127
160128   Installation Prerequisites
160129       · You will need the purestorage python package in your python installa‐
160130         tion path that is running salt.
160131
160132            pip install purestorage
160133
160134       · Configure Pure Storage FlashArray authentication. Use one of the fol‐
160135         lowing three methods.
160136
160137         1. From the minion config
160138
160139            pure_tags:
160140              fa:
160141                san_ip: management vip or hostname for the FlashArray
160142                api_token: A valid api token for the FlashArray being managed
160143
160144         2. From environment (PUREFA_IP and PUREFA_API)
160145
160146         3. From the pillar (PUREFA_IP and PUREFA_API)
160147
160148       maintainer
160149              Simon Dodsley (simon@purestorage.com)
160150
160151       maturity
160152              new
160153
160154       requires
160155              purestorage
160156
160157       platform
160158              all
160159
160160       New in version 2018.3.0.
160161
160162
160163       salt.modules.purefa.hg_create(name, host=None, volume=None)
160164              Create a hostgroup on a Pure Storage FlashArray.
160165
160166              Will return False if hostgroup already exists, or if named  host
160167              or volume do not exist.
160168
160169              New in version 2018.3.0.
160170
160171
160172              name   string name of hostgroup (truncated to 63 characters)
160173
160174              host   string name of host to add to hostgroup
160175
160176              volume string name of volume to add to hostgroup
160177
160178              CLI Example:
160179
160180                 salt '*' purefa.hg_create foo host=bar volume=vol
160181
160182       salt.modules.purefa.hg_delete(name)
160183              Delete  a  hostgroup  on  a Pure Storage FlashArray (removes all
160184              volumes and hosts).
160185
160186              Will return False is hostgroup is already in a deleted state.
160187
160188              New in version 2018.3.0.
160189
160190
160191              name   string name of hostgroup
160192
160193              CLI Example:
160194
160195                 salt '*' purefa.hg_delete foo
160196
160197       salt.modules.purefa.hg_remove(name, volume=None, host=None)
160198              Remove a host and/or volume from a hostgroup on a  Pure  Storage
160199              FlashArray.
160200
160201              Will  return False is hostgroup does not exist, or named host or
160202              volume are not in the hostgroup.
160203
160204              New in version 2018.3.0.
160205
160206
160207              name   string name of hostgroup
160208
160209              volume string name of volume to remove from hostgroup
160210
160211              host   string name of host to remove from hostgroup
160212
160213              CLI Example:
160214
160215                 salt '*' purefa.hg_remove foo volume=test host=bar
160216
160217       salt.modules.purefa.hg_update(name, host=None, volume=None)
160218              Adds entries to a hostgroup on a Pure Storage FlashArray.
160219
160220              Will return False is hostgroup doesn't exist, or host or  volume
160221              do not exist.
160222
160223              New in version 2018.3.0.
160224
160225
160226              name   string name of hostgroup
160227
160228              host   string name of host to add to hostgroup
160229
160230              volume string name of volume to add to hostgroup
160231
160232              CLI Example:
160233
160234                 salt '*' purefa.hg_update foo host=bar volume=vol
160235
160236       salt.modules.purefa.host_create(name, iqn=None, wwn=None)
160237              Add a host on a Pure Storage FlashArray.
160238
160239              Will  return False if host already exists, or the iSCSI or Fibre
160240              Channel parameters are not in a valid format.  See Pure  Storage
160241              FlashArray documentation.
160242
160243              New in version 2018.3.0.
160244
160245
160246              name   string name of host (truncated to 63 characters)
160247
160248              iqn    string iSCSI IQN of host
160249
160250              wwn    string Fibre Channel WWN of host
160251
160252              CLI Example:
160253
160254                 salt '*' purefa.host_create foo iqn='<Valid iSCSI IQN>' wwn='<Valid WWN>'
160255
160256       salt.modules.purefa.host_delete(name)
160257              Delete  a  host  on a Pure Storage FlashArray (detaches all vol‐
160258              umes).
160259
160260              Will return False if the host doesn't exist.
160261
160262              New in version 2018.3.0.
160263
160264
160265              name   string name of host
160266
160267              CLI Example:
160268
160269                 salt '*' purefa.host_delete foo
160270
160271       salt.modules.purefa.host_update(name, iqn=None, wwn=None)
160272              Update a hosts port definitions on a Pure Storage FlashArray.
160273
160274              Will return False if new port definitions are already in use  by
160275              another  host,  or  are not in a valid format.  See Pure Storage
160276              FlashArray documentation.
160277
160278              New in version 2018.3.0.
160279
160280
160281              name   string name of host
160282
160283              iqn    string Additional iSCSI IQN of host
160284
160285              wwn    string Additional Fibre Channel WWN of host
160286
160287              CLI Example:
160288
160289                 salt '*' purefa.host_update foo iqn='<Valid iSCSI IQN>' wwn='<Valid WWN>'
160290
160291       salt.modules.purefa.pg_create(name,  hostgroup=None,  host=None,   vol‐
160292       ume=None, enabled=True)
160293              Create a protection group on a Pure Storage FlashArray.
160294
160295              Will return False is the following cases:
160296
160297                     · Protection Grop already exists
160298
160299                     · Protection Group in a deleted state
160300
160301                     · More than one type is specified - protection groups are
160302                       for only hostgroups, hosts or volumes
160303
160304                     · Named type for protection group does not exist
160305
160306              New in version 2018.3.0.
160307
160308
160309              name   string name of protection group
160310
160311              hostgroup
160312                     string name of hostgroup to add to protection group
160313
160314              host   string name of host to add to protection group
160315
160316              volume string name of volume to add to protection group
160317
160318              CLI Example:
160319
160320                 salt '*' purefa.pg_create foo [hostgroup=foo | host=bar | volume=vol] enabled=[true | false]
160321
160322       salt.modules.purefa.pg_delete(name, eradicate=False)
160323              Delete a protecton group on a Pure Storage FlashArray.
160324
160325              Will return False if protection group is already  in  a  deleted
160326              state.
160327
160328              New in version 2018.3.0.
160329
160330
160331              name   string name of protection group
160332
160333              CLI Example:
160334
160335                 salt '*' purefa.pg_delete foo
160336
160337       salt.modules.purefa.pg_eradicate(name)
160338              Eradicate  a  deleted protecton group on a Pure Storage FlashAr‐
160339              ray.
160340
160341              Will return False if protection group is not in a deleted state.
160342
160343              New in version 2018.3.0.
160344
160345
160346              name   string name of protection group
160347
160348              CLI Example:
160349
160350                 salt '*' purefa.pg_eradicate foo
160351
160352       salt.modules.purefa.pg_remove(name,  hostgroup=None,  host=None,   vol‐
160353       ume=None)
160354              Remove  a hostgroup, host or volume from a protection group on a
160355              Pure Storage FlashArray.
160356
160357              Will return False in the following cases:
160358
160359                     · Protection group does not exist
160360
160361                     · Specified type is not  currently  associated  with  the
160362                       protection group
160363
160364              New in version 2018.3.0.
160365
160366
160367              name   string name of hostgroup
160368
160369              hostgroup
160370                     string name of hostgroup to remove from protection group
160371
160372              host   string name of host to remove from hostgroup
160373
160374              volume string name of volume to remove from hostgroup
160375
160376              CLI Example:
160377
160378                 salt '*' purefa.pg_remove foo [hostgroup=bar | host=test | volume=bar]
160379
160380       salt.modules.purefa.pg_update(name,   hostgroup=None,  host=None,  vol‐
160381       ume=None)
160382              Update a protection group on a Pure Storage FlashArray.
160383
160384              Will return False in the following cases:
160385
160386                     · Protection group does not exist
160387
160388                     · Incorrect type selected for  current  protection  group
160389                       type
160390
160391                     · Specified type does not exist
160392
160393              New in version 2018.3.0.
160394
160395
160396              name   string name of protection group
160397
160398              hostgroup
160399                     string name of hostgroup to add to protection group
160400
160401              host   string name of host to add to protection group
160402
160403              volume string name of volume to add to protection group
160404
160405              CLI Example:
160406
160407                 salt '*' purefa.pg_update foo [hostgroup=foo | host=bar | volume=vol]
160408
160409       salt.modules.purefa.snap_create(name, suffix=None)
160410              Create a volume snapshot on a Pure Storage FlashArray.
160411
160412              Will return False is volume selected to snap does not exist.
160413
160414              New in version 2018.3.0.
160415
160416
160417              name   string name of volume to snapshot
160418
160419              suffix string  if specificed forces snapshot name suffix. If not
160420                     specified defaults to timestamp.
160421
160422              CLI Example:
160423
160424                 salt '*' purefa.snap_create foo
160425                 salt '*' purefa.snap_create foo suffix=bar
160426
160427       salt.modules.purefa.snap_delete(name, suffix=None, eradicate=False)
160428              Delete a volume snapshot on a Pure Storage FlashArray.
160429
160430              Will return False if selected snapshot does not exist.
160431
160432              New in version 2018.3.0.
160433
160434
160435              name   string name of volume
160436
160437              suffix string name of snapshot
160438
160439              eradicate
160440                     boolean  Eradicate  snapshot  after  deletion  if   True.
160441                     Default is False
160442
160443              CLI Example:
160444
160445                 salt '*' purefa.snap_delete foo suffix=snap eradicate=True
160446
160447       salt.modules.purefa.snap_eradicate(name, suffix=None)
160448              Eradicate  a  deleted volume snapshot on a Pure Storage FlashAr‐
160449              ray.
160450
160451              Will return False if snapshot is not in a deleted state.
160452
160453              New in version 2018.3.0.
160454
160455
160456              name   string name of volume
160457
160458              suffix string name of snapshot
160459
160460              CLI Example:
160461
160462                 salt '*' purefa.snap_eradicate foo suffix=snap
160463
160464       salt.modules.purefa.snap_volume_create(name, target, overwrite=False)
160465              Create R/W volume from snapshot on a Pure Storage FlashArray.
160466
160467              Will return False if target volume already exists and  overwrite
160468              is not specified, or selected snapshot doesn't exist.
160469
160470              New in version 2018.3.0.
160471
160472
160473              name   string name of volume snapshot
160474
160475              target string name of clone volume
160476
160477              overwrite
160478                     boolean  overwrite  clone  if  already  exists  (default:
160479                     False)
160480
160481              CLI Example:
160482
160483                 salt '*' purefa.snap_volume_create foo.bar clone overwrite=True
160484
160485       salt.modules.purefa.volume_attach(name, host)
160486              Attach a volume to a host on a Pure Storage FlashArray.
160487
160488              Host and volume must exist or else will return False.
160489
160490              New in version 2018.3.0.
160491
160492
160493              name   string name of volume
160494
160495              host   string name of host
160496
160497              CLI Example:
160498
160499                 salt '*' purefa.volume_attach foo bar
160500
160501       salt.modules.purefa.volume_clone(name, target, overwrite=False)
160502              Clone an existing volume on a Pure Storage FlashArray.
160503
160504              Will return False if source volume doesn't exist, or target vol‐
160505              ume already exists and overwrite not specified.
160506
160507              New in version 2018.3.0.
160508
160509
160510              name   string name of volume
160511
160512              target string name of clone volume
160513
160514              overwrite
160515                     boolean  overwrite  clone  if  already  exists  (default:
160516                     False)
160517
160518              CLI Example:
160519
160520                 salt '*' purefa.volume_clone foo bar overwrite=True
160521
160522       salt.modules.purefa.volume_create(name, size=None)
160523              Create a volume on a Pure Storage FlashArray.
160524
160525              Will return False if volume already exists.
160526
160527              New in version 2018.3.0.
160528
160529
160530              name   string name of volume (truncated to 63 characters)
160531
160532              size   string if specificed capacity of volume. If not specified
160533                     default  to  1G.  Refer to Pure Storage documentation for
160534                     formatting rules.
160535
160536              CLI Example:
160537
160538                 salt '*' purefa.volume_create foo
160539                 salt '*' purefa.volume_create foo size=10T
160540
160541       salt.modules.purefa.volume_delete(name, eradicate=False)
160542              Delete a volume on a Pure Storage FlashArray.
160543
160544              Will return False if  volume  doesn't  exist  is  already  in  a
160545              deleted state.
160546
160547              New in version 2018.3.0.
160548
160549
160550              name   string name of volume
160551
160552              eradicate
160553                     boolean  Eradicate volume after deletion if True. Default
160554                     is False
160555
160556              CLI Example:
160557
160558                 salt '*' purefa.volume_delete foo eradicate=True
160559
160560       salt.modules.purefa.volume_detach(name, host)
160561              Detach a volume from a host on a Pure Storage FlashArray.
160562
160563              Will return False if either host or volume do not exist,  or  if
160564              selected volume isn't already connected to the host.
160565
160566              New in version 2018.3.0.
160567
160568
160569              name   string name of volume
160570
160571              host   string name of host
160572
160573              CLI Example:
160574
160575                 salt '*' purefa.volume_detach foo bar
160576
160577       salt.modules.purefa.volume_eradicate(name)
160578              Eradicate a deleted volume on a Pure Storage FlashArray.
160579
160580              Will return False is volume is not in a deleted state.
160581
160582              New in version 2018.3.0.
160583
160584
160585              name   string name of volume
160586
160587              CLI Example:
160588
160589                 salt '*' purefa.volume_eradicate foo
160590
160591       salt.modules.purefa.volume_extend(name, size)
160592              Extend an existing volume on a Pure Storage FlashArray.
160593
160594              Will  return False if new size is less than or equal to existing
160595              size.
160596
160597              New in version 2018.3.0.
160598
160599
160600              name   string name of volume
160601
160602              size   string New capacity of volume.   Refer  to  Pure  Storage
160603                     documentation for formatting rules.
160604
160605              CLI Example:
160606
160607                 salt '*' purefa.volume_extend foo 10T
160608
160609   salt.modules.purefb
160610       Management of Pure Storage FlashBlade
160611
160612   Installation Prerequisites
160613       · You  will  need the purity_fb python package in your python installa‐
160614         tion path that is running salt.
160615
160616            pip install purity_fb
160617
160618       · Configure Pure Storage FlashBlade authentication. Use one of the fol‐
160619         lowing three methods.
160620
160621         1. From the minion config
160622
160623            pure_tags:
160624              fb:
160625                san_ip: management vip or hostname for the FlashBlade
160626                api_token: A valid api token for the FlashBlade being managed
160627
160628         2. From environment (PUREFB_IP and PUREFB_API)
160629
160630         3. From the pillar (PUREFB_IP and PUREFB_API)
160631
160632       maintainer
160633              Simon Dodsley (simon@purestorage.com)
160634
160635       maturity
160636              new
160637
160638       requires
160639              purity_fb
160640
160641       platform
160642              all
160643
160644       New in version 2019.2.0.
160645
160646
160647       salt.modules.purefb.fs_create(name,       size=None,      proto=u'NFS',
160648       nfs_rules=u'*(rw, no_root_squash)', snapshot=False)
160649              Create a filesystem on a Pure Storage FlashBlade.
160650
160651              Will return False if filesystem already exists.
160652
160653              New in version 2019.2.0.
160654
160655
160656              name   string name of filesystem (truncated to 63 characters)
160657
160658              proto  string (Optional) Sharing protocol (NFS, CIFS  or  HTTP).
160659                     If not specified default is NFS
160660
160661              snapshot: boolean
160662                     (Optional)  Are  snapshots  enabled  on  the  filesystem.
160663                     Default is False
160664
160665              nfs_rules
160666                     string (Optional) export rules for NFS. If not  specified
160667                     default  is  *(rw,no_root_squash).  Refer to Pure Storage
160668                     documentation for formatting rules.
160669
160670              size   string if specified capacity of filesystem. If not speci‐
160671                     fied default to 32G.  Refer to Pure Storage documentation
160672                     for formatting rules.
160673
160674              CLI Example:
160675
160676                 salt '*' purefb.fs_create foo proto=CIFS
160677                 salt '*' purefb.fs_create foo size=10T
160678
160679       salt.modules.purefb.fs_delete(name, eradicate=False)
160680              Delete a share on a Pure Storage FlashBlade.
160681
160682              Will return False if filesystem doesn't exist or is already in a
160683              deleted state.
160684
160685              New in version 2019.2.0.
160686
160687
160688              name   string name of filesystem
160689
160690              eradicate
160691                     boolean (Optional) Eradicate filesystem after deletion if
160692                     True. Default is False
160693
160694              CLI Example:
160695
160696                 salt '*' purefb.fs_delete foo eradicate=True
160697
160698       salt.modules.purefb.fs_eradicate(name)
160699              Eradicate a deleted filesystem on a Pure Storage FlashBlade.
160700
160701              Will return False is filesystem is not in a deleted state.
160702
160703              New in version 2019.2.0.
160704
160705
160706              name   string name of filesystem
160707
160708              CLI Example:
160709
160710                 salt '*' purefb.fs_eradicate foo
160711
160712       salt.modules.purefb.fs_extend(name, size)
160713              Resize an existing filesystem on a Pure Storage FlashBlade.
160714
160715              Will return False if new size is less than or equal to  existing
160716              size.
160717
160718              New in version 2019.2.0.
160719
160720
160721              name   string name of filesystem
160722
160723              size   string New capacity of filesystem.  Refer to Pure Storage
160724                     documentation for formatting rules.
160725
160726              CLI Example:
160727
160728                 salt '*' purefb.fs_extend foo 10T
160729
160730       salt.modules.purefb.fs_update(name, rules, snapshot=False)
160731              Update filesystem on a Pure Storage FlashBlade.
160732
160733              Allows for change of NFS export rules and  enabling/disabled  of
160734              snapshotting capability.
160735
160736              New in version 2019.2.0.
160737
160738
160739              name   string name of filesystem
160740
160741              rules  string  NFS  export  rules  for  filesystem Refer to Pure
160742                     Storage documentation for formatting rules.
160743
160744              snapshot: boolean
160745                     (Optional) Enable/Disable snapshots  on  the  filesystem.
160746                     Default is False
160747
160748              CLI Example:
160749
160750                 salt '*' purefb.fs_nfs_update foo rules='10.234.112.23(ro), 10.234.112.24(rw)' snapshot=True
160751
160752       salt.modules.purefb.snap_create(name, suffix=None)
160753              Create a filesystem snapshot on a Pure Storage FlashBlade.
160754
160755              Will return False if filesystem selected to snap does not exist.
160756
160757              New in version 2019.2.0.
160758
160759
160760              name   string name of filesystem to snapshot
160761
160762              suffix string  if specificed forces snapshot name suffix. If not
160763                     specified defaults to timestamp.
160764
160765              CLI Example:
160766
160767                 salt '*' purefb.snap_create foo
160768                 salt '*' purefb.snap_create foo suffix=bar
160769
160770       salt.modules.purefb.snap_delete(name, suffix=None, eradicate=False)
160771              Delete a filesystem snapshot on a Pure Storage FlashBlade.
160772
160773              Will return False if selected snapshot does not exist.
160774
160775              New in version 2019.2.0.
160776
160777
160778              name   string name of filesystem
160779
160780              suffix string name of snapshot
160781
160782              eradicate
160783                     boolean  Eradicate  snapshot  after  deletion  if   True.
160784                     Default is False
160785
160786              CLI Example:
160787
160788                 salt '*' purefb.snap_delete foo suffix=snap eradicate=True
160789
160790       salt.modules.purefb.snap_eradicate(name, suffix=None)
160791              Eradicate a deleted filesystem snapshot on a Pure Storage Flash‐
160792              Blade.
160793
160794              Will return False if snapshot is not in a deleted state.
160795
160796              New in version 2019.2.0.
160797
160798
160799              name   string name of filesystem
160800
160801              suffix string name of snapshot
160802
160803              CLI Example:
160804
160805                 salt '*' purefb.snap_eradicate foo suffix=snap
160806
160807   salt.modules.pushbullet module
160808       Module for sending messages to Pushbullet (https://www.pushbullet.com)
160809
160810       New in version 2015.8.0.
160811
160812
160813       Requires an api_key in /etc/salt/minion:
160814
160815          pushbullet:
160816            api_key: 'ABC123abc123ABC123abc123ABC123ab'
160817
160818       For example:
160819
160820          pushbullet:
160821            device: "Chrome"
160822            title: "Example push message"
160823            body: "Message body."
160824
160825       salt.modules.pushbullet.push_note(device=None, title=None, body=None)
160826              Pushing a text note.
160827
160828              Parameters
160829
160830                     · device -- Pushbullet target device
160831
160832                     · title -- Note title
160833
160834                     · body -- Note body
160835
160836              Returns
160837                     Boolean if message was sent successfully.
160838
160839              CLI Example:
160840
160841                 salt "*" pushbullet.push_note device="Chrome" title="Example title" body="Example body."
160842
160843   salt.modules.pushover_notify
160844       Module for sending messages to Pushover (https://www.pushover.net)
160845
160846       New in version 2016.3.0.
160847
160848
160849       configuration
160850              This module can be used by either passing an api key and version
160851              directly or by specifying both in a configuration profile in the
160852              salt master/minion config.
160853
160854              For example:
160855
160856                 pushover:
160857                   token: abAHuZyCLtdH8P4zhmFZmgUHUsv1ei8
160858
160859       salt.modules.pushover_notify.post_message(user=None, device=None,  mes‐
160860       sage=None,    title=None,   priority=None,   expire=None,   retry=None,
160861       sound=None, api_version=1, token=None)
160862              Send a message to a Pushover user or group.
160863
160864              Parameters
160865
160866                     · user -- The user or group to send to, must  be  key  of
160867                       user or group not email address.
160868
160869                     · message  -- The message to send to the PushOver user or
160870                       group.
160871
160872                     · title -- Specify who the message is from.
160873
160874                     · priority -- The priority of the message, defaults to 0.
160875
160876                     · expire -- The message should expire after N  number  of
160877                       seconds.
160878
160879                     · retry  --  The  number  of  times the message should be
160880                       retried.
160881
160882                     · sound -- The sound to associate with the message.
160883
160884                     · api_version -- The PushOver API version, if not  speci‐
160885                       fied in the configuration.
160886
160887                     · token  --  The  PushOver token, if not specified in the
160888                       configuration.
160889
160890              Returns
160891                     Boolean if message was sent successfully.
160892
160893              CLI Example:
160894
160895                 salt '*' pushover.post_message user='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' title='Message from Salt' message='Build is done'
160896
160897                 salt '*' pushover.post_message user='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' title='Message from Salt' message='Build is done' priority='2' expire='720' retry='5'
160898
160899   salt.modules.pw_group
160900       Manage groups on FreeBSD
160901
160902       IMPORTANT:
160903          If you feel that Salt should be using this module to  manage  groups
160904          on  a  minion, and it is using a different module (or gives an error
160905          similar to 'group.info' is not available), see here.
160906
160907       salt.modules.pw_group.add(name, gid=None, **kwargs)
160908              Add the specified group
160909
160910              CLI Example:
160911
160912                 salt '*' group.add foo 3456
160913
160914       salt.modules.pw_group.adduser(name, username)
160915              Add a user in the group.
160916
160917              CLI Example:
160918
160919                 salt '*' group.adduser foo bar
160920
160921              Verifies if a valid username 'bar' as a member  of  an  existing
160922              group 'foo', if not then adds it.
160923
160924       salt.modules.pw_group.chgid(name, gid)
160925              Change the gid for a named group
160926
160927              CLI Example:
160928
160929                 salt '*' group.chgid foo 4376
160930
160931       salt.modules.pw_group.delete(name)
160932              Remove the named group
160933
160934              CLI Example:
160935
160936                 salt '*' group.delete foo
160937
160938       salt.modules.pw_group.deluser(name, username)
160939              Remove a user from the group.
160940
160941              CLI Example:
160942
160943                 salt '*' group.deluser foo bar
160944
160945              Removes  a member user 'bar' from a group 'foo'. If group is not
160946              present then returns True.
160947
160948       salt.modules.pw_group.getent(refresh=False)
160949              Return info on all groups
160950
160951              CLI Example:
160952
160953                 salt '*' group.getent
160954
160955       salt.modules.pw_group.info(name)
160956              Return information about a group
160957
160958              CLI Example:
160959
160960                 salt '*' group.info foo
160961
160962       salt.modules.pw_group.members(name, members_list)
160963              Replaces members of the group with a provided list.
160964
160965              New in version 2015.5.4.
160966
160967
160968              CLI Example:
160969                 salt '*' group.members foo 'user1,user2,user3,...'
160970
160971              Replaces a membership list for a local group 'foo'.
160972                     foo:x:1234:user1,user2,user3,...
160973
160974   salt.modules.pw_user
160975       Manage users with the pw command
160976
160977       IMPORTANT:
160978          If you feel that Salt should be using this module to manage users on
160979          a minion, and it is using a different module (or gives an error sim‐
160980          ilar to 'user.info' is not available), see here.
160981
160982       salt.modules.pw_user.add(name,   uid=None,    gid=None,    groups=None,
160983       home=None, shell=None, unique=True, fullname=u'', roomnumber=u'', work‐
160984       phone=u'', homephone=u'', createhome=True, loginclass=None, **kwargs)
160985              Add a user to the minion
160986
160987              CLI Example:
160988
160989                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
160990
160991       salt.modules.pw_user.chfullname(name, fullname)
160992              Change the user's Full Name
160993
160994              CLI Example:
160995
160996                 salt '*' user.chfullname foo "Foo Bar"
160997
160998       salt.modules.pw_user.chgid(name, gid)
160999              Change the default group of the user
161000
161001              CLI Example:
161002
161003                 salt '*' user.chgid foo 4376
161004
161005       salt.modules.pw_user.chgroups(name, groups, append=False)
161006              Change the groups to which a user belongs
161007
161008              name   Username to modify
161009
161010              groups List of groups to set for the user. Can be  passed  as  a
161011                     comma-separated list or a Python list.
161012
161013              append False  Set  to  True to append these groups to the user's
161014                     existing list of groups. Otherwise, the specified  groups
161015                     will replace any existing groups for the user.
161016
161017              CLI Example:
161018
161019                 salt '*' user.chgroups foo wheel,root True
161020
161021       salt.modules.pw_user.chhome(name, home, persist=False)
161022              Set a new home directory for an existing user
161023
161024              name   Username to modify
161025
161026              home   New home directory to set
161027
161028              persist
161029                     False  Set  to True to prevent configuration files in the
161030                     new home directory from being overwritten  by  the  files
161031                     from the skeleton directory.
161032
161033              CLI Example:
161034
161035                 salt '*' user.chhome foo /home/users/foo True
161036
161037       salt.modules.pw_user.chhomephone(name, homephone)
161038              Change the user's Home Phone
161039
161040              CLI Example:
161041
161042                 salt '*' user.chhomephone foo "7735551234"
161043
161044       salt.modules.pw_user.chloginclass(name, loginclass, root=None)
161045              Change the default login class of the user
161046
161047              New in version 2016.3.5.
161048
161049
161050              CLI Example:
161051
161052                 salt '*' user.chloginclass foo staff
161053
161054       salt.modules.pw_user.chroomnumber(name, roomnumber)
161055              Change the user's Room Number
161056
161057              CLI Example:
161058
161059                 salt '*' user.chroomnumber foo 123
161060
161061       salt.modules.pw_user.chshell(name, shell)
161062              Change the default shell of the user
161063
161064              CLI Example:
161065
161066                 salt '*' user.chshell foo /bin/zsh
161067
161068       salt.modules.pw_user.chuid(name, uid)
161069              Change the uid for a named user
161070
161071              CLI Example:
161072
161073                 salt '*' user.chuid foo 4376
161074
161075       salt.modules.pw_user.chworkphone(name, workphone)
161076              Change the user's Work Phone
161077
161078              CLI Example:
161079
161080                 salt '*' user.chworkphone foo "7735550123"
161081
161082       salt.modules.pw_user.delete(name, remove=False, force=False)
161083              Remove a user from the minion
161084
161085              CLI Example:
161086
161087                 salt '*' user.delete name remove=True force=True
161088
161089       salt.modules.pw_user.get_loginclass(name)
161090              Get the login class of the user
161091
161092              New in version 2016.3.0.
161093
161094
161095              CLI Example:
161096
161097                 salt '*' user.get_loginclass foo
161098
161099       salt.modules.pw_user.getent(refresh=False)
161100              Return the list of all info for all users
161101
161102              CLI Example:
161103
161104                 salt '*' user.getent
161105
161106       salt.modules.pw_user.info(name)
161107              Return user information
161108
161109              CLI Example:
161110
161111                 salt '*' user.info root
161112
161113       salt.modules.pw_user.list_groups(name)
161114              Return a list of groups the named user belongs to
161115
161116              CLI Example:
161117
161118                 salt '*' user.list_groups foo
161119
161120       salt.modules.pw_user.list_users()
161121              Return a list of all users
161122
161123              CLI Example:
161124
161125                 salt '*' user.list_users
161126
161127       salt.modules.pw_user.rename(name, new_name)
161128              Change the username for a named user
161129
161130              CLI Example:
161131
161132                 salt '*' user.rename name new_name
161133
161134   salt.modules.pyenv
161135       Manage python installations with pyenv.
161136
161137       NOTE:
161138          Git  needs  to be installed and available via PATH if pyenv is to be
161139          installed automatically by the module.
161140
161141       New in version v2014.04.
161142
161143
161144       salt.modules.pyenv.default(python=None, runas=None)
161145              Returns or sets the currently defined default python.
161146
161147              python=None
161148                     The version to set as the default. Should  match  one  of
161149                     the  versions  listed  by  pyenv.versions. Leave blank to
161150                     return the current default.
161151
161152              CLI Example:
161153
161154                 salt '*' pyenv.default
161155                 salt '*' pyenv.default 2.0.0-p0
161156
161157       salt.modules.pyenv.do(cmdline=None, runas=None)
161158              Execute a python command with pyenv's shims from the user or the
161159              system.
161160
161161              CLI Example:
161162
161163                 salt '*' pyenv.do 'gem list bundler'
161164                 salt '*' pyenv.do 'gem list bundler' deploy
161165
161166       salt.modules.pyenv.do_with_python(python, cmdline, runas=None)
161167              Execute  a  python  command  with pyenv's shims using a specific
161168              python version.
161169
161170              CLI Example:
161171
161172                 salt '*' pyenv.do_with_python 2.0.0-p0 'gem list bundler'
161173                 salt '*' pyenv.do_with_python 2.0.0-p0 'gem list bundler' deploy
161174
161175       salt.modules.pyenv.install(runas=None, path=None)
161176              Install pyenv systemwide
161177
161178              CLI Example:
161179
161180                 salt '*' pyenv.install
161181
161182       salt.modules.pyenv.install_python(python, runas=None)
161183              Install a python implementation.
161184
161185              python The version of python to install, should match one of the
161186                     versions listed by pyenv.list
161187
161188              CLI Example:
161189
161190                 salt '*' pyenv.install_python 2.0.0-p0
161191
161192       salt.modules.pyenv.is_installed(runas=None)
161193              Check if pyenv is installed.
161194
161195              CLI Example:
161196
161197                 salt '*' pyenv.is_installed
161198
161199       salt.modules.pyenv.list_(runas=None)
161200              List the installable versions of python.
161201
161202              CLI Example:
161203
161204                 salt '*' pyenv.list
161205
161206       salt.modules.pyenv.rehash(runas=None)
161207              Run pyenv rehash to update the installed shims.
161208
161209              CLI Example:
161210
161211                 salt '*' pyenv.rehash
161212
161213       salt.modules.pyenv.uninstall_python(python, runas=None)
161214              Uninstall a python implementation.
161215
161216              python The  version  of python to uninstall. Should match one of
161217                     the versions listed by pyenv.versions
161218
161219              CLI Example:
161220
161221                 salt '*' pyenv.uninstall_python 2.0.0-p0
161222
161223       salt.modules.pyenv.update(runas=None, path=None)
161224              Updates the current versions of pyenv and python-Build
161225
161226              CLI Example:
161227
161228                 salt '*' pyenv.update
161229
161230       salt.modules.pyenv.versions(runas=None)
161231              List the installed versions of python.
161232
161233              CLI Example:
161234
161235                 salt '*' pyenv.versions
161236
161237   salt.modules.qemu_img
161238   Qemu-img Command Wrapper
161239       The qemu img command is wrapped for specific functions
161240
161241       depends
161242              qemu-img
161243
161244       salt.modules.qemu_img.convert(orig, dest, fmt)
161245              Convert an existing disk image to another format using qemu-img
161246
161247              CLI Example:
161248
161249                 salt '*' qemu_img.convert /path/to/original.img /path/to/new.img qcow2
161250
161251       salt.modules.qemu_img.make_image(location, size, fmt)
161252              Create a blank virtual machine image file of the specified  size
161253              in  megabytes.  The image can be created in any format supported
161254              by qemu
161255
161256              CLI Example:
161257
161258                 salt '*' qemu_img.make_image /tmp/image.qcow 2048 qcow2
161259                 salt '*' qemu_img.make_image /tmp/image.raw 10240 raw
161260
161261   salt.modules.qemu_nbd
161262       Qemu Command Wrapper
161263
161264       The qemu system  comes  with  powerful  tools,  such  as  qemu-img  and
161265       qemu-nbd which are used here to build up kvm images.
161266
161267       salt.modules.qemu_nbd.clear(mnt)
161268              Pass in the mnt dict returned from nbd_mount to unmount and dis‐
161269              connect the image  from  nbd.  If  all  of  the  partitions  are
161270              unmounted return an empty dict, otherwise return a dict contain‐
161271              ing the still mounted partitions
161272
161273              CLI Example:
161274
161275                 salt '*' qemu_nbd.clear '{"/mnt/foo": "/dev/nbd0p1"}'
161276
161277       salt.modules.qemu_nbd.connect(image)
161278              Activate nbd for an image file.
161279
161280              CLI Example:
161281
161282                 salt '*' qemu_nbd.connect /tmp/image.raw
161283
161284       salt.modules.qemu_nbd.init(image, root=None)
161285              Mount the named image via qemu-nbd and return the mounted roots
161286
161287              CLI Example:
161288
161289                 salt '*' qemu_nbd.init /srv/image.qcow2
161290
161291       salt.modules.qemu_nbd.mount(nbd, root=None)
161292              Pass in the nbd connection device location, mount all partitions
161293              and return a dict of mount points
161294
161295              CLI Example:
161296
161297                 salt '*' qemu_nbd.mount /dev/nbd0
161298
161299   salt.modules.quota
161300       Module for managing quotas on POSIX-like systems.
161301
161302       salt.modules.quota.get_mode(device)
161303              Report whether the quota system for this device is on or off
161304
161305              CLI Example:
161306
161307                 salt '*' quota.get_mode
161308
161309       salt.modules.quota.off(device)
161310              Turns off the quota system
161311
161312              CLI Example:
161313
161314                 salt '*' quota.off
161315
161316       salt.modules.quota.on(device)
161317              Turns on the quota system
161318
161319              CLI Example:
161320
161321                 salt '*' quota.on
161322
161323       salt.modules.quota.report(mount)
161324              Report on quotas for a specific volume
161325
161326              CLI Example:
161327
161328                 salt '*' quota.report /media/data
161329
161330       salt.modules.quota.set_(device, **kwargs)
161331              Calls out to setquota, for a specific user or group
161332
161333              CLI Example:
161334
161335                 salt '*' quota.set /media/data user=larry block-soft-limit=1048576
161336                 salt '*' quota.set /media/data group=painters file-hard-limit=1000
161337
161338       salt.modules.quota.stats()
161339              Runs the quotastats command, and returns the parsed output
161340
161341              CLI Example:
161342
161343                 salt '*' quota.stats
161344
161345       salt.modules.quota.warn()
161346              Runs  the warnquota command, to send warning emails to users who
161347              are over their quota limit.
161348
161349              CLI Example:
161350
161351                 salt '*' quota.warn
161352
161353   salt.modules.rabbitmq
161354       Module to provide RabbitMQ compatibility to Salt.  Todo: A lot, need to
161355       add cluster support, logging, and minion configuration data.
161356
161357       salt.modules.rabbitmq.add_user(name, password=None, runas=None)
161358              Add a rabbitMQ user via rabbitmqctl user_add <user> <password>
161359
161360              CLI Example:
161361
161362                 salt '*' rabbitmq.add_user rabbit_user password
161363
161364       salt.modules.rabbitmq.add_vhost(vhost, runas=None)
161365              Adds a vhost via rabbitmqctl add_vhost.
161366
161367              CLI Example:
161368
161369                 salt '*' rabbitmq add_vhost '<vhost_name>'
161370
161371       salt.modules.rabbitmq.change_password(name, password, runas=None)
161372              Changes a user's password.
161373
161374              CLI Example:
161375
161376                 salt '*' rabbitmq.change_password rabbit_user password
161377
161378       salt.modules.rabbitmq.check_password(name, password, runas=None)
161379              New in version 2016.3.0.
161380
161381
161382              Checks if a user's password is valid.
161383
161384              CLI Example:
161385
161386                 salt '*' rabbitmq.check_password rabbit_user password
161387
161388       salt.modules.rabbitmq.clear_password(name, runas=None)
161389              Removes a user's password.
161390
161391              CLI Example:
161392
161393                 salt '*' rabbitmq.clear_password rabbit_user
161394
161395       salt.modules.rabbitmq.cluster_status(runas=None)
161396              return rabbitmq cluster_status
161397
161398              CLI Example:
161399
161400                 salt '*' rabbitmq.cluster_status
161401
161402       salt.modules.rabbitmq.delete_policy(vhost, name, runas=None)
161403              Delete a policy based on rabbitmqctl clear_policy.
161404
161405              Reference: http://www.rabbitmq.com/ha.html
161406
161407              CLI Example:
161408
161409                 salt '*' rabbitmq.delete_policy / HA
161410
161411       salt.modules.rabbitmq.delete_upstream(name, runas=None)
161412              Deletes an upstream via rabbitmqctl clear_parameter.
161413
161414              Parameters
161415
161416                     · name (str) -- The name of the upstream to delete.
161417
161418                     · runas  (str) -- The name of the user to run the command
161419                       as.
161420
161421              CLI Example:
161422
161423                 salt '*' rabbitmq.delete_upstream upstream_name
161424
161425              New in version 3000.
161426
161427
161428       salt.modules.rabbitmq.delete_user(name, runas=None)
161429              Deletes a user via rabbitmqctl delete_user.
161430
161431              CLI Example:
161432
161433                 salt '*' rabbitmq.delete_user rabbit_user
161434
161435       salt.modules.rabbitmq.delete_vhost(vhost, runas=None)
161436              Deletes a vhost rabbitmqctl delete_vhost.
161437
161438              CLI Example:
161439
161440                 salt '*' rabbitmq.delete_vhost '<vhost_name>'
161441
161442       salt.modules.rabbitmq.disable_plugin(name, runas=None)
161443              Disable a RabbitMQ plugin via the rabbitmq-plugins command.
161444
161445              CLI Example:
161446
161447                 salt '*' rabbitmq.disable_plugin foo
161448
161449       salt.modules.rabbitmq.enable_plugin(name, runas=None)
161450              Enable a RabbitMQ plugin via the rabbitmq-plugins command.
161451
161452              CLI Example:
161453
161454                 salt '*' rabbitmq.enable_plugin foo
161455
161456       salt.modules.rabbitmq.force_reset(runas=None)
161457              Forcefully Return a RabbitMQ node to its virgin state
161458
161459              CLI Example:
161460
161461                 salt '*' rabbitmq.force_reset
161462
161463       salt.modules.rabbitmq.join_cluster(host, user=u'rabbit', ram_node=None,
161464       runas=None)
161465              Join a rabbit cluster
161466
161467              CLI Example:
161468
161469                 salt '*' rabbitmq.join_cluster rabbit.example.com rabbit
161470
161471       salt.modules.rabbitmq.list_available_plugins(runas=None)
161472              Returns  a  list  of the names of all available plugins (enabled
161473              and disabled).
161474
161475              CLI Example:
161476
161477                 salt '*' rabbitmq.list_available_plugins
161478
161479       salt.modules.rabbitmq.list_enabled_plugins(runas=None)
161480              Returns a list of the names of the enabled plugins.
161481
161482              CLI Example:
161483
161484                 salt '*' rabbitmq.list_enabled_plugins
161485
161486       salt.modules.rabbitmq.list_permissions(vhost, runas=None)
161487              Lists permissions for vhost via rabbitmqctl list_permissions
161488
161489              CLI Example:
161490
161491                 salt '*' rabbitmq.list_permissions /myvhost
161492
161493       salt.modules.rabbitmq.list_policies(vhost=u'/', runas=None)
161494              Return a dictionary of policies nested by vhost and  name  based
161495              on the data returned from rabbitmqctl list_policies.
161496
161497              Reference: http://www.rabbitmq.com/ha.html
161498
161499              CLI Example:
161500
161501                 salt '*' rabbitmq.list_policies
161502
161503       salt.modules.rabbitmq.list_queues(runas=None, *args)
161504              Returns queue details of the / virtual host
161505
161506              CLI Example:
161507
161508                 salt '*' rabbitmq.list_queues messages consumers
161509
161510       salt.modules.rabbitmq.list_queues_vhost(vhost, runas=None, *args)
161511              Returns  queue  details  of specified virtual host. This command
161512              will consider first parameter as the vhost name and rest will be
161513              treated  as  queueinfoitem.  For getting details on vhost /, use
161514              list_queues instead).
161515
161516              CLI Example:
161517
161518                 salt '*' rabbitmq.list_queues messages consumers
161519
161520       salt.modules.rabbitmq.list_upstreams(runas=None)
161521              Returns a dict of upstreams based  on  rabbitmqctl  list_parame‐
161522              ters.
161523
161524              Parameters
161525                     runas  (str)  -- The name of the user to run this command
161526                     as.
161527
161528              CLI Example:
161529
161530                 salt '*' rabbitmq.list_upstreams
161531
161532              New in version 3000.
161533
161534
161535       salt.modules.rabbitmq.list_user_permissions(name, runas=None)
161536              List permissions for a user  via  rabbitmqctl  list_user_permis‐
161537              sions
161538
161539              CLI Example:
161540
161541                 salt '*' rabbitmq.list_user_permissions user
161542
161543       salt.modules.rabbitmq.list_users(runas=None)
161544              Return a list of users based off of rabbitmqctl user_list.
161545
161546              CLI Example:
161547
161548                 salt '*' rabbitmq.list_users
161549
161550       salt.modules.rabbitmq.list_vhosts(runas=None)
161551              Return a list of vhost based on rabbitmqctl list_vhosts.
161552
161553              CLI Example:
161554
161555                 salt '*' rabbitmq.list_vhosts
161556
161557       salt.modules.rabbitmq.plugin_is_enabled(name, runas=None)
161558              Return whether the plugin is enabled.
161559
161560              CLI Example:
161561
161562                 salt '*' rabbitmq.plugin_is_enabled rabbitmq_plugin_name
161563
161564       salt.modules.rabbitmq.policy_exists(vhost, name, runas=None)
161565              Return whether the policy exists based on rabbitmqctl list_poli‐
161566              cies.
161567
161568              Reference: http://www.rabbitmq.com/ha.html
161569
161570              CLI Example:
161571
161572                 salt '*' rabbitmq.policy_exists / HA
161573
161574       salt.modules.rabbitmq.reset(runas=None)
161575              Return a RabbitMQ node to its virgin state
161576
161577              CLI Example:
161578
161579                 salt '*' rabbitmq.reset
161580
161581       salt.modules.rabbitmq.set_permissions(vhost,     user,      conf=u'.*',
161582       write=u'.*', read=u'.*', runas=None)
161583              Sets permissions for vhost via rabbitmqctl set_permissions
161584
161585              CLI Example:
161586
161587                 salt '*' rabbitmq.set_permissions myvhost myuser
161588
161589       salt.modules.rabbitmq.set_policy(vhost, name, pattern, definition, pri‐
161590       ority=None, runas=None, apply_to=None)
161591              Set a policy based on rabbitmqctl set_policy.
161592
161593              Reference: http://www.rabbitmq.com/ha.html
161594
161595              CLI Example:
161596
161597                 salt '*' rabbitmq.set_policy / HA '.*' '{"ha-mode":"all"}'
161598
161599       salt.modules.rabbitmq.set_upstream(name,   uri,    prefetch_count=None,
161600       reconnect_delay=None, ack_mode=None, trust_user_id=None, exchange=None,
161601       max_hops=None,    expires=None,    message_ttl=None,    ha_policy=None,
161602       queue=None, runas=None)
161603              Configures  an  upstream via rabbitmqctl set_parameter. This can
161604              be an exchange-upstream, a queue-upstream or both.
161605
161606              Parameters
161607                     name (str) -- The name of the upstream to configure.
161608
161609              The following parameters apply to federated exchanges and feder‐
161610              ated queues:
161611
161612              Parameters
161613
161614                     · uri (str) -- The AMQP URI(s) for the upstream.
161615
161616                     · prefetch_count  (int)  --  The  maximum number of unac‐
161617                       knowledged messages copied over a link at any one time.
161618                       Default: 1000
161619
161620                     · reconnect_delay  (int)  -- The duration (in seconds) to
161621                       wait before reconnecting to the broker after being dis‐
161622                       connected. Default: 1
161623
161624                     · ack_mode  (str)  --  Determines  how  the  link  should
161625                       acknowledge  messages.   If  set  to  on-confirm   (the
161626                       default),  messages  are  acknowledged  to the upstream
161627                       broker after they have been confirmed downstream.  This
161628                       handles network errors and broker failures without los‐
161629                       ing messages, and is the slowest  option.   If  set  to
161630                       on-publish,  messages  are acknowledged to the upstream
161631                       broker after they have been published downstream.  This
161632                       handles network errors without losing messages, but may
161633                       lose messages in the event of broker failures.  If  set
161634                       to  no-ack, message acknowledgements are not used. This
161635                       is the fastest option, but may  lose  messages  in  the
161636                       event of network or broker failures.
161637
161638                     · trust_user_id   (bool)  --  Determines  how  federation
161639                       should interact with the validated user-id feature.  If
161640                       set to true, federation will pass through any validated
161641                       user-id from the upstream, even though it cannot  vali‐
161642                       date  it  itself.  If  set to false or not set, it will
161643                       clear any validated user-id it encounters.  You  should
161644                       only  set this to true if you trust the upstream server
161645                       (and by extension, all  its  upstreams)  not  to  forge
161646                       user-ids.
161647
161648              The following parameters apply to federated exchanges only:
161649
161650              Parameters
161651
161652                     · exchange  (str)  --  The name of the upstream exchange.
161653                       Default is to  use  the  same  name  as  the  federated
161654                       exchange.
161655
161656                     · max_hops  (int)  --  The  maximum  number of federation
161657                       links that a message published to a federated  exchange
161658                       can  traverse  before  it  is discarded.  Default is 1.
161659                       Note that even if max-hops is set to  a  value  greater
161660                       than  1,  messages will never visit the same node twice
161661                       due to travelling in a  loop.   However,  messages  may
161662                       still  be  duplicated  if  it  is  possible for them to
161663                       travel from the source to the destination via  multiple
161664                       routes.
161665
161666                     · expires  (int)  --  The  expiry  time (in milliseconds)
161667                       after which an upstream queue for a federated  exchange
161668                       may  be deleted, if a connection to the upstream broker
161669                       is lost. The  default  is  'none',  meaning  the  queue
161670                       should  never  expire.   This setting controls how long
161671                       the upstream queue will last before it is eligible  for
161672                       deletion if the connection is lost.  This value is used
161673                       to set the "x-expires" argument for the upstream queue.
161674
161675                     · message_ttl (int) -- The expiry time  for  messages  in
161676                       the  upstream  queue  for  a  federated  exchange  (see
161677                       expires), in milliseconds.  Default  is  None,  meaning
161678                       messages  should  never  expire. This does not apply to
161679                       federated queues.   This  value  is  used  to  set  the
161680                       "x-message-ttl" argument for the upstream queue.
161681
161682                     · ha_policy  (str)  -- Determines the "x-ha-policy" argu‐
161683                       ment for the upstream queue for  a  federated  exchange
161684                       (see expires). This is only of interest when connecting
161685                       to old brokers which determine queue HA mode using this
161686                       argument. Default is None, meaning the queue is not HA.
161687
161688              The following parameter applies to federated queues only:
161689
161690              Parameters
161691
161692                     · queue  (str) -- The name of the upstream queue. Default
161693                       is to use the same name as the federated queue.
161694
161695                     · runas (str) -- The name of the user to run the  command
161696                       as.
161697
161698              CLI Example:
161699
161700                 salt '*' rabbitmq.set_upstream upstream_name ack_mode=on-confirm max_hops=1             trust_user_id=True uri=amqp://hostname
161701
161702              New in version 3000.
161703
161704
161705       salt.modules.rabbitmq.set_user_tags(name, tags, runas=None)
161706              Add user tags via rabbitmqctl set_user_tags
161707
161708              CLI Example:
161709
161710                 salt '*' rabbitmq.set_user_tags myadmin administrator
161711
161712       salt.modules.rabbitmq.start_app(runas=None)
161713              Start the RabbitMQ application.
161714
161715              CLI Example:
161716
161717                 salt '*' rabbitmq.start_app
161718
161719       salt.modules.rabbitmq.status(runas=None)
161720              return rabbitmq status
161721
161722              CLI Example:
161723
161724                 salt '*' rabbitmq.status
161725
161726       salt.modules.rabbitmq.stop_app(runas=None)
161727              Stops the RabbitMQ application, leaving the Erlang node running.
161728
161729              CLI Example:
161730
161731                 salt '*' rabbitmq.stop_app
161732
161733       salt.modules.rabbitmq.upstream_exists(name, runas=None)
161734              Return   whether   the   upstreamexists   based  on  rabbitmqctl
161735              list_parameters.
161736
161737              Parameters
161738
161739                     · name (str) -- The name of the upstream to check for.
161740
161741                     · runas (str) -- The name of the user to run the  command
161742                       as.
161743
161744              CLI Example:
161745
161746                 salt '*' rabbitmq.upstream_exists rabbit_upstream
161747
161748              New in version 3000.
161749
161750
161751       salt.modules.rabbitmq.user_exists(name, runas=None)
161752              Return whether the user exists based on rabbitmqctl list_users.
161753
161754              CLI Example:
161755
161756                 salt '*' rabbitmq.user_exists rabbit_user
161757
161758       salt.modules.rabbitmq.vhost_exists(name, runas=None)
161759              Return   whether   the   vhost   exists   based  on  rabbitmqctl
161760              list_vhosts.
161761
161762              CLI Example:
161763
161764                 salt '*' rabbitmq.vhost_exists rabbit_host
161765
161766   salt.modules.rallydev
161767       Support for RallyDev
161768
161769       New in version 2015.8.0.
161770
161771
161772       Requires a username and a password in /etc/salt/minion:
161773
161774          rallydev:
161775            username: myuser@example.com
161776            password: 123pass
161777
161778       salt.modules.rallydev.list_items(name)
161779              List items of a particular type
161780
161781              CLI Examples:
161782
161783                 salt myminion rallydev.list_<item name>s
161784                 salt myminion rallydev.list_users
161785                 salt myminion rallydev.list_artifacts
161786
161787       salt.modules.rallydev.list_users()
161788              List the users
161789
161790              CLI Example:
161791
161792                 salt myminion rallydev.list_users
161793
161794       salt.modules.rallydev.query_item(name, query_string, order=u'Rank')
161795              Query a type of record for one or more items. Requires  a  valid
161796              query                        string.                         See
161797              https://rally1.rallydev.com/slm/doc/webservice/introduction.jsp
161798              for information on query syntax.
161799
161800              CLI Example:
161801
161802                 salt myminion rallydev.query_<item name> <query string> [<order>]
161803                 salt myminion rallydev.query_task '(Name contains github)'
161804                 salt myminion rallydev.query_task '(Name contains reactor)' Rank
161805
161806       salt.modules.rallydev.query_user(query_string, order=u'UserName')
161807              Update a user
161808
161809              CLI Example:
161810
161811                 salt myminion rallydev.query_user '(Name contains Jo)'
161812
161813       salt.modules.rallydev.show_artifact(id_)
161814              Show an artifact
161815
161816              CLI Example:
161817
161818                 salt myminion rallydev.show_artifact <artifact id>
161819
161820       salt.modules.rallydev.show_item(name, id_)
161821              Show an item
161822
161823              CLI Example:
161824
161825                 salt myminion rallydev.show_<item name> <item id>
161826
161827       salt.modules.rallydev.show_user(id_)
161828              Show a user
161829
161830              CLI Example:
161831
161832                 salt myminion rallydev.show_user <user id>
161833
161834       salt.modules.rallydev.update_item(name,  id_,  field=None,  value=None,
161835       postdata=None)
161836              Update an item. Either a field and a value, or a chunk  of  POST
161837              data, may be used, but not both.
161838
161839              CLI Example:
161840
161841                 salt myminion rallydev.update_<item name> <item id> field=<field> value=<value>
161842                 salt myminion rallydev.update_<item name> <item id> postdata=<post data>
161843
161844       salt.modules.rallydev.update_user(id_, field, value)
161845              Update a user
161846
161847              CLI Example:
161848
161849                 salt myminion rallydev.update_user <user id> <field> <new value>
161850
161851   salt.modules.random_org
161852       Module for retrieving random information from Random.org
161853
161854       New in version 2015.5.0.
161855
161856
161857       configuration
161858              This module can be used by either passing an api key and version
161859              directly or by specifying both in a configuration profile in the
161860              salt master/minion config.
161861
161862              For example:
161863
161864                 random_org:
161865                   api_key: 7be1402d-5719-5bd3-a306-3def9f135da5
161866                   api_version: 1
161867
161868       salt.modules.random_org.generateBlobs(api_key=None,   api_version=None,
161869       **kwargs)
161870              List all Slack users.
161871
161872              Parameters
161873
161874                     · api_key -- The Random.org api key.
161875
161876                     · api_version -- The Random.org api version.
161877
161878                     · format -- Specifies the format in which the blobs  will
161879                       be returned. Values allowed are base64 and hex.
161880
161881              Returns
161882                     The user list.
161883
161884              CLI Example:
161885
161886                 salt '*' get_integers number=5 min=1 max=6
161887
161888                 salt '*' get_integers number=5 min=1 max=6
161889
161890       salt.modules.random_org.generateDecimalFractions(api_key=None, api_ver‐
161891       sion=None, **kwargs)
161892              Generates true random decimal fractions
161893
161894              Parameters
161895
161896                     · api_key -- The Random.org api key.
161897
161898                     · api_version -- The Random.org api version.
161899
161900                     · number -- How many random decimal fractions  you  need.
161901                       Must be within the [1,1e4] range.
161902
161903                     · decimalPlaces  --  The number of decimal places to use.
161904                       Must be within the [1,20] range.
161905
161906                     · replacement -- Specifies  whether  the  random  numbers
161907                       should  be  picked with replacement. The default (true)
161908                       will cause the numbers to be picked  with  replacement,
161909                       i.e.,  the resulting numbers may contain duplicate val‐
161910                       ues (like a series of dice rolls). If you want the num‐
161911                       bers  picked  to  be  unique (like raffle tickets drawn
161912                       from a container), set this value to false.
161913
161914              Returns
161915                     A list of decimal fraction
161916
161917              CLI Example:
161918
161919                 salt '*' random_org.generateDecimalFractions number=10 decimalPlaces=4
161920
161921                 salt '*' random_org.generateDecimalFractions number=10 decimalPlaces=4 replacement=True
161922
161923       salt.modules.random_org.generateGaussians(api_key=None,        api_ver‐
161924       sion=None, **kwargs)
161925              This  method  generates true random numbers from a Gaussian dis‐
161926              tribution (also known as a normal distribution).
161927
161928              Parameters
161929
161930                     · api_key -- The Random.org api key.
161931
161932                     · api_version -- The Random.org api version.
161933
161934                     · number -- How many random numbers you  need.   Must  be
161935                       within the [1,1e4] range.
161936
161937                     · mean  --  The  distribution's  mean. Must be within the
161938                       [-1e6,1e6] range.
161939
161940                     · standardDeviation -- The distribution's standard devia‐
161941                       tion. Must be within the [-1e6,1e6] range.
161942
161943                     · significantDigits  --  The number of significant digits
161944                       to use. Must be within the [2,20] range.
161945
161946              Returns
161947                     The user list.
161948
161949              CLI Example:
161950
161951                 salt '*' random_org.generateGaussians number=10 mean=0.0 standardDeviation=1.0 significantDigits=8
161952
161953       salt.modules.random_org.generateIntegers(api_key=None,         api_ver‐
161954       sion=None, **kwargs)
161955              Generate random integers
161956
161957              Parameters
161958
161959                     · api_key -- The Random.org api key.
161960
161961                     · api_version -- The Random.org api version.
161962
161963                     · number -- The number of integers to generate
161964
161965                     · minimum  -- The lower boundary for the range from which
161966                       the random numbers will be picked. Must be  within  the
161967                       [-1e9,1e9] range.
161968
161969                     · maximum  -- The upper boundary for the range from which
161970                       the random numbers will be picked. Must be  within  the
161971                       [-1e9,1e9] range.
161972
161973                     · replacement  --  Specifies  whether  the random numbers
161974                       should be picked with replacement. The  default  (true)
161975                       will  cause  the numbers to be picked with replacement,
161976                       i.e., the resulting numbers may contain duplicate  val‐
161977                       ues (like a series of dice rolls). If you want the num‐
161978                       bers picked to be unique  (like  raffle  tickets  drawn
161979                       from a container), set this value to false.
161980
161981                     · base -- Specifies the base that will be used to display
161982                       the numbers.  Values allowed are 2, 8, 10 and 16.  This
161983                       affects  the JSON types and formatting of the resulting
161984                       data as discussed below.
161985
161986              Returns
161987                     A list of integers.
161988
161989              CLI Example:
161990
161991                 salt '*' random_org.generateIntegers number=5 minimum=1 maximum=6
161992
161993                 salt '*' random_org.generateIntegers number=5 minimum=2 maximum=255 base=2
161994
161995       salt.modules.random_org.generateStrings(api_key=None, api_version=None,
161996       **kwargs)
161997              Generate random strings.
161998
161999              Parameters
162000
162001                     · api_key -- The Random.org api key.
162002
162003                     · api_version -- The Random.org api version.
162004
162005                     · number -- The number of strings to generate.
162006
162007                     · length -- The length of each string. Must be within the
162008                       [1,20] range. All strings will be of the same length
162009
162010                     · characters -- A string that contains the set of charac‐
162011                       ters  that  are allowed to occur in the random strings.
162012                       The maximum number of characters is 80.
162013
162014                     · replacement -- Specifies  whether  the  random  strings
162015                       should  be  picked with replacement. The default (true)
162016                       will cause the strings to be picked  with  replacement,
162017                       i.e.,  the resulting list of strings may contain dupli‐
162018                       cates (like a series of dice rolls). If  you  want  the
162019                       strings  to be unique (like raffle tickets drawn from a
162020                       container), set this value to false.
162021
162022              Returns
162023                     A list of strings.
162024
162025              CLI Example:
162026
162027                 salt '*' random_org.generateStrings number=5 length=8 characters='abcdefghijklmnopqrstuvwxyz'
162028
162029                 salt '*' random_org.generateStrings number=10 length=16 characters'abcdefghijklmnopqrstuvwxyz'
162030
162031       salt.modules.random_org.generateUUIDs(api_key=None,   api_version=None,
162032       **kwargs)
162033              Generate a list of random UUIDs
162034
162035              Parameters
162036
162037                     · api_key -- The Random.org api key.
162038
162039                     · api_version -- The Random.org api version.
162040
162041                     · number  --  How  many  random  UUIDs you need.  Must be
162042                       within the [1,1e3] range.
162043
162044              Returns
162045                     A list of UUIDs
162046
162047              CLI Example:
162048
162049                 salt '*' random_org.generateUUIDs number=5
162050
162051       salt.modules.random_org.getUsage(api_key=None, api_version=None)
162052              Show current usages statistics
162053
162054              Parameters
162055
162056                     · api_key -- The Random.org api key.
162057
162058                     · api_version -- The Random.org api version.
162059
162060              Returns
162061                     The current usage statistics.
162062
162063              CLI Example:
162064
162065                 salt '*' random_org.getUsage
162066
162067                 salt '*' random_org.getUsage api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_version=1
162068
162069   salt.modules.rbac_solaris
162070       Module for Solaris' Role-Based Access Control
162071
162072       salt.modules.rbac_solaris.auth_add(user, auth)
162073              Add authorization to user
162074
162075              user   string username
162076
162077              auth   string authorization name
162078
162079              CLI Example:
162080
162081                 salt '*' rbac.auth_add martine solaris.zone.manage
162082                 salt '*' rbac.auth_add martine solaris.zone.manage,solaris.mail.mailq
162083
162084       salt.modules.rbac_solaris.auth_get(user, computed=True)
162085              List authorization for user
162086
162087              user   string username
162088
162089              computed
162090                     boolean merge results from auths command into  data  from
162091                     user_attr
162092
162093              CLI Example:
162094
162095                 salt '*' rbac.auth_get leo
162096
162097       salt.modules.rbac_solaris.auth_list()
162098              List all available authorization
162099
162100              CLI Example:
162101
162102                 salt '*' rbac.auth_list
162103
162104       salt.modules.rbac_solaris.auth_rm(user, auth)
162105              Remove authorization from user
162106
162107              user   string username
162108
162109              auth   string authorization name
162110
162111              CLI Example:
162112
162113                 salt '*' rbac.auth_rm jorge solaris.zone.manage
162114                 salt '*' rbac.auth_rm jorge solaris.zone.manage,solaris.mail.mailq
162115
162116       salt.modules.rbac_solaris.profile_add(user, profile)
162117              Add profile to user
162118
162119              user   string username
162120
162121              profile
162122                     string profile name
162123
162124              CLI Example:
162125
162126                 salt '*' rbac.profile_add martine 'Primary Administrator'
162127                 salt '*' rbac.profile_add martine 'User Management,User Security'
162128
162129       salt.modules.rbac_solaris.profile_get(user, default_hidden=True)
162130              List profiles for user
162131
162132              user   string username
162133
162134              default_hidden
162135                     boolean hide default profiles
162136
162137              CLI Example:
162138
162139                 salt '*' rbac.profile_get leo
162140                 salt '*' rbac.profile_get leo default_hidden=False
162141
162142       salt.modules.rbac_solaris.profile_list(default_only=False)
162143              List all available profiles
162144
162145              default_only
162146                     boolean return only default profile
162147
162148              CLI Example:
162149
162150                 salt '*' rbac.profile_list
162151
162152       salt.modules.rbac_solaris.profile_rm(user, profile)
162153              Remove profile from user
162154
162155              user   string username
162156
162157              profile
162158                     string profile name
162159
162160              CLI Example:
162161
162162                 salt '*' rbac.profile_rm jorge 'Primary Administrator'
162163                 salt '*' rbac.profile_rm jorge 'User Management,User Security'
162164
162165       salt.modules.rbac_solaris.role_add(user, role)
162166              Add role to user
162167
162168              user   string username
162169
162170              role   string role name
162171
162172              CLI Example:
162173
162174                 salt '*' rbac.role_add martine netcfg
162175                 salt '*' rbac.role_add martine netcfg,zfssnap
162176
162177       salt.modules.rbac_solaris.role_get(user)
162178              List roles for user
162179
162180              user   string username
162181
162182              CLI Example:
162183
162184                 salt '*' rbac.role_get leo
162185
162186       salt.modules.rbac_solaris.role_list()
162187              List all available roles
162188
162189              CLI Example:
162190
162191                 salt '*' rbac.role_list
162192
162193       salt.modules.rbac_solaris.role_rm(user, role)
162194              Remove role from user
162195
162196              user   string username
162197
162198              role   string role name
162199
162200              CLI Example:
162201
162202                 salt '*' rbac.role_rm jorge netcfg
162203                 salt '*' rbac.role_rm jorge netcfg,zfssnap
162204
162205   salt.modules.rbenv
162206       Manage  ruby  installations with rbenv. rbenv is supported on Linux and
162207       macOS.  rbenv doesn't work on Windows (and isn't  really  necessary  on
162208       Windows as there is no system Ruby on Windows). On Windows, the RubyIn‐
162209       staller and/or Pik are both good alternatives  to  work  with  multiple
162210       versions of Ruby on the same box.
162211
162212       http://misheska.com/blog/2013/06/15/using-rbenv-to-manage-multiple-versions-of-ruby/
162213
162214       New in version 0.16.0.
162215
162216
162217       salt.modules.rbenv.default(ruby=None, runas=None)
162218              Returns or sets the currently defined default ruby
162219
162220              ruby   The version to set as the default. Should  match  one  of
162221                     the  versions  listed  by rbenv.versions.  Leave blank to
162222                     return the current default.
162223
162224              CLI Example:
162225
162226                 salt '*' rbenv.default
162227                 salt '*' rbenv.default 2.0.0-p0
162228
162229       salt.modules.rbenv.do(cmdline, runas=None, env=None)
162230              Execute a ruby command with rbenv's shims from the user  or  the
162231              system
162232
162233              CLI Example:
162234
162235                 salt '*' rbenv.do 'gem list bundler'
162236                 salt '*' rbenv.do 'gem list bundler' deploy
162237
162238       salt.modules.rbenv.do_with_ruby(ruby, cmdline, runas=None)
162239              Execute  a ruby command with rbenv's shims using a specific ruby
162240              version
162241
162242              CLI Example:
162243
162244                 salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler'
162245                 salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler' runas=deploy
162246
162247       salt.modules.rbenv.install(runas=None, path=None)
162248              Install rbenv systemwide
162249
162250              CLI Example:
162251
162252                 salt '*' rbenv.install
162253
162254       salt.modules.rbenv.install_ruby(ruby, runas=None)
162255              Install a ruby implementation.
162256
162257              ruby   The version of Ruby to install, should match one  of  the
162258                     versions listed by rbenv.list
162259
162260              runas  The user under which to run rbenv. If not specified, then
162261                     rbenv will be run as the user under which  Salt  is  run‐
162262                     ning.
162263
162264              Additional  environment  variables can be configured in pillar /
162265              grains / master:
162266
162267                 rbenv:
162268                   build_env: 'CONFIGURE_OPTS="--no-tcmalloc" CFLAGS="-fno-tree-dce"'
162269
162270              CLI Example:
162271
162272                 salt '*' rbenv.install_ruby 2.0.0-p0
162273
162274       salt.modules.rbenv.is_installed(runas=None)
162275              Check if rbenv is installed
162276
162277              CLI Example:
162278
162279                 salt '*' rbenv.is_installed
162280
162281       salt.modules.rbenv.list_(runas=None)
162282              List the installable versions of ruby
162283
162284              runas  The user under which to run rbenv. If not specified, then
162285                     rbenv  will  be  run as the user under which Salt is run‐
162286                     ning.
162287
162288              CLI Example:
162289
162290                 salt '*' rbenv.list
162291
162292       salt.modules.rbenv.rehash(runas=None)
162293              Run rbenv rehash to update the installed shims
162294
162295              runas  The user under which to run rbenv. If not specified, then
162296                     rbenv  will  be  run as the user under which Salt is run‐
162297                     ning.
162298
162299              CLI Example:
162300
162301                 salt '*' rbenv.rehash
162302
162303       salt.modules.rbenv.uninstall_ruby(ruby, runas=None)
162304              Uninstall a ruby implementation.
162305
162306              ruby   The version of ruby to uninstall. Should match one of the
162307                     versions listed by rbenv.versions.
162308
162309              runas  The user under which to run rbenv. If not specified, then
162310                     rbenv will be run as the user under which  Salt  is  run‐
162311                     ning.
162312
162313              CLI Example:
162314
162315                 salt '*' rbenv.uninstall_ruby 2.0.0-p0
162316
162317       salt.modules.rbenv.update(runas=None, path=None)
162318              Updates the current versions of rbenv and ruby-build
162319
162320              runas  The user under which to run rbenv. If not specified, then
162321                     rbenv will be run as the user under which  Salt  is  run‐
162322                     ning.
162323
162324              CLI Example:
162325
162326                 salt '*' rbenv.update
162327
162328       salt.modules.rbenv.versions(runas=None)
162329              List the installed versions of ruby
162330
162331              CLI Example:
162332
162333                 salt '*' rbenv.versions
162334
162335   salt.modules.rdp
162336       Manage RDP Service on Windows servers
162337
162338       salt.modules.rdp.disable()
162339              Disable RDP the service on the server
162340
162341              CLI Example:
162342
162343                 salt '*' rdp.disable
162344
162345       salt.modules.rdp.disconnect_session(session_id)
162346              Disconnect a session.
162347
162348              New in version 2016.11.0.
162349
162350
162351              Parameters
162352                     session_id -- The numeric Id of the session.
162353
162354              Returns
162355                     A boolean representing whether the disconnect succeeded.
162356
162357              CLI Example:
162358
162359                 salt '*' rdp.disconnect_session session_id
162360
162361                 salt '*' rdp.disconnect_session 99
162362
162363       salt.modules.rdp.enable()
162364              Enable RDP the service on the server
162365
162366              CLI Example:
162367
162368                 salt '*' rdp.enable
162369
162370       salt.modules.rdp.get_session(session_id)
162371              Get information about a session.
162372
162373              New in version 2016.11.0.
162374
162375
162376              Parameters
162377                     session_id -- The numeric Id of the session.
162378
162379              Returns
162380                     A dictionary of session information.
162381
162382              CLI Example:
162383
162384                 salt '*' rdp.get_session session_id
162385
162386                 salt '*' rdp.get_session 99
162387
162388       salt.modules.rdp.list_sessions(logged_in_users_only=False)
162389              List information about the sessions.
162390
162391              New in version 2016.11.0.
162392
162393
162394              Parameters
162395                     logged_in_users_only  --  If  True,  only return sessions
162396                     with users logged in.
162397
162398              Returns
162399                     A list containing dictionaries of session information.
162400
162401              CLI Example:
162402
162403                 salt '*' rdp.list_sessions
162404
162405       salt.modules.rdp.logoff_session(session_id)
162406              Initiate the logoff of a session.
162407
162408              New in version 2016.11.0.
162409
162410
162411              Parameters
162412                     session_id -- The numeric Id of the session.
162413
162414              Returns
162415                     A boolean representing whether the logoff succeeded.
162416
162417              CLI Example:
162418
162419                 salt '*' rdp.logoff_session session_id
162420
162421                 salt '*' rdp.logoff_session 99
162422
162423       salt.modules.rdp.status()
162424              Show if rdp is enabled on the server
162425
162426              CLI Example:
162427
162428                 salt '*' rdp.status
162429
162430   salt.modules.redis
162431       Module to provide redis functionality to Salt
162432
162433       New in version 2014.7.0.
162434
162435
162436       configuration
162437              This module requires the redis python module and uses  the  fol‐
162438              lowing defaults which may be overridden in the minion configura‐
162439              tion:
162440
162441          redis.host: 'salt'
162442          redis.port: 6379
162443          redis.db: 0
162444          redis.password: None
162445
162446       salt.modules.redismod.bgrewriteaof(host=None, port=None, db=None, pass‐
162447       word=None)
162448              Asynchronously rewrite the append-only file
162449
162450              CLI Example:
162451
162452                 salt '*' redis.bgrewriteaof
162453
162454       salt.modules.redismod.bgsave(host=None,   port=None,   db=None,   pass‐
162455       word=None)
162456              Asynchronously save the dataset to disk
162457
162458              CLI Example:
162459
162460                 salt '*' redis.bgsave
162461
162462       salt.modules.redismod.config_get(pattern=u'*',  host=None,   port=None,
162463       db=None, password=None)
162464              Get redis server configuration values
162465
162466              CLI Example:
162467
162468                 salt '*' redis.config_get
162469                 salt '*' redis.config_get port
162470
162471       salt.modules.redismod.config_set(name,   value,  host=None,  port=None,
162472       db=None, password=None)
162473              Set redis server configuration values
162474
162475              CLI Example:
162476
162477                 salt '*' redis.config_set masterauth luv_kittens
162478
162479       salt.modules.redismod.dbsize(host=None,   port=None,   db=None,   pass‐
162480       word=None)
162481              Return the number of keys in the selected database
162482
162483              CLI Example:
162484
162485                 salt '*' redis.dbsize
162486
162487       salt.modules.redismod.delete(*keys, **connection_args)
162488              Deletes the keys from redis, returns number of keys deleted
162489
162490              CLI Example:
162491
162492                 salt '*' redis.delete foo
162493
162494       salt.modules.redismod.exists(key,  host=None, port=None, db=None, pass‐
162495       word=None)
162496              Return true if the key exists in redis
162497
162498              CLI Example:
162499
162500                 salt '*' redis.exists foo
162501
162502       salt.modules.redismod.expire(key,   seconds,   host=None,    port=None,
162503       db=None, password=None)
162504              Set a keys time to live in seconds
162505
162506              CLI Example:
162507
162508                 salt '*' redis.expire foo 300
162509
162510       salt.modules.redismod.expireat(key,  timestamp,  host=None,  port=None,
162511       db=None, password=None)
162512              Set a keys expire at given UNIX time
162513
162514              CLI Example:
162515
162516                 salt '*' redis.expireat foo 1400000000
162517
162518       salt.modules.redismod.flushall(host=None,  port=None,  db=None,   pass‐
162519       word=None)
162520              Remove all keys from all databases
162521
162522              CLI Example:
162523
162524                 salt '*' redis.flushall
162525
162526       salt.modules.redismod.flushdb(host=None,   port=None,   db=None,  pass‐
162527       word=None)
162528              Remove all keys from the selected database
162529
162530              CLI Example:
162531
162532                 salt '*' redis.flushdb
162533
162534       salt.modules.redismod.get_key(key, host=None, port=None, db=None, pass‐
162535       word=None)
162536              Get redis key value
162537
162538              CLI Example:
162539
162540                 salt '*' redis.get_key foo
162541
162542       salt.modules.redismod.get_master_ip(host=None,     port=None,     pass‐
162543       word=None)
162544              Get host information about slave
162545
162546              CLI Example:
162547
162548                 salt '*' redis.get_master_ip
162549
162550       salt.modules.redismod.hdel(key, *fields, **options)
162551              Delete one of more hash fields.
162552
162553              New in version 2017.7.0.
162554
162555
162556              CLI Example:
162557
162558                 salt '*' redis.hdel foo_hash bar_field1 bar_field2
162559
162560       salt.modules.redismod.hexists(key,   field,    host=None,    port=None,
162561       db=None, password=None)
162562              Determine if a hash fields exists.
162563
162564              New in version 2017.7.0.
162565
162566
162567              CLI Example:
162568
162569                 salt '*' redis.hexists foo_hash bar_field
162570
162571       salt.modules.redismod.hget(key,  field,  host=None, port=None, db=None,
162572       password=None)
162573              Get specific field value from a redis hash, returns dict
162574
162575              CLI Example:
162576
162577                 salt '*' redis.hget foo_hash bar_field
162578
162579       salt.modules.redismod.hgetall(key, host=None, port=None, db=None, pass‐
162580       word=None)
162581              Get all fields and values from a redis hash, returns dict
162582
162583              CLI Example:
162584
162585                 salt '*' redis.hgetall foo_hash
162586
162587       salt.modules.redismod.hincrby(key,   field,   increment=1,   host=None,
162588       port=None, db=None, password=None)
162589              Increment the integer value of a hash field by the given number.
162590
162591              New in version 2017.7.0.
162592
162593
162594              CLI Example:
162595
162596                 salt '*' redis.hincrby foo_hash bar_field 5
162597
162598       salt.modules.redismod.hincrbyfloat(key,      field,      increment=1.0,
162599       host=None, port=None, db=None, password=None)
162600              Increment the float value of a hash field by the given number.
162601
162602              New in version 2017.7.0.
162603
162604
162605              CLI Example:
162606
162607                 salt '*' redis.hincrbyfloat foo_hash bar_field 5.17
162608
162609       salt.modules.redismod.hlen(key,  host=None,  port=None,  db=None, pass‐
162610       word=None)
162611              Returns number of fields of a hash.
162612
162613              New in version 2017.7.0.
162614
162615
162616              CLI Example:
162617
162618                 salt '*' redis.hlen foo_hash
162619
162620       salt.modules.redismod.hmget(key, *fields, **options)
162621              Returns the values of all the given hash fields.
162622
162623              New in version 2017.7.0.
162624
162625
162626              CLI Example:
162627
162628                 salt '*' redis.hmget foo_hash bar_field1 bar_field2
162629
162630       salt.modules.redismod.hmset(key, **fieldsvals)
162631              Sets multiple hash fields to multiple values.
162632
162633              New in version 2017.7.0.
162634
162635
162636              CLI Example:
162637
162638                 salt '*' redis.hmset foo_hash bar_field1=bar_value1 bar_field2=bar_value2
162639
162640       salt.modules.redismod.hscan(key,  cursor=0,   match=None,   count=None,
162641       host=None, port=None, db=None, password=None)
162642              Incrementally iterate hash fields and associated values.
162643
162644              New in version 2017.7.0.
162645
162646
162647              CLI Example:
162648
162649                 salt '*' redis.hscan foo_hash match='field_prefix_*' count=1
162650
162651       salt.modules.redismod.hset(key,  field,  value,  host=None,  port=None,
162652       db=None, password=None)
162653              Set the value of a hash field.
162654
162655              New in version 2017.7.0.
162656
162657
162658              CLI Example:
162659
162660                 salt '*' redis.hset foo_hash bar_field bar_value
162661
162662       salt.modules.redismod.hsetnx(key, field, value,  host=None,  port=None,
162663       db=None, password=None)
162664              Set the value of a hash field only if the field does not exist.
162665
162666              New in version 2017.7.0.
162667
162668
162669              CLI Example:
162670
162671                 salt '*' redis.hsetnx foo_hash bar_field bar_value
162672
162673       salt.modules.redismod.hvals(key,  host=None,  port=None, db=None, pass‐
162674       word=None)
162675              Return all the values in a hash.
162676
162677              New in version 2017.7.0.
162678
162679
162680              CLI Example:
162681
162682                 salt '*' redis.hvals foo_hash bar_field1 bar_value1
162683
162684       salt.modules.redismod.info(host=None,   port=None,    db=None,    pass‐
162685       word=None)
162686              Get information and statistics about the server
162687
162688              CLI Example:
162689
162690                 salt '*' redis.info
162691
162692       salt.modules.redismod.key_type(key,   host=None,   port=None,  db=None,
162693       password=None)
162694              Get redis key type
162695
162696              CLI Example:
162697
162698                 salt '*' redis.type foo
162699
162700       salt.modules.redismod.keys(pattern=u'*', host=None, port=None, db=None,
162701       password=None)
162702              Get redis keys, supports glob style patterns
162703
162704              CLI Example:
162705
162706                 salt '*' redis.keys
162707                 salt '*' redis.keys test*
162708
162709       salt.modules.redismod.lastsave(host=None,   port=None,  db=None,  pass‐
162710       word=None)
162711              Get the UNIX time in seconds of the last successful save to disk
162712
162713              CLI Example:
162714
162715                 salt '*' redis.lastsave
162716
162717       salt.modules.redismod.llen(key, host=None,  port=None,  db=None,  pass‐
162718       word=None)
162719              Get the length of a list in Redis
162720
162721              CLI Example:
162722
162723                 salt '*' redis.llen foo_list
162724
162725       salt.modules.redismod.lrange(key,  start,  stop,  host=None, port=None,
162726       db=None, password=None)
162727              Get a range of values from a list in Redis
162728
162729              CLI Example:
162730
162731                 salt '*' redis.lrange foo_list 0 10
162732
162733       salt.modules.redismod.ping(host=None,   port=None,    db=None,    pass‐
162734       word=None)
162735              Ping the server, returns False on connection errors
162736
162737              CLI Example:
162738
162739                 salt '*' redis.ping
162740
162741       salt.modules.redismod.save(host=None,    port=None,    db=None,   pass‐
162742       word=None)
162743              Synchronously save the dataset to disk
162744
162745              CLI Example:
162746
162747                 salt '*' redis.save
162748
162749       salt.modules.redismod.sentinel_get_master_ip(master,         host=None,
162750       port=None, password=None)
162751              Get ip for sentinel master
162752
162753              CLI Example:
162754
162755                 salt '*' redis.sentinel_get_master_ip 'mymaster'
162756
162757       salt.modules.redismod.set_key(key,    value,    host=None,   port=None,
162758       db=None, password=None)
162759              Set redis key value
162760
162761              CLI Example:
162762
162763                 salt '*' redis.set_key foo bar
162764
162765       salt.modules.redismod.shutdown(host=None,  port=None,  db=None,   pass‐
162766       word=None)
162767              Synchronously  save  the  dataset to disk and then shut down the
162768              server
162769
162770              CLI Example:
162771
162772                 salt '*' redis.shutdown
162773
162774       salt.modules.redismod.slaveof(master_host=None,       master_port=None,
162775       host=None, port=None, db=None, password=None)
162776              Make  the  server  a slave of another instance, or promote it as
162777              master
162778
162779              CLI Example:
162780
162781                 # Become slave of redis-n01.example.com:6379
162782                 salt '*' redis.slaveof redis-n01.example.com 6379
162783                 salt '*' redis.slaveof redis-n01.example.com
162784                 # Become master
162785                 salt '*' redis.slaveof
162786
162787       salt.modules.redismod.smembers(key,  host=None,   port=None,   db=None,
162788       password=None)
162789              Get members in a Redis set
162790
162791              CLI Example:
162792
162793                 salt '*' redis.smembers foo_set
162794
162795       salt.modules.redismod.time(host=None,    port=None,    db=None,   pass‐
162796       word=None)
162797              Return the current server UNIX time in seconds
162798
162799              CLI Example:
162800
162801                 salt '*' redis.time
162802
162803       salt.modules.redismod.zcard(key, host=None, port=None,  db=None,  pass‐
162804       word=None)
162805              Get the length of a sorted set in Redis
162806
162807              CLI Example:
162808
162809                 salt '*' redis.zcard foo_sorted
162810
162811       salt.modules.redismod.zrange(key,  start,  stop,  host=None, port=None,
162812       db=None, password=None)
162813              Get a range of values from a sorted set in Redis by index
162814
162815              CLI Example:
162816
162817                 salt '*' redis.zrange foo_sorted 0 10
162818
162819   salt.modules.reg
162820       Manage the Windows registry
162821
162822   Hives
162823       Hives are the main sections of the registry and all begin with the word
162824       HKEY.
162825
162826       · HKEY_LOCAL_MACHINE
162827
162828       · HKEY_CURRENT_USER
162829
162830       · HKEY_USER
162831
162832   Keys
162833       Keys  are  the  folders in the registry. Keys can have many nested sub‐
162834       keys. Keys can have a value assigned to them under the (Default)
162835
162836       When passing a key on the CLI it must be quoted correctly depending  on
162837       the  backslashes  being used (\ vs \\). The following are valid methods
162838       of passing the the key on the CLI:
162839
162840       Using single backslashes:
162841              "SOFTWARE\Python" 'SOFTWARE\Python' (will not work on a  Windows
162842              Master)
162843
162844       Using double backslashes:
162845              SOFTWARE\\Python
162846
162847   Values or Entries
162848       Values or Entries are the name/data pairs beneath the keys and subkeys.
162849       All keys have a default name/data pair. The name is  (Default)  with  a
162850       displayed value of (value not set). The actual value is Null.  Example
162851
162852       The  following example is an export from the Windows startup portion of
162853       the registry:
162854
162855          [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
162856          "RTHDVCPL"="\"C:\\Program Files\\Realtek\\Audio\\HDA\\RtkNGUI64.exe\" -s"
162857          "NvBackend"="\"C:\\Program Files (x86)\\NVIDIA Corporation\\Update Core\\NvBackend.exe\""
162858          "BTMTrayAgent"="rundll32.exe \"C:\\Program Files (x86)\\Intel\\Bluetooth\\btmshellex.dll\",TrayApp"
162859
162860       In this example these are the values for each:
162861
162862       Hive:  HKEY_LOCAL_MACHINE
162863
162864       Key and subkeys:
162865              SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
162866
162867       Value:
162868
162869              ·
162870
162871                There are 3 value names:
162872
162873                       · RTHDVCPL
162874
162875                       · NvBackend
162876
162877                       · BTMTrayAgent
162878
162879              · Each value name has a corresponding value
162880
162881       depends
162882
162883              · salt.utils.win_reg
162884
162885       salt.modules.reg.broadcast_change()
162886              Refresh the windows environment.
162887
162888              NOTE:
162889                 This will only effect new  processes  and  windows.  Services
162890                 will not see the change until the system restarts.
162891
162892              Returns
162893                     True if successful, otherwise False
162894
162895              Return type
162896                     bool
162897
162898              CLI Example:
162899
162900                     salt '*' reg.broadcast_change
162901
162902       salt.modules.reg.delete_key_recursive(hive,     key,     use_32bit_reg‐
162903       istry=False)
162904              New in version 2015.5.4.
162905
162906
162907              Delete a registry key to  include  all  subkeys  and  value/data
162908              pairs.
162909
162910              Parameters
162911                     hive (str) --
162912
162913                     The name of the hive. Can be one of the following
162914
162915                        · HKEY_LOCAL_MACHINE or HKLM
162916
162917                        · HKEY_CURRENT_USER or HKCU
162918
162919                        · HKEY_USER or HKU
162920
162921                        · HKEY_CLASSES_ROOT or HKCR
162922
162923                        · HKEY_CURRENT_CONFIG or HKCC
162924
162925                     key (str):
162926                            The key to remove (looks like a path)
162927
162928                     use_32bit_registry (bool):
162929                            Deletes the 32bit portion of the registry on 64bit
162930                            installations. On 32bit machines this is ignored.
162931
162932
162933              Returns
162934
162935                     A dictionary listing the keys that  deleted  successfully
162936                     as well as
162937                            those that failed to delete.
162938
162939
162940              Return type
162941                     dict
162942
162943              CLI Example:
162944                 The  following example will remove delete_me and all its sub‐
162945                 keys from the SOFTWARE key in HKEY_LOCAL_MACHINE:
162946
162947                     salt '*' reg.delete_key_recursive HKLM SOFTWARE\\delete_me
162948
162949       salt.modules.reg.delete_value(hive,  key,  vname=None,   use_32bit_reg‐
162950       istry=False)
162951              Delete a registry value entry or the default value for a key.
162952
162953              Parameters
162954
162955                     · hive (str) --
162956
162957                       The name of the hive. Can be one of the following
162958
162959                          · HKEY_LOCAL_MACHINE or HKLM
162960
162961                          · HKEY_CURRENT_USER or HKCU
162962
162963                          · HKEY_USER or HKU
162964
162965                          · HKEY_CLASSES_ROOT or HKCR
162966
162967                          · HKEY_CURRENT_CONFIG or HKCC
162968
162969
162970                     · key  (str)  -- The key (looks like a path) to the value
162971                       name.
162972
162973                     · vname (str) -- The value name. These are the individual
162974                       name/data  pairs  under the key. If not passed, the key
162975                       (Default) value will be deleted.
162976
162977                     · use_32bit_registry (bool) -- Deletes the 32bit  portion
162978                       of  the  registry  on  64bit  installations.  On  32bit
162979                       machines this is ignored.
162980
162981              Returns
162982                     True if successful, otherwise False
162983
162984              Return type
162985                     bool
162986
162987              CLI Example:
162988
162989                     salt '*' reg.delete_value HKEY_CURRENT_USER 'SOFTWARE\\Salt' 'version'
162990
162991       salt.modules.reg.import_file(source, use_32bit_registry=False)
162992              Import registry settings from a Windows  REG  file  by  invoking
162993              REG.EXE.
162994
162995              New in version 2018.3.0.
162996
162997
162998              Parameters
162999
163000                     · source (str) -- The full path of the REG file. This can
163001                       be either a local file path or a URL type supported  by
163002                       salt (e.g. salt://salt_master_path)
163003
163004                     · use_32bit_registry  (bool)  --  If  the  value  of this
163005                       parameter is True then the REG file  will  be  imported
163006                       into the Windows 32 bit registry. Otherwise the Windows
163007                       64 bit registry will be used.
163008
163009              Returns
163010                     True if successful, otherwise an error is raised
163011
163012              Return type
163013                     bool
163014
163015              Raises
163016
163017                     · ValueError -- If the value of source is an invalid path
163018                       or otherwise causes cp.cache_file to return False
163019
163020                     · CommandExecutionError  -- If reg.exe exits with a non-0
163021                       exit code
163022
163023              CLI Example:
163024
163025                     salt machine1 reg.import_file salt://win/printer_config/110_Canon/postinstall_config.reg
163026
163027       salt.modules.reg.key_exists(hive, key, use_32bit_registry=False)
163028              Check that the key is found in the registry. This refers to keys
163029              and not value/data pairs.
163030
163031              Parameters
163032
163033                     · hive (str) -- The hive to connect to
163034
163035                     · key (str) -- The key to check
163036
163037                     · use_32bit_registry  (bool) -- Look in the 32bit portion
163038                       of the registry
163039
163040              Returns
163041                     True if exists, otherwise False
163042
163043              Return type
163044                     bool
163045
163046              CLI Example:
163047
163048                     salt '*' reg.key_exists HKLM SOFTWARE\Microsoft
163049
163050       salt.modules.reg.list_keys(hive, key=None, use_32bit_registry=False)
163051              Enumerates the subkeys in a registry key or hive.
163052
163053              Parameters
163054
163055                     · hive (str) --
163056
163057                       The name of the hive. Can be one of the following:
163058
163059                          · HKEY_LOCAL_MACHINE or HKLM
163060
163061                          · HKEY_CURRENT_USER or HKCU
163062
163063                          · HKEY_USER or HKU
163064
163065                          · HKEY_CLASSES_ROOT or HKCR
163066
163067                          · HKEY_CURRENT_CONFIG or HKCC
163068
163069
163070                     · key (str) -- The key (looks like a path) to  the  value
163071                       name.  If  a key is not passed, the keys under the hive
163072                       will be returned.
163073
163074                     · use_32bit_registry (bool) -- Accesses the 32bit portion
163075                       of  the  registry  on  64  bit installations.  On 32bit
163076                       machines this is ignored.
163077
163078              Returns
163079                     A list of keys/subkeys under the hive or key.
163080
163081              Return type
163082                     list
163083
163084              CLI Example:
163085
163086                     salt '*' reg.list_keys HKLM 'SOFTWARE'
163087
163088       salt.modules.reg.list_values(hive, key=None, use_32bit_registry=False)
163089              Enumerates the values in a registry key or hive.
163090
163091              NOTE:
163092                 The (Default) value will only be returned if it is set,  oth‐
163093                 erwise it will not be returned in the list of values.
163094
163095              Parameters
163096
163097                     · hive (str) --
163098
163099                       The name of the hive. Can be one of the following:
163100
163101                          · HKEY_LOCAL_MACHINE or HKLM
163102
163103                          · HKEY_CURRENT_USER or HKCU
163104
163105                          · HKEY_USER or HKU
163106
163107                          · HKEY_CLASSES_ROOT or HKCR
163108
163109                          · HKEY_CURRENT_CONFIG or HKCC
163110
163111
163112                     · key  (str)  -- The key (looks like a path) to the value
163113                       name. If a key is not passed, the values under the hive
163114                       will be returned.
163115
163116                     · use_32bit_registry (bool) -- Accesses the 32bit portion
163117                       of the registry on  64  bit  installations.   On  32bit
163118                       machines this is ignored.
163119
163120              Returns
163121                     A list of values under the hive or key.
163122
163123              Return type
163124                     list
163125
163126              CLI Example:
163127
163128                     salt '*' reg.list_values HKLM 'SYSTEM\\CurrentControlSet\\Services\\Tcpip'
163129
163130       salt.modules.reg.read_value(hive,   key,   vname=None,   use_32bit_reg‐
163131       istry=False)
163132              Reads a registry value entry or the default value for a key.  To
163133              read the default value, don't pass vname
163134
163135              Parameters
163136
163137                     · hive (str) --
163138
163139                       The name of the hive. Can be one of the following:
163140
163141                       · HKEY_LOCAL_MACHINE or HKLM
163142
163143                       · HKEY_CURRENT_USER or HKCU
163144
163145                       · HKEY_USER or HKU
163146
163147                       · HKEY_CLASSES_ROOT or HKCR
163148
163149                       · HKEY_CURRENT_CONFIG or HKCC
163150
163151
163152                     · key  (str)  -- The key (looks like a path) to the value
163153                       name.
163154
163155                     · vname (str) -- The value name. These are the individual
163156                       name/data  pairs  under the key. If not passed, the key
163157                       (Default) value will be returned.
163158
163159                     · use_32bit_registry (bool) -- Accesses the 32bit portion
163160                       of  the  registry  on  64bit  installations.   On 32bit
163161                       machines this is ignored.
163162
163163              Returns
163164                     A dictionary containing the passed settings  as  well  as
163165                     the  value_data if successful. If unsuccessful, sets suc‐
163166                     cess to False.
163167
163168                     bool: Returns False if the key is not found
163169
163170                     If vname is not passed:
163171
163172                        · Returns the  first  unnamed  value  (Default)  as  a
163173                          string.
163174
163175                        · Returns none if first unnamed value is empty.
163176
163177
163178              Return type
163179                     dict
163180
163181              CLI Example:
163182                 The following will get the value of the version value name in
163183                 the HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt key
163184
163185                     salt '*' reg.read_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'version'
163186
163187              CLI Example:
163188                 The  following  will   get   the   default   value   of   the
163189                 HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt key
163190
163191                     salt '*' reg.read_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt'
163192
163193       salt.modules.reg.set_value(hive,     key,    vname=None,    vdata=None,
163194       vtype=u'REG_SZ', use_32bit_registry=False, volatile=False)
163195              Sets a value in the registry. If vname is passed, it will be the
163196              value  for  that  value  name,  otherwise it will be the default
163197              value for the specified key
163198
163199              Parameters
163200
163201                     · hive (str) --
163202
163203                       The name of the hive. Can be one of the following
163204
163205                          · HKEY_LOCAL_MACHINE or HKLM
163206
163207                          · HKEY_CURRENT_USER or HKCU
163208
163209                          · HKEY_USER or HKU
163210
163211                          · HKEY_CLASSES_ROOT or HKCR
163212
163213                          · HKEY_CURRENT_CONFIG or HKCC
163214
163215
163216                     · key (str) -- The key (looks like a path) to  the  value
163217                       name.
163218
163219                     · vname (str) -- The value name. These are the individual
163220                       name/data pairs under the key. If not passed,  the  key
163221                       (Default) value will be set.
163222
163223                     · vdata (str, int, list, bytes) --
163224
163225                       The value you'd like to set. If a value name (vname) is
163226                       passed, this will be the data for that value  name.  If
163227                       not, this will be the (Default) value for the key.
163228
163229                       The  type  of data this parameter expects is determined
163230                       by the value type specified in  vtype.  The  correspon‐
163231                       dence is as follows:
163232
163233                          · REG_BINARY: Binary data (str in Py2, bytes in Py3)
163234
163235                          · REG_DWORD: int
163236
163237                          · REG_EXPAND_SZ: str
163238
163239                          · REG_MULTI_SZ: list of str
163240
163241                          · REG_QWORD: int
163242
163243                          · REG_SZ: str
163244
163245                          NOTE:
163246                              When  setting  REG_BINARY,  string  data will be
163247                              converted to binary.
163248
163249                       NOTE:
163250                          The type for the (Default) value  is  always  REG_SZ
163251                          and cannot be changed.
163252
163253                       NOTE:
163254                          This  parameter is optional. If vdata is not passed,
163255                          the  Key  will  be  created   with   no   associated
163256                          item/value pairs.
163257
163258
163259                     · vtype  (str)  -- The value type. The possible values of
163260                       the vtype parameter are indicated above in the descrip‐
163261                       tion of the vdata parameter.
163262
163263                     · use_32bit_registry  (bool) -- Sets the 32bit portion of
163264                       the registry on 64bit installations. On 32bit  machines
163265                       this is ignored.
163266
163267                     · volatile  (bool)  -- When this parameter has a value of
163268                       True, the registry key will be made volatile  (i.e.  it
163269                       will  not  persist  beyond a system reset or shutdown).
163270                       This parameter only has an effect when a key  is  being
163271                       created and at no other time.
163272
163273              Returns
163274                     True if successful, otherwise False
163275
163276              Return type
163277                     bool
163278
163279              CLI Example:
163280                 This  will set the version value to 2015.5.2 in the SOFTWARE‐
163281                 Salt key in the HKEY_LOCAL_MACHINE hive
163282
163283                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'version' '2015.5.2'
163284
163285              CLI Example:
163286                 This function is strict about the type of vdata. For instance
163287                 this  example  will  fail because vtype has a value of REG_SZ
163288                 and vdata has a type of int (as opposed to str as expected).
163289
163290                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'str_data' 1.2
163291
163292              CLI Example:
163293                 In this next example vdata is properly quoted and should suc‐
163294                 ceed.
163295
163296                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'str_data' vtype=REG_SZ vdata="'1.2'"
163297
163298              CLI Example:
163299                 This is an example of using vtype REG_BINARY.
163300
163301                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'bin_data' vtype=REG_BINARY vdata='Salty Data'
163302
163303              CLI Example:
163304                 An example of using vtype REG_MULTI_SZ is as follows:
163305
163306                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'list_data' vtype=REG_MULTI_SZ vdata='["Salt", "is", "great"]'
163307
163308       salt.modules.reg.value_exists(hive,    key,    vname,    use_32bit_reg‐
163309       istry=False)
163310              Check that the value/data pair is found in the registry.
163311
163312              New in version 3000.
163313
163314
163315              Parameters
163316
163317                     · hive (str) -- The hive to connect to
163318
163319                     · key (str) -- The key to check in
163320
163321                     · vname (str) -- The name of the value/data  pair  you're
163322                       checking
163323
163324                     · use_32bit_registry  (bool) -- Look in the 32bit portion
163325                       of the registry
163326
163327              Returns
163328                     True if exists, otherwise False
163329
163330              Return type
163331                     bool
163332
163333              CLI Example:
163334
163335                     salt '*' reg.value_exists HKLM SOFTWARE\Microsoft\Windows\CurrentVersion CommonFilesDir
163336
163337   salt.modules.rest_pkg
163338       Package support for the REST example
163339
163340       salt.modules.rest_pkg.install(name=None, refresh=False,  fromrepo=None,
163341       pkgs=None, sources=None, **kwargs)
163342
163343       salt.modules.rest_pkg.installed(name,    version=None,   refresh=False,
163344       fromrepo=None, skip_verify=False, pkgs=None, sources=None, **kwargs)
163345
163346       salt.modules.rest_pkg.list_pkgs(versions_as_list=False, **kwargs)
163347
163348       salt.modules.rest_pkg.remove(name=None, pkgs=None, **kwargs)
163349
163350       salt.modules.rest_pkg.upgrade(refresh=True, skip_verify=True, **kwargs)
163351
163352       salt.modules.rest_pkg.version(*names, **kwargs)
163353              Returns a string representing the package version  or  an  empty
163354              string if not installed. If more than one package name is speci‐
163355              fied, a dict of name/version pairs is returned.
163356
163357              CLI Example:
163358
163359                 salt '*' pkg.version <package name>
163360                 salt '*' pkg.version <package1> <package2> <package3> ...
163361
163362   salt.modules.rest_sample_utils module
163363       Utility functions for the rest_sample
163364
163365       salt.modules.rest_sample_utils.fix_outage()
163366              "Fix" the outage
163367
163368              CLI Example:
163369
163370                 salt 'rest-sample-proxy' rest_sample.fix_outage
163371
163372       salt.modules.rest_sample_utils.get_test_string()
163373              Helper function to test cross-calling to the __proxy__ dunder.
163374
163375              CLI Example:
163376
163377                 salt 'rest-sample-proxy' rest_sample.get_test_string
163378
163379   salt.modules.rest_service
163380       Provide the service module for the proxy-minion REST sample
163381
163382       salt.modules.rest_service.enabled(name, sig=None)
163383              Only the 'redbull' service is 'enabled' in the test
163384
163385              New in version 2015.8.1.
163386
163387
163388       salt.modules.rest_service.get_all()
163389              Return a list of all available services
163390
163391              New in version 2015.8.0.
163392
163393
163394              CLI Example:
163395
163396                 salt '*' service.get_all
163397
163398       salt.modules.rest_service.list_()
163399              Return a list of all available services.
163400
163401              CLI Example:
163402
163403                 salt '*' service.list
163404
163405       salt.modules.rest_service.restart(name, sig=None)
163406              Restart the specified service with rest_sample
163407
163408              New in version 2015.8.0.
163409
163410
163411              CLI Example:
163412
163413                 salt '*' service.restart <service name>
163414
163415       salt.modules.rest_service.running(name, sig=None)
163416              Return whether this service is running.
163417
163418              New in version 2015.8.0.
163419
163420
163421       salt.modules.rest_service.start(name, sig=None)
163422              Start the specified service on the rest_sample
163423
163424              New in version 2015.8.0.
163425
163426
163427              CLI Example:
163428
163429                 salt '*' service.start <service name>
163430
163431       salt.modules.rest_service.status(name, sig=None)
163432              Return the status for a service via rest_sample.   If  the  name
163433              contains  globbing,  a  dict  mapping service name to True/False
163434              values is returned.
163435
163436              New in version 2015.8.0.
163437
163438
163439              Changed in version 2018.3.0: The service name can now be a  glob
163440              (e.g. salt*)
163441
163442
163443              Parameters
163444
163445                     · name (str) -- The name of the service to check
163446
163447                     · sig (str) -- Not implemented
163448
163449              Returns
163450                     True  if running, False otherwise dict: Maps service name
163451                     to True if running, False otherwise
163452
163453              Return type
163454                     bool
163455
163456              CLI Example:
163457
163458                 salt '*' service.status <service name>
163459
163460       salt.modules.rest_service.stop(name, sig=None)
163461              Stop the specified service on the rest_sample
163462
163463              New in version 2015.8.0.
163464
163465
163466              CLI Example:
163467
163468                 salt '*' service.stop <service name>
163469
163470   salt.modules.restartcheck module
163471       checkrestart functionality for Debian and Red Hat Based systems
163472
163473       Identifies services (processes) that are linked against  deleted  files
163474       (for example after downloading an updated binary of a shared library).
163475
163476       Based on checkrestart script from debian-goodies (written  by Matt Zim‐
163477       merman      for      the      Debian      GNU/Linux       distribution,
163478       https://packages.debian.org/debian-goodies) and psdel by Sam Morris.
163479
163480       codeauthor
163481              Jiri Kotlin <jiri.kotlin@ultimum.io>
163482
163483       salt.modules.restartcheck.restartcheck(ignorelist=None, blacklist=None,
163484       excludepid=None, **kwargs)
163485              Analyzes files openeded by running processes and seeks for pack‐
163486              ages which need to be restarted.
163487
163488              Parameters
163489
163490                     · ignorelist -- string or list of packages to be ignored
163491
163492                     · blacklist -- string or list of file paths to be ignored
163493
163494                     · excludepid  --  string  or  list  of  process IDs to be
163495                       ignored
163496
163497                     · verbose -- boolean, enables extensive output
163498
163499                     · timeout -- int, timeout in minute
163500
163501              Returns
163502                     { 'result': False, 'comment': '<reason>'  }  String  with
163503                     checkrestart  output  if some package seems to need to be
163504                     restarted or if no packages need restarting.
163505
163506              Return type
163507                     Dict on error
163508
163509              New in version 2015.8.3.
163510
163511
163512              CLI Example:
163513                 salt '*' restartcheck.restartcheck
163514
163515   salt.modules.ret
163516       Module to integrate with the returner system and retrieve data sent  to
163517       a salt returner
163518
163519       salt.modules.ret.get_fun(returner, fun)
163520              Return info about last time fun was called on each minion
163521
163522              CLI Example:
163523
163524                 salt '*' ret.get_fun mysql network.interfaces
163525
163526       salt.modules.ret.get_jid(returner, jid)
163527              Return the information for a specified job id
163528
163529              CLI Example:
163530
163531                 salt '*' ret.get_jid redis 20421104181954700505
163532
163533       salt.modules.ret.get_jids(returner)
163534              Return a list of all job ids
163535
163536              CLI Example:
163537
163538                 salt '*' ret.get_jids mysql
163539
163540       salt.modules.ret.get_minions(returner)
163541              Return a list of all minions
163542
163543              CLI Example:
163544
163545                 salt '*' ret.get_minions mysql
163546
163547   salt.modules.rh_ip
163548       The networking module for RHEL/Fedora based distros
163549
163550       salt.modules.rh_ip.apply_network_settings(**settings)
163551              Apply global network configuration.
163552
163553              CLI Example:
163554
163555                 salt '*' ip.apply_network_settings
163556
163557       salt.modules.rh_ip.build_bond(iface, **settings)
163558              Create a bond script in /etc/modprobe.d with the passed settings
163559              and load the bonding kernel module.
163560
163561              CLI Example:
163562
163563                 salt '*' ip.build_bond bond0 mode=balance-alb
163564
163565       salt.modules.rh_ip.build_interface(iface, iface_type,  enabled,  **set‐
163566       tings)
163567              Build an interface script for a network interface.
163568
163569              CLI Example:
163570
163571                 salt '*' ip.build_interface eth0 eth <settings>
163572
163573       salt.modules.rh_ip.build_network_settings(**settings)
163574              Build the global network script.
163575
163576              CLI Example:
163577
163578                 salt '*' ip.build_network_settings <settings>
163579
163580       salt.modules.rh_ip.build_routes(iface, **settings)
163581              Build a route script for a network interface.
163582
163583              CLI Example:
163584
163585                 salt '*' ip.build_routes eth0 <settings>
163586
163587       salt.modules.rh_ip.down(iface, iface_type)
163588              Shutdown a network interface
163589
163590              CLI Example:
163591
163592                 salt '*' ip.down eth0
163593
163594       salt.modules.rh_ip.get_bond(iface)
163595              Return the content of a bond script
163596
163597              CLI Example:
163598
163599                 salt '*' ip.get_bond bond0
163600
163601       salt.modules.rh_ip.get_interface(iface)
163602              Return the contents of an interface script
163603
163604              CLI Example:
163605
163606                 salt '*' ip.get_interface eth0
163607
163608       salt.modules.rh_ip.get_network_settings()
163609              Return the contents of the global network script.
163610
163611              CLI Example:
163612
163613                 salt '*' ip.get_network_settings
163614
163615       salt.modules.rh_ip.get_routes(iface)
163616              Return the contents of the interface routes script.
163617
163618              CLI Example:
163619
163620                 salt '*' ip.get_routes eth0
163621
163622       salt.modules.rh_ip.up(iface, iface_type)
163623              Start up a network interface
163624
163625              CLI Example:
163626
163627                 salt '*' ip.up eth0
163628
163629   salt.modules.rh_service
163630       Service  support  for  RHEL-based  systems,  including support for both
163631       upstart and sysvinit
163632
163633       IMPORTANT:
163634          If you feel that Salt should be using this module to manage services
163635          on  a  minion, and it is using a different module (or gives an error
163636          similar to 'service.start' is not available), see here.
163637
163638       salt.modules.rh_service.available(name, limit=u'')
163639              Return True if the named service is available.   Use  the  limit
163640              param to restrict results to services of that type.
163641
163642              CLI Examples:
163643
163644                 salt '*' service.available sshd
163645                 salt '*' service.available sshd limit=upstart
163646                 salt '*' service.available sshd limit=sysvinit
163647
163648       salt.modules.rh_service.delete(name, **kwargs)
163649              Delete the named service
163650
163651              New in version 2016.3.
163652
163653
163654              CLI Example:
163655
163656                 salt '*' service.delete <service name>
163657
163658       salt.modules.rh_service.disable(name, **kwargs)
163659              Disable the named service to start at boot
163660
163661              CLI Example:
163662
163663                 salt '*' service.disable <service name>
163664
163665       salt.modules.rh_service.disabled(name)
163666              Check to see if the named service is disabled to start on boot
163667
163668              CLI Example:
163669
163670                 salt '*' service.disabled <service name>
163671
163672       salt.modules.rh_service.enable(name, **kwargs)
163673              Enable the named service to start at boot
163674
163675              CLI Example:
163676
163677                 salt '*' service.enable <service name>
163678
163679       salt.modules.rh_service.enabled(name, **kwargs)
163680              Check to see if the named service is enabled to start on boot
163681
163682              CLI Example:
163683
163684                 salt '*' service.enabled <service name>
163685
163686       salt.modules.rh_service.get_all(limit=u'')
163687              Return  all  installed services. Use the limit param to restrict
163688              results to services of that type.
163689
163690              CLI Example:
163691
163692                 salt '*' service.get_all
163693                 salt '*' service.get_all limit=upstart
163694                 salt '*' service.get_all limit=sysvinit
163695
163696       salt.modules.rh_service.get_disabled(limit=u'')
163697              Return the disabled services. Use the limit  param  to  restrict
163698              results to services of that type.
163699
163700              CLI Example:
163701
163702                 salt '*' service.get_disabled
163703                 salt '*' service.get_disabled limit=upstart
163704                 salt '*' service.get_disabled limit=sysvinit
163705
163706       salt.modules.rh_service.get_enabled(limit=u'')
163707              Return  the  enabled  services.  Use the limit param to restrict
163708              results to services of that type.
163709
163710              CLI Examples:
163711
163712                 salt '*' service.get_enabled
163713                 salt '*' service.get_enabled limit=upstart
163714                 salt '*' service.get_enabled limit=sysvinit
163715
163716       salt.modules.rh_service.missing(name, limit=u'')
163717              The inverse of service.available.  Return True if the named ser‐
163718              vice  is not available.  Use the limit param to restrict results
163719              to services of that type.
163720
163721              CLI Examples:
163722
163723                 salt '*' service.missing sshd
163724                 salt '*' service.missing sshd limit=upstart
163725                 salt '*' service.missing sshd limit=sysvinit
163726
163727       salt.modules.rh_service.reload_(name)
163728              Reload the named service
163729
163730              CLI Example:
163731
163732                 salt '*' service.reload <service name>
163733
163734       salt.modules.rh_service.restart(name)
163735              Restart the named service
163736
163737              CLI Example:
163738
163739                 salt '*' service.restart <service name>
163740
163741       salt.modules.rh_service.start(name)
163742              Start the specified service
163743
163744              CLI Example:
163745
163746                 salt '*' service.start <service name>
163747
163748       salt.modules.rh_service.status(name, sig=None)
163749              Return the status for a service.  If the name contains globbing,
163750              a dict mapping service name to True/False values is returned.
163751
163752              Changed  in version 2018.3.0: The service name can now be a glob
163753              (e.g. salt*)
163754
163755
163756              Parameters
163757
163758                     · name (str) -- The name of the service to check
163759
163760                     · sig (str) -- Signature to use to find the  service  via
163761                       ps
163762
163763              Returns
163764                     True  if running, False otherwise dict: Maps service name
163765                     to True if running, False otherwise
163766
163767              Return type
163768                     bool
163769
163770              CLI Example:
163771
163772                 salt '*' service.status <service name> [service signature]
163773
163774       salt.modules.rh_service.stop(name)
163775              Stop the specified service
163776
163777              CLI Example:
163778
163779                 salt '*' service.stop <service name>
163780
163781   salt.modules.riak
163782       Riak Salt Module
163783
163784       salt.modules.riak.cluster_commit()
163785              Commit Cluster Changes
163786
163787              Changed in version 2015.8.0.
163788
163789
163790              CLI Example:
163791
163792                 salt '*' riak.cluster_commit
163793
163794       salt.modules.riak.cluster_join(username, hostname)
163795              Join a Riak cluster
163796
163797              Changed in version 2015.8.0.
163798
163799
163800              CLI Example:
163801
163802                 salt '*' riak.cluster_join <user> <host>
163803
163804              username - The riak username to join the cluster hostname -  The
163805              riak hostname you are connecting to
163806
163807       salt.modules.riak.cluster_leave(username, hostname)
163808              Leave a Riak cluster
163809
163810              New in version 2015.8.0.
163811
163812
163813              CLI Example:
163814
163815                 salt '*' riak.cluster_leave <username> <host>
163816
163817              username  - The riak username to join the cluster hostname - The
163818              riak hostname you are connecting to
163819
163820       salt.modules.riak.cluster_plan()
163821              Review Cluster Plan
163822
163823              Changed in version 2015.8.0.
163824
163825
163826              CLI Example:
163827
163828                 salt '*' riak.cluster_plan
163829
163830       salt.modules.riak.member_status()
163831              Get cluster member status
163832
163833              Changed in version 2015.8.0.
163834
163835
163836              CLI Example:
163837
163838                 salt '*' riak.member_status
163839
163840       salt.modules.riak.services()
163841              List available services on a node
163842
163843              New in version 2015.8.0.
163844
163845
163846              CLI Example:
163847
163848                 salt '*' riak.services
163849
163850       salt.modules.riak.start()
163851              Start Riak
163852
163853              CLI Example:
163854
163855                 salt '*' riak.start
163856
163857       salt.modules.riak.status()
163858              Current node status
163859
163860              New in version 2015.8.0.
163861
163862
163863              CLI Example:
163864
163865                 salt '*' riak.status
163866
163867       salt.modules.riak.stop()
163868              Stop Riak
163869
163870              Changed in version 2015.8.0.
163871
163872
163873              CLI Example:
163874
163875                 salt '*' riak.stop
163876
163877       salt.modules.riak.test()
163878              Runs a test of a few standard Riak operations
163879
163880              New in version 2015.8.0.
163881
163882
163883              CLI Example:
163884
163885                 salt '*' riak.test
163886
163887   salt.modules.rpm_lowpkg
163888       Support for rpm
163889
163890       salt.modules.rpm_lowpkg.bin_pkg_info(path, saltenv=u'base')
163891              New in version 2015.8.0.
163892
163893
163894              Parses RPM metadata and  returns  a  dictionary  of  information
163895              about the package (name, version, etc.).
163896
163897              path   Path  to  the  file.  Can either be an absolute path to a
163898                     file on the  minion,  or  a  salt  fileserver  URL  (e.g.
163899                     salt://path/to/file.rpm).   If  a  salt fileserver URL is
163900                     passed, the file will be cached to the minion so that  it
163901                     can be examined.
163902
163903              saltenv
163904                     base  Salt  fileserver envrionment from which to retrieve
163905                     the package. Ignored if path is a local file path on  the
163906                     minion.
163907
163908              CLI Example:
163909
163910                 salt '*' lowpkg.bin_pkg_info /root/salt-2015.5.1-2.el7.noarch.rpm
163911                 salt '*' lowpkg.bin_pkg_info salt://salt-2015.5.1-2.el7.noarch.rpm
163912
163913       salt.modules.rpm_lowpkg.checksum(*paths)
163914              Return if the signature of a RPM file is valid.
163915
163916              CLI Example:
163917
163918                 salt '*' lowpkg.checksum /path/to/package1.rpm
163919                 salt '*' lowpkg.checksum /path/to/package1.rpm /path/to/package2.rpm
163920
163921       salt.modules.rpm_lowpkg.diff(package_path, path)
163922              Return  a  formatted diff between current file and original in a
163923              package.  NOTE: this function includes all files  (configuration
163924              and not), but does not work on binary content.
163925
163926              Parameters
163927
163928                     · package -- Full pack of the RPM file
163929
163930                     · path -- Full path to the installed file
163931
163932              Returns
163933                     Difference or empty string. For binary files only a noti‐
163934                     fication.
163935
163936              CLI example:
163937
163938                 salt '*' lowpkg.diff /path/to/apache2.rpm /etc/apache2/httpd.conf
163939
163940       salt.modules.rpm_lowpkg.file_dict(*packages)
163941              List the files that belong to a package, sorted  by  group.  Not
163942              specifying  any  packages  will return a list of _every_ file on
163943              the system's rpm database (not generally recommended).
163944
163945              CLI Examples:
163946
163947                 salt '*' lowpkg.file_dict httpd
163948                 salt '*' lowpkg.file_dict httpd postfix
163949                 salt '*' lowpkg.file_dict
163950
163951       salt.modules.rpm_lowpkg.file_list(*packages)
163952              List the files that belong to  a  package.  Not  specifying  any
163953              packages  will return a list of _every_ file on the system's rpm
163954              database (not generally recommended).
163955
163956              CLI Examples:
163957
163958                 salt '*' lowpkg.file_list httpd
163959                 salt '*' lowpkg.file_list httpd postfix
163960                 salt '*' lowpkg.file_list
163961
163962       salt.modules.rpm_lowpkg.info(*packages, **kwargs)
163963              Return a detailed package(s) summary information.  If  no  pack‐
163964              ages specified, all packages will be returned.
163965
163966              Parameters
163967
163968                     · packages --
163969
163970                     · attr --
163971
163972                       Comma-separated  package  attributes.  If  no 'attr' is
163973                       specified, all available attributes returned.
163974
163975                       Valid attributes are:
163976                              version,    vendor,     release,     build_date,
163977                              build_date_time_t,                 install_date,
163978                              install_date_time_t,     build_host,      group,
163979                              source_rpm,  arch,  epoch, size, license, signa‐
163980                              ture, packager, url, summary, description.
163981
163982
163983                     · all_versions -- Return information  for  all  installed
163984                       versions of the packages
163985
163986              Returns
163987
163988
163989              CLI example:
163990
163991                 salt '*' lowpkg.info apache2 bash
163992                 salt '*' lowpkg.info apache2 bash attr=version
163993                 salt '*' lowpkg.info apache2 bash attr=version,build_date_iso,size
163994                 salt '*' lowpkg.info apache2 bash attr=version,build_date_iso,size all_versions=True
163995
163996       salt.modules.rpm_lowpkg.list_pkgs(*packages)
163997              List the packages currently installed in a dict:
163998
163999                 {'<package_name>': '<version>'}
164000
164001              CLI Example:
164002
164003                 salt '*' lowpkg.list_pkgs
164004
164005       salt.modules.rpm_lowpkg.modified(*packages, **flags)
164006              List the modified files that belong to a package. Not specifying
164007              any packages will return a list of _all_ modified files  on  the
164008              system's RPM database.
164009
164010              New in version 2015.5.0.
164011
164012
164013              CLI examples:
164014
164015                 salt '*' lowpkg.modified httpd
164016                 salt '*' lowpkg.modified httpd postfix
164017                 salt '*' lowpkg.modified
164018
164019       salt.modules.rpm_lowpkg.owner(*paths)
164020              Return the name of the package that owns the file. Multiple file
164021              paths can be passed. If a single path is passed, a  string  will
164022              be  returned,  and if multiple paths are passed, a dictionary of
164023              file/package name pairs will be returned.
164024
164025              If the file is not owned by a package, or is not present on  the
164026              minion, then an empty string will be returned for that path.
164027
164028              CLI Examples:
164029
164030                 salt '*' lowpkg.owner /usr/bin/apachectl
164031                 salt '*' lowpkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf
164032
164033       salt.modules.rpm_lowpkg.verify(*packages, **kwargs)
164034              Runs an rpm -Va on a system, and returns the results in a dict
164035
164036              Files with an attribute of config, doc, ghost, license or readme
164037              in the package header can be ignored using the ignore_types key‐
164038              word argument
164039
164040              CLI Example:
164041
164042                 salt '*' lowpkg.verify
164043                 salt '*' lowpkg.verify httpd
164044                 salt '*' lowpkg.verify httpd postfix
164045                 salt '*' lowpkg.verify httpd postfix ignore_types=['config','doc']
164046
164047       salt.modules.rpm_lowpkg.version_cmp(ver1, ver2, ignore_epoch=False)
164048              New in version 2015.8.9.
164049
164050
164051              Do  a  cmp-style comparison on two packages. Return -1 if ver1 <
164052              ver2, 0 if ver1 == ver2, and 1 if ver1 > ver2.  Return  None  if
164053              there was a problem making the comparison.
164054
164055              ignore_epoch
164056                     False Set to True to ignore the epoch when comparing ver‐
164057                     sions
164058
164059                     New in version 2015.8.10,2016.3.2.
164060
164061
164062              CLI Example:
164063
164064                 salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'
164065
164066   salt.modules.rpmbuild_pkgbuild
164067       RPM Package builder system
164068
164069       New in version 2015.8.0.
164070
164071
164072       This system allows for all of the components to build  rpms  safely  in
164073       chrooted  environments.  This  also provides a function to generate yum
164074       repositories
164075
164076       This module implements the pkgbuild interface
164077
164078       salt.modules.rpmbuild_pkgbuild.build(runas,   tgt,   dest_dir,    spec,
164079       sources,        deps,       env,       template,       saltenv=u'base',
164080       log_dir=u'/var/log/salt/pkgbuild')
164081              Given the package destination directory, the  spec  file  source
164082              and package sources, use mock to safely build the rpm defined in
164083              the spec file
164084
164085              CLI Example:
164086
164087                 salt '*' pkgbuild.build mock epel-7-x86_64 /var/www/html
164088                             https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/rpm/python-libnacl.spec
164089                             https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
164090
164091              This example command should build the libnacl package for rhel 7
164092              using user mock and place it in /var/www/html/ on the minion
164093
164094       salt.modules.rpmbuild_pkgbuild.make_repo(repodir, keyid=None, env=None,
164095       use_passphrase=False,  gnupghome=u'/etc/salt/gpgkeys',   runas=u'root',
164096       timeout=15.0)
164097              Make a package repository and optionally sign packages present
164098
164099              Given  the  repodir,  create  a  yum  repository out of the rpms
164100              therein and optionally sign it and packages present, the name is
164101              directory  to  turn  into  a  repo. This state is best used with
164102              onchanges linked to your package building states.
164103
164104              repodir
164105                     The directory to find packages that will be in the repos‐
164106                     itory.
164107
164108              keyid  Changed in version 2016.3.0.
164109
164110
164111                     Optional  Key  ID  to use in signing packages and reposi‐
164112                     tory.  Utilizes Public and Private keys  associated  with
164113                     keyid  which  have  been  loaded into the minion's Pillar
164114                     data.
164115
164116                     For example, contents from a Pillar data file with  named
164117                     Public and Private keys as follows:
164118
164119                        gpg_pkg_priv_key: |
164120                          -----BEGIN PGP PRIVATE KEY BLOCK-----
164121                          Version: GnuPG v1
164122
164123                          lQO+BFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
164124                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
164125                          .
164126                          .
164127                          Ebe+8JCQTwqSXPRTzXmy/b5WXDeM79CkLWvuGpXFor76D+ECMRPv/rawukEcNptn
164128                          R5OmgHqvydEnO4pWbn8JzQO9YX/Us0SMHBVzLC8eIi5ZIopzalvX
164129                          =JvW8
164130                          -----END PGP PRIVATE KEY BLOCK-----
164131
164132                        gpg_pkg_priv_keyname: gpg_pkg_key.pem
164133
164134                        gpg_pkg_pub_key: |
164135                          -----BEGIN PGP PUBLIC KEY BLOCK-----
164136                          Version: GnuPG v1
164137
164138                          mQENBFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
164139                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
164140                          .
164141                          .
164142                          bYP7t5iwJmQzRMyFInYRt77wkJBPCpJc9FPNebL9vlZcN4zv0KQta+4alcWivvoP
164143                          4QIxE+/+trC6QRw2m2dHk6aAeq/J0Sc7ilZufwnNA71hf9SzRIwcFXMsLx4iLlki
164144                          inNqW9c=
164145                          =s1CX
164146                          -----END PGP PUBLIC KEY BLOCK-----
164147
164148                        gpg_pkg_pub_keyname: gpg_pkg_key.pub
164149
164150              env    Changed in version 2016.3.0.
164151
164152
164153                     A  dictionary  of environment variables to be utilized in
164154                     creating the repository.
164155
164156                     NOTE:
164157                        This parameter is not used for  making  yum  reposito‐
164158                        ries.
164159
164160              use_passphrase
164161                     False New in version 2016.3.0.
164162
164163
164164                     Use a passphrase with the signing key presented in keyid.
164165                     Passphrase is received from Pillar data  which  could  be
164166                     passed  on  the  command  line with pillar parameter. For
164167                     example:
164168
164169                        pillar='{ "gpg_passphrase" : "my_passphrase" }'
164170
164171              gnupghome
164172                     /etc/salt/gpgkeys New in version 2016.3.0.
164173
164174
164175                     Location where GPG related files are  stored,  used  with
164176                     keyid.
164177
164178              runas  root New in version 2016.3.0.
164179
164180
164181                     User  to  create  the  repository as, and optionally sign
164182                     packages.
164183
164184                     NOTE:
164185                        Ensure the user has correct permissions to  any  files
164186                        and directories which are to be utilized.
164187
164188              timeout
164189                     15.0 New in version 2016.3.4.
164190
164191
164192                     Timeout  in  seconds to wait for the prompt for inputting
164193                     the passphrase.
164194
164195              CLI Example:
164196
164197                 salt '*' pkgbuild.make_repo /var/www/html/
164198
164199       salt.modules.rpmbuild_pkgbuild.make_src_pkg(dest_dir,  spec,   sources,
164200       env=None, template=None, saltenv=u'base', runas=u'root')
164201              Create a source rpm from the given spec file and sources
164202
164203              CLI Example:
164204
164205                 salt '*' pkgbuild.make_src_pkg /var/www/html/
164206                         https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/rpm/python-libnacl.spec
164207                         https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
164208
164209              This example command should build the libnacl SOURCE package and
164210              place it in /var/www/html/ on the minion
164211
164212              Changed in version 2017.7.0.
164213
164214
164215              dest_dir
164216                     The directory on the minion to place the built package(s)
164217
164218              spec   The location of the spec file (used for rpms)
164219
164220              sources
164221                     The list of package sources
164222
164223              env    A dictionary of environment variables to be set prior  to
164224                     execution.
164225
164226              template
164227                     Run  the  spec  file through a templating engine Optional
164228                     arguement, allows for no templating engine used to be  if
164229                     none is desired.
164230
164231              saltenv
164232                     The  saltenv  to  use  for files downloaded from the salt
164233                     filesever
164234
164235              runas  The user to run the build process as
164236
164237                     New in version 2018.3.3.
164238
164239
164240              NOTE:
164241                 using SHA256 as digest and minimum level dist el6
164242
164243   salt.modules.rsync
164244       Wrapper for rsync
164245
164246       New in version 2014.1.0.
164247
164248
164249       This data can also be passed into pillar.   Options  passed  into  opts
164250       will overwrite options passed into pillar.
164251
164252       salt.modules.rsync.config(conf_path=u'/etc/rsyncd.conf')
164253              Changed  in  version 2016.3.0: Return data now contains just the
164254              contents of the rsyncd.conf as a string, instead of a dictionary
164255              as returned from cmd.run_all.
164256
164257
164258              Returns the contents of the rsync config file
164259
164260              conf_path
164261                     /etc/rsyncd.conf Path to the config file
164262
164263              CLI Example:
164264
164265                 salt '*' rsync.config
164266
164267       salt.modules.rsync.rsync(src,     dst,    delete=False,    force=False,
164268       update=False,   passwordfile=None,   exclude=None,    excludefrom=None,
164269       dryrun=False, rsh=None, additional_opts=None, saltenv=u'base')
164270                 Changed  in  version  2016.3.0: Return data now contains just
164271                 the output of the rsync command, instead of a  dictionary  as
164272                 returned from cmd.run_all.
164273
164274
164275                 Rsync files from src to dst
164276
164277                 src    The source location where files will be rsynced from.
164278
164279                 dst    The  destination  location where files will be rsynced
164280                        to.
164281
164282                 delete False Whether to enable the rsync --delete flag, which
164283                        will delete extraneous files from dest dirs
164284
164285                 force  False  Whether to enable the rsync --force flag, which
164286                        will force deletion of dirs even if not empty.
164287
164288                 update False Whether to enable the rsync --update flag, which
164289                        forces rsync to skip any files which exist on the des‐
164290                        tination and have a modified time that is  newer  than
164291                        the source file.
164292
164293                 passwordfile
164294                        A file that contains a password for accessing an rsync
164295                        daemon.  The file should contain just the password.
164296
164297                 exclude
164298                        Whether to enable the rsync --exclude flag, which will
164299                        exclude files matching a PATTERN.
164300
164301                 excludefrom
164302                        Whether  to enable the rsync --excludefrom flag, which
164303                        will read exclude patterns from a file.
164304
164305                 dryrun False Whether to  enable  the  rsync  --dry-run  flag,
164306                        which will perform a trial run with no changes made.
164307
164308                 rsh    Whether to enable the rsync --rsh flag, to specify the
164309                        remote shell to use.
164310
164311                 additional_opts
164312                        Any additional rsync options, should be specified as a
164313                        list.
164314
164315              saltenv
164316                        Specify a salt fileserver environment to be used.
164317
164318                     CLI Example:
164319
164320                        salt '*' rsync.rsync /path/to/src /path/to/dest delete=True update=True passwordfile=/etc/pass.crt exclude=exclude/dir
164321                        salt '*' rsync.rsync /path/to/src delete=True excludefrom=/xx.ini
164322                        salt '*' rsync.rsync /path/to/src delete=True exclude='[exclude1/dir,exclude2/dir]' additional_opts='["--partial", "--bwlimit=5000"]'
164323
164324       salt.modules.rsync.version()
164325              Changed  in  version 2016.3.0: Return data now contains just the
164326              version number as a string, instead of a dictionary as  returned
164327              from cmd.run_all.
164328
164329
164330              Returns rsync version
164331
164332              CLI Example:
164333
164334                 salt '*' rsync.version
164335
164336   salt.modules.runit
164337       runit service module (http://smarden.org/runit)
164338
164339       This module is compatible with the service states, so it can be used to
164340       maintain services using the provider argument:
164341
164342          myservice:
164343            service:
164344              - running
164345              - provider: runit
164346
164347       Provides virtual service module on systems using runit as init.
164348
164349       Service management rules (sv command):
164350          service $n is ENABLED   if file SERVICE_DIR/$n/run exists service $n
164351          is  AVAILABLE if ENABLED or if file AVAIL_SVR_DIR/$n/run exists ser‐
164352          vice $n is DISABLED  if AVAILABLE but not ENABLED
164353
164354          SERVICE_DIR/$n is normally a symlink to a AVAIL_SVR_DIR/$n folder
164355
164356       Service auto-start/stop mechanism:
164357          sv (auto)starts/stops service as soon  as  SERVICE_DIR/<service>  is
164358          created/deleted, both on service creation or a boot time.
164359
164360          autostart  feature  is disabled if file SERVICE_DIR/<n>/down exists.
164361          This does not affect the current's service status (if  already  run‐
164362          ning) nor manual service management.
164363
164364       Service's alias:
164365          Service  sva  is an alias of service svc when AVAIL_SVR_DIR/sva sym‐
164366          links to folder AVAIL_SVR_DIR/svc. svc can't be  enabled  if  it  is
164367          already enabled through an alias already enabled, since sv files are
164368          stored in folder SERVICE_DIR/svc/.
164369
164370          XBPS package management uses a service's alias to  provides  service
164371          alternative(s), such as chrony and openntpd both aliased to ntpd.
164372
164373       salt.modules.runit.add_svc_avail_path(path)
164374              Add  a path that may contain available services.  Return True if
164375              added (or already present), False on error.
164376
164377              path   directory to add to AVAIL_SVR_DIRS
164378
164379       salt.modules.runit.available(name)
164380              Returns True if the specified service  is  available,  otherwise
164381              returns False.
164382
164383              name   the service's name
164384
164385              CLI Example:
164386
164387                 salt '*' runit.available <service name>
164388
164389       salt.modules.runit.disable(name, stop=False, **kwargs)
164390              Don't  start  service  name at boot Returns True if operation is
164391              successful
164392
164393              name   the service's name
164394
164395              stop   if True, also stops the service
164396
164397              CLI Example:
164398
164399                 salt '*' service.disable <name> [stop=True]
164400
164401       salt.modules.runit.disabled(name)
164402              Return True if the named service is disabled, False  otherwise
164403
164404              name   the service's name
164405
164406              CLI Example:
164407
164408                 salt '*' service.disabled <service name>
164409
164410       salt.modules.runit.enable(name, start=False, **kwargs)
164411              Start service name at boot.  Returns True if operation  is  suc‐
164412              cessful
164413
164414              name   the service's name
164415
164416              start  False If True, start the service once enabled.
164417
164418              CLI Example:
164419
164420                 salt '*' service.enable <name> [start=True]
164421
164422       salt.modules.runit.enabled(name)
164423              Return True if the named service is enabled, False otherwise
164424
164425              name   the service's name
164426
164427              CLI Example:
164428
164429                 salt '*' service.enabled <service name>
164430
164431       salt.modules.runit.full_restart(name)
164432              Calls runit.restart()
164433
164434              name   the service's name
164435
164436              CLI Example:
164437
164438                 salt '*' runit.full_restart <service name>
164439
164440       salt.modules.runit.get_all()
164441              Return a list of all available services
164442
164443              CLI Example:
164444
164445                 salt '*' runit.get_all
164446
164447       salt.modules.runit.get_disabled()
164448              Return a list of all disabled services
164449
164450              CLI Example:
164451
164452                 salt '*' service.get_disabled
164453
164454       salt.modules.runit.get_enabled()
164455              Return a list of all enabled services
164456
164457              CLI Example:
164458
164459                 salt '*' service.get_enabled
164460
164461       salt.modules.runit.get_svc_alias()
164462              Returns  the  list  of service's name that are aliased and their
164463              alias path(s)
164464
164465       salt.modules.runit.get_svc_avail_path()
164466              Return list of paths that may contain available services
164467
164468       salt.modules.runit.get_svc_broken_path(name=u'*')
164469              Return list of broken path(s) in SERVICE_DIR that match name
164470
164471              A path is broken if it is a broken symlink or can not be a runit
164472              service
164473
164474              name   a glob for service name. default is '*'
164475
164476              CLI Example:
164477
164478                 salt '*' runit.get_svc_broken_path <service name>
164479
164480       salt.modules.runit.missing(name)
164481              The  inverse  of runit.available.  Returns True if the specified
164482              service is not available, otherwise returns False.
164483
164484              name   the service's name
164485
164486              CLI Example:
164487
164488                 salt '*' runit.missing <service name>
164489
164490       salt.modules.runit.reload_(name)
164491              Reload service
164492
164493              name   the service's name
164494
164495              CLI Example:
164496
164497                 salt '*' runit.reload <service name>
164498
164499       salt.modules.runit.remove(name)
164500              Remove the service <name> from system.  Returns True  if  opera‐
164501              tion is successful.  The service will be also stopped.
164502
164503              name   the service's name
164504
164505              CLI Example:
164506
164507                 salt '*' service.remove <name>
164508
164509       salt.modules.runit.restart(name)
164510              Restart service
164511
164512              name   the service's name
164513
164514              CLI Example:
164515
164516                 salt '*' runit.restart <service name>
164517
164518       salt.modules.runit.show(name)
164519              Show properties of one or more units/jobs or the manager
164520
164521              name   the service's name
164522
164523              CLI Example:
164524                 salt '*' service.show <service name>
164525
164526       salt.modules.runit.start(name)
164527              Start service
164528
164529              name   the service's name
164530
164531              CLI Example:
164532
164533                 salt '*' runit.start <service name>
164534
164535       salt.modules.runit.status(name, sig=None)
164536              Return True if service is running
164537
164538              name   the service's name
164539
164540              sig    signature to identify with ps
164541
164542              CLI Example:
164543
164544                 salt '*' runit.status <service name>
164545
164546       salt.modules.runit.status_autostart(name)
164547              Return  True  if service <name> is autostarted by sv (file $ser‐
164548              vice_folder/down does not exist) NB: return False if the service
164549              is not enabled.
164550
164551              name   the service's name
164552
164553              CLI Example:
164554
164555                 salt '*' runit.status_autostart <service name>
164556
164557       salt.modules.runit.stop(name)
164558              Stop service
164559
164560              name   the service's name
164561
164562              CLI Example:
164563
164564                 salt '*' runit.stop <service name>
164565
164566   salt.modules.rvm
164567       Manage  ruby  installations and gemsets with RVM, the Ruby Version Man‐
164568       ager.
164569
164570       salt.modules.rvm.do(ruby, command, runas=None, cwd=None, env=None)
164571              Execute a command in an RVM controlled environment.
164572
164573              ruby   Which ruby to use
164574
164575              command
164576                     The rvm command to execute
164577
164578              runas  The user under which to run rvm. If not  specified,  then
164579                     rvm will be run as the user under which Salt is running.
164580
164581              cwd    The directory from which to run the rvm command. Defaults
164582                     to the user's home directory.
164583
164584              CLI Example:
164585
164586                 salt '*' rvm.do 2.0.0 <command>
164587
164588       salt.modules.rvm.gemset_copy(source, destination, runas=None)
164589              Copy all gems from one gemset to another.
164590
164591              source The name of the gemset to copy, complete with  ruby  ver‐
164592                     sion
164593
164594              destination
164595                     The destination gemset
164596
164597              runas  The  user  under which to run rvm. If not specified, then
164598                     rvm will be run as the user under which Salt is running.
164599
164600              CLI Example:
164601
164602                 salt '*' rvm.gemset_copy foobar bazquo
164603
164604       salt.modules.rvm.gemset_create(ruby, gemset, runas=None)
164605              Creates a gemset.
164606
164607              ruby   The ruby version for which to create the gemset
164608
164609              gemset The name of the gemset to create
164610
164611              runas  The user under which to run rvm. If not  specified,  then
164612                     rvm will be run as the user under which Salt is running.
164613
164614              CLI Example:
164615
164616                 salt '*' rvm.gemset_create 2.0.0 foobar
164617
164618       salt.modules.rvm.gemset_delete(ruby, gemset, runas=None)
164619              Delete a gemset
164620
164621              ruby   The ruby version to which the gemset belongs
164622
164623              gemset The gemset to delete
164624
164625              runas  The  user  under which to run rvm. If not specified, then
164626                     rvm will be run as the user under which Salt is running.
164627
164628              CLI Example:
164629
164630                 salt '*' rvm.gemset_delete 2.0.0 foobar
164631
164632       salt.modules.rvm.gemset_empty(ruby, gemset, runas=None)
164633              Remove all gems from a gemset.
164634
164635              ruby   The ruby version to which the gemset belongs
164636
164637              gemset The gemset to empty
164638
164639              runas  The user under which to run rvm. If not  specified,  then
164640                     rvm will be run as the user under which Salt is running.
164641
164642              CLI Example:
164643
164644                 salt '*' rvm.gemset_empty 2.0.0 foobar
164645
164646       salt.modules.rvm.gemset_list(ruby=u'default', runas=None)
164647              List all gemsets for the given ruby.
164648
164649              ruby   default The ruby version for which to list the gemsets
164650
164651              runas  The  user  under which to run rvm. If not specified, then
164652                     rvm will be run as the user under which Salt is running.
164653
164654              CLI Example:
164655
164656                 salt '*' rvm.gemset_list
164657
164658       salt.modules.rvm.gemset_list_all(runas=None)
164659              List all gemsets for all installed rubies.
164660
164661              Note that you must have set a default ruby before this can work.
164662
164663              runas  The user under which to run rvm. If not  specified,  then
164664                     rvm will be run as the user under which Salt is running.
164665
164666              CLI Example:
164667
164668                 salt '*' rvm.gemset_list_all
164669
164670       salt.modules.rvm.get(version=u'stable', runas=None)
164671              Update RVM
164672
164673              version
164674                     stable  Which  version of RVM to install, (e.g. stable or
164675                     head)
164676
164677              CLI Example:
164678
164679                 salt '*' rvm.get
164680
164681       salt.modules.rvm.install(runas=None)
164682              Install RVM system-wide
164683
164684              runas  The user under which to run the rvm installer script.  If
164685                     not  specified,  then  it  be run as the user under which
164686                     Salt is running.
164687
164688              CLI Example:
164689
164690                 salt '*' rvm.install
164691
164692       salt.modules.rvm.install_ruby(ruby, runas=None, opts=None, env=None)
164693              Install a ruby implementation.
164694
164695              ruby   The version of ruby to install
164696
164697              runas  The user under which to run rvm. If not  specified,  then
164698                     rvm will be run as the user under which Salt is running.
164699
164700              env    Environment  to  set  for the install command. Useful for
164701                     exporting compilation flags such as RUBY_CONFIGURE_OPTS
164702
164703              opts   List of options to pass to  the  RVM  installer  (ie  -C,
164704                     --patch, etc)
164705
164706              CLI Example:
164707
164708                 salt '*' rvm.install_ruby 1.9.3-p385
164709
164710       salt.modules.rvm.is_installed(runas=None)
164711              Check if RVM is installed.
164712
164713              CLI Example:
164714
164715                 salt '*' rvm.is_installed
164716
164717       salt.modules.rvm.list_(runas=None)
164718              List all rvm-installed rubies
164719
164720              runas  The  user  under which to run rvm. If not specified, then
164721                     rvm will be run as the user under which Salt is running.
164722
164723              CLI Example:
164724
164725                 salt '*' rvm.list
164726
164727       salt.modules.rvm.reinstall_ruby(ruby, runas=None, env=None)
164728              Reinstall a ruby implementation
164729
164730              ruby   The version of ruby to reinstall
164731
164732              runas  The user under which to run rvm. If not  specified,  then
164733                     rvm will be run as the user under which Salt is running.
164734
164735              CLI Example:
164736
164737                 salt '*' rvm.reinstall_ruby 1.9.3-p385
164738
164739       salt.modules.rvm.rubygems(ruby, version, runas=None)
164740              Installs a specific rubygems version in the given ruby
164741
164742              ruby   The ruby for which to install rubygems
164743
164744              version
164745                     The  version  of  rubygems to install, or 'remove' to use
164746                     the version that ships with 1.9
164747
164748              runas  The user under which to run rvm. If not  specified,  then
164749                     rvm will be run as the user under which Salt is running.
164750
164751              CLI Example:
164752
164753                 salt '*' rvm.rubygems 2.0.0 1.8.24
164754
164755       salt.modules.rvm.set_default(ruby, runas=None)
164756              Set the default ruby
164757
164758              ruby   The version of ruby to make the default
164759
164760              runas  The  user  under which to run rvm. If not specified, then
164761                     rvm will be run as the user under which Salt is running.
164762
164763              CLI Example:
164764
164765                 salt '*' rvm.set_default 2.0.0
164766
164767       salt.modules.rvm.wrapper(ruby_string,    wrapper_prefix,    runas=None,
164768       *binaries)
164769              Install RVM wrapper scripts
164770
164771              ruby_string
164772                     Ruby/gemset to install wrappers for
164773
164774              wrapper_prefix
164775                     What  to  prepend  to  the  name of the generated wrapper
164776                     binaries
164777
164778              runas  The user under which to run rvm. If not  specified,  then
164779                     rvm will be run as the user under which Salt is running.
164780
164781              binaries
164782                     None  The  names  of the binaries to create wrappers for.
164783                     When nothing is given, wrappers for ruby, gem, rake, irb,
164784                     rdoc, ri and testrb are generated.
164785
164786              CLI Example:
164787
164788                 salt '*' rvm.wrapper <ruby_string> <wrapper_prefix>
164789
164790   salt.modules.s3
164791       Connection module for Amazon S3
164792
164793       configuration
164794              This module accepts explicit s3 credentials but can also utilize
164795              IAM roles assigned to the instance  through  Instance  Profiles.
164796              Dynamic credentials are then automatically obtained from AWS API
164797              and no further  configuration  is  necessary.  More  Information
164798              available at:
164799                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
164800
164801              If IAM roles are not used you need to specify them either  in  a
164802              pillar or in the minion's config file:
164803
164804                 s3.keyid: GKTADJGHEIQSXMKKRBJ08H
164805                 s3.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
164806
164807              WARNING:
164808                 This  is  literally  the  pillar  key  s3.keyid or the config
164809                 option s3.keyid, not:
164810
164811                     s3:
164812                       keyid: blah
164813
164814              A service_url may also be specified in the configuration:
164815
164816                 s3.service_url: s3.amazonaws.com
164817
164818              A role_arn may also be specified in the configuration:
164819
164820                 s3.role_arn: arn:aws:iam::111111111111:role/my-role-to-assume
164821
164822              If a service_url is not specified,  the  default  is  s3.amazon‐
164823              aws.com.  This  may  appear in various documentation as an "end‐
164824              point". A comprehensive list for Amazon S3 may be found at:
164825                 http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
164826
164827              The  service_url will form the basis for the final endpoint that
164828              is used to query the service.
164829
164830              Path style can be enabled:
164831
164832                 s3.path_style: True
164833
164834              This can be useful if you need to use Salt with a proxy for a S3
164835              compatible storage.
164836
164837              You can use either HTTPS protocol or HTTP protocol:
164838
164839                 s3.https_enable: True
164840
164841              SSL verification may also be turned off in the configuration:
164842
164843                 s3.verify_ssl: False
164844
164845              This is required if using S3 bucket names that contain a period,
164846              as these will not match Amazon's S3 wildcard certificates.  Cer‐
164847              tificate verification is enabled by default.
164848
164849              AWS region may be specified in the configuration:
164850
164851                 s3.location: eu-central-1
164852
164853              Default is us-east-1.
164854
164855              This  module  should  be usable to query other S3-like services,
164856              such as Eucalyptus.
164857
164858       depends
164859              requests
164860
164861       salt.modules.s3.delete(bucket,   path=None,   action=None,    key=None,
164862       keyid=None,  service_url=None,  verify_ssl=None,  kms_keyid=None, loca‐
164863       tion=None, role_arn=None, path_style=None, https_enable=None)
164864              Delete a bucket, or delete an object from a bucket.
164865
164866              CLI Example to delete a bucket:
164867
164868                 salt myminion s3.delete mybucket
164869
164870              CLI Example to delete an object from a bucket:
164871
164872                 salt myminion s3.delete mybucket remoteobject
164873
164874       salt.modules.s3.get(bucket=u'',       path=u'',       return_bin=False,
164875       action=None,  local_file=None,  key=None, keyid=None, service_url=None,
164876       verify_ssl=None,    kms_keyid=None,    location=None,    role_arn=None,
164877       path_style=None, https_enable=None)
164878              List  the  contents  of  a  bucket,  or  return an object from a
164879              bucket. Set return_bin to True in order to  retrieve  an  object
164880              wholesale.   Otherwise,  Salt  will  attempt  to  parse  an  XML
164881              response.
164882
164883              CLI Example to list buckets:
164884                 salt myminion s3.get
164885
164886              CLI Example to list the contents of a bucket:
164887                 salt myminion s3.get mybucket
164888
164889              CLI Example to return the binary contents of an object:
164890                 salt myminion s3.get mybucket myfile.png return_bin=True
164891
164892              CLI Example to save the binary contents of an object to a  local
164893              file:
164894                 salt       myminion      s3.get      mybucket      myfile.png
164895                 local_file=/tmp/myfile.png
164896
164897              It is also possible to perform an action on a bucket. Currently,
164898              S3 supports the following actions:
164899
164900                 acl
164901                 cors
164902                 lifecycle
164903                 policy
164904                 location
164905                 logging
164906                 notification
164907                 tagging
164908                 versions
164909                 requestPayment
164910                 versioning
164911                 website
164912
164913              To perform an action on a bucket:
164914                 salt myminion s3.get mybucket myfile.png action=acl
164915
164916       salt.modules.s3.head(bucket,   path=u'',   key=None,  keyid=None,  ser‐
164917       vice_url=None,    verify_ssl=None,    kms_keyid=None,    location=None,
164918       role_arn=None, path_style=None, https_enable=None)
164919              Return the metadata for a bucket, or an object in a bucket.
164920
164921              CLI Examples:
164922                 salt myminion s3.head mybucket salt myminion s3.head mybucket
164923                 myfile.png
164924
164925       salt.modules.s3.put(bucket, path=None,  return_bin=False,  action=None,
164926       local_file=None,    key=None,    keyid=None,   service_url=None,   ver‐
164927       ify_ssl=None,     kms_keyid=None,     location=None,     role_arn=None,
164928       path_style=None, https_enable=None)
164929              Create a new bucket, or upload an object to a bucket.
164930
164931              CLI Example to create a bucket:
164932                 salt myminion s3.put mybucket
164933
164934              CLI Example to upload an object to a bucket:
164935                 salt       myminion      s3.put      mybucket      remotepath
164936                 local_file=/path/to/file
164937
164938   salt.modules.s6 module
164939       s6 service module
164940
164941       This module is compatible with the service states, so it can be used to
164942       maintain services using the provider argument:
164943
164944          myservice:
164945            service:
164946              - running
164947              - provider: s6
164948
164949       Note that the enabled argument is not available with this provider.
164950
164951       codeauthor
164952              Marek Skrobacki <skrobul@skrobul.com>
164953
164954       salt.modules.s6.available(name)
164955              Returns  True  if  the specified service is available, otherwise
164956              returns False.
164957
164958              CLI Example:
164959
164960                 salt '*' s6.available foo
164961
164962       salt.modules.s6.full_restart(name)
164963              Calls s6.restart() function
164964
164965              CLI Example:
164966
164967                 salt '*' s6.full_restart <service name>
164968
164969       salt.modules.s6.get_all()
164970              Return a list of all available services
164971
164972              CLI Example:
164973
164974                 salt '*' s6.get_all
164975
164976       salt.modules.s6.missing(name)
164977              The inverse of s6.available.  Returns True if the specified ser‐
164978              vice is not available, otherwise returns False.
164979
164980              CLI Example:
164981
164982                 salt '*' s6.missing foo
164983
164984       salt.modules.s6.reload_(name)
164985              Send a HUP to service via s6
164986
164987              CLI Example:
164988
164989                 salt '*' s6.reload <service name>
164990
164991       salt.modules.s6.restart(name)
164992              Restart service via s6. This will stop/start service
164993
164994              CLI Example:
164995
164996                 salt '*' s6.restart <service name>
164997
164998       salt.modules.s6.start(name)
164999              Starts service via s6
165000
165001              CLI Example:
165002
165003                 salt '*' s6.start <service name>
165004
165005       salt.modules.s6.status(name, sig=None)
165006              Return the status for a service via s6, return pid if running
165007
165008              CLI Example:
165009
165010                 salt '*' s6.status <service name>
165011
165012       salt.modules.s6.stop(name)
165013              Stops service via s6
165014
165015              CLI Example:
165016
165017                 salt '*' s6.stop <service name>
165018
165019       salt.modules.s6.term(name)
165020              Send a TERM to service via s6
165021
165022              CLI Example:
165023
165024                 salt '*' s6.term <service name>
165025
165026   salt.modules.salt_proxy module
165027       Salt proxy module
165028
165029       New in version 2015.8.3.
165030
165031
165032       Module to deploy and manage salt-proxy processes on a minion.
165033
165034       salt.modules.salt_proxy.configure_proxy(proxyname, start=True)
165035              Create  the  salt  proxy  file  and  start  the proxy process if
165036              required
165037
165038              Parameters
165039
165040                     · proxyname -- Name to be used  for  this  proxy  (should
165041                       match entries in pillar)
165042
165043                     · start  --  Boolean  indicating if the process should be
165044                       started default = True
165045
165046              CLI Example:
165047
165048                 salt deviceminion salt_proxy.configure_proxy p8000
165049
165050       salt.modules.salt_proxy.is_running(proxyname)
165051              Check if the  salt-proxy  process  associated  with  this  proxy
165052              (name) is running.
165053
165054              Returns True if the process is running False otherwise
165055
165056              Parameters
165057                     proxyname -- String name of the proxy (p8000 for example)
165058
165059              CLI Example:
165060
165061                 salt deviceminion salt_proxy.is_running p8000
165062
165063   salt.modules.salt_version
165064       Access Salt's elemental release code-names.
165065
165066       New in version 3000.
165067
165068
165069       Salt's  feature  release  schedule  is  based on the Periodic Table, as
165070       described in the Version Numbers documentation.
165071
165072       When a feature was added (or removed) in a specific release, it can  be
165073       difficult  to build out future-proof functionality that is dependent on
165074       a naming scheme that moves.
165075
165076       For example, a state syntax needs to change to support an  option  that
165077       will  be  removed  in the future, but there are many Minion versions in
165078       use across an infrastructure. It would be handy to use some Jinja  syn‐
165079       tax  to  check  for  these  instances  to perform one state syntax over
165080       another.
165081
165082       A simple example might be something like the following:
165083
165084          {# a boolean check #}
165085          {% set option_deprecated = salt['salt_version.less_than']("Sodium") %}
165086
165087          {% if option_deprecated %}
165088            <use old syntax>
165089          {% else %}
165090            <use new syntax>
165091          {% endif %}
165092
165093       salt.modules.salt_version.equal(name)
165094              Returns a boolean (True) if the minion's  current  version  code
165095              name matches the named version.
165096
165097              name   The release code name to check the version against.
165098
165099              CLI Example:
165100
165101                 salt '*' salt_version.equal 'Oxygen'
165102
165103       salt.modules.salt_version.get_release_number(name)
165104              Returns  the  release  number  of a given release code name in a
165105              MAJOR.PATCH format.
165106
165107              If the release name has not been given an assigned release  num‐
165108              ber,  the  function  returns  a string. If the release cannot be
165109              found, it returns None.
165110
165111              name   The release code name for which to find a release number.
165112
165113              CLI Example:
165114
165115                 salt '*' salt_version.get_release_number 'Oxygen'
165116
165117       salt.modules.salt_version.greater_than(name)
165118              Returns a boolean (True) if the minion's  current  version  code
165119              name is greater than the named version.
165120
165121              name   The release code name to check the version against.
165122
165123              CLI Example:
165124
165125                 salt '*' salt_version.greater_than 'Sodium'
165126
165127       salt.modules.salt_version.less_than(name)
165128              Returns  a  boolean  (True) if the minion's current version code
165129              name is less than the named version.
165130
165131              name   The release code name to check the version against.
165132
165133              CLI Example:
165134
165135                 salt '*' salt_version.less_than 'Sodium'
165136
165137   salt.modules.saltcheck
165138       A module for testing the logic of states and highstates
165139
165140       codeauthor
165141              William Cannon <william.cannon@gmail.com>
165142
165143       maturity
165144              new
165145
165146       Saltcheck provides  unittest  like  functionality  requiring  only  the
165147       knowledge  of  salt module execution and yaml. Saltcheck uses salt mod‐
165148       ules to return data, then runs an assertion against that  return.  This
165149       allows for testing with all the features included in salt modules.
165150
165151       In  order  to  run state and highstate saltcheck tests, a sub-folder in
165152       the state directory must be created and  named  saltcheck-tests.  Tests
165153       for  a  state  should be created in files ending in *.tst and placed in
165154       the saltcheck-tests folder. tst files are run through the salt  render‐
165155       ing  system,  enabling  tests  to  be  written  in yaml (or renderer of
165156       choice), and include jinja, as well  as  the  usual  grain  and  pillar
165157       information.  Like  states,  multiple  tests  can be specified in a tst
165158       file. Multiple tst files can be created in the saltcheck-tests  folder,
165159       and  should be named the same as the associated state. The id of a test
165160       works in the same manner as in salt state files and  should  be  unique
165161       and descriptive.
165162
165163       New in version 3000: The saltcheck-tests folder can be customized using
165164       the saltcheck_test_location minion configuration setting.  This setting
165165       is a relative path from the formula's salt:// path to the test files.
165166
165167
165168   Usage
165169       Example Default file system layout:
165170
165171          /srv/salt/apache/
165172              init.sls
165173              config.sls
165174              saltcheck-tests/
165175                  init.tst
165176                  config.tst
165177                  deployment_validation.tst
165178
165179       Alternative example file system layout with custom saltcheck_test_loca‐
165180       tion:
165181
165182   Minion configuration:
165183          saltcheck_test_location: tests/integration/saltcheck
165184
165185   Filesystem layout:
165186          /srv/salt/apache/
165187              init.sls
165188              config.sls
165189              tests/integration/saltcheck/
165190                  init.tst
165191                  config.tst
165192                  deployment_validation.tst
165193
165194       Tests can be run for each state by name, for all apache/saltcheck/*.tst
165195       files,  or  for all states assigned to the minion in top.sls. Tests may
165196       also be created with no associated  state.  These  tests  will  be  run
165197       through the use of saltcheck.run_state_tests, but will not be automati‐
165198       cally run by saltcheck.run_highstate_tests.
165199
165200          salt '*' saltcheck.run_state_tests apache,apache.config
165201          salt '*' saltcheck.run_state_tests apache check_all=True
165202          salt '*' saltcheck.run_highstate_tests
165203          salt '*' saltcheck.run_state_tests apache.deployment_validation
165204
165205   Saltcheck Keywords
165206       module_and_function:
165207              (str) This is the salt module which will  be  run  locally,  the
165208              same  as  salt-call  --local <module>. The saltcheck.state_apply
165209              module name is special as it bypasses the local option in  order
165210              to resolve state names when run in a master/minion environment.
165211
165212       args:  (list) Optional arguments passed to the salt module
165213
165214       kwargs:
165215              (dict)  Optional keyword arguments to be passed to the salt mod‐
165216              ule
165217
165218       assertion:
165219              (str) One of the supported assertions and  required  except  for
165220              saltcheck.state_apply   Tests   which  fail  the  assertion  and
165221              expected_return, cause saltcheck to exit which a  non-zero  exit
165222              code.
165223
165224       expected_return:
165225              (str)  Required  except  by assertEmpty, assertNotEmpty, assert‐
165226              True, assertFalse. The return of module_and_function is compared
165227              to this value in the assertion.
165228
165229       assertion_section:
165230              (str)  Optional  keyword  used  to parse the module_and_function
165231              return. If a salt module returns a dictionary as a  result,  the
165232              assertion_section  value  is  used to lookup a specific value in
165233              that return for the assertion comparison.
165234
165235       assertion_section_delimiter:
165236              (str) Optional delimiter to use when splitting a  nested  struc‐
165237              ture.  Defaults to ':'
165238
165239       print_result:
165240              (bool)  Optional  keyword  to  show  results in the assertEqual,
165241              assertNotEqual, assertIn, and assertNotIn  output.  Defaults  to
165242              True.
165243
165244       output_details:
165245              (bool)  Optional  keyword  to display module_and_function, args,
165246              assertion_section, and assertion results text in the output.  If
165247              print_result  is  False, assertion results will be hidden.  This
165248              is a per test setting, but can be set globally for all tests  by
165249              adding  saltcheck_output_details:  True in the minion configura‐
165250              tion file.  Defaults to False
165251
165252       pillar_data:
165253              (dict) Optional keyword for passing in pillar data. Intended for
165254              use   in   potential   test   setup   or   teardown   with   the
165255              saltcheck.state_apply function.
165256
165257       skip:  (bool) Optional keyword to skip running the individual test
165258
165259   Sample Cases/Examples
165260   Basic Example
165261          echo_test_hello:
165262            module_and_function: test.echo
165263            args:
165264              - "hello"
165265            kwargs:
165266            assertion: assertEqual
165267            expected_return:  'hello'
165268
165269   Example with jinja
165270          {% for package in ["apache2", "openssh"] %}
165271          {# or another example #}
165272          {# for package in salt['pillar.get']("packages") #}
165273          test_{{ package }}_latest:
165274            module_and_function: pkg.upgrade_available
165275            args:
165276              - {{ package }}
165277            assertion: assertFalse
165278          {% endfor %}
165279
165280   Example with setup state including pillar
165281          setup_test_environment:
165282            module_and_function: saltcheck.state_apply
165283            args:
165284              - common
165285            pillar_data:
165286              data: value
165287
165288          verify_vim:
165289            module_and_function: pkg.version
165290            args:
165291              - vim
165292            assertion: assertNotEmpty
165293
165294   Example with jinja
165295          {% for package in ["apache2", "openssh"] %}
165296          {# or another example #}
165297          {# for package in salt['pillar.get']("packages") #}
165298          test_{{ package }}_latest:
165299            module_and_function: pkg.upgrade_available
165300            args:
165301              - {{ package }}
165302            assertion: assertFalse
165303          {% endfor %}
165304
165305   Example with setup state including pillar
165306          setup_test_environment:
165307            module_and_function: saltcheck.state_apply
165308            args:
165309              - common
165310            pillar-data:
165311              data: value
165312
165313          verify_vim:
165314            module_and_function: pkg.version
165315            args:
165316              - vim
165317            assertion: assertNotEmpty
165318
165319   Example with skip
165320          package_latest:
165321            module_and_function: pkg.upgrade_available
165322            args:
165323              - apache2
165324            assertion: assertFalse
165325            skip: True
165326
165327   Example with assertion_section
165328          validate_shell:
165329            module_and_function: user.info
165330            args:
165331              - root
165332            assertion: assertEqual
165333            expected_return: /bin/bash
165334            assertion_section: shell
165335
165336   Example with a nested assertion_section
165337          validate_smb_signing:
165338            module_and_function: lgpo.get
165339            args:
165340              - 'Machine'
165341            kwargs:
165342              return_full_policy_names: True
165343            assertion: assertEqual
165344            expected_return: Enabled
165345            assertion_section: 'Computer Configuration|Microsoft network client: Digitally sign communications (always)'
165346            assertion_section_delimiter: '|'
165347
165348   Example suppressing print results
165349          validate_env_nameNode:
165350            module_and_function: hadoop.dfs
165351            args:
165352              - text
165353              - /oozie/common/env.properties
165354            expected_return: nameNode = hdfs://nameservice2
165355            assertion: assertNotIn
165356            print_result: False
165357
165358   Supported assertions
165359       · assertEqual
165360
165361       · assertNotEqual
165362
165363       · assertTrue
165364
165365       · assertFalse
165366
165367       · assertIn
165368
165369       · assertNotIn
165370
165371       · assertGreater
165372
165373       · assertGreaterEqual
165374
165375       · assertLess
165376
165377       · assertLessEqual
165378
165379       · assertEmpty
165380
165381       · assertNotEmpty
165382
165383       WARNING:
165384          The saltcheck.state_apply function is an alias for  state.apply.  If
165385          using  the ACL system saltcheck.* might provide more capability than
165386          intended if only saltcheck.run_state_tests  and  saltcheck.run_high‐
165387          state_tests are needed.
165388
165389       salt.modules.saltcheck.report_highstate_tests(saltenv=None)
165390              Report  on tests for states assigned to the minion through high‐
165391              state.  Quits with the exit  code  for  the  number  of  missing
165392              tests.
165393
165394              CLI Example:
165395
165396                 salt '*' saltcheck.report_highstate_tests
165397
165398              New in version 3000.
165399
165400
165401       salt.modules.saltcheck.run_highstate_tests(saltenv=None)
165402              Execute  all  tests  for  states  assigned to the minion through
165403              highstate and return results
165404
165405              CLI Example:
165406
165407                 salt '*' saltcheck.run_highstate_tests
165408
165409       salt.modules.saltcheck.run_state_tests(state,             saltenv=None,
165410       check_all=False)
165411              Execute  tests for a salt state and return results Nested states
165412              will also be tested
165413
165414              Parameters
165415
165416                     · state (str) -- state name for which to  run  associated
165417                       .tst test files
165418
165419                     · saltenv (str) -- optional saltenv. Defaults to base
165420
165421                     · check_all  (bool)  --  boolean  to  run  all  tests  in
165422                       state/saltcheck-tests directory
165423
165424              CLI Example:
165425
165426                 salt '*' saltcheck.run_state_tests postfix,common
165427
165428       salt.modules.saltcheck.run_state_tests_ssh(state,         saltenv=None,
165429       check_all=False)
165430              This function is an alias of run_state_tests.
165431                 Execute  tests  for  a  salt  state and return results Nested
165432                 states will also be tested
165433
165434                 param str state
165435                        state name for which to run associated .tst test files
165436
165437                 param str saltenv
165438                        optional saltenv. Defaults to base
165439
165440                 param bool check_all
165441                        boolean to  run  all  tests  in  state/saltcheck-tests
165442                        directory
165443
165444                 CLI Example:
165445
165446                     salt '*' saltcheck.run_state_tests postfix,common
165447
165448       salt.modules.saltcheck.run_test(**kwargs)
165449              Execute one saltcheck test and return result
165450
165451              Parameters
165452                     arg test (keyword) --
165453
165454              CLI Example:
165455
165456                 salt '*' saltcheck.run_test
165457                     test='{"module_and_function": "test.echo",
165458                            "assertion": "assertEqual",
165459                            "expected_return": "This works!",
165460                            "args":["This works!"] }'
165461
165462       salt.modules.saltcheck.state_apply(state_name, **kwargs)
165463              Runs  state.apply  with  given  options  to  set  up  test data.
165464              Intended to be used for optional test setup or teardown
165465
165466              Reference the state.apply module documentation for arguments and
165467              usage options
165468
165469              CLI Example:
165470
165471                 salt '*' saltcheck.state_apply postfix
165472
165473   salt.modules.saltcloudmod
165474       Control a salt cloud system
165475
165476       salt.modules.saltcloudmod.create(name, profile)
165477              Create the named vm
165478
165479              CLI Example:
165480
165481                 salt <minion-id> saltcloud.create webserver rackspace_centos_512
165482
165483   salt.modules.saltutil
165484       The  Saltutil  module  is  used  to manage the state of the salt minion
165485       itself. It is used to manage minion modules as well as automate updates
165486       to the salt minion.
165487
165488       depends
165489
165490              · esky Python module for update functionality
165491
165492       salt.modules.saltutil.clear_cache()
165493              Forcibly removes all caches on a minion.
165494
165495              New in version 2014.7.0.
165496
165497
165498              WARNING:  The  safest  way  to  clear a minion cache is by first
165499              stopping the minion and then deleting  the  cache  files  before
165500              restarting it.
165501
165502              CLI Example:
165503
165504                 salt '*' saltutil.clear_cache
165505
165506       salt.modules.saltutil.clear_job_cache(hours=24)
165507              Forcibly removes job cache folders and files on a minion.
165508
165509              New in version 2018.3.0.
165510
165511
165512              WARNING:  The  safest  way  to  clear a minion cache is by first
165513              stopping the minion and then deleting  the  cache  files  before
165514              restarting it.
165515
165516              CLI Example:
165517
165518                 salt '*' saltutil.clear_job_cache hours=12
165519
165520       salt.modules.saltutil.cmd(tgt,      fun,      arg=(),     timeout=None,
165521       tgt_type=u'glob', ret=u'', kwarg=None, ssh=False, **kwargs)
165522              Changed in version 2017.7.0: The  expr_form  argument  has  been
165523              renamed to tgt_type, earlier releases must use expr_form.
165524
165525
165526              Assuming this minion is a master, execute a salt command
165527
165528              CLI Example:
165529
165530                 salt '*' saltutil.cmd
165531
165532       salt.modules.saltutil.cmd_iter(tgt,    fun,    arg=(),    timeout=None,
165533       tgt_type=u'glob', ret=u'', kwarg=None, ssh=False, **kwargs)
165534              Changed in version 2017.7.0: The  expr_form  argument  has  been
165535              renamed to tgt_type, earlier releases must use expr_form.
165536
165537
165538              Assuming this minion is a master, execute a salt command
165539
165540              CLI Example:
165541
165542                 salt '*' saltutil.cmd_iter
165543
165544       salt.modules.saltutil.find_cached_job(jid)
165545              Return  the  data  for  a specific cached job id. Note this only
165546              works if cache_jobs has previously been set to True on the  min‐
165547              ion.
165548
165549              CLI Example:
165550
165551                 salt '*' saltutil.find_cached_job <job id>
165552
165553       salt.modules.saltutil.find_job(jid)
165554              Return the data for a specific job id that is currently running.
165555
165556              jid    The job id to search for and return data.
165557
165558              CLI Example:
165559
165560                 salt '*' saltutil.find_job <job id>
165561
165562              Note  that  the  find_job  function only returns job information
165563              when the job is still running. If the job is currently  running,
165564              the output looks something like this:
165565
165566                 # salt my-minion saltutil.find_job 20160503150049487736
165567                 my-minion:
165568                     ----------
165569                     arg:
165570                         - 30
165571                     fun:
165572                         test.sleep
165573                     jid:
165574                         20160503150049487736
165575                     pid:
165576                         9601
165577                     ret:
165578                     tgt:
165579                         my-minion
165580                     tgt_type:
165581                         glob
165582                     user:
165583                         root
165584
165585              If  the  job  has already completed, the job cannot be found and
165586              therefore the function returns an empty dictionary, which  looks
165587              like this on the CLI:
165588
165589                 # salt my-minion saltutil.find_job 20160503150049487736
165590                 my-minion:
165591                     ----------
165592
165593       salt.modules.saltutil.is_running(fun)
165594              If the named function is running return the data associated with
165595              it/them.  The argument can be a glob
165596
165597              CLI Example:
165598
165599                 salt '*' saltutil.is_running state.highstate
165600
165601       salt.modules.saltutil.kill_all_jobs()
165602              Sends a kill signal (SIGKILL 9) to all currently running jobs
165603
165604              CLI Example:
165605
165606                 salt '*' saltutil.kill_all_jobs
165607
165608       salt.modules.saltutil.kill_job(jid)
165609              Sends a kill signal (SIGKILL 9) to the named salt job's process
165610
165611              CLI Example:
165612
165613                 salt '*' saltutil.kill_job <job id>
165614
165615       salt.modules.saltutil.list_extmods()
165616              New in version 2017.7.0.
165617
165618
165619              List Salt modules which have been synced externally
165620
165621              CLI Examples:
165622
165623                 salt '*' saltutil.list_extmods
165624
165625       salt.modules.saltutil.mmodule(saltenv, fun, *args, **kwargs)
165626              Loads minion modules from an environment so  that  they  can  be
165627              used in pillars for that environment
165628
165629              CLI Example:
165630
165631                 salt '*' saltutil.mmodule base test.ping
165632
165633       salt.modules.saltutil.refresh_beacons()
165634              Signal the minion to refresh the beacons.
165635
165636              CLI Example:
165637
165638                 salt '*' saltutil.refresh_beacons
165639
165640       salt.modules.saltutil.refresh_grains(**kwargs)
165641              New in version 2016.3.6,2016.11.4,2017.7.0.
165642
165643
165644              Refresh  the  minion's grains without syncing custom grains mod‐
165645              ules from salt://_grains.
165646
165647              NOTE:
165648                 The available execution modules will be reloaded as  part  of
165649                 this  proceess, as grains can affect which modules are avail‐
165650                 able.
165651
165652              refresh_pillar
165653                     True  Set  to  False  to  keep  pillar  data  from  being
165654                     refreshed.
165655
165656              CLI Examples:
165657
165658                 salt '*' saltutil.refresh_grains
165659
165660       salt.modules.saltutil.refresh_matchers()
165661              Signal the minion to refresh its matchers.
165662
165663              CLI Example:
165664
165665                 salt '*' saltutil.refresh_matchers
165666
165667       salt.modules.saltutil.refresh_modules(**kwargs)
165668              Signal the minion to refresh the module and grain data
165669
165670              The  default is to refresh module asynchronously. To block until
165671              the module refresh is complete, set the 'async' flag to False.
165672
165673              CLI Example:
165674
165675                 salt '*' saltutil.refresh_modules
165676
165677       salt.modules.saltutil.refresh_pillar(wait=False, timeout=30)
165678              Signal the minion to refresh the pillar data.
165679
165680              Parameters
165681
165682                     · wait (bool, optional) -- Wait  for  pillar  refresh  to
165683                       complete, defaults to False.
165684
165685                     · timeout (int, optional) -- How long to wait in seconds,
165686                       only used when wait is True, defaults to 30.
165687
165688              Returns
165689                     Boolean status, True when the  pillar_refresh  event  was
165690                     fired successfully.
165691
165692              CLI Example:
165693
165694                 salt '*' saltutil.refresh_pillar
165695
165696       salt.modules.saltutil.regen_keys()
165697              Used to regenerate the minion keys.
165698
165699              CLI Example:
165700
165701                 salt '*' saltutil.regen_keys
165702
165703       salt.modules.saltutil.revoke_auth(preserve_minion_cache=False)
165704              The  minion sends a request to the master to revoke its own key.
165705              Note that the minion session will be revoked and the minion  may
165706              not  be  able  to  return the result of this command back to the
165707              master.
165708
165709              If the 'preserve_minion_cache' flag is set to True,  the  master
165710              cache for this minion will not be removed.
165711
165712              CLI Example:
165713
165714                 salt '*' saltutil.revoke_auth
165715
165716       salt.modules.saltutil.runner(name,         arg=None,        kwarg=None,
165717       full_return=False, saltenv=u'base', jid=None, **kwargs)
165718              Execute a runner function. This function must be run on the mas‐
165719              ter,  either  by  targeting  a  minion running on a master or by
165720              using salt-call on a master.
165721
165722              New in version 2014.7.0.
165723
165724
165725              name   The name of the function to run
165726
165727              kwargs Any keyword arguments to pass to the runner function
165728
165729              CLI Example:
165730
165731              In this example, assume that master_minion is a  minion  running
165732              on a master.
165733
165734                 salt master_minion saltutil.runner jobs.list_jobs
165735                 salt master_minion saltutil.runner test.arg arg="['baz']" kwarg="{'foo': 'bar'}"
165736
165737       salt.modules.saltutil.running()
165738              Return the data on all running salt processes on the minion
165739
165740              CLI Example:
165741
165742                 salt '*' saltutil.running
165743
165744       salt.modules.saltutil.signal_job(jid, sig)
165745              Sends a signal to the named salt job's process
165746
165747              CLI Example:
165748
165749                 salt '*' saltutil.signal_job <job id> 15
165750
165751       salt.modules.saltutil.sync_all(saltenv=None,              refresh=True,
165752       extmod_whitelist=None, extmod_blacklist=None)
165753              Changed in version 2015.8.11,2016.3.2:  On  masterless  minions,
165754              pillar modules are now synced, and refreshed when refresh is set
165755              to True.
165756
165757
165758              Sync down all of the dynamic modules from the file server for  a
165759              specific environment. This function synchronizes custom modules,
165760              states, beacons, grains, returners, output  modules,  renderers,
165761              and utils.
165762
165763              refresh
165764                     True  Also  refresh  the  execution modules and recompile
165765                     pillar data available to the minion. This refresh will be
165766                     performed  even if no new dynamic modules are synced. Set
165767                     to False to prevent this refresh.
165768
165769              IMPORTANT:
165770                 If this function is executed using a  module.run  state,  the
165771                 SLS  file will not have access to newly synced execution mod‐
165772                 ules unless a refresh argument is added to  the  state,  like
165773                 so:
165774
165775                     load_my_custom_module:
165776                       module.run:
165777                         - name: saltutil.sync_all
165778                         - refresh: True
165779
165780                 See  here for a more detailed explanation of why this is nec‐
165781                 essary.
165782
165783              extmod_whitelist
165784                     None dictionary of modules to sync based on type
165785
165786              extmod_blacklist
165787                     None dictionary of modules to blacklist based on type
165788
165789              CLI Examples:
165790
165791                 salt '*' saltutil.sync_all
165792                 salt '*' saltutil.sync_all saltenv=dev
165793                 salt '*' saltutil.sync_all saltenv=base,dev
165794                 salt '*' saltutil.sync_all extmod_whitelist={'modules': ['custom_module']}
165795
165796       salt.modules.saltutil.sync_beacons(saltenv=None,          refresh=True,
165797       extmod_whitelist=None, extmod_blacklist=None)
165798              New in version 2015.5.1.
165799
165800
165801              Sync beacons from salt://_beacons to the minion
165802
165803              saltenv
165804                     The  fileserver  environment  from which to sync. To sync
165805                     from more than one environment,  pass  a  comma-separated
165806                     list.
165807
165808                     If  not  passed,  then all environments configured in the
165809                     top files will be checked for beacons to sync. If no  top
165810                     files  are  found,  then  the  base  environment  will be
165811                     synced.
165812
165813              refresh
165814                     True If True, refresh the available beacons on  the  min‐
165815                     ion.  This  refresh will be performed even if no new bea‐
165816                     cons are synced. Set to False to prevent this refresh.
165817
165818              extmod_whitelist
165819                     None comma-seperated list of modules to sync
165820
165821              extmod_blacklist
165822                     None comma-seperated list of modules to  blacklist  based
165823                     on type
165824
165825              CLI Example:
165826
165827                 salt '*' saltutil.sync_beacons
165828                 salt '*' saltutil.sync_beacons saltenv=dev
165829                 salt '*' saltutil.sync_beacons saltenv=base,dev
165830
165831       salt.modules.saltutil.sync_clouds(saltenv=None,           refresh=True,
165832       extmod_whitelist=None, extmod_blacklist=None)
165833              New in version 2017.7.0.
165834
165835
165836              Sync cloud modules from salt://_cloud to the minion
165837
165838              saltenv
165839                     base The fileserver environment from which  to  sync.  To
165840                     sync  from  more than one environment, pass a comma-sepa‐
165841                     rated list.
165842
165843              refresh
165844                     True If True, refresh the available execution modules  on
165845                     the  minion.   This  refresh will be performed even if no
165846                     new utility modules are synced. Set to False  to  prevent
165847                     this refresh.
165848
165849              extmod_whitelist
165850                     None comma-seperated list of modules to sync
165851
165852              extmod_blacklist
165853                     None  comma-seperated  list of modules to blacklist based
165854                     on type
165855
165856              CLI Examples:
165857
165858                 salt '*' saltutil.sync_clouds
165859                 salt '*' saltutil.sync_clouds saltenv=dev
165860                 salt '*' saltutil.sync_clouds saltenv=base,dev
165861
165862       salt.modules.saltutil.sync_engines(saltenv=None,         refresh=False,
165863       extmod_whitelist=None, extmod_blacklist=None)
165864              New in version 2016.3.0.
165865
165866
165867              Sync engine modules from salt://_engines to the minion
165868
165869              saltenv
165870                     The  fileserver  environment  from which to sync. To sync
165871                     from more than one environment,  pass  a  comma-separated
165872                     list.
165873
165874                     If  not  passed,  then all environments configured in the
165875                     top files will be checked for engines to sync. If no  top
165876                     files  are  found,  then  the  base  environment  will be
165877                     synced.
165878
165879              refresh
165880                     True If True, refresh the available execution modules  on
165881                     the  minion.   This  refresh will be performed even if no
165882                     new engine modules are synced.  Set to False  to  prevent
165883                     this refresh.
165884
165885              extmod_whitelist
165886                     None comma-seperated list of modules to sync
165887
165888              extmod_blacklist
165889                     None  comma-seperated  list of modules to blacklist based
165890                     on type
165891
165892              CLI Examples:
165893
165894                 salt '*' saltutil.sync_engines
165895                 salt '*' saltutil.sync_engines saltenv=base,dev
165896
165897       salt.modules.saltutil.sync_executors(saltenv=None,        refresh=True,
165898       extmod_whitelist=None, extmod_blacklist=None)
165899              New in version 3000.
165900
165901
165902              Sync executors from salt://_executors to the minion
165903
165904              saltenv
165905                     The  fileserver  environment  from which to sync. To sync
165906                     from more than one environment,  pass  a  comma-separated
165907                     list.
165908
165909                     If  not  passed,  then all environments configured in the
165910                     top files will be checked for log handlers to sync. If no
165911                     top  files  are  found, then the base environment will be
165912                     synced.
165913
165914              refresh
165915                     True If True, refresh the available execution modules  on
165916                     the  minion.   This  refresh will be performed even if no
165917                     new log handlers are synced.  Set  to  False  to  prevent
165918                     this refresh.
165919
165920              extmod_whitelist
165921                     None comma-seperated list of modules to sync
165922
165923              extmod_blacklist
165924                     None  comma-seperated  list of modules to blacklist based
165925                     on type
165926
165927              CLI Examples:
165928
165929                 salt '*' saltutil.sync_executors
165930                 salt '*' saltutil.sync_executors saltenv=dev
165931                 salt '*' saltutil.sync_executors saltenv=base,dev
165932
165933       salt.modules.saltutil.sync_grains(saltenv=None,           refresh=True,
165934       extmod_whitelist=None, extmod_blacklist=None)
165935              New in version 0.10.0.
165936
165937
165938              Sync grains modules from salt://_grains to the minion
165939
165940              saltenv
165941                     The  fileserver  environment  from which to sync. To sync
165942                     from more than one environment,  pass  a  comma-separated
165943                     list.
165944
165945                     If  not  passed,  then all environments configured in the
165946                     top files will be checked for grains modules to sync.  If
165947                     no top files are found, then the base environment will be
165948                     synced.
165949
165950              refresh
165951                     True If True, refresh the available execution modules and
165952                     recompile  pillar  data for the minion. This refresh will
165953                     be performed even if no new grains  modules  are  synced.
165954                     Set to False to prevent this refresh.
165955
165956              extmod_whitelist
165957                     None comma-seperated list of modules to sync
165958
165959              extmod_blacklist
165960                     None  comma-seperated  list of modules to blacklist based
165961                     on type
165962
165963              CLI Examples:
165964
165965                 salt '*' saltutil.sync_grains
165966                 salt '*' saltutil.sync_grains saltenv=dev
165967                 salt '*' saltutil.sync_grains saltenv=base,dev
165968
165969       salt.modules.saltutil.sync_log_handlers(saltenv=None,     refresh=True,
165970       extmod_whitelist=None, extmod_blacklist=None)
165971              New in version 2015.8.0.
165972
165973
165974              Sync log handlers from salt://_log_handlers to the minion
165975
165976              saltenv
165977                     The  fileserver  environment  from which to sync. To sync
165978                     from more than one environment,  pass  a  comma-separated
165979                     list.
165980
165981                     If  not  passed,  then all environments configured in the
165982                     top files will be checked for log handlers to sync. If no
165983                     top  files  are  found, then the base environment will be
165984                     synced.
165985
165986              refresh
165987                     True If True, refresh the available execution modules  on
165988                     the  minion.   This  refresh will be performed even if no
165989                     new log handlers are synced.  Set  to  False  to  prevent
165990                     this refresh.
165991
165992              extmod_whitelist
165993                     None comma-seperated list of modules to sync
165994
165995              extmod_blacklist
165996                     None  comma-seperated  list of modules to blacklist based
165997                     on type
165998
165999              CLI Examples:
166000
166001                 salt '*' saltutil.sync_log_handlers
166002                 salt '*' saltutil.sync_log_handlers saltenv=dev
166003                 salt '*' saltutil.sync_log_handlers saltenv=base,dev
166004
166005       salt.modules.saltutil.sync_matchers(saltenv=None,        refresh=False,
166006       extmod_whitelist=None, extmod_blacklist=None)
166007              New in version 2019.2.0.
166008
166009
166010              Sync engine modules from salt://_matchers to the minion
166011
166012              saltenv
166013                     The  fileserver  environment  from which to sync. To sync
166014                     from more than one environment,  pass  a  comma-separated
166015                     list.
166016
166017                     If  not  passed,  then all environments configured in the
166018                     top files will be checked for engines to sync. If no  top
166019                     files  are  found,  then  the  base  environment  will be
166020                     synced.
166021
166022              refresh
166023                     True If True, refresh the available execution modules  on
166024                     the  minion.   This  refresh will be performed even if no
166025                     new matcher modules are synced.  Set to False to  prevent
166026                     this refresh.
166027
166028              extmod_whitelist
166029                     None comma-separated list of modules to sync
166030
166031              extmod_blacklist
166032                     None  comma-separated  list of modules to blacklist based
166033                     on type
166034
166035              CLI Examples:
166036
166037                 salt '*' saltutil.sync_matchers
166038                 salt '*' saltutil.sync_matchers saltenv=base,dev
166039
166040       salt.modules.saltutil.sync_modules(saltenv=None,          refresh=True,
166041       extmod_whitelist=None, extmod_blacklist=None)
166042              New in version 0.10.0.
166043
166044
166045              Sync execution modules from salt://_modules to the minion
166046
166047              saltenv
166048                     The  fileserver  environment  from which to sync. To sync
166049                     from more than one environment,  pass  a  comma-separated
166050                     list.
166051
166052                     If  not  passed,  then all environments configured in the
166053                     top files will be checked for execution modules to  sync.
166054                     If no top files are found, then the base environment will
166055                     be synced.
166056
166057              refresh
166058                     True If True, refresh the available execution modules  on
166059                     the  minion.   This  refresh will be performed even if no
166060                     new execution modules are synced. Set to False to prevent
166061                     this refresh.
166062
166063              IMPORTANT:
166064                 If  this  function  is executed using a module.run state, the
166065                 SLS file will not have access to newly synced execution  mod‐
166066                 ules  unless  a  refresh argument is added to the state, like
166067                 so:
166068
166069                     load_my_custom_module:
166070                       module.run:
166071                         - name: saltutil.sync_modules
166072                         - refresh: True
166073
166074                 See here for a more detailed explanation of why this is  nec‐
166075                 essary.
166076
166077              extmod_whitelist
166078                     None comma-seperated list of modules to sync
166079
166080              extmod_blacklist
166081                     None  comma-seperated  list of modules to blacklist based
166082                     on type
166083
166084              CLI Example:
166085
166086                 salt '*' saltutil.sync_modules
166087                 salt '*' saltutil.sync_modules saltenv=dev
166088                 salt '*' saltutil.sync_modules saltenv=base,dev
166089
166090       salt.modules.saltutil.sync_output(saltenv=None,           refresh=True,
166091       extmod_whitelist=None, extmod_blacklist=None)
166092              Sync outputters from salt://_output to the minion
166093
166094              saltenv
166095                     The  fileserver  environment  from which to sync. To sync
166096                     from more than one environment,  pass  a  comma-separated
166097                     list.
166098
166099                     If  not  passed,  then all environments configured in the
166100                     top files will be checked for outputters to sync.  If  no
166101                     top  files  are  found, then the base environment will be
166102                     synced.
166103
166104              refresh
166105                     True If True, refresh the available execution modules  on
166106                     the  minion.   This  refresh will be performed even if no
166107                     new outputters are synced.  Set to False to prevent  this
166108                     refresh.
166109
166110              extmod_whitelist
166111                     None comma-seperated list of modules to sync
166112
166113              extmod_blacklist
166114                     None  comma-seperated  list of modules to blacklist based
166115                     on type
166116
166117              CLI Examples:
166118
166119                 salt '*' saltutil.sync_output
166120                 salt '*' saltutil.sync_output saltenv=dev
166121                 salt '*' saltutil.sync_output saltenv=base,dev
166122
166123       salt.modules.saltutil.sync_outputters(saltenv=None,       refresh=True,
166124       extmod_whitelist=None, extmod_blacklist=None)
166125              This function is an alias of sync_output.
166126                 Sync outputters from salt://_output to the minion
166127
166128                 saltenv
166129                        The fileserver environment from which to sync. To sync
166130                        from more than one environment, pass a comma-separated
166131                        list.
166132
166133                        If not passed, then all environments configured in the
166134                        top files will be checked for outputters to  sync.  If
166135                        no top files are found, then the base environment will
166136                        be synced.
166137
166138                 refresh
166139                        True If True, refresh the available execution  modules
166140                        on the minion.  This refresh will be performed even if
166141                        no new outputters are synced.  Set to False to prevent
166142                        this refresh.
166143
166144                 extmod_whitelist
166145                        None comma-seperated list of modules to sync
166146
166147                 extmod_blacklist
166148                        None  comma-seperated  list  of  modules  to blacklist
166149                        based on type
166150
166151                 CLI Examples:
166152
166153                     salt '*' saltutil.sync_output
166154                     salt '*' saltutil.sync_output saltenv=dev
166155                     salt '*' saltutil.sync_output saltenv=base,dev
166156
166157       salt.modules.saltutil.sync_pillar(saltenv=None,           refresh=True,
166158       extmod_whitelist=None, extmod_blacklist=None)
166159              New in version 2015.8.11,2016.3.2.
166160
166161
166162              Sync  pillar  modules  from  the salt://_pillar directory on the
166163              Salt fileserver. This function is  environment-aware,  pass  the
166164              desired  environment  to grab the contents of the _pillar direc‐
166165              tory from that environment. The default environment, if none  is
166166              specified,  is base.
166167
166168              refresh
166169                     True  Also refresh the execution modules available to the
166170                     minion, and refresh pillar data.
166171
166172              extmod_whitelist
166173                     None comma-seperated list of modules to sync
166174
166175              extmod_blacklist
166176                     None comma-seperated list of modules to  blacklist  based
166177                     on type
166178
166179              NOTE:
166180                 This  function  will  raise  an error if executed on a tradi‐
166181                 tional (i.e.  not masterless) minion
166182
166183              CLI Examples:
166184
166185                 salt '*' saltutil.sync_pillar
166186                 salt '*' saltutil.sync_pillar saltenv=dev
166187
166188       salt.modules.saltutil.sync_proxymodules(saltenv=None,    refresh=False,
166189       extmod_whitelist=None, extmod_blacklist=None)
166190              New in version 2015.8.2.
166191
166192
166193              Sync proxy modules from salt://_proxy to the minion
166194
166195              saltenv
166196                     The  fileserver  environment  from which to sync. To sync
166197                     from more than one environment,  pass  a  comma-separated
166198                     list.
166199
166200                     If  not  passed,  then all environments configured in the
166201                     top files will be checked for proxy modules to  sync.  If
166202                     no top files are found, then the base environment will be
166203                     synced.
166204
166205              refresh
166206                     True If True, refresh the available execution modules  on
166207                     the  minion.   This  refresh will be performed even if no
166208                     new proxy modules are synced.  Set to  False  to  prevent
166209                     this refresh.
166210
166211              extmod_whitelist
166212                     None comma-seperated list of modules to sync
166213
166214              extmod_blacklist
166215                     None  comma-seperated  list of modules to blacklist based
166216                     on type
166217
166218              CLI Examples:
166219
166220                 salt '*' saltutil.sync_proxymodules
166221                 salt '*' saltutil.sync_proxymodules saltenv=dev
166222                 salt '*' saltutil.sync_proxymodules saltenv=base,dev
166223
166224       salt.modules.saltutil.sync_renderers(saltenv=None,        refresh=True,
166225       extmod_whitelist=None, extmod_blacklist=None)
166226              New in version 0.10.0.
166227
166228
166229              Sync renderers from salt://_renderers to the minion
166230
166231              saltenv
166232                     The  fileserver  environment  from which to sync. To sync
166233                     from more than one environment,  pass  a  comma-separated
166234                     list.
166235
166236                     If  not  passed,  then all environments configured in the
166237                     top files will be checked for renderers to  sync.  If  no
166238                     top  files  are  found, then the base environment will be
166239                     synced.
166240
166241              refresh
166242                     True If True, refresh the available execution modules  on
166243                     the  minion.   This  refresh will be performed even if no
166244                     new renderers are synced.  Set to False to  prevent  this
166245                     refresh. Set to False to prevent this refresh.
166246
166247              extmod_whitelist
166248                     None comma-seperated list of modules to sync
166249
166250              extmod_blacklist
166251                     None  comma-seperated  list of modules to blacklist based
166252                     on type
166253
166254              CLI Examples:
166255
166256                 salt '*' saltutil.sync_renderers
166257                 salt '*' saltutil.sync_renderers saltenv=dev
166258                 salt '*' saltutil.sync_renderers saltenv=base,dev
166259
166260       salt.modules.saltutil.sync_returners(saltenv=None,        refresh=True,
166261       extmod_whitelist=None, extmod_blacklist=None)
166262              New in version 0.10.0.
166263
166264
166265              Sync returners from salt://_returners to the minion
166266
166267              saltenv
166268                     The  fileserver  environment  from which to sync. To sync
166269                     from more than one environment,  pass  a  comma-separated
166270                     list.
166271
166272                     If  not  passed,  then all environments configured in the
166273                     top files will be checked for returners to  sync.  If  no
166274                     top  files  are  found, then the base environment will be
166275                     synced.
166276
166277              refresh
166278                     True If True, refresh the available execution modules  on
166279                     the  minion.   This  refresh will be performed even if no
166280                     new returners are synced. Set to False  to  prevent  this
166281                     refresh.
166282
166283              extmod_whitelist
166284                     None comma-seperated list of modules to sync
166285
166286              extmod_blacklist
166287                     None  comma-seperated  list of modules to blacklist based
166288                     on type
166289
166290              CLI Examples:
166291
166292                 salt '*' saltutil.sync_returners
166293                 salt '*' saltutil.sync_returners saltenv=dev
166294
166295       salt.modules.saltutil.sync_sdb(saltenv=None,     extmod_whitelist=None,
166296       extmod_blacklist=None)
166297              New in version 2015.5.8,2015.8.3.
166298
166299
166300              Sync sdb modules from salt://_sdb to the minion
166301
166302              saltenv
166303                     The  fileserver  environment  from which to sync. To sync
166304                     from more than one environment,  pass  a  comma-separated
166305                     list.
166306
166307                     If  not  passed,  then all environments configured in the
166308                     top files will be checked for sdb modules to sync. If  no
166309                     top  files  are  found, then the base environment will be
166310                     synced.
166311
166312              refresh
166313                     False This argument has no affect  and  is  included  for
166314                     consistency with the other sync functions.
166315
166316              extmod_whitelist
166317                     None comma-seperated list of modules to sync
166318
166319              extmod_blacklist
166320                     None  comma-seperated  list of modules to blacklist based
166321                     on type
166322
166323              CLI Example:
166324
166325                 salt '*' saltutil.sync_sdb
166326                 salt '*' saltutil.sync_sdb saltenv=dev
166327                 salt '*' saltutil.sync_sdb saltenv=base,dev
166328
166329       salt.modules.saltutil.sync_serializers(saltenv=None,      refresh=True,
166330       extmod_whitelist=None, extmod_blacklist=None)
166331              New in version 2019.2.0.
166332
166333
166334              Sync serializers from salt://_serializers to the minion
166335
166336              saltenv
166337                     The  fileserver  environment  from which to sync. To sync
166338                     from more than one environment,  pass  a  comma-separated
166339                     list.
166340
166341                     If  not  passed,  then all environments configured in the
166342                     top files will be checked for serializer modules to sync.
166343                     If no top files are found, then the base environment will
166344                     be synced.
166345
166346              refresh
166347                     True If True, refresh the available execution modules  on
166348                     the  minion.   This  refresh will be performed even if no
166349                     new serializer modules are synced. Set to False  to  pre‐
166350                     vent this refresh.
166351
166352              extmod_whitelist
166353                     None comma-seperated list of modules to sync
166354
166355              extmod_blacklist
166356                     None  comma-seperated  list of modules to blacklist based
166357                     on type
166358
166359              CLI Examples:
166360
166361                 salt '*' saltutil.sync_serializers
166362                 salt '*' saltutil.sync_serializers saltenv=dev
166363                 salt '*' saltutil.sync_serializers saltenv=base,dev
166364
166365       salt.modules.saltutil.sync_states(saltenv=None,           refresh=True,
166366       extmod_whitelist=None, extmod_blacklist=None)
166367              New in version 0.10.0.
166368
166369
166370              Sync state modules from salt://_states to the minion
166371
166372              saltenv
166373                     The  fileserver  environment  from which to sync. To sync
166374                     from more than one environment,  pass  a  comma-separated
166375                     list.
166376
166377                     If  not  passed,  then all environments configured in the
166378                     top files will be checked for state modules to  sync.  If
166379                     no top files are found, then the base environment will be
166380                     synced.
166381
166382              refresh
166383                     True If True, refresh the available states on the minion.
166384                     This  refresh will be performed even if no new state mod‐
166385                     ules are synced. Set to False to prevent this refresh.
166386
166387              extmod_whitelist
166388                     None comma-seperated list of modules to sync
166389
166390              extmod_blacklist
166391                     None comma-seperated list of modules to  blacklist  based
166392                     on type
166393
166394              CLI Examples:
166395
166396                 salt '*' saltutil.sync_states
166397                 salt '*' saltutil.sync_states saltenv=dev
166398                 salt '*' saltutil.sync_states saltenv=base,dev
166399
166400       salt.modules.saltutil.sync_thorium(saltenv=None,         refresh=False,
166401       extmod_whitelist=None, extmod_blacklist=None)
166402              New in version 2018.3.0.
166403
166404
166405              Sync Thorium modules from salt://_thorium to the minion
166406
166407              saltenv
166408                     The fileserver environment from which to  sync.  To  sync
166409                     from  more  than  one environment, pass a comma-separated
166410                     list.
166411
166412                     If not passed, then all environments  configured  in  the
166413                     top  files will be checked for engines to sync. If no top
166414                     files are  found,  then  the  base  environment  will  be
166415                     synced.
166416
166417              refresh: True
166418                     If  True,  refresh the available execution modules on the
166419                     minion.  This refresh will be performed even  if  no  new
166420                     Thorium modules are synced.  Set to False to prevent this
166421                     refresh.
166422
166423              extmod_whitelist
166424                     comma-seperated list of modules to sync
166425
166426              extmod_blacklist
166427                     comma-seperated list of modules  to  blacklist  based  on
166428                     type
166429
166430              CLI Examples:
166431
166432                 salt '*' saltutil.sync_thorium
166433                 salt '*' saltutil.sync_thorium saltenv=base,dev
166434
166435       salt.modules.saltutil.sync_utils(saltenv=None,            refresh=True,
166436       extmod_whitelist=None, extmod_blacklist=None)
166437              New in version 2014.7.0.
166438
166439
166440              Sync utility modules from salt://_utils to the minion
166441
166442              saltenv
166443                     The fileserver environment from which to  sync.  To  sync
166444                     from  more  than  one environment, pass a comma-separated
166445                     list.
166446
166447                     If not passed, then all environments  configured  in  the
166448                     top files will be checked for utility modules to sync. If
166449                     no top files are found, then the base environment will be
166450                     synced.
166451
166452              refresh
166453                     True  If True, refresh the available execution modules on
166454                     the minion.  This refresh will be performed  even  if  no
166455                     new  utility  modules are synced. Set to False to prevent
166456                     this refresh.
166457
166458              extmod_whitelist
166459                     None comma-seperated list of modules to sync
166460
166461              extmod_blacklist
166462                     None comma-seperated list of modules to  blacklist  based
166463                     on type
166464
166465              CLI Examples:
166466
166467                 salt '*' saltutil.sync_utils
166468                 salt '*' saltutil.sync_utils saltenv=dev
166469                 salt '*' saltutil.sync_utils saltenv=base,dev
166470
166471       salt.modules.saltutil.term_all_jobs()
166472              Sends a termination signal (SIGTERM 15) to all currently running
166473              jobs
166474
166475              CLI Example:
166476
166477                 salt '*' saltutil.term_all_jobs
166478
166479       salt.modules.saltutil.term_job(jid)
166480              Sends a termination signal (SIGTERM 15) to the named salt  job's
166481              process
166482
166483              CLI Example:
166484
166485                 salt '*' saltutil.term_job <job id>
166486
166487       salt.modules.saltutil.update(version=None)
166488              Update    the    salt   minion   from   the   URL   defined   in
166489              opts['update_url'] SaltStack, Inc  provides  the  latest  builds
166490              here: update_url: https://repo.saltstack.com/windows/
166491
166492              Be  aware  that  as of 2014-8-11 there's a bug in esky such that
166493              only the latest version available in the update_url can be down‐
166494              loaded and installed.
166495
166496              This  feature  requires  the  minion  to be running a bdist_esky
166497              build.
166498
166499              The version number is optional and  will  default  to  the  most
166500              recent version available at opts['update_url'].
166501
166502              Returns details about the transaction upon completion.
166503
166504              CLI Examples:
166505
166506                 salt '*' saltutil.update
166507                 salt '*' saltutil.update 0.10.3
166508
166509       salt.modules.saltutil.wheel(name, *args, **kwargs)
166510              Execute  a  wheel module and function. This function must be run
166511              against a minion that is local to the master.
166512
166513              New in version 2014.7.0.
166514
166515
166516              name   The name of the function to run
166517
166518              args   Any positional arguments to pass to the wheel function. A
166519                     common  example of this would be the match arg needed for
166520                     key functions.
166521
166522                     New in version v2015.8.11.
166523
166524
166525              kwargs Any keyword arguments to pass to the wheel function
166526
166527              CLI Example:
166528
166529                 salt my-local-minion saltutil.wheel key.accept jerry
166530                 salt my-local-minion saltutil.wheel minions.connected
166531
166532              NOTE:
166533                 Since this function must be run against a minion that is run‐
166534                 ning  locally on the master in order to get accurate returns,
166535                 if this function is run against minions that are not local to
166536                 the  master,  "empty" returns are expected. The remote minion
166537                 does not have access to  wheel  functions  and  their  return
166538                 data.
166539
166540   salt.modules.schedule
166541       Module for managing the Salt schedule on a minion
166542
166543       New in version 2014.7.0.
166544
166545
166546       salt.modules.schedule.add(name, **kwargs)
166547              Add a job to the schedule
166548
166549              CLI Example:
166550
166551                 salt '*' schedule.add job1 function='test.ping' seconds=3600
166552                 # If function have some arguments, use job_args
166553                 salt '*' schedule.add job2 function='cmd.run' job_args="['date >> /tmp/date.log']" seconds=60
166554
166555       salt.modules.schedule.build_schedule_item(name, **kwargs)
166556              Build a schedule job
166557
166558              CLI Example:
166559
166560                 salt '*' schedule.build_schedule_item job1 function='test.ping' seconds=3600
166561
166562       salt.modules.schedule.copy(name, target, **kwargs)
166563              Copy scheduled job to another minion or minions.
166564
166565              CLI Example:
166566
166567                 salt '*' schedule.copy jobname target
166568
166569       salt.modules.schedule.delete(name, **kwargs)
166570              Delete a job from the minion's schedule
166571
166572              CLI Example:
166573
166574                 salt '*' schedule.delete job1
166575
166576       salt.modules.schedule.disable(**kwargs)
166577              Disable all scheduled jobs on the minion
166578
166579              CLI Example:
166580
166581                 salt '*' schedule.disable
166582
166583       salt.modules.schedule.disable_job(name, **kwargs)
166584              Disable a job in the minion's schedule
166585
166586              CLI Example:
166587
166588                 salt '*' schedule.disable_job job1
166589
166590       salt.modules.schedule.enable(**kwargs)
166591              Enable all scheduled jobs on the minion
166592
166593              CLI Example:
166594
166595                 salt '*' schedule.enable
166596
166597       salt.modules.schedule.enable_job(name, **kwargs)
166598              Enable a job in the minion's schedule
166599
166600              CLI Example:
166601
166602                 salt '*' schedule.enable_job job1
166603
166604       salt.modules.schedule.is_enabled(name)
166605              List a Job only if its enabled
166606
166607              New in version 2015.5.3.
166608
166609
166610              CLI Example:
166611
166612                 salt '*' schedule.is_enabled name=job_name
166613
166614       salt.modules.schedule.list_(show_all=False,         show_disabled=True,
166615       where=None, return_yaml=True)
166616              List the jobs currently scheduled on the minion
166617
166618              CLI Example:
166619
166620                 salt '*' schedule.list
166621
166622                 # Show all jobs including hidden internal jobs
166623                 salt '*' schedule.list show_all=True
166624
166625                 # Hide disabled jobs from list of jobs
166626                 salt '*' schedule.list show_disabled=False
166627
166628       salt.modules.schedule.modify(name, **kwargs)
166629              Modify an existing job in the schedule
166630
166631              CLI Example:
166632
166633                 salt '*' schedule.modify job1 function='test.ping' seconds=3600
166634
166635       salt.modules.schedule.move(name, target, **kwargs)
166636              Move scheduled job to another minion or minions.
166637
166638              CLI Example:
166639
166640                 salt '*' schedule.move jobname target
166641
166642       salt.modules.schedule.postpone_job(name,    current_time,     new_time,
166643       **kwargs)
166644              Postpone a job in the minion's schedule
166645
166646              Current  time  and  new  time  should  be in date string format,
166647              default value is %Y-%m-%dT%H:%M:%S.
166648
166649              New in version 2018.3.0.
166650
166651
166652              CLI Example:
166653
166654                 salt '*' schedule.postpone_job job current_time new_time
166655
166656                 salt '*' schedule.postpone_job job current_time new_time time_fmt='%Y-%m-%dT%H:%M:%S'
166657
166658       salt.modules.schedule.purge(**kwargs)
166659              Purge all the jobs currently scheduled on the minion
166660
166661              CLI Example:
166662
166663                 salt '*' schedule.purge
166664
166665       salt.modules.schedule.reload_()
166666              Reload saved scheduled jobs on the minion
166667
166668              CLI Example:
166669
166670                 salt '*' schedule.reload
166671
166672       salt.modules.schedule.run_job(name, force=False)
166673              Run a scheduled job on the minion immediately
166674
166675              CLI Example:
166676
166677                 salt '*' schedule.run_job job1
166678
166679                 salt '*' schedule.run_job job1 force=True
166680                 Force the job to run even if it is disabled.
166681
166682       salt.modules.schedule.save(**kwargs)
166683              Save all scheduled jobs on the minion
166684
166685              CLI Example:
166686
166687                 salt '*' schedule.save
166688
166689       salt.modules.schedule.show_next_fire_time(name, **kwargs)
166690              Show the next fire time for scheduled job
166691
166692              New in version 2018.3.0.
166693
166694
166695              CLI Example:
166696
166697                 salt '*' schedule.show_next_fire_time job_name
166698
166699       salt.modules.schedule.skip_job(name, current_time, **kwargs)
166700              Skip a job in the minion's schedule at specified time.
166701
166702              Time to skip should be specified as date string format,  default
166703              value is %Y-%m-%dT%H:%M:%S.
166704
166705              New in version 2018.3.0.
166706
166707
166708              CLI Example:
166709
166710                 salt '*' schedule.skip_job job time
166711
166712   salt.modules.scp module
166713   SCP Module
166714       New in version 2019.2.0.
166715
166716
166717       Module to copy files via SCP
166718
166719       salt.modules.scp_mod.get(remote_path,  local_path=u'', recursive=False,
166720       preserve_times=False, **kwargs)
166721              Transfer files and directories from remote host to the localhost
166722              of the Minion.
166723
166724              remote_path
166725                     Path  to  retrieve from remote host. Since this is evalu‐
166726                     ated by scp on the remote host, shell wildcards and envi‐
166727                     ronment variables may be used.
166728
166729              recursive: False
166730                     Transfer files and directories recursively.
166731
166732              preserve_times: False
166733                     Preserve  mtime and atime of transferred files and direc‐
166734                     tories.
166735
166736              hostname
166737                     The hostname of the remote device.
166738
166739              port: 22
166740                     The port of the remote device.
166741
166742              username
166743                     The username  required  for  SSH  authentication  on  the
166744                     device.
166745
166746              password
166747                     Used  for  password  authentication.  It is also used for
166748                     private key decryption if passphrase is not given.
166749
166750              passphrase
166751                     Used for decrypting private keys.
166752
166753              pkey   An optional private key to use for authentication.
166754
166755              key_filename
166756                     The filename, or list of filenames, of  optional  private
166757                     key(s) and/or certificates to try for authentication.
166758
166759              timeout
166760                     An optional timeout (in seconds) for the TCP connect.
166761
166762              socket_timeout: 10
166763                     The channel socket timeout in seconds.
166764
166765              buff_size: 16384
166766                     The size of the SCP send buffer.
166767
166768              allow_agent: True
166769                     Set to False to disable connecting to the SSH agent.
166770
166771              look_for_keys: True
166772                     Set  to  False to disable searching for discoverable pri‐
166773                     vate key files in ~/.ssh/
166774
166775              banner_timeout
166776                     An optional timeout (in seconds) to wait for the SSH ban‐
166777                     ner to be presented.
166778
166779              auth_timeout
166780                     An optional timeout (in seconds) to wait for an authenti‐
166781                     cation response.
166782
166783              auto_add_policy: False
166784                     Automatically add the host to the known_hosts.
166785
166786              CLI Example:
166787
166788                 salt '*' scp.get /var/tmp/file /tmp/file hostname=10.10.10.1 auto_add_policy=True
166789
166790       salt.modules.scp_mod.put(files, remote_path=None, recursive=False, pre‐
166791       serve_times=False, saltenv=u'base', **kwargs)
166792              Transfer files and directories to remote host.
166793
166794              files  A single path or a list of paths to be transferred.
166795
166796              remote_path
166797                     The path on the remote device where to store the files.
166798
166799              recursive: True
166800                     Transfer files and directories recursively.
166801
166802              preserve_times: False
166803                     Preserve  mtime and atime of transferred files and direc‐
166804                     tories.
166805
166806              hostname
166807                     The hostname of the remote device.
166808
166809              port: 22
166810                     The port of the remote device.
166811
166812              username
166813                     The username  required  for  SSH  authentication  on  the
166814                     device.
166815
166816              password
166817                     Used  for  password  authentication.  It is also used for
166818                     private key decryption if passphrase is not given.
166819
166820              passphrase
166821                     Used for decrypting private keys.
166822
166823              pkey   An optional private key to use for authentication.
166824
166825              key_filename
166826                     The filename, or list of filenames, of  optional  private
166827                     key(s) and/or certificates to try for authentication.
166828
166829              timeout
166830                     An optional timeout (in seconds) for the TCP connect.
166831
166832              socket_timeout: 10
166833                     The channel socket timeout in seconds.
166834
166835              buff_size: 16384
166836                     The size of the SCP send buffer.
166837
166838              allow_agent: True
166839                     Set to False to disable connecting to the SSH agent.
166840
166841              look_for_keys: True
166842                     Set  to  False to disable searching for discoverable pri‐
166843                     vate key files in ~/.ssh/
166844
166845              banner_timeout
166846                     An optional timeout (in seconds) to wait for the SSH ban‐
166847                     ner to be presented.
166848
166849              auth_timeout
166850                     An optional timeout (in seconds) to wait for an authenti‐
166851                     cation response.
166852
166853              auto_add_policy: False
166854                     Automatically add the host to the known_hosts.
166855
166856              CLI Example:
166857
166858                 salt '*' scp.put /path/to/file /var/tmp/file hostname=server1 auto_add_policy=True
166859
166860   salt.modules.scsi
166861       SCSI administration module
166862
166863       salt.modules.scsi.ls_(get_size=True)
166864              List SCSI devices, with details
166865
166866              CLI Examples:
166867
166868                 salt '*' scsi.ls
166869                 salt '*' scsi.ls get_size=False
166870
166871              get_size
166872                     True Get the size information  for  scsi  devices.   This
166873                     option  should be set to False for older OS distributions
166874                     (RHEL6 and older) due to lack of  support  for  the  '-s'
166875                     option in lsscsi.
166876
166877                     New in version 2015.5.10.
166878
166879
166880       salt.modules.scsi.rescan_all(host)
166881              List scsi devices
166882
166883              CLI Example:
166884
166885                 salt '*' scsi.rescan_all 0
166886
166887   salt.modules.sdb
166888   Module for Manipulating Data via the Salt DB API
166889       salt.modules.sdb.delete(uri)
166890              Delete a value from a db, using a uri in the form of sdb://<pro‐
166891              file>/<key>.  If the uri provided does not start with sdb://  or
166892              the value is not successfully deleted, return False.
166893
166894              CLI Example:
166895
166896                 salt '*' sdb.delete sdb://mymemcached/foo
166897
166898       salt.modules.sdb.get(uri)
166899              Get  a  value  from a db, using a uri in the form of sdb://<pro‐
166900              file>/<key>. If the uri provided does  not  start  with  sdb://,
166901              then it will be returned as-is.
166902
166903              CLI Example:
166904
166905                 salt '*' sdb.get sdb://mymemcached/foo
166906
166907       salt.modules.sdb.get_or_set_hash(uri,    length=8,   chars=u'abcdefghi‐
166908       jklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)')
166909              Perform a one-time generation of a hash and write it to sdb.  If
166910              that value has already been set return the value instead.
166911
166912              This  is  useful  for generating passwords or keys that are spe‐
166913              cific to multiple minions that need to be stored somewhere  cen‐
166914              trally.
166915
166916              State Example:
166917
166918                 some_mysql_user:
166919                   mysql_user:
166920                     - present
166921                     - host: localhost
166922                     - password: '{{ salt['sdb.get_or_set_hash']('some_mysql_user_pass') }}'
166923
166924              CLI Example:
166925
166926                 salt '*' sdb.get_or_set_hash 'SECRET_KEY' 50
166927
166928              WARNING:
166929                 This  function could return strings which may contain charac‐
166930                 ters which are reserved as directives  by  the  YAML  parser,
166931                 such  as strings beginning with %. To avoid issues when using
166932                 the output  of  this  function  in  an  SLS  file  containing
166933                 YAML+Jinja, surround the call with single quotes.
166934
166935       salt.modules.sdb.set_(uri, value)
166936              Set  a  value  in  a  db, using a uri in the form of sdb://<pro‐
166937              file>/<key>.  If the uri provided does not start with sdb://  or
166938              the value is not successfully set, return False.
166939
166940              CLI Example:
166941
166942                 salt '*' sdb.set sdb://mymemcached/foo bar
166943
166944   salt.modules.seed
166945       Virtual machine image management tools
166946
166947       salt.modules.seed.apply_(path, id_=None, config=None, approve_key=True,
166948       install=True,    prep_install=False,    pub_key=None,    priv_key=None,
166949       mount_point=None)
166950              Seed  a  location  (disk image, directory, or block device) with
166951              the minion config, approve  the  minion's  key,  and/or  install
166952              salt-minion.
166953
166954              CLI Example:
166955
166956                 salt 'minion' seed.apply path id [config=config_data] \
166957                         [gen_key=(true|false)] [approve_key=(true|false)] \
166958                         [install=(true|false)]
166959
166960              path   Full path to the directory, device, or disk image  on the
166961                     target minion's file system.
166962
166963              id     Minion id with which to seed the path.
166964
166965              config Minion configuration options. By  default,  the  'master'
166966                     option is set to the target host's 'master'.
166967
166968              approve_key
166969                     Request  a  pre-approval  of  the  generated  minion key.
166970                     Requires that the salt-master  be  configured  to  either
166971                     auto-accept all keys or expect a signing request from the
166972                     target host. Default: true.
166973
166974              install
166975                     Install salt-minion, if absent. Default: true.
166976
166977              prep_install
166978                     Prepare the bootstrap script, but don't run it.  Default:
166979                     false
166980
166981       salt.modules.seed.mkconfig(config=None,       tmp=None,       id_=None,
166982       approve_key=True, pub_key=None, priv_key=None)
166983              Generate keys and config and put them in a tmp directory.
166984
166985              pub_key
166986                     absolute path or file content of  an  optional  preseeded
166987                     salt key
166988
166989              priv_key
166990                     absolute  path  or  file content of an optional preseeded
166991                     salt key
166992
166993              CLI Example:
166994
166995                 salt 'minion' seed.mkconfig [config=config_data] [tmp=tmp_dir] \
166996                         [id_=minion_id] [approve_key=(true|false)]
166997
166998       salt.modules.seed.prep_bootstrap(mpt)
166999              Update and get the random script to a random place
167000
167001              CLI Example:
167002
167003                 salt '*' seed.prep_bootstrap /tmp
167004
167005   salt.modules.selinux
167006       Execute calls on selinux
167007
167008       NOTE:
167009          This module requires the semanage, setsebool, and semodule  commands
167010          to  be  available on the minion. On RHEL-based distributions, ensure
167011          that the policycoreutils  and  policycoreutils-python  packages  are
167012          installed.  If  not  on a Fedora or RHEL-based distribution, consult
167013          the selinux documentation for your distribution to ensure  that  the
167014          proper packages are installed.
167015
167016       salt.modules.selinux.fcontext_add_or_delete_policy(action,  name, file‐
167017       type=None, sel_type=None, sel_user=None, sel_level=None)
167018              New in version 2017.7.0.
167019
167020
167021              Adds or deletes the SELinux policy  for  a  given  filespec  and
167022              other optional parameters.
167023
167024              Returns the result of the call to semanage.
167025
167026              Note that you don't have to remove an entry before setting a new
167027              one for a given filespec and filetype, as adding one with seman‐
167028              age  automatically  overwrites  a  previously configured SELinux
167029              context.
167030
167031              WARNING:
167032                 Use             selinux.fcontext_add_policy(),             or
167033                 selinux.fcontext_delete_policy().
167034
167035              Deprecated since version 2019.2.0.
167036
167037
167038              action The action to perform. Either add or delete.
167039
167040              name   filespec  of  the  file  or  directory.  Regex  syntax is
167041                     allowed.
167042
167043              file_type
167044                     The SELinux filetype specification. Use one of [a, f,  d,
167045                     c,  b, s, l, p]. See also man semanage-fcontext. Defaults
167046                     to 'a' (all files).
167047
167048              sel_type
167049                     SELinux context type. There are many.
167050
167051              sel_user
167052                     SELinux user. Use semanage login -l  to  determine  which
167053                     ones are available to you.
167054
167055              sel_level
167056                     The MLS range of the SELinux context.
167057
167058              CLI Example:
167059
167060                 salt '*' selinux.fcontext_add_or_delete_policy add my-policy
167061
167062       salt.modules.selinux.fcontext_add_policy(name,           filetype=None,
167063       sel_type=None, sel_user=None, sel_level=None)
167064              New in version 2019.2.0.
167065
167066
167067              Adds the SELinux policy for a given filespec and other  optional
167068              parameters.
167069
167070              Returns the result of the call to semanage.
167071
167072              Note that you don't have to remove an entry before setting a new
167073              one for a given filespec and filetype, as adding one with seman‐
167074              age  automatically  overwrites  a  previously configured SELinux
167075              context.
167076
167077              name   filespec of  the  file  or  directory.  Regex  syntax  is
167078                     allowed.
167079
167080              file_type
167081                     The  SELinux filetype specification. Use one of [a, f, d,
167082                     c, b, s, l, p]. See also man semanage-fcontext.  Defaults
167083                     to 'a' (all files).
167084
167085              sel_type
167086                     SELinux context type. There are many.
167087
167088              sel_user
167089                     SELinux  user.  Use  semanage login -l to determine which
167090                     ones are available to you.
167091
167092              sel_level
167093                     The MLS range of the SELinux context.
167094
167095              CLI Example:
167096
167097                 salt '*' selinux.fcontext_add_policy my-policy
167098
167099       salt.modules.selinux.fcontext_apply_policy(name, recursive=False)
167100              New in version 2017.7.0.
167101
167102
167103              Applies SElinux policies to filespec using restorecon [-R] file‐
167104              spec. Returns dict with changes if successful, the output of the
167105              restorecon command otherwise.
167106
167107              name   filespec of  the  file  or  directory.  Regex  syntax  is
167108                     allowed.
167109
167110              recursive
167111                     Recursively apply SELinux policies.
167112
167113              CLI Example:
167114
167115                 salt '*' selinux.fcontext_apply_policy my-policy
167116
167117       salt.modules.selinux.fcontext_delete_policy(name,        filetype=None,
167118       sel_type=None, sel_user=None, sel_level=None)
167119              New in version 2019.2.0.
167120
167121
167122              Deletes the SELinux  policy  for  a  given  filespec  and  other
167123              optional parameters.
167124
167125              Returns the result of the call to semanage.
167126
167127              Note that you don't have to remove an entry before setting a new
167128              one for a given filespec and filetype, as adding one with seman‐
167129              age  automatically  overwrites  a  previously configured SELinux
167130              context.
167131
167132              name   filespec of  the  file  or  directory.  Regex  syntax  is
167133                     allowed.
167134
167135              file_type
167136                     The  SELinux filetype specification. Use one of [a, f, d,
167137                     c, b, s, l, p]. See also man semanage-fcontext.  Defaults
167138                     to 'a' (all files).
167139
167140              sel_type
167141                     SELinux context type. There are many.
167142
167143              sel_user
167144                     SELinux  user.  Use  semanage login -l to determine which
167145                     ones are available to you.
167146
167147              sel_level
167148                     The MLS range of the SELinux context.
167149
167150              CLI Example:
167151
167152                 salt '*' selinux.fcontext_delete_policy my-policy
167153
167154       salt.modules.selinux.fcontext_get_policy(name,           filetype=None,
167155       sel_type=None, sel_user=None, sel_level=None)
167156              New in version 2017.7.0.
167157
167158
167159              Returns  the  current entry in the SELinux policy list as a dic‐
167160              tionary. Returns None if no exact match was found.
167161
167162              Returned keys are:
167163
167164              · filespec (the name supplied and matched)
167165
167166              · filetype (the descriptive name of the filetype supplied)
167167
167168              · sel_user, sel_role, sel_type, sel_level (the selinux context)
167169
167170              For a more in-depth explanation of the selinux  context,  go  to
167171              https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/chap-Security-Enhanced_Linux-SELinux_Contexts.html
167172
167173              name   filespec of  the  file  or  directory.  Regex  syntax  is
167174                     allowed.
167175
167176              filetype
167177                     The  SELinux filetype specification. Use one of [a, f, d,
167178                     c, b, s, l, p]. See also man semanage-fcontext.  Defaults
167179                     to 'a' (all files).
167180
167181              CLI Example:
167182
167183                 salt '*' selinux.fcontext_get_policy my-policy
167184
167185       salt.modules.selinux.fcontext_policy_is_applied(name, recursive=False)
167186              New in version 2017.7.0.
167187
167188
167189              Returns  an empty string if the SELinux policy for a given file‐
167190              spec is applied, returns string with differences in  policy  and
167191              actual situation otherwise.
167192
167193              name   filespec  of  the  file  or  directory.  Regex  syntax is
167194                     allowed.
167195
167196              CLI Example:
167197
167198                 salt '*' selinux.fcontext_policy_is_applied my-policy
167199
167200       salt.modules.selinux.filetype_id_to_string(filetype=u'a')
167201              New in version 2017.7.0.
167202
167203
167204              Translates SELinux filetype single-letter  representation  to  a
167205              more  human-readable  version  (which  is  also used in semanage
167206              fcontext -l).
167207
167208       salt.modules.selinux.getconfig()
167209              Return the selinux mode from the config file
167210
167211              CLI Example:
167212
167213                 salt '*' selinux.getconfig
167214
167215       salt.modules.selinux.getenforce()
167216              Return the mode selinux is running in
167217
167218              CLI Example:
167219
167220                 salt '*' selinux.getenforce
167221
167222       salt.modules.selinux.getsebool(boolean)
167223              Return the information on a specific selinux boolean
167224
167225              CLI Example:
167226
167227                 salt '*' selinux.getsebool virt_use_usb
167228
167229       salt.modules.selinux.getsemod(module)
167230              Return the information on a specific selinux module
167231
167232              CLI Example:
167233
167234                 salt '*' selinux.getsemod mysql
167235
167236              New in version 2016.3.0.
167237
167238
167239       salt.modules.selinux.install_semod(module_path)
167240              Install custom SELinux module from file
167241
167242              CLI Example:
167243
167244                 salt '*' selinux.install_semod [salt://]path/to/module.pp
167245
167246              New in version 2016.11.6.
167247
167248
167249       salt.modules.selinux.list_sebool()
167250              Return a structure listing all of the selinux  booleans  on  the
167251              system and what state they are in
167252
167253              CLI Example:
167254
167255                 salt '*' selinux.list_sebool
167256
167257       salt.modules.selinux.list_semod()
167258              Return  a  structure  listing  all of the selinux modules on the
167259              system and what state they are in
167260
167261              CLI Example:
167262
167263                 salt '*' selinux.list_semod
167264
167265              New in version 2016.3.0.
167266
167267
167268       salt.modules.selinux.port_add_policy(name,    sel_type=None,     proto‐
167269       col=None, port=None, sel_range=None)
167270              New in version 2019.2.0.
167271
167272
167273              Adds the SELinux policy for a given protocol and port.
167274
167275              Returns the result of the call to semanage.
167276
167277              name   The   protocol   and  port  spec.  Can  be  formatted  as
167278                     (tcp|udp)/(port|port-range).
167279
167280              sel_type
167281                     The SELinux Type. Required.
167282
167283              protocol
167284                     The protocol for the port, tcp or udp. Required  if  name
167285                     is not formatted.
167286
167287              port   The  port  or port range. Required if name is not format‐
167288                     ted.
167289
167290              sel_range
167291                     The SELinux MLS/MCS Security Range.
167292
167293              CLI Example:
167294
167295                 salt '*' selinux.port_add_policy add tcp/8080 http_port_t
167296                 salt '*' selinux.port_add_policy add foobar http_port_t protocol=tcp port=8091
167297
167298       salt.modules.selinux.port_delete_policy(name, protocol=None, port=None)
167299              New in version 2019.2.0.
167300
167301
167302              Deletes the SELinux policy for a given protocol and port.
167303
167304              Returns the result of the call to semanage.
167305
167306              name   The  protocol  and  port  spec.  Can  be   formatted   as
167307                     (tcp|udp)/(port|port-range).
167308
167309              protocol
167310                     The  protocol  for the port, tcp or udp. Required if name
167311                     is not formatted.
167312
167313              port   The port or port range. Required if name is  not  format‐
167314                     ted.
167315
167316              CLI Example:
167317
167318                 salt '*' selinux.port_delete_policy tcp/8080
167319                 salt '*' selinux.port_delete_policy foobar protocol=tcp port=8091
167320
167321       salt.modules.selinux.port_get_policy(name,     sel_type=None,    proto‐
167322       col=None, port=None)
167323              New in version 2019.2.0.
167324
167325
167326              Returns the current entry in the SELinux policy list as  a  dic‐
167327              tionary. Returns None if no exact match was found.
167328
167329              Returned keys are:
167330
167331              · sel_type (the selinux type)
167332
167333              · proto (the protocol)
167334
167335              · port (the port(s) and/or port range(s))
167336
167337              name   The   protocol   and  port  spec.  Can  be  formatted  as
167338                     (tcp|udp)/(port|port-range).
167339
167340              sel_type
167341                     The SELinux Type.
167342
167343              protocol
167344                     The protocol for the port, tcp or udp. Required  if  name
167345                     is not formatted.
167346
167347              port   The  port  or port range. Required if name is not format‐
167348                     ted.
167349
167350              CLI Example:
167351
167352                 salt '*' selinux.port_get_policy tcp/80
167353                 salt '*' selinux.port_get_policy foobar protocol=tcp port=80
167354
167355       salt.modules.selinux.remove_semod(module)
167356              Remove SELinux module
167357
167358              CLI Example:
167359
167360                 salt '*' selinux.remove_semod module_name
167361
167362              New in version 2016.11.6.
167363
167364
167365       salt.modules.selinux.selinux_fs_path(*args, **kwargs)
167366              Return the location of the SELinux VFS directory
167367
167368              CLI Example:
167369
167370                 salt '*' selinux.selinux_fs_path
167371
167372       salt.modules.selinux.setenforce(mode)
167373              Set the SELinux enforcing mode
167374
167375              CLI Example:
167376
167377                 salt '*' selinux.setenforce enforcing
167378
167379       salt.modules.selinux.setsebool(boolean, value, persist=False)
167380              Set the value for a boolean
167381
167382              CLI Example:
167383
167384                 salt '*' selinux.setsebool virt_use_usb off
167385
167386       salt.modules.selinux.setsebools(pairs, persist=False)
167387              Set the value of multiple booleans
167388
167389              CLI Example:
167390
167391                 salt '*' selinux.setsebools '{virt_use_usb: on, squid_use_tproxy: off}'
167392
167393       salt.modules.selinux.setsemod(module, state)
167394              Enable or disable an SELinux module.
167395
167396              CLI Example:
167397
167398                 salt '*' selinux.setsemod nagios Enabled
167399
167400              New in version 2016.3.0.
167401
167402
167403   salt.modules.sensehat
167404       Module for controlling the LED matrix or reading  environment  data  on
167405       the SenseHat of a Raspberry Pi.
167406
167407       New in version 2017.7.0.
167408
167409
167410       maintainer
167411              Benedikt  Werner  <1benediktwerner@gmail.com>, Joachim Werner <‐
167412              joe@suse.com>
167413
167414       maturity
167415              new
167416
167417       depends
167418              sense_hat Python module
167419
167420       The rotation of the Pi can be specified in a pillar.  This is useful if
167421       the  Pi  is  used upside down or sideways to correct the orientation of
167422       the image being shown.
167423
167424       Example:
167425
167426          sensehat:
167427              rotation: 90
167428
167429       salt.modules.sensehat.clear(color=None)
167430              Sets the LED matrix to a single color or turns all LEDs off.
167431
167432              CLI Example:
167433
167434                 salt 'raspberry' sensehat.clear
167435                 salt 'raspberry' sensehat.clear '[255, 0, 0]'
167436
167437       salt.modules.sensehat.get_humidity()
167438              Get the percentage of relative humidity from the  humidity  sen‐
167439              sor.
167440
167441       salt.modules.sensehat.get_pixel(x, y)
167442              Returns the color of a single pixel on the LED matrix.
167443
167444              x      The  x coordinate of the pixel. Ranges from 0 on the left
167445                     to 7 on the right.
167446
167447              y      The y coordinate of the pixel. Ranges from 0 at  the  top
167448                     to 7 at the bottom.
167449
167450              NOTE:
167451                 Please read the note for get_pixels
167452
167453       salt.modules.sensehat.get_pixels()
167454              Returns  a  list  of 64 smaller lists of [R, G, B] pixels repre‐
167455              senting the the currently displayed image on the LED matrix.
167456
167457              NOTE:
167458                 When using set_pixels the pixel values can  sometimes  change
167459                 when you read them again using get_pixels. This is because we
167460                 specify each pixel element as 8 bit numbers (0  to  255)  but
167461                 when  they're  passed into the Linux frame buffer for the LED
167462                 matrix the numbers are bit shifted down to fit into RGB  565.
167463                 5  bits  for  red, 6 bits for green and 5 bits for blue.  The
167464                 loss of binary precision when performing this  conversion  (3
167465                 bits  lost  for red, 2 for green and 3 for blue) accounts for
167466                 the discrepancies you see.
167467
167468                 The get_pixels method provides an accurate representation  of
167469                 how  the  pixels end up in frame buffer memory after you have
167470                 called set_pixels.
167471
167472       salt.modules.sensehat.get_pressure()
167473              Gets the current pressure in Millibars from the pressure sensor.
167474
167475       salt.modules.sensehat.get_temperature()
167476              Gets the temperature in degrees Celsius from the  humidity  sen‐
167477              sor.  Equivalent to calling get_temperature_from_humidity.
167478
167479              If  you get strange results try using get_temperature_from_pres‐
167480              sure.
167481
167482       salt.modules.sensehat.get_temperature_from_humidity()
167483              Gets the temperature in degrees Celsius from the  humidity  sen‐
167484              sor.
167485
167486       salt.modules.sensehat.get_temperature_from_pressure()
167487              Gets  the  temperature in degrees Celsius from the pressure sen‐
167488              sor.
167489
167490       salt.modules.sensehat.low_light(low_light=True)
167491              Sets the LED matrix to low light mode. Useful in a dark environ‐
167492              ment.
167493
167494              CLI Example:
167495
167496                 salt 'raspberry' sensehat.low_light
167497                 salt 'raspberry' sensehat.low_light False
167498
167499       salt.modules.sensehat.set_pixel(x, y, color)
167500              Sets a single pixel on the LED matrix to a specified color.
167501
167502              x      The  x coordinate of the pixel. Ranges from 0 on the left
167503                     to 7 on the right.
167504
167505              y      The y coordinate of the pixel. Ranges from 0 at  the  top
167506                     to 7 at the bottom.
167507
167508              color  The new color of the pixel as a list of [R, G, B] values.
167509
167510              CLI Example:
167511
167512                 salt 'raspberry' sensehat.set_pixel 0 0 '[255, 0, 0]'
167513
167514       salt.modules.sensehat.set_pixels(pixels)
167515              Sets the entire LED matrix based on a list of 64 pixel values
167516
167517              pixels A list of 64 [R, G, B] color values.
167518
167519       salt.modules.sensehat.show_image(image)
167520              Displays an 8 x 8 image on the LED matrix.
167521
167522              image  The path to the image to display. The image must be 8 x 8
167523                     pixels in size.
167524
167525              CLI Example:
167526
167527                 salt 'raspberry' sensehat.show_image /tmp/my_image.png
167528
167529       salt.modules.sensehat.show_letter(letter,              text_color=None,
167530       back_color=None)
167531              Displays a single letter on the LED matrix.
167532
167533              letter The letter to display
167534
167535              text_color
167536                     The  color  in  which  the  letter  is shown. Defaults to
167537                     '[255, 255, 255]' (white).
167538
167539              back_color
167540                     The background color of the display. Defaults to '[0,  0,
167541                     0]' (black).
167542
167543              CLI Example:
167544
167545                 salt 'raspberry' sensehat.show_letter O
167546                 salt 'raspberry' sensehat.show_letter X '[255, 0, 0]'
167547                 salt 'raspberry' sensehat.show_letter B '[0, 0, 255]' '[255, 255, 0]'
167548
167549       salt.modules.sensehat.show_message(message,              msg_type=None,
167550       text_color=None, back_color=None, scroll_speed=0.1)
167551              Displays a message on the LED matrix.
167552
167553              message
167554                     The message to display
167555
167556              msg_type
167557                     The type of the message. Changes the  appearance  of  the
167558                     message.
167559
167560                     Available types are:
167561
167562                        error:      red text
167563                        warning:    orange text
167564                        success:    green text
167565                        info:       blue text
167566
167567              scroll_speed
167568                     The speed at which the message moves over the LED matrix.
167569                     This value represents the time paused for between  shift‐
167570                     ing  the  text  to  the  left  by  one  column of pixels.
167571                     Defaults to '0.1'.
167572
167573              text_color
167574                     The color in which the  message  is  shown.  Defaults  to
167575                     '[255, 255, 255]' (white).
167576
167577              back_color
167578                     The  background color of the display. Defaults to '[0, 0,
167579                     0]' (black).
167580
167581              CLI Example:
167582
167583                 salt 'raspberry' sensehat.show_message 'Status ok'
167584                 salt 'raspberry' sensehat.show_message 'Something went wrong' error
167585                 salt 'raspberry' sensehat.show_message 'Red' text_color='[255, 0, 0]'
167586                 salt 'raspberry' sensehat.show_message 'Hello world' None '[0, 0, 255]' '[255, 255, 0]' 0.2
167587
167588   salt.modules.sensors
167589       Read lm-sensors
167590
167591       New in version 2014.1.3.
167592
167593
167594       salt.modules.sensors.sense(chip, fahrenheit=False)
167595              Gather lm-sensors data from a given chip
167596
167597              To determine the chip to query, use the  'sensors'  command  and
167598              see the leading line in the block.
167599
167600              Example:
167601
167602              /usr/bin/sensors
167603
167604              coretemp-isa-0000  Adapter:  ISA adapter Physical id 0:  +56.0°C
167605              (high = +87.0°C, crit = +105.0°C) Core 0:         +52.0°C  (high
167606              =  +87.0°C,  crit  =  +105.0°C) Core 1:         +50.0°C  (high =
167607              +87.0°C, crit =  +105.0°C)  Core  2:          +56.0°C   (high  =
167608              +87.0°C,  crit  =  +105.0°C)  Core  3:          +53.0°C  (high =
167609              +87.0°C, crit = +105.0°C)
167610
167611              Given the above, the chip is 'coretemp-isa-0000'.
167612
167613   salt.modules.serverdensity_device
167614   Wrapper around Server Density API
167615       New in version 2014.7.0.
167616
167617
167618       salt.modules.serverdensity_device.create(name, **params)
167619              Function to create device in Server Density. For more info,  see
167620              the API docs.
167621
167622              CLI Example:
167623
167624                 salt '*' serverdensity_device.create lama
167625                 salt '*' serverdensity_device.create rich_lama group=lama_band installedRAM=32768
167626
167627       salt.modules.serverdensity_device.delete(device_id)
167628              Delete  a  device from Server Density. For more information, see
167629              the API docs.
167630
167631              CLI Example:
167632
167633                 salt '*' serverdensity_device.delete 51f7eafcdba4bb235e000ae4
167634
167635       salt.modules.serverdensity_device.get_sd_auth(val,         sd_auth_pil‐
167636       lar_name=u'serverdensity')
167637              Returns  requested Server Density authentication value from pil‐
167638              lar.
167639
167640              CLI Example:
167641
167642                 salt '*' serverdensity_device.get_sd_auth <val>
167643
167644       salt.modules.serverdensity_device.install_agent(agent_key,   agent_ver‐
167645       sion=1)
167646              Function   downloads  Server  Density  installation  agent,  and
167647              installs sd-agent with agent_key. Optionally  the  agent_version
167648              would select the series to use (defaults on the v1 one).
167649
167650              CLI Example:
167651
167652                 salt '*' serverdensity_device.install_agent c2bbdd6689ff46282bdaa07555641498
167653                 salt '*' serverdensity_device.install_agent c2bbdd6689ff46282bdaa07555641498 2
167654
167655       salt.modules.serverdensity_device.ls(**params)
167656              List devices in Server Density
167657
167658              Results  will be filtered by any params passed to this function.
167659              For more information, see the API docs on listing and searching.
167660
167661              CLI Example:
167662
167663                 salt '*' serverdensity_device.ls
167664                 salt '*' serverdensity_device.ls name=lama
167665                 salt '*' serverdensity_device.ls name=lama group=lama_band installedRAM=32768
167666
167667       salt.modules.serverdensity_device.update(device_id, **params)
167668              Updates device information in Server Density. For more  informa‐
167669              tion see the API docs.
167670
167671              CLI Example:
167672
167673                 salt '*' serverdensity_device.update 51f7eafcdba4bb235e000ae4 name=lama group=lama_band
167674                 salt '*' serverdensity_device.update 51f7eafcdba4bb235e000ae4 name=better_lama group=rock_lamas swapSpace=512
167675
167676   salt.modules.servicenow module
167677       Module for execution of ServiceNow CI (configuration items)
167678
167679       New in version 2016.11.0.
167680
167681
167682       depends
167683              servicenow_rest python module
167684
167685       configuration
167686              Configure  this module by specifying the name of a configuration
167687              profile in the minion config, minion pillar, or  master  config.
167688              The module will use the 'servicenow' key by default, if defined.
167689
167690              For example:
167691
167692                 servicenow:
167693                   instance_name: ''
167694                   username: ''
167695                   password: ''
167696
167697       salt.modules.servicenow.delete_record(table, sys_id)
167698              Delete an existing record
167699
167700              Parameters
167701
167702                     · table (str) -- The table name, e.g. sys_user
167703
167704                     · sys_id (str) -- The unique ID of the record
167705
167706              CLI Example:
167707
167708                 salt myminion servicenow.delete_record sys_computer 2134566
167709
167710       salt.modules.servicenow.non_structured_query(table,         query=None,
167711       **kwargs)
167712              Run a non-structed (not a dict) query  on  a  servicenow  table.
167713              See
167714              http://wiki.servicenow.com/index.php?title=Encoded_Query_Strings#gsc.tab=0
167715              for help on constructing a non-structured query string.
167716
167717              Parameters
167718
167719                     · table (str) -- The table name, e.g. sys_user
167720
167721                     · query  (str)  -- The query to run (or use keyword argu‐
167722                       ments to filter data)
167723
167724              CLI Example:
167725
167726                 salt myminion servicenow.non_structured_query sys_computer 'role=web'
167727                 salt myminion servicenow.non_structured_query sys_computer role=web type=computer
167728
167729       salt.modules.servicenow.set_change_request_state(change_id,
167730       state=u'approved')
167731              Set the approval state of a change request/record
167732
167733              Parameters
167734
167735                     · change_id  (str)  -- The ID of the change request, e.g.
167736                       CHG123545
167737
167738                     · state (str) -- The target state, e.g. approved
167739
167740              CLI Example:
167741
167742                 salt myminion servicenow.set_change_request_state CHG000123 declined
167743                 salt myminion servicenow.set_change_request_state CHG000123 approved
167744
167745       salt.modules.servicenow.update_record_field(table,    sys_id,    field,
167746       value)
167747              Update the value of a record's field in a servicenow table
167748
167749              Parameters
167750
167751                     · table (str) -- The table name, e.g. sys_user
167752
167753                     · sys_id (str) -- The unique ID of the record
167754
167755                     · field (str) -- The new value
167756
167757                     · value (str) -- The new value
167758
167759              CLI Example:
167760
167761                 salt myminion servicenow.update_record_field sys_user 2348234 first_name jimmy
167762
167763   salt.modules.slack_notify
167764       Module for sending messages to Slack
167765
167766       New in version 2015.5.0.
167767
167768
167769       configuration
167770              This module can be used by either passing an api key and version
167771              directly or by specifying both in a configuration profile in the
167772              salt master/minion config.
167773
167774              For example:
167775
167776                 slack:
167777                   api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
167778
167779       salt.modules.slack_notify.call_hook(message,           attachment=None,
167780       color=u'good',  short=False,   identifier=None,   channel=None,   user‐
167781       name=None, icon_emoji=None)
167782              Send message to Slack incoming webhook.
167783
167784              Parameters
167785
167786                     · message -- The topic of message.
167787
167788                     · attachment  --  The  message to send to the Slacke Web‐
167789                       Hook.
167790
167791                     · color -- The color of border of left side
167792
167793                     · short -- An optional flag indicating whether the  value
167794                       is short enough to be displayed side-by-side with other
167795                       values.
167796
167797                     · identifier -- The identifier of WebHook.
167798
167799                     · channel -- The channel to use instead  of  the  WebHook
167800                       default.
167801
167802                     · username -- Username to use instead of WebHook default.
167803
167804                     · icon_emoji -- Icon to use instead of WebHook default.
167805
167806              Returns
167807                     Boolean if message was sent successfully.
167808
167809              CLI Example:
167810
167811                 salt '*' slack.call_hook message='Hello, from SaltStack'
167812
167813       salt.modules.slack_notify.find_room(name, api_key=None)
167814              Find a room by name and return it.
167815
167816              Parameters
167817
167818                     · name -- The room name.
167819
167820                     · api_key -- The Slack admin api key.
167821
167822              Returns
167823                     The room object.
167824
167825              CLI Example:
167826
167827                 salt '*' slack.find_room name="random"
167828
167829                 salt '*' slack.find_room name="random" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
167830
167831       salt.modules.slack_notify.find_user(name, api_key=None)
167832              Find a user by name and return it.
167833
167834              Parameters
167835
167836                     · name -- The user name.
167837
167838                     · api_key -- The Slack admin api key.
167839
167840              Returns
167841                     The user object.
167842
167843              CLI Example:
167844
167845                 salt '*' slack.find_user name="ThomasHatch"
167846
167847                 salt '*' slack.find_user name="ThomasHatch" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
167848
167849       salt.modules.slack_notify.list_rooms(api_key=None)
167850              List all Slack rooms.
167851
167852              Parameters
167853                     api_key -- The Slack admin api key.
167854
167855              Returns
167856                     The room list.
167857
167858              CLI Example:
167859
167860                 salt '*' slack.list_rooms
167861
167862                 salt '*' slack.list_rooms api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
167863
167864       salt.modules.slack_notify.list_users(api_key=None)
167865              List all Slack users.
167866
167867              Parameters
167868                     api_key -- The Slack admin api key.
167869
167870              Returns
167871                     The user list.
167872
167873              CLI Example:
167874
167875                 salt '*' slack.list_users
167876
167877                 salt '*' slack.list_users api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
167878
167879       salt.modules.slack_notify.post_message(channel,   message,   from_name,
167880       api_key=None, icon=None)
167881              Send a message to a Slack channel.
167882
167883              Parameters
167884
167885                     · channel -- The channel name, either will work.
167886
167887                     · message -- The message to send to the Slack channel.
167888
167889                     · from_name -- Specify who the message is from.
167890
167891                     · api_key -- The Slack api key, if not specified  in  the
167892                       configuration.
167893
167894                     · icon  --  URL  to  an image to use as the icon for this
167895                       message
167896
167897              Returns
167898                     Boolean if message was sent successfully.
167899
167900              CLI Example:
167901
167902                 salt '*' slack.post_message channel="Development Room" message="Build is done" from_name="Build Server"
167903
167904   salt.modules.slsutil
167905       Utility functions for use with or in SLS files
167906
167907       salt.modules.slsutil.deserialize(serializer,          stream_or_string,
167908       **mod_kwargs)
167909              Deserialize a Python object using a serializer module
167910
167911              CLI Example:
167912
167913                 salt '*' slsutil.deserialize 'json' '{"foo": "Foo!"}'
167914                 salt '*' --no-parse=stream_or_string slsutil.deserialize 'json' \
167915                     stream_or_string='{"foo": "Foo!"}'
167916
167917              Jinja Example:
167918
167919                 {% set python_object = salt.slsutil.deserialize('json',
167920                     '{"foo": "Foo!"}') %}
167921
167922       salt.modules.slsutil.merge(obj_a,    obj_b,   strategy=u'smart',   ren‐
167923       derer=u'yaml', merge_lists=False)
167924              Merge a data structure into another by choosing a merge strategy
167925
167926              Strategies:
167927
167928              · aggregate
167929
167930              · list
167931
167932              · overwrite
167933
167934              · recurse
167935
167936              · smart
167937
167938              CLI Example:
167939
167940                 salt '*' slsutil.merge '{foo: Foo}' '{bar: Bar}'
167941
167942       salt.modules.slsutil.merge_all(lst,       strategy=u'smart',       ren‐
167943       derer=u'yaml', merge_lists=False)
167944              New in version 2019.2.0.
167945
167946
167947              Merge a list of objects into each other in order
167948
167949              Parameters
167950
167951                     · lst (Iterable) -- List of objects to be merged.
167952
167953                     · strategy  (String) -- Merge strategy. See utils.dictup‐
167954                       date.
167955
167956                     · renderer (String) -- Renderer type. Used  to  determine
167957                       strategy when strategy is 'smart'.
167958
167959                     · merge_lists (Bool) -- Defines whether to merge embedded
167960                       object lists.
167961
167962              CLI Example:
167963
167964                 $ salt-call --output=txt slsutil.merge_all '[{foo: Foo}, {foo: Bar}]'
167965                 local: {u'foo': u'Bar'}
167966
167967       salt.modules.slsutil.renderer(path=None,   string=None,    default_ren‐
167968       derer=u'jinja|yaml', **kwargs)
167969              Parse a string or file through Salt's renderer system
167970
167971              Changed  in  version  2018.3.0:  Add support for Salt fileserver
167972              URIs.
167973
167974
167975              This is an open-ended function and can be used for a variety  of
167976              tasks.  It  makes use of Salt's "renderer pipes" system to run a
167977              string or file through a pipe of any of the loaded renderer mod‐
167978              ules.
167979
167980              Parameters
167981
167982                     · path  --  The  path to a file on Salt's fileserver (any
167983                       URIs supported by cp.get_url) or on the local file sys‐
167984                       tem.
167985
167986                     · string  --  An  inline string to be used as the file to
167987                       send through the renderer system. Note,  not  all  ren‐
167988                       derer  modules can work with strings; the 'py' renderer
167989                       requires a file, for example.
167990
167991                     · default_renderer -- The renderer pipe to send the  file
167992                       through;  this is overridden by a "she-bang" at the top
167993                       of the file.
167994
167995                     · kwargs -- Keyword args to pass to  Salt's  compile_tem‐
167996                       plate() function.
167997
167998              Keep  in  mind  the  goal  of each renderer when choosing a ren‐
167999              der-pipe; for example, the Jinja renderer processes a text  file
168000              and  produces  a  string,  however the YAML renderer processes a
168001              text file and produces a data structure.
168002
168003              One possible use is to allow writing "map files",  as  are  com‐
168004              monly  seen  in Salt formulas, but without tying the renderer of
168005              the map file to the renderer used in the  other  sls  files.  In
168006              other  words, a map file could use the Python renderer and still
168007              be included and used by  an  sls  file  that  uses  the  default
168008              'jinja|yaml' renderer.
168009
168010              For  example,  the  two  following  map  files produce identical
168011              results but one is written using the normal 'jinja|yaml' and the
168012              other is using 'py':
168013
168014                 #!jinja|yaml
168015                 {% set apache = salt.grains.filter_by({
168016                     ...normal jinja map file here...
168017                 }, merge=salt.pillar.get('apache:lookup')) %}
168018                 {{ apache | yaml() }}
168019
168020                 #!py
168021                 def run():
168022                     apache = __salt__.grains.filter_by({
168023                         ...normal map here but as a python dict...
168024                     }, merge=__salt__.pillar.get('apache:lookup'))
168025                     return apache
168026
168027              Regardless  of  which  of the above map files is used, it can be
168028              accessed from any other sls file by calling this  function.  The
168029              following is a usage example in Jinja:
168030
168031                 {% set apache = salt.slsutil.renderer('map.sls') %}
168032
168033              CLI Example:
168034
168035                 salt '*' slsutil.renderer salt://path/to/file
168036                 salt '*' slsutil.renderer /path/to/file
168037                 salt '*' slsutil.renderer /path/to/file.jinja 'jinja'
168038                 salt '*' slsutil.renderer /path/to/file.sls 'jinja|yaml'
168039                 salt '*' slsutil.renderer string='Inline template! {{ saltenv }}'
168040                 salt '*' slsutil.renderer string='Hello, {{ name }}.' name='world'
168041
168042       salt.modules.slsutil.serialize(serializer, obj, **mod_kwargs)
168043              Serialize a Python object using a serializer module
168044
168045              CLI Example:
168046
168047                 salt '*' --no-parse=obj slsutil.serialize 'json' obj="{'foo': 'Foo!'}
168048
168049              Jinja Example:
168050
168051                 {% set json_string = salt.slsutil.serialize('json',
168052                     {'foo': 'Foo!'}) %}
168053
168054       salt.modules.slsutil.update(dest,      upd,      recursive_update=True,
168055       merge_lists=False)
168056              Merge upd recursively into dest
168057
168058              If merge_lists=True, will aggregate list object types instead of
168059              replacing.   This   behavior   is  only  activated  when  recur‐
168060              sive_update=True.
168061
168062              CLI Example:
168063
168064                 salt '*' slsutil.update '{foo: Foo}' '{bar: Bar}'
168065
168066   salt.modules.smartos_imgadm
168067       Module for running imgadm command on SmartOS
168068
168069       salt.modules.smartos_imgadm.avail(search=None, verbose=False)
168070              Return a list of available images
168071
168072              search string search keyword
168073
168074              verbose
168075                     boolean (False) toggle verbose output
168076
168077              CLI Example:
168078
168079                 salt '*' imgadm.avail [percona]
168080                 salt '*' imgadm.avail verbose=True
168081
168082       salt.modules.smartos_imgadm.delete(uuid)
168083              Remove an installed image
168084
168085              uuid   string Specifies uuid to import
168086
168087              CLI Example:
168088
168089                 salt '*' imgadm.delete e42f8c84-bbea-11e2-b920-078fab2aab1f
168090
168091       salt.modules.smartos_imgadm.docker_to_uuid(uuid)
168092              Get the image uuid from an imported docker image
168093
168094              New in version 2019.2.0.
168095
168096
168097       salt.modules.smartos_imgadm.get(uuid)
168098              Return info on an installed image
168099
168100              uuid   string uuid of image
168101
168102              CLI Example:
168103
168104                 salt '*' imgadm.get e42f8c84-bbea-11e2-b920-078fab2aab1f
168105                 salt '*' imgadm.get plexinc/pms-docker:plexpass
168106
168107       salt.modules.smartos_imgadm.import_image(uuid, verbose=False)
168108              Import an image from the repository
168109
168110              uuid   string uuid to import
168111
168112              verbose
168113                     boolean (False) toggle verbose output
168114
168115              CLI Example:
168116
168117                 salt '*' imgadm.import e42f8c84-bbea-11e2-b920-078fab2aab1f [verbose=True]
168118
168119       salt.modules.smartos_imgadm.list_installed(verbose=False)
168120              Return a list of installed images
168121
168122              verbose
168123                     boolean (False) toggle verbose output
168124
168125              Changed in version 2019.2.0: Docker images are now also listed
168126
168127
168128              CLI Example:
168129
168130                 salt '*' imgadm.list
168131                 salt '*' imgadm.list docker=True
168132                 salt '*' imgadm.list verbose=True
168133
168134       salt.modules.smartos_imgadm.show(uuid)
168135              Show manifest of a given image
168136
168137              uuid   string uuid of image
168138
168139              CLI Example:
168140
168141                 salt '*' imgadm.show e42f8c84-bbea-11e2-b920-078fab2aab1f
168142                 salt '*' imgadm.show plexinc/pms-docker:plexpass
168143
168144       salt.modules.smartos_imgadm.source_add(source, source_type=u'imgapi')
168145              Add a new source
168146
168147              source string source url to add
168148
168149              source_trype
168150                     string (imgapi) source type, either imgapi or docker
168151
168152              New in version 2019.2.0.
168153
168154
168155              CLI Example:
168156
168157                 salt '*' imgadm.source_add https://updates.joyent.com
168158                 salt '*' imgadm.source_add https://docker.io docker
168159
168160       salt.modules.smartos_imgadm.source_delete(source)
168161              Delete a source
168162
168163              source string source url to delete
168164
168165              New in version 2019.2.0.
168166
168167
168168              CLI Example:
168169
168170                 salt '*' imgadm.source_delete https://updates.joyent.com
168171
168172       salt.modules.smartos_imgadm.sources(verbose=False)
168173              Return a list of available sources
168174
168175              verbose
168176                     boolean (False) toggle verbose output
168177
168178              New in version 2019.2.0.
168179
168180
168181              CLI Example:
168182
168183                 salt '*' imgadm.sources
168184
168185       salt.modules.smartos_imgadm.update_installed(uuid=u'')
168186              Gather info on unknown image(s) (locally installed)
168187
168188              uuid   string optional uuid of image
168189
168190              CLI Example:
168191
168192                 salt '*' imgadm.update [uuid]
168193
168194       salt.modules.smartos_imgadm.vacuum(verbose=False)
168195              Remove unused images
168196
168197              verbose
168198                     boolean (False) toggle verbose output
168199
168200              CLI Example:
168201
168202                 salt '*' imgadm.vacuum [verbose=True]
168203
168204       salt.modules.smartos_imgadm.version()
168205              Return imgadm version
168206
168207              CLI Example:
168208
168209                 salt '*' imgadm.version
168210
168211   salt.modules.smartos_nictagadm module
168212       Module for running nictagadm command on SmartOS  :maintainer:     Jorge
168213       Schrauwen <sjorge@blackdot.be> :maturity:      new :depends:       nic‐
168214       tagadm binary, dladm binary :platform:      smartos
168215
168216       ..versionadded:: 2016.11.0
168217
168218       salt.modules.smartos_nictagadm.add(name, mac, mtu=1500)
168219              Add a new nictag
168220
168221              name   string name of new nictag
168222
168223              mac    string mac of parent interface or 'etherstub' to create a
168224                     ether stub
168225
168226              mtu    int MTU (ignored for etherstubs)
168227
168228              CLI Example:
168229
168230                 salt '*' nictagadm.add storage0 etherstub
168231                 salt '*' nictagadm.add trunk0 'DE:AD:OO:OO:BE:EF' 9000
168232
168233       salt.modules.smartos_nictagadm.delete(name, force=False)
168234              Delete nictag
168235
168236              name   string nictag to delete
168237
168238              force  boolean force delete even if vms attached
168239
168240              CLI Example:
168241
168242                 salt '*' nictagadm.exists admin
168243
168244       salt.modules.smartos_nictagadm.exists(*nictag, **kwargs)
168245              Check if nictags exists
168246
168247              nictag string one or more nictags to check
168248
168249              verbose
168250                     boolean return list of nictags
168251
168252              CLI Example:
168253
168254                 salt '*' nictagadm.exists admin
168255
168256       salt.modules.smartos_nictagadm.list_nictags(include_etherstubs=True)
168257              List all nictags
168258
168259              include_etherstubs
168260                     boolean toggle include of etherstubs
168261
168262              CLI Example:
168263
168264                 salt '*' nictagadm.list
168265
168266       salt.modules.smartos_nictagadm.update(name, mac=None, mtu=None)
168267              Update a nictag
168268
168269              name   string name of nictag
168270
168271              mac    string optional new mac for nictag
168272
168273              mtu    int optional new MTU for nictag
168274
168275              CLI Example:
168276
168277                 salt '*' nictagadm.update trunk mtu=9000
168278
168279       salt.modules.smartos_nictagadm.vms(nictag)
168280              List all vms connect to nictag
168281
168282              nictag string name of nictag
168283
168284              CLI Example:
168285
168286                 salt '*' nictagadm.vms admin
168287
168288   salt.modules.smartos_virt
168289       virst compatibility module for managing VMs on SmartOS
168290
168291       salt.modules.smartos_virt.get_macs(domain)
168292              Return a list off MAC addresses from the named VM
168293
168294              CLI Example:
168295
168296                 salt '*' virt.get_macs <domain>
168297
168298       salt.modules.smartos_virt.init(**kwargs)
168299              Initialize a new VM
168300
168301              CLI Example:
168302
168303                 salt '*' virt.init image_uuid='...' alias='...' [...]
168304
168305       salt.modules.smartos_virt.list_active_vms()
168306              Return a list of uuids for active virtual machine on the minion
168307
168308              CLI Example:
168309
168310                 salt '*' virt.list_active_vms
168311
168312       salt.modules.smartos_virt.list_domains()
168313              Return a list of virtual machine names on the minion
168314
168315              CLI Example:
168316
168317                 salt '*' virt.list_domains
168318
168319       salt.modules.smartos_virt.list_inactive_vms()
168320              Return  a list of uuids for inactive virtual machine on the min‐
168321              ion
168322
168323              CLI Example:
168324
168325                 salt '*' virt.list_inactive_vms
168326
168327       salt.modules.smartos_virt.reboot(domain)
168328              Reboot a domain via ACPI request
168329
168330              CLI Example:
168331
168332                 salt '*' virt.reboot <domain>
168333
168334       salt.modules.smartos_virt.setmem(domain, memory)
168335              Change the amount of memory allocated to VM.  <memory> is to  be
168336              specified in MB.
168337
168338              Note for KVM : this would require a restart of the VM.
168339
168340              CLI Example:
168341
168342                 salt '*' virt.setmem <domain> 512
168343
168344       salt.modules.smartos_virt.shutdown(domain)
168345              Send a soft shutdown signal to the named vm
168346
168347              CLI Example:
168348
168349                 salt '*' virt.shutdown <domain>
168350
168351       salt.modules.smartos_virt.start(domain)
168352              Start a defined domain
168353
168354              CLI Example:
168355
168356                 salt '*' virt.start <domain>
168357
168358       salt.modules.smartos_virt.stop(domain)
168359              Hard  power down the virtual machine, this is equivalent to pow‐
168360              ering off the hardware.
168361
168362              CLI Example:
168363
168364                 salt '*' virt.destroy <domain>
168365
168366       salt.modules.smartos_virt.vm_info(domain)
168367              Return a dict with information about the specified VM on this CN
168368
168369              CLI Example:
168370
168371                 salt '*' virt.vm_info <domain>
168372
168373       salt.modules.smartos_virt.vm_virt_type(domain)
168374              Return VM virtualization type : OS or KVM
168375
168376              CLI Example:
168377
168378                 salt '*' virt.vm_virt_type <domain>
168379
168380   salt.modules.smartos_vmadm
168381       Module for running vmadm command on SmartOS
168382
168383       salt.modules.smartos_vmadm.create(from_file=None, **kwargs)
168384              Create a new vm
168385
168386              from_file
168387                     string json file to create the vm from -- if present, all
168388                     other options will be ignored
168389
168390              kwargs string|int|...  options to set for the vm
168391
168392              CLI Example:
168393
168394                 salt '*' vmadm.create from_file=/tmp/new_vm.json
168395                 salt '*' vmadm.create image_uuid='...' alias='...' nics='[{ "nic_tag": "admin", "ip": "198.51.100.123", ...}, {...}]' [...]
168396
168397       salt.modules.smartos_vmadm.create_snapshot(vm, name, key=u'uuid')
168398              Create snapshot of a vm
168399
168400              vm     string vm to be targeted
168401
168402              name   string.INDENT 7.0
168403
168404              snapshot name
168405                     The  snapname must be 64 characters or less and must only
168406                     contain alphanumeric characters and characters in the set
168407                     [-_.:%] to comply with ZFS restrictions.
168408
168409       key    string [uuid|alias|hostname] value type of 'vm' parameter
168410
168411       CLI Example:
168412
168413                 salt '*' vmadm.create_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
168414                 salt '*' vmadm.create_snapshot nacl baseline key=alias
168415
168416       salt.modules.smartos_vmadm.delete(vm, key=u'uuid')
168417              Delete a vm
168418
168419              vm     string vm to be deleted
168420
168421              key    string [uuid|alias|hostname] value type of 'vm' parameter
168422
168423              CLI Example:
168424
168425                 salt '*' vmadm.delete 186da9ab-7392-4f55-91a5-b8f1fe770543
168426                 salt '*' vmadm.delete nacl key=alias
168427
168428       salt.modules.smartos_vmadm.delete_snapshot(vm, name, key=u'uuid')
168429              Delete snapshot of a vm
168430
168431              vm     string vm to be targeted
168432
168433              name   string.INDENT 7.0
168434
168435              snapshot name
168436                     The  snapname must be 64 characters or less and must only
168437                     contain alphanumeric characters and characters in the set
168438                     [-_.:%] to comply with ZFS restrictions.
168439
168440       key    string [uuid|alias|hostname] value type of 'vm' parameter
168441
168442       CLI Example:
168443
168444                 salt '*' vmadm.delete_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
168445                 salt '*' vmadm.delete_snapshot nacl baseline key=alias
168446
168447       salt.modules.smartos_vmadm.get(vm, key=u'uuid')
168448              Output the JSON object describing a VM
168449
168450              vm     string vm to be targeted
168451
168452              key    string [uuid|alias|hostname] value type of 'vm' parameter
168453
168454              CLI Example:
168455
168456                 salt '*' vmadm.get 186da9ab-7392-4f55-91a5-b8f1fe770543
168457                 salt '*' vmadm.get nacl key=alias
168458
168459       salt.modules.smartos_vmadm.info(vm, info_type=u'all', key=u'uuid')
168460              Lookup info on running kvm
168461
168462              vm     string vm to be targeted
168463
168464              info_type
168465                     string                                  [all|block|block‐
168466                     stats|chardev|cpus|kvm|pci|spice|version|vnc]  info  type
168467                     to return
168468
168469              key    string [uuid|alias|hostname] value type of 'vm' parameter
168470
168471              CLI Example:
168472
168473                 salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543
168474                 salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543 vnc
168475                 salt '*' vmadm.info nacl key=alias
168476                 salt '*' vmadm.info nacl vnc key=alias
168477
168478       salt.modules.smartos_vmadm.list_vms(search=None,             sort=None,
168479       order=u'uuid, type, ram, state, alias', keyed=True)
168480              Return a list of VMs
168481
168482              search string vmadm filter property
168483
168484              sort   string vmadm sort (-s) property
168485
168486              order  string   vmadm   order   (-o)   property   --    Default:
168487                     uuid,type,ram,state,alias
168488
168489              keyed  boolean.INDENT 7.0
168490
168491              specified  if  the  output  should  be  an array (False) or dict
168492              (True)
168493                     For a dict the key is  the  first  item  from  the  order
168494                     parameter.  Note: If key is not unique last vm wins.
168495
168496       CLI Example:
168497
168498                 salt '*' vmadm.list
168499                 salt '*' vmadm.list order=alias,ram,cpu_cap sort=-ram,-cpu_cap
168500                 salt '*' vmadm.list search='type=KVM'
168501
168502       salt.modules.smartos_vmadm.lookup(search=None, order=None, one=False)
168503              Return a list of VMs using lookup
168504
168505              search string vmadm filter property
168506
168507              order  string    vmadm   order   (-o)   property   --   Default:
168508                     uuid,type,ram,state,alias
168509
168510              one    boolean return only one result (vmadm's -1)
168511
168512              CLI Example:
168513
168514                 salt '*' vmadm.lookup search='state=running'
168515                 salt '*' vmadm.lookup search='state=running' order=uuid,alias,hostname
168516                 salt '*' vmadm.lookup search='alias=nacl' one=True
168517
168518       salt.modules.smartos_vmadm.reboot(vm, force=False, key=u'uuid')
168519              Reboot a vm
168520
168521              vm     string vm to be rebooted
168522
168523              force  boolean force reboot of vm if true
168524
168525              key    string [uuid|alias|hostname] value type of 'vm' parameter
168526
168527              CLI Example:
168528
168529                 salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543
168530                 salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543 True
168531                 salt '*' vmadm.reboot vm=nacl key=alias
168532                 salt '*' vmadm.reboot vm=nina.example.org key=hostname
168533
168534       salt.modules.smartos_vmadm.receive(uuid, source)
168535              Receive a vm from a directory
168536
168537              uuid   string uuid of vm to be received
168538
168539              source string source directory
168540
168541              CLI Example:
168542
168543                 salt '*' vmadm.receive 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups
168544
168545       salt.modules.smartos_vmadm.reprovision(vm, image, key=u'uuid')
168546              Reprovision a vm
168547
168548              vm     string vm to be reprovisioned
168549
168550              image  string uuid of new image
168551
168552              key    string [uuid|alias|hostname] value type of 'vm' parameter
168553
168554              CLI Example:
168555
168556                 salt '*' vmadm.reprovision 186da9ab-7392-4f55-91a5-b8f1fe770543 c02a2044-c1bd-11e4-bd8c-dfc1db8b0182
168557                 salt '*' vmadm.reprovision nacl c02a2044-c1bd-11e4-bd8c-dfc1db8b0182 key=alias
168558
168559       salt.modules.smartos_vmadm.rollback_snapshot(vm, name, key=u'uuid')
168560              Rollback snapshot of a vm
168561
168562              vm     string vm to be targeted
168563
168564              name   string.INDENT 7.0
168565
168566              snapshot name
168567                     The snapname must be 64 characters or less and must  only
168568                     contain alphanumeric characters and characters in the set
168569                     [-_.:%] to comply with ZFS restrictions.
168570
168571       key    string [uuid|alias|hostname] value type of 'vm' parameter
168572
168573       CLI Example:
168574
168575                 salt '*' vmadm.rollback_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
168576                 salt '*' vmadm.rollback_snapshot nacl baseline key=alias
168577
168578       salt.modules.smartos_vmadm.send(vm, target, key=u'uuid')
168579              Send a vm to a directory
168580
168581              vm     string vm to be sent
168582
168583              target string target directory
168584
168585              key    string [uuid|alias|hostname] value type of 'vm' parameter
168586
168587              CLI Example:
168588
168589                 salt '*' vmadm.send 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups
168590                 salt '*' vmadm.send vm=nacl target=/opt/backups key=alias
168591
168592       salt.modules.smartos_vmadm.start(vm, options=None, key=u'uuid')
168593              Start a vm
168594
168595              vm     string vm to be started
168596
168597              options
168598                     string optional additional options
168599
168600              key    string [uuid|alias|hostname] value type of 'vm' parameter
168601
168602              CLI Example:
168603
168604                 salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543
168605                 salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543 'order=c,once=d cdrom=/path/to/image.iso,ide'
168606                 salt '*' vmadm.start vm=nacl key=alias
168607                 salt '*' vmadm.start vm=nina.example.org key=hostname
168608
168609       salt.modules.smartos_vmadm.stop(vm, force=False, key=u'uuid')
168610              Stop a vm
168611
168612              vm     string vm to be stopped
168613
168614              force  boolean force stop of vm if true
168615
168616              key    string [uuid|alias|hostname] value type of 'vm' parameter
168617
168618              CLI Example:
168619
168620                 salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543
168621                 salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543 True
168622                 salt '*' vmadm.stop vm=nacl key=alias
168623                 salt '*' vmadm.stop vm=nina.example.org key=hostname
168624
168625       salt.modules.smartos_vmadm.sysrq(vm, action=u'nmi', key=u'uuid')
168626              Send non-maskable interrupt to vm or capture a screenshot
168627
168628              vm     string vm to be targeted
168629
168630              action string nmi or screenshot -- Default: nmi
168631
168632              key    string [uuid|alias|hostname] value type of 'vm' parameter
168633
168634              CLI Example:
168635
168636                 salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 nmi
168637                 salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 screenshot
168638                 salt '*' vmadm.sysrq nacl nmi key=alias
168639
168640       salt.modules.smartos_vmadm.update(vm,   from_file=None,    key=u'uuid',
168641       **kwargs)
168642              Update a new vm
168643
168644              vm     string vm to be updated
168645
168646              from_file
168647                     string json file to update the vm with -- if present, all
168648                     other options will be ignored
168649
168650              key    string [uuid|alias|hostname] value type of 'vm' parameter
168651
168652              kwargs string|int|...  options to update for the vm
168653
168654              CLI Example:
168655
168656                 salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 from_file=/tmp/new_vm.json
168657                 salt '*' vmadm.update vm=nacl key=alias from_file=/tmp/new_vm.json
168658                 salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 max_physical_memory=1024
168659
168660   salt.modules.smbios
168661       Interface to SMBIOS/DMI
168662
168663       (Parsing through dmidecode)
168664
168665   External References
168666       Desktop Management Interface (DMI)
168667       System Management BIOS
168668       DMIdecode
168669
168670
168671       salt.modules.smbios.get(string, clean=True)
168672              Get an individual DMI string from SMBIOS info
168673
168674              string
168675
168676                     The string to fetch. DMIdecode supports:
168677
168678                            · bios-vendor
168679
168680                            · bios-version
168681
168682                            · bios-release-date
168683
168684                            · system-manufacturer
168685
168686                            · system-product-name
168687
168688                            · system-version
168689
168690                            · system-serial-number
168691
168692                            · system-uuid
168693
168694                            · baseboard-manufacturer
168695
168696                            · baseboard-product-name
168697
168698                            · baseboard-version
168699
168700                            · baseboard-serial-number
168701
168702                            · baseboard-asset-tag
168703
168704                            · chassis-manufacturer
168705
168706                            · chassis-type
168707
168708                            · chassis-version
168709
168710                            · chassis-serial-number
168711
168712                            · chassis-asset-tag
168713
168714                            · processor-family
168715
168716                            · processor-manufacturer
168717
168718                            · processor-version
168719
168720                            · processor-frequency
168721
168722              clean
168723                     Don't return well-known false information
168724                     (invalid UUID's, serial 000000000's, etcetera)
168725                     Defaults to True
168726
168727
168728              CLI Example:
168729
168730                 salt '*' smbios.get system-uuid clean=False
168731
168732       salt.modules.smbios.records(rec_type=None, fields=None, clean=True)
168733              Return DMI records from SMBIOS
168734
168735              type   Return only records of type(s) The  SMBIOS  specification
168736                     defines the following DMI types:
168737
168738                                ┌─────┬────────────────────────────┐
168739                                │Type │ Information                │
168740                                ├─────┼────────────────────────────┤
168741                                │0    │ BIOS                       │
168742                                ├─────┼────────────────────────────┤
168743                                │1    │ System                     │
168744                                ├─────┼────────────────────────────┤
168745                                │2    │ Baseboard                  │
168746                                ├─────┼────────────────────────────┤
168747                                │3    │ Chassis                    │
168748                                ├─────┼────────────────────────────┤
168749                                │4    │ Processor                  │
168750                                ├─────┼────────────────────────────┤
168751                                │5    │ Memory Controller          │
168752                                ├─────┼────────────────────────────┤
168753                                │6    │ Memory Module              │
168754                                ├─────┼────────────────────────────┤
168755                                │7    │ Cache                      │
168756                                ├─────┼────────────────────────────┤
168757                                │8    │ Port Connector             │
168758                                ├─────┼────────────────────────────┤
168759                                │9    │ System Slots               │
168760                                ├─────┼────────────────────────────┤
168761                                │10   │ On Board Devices           │
168762                                ├─────┼────────────────────────────┤
168763                                │11   │ OEM Strings                │
168764                                ├─────┼────────────────────────────┤
168765                                │12   │ System       Configuration │
168766                                │     │ Options                    │
168767                                ├─────┼────────────────────────────┤
168768                                │13   │ BIOS Language              │
168769                                ├─────┼────────────────────────────┤
168770                                │14   │ Group Associations         │
168771                                ├─────┼────────────────────────────┤
168772                                │15   │ System Event Log           │
168773                                ├─────┼────────────────────────────┤
168774                                │16   │ Physical Memory Array      │
168775                                ├─────┼────────────────────────────┤
168776                                │17   │ Memory Device              │
168777                                ├─────┼────────────────────────────┤
168778                                │18   │ 32-bit Memory Error        │
168779                                ├─────┼────────────────────────────┤
168780                                │19   │ Memory    Array     Mapped │
168781                                │     │ Address                    │
168782                                ├─────┼────────────────────────────┤
168783                                │20   │ Memory    Device    Mapped │
168784                                │     │ Address                    │
168785                                ├─────┼────────────────────────────┤
168786                                │21   │ Built-in Pointing Device   │
168787                                ├─────┼────────────────────────────┤
168788                                │22   │ Portable Battery           │
168789                                ├─────┼────────────────────────────┤
168790                                │23   │ System Reset               │
168791                                ├─────┼────────────────────────────┤
168792                                │24   │ Hardware Security          │
168793                                ├─────┼────────────────────────────┤
168794                                │25   │ System Power Controls      │
168795                                ├─────┼────────────────────────────┤
168796                                │26   │ Voltage Probe              │
168797                                ├─────┼────────────────────────────┤
168798                                │27   │ Cooling Device             │
168799                                ├─────┼────────────────────────────┤
168800                                │28   │ Temperature Probe          │
168801                                ├─────┼────────────────────────────┤
168802                                │29   │ Electrical Current Probe   │
168803                                ├─────┼────────────────────────────┤
168804                                │30   │ Out-of-band Remote Access  │
168805                                ├─────┼────────────────────────────┤
168806                                │31   │ Boot Integrity Services    │
168807                                ├─────┼────────────────────────────┤
168808                                │32   │ System Boot                │
168809                                ├─────┼────────────────────────────┤
168810                                │33   │ 64-bit Memory Error        │
168811                                ├─────┼────────────────────────────┤
168812                                │34   │ Management Device          │
168813                                ├─────┼────────────────────────────┤
168814                                │35   │ Management  Device  Compo‐ │
168815                                │     │ nent                       │
168816                                ├─────┼────────────────────────────┤
168817                                │36   │ Management  Device Thresh‐ │
168818                                │     │ old Data                   │
168819                                ├─────┼────────────────────────────┤
168820                                │37   │ Memory Channel             │
168821                                ├─────┼────────────────────────────┤
168822                                │38   │ IPMI Device                │
168823                                ├─────┼────────────────────────────┤
168824                                │39   │ Power Supply               │
168825                                ├─────┼────────────────────────────┤
168826                                │40   │ Additional Information     │
168827                                ├─────┼────────────────────────────┤
168828                                │41   │ Onboard  Devices  Extended │
168829                                │     │ Information                │
168830                                ├─────┼────────────────────────────┤
168831                                │42   │ Management Controller Host │
168832                                │     │ Interface                  │
168833                                └─────┴────────────────────────────┘
168834
168835              clean
168836                     Don't return well-known false information
168837                     (invalid UUID's, serial 000000000's, etcetera)
168838                     Defaults to True
168839
168840
168841              CLI Example:
168842
168843                 salt '*' smbios.records clean=False
168844                 salt '*' smbios.records 14
168845                 salt '*' smbios.records 4 core_count,thread_count,current_speed
168846
168847   salt.modules.smf_service
168848       Service support for Solaris 10 and 11, should work with  other  systems
168849       that use SMF also. (e.g. SmartOS)
168850
168851       IMPORTANT:
168852          If you feel that Salt should be using this module to manage services
168853          on a minion, and it is using a different module (or gives  an  error
168854          similar to 'service.start' is not available), see here.
168855
168856       salt.modules.smf_service.available(name)
168857              Returns  True  if  the specified service is available, otherwise
168858              returns False.
168859
168860              We look up the name with the svcs command to get back  the  FMRI
168861              This allows users to use simpler service names
168862
168863              CLI Example:
168864
168865                 salt '*' service.available net-snmp
168866
168867       salt.modules.smf_service.disable(name, **kwargs)
168868              Disable the named service to start at boot
168869
168870              CLI Example:
168871
168872                 salt '*' service.disable <service name>
168873
168874       salt.modules.smf_service.disabled(name)
168875              Check to see if the named service is disabled to start on boot
168876
168877              CLI Example:
168878
168879                 salt '*' service.disabled <service name>
168880
168881       salt.modules.smf_service.enable(name, **kwargs)
168882              Enable the named service to start at boot
168883
168884              CLI Example:
168885
168886                 salt '*' service.enable <service name>
168887
168888       salt.modules.smf_service.enabled(name, **kwargs)
168889              Check to see if the named service is enabled to start on boot
168890
168891              CLI Example:
168892
168893                 salt '*' service.enabled <service name>
168894
168895       salt.modules.smf_service.get_all()
168896              Return all installed services
168897
168898              CLI Example:
168899
168900                 salt '*' service.get_all
168901
168902       salt.modules.smf_service.get_disabled()
168903              Return the disabled services
168904
168905              CLI Example:
168906
168907                 salt '*' service.get_disabled
168908
168909       salt.modules.smf_service.get_enabled()
168910              Return the enabled services
168911
168912              CLI Example:
168913
168914                 salt '*' service.get_enabled
168915
168916       salt.modules.smf_service.get_running()
168917              Return the running services
168918
168919              CLI Example:
168920
168921                 salt '*' service.get_running
168922
168923       salt.modules.smf_service.get_stopped()
168924              Return the stopped services
168925
168926              CLI Example:
168927
168928                 salt '*' service.get_stopped
168929
168930       salt.modules.smf_service.missing(name)
168931              The inverse of service.available.  Returns True if the specified
168932              service is not available, otherwise returns False.
168933
168934              CLI Example:
168935
168936                 salt '*' service.missing net-snmp
168937
168938       salt.modules.smf_service.reload_(name)
168939              Reload the named service
168940
168941              CLI Example:
168942
168943                 salt '*' service.reload <service name>
168944
168945       salt.modules.smf_service.restart(name)
168946              Restart the named service
168947
168948              CLI Example:
168949
168950                 salt '*' service.restart <service name>
168951
168952       salt.modules.smf_service.start(name)
168953              Start the specified service
168954
168955              CLI Example:
168956
168957                 salt '*' service.start <service name>
168958
168959       salt.modules.smf_service.status(name, sig=None)
168960              Return the status for a service.  If the name contains globbing,
168961              a dict mapping service name to True/False values is returned.
168962
168963              Changed  in version 2018.3.0: The service name can now be a glob
168964              (e.g. salt*)
168965
168966
168967              Parameters
168968
168969                     · name (str) -- The name of the service to check
168970
168971                     · sig (str) -- Not implemented
168972
168973              Returns
168974                     True if running, False otherwise dict: Maps service  name
168975                     to True if running, False otherwise
168976
168977              Return type
168978                     bool
168979
168980              CLI Example:
168981
168982                 salt '*' service.status <service name>
168983
168984       salt.modules.smf_service.stop(name)
168985              Stop the specified service
168986
168987              CLI Example:
168988
168989                 salt '*' service.stop <service name>
168990
168991   salt.modules.smtp
168992       Module for Sending Messages via SMTP
168993
168994       New in version 2014.7.0.
168995
168996
168997       depends
168998
168999              · smtplib python module
169000
169001       configuration
169002              This  module  can  be  used by either passing a jid and password
169003              directly to send_message, or by specifying the name of a config‐
169004              uration  profile  in the minion config, minion pillar, or master
169005              config.
169006
169007              For example:
169008
169009                 my-smtp-login:
169010                     smtp.server: smtp.domain.com
169011                     smtp.tls: True
169012                     smtp.sender: admin@domain.com
169013                     smtp.username: myuser
169014                     smtp.password: verybadpass
169015
169016              The resourcename refers to  the  resource  that  is  using  this
169017              account.  It is user-definable, and optional. The following con‐
169018              figurations are both valid:
169019
169020                 my-smtp-login:
169021                     smtp.server: smtp.domain.com
169022                     smtp.tls: True
169023                     smtp.sender: admin@domain.com
169024                     smtp.username: myuser
169025                     smtp.password: verybadpass
169026
169027                 another-smtp-login:
169028                     smtp.server: smtp.domain.com
169029                     smtp.tls: True
169030                     smtp.sender: admin@domain.com
169031                     smtp.username: myuser
169032                     smtp.password: verybadpass
169033
169034       salt.modules.smtp.send_msg(recipient, message,  subject=u'Message  from
169035       Salt',  sender=None, server=None, use_ssl=u'True', username=None, pass‐
169036       word=None, profile=None, attachments=None)
169037              Send a message to an SMTP recipient. Designed for use in states.
169038
169039              CLI Examples:
169040
169041                 salt '*' smtp.send_msg 'admin@example.com' 'This is a salt module test' profile='my-smtp-account'
169042                 salt '*' smtp.send_msg 'admin@example.com' 'This is a salt module test' username='myuser' password='verybadpass' sender='admin@example.com' server='smtp.domain.com'
169043                 salt '*' smtp.send_msg 'admin@example.com' 'This is a salt module test' username='myuser' password='verybadpass' sender='admin@example.com' server='smtp.domain.com' attachments="['/var/log/messages']"
169044
169045   salt.modules.solaris_fmadm
169046       Module for running fmadm and fmdump on Solaris
169047
169048       maintainer
169049              Jorge Schrauwen <sjorge@blackdot.be>
169050
169051       maturity
169052              new
169053
169054       platform
169055              solaris,illumos
169056
169057       New in version 2016.3.0.
169058
169059
169060       salt.modules.solaris_fmadm.acquit(fmri)
169061              Acquit resource or acquit case
169062
169063              fmri: string
169064                     fmri or uuid
169065
169066              CLI Example:
169067
169068                 salt '*' fmadm.acquit fmri | uuid
169069
169070       salt.modules.solaris_fmadm.config()
169071              Display fault manager configuration
169072
169073              CLI Example:
169074
169075                 salt '*' fmadm.config
169076
169077       salt.modules.solaris_fmadm.faulty()
169078              Display list of faulty resources
169079
169080              CLI Example:
169081
169082                 salt '*' fmadm.faulty
169083
169084       salt.modules.solaris_fmadm.flush(fmri)
169085              Flush cached state for resource
169086
169087              fmri: string
169088                     fmri
169089
169090              CLI Example:
169091
169092                 salt '*' fmadm.flush fmri
169093
169094       salt.modules.solaris_fmadm.healthy()
169095              Return whether fmadm is reporting faults
169096
169097              CLI Example:
169098
169099                 salt '*' fmadm.healthy
169100
169101       salt.modules.solaris_fmadm.list_records(after=None, before=None)
169102              Display fault management logs
169103
169104              after  string filter events after time, see man fmdump for  for‐
169105                     mat
169106
169107              before string filter events before time, see man fmdump for for‐
169108                     mat
169109
169110              CLI Example:
169111
169112                 salt '*' fmadm.list
169113
169114       salt.modules.solaris_fmadm.load(path)
169115              Load specified fault manager module
169116
169117              path: string
169118                     path of fault manager module
169119
169120              CLI Example:
169121
169122                 salt '*' fmadm.load /module/path
169123
169124       salt.modules.solaris_fmadm.repaired(fmri)
169125              Notify fault manager that resource has been repaired
169126
169127              fmri: string
169128                     fmri
169129
169130              CLI Example:
169131
169132                 salt '*' fmadm.repaired fmri
169133
169134       salt.modules.solaris_fmadm.replaced(fmri)
169135              Notify fault manager that resource has been replaced
169136
169137              fmri: string
169138                     fmri
169139
169140              CLI Example:
169141
169142                 salt '*' fmadm.repaired fmri
169143
169144       salt.modules.solaris_fmadm.reset(module, serd=None)
169145              Reset module or sub-component
169146
169147              module: string
169148                     module to unload
169149
169150              serd   string serd sub module
169151
169152              CLI Example:
169153
169154                 salt '*' fmadm.reset software-response
169155
169156       salt.modules.solaris_fmadm.show(uuid)
169157              Display log details
169158
169159              uuid: string
169160                     uuid of fault
169161
169162              CLI Example:
169163
169164                 salt '*' fmadm.show 11b4070f-4358-62fa-9e1e-998f485977e1
169165
169166       salt.modules.solaris_fmadm.unload(module)
169167              Unload specified fault manager module
169168
169169              module: string
169170                     module to unload
169171
169172              CLI Example:
169173
169174                 salt '*' fmadm.unload software-response
169175
169176   salt.modules.solaris_group
169177       Manage groups on Solaris
169178
169179       IMPORTANT:
169180          If you feel that Salt should be using this module to  manage  groups
169181          on  a  minion, and it is using a different module (or gives an error
169182          similar to 'group.info' is not available), see here.
169183
169184       salt.modules.solaris_group.add(name, gid=None, **kwargs)
169185              Add the specified group
169186
169187              CLI Example:
169188
169189                 salt '*' group.add foo 3456
169190
169191       salt.modules.solaris_group.chgid(name, gid)
169192              Change the gid for a named group
169193
169194              CLI Example:
169195
169196                 salt '*' group.chgid foo 4376
169197
169198       salt.modules.solaris_group.delete(name)
169199              Remove the named group
169200
169201              CLI Example:
169202
169203                 salt '*' group.delete foo
169204
169205       salt.modules.solaris_group.getent(refresh=False)
169206              Return info on all groups
169207
169208              CLI Example:
169209
169210                 salt '*' group.getent
169211
169212       salt.modules.solaris_group.info(name)
169213              Return information about a group
169214
169215              CLI Example:
169216
169217                 salt '*' group.info foo
169218
169219   salt.modules.solaris_shadow
169220       Manage the password database on Solaris systems
169221
169222       IMPORTANT:
169223          If you feel that Salt should be using this module  to  manage  pass‐
169224          words  on  a minion, and it is using a different module (or gives an
169225          error similar to 'shadow.info' is not available), see here.
169226
169227       salt.modules.solaris_shadow.default_hash()
169228              Returns the default hash used for unset passwords
169229
169230              CLI Example:
169231
169232                 salt '*' shadow.default_hash
169233
169234       salt.modules.solaris_shadow.del_password(name)
169235              New in version 2015.8.8.
169236
169237
169238              Delete the password from name user
169239
169240              CLI Example:
169241
169242                 salt '*' shadow.del_password username
169243
169244       salt.modules.solaris_shadow.gen_password(password,     crypt_salt=None,
169245       algorithm=u'sha512')
169246              New in version 2015.8.8.
169247
169248
169249              Generate hashed password
169250
169251              NOTE:
169252                 When  called this function is called directly via remote-exe‐
169253                 cution, the password argument may be displayed  in  the  sys‐
169254                 tem's  process  list.  This may be a security risk on certain
169255                 systems.
169256
169257              password
169258                     Plaintext password to be hashed.
169259
169260              crypt_salt
169261                     Crpytographic salt. If not given,  a  random  8-character
169262                     salt will be generated.
169263
169264              algorithm
169265                     The following hash algorithms are supported:
169266
169267                     · md5
169268
169269                     · blowfish (not in mainline glibc, only available in dis‐
169270                       tros that add it)
169271
169272                     · sha256
169273
169274                     · sha512 (default)
169275
169276              CLI Example:
169277
169278                 salt '*' shadow.gen_password 'I_am_password'
169279                 salt '*' shadow.gen_password 'I_am_password' crypt_salt='I_am_salt' algorithm=sha256
169280
169281       salt.modules.solaris_shadow.info(name)
169282              Return information for the specified user
169283
169284              CLI Example:
169285
169286                 salt '*' shadow.info root
169287
169288       salt.modules.solaris_shadow.set_maxdays(name, maxdays)
169289              Set the maximum number of days during which a password is valid.
169290              See man passwd.
169291
169292              CLI Example:
169293
169294                 salt '*' shadow.set_maxdays username 90
169295
169296       salt.modules.solaris_shadow.set_mindays(name, mindays)
169297              Set the minimum number of days between password changes. See man
169298              passwd.
169299
169300              CLI Example:
169301
169302                 salt '*' shadow.set_mindays username 7
169303
169304       salt.modules.solaris_shadow.set_password(name, password)
169305              Set the password for a named user. The password must be a  prop‐
169306              erly  defined hash, the password hash can be generated with this
169307              command: openssl passwd -1 <plaintext password>
169308
169309              CLI Example:
169310
169311                 salt '*' shadow.set_password root $1$UYCIxa628.9qXjpQCjM4a..
169312
169313       salt.modules.solaris_shadow.set_warndays(name, warndays)
169314              Set the number of days of warning before a  password  change  is
169315              required.  See man passwd.
169316
169317              CLI Example:
169318
169319                 salt '*' shadow.set_warndays username 7
169320
169321   salt.modules.solaris_system
169322       Support for reboot, shutdown, etc
169323
169324       This module is assumes we are using solaris-like shutdown
169325
169326       New in version 2016.3.0.
169327
169328
169329       salt.modules.solaris_system.halt()
169330              Halt a running system
169331
169332              CLI Example:
169333
169334                 salt '*' system.halt
169335
169336       salt.modules.solaris_system.init(state)
169337              Change the system runlevel on sysV compatible systems
169338
169339              CLI Example:
169340
169341              state  string Init state
169342
169343                 salt '*' system.init 3
169344
169345       salt.modules.solaris_system.poweroff()
169346              Poweroff a running system
169347
169348              CLI Example:
169349
169350                 salt '*' system.poweroff
169351
169352       salt.modules.solaris_system.reboot(delay=0, message=None)
169353              Reboot the system
169354
169355              delay  int  Optional wait time in seconds before the system will
169356                     be rebooted.
169357
169358              message
169359                     string Optional message to broadcast before rebooting.
169360
169361              CLI Example:
169362
169363                 salt '*' system.reboot
169364                 salt '*' system.reboot 60 "=== system upgraded ==="
169365
169366       salt.modules.solaris_system.shutdown(delay=0, message=None)
169367              Shutdown a running system
169368
169369              delay  int Optional wait time in seconds before the system  will
169370                     be shutdown.
169371
169372              message
169373                     string Optional message to broadcast before rebooting.
169374
169375              CLI Example:
169376
169377                 salt '*' system.shutdown
169378                 salt '*' system.shutdown 60 "=== disk replacement ==="
169379
169380   salt.modules.solaris_user
169381       Manage users with the useradd command
169382
169383       IMPORTANT:
169384          If you feel that Salt should be using this module to manage users on
169385          a minion, and it is using a different module (or gives an error sim‐
169386          ilar to 'user.info' is not available), see here.
169387
169388       salt.modules.solaris_user.add(name,  uid=None,  gid=None,  groups=None,
169389       home=None, shell=None, unique=True, fullname=u'', roomnumber=u'', work‐
169390       phone=u'', homephone=u'', createhome=True, **kwargs)
169391              Add a user to the minion
169392
169393              CLI Example:
169394
169395                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
169396
169397       salt.modules.solaris_user.chfullname(name, fullname)
169398              Change the user's Full Name
169399
169400              CLI Example:
169401
169402                 salt '*' user.chfullname foo "Foo Bar"
169403
169404       salt.modules.solaris_user.chgid(name, gid)
169405              Change the default group of the user
169406
169407              CLI Example:
169408
169409                 salt '*' user.chgid foo 4376
169410
169411       salt.modules.solaris_user.chgroups(name, groups, append=False)
169412              Change the groups to which a user belongs
169413
169414              name   Username to modify
169415
169416              groups List  of  groups  to set for the user. Can be passed as a
169417                     comma-separated list or a Python list.
169418
169419              append False Set to True to append these groups  to  the  user's
169420                     existing  list of groups. Otherwise, the specified groups
169421                     will replace any existing groups for the user.
169422
169423              CLI Example:
169424
169425                 salt '*' user.chgroups foo wheel,root True
169426
169427       salt.modules.solaris_user.chhome(name, home, persist=False)
169428              Set a new home directory for an existing user
169429
169430              name   Username to modify
169431
169432              home   New home directory to set
169433
169434              persist
169435                     False Set to True to prevent configuration files  in  the
169436                     new  home  directory  from being overwritten by the files
169437                     from the skeleton directory.
169438
169439              CLI Example:
169440
169441                 salt '*' user.chhome foo /home/users/foo True
169442
169443       salt.modules.solaris_user.chhomephone(name, homephone)
169444              Change the user's Home Phone
169445
169446              CLI Example:
169447
169448                 salt '*' user.chhomephone foo "7735551234"
169449
169450       salt.modules.solaris_user.chroomnumber(name, roomnumber)
169451              Change the user's Room Number
169452
169453              CLI Example:
169454
169455                 salt '*' user.chroomnumber foo 123
169456
169457       salt.modules.solaris_user.chshell(name, shell)
169458              Change the default shell of the user
169459
169460              CLI Example:
169461
169462                 salt '*' user.chshell foo /bin/zsh
169463
169464       salt.modules.solaris_user.chuid(name, uid)
169465              Change the uid for a named user
169466
169467              CLI Example:
169468
169469                 salt '*' user.chuid foo 4376
169470
169471       salt.modules.solaris_user.chworkphone(name, workphone)
169472              Change the user's Work Phone
169473
169474              CLI Example:
169475
169476                 salt '*' user.chworkphone foo "7735550123"
169477
169478       salt.modules.solaris_user.delete(name, remove=False, force=False)
169479              Remove a user from the minion
169480
169481              CLI Example:
169482
169483                 salt '*' user.delete name remove=True force=True
169484
169485       salt.modules.solaris_user.getent(refresh=False)
169486              Return the list of all info for all users
169487
169488              CLI Example:
169489
169490                 salt '*' user.getent
169491
169492       salt.modules.solaris_user.info(name)
169493              Return user information
169494
169495              CLI Example:
169496
169497                 salt '*' user.info root
169498
169499       salt.modules.solaris_user.list_groups(name)
169500              Return a list of groups the named user belongs to
169501
169502              CLI Example:
169503
169504                 salt '*' user.list_groups foo
169505
169506       salt.modules.solaris_user.list_users()
169507              Return a list of all users
169508
169509              CLI Example:
169510
169511                 salt '*' user.list_users
169512
169513       salt.modules.solaris_user.rename(name, new_name)
169514              Change the username for a named user
169515
169516              CLI Example:
169517
169518                 salt '*' user.rename name new_name
169519
169520   salt.modules.solarisipspkg
169521       IPS pkg support for Solaris
169522
169523       IMPORTANT:
169524          If you feel that Salt should be using this module to manage packages
169525          on  a  minion, and it is using a different module (or gives an error
169526          similar to 'pkg.install' is not available), see here.
169527
169528       This module provides support for Solaris 11 new  package  management  -
169529       IPS  (Image  Packaging  System).   This  is  the default pkg module for
169530       Solaris 11 (and later).
169531
169532       If you want to use also other packaging module (e.g. pkgutil)  together
169533       with  IPS,  you need to override the pkg provider in sls for each pack‐
169534       age:
169535
169536          mypackage:
169537            pkg.installed:
169538              - provider: pkgutil
169539
169540       Or you can override it globally by setting the providers  parameter  in
169541       your Minion config file like this:
169542
169543          providers:
169544            pkg: pkgutil
169545
169546       Or  you  can override it globally by setting the providers parameter in
169547       your Minion config file like this:
169548
169549          providers:
169550            pkg: pkgutil
169551
169552       salt.modules.solarisipspkg.available_version(*names, **kwargs)
169553              This function is an alias of latest_version.
169554                 The available version of packages in the repository.  Accepts
169555                 full  or  partial  FMRI. Partial FMRI is returned if the full
169556                 FMRI could not be resolved.
169557
169558                 If  the  latest  version  of  a  given  package  is   already
169559                 installed, an empty string will be returned for that package.
169560
169561                 Please  use  pkg.latest_version  as  pkg.available_version is
169562                 being deprecated.
169563
169564                 Changed in version 2019.2.0:  Support  for  multiple  package
169565                 names added.
169566
169567
169568                 CLI Example:
169569
169570                     salt '*' pkg.latest_version bash
169571                     salt '*' pkg.latest_version pkg://solaris/entire
169572                     salt '*' pkg.latest_version postfix sendmail
169573
169574       salt.modules.solarisipspkg.get_fmri(name, **kwargs)
169575              Returns FMRI from partial name. Returns empty string ('') if not
169576              found.  In case of multiple match, the function returns list  of
169577              all matched packages.
169578
169579              CLI Example:
169580
169581                 salt '*' pkg.get_fmri bash
169582
169583       salt.modules.solarisipspkg.install(name=None, refresh=False, pkgs=None,
169584       version=None, test=False, **kwargs)
169585              Install the named package using the IPS  pkg  command.   Accepts
169586              full or partial FMRI.
169587
169588              Returns a dict containing the new package names and versions:
169589
169590                 {'<package>': {'old': '<old-version>',
169591                                'new': '<new-version>'}}
169592
169593              Multiple Package Installation Options:
169594
169595              pkgs   A list of packages to install. Must be passed as a python
169596                     list.
169597
169598              CLI Example:
169599
169600                 salt '*' pkg.install vim
169601                 salt '*' pkg.install pkg://solaris/editor/vim
169602                 salt '*' pkg.install pkg://solaris/editor/vim refresh=True
169603                 salt '*' pkg.install pkgs='["foo", "bar"]'
169604
169605       salt.modules.solarisipspkg.is_installed(name, **kwargs)
169606              Returns True if the  package  is  installed.  Otherwise  returns
169607              False.   Name  can be full or partial FMRI.  In case of multiple
169608              match from partial FMRI name, it returns True.
169609
169610              CLI Example:
169611
169612                 salt '*' pkg.is_installed bash
169613
169614       salt.modules.solarisipspkg.latest_version(*names, **kwargs)
169615              The available version of packages in  the  repository.   Accepts
169616              full  or partial FMRI. Partial FMRI is returned if the full FMRI
169617              could not be resolved.
169618
169619              If the latest version of a given package is  already  installed,
169620              an empty string will be returned for that package.
169621
169622              Please  use pkg.latest_version as pkg.available_version is being
169623              deprecated.
169624
169625              Changed in version 2019.2.0: Support for multiple package  names
169626              added.
169627
169628
169629              CLI Example:
169630
169631                 salt '*' pkg.latest_version bash
169632                 salt '*' pkg.latest_version pkg://solaris/entire
169633                 salt '*' pkg.latest_version postfix sendmail
169634
169635       salt.modules.solarisipspkg.list_pkgs(versions_as_list=False, **kwargs)
169636              List the currently installed packages as a dict:
169637
169638                 {'<package_name>': '<version>'}
169639
169640              CLI Example:
169641
169642                 salt '*' pkg.list_pkgs
169643
169644       salt.modules.solarisipspkg.list_upgrades(refresh=True, **kwargs)
169645              Lists all packages available for update.
169646
169647              When run in global zone, it reports only upgradable packages for
169648              the global zone.
169649
169650              When run in non-global zone, it can report more upgradable pack‐
169651              ages than pkg update -vn, because pkg update hides packages that
169652              require newer version of pkg://solaris/entire (which means  that
169653              they   can   be   upgraded   only  from  the  global  zone).  If
169654              pkg://solaris/entire is found in the list of upgrades, then  the
169655              global  zone  should be updated to get all possible updates. Use
169656              refresh=True to refresh the package database.
169657
169658              refresh
169659                     True Runs a full package database refresh before listing.
169660                     Set to False to disable running the refresh.
169661
169662                     Changed in version 2017.7.0.
169663
169664
169665                     In previous versions of Salt, refresh defaulted to False.
169666                     This was changed to  default  to  True  in  the  2017.7.0
169667                     release  to  make  the  behavior more consistent with the
169668                     other package modules, which all default to True.
169669
169670              CLI Example:
169671
169672                 salt '*' pkg.list_upgrades
169673                 salt '*' pkg.list_upgrades refresh=False
169674
169675       salt.modules.solarisipspkg.normalize_name(name, **kwargs)
169676              Internal function. Normalizes pkg name to full FMRI before  run‐
169677              ning  pkg.install.  In  case of multiple matches or no match, it
169678              returns the name without modifications.
169679
169680              CLI Example:
169681
169682                 salt '*' pkg.normalize_name vim
169683
169684       salt.modules.solarisipspkg.purge(name, **kwargs)
169685              Remove specified package. Accepts full or partial FMRI.
169686
169687              Returns a list containing the removed packages.
169688
169689              CLI Example:
169690
169691                 salt '*' pkg.purge <package name>
169692
169693       salt.modules.solarisipspkg.refresh_db(full=False)
169694              Updates the remote repos database.
169695
169696              full : False
169697                 Set to True to force a refresh of the pkg DB  from  all  pub‐
169698                 lishers, regardless of the last refresh time.
169699
169700              CLI Example:
169701
169702                 salt '*' pkg.refresh_db
169703                 salt '*' pkg.refresh_db full=True
169704
169705       salt.modules.solarisipspkg.remove(name=None, pkgs=None, **kwargs)
169706              Remove specified package. Accepts full or partial FMRI.  In case
169707              of multiple match, the command fails and won't modify the OS.
169708
169709              name   The name of the package to be deleted.
169710
169711              Multiple Package Options:
169712
169713              pkgs   A list of packages to delete. Must be passed as a  python
169714                     list.  The  name parameter will be ignored if this option
169715                     is passed.
169716
169717              Returns a list containing the removed packages.
169718
169719              CLI Example:
169720
169721                 salt '*' pkg.remove <package name>
169722                 salt '*' pkg.remove tcsh
169723                 salt '*' pkg.remove pkg://solaris/shell/tcsh
169724                 salt '*' pkg.remove pkgs='["foo", "bar"]'
169725
169726       salt.modules.solarisipspkg.search(name,         versions_as_list=False,
169727       **kwargs)
169728              Searches  the  repository  for  given pkg name.  The name can be
169729              full or partial FMRI. All matches are printed.  Globs  are  also
169730              supported.
169731
169732              CLI Example:
169733
169734                 salt '*' pkg.search bash
169735
169736       salt.modules.solarisipspkg.upgrade(refresh=False, **kwargs)
169737              Upgrade  all  packages to the latest possible version.  When run
169738              in global zone,  it  updates  also  all  non-global  zones.   In
169739              non-global  zones  upgrade  is  limited by dependency constrains
169740              linked to the version of pkg://solaris/entire.
169741
169742              Returns a dictionary containing the changes:
169743
169744                 {'<package>':  {'old': '<old-version>',
169745                                 'new': '<new-version>'}}
169746
169747              When there is a failure, an explanation is also included in  the
169748              error  message,  based on the return code of the pkg update com‐
169749              mand.
169750
169751              CLI Example:
169752
169753                 salt '*' pkg.upgrade
169754
169755       salt.modules.solarisipspkg.upgrade_available(name)
169756              Check if there is an upgrade available  for  a  certain  package
169757              Accepts full or partial FMRI. Returns all matches found.
169758
169759              CLI Example:
169760
169761                 salt '*' pkg.upgrade_available apache-22
169762
169763       salt.modules.solarisipspkg.version(*names, **kwargs)
169764              Common  interface  for  obtaining the version of installed pack‐
169765              ages.   Accepts  full  or  partial   FMRI.   If   called   using
169766              pkg_resource,  full  FMRI is required.  Partial FMRI is returned
169767              if the package is not installed.
169768
169769              CLI Example:
169770
169771                 salt '*' pkg.version vim
169772                 salt '*' pkg.version foo bar baz
169773                 salt '*' pkg_resource.version pkg://solaris/entire
169774
169775   salt.modules.solarispkg
169776       Package support for Solaris
169777
169778       IMPORTANT:
169779          If you feel that Salt should be using this module to manage packages
169780          on  a  minion, and it is using a different module (or gives an error
169781          similar to 'pkg.install' is not available), see here.
169782
169783       salt.modules.solarispkg.install(name=None,                sources=None,
169784       saltenv=u'base', **kwargs)
169785              Install  the  passed package. Can install packages from the fol‐
169786              lowing sources:
169787
169788              · Locally (package already exists on the minion
169789
169790              · HTTP/HTTPS server
169791
169792              · FTP server
169793
169794              · Salt master
169795
169796              Returns a dict containing the new package names and versions:
169797
169798                 {'<package>': {'old': '<old-version>',
169799                                'new': '<new-version>'}}
169800
169801              CLI Examples:
169802
169803                 # Installing a data stream pkg that already exists on the minion
169804
169805                 salt '*' pkg.install sources='[{"<pkg name>": "/dir/on/minion/<pkg filename>"}]'
169806                 salt '*' pkg.install sources='[{"SMClgcc346": "/var/spool/pkg/gcc-3.4.6-sol10-sparc-local.pkg"}]'
169807
169808                 # Installing a data stream pkg that exists on the salt master
169809
169810                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]'
169811                 salt '*' pkg.install sources='[{"SMClgcc346": "salt://pkgs/gcc-3.4.6-sol10-sparc-local.pkg"}]'
169812
169813              CLI Example:
169814
169815                 # Installing a data stream pkg that exists on a HTTP server
169816                 salt '*' pkg.install sources='[{"<pkg name>": "http://packages.server.com/<pkg filename>"}]'
169817                 salt '*' pkg.install sources='[{"SMClgcc346": "http://packages.server.com/gcc-3.4.6-sol10-sparc-local.pkg"}]'
169818
169819              If working with solaris zones and you want to install a  package
169820              only in the global zone you can pass 'current_zone_only=True' to
169821              salt to have the package only  installed  in  the  global  zone.
169822              (Behind  the scenes this is passing '-G' to the pkgadd command.)
169823              Solaris default when installing a package in the global zone  is
169824              to install it in all zones. This overrides that and installs the
169825              package only in the global.
169826
169827              CLI Example:
169828
169829                 # Installing a data stream package only in the global zone:
169830                 salt 'global_zone' pkg.install sources='[{"SMClgcc346": "/var/spool/pkg/gcc-3.4.6-sol10-sparc-local.pkg"}]' current_zone_only=True
169831
169832              By default salt automatically provides an adminfile, to automate
169833              package installation, with these options set:
169834
169835                 email=
169836                 instance=quit
169837                 partial=nocheck
169838                 runlevel=nocheck
169839                 idepend=nocheck
169840                 rdepend=nocheck
169841                 space=nocheck
169842                 setuid=nocheck
169843                 conflict=nocheck
169844                 action=nocheck
169845                 basedir=default
169846
169847              You can override any of these options in two ways. First you can
169848              optionally pass any of the  options  as  a  kwarg  to  the  mod‐
169849              ule/state  to  override  the default value or you can optionally
169850              pass the 'admin_source' option providing your own  adminfile  to
169851              the minions.
169852
169853              Note: You can find all of the possible options to provide to the
169854              adminfile by reading the admin man page:
169855
169856                 man -s 4 admin
169857
169858              CLI Example:
169859
169860                 # Overriding the 'instance' adminfile option when calling the module directly
169861                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]' instance="overwrite"
169862
169863              SLS Example:
169864
169865                 # Overriding the 'instance' adminfile option when used in a state
169866
169867                 SMClgcc346:
169868                   pkg.installed:
169869                     - sources:
169870                       - SMClgcc346: salt://srv/salt/pkgs/gcc-3.4.6-sol10-sparc-local.pkg
169871                     - instance: overwrite
169872
169873              NOTE:
169874                 The ID declaration is ignored, as the package  name  is  read
169875                 from the sources parameter.
169876
169877              CLI Example:
169878
169879                 # Providing your own adminfile when calling the module directly
169880
169881                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]' admin_source='salt://pkgs/<adminfile filename>'
169882
169883                 # Providing your own adminfile when using states
169884
169885                 <pkg name>:
169886                   pkg.installed:
169887                     - sources:
169888                       - <pkg name>: salt://pkgs/<pkg filename>
169889                     - admin_source: salt://pkgs/<adminfile filename>
169890
169891              NOTE:
169892                 The  ID  declaration  is ignored, as the package name is read
169893                 from the sources parameter.
169894
169895       salt.modules.solarispkg.latest_version(*names, **kwargs)
169896              Return the latest version of the  named  package  available  for
169897              upgrade or installation. If more than one package name is speci‐
169898              fied, a dict of name/version pairs is returned.
169899
169900              If the latest version of a given package is  already  installed,
169901              an empty string will be returned for that package.
169902
169903              CLI Example:
169904
169905                 salt '*' pkg.latest_version <package name>
169906                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
169907
169908              NOTE:  As  package  repositories are not presently supported for
169909              Solaris pkgadd, this function will always return an empty string
169910              for a given package.
169911
169912       salt.modules.solarispkg.list_pkgs(versions_as_list=False, **kwargs)
169913              List the packages currently installed as a dict:
169914
169915                 {'<package_name>': '<version>'}
169916
169917              CLI Example:
169918
169919                 salt '*' pkg.list_pkgs
169920
169921       salt.modules.solarispkg.purge(name=None, pkgs=None, **kwargs)
169922              Package  purges are not supported, this function is identical to
169923              remove().
169924
169925              name   The name of the package to be deleted
169926
169927              Multiple Package Options:
169928
169929              pkgs   A list of packages to delete. Must be passed as a  python
169930                     list.  The  name parameter will be ignored if this option
169931                     is passed.
169932
169933              New in version 0.16.0.
169934
169935
169936              Returns a dict containing the changes.
169937
169938              CLI Example:
169939
169940                 salt '*' pkg.purge <package name>
169941                 salt '*' pkg.purge <package1>,<package2>,<package3>
169942                 salt '*' pkg.purge pkgs='["foo", "bar"]'
169943
169944       salt.modules.solarispkg.remove(name=None,  pkgs=None,  saltenv=u'base',
169945       **kwargs)
169946              Remove packages with pkgrm
169947
169948              name   The name of the package to be deleted
169949
169950              By default salt automatically provides an adminfile, to automate
169951              package removal, with these options set:
169952
169953                 email=
169954                 instance=quit
169955                 partial=nocheck
169956                 runlevel=nocheck
169957                 idepend=nocheck
169958                 rdepend=nocheck
169959                 space=nocheck
169960                 setuid=nocheck
169961                 conflict=nocheck
169962                 action=nocheck
169963                 basedir=default
169964
169965              You can override any of these options in two ways. First you can
169966              optionally  pass  any  of  the  options  as  a kwarg to the mod‐
169967              ule/state to override the default value or  you  can  optionally
169968              pass  the  'admin_source' option providing your own adminfile to
169969              the minions.
169970
169971              Note: You can find all of the possible options to provide to the
169972              adminfile by reading the admin man page:
169973
169974                 man -s 4 admin
169975
169976              Multiple Package Options:
169977
169978              pkgs   A  list of packages to delete. Must be passed as a python
169979                     list. The name parameter will be ignored if  this  option
169980                     is passed.
169981
169982              New in version 0.16.0.
169983
169984
169985              Returns a dict containing the changes.
169986
169987              CLI Example:
169988
169989                 salt '*' pkg.remove <package name>
169990                 salt '*' pkg.remove SUNWgit
169991                 salt '*' pkg.remove <package1>,<package2>,<package3>
169992                 salt '*' pkg.remove pkgs='["foo", "bar"]'
169993
169994       salt.modules.solarispkg.upgrade_available(name)
169995              Check whether or not an upgrade is available for a given package
169996
169997              CLI Example:
169998
169999                 salt '*' pkg.upgrade_available <package name>
170000
170001       salt.modules.solarispkg.version(*names, **kwargs)
170002              Returns  a  string  representing the package version or an empty
170003              string if not installed. If more than one package name is speci‐
170004              fied, a dict of name/version pairs is returned.
170005
170006              CLI Example:
170007
170008                 salt '*' pkg.version <package name>
170009                 salt '*' pkg.version <package1> <package2> <package3> ...
170010
170011   salt.modules.solr
170012       Apache Solr Salt Module
170013
170014       Author: Jed Glazner Version: 0.2.1 Modified: 12/09/2011
170015
170016       This  module uses HTTP requests to talk to the apache solr request han‐
170017       dlers to gather information and report errors. Because of this the min‐
170018       ion doesn't necessarily need to reside on the actual slave.  However if
170019       you want to use the signal function the minion must reside on the phys‐
170020       ical solr host.
170021
170022       This  module  supports multi-core and standard setups.  Certain methods
170023       are master/slave specific.  Make sure you set  the  solr.type.  If  you
170024       have questions or want a feature request please ask.
170025
170026   Coming Features in 0.3
170027       1. Add command for checking for replication failures on slaves
170028
170029       2. Improve  match_index_versions since it's pointless on busy solr mas‐
170030          ters
170031
170032       3. Add additional local fs checks for backups to make  sure  they  suc‐
170033          ceeded
170034
170035   Override these in the minion config
170036       solr.cores
170037              A  list  of  core  names  e.g. ['core1','core2'].  An empty list
170038              indicates non-multicore setup.
170039
170040       solr.baseurl
170041              The root level URL to access solr via HTTP
170042
170043       solr.request_timeout
170044              The number  of  seconds  before  timing  out  an  HTTP/HTTPS/FTP
170045              request.  If nothing is specified then the python global timeout
170046              setting is used.
170047
170048       solr.type
170049              Possible values are 'master' or 'slave'
170050
170051       solr.backup_path
170052              The path to store your backups. If you are using cores  and  you
170053              can  specify  to  append the core name to the path in the backup
170054              method.
170055
170056       solr.num_backups
170057              For versions of solr >= 3.5. Indicates the number of backups  to
170058              keep. This option is ignored if your version is less.
170059
170060       solr.init_script
170061              The full path to your init script with start/stop options
170062
170063       solr.dih.options
170064              A list of options to pass to the DIH.
170065
170066   Required Options for DIH
170067       clean  False Clear the index before importing
170068
170069       commit True Commit the documents to the index upon completion
170070
170071       optimize
170072              True Optimize the index after commit is complete
170073
170074       verbose
170075              True Get verbose output
170076
170077       salt.modules.solr.abort_import(handler, host=None, core_name=None, ver‐
170078       bose=False)
170079              MASTER ONLY Aborts an existing import command to  the  specified
170080              handler.   This command can only be run if the minion is config‐
170081              ured with solr.type=master
170082
170083              handler
170084                     str The name of the data import handler.
170085
170086              host   str (None) The solr host to  query.  __opts__['host']  is
170087                     default.
170088
170089              core   str (None) The core the handler belongs to.
170090
170091              verbose
170092                     boolean (False) Run the command with verbose output.
170093
170094              Return : dict<str,obj>:
170095
170096                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170097
170098              CLI Example:
170099
170100                 salt '*' solr.abort_import dataimport None music {'clean':True}
170101
170102       salt.modules.solr.backup(host=None,                     core_name=None,
170103       append_core_to_path=False)
170104              Tell solr make a backup.  This method can be  mis-leading  since
170105              it  uses  the backup API.  If an error happens during the backup
170106              you are not notified.  The status: 'OK' in the  response  simply
170107              means that solr received the request successfully.
170108
170109              host   str  (None)  The  solr host to query. __opts__['host'] is
170110                     default.
170111
170112              core_name
170113                     str (None) The name of the  solr  core  if  using  cores.
170114                     Leave  this  blank  if  you are not using cores or if you
170115                     want to check all cores.
170116
170117              append_core_to_path
170118                     boolean (False) If True add the name of the core  to  the
170119                     backup path. Assumes that minion backup path is not None.
170120
170121              Return : dict<str,obj>:
170122
170123                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170124
170125              CLI Example:
170126
170127                 salt '*' solr.backup music
170128
170129       salt.modules.solr.core_status(host=None, core_name=None)
170130              MULTI-CORE  HOSTS  ONLY  Get  the status for a given core or all
170131              cores if no core is specified
170132
170133              host   str (None) The solr host to  query.  __opts__['host']  is
170134                     default.
170135
170136              core_name
170137                     str The name of the core to reload
170138
170139              Return : dict<str,obj>:
170140
170141                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170142
170143              CLI Example:
170144
170145                 salt '*' solr.core_status None music
170146
170147       salt.modules.solr.delta_import(handler,    host=None,   core_name=None,
170148       options=None, extra=None)
170149              Submits an import command to the specified handler using  speci‐
170150              fied  options.   This  command  can only be run if the minion is
170151              configured with solr.type=master
170152
170153              handler
170154                     str The name of the data import handler.
170155
170156              host   str (None) The solr host to  query.  __opts__['host']  is
170157                     default.
170158
170159              core   str (None) The core the handler belongs to.
170160
170161              options
170162                     dict (__opts__) A list of options such as clean, optimize
170163                     commit, verbose, and pause_replication.  leave  blank  to
170164                     use  __opts__  defaults.  options  will  be  merged  with
170165                     __opts__
170166
170167              extra  dict ([]) Extra name value pairs to pass to the  handler.
170168                     e.g. ["name=value"]
170169
170170              Return : dict<str,obj>:
170171
170172                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170173
170174              CLI Example:
170175
170176                 salt '*' solr.delta_import dataimport None music {'clean':True}
170177
170178       salt.modules.solr.full_import(handler,    host=None,    core_name=None,
170179       options=None, extra=None)
170180              MASTER ONLY Submits an import command to the  specified  handler
170181              using  specified  options.   This command can only be run if the
170182              minion is configured with solr.type=master
170183
170184              handler
170185                     str The name of the data import handler.
170186
170187              host   str (None) The solr host to  query.  __opts__['host']  is
170188                     default.
170189
170190              core   str (None) The core the handler belongs to.
170191
170192              options
170193                     dict (__opts__) A list of options such as clean, optimize
170194                     commit, verbose, and pause_replication.  leave  blank  to
170195                     use  __opts__  defaults.  options  will  be  merged  with
170196                     __opts__
170197
170198              extra  dict ([]) Extra name value pairs to pass to the  handler.
170199                     e.g. ["name=value"]
170200
170201              Return : dict<str,obj>:
170202
170203                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170204
170205              CLI Example:
170206
170207                 salt '*' solr.full_import dataimport None music {'clean':True}
170208
170209       salt.modules.solr.import_status(handler,   host=None,   core_name=None,
170210       verbose=False)
170211              Submits an import command to the specified handler using  speci‐
170212              fied  options.   This  command  can only be run if the minion is
170213              configured with solr.type: 'master'
170214
170215              handler
170216                     str The name of the data import handler.
170217
170218              host   str (None) The solr host to  query.  __opts__['host']  is
170219                     default.
170220
170221              core   str (None) The core the handler belongs to.
170222
170223              verbose
170224                     boolean (False) Specifies verbose output
170225
170226              Return : dict<str,obj>:
170227
170228                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170229
170230              CLI Example:
170231
170232                 salt '*' solr.import_status dataimport None music False
170233
170234       salt.modules.solr.is_replication_enabled(host=None, core_name=None)
170235              SLAVE  CALL Check for errors, and determine if a slave is repli‐
170236              cating or not.
170237
170238              host   str (None) The solr host to  query.  __opts__['host']  is
170239                     default.
170240
170241              core_name
170242                     str  (None)  The  name  of  the solr core if using cores.
170243                     Leave this blank if you are not using  cores  or  if  you
170244                     want to check all cores.
170245
170246              Return : dict<str,obj>:
170247
170248                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170249
170250              CLI Example:
170251
170252                 salt '*' solr.is_replication_enabled music
170253
170254       salt.modules.solr.lucene_version(core_name=None)
170255              Gets the lucene version that solr is using. If you are running a
170256              multi-core setup you should specify a core name  since  all  the
170257              cores  run  under the same servlet container, they will all have
170258              the same version.
170259
170260              core_name
170261                     str (None) The name of the  solr  core  if  using  cores.
170262                     Leave  this  blank  if  you are not using cores or if you
170263                     want to check all cores.
170264
170265              Return: dict<str,obj>:
170266
170267                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170268
170269              CLI Example:
170270
170271                 salt '*' solr.lucene_version
170272
170273       salt.modules.solr.match_index_versions(host=None, core_name=None)
170274              SLAVE CALL Verifies that the master and the slave  versions  are
170275              in  sync  by  comparing the index version. If you are constantly
170276              pushing updates the index the master  and  slave  versions  will
170277              seldom  match.  A  solution  to  this is pause indexing every so
170278              often to allow the slave to replicate and then call this  method
170279              before allowing indexing to resume.
170280
170281              host   str  (None)  The  solr host to query. __opts__['host'] is
170282                     default.
170283
170284              core_name
170285                     str (None) The name of the  solr  core  if  using  cores.
170286                     Leave  this  blank  if  you are not using cores or if you
170287                     want to check all cores.
170288
170289              Return : dict<str,obj>:
170290
170291                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170292
170293              CLI Example:
170294
170295                 salt '*' solr.match_index_versions music
170296
170297       salt.modules.solr.optimize(host=None, core_name=None)
170298              Search queries fast, but it is a very expensive  operation.  The
170299              ideal  process is to run this with a master/slave configuration.
170300              Then you can optimize the master, and push the  optimized  index
170301              to the slaves.  If you are running a single solr instance, or if
170302              you are going to run this on a slave be aware than  search  per‐
170303              formance will be horrible while this command is being run. Addi‐
170304              tionally it can take a LONG time to run and  your  HTTP  request
170305              may timeout. If that happens adjust your timeout settings.
170306
170307              host   str  (None)  The  solr host to query. __opts__['host'] is
170308                     default.
170309
170310              core_name
170311                     str (None) The name of the  solr  core  if  using  cores.
170312                     Leave  this  blank  if  you are not using cores or if you
170313                     want to check all cores.
170314
170315              Return : dict<str,obj>:
170316
170317                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170318
170319              CLI Example:
170320
170321                 salt '*' solr.optimize music
170322
170323       salt.modules.solr.ping(host=None, core_name=None)
170324              Does a health check on solr, makes sure solr  can  talk  to  the
170325              indexes.
170326
170327              host   str  (None)  The  solr host to query. __opts__['host'] is
170328                     default.
170329
170330              core_name
170331                     str (None) The name of the  solr  core  if  using  cores.
170332                     Leave  this  blank  if  you are not using cores or if you
170333                     want to check all cores.
170334
170335              Return : dict<str,obj>:
170336
170337                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170338
170339              CLI Example:
170340
170341                 salt '*' solr.ping music
170342
170343       salt.modules.solr.reload_core(host=None, core_name=None)
170344              MULTI-CORE HOSTS ONLY Load a new core from the  same  configura‐
170345              tion  as  an  existing registered core.  While the "new" core is
170346              initializing, the "old" one will continue  to  accept  requests.
170347              Once it has finished, all new request will go to the "new" core,
170348              and the "old" core will be unloaded.
170349
170350              host   str (None) The solr host to  query.  __opts__['host']  is
170351                     default.
170352
170353              core_name
170354                     str The name of the core to reload
170355
170356              Return : dict<str,obj>:
170357
170358                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170359
170360              CLI Example:
170361
170362                 salt '*' solr.reload_core None music
170363
170364              Return data is in the following format:
170365
170366                 {'success':bool, 'data':dict, 'errors':list, 'warnings':list}
170367
170368       salt.modules.solr.reload_import_config(handler,              host=None,
170369       core_name=None, verbose=False)
170370              MASTER ONLY re-loads the handler config XML file.  This  command
170371              can only be run if the minion is a 'master' type
170372
170373              handler
170374                     str The name of the data import handler.
170375
170376              host   str  (None)  The  solr host to query. __opts__['host'] is
170377                     default.
170378
170379              core   str (None) The core the handler belongs to.
170380
170381              verbose
170382                     boolean (False) Run the command with verbose output.
170383
170384              Return : dict<str,obj>:
170385
170386                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170387
170388              CLI Example:
170389
170390                 salt '*' solr.reload_import_config dataimport None music {'clean':True}
170391
170392       salt.modules.solr.replication_details(host=None, core_name=None)
170393              Get the full replication details.
170394
170395              host   str (None) The solr host to  query.  __opts__['host']  is
170396                     default.
170397
170398              core_name
170399                     str  (None)  The  name  of  the solr core if using cores.
170400                     Leave this blank if you are not using  cores  or  if  you
170401                     want to check all cores.
170402
170403              Return : dict<str,obj>:
170404
170405                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170406
170407              CLI Example:
170408
170409                 salt '*' solr.replication_details music
170410
170411       salt.modules.solr.set_is_polling(polling, host=None, core_name=None)
170412              SLAVE  CALL  Prevent  the  slaves  from  polling  the master for
170413              updates.
170414
170415              polling
170416                     boolean True will enable polling. False will disable it.
170417
170418              host   str (None) The solr host to  query.  __opts__['host']  is
170419                     default.
170420
170421              core_name
170422                     str  (None)  The  name  of  the solr core if using cores.
170423                     Leave this blank if you are not using  cores  or  if  you
170424                     want to check all cores.
170425
170426              Return : dict<str,obj>:
170427
170428                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170429
170430              CLI Example:
170431
170432                 salt '*' solr.set_is_polling False
170433
170434       salt.modules.solr.set_replication_enabled(status,            host=None,
170435       core_name=None)
170436              MASTER ONLY Sets the master to ignore  poll  requests  from  the
170437              slaves. Useful when you don't want the slaves replicating during
170438              indexing or when clearing the index.
170439
170440              status boolean Sets the  replication  status  to  the  specified
170441                     state.
170442
170443              host   str  (None)  The  solr host to query. __opts__['host'] is
170444                     default.
170445
170446              core_name
170447                     str (None) The name of the  solr  core  if  using  cores.
170448                     Leave  this  blank  if  you are not using cores or if you
170449                     want to set the status on all cores.
170450
170451              Return : dict<str,obj>:
170452
170453                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170454
170455              CLI Example:
170456
170457                 salt '*' solr.set_replication_enabled false, None, music
170458
170459       salt.modules.solr.signal(signal=None)
170460              Signals Apache Solr to start, stop, or restart.  Obviously  this
170461              is  only  going  to work if the minion resides on the solr host.
170462              Additionally Solr doesn't ship with an init script so  one  must
170463              be created.
170464
170465              signal str  (None)  The  command to pass to the apache solr init
170466                     valid values are 'start', 'stop', and 'restart'
170467
170468              CLI Example:
170469
170470                 salt '*' solr.signal restart
170471
170472       salt.modules.solr.version(core_name=None)
170473              Gets the solr version for the core specified.  You should  spec‐
170474              ify a core here as all the cores will run under the same servlet
170475              container and so will all have the same version.
170476
170477              core_name
170478                     str (None) The name of the  solr  core  if  using  cores.
170479                     Leave  this  blank  if  you are not using cores or if you
170480                     want to check all cores.
170481
170482              Return : dict<str,obj>:
170483
170484                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
170485
170486              CLI Example:
170487
170488                 salt '*' solr.version
170489
170490   salt.modules.solrcloud module
170491       Module for solrcloud configuration
170492
170493       New in version 2017.7.0.
170494
170495
170496       For now, module is limited to http-exposed API.  It  doesn't  implement
170497       config upload via Solr zkCli
170498
170499       salt.modules.solrcloud.BOOL_PROPS_LIST   =   [u'transient',   u'loadOn‐
170500       Startup']
170501              Collections     options     type      definition      Reference:
170502              https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1
170503
170504       salt.modules.solrcloud.DICT_OPTIONS_LIST = [u'properties']
170505              Collection        unmodifiable        options         Reference:
170506              https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-modifycoll
170507
170508       salt.modules.solrcloud.alias_exists(alias_name, **kwargs)
170509              Check alias existence
170510
170511              Additional parameters (kwargs) may be passed, they will be prox‐
170512              ied to http.query
170513
170514              CLI Example:
170515
170516                 salt '*' solrcloud.alias_exists my_alias
170517
170518       salt.modules.solrcloud.alias_get_collections(alias_name, **kwargs)
170519              Get collection list for an alias
170520
170521              Additional parameters (kwargs) may be passed, they will be prox‐
170522              ied to http.query
170523
170524              CLI Example:
170525
170526                 salt '*' solrcloud.alias_get my_alias
170527
170528       salt.modules.solrcloud.alias_set_collections(alias_name,        collec‐
170529       tions=None, **kwargs)
170530              Define an alias
170531
170532              Additional parameters (kwargs) may be passed, they will be prox‐
170533              ied to http.query
170534
170535              CLI Example:
170536
170537                 salt '*' solrcloud.alias_set my_alias collections=[collection1, colletion2]
170538
170539       salt.modules.solrcloud.cluster_status(**kwargs)
170540              Get cluster status
170541
170542              Additional parameters (kwargs) may be passed, they will be prox‐
170543              ied to http.query
170544
170545              CLI Example:
170546
170547                 salt '*' solrcloud.cluster_status
170548
170549       salt.modules.solrcloud.collection_backup(collection_name,     location,
170550       backup_name=None, **kwargs)
170551              Create a backup for a collection.
170552
170553              Additional parameters (kwargs) may be passed, they will be prox‐
170554              ied to http.query
170555
170556              CLI Example:
170557
170558                 salt '*' solrcloud.core_backup collection_name /mnt/nfs_backup
170559
170560       salt.modules.solrcloud.collection_backup_all(location,
170561       backup_name=None, **kwargs)
170562              Create a backup for all collection present on the server.
170563
170564              Additional parameters (kwargs) may be passed, they will be prox‐
170565              ied to http.query
170566
170567              CLI Example:
170568
170569                 salt '*' solrcloud.core_backup /mnt/nfs_backup
170570
170571       salt.modules.solrcloud.collection_check_options(options)
170572              Check collections options
170573
170574              CLI Example:
170575
170576                 salt '*' solrcloud.collection_check_options '{"replicationFactor":4}'
170577
170578       salt.modules.solrcloud.collection_create(collection_name, options=None,
170579       **kwargs)
170580              Create a collection,
170581
170582              Additional parameters (kwargs) may be passed, they will be prox‐
170583              ied to http.query
170584
170585              CLI Example:
170586
170587                 salt '*' solrcloud.collection_create collection_name
170588
170589              Collection  creation  options  may be passed using the "options"
170590              parameter.  Do not include option "name" since it already speci‐
170591              fied by the mandatory parameter "collection_name"
170592
170593                 salt '*' solrcloud.collection_create collection_name options={"replicationFactor":2, "numShards":3}
170594
170595              Cores  options  may  be  passed  using  the  "properties" key in
170596              options.  Do not include property "name"
170597
170598                 salt '*' solrcloud.collection_create collection_name options={"replicationFactor":2, "numShards":3,             "properties":{"dataDir":"/srv/solr/hugePartitionSollection"}}
170599
170600       salt.modules.solrcloud.collection_creation_options()
170601              Get collection option list that can only be defined at creation
170602
170603              CLI Example:
170604
170605                 salt '*' solrcloud.collection_creation_options
170606
170607       salt.modules.solrcloud.collection_exists(collection_name, **kwargs)
170608              Check if a collection exists
170609
170610              Additional parameters (kwargs) may be passed, they will be prox‐
170611              ied to http.query
170612
170613              CLI Example:
170614
170615                 salt '*' solrcloud.collection_exists collection_name
170616
170617       salt.modules.solrcloud.collection_get_options(collection_name,
170618       **kwargs)
170619              Get collection options
170620
170621              Additional parameters (kwargs) may be passed, they will be prox‐
170622              ied to http.query
170623
170624              CLI Example:
170625
170626                 salt '*' solrcloud.collection_get_options collection_name
170627
170628       salt.modules.solrcloud.collection_list(**kwargs)
170629              List all collections
170630
170631              Additional parameters (kwargs) may be passed, they will be prox‐
170632              ied to http.query
170633
170634              CLI Example:
170635
170636                 salt '*' solrcloud.collection_list
170637
170638       salt.modules.solrcloud.collection_reload(collection, **kwargs)
170639              Check if a collection exists
170640
170641              Additional parameters (kwargs) may be passed, they will be prox‐
170642              ied to http.query
170643
170644              CLI Example:
170645
170646                 salt '*' solrcloud.collection_reload collection_name
170647
170648       salt.modules.solrcloud.collection_set_options(collection_name, options,
170649       **kwargs)
170650              Change collection options
170651
170652              Additional parameters (kwargs) may be passed, they will be prox‐
170653              ied to http.query
170654
170655              Note  that  not  every parameter can be changed after collection
170656              creation
170657
170658              CLI Example:
170659
170660                 salt '*' solrcloud.collection_set_options collection_name options={"replicationFactor":4}
170661
170662       salt.modules.solrcloud.log    =    <salt._logging.impl.SaltLoggingClass
170663       object>
170664              Core      properties      type      definition.       Reference:
170665              https://cwiki.apache.org/confluence/display/solr/Defining+core.properties
170666
170667   salt.modules.splunk
170668       Module for interop with the Splunk API
170669
170670       New in version 2016.3.0..
170671
170672
170673       depends
170674
170675              · splunk-sdk python module
170676
170677       configuration
170678              Configure  this module by specifying the name of a configuration
170679              profile in the minion config, minion pillar, or  master  config.
170680              The module will use the 'splunk' key by default, if defined.
170681
170682              For example:
170683
170684                 splunk:
170685                     username: alice
170686                     password: abc123
170687                     host: example.splunkcloud.com
170688                     port: 8080
170689
170690       salt.modules.splunk.create_user(email, profile=u'splunk', **kwargs)
170691              create a splunk user by name/email
170692
170693              CLI Example:
170694                 salt     myminion     splunk.create_user     user@example.com
170695                 roles=['user'] realname="Test User" name=testuser
170696
170697       salt.modules.splunk.delete_user(email, profile=u'splunk')
170698              Delete a splunk user by email
170699
170700              CLI Example:
170701                 salt myminion splunk_user.delete 'user@example.com'
170702
170703       salt.modules.splunk.get_user(email, profile=u'splunk', **kwargs)
170704              Get a splunk user by name/email
170705
170706              CLI Example:
170707                 salt     myminion     splunk.get_user      'user@example.com'
170708                 user_details=false      salt     myminion     splunk.get_user
170709                 'user@example.com' user_details=true
170710
170711       salt.modules.splunk.list_users(profile=u'splunk')
170712              List all users in the splunk DB
170713
170714              CLI Example:
170715                 salt myminion splunk.list_users
170716
170717       salt.modules.splunk.update_user(email, profile=u'splunk', **kwargs)
170718              Create a splunk user by email
170719
170720              CLI Example:
170721                 salt    myminion    splunk.update_user     example@domain.com
170722                 roles=['user'] realname="Test User"
170723
170724   salt.modules.splunk_search
170725       Module for interop with the Splunk API
170726
170727       New in version 2015.5.0.
170728
170729
170730       depends
170731
170732              · splunk-sdk python module
170733
170734       configuration
170735              Configure  this module by specifying the name of a configuration
170736              profile in the minion config, minion pillar, or  master  config.
170737              The module will use the 'splunk' key by default, if defined.
170738
170739              For example:
170740
170741                 splunk:
170742                     username: alice
170743                     password: abc123
170744                     host: example.splunkcloud.com
170745                     port: 8080
170746
170747       salt.modules.splunk_search.create(name, profile=u'splunk', **kwargs)
170748              Create a splunk search
170749
170750              CLI Example:
170751                 splunk_search.create 'my search name' search='error msg'
170752
170753       salt.modules.splunk_search.delete(name, profile=u'splunk')
170754              Delete a splunk search
170755
170756              CLI Example:
170757                 splunk_search.delete 'my search name'
170758
170759       salt.modules.splunk_search.get(name, profile=u'splunk')
170760              Get a splunk search
170761
170762              CLI Example:
170763                 splunk_search.get 'my search name'
170764
170765       salt.modules.splunk_search.list_(profile=u'splunk')
170766              List splunk searches (names only)
170767
170768              CLI Example:
170769                     splunk_search.list
170770
170771       salt.modules.splunk_search.list_all(prefix=None,  app=None, owner=None,
170772       description_contains=None, name_not_contains=None, profile=u'splunk')
170773              Get all splunk search details. Produces results that can be used
170774              to create an sls file.
170775
170776              if app or owner are specified, results will be limited to match‐
170777              ing saved searches.
170778
170779              if description_contains is specified, results will be limited to
170780              those  where  "description_contains  in  description" is true if
170781              name_not_contains is specified, results will be limited to those
170782              where "name_not_contains not in name" is true.
170783
170784              If  prefix parameter is given, alarm names in the output will be
170785              prepended with the prefix; alarms that have the prefix  will  be
170786              skipped.  This can be used to convert existing alarms to be man‐
170787              aged by salt, as follows:
170788
170789              CLI example:
170790
170791                 1.
170792
170793                    Make a backup of all existing searches
170794                           $ salt-call splunk_search.list_all --out=txt |  sed
170795                           "s/local: //" > legacy_searches.sls
170796
170797                 2.
170798
170799                    Get all searches with new prefixed names
170800                           $  salt-call  splunk_search.list_all "prefix=**MAN‐
170801                           AGED BY SALT** " --out=txt | sed  "s/local:  //"  >
170802                           managed_searches.sls
170803
170804                 3.
170805
170806                    Insert the managed searches into splunk
170807                           $ salt-call state.sls managed_searches.sls
170808
170809                 4. Manually verify that the new searches look right
170810
170811                 5. Delete  the  original  searches  $  sed  s/present/absent/
170812                    legacy_searches.sls   >    remove_legacy_searches.sls    $
170813                    salt-call state.sls remove_legacy_searches.sls
170814
170815                 6. Get  all  searches  again,  verify  no changes $ salt-call
170816                    splunk_search.list_all --out=txt |  sed  "s/local:  //"  >
170817                    final_searches.sls    $   diff   final_searches.sls   man‐
170818                    aged_searches.sls
170819
170820       salt.modules.splunk_search.update(name, profile=u'splunk', **kwargs)
170821              Update a splunk search
170822
170823              CLI Example:
170824                 splunk_search.update 'my search name' sharing=app
170825
170826   salt.modules.sqlite3
170827       Support for SQLite3
170828
170829       salt.modules.sqlite3.fetch(db=None, sql=None)
170830              Retrieve data from an sqlite3 db (returns all rows, be careful!)
170831
170832              CLI Example:
170833
170834                 salt '*' sqlite3.fetch /root/test.db 'SELECT * FROM test;'
170835
170836       salt.modules.sqlite3.indexes(db=None)
170837              Show all indices in the database, for people with poor  spelling
170838              skills
170839
170840              CLI Example:
170841
170842                 salt '*' sqlite3.indexes /root/test.db
170843
170844       salt.modules.sqlite3.indices(db=None)
170845              Show all indices in the database
170846
170847              CLI Example:
170848
170849                 salt '*' sqlite3.indices /root/test.db
170850
170851       salt.modules.sqlite3.modify(db=None, sql=None)
170852              Issue  an  SQL  query  to sqlite3 (with no return data), usually
170853              used to modify the database in some way (insert, delete, create,
170854              etc)
170855
170856              CLI Example:
170857
170858                 salt '*' sqlite3.modify /root/test.db 'CREATE TABLE test(id INT, testdata TEXT);'
170859
170860       salt.modules.sqlite3.sqlite_version()
170861              Return version of sqlite
170862
170863              CLI Example:
170864
170865                 salt '*' sqlite3.sqlite_version
170866
170867       salt.modules.sqlite3.tables(db=None)
170868              Show all tables in the database
170869
170870              CLI Example:
170871
170872                 salt '*' sqlite3.tables /root/test.db
170873
170874       salt.modules.sqlite3.version()
170875              Return version of pysqlite
170876
170877              CLI Example:
170878
170879                 salt '*' sqlite3.version
170880
170881   salt.modules.ssh
170882       Manage client ssh components
170883
170884       NOTE:
170885          This module requires the use of MD5 hashing. Certain security audits
170886          may not permit the use of MD5. For those cases, this  module  should
170887          be disabled or removed.
170888
170889       salt.modules.ssh.auth_keys(user=None,   config=u'.ssh/authorized_keys',
170890       fingerprint_hash_type=None)
170891              Return the authorized keys for users
170892
170893              CLI Example:
170894
170895                 salt '*' ssh.auth_keys
170896                 salt '*' ssh.auth_keys root
170897                 salt '*' ssh.auth_keys user=root
170898                 salt '*' ssh.auth_keys user="[user1, user2]"
170899
170900       salt.modules.ssh.check_key(user,  key,  enc,  comment,  options,   con‐
170901       fig=u'.ssh/authorized_keys',          cache_keys=None,          finger‐
170902       print_hash_type=None)
170903              Check to see if a key needs updating, returns "update", "add" or
170904              "exists"
170905
170906              CLI Example:
170907
170908                 salt '*' ssh.check_key <user> <key> <enc> <comment> <options>
170909
170910       salt.modules.ssh.check_key_file(user,    source,   config=u'.ssh/autho‐
170911       rized_keys', saltenv=u'base', fingerprint_hash_type=None)
170912              Check a keyfile from a source destination against the local keys
170913              and return the keys to change
170914
170915              CLI Example:
170916
170917                 salt '*' ssh.check_key_file root salt://ssh/keyfile
170918
170919       salt.modules.ssh.check_known_host(user=None,  hostname=None,  key=None,
170920       fingerprint=None, config=None, port=None, fingerprint_hash_type=None)
170921              Check the record in known_hosts file, either by its value or  by
170922              fingerprint  (it's  enough  to set up either key or fingerprint,
170923              you don't need to set up both).
170924
170925              If provided key or fingerprint doesn't match with stored  value,
170926              return  "update",  if no value is found for a given host, return
170927              "add", otherwise return "exists".
170928
170929              If neither key, nor fingerprint is defined, then additional val‐
170930              idation is not performed.
170931
170932              CLI Example:
170933
170934                 salt '*' ssh.check_known_host <user> <hostname> key='AAAA...FAaQ=='
170935
170936       salt.modules.ssh.get_known_host_entries(user,   hostname,  config=None,
170937       port=None, fingerprint_hash_type=None)
170938              New in version 2018.3.0.
170939
170940
170941              Return information about known host entries from the configfile,
170942              if any.  If there are no entries for a matching hostname, return
170943              None.
170944
170945              CLI Example:
170946
170947                 salt '*' ssh.get_known_host_entries <user> <hostname>
170948
170949       salt.modules.ssh.hash_known_hosts(user=None, config=None)
170950              Hash all the hostnames in the known hosts file.
170951
170952              New in version 2014.7.0.
170953
170954
170955              user   hash known hosts of this user
170956
170957              config path to known hosts file: can be absolute or relative  to
170958                     user's home directory
170959
170960              CLI Example:
170961
170962                 salt '*' ssh.hash_known_hosts
170963
170964       salt.modules.ssh.host_keys(keydir=None, private=True, certs=True)
170965              Return the minion's host keys
170966
170967              CLI Example:
170968
170969                 salt '*' ssh.host_keys
170970                 salt '*' ssh.host_keys keydir=/etc/ssh
170971                 salt '*' ssh.host_keys keydir=/etc/ssh private=False
170972                 salt '*' ssh.host_keys keydir=/etc/ssh certs=False
170973
170974       salt.modules.ssh.key_is_encrypted(key)
170975              New in version 2015.8.7.
170976
170977
170978              Function  to determine whether or not a private key is encrypted
170979              with a passphrase.
170980
170981              Checks key for a Proc-Type header with ENCRYPTED in  the  value.
170982              If found, returns True, otherwise returns False.
170983
170984              CLI Example:
170985
170986                 salt '*' ssh.key_is_encrypted /root/id_rsa
170987
170988       salt.modules.ssh.recv_known_host_entries(hostname, enc=None, port=None,
170989       hash_known_hosts=True, timeout=5, fingerprint_hash_type=None)
170990              New in version 2018.3.0.
170991
170992
170993              Retrieve information about host public keys from remote server
170994
170995              hostname
170996                     The name of the remote host (e.g. "github.com")
170997
170998              enc    Defines what type of key is being used, can  be  ed25519,
170999                     ecdsa ssh-rsa or ssh-dss
171000
171001              port   Optional  parameter, denoting the port of the remote host
171002                     on which an SSH daemon is running. By default the port 22
171003                     is used.
171004
171005              hash_known_hosts
171006                     True  Hash all hostnames and addresses in the known hosts
171007                     file.
171008
171009              timeout
171010                     int Set the timeout for connection attempts.  If  timeout
171011                     seconds  have elapsed since a connection was initiated to
171012                     a host or since the last time anything was read from that
171013                     host, then the connection is closed and the host in ques‐
171014                     tion considered unavailable.  Default is 5 seconds.
171015
171016              fingerprint_hash_type
171017                     The fingerprint hash type that  the  public  key  finger‐
171018                     prints  were  originally  hashed  with.  This defaults to
171019                     sha256 if not specified.
171020
171021                     New in version 2016.11.4.
171022
171023
171024                     Changed in version 2017.7.0:: default changed from md5 to
171025                     sha256
171026
171027
171028              CLI Example:
171029
171030                 salt '*' ssh.recv_known_host_entries <hostname> enc=<enc> port=<port>
171031
171032       salt.modules.ssh.rm_auth_key(user, key, config=u'.ssh/authorized_keys',
171033       fingerprint_hash_type=None)
171034              Remove an authorized key from the  specified  user's  authorized
171035              key file
171036
171037              CLI Example:
171038
171039                 salt '*' ssh.rm_auth_key <user> <key>
171040
171041       salt.modules.ssh.rm_auth_key_from_file(user,        source,        con‐
171042       fig=u'.ssh/authorized_keys',          saltenv=u'base',          finger‐
171043       print_hash_type=None)
171044              Remove  an  authorized  key from the specified user's authorized
171045              key file, using a file as source
171046
171047              CLI Example:
171048
171049                 salt '*' ssh.rm_auth_key_from_file <user> salt://ssh_keys/<user>.id_rsa.pub
171050
171051       salt.modules.ssh.rm_known_host(user=None,  hostname=None,  config=None,
171052       port=None)
171053              Remove all keys belonging to hostname from a known_hosts file.
171054
171055              CLI Example:
171056
171057                 salt '*' ssh.rm_known_host <user> <hostname>
171058
171059       salt.modules.ssh.set_auth_key(user,  key,  enc=u'ssh-rsa', comment=u'',
171060       options=None, config=u'.ssh/authorized_keys', cache_keys=None,  finger‐
171061       print_hash_type=None)
171062              Add  a key to the authorized_keys file. The "key" parameter must
171063              only be the string of text that is the encoded key. If  the  key
171064              begins  with "ssh-rsa" or ends with user@host, remove those from
171065              the key before passing it to this function.
171066
171067              CLI Example:
171068
171069                 salt '*' ssh.set_auth_key <user> '<key>' enc='dsa'
171070
171071       salt.modules.ssh.set_auth_key_from_file(user,       source,        con‐
171072       fig=u'.ssh/authorized_keys',          saltenv=u'base',          finger‐
171073       print_hash_type=None)
171074              Add a key to the authorized_keys  file,  using  a  file  as  the
171075              source.
171076
171077              CLI Example:
171078
171079                 salt '*' ssh.set_auth_key_from_file <user> salt://ssh_keys/<user>.id_rsa.pub
171080
171081       salt.modules.ssh.set_known_host(user=None,    hostname=None,    finger‐
171082       print=None,     key=None,     port=None,     enc=None,     config=None,
171083       hash_known_hosts=True, timeout=5, fingerprint_hash_type=None)
171084              Download  SSH public key from remote host "hostname", optionally
171085              validate its fingerprint against "fingerprint" variable and save
171086              the record in the known_hosts file.
171087
171088              If such a record does already exists in there, do nothing.
171089
171090              user   The user who owns the ssh authorized keys file to modify
171091
171092              hostname
171093                     The name of the remote host (e.g. "github.com")
171094
171095              fingerprint
171096                     The  fingerprint  of the key which must be present in the
171097                     known_hosts file (optional if key specified)
171098
171099              key    The public key which must be presented in the known_hosts
171100                     file (optional if fingerprint specified)
171101
171102              port   optional parameter, denoting the port of the remote host,
171103                     which will be used in case, if the  public  key  will  be
171104                     requested from it. By default the port 22 is used.
171105
171106              enc    Defines  what  type of key is being used, can be ed25519,
171107                     ecdsa ssh-rsa or ssh-dss
171108
171109              config The location of the authorized keys file relative to  the
171110                     user's home directory, defaults to ".ssh/known_hosts". If
171111                     no     user      is      specified,      defaults      to
171112                     "/etc/ssh/ssh_known_hosts".  If present, must be an abso‐
171113                     lute path when a user is not specified.
171114
171115              hash_known_hosts
171116                     True Hash all hostnames and addresses in the known  hosts
171117                     file.
171118
171119              timeout
171120                     int  Set the timeout for connection attempts.  If timeout
171121                     seconds have elapsed since a connection was initiated  to
171122                     a host or since the last time anything was read from that
171123                     host, then the connection is closed and the host in ques‐
171124                     tion considered unavailable.  Default is 5 seconds.
171125
171126                     New in version 2016.3.0.
171127
171128
171129              fingerprint_hash_type
171130                     The  public key fingerprint hash type that the public key
171131                     fingerprint was originally hashed with. This defaults  to
171132                     sha256 if not specified.
171133
171134                     New in version 2016.11.4.
171135
171136
171137                     Changed in version 2017.7.0:: default changed from md5 to
171138                     sha256
171139
171140
171141              CLI Example:
171142
171143                 salt '*' ssh.set_known_host <user> fingerprint='xx:xx:..:xx' enc='ssh-rsa' config='.ssh/known_hosts'
171144
171145       salt.modules.ssh.user_keys(user=None, pubfile=None, prvfile=None)
171146              Return the user's ssh keys on the minion
171147
171148              New in version 2014.7.0.
171149
171150
171151              CLI Example:
171152
171153                 salt '*' ssh.user_keys
171154                 salt '*' ssh.user_keys user=user1
171155                 salt '*' ssh.user_keys user=user1 pubfile=/home/user1/.ssh/id_rsa.pub prvfile=/home/user1/.ssh/id_rsa
171156                 salt '*' ssh.user_keys user=user1 prvfile=False
171157                 salt '*' ssh.user_keys user="['user1','user2'] pubfile=id_rsa.pub prvfile=id_rsa
171158
171159              As you can see you can tell Salt not to  read  from  the  user's
171160              private  (or public) key file by setting the file path to False.
171161              This can be useful to prevent Salt from publishing private  data
171162              via Salt Mine or others.
171163
171164   salt.modules.ssh_pkg
171165       Service support for the REST example
171166
171167       salt.modules.ssh_pkg.install(name=None,  refresh=False,  fromrepo=None,
171168       pkgs=None, sources=None, **kwargs)
171169
171170       salt.modules.ssh_pkg.list_pkgs(versions_as_list=False, **kwargs)
171171
171172       salt.modules.ssh_pkg.remove(name=None, pkgs=None, **kwargs)
171173
171174   salt.modules.ssh_service module
171175       Provide the service module for the proxy-minion SSH sample
171176
171177       salt.modules.ssh_service.enabled(name, sig=None)
171178              Only the 'redbull' service is 'enabled' in the test
171179
171180       salt.modules.ssh_service.get_all()
171181              Return a list of all available services
171182
171183              CLI Example:
171184
171185                 salt '*' service.get_all
171186
171187       salt.modules.ssh_service.list_()
171188              Return a list of all available services.
171189
171190              CLI Example:
171191
171192                 salt '*' service.list
171193
171194       salt.modules.ssh_service.restart(name, sig=None)
171195              Restart the specified service with rest_sample CLI Example:
171196
171197                 salt '*' service.restart <service name>
171198
171199       salt.modules.ssh_service.running(name, sig=None)
171200              Return whether this service is running.
171201
171202       salt.modules.ssh_service.start(name, sig=None)
171203              Start the specified service on the ssh_sample
171204
171205              CLI Example:
171206
171207                 salt '*' service.start <service name>
171208
171209       salt.modules.ssh_service.status(name, sig=None)
171210              Return the status for a service via  ssh_sample.   If  the  name
171211              contains  globbing,  a  dict  mapping service name to True/False
171212              values is returned.
171213
171214              Changed in version 2018.3.0: The service name can now be a  glob
171215              (e.g. salt*)
171216
171217
171218              Parameters
171219
171220                     · name (str) -- The name of the service to check
171221
171222                     · sig (str) -- Not implemented
171223
171224              Returns
171225                     True  if running, False otherwise dict: Maps service name
171226                     to True if running, False otherwise
171227
171228              Return type
171229                     bool
171230
171231              CLI Example:
171232
171233                 salt '*' service.status <service name>
171234
171235       salt.modules.ssh_service.stop(name, sig=None)
171236              Stop the specified service on the rest_sample
171237
171238              CLI Example:
171239
171240                 salt '*' service.stop <service name>
171241
171242   salt.modules.snapper module
171243       Module to manage filesystem snapshots with snapper
171244
171245       New in version 2016.11.0.
171246
171247
171248       codeauthor
171249              Duncan Mac-Vicar P. <dmacvicar@suse.de>
171250
171251       codeauthor
171252              Pablo Suárez Hernández <psuarezhernandez@suse.de>
171253
171254       depends
171255              dbus Python module.
171256
171257       depends
171258              snapper http://snapper.io, available in most distros
171259
171260       maturity
171261              new
171262
171263       platform
171264              Linux
171265
171266       salt.modules.snapper.changed_files(config=u'root',        num_pre=None,
171267       num_post=None)
171268              Returns the files changed between two snapshots
171269
171270              config Configuration name.
171271
171272              num_pre
171273                     first snapshot ID to compare. Default is last snapshot
171274
171275              num_post
171276                     last snapshot ID to compare. Default is 0 (current state)
171277
171278              CLI example:
171279
171280                 salt '*' snapper.changed_files
171281                 salt '*' snapper.changed_files num_pre=19 num_post=20
171282
171283       salt.modules.snapper.create_baseline(tag=u'baseline', config=u'root')
171284              Creates a snapshot marked as baseline
171285
171286              tag    Tag name for the baseline
171287
171288              config Configuration name.
171289
171290              CLI Example:
171291
171292                 salt '*' snapper.create_baseline
171293                 salt '*' snapper.create_baseline my_custom_baseline
171294
171295       salt.modules.snapper.create_config(name=None,           subvolume=None,
171296       fstype=None, template=None, extra_opts=None)
171297              Creates a new Snapper configuration
171298
171299              name   Name of the new Snapper configuration.
171300
171301              subvolume
171302                     Path to the related subvolume.
171303
171304              fstype Filesystem type of the subvolume.
171305
171306              template
171307                     Configuration template to use. (Default: default)
171308
171309              extra_opts
171310                     Extra Snapper  configuration  opts  dictionary.  It  will
171311                     override  the  values  provided by the given template (if
171312                     any).
171313
171314              CLI example:
171315
171316                 salt '*' snapper.create_config name=myconfig subvolume=/foo/bar/ fstype=btrfs
171317                 salt '*' snapper.create_config name=myconfig subvolume=/foo/bar/ fstype=btrfs template="default"
171318                 salt '*' snapper.create_config name=myconfig subvolume=/foo/bar/ fstype=btrfs extra_opts='{"NUMBER_CLEANUP": False}'
171319
171320       salt.modules.snapper.create_snapshot(config=u'root',              snap‐
171321       shot_type=u'single',  pre_number=None,  description=None, cleanup_algo‐
171322       rithm=u'number', userdata=None, **kwargs)
171323              Creates an snapshot
171324
171325              config Configuration name.
171326
171327              snapshot_type
171328                     Specifies the type of the new snapshot.  Possible  values
171329                     are single, pre and post.
171330
171331              pre_number
171332                     For post snapshots the number of the pre snapshot must be
171333                     provided.
171334
171335              description
171336                     Description for the snapshot. If not given, the salt  job
171337                     will be used.
171338
171339              cleanup_algorithm
171340                     Set the cleanup algorithm for the snapshot.
171341
171342              number Deletes  old snapshots when a certain number of snapshots
171343                     is reached.
171344
171345              timeline
171346                     Deletes old snapshots  but  keeps  a  number  of  hourly,
171347                     daily, weekly, monthly and yearly snapshots.
171348
171349              empty-pre-post
171350                     Deletes pre/post snapshot pairs with empty diffs.
171351
171352              userdata
171353                     Set userdata for the snapshot (key-value pairs).
171354
171355              Returns the number of the created snapshot.
171356
171357              CLI example:
171358
171359                 salt '*' snapper.create_snapshot
171360
171361       salt.modules.snapper.delete_snapshot(snapshots_ids=None,           con‐
171362       fig=u'root')
171363              Deletes an snapshot
171364
171365              config Configuration name. (Default: root)
171366
171367              snapshots_ids
171368                     List of the snapshots IDs to be deleted.
171369
171370              CLI example:
171371
171372                 salt '*' snapper.delete_snapshot 54
171373                 salt '*' snapper.delete_snapshot config=root 54
171374                 salt '*' snapper.delete_snapshot config=root snapshots_ids=[54,55,56]
171375
171376       salt.modules.snapper.diff(config=u'root', filename=None,  num_pre=None,
171377       num_post=None)
171378              Returns the differences between two snapshots
171379
171380              config Configuration name.
171381
171382              filename
171383                     if not provided the showing differences between snapshots
171384                     for all "text" files
171385
171386              num_pre
171387                     first snapshot ID to compare. Default is last snapshot
171388
171389              num_post
171390                     last snapshot ID to compare. Default is 0 (current state)
171391
171392              CLI Example:
171393
171394                 salt '*' snapper.diff
171395                 salt '*' snapper.diff filename=/var/log/snapper.log num_pre=19 num_post=20
171396
171397       salt.modules.snapper.diff_jid(jid, config=u'root')
171398              Returns the changes applied by a jid
171399
171400              jid    The job id to lookup
171401
171402              config Configuration name.
171403
171404              CLI Example:
171405
171406                 salt '*' snapper.diff_jid jid=20160607130930720112
171407
171408       salt.modules.snapper.get_config(name=u'root')
171409              Retrieves all values from a given configuration
171410
171411              CLI example:
171412
171413                 salt '*' snapper.get_config
171414
171415       salt.modules.snapper.get_snapshot(number=0, config=u'root')
171416              Get detailed information about a given snapshot
171417
171418              CLI example:
171419
171420                 salt '*' snapper.get_snapshot 1
171421
171422       salt.modules.snapper.list_configs()
171423              List all available configs
171424
171425              CLI example:
171426
171427                 salt '*' snapper.list_configs
171428
171429       salt.modules.snapper.list_snapshots(config=u'root')
171430              List available snapshots
171431
171432              CLI example:
171433
171434                 salt '*' snapper.list_snapshots config=myconfig
171435
171436       salt.modules.snapper.modify_snapshot(snapshot_id=None,         descrip‐
171437       tion=None, userdata=None, cleanup=None, config=u'root')
171438              Modify attributes of an existing snapshot.
171439
171440              config Configuration name. (Default: root)
171441
171442              snapshot_id
171443                     ID of the snapshot to be modified.
171444
171445              cleanup
171446                     Change the cleanup method of the snapshot. (str)
171447
171448              description
171449                     Change the description of the snapshot. (str)
171450
171451              userdata
171452                     Change the userdata dictionary of the snapshot. (dict)
171453
171454              CLI example:
171455
171456                 salt '*' snapper.modify_snapshot 54 description="my snapshot description"
171457                 salt '*' snapper.modify_snapshot 54 description="my snapshot description"
171458                 salt '*' snapper.modify_snapshot 54 userdata='{"foo": "bar"}'
171459                 salt '*' snapper.modify_snapshot snapshot_id=54 cleanup="number"
171460
171461       salt.modules.snapper.run(function, *args, **kwargs)
171462              Runs  a  function from an execution module creating pre and post
171463              snapshots and associating the salt job id with  those  snapshots
171464              for easy undo and cleanup.
171465
171466              function
171467                     Salt function to call.
171468
171469              config Configuration name. (default: "root")
171470
171471              description
171472                     A description for the snapshots. (default: None)
171473
171474              userdata
171475                     Data to include in the snapshot metadata. (default: None)
171476
171477              cleanup_algorithm
171478                     Snapper cleanup algorithm. (default: "number")
171479
171480              *args  args for the function to call. (default: None)
171481
171482              **kwargs
171483                     kwargs for the function to call (default: None)
171484
171485              This   would  run append text to /etc/motd using the file.append
171486              module, and will create two snapshots, pre  and  post  with  the
171487              associated  metadata.  The  jid will be available as salt_jid in
171488              the userdata of the snapshot.
171489
171490              You can immediately see the changes
171491
171492              CLI Example:
171493
171494                 salt '*' snapper.run file.append args='["/etc/motd", "some text"]'
171495
171496       salt.modules.snapper.set_config(name=u'root', **kwargs)
171497              Set configuration values
171498
171499              CLI example:
171500
171501                 salt '*' snapper.set_config SYNC_ACL=True
171502
171503              Keys are case insensitive as they will be always  uppercased  to
171504              snapper convention. The above example is equivalent to:
171505
171506                 salt '*' snapper.set_config sync_acl=True
171507
171508       salt.modules.snapper.status(config=u'root',               num_pre=None,
171509       num_post=None)
171510              Returns a comparison between two snapshots
171511
171512              config Configuration name.
171513
171514              num_pre
171515                     first snapshot ID to compare. Default is last snapshot
171516
171517              num_post
171518                     last snapshot ID to compare. Default is 0 (current state)
171519
171520              CLI example:
171521
171522                 salt '*' snapper.status
171523                 salt '*' snapper.status num_pre=19 num_post=20
171524
171525       salt.modules.snapper.status_to_string(dbus_status)
171526              Converts a numeric dbus snapper status into a string
171527
171528              CLI Example:
171529
171530                 salt '*' snapper.status_to_string <dbus_status>
171531
171532       salt.modules.snapper.undo(config=u'root',   files=None,   num_pre=None,
171533       num_post=None)
171534              Undo   all  file  changes  that  happened  between  num_pre  and
171535              num_post, leaving the files into the state of num_pre.
171536
171537              WARNING:
171538                 If one of the files has changes after num_post, they will  be
171539                 overwritten  The  snapshots  are  used  to determine the file
171540                 list, but the current version of the files will be  overwrit‐
171541                 ten by the versions in num_pre.
171542
171543                 You  to  undo changes between num_pre and the current version
171544                 of the files use num_post=0.
171545
171546              CLI Example:
171547
171548                 salt '*' snapper.undo
171549
171550       salt.modules.snapper.undo_jid(jid, config=u'root')
171551              Undo the changes applied by a salt job
171552
171553              jid    The job id to lookup
171554
171555              config Configuration name.
171556
171557              CLI Example:
171558
171559                 salt '*' snapper.undo_jid jid=20160607130930720112
171560
171561   salt.modules.state
171562       Control the state system on the minion.
171563
171564   State Caching
171565       When a highstate is called, the minion automatically caches a  copy  of
171566       the last high data. If you then run a highstate with cache=True it will
171567       use that cached highdata  and  won't  hit  the  fileserver  except  for
171568       salt:// links in the states themselves.
171569
171570       salt.modules.state.apply_(mods=None, **kwargs)
171571              New in version 2015.5.0.
171572
171573
171574              This  function  will  call state.highstate or state.sls based on
171575              the arguments passed to this function.   It  exists  as  a  more
171576              intuitive way of applying states.
171577
171578              APPLYING ALL STATES CONFIGURED IN TOP.SLS (A.K.A. HIGHSTATE)
171579
171580              To apply all configured states, simply run state.apply:
171581
171582                 salt '*' state.apply
171583
171584              The following additional arguments are also accepted when apply‐
171585              ing all states configured in top.sls:
171586
171587              test   Run states in test-only (dry-run) mode
171588
171589              mock   The mock option allows for the state run to execute with‐
171590                     out  actually  calling  any  states.  This then returns a
171591                     mocked return which will show the requisite  ordering  as
171592                     well as fully validate the state run.
171593
171594                     New in version 2015.8.4.
171595
171596
171597              pillar Custom Pillar values, passed as a dictionary of key-value
171598                     pairs
171599
171600                        salt '*' state.apply stuff pillar='{"foo": "bar"}'
171601
171602                     NOTE:
171603                        Values passed this way will override Pillar values set
171604                        via pillar_roots or an external Pillar source.
171605
171606              exclude
171607                     Exclude specific states from execution. Accepts a list of
171608                     sls names, a comma-separated string of sls  names,  or  a
171609                     list of dictionaries containing sls or id keys. Glob-pat‐
171610                     terns may be used to match multiple states.
171611
171612                        salt '*' state.apply exclude=bar,baz
171613                        salt '*' state.apply exclude=foo*
171614                        salt '*' state.apply exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
171615
171616              queue  False Instead of failing immediately when  another  state
171617                     run is in progress, queue the new state run to begin run‐
171618                     ning once the other has finished.
171619
171620                     This option starts a new thread  for  each  queued  state
171621                     run, so use this option sparingly.
171622
171623              localconfig
171624                     Optionally, instead of using the minion config, load min‐
171625                     ion opts from the file specified by  this  argument,  and
171626                     then  merge them with the options from the minion config.
171627                     This functionality allows for specific states to  be  run
171628                     with  their  own  custom  minion configuration, including
171629                     different pillars, file_roots, etc.
171630
171631                        salt '*' state.apply localconfig=/path/to/minion.yml
171632
171633              APPLYING INDIVIDUAL SLS FILES (A.K.A. STATE.SLS)
171634
171635              To apply individual SLS files, pass them  as  a  comma-separated
171636              list:
171637
171638                 # Run the states configured in salt://stuff.sls (or salt://stuff/init.sls)
171639                 salt '*' state.apply stuff
171640
171641                 # Run the states configured in salt://stuff.sls (or salt://stuff/init.sls)
171642                 # and salt://pkgs.sls (or salt://pkgs/init.sls).
171643                 salt '*' state.apply stuff,pkgs
171644
171645                 # Run the states configured in a more deeply nested directory such as salt://my/organized/stuff.sls (or salt://my/organized/stuff/init.sls)
171646                 salt '*' state.apply my.organized.stuff
171647
171648              The following additional arguments are also accepted when apply‐
171649              ing individual SLS files:
171650
171651              test   Run states in test-only (dry-run) mode
171652
171653              mock   The mock option allows for the state run to execute with‐
171654                     out  actually  calling  any  states.  This then returns a
171655                     mocked return which will show the requisite  ordering  as
171656                     well as fully validate the state run.
171657
171658                     New in version 2015.8.4.
171659
171660
171661              pillar Custom Pillar values, passed as a dictionary of key-value
171662                     pairs
171663
171664                        salt '*' state.apply stuff pillar='{"foo": "bar"}'
171665
171666                     NOTE:
171667                        Values passed this way will override Pillar values set
171668                        via pillar_roots or an external Pillar source.
171669
171670              queue  False  Instead  of failing immediately when another state
171671                     run is in progress, queue the new state run to begin run‐
171672                     ning once the other has finished.
171673
171674                     This  option  starts  a  new thread for each queued state
171675                     run, so use this option sparingly.
171676
171677              concurrent
171678                     False Execute state runs concurrently instead of serially
171679
171680                     WARNING:
171681                        This flag is potentially dangerous. It is designed for
171682                        use  when multiple state runs can safely be run at the
171683                        same time. Do not use this flag for performance  opti‐
171684                        mization.
171685
171686              saltenv
171687                     Specify  a  salt  fileserver  environment to be used when
171688                     applying states
171689
171690                     Changed in version 0.17.0: Argument name changed from env
171691                     to saltenv
171692
171693
171694                     Changed  in version 2014.7.0: If no saltenv is specified,
171695                     the minion config will  be  checked  for  an  environment
171696                     parameter  and  if  found,  it  will  be used. If none is
171697                     found, base will be used. In prior releases,  the  minion
171698                     config  was  not checked and base would always be assumed
171699                     when the saltenv was not explicitly set.
171700
171701
171702              pillarenv
171703                     Specify a Pillar environment to  be  used  when  applying
171704                     states.  This  can  also be set in the minion config file
171705                     using the pillarenv option. When  neither  the  pillarenv
171706                     minion  config  option nor this CLI argument is used, all
171707                     Pillar environments will be merged together.
171708
171709              localconfig
171710                     Optionally, instead of using the minion config, load min‐
171711                     ion  opts  from  the file specified by this argument, and
171712                     then merge them with the options from the minion  config.
171713                     This  functionality  allows for specific states to be run
171714                     with their own  custom  minion  configuration,  including
171715                     different pillars, file_roots, etc.
171716
171717                        salt '*' state.apply stuff localconfig=/path/to/minion.yml
171718
171719              sync_mods
171720                     If  specified,  the  desired  custom module types will be
171721                     synced prior to running the SLS files:
171722
171723                        salt '*' state.apply stuff sync_mods=states,modules
171724                        salt '*' state.apply stuff sync_mods=all
171725
171726                     NOTE:
171727                        This option is ignored when no SLS  files  are  speci‐
171728                        fied,  as  a  highstate automatically syncs all custom
171729                        module types.
171730
171731                     New in version 2017.7.8,2018.3.3,2019.2.0.
171732
171733
171734       salt.modules.state.check_request(name=None)
171735              New in version 2015.5.0.
171736
171737
171738              Return the state request information, if any
171739
171740              CLI Example:
171741
171742                 salt '*' state.check_request
171743
171744       salt.modules.state.clear_cache()
171745              Clear out cached state files, forcing even cache runs to refresh
171746              the cache on the next state execution.
171747
171748              Remember that the state cache is completely disabled by default,
171749              this execution only applies if cache=True is used in states
171750
171751              CLI Example:
171752
171753                 salt '*' state.clear_cache
171754
171755       salt.modules.state.clear_request(name=None)
171756              New in version 2015.5.0.
171757
171758
171759              Clear out the state execution request without executing it
171760
171761              CLI Example:
171762
171763                 salt '*' state.clear_request
171764
171765       salt.modules.state.disable(states)
171766              Disable state runs.
171767
171768              CLI Example:
171769
171770                 salt '*' state.disable highstate
171771
171772                 salt '*' state.disable highstate,test.succeed_without_changes
171773
171774              NOTE:
171775                 To disable a state file from running provide  the  same  name
171776                 that would be passed in a state.sls call.
171777
171778                 salt '*' state.disable bind.config
171779
171780       salt.modules.state.enable(states)
171781              Enable state function or sls run
171782
171783              CLI Example:
171784
171785                 salt '*' state.enable highstate
171786
171787                 salt '*' state.enable test.succeed_without_changes
171788
171789              NOTE:
171790                 To  enable  a  state  file from running provide the same name
171791                 that would be passed in a state.sls call.
171792
171793                 salt '*' state.disable bind.config
171794
171795       salt.modules.state.event(tagmatch=u'*',     count=-1,      quiet=False,
171796       sock_dir=None, pretty=False, node=u'minion')
171797              Watch Salt's event bus and block until the given tag is matched
171798
171799              New in version 2016.3.0.
171800
171801
171802              Changed  in  version 2019.2.0: tagmatch can now be either a glob
171803              or regular expression.
171804
171805
171806              This is useful for utilizing Salt's event bus from shell scripts
171807              or for taking simple actions directly from the CLI.
171808
171809              Enable debug logging to see ignored events.
171810
171811              Parameters
171812
171813                     · tagmatch -- the event is written to stdout for each tag
171814                       that matches this glob or regular expression.
171815
171816                     · count -- this number is decremented for each event that
171817                       matches  the tagmatch parameter; pass -1 to listen for‐
171818                       ever.
171819
171820                     · quiet -- do not print to stdout; just block
171821
171822                     · sock_dir -- path to  the  Salt  master's  event  socket
171823                       file.
171824
171825                     · pretty -- Output the JSON all on a single line if False
171826                       (useful for shell tools); pretty-print the JSON  output
171827                       if True.
171828
171829                     · node -- Watch the minion-side or master-side event bus.
171830
171831              CLI Example:
171832
171833                 salt-call --local state.event pretty=True
171834
171835       salt.modules.state.get_pauses(jid=None)
171836              Get a report on all of the currently paused state runs and pause
171837              run settings.  Optionally send in a jid if you  only  desire  to
171838              see a single pause data set.
171839
171840       salt.modules.state.high(data, test=None, queue=False, **kwargs)
171841              Execute the compound calls stored in a single set of high data
171842
171843              This  function  is  mostly intended for testing the state system
171844              and is not likely to be needed in everyday usage.
171845
171846              CLI Example:
171847
171848                 salt '*' state.high '{"vim": {"pkg": ["installed"]}}'
171849
171850       salt.modules.state.highstate(test=None, queue=False, **kwargs)
171851              Retrieve the state data from the salt master for this minion and
171852              execute it
171853
171854              test   Run states in test-only (dry-run) mode
171855
171856              pillar Custom Pillar values, passed as a dictionary of key-value
171857                     pairs
171858
171859                        salt '*' state.highstate stuff pillar='{"foo": "bar"}'
171860
171861                     NOTE:
171862                        Values passed this way will override Pillar values set
171863                        via pillar_roots or an external Pillar source.
171864
171865                     Changed  in  version  2016.3.0:  GPG-encrypted CLI Pillar
171866                     data is now supported via the GPG renderer. See here  for
171867                     details.
171868
171869
171870              pillar_enc
171871                     Specify  which  renderer to use to decrypt encrypted data
171872                     located within the pillar value. Currently, only  gpg  is
171873                     supported.
171874
171875                     New in version 2016.3.0.
171876
171877
171878              exclude
171879                     Exclude specific states from execution. Accepts a list of
171880                     sls names, a comma-separated string of sls  names,  or  a
171881                     list of dictionaries containing sls or id keys. Glob-pat‐
171882                     terns may be used to match multiple states.
171883
171884                        salt '*' state.highstate exclude=bar,baz
171885                        salt '*' state.highstate exclude=foo*
171886                        salt '*' state.highstate exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
171887
171888              saltenv
171889                     Specify a salt fileserver environment  to  be  used  when
171890                     applying states
171891
171892                     Changed in version 0.17.0: Argument name changed from env
171893                     to saltenv.
171894
171895
171896                     Changed in version 2014.7.0: If no saltenv is  specified,
171897                     the minion config will be checked for a saltenv parameter
171898                     and if found, it will be used. If  none  is  found,  base
171899                     will  be  used.  In prior releases, the minion config was
171900                     not checked and base would always  be  assumed  when  the
171901                     saltenv was not explicitly set.
171902
171903
171904              pillarenv
171905                     Specify  a  Pillar  environment  to be used when applying
171906                     states. This can also be set in the  minion  config  file
171907                     using  the  pillarenv  option. When neither the pillarenv
171908                     minion config option nor this CLI argument is  used,  all
171909                     Pillar environments will be merged together.
171910
171911              queue  False  Instead  of failing immediately when another state
171912                     run is in progress, queue the new state run to begin run‐
171913                     ning once the other has finished.
171914
171915                     This  option  starts  a  new thread for each queued state
171916                     run, so use this option sparingly.
171917
171918              localconfig
171919                     Optionally, instead of using the minion config, load min‐
171920                     ion  opts  from  the file specified by this argument, and
171921                     then merge them with the options from the minion  config.
171922                     This  functionality  allows for specific states to be run
171923                     with their own  custom  minion  configuration,  including
171924                     different pillars, file_roots, etc.
171925
171926              mock   The mock option allows for the state run to execute with‐
171927                     out actually calling any  states.  This  then  returns  a
171928                     mocked  return  which will show the requisite ordering as
171929                     well as fully validate the state run.
171930
171931                     New in version 2015.8.4.
171932
171933
171934              CLI Examples:
171935
171936                 salt '*' state.highstate
171937
171938                 salt '*' state.highstate whitelist=sls1_to_run,sls2_to_run
171939                 salt '*' state.highstate exclude=sls_to_exclude
171940                 salt '*' state.highstate exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
171941
171942                 salt '*' state.highstate pillar="{foo: 'Foo!', bar: 'Bar!'}"
171943
171944       salt.modules.state.id_exists(ids,   mods,    test=None,    queue=False,
171945       **kwargs)
171946              Tests  for  the existence of a specific ID or list of IDs within
171947              the specified SLS file(s). Similar to state.sls_exists,  returns
171948              True or False. The default environment is base``, use saltenv to
171949              specify a different environment.
171950
171951              New in version 2019.2.0.
171952
171953
171954              saltenv
171955                     Specify a salt fileserver environment from which to  look
171956                     for the SLS files specified in the mods argument
171957
171958              CLI Example:
171959
171960                 salt '*' state.id_exists create_myfile,update_template filestate saltenv=dev
171961
171962       salt.modules.state.list_disabled()
171963              List the states which are currently disabled
171964
171965              CLI Example:
171966
171967                 salt '*' state.list_disabled
171968
171969       salt.modules.state.low(data, queue=False, **kwargs)
171970              Execute a single low data call
171971
171972              This  function  is  mostly intended for testing the state system
171973              and is not likely to be needed in everyday usage.
171974
171975              CLI Example:
171976
171977                 salt '*' state.low '{"state": "pkg", "fun": "installed", "name": "vi"}'
171978
171979       salt.modules.state.orchestrate(mods,    saltenv=u'base',     test=None,
171980       exclude=None, pillar=None, pillarenv=None)
171981              New in version 2016.11.0.
171982
171983
171984              Execute the orchestrate runner from a masterless minion.
171985
171986              SEE ALSO:
171987                 More Orchestrate documentation
171988
171989                 · Full Orchestrate Tutorial
171990
171991                 · Docs for the ``salt` state module <salt.states.saltmod>`
171992
171993              CLI Examples:
171994
171995                 salt-call --local state.orchestrate webserver
171996                 salt-call --local state.orchestrate webserver saltenv=dev test=True
171997                 salt-call --local state.orchestrate webserver saltenv=dev pillarenv=aws
171998
171999       salt.modules.state.pause(jid, state_id=None, duration=None)
172000              Set up a state id pause, this instructs a running state to pause
172001              at a given state id. This needs to pass in the jid of  the  run‐
172002              ning  state and can optionally pass in a duration in seconds. If
172003              a state_id is not passed then the jid referenced will be  paused
172004              at the beginning of the next state run.
172005
172006              The  given  state  id  is the id got a given state execution, so
172007              given a state that looks like this:
172008
172009                 vim:
172010                   pkg.installed: []
172011
172012              The state_id to pass to pause is vim
172013
172014              CLI Examples:
172015
172016                 salt '*' state.pause 20171130110407769519
172017                 salt '*' state.pause 20171130110407769519 vim
172018                 salt '*' state.pause 20171130110407769519 vim 20
172019
172020       salt.modules.state.pkg(pkg_path,   pkg_sum,    hash_type,    test=None,
172021       **kwargs)
172022              Execute  a packaged state run, the packaged state run will exist
172023              in a tarball available locally. This packaged state can be  gen‐
172024              erated using salt-ssh.
172025
172026              CLI Example:
172027
172028                 salt '*' state.pkg /tmp/salt_state.tgz 760a9353810e36f6d81416366fc426dc md5
172029
172030       salt.modules.state.request(mods=None, **kwargs)
172031              New in version 2015.5.0.
172032
172033
172034              Request  that  the local admin execute a state run via salt-call
172035              state.run_request.  All arguments match those of state.apply.
172036
172037              CLI Example:
172038
172039                 salt '*' state.request
172040                 salt '*' state.request stuff
172041                 salt '*' state.request stuff,pkgs
172042
172043       salt.modules.state.resume(jid, state_id=None)
172044              Remove a pause from a jid,  allowing  it  to  continue.  If  the
172045              state_id  is  not  specified  then  the  a general pause will be
172046              resumed.
172047
172048              The given state_id is the id got a  given  state  execution,  so
172049              given a state that looks like this:
172050
172051                 vim:
172052                   pkg.installed: []
172053
172054              The state_id to pass to rm_pause is vim
172055
172056              CLI Examples:
172057
172058                 salt '*' state.resume 20171130110407769519
172059                 salt '*' state.resume 20171130110407769519 vim
172060
172061       salt.modules.state.run_request(name=u'default', **kwargs)
172062              New in version 2015.5.0.
172063
172064
172065              Execute the pending state request
172066
172067              CLI Example:
172068
172069                 salt '*' state.run_request
172070
172071       salt.modules.state.running(concurrent=False)
172072              Return  a  list  of  strings that contain state return data if a
172073              state function is already running. This function is used to pre‐
172074              vent multiple state calls from being run at the same time.
172075
172076              CLI Example:
172077
172078                 salt '*' state.running
172079
172080       salt.modules.state.show_highstate(queue=False, **kwargs)
172081              Retrieve the highstate data from the salt master and display it
172082
172083              Custom Pillar data can be passed with the pillar kwarg.
172084
172085              CLI Example:
172086
172087                 salt '*' state.show_highstate
172088
172089       salt.modules.state.show_low_sls(mods, test=None, queue=False, **kwargs)
172090              Display  the  low data from a specific sls. The default environ‐
172091              ment is base, use saltenv to specify a different environment.
172092
172093              saltenv
172094                     Specify a salt fileserver environment  to  be  used  when
172095                     applying states
172096
172097              pillar Custom Pillar values, passed as a dictionary of key-value
172098                     pairs
172099
172100                        salt '*' state.show_low_sls stuff pillar='{"foo": "bar"}'
172101
172102                     NOTE:
172103                        Values passed this way will override Pillar values set
172104                        via pillar_roots or an external Pillar source.
172105
172106              pillarenv
172107                     Specify  a  Pillar  environment  to be used when applying
172108                     states. This can also be set in the  minion  config  file
172109                     using  the  pillarenv  option. When neither the pillarenv
172110                     minion config option nor this CLI argument is  used,  all
172111                     Pillar environments will be merged together.
172112
172113              CLI Example:
172114
172115                 salt '*' state.show_low_sls foo
172116                 salt '*' state.show_low_sls foo saltenv=dev
172117
172118       salt.modules.state.show_lowstate(queue=False, **kwargs)
172119              List out the low data that will be applied to this minion
172120
172121              CLI Example:
172122
172123                 salt '*' state.show_lowstate
172124
172125       salt.modules.state.show_sls(mods, test=None, queue=False, **kwargs)
172126              Display  the state data from a specific sls or list of sls files
172127              on the master. The default environment is base, use  saltenv  to
172128              specify a different environment.
172129
172130              This function does not support topfiles.  For top.sls please use
172131              show_top instead.
172132
172133              Custom Pillar data can be passed with the pillar kwarg.
172134
172135              saltenv
172136                     Specify a salt fileserver environment  to  be  used  when
172137                     applying states
172138
172139              pillarenv
172140                     Specify  a  Pillar  environment  to be used when applying
172141                     states. This can also be set in the  minion  config  file
172142                     using  the  pillarenv  option. When neither the pillarenv
172143                     minion config option nor this CLI argument is  used,  all
172144                     Pillar environments will be merged together.
172145
172146              CLI Example:
172147
172148                 salt '*' state.show_sls core,edit.vim saltenv=dev
172149
172150       salt.modules.state.show_state_usage(queue=False, **kwargs)
172151              Retrieve the highstate data from the salt master to analyse used
172152              and unused states
172153
172154              Custom Pillar data can be passed with the pillar kwarg.
172155
172156              CLI Example:
172157
172158                 salt '*' state.show_state_usage
172159
172160       salt.modules.state.show_states(queue=False, **kwargs)
172161              Returns the list of states that will be applied on highstate.
172162
172163              CLI Example:
172164
172165                 salt '*' state.show_states
172166
172167              New in version 2019.2.0.
172168
172169
172170       salt.modules.state.show_top(queue=False, **kwargs)
172171              Return the top data that the minion will use for a highstate
172172
172173              CLI Example:
172174
172175                 salt '*' state.show_top
172176
172177       salt.modules.state.single(fun, name, test=None, queue=False, **kwargs)
172178              Execute a single state function with the named  kwargs,  returns
172179              False if insufficient data is sent to the command
172180
172181              By default, the values of the kwargs will be parsed as YAML. So,
172182              you can specify lists values, or lists of single entry key-value
172183              maps, as you would in a YAML salt file. Alternatively, JSON for‐
172184              mat of keyword values is also supported.
172185
172186              CLI Example:
172187
172188                 salt '*' state.single pkg.installed name=vim
172189
172190       salt.modules.state.sls(mods,  test=None,   exclude=None,   queue=False,
172191       sync_mods=None, **kwargs)
172192              Execute the states in one or more SLS files
172193
172194              test   Run states in test-only (dry-run) mode
172195
172196              pillar Custom Pillar values, passed as a dictionary of key-value
172197                     pairs
172198
172199                        salt '*' state.sls stuff pillar='{"foo": "bar"}'
172200
172201                     NOTE:
172202                        Values passed this way will override  existing  Pillar
172203                        values  set  via  pillar_roots  or  an external Pillar
172204                        source.  Pillar values that are not  included  in  the
172205                        kwarg will not be overwritten.
172206
172207                     Changed  in  version  2016.3.0:  GPG-encrypted CLI Pillar
172208                     data is now supported via the GPG renderer. See here  for
172209                     details.
172210
172211
172212              pillar_enc
172213                     Specify  which  renderer to use to decrypt encrypted data
172214                     located within the pillar value. Currently, only  gpg  is
172215                     supported.
172216
172217                     New in version 2016.3.0.
172218
172219
172220              exclude
172221                     Exclude specific states from execution. Accepts a list of
172222                     sls names, a comma-separated string of sls  names,  or  a
172223                     list of dictionaries containing sls or id keys. Glob-pat‐
172224                     terns may be used to match multiple states.
172225
172226                        salt '*' state.sls foo,bar,baz exclude=bar,baz
172227                        salt '*' state.sls foo,bar,baz exclude=ba*
172228                        salt '*' state.sls foo,bar,baz exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
172229
172230              queue  False Instead of failing immediately when  another  state
172231                     run is in progress, queue the new state run to begin run‐
172232                     ning once the other has finished.
172233
172234                     This option starts a new thread  for  each  queued  state
172235                     run, so use this option sparingly.
172236
172237              concurrent
172238                     False Execute state runs concurrently instead of serially
172239
172240                     WARNING:
172241                        This flag is potentially dangerous. It is designed for
172242                        use when multiple state runs can safely be run at  the
172243                        same  time. Do not use this flag for performance opti‐
172244                        mization.
172245
172246              saltenv
172247                     Specify a salt fileserver environment  to  be  used  when
172248                     applying states
172249
172250                     Changed in version 0.17.0: Argument name changed from env
172251                     to saltenv.
172252
172253
172254                     Changed in version 2014.7.0: If no saltenv is  specified,
172255                     the  minion  config  will  be  checked for an environment
172256                     parameter and if found, it  will  be  used.  If  none  is
172257                     found,  base  will be used. In prior releases, the minion
172258                     config was not checked and base would always  be  assumed
172259                     when the saltenv was not explicitly set.
172260
172261
172262              pillarenv
172263                     Specify  a  Pillar  environment  to be used when applying
172264                     states. This can also be set in the  minion  config  file
172265                     using  the  pillarenv  option. When neither the pillarenv
172266                     minion config option nor this CLI argument is  used,  all
172267                     Pillar environments will be merged together.
172268
172269              localconfig
172270                     Optionally, instead of using the minion config, load min‐
172271                     ion opts from the file specified by  this  argument,  and
172272                     then  merge them with the options from the minion config.
172273                     This functionality allows for specific states to  be  run
172274                     with  their  own  custom  minion configuration, including
172275                     different pillars, file_roots, etc.
172276
172277              mock   The mock option allows for the state run to execute with‐
172278                     out  actually  calling  any  states.  This then returns a
172279                     mocked return which will show the requisite  ordering  as
172280                     well as fully validate the state run.
172281
172282                     New in version 2015.8.4.
172283
172284
172285              sync_mods
172286                     If  specified,  the  desired  custom module types will be
172287                     synced prior to running the SLS files:
172288
172289                        salt '*' state.sls stuff sync_mods=states,modules
172290                        salt '*' state.sls stuff sync_mods=all
172291
172292                     New in version 2017.7.8,2018.3.3,2019.2.0.
172293
172294
172295              CLI Example:
172296
172297                 # Run the states configured in salt://example.sls (or salt://example/init.sls)
172298                 salt '*' state.apply example
172299
172300                 # Run the states configured in salt://core.sls (or salt://core/init.sls)
172301                 # and salt://edit/vim.sls (or salt://edit/vim/init.sls)
172302                 salt '*' state.sls core,edit.vim
172303
172304                 # Run the states configured in a more deeply nested directory such as salt://my/nested/state.sls (or salt://my/nested/state/init.sls)
172305                 salt '*' state.sls my.nested.state
172306
172307                 salt '*' state.sls core exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
172308                 salt '*' state.sls myslsfile pillar="{foo: 'Foo!', bar: 'Bar!'}"
172309
172310       salt.modules.state.sls_exists(mods, test=None, queue=False, **kwargs)
172311              Tests for the existance the of a specific SLS  or  list  of  SLS
172312              files  on  the  master.  Similar  to state.show_sls, rather than
172313              returning state details, returns  True  or  False.  The  default
172314              environment is base, use saltenv to specify a different environ‐
172315              ment.
172316
172317              New in version 2019.2.0.
172318
172319
172320              saltenv
172321                     Specify a salt fileserver environment from which to  look
172322                     for the SLS files specified in the mods argument
172323
172324              CLI Example:
172325
172326                 salt '*' state.sls_exists core,edit.vim saltenv=dev
172327
172328       salt.modules.state.sls_id(id_, mods, test=None, queue=False, **kwargs)
172329              Call  a single ID from the named module(s) and handle all requi‐
172330              sites
172331
172332              The state ID comes before the module ID(s) on the command line.
172333
172334              id     ID to call
172335
172336              mods   Comma-delimited list of modules to search  for  given  id
172337                     and its requisites
172338
172339              New in version 2014.7.0.
172340
172341
172342              saltenv
172343                     base  Specify  a  salt  fileserver environment to be used
172344                     when applying states
172345
172346              pillarenv
172347                     Specify a Pillar environment to  be  used  when  applying
172348                     states.  This  can  also be set in the minion config file
172349                     using the pillarenv option. When  neither  the  pillarenv
172350                     minion  config  option nor this CLI argument is used, all
172351                     Pillar environments will be merged together.
172352
172353              pillar Custom Pillar values, passed as a dictionary of key-value
172354                     pairs
172355
172356                        salt '*' state.sls_id my_state my_module pillar='{"foo": "bar"}'
172357
172358                     NOTE:
172359                        Values  passed  this way will override existing Pillar
172360                        values set via  pillar_roots  or  an  external  Pillar
172361                        source.   Pillar  values  that are not included in the
172362                        kwarg will not be overwritten.
172363
172364                     New in version 2018.3.0.
172365
172366
172367              CLI Example:
172368
172369                 salt '*' state.sls_id my_state my_module
172370
172371                 salt '*' state.sls_id my_state my_module,a_common_module
172372
172373       salt.modules.state.soft_kill(jid, state_id=None)
172374              Set up a state run to die before executing the given  state  id,
172375              this  instructs  a running state to safely exit at a given state
172376              id. This needs to pass in the jid of the running  state.   If  a
172377              state_id  is  not  passed then the jid referenced will be safely
172378              exited at the beginning of the next state run.
172379
172380              The given state id is the id got a  given  state  execution,  so
172381              given a state that looks like this:
172382
172383                 vim:
172384                   pkg.installed: []
172385
172386              The state_id to pass to soft_kill is vim
172387
172388              CLI Examples:
172389
172390                 salt '*' state.soft_kill 20171130110407769519
172391                 salt '*' state.soft_kill 20171130110407769519 vim
172392
172393       salt.modules.state.template(tem, queue=False, **kwargs)
172394              Execute the information stored in a template file on the minion.
172395
172396              This function does not ask a master for a SLS file to render but
172397              instead directly processes the file at the provided path on  the
172398              minion.
172399
172400              CLI Example:
172401
172402                 salt '*' state.template '<Path to template on the minion>'
172403
172404       salt.modules.state.template_str(tem, queue=False, **kwargs)
172405              Execute the information stored in a string from an sls template
172406
172407              CLI Example:
172408
172409                 salt '*' state.template_str '<Template String>'
172410
172411       salt.modules.state.top(topfn, test=None, queue=False, **kwargs)
172412              Execute a specific top file instead of the default. This is use‐
172413              ful to apply configurations from a  different  environment  (for
172414              example, dev or prod), without modifying the default top file.
172415
172416              queue  False  Instead  of failing immediately when another state
172417                     run is in progress, queue the new state run to begin run‐
172418                     ning once the other has finished.
172419
172420                     This  option  starts  a  new thread for each queued state
172421                     run, so use this option sparingly.
172422
172423              saltenv
172424                     Specify a salt fileserver environment  to  be  used  when
172425                     applying states
172426
172427              pillarenv
172428                     Specify  a  Pillar  environment  to be used when applying
172429                     states. This can also be set in the  minion  config  file
172430                     using  the  pillarenv  option. When neither the pillarenv
172431                     minion config option nor this CLI argument is  used,  all
172432                     Pillar environments will be merged together.
172433
172434                     New in version 2017.7.0.
172435
172436
172437              CLI Example:
172438
172439                 salt '*' state.top reverse_top.sls
172440                 salt '*' state.top prod_top.sls exclude=sls_to_exclude
172441                 salt '*' state.top dev_top.sls exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
172442
172443   salt.modules.status
172444       Module  for  returning  various status data about a minion.  These data
172445       can be useful for compiling into stats later.
172446
172447       salt.modules.status.all_status()
172448              Return a composite of all status data and info for this  minion.
172449              Warning: There is a LOT here!
172450
172451              CLI Example:
172452
172453                 salt '*' status.all_status
172454
172455       salt.modules.status.cpuinfo()
172456              Changed in version 2016.3.2: Return the CPU info for this minion
172457
172458
172459              Changed in version 2016.11.4: Added support for AIX
172460
172461
172462              Changed  in version 2018.3.0: Added support for NetBSD and Open‐
172463              BSD
172464
172465
172466              CLI Example:
172467
172468                 salt '*' status.cpuinfo
172469
172470       salt.modules.status.cpustats()
172471              Return the CPU stats for this minion
172472
172473              Changed in version 2016.11.4: Added support for AIX
172474
172475
172476              Changed in version 2018.3.0: Added support for OpenBSD
172477
172478
172479              CLI Example:
172480
172481                 salt '*' status.cpustats
172482
172483       salt.modules.status.custom()
172484              Return a custom composite of status data and info for this  min‐
172485              ion,  based  on  the  minion config file. An example config like
172486              might be:
172487
172488                 status.cpustats.custom: [ 'cpu', 'ctxt', 'btime', 'processes' ]
172489
172490              Where status refers to status.py, cpustats is the function where
172491              we get our data, and custom is this function It is followed by a
172492              list of keys that we want returned.
172493
172494              This function is meant to replace  all_status(),  which  returns
172495              anything and everything, which we probably don't want.
172496
172497              By  default, nothing is returned. Warning: Depending on what you
172498              include, there can be a LOT here!
172499
172500              CLI Example:
172501
172502                 salt '*' status.custom
172503
172504       salt.modules.status.diskstats()
172505              Changed in version 2016.3.2: Return the disk stats for this min‐
172506              ion
172507
172508
172509              Changed in version 2016.11.4: Added support for AIX
172510
172511
172512              CLI Example:
172513
172514                 salt '*' status.diskstats
172515
172516       salt.modules.status.diskusage(*args)
172517              Return the disk usage for this minion
172518
172519              Usage:
172520
172521                 salt '*' status.diskusage [paths and/or filesystem types]
172522
172523              CLI Example:
172524
172525                 salt '*' status.diskusage         # usage for all filesystems
172526                 salt '*' status.diskusage / /tmp  # usage for / and /tmp
172527                 salt '*' status.diskusage ext?    # usage for ext[234] filesystems
172528                 salt '*' status.diskusage / ext?  # usage for / and all ext filesystems
172529
172530       salt.modules.status.loadavg()
172531              Return the load averages for this minion
172532
172533              Changed in version 2016.11.4: Added support for AIX
172534
172535
172536              CLI Example:
172537
172538                 salt '*' status.loadavg
172539
172540                 :raises CommandExecutionError: If the system cannot report loadaverages to Python
172541
172542       salt.modules.status.master(master=None, connected=True)
172543              New in version 2014.7.0.
172544
172545
172546              Return  the  connection status with master. Fire an event if the
172547              connection to master is not as expected. This function is  meant
172548              to  be  run via a scheduled job from the minion. If master_ip is
172549              an FQDN/Hostname, it must be resolvable to a valid IPv4 address.
172550
172551              Changed in version 2016.11.4: Added support for AIX
172552
172553
172554              CLI Example:
172555
172556                 salt '*' status.master
172557
172558       salt.modules.status.meminfo()
172559              Return the memory info for this minion
172560
172561              Changed in version 2016.11.4: Added support for AIX
172562
172563
172564              Changed in version 2018.3.0: Added support for OpenBSD
172565
172566
172567              CLI Example:
172568
172569                 salt '*' status.meminfo
172570
172571       salt.modules.status.netdev()
172572              Changed in version 2016.3.2: Return the network device stats for
172573              this minion
172574
172575
172576              Changed in version 2016.11.4: Added support for AIX
172577
172578
172579              CLI Example:
172580
172581                 salt '*' status.netdev
172582
172583       salt.modules.status.netstats()
172584              Return the network stats for this minion
172585
172586              Changed in version 2016.11.4: Added support for AIX
172587
172588
172589              Changed in version 2018.3.0: Added support for OpenBSD
172590
172591
172592              CLI Example:
172593
172594                 salt '*' status.netstats
172595
172596       salt.modules.status.nproc()
172597              Return the number of processing units available on this system
172598
172599              Changed in version 2016.11.4: Added support for AIX
172600
172601
172602              Changed  in  version 2018.3.0: Added support for Darwin, FreeBSD
172603              and OpenBSD
172604
172605
172606              CLI Example:
172607
172608                 salt '*' status.nproc
172609
172610       salt.modules.status.pid(sig)
172611              Return the PID or an empty string if the process is  running  or
172612              not.   Pass a signature to use to find the process via ps.  Note
172613              you can pass a Python-compatible regular  expression  to  return
172614              all pids of processes matching the regexp.
172615
172616              Changed in version 2016.11.4: Added support for AIX
172617
172618
172619              CLI Example:
172620
172621                 salt '*' status.pid <sig>
172622
172623       salt.modules.status.ping_master(master)
172624              New in version 2016.3.0.
172625
172626
172627              Sends  ping  request  to the given master. Fires '__master_fail‐
172628              back' event on success.  Returns bool result.
172629
172630              CLI Example:
172631
172632                 salt '*' status.ping_master localhost
172633
172634       salt.modules.status.procs()
172635              Return the process data
172636
172637              Changed in version 2016.11.4: Added support for AIX
172638
172639
172640              CLI Example:
172641
172642                 salt '*' status.procs
172643
172644       salt.modules.status.proxy_reconnect(proxy_name, opts=None)
172645              Forces proxy minion reconnection when not alive.
172646
172647              proxy_name
172648                     The virtual name of the proxy module.
172649
172650              opts: None
172651                     Opts dictionary. Not intended for CLI usage.
172652
172653              CLI Example:
172654                 salt '*' status.proxy_reconnect rest_sample
172655
172656       salt.modules.status.time_(format=u'%A, %d. %B %Y %I:%M%p')
172657              New in version 2016.3.0.
172658
172659
172660              Return the current time on the minion, formatted  based  on  the
172661              format parameter.
172662
172663              Default date format: Monday, 27. July 2015 07:55AM
172664
172665              CLI Example:
172666
172667                 salt '*' status.time
172668
172669                 salt '*' status.time '%s'
172670
172671       salt.modules.status.uptime()
172672              Return the uptime for this system.
172673
172674              Changed  in version 2015.8.9: The uptime function was changed to
172675              return a dictionary of easy-to-read key/value  pairs  containing
172676              uptime information, instead of the output from a cmd.run call.
172677
172678
172679              Changed in version 2016.11.0: Support for OpenBSD, FreeBSD, Net‐
172680              BSD, MacOS, and Solaris
172681
172682
172683              Changed in version 2016.11.4: Added support for AIX
172684
172685
172686              CLI Example:
172687
172688                 salt '*' status.uptime
172689
172690       salt.modules.status.version()
172691              Return the system version for this minion
172692
172693              Changed in version 2016.11.4: Added support for AIX
172694
172695
172696              Changed in version 2018.3.0: Added support for OpenBSD
172697
172698
172699              CLI Example:
172700
172701                 salt '*' status.version
172702
172703       salt.modules.status.vmstats()
172704              Changed in version 2016.3.2: Return the virtual memory stats for
172705              this minion
172706
172707
172708              Changed in version 2016.11.4: Added support for AIX
172709
172710
172711              CLI Example:
172712
172713                 salt '*' status.vmstats
172714
172715       salt.modules.status.w()
172716              Return  a  list  of logged in users for this minion, using the w
172717              command
172718
172719              CLI Example:
172720
172721                 salt '*' status.w
172722
172723   salt.modules.statuspage
172724   StatusPage
172725       Handle requests for the StatusPage API.
172726
172727       In the minion configuration file, the following block is required:
172728
172729          statuspage:
172730            api_key: <API_KEY>
172731            page_id: <PAGE_ID>
172732
172733       New in version 2017.7.0.
172734
172735
172736       salt.modules.statuspage.create(endpoint=u'incidents',     api_url=None,
172737       page_id=None, api_key=None, api_version=None, **kwargs)
172738              Insert a new entry under a specific endpoint.
172739
172740              endpoint: incidents
172741                     Insert under this specific endpoint.
172742
172743              page_id
172744                     Page ID. Can also be specified in the config file.
172745
172746              api_key
172747                     API key. Can also be specified in the config file.
172748
172749              api_version: 1
172750                     API version. Can also be specified in the config file.
172751
172752              api_url
172753                     Custom  API URL in case the user has a StatusPage service
172754                     running in a custom environment.
172755
172756              CLI Example:
172757
172758                 salt 'minion' statuspage.create endpoint='components' name='my component' group_id='993vgplshj12'
172759
172760              Example output:
172761
172762                 minion:
172763                     ----------
172764                     comment:
172765                     out:
172766                         ----------
172767                         created_at:
172768                             2017-01-05T19:35:27.135Z
172769                         description:
172770                             None
172771                         group_id:
172772                             993vgplshj12
172773                         id:
172774                             mjkmtt5lhdgc
172775                         name:
172776                             my component
172777                         page_id:
172778                             ksdhgfyiuhaa
172779                         position:
172780                             7
172781                         status:
172782                             operational
172783                         updated_at:
172784                             2017-01-05T19:35:27.135Z
172785                     result:
172786                         True
172787
172788       salt.modules.statuspage.delete(endpoint=u'incidents',          id=None,
172789       api_url=None, page_id=None, api_key=None, api_version=None)
172790              Remove an entry from an endpoint.
172791
172792              endpoint: incidents
172793                     Request a specific endpoint.
172794
172795              page_id
172796                     Page ID. Can also be specified in the config file.
172797
172798              api_key
172799                     API key. Can also be specified in the config file.
172800
172801              api_version: 1
172802                     API version. Can also be specified in the config file.
172803
172804              api_url
172805                     Custom  API URL in case the user has a StatusPage service
172806                     running in a custom environment.
172807
172808              CLI Example:
172809
172810                 salt 'minion' statuspage.delete endpoint='components' id='ftgks51sfs2d'
172811
172812              Example output:
172813
172814                 minion:
172815                     ----------
172816                     comment:
172817                     out:
172818                         None
172819                     result:
172820                         True
172821
172822       salt.modules.statuspage.retrieve(endpoint=u'incidents',   api_url=None,
172823       page_id=None, api_key=None, api_version=None)
172824              Retrieve a specific endpoint from the Statuspage API.
172825
172826              endpoint: incidents
172827                     Request a specific endpoint.
172828
172829              page_id
172830                     Page ID. Can also be specified in the config file.
172831
172832              api_key
172833                     API key. Can also be specified in the config file.
172834
172835              api_version: 1
172836                     API version. Can also be specified in the config file.
172837
172838              api_url
172839                     Custom  API URL in case the user has a StatusPage service
172840                     running in a custom environment.
172841
172842              CLI Example:
172843
172844                 salt 'minion' statuspage.retrieve components
172845
172846              Example output:
172847
172848                 minion:
172849                     ----------
172850                     comment:
172851                     out:
172852                         |_
172853                           ----------
172854                           backfilled:
172855                               False
172856                           created_at:
172857                               2015-01-26T20:25:02.702Z
172858                           id:
172859                               kh2qwjbheqdc36
172860                           impact:
172861                               major
172862                           impact_override:
172863                               None
172864                           incident_updates:
172865                               |_
172866                                 ----------
172867                                 affected_components:
172868                                     None
172869                                 body:
172870                                     We are currently investigating this issue.
172871                                 created_at:
172872                                     2015-01-26T20:25:02.849Z
172873                                 display_at:
172874                                     2015-01-26T20:25:02.849Z
172875                                 id:
172876                                     zvx7xz2z5skr
172877                                 incident_id:
172878                                     kh2qwjbheqdc36
172879                                 status:
172880                                     investigating
172881                                 twitter_updated_at:
172882                                     None
172883                                 updated_at:
172884                                     2015-01-26T20:25:02.849Z
172885                                 wants_twitter_update:
172886                                     False
172887                           monitoring_at:
172888                               None
172889                           name:
172890                               just testing some stuff
172891                           page_id:
172892                               ksdhgfyiuhaa
172893                           postmortem_body:
172894                               None
172895                           postmortem_body_last_updated_at:
172896                               None
172897                           postmortem_ignored:
172898                               False
172899                           postmortem_notified_subscribers:
172900                               False
172901                           postmortem_notified_twitter:
172902                               False
172903                           postmortem_published_at:
172904                               None
172905                           resolved_at:
172906                               None
172907                           scheduled_auto_completed:
172908                               False
172909                           scheduled_auto_in_progress:
172910                               False
172911                           scheduled_for:
172912                               None
172913                           scheduled_remind_prior:
172914                               False
172915                           scheduled_reminded_at:
172916                               None
172917                           scheduled_until:
172918                               None
172919                           shortlink:
172920                               http://stspg.io/voY
172921                           status:
172922                               investigating
172923                           updated_at:
172924                               2015-01-26T20:25:13.379Z
172925                     result:
172926                         True
172927
172928       salt.modules.statuspage.update(endpoint=u'incidents',          id=None,
172929       api_url=None, page_id=None, api_key=None, api_version=None, **kwargs)
172930              Update attribute(s) of a specific endpoint.
172931
172932              id     The unique ID of the enpoint entry.
172933
172934              endpoint: incidents
172935                     Endpoint name.
172936
172937              page_id
172938                     Page ID. Can also be specified in the config file.
172939
172940              api_key
172941                     API key. Can also be specified in the config file.
172942
172943              api_version: 1
172944                     API version. Can also be specified in the config file.
172945
172946              api_url
172947                     Custom  API URL in case the user has a StatusPage service
172948                     running in a custom environment.
172949
172950              CLI Example:
172951
172952                 salt 'minion' statuspage.update id=dz959yz2nd4l status=resolved
172953
172954              Example output:
172955
172956                 minion:
172957                     ----------
172958                     comment:
172959                     out:
172960                         ----------
172961                         created_at:
172962                             2017-01-03T15:25:30.718Z
172963                         description:
172964                             None
172965                         group_id:
172966                             993vgplshj12
172967                         id:
172968                             dz959yz2nd4l
172969                         name:
172970                             Management Portal
172971                         page_id:
172972                             xzwjjdw87vpf
172973                         position:
172974                             11
172975                         status:
172976                             resolved
172977                         updated_at:
172978                             2017-01-05T15:34:27.676Z
172979                     result:
172980                         True
172981
172982   salt.modules.supervisord
172983       Provide the service module for system supervisord or supervisord  in  a
172984       virtualenv
172985
172986       salt.modules.supervisord.add(name,      user=None,      conf_file=None,
172987       bin_env=None)
172988              Activates any updates in config for process/group.
172989
172990              user   user to run supervisorctl as
172991
172992              conf_file
172993                     path to supervisord config file
172994
172995              bin_env
172996                     path to supervisorctl bin  or  path  to  virtualenv  with
172997                     supervisor installed
172998
172999              CLI Example:
173000
173001                 salt '*' supervisord.add <name>
173002
173003       salt.modules.supervisord.custom(command,   user=None,   conf_file=None,
173004       bin_env=None)
173005              Run any custom supervisord command
173006
173007              user   user to run supervisorctl as
173008
173009              conf_file
173010                     path to supervisord config file
173011
173012              bin_env
173013                     path to supervisorctl bin  or  path  to  virtualenv  with
173014                     supervisor installed
173015
173016              CLI Example:
173017
173018                 salt '*' supervisord.custom "mstop '*gunicorn*'"
173019
173020       salt.modules.supervisord.options(name, conf_file=None)
173021              New in version 2014.1.0.
173022
173023
173024              Read  the  config file and return the config options for a given
173025              process
173026
173027              name   Name of the configured process
173028
173029              conf_file
173030                     path to supervisord config file
173031
173032              CLI Example:
173033
173034                 salt '*' supervisord.options foo
173035
173036       salt.modules.supervisord.remove(name,    user=None,     conf_file=None,
173037       bin_env=None)
173038              Removes process/group from active config
173039
173040              user   user to run supervisorctl as
173041
173042              conf_file
173043                     path to supervisord config file
173044
173045              bin_env
173046                     path  to  supervisorctl  bin  or  path to virtualenv with
173047                     supervisor installed
173048
173049              CLI Example:
173050
173051                 salt '*' supervisord.remove <name>
173052
173053       salt.modules.supervisord.reread(user=None,              conf_file=None,
173054       bin_env=None)
173055              Reload the daemon's configuration files
173056
173057              user   user to run supervisorctl as
173058
173059              conf_file
173060                     path to supervisord config file
173061
173062              bin_env
173063                     path  to  supervisorctl  bin  or  path to virtualenv with
173064                     supervisor installed
173065
173066              CLI Example:
173067
173068                 salt '*' supervisord.reread
173069
173070       salt.modules.supervisord.restart(name=u'all',                user=None,
173071       conf_file=None, bin_env=None)
173072              Restart  the  named  service.   Process  group  names should not
173073              include a trailing asterisk.
173074
173075              user   user to run supervisorctl as
173076
173077              conf_file
173078                     path to supervisord config file
173079
173080              bin_env
173081                     path to supervisorctl bin  or  path  to  virtualenv  with
173082                     supervisor installed
173083
173084              CLI Example:
173085
173086                 salt '*' supervisord.restart <service>
173087                 salt '*' supervisord.restart <group>:
173088
173089       salt.modules.supervisord.start(name=u'all',  user=None, conf_file=None,
173090       bin_env=None)
173091              Start the named service.  Process group names should not include
173092              a trailing asterisk.
173093
173094              user   user to run supervisorctl as
173095
173096              conf_file
173097                     path to supervisord config file
173098
173099              bin_env
173100                     path  to  supervisorctl  bin  or  path to virtualenv with
173101                     supervisor installed
173102
173103              CLI Example:
173104
173105                 salt '*' supervisord.start <service>
173106                 salt '*' supervisord.start <group>:
173107
173108       salt.modules.supervisord.status(name=None,  user=None,  conf_file=None,
173109       bin_env=None)
173110              List programs and its state
173111
173112              user   user to run supervisorctl as
173113
173114              conf_file
173115                     path to supervisord config file
173116
173117              bin_env
173118                     path  to  supervisorctl  bin  or  path to virtualenv with
173119                     supervisor installed
173120
173121              CLI Example:
173122
173123                 salt '*' supervisord.status
173124
173125       salt.modules.supervisord.status_raw(name=None,               user=None,
173126       conf_file=None, bin_env=None)
173127              Display the raw output of status
173128
173129              user   user to run supervisorctl as
173130
173131              conf_file
173132                     path to supervisord config file
173133
173134              bin_env
173135                     path  to  supervisorctl  bin  or  path to virtualenv with
173136                     supervisor installed
173137
173138              CLI Example:
173139
173140                 salt '*' supervisord.status_raw
173141
173142       salt.modules.supervisord.stop(name=u'all',  user=None,  conf_file=None,
173143       bin_env=None)
173144              Stop  the named service.  Process group names should not include
173145              a trailing asterisk.
173146
173147              user   user to run supervisorctl as
173148
173149              conf_file
173150                     path to supervisord config file
173151
173152              bin_env
173153                     path to supervisorctl bin  or  path  to  virtualenv  with
173154                     supervisor installed
173155
173156              CLI Example:
173157
173158                 salt '*' supervisord.stop <service>
173159                 salt '*' supervisord.stop <group>:
173160
173161       salt.modules.supervisord.update(user=None,              conf_file=None,
173162       bin_env=None, name=None)
173163              Reload config and add/remove/update as necessary
173164
173165              user   user to run supervisorctl as
173166
173167              conf_file
173168                     path to supervisord config file
173169
173170              bin_env
173171                     path to supervisorctl bin  or  path  to  virtualenv  with
173172                     supervisor installed
173173
173174              name   name  of the process group to update. if none then update
173175                     any process group that has changes
173176
173177              CLI Example:
173178
173179                 salt '*' supervisord.update
173180
173181   salt.modules.suse_apache
173182       Support for Apache
173183
173184       Please note: The functions in here are SUSE-specific. Placing  them  in
173185       this  separate file will allow them to load only on SUSE systems, while
173186       still loading under the apache namespace.
173187
173188       salt.modules.suse_apache.a2dismod(mod)
173189              Runs a2dismod for the given mod.
173190
173191              CLI Example:
173192
173193                 salt '*' apache.a2dismod vhost_alias
173194
173195       salt.modules.suse_apache.a2enmod(mod)
173196              Runs a2enmod for the given mod.
173197
173198              CLI Example:
173199
173200                 salt '*' apache.a2enmod vhost_alias
173201
173202       salt.modules.suse_apache.check_mod_enabled(mod)
173203              Checks to see if the specific apache mod is enabled.
173204
173205              This will only be functional on operating systems  that  support
173206              a2enmod -l to list the enabled mods.
173207
173208              CLI Example:
173209
173210                 salt '*' apache.check_mod_enabled status
173211
173212   salt.modules.svn
173213       Subversion SCM
173214
173215       salt.modules.svn.add(cwd,   targets,  user=None,  username=None,  pass‐
173216       word=None, *opts)
173217              Add files to be tracked by the Subversion working-copy checkout
173218
173219              cwd    The path to the Subversion repository
173220
173221              targets
173222                     None files and directories to  pass  to  the  command  as
173223                     arguments
173224
173225              user   None Run svn as a user other than what the minion runs as
173226
173227              username
173228                     None Connect to the Subversion server as another user
173229
173230              password
173231                     None Connect to the Subversion server with this password
173232
173233                     New in version 0.17.0.
173234
173235
173236              CLI Example:
173237
173238                 salt '*' svn.add /path/to/repo /path/to/new/file
173239
173240       salt.modules.svn.checkout(cwd,  remote,  target=None,  user=None, user‐
173241       name=None, password=None, *opts)
173242              Download a working copy  of  the  remote  Subversion  repository
173243              directory or file
173244
173245              cwd    The path to the Subversion repository
173246
173247              remote None URL to checkout
173248
173249              target None  The name to give the file or directory working copy
173250                     Default: svn uses the remote basename
173251
173252              user   None Run svn as a user other than what the minion runs as
173253
173254              username
173255                     None Connect to the Subversion server as another user
173256
173257              password
173258                     None Connect to the Subversion server with this password
173259
173260                     New in version 0.17.0.
173261
173262
173263              CLI Example:
173264
173265                 salt '*' svn.checkout /path/to/repo svn://remote/repo
173266
173267       salt.modules.svn.commit(cwd, targets=None, msg=None,  user=None,  user‐
173268       name=None, password=None, *opts)
173269              Commit  the  current  directory,  files,  or  directories to the
173270              remote Subversion repository
173271
173272              cwd    The path to the Subversion repository
173273
173274              targets
173275                     None files and directories to  pass  to  the  command  as
173276                     arguments Default: svn uses '.'
173277
173278              msg    None Message to attach to the commit log
173279
173280              user   None Run svn as a user other than what the minion runs as
173281
173282              username
173283                     None Connect to the Subversion server as another user
173284
173285              password
173286                     None Connect to the Subversion server with this password
173287
173288                     New in version 0.17.0.
173289
173290
173291              CLI Example:
173292
173293                 salt '*' svn.commit /path/to/repo
173294
173295       salt.modules.svn.diff(cwd,   targets=None,   user=None,  username=None,
173296       password=None, *opts)
173297              Return the diff of the current directory, files, or  directories
173298              from the remote Subversion repository
173299
173300              cwd    The path to the Subversion repository
173301
173302              targets
173303                     None  files  and  directories  to  pass to the command as
173304                     arguments Default: svn uses '.'
173305
173306              user   None Run svn as a user other than what the minion runs as
173307
173308              username
173309                     None Connect to the Subversion server as another user
173310
173311              password
173312                     None Connect to the Subversion server with this password
173313
173314                     New in version 0.17.0.
173315
173316
173317              CLI Example:
173318
173319                 salt '*' svn.diff /path/to/repo
173320
173321       salt.modules.svn.export(cwd,  remote,  target=None,  user=None,   user‐
173322       name=None, password=None, revision=u'HEAD', *opts)
173323              Create an unversioned copy of a tree.
173324
173325              cwd    The path to the Subversion repository
173326
173327              remote None URL and path to file or directory checkout
173328
173329              target None  The name to give the file or directory working copy
173330                     Default: svn uses the remote basename
173331
173332              user   None Run svn as a user other than what the minion runs as
173333
173334              username
173335                     None Connect to the Subversion server as another user
173336
173337              password
173338                     None Connect to the Subversion server with this password
173339
173340                     New in version 0.17.0.
173341
173342
173343              CLI Example:
173344
173345                 salt '*' svn.export /path/to/repo svn://remote/repo
173346
173347       salt.modules.svn.info(cwd,  targets=None,   user=None,   username=None,
173348       password=None, fmt=u'str')
173349              Display the Subversion information from the checkout.
173350
173351              cwd    The path to the Subversion repository
173352
173353              targets
173354                     None  files, directories, and URLs to pass to the command
173355                     as arguments svn uses '.' by default
173356
173357              user   None Run svn as a user other than what the minion runs as
173358
173359              username
173360                     None Connect to the Subversion server as another user
173361
173362              password
173363                     None Connect to the Subversion server with this password
173364
173365                     New in version 0.17.0.
173366
173367
173368              fmt    str How to fmt the output from info.   (str,  xml,  list,
173369                     dict)
173370
173371              CLI Example:
173372
173373                 salt '*' svn.info /path/to/svn/repo
173374
173375       salt.modules.svn.remove(cwd,   targets,   msg=None,   user=None,  user‐
173376       name=None, password=None, *opts)
173377              Remove files and directories from the Subversion repository
173378
173379              cwd    The path to the Subversion repository
173380
173381              targets
173382                     None files, directories, and URLs to pass to the  command
173383                     as arguments
173384
173385              msg    None Message to attach to the commit log
173386
173387              user   None Run svn as a user other than what the minion runs as
173388
173389              username
173390                     None Connect to the Subversion server as another user
173391
173392              password
173393                     None Connect to the Subversion server with this password
173394
173395                     New in version 0.17.0.
173396
173397
173398              CLI Example:
173399
173400                 salt '*' svn.remove /path/to/repo /path/to/repo/remove
173401
173402       salt.modules.svn.status(cwd,  targets=None,  user=None,  username=None,
173403       password=None, *opts)
173404              Display the status of the current directory, files, or  directo‐
173405              ries in the Subversion repository
173406
173407              cwd    The path to the Subversion repository
173408
173409              targets
173410                     None  files, directories, and URLs to pass to the command
173411                     as arguments Default: svn uses '.'
173412
173413              user   None Run svn as a user other than what the minion runs as
173414
173415              username
173416                     None Connect to the Subversion server as another user
173417
173418              password
173419                     None Connect to the Subversion server with this password
173420
173421                     New in version 0.17.0.
173422
173423
173424              CLI Example:
173425
173426                 salt '*' svn.status /path/to/repo
173427
173428       salt.modules.svn.switch(cwd,  remote,  target=None,  user=None,   user‐
173429       name=None, password=None, *opts)
173430              New in version 2014.1.0.
173431
173432
173433              Switch  a  working copy of a remote Subversion repository direc‐
173434              tory
173435
173436              cwd    The path to the Subversion repository
173437
173438              remote None URL to switch
173439
173440              target None The name to give the file or directory working  copy
173441                     Default: svn uses the remote basename
173442
173443              user   None Run svn as a user other than what the minion runs as
173444
173445              username
173446                     None Connect to the Subversion server as another user
173447
173448              password
173449                     None Connect to the Subversion server with this password
173450
173451              CLI Example:
173452
173453                 salt '*' svn.switch /path/to/repo svn://remote/repo
173454
173455       salt.modules.svn.update(cwd,  targets=None,  user=None,  username=None,
173456       password=None, *opts)
173457              Update the current directory, files,  or  directories  from  the
173458              remote Subversion repository
173459
173460              cwd    The path to the Subversion repository
173461
173462              targets
173463                     None  files  and  directories  to  pass to the command as
173464                     arguments Default: svn uses '.'
173465
173466              user   None Run svn as a user other than what the minion runs as
173467
173468              password
173469                     None Connect to the Subversion server with this password
173470
173471                     New in version 0.17.0.
173472
173473
173474              username
173475                     None Connect to the Subversion server as another user
173476
173477              CLI Example:
173478
173479                 salt '*' svn.update /path/to/repo
173480
173481   salt.modules.swarm
173482   Docker Swarm Module using Docker's Python SDK
173483       codeauthor
173484              Tyler Jones <jonestyler806@gmail.com>
173485
173486       New in version 2018.3.0.
173487
173488
173489       The Docker Swarm Module is used to manage and create Docker Swarms.
173490
173491   Dependencies
173492       · Docker installed on the host
173493
173494       · Docker python sdk >= 2.5.1
173495
173496   Docker Python SDK
173497          pip install -U docker
173498
173499       More information: https://docker-py.readthedocs.io/en/stable/
173500
173501       salt.modules.swarm.joinswarm(remote_addr=<type       'int'>,       lis‐
173502       ten_addr=<type 'int'>, token=<type 'str'>)
173503              Join a Swarm Worker to the cluster
173504
173505              remote_addr
173506                     The manager node you want to connect to for the swarm
173507
173508              listen_addr
173509                     Listen  address  used  for inter-manager communication if
173510                     the node gets promoted to manager, as well as determining
173511                     the  networking  interface used for the VXLAN Tunnel End‐
173512                     point (VTEP)
173513
173514              token  Either the manager join token or the worker  join  token.
173515                     You  can  get  the  worker  or manager token via salt '*'
173516                     swarm.swarm_tokens
173517
173518              CLI Example:
173519
173520                 salt '*' swarm.joinswarm remote_addr=192.168.50.10 listen_addr='0.0.0.0'             token='SWMTKN-1-64tux2g0701r84ofq93zppcih0pe081akq45owe9ts61f30x4t-06trjugdu7x2z47j938s54il'
173521
173522       salt.modules.swarm.leave_swarm(force=<type 'bool'>)
173523              Force the minion to leave the swarm
173524
173525              force  Will force the minion/worker/manager to leave the swarm
173526
173527              CLI Example:
173528
173529                 salt '*' swarm.leave_swarm force=False
173530
173531       salt.modules.swarm.node_ls(server=<type 'str'>)
173532              Displays Information about  Swarm  Nodes  with  passing  in  the
173533              server
173534
173535              server The minion/server name
173536
173537              CLI Example:
173538
173539                 salt '*' swarm.node_ls server=minion1
173540
173541       salt.modules.swarm.remove_node(node_id=<type     'str'>,    force=<type
173542       'bool'>)
173543              Remove a node from a swarm and the target needs to  be  a  swarm
173544              manager
173545
173546              node_id
173547                     The node id from the return of swarm.node_ls
173548
173549              force  Forcefully remove the node/minion from the service
173550
173551              CLI Example:
173552
173553                 salt '*' swarm.remove_node node_id=z4gjbe9rwmqahc2a91snvolm5 force=false
173554
173555       salt.modules.swarm.remove_service(service=<type 'str'>)
173556              Remove Swarm Service
173557
173558              service
173559                     The name of the service
173560
173561              CLI Example:
173562
173563                 salt '*' swarm.remove_service service=Test_Service
173564
173565       salt.modules.swarm.service_create(image=<type     'str'>,    name=<type
173566       'str'>, command=<type  'str'>,  hostname=<type  'str'>,  replicas=<type
173567       'int'>, target_port=<type 'int'>, published_port=<type 'int'>)
173568              Create Docker Swarm Service Create
173569
173570              image  The docker image
173571
173572              name   Is the service name
173573
173574              command
173575                     The docker command to run in the container at launch
173576
173577              hostname
173578                     The hostname of the containers
173579
173580              replicas
173581                     How many replicas you want running in the swarm
173582
173583              target_port
173584                     The target port on the container
173585
173586              published_port
173587                     port thats published on the host/os
173588
173589              CLI Example:
173590
173591                 salt '*' swarm.service_create image=httpd name=Test_Service             command=None hostname=salthttpd replicas=6 target_port=80 published_port=80
173592
173593       salt.modules.swarm.swarm_init(advertise_addr=<type     'str'>,     lis‐
173594       ten_addr=<type 'int'>, force_new_cluster=<type 'bool'>)
173595              Initalize Docker on Minion as a Swarm Manager
173596
173597              advertise_addr
173598                     The ip of the manager
173599
173600              listen_addr
173601                     Listen address used for inter-manager  communication,  as
173602                     well as determining the networking interface used for the
173603                     VXLAN Tunnel Endpoint (VTEP).   This  can  either  be  an
173604                     address/port combination in the form 192.168.1.1:4567, or
173605                     an interface followed by a port number, like eth0:4567
173606
173607              force_new_cluster
173608                     Force a new cluster if True is passed
173609
173610              CLI Example:
173611
173612                 salt '*' swarm.swarm_init advertise_addr='192.168.50.10' listen_addr='0.0.0.0' force_new_cluster=False
173613
173614       salt.modules.swarm.swarm_service_info(service_name=<type 'str'>)
173615              Swarm Service Information
173616
173617              service_name
173618                     The name of the service  that  you  want  information  on
173619                     about the service
173620
173621              CLI Example:
173622
173623                 salt '*' swarm.swarm_service_info service_name=Test_Service
173624
173625       salt.modules.swarm.swarm_tokens()
173626              Get the Docker Swarm Manager or Worker join tokens
173627
173628              CLI Example:
173629
173630                 salt '*' swarm.swarm_tokens
173631
173632       salt.modules.swarm.update_node(availability=<type               'str'>,
173633       node_name=<type 'str'>, role=<type 'str'>, node_id=<type  'str'>,  ver‐
173634       sion=<type 'int'>)
173635              Updates docker swarm nodes/needs to target a manager node/minion
173636
173637              availability
173638                     Drain or Active
173639
173640              node_name
173641                     minion/node
173642
173643              role   role of manager or worker
173644
173645              node_id
173646                     The Id and that can be obtained via swarm.node_ls
173647
173648              version
173649                     Is obtained by swarm.node_ls
173650
173651              CLI Example:
173652
173653                 salt '*' docker_util.update_node availability=drain node_name=minion2             role=worker node_id=3k9x7t8m4pel9c0nqr3iajnzp version=19
173654
173655   salt.modules.swift
173656       Module  for  handling  OpenStack Swift calls Author: Anthony Stanton <‐
173657       anthony.stanton@gmail.com>
173658
173659       Inspired by the S3 and Nova modules
173660
173661       depends
173662
173663              · swiftclient Python module
173664
173665       configuration
173666              This module is not usable until the user, tenant, auth URL,  and
173667              password  or auth_key are specified either in a pillar or in the
173668              minion's config file.  For example:
173669
173670                 keystone.user: admin
173671                 keystone.tenant: admin
173672                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
173673                 keystone.password: verybadpass
173674                 # or
173675                 keystone.auth_key: 203802934809284k2j34lkj2l3kj43k
173676
173677              If configuration for multiple OpenStack  accounts  is  required,
173678              they  can  be  set  up  as different configuration profiles: For
173679              example:
173680
173681                 openstack1:
173682                   keystone.user: admin
173683                   keystone.tenant: admin
173684                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
173685                   keystone.password: verybadpass
173686                   # or
173687                   keystone.auth_key: 203802934809284k2j34lkj2l3kj43k
173688
173689                 openstack2:
173690                   keystone.user: admin
173691                   keystone.tenant: admin
173692                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
173693                   keystone.password: verybadpass
173694                   # or
173695                   keystone.auth_key: 303802934809284k2j34lkj2l3kj43k
173696
173697              With this configuration in place, any of the swift functions can
173698              make  use of a configuration profile by declaring it explicitly.
173699              For example:
173700
173701                 salt '*' swift.get mycontainer myfile /tmp/file profile=openstack1
173702
173703              NOTE: For Rackspace cloud files setting keystone.auth_version  =
173704              1 is recommended.
173705
173706       salt.modules.swift.delete(cont, path=None, profile=None)
173707              Delete a container, or delete an object from a container.
173708
173709              CLI Example to delete a container:
173710
173711                 salt myminion swift.delete mycontainer
173712
173713              CLI Example to delete an object from a container:
173714
173715                 salt myminion swift.delete mycontainer remoteobject
173716
173717       salt.modules.swift.get(cont=None,      path=None,      local_file=None,
173718       return_bin=False, profile=None)
173719              List the contents of a container, or return  an  object  from  a
173720              container. Set return_bin to True in order to retrieve an object
173721              wholesale.  Otherwise,  Salt  will  attempt  to  parse  an   XML
173722              response.
173723
173724              CLI Example to list containers:
173725
173726                 salt myminion swift.get
173727
173728              CLI Example to list the contents of a container:
173729
173730                 salt myminion swift.get mycontainer
173731
173732              CLI Example to return the binary contents of an object:
173733
173734                 salt myminion swift.get mycontainer myfile.png return_bin=True
173735
173736              CLI  Example to save the binary contents of an object to a local
173737              file:
173738
173739                 salt myminion swift.get mycontainer myfile.png local_file=/tmp/myfile.png
173740
173741       salt.modules.swift.head()
173742
173743       salt.modules.swift.put(cont, path=None, local_file=None, profile=None)
173744              Create a new container, or upload an object to a container.
173745
173746              CLI Example to create a container:
173747
173748                 salt myminion swift.put mycontainer
173749
173750              CLI Example to upload an object to a container:
173751
173752                 salt myminion swift.put mycontainer remotepath local_file=/path/to/file
173753
173754   salt.modules.sysbench
173755       The 'sysbench' module is used to analyze the performance  of  the  min‐
173756       ions,  right  from  the  master!  It measures various system parameters
173757       such as CPU, Memory, File I/O, Threads and Mutex.
173758
173759       salt.modules.sysbench.cpu()
173760              Tests for the CPU performance of minions.
173761
173762              CLI Examples:
173763
173764                 salt '*' sysbench.cpu
173765
173766       salt.modules.sysbench.fileio()
173767              This tests for the file read and write operations Various  modes
173768              of operations are
173769
173770              · sequential write
173771
173772              · sequential rewrite
173773
173774              · sequential read
173775
173776              · random read
173777
173778              · random write
173779
173780              · random read and write
173781
173782              The  test  works  with 32 files with each file being 1Gb in size
173783              The test consumes a lot of time. Be patient!
173784
173785              CLI Examples:
173786
173787                 salt '*' sysbench.fileio
173788
173789       salt.modules.sysbench.memory()
173790              This tests the memory for read and write operations.
173791
173792              CLI Examples:
173793
173794                 salt '*' sysbench.memory
173795
173796       salt.modules.sysbench.mutex()
173797              Tests the implementation of mutex
173798
173799              CLI Examples:
173800
173801                 salt '*' sysbench.mutex
173802
173803       salt.modules.sysbench.ping()
173804
173805       salt.modules.sysbench.threads()
173806              This tests the performance of the processor's scheduler
173807
173808              CLI Example:
173809
173810                 salt '*' sysbench.threads
173811
173812   salt.modules.sysfs module
173813       Module for interfacing with SysFS
173814
173815       SEE ALSO:
173816          https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt
173817
173818       New in version 2016.3.0.
173819
173820
173821       salt.modules.sysfs.attr(key, value=None)
173822              Access/write a SysFS attribute.  If the attribute is a  symlink,
173823              it's destination is returned
173824
173825              Returns
173826                     value or bool
173827
173828              CLI example:
173829
173830                        salt '*' sysfs.attr block/sda/queue/logical_block_size
173831
173832       salt.modules.sysfs.interfaces(root)
173833              Generate  a dictionary with all available interfaces relative to
173834              root.  Symlinks are not followed.
173835
173836              CLI example:
173837
173838                        salt '*' sysfs.interfaces block/bcache0/bcache
173839
173840              Output example:
173841
173842                        {
173843                           "r": [
173844                             "state",
173845                             "partial_stripes_expensive",
173846                             "writeback_rate_debug",
173847                             "stripe_size",
173848                             "dirty_data",
173849                             "stats_total/cache_hits",
173850                             "stats_total/cache_bypass_misses",
173851                             "stats_total/bypassed",
173852                             "stats_total/cache_readaheads",
173853                             "stats_total/cache_hit_ratio",
173854                             "stats_total/cache_miss_collisions",
173855                             "stats_total/cache_misses",
173856                             "stats_total/cache_bypass_hits",
173857                           ],
173858                           "rw": [
173859                             "writeback_rate",
173860                             "writeback_rate_update_seconds",
173861                             "cache_mode",
173862                             "writeback_delay",
173863                             "label",
173864                             "writeback_running",
173865                             "writeback_metadata",
173866                             "running",
173867                             "writeback_rate_p_term_inverse",
173868                             "sequential_cutoff",
173869                             "writeback_percent",
173870                             "writeback_rate_d_term",
173871                             "readahead"
173872                           ],
173873                           "w": [
173874                             "stop",
173875                             "clear_stats",
173876                             "attach",
173877                             "detach"
173878                           ]
173879                        }
173880
173881              NOTE:
173882
173883                 · 'r' interfaces are read-only
173884
173885                 · 'w' interfaces are write-only (e.g. actions)
173886
173887                 · 'rw' are interfaces that can both be read or written
173888
173889       salt.modules.sysfs.read(key, root=u'')
173890              Read from SysFS
173891
173892              Parameters
173893                     key -- file or path in SysFS; if key is a list then  root
173894                     will be prefixed on each key
173895
173896              Returns
173897                     the full (tree of) SysFS attributes under key
173898
173899              CLI example:
173900
173901                        salt '*' sysfs.read class/net/em1/statistics
173902
173903       salt.modules.sysfs.target(key, full=True)
173904              Return the basename of a SysFS key path
173905
173906              Parameters
173907
173908                     · key -- the location to resolve within SysFS
173909
173910                     · full -- full path instead of basename
173911
173912              Returns
173913                     fullpath or basename of path
173914
173915              CLI example:
173916
173917                        salt '*' sysfs.read class/ttyS0
173918
173919       salt.modules.sysfs.write(key, value)
173920              Write a SysFS attribute/action
173921
173922              CLI example:
173923
173924                        salt '*' sysfs.write devices/system/cpu/cpu0/cpufreq/scaling_governor 'performance'
173925
173926   salt.modules.syslog_ng
173927       Module for getting information about syslog-ng
173928
173929       maintainer
173930              Tibor Benke <btibi@sch.bme.hu>
173931
173932       maturity
173933              new
173934
173935       depends
173936              cmd
173937
173938       platform
173939              all
173940
173941       This  module  is  capable  of  managing  syslog-ng instances which were
173942       installed via a package manager or from source. Users can use a  direc‐
173943       tory  as  a parameter in the case of most functions, which contains the
173944       syslog-ng and syslog-ng-ctl binaries.
173945
173946       Syslog-ng can be installed via a package manager or from source. In the
173947       latter case, the syslog-ng and syslog-ng-ctl binaries are not available
173948       from the PATH, so users should set location of the sbin directory  with
173949       syslog_ng.set_binary_path.
173950
173951       Similarly,  users  can  specify  the location of the configuration file
173952       with syslog_ng.set_config_file, then the module will use it. If  it  is
173953       not set, syslog-ng uses the default configuration file.
173954
173955       class salt.modules.syslog_ng.Argument(value=u'')
173956              A  TypedParameterValue  has  one  or more Arguments. For example
173957              this can be the value of key_file.
173958
173959              Does not need examples.
173960
173961              build()
173962
173963       class   salt.modules.syslog_ng.Buildable(iterable,    join_body_on=u'',
173964       append_extra_newline=True)
173965              Base class of most classes, which have a build method.
173966
173967              It contains a common build function.
173968
173969              Does not need examples.
173970
173971              build()
173972                     Builds the textual representation of the whole configura‐
173973                     tion object with it's children.
173974
173975              build_body()
173976                     Builds the body of a syslog-ng configuration object.
173977
173978              build_header()
173979                     Builds the header of a syslog-ng configuration object.
173980
173981              build_tail()
173982                     Builds the tail of a syslog-ng configuration object.
173983
173984       class salt.modules.syslog_ng.GivenStatement(value, add_newline=True)
173985
173986              This statement returns a string without modification. It can  be
173987              used to
173988                     use existing configuration snippets.
173989
173990              Does not need examples.
173991
173992              build()
173993
173994       class salt.modules.syslog_ng.NamedStatement(type, id=u'', options=None)
173995              It  represents a configuration statement, which has a name, e.g.
173996              a source.
173997
173998              Does not need examples.
173999
174000       class salt.modules.syslog_ng.Option(type=u'', params=None)
174001              A Statement class contains Option instances.
174002
174003              An instance of Option can represent a file(), tcp(), udp(), etc.
174004              option.
174005
174006              Does not need examples.
174007
174008              add_parameter(param)
174009
174010              build()
174011
174012       class salt.modules.syslog_ng.Parameter(iterable=None, join_body_on=u'')
174013              An Option has one or more Parameter instances.
174014
174015              Does not need examples.
174016
174017       class              salt.modules.syslog_ng.ParameterValue(iterable=None,
174018       join_body_on=u'')
174019              A TypedParameter can have one or more values.
174020
174021              Does not need examples.
174022
174023       class salt.modules.syslog_ng.SimpleParameter(value=u'')
174024              A Parameter is a SimpleParameter, if it's just  a  simple  type,
174025              like a string.
174026
174027              For example:
174028
174029                 destination d_file {
174030                     file(
174031                         '/var/log/messages'
174032                     );
174033                 };
174034
174035              /var/log/messages is a SimpleParameter.
174036
174037              Does not need examples.
174038
174039              build()
174040
174041       class salt.modules.syslog_ng.SimpleParameterValue(value=u'')
174042              A  ParameterValuem which holds a simple type, like a string or a
174043              number.
174044
174045              For example in ip(127.0.0.1)  127.0.0.1  is  a  SimpleParameter‐
174046              Value.
174047
174048              Does not need examples.
174049
174050              build()
174051
174052       class   salt.modules.syslog_ng.Statement(type,   id=u'',  options=None,
174053       has_name=True)
174054              It represents a syslog-ng configuration statement, e.g.  source,
174055              destination, filter.
174056
174057              Does not need examples.
174058
174059              add_child(option)
174060
174061              build_header()
174062
174063              build_tail()
174064
174065       exception salt.modules.syslog_ng.SyslogNgError
174066
174067       class salt.modules.syslog_ng.TypedParameter(type=u'', values=None)
174068              A Parameter, which has a type:
174069
174070                 destination d_tcp {
174071                     tcp(
174072                         ip(127.0.0.1)
174073                     );
174074                 };
174075
174076              ip(127.0.0.1) is a TypedParameter.
174077
174078              Does not need examples.
174079
174080              add_value(value)
174081
174082              build()
174083
174084       class     salt.modules.syslog_ng.TypedParameterValue(type=u'',    argu‐
174085       ments=None)
174086              We have to go deeper...
174087
174088              A TypedParameter can have a 'parameter', which also have a type.
174089              For example key_file and cert_file:
174090
174091                 source demo_tls_source {
174092                     tcp(
174093                         ip(0.0.0.0)
174094                         port(1999)
174095                         tls(
174096                             key_file('/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key')
174097                             cert_file('/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert')
174098                         )
174099                     );
174100                 };
174101
174102              Does not need examples.
174103
174104              add_argument(arg)
174105
174106              build()
174107
174108       class salt.modules.syslog_ng.UnnamedStatement(type, options=None)
174109              It  represents  a  configuration statement, which doesn't have a
174110              name, e.g. a log path.
174111
174112              Does not need examples.
174113
174114       salt.modules.syslog_ng.config(name, config, write=True)
174115              Builds syslog-ng configuration. This function is intended to  be
174116              used from the state module, users should not use it directly!
174117
174118              name  :  the  id  of  the  Salt  document or it is the format of
174119              <statement name>.id config : the parsed YAML  code  write  :  if
174120              True,  it writes  the config into the configuration file, other‐
174121              wise just returns it
174122
174123              CLI Example:
174124
174125                 salt '*' syslog_ng.config name='s_local' config="[{'tcp':[{'ip':'127.0.0.1'},{'port':1233}]}]"
174126
174127       salt.modules.syslog_ng.config_test(syslog_ng_sbin_dir=None,        cfg‐
174128       file=None)
174129              Runs  syntax  check  against  cfgfile.  If syslog_ng_sbin_dir is
174130              specified, it is added to the PATH during the test.
174131
174132              CLI Example:
174133
174134                 salt '*' syslog_ng.config_test
174135                 salt '*' syslog_ng.config_test /home/user/install/syslog-ng/sbin
174136                 salt '*' syslog_ng.config_test /home/user/install/syslog-ng/sbin /etc/syslog-ng/syslog-ng.conf
174137
174138       salt.modules.syslog_ng.get_config_file()
174139              Returns  the  configuration  directory,  which   contains   sys‐
174140              log-ng.conf.
174141
174142              CLI Example:
174143
174144                 salt '*' syslog_ng.get_config_file
174145
174146       salt.modules.syslog_ng.modules(syslog_ng_sbin_dir=None)
174147              Returns  the  available modules. If syslog_ng_sbin_dir is speci‐
174148              fied, it is added to the PATH during the execution of  the  com‐
174149              mand syslog-ng.
174150
174151              CLI Example:
174152
174153                 salt '*' syslog_ng.modules
174154                 salt '*' syslog_ng.modules /home/user/install/syslog-ng/sbin
174155
174156       salt.modules.syslog_ng.reload_(name)
174157              Reloads  syslog-ng.  This  function  is intended to be used from
174158              states.
174159
174160              If syslog_ng.set_config_file, is called  before,  this  function
174161              will use the set binary path.
174162
174163              CLI Example:
174164
174165                 salt '*' syslog_ng.reload
174166
174167       salt.modules.syslog_ng.set_binary_path(name)
174168              Sets  the  path,  where  the syslog-ng binary can be found. This
174169              function is intended to be used from states.
174170
174171              If syslog-ng is installed via a  package  manager,  users  don't
174172              need to use this function.
174173
174174              CLI Example:
174175
174176                 salt '*' syslog_ng.set_binary_path name=/usr/sbin
174177
174178       salt.modules.syslog_ng.set_config_file(name)
174179              Sets  the  configuration's name. This function is intended to be
174180              used from states.
174181
174182              CLI Example:
174183
174184                 salt '*' syslog_ng.set_config_file name=/etc/syslog-ng
174185
174186       salt.modules.syslog_ng.set_parameters(version=None,   binary_path=None,
174187       config_file=None, *args, **kwargs)
174188              Sets variables.
174189
174190              CLI Example:
174191
174192                 salt '*' syslog_ng.set_parameters version='3.6'
174193                 salt '*' syslog_ng.set_parameters  binary_path=/home/user/install/syslog-ng/sbin config_file=/home/user/install/syslog-ng/etc/syslog-ng.conf
174194
174195       salt.modules.syslog_ng.start(name=None,      user=None,     group=None,
174196       chroot=None, caps=None, no_caps=False, pidfile=None, enable_core=False,
174197       fd_limit=None,  verbose=False, debug=False, trace=False, yydebug=False,
174198       persist_file=None, control=None, worker_threads=None)
174199              Ensures, that syslog-ng is started  via  the  given  parameters.
174200              This function is intended to be used from the state module.
174201
174202              Users  shouldn't  use  this  function,  if the service module is
174203              available on  their  system.  If  syslog_ng.set_config_file,  is
174204              called before, this function will use the set binary path.
174205
174206              CLI Example:
174207
174208                 salt '*' syslog_ng.start
174209
174210       salt.modules.syslog_ng.stats(syslog_ng_sbin_dir=None)
174211              Returns  statistics from the running syslog-ng instance. If sys‐
174212              log_ng_sbin_dir is specified, it is added to the PATH during the
174213              execution of the command syslog-ng-ctl.
174214
174215              CLI Example:
174216
174217                 salt '*' syslog_ng.stats
174218                 salt '*' syslog_ng.stats /home/user/install/syslog-ng/sbin
174219
174220       salt.modules.syslog_ng.stop(name=None)
174221              Kills  syslog-ng.  This function is intended to be used from the
174222              state module.
174223
174224              Users shouldn't use this function,  if  the  service  module  is
174225              available  on  their  system.   If  syslog_ng.set_config_file is
174226              called before, this function will use the set binary path.
174227
174228              CLI Example:
174229
174230                 salt '*' syslog_ng.stop
174231
174232       salt.modules.syslog_ng.version(syslog_ng_sbin_dir=None)
174233              Returns  the  version  of  the  installed  syslog-ng.  If   sys‐
174234              log_ng_sbin_dir is specified, it is added to the PATH during the
174235              execution of the command syslog-ng.
174236
174237              CLI Example:
174238
174239                 salt '*' syslog_ng.version
174240                 salt '*' syslog_ng.version /home/user/install/syslog-ng/sbin
174241
174242       salt.modules.syslog_ng.write_config(config, newlines=2)
174243              Writes the given parameter config into  the  config  file.  This
174244              function is intended to be used from states.
174245
174246              If  syslog_ng.set_config_file,  is  called before, this function
174247              will use the set config file.
174248
174249              CLI Example:
174250
174251                 salt '*' syslog_ng.write_config config='# comment'
174252
174253       salt.modules.syslog_ng.write_version(name)
174254              Removes the previous configuration file, then creates a new  one
174255              and  writes  the name line. This function is intended to be used
174256              from states.
174257
174258              If syslog_ng.set_config_file, is called  before,  this  function
174259              will use the set config file.
174260
174261              CLI Example:
174262
174263                 salt '*' syslog_ng.write_version name="3.6"
174264
174265   salt.modules.sysmod
174266       The  sys  module  provides information about the available functions on
174267       the minion
174268
174269       salt.modules.sysmod.argspec(module=u'')
174270              Return the argument specification of functions in Salt execution
174271              modules.
174272
174273              CLI Example:
174274
174275                 salt '*' sys.argspec pkg.install
174276                 salt '*' sys.argspec sys
174277                 salt '*' sys.argspec
174278
174279              Module names can be specified as globs.
174280
174281              New in version 2015.5.0.
174282
174283
174284                 salt '*' sys.argspec 'pkg.*'
174285
174286       salt.modules.sysmod.doc(*args)
174287              Return  the  docstrings  for  all modules. Optionally, specify a
174288              module or a function to narrow the selection.
174289
174290              The strings are aggregated into a single document on the  master
174291              for easy reading.
174292
174293              Multiple modules/functions can be specified.
174294
174295              CLI Example:
174296
174297                 salt '*' sys.doc
174298                 salt '*' sys.doc sys
174299                 salt '*' sys.doc sys.doc
174300                 salt '*' sys.doc network.traceroute user.info
174301
174302              Modules can be specified as globs.
174303
174304              New in version 2015.5.0.
174305
174306
174307                 salt '*' sys.doc 'sys.*'
174308                 salt '*' sys.doc 'sys.list_*'
174309
174310       salt.modules.sysmod.list_functions(*args, **kwargs)
174311              List the functions for all modules. Optionally, specify a module
174312              or modules from which to list.
174313
174314              CLI Example:
174315
174316                 salt '*' sys.list_functions
174317                 salt '*' sys.list_functions sys
174318                 salt '*' sys.list_functions sys user
174319
174320              Function names can be specified as globs.
174321
174322              New in version 2015.5.0.
174323
174324
174325                 salt '*' sys.list_functions 'sys.list_*'
174326
174327              New in version ?.
174328
174329
174330                 salt '*' sys.list_functions 'module.specific_function'
174331
174332       salt.modules.sysmod.list_modules(*args)
174333              List the modules loaded on the minion
174334
174335              New in version 2015.5.0.
174336
174337
174338              CLI Example:
174339
174340                 salt '*' sys.list_modules
174341
174342              Module names can be specified as globs.
174343
174344                 salt '*' sys.list_modules 's*'
174345
174346       salt.modules.sysmod.list_renderers(*args)
174347              List the renderers loaded on the minion
174348
174349              New in version 2015.5.0.
174350
174351
174352              CLI Example:
174353
174354                 salt '*' sys.list_renderers
174355
174356              Render names can be specified as globs.
174357
174358                 salt '*' sys.list_renderers 'yaml*'
174359
174360       salt.modules.sysmod.list_returner_functions(*args, **kwargs)
174361              List the functions for all returner modules. Optionally, specify
174362              a returner module or modules from which to list.
174363
174364              New in version 2014.7.0.
174365
174366
174367              CLI Example:
174368
174369                 salt '*' sys.list_returner_functions
174370                 salt '*' sys.list_returner_functions mysql
174371                 salt '*' sys.list_returner_functions mysql etcd
174372
174373              Returner names can be specified as globs.
174374
174375              New in version 2015.5.0.
174376
174377
174378                 salt '*' sys.list_returner_functions 'sqlite3.get_*'
174379
174380       salt.modules.sysmod.list_returners(*args)
174381              List the returners loaded on the minion
174382
174383              New in version 2014.7.0.
174384
174385
174386              CLI Example:
174387
174388                 salt '*' sys.list_returners
174389
174390              Returner names can be specified as globs.
174391
174392              New in version 2015.5.0.
174393
174394
174395                 salt '*' sys.list_returners 's*'
174396
174397       salt.modules.sysmod.list_runner_functions(*args, **kwargs)
174398              List the functions for all runner modules. Optionally, specify a
174399              runner module or modules from which to list.
174400
174401              New in version 2014.7.0.
174402
174403
174404              CLI Example:
174405
174406                 salt '*' sys.list_runner_functions
174407                 salt '*' sys.list_runner_functions state
174408                 salt '*' sys.list_runner_functions state virt
174409
174410              Runner function names can be specified as globs.
174411
174412              New in version 2015.5.0.
174413
174414
174415                 salt '*' sys.list_runner_functions 'state.*' 'virt.*'
174416
174417       salt.modules.sysmod.list_runners(*args)
174418              List the runners loaded on the minion
174419
174420              New in version 2014.7.0.
174421
174422
174423              CLI Example:
174424
174425                 salt '*' sys.list_runners
174426
174427              Runner names can be specified as globs.
174428
174429              New in version 2015.5.0.
174430
174431
174432                 salt '*' sys.list_runners 'm*'
174433
174434       salt.modules.sysmod.list_state_functions(*args, **kwargs)
174435              List the functions for all state modules. Optionally, specify  a
174436              state module or modules from which to list.
174437
174438              New in version 2014.7.0.
174439
174440
174441              CLI Example:
174442
174443                 salt '*' sys.list_state_functions
174444                 salt '*' sys.list_state_functions file
174445                 salt '*' sys.list_state_functions pkg user
174446
174447              State function names can be specified as globs.
174448
174449              New in version 2015.5.0.
174450
174451
174452                 salt '*' sys.list_state_functions 'file.*'
174453                 salt '*' sys.list_state_functions 'file.s*'
174454
174455              New in version ?.
174456
174457
174458                 salt '*' sys.list_state_functions 'module.specific_function'
174459
174460       salt.modules.sysmod.list_state_modules(*args)
174461              List the modules loaded on the minion
174462
174463              New in version 2014.7.0.
174464
174465
174466              CLI Example:
174467
174468                 salt '*' sys.list_state_modules
174469
174470              State module names can be specified as globs.
174471
174472              New in version 2015.5.0.
174473
174474
174475                 salt '*' sys.list_state_modules 'mysql_*'
174476
174477       salt.modules.sysmod.reload_modules()
174478              Tell the minion to reload the execution modules
174479
174480              CLI Example:
174481
174482                 salt '*' sys.reload_modules
174483
174484       salt.modules.sysmod.renderer_doc(*args)
174485              Return  the  docstrings for all renderers. Optionally, specify a
174486              renderer or a function to narrow the selection.
174487
174488              The strings are aggregated into a single document on the  master
174489              for easy reading.
174490
174491              Multiple renderers can be specified.
174492
174493              New in version 2015.5.0.
174494
174495
174496              CLI Example:
174497
174498                 salt '*' sys.renderer_doc
174499                 salt '*' sys.renderer_doc cheetah
174500                 salt '*' sys.renderer_doc jinja json
174501
174502              Renderer names can be specified as globs.
174503
174504                 salt '*' sys.renderer_doc 'c*' 'j*'
174505
174506       salt.modules.sysmod.returner_argspec(module=u'')
174507              Return  the argument specification of functions in Salt returner
174508              modules.
174509
174510              New in version 2015.5.0.
174511
174512
174513              CLI Example:
174514
174515                 salt '*' sys.returner_argspec xmpp
174516                 salt '*' sys.returner_argspec xmpp smtp
174517                 salt '*' sys.returner_argspec
174518
174519              Returner names can be specified as globs.
174520
174521                 salt '*' sys.returner_argspec 'sqlite3.*'
174522
174523       salt.modules.sysmod.returner_doc(*args)
174524              Return the docstrings for all returners. Optionally,  specify  a
174525              returner or a function to narrow the selection.
174526
174527              The  strings are aggregated into a single document on the master
174528              for easy reading.
174529
174530              Multiple returners/functions can be specified.
174531
174532              New in version 2014.7.0.
174533
174534
174535              CLI Example:
174536
174537                 salt '*' sys.returner_doc
174538                 salt '*' sys.returner_doc sqlite3
174539                 salt '*' sys.returner_doc sqlite3.get_fun
174540                 salt '*' sys.returner_doc sqlite3.get_fun etcd.get_fun
174541
174542              Returner names can be specified as globs.
174543
174544              New in version 2015.5.0.
174545
174546
174547                 salt '*' sys.returner_doc 'sqlite3.get_*'
174548
174549       salt.modules.sysmod.runner_argspec(module=u'')
174550              Return the argument specification of functions  in  Salt  runner
174551              modules.
174552
174553              New in version 2015.5.0.
174554
174555
174556              CLI Example:
174557
174558                 salt '*' sys.runner_argspec state
174559                 salt '*' sys.runner_argspec http
174560                 salt '*' sys.runner_argspec
174561
174562              Runner names can be specified as globs.
174563
174564                 salt '*' sys.runner_argspec 'winrepo.*'
174565
174566       salt.modules.sysmod.runner_doc(*args)
174567              Return  the  docstrings  for  all runners. Optionally, specify a
174568              runner or a function to narrow the selection.
174569
174570              The strings are aggregated into a single document on the  master
174571              for easy reading.
174572
174573              Multiple runners/functions can be specified.
174574
174575              New in version 2014.7.0.
174576
174577
174578              CLI Example:
174579
174580                 salt '*' sys.runner_doc
174581                 salt '*' sys.runner_doc cache
174582                 salt '*' sys.runner_doc cache.grains
174583                 salt '*' sys.runner_doc cache.grains mine.get
174584
174585              Runner names can be specified as globs.
174586
174587              New in version 2015.5.0.
174588
174589
174590                 salt '*' sys.runner_doc 'cache.clear_*'
174591
174592       salt.modules.sysmod.state_argspec(module=u'')
174593              Return  the  argument  specification  of functions in Salt state
174594              modules.
174595
174596              New in version 2015.5.0.
174597
174598
174599              CLI Example:
174600
174601                 salt '*' sys.state_argspec pkg.installed
174602                 salt '*' sys.state_argspec file
174603                 salt '*' sys.state_argspec
174604
174605              State names can be specified as globs.
174606
174607                 salt '*' sys.state_argspec 'pkg.*'
174608
174609       salt.modules.sysmod.state_doc(*args)
174610              Return the docstrings for  all  states.  Optionally,  specify  a
174611              state or a function to narrow the selection.
174612
174613              The  strings are aggregated into a single document on the master
174614              for easy reading.
174615
174616              Multiple states/functions can be specified.
174617
174618              New in version 2014.7.0.
174619
174620
174621              CLI Example:
174622
174623                 salt '*' sys.state_doc
174624                 salt '*' sys.state_doc service
174625                 salt '*' sys.state_doc service.running
174626                 salt '*' sys.state_doc service.running ipables.append
174627
174628              State names can be specified as globs.
174629
174630              New in version 2015.5.0.
174631
174632
174633                 salt '*' sys.state_doc 'service.*' 'iptables.*'
174634
174635       salt.modules.sysmod.state_schema(module=u'')
174636              Return a JSON Schema for the given state function(s)
174637
174638              New in version 2016.3.0.
174639
174640
174641              CLI Example:
174642
174643                 salt '*' sys.state_schema
174644                 salt '*' sys.state_schema pkg.installed
174645
174646   salt.modules.sysrc
174647       sysrc module for FreeBSD
174648
174649       salt.modules.sysrc.get(**kwargs)
174650              Return system rc configuration variables
174651
174652              CLI Example:
174653
174654                     salt '*' sysrc.get includeDefaults=True
174655
174656       salt.modules.sysrc.remove(name, **kwargs)
174657              Remove system rc configuration variables
174658
174659              CLI Example:
174660
174661                     salt '*' sysrc.remove name=sshd_enable
174662
174663       salt.modules.sysrc.set_(name, value, **kwargs)
174664              Set system rc configuration variables
174665
174666              CLI Example:
174667
174668                     salt '*' sysrc.set name=sshd_flags value="-p 2222"
174669
174670   salt.modules.system
174671       Support for reboot, shutdown, etc on POSIX-like systems.
174672
174673       NOTE:
174674          If you have configured a wrapper such as  molly-guard  to  intercept
174675          interactive  shutdown  commands,  be aware that calling system.halt,
174676          system.poweroff, system.reboot, and system.shutdown  with  salt-call
174677          will  hang  indefinitely  while  the  wrapper  script waits for user
174678          input. Calling them with salt will work as expected.
174679
174680       salt.modules.system.get_computer_desc()
174681              Get PRETTY_HOSTNAME value stored in  /etc/machine-info  If  this
174682              file doesn't exist or the variable doesn't exist return False.
174683
174684              Returns
174685                     Value of PRETTY_HOSTNAME if this does not exist False.
174686
174687              Return type
174688                     str
174689
174690              CLI Example:
174691
174692                 salt '*' system.get_computer_desc
174693
174694       salt.modules.system.get_computer_name()
174695              Get hostname.
174696
174697              CLI Example:
174698
174699                 salt '*' network.get_hostname
174700
174701       salt.modules.system.get_reboot_required_witnessed()
174702              Determine  if  at  any  time during the current boot session the
174703              salt minion witnessed an  event  indicating  that  a  reboot  is
174704              required.
174705
174706              Returns
174707                     True  if the a reboot request was witnessed, False other‐
174708                     wise
174709
174710              Return type
174711                     bool
174712
174713              CLI Example:
174714
174715                 salt '*' system.get_reboot_required_witnessed
174716
174717       salt.modules.system.get_system_date(utc_offset=None)
174718              Get the system date
174719
174720              Parameters
174721                     utc_offset (str) -- The utc offset  in  4  digit  (+0600)
174722                     format with an optional sign (+/-).  Will default to None
174723                     which will use the local timezone. To set the time  based
174724                     off  of  UTC use "'+0000'". Note: if being passed through
174725                     the command line will need to be quoted  twice  to  allow
174726                     negative offsets.
174727
174728              Returns
174729                     Returns the system date.
174730
174731              Return type
174732                     str
174733
174734              CLI Example:
174735
174736                 salt '*' system.get_system_date
174737
174738       salt.modules.system.get_system_date_time(utc_offset=None)
174739              Get the system date/time.
174740
174741              Parameters
174742                     utc_offset  (str)  --  The  utc offset in 4 digit (+0600)
174743                     format with an optional sign (+/-).  Will default to None
174744                     which  will use the local timezone. To set the time based
174745                     off of UTC use "'+0000'". Note: if being  passed  through
174746                     the  command  line  will need to be quoted twice to allow
174747                     negative offsets.
174748
174749              Returns
174750                     Returns the system time in YYYY-MM-DD hh:mm:ss format.
174751
174752              Return type
174753                     str
174754
174755              CLI Example:
174756
174757                 salt '*' system.get_system_date_time "'-0500'"
174758
174759       salt.modules.system.get_system_time(utc_offset=None)
174760              Get the system time.
174761
174762              Parameters
174763                     utc_offset (str) -- The utc offset  in  4  digit  (+0600)
174764                     format with an optional sign (+/-).  Will default to None
174765                     which will use the local timezone. To set the time  based
174766                     off  of  UTC use "'+0000'". Note: if being passed through
174767                     the command line will need to be quoted  twice  to  allow
174768                     negative offsets.
174769
174770              Returns
174771                     Returns the system time in HH:MM:SS AM/PM format.
174772
174773              Return type
174774                     str
174775
174776              CLI Example:
174777
174778                 salt '*' system.get_system_time
174779
174780       salt.modules.system.halt()
174781              Halt a running system
174782
174783              CLI Example:
174784
174785                 salt '*' system.halt
174786
174787       salt.modules.system.has_settable_hwclock()
174788              Returns True if the system has a hardware clock capable of being
174789              set from software.
174790
174791              CLI Example:
174792
174793              salt '*' system.has_settable_hwclock
174794
174795       salt.modules.system.init(runlevel)
174796              Change the system runlevel on sysV compatible systems
174797
174798              CLI Example:
174799
174800                 salt '*' system.init 3
174801
174802       salt.modules.system.poweroff()
174803              Poweroff a running system
174804
174805              CLI Example:
174806
174807                 salt '*' system.poweroff
174808
174809       salt.modules.system.reboot(at_time=None)
174810              Reboot the system
174811
174812              at_time
174813                     The wait time  in  minutes  before  the  system  will  be
174814                     rebooted.
174815
174816              CLI Example:
174817
174818                 salt '*' system.reboot
174819
174820       salt.modules.system.set_computer_desc(desc)
174821              Set  PRETTY_HOSTNAME value stored in /etc/machine-info This will
174822              create the file if it does not exist. If it is unable to  create
174823              or modify this file returns False.
174824
174825              Parameters
174826                     desc (str) -- The computer description
174827
174828              Returns
174829                     False on failure. True if successful.
174830
174831              CLI Example:
174832
174833                 salt '*' system.set_computer_desc "Michael's laptop"
174834
174835       salt.modules.system.set_computer_name(hostname)
174836              Modify hostname.
174837
174838              CLI Example:
174839
174840                 salt '*' system.set_computer_name master.saltstack.com
174841
174842       salt.modules.system.set_reboot_required_witnessed()
174843              This  function is used to remember that an event indicating that
174844              a reboot is required was witnessed. This function  writes  to  a
174845              temporary filesystem so the event gets cleared upon reboot.
174846
174847              Returns
174848                     True if successful, otherwise False
174849
174850              Return type
174851                     bool
174852
174853                 salt '*' system.set_reboot_required_witnessed
174854
174855       salt.modules.system.set_system_date(newdate, utc_offset=None)
174856              Set the system date. Use <mm-dd-yy> format for the date.
174857
174858              Parameters
174859                     newdate (str) --
174860
174861                     The date to set. Can be any of the following formats:
174862
174863                     · YYYY-MM-DD
174864
174865                     · MM-DD-YYYY
174866
174867                     · MM-DD-YY
174868
174869                     · MM/DD/YYYY
174870
174871                     · MM/DD/YY
174872
174873                     · YYYY/MM/DD
174874
174875
174876              CLI Example:
174877
174878                 salt '*' system.set_system_date '03-28-13'
174879
174880       salt.modules.system.set_system_date_time(years=None,       months=None,
174881       days=None, hours=None, minutes=None, seconds=None, utc_offset=None)
174882              Set the system date and time. Each argument is an element of the
174883              date, but not required. If an element is not passed, the current
174884              system value for that element will be used. For example, if  you
174885              don't pass the year, the current system year will be used. (Used
174886              by set_system_date and set_system_time)
174887
174888              Updates hardware clock, if  present,  in  addition  to  software
174889              (kernel) clock.
174890
174891              Parameters
174892
174893                     · years (int) -- Years digit, ie: 2015
174894
174895                     · months (int) -- Months digit: 1 - 12
174896
174897                     · days (int) -- Days digit: 1 - 31
174898
174899                     · hours (int) -- Hours digit: 0 - 23
174900
174901                     · minutes (int) -- Minutes digit: 0 - 59
174902
174903                     · seconds (int) -- Seconds digit: 0 - 59
174904
174905                     · utc_offset  (str)  -- The utc offset in 4 digit (+0600)
174906                       format with an optional sign (+/-).   Will  default  to
174907                       None which will use the local timezone. To set the time
174908                       based off of UTC use "'+0000'". Note: if  being  passed
174909                       through  the  command line will need to be quoted twice
174910                       to allow negative offsets.
174911
174912              Returns
174913                     True if successful. Otherwise False.
174914
174915              Return type
174916                     bool
174917
174918              CLI Example:
174919
174920                 salt '*' system.set_system_date_time 2015 5 12 11 37 53 "'-0500'"
174921
174922       salt.modules.system.set_system_time(newtime, utc_offset=None)
174923              Set the system time.
174924
174925              Parameters
174926
174927                     · newtime (str) --
174928
174929                       The time to set. Can be any of the  following  formats.
174930                       -  HH:MM:SS  AM/PM - HH:MM AM/PM - HH:MM:SS (24 hour) -
174931                       HH:MM (24 hour)
174932
174933                       Note that the  salt  command  line  parser  parses  the
174934                       date/time  before we obtain the argument (preventing us
174935                       from doing utc) Therefore the argument must  be  passed
174936                       in as a string.  Meaning you may have to quote the text
174937                       twice from the command line.
174938
174939
174940                     · utc_offset (str) -- The utc offset in 4  digit  (+0600)
174941                       format  with  an  optional sign (+/-).  Will default to
174942                       None which will use the local timezone. To set the time
174943                       based  off  of UTC use "'+0000'". Note: if being passed
174944                       through the command line will need to be  quoted  twice
174945                       to allow negative offsets.
174946
174947              Returns
174948                     Returns True if successful. Otherwise False.
174949
174950              Return type
174951                     bool
174952
174953              CLI Example:
174954
174955                 salt '*' system.set_system_time "'11:20'"
174956
174957       salt.modules.system.shutdown(at_time=None)
174958              Shutdown a running system
174959
174960              at_time
174961                     The  wait time in minutes before the system will be shut‐
174962                     down.
174963
174964              CLI Example:
174965
174966                 salt '*' system.shutdown 5
174967
174968   salt.modules.system_profiler
174969       System Profiler Module
174970
174971       Interface with macOS's command-line  System  Profiler  utility  to  get
174972       information about package receipts and installed applications.
174973
174974       New in version 2015.5.0.
174975
174976
174977       salt.modules.system_profiler.applications()
174978              Return  the  results  of  a call to system_profiler -xml -detail
174979              full SPApplicationsDataType as a dictionary.  Top-level keys  of
174980              the  dictionary  are  the names of each set of install receipts,
174981              since there can be multiple receipts with the same  name.   Con‐
174982              tents of each key are a list of dictionaries.
174983
174984              Note that this can take a long time depending on how many appli‐
174985              cations are installed on the target Mac.
174986
174987              CLI Example:
174988
174989                 salt '*' systemprofiler.applications
174990
174991       salt.modules.system_profiler.receipts()
174992              Return the results of a call  to  system_profiler  -xml  -detail
174993              full  SPInstallHistoryDataType  as a dictionary.  Top-level keys
174994              of the dictionary are the names of each set of install receipts,
174995              since  there  can be multiple receipts with the same name.  Con‐
174996              tents of each key are a list of dictionaries.
174997
174998              CLI Example:
174999
175000                 salt '*' systemprofiler.receipts
175001
175002   salt.modules.systemd_service
175003       Provides the service module for systemd
175004
175005       New in version 0.10.0.
175006
175007
175008       IMPORTANT:
175009          If you feel that Salt should be using this module to manage services
175010          on  a  minion, and it is using a different module (or gives an error
175011          similar to 'service.start' is not available), see here.
175012
175013       salt.modules.systemd_service.available(name)
175014              New in version 0.10.4.
175015
175016
175017              Check that the given service is available  taking  into  account
175018              template units.
175019
175020              CLI Example:
175021
175022                 salt '*' service.available sshd
175023
175024       salt.modules.systemd_service.disable(name,  no_block=False,  root=None,
175025       **kwargs)
175026              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175027              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175028              mands run by this function from the salt-minion daemon's control
175029              group. This is done to avoid a race condition in cases where the
175030              salt-minion service is restarted while a service is being  modi‐
175031              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175032              setting a config option called systemd.scope, with  a  value  of
175033              False (no quotes).
175034
175035
175036              Disable the named service to not start when the system boots
175037
175038              no_block
175039                     False Set to True to start the service using --no-block.
175040
175041                     New in version 2017.7.0.
175042
175043
175044              root   Enable/disable/mask  unit  files  in  the  specified root
175045                     directory
175046
175047              CLI Example:
175048
175049                 salt '*' service.disable <service name>
175050
175051       salt.modules.systemd_service.disabled(name, root=None)
175052              Return if the named service is disabled from starting on boot
175053
175054              root   Enable/disable/mask unit  files  in  the  specified  root
175055                     directory
175056
175057              CLI Example:
175058
175059                 salt '*' service.disabled <service name>
175060
175061       salt.modules.systemd_service.enable(name, no_block=False, unmask=False,
175062       unmask_runtime=False, root=None, **kwargs)
175063              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175064              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175065              mands run by this function from the salt-minion daemon's control
175066              group. This is done to avoid a race condition in cases where the
175067              salt-minion service is restarted while a service is being  modi‐
175068              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175069              setting a config option called systemd.scope, with  a  value  of
175070              False (no quotes).
175071
175072
175073              Enable the named service to start when the system boots
175074
175075              no_block
175076                     False Set to True to start the service using --no-block.
175077
175078                     New in version 2017.7.0.
175079
175080
175081              unmask False  Set  to  True  to remove an indefinite mask before
175082                     attempting to enable the service.
175083
175084                     New in version 2017.7.0: In previous releases, Salt would
175085                     simply unmask a service before enabling. This behavior is
175086                     no longer the default.
175087
175088
175089              unmask_runtime
175090                     False Set  to  True  to  remove  a  runtime  mask  before
175091                     attempting to enable the service.
175092
175093                     New in version 2017.7.0: In previous releases, Salt would
175094                     simply unmask a service before enabling. This behavior is
175095                     no longer the default.
175096
175097
175098              root   Enable/disable/mask  unit  files  in  the  specified root
175099                     directory
175100
175101              CLI Example:
175102
175103                 salt '*' service.enable <service name>
175104
175105       salt.modules.systemd_service.enabled(name, root=None, **kwargs)
175106              Return if the named service is enabled to start on boot
175107
175108              root   Enable/disable/mask unit  files  in  the  specified  root
175109                     directory
175110
175111              CLI Example:
175112
175113                 salt '*' service.enabled <service name>
175114
175115       salt.modules.systemd_service.execs(root=None)
175116              New in version 2014.7.0.
175117
175118
175119              Return  a  list of all files specified as ExecStart for all ser‐
175120              vices.
175121
175122              root   Enable/disable/mask unit  files  in  the  specified  root
175123                     directory
175124
175125              CLI Example:
175126                 salt '*' service.execs
175127
175128       salt.modules.systemd_service.force_reload(name,          no_block=True,
175129       unmask=False, unmask_runtime=False)
175130              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175131              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175132              mands run by this function from the salt-minion daemon's control
175133              group. This is done to avoid a race condition in cases where the
175134              salt-minion service is restarted while a service is being  modi‐
175135              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175136              setting a config option called systemd.scope, with  a  value  of
175137              False (no quotes).
175138
175139
175140              New in version 0.12.0.
175141
175142
175143              Force-reload the specified service with systemd
175144
175145              no_block
175146                     False Set to True to start the service using --no-block.
175147
175148                     New in version 2017.7.0.
175149
175150
175151              unmask False  Set  to  True  to remove an indefinite mask before
175152                     attempting to force-reload the service.
175153
175154                     New in version 2017.7.0: In previous releases, Salt would
175155                     simply  unmask  a  service  before  force-reloading. This
175156                     behavior is no longer the default.
175157
175158
175159              unmask_runtime
175160                     False Set  to  True  to  remove  a  runtime  mask  before
175161                     attempting to force-reload the service.
175162
175163                     New in version 2017.7.0: In previous releases, Salt would
175164                     simply unmask  a  service  before  force-reloading.  This
175165                     behavior is no longer the default.
175166
175167
175168              CLI Example:
175169
175170                 salt '*' service.force_reload <service name>
175171
175172       salt.modules.systemd_service.get_all(root=None)
175173              Return a list of all available services
175174
175175              root   Enable/disable/mask  unit  files  in  the  specified root
175176                     directory
175177
175178              CLI Example:
175179
175180                 salt '*' service.get_all
175181
175182       salt.modules.systemd_service.get_disabled(root=None)
175183              Return a list of all disabled services
175184
175185              root   Enable/disable/mask unit  files  in  the  specified  root
175186                     directory
175187
175188              CLI Example:
175189
175190                 salt '*' service.get_disabled
175191
175192       salt.modules.systemd_service.get_enabled(root=None)
175193              Return a list of all enabled services
175194
175195              root   Enable/disable/mask  unit  files  in  the  specified root
175196                     directory
175197
175198              CLI Example:
175199
175200                 salt '*' service.get_enabled
175201
175202       salt.modules.systemd_service.get_running()
175203              Return a list of all running services, so far as systemd is con‐
175204              cerned
175205
175206              CLI Example:
175207
175208                 salt '*' service.get_running
175209
175210       salt.modules.systemd_service.get_static(root=None)
175211              New in version 2015.8.5.
175212
175213
175214              Return a list of all static services
175215
175216              root   Enable/disable/mask  unit  files  in  the  specified root
175217                     directory
175218
175219              CLI Example:
175220
175221                 salt '*' service.get_static
175222
175223       salt.modules.systemd_service.mask(name, runtime=False, root=None)
175224              New in version 2015.5.0.
175225
175226
175227              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175228              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175229              mands run by this function from the salt-minion daemon's control
175230              group. This is done to avoid a race condition in cases where the
175231              salt-minion service is restarted while a service is being  modi‐
175232              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175233              setting a config option called systemd.scope, with  a  value  of
175234              False (no quotes).
175235
175236
175237              Mask the specified service with systemd
175238
175239              runtime
175240                     False  Set  to  True  to mask this service only until the
175241                     next reboot
175242
175243                     New in version 2015.8.5.
175244
175245
175246              root   Enable/disable/mask unit  files  in  the  specified  root
175247                     directory
175248
175249              CLI Example:
175250
175251                 salt '*' service.mask foo
175252                 salt '*' service.mask foo runtime=True
175253
175254       salt.modules.systemd_service.masked(name, runtime=False, root=None)
175255              New in version 2015.8.0.
175256
175257
175258              Changed  in  version 2015.8.5: The return data for this function
175259              has changed. If the service is masked, the return value will now
175260              be  the  output  of  the systemctl is-enabled command (so that a
175261              persistent mask can be distinguished from a  runtime  mask).  If
175262              the service is not masked, then False will be returned.
175263
175264
175265              Changed in version 2017.7.0: This function now returns a boolean
175266              telling the user whether a mask specified  by  the  new  runtime
175267              argument  is set. If runtime is False, this function will return
175268              True if an indefinite mask is set for the named service  (other‐
175269              wise False will be returned). If runtime is False, this function
175270              will return True if a runtime mask is set, otherwise False.
175271
175272
175273              Check whether or not a service is masked
175274
175275              runtime
175276                     False Set to True to check for a runtime mask
175277
175278                     New in version 2017.7.0: In previous versions, this func‐
175279                     tion   would   simply  return  the  output  of  systemctl
175280                     is-enabled when the service was found to be masked.  How‐
175281                     ever,  since  it is possible to both have both indefinite
175282                     and runtime masks on a service simultaneously, this func‐
175283                     tion  now  only checks for runtime masks if this argument
175284                     is set to True.  Otherwise, it will check for an  indefi‐
175285                     nite mask.
175286
175287
175288              root   Enable/disable/mask  unit  files  in  the  specified root
175289                     directory
175290
175291              CLI Examples:
175292
175293                 salt '*' service.masked foo
175294                 salt '*' service.masked foo runtime=True
175295
175296       salt.modules.systemd_service.missing(name)
175297              New in version 2014.1.0.
175298
175299
175300              The inverse of service.available. Returns True if the  specified
175301              service is not available, otherwise returns False.
175302
175303              CLI Example:
175304
175305                 salt '*' service.missing sshd
175306
175307       salt.modules.systemd_service.reload_(name,              no_block=False,
175308       unmask=False, unmask_runtime=False)
175309              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175310              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175311              mands run by this function from the salt-minion daemon's control
175312              group. This is done to avoid a race condition in cases where the
175313              salt-minion service is restarted while a service is being  modi‐
175314              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175315              setting a config option called systemd.scope, with  a  value  of
175316              False (no quotes).
175317
175318
175319              Reload the specified service with systemd
175320
175321              no_block
175322                     False Set to True to reload the service using --no-block.
175323
175324                     New in version 2017.7.0.
175325
175326
175327              unmask False  Set  to  True  to remove an indefinite mask before
175328                     attempting to reload the service.
175329
175330                     New in version 2017.7.0: In previous releases, Salt would
175331                     simply  unmask  a service before reloading. This behavior
175332                     is no longer the default.
175333
175334
175335              unmask_runtime
175336                     False Set  to  True  to  remove  a  runtime  mask  before
175337                     attempting to reload the service.
175338
175339                     New in version 2017.7.0: In previous releases, Salt would
175340                     simply unmask a service before reloading.  This  behavior
175341                     is no longer the default.
175342
175343
175344              CLI Example:
175345
175346                 salt '*' service.reload <service name>
175347
175348       salt.modules.systemd_service.restart(name,              no_block=False,
175349       unmask=False, unmask_runtime=False)
175350              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175351              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175352              mands run by this function from the salt-minion daemon's control
175353              group. This is done to avoid a race condition in cases where the
175354              salt-minion service is restarted while a service is being  modi‐
175355              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175356              setting a config option called systemd.scope, with  a  value  of
175357              False (no quotes).
175358
175359
175360              Restart the specified service with systemd
175361
175362              no_block
175363                     False Set to True to start the service using --no-block.
175364
175365                     New in version 2017.7.0.
175366
175367
175368              unmask False  Set  to  True  to remove an indefinite mask before
175369                     attempting to restart the service.
175370
175371                     New in version 2017.7.0: In previous releases, Salt would
175372                     simply  unmask a service before restarting. This behavior
175373                     is no longer the default.
175374
175375
175376              unmask_runtime
175377                     False Set  to  True  to  remove  a  runtime  mask  before
175378                     attempting to restart the service.
175379
175380                     New in version 2017.7.0: In previous releases, Salt would
175381                     simply unmask a service before restarting. This  behavior
175382                     is no longer the default.
175383
175384
175385              CLI Example:
175386
175387                 salt '*' service.restart <service name>
175388
175389       salt.modules.systemd_service.show(name, root=None)
175390              New in version 2014.7.0.
175391
175392
175393              Show properties of one or more units/jobs or the manager
175394
175395              root   Enable/disable/mask  unit  files  in  the  specified root
175396                     directory
175397
175398              CLI Example:
175399                 salt '*' service.show <service name>
175400
175401       salt.modules.systemd_service.start(name, no_block=False,  unmask=False,
175402       unmask_runtime=False)
175403              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175404              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
175405              mands run by this function from the salt-minion daemon's control
175406              group. This is done to avoid a race condition in cases where the
175407              salt-minion  service is restarted while a service is being modi‐
175408              fied. If desired, usage of systemd-run(1) can be  suppressed  by
175409              setting  a  config  option called systemd.scope, with a value of
175410              False (no quotes).
175411
175412
175413              Start the specified service with systemd
175414
175415              no_block
175416                     False Set to True to start the service using --no-block.
175417
175418                     New in version 2017.7.0.
175419
175420
175421              unmask False Set to True to remove  an  indefinite  mask  before
175422                     attempting to start the service.
175423
175424                     New in version 2017.7.0: In previous releases, Salt would
175425                     simply unmask a service before starting. This behavior is
175426                     no longer the default.
175427
175428
175429              unmask_runtime
175430                     False  Set  to  True  to  remove  a  runtime  mask before
175431                     attempting to start the service.
175432
175433                     New in version 2017.7.0: In previous releases, Salt would
175434                     simply unmask a service before starting. This behavior is
175435                     no longer the default.
175436
175437
175438              CLI Example:
175439
175440                 salt '*' service.start <service name>
175441
175442       salt.modules.systemd_service.status(name, sig=None, wait=3)
175443              Check whether or not a service is active.  If the name  contains
175444              globbing,  a  dict mapping service names to True/False values is
175445              returned.
175446
175447              Changed in version 2018.3.0: The service name can now be a  glob
175448              (e.g. salt*)
175449
175450
175451              name   The name of the service to check
175452
175453              sig    Not  implemented,  but  required  to be accepted as it is
175454                     passed by service states
175455
175456              wait   3 If the service is in the  process  of  changing  states
175457                     (i.e.  it  is  in  either  the activating or deactivating
175458                     state), wait up to this amount of seconds (checking again
175459                     periodically)  before  determining whether the service is
175460                     active.
175461
175462                     New in version 2019.2.3.
175463
175464
175465              CLI Example:
175466
175467                 salt '*' service.status <service name> [service signature]
175468
175469       salt.modules.systemd_service.stop(name, no_block=False)
175470              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175471              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175472              mands run by this function from the salt-minion daemon's control
175473              group. This is done to avoid a race condition in cases where the
175474              salt-minion service is restarted while a service is being  modi‐
175475              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175476              setting a config option called systemd.scope, with  a  value  of
175477              False (no quotes).
175478
175479
175480              Stop the specified service with systemd
175481
175482              no_block
175483                     False Set to True to start the service using --no-block.
175484
175485                     New in version 2017.7.0.
175486
175487
175488              CLI Example:
175489
175490                 salt '*' service.stop <service name>
175491
175492       salt.modules.systemd_service.systemctl_reload()
175493              New in version 0.15.0.
175494
175495
175496              Reloads  systemctl,  an  action  needed  whenever unit files are
175497              updated.
175498
175499              CLI Example:
175500
175501                 salt '*' service.systemctl_reload
175502
175503       salt.modules.systemd_service.unmask_(name, runtime=False, root=None)
175504              New in version 2015.5.0.
175505
175506
175507              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
175508              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
175509              mands run by this function from the salt-minion daemon's control
175510              group. This is done to avoid a race condition in cases where the
175511              salt-minion service is restarted while a service is being  modi‐
175512              fied.  If  desired, usage of systemd-run(1) can be suppressed by
175513              setting a config option called systemd.scope, with  a  value  of
175514              False (no quotes).
175515
175516
175517              Unmask the specified service with systemd
175518
175519              runtime
175520                     False  Set  to True to unmask this service only until the
175521                     next reboot
175522
175523                     New in version 2017.7.0: In previous versions, this func‐
175524                     tion  would  remove whichever mask was identified by run‐
175525                     ning systemctl is-enabled on the service.  However, since
175526                     it  is  possible to both have both indefinite and runtime
175527                     masks on a  service  simultaneously,  this  function  now
175528                     removes  a runtime mask only when this argument is set to
175529                     True, and otherwise removes an indefinite mask.
175530
175531
175532              root   Enable/disable/mask unit  files  in  the  specified  root
175533                     directory
175534
175535              CLI Example:
175536
175537                 salt '*' service.unmask foo
175538                 salt '*' service.unmask foo runtime=True
175539
175540   salt.modules.telegram
175541       Module for sending messages via Telegram.
175542
175543       configuration
175544              In  order to send a message via the Telegram, certain configura‐
175545              tion is required in /etc/salt/minion on the relevant minions  or
175546              in the pillar. Some sample configs might look like:
175547
175548                 telegram.chat_id: '123456789'
175549                 telegram.token: '00000000:xxxxxxxxxxxxxxxxxxxxxxxx'
175550
175551       salt.modules.telegram.post_message(message, chat_id=None, token=None)
175552              Send a message to a Telegram chat.
175553
175554              Parameters
175555
175556                     · message -- The message to send to the Telegram chat.
175557
175558                     · chat_id -- (optional) The Telegram chat id.
175559
175560                     · token -- (optional) The Telegram API token.
175561
175562              Returns
175563                     Boolean if message was sent successfully.
175564
175565              CLI Example:
175566
175567                 salt '*' telegram.post_message message="Hello Telegram!"
175568
175569   salt.modules.telemetry
175570       Connection module for Telemetry
175571
175572       New in version 2016.3.0.
175573
175574
175575       https://github.com/mongolab/mongolab-telemetry-api-docs/blob/master/alerts.md
175576
175577       configuration
175578              This module accepts explicit telemetry credentials or  can  also
175579              read  api key credentials from a pillar. More Information avail‐
175580              able here.
175581
175582       In the minion's config file:
175583
175584          telemetry.telemetry_api_keys:
175585            - abc123  # Key 1
175586            - efg321  # Backup Key 1
175587          telemetry_api_base_url: https://telemetry-api.mongolab.com/v0
175588
175589       depends
175590              requests
175591
175592       salt.modules.telemetry.create_alarm(deployment_id,  metric_name,  data,
175593       api_key=None, profile=u'telemetry')
175594              create an telemetry alarms.
175595
175596              data is a dict of alert configuration data.
175597
175598              Returns (bool success, str message) tuple.
175599
175600              CLI Example:
175601                 salt  myminion  telemetry.create_alarm  rs-ds033197  {}  pro‐
175602                 file=telemetry
175603
175604       salt.modules.telemetry.delete_alarms(deployment_id, alert_id=None, met‐
175605       ric_name=None, api_key=None, profile=u'telemetry')
175606
175607              delete  an alert specified by alert_id or if not specified blows
175608              away all the alerts
175609                     in the current deployment.
175610
175611              Returns (bool success, str message) tuple.
175612
175613              CLI Example:
175614                 salt  myminion   telemetry.delete_alarms   rs-ds033197   pro‐
175615                 file=telemetry
175616
175617       salt.modules.telemetry.get_alarms(deployment_id, profile=u'telemetry')
175618              get all the alarms set up against the current deployment
175619
175620              Returns dictionary of alarm information
175621
175622              CLI Example:
175623                 salt    myminion    telemetry.get_alarms   rs-ds033197   pro‐
175624                 file=telemetry
175625
175626       salt.modules.telemetry.get_alert_config(deployment_id,             met‐
175627       ric_name=None, api_key=None, profile=u'telemetry')
175628              Get  all alert definitions associated with a given deployment or
175629              if metric_name is specified, obtain the specific alert config
175630
175631              Returns dictionary or list of dictionaries.
175632
175633              CLI Example:
175634                 salt myminion telemetry.get_alert_config rs-ds033197 current‐
175635                 Connections    profile=telemetry    salt   myminion   teleme‐
175636                 try.get_alert_config rs-ds033197 profile=telemetry
175637
175638       salt.modules.telemetry.get_notification_channel_id(notify_channel, pro‐
175639       file=u'telemetry')
175640              Given  an  email address, creates a notification-channels if one
175641              is not found and also  returns  the  corresponding  notification
175642              channel id.
175643
175644              notify_channel
175645                     Email escalation policy
175646
175647              profile
175648                     A dict of telemetry config information.
175649
175650              CLI Example:
175651                 salt      myminion      telemetry.get_notification_channel_id
175652                 userx@company.com profile=telemetry
175653
175654       salt.modules.telemetry.update_alarm(deployment_id,  metric_name,  data,
175655       api_key=None, profile=u'telemetry')
175656              update  an  telemetry alarms. data is a dict of alert configura‐
175657              tion data.
175658
175659              Returns (bool success, str message) tuple.
175660
175661              CLI Example:
175662                 salt  myminion  telemetry.update_alarm  rs-ds033197  {}  pro‐
175663                 file=telemetry
175664
175665   salt.modules.temp
175666       Simple module for creating temporary directories and files
175667
175668       This is a thin wrapper around Pythons tempfile module
175669
175670       New in version 2015.8.0.
175671
175672
175673       salt.modules.temp.dir(suffix=u'', prefix=u'tmp', parent=None)
175674              Create a temporary directory
175675
175676              CLI Example:
175677
175678                 salt '*' temp.dir
175679                 salt '*' temp.dir prefix='mytemp-' parent='/var/run/'
175680
175681       salt.modules.temp.file(suffix=u'', prefix=u'tmp', parent=None)
175682              Create a temporary file
175683
175684              CLI Example:
175685
175686                 salt '*' temp.file
175687                 salt '*' temp.file prefix='mytemp-' parent='/var/run/'
175688
175689   salt.modules.test
175690       Module for running arbitrary tests
175691
175692       salt.modules.test.arg(*args, **kwargs)
175693              Print  out  the data passed into the function *args and `kwargs,
175694              this is used to both test the publication data and cli  argument
175695              passing,  but  also  to display the information available within
175696              the publication data.  Returns {"args": args, "kwargs": kwargs}.
175697
175698              CLI Example:
175699
175700                 salt '*' test.arg 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
175701
175702       salt.modules.test.arg_clean(*args, **kwargs)
175703              Like test.arg but cleans kwargs of the __pub* items CLI Example:
175704
175705                 salt '*' test.arg_clean 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
175706
175707       salt.modules.test.arg_repr(*args, **kwargs)
175708              Print out the data passed into the function *args  and  `kwargs,
175709              this  is used to both test the publication data and cli argument
175710              passing, but also to display the  information  available  within
175711              the  publication  data.   Returns {"args": repr(args), "kwargs":
175712              repr(kwargs)}.
175713
175714              CLI Example:
175715
175716                 salt '*' test.arg_repr 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
175717
175718       salt.modules.test.arg_type(*args, **kwargs)
175719              Print out the types of the args and kwargs. This is used to test
175720              the types of the args and kwargs passed down to the minion
175721
175722              CLI Example:
175723
175724                 salt '*' test.arg_type 1 'int'
175725
175726       salt.modules.test.assertion(assertion)
175727              Assert the given argument
175728
175729              CLI Example:
175730
175731                 salt '*' test.assertion False
175732
175733       salt.modules.test.attr_call()
175734              Call grains.items via the attribute
175735
175736              CLI Example:
175737
175738                 salt '*' test.attr_call
175739
175740       salt.modules.test.collatz(start)
175741              Execute  the collatz conjecture from the passed starting number,
175742              returns the sequence and the time it took to compute.  Used  for
175743              performance tests.
175744
175745              CLI Example:
175746
175747                 salt '*' test.collatz 3
175748
175749       salt.modules.test.conf_test()
175750              Return  the value for test.foo in the minion configuration file,
175751              or return the default value
175752
175753              CLI Example:
175754
175755                 salt '*' test.conf_test
175756
175757       salt.modules.test.cross_test(func, args=None)
175758              Execute a minion function via the __salt__ object  in  the  test
175759              module,  used  to verify that the minion functions can be called
175760              via the __salt__ module.
175761
175762              CLI Example:
175763
175764                 salt '*' test.cross_test file.gid_to_group 0
175765
175766       salt.modules.test.echo(text)
175767              Return a string - used for testing the connection
175768
175769              CLI Example:
175770
175771                 salt '*' test.echo 'foo bar baz quo qux'
175772
175773       salt.modules.test.exception(message=u'Test Exception')
175774              Raise an exception
175775
175776              Optionally provide an error message or output the full stack.
175777
175778              CLI Example:
175779
175780                 salt '*' test.exception 'Oh noes!'
175781
175782       salt.modules.test.false_()
175783              Always return False
175784
175785              CLI Example:
175786
175787                 salt '*' test.false
175788
175789       salt.modules.test.fib(num)
175790              Return the num-th Fibonacci number, and the time it took to com‐
175791              pute in seconds. Used for performance tests.
175792
175793              This function is designed to have terrible performance.
175794
175795              CLI Example:
175796
175797                 salt '*' test.fib 3
175798
175799       salt.modules.test.get_opts()
175800              Return the configuration options passed to this minion
175801
175802              CLI Example:
175803
175804                 salt '*' test.get_opts
175805
175806       salt.modules.test.kwarg(**kwargs)
175807              Print  out  the  data passed into the function **kwargs, this is
175808              used to both test the publication data and  cli  kwarg  passing,
175809              but  also to display the information available within the publi‐
175810              cation data.
175811
175812              CLI Example:
175813
175814                 salt '*' test.kwarg num=1 txt="two" env='{a: 1, b: "hello"}'
175815
175816       salt.modules.test.missing_func()
175817
175818       salt.modules.test.module_report()
175819              Return a dict containing all of the  execution  modules  with  a
175820              report on the overall availability via different references
175821
175822              CLI Example:
175823
175824                 salt '*' test.module_report
175825
175826       salt.modules.test.not_loaded()
175827              List the modules that were not loaded by the salt loader system
175828
175829              CLI Example:
175830
175831                 salt '*' test.not_loaded
175832
175833       salt.modules.test.opts_pkg()
175834              Return an opts package with the grains and opts for this minion.
175835              This is primarily used to create the  options  used  for  master
175836              side state compiling routines
175837
175838              CLI Example:
175839
175840                 salt '*' test.opts_pkg
175841
175842       salt.modules.test.outputter(data)
175843              Test the outputter, pass in data to return
175844
175845              CLI Example:
175846
175847                 salt '*' test.outputter foobar
175848
175849       salt.modules.test.ping()
175850              Used  to  make sure the minion is up and responding. Not an ICMP
175851              ping.
175852
175853              Returns True.
175854
175855              CLI Example:
175856
175857                 salt '*' test.ping
175858
175859       salt.modules.test.provider(module)
175860              Pass in a function name to discover what provider is being used
175861
175862              CLI Example:
175863
175864                 salt '*' test.provider service
175865
175866       salt.modules.test.providers()
175867              Return a dict of the provider names and the files that  provided
175868              them
175869
175870              CLI Example:
175871
175872                 salt '*' test.providers
175873
175874       salt.modules.test.raise_exception(name, *args, **kwargs)
175875              Raise an exception. Built-in exceptions and those in salt.excep‐
175876              tions can be raised by this test function. If no matching excep‐
175877              tion  is  found, then no exception will be raised and this func‐
175878              tion will return False.
175879
175880              This function is designed to test Salt's  exception  and  return
175881              code handling.
175882
175883              CLI Example:
175884
175885                 salt '*' test.raise_exception TypeError "An integer is required"
175886                 salt '*' test.raise_exception salt.exceptions.CommandExecutionError "Something went wrong"
175887
175888       salt.modules.test.rand_sleep(max=60)
175889              Sleep  for a random number of seconds, used to test long-running
175890              commands and minions returning at differing intervals
175891
175892              CLI Example:
175893
175894                 salt '*' test.rand_sleep 60
175895
175896       salt.modules.test.random_hash(size=9999999999, hash_type=None)
175897              New in version 2015.5.2.
175898
175899
175900              Changed in version 2018.3.0:  Function  has  been  renamed  from
175901              test.rand_str to test.random_hash
175902
175903
175904              Generates  a  random  number  between 1 and size, then returns a
175905              hash of that number. If no hash_type is  passed,  the  hash_type
175906              specified by the minion's hash_type config option is used.
175907
175908              CLI Example:
175909
175910                 salt '*' test.random_hash
175911                 salt '*' test.random_hash hash_type=sha512
175912
175913       salt.modules.test.retcode(code=42)
175914              Test that the returncode system is functioning correctly
175915
175916              CLI Example:
175917
175918                 salt '*' test.retcode 42
175919
175920       salt.modules.test.sleep(length)
175921              Instruct  the minion to initiate a process that will sleep for a
175922              given period of time.
175923
175924              CLI Example:
175925
175926                 salt '*' test.sleep 20
175927
175928       salt.modules.test.stack()
175929              Return the current stack trace
175930
175931              CLI Example:
175932
175933                 salt '*' test.stack
175934
175935       salt.modules.test.true_()
175936              Always return True
175937
175938              CLI Example:
175939
175940                 salt '*' test.true
175941
175942       salt.modules.test.try_(module, return_try_exception=False, **kwargs)
175943              Try to run a module command. On an exception  return  None.   If
175944              return_try_exception is set True return the exception.  This can
175945              be helpful in templates where running a  module  might  fail  as
175946              expected.
175947
175948              CLI Example:
175949
175950                 <pre>
175951                 {% for i in range(0,230) %}
175952                     {{ salt['test.try'](module='ipmi.get_users', bmc_host='172.2.2.'+i)|yaml(False) }}
175953                 {% endfor %}
175954                 </pre>
175955
175956       salt.modules.test.tty(*args, **kwargs)
175957              Deprecated! Moved to cmdmod.
175958
175959              CLI Example:
175960
175961                 salt '*' test.tty tty0 'This is a test'
175962                 salt '*' test.tty pts3 'This is a test'
175963
175964       salt.modules.test.version()
175965              Return the version of salt on the minion
175966
175967              CLI Example:
175968
175969                 salt '*' test.version
175970
175971       salt.modules.test.versions()
175972              This function is an alias of versions_report.
175973                 Returns versions of components used by salt
175974
175975                 CLI Example:
175976
175977                     salt '*' test.versions_report
175978
175979       salt.modules.test.versions_information()
175980              Report the versions of dependent and system software
175981
175982              CLI Example:
175983
175984                 salt '*' test.versions_information
175985
175986       salt.modules.test.versions_report()
175987              Returns versions of components used by salt
175988
175989              CLI Example:
175990
175991                 salt '*' test.versions_report
175992
175993   salt.modules.testinframod module
175994       This  module exposes the functionality of the TestInfra library for use
175995       with SaltStack in order to verify the state of your minions.  In  order
175996       to  allow for the addition of new resource types in TestInfra this mod‐
175997       ule dynamically generates wrappers for the various resources by iterat‐
175998       ing  over  the  values  in  the __all__ variable exposed by the testin‐
175999       fra.modules namespace.
176000
176001   salt.modules.test_virtual
176002       Module for running arbitrary tests with a __virtual__ function
176003
176004       salt.modules.test_virtual.ping()
176005
176006   salt.modules.textfsm_mod module
176007   TextFSM
176008       New in version 2018.3.0.
176009
176010
176011       Execution module that processes plain  text  and  extracts  data  using
176012       TextFSM  templates.  The output is presented in JSON serializable data,
176013       and can be easily re-used in other modules, or directly inside the ren‐
176014       derer (Jinja, Mako, Genshi, etc.).
176015
176016       depends
176017
176018              · textfsm Python library
176019
176020       NOTE:
176021          For  Python 2/3 compatibility, it is more recommended to install the
176022          jtextfsm library: pip install jtextfsm.
176023
176024       salt.modules.textfsm_mod.extract(template_path,          raw_text=None,
176025       raw_text_file=None, saltenv='base')
176026              Extracts  the  data entities from the unstructured raw text sent
176027              as input and returns the  data  mapping,  processing  using  the
176028              TextFSM template.
176029
176030              template_path
176031                     The  path to the TextFSM template.  This can be specified
176032                     using the absolute path to the file, or using one of  the
176033                     following URL schemes:
176034
176035                     · salt://,  to  fetch  the  template  from the Salt file‐
176036                       server.
176037
176038                     · http:// or https://
176039
176040                     · ftp://
176041
176042                     · s3://
176043
176044                     · swift://
176045
176046              raw_text: None
176047                     The unstructured text to be parsed.
176048
176049              raw_text_file: None
176050                     Text file to read, having the raw text to be parsed using
176051                     the  TextFSM  template.  Supports the same URL schemes as
176052                     the template_path argument.
176053
176054              saltenv: base
176055                     Salt fileserver envrionment from which  to  retrieve  the
176056                     file.  Ignored if template_path is not a salt:// URL.
176057
176058              CLI Example:
176059
176060                 salt '*' textfsm.extract salt://textfsm/juniper_version_template raw_text_file=s3://junos_ver.txt
176061                 salt '*' textfsm.extract http://some-server/textfsm/juniper_version_template raw_text='Hostname: router.abc ... snip ...'
176062
176063              Jinja template example:
176064
176065                 {%- set raw_text = 'Hostname: router.abc ... snip ...' -%}
176066                 {%- set textfsm_extract = salt.textfsm.extract('https://some-server/textfsm/juniper_version_template', raw_text) -%}
176067
176068              Raw text example:
176069
176070                 Hostname: router.abc
176071                 Model: mx960
176072                 JUNOS Base OS boot [9.1S3.5]
176073                 JUNOS Base OS Software Suite [9.1S3.5]
176074                 JUNOS Kernel Software Suite [9.1S3.5]
176075                 JUNOS Crypto Software Suite [9.1S3.5]
176076                 JUNOS Packet Forwarding Engine Support (M/T Common) [9.1S3.5]
176077                 JUNOS Packet Forwarding Engine Support (MX Common) [9.1S3.5]
176078                 JUNOS Online Documentation [9.1S3.5]
176079                 JUNOS Routing Software Suite [9.1S3.5]
176080
176081              TextFSM Example:
176082
176083                 Value Chassis (\S+)
176084                 Value Required Model (\S+)
176085                 Value Boot (.*)
176086                 Value Base (.*)
176087                 Value Kernel (.*)
176088                 Value Crypto (.*)
176089                 Value Documentation (.*)
176090                 Value Routing (.*)
176091
176092                 Start
176093                 # Support multiple chassis systems.
176094                   ^\S+:$$ -> Continue.Record
176095                   ^${Chassis}:$$
176096                   ^Model: ${Model}
176097                   ^JUNOS Base OS boot \[${Boot}\]
176098                   ^JUNOS Software Release \[${Base}\]
176099                   ^JUNOS Base OS Software Suite \[${Base}\]
176100                   ^JUNOS Kernel Software Suite \[${Kernel}\]
176101                   ^JUNOS Crypto Software Suite \[${Crypto}\]
176102                   ^JUNOS Online Documentation \[${Documentation}\]
176103                   ^JUNOS Routing Software Suite \[${Routing}\]
176104
176105              Output example:
176106
176107                 {
176108                     "comment": "",
176109                     "result": true,
176110                     "out": [
176111                         {
176112                             "kernel": "9.1S3.5",
176113                             "documentation": "9.1S3.5",
176114                             "boot": "9.1S3.5",
176115                             "crypto": "9.1S3.5",
176116                             "chassis": "",
176117                             "routing": "9.1S3.5",
176118                             "base": "9.1S3.5",
176119                             "model": "mx960"
176120                         }
176121                     ]
176122                 }
176123
176124       salt.modules.textfsm_mod.index(command,       platform=None,      plat‐
176125       form_grain_name=None,  platform_column_name=None,   output=None,   out‐
176126       put_file=None,   textfsm_path=None,   index_file=None,  saltenv='base',
176127       include_empty=False, include_pat=None, exclude_pat=None)
176128              Dynamically identify the template required to extract the infor‐
176129              mation from the unstructured raw text.
176130
176131              The output has the same structure as the extract execution func‐
176132              tion, the difference being that index  is  capable  to  identify
176133              what template to use, based on the platform details and the com‐
176134              mand.
176135
176136              command
176137                     The command executed on the device, to get the output.
176138
176139              platform
176140                     The platform name, as defined in the TextFSM index file.
176141
176142                     NOTE:
176143                        For ease of use,  it  is  recommended  to  define  the
176144                        TextFSM  indexfile  with  values  that  can be matches
176145                        using the grains.
176146
176147              platform_grain_name
176148                     The name of the grain used to identify the platform  name
176149                     in the TextFSM index file.
176150
176151                     NOTE:
176152                        This  option  can be also specified in the minion con‐
176153                        figuration file or pillar as textfsm_platform_grain.
176154
176155                     NOTE:
176156                        This option is ignored when platform is specified.
176157
176158              platform_column_name: Platform
176159                     The column name used to identify the platform, exactly as
176160                     specified in the TextFSM index file.  Default: Platform.
176161
176162                     NOTE:
176163                        This  is  field is case sensitive, make sure to assign
176164                        the correct value to this option, exactly  as  defined
176165                        in the index file.
176166
176167                     NOTE:
176168                        This  option  can be also specified in the minion con‐
176169                        figuration file  or  pillar  as  textfsm_platform_col‐
176170                        umn_name.
176171
176172              output The  raw output from the device, to be parsed and extract
176173                     the structured data.
176174
176175              output_file
176176                     The path to a file that contains the raw output from  the
176177                     device, used to extract the structured data.  This option
176178                     supports  the  usual  Salt-specific   schemes:   file://,
176179                     salt://, http://, https://, ftp://, s3://, swift://.
176180
176181              textfsm_path
176182                     The  path  where the TextFSM templates can be found. This
176183                     can be either absolute path on the server, either  speci‐
176184                     fied  using  the following URL schemes: file://, salt://,
176185                     http://, https://, ftp://, s3://, swift://.
176186
176187                     NOTE:
176188                        This needs to be a directory with  a  flat  structure,
176189                        having  an  index  file  (whose  name can be specified
176190                        using the index_file option) and a number  of  TextFSM
176191                        templates.
176192
176193                     NOTE:
176194                        This  option  can be also specified in the minion con‐
176195                        figuration file or pillar as textfsm_path.
176196
176197              index_file: index
176198                     The  name  of  the  TextFSM   index   file,   under   the
176199                     textfsm_path. Default: index.
176200
176201                     NOTE:
176202                        This  option  can be also specified in the minion con‐
176203                        figuration file or pillar as textfsm_index_file.
176204
176205              saltenv: base
176206                     Salt fileserver envrionment from which  to  retrieve  the
176207                     file.  Ignored if textfsm_path is not a salt:// URL.
176208
176209              include_empty: False
176210                     Include empty files under the textfsm_path.
176211
176212              include_pat
176213                     Glob  or  regex  to narrow down the files cached from the
176214                     given path.  If matching with a regex, the regex must  be
176215                     prefixed with E@, otherwise the expression will be inter‐
176216                     preted as a glob.
176217
176218              exclude_pat
176219                     Glob or regex to exclude certain files from being  cached
176220                     from the given path.  If matching with a regex, the regex
176221                     must be prefixed with E@, otherwise the  expression  will
176222                     be interpreted as a glob.
176223
176224                     NOTE:
176225                        If  used with include_pat, files matching this pattern
176226                        will be excluded from the subset of files  defined  by
176227                        include_pat.
176228
176229              CLI Example:
176230
176231                 salt '*' textfsm.index 'sh ver' platform=Juniper output_file=salt://textfsm/juniper_version_example textfsm_path=salt://textfsm/
176232                 salt '*' textfsm.index 'sh ver' output_file=salt://textfsm/juniper_version_example textfsm_path=ftp://textfsm/ platform_column_name=Vendor
176233                 salt '*' textfsm.index 'sh ver' output_file=salt://textfsm/juniper_version_example textfsm_path=https://some-server/textfsm/ platform_column_name=Vendor platform_grain_name=vendor
176234
176235              TextFSM index file example:
176236
176237              salt://textfsm/index
176238
176239                 Template, Hostname, Vendor, Command
176240                 juniper_version_template, .*, Juniper, sh[[ow]] ve[[rsion]]
176241
176242              The usage can be simplified, by defining (some of) the following
176243              options:  textfsm_platform_grain,  textfsm_path,   textfsm_plat‐
176244              form_column_name,  or  textfsm_index_file, in the (proxy) minion
176245              configuration file or pillar.
176246
176247              Configuration example:
176248
176249                 textfsm_platform_grain: vendor
176250                 textfsm_path: salt://textfsm/
176251                 textfsm_platform_column_name: Vendor
176252
176253              And the CLI usage becomes as simple as:
176254
176255                 salt '*' textfsm.index 'sh ver' output_file=salt://textfsm/juniper_version_example
176256
176257              Usgae inside a Jinja template:
176258
176259                 {%- set command = 'sh ver' -%}
176260                 {%- set output = salt.net.cli(command) -%}
176261                 {%- set textfsm_extract = salt.textfsm.index(command, output=output) -%}
176262
176263   salt.modules.timezone
176264       Module for managing timezone on POSIX-like systems.
176265
176266       salt.modules.timezone.get_hwclock()
176267              Get current hardware clock setting (UTC or localtime)
176268
176269              CLI Example:
176270
176271                 salt '*' timezone.get_hwclock
176272
176273       salt.modules.timezone.get_offset()
176274              Get current numeric timezone offset from UCT (i.e. -0700)
176275
176276              CLI Example:
176277
176278                 salt '*' timezone.get_offset
176279
176280       salt.modules.timezone.get_zone()
176281              Get current timezone (i.e. America/Denver)
176282
176283              Changed in version 2016.11.4.
176284
176285
176286              NOTE:
176287                 On AIX operating systems, Posix values can also  be  returned
176288                 'CST6CDT,M3.2.0/2:00:00,M11.1.0/2:00:00'
176289
176290              CLI Example:
176291
176292                 salt '*' timezone.get_zone
176293
176294       salt.modules.timezone.get_zonecode()
176295              Get current timezone (i.e. PST, MDT, etc)
176296
176297              CLI Example:
176298
176299                 salt '*' timezone.get_zonecode
176300
176301       salt.modules.timezone.set_hwclock(clock)
176302              Sets the hardware clock to be either UTC or localtime
176303
176304              CLI Example:
176305
176306                 salt '*' timezone.set_hwclock UTC
176307
176308       salt.modules.timezone.set_zone(timezone)
176309              Unlinks, then symlinks /etc/localtime to the set timezone.
176310
176311              The  timezone  is  crucial  to several system processes, each of
176312              which SHOULD be restarted (for  instance,  whatever  you  system
176313              uses as its cron and syslog daemons). This will not be automagi‐
176314              cally done and must be done manually!
176315
176316              CLI Example:
176317
176318                 salt '*' timezone.set_zone 'America/Denver'
176319
176320              Changed in version 2016.11.4.
176321
176322
176323              NOTE:
176324                 On AIX operating systems, Posix values are also allowed,  see
176325                 below
176326
176327                 salt '*' timezone.set_zone 'CST6CDT,M3.2.0/2:00:00,M11.1.0/2:00:00'
176328
176329       salt.modules.timezone.zone_compare(timezone)
176330              Compares  the given timezone name with the system timezone name.
176331              Checks the hash sum between the given timezone, and the one  set
176332              in  /etc/localtime.  Returns  True if names and hash sums match,
176333              and False if not.  Mostly useful for running state checks.
176334
176335              Changed in version 2016.3.0.
176336
176337
176338              NOTE:
176339                 On Solaris-link operating systems only a string comparison is
176340                 done.
176341
176342              Changed in version 2016.11.4.
176343
176344
176345              NOTE:
176346                 On AIX operating systems only a string comparison is done.
176347
176348              CLI Example:
176349
176350                 salt '*' timezone.zone_compare 'America/Denver'
176351
176352   salt.modules.tls
176353       A  salt module for SSL/TLS.  Can create a Certificate Authority (CA) or
176354       use Self-Signed certificates.
176355
176356       depends
176357              PyOpenSSL Python module (0.10 or later, 0.14 or later  for  X509
176358              extension support)
176359
176360       configuration
176361              Add  the  following values in /etc/salt/minion for the CA module
176362              to function properly:
176363
176364                 ca.cert_base_path: '/etc/pki'
176365
176366       CLI Example #1: Creating a CA, a server request and its signed certifi‐
176367       cate:
176368
176369          # salt-call tls.create_ca my_little \
176370          days=5 \
176371          CN='My Little CA' \
176372          C=US \
176373          ST=Utah \
176374          L=Salt Lake City \
176375          O=Saltstack \
176376          emailAddress=pleasedontemail@example.com
176377
176378          Created Private Key: "/etc/pki/my_little/my_little_ca_cert.key"
176379          Created CA "my_little_ca": "/etc/pki/my_little_ca/my_little_ca_cert.crt"
176380
176381          # salt-call tls.create_csr my_little CN=www.example.com
176382          Created Private Key: "/etc/pki/my_little/certs/www.example.com.key
176383          Created CSR for "www.example.com": "/etc/pki/my_little/certs/www.example.com.csr"
176384
176385          # salt-call tls.create_ca_signed_cert my_little CN=www.example.com
176386          Created Certificate for "www.example.com": /etc/pki/my_little/certs/www.example.com.crt"
176387
176388       CLI Example #2: Creating a client request and its signed certificate
176389
176390          # salt-call tls.create_csr my_little CN=DBReplica_No.1 cert_type=client
176391          Created Private Key: "/etc/pki/my_little/certs//DBReplica_No.1.key."
176392          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1.csr."
176393
176394          # salt-call tls.create_ca_signed_cert my_little CN=DBReplica_No.1
176395          Created Certificate for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1.crt"
176396
176397       CLI  Example  #3:  Creating both a server and client req + cert for the
176398       same CN
176399
176400          # salt-call tls.create_csr my_little CN=MasterDBReplica_No.2  \
176401              cert_type=client
176402          Created Private Key: "/etc/pki/my_little/certs/MasterDBReplica_No.2.key."
176403          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/MasterDBReplica_No.2.csr."
176404
176405          # salt-call tls.create_ca_signed_cert my_little CN=MasterDBReplica_No.2
176406          Created Certificate for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1.crt"
176407
176408          # salt-call tls.create_csr my_little CN=MasterDBReplica_No.2 \
176409              cert_type=server
176410          Certificate "MasterDBReplica_No.2" already exists
176411
176412          (doh!)
176413
176414          # salt-call tls.create_csr my_little CN=MasterDBReplica_No.2 \
176415              cert_type=server type_ext=True
176416          Created Private Key: "/etc/pki/my_little/certs/DBReplica_No.1_client.key."
176417          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1_client.csr."
176418
176419          # salt-call tls.create_ca_signed_cert my_little CN=MasterDBReplica_No.2
176420          Certificate "MasterDBReplica_No.2" already exists
176421
176422          (DOH!)
176423
176424          # salt-call tls.create_ca_signed_cert my_little CN=MasterDBReplica_No.2 \
176425              cert_type=server type_ext=True
176426          Created Certificate for "MasterDBReplica_No.2": "/etc/pki/my_little/certs/MasterDBReplica_No.2_server.crt"
176427
176428       CLI Example #4: Create a server req + cert with non-CN filename for the
176429       cert
176430
176431          # salt-call tls.create_csr my_little CN=www.anothersometh.ing \
176432              cert_type=server type_ext=True
176433          Created Private Key: "/etc/pki/my_little/certs/www.anothersometh.ing_server.key."
176434          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/www.anothersometh.ing_server.csr."
176435
176436          # salt-call tls_create_ca_signed_cert my_little CN=www.anothersometh.ing \
176437              cert_type=server cert_filename="something_completely_different"
176438          Created Certificate for "www.anothersometh.ing": /etc/pki/my_little/certs/something_completely_different.crt
176439
176440       salt.modules.tls.ca_exists(ca_name, cacert_path=None, ca_filename=None)
176441              Verify whether a Certificate Authority (CA) already exists
176442
176443              ca_name
176444                     name of the CA
176445
176446              cacert_path
176447                     absolute path to ca certificates root directory
176448
176449              ca_filename
176450                     alternative filename for the CA
176451
176452                     New in version 2015.5.3.
176453
176454
176455              CLI Example:
176456
176457                 salt '*' tls.ca_exists test_ca /etc/certs
176458
176459       salt.modules.tls.cert_base_path(cacert_path=None)
176460              Return the base path for certs from CLI or from options
176461
176462              cacert_path
176463                     absolute path to ca certificates root directory
176464
176465              CLI Example:
176466
176467                 salt '*' tls.cert_base_path
176468
176469       salt.modules.tls.cert_info(cert, digest=u'sha256')
176470              Return information for a particular certificate
176471
176472              cert   path to the certifiate PEM file or string
176473
176474                     Changed in version 2018.3.4.
176475
176476
176477              digest what digest to use for fingerprinting
176478
176479              CLI Example:
176480
176481                 salt '*' tls.cert_info /dir/for/certs/cert.pem
176482
176483       salt.modules.tls.create_ca(ca_name,  bits=2048,  days=365,  CN=u'local‐
176484       host',  C=u'US',  ST=u'Utah',  L=u'Salt  Lake  City',   O=u'SaltStack',
176485       OU=None,  emailAddress=None,  fixmode=False, cacert_path=None, ca_file‐
176486       name=None, digest=u'sha256', onlyif=None, unless=None, replace=False)
176487              Create a Certificate Authority (CA)
176488
176489              ca_name
176490                     name of the CA
176491
176492              bits   number of RSA key bits, default is 2048
176493
176494              days   number of days the CA will be valid, default is 365
176495
176496              CN     common name in the request, default is "localhost"
176497
176498              C      country, default is "US"
176499
176500              ST     state, default is "Utah"
176501
176502              L      locality, default is "Centerville", the city where  Salt‐
176503                     Stack originated
176504
176505              O      organization, default is "SaltStack"
176506
176507              OU     organizational unit, default is None
176508
176509              emailAddress
176510                     email address for the CA owner, default is None
176511
176512              cacert_path
176513                     absolute path to ca certificates root directory
176514
176515              ca_filename
176516                     alternative filename for the CA
176517
176518                     New in version 2015.5.3.
176519
176520
176521              digest The message digest algorithm. Must be a string describing
176522                     a   digest   algorithm   supported   by    OpenSSL    (by
176523                     EVP_get_digestbyname,  specifically).  For example, "md5"
176524                     or "sha1". Default: 'sha256'
176525
176526              replace
176527                     Replace this certificate even if it exists
176528
176529                     New in version 2015.5.1.
176530
176531
176532              Writes out a CA certificate based upon defined config values. If
176533              the  file already exists, the function just returns assuming the
176534              CA certificate already exists.
176535
176536              If the following values were set:
176537
176538                 ca.cert_base_path='/etc/pki'
176539                 ca_name='koji'
176540
176541              the resulting CA, and corresponding key, would be written in the
176542              following location:
176543
176544                 /etc/pki/koji/koji_ca_cert.crt
176545                 /etc/pki/koji/koji_ca_cert.key
176546
176547              CLI Example:
176548
176549                 salt '*' tls.create_ca test_ca
176550
176551       salt.modules.tls.create_ca_signed_cert(ca_name,   CN,   days=365,  cac‐
176552       ert_path=None,  ca_filename=None,  cert_path=None,  cert_filename=None,
176553       digest=u'sha256', cert_type=None, type_ext=False, replace=False)
176554              Create  a  Certificate  (CERT)  signed  by  a  named Certificate
176555              Authority (CA)
176556
176557              If the  certificate  file  already  exists,  the  function  just
176558              returns assuming the CERT already exists.
176559
176560              The CN must match an existing CSR generated by create_csr. If it
176561              does not, this method does nothing.
176562
176563              ca_name
176564                     name of the CA
176565
176566              CN     common name matching the certificate signing request
176567
176568              days   number of days certificate is valid, default  is  365  (1
176569                     year)
176570
176571              cacert_path
176572                     absolute path to ca certificates root directory
176573
176574              ca_filename
176575                     alternative filename for the CA
176576
176577                     New in version 2015.5.3.
176578
176579
176580              cert_path
176581                     full path to the certificates directory
176582
176583              cert_filename
176584                     alternative  filename  for  the  certificate, useful when
176585                     using special characters in the CN. If this option is set
176586                     it  will override the certificate filename output effects
176587                     of cert_type.  type_ext will be completely overridden.
176588
176589                     New in version 2015.5.3.
176590
176591
176592              digest The message digest algorithm. Must be a string describing
176593                     a    digest    algorithm   supported   by   OpenSSL   (by
176594                     EVP_get_digestbyname, specifically).  For example,  "md5"
176595                     or "sha1". Default: 'sha256'
176596
176597              replace
176598                     Replace this certificate even if it exists
176599
176600                     New in version 2015.5.1.
176601
176602
176603              cert_type
176604                     string. Either 'server' or 'client' (see create_csr() for
176605                     details).
176606
176607                     If create_csr(type_ext=True) this function must be called
176608                     with the same cert_type so it can find the CSR file.
176609
176610              NOTE:
176611                 create_csr() defaults to cert_type='server'; therefore, if it
176612                 was also called with type_ext, cert_type becomes  a  required
176613                 argument for create_ca_signed_cert()
176614
176615              type_ext
176616                     bool.  If  set True, use cert_type as an extension to the
176617                     CN when formatting the filename.
176618
176619                     e.g.:     some_subject_CN_server.crt     or     some_sub‐
176620                     ject_CN_client.crt
176621
176622                     This   facilitates  the  context  where  both  types  are
176623                     required for the same subject
176624
176625                     If cert_filename is not None,  setting  type_ext  has  no
176626                     effect
176627
176628              If the following values were set:
176629
176630                 ca.cert_base_path='/etc/pki'
176631                 ca_name='koji'
176632                 CN='test.egavas.org'
176633
176634              the resulting signed certificate would be written in the follow‐
176635              ing location:
176636
176637                 /etc/pki/koji/certs/test.egavas.org.crt
176638
176639              CLI Example:
176640
176641                 salt '*' tls.create_ca_signed_cert test localhost
176642
176643       salt.modules.tls.create_csr(ca_name,    bits=2048,     CN=u'localhost',
176644       C=u'US',  ST=u'Utah',  L=u'Salt  Lake  City',  O=u'SaltStack', OU=None,
176645       emailAddress=None,  subjectAltName=None,   cacert_path=None,   ca_file‐
176646       name=None,    csr_path=None,    csr_filename=None,    digest=u'sha256',
176647       type_ext=False, cert_type=u'server', replace=False)
176648              Create a Certificate Signing Request (CSR) for a particular Cer‐
176649              tificate Authority (CA)
176650
176651              ca_name
176652                     name of the CA
176653
176654              bits   number of RSA key bits, default is 2048
176655
176656              CN     common name in the request, default is "localhost"
176657
176658              C      country, default is "US"
176659
176660              ST     state, default is "Utah"
176661
176662              L      locality,  default is "Centerville", the city where Salt‐
176663                     Stack originated
176664
176665              O      organization, default is "SaltStack" NOTE: Must the  same
176666                     as CA certificate or an error will be raised
176667
176668              OU     organizational unit, default is None
176669
176670              emailAddress
176671                     email address for the request, default is None
176672
176673              subjectAltName
176674                     valid subjectAltNames in full form, e.g. to add DNS entry
176675                     you would call this function with this value:
176676
176677                     examples: ['DNS:somednsname.com',
176678                            'DNS:1.2.3.4',                       'IP:1.2.3.4',
176679                            'IP:2001:4801:7821:77:be76:4eff:fe11:e51',
176680                            'email:me@i.like.pie.com']
176681
176682              NOTE:
176683                 some libraries do not properly query  IP:  prefixes,  instead
176684                 looking  for  the given req. source with a DNS: prefix. To be
176685                 thorough, you may want to include both DNS: and  IP:  entries
176686                 if  you  are  using subjectAltNames for destinations for your
176687                 TLS connections.  e.g.: requests to https://1.2.3.4 will fail
176688                 from  python's requests library w/out the second entry in the
176689                 above list
176690
176691              New in version 2015.8.0.
176692
176693
176694              cert_type
176695                     Specify the  general  certificate  type.  Can  be  either
176696                     server  or client. Indicates the set of common extensions
176697                     added to the CSR.
176698
176699                        server: {
176700                           'basicConstraints': 'CA:FALSE',
176701                           'extendedKeyUsage': 'serverAuth',
176702                           'keyUsage': 'digitalSignature, keyEncipherment'
176703                        }
176704
176705                        client: {
176706                           'basicConstraints': 'CA:FALSE',
176707                           'extendedKeyUsage': 'clientAuth',
176708                           'keyUsage': 'nonRepudiation, digitalSignature, keyEncipherment'
176709                        }
176710
176711              type_ext
176712                     boolean.  Whether or not  to  extend  the  filename  with
176713                     CN_[cert_type]  This can be useful if a server and client
176714                     certificate are needed for the same CN. Defaults to False
176715                     to avoid introducing an unexpected file naming pattern
176716
176717                     The   files   normally   named   some_subject_CN.csr  and
176718                     some_subject_CN.key will then be saved
176719
176720              replace
176721                     Replace this signing request even if it exists
176722
176723                     New in version 2015.5.1.
176724
176725
176726              Writes out a Certificate  Signing  Request  (CSR)  If  the  file
176727              already  exists,  the  function  just  returns  assuming the CSR
176728              already exists.
176729
176730              If the following values were set:
176731
176732                 ca.cert_base_path='/etc/pki'
176733                 ca_name='koji'
176734                 CN='test.egavas.org'
176735
176736              the resulting CSR, and corresponding key, would  be  written  in
176737              the following location:
176738
176739                 /etc/pki/koji/certs/test.egavas.org.csr
176740                 /etc/pki/koji/certs/test.egavas.org.key
176741
176742              CLI Example:
176743
176744                 salt '*' tls.create_csr test
176745
176746       salt.modules.tls.create_empty_crl(ca_name,  cacert_path=None,  ca_file‐
176747       name=None, crl_file=None)
176748              Create an empty Certificate Revocation List.
176749
176750              New in version 2015.8.0.
176751
176752
176753              ca_name
176754                     name of the CA
176755
176756              cacert_path
176757                     absolute path to ca certificates root directory
176758
176759              ca_filename
176760                     alternative filename for the CA
176761
176762                     New in version 2015.5.3.
176763
176764
176765              crl_file
176766                     full path to the CRL file
176767
176768              CLI Example:
176769
176770                 salt '*' tls.create_empty_crl ca_name='koji'                 ca_filename='ca'                 crl_file='/etc/openvpn/team1/crl.pem'
176771
176772       salt.modules.tls.create_pkcs12(ca_name,   CN,   passphrase=u'',    cac‐
176773       ert_path=None, replace=False)
176774              Create  a  PKCS#12 browser certificate for a particular Certifi‐
176775              cate (CN)
176776
176777              ca_name
176778                     name of the CA
176779
176780              CN     common name matching the certificate signing request
176781
176782              passphrase
176783                     used to unlock the PKCS#12 certificate when  loaded  into
176784                     the browser
176785
176786              cacert_path
176787                     absolute path to ca certificates root directory
176788
176789              replace
176790                     Replace this certificate even if it exists
176791
176792                     New in version 2015.5.1.
176793
176794
176795              If the following values were set:
176796
176797                 ca.cert_base_path='/etc/pki'
176798                 ca_name='koji'
176799                 CN='test.egavas.org'
176800
176801              the resulting signed certificate would be written in the follow‐
176802              ing location:
176803
176804                 /etc/pki/koji/certs/test.egavas.org.p12
176805
176806              CLI Example:
176807
176808                 salt '*' tls.create_pkcs12 test localhost
176809
176810       salt.modules.tls.create_self_signed_cert(tls_dir=u'tls',     bits=2048,
176811       days=365,  CN=u'localhost',  C=u'US',  ST=u'Utah', L=u'Salt Lake City',
176812       O=u'SaltStack',    OU=None,    emailAddress=None,     cacert_path=None,
176813       cert_filename=None, digest=u'sha256', replace=False)
176814              Create a Self-Signed Certificate (CERT)
176815
176816              tls_dir
176817                     location  appended  to  the ca.cert_base_path, default is
176818                     'tls'
176819
176820              bits   number of RSA key bits, default is 2048
176821
176822              CN     common name in the request, default is "localhost"
176823
176824              C      country, default is "US"
176825
176826              ST     state, default is "Utah"
176827
176828              L      locality, default is "Centerville", the city where  Salt‐
176829                     Stack originated
176830
176831              O      organization,  default is "SaltStack" NOTE: Must the same
176832                     as CA certificate or an error will be raised
176833
176834              OU     organizational unit, default is None
176835
176836              emailAddress
176837                     email address for the request, default is None
176838
176839              cacert_path
176840                     absolute path to ca certificates root directory
176841
176842              digest The message digest algorithm. Must be a string describing
176843                     a    digest    algorithm   supported   by   OpenSSL   (by
176844                     EVP_get_digestbyname, specifically).  For example,  "md5"
176845                     or "sha1". Default: 'sha256'
176846
176847              replace
176848                     Replace this certificate even if it exists
176849
176850                     New in version 2015.5.1.
176851
176852
176853              Writes out a Self-Signed Certificate (CERT). If the file already
176854              exists, the function just returns.
176855
176856              If the following values were set:
176857
176858                 ca.cert_base_path='/etc/pki'
176859                 tls_dir='koji'
176860                 CN='test.egavas.org'
176861
176862              the resulting CERT, and corresponding key, would be  written  in
176863              the following location:
176864
176865                 /etc/pki/koji/certs/test.egavas.org.crt
176866                 /etc/pki/koji/certs/test.egavas.org.key
176867
176868              CLI Example:
176869
176870                 salt '*' tls.create_self_signed_cert
176871
176872              Passing options from the command line:
176873
176874                 salt 'minion' tls.create_self_signed_cert CN='test.mysite.org'
176875
176876       salt.modules.tls.get_ca(ca_name, as_text=False, cacert_path=None)
176877              Get the certificate path or content
176878
176879              ca_name
176880                     name of the CA
176881
176882              as_text
176883                     if  true,  return  the certificate content instead of the
176884                     path
176885
176886              cacert_path
176887                     absolute path to ca certificates root directory
176888
176889              CLI Example:
176890
176891                 salt '*' tls.get_ca test_ca as_text=False cacert_path=/etc/certs
176892
176893       salt.modules.tls.get_ca_signed_cert(ca_name,           CN=u'localhost',
176894       as_text=False, cacert_path=None, cert_filename=None)
176895              Get the certificate path or content
176896
176897              ca_name
176898                     name of the CA
176899
176900              CN     common name of the certificate
176901
176902              as_text
176903                     if  true,  return  the certificate content instead of the
176904                     path
176905
176906              cacert_path
176907                     absolute path to certificates root directory
176908
176909              cert_filename
176910                     alternative filename for  the  certificate,  useful  when
176911                     using special characters in the CN
176912
176913                     New in version 2015.5.3.
176914
176915
176916              CLI Example:
176917
176918                 salt '*' tls.get_ca_signed_cert test_ca CN=localhost as_text=False cacert_path=/etc/certs
176919
176920       salt.modules.tls.get_ca_signed_key(ca_name,            CN=u'localhost',
176921       as_text=False, cacert_path=None, key_filename=None)
176922              Get the certificate path or content
176923
176924              ca_name
176925                     name of the CA
176926
176927              CN     common name of the certificate
176928
176929              as_text
176930                     if true, return the certificate content  instead  of  the
176931                     path
176932
176933              cacert_path
176934                     absolute path to certificates root directory
176935
176936              key_filename
176937                     alternative  filename for the key, useful when using spe‐
176938                     cial characters
176939
176940                     New in version 2015.5.3.
176941
176942
176943                     in the CN
176944
176945              CLI Example:
176946
176947                 salt '*' tls.get_ca_signed_key                 test_ca CN=localhost                 as_text=False                 cacert_path=/etc/certs
176948
176949       salt.modules.tls.get_expiration_date(cert, date_format=u'%Y-%m-%d')
176950              New in version 2019.2.0.
176951
176952
176953              Get a certificate's expiration date
176954
176955              cert   Full path to the certificate
176956
176957              date_format
176958                     By default  this  will  return  the  expiration  date  in
176959                     YYYY-MM-DD  format, use this to specify a different strf‐
176960                     time format string. Note that the expiration time will be
176961                     in UTC.
176962
176963              CLI Examples:
176964
176965                 salt '*' tls.get_expiration_date /path/to/foo.crt
176966                 salt '*' tls.get_expiration_date /path/to/foo.crt date_format='%d/%m/%Y'
176967
176968       salt.modules.tls.get_extensions(cert_type)
176969              Fetch  X509  and  CSR extension definitions from tls:extensions:
176970              (common|server|client) or set them to standard defaults.
176971
176972              New in version 2015.8.0.
176973
176974
176975              cert_type:
176976                     The type of certificate such as server or client.
176977
176978              CLI Example:
176979
176980                 salt '*' tls.get_extensions client
176981
176982       salt.modules.tls.maybe_fix_ssl_version(ca_name,       cacert_path=None,
176983       ca_filename=None)
176984              Check  that  the X509 version is correct (was incorrectly set in
176985              previous salt versions).  This will fix the version if needed.
176986
176987              ca_name
176988                     ca authority name
176989
176990              cacert_path
176991                     absolute path to ca certificates root directory
176992
176993              ca_filename
176994                     alternative filename for the CA
176995
176996                     New in version 2015.5.3.
176997
176998
176999              CLI Example:
177000
177001                 salt '*' tls.maybe_fix_ssl_version test_ca /etc/certs
177002
177003       salt.modules.tls.revoke_cert(ca_name,  CN,  cacert_path=None,  ca_file‐
177004       name=None, cert_path=None, cert_filename=None, crl_file=None)
177005              Revoke a certificate.
177006
177007              New in version 2015.8.0.
177008
177009
177010              ca_name
177011                     Name of the CA.
177012
177013              CN     Common name matching the certificate signing request.
177014
177015              cacert_path
177016                     Absolute path to ca certificates root directory.
177017
177018              ca_filename
177019                     Alternative filename for the CA.
177020
177021              cert_path
177022                     Path to the cert file.
177023
177024              cert_filename
177025                     Alternative  filename  for  the  certificate, useful when
177026                     using special characters in the CN.
177027
177028              crl_file
177029                     Full path to the CRL file.
177030
177031              CLI Example:
177032
177033                 salt '*' tls.revoke_cert ca_name='koji'                 ca_filename='ca'                 crl_file='/etc/openvpn/team1/crl.pem'
177034
177035       salt.modules.tls.set_ca_path(cacert_path)
177036              If wanted, store the aforementioned cacert_path in context to be
177037              used as the basepath for further operations
177038
177039              CLI Example:
177040
177041                 salt '*' tls.set_ca_path /etc/certs
177042
177043   salt.modules.tomcat
177044       Support for Tomcat
177045
177046       This  module  uses  the manager webapp to manage Apache tomcat webapps.
177047       If the manager webapp is not configured some  of  the  functions  won't
177048       work.
177049
177050       configuration
177051
177052              · Java bin path should be in default path
177053
177054              · If ipv6 is enabled make sure you permit manager access to ipv6
177055                interface "0:0:0:0:0:0:0:1"
177056
177057              · If you are using tomcat.tar.gz it has to be installed or  sym‐
177058                linked under /opt, preferably using name tomcat
177059
177060              · "tomcat.signal  start/stop"  works  but  it  does  not use the
177061                startup scripts
177062
177063       The following grains/pillar should be set:
177064
177065          tomcat-manager:
177066            user: <username>
177067            passwd: <password>
177068
177069       or the old format:
177070
177071          tomcat-manager.user: <username>
177072          tomcat-manager.passwd: <password>
177073
177074       Also configure a user in the conf/tomcat-users.xml file:
177075
177076          <?xml version='1.0' encoding='utf-8'?>
177077          <tomcat-users>
177078              <role rolename="manager-script"/>
177079              <user username="tomcat" password="tomcat" roles="manager-script"/>
177080          </tomcat-users>
177081
177082       NOTE:
177083
177084          · More        information        about        tomcat        manager:
177085            http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
177086
177087          · if  you  use only this module for deployments you've might want to
177088            strict access to the manager only from localhost  for  more  info:
177089            http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Configuring_Manager_Application_Access
177090
177091          · Tested on:
177092
177093            JVM Vendor:
177094                   Sun Microsystems Inc.
177095
177096            JVM Version:
177097                   1.6.0_43-b01
177098
177099            OS Architecture:
177100                   amd64
177101
177102            OS Name:
177103                   Linux
177104
177105            OS Version:
177106                   2.6.32-358.el6.x86_64
177107
177108            Tomcat Version:
177109                   Apache Tomcat/7.0.37
177110
177111       salt.modules.tomcat.deploy_war(war,        context,        force=u'no',
177112       url=u'http://localhost:8080/manager',   saltenv=u'base',   timeout=180,
177113       temp_war_location=None, version=True)
177114              Deploy a WAR file
177115
177116              war    absolute path to WAR file (should be  accessible  by  the
177117                     user running tomcat) or a path supported by the salt.mod‐
177118                     ules.cp.get_file function
177119
177120              context
177121                     the context path to deploy
177122
177123              force  False set True to deploy the webapp even one is  deployed
177124                     in the context
177125
177126              url    http://localhost:8080/manager  the URL of the server man‐
177127                     ager webapp
177128
177129              saltenv
177130                     base the environment for WAR file in  used  by  salt.mod‐
177131                     ules.cp.get_url function
177132
177133              timeout
177134                     180 timeout for HTTP request
177135
177136              temp_war_location
177137                     None use another location to temporarily copy to war file
177138                     by default the system's temp directory is used
177139
177140              version
177141                     '' Specify the war version.  If  this  argument  is  pro‐
177142                     vided,  it  overrides the version encoded in the war file
177143                     name, if one is present.
177144
177145                     Examples:
177146
177147                        salt '*' tomcat.deploy_war salt://salt-2015.8.6.war version=2015.08.r6
177148
177149                     New in version 2015.8.6.
177150
177151
177152              CLI Examples:
177153
177154              cp module
177155
177156                 salt '*' tomcat.deploy_war salt://application.war /api
177157                 salt '*' tomcat.deploy_war salt://application.war /api no
177158                 salt '*' tomcat.deploy_war salt://application.war /api yes http://localhost:8080/manager
177159
177160              minion local file system
177161
177162                 salt '*' tomcat.deploy_war /tmp/application.war /api
177163                 salt '*' tomcat.deploy_war /tmp/application.war /api no
177164                 salt '*' tomcat.deploy_war /tmp/application.war /api yes http://localhost:8080/manager
177165
177166       salt.modules.tomcat.extract_war_version(war)
177167              Extract the version from the war file name. There does not  seem
177168              to be a standard for encoding the version into the war file name
177169
177170              Examples:
177171
177172                 /path/salt-2015.8.6.war -> 2015.8.6
177173                 /path/V6R2013xD5.war -> None
177174
177175       salt.modules.tomcat.fullversion()
177176              Return all server information from catalina.sh version
177177
177178              CLI Example:
177179
177180                 salt '*' tomcat.fullversion
177181
177182       salt.modules.tomcat.leaks(url=u'http://localhost:8080/manager',   time‐
177183       out=180)
177184              Find memory leaks in tomcat
177185
177186              url    http://localhost:8080/manager the URL of the server  man‐
177187                     ager webapp
177188
177189              timeout
177190                     180 timeout for HTTP request
177191
177192              CLI Examples:
177193
177194                 salt '*' tomcat.leaks
177195
177196       salt.modules.tomcat.ls(url=u'http://localhost:8080/manager',      time‐
177197       out=180)
177198              list all the deployed webapps
177199
177200              url    http://localhost:8080/manager the URL of the server  man‐
177201                     ager webapp
177202
177203              timeout
177204                     180 timeout for HTTP request
177205
177206              CLI Examples:
177207
177208                 salt '*' tomcat.ls
177209                 salt '*' tomcat.ls http://localhost:8080/manager
177210
177211       salt.modules.tomcat.passwd(passwd, user=u'', alg=u'sha1', realm=None)
177212              This  function  replaces the $CATALINA_HOME/bin/digest.sh script
177213              convert a clear-text password  to  the  $CATALINA_BASE/conf/tom‐
177214              cat-users.xml format
177215
177216              CLI Examples:
177217
177218                 salt '*' tomcat.passwd secret
177219                 salt '*' tomcat.passwd secret tomcat sha1
177220                 salt '*' tomcat.passwd secret tomcat sha1 'Protected Realm'
177221
177222       salt.modules.tomcat.reload_(app,  url=u'http://localhost:8080/manager',
177223       timeout=180)
177224              Reload the webapp
177225
177226              app    the webapp context path
177227
177228              url    http://localhost:8080/manager the URL of the server  man‐
177229                     ager webapp
177230
177231              timeout
177232                     180 timeout for HTTP request
177233
177234              CLI Examples:
177235
177236                 salt '*' tomcat.reload /jenkins
177237                 salt '*' tomcat.reload /jenkins http://localhost:8080/manager
177238
177239       salt.modules.tomcat.serverinfo(url=u'http://localhost:8080/manager',
177240       timeout=180)
177241              return details about the server
177242
177243              url    http://localhost:8080/manager the URL of the server  man‐
177244                     ager webapp
177245
177246              timeout
177247                     180 timeout for HTTP request
177248
177249              CLI Examples:
177250
177251                 salt '*' tomcat.serverinfo
177252                 salt '*' tomcat.serverinfo http://localhost:8080/manager
177253
177254       salt.modules.tomcat.sessions(app, url=u'http://localhost:8080/manager',
177255       timeout=180)
177256              return the status of the webapp sessions
177257
177258              app    the webapp context path
177259
177260              url    http://localhost:8080/manager the URL of the server  man‐
177261                     ager webapp
177262
177263              timeout
177264                     180 timeout for HTTP request
177265
177266              CLI Examples:
177267
177268                 salt '*' tomcat.sessions /jenkins
177269                 salt '*' tomcat.sessions /jenkins http://localhost:8080/manager
177270
177271       salt.modules.tomcat.signal(signal=None)
177272              Signals catalina to start, stop, securestart, forcestop.
177273
177274              CLI Example:
177275
177276                 salt '*' tomcat.signal start
177277
177278       salt.modules.tomcat.start(app,    url=u'http://localhost:8080/manager',
177279       timeout=180)
177280              Start the webapp
177281
177282              app    the webapp context path
177283
177284              url    http://localhost:8080/manager the URL of the server  man‐
177285                     ager webapp
177286
177287              timeout
177288                     timeout for HTTP request
177289
177290              CLI Examples:
177291
177292                 salt '*' tomcat.start /jenkins
177293                 salt '*' tomcat.start /jenkins http://localhost:8080/manager
177294
177295       salt.modules.tomcat.status(url=u'http://localhost:8080/manager',  time‐
177296       out=180)
177297              Used to test if the tomcat manager is up
177298
177299              url    http://localhost:8080/manager the URL of the server  man‐
177300                     ager webapp
177301
177302              timeout
177303                     180 timeout for HTTP request
177304
177305              CLI Examples:
177306
177307                 salt '*' tomcat.status
177308                 salt '*' tomcat.status http://localhost:8080/manager
177309
177310       salt.modules.tomcat.status_webapp(app, url=u'http://localhost:8080/man‐
177311       ager', timeout=180)
177312              return the status of the webapp (stopped | running | missing)
177313
177314              app    the webapp context path
177315
177316              url    http://localhost:8080/manager the URL of the server  man‐
177317                     ager webapp
177318
177319              timeout
177320                     180 timeout for HTTP request
177321
177322              CLI Examples:
177323
177324                 salt '*' tomcat.status_webapp /jenkins
177325                 salt '*' tomcat.status_webapp /jenkins http://localhost:8080/manager
177326
177327       salt.modules.tomcat.stop(app,     url=u'http://localhost:8080/manager',
177328       timeout=180)
177329              Stop the webapp
177330
177331              app    the webapp context path
177332
177333              url    http://localhost:8080/manager the URL of the server  man‐
177334                     ager webapp
177335
177336              timeout
177337                     180 timeout for HTTP request
177338
177339              CLI Examples:
177340
177341                 salt '*' tomcat.stop /jenkins
177342                 salt '*' tomcat.stop /jenkins http://localhost:8080/manager
177343
177344       salt.modules.tomcat.undeploy(app, url=u'http://localhost:8080/manager',
177345       timeout=180)
177346              Undeploy a webapp
177347
177348              app    the webapp context path
177349
177350              url    http://localhost:8080/manager the URL of the server  man‐
177351                     ager webapp
177352
177353              timeout
177354                     180 timeout for HTTP request
177355
177356              CLI Examples:
177357
177358                 salt '*' tomcat.undeploy /jenkins
177359                 salt '*' tomcat.undeploy /jenkins http://localhost:8080/manager
177360
177361       salt.modules.tomcat.version()
177362              Return server version from catalina.sh version
177363
177364              CLI Example:
177365
177366                 salt '*' tomcat.version
177367
177368   salt.modules.trafficserver
177369       Apache Traffic Server execution module.
177370
177371       New in version 2015.8.0.
177372
177373
177374       traffic_ctl  is  used to execute individual Traffic Server commands and
177375       to script multiple commands in a shell.
177376
177377       salt.modules.trafficserver.alarms()
177378              List all alarm events that have not been acknowledged (cleared).
177379
177380                 salt '*' trafficserver.alarms
177381
177382       salt.modules.trafficserver.bounce_cluster()
177383              Bounce all Traffic Server nodes in the cluster. Bouncing Traffic
177384              Server  shuts  down  and  immediately  restarts  Traffic Server,
177385              node-by-node.
177386
177387                 salt '*' trafficserver.bounce_cluster
177388
177389       salt.modules.trafficserver.bounce_local(drain=False)
177390              Bounce Traffic Server on the local node. Bouncing Traffic Server
177391              shuts down and immediately restarts the Traffic Server node.
177392
177393              drain  This option modifies the restart behavior such that traf‐
177394                     fic_server is not shut down until the  number  of  active
177395                     client  connections  drops  to  the  number  given by the
177396                     proxy.config.restart.active_client_threshold   configura‐
177397                     tion variable.
177398
177399                 salt '*' trafficserver.bounce_local
177400                 salt '*' trafficserver.bounce_local drain=True
177401
177402       salt.modules.trafficserver.clear_alarms(alarm)
177403              Clear  (acknowledge) an alarm event. The arguments are “all” for
177404              all current alarms, a specific alarm number (e.g. ‘‘1’‘), or  an
177405              alarm    string    identifier    (e.g.   ‘’MGMT_ALARM_PROXY_CON‐
177406              FIG_ERROR’‘).
177407
177408                 salt '*' trafficserver.clear_alarms [all | #event | name]
177409
177410       salt.modules.trafficserver.clear_cluster()
177411              Clears accumulated statistics on all nodes in the cluster.
177412
177413                 salt '*' trafficserver.clear_cluster
177414
177415       salt.modules.trafficserver.clear_node()
177416              Clears accumulated statistics on the local node.
177417
177418                 salt '*' trafficserver.clear_node
177419
177420       salt.modules.trafficserver.match_config(regex)
177421              Display the current values of all configuration variables  whose
177422              names match the given regular expression.
177423
177424              New in version 2016.11.0.
177425
177426
177427                 salt '*' trafficserver.match_config regex
177428
177429       salt.modules.trafficserver.match_metric(regex)
177430              Display  the current values of all metrics whose names match the
177431              given regular expression.
177432
177433              New in version 2016.11.0.
177434
177435
177436                 salt '*' trafficserver.match_metric regex
177437
177438       salt.modules.trafficserver.offline(path)
177439              Mark a cache storage device as offline. The storage  is  identi‐
177440              fied  by  a  path  which  must match exactly a path specified in
177441              storage.config. This removes the  storage  from  the  cache  and
177442              redirects  requests  that  would have used this storage to other
177443              storage. This has exactly the same effect as a disk failure  for
177444              that storage. This does not persist across restarts of the traf‐
177445              fic_server process.
177446
177447                 salt '*' trafficserver.offline /path/to/cache
177448
177449       salt.modules.trafficserver.read_config(*args)
177450              Read Traffic Server configuration variable definitions.
177451
177452              New in version 2016.11.0.
177453
177454
177455                 salt '*' trafficserver.read_config proxy.config.http.keep_alive_post_out
177456
177457       salt.modules.trafficserver.read_metric(*args)
177458              Read Traffic Server one or more metrics.
177459
177460              New in version 2016.11.0.
177461
177462
177463                 salt '*' trafficserver.read_metric proxy.process.http.tcp_hit_count_stat
177464
177465       salt.modules.trafficserver.refresh()
177466              Initiate a Traffic Server configuration file  reread.  Use  this
177467              command to update the running configuration after any configura‐
177468              tion file modification.
177469
177470              The timestamp of the  last  reconfiguration  event  (in  seconds
177471              since  epoch)  is  published  in the proxy.node.config.reconfig‐
177472              ure_time metric.
177473
177474                 salt '*' trafficserver.refresh
177475
177476       salt.modules.trafficserver.restart_cluster()
177477              Restart  the  traffic_manager  process  and  the  traffic_server
177478              process on all the nodes in a cluster.
177479
177480                 salt '*' trafficserver.restart_cluster
177481
177482       salt.modules.trafficserver.restart_local(drain=False)
177483              Restart  the traffic_manager and traffic_server processes on the
177484              local node.
177485
177486              drain  This option modifies the restart behavior such that traf‐
177487                     fic_server  is  not  shut down until the number of active
177488                     client connections drops  to  the  number  given  by  the
177489                     proxy.config.restart.active_client_threshold   configura‐
177490                     tion variable.
177491
177492                 salt '*' trafficserver.restart_local
177493                 salt '*' trafficserver.restart_local drain=True
177494
177495       salt.modules.trafficserver.set_config(variable, value)
177496              Set the value of a Traffic Server configuration variable.
177497
177498              variable
177499                     Name of a Traffic Server configuration variable.
177500
177501              value  The new value to set.
177502
177503              New in version 2016.11.0.
177504
177505
177506                 salt '*' trafficserver.set_config proxy.config.http.keep_alive_post_out 0
177507
177508       salt.modules.trafficserver.shutdown()
177509              Shut down Traffic Server on the local node.
177510
177511                 salt '*' trafficserver.shutdown
177512
177513       salt.modules.trafficserver.startup()
177514              Start Traffic Server on the local node.
177515
177516                 salt '*' trafficserver.start
177517
177518       salt.modules.trafficserver.status()
177519              Show the current proxy server status, indicating if  we’re  run‐
177520              ning or not.
177521
177522                 salt '*' trafficserver.status
177523
177524       salt.modules.trafficserver.zero_cluster()
177525              Reset performance statistics to zero across the cluster.
177526
177527                 salt '*' trafficserver.zero_cluster
177528
177529       salt.modules.trafficserver.zero_node()
177530              Reset performance statistics to zero on the local node.
177531
177532                 salt '*' trafficserver.zero_cluster
177533
177534   salt.modules.travisci
177535       Commands for working with travisci.
177536
177537       depends
177538              pyOpenSSL >= 16.0.0
177539
177540       salt.modules.travisci.verify_webhook(signature, body)
177541              Verify the webhook signature from travisci
177542
177543              signature
177544                     The signature header from the webhook header
177545
177546              body   The full payload body from the webhook post
177547
177548              NOTE:
177549                 The body needs to be the urlencoded version of the body.
177550
177551              CLI Example:
177552
177553                 salt '*' travisci.verify_webhook 'M6NucCX5722bxisQs7e...' 'payload=%7B%22id%22%3A183791261%2C%22repository...'
177554
177555   salt.modules.tuned
177556       Interface to Red Hat tuned-adm module
177557
177558       maintainer
177559              Syed Ali <alicsyed@gmail.com>
177560
177561       maturity
177562              new
177563
177564       depends
177565              tuned-adm
177566
177567       platform
177568              Linux
177569
177570       salt.modules.tuned.active()
177571              Return current active profile
177572
177573              CLI Example:
177574
177575                 salt '*' tuned.active
177576
177577       salt.modules.tuned.list_()
177578              List the profiles available
177579
177580              CLI Example:
177581
177582                 salt '*' tuned.list
177583
177584       salt.modules.tuned.off()
177585              Turn off all profiles
177586
177587              CLI Example:
177588
177589                 salt '*' tuned.off
177590
177591       salt.modules.tuned.profile(profile_name)
177592              Activate specified profile
177593
177594              CLI Example:
177595
177596                 salt '*' tuned.profile virtual-guest
177597
177598   salt.modules.twilio_notify
177599       Module for notifications via Twilio
177600
177601       New in version 2014.7.0.
177602
177603
177604       depends
177605
177606              · twilio python module
177607
177608       configuration
177609              Configure  this module by specifying the name of a configuration
177610              profile in the minion config, minion pillar,  or  master  config
177611              (with pillar_opts set to True).
177612
177613              For example:
177614
177615                 my-twilio-account:
177616                     twilio.account_sid: AC32a3c83990934481addd5ce1659f04d2
177617                     twilio.auth_token: mytoken
177618
177619       salt.modules.twilio_notify.send_sms(profile, body, to, from_)
177620              Send an sms
177621
177622              CLI Example:
177623                 twilio.send_sms  my-twilio-account  'Test sms' '+18019999999'
177624                 '+18011111111'
177625
177626   salt.modules.udev
177627       Manage and query udev info
177628
177629       New in version 2015.8.0.
177630
177631
177632       salt.modules.udev.env(dev)
177633              Return all environment variables udev has for dev
177634
177635              CLI Example:
177636
177637                 salt '*' udev.env /dev/sda
177638                 salt '*' udev.env /sys/class/net/eth0
177639
177640       salt.modules.udev.exportdb()
177641              Return all the udev database
177642
177643              CLI Example:
177644
177645                 salt '*' udev.exportdb
177646
177647       salt.modules.udev.info(dev)
177648              Extract all info delivered by udevadm
177649
177650              CLI Example:
177651
177652                 salt '*' udev.info /dev/sda
177653                 salt '*' udev.info /sys/class/net/eth0
177654
177655       salt.modules.udev.links(dev)
177656              Return all udev-created device symlinks
177657
177658              CLI Example:
177659
177660                 salt '*' udev.links /dev/sda
177661                 salt '*' udev.links /sys/class/net/eth0
177662
177663       salt.modules.udev.name(dev)
177664              Return the actual dev name(s?) according to udev for dev
177665
177666              CLI Example:
177667
177668                 salt '*' udev.dev /dev/sda
177669                 salt '*' udev.dev /sys/class/net/eth0
177670
177671       salt.modules.udev.path(dev)
177672              Return the physical device path(s?) according to udev for dev
177673
177674              CLI Example:
177675
177676                 salt '*' udev.path /dev/sda
177677                 salt '*' udev.path /sys/class/net/eth0
177678
177679   salt.modules.upstart_service
177680       Module for the management of upstart systems. The Upstart  system  only
177681       supports service starting, stopping and restarting.
177682
177683       IMPORTANT:
177684          If you feel that Salt should be using this module to manage services
177685          on a minion, and it is using a different module (or gives  an  error
177686          similar to 'service.start' is not available), see here.
177687
177688       Currently  (as  of  Ubuntu 12.04) there is no tool available to disable
177689       Upstart services (like update-rc.d). This[1] is the recommended way  to
177690       disable an Upstart service. So we assume that all Upstart services that
177691       have not been disabled in this manner are enabled.
177692
177693       But this is broken because we do not check to see  that  the  dependent
177694       services  are  enabled.  Otherwise  we  would have to do something like
177695       parse the output of "initctl show-config" to determine if  all  service
177696       dependencies  are enabled to start on boot. For example, see the "start
177697       on" condition for the lightdm service below[2]. And this would  be  too
177698       hard. So we wait until the upstart developers have solved this problem.
177699       :) This is to say that an Upstart  service  that  is  enabled  may  not
177700       really be enabled.
177701
177702       Also, when an Upstart service is enabled, should the dependent services
177703       be enabled too? Probably not. But there should be a notice about  this,
177704       at least.
177705
177706       [1]
177707       http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
177708
177709       [2] example upstart configuration file:
177710
177711          lightdm
177712          emits login-session-start
177713          emits desktop-session-start
177714          emits desktop-shutdown
177715          start on ((((filesystem and runlevel [!06]) and started dbus) and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 or stopped udev-fallback-graphics)) or runlevel PREVLEVEL=S)
177716          stop on runlevel [016]
177717
177718       WARNING:
177719          This  module  should  not be used on Red Hat systems. For these, the
177720          rh_service  module  should  be  used,  as  it  supports  the  hybrid
177721          upstart/sysvinit system used in RHEL/CentOS 6.
177722
177723       salt.modules.upstart_service.available(name)
177724              Returns  True  if  the specified service is available, otherwise
177725              returns False.
177726
177727              CLI Example:
177728
177729                 salt '*' service.available sshd
177730
177731       salt.modules.upstart_service.disable(name, **kwargs)
177732              Disable the named service from starting on boot
177733
177734              CLI Example:
177735
177736                 salt '*' service.disable <service name>
177737
177738       salt.modules.upstart_service.disabled(name)
177739              Check to see if the named service is disabled to start on boot
177740
177741              CLI Example:
177742
177743                 salt '*' service.disabled <service name>
177744
177745       salt.modules.upstart_service.enable(name, **kwargs)
177746              Enable the named service to start at boot
177747
177748              CLI Example:
177749
177750                 salt '*' service.enable <service name>
177751
177752       salt.modules.upstart_service.enabled(name, **kwargs)
177753              Check to see if the named service is enabled to start on boot
177754
177755              CLI Example:
177756
177757                 salt '*' service.enabled <service name>
177758
177759       salt.modules.upstart_service.force_reload(name)
177760              Force-reload the named service
177761
177762              CLI Example:
177763
177764                 salt '*' service.force_reload <service name>
177765
177766       salt.modules.upstart_service.full_restart(name)
177767              Do a full restart (stop/start) of the named service
177768
177769              CLI Example:
177770
177771                 salt '*' service.full_restart <service name>
177772
177773       salt.modules.upstart_service.get_all()
177774              Return all installed services
177775
177776              CLI Example:
177777
177778                 salt '*' service.get_all
177779
177780       salt.modules.upstart_service.get_disabled()
177781              Return the disabled services
177782
177783              CLI Example:
177784
177785                 salt '*' service.get_disabled
177786
177787       salt.modules.upstart_service.get_enabled()
177788              Return the enabled services
177789
177790              CLI Example:
177791
177792                 salt '*' service.get_enabled
177793
177794       salt.modules.upstart_service.missing(name)
177795              The inverse of service.available.  Returns True if the specified
177796              service is not available, otherwise returns False.
177797
177798              CLI Example:
177799
177800                 salt '*' service.missing sshd
177801
177802       salt.modules.upstart_service.reload_(name)
177803              Reload the named service
177804
177805              CLI Example:
177806
177807                 salt '*' service.reload <service name>
177808
177809       salt.modules.upstart_service.restart(name)
177810              Restart the named service
177811
177812              CLI Example:
177813
177814                 salt '*' service.restart <service name>
177815
177816       salt.modules.upstart_service.start(name)
177817              Start the specified service
177818
177819              CLI Example:
177820
177821                 salt '*' service.start <service name>
177822
177823       salt.modules.upstart_service.status(name, sig=None)
177824              Return the status for a service.  If the name contains globbing,
177825              a dict mapping service name to True/False values is returned.
177826
177827              Changed in version 2018.3.0: The service name can now be a  glob
177828              (e.g. salt*)
177829
177830
177831              Parameters
177832
177833                     · name (str) -- The name of the service to check
177834
177835                     · sig  (str)  -- Signature to use to find the service via
177836                       ps
177837
177838              Returns
177839                     True if running, False otherwise dict: Maps service  name
177840                     to True if running, False otherwise
177841
177842              Return type
177843                     bool
177844
177845              CLI Example:
177846
177847                 salt '*' service.status <service name> [service signature]
177848
177849       salt.modules.upstart_service.stop(name)
177850              Stop the specified service
177851
177852              CLI Example:
177853
177854                 salt '*' service.stop <service name>
177855
177856   salt.modules.uptime
177857   Wrapper around uptime API
177858       salt.modules.uptime.check_exists(name)
177859              Check if a given URL is in being monitored by uptime
177860
177861              CLI Example:
177862
177863                 salt '*' uptime.check_exists http://example.org
177864
177865       salt.modules.uptime.checks_list()
177866              List URL checked by uptime
177867
177868              CLI Example:
177869
177870                 salt '*' uptime.checks_list
177871
177872       salt.modules.uptime.create(name, **params)
177873              Create a check on a given URL.
177874
177875              Additional  parameters  can  be  used and are passed to API (for
177876              example  interval,  maxTime,   etc).   See   the   documentation
177877              https://github.com/fzaninotto/uptime  for  a  full  list  of the
177878              parameters.
177879
177880              CLI Example:
177881
177882                 salt '*' uptime.create http://example.org
177883
177884       salt.modules.uptime.delete(name)
177885              Delete a check on a given URL
177886
177887              CLI Example:
177888
177889                 salt '*' uptime.delete http://example.org
177890
177891   salt.modules.useradd
177892       Manage users with the useradd command
177893
177894       IMPORTANT:
177895          If you feel that Salt should be using this module to manage users on
177896          a minion, and it is using a different module (or gives an error sim‐
177897          ilar to 'user.info' is not available), see here.
177898
177899       salt.modules.useradd.add(name,   uid=None,    gid=None,    groups=None,
177900       home=None,  shell=None,  unique=True, system=False, fullname=u'', room‐
177901       number=u'', workphone=u'', homephone=u'',  other=u'',  createhome=True,
177902       loginclass=None, nologinit=False, root=None)
177903              Add a user to the minion
177904
177905              name   Username LOGIN to add
177906
177907              uid    User ID of the new account
177908
177909              gid    Name or ID of the primary group of the new accoun
177910
177911              groups List of supplementary groups of the new account
177912
177913              home   Home directory of the new account
177914
177915              shell  Login shell of the new account
177916
177917              unique Allow to create users with duplicate
177918
177919              system Create a system account
177920
177921              fullname
177922                     GECOS field for the full name
177923
177924              roomnumber
177925                     GECOS field for the room number
177926
177927              workphone
177928                     GECOS field for the work phone
177929
177930              homephone
177931                     GECOS field for the home phone
177932
177933              other  GECOS field for other information
177934
177935              createhome
177936                     Create the user's home directory
177937
177938              loginclass
177939                     Login class for the new account (OpenBSD)
177940
177941              nologinit
177942                     Do not add the user to the lastlog and faillog databases
177943
177944              root   Directory to chroot into
177945
177946              CLI Example:
177947
177948                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
177949
177950       salt.modules.useradd.chfullname(name, fullname, root=None)
177951              Change the user's Full Name
177952
177953              name   User to modify
177954
177955              fullname
177956                     GECOS field for the full name
177957
177958              root   Directory to chroot into
177959
177960              CLI Example:
177961
177962                 salt '*' user.chfullname foo "Foo Bar"
177963
177964       salt.modules.useradd.chgid(name, gid, root=None)
177965              Change the default group of the user
177966
177967              name   User to modify
177968
177969              gid    Force use GID as new primary group
177970
177971              root   Directory to chroot into
177972
177973              CLI Example:
177974
177975                 salt '*' user.chgid foo 4376
177976
177977       salt.modules.useradd.chgroups(name, groups, append=False, root=None)
177978              Change the groups to which this user belongs
177979
177980              name   User to modify
177981
177982              groups Groups to set for the user
177983
177984              append False  If True, append the specified group(s). Otherwise,
177985                     this function will replace the  user's  groups  with  the
177986                     specified group(s).
177987
177988              root   Directory to chroot into
177989
177990              CLI Examples:
177991
177992                 salt '*' user.chgroups foo wheel,root
177993                 salt '*' user.chgroups foo wheel,root append=True
177994
177995       salt.modules.useradd.chhome(name, home, persist=False, root=None)
177996              Change  the home directory of the user, pass True for persist to
177997              move files to the new home directory if the old  home  directory
177998              exist.
177999
178000              name   User to modify
178001
178002              home   New home directory for the user account
178003
178004              presist
178005                     Move contents of the home directory to the new location
178006
178007              root   Directory to chroot into
178008
178009              CLI Example:
178010
178011                 salt '*' user.chhome foo /home/users/foo True
178012
178013       salt.modules.useradd.chhomephone(name, homephone, root=None)
178014              Change the user's Home Phone
178015
178016              name   User to modify
178017
178018              homephone
178019                     GECOS field for the home phone
178020
178021              root   Directory to chroot into
178022
178023              CLI Example:
178024
178025                 salt '*' user.chhomephone foo 7735551234
178026
178027       salt.modules.useradd.chloginclass(name, loginclass, root=None)
178028              Change the default login class of the user
178029
178030              name   User to modify
178031
178032              loginclass
178033                     Login class for the new account
178034
178035              root   Directory to chroot into
178036
178037              NOTE:
178038                 This function only applies to OpenBSD systems.
178039
178040              CLI Example:
178041
178042                 salt '*' user.chloginclass foo staff
178043
178044       salt.modules.useradd.chother(name, other, root=None)
178045              Change the user's other GECOS attribute
178046
178047              name   User to modify
178048
178049              other  GECOS field for other information
178050
178051              root   Directory to chroot into
178052
178053              CLI Example:
178054
178055                 salt '*' user.chother foobar
178056
178057       salt.modules.useradd.chroomnumber(name, roomnumber, root=None)
178058              Change the user's Room Number
178059
178060              CLI Example:
178061
178062                 salt '*' user.chroomnumber foo 123
178063
178064       salt.modules.useradd.chshell(name, shell, root=None)
178065              Change the default shell of the user
178066
178067              name   User to modify
178068
178069              shell  New login shell for the user account
178070
178071              root   Directory to chroot into
178072
178073              CLI Example:
178074
178075                 salt '*' user.chshell foo /bin/zsh
178076
178077       salt.modules.useradd.chuid(name, uid, root=None)
178078              Change the uid for a named user
178079
178080              name   User to modify
178081
178082              uid    New UID for the user account
178083
178084              root   Directory to chroot into
178085
178086              CLI Example:
178087
178088                 salt '*' user.chuid foo 4376
178089
178090       salt.modules.useradd.chworkphone(name, workphone, root=None)
178091              Change the user's Work Phone
178092
178093              name   User to modify
178094
178095              workphone
178096                     GECOS field for the work phone
178097
178098              root   Directory to chroot into
178099
178100              CLI Example:
178101
178102                 salt '*' user.chworkphone foo 7735550123
178103
178104       salt.modules.useradd.delete(name, remove=False, force=False, root=None)
178105              Remove a user from the minion
178106
178107              name   Username to delete
178108
178109              remove Remove home directory and mail spool
178110
178111              force  Force some actions that would fail otherwise
178112
178113              root   Directory to chroot into
178114
178115              CLI Example:
178116
178117                 salt '*' user.delete name remove=True force=True
178118
178119       salt.modules.useradd.get_loginclass(name)
178120              Get the login class of the user
178121
178122              name   User to get the information
178123
178124              NOTE:
178125                 This function only applies to OpenBSD systems.
178126
178127              CLI Example:
178128
178129                 salt '*' user.get_loginclass foo
178130
178131       salt.modules.useradd.getent(refresh=False, root=None)
178132              Return the list of all info for all users
178133
178134              refresh
178135                     Force a refresh of user information
178136
178137              root   Directory to chroot into
178138
178139              CLI Example:
178140
178141                 salt '*' user.getent
178142
178143       salt.modules.useradd.info(name, root=None)
178144              Return user information
178145
178146              name   User to get the information
178147
178148              root   Directory to chroot into
178149
178150              CLI Example:
178151
178152                 salt '*' user.info root
178153
178154       salt.modules.useradd.list_groups(name)
178155              Return a list of groups the named user belongs to
178156
178157              name   User to get the information
178158
178159              CLI Example:
178160
178161                 salt '*' user.list_groups foo
178162
178163       salt.modules.useradd.list_users(root=None)
178164              Return a list of all users
178165
178166              root   Directory to chroot into
178167
178168              CLI Example:
178169
178170                 salt '*' user.list_users
178171
178172       salt.modules.useradd.primary_group(name)
178173              Return the primary group of the named user
178174
178175              New in version 2016.3.0.
178176
178177
178178              name   User to get the information
178179
178180              CLI Example:
178181
178182                 salt '*' user.primary_group saltadmin
178183
178184       salt.modules.useradd.rename(name, new_name, root=None)
178185              Change the username for a named user
178186
178187              name   User to modify
178188
178189              new_name
178190                     New value of the login name
178191
178192              root   Directory to chroot into
178193
178194              CLI Example:
178195
178196                 salt '*' user.rename name new_name
178197
178198   salt.modules.uwsgi
178199       uWSGI                            stats                           server
178200       https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html
178201
178202       maintainer
178203              Peter Baumgartner <pete@lincolnloop.com>
178204
178205       maturity
178206              new
178207
178208       platform
178209              all
178210
178211       salt.modules.uwsgi.stats(socket)
178212              Return the data from uwsgi --connect-and-read as a dictionary.
178213
178214              socket The socket the uWSGI stats server is listening on
178215
178216              CLI Example:
178217
178218                 salt '*' uwsgi.stats /var/run/mystatsserver.sock
178219
178220                 salt '*' uwsgi.stats 127.0.0.1:5050
178221
178222   salt.modules.vagrant
178223       Work with virtual machines managed by Vagrant.
178224
178225       New in version 2018.3.0.
178226
178227
178228       Mapping between a Salt node id and the Vagrant machine  name  (and  the
178229       path  to  the  Vagrantfile where it is defined) is stored in a Salt sdb
178230       database on the Vagrant host (minion) machine.  In order  to  use  this
178231       module,  sdb  must be configured. An SQLite database is the recommended
178232       storage   method.    The   URI   used   for   the   sdb    lookup    is
178233       "sdb://vagrant_sdb_data".
178234
178235       requirements:
178236
178237              · the  VM  host  machine must have salt-minion, Vagrant and a vm
178238                provider installed.
178239
178240              · the   VM   host   must   have   a   valid    definition    for
178241                sdb://vagrant_sdb_data
178242                 Configuration example:
178243
178244                     # file /etc/salt/minion.d/vagrant_sdb.conf
178245                     vagrant_sdb_data:
178246                       driver: sqlite3
178247                       database: /var/cache/salt/vagrant.sqlite
178248                       table: sdb
178249                       create_table: True
178250
178251       salt.modules.vagrant.destroy(name)
178252              Destroy and delete a virtual machine. (vagrant destroy -f)
178253
178254              This also removes the salt_id name defined by vagrant.init.
178255
178256              CLI Example:
178257
178258                 salt <host> vagrant.destroy <salt_id>
178259
178260       salt.modules.vagrant.get_machine_id(machine, cwd)
178261              returns the salt_id name of the Vagrant VM
178262
178263              Parameters
178264
178265                     · machine -- the Vagrant machine name
178266
178267                     · cwd -- the path to Vagrantfile
178268
178269              Returns
178270                     salt_id name
178271
178272       salt.modules.vagrant.get_ssh_config(name,   network_mask=u'',  get_pri‐
178273       vate_key=False)
178274              Retrieve hints of how you might connect to a Vagrant VM.
178275
178276              Parameters
178277
178278                     · name -- the salt_id of the machine
178279
178280                     · network_mask -- a CIDR mask  to  search  for  the  VM's
178281                       address
178282
178283                     · get_private_key -- (default: False) return the key used
178284                       for ssh login
178285
178286              Returns
178287                     a dict of ssh login information for the VM
178288
178289              CLI Example:
178290
178291                 salt <host> vagrant.get_ssh_config <salt_id>
178292                 salt my_laptop vagrant.get_ssh_config quail1 network_mask=10.0.0.0/8 get_private_key=True
178293
178294              The returned dictionary contains:
178295
178296              · key_filename:  the name of the private key file on the VM host
178297                computer
178298
178299              · ssh_username:  the username to be used to log in to the VM
178300
178301              · ssh_host:   the  IP  address  used to log in to the VM.  (This
178302                will usually be 127.0.0.1)
178303
178304              · ssh_port:  the TCP port used to log in to the VM.  (This  will
178305                often be 2222)
178306
178307              · [ip_address:]  (if network_mask is defined. see below)
178308
178309              · [private_key:]   (if  get_private_key is True) the private key
178310                for ssh_username
178311
178312              About network_mask:
178313
178314              Vagrant usually uses a redirected TCP port on its host  computer
178315              to  log  in  to a VM using ssh.  This redirected port and its IP
178316              address are "ssh_port" and "ssh_host".  The ssh_host is  usually
178317              the localhost (127.0.0.1).  This makes it impossible for a third
178318              machine (such as a salt-cloud master) to contact the  VM  unless
178319              the  VM has another network interface defined.  You will usually
178320              want a bridged network defined  by  having  a  config.vm.network
178321              "public_network" statement in your Vagrantfile.
178322
178323              The IP address of the bridged adapter will typically be assigned
178324              by DHCP and unknown to you, but you should be able to  determine
178325              what IP network the address will be chosen from.  If you enter a
178326              CIDR network mask, Salt will attempt to find  the  VM's  address
178327              for  you.   The  host machine will send an "ifconfig" command to
178328              the VM (using  ssh  to  ssh_host:ssh_port)  and  return  the  IP
178329              address  of  the  first interface it can find which matches your
178330              mask.
178331
178332       salt.modules.vagrant.get_vm_info(name)
178333              get the information for a VM.
178334
178335              Parameters
178336                     name -- salt_id name
178337
178338              Returns
178339                     dictionary of {'machine': x, 'cwd': y, ...}.
178340
178341       salt.modules.vagrant.init(name,  cwd=None,   machine=u'',   runas=None,
178342       start=False, vagrant_provider=u'', vm=None)
178343              Initialize a new Vagrant VM.
178344
178345              This  inputs  all  the information needed to start a Vagrant VM.
178346              These settings are stored in a Salt sdb database on the  Vagrant
178347              host minion and used to start, control, and query the guest VMs.
178348              The salt_id assigned here is the key field for that database and
178349              must be unique.
178350
178351              Parameters
178352
178353                     · name  --  The salt_id name you will use to control this
178354                       VM
178355
178356                     · cwd -- The path to the directory where the  Vagrantfile
178357                       is located
178358
178359                     · machine  --  The  machine  name  in the Vagrantfile. If
178360                       blank, the primary machine will be used.
178361
178362                     · runas -- The username on the host who owns the  Vagrant
178363                       work files.
178364
178365                     · start  --  (default:  False)  Start the virtual machine
178366                       now.
178367
178368                     · vagrant_provider -- The name of a Vagrant  VM  provider
178369                       (if not the default).
178370
178371                     · vm -- Optionally, all the above information may be sup‐
178372                       plied in this dictionary.
178373
178374              Returns
178375                     A string indicating success, or False.
178376
178377              CLI Example:
178378
178379                 salt <host> vagrant.init <salt_id> /path/to/Vagrantfile
178380                 salt my_laptop vagrant.init x1 /projects/bevy_master machine=quail1
178381
178382       salt.modules.vagrant.list_active_vms(cwd=None)
178383              Return a list of machine names for active virtual machine on the
178384              host,  which  are  defined  in  the Vagrantfile at the indicated
178385              path.
178386
178387              CLI Example:
178388
178389                 salt '*' vagrant.list_active_vms  cwd=/projects/project_1
178390
178391       salt.modules.vagrant.list_domains()
178392              Return a list of the salt_id names of all available Vagrant  VMs
178393              on this host without regard to the path where they are defined.
178394
178395              CLI Example:
178396
178397                 salt '*' vagrant.list_domains --log-level=info
178398
178399              The  log  shows information about all known Vagrant environments
178400              on this machine. This data is cached and may not  be  completely
178401              up-to-date.
178402
178403       salt.modules.vagrant.list_inactive_vms(cwd=None)
178404              Return  a  list of machine names for inactive virtual machine on
178405              the host, which are defined in the Vagrantfile at the  indicated
178406              path.
178407
178408              CLI Example:
178409
178410                 salt '*' virt.list_inactive_vms cwd=/projects/project_1
178411
178412       salt.modules.vagrant.pause(name)
178413              Pause (vagrant suspend) the named VM.
178414
178415              CLI Example:
178416
178417                 salt <host> vagrant.pause <salt_id>
178418
178419       salt.modules.vagrant.reboot(name, provision=False)
178420              Reboot a VM. (vagrant reload)
178421
178422              CLI Example:
178423
178424                 salt <host> vagrant.reboot <salt_id> provision=True
178425
178426              Parameters
178427
178428                     · name  --  The salt_id name you will use to control this
178429                       VM
178430
178431                     · provision -- (False) also re-run the Vagrant provision‐
178432                       ing scripts.
178433
178434       salt.modules.vagrant.shutdown(name)
178435              Send a soft shutdown (vagrant halt) signal to the named vm.
178436
178437              This  does the same thing as vagrant.stop. Other-VM control mod‐
178438              ules use "stop" and "shutdown" to differentiate between hard and
178439              soft shutdowns.
178440
178441              CLI Example:
178442
178443                 salt <host> vagrant.shutdown <salt_id>
178444
178445       salt.modules.vagrant.start(name)
178446              Start  (vagrant  up)  a virtual machine defined by salt_id name.
178447              The  machine   must   have   been   previously   defined   using
178448              "vagrant.init".
178449
178450              CLI Example:
178451
178452                 salt <host> vagrant.start <salt_id>
178453
178454       salt.modules.vagrant.stop(name)
178455              Hard shutdown the virtual machine. (vagrant halt)
178456
178457              CLI Example:
178458
178459                 salt <host> vagrant.stop <salt_id>
178460
178461       salt.modules.vagrant.version()
178462              Return the version of Vagrant on the minion
178463
178464              CLI Example:
178465
178466                 salt '*' vagrant.version
178467
178468       salt.modules.vagrant.vm_state(name=u'', cwd=None)
178469              Return  list  of  information  for  all the vms indicating their
178470              state.
178471
178472              If you pass a VM name in as an argument then it will return info
178473              for  just the named VM, otherwise it will return all VMs defined
178474              by the Vagrantfile in the cwd directory.
178475
178476              CLI Example:
178477
178478                 salt '*' vagrant.vm_state <name>  cwd=/projects/project_1
178479
178480              returns  a  list  of  dictionaries  with  machine  name,  state,
178481              provider, and salt_id name.
178482
178483                 datum = {'machine': _, # Vagrant machine name,
178484                          'state': _, # string indicating machine state, like 'running'
178485                          'provider': _, # the Vagrant VM provider
178486                          'name': _} # salt_id name
178487
178488              Known  bug:  if there are multiple machines in your Vagrantfile,
178489              and you request the status of the  primary  machine,  which  you
178490              defined  by  leaving  the  machine parameter blank, then you may
178491              receive the status of all of them.  Please  specify  the  actual
178492              machine name for each VM if there are more than one.
178493
178494   salt.modules.varnish
178495       Support for Varnish
178496
178497       New in version 2014.7.0.
178498
178499
178500       NOTE:
178501          These  functions  are  designed  to work with all implementations of
178502          Varnish from 3.x onwards
178503
178504       salt.modules.varnish.ban(ban_expression)
178505              Add ban to the varnish cache
178506
178507              CLI Example:
178508
178509                 salt '*' varnish.ban ban_expression
178510
178511       salt.modules.varnish.ban_list()
178512              List varnish cache current bans
178513
178514              CLI Example:
178515
178516                 salt '*' varnish.ban_list
178517
178518       salt.modules.varnish.param_set(param, value)
178519              Set a param in varnish cache
178520
178521              CLI Example:
178522
178523                 salt '*' varnish.param_set param value
178524
178525       salt.modules.varnish.param_show(param=None)
178526              Show params of varnish cache
178527
178528              CLI Example:
178529
178530                 salt '*' varnish.param_show param
178531
178532       salt.modules.varnish.purge()
178533              Purge the varnish cache
178534
178535              CLI Example:
178536
178537                 salt '*' varnish.purge
178538
178539       salt.modules.varnish.version()
178540              Return server version from varnishd -V
178541
178542              CLI Example:
178543
178544                 salt '*' varnish.version
178545
178546   salt.modules.vault module
178547       Functions to interact with Hashicorp Vault.
178548
178549       maintainer
178550              SaltStack
178551
178552       maturity
178553              new
178554
178555       platform
178556              all
178557
178558       note   If you see the following error, you'll need to upgrade  requests
178559              to atleast 2.4.2
178560
178561          <timestamp> [salt.pillar][CRITICAL][14337] Pillar render error: Failed to load ext_pillar vault: {'error': "request() got an unexpected keyword argument 'json'"}
178562
178563       configuration
178564              The salt-master must be configured to allow peer-runner configu‐
178565              ration, as well as configuration for the module.
178566
178567              Add  this  segment  to  the  master   configuration   file,   or
178568              /etc/salt/master.d/vault.conf:
178569
178570                 vault:
178571                     url: https://vault.service.domain:8200
178572                     verify: /etc/ssl/certs/ca-certificates.crt
178573                     role_name: minion_role
178574                     auth:
178575                         method: approle
178576                         role_id: 11111111-2222-3333-4444-1111111111111
178577                         secret_id: 11111111-1111-1111-1111-1111111111111
178578                     policies:
178579                         - saltstack/minions
178580                         - saltstack/minion/{minion}
178581                         .. more policies
178582                     keys:
178583                         - n63/TbrQuL3xaIW7ZZpuXj/tIfnK1/MbVxO4vT3wYD2A
178584                         - S9OwCvMRhErEA4NVVELYBs6w/Me6+urgUr24xGK44Uy3
178585                         - F1j4b7JKq850NS6Kboiy5laJ0xY8dWJvB3fcwA+SraYl
178586                         - 1cYtvjKJNDVam9c7HNqJUfINk4PYyAXIpjkpN/sIuzPv
178587                         - 3pPK5X6vGtwLhNOFv1U2elahECz3HpRUfNXJFYLw6lid
178588
178589              url    Url to your Vault installation. Required.
178590
178591              verify For             details             please            see
178592                     http://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification
178593
178594                     New in version 2018.3.0.
178595
178596
178597              role_name
178598                     Role  name  for minion tokens created. If omitted, minion
178599                     tokens will be created without any role, thus being  able
178600                     to  inherit any master token policy (including token cre‐
178601                     ation capabilities). Optional.
178602
178603                     For            details            please             see:
178604                     https://www.vaultproject.io/api/auth/token/index.html#create-token
178605                     Example                                    configuration:
178606                     https://www.nomadproject.io/docs/vault-integration/index.html#vault-token-role-configuration
178607
178608              auth   Currently only token and  approle  auth  types  are  sup‐
178609                     ported. Required.
178610
178611                     Approle  is  the preferred way to authenticate with Vault
178612                     as it provide some advanced options to control  authenti‐
178613                     cation  process.   Please  visit  Vault documentation for
178614                     more                                                info:
178615                     https://www.vaultproject.io/docs/auth/approle.html
178616
178617                     The token must be able to create tokens with the policies
178618                     that should be assigned to minions.
178619
178620                     You can still use the token auth  via  a  OS  environment
178621                     variable via this config example:
178622
178623                        vault:
178624                          url: https://vault.service.domain:8200
178625                          auth:
178626                            method: token
178627                            token: sdb://osenv/VAULT_TOKEN
178628                        osenv:
178629                          driver: env
178630
178631                     And then export the VAULT_TOKEN variable in your OS:
178632
178633                        export VAULT_TOKEN=11111111-1111-1111-1111-1111111111111
178634
178635              policies
178636                     Policies  that  are assigned to minions when requesting a
178637                     token. These can either be static, eg  saltstack/minions,
178638                     or  templated,  eg saltstack/minion/{minion}. {minion} is
178639                     shorthand for grains[id].  Grains are also available, for
178640                     example like this: my-policies/{grains[os]}
178641
178642                     If a template contains a grain which evaluates to a list,
178643                     it will be expanded into multiple policies. For  example,
178644                     given the template saltstack/by-role/{grains[roles]}, and
178645                     a minion having these grains:
178646
178647                        grains:
178648                            roles:
178649                                - web
178650                                - database
178651
178652                     The minion will have the  policies  saltstack/by-role/web
178653                     and  saltstack/by-role/database.  Note  however that list
178654                     members which do not have simple string  representations,
178655                     such  as  dictionaries  or  objects, do not work and will
178656                     throw an exception. Strings and numbers are  examples  of
178657                     types which work well.
178658
178659                     Optional.  If  policies is not configured, saltstack/min‐
178660                     ions and saltstack/{minion} are used as defaults.
178661
178662              keys   List of keys to use  to  unseal  vault  server  with  the
178663                     vault.unseal runner.
178664
178665              Add   this   segment   to  the  master  configuration  file,  or
178666              /etc/salt/master.d/peer_run.conf:
178667
178668                 peer_run:
178669                     .*:
178670                         - vault.generate_token
178671
178672       salt.modules.vault.delete_secret(path)
178673              Delete secret at the path in vault. The vault policy  used  must
178674              allow this.
178675
178676              CLI Example:
178677
178678                 salt '*' vault.delete_secret "secret/my/secret"
178679
178680       salt.modules.vault.list_secrets(path)
178681              List  secret  keys  at  the path in vault. The vault policy used
178682              must allow this.  The path should end with a trailing slash.
178683
178684              CLI Example:
178685
178686                 salt '*' vault.list_secrets "secret/my/"
178687
178688       salt.modules.vault.read_secret(path, key=None)
178689              Return the value of key at path in vault, or entire secret
178690
178691              Jinja Example:
178692
178693                 my-secret: {{ salt['vault'].read_secret('secret/my/secret', 'some-key') }}
178694
178695                 {% set supersecret = salt['vault'].read_secret('secret/my/secret') %}
178696                 secrets:
178697                     first: {{ supersecret.first }}
178698                     second: {{ supersecret.second }}
178699
178700       salt.modules.vault.write_raw(path, raw)
178701              Set raw data at the path in vault. The vault  policy  used  must
178702              allow this.
178703
178704              CLI Example:
178705
178706                 salt '*' vault.write_raw "secret/my/secret" '{"user":"foo","password": "bar"}'
178707
178708       salt.modules.vault.write_secret(path, **kwargs)
178709              Set  secret  at  the  path  in vault. The vault policy used must
178710              allow this.
178711
178712              CLI Example:
178713
178714                 salt '*' vault.write_secret "secret/my/secret" user="foo" password="bar"
178715
178716   salt.modules.vbox_guest
178717       VirtualBox Guest Additions installer
178718
178719       salt.modules.vbox_guest.additions_install(*args, **kwargs)
178720              Install VirtualBox Guest Additions. Uses the  CD,  connected  by
178721              VirtualBox.
178722
178723              To  connect  VirtualBox Guest Additions via VirtualBox graphical
178724              interface press 'Host+D' ('Host' is usually 'Right Ctrl').
178725
178726              See https://www.virtualbox.org/manual/ch04.html#idp52733088  for
178727              more details.
178728
178729              CLI Example:
178730
178731                 salt '*' vbox_guest.additions_install
178732                 salt '*' vbox_guest.additions_install reboot=True
178733                 salt '*' vbox_guest.additions_install upgrade_os=True
178734
178735              Parameters
178736
178737                     · reboot  (bool) -- reboot computer to complete installa‐
178738                       tion
178739
178740                     · upgrade_os (bool) -- upgrade OS (to ensure the  latests
178741                       version of kernel and developer tools are installed)
178742
178743              Returns
178744                     version  of  VirtualBox  Guest  Additions  or string with
178745                     error
178746
178747       salt.modules.vbox_guest.additions_mount()
178748              Mount VirtualBox Guest Additions CD to the temp directory.
178749
178750              To connect VirtualBox Guest Additions via  VirtualBox  graphical
178751              interface press 'Host+D' ('Host' is usually 'Right Ctrl').
178752
178753              CLI Example:
178754
178755                 salt '*' vbox_guest.additions_mount
178756
178757              Returns
178758                     True or OSError exception
178759
178760       salt.modules.vbox_guest.additions_remove(**kwargs)
178761              Remove VirtualBox Guest Additions.
178762
178763              Firstly    it   tries   to   uninstall   itself   by   executing
178764              '/opt/VBoxGuestAdditions-VERSION/uninstall.run  uninstall'.   It
178765              uses the CD, connected by VirtualBox if it failes.
178766
178767              CLI Example:
178768
178769                 salt '*' vbox_guest.additions_remove
178770                 salt '*' vbox_guest.additions_remove force=True
178771
178772              Parameters
178773                     force (bool) -- force VirtualBox Guest Additions removing
178774
178775              Returns
178776                     True  if VirtualBox Guest Additions were removed success‐
178777                     fully else False
178778
178779       salt.modules.vbox_guest.additions_umount(mount_point)
178780              Unmount VirtualBox Guest Additions CD from the temp directory.
178781
178782              CLI Example:
178783
178784                 salt '*' vbox_guest.additions_umount
178785
178786              Parameters
178787                     mount_point -- directory VirtualBox  Guest  Additions  is
178788                     mounted to
178789
178790              Returns
178791                     True or an string with error
178792
178793       salt.modules.vbox_guest.additions_version()
178794              Check VirtualBox Guest Additions version.
178795
178796              CLI Example:
178797
178798                 salt '*' vbox_guest.additions_version
178799
178800              Returns
178801                     version  of  VirtualBox  Guest Additions or False if they
178802                     are not installed
178803
178804       salt.modules.vbox_guest.grant_access_to_shared_folders_to(name,
178805       users=None)
178806              Grant access to auto-mounted shared folders to the users.
178807
178808              User  is  specified  by  it's  name. To grant access for several
178809              users use argument users.  Access will be denied  to  the  users
178810              not listed in users argument.
178811
178812              See    https://www.virtualbox.org/manual/ch04.html#sf_mount_auto
178813              for more details.
178814
178815              CLI Example:
178816
178817                 salt '*' vbox_guest.grant_access_to_shared_folders_to fred
178818                 salt '*' vbox_guest.grant_access_to_shared_folders_to users ['fred', 'roman']
178819
178820              Parameters
178821
178822                     · name (str) -- name of  the  user  to  grant  access  to
178823                       auto-mounted shared folders to
178824
178825                     · users  (list of str) -- list of names of users to grant
178826                       access to auto-mounted shared folders to (if specified,
178827                       name will not be taken into account)
178828
178829              Returns
178830                     list  of  users  who  have  access to auto-mounted shared
178831                     folders
178832
178833       salt.modules.vbox_guest.list_shared_folders_users()
178834              List users who have access to auto-mounted shared folders.
178835
178836              See    https://www.virtualbox.org/manual/ch04.html#sf_mount_auto
178837              for more details.
178838
178839              CLI Example:
178840
178841                 salt '*' vbox_guest.list_shared_folders_users
178842
178843              Returns
178844                     list  of  users  who  have  access to auto-mounted shared
178845                     folders
178846
178847   salt.modules.vboxmanage module
178848       Support for VirtualBox using the VBoxManage command
178849
178850       New in version 2016.3.0.
178851
178852
178853       If the vboxdrv kernel module is not loaded, this module  can  automati‐
178854       cally load it by configuring autoload_vboxdrv in /etc/salt/minion:
178855
178856          autoload_vboxdrv: True
178857
178858       The default for this setting is False.
178859
178860       depends
178861              virtualbox
178862
178863       salt.modules.vboxmanage.clonemedium(medium, uuid_in=None, file_in=None,
178864       uuid_out=None,  file_out=None,   mformat=None,   variant=None,   exist‐
178865       ing=False, **kwargs)
178866              Clone a new VM from an existing VM
178867
178868              CLI Example:
178869
178870                 salt 'hypervisor' vboxmanage.clonemedium <name> <new_name>
178871
178872       salt.modules.vboxmanage.clonevm(name=None,   uuid=None,  new_name=None,
178873       snapshot_uuid=None, snapshot_name=None, mode=u'machine',  options=None,
178874       basefolder=None, new_uuid=None, register=False, groups=None, **kwargs)
178875              Clone a new VM from an existing VM
178876
178877              CLI Example:
178878
178879                 salt 'hypervisor' vboxmanage.clonevm <name> <new_name>
178880
178881       salt.modules.vboxmanage.create(name,  groups=None,  ostype=None, regis‐
178882       ter=True, basefolder=None, new_uuid=None, **kwargs)
178883              Create a new VM
178884
178885              CLI Example:
178886
178887                 salt 'hypervisor' vboxmanage.create <name>
178888
178889       salt.modules.vboxmanage.destroy(name)
178890              Unregister and destroy a VM
178891
178892              CLI Example:
178893
178894                 salt '*' vboxmanage.destroy my_vm
178895
178896       salt.modules.vboxmanage.list_items(item,                 details=False,
178897       group_by=u'UUID')
178898              Return  a  list  of a specific type of item. The following items
178899              are available:
178900                 vms runningvms ostypes hostdvds hostfloppies intnets bridged‐
178901                 ifs   hostonlyifs  natnets  dhcpservers  hostinfo  hostcpuids
178902                 hddbackends hdds dvds floppies usbhost usbfilters systemprop‐
178903                 erties extpacks groups webcams screenshotformats
178904
178905              CLI Example:
178906
178907                 salt 'hypervisor' vboxmanage.items <item>
178908                 salt 'hypervisor' vboxmanage.items <item> details=True
178909                 salt 'hypervisor' vboxmanage.items <item> details=True group_by=Name
178910
178911              Some items do not display well, or at all, unless details is set
178912              to True. By default, items are grouped by the  UUID  field,  but
178913              not  all items contain that field. In those cases, another field
178914              must be specified.
178915
178916       salt.modules.vboxmanage.list_nodes()
178917              Return a list of registered VMs
178918
178919              CLI Example:
178920
178921                 salt '*' vboxmanage.list_nodes
178922
178923       salt.modules.vboxmanage.list_nodes_full()
178924              Return a list of registered VMs, with detailed information
178925
178926              CLI Example:
178927
178928                 salt '*' vboxmanage.list_nodes_full
178929
178930       salt.modules.vboxmanage.list_nodes_min()
178931              Return a list of registered VMs, with minimal information
178932
178933              CLI Example:
178934
178935                 salt '*' vboxmanage.list_nodes_min
178936
178937       salt.modules.vboxmanage.list_ostypes()
178938              List the available OS Types
178939
178940              CLI Example:
178941
178942                 salt '*' vboxmanage.list_ostypes
178943
178944       salt.modules.vboxmanage.register(filename)
178945              Register a VM
178946
178947              CLI Example:
178948
178949                 salt '*' vboxmanage.register my_vm_filename
178950
178951       salt.modules.vboxmanage.start(name)
178952              Start a VM
178953
178954              CLI Example:
178955
178956                 salt '*' vboxmanage.start my_vm
178957
178958       salt.modules.vboxmanage.stop(name)
178959              Stop a VM
178960
178961              CLI Example:
178962
178963                 salt '*' vboxmanage.stop my_vm
178964
178965       salt.modules.vboxmanage.unregister(name, delete=False)
178966              Unregister a VM
178967
178968              CLI Example:
178969
178970                 salt '*' vboxmanage.unregister my_vm_filename
178971
178972       salt.modules.vboxmanage.vboxcmd()
178973              Return the location of the VBoxManage command
178974
178975              CLI Example:
178976
178977                 salt '*' vboxmanage.vboxcmd
178978
178979   salt.modules.victorops
178980       Support for VictorOps
178981
178982       New in version 2015.8.0.
178983
178984
178985       Requires an api_key in /etc/salt/minion:
178986
178987          victorops:
178988            api_key: '280d4699-a817-4719-ba6f-ca56e573e44f'
178989
178990       salt.modules.victorops.create_event(message_type=None,            rout‐
178991       ing_key=u'everybody', **kwargs)
178992              Create an event in VictorOps. Designed for use in states.
178993
178994              The following parameters are required:
178995
178996              Parameters
178997                     message_type  -- One of the following values: INFO, WARN‐
178998                     ING, ACKNOWLEDGEMENT, CRITICAL, RECOVERY.
178999
179000              The following parameters are optional:
179001
179002              Parameters
179003
179004                     · routing_key -- The key for  where  messages  should  be
179005                       routed. By default, sent to 'everyone' route.
179006
179007                     · entity_id  --  The name of alerting entity. If not pro‐
179008                       vided, a random name will be assigned.
179009
179010                     · timestamp -- Timestamp of the alert  in  seconds  since
179011                       epoch.  Defaults  to  the time the alert is received at
179012                       VictorOps.
179013
179014              :param timestamp_fmt            The date format  for  the  time‐
179015              stamp parameter.
179016
179017              Parameters
179018
179019                     · state_start_time  --  The  time this entity entered its
179020                       current state (seconds since epoch).  Defaults  to  the
179021                       time alert is received.
179022
179023                     · state_start_time_fmt  --  The date format for the time‐
179024                       stamp parameter.
179025
179026                     · state_message -- Any additional status information from
179027                       the alert item.
179028
179029                     · entity_is_host  --  Used within VictorOps to select the
179030                       appropriate display format for the incident.
179031
179032                     · entity_display_name -- Used within VictorOps to display
179033                       a human-readable name for the entity.
179034
179035                     · ack_message  -- A user entered comment for the acknowl‐
179036                       edgment.
179037
179038                     · ack_author -- The user that acknowledged the incident.
179039
179040              Returns
179041                     A dictionary  with  result,  entity_id,  and  message  if
179042                     result was failure.
179043
179044              CLI Example:
179045
179046                 salt myminion victorops.create_event message_type='CRITICAL' routing_key='everyone'                  entity_id='hostname/diskspace'
179047
179048                 salt myminion victorops.create_event message_type='ACKNOWLEDGEMENT' routing_key='everyone'                  entity_id='hostname/diskspace' ack_message='Acknowledged' ack_author='username'
179049
179050                 salt myminion victorops.create_event message_type='RECOVERY' routing_key='everyone'                  entity_id='hostname/diskspace'
179051
179052              The following parameters are required:
179053                     message_type
179054
179055   salt.modules.virt
179056       Work with virtual machines managed by libvirt
179057
179058       depends
179059              libvirt Python module
179060
179061   Connection
179062       The  connection  to  the virtualization host can be either setup in the
179063       minion configuration, pillar data or  overridden  for  each  individual
179064       call.
179065
179066       By  default,  the  libvirt  connection  URL  will be guessed: the first
179067       available libvirt hypervisor driver will be used. This can be  overrid‐
179068       den like this:
179069
179070          virt:
179071            connection:
179072              uri: lxc:///
179073
179074       If the connection requires an authentication like for ESXi, this can be
179075       defined in the minion pillar data like this:
179076
179077          virt:
179078            connection:
179079              uri: esx://10.1.1.101/?no_verify=1&auto_answer=1
179080              auth:
179081                username: user
179082                password: secret
179083
179084   Connecting with SSH protocol
179085       Libvirt can connect to remote hosts using SSH using  one  of  the  ssh,
179086       libssh  and  libssh2 transports. Note that libssh2 is likely to fail as
179087       it doesn't read the known_hosts file. Libvirt may also have been  built
179088       without libssh or libssh2 support.
179089
179090       To  use  the SSH transport, on the minion setup an SSH agent with a key
179091       authorized on the remote libvirt machine.
179092
179093   Per call connection setup
179094       New in version 2019.2.0.
179095
179096
179097       All the calls requiring the libvirt connection  configuration  as  men‐
179098       tioned above can override this configuration using connection, username
179099       and password parameters.
179100
179101       This means that the following will list the domains on  the  local  LXC
179102       libvirt driver, whatever the virt:connection is.
179103
179104          salt 'hypervisor' virt.list_domains connection=lxc:///
179105
179106       The calls not using the libvirt connection setup are:
179107
179108       · seed_non_shared_migrate
179109
179110       · virt_type
179111
179112       · is_*hyper
179113
179114       · all migration functions
179115
179116       · libvirt ESX URI format
179117
179118       · libvirt URI format
179119
179120       · libvirt authentication configuration
179121
179122       salt.modules.virt.capabilities(**kwargs)
179123              Return the hypervisor connection capabilities.
179124
179125              Parameters
179126
179127                     · connection   --   libvirt  connection  URI,  overriding
179128                       defaults
179129
179130                     · username  --  username  to  connect  with,   overriding
179131                       defaults
179132
179133                     · password   --  password  to  connect  with,  overriding
179134                       defaults
179135
179136              New in version 2019.2.0.
179137
179138
179139              CLI Example:
179140
179141                 salt '*' virt.capabilities
179142
179143       salt.modules.virt.cpu_baseline(full=False, migratable=False, out=u'lib‐
179144       virt', **kwargs)
179145              Return the optimal 'custom' CPU baseline config for VM's on this
179146              minion
179147
179148              New in version 2016.3.0.
179149
179150
179151              Parameters
179152
179153                     · full -- Return all CPU features rather than the ones on
179154                       top of the closest CPU model
179155
179156                     · migratable  --  Exclude CPU features that are unmigrat‐
179157                       able (libvirt 2.13+)
179158
179159                     · out -- 'libvirt' (default) for usable libvirt XML defi‐
179160                       nition, 'salt' for nice dict
179161
179162                     · connection --
179163
179164                       libvirt connection URI, overriding defaults
179165
179166                       New in version 2019.2.0.
179167
179168
179169
179170                     · username --
179171
179172                       username to connect with, overriding defaults
179173
179174                       New in version 2019.2.0.
179175
179176
179177
179178                     · password --
179179
179180                       password to connect with, overriding defaults
179181
179182                       New in version 2019.2.0.
179183
179184
179185
179186              CLI Example:
179187
179188                 salt '*' virt.cpu_baseline
179189
179190       salt.modules.virt.create_xml_path(path, **kwargs)
179191              Start  a  transient  domain based on the XML-file path passed to
179192              the function
179193
179194              Parameters
179195
179196                     · path -- path to a file containing the libvirt XML defi‐
179197                       nition of the domain
179198
179199                     · connection --
179200
179201                       libvirt connection URI, overriding defaults
179202
179203                       New in version 2019.2.0.
179204
179205
179206
179207                     · username --
179208
179209                       username to connect with, overriding defaults
179210
179211                       New in version 2019.2.0.
179212
179213
179214
179215                     · password --
179216
179217                       password to connect with, overriding defaults
179218
179219                       New in version 2019.2.0.
179220
179221
179222
179223              CLI Example:
179224
179225                 salt '*' virt.create_xml_path <path to XML file on the node>
179226
179227       salt.modules.virt.create_xml_str(xml, **kwargs)
179228              Start a transient domain based on the XML passed to the function
179229
179230              Parameters
179231
179232                     · xml -- libvirt XML definition of the domain
179233
179234                     · connection --
179235
179236                       libvirt connection URI, overriding defaults
179237
179238                       New in version 2019.2.0.
179239
179240
179241
179242                     · username --
179243
179244                       username to connect with, overriding defaults
179245
179246                       New in version 2019.2.0.
179247
179248
179249
179250                     · password --
179251
179252                       password to connect with, overriding defaults
179253
179254                       New in version 2019.2.0.
179255
179256
179257
179258              CLI Example:
179259
179260                 salt '*' virt.create_xml_str <XML in string format>
179261
179262       salt.modules.virt.ctrl_alt_del(vm_, **kwargs)
179263              Sends CTRL+ALT+DEL to a VM
179264
179265              Parameters
179266
179267                     · vm -- domain name
179268
179269                     · connection --
179270
179271                       libvirt connection URI, overriding defaults
179272
179273                       New in version 2019.2.0.
179274
179275
179276
179277                     · username --
179278
179279                       username to connect with, overriding defaults
179280
179281                       New in version 2019.2.0.
179282
179283
179284
179285                     · password --
179286
179287                       password to connect with, overriding defaults
179288
179289                       New in version 2019.2.0.
179290
179291
179292
179293              CLI Example:
179294
179295                 salt '*' virt.ctrl_alt_del <domain>
179296
179297       salt.modules.virt.define_vol_xml_path(path, **kwargs)
179298              Define  a  volume based on the XML-file path passed to the func‐
179299              tion
179300
179301              Parameters
179302
179303                     · path -- path to a file containing the libvirt XML defi‐
179304                       nition of the volume
179305
179306                     · connection --
179307
179308                       libvirt connection URI, overriding defaults
179309
179310                       New in version 2019.2.0.
179311
179312
179313
179314                     · username --
179315
179316                       username to connect with, overriding defaults
179317
179318                       New in version 2019.2.0.
179319
179320
179321
179322                     · password --
179323
179324                       password to connect with, overriding defaults
179325
179326                       New in version 2019.2.0.
179327
179328
179329
179330              CLI Example:
179331
179332                 salt '*' virt.define_vol_xml_path <path to XML file on the node>
179333
179334       salt.modules.virt.define_vol_xml_str(xml, **kwargs)
179335              Define a volume based on the XML passed to the function
179336
179337              Parameters
179338
179339                     · xml -- libvirt XML definition of the storage volume
179340
179341                     · connection --
179342
179343                       libvirt connection URI, overriding defaults
179344
179345                       New in version 2019.2.0.
179346
179347
179348
179349                     · username --
179350
179351                       username to connect with, overriding defaults
179352
179353                       New in version 2019.2.0.
179354
179355
179356
179357                     · password --
179358
179359                       password to connect with, overriding defaults
179360
179361                       New in version 2019.2.0.
179362
179363
179364
179365              CLI Example:
179366
179367                 salt '*' virt.define_vol_xml_str <XML in string format>
179368
179369              The storage pool where the disk image will be defined is default
179370              unless changed with a configuration like this:
179371
179372                 virt:
179373                     storagepool: mine
179374
179375       salt.modules.virt.define_xml_path(path, **kwargs)
179376              Define a persistent domain based on the XML-file path passed  to
179377              the function
179378
179379              Parameters
179380
179381                     · path -- path to a file containing the libvirt XML defi‐
179382                       nition of the domain
179383
179384                     · connection --
179385
179386                       libvirt connection URI, overriding defaults
179387
179388                       New in version 2019.2.0.
179389
179390
179391
179392                     · username --
179393
179394                       username to connect with, overriding defaults
179395
179396                       New in version 2019.2.0.
179397
179398
179399
179400                     · password --
179401
179402                       password to connect with, overriding defaults
179403
179404                       New in version 2019.2.0.
179405
179406
179407
179408              CLI Example:
179409
179410                 salt '*' virt.define_xml_path <path to XML file on the node>
179411
179412       salt.modules.virt.define_xml_str(xml, **kwargs)
179413              Define a persistent domain based on the XML passed to the  func‐
179414              tion
179415
179416              Parameters
179417
179418                     · xml -- libvirt XML definition of the domain
179419
179420                     · connection --
179421
179422                       libvirt connection URI, overriding defaults
179423
179424                       New in version 2019.2.0.
179425
179426
179427
179428                     · username --
179429
179430                       username to connect with, overriding defaults
179431
179432                       New in version 2019.2.0.
179433
179434
179435
179436                     · password --
179437
179438                       password to connect with, overriding defaults
179439
179440                       New in version 2019.2.0.
179441
179442
179443
179444              CLI Example:
179445
179446                 salt '*' virt.define_xml_str <XML in string format>
179447
179448       salt.modules.virt.delete_snapshots(name, *names, **kwargs)
179449              Delete one or more snapshots of the given VM.
179450
179451              Parameters
179452
179453                     · name -- domain name
179454
179455                     · names -- names of the snapshots to remove
179456
179457                     · connection --
179458
179459                       libvirt connection URI, overriding defaults
179460
179461                       New in version 2019.2.0.
179462
179463
179464
179465                     · username --
179466
179467                       username to connect with, overriding defaults
179468
179469                       New in version 2019.2.0.
179470
179471
179472
179473                     · password --
179474
179475                       password to connect with, overriding defaults
179476
179477                       New in version 2019.2.0.
179478
179479
179480
179481              New in version 2016.3.0.
179482
179483
179484              CLI Example:
179485
179486                 salt '*' virt.delete_snapshots <domain> all=True
179487                 salt '*' virt.delete_snapshots <domain> <snapshot>
179488                 salt '*' virt.delete_snapshots <domain> <snapshot1> <snapshot2> ...
179489
179490       salt.modules.virt.domain_capabilities(emulator=None,         arch=None,
179491       machine=None, domain=None, **kwargs)
179492              Return the domain capabilities given an emulator,  architecture,
179493              machine or virtualization type.
179494
179495              New in version 2019.2.0.
179496
179497
179498              Parameters
179499
179500                     · emulator  -- return the capabilities for the given emu‐
179501                       lator binary
179502
179503                     · arch -- return  the  capabilities  for  the  given  CPU
179504                       architecture
179505
179506                     · machine  --  return the capabilities for the given emu‐
179507                       lated machine type
179508
179509                     · domain -- return the capabilities for the given  virtu‐
179510                       alization type.
179511
179512                     · connection   --   libvirt  connection  URI,  overriding
179513                       defaults
179514
179515                     · username  --  username  to  connect  with,   overriding
179516                       defaults
179517
179518                     · password   --  password  to  connect  with,  overriding
179519                       defaults
179520
179521              The list of the possible emulator, arch, machine and domain  can
179522              be found in the host capabilities output.
179523
179524              If none of the parameters is provided the libvirt default domain
179525              capabilities will be returned.
179526
179527              CLI Example:
179528
179529                 salt '*' virt.domain_capabilities arch='x86_64' domain='kvm'
179530
179531       salt.modules.virt.freecpu(**kwargs)
179532              Return an int representing the number  of  unallocated  cpus  on
179533              this hypervisor
179534
179535              Parameters
179536
179537                     · connection --
179538
179539                       libvirt connection URI, overriding defaults
179540
179541                       New in version 2019.2.0.
179542
179543
179544
179545                     · username --
179546
179547                       username to connect with, overriding defaults
179548
179549                       New in version 2019.2.0.
179550
179551
179552
179553                     · password --
179554
179555                       password to connect with, overriding defaults
179556
179557                       New in version 2019.2.0.
179558
179559
179560
179561              CLI Example:
179562
179563                 salt '*' virt.freecpu
179564
179565       salt.modules.virt.freemem(**kwargs)
179566              Return an int representing the amount of memory (in MB) that has
179567              not been given to virtual machines on this node
179568
179569              Parameters
179570
179571                     · connection --
179572
179573                       libvirt connection URI, overriding defaults
179574
179575                       New in version 2019.2.0.
179576
179577
179578
179579                     · username --
179580
179581                       username to connect with, overriding defaults
179582
179583                       New in version 2019.2.0.
179584
179585
179586
179587                     · password --
179588
179589                       password to connect with, overriding defaults
179590
179591                       New in version 2019.2.0.
179592
179593
179594
179595              CLI Example:
179596
179597                 salt '*' virt.freemem
179598
179599       salt.modules.virt.full_info(**kwargs)
179600              Return the node_info, vm_info and freemem
179601
179602              Parameters
179603
179604                     · connection --
179605
179606                       libvirt connection URI, overriding defaults
179607
179608                       New in version 2019.2.0.
179609
179610
179611
179612                     · username --
179613
179614                       username to connect with, overriding defaults
179615
179616                       New in version 2019.2.0.
179617
179618
179619
179620                     · password --
179621
179622                       password to connect with, overriding defaults
179623
179624                       New in version 2019.2.0.
179625
179626
179627
179628              CLI Example:
179629
179630                 salt '*' virt.full_info
179631
179632       salt.modules.virt.get_disks(vm_, **kwargs)
179633              Return the disks of a named vm
179634
179635              Parameters
179636
179637                     · vm -- name of the domain
179638
179639                     · connection --
179640
179641                       libvirt connection URI, overriding defaults
179642
179643                       New in version 2019.2.0.
179644
179645
179646
179647                     · username --
179648
179649                       username to connect with, overriding defaults
179650
179651                       New in version 2019.2.0.
179652
179653
179654
179655                     · password --
179656
179657                       password to connect with, overriding defaults
179658
179659                       New in version 2019.2.0.
179660
179661
179662
179663              CLI Example:
179664
179665                 salt '*' virt.get_disks <domain>
179666
179667       salt.modules.virt.get_graphics(vm_, **kwargs)
179668              Returns the information on vnc for a given vm
179669
179670              Parameters
179671
179672                     · vm -- name of the domain
179673
179674                     · connection --
179675
179676                       libvirt connection URI, overriding defaults
179677
179678                       New in version 2019.2.0.
179679
179680
179681
179682                     · username --
179683
179684                       username to connect with, overriding defaults
179685
179686                       New in version 2019.2.0.
179687
179688
179689
179690                     · password --
179691
179692                       password to connect with, overriding defaults
179693
179694                       New in version 2019.2.0.
179695
179696
179697
179698              CLI Example:
179699
179700                 salt '*' virt.get_graphics <domain>
179701
179702       salt.modules.virt.get_hypervisor()
179703              Returns the name of the hypervisor running on this node or None.
179704
179705              Detected hypervisors:
179706
179707              · kvm
179708
179709              · xen
179710
179711              CLI Example:
179712
179713                 salt '*' virt.get_hypervisor
179714
179715              New in version 2019.2.0: the function and the kvm and xen hyper‐
179716              visors support
179717
179718
179719       salt.modules.virt.get_macs(vm_, **kwargs)
179720              Return a list off MAC addresses from the named vm
179721
179722              Parameters
179723
179724                     · vm -- name of the domain
179725
179726                     · connection --
179727
179728                       libvirt connection URI, overriding defaults
179729
179730                       New in version 2019.2.0.
179731
179732
179733
179734                     · username --
179735
179736                       username to connect with, overriding defaults
179737
179738                       New in version 2019.2.0.
179739
179740
179741
179742                     · password --
179743
179744                       password to connect with, overriding defaults
179745
179746                       New in version 2019.2.0.
179747
179748
179749
179750              CLI Example:
179751
179752                 salt '*' virt.get_macs <domain>
179753
179754       salt.modules.virt.get_nics(vm_, **kwargs)
179755              Return info about the network interfaces of a named vm
179756
179757              Parameters
179758
179759                     · vm -- name of the domain
179760
179761                     · connection --
179762
179763                       libvirt connection URI, overriding defaults
179764
179765                       New in version 2019.2.0.
179766
179767
179768
179769                     · username --
179770
179771                       username to connect with, overriding defaults
179772
179773                       New in version 2019.2.0.
179774
179775
179776
179777                     · password --
179778
179779                       password to connect with, overriding defaults
179780
179781                       New in version 2019.2.0.
179782
179783
179784
179785              CLI Example:
179786
179787                 salt '*' virt.get_nics <domain>
179788
179789       salt.modules.virt.get_profiles(hypervisor=None, **kwargs)
179790              Return the virt profiles for hypervisor.
179791
179792              Currently there are profiles for:
179793
179794              · nic
179795
179796              · disk
179797
179798              Parameters
179799
179800                     · hypervisor -- override the default machine type.
179801
179802                     · connection --
179803
179804                       libvirt connection URI, overriding defaults
179805
179806                       New in version 2019.2.0.
179807
179808
179809
179810                     · username --
179811
179812                       username to connect with, overriding defaults
179813
179814                       New in version 2019.2.0.
179815
179816
179817
179818                     · password --
179819
179820                       password to connect with, overriding defaults
179821
179822                       New in version 2019.2.0.
179823
179824
179825
179826              CLI Example:
179827
179828                 salt '*' virt.get_profiles
179829                 salt '*' virt.get_profiles hypervisor=esxi
179830
179831       salt.modules.virt.get_xml(vm_, **kwargs)
179832              Returns the XML for a given vm
179833
179834              Parameters
179835
179836                     · vm -- domain name
179837
179838                     · connection --
179839
179840                       libvirt connection URI, overriding defaults
179841
179842                       New in version 2019.2.0.
179843
179844
179845
179846                     · username --
179847
179848                       username to connect with, overriding defaults
179849
179850                       New in version 2019.2.0.
179851
179852
179853
179854                     · password --
179855
179856                       password to connect with, overriding defaults
179857
179858                       New in version 2019.2.0.
179859
179860
179861
179862              CLI Example:
179863
179864                 salt '*' virt.get_xml <domain>
179865
179866       salt.modules.virt.init(name,   cpu,  mem,  image=None,  nic=u'default',
179867       interfaces=None,    hypervisor=None,    start=True,    disk=u'default',
179868       disks=None,  saltenv=u'base',  seed=True,  install=True,  pub_key=None,
179869       priv_key=None,        seed_cmd=u'seed.apply',         enable_vnc=False,
179870       enable_qcow=False,  graphics=None,  os_type=None, arch=None, boot=None,
179871       **kwargs)
179872              Initialize a new vm
179873
179874              Parameters
179875
179876                     · name -- name of the virtual machine to create
179877
179878                     · cpu -- Number of virtual CPUs to assign to the  virtual
179879                       machine
179880
179881                     · mem  --  Amount  of  memory  to allocate to the virtual
179882                       machine in MiB.
179883
179884                     · image --
179885
179886                       Path to a disk image to use as the first disk (Default:
179887                       None).   Deprecated in favor of the disks parameter. To
179888                       set (or change) the image of a disk, add the  following
179889                       to the disks definitions:
179890
179891                          {
179892                              'name': 'name_of_disk_to_change',
179893                              'image': '/path/to/the/image'
179894                          }
179895
179896
179897                     · nic  --  NIC  profile to use (Default: 'default').  The
179898                       profile interfaces can be customized  /  extended  with
179899                       the  interfaces  parameter.  If set to None, no profile
179900                       will be used.
179901
179902                     · interfaces --
179903
179904                       List of dictionaries providing details on  the  network
179905                       interfaces  to  create.  These data are merged with the
179906                       ones from the nic profile. The structure of  each  dic‐
179907                       tionary  is  documented  in  Network Interfaces Defini‐
179908                       tions.
179909
179910                       New in version 2019.2.0.
179911
179912
179913
179914                     · hypervisor -- the virtual machine type. By default  the
179915                       value  will  be  computed according to the virtual host
179916                       capabilities.
179917
179918                     · start -- True to start the virtual machine after having
179919                       defined it (Default: True)
179920
179921                     · disk  --  Disk  profile to use (Default: 'default'). If
179922                       set to None, no profile will be used.
179923
179924                     · disks --
179925
179926                       List of dictionaries  providing  details  on  the  disk
179927                       devices to create.  These data are merged with the ones
179928                       from the disk profile. The structure of each dictionary
179929                       is documented in Disks Definitions.
179930
179931                       New in version 2019.2.0.
179932
179933
179934
179935                     · saltenv  --  Fileserver  environment (Default: 'base').
179936                       See cp module for more details
179937
179938                     · seed -- True to seed the disk image. Only used when the
179939                       image parameter is provided.  (Default: True)
179940
179941                     · install  --  install  salt  minion  if absent (Default:
179942                       True)
179943
179944                     · pub_key -- public key to seed with (Default: None)
179945
179946                     · priv_key -- public key to seed with (Default: None)
179947
179948                     · seed_cmd -- Salt command to execute to seed the  image.
179949                       (Default: 'seed.apply')
179950
179951                     · enable_vnc --
179952
179953                       True to setup a vnc display for the VM (Default: False)
179954
179955                       Deprecated in favor of the graphics parameter. Could be
179956                       replaced with the following:
179957
179958                          graphics={'type': 'vnc'}
179959
179960                       Deprecated since version 2019.2.0.
179961
179962
179963
179964                     · graphics --
179965
179966                       Dictionary providing details on the graphics device  to
179967                       create.  (Default:  None)  See  Graphics Definition for
179968                       more details on the possible values.
179969
179970                       New in version 2019.2.0.
179971
179972
179973
179974                     · os_type --
179975
179976                       type of virtualization as found in the  //os/type  ele‐
179977                       ment  of  the libvirt definition.  The default value is
179978                       taken from the host capabilities, with a preference for
179979                       hvm.
179980
179981                       New in version 2019.2.0.
179982
179983
179984
179985                     · arch --
179986
179987                       architecture  of the virtual machine. The default value
179988                       is taken from the  host  capabilities,  but  x86_64  is
179989                       prefed over i686.
179990
179991                       New in version 2019.2.0.
179992
179993
179994
179995                     · enable_qcow --
179996
179997                       True to create a QCOW2 overlay image, rather than copy‐
179998                       ing the image (Default: False).
179999
180000                       Deprecated in favor of disks parameter. Add the follow‐
180001                       ing to the disks definitions to create an overlay image
180002                       of a template disk image with an image set:
180003
180004                          {
180005                              'name': 'name_of_disk_to_change',
180006                              'overlay_image': True
180007                          }
180008
180009                       Deprecated since version 2019.2.0.
180010
180011
180012
180013                     · pool --
180014
180015                       Path of the folder where the image  files  are  located
180016                       for vmware/esx hypervisors.
180017
180018                       Deprecated in favor of disks parameter. Add the follow‐
180019                       ing to the disks definitions to set the  vmware  datas‐
180020                       tore of a disk image:
180021
180022                          {
180023                              'name': 'name_of_disk_to_change',
180024                              'pool': 'mydatastore'
180025                          }
180026
180027                       Deprecated since version Flurorine.
180028
180029
180030
180031                     · dmac --
180032
180033                       Default  MAC address to use for the network interfaces.
180034                       By default MAC addresses are automatically generated.
180035
180036                       Deprecated in favor of interfaces  parameter.  Add  the
180037                       following  to  the  interfaces definitions to force the
180038                       mac address of a NIC:
180039
180040                          {
180041                              'name': 'name_of_nic_to_change',
180042                              'mac': 'MY:MA:CC:ADD:RE:SS'
180043                          }
180044
180045                       Deprecated since version 2019.2.0.
180046
180047
180048
180049                     · config -- minion configuration  to  use  when  seeding.
180050                       See seed module for more details
180051
180052                     · boot_dev  --  String of space-separated devices to boot
180053                       from (Default: 'hd')
180054
180055                     · serial_type -- Serial device type. One of 'pty',  'tcp'
180056                       (Default: None)
180057
180058                     · telnet_port  -- Telnet port to use for serial device of
180059                       type tcp.
180060
180061                     · console -- True to add  a  console  device  along  with
180062                       serial one (Default: True)
180063
180064                     · connection --
180065
180066                       libvirt connection URI, overriding defaults
180067
180068                       New in version 2019.2.0.
180069
180070
180071
180072                     · username --
180073
180074                       username to connect with, overriding defaults
180075
180076                       New in version 2019.2.0.
180077
180078
180079
180080                     · password --
180081
180082                       password to connect with, overriding defaults
180083
180084                       New in version 2019.2.0.
180085
180086
180087
180088                     · boot --
180089
180090                       Specifies  kernel  for  the virtual machine, as well as
180091                       boot parameters for the virtual  machine.  This  is  an
180092                       optionl  parameter,  and  all  of the keys are optional
180093                       within the dictionary. If a remote path is provided  to
180094                       kernel  or  initrd, salt will handle the downloading of
180095                       the specified remote fild,  and  will  modify  the  XML
180096                       accordingly.
180097
180098                          {
180099                              'kernel': '/root/f8-i386-vmlinuz',
180100                              'initrd': '/root/f8-i386-initrd',
180101                              'cmdline': 'console=ttyS0 ks=http://example.com/f8-i386/os/'
180102                          }
180103
180104                       New in version 3000.
180105
180106
180107              Network Interfaces Definitions
180108
180109              Network  interfaces dictionaries can contain the following prop‐
180110              erties:
180111
180112              name   Name of the network interface. This is only used as a key
180113                     to merge with the profile data
180114
180115              type   Network type. One of 'bridge', 'network'
180116
180117              source The network source, typically the bridge or network name
180118
180119              mac    The  desired  mac  address,  computed  if  None (Default:
180120                     None).
180121
180122              model  The network card model (Default: depends on the  hypervi‐
180123                     sor)
180124              Disks Definitions
180125
180126              Disk dictionaries can contain the following properties:
180127
180128              name   Name  of the disk. This is mostly used in the name of the
180129                     disk image and as a key to merge with the profile data.
180130
180131              format Format of the disk image, like  'qcow2',  'raw',  'vmdk'.
180132                     (Default: depends on the hypervisor)
180133
180134              size   Disk size in MiB
180135
180136              pool   Path to the folder or name of the pool where disks should
180137                     be created.  (Default: depends on hypervisor)
180138
180139              model  One of the  disk  busses  allowed  by  libvirt  (Default:
180140                     depends on hypervisor)
180141
180142                     See  the  libvirt  disk  element  documentation  for  the
180143                     allowed bus types.
180144
180145              image  Path to the image to use for the disk.  If  no  image  is
180146                     provided, an empty disk will be created (Default: None)
180147
180148              overlay_image
180149                     True  to  create a QCOW2 disk image with image as backing
180150                     file. If False the file pointed to by the image  property
180151                     will simply be copied. (Default: False)
180152
180153              source_file
180154                     Absolute  path  to  the disk image to use. Not to be con‐
180155                     fused with image parameter. This parameter is  useful  to
180156                     use  disk images that are created outside of this module.
180157                     Can also be None for  devices  that  have  no  associated
180158                     image like cdroms.
180159
180160              device Type  of  device  of  the  disk.  Can  be  one of 'disk',
180161                     'cdrom', 'floppy' or 'lun'.  (Default: 'disk')
180162              Graphics Definition
180163
180164              The graphics dictionnary can have the following properties:
180165
180166              type   Graphics type. The possible  values  are  none,  'spice',
180167                     'vnc' and other values allowed as a libvirt graphics type
180168                     (Default: None)
180169
180170                     See the libvirt graphics element documentation  for  more
180171                     details on the possible types.
180172
180173              port   Port  to  export  the  graphics on for vnc, spice and rdp
180174                     types.
180175
180176              tls_port
180177                     Port to export the graphics over a secured connection for
180178                     spice type.
180179
180180              listen Dictionary defining on what address to listen on for vnc,
180181                     spice and rdp.  It has a type property with  address  and
180182                     None  as possible values, and an address property holding
180183                     the IP or hostname to listen on.
180184
180185                     By default, not setting the listen part of the dictionary
180186                     will default to listen on all addresses.
180187              CLI Example.INDENT 7.0
180188
180189          salt 'hypervisor' virt.init vm_name 4 512 salt://path/to/image.raw
180190          salt 'hypervisor' virt.init vm_name 4 512 /var/lib/libvirt/images/img.raw
180191          salt 'hypervisor' virt.init vm_name 4 512 nic=profile disk=profile
180192
180193       The disk images will be created in an image folder within the directory
180194       defined   by   the   virt:images   option.   Its   default   value   is
180195       /srv/salt-images/ but this can changed with such a configuration:
180196
180197                 virt:
180198                     images: /data/my/vm/images/
180199
180200       salt.modules.virt.is_hyper()
180201              Returns  a  bool whether or not this node is a hypervisor of any
180202              kind
180203
180204              CLI Example:
180205
180206                 salt '*' virt.is_hyper
180207
180208       salt.modules.virt.is_kvm_hyper()
180209              Returns a bool whether or not this node is a KVM hypervisor
180210
180211              CLI Example:
180212
180213                 salt '*' virt.is_kvm_hyper
180214
180215              Deprecated since version 2019.2.0.
180216
180217
180218       salt.modules.virt.is_xen_hyper()
180219              Returns a bool whether or not this node is a XEN hypervisor
180220
180221              CLI Example:
180222
180223                 salt '*' virt.is_xen_hyper
180224
180225              Deprecated since version 2019.2.0.
180226
180227
180228       salt.modules.virt.list_active_vms(**kwargs)
180229              Return a list of names for active virtual machine on the minion
180230
180231              Parameters
180232
180233                     · connection --
180234
180235                       libvirt connection URI, overriding defaults
180236
180237                       New in version 2019.2.0.
180238
180239
180240
180241                     · username --
180242
180243                       username to connect with, overriding defaults
180244
180245                       New in version 2019.2.0.
180246
180247
180248
180249                     · password --
180250
180251                       password to connect with, overriding defaults
180252
180253                       New in version 2019.2.0.
180254
180255
180256
180257              CLI Example:
180258
180259                 salt '*' virt.list_active_vms
180260
180261       salt.modules.virt.list_domains(**kwargs)
180262              Return a list of available domains.
180263
180264              Parameters
180265
180266                     · connection --
180267
180268                       libvirt connection URI, overriding defaults
180269
180270                       New in version 2019.2.0.
180271
180272
180273
180274                     · username --
180275
180276                       username to connect with, overriding defaults
180277
180278                       New in version 2019.2.0.
180279
180280
180281
180282                     · password --
180283
180284                       password to connect with, overriding defaults
180285
180286                       New in version 2019.2.0.
180287
180288
180289
180290              CLI Example:
180291
180292                 salt '*' virt.list_domains
180293
180294       salt.modules.virt.list_inactive_vms(**kwargs)
180295              Return a list of names for inactive virtual machine on the  min‐
180296              ion
180297
180298              Parameters
180299
180300                     · connection --
180301
180302                       libvirt connection URI, overriding defaults
180303
180304                       New in version 2019.2.0.
180305
180306
180307
180308                     · username --
180309
180310                       username to connect with, overriding defaults
180311
180312                       New in version 2019.2.0.
180313
180314
180315
180316                     · password --
180317
180318                       password to connect with, overriding defaults
180319
180320                       New in version 2019.2.0.
180321
180322
180323
180324              CLI Example:
180325
180326                 salt '*' virt.list_inactive_vms
180327
180328       salt.modules.virt.list_networks(**kwargs)
180329              List all virtual networks.
180330
180331              Parameters
180332
180333                     · connection   --   libvirt  connection  URI,  overriding
180334                       defaults
180335
180336                     · username  --  username  to  connect  with,   overriding
180337                       defaults
180338
180339                     · password   --  password  to  connect  with,  overriding
180340                       defaults
180341
180342              New in version 2019.2.0.
180343
180344
180345              CLI Example:
180346
180347                 salt '*' virt.list_networks
180348
180349       salt.modules.virt.list_pools(**kwargs)
180350              List all storage pools.
180351
180352              Parameters
180353
180354                     · connection  --  libvirt  connection   URI,   overriding
180355                       defaults
180356
180357                     · username   --  username  to  connect  with,  overriding
180358                       defaults
180359
180360                     · password  --  password  to  connect  with,   overriding
180361                       defaults
180362
180363              New in version 2019.2.0.
180364
180365
180366              CLI Example:
180367
180368                 salt '*' virt.list_pools
180369
180370       salt.modules.virt.list_snapshots(domain=None, **kwargs)
180371              List available snapshots for certain vm or for all.
180372
180373              Parameters
180374
180375                     · domain -- domain name
180376
180377                     · connection --
180378
180379                       libvirt connection URI, overriding defaults
180380
180381                       New in version 2019.2.0.
180382
180383
180384
180385                     · username --
180386
180387                       username to connect with, overriding defaults
180388
180389                       New in version 2019.2.0.
180390
180391
180392
180393                     · password --
180394
180395                       password to connect with, overriding defaults
180396
180397                       New in version 2019.2.0.
180398
180399
180400
180401              New in version 2016.3.0.
180402
180403
180404              CLI Example:
180405
180406                 salt '*' virt.list_snapshots
180407                 salt '*' virt.list_snapshots <domain>
180408
180409       salt.modules.virt.migrate(vm_, target, ssh=False)
180410              Shared storage migration
180411
180412              Parameters
180413
180414                     · vm -- domain name
180415
180416                     · target -- target libvirt host name
180417
180418                     · ssh -- True to connect over ssh
180419
180420              CLI Example:
180421
180422                 salt '*' virt.migrate <domain> <target hypervisor>
180423
180424              A  tunnel data migration can be performed by setting this in the
180425              configuration:
180426
180427                 virt:
180428                     tunnel: True
180429
180430              For  more  details  on  tunnelled  data  migrations,  report  to
180431              https://libvirt.org/migration.html#transporttunnel
180432
180433       salt.modules.virt.migrate_non_shared(vm_, target, ssh=False)
180434              Attempt to execute non-shared storage "all" migration
180435
180436              Parameters
180437
180438                     · vm -- domain name
180439
180440                     · target -- target libvirt host name
180441
180442                     · ssh -- True to connect over ssh
180443
180444              CLI Example:
180445
180446                 salt '*' virt.migrate_non_shared <vm name> <target hypervisor>
180447
180448              A  tunnel data migration can be performed by setting this in the
180449              configuration:
180450
180451                 virt:
180452                     tunnel: True
180453
180454              For  more  details  on  tunnelled  data  migrations,  report  to
180455              https://libvirt.org/migration.html#transporttunnel
180456
180457       salt.modules.virt.migrate_non_shared_inc(vm_, target, ssh=False)
180458              Attempt to execute non-shared storage "all" migration
180459
180460              Parameters
180461
180462                     · vm -- domain name
180463
180464                     · target -- target libvirt host name
180465
180466                     · ssh -- True to connect over ssh
180467
180468              CLI Example:
180469
180470                 salt '*' virt.migrate_non_shared_inc <vm name> <target hypervisor>
180471
180472              A  tunnel data migration can be performed by setting this in the
180473              configuration:
180474
180475                 virt:
180476                     tunnel: True
180477
180478              For  more  details  on  tunnelled  data  migrations,  report  to
180479              https://libvirt.org/migration.html#transporttunnel
180480
180481       salt.modules.virt.network_define(name,   bridge,   forward,   ipv4_con‐
180482       fig=None, ipv6_config=None, **kwargs)
180483              Create libvirt network.
180484
180485              Parameters
180486
180487                     · name -- Network name
180488
180489                     · bridge -- Bridge name
180490
180491                     · forward -- Forward mode(bridge, router, nat)
180492
180493                     · vport -- Virtualport type
180494
180495                     · tag -- Vlan tag
180496
180497                     · autostart -- Network autostart (default True)
180498
180499                     · start -- Network start (default True)
180500
180501                     · ipv4_config (dict or None) --
180502
180503                       IP v4 configuration Dictionary  describing  the  IP  v4
180504                       setup  like IP range and a possible DHCP configuration.
180505                       The structure is documented in net-define-ip.
180506
180507                       New in version 3000.
180508
180509
180510
180511                     · ipv6_config (dict or None) --
180512
180513                       IP v6 configuration Dictionary  describing  the  IP  v6
180514                       setup  like IP range and a possible DHCP configuration.
180515                       The structure is documented in net-define-ip.
180516
180517                       New in version 3000.
180518
180519
180520
180521                     · connection  --  libvirt  connection   URI,   overriding
180522                       defaults
180523
180524                     · username   --  username  to  connect  with,  overriding
180525                       defaults
180526
180527                     · password  --  password  to  connect  with,   overriding
180528                       defaults
180529
180530              ** IP configuration definition
180531
180532              Both  the  IPv4  and IPv6 configuration dictionaries can contain
180533              the following properties:
180534
180535              cidr   CIDR   notation   for   the    network.    For    example
180536                     '192.168.124.0/24'
180537
180538              dhcp_ranges
180539                     A list of dictionary with 'start' and 'end' properties.
180540
180541              CLI Example:
180542
180543                 salt '*' virt.network_define network main bridge openvswitch
180544
180545              New in version 2019.2.0.
180546
180547
180548       salt.modules.virt.network_get_xml(name, **kwargs)
180549              Return the XML definition of a virtual network
180550
180551              Parameters
180552
180553                     · name -- libvirt network name
180554
180555                     · connection   --   libvirt  connection  URI,  overriding
180556                       defaults
180557
180558                     · username  --  username  to  connect  with,   overriding
180559                       defaults
180560
180561                     · password   --  password  to  connect  with,  overriding
180562                       defaults
180563
180564              New in version 3000.
180565
180566
180567              CLI Example:
180568
180569                 salt '*' virt.network_get_xml default
180570
180571       salt.modules.virt.network_info(name=None, **kwargs)
180572              Return informations on a virtual network provided its name.
180573
180574              Parameters
180575
180576                     · name -- virtual network name
180577
180578                     · connection  --  libvirt  connection   URI,   overriding
180579                       defaults
180580
180581                     · username   --  username  to  connect  with,  overriding
180582                       defaults
180583
180584                     · password  --  password  to  connect  with,   overriding
180585                       defaults
180586
180587              If no name is provided, return the infos for all defined virtual
180588              networks.
180589
180590              New in version 2019.2.0.
180591
180592
180593              CLI Example:
180594
180595                 salt '*' virt.network_info default
180596
180597       salt.modules.virt.network_set_autostart(name, state=u'on', **kwargs)
180598              Set the autostart flag on a virtual network so that the  network
180599              will start with the host system on reboot.
180600
180601              Parameters
180602
180603                     · name -- virtual network name
180604
180605                     · state  -- 'on' to auto start the network, anything else
180606                       to mark the virtual network not to be started when  the
180607                       host boots
180608
180609                     · connection   --   libvirt  connection  URI,  overriding
180610                       defaults
180611
180612                     · username  --  username  to  connect  with,   overriding
180613                       defaults
180614
180615                     · password   --  password  to  connect  with,  overriding
180616                       defaults
180617
180618              New in version 2019.2.0.
180619
180620
180621              CLI Example:
180622
180623                 salt "*" virt.network_set_autostart <pool> <on | off>
180624
180625       salt.modules.virt.network_start(name, **kwargs)
180626              Start a defined virtual network.
180627
180628              Parameters
180629
180630                     · name -- virtual network name
180631
180632                     · connection  --  libvirt  connection   URI,   overriding
180633                       defaults
180634
180635                     · username   --  username  to  connect  with,  overriding
180636                       defaults
180637
180638                     · password  --  password  to  connect  with,   overriding
180639                       defaults
180640
180641              New in version 2019.2.0.
180642
180643
180644              CLI Example:
180645
180646                 salt '*' virt.network_start default
180647
180648       salt.modules.virt.network_stop(name, **kwargs)
180649              Stop a defined virtual network.
180650
180651              Parameters
180652
180653                     · name -- virtual network name
180654
180655                     · connection   --   libvirt  connection  URI,  overriding
180656                       defaults
180657
180658                     · username  --  username  to  connect  with,   overriding
180659                       defaults
180660
180661                     · password   --  password  to  connect  with,  overriding
180662                       defaults
180663
180664              New in version 2019.2.0.
180665
180666
180667              CLI Example:
180668
180669                 salt '*' virt.network_stop default
180670
180671       salt.modules.virt.network_undefine(name, **kwargs)
180672              Remove a defined virtual network. This does not stop the virtual
180673              network.
180674
180675              Parameters
180676
180677                     · name -- virtual network name
180678
180679                     · connection   --   libvirt  connection  URI,  overriding
180680                       defaults
180681
180682                     · username  --  username  to  connect  with,   overriding
180683                       defaults
180684
180685                     · password   --  password  to  connect  with,  overriding
180686                       defaults
180687
180688              New in version 2019.2.0.
180689
180690
180691              CLI Example:
180692
180693                 salt '*' virt.network_undefine default
180694
180695       salt.modules.virt.node_info(**kwargs)
180696              Return a dict with information about this node
180697
180698              Parameters
180699
180700                     · connection --
180701
180702                       libvirt connection URI, overriding defaults
180703
180704                       New in version 2019.2.0.
180705
180706
180707
180708                     · username --
180709
180710                       username to connect with, overriding defaults
180711
180712                       New in version 2019.2.0.
180713
180714
180715
180716                     · password --
180717
180718                       password to connect with, overriding defaults
180719
180720                       New in version 2019.2.0.
180721
180722
180723
180724              CLI Example:
180725
180726                 salt '*' virt.node_info
180727
180728       salt.modules.virt.pause(vm_, **kwargs)
180729              Pause the named vm
180730
180731              Parameters
180732
180733                     · vm -- domain name
180734
180735                     · connection --
180736
180737                       libvirt connection URI, overriding defaults
180738
180739                       New in version 2019.2.0.
180740
180741
180742
180743                     · username --
180744
180745                       username to connect with, overriding defaults
180746
180747                       New in version 2019.2.0.
180748
180749
180750
180751                     · password --
180752
180753                       password to connect with, overriding defaults
180754
180755                       New in version 2019.2.0.
180756
180757
180758
180759              CLI Example:
180760
180761                 salt '*' virt.pause <domain>
180762
180763       salt.modules.virt.pool_build(name, **kwargs)
180764              Build a defined libvirt storage pool.
180765
180766              Parameters
180767
180768                     · name -- libvirt storage pool name
180769
180770                     · connection  --  libvirt  connection   URI,   overriding
180771                       defaults
180772
180773                     · username   --  username  to  connect  with,  overriding
180774                       defaults
180775
180776                     · password  --  password  to  connect  with,   overriding
180777                       defaults
180778
180779              New in version 2019.2.0.
180780
180781
180782              CLI Example:
180783
180784                 salt '*' virt.pool_build default
180785
180786       salt.modules.virt.pool_capabilities(**kwargs)
180787              Return the hypervisor connection storage pool capabilities.
180788
180789              The  returned data are either directly extracted from libvirt or
180790              computed.  In the latter case some pool types could be listed as
180791              supported  while  they  are  not. To distinguish between the two
180792              cases, check the value of the computed property.
180793
180794              Parameters
180795
180796                     · connection  --  libvirt  connection   URI,   overriding
180797                       defaults
180798
180799                     · username   --  username  to  connect  with,  overriding
180800                       defaults
180801
180802                     · password  --  password  to  connect  with,   overriding
180803                       defaults
180804
180805              New in version 3000.
180806
180807
180808              CLI Example:
180809
180810                 salt '*' virt.pool_capabilities
180811
180812       salt.modules.virt.pool_define(name,    ptype,    target=None,   permis‐
180813       sions=None,   source_devices=None,   source_dir=None,    source_initia‐
180814       tor=None,   source_adapter=None,  source_hosts=None,  source_auth=None,
180815       source_name=None,  source_format=None,   transient=False,   start=True,
180816       **kwargs)
180817              Create libvirt pool.
180818
180819              Parameters
180820
180821                     · name -- Pool name
180822
180823                     · ptype  -- Pool type. See libvirt documentation  for the
180824                       possible values.
180825
180826                     · target -- Pool full path target
180827
180828                     · permissions -- Permissions to set on the target folder.
180829                       This  is  mostly  used for filesystem-based pool types.
180830                       See Permissions definition for  more  details  on  this
180831                       structure.
180832
180833                     · source_devices --
180834
180835                       List  of  source  devices  for pools backed by physical
180836                       devices. (Default: None)
180837
180838                       Each item in the list is a  dictionary  with  path  and
180839                       optionally  part_separator keys. The path is the quali‐
180840                       fied name for iSCSI devices.
180841
180842                       Report to this libvirt page for  more  informations  on
180843                       the use of part_separator
180844
180845
180846                     · source_dir -- Path to the source directory for pools of
180847                       type dir, netfs or gluster.  (Default: None)
180848
180849                     · source_initiator --
180850
180851                       Initiator IQN for libiscsi-direct pool types. (Default:
180852                       None)
180853
180854                       New in version 3000.
180855
180856
180857
180858                     · source_adapter --
180859
180860                       SCSI  source definition. The value is a dictionary with
180861                       type, name, parent, managed, parent_wwnn,  parent_wwpn,
180862                       parent_fabric_wwn, wwnn, wwpn and parent_address keys.
180863
180864                       The parent_address value is a dictionary with unique_id
180865                       and address keys.  The address represents a PCI address
180866                       and  is  itself a dictionary with domain, bus, slot and
180867                       function properties.  Report to this libvirt  page  for
180868                       the meaning and possible values of these properties.
180869
180870
180871                     · source_hosts  --  List  of  source  for pools backed by
180872                       storage from remote servers. Each item is the  hostname
180873                       optionally  followed  by the port separated by a colon.
180874                       (Default: None)
180875
180876                     · source_auth --
180877
180878                       Source authentication details. (Default: None)
180879
180880                       The value is  a  dictionary  with  type,  username  and
180881                       secret  keys.  The type can be one of ceph for Ceph RBD
180882                       or chap for iSCSI sources.
180883
180884                       The secret value links to a libvirt secret  object.  It
180885                       is  a  dictionary  with  type  and value keys. The type
180886                       value can be either uuid or usage.
180887
180888                       Examples:
180889
180890                          source_auth={
180891                              'type': 'ceph',
180892                              'username': 'admin',
180893                              'secret': {
180894                                  'type': 'uuid',
180895                                  'value': '2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'
180896                              }
180897                          }
180898
180899                          source_auth={
180900                              'type': 'chap',
180901                              'username': 'myname',
180902                              'secret': {
180903                                  'type': 'usage',
180904                                  'value': 'mycluster_myname'
180905                              }
180906                          }
180907
180908                       Since 3000, instead the source authentication can  only
180909                       contain  username and password properties. In this case
180910                       the libvirt secret will be defined and used.  For  Ceph
180911                       authentications a base64 encoded key is expected.
180912
180913
180914                     · source_name -- Identifier of name-based sources.
180915
180916                     · source_format --
180917
180918                       String  representing  the  source  format. The possible
180919                       values are depending on the source  type.  See  libvirt
180920                       documentation for the possible values.
180921
180922
180923                     · start -- Pool start (default True)
180924
180925                     · transient  -- When True, the pool will be automatically
180926                       undefined after being stopped.  Note that  a  transient
180927                       pool will force start to True. (Default: False)
180928
180929                     · connection   --   libvirt  connection  URI,  overriding
180930                       defaults
180931
180932                     · username  --  username  to  connect  with,   overriding
180933                       defaults
180934
180935                     · password   --  password  to  connect  with,  overriding
180936                       defaults
180937              Permissions definition
180938
180939              The permissions are described by  a  dictionary  containing  the
180940              following keys:
180941
180942              mode   The  octal  representation  of the permissions. (Default:
180943                     0711)
180944
180945              owner  the numeric user ID of the owner. (Default: from the par‐
180946                     ent folder)
180947
180948              group  the  numeric  ID  of the group. (Default: from the parent
180949                     folder)
180950
180951              label  the SELinux label. (Default: None)
180952              CLI Example:
180953
180954              Local folder pool:
180955
180956                 salt '*' virt.pool_define somepool dir target=/srv/mypool                                   permissions="{'mode': '0744' 'ower': 107, 'group': 107 }"
180957
180958              CIFS backed pool:
180959
180960                 salt '*' virt.pool_define myshare netfs source_format=cifs                                   source_dir=samba_share source_hosts="['example.com']" target=/mnt/cifs
180961
180962              New in version 2019.2.0.
180963
180964
180965       salt.modules.virt.pool_delete(name, **kwargs)
180966              Delete the resources of a defined libvirt storage pool.
180967
180968              Parameters
180969
180970                     · name -- libvirt storage pool name
180971
180972                     · connection  --  libvirt  connection   URI,   overriding
180973                       defaults
180974
180975                     · username   --  username  to  connect  with,  overriding
180976                       defaults
180977
180978                     · password  --  password  to  connect  with,   overriding
180979                       defaults
180980
180981              New in version 2019.2.0.
180982
180983
180984              CLI Example:
180985
180986                 salt '*' virt.pool_delete default
180987
180988       salt.modules.virt.pool_get_xml(name, **kwargs)
180989              Return the XML definition of a virtual storage pool
180990
180991              Parameters
180992
180993                     · name -- libvirt storage pool name
180994
180995                     · connection   --   libvirt  connection  URI,  overriding
180996                       defaults
180997
180998                     · username  --  username  to  connect  with,   overriding
180999                       defaults
181000
181001                     · password   --  password  to  connect  with,  overriding
181002                       defaults
181003
181004              New in version 3000.
181005
181006
181007              CLI Example:
181008
181009                 salt '*' virt.pool_get_xml default
181010
181011       salt.modules.virt.pool_info(name=None, **kwargs)
181012              Return informations on a storage pool provided its name.
181013
181014              Parameters
181015
181016                     · name -- libvirt storage pool name
181017
181018                     · connection  --  libvirt  connection   URI,   overriding
181019                       defaults
181020
181021                     · username   --  username  to  connect  with,  overriding
181022                       defaults
181023
181024                     · password  --  password  to  connect  with,   overriding
181025                       defaults
181026
181027              If no name is provided, return the infos for all defined storage
181028              pools.
181029
181030              New in version 2019.2.0.
181031
181032
181033              CLI Example:
181034
181035                 salt '*' virt.pool_info default
181036
181037       salt.modules.virt.pool_list_volumes(name, **kwargs)
181038              List the volumes contained in a defined libvirt storage pool.
181039
181040              Parameters
181041
181042                     · name -- libvirt storage pool name
181043
181044                     · connection  --  libvirt  connection   URI,   overriding
181045                       defaults
181046
181047                     · username   --  username  to  connect  with,  overriding
181048                       defaults
181049
181050                     · password  --  password  to  connect  with,   overriding
181051                       defaults
181052
181053              New in version 2019.2.0.
181054
181055
181056              CLI Example:
181057
181058                 salt "*" virt.pool_list_volumes <pool>
181059
181060       salt.modules.virt.pool_refresh(name, **kwargs)
181061              Refresh a defined libvirt storage pool.
181062
181063              Parameters
181064
181065                     · name -- libvirt storage pool name
181066
181067                     · connection   --   libvirt  connection  URI,  overriding
181068                       defaults
181069
181070                     · username  --  username  to  connect  with,   overriding
181071                       defaults
181072
181073                     · password   --  password  to  connect  with,  overriding
181074                       defaults
181075
181076              New in version 2019.2.0.
181077
181078
181079              CLI Example:
181080
181081                 salt '*' virt.pool_refresh default
181082
181083       salt.modules.virt.pool_set_autostart(name, state=u'on', **kwargs)
181084              Set the autostart flag on a libvirt storage  pool  so  that  the
181085              storage pool will start with the host system on reboot.
181086
181087              Parameters
181088
181089                     · name -- libvirt storage pool name
181090
181091                     · state  -- 'on' to auto start the pool, anything else to
181092                       mark the pool not to be started when the host boots
181093
181094                     · connection  --  libvirt  connection   URI,   overriding
181095                       defaults
181096
181097                     · username   --  username  to  connect  with,  overriding
181098                       defaults
181099
181100                     · password  --  password  to  connect  with,   overriding
181101                       defaults
181102
181103              New in version 2019.2.0.
181104
181105
181106              CLI Example:
181107
181108                 salt "*" virt.pool_set_autostart <pool> <on | off>
181109
181110       salt.modules.virt.pool_start(name, **kwargs)
181111              Start a defined libvirt storage pool.
181112
181113              Parameters
181114
181115                     · name -- libvirt storage pool name
181116
181117                     · connection   --   libvirt  connection  URI,  overriding
181118                       defaults
181119
181120                     · username  --  username  to  connect  with,   overriding
181121                       defaults
181122
181123                     · password   --  password  to  connect  with,  overriding
181124                       defaults
181125
181126              New in version 2019.2.0.
181127
181128
181129              CLI Example:
181130
181131                 salt '*' virt.pool_start default
181132
181133       salt.modules.virt.pool_stop(name, **kwargs)
181134              Stop a defined libvirt storage pool.
181135
181136              Parameters
181137
181138                     · name -- libvirt storage pool name
181139
181140                     · connection  --  libvirt  connection   URI,   overriding
181141                       defaults
181142
181143                     · username   --  username  to  connect  with,  overriding
181144                       defaults
181145
181146                     · password  --  password  to  connect  with,   overriding
181147                       defaults
181148
181149              New in version 2019.2.0.
181150
181151
181152              CLI Example:
181153
181154                 salt '*' virt.pool_stop default
181155
181156       salt.modules.virt.pool_undefine(name, **kwargs)
181157              Remove  a  defined  libvirt  storage  pool. The pool needs to be
181158              stopped before calling.
181159
181160              Parameters
181161
181162                     · name -- libvirt storage pool name
181163
181164                     · connection  --  libvirt  connection   URI,   overriding
181165                       defaults
181166
181167                     · username   --  username  to  connect  with,  overriding
181168                       defaults
181169
181170                     · password  --  password  to  connect  with,   overriding
181171                       defaults
181172
181173              New in version 2019.2.0.
181174
181175
181176              CLI Example:
181177
181178                 salt '*' virt.pool_undefine default
181179
181180       salt.modules.virt.pool_update(name,    ptype,    target=None,   permis‐
181181       sions=None,   source_devices=None,   source_dir=None,    source_initia‐
181182       tor=None,   source_adapter=None,  source_hosts=None,  source_auth=None,
181183       source_name=None, source_format=None, test=False, **kwargs)
181184              Update a  libvirt  storage  pool  if  needed.   If  called  with
181185              test=True,  this  is  also  reporting whether an update would be
181186              performed.
181187
181188              Parameters
181189
181190                     · name -- Pool name
181191
181192                     · ptype --
181193
181194                       Pool type. See libvirt documentation  for the  possible
181195                       values.
181196
181197
181198                     · target -- Pool full path target
181199
181200                     · permissions -- Permissions to set on the target folder.
181201                       This is mostly used for  filesystem-based  pool  types.
181202                       See  Permissions  definition  for  more details on this
181203                       structure.
181204
181205                     · source_devices --
181206
181207                       List of source devices for  pools  backed  by  physical
181208                       devices. (Default: None)
181209
181210                       Each  item  in  the  list is a dictionary with path and
181211                       optionally part_separator keys. The path is the  quali‐
181212                       fied name for iSCSI devices.
181213
181214                       Report  to  this  libvirt page for more informations on
181215                       the use of part_separator
181216
181217
181218                     · source_dir -- Path to the source directory for pools of
181219                       type dir, netfs or gluster.  (Default: None)
181220
181221                     · source_initiator --
181222
181223                       Initiator IQN for libiscsi-direct pool types. (Default:
181224                       None)
181225
181226                       New in version 3000.
181227
181228
181229
181230                     · source_adapter --
181231
181232                       SCSI source definition. The value is a dictionary  with
181233                       type,  name, parent, managed, parent_wwnn, parent_wwpn,
181234                       parent_fabric_wwn, wwnn, wwpn and parent_address keys.
181235
181236                       The parent_address value is a dictionary with unique_id
181237                       and address keys.  The address represents a PCI address
181238                       and is itself a dictionary with domain, bus,  slot  and
181239                       function  properties.   Report to this libvirt page for
181240                       the meaning and possible values of these properties.
181241
181242
181243                     · source_hosts -- List of  source  for  pools  backed  by
181244                       storage  from remote servers. Each item is the hostname
181245                       optionally followed by the port separated by  a  colon.
181246                       (Default: None)
181247
181248                     · source_auth --
181249
181250                       Source authentication details. (Default: None)
181251
181252                       The  value  is  a  dictionary  with  type, username and
181253                       secret keys. The type can be one of ceph for  Ceph  RBD
181254                       or chap for iSCSI sources.
181255
181256                       The  secret  value links to a libvirt secret object. It
181257                       is a dictionary with type  and  value  keys.  The  type
181258                       value can be either uuid or usage.
181259
181260                       Examples:
181261
181262                          source_auth={
181263                              'type': 'ceph',
181264                              'username': 'admin',
181265                              'secret': {
181266                                  'type': 'uuid',
181267                                  'uuid': '2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'
181268                              }
181269                          }
181270
181271                          source_auth={
181272                              'type': 'chap',
181273                              'username': 'myname',
181274                              'secret': {
181275                                  'type': 'usage',
181276                                  'uuid': 'mycluster_myname'
181277                              }
181278                          }
181279
181280                       Since  3000, instead the source authentication can only
181281                       contain username and password properties. In this  case
181282                       the  libvirt secret will be defined and used.  For Ceph
181283                       authentications a base64 encoded key is expected.
181284
181285
181286                     · source_name -- Identifier of name-based sources.
181287
181288                     · source_format --
181289
181290                       String representing the  source  format.  The  possible
181291                       values  are  depending  on the source type. See libvirt
181292                       documentation for the possible values.
181293
181294
181295                     · test -- run in dry-run mode if set to True
181296
181297                     · connection  --  libvirt  connection   URI,   overriding
181298                       defaults
181299
181300                     · username   --  username  to  connect  with,  overriding
181301                       defaults
181302
181303                     · password  --  password  to  connect  with,   overriding
181304                       defaults
181305              Example:
181306
181307              Local folder pool:
181308
181309                 salt '*' virt.pool_update somepool dir target=/srv/mypool                                   permissions="{'mode': '0744' 'ower': 107, 'group': 107 }"
181310
181311              CIFS backed pool:
181312
181313                 salt '*' virt.pool_update myshare netfs source_format=cifs                                   source_dir=samba_share source_hosts="['example.com']" target=/mnt/cifs
181314
181315              New in version 3000.
181316
181317
181318       salt.modules.virt.purge(vm_, dirs=False, removables=None, **kwargs)
181319              Recursively  destroy  and  delete  a persistent virtual machine,
181320              pass True for dir's to also delete  the  directories  containing
181321              the virtual machine disk images - USE WITH EXTREME CAUTION!
181322
181323              Pass removables=False to avoid deleting cdrom and floppy images.
181324              To avoid disruption, the default but dangerous  value  is  True.
181325              This will be changed to the safer False default value in Sodium.
181326
181327              Parameters
181328
181329                     · vm -- domain name
181330
181331                     · dirs -- pass True to remove containing directories
181332
181333                     · removables --
181334
181335                       pass True to remove removable devices
181336
181337                       New in version 2019.2.0.
181338
181339
181340
181341                     · connection --
181342
181343                       libvirt connection URI, overriding defaults
181344
181345                       New in version 2019.2.0.
181346
181347
181348
181349                     · username --
181350
181351                       username to connect with, overriding defaults
181352
181353                       New in version 2019.2.0.
181354
181355
181356
181357                     · password --
181358
181359                       password to connect with, overriding defaults
181360
181361                       New in version 2019.2.0.
181362
181363
181364
181365              CLI Example:
181366
181367                 salt '*' virt.purge <domain> removables=False
181368
181369       salt.modules.virt.reboot(name, **kwargs)
181370              Reboot a domain via ACPI request
181371
181372              Parameters
181373
181374                     · vm -- domain name
181375
181376                     · connection --
181377
181378                       libvirt connection URI, overriding defaults
181379
181380                       New in version 2019.2.0.
181381
181382
181383
181384                     · username --
181385
181386                       username to connect with, overriding defaults
181387
181388                       New in version 2019.2.0.
181389
181390
181391
181392                     · password --
181393
181394                       password to connect with, overriding defaults
181395
181396                       New in version 2019.2.0.
181397
181398
181399
181400              CLI Example:
181401
181402                 salt '*' virt.reboot <domain>
181403
181404       salt.modules.virt.reset(vm_, **kwargs)
181405              Reset a VM by emulating the reset button on a physical machine
181406
181407              Parameters
181408
181409                     · vm -- domain name
181410
181411                     · connection --
181412
181413                       libvirt connection URI, overriding defaults
181414
181415                       New in version 2019.2.0.
181416
181417
181418
181419                     · username --
181420
181421                       username to connect with, overriding defaults
181422
181423                       New in version 2019.2.0.
181424
181425
181426
181427                     · password --
181428
181429                       password to connect with, overriding defaults
181430
181431                       New in version 2019.2.0.
181432
181433
181434
181435              CLI Example:
181436
181437                 salt '*' virt.reset <domain>
181438
181439       salt.modules.virt.resume(vm_, **kwargs)
181440              Resume the named vm
181441
181442              Parameters
181443
181444                     · vm -- domain name
181445
181446                     · connection --
181447
181448                       libvirt connection URI, overriding defaults
181449
181450                       New in version 2019.2.0.
181451
181452
181453
181454                     · username --
181455
181456                       username to connect with, overriding defaults
181457
181458                       New in version 2019.2.0.
181459
181460
181461
181462                     · password --
181463
181464                       password to connect with, overriding defaults
181465
181466                       New in version 2019.2.0.
181467
181468
181469
181470              CLI Example:
181471
181472                 salt '*' virt.resume <domain>
181473
181474       salt.modules.virt.revert_snapshot(name,               vm_snapshot=None,
181475       cleanup=False, **kwargs)
181476              Revert snapshot to the previous from current (if  available)  or
181477              to the specific.
181478
181479              Parameters
181480
181481                     · name -- domain name
181482
181483                     · vm_snapshot -- name of the snapshot to revert
181484
181485                     · cleanup  --  Remove  all newer than reverted snapshots.
181486                       Values: True or False (default False).
181487
181488                     · connection --
181489
181490                       libvirt connection URI, overriding defaults
181491
181492                       New in version 2019.2.0.
181493
181494
181495
181496                     · username --
181497
181498                       username to connect with, overriding defaults
181499
181500                       New in version 2019.2.0.
181501
181502
181503
181504                     · password --
181505
181506                       password to connect with, overriding defaults
181507
181508                       New in version 2019.2.0.
181509
181510
181511
181512              New in version 2016.3.0.
181513
181514
181515              CLI Example:
181516
181517                 salt '*' virt.revert <domain>
181518                 salt '*' virt.revert <domain> <snapshot>
181519
181520       salt.modules.virt.seed_non_shared_migrate(disks, force=False)
181521              Non shared migration requires that the disks be present  on  the
181522              migration destination, pass the disks information via this func‐
181523              tion, to the migration destination before executing  the  migra‐
181524              tion.
181525
181526              Parameters
181527
181528                     · disks   --  the  list  of  disk  data  as  provided  by
181529                       virt.get_disks
181530
181531                     · force -- skip checking the compatibility of source  and
181532                       target disk images if True. (default: False)
181533
181534              CLI Example:
181535
181536                 salt '*' virt.seed_non_shared_migrate <disks>
181537
181538       salt.modules.virt.set_autostart(vm_, state=u'on', **kwargs)
181539              Set  the  autostart  flag on a VM so that the VM will start with
181540              the host system on reboot.
181541
181542              Parameters
181543
181544                     · vm -- domain name
181545
181546                     · state -- 'on' to auto start the pool, anything else  to
181547                       mark the pool not to be started when the host boots
181548
181549                     · connection --
181550
181551                       libvirt connection URI, overriding defaults
181552
181553                       New in version 2019.2.0.
181554
181555
181556
181557                     · username --
181558
181559                       username to connect with, overriding defaults
181560
181561                       New in version 2019.2.0.
181562
181563
181564
181565                     · password --
181566
181567                       password to connect with, overriding defaults
181568
181569                       New in version 2019.2.0.
181570
181571
181572
181573              CLI Example:
181574
181575                 salt "*" virt.set_autostart <domain> <on | off>
181576
181577       salt.modules.virt.setmem(vm_, memory, config=False, **kwargs)
181578              Changes  the  amount  of  memory allocated to VM. The VM must be
181579              shutdown for this to work.
181580
181581              Parameters
181582
181583                     · vm -- name of the domain
181584
181585                     · memory -- memory amount to set in MB
181586
181587                     · config -- if True then libvirt will be asked to  modify
181588                       the config as well
181589
181590                     · connection --
181591
181592                       libvirt connection URI, overriding defaults
181593
181594                       New in version 2019.2.0.
181595
181596
181597
181598                     · username --
181599
181600                       username to connect with, overriding defaults
181601
181602                       New in version 2019.2.0.
181603
181604
181605
181606                     · password --
181607
181608                       password to connect with, overriding defaults
181609
181610                       New in version 2019.2.0.
181611
181612
181613
181614              CLI Example:
181615
181616                 salt '*' virt.setmem <domain> <size>
181617                 salt '*' virt.setmem my_domain 768
181618
181619       salt.modules.virt.setvcpus(vm_, vcpus, config=False, **kwargs)
181620              Changes  the  amount  of  vcpus  allocated to VM. The VM must be
181621              shutdown for this to work.
181622
181623              If config is True then we ask libvirt to modify  the  config  as
181624              well
181625
181626              Parameters
181627
181628                     · vm -- name of the domain
181629
181630                     · vcpus  -- integer representing the number of CPUs to be
181631                       assigned
181632
181633                     · config -- if True then libvirt will be asked to  modify
181634                       the config as well
181635
181636                     · connection --
181637
181638                       libvirt connection URI, overriding defaults
181639
181640                       New in version 2019.2.0.
181641
181642
181643
181644                     · username --
181645
181646                       username to connect with, overriding defaults
181647
181648                       New in version 2019.2.0.
181649
181650
181651
181652                     · password --
181653
181654                       password to connect with, overriding defaults
181655
181656                       New in version 2019.2.0.
181657
181658
181659
181660              CLI Example:
181661
181662                 salt '*' virt.setvcpus <domain> <amount>
181663                 salt '*' virt.setvcpus my_domain 4
181664
181665       salt.modules.virt.shutdown(vm_, **kwargs)
181666              Send a soft shutdown signal to the named vm
181667
181668              Parameters
181669
181670                     · vm -- domain name
181671
181672                     · connection --
181673
181674                       libvirt connection URI, overriding defaults
181675
181676                       New in version 2019.2.0.
181677
181678
181679
181680                     · username --
181681
181682                       username to connect with, overriding defaults
181683
181684                       New in version 2019.2.0.
181685
181686
181687
181688                     · password --
181689
181690                       password to connect with, overriding defaults
181691
181692                       New in version 2019.2.0.
181693
181694
181695
181696              CLI Example:
181697
181698                 salt '*' virt.shutdown <domain>
181699
181700       salt.modules.virt.snapshot(domain, name=None, suffix=None, **kwargs)
181701              Create a snapshot of a VM.
181702
181703              Parameters
181704
181705                     · domain -- domain name
181706
181707                     · name  --  Name of the snapshot. If the name is omitted,
181708                       then will be used original domain name  with  ISO  8601
181709                       time as a suffix.
181710
181711                     · suffix  --  Add  suffix  for  the  new  name. Useful in
181712                       states, where such snapshots can be distinguished  from
181713                       manually created.
181714
181715                     · connection --
181716
181717                       libvirt connection URI, overriding defaults
181718
181719                       New in version 2019.2.0.
181720
181721
181722
181723                     · username --
181724
181725                       username to connect with, overriding defaults
181726
181727                       New in version 2019.2.0.
181728
181729
181730
181731                     · password --
181732
181733                       password to connect with, overriding defaults
181734
181735                       New in version 2019.2.0.
181736
181737
181738
181739              New in version 2016.3.0.
181740
181741
181742              CLI Example:
181743
181744                 salt '*' virt.snapshot <domain>
181745
181746       salt.modules.virt.start(name, **kwargs)
181747              Start a defined domain
181748
181749              Parameters
181750
181751                     · vm -- domain name
181752
181753                     · connection --
181754
181755                       libvirt connection URI, overriding defaults
181756
181757                       New in version 2019.2.0.
181758
181759
181760
181761                     · username --
181762
181763                       username to connect with, overriding defaults
181764
181765                       New in version 2019.2.0.
181766
181767
181768
181769                     · password --
181770
181771                       password to connect with, overriding defaults
181772
181773                       New in version 2019.2.0.
181774
181775
181776
181777              CLI Example:
181778
181779                 salt '*' virt.start <domain>
181780
181781       salt.modules.virt.stop(name, **kwargs)
181782              Hard  power  down  the  virtual  machine,  this is equivalent to
181783              pulling the power.
181784
181785              Parameters
181786
181787                     · vm -- domain name
181788
181789                     · connection --
181790
181791                       libvirt connection URI, overriding defaults
181792
181793                       New in version 2019.2.0.
181794
181795
181796
181797                     · username --
181798
181799                       username to connect with, overriding defaults
181800
181801                       New in version 2019.2.0.
181802
181803
181804
181805                     · password --
181806
181807                       password to connect with, overriding defaults
181808
181809                       New in version 2019.2.0.
181810
181811
181812
181813              CLI Example:
181814
181815                 salt '*' virt.stop <domain>
181816
181817       salt.modules.virt.undefine(vm_, **kwargs)
181818              Remove a defined vm, this does not  purge  the  virtual  machine
181819              image, and this only works if the vm is powered down
181820
181821              Parameters
181822
181823                     · vm -- domain name
181824
181825                     · connection --
181826
181827                       libvirt connection URI, overriding defaults
181828
181829                       New in version 2019.2.0.
181830
181831
181832
181833                     · username --
181834
181835                       username to connect with, overriding defaults
181836
181837                       New in version 2019.2.0.
181838
181839
181840
181841                     · password --
181842
181843                       password to connect with, overriding defaults
181844
181845                       New in version 2019.2.0.
181846
181847
181848
181849              CLI Example:
181850
181851                 salt '*' virt.undefine <domain>
181852
181853       salt.modules.virt.update(name,    cpu=0,    mem=0,   disk_profile=None,
181854       disks=None,    nic_profile=None,    interfaces=None,     graphics=None,
181855       live=True, boot=None, **kwargs)
181856              Update the definition of an existing domain.
181857
181858              Parameters
181859
181860                     · name -- Name of the domain to update
181861
181862                     · cpu  -- Number of virtual CPUs to assign to the virtual
181863                       machine
181864
181865                     · mem -- Amount of memory  to  allocate  to  the  virtual
181866                       machine in MiB.
181867
181868                     · disk_profile -- disk profile to use
181869
181870                     · disks  --  Disk definitions as documented in the init()
181871                       function.  If neither the profile  nor  this  parameter
181872                       are defined, the disk devices will not be changed. How‐
181873                       ever to clear disks set this parameter to empty list.
181874
181875                     · nic_profile -- network interfaces profile to use
181876
181877                     · interfaces -- Network interface  definitions  as  docu‐
181878                       mented  in the init() function.  If neither the profile
181879                       nor this parameter are defined, the  interface  devices
181880                       will  not  be  changed. However to clear network inter‐
181881                       faces set this parameter to empty list.
181882
181883                     · graphics -- The new graphics definition as  defined  in
181884                       Graphics  Definition. If not set, the graphics will not
181885                       be changed. To  remove  a  graphics  device,  set  this
181886                       parameter to {'type': 'none'}.
181887
181888                     · live  -- False to avoid trying to live update the defi‐
181889                       nition. In such a case, the new definition  is  applied
181890                       at  the next start of the virtual machine. If True, not
181891                       all aspects of the definition can be live updated,  but
181892                       as much as possible will be attempted. (Default: True)
181893
181894                     · connection   --   libvirt  connection  URI,  overriding
181895                       defaults
181896
181897                     · username  --  username  to  connect  with,   overriding
181898                       defaults
181899
181900                     · password   --  password  to  connect  with,  overriding
181901                       defaults
181902
181903                     · boot --
181904
181905                       Specifies kernel for the virtual machine,  as  well  as
181906                       boot  parameters  for  the  virtual machine. This is an
181907                       optionl parameter, and all of  the  keys  are  optional
181908                       within  the dictionary. If a remote path is provided to
181909                       kernel or initrd, salt will handle the  downloading  of
181910                       the  specified  remote  fild,  and  will modify the XML
181911                       accordingly.
181912
181913                          {
181914                              'kernel': '/root/f8-i386-vmlinuz',
181915                              'initrd': '/root/f8-i386-initrd',
181916                              'cmdline': 'console=ttyS0 ks=http://example.com/f8-i386/os/'
181917                          }
181918
181919                       New in version 3000.
181920
181921
181922
181923              Returns
181924                     Returns a dictionary indicating the status  of  what  has
181925                     been done. It is structured in the following way:
181926
181927                        {
181928                          'definition': True,
181929                          'cpu': True,
181930                          'mem': True,
181931                          'disks': {'attached': [list of actually attached disks],
181932                                    'detached': [list of actually detached disks]},
181933                          'nics': {'attached': [list of actually attached nics],
181934                                   'detached': [list of actually detached nics]},
181935                          'errors': ['error messages for failures']
181936                        }
181937
181938
181939              New in version 2019.2.0.
181940
181941
181942              CLI Example:
181943
181944                 salt '*' virt.update domain cpu=2 mem=1024
181945
181946       salt.modules.virt.virt_type()
181947              Returns the virtual machine type as a string
181948
181949              CLI Example:
181950
181951                 salt '*' virt.virt_type
181952
181953       salt.modules.virt.vm_cputime(vm_=None, **kwargs)
181954              Return cputime used by the vms on this hyper in a list of dicts:
181955
181956              Parameters
181957
181958                     · vm -- domain name
181959
181960                     · connection --
181961
181962                       libvirt connection URI, overriding defaults
181963
181964                       New in version 2019.2.0.
181965
181966
181967
181968                     · username --
181969
181970                       username to connect with, overriding defaults
181971
181972                       New in version 2019.2.0.
181973
181974
181975
181976                     · password --
181977
181978                       password to connect with, overriding defaults
181979
181980                       New in version 2019.2.0.
181981
181982
181983
181984                 [
181985                     'your-vm': {
181986                         'cputime' <int>
181987                         'cputime_percent' <int>
181988                         },
181989                     ...
181990                     ]
181991
181992              If you pass a VM name in as an argument then it will return info
181993              for just the named VM, otherwise it will return all VMs.
181994
181995              CLI Example:
181996
181997                 salt '*' virt.vm_cputime
181998
181999       salt.modules.virt.vm_diskstats(vm_=None, **kwargs)
182000              Return disk usage counters used by the vms on this  hyper  in  a
182001              list of dicts:
182002
182003              Parameters
182004
182005                     · vm -- domain name
182006
182007                     · connection --
182008
182009                       libvirt connection URI, overriding defaults
182010
182011                       New in version 2019.2.0.
182012
182013
182014
182015                     · username --
182016
182017                       username to connect with, overriding defaults
182018
182019                       New in version 2019.2.0.
182020
182021
182022
182023                     · password --
182024
182025                       password to connect with, overriding defaults
182026
182027                       New in version 2019.2.0.
182028
182029
182030
182031                 [
182032                     'your-vm': {
182033                         'rd_req'   : 0,
182034                         'rd_bytes' : 0,
182035                         'wr_req'   : 0,
182036                         'wr_bytes' : 0,
182037                         'errs'     : 0
182038                         },
182039                     ...
182040                     ]
182041
182042              If you pass a VM name in as an argument then it will return info
182043              for just the named VM, otherwise it will return all VMs.
182044
182045              CLI Example:
182046
182047                 salt '*' virt.vm_blockstats
182048
182049       salt.modules.virt.vm_info(vm_=None, **kwargs)
182050              Return detailed information about the vms on  this  hyper  in  a
182051              list of dicts:
182052
182053              Parameters
182054
182055                     · vm -- name of the domain
182056
182057                     · connection --
182058
182059                       libvirt connection URI, overriding defaults
182060
182061                       New in version 2019.2.0.
182062
182063
182064
182065                     · username --
182066
182067                       username to connect with, overriding defaults
182068
182069                       New in version 2019.2.0.
182070
182071
182072
182073                     · password --
182074
182075                       password to connect with, overriding defaults
182076
182077                       New in version 2019.2.0.
182078
182079
182080
182081                 [
182082                     'your-vm': {
182083                         'cpu': <int>,
182084                         'maxMem': <int>,
182085                         'mem': <int>,
182086                         'state': '<state>',
182087                         'cputime' <int>
182088                         },
182089                     ...
182090                     ]
182091
182092              If you pass a VM name in as an argument then it will return info
182093              for just the named VM, otherwise it will return all VMs.
182094
182095              CLI Example:
182096
182097                 salt '*' virt.vm_info
182098
182099       salt.modules.virt.vm_netstats(vm_=None, **kwargs)
182100              Return combined network counters used by the vms on  this  hyper
182101              in a list of dicts:
182102
182103              Parameters
182104
182105                     · vm -- domain name
182106
182107                     · connection --
182108
182109                       libvirt connection URI, overriding defaults
182110
182111                       New in version 2019.2.0.
182112
182113
182114
182115                     · username --
182116
182117                       username to connect with, overriding defaults
182118
182119                       New in version 2019.2.0.
182120
182121
182122
182123                     · password --
182124
182125                       password to connect with, overriding defaults
182126
182127                       New in version 2019.2.0.
182128
182129
182130
182131                 [
182132                     'your-vm': {
182133                         'rx_bytes'   : 0,
182134                         'rx_packets' : 0,
182135                         'rx_errs'    : 0,
182136                         'rx_drop'    : 0,
182137                         'tx_bytes'   : 0,
182138                         'tx_packets' : 0,
182139                         'tx_errs'    : 0,
182140                         'tx_drop'    : 0
182141                         },
182142                     ...
182143                     ]
182144
182145              If you pass a VM name in as an argument then it will return info
182146              for just the named VM, otherwise it will return all VMs.
182147
182148              CLI Example:
182149
182150                 salt '*' virt.vm_netstats
182151
182152       salt.modules.virt.vm_state(vm_=None, **kwargs)
182153              Return list of all the vms and their state.
182154
182155              If you pass a VM name in as an argument then it will return info
182156              for just the named VM, otherwise it will return all VMs.
182157
182158              Parameters
182159
182160                     · vm -- name of the domain
182161
182162                     · connection --
182163
182164                       libvirt connection URI, overriding defaults
182165
182166                       New in version 2019.2.0.
182167
182168
182169
182170                     · username --
182171
182172                       username to connect with, overriding defaults
182173
182174                       New in version 2019.2.0.
182175
182176
182177
182178                     · password --
182179
182180                       password to connect with, overriding defaults
182181
182182                       New in version 2019.2.0.
182183
182184
182185
182186              CLI Example:
182187
182188                 salt '*' virt.vm_state <domain>
182189
182190       salt.modules.virt.volume_delete(pool, volume, **kwargs)
182191              Delete a libvirt managed volume.
182192
182193              Parameters
182194
182195                     · pool -- libvirt storage pool name
182196
182197                     · volume -- name of the volume to delete
182198
182199                     · connection   --   libvirt  connection  URI,  overriding
182200                       defaults
182201
182202                     · username  --  username  to  connect  with,   overriding
182203                       defaults
182204
182205                     · password   --  password  to  connect  with,  overriding
182206                       defaults
182207
182208              New in version 3000.
182209
182210
182211              CLI Example:
182212
182213                 salt "*" virt.volume_delete <pool> <volume>
182214
182215       salt.modules.virt.volume_infos(pool=None, volume=None, **kwargs)
182216              Provide details on a storage volume. If no volume name  is  pro‐
182217              vided,  the infos all the volumes contained in the pool are pro‐
182218              vided. If no pool is provided, the infos of the volumes  of  all
182219              pools are output.
182220
182221              Parameters
182222
182223                     · pool -- libvirt storage pool name (default: None)
182224
182225                     · volume  --  name  of  the  volume  to  get  infos  from
182226                       (default: None)
182227
182228                     · connection  --  libvirt  connection   URI,   overriding
182229                       defaults
182230
182231                     · username   --  username  to  connect  with,  overriding
182232                       defaults
182233
182234                     · password  --  password  to  connect  with,   overriding
182235                       defaults
182236
182237              New in version 3000.
182238
182239
182240              CLI Example:
182241
182242                 salt "*" virt.volume_infos <pool> <volume>
182243
182244   salt.modules.virtualenv
182245       Create virtualenv environments.
182246
182247       New in version 0.17.0.
182248
182249
182250       salt.modules.virtualenv_mod.create(path,       venv_bin=None,      sys‐
182251       tem_site_packages=False,  distribute=False,  clear=False,  python=None,
182252       extra_search_dir=None,   never_download=None,  prompt=None,  pip=False,
182253       symlinks=None, upgrade=None, user=None, use_vt=False,  saltenv=u'base',
182254       **kwargs)
182255              Create a virtualenv
182256
182257              path   The path to the virtualenv to be created
182258
182259              venv_bin
182260                     The name (and optionally path) of the virtualenv command.
182261                     This can also be set globally in the minion  config  file
182262                     as virtualenv.venv_bin.  Defaults to virtualenv.
182263
182264              system_site_packages
182265                     False Passthrough argument given to virtualenv or pyvenv
182266
182267              distribute
182268                     False Passthrough argument given to virtualenv
182269
182270              pip    False  Install  pip after creating a virtual environment.
182271                     Implies distribute=True
182272
182273              clear  False Passthrough argument given to virtualenv or pyvenv
182274
182275              python None (default) Passthrough argument given to virtualenv
182276
182277              extra_search_dir
182278                     None (default) Passthrough argument given to virtualenv
182279
182280              never_download
182281                     None (default) Passthrough argument given  to  virtualenv
182282                     if True
182283
182284              prompt None  (default)  Passthrough argument given to virtualenv
182285                     if not None
182286
182287              symlinks
182288                     None Passthrough argument given to pyvenv if True
182289
182290              upgrade
182291                     None Passthrough argument given to pyvenv if True
182292
182293              user   None Set ownership for the virtualenv
182294
182295                     NOTE:
182296                        On Windows you must also pass  a  password  parameter.
182297                        Additionally,  the  user  must have permissions to the
182298                        location where the virtual environment is  being  cre‐
182299                        ated
182300
182301              runas  None Set ownership for the virtualenv
182302
182303                     Deprecated  since  version  2014.1.0: user should be used
182304                     instead
182305
182306
182307              use_vt False  Use  VT  terminal  emulation  (see  output   while
182308                     installing)
182309
182310                     New in version 2015.5.0.
182311
182312
182313              saltenv
182314                     'base' Specify a different environment. The default envi‐
182315                     ronment is base.
182316
182317                     New in version 2014.1.0.
182318
182319
182320              NOTE:
182321                 The runas argument is deprecated as of 2014.1.0. user  should
182322                 be used instead.
182323
182324              CLI Example:
182325
182326                    salt '*' virtualenv.create /path/to/new/virtualenv
182327
182328                 Example of using --always-copy environment variable (in case your fs doesn't support symlinks).
182329                 This will copy files into the virtualenv instead of symlinking them.
182330
182331                 .. code-block:: yaml
182332
182333                     - env:
182334                       - VIRTUALENV_ALWAYS_COPY: 1
182335
182336       salt.modules.virtualenv_mod.get_distribution_path(venv, distribution)
182337              Return the path to a distribution installed inside a virtualenv
182338
182339              New in version 2016.3.0.
182340
182341
182342              venv   Path to the virtualenv.
182343
182344              distribution
182345                     Name  of  the  distribution.  Note,  all non-alphanumeric
182346                     characters will be converted to dashes.
182347
182348              CLI Example:
182349
182350                 salt '*' virtualenv.get_distribution_path /path/to/my/venv my_distribution
182351
182352       salt.modules.virtualenv_mod.get_resource_content(venv,    package=None,
182353       resource=None)
182354              Return the content of a package resource installed inside a vir‐
182355              tualenv
182356
182357              New in version 2015.5.0.
182358
182359
182360              venv   Path to the virtualenv
182361
182362              package
182363                     Name of the package in which the resource resides
182364
182365                     New in version 2016.3.0.
182366
182367
182368              resource
182369                     Name of the resource  of  which  the  content  is  to  be
182370                     returned
182371
182372                     New in version 2016.3.0.
182373
182374
182375              CLI Example:
182376
182377                 salt '*' virtualenv.get_resource_content /path/to/my/venv my_package my/resource.xml
182378
182379       salt.modules.virtualenv_mod.get_resource_path(venv,       package=None,
182380       resource=None)
182381              Return the path to a package resource installed  inside  a  vir‐
182382              tualenv
182383
182384              New in version 2015.5.0.
182385
182386
182387              venv   Path to the virtualenv
182388
182389              package
182390                     Name of the package in which the resource resides
182391
182392                     New in version 2016.3.0.
182393
182394
182395              resource
182396                     Name of the resource of which the path is to be returned
182397
182398                     New in version 2016.3.0.
182399
182400
182401              CLI Example:
182402
182403                 salt '*' virtualenv.get_resource_path /path/to/my/venv my_package my/resource.xml
182404
182405       salt.modules.virtualenv_mod.get_site_packages(venv)
182406              Return the path to the site-packages directory of a virtualenv
182407
182408              venv   Path to the virtualenv.
182409
182410              CLI Example:
182411
182412                 salt '*' virtualenv.get_site_packages /path/to/my/venv
182413
182414       salt.modules.virtualenv_mod.virtualenv_ver(venv_bin,         user=None,
182415       **kwargs)
182416              return virtualenv version if exists
182417
182418   salt.modules.vmctl
182419       Manage vms running on the OpenBSD VMM hypervisor using vmctl(8).
182420
182421       New in version 2019.2.0.
182422
182423
182424       codeauthor
182425              Jasper Lievisse Adriaanse <jasper@openbsd.org>
182426
182427       NOTE:
182428          This module requires the vmd service to be running  on  the  OpenBSD
182429          target machine.
182430
182431       salt.modules.vmctl.create_disk(name, size)
182432              Create a VMM disk with the specified name and size.
182433
182434              size:  Size in megabytes, or use a specifier such as M, G, T.
182435
182436              CLI Example:
182437
182438                 salt '*' vmctl.create_disk /path/to/disk.img size=10G
182439
182440       salt.modules.vmctl.load(path)
182441              Load additional configuration from the specified file.
182442
182443              path   Path to the configuration file.
182444
182445              CLI Example:
182446
182447                 salt '*' vmctl.load path=/etc/vm.switches.conf
182448
182449       salt.modules.vmctl.reload()
182450              Remove all stopped VMs and reload configuration from the default
182451              configuration file.
182452
182453              CLI Example:
182454
182455                 salt '*' vmctl.reload
182456
182457       salt.modules.vmctl.reset(all=False, vms=False, switches=False)
182458              Reset the running state of VMM or a subsystem.
182459
182460              all:   Reset the running state.
182461
182462              switches:
182463                     Reset the configured switches.
182464
182465              vms:   Reset and terminate all VMs.
182466
182467              CLI Example:
182468
182469                 salt '*' vmctl.reset all=True
182470
182471       salt.modules.vmctl.start(name=None, id=None, bootpath=None,  disk=None,
182472       disks=None, local_iface=False, memory=None, nics=0, switch=None)
182473              Starts  a  VM  defined by the specified parameters.  When both a
182474              name and id are provided, the id is ignored.
182475
182476              name:  Name of the defined VM.
182477
182478              id:    VM id.
182479
182480              bootpath:
182481                     Path to a kernel or BIOS image to load.
182482
182483              disk:  Path to a single disk to use.
182484
182485              disks: List of multiple disks to use.
182486
182487              local_iface:
182488                     Whether to add a  local  network  interface.  See  "LOCAL
182489                     INTERFACES" in the vmctl(8) manual page for more informa‐
182490                     tion.
182491
182492              memory:
182493                     Memory size of the VM specified in megabytes.
182494
182495              switch:
182496                     Add a network interface that is attached to the specified
182497                     virtual switch on the host.
182498
182499              CLI Example:
182500
182501                 salt '*' vmctl.start 2   # start VM with id 2
182502                 salt '*' vmctl.start name=web1 bootpath='/bsd.rd' nics=2 memory=512M disk='/disk.img'
182503
182504       salt.modules.vmctl.status(name=None, id=None)
182505              List  VMs  running  on the host, or only the VM specified by id.
182506              When both a name and id are provided, the id is ignored.
182507
182508              name:  Name of the defined VM.
182509
182510              id:    VM id.
182511
182512              CLI Example:
182513
182514                 salt '*' vmctl.status           # to list all VMs
182515                 salt '*' vmctl.status name=web1 # to get a single VM
182516
182517       salt.modules.vmctl.stop(name=None, id=None)
182518              Stop (terminate) the VM identified by  the  given  id  or  name.
182519              When both a name and id are provided, the id is ignored.
182520
182521              name:  Name of the defined VM.
182522
182523              id:    VM id.
182524
182525              CLI Example:
182526
182527                 salt '*' vmctl.stop name=alpine
182528
182529   salt.modules.vsphere
182530       Manage VMware vCenter servers and ESXi hosts.
182531
182532       New in version 2015.8.4.
182533
182534
182535       codeauthor
182536              Alexandru Bleotu <alexandru.bleotu@morganstaley.com>
182537
182538   Dependencies
182539       · pyVmomi Python Module
182540
182541       · ESXCLI
182542
182543   pyVmomi
182544       PyVmomi can be installed via pip:
182545
182546          pip install pyVmomi
182547
182548       NOTE:
182549          Version  6.0 of pyVmomi has some problems with SSL error handling on
182550          certain versions of Python. If using version 6.0 of pyVmomi,  Python
182551          2.7.9,  or  newer must be present. This is due to an upstream depen‐
182552          dency in pyVmomi 6.0 that is not supported in Python versions 2.7 to
182553          2.7.8.  If  the version of Python is not in the supported range, you
182554          will need to install an earlier version of pyVmomi. See Issue #29537
182555          for more information.
182556
182557       Based  on the note above, to install an earlier version of pyVmomi than
182558       the version currently listed in PyPi, run the following:
182559
182560          pip install pyVmomi==5.5.0.2014.1.1
182561
182562       The 5.5.0.2014.1.1 is a known stable version that this original vSphere
182563       Execution Module was developed against.
182564
182565   vSphere Automation SDK
182566       vSphere Automation SDK can be installed via pip:
182567
182568          pip install --upgrade pip setuptools
182569          pip install --upgrade git+https://github.com/vmware/vsphere-automation-sdk-python.git
182570
182571       NOTE:
182572          The  SDK  also  requires  OpenSSL  1.0.1+  if you want to connect to
182573          vSphere 6.5+ in order to support TLS1.1 & 1.2.
182574
182575          In order to use the tagging functions in this module, vSphere  Auto‐
182576          mation SDK is necessary to install.
182577
182578       The module is currently in version 1.0.3 (as of 8/26/2019)
182579
182580   ESXCLI
182581       Currently, about a third of the functions used in the vSphere Execution
182582       Module require the ESXCLI package be installed on the  machine  running
182583       the Proxy Minion process.
182584
182585       The  ESXCLI  package  is also referred to as the VMware vSphere CLI, or
182586       vCLI.  VMware  provides  vCLI  package  installation  instructions  for
182587       vSphere 5.5 and vSphere 6.0.
182588
182589       Once all of the required dependencies are in place and the vCLI package
182590       is installed, you can check to see if you can connect to your ESXi host
182591       or vCenter server by running the following command:
182592
182593          esxcli -s <host-location> -u <username> -p <password> system syslog config get
182594
182595       If  the connection was successful, ESXCLI was successfully installed on
182596       your system.  You should see output related to the ESXi  host's  syslog
182597       configuration.
182598
182599       NOTE:
182600          Be aware that some functionality in this execution module may depend
182601          on the type of license attached to a vCenter Server or ESXi host(s).
182602
182603          For example, certain services are only available to manipulate  ser‐
182604          vice  state  or  policies with a VMware vSphere Enterprise or Enter‐
182605          prise Plus license, while  others  are  available  with  a  Standard
182606          license.  The  ntpd  service  is  restricted  to  an Enterprise Plus
182607          license, while ssh is available via the Standard license.
182608
182609          Please see the vSphere Comparison page for more information.
182610
182611   About
182612       This execution module was designed to be  able  to  handle  connections
182613       both  to  a vCenter Server, as well as to an ESXi host. It utilizes the
182614       pyVmomi Python library and the ESXCLI package to run  remote  execution
182615       functions against either the defined vCenter server or the ESXi host.
182616
182617       Whether  or  not  the function runs against a vCenter Server or an ESXi
182618       host depends entirely upon the arguments passed into the function. Each
182619       function  requires a host location, username, and password. If the cre‐
182620       dentials provided apply to a vCenter Server, then the function will  be
182621       run  against  the vCenter Server. For example, when listing hosts using
182622       vCenter credentials, you'll get a list of hosts  associated  with  that
182623       vCenter Server:
182624
182625          # salt my-minion vsphere.list_hosts <vcenter-ip> <vcenter-user> <vcenter-password>
182626          my-minion:
182627          - esxi-1.example.com
182628          - esxi-2.example.com
182629
182630       However,  some functions should be used against ESXi hosts, not vCenter
182631       Servers.  Functionality such as getting a host's coredump network  con‐
182632       figuration should be performed against a host and not a vCenter server.
182633       If the authentication information you're using  is  against  a  vCenter
182634       server  and  not  an  ESXi  host, you can provide the host name that is
182635       associated with the vCenter server in the command, as a list, using the
182636       host_names or esxi_host kwarg. For example:
182637
182638          # salt my-minion vsphere.get_coredump_network_config <vcenter-ip> <vcenter-user>         <vcenter-password> esxi_hosts='[esxi-1.example.com, esxi-2.example.com]'
182639          my-minion:
182640          ----------
182641              esxi-1.example.com:
182642                  ----------
182643                  Coredump Config:
182644                      ----------
182645                      enabled:
182646                          False
182647              esxi-2.example.com:
182648                  ----------
182649                  Coredump Config:
182650                      ----------
182651                      enabled:
182652                          True
182653                      host_vnic:
182654                          vmk0
182655                      ip:
182656                          coredump-location.example.com
182657                      port:
182658                          6500
182659
182660       You  can  also  use  these  functions  against an ESXi host directly by
182661       establishing a connection to an ESXi host using  the  host's  location,
182662       username, and password. If ESXi connection credentials are used instead
182663       of vCenter credentials, the host_names and esxi_hosts arguments are not
182664       needed.
182665
182666          # salt my-minion vsphere.get_coredump_network_config esxi-1.example.com root <host-password>
182667          local:
182668          ----------
182669              10.4.28.150:
182670                  ----------
182671                  Coredump Config:
182672                      ----------
182673                      enabled:
182674                          True
182675                      host_vnic:
182676                          vmk0
182677                      ip:
182678                          coredump-location.example.com
182679                      port:
182680                          6500
182681
182682       salt.modules.vsphere.add_capacity_to_diskgroup(*args, **kwargs)
182683              Adds  capacity  disks to the disk group with the specified cache
182684              disk.
182685
182686              cache_disk_id
182687                     The canonical name of the cache disk.
182688
182689              capacity_disk_ids
182690                     A list containing canonical names of the  capacity  disks
182691                     to add.
182692
182693              safety_checks
182694                     Specify  whether  to  perform safety check or to skip the
182695                     checks and try  performing  the  required  task.  Default
182696                     value is True.
182697
182698              service_instance
182699                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
182700                     ter/ESXi host.  Default is None.
182701
182702                 salt '*' vsphere.add_capacity_to_diskgroup
182703                     cache_disk_id='naa.000000000000001'
182704                     capacity_disk_ids='[naa.000000000000002, naa.000000000000003]'
182705
182706       salt.modules.vsphere.add_host_to_dvs(*args, **kwargs)
182707              Adds an ESXi host to a vSphere Distributed  Virtual  Switch  and
182708              migrates  the  desired  adapters  to  the  DVS from the standard
182709              switch.
182710
182711              host   The location of the vCenter server.
182712
182713              username
182714                     The username used to login to the vCenter server.
182715
182716              password
182717                     The password used to login to the vCenter server.
182718
182719              vmknic_name
182720                     The name of the virtual NIC to migrate.
182721
182722              vmnic_name
182723                     The name of the physical NIC to migrate.
182724
182725              dvs_name
182726                     The name of the Distributed Virtual Switch.
182727
182728              target_portgroup_name
182729                     The name of the distributed portgroup in which to migrate
182730                     the virtual NIC.
182731
182732              uplink_portgroup_name
182733                     The  name of the uplink portgroup in which to migrate the
182734                     physical NIC.
182735
182736              protocol
182737                     Optionally set  to  alternate  protocol  if  the  vCenter
182738                     server  or  ESX/ESXi host is not using the default proto‐
182739                     col. Default protocol is https.
182740
182741              port   Optionally set to alternate port if the vCenter server or
182742                     ESX/ESXi host is not using the default port. Default port
182743                     is 443.
182744
182745              host_names:
182746                     An array of VMware host names to migrate
182747
182748              CLI Example:
182749
182750                 salt some_host vsphere.add_host_to_dvs host='vsphere.corp.com'
182751                     username='administrator@vsphere.corp.com' password='vsphere_password'
182752                     vmknic_name='vmk0' vmnic_name='vnmic0' dvs_name='DSwitch'
182753                     target_portgroup_name='DPortGroup' uplink_portgroup_name='DSwitch1-DVUplinks-181'
182754                     protocol='https' port='443', host_names="['esxi1.corp.com','esxi2.corp.com','esxi3.corp.com']"
182755
182756              Return Example:
182757
182758                 somehost:
182759                     ----------
182760                     esxi1.corp.com:
182761                         ----------
182762                         dvs:
182763                             DSwitch
182764                         portgroup:
182765                             DPortGroup
182766                         status:
182767                             True
182768                         uplink:
182769                             DSwitch-DVUplinks-181
182770                         vmknic:
182771                             vmk0
182772                         vmnic:
182773                             vmnic0
182774                     esxi2.corp.com:
182775                         ----------
182776                         dvs:
182777                             DSwitch
182778                         portgroup:
182779                             DPortGroup
182780                         status:
182781                             True
182782                         uplink:
182783                             DSwitch-DVUplinks-181
182784                         vmknic:
182785                             vmk0
182786                         vmnic:
182787                             vmnic0
182788                     esxi3.corp.com:
182789                         ----------
182790                         dvs:
182791                             DSwitch
182792                         portgroup:
182793                             DPortGroup
182794                         status:
182795                             True
182796                         uplink:
182797                             DSwitch-DVUplinks-181
182798                         vmknic:
182799                             vmk0
182800                         vmnic:
182801                             vmnic0
182802                     message:
182803                     success:
182804                         True
182805
182806              This was very difficult to figure out.  VMware's  PyVmomi  docu‐
182807              mentation at
182808
182809              https://github.com/vmware/pyvmomi/blob/master/docs/vim/DistributedVirtualSwitch.rst
182810              (which  is  a  copy  of   the   official   documentation   here:
182811              https://www.vmware.com/support/developer/converter-sdk/conv60_apireference/vim.DistributedVirtualSwitch.html)
182812
182813              says to create the DVS, create distributed portgroups, and  then
182814              add  the host to the DVS specifying which physical NIC to use as
182815              the port backing.  However, if the physical NIC is in use as the
182816              only  link  from  the  host  to  vSphere, this will fail with an
182817              unhelpful "busy" error.
182818
182819              There  is,  however,  a  Powershell   PowerCLI   cmdlet   called
182820              Add-VDSwitchPhysicalNetworkAdapter  that  does  what we want.  I
182821              used Onyx  (https://labs.vmware.com/flings/onyx)  to  sniff  the
182822              SOAP  stream  from Powershell to our vSphere server and got this
182823              snippet out:
182824
182825                 <UpdateNetworkConfig xmlns="urn:vim25">
182826                   <_this type="HostNetworkSystem">networkSystem-187</_this>
182827                   <config>
182828                     <vswitch>
182829                       <changeOperation>edit</changeOperation>
182830                       <name>vSwitch0</name>
182831                       <spec>
182832                         <numPorts>7812</numPorts>
182833                       </spec>
182834                     </vswitch>
182835                     <proxySwitch>
182836                         <changeOperation>edit</changeOperation>
182837                         <uuid>73 a4 05 50 b0 d2 7e b9-38 80 5d 24 65 8f da 70</uuid>
182838                         <spec>
182839                         <backing xsi:type="DistributedVirtualSwitchHostMemberPnicBacking">
182840                             <pnicSpec><pnicDevice>vmnic0</pnicDevice></pnicSpec>
182841                         </backing>
182842                         </spec>
182843                     </proxySwitch>
182844                     <portgroup>
182845                       <changeOperation>remove</changeOperation>
182846                       <spec>
182847                         <name>Management Network</name><vlanId>-1</vlanId><vswitchName /><policy />
182848                       </spec>
182849                     </portgroup>
182850                     <vnic>
182851                       <changeOperation>edit</changeOperation>
182852                       <device>vmk0</device>
182853                       <portgroup />
182854                       <spec>
182855                         <distributedVirtualPort>
182856                           <switchUuid>73 a4 05 50 b0 d2 7e b9-38 80 5d 24 65 8f da 70</switchUuid>
182857                           <portgroupKey>dvportgroup-191</portgroupKey>
182858                         </distributedVirtualPort>
182859                       </spec>
182860                     </vnic>
182861                   </config>
182862                   <changeMode>modify</changeMode>
182863                 </UpdateNetworkConfig>
182864
182865              The SOAP API maps closely to PyVmomi, so from there it was (rel‐
182866              atively) easy to figure out what Python to write.
182867
182868       salt.modules.vsphere.add_license(*args, **kwargs)
182869              Adds a license to the vCenter or ESXi host
182870
182871              key    License key.
182872
182873              description
182874                     License description added in as a label.
182875
182876              safety_checks
182877                     Specify  whether  to  perform safety check or to skip the
182878                     checks and try performing the required task
182879
182880              service_instance
182881                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
182882                     ter/ESXi host.  Default is None.
182883
182884                 salt '*' vsphere.add_license key=<license_key> desc='License desc'
182885
182886       salt.modules.vsphere.assign_default_storage_policy_to_datastore(*args,
182887       **kwargs)
182888              Assigns a storage policy as the default policy to a datastore.
182889
182890              policy Name of the policy to assign.
182891
182892              datastore
182893                     Name of the datastore to assign.  The datastore needs  to
182894                     be visible to the VMware entity the proxy points to.
182895
182896              service_instance
182897                     Service  instance  (vim.ServiceInstance)  of the vCenter.
182898                     Default is None.
182899
182900                 salt '*' vsphere.assign_storage_policy_to_datastore
182901                     policy='policy name' datastore=ds1
182902
182903       salt.modules.vsphere.assign_license(*args, **kwargs)
182904              Assigns a license to an entity
182905
182906              license_key
182907                     Key of the license to assign See  _get_entity  docstrings
182908                     for format.
182909
182910              license_name
182911                     Display name of license
182912
182913              entity Dictionary representation of an entity
182914
182915              entity_display_name
182916                     Entity name used in logging
182917
182918              safety_checks
182919                     Specify  whether  to  perform safety check or to skip the
182920                     checks and try performing the required task.  Default  is
182921                     False.
182922
182923              service_instance
182924                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
182925                     ter/ESXi host.  Default is None.
182926
182927                 salt '*' vsphere.assign_license license_key=00000:00000
182928                     license name=test entity={type:cluster,datacenter:dc,cluster:cl}
182929
182930       salt.modules.vsphere.attach_tag(*args, **kwargs)
182931              Attach an existing tag to an input object.
182932
182933              The tag needs to meet the  cardinality  (CategoryModel.cardinal‐
182934              ity) and associability (CategoryModel.associable_types) criteria
182935              in order to be eligible for attachment. If the  tag  is  already
182936              attached to the object, then this method is a no-op and an error
182937              will not be thrown. To invoke this method, you need  the  attach
182938              tag privilege on the tag and the read privilege on the object.
182939
182940              CLI Example:
182941
182942                 salt vm_minion vsphere.attach_tag domain-c2283                 urn:vmomi:InventoryServiceTag:b55ecc77-f4a5-49f8-ab52-38865467cfbe:GLOBAL
182943
182944              Parameters
182945
182946                     · object_id (str) -- The identifier of the input object.
182947
182948                     · tag_id (str) -- The identifier of the tag object.
182949
182950                     · managed_obj  (str)  -- Classes that contain methods for
182951                       creating and deleting  resources  typically  contain  a
182952                       class  attribute  specifying  the resource type for the
182953                       resources being created and deleted.
182954
182955                     · server (basestring) -- Target DNS or IP of vCenter cen‐
182956                       ter.
182957
182958                     · username  (basestring)  -- Username associated with the
182959                       vCenter center.
182960
182961                     · password (basestring) -- Password associated  with  the
182962                       vCenter center.
182963
182964              Returns
182965                     The  list  of  all tag identifiers that correspond to the
182966                     tags attached to the given object.
182967
182968              Return type
182969                     list of tags
182970
182971              Raise  Unauthorized if you do not have the privilege to read the
182972                     object.
182973
182974              Raise  Unauthenticated if the user can not be authenticated.
182975
182976       salt.modules.vsphere.compare_vm_configs(new_config, current_config)
182977              Compares virtual machine current and new configuration, the cur‐
182978              rent is the one which is deployed now, and the new is the target
182979              config. Returns the differences between the objects in a dictio‐
182980              nary, the keys are the configuration parameter keys and the val‐
182981              ues are differences objects: either list or recursive difference
182982
182983              new_config:
182984                     New config dictionary with every available parameter
182985
182986              current_config
182987                     Currently deployed configuration
182988
182989       salt.modules.vsphere.configure_host_cache(*args, **kwargs)
182990              Configures the host cache on the selected host.
182991
182992              enabled
182993                     Boolean   flag  specifying  whether  the  host  cache  is
182994                     enabled.
182995
182996              datastore
182997                     Name of the datastore that contains the host cache.  Must
182998                     be set if enabled is true.
182999
183000              swap_size_MiB
183001                     Swap  size  in  Mibibytes.  Needs to be set if enabled is
183002                     true. Must be smaller than the datastore size.
183003
183004              service_instance
183005                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
183006                     ter/ESXi host.  Default is None.
183007
183008                 salt '*' vsphere.configure_host_cache enabled=False
183009
183010                 salt '*' vsphere.configure_host_cache enabled=True datastore=ds1
183011                     swap_size_MiB=1024
183012
183013       salt.modules.vsphere.coredump_network_enable(host,  username, password,
183014       enabled, protocol=None, port=None, esxi_hosts=None, credstore=None)
183015              Enable or disable ESXi core dump  collection.  Returns  True  if
183016              coredump  is  enabled  and  returns  False  if  core dump is not
183017              enabled. If there was an error, the  error  will  be  the  value
183018              printed in the Error key dictionary for the given host.
183019
183020              host   The location of the host.
183021
183022              username
183023                     The username used to login to the host, such as root.
183024
183025              password
183026                     The password used to login to the host.
183027
183028              enabled
183029                     Python True or False to enable or disable coredumps.
183030
183031              protocol
183032                     Optionally  set  to alternate protocol if the host is not
183033                     using the default protocol. Default protocol is https.
183034
183035              port   Optionally set to alternate port if the host is not using
183036                     the default port. Default port is 443.
183037
183038              esxi_hosts
183039                     If host is a vCenter host, then use esxi_hosts to execute
183040                     this function on a list of one or more ESXi machines.
183041
183042              credstore
183043                     Optionally set to path to the credential store file.
183044
183045              CLI Example:
183046
183047                 # Used for ESXi host connection information
183048                 salt '*' vsphere.coredump_network_enable my.esxi.host root bad-password True
183049
183050                 # Used for connecting to a vCenter Server
183051                 salt '*' vsphere.coredump_network_enable my.vcenter.location root bad-password True             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
183052
183053       salt.modules.vsphere.create_cluster(*args, **kwargs)
183054              Creates a cluster.
183055
183056              Note: cluster_dict['name'] will be  overridden  by  the  cluster
183057              param value
183058
183059              config_dict
183060                     Dictionary with the config values of the new cluster.
183061
183062              datacenter
183063                     Name  of  datacenter  containing the cluster.  Ignored if
183064                     already contained by proxy  details.   Default  value  is
183065                     None.
183066
183067              cluster
183068                     Name  of  cluster.  Ignored if already contained by proxy
183069                     details.  Default value is None.
183070
183071              service_instance
183072                     Service instance (vim.ServiceInstance)  of  the  vCenter.
183073                     Default is None.
183074
183075                 # esxdatacenter proxy
183076                 salt '*' vsphere.create_cluster cluster_dict=$cluster_dict cluster=cl1
183077
183078                 # esxcluster proxy
183079                 salt '*' vsphere.create_cluster cluster_dict=$cluster_dict
183080
183081       salt.modules.vsphere.create_datacenter(*args, **kwargs)
183082              Creates a datacenter.
183083
183084              Supported proxies: esxdatacenter
183085
183086              datacenter_name
183087                     The datacenter name
183088
183089              service_instance
183090                     Service  instance  (vim.ServiceInstance)  of the vCenter.
183091                     Default is None.
183092
183093                 salt '*' vsphere.create_datacenter dc1
183094
183095       salt.modules.vsphere.create_diskgroup(*args, **kwargs)
183096              Creates disk group on an ESXi host with the specified cache  and
183097              capacity disks.
183098
183099              cache_disk_id
183100                     The canonical name of the disk to be used as a cache. The
183101                     disk must be ssd.
183102
183103              capacity_disk_ids
183104                     A list containing canonical names of the capacity  disks.
183105                     Must contain at least one id. Default is True.
183106
183107              safety_checks
183108                     Specify  whether  to  perform safety check or to skip the
183109                     checks and try  performing  the  required  task.  Default
183110                     value is True.
183111
183112              service_instance
183113                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
183114                     ter/ESXi host.  Default is None.
183115
183116                 salt '*' vsphere.create_diskgroup cache_disk_id='naa.000000000000001'
183117                     capacity_disk_ids='[naa.000000000000002, naa.000000000000003]'
183118
183119       salt.modules.vsphere.create_dvportgroup(*args, **kwargs)
183120              Creates a distributed virtual portgroup.
183121
183122              Note: The portgroup_name param will override  any  name  already
183123              set in portgroup_dict.
183124
183125              portgroup_dict
183126                     Dictionary with the config values the portgroup should be
183127                     created with (example in salt.states.dvs).
183128
183129              portgroup_name
183130                     Name of the portgroup to be created.
183131
183132              dvs    Name of the DVS that will contain the portgroup.
183133
183134              service_instance
183135                     Service instance (vim.ServiceInstance)  of  the  vCenter.
183136                     Default is None.
183137
183138                 salt '*' vsphere.create_dvportgroup portgroup_dict=<dict>
183139                     portgroup_name=pg1 dvs=dvs1
183140
183141       salt.modules.vsphere.create_dvs(*args, **kwargs)
183142              Creates a distributed virtual switch (DVS).
183143
183144              Note: The dvs_name param will override any name set in dvs_dict.
183145
183146              dvs_dict
183147                     Dict   representation   of   the   new  DVS  (example  in
183148                     salt.states.dvs)
183149
183150              dvs_name
183151                     Name of the DVS to be created.
183152
183153              service_instance
183154                     Service instance (vim.ServiceInstance)  of  the  vCenter.
183155                     Default is None.
183156
183157                 salt '*' vsphere.create_dvs dvs dict=$dvs_dict dvs_name=dvs_name
183158
183159       salt.modules.vsphere.create_storage_policy(*args, **kwargs)
183160              Creates a storage policy.
183161
183162              Supported capability types: scalar, set, range.
183163
183164              policy_name
183165                     Name  of the policy to create.  The value of the argument
183166                     will override any existing name in policy_dict.
183167
183168              policy_dict
183169                     Dictionary containing the changes to apply to the policy.
183170                     (example in salt.states.pbm)
183171
183172              service_instance
183173                     Service  instance  (vim.ServiceInstance)  of the vCenter.
183174                     Default is None.
183175
183176                 salt '*' vsphere.create_storage_policy policy_name='policy name'
183177                     policy_dict="$policy_dict"
183178
183179       salt.modules.vsphere.create_tag(*args, **kwargs)
183180              Create a tag under a category with given description.
183181
183182              CLI Example:
183183
183184                 salt vm_minion vsphere.create_tag
183185
183186              Parameters
183187
183188                     · server (basestring) -- Target  DNS  or  IP  of  vCenter
183189                       client.
183190
183191                     · username  (basestring)  -- Username associated with the
183192                       vCenter client.
183193
183194                     · password (basestring) -- Password associated  with  the
183195                       vCenter client.
183196
183197                     · name  (str)  --  Name  of  tag  category to create (ex.
183198                       Machine, OS, Availability, etc.)
183199
183200                     · description (str) -- Given description of tag category.
183201
183202                     · category_id (str) -- Value of  category_id  representa‐
183203                       tive of the category created previously.
183204
183205              Returns
183206                     The identifier of the created tag.
183207
183208              Return type
183209                     str
183210
183211              Raise  AlreadyExists  if the name provided in the create_spec is
183212                     the name of an already existing tag in  the  input  cate‐
183213                     gory.
183214
183215              Raise  InvalidArgument  if  any  of the input information in the
183216                     create_spec is invalid.
183217
183218              Raise  NotFound if the category for  in  the  given  create_spec
183219                     does not exist in the system.
183220
183221              Raise  Unauthorized  if  you do not have the privilege to create
183222                     tag.
183223
183224       salt.modules.vsphere.create_tag_category(*args, **kwargs)
183225              Create a category with given cardinality.
183226
183227              CLI Example:
183228
183229                 salt vm_minion vsphere.create_tag_category
183230
183231              Parameters
183232
183233                     · name (str) -- Name  of  tag  category  to  create  (ex.
183234                       Machine, OS, Availability, etc.)
183235
183236                     · description (str) -- Given description of tag category.
183237
183238                     · cardinality  (str)  -- The associated cardinality (SIN‐
183239                       GLE, MULTIPLE) of the category.
183240
183241                     · server (basestring) -- Target DNS or IP of vCenter cen‐
183242                       ter.
183243
183244                     · username  (basestring)  -- Username associated with the
183245                       vCenter center.
183246
183247                     · password (basestring) -- Password associated  with  the
183248                       vCenter center.
183249
183250              Returns
183251                     Identifier of the created category.
183252
183253              Return type
183254                     str
183255
183256              Raise  AlreadyExists if the name` provided in the create_spec is
183257                     the name of an already existing category.
183258
183259              Raise  InvalidArgument if any of the  information  in  the  cre‐
183260                     ate_spec is invalid.
183261
183262              Raise  Unauthorized if you do not have the privilege to create a
183263                     category.
183264
183265       salt.modules.vsphere.create_vm(*args, **kwargs)
183266              Creates a virtual machine container.
183267
183268              CLI Example:
183269
183270                 salt vm_minion vsphere.create_vm vm_name=vmname cpu='{count: 2, nested: True}' ...
183271
183272              vm_name
183273                     Name of the virtual machine
183274
183275              cpu    Properties of CPUs for freshly created machines
183276
183277              memory Memory size for freshly created machines
183278
183279              image  Virtual machine guest OS  version  identifier  VirtualMa‐
183280                     chineGuestOsIdentifier
183281
183282              version
183283                     Virtual machine container hardware version
183284
183285              datacenter
183286                     Datacenter  where  the  virtual  machine will be deployed
183287                     (mandatory)
183288
183289              datastore
183290                     Datastore where the virtual machine files will be placed
183291
183292              placement
183293                     Resource pool or cluster or host or folder where the vir‐
183294                     tual machine will be deployed
183295
183296              devices
183297                     interfaces
183298
183299                        interfaces:
183300                          adapter: 'Network adapter 1'
183301                          name: vlan100
183302                          switch_type: distributed or standard
183303                          adapter_type: vmxnet3 or vmxnet, vmxnet2, vmxnet3, e1000, e1000e
183304                          mac: '00:11:22:33:44:55'
183305                          connectable:
183306                            allow_guest_control: True
183307                            connected: True
183308                            start_connected: True
183309
183310                     disks
183311
183312                        disks:
183313                          adapter: 'Hard disk 1'
183314                          size: 16
183315                          unit: GB
183316                          address: '0:0'
183317                          controller: 'SCSI controller 0'
183318                          thin_provision: False
183319                          eagerly_scrub: False
183320                          datastore: 'myshare'
183321                          filename: 'vm/mydisk.vmdk'
183322
183323                     scsi_devices
183324
183325                        scsi_devices:
183326                          controller: 'SCSI controller 0'
183327                          type: paravirtual
183328                          bus_sharing: no_sharing
183329
183330                     serial_ports
183331
183332                        serial_ports:
183333                          adapter: 'Serial port 1'
183334                          type: network
183335                          backing:
183336                            uri: 'telnet://something:port'
183337                            direction: <client|server>
183338                            filename: 'service_uri'
183339                          connectable:
183340                            allow_guest_control: True
183341                            connected: True
183342                            start_connected: True
183343                          yield: False
183344
183345                     cd_drives
183346
183347                        cd_drives:
183348                          adapter: 'CD/DVD drive 0'
183349                          controller: 'IDE 0'
183350                          device_type: datastore_iso_file
183351                          datastore_iso_file:
183352                            path: path_to_iso
183353                          connectable:
183354                            allow_guest_control: True
183355                            connected: True
183356                            start_connected: True
183357
183358              advanced_config
183359                     Advanced  config  parameters  to  be  set for the virtual
183360                     machine
183361
183362       salt.modules.vsphere.create_vmfs_datastore(*args, **kwargs)
183363              Creates a ESXi host disk group  with  the  specified  cache  and
183364              capacity disks.
183365
183366              datastore_name
183367                     The name of the datastore to be created.
183368
183369              disk_id
183370                     The  disk  id  (canonical name) on which the datastore is
183371                     created.
183372
183373              vmfs_major_version
183374                     The VMFS major version.
183375
183376              safety_checks
183377                     Specify whether to perform safety check or  to  skip  the
183378                     checks  and  try performing the required task. Default is
183379                     True.
183380
183381              service_instance
183382                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
183383                     ter/ESXi host.  Default is None.
183384
183385                 salt '*' vsphere.create_vmfs_datastore datastore_name=ds1 disk_id=
183386                     vmfs_major_version=5
183387
183388       salt.modules.vsphere.delete_advanced_configs(*args, **kwargs)
183389              Removes extra config parameters from a virtual machine
183390
183391              vm_name
183392                     Virtual machine name
183393
183394              datacenter
183395                     Datacenter name where the virtual machine is available
183396
183397              advanced_configs
183398                     List of advanced config values to be removed
183399
183400              service_instance
183401                     vCenter service instance for connection and configuration
183402
183403       salt.modules.vsphere.delete_tag(*args, **kwargs)
183404              Delete a tag.
183405
183406              CLI Example:
183407
183408                 salt vm_minion vsphere.delete_tag
183409
183410              Parameters
183411
183412                     · tag_id  (str)  --  The identifier of tag to be deleted.
183413                       The parameter must be an identifier  for  the  resource
183414                       type: com.vmware.cis.tagging.Tag.
183415
183416                     · server (basestring) -- Target DNS or IP of vCenter cen‐
183417                       ter.
183418
183419                     · username (basestring) -- Username associated  with  the
183420                       vCenter center.
183421
183422                     · password  (basestring)  -- Password associated with the
183423                       vCenter center.
183424
183425              Raise  AlreadyExists if the name provided in the create_spec  is
183426                     the name of an already existing category.
183427
183428              Raise  InvalidArgument  if  any  of  the information in the cre‐
183429                     ate_spec is invalid.
183430
183431              Raise  Unauthorized if you do not have the privilege to create a
183432                     category.
183433
183434       salt.modules.vsphere.delete_tag_category(*args, **kwargs)
183435              Delete a category.
183436
183437              CLI Example:
183438
183439                 salt vm_minion vsphere.delete_tag_category
183440
183441              Parameters
183442
183443                     · category_id  (str)  -- The identifier of category to be
183444                       deleted.  The parameter must be an identifier  for  the
183445                       resource type: com.vmware.cis.tagging.Category.
183446
183447                     · server (basestring) -- Target DNS or IP of vCenter cen‐
183448                       ter.
183449
183450                     · username (basestring) -- Username associated  with  the
183451                       vCenter center.
183452
183453                     · password  (basestring)  -- Password associated with the
183454                       vCenter center.
183455
183456              Raise  NotFound if the tag for the given tag_id does  not  exist
183457                     in the system.
183458
183459              Raise  Unauthorized  if  you do not have the privilege to delete
183460                     the tag.
183461
183462              Raise  Unauthenticated if the user can not be authenticated.
183463
183464       salt.modules.vsphere.delete_vm(*args, **kwargs)
183465              Deletes a virtual machine defined by name and placement
183466
183467              name   Name of the virtual machine
183468
183469              datacenter
183470                     Datacenter of the virtual machine
183471
183472              placement
183473                     Placement information of the virtual machine
183474
183475              service_instance
183476                     vCenter service instance for connection and configuration
183477
183478                 salt '*' vsphere.delete_vm name=my_vm datacenter=my_datacenter
183479
183480       salt.modules.vsphere.disconnect(*args, **kwargs)
183481              Disconnects from a vCenter or ESXi host
183482
183483              NOTE:
183484                 Should be used by state functions, not invoked directly.
183485
183486              service_instance
183487                     Service instance (vim.ServiceInstance)
183488
183489              CLI Example:
183490                 See note above.
183491
183492       salt.modules.vsphere.enable_firewall_ruleset(host, username,  password,
183493       ruleset_enable,       ruleset_name,      protocol=None,      port=None,
183494       esxi_hosts=None, credstore=None)
183495              Enable or disable an ESXi firewall rule set.
183496
183497              host   The location of the host.
183498
183499              username
183500                     The username used to login to the host, such as root.
183501
183502              password
183503                     The password used to login to the host.
183504
183505              ruleset_enable
183506                     True to enable the ruleset, false to disable.
183507
183508              ruleset_name
183509                     Name of ruleset to target.
183510
183511              protocol
183512                     Optionally set to alternate protocol if the host  is  not
183513                     using the default protocol. Default protocol is https.
183514
183515              port   Optionally set to alternate port if the host is not using
183516                     the default port. Default port is 443.
183517
183518              esxi_hosts
183519                     If host is a vCenter host, then use esxi_hosts to execute
183520                     this function on a list of one or more ESXi machines.
183521
183522              credstore
183523                     Optionally set to path to the credential store file.
183524
183525              Returns
183526                     A standard cmd.run_all dictionary, per host.
183527
183528              CLI Example:
183529
183530                 # Used for ESXi host connection information
183531                 salt '*' vsphere.enable_firewall_ruleset my.esxi.host root bad-password True 'syslog'
183532
183533                 # Used for connecting to a vCenter Server
183534                 salt '*' vsphere.enable_firewall_ruleset my.vcenter.location root bad-password True 'syslog'             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
183535
183536       salt.modules.vsphere.erase_disk_partitions(*args, **kwargs)
183537              Erases  the  partitions  on  a  disk.  The disk can be specified
183538              either by the canonical name, or by the scsi_address.
183539
183540              disk_id
183541                     Canonical  name  of  the   disk.    Either   disk_id   or
183542                     scsi_address  needs  to  be specified (disk_id supersedes
183543                     scsi_address.
183544
183545              scsi_address
183546                     Scsi address of the disk.  disk_id or scsi_address  needs
183547                     to be specified (disk_id supersedes scsi_address.
183548
183549              service_instance
183550                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
183551                     ter/ESXi host.  Default is None.
183552
183553                 salt '*' vsphere.erase_disk_partitions scsi_address='vmhaba0:C0:T0:L0'
183554
183555                 salt '*' vsphere.erase_disk_partitions disk_id='naa.000000000000001'
183556
183557       salt.modules.vsphere.esxcli_cmd(cmd_str,   host=None,    username=None,
183558       password=None,   protocol=None,   port=None,   esxi_hosts=None,   cred‐
183559       store=None)
183560              Run an ESXCLI command directly on the host or list of hosts.
183561
183562              host   The location of the host.
183563
183564              username
183565                     The username used to login to the host, such as root.
183566
183567              password
183568                     The password used to login to the host.
183569
183570              cmd_str
183571                     The ESXCLI command to run. Note: This should not  include
183572                     the -s, -u, -p, -h, --protocol, or --portnumber arguments
183573                     that are frequently passed when using a bare ESXCLI  com‐
183574                     mand  from the command line.  Those arguments are handled
183575                     by this function via the other args and kwargs.
183576
183577              protocol
183578                     Optionally set to alternate protocol if the host  is  not
183579                     using the default protocol. Default protocol is https.
183580
183581              port   Optionally set to alternate port if the host is not using
183582                     the default port. Default port is 443.
183583
183584              esxi_hosts
183585                     If host is a vCenter host, then use esxi_hosts to execute
183586                     this function on a list of one or more ESXi machines.
183587
183588              credstore
183589                     Optionally set to path to the credential store file.
183590
183591              CLI Example:
183592
183593                 # Used for ESXi host connection information
183594                 salt '*' vsphere.esxcli_cmd my.esxi.host root bad-password             'system coredump network get'
183595
183596                 # Used for connecting to a vCenter Server
183597                 salt '*' vsphere.esxcli_cmd my.vcenter.location root bad-password             'system coredump network get' esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
183598
183599       salt.modules.vsphere.get_advanced_configs(*args, **kwargs)
183600              Returns  extra config parameters from a virtual machine advanced
183601              config list
183602
183603              vm_name
183604                     Virtual machine name
183605
183606              datacenter
183607                     Datacenter name where the virtual machine is available
183608
183609              service_instance
183610                     vCenter service instance for connection and configuration
183611
183612       salt.modules.vsphere.get_coredump_network_config(host, username,  pass‐
183613       word, protocol=None, port=None, esxi_hosts=None, credstore=None)
183614              Retrieve  information on ESXi or vCenter network dump collection
183615              and format it into a dictionary.
183616
183617              host   The location of the host.
183618
183619              username
183620                     The username used to login to the host, such as root.
183621
183622              password
183623                     The password used to login to the host.
183624
183625              protocol
183626                     Optionally set to alternate protocol if the host  is  not
183627                     using the default protocol. Default protocol is https.
183628
183629              port   Optionally set to alternate port if the host is not using
183630                     the default port. Default port is 443.
183631
183632              esxi_hosts
183633                     If host is a vCenter host, then use esxi_hosts to execute
183634                     this function on a list of one or more ESXi machines.
183635
183636              credstore
183637                     Optionally set to path to the credential store file.
183638
183639              Returns
183640                     A  dictionary with the network configuration, or, if get‐
183641                     ting the  network  config  failed,  a  an  error  message
183642                     retrieved  from  the standard cmd.run_all dictionary, per
183643                     host.
183644
183645              CLI Example:
183646
183647                 # Used for ESXi host connection information
183648                 salt '*' vsphere.get_coredump_network_config my.esxi.host root bad-password
183649
183650                 # Used for connecting to a vCenter Server
183651                 salt '*' vsphere.get_coredump_network_config my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
183652
183653       salt.modules.vsphere.get_firewall_status(host, username, password, pro‐
183654       tocol=None, port=None, esxi_hosts=None, credstore=None)
183655              Show status of all firewall rule sets.
183656
183657              host   The location of the host.
183658
183659              username
183660                     The username used to login to the host, such as root.
183661
183662              password
183663                     The password used to login to the host.
183664
183665              protocol
183666                     Optionally  set  to alternate protocol if the host is not
183667                     using the default protocol. Default protocol is https.
183668
183669              port   Optionally set to alternate port if the host is not using
183670                     the default port. Default port is 443.
183671
183672              esxi_hosts
183673                     If host is a vCenter host, then use esxi_hosts to execute
183674                     this function on a list of one or more ESXi machines.
183675
183676              credstore
183677                     Optionally set to path to the credential store file.
183678
183679              Returns
183680                     Nested dictionary with two  toplevel  keys  rulesets  and
183681                     success  success will be True or False depending on query
183682                     success rulesets will list the rulesets  and  their  sta‐
183683                     tuses if success was true, per host.
183684
183685              CLI Example:
183686
183687                 # Used for ESXi host connection information
183688                 salt '*' vsphere.get_firewall_status my.esxi.host root bad-password
183689
183690                 # Used for connecting to a vCenter Server
183691                 salt '*' vsphere.get_firewall_status my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
183692
183693       salt.modules.vsphere.get_host_cache(*args, **kwargs)
183694              Returns the host cache configuration on the proxy host.
183695
183696              service_instance
183697                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
183698                     ter/ESXi host.  Default is None.
183699
183700                 salt '*' vsphere.get_host_cache
183701
183702       salt.modules.vsphere.get_host_datetime(*args, **kwargs)
183703              Get the date/time information  for  a  given  host  or  list  of
183704              host_names.
183705
183706              host   The location of the host.
183707
183708              username
183709                     The username used to login to the host, such as root.
183710
183711              password
183712                     The password used to login to the host.
183713
183714              protocol
183715                     Optionally  set  to alternate protocol if the host is not
183716                     using the default protocol. Default protocol is https.
183717
183718              port   Optionally set to alternate port if the host is not using
183719                     the default port. Default port is 443.
183720
183721              host_names
183722                     List  of  ESXi  host  names. When the host, username, and
183723                     password credentials are provided for a  vCenter  Server,
183724                     the  host_names  argument is required to tell vCenter the
183725                     hosts for which to get date/time information.
183726
183727                     If host_names is not provided, the date/time  information
183728                     will  be retrieved for the host location instead. This is
183729                     useful for when service instance  connection  information
183730                     is used for a single ESXi host.
183731
183732              CLI Example:
183733
183734                 # Used for single ESXi host connection information
183735                 salt '*' vsphere.get_host_datetime my.esxi.host root bad-password
183736
183737                 # Used for connecting to a vCenter Server
183738                 salt '*' vsphere.get_host_datetime my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
183739
183740       salt.modules.vsphere.get_ntp_config(*args, **kwargs)
183741              Get  the  NTP configuration information for a given host or list
183742              of host_names.
183743
183744              host   The location of the host.
183745
183746              username
183747                     The username used to login to the host, such as root.
183748
183749              password
183750                     The password used to login to the host.
183751
183752              protocol
183753                     Optionally set to alternate protocol if the host  is  not
183754                     using the default protocol. Default protocol is https.
183755
183756              port   Optionally set to alternate port if the host is not using
183757                     the default port. Default port is 443.
183758
183759              host_names
183760                     List of ESXi host names. When  the  host,  username,  and
183761                     password  credentials  are provided for a vCenter Server,
183762                     the host_names argument is required to tell  vCenter  the
183763                     hosts for which to get ntp configuration information.
183764
183765                     If host_names is not provided, the NTP configuration will
183766                     be retrieved for the host location instead. This is  use‐
183767                     ful  for  when service instance connection information is
183768                     used for a single ESXi host.
183769
183770              CLI Example:
183771
183772                 # Used for single ESXi host connection information
183773                 salt '*' vsphere.get_ntp_config my.esxi.host root bad-password
183774
183775                 # Used for connecting to a vCenter Server
183776                 salt '*' vsphere.get_ntp_config my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
183777
183778       salt.modules.vsphere.get_proxy_type()
183779              Returns the proxy type retrieved either from the pillar of  from
183780              the proxy minion's config.  Returns <undefined> otherwise.
183781
183782              CLI Example:
183783
183784                 salt '*' vsphere.get_proxy_type
183785
183786       salt.modules.vsphere.get_service_instance_via_proxy(*args, **kwargs)
183787              Returns a service instance to the proxied endpoint (vCenter/ESXi
183788              host).
183789
183790              service_instance
183791                     Service instance (vim.ServiceInstance)  of  the  vCenter.
183792                     Default is None.
183793
183794              NOTE:
183795                 Should be used by state functions not invoked directly.
183796
183797              CLI Example:
183798                     See note above
183799
183800       salt.modules.vsphere.get_service_policy(*args, **kwargs)
183801              Get the service name's policy for a given host or list of hosts.
183802
183803              host   The location of the host.
183804
183805              username
183806                     The username used to login to the host, such as root.
183807
183808              password
183809                     The password used to login to the host.
183810
183811              service_name
183812
183813                     The name of the service for which to retrieve the policy.
183814                     Supported service names are:
183815
183816                            · DCUI
183817
183818                            · TSM
183819
183820                            · SSH
183821
183822                            · lbtd
183823
183824                            · lsassd
183825
183826                            · lwiod
183827
183828                            · netlogond
183829
183830                            · ntpd
183831
183832                            · sfcbd-watchdog
183833
183834                            · snmpd
183835
183836                            · vprobed
183837
183838                            · vpxa
183839
183840                            · xorg
183841
183842              protocol
183843                     Optionally set to alternate protocol if the host  is  not
183844                     using the default protocol. Default protocol is https.
183845
183846              port   Optionally set to alternate port if the host is not using
183847                     the default port. Default port is 443.
183848
183849              host_names
183850                     List of ESXi host names. When  the  host,  username,  and
183851                     password  credentials  are provided for a vCenter Server,
183852                     the host_names argument is required to tell  vCenter  the
183853                     hosts for which to get service policy information.
183854
183855                     If  host_names is not provided, the service policy infor‐
183856                     mation will be retrieved for the host  location  instead.
183857                     This  is  useful  for  when  service  instance connection
183858                     information is used for a single ESXi host.
183859
183860              CLI Example:
183861
183862                 # Used for single ESXi host connection information
183863                 salt '*' vsphere.get_service_policy my.esxi.host root bad-password 'ssh'
183864
183865                 # Used for connecting to a vCenter Server
183866                 salt '*' vsphere.get_service_policy my.vcenter.location root bad-password 'ntpd'         host_names='[esxi-1.host.com, esxi-2.host.com]'
183867
183868       salt.modules.vsphere.get_service_running(*args, **kwargs)
183869              Get the service name's running state for a given host or list of
183870              hosts.
183871
183872              host   The location of the host.
183873
183874              username
183875                     The username used to login to the host, such as root.
183876
183877              password
183878                     The password used to login to the host.
183879
183880              service_name
183881
183882                     The name of the service for which to retrieve the policy.
183883                     Supported service names are:
183884
183885                            · DCUI
183886
183887                            · TSM
183888
183889                            · SSH
183890
183891                            · lbtd
183892
183893                            · lsassd
183894
183895                            · lwiod
183896
183897                            · netlogond
183898
183899                            · ntpd
183900
183901                            · sfcbd-watchdog
183902
183903                            · snmpd
183904
183905                            · vprobed
183906
183907                            · vpxa
183908
183909                            · xorg
183910
183911              protocol
183912                     Optionally set to alternate protocol if the host  is  not
183913                     using the default protocol. Default protocol is https.
183914
183915              port   Optionally set to alternate port if the host is not using
183916                     the default port. Default port is 443.
183917
183918              host_names
183919                     List of ESXi host names. When  the  host,  username,  and
183920                     password  credentials  are provided for a vCenter Server,
183921                     the host_names argument is required to tell  vCenter  the
183922                     hosts for which to get the service's running state.
183923
183924                     If  host_names  is  not  provided,  the service's running
183925                     state will be retrieved for the  host  location  instead.
183926                     This  is  useful  for  when  service  instance connection
183927                     information is used for a single ESXi host.
183928
183929              CLI Example:
183930
183931                 # Used for single ESXi host connection information
183932                 salt '*' vsphere.get_service_running my.esxi.host root bad-password 'ssh'
183933
183934                 # Used for connecting to a vCenter Server
183935                 salt '*' vsphere.get_service_running my.vcenter.location root bad-password 'ntpd'         host_names='[esxi-1.host.com, esxi-2.host.com]'
183936
183937       salt.modules.vsphere.get_ssh_key(*args, **kwargs)
183938              Retrieve the authorized_keys entry for root.  This function only
183939              works for ESXi, not vCenter.
183940
183941              Parameters
183942
183943                     · host -- The location of the ESXi Host
183944
183945                     · username -- Username to connect as
183946
183947                     · password -- Password for the ESXi web endpoint
183948
183949                     · protocol  --  defaults  to https, can be http if ssl is
183950                       disabled on ESXi
183951
183952                     · port -- defaults to 443 for https
183953
183954                     · certificate_verify -- If true require that the SSL con‐
183955                       nection present a valid certificate
183956
183957              Returns
183958                     True if upload is successful
183959
183960              CLI Example:
183961
183962                 salt '*' vsphere.get_ssh_key my.esxi.host root bad-password certificate_verify=True
183963
183964       salt.modules.vsphere.get_syslog_config(host, username, password, proto‐
183965       col=None, port=None, esxi_hosts=None, credstore=None)
183966              Retrieve the syslog configuration.
183967
183968              host   The location of the host.
183969
183970              username
183971                     The username used to login to the host, such as root.
183972
183973              password
183974                     The password used to login to the host.
183975
183976              protocol
183977                     Optionally set to alternate protocol if the host  is  not
183978                     using the default protocol. Default protocol is https.
183979
183980              port   Optionally set to alternate port if the host is not using
183981                     the default port. Default port is 443.
183982
183983              esxi_hosts
183984                     If host is a vCenter host, then use esxi_hosts to execute
183985                     this function on a list of one or more ESXi machines.
183986
183987              credstore
183988                     Optionally set to path to the credential store file.
183989
183990              Returns
183991                     Dictionary with keys and values corresponding to the sys‐
183992                     log configuration, per host.
183993
183994              CLI Example:
183995
183996                 # Used for ESXi host connection information
183997                 salt '*' vsphere.get_syslog_config my.esxi.host root bad-password
183998
183999                 # Used for connecting to a vCenter Server
184000                 salt '*' vsphere.get_syslog_config my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
184001
184002       salt.modules.vsphere.get_vm(*args, **kwargs)
184003              Returns vm object properties.
184004
184005              name   Name of the virtual machine.
184006
184007              datacenter
184008                     Datacenter name
184009
184010              vm_properties
184011                     List of vm properties.
184012
184013              traversal_spec
184014                     Traversal Spec object(s) for searching.
184015
184016              parent_ref
184017                     Container Reference object for searching  under  a  given
184018                     object.
184019
184020              service_instance
184021                     Service  instance  (vim.ServiceInstance)  of the vCenter.
184022                     Default is None.
184023
184024       salt.modules.vsphere.get_vm_config(*args, **kwargs)
184025              Queries and converts  the  virtual  machine  properties  to  the
184026              available  format  from  the schema. If the objects attribute is
184027              True  the  config  objects  will  have  extra  properties,  like
184028              'object'  which  will  include  the vim.vm.device.VirtualDevice,
184029              this is necessary for deletion and update actions.
184030
184031              name   Name of the virtual machine
184032
184033              datacenter
184034                     Datacenter's name where the virtual machine is available
184035
184036              objects
184037                     Indicates whether to return the vmware object  properties
184038                     (eg. object, key) or just the properties which can be set
184039
184040              service_instance
184041                     vCenter service instance for connection and configuration
184042
184043       salt.modules.vsphere.get_vm_config_file(*args, **kwargs)
184044              Queries   the   virtual   machine   config   file   and  returns
184045              vim.host.DatastoreBrowser.SearchResults object on  success  None
184046              on failure
184047
184048              name   Name of the virtual machine
184049
184050              datacenter
184051                     Datacenter name
184052
184053              datastore
184054                     Datastore where the virtual machine files are stored
184055
184056              service_instance
184057                     Service  instance  (vim.ServiceInstance)  of the vCenter.
184058                     Default is None.
184059
184060       salt.modules.vsphere.get_vmotion_enabled(*args, **kwargs)
184061              Get the VMotion enabled status for a given host  or  a  list  of
184062              host_names.  Returns  True if VMotion is enabled, False if it is
184063              not enabled.
184064
184065              host   The location of the host.
184066
184067              username
184068                     The username used to login to the host, such as root.
184069
184070              password
184071                     The password used to login to the host.
184072
184073              protocol
184074                     Optionally set to alternate protocol if the host  is  not
184075                     using the default protocol. Default protocol is https.
184076
184077              port   Optionally set to alternate port if the host is not using
184078                     the default port. Default port is 443.
184079
184080              host_names
184081                     List of ESXi host names. When  the  host,  username,  and
184082                     password  credentials  are provided for a vCenter Server,
184083                     the host_names argument is required to tell vCenter which
184084                     hosts to check if VMotion is enabled.
184085
184086                     If host_names is not provided, the VMotion status will be
184087                     retrieved for the host location instead. This  is  useful
184088                     for  when service instance connection information is used
184089                     for a single ESXi host.
184090
184091              CLI Example:
184092
184093                 # Used for single ESXi host connection information
184094                 salt '*' vsphere.get_vmotion_enabled my.esxi.host root bad-password
184095
184096                 # Used for connecting to a vCenter Server
184097                 salt '*' vsphere.get_vmotion_enabled my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
184098
184099       salt.modules.vsphere.get_vsan_eligible_disks(*args, **kwargs)
184100              Returns a list of VSAN-eligible disks for a given host  or  list
184101              of host_names.
184102
184103              host   The location of the host.
184104
184105              username
184106                     The username used to login to the host, such as root.
184107
184108              password
184109                     The password used to login to the host.
184110
184111              protocol
184112                     Optionally  set  to alternate protocol if the host is not
184113                     using the default protocol. Default protocol is https.
184114
184115              port   Optionally set to alternate port if the host is not using
184116                     the default port. Default port is 443.
184117
184118              host_names
184119                     List  of  ESXi  host  names. When the host, username, and
184120                     password credentials are provided for a  vCenter  Server,
184121                     the host_names argument is required to tell vCenter which
184122                     hosts to check if any VSAN-eligible disks are available.
184123
184124                     If host_names is not provided,  the  VSAN-eligible  disks
184125                     will  be retrieved for the host location instead. This is
184126                     useful for when service instance  connection  information
184127                     is used for a single ESXi host.
184128
184129              CLI Example:
184130
184131                 # Used for single ESXi host connection information
184132                 salt '*' vsphere.get_vsan_eligible_disks my.esxi.host root bad-password
184133
184134                 # Used for connecting to a vCenter Server
184135                 salt '*' vsphere.get_vsan_eligible_disks my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
184136
184137       salt.modules.vsphere.get_vsan_enabled(*args, **kwargs)
184138              Get  the  VSAN  enabled  status  for  a  given host or a list of
184139              host_names. Returns True if VSAN is enabled, False if it is  not
184140              enabled, and None if a VSAN Host Config is unset, per host.
184141
184142              host   The location of the host.
184143
184144              username
184145                     The username used to login to the host, such as root.
184146
184147              password
184148                     The password used to login to the host.
184149
184150              protocol
184151                     Optionally  set  to alternate protocol if the host is not
184152                     using the default protocol. Default protocol is https.
184153
184154              port   Optionally set to alternate port if the host is not using
184155                     the default port. Default port is 443.
184156
184157              host_names
184158                     List  of  ESXi  host  names. When the host, username, and
184159                     password credentials are provided for a  vCenter  Server,
184160                     the host_names argument is required to tell vCenter which
184161                     hosts to check if VSAN enabled.
184162
184163                     If host_names is not provided, the VSAN  status  will  be
184164                     retrieved  for  the host location instead. This is useful
184165                     for when service instance connection information is  used
184166                     for a single ESXi host.
184167
184168              CLI Example:
184169
184170                 # Used for single ESXi host connection information
184171                 salt '*' vsphere.get_vsan_enabled my.esxi.host root bad-password
184172
184173                 # Used for connecting to a vCenter Server
184174                 salt '*' vsphere.get_vsan_enabled my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
184175
184176       salt.modules.vsphere.gets_service_instance_via_proxy(fn)
184177              Decorator  that  connects  to  a  target system (vCenter or ESXi
184178              host)  using  the  proxy  details  and  passes  the   connection
184179              (vim.ServiceInstance) to the decorated function.
184180
184181              Supported proxies: esxi, esxcluster, esxdatacenter.  Notes
184182
184183              1. The decorated function must have a service_instance parameter
184184              or a **kwarg type argument (name of argument is not  important);
184185              2.  If  the  service_instance  parameter is already defined, the
184186              value is passed through to the decorated  function;  3.  If  the
184187              service_instance  parameter  in  not  defined, the connection is
184188              created using the proxy details  and  the  service  instance  is
184189              returned.
184190
184191              CLI Example:
184192                     None, this is a decorator
184193
184194       salt.modules.vsphere.list_assigned_licenses(*args, **kwargs)
184195              Lists the licenses assigned to an entity
184196
184197              entity Dictionary  representation of an entity.  See _get_entity
184198                     docstrings for format.
184199
184200              entity_display_name
184201                     Entity name used in logging
184202
184203              license_keys:
184204                     List of license keys to be retrieved. Default is None.
184205
184206              service_instance
184207                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
184208                     ter/ESXi host.  Default is None.
184209
184210                 salt '*' vsphere.list_assigned_licenses
184211                     entity={type:cluster,datacenter:dc,cluster:cl}
184212                     entiy_display_name=cl
184213
184214       salt.modules.vsphere.list_attached_tags(*args, **kwargs)
184215              List existing tags a user has access to.
184216
184217              CLI Example:
184218
184219                 salt vm_minion vsphere.list_attached_tags domain-c2283
184220
184221              Parameters
184222
184223                     · object_id (str) -- The identifier of the input object.
184224
184225                     · managed_obj  (str)  -- Classes that contain methods for
184226                       creating and deleting  resources  typically  contain  a
184227                       class  attribute  specifying  the resource type for the
184228                       resources being created and deleted.
184229
184230                     · server (basestring) -- Target DNS or IP of vCenter cen‐
184231                       ter.
184232
184233                     · username  (basestring)  -- Username associated with the
184234                       vCenter center.
184235
184236                     · password (basestring) -- Password associated  with  the
184237                       vCenter center.
184238
184239              Returns
184240                     The  list  of  all tag identifiers that correspond to the
184241                     tags attached to the given object.
184242
184243              Return type
184244                     list of tags
184245
184246              Raise  Unauthorized if you do not have the privilege to read the
184247                     object.
184248
184249              Raise  Unauthenticated if the user can not be authenticated.
184250
184251       salt.modules.vsphere.list_capability_definitions(*args, **kwargs)
184252              Returns  a list of the metadata of all capabilities in the vCen‐
184253              ter.
184254
184255              service_instance
184256                     Service instance (vim.ServiceInstance)  of  the  vCenter.
184257                     Default is None.
184258
184259                 salt '*' vsphere.list_capabilities
184260
184261       salt.modules.vsphere.list_cluster(*args, **kwargs)
184262              Returns a dict representation of an ESX cluster.
184263
184264              datacenter
184265                     Name  of  datacenter  containing the cluster.  Ignored if
184266                     already contained by proxy  details.   Default  value  is
184267                     None.
184268
184269              cluster
184270                     Name  of  cluster.  Ignored if already contained by proxy
184271                     details.  Default value is None.
184272
184273              service_instance
184274                     Service instance (vim.ServiceInstance)  of  the  vCenter.
184275                     Default is None.
184276
184277                 # vcenter proxy
184278                 salt '*' vsphere.list_cluster datacenter=dc1 cluster=cl1
184279
184280                 # esxdatacenter proxy
184281                 salt '*' vsphere.list_cluster cluster=cl1
184282
184283                 # esxcluster proxy
184284                 salt '*' vsphere.list_cluster
184285
184286       salt.modules.vsphere.list_clusters(*args, **kwargs)
184287              Returns a list of clusters for the the specified host.
184288
184289              host   The location of the host.
184290
184291              username
184292                     The username used to login to the host, such as root.
184293
184294              password
184295                     The password used to login to the host.
184296
184297              protocol
184298                     Optionally  set  to alternate protocol if the host is not
184299                     using the default protocol. Default protocol is https.
184300
184301              port   Optionally set to alternate port if the host is not using
184302                     the default port. Default port is 443.
184303
184304              CLI Example:
184305
184306                 salt '*' vsphere.list_clusters 1.2.3.4 root bad-password
184307
184308       salt.modules.vsphere.list_datacenters(*args, **kwargs)
184309              Returns a list of datacenters for the the specified host.
184310
184311              host   The location of the host.
184312
184313              username
184314                     The username used to login to the host, such as root.
184315
184316              password
184317                     The password used to login to the host.
184318
184319              protocol
184320                     Optionally  set  to alternate protocol if the host is not
184321                     using the default protocol. Default protocol is https.
184322
184323              port   Optionally set to alternate port if the host is not using
184324                     the default port. Default port is 443.
184325
184326              CLI Example:
184327
184328                 salt '*' vsphere.list_datacenters 1.2.3.4 root bad-password
184329
184330       salt.modules.vsphere.list_datacenters_via_proxy(*args, **kwargs)
184331              Returns  a  list  of dict representations of VMware datacenters.
184332              Connection is done via the proxy details.
184333
184334              Supported proxies: esxdatacenter
184335
184336              datacenter_names
184337                     List of datacenter names.  Default is None.
184338
184339              service_instance
184340                     Service instance (vim.ServiceInstance)  of  the  vCenter.
184341                     Default is None.
184342
184343                 salt '*' vsphere.list_datacenters_via_proxy
184344
184345                 salt '*' vsphere.list_datacenters_via_proxy dc1
184346
184347                 salt '*' vsphere.list_datacenters_via_proxy dc1,dc2
184348
184349                 salt '*' vsphere.list_datacenters_via_proxy datacenter_names=[dc1, dc2]
184350
184351       salt.modules.vsphere.list_datastore_clusters(*args, **kwargs)
184352              Returns a list of datastore clusters for the the specified host.
184353
184354              host   The location of the host.
184355
184356              username
184357                     The username used to login to the host, such as root.
184358
184359              password
184360                     The password used to login to the host.
184361
184362              protocol
184363                     Optionally  set  to alternate protocol if the host is not
184364                     using the default protocol. Default protocol is https.
184365
184366              port   Optionally set to alternate port if the host is not using
184367                     the default port. Default port is 443.
184368
184369              CLI Example:
184370
184371                 salt '*' vsphere.list_datastore_clusters 1.2.3.4 root bad-password
184372
184373       salt.modules.vsphere.list_datastores(*args, **kwargs)
184374              Returns a list of datastores for the the specified host.
184375
184376              host   The location of the host.
184377
184378              username
184379                     The username used to login to the host, such as root.
184380
184381              password
184382                     The password used to login to the host.
184383
184384              protocol
184385                     Optionally  set  to alternate protocol if the host is not
184386                     using the default protocol. Default protocol is https.
184387
184388              port   Optionally set to alternate port if the host is not using
184389                     the default port. Default port is 443.
184390
184391              CLI Example:
184392
184393                 salt '*' vsphere.list_datastores 1.2.3.4 root bad-password
184394
184395       salt.modules.vsphere.list_datastores_via_proxy(*args, **kwargs)
184396              Returns a list of dict representations of the datastores visible
184397              to the proxy object. The list of datastores can be  filtered  by
184398              datastore  names,  backing disk ids (canonical names) or backing
184399              disk scsi addresses.
184400
184401              Supported proxy types: esxi, esxcluster, esxdatacenter
184402
184403              datastore_names
184404                     List of the names of datastores to filter on
184405
184406              backing_disk_ids
184407                     List of canonical names of the backing disks of the data‐
184408                     stores to filer.  Default is None.
184409
184410              backing_disk_scsi_addresses
184411                     List of scsi addresses of the backing disks of the datas‐
184412                     tores to filter.  Default is None.
184413
184414              service_instance
184415                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
184416                     ter/ESXi host.  Default is None.
184417
184418                 salt '*' vsphere.list_datastores_via_proxy
184419
184420                 salt '*' vsphere.list_datastores_via_proxy datastore_names=[ds1, ds2]
184421
184422       salt.modules.vsphere.list_default_storage_policy_of_datastore(*args,
184423       **kwargs)
184424              Returns a list of datastores assign the the storage policies.
184425
184426              datastore
184427                     Name of the datastore to assign.  The datastore needs  to
184428                     be visible to the VMware entity the proxy points to.
184429
184430              service_instance
184431                     Service  instance  (vim.ServiceInstance)  of the vCenter.
184432                     Default is None.
184433
184434                 salt '*' vsphere.list_default_storage_policy_of_datastore datastore=ds1
184435
184436       salt.modules.vsphere.list_default_vsan_policy(*args, **kwargs)
184437              Returns the default vsan storage policy.
184438
184439              service_instance
184440                     Service instance (vim.ServiceInstance)  of  the  vCenter.
184441                     Default is None.
184442
184443                 salt '*' vsphere.list_storage_policies
184444
184445                 salt '*' vsphere.list_storage_policy policy_names=[policy_name]
184446
184447       salt.modules.vsphere.list_disk_partitions(*args, **kwargs)
184448              Lists  the  partitions  on  a  disk.   The disk can be specified
184449              either by the canonical name, or by the scsi_address.
184450
184451              disk_id
184452                     Canonical  name  of  the   disk.    Either   disk_id   or
184453                     scsi_address  needs  to  be specified (disk_id supersedes
184454                     scsi_address.
184455
184456              scsi_address`
184457                     Scsi address of the disk.  disk_id or scsi_address  needs
184458                     to be specified (disk_id supersedes scsi_address.
184459
184460              service_instance
184461                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
184462                     ter/ESXi host.  Default is None.
184463
184464                 salt '*' vsphere.list_disk_partitions scsi_address='vmhaba0:C0:T0:L0'
184465
184466                 salt '*' vsphere.list_disk_partitions disk_id='naa.000000000000001'
184467
184468       salt.modules.vsphere.list_diskgroups(*args, **kwargs)
184469              Returns a list of disk group  dict  representation  on  an  ESXi
184470              host.   The  list  of  disk  groups can be filtered by the cache
184471              disks canonical names. If no  filtering  is  applied,  all  disk
184472              groups are returned.
184473
184474              cache_disk_ids:
184475                     List  of cache disk canonical names of the disk groups to
184476                     be retrieved.  Default is None.
184477
184478              use_proxy_details
184479                     Specify whether to use the proxy minion's details instead
184480                     of the arguments
184481
184482              service_instance
184483                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
184484                     ter/ESXi host.  Default is None.
184485
184486                 salt '*' vsphere.list_diskgroups
184487
184488                 salt '*' vsphere.list_diskgroups cache_disk_ids='[naa.000000000000001]'
184489
184490       salt.modules.vsphere.list_disks(*args, **kwargs)
184491              Returns a list of dict representations of the disks in  an  ESXi
184492              host.  The list of disks can be filtered by disk canonical names
184493              or scsi addresses.
184494
184495              disk_ids:
184496                     List of disk canonical names to be retrieved. Default  is
184497                     None.
184498
184499              scsi_addresses
184500                     List  of scsi addresses of disks to be retrieved. Default
184501                     is None
184502
184503              service_instance
184504                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
184505                     ter/ESXi host.  Default is None.
184506
184507                 salt '*' vsphere.list_disks
184508
184509                 salt '*' vsphere.list_disks disk_ids='[naa.00, naa.001]'
184510
184511                 salt '*' vsphere.list_disks
184512                     scsi_addresses='[vmhba0:C0:T0:L0, vmhba1:C0:T0:L0]'
184513
184514       salt.modules.vsphere.list_dvportgroups(*args, **kwargs)
184515              Returns  a  list  of distributed virtual switch portgroups.  The
184516              list can be filtered by the portgroup names or by the DVS.
184517
184518              dvs    Name of the DVS containing the portgroups.  Default value
184519                     is None.
184520
184521              portgroup_names
184522                     List  of  portgroup names to look for. If None, all port‐
184523                     groups are returned.  Default value is None
184524
184525              service_instance
184526                     Service instance (vim.ServiceInstance)  of  the  vCenter.
184527                     Default is None.
184528
184529                 salt '*' vsphere.list_dvporgroups
184530
184531                 salt '*' vsphere.list_dvportgroups dvs=dvs1
184532
184533                 salt '*' vsphere.list_dvportgroups portgroup_names=[pg1]
184534
184535                 salt '*' vsphere.list_dvportgroups dvs=dvs1 portgroup_names=[pg1]
184536
184537       salt.modules.vsphere.list_dvs(*args, **kwargs)
184538              Returns a list of distributed virtual switches for the the spec‐
184539              ified host.
184540
184541              host   The location of the host.
184542
184543              username
184544                     The username used to login to the host, such as root.
184545
184546              password
184547                     The password used to login to the host.
184548
184549              protocol
184550                     Optionally set to alternate protocol if the host  is  not
184551                     using the default protocol. Default protocol is https.
184552
184553              port   Optionally set to alternate port if the host is not using
184554                     the default port. Default port is 443.
184555
184556              CLI Example:
184557
184558                 salt '*' vsphere.list_dvs 1.2.3.4 root bad-password
184559
184560       salt.modules.vsphere.list_dvss(*args, **kwargs)
184561              Returns a list of distributed virtual switches (DVSs).  The list
184562              can be filtered by the datacenter or DVS names.
184563
184564              datacenter
184565                     The  datacenter  to  look  for DVSs in.  Default value is
184566                     None.
184567
184568              dvs_names
184569                     List of DVS names to look for.  If  None,  all  DVSs  are
184570                     returned.  Default value is None.
184571
184572                 salt '*' vsphere.list_dvss
184573
184574                 salt '*' vsphere.list_dvss dvs_names=[dvs1,dvs2]
184575
184576       salt.modules.vsphere.list_folders(*args, **kwargs)
184577              Returns a list of folders for the the specified host.
184578
184579              host   The location of the host.
184580
184581              username
184582                     The username used to login to the host, such as root.
184583
184584              password
184585                     The password used to login to the host.
184586
184587              protocol
184588                     Optionally  set  to alternate protocol if the host is not
184589                     using the default protocol. Default protocol is https.
184590
184591              port   Optionally set to alternate port if the host is not using
184592                     the default port. Default port is 443.
184593
184594              CLI Example:
184595
184596                 salt '*' vsphere.list_folders 1.2.3.4 root bad-password
184597
184598       salt.modules.vsphere.list_hosts(*args, **kwargs)
184599              Returns  a  list  of hosts for the the specified VMware environ‐
184600              ment.
184601
184602              host   The location of the host.
184603
184604              username
184605                     The username used to login to the host, such as root.
184606
184607              password
184608                     The password used to login to the host.
184609
184610              protocol
184611                     Optionally set to alternate protocol if the host  is  not
184612                     using the default protocol. Default protocol is https.
184613
184614              port   Optionally set to alternate port if the host is not using
184615                     the default port. Default port is 443.
184616
184617              CLI Example:
184618
184619                 salt '*' vsphere.list_hosts 1.2.3.4 root bad-password
184620
184621       salt.modules.vsphere.list_hosts_via_proxy(*args, **kwargs)
184622              Returns a list of hosts for the the  specified  VMware  environ‐
184623              ment.  The  list  of  hosts  can  be filtered by datacenter name
184624              and/or cluster name
184625
184626              hostnames
184627                     Hostnames to filter on.
184628
184629              datacenter_name
184630                     Name of datacenter. Only hosts in this datacenter will be
184631                     retrieved.  Default is None.
184632
184633              cluster_name
184634                     Name  of  cluster.  Only  hosts  in  this cluster will be
184635                     retrieved. If a datacenter is  not  specified  the  first
184636                     cluster  with  this  name will be considerred. Default is
184637                     None.
184638
184639              service_instance
184640                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
184641                     ter/ESXi host.  Default is None.
184642
184643              CLI Example:
184644
184645                 salt '*' vsphere.list_hosts_via_proxy
184646
184647                 salt '*' vsphere.list_hosts_via_proxy hostnames=[esxi1.example.com]
184648
184649                 salt '*' vsphere.list_hosts_via_proxy datacenter=dc1 cluster=cluster1
184650
184651       salt.modules.vsphere.list_licenses(*args, **kwargs)
184652              Lists all licenses on a vCenter.
184653
184654              service_instance
184655                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
184656                     ter/ESXi host.  Default is None.
184657
184658                 salt '*' vsphere.list_licenses
184659
184660       salt.modules.vsphere.list_networks(*args, **kwargs)
184661              Returns a list of networks for the the specified host.
184662
184663              host   The location of the host.
184664
184665              username
184666                     The username used to login to the host, such as root.
184667
184668              password
184669                     The password used to login to the host.
184670
184671              protocol
184672                     Optionally set to alternate protocol if the host  is  not
184673                     using the default protocol. Default protocol is https.
184674
184675              port   Optionally set to alternate port if the host is not using
184676                     the default port. Default port is 443.
184677
184678              CLI Example:
184679
184680                 salt '*' vsphere.list_networks 1.2.3.4 root bad-password
184681
184682       salt.modules.vsphere.list_non_ssds(*args, **kwargs)
184683              Returns a list of Non-SSD disks for the given host  or  list  of
184684              host_names.
184685
184686              NOTE:
184687                 In  the pyVmomi StorageSystem, ScsiDisks may, or may not have
184688                 an ssd attribute.  This attribute indicates if  the  ScsiDisk
184689                 is SSD backed. As this option is optional, if a relevant disk
184690                 in the StorageSystem does not have ssd = true, it will end up
184691                 in the non_ssds list here.
184692
184693              host   The location of the host.
184694
184695              username
184696                     The username used to login to the host, such as root.
184697
184698              password
184699                     The password used to login to the host.
184700
184701              protocol
184702                     Optionally  set  to alternate protocol if the host is not
184703                     using the default protocol. Default protocol is https.
184704
184705              port   Optionally set to alternate port if the host is not using
184706                     the default port. Default port is 443.
184707
184708              host_names
184709                     List  of  ESXi  host  names. When the host, username, and
184710                     password credentials are provided for a  vCenter  Server,
184711                     the  host_names  argument is required to tell vCenter the
184712                     hosts for which to retrieve Non-SSD disks.
184713
184714                     If host_names is not  provided,  Non-SSD  disks  will  be
184715                     retrieved  for  the host location instead. This is useful
184716                     for when service instance connection information is  used
184717                     for a single ESXi host.
184718
184719              CLI Example:
184720
184721                 # Used for single ESXi host connection information
184722                 salt '*' vsphere.list_non_ssds my.esxi.host root bad-password
184723
184724                 # Used for connecting to a vCenter Server
184725                 salt '*' vsphere.list_non_ssds my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
184726
184727       salt.modules.vsphere.list_resourcepools(*args, **kwargs)
184728              Returns a list of resource pools for the the specified host.
184729
184730              host   The location of the host.
184731
184732              username
184733                     The username used to login to the host, such as root.
184734
184735              password
184736                     The password used to login to the host.
184737
184738              protocol
184739                     Optionally  set  to alternate protocol if the host is not
184740                     using the default protocol. Default protocol is https.
184741
184742              port   Optionally set to alternate port if the host is not using
184743                     the default port. Default port is 443.
184744
184745              CLI Example:
184746
184747                 salt '*' vsphere.list_resourcepools 1.2.3.4 root bad-password
184748
184749       salt.modules.vsphere.list_ssds(*args, **kwargs)
184750              Returns a list of SSDs for the given host or list of host_names.
184751
184752              host   The location of the host.
184753
184754              username
184755                     The username used to login to the host, such as root.
184756
184757              password
184758                     The password used to login to the host.
184759
184760              protocol
184761                     Optionally  set  to alternate protocol if the host is not
184762                     using the default protocol. Default protocol is https.
184763
184764              port   Optionally set to alternate port if the host is not using
184765                     the default port. Default port is 443.
184766
184767              host_names
184768                     List  of  ESXi  host  names. When the host, username, and
184769                     password credentials are provided for a  vCenter  Server,
184770                     the  host_names  argument is required to tell vCenter the
184771                     hosts for which to retrieve SSDs.
184772
184773                     If host_names is not provided, SSDs will be retrieved for
184774                     the  host  location instead. This is useful for when ser‐
184775                     vice instance connection information is used for a single
184776                     ESXi host.
184777
184778              CLI Example:
184779
184780                 # Used for single ESXi host connection information
184781                 salt '*' vsphere.list_ssds my.esxi.host root bad-password
184782
184783                 # Used for connecting to a vCenter Server
184784                 salt '*' vsphere.list_ssds my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
184785
184786       salt.modules.vsphere.list_storage_policies(*args, **kwargs)
184787              Returns a list of storage policies.
184788
184789              policy_names
184790                     Names  of  policies  to  list.  If None, all policies are
184791                     listed.  Default is None.
184792
184793              service_instance
184794                     Service instance (vim.ServiceInstance)  of  the  vCenter.
184795                     Default is None.
184796
184797                 salt '*' vsphere.list_storage_policies
184798
184799                 salt '*' vsphere.list_storage_policy policy_names=[policy_name]
184800
184801       salt.modules.vsphere.list_tag_categories(*args, **kwargs)
184802              List existing categories a user has access to.
184803
184804              CLI Example:
184805
184806                 salt vm_minion vsphere.list_tag_categories
184807
184808              Parameters
184809
184810                     · server (basestring) -- Target DNS or IP of vCenter cen‐
184811                       ter.
184812
184813                     · username (basestring) -- Username associated  with  the
184814                       vCenter center.
184815
184816                     · password  (basestring)  -- Password associated with the
184817                       vCenter center.
184818
184819              Returns
184820                     Value(s) of category_id.
184821
184822              Return type
184823                     list of str
184824
184825       salt.modules.vsphere.list_tags(*args, **kwargs)
184826              List existing tags a user has access to.
184827
184828              CLI Example:
184829
184830                 salt vm_minion vsphere.list_tags
184831
184832              Parameters
184833
184834                     · server (basestring) -- Target DNS or IP of vCenter cen‐
184835                       ter.
184836
184837                     · username  (basestring)  -- Username associated with the
184838                       vCenter center.
184839
184840                     · password (basestring) -- Password associated  with  the
184841                       vCenter center.
184842
184843              Returns
184844                     Value(s) of tag_id.
184845
184846              Return type
184847                     list of str
184848
184849       salt.modules.vsphere.list_uplink_dvportgroup(*args, **kwargs)
184850              Returns the uplink portgroup of a distributed virtual switch.
184851
184852              dvs    Name of the DVS containing the portgroup.
184853
184854              service_instance
184855                     Service  instance  (vim.ServiceInstance)  of the vCenter.
184856                     Default is None.
184857
184858                 salt '*' vsphere.list_uplink_dvportgroup dvs=dvs_name
184859
184860       salt.modules.vsphere.list_vapps(*args, **kwargs)
184861              Returns a list of vApps for the the specified host.
184862
184863              host   The location of the host.
184864
184865              username
184866                     The username used to login to the host, such as root.
184867
184868              password
184869                     The password used to login to the host.
184870
184871              protocol
184872                     Optionally set to alternate protocol if the host  is  not
184873                     using the default protocol. Default protocol is https.
184874
184875              port   Optionally set to alternate port if the host is not using
184876                     the default port. Default port is 443.
184877
184878              CLI Example:
184879
184880                 # List vapps from all minions
184881                 salt '*' vsphere.list_vapps 1.2.3.4 root bad-password
184882
184883       salt.modules.vsphere.list_vms(*args, **kwargs)
184884              Returns a list of VMs for the the specified host.
184885
184886              host   The location of the host.
184887
184888              username
184889                     The username used to login to the host, such as root.
184890
184891              password
184892                     The password used to login to the host.
184893
184894              protocol
184895                     Optionally set to alternate protocol if the host  is  not
184896                     using the default protocol. Default protocol is https.
184897
184898              port   Optionally set to alternate port if the host is not using
184899                     the default port. Default port is 443.
184900
184901              CLI Example:
184902
184903                 salt '*' vsphere.list_vms 1.2.3.4 root bad-password
184904
184905       salt.modules.vsphere.power_off_vm(*args, **kwargs)
184906              Powers off a virtual machine specified by it's name.
184907
184908              name   Name of the virtual machine
184909
184910              datacenter
184911                     Datacenter of the virtual machine
184912
184913              service_instance
184914                     Service instance (vim.ServiceInstance)  of  the  vCenter.
184915                     Default is None.
184916
184917                 salt '*' vsphere.power_off_vm name=my_vm
184918
184919       salt.modules.vsphere.power_on_vm(*args, **kwargs)
184920              Powers on a virtual machine specified by it's name.
184921
184922              name   Name of the virtual machine
184923
184924              datacenter
184925                     Datacenter of the virtual machine
184926
184927              service_instance
184928                     Service  instance  (vim.ServiceInstance)  of the vCenter.
184929                     Default is None.
184930
184931                 salt '*' vsphere.power_on_vm name=my_vm
184932
184933       salt.modules.vsphere.register_vm(*args, **kwargs)
184934              Registers a virtual machine to the inventory with the given  vmx
184935              file.  Returns comments and change list
184936
184937              name   Name of the virtual machine
184938
184939              datacenter
184940                     Datacenter of the virtual machine
184941
184942              placement
184943                     Placement  dictionary  of  the  virtual  machine, host or
184944                     cluster
184945
184946              vmx_path:
184947                     Full path to the  vmx  file,  datastore  name  should  be
184948                     included
184949
184950              service_instance
184951                     Service  instance  (vim.ServiceInstance)  of the vCenter.
184952                     Default is None.
184953
184954       salt.modules.vsphere.remove_capacity_from_diskgroup(*args, **kwargs)
184955              Remove capacity disks from the disk  group  with  the  specified
184956              cache disk.
184957
184958              cache_disk_id
184959                     The canonical name of the cache disk.
184960
184961              capacity_disk_ids
184962                     A  list  containing canonical names of the capacity disks
184963                     to add.
184964
184965              data_evacuation
184966                     Specifies whether to gracefully evacuate the data on  the
184967                     capacity  disks before removing them from the disk group.
184968                     Default value is True.
184969
184970              safety_checks
184971                     Specify whether to perform safety check or  to  skip  the
184972                     checks  and  try  performing  the  required task. Default
184973                     value is True.
184974
184975              service_instance
184976                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
184977                     ter/ESXi host.  Default is None.
184978
184979                 salt '*' vsphere.remove_capacity_from_diskgroup
184980                     cache_disk_id='naa.000000000000001'
184981                     capacity_disk_ids='[naa.000000000000002, naa.000000000000003]'
184982
184983       salt.modules.vsphere.remove_datastore(*args, **kwargs)
184984              Removes a datastore. If multiple datastores an error is raised.
184985
184986              datastore
184987                     Datastore name
184988
184989              service_instance
184990                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
184991                     ter/ESXi host.  Default is None.
184992
184993                 salt '*' vsphere.remove_datastore ds_name
184994
184995       salt.modules.vsphere.remove_diskgroup(*args, **kwargs)
184996              Remove the diskgroup with the specified cache disk.
184997
184998              cache_disk_id
184999                     The canonical name of the cache disk.
185000
185001              data_accessibility
185002                     Specifies whether to ensure data  accessibility.  Default
185003                     value is True.
185004
185005              service_instance
185006                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
185007                     ter/ESXi host.  Default is None.
185008
185009                 salt '*' vsphere.remove_diskgroup cache_disk_id='naa.000000000000001'
185010
185011       salt.modules.vsphere.remove_dvportgroup(*args, **kwargs)
185012              Removes a distributed virtual portgroup.
185013
185014              portgroup
185015                     Name of the portgroup to be removed.
185016
185017              dvs    Name of the DVS containing the portgroups.
185018
185019              service_instance
185020                     Service instance (vim.ServiceInstance)  of  the  vCenter.
185021                     Default is None.
185022
185023                 salt '*' vsphere.remove_dvportgroup portgroup=pg1 dvs=dvs1
185024
185025       salt.modules.vsphere.rename_datastore(*args, **kwargs)
185026              Renames  a  datastore.  The datastore needs to be visible to the
185027              proxy.
185028
185029              datastore_name
185030                     Current datastore name.
185031
185032              new_datastore_name
185033                     New datastore name.
185034
185035              service_instance
185036                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
185037                     ter/ESXi host.  Default is None.
185038
185039                 salt '*' vsphere.rename_datastore old_name new_name
185040
185041       salt.modules.vsphere.reset_syslog_config(host, username, password, pro‐
185042       tocol=None,  port=None,  syslog_config=None,   esxi_hosts=None,   cred‐
185043       store=None)
185044              Reset the syslog service to its default settings.
185045
185046              Valid  syslog_config  values are logdir, loghost, logdir-unique,
185047              default-rotate, default-size, default-timeout, or all for all of
185048              these.
185049
185050              host   The location of the host.
185051
185052              username
185053                     The username used to login to the host, such as root.
185054
185055              password
185056                     The password used to login to the host.
185057
185058              protocol
185059                     Optionally  set  to alternate protocol if the host is not
185060                     using the default protocol. Default protocol is https.
185061
185062              port   Optionally set to alternate port if the host is not using
185063                     the default port. Default port is 443.
185064
185065              syslog_config
185066                     List  of  parameters to reset, provided as a comma-delim‐
185067                     ited string, or 'all' to reset all  syslog  configuration
185068                     parameters. Required.
185069
185070              esxi_hosts
185071                     If host is a vCenter host, then use esxi_hosts to execute
185072                     this function on a list of one or more ESXi machines.
185073
185074              credstore
185075                     Optionally set to path to the credential store file.
185076
185077              Returns
185078                     Dictionary with a top-level key of 'success' which  indi‐
185079                     cates  if  all  the parameters were reset, and individual
185080                     keys for each parameter  indicating  which  succeeded  or
185081                     failed, per host.
185082
185083              CLI Example:
185084
185085              syslog_config can be passed as a quoted, comma-separated string,
185086              e.g.
185087
185088                 # Used for ESXi host connection information
185089                 salt '*' vsphere.reset_syslog_config my.esxi.host root bad-password             syslog_config='logdir,loghost'
185090
185091                 # Used for connecting to a vCenter Server
185092                 salt '*' vsphere.reset_syslog_config my.vcenter.location root bad-password             syslog_config='logdir,loghost' esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
185093
185094       salt.modules.vsphere.service_restart(*args, **kwargs)
185095              Restart the named service for the given host or list of hosts.
185096
185097              host   The location of the host.
185098
185099              username
185100                     The username used to login to the host, such as root.
185101
185102              password
185103                     The password used to login to the host.
185104
185105              service_name
185106
185107                     The name of the service for which to set the policy. Sup‐
185108                     ported service names are:
185109
185110                            · DCUI
185111
185112                            · TSM
185113
185114                            · SSH
185115
185116                            · lbtd
185117
185118                            · lsassd
185119
185120                            · lwiod
185121
185122                            · netlogond
185123
185124                            · ntpd
185125
185126                            · sfcbd-watchdog
185127
185128                            · snmpd
185129
185130                            · vprobed
185131
185132                            · vpxa
185133
185134                            · xorg
185135
185136              protocol
185137                     Optionally  set  to alternate protocol if the host is not
185138                     using the default protocol. Default protocol is https.
185139
185140              port   Optionally set to alternate port if the host is not using
185141                     the default port. Default port is 443.
185142
185143              host_names
185144                     List  of  ESXi  host  names. When the host, username, and
185145                     password credentials are provided for a  vCenter  Server,
185146                     the  host_names  argument is required to tell vCenter the
185147                     hosts for which to restart the service.
185148
185149                     If host_names  is  not  provided,  the  service  will  be
185150                     restarted  for  the host location instead. This is useful
185151                     for when service instance connection information is  used
185152                     for a single ESXi host.
185153
185154              CLI Example:
185155
185156                 # Used for single ESXi host connection information
185157                 salt '*' vsphere.service_restart my.esxi.host root bad-password 'ntpd'
185158
185159                 # Used for connecting to a vCenter Server
185160                 salt '*' vsphere.service_restart my.vcenter.location root bad-password 'ntpd'         host_names='[esxi-1.host.com, esxi-2.host.com]'
185161
185162       salt.modules.vsphere.service_start(*args, **kwargs)
185163              Start the named service for the given host or list of hosts.
185164
185165              host   The location of the host.
185166
185167              username
185168                     The username used to login to the host, such as root.
185169
185170              password
185171                     The password used to login to the host.
185172
185173              service_name
185174
185175                     The name of the service for which to set the policy. Sup‐
185176                     ported service names are:
185177
185178                            · DCUI
185179
185180                            · TSM
185181
185182                            · SSH
185183
185184                            · lbtd
185185
185186                            · lsassd
185187
185188                            · lwiod
185189
185190                            · netlogond
185191
185192                            · ntpd
185193
185194                            · sfcbd-watchdog
185195
185196                            · snmpd
185197
185198                            · vprobed
185199
185200                            · vpxa
185201
185202                            · xorg
185203
185204              protocol
185205                     Optionally set to alternate protocol if the host  is  not
185206                     using the default protocol. Default protocol is https.
185207
185208              port   Optionally set to alternate port if the host is not using
185209                     the default port. Default port is 443.
185210
185211              host_names
185212                     List of ESXi host names. When  the  host,  username,  and
185213                     password  credentials  are provided for a vCenter Server,
185214                     the host_names argument is required to tell  vCenter  the
185215                     hosts for which to start the service.
185216
185217                     If  host_names  is  not  provided,  the  service  will be
185218                     started for the host location instead. This is useful for
185219                     when  service instance connection information is used for
185220                     a single ESXi host.
185221
185222              CLI Example:
185223
185224                 # Used for single ESXi host connection information
185225                 salt '*' vsphere.service_start my.esxi.host root bad-password 'ntpd'
185226
185227                 # Used for connecting to a vCenter Server
185228                 salt '*' vsphere.service_start my.vcenter.location root bad-password 'ntpd'         host_names='[esxi-1.host.com, esxi-2.host.com]'
185229
185230       salt.modules.vsphere.service_stop(*args, **kwargs)
185231              Stop the named service for the given host or list of hosts.
185232
185233              host   The location of the host.
185234
185235              username
185236                     The username used to login to the host, such as root.
185237
185238              password
185239                     The password used to login to the host.
185240
185241              service_name
185242
185243                     The name of the service for which to set the policy. Sup‐
185244                     ported service names are:
185245
185246                            · DCUI
185247
185248                            · TSM
185249
185250                            · SSH
185251
185252                            · lbtd
185253
185254                            · lsassd
185255
185256                            · lwiod
185257
185258                            · netlogond
185259
185260                            · ntpd
185261
185262                            · sfcbd-watchdog
185263
185264                            · snmpd
185265
185266                            · vprobed
185267
185268                            · vpxa
185269
185270                            · xorg
185271
185272              protocol
185273                     Optionally  set  to alternate protocol if the host is not
185274                     using the default protocol. Default protocol is https.
185275
185276              port   Optionally set to alternate port if the host is not using
185277                     the default port. Default port is 443.
185278
185279              host_names
185280                     List  of  ESXi  host  names. When the host, username, and
185281                     password credentials are provided for a  vCenter  Server,
185282                     the  host_names  argument is required to tell vCenter the
185283                     hosts for which to stop the service.
185284
185285                     If host_names  is  not  provided,  the  service  will  be
185286                     stopped for the host location instead. This is useful for
185287                     when service instance connection information is used  for
185288                     a single ESXi host.
185289
185290              CLI Example:
185291
185292                 # Used for single ESXi host connection information
185293                 salt '*' vsphere.service_stop my.esxi.host root bad-password 'ssh'
185294
185295                 # Used for connecting to a vCenter Server
185296                 salt '*' vsphere.service_stop my.vcenter.location root bad-password 'ssh'         host_names='[esxi-1.host.com, esxi-2.host.com]'
185297
185298       salt.modules.vsphere.set_advanced_configs(*args, **kwargs)
185299              Appends  extra  config  parameters to a virtual machine advanced
185300              config list
185301
185302              vm_name
185303                     Virtual machine name
185304
185305              datacenter
185306                     Datacenter name where the virtual machine is available
185307
185308              advanced_configs
185309                     Dictionary with advanced parameter key value pairs
185310
185311              service_instance
185312                     vCenter service instance for connection and configuration
185313
185314       salt.modules.vsphere.set_coredump_network_config(host, username,  pass‐
185315       word,     dump_ip,    protocol=None,    port=None,    host_vnic='vmk0',
185316       dump_port=6500, esxi_hosts=None, credstore=None)
185317              Set the network parameters for a  network  coredump  collection.
185318              Note  that  ESXi  requires  that the dumps first be enabled (see
185319              coredump_network_enable) before these parameters may be set.
185320
185321              host   The location of the host.
185322
185323              username
185324                     The username used to login to the host, such as root.
185325
185326              password
185327                     The password used to login to the host.
185328
185329              dump_ip
185330                     IP address of host that will accept the dump.
185331
185332              protocol
185333                     Optionally set to alternate protocol if the host  is  not
185334                     using the default protocol. Default protocol is https.
185335
185336              port   Optionally set to alternate port if the host is not using
185337                     the default port. Default port is 443.
185338
185339              esxi_hosts
185340                     If host is a vCenter host, then use esxi_hosts to execute
185341                     this function on a list of one or more ESXi machines.
185342
185343              host_vnic
185344                     Host  VNic port through which to communicate. Defaults to
185345                     vmk0.
185346
185347              dump_port
185348                     TCP port to use for the dump, defaults to 6500.
185349
185350              credstore
185351                     Optionally set to path to the credential store file.
185352
185353              Returns
185354                     A standard cmd.run_all  dictionary  with  a  success  key
185355                     added,  per  host.   success will be True if the set suc‐
185356                     ceeded, False otherwise.
185357
185358              CLI Example:
185359
185360                 # Used for ESXi host connection information
185361                 salt '*' vsphere.set_coredump_network_config my.esxi.host root bad-password 'dump_ip.host.com'
185362
185363                 # Used for connecting to a vCenter Server
185364                 salt '*' vsphere.set_coredump_network_config my.vcenter.location root bad-password 'dump_ip.host.com'             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
185365
185366       salt.modules.vsphere.set_ntp_config(*args, **kwargs)
185367              Set NTP configuration for a given host of list of host_names.
185368
185369              host   The location of the host.
185370
185371              username
185372                     The username used to login to the host, such as root.
185373
185374              password
185375                     The password used to login to the host.
185376
185377              ntp_servers
185378                     A list of servers that should be added to and  configured
185379                     for the specified host's NTP configuration.
185380
185381              protocol
185382                     Optionally  set  to alternate protocol if the host is not
185383                     using the default protocol. Default protocol is https.
185384
185385              port   Optionally set to alternate port if the host is not using
185386                     the default port. Default port is 443.
185387
185388              host_names
185389                     List  of  ESXi  host  names. When the host, username, and
185390                     password credentials are provided for a  vCenter  Server,
185391                     the host_names argument is required to tell vCenter which
185392                     hosts to configure ntp servers.
185393
185394                     If host_names is not provided, the NTP  servers  will  be
185395                     configured  for the host location instead. This is useful
185396                     for when service instance connection information is  used
185397                     for a single ESXi host.
185398
185399              CLI Example:
185400
185401                 # Used for single ESXi host connection information
185402                 salt '*' vsphere.ntp_configure my.esxi.host root bad-password '[192.174.1.100, 192.174.1.200]'
185403
185404                 # Used for connecting to a vCenter Server
185405                 salt '*' vsphere.ntp_configure my.vcenter.location root bad-password '[192.174.1.100, 192.174.1.200]'         host_names='[esxi-1.host.com, esxi-2.host.com]'
185406
185407       salt.modules.vsphere.set_service_policy(*args, **kwargs)
185408              Set the service name's policy for a given host or list of hosts.
185409
185410              host   The location of the host.
185411
185412              username
185413                     The username used to login to the host, such as root.
185414
185415              password
185416                     The password used to login to the host.
185417
185418              service_name
185419
185420                     The name of the service for which to set the policy. Sup‐
185421                     ported service names are:
185422
185423                            · DCUI
185424
185425                            · TSM
185426
185427                            · SSH
185428
185429                            · lbtd
185430
185431                            · lsassd
185432
185433                            · lwiod
185434
185435                            · netlogond
185436
185437                            · ntpd
185438
185439                            · sfcbd-watchdog
185440
185441                            · snmpd
185442
185443                            · vprobed
185444
185445                            · vpxa
185446
185447                            · xorg
185448
185449              service_policy
185450                     The policy to set for the service.  For  example,  'auto‐
185451                     matic'.
185452
185453              protocol
185454                     Optionally  set  to alternate protocol if the host is not
185455                     using the default protocol. Default protocol is https.
185456
185457              port   Optionally set to alternate port if the host is not using
185458                     the default port. Default port is 443.
185459
185460              host_names
185461                     List  of  ESXi  host  names. When the host, username, and
185462                     password credentials are provided for a  vCenter  Server,
185463                     the  host_names  argument is required to tell vCenter the
185464                     hosts for which to set the service policy.
185465
185466                     If host_names is not provided, the service policy  infor‐
185467                     mation  will  be retrieved for the host location instead.
185468                     This is  useful  for  when  service  instance  connection
185469                     information is used for a single ESXi host.
185470
185471              CLI Example:
185472
185473                 # Used for single ESXi host connection information
185474                 salt '*' vsphere.set_service_policy my.esxi.host root bad-password 'ntpd' 'automatic'
185475
185476                 # Used for connecting to a vCenter Server
185477                 salt '*' vsphere.set_service_policy my.vcenter.location root bad-password 'ntpd' 'automatic'         host_names='[esxi-1.host.com, esxi-2.host.com]'
185478
185479       salt.modules.vsphere.set_syslog_config(host,  username,  password, sys‐
185480       log_config,  config_value,  protocol=None,  port=None,   firewall=True,
185481       reset_service=True, esxi_hosts=None, credstore=None)
185482              Set  the  specified  syslog configuration parameter. By default,
185483              this function will reset the syslog service after the configura‐
185484              tion is set.
185485
185486              host   ESXi or vCenter host to connect to.
185487
185488              username
185489                     User to connect as, usually root.
185490
185491              password
185492                     Password to connect with.
185493
185494              syslog_config
185495                     Name of parameter to set (corresponds to the command line
185496                     switch for esxcli without the double dashes (--))
185497
185498                     Valid   syslog_config   values   are   logdir,   loghost,
185499                     default-rotate`,   ``default-size,  default-timeout,  and
185500                     logdir-unique.
185501
185502              config_value
185503                     Value for the above parameter. For loghost,  URLs  or  IP
185504                     addresses to use for logging. Multiple log servers can be
185505                     specified by listing them, comma-separated,  but  without
185506                     spaces before or after commas.
185507
185508                     (reference:
185509                     https://blogs.vmware.com/vsphere/2012/04/configuring-multiple-syslog-servers-for-esxi-5.html)
185510
185511              protocol
185512                     Optionally  set  to alternate protocol if the host is not
185513                     using the default protocol. Default protocol is https.
185514
185515              port   Optionally set to alternate port if the host is not using
185516                     the default port. Default port is 443.
185517
185518              firewall
185519                     Enable  the  firewall  rule  set  for syslog. Defaults to
185520                     True.
185521
185522              reset_service
185523                     After a successful  parameter  set,  reset  the  service.
185524                     Defaults to True.
185525
185526              esxi_hosts
185527                     If host is a vCenter host, then use esxi_hosts to execute
185528                     this function on a list of one or more ESXi machines.
185529
185530              credstore
185531                     Optionally set to path to the credential store file.
185532
185533              Returns
185534                     Dictionary with a top-level key of 'success' which  indi‐
185535                     cates  if  all  the parameters were reset, and individual
185536                     keys for each parameter  indicating  which  succeeded  or
185537                     failed, per host.
185538
185539              CLI Example:
185540
185541                 # Used for ESXi host connection information
185542                 salt '*' vsphere.set_syslog_config my.esxi.host root bad-password             loghost ssl://localhost:5432,tcp://10.1.0.1:1514
185543
185544                 # Used for connecting to a vCenter Server
185545                 salt '*' vsphere.set_syslog_config my.vcenter.location root bad-password             loghost ssl://localhost:5432,tcp://10.1.0.1:1514             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
185546
185547       salt.modules.vsphere.supports_proxies(*proxy_types)
185548              Decorator  to specify which proxy types are supported by a func‐
185549              tion
185550
185551              proxy_types:
185552                     Arbitrary list of strings with  the  supported  types  of
185553                     proxies
185554
185555       salt.modules.vsphere.syslog_service_reload(host,   username,  password,
185556       protocol=None, port=None, esxi_hosts=None, credstore=None)
185557              Reload the syslog service so it will pick up any changes.
185558
185559              host   The location of the host.
185560
185561              username
185562                     The username used to login to the host, such as root.
185563
185564              password
185565                     The password used to login to the host.
185566
185567              protocol
185568                     Optionally set to alternate protocol if the host  is  not
185569                     using the default protocol. Default protocol is https.
185570
185571              port   Optionally set to alternate port if the host is not using
185572                     the default port. Default port is 443.
185573
185574              esxi_hosts
185575                     If host is a vCenter host, then use esxi_hosts to execute
185576                     this function on a list of one or more ESXi machines.
185577
185578              credstore
185579                     Optionally set to path to the credential store file.
185580
185581              Returns
185582                     A  standard cmd.run_all dictionary.  This dictionary will
185583                     at least have a retcode key.  If retcode is 0 the command
185584                     was successful.
185585
185586              CLI Example:
185587
185588                 # Used for ESXi host connection information
185589                 salt '*' vsphere.syslog_service_reload my.esxi.host root bad-password
185590
185591                 # Used for connecting to a vCenter Server
185592                 salt '*' vsphere.syslog_service_reload my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
185593
185594       salt.modules.vsphere.system_info(*args, **kwargs)
185595              Return system information about a VMware environment.
185596
185597              host   The location of the host.
185598
185599              username
185600                     The username used to login to the host, such as root.
185601
185602              password
185603                     The password used to login to the host.
185604
185605              protocol
185606                     Optionally  set  to alternate protocol if the host is not
185607                     using the default protocol. Default protocol is https.
185608
185609              port   Optionally set to alternate port if the host is not using
185610                     the default port. Default port is 443.
185611
185612              CLI Example:
185613
185614                 salt '*' vsphere.system_info 1.2.3.4 root bad-password
185615
185616       salt.modules.vsphere.test_vcenter_connection(*args, **kwargs)
185617              Checks if a connection is to a vCenter
185618
185619              CLI Example:
185620
185621                 salt '*' vsphere.test_vcenter_connection
185622
185623       salt.modules.vsphere.unregister_vm(*args, **kwargs)
185624              Unregisters a virtual machine defined by name and placement
185625
185626              name   Name of the virtual machine
185627
185628              datacenter
185629                     Datacenter of the virtual machine
185630
185631              placement
185632                     Placement information of the virtual machine
185633
185634              service_instance
185635                     vCenter service instance for connection and configuration
185636
185637                 salt '*' vsphere.unregister_vm name=my_vm datacenter=my_datacenter
185638
185639       salt.modules.vsphere.update_cluster(*args, **kwargs)
185640              Updates a cluster.
185641
185642              config_dict
185643                     Dictionary with the config values of the new cluster.
185644
185645              datacenter
185646                     Name  of  datacenter  containing the cluster.  Ignored if
185647                     already contained by proxy  details.   Default  value  is
185648                     None.
185649
185650              cluster
185651                     Name  of  cluster.  Ignored if already contained by proxy
185652                     details.  Default value is None.
185653
185654              service_instance
185655                     Service instance (vim.ServiceInstance)  of  the  vCenter.
185656                     Default is None.
185657
185658                 # esxdatacenter proxy
185659                 salt '*' vsphere.update_cluster cluster_dict=$cluster_dict cluster=cl1
185660
185661                 # esxcluster proxy
185662                 salt '*' vsphere.update_cluster cluster_dict=$cluster_dict
185663
185664       salt.modules.vsphere.update_dvportgroup(*args, **kwargs)
185665              Updates a distributed virtual portgroup.
185666
185667              portgroup_dict
185668                     Dictionary with the values the portgroup should be update
185669                     with (example in salt.states.dvs).
185670
185671              portgroup
185672                     Name of the portgroup to be updated.
185673
185674              dvs    Name of the DVS containing the portgroups.
185675
185676              service_instance
185677                     Service instance (vim.ServiceInstance)  of  the  vCenter.
185678                     Default is None.
185679
185680                 salt '*' vsphere.update_dvportgroup portgroup_dict=<dict>
185681                     portgroup=pg1
185682
185683                 salt '*' vsphere.update_dvportgroup portgroup_dict=<dict>
185684                     portgroup=pg1 dvs=dvs1
185685
185686       salt.modules.vsphere.update_dvs(*args, **kwargs)
185687              Updates a distributed virtual switch (DVS).
185688
185689              Note: Updating the product info, capability, uplinks of a DVS is
185690              not
185691                     supported so the corresponding entries in  dvs_dict  will
185692                     be ignored.
185693
185694              dvs_dict
185695                     Dictionary  with the values the DVS should be update with
185696                     (example in salt.states.dvs)
185697
185698              dvs    Name of the DVS to be updated.
185699
185700              service_instance
185701                     Service instance (vim.ServiceInstance)  of  the  vCenter.
185702                     Default is None.
185703
185704                 salt '*' vsphere.update_dvs dvs_dict=$dvs_dict dvs=dvs1
185705
185706       salt.modules.vsphere.update_host_datetime(*args, **kwargs)
185707              Update  the  date/time  on the given host or list of host_names.
185708              This function should be used with caution since  network  delays
185709              and execution delays can result in time skews.
185710
185711              host   The location of the host.
185712
185713              username
185714                     The username used to login to the host, such as root.
185715
185716              password
185717                     The password used to login to the host.
185718
185719              protocol
185720                     Optionally  set  to alternate protocol if the host is not
185721                     using the default protocol. Default protocol is https.
185722
185723              port   Optionally set to alternate port if the host is not using
185724                     the default port. Default port is 443.
185725
185726              host_names
185727                     List  of  ESXi  host  names. When the host, username, and
185728                     password credentials are provided for a  vCenter  Server,
185729                     the host_names argument is required to tell vCenter which
185730                     hosts should update their date/time.
185731
185732                     If host_names is not  provided,  the  date/time  will  be
185733                     updated for the host location instead. This is useful for
185734                     when service instance connection information is used  for
185735                     a single ESXi host.
185736
185737              CLI Example:
185738
185739                 # Used for single ESXi host connection information
185740                 salt '*' vsphere.update_date_time my.esxi.host root bad-password
185741
185742                 # Used for connecting to a vCenter Server
185743                 salt '*' vsphere.update_date_time my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
185744
185745       salt.modules.vsphere.update_host_password(*args, **kwargs)
185746              Update the password for a given host.
185747
185748              NOTE:
185749                 Currently only works with connections to ESXi hosts. Does not
185750                 work with vCenter servers.
185751
185752              host   The location of the ESXi host.
185753
185754              username
185755                     The username used to login to  the  ESXi  host,  such  as
185756                     root.
185757
185758              password
185759                     The password used to login to the ESXi host.
185760
185761              new_password
185762                     The  new  password  that will be updated for the provided
185763                     username on the ESXi host.
185764
185765              protocol
185766                     Optionally set to alternate protocol if the host  is  not
185767                     using the default protocol. Default protocol is https.
185768
185769              port   Optionally set to alternate port if the host is not using
185770                     the default port. Default port is 443.
185771
185772              CLI Example:
185773
185774                 salt '*' vsphere.update_host_password my.esxi.host root original-bad-password new-bad-password
185775
185776       salt.modules.vsphere.update_storage_policy(*args, **kwargs)
185777              Updates a storage policy.
185778
185779              Supported capability types: scalar, set, range.
185780
185781              policy Name of the policy to update.
185782
185783              policy_dict
185784                     Dictionary containing the changes to apply to the policy.
185785                     (example in salt.states.pbm)
185786
185787              service_instance
185788                     Service  instance  (vim.ServiceInstance)  of the vCenter.
185789                     Default is None.
185790
185791                 salt '*' vsphere.update_storage_policy policy='policy name'
185792                     policy_dict="$policy_dict"
185793
185794       salt.modules.vsphere.update_vm(*args, **kwargs)
185795              Updates the configuration of the virtual machine if  the  config
185796              differs
185797
185798              vm_name
185799                     Virtual Machine name to be updated
185800
185801              cpu    CPU configuration options
185802
185803              memory Memory configuration options
185804
185805              version
185806                     Virtual machine container hardware version
185807
185808              image  Virtual  machine  guest  OS version identifier VirtualMa‐
185809                     chineGuestOsIdentifier
185810
185811              interfaces
185812                     Network interfaces configuration options
185813
185814              disks  Disks configuration options
185815
185816              scsi_devices
185817                     SCSI devices configuration options
185818
185819              serial_ports
185820                     Serial ports configuration options
185821
185822              datacenter
185823                     Datacenter where the virtual machine is available
185824
185825              datastore
185826                     Datastore where the  virtual  machine  config  files  are
185827                     available
185828
185829              cd_dvd_drives
185830                     CD/DVD drives configuration options
185831
185832              advanced_config
185833                     Advanced  config  parameters  to  be  set for the virtual
185834                     machine
185835
185836              service_instance
185837                     vCenter service instance for connection and configuration
185838
185839       salt.modules.vsphere.upload_ssh_key(*args, **kwargs)
185840              Upload an ssh key for root to an ESXi host via http  PUT.   This
185841              function only works for ESXi, not vCenter.  Only one ssh key can
185842              be uploaded for root.  Uploading a second key will  replace  any
185843              existing key.
185844
185845              Parameters
185846
185847                     · host -- The location of the ESXi Host
185848
185849                     · username -- Username to connect as
185850
185851                     · password -- Password for the ESXi web endpoint
185852
185853                     · ssh_key  --  Public  SSH  key,  will be added to autho‐
185854                       rized_keys on ESXi
185855
185856                     · ssh_key_file --  File  containing  the  SSH  key.   Use
185857                       'ssh_key' or ssh_key_file, but not both.
185858
185859                     · protocol  --  defaults  to https, can be http if ssl is
185860                       disabled on ESXi
185861
185862                     · port -- defaults to 443 for https
185863
185864                     · certificate_verify -- If true require that the SSL con‐
185865                       nection present a valid certificate
185866
185867              Returns
185868                     Dictionary  with  a  'status' key, True if upload is suc‐
185869                     cessful.  If upload is unsuccessful, 'status' key will be
185870                     False  and  an  'Error' key will have an informative mes‐
185871                     sage.
185872
185873              CLI Example:
185874
185875                 salt '*' vsphere.upload_ssh_key my.esxi.host root bad-password ssh_key_file='/etc/salt/my_keys/my_key.pub'
185876
185877       salt.modules.vsphere.vmotion_disable(*args, **kwargs)
185878              Disable vMotion for a given host or list of host_names.
185879
185880              host   The location of the host.
185881
185882              username
185883                     The username used to login to the host, such as root.
185884
185885              password
185886                     The password used to login to the host.
185887
185888              protocol
185889                     Optionally set to alternate protocol if the host  is  not
185890                     using the default protocol. Default protocol is https.
185891
185892              port   Optionally set to alternate port if the host is not using
185893                     the default port. Default port is 443.
185894
185895              host_names
185896                     List of ESXi host names. When  the  host,  username,  and
185897                     password  credentials  are provided for a vCenter Server,
185898                     the host_names argument is required to tell vCenter which
185899                     hosts should disable VMotion.
185900
185901                     If  host_names  is not provided, VMotion will be disabled
185902                     for the host location instead. This is  useful  for  when
185903                     service  instance  connection  information  is used for a
185904                     single ESXi host.
185905
185906              CLI Example:
185907
185908                 # Used for single ESXi host connection information
185909                 salt '*' vsphere.vmotion_disable my.esxi.host root bad-password
185910
185911                 # Used for connecting to a vCenter Server
185912                 salt '*' vsphere.vmotion_disable my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
185913
185914       salt.modules.vsphere.vmotion_enable(*args, **kwargs)
185915              Enable vMotion for a given host or list of host_names.
185916
185917              host   The location of the host.
185918
185919              username
185920                     The username used to login to the host, such as root.
185921
185922              password
185923                     The password used to login to the host.
185924
185925              protocol
185926                     Optionally set to alternate protocol if the host  is  not
185927                     using the default protocol. Default protocol is https.
185928
185929              port   Optionally set to alternate port if the host is not using
185930                     the default port. Default port is 443.
185931
185932              host_names
185933                     List of ESXi host names. When  the  host,  username,  and
185934                     password  credentials  are provided for a vCenter Server,
185935                     the host_names argument is required to tell vCenter which
185936                     hosts should enable VMotion.
185937
185938                     If  host_names  is  not provided, VMotion will be enabled
185939                     for the host location instead. This is  useful  for  when
185940                     service  instance  connection  information  is used for a
185941                     single ESXi host.
185942
185943              device The device that uniquely identifies the  VirtualNic  that
185944                     will be used for VMotion for each host. Defaults to vmk0.
185945
185946              CLI Example:
185947
185948                 # Used for single ESXi host connection information
185949                 salt '*' vsphere.vmotion_enable my.esxi.host root bad-password
185950
185951                 # Used for connecting to a vCenter Server
185952                 salt '*' vsphere.vmotion_enable my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
185953
185954       salt.modules.vsphere.vsan_add_disks(*args, **kwargs)
185955              Add  any  VSAN-eligible  disks  to the VSAN System for the given
185956              host or list of host_names.
185957
185958              host   The location of the host.
185959
185960              username
185961                     The username used to login to the host, such as root.
185962
185963              password
185964                     The password used to login to the host.
185965
185966              protocol
185967                     Optionally set to alternate protocol if the host  is  not
185968                     using the default protocol. Default protocol is https.
185969
185970              port   Optionally set to alternate port if the host is not using
185971                     the default port. Default port is 443.
185972
185973              host_names
185974                     List of ESXi host names. When  the  host,  username,  and
185975                     password  credentials  are provided for a vCenter Server,
185976                     the host_names argument is required to tell vCenter which
185977                     hosts  need  to add any VSAN-eligible disks to the host's
185978                     VSAN system.
185979
185980                     If host_names is not provided, VSAN-eligible  disks  will
185981                     be added to the hosts's VSAN system for the host location
185982                     instead. This is useful for when service instance connec‐
185983                     tion information is used for a single ESXi host.
185984
185985              CLI Example:
185986
185987                 # Used for single ESXi host connection information
185988                 salt '*' vsphere.vsan_add_disks my.esxi.host root bad-password
185989
185990                 # Used for connecting to a vCenter Server
185991                 salt '*' vsphere.vsan_add_disks my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
185992
185993       salt.modules.vsphere.vsan_disable(*args, **kwargs)
185994              Disable VSAN for a given host or list of host_names.
185995
185996              host   The location of the host.
185997
185998              username
185999                     The username used to login to the host, such as root.
186000
186001              password
186002                     The password used to login to the host.
186003
186004              protocol
186005                     Optionally  set  to alternate protocol if the host is not
186006                     using the default protocol. Default protocol is https.
186007
186008              port   Optionally set to alternate port if the host is not using
186009                     the default port. Default port is 443.
186010
186011              host_names
186012                     List  of  ESXi  host  names. When the host, username, and
186013                     password credentials are provided for a  vCenter  Server,
186014                     the host_names argument is required to tell vCenter which
186015                     hosts should disable VSAN.
186016
186017                     If host_names is not provided, VSAN will be disabled  for
186018                     the  host  location instead. This is useful for when ser‐
186019                     vice instance connection information is used for a single
186020                     ESXi host.
186021
186022              CLI Example:
186023
186024                 # Used for single ESXi host connection information
186025                 salt '*' vsphere.vsan_disable my.esxi.host root bad-password
186026
186027                 # Used for connecting to a vCenter Server
186028                 salt '*' vsphere.vsan_disable my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
186029
186030       salt.modules.vsphere.vsan_enable(*args, **kwargs)
186031              Enable VSAN for a given host or list of host_names.
186032
186033              host   The location of the host.
186034
186035              username
186036                     The username used to login to the host, such as root.
186037
186038              password
186039                     The password used to login to the host.
186040
186041              protocol
186042                     Optionally  set  to alternate protocol if the host is not
186043                     using the default protocol. Default protocol is https.
186044
186045              port   Optionally set to alternate port if the host is not using
186046                     the default port. Default port is 443.
186047
186048              host_names
186049                     List  of  ESXi  host  names. When the host, username, and
186050                     password credentials are provided for a  vCenter  Server,
186051                     the host_names argument is required to tell vCenter which
186052                     hosts should enable VSAN.
186053
186054                     If host_names is not provided, VSAN will be  enabled  for
186055                     the  host  location instead. This is useful for when ser‐
186056                     vice instance connection information is used for a single
186057                     ESXi host.
186058
186059              CLI Example:
186060
186061                 # Used for single ESXi host connection information
186062                 salt '*' vsphere.vsan_enable my.esxi.host root bad-password
186063
186064                 # Used for connecting to a vCenter Server
186065                 salt '*' vsphere.vsan_enable my.vcenter.location root bad-password         host_names='[esxi-1.host.com, esxi-2.host.com]'
186066
186067   salt.modules.webutil
186068       Support  for  htpasswd  command. Requires the apache2-utils package for
186069       Debian-based distros.
186070
186071       New in version 2014.1.0.
186072
186073
186074       The functions here will load inside the  webutil  module.  This  allows
186075       other functions that don't use htpasswd to use the webutil module name.
186076
186077       salt.modules.webutil.useradd(pwfile,    user,    password,    opts=u'',
186078       runas=None)
186079              Add a user to htpasswd file using the htpasswd command.  If  the
186080              htpasswd file does not exist, it will be created.
186081
186082              pwfile Path to htpasswd file
186083
186084              user   User name
186085
186086              password
186087                     User password
186088
186089              opts   Valid options that can be passed are:
186090
186091                        · n  Don't update file; display results on stdout.
186092
186093                        · m  Force MD5 encryption of the password (default).
186094
186095                        · d  Force CRYPT encryption of the password.
186096
186097                        · p  Do not encrypt the password (plaintext).
186098
186099                        · s  Force SHA encryption of the password.
186100
186101              runas  The system user to run htpasswd command with
186102
186103              CLI Examples:
186104
186105                 salt '*' webutil.useradd /etc/httpd/htpasswd larry badpassword
186106                 salt '*' webutil.useradd /etc/httpd/htpasswd larry badpass opts=ns
186107
186108       salt.modules.webutil.userdel(pwfile,          user,         runas=None,
186109       all_results=False)
186110              Delete a user from the specified htpasswd file.
186111
186112              pwfile Path to htpasswd file
186113
186114              user   User name
186115
186116              runas  The system user to run htpasswd command with
186117
186118              all_results
186119                     Return stdout, stderr, and retcode, not just stdout
186120
186121              CLI Examples:
186122
186123                 salt '*' webutil.userdel /etc/httpd/htpasswd larry
186124
186125       salt.modules.webutil.verify(pwfile,    user,    password,     opts=u'',
186126       runas=None)
186127              Return  True if the htpasswd file exists, the user has an entry,
186128              and their password matches.
186129
186130              pwfile Fully qualified path to htpasswd file
186131
186132              user   User name
186133
186134              password
186135                     User password
186136
186137              opts   Valid options that can be passed are:
186138
186139                        · m  Force MD5 encryption of the password (default).
186140
186141                        · d  Force CRYPT encryption of the password.
186142
186143                        · p  Do not encrypt the password (plaintext).
186144
186145                        · s  Force SHA encryption of the password.
186146
186147              runas  The system user to run htpasswd command with
186148
186149              CLI Examples:
186150
186151                 salt '*' webutil.verify /etc/httpd/htpasswd larry maybepassword
186152                 salt '*' webutil.verify /etc/httpd/htpasswd larry maybepassword opts=ns
186153
186154   salt.modules.win_autoruns
186155       Module for listing programs that automatically  run  on  startup  (very
186156       alpha...not tested on anything but my Win 7x64)
186157
186158       salt.modules.win_autoruns.list_()
186159              Get a list of automatically running programs
186160
186161              CLI Example:
186162
186163                 salt '*' autoruns.list
186164
186165   salt.modules.win_certutil module
186166       This  module  allows  you to install certificates into the windows cer‐
186167       tificate manager.
186168
186169          salt '*' certutil.add_store salt://cert.cer "TrustedPublisher"
186170
186171       salt.modules.win_certutil.add_store(source, store, saltenv=u'base')
186172              Add the given cert into the given Certificate Store
186173
186174              source The source certificate file  this  can  be  in  the  form
186175                     salt://path/to/file
186176
186177              store  The certificate store to add the certificate to
186178
186179              saltenv
186180                     The  salt  environment to use this is ignored if the path
186181                     is local
186182
186183              CLI Example:
186184
186185                 salt '*' certutil.add_store salt://cert.cer TrustedPublisher
186186
186187       salt.modules.win_certutil.del_store(source, store, saltenv=u'base')
186188              Delete the given cert into the given Certificate Store
186189
186190              source The source certificate file  this  can  be  in  the  form
186191                     salt://path/to/file
186192
186193              store  The certificate store to delete the certificate from
186194
186195              saltenv
186196                     The  salt  environment to use this is ignored if the path
186197                     is local
186198
186199              CLI Example:
186200
186201                 salt '*' certutil.del_store salt://cert.cer TrustedPublisher
186202
186203       salt.modules.win_certutil.get_cert_serial(cert_file)
186204              Get the serial number of a certificate file
186205
186206              cert_file
186207                     The certificate file to find the serial for
186208
186209              CLI Example:
186210
186211                 salt '*' certutil.get_cert_serial <certificate name>
186212
186213       salt.modules.win_certutil.get_stored_cert_serials(store)
186214              Get all of the certificate serials in the specified store
186215
186216              store  The store to get all the certificate serials from
186217
186218              CLI Example:
186219
186220                 salt '*' certutil.get_stored_cert_serials <store>
186221
186222   salt.modules.win_dacl
186223       Manage DACLs on Windows
186224
186225       depends
186226
186227              · winreg Python module
186228
186229       salt.modules.win_dacl.add_ace(path, objectType, user, permission,  ace‐
186230       type, propagation)
186231              add an ace to an object
186232
186233              path:      path    to    the    object    (i.e.    c:\temp\file,
186234              HKEY_LOCAL_MACHINE\SOFTWARE\KEY, etc) user: user to add  permis‐
186235              sion:   permissions for the user acetype:  either allow/deny for
186236              each user/permission (ALLOW,  DENY)  propagation:  how  the  ACE
186237              applies  to  children  for  Registry  Keys  and Directories(KEY,
186238              KEY&SUBKEYS, SUBKEYS)
186239
186240              CLI Example:
186241
186242                 allow domain\fakeuser full control on HKLM\\SOFTWARE\\somekey, propagate to this key and subkeys
186243                     salt 'myminion' win_dacl.add_ace 'HKEY_LOCAL_MACHINE\\SOFTWARE\\somekey' 'Registry' 'domain\fakeuser' 'FULLCONTROL' 'ALLOW' 'KEY&SUBKEYS'
186244
186245       salt.modules.win_dacl.check_ace(path,   objectType,    user,    permis‐
186246       sion=None, acetype=None, propagation=None, exactPermissionMatch=False)
186247              Checks a path to verify the ACE (access control entry) specified
186248              exists
186249
186250              Parameters
186251
186252                     · path -- path to the file/reg key
186253
186254                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
186255                       ISTRY)
186256
186257                     · user -- user that the ACL is for
186258
186259                     · permission  --  permission  to test for (READ, FULLCON‐
186260                       TROL, etc)
186261
186262                     · acetype -- the type of ACE (ALLOW or DENY)
186263
186264                     · propagation -- the propagation type of the ACE  (FILES,
186265                       FOLDERS, KEY, KEY&SUBKEYS, SUBKEYS, etc)
186266
186267                     · exactPermissionMatch  -- the ACL must match exactly, IE
186268                       if READ is specified, the user must have  READ  exactly
186269                       and not FULLCONTROL (which also has the READ permission
186270                       obviously)
186271
186272              Returns (dict): 'Exists' true if the ACE  exists,  false  if  it
186273              does not
186274
186275              CLI Example:
186276
186277                 salt 'minion-id' win_dacl.check_ace c:  emp directory <username> fullcontrol
186278
186279       salt.modules.win_dacl.check_inheritance(path, objectType, user=None)
186280              Check a specified path to verify if inheritance is enabled
186281
186282              Parameters
186283
186284                     · path  -- path of the registry key or file system object
186285                       to check
186286
186287                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
186288                       ISTRY)
186289
186290                     · user  --  if  provided, will consider only the ACEs for
186291                       that user
186292
186293              Returns (bool): 'Inheritance' of True/False
186294
186295              CLI Example:
186296
186297                 salt 'minion-id' win_dacl.check_inheritance c:  emp directory <username>
186298
186299       class salt.modules.win_dacl.daclConstants
186300              DACL constants used throughout the module
186301
186302              getAceTypeBit(t)
186303                     returns the acetype bit of a text value
186304
186305              getAceTypeText(t)
186306                     returns the textual representation of a acetype bit
186307
186308              getObjectTypeBit(t)
186309                     returns the bit value of the string object type
186310
186311              getPermissionBit(t, m)
186312                     returns a permission bit of the string  permission  value
186313                     for the specified object type
186314
186315              getPermissionText(t, m)
186316                     returns the permission textual representation of a speci‐
186317                     fied permission bit/object type
186318
186319              getPropagationBit(t, p)
186320                     returns the propagation bit of a text value
186321
186322              getPropagationText(t, p)
186323                     returns the textual representation of a propagation bit
186324
186325              getSecurityHkey(s)
186326                     returns the necessary string value for an  HKEY  for  the
186327                     win32security module
186328
186329              processPath(path, objectType)
186330
186331                     processes a path/object type combo and returns:
186332                            registry  types  with the correct HKEY text repre‐
186333                            sentation files/directories with environment vari‐
186334                            ables expanded
186335
186336       salt.modules.win_dacl.disable_inheritance(path, objectType, copy=True)
186337              Disable inheritance on an object
186338
186339              Parameters
186340
186341                     · path -- The path to the object
186342
186343                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
186344                       ISTRY)
186345
186346                     · copy -- True will copy the Inherited ACEs to  the  DACL
186347                       before disabling inheritance
186348
186349              Returns (dict): A dictionary containing the results
186350
186351              CLI Example:
186352
186353                 salt 'minion-id' win_dacl.disable_inheritance c:        emp directory
186354
186355       salt.modules.win_dacl.enable_inheritance(path, objectType, clear=False)
186356              enable/disable inheritance on an object
186357
186358              Parameters
186359
186360                     · path -- The path to the object
186361
186362                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
186363                       ISTRY)
186364
186365                     · clear -- True will remove non-Inherited ACEs  from  the
186366                       ACL
186367
186368              Returns (dict): A dictionary containing the results
186369
186370              CLI Example:
186371
186372                 salt 'minion-id' win_dacl.enable_inheritance c: emp directory
186373
186374       salt.modules.win_dacl.get(path, objectType, user=None)
186375              Get  the  ACL  of  an object. Will filter by user if one is pro‐
186376              vided.
186377
186378              Parameters
186379
186380                     · path -- The path to the object
186381
186382                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
186383                       ISTRY)
186384
186385                     · user -- A user name to filter by
186386
186387              Returns (dict): A dictionary containing the ACL
186388
186389              CLI Example:
186390
186391                 salt 'minion-id' win_dacl.get c:        emp directory
186392
186393       salt.modules.win_dacl.rm_ace(path,  objectType,  user, permission=None,
186394       acetype=None, propagation=None)
186395              remove an ace to an object
186396
186397              path:     path    to    the    object    (i.e.     c:\temp\file,
186398              HKEY_LOCAL_MACHINE\SOFTWARE\KEY,  etc) user: user to remove per‐
186399              mission:  permissions for the user acetypes:  either  allow/deny
186400              for  each user/permission (ALLOW, DENY) propagation: how the ACE
186401              applies to  children  for  Registry  Keys  and  Directories(KEY,
186402              KEY&SUBKEYS, SUBKEYS)
186403
186404              If  any  of the optional parameters are omitted (or set to None)
186405              they act as wildcards.
186406
186407              CLI Example:
186408
186409                 remove allow domain\fakeuser full control on HKLM\\SOFTWARE\\somekey propagated to this key and subkeys
186410                     salt 'myminion' win_dacl.rm_ace 'Registry' 'HKEY_LOCAL_MACHINE\\SOFTWARE\\somekey' 'domain\fakeuser' 'FULLCONTROL' 'ALLOW' 'KEY&SUBKEYS'
186411
186412   salt.modules.win_disk
186413       Module for gathering disk information on Windows
186414
186415       depends
186416
186417              · win32api Python module
186418
186419       salt.modules.win_disk.usage()
186420              Return usage information for volumes mounted on this minion
186421
186422              CLI Example:
186423
186424                 salt '*' disk.usage
186425
186426   salt.modules.win_dism module
186427       Install features/packages for Windows using DISM, which is  useful  for
186428       minions not running server versions of Windows. Some functions are only
186429       available on Windows 10.
186430
186431       salt.modules.win_dism.add_capability(capability,           source=None,
186432       limit_access=False, image=None, restart=False)
186433              Install a capability
186434
186435              Parameters
186436
186437                     · capability (str) -- The capability to install
186438
186439                     · source  (Optional[str])  --  The optional source of the
186440                       capability. Default is set by group policy and  can  be
186441                       Windows Update.
186442
186443                     · limit_access (Optional[bool]) -- Prevent DISM from con‐
186444                       tacting Windows Update for the source package
186445
186446                     · image (Optional[str]) -- The path to the root directory
186447                       of  an  offline  Windows  image. If None is passed, the
186448                       running operating system is targeted. Default is None.
186449
186450                     · restart  (Optional[bool])  --  Reboot  the  machine  if
186451                       required by the install
186452
186453              Raises
186454
186455                     · NotImplementedError -- For all versions of Windows that
186456                       are not Windows 10
186457
186458                     · and later. Server editions of Windows use ServerManager
186459                       instead.
186460
186461              Returns
186462                     A dictionary containing the results of the command
186463
186464              Return type
186465                     dict
186466
186467              CLI Example:
186468
186469                 salt '*' dism.add_capability Tools.Graphics.DirectX~~~~0.0.1.0
186470
186471       salt.modules.win_dism.add_feature(feature,  package=None,  source=None,
186472       limit_access=False, enable_parent=False, image=None, restart=False)
186473              Install a feature using DISM
186474
186475              Parameters
186476
186477                     · feature (str) -- The feature to install
186478
186479                     · package (Optional[str]) -- The parent package  for  the
186480                       feature.  You  do not have to specify the package if it
186481                       is the  Windows  Foundation  Package.   Otherwise,  use
186482                       package to specify the parent package of the feature
186483
186484                     · source  (Optional[str])  --  The optional source of the
186485                       capability. Default is set by group policy and  can  be
186486                       Windows Update
186487
186488                     · limit_access (Optional[bool]) -- Prevent DISM from con‐
186489                       tacting Windows Update for the source package
186490
186491                     · enable_parent (Optional[bool]) -- True will enable  all
186492                       parent features of the specified feature
186493
186494                     · image (Optional[str]) -- The path to the root directory
186495                       of an offline Windows image. If  None  is  passed,  the
186496                       running operating system is targeted. Default is None.
186497
186498                     · restart  (Optional[bool])  --  Reboot  the  machine  if
186499                       required by the install
186500
186501              Returns
186502                     A dictionary containing the results of the command
186503
186504              Return type
186505                     dict
186506
186507              CLI Example:
186508
186509                 salt '*' dism.add_feature NetFx3
186510
186511       salt.modules.win_dism.add_package(package,   ignore_check=False,   pre‐
186512       vent_pending=False, image=None, restart=False)
186513              Install a package using DISM
186514
186515              Parameters
186516
186517                     · package (str) --
186518
186519                       The  package  to  install.  Can  be a .cab file, a .msu
186520                       file, or a folder
186521
186522                       NOTE:
186523                          An .msu package is supported only  when  the  target
186524                          image is offline, either mounted or applied.
186525
186526
186527                     · ignore_check  (Optional[bool])  -- Skip installation of
186528                       the package if the applicability checks fail
186529
186530                     · prevent_pending (Optional[bool]) -- Skip the  installa‐
186531                       tion of the package if there are pending online actions
186532
186533                     · image (Optional[str]) -- The path to the root directory
186534                       of an offline Windows image. If  None  is  passed,  the
186535                       running operating system is targeted.  Default is None.
186536
186537                     · restart  (Optional[bool])  --  Reboot  the  machine  if
186538                       required by the install
186539
186540              Returns
186541                     A dictionary containing the results of the command
186542
186543              Return type
186544                     dict
186545
186546              CLI Example:
186547
186548                 salt '*' dism.add_package C:\Packages\package.cab
186549
186550       salt.modules.win_dism.available_capabilities(image=None)
186551              List the capabilities available on the system
186552
186553              Parameters
186554                     image (Optional[str]) -- The path to the  root  directory
186555                     of  an offline Windows image. If None is passed, the run‐
186556                     ning operating system is targeted. Default is None.
186557
186558              Raises
186559
186560                     · NotImplementedError -- For all versions of Windows that
186561                       are not Windows 10
186562
186563                     · and later. Server editions of Windows use ServerManager
186564                       instead.
186565
186566              Returns
186567                     A list of available capabilities
186568
186569              Return type
186570                     list
186571
186572              CLI Example:
186573
186574                 salt '*' dism.installed_capabilities
186575
186576       salt.modules.win_dism.available_features(image=None)
186577              List the features available on the system
186578
186579              Parameters
186580                     image (Optional[str]) -- The path to the  root  directory
186581                     of  an offline Windows image. If None is passed, the run‐
186582                     ning operating system is targeted. Default is None.
186583
186584              Returns
186585                     A list of available features
186586
186587              Return type
186588                     list
186589
186590              CLI Example:
186591
186592                 salt '*' dism.available_features
186593
186594       salt.modules.win_dism.get_capabilities(image=None)
186595              List all capabilities on the system
186596
186597              Parameters
186598                     image (Optional[str]) -- The path to the  root  directory
186599                     of  an offline Windows image. If None is passed, the run‐
186600                     ning operating system is targeted. Default is None.
186601
186602              Raises
186603
186604                     · NotImplementedError -- For all versions of Windows that
186605                       are not Windows 10
186606
186607                     · and later. Server editions of Windows use ServerManager
186608                       instead.
186609
186610              Returns
186611                     A list of capabilities
186612
186613              Return type
186614                     list
186615
186616              CLI Example:
186617
186618                 salt '*' dism.get_capabilities
186619
186620       salt.modules.win_dism.get_features(package=None, image=None)
186621              List features on the system or in a package
186622
186623              Parameters
186624
186625                     · package (Optional[str]) --
186626
186627                       The full path to the package. Can be either a  package,
186628                       not to where the file is installed. You cannot use this
186629                       command to get package information for .msu files
186630
186631                       This can also be the name of a  package  as  listed  in
186632                       dism.installed_packages
186633
186634
186635                     · image (Optional[str]) -- The path to the root directory
186636                       of an offline Windows image. If  None  is  passed,  the
186637                       running operating system is targeted. Default is None.
186638
186639              Returns
186640                     A list of features
186641
186642              Return type
186643                     list
186644
186645              CLI Example:
186646
186647                     # Return all features on the system
186648                     salt '*' dism.get_features
186649
186650                     # Return all features in package.cab
186651                     salt '*' dism.get_features C:\packages\package.cab
186652
186653                     # Return all features in the calc package
186654                     salt '*' dism.get_features Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
186655
186656       salt.modules.win_dism.installed_capabilities(image=None)
186657              List the capabilities installed on the system
186658
186659              Parameters
186660                     image  (Optional[str])  -- The path to the root directory
186661                     of an offline Windows image. If None is passed, the  run‐
186662                     ning operating system is targeted. Default is None.
186663
186664              Raises
186665
186666                     · NotImplementedError -- For all versions of Windows that
186667                       are not Windows 10
186668
186669                     · and later. Server editions of Windows use ServerManager
186670                       instead.
186671
186672              Returns
186673                     A list of installed capabilities
186674
186675              Return type
186676                     list
186677
186678              CLI Example:
186679
186680                 salt '*' dism.installed_capabilities
186681
186682       salt.modules.win_dism.installed_features(image=None)
186683              List the features installed on the system
186684
186685              Parameters
186686                     image  (Optional[str])  -- The path to the root directory
186687                     of an offline Windows image. If None is passed, the  run‐
186688                     ning operating system is targeted. Default is None.
186689
186690              Returns
186691                     A list of installed features
186692
186693              Return type
186694                     list
186695
186696              CLI Example:
186697
186698                 salt '*' dism.installed_features
186699
186700       salt.modules.win_dism.installed_packages(image=None)
186701              List the packages installed on the system
186702
186703              Parameters
186704                     image  (Optional[str])  -- The path to the root directory
186705                     of an offline Windows image. If None is passed, the  run‐
186706                     ning operating system is targeted. Default is None.
186707
186708              Returns
186709                     A list of installed packages
186710
186711              Return type
186712                     list
186713
186714              CLI Example:
186715
186716                 salt '*' dism.installed_packages
186717
186718       salt.modules.win_dism.package_info(package, image=None)
186719              Display information about a package
186720
186721              Parameters
186722
186723                     · package  (str)  -- The full path to the package. Can be
186724                       either a .cab file or a folder.  Should  point  to  the
186725                       original  source  of the package, not to where the file
186726                       is installed. You cannot use this command to get  pack‐
186727                       age information for .msu files
186728
186729                     · image (Optional[str]) -- The path to the root directory
186730                       of an offline Windows image. If  None  is  passed,  the
186731                       running operating system is targeted. Default is None.
186732
186733              Returns
186734                     A dictionary containing the results of the command
186735
186736              Return type
186737                     dict
186738
186739              CLI Example:
186740
186741                 salt '*' dism. package_info C:\packages\package.cab
186742
186743       salt.modules.win_dism.remove_capability(capability,         image=None,
186744       restart=False)
186745              Uninstall a capability
186746
186747              Parameters
186748
186749                     · capability (str) -- The capability to be removed
186750
186751                     · image (Optional[str]) -- The path to the root directory
186752                       of  an  offline  Windows  image. If None is passed, the
186753                       running operating system is targeted. Default is None.
186754
186755                     · restart  (Optional[bool])  --  Reboot  the  machine  if
186756                       required by the install
186757
186758              Raises
186759
186760                     · NotImplementedError -- For all versions of Windows that
186761                       are not Windows 10
186762
186763                     · and later. Server editions of Windows use ServerManager
186764                       instead.
186765
186766              Returns
186767                     A dictionary containing the results of the command
186768
186769              Return type
186770                     dict
186771
186772              CLI Example:
186773
186774                 salt '*' dism.remove_capability Tools.Graphics.DirectX~~~~0.0.1.0
186775
186776       salt.modules.win_dism.remove_feature(feature,     remove_payload=False,
186777       image=None, restart=False)
186778              Disables the feature.
186779
186780              Parameters
186781
186782                     · feature (str) -- The feature to uninstall
186783
186784                     · remove_payload (Optional[bool]) -- Remove the feature's
186785                       payload.  Must  supply  source  when  enabling  in  the
186786                       future.
186787
186788                     · image (Optional[str]) -- The path to the root directory
186789                       of  an  offline  Windows  image. If None is passed, the
186790                       running operating system is targeted. Default is None.
186791
186792                     · restart  (Optional[bool])  --  Reboot  the  machine  if
186793                       required by the install
186794
186795              Returns
186796                     A dictionary containing the results of the command
186797
186798              Return type
186799                     dict
186800
186801              CLI Example:
186802
186803                 salt '*' dism.remove_feature NetFx3
186804
186805       salt.modules.win_dism.remove_package(package,               image=None,
186806       restart=False)
186807              Uninstall a package
186808
186809              Parameters
186810
186811                     · package (str) -- The full path to the package.  Can  be
186812                       either  a  .cab  file  or a folder. Should point to the
186813                       original source of the package, not to where  the  file
186814                       is installed. This can also be the name of a package as
186815                       listed in dism.installed_packages
186816
186817                     · image (Optional[str]) -- The path to the root directory
186818                       of  an  offline  Windows  image. If None is passed, the
186819                       running operating system is targeted. Default is None.
186820
186821                     · restart  (Optional[bool])  --  Reboot  the  machine  if
186822                       required by the install
186823
186824              Returns
186825                     A dictionary containing the results of the command
186826
186827              Return type
186828                     dict
186829
186830              CLI Example:
186831
186832                 # Remove the Calc Package
186833                 salt '*' dism.remove_package Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
186834
186835                 # Remove the package.cab (does not remove C:\packages\package.cab)
186836                 salt '*' dism.remove_package C:\packages\package.cab
186837
186838   salt.modules.win_dns_client
186839       Module for configuring DNS Client on Windows systems
186840
186841       salt.modules.win_dns_client.add_dns(ip,  interface=u'Local Area Connec‐
186842       tion', index=1)
186843              Add the DNS server to the network interface (index  starts  from
186844              1)
186845
186846              Note:  if  the  interface DNS is configured by DHCP, all the DNS
186847              servers will be removed from the interface and the requested DNS
186848              will be the only one
186849
186850              CLI Example:
186851
186852                 salt '*' win_dns_client.add_dns <ip> <interface> <index>
186853
186854       salt.modules.win_dns_client.dns_dhcp(interface=u'Local   Area   Connec‐
186855       tion')
186856              Configure the interface to get its DNS  servers  from  the  DHCP
186857              server
186858
186859              CLI Example:
186860
186861                 salt '*' win_dns_client.dns_dhcp <interface>
186862
186863       salt.modules.win_dns_client.get_dns_config(interface=u'Local  Area Con‐
186864       nection')
186865              Get the type of DNS configuration (dhcp / static).
186866
186867              Parameters
186868
186869                     · interface (str) -- The name of the  network  interface.
186870                       This is the
186871
186872                     · in  the  Network  Connection  Details  for  the  device
186873                       (Description) --
186874
186875              Returns
186876                     True if DNS is configured, otherwise False
186877
186878              Return type
186879                     bool
186880
186881              CLI Example:
186882
186883                 salt '*' win_dns_client.get_dns_config 'Local Area Connection'
186884
186885       salt.modules.win_dns_client.get_dns_servers(interface=u'Local Area Con‐
186886       nection')
186887              Return  a  list  of  the configured DNS servers of the specified
186888              interface
186889
186890              Parameters
186891
186892                     · interface (str) -- The name of the  network  interface.
186893                       This is the name as
186894
186895                     · appears  in the Control Panel under Network Connections
186896                       (it) --
186897
186898              Returns
186899                     A list of dns servers
186900
186901              Return type
186902                     list
186903
186904              CLI Example:
186905
186906                 salt '*' win_dns_client.get_dns_servers 'Local Area Connection'
186907
186908       salt.modules.win_dns_client.rm_dns(ip, interface=u'Local  Area  Connec‐
186909       tion')
186910              Remove the DNS server from the network interface
186911
186912              CLI Example:
186913
186914                 salt '*' win_dns_client.rm_dns <ip> <interface>
186915
186916   salt.modules.win_dsc
186917       Module  for working with Windows PowerShell DSC (Desired State Configu‐
186918       ration)
186919
186920       This module is Alpha
186921
186922       This module applies  DSC  Configurations  in  the  form  of  PowerShell
186923       scripts or MOF (Managed Object Format) schema files.
186924
186925       Use the psget module to manage PowerShell resources.
186926
186927       The  idea  is to leverage Salt to push DSC configuration scripts or MOF
186928       files to the Minion.
186929
186930       depends
186931
186932              · PowerShell 5.0
186933
186934       salt.modules.win_dsc.apply_config(path, source=None, salt_env=u'base')
186935              Run an compiled DSC configuration (a folder  containing  a  .mof
186936              file).  The  folder can be cached from the salt master using the
186937              source option.
186938
186939              Parameters
186940
186941                     · path (str) -- Local path to the directory that contains
186942                       the .mof configuration file to apply. Required.
186943
186944                     · source (str) -- Path to the directory that contains the
186945                       .mof file on the file_roots. The source directory  will
186946                       be  copied  to the path directory and then executed. If
186947                       the path and  source  directories  differ,  the  source
186948                       directory will be applied. If source is not passed, the
186949                       config located at path will be applied. Optional.
186950
186951                     · salt_env (str) -- The  salt  environment  to  use  when
186952                       copying your source.  Default is 'base'
186953
186954              Returns
186955                     True if successful, otherwise False
186956
186957              Return type
186958                     bool
186959
186960              CLI Example:
186961
186962              To apply a config that already exists on the the system
186963
186964                 salt '*' dsc.apply_config C:\\DSC\\WebSiteConfiguration
186965
186966              To cache a configuration from the master and apply it:
186967
186968                 salt '*' dsc.apply_config C:\\DSC\\WebSiteConfiguration salt://dsc/configs/WebSiteConfiguration
186969
186970       salt.modules.win_dsc.compile_config(path,       source=None,       con‐
186971       fig_name=None, config_data=None, config_data_source=None, script_param‐
186972       eters=None, salt_env=u'base')
186973              Compile a config from a PowerShell script (.ps1)
186974
186975              Parameters
186976
186977                     · path (str) -- Path (local) to the script that will cre‐
186978                       ate the  .mof  configuration  file.  If  no  source  is
186979                       passed, the file must exist locally. Required.
186980
186981                     · source  (str)  --  Path  to the script on file_roots to
186982                       cache at the location specified  by  path.  The  source
186983                       file  will  be  cached  locally  and  then executed. If
186984                       source is not passed, the config script located at path
186985                       will be compiled. Optional.
186986
186987                     · config_name  (str)  --  The  name  of the Configuration
186988                       within the script to apply. If the script contains mul‐
186989                       tiple configurations within the file a config_name must
186990                       be specified. If the config_name is not specified,  the
186991                       name  of  the  file  will be used as the config_name to
186992                       run. Optional.
186993
186994                     · config_data (str) --
186995
186996                       Configuration data in the form of  a  hash  table  that
186997                       will  be passed to the ConfigurationData parameter when
186998                       the config_name is compiled. This can be the path to  a
186999                       .psd1 file containing the proper hash table or the Pow‐
187000                       erShell code to create the hash table.
187001
187002                       New in version 2017.7.0.
187003
187004
187005
187006                     · config_data_source (str) --
187007
187008                       The path to the .psd1 file on file_roots  to  cache  at
187009                       the location specified by config_data. If this is spec‐
187010                       ified, config_data must be a local path  instead  of  a
187011                       hash table.
187012
187013                       New in version 2017.7.0.
187014
187015
187016
187017                     · script_parameters (str) --
187018
187019                       Any additional parameters expected by the configuration
187020                       script. These must be defined in the script itself.
187021
187022                       New in version 2017.7.0.
187023
187024
187025
187026                     · salt_env (str) -- The  salt  environment  to  use  when
187027                       copying the source.  Default is 'base'
187028
187029              Returns
187030                     A dictionary containing the results of the compilation
187031
187032              Return type
187033                     dict
187034
187035              CLI Example:
187036
187037              To  compile  a  config  from a script that already exists on the
187038              system:
187039
187040                 salt '*' dsc.compile_config C:\\DSC\\WebsiteConfig.ps1
187041
187042              To cache a config script to the system from the master and  com‐
187043              pile it:
187044
187045                 salt '*' dsc.compile_config C:\\DSC\\WebsiteConfig.ps1 salt://dsc/configs/WebsiteConfig.ps1
187046
187047       salt.modules.win_dsc.get_config()
187048              Get the current DSC Configuration
187049
187050              Returns
187051                     A  dictionary  representing  the DSC Configuration on the
187052                     machine
187053
187054              Return type
187055                     dict
187056
187057              Raises CommandExecutionError -- On failure
187058
187059              CLI Example:
187060
187061                 salt '*' dsc.get_config
187062
187063       salt.modules.win_dsc.get_config_status()
187064              Get the status of the current DSC Configuration
187065
187066              Returns
187067
187068                     A dictionary representing the status of the current DSC
187069                            Configuration on the machine
187070
187071
187072              Return type
187073                     dict
187074
187075              CLI Example:
187076
187077                 salt '*' dsc.get_config_status
187078
187079       salt.modules.win_dsc.get_lcm_config()
187080              Get the current Local Configuration Manager settings
187081
187082              Returns
187083
187084                     A dictionary representing the Local Configuration Manager
187085                     settings
187086                            on the machine
187087
187088
187089              Return type
187090                     dict
187091
187092              CLI Example:
187093
187094                 salt '*' dsc.get_lcm_config
187095
187096       salt.modules.win_dsc.remove_config(reset=False)
187097              Remove  the current DSC Configuration. Removes current, pending,
187098              and previous dsc configurations.
187099
187100              New in version 2017.7.5.
187101
187102
187103              Parameters
187104                     reset (bool) --
187105
187106                     Attempts to reset the DSC configuration by  removing  the
187107                     following from C:\Windows\System32\Configuration:
187108
187109                     · File: DSCStatusHistory.mof
187110
187111                     · File: DSCEngineCache.mof
187112
187113                     · Dir: ConfigurationStatus
187114
187115                     Default is False
187116
187117                     WARNING:
187118                        remove_config may fail to reset the DSC environment if
187119                        any of the files in the ConfigurationStatus directory.
187120                        If  you  wait a few minutes and run again, it may com‐
187121                        plete successfully.
187122
187123
187124              Returns
187125                     True if successful
187126
187127              Return type
187128                     bool
187129
187130              Raises CommandExecutionError -- On failure
187131
187132              CLI Example:
187133
187134                 salt '*' dsc.remove_config True
187135
187136       salt.modules.win_dsc.restore_config()
187137              Reapplies the previous configuration.
187138
187139              New in version 2017.7.5.
187140
187141
187142              NOTE:
187143                 The current configuration will be come the previous  configu‐
187144                 ration. If run a second time back-to-back it is like toggling
187145                 between two configs.
187146
187147              Returns
187148                     True if successfully restored
187149
187150              Return type
187151                     bool
187152
187153              Raises CommandExecutionError -- On failure
187154
187155              CLI Example:
187156
187157                 salt '*' dsc.restore_config
187158
187159       salt.modules.win_dsc.run_config(path,  source=None,   config_name=None,
187160       config_data=None,    config_data_source=None,   script_parameters=None,
187161       salt_env=u'base')
187162              Compile a DSC Configuration in the form of a  PowerShell  script
187163              (.ps1)  and  apply  it. The PowerShell script can be cached from
187164              the master using the source option. If there is  more  than  one
187165              config  within  the PowerShell script, the desired configuration
187166              can be applied by passing the name in the config option.
187167
187168              This command would be the equivalent of running dsc.compile_con‐
187169              fig followed by dsc.apply_config.
187170
187171              Parameters
187172
187173                     · path  (str)  -- The local path to the PowerShell script
187174                       that contains the DSC Configuration. Required.
187175
187176                     · source (str) -- The path to the script on file_roots to
187177                       cache  at  the  location  specified by path. The source
187178                       file will be  cached  locally  and  then  executed.  If
187179                       source is not passed, the config script located at path
187180                       will be compiled. Optional.
187181
187182                     · config_name (str) --  The  name  of  the  Configuration
187183                       within the script to apply. If the script contains mul‐
187184                       tiple configurations within the file a config_name must
187185                       be  specified. If the config_name is not specified, the
187186                       name of the file will be used  as  the  config_name  to
187187                       run. Optional.
187188
187189                     · config_data (str) --
187190
187191                       Configuration  data  in  the  form of a hash table that
187192                       will be passed to the ConfigurationData parameter  when
187193                       the  config_name is compiled. This can be the path to a
187194                       .psd1 file containing the proper hash table or the Pow‐
187195                       erShell code to create the hash table.
187196
187197                       New in version 2017.7.0.
187198
187199
187200
187201                     · config_data_source (str) --
187202
187203                       The  path  to  the .psd1 file on file_roots to cache at
187204                       the location specified by config_data. If this is spec‐
187205                       ified,  config_data  must  be a local path instead of a
187206                       hash table.
187207
187208                       New in version 2017.7.0.
187209
187210
187211
187212                     · script_parameters (str) --
187213
187214                       Any additional parameters expected by the configuration
187215                       script. These must be defined in the script itself.
187216
187217                       New in version 2017.7.0.
187218
187219
187220
187221                     · salt_env  (str)  --  The  salt  environment to use when
187222                       copying the source.  Default is 'base'
187223
187224              Returns
187225                     True if  successfully  compiled  and  applied,  otherwise
187226                     False
187227
187228              Return type
187229                     bool
187230
187231              CLI Example:
187232
187233              To  compile  a  config  from a script that already exists on the
187234              system:
187235
187236                 salt '*' dsc.run_config C:\\DSC\\WebsiteConfig.ps1
187237
187238              To cache a config script to the system from the master and  com‐
187239              pile it:
187240
187241                 salt '*' dsc.run_config C:\\DSC\\WebsiteConfig.ps1 salt://dsc/configs/WebsiteConfig.ps1
187242
187243       salt.modules.win_dsc.set_lcm_config(config_mode=None,              con‐
187244       fig_mode_freq=None,      refresh_freq=None,      reboot_if_needed=None,
187245       action_after_reboot=None,  refresh_mode=None, certificate_id=None, con‐
187246       figuration_id=None, allow_module_overwrite=None, debug_mode=False, sta‐
187247       tus_retention_days=None)
187248              For    detailed    descriptions    of    the   parameters   see:
187249              https://msdn.microsoft.com/en-us/PowerShell/DSC/metaConfig
187250
187251              config_mode (str): How the LCM applies the configuration.  Valid
187252              values
187253                     are:
187254
187255                     · ApplyOnly
187256
187257                     · ApplyAndMonitor
187258
187259                     · ApplyAndAutoCorrect
187260
187261              config_mode_freq  (int): How often, in minutes, the current con‐
187262              figuration
187263                     is checked and applied. Ignored if config_mode is set  to
187264                     ApplyOnly.  Default is 15.
187265
187266              refresh_mode  (str): How the LCM gets configurations. Valid val‐
187267              ues are:
187268
187269                 · Disabled
187270
187271                 · Push
187272
187273                 · Pull
187274
187275              refresh_freq (int): How often, in minutes, the  LCM  checks  for
187276              updated
187277                     configurations. (pull mode only) Default is 30.
187278
187279              reboot_if_needed (bool): Reboot the machine if needed after a
187280                     configuration is applied. Default is False.
187281
187282              action_after_reboot  (str):  Action  to take after reboot. Valid
187283              values
187284                     are:
187285
187286                     · ContinueConfiguration
187287
187288                     · StopConfiguration
187289
187290              certificate_id (guid): A GUID that specifies a certificate  used
187291              to
187292                     access the configuration: (pull mode)
187293
187294              configuration_id  (guid): A GUID that identifies the config file
187295              to get
187296                     from a pull server. (pull mode)
187297
187298              allow_module_overwrite (bool): New configs are allowed to  over‐
187299              write old
187300                     ones on the target node.
187301
187302              debug_mode (str): Sets the debug level. Valid values are:
187303
187304                 · None
187305
187306                 · ForceModuleImport
187307
187308                 · All
187309
187310              status_retention_days  (int):  Number  of days to keep status of
187311              the
187312                     current config.
187313
187314              NOTE:
187315                 Either config_mode_freq or refresh_freq needs to be a  multi‐
187316                 ple of the other. See documentation on MSDN for more details.
187317
187318              Returns
187319                     True if successful, otherwise False
187320
187321              Return type
187322                     bool
187323
187324              CLI Example:
187325
187326                 salt '*' dsc.set_lcm_config ApplyOnly
187327
187328       salt.modules.win_dsc.test_config()
187329              Tests the current applied DSC Configuration
187330
187331              Returns
187332                     True if successfully applied, otherwise False
187333
187334              Return type
187335                     bool
187336
187337              CLI Example:
187338
187339                 salt '*' dsc.test_config
187340
187341   salt.modules.win_file
187342       Manage  information  about  files  on  the minion, set/read user, group
187343       data, modify the ACL of files/directories
187344
187345       depends
187346
187347              · win32api
187348
187349              · win32file
187350
187351              · win32con
187352
187353              · salt.utils.win_dacl
187354
187355       exception salt.modules.win_file.WindowsError
187356
187357       salt.modules.win_file.check_perms(path,      ret=None,      owner=None,
187358       grant_perms=None, deny_perms=None, inheritance=True, reset=False)
187359              Check owner and permissions for the passed directory. This func‐
187360              tion checks the permissions and sets them, returning the changes
187361              made. Used by the file state to populate the return dict
187362
187363              Parameters
187364
187365                     · path (str) -- The full path to the directory.
187366
187367                     · ret  (dict)  --  A  dictionary to append changes to and
187368                       return. If not passed, will create a new dictionary  to
187369                       return.
187370
187371                     · owner (str) -- The owner to set for the directory.
187372
187373                     · grant_perms  (dict)  --  A  dictionary  containing  the
187374                       user/group and the basic  permissions  to  check/grant,
187375                       ie:  {'user':  {'perms': 'basic_permission'}}.  Default
187376                       is None.
187377
187378                     · deny_perms  (dict)  --  A  dictionary  containing   the
187379                       user/group  and  permissions  to check/deny. Default is
187380                       None.
187381
187382                     · inheritance (bool) -- True will check if inheritance is
187383                       enabled  and  enable  it. ``False will check if inheri‐
187384                       tance is disabled and disable it. Default is True.
187385
187386                     · reset (bool) -- True will show what permissions will be
187387                       removed  by  resetting the DACL. False will do nothing.
187388                       Default is False.
187389
187390              Returns
187391                     A dictionary of changes that have been made
187392
187393              Return type
187394                     dict
187395
187396              CLI Example:
187397
187398                 # To see changes to ``C:\Temp`` if the 'Users' group is given 'read & execute' permissions.
187399                 salt '*' file.check_perms C:\Temp\ {} Administrators "{'Users': {'perms': 'read_execute'}}"
187400
187401                 # Locally using salt call
187402                 salt-call file.check_perms C:\Temp\ {} Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
187403
187404                 # Specify advanced attributes with a list
187405                 salt '*' file.check_perms C:\Temp\ {} Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'files_only'}}"
187406
187407       salt.modules.win_file.chgrp(path, group)
187408              Change the group of a file
187409
187410              Under Windows, this will do nothing.
187411
187412              While a file in Windows does have a 'primary group', this rarely
187413              used  attribute  generally  has no bearing on permissions unless
187414              intentionally configured and is only used to support  Unix  com‐
187415              patibility features (e.g.  Services For Unix, NFS services).
187416
187417              Salt,  therefore, remaps this function to do nothing while still
187418              being compatible with Unix behavior. When managing Windows  sys‐
187419              tems,  this  function  is  superfluous and will generate an info
187420              level log entry if used directly.
187421
187422              If you do actually want to set the 'primary group'  of  a  file,
187423              use file
187424
187425              To set group permissions use file.set_perms
187426
187427              Parameters
187428
187429                     · path (str) -- The path to the file or directory
187430
187431                     · group (str) -- The group (unused)
187432
187433              Returns
187434                     None
187435
187436              CLI Example:
187437
187438                 salt '*' file.chpgrp c:\temp\test.txt administrators
187439
187440       salt.modules.win_file.chown(path,  user,  group=None, pgroup=None, fol‐
187441       low_symlinks=True)
187442              Chown a file, pass the file the desired user and group
187443
187444              Under Windows, the group parameter will be ignored.
187445
187446              This is because while files in Windows do have a 'primary group'
187447              property,  this  is rarely used.  It generally has no bearing on
187448              permissions unless intentionally configured and is most commonly
187449              used  to provide Unix compatibility (e.g. Services For Unix, NFS
187450              services).
187451
187452              If you do want to change the 'primary group' property and under‐
187453              stand the implications, pass the Windows only parameter, pgroup,
187454              instead.
187455
187456              Parameters
187457
187458                     · path (str) -- The path to the file or directory
187459
187460                     · user (str) -- The name of the user to own the file
187461
187462                     · group (str) -- The group (not used)
187463
187464                     · pgroup (str) -- The primary group to assign
187465
187466                     · follow_symlinks (bool) -- If the  object  specified  by
187467                       path  is  a  symlink, get attributes of the linked file
187468                       instead of the symlink itself. Default is True
187469
187470              Returns
187471                     True if successful, otherwise error
187472
187473              Return type
187474                     bool
187475
187476              CLI Example:
187477
187478                 salt '*' file.chown c:\temp\test.txt myusername
187479                 salt '*' file.chown c:\temp\test.txt myusername pgroup=Administrators
187480                 salt '*' file.chown c:\temp\test.txt myusername "pgroup='None'"
187481
187482       salt.modules.win_file.chpgrp(path, group)
187483              Change the group of a file
187484
187485              Under Windows, this will set the rarely used primary group of  a
187486              file.   This  generally  has  no  bearing  on permissions unless
187487              intentionally configured and is most commonly  used  to  provide
187488              Unix compatibility (e.g.  Services For Unix, NFS services).
187489
187490              Ensure you know what you are doing before using this function.
187491
187492              Parameters
187493
187494                     · path (str) -- The path to the file or directory
187495
187496                     · pgroup (str) -- The primary group to assign
187497
187498              Returns
187499                     True if successful, otherwise error
187500
187501              Return type
187502                     bool
187503
187504              CLI Example:
187505
187506                 salt '*' file.chpgrp c:\temp\test.txt Administrators
187507                 salt '*' file.chpgrp c:\temp\test.txt "'None'"
187508
187509       salt.modules.win_file.get_attributes(path)
187510              Return  a dictionary object with the Windows file attributes for
187511              a file.
187512
187513              Parameters
187514                     path (str) -- The path to the file or directory
187515
187516              Returns
187517                     A dictionary of file attributes
187518
187519              Return type
187520                     dict
187521
187522              CLI Example:
187523
187524                 salt '*' file.get_attributes c:\temp\a.txt
187525
187526       salt.modules.win_file.get_gid(path, follow_symlinks=True)
187527              Return the id of the group that owns a given file
187528
187529              Under Windows, this will return the uid of the file.
187530
187531              While a file in Windows does have a 'primary group', this rarely
187532              used  attribute  generally  has no bearing on permissions unless
187533              intentionally configured and is only used to support  Unix  com‐
187534              patibility features (e.g.  Services For Unix, NFS services).
187535
187536              Salt,  therefore,  remaps this function to provide functionality
187537              that somewhat resembles Unix behavior for API compatibility rea‐
187538              sons.  When managing Windows systems, this function is superflu‐
187539              ous and will generate an info level log entry if used directly.
187540
187541              If you do actually want to access the 'primary group' of a file,
187542              use file.get_pgid.
187543
187544              Parameters
187545
187546                     · path (str) -- The path to the file or directory
187547
187548                     · follow_symlinks  (bool)  --  If the object specified by
187549                       path is a symlink, get attributes of  the  linked  file
187550                       instead of the symlink itself. Default is True
187551
187552              Returns
187553                     The gid of the owner
187554
187555              Return type
187556                     str
187557
187558              CLI Example:
187559
187560                 salt '*' file.get_gid c:\temp\test.txt
187561
187562       salt.modules.win_file.get_group(path, follow_symlinks=True)
187563              Return the group that owns a given file
187564
187565              Under Windows, this will return the user (owner) of the file.
187566
187567              While a file in Windows does have a 'primary group', this rarely
187568              used attribute generally has no bearing  on  permissions  unless
187569              intentionally  configured  and is only used to support Unix com‐
187570              patibility features (e.g.  Services For Unix, NFS services).
187571
187572              Salt, therefore, remaps this function to  provide  functionality
187573              that somewhat resembles Unix behavior for API compatibility rea‐
187574              sons. When managing Windows systems, this function is  superflu‐
187575              ous and will generate an info level log entry if used directly.
187576
187577              If you do actually want to access the 'primary group' of a file,
187578              use file.get_pgroup.
187579
187580              Parameters
187581
187582                     · path (str) -- The path to the file or directory
187583
187584                     · follow_symlinks (bool) -- If the  object  specified  by
187585                       path  is  a  symlink, get attributes of the linked file
187586                       instead of the symlink itself. Default is True
187587
187588              Returns
187589                     The name of the owner
187590
187591              Return type
187592                     str
187593
187594              CLI Example:
187595
187596                 salt '*' file.get_group c:\temp\test.txt
187597
187598       salt.modules.win_file.get_mode(path)
187599              Return the mode of a file
187600
187601              Right now we're just returning  None  because  Windows'  doesn't
187602              have a mode like Linux
187603
187604              Parameters
187605                     path (str) -- The path to the file or directory
187606
187607              Returns
187608                     None
187609
187610              CLI Example:
187611
187612                 salt '*' file.get_mode /etc/passwd
187613
187614       salt.modules.win_file.get_pgid(path, follow_symlinks=True)
187615              Return  the id of the primary group that owns a given file (Win‐
187616              dows only)
187617
187618              This function will return the rarely used  primary  group  of  a
187619              file. This generally has no bearing on permissions unless inten‐
187620              tionally configured and is most commonly used  to  provide  Unix
187621              compatibility (e.g. Services For Unix, NFS services).
187622
187623              Ensure you know what you are doing before using this function.
187624
187625              Parameters
187626
187627                     · path (str) -- The path to the file or directory
187628
187629                     · follow_symlinks  (bool)  --  If the object specified by
187630                       path is a symlink, get attributes of  the  linked  file
187631                       instead of the symlink itself. Default is True
187632
187633              Returns
187634                     The gid of the primary group
187635
187636              Return type
187637                     str
187638
187639              CLI Example:
187640
187641                 salt '*' file.get_pgid c:\temp\test.txt
187642
187643       salt.modules.win_file.get_pgroup(path, follow_symlinks=True)
187644              Return  the  name  of  the  primary group that owns a given file
187645              (Windows only)
187646
187647              This function will return the rarely used  primary  group  of  a
187648              file. This generally has no bearing on permissions unless inten‐
187649              tionally configured and is most commonly used  to  provide  Unix
187650              compatibility (e.g. Services For Unix, NFS services).
187651
187652              Ensure you know what you are doing before using this function.
187653
187654              The  return  value  may  be 'None', e.g. if the user is not on a
187655              domain. This is a valid group - do not  confuse  this  with  the
187656              Salt/Python  value of None which means no value was returned. To
187657              be certain, use the get_pgid function which will return the SID,
187658              including for the system 'None' group.
187659
187660              Parameters
187661
187662                     · path (str) -- The path to the file or directory
187663
187664                     · follow_symlinks  (bool)  --  If the object specified by
187665                       path is a symlink, get attributes of  the  linked  file
187666                       instead of the symlink itself. Default is True
187667
187668              Returns
187669                     The name of the primary group
187670
187671              Return type
187672                     str
187673
187674              CLI Example:
187675
187676                 salt '*' file.get_pgroup c:\temp\test.txt
187677
187678       salt.modules.win_file.get_uid(path, follow_symlinks=True)
187679              Return the id of the user that owns a given file
187680
187681              Symlinks are followed by default to mimic Unix behavior. Specify
187682              follow_symlinks=False to turn off this behavior.
187683
187684              Parameters
187685
187686                     · path (str) -- The path to the file or directory
187687
187688                     · follow_symlinks (bool) -- If the  object  specified  by
187689                       path  is  a  symlink, get attributes of the linked file
187690                       instead of the symlink itself. Default is True
187691
187692              Returns
187693                     The uid of the owner
187694
187695              Return type
187696                     str
187697
187698              CLI Example:
187699
187700                 salt '*' file.get_uid c:\temp\test.txt
187701                 salt '*' file.get_uid c:\temp\test.txt follow_symlinks=False
187702
187703       salt.modules.win_file.get_user(path, follow_symlinks=True)
187704              Return the user that owns a given file
187705
187706              Symlinks are followed by default to mimic Unix behavior. Specify
187707              follow_symlinks=False to turn off this behavior.
187708
187709              Parameters
187710
187711                     · path (str) -- The path to the file or directory
187712
187713                     · follow_symlinks  (bool)  --  If the object specified by
187714                       path is a symlink, get attributes of  the  linked  file
187715                       instead of the symlink itself. Default is True
187716
187717              Returns
187718                     The name of the owner
187719
187720              Return type
187721                     str
187722
187723              CLI Example:
187724
187725                 salt '*' file.get_user c:\temp\test.txt
187726                 salt '*' file.get_user c:\temp\test.txt follow_symlinks=False
187727
187728       salt.modules.win_file.gid_to_group(gid)
187729              Convert the group id to the group name on this system
187730
187731              Under  Windows, because groups are just another ACL entity, this
187732              function behaves the same as uid_to_user.
187733
187734              For maintaining Windows systems, this  function  is  superfluous
187735              and  only  exists  for  API  compatibility  with  Unix.  Use the
187736              uid_to_user function instead; an info level log  entry  will  be
187737              generated if this function is used directly.
187738
187739              Parameters
187740                     gid (str) -- The gid of the group
187741
187742              Returns
187743                     The name of the group
187744
187745              Return type
187746                     str
187747
187748              CLI Example:
187749
187750                 salt '*' file.gid_to_group S-1-5-21-626487655-2533044672-482107328-1010
187751
187752       salt.modules.win_file.group_to_gid(group)
187753              Convert the group to the gid on this system
187754
187755              Under  Windows, because groups are just another ACL entity, this
187756              function behaves the same as  user_to_uid,  except  if  None  is
187757              given, '' is returned.
187758
187759              For  maintaining  Windows  systems, this function is superfluous
187760              and only  exists  for  API  compatibility  with  Unix.  Use  the
187761              user_to_uid  function  instead;  an info level log entry will be
187762              generated if this function is used directly.
187763
187764              Parameters
187765                     group (str) -- The name of the group
187766
187767              Returns
187768                     The gid of the group
187769
187770              Return type
187771                     str
187772
187773              CLI Example:
187774
187775                 salt '*' file.group_to_gid administrators
187776
187777       salt.modules.win_file.is_link(path)
187778              Check if the path is a symlink
187779
187780              This is only supported on Windows Vista or later.
187781
187782              Inline with Unix behavior, this function will raise an error  if
187783              the  path  is not a symlink, however, the error raised will be a
187784              SaltInvocationError, not an OSError.
187785
187786              Parameters
187787                     path (str) -- The path to a file or directory
187788
187789              Returns
187790                     True if path is a symlink, otherwise False
187791
187792              Return type
187793                     bool
187794
187795              CLI Example:
187796
187797                 salt '*' file.is_link /path/to/link
187798
187799       salt.modules.win_file.lchown(path, user, group=None, pgroup=None)
187800              Chown a file, pass the file the desired user and  group  without
187801              following any symlinks.
187802
187803              Under Windows, the group parameter will be ignored.
187804
187805              This is because while files in Windows do have a 'primary group'
187806              property, this is rarely used.  It generally has no  bearing  on
187807              permissions unless intentionally configured and is most commonly
187808              used to provide Unix compatibility (e.g. Services For Unix,  NFS
187809              services).
187810
187811              If you do want to change the 'primary group' property and under‐
187812              stand the implications, pass the Windows only parameter, pgroup,
187813              instead.
187814
187815              To  set  the  primary  group  to 'None', it must be specified in
187816              quotes.  Otherwise Salt will interpret it as the Python value of
187817              None  and  no  primary group changes will occur. See the example
187818              below.
187819
187820              Parameters
187821
187822                     · path (str) -- The path to the file or directory
187823
187824                     · user (str) -- The name of the user to own the file
187825
187826                     · group (str) -- The group (not used)
187827
187828                     · pgroup (str) -- The primary group to assign
187829
187830              Returns
187831                     True if successful, otherwise error
187832
187833              Return type
187834                     bool
187835
187836              CLI Example:
187837
187838                 salt '*' file.lchown c:\temp\test.txt myusername
187839                 salt '*' file.lchown c:\temp\test.txt myusername pgroup=Administrators
187840                 salt '*' file.lchown c:\temp\test.txt myusername "pgroup='None'"
187841
187842       salt.modules.win_file.makedirs_(path,   owner=None,   grant_perms=None,
187843       deny_perms=None, inheritance=True, reset=False)
187844              Ensure  that the parent directory containing this path is avail‐
187845              able.
187846
187847              Parameters
187848
187849                     · path (str) --
187850
187851                       The full path to the directory.
187852
187853                       NOTE:
187854                          The path must end with a  trailing  slash  otherwise
187855                          the  directory(s)  will  be created up to the parent
187856                          directory. For example if path is C:\temp\test, then
187857                          it would be treated as C:\temp\ but if the path ends
187858                          with a trailing slash like  C:\temp\test\,  then  it
187859                          would be treated as C:\temp\test\.
187860
187861
187862                     · owner  (str)  --  The  owner  of  the directory. If not
187863                       passed, it will be the account that created the  direc‐
187864                       tory, likely SYSTEM.
187865
187866                     · grant_perms (dict) --
187867
187868                       A  dictionary  containing  the user/group and the basic
187869                       permissions   to   grant,   ie:   {'user':    {'perms':
187870                       'basic_permission'}}.  You  can also set the applies_to
187871                       setting  here.  The  default  is   this_folder_subfold‐
187872                       ers_files.  Specify  another  applies_to  setting  like
187873                       this:
187874
187875                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
187876
187877                       To set advanced permissions use a list  for  the  perms
187878                       parameter, ie:
187879
187880                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
187881
187882
187883                     · deny_perms   (dict)  --  A  dictionary  containing  the
187884                       user/group and  permissions  to  deny  along  with  the
187885                       applies_to  setting.  Use  the same format used for the
187886                       grant_perms  parameter.  Remember,   deny   permissions
187887                       supersede grant permissions.
187888
187889                     · inheritance  (bool)  -- If True the object will inherit
187890                       permissions from the parent, if False, inheritance will
187891                       be disabled. Inheritance setting will not apply to par‐
187892                       ent directories if they must be created.
187893
187894                     · reset (bool) --
187895
187896                       If True the existing DACL will be cleared and  replaced
187897                       with  the  settings defined in this function. If False,
187898                       new entries will be  appended  to  the  existing  DACL.
187899                       Default is False.
187900
187901                       New in version 2018.3.0.
187902
187903
187904
187905              Returns
187906                     True if successful
187907
187908              Return type
187909                     bool
187910
187911              Raises CommandExecutionError -- If unsuccessful
187912
187913              CLI Example:
187914
187915                 # To grant the 'Users' group 'read & execute' permissions.
187916                 salt '*' file.makedirs C:\Temp\ Administrators "{'Users': {'perms': 'read_execute'}}"
187917
187918                 # Locally using salt call
187919                 salt-call file.makedirs C:\Temp\ Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
187920
187921                 # Specify advanced attributes with a list
187922                 salt '*' file.makedirs C:\Temp\ Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_only'}}"
187923
187924       salt.modules.win_file.makedirs_perms(path,                  owner=None,
187925       grant_perms=None, deny_perms=None, inheritance=True, reset=True)
187926              Set owner and permissions for each directory created.
187927
187928              Parameters
187929
187930                     · path (str) -- The full path to the directory.
187931
187932                     · owner (str) -- The  owner  of  the  directory.  If  not
187933                       passed,  it will be the account that created the direc‐
187934                       tory, likely SYSTEM.
187935
187936                     · grant_perms (dict) --
187937
187938                       A dictionary containing the user/group  and  the  basic
187939                       permissions    to   grant,   ie:   {'user':   {'perms':
187940                       'basic_permission'}}. You can also set  the  applies_to
187941                       setting   here.  The  default  is  this_folder_subfold‐
187942                       ers_files.  Specify  another  applies_to  setting  like
187943                       this:
187944
187945                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
187946
187947                       To  set  advanced  permissions use a list for the perms
187948                       parameter, ie:
187949
187950                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
187951
187952
187953                     · deny_perms  (dict)  --  A  dictionary  containing   the
187954                       user/group  and  permissions  to  deny  along  with the
187955                       applies_to setting. Use the same format  used  for  the
187956                       grant_perms   parameter.   Remember,  deny  permissions
187957                       supersede grant permissions.
187958
187959                     · inheritance (bool) -- If True the object  will  inherit
187960                       permissions from the parent, if False, inheritance will
187961                       be disabled. Inheritance setting will not apply to par‐
187962                       ent directories if they must be created
187963
187964                     · reset (bool) --
187965
187966                       If  True the existing DACL will be cleared and replaced
187967                       with the settings defined in this function.  If  False,
187968                       new  entries  will  be  appended  to the existing DACL.
187969                       Default is False.
187970
187971                       New in version 2018.3.0.
187972
187973
187974
187975              Returns
187976                     True if successful, otherwise raises an error
187977
187978              Return type
187979                     bool
187980
187981              CLI Example:
187982
187983                 # To grant the 'Users' group 'read & execute' permissions.
187984                 salt '*' file.makedirs_perms C:\Temp\ Administrators "{'Users': {'perms': 'read_execute'}}"
187985
187986                 # Locally using salt call
187987                 salt-call file.makedirs_perms C:\Temp\ Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
187988
187989                 # Specify advanced attributes with a list
187990                 salt '*' file.makedirs_perms C:\Temp\ Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_files'}}"
187991
187992       salt.modules.win_file.mkdir(path,     owner=None,     grant_perms=None,
187993       deny_perms=None, inheritance=True, reset=False)
187994              Ensure that the directory is available and permissions are set.
187995
187996              Parameters
187997
187998                     · path (str) -- The full path to the directory.
187999
188000                     · owner  (str)  --  The  owner  of  the directory. If not
188001                       passed, it will be the account that created the  direc‐
188002                       tory, likely SYSTEM
188003
188004                     · grant_perms (dict) --
188005
188006                       A  dictionary  containing  the user/group and the basic
188007                       permissions   to   grant,   ie:   {'user':    {'perms':
188008                       'basic_permission'}}.  You  can also set the applies_to
188009                       setting  here.  The  default  is   this_folder_subfold‐
188010                       ers_files.  Specify  another  applies_to  setting  like
188011                       this:
188012
188013                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
188014
188015                       To set advanced permissions use a list  for  the  perms
188016                       parameter, ie:
188017
188018                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
188019
188020
188021                     · deny_perms   (dict)  --  A  dictionary  containing  the
188022                       user/group and  permissions  to  deny  along  with  the
188023                       applies_to  setting.  Use  the same format used for the
188024                       grant_perms  parameter.  Remember,   deny   permissions
188025                       supersede grant permissions.
188026
188027                     · inheritance  (bool)  -- If True the object will inherit
188028                       permissions from the parent, if False, inheritance will
188029                       be disabled. Inheritance setting will not apply to par‐
188030                       ent directories if they must be created.
188031
188032                     · reset (bool) --
188033
188034                       If True the existing DACL will be cleared and  replaced
188035                       with  the  settings defined in this function. If False,
188036                       new entries will be  appended  to  the  existing  DACL.
188037                       Default is False.
188038
188039                       New in version 2018.3.0.
188040
188041
188042
188043              Returns
188044                     True if successful
188045
188046              Return type
188047                     bool
188048
188049              Raises CommandExecutionError -- If unsuccessful
188050
188051              CLI Example:
188052
188053                 # To grant the 'Users' group 'read & execute' permissions.
188054                 salt '*' file.mkdir C:\Temp\ Administrators "{'Users': {'perms': 'read_execute'}}"
188055
188056                 # Locally using salt call
188057                 salt-call file.mkdir C:\Temp\ Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
188058
188059                 # Specify advanced attributes with a list
188060                 salt '*' file.mkdir C:\Temp\ Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_only'}}"
188061
188062       salt.modules.win_file.readlink(path)
188063              Return the path that a symlink points to
188064
188065              This is only supported on Windows Vista or later.
188066
188067              Inline  with Unix behavior, this function will raise an error if
188068              the path is not a symlink, however, the error raised will  be  a
188069              SaltInvocationError, not an OSError.
188070
188071              Parameters
188072                     path (str) -- The path to the symlink
188073
188074              Returns
188075                     The path that the symlink points to
188076
188077              Return type
188078                     str
188079
188080              CLI Example:
188081
188082                 salt '*' file.readlink /path/to/link
188083
188084       salt.modules.win_file.remove(path, force=False)
188085              Remove the named file or directory
188086
188087              Parameters
188088
188089                     · path  (str)  --  The  path  to the file or directory to
188090                       remove.
188091
188092                     · force  (bool)  --  Remove  even  if  marked  Read-Only.
188093                       Default is False
188094
188095              Returns
188096                     True if successful, False if unsuccessful
188097
188098              Return type
188099                     bool
188100
188101              CLI Example:
188102
188103                 salt '*' file.remove C:\Temp
188104
188105       salt.modules.win_file.set_attributes(path,  archive=None,  hidden=None,
188106       normal=None,  notIndexed=None,   readonly=None,   system=None,   tempo‐
188107       rary=None)
188108              Set  file attributes for a file.  Note that the normal attribute
188109              means that all others are false.  So setting it will  clear  all
188110              others.
188111
188112              Parameters
188113
188114                     · path (str) -- The path to the file or directory
188115
188116                     · archive  (bool)  -- Sets the archive attribute. Default
188117                       is None
188118
188119                     · hidden (bool) -- Sets the hidden attribute. Default  is
188120                       None
188121
188122                     · normal  (bool) -- Resets the file attributes. Cannot be
188123                       used in conjunction with any other  attribute.  Default
188124                       is None
188125
188126                     · notIndexed   (bool)  --  Sets  the  indexed  attribute.
188127                       Default is None
188128
188129                     · readonly (bool) -- Sets the readonly attribute. Default
188130                       is None
188131
188132                     · system  (bool) -- Sets the system attribute. Default is
188133                       None
188134
188135                     · temporary  (bool)  --  Sets  the  temporary  attribute.
188136                       Default is None
188137
188138              Returns
188139                     True if successful, otherwise False
188140
188141              Return type
188142                     bool
188143
188144              CLI Example:
188145
188146                 salt '*' file.set_attributes c:\temp\a.txt normal=True
188147                 salt '*' file.set_attributes c:\temp\a.txt readonly=True hidden=True
188148
188149       salt.modules.win_file.set_mode(path, mode)
188150              Set the mode of a file
188151
188152              This  just  calls  get_mode, which returns None because we don't
188153              use mode on Windows
188154
188155              Parameters
188156
188157                     · path -- The path to the file or directory
188158
188159                     · mode -- The mode (not used)
188160
188161              Returns
188162                     None
188163
188164              CLI Example:
188165
188166                 salt '*' file.set_mode /etc/passwd 0644
188167
188168       salt.modules.win_file.set_perms(path,                 grant_perms=None,
188169       deny_perms=None, inheritance=True, reset=False)
188170              Set permissions for the given path
188171
188172              Parameters
188173
188174                     · path (str) -- The full path to the directory.
188175
188176                     · grant_perms (dict) --
188177
188178                       A  dictionary  containing  the user/group and the basic
188179                       permissions   to   grant,   ie:   {'user':    {'perms':
188180                       'basic_permission'}}.  You  can also set the applies_to
188181                       setting   here.   The   default   for   applise_to   is
188182                       this_folder_subfolders_files.      Specify      another
188183                       applies_to setting like this:
188184
188185                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
188186
188187                       To set advanced permissions use a list  for  the  perms
188188                       parameter, ie:
188189
188190                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
188191
188192                       To  see  a  list of available attributes and applies to
188193                       settings see the documentation for salt.utils.win_dacl.
188194
188195                       A value of None will make no changes to the grant  por‐
188196                       tion of the DACL. Default is None.
188197
188198
188199                     · deny_perms (dict) --
188200
188201                       A  dictionary containing the user/group and permissions
188202                       to deny along with the applies_to setting. Use the same
188203                       format  used  for  the grant_perms parameter. Remember,
188204                       deny permissions supersede grant permissions.
188205
188206                       A value of None will make no changes to the  deny  por‐
188207                       tion of the DACL. Default is None.
188208
188209
188210                     · inheritance  (bool)  -- If True the object will inherit
188211                       permissions from the parent, if False, inheritance will
188212                       be disabled. Inheritance setting will not apply to par‐
188213                       ent directories if they must  be  created.  Default  is
188214                       False.
188215
188216                     · reset (bool) --
188217
188218                       If  True  the existing DCL will be cleared and replaced
188219                       with the settings defined in this function.  If  False,
188220                       new  entries  will  be  appended  to the existing DACL.
188221                       Default is False.
188222
188223                       New in version 2018.3.0.
188224
188225
188226
188227              Returns
188228                     True if successful
188229
188230              Return type
188231                     bool
188232
188233              Raises CommandExecutionError -- If unsuccessful
188234
188235              CLI Example:
188236
188237                 # To grant the 'Users' group 'read & execute' permissions.
188238                 salt '*' file.set_perms C:\Temp\ "{'Users': {'perms': 'read_execute'}}"
188239
188240                 # Locally using salt call
188241                 salt-call file.set_perms C:\Temp\ "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
188242
188243                 # Specify advanced attributes with a list
188244                 salt '*' file.set_perms C:\Temp\ "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_only'}}"
188245
188246       salt.modules.win_file.stats(path,   hash_type=u'sha256',    follow_sym‐
188247       links=True)
188248              Return a dict containing the stats about a given file
188249
188250              Under Windows, gid will equal uid and group will equal user.
188251
188252              While a file in Windows does have a 'primary group', this rarely
188253              used attribute generally has no bearing  on  permissions  unless
188254              intentionally  configured  and is only used to support Unix com‐
188255              patibility features (e.g.  Services For Unix, NFS services).
188256
188257              Salt, therefore, remaps these properties to keep  some  kind  of
188258              compatibility  with  Unix  behavior.  If  the 'primary group' is
188259              required, it can be accessed in the pgroup and pgid properties.
188260
188261              Parameters
188262
188263                     · path (str) -- The path to the file or directory
188264
188265                     · hash_type (str) -- The type of hash to return
188266
188267                     · follow_symlinks (bool) -- If the  object  specified  by
188268                       path  is  a  symlink, get attributes of the linked file
188269                       instead of the symlink itself. Default is True
188270
188271              Returns
188272                     A dictionary of file/directory stats
188273
188274              Return type
188275                     dict
188276
188277              CLI Example:
188278
188279                 salt '*' file.stats /etc/passwd
188280
188281       salt.modules.win_file.symlink(src, link)
188282              Create a symbolic link to a file
188283
188284              This is only supported with Windows Vista or later and  must  be
188285              executed by a user with the SeCreateSymbolicLink privilege.
188286
188287              The  behavior of this function matches the Unix equivalent, with
188288              one exception - invalid symlinks cannot be created.  The  source
188289              path must exist.  If it doesn't, an error will be raised.
188290
188291              Parameters
188292
188293                     · src (str) -- The path to a file or directory
188294
188295                     · link (str) -- The path to the link
188296
188297              Returns
188298                     True if successful, otherwise False
188299
188300              Return type
188301                     bool
188302
188303              CLI Example:
188304
188305                 salt '*' file.symlink /path/to/file /path/to/link
188306
188307       salt.modules.win_file.uid_to_user(uid)
188308              Convert a uid to a user name
188309
188310              Parameters
188311                     uid (str) -- The user id to lookup
188312
188313              Returns
188314                     The name of the user
188315
188316              Return type
188317                     str
188318
188319              CLI Example:
188320
188321                 salt '*' file.uid_to_user S-1-5-21-626487655-2533044672-482107328-1010
188322
188323       salt.modules.win_file.user_to_uid(user)
188324              Convert user name to a uid
188325
188326              Parameters
188327                     user (str) -- The user to lookup
188328
188329              Returns
188330                     The user id of the user
188331
188332              Return type
188333                     str
188334
188335              CLI Example:
188336
188337                 salt '*' file.user_to_uid myusername
188338
188339   salt.modules.win_firewall
188340       Module for configuring Windows Firewall using netsh
188341
188342       salt.modules.win_firewall.add_rule(name,   localport,  protocol=u'tcp',
188343       action=u'allow', dir=u'in', remoteip=u'any')
188344              New in version 2015.5.0.
188345
188346
188347              Add a new inbound or outbound rule to the firewall policy
188348
188349              Parameters
188350
188351                     · name (str) -- The name of the rule. Must be unique  and
188352                       cannot be "all".  Required.
188353
188354                     · localport  (int)  -- The port the rule applies to. Must
188355                       be a number between 0 and 65535. Can be  a  range.  Can
188356                       specify multiple ports separated by commas. Required.
188357
188358                     · protocol (Optional[str]) --
188359
188360                       The protocol. Can be any of the following:
188361
188362                       · A number between 0 and 255
188363
188364                       · icmpv4
188365
188366                       · icmpv6
188367
188368                       · tcp
188369
188370                       · udp
188371
188372                       · any
188373
188374
188375                     · action (Optional[str]) --
188376
188377                       The action the rule performs. Can be any of the follow‐
188378                       ing:
188379
188380                       · allow
188381
188382                       · block
188383
188384                       · bypass
188385
188386
188387                     · dir (Optional[str]) -- The direction. Can be in or out.
188388
188389                     · remoteip (Optional [str]) --
188390
188391                       The remote IP. Can be any of the following:
188392
188393                       · any
188394
188395                       · localsubnet
188396
188397                       · dns
188398
188399                       · dhcp
188400
188401                       · wins
188402
188403                       · defaultgateway
188404
188405                       · Any valid IPv4 address (192.168.0.12)
188406
188407                       · Any           valid           IPv6            address
188408                         (2002:9b3b:1a31:4:208:74ff:fe39:6c43)
188409
188410                       · Any valid subnet (192.168.1.0/24)
188411
188412                       · Any      valid      range     of     IP     addresses
188413                         (192.168.0.1-192.168.0.12)
188414
188415                       · A list of valid IP addresses
188416
188417                       Can be combinations of the above separated by commas.
188418
188419
188420              Returns
188421                     True if successful
188422
188423              Return type
188424                     bool
188425
188426              Raises CommandExecutionError -- If the command fails
188427
188428              CLI Example:
188429
188430                 salt '*' firewall.add_rule 'test' '8080' 'tcp'
188431                 salt '*' firewall.add_rule 'test' '1' 'icmpv4'
188432                 salt '*' firewall.add_rule 'test_remote_ip' '8000' 'tcp' 'allow' 'in' '192.168.0.1'
188433
188434       salt.modules.win_firewall.delete_rule(name=None, localport=None, proto‐
188435       col=None, dir=None, remoteip=None)
188436              New in version 2015.8.0.
188437
188438
188439              Delete  an existing firewall rule identified by name and option‐
188440              ally by ports, protocols, direction, and remote IP.
188441
188442              Parameters
188443
188444                     · name (str) -- The name of the rule to  delete.  If  the
188445                       name  all  is  used you must specify additional parame‐
188446                       ters.
188447
188448                     · localport (Optional[str]) -- The port of the  rule.  If
188449                       protocol is not specified, protocol will be set to tcp
188450
188451                     · protocol  (Optional[str])  -- The protocol of the rule.
188452                       Default is tcp when localport is specified
188453
188454                     · dir (Optional[str]) -- The direction of the rule.
188455
188456                     · remoteip (Optional[str]) -- The remote IP of the rule.
188457
188458              Returns
188459                     True if successful
188460
188461              Return type
188462                     bool
188463
188464              Raises CommandExecutionError -- If the command fails
188465
188466              CLI Example:
188467
188468                 # Delete incoming tcp port 8080 in the rule named 'test'
188469                 salt '*' firewall.delete_rule 'test' '8080' 'tcp' 'in'
188470
188471                 # Delete the incoming tcp port 8000 from 192.168.0.1 in the rule named
188472                 # 'test_remote_ip'
188473                 salt '*' firewall.delete_rule 'test_remote_ip' '8000' 'tcp' 'in' '192.168.0.1'
188474
188475                 # Delete all rules for local port 80:
188476                 salt '*' firewall.delete_rule all 80 tcp
188477
188478                 # Delete a rule called 'allow80':
188479                 salt '*' firewall.delete_rule allow80
188480
188481       salt.modules.win_firewall.disable(profile=u'allprofiles')
188482              Disable firewall profile
188483
188484              Parameters
188485                     profile (Optional[str]) --
188486
188487                     The name of the profile to disable.  Default  is  allpro‐
188488                     files. Valid options are:
188489
188490                     · allprofiles
188491
188492                     · domainprofile
188493
188494                     · privateprofile
188495
188496                     · publicprofile
188497
188498
188499              Returns
188500                     True if successful
188501
188502              Return type
188503                     bool
188504
188505              Raises CommandExecutionError -- If the command fails
188506
188507              CLI Example:
188508
188509                 salt '*' firewall.disable
188510
188511       salt.modules.win_firewall.enable(profile=u'allprofiles')
188512              New in version 2015.5.0.
188513
188514
188515              Enable firewall profile
188516
188517              Parameters
188518                     profile (Optional[str]) --
188519
188520                     The  name  of  the  profile to enable. Default is allpro‐
188521                     files. Valid options are:
188522
188523                     · allprofiles
188524
188525                     · domainprofile
188526
188527                     · privateprofile
188528
188529                     · publicprofile
188530
188531
188532              Returns
188533                     True if successful
188534
188535              Return type
188536                     bool
188537
188538              Raises CommandExecutionError -- If the command fails
188539
188540              CLI Example:
188541
188542                 salt '*' firewall.enable
188543
188544       salt.modules.win_firewall.get_all_profiles(store=u'local')
188545              Gets all properties for all profiles in the specified store
188546
188547              New in version 2018.3.4.
188548
188549
188550              New in version 2019.2.0.
188551
188552
188553              Parameters
188554                     store (str) --
188555
188556                     The store to use. This is either the local firewall  pol‐
188557                     icy  or  the  policy defined by local group policy. Valid
188558                     options are:
188559
188560                     · lgpo
188561
188562                     · local
188563
188564                     Default is local
188565
188566
188567              Returns
188568                     A dictionary containing the specified settings  for  each
188569                     profile
188570
188571              Return type
188572                     dict
188573
188574              CLI Example:
188575
188576                 # Get all firewall settings for all profiles
188577                 salt * firewall.get_all_settings
188578
188579                 # Get all firewall settings for all profiles as defined by local group
188580                 # policy
188581
188582                 salt * firewall.get_all_settings lgpo
188583
188584       salt.modules.win_firewall.get_all_settings(domain, store=u'local')
188585              Gets  all the properties for the specified profile in the speci‐
188586              fied store
188587
188588              New in version 2018.3.4.
188589
188590
188591              New in version 2019.2.0.
188592
188593
188594              Parameters
188595
188596                     · profile (str) --
188597
188598                       The firewall profile to query. Valid options are:
188599
188600                       · domain
188601
188602                       · public
188603
188604                       · private
188605
188606
188607                     · store (str) --
188608
188609                       The store to use. This is  either  the  local  firewall
188610                       policy  or  the  policy  defined by local group policy.
188611                       Valid options are:
188612
188613                       · lgpo
188614
188615                       · local
188616
188617                       Default is local
188618
188619
188620              Returns
188621                     A dictionary containing the specified settings
188622
188623              Return type
188624                     dict
188625
188626              CLI Example:
188627
188628                 # Get all firewall settings for connections on the domain profile
188629                 salt * win_firewall.get_all_settings domain
188630
188631                 # Get all firewall settings for connections on the domain profile as
188632                 # defined by local group policy
188633                 salt * win_firewall.get_all_settings domain lgpo
188634
188635       salt.modules.win_firewall.get_config()
188636              Get the status of all the firewall profiles
188637
188638              Returns
188639                     A dictionary of all profiles on the system
188640
188641              Return type
188642                     dict
188643
188644              Raises CommandExecutionError -- If the command fails
188645
188646              CLI Example:
188647
188648                 salt '*' firewall.get_config
188649
188650       salt.modules.win_firewall.get_rule(name=u'all')
188651              New in version 2015.5.0.
188652
188653
188654              Display all matching rules as specified by name
188655
188656              Parameters
188657                     name (Optional[str]) -- The full name of  the  rule.  all
188658                     will return all rules. Default is all
188659
188660              Returns
188661                     A  dictionary  of  all rules or rules that match the name
188662                     exactly
188663
188664              Return type
188665                     dict
188666
188667              Raises CommandExecutionError -- If the command fails
188668
188669              CLI Example:
188670
188671                 salt '*' firewall.get_rule 'MyAppPort'
188672
188673       salt.modules.win_firewall.get_settings(profile,                section,
188674       store=u'local')
188675              Get  the  firewall  property  from  the specified profile in the
188676              specified store as returned by netsh advfirewall.
188677
188678              New in version 2018.3.4.
188679
188680
188681              New in version 2019.2.0.
188682
188683
188684              Parameters
188685
188686                     · profile (str) --
188687
188688                       The firewall profile to query. Valid options are:
188689
188690                       · domain
188691
188692                       · public
188693
188694                       · private
188695
188696
188697                     · section (str) --
188698
188699                       The property to  query  within  the  selected  profile.
188700                       Valid options are:
188701
188702                       · firewallpolicy : inbound/outbound behavior
188703
188704                       · logging : firewall logging settings
188705
188706                       · settings : firewall properties
188707
188708                       · state : firewalls state (on | off)
188709
188710
188711                     · store (str) --
188712
188713                       The  store  to  use.  This is either the local firewall
188714                       policy or the policy defined  by  local  group  policy.
188715                       Valid options are:
188716
188717                       · lgpo
188718
188719                       · local
188720
188721                       Default is local
188722
188723
188724              Returns
188725                     A  dictionary containing the properties for the specified
188726                     profile
188727
188728              Return type
188729                     dict
188730
188731              Raises
188732
188733                     · CommandExecutionError -- If an error occurs
188734
188735                     · ValueError -- If the parameters are incorrect
188736
188737              CLI Example:
188738
188739                 # Get the inbound/outbound firewall settings for connections on the
188740                 # local domain profile
188741                 salt * win_firewall.get_settings domain firewallpolicy
188742
188743                 # Get the inbound/outbound firewall settings for connections on the
188744                 # domain profile as defined by local group policy
188745                 salt * win_firewall.get_settings domain firewallpolicy lgpo
188746
188747       salt.modules.win_firewall.rule_exists(name)
188748              New in version 2016.11.6.
188749
188750
188751              Checks if a firewall rule exists in the firewall policy
188752
188753              Parameters
188754                     name (str) -- The name of the rule
188755
188756              Returns
188757                     True if exists, otherwise False
188758
188759              Return type
188760                     bool
188761
188762              CLI Example:
188763
188764                 # Is there a rule named RemoteDesktop
188765                 salt '*' firewall.rule_exists RemoteDesktop
188766
188767       salt.modules.win_firewall.set_firewall_settings(profile,  inbound=None,
188768       outbound=None, store=u'local')
188769              Set  the  firewall  inbound/outbound  settings for the specified
188770              profile and store
188771
188772              New in version 2018.3.4.
188773
188774
188775              New in version 2019.2.0.
188776
188777
188778              Parameters
188779
188780                     · profile (str) --
188781
188782                       The firewall profile to query. Valid options are:
188783
188784                       · domain
188785
188786                       · public
188787
188788                       · private
188789
188790
188791                     · inbound (str) --
188792
188793                       The inbound setting. If None  is  passed,  the  setting
188794                       will remain unchanged. Valid values are:
188795
188796                       · blockinbound
188797
188798                       · blockinboundalways
188799
188800                       · allowinbound
188801
188802                       · notconfigured
188803
188804                       Default is None
188805
188806
188807                     · outbound (str) --
188808
188809                       The  outbound  setting.  If None is passed, the setting
188810                       will remain unchanged. Valid values are:
188811
188812                       · allowoutbound
188813
188814                       · blockoutbound
188815
188816                       · notconfigured
188817
188818                       Default is None
188819
188820
188821                     · store (str) --
188822
188823                       The store to use. This is  either  the  local  firewall
188824                       policy  or  the  policy  defined by local group policy.
188825                       Valid options are:
188826
188827                       · lgpo
188828
188829                       · local
188830
188831                       Default is local
188832
188833
188834              Returns
188835                     True if successful
188836
188837              Return type
188838                     bool
188839
188840              Raises
188841
188842                     · CommandExecutionError -- If an error occurs
188843
188844                     · ValueError -- If the parameters are incorrect
188845
188846              CLI Example:
188847
188848                 # Set the inbound setting for the domain profile to block inbound
188849                 # connections
188850                 salt * firewall.set_firewall_settings domain='domain' inbound='blockinbound'
188851
188852                 # Set the outbound setting for the domain profile to allow outbound
188853                 # connections
188854                 salt * firewall.set_firewall_settings domain='domain' outbound='allowoutbound'
188855
188856                 # Set inbound/outbound settings for the domain profile in the group
188857                 # policy to block inbound and allow outbound
188858                 salt * firewall.set_firewall_settings domain='domain' inbound='blockinbound' outbound='allowoutbound' store='lgpo'
188859
188860       salt.modules.win_firewall.set_logging_settings(profile, setting, value,
188861       store=u'local')
188862              Configure logging settings for the Windows firewall.
188863
188864              New in version 2018.3.4.
188865
188866
188867              New in version 2019.2.0.
188868
188869
188870              Parameters
188871
188872                     · profile (str) --
188873
188874                       The firewall profile to configure. Valid options are:
188875
188876                       · domain
188877
188878                       · public
188879
188880                       · private
188881
188882
188883                     · setting (str) --
188884
188885                       The logging setting to configure. Valid options are:
188886
188887                       · allowedconnections
188888
188889                       · droppedconnections
188890
188891                       · filename
188892
188893                       · maxfilesize
188894
188895
188896                     · value (str) --
188897
188898                       The  value  to  apply  to the setting. Valid values are
188899                       dependent upon  the  setting  being  configured.  Valid
188900                       options are:
188901
188902                       allowedconnections:
188903
188904                          · enable
188905
188906                          · disable
188907
188908                          · notconfigured
188909
188910                       droppedconnections:
188911
188912                          · enable
188913
188914                          · disable
188915
188916                          · notconfigured
188917
188918                       filename:
188919
188920                          · Full path and name of the firewall log file
188921
188922                          · notconfigured
188923
188924                       maxfilesize:
188925
188926                          · 1 - 32767
188927
188928                          · notconfigured
188929
188930                       NOTE:
188931                          notconfigured  can  only be used when using the lgpo
188932                          store
188933
188934
188935                     · store (str) --
188936
188937                       The store to use. This is  either  the  local  firewall
188938                       policy  or  the  policy  defined by local group policy.
188939                       Valid options are:
188940
188941                       · lgpo
188942
188943                       · local
188944
188945                       Default is local
188946
188947
188948              Returns
188949                     True if successful
188950
188951              Return type
188952                     bool
188953
188954              Raises
188955
188956                     · CommandExecutionError -- If an error occurs
188957
188958                     · ValueError -- If the parameters are incorrect
188959
188960              CLI Example:
188961
188962                 # Log allowed connections and set that in local group policy
188963                 salt * firewall.set_logging_settings domain allowedconnections enable lgpo
188964
188965                 # Don't log dropped connections
188966                 salt * firewall.set_logging_settings profile=private setting=droppedconnections value=disable
188967
188968                 # Set the location of the log file
188969                 salt * firewall.set_logging_settings domain filename C:\windows\logs\firewall.log
188970
188971                 # You can also use environment variables
188972                 salt * firewall.set_logging_settings domain filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log
188973
188974                 # Set the max file size of the log to 2048 Kb
188975                 salt * firewall.set_logging_settings domain maxfilesize 2048
188976
188977       salt.modules.win_firewall.set_settings(profile,     setting,     value,
188978       store=u'local')
188979              Configure firewall settings.
188980
188981              New in version 2018.3.4.
188982
188983
188984              New in version 2019.2.0.
188985
188986
188987              Parameters
188988
188989                     · profile (str) --
188990
188991                       The firewall profile to configure. Valid options are:
188992
188993                       · domain
188994
188995                       · public
188996
188997                       · private
188998
188999
189000                     · setting (str) --
189001
189002                       The firewall setting to configure. Valid options are:
189003
189004                       · localfirewallrules
189005
189006                       · localconsecrules
189007
189008                       · inboundusernotification
189009
189010                       · remotemanagement
189011
189012                       · unicastresponsetomulticast
189013
189014
189015                     · value (str) --
189016
189017                       The value to apply to the setting. Valid options are
189018
189019                       · enable
189020
189021                       · disable
189022
189023                       · notconfigured
189024
189025                       NOTE:
189026                          notconfigured  can  only be used when using the lgpo
189027                          store
189028
189029
189030                     · store (str) --
189031
189032                       The store to use. This is  either  the  local  firewall
189033                       policy  or  the  policy  defined by local group policy.
189034                       Valid options are:
189035
189036                       · lgpo
189037
189038                       · local
189039
189040                       Default is local
189041
189042
189043              Returns
189044                     True if successful
189045
189046              Return type
189047                     bool
189048
189049              Raises
189050
189051                     · CommandExecutionError -- If an error occurs
189052
189053                     · ValueError -- If the parameters are incorrect
189054
189055              CLI Example:
189056
189057                 # Merge local rules with those distributed through group policy
189058                 salt * firewall.set_settings domain localfirewallrules enable
189059
189060                 # Allow remote management of Windows Firewall
189061                 salt * firewall.set_settings domain remotemanagement enable
189062
189063       salt.modules.win_firewall.set_state(profile, state, store=u'local')
189064              Configure the firewall state.
189065
189066              New in version 2018.3.4.
189067
189068
189069              New in version 2019.2.0.
189070
189071
189072              Parameters
189073
189074                     · profile (str) --
189075
189076                       The firewall profile to configure. Valid options are:
189077
189078                       · domain
189079
189080                       · public
189081
189082                       · private
189083
189084
189085                     · state (str) --
189086
189087                       The firewall state. Valid options are:
189088
189089                       · on
189090
189091                       · off
189092
189093                       · notconfigured
189094
189095                       NOTE:
189096                          notconfigured can only be used when using  the  lgpo
189097                          store
189098
189099
189100                     · store (str) --
189101
189102                       The  store  to  use.  This is either the local firewall
189103                       policy or the policy defined  by  local  group  policy.
189104                       Valid options are:
189105
189106                       · lgpo
189107
189108                       · local
189109
189110                       Default is local
189111
189112
189113              Returns
189114                     True if successful
189115
189116              Return type
189117                     bool
189118
189119              Raises
189120
189121                     · CommandExecutionError -- If an error occurs
189122
189123                     · ValueError -- If the parameters are incorrect
189124
189125              CLI Example:
189126
189127                 # Turn the firewall off when the domain profile is active
189128                 salt * firewall.set_state domain off
189129
189130                 # Turn the firewall on when the public profile is active and set that in
189131                 # the local group policy
189132                 salt * firewall.set_state public on lgpo
189133
189134   salt.modules.win_groupadd
189135       Manage groups on Windows
189136
189137       IMPORTANT:
189138          If  you  feel that Salt should be using this module to manage groups
189139          on a minion, and it is using a different module (or gives  an  error
189140          similar to 'group.info' is not available), see here.
189141
189142       salt.modules.win_groupadd.add(name, **kwargs)
189143              Add the specified group
189144
189145              Parameters
189146                     name (str) -- The name of the group to add
189147
189148              Returns
189149                     True if successful, otherwise False
189150
189151              Return type
189152                     bool
189153
189154              CLI Example:
189155
189156                 salt '*' group.add foo
189157
189158       salt.modules.win_groupadd.adduser(name, username, **kwargs)
189159              Add a user to a group
189160
189161              Parameters
189162
189163                     · name (str) -- The name of the group to modify
189164
189165                     · username  (str)  --  The name of the user to add to the
189166                       group
189167
189168              Returns
189169                     True if successful, otherwise False
189170
189171              Return type
189172                     bool
189173
189174              CLI Example:
189175
189176                 salt '*' group.adduser foo username
189177
189178       salt.modules.win_groupadd.delete(name, **kwargs)
189179              Remove the named group
189180
189181              Parameters
189182                     name (str) -- The name of the group to remove
189183
189184              Returns
189185                     True if successful, otherwise False
189186
189187              Return type
189188                     bool
189189
189190              CLI Example:
189191
189192                 salt '*' group.delete foo
189193
189194       salt.modules.win_groupadd.deluser(name, username, **kwargs)
189195              Remove a user from a group
189196
189197              Parameters
189198
189199                     · name (str) -- The name of the group to modify
189200
189201                     · username (str) -- The name of the user to  remove  from
189202                       the group
189203
189204              Returns
189205                     True if successful, otherwise False
189206
189207              Return type
189208                     bool
189209
189210              CLI Example:
189211
189212                 salt '*' group.deluser foo username
189213
189214       salt.modules.win_groupadd.getent(refresh=False)
189215              Return info on all groups
189216
189217              Parameters
189218                     refresh  (bool)  --  Refresh  the  info for all groups in
189219                     __context__. If False only the groups in __context__ will
189220                     be  returned.  If  True the __context__ will be refreshed
189221                     with current data and returned.  Default is False
189222
189223              Returns
189224                     A list of groups and their information
189225
189226              CLI Example:
189227
189228                 salt '*' group.getent
189229
189230       salt.modules.win_groupadd.info(name)
189231              Return information about a group
189232
189233              Parameters
189234                     name (str) -- The name of the  group  for  which  to  get
189235                     information
189236
189237              Returns
189238                     A dictionary of information about the group
189239
189240              Return type
189241                     dict
189242
189243              CLI Example:
189244
189245                 salt '*' group.info foo
189246
189247       salt.modules.win_groupadd.list_groups(refresh=False)
189248              Return a list of groups
189249
189250              Parameters
189251                     refresh  (bool)  --  Refresh  the  info for all groups in
189252                     __context__. If False only the groups in __context__ will
189253                     be  returned.  If True, the __context__ will be refreshed
189254                     with current data and returned.  Default is False
189255
189256              Returns
189257                     A list of groups on the machine
189258
189259              Return type
189260                     list
189261
189262              CLI Example:
189263
189264                 salt '*' group.list_groups
189265
189266       salt.modules.win_groupadd.members(name, members_list, **kwargs)
189267              Ensure a group contains only the members in the list
189268
189269              Parameters
189270
189271                     · name (str) -- The name of the group to modify
189272
189273                     · members_list (str) -- A single user or  a  comma  sepa‐
189274                       rated  list  of  users. The group will contain only the
189275                       users specified in this list.
189276
189277              Returns
189278                     True if successful, otherwise False
189279
189280              Return type
189281                     bool
189282
189283              CLI Example:
189284
189285                 salt '*' group.members foo 'user1,user2,user3'
189286
189287   salt.modules.win_iis module
189288       Microsoft IIS site management via WebAdministration powershell module
189289
189290       maintainer
189291              Shane    Lee    <slee@saltstack.com>,    Robert     Booth     <‐
189292              rbooth@saltstack.com>
189293
189294       platform
189295              Windows
189296
189297       depends
189298              PowerShell
189299
189300       depends
189301              WebAdministration module (PowerShell) (IIS)
189302
189303       New in version 2016.3.0.
189304
189305
189306       salt.modules.win_iis.create_app(name, site, sourcepath, apppool=None)
189307              Create an IIS application.
189308
189309              NOTE:
189310                 This  function  only  validates against the application name,
189311                 and will return True even if the application  already  exists
189312                 with  a  different configuration. It will not modify the con‐
189313                 figuration of an existing application.
189314
189315              Parameters
189316
189317                     · name (str) -- The IIS application.
189318
189319                     · site (str) -- The IIS site name.
189320
189321                     · sourcepath (str) -- The physical path.
189322
189323                     · apppool (str) -- The name of the IIS application pool.
189324
189325              Returns
189326                     True if successful, otherwise False
189327
189328              Return type
189329                     bool
189330
189331              CLI Example:
189332
189333                 salt '*' win_iis.create_app name='app0' site='site0' sourcepath='C:\site0' apppool='site0'
189334
189335       salt.modules.win_iis.create_apppool(name)
189336              Create an IIS application pool.
189337
189338              NOTE:
189339                 This function only validates  against  the  application  pool
189340                 name,  and  will  return  True  even  if the application pool
189341                 already exists with a different configuration.  It  will  not
189342                 modify the configuration of an existing application pool.
189343
189344              Parameters
189345                     name (str) -- The name of the IIS application pool.
189346
189347              Returns
189348                     True if successful, otherwise False
189349
189350              Return type
189351                     bool
189352
189353              CLI Example:
189354
189355                 salt '*' win_iis.create_apppool name='MyTestPool'
189356
189357       salt.modules.win_iis.create_backup(name)
189358              Backup an IIS Configuration on the System.
189359
189360              New in version 2017.7.0.
189361
189362
189363              NOTE:
189364                 Backups are stored in the $env:Windir\System32\inetsrv\backup
189365                 folder.
189366
189367              Parameters
189368                     name (str) -- The name to give the backup
189369
189370              Returns
189371                     True if successful, otherwise False
189372
189373              Return type
189374                     bool
189375
189376              CLI Example:
189377
189378                 salt '*' win_iis.create_backup good_config_20170209
189379
189380       salt.modules.win_iis.create_binding(site,     hostheader=u'',     ipad‐
189381       dress=u'*', port=80, protocol=u'http', sslflags=None)
189382              Create an IIS Web Binding.
189383
189384              NOTE:
189385                 This  function  only  validates  against  the  binding  ipad‐
189386                 dress:port:hostheader combination, and will return True  even
189387                 if the binding already exists with a different configuration.
189388                 It will not modify the configuration of an existing binding.
189389
189390              Parameters
189391
189392                     · site (str) -- The IIS site name.
189393
189394                     · hostheader (str) -- The host  header  of  the  binding.
189395                       Usually a hostname.
189396
189397                     · ipaddress (str) -- The IP address of the binding.
189398
189399                     · port (int) -- The TCP port of the binding.
189400
189401                     · protocol (str) -- The application protocol of the bind‐
189402                       ing.
189403
189404                     · sslflags (str) -- The  flags  representing  certificate
189405                       type and storage of the binding.
189406
189407              Returns
189408                     True if successful, otherwise False
189409
189410              Return type
189411                     bool
189412
189413              CLI Example:
189414
189415                 salt '*' win_iis.create_binding site='site0' hostheader='example.com' ipaddress='*' port='80'
189416
189417       salt.modules.win_iis.create_cert_binding(name,   site,  hostheader=u'',
189418       ipaddress=u'*', port=443, sslflags=0)
189419              Assign a certificate to an IIS Web Binding.
189420
189421              New in version 2016.11.0.
189422
189423
189424              NOTE:
189425                 The web binding that the certificate  is  being  assigned  to
189426                 must already exist.
189427
189428              Parameters
189429
189430                     · name (str) -- The thumbprint of the certificate.
189431
189432                     · site (str) -- The IIS site name.
189433
189434                     · hostheader (str) -- The host header of the binding.
189435
189436                     · ipaddress (str) -- The IP address of the binding.
189437
189438                     · port (int) -- The TCP port of the binding.
189439
189440                     · sslflags  (int)  -- Flags representing certificate type
189441                       and certificate storage of the binding.
189442
189443              Returns
189444                     True if successful, otherwise False
189445
189446              Return type
189447                     bool
189448
189449              CLI Example:
189450
189451                 salt '*' win_iis.create_cert_binding name='AAA000' site='site0' hostheader='example.com' ipaddress='*' port='443'
189452
189453       salt.modules.win_iis.create_site(name, sourcepath,  apppool=u'',  host‐
189454       header=u'', ipaddress=u'*', port=80, protocol=u'http')
189455              Create a basic website in IIS.
189456
189457              NOTE:
189458                 This  function only validates against the site name, and will
189459                 return True even if the site already exists with a  different
189460                 configuration.  It  will  not  modify the configuration of an
189461                 existing site.
189462
189463              Parameters
189464
189465                     · name (str) -- The IIS site name.
189466
189467                     · sourcepath (str) -- The physical path of the IIS site.
189468
189469                     · apppool (str) -- The name of the IIS application pool.
189470
189471                     · hostheader (str) -- The host  header  of  the  binding.
189472                       Usually  the  hostname  or  website  name, ie: www.con‐
189473                       toso.com
189474
189475                     · ipaddress (str) -- The IP address of the binding.
189476
189477                     · port (int) -- The TCP port of the binding.
189478
189479                     · protocol (str) -- The application protocol of the bind‐
189480                       ing. (http, https, etc.)
189481
189482              Returns
189483                     True if successful, otherwise False.
189484
189485              Return type
189486                     bool
189487
189488              NOTE:
189489                 If  an  application  pool  is specified, and that application
189490                 pool does not already exist, it will be created.
189491
189492              CLI Example:
189493
189494                 salt '*' win_iis.create_site name='My Test Site' sourcepath='c:\stage' apppool='TestPool'
189495
189496       salt.modules.win_iis.create_vdir(name, site, sourcepath, app=u'/')
189497              Create an IIS virtual directory.
189498
189499              NOTE:
189500                 This function only validates against  the  virtual  directory
189501                 name,  and  will  return  True  even if the virtual directory
189502                 already exists with a different configuration.  It  will  not
189503                 modify the configuration of an existing virtual directory.
189504
189505              Parameters
189506
189507                     · name (str) -- The virtual directory name.
189508
189509                     · site (str) -- The IIS site name.
189510
189511                     · sourcepath (str) -- The physical path.
189512
189513                     · app (str) -- The IIS application.
189514
189515              Returns
189516                     True if successful, otherwise False
189517
189518              Return type
189519                     bool
189520
189521              CLI Example:
189522
189523                 salt '*' win_iis.create_vdir name='vd0' site='site0' sourcepath='C:\inetpub\vdirs\vd0'
189524
189525       salt.modules.win_iis.get_container_setting(name, container, settings)
189526              Get the value of the setting for the IIS container.
189527
189528              New in version 2016.11.0.
189529
189530
189531              Parameters
189532
189533                     · name (str) -- The name of the IIS container.
189534
189535                     · container  (str) -- The type of IIS container. The con‐
189536                       tainer types are: AppPools, Sites, SslBindings
189537
189538                     · settings (dict) -- A dictionary of  the  setting  names
189539                       and their values.
189540
189541              Returns
189542                     A dictionary of the provided settings and their values.
189543
189544              Return type
189545                     dict
189546
189547              CLI Example:
189548
189549                 salt '*' win_iis.get_container_setting name='MyTestPool' container='AppPools'
189550                     settings="['processModel.identityType']"
189551
189552       salt.modules.win_iis.get_webapp_settings(name, site, settings)
189553              New in version 2017.7.0.
189554
189555
189556              Get the value of the setting for the IIS web application.
189557
189558              NOTE:
189559                 Params are case sensitive
189560
189561              Parameters
189562
189563                     · name (str) -- The name of the IIS web application.
189564
189565                     · site  (str)  -- The site name contains the web applica‐
189566                       tion.  Example: Default Web Site
189567
189568                     · settings (str) -- A dictionary of the setting names and
189569                       their values.  Available settings: physicalPath, appli‐
189570                       cationPool, userName, password
189571
189572              Returns
189573                     A dictionary of the provided settings and their values.
189574
189575              Return type
189576                     dict
189577
189578              CLI Example:
189579
189580                 salt '*' win_iis.get_webapp_settings name='app0' site='Default Web Site'
189581                     settings="['physicalPath','applicationPool']"
189582
189583       salt.modules.win_iis.get_webconfiguration_settings(name, settings)
189584              Get the webconfiguration settings for the IIS PSPath.
189585
189586              Parameters
189587
189588                     · name (str) -- The PSPath of  the  IIS  webconfiguration
189589                       settings.
189590
189591                     · settings  (list)  --  A list of dictionaries containing
189592                       setting name and filter.
189593
189594              Returns
189595                     A list of dictionaries containing  setting  name,  filter
189596                     and value.
189597
189598              Return type
189599                     dict
189600
189601              CLI Example:
189602
189603                 salt '*' win_iis.get_webconfiguration_settings name='IIS:\' settings="[{'name': 'enabled', 'filter': 'system.webServer/security/authentication/anonymousAuthentication'}]"
189604
189605       salt.modules.win_iis.list_apppools()
189606              List all configured IIS application pools.
189607
189608              Returns
189609                     A dictionary of IIS application pools and their details.
189610
189611              Return type
189612                     dict
189613
189614              CLI Example:
189615
189616                 salt '*' win_iis.list_apppools
189617
189618       salt.modules.win_iis.list_apps(site)
189619              Get all configured IIS applications for the specified site.
189620
189621              Parameters
189622                     site (str) -- The IIS site name.
189623
189624              Returns: A dictionary of the application names and properties.
189625
189626              CLI Example:
189627
189628                 salt '*' win_iis.list_apps site
189629
189630       salt.modules.win_iis.list_backups()
189631              List the IIS Configuration Backups on the System.
189632
189633              New in version 2017.7.0.
189634
189635
189636              NOTE:
189637                 Backups are made when a configuration is edited. Manual back‐
189638                 ups are  stored  in  the  $env:Windir\System32\inetsrv\backup
189639                 folder.
189640
189641              Returns
189642                     A  dictionary of IIS Configurations backed up on the sys‐
189643                     tem.
189644
189645              Return type
189646                     dict
189647
189648              CLI Example:
189649
189650                 salt '*' win_iis.list_backups
189651
189652       salt.modules.win_iis.list_bindings(site)
189653              Get all configured IIS bindings for the specified site.
189654
189655              Parameters
189656                     site (str) -- The name if the IIS Site
189657
189658              Returns
189659                     A dictionary of the binding names and properties.
189660
189661              Return type
189662                     dict
189663
189664              CLI Example:
189665
189666                 salt '*' win_iis.list_bindings site
189667
189668       salt.modules.win_iis.list_cert_bindings(site)
189669              List certificate bindings for an IIS site.
189670
189671              New in version 2016.11.0.
189672
189673
189674              Parameters
189675                     site (str) -- The IIS site name.
189676
189677              Returns
189678                     A dictionary of the binding names and properties.
189679
189680              Return type
189681                     dict
189682
189683              CLI Example:
189684
189685                 salt '*' win_iis.list_bindings site
189686
189687       salt.modules.win_iis.list_sites()
189688              List all the currently deployed websites.
189689
189690              Returns
189691                     A dictionary of the IIS sites and their properties.
189692
189693              Return type
189694                     dict
189695
189696              CLI Example:
189697
189698                 salt '*' win_iis.list_sites
189699
189700       salt.modules.win_iis.list_vdirs(site, app=u'/')
189701              Get all configured IIS virtual  directories  for  the  specified
189702              site, or for the combination of site and application.
189703
189704              Parameters
189705
189706                     · site (str) -- The IIS site name.
189707
189708                     · app (str) -- The IIS application.
189709
189710              Returns
189711                     A  dictionary  of the virtual directory names and proper‐
189712                     ties.
189713
189714              Return type
189715                     dict
189716
189717              CLI Example:
189718
189719                 salt '*' win_iis.list_vdirs site
189720
189721       salt.modules.win_iis.list_worker_processes(apppool)
189722              Returns a list of worker processes that correspond to the passed
189723              application pool.
189724
189725              New in version 2017.7.0.
189726
189727
189728              Parameters
189729                     apppool (str) -- The application pool to query
189730
189731              Returns
189732                     A dictionary of worker processes with their process IDs
189733
189734              Return type
189735                     dict
189736
189737              CLI Example:
189738
189739                 salt '*' win_iis.list_worker_processes 'My App Pool'
189740
189741       salt.modules.win_iis.modify_binding(site,   binding,   hostheader=None,
189742       ipaddress=None, port=None, sslflags=None)
189743              Modify an IIS Web Binding. Use site and binding  to  target  the
189744              binding.
189745
189746              New in version 2017.7.0.
189747
189748
189749              Parameters
189750
189751                     · site (str) -- The IIS site name.
189752
189753                     · binding  (str) -- The binding to edit. This is a combi‐
189754                       nation of the IP address, port, and hostheader.  It  is
189755                       in the following format: ipaddress:port:hostheader. For
189756                       example, *:80: or *:80:salt.com
189757
189758                     · hostheader (str) -- The host  header  of  the  binding.
189759                       Usually the hostname.
189760
189761                     · ipaddress (str) -- The IP address of the binding.
189762
189763                     · port (int) -- The TCP port of the binding.
189764
189765                     · sslflags  (str)  --  The flags representing certificate
189766                       type and storage of the binding.
189767
189768              Returns
189769                     True if successful, otherwise False
189770
189771              Return type
189772                     bool
189773
189774              CLI Example:
189775
189776              The following will seat the host header  of  binding  *:80:  for
189777              site0 to example.com
189778
189779                 salt '*' win_iis.modify_binding site='site0' binding='*:80:' hostheader='example.com'
189780
189781       salt.modules.win_iis.modify_site(name, sourcepath=None, apppool=None)
189782              Modify a basic website in IIS.
189783
189784              New in version 2017.7.0.
189785
189786
189787              Parameters
189788
189789                     · name (str) -- The IIS site name.
189790
189791                     · sourcepath (str) -- The physical path of the IIS site.
189792
189793                     · apppool (str) -- The name of the IIS application pool.
189794
189795              Returns
189796                     True if successful, otherwise False.
189797
189798              Return type
189799                     bool
189800
189801              NOTE:
189802                 If  an  application  pool  is specified, and that application
189803                 pool does not already exist, it will be created.
189804
189805              CLI Example:
189806
189807                 salt '*' win_iis.modify_site name='My Test Site' sourcepath='c:\new_path' apppool='NewTestPool'
189808
189809       salt.modules.win_iis.remove_app(name, site)
189810              Remove an IIS application.
189811
189812              Parameters
189813
189814                     · name (str) -- The application name.
189815
189816                     · site (str) -- The IIS site name.
189817
189818              Returns
189819                     True if successful, otherwise False
189820
189821              Return type
189822                     bool
189823
189824              CLI Example:
189825
189826                 salt '*' win_iis.remove_app name='app0' site='site0'
189827
189828       salt.modules.win_iis.remove_apppool(name)
189829              Remove an IIS application pool.
189830
189831              Parameters
189832                     name (str) -- The name of the IIS application pool.
189833
189834              Returns
189835                     True if successful, otherwise False
189836
189837              Return type
189838                     bool
189839
189840              CLI Example:
189841
189842                 salt '*' win_iis.remove_apppool name='MyTestPool'
189843
189844       salt.modules.win_iis.remove_backup(name)
189845              Remove an IIS Configuration backup from the System.
189846
189847              New in version 2017.7.0.
189848
189849
189850              Parameters
189851                     name (str) -- The name of the backup to remove
189852
189853              Returns
189854                     True if successful, otherwise False
189855
189856              Return type
189857                     bool
189858
189859              CLI Example:
189860
189861                 salt '*' win_iis.remove_backup backup_20170209
189862
189863       salt.modules.win_iis.remove_binding(site,     hostheader=u'',     ipad‐
189864       dress=u'*', port=80)
189865              Remove an IIS binding.
189866
189867              Parameters
189868
189869                     · site (str) -- The IIS site name.
189870
189871                     · hostheader (str) -- The host header of the binding.
189872
189873                     · ipaddress (str) -- The IP address of the binding.
189874
189875                     · port (int) -- The TCP port of the binding.
189876
189877              Returns
189878                     True if successful, otherwise False
189879
189880              Return type
189881                     bool
189882
189883              CLI Example:
189884
189885                 salt '*' win_iis.remove_binding site='site0' hostheader='example.com' ipaddress='*' port='80'
189886
189887       salt.modules.win_iis.remove_cert_binding(name,   site,  hostheader=u'',
189888       ipaddress=u'*', port=443)
189889              Remove a certificate from an IIS Web Binding.
189890
189891              New in version 2016.11.0.
189892
189893
189894              NOTE:
189895                 This function only removes the certificate from the web bind‐
189896                 ing. It does not remove the web binding itself.
189897
189898              Parameters
189899
189900                     · name (str) -- The thumbprint of the certificate.
189901
189902                     · site (str) -- The IIS site name.
189903
189904                     · hostheader (str) -- The host header of the binding.
189905
189906                     · ipaddress (str) -- The IP address of the binding.
189907
189908                     · port (int) -- The TCP port of the binding.
189909
189910              Returns
189911                     True if successful, otherwise False
189912
189913              Return type
189914                     bool
189915
189916              CLI Example:
189917
189918                 salt '*' win_iis.remove_cert_binding name='AAA000' site='site0' hostheader='example.com' ipaddress='*' port='443'
189919
189920       salt.modules.win_iis.remove_site(name)
189921              Delete a website from IIS.
189922
189923              Parameters
189924                     name (str) -- The IIS site name.
189925
189926              Returns
189927                     True if successful, otherwise False
189928
189929              Return type
189930                     bool
189931
189932              NOTE:
189933                 This will not remove the application pool used by the site.
189934
189935              CLI Example:
189936
189937                 salt '*' win_iis.remove_site name='My Test Site'
189938
189939       salt.modules.win_iis.remove_vdir(name, site, app=u'/')
189940              Remove an IIS virtual directory.
189941
189942              Parameters
189943
189944                     · name (str) -- The virtual directory name.
189945
189946                     · site (str) -- The IIS site name.
189947
189948                     · app (str) -- The IIS application.
189949
189950              Returns
189951                     True if successful, otherwise False
189952
189953              Return type
189954                     bool
189955
189956              CLI Example:
189957
189958                 salt '*' win_iis.remove_vdir name='vdir0' site='site0'
189959
189960       salt.modules.win_iis.restart_apppool(name)
189961              Restart an IIS application pool.
189962
189963              New in version 2016.11.0.
189964
189965
189966              Parameters
189967                     name (str) -- The name of the IIS application pool.
189968
189969              Returns
189970                     True if successful, otherwise False
189971
189972              Return type
189973                     bool
189974
189975              CLI Example:
189976
189977                 salt '*' win_iis.restart_apppool name='MyTestPool'
189978
189979       salt.modules.win_iis.restart_site(name)
189980              Restart a Web Site in IIS.
189981
189982              New in version 2017.7.0.
189983
189984
189985              Parameters
189986                     name (str) -- The name of the website to restart.
189987
189988              Returns
189989                     True if successful, otherwise False
189990
189991              Return type
189992                     bool
189993
189994              CLI Example:
189995
189996                 salt '*' win_iis.restart_site name='My Test Site'
189997
189998       salt.modules.win_iis.set_container_setting(name, container, settings)
189999              Set the value of the setting for an IIS container.
190000
190001              New in version 2016.11.0.
190002
190003
190004              Parameters
190005
190006                     · name (str) -- The name of the IIS container.
190007
190008                     · container  (str) -- The type of IIS container. The con‐
190009                       tainer types are: AppPools, Sites, SslBindings
190010
190011                     · settings (dict) -- A dictionary of  the  setting  names
190012                       and their values.
190013
190014              Returns
190015                     True if successful, otherwise False
190016
190017              Return type
190018                     bool
190019
190020              CLI Example:
190021
190022                 salt '*' win_iis.set_container_setting name='MyTestPool' container='AppPools'
190023                     settings="{'managedPipeLineMode': 'Integrated'}"
190024
190025       salt.modules.win_iis.set_webapp_settings(name, site, settings)
190026              New in version 2017.7.0.
190027
190028
190029              Configure an IIS application.
190030
190031              NOTE:
190032                 This  function  only  configures  an existing app. Params are
190033                 case sensitive.
190034
190035              Parameters
190036
190037                     · name (str) -- The IIS application.
190038
190039                     · site (str) -- The IIS site name.
190040
190041                     · settings (str) -- A dictionary of the setting names and
190042                       their values.  - physicalPath: The physical path of the
190043                       webapp.  - applicationPool: The  application  pool  for
190044                       the  webapp.   - userName: "connectAs" user - password:
190045                       "connectAs" password for user
190046
190047              Returns
190048                     A boolean representing whether all changes succeeded.
190049
190050              Return type
190051                     bool
190052
190053              CLI Example:
190054
190055                 salt '*' win_iis.set_webapp_settings name='app0' site='site0' settings="{'physicalPath': 'C:\site0', 'apppool': 'site0'}"
190056
190057       salt.modules.win_iis.set_webconfiguration_settings(name, settings)
190058              Set the value of the setting for an IIS container.
190059
190060              Parameters
190061
190062                     · name (str) -- The PSPath of  the  IIS  webconfiguration
190063                       settings.
190064
190065                     · settings  (list)  --  A list of dictionaries containing
190066                       setting name, filter and value.
190067
190068              Returns
190069                     True if successful, otherwise False
190070
190071              Return type
190072                     bool
190073
190074              CLI Example:
190075
190076                 salt '*' win_iis.set_webconfiguration_settings name='IIS:\' settings="[{'name': 'enabled', 'filter': 'system.webServer/security/authentication/anonymousAuthentication', 'value': False}]"
190077
190078       salt.modules.win_iis.start_apppool(name)
190079              Start an IIS application pool.
190080
190081              New in version 2017.7.0.
190082
190083
190084              Parameters
190085                     name (str) -- The name of the App Pool to start.
190086
190087              Returns
190088                     True if successful, otherwise False
190089
190090              Return type
190091                     bool
190092
190093              CLI Example:
190094
190095                 salt '*' win_iis.start_apppool name='MyTestPool'
190096
190097       salt.modules.win_iis.start_site(name)
190098              Start a Web Site in IIS.
190099
190100              New in version 2017.7.0.
190101
190102
190103              Parameters
190104                     name (str) -- The name of the website to start.
190105
190106              Returns
190107                     True if successful, otherwise False
190108
190109              Return type
190110                     bool
190111
190112              CLI Example:
190113
190114                 salt '*' win_iis.start_site name='My Test Site'
190115
190116       salt.modules.win_iis.stop_apppool(name)
190117              Stop an IIS application pool.
190118
190119              New in version 2017.7.0.
190120
190121
190122              Parameters
190123                     name (str) -- The name of the App Pool to stop.
190124
190125              Returns
190126                     True if successful, otherwise False
190127
190128              Return type
190129                     bool
190130
190131              CLI Example:
190132
190133                 salt '*' win_iis.stop_apppool name='MyTestPool'
190134
190135       salt.modules.win_iis.stop_site(name)
190136              Stop a Web Site in IIS.
190137
190138              New in version 2017.7.0.
190139
190140
190141              Parameters
190142                     name (str) -- The name of the website to stop.
190143
190144              Returns
190145                     True if successful, otherwise False
190146
190147              Return type
190148                     bool
190149
190150              CLI Example:
190151
190152                 salt '*' win_iis.stop_site name='My Test Site'
190153
190154   salt.modules.win_ip
190155       The networking module for Windows based systems
190156
190157       salt.modules.win_ip.disable(iface)
190158              Disable an interface
190159
190160              CLI Example:
190161
190162                 salt -G 'os_family:Windows' ip.disable 'Local Area Connection #2'
190163
190164       salt.modules.win_ip.enable(iface)
190165              Enable an interface
190166
190167              CLI Example:
190168
190169                 salt -G 'os_family:Windows' ip.enable 'Local Area Connection #2'
190170
190171       salt.modules.win_ip.get_all_interfaces()
190172              Return configs for all interfaces
190173
190174              CLI Example:
190175
190176                 salt -G 'os_family:Windows' ip.get_all_interfaces
190177
190178       salt.modules.win_ip.get_default_gateway()
190179              Set DNS source to DHCP on Windows
190180
190181              CLI Example:
190182
190183                 salt -G 'os_family:Windows' ip.get_default_gateway
190184
190185       salt.modules.win_ip.get_interface(iface)
190186              Return the configuration of a network interface
190187
190188              CLI Example:
190189
190190                 salt -G 'os_family:Windows' ip.get_interface 'Local Area Connection'
190191
190192       salt.modules.win_ip.get_subnet_length(mask)
190193              Convenience function to convert the netmask to the  CIDR  subnet
190194              length
190195
190196              CLI Example:
190197
190198                 salt -G 'os_family:Windows' ip.get_subnet_length 255.255.255.0
190199
190200       salt.modules.win_ip.is_disabled(iface)
190201              Returns True if interface is disabled, otherwise False
190202
190203              CLI Example:
190204
190205                 salt -G 'os_family:Windows' ip.is_disabled 'Local Area Connection #2'
190206
190207       salt.modules.win_ip.is_enabled(iface)
190208              Returns True if interface is enabled, otherwise False
190209
190210              CLI Example:
190211
190212                 salt -G 'os_family:Windows' ip.is_enabled 'Local Area Connection #2'
190213
190214       salt.modules.win_ip.raw_interface_configs()
190215              Return raw configs for all interfaces
190216
190217              CLI Example:
190218
190219                 salt -G 'os_family:Windows' ip.raw_interface_configs
190220
190221       salt.modules.win_ip.set_dhcp_all(iface)
190222              Set both IP Address and DNS to DHCP
190223
190224              CLI Example:
190225
190226                 salt -G 'os_family:Windows' ip.set_dhcp_all 'Local Area Connection'
190227
190228       salt.modules.win_ip.set_dhcp_dns(iface)
190229              Set DNS source to DHCP on Windows
190230
190231              CLI Example:
190232
190233                 salt -G 'os_family:Windows' ip.set_dhcp_dns 'Local Area Connection'
190234
190235       salt.modules.win_ip.set_dhcp_ip(iface)
190236              Set Windows NIC to get IP from DHCP
190237
190238              CLI Example:
190239
190240                 salt -G 'os_family:Windows' ip.set_dhcp_ip 'Local Area Connection'
190241
190242       salt.modules.win_ip.set_static_dns(iface, *addrs)
190243              Set static DNS configuration on a Windows NIC
190244
190245              Parameters
190246
190247                     · iface (str) -- The name of the interface to set
190248
190249                     · addrs  -- One or more DNS servers to be added. To clear
190250                       the list of DNS servers pass an  empty  list  ([]).  If
190251                       undefined or None no changes will be made.
190252
190253              Returns
190254                     A dictionary containing the new DNS settings
190255
190256              Return type
190257                     dict
190258
190259              CLI Example:
190260
190261                 salt -G 'os_family:Windows' ip.set_static_dns 'Local Area Connection' '192.168.1.1'
190262                 salt -G 'os_family:Windows' ip.set_static_dns 'Local Area Connection' '192.168.1.252' '192.168.1.253'
190263
190264       salt.modules.win_ip.set_static_ip(iface,       addr,      gateway=None,
190265       append=False)
190266              Set static IP configuration on a Windows NIC
190267
190268              iface  The name of the interface to manage
190269
190270              addr   IP address with  subnet  length  (ex.  10.1.2.3/24).  The
190271                     ip.get_subnet_length  function  can  be used to calculate
190272                     the subnet length from a netmask.
190273
190274              gateway
190275                     None If specified, the default gateway  will  be  set  to
190276                     this value.
190277
190278              append False  If  True,  this  IP  address  will be added to the
190279                     interface. Default is False, which overrides any existing
190280                     configuration for the interface and sets addr as the only
190281                     address on the interface.
190282
190283              CLI Example:
190284
190285                 salt -G 'os_family:Windows' ip.set_static_ip 'Local Area Connection' 10.1.2.3/24 gateway=10.1.2.1
190286                 salt -G 'os_family:Windows' ip.set_static_ip 'Local Area Connection' 10.1.2.4/24 append=True
190287
190288   salt.modules.win_lgpo module
190289       Manage Local Policy on Windows
190290
190291       This module allows configuring local group policy (i.e. gpedit.msc)  on
190292       a Windows server.
190293
190294       New in version 2016.11.0.
190295
190296
190297   Administrative Templates
190298       Administrative  template  policies  are dynamically read from ADMX/ADML
190299       files on the server.
190300
190301   Windows Settings
190302       Policies contained in the "Windows Settings" section of the  gpedit.msc
190303       GUI  are  statically  defined in this module. Each policy is configured
190304       for the section (Machine/User) in the module's _policy_info class.  The
190305       _policy_info  class  contains  a "policies" dict on how the module will
190306       configure the policy, where the policy resides in the GUI (for  display
190307       purposes), data validation data, data transformation data, etc.
190308
190309   Current known limitations
190310       · At  this time, start/shutdown scripts policies are displayed, but are
190311         not configurable.
190312
190313       · Not all "Security Settings" policies exist in the _policy_info class
190314
190315       depends
190316
190317              · pywin32 Python module
190318
190319              · lxml
190320
190321              · uuid
190322
190323              · struct
190324
190325              · salt.utils.win_reg
190326
190327       salt.modules.win_lgpo.get(policy_class=None,           return_full_pol‐
190328       icy_names=True,    hierarchical_return=False,   adml_language=u'en-US',
190329       return_not_configured=False)
190330              Get a policy value
190331
190332              Parameters
190333
190334                     · policy_class (str) -- Some policies are both  user  and
190335                       computer,  by  default all policies will be pulled, but
190336                       this can be used to retrieve  only  a  specific  policy
190337                       class   User/USER/user   =   retrieve   user   policies
190338                       Machine/MACHINE/machine/Computer/COMPUTER/computer    =
190339                       retrieve machine/computer policies
190340
190341                     · return_full_policy_names (bool) -- True/False to return
190342                       the policy name as it is seen in the gpedit.msc GUI  or
190343                       to only return the policy key/id.
190344
190345                     · hierarchical_return  (bool) -- True/False to return the
190346                       policy data in the hierarchy as seen in the  gpedit.msc
190347                       GUI.  The  default of False will return data split only
190348                       into User/Computer configuration sections
190349
190350                     · adml_language (str) -- The ADML  language  to  use  for
190351                       processing  display/descriptive  names  and enumeration
190352                       values of ADMX template data, defaults to en-US
190353
190354                     · return_not_configured (bool) -- Include  Administrative
190355                       Template  policies  that  are  'Not  Configured' in the
190356                       return data
190357
190358              Returns
190359                     A dictionary containing the policy values for the  speci‐
190360                     fied class
190361
190362              Return type
190363                     dict
190364
190365              CLI Example:
190366
190367                 salt '*' lgpo.get machine return_full_policy_names=True
190368
190369       salt.modules.win_lgpo.get_policy(policy_name,  policy_class,  adml_lan‐
190370       guage=u'en-US', return_value_only=True,  return_full_policy_names=True,
190371       hierarchical_return=False)
190372              Get the current settings for a single policy on the machine
190373
190374              Parameters
190375
190376                     · policy_name   (str)  --  The  name  of  the  policy  to
190377                       retrieve. Can be  the  any  of  the  names  or  alieses
190378                       returned by lgpo.get_policy_info
190379
190380                     · policy_class  (str) -- The policy class. Must be one of
190381                       machine or user
190382
190383                     · adml_language (str) -- The language code for  the  adml
190384                       file to use for localization. The default is en-US
190385
190386                     · return_value_only  (bool)  -- True will return only the
190387                       value for the policy, without the name of  the  policy.
190388                       return_full_policy_names  and  hierarchical_return will
190389                       be ignored. Default is True
190390
190391                     · return_full_policy_names (bool) --
190392
190393                       Returns the full policy name  regardless  of  what  was
190394                       passed in policy_name
190395
190396                       NOTE:
190397                          This  setting  applies to sub-elements of the policy
190398                          if they exist. The value passed in policy_name  will
190399                          always  be used as the policy name when this setting
190400                          is False
190401
190402
190403                     · hierarchical_return (bool) --  Returns  a  hierarchical
190404                       view of the policy showing its parents
190405
190406              Returns
190407                     A dictionary containing the policy settings
190408
190409              Return type
190410                     dict
190411
190412              CLI Example:
190413
190414                 # Using the policy id
190415                 salt * lgpo.get_policy LockoutDuration machine
190416                 salt * lgpo.get_policy AutoUpdateCfg machine
190417
190418                 # Using the full name
190419                 salt * lgpo.get_policy "Account lockout duration" machine
190420                 salt * lgpo.get_policy "Configure Automatic Updates" machine
190421
190422                 # Using full path and name
190423                 salt * lgpo.get_policy "Windows Components\Windows Update\Configure Automatic Updates" machine
190424
190425       salt.modules.win_lgpo.get_policy_info(policy_name,        policy_class,
190426       adml_language=u'en-US')
190427              Returns information about a specified policy
190428
190429              Parameters
190430
190431                     · policy_name (str) -- The name of the policy to lookup
190432
190433                     · policy_class  (str)  --  The  class  of  policy,   i.e.
190434                       machine, user, both
190435
190436                     · adml_language  (str)  --  The  ADML language to use for
190437                       Administrative Template data lookup
190438
190439              Returns
190440                     Information about the specified policy
190441
190442              Return type
190443                     dict
190444
190445              CLI Example:
190446
190447                 salt '*' lgpo.get_policy_info 'Maximum password age' machine
190448
190449              You can use lgpo.get_policy_info to get all the  possible  names
190450              that  could  be  used  in  a state file or from the command line
190451              (along with elements that need to be set/etc).  The  key  is  to
190452              match  the text you see in the gpedit.msc gui exactly, including
190453              quotes around words or phrases. The "full path" style is  really
190454              only  needed  when there are multiple policies that use the same
190455              base name. For  example,  Access  data  sources  across  domains
190456              exists  in ~10 different paths. If you put that through get_pol‐
190457              icy_info you'll get back a message that it is used for  multiple
190458              policies and you need to be more specific.
190459
190460              CLI Example:
190461
190462                 salt-call --local lgpo.get_policy_info ShellRemoveOrderPrints_2 machine
190463
190464                 local:
190465                     ----------
190466                     message:
190467                     policy_aliases:
190468                         - Turn off the "Order Prints" picture task
190469                         - ShellRemoveOrderPrints_2
190470                         - System\Internet Communication Management\Internet Communication settings\Turn off the "Order Prints" picture task
190471                     policy_class:
190472                         machine
190473                     policy_elements:
190474                     policy_found:
190475                         True
190476                     policy_name:
190477                         ShellRemoveOrderPrints_2
190478                     rights_assignment:
190479                         False
190480
190481              Escaping  can  get tricky in cmd/Powershell. The following is an
190482              example of escaping in Powershell using backquotes:
190483
190484                 PS>salt-call --local lgpo.get_policy_info "Turn off the `\`"Order Prints`\`" picture task" machine
190485
190486                 local:
190487                     ----------
190488                     message:
190489                     policy_aliases:
190490                         - Turn off the "Order Prints" picture task
190491                         - ShellRemoveOrderPrints_2
190492                         - System\Internet Communication Management\Internet Communication settings\Turn off the "Order Prints" picture task
190493                     policy_class:
190494                         machine
190495                     policy_elements:
190496                     policy_found:
190497                         True
190498                     policy_name:
190499                         Turn off the "Order Prints" picture task
190500                     rights_assignment:
190501                         False
190502
190503              This function can then be used to get the options available  for
190504              specifying Group Policy Objects to be used in state files. Based
190505              on the above any of these should be usable:
190506
190507                 internet_communications_settings:
190508                   lgpo.set:
190509                     - computer_policy:
190510                         Turn off the "Order Prints" picture task: Enabled
190511
190512                 internet_communications_settings:
190513                   lgpo.set:
190514                     - computer_policy:
190515                         ShellRemoveOrderPrints_2: Enabled
190516
190517              When using the full path, it might be a good idea to use  single
190518              quotes around the path:
190519
190520                 internet_communications_settings:
190521                   lgpo.set:
190522                     - computer_policy:
190523                         'System\Internet Communication Management\Internet Communication settings\Turn off the "Order Prints" picture task': 'Enabled'
190524
190525              If  you  struggle  to find the policy from get_policy_info using
190526              the name as you see in gpedit.msc, the names such  as  "ShellRe‐
190527              moveOrderPrints_2"  come from the .admx files. If you know noth‐
190528              ing about .admx/.adml relationships (ADML holds what you see  in
190529              the  GUI,  ADMX holds the more technical details), then this may
190530              be a little bit too much info, but here is an example  with  the
190531              above policy using Powershell:
190532
190533                 PS>Get-ChildItem -Path C:\Windows\PolicyDefinitions -Recurse -Filter *.adml | Select-String "Order Prints"
190534
190535                 C:\windows\PolicyDefinitions\en-US\ICM.adml:152:      <string id="ShellRemoveOrderPrints">Turn off the "Order Prints" picture task</string>
190536                 C:\windows\PolicyDefinitions\en-US\ICM.adml:153:      <string id="ShellRemoveOrderPrints_Help">This policy setting specifies whether the "Order Prints Online" task is available from Picture Tasks in Windows folders.
190537                 C:\windows\PolicyDefinitions\en-US\ICM.adml:155:The Order Prints Online Wizard is used to download a list of providers and allow users to order prints online.
190538                 C:\windows\PolicyDefinitions\en-US\ICM.adml:157:If you enable this policy setting, the task "Order Prints Online" is removed from Picture Tasks in File Explorer folders.
190539
190540              From this grep, we can see id "ShellRemoveOrderPrints" is the ID
190541              of the string used to describe this policy, then we  search  for
190542              it in the ADMX:
190543
190544                 PS>Get-ChildItem -Path C:\Windows\PolicyDefinitions -Recurse -Filter *.admx | Select-String "ShellRemoveOrderPrints"
190545
190546                 C:\windows\PolicyDefinitions\ICM.admx:661:    <policy name="ShellRemoveOrderPrints_1" class="User" displayName="$(string.ShellRemoveOrderPrints)" explainText="$(string.ShellRemoveOrderPrints_Help)" key="Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" valueName="NoOnlinePrintsWizard">
190547                 C:\windows\PolicyDefinitions\ICM.admx:671:    <policy name="ShellRemoveOrderPrints_2" class="Machine" displayName="$(string.ShellRemoveOrderPrints)" explainText="$(string.ShellRemoveOrderPrints_Help)" key="Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" valueName="NoOnlinePrintsWizard">
190548
190549              Now   we   have  two  to  pick  from.  And  if  you  notice  the
190550              class="Machine" and class="User" (which details if it is a  com‐
190551              puter  policy or user policy respectively) the ShellRemoveOrder‐
190552              Prints_2 is the "short  name"  we  could  use  to  pass  through
190553              get_policy_info to see what the module itself is expecting.
190554
190555       salt.modules.win_lgpo.set_(computer_policy=None,      user_policy=None,
190556       cumulative_rights_assignments=True, adml_language=u'en-US')
190557              Set a local server policy.
190558
190559              Parameters
190560
190561                     · computer_policy (dict) --
190562
190563                       A dictionary of "policyname: value" pairs  of  computer
190564                       policies  to set. 'value' should be how it is displayed
190565                       in  the  gpedit  GUI,  i.e.   if  a  setting   can   be
190566                       'Enabled'/'Disabled', then that should be passed
190567
190568                       Administrative  Template  data may require dicts within
190569                       dicts, to specify each element  of  the  Administrative
190570                       Template policy.  Administrative Templates policies are
190571                       always cumulative.
190572
190573                       Policy names can be specified in a number of ways based
190574                       on the type of policy:
190575                          Windows Settings Policies:
190576                              These  policies  can  be specified using the GUI
190577                              display name or the  key  name  from  the  _pol‐
190578                              icy_info  class in this module.  The GUI display
190579                              name is also contained in the _policy_info class
190580                              in this module.
190581
190582                          Administrative Template Policies:
190583                              These  can be specified using the policy name as
190584                              displayed in  the  GUI  (case  sensitive).  Some
190585                              policies  have  the  same  name, but a different
190586                              location  (for  example,  "Access  data  sources
190587                              across domains"). These can be differentiated by
190588                              the "path" in the  GUI  (for  example,  "Windows
190589                              ComponentsInternet ExplorerInternet Control Pan‐
190590                              elSecurity PageInternet ZoneAccess data  sources
190591                              across domains").
190592
190593                              Additionally,  policies  can  be specified using
190594                              the "name" and "id"  attributes  from  the  ADMX
190595                              files.
190596
190597                              For  Administrative  Templates  that have policy
190598                              elements, each element can  be  specified  using
190599                              the  text string as seen in the GUI or using the
190600                              ID attribute from the ADMX file. Due to the  way
190601                              some  of  the  GUI text is laid out, some policy
190602                              element names  could  include  descriptive  text
190603                              that  appears  lbefore the policy element in the
190604                              GUI.
190605
190606                              Use the get_policy_info function for the  policy
190607                              name  to view the element ID/names that the mod‐
190608                              ule will accept.
190609
190610
190611                     · user_policy (dict)  --  The  same  setup  as  the  com‐
190612                       puter_policy,  except  with data to configure the local
190613                       user policy.
190614
190615                     · cumulative_rights_assignments (bool) --
190616
190617                       Determine how user rights assignment policies are  con‐
190618                       figured.
190619
190620                       If  True, user right assignment specifications are sim‐
190621                       ply added to the existing policy
190622
190623                       If False, only the users specified will get  the  right
190624                       (any existing will have the right revoked)
190625
190626
190627                     · adml_language  (str)  --  The language files to use for
190628                       looking up Administrative Template  policy  data  (i.e.
190629                       how  the  policy  is displayed in the GUI). Defaults to
190630                       'en-US' (U.S. English).
190631
190632              Returns
190633                     True is successful, otherwise False
190634
190635              Return type
190636                     bool
190637
190638              CLI Example:
190639
190640                 salt '*' lgpo.set computer_policy="{'LockoutDuration': 2, 'RestrictAnonymous': 'Enabled', 'AuditProcessTracking': 'Succes, Failure'}"
190641
190642       salt.modules.win_lgpo.set_computer_policy(name,    setting,     cumula‐
190643       tive_rights_assignments=True, adml_language=u'en-US')
190644              Set a single computer policy
190645
190646              Parameters
190647
190648                     · name (str) -- The name of the policy to configure
190649
190650                     · setting  (str)  --  The  setting to configure the named
190651                       policy with
190652
190653                     · cumulative_rights_assignments (bool) --  Determine  how
190654                       user  rights  assignment  policies  are  configured. If
190655                       True, user right assignment specifications  are  simply
190656                       added  to the existing policy. If False, only the users
190657                       specified will get the right (any  existing  will  have
190658                       the right revoked)
190659
190660                     · adml_language  (str)  --  The language files to use for
190661                       looking up Administrative Template  policy  data  (i.e.
190662                       how  the  policy is displayed in the GUI).  Defaults to
190663                       'en-US' (U.S. English).
190664
190665              Returns
190666                     True if successful, otherwise False
190667
190668              Return type
190669                     bool
190670
190671              CLI Example:
190672
190673                 salt '*' lgpo.set_computer_policy LockoutDuration 1440
190674
190675       salt.modules.win_lgpo.set_user_policy(name,     setting,      adml_lan‐
190676       guage=u'en-US')
190677              Set a single user policy
190678
190679              Parameters
190680
190681                     · name (str) -- The name of the policy to configure
190682
190683                     · setting  (str)  --  The  setting to configure the named
190684                       policy with
190685
190686                     · adml_language (str) -- The language files  to  use  for
190687                       looking  up  Administrative  Template policy data (i.e.
190688                       how the policy is displayed in the  GUI).  Defaults  to
190689                       'en-US' (U.S. English).
190690
190691              Returns
190692                     True if successful, Otherwise False
190693
190694              Return type
190695                     bool
190696
190697              CLI Example:
190698
190699                 salt '*' lgpo.set_user_policy "Control Panel\Display\Disable the Display Control Panel" Enabled
190700
190701   salt.modules.win_license module
190702       This module allows you to manage windows licensing via slmgr.vbs
190703
190704          salt '*' license.install XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
190705
190706       salt.modules.win_license.activate()
190707              Attempt to activate the current machine via Windows Activation
190708
190709              CLI Example:
190710
190711                 salt '*' license.activate
190712
190713       salt.modules.win_license.info()
190714              Return information about the license, if the license is not cor‐
190715              rectly activated this will return None.
190716
190717              CLI Example:
190718
190719                 salt '*' license.info
190720
190721       salt.modules.win_license.install(product_key)
190722              Install the given product key
190723
190724              CLI Example:
190725
190726                 salt '*' license.install XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
190727
190728       salt.modules.win_license.installed(product_key)
190729              Check to see if the product key is already installed.
190730
190731              Note: This is not 100% accurate as we can only see the last
190732                     5 digits of the license.
190733
190734              CLI Example:
190735
190736                 salt '*' license.installed XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
190737
190738       salt.modules.win_license.licensed()
190739              Return true if the current machine is licensed correctly
190740
190741              CLI Example:
190742
190743                 salt '*' license.licensed
190744
190745       salt.modules.win_license.uninstall()
190746              Uninstall the current product key
190747
190748              CLI Example:
190749
190750                 salt '*' license.uninstall
190751
190752   salt.modules.win_network
190753       Module for gathering and managing network information
190754
190755       salt.modules.win_network.connect(host, port=None, **kwargs)
190756              Test connectivity to a host using a  particular  port  from  the
190757              minion.
190758
190759              New in version 2016.3.0.
190760
190761
190762              CLI Example:
190763
190764                 salt '*' network.connect archlinux.org 80
190765
190766                 salt '*' network.connect archlinux.org 80 timeout=3
190767
190768                 salt '*' network.connect archlinux.org 80 timeout=3 family=ipv4
190769
190770                 salt '*' network.connect google-public-dns-a.google.com port=53 proto=udp timeout=3
190771
190772       salt.modules.win_network.dig(host)
190773              Performs a DNS lookup with dig
190774
190775              Note: dig must be installed on the Windows minion
190776
190777              CLI Example:
190778
190779                 salt '*' network.dig archlinux.org
190780
190781       salt.modules.win_network.get_route(ip)
190782              Return routing information for given destination ip
190783
190784              New in version 2016.11.5.
190785
190786
190787              CLI Example:
190788
190789                 salt '*' network.get_route 10.10.10.10
190790
190791       salt.modules.win_network.hw_addr(iface)
190792              Return  the  hardware  address  (a.k.a. MAC address) for a given
190793              interface
190794
190795              CLI Example:
190796
190797                 salt '*' network.hw_addr 'Wireless Connection #1'
190798
190799       salt.modules.win_network.hwaddr(iface)
190800              This function is an alias of hw_addr.
190801                 Return the hardware address (a.k.a. MAC address) for a  given
190802                 interface
190803
190804                 CLI Example:
190805
190806                     salt '*' network.hw_addr 'Wireless Connection #1'
190807
190808       salt.modules.win_network.in_subnet(cidr)
190809              Returns True if host is within specified subnet, otherwise False
190810
190811              CLI Example:
190812
190813                 salt '*' network.in_subnet 10.0.0.0/16
190814
190815       salt.modules.win_network.interfaces()
190816              Return  a  dictionary of information about all the interfaces on
190817              the minion
190818
190819              CLI Example:
190820
190821                 salt '*' network.interfaces
190822
190823       salt.modules.win_network.interfaces_names()
190824              Return a list of all the interfaces names
190825
190826              CLI Example:
190827
190828                 salt '*' network.interfaces_names
190829
190830       salt.modules.win_network.ip_addrs(interface=None,         include_loop‐
190831       back=False, cidr=None, type=None)
190832              Returns a list of IPv4 addresses assigned to the host.
190833
190834              interface
190835                     Only IP addresses from that interface will be returned.
190836
190837              include_loopback
190838                     False Include loopback 127.0.0.1 IPv4 address.
190839
190840              cidr
190841                        Describes  subnet  using  CIDR  notation and only IPv4
190842                        addresses that belong to this subnet will be returned.
190843
190844                     Changed in version 2019.2.0.
190845
190846
190847              type   If option set to 'public' then only public addresses will
190848                     be returned.  Ditto for 'private'.
190849
190850                     Changed in version 2019.2.0.
190851
190852
190853              CLI Example:
190854
190855                 salt '*' network.ip_addrs
190856                 salt '*' network.ip_addrs cidr=10.0.0.0/8
190857                 salt '*' network.ip_addrs cidr=192.168.0.0/16 type=private
190858
190859       salt.modules.win_network.ip_addrs6(interface=None,        include_loop‐
190860       back=False, cidr=None)
190861              Returns a list of IPv6 addresses assigned to the host.
190862
190863              interface
190864                     Only IP addresses from that interface will be returned.
190865
190866              include_loopback
190867                     False Include loopback ::1 IPv6 address.
190868
190869              cidr   Describes  subnet  using  CIDR  notation  and  only  IPv6
190870                     addresses that belong to this subnet will be returned.
190871
190872                     Changed in version 2019.2.0.
190873
190874
190875              CLI Example:
190876
190877                 salt '*' network.ip_addrs6
190878                 salt '*' network.ip_addrs6 cidr=2000::/3
190879
190880       salt.modules.win_network.ipaddrs(interface=None,          include_loop‐
190881       back=False, cidr=None, type=None)
190882              This function is an alias of ip_addrs.
190883                 Returns a list of IPv4 addresses assigned to the host.
190884
190885                 interface
190886                        Only  IP  addresses  from  that  interface   will   be
190887                        returned.
190888
190889                 include_loopback
190890                        False Include loopback 127.0.0.1 IPv4 address.
190891
190892                 cidr
190893                            Describes subnet using CIDR notation and only IPv4
190894                            addresses that  belong  to  this  subnet  will  be
190895                            returned.
190896
190897                        Changed in version 2019.2.0.
190898
190899
190900                 type   If  option  set to 'public' then only public addresses
190901                        will be returned.  Ditto for 'private'.
190902
190903                        Changed in version 2019.2.0.
190904
190905
190906                 CLI Example:
190907
190908                     salt '*' network.ip_addrs
190909                     salt '*' network.ip_addrs cidr=10.0.0.0/8
190910                     salt '*' network.ip_addrs cidr=192.168.0.0/16 type=private
190911
190912       salt.modules.win_network.ipaddrs6(interface=None,         include_loop‐
190913       back=False, cidr=None)
190914              This function is an alias of ip_addrs6.
190915                 Returns a list of IPv6 addresses assigned to the host.
190916
190917                 interface
190918                        Only   IP   addresses  from  that  interface  will  be
190919                        returned.
190920
190921                 include_loopback
190922                        False Include loopback ::1 IPv6 address.
190923
190924                 cidr   Describes subnet using CIDR  notation  and  only  IPv6
190925                        addresses that belong to this subnet will be returned.
190926
190927                        Changed in version 2019.2.0.
190928
190929
190930                 CLI Example:
190931
190932                     salt '*' network.ip_addrs6
190933                     salt '*' network.ip_addrs6 cidr=2000::/3
190934
190935       salt.modules.win_network.is_private(ip_addr)
190936              Check if the given IP address is a private address
190937
190938              New in version 2019.2.0.
190939
190940
190941              CLI Example:
190942
190943                 salt '*' network.is_private 10.0.0.3
190944
190945       salt.modules.win_network.netstat()
190946              Return information on open ports and states
190947
190948              CLI Example:
190949
190950                 salt '*' network.netstat
190951
190952       salt.modules.win_network.nslookup(host)
190953              Query DNS for information about a domain or ip address
190954
190955              CLI Example:
190956
190957                 salt '*' network.nslookup archlinux.org
190958
190959       salt.modules.win_network.ping(host,     timeout=False,     return_bool‐
190960       ean=False)
190961              Performs a ping to a host
190962
190963              CLI Example:
190964
190965                 salt '*' network.ping archlinux.org
190966
190967              New in version 2016.11.0.
190968
190969
190970              Return a True or False instead of ping output.
190971
190972                 salt '*' network.ping archlinux.org return_boolean=True
190973
190974              Set the time to wait for a response in seconds.
190975
190976                 salt '*' network.ping archlinux.org timeout=3
190977
190978       salt.modules.win_network.subnets()
190979              Returns a list of subnets to which the host belongs
190980
190981              CLI Example:
190982
190983                 salt '*' network.subnets
190984
190985       salt.modules.win_network.traceroute(host)
190986              Performs a traceroute to a 3rd party host
190987
190988              CLI Example:
190989
190990                 salt '*' network.traceroute archlinux.org
190991
190992   salt.modules.win_ntp
190993       Management of NTP servers on Windows
190994
190995       New in version 2014.1.0.
190996
190997
190998       salt.modules.win_ntp.get_servers()
190999              Get list of configured NTP servers
191000
191001              CLI Example:
191002
191003                 salt '*' ntp.get_servers
191004
191005       salt.modules.win_ntp.set_servers(*servers)
191006              Set Windows to use a list of NTP servers
191007
191008              CLI Example:
191009
191010                 salt '*' ntp.set_servers 'pool.ntp.org' 'us.pool.ntp.org'
191011
191012   salt.modules.win_path
191013       Manage the Windows System PATH
191014
191015       Note that not all Windows applications will rehash the PATH environment
191016       variable,  Only  the  ones  that listen to the WM_SETTINGCHANGE message
191017       http://support.microsoft.com/kb/104011
191018
191019       salt.modules.win_path.add(path, index=None, **kwargs)
191020              Add the directory to the SYSTEM  path  in  the  index  location.
191021              Returns True if successful, otherwise False.
191022
191023              path   Directory to add to path
191024
191025              index  Optionally specify an index at which to insert the direc‐
191026                     tory
191027
191028              rehash True If the registry was updated, and this value  is  set
191029                     to  True,  sends  a WM_SETTINGCHANGE broadcast to refresh
191030                     the environment variables. Set this to False to skip this
191031                     broadcast.
191032
191033              CLI Examples:
191034
191035                 # Will add to the beginning of the path
191036                 salt '*' win_path.add 'c:\python27' 0
191037
191038                 # Will add to the end of the path
191039                 salt '*' win_path.add 'c:\python27' index='-1'
191040
191041       salt.modules.win_path.exists(path)
191042              Check  if  the  directory  is  configured  in  the  SYSTEM  path
191043              Case-insensitive and ignores trailing backslash
191044
191045              Returns
191046                     boolean True if path exists, False if not
191047
191048              CLI Example:
191049
191050                 salt '*' win_path.exists 'c:\python27'
191051                 salt '*' win_path.exists 'c:\python27\'
191052                 salt '*' win_path.exists 'C:\pyThon27'
191053
191054       salt.modules.win_path.get_path()
191055              Returns a list of items in the SYSTEM path
191056
191057              CLI Example:
191058
191059                 salt '*' win_path.get_path
191060
191061       salt.modules.win_path.rehash()
191062              Send a WM_SETTINGCHANGE Broadcast  to  Windows  to  refresh  the
191063              Environment variables for new processes.
191064
191065              NOTE:
191066                 This  will  only affect new processes that aren't launched by
191067                 services. To apply changes to the path to services, the  host
191068                 must  be restarted. The salt-minion, if running as a service,
191069                 will not see changes to the environment until the  system  is
191070                 restarted. See MSDN Documentation
191071
191072              CLI Example:
191073
191074                 salt '*' win_path.rehash
191075
191076       salt.modules.win_path.remove(path, **kwargs)
191077              Remove the directory from the SYSTEM path
191078
191079              Returns
191080                     boolean True if successful, False if unsuccessful
191081
191082              rehash True  If  the registry was updated, and this value is set
191083                     to True, sends a WM_SETTINGCHANGE  broadcast  to  refresh
191084                     the environment variables. Set this to False to skip this
191085                     broadcast.
191086
191087              CLI Example:
191088
191089                 # Will remove C:\Python27 from the path
191090                 salt '*' win_path.remove 'c:\\python27'
191091
191092   salt.modules.win_pkg
191093       A module to manage software on Windows
191094
191095       IMPORTANT:
191096          If you feel that Salt should be using this module to manage packages
191097          on  a  minion, and it is using a different module (or gives an error
191098          similar to 'pkg.install' is not available), see here.
191099
191100       The following functions require the existence of a  windows  repository
191101       metadata DB, typically created by running pkg.refresh_db:
191102
191103       · pkg.get_repo_data
191104
191105       · pkg.install
191106
191107       · pkg.latest_version
191108
191109       · pkg.list_available
191110
191111       · pkg.list_pkgs
191112
191113       · pkg.list_upgrades
191114
191115       · pkg.remove
191116
191117       If  a  metadata DB does not already exist and one of these functions is
191118       run, then one will be created from the repo SLS files that are present.
191119
191120       As the  creation  of  this  metadata  can  take  some  time,  the  win‐
191121       repo_cache_expire_min  minion  config  option  can  be used to suppress
191122       refreshes when the metadata is less than a given number of seconds old.
191123
191124       NOTE:
191125          Version numbers can be version number string, latest and Not  Found,
191126          where Not Found means this module was not able to determine the ver‐
191127          sion of the software installed, it can also be used as  the  version
191128          number  in sls definitions file in these cases. Versions numbers are
191129          sorted in order of 0, Not Found, order version numbers, ..., latest.
191130
191131       salt.modules.win_pkg.compare_versions(ver1=u'', oper=u'==', ver2=u'')
191132              Compare software package versions.  Made  public  for  use  with
191133              Jinja
191134
191135              Parameters
191136
191137                     · ver1 (str) -- A software version to compare
191138
191139                     · oper (str) -- The operand to use to compare
191140
191141                     · ver2 (str) -- A software version to compare
191142
191143              Returns
191144                     True if the comparison is valid, otherwise False
191145
191146              Return type
191147                     bool
191148
191149              CLI Example:
191150
191151                 salt '*' pkg.compare_versions 1.2 >= 1.3
191152
191153       salt.modules.win_pkg.genrepo(**kwargs)
191154              Generate  package  metadata  db  based  on files within the win‐
191155              repo_source_dir
191156
191157              Kwargs:
191158                 saltenv (str): Salt environment. Default: base
191159
191160                 verbose (bool):
191161                        Return verbose data  structure  which  includes  'suc‐
191162                        cess_list',  a  list  of all sls files and the package
191163                        names contained within.  Default False.
191164
191165                 failhard (bool):
191166                        If True, an error will be raised if any repo SLS files
191167                        failed  to process. If False, no error will be raised,
191168                        and a dictionary containing the full results  will  be
191169                        returned.
191170
191171              NOTE:
191172
191173                 · Hidden directories (directories beginning with '.', such as
191174                   '.git') will be ignored.
191175
191176              Returns
191177                     A dictionary of the results of the command
191178
191179              Return type
191180                     dict
191181
191182              CLI Example:
191183
191184                 salt-run pkg.genrepo
191185                 salt -G 'os:windows' pkg.genrepo verbose=true failhard=false
191186                 salt -G 'os:windows' pkg.genrepo saltenv=base
191187
191188       salt.modules.win_pkg.get_package_info(name, saltenv=u'base')
191189              Return package info. Returns empty map if package not available.
191190
191191       salt.modules.win_pkg.get_repo_data(saltenv=u'base')
191192              Returns the existing package metadata db. Will create it, if  it
191193              does not exist, however will not refresh it.
191194
191195              Parameters
191196                     saltenv (str) -- Salt environment. Default base
191197
191198              Returns
191199                     A dict containing contents of metadata db.
191200
191201              Return type
191202                     dict
191203
191204              CLI Example:
191205
191206                 salt '*' pkg.get_repo_data
191207
191208       salt.modules.win_pkg.install(name=None,    refresh=False,    pkgs=None,
191209       **kwargs)
191210              Install the passed package(s) on the system using winrepo
191211
191212              Parameters
191213
191214                     · name (str) -- The  name  of  a  single  package,  or  a
191215                       comma-separated list of packages to install. (no spaces
191216                       after the commas)
191217
191218                     · refresh (bool) -- Boolean value representing whether or
191219                       not to refresh the winrepo db.  Default False.
191220
191221                     · pkgs (list) --
191222
191223                       A  list  of packages to install from a software reposi‐
191224                       tory. All packages listed under pkgs will be  installed
191225                       via a single command.
191226
191227                       You  can  specify  a  version  by passing the item as a
191228                       dict:
191229
191230                       CLI Example:
191231
191232                          # will install the latest version of foo and bar
191233                          salt '*' pkg.install pkgs='["foo", "bar"]'
191234
191235                          # will install the latest version of foo and version 1.2.3 of bar
191236                          salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3"}]'
191237
191238
191239              Kwargs:
191240
191241                 version (str):
191242                        The specific version to install. If omitted, the  lat‐
191243                        est  version will be installed. Recommend for use when
191244                        installing a single package.
191245
191246                        If passed with a list of packages in the pkgs  parame‐
191247                        ter, the version will be ignored.
191248
191249                        CLI Example:
191250
191251                               # Version is ignored
191252                               salt '*' pkg.install pkgs="['foo', 'bar']" version=1.2.3
191253
191254                        If  passed  with  a  comma  separated list in the name
191255                        parameter, the version will apply to all  packages  in
191256                        the list.
191257
191258                        CLI Example:
191259
191260                               # Version 1.2.3 will apply to packages foo and bar
191261                               salt '*' pkg.install foo,bar version=1.2.3
191262
191263                 extra_install_flags (str):
191264                        Additional  install flags that will be appended to the
191265                        install_flags defined in the software definition file.
191266                        Only applies when single package is passed.
191267
191268                 saltenv (str):
191269                        Salt environment. Default 'base'
191270
191271                 report_reboot_exit_codes (bool):
191272                        If  the  installer  exits  with a recognized exit code
191273                        indicating that a reboot is required, the module func‐
191274                        tion
191275                            win_system.set_reboot_required_witnessed
191276
191277                        will be called, preserving the knowledge of this event
191278                        for the remainder of the current boot session. For the
191279                        time being, 3010 is the only recognized exit code. The
191280                        value of this param defaults to True.
191281
191282                        New in version 2016.11.0.
191283
191284
191285              Returns
191286                     Return a dict containing the new package names  and  ver‐
191287                     sions. If the package is already installed, an empty dict
191288                     is returned.
191289
191290                     If the package is installed by pkg.install:
191291
191292                        {'<package>': {'old': '<old-version>',
191293                                       'new': '<new-version>'}}
191294
191295
191296              Return type
191297                     dict
191298
191299              The following example will refresh the  winrepo  and  install  a
191300              single package, 7zip.
191301
191302              CLI Example:
191303
191304                 salt '*' pkg.install 7zip refresh=True
191305
191306              CLI Example:
191307
191308                 salt '*' pkg.install 7zip
191309                 salt '*' pkg.install 7zip,filezilla
191310                 salt '*' pkg.install pkgs='["7zip","filezilla"]'
191311
191312              WinRepo Definition File Examples:
191313
191314              The  following  example demonstrates the use of cache_file. This
191315              would be used if you have multiple installers in the same direc‐
191316              tory  that  use  the same install.ini file and you don't want to
191317              download the additional installers.
191318
191319                 ntp:
191320                   4.2.8:
191321                     installer: 'salt://win/repo/ntp/ntp-4.2.8-win32-setup.exe'
191322                     full_name: Meinberg NTP Windows Client
191323                     locale: en_US
191324                     reboot: False
191325                     cache_file: 'salt://win/repo/ntp/install.ini'
191326                     install_flags: '/USEFILE=C:\salt\var\cache\salt\minion\files\base\win\repo\ntp\install.ini'
191327                     uninstaller: 'NTP/uninst.exe'
191328
191329              The following example demonstrates  the  use  of  cache_dir.  It
191330              assumes  a  file named install.ini resides in the same directory
191331              as the installer.
191332
191333                 ntp:
191334                   4.2.8:
191335                     installer: 'salt://win/repo/ntp/ntp-4.2.8-win32-setup.exe'
191336                     full_name: Meinberg NTP Windows Client
191337                     locale: en_US
191338                     reboot: False
191339                     cache_dir: True
191340                     install_flags: '/USEFILE=C:\salt\var\cache\salt\minion\files\base\win\repo\ntp\install.ini'
191341                     uninstaller: 'NTP/uninst.exe'
191342
191343       salt.modules.win_pkg.latest_version(*names, **kwargs)
191344              Return the latest version of the  named  package  available  for
191345              upgrade or installation. If more than one package name is speci‐
191346              fied, a dict of name/version pairs is returned.
191347
191348              If the latest version of a given package is  already  installed,
191349              an empty string will be returned for that package.
191350
191351              NOTE:
191352                 Since  this  is  looking  for the latest version available, a
191353                 refresh_db will be triggered by default. This can  take  some
191354                 time. To avoid this set refresh to False.
191355
191356              Parameters
191357                     names (str) -- A single or multiple names to lookup
191358
191359              Kwargs:
191360                     saltenv  (str):  Salt  environment.  Default base refresh
191361                     (bool): Refresh package metadata. Default True
191362
191363              Returns
191364                     A dictionary of packages with the latest  version  avail‐
191365                     able
191366
191367              Return type
191368                     dict
191369
191370              CLI Example:
191371
191372                 salt '*' pkg.latest_version <package name>
191373                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
191374
191375       salt.modules.win_pkg.list_available(*names, **kwargs)
191376              Return a list of available versions of the specified package.
191377
191378              Parameters
191379                     names (str) -- One or more package names
191380
191381              Kwargs:
191382                 saltenv (str): The salt environment to use. Default base.
191383
191384                 refresh (bool): Refresh package metadata. Default False.
191385
191386                 return_dict_always (bool):
191387                        Default  False  dict  when  a  single  package name is
191388                        queried.
191389
191390              Returns
191391                     The package name with its available versions
191392
191393              Return type
191394                     dict
191395
191396                 {'<package name>': ['<version>', '<version>', ]}
191397
191398              CLI Example:
191399
191400                 salt '*' pkg.list_available <package name> return_dict_always=True
191401                 salt '*' pkg.list_available <package name01> <package name02>
191402
191403       salt.modules.win_pkg.list_pkgs(versions_as_list=False,   include_compo‐
191404       nents=True, include_updates=True, **kwargs)
191405              List the packages currently installed.
191406
191407              NOTE:
191408                 To  view  installed  software  as displayed in the Add/Remove
191409                 Programs,  set  include_components  and  include_updates   to
191410                 False.
191411
191412              Parameters
191413
191414                     · versions_as_list  (bool)  --  Returns the versions as a
191415                       list
191416
191417                     · include_components (bool) -- Include sub components  of
191418                       installed software. Default is True
191419
191420                     · include_updates  (bool) -- Include software updates and
191421                       Windows updates. Default is True
191422
191423              Kwargs:
191424
191425                 saltenv (str):
191426                        The salt environment to use. Default base
191427
191428                 refresh (bool):
191429                        Refresh package metadata. Default False
191430
191431              Returns
191432                     A  dictionary  of  installed   software   with   versions
191433                     installed
191434
191435              Return type
191436                     dict
191437
191438                 {'<package_name>': '<version>'}
191439
191440              CLI Example:
191441
191442                 salt '*' pkg.list_pkgs
191443                 salt '*' pkg.list_pkgs versions_as_list=True
191444
191445       salt.modules.win_pkg.list_upgrades(refresh=True, **kwargs)
191446              List all available package upgrades on this system
191447
191448              Parameters
191449                     refresh (bool) -- Refresh package metadata. Default True
191450
191451              Kwargs:
191452                     saltenv (str): Salt environment. Default base
191453
191454              Returns
191455                     A dictionary of packages with available upgrades
191456
191457              Return type
191458                     dict
191459
191460              CLI Example:
191461
191462                 salt '*' pkg.list_upgrades
191463
191464       salt.modules.win_pkg.purge(name=None, pkgs=None, **kwargs)
191465              Package  purges are not supported, this function is identical to
191466              remove().
191467
191468              New in version 0.16.0.
191469
191470
191471              Parameters
191472
191473                     · name (str) -- The name of the package to be deleted.
191474
191475                     · version (str) -- The  version  of  the  package  to  be
191476                       deleted. If this option is used in combination with the
191477                       pkgs option below, then this version will be applied to
191478                       all targeted packages.
191479
191480                     · pkgs  (list)  --  A list of packages to delete. Must be
191481                       passed as a python list. The  name  parameter  will  be
191482                       ignored if this option is passed.
191483
191484              Kwargs:
191485                     saltenv  (str):  Salt  environment.  Default base refresh
191486                     (bool): Refresh package metadata. Default False
191487
191488              Returns
191489                     A dict containing the changes.
191490
191491              Return type
191492                     dict
191493
191494              CLI Example:
191495
191496                 salt '*' pkg.purge <package name>
191497                 salt '*' pkg.purge <package1>,<package2>,<package3>
191498                 salt '*' pkg.purge pkgs='["foo", "bar"]'
191499
191500       salt.modules.win_pkg.refresh_db(**kwargs)
191501              Generates the local software metadata  database  (winrepo.p)  on
191502              the  minion.   The  database  is  stored  in a serialized format
191503              located by default at the following location:
191504
191505              C:\salt\var\cache\salt\minion\files\base\win\repo-ng\winrepo.p
191506
191507              This module performs the following steps to generate  the  soft‐
191508              ware metadata database:
191509
191510              · Fetch   the   package   definition   files  (.sls)  from  win‐
191511                repo_source_dir (default salt://win/repo-ng) and cache them in
191512                <cachedir>files<saltenv><winrepo_source_dir>         (default:
191513                C:\salt\var\cache\salt\minion\files\base\win\repo-ng)
191514
191515              · Call pkg.genrepo to parse the  package  definition  files  and
191516                generate the repository metadata database file (winrepo.p)
191517
191518              · Return the report received from pkg.genrepo
191519
191520              The    default    winrepo    directory    on   the   master   is
191521              /srv/salt/win/repo-ng. All files that end with .sls in this  and
191522              all subdirectories will be used to generate the repository meta‐
191523              data database (winrepo.p).
191524
191525              NOTE:
191526
191527                 · Hidden directories (directories beginning with '.', such as
191528                   '.git') will be ignored.
191529
191530              NOTE:
191531                 There  is  no need to call pkg.refresh_db every time you work
191532                 with the pkg module. Automatic refresh will  occur  based  on
191533                 the following minion configuration settings:
191534
191535                 · winrepo_cache_expire_min
191536
191537                 · winrepo_cache_expire_max
191538
191539                 However,  if  the  package  definition files have changed, as
191540                 would be the case if you are developing a new package defini‐
191541                 tion, this function should be called to ensure the minion has
191542                 the latest information about packages available to it.
191543
191544              WARNING:
191545                 Directories  and  files  fetched  from   <winrepo_source_dir>
191546                 (/srv/salt/win/repo-ng)  will  be  processed  in alphabetical
191547                 order. If two or more software definition files  contain  the
191548                 same  name, the last one processed replaces all data from the
191549                 files processed before it.
191550
191551              For more information see Windows Software Repository
191552
191553              Arguments:
191554
191555              saltenv (str): Salt environment. Default: base
191556
191557              verbose (bool):
191558                     Return a verbose  data  structure  which  includes  'suc‐
191559                     cess_list', a list of all sls files and the package names
191560                     contained within.  Default is 'False'
191561
191562              failhard (bool):
191563                     If True, an error will be raised if any  repo  SLS  files
191564                     fails  to process. If False, no error will be raised, and
191565                     a  dictionary  containing  the  full  results   will   be
191566                     returned.
191567
191568              Returns
191569                     A  dictionary  containing  the  results  of  the database
191570                     refresh.
191571
191572              Return type
191573                     dict
191574
191575              NOTE:
191576                 A result with a total: 0 generally means that the  files  are
191577                 in  the wrong location on the master. Try running the follow‐
191578                 ing command on the minion:  salt-call  -l  debug  pkg.refresh
191579                 saltenv=base
191580
191581              WARNING:
191582                 When  calling  this  command from a state using module.run be
191583                 sure to pass failhard: False. Otherwise the state will report
191584                 failure if it encounters a bad software definition file.
191585
191586              CLI Example:
191587
191588                 salt '*' pkg.refresh_db
191589                 salt '*' pkg.refresh_db saltenv=base
191590
191591       salt.modules.win_pkg.remove(name=None, pkgs=None, **kwargs)
191592              Remove the passed package(s) from the system using winrepo
191593
191594              New in version 0.16.0.
191595
191596
191597              Parameters
191598
191599                     · name (str) -- The name(s) of the package(s) to be unin‐
191600                       stalled. Can be a single package or a  comma  delimited
191601                       list of packages, no spaces.
191602
191603                     · pkgs  (list)  --  A list of packages to delete. Must be
191604                       passed as a python list. The  name  parameter  will  be
191605                       ignored if this option is passed.
191606
191607              Kwargs:
191608
191609                 version (str):
191610                        The  version of the package to be uninstalled. If this
191611                        option is used to to uninstall multiple packages, then
191612                        this version will be applied to all targeted packages.
191613                        Recommended using  only  when  uninstalling  a  single
191614                        package. If this parameter is omitted, the latest ver‐
191615                        sion will be uninstalled.
191616
191617                 saltenv (str): Salt environment. Default base refresh (bool):
191618                 Refresh package metadata. Default False
191619
191620              Returns
191621                     Returns a dict containing the changes.
191622
191623                     If the package is removed by pkg.remove:
191624
191625                        {'<package>': {'old': '<old-version>',
191626                               'new': '<new-version>'}}
191627
191628                     If the package is already uninstalled:
191629                        {'<package>': {'current': 'not installed'}}
191630
191631
191632              Return type
191633                     dict
191634
191635              CLI Example:
191636
191637                 salt '*' pkg.remove <package name>
191638                 salt '*' pkg.remove <package1>,<package2>,<package3>
191639                 salt '*' pkg.remove pkgs='["foo", "bar"]'
191640
191641       salt.modules.win_pkg.upgrade(**kwargs)
191642              Upgrade all software. Currently not implemented
191643
191644              Kwargs:
191645                     saltenv (str): The salt environment to use. Default base.
191646                     refresh (bool): Refresh package metadata. Default True.
191647
191648              NOTE:
191649                 This feature is not yet implemented for Windows.
191650
191651              Returns
191652                     Empty dict, until implemented
191653
191654              Return type
191655                     dict
191656
191657              CLI Example:
191658
191659                 salt '*' pkg.upgrade
191660
191661       salt.modules.win_pkg.upgrade_available(name, **kwargs)
191662              Check whether or not an upgrade is available for a given package
191663
191664              Parameters
191665                     name (str) -- The name of a single package
191666
191667              Kwargs:
191668                     refresh (bool): Refresh package  metadata.  Default  True
191669                     saltenv (str): The salt environment. Default base
191670
191671              Returns
191672                     True if new version available, otherwise False
191673
191674              Return type
191675                     bool
191676
191677              CLI Example:
191678
191679                 salt '*' pkg.upgrade_available <package name>
191680
191681       salt.modules.win_pkg.version(*names, **kwargs)
191682              Returns  a  string  representing the package version or an empty
191683              string if not installed. If more than one package name is speci‐
191684              fied, a dict of name/version pairs is returned.
191685
191686              Parameters
191687                     name (str) -- One or more package names
191688
191689              Kwargs:
191690                     saltenv (str): The salt environment to use. Default base.
191691                     refresh (bool): Refresh package metadata. Default False.
191692
191693              Returns
191694                     version string when a single package is specified.  dict:
191695                     The package name(s) with the installed versions.
191696
191697              Return type
191698                     str
191699
191700                 {['<version>', '<version>', ]} OR
191701                 {'<package name>': ['<version>', '<version>', ]}
191702
191703              CLI Example:
191704
191705                 salt '*' pkg.version <package name>
191706                 salt '*' pkg.version <package name01> <package name02>
191707
191708   salt.modules.win_pki module
191709       Microsoft  certificate management via the PKI Client PowerShell module.
191710       https://technet.microsoft.com/en-us/itpro/powershell/windows/pkiclient/pkiclient
191711
191712       The  PKI  Client  PowerShell module is only available on Windows 8+ and
191713       Windows                          Server                          2012+.
191714       https://technet.microsoft.com/en-us/library/hh848636(v=wps.620).aspx
191715
191716       platform
191717              Windows
191718
191719       depends
191720
191721              · PowerShell 4
191722
191723              · PKI Client Module (Windows 8+ / Windows Server 2012+)
191724
191725       New in version 2016.11.0.
191726
191727
191728       salt.modules.win_pki.export_cert(name,  thumbprint, cert_format=u'cer',
191729       context=u'LocalMachine', store=u'My', password=u'')
191730              Export the certificate to a  file  from  the  given  certificate
191731              store.
191732
191733              Parameters
191734
191735                     · name  (str)  --  The  destination path for the exported
191736                       certificate file.
191737
191738                     · thumbprint (str) -- The thumbprint value of the  target
191739                       certificate.
191740
191741                     · cert_format  (str)  --  The certificate format. Specify
191742                       'cer' for X.509, or 'pfx' for PKCS #12.
191743
191744                     · context (str) -- The  name  of  the  certificate  store
191745                       location context.
191746
191747                     · store (str) -- The name of the certificate store.
191748
191749                     · password (str) -- The password of the certificate. Only
191750                       applicable to pfx format. Note that  if  used  interac‐
191751                       tively,  the  password will be seen by all minions.  To
191752                       protect the password, use a state and get the  password
191753                       from pillar.
191754
191755              Returns
191756                     A boolean representing whether all changes succeeded.
191757
191758              Return type
191759                     bool
191760
191761              CLI Example:
191762
191763                 salt '*' win_pki.export_cert name='C:\certs\example.cer' thumbprint='AAA000'
191764
191765       salt.modules.win_pki.get_cert_file(name,    cert_format=u'cer',   pass‐
191766       word=u'')
191767              Get the details of the certificate file.
191768
191769              Parameters
191770
191771                     · name (str) -- The filesystem path  of  the  certificate
191772                       file.
191773
191774                     · cert_format  (str)  --  The certificate format. Specify
191775                       'cer' for X.509, or 'pfx' for PKCS #12.
191776
191777                     · password (str) -- The password of the certificate. Only
191778                       applicable  to  pfx  format. Note that if used interac‐
191779                       tively, the password will be seen by all  minions.   To
191780                       protect  the password, use a state and get the password
191781                       from pillar.
191782
191783              Returns
191784                     A dictionary of the certificate thumbprints  and  proper‐
191785                     ties.
191786
191787              Return type
191788                     dict
191789
191790              CLI Example:
191791
191792                 salt '*' win_pki.get_cert_file name='C:\certs\example.cer'
191793
191794       salt.modules.win_pki.get_certs(context=u'LocalMachine', store=u'My')
191795              Get the available certificates in the given store.
191796
191797              Parameters
191798
191799                     · context  (str)  --  The  name  of the certificate store
191800                       location context.
191801
191802                     · store (str) -- The name of the certificate store.
191803
191804              Returns
191805                     A dictionary of the certificate thumbprints  and  proper‐
191806                     ties.
191807
191808              Return type
191809                     dict
191810
191811              CLI Example:
191812
191813                 salt '*' win_pki.get_certs
191814
191815       salt.modules.win_pki.get_stores()
191816              Get  the  certificate  location contexts and their corresponding
191817              stores.
191818
191819              Returns
191820                     A dictionary of the  certificate  location  contexts  and
191821                     stores.
191822
191823              Return type
191824                     dict
191825
191826              CLI Example:
191827
191828                 salt '*' win_pki.get_stores
191829
191830       salt.modules.win_pki.import_cert(name,     cert_format=u'cer',     con‐
191831       text=u'LocalMachine',   store=u'My',   exportable=True,   password=u'',
191832       saltenv=u'base')
191833              Import the certificate file into the given certificate store.
191834
191835              Parameters
191836
191837                     · name  (str)  --  The  path  of  the certificate file to
191838                       import.
191839
191840                     · cert_format (str) -- The  certificate  format.  Specify
191841                       'cer' for X.509, or 'pfx' for PKCS #12.
191842
191843                     · context  (str)  --  The  name  of the certificate store
191844                       location context.
191845
191846                     · store (str) -- The name of the certificate store.
191847
191848                     · exportable  (bool)   --   Mark   the   certificate   as
191849                       exportable. Only applicable to pfx format.
191850
191851                     · password (str) -- The password of the certificate. Only
191852                       applicable to pfx format. Note that  if  used  interac‐
191853                       tively,  the  password will be seen by all minions.  To
191854                       protect the password, use a state and get the  password
191855                       from pillar.
191856
191857                     · saltenv (str) -- The environment the file resides in.
191858
191859              Returns
191860                     A boolean representing whether all changes succeeded.
191861
191862              Return type
191863                     bool
191864
191865              CLI Example:
191866
191867                 salt '*' win_pki.import_cert name='salt://cert.cer'
191868
191869       salt.modules.win_pki.remove_cert(thumbprint,   context=u'LocalMachine',
191870       store=u'My')
191871              Remove the certificate from the given certificate store.
191872
191873              Parameters
191874
191875                     · thumbprint (str) -- The thumbprint value of the  target
191876                       certificate.
191877
191878                     · context  (str)  --  The  name  of the certificate store
191879                       location context.
191880
191881                     · store (str) -- The name of the certificate store.
191882
191883              Returns
191884                     A boolean representing whether all changes succeeded.
191885
191886              Return type
191887                     bool
191888
191889              CLI Example:
191890
191891                 salt '*' win_pki.remove_cert thumbprint='AAA000'
191892
191893       salt.modules.win_pki.test_cert(thumbprint,     context=u'LocalMachine',
191894       store=u'My', untrusted_root=False, dns_name=u'', eku=u'')
191895              Check the certificate for validity.
191896
191897              Parameters
191898
191899                     · thumbprint  (str) -- The thumbprint value of the target
191900                       certificate.
191901
191902                     · context (str) -- The  name  of  the  certificate  store
191903                       location context.
191904
191905                     · store (str) -- The name of the certificate store.
191906
191907                     · untrusted_root  (bool)  -- Whether the root certificate
191908                       is required to be trusted in chain building.
191909
191910                     · dns_name (str) -- The DNS name to verify as  valid  for
191911                       the certificate.
191912
191913                     · eku  (str) -- The enhanced key usage object identifiers
191914                       to verify for the certificate chain.
191915
191916              Returns
191917                     A boolean representing whether the certificate  was  con‐
191918                     sidered valid.
191919
191920              Return type
191921                     bool
191922
191923              CLI Example:
191924
191925                 salt '*' win_pki.test_cert thumbprint='AAA000' dns_name='example.test'
191926
191927   salt.modules.win_powercfg
191928       This  module allows you to control the power settings of a windows min‐
191929       ion via powercfg.
191930
191931       New in version 2015.8.0.
191932
191933
191934          # Set monitor to never turn off on Battery power
191935          salt '*' powercfg.set_monitor_timeout 0 power=dc
191936          # Set disk timeout to 120 minutes on AC power
191937          salt '*' powercfg.set_disk_timeout 120 power=ac
191938
191939       salt.modules.win_powercfg.get_disk_timeout(scheme=None)
191940              Get the current disk timeout of the given scheme
191941
191942              Parameters
191943                     scheme (str) --
191944
191945                     The scheme to use, leave as  None  to  use  the  current.
191946                     Default  is  None.  This can be the GUID or the Alias for
191947                     the Scheme. Known Aliases are:
191948
191949                        · SCHEME_BALANCED - Balanced
191950
191951                        · SCHEME_MAX - Power saver
191952
191953                        · SCHEME_MIN - High performance
191954
191955
191956              Returns
191957                     A dictionary of both the AC and DC settings
191958
191959              Return type
191960                     dict
191961
191962              CLI Example:
191963
191964                 salt '*' powercfg.get_disk_timeout
191965
191966       salt.modules.win_powercfg.get_hibernate_timeout(scheme=None)
191967              Get the current hibernate timeout of the given scheme
191968
191969                 scheme (str):
191970                        The scheme to use, leave as None to use  the  current.
191971                        Default is None. This can be the GUID or the Alias for
191972                        the Scheme. Known Aliases are:
191973
191974                            · SCHEME_BALANCED - Balanced
191975
191976                            · SCHEME_MAX - Power saver
191977
191978                            · SCHEME_MIN - High performance
191979
191980              Returns
191981                     A dictionary of both the AC and DC settings
191982
191983              Return type
191984                     dict
191985
191986              CLI Example:
191987
191988                 salt '*' powercfg.get_hibernate_timeout
191989
191990       salt.modules.win_powercfg.get_monitor_timeout(scheme=None)
191991              Get the current monitor timeout of the given scheme
191992
191993              Parameters
191994                     scheme (str) --
191995
191996                     The scheme to use, leave as  None  to  use  the  current.
191997                     Default  is  None.  This can be the GUID or the Alias for
191998                     the Scheme. Known Aliases are:
191999
192000                        · SCHEME_BALANCED - Balanced
192001
192002                        · SCHEME_MAX - Power saver
192003
192004                        · SCHEME_MIN - High performance
192005
192006
192007              Returns
192008                     A dictionary of both the AC and DC settings
192009
192010              Return type
192011                     dict
192012
192013              CLI Example:
192014
192015                 salt '*' powercfg.get_monitor_timeout
192016
192017       salt.modules.win_powercfg.get_standby_timeout(scheme=None)
192018              Get the current standby timeout of the given scheme
192019
192020                 scheme (str):
192021                        The scheme to use, leave as None to use  the  current.
192022                        Default is None. This can be the GUID or the Alias for
192023                        the Scheme. Known Aliases are:
192024
192025                            · SCHEME_BALANCED - Balanced
192026
192027                            · SCHEME_MAX - Power saver
192028
192029                            · SCHEME_MIN - High performance
192030
192031              Returns
192032                     A dictionary of both the AC and DC settings
192033
192034              Return type
192035                     dict
192036
192037              CLI Example:
192038
192039                 salt '*' powercfg.get_standby_timeout
192040
192041       salt.modules.win_powercfg.set_disk_timeout(timeout,        power=u'ac',
192042       scheme=None)
192043              Set the disk timeout in minutes for the given power scheme
192044
192045              Parameters
192046
192047                     · timeout  (int)  -- The amount of time in minutes before
192048                       the disk will timeout
192049
192050                     · power (str) --
192051
192052                       Set the value for AC or DC power. Default is ac.  Valid
192053                       options are:
192054
192055                          · ac (AC Power)
192056
192057                          · dc (Battery)
192058
192059
192060                     · scheme (str) --
192061
192062                       The  scheme  to  use, leave as None to use the current.
192063                       Default is None. This can be the GUID or the Alias  for
192064                       the Scheme. Known Aliases are:
192065
192066                          · SCHEME_BALANCED - Balanced
192067
192068                          · SCHEME_MAX - Power saver
192069
192070                          · SCHEME_MIN - High performance
192071
192072
192073              Returns
192074                     True if successful, otherwise False
192075
192076              Return type
192077                     bool
192078
192079              CLI Example:
192080
192081                 # Sets the disk timeout to 30 minutes on battery
192082                 salt '*' powercfg.set_disk_timeout 30 power=dc
192083
192084       salt.modules.win_powercfg.set_hibernate_timeout(timeout,   power=u'ac',
192085       scheme=None)
192086              Set the hibernate timeout in minutes for the given power scheme
192087
192088              Parameters
192089
192090                     · timeout (int) -- The amount of time in  minutes  before
192091                       the computer hibernates
192092
192093                     · power (str) --
192094
192095                       Set  the value for AC or DC power. Default is ac. Valid
192096                       options are:
192097
192098                          · ac (AC Power)
192099
192100                          · dc (Battery)
192101
192102
192103                     · scheme (str) --
192104
192105                       The scheme to use, leave as None to  use  the  current.
192106                       Default  is None. This can be the GUID or the Alias for
192107                       the Scheme. Known Aliases are:
192108
192109                          · SCHEME_BALANCED - Balanced
192110
192111                          · SCHEME_MAX - Power saver
192112
192113                          · SCHEME_MIN - High performance
192114
192115
192116              Returns
192117                     True if successful, otherwise False
192118
192119              Return type
192120                     bool
192121
192122              CLI Example:
192123
192124                 # Sets the hibernate timeout to 30 minutes on Battery
192125                 salt '*' powercfg.set_hibernate_timeout 30 power=dc
192126
192127       salt.modules.win_powercfg.set_monitor_timeout(timeout,     power=u'ac',
192128       scheme=None)
192129              Set the monitor timeout in minutes for the given power scheme
192130
192131              Parameters
192132
192133                     · timeout  (int)  -- The amount of time in minutes before
192134                       the monitor will timeout
192135
192136                     · power (str) --
192137
192138                       Set the value for AC or DC power. Default is ac.  Valid
192139                       options are:
192140
192141                          · ac (AC Power)
192142
192143                          · dc (Battery)
192144
192145
192146                     · scheme (str) --
192147
192148                       The  scheme  to  use, leave as None to use the current.
192149                       Default is None. This can be the GUID or the Alias  for
192150                       the Scheme. Known Aliases are:
192151
192152                          · SCHEME_BALANCED - Balanced
192153
192154                          · SCHEME_MAX - Power saver
192155
192156                          · SCHEME_MIN - High performance
192157
192158
192159              Returns
192160                     True if successful, otherwise False
192161
192162              Return type
192163                     bool
192164
192165              CLI Example:
192166
192167                 # Sets the monitor timeout to 30 minutes
192168                 salt '*' powercfg.set_monitor_timeout 30
192169
192170       salt.modules.win_powercfg.set_standby_timeout(timeout,     power=u'ac',
192171       scheme=None)
192172              Set the standby timeout in minutes for the given power scheme
192173
192174              Parameters
192175
192176                     · timeout (int) -- The amount of time in  minutes  before
192177                       the computer sleeps
192178
192179                     · power (str) --
192180
192181                       Set  the value for AC or DC power. Default is ac. Valid
192182                       options are:
192183
192184                          · ac (AC Power)
192185
192186                          · dc (Battery)
192187
192188
192189                     · scheme (str) --
192190
192191                       The scheme to use, leave as None to  use  the  current.
192192                       Default  is None. This can be the GUID or the Alias for
192193                       the Scheme. Known Aliases are:
192194
192195                          · SCHEME_BALANCED - Balanced
192196
192197                          · SCHEME_MAX - Power saver
192198
192199                          · SCHEME_MIN - High performance
192200
192201
192202              Returns
192203                     True if successful, otherwise False
192204
192205              Return type
192206                     bool
192207
192208              CLI Example:
192209
192210                 # Sets the system standby timeout to 30 minutes on Battery
192211                 salt '*' powercfg.set_standby_timeout 30 power=dc
192212
192213   salt.modules.win_psget module
192214       Module for managing PowerShell through PowerShellGet (PSGet)
192215
192216       depends
192217
192218              · PowerShell 5.0
192219
192220              · PSGet
192221
192222       Support for PowerShell
192223
192224       salt.modules.win_psget.avail_modules(desc=False)
192225              List available modules in registered Powershell module reposito‐
192226              ries.
192227
192228              Parameters
192229                     desc  (bool)  -- If True, the verbose description will be
192230                     returned.
192231
192232              CLI Example:
192233
192234                 salt 'win01' psget.avail_modules
192235                 salt 'win01' psget.avail_modules desc=True
192236
192237       salt.modules.win_psget.bootstrap()
192238              Make sure that nuget-anycpu.exe is installed.  This  will  down‐
192239              load the official nuget-anycpu.exe from the internet.
192240
192241              CLI Example:
192242
192243                 salt 'win01' psget.bootstrap
192244
192245       salt.modules.win_psget.get_repository(name)
192246              Get the details of a local PSGet repository
192247
192248              Parameters
192249                     name (str) -- Name of the repository
192250
192251              CLI Example:
192252
192253                 salt 'win01' psget.get_repository MyRepo
192254
192255       salt.modules.win_psget.install(name,              minimum_version=None,
192256       required_version=None, scope=None, repository=None)
192257              Install a Powershell module from powershell gallery on the  sys‐
192258              tem.
192259
192260              Parameters
192261
192262                     · name (str) -- Name of a Powershell module
192263
192264                     · minimum_version   (str)   --  The  maximum  version  to
192265                       install, e.g. 1.23.2
192266
192267                     · required_version (str) -- Install a specific version
192268
192269                     · scope (str) -- The scope to install the module to, e.g.
192270                       CurrentUser, Computer
192271
192272                     · repository  (str)  --  The  friendly  name of a private
192273                       repository, e.g. MyREpo
192274
192275              CLI Example:
192276
192277                 salt 'win01' psget.install PowerPlan
192278
192279       salt.modules.win_psget.list_modules(desc=False)
192280              List currently installed PSGet Modules on the system.
192281
192282              Parameters
192283                     desc (bool) -- If True, the verbose description  will  be
192284                     returned.
192285
192286              CLI Example:
192287
192288                 salt 'win01' psget.list_modules
192289                 salt 'win01' psget.list_modules desc=True
192290
192291       salt.modules.win_psget.register_repository(name,   location,  installa‐
192292       tion_policy=None)
192293              Register a PSGet repository on the local machine
192294
192295              Parameters
192296
192297                     · name (str) -- The name for the repository
192298
192299                     · location (str) -- The URI for the repository
192300
192301                     · installation_policy (str) --  The  installation  policy
192302                       for packages, e.g. Trusted, Untrusted
192303
192304              CLI Example:
192305
192306                 salt 'win01' psget.register_repository MyRepo https://myrepo.mycompany.com/packages
192307
192308       salt.modules.win_psget.remove(name)
192309              Remove a Powershell DSC module from the system.
192310
192311              Parameters
192312                     name (str) -- Name of a Powershell DSC module
192313
192314              CLI Example:
192315
192316                 salt 'win01' psget.remove PowerPlan
192317
192318       salt.modules.win_psget.update(name, maximum_version=None, required_ver‐
192319       sion=None)
192320              Update a PowerShell module to a specific version, or the newest
192321
192322              Parameters
192323
192324                     · name (str) -- Name of a Powershell module
192325
192326                     · maximum_version  (str)  --  The  maximum   version   to
192327                       install, e.g. 1.23.2
192328
192329                     · required_version (str) -- Install a specific version
192330
192331              CLI Example:
192332
192333                 salt 'win01' psget.update PowerPlan
192334
192335   salt.modules.winrepo
192336       Module to manage Windows software repo on a Standalone Minion
192337
192338       file_client: local must be set in the minion config file.
192339
192340       For documentation on Salt's Windows Repo feature, see here.
192341
192342       salt.modules.winrepo.genrepo()
192343              Generate winrepo_cachefile based on sls files in the winrepo_dir
192344
192345              CLI Example:
192346
192347                 salt-call winrepo.genrepo
192348
192349       salt.modules.winrepo.show_sls(name, saltenv=u'base')
192350              New in version 2015.8.0.
192351
192352
192353              Display  the  rendered  software  definition from a specific sls
192354              file in the local winrepo cache. This will parse all Jinja.  Run
192355              pkg.refresh_db  to pull the latest software definitions from the
192356              master.
192357
192358              NOTE:
192359                 This function does not ask a master for an sls file  to  ren‐
192360                 der. Instead it directly processes the file specified in name
192361
192362              Parameters
192363
192364                     · str  (saltenv) -- The name/path of the package you want
192365                       to view. This can be the
192366
192367                     · path to a file on the minion file system or a  file  on
192368                       the local (full) --
192369
192370                     · cache. (minion) --
192371
192372                     · str -- The default environment is base
192373
192374              Returns
192375                     Returns  a dictionary containing the rendered data struc‐
192376                     ture
192377
192378              Return type
192379                     dict
192380
192381              NOTE:
192382                 To use a file from the minion cache start from the local win‐
192383                 repo             root            (C:\salt\var\cache\salt\min‐
192384                 ion\files\base\win\repo-ng). If you have .sls files organized
192385                 in  subdirectories  you'll  have  to  denote them with .. For
192386                 example, if you have a test directory  in  the  winrepo  root
192387                 with  a gvim.sls file inside, would target that file like so:
192388                 test.gvim. Directories can be targeted as  well  as  long  as
192389                 they  contain  an init.sls inside. For example, if you have a
192390                 node directory with an init.sls inside, target that like  so:
192391                 node.
192392
192393              CLI Example:
192394
192395                 salt '*' winrepo.show_sls gvim
192396                 salt '*' winrepo.show_sls test.npp
192397                 salt '*' winrepo.show_sls C:\test\gvim.sls
192398
192399       salt.modules.winrepo.update_git_repos(clean=False)
192400              Checkout  git  repos containing Windows Software Package Defini‐
192401              tions.
192402
192403              IMPORTANT:
192404                 This function requires Git for Windows  to  be  installed  in
192405                 order  to  work.  When  installing,  make  sure  to select an
192406                 installation option which permits the git  executable  to  be
192407                 run from the Command Prompt.
192408
192409              clean  False Clean repo cachedirs which are not configured under
192410                     winrepo_remotes.
192411
192412                     NOTE:
192413                        This option only applies if either pygit2 or GitPython
192414                        is installed into Salt's bundled Python.
192415
192416                     WARNING:
192417                        This  argument  should  not be set to True if a mix of
192418                        git and non-git repo definitions are being used, as it
192419                        will  result  in  the  non-git  repo definitions being
192420                        removed.
192421
192422                     New in version 2015.8.0.
192423
192424
192425              CLI Example:
192426
192427                 salt-call winrepo.update_git_repos
192428
192429   salt.modules.win_servermanager
192430       Manage Windows features via the ServerManager  powershell  module.  Can
192431       list  available  and  installed  roles/features. Can install and remove
192432       roles/features.
192433
192434       maintainer
192435              Shane Lee <slee@saltstack.com>
192436
192437       platform
192438              Windows Server 2008R2 or greater
192439
192440       depends
192441              PowerShell module ServerManager
192442
192443       salt.modules.win_servermanager.install(feature,          recurse=False,
192444       restart=False, source=None, exclude=None)
192445              Install a feature
192446
192447              NOTE:
192448                 Some  features  require  reboot  after un/installation, if so
192449                 until the server is  restarted  other  features  can  not  be
192450                 installed!
192451
192452              NOTE:
192453                 Some  features  take a long time to complete un/installation,
192454                 set -t with a long timeout
192455
192456              Parameters
192457
192458                     · feature (str, list) --
192459
192460                       The name of the feature(s) to install. This  can  be  a
192461                       single  feature, a string of features in a comma delim‐
192462                       ited list (no spaces), or a list of features.
192463
192464                       New in version 2018.3.0: Added the ability  to  pass  a
192465                       list of features to be installed.
192466
192467
192468
192469                     · recurse  (Options[bool])  --  Install all sub-features.
192470                       Default is False
192471
192472                     · restart (Optional[bool]) -- Restarts the computer  when
192473                       installation  is complete, if required by the role/fea‐
192474                       ture installed. Will also trigger a reboot if  an  item
192475                       in  exclude  requires  a reboot to be properly removed.
192476                       Default is False
192477
192478                     · source (Optional[str]) -- Path to the source  files  if
192479                       missing  from  the  target  system. None means that the
192480                       system will use windows update  services  to  find  the
192481                       required files. Default is None
192482
192483                     · exclude (Optional[str]) --
192484
192485                       The  name of the feature to exclude when installing the
192486                       named feature. This can be a single feature,  a  string
192487                       of features in a comma-delimited list (no spaces), or a
192488                       list of features.
192489
192490                       WARNING:
192491                          As there is no exclude option for  the  Add-Windows‐
192492                          Feature  or  Install-WindowsFeature  PowerShell com‐
192493                          mands  the  features  named  in  exclude   will   be
192494                          installed  with  other sub-features and will then be
192495                          removed. If the feature named in ``exclude`` is  not
192496                          a  sub-feature of one of the installed items it will
192497                          still be removed.
192498
192499
192500              Returns
192501                     A dictionary containing the results of the install
192502
192503              Return type
192504                     dict
192505
192506              CLI Example:
192507
192508                 # Install the Telnet Client passing a single string
192509                 salt '*' win_servermanager.install Telnet-Client
192510
192511                 # Install the TFTP Client and the SNMP Service passing a comma-delimited
192512                 # string. Install all sub-features
192513                 salt '*' win_servermanager.install TFTP-Client,SNMP-Service recurse=True
192514
192515                 # Install the TFTP Client from d:\side-by-side
192516                 salt '*' win_servermanager.install TFTP-Client source=d:\\side-by-side
192517
192518                 # Install the XPS Viewer, SNMP Service, and Remote Access passing a
192519                 # list. Install all sub-features, but exclude the Web Server
192520                 salt '*' win_servermanager.install "['XPS-Viewer', 'SNMP-Service', 'RemoteAccess']" True recurse=True exclude="Web-Server"
192521
192522       salt.modules.win_servermanager.list_available()
192523              List available features to install
192524
192525              Returns
192526                     A list of available features as returned by the  Get-Win‐
192527                     dowsFeature PowerShell command
192528
192529              Return type
192530                     str
192531
192532              CLI Example:
192533
192534                 salt '*' win_servermanager.list_available
192535
192536       salt.modules.win_servermanager.list_installed()
192537              List  installed  features.  Supported on Windows Server 2008 and
192538              Windows 8 and newer.
192539
192540              Returns
192541                     A dictionary of installed features
192542
192543              Return type
192544                     dict
192545
192546              CLI Example:
192547
192548                 salt '*' win_servermanager.list_installed
192549
192550       salt.modules.win_servermanager.remove(feature,    remove_payload=False,
192551       restart=False)
192552              Remove an installed feature
192553
192554              NOTE:
192555                 Some features require a reboot after installation/uninstalla‐
192556                 tion. If one of these features are modified, then other  fea‐
192557                 tures  cannot  be  installed  until  the server is restarted.
192558                 Additionally, some features take a while to complete  instal‐
192559                 lation/uninstallation,  so  it  is  a good idea to use the -t
192560                 option to set a longer timeout.
192561
192562              Parameters
192563
192564                     · feature (str, list) --
192565
192566                       The name of the feature(s) to remove.  This  can  be  a
192567                       single  feature, a string of features in a comma delim‐
192568                       ited list (no spaces), or a list of features.
192569
192570                       New in version 2018.3.0: Added the ability  to  pass  a
192571                       list of features to be removed.
192572
192573
192574
192575                     · remove_payload  (Optional[bool]) -- True will cause the
192576                       feature to  be  removed  from  the  side-by-side  store
192577                       (%SystemDrive%:\Windows\WinSxS). Default is False
192578
192579                     · restart  (Optional[bool]) -- Restarts the computer when
192580                       uninstall is complete, if required by the  role/feature
192581                       removed. Default is False
192582
192583              Returns
192584                     A dictionary containing the results of the uninstall
192585
192586              Return type
192587                     dict
192588
192589              CLI Example:
192590
192591                 salt -t 600 '*' win_servermanager.remove Telnet-Client
192592
192593   salt.modules.win_service
192594       Windows Service module.
192595
192596       Changed in version 2016.11.0: - Rewritten to use PyWin32
192597
192598
192599       salt.modules.win_service.available(name)
192600              Check if a service is available on the system.
192601
192602              Parameters
192603                     name (str) -- The name of the service to check
192604
192605              Returns
192606                     True if the service is available, False otherwise
192607
192608              Return type
192609                     bool
192610
192611              CLI Example:
192612
192613                 salt '*' service.available <service name>
192614
192615       salt.modules.win_service.create(name,   bin_path,  exe_args=None,  dis‐
192616       play_name=None,         description=None,          service_type=u'own',
192617       start_type=u'manual',   start_delayed=False,   error_control=u'normal',
192618       load_order_group=None,  dependencies=None,  account_name=u'.\\LocalSys‐
192619       tem', account_password=None, run_interactive=False, **kwargs)
192620              Create the named service.
192621
192622              New in version 2015.8.0.
192623
192624
192625              Parameters
192626
192627                     · name  (str)  -- Specifies the service name. This is not
192628                       the display_name
192629
192630                     · bin_path (str) -- Specifies the  path  to  the  service
192631                       binary   file.   Backslashes   must   be  escaped,  eg:
192632                       C:\path\to\binary.exe
192633
192634                     · exe_args (str) -- Any additional arguments required  by
192635                       the service binary.
192636
192637                     · display_name  (str)  -- The name to be displayed in the
192638                       service manager. If not passed, the name will be used
192639
192640                     · description (str) -- A description of the service
192641
192642                     · service_type (str) --
192643
192644                       Specifies the  service  type.  Default  is  own.  Valid
192645                       options are as follows:
192646
192647                       · kernel: Driver service
192648
192649                       · filesystem: File system driver service
192650
192651                       · adapter: Adapter driver service (reserved)
192652
192653                       · recognizer: Recognizer driver service (reserved)
192654
192655                       · own (default): Service runs in its own process
192656
192657                       · share:  Service  shares  a  process  with one or more
192658                         other services
192659
192660
192661                     · start_type (str) --
192662
192663                       Specifies the service start type. Valid options are  as
192664                       follows:
192665
192666                       · boot: Device driver that is loaded by the boot loader
192667
192668                       · system:  Device  driver that is started during kernel
192669                         initialization
192670
192671                       · auto: Service that automatically starts
192672
192673                       · manual (default): Service must be started manually
192674
192675                       · disabled: Service cannot be started
192676
192677
192678                     · start_delayed (bool) -- Set the service to Auto(Delayed
192679                       Start). Only valid if the start_type is set to Auto. If
192680                       service_type is not passed, but the service is  already
192681                       set  to  Auto,  then  the  flag will be set. Default is
192682                       False
192683
192684                     · error_control (str) --
192685
192686                       The severity of the error, and action  taken,  if  this
192687                       service fails to start. Valid options are as follows:
192688
192689                       · normal (normal): Error is logged and a message box is
192690                         displayed
192691
192692                       · severe: Error  is  logged  and  computer  attempts  a
192693                         restart with the last known good configuration
192694
192695                       · critical:  Error  is  logged,  computer  attempts  to
192696                         restart with the last known good configuration,  sys‐
192697                         tem halts on failure
192698
192699                       · ignore:  Error  is  logged  and startup continues, no
192700                         notification is given to the user
192701
192702
192703                     · load_order_group (str) -- The name of  the  load  order
192704                       group to which this service belongs
192705
192706                     · dependencies  (list)  --  A  list  of  services or load
192707                       ordering groups that must start before this service
192708
192709                     · account_name (str) --
192710
192711                       The name of the account under which the service  should
192712                       run.  For  own  type  services  this  should  be in the
192713                       domain\username format. The following are  examples  of
192714                       valid built-in service accounts:
192715
192716                       · NT AuthorityLocalService
192717
192718                       · NT AuthorityNetworkService
192719
192720                       · NT AuthorityLocalSystem
192721
192722                       · .LocalSystem
192723
192724
192725                     · account_password  (str) -- The password for the account
192726                       name specified in account_name. For the above  built-in
192727                       accounts,  this  can be None. Otherwise a password must
192728                       be specified.
192729
192730                     · run_interactive (bool) -- If this setting is True,  the
192731                       service  will be allowed to interact with the user. Not
192732                       recommended for services that run with elevated  privi‐
192733                       leges.
192734
192735              Returns
192736                     A dictionary containing information about the new service
192737
192738              Return type
192739                     dict
192740
192741              CLI Example:
192742
192743                 salt '*' service.create <service name> <path to exe> display_name='<display name>'
192744
192745       salt.modules.win_service.create_win_salt_restart_task()
192746              Create a task in Windows task scheduler to enable restarting the
192747              salt-minion
192748
192749              Returns
192750                     True if successful, otherwise False
192751
192752              Return type
192753                     bool
192754
192755              CLI Example:
192756
192757                 salt '*' service.create_win_salt_restart_task()
192758
192759       salt.modules.win_service.delete(name, timeout=90)
192760              Delete the named service
192761
192762              Parameters
192763
192764                     · name (str) -- The name of the service to delete
192765
192766                     · timeout (int) --
192767
192768                       The time in seconds to  wait  for  the  service  to  be
192769                       deleted  before  returning. This is necessary because a
192770                       service must be  stopped  before  it  can  be  deleted.
192771                       Default is 90 seconds
192772
192773                       New in version 2017.7.9,2018.3.4.
192774
192775
192776
192777              Returns
192778
192779                     True if successful, otherwise False. Also returns True
192780                            if the service is not present
192781
192782
192783              Return type
192784                     bool
192785
192786              CLI Example:
192787
192788                 salt '*' service.delete <service name>
192789
192790       salt.modules.win_service.disable(name, **kwargs)
192791              Disable the named service to start at boot
192792
192793              Parameters
192794                     name (str) -- The name of the service to disable
192795
192796              Returns
192797                     True if disabled, False otherwise
192798
192799              Return type
192800                     bool
192801
192802              CLI Example:
192803
192804                 salt '*' service.disable <service name>
192805
192806       salt.modules.win_service.disabled(name)
192807              Check to see if the named service is disabled to start on boot
192808
192809              Parameters
192810                     name (str) -- The name of the service to check
192811
192812              Returns
192813                     True if the service is disabled
192814
192815              Return type
192816                     bool
192817
192818              CLI Example:
192819
192820                 salt '*' service.disabled <service name>
192821
192822       salt.modules.win_service.enable(name,               start_type=u'auto',
192823       start_delayed=False, **kwargs)
192824              Enable the named service to start at boot
192825
192826              Parameters
192827
192828                     · name (str) -- The name of the service to enable.
192829
192830                     · start_type (str) --
192831
192832                       Specifies the service start type. Valid options are  as
192833                       follows:
192834
192835                       · boot: Device driver that is loaded by the boot loader
192836
192837                       · system:  Device  driver that is started during kernel
192838                         initialization
192839
192840                       · auto: Service that automatically starts
192841
192842                       · manual: Service must be started manually
192843
192844                       · disabled: Service cannot be started
192845
192846
192847                     · start_delayed (bool) -- Set the service to Auto(Delayed
192848                       Start). Only valid if the start_type is set to Auto. If
192849                       service_type is not passed, but the service is  already
192850                       set to Auto, then the flag will be set.
192851
192852              Returns
192853                     True if successful, False otherwise
192854
192855              Return type
192856                     bool
192857
192858              CLI Example:
192859
192860                 salt '*' service.enable <service name>
192861
192862       salt.modules.win_service.enabled(name, **kwargs)
192863              Check to see if the named service is enabled to start on boot
192864
192865              Parameters
192866                     name (str) -- The name of the service to check
192867
192868              Returns
192869                     True if the service is set to start
192870
192871              Return type
192872                     bool
192873
192874              CLI Example:
192875
192876                 salt '*' service.enabled <service name>
192877
192878       salt.modules.win_service.execute_salt_restart_task()
192879              Run the Windows Salt restart task
192880
192881              Returns
192882                     True if successful, otherwise False
192883
192884              Return type
192885                     bool
192886
192887              CLI Example:
192888
192889                 salt '*' service.execute_salt_restart_task()
192890
192891       salt.modules.win_service.get_all()
192892              Return all installed services
192893
192894              Returns
192895                     Returns a list of all services on the system.
192896
192897              Return type
192898                     list
192899
192900              CLI Example:
192901
192902                 salt '*' service.get_all
192903
192904       salt.modules.win_service.get_disabled()
192905              Return  a  list  of  disabled services. Disabled is defined as a
192906              service that is marked 'Disabled' or 'Manual'.
192907
192908              Returns
192909                     A list of disabled services.
192910
192911              Return type
192912                     list
192913
192914              CLI Example:
192915
192916                 salt '*' service.get_disabled
192917
192918       salt.modules.win_service.get_enabled()
192919              Return a list of enabled services. Enabled is defined as a  ser‐
192920              vice that is marked to Auto Start.
192921
192922              Returns
192923                     A list of enabled services
192924
192925              Return type
192926                     list
192927
192928              CLI Example:
192929
192930                 salt '*' service.get_enabled
192931
192932       salt.modules.win_service.get_service_name(*args)
192933              The  Display  Name  is  what  is  displayed in Windows when ser‐
192934              vices.msc is executed.  Each Display Name has an associated Ser‐
192935              vice  Name  which is the actual name of the service.  This func‐
192936              tion allows you to discover the Service Name by returning a dic‐
192937              tionary  of Display Names and Service Names, or filter by adding
192938              arguments of Display Names.
192939
192940              If no args are passed, return a dict of all services  where  the
192941              keys  are  the service Display Names and the values are the Ser‐
192942              vice Names.
192943
192944              If arguments are passed, create a dict of Display Names and Ser‐
192945              vice Names
192946
192947              Returns
192948                     A dictionary of display names and service names
192949
192950              Return type
192951                     dict
192952
192953              CLI Examples:
192954
192955                 salt '*' service.get_service_name
192956                 salt '*' service.get_service_name 'Google Update Service (gupdate)' 'DHCP Client'
192957
192958       salt.modules.win_service.getsid(name)
192959              Return the SID for this windows service
192960
192961              Parameters
192962                     name (str) -- The name of the service for which to return
192963                     the SID
192964
192965              Returns
192966                     A string representing the SID for the service
192967
192968              Return type
192969                     str
192970
192971              CLI Example:
192972
192973                 salt '*' service.getsid <service name>
192974
192975       salt.modules.win_service.info(name)
192976              Get information about a service on the system
192977
192978              Parameters
192979                     name (str) -- The name of the service. This  is  not  the
192980                     display  name.  Use  get_service_name to find the service
192981                     name.
192982
192983              Returns
192984                     A dictionary containing information about the service.
192985
192986              Return type
192987                     dict
192988
192989              CLI Example:
192990
192991                 salt '*' service.info spooler
192992
192993       salt.modules.win_service.missing(name)
192994              The inverse of service.available.
192995
192996              Parameters
192997                     name (str) -- The name of the service to check
192998
192999              Returns
193000                     True if the service is missing, False otherwise
193001
193002              Return type
193003                     bool
193004
193005              CLI Example:
193006
193007                 salt '*' service.missing <service name>
193008
193009       salt.modules.win_service.modify(name,   bin_path=None,   exe_args=None,
193010       display_name=None,         description=None,         service_type=None,
193011       start_type=None,        start_delayed=None,         error_control=None,
193012       load_order_group=None,       dependencies=None,      account_name=None,
193013       account_password=None, run_interactive=None)
193014              Modify a service's parameters. Changes  will  not  be  made  for
193015              parameters that are not passed.
193016
193017              New in version 2016.11.0.
193018
193019
193020              Parameters
193021
193022                     · name  (str)  --  The  name of the service. Can be found
193023                       using the service.get_service_name function
193024
193025                     · bin_path (str) -- The path to the  service  executable.
193026                       Backslashes must be escaped, eg: C:\path\to\binary.exe
193027
193028                     · exe_args (str) -- Any arguments required by the service
193029                       executable
193030
193031                     · display_name (str) -- The name to display in  the  ser‐
193032                       vice manager
193033
193034                     · description (str) -- The description to display for the
193035                       service
193036
193037                     · service_type (str) --
193038
193039                       Specifies the  service  type.  Default  is  own.  Valid
193040                       options are as follows:
193041
193042                       · kernel: Driver service
193043
193044                       · filesystem: File system driver service
193045
193046                       · adapter: Adapter driver service (reserved)
193047
193048                       · recognizer: Recognizer driver service (reserved)
193049
193050                       · own (default): Service runs in its own process
193051
193052                       · share:  Service  shares  a  process  with one or more
193053                         other services
193054
193055
193056                     · start_type (str) --
193057
193058                       Specifies the service start type. Valid options are  as
193059                       follows:
193060
193061                       · boot: Device driver that is loaded by the boot loader
193062
193063                       · system:  Device  driver that is started during kernel
193064                         initialization
193065
193066                       · auto: Service that automatically starts
193067
193068                       · manual: Service must be started manually
193069
193070                       · disabled: Service cannot be started
193071
193072
193073                     · start_delayed (bool) -- Set the service to Auto(Delayed
193074                       Start). Only valid if the start_type is set to Auto. If
193075                       service_type is not passed, but the service is  already
193076                       set to Auto, then the flag will be set.
193077
193078                     · error_control (str) --
193079
193080                       The  severity  of  the error, and action taken, if this
193081                       service fails to start. Valid options are as follows:
193082
193083                       · normal: Error is logged and a  message  box  is  dis‐
193084                         played
193085
193086                       · severe:  Error  is  logged  and  computer  attempts a
193087                         restart with the last known good configuration
193088
193089                       · critical:  Error  is  logged,  computer  attempts  to
193090                         restart  with the last known good configuration, sys‐
193091                         tem halts on failure
193092
193093                       · ignore: Error is logged  and  startup  continues,  no
193094                         notification is given to the user
193095
193096
193097                     · load_order_group  (str)  --  The name of the load order
193098                       group to which this service belongs
193099
193100                     · dependencies (list) --  A  list  of  services  or  load
193101                       ordering groups that must start before this service
193102
193103                     · account_name (str) --
193104
193105                       The  name of the account under which the service should
193106                       run. For own  type  services  this  should  be  in  the
193107                       domain\username  format.  The following are examples of
193108                       valid built-in service accounts:
193109
193110                       · NT AuthorityLocalService
193111
193112                       · NT AuthorityNetworkService
193113
193114                       · NT AuthorityLocalSystem
193115
193116                       · .LocalSystem
193117
193118
193119                     · account_password (str) -- The password for the  account
193120                       name  specified in account_name. For the above built-in
193121                       accounts, this can be None. Otherwise a  password  must
193122                       be specified.
193123
193124                     · run_interactive  (bool) -- If this setting is True, the
193125                       service will be allowed to interact with the user.  Not
193126                       recommended  for services that run with elevated privi‐
193127                       leges.
193128
193129              Returns
193130                     a dictionary of changes made
193131
193132              Return type
193133                     dict
193134
193135              CLI Example:
193136
193137                 salt '*' service.modify spooler start_type=disabled
193138
193139       salt.modules.win_service.restart(name, timeout=90)
193140              Restart the named service. This issues a stop  command  followed
193141              by a start.
193142
193143              Parameters
193144
193145                     · name --
193146
193147                       The name of the service to restart.
193148
193149                       NOTE:
193150                          If  the  name passed is salt-minion a scheduled task
193151                          is created and executed to restart  the  salt-minion
193152                          service.
193153
193154
193155                     · timeout (int) --
193156
193157                       The time in seconds to wait for the service to stop and
193158                       start before returning. Default is 90 seconds
193159
193160                       NOTE:
193161                          The timeout is cumulative meaning it is  applied  to
193162                          the stop and then to the start command. A timeout of
193163                          90 could take up to 180 seconds if  the  service  is
193164                          long in stopping and starting
193165
193166                       New in version 2017.7.9,2018.3.4.
193167
193168
193169
193170              Returns
193171                     True if successful, otherwise False
193172
193173              Return type
193174                     bool
193175
193176              CLI Example:
193177
193178                 salt '*' service.restart <service name>
193179
193180       salt.modules.win_service.start(name, timeout=90)
193181              Start the specified service.
193182
193183              WARNING:
193184                 You  cannot  start a disabled service in Windows. If the ser‐
193185                 vice is disabled, it will be changed to Manual start.
193186
193187              Parameters
193188
193189                     · name (str) -- The name of the service to start
193190
193191                     · timeout (int) --
193192
193193                       The time in seconds to wait for the  service  to  start
193194                       before returning. Default is 90 seconds
193195
193196                       New in version 2017.7.9,2018.3.4.
193197
193198
193199
193200              Returns
193201
193202                     True if successful, otherwise False. Also returns True
193203                            if the service is already started
193204
193205
193206              Return type
193207                     bool
193208
193209              CLI Example:
193210
193211                 salt '*' service.start <service name>
193212
193213       salt.modules.win_service.status(name, *args, **kwargs)
193214              Return the status for a service.  If the name contains globbing,
193215              a dict mapping service name to True/False values is returned.
193216
193217              Changed in version 2018.3.0: The service name can now be a  glob
193218              (e.g. salt*)
193219
193220
193221              Parameters
193222                     name (str) -- The name of the service to check
193223
193224              Returns
193225                     True  if running, False otherwise dict: Maps service name
193226                     to True if running, False otherwise
193227
193228              Return type
193229                     bool
193230
193231              CLI Example:
193232
193233                 salt '*' service.status <service name>
193234
193235       salt.modules.win_service.stop(name, timeout=90)
193236              Stop the specified service
193237
193238              Parameters
193239
193240                     · name (str) -- The name of the service to stop
193241
193242                     · timeout (int) --
193243
193244                       The time in seconds to wait for  the  service  to  stop
193245                       before returning. Default is 90 seconds
193246
193247                       New in version 2017.7.9,2018.3.4.
193248
193249
193250
193251              Returns
193252
193253                     True if successful, otherwise False. Also returns True
193254                            if the service is already stopped
193255
193256
193257              Return type
193258                     bool
193259
193260              CLI Example:
193261
193262                 salt '*' service.stop <service name>
193263
193264   salt.modules.win_shadow
193265       Manage the shadow file
193266
193267       IMPORTANT:
193268          If  you  feel  that Salt should be using this module to manage pass‐
193269          words on a minion, and it is using a different module (or  gives  an
193270          error similar to 'shadow.info' is not available), see here.
193271
193272       salt.modules.win_shadow.info(name)
193273              Return  information  for the specified user This is just returns
193274              dummy data so that salt states can work.
193275
193276              Parameters
193277                     name (str) -- The name of the user account to show.
193278
193279              CLI Example:
193280
193281                 salt '*' shadow.info root
193282
193283       salt.modules.win_shadow.require_password_change(name)
193284              Require the user to change their password the next time they log
193285              in.
193286
193287              Parameters
193288                     name  --  The name of the user account to require a pass‐
193289                     word change.
193290
193291              Returns
193292                     True if successful. False if unsuccessful.
193293
193294              Return type
193295                     bool
193296
193297              CLI Example:
193298
193299                 salt '*' shadow.require_password_change <username>
193300
193301       salt.modules.win_shadow.set_expire(name, expire)
193302              Set the expiration date for a user account.
193303
193304              Parameters
193305
193306                     · name -- The name of the user account to edit.
193307
193308                     · expire -- The date the account will expire.
193309
193310              Returns
193311                     True if successful. False if unsuccessful.
193312
193313              Return type
193314                     bool
193315
193316              CLI Example:
193317
193318                 salt '*' shadow.set_expire <username> 2016/7/1
193319
193320       salt.modules.win_shadow.set_password(name, password)
193321              Set the password for a named user.
193322
193323              Parameters
193324
193325                     · name (str) -- The name of the user account
193326
193327                     · password (str) -- The new password
193328
193329              Returns
193330                     True if successful. False if unsuccessful.
193331
193332              Return type
193333                     bool
193334
193335              CLI Example:
193336
193337                 salt '*' shadow.set_password root mysecretpassword
193338
193339       salt.modules.win_shadow.unlock_account(name)
193340              Unlocks a user account.
193341
193342              Parameters
193343                     name -- The name of the user account to unlock.
193344
193345              Returns
193346                     True if successful. False if unsuccessful.
193347
193348              Return type
193349                     bool
193350
193351              CLI Example:
193352
193353                 salt '*' shadow.unlock_account <username>
193354
193355   salt.modules.win_smtp_server module
193356       Module for managing IIS SMTP server configuration on  Windows  servers.
193357       The Windows features 'SMTP-Server' and 'Web-WMI' must be installed.
193358
193359       depends
193360              wmi
193361
193362       salt.modules.win_smtp_server.get_connection_ip_list(as_wmi_for‐
193363       mat=False, server=u'SmtpSvc/1')
193364              Get the IPGrant list for the SMTP virtual server.
193365
193366              Parameters
193367
193368                     · as_wmi_format (bool) -- Returns the connection IPs as a
193369                       list in the format WMI expects.
193370
193371                     · server (str) -- The SMTP server name.
193372
193373              Returns
193374                     A dictionary of the IP and subnet pairs.
193375
193376              Return type
193377                     dict
193378
193379              CLI Example:
193380
193381                 salt '*' win_smtp_server.get_connection_ip_list
193382
193383       salt.modules.win_smtp_server.get_log_format(server=u'SmtpSvc/1')
193384              Get the active log format for the SMTP virtual server.
193385
193386              Parameters
193387                     server (str) -- The SMTP server name.
193388
193389              Returns
193390                     A string of the log format name.
193391
193392              Return type
193393                     str
193394
193395              CLI Example:
193396
193397                 salt '*' win_smtp_server.get_log_format
193398
193399       salt.modules.win_smtp_server.get_log_format_types()
193400              Get all available log format names and ids.
193401
193402              Returns
193403                     A dictionary of the log format names and ids.
193404
193405              Return type
193406                     dict
193407
193408              CLI Example:
193409
193410                 salt '*' win_smtp_server.get_log_format_types
193411
193412       salt.modules.win_smtp_server.get_relay_ip_list(server=u'SmtpSvc/1')
193413              Get the RelayIpList list for the SMTP virtual server.
193414
193415              Parameters
193416                     server (str) -- The SMTP server name.
193417
193418              Returns
193419                     A list of the relay IPs.
193420
193421              Return type
193422                     list
193423
193424              NOTE:
193425                 A  return  value of None corresponds to the restrictive 'Only
193426                 the list below' GUI parameter with an empty access list,  and
193427                 setting  an  empty list/tuple corresponds to the more permis‐
193428                 sive 'All except the list below' GUI parameter.
193429
193430              CLI Example:
193431
193432                 salt '*' win_smtp_server.get_relay_ip_list
193433
193434       salt.modules.win_smtp_server.get_server_setting(settings,
193435       server=u'SmtpSvc/1')
193436              Get the value of the setting for the SMTP virtual server.
193437
193438              Parameters
193439
193440                     · settings (str) -- A list of the setting names.
193441
193442                     · server (str) -- The SMTP server name.
193443
193444              Returns
193445                     A dictionary of the provided settings and their values.
193446
193447              Return type
193448                     dict
193449
193450              CLI Example:
193451
193452                 salt '*' win_smtp_server.get_server_setting settings="['MaxRecipients']"
193453
193454       salt.modules.win_smtp_server.get_servers()
193455              Get the SMTP virtual server names.
193456
193457              Returns
193458                     A list of the SMTP virtual servers.
193459
193460              Return type
193461                     list
193462
193463              CLI Example:
193464
193465                 salt '*' win_smtp_server.get_servers
193466
193467       salt.modules.win_smtp_server.set_connection_ip_list(addresses=None,
193468       grant_by_default=False, server=u'SmtpSvc/1')
193469              Set the IPGrant list for the SMTP virtual server.
193470
193471              Parameters
193472
193473                     · addresses (str) -- A dictionary of IP + subnet pairs.
193474
193475                     · grant_by_default (bool) -- Whether the addresses should
193476                       be a blacklist or whitelist.
193477
193478                     · server (str) -- The SMTP server name.
193479
193480              Returns
193481                     A boolean representing whether the change succeeded.
193482
193483              Return type
193484                     bool
193485
193486              CLI Example:
193487
193488                 salt '*' win_smtp_server.set_connection_ip_list addresses="{'127.0.0.1': '255.255.255.255'}"
193489
193490       salt.modules.win_smtp_server.set_log_format(log_format,
193491       server=u'SmtpSvc/1')
193492              Set the active log format for the SMTP virtual server.
193493
193494              Parameters
193495
193496                     · log_format (str) -- The log format name.
193497
193498                     · server (str) -- The SMTP server name.
193499
193500              Returns
193501                     A boolean representing whether the change succeeded.
193502
193503              Return type
193504                     bool
193505
193506              CLI Example:
193507
193508                 salt '*' win_smtp_server.set_log_format 'Microsoft IIS Log File Format'
193509
193510       salt.modules.win_smtp_server.set_relay_ip_list(addresses=None,
193511       server=u'SmtpSvc/1')
193512              Set the RelayIpList list for the SMTP virtual server.
193513
193514              Due  to the unusual way that Windows stores the relay IPs, it is
193515              advisable to retrieve the existing list you wish to set  from  a
193516              pre-configured server.
193517
193518              For  example, setting '127.0.0.1' as an allowed relay IP through
193519              the GUI would generate an actual relay IP list  similar  to  the
193520              following:
193521
193522                 ['24.0.0.128', '32.0.0.128', '60.0.0.128', '68.0.0.128', '1.0.0.0', '76.0.0.0',
193523                  '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',
193524                  '0.0.0.0', '76.0.0.128', '0.0.0.0', '0.0.0.0', '0.0.0.0', '0.0.0.0',
193525                  '255.255.255.255', '127.0.0.1']
193526
193527              NOTE:
193528                 Setting the list to None corresponds to the restrictive 'Only
193529                 the list below' GUI parameter with an empty access list  con‐
193530                 figured,  and  setting an empty list/tuple corresponds to the
193531                 more permissive 'All except the list below' GUI parameter.
193532
193533              Parameters
193534
193535                     · addresses (str) -- A list of the relay IPs.  The  order
193536                       of the list is important.
193537
193538                     · server (str) -- The SMTP server name.
193539
193540              Returns
193541                     A boolean representing whether the change succeeded.
193542
193543              Return type
193544                     bool
193545
193546              CLI Example:
193547
193548                 salt '*' win_smtp_server.set_relay_ip_list addresses="['192.168.1.1', '172.16.1.1']"
193549
193550       salt.modules.win_smtp_server.set_server_setting(settings,
193551       server=u'SmtpSvc/1')
193552              Set the value of the setting for the SMTP virtual server.
193553
193554              NOTE:
193555                 The setting names are case-sensitive.
193556
193557              Parameters
193558
193559                     · settings (str) -- A dictionary of the setting names and
193560                       their values.
193561
193562                     · server (str) -- The SMTP server name.
193563
193564              Returns
193565                     A boolean representing whether all changes succeeded.
193566
193567              Return type
193568                     bool
193569
193570              CLI Example:
193571
193572                 salt '*' win_smtp_server.set_server_setting settings="{'MaxRecipients': '500'}"
193573
193574   salt.modules.win_snmp module
193575       Module for managing SNMP service settings on Windows servers.  The Win‐
193576       dows feature 'SNMP-Service' must be installed.
193577
193578       salt.modules.win_snmp.get_agent_service_types()
193579              Get the sysServices types that can be configured.
193580
193581              Returns
193582                     A list of service types.
193583
193584              Return type
193585                     list
193586
193587              CLI Example:
193588
193589                 salt '*' win_snmp.get_agent_service_types
193590
193591       salt.modules.win_snmp.get_agent_settings()
193592              Determine the value of the  SNMP  sysContact,  sysLocation,  and
193593              sysServices settings.
193594
193595              Returns
193596                     A dictionary of the agent settings.
193597
193598              Return type
193599                     dict
193600
193601              CLI Example:
193602
193603                 salt '*' win_snmp.get_agent_settings
193604
193605       salt.modules.win_snmp.get_auth_traps_enabled()
193606              Determine  whether the host is configured to send authentication
193607              traps.
193608
193609              Returns
193610                     True if traps are enabled, otherwise False
193611
193612              Return type
193613                     bool
193614
193615              CLI Example:
193616
193617                 salt '*' win_snmp.get_auth_traps_enabled
193618
193619       salt.modules.win_snmp.get_community_names()
193620              Get the current accepted SNMP community names and their  permis‐
193621              sions.
193622
193623              If community names are being managed by Group Policy, those val‐
193624              ues will be returned instead like this:
193625
193626                 TestCommunity:
193627                     Managed by GPO
193628
193629              Community names managed  normally  will  denote  the  permission
193630              instead:
193631
193632                 TestCommunity:
193633                     Read Only
193634
193635              Returns
193636                     A dictionary of community names and permissions.
193637
193638              Return type
193639                     dict
193640
193641              CLI Example:
193642
193643                 salt '*' win_snmp.get_community_names
193644
193645       salt.modules.win_snmp.get_permission_types()
193646              Get the permission types that can be configured for communities.
193647
193648              Returns
193649                     A list of permission types.
193650
193651              Return type
193652                     list
193653
193654              CLI Example:
193655
193656                 salt '*' win_snmp.get_permission_types
193657
193658       salt.modules.win_snmp.set_agent_settings(contact=None,   location=None,
193659       services=None)
193660              Manage the SNMP sysContact, sysLocation,  and  sysServices  set‐
193661              tings.
193662
193663              Parameters
193664
193665                     · contact (str, optional) -- The SNMP contact.
193666
193667                     · location (str, optional) -- The SNMP location.
193668
193669                     · services  (list,  optional)  -- A list of selected ser‐
193670                       vices. The possible service  names  can  be  found  via
193671                       win_snmp.get_agent_service_types.   To disable all ser‐
193672                       vices pass a list of None, ie: ['None']
193673
193674              Returns
193675                     True if successful, otherwise False
193676
193677              Return type
193678                     bool
193679
193680              CLI Example:
193681
193682                 salt '*' win_snmp.set_agent_settings contact='Contact Name' location='Place' services="['Physical']"
193683
193684       salt.modules.win_snmp.set_auth_traps_enabled(status=True)
193685              Manage the sending of authentication traps.
193686
193687              Parameters
193688                     status (bool) -- True to enable traps. False to disable.
193689
193690              Returns
193691                     True if successful, otherwise False
193692
193693              Return type
193694                     bool
193695
193696              CLI Example:
193697
193698                 salt '*' win_snmp.set_auth_traps_enabled status='True'
193699
193700       salt.modules.win_snmp.set_community_names(communities)
193701              Manage the SNMP accepted community names and their permissions.
193702
193703              NOTE:
193704                 Settings managed by Group Policy will always take  precedence
193705                 over  those  set  using the SNMP interface. Therefore if this
193706                 function finds Group Policy settings it will raise a  Comman‐
193707                 dExecutionError
193708
193709              Parameters
193710                     communities  (dict)  --  A  dictionary  of SNMP community
193711                     names and permissions. The possible  permissions  can  be
193712                     found via win_snmp.get_permission_types.
193713
193714              Returns
193715                     True if successful, otherwise False
193716
193717              Return type
193718                     bool
193719
193720              Raises CommandExecutionError  -- If SNMP settings are being man‐
193721                     aged by Group Policy
193722
193723              CLI Example:
193724
193725                 salt '*' win_snmp.set_community_names communities="{'TestCommunity': 'Read Only'}'
193726
193727   salt.modules.win_status
193728       Module for returning various status data about a  minion.   These  data
193729       can be useful for compiling into stats later, or for problem solving if
193730       your minion is having problems.
193731
193732       New in version 0.12.0.
193733
193734
193735       depends
193736
193737              · wmi
193738
193739       class salt.modules.win_status.SYSTEM_PERFORMANCE_INFORMATION
193740
193741              AvailablePagedPoolPages
193742                     Structure/Union member
193743
193744              AvailablePages
193745                     Structure/Union member
193746
193747              CacheIoCount
193748                     Structure/Union member
193749
193750              CacheReadCount
193751                     Structure/Union member
193752
193753              CacheTransitionCount
193754                     Structure/Union member
193755
193756              CcCopyReadNoWait
193757                     Structure/Union member
193758
193759              CcCopyReadNoWaitMiss
193760                     Structure/Union member
193761
193762              CcCopyReadWait
193763                     Structure/Union member
193764
193765              CcCopyReadWaitMiss
193766                     Structure/Union member
193767
193768              CcDataFlushes
193769                     Structure/Union member
193770
193771              CcDataPages
193772                     Structure/Union member
193773
193774              CcDirtyPagesThreshold
193775                     Structure/Union member
193776
193777              CcFastMdlReadNoWait
193778                     Structure/Union member
193779
193780              CcFastMdlReadNotPossible
193781                     Structure/Union member
193782
193783              CcFastMdlReadResourceMiss
193784                     Structure/Union member
193785
193786              CcFastMdlReadWait
193787                     Structure/Union member
193788
193789              CcFastReadNoWait
193790                     Structure/Union member
193791
193792              CcFastReadNotPossible
193793                     Structure/Union member
193794
193795              CcFastReadResourceMiss
193796                     Structure/Union member
193797
193798              CcFastReadWait
193799                     Structure/Union member
193800
193801              CcLazyWriteIos
193802                     Structure/Union member
193803
193804              CcLazyWritePages
193805                     Structure/Union member
193806
193807              CcMapDataNoWait
193808                     Structure/Union member
193809
193810              CcMapDataNoWaitMiss
193811                     Structure/Union member
193812
193813              CcMapDataWait
193814                     Structure/Union member
193815
193816              CcMapDataWaitMiss
193817                     Structure/Union member
193818
193819              CcMdlReadNoWait
193820                     Structure/Union member
193821
193822              CcMdlReadNoWaitMiss
193823                     Structure/Union member
193824
193825              CcMdlReadWait
193826                     Structure/Union member
193827
193828              CcMdlReadWaitMiss
193829                     Structure/Union member
193830
193831              CcPinMappedDataCount
193832                     Structure/Union member
193833
193834              CcPinReadNoWait
193835                     Structure/Union member
193836
193837              CcPinReadNoWaitMiss
193838                     Structure/Union member
193839
193840              CcPinReadWait
193841                     Structure/Union member
193842
193843              CcPinReadWaitMiss
193844                     Structure/Union member
193845
193846              CcReadAheadIos
193847                     Structure/Union member
193848
193849              CcTotalDirtyPages
193850                     Structure/Union member
193851
193852              CommitLimit
193853                     Structure/Union member
193854
193855              CommittedPages
193856                     Structure/Union member
193857
193858              ContextSwitches
193859                     Structure/Union member
193860
193861              CopyOnWriteCount
193862                     Structure/Union member
193863
193864              DemandZeroCount
193865                     Structure/Union member
193866
193867              DirtyPagesWriteCount
193868                     Structure/Union member
193869
193870              DirtyWriteIoCount
193871                     Structure/Union member
193872
193873              FirstLevelTbFills
193874                     Structure/Union member
193875
193876              FreeSystemPtes
193877                     Structure/Union member
193878
193879              IdleProcessTime
193880                     Structure/Union member
193881
193882              IoOtherOperationCount
193883                     Structure/Union member
193884
193885              IoOtherTransferCount
193886                     Structure/Union member
193887
193888              IoReadOperationCount
193889                     Structure/Union member
193890
193891              IoReadTransferCount
193892                     Structure/Union member
193893
193894              IoWriteOperationCount
193895                     Structure/Union member
193896
193897              IoWriteTransferCount
193898                     Structure/Union member
193899
193900              MappedPagesWriteCount
193901                     Structure/Union member
193902
193903              MappedWriteIoCount
193904                     Structure/Union member
193905
193906              NonPagedPoolAllocs
193907                     Structure/Union member
193908
193909              NonPagedPoolFrees
193910                     Structure/Union member
193911
193912              NonPagedPoolLookasideHits
193913                     Structure/Union member
193914
193915              NonPagedPoolPages
193916                     Structure/Union member
193917
193918              PageFaultCount
193919                     Structure/Union member
193920
193921              PageReadCount
193922                     Structure/Union member
193923
193924              PageReadIoCount
193925                     Structure/Union member
193926
193927              PagedPoolAllocs
193928                     Structure/Union member
193929
193930              PagedPoolFrees
193931                     Structure/Union member
193932
193933              PagedPoolLookasideHits
193934                     Structure/Union member
193935
193936              PagedPoolPages
193937                     Structure/Union member
193938
193939              PeakCommitment
193940                     Structure/Union member
193941
193942              ResidentAvailablePages
193943                     Structure/Union member
193944
193945              ResidentPagedPoolPage
193946                     Structure/Union member
193947
193948              ResidentSystemCachePage
193949                     Structure/Union member
193950
193951              ResidentSystemCodePage
193952                     Structure/Union member
193953
193954              ResidentSystemDriverPage
193955                     Structure/Union member
193956
193957              SecondLevelTbFills
193958                     Structure/Union member
193959
193960              SharedCommittedPages
193961                     Structure/Union member
193962
193963              SystemCalls
193964                     Structure/Union member
193965
193966              TotalSystemCodePages
193967                     Structure/Union member
193968
193969              TotalSystemDriverPages
193970                     Structure/Union member
193971
193972              TransitionCount
193973                     Structure/Union member
193974
193975       salt.modules.win_status.cpuload()
193976              New in version 2015.8.0.
193977
193978
193979              Return the processor load as a percentage
193980
193981              CLI Example:
193982
193983                 salt '*' status.cpuload
193984
193985       salt.modules.win_status.cpustats()
193986              Return information about the CPU.
193987
193988              Returns
193989                     dict: A dictionary containing information about  the  CPU
193990                     stats
193991
193992              CLI Example:
193993
193994                 salt * status.cpustats
193995
193996       salt.modules.win_status.diskusage(human_readable=False, path=None)
193997              New in version 2015.8.0.
193998
193999
194000              Return the disk usage for this minion
194001
194002              human_readable
194003                     False If True, usage will be in KB/MB/GB etc.
194004
194005              CLI Example:
194006
194007                 salt '*' status.diskusage path=c:/salt
194008
194009       salt.modules.win_status.loadavg()
194010              Returns counter information related to the load of the machine
194011
194012              Returns
194013                     A dictionary of counters
194014
194015              Return type
194016                     dict
194017
194018              CLI Example:
194019
194020                 salt * status.loadavg
194021
194022       salt.modules.win_status.master(master=None, connected=True)
194023              New in version 2015.5.0.
194024
194025
194026              Fire  an  event if the minion gets disconnected from its master.
194027              This function is meant to be run via a scheduled  job  from  the
194028              minion.  If master_ip is an FQDN/Hostname, is must be resolvable
194029              to a valid IPv4 address.
194030
194031              CLI Example:
194032
194033                 salt '*' status.master
194034
194035       salt.modules.win_status.meminfo()
194036              Return information about physical and virtual memory on the sys‐
194037              tem
194038
194039              Returns
194040                     A dictionary of information about memory on the system
194041
194042              Return type
194043                     dict
194044
194045              CLI Example:
194046
194047                 salt * status.meminfo
194048
194049       salt.modules.win_status.procs(count=False)
194050              Return the process data
194051
194052              count  False  If True, this function will simply return the num‐
194053                     ber of processes.
194054
194055                     New in version 2015.8.0.
194056
194057
194058              CLI Example:
194059
194060                 salt '*' status.procs
194061                 salt '*' status.procs count
194062
194063       salt.modules.win_status.saltmem(human_readable=False)
194064              New in version 2015.8.0.
194065
194066
194067              Returns the amount of memory that salt is using
194068
194069              human_readable
194070                     False return the value in a nicely formatted number
194071
194072              CLI Example:
194073
194074                 salt '*' status.saltmem
194075                 salt '*' status.saltmem human_readable=True
194076
194077       salt.modules.win_status.uptime(human_readable=False)
194078              New in version 2015.8.0.
194079
194080
194081              Return the system uptime for the machine
194082
194083              Parameters
194084                     human_readable (bool) --
194085
194086                     Return uptime in human readable format if True, otherwise
194087                     return seconds. Default is False
194088
194089                     NOTE:
194090                        Human  readable  format  is  days, hours:min:sec. Days
194091                        will only be displayed if more than 0
194092
194093
194094              Returns
194095                     The uptime in seconds or human readable format  depending
194096                     on the value of human_readable
194097
194098              Return type
194099                     str
194100
194101              CLI Example:
194102
194103                 salt '*' status.uptime
194104                 salt '*' status.uptime human_readable=True
194105
194106       salt.modules.win_status.vmstats()
194107              Return information about the virtual memory on the machine
194108
194109              Returns
194110                     A dictionary of virtual memory stats
194111
194112              Return type
194113                     dict
194114
194115              CLI Example:
194116
194117                 salt * status.vmstats
194118
194119   salt.modules.win_system
194120       Module for managing windows systems.
194121
194122       depends
194123
194124              · pywintypes
194125
194126              · win32api
194127
194128              · win32con
194129
194130              · win32net
194131
194132              · wmi
194133
194134       Support for reboot, shutdown, etc
194135
194136       salt.modules.win_system.get_computer_desc()
194137              Get the Windows computer description
194138
194139              Returns
194140                     Returns  the  computer  description  if  found. Otherwise
194141                     returns False.
194142
194143              Return type
194144                     str
194145
194146              CLI Example:
194147
194148                 salt 'minion-id' system.get_computer_desc
194149
194150       salt.modules.win_system.get_computer_name()
194151              Get the Windows computer name
194152
194153              Returns
194154                     Returns the computer name  if  found.  Otherwise  returns
194155                     False.
194156
194157              Return type
194158                     str
194159
194160              CLI Example:
194161
194162                 salt 'minion-id' system.get_computer_name
194163
194164       salt.modules.win_system.get_domain_workgroup()
194165              Get the domain or workgroup the computer belongs to.
194166
194167              New in version 2015.5.7.
194168
194169
194170              New in version 2015.8.2.
194171
194172
194173              Returns
194174                     The name of the domain or workgroup
194175
194176              Return type
194177                     str
194178
194179              CLI Example:
194180
194181                 salt 'minion-id' system.get_domain_workgroup
194182
194183       salt.modules.win_system.get_hostname()
194184              Get the hostname of the windows minion
194185
194186              New in version 2016.3.0.
194187
194188
194189              Returns
194190                     Returns the hostname of the windows minion
194191
194192              Return type
194193                     str
194194
194195              CLI Example:
194196
194197                 salt 'minion-id' system.get_hostname
194198
194199       salt.modules.win_system.get_pending_component_servicing()
194200              Determine  whether  there  are pending Component Based Servicing
194201              tasks that require a reboot.
194202
194203              New in version 2016.11.0.
194204
194205
194206              Returns
194207                     True if  there  are  pending  Component  Based  Servicing
194208                     tasks, otherwise False
194209
194210              Return type
194211                     bool
194212
194213              CLI Example:
194214
194215                 salt '*' system.get_pending_component_servicing
194216
194217       salt.modules.win_system.get_pending_computer_name()
194218              Get  a  pending  computer  name.  If  the computer name has been
194219              changed, and the change is pending a system reboot,  this  func‐
194220              tion will return the pending computer name. Otherwise, None will
194221              be returned. If there was an error retrieving the  pending  com‐
194222              puter name, False will be returned, and an error message will be
194223              logged to the minion log.
194224
194225              Returns
194226                     Returns the pending name if pending restart. Returns None
194227                     if not pending restart.
194228
194229              Return type
194230                     str
194231
194232              CLI Example:
194233
194234                 salt 'minion-id' system.get_pending_computer_name
194235
194236       salt.modules.win_system.get_pending_domain_join()
194237              Determine  whether  there  is  a pending domain join action that
194238              requires a reboot.
194239
194240              New in version 2016.11.0.
194241
194242
194243              Returns
194244                     True if there is a pending domain join action,  otherwise
194245                     False
194246
194247              Return type
194248                     bool
194249
194250              CLI Example:
194251
194252                 salt '*' system.get_pending_domain_join
194253
194254       salt.modules.win_system.get_pending_file_rename()
194255              Determine  whether there are pending file rename operations that
194256              require a reboot.
194257
194258              New in version 2016.11.0.
194259
194260
194261              Returns
194262                     True if there are pending file rename operations,  other‐
194263                     wise False
194264
194265              Return type
194266                     bool
194267
194268              CLI Example:
194269
194270                 salt '*' system.get_pending_file_rename
194271
194272       salt.modules.win_system.get_pending_reboot()
194273              Determine whether there is a reboot pending.
194274
194275              New in version 2016.11.0.
194276
194277
194278              Returns
194279                     True if the system is pending reboot, otherwise False
194280
194281              Return type
194282                     bool
194283
194284              CLI Example:
194285
194286                 salt '*' system.get_pending_reboot
194287
194288       salt.modules.win_system.get_pending_servermanager()
194289              Determine  whether  there  are pending Server Manager tasks that
194290              require a reboot.
194291
194292              New in version 2016.11.0.
194293
194294
194295              Returns
194296                     True if there are pending Server Manager tasks, otherwise
194297                     False
194298
194299              Return type
194300                     bool
194301
194302              CLI Example:
194303
194304                 salt '*' system.get_pending_servermanager
194305
194306       salt.modules.win_system.get_pending_update()
194307              Determine  whether  there  are  pending  updates  that require a
194308              reboot.
194309
194310              New in version 2016.11.0.
194311
194312
194313              Returns
194314                     True if there are pending updates, otherwise False
194315
194316              Return type
194317                     bool
194318
194319              CLI Example:
194320
194321                 salt '*' system.get_pending_update
194322
194323       salt.modules.win_system.get_reboot_required_witnessed()
194324              Determine if at any time during the  current  boot  session  the
194325              salt  minion  witnessed  an  event  indicating  that a reboot is
194326              required.
194327
194328              This function will return True if an install completed with exit
194329              code  3010  during  the current boot session and can be extended
194330              where appropriate in the future.
194331
194332              New in version 2016.11.0.
194333
194334
194335              Returns
194336                     True if the Requires reboot registry flag is  set  to  1,
194337                     otherwise False
194338
194339              Return type
194340                     bool
194341
194342              CLI Example:
194343
194344                 salt '*' system.get_reboot_required_witnessed
194345
194346       salt.modules.win_system.get_system_date()
194347              Get the Windows system date
194348
194349              Returns
194350                     Returns the system date
194351
194352              Return type
194353                     str
194354
194355              CLI Example:
194356
194357                 salt '*' system.get_system_date
194358
194359       salt.modules.win_system.get_system_info()
194360              Get system information.
194361
194362              NOTE:
194363                 Not  all system info is available across all versions of Win‐
194364                 dows. If it is not available on an older version, it will  be
194365                 skipped
194366
194367              Returns
194368                     Dictionary  containing  information  about  the system to
194369                     include name, description, version, etc...
194370
194371              Return type
194372                     dict
194373
194374              CLI Example:
194375
194376                 salt 'minion-id' system.get_system_info
194377
194378       salt.modules.win_system.get_system_time()
194379              Get the system time.
194380
194381              Returns
194382                     Returns the system time in HH:MM:SS AM/PM format.
194383
194384              Return type
194385                     str
194386
194387              CLI Example:
194388
194389                 salt 'minion-id' system.get_system_time
194390
194391       salt.modules.win_system.halt(timeout=5, in_seconds=False)
194392              Halt a running system.
194393
194394              Parameters
194395
194396                     · timeout (int) -- Number of seconds before  halting  the
194397                       system. Default is 5 seconds.
194398
194399                     · in_seconds (bool) --
194400
194401                       Whether to treat timeout as seconds or minutes.
194402
194403                       New in version 2015.8.0.
194404
194405
194406
194407              Returns
194408                     True if successful, otherwise False
194409
194410              Return type
194411                     bool
194412
194413              CLI Example:
194414
194415                 salt '*' system.halt 5 True
194416
194417       salt.modules.win_system.init(runlevel)
194418              Change  the  system  runlevel  on  sysV  compatible systems. Not
194419              applicable to Windows
194420
194421              CLI Example:
194422
194423                 salt '*' system.init 3
194424
194425       salt.modules.win_system.join_domain(domain,    username=None,     pass‐
194426       word=None, account_ou=None, account_exists=False, restart=False)
194427              Join  a  computer  to  an  Active  Directory  domain. Requires a
194428              reboot.
194429
194430              Parameters
194431
194432                     · domain (str) -- The domain to which the computer should
194433                       be joined, e.g.  example.com
194434
194435                     · username  (str)  --  Username  of  an  account which is
194436                       authorized to join computers to the  specified  domain.
194437                       Needs to be either fully qualified like user@domain.tld
194438                       or simply user
194439
194440                     · password (str) -- Password of the specified user
194441
194442                     · account_ou (str) -- The DN of the OU  below  which  the
194443                       account  for this computer should be created when join‐
194444                       ing      the       domain,       e.g.        ou=comput‐
194445                       ers,ou=departm_432,dc=my-company,dc=com
194446
194447                     · account_exists  (bool)  --  If set to True the computer
194448                       will only  join  the  domain  if  the  account  already
194449                       exists.  If  set  to False the computer account will be
194450                       created if it does not exist, otherwise it will use the
194451                       existing account. Default is False
194452
194453                     · restart (bool) --
194454
194455                       True will restart the computer after a successful join.
194456                       Default is False
194457
194458                       New in version 2015.8.2/2015.5.7.
194459
194460
194461
194462              Returns
194463                     Returns a dictionary if successful, otherwise False
194464
194465              Return type
194466                     dict
194467
194468              CLI Example:
194469
194470                 salt 'minion-id' system.join_domain domain='domain.tld' \
194471                                  username='joinuser' password='joinpassword' \
194472                                  account_ou='ou=clients,ou=org,dc=domain,dc=tld' \
194473                                  account_exists=False, restart=True
194474
194475       salt.modules.win_system.lock()
194476              Lock the workstation.
194477
194478              Returns
194479                     True if successful, otherwise False
194480
194481              Return type
194482                     bool
194483
194484              CLI Example:
194485
194486                 salt 'minion-id' system.lock
194487
194488       salt.modules.win_system.poweroff(timeout=5, in_seconds=False)
194489              Power off a running system.
194490
194491              Parameters
194492
194493                     · timeout (int) -- Number of seconds before powering  off
194494                       the system. Default is 5 seconds.
194495
194496                     · in_seconds (bool) --
194497
194498                       Whether to treat timeout as seconds or minutes.
194499
194500                       New in version 2015.8.0.
194501
194502
194503
194504              Returns
194505                     True if successful, otherwise False
194506
194507              Return type
194508                     bool
194509
194510              CLI Example:
194511
194512                 salt '*' system.poweroff 5
194513
194514       salt.modules.win_system.reboot(timeout=5,             in_seconds=False,
194515       wait_for_reboot=False, only_on_pending_reboot=False)
194516              Reboot a running system.
194517
194518              Parameters
194519
194520                     · timeout (int) -- The number of  minutes/seconds  before
194521                       rebooting the system. Use of minutes or seconds depends
194522                       on the value of in_seconds. Default is 5 minutes.
194523
194524                     · in_seconds (bool) -- .INDENT 2.0
194525
194526                     True will cause the timeout parameter to be in seconds.
194527                       False will be in minutes. Default is False.
194528
194529                     New in version 2015.8.0.
194530
194531
194532
194533              · wait_for_reboot (bool) --
194534
194535                True will sleep for timeout + 30 seconds after reboot has been
194536                initiated. This is useful for use in a highstate. For example,
194537                you may have states that you want  to  apply  only  after  the
194538                reboot.  Default is False.
194539
194540                New in version 2015.8.0.
194541
194542
194543
194544              · only_on_pending_reboot  (bool) -- If this is set to True, then
194545                the reboot will only proceed if the system reports  a  pending
194546                reboot.  Setting  this  parameter to True could be useful when
194547                calling this function from a final housekeeping state intended
194548                to  be executed at the end of a state run (using order: last).
194549                Default is False.
194550
194551       Returns
194552              True if successful (a reboot will occur), otherwise False
194553
194554       Return type
194555              bool
194556
194557       CLI Example:
194558
194559                 salt '*' system.reboot 5
194560                 salt '*' system.reboot 5 True
194561
194562              Invoking this function from a final housekeeping state:
194563
194564                 final_housekeeping:
194565                    module.run:
194566                       - name: system.reboot
194567                       - only_on_pending_reboot: True
194568                       - order: last
194569
194570       salt.modules.win_system.set_computer_desc(desc=None)
194571              Set the Windows computer description
194572
194573              Parameters
194574                     desc (str) -- The computer description
194575
194576              Returns
194577                     Description if successful, otherwise False
194578
194579              Return type
194580                     str
194581
194582              CLI Example:
194583
194584                 salt 'minion-id' system.set_computer_desc 'This computer belongs to Dave!'
194585
194586       salt.modules.win_system.set_computer_name(name)
194587              Set the Windows computer name
194588
194589              Parameters
194590                     name (str) -- The new name to give the computer. Requires
194591                     a reboot to take effect.
194592
194593              Returns
194594                     Returns  a dictionary containing the old and new names if
194595                     successful.  False if not.
194596
194597              Return type
194598                     dict
194599
194600              CLI Example:
194601
194602                 salt 'minion-id' system.set_computer_name 'DavesComputer'
194603
194604       salt.modules.win_system.set_hostname(hostname)
194605              Set the hostname of  the  windows  minion,  requires  a  restart
194606              before this will be updated.
194607
194608              New in version 2016.3.0.
194609
194610
194611              Parameters
194612                     hostname (str) -- The hostname to set
194613
194614              Returns
194615                     True if successful, otherwise False
194616
194617              Return type
194618                     bool
194619
194620              CLI Example:
194621
194622                 salt 'minion-id' system.set_hostname newhostname
194623
194624       salt.modules.win_system.set_reboot_required_witnessed()
194625              This  function is used to remember that an event indicating that
194626              a reboot is required was witnessed. This function relies on  the
194627              salt-minion's  ability to create the following volatile registry
194628              key in the HKLM hive:
194629                 SYSTEM\CurrentControlSet\Services\salt-minion\Volatile-Data
194630
194631              Because this registry key  is  volatile,  it  will  not  persist
194632              beyond the current boot session. Also, in the scope of this key,
194633              the name 'Reboot required' will be assigned the value of 1.
194634
194635              For the time being, this function  is  being  used  whenever  an
194636              install  completes with exit code 3010 and can be extended where
194637              appropriate in the future.
194638
194639              New in version 2016.11.0.
194640
194641
194642              Returns
194643                     True if successful, otherwise False
194644
194645              Return type
194646                     bool
194647
194648              CLI Example:
194649
194650                 salt '*' system.set_reboot_required_witnessed
194651
194652       salt.modules.win_system.set_system_date(newdate)
194653              Set the Windows system date. Use <mm-dd-yy> format for the date.
194654
194655              Parameters
194656                     newdate (str) --
194657
194658                     The date to set. Can be any of the following formats
194659
194660                     · YYYY-MM-DD
194661
194662                     · MM-DD-YYYY
194663
194664                     · MM-DD-YY
194665
194666                     · MM/DD/YYYY
194667
194668                     · MM/DD/YY
194669
194670                     · YYYY/MM/DD
194671
194672
194673              Returns
194674                     True if successful, otherwise False
194675
194676              Return type
194677                     bool
194678
194679              CLI Example:
194680
194681                 salt '*' system.set_system_date '03-28-13'
194682
194683       salt.modules.win_system.set_system_date_time(years=None,   months=None,
194684       days=None, hours=None, minutes=None, seconds=None)
194685              Set the system date and time. Each argument is an element of the
194686              date, but not required. If an element is not passed, the current
194687              system  value for that element will be used. For example, if you
194688              don't pass the year, the current system year will be used. (Used
194689              by set_system_date and set_system_time)
194690
194691              Parameters
194692
194693                     · years (int) -- Years digit, ie: 2015
194694
194695                     · months (int) -- Months digit: 1 - 12
194696
194697                     · days (int) -- Days digit: 1 - 31
194698
194699                     · hours (int) -- Hours digit: 0 - 23
194700
194701                     · minutes (int) -- Minutes digit: 0 - 59
194702
194703                     · seconds (int) -- Seconds digit: 0 - 59
194704
194705              Returns
194706                     True if successful, otherwise False
194707
194708              Return type
194709                     bool
194710
194711              CLI Example:
194712
194713                 salt '*' system.set_system_date_ time 2015 5 12 11 37 53
194714
194715       salt.modules.win_system.set_system_time(newtime)
194716              Set the system time.
194717
194718              Parameters
194719                     newtime (str) --
194720
194721                     The time to set. Can be any of the following formats:
194722
194723                     · HH:MM:SS AM/PM
194724
194725                     · HH:MM AM/PM
194726
194727                     · HH:MM:SS (24 hour)
194728
194729                     · HH:MM (24 hour)
194730
194731
194732              Returns
194733                     True if successful, otherwise False
194734
194735              Return type
194736                     bool
194737
194738              CLI Example:
194739
194740                 salt 'minion-id' system.set_system_time 12:01
194741
194742       salt.modules.win_system.shutdown(message=None,               timeout=5,
194743       force_close=True,   reboot=False,    in_seconds=False,    only_on_pend‐
194744       ing_reboot=False)
194745              Shutdown a running system.
194746
194747              Parameters
194748
194749                     · message  (str)  --  The  message to display to the user
194750                       before shutting down.
194751
194752                     · timeout (int) --
194753
194754                       The length of time (in seconds) that the shutdown  dia‐
194755                       log  box  should be displayed. While this dialog box is
194756                       displayed, the shutdown can be aborted using  the  sys‐
194757                       tem.shutdown_abort function.
194758
194759                       If timeout is not zero, InitiateSystemShutdown displays
194760                       a dialog box on the specified computer. The dialog  box
194761                       displays  the name of the user who called the function,
194762                       the message specified by the lpMessage  parameter,  and
194763                       prompts  the user to log off. The dialog box beeps when
194764                       it is created and remains on top of other windows (sys‐
194765                       tem modal). The dialog box can be moved but not closed.
194766                       A timer counts down the remaining time before the shut‐
194767                       down occurs.
194768
194769                       If timeout is zero, the computer shuts down immediately
194770                       without displaying the dialog box and cannot be stopped
194771                       by system.shutdown_abort.
194772
194773                       Default is 5 minutes
194774
194775
194776                     · in_seconds (bool) -- .INDENT 2.0
194777
194778                     True will cause the timeout parameter to be in seconds.
194779                       False will be in minutes. Default is False.
194780
194781                     New in version 2015.8.0.
194782
194783
194784
194785              · force_close  (bool) -- True will force close all open applica‐
194786                tions. False will display a dialog box instructing the user to
194787                close open applications. Default is True.
194788
194789              · reboot  (bool) -- True restarts the computer immediately after
194790                shutdown. False powers down the system. Default is False.
194791
194792              · only_on_pending_reboot (bool) -- If this is set to True,  then
194793                the shutdown will only proceed if the system reports a pending
194794                reboot. To optionally shutdown in a highstate, consider  using
194795                the shutdown state instead of this module.
194796
194797              · only_on_pending_reboot  -- If True the shutdown will only pro‐
194798                ceed if there is a reboot pending.  False  will  shutdown  the
194799                system. Default is False.
194800
194801       Returns
194802              True  if successful (a shutdown or reboot will occur), otherwise
194803              False
194804
194805       Return type
194806              bool
194807
194808       CLI Example:
194809
194810                 salt '*' system.shutdown "System will shutdown in 5 minutes"
194811
194812       salt.modules.win_system.shutdown_abort()
194813              Abort a shutdown. Only available while the dialog box  is  being
194814              displayed  to the user. Once the shutdown has initiated, it can‐
194815              not be aborted.
194816
194817              Returns
194818                     True if successful, otherwise False
194819
194820              Return type
194821                     bool
194822
194823              CLI Example:
194824
194825                 salt 'minion-id' system.shutdown_abort
194826
194827       salt.modules.win_system.shutdown_hard()
194828              Shutdown a running system with no timeout or warning.
194829
194830              Returns
194831                     True if successful, otherwise False
194832
194833              Return type
194834                     bool
194835
194836              CLI Example:
194837
194838                 salt '*' system.shutdown_hard
194839
194840       salt.modules.win_system.start_time_service()
194841              Start the Windows time service
194842
194843              Returns
194844                     True if successful, otherwise False
194845
194846              Return type
194847                     bool
194848
194849              CLI Example:
194850
194851                 salt '*' system.start_time_service
194852
194853       salt.modules.win_system.stop_time_service()
194854              Stop the Windows time service
194855
194856              Returns
194857                     True if successful, otherwise False
194858
194859              Return type
194860                     bool
194861
194862              CLI Example:
194863
194864                 salt '*' system.stop_time_service
194865
194866       salt.modules.win_system.unjoin_domain(username=None,     password=None,
194867       domain=None, workgroup=u'WORKGROUP', disable=False, restart=False)
194868              Unjoin  a  computer  from an Active Directory Domain. Requires a
194869              restart.
194870
194871              Parameters
194872
194873                     · username (str) --  Username  of  an  account  which  is
194874                       authorized  to  manage computer accounts on the domain.
194875                       Needs to be a fully qualified name like user@domain.tld
194876                       or domain.tld\user. If the domain is not specified, the
194877                       passed domain will be used.  If  the  computer  account
194878                       doesn't  need  to  be  disabled  after  the computer is
194879                       unjoined, this can be None.
194880
194881                     · password (str) -- The password of the specified user
194882
194883                     · domain (str) -- The domain from  which  to  unjoin  the
194884                       computer. Can be None
194885
194886                     · workgroup (str) --
194887
194888                       The workgroup to join the computer to. Default is WORK‐
194889                       GROUP
194890
194891                       New in version 2015.8.2/2015.5.7.
194892
194893
194894
194895                     · disable (bool) -- True to disable the computer  account
194896                       in Active Directory.  Default is False
194897
194898                     · restart (bool) --
194899
194900                       True will restart the computer after successful unjoin.
194901                       Default is False
194902
194903                       New in version 2015.8.2/2015.5.7.
194904
194905
194906
194907              Returns
194908                     Returns a dictionary if successful, otherwise False
194909
194910              Return type
194911                     dict
194912
194913              CLI Example:
194914
194915                 salt 'minion-id' system.unjoin_domain restart=True
194916
194917                 salt 'minion-id' system.unjoin_domain username='unjoinuser' \
194918                                  password='unjoinpassword' disable=True \
194919                                  restart=True
194920
194921   salt.modules.win_task module
194922       Windows Task Scheduler Module
194923
194924       A module for working with the Windows Task Scheduler.  You can add  and
194925       edit  existing tasks.  You can add and clear triggers and actions.  You
194926       can list all tasks, folders, triggers, and actions.
194927
194928       salt.modules.win_task.add_action(name=None,             location=u'\\',
194929       action_type=u'Execute', **kwargs)
194930              Add an action to a task.
194931
194932              Parameters
194933
194934                     · name  (str) -- The name of the task to which to add the
194935                       action.
194936
194937                     · location (str) -- A string value representing the loca‐
194938                       tion  of  the  task. Default is \ which is the root for
194939                       the task scheduler (C:\Windows\System32\tasks).
194940
194941                     · action_type (str) --
194942
194943                       The type of action  to  add.  There  are  three  action
194944                       types.  Each  one requires its own set of Keyword Argu‐
194945                       ments (kwargs). Valid values are:
194946
194947                          · Execute
194948
194949                          · Email
194950
194951                          · Message
194952
194953
194954              Required arguments for each action_type:
194955
194956              Execute
194957                 Execute a command or an executable
194958
194959                     cmd (str):
194960                            (required) The command or executable to run.
194961
194962                     arguments (str):
194963                            (optional) Arguments to be passed to  the  command
194964                            or  executable.  To launch a script the first com‐
194965                            mand will need  to  be  the  interpreter  for  the
194966                            script.  For  example, to run a vbscript you would
194967                            pass cscript.exe in the cmd parameter and pass the
194968                            script in the arguments parameter as follows:
194969
194970                               · cmd='cscript.exe'                       argu‐
194971                                 ments='c:\scripts\myscript.vbs'
194972
194973                            Batch files do not need an interpreter and may  be
194974                            passed to the cmd parameter directly.
194975
194976                     start_in (str):
194977                            (optional)  The  current working directory for the
194978                            command.
194979
194980              Email
194981                 Send and email. Requires server, from, and to or cc.
194982                     from (str): The sender
194983
194984                     reply_to (str): Who to reply to
194985
194986                     to (str): The recipient
194987
194988                     cc (str): The CC recipient
194989
194990                     bcc (str): The BCC recipient
194991
194992                     subject (str): The subject of the email
194993
194994                     body (str): The Message Body of the email
194995
194996                     server (str): The server used to send the email
194997
194998                     attachments (list):
194999                            A list of attachments. These will be the paths  to
195000                            the files to attach. ie: attachments="['C:\attach‐
195001                            ment1.txt', 'C:\attachment2.txt']"
195002
195003              Message
195004                 Display a dialog box. The task must be set to "Run only  when
195005                 user  is  logged  on" in order for the dialog box to display.
195006                 Both parameters are required.
195007
195008                     title (str):
195009                            The dialog box title.
195010
195011                     message (str):
195012                            The dialog box message body
195013
195014              Returns
195015                     A dictionary containing the task configuration
195016
195017              Return type
195018                     dict
195019
195020              CLI Example:
195021
195022                 salt 'minion-id' task.add_action <task_name> cmd='del /Q /S C:\\Temp'
195023
195024       salt.modules.win_task.add_trigger(name=None,   location=u'\\',    trig‐
195025       ger_type=None,  trigger_enabled=True, start_date=None, start_time=None,
195026       end_date=None, end_time=None, random_delay=None,  repeat_interval=None,
195027       repeat_duration=None,     repeat_stop_at_duration_end=False,     execu‐
195028       tion_time_limit=None, delay=None, **kwargs)
195029              Add a trigger to a Windows Scheduled task
195030
195031              NOTE:
195032                 Arguments are parsed by the YAML loader and  are  subject  to
195033                 yaml's idiosyncrasies. Therefore, time values in some formats
195034                 (%H:%M:%S and %H:%M) should to be quoted.  See YAML  IDIOSYN‐
195035                 CRASIES for more details.
195036
195037              Parameters
195038
195039                     · name  (str) -- The name of the task to which to add the
195040                       trigger.
195041
195042                     · location (str) -- A string value representing the loca‐
195043                       tion  of  the  task. Default is \ which is the root for
195044                       the task scheduler (C:\Windows\System32\tasks).
195045
195046                     · trigger_type (str) --
195047
195048                       The type of trigger to create. This is defined when the
195049                       trigger is created and cannot be changed later. Options
195050                       are as follows:
195051
195052                          · Event
195053
195054                          · Once
195055
195056                          · Daily
195057
195058                          · Weekly
195059
195060                          · Monthly
195061
195062                          · MonthlyDay
195063
195064                          · OnIdle
195065
195066                          · OnTaskCreation
195067
195068                          · OnBoot
195069
195070                          · OnLogon
195071
195072                          · OnSessionChange
195073
195074
195075                     · trigger_enabled (bool) -- Boolean value that  indicates
195076                       whether the trigger is enabled.
195077
195078                     · start_date (str) --
195079
195080                       The  date when the trigger is activated. If no value is
195081                       passed, the current date will be used. Can  be  one  of
195082                       the following formats:
195083
195084                          · %Y-%m-%d
195085
195086                          · %m-%d-%y
195087
195088                          · %m-%d-%Y
195089
195090                          · %m/%d/%y
195091
195092                          · %m/%d/%Y
195093
195094                          · %Y/%m/%d
195095
195096
195097                     · start_time (str) --
195098
195099                       The  time when the trigger is activated. If no value is
195100                       passed, midnight will be used. Can be one of  the  fol‐
195101                       lowing formats:
195102
195103                          · %I:%M:%S %p
195104
195105                          · %I:%M %p
195106
195107                          · %H:%M:%S
195108
195109                          · %H:%M
195110
195111
195112                     · end_date (str) --
195113
195114                       The  date  when the trigger is deactivated. The trigger
195115                       cannot start the task after it is deactivated.  Can  be
195116                       one of the following formats:
195117
195118                          · %Y-%m-%d
195119
195120                          · %m-%d-%y
195121
195122                          · %m-%d-%Y
195123
195124                          · %m/%d/%y
195125
195126                          · %m/%d/%Y
195127
195128                          · %Y/%m/%d
195129
195130
195131                     · end_time (str) --
195132
195133                       The  time  when  the trigger is deactivated. If this is
195134                       not passed with end_date it will be  set  to  midnight.
195135                       Can be one of the following formats:
195136
195137                          · %I:%M:%S %p
195138
195139                          · %I:%M %p
195140
195141                          · %H:%M:%S
195142
195143                          · %H:%M
195144
195145
195146                     · random_delay (str) --
195147
195148                       The delay time that is randomly added to the start time
195149                       of the trigger. Valid values are:
195150
195151                          · 30 seconds
195152
195153                          · 1 minute
195154
195155                          · 30 minutes
195156
195157                          · 1 hour
195158
195159                          · 8 hours
195160
195161                          · 1 day
195162
195163                       NOTE:
195164                          This parameter  applies  to  the  following  trigger
195165                          types
195166
195167                              · Once
195168
195169                              · Daily
195170
195171                              · Weekly
195172
195173                              · Monthly
195174
195175                              · MonthlyDay
195176
195177
195178                     · repeat_interval (str) --
195179
195180                       The  amount  of  time between each restart of the task.
195181                       Valid values are:
195182
195183                          · 5 minutes
195184
195185                          · 10 minutes
195186
195187                          · 15 minutes
195188
195189                          · 30 minutes
195190
195191                          · 1 hour
195192
195193
195194                     · repeat_duration (str) --
195195
195196                       How long the pattern is repeated. Valid values are:
195197
195198                          · Indefinitely
195199
195200                          · 15 minutes
195201
195202                          · 30 minutes
195203
195204                          · 1 hour
195205
195206                          · 12 hours
195207
195208                          · 1 day
195209
195210
195211                     · repeat_stop_at_duration_end  (bool)  --  Boolean  value
195212                       that  indicates  if  a  running instance of the task is
195213                       stopped at the end of the repetition pattern duration.
195214
195215                     · execution_time_limit (str) --
195216
195217                       The maximum amount of time that the  task  launched  by
195218                       the trigger is allowed to run. Valid values are:
195219
195220                          · 30 minutes
195221
195222                          · 1 hour
195223
195224                          · 2 hours
195225
195226                          · 4 hours
195227
195228                          · 8 hours
195229
195230                          · 12 hours
195231
195232                          · 1 day
195233
195234                          · 3 days (default)
195235
195236
195237                     · delay (str) --
195238
195239                       The  time  the  trigger  waits  after its activation to
195240                       start the task.  Valid values are:
195241
195242                          · 15 seconds
195243
195244                          · 30 seconds
195245
195246                          · 1 minute
195247
195248                          · 30 minutes
195249
195250                          · 1 hour
195251
195252                          · 8 hours
195253
195254                          · 1 day
195255
195256                       NOTE:
195257                          This parameter  applies  to  the  following  trigger
195258                          types:
195259
195260                              · OnLogon
195261
195262                              · OnBoot
195263
195264                              · Event
195265
195266                              · OnTaskCreation
195267
195268                              · OnSessionChange
195269
195270
195271              kwargs
195272
195273              There  are  optional keyword arguments determined by the type of
195274              trigger being defined. They are as follows:
195275
195276              Event
195277                 The trigger will be fired by an event.
195278
195279                     subscription (str):
195280                            An event definition in xml format that  fires  the
195281                            trigger.  The  easiest way to get this would is to
195282                            create an event in Windows Task Scheduler and then
195283                            copy the xml text.
195284
195285              Once
195286                 No special parameters required.
195287
195288              Daily
195289                 The task will run daily.
195290
195291                     days_interval (int):
195292                            The  interval  between  days  in  the schedule. An
195293                            interval of 1 produces a daily schedule. An inter‐
195294                            val  of 2 produces an every-other day schedule. If
195295                            no interval is specified, 1 is used. Valid entries
195296                            are 1 - 999.
195297
195298              Weekly
195299                 The task will run weekly.
195300
195301                     weeks_interval (int):
195302                            The  interval  between  weeks  in the schedule. An
195303                            interval of  1  produces  a  weekly  schedule.  An
195304                            interval  of 2 produces an every-other week sched‐
195305                            ule. If no interval is specified, 1 is used. Valid
195306                            entries are 1 - 52.
195307
195308                     days_of_week (list):
195309                            Sets  the days of the week on which the task runs.
195310                            Should be a list. ie:  ['Monday','Wednesday','Fri‐
195311                            day'].  Valid entries are the names of the days of
195312                            the week.
195313
195314              Monthly
195315                 The task will run monthly.
195316
195317                     months_of_year (list):
195318                            Sets the months of the year during which the  task
195319                            runs.  Should  be  a list. ie: ['January','July'].
195320                            Valid entries  are  the  full  names  of  all  the
195321                            months.
195322
195323                     days_of_month (list):
195324                            Sets  the  days of the month during which the task
195325                            runs. Should be  a  list.  ie:  [1,  15,  'Last'].
195326                            Options  are  all days of the month 1 - 31 and the
195327                            word 'Last' to indicate the last day of the month.
195328
195329                     last_day_of_month (bool):
195330                            Boolean value that indicates that the task runs on
195331                            the last day of the month regardless of the actual
195332                            date of that day.
195333
195334                            NOTE:
195335                               You can set the task to run on the last day  of
195336                               the  month  by either including the word 'Last'
195337                               in the list of days, or setting  the  parameter
195338                               'last_day_of_month' equal to True.
195339
195340              MonthlyDay
195341                 The task will run monthly on the specified day.
195342
195343                     months_of_year (list):
195344                            Sets  the months of the year during which the task
195345                            runs. Should be a  list.  ie:  ['January','July'].
195346                            Valid  entries  are  the  full  names  of  all the
195347                            months.
195348
195349                     weeks_of_month (list):
195350                            Sets the weeks of the month during which the  task
195351                            runs.  Should  be  a  list. ie: ['First','Third'].
195352                            Valid options are:
195353
195354                               · First
195355
195356                               · Second
195357
195358                               · Third
195359
195360                               · Fourth
195361
195362                     last_week_of_month (bool):
195363                            Boolean value that indicates that the task runs on
195364                            the last week of the month.
195365
195366                     days_of_week (list):
195367                            Sets  the  days  of the week during which the task
195368                            runs. Should be  a  list.  ie:  ['Monday','Wednes‐
195369                            day','Friday'].   Valid  entries  are the names of
195370                            the days of the week.
195371
195372              OnIdle
195373                 No special parameters required.
195374
195375              OnTaskCreation
195376                 No special parameters required.
195377
195378              OnBoot
195379                 No special parameters required.
195380
195381              OnLogon
195382                 No special parameters required.
195383
195384              OnSessionChange
195385                 The task will be triggered by a session change.
195386
195387                     session_user_name (str):
195388                            Sets the user for  the  Terminal  Server  session.
195389                            When  a  session state change is detected for this
195390                            user, a task is started. To detect session  status
195391                            change for any user, do not pass this parameter.
195392
195393                     state_change (str):
195394                            Sets  the  kind  of Terminal Server session change
195395                            that would trigger a task  launch.  Valid  options
195396                            are:
195397
195398                               · ConsoleConnect:  When  you  connect to a user
195399                                 session (switch users)
195400
195401                               · ConsoleDisconnect: When you disconnect a user
195402                                 session (switch users)
195403
195404                               · RemoteConnect:   When  a  user  connects  via
195405                                 Remote Desktop
195406
195407                               · RemoteDisconnect: When a user disconnects via
195408                                 Remote Desktop
195409
195410                               · SessionLock: When the workstation is locked
195411
195412                               · SessionUnlock:   When   the   workstation  is
195413                                 unlocked
195414
195415              Returns
195416                     True if successful, otherwise False
195417
195418              Return type
195419                     bool
195420
195421              CLI Example:
195422
195423                 salt 'minion-id' task.add_trigger <task_name> trigger_type=Once trigger_enabled=True start_date=2016/12/1 start_time='"12:01"'
195424
195425       salt.modules.win_task.clear_triggers(name, location=u'\\')
195426              Remove all triggers from the task.
195427
195428              Parameters
195429
195430                     · name (str) -- The name of the task from which to  clear
195431                       all triggers.
195432
195433                     · location (str) -- A string value representing the loca‐
195434                       tion of the task. Default is \ which is  the  root  for
195435                       the task scheduler (C:\Windows\System32\tasks).
195436
195437              Returns
195438                     True if successful, otherwise False
195439
195440              Return type
195441                     bool
195442
195443              CLI Example:
195444
195445                 salt 'minion-id' task.clear_trigger <task_name>
195446
195447       salt.modules.win_task.create_folder(name, location=u'\\')
195448              Create a folder in which to create tasks.
195449
195450              Parameters
195451
195452                     · name (str) -- The name of the folder. This will be dis‐
195453                       played in the task scheduler.
195454
195455                     · location (str) -- A string value representing the loca‐
195456                       tion  in which to create the folder. Default is \ which
195457                       is the root for  the  task  scheduler  (C:\Windows\Sys‐
195458                       tem32\tasks).
195459
195460              Returns
195461                     True if successful, otherwise False
195462
195463              Return type
195464                     bool
195465
195466              CLI Example:
195467
195468                 salt 'minion-id' task.create_folder <folder_name>
195469
195470       salt.modules.win_task.create_task(name,                 location=u'\\',
195471       user_name=u'System', password=None, force=False, **kwargs)
195472              Create a new task in the designated location. This function  has
195473              many  keyword arguments that are not listed here. For additional
195474              arguments see:
195475
195476                 · edit_task()
195477
195478                 · add_action()
195479
195480                 · add_trigger()
195481
195482              Parameters
195483
195484                     · name (str) -- The name of the task. This will  be  dis‐
195485                       played in the task scheduler.
195486
195487                     · location (str) -- A string value representing the loca‐
195488                       tion in which to create the task. Default is \ which is
195489                       the   root  for  the  task  scheduler  (C:\Windows\Sys‐
195490                       tem32\tasks).
195491
195492                     · user_name (str) -- The user account under which to  run
195493                       the  task.  To  specify the 'System' account, use 'Sys‐
195494                       tem'. The password will be ignored.
195495
195496                     · password (str) -- The password to use  for  authentica‐
195497                       tion.  This should set the task to run whether the user
195498                       is logged in or not, but is currently not working.
195499
195500                     · force (bool) --  If  the  task  exists,  overwrite  the
195501                       existing task.
195502
195503              Returns
195504                     True if successful, otherwise False
195505
195506              Return type
195507                     bool
195508
195509              CLI Example:
195510
195511                 salt 'minion-id' task.create_task <task_name> user_name=System force=True action_type=Execute cmd='del /Q /S C:\\Temp' trigger_type=Once start_date=2016-12-1 start_time=01:00
195512
195513       salt.modules.win_task.create_task_from_xml(name,        location=u'\\',
195514       xml_text=None, xml_path=None, user_name=u'System', password=None)
195515              Create a task based on XML. Source can be a file or a string  of
195516              XML.
195517
195518              Parameters
195519
195520                     · name  (str)  -- The name of the task. This will be dis‐
195521                       played in the task scheduler.
195522
195523                     · location (str) -- A string value representing the loca‐
195524                       tion in which to create the task. Default is \ which is
195525                       the  root  for  the  task  scheduler   (C:\Windows\Sys‐
195526                       tem32\tasks).
195527
195528                     · xml_text (str) -- A string of xml representing the task
195529                       to be created. This will be overridden by  xml_path  if
195530                       passed.
195531
195532                     · xml_path  (str) -- The path to an XML file on the local
195533                       system containing the xml that defines the  task.  This
195534                       will override xml_text
195535
195536                     · user_name  (str) -- The user account under which to run
195537                       the task. To specify the 'System'  account,  use  'Sys‐
195538                       tem'. The password will be ignored.
195539
195540                     · password  (str)  -- The password to use for authentica‐
195541                       tion. This should set the task to run whether the  user
195542                       is logged in or not, but is currently not working.
195543
195544              Returns
195545                     True if successful, otherwise False
195546
195547              Return type
195548                     bool
195549
195550              CLI Example:
195551
195552                 salt '*' task.create_task_from_xml <task_name> xml_path=C:\task.xml
195553
195554       salt.modules.win_task.delete_folder(name, location=u'\\')
195555              Delete a folder from the task scheduler.
195556
195557              Parameters
195558
195559                     · name (str) -- The name of the folder to delete.
195560
195561                     · location (str) -- A string value representing the loca‐
195562                       tion of the folder.  Default is \ which is the root for
195563                       the task scheduler (C:\Windows\System32\tasks).
195564
195565              Returns
195566                     True if successful, otherwise False
195567
195568              Return type
195569                     bool
195570
195571              CLI Example:
195572
195573                 salt 'minion-id' task.delete_folder <folder_name>
195574
195575       salt.modules.win_task.delete_task(name, location=u'\\')
195576              Delete a task from the task scheduler.
195577
195578              Parameters
195579
195580                     · name (str) -- The name of the task to delete.
195581
195582                     · location (str) -- A string value representing the loca‐
195583                       tion of the task. Default is \ which is  the  root  for
195584                       the task scheduler (C:\Windows\System32\tasks).
195585
195586              Returns
195587                     True if successful, otherwise False
195588
195589              Return type
195590                     bool
195591
195592              CLI Example:
195593
195594                 salt 'minion-id' task.delete_task <task_name>
195595
195596       salt.modules.win_task.edit_task(name=None,              location=u'\\',
195597       user_name=None,  password=None,  description=None,  enabled=None,  hid‐
195598       den=None, run_if_idle=None, idle_duration=None, idle_wait_timeout=None,
195599       idle_stop_on_end=None, idle_restart=None, ac_only=None, stop_if_on_bat‐
195600       teries=None,  wake_to_run=None,  run_if_network=None,  network_id=None,
195601       network_name=None, allow_demand_start=None,  start_when_available=None,
195602       restart_every=None,     restart_count=3,     execution_time_limit=None,
195603       force_stop=None, delete_after=None, multiple_instances=None, **kwargs)
195604              Edit the parameters of a task. Triggers and  Actions  cannot  be
195605              edited yet.
195606
195607              Parameters
195608
195609                     · name  (str)  -- The name of the task. This will be dis‐
195610                       played in the task scheduler.
195611
195612                     · location (str) -- A string value representing the loca‐
195613                       tion in which to create the task. Default is \ which is
195614                       the  root  for  the  task  scheduler   (C:\Windows\Sys‐
195615                       tem32\tasks).
195616
195617                     · user_name  (str) -- The user account under which to run
195618                       the task. To specify the 'System'  account,  use  'Sys‐
195619                       tem'. The password will be ignored.
195620
195621                     · password (str) --
195622
195623                       The password to use for authentication. This should set
195624                       the task to run whether the user is logged in  or  not,
195625                       but is currently not working.
195626
195627                       NOTE:
195628                          The  combination of user_name and password determine
195629                          how the task runs. For example,  if  a  username  is
195630                          passed  without  at  password the task will only run
195631                          when the user is logged in. If a password is  passed
195632                          as well the task will run whether the user is logged
195633                          on or not. If you pass 'System' as the username  the
195634                          task  will  run  as the system account (the password
195635                          parameter is ignored).
195636
195637
195638                     · description (str) -- A  string  representing  the  text
195639                       that  will be displayed in the description field in the
195640                       task scheduler.
195641
195642                     · enabled (bool) -- A boolean value representing  whether
195643                       or not the task is enabled.
195644
195645                     · hidden  (bool)  -- A boolean value representing whether
195646                       or not the task is hidden.
195647
195648                     · run_if_idle (bool) -- Boolean value that indicates that
195649                       the  Task  Scheduler will run the task only if the com‐
195650                       puter is in an idle state.
195651
195652                     · idle_duration (str) --
195653
195654                       A value that indicates the amount of time that the com‐
195655                       puter  must be in an idle state before the task is run.
195656                       Valid values are:
195657
195658                          · 1 minute
195659
195660                          · 5 minutes
195661
195662                          · 10 minutes
195663
195664                          · 15 minutes
195665
195666                          · 30 minutes
195667
195668                          · 1 hour
195669
195670
195671                     · idle_wait_timeout (str) --
195672
195673                       A value that indicates the amount of time that the Task
195674                       Scheduler  will  wait  for  an idle condition to occur.
195675                       Valid values are:
195676
195677                          · Do not wait
195678
195679                          · 1 minute
195680
195681                          · 5 minutes
195682
195683                          · 10 minutes
195684
195685                          · 15 minutes
195686
195687                          · 30 minutes
195688
195689                          · 1 hour
195690
195691                          · 2 hours
195692
195693
195694                     · idle_stop_on_end (bool) -- Boolean value that indicates
195695                       that  the Task Scheduler will terminate the task if the
195696                       idle condition ends before the task is completed.
195697
195698                     · idle_restart (bool) --  Boolean  value  that  indicates
195699                       whether  the task is restarted when the computer cycles
195700                       into an idle condition more than once.
195701
195702                     · ac_only (bool) -- Boolean value that indicates that the
195703                       Task  Scheduler  will  launch the task only while on AC
195704                       power.
195705
195706                     · stop_if_on_batteries (bool) -- Boolean value that indi‐
195707                       cates  that  the  task  will be stopped if the computer
195708                       begins to run on battery power.
195709
195710                     · wake_to_run (bool) -- Boolean value that indicates that
195711                       the  Task  Scheduler  will wake the computer when it is
195712                       time to run the task.
195713
195714                     · run_if_network (bool) -- Boolean value  that  indicates
195715                       that  the  Task Scheduler will run the task only when a
195716                       network is available.
195717
195718                     · network_id (guid) -- GUID value that identifies a  net‐
195719                       work profile.
195720
195721                     · network_name  (str)  -- Sets the name of a network pro‐
195722                       file. The name is used for display purposes.
195723
195724                     · allow_demand_start (bool) -- Boolean value  that  indi‐
195725                       cates  that the task can be started by using either the
195726                       Run command or the Context menu.
195727
195728                     · start_when_available (bool) -- Boolean value that indi‐
195729                       cates that the Task Scheduler can start the task at any
195730                       time after its scheduled time has passed.
195731
195732                     · restart_every (str) --
195733
195734                       A  value  that  specifies  the  interval  between  task
195735                       restart attempts.  Valid values are:
195736
195737                          · False (to disable)
195738
195739                          · 1 minute
195740
195741                          · 5 minutes
195742
195743                          · 10 minutes
195744
195745                          · 15 minutes
195746
195747                          · 30 minutes
195748
195749                          · 1 hour
195750
195751                          · 2 hours
195752
195753
195754                     · restart_count  (int)  --  The  number of times the Task
195755                       Scheduler will attempt to restart the task. Valid  val‐
195756                       ues are integers 1 - 999.
195757
195758                     · execution_time_limit (bool, str) --
195759
195760                       The  amount of time allowed to complete the task. Valid
195761                       values are:
195762
195763                          · False (to disable)
195764
195765                          · 1 hour
195766
195767                          · 2 hours
195768
195769                          · 4 hours
195770
195771                          · 8 hours
195772
195773                          · 12 hours
195774
195775                          · 1 day
195776
195777                          · 3 days
195778
195779
195780                     · force_stop (bool) -- Boolean value that indicates  that
195781                       the task may be terminated by using TerminateProcess.
195782
195783                     · delete_after (bool, str) --
195784
195785                       The  amount  of  time that the Task Scheduler will wait
195786                       before deleting the task after it expires.  Requires  a
195787                       trigger with an expiration date. Valid values are:
195788
195789                          · False (to disable)
195790
195791                          · Immediately
195792
195793                          · 30 days
195794
195795                          · 90 days
195796
195797                          · 180 days
195798
195799                          · 365 days
195800
195801
195802                     · multiple_instances (str) --
195803
195804                       Sets  the  policy  that  defines how the Task Scheduler
195805                       deals with multiple instances of the task. Valid values
195806                       are:
195807
195808                          · Parallel
195809
195810                          · Queue
195811
195812                          · No New Instance
195813
195814                          · Stop Existing
195815
195816
195817              Returns
195818                     True if successful, otherwise False
195819
195820              Return type
195821                     bool
195822
195823              CLI Example:
195824
195825                 salt '*' task.edit_task <task_name> description='This task is awesome'
195826
195827       salt.modules.win_task.info(name, location=u'\\')
195828              Get the details about a task in the task scheduler.
195829
195830              Parameters
195831
195832                     · name  (str) -- The name of the task for which to return
195833                       the status
195834
195835                     · location (str) -- A string value representing the loca‐
195836                       tion  of  the  task. Default is \ which is the root for
195837                       the task scheduler (C:\Windows\System32\tasks).
195838
195839              Returns
195840                     A dictionary containing the task configuration
195841
195842              Return type
195843                     dict
195844
195845              CLI Example:
195846
195847                 salt 'minion-id' task.info <task_name>
195848
195849       salt.modules.win_task.list_actions(name, location=u'\\')
195850              List all actions that pertain to a task in the  specified  loca‐
195851              tion.
195852
195853              Parameters
195854
195855                     · name  (str)  --  The  name  of  the task for which list
195856                       actions.
195857
195858                     · location (str) -- A string value representing the loca‐
195859                       tion of the task from which to list actions. Default is
195860                       \ which is the root for  the  task  scheduler  (C:\Win‐
195861                       dows\System32\tasks).
195862
195863              Returns
195864                     Returns a list of actions.
195865
195866              Return type
195867                     list
195868
195869              CLI Example:
195870
195871                 # List all actions for a task in the default location
195872                 salt 'minion-id' task.list_actions <task_name>
195873
195874                 # List all actions for the XblGameSaveTask in the Microsoft\XblGameSave
195875                 # location
195876                 salt 'minion-id' task.list_actions XblGameSaveTask Microsoft\XblGameSave
195877
195878       salt.modules.win_task.list_folders(location=u'\\')
195879              List  all  folders  located  in  a specific location in the task
195880              scheduler.
195881
195882              Parameters
195883                     location (str) -- A string value representing the  folder
195884                     from  which you want to list tasks. Default is \ which is
195885                     the  root  for  the   task   scheduler   (C:\Windows\Sys‐
195886                     tem32\tasks).
195887
195888              Returns
195889                     Returns a list of folders.
195890
195891              Return type
195892                     list
195893
195894              CLI Example:
195895
195896                 # List all folders in the default location
195897                 salt 'minion-id' task.list_folders
195898
195899                 # List all folders in the Microsoft directory
195900                 salt 'minion-id' task.list_folders Microsoft
195901
195902       salt.modules.win_task.list_tasks(location=u'\\')
195903              List all tasks located in a specific location in the task sched‐
195904              uler.
195905
195906              Parameters
195907                     location (str) -- A string value representing the  folder
195908                     from  which you want to list tasks. Default is \ which is
195909                     the  root  for  the   task   scheduler   (C:\Windows\Sys‐
195910                     tem32\tasks).
195911
195912              Returns
195913                     Returns a list of tasks
195914
195915              Return type
195916                     list
195917
195918              CLI Example:
195919
195920                 # List all tasks in the default location
195921                 salt 'minion-id' task.list_tasks
195922
195923                 # List all tasks in the Microsoft\XblGameSave Directory
195924                 salt 'minion-id' task.list_tasks Microsoft\XblGameSave
195925
195926       salt.modules.win_task.list_triggers(name, location=u'\\')
195927              List  all triggers that pertain to a task in the specified loca‐
195928              tion.
195929
195930              Parameters
195931
195932                     · name (str) -- The name of the task for which list trig‐
195933                       gers.
195934
195935                     · location (str) -- A string value representing the loca‐
195936                       tion of the task from which to list  triggers.  Default
195937                       is  \ which is the root for the task scheduler (C:\Win‐
195938                       dows\System32\tasks).
195939
195940              Returns
195941                     Returns a list of triggers.
195942
195943              Return type
195944                     list
195945
195946              CLI Example:
195947
195948                 # List all triggers for a task in the default location
195949                 salt 'minion-id' task.list_triggers <task_name>
195950
195951                 # List all triggers for the XblGameSaveTask in the Microsoft\XblGameSave
195952                 # location
195953                 salt '*' task.list_triggers XblGameSaveTask Microsoft\XblGameSave
195954
195955       salt.modules.win_task.run(name, location=u'\\')
195956              Run a scheduled task manually.
195957
195958              Parameters
195959
195960                     · name (str) -- The name of the task to run.
195961
195962                     · location (str) -- A string value representing the loca‐
195963                       tion  of  the  task. Default is \ which is the root for
195964                       the task scheduler (C:\Windows\System32\tasks).
195965
195966              Returns
195967                     True if successful, otherwise False
195968
195969              Return type
195970                     bool
195971
195972              CLI Example:
195973
195974                 salt 'minion-id' task.list_run <task_name>
195975
195976       salt.modules.win_task.run_wait(name, location=u'\\')
195977              Run a scheduled task and return when the task finishes
195978
195979              Parameters
195980
195981                     · name (str) -- The name of the task to run.
195982
195983                     · location (str) -- A string value representing the loca‐
195984                       tion  of  the  task. Default is \ which is the root for
195985                       the task scheduler (C:\Windows\System32\tasks).
195986
195987              Returns
195988                     True if successful, otherwise False
195989
195990              Return type
195991                     bool
195992
195993              CLI Example:
195994
195995                 salt 'minion-id' task.list_run_wait <task_name>
195996
195997       salt.modules.win_task.status(name, location=u'\\')
195998              Determine the status of a task. Is it  Running,  Queued,  Ready,
195999              etc.
196000
196001              Parameters
196002
196003                     · name  (str) -- The name of the task for which to return
196004                       the status
196005
196006                     · location (str) -- A string value representing the loca‐
196007                       tion  of  the  task. Default is \ which is the root for
196008                       the task scheduler (C:\Windows\System32\tasks).
196009
196010              Returns
196011                     The current status of the task. Will be one of  the  fol‐
196012                     lowing:
196013
196014                        · Unknown
196015
196016                        · Disabled
196017
196018                        · Queued
196019
196020                        · Ready
196021
196022                        · Running
196023
196024
196025              Return type
196026                     str
196027
196028              CLI Example:
196029
196030                 salt 'minion-id' task.list_status <task_name>
196031
196032       salt.modules.win_task.stop(name, location=u'\\')
196033              Stop a scheduled task.
196034
196035              Parameters
196036
196037                     · name (str) -- The name of the task to stop.
196038
196039                     · location (str) -- A string value representing the loca‐
196040                       tion of the task. Default is \ which is  the  root  for
196041                       the task scheduler (C:\Windows\System32\tasks).
196042
196043              Returns
196044                     True if successful, otherwise False
196045
196046              Return type
196047                     bool
196048
196049              CLI Example:
196050
196051                 salt 'minion-id' task.list_stop <task_name>
196052
196053   salt.modules.win_timezone
196054       Module for managing timezone on Windows systems.
196055
196056       class salt.modules.win_timezone.TzMapper(unix_to_win)
196057
196058              add(k, v)
196059
196060              get_unix(key, default=None)
196061
196062              get_win(key, default=None)
196063
196064              list_unix()
196065
196066              list_win()
196067
196068              remove(k)
196069
196070       salt.modules.win_timezone.get_hwclock()
196071              Get current hardware clock setting (UTC or localtime)
196072
196073              NOTE:
196074                 The  hardware  clock  is always local time on Windows so this
196075                 will always return "localtime"
196076
196077              CLI Example:
196078
196079                 salt '*' timezone.get_hwclock
196080
196081       salt.modules.win_timezone.get_offset()
196082              Get current numeric timezone offset from UTC (i.e. -0700)
196083
196084              Returns
196085                     Offset from UTC
196086
196087              Return type
196088                     str
196089
196090              CLI Example:
196091
196092                 salt '*' timezone.get_offset
196093
196094       salt.modules.win_timezone.get_zone()
196095              Get current timezone (i.e. America/Denver)
196096
196097              Returns
196098                     Timezone in unix format
196099
196100              Return type
196101                     str
196102
196103              CLI Example:
196104
196105                 salt '*' timezone.get_zone
196106
196107       salt.modules.win_timezone.get_zonecode()
196108              Get current timezone (i.e. PST, MDT, etc)
196109
196110              Returns
196111                     An abbreviated timezone code
196112
196113              Return type
196114                     str
196115
196116              CLI Example:
196117
196118                 salt '*' timezone.get_zonecode
196119
196120       salt.modules.win_timezone.list(unix_style=True)
196121              Return a list of Timezones that this module supports. These  can
196122              be in either Unix or Windows format.
196123
196124              New in version 2018.3.3.
196125
196126
196127              Parameters
196128                     unix_style  (bool)  -- True returns Unix-style timezones.
196129                     False returns Windows-style timezones. Default is True
196130
196131              Returns
196132                     A list of supported timezones
196133
196134              Return type
196135                     list
196136
196137              CLI Example:
196138
196139                 # Unix-style timezones
196140                 salt '*' timezone.list
196141
196142                 # Windows-style timezones
196143                 salt '*' timezone.list unix_style=False
196144
196145       salt.modules.win_timezone.set_hwclock(clock)
196146              Sets the hardware clock to be either UTC or localtime
196147
196148              NOTE:
196149                 The hardware clock is always local time on  Windows  so  this
196150                 will always return False
196151
196152              CLI Example:
196153
196154                 salt '*' timezone.set_hwclock UTC
196155
196156       salt.modules.win_timezone.set_zone(timezone)
196157              Sets the timezone using the tzutil.
196158
196159              Parameters
196160                     timezone (str) -- A valid timezone
196161
196162              Returns
196163                     True if successful, otherwise False
196164
196165              Return type
196166                     bool
196167
196168              Raises CommandExecutionError -- If invalid timezone is passed
196169
196170              CLI Example:
196171
196172                 salt '*' timezone.set_zone 'America/Denver'
196173
196174       salt.modules.win_timezone.zone_compare(timezone)
196175              Compares  the  given  timezone with the machine timezone. Mostly
196176              useful for running state checks.
196177
196178              Parameters
196179                     timezone (str) -- The timezone to compare. This can be in
196180                     Windows or Unix format. Can be any of the values returned
196181                     by the timezone.list function
196182
196183              Returns
196184                     True if they match, otherwise False
196185
196186              Return type
196187                     bool
196188
196189              Example:
196190
196191                 salt '*' timezone.zone_compare 'America/Denver'
196192
196193   salt.modules.win_useradd
196194       Module for managing Windows Users
196195
196196       IMPORTANT:
196197          If you feel that Salt should be using this module to manage users on
196198          a minion, and it is using a different module (or gives an error sim‐
196199          ilar to 'user.info' is not available), see here.
196200
196201       depends
196202
196203              · pywintypes
196204
196205              · win32api
196206
196207              · win32con
196208
196209              · win32net
196210
196211              · win32netcon
196212
196213              · win32profile
196214
196215              · win32security
196216
196217              · win32ts
196218
196219              · wmi
196220
196221       NOTE:
196222          This currently only works  with  local  user  accounts,  not  domain
196223          accounts
196224
196225       salt.modules.win_useradd.add(name,     password=None,    fullname=None,
196226       description=None, groups=None, home=None, homedrive=None, profile=None,
196227       logonscript=None)
196228              Add a user to the minion.
196229
196230              Parameters
196231
196232                     · name (str) -- User name
196233
196234                     · password  (str,  optional)  -- User's password in plain
196235                       text.
196236
196237                     · fullname (str, optional) -- The user's full name.
196238
196239                     · description (str, optional) -- A brief  description  of
196240                       the user account.
196241
196242                     · groups  (str,  optional) -- A list of groups to add the
196243                       user to.  (see chgroups)
196244
196245                     · home (str, optional) -- The path  to  the  user's  home
196246                       directory.
196247
196248                     · homedrive (str, optional) -- The drive letter to assign
196249                       to the home directory. Must be the  Drive  Letter  fol‐
196250                       lowed by a colon. ie: U:
196251
196252                     · profile  (str,  optional) -- An explicit path to a pro‐
196253                       file. Can be a UNC or a folder on the system.  If  left
196254                       blank, windows uses it's default profile directory.
196255
196256                     · logonscript  (str,  optional) -- Path to a login script
196257                       to run when the user logs on.
196258
196259              Returns
196260                     True if successful. False is unsuccessful.
196261
196262              Return type
196263                     bool
196264
196265              CLI Example:
196266
196267                 salt '*' user.add name password
196268
196269       salt.modules.win_useradd.addgroup(name, group)
196270              Add user to a group
196271
196272              Parameters
196273
196274                     · name (str) -- The user name to add to the group
196275
196276                     · group (str) -- The name of the group to  which  to  add
196277                       the user
196278
196279              Returns
196280                     True if successful, otherwise False
196281
196282              Return type
196283                     bool
196284
196285              CLI Example:
196286
196287                 salt '*' user.addgroup jsnuffy 'Power Users'
196288
196289       salt.modules.win_useradd.chfullname(name, fullname)
196290              Change the full name of the user
196291
196292              Parameters
196293
196294                     · name  (str)  --  The  user name for which to change the
196295                       full name
196296
196297                     · fullname (str) -- The new value for the full name
196298
196299              Returns
196300                     True if successful, otherwise False
196301
196302              Return type
196303                     bool
196304
196305              CLI Example:
196306
196307                 salt '*' user.chfullname user 'First Last'
196308
196309       salt.modules.win_useradd.chgroups(name, groups, append=True)
196310              Change the groups this user belongs to, add append=False to make
196311              the user a member of only the specified groups
196312
196313              Parameters
196314
196315                     · name (str) -- The user name for which to change groups
196316
196317                     · groups  (str,  list)  --  A  single  group or a list of
196318                       groups to assign to the user. For multiple groups  this
196319                       can be a comma delimited string or a list.
196320
196321                     · append  (bool, optional) -- True adds the passed groups
196322                       to the user's current groups.  False  sets  the  user's
196323                       groups to the passed groups only. Default is True.
196324
196325              Returns
196326                     True if successful, otherwise False
196327
196328              Return type
196329                     bool
196330
196331              CLI Example:
196332
196333                 salt '*' user.chgroups jsnuffy Administrators,Users True
196334
196335       salt.modules.win_useradd.chhome(name, home, **kwargs)
196336              Change  the home directory of the user, pass True for persist to
196337              move files to the new home directory if the old  home  directory
196338              exist.
196339
196340              Parameters
196341
196342                     · name (str) -- The name of the user whose home directory
196343                       you wish to change
196344
196345                     · home (str) -- The new location of the home directory
196346
196347              Returns
196348                     True if successful, otherwise False
196349
196350              Return type
196351                     bool
196352
196353              CLI Example:
196354
196355                 salt '*' user.chhome foo \\fileserver\home\foo True
196356
196357       salt.modules.win_useradd.chprofile(name, profile)
196358              Change the profile directory of the user
196359
196360              Parameters
196361
196362                     · name (str) -- The name of the user  whose  profile  you
196363                       wish to change
196364
196365                     · profile (str) -- The new location of the profile
196366
196367              Returns
196368                     True if successful, otherwise False
196369
196370              Return type
196371                     bool
196372
196373              CLI Example:
196374
196375                 salt '*' user.chprofile foo \\fileserver\profiles\foo
196376
196377       salt.modules.win_useradd.current(sam=False)
196378              Get the username that salt-minion is running under. If salt-min‐
196379              ion is running as a service it should return  the  Local  System
196380              account.  If  salt  is  running  from a command prompt it should
196381              return the username that started the command prompt.
196382
196383              New in version 2015.5.6.
196384
196385
196386              Parameters
196387                     sam (bool, optional) -- False returns just  the  username
196388                     without any domain notation. True returns the domain with
196389                     the username in the SAM format. Ie: domain\username
196390
196391              Returns
196392                     Returns username
196393
196394              Return type
196395                     str
196396
196397              CLI Example:
196398
196399                 salt '*' user.current
196400
196401       salt.modules.win_useradd.delete(name, purge=False, force=False)
196402              Remove a user from the minion
196403
196404              Parameters
196405
196406                     · name (str) -- The name of the user to delete
196407
196408                     · purge (bool, optional) -- Boolean value indicating that
196409                       the  user  profile should also be removed when the user
196410                       account is deleted. If set to True the profile will  be
196411                       removed. Default is False.
196412
196413                     · force (bool, optional) -- Boolean value indicating that
196414                       the user account should be deleted even if the user  is
196415                       logged in. True will log the user out and delete user.
196416
196417              Returns
196418                     True if successful, otherwise False
196419
196420              Return type
196421                     bool
196422
196423              CLI Example:
196424
196425                 salt '*' user.delete name
196426
196427       salt.modules.win_useradd.getUserSid(username)
196428              Get the Security ID for the user
196429
196430              Parameters
196431                     username  (str) -- The user name for which to look up the
196432                     SID
196433
196434              Returns
196435                     The user SID
196436
196437              Return type
196438                     str
196439
196440              CLI Example:
196441
196442                 salt '*' user.getUserSid jsnuffy
196443
196444       salt.modules.win_useradd.getent(refresh=False)
196445              Return the list of all info for all users
196446
196447              Parameters
196448                     refresh (bool,  optional)  --  Refresh  the  cached  user
196449                     information.  Useful  when used from within a state func‐
196450                     tion. Default is False.
196451
196452              Returns
196453                     A dictionary containing information about  all  users  on
196454                     the system
196455
196456              Return type
196457                     dict
196458
196459              CLI Example:
196460
196461                 salt '*' user.getent
196462
196463       salt.modules.win_useradd.info(name)
196464              Return user information
196465
196466              Parameters
196467                     name (str) -- Username for which to display information
196468
196469              Returns
196470
196471                     A dictionary containing user information
196472
196473                            · fullname
196474
196475                            · username
196476
196477                            · SID
196478
196479                            · passwd (will always return None)
196480
196481                            · comment  (same  as  description,  left  here for
196482                              backwards compatibility)
196483
196484                            · description
196485
196486                            · active
196487
196488                            · logonscript
196489
196490                            · profile
196491
196492                            · home
196493
196494                            · homedrive
196495
196496                            · groups
196497
196498                            · password_changed
196499
196500                            · successful_logon_attempts
196501
196502                            · failed_logon_attempts
196503
196504                            · last_logon
196505
196506                            · account_disabled
196507
196508                            · account_locked
196509
196510                            · password_never_expires
196511
196512                            · disallow_change_password
196513
196514                            · gid
196515
196516
196517              Return type
196518                     dict
196519
196520              CLI Example:
196521
196522                 salt '*' user.info jsnuffy
196523
196524       salt.modules.win_useradd.list_groups(name)
196525              Return a list of groups the named user belongs to
196526
196527              Parameters
196528                     name (str) -- The user name for which to list groups
196529
196530              Returns
196531                     A list of groups to which the user belongs
196532
196533              Return type
196534                     list
196535
196536              CLI Example:
196537
196538                 salt '*' user.list_groups foo
196539
196540       salt.modules.win_useradd.list_users()
196541              Return a list of all users on Windows
196542
196543              Returns
196544                     A list of all users on the system
196545
196546              Return type
196547                     list
196548
196549              CLI Example:
196550
196551                 salt '*' user.list_users
196552
196553       salt.modules.win_useradd.removegroup(name, group)
196554              Remove user from a group
196555
196556              Parameters
196557
196558                     · name (str) -- The user name to remove from the group
196559
196560                     · group (str) -- The name of  the  group  from  which  to
196561                       remove the user
196562
196563              Returns
196564                     True if successful, otherwise False
196565
196566              Return type
196567                     bool
196568
196569              CLI Example:
196570
196571                 salt '*' user.removegroup jsnuffy 'Power Users'
196572
196573       salt.modules.win_useradd.rename(name, new_name)
196574              Change the username for a named user
196575
196576              Parameters
196577
196578                     · name (str) -- The user name to change
196579
196580                     · new_name (str) -- The new name for the current user
196581
196582              Returns
196583                     True if successful, otherwise False
196584
196585              Return type
196586                     bool
196587
196588              CLI Example:
196589
196590                 salt '*' user.rename jsnuffy jshmoe
196591
196592       salt.modules.win_useradd.setpassword(name, password)
196593              Set the user's password
196594
196595              Parameters
196596
196597                     · name  (str) -- The user name for which to set the pass‐
196598                       word
196599
196600                     · password (str) -- The new password
196601
196602              Returns
196603                     True if successful, otherwise False
196604
196605              Return type
196606                     bool
196607
196608              CLI Example:
196609
196610                 salt '*' user.setpassword jsnuffy sup3rs3cr3t
196611
196612       salt.modules.win_useradd.update(name,   password=None,   fullname=None,
196613       description=None,  home=None,  homedrive=None,  logonscript=None,  pro‐
196614       file=None, expiration_date=None,  expired=None,  account_disabled=None,
196615       unlock_account=None, password_never_expires=None, disallow_change_pass‐
196616       word=None)
196617              Updates settings for the windows user. Name is the only required
196618              parameter.   Settings  will  only be changed if the parameter is
196619              passed a value.
196620
196621              New in version 2015.8.0.
196622
196623
196624              Parameters
196625
196626                     · name (str) -- The user name to update.
196627
196628                     · password (str, optional) -- New user password in  plain
196629                       text.
196630
196631                     · fullname (str, optional) -- The user's full name.
196632
196633                     · description  (str,  optional) -- A brief description of
196634                       the user account.
196635
196636                     · home (str, optional) -- The path  to  the  user's  home
196637                       directory.
196638
196639                     · homedrive (str, optional) -- The drive letter to assign
196640                       to the home directory. Must be the  Drive  Letter  fol‐
196641                       lowed by a colon. ie: U:
196642
196643                     · logonscript  (str,  optional)  -- The path to the logon
196644                       script.
196645
196646                     · profile (str, optional) -- The path to the user's  pro‐
196647                       file directory.
196648
196649                     · expiration_date  (date,  optional) -- The date and time
196650                       when the account expires.  Can  be  a  valid  date/time
196651                       string. To set to never expire pass the string 'Never'.
196652
196653                     · expired  (bool,  optional)  --  Pass True to expire the
196654                       account. The user will  be  prompted  to  change  their
196655                       password  at  the  next  logon.  Pass False to mark the
196656                       account as 'not expired'. You can't use this to  negate
196657                       the  expiration  if  the  expiration  was caused by the
196658                       account expiring. You'll have  to  change  the  expira‐
196659                       tion_date as well.
196660
196661                     · account_disabled  (bool, optional) -- True disables the
196662                       account. False enables the account.
196663
196664                     · unlock_account  (bool,  optional)  --  True  unlocks  a
196665                       locked user account.  False is ignored.
196666
196667                     · password_never_expires  (bool,  optional)  -- True sets
196668                       the password to never expire. False allows the password
196669                       to expire.
196670
196671                     · disallow_change_password   (bool,   optional)  --  True
196672                       blocks the  user  from  changing  the  password.  False
196673                       allows the user to change the password.
196674
196675              Returns
196676                     True if successful. False is unsuccessful.
196677
196678              Return type
196679                     bool
196680
196681              CLI Example:
196682
196683                 salt '*' user.update bob password=secret profile=C:\Users\Bob
196684                          home=\server\homeshareob homedrive=U:
196685
196686   salt.modules.win_wua
196687       Module for managing Windows Updates using the Windows Update Agent.
196688
196689       List updates on the system using the following functions:
196690
196691       · win_wua.available
196692
196693       · win_wua.list
196694
196695       This is an easy way to find additional information about updates avail‐
196696       able to to the system, such as the GUID, KB number, or description.
196697
196698       Once you have the GUID or a KB number for the update you can get infor‐
196699       mation about the update, download, install, or uninstall it using these
196700       functions:
196701
196702       · win_wua.get
196703
196704       · win_wua.download
196705
196706       · win_wua.install
196707
196708       · win_wua.uninstall
196709
196710       The get function expects a name in the form of a GUID, KB, or Title and
196711       should  return  information  about a single update. The other functions
196712       accept  either  a  single  item  or  a  list  of  items  for  download‐
196713       ing/installing/uninstalling a specific list of items.
196714
196715       The  win_wua.list  and  win_wua.get functions are utility functions. In
196716       addition to returning information about updates they can also  download
196717       and install updates by setting download=True or install=True.  So, with
196718       py:func:win_wua.list  <salt.modules.win_wua.list_>  for  example,   you
196719       could  run the function with the filters you want to see what is avail‐
196720       able. Then just add install=True to install everything on that list.
196721
196722       If you want to download, install, or uninstall  specific  updates,  use
196723       win_wua.download, win_wua.install, or win_wua.uninstall. To update your
196724       system with the latest updates use win_wua.list and set install=True
196725
196726       You  can  also  adjust  the   Windows   Update   settings   using   the
196727       win_wua.set_wu_settings  function.  This  function is only supported on
196728       the following operating systems:
196729
196730       · Windows Vista / Server 2008
196731
196732       · Windows 7 / Server 2008R2
196733
196734       · Windows 8 / Server 2012
196735
196736       · Windows 8.1 / Server 2012R2
196737
196738       As of Windows 10 and Windows Server 2016, the  ability  to  modify  the
196739       Windows  Update settings has been restricted. The settings can be modi‐
196740       fied in the Local Group Policy using the lgpo module.
196741
196742       New in version 2015.8.0.
196743
196744
196745       depends
196746              salt.utils.win_update
196747
196748       salt.modules.win_wua.available(software=True,    drivers=True,     sum‐
196749       mary=False,    skip_installed=True,    skip_hidden=True,    skip_manda‐
196750       tory=False, skip_reboot=False, categories=None, severities=None)
196751              New in version 2017.7.0.
196752
196753
196754              List updates that match the passed  criteria.  This  allows  for
196755              more  filter  options  than  list(). Good for finding a specific
196756              GUID or KB.
196757
196758              Parameters
196759
196760                     · software (bool) --  Include  software  updates  in  the
196761                       results (default is True)
196762
196763                     · drivers (bool) -- Include driver updates in the results
196764                       (default is True)
196765
196766                     · summary (bool) -- .INDENT 2.0
196767
196768                     · True: Return a summary of updates  available  for  each
196769                       category.
196770
196771                     · False  (default):  Return  a detailed list of available
196772                       updates.
196773
196774
196775              · skip_installed  (bool)  --  Skip  updates  that  are   already
196776                installed. Default is False.
196777
196778              · skip_hidden  (bool)  --  Skip  updates  that have been hidden.
196779                Default is True.
196780
196781              · skip_mandatory (bool) -- Skip mandatory  updates.  Default  is
196782                False.
196783
196784              · skip_reboot  (bool)  --  Skip  updates  that require a reboot.
196785                Default is False.
196786
196787              · categories (list) --
196788
196789                Specify the categories to list. Must be passed as a list.  All
196790                categories returned by default.
196791
196792                Categories include the following:
196793
196794                · Critical Updates
196795
196796                · Definition Updates
196797
196798                · Drivers (make sure you set drivers=True)
196799
196800                · Feature Packs
196801
196802                · Security Updates
196803
196804                · Update Rollups
196805
196806                · Updates
196807
196808                · Update Rollups
196809
196810                · Windows 7
196811
196812                · Windows 8.1
196813
196814                · Windows 8.1 drivers
196815
196816                · Windows 8.1 and later drivers
196817
196818                · Windows Defender
196819
196820
196821              · severities (list) --
196822
196823                Specify  the  severities to include. Must be passed as a list.
196824                All severities returned by default.
196825
196826                Severities include the following:
196827
196828                · Critical
196829
196830                · Important
196831
196832
196833       Returns
196834              Returns a dict containing either a summary or a list of updates:
196835
196836                 List of Updates:
196837                 {'<GUID>': {'Title': <title>,
196838                             'KB': <KB>,
196839                             'GUID': <the globally unique identifier for the update>
196840                             'Description': <description>,
196841                             'Downloaded': <has the update been downloaded>,
196842                             'Installed': <has the update been installed>,
196843                             'Mandatory': <is the update mandatory>,
196844                             'UserInput': <is user input required>,
196845                             'EULAAccepted': <has the EULA been accepted>,
196846                             'Severity': <update severity>,
196847                             'NeedsReboot': <is the update installed and awaiting reboot>,
196848                             'RebootBehavior': <will the update require a reboot>,
196849                             'Categories': [ '<category 1>',
196850                                             '<category 2>',
196851                                             ...]
196852                             }
196853                 }
196854
196855                 Summary of Updates:
196856                 {'Total': <total number of updates returned>,
196857                  'Available': <updates that are not downloaded or installed>,
196858                  'Downloaded': <updates that are downloaded but not installed>,
196859                  'Installed': <updates installed (usually 0 unless installed=True)>,
196860                  'Categories': { <category 1>: <total for that category>,
196861                                  <category 2>: <total for category 2>,
196862                                  ... }
196863                 }
196864
196865
196866       Return type
196867              dict
196868
196869       CLI Examples:
196870
196871                 # Normal Usage (list all software updates)
196872                 salt '*' win_wua.available
196873
196874                 # List all updates with categories of Critical Updates and Drivers
196875                 salt '*' win_wua.available categories=["Critical Updates","Drivers"]
196876
196877                 # List all Critical Security Updates
196878                 salt '*' win_wua.available categories=["Security Updates"] severities=["Critical"]
196879
196880                 # List all updates with a severity of Critical
196881                 salt '*' win_wua.available severities=["Critical"]
196882
196883                 # A summary of all available updates
196884                 salt '*' win_wua.available summary=True
196885
196886                 # A summary of all Feature Packs and Windows 8.1 Updates
196887                 salt '*' win_wua.available categories=["Feature Packs","Windows 8.1"] summary=True
196888
196889       salt.modules.win_wua.download(names)
196890              New in version 2017.7.0.
196891
196892
196893              Downloads updates that match the  list  of  passed  identifiers.
196894              It's  easier to use this function by using list_updates and set‐
196895              ting install=True.
196896
196897              Parameters
196898                     names (str, list) -- A single update or a list of updates
196899                     to  download.  This  can  be any combination of GUIDs, KB
196900                     numbers, or names. GUIDs or KBs are preferred.
196901
196902              NOTE:
196903                 An error will be raised if there are more results than  there
196904                 are items in the names parameter
196905
196906              Returns
196907                     A  dictionary containing the details about the downloaded
196908                     updates
196909
196910              Return type
196911                     dict
196912
196913              CLI Examples:
196914
196915                 # Normal Usage
196916                 salt '*' win_wua.download names=['12345678-abcd-1234-abcd-1234567890ab', 'KB2131233']
196917
196918       salt.modules.win_wua.get(name, download=False, install=False)
196919              New in version 2017.7.0.
196920
196921
196922              Returns details for the named update
196923
196924              Parameters
196925
196926                     · name (str) -- The name of the update  you're  searching
196927                       for.  This can be the GUID, a KB number, or any part of
196928                       the name of the update. GUIDs and  KBs  are  preferred.
196929                       Run  list to get the GUID for the update you're looking
196930                       for.
196931
196932                     · download (bool) -- Download the update returned by this
196933                       function.  Run this function first to see if the update
196934                       exists, then set download=True to download the update.
196935
196936                     · install (bool) -- Install the update returned  by  this
196937                       function.  Run this function first to see if the update
196938                       exists, then set install=True to install the update.
196939
196940              Returns
196941                     Returns a dict containing a list of  updates  that  match
196942                     the  name  if download and install are both set to False.
196943                     Should usually be a single update, but can return  multi‐
196944                     ple if a partial name is given.
196945
196946                     If  download or install is set to true it will return the
196947                     results of the operation.
196948
196949                        List of Updates:
196950                        {'<GUID>': {'Title': <title>,
196951                                    'KB': <KB>,
196952                                    'GUID': <the globally unique identifier for the update>
196953                                    'Description': <description>,
196954                                    'Downloaded': <has the update been downloaded>,
196955                                    'Installed': <has the update been installed>,
196956                                    'Mandatory': <is the update mandatory>,
196957                                    'UserInput': <is user input required>,
196958                                    'EULAAccepted': <has the EULA been accepted>,
196959                                    'Severity': <update severity>,
196960                                    'NeedsReboot': <is the update installed and awaiting reboot>,
196961                                    'RebootBehavior': <will the update require a reboot>,
196962                                    'Categories': [ '<category 1>',
196963                                                    '<category 2>',
196964                                                    ...]
196965                                    }
196966                        }
196967
196968
196969              Return type
196970                     dict
196971
196972              CLI Examples:
196973
196974                 # Recommended Usage using GUID without braces
196975                 # Use this to find the status of a specific update
196976                 salt '*' win_wua.get 12345678-abcd-1234-abcd-1234567890ab
196977
196978                 # Use the following if you don't know the GUID:
196979
196980                 # Using a KB number
196981                 # Not all updates have an associated KB
196982                 salt '*' win_wua.get KB3030298
196983
196984                 # Using part or all of the name of the update
196985                 # Could possibly return multiple results
196986                 # Not all updates have an associated KB
196987                 salt '*' win_wua.get 'Microsoft Camera Codec Pack'
196988
196989       salt.modules.win_wua.get_needs_reboot()
196990              Determines if the system needs to be rebooted.
196991
196992              Returns
196993                     True if the system requires a reboot, otherwise False
196994
196995              Return type
196996                     bool
196997
196998              CLI Examples:
196999
197000                 salt '*' win_wua.get_needs_reboot
197001
197002       salt.modules.win_wua.get_wu_settings()
197003              Get current Windows Update settings.
197004
197005              Returns
197006                     A dictionary of Windows Update settings:
197007
197008                     Featured Updates:
197009                            Boolean value that indicates  whether  to  display
197010                            notifications for featured updates.
197011
197012                     Group Policy Required (Read-only):
197013                            Boolean  value that indicates whether Group Policy
197014                            requires the Automatic Updates service.
197015
197016                     Microsoft Update:
197017                            Boolean value that indicates whether  to  turn  on
197018                            Microsoft Update for other Microsoft Products
197019
197020                     Needs Reboot:
197021                            Boolean  value  that indicates whether the machine
197022                            is in a reboot pending state.
197023
197024                     Non Admins Elevated:
197025                            Boolean value that indicates whether  non-adminis‐
197026                            trators  can  perform  some update-related actions
197027                            without administrator approval.
197028
197029                     Notification Level:
197030
197031                            Number 1 to 4 indicating the update level:
197032
197033                                   1. Never check for updates
197034
197035                                   2. Check for  updates  but  let  me  choose
197036                                      whether to download and install them
197037
197038                                   3. Download   updates  but  let  me  choose
197039                                      whether to install them
197040
197041                                   4. Install updates automatically
197042
197043                     Read Only (Read-only):
197044                            Boolean value that indicates whether the Automatic
197045                            Update settings are read-only.
197046
197047                     Recommended Updates:
197048                            Boolean  value  that  indicates whether to include
197049                            optional or recommended updates when a search  for
197050                            updates and installation of updates is performed.
197051
197052                     Scheduled Day:
197053                            Days  of  the  week  on  which  Automatic  Updates
197054                            installs or uninstalls updates.
197055
197056                     Scheduled Time:
197057                            Time at which Automatic Updates installs or  unin‐
197058                            stalls updates.
197059
197060
197061              Return type
197062                     dict
197063
197064              CLI Examples:
197065
197066                 salt '*' win_wua.get_wu_settings
197067
197068       salt.modules.win_wua.install(names)
197069              New in version 2017.7.0.
197070
197071
197072              Installs  updates  that match the list of identifiers. It may be
197073              easier to use the list_updates function and set install=True.
197074
197075              Parameters
197076                     names (str, list) -- A single update or a list of updates
197077                     to install. This can be any combination of GUIDs, KB num‐
197078                     bers, or names. GUIDs or KBs are preferred.
197079
197080              NOTE:
197081                 An error will be raised if there are more results than  there
197082                 are items in the names parameter
197083
197084              Returns
197085                     A  dictionary  containing the details about the installed
197086                     updates
197087
197088              Return type
197089                     dict
197090
197091              CLI Examples:
197092
197093                 # Normal Usage
197094                 salt '*' win_wua.install KB12323211
197095
197096       salt.modules.win_wua.list(software=True, drivers=False,  summary=False,
197097       skip_installed=True,  categories=None, severities=None, download=False,
197098       install=False)
197099              New in version 2017.7.0.
197100
197101
197102              Returns a detailed list of available updates or  a  summary.  If
197103              download  or  install  is  True the same list will be downloaded
197104              and/or installed.
197105
197106              Parameters
197107
197108                     · software (bool) --  Include  software  updates  in  the
197109                       results (default is True)
197110
197111                     · drivers (bool) -- Include driver updates in the results
197112                       (default is False)
197113
197114                     · summary (bool) -- .INDENT 2.0
197115
197116                     · True: Return a summary of updates  available  for  each
197117                       category.
197118
197119                     · False  (default):  Return  a detailed list of available
197120                       updates.
197121
197122
197123              · skip_installed (bool) -- Skip installed updates in the results
197124                (default is False)
197125
197126              · download  (bool)  -- (Overrides reporting functionality) Down‐
197127                load the list of updates returned by this function.  Run  this
197128                function  first  with download=False to see what will be down‐
197129                loaded, then set download=True to download the updates.
197130
197131              · install (bool) -- (Overrides reporting functionality)  Install
197132                the  list of updates returned by this function. Run this func‐
197133                tion first with install=False to see what will  be  installed,
197134                then set install=True to install the updates.
197135
197136              · categories (list) --
197137
197138                Specify  the categories to list. Must be passed as a list. All
197139                categories returned by default.
197140
197141                Categories include the following:
197142
197143                · Critical Updates
197144
197145                · Definition Updates
197146
197147                · Drivers (make sure you set drivers=True)
197148
197149                · Feature Packs
197150
197151                · Security Updates
197152
197153                · Update Rollups
197154
197155                · Updates
197156
197157                · Update Rollups
197158
197159                · Windows 7
197160
197161                · Windows 8.1
197162
197163                · Windows 8.1 drivers
197164
197165                · Windows 8.1 and later drivers
197166
197167                · Windows Defender
197168
197169
197170              · severities (list) --
197171
197172                Specify the severities to include. Must be passed as  a  list.
197173                All severities returned by default.
197174
197175                Severities include the following:
197176
197177                · Critical
197178
197179                · Important
197180
197181
197182       Returns
197183              Returns a dict containing either a summary or a list of updates:
197184
197185                 List of Updates:
197186                 {'<GUID>': {'Title': <title>,
197187                             'KB': <KB>,
197188                             'GUID': <the globally unique identifier for the update>
197189                             'Description': <description>,
197190                             'Downloaded': <has the update been downloaded>,
197191                             'Installed': <has the update been installed>,
197192                             'Mandatory': <is the update mandatory>,
197193                             'UserInput': <is user input required>,
197194                             'EULAAccepted': <has the EULA been accepted>,
197195                             'Severity': <update severity>,
197196                             'NeedsReboot': <is the update installed and awaiting reboot>,
197197                             'RebootBehavior': <will the update require a reboot>,
197198                             'Categories': [ '<category 1>',
197199                                             '<category 2>',
197200                                             ...]
197201                             }
197202                 }
197203
197204                 Summary of Updates:
197205                 {'Total': <total number of updates returned>,
197206                  'Available': <updates that are not downloaded or installed>,
197207                  'Downloaded': <updates that are downloaded but not installed>,
197208                  'Installed': <updates installed (usually 0 unless installed=True)>,
197209                  'Categories': { <category 1>: <total for that category>,
197210                                  <category 2>: <total for category 2>,
197211                                  ... }
197212                 }
197213
197214
197215       Return type
197216              dict
197217
197218       CLI Examples:
197219
197220                 # Normal Usage (list all software updates)
197221                 salt '*' win_wua.list
197222
197223                 # List all updates with categories of Critical Updates and Drivers
197224                 salt '*' win_wua.list categories=['Critical Updates','Drivers']
197225
197226                 # List all Critical Security Updates
197227                 salt '*' win_wua.list categories=['Security Updates'] severities=['Critical']
197228
197229                 # List all updates with a severity of Critical
197230                 salt '*' win_wua.list severities=['Critical']
197231
197232                 # A summary of all available updates
197233                 salt '*' win_wua.list summary=True
197234
197235                 # A summary of all Feature Packs and Windows 8.1 Updates
197236                 salt '*' win_wua.list categories=['Feature Packs','Windows 8.1'] summary=True
197237
197238       salt.modules.win_wua.set_wu_settings(level=None, recommended=None, fea‐
197239       tured=None, elevated=None, msupdate=None, day=None, time=None)
197240              Change Windows Update settings. If no parameters are passed, the
197241              current value will be returned.
197242
197243              Supported:
197244
197245                     · Windows Vista / Server 2008
197246
197247                     · Windows 7 / Server 2008R2
197248
197249                     · Windows 8 / Server 2012
197250
197251                     · Windows 8.1 / Server 2012R2
197252
197253              Parameters
197254
197255                     · level (int) --
197256
197257                       Number from 1 to 4 indicating the update level:
197258
197259                       1. Never check for updates
197260
197261                       2. Check for updates but let me choose whether to down‐
197262                          load and install them
197263
197264                       3. Download  updates  but  let  me  choose  whether  to
197265                          install them
197266
197267                       4. Install updates automatically
197268
197269
197270                     · recommended  (bool)  --  Boolean  value  that indicates
197271                       whether to include optional or recommended updates when
197272                       a  search  for  updates  and installation of updates is
197273                       performed.
197274
197275                     · featured (bool) -- Boolean value that indicates whether
197276                       to display notifications for featured updates.
197277
197278                     · elevated (bool) -- Boolean value that indicates whether
197279                       non-administrators  can  perform  some   update-related
197280                       actions without administrator approval.
197281
197282                     · msupdate (bool) -- Boolean value that indicates whether
197283                       to turn on Microsoft Update for other  Microsoft  prod‐
197284                       ucts
197285
197286                     · day (str) --
197287
197288                       Days of the week on which Automatic Updates installs or
197289                       uninstalls updates. Accepted values:
197290
197291                       · Everyday
197292
197293                       · Monday
197294
197295                       · Tuesday
197296
197297                       · Wednesday
197298
197299                       · Thursday
197300
197301                       · Friday
197302
197303                       · Saturday
197304
197305
197306                     · time (str) -- Time at which Automatic Updates  installs
197307                       or  uninstalls  updates. Must be in the ##:## 24hr for‐
197308                       mat, eg. 3:00 PM would be 15:00.  Must  be  in  1  hour
197309                       increments.
197310
197311              Returns
197312                     Returns a dictionary containing the results.
197313
197314              Return type
197315                     dict
197316
197317              CLI Examples:
197318
197319                 salt '*' win_wua.set_wu_settings level=4 recommended=True featured=False
197320
197321       salt.modules.win_wua.uninstall(names)
197322              New in version 2017.7.0.
197323
197324
197325              Uninstall updates.
197326
197327              Parameters
197328                     names (str, list) -- A single update or a list of updates
197329                     to uninstall. This can be any combination  of  GUIDs,  KB
197330                     numbers, or names. GUIDs or KBs are preferred.
197331
197332              Returns
197333                     A dictionary containing the details about the uninstalled
197334                     updates
197335
197336              Return type
197337                     dict
197338
197339              CLI Examples:
197340
197341                 # Normal Usage
197342                 salt '*' win_wua.uninstall KB3121212
197343
197344                 # As a list
197345                 salt '*' win_wua.uninstall guid=['12345678-abcd-1234-abcd-1234567890ab', 'KB1231231']
197346
197347   salt.modules.win_wusa
197348       Microsoft Update files management via wusa.exe
197349
197350       maintainer
197351              Thomas Lemarchand
197352
197353       platform
197354              Windows
197355
197356       depends
197357              PowerShell
197358
197359       New in version 2018.3.4.
197360
197361
197362       salt.modules.win_wusa.install(path, restart=False)
197363              Install a KB from a .msu file.
197364
197365              Parameters
197366
197367                     · path (str) -- The full path to the msu file to install
197368
197369                     · restart (bool) -- True to force a restart  if  required
197370                       by  the  installation. Adds the /forcerestart switch to
197371                       the wusa.exe command. False  will  add  the  /norestart
197372                       switch instead. Default is False
197373
197374              Returns
197375                     True if successful, otherwise False
197376
197377              Return type
197378                     bool
197379
197380              Raise:
197381
197382                     CommandExecutionError:   If   the   package   is  already
197383                     installed or an error
197384                            is encountered
197385
197386              CLI Example:
197387
197388                 salt '*' wusa.install C:/temp/KB123456.msu
197389
197390       salt.modules.win_wusa.is_installed(name)
197391              Check if a specific KB is installed.
197392
197393              Parameters
197394                     name (str) -- The name of the KB to check
197395
197396              Returns
197397                     True if installed, otherwise False
197398
197399              Return type
197400                     bool
197401
197402              CLI Example:
197403
197404                 salt '*' wusa.is_installed KB123456
197405
197406       salt.modules.win_wusa.list()
197407              Get a list of updates installed on the machine
197408
197409              Returns
197410                     A list of installed updates
197411
197412              Return type
197413                     list
197414
197415              CLI Example:
197416
197417                 salt '*' wusa.list
197418
197419       salt.modules.win_wusa.uninstall(path, restart=False)
197420              Uninstall a specific KB.
197421
197422              Parameters
197423
197424                     · path (str) -- The full path to the msu  file  to  unin‐
197425                       stall.  This  can  also  be  just the name of the KB to
197426                       uninstall
197427
197428                     · restart (bool) -- True to force a restart  if  required
197429                       by  the  installation. Adds the /forcerestart switch to
197430                       the wusa.exe command. False  will  add  the  /norestart
197431                       switch instead. Default is False
197432
197433              Returns
197434                     True if successful, otherwise False
197435
197436              Return type
197437                     bool
197438
197439              Raises CommandExecutionError -- If an error is encountered
197440
197441              CLI Example:
197442
197443                 salt '*' wusa.uninstall KB123456
197444
197445                 # or
197446
197447                 salt '*' wusa.uninstall C:/temp/KB123456.msu
197448
197449   salt.modules.x509
197450       Manage X509 certificates
197451
197452       New in version 2015.8.0.
197453
197454
197455       depends
197456              M2Crypto
197457
197458       salt.modules.x509.create_certificate(path=None,    text=False,    over‐
197459       write=True, ca_server=None, **kwargs)
197460              Create an X509 certificate.
197461
197462              path:  Path to write the certificate to.
197463
197464              text:  If True, return the PEM text without writing to  a  file.
197465                     Default False.
197466
197467              overwrite:
197468                     If  True (default), create_certificate will overwrite the
197469                     entire PEM file. Set False to preserve  existing  private
197470                     keys and dh params that may exist in the PEM file.
197471
197472              kwargs:
197473                     Any of the properties below can be included as additional
197474                     keyword arguments.
197475
197476              ca_server:
197477                     Request a remotely signed certificate from ca_server. For
197478                     this  to  work,  a  signing_policy must be specified, and
197479                     that same policy must be configured on the ca_server. See
197480                     signing_policy  for  details.  Also, the salt master must
197481                     permit peers to call  the  sign_remote_certificate  func‐
197482                     tion.
197483
197484                     Example:
197485
197486                     /etc/salt/master.d/peer.conf
197487
197488                        peer:
197489                          .*:
197490                            - x509.sign_remote_certificate
197491
197492              subject properties:
197493                     Any  of  the  values below can be included to set subject
197494                     properties Any  other  subject  properties  supported  by
197495                     OpenSSL should also work.
197496
197497                     C:     2 letter Country code
197498
197499                     CN:    Certificate common name, typically the FQDN.
197500
197501                     Email: Email address
197502
197503                     GN:    Given Name
197504
197505                     L:     Locality
197506
197507                     O:     Organization
197508
197509                     OU:    Organization Unit
197510
197511                     SN:    SurName
197512
197513                     ST:    State or Province
197514
197515              signing_private_key:
197516                     A  path  or  string of the private key in PEM format that
197517                     will be used to sign this certificate. If  neither  sign‐
197518                     ing_cert,  public_key,  or  csr  are included, it will be
197519                     assumed that this is a self-signed certificate,  and  the
197520                     public  key  matching signing_private_key will be used to
197521                     create the certificate.
197522
197523              signing_private_key_passphrase:
197524                     Passphrase used to decrypt the signing_private_key.
197525
197526              signing_cert:
197527                     A certificate matching the private key that will be  used
197528                     to  sign  this  certificate. This is used to populate the
197529                     issuer  values  in  the  resulting  certificate.  Do  not
197530                     include this value for self-signed certificates.
197531
197532              public_key:
197533                     The  public  key to be included in this certificate. This
197534                     can be sourced from a public  key,  certificate,  CSR  or
197535                     private  key. If a private key is used, the matching pub‐
197536                     lic key from the private key will be generated before any
197537                     processing is done. This means you can request a certifi‐
197538                     cate from a remote CA using a private key  file  as  your
197539                     public_key  and  only  the public key will be sent across
197540                     the network to the CA. If neither public_key or  csr  are
197541                     specified,  it will be assumed that this is a self-signed
197542                     certificate, and the public key derived from signing_pri‐
197543                     vate_key  will be used. Specify either public_key or csr,
197544                     not both. Because you can input a CSR as a public key  or
197545                     as  a  CSR, it is important to understand the difference.
197546                     If you import a CSR as a public key, only the public  key
197547                     will  be  added  to the certificate, subject or extension
197548                     information in the CSR will be lost.
197549
197550              public_key_passphrase:
197551                     If the public key is supplied as a private key,  this  is
197552                     the passphrase used to decrypt it.
197553
197554              csr:   A  file  or  PEM  string containing a certificate signing
197555                     request. This will be used to supply the subject,  exten‐
197556                     sions  and  public  key  of a certificate. Any subject or
197557                     extensions specified explicitly will overwrite any in the
197558                     CSR.
197559
197560              basicConstraints:
197561                     X509v3 Basic Constraints extension.
197562
197563              extensions:
197564                     The  following  arguments set X509v3 Extension values. If
197565                     the value starts with critical,  the  extension  will  be
197566                     marked as critical.
197567
197568                     Some  special  extensions  are  subjectKeyIdentifier  and
197569                     authorityKeyIdentifier.
197570
197571                     subjectKeyIdentifier can be an explicit value or  it  can
197572                     be  the  special  string  hash. hash will set the subjec‐
197573                     tKeyIdentifier equal to the SHA1 hash of the  modulus  of
197574                     the public key in this certificate. Note that this is not
197575                     the exact same hashing method used by OpenSSL when  using
197576                     the hash value.
197577
197578                     authorityKeyIdentifier   Use  values  acceptable  to  the
197579                     openssl  CLI  tools.  This  will  automatically  populate
197580                     authorityKeyIdentifier  with  the subjectKeyIdentifier of
197581                     signing_cert. If this is a self-signed cert these  values
197582                     will be the same.
197583
197584                     basicConstraints:
197585                            X509v3 Basic Constraints
197586
197587                     keyUsage:
197588                            X509v3 Key Usage
197589
197590                     extendedKeyUsage:
197591                            X509v3 Extended Key Usage
197592
197593                     subjectKeyIdentifier:
197594                            X509v3 Subject Key Identifier
197595
197596                     issuerAltName:
197597                            X509v3 Issuer Alternative Name
197598
197599                     subjectAltName:
197600                            X509v3 Subject Alternative Name
197601
197602                     crlDistributionPoints:
197603                            X509v3 CRL Distribution Points
197604
197605                     issuingDistributionPoint:
197606                            X509v3 Issuing Distribution Point
197607
197608                     certificatePolicies:
197609                            X509v3 Certificate Policies
197610
197611                     policyConstraints:
197612                            X509v3 Policy Constraints
197613
197614                     inhibitAnyPolicy:
197615                            X509v3 Inhibit Any Policy
197616
197617                     nameConstraints:
197618                            X509v3 Name Constraints
197619
197620                     noCheck:
197621                            X509v3 OCSP No Check
197622
197623                     nsComment:
197624                            Netscape Comment
197625
197626                     nsCertType:
197627                            Netscape Certificate Type
197628
197629              days_valid:
197630                     The number of days this certificate should be valid. This
197631                     sets the notAfter property of the  certificate.  Defaults
197632                     to 365.
197633
197634              version:
197635                     The  version of the X509 certificate. Defaults to 3. This
197636                     is automatically converted to the version value, so  ver‐
197637                     sion=3 sets the certificate version field to 0x2.
197638
197639              serial_number:
197640                     The serial number to assign to this certificate. If omit‐
197641                     ted a random serial number of size serial_bits is  gener‐
197642                     ated.
197643
197644              serial_bits:
197645                     The  number  of  bits  to  use when randomly generating a
197646                     serial number.  Defaults to 64.
197647
197648              algorithm:
197649                     The hashing algorithm to be used for  signing  this  cer‐
197650                     tificate.  Defaults to sha256.
197651
197652              copypath:
197653                     An  additional path to copy the resulting certificate to.
197654                     Can be used to maintain a copy of all certificates issued
197655                     for revocation purposes.
197656
197657              prepend_cn:
197658                     If  set  to  True, the CN and a dash will be prepended to
197659                     the copypath's filename.
197660
197661                     Example:
197662                            /etc/pki/issued_certs/www.exam‐
197663                            ple.com-DE:CA:FB:AD:00:00:00:00.crt
197664
197665              signing_policy:
197666                     A  signing policy that should be used to create this cer‐
197667                     tificate.  Signing policies should be defined in the min‐
197668                     ion  configuration, or in a minion pillar. It should be a
197669                     YAML formatted list of arguments which will override  any
197670                     arguments  passed to this function. If the minions key is
197671                     included in the signing  policy,  only  minions  matching
197672                     that  pattern (see match.glob and match.compound) will be
197673                     permitted to remotely request certificates from that pol‐
197674                     icy.
197675
197676                     Example:
197677
197678                        x509_signing_policies:
197679                          www:
197680                            - minions: 'www*'
197681                            - signing_private_key: /etc/pki/ca.key
197682                            - signing_cert: /etc/pki/ca.crt
197683                            - C: US
197684                            - ST: Utah
197685                            - L: Salt Lake City
197686                            - basicConstraints: "critical CA:false"
197687                            - keyUsage: "critical cRLSign, keyCertSign"
197688                            - subjectKeyIdentifier: hash
197689                            - authorityKeyIdentifier: keyid,issuer:always
197690                            - days_valid: 90
197691                            - copypath: /etc/pki/issued_certs/
197692
197693                     The above signing policy can be invoked with signing_pol‐
197694                     icy=www
197695
197696              CLI Example:
197697
197698                 salt '*' x509.create_certificate path=/etc/pki/myca.crt signing_private_key='/etc/pki/myca.key' csr='/etc/pki/myca.csr'}
197699
197700       salt.modules.x509.create_crl(path=None,    text=False,     signing_pri‐
197701       vate_key=None,  signing_private_key_passphrase=None, signing_cert=None,
197702       revoked=None, include_expired=False, days_valid=100, digest=u'')
197703              Create a CRL
197704
197705              Depends
197706
197707                     · PyOpenSSL Python module
197708
197709              path:  Path to write the CRL to.
197710
197711              text:  If True, return the PEM text without writing to  a  file.
197712                     Default False.
197713
197714              signing_private_key:
197715                     A  path  or  string of the private key in PEM format that
197716                     will be used to sign the CRL. This is required.
197717
197718              signing_private_key_passphrase:
197719                     Passphrase to decrypt the private key.
197720
197721              signing_cert:
197722                     A certificate matching the private key that will be  used
197723                     to sign the CRL. This is required.
197724
197725              revoked:
197726                     A  list  of  dicts  containing  all  the  certificates to
197727                     revoke. Each dict represents one certificate. A dict must
197728                     contain  either  the  key serial_number with the value of
197729                     the serial number to revoke, or certificate  with  either
197730                     the PEM encoded text of the certificate, or a path to the
197731                     certificate to revoke.
197732
197733                     The dict can optionally contain the revocation_date  key.
197734                     If this key is omitted the revocation date will be set to
197735                     now. If should  be  a  string  in  the  format  "%Y-%m-%d
197736                     %H:%M:%S".
197737
197738                     The  dict  can also optionally contain the not_after key.
197739                     This is redundant if the certificate key is included.  If
197740                     the Certificate key is not included, this can be used for
197741                     the logic behind the include_expired parameter. If should
197742                     be a string in the format "%Y-%m-%d %H:%M:%S".
197743
197744                     The dict can also optionally contain the reason key. This
197745                     is the reason code for the revocation. Available  choices
197746                     are  unspecified,  keyCompromise,  CACompromise, affilia‐
197747                     tionChanged, superseded,  cessationOfOperation  and  cer‐
197748                     tificateHold.
197749
197750              include_expired:
197751                     Include  expired  certificates  in  the  CRL.  Default is
197752                     False.
197753
197754              days_valid:
197755                     The number of days that the CRL  should  be  valid.  This
197756                     sets the Next Update field in the CRL.
197757
197758              digest:
197759                     The  digest  to  use  for  signing  the CRL.  This has no
197760                     effect on versions of pyOpenSSL less than 0.14
197761
197762              CLI Example:
197763
197764                 salt '*' x509.create_crl path=/etc/pki/mykey.key signing_private_key=/etc/pki/ca.key signing_cert=/etc/pki/ca.crt revoked="{'compromized-web-key': {'certificate': '/etc/pki/certs/www1.crt', 'revocation_date': '2015-03-01 00:00:00'}}"
197765
197766       salt.modules.x509.create_csr(path=None, text=False, **kwargs)
197767              Create a certificate signing request.
197768
197769              path:  Path to write the certificate to.
197770
197771              text:  If True, return the PEM text without writing to  a  file.
197772                     Default False.
197773
197774              algorithm:
197775                     The  hashing  algorithm  to  be  used  for  signing  this
197776                     request. Defaults to sha256.
197777
197778              kwargs:
197779                     The  subject,  extension  and  version   arguments   from
197780                     x509.create_certificate can be used.
197781
197782              CLI Example:
197783
197784                 salt '*' x509.create_csr path=/etc/pki/myca.csr public_key='/etc/pki/myca.key' CN='My Cert'
197785
197786       salt.modules.x509.create_private_key(path=None,  text=False, bits=2048,
197787       passphrase=None, cipher=u'aes_128_cbc', verbose=True)
197788              Creates a private key in PEM format.
197789
197790              path:  The path to write the file to, either path  or  text  are
197791                     required.
197792
197793              text:  If  True,  return the PEM text without writing to a file.
197794                     Default False.
197795
197796              bits:  Length of the private key in bits. Default 2048
197797
197798              passphrase:
197799                     Passphrase for encrypting the private key
197800
197801              cipher:
197802                     Cipher for encrypting the private key. Has no  effect  if
197803                     passphrase is None.
197804
197805              verbose:
197806                     Provide visual feedback on stdout. Default True
197807
197808                     New in version 2016.11.0.
197809
197810
197811              CLI Example:
197812
197813                 salt '*' x509.create_private_key path=/etc/pki/mykey.key
197814
197815       salt.modules.x509.expired(certificate)
197816              Returns  a  dict containing limited details of a certificate and
197817              whether the certificate has expired.
197818
197819              New in version 2016.11.0.
197820
197821
197822              certificate:
197823                     The certificate to be read. Can be a path to  a  certifi‐
197824                     cate  file, or a string containing the PEM formatted text
197825                     of the certificate.
197826
197827              CLI Example:
197828
197829                 salt '*' x509.expired "/etc/pki/mycert.crt"
197830
197831       salt.modules.x509.get_pem_entries(glob_path)
197832              Returns a dict containing PEM entries in files matching a glob
197833
197834              glob_path:
197835                     A path to certificates to be read and returned.
197836
197837              CLI Example:
197838
197839                 salt '*' x509.get_pem_entries "/etc/pki/*.crt"
197840
197841       salt.modules.x509.get_pem_entry(text, pem_type=None)
197842              Returns a properly formatted PEM string from the input text fix‐
197843              ing any whitespace or line-break issues
197844
197845              text:  Text containing the X509 PEM entry to be returned or path
197846                     to a file containing the text.
197847
197848              pem_type:
197849                     If specified, this function will only return a pem  of  a
197850                     certain  type,  for example 'CERTIFICATE' or 'CERTIFICATE
197851                     REQUEST'.
197852
197853              CLI Example:
197854
197855                 salt '*' x509.get_pem_entry "-----BEGIN CERTIFICATE REQUEST-----MIICyzCC Ar8CAQI...-----END CERTIFICATE REQUEST"
197856
197857       salt.modules.x509.get_private_key_size(private_key, passphrase=None)
197858              Returns the bit length of a private key in PEM format.
197859
197860              private_key:
197861                     A path or PEM encoded string containing a private key.
197862
197863              CLI Example:
197864
197865                 salt '*' x509.get_private_key_size /etc/pki/mycert.key
197866
197867       salt.modules.x509.get_public_key(key, passphrase=None, asObj=False)
197868              Returns a string containing the public key in PEM format.
197869
197870              key:   A path or PEM encoded string containing a  CSR,  Certifi‐
197871                     cate  or  Private  Key  from  which  a  public key can be
197872                     retrieved.
197873
197874              CLI Example:
197875
197876                 salt '*' x509.get_public_key /etc/pki/mycert.cer
197877
197878       salt.modules.x509.get_signing_policy(signing_policy_name)
197879              Returns the details of a names  signing  policy,  including  the
197880              text  of  the  public key that will be used to sign it. Does not
197881              return the private key.
197882
197883              CLI Example:
197884
197885                 salt '*' x509.get_signing_policy www
197886
197887       salt.modules.x509.read_certificate(certificate)
197888              Returns a dict containing details of a certificate. Input can be
197889              a PEM string or file path.
197890
197891              certificate:
197892                     The  certificate  to be read. Can be a path to a certifi‐
197893                     cate file, or a string containing the PEM formatted  text
197894                     of the certificate.
197895
197896              CLI Example:
197897
197898                 salt '*' x509.read_certificate /etc/pki/mycert.crt
197899
197900       salt.modules.x509.read_certificates(glob_path)
197901              Returns a dict containing details of all certificates matching a
197902              glob
197903
197904              glob_path:
197905                     A path to certificates to be read and returned.
197906
197907              CLI Example:
197908
197909                 salt '*' x509.read_certificates "/etc/pki/*.crt"
197910
197911       salt.modules.x509.read_crl(crl)
197912              Returns a dict containing details of  a  certificate  revocation
197913              list.  Input can be a PEM string or file path.
197914
197915              Depends
197916
197917                     · OpenSSL command line tool
197918
197919              crl:   A path or PEM encoded string containing the CRL to read.
197920
197921              CLI Example:
197922
197923                 salt '*' x509.read_crl /etc/pki/mycrl.crl
197924
197925       salt.modules.x509.read_csr(csr)
197926              Returns a dict containing details of a certificate request.
197927
197928              Depends
197929
197930                     · OpenSSL command line tool
197931
197932              csr:   A path or PEM encoded string containing the CSR to read.
197933
197934              CLI Example:
197935
197936                 salt '*' x509.read_csr /etc/pki/mycert.csr
197937
197938       salt.modules.x509.sign_remote_certificate(argdic, **kwargs)
197939              Request a certificate to be remotely signed according to a sign‐
197940              ing policy.
197941
197942              argdic:
197943                     A dict containing all the arguments to be passed into the
197944                     create_certificate function. This will become kwargs when
197945                     passed to create_certificate.
197946
197947              kwargs:
197948                     kwargs delivered from publish.publish
197949
197950              CLI Example:
197951
197952                 salt '*' x509.sign_remote_certificate argdic="{'public_key': '/etc/pki/www.key', 'signing_policy': 'www'}" __pub_id='www1'
197953
197954       salt.modules.x509.verify_crl(crl, cert)
197955              Validate a CRL against a certificate.   Parses  openssl  command
197956              line  output,  this  is a workaround for M2Crypto's inability to
197957              get them from CSR objects.
197958
197959              crl:   The CRL to verify
197960
197961              cert:  The certificate to verify the CRL against
197962
197963              CLI Example:
197964
197965                 salt '*' x509.verify_crl crl=/etc/pki/myca.crl cert=/etc/pki/myca.crt
197966
197967       salt.modules.x509.verify_private_key(private_key,           public_key,
197968       passphrase=None)
197969              Verify that 'private_key' matches 'public_key'
197970
197971              private_key:
197972                     The  private  key to verify, can be a string or path to a
197973                     private key in PEM format.
197974
197975              public_key:
197976                     The public key to verify, can be a string or  path  to  a
197977                     PEM formatted certificate, CSR, or another private key.
197978
197979              passphrase:
197980                     Passphrase to decrypt the private key.
197981
197982              CLI Example:
197983
197984                 salt '*' x509.verify_private_key private_key=/etc/pki/myca.key \
197985                         public_key=/etc/pki/myca.crt
197986
197987       salt.modules.x509.verify_signature(certificate,   signing_pub_key=None,
197988       signing_pub_key_passphrase=None)
197989              Verify that certificate has been signed by signing_pub_key
197990
197991              certificate:
197992                     The certificate to verify. Can be a path or  string  con‐
197993                     taining a PEM formatted certificate.
197994
197995              signing_pub_key:
197996                     The  public  key  to verify, can be a string or path to a
197997                     PEM formatted certificate, CSR, or private key.
197998
197999              signing_pub_key_passphrase:
198000                     Passphrase to the signing_pub_key if it is  an  encrypted
198001                     private key.
198002
198003              CLI Example:
198004
198005                 salt '*' x509.verify_signature /etc/pki/mycert.pem \
198006                         signing_pub_key=/etc/pki/myca.crt
198007
198008       salt.modules.x509.will_expire(certificate, days)
198009              Returns  a  dict containing details of a certificate and whether
198010              the certificate will expire in the  specified  number  of  days.
198011              Input can be a PEM string or file path.
198012
198013              New in version 2016.11.0.
198014
198015
198016              certificate:
198017                     The  certificate  to be read. Can be a path to a certifi‐
198018                     cate file, or a string containing the PEM formatted  text
198019                     of the certificate.
198020
198021              CLI Example:
198022
198023                 salt '*' x509.will_expire "/etc/pki/mycert.crt" days=30
198024
198025       salt.modules.x509.write_pem(text, path, overwrite=True, pem_type=None)
198026              Writes  out  a  PEM  string  fixing any formatting or whitespace
198027              issues before writing.
198028
198029              text:  PEM string input to be written out.
198030
198031              path:  Path of the file to write the PEM out to.
198032
198033              overwrite:
198034                     If True (default), write_pem will  overwrite  the  entire
198035                     PEM  file.   Set  False to preserve existing private keys
198036                     and dh params that may exist in the PEM file.
198037
198038              pem_type:
198039                     The PEM type to be saved, for example CERTIFICATE or PUB‐
198040                     LIC  KEY.  Adding  this  will  allow the function to take
198041                     input that may contain multiple PEM types.
198042
198043              CLI Example:
198044
198045                 salt '*' x509.write_pem "-----BEGIN CERTIFICATE-----MIIGMzCCBBugA..." path=/etc/pki/mycert.crt
198046
198047   salt.modules.xapi_virt
198048       This module (mostly) uses the XenAPI to manage Xen virtual machines.
198049
198050       Big fat warning: the XenAPI used in this file is the one  bundled  with
198051       Xen  Source,  NOT XenServer nor Xen Cloud Platform. As a matter of fact
198052       it will fail under those platforms. From what I've read, little work is
198053       needed  to  adapt  this code to XS/XCP, mostly playing with XenAPI ver‐
198054       sion, but as XCP is not taking precedence on Xen Source on  many  plat‐
198055       forms, please keep compatibility in mind.
198056
198057       Useful documentation:
198058
198059       . http://downloads.xen.org/Wiki/XenAPI/xenapi-1.0.6.pdf
198060
198061       salt.modules.xapi_virt.freecpu()
198062              Return  an  int  representing  the number of unallocated cpus on
198063              this hypervisor
198064
198065              CLI Example:
198066
198067                 salt '*' virt.freecpu
198068
198069       salt.modules.xapi_virt.freemem()
198070              Return an int representing the amount of  memory  that  has  not
198071              been given to virtual machines on this node
198072
198073              CLI Example:
198074
198075                 salt '*' virt.freemem
198076
198077       salt.modules.xapi_virt.full_info()
198078              Return the node_info, vm_info and freemem
198079
198080              CLI Example:
198081
198082                 salt '*' virt.full_info
198083
198084       salt.modules.xapi_virt.get_disks(vm_)
198085              Return the disks of a named vm
198086
198087              CLI Example:
198088
198089                 salt '*' virt.get_disks <vm name>
198090
198091       salt.modules.xapi_virt.get_macs(vm_)
198092              Return a list off MAC addresses from the named vm
198093
198094              CLI Example:
198095
198096                 salt '*' virt.get_macs <vm name>
198097
198098       salt.modules.xapi_virt.get_nics(vm_)
198099              Return info about the network interfaces of a named vm
198100
198101              CLI Example:
198102
198103                 salt '*' virt.get_nics <vm name>
198104
198105       salt.modules.xapi_virt.is_hyper()
198106              Returns  a  bool whether or not this node is a hypervisor of any
198107              kind
198108
198109              CLI Example:
198110
198111                 salt '*' virt.is_hyper
198112
198113       salt.modules.xapi_virt.list_domains()
198114              Return a list of virtual machine names on the minion
198115
198116              CLI Example:
198117
198118                 salt '*' virt.list_domains
198119
198120       salt.modules.xapi_virt.migrate(vm_, target,  live=1,  port=0,  node=-1,
198121       ssl=None, change_home_server=0)
198122              Migrates the virtual machine to another hypervisor
198123
198124              CLI Example:
198125
198126                 salt '*' virt.migrate <vm name> <target hypervisor> [live] [port] [node] [ssl] [change_home_server]
198127
198128              Optional values:
198129
198130              live   Use live migration
198131
198132              port   Use a specified port
198133
198134              node   Use specified NUMA node on target
198135
198136              ssl    use ssl connection for migration
198137
198138              change_home_server
198139                     change home server for managed domains
198140
198141       salt.modules.xapi_virt.node_info()
198142              Return a dict with information about this node
198143
198144              CLI Example:
198145
198146                 salt '*' virt.node_info
198147
198148       salt.modules.xapi_virt.pause(vm_)
198149              Pause the named vm
198150
198151              CLI Example:
198152
198153                 salt '*' virt.pause <vm name>
198154
198155       salt.modules.xapi_virt.reboot(vm_)
198156              Reboot a domain via ACPI request
198157
198158              CLI Example:
198159
198160                 salt '*' virt.reboot <vm name>
198161
198162       salt.modules.xapi_virt.reset(vm_)
198163              Reset a VM by emulating the reset button on a physical machine
198164
198165              CLI Example:
198166
198167                 salt '*' virt.reset <vm name>
198168
198169       salt.modules.xapi_virt.resume(vm_)
198170              Resume the named vm
198171
198172              CLI Example:
198173
198174                 salt '*' virt.resume <vm name>
198175
198176       salt.modules.xapi_virt.setmem(vm_, memory)
198177              Changes the amount of memory allocated to VM.
198178
198179              Memory is to be specified in MB
198180
198181              CLI Example:
198182
198183                 salt '*' virt.setmem myvm 768
198184
198185       salt.modules.xapi_virt.setvcpus(vm_, vcpus)
198186              Changes the amount of vcpus allocated to VM.
198187
198188              vcpus is an int representing the number to be assigned
198189
198190              CLI Example:
198191
198192                 salt '*' virt.setvcpus myvm 2
198193
198194       salt.modules.xapi_virt.shutdown(vm_)
198195              Send a soft shutdown signal to the named vm
198196
198197              CLI Example:
198198
198199                 salt '*' virt.shutdown <vm name>
198200
198201       salt.modules.xapi_virt.start(config_)
198202              Start a defined domain
198203
198204              CLI Example:
198205
198206                 salt '*' virt.start <path to Xen cfg file>
198207
198208       salt.modules.xapi_virt.stop(vm_)
198209              Hard  power  down  the  virtual  machine,  this is equivalent to
198210              pulling the power
198211
198212              CLI Example:
198213
198214                 salt '*' virt.stop <vm name>
198215
198216       salt.modules.xapi_virt.vcpu_pin(vm_, vcpu, cpus)
198217              Set which CPUs a VCPU can use.
198218
198219              CLI Example:
198220
198221                 salt 'foo' virt.vcpu_pin domU-id 2 1
198222                 salt 'foo' virt.vcpu_pin domU-id 2 2-6
198223
198224       salt.modules.xapi_virt.vm_cputime(vm_=None)
198225              Return cputime used by the vms on this hyper in a list of dicts:
198226
198227                 [
198228                     'your-vm': {
198229                         'cputime' <int>
198230                         'cputime_percent' <int>
198231                         },
198232                     ...
198233                     ]
198234
198235              If you pass a VM name in as an argument then it will return info
198236              for just the named VM, otherwise it will return all VMs.
198237
198238              CLI Example:
198239
198240                 salt '*' virt.vm_cputime
198241
198242       salt.modules.xapi_virt.vm_diskstats(vm_=None)
198243              Return  disk  usage  counters used by the vms on this hyper in a
198244              list of dicts:
198245
198246                 [
198247                     'your-vm': {
198248                         'io_read_kbs'   : 0,
198249                         'io_write_kbs'  : 0
198250                         },
198251                     ...
198252                     ]
198253
198254              If you pass a VM name in as an argument then it will return info
198255              for just the named VM, otherwise it will return all VMs.
198256
198257              CLI Example:
198258
198259                 salt '*' virt.vm_diskstats
198260
198261       salt.modules.xapi_virt.vm_info(vm_=None)
198262              Return detailed information about the vms.
198263
198264              If you pass a VM name in as an argument then it will return info
198265              for just the named VM, otherwise it will return all VMs.
198266
198267              CLI Example:
198268
198269                 salt '*' virt.vm_info
198270
198271       salt.modules.xapi_virt.vm_netstats(vm_=None)
198272              Return combined network counters used by the vms on  this  hyper
198273              in a list of dicts:
198274
198275                 [
198276                     'your-vm': {
198277                         'io_read_kbs'           : 0,
198278                         'io_total_read_kbs'     : 0,
198279                         'io_total_write_kbs'    : 0,
198280                         'io_write_kbs'          : 0
198281                         },
198282                     ...
198283                     ]
198284
198285              If you pass a VM name in as an argument then it will return info
198286              for just the named VM, otherwise it will return all VMs.
198287
198288              CLI Example:
198289
198290                 salt '*' virt.vm_netstats
198291
198292       salt.modules.xapi_virt.vm_state(vm_=None)
198293              Return list of all the vms and their state.
198294
198295              If you pass a VM name in as an argument then it will return info
198296              for just the named VM, otherwise it will return all VMs.
198297
198298              CLI Example:
198299
198300                 salt '*' virt.vm_state <vm name>
198301
198302   salt.modules.xbpspkg module
198303       Package support for XBPS package manager (used by VoidLinux)
198304
198305       New in version 2016.11.0.
198306
198307
198308       salt.modules.xbpspkg.add_repo(repo,                               conf‐
198309       file=u'/usr/share/xbps.d/15-saltstack.conf')
198310              Add an XBPS repository to the system.
198311
198312              repo   url of repo to add (persistent).
198313
198314              conffile
198315                     path  to  xbps  conf  file  to  add  this  repo  default:
198316                     /usr/share/xbps.d/15-saltstack.conf
198317
198318              CLI Examples:
198319
198320                 salt '*' pkg.add_repo <repo url> [conffile=/path/to/xbps/repo.conf]
198321
198322       salt.modules.xbpspkg.available_version(*names, **kwargs)
198323              Return  the  latest  version  of the named package available for
198324              upgrade or installation. If more than one package name is speci‐
198325              fied, a dict of name/version pairs is returned.
198326
198327              If  the  latest version of a given package is already installed,
198328              an empty string will be returned for that package.
198329
198330              CLI Example:
198331
198332                 salt '*' pkg.latest_version <package name>
198333                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
198334
198335       salt.modules.xbpspkg.del_repo(repo)
198336              Remove an XBPS repository from the system.
198337
198338              repo   url of repo to remove (persistent).
198339
198340              CLI Examples:
198341
198342                 salt '*' pkg.del_repo <repo url>
198343
198344       salt.modules.xbpspkg.get_repo(repo, **kwargs)
198345              Display information about the repo.
198346
198347              CLI Examples:
198348
198349                 salt '*' pkg.get_repo 'repo-url'
198350
198351       salt.modules.xbpspkg.install(name=None,  refresh=False,  fromrepo=None,
198352       pkgs=None, sources=None, **kwargs)
198353              Install the passed package
198354
198355              name   The name of the package to be installed.
198356
198357              refresh
198358                     Whether  or  not  to  refresh the package database before
198359                     installing.
198360
198361              fromrepo
198362                     Specify a package repository (url) to install from.
198363
198364              Multiple Package Installation Options:
198365
198366              pkgs   A list of packages to install from a software repository.
198367                     Must be passed as a python list.
198368
198369                     CLI Example:
198370
198371                        salt '*' pkg.install pkgs='["foo","bar"]'
198372
198373              sources
198374                     A  list  of packages to install. Must be passed as a list
198375                     of dicts, with the keys being package names, and the val‐
198376                     ues being the source URI or local path to the package.
198377
198378                     CLI Example:
198379
198380                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
198381
198382              Return a dict containing the new package names and versions:
198383
198384                 {'<package>': {'old': '<old-version>',
198385                                'new': '<new-version>'}}
198386
198387              CLI Example:
198388
198389                 salt '*' pkg.install <package name>
198390
198391       salt.modules.xbpspkg.latest_version(*names, **kwargs)
198392              Return  the  latest  version  of the named package available for
198393              upgrade or installation. If more than one package name is speci‐
198394              fied, a dict of name/version pairs is returned.
198395
198396              If  the  latest version of a given package is already installed,
198397              an empty string will be returned for that package.
198398
198399              CLI Example:
198400
198401                 salt '*' pkg.latest_version <package name>
198402                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
198403
198404       salt.modules.xbpspkg.list_pkgs(versions_as_list=False, **kwargs)
198405              List the packages currently installed as a dict:
198406
198407                 {'<package_name>': '<version>'}
198408
198409              CLI Example:
198410
198411                 salt '*' pkg.list_pkgs
198412
198413       salt.modules.xbpspkg.list_repos()
198414              List all repos known by XBPS
198415
198416              CLI Example:
198417
198418                 salt '*' pkg.list_repos
198419
198420       salt.modules.xbpspkg.list_upgrades(refresh=True)
198421              Check whether or not an upgrade is available for all packages
198422
198423              CLI Example:
198424
198425                 salt '*' pkg.list_upgrades
198426
198427       salt.modules.xbpspkg.refresh_db()
198428              Update list of available packages from installed repos
198429
198430              CLI Example:
198431
198432                 salt '*' pkg.refresh_db
198433
198434       salt.modules.xbpspkg.remove(name=None,    pkgs=None,    recursive=True,
198435       **kwargs)
198436
198437              name   The name of the package to be deleted.
198438
198439              recursive
198440                     Also  remove dependent packages (not required elsewhere).
198441                     Default mode: enabled.
198442
198443              Multiple Package Options:
198444
198445              pkgs   A list of packages to delete. Must be passed as a  python
198446                     list.  The  name parameter will be ignored if this option
198447                     is passed.
198448
198449              Returns a list containing the removed packages.
198450
198451              CLI Example:
198452
198453                 salt '*' pkg.remove <package name> [recursive=False]
198454                 salt '*' pkg.remove <package1>,<package2>,<package3> [recursive=False]
198455                 salt '*' pkg.remove pkgs='["foo", "bar"]' [recursive=False]
198456
198457       salt.modules.xbpspkg.upgrade(refresh=True)
198458              Run a full system upgrade
198459
198460              refresh
198461                     Whether or not to refresh  the  package  database  before
198462                     installing.  Default is True.
198463
198464              Returns a dictionary containing the changes:
198465
198466                 {'<package>':  {'old': '<old-version>',
198467                                 'new': '<new-version>'}}
198468
198469              CLI Example:
198470
198471                 salt '*' pkg.upgrade
198472
198473       salt.modules.xbpspkg.upgrade_available(name)
198474              Check whether or not an upgrade is available for a given package
198475
198476              CLI Example:
198477
198478                 salt '*' pkg.upgrade_available <package name>
198479
198480       salt.modules.xbpspkg.version(*names, **kwargs)
198481              Returns  a  string  representing the package version or an empty
198482              string if not installed. If more than one package name is speci‐
198483              fied, a dict of name/version pairs is returned.
198484
198485              CLI Example:
198486
198487                 salt '*' pkg.version <package name>
198488                 salt '*' pkg.version <package1> <package2> <package3> ...
198489
198490   salt.modules.xfs
198491       Module for managing XFS file systems.
198492
198493       salt.modules.xfs.defragment(device)
198494              Defragment mounted XFS filesystem.  In order to mount a filesys‐
198495              tem, device should be properly mounted and writable.
198496
198497              CLI Example:
198498
198499                 salt '*' xfs.defragment /dev/sda1
198500
198501       salt.modules.xfs.devices()
198502              Get known XFS formatted devices on the system.
198503
198504              CLI Example:
198505
198506                 salt '*' xfs.devices
198507
198508       salt.modules.xfs.dump(device,   destination,    level=0,    label=None,
198509       noerase=None)
198510              Dump filesystem device to the media (file, tape etc).
198511
198512              Required parameters:
198513
198514              · device: XFS device, content of which to be dumped.
198515
198516              · destination: Specifies a dump destination.
198517
198518              Valid options are:
198519
198520              · label:  Label  of  the dump. Otherwise automatically generated
198521                label is used.
198522
198523              · level: Specifies a dump level of 0 to 9.
198524
198525              · noerase: Pre-erase media.
198526
198527              Other options are not used in  order  to  let  xfsdump  use  its
198528              default  values,  as  they  are most optimal. See the xfsdump(8)
198529              manpage for a more complete description of these options.
198530
198531              CLI Example:
198532
198533                 salt '*' xfs.dump /dev/sda1 /detination/on/the/client
198534                 salt '*' xfs.dump /dev/sda1 /detination/on/the/client label='Company accountancy'
198535                 salt '*' xfs.dump /dev/sda1 /detination/on/the/client noerase=True
198536
198537       salt.modules.xfs.estimate(path)
198538              Estimate the space that an XFS filesystem will take.   For  each
198539              directory  estimate  the  space  that directory would take if it
198540              were copied to an XFS filesystem.   Estimation  does  not  cross
198541              mount points.
198542
198543              CLI Example:
198544
198545                 salt '*' xfs.estimate /path/to/file
198546                 salt '*' xfs.estimate /path/to/dir/*
198547
198548       salt.modules.xfs.info(device)
198549              Get filesystem geometry information.
198550
198551              CLI Example:
198552
198553                 salt '*' xfs.info /dev/sda1
198554
198555       salt.modules.xfs.inventory()
198556              Display XFS dump inventory without restoration.
198557
198558              CLI Example:
198559
198560                 salt '*' xfs.inventory
198561
198562       salt.modules.xfs.mkfs(device,   label=None,  ssize=None,  noforce=None,
198563       bso=None, gmo=None, ino=None, lso=None, rso=None, nmo=None, dso=None)
198564              Create a file system on the specified device. By  default  wipes
198565              out with force.
198566
198567              General options:
198568
198569              · label: Specify volume label.
198570
198571              · ssize: Specify the fundamental sector size of the filesystem.
198572
198573              · noforce:  Do  not  force create filesystem, if disk is already
198574                formatted.
198575
198576              Filesystem geometry options:
198577
198578              · bso: Block size options.
198579
198580              · gmo: Global metadata options.
198581
198582              ·
198583
198584                dso: Data section options. These options specify the location,
198585                size,
198586                       and  other  parameters  of  the  data  section  of  the
198587                       filesystem.
198588
198589              · ino: Inode options to specify the inode size of  the  filesys‐
198590                tem, and other inode allocation parameters.
198591
198592              · lso: Log section options.
198593
198594              · nmo: Naming options.
198595
198596              · rso: Realtime section options.
198597
198598              See  the  mkfs.xfs(8) manpage for a more complete description of
198599              corresponding options description.
198600
198601              CLI Example:
198602
198603                 salt '*' xfs.mkfs /dev/sda1
198604                 salt '*' xfs.mkfs /dev/sda1 dso='su=32k,sw=6' noforce=True
198605                 salt '*' xfs.mkfs /dev/sda1 dso='su=32k,sw=6' lso='logdev=/dev/sda2,size=10000b'
198606
198607       salt.modules.xfs.modify(device,     label=None,     lazy_counting=None,
198608       uuid=None)
198609              Modify parameters of an XFS filesystem.
198610
198611              CLI Example:
198612
198613                 salt '*' xfs.modify /dev/sda1 label='My backup' lazy_counting=False
198614                 salt '*' xfs.modify /dev/sda1 uuid=False
198615                 salt '*' xfs.modify /dev/sda1 uuid=True
198616
198617       salt.modules.xfs.prune_dump(sessionid)
198618              Prunes the dump session identified by the given session id.
198619
198620              CLI Example:
198621
198622                 salt '*' xfs.prune_dump b74a3586-e52e-4a4a-8775-c3334fa8ea2c
198623
198624   salt.modules.xml
198625       XML file manager
198626
198627       New in version 3000.
198628
198629
198630       salt.modules.xml.get_attribute(file, element)
198631              Return the attributes of the matched xpath element.
198632
198633              CLI Example:
198634
198635                 salt '*' xml.get_attribute /tmp/test.xml ".//element[@id='3']"
198636
198637       salt.modules.xml.get_value(file, element)
198638              Returns the value of the matched xpath element
198639
198640              CLI Example:
198641
198642                 salt '*' xml.get_value /tmp/test.xml ".//element"
198643
198644       salt.modules.xml.set_attribute(file, element, key, value)
198645              Set the requested attribute key and value for matched xpath ele‐
198646              ment.
198647
198648              CLI Example:
198649
198650                 salt '*' xml.set_attribute /tmp/test.xml ".//element[@id='3']" editedby "gal"
198651
198652       salt.modules.xml.set_value(file, element, value)
198653              Sets the value of the matched xpath element
198654
198655              CLI Example:
198656
198657                 salt '*' xml.set_value /tmp/test.xml ".//element" "new value"
198658
198659   salt.modules.xmpp
198660       Module for Sending Messages via XMPP (a.k.a. Jabber)
198661
198662       New in version 2014.1.0.
198663
198664
198665       depends
198666
198667              · sleekxmpp>=1.3.1
198668
198669              · pyasn1
198670
198671              · pyasn1-modules
198672
198673              · dnspython
198674
198675       configuration
198676              This module can be used by either passing  a  jid  and  password
198677              directly to send_message, or by specifying the name of a config‐
198678              uration profile in the minion config, minion pillar,  or  master
198679              config.
198680
198681              For example:
198682
198683                 my-xmpp-login:
198684                     xmpp.jid: myuser@jabber.example.org/resourcename
198685                     xmpp.password: verybadpass
198686
198687              The  resourcename  refers  to  the  resource  that is using this
198688              account. It is user-definable, and optional. The following  con‐
198689              figurations are both valid:
198690
198691                 my-xmpp-login:
198692                     xmpp.jid: myuser@jabber.example.org/salt
198693                     xmpp.password: verybadpass
198694
198695                 my-xmpp-login:
198696                     xmpp.jid: myuser@jabber.example.org
198697                     xmpp.password: verybadpass
198698
198699       class salt.modules.xmpp.SendMsgBot(jid, password, recipient, msg)
198700
198701              classmethod  create_multi(jid,  password,  msg, recipients=None,
198702              rooms=None, nick=u'SaltStack Bot')
198703                     Alternate constructor that accept multiple recipients and
198704                     rooms
198705
198706              start(event)
198707
198708       class salt.modules.xmpp.SleekXMPPMUC(name='')
198709
198710              filter(record)
198711                     Determine if the specified record is to be logged.
198712
198713                     Is  the  specified record to be logged? Returns 0 for no,
198714                     nonzero for yes. If deemed appropriate, the record may be
198715                     modified in-place.
198716
198717       salt.modules.xmpp.send_msg(recipient, message, jid=None, password=None,
198718       profile=None)
198719              Send a message to an XMPP recipient. Designed for use in states.
198720
198721              CLI Examples:
198722
198723                 xmpp.send_msg 'admins@xmpp.example.com' 'This is a salt module test'             profile='my-xmpp-account'
198724                 xmpp.send_msg 'admins@xmpp.example.com' 'This is a salt module test'             jid='myuser@xmpp.example.com/salt' password='verybadpass'
198725
198726       salt.modules.xmpp.send_msg_multi(message, recipients=None,  rooms=None,
198727       jid=None, password=None, nick=u'SaltStack Bot', profile=None)
198728              Send  a  message  to  an XMPP recipient, support send message to
198729              multiple recipients or chat room.
198730
198731              CLI Examples:
198732
198733                 xmpp.send_msg recipients=['admins@xmpp.example.com']             rooms=['secret@conference.xmpp.example.com']             'This is a salt module test'             profile='my-xmpp-account'
198734                 xmpp.send_msg recipients=['admins@xmpp.example.com']             rooms=['secret@conference.xmpp.example.com']            'This is a salt module test'             jid='myuser@xmpp.example.com/salt' password='verybadpass'
198735
198736   salt.modules.yumpkg
198737       Support for YUM/DNF
198738
198739       IMPORTANT:
198740          If you feel that Salt should be using this module to manage packages
198741          on  a  minion, and it is using a different module (or gives an error
198742          similar to 'pkg.install' is not available), see here.
198743
198744       NOTE:
198745          DNF is fully supported as of version 2015.5.10 and 2015.8.4 (partial
198746          support  for  DNF  was initially added in 2015.8.0), and DNF is used
198747          automatically in place of YUM in Fedora 22 and newer.
198748
198749       class salt.modules.yumpkg.AvailablePackages(*args, **kwargs)
198750
198751       salt.modules.yumpkg.clean_metadata(**kwargs)
198752              New in version 2014.1.0.
198753
198754
198755              Cleans   local   yum   metadata.   Functionally   identical   to
198756              refresh_db().
198757
198758              CLI Example:
198759
198760                 salt '*' pkg.clean_metadata
198761
198762       salt.modules.yumpkg.del_repo(repo, basedir=None, **kwargs)
198763              Delete  a  repo  from  <basedir>  (default  basedir: all dirs in
198764              reposdir yum option).
198765
198766              If the .repo file in which the repo exists does not contain  any
198767              other repo configuration, the file itself will be deleted.
198768
198769              CLI Examples:
198770
198771                 salt '*' pkg.del_repo myrepo
198772                 salt '*' pkg.del_repo myrepo basedir=/path/to/dir
198773                 salt '*' pkg.del_repo myrepo basedir=/path/to/dir,/path/to/another/dir
198774
198775       salt.modules.yumpkg.diff(*paths)
198776              Return  a formatted diff between current files and original in a
198777              package.  NOTE: this function includes all files  (configuration
198778              and not), but does not work on binary content.
198779
198780              Parameters
198781                     path -- Full path to the installed file
198782
198783              Returns
198784                     Difference  string  or  raises  and exception if examined
198785                     file is binary.
198786
198787              CLI example:
198788
198789                 salt '*' pkg.diff /etc/apache2/httpd.conf /etc/sudoers
198790
198791       salt.modules.yumpkg.download(*packages)
198792              New in version 2015.5.0.
198793
198794
198795              Download packages to the local disk. Requires yumdownloader from
198796              yum-utils package.
198797
198798              NOTE:
198799                 yum-utils  will  already  be  installed  on the minion if the
198800                 package was installed from the Fedora / EPEL repositories.
198801
198802              CLI example:
198803
198804                 salt '*' pkg.download httpd
198805                 salt '*' pkg.download httpd postfix
198806
198807       salt.modules.yumpkg.file_dict(*packages)
198808              New in version 2014.1.0.
198809
198810
198811              List the files that belong to a package, grouped by package. Not
198812              specifying  any packages will return a list of every file on the
198813              system's rpm database (not generally recommended).
198814
198815              CLI Examples:
198816
198817                 salt '*' pkg.file_list httpd
198818                 salt '*' pkg.file_list httpd postfix
198819                 salt '*' pkg.file_list
198820
198821       salt.modules.yumpkg.file_list(*packages)
198822              New in version 2014.1.0.
198823
198824
198825              List the files that belong to  a  package.  Not  specifying  any
198826              packages  will  return  a list of every file on the system's rpm
198827              database (not generally recommended).
198828
198829              CLI Examples:
198830
198831                 salt '*' pkg.file_list httpd
198832                 salt '*' pkg.file_list httpd postfix
198833                 salt '*' pkg.file_list
198834
198835       salt.modules.yumpkg.get_repo(name, basedir=None, **kwargs)
198836              Display a repo from <basedir>  (default  basedir:  all  dirs  in
198837              reposdir yum option).
198838
198839              CLI Examples:
198840
198841                 salt '*' pkg.get_repo myrepo
198842                 salt '*' pkg.get_repo myrepo basedir=/path/to/dir
198843                 salt '*' pkg.get_repo myrepo basedir=/path/to/dir,/path/to/another/dir
198844
198845       salt.modules.yumpkg.group_diff(name)
198846              New in version 2014.1.0.
198847
198848
198849              Changed   in  version  2016.3.0,2015.8.4,2015.5.10:  Environment
198850              groups are now supported. The key names have been renamed, simi‐
198851              lar to the changes made in pkg.group_info.
198852
198853
198854              Lists  which  of  a group's packages are installed and which are
198855              not installed
198856
198857              CLI Example:
198858
198859                 salt '*' pkg.group_diff 'Perl Support'
198860
198861       salt.modules.yumpkg.group_info(name, expand=False)
198862              New in version 2014.1.0.
198863
198864
198865              Changed in version 2016.3.0,2015.8.4,2015.5.10: The return  data
198866              has  changed. A new key type has been added to distinguish envi‐
198867              ronment groups from package groups. Also,  keys  for  the  group
198868              name  and  group  ID  have  been  added. The mandatory packages,
198869              optional packages, and default packages keys have  been  renamed
198870              to mandatory, optional, and default for accuracy, as environment
198871              groups include other groups, and  not  packages.  Finally,  this
198872              function now properly identifies conditional packages.
198873
198874
198875              Lists packages belonging to a certain group
198876
198877              name   Name of the group to query
198878
198879              expand False  If  the  specified  group is an environment group,
198880                     then the group will be expanded and the return data  will
198881                     include package names instead of group names.
198882
198883                     New in version 2016.3.0.
198884
198885
198886              CLI Example:
198887
198888                 salt '*' pkg.group_info 'Perl Support'
198889
198890       salt.modules.yumpkg.group_install(name, skip=(), include=(), **kwargs)
198891              New in version 2014.1.0.
198892
198893
198894              Install the passed package group(s). This is basically a wrapper
198895              around pkg.install, which performs package group resolution  for
198896              the  user.  This  function is currently considered experimental,
198897              and should be expected to undergo changes.
198898
198899              name   Package group to install. To install more than one group,
198900                     either  use a comma-separated list or pass the value as a
198901                     python list.
198902
198903                     CLI Examples:
198904
198905                        salt '*' pkg.group_install 'Group 1'
198906                        salt '*' pkg.group_install 'Group 1,Group 2'
198907                        salt '*' pkg.group_install '["Group 1", "Group 2"]'
198908
198909              skip   Packages that would normally be installed by the  package
198910                     group   ("default"   packages),   which   should  not  be
198911                     installed. Can be passed either as a comma-separated list
198912                     or a python list.
198913
198914                     CLI Examples:
198915
198916                        salt '*' pkg.group_install 'My Group' skip='foo,bar'
198917                        salt '*' pkg.group_install 'My Group' skip='["foo", "bar"]'
198918
198919              include
198920                     Packages  which  are included in a group, which would not
198921                     normally be installed by a yum  groupinstall  ("optional"
198922                     packages).  Note that this will not enforce group member‐
198923                     ship; if you include packages which are  not  members  of
198924                     the  specified groups, they will still be installed.  Can
198925                     be passed either as a comma-separated list  or  a  python
198926                     list.
198927
198928                     CLI Examples:
198929
198930                        salt '*' pkg.group_install 'My Group' include='foo,bar'
198931                        salt '*' pkg.group_install 'My Group' include='["foo", "bar"]'
198932
198933              NOTE:
198934                 Because this is essentially a wrapper around pkg.install, any
198935                 argument which can be  passed  to  pkg.install  may  also  be
198936                 included here, and it will be passed along wholesale.
198937
198938       salt.modules.yumpkg.group_list()
198939              New in version 2014.1.0.
198940
198941
198942              Lists all groups known by yum on this system
198943
198944              CLI Example:
198945
198946                 salt '*' pkg.group_list
198947
198948       salt.modules.yumpkg.hold(name=None,  pkgs=None,  sources=None,  normal‐
198949       ize=True, **kwargs)
198950              New in version 2014.7.0.
198951
198952
198953              Version-lock packages
198954
198955              NOTE:
198956                 Requires the appropriate versionlock  plugin  package  to  be
198957                 installed:
198958
198959                 · On RHEL 5: yum-versionlock
198960
198961                 · On RHEL 6 & 7: yum-plugin-versionlock
198962
198963                 · On Fedora: python-dnf-plugins-extras-versionlock
198964
198965              name   The name of the package to be held.
198966
198967              Multiple Package Options:
198968
198969              pkgs   A  list  of  packages to hold. Must be passed as a python
198970                     list. The name parameter will be ignored if  this  option
198971                     is passed.
198972
198973              Returns a dict containing the changes.
198974
198975              CLI Example:
198976
198977                 salt '*' pkg.hold <package name>
198978                 salt '*' pkg.hold pkgs='["foo", "bar"]'
198979
198980       salt.modules.yumpkg.info_installed(*names, **kwargs)
198981              New in version 2015.8.1.
198982
198983
198984              Return the information of the named package(s), installed on the
198985              system.
198986
198987              Parameters
198988                     all_versions -- Include information for all  versions  of
198989                     the packages installed on the minion.
198990
198991              CLI example:
198992
198993                 salt '*' pkg.info_installed <package1>
198994                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
198995                 salt '*' pkg.info_installed <package1> <package2> <package3> all_versions=True
198996
198997       salt.modules.yumpkg.install(name=None,     refresh=False,     skip_ver‐
198998       ify=False,   pkgs=None,   sources=None,    downloadonly=False,    rein‐
198999       stall=False,   normalize=True,   update_holds=False,   saltenv=u'base',
199000       ignore_epoch=False, **kwargs)
199001              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
199002              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
199003              mands which modify installed packages from the salt-minion  dae‐
199004              mon's  control  group. This is done to keep systemd from killing
199005              any yum/dnf commands spawned by Salt when the  salt-minion  ser‐
199006              vice  is restarted. (see KillMode in the systemd.kill(5) manpage
199007              for more information). If desired, usage of  systemd-run(1)  can
199008              be  suppressed  by setting a config option called systemd.scope,
199009              with a value of False (no quotes).
199010
199011
199012              Install the passed package(s), add refresh=True to clean the yum
199013              database before package is installed.
199014
199015              name   The  name  of the package to be installed. Note that this
199016                     parameter is ignored if either  "pkgs"  or  "sources"  is
199017                     passed.  Additionally,  please  note that this option can
199018                     only be used to install packages from a software  reposi‐
199019                     tory.  To  install  a  package  file  manually,  use  the
199020                     "sources" option.
199021
199022                     32-bit packages can be installed  on  64-bit  systems  by
199023                     appending  the  architecture  designation  (.i686, .i586,
199024                     etc.) to the end of the package name.
199025
199026                     CLI Example:
199027
199028                        salt '*' pkg.install <package name>
199029
199030              refresh
199031                     Whether or not to update the yum database before  execut‐
199032                     ing.
199033
199034              reinstall
199035                     Specifying  reinstall=True  will use yum reinstall rather
199036                     than yum install for requested packages that are  already
199037                     installed.
199038
199039                     If  a  version  is  specified with the requested package,
199040                     then yum reinstall will only be  used  if  the  installed
199041                     version matches the requested version.
199042
199043                     Works  with sources when the package header of the source
199044                     can be matched to the name and version  of  an  installed
199045                     package.
199046
199047                     New in version 2014.7.0.
199048
199049
199050              skip_verify
199051                     Skip the GPG verification check (e.g., --nogpgcheck)
199052
199053              downloadonly
199054                     Only download the packages, do not install.
199055
199056              version
199057                     Install   a   specific   version  of  the  package,  e.g.
199058                     1.2.3-4.el5. Ignored if "pkgs" or "sources" is passed.
199059
199060                     Changed in version 2018.3.0: version can now contain com‐
199061                     parison operators (e.g. >1.2.3, <=2.0, etc.)
199062
199063
199064              update_holds
199065                     False If True, and this function would update the package
199066                     version, any packages held using  the  yum/dnf  "version‐
199067                     lock"  plugin will be unheld so that they can be updated.
199068                     Otherwise, if this function attempts  to  update  a  held
199069                     package, the held package(s) will be skipped and an error
199070                     will be raised.
199071
199072                     New in version 2016.11.0.
199073
199074
199075              setopt A comma-separated or Python list  of  key=value  options.
199076                     This list will be expanded and --setopt prepended to each
199077                     in the yum/dnf command that is run.
199078
199079                     CLI Example:
199080
199081                        salt '*' pkg.install foo setopt='obsoletes=0,plugins=0'
199082
199083                     New in version 2019.2.0.
199084
199085
199086              Repository Options:
199087
199088              fromrepo
199089                     Specify a package repository (or repositories) from which
199090                     to     install.      (e.g.,     yum     --disablerepo='*'
199091                     --enablerepo='somerepo')
199092
199093              enablerepo (ignored if fromrepo is specified)
199094                     Specify a disabled package repository  (or  repositories)
199095                     to enable.  (e.g., yum --enablerepo='somerepo')
199096
199097              disablerepo (ignored if fromrepo is specified)
199098                     Specify  an  enabled package repository (or repositories)
199099                     to disable.  (e.g., yum --disablerepo='somerepo')
199100
199101              disableexcludes
199102                     Disable exclude from main, for a repo or for  everything.
199103                     (e.g., yum --disableexcludes='main')
199104
199105                     New in version 2014.7.0.
199106
199107
199108              ignore_epoch
199109                     False  Only  used when the version of a package is speci‐
199110                     fied using a comparison operator (e.g. >4.1). If  set  to
199111                     True,  then  the epoch will be ignored when comparing the
199112                     currently-installed version to the desired version.
199113
199114                     New in version 2018.3.0.
199115
199116
199117              Multiple Package Installation Options:
199118
199119              pkgs   A list of packages to install from a software repository.
199120                     Must  be passed as a python list. A specific version num‐
199121                     ber can be specified by using a single-element dict  rep‐
199122                     resenting the package and its version.
199123
199124                     CLI Examples:
199125
199126                        salt '*' pkg.install pkgs='["foo", "bar"]'
199127                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4.el5"}]'
199128
199129              sources
199130                     A  list  of  RPM packages to install. Must be passed as a
199131                     list of dicts, with the keys being package names, and the
199132                     values being the source URI or local path to the package.
199133
199134                     CLI Example:
199135
199136                        salt '*' pkg.install sources='[{"foo": "salt://foo.rpm"}, {"bar": "salt://bar.rpm"}]'
199137
199138              normalize
199139                     True Normalize the package name by removing the architec‐
199140                     ture. This is useful for poorly  created  packages  which
199141                     might  include  the architecture as an actual part of the
199142                     name such as kernel modules which match a specific kernel
199143                     version.
199144
199145                        salt -G role:nsd pkg.install gpfs.gplbin-2.6.32-279.31.1.el6.x86_64 normalize=False
199146
199147                     New in version 2014.7.0.
199148
199149
199150              diff_attr:
199151                     If  a  list  of package attributes is specified, returned
199152                     value will contain them, eg.:
199153
199154                        {'<package>': {
199155                            'old': {
199156                                'version': '<old-version>',
199157                                'arch': '<old-arch>'},
199158
199159                            'new': {
199160                                'version': '<new-version>',
199161                                'arch': '<new-arch>'}}}
199162
199163                     Valid attributes  are:  epoch,  version,  release,  arch,
199164                     install_date, install_date_time_t.
199165
199166                     If  all  is  specified,  all  valid  attributes  will  be
199167                     returned.
199168
199169                     New in version 2018.3.0.
199170
199171
199172              Returns a dict containing the new package names and versions:
199173
199174                 {'<package>': {'old': '<old-version>',
199175                                'new': '<new-version>'}}
199176
199177              If an attribute list in diff_attr is specified,  the  dict  will
199178              also contain any specified attribute, eg.:
199179
199180                 {'<package>': {
199181                     'old': {
199182                         'version': '<old-version>',
199183                         'arch': '<old-arch>'},
199184
199185                     'new': {
199186                         'version': '<new-version>',
199187                         'arch': '<new-arch>'}}}
199188
199189       salt.modules.yumpkg.latest_version(*names, **kwargs)
199190              Return  the  latest  version  of the named package available for
199191              upgrade or installation. If more than one package name is speci‐
199192              fied, a dict of name/version pairs is returned.
199193
199194              If  the  latest version of a given package is already installed,
199195              an empty string will be returned for that package.
199196
199197              A specific repo can be  requested  using  the  fromrepo  keyword
199198              argument, and the disableexcludes option is also supported.
199199
199200              New in version 2014.7.0: Support for the disableexcludes option
199201
199202
199203              CLI Example:
199204
199205                 salt '*' pkg.latest_version <package name>
199206                 salt '*' pkg.latest_version <package name> fromrepo=epel-testing
199207                 salt '*' pkg.latest_version <package name> disableexcludes=main
199208                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
199209
199210       salt.modules.yumpkg.list_downloaded()
199211              New in version 2017.7.0.
199212
199213
199214              List prefetched packages downloaded by Yum in the local disk.
199215
199216              CLI example:
199217
199218                 salt '*' pkg.list_downloaded
199219
199220       salt.modules.yumpkg.list_holds(pattern=u'[\\w+]+(?:[.-][^-]+)*',
199221       full=True)
199222              Changed in version 2016.3.0,2015.8.4,2015.5.10: Function renamed
199223              from pkg.get_locked_pkgs to pkg.list_holds.
199224
199225
199226              List information on locked packages
199227
199228              NOTE:
199229                 Requires  the  appropriate  versionlock  plugin package to be
199230                 installed:
199231
199232                 · On RHEL 5: yum-versionlock
199233
199234                 · On RHEL 6 & 7: yum-plugin-versionlock
199235
199236                 · On Fedora: python-dnf-plugins-extras-versionlock
199237
199238              pattern
199239                     w+(?:[.-][^-]+)* Regular expression  used  to  match  the
199240                     package name
199241
199242              full   True  Show the full hold definition including version and
199243                     epoch. Set to False to return just the name of the  pack‐
199244                     age(s) being held.
199245
199246              CLI Example:
199247
199248                 salt '*' pkg.list_holds
199249                 salt '*' pkg.list_holds full=False
199250
199251       salt.modules.yumpkg.list_installed_patches()
199252              New in version 2017.7.0.
199253
199254
199255              List installed advisory patches on the system.
199256
199257              CLI Examples:
199258
199259                 salt '*' pkg.list_installed_patches
199260
199261       salt.modules.yumpkg.list_patches(refresh=False)
199262              New in version 2017.7.0.
199263
199264
199265              List all known advisory patches from available repos.
199266
199267              refresh
199268                     force  a  refresh  if  set  to  True.   If  set  to False
199269                     (default) it depends on yum if a refresh is executed.
199270
199271              CLI Examples:
199272
199273                 salt '*' pkg.list_patches
199274
199275       salt.modules.yumpkg.list_pkgs(versions_as_list=False, **kwargs)
199276              List the packages currently installed as a dict. By default, the
199277              dict contains versions as a comma separated string:
199278
199279                 {'<package_name>': '<version>[,<version>...]'}
199280
199281              versions_as_list:
199282                     If set to true, the versions are provided as a list
199283
199284                     {'<package_name>': ['<version>', '<version>']}
199285
199286              attr:  If  a  list  of package attributes is specified, returned
199287                     value will contain them in addition to version, eg.:
199288
199289                        {'<package_name>': [{'version' : 'version', 'arch' : 'arch'}]}
199290
199291                     Valid attributes  are:  epoch,  version,  release,  arch,
199292                     install_date, install_date_time_t.
199293
199294                     If  all  is  specified,  all  valid  attributes  will  be
199295                     returned.
199296                        New in version 2018.3.0.
199297
199298
199299              CLI Example:
199300
199301                 salt '*' pkg.list_pkgs
199302                 salt '*' pkg.list_pkgs attr=version,arch
199303                 salt '*' pkg.list_pkgs attr='["version", "arch"]'
199304
199305       salt.modules.yumpkg.list_repo_pkgs(*args, **kwargs)
199306              New in version 2014.1.0.
199307
199308
199309              Changed in version 2014.7.0:  All  available  versions  of  each
199310              package are now returned. This required a slight modification to
199311              the structure of the return dict. The return  data  shown  below
199312              reflects  the  updated return dict structure. Note that packages
199313              which are version-locked using pkg.hold will only show the  cur‐
199314              rently-installed  version,  as locking a package will make other
199315              versions appear unavailable to yum/dnf.
199316
199317
199318              Changed in version 2017.7.0: By default, the versions  for  each
199319              package  are  no  longer organized by repository. To get results
199320              organized by repository, use byrepo=True.
199321
199322
199323              Returns all available packages. Optionally, package  names  (and
199324              name  globs)  can  be passed and the results will be filtered to
199325              packages matching those names. This is recommended as it  speeds
199326              up the function considerably.
199327
199328              WARNING:
199329                 Running  this  function  on RHEL/CentOS 6 and earlier will be
199330                 more resource-intensive, as the version  of  yum  that  ships
199331                 with  older  RHEL/CentOS  has  no  yum subcommand for listing
199332                 packages from a repository. Thus, a yum  list  installed  and
199333                 yum  list available are run, which generates a lot of output,
199334                 which must then be analyzed to determine which package infor‐
199335                 mation to include in the return data.
199336
199337              This  function can be helpful in discovering the version or repo
199338              to specify in a pkg.installed state.
199339
199340              The return data will be a dictionary mapping package names to  a
199341              list  of  version  numbers,  ordered  from  newest to oldest. If
199342              byrepo is set to True, then the return dictionary  will  contain
199343              repository  names at the top level, and each repository will map
199344              packages to lists of version numbers. For example:
199345
199346                 # With byrepo=False (default)
199347                 {
199348                     'bash': ['4.1.2-15.el6_5.2',
199349                              '4.1.2-15.el6_5.1',
199350                              '4.1.2-15.el6_4'],
199351                     'kernel': ['2.6.32-431.29.2.el6',
199352                                '2.6.32-431.23.3.el6',
199353                                '2.6.32-431.20.5.el6',
199354                                '2.6.32-431.20.3.el6',
199355                                '2.6.32-431.17.1.el6',
199356                                '2.6.32-431.11.2.el6',
199357                                '2.6.32-431.5.1.el6',
199358                                '2.6.32-431.3.1.el6',
199359                                '2.6.32-431.1.2.0.1.el6',
199360                                '2.6.32-431.el6']
199361                 }
199362                 # With byrepo=True
199363                 {
199364                     'base': {
199365                         'bash': ['4.1.2-15.el6_4'],
199366                         'kernel': ['2.6.32-431.el6']
199367                     },
199368                     'updates': {
199369                         'bash': ['4.1.2-15.el6_5.2', '4.1.2-15.el6_5.1'],
199370                         'kernel': ['2.6.32-431.29.2.el6',
199371                                    '2.6.32-431.23.3.el6',
199372                                    '2.6.32-431.20.5.el6',
199373                                    '2.6.32-431.20.3.el6',
199374                                    '2.6.32-431.17.1.el6',
199375                                    '2.6.32-431.11.2.el6',
199376                                    '2.6.32-431.5.1.el6',
199377                                    '2.6.32-431.3.1.el6',
199378                                    '2.6.32-431.1.2.0.1.el6']
199379                     }
199380                 }
199381
199382              fromrepo
199383                     None Only include results  from  the  specified  repo(s).
199384                     Multiple repos can be specified, comma-separated.
199385
199386              enablerepo (ignored if fromrepo is specified)
199387                     Specify  a  disabled package repository (or repositories)
199388                     to enable.  (e.g., yum --enablerepo='somerepo')
199389
199390                     New in version 2017.7.0.
199391
199392
199393              disablerepo (ignored if fromrepo is specified)
199394                     Specify an enabled package repository  (or  repositories)
199395                     to disable.  (e.g., yum --disablerepo='somerepo')
199396
199397                     New in version 2017.7.0.
199398
199399
199400              byrepo False When True, the return data for each package will be
199401                     organized by repository.
199402
199403                     New in version 2017.7.0.
199404
199405
199406              cacheonly
199407                     False When True, the repo information will  be  retrieved
199408                     from  the  cached  repo  metadata.  This is equivalent to
199409                     passing the -C option to yum/dnf.
199410
199411                     New in version 2017.7.0.
199412
199413
199414              setopt A comma-separated or Python list  of  key=value  options.
199415                     This list will be expanded and --setopt prepended to each
199416                     in the yum/dnf command that is run.
199417
199418                     New in version 2019.2.0.
199419
199420
199421              CLI Examples:
199422
199423                 salt '*' pkg.list_repo_pkgs
199424                 salt '*' pkg.list_repo_pkgs foo bar baz
199425                 salt '*' pkg.list_repo_pkgs 'samba4*' fromrepo=base,updates
199426                 salt '*' pkg.list_repo_pkgs 'python2-*' byrepo=True
199427
199428       salt.modules.yumpkg.list_repos(basedir=None)
199429              Lists all repos in <basedir> (default: all dirs in reposdir  yum
199430              option).
199431
199432              CLI Example:
199433
199434                 salt '*' pkg.list_repos
199435                 salt '*' pkg.list_repos basedir=/path/to/dir
199436                 salt '*' pkg.list_repos basedir=/path/to/dir,/path/to/another/dir
199437
199438       salt.modules.yumpkg.list_upgrades(refresh=True, **kwargs)
199439              Check whether or not an upgrade is available for all packages
199440
199441              The  fromrepo,  enablerepo,  and  disablerepo arguments are sup‐
199442              ported, as used in pkg states, and the disableexcludes option is
199443              also supported.
199444
199445              New in version 2014.7.0: Support for the disableexcludes option
199446
199447
199448              CLI Example:
199449
199450                 salt '*' pkg.list_upgrades
199451
199452       salt.modules.yumpkg.mod_repo(repo, basedir=None, **kwargs)
199453              Modify  one  or  more  values  for  a repo. If the repo does not
199454              exist, it will be created, so long as the following  values  are
199455              specified:
199456
199457              repo   name by which the yum refers to the repo
199458
199459              name   a human-readable name for the repo
199460
199461              baseurl
199462                     the URL for yum to reference
199463
199464              mirrorlist
199465                     the URL for yum to reference
199466
199467              Key/Value  pairs may also be removed from a repo's configuration
199468              by setting a key to a blank value. Bear in mind that a name can‐
199469              not  be  deleted,  and  a  baseurl can only be deleted if a mir‐
199470              rorlist is specified (or vice versa).
199471
199472              CLI Examples:
199473
199474                 salt '*' pkg.mod_repo reponame enabled=1 gpgcheck=1
199475                 salt '*' pkg.mod_repo reponame basedir=/path/to/dir enabled=1
199476                 salt '*' pkg.mod_repo reponame baseurl= mirrorlist=http://host.com/
199477
199478       salt.modules.yumpkg.modified(*packages, **flags)
199479              List the modified files that belong to a package. Not specifying
199480              any  packages  will return a list of _all_ modified files on the
199481              system's RPM database.
199482
199483              New in version 2015.5.0.
199484
199485
199486              Filtering by flags (True or False):
199487
199488              size   Include only files where size changed.
199489
199490              mode   Include only files which file's mode has been changed.
199491
199492              checksum
199493                     Include only files which MD5 checksum has been changed.
199494
199495              device Include only files which major and minor numbers has been
199496                     changed.
199497
199498              symlink
199499                     Include only files which are symbolic link contents.
199500
199501              owner  Include only files where owner has been changed.
199502
199503              group  Include only files where group has been changed.
199504
199505              time   Include  only  files  where modification time of the file
199506                     has been changed.
199507
199508              capabilities
199509                     Include only files  where  capabilities  differ  or  not.
199510                     Note: supported only on newer RPM versions.
199511
199512              CLI Examples:
199513
199514                 salt '*' pkg.modified
199515                 salt '*' pkg.modified httpd
199516                 salt '*' pkg.modified httpd postfix
199517                 salt '*' pkg.modified httpd owner=True group=False
199518
199519       salt.modules.yumpkg.normalize_name(name)
199520              Strips the architecture from the specified package name, if nec‐
199521              essary.  Circumstances where this would be done include:
199522
199523              · If the arch is 32 bit and the package name ends  in  a  32-bit
199524                arch.
199525
199526              · If the arch matches the OS arch, or is noarch.
199527
199528              CLI Example:
199529
199530                 salt '*' pkg.normalize_name zsh.x86_64
199531
199532       salt.modules.yumpkg.owner(*paths)
199533              New in version 2014.7.0.
199534
199535
199536              Return the name of the package that owns the file. Multiple file
199537              paths can be passed. Like  pkg.version,  if  a  single  path  is
199538              passed,  a  string  will  be returned, and if multiple paths are
199539              passed,  a  dictionary  of  file/package  name  pairs  will   be
199540              returned.
199541
199542              If  the file is not owned by a package, or is not present on the
199543              minion, then an empty string will be returned for that path.
199544
199545              CLI Examples:
199546
199547                 salt '*' pkg.owner /usr/bin/apachectl
199548                 salt '*' pkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf
199549
199550       salt.modules.yumpkg.parse_arch(name)
199551              Parse name and architecture from the specified package name.
199552
199553              CLI Example:
199554
199555                 salt '*' pkg.parse_arch zsh.x86_64
199556
199557       salt.modules.yumpkg.purge(name=None, pkgs=None, **kwargs)
199558              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
199559              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
199560              mands which modify installed packages from the salt-minion  dae‐
199561              mon's  control  group. This is done to keep systemd from killing
199562              any yum/dnf commands spawned by Salt when the  salt-minion  ser‐
199563              vice  is restarted. (see KillMode in the systemd.kill(5) manpage
199564              for more information). If desired, usage of  systemd-run(1)  can
199565              be  suppressed  by setting a config option called systemd.scope,
199566              with a value of False (no quotes).
199567
199568
199569              Package purges are not supported by yum, this function is  iden‐
199570              tical to pkg.remove.
199571
199572              name   The name of the package to be purged
199573
199574              Multiple Package Options:
199575
199576              pkgs   A  list of packages to delete. Must be passed as a python
199577                     list. The name parameter will be ignored if  this  option
199578                     is passed.
199579
199580              New in version 0.16.0.
199581
199582
199583              Returns a dict containing the changes.
199584
199585              CLI Example:
199586
199587                 salt '*' pkg.purge <package name>
199588                 salt '*' pkg.purge <package1>,<package2>,<package3>
199589                 salt '*' pkg.purge pkgs='["foo", "bar"]'
199590
199591       salt.modules.yumpkg.refresh_db(**kwargs)
199592              Check the yum repos for updated packages
199593
199594              Returns:
199595
199596              · True: Updates are available
199597
199598              · False: An error occurred
199599
199600              · None: No updates are available
199601
199602              repo   Refresh just the specified repo
199603
199604              disablerepo
199605                     Do not refresh the specified repo
199606
199607              enablerepo
199608                     Refresh a disabled repo using this option
199609
199610              branch Add the specified branch when refreshing
199611
199612              disableexcludes
199613                     Disable  the excludes defined in your config files. Takes
199614                     one of three options: - all - disable all excludes - main
199615                     - disable excludes defined in [main] in yum.conf - repoid
199616                     - disable excludes defined for that repo
199617
199618              setopt A comma-separated or Python list  of  key=value  options.
199619                     This list will be expanded and --setopt prepended to each
199620                     in the yum/dnf command that is run.
199621
199622                     New in version 2019.2.0.
199623
199624
199625              CLI Example:
199626
199627                 salt '*' pkg.refresh_db
199628
199629       salt.modules.yumpkg.remove(name=None, pkgs=None, **kwargs)
199630              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
199631              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
199632              mands which modify installed packages from the salt-minion  dae‐
199633              mon's  control  group. This is done to keep systemd from killing
199634              any yum/dnf commands spawned by Salt when the  salt-minion  ser‐
199635              vice  is restarted. (see KillMode in the systemd.kill(5) manpage
199636              for more information). If desired, usage of  systemd-run(1)  can
199637              be  suppressed  by setting a config option called systemd.scope,
199638              with a value of False (no quotes).
199639
199640
199641              Remove packages
199642
199643              name   The name of the package to be removed
199644
199645              Multiple Package Options:
199646
199647              pkgs   A list of packages to delete. Must be passed as a  python
199648                     list.  The  name parameter will be ignored if this option
199649                     is passed.
199650
199651              New in version 0.16.0.
199652
199653
199654              Returns a dict containing the changes.
199655
199656              CLI Example:
199657
199658                 salt '*' pkg.remove <package name>
199659                 salt '*' pkg.remove <package1>,<package2>,<package3>
199660                 salt '*' pkg.remove pkgs='["foo", "bar"]'
199661
199662       salt.modules.yumpkg.unhold(name=None,     pkgs=None,      sources=None,
199663       **kwargs)
199664              New in version 2014.7.0.
199665
199666
199667              Remove version locks
199668
199669              NOTE:
199670                 Requires  the  appropriate  versionlock  plugin package to be
199671                 installed:
199672
199673                 · On RHEL 5: yum-versionlock
199674
199675                 · On RHEL 6 & 7: yum-plugin-versionlock
199676
199677                 · On Fedora: python-dnf-plugins-extras-versionlock
199678
199679              name   The name of the package to be unheld
199680
199681              Multiple Package Options:
199682
199683              pkgs   A list of packages to unhold. Must be passed as a  python
199684                     list.  The  name parameter will be ignored if this option
199685                     is passed.
199686
199687              Returns a dict containing the changes.
199688
199689              CLI Example:
199690
199691                 salt '*' pkg.unhold <package name>
199692                 salt '*' pkg.unhold pkgs='["foo", "bar"]'
199693
199694       salt.modules.yumpkg.update(name=None,     pkgs=None,      refresh=True,
199695       skip_verify=False,   normalize=True,   minimal=False,  obsoletes=False,
199696       **kwargs)
199697              New in version 2019.2.0.
199698
199699
199700              Calls pkg.upgrade with obsoletes=False. Mirrors the CLI behavior
199701              of yum update.  See pkg.upgrade for further documentation.
199702
199703                 salt '*' pkg.update
199704
199705       salt.modules.yumpkg.upgrade(name=None,     pkgs=None,     refresh=True,
199706       skip_verify=False,   normalize=True,   minimal=False,   obsoletes=True,
199707       **kwargs)
199708              Run  a  full  system  upgrade (a yum upgrade or dnf upgrade), or
199709              upgrade specified packages. If the  packages  aren't  installed,
199710              they will not be installed.
199711
199712              Changed in version 2014.7.0.
199713
199714
199715              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
199716              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
199717              mands  which modify installed packages from the salt-minion dae‐
199718              mon's control group. This is done to keep systemd  from  killing
199719              any  yum/dnf  commands spawned by Salt when the salt-minion ser‐
199720              vice is restarted. (see KillMode in the systemd.kill(5)  manpage
199721              for  more  information). If desired, usage of systemd-run(1) can
199722              be suppressed by setting a config option  called  systemd.scope,
199723              with a value of False (no quotes).
199724
199725
199726              Changed  in  version 2019.2.0: Added obsoletes and minimal argu‐
199727              ments
199728
199729
199730              Returns a dictionary containing the changes:
199731
199732                 {'<package>':  {'old': '<old-version>',
199733                                 'new': '<new-version>'}}
199734
199735              CLI Example:
199736
199737                 salt '*' pkg.upgrade
199738                 salt '*' pkg.upgrade name=openssl
199739
199740              Repository Options:
199741
199742              fromrepo
199743                     Specify a package repository (or repositories) from which
199744                     to     install.      (e.g.,     yum     --disablerepo='*'
199745                     --enablerepo='somerepo')
199746
199747              enablerepo (ignored if fromrepo is specified)
199748                     Specify a disabled package repository  (or  repositories)
199749                     to enable.  (e.g., yum --enablerepo='somerepo')
199750
199751              disablerepo (ignored if fromrepo is specified)
199752                     Specify  an  enabled package repository (or repositories)
199753                     to disable.  (e.g., yum --disablerepo='somerepo')
199754
199755              disableexcludes
199756                     Disable exclude from main, for a repo or for  everything.
199757                     (e.g., yum --disableexcludes='main')
199758
199759                     New in version 2014.7.
199760
199761
199762              name   The  name  of  the package to be upgraded. Note that this
199763                     parameter is ignored if "pkgs" is passed.
199764
199765                     32-bit packages can be  upgraded  on  64-bit  systems  by
199766                     appending  the  architecture  designation  (.i686, .i586,
199767                     etc.) to the end of the package name.
199768
199769                     Warning:  if  you  forget  'name='  and  run  pkg.upgrade
199770                     openssl,   ALL   packages  are  upgraded.  This  will  be
199771                     addressed in next releases.
199772
199773                     CLI Example:
199774
199775                        salt '*' pkg.upgrade name=openssl
199776
199777                     New in version 2016.3.0.
199778
199779
199780              pkgs   A list of packages to upgrade from a software repository.
199781                     Must  be passed as a python list. A specific version num‐
199782                     ber can be specified by using a single-element dict  rep‐
199783                     resenting the package and its version. If the package was
199784                     not already installed on  the  system,  it  will  not  be
199785                     installed.
199786
199787                     CLI Examples:
199788
199789                        salt '*' pkg.upgrade pkgs='["foo", "bar"]'
199790                        salt '*' pkg.upgrade pkgs='["foo", {"bar": "1.2.3-4.el5"}]'
199791
199792                     New in version 2016.3.0.
199793
199794
199795              normalize
199796                     True Normalize the package name by removing the architec‐
199797                     ture. This is useful for poorly  created  packages  which
199798                     might  include  the architecture as an actual part of the
199799                     name such as kernel modules which match a specific kernel
199800                     version.
199801
199802                        salt -G role:nsd pkg.upgrade gpfs.gplbin-2.6.32-279.31.1.el6.x86_64 normalize=False
199803
199804                     New in version 2016.3.0.
199805
199806
199807              minimal
199808                     False  Use  upgrade-minimal instead of upgrade (e.g., yum
199809                     upgrade-minimal) Goes to the 'newest' package match which
199810                     fixes a problem that affects your system.
199811
199812                        salt '*' pkg.upgrade minimal=True
199813
199814                     New in version 2019.2.0.
199815
199816
199817              obsoletes
199818                     True  Controls  wether yum/dnf should take obsoletes into
199819                     account and remove them.  If set to False  yum  will  use
199820                     update  instead  of  upgrade  and  dnf  will  be run with
199821                     --obsoletes=False
199822
199823                        salt '*' pkg.upgrade obsoletes=False
199824
199825                     New in version 2019.2.0.
199826
199827
199828              setopt A comma-separated or Python list  of  key=value  options.
199829                     This list will be expanded and --setopt prepended to each
199830                     in the yum/dnf command that is run.
199831
199832                     New in version 2019.2.0.
199833
199834
199835              NOTE:
199836                 To add extra arguments to the yum upgrade command, pass  them
199837                 as  key  word  arguments.  For arguments without assignments,
199838                 pass True
199839
199840                 salt '*' pkg.upgrade security=True exclude='kernel*'
199841
199842       salt.modules.yumpkg.upgrade_available(name, **kwargs)
199843              Check whether or not an upgrade is available for a given package
199844
199845              CLI Example:
199846
199847                 salt '*' pkg.upgrade_available <package name>
199848
199849       salt.modules.yumpkg.verify(*names, **kwargs)
199850              New in version 2014.1.0.
199851
199852
199853              Runs an rpm -Va on a system, and returns the results in a dict
199854
199855              Pass options to  modify  rpm  verify  behavior  using  the  ver‐
199856              ify_options keyword argument
199857
199858              Files with an attribute of config, doc, ghost, license or readme
199859              in the package header can be ignored using the ignore_types key‐
199860              word argument
199861
199862              CLI Example:
199863
199864                 salt '*' pkg.verify
199865                 salt '*' pkg.verify httpd
199866                 salt '*' pkg.verify 'httpd postfix'
199867                 salt '*' pkg.verify 'httpd postfix' ignore_types=['config','doc']
199868                 salt '*' pkg.verify 'httpd postfix' verify_options=['nodeps','nosize']
199869
199870       salt.modules.yumpkg.version(*names, **kwargs)
199871              Returns  a  string  representing the package version or an empty
199872              string if not installed. If more than one package name is speci‐
199873              fied, a dict of name/version pairs is returned.
199874
199875              CLI Example:
199876
199877                 salt '*' pkg.version <package name>
199878                 salt '*' pkg.version <package1> <package2> <package3> ...
199879
199880       salt.modules.yumpkg.version_cmp(pkg1, pkg2, ignore_epoch=False)
199881              New in version 2015.5.4.
199882
199883
199884              Do  a  cmp-style comparison on two packages. Return -1 if pkg1 <
199885              pkg2, 0 if pkg1 == pkg2, and 1 if pkg1 > pkg2.  Return  None  if
199886              there was a problem making the comparison.
199887
199888              ignore_epoch
199889                     False Set to True to ignore the epoch when comparing ver‐
199890                     sions
199891
199892                     New in version 2015.8.10,2016.3.2.
199893
199894
199895              CLI Example:
199896
199897                 salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'
199898
199899   salt.modules.zabbix module
199900       Support for Zabbix
199901
199902       optdepends
199903
199904              · zabbix server
199905
199906       configuration
199907              This module is not usable until the zabbix user and zabbix pass‐
199908              word  are specified either in a pillar or in the minion's config
199909              file. Zabbix url should be also specified.
199910
199911                 zabbix.user: Admin
199912                 zabbix.password: mypassword
199913                 zabbix.url: http://127.0.0.1/zabbix/api_jsonrpc.php
199914
199915              Connection arguments from the minion config file can be overrid‐
199916              den on the CLI by using arguments with _connection_ prefix.
199917
199918                 zabbix.apiinfo_version _connection_user=Admin _connection_password=zabbix _connection_url=http://host/zabbix/
199919
199920       codeauthor
199921              Jiri Kotlin <jiri.kotlin@ultimum.io>
199922
199923       salt.modules.zabbix.apiinfo_version(**connection_args)
199924              Retrieve the version of the Zabbix API.
199925
199926              New in version 2016.3.0.
199927
199928
199929              Parameters
199930
199931                     · _connection_user -- Optional - zabbix user (can also be
199932                       set in opts or pillar, see module's docstring)
199933
199934                     · _connection_password -- Optional - zabbix password (can
199935                       also be set in opts or pillar, see module's docstring)
199936
199937                     · _connection_url  --  Optional  - url of zabbix frontend
199938                       (can also be set in opts,  pillar,  see  module's  doc‐
199939                       string)
199940
199941              Returns
199942                     On success string with Zabbix API version, False on fail‐
199943                     ure.
199944
199945              CLI Example:
199946                 salt '*' zabbix.apiinfo_version
199947
199948       salt.modules.zabbix.compare_params(defined,                   existing,
199949       return_old_value=False)
199950              New in version 2017.7.
199951
199952
199953              Compares   Zabbix  object  definition  against  existing  Zabbix
199954              object.
199955
199956              Parameters
199957
199958                     · defined -- Zabbix  object  definition  taken  from  sls
199959                       file.
199960
199961                     · existing -- Existing Zabbix object taken from result of
199962                       an API call.
199963
199964                     · return_old_value -- Default  False.  If  True,  returns
199965                       dict("old"=old_val,  "new"=new_val)  for  rollback pur‐
199966                       pose.
199967
199968              Returns
199969                     Params that are different from  existing  object.  Result
199970                     extended  by  object  ID can be passed directly to Zabbix
199971                     API update method.
199972
199973       salt.modules.zabbix.configuration_import(config_file,       rules=None,
199974       file_format=u'xml', **connection_args)
199975              New in version 2017.7.
199976
199977
199978              Imports Zabbix configuration specified in file to Zabbix server.
199979
199980              Parameters
199981
199982                     · config_file  --  File  with  Zabbix  config  (local  or
199983                       remote)
199984
199985                     · rules -- Optional - Rules that  have  to  be  different
199986                       from  default  (defaults  are the same as in Zabbix web
199987                       UI.)
199988
199989                     · file_format -- Config file format (default: xml)
199990
199991                     · _connection_user -- Optional - zabbix user (can also be
199992                       set in opts or pillar, see module's docstring)
199993
199994                     · _connection_password -- Optional - zabbix password (can
199995                       also be set in opts or pillar, see module's docstring)
199996
199997                     · _connection_url -- Optional - url  of  zabbix  frontend
199998                       (can  also  be  set  in opts, pillar, see module's doc‐
199999                       string)
200000
200001              CLI Example:
200002
200003                 salt '*' zabbix.configuration_import salt://zabbix/config/zabbix_templates.xml         "{'screens': {'createMissing': True, 'updateExisting': True}}"
200004
200005       salt.modules.zabbix.get_object_id_by_params(obj, params=None, **connec‐
200006       tion_args)
200007              New in version 2017.7.
200008
200009
200010              Get ID of single Zabbix object specified by its name.
200011
200012              Parameters
200013
200014                     · obj -- Zabbix object type
200015
200016                     · params  -- Parameters by which object is uniquely iden‐
200017                       tified
200018
200019                     · _connection_user -- Optional - zabbix user (can also be
200020                       set in opts or pillar, see module's docstring)
200021
200022                     · _connection_password -- Optional - zabbix password (can
200023                       also be set in opts or pillar, see module's docstring)
200024
200025                     · _connection_url -- Optional - url  of  zabbix  frontend
200026                       (can  also  be  set  in opts, pillar, see module's doc‐
200027                       string)
200028
200029              Returns
200030                     object ID
200031
200032       salt.modules.zabbix.get_zabbix_id_mapper()
200033              New in version 2017.7.
200034
200035
200036              Make ZABBIX_ID_MAPPER constant available to state modules.
200037
200038              Returns
200039                     ZABBIX_ID_MAPPER
200040
200041       salt.modules.zabbix.host_create(host,  groups,  interfaces,   **connec‐
200042       tion_args)
200043              New in version 2016.3.0.
200044
200045
200046              Create new host
200047
200048              NOTE:
200049                 This  function  accepts all standard host properties: keyword
200050                 argument names differ depending on your zabbix  version,  see
200051                 here.
200052
200053              Parameters
200054
200055                     · host -- technical name of the host
200056
200057                     · groups -- groupids of host groups to add the host to
200058
200059                     · interfaces -- interfaces to be created for the host
200060
200061                     · _connection_user -- Optional - zabbix user (can also be
200062                       set in opts or pillar, see module's docstring)
200063
200064                     · _connection_password -- Optional - zabbix password (can
200065                       also be set in opts or pillar, see module's docstring)
200066
200067                     · _connection_url  --  Optional  - url of zabbix frontend
200068                       (can also be set in opts,  pillar,  see  module's  doc‐
200069                       string)
200070
200071                     · visible_name  --  string with visible name of the host,
200072                       use 'visible_name' instead of 'name' parameter  to  not
200073                       mess with value supplied from Salt sls file.
200074
200075              return: ID of the created host.
200076
200077              CLI Example:
200078
200079                 salt '*' zabbix.host_create technicalname 4
200080                 interfaces='{type: 1, main: 1, useip: 1, ip: "192.168.3.1", dns: "", port: 10050}'
200081                 visible_name='Host Visible Name' inventory_mode=0 inventory='{"alias": "something"}'
200082
200083       salt.modules.zabbix.host_delete(hostids, **connection_args)
200084              Delete hosts.
200085
200086              New in version 2016.3.0.
200087
200088
200089              Parameters
200090
200091                     · hostids -- Hosts (hostids) to delete.
200092
200093                     · _connection_user -- Optional - zabbix user (can also be
200094                       set in opts or pillar, see module's docstring)
200095
200096                     · _connection_password -- Optional - zabbix password (can
200097                       also be set in opts or pillar, see module's docstring)
200098
200099                     · _connection_url  --  Optional  - url of zabbix frontend
200100                       (can also be set in opts,  pillar,  see  module's  doc‐
200101                       string)
200102
200103              Returns
200104                     IDs of the deleted hosts.
200105
200106              CLI Example:
200107                 salt '*' zabbix.host_delete 10106
200108
200109       salt.modules.zabbix.host_exists(host=None,    hostid=None,   name=None,
200110       node=None, nodeids=None, **connection_args)
200111              Checks if at least one host that matches the given filter crite‐
200112              ria exists.
200113
200114              New in version 2016.3.0.
200115
200116
200117              Parameters
200118
200119                     · host -- technical name of the host
200120
200121                     · hostids -- Hosts (hostids) to delete.
200122
200123                     · name -- visible name of the host
200124
200125                     · node -- name of the node the hosts must belong to (zab‐
200126                       bix API < 2.4)
200127
200128                     · nodeids -- IDs of the node the  hosts  must  belong  to
200129                       (zabbix API < 2.4)
200130
200131                     · _connection_user -- Optional - zabbix user (can also be
200132                       set in opts or pillar, see module's docstring)
200133
200134                     · _connection_password -- Optional - zabbix password (can
200135                       also be set in opts or pillar, see module's docstring)
200136
200137                     · _connection_url  --  Optional  - url of zabbix frontend
200138                       (can also be set in opts,  pillar,  see  module's  doc‐
200139                       string)
200140
200141              Returns
200142                     IDs of the deleted hosts, False on failure.
200143
200144              CLI Example:
200145                 salt '*' zabbix.host_exists 'Zabbix server'
200146
200147       salt.modules.zabbix.host_get(host=None, name=None, hostids=None, **con‐
200148       nection_args)
200149              New in version 2016.3.0.
200150
200151
200152              Retrieve hosts according to the given parameters
200153
200154              NOTE:
200155                 This function accepts all optional host.get parameters:  key‐
200156                 word  argument names differ depending on your zabbix version,
200157                 see here.
200158
200159              Parameters
200160
200161                     · host -- technical name of the host
200162
200163                     · name -- visible name of the host
200164
200165                     · hostids -- ids of the hosts
200166
200167                     · _connection_user -- Optional - zabbix user (can also be
200168                       set in opts or pillar, see module's docstring)
200169
200170                     · _connection_password -- Optional - zabbix password (can
200171                       also be set in opts or pillar, see module's docstring)
200172
200173                     · _connection_url -- Optional - url  of  zabbix  frontend
200174                       (can  also  be  set  in opts, pillar, see module's doc‐
200175                       string)
200176
200177              Returns
200178                     Array with convenient hosts details,  False  if  no  host
200179                     found or on failure.
200180
200181              CLI Example:
200182                 salt '*' zabbix.host_get 'Zabbix server'
200183
200184       salt.modules.zabbix.host_inventory_get(hostids, **connection_args)
200185              Retrieve host inventory according to the given parameters.  See:
200186              https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory
200187
200188              New in version 2019.2.0.
200189
200190
200191              Parameters
200192
200193                     · hostids  --  Return  only  host  interfaces used by the
200194                       given hosts.
200195
200196                     · _connection_user -- Optional - zabbix user (can also be
200197                       set in opts or pillar, see module's docstring)
200198
200199                     · _connection_password -- Optional - zabbix password (can
200200                       also be set in opts or pillar, see module's docstring)
200201
200202                     · _connection_url -- Optional - url  of  zabbix  frontend
200203                       (can  also  be  set  in opts, pillar, see module's doc‐
200204                       string)
200205
200206              Returns
200207                     Array with host interfaces details, False  if  no  conve‐
200208                     nient host interfaces found or on failure.
200209
200210              CLI Example:
200211                 salt '*' zabbix.host_inventory_get 101054
200212
200213       salt.modules.zabbix.host_inventory_set(hostid, **connection_args)
200214              Update  host  inventory  items  NOTE:  This function accepts all
200215              standard  host:  keyword  argument  names  for  inventory   see:
200216              https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory
200217
200218              New in version 2019.2.0.
200219
200220
200221              Parameters
200222
200223                     · hostid -- ID of the host to update
200224
200225                     · clear_old -- Set to True in order to remove all  exist‐
200226                       ing inventory items before setting the specified items
200227
200228                     · _connection_user -- Optional - zabbix user (can also be
200229                       set in opts or pillar, see module's docstring)
200230
200231                     · _connection_password -- Optional - zabbix password (can
200232                       also be set in opts or pillar, see module's docstring)
200233
200234                     · _connection_url  --  Optional  - url of zabbix frontend
200235                       (can also be set in opts,  pillar,  see  module's  doc‐
200236                       string)
200237
200238              Returns
200239                     ID of the updated host, False on failure.
200240
200241              CLI Example:
200242                 salt  '*'  zabbix.host_inventory_set 101054 asset_tag=jml3322
200243                 type=vm clear_old=True
200244
200245       salt.modules.zabbix.host_list(**connection_args)
200246              Retrieve all hosts.
200247
200248              New in version 2016.3.0.
200249
200250
200251              Parameters
200252
200253                     · _connection_user -- Optional - zabbix user (can also be
200254                       set in opts or pillar, see module's docstring)
200255
200256                     · _connection_password -- Optional - zabbix password (can
200257                       also be set in opts or pillar, see module's docstring)
200258
200259                     · _connection_url -- Optional - url  of  zabbix  frontend
200260                       (can  also  be  set  in opts, pillar, see module's doc‐
200261                       string)
200262
200263              Returns
200264                     Array with details about hosts, False on failure.
200265
200266              CLI Example:
200267                 salt '*' zabbix.host_list
200268
200269       salt.modules.zabbix.host_update(hostid, **connection_args)
200270              New in version 2016.3.0.
200271
200272
200273              Update existing hosts
200274
200275              NOTE:
200276                 This function accepts all standard host and host.update prop‐
200277                 erties:  keyword argument names differ depending on your zab‐
200278                 bix version, see the documentation for host objects  and  the
200279                 documentation for updating hosts.
200280
200281              Parameters
200282
200283                     · hostid -- ID of the host to update
200284
200285                     · _connection_user -- Optional - zabbix user (can also be
200286                       set in opts or pillar, see module's docstring)
200287
200288                     · _connection_password -- Optional - zabbix password (can
200289                       also be set in opts or pillar, see module's docstring)
200290
200291                     · _connection_url  --  Optional  - url of zabbix frontend
200292                       (can also be set in opts,  pillar,  see  module's  doc‐
200293                       string)
200294
200295                     · visible_name  --  string with visible name of the host,
200296                       use 'visible_name' instead of 'name' parameter  to  not
200297                       mess with value supplied from Salt sls file.
200298
200299              Returns
200300                     ID of the updated host.
200301
200302              CLI Example:
200303                 salt '*' zabbix.host_update 10084 name='Zabbix server2'
200304
200305       salt.modules.zabbix.hostgroup_create(name, **connection_args)
200306              New in version 2016.3.0.
200307
200308
200309              Create a host group
200310
200311              NOTE:
200312                 This  function  accepts  all  standard host group properties:
200313                 keyword argument names differ depending on your  zabbix  ver‐
200314                 sion, see here.
200315
200316              Parameters
200317
200318                     · name -- name of the host group
200319
200320                     · _connection_user -- Optional - zabbix user (can also be
200321                       set in opts or pillar, see module's docstring)
200322
200323                     · _connection_password -- Optional - zabbix password (can
200324                       also be set in opts or pillar, see module's docstring)
200325
200326                     · _connection_url  --  Optional  - url of zabbix frontend
200327                       (can also be set in opts,  pillar,  see  module's  doc‐
200328                       string)
200329
200330              Returns
200331                     ID of the created host group.
200332
200333              CLI Example:
200334                 salt '*' zabbix.hostgroup_create MyNewGroup
200335
200336       salt.modules.zabbix.hostgroup_delete(hostgroupids, **connection_args)
200337              Delete the host group.
200338
200339              New in version 2016.3.0.
200340
200341
200342              Parameters
200343
200344                     · hostgroupids -- IDs of the host groups to delete
200345
200346                     · _connection_user -- Optional - zabbix user (can also be
200347                       set in opts or pillar, see module's docstring)
200348
200349                     · _connection_password -- Optional - zabbix password (can
200350                       also be set in opts or pillar, see module's docstring)
200351
200352                     · _connection_url  --  Optional  - url of zabbix frontend
200353                       (can also be set in opts,  pillar,  see  module's  doc‐
200354                       string)
200355
200356              Returns
200357                     ID of the deleted host groups, False on failure.
200358
200359              CLI Example:
200360                 salt '*' zabbix.hostgroup_delete 23
200361
200362       salt.modules.zabbix.hostgroup_exists(name=None,           groupid=None,
200363       node=None, nodeids=None, **connection_args)
200364              Checks if at least one host group that matches the given  filter
200365              criteria exists.
200366
200367              New in version 2016.3.0.
200368
200369
200370              Parameters
200371
200372                     · name -- names of the host groups
200373
200374                     · groupid -- host group IDs
200375
200376                     · node -- name of the node the host groups must belong to
200377                       (zabbix API < 2.4)
200378
200379                     · nodeids -- IDs of the nodes the host groups must belong
200380                       to (zabbix API < 2.4)
200381
200382                     · _connection_user -- Optional - zabbix user (can also be
200383                       set in opts or pillar, see module's docstring)
200384
200385                     · _connection_password -- Optional - zabbix password (can
200386                       also be set in opts or pillar, see module's docstring)
200387
200388                     · _connection_url  --  Optional  - url of zabbix frontend
200389                       (can also be set in opts,  pillar,  see  module's  doc‐
200390                       string)
200391
200392              Returns
200393                     True  if  at least one host group exists, False if not or
200394                     on failure.
200395
200396              CLI Example:
200397                 salt '*' zabbix.hostgroup_exists MyNewGroup
200398
200399       salt.modules.zabbix.hostgroup_get(name=None,             groupids=None,
200400       hostids=None, **connection_args)
200401              New in version 2016.3.0.
200402
200403
200404              Retrieve host groups according to the given parameters
200405
200406              NOTE:
200407                 This function accepts all standard hostgroup.get properities:
200408                 keyword argument names differ depending on your  zabbix  ver‐
200409                 sion, see here.
200410
200411              Parameters
200412
200413                     · name -- names of the host groups
200414
200415                     · groupid -- host group IDs
200416
200417                     · node -- name of the node the host groups must belong to
200418
200419                     · nodeids -- IDs of the nodes the host groups must belong
200420                       to
200421
200422                     · hostids -- return only host  groups  that  contain  the
200423                       given hosts
200424
200425                     · _connection_user -- Optional - zabbix user (can also be
200426                       set in opts or pillar, see module's docstring)
200427
200428                     · _connection_password -- Optional - zabbix password (can
200429                       also be set in opts or pillar, see module's docstring)
200430
200431                     · _connection_url  --  Optional  - url of zabbix frontend
200432                       (can also be set in opts,  pillar,  see  module's  doc‐
200433                       string)
200434
200435              Returns
200436                     Array  with  host  groups details, False if no convenient
200437                     host group found or on failure.
200438
200439              CLI Example:
200440                 salt '*' zabbix.hostgroup_get MyNewGroup
200441
200442       salt.modules.zabbix.hostgroup_list(**connection_args)
200443              Retrieve all host groups.
200444
200445              New in version 2016.3.0.
200446
200447
200448              Parameters
200449
200450                     · _connection_user -- Optional - zabbix user (can also be
200451                       set in opts or pillar, see module's docstring)
200452
200453                     · _connection_password -- Optional - zabbix password (can
200454                       also be set in opts or pillar, see module's docstring)
200455
200456                     · _connection_url -- Optional - url  of  zabbix  frontend
200457                       (can  also  be  set  in opts, pillar, see module's doc‐
200458                       string)
200459
200460              Returns
200461                     Array with details about host groups, False on failure.
200462
200463              CLI Example:
200464                 salt '*' zabbix.hostgroup_list
200465
200466       salt.modules.zabbix.hostgroup_update(groupid,   name=None,    **connec‐
200467       tion_args)
200468              New in version 2016.3.0.
200469
200470
200471              Update existing hosts group
200472
200473              NOTE:
200474                 This  function  accepts  all  standard host group properties:
200475                 keyword argument names differ depending on your  zabbix  ver‐
200476                 sion, see here.
200477
200478              Parameters
200479
200480                     · groupid -- ID of the host group to update
200481
200482                     · name -- name of the host group
200483
200484                     · _connection_user -- Optional - zabbix user (can also be
200485                       set in opts or pillar, see module's docstring)
200486
200487                     · _connection_password -- Optional - zabbix password (can
200488                       also be set in opts or pillar, see module's docstring)
200489
200490                     · _connection_url  --  Optional  - url of zabbix frontend
200491                       (can also be set in opts,  pillar,  see  module's  doc‐
200492                       string)
200493
200494              Returns
200495                     IDs of updated host groups.
200496
200497              CLI Example:
200498                 salt '*' zabbix.hostgroup_update 24 name='Renamed Name'
200499
200500       salt.modules.zabbix.hostinterface_create(hostid,  ip_, dns=u'', main=1,
200501       if_type=1, useip=1, port=None, **connection_args)
200502              New in version 2016.3.0.
200503
200504
200505              Create new host interface
200506
200507              NOTE:
200508                 This function accepts all standard host group interface: key‐
200509                 word  argument names differ depending on your zabbix version,
200510                 see here.
200511
200512              Parameters
200513
200514                     · hostid -- ID of the host the interface belongs to
200515
200516                     · ip -- IP address used by the interface
200517
200518                     · dns -- DNS name used by the interface
200519
200520                     · main -- whether the interface is used as default on the
200521                       host (0 - not default, 1 - default)
200522
200523                     · port -- port number used by the interface
200524
200525                     · type  -- Interface type (1 - agent; 2 - SNMP; 3 - IPMI;
200526                       4 - JMX)
200527
200528                     · useip -- Whether the connection should be made  via  IP
200529                       (0  -  connect  using  host DNS name; 1 - connect using
200530                       host IP address for this host interface)
200531
200532                     · _connection_user -- Optional - zabbix user (can also be
200533                       set in opts or pillar, see module's docstring)
200534
200535                     · _connection_password -- Optional - zabbix password (can
200536                       also be set in opts or pillar, see module's docstring)
200537
200538                     · _connection_url -- Optional - url  of  zabbix  frontend
200539                       (can  also  be  set  in opts, pillar, see module's doc‐
200540                       string)
200541
200542              Returns
200543                     ID of the created host interface, False on failure.
200544
200545              CLI Example:
200546                 salt '*' zabbix.hostinterface_create 10105 192.193.194.197
200547
200548       salt.modules.zabbix.hostinterface_delete(interfaceids,        **connec‐
200549       tion_args)
200550              Delete host interface
200551
200552              New in version 2016.3.0.
200553
200554
200555              Parameters
200556
200557                     · interfaceids -- IDs of the host interfaces to delete
200558
200559                     · _connection_user -- Optional - zabbix user (can also be
200560                       set in opts or pillar, see module's docstring)
200561
200562                     · _connection_password -- Optional - zabbix password (can
200563                       also be set in opts or pillar, see module's docstring)
200564
200565                     · _connection_url  --  Optional  - url of zabbix frontend
200566                       (can also be set in opts,  pillar,  see  module's  doc‐
200567                       string)
200568
200569              Returns
200570                     ID of deleted host interfaces, False on failure.
200571
200572              CLI Example:
200573                 salt '*' zabbix.hostinterface_delete 50
200574
200575       salt.modules.zabbix.hostinterface_get(hostids, **connection_args)
200576              New in version 2016.3.0.
200577
200578
200579              Retrieve host groups according to the given parameters
200580
200581              NOTE:
200582                 This function accepts all standard hostinterface.get properi‐
200583                 ties: keyword argument names differ depending on your  zabbix
200584                 version, see here.
200585
200586              Parameters
200587
200588                     · hostids  --  Return  only  host  interfaces used by the
200589                       given hosts.
200590
200591                     · _connection_user -- Optional - zabbix user (can also be
200592                       set in opts or pillar, see module's docstring)
200593
200594                     · _connection_password -- Optional - zabbix password (can
200595                       also be set in opts or pillar, see module's docstring)
200596
200597                     · _connection_url -- Optional - url  of  zabbix  frontend
200598                       (can  also  be  set  in opts, pillar, see module's doc‐
200599                       string)
200600
200601              Returns
200602                     Array with host interfaces details, False  if  no  conve‐
200603                     nient host interfaces found or on failure.
200604
200605              CLI Example:
200606                 salt '*' zabbix.hostinterface_get 101054
200607
200608       salt.modules.zabbix.hostinterface_update(interfaceid,         **connec‐
200609       tion_args)
200610              New in version 2016.3.0.
200611
200612
200613              Update host interface
200614
200615              NOTE:
200616                 This function accepts  all  standard  hostinterface:  keyword
200617                 argument  names  differ depending on your zabbix version, see
200618                 here.
200619
200620              Parameters
200621
200622                     · interfaceid -- ID of the hostinterface to update
200623
200624                     · _connection_user -- Optional - zabbix user (can also be
200625                       set in opts or pillar, see module's docstring)
200626
200627                     · _connection_password -- Optional - zabbix password (can
200628                       also be set in opts or pillar, see module's docstring)
200629
200630                     · _connection_url -- Optional - url  of  zabbix  frontend
200631                       (can  also  be  set  in opts, pillar, see module's doc‐
200632                       string)
200633
200634              Returns
200635                     ID of the updated host interface, False on failure.
200636
200637              CLI Example:
200638                 salt '*' zabbix.hostinterface_update 6 ip_=0.0.0.2
200639
200640       salt.modules.zabbix.mediatype_create(name,     mediatype,     **connec‐
200641       tion_args)
200642              Create new mediatype
200643
200644              NOTE:
200645                 This function accepts all standard mediatype properties: key‐
200646                 word argument names differ depending on your zabbix  version,
200647                 see here.
200648
200649              Parameters
200650
200651                     · mediatype  -- media type - 0: email, 1: script, 2: sms,
200652                       3: Jabber, 100: Ez Texting
200653
200654                     · exec_path -- exec path - Required  for  script  and  Ez
200655                       Texting types, see Zabbix API docs
200656
200657                     · gsm_modem  --  exec  path  - Required for sms type, see
200658                       Zabbix API docs
200659
200660                     · smtp_email -- email address  from  which  notifications
200661                       will be sent, required for email type
200662
200663                     · smtp_helo -- SMTP HELO, required for email type
200664
200665                     · smtp_server -- SMTP server, required for email type
200666
200667                     · status  --  whether  the  media  type  is  enabled - 0:
200668                       enabled, 1: disabled
200669
200670                     · username -- authentication user,  required  for  Jabber
200671                       and Ez Texting types
200672
200673                     · passwd  -- authentication password, required for Jabber
200674                       and Ez Texting types
200675
200676                     · _connection_user -- Optional - zabbix user (can also be
200677                       set in opts or pillar, see module's docstring)
200678
200679                     · _connection_password -- Optional - zabbix password (can
200680                       also be set in opts or pillar, see module's docstring)
200681
200682                     · _connection_url -- Optional - url  of  zabbix  frontend
200683                       (can  also  be  set  in opts, pillar, see module's doc‐
200684                       string)
200685
200686              return: ID of the created mediatype.
200687
200688              CLI Example:
200689
200690                 salt '*' zabbix.mediatype_create 'Email' 0 smtp_email='noreply@example.com'
200691                 smtp_server='mailserver.example.com' smtp_helo='zabbix.example.com'
200692
200693       salt.modules.zabbix.mediatype_delete(mediatypeids, **connection_args)
200694              Delete mediatype
200695
200696              Parameters
200697
200698                     · interfaceids -- IDs of the mediatypes to delete
200699
200700                     · _connection_user -- Optional - zabbix user (can also be
200701                       set in opts or pillar, see module's docstring)
200702
200703                     · _connection_password -- Optional - zabbix password (can
200704                       also be set in opts or pillar, see module's docstring)
200705
200706                     · _connection_url -- Optional - url  of  zabbix  frontend
200707                       (can  also  be  set  in opts, pillar, see module's doc‐
200708                       string)
200709
200710              Returns
200711                     ID of deleted mediatype, False on failure.
200712
200713              CLI Example:
200714                 salt '*' zabbix.mediatype_delete 3
200715
200716       salt.modules.zabbix.mediatype_get(name=None, mediatypeids=None,  **con‐
200717       nection_args)
200718              Retrieve mediatypes according to the given parameters.
200719
200720              Parameters
200721
200722                     · name -- Name or description of the mediatype
200723
200724                     · mediatypeids -- ids of the mediatypes
200725
200726                     · connection_args (optional) --
200727
200728                       _connection_user:  zabbix user (can also be set in opts
200729                       or pillar, see  module's  docstring)  _connection_pass‐
200730                       word:  zabbix password (can also be set in opts or pil‐
200731                       lar, see module's docstring)  _connection_url:  url  of
200732                       zabbix frontend (can also be set in opts or pillar, see
200733                       module's docstring)
200734
200735                       all optional mediatype.get parameters: keyword argument
200736                       names depends on your zabbix version, see:
200737
200738                       https://www.zabbix.com/documentation/2.2/manual/api/reference/mediatype/get
200739
200740
200741              Returns
200742                     Array with mediatype details, False if no mediatype found
200743                     or on failure.
200744
200745              CLI Example:
200746                 salt  '*'  zabbix.mediatype_get  name='Email'  salt  '*' zab‐
200747                 bix.mediatype_get mediatypeids="['1', '2', '3']"
200748
200749       salt.modules.zabbix.mediatype_update(mediatypeid,   name=False,   medi‐
200750       atype=False, **connection_args)
200751              Update existing mediatype
200752
200753              NOTE:
200754                 This function accepts all standard mediatype properties: key‐
200755                 word argument names differ depending on your zabbix  version,
200756                 see here.
200757
200758              Parameters
200759
200760                     · mediatypeid -- ID of the mediatype to update
200761
200762                     · _connection_user -- Optional - zabbix user (can also be
200763                       set in opts or pillar, see module's docstring)
200764
200765                     · _connection_password -- Optional - zabbix password (can
200766                       also be set in opts or pillar, see module's docstring)
200767
200768                     · _connection_url  --  Optional  - url of zabbix frontend
200769                       (can also be set in opts,  pillar,  see  module's  doc‐
200770                       string)
200771
200772              Returns
200773                     IDs of the updated mediatypes, False on failure.
200774
200775              CLI Example:
200776                 salt '*' zabbix.usergroup_update 8 name="Email update"
200777
200778       salt.modules.zabbix.run_query(method, params, **connection_args)
200779              Send Zabbix API call
200780
200781              Parameters
200782
200783                     · method -- actual operation to perform via the API
200784
200785                     · params -- parameters required for specific method
200786
200787                     · connection_args (optional) --
200788
200789                       _connection_user:  zabbix user (can also be set in opts
200790                       or pillar, see  module's  docstring)  _connection_pass‐
200791                       word:  zabbix password (can also be set in opts or pil‐
200792                       lar, see module's docstring)  _connection_url:  url  of
200793                       zabbix frontend (can also be set in opts or pillar, see
200794                       module's docstring)
200795
200796                       all optional template.get parameters: keyword  argument
200797                       names depends on your zabbix version, see:
200798
200799                       https://www.zabbix.com/documentation/2.4/manual/api/reference/
200800
200801
200802              Returns
200803                     Response from Zabbix API
200804
200805              CLI Example:
200806                 salt '*'  zabbix.run_query  proxy.create  '{"host":  "zabbix‐
200807                 proxy.domain.com", "status": "5"}'
200808
200809       salt.modules.zabbix.substitute_params(input_object, extend_params=None,
200810       filter_key=u'name', **kwargs)
200811              New in version 2017.7.
200812
200813
200814              Go through Zabbix object params specification and if needed  get
200815              given object ID from Zabbix API and put it back as a value. Def‐
200816              inition of the object is done via dict with keys  "query_object"
200817              and "query_name".
200818
200819              Parameters
200820
200821                     · input_object  --  Zabbix object type specified in state
200822                       file
200823
200824                     · extend_params -- Specify query with params
200825
200826                     · filter_key -- Custom filtering key (default: name)
200827
200828                     · _connection_user -- Optional - zabbix user (can also be
200829                       set in opts or pillar, see module's docstring)
200830
200831                     · _connection_password -- Optional - zabbix password (can
200832                       also be set in opts or pillar, see module's docstring)
200833
200834                     · _connection_url -- Optional - url  of  zabbix  frontend
200835                       (can  also  be  set  in opts, pillar, see module's doc‐
200836                       string)
200837
200838              Returns
200839                     Params structure with values converted to string for fur‐
200840                     ther comparison purposes
200841
200842       salt.modules.zabbix.template_get(name=None,       host=None,       tem‐
200843       plateids=None, **connection_args)
200844              Retrieve templates according to the given parameters.
200845
200846              Parameters
200847
200848                     · host -- technical name of the template
200849
200850                     · name -- visible name of the template
200851
200852                     · hostids -- ids of the templates
200853
200854                     · connection_args (optional) --
200855
200856                       _connection_user: zabbix user (can also be set in  opts
200857                       or  pillar,  see  module's docstring) _connection_pass‐
200858                       word: zabbix password (can also be set in opts or  pil‐
200859                       lar,  see  module's  docstring) _connection_url: url of
200860                       zabbix frontend (can also be set in opts or pillar, see
200861                       module's docstring)
200862
200863                       all  optional template.get parameters: keyword argument
200864                       names depends on your zabbix version, see:
200865
200866                       https://www.zabbix.com/documentation/2.4/manual/api/reference/template/get
200867
200868
200869              Returns
200870                     Array  with convenient template details, False if no tem‐
200871                     plate found or on failure.
200872
200873              CLI Example:
200874                 salt '*' zabbix.template_get name='Template  OS  Linux'  salt
200875                 '*' zabbix.template_get templateids="['10050', '10001']"
200876
200877       salt.modules.zabbix.user_addmedia(userids, active, mediatypeid, period,
200878       sendto, severity, **connection_args)
200879              Add new media to multiple users.
200880
200881              New in version 2016.3.0.
200882
200883
200884              Parameters
200885
200886                     · userids -- ID of the user that uses the media
200887
200888                     · active -- Whether the media is enabled  (0  enabled,  1
200889                       disabled)
200890
200891                     · mediatypeid -- ID of the media type used by the media
200892
200893                     · period  -- Time when the notifications can be sent as a
200894                       time period
200895
200896                     · sendto -- Address, user name or other identifier of the
200897                       recipient
200898
200899                     · severity  --  Trigger  severities to send notifications
200900                       about
200901
200902                     · _connection_user -- Optional - zabbix user (can also be
200903                       set in opts or pillar, see module's docstring)
200904
200905                     · _connection_password -- Optional - zabbix password (can
200906                       also be set in opts or pillar, see module's docstring)
200907
200908                     · _connection_url -- Optional - url  of  zabbix  frontend
200909                       (can  also  be  set  in opts, pillar, see module's doc‐
200910                       string)
200911
200912              Returns
200913                     IDs of the created media.
200914
200915              CLI Example:
200916                 salt  '*'  zabbix.user_addmedia  4   active=0   mediatypeid=1
200917                 period='1-7,00:00-24:00' sendto='support2@example.com' sever‐
200918                 ity=63
200919
200920       salt.modules.zabbix.user_create(alias,   passwd,   usrgrps,   **connec‐
200921       tion_args)
200922              New in version 2016.3.0.
200923
200924
200925              Create new zabbix user
200926
200927              NOTE:
200928                 This  function  accepts all standard user properties: keyword
200929                 argument names differ depending on your zabbix  version,  see
200930                 here.
200931
200932              Parameters
200933
200934                     · alias -- user alias
200935
200936                     · passwd -- user's password
200937
200938                     · usrgrps -- user groups to add the user to
200939
200940                     · _connection_user  --  zabbix  user  (can also be set in
200941                       opts or pillar, see module's docstring)
200942
200943                     · _connection_password -- zabbix password  (can  also  be
200944                       set in opts or pillar, see module's docstring)
200945
200946                     · _connection_url  -- url of zabbix frontend (can also be
200947                       set in opts or pillar, see module's docstring)
200948
200949                     · firstname -- string with firstname  of  the  user,  use
200950                       'firstname'  instead  of  'name'  parameter to not mess
200951                       with value supplied from Salt sls file.
200952
200953              Returns
200954                     On success string with id of the created user.
200955
200956              CLI Example:
200957                 salt  '*'  zabbix.user_create  james  password007  '[7,  12]'
200958                 firstname='James Bond'
200959
200960       salt.modules.zabbix.user_delete(users, **connection_args)
200961              Delete zabbix users.
200962
200963              New in version 2016.3.0.
200964
200965
200966              Parameters
200967
200968                     · users -- array of users (userids) to delete
200969
200970                     · _connection_user -- Optional - zabbix user (can also be
200971                       set in opts or pillar, see module's docstring)
200972
200973                     · _connection_password -- Optional - zabbix password (can
200974                       also be set in opts or pillar, see module's docstring)
200975
200976                     · _connection_url  --  Optional  - url of zabbix frontend
200977                       (can also be set in opts,  pillar,  see  module's  doc‐
200978                       string)
200979
200980              Returns
200981                     On success array with userids of deleted users.
200982
200983              CLI Example:
200984                 salt '*' zabbix.user_delete 15
200985
200986       salt.modules.zabbix.user_deletemedia(mediaids, **connection_args)
200987              Delete media by id.
200988
200989              New in version 2016.3.0.
200990
200991
200992              Parameters
200993
200994                     · mediaids -- IDs of the media to delete
200995
200996                     · _connection_user -- Optional - zabbix user (can also be
200997                       set in opts or pillar, see module's docstring)
200998
200999                     · _connection_password -- Optional - zabbix password (can
201000                       also be set in opts or pillar, see module's docstring)
201001
201002                     · _connection_url  --  Optional  - url of zabbix frontend
201003                       (can also be set in opts,  pillar,  see  module's  doc‐
201004                       string)
201005
201006              Returns
201007                     IDs of the deleted media, False on failure.
201008
201009              CLI Example:
201010                 salt '*' zabbix.user_deletemedia 27
201011
201012       salt.modules.zabbix.user_exists(alias, **connection_args)
201013              Checks if user with given alias exists.
201014
201015              New in version 2016.3.0.
201016
201017
201018              Parameters
201019
201020                     · alias -- user alias
201021
201022                     · _connection_user -- Optional - zabbix user (can also be
201023                       set in opts or pillar, see module's docstring)
201024
201025                     · _connection_password -- Optional - zabbix password (can
201026                       also be set in opts or pillar, see module's docstring)
201027
201028                     · _connection_url  --  Optional  - url of zabbix frontend
201029                       (can also be set in opts,  pillar,  see  module's  doc‐
201030                       string)
201031
201032              Returns
201033                     True if user exists, else False.
201034
201035              CLI Example:
201036                 salt '*' zabbix.user_exists james
201037
201038       salt.modules.zabbix.user_get(alias=None,     userids=None,    **connec‐
201039       tion_args)
201040              Retrieve users according to the given parameters.
201041
201042              New in version 2016.3.0.
201043
201044
201045              Parameters
201046
201047                     · alias -- user alias
201048
201049                     · userids -- return only users with the given IDs
201050
201051                     · _connection_user -- Optional - zabbix user (can also be
201052                       set in opts or pillar, see module's docstring)
201053
201054                     · _connection_password -- Optional - zabbix password (can
201055                       also be set in opts or pillar, see module's docstring)
201056
201057                     · _connection_url -- Optional - url  of  zabbix  frontend
201058                       (can  also  be  set  in opts, pillar, see module's doc‐
201059                       string)
201060
201061              Returns
201062                     Array with details of convenient users, False on  failure
201063                     of if no user found.
201064
201065              CLI Example:
201066                 salt '*' zabbix.user_get james
201067
201068       salt.modules.zabbix.user_getmedia(userids=None, **connection_args)
201069              New in version 2016.3.0.
201070
201071
201072              Retrieve media according to the given parameters
201073
201074              NOTE:
201075                 This  function accepts all standard usermedia.get properties:
201076                 keyword argument names differ depending on your  zabbix  ver‐
201077                 sion, see here.
201078
201079              Parameters
201080
201081                     · userids -- return only media that are used by the given
201082                       users
201083
201084                     · _connection_user -- Optional - zabbix user (can also be
201085                       set in opts or pillar, see module's docstring)
201086
201087                     · _connection_password -- Optional - zabbix password (can
201088                       also be set in opts or pillar, see module's docstring)
201089
201090                     · _connection_url -- Optional - url  of  zabbix  frontend
201091                       (can  also  be  set  in opts, pillar, see module's doc‐
201092                       string)
201093
201094              Returns
201095                     List of retrieved media, False on failure.
201096
201097              CLI Example:
201098                 salt '*' zabbix.user_getmedia
201099
201100       salt.modules.zabbix.user_list(**connection_args)
201101              Retrieve all of the configured users.
201102
201103              New in version 2016.3.0.
201104
201105
201106              Parameters
201107
201108                     · _connection_user -- Optional - zabbix user (can also be
201109                       set in opts or pillar, see module's docstring)
201110
201111                     · _connection_password -- Optional - zabbix password (can
201112                       also be set in opts or pillar, see module's docstring)
201113
201114                     · _connection_url -- Optional - url  of  zabbix  frontend
201115                       (can  also  be  set  in opts, pillar, see module's doc‐
201116                       string)
201117
201118              Returns
201119                     Array with user details.
201120
201121              CLI Example:
201122                 salt '*' zabbix.user_list
201123
201124       salt.modules.zabbix.user_update(userid, **connection_args)
201125              New in version 2016.3.0.
201126
201127
201128              Update existing users
201129
201130              NOTE:
201131                 This function accepts all standard user  properties:  keyword
201132                 argument  names  differ depending on your zabbix version, see
201133                 here.
201134
201135              Parameters
201136
201137                     · userid -- id of the user to update
201138
201139                     · _connection_user -- Optional - zabbix user (can also be
201140                       set in opts or pillar, see module's docstring)
201141
201142                     · _connection_password -- Optional - zabbix password (can
201143                       also be set in opts or pillar, see module's docstring)
201144
201145                     · _connection_url -- Optional - url  of  zabbix  frontend
201146                       (can  also  be  set  in opts, pillar, see module's doc‐
201147                       string)
201148
201149              Returns
201150                     Id of the updated user on success.
201151
201152              CLI Example:
201153                 salt '*' zabbix.user_update 16 visible_name='James Brown'
201154
201155       salt.modules.zabbix.usergroup_create(name, **connection_args)
201156              New in version 2016.3.0.
201157
201158
201159              Create new user group
201160
201161              NOTE:
201162                 This function accepts all  standard  user  group  properties:
201163                 keyword  argument  names differ depending on your zabbix ver‐
201164                 sion, see here.
201165
201166              Parameters
201167
201168                     · name -- name of the user group
201169
201170                     · _connection_user -- Optional - zabbix user (can also be
201171                       set in opts or pillar, see module's docstring)
201172
201173                     · _connection_password -- Optional - zabbix password (can
201174                       also be set in opts or pillar, see module's docstring)
201175
201176                     · _connection_url -- Optional - url  of  zabbix  frontend
201177                       (can  also  be  set  in opts, pillar, see module's doc‐
201178                       string)
201179
201180              Returns
201181                     IDs of the created user groups.
201182
201183              CLI Example:
201184                 salt '*' zabbix.usergroup_create GroupName
201185
201186       salt.modules.zabbix.usergroup_delete(usergroupids, **connection_args)
201187              New in version 2016.3.0.
201188
201189
201190              Parameters
201191
201192                     · usergroupids -- IDs of the user groups to delete
201193
201194                     · _connection_user -- Optional - zabbix user (can also be
201195                       set in opts or pillar, see module's docstring)
201196
201197                     · _connection_password -- Optional - zabbix password (can
201198                       also be set in opts or pillar, see module's docstring)
201199
201200                     · _connection_url -- Optional - url  of  zabbix  frontend
201201                       (can  also  be  set  in opts, pillar, see module's doc‐
201202                       string)
201203
201204              Returns
201205                     IDs of the deleted user groups.
201206
201207              CLI Example:
201208                 salt '*' zabbix.usergroup_delete 28
201209
201210       salt.modules.zabbix.usergroup_exists(name=None,              node=None,
201211       nodeids=None, **connection_args)
201212              Checks  if at least one user group that matches the given filter
201213              criteria exists
201214
201215              New in version 2016.3.0.
201216
201217
201218              Parameters
201219
201220                     · name -- names of the user groups
201221
201222                     · node -- name of the node the user groups must belong to
201223                       (This will override the nodeids parameter.)
201224
201225                     · nodeids -- IDs of the nodes the user groups must belong
201226                       to
201227
201228                     · _connection_user -- Optional - zabbix user (can also be
201229                       set in opts or pillar, see module's docstring)
201230
201231                     · _connection_password -- Optional - zabbix password (can
201232                       also be set in opts or pillar, see module's docstring)
201233
201234                     · _connection_url -- Optional - url  of  zabbix  frontend
201235                       (can  also  be  set  in opts, pillar, see module's doc‐
201236                       string)
201237
201238              Returns
201239                     True if at least one user group that  matches  the  given
201240                     filter criteria exists, else False.
201241
201242              CLI Example:
201243                 salt '*' zabbix.usergroup_exists Guests
201244
201245       salt.modules.zabbix.usergroup_get(name=None,            usrgrpids=None,
201246       userids=None, **connection_args)
201247              New in version 2016.3.0.
201248
201249
201250              Retrieve user groups according to the given parameters
201251
201252              NOTE:
201253                 This function accepts all usergroup_get  properties:  keyword
201254                 argument  names  differ depending on your zabbix version, see
201255                 here.
201256
201257              Parameters
201258
201259                     · name -- names of the user groups
201260
201261                     · usrgrpids -- return only user groups with the given IDs
201262
201263                     · userids -- return only user  groups  that  contain  the
201264                       given users
201265
201266                     · _connection_user -- Optional - zabbix user (can also be
201267                       set in opts or pillar, see module's docstring)
201268
201269                     · _connection_password -- Optional - zabbix password (can
201270                       also be set in opts or pillar, see module's docstring)
201271
201272                     · _connection_url  --  Optional  - url of zabbix frontend
201273                       (can also be set in opts,  pillar,  see  module's  doc‐
201274                       string)
201275
201276              Returns
201277                     Array  with  convenient  user groups details, False if no
201278                     user group found or on failure.
201279
201280              CLI Example:
201281                 salt '*' zabbix.usergroup_get Guests
201282
201283       salt.modules.zabbix.usergroup_list(**connection_args)
201284              Retrieve all enabled user groups.
201285
201286              New in version 2016.3.0.
201287
201288
201289              Parameters
201290
201291                     · _connection_user -- Optional - zabbix user (can also be
201292                       set in opts or pillar, see module's docstring)
201293
201294                     · _connection_password -- Optional - zabbix password (can
201295                       also be set in opts or pillar, see module's docstring)
201296
201297                     · _connection_url -- Optional - url  of  zabbix  frontend
201298                       (can  also  be  set  in opts, pillar, see module's doc‐
201299                       string)
201300
201301              Returns
201302                     Array with enabled user groups details, False on failure.
201303
201304              CLI Example:
201305                 salt '*' zabbix.usergroup_list
201306
201307       salt.modules.zabbix.usergroup_update(usrgrpid, **connection_args)
201308              New in version 2016.3.0.
201309
201310
201311              Update existing user group
201312
201313              NOTE:
201314                 This function accepts all  standard  user  group  properties:
201315                 keyword  argument  names differ depending on your zabbix ver‐
201316                 sion, see here.
201317
201318              Parameters
201319
201320                     · usrgrpid -- ID of the user group to update.
201321
201322                     · _connection_user -- Optional - zabbix user (can also be
201323                       set in opts or pillar, see module's docstring)
201324
201325                     · _connection_password -- Optional - zabbix password (can
201326                       also be set in opts or pillar, see module's docstring)
201327
201328                     · _connection_url -- Optional - url  of  zabbix  frontend
201329                       (can  also  be  set  in opts, pillar, see module's doc‐
201330                       string)
201331
201332              Returns
201333                     IDs of the updated user group, False on failure.
201334
201335              CLI Example:
201336                 salt '*' zabbix.usergroup_update 8 name=guestsRenamed
201337
201338       salt.modules.zabbix.usermacro_create(macro,  value,  hostid,  **connec‐
201339       tion_args)
201340              Create new host usermacro.
201341
201342              Parameters
201343
201344                     · macro -- name of the host usermacro
201345
201346                     · value -- value of the host usermacro
201347
201348                     · hostid -- hostid or templateid
201349
201350                     · _connection_user -- Optional - zabbix user (can also be
201351                       set in opts or pillar, see module's docstring)
201352
201353                     · _connection_password -- Optional - zabbix password (can
201354                       also be set in opts or pillar, see module's docstring)
201355
201356                     · _connection_url  --  Optional  - url of zabbix frontend
201357                       (can also be set in opts,  pillar,  see  module's  doc‐
201358                       string)
201359
201360              return: ID of the created host usermacro.
201361
201362              CLI Example:
201363
201364                 salt '*' zabbix.usermacro_create '{$SNMP_COMMUNITY}' 'public' 1
201365
201366       salt.modules.zabbix.usermacro_createglobal(macro,    value,   **connec‐
201367       tion_args)
201368              Create new global usermacro.
201369
201370              Parameters
201371
201372                     · macro -- name of the global usermacro
201373
201374                     · value -- value of the global usermacro
201375
201376                     · _connection_user -- Optional - zabbix user (can also be
201377                       set in opts or pillar, see module's docstring)
201378
201379                     · _connection_password -- Optional - zabbix password (can
201380                       also be set in opts or pillar, see module's docstring)
201381
201382                     · _connection_url -- Optional - url  of  zabbix  frontend
201383                       (can  also  be  set  in opts, pillar, see module's doc‐
201384                       string)
201385
201386              return: ID of the created global usermacro.
201387
201388              CLI Example:
201389
201390                 salt '*' zabbix.usermacro_createglobal '{$SNMP_COMMUNITY}' 'public'
201391
201392       salt.modules.zabbix.usermacro_delete(macroids, **connection_args)
201393              Delete host usermacros.
201394
201395              Parameters
201396
201397                     · macroids -- macroids of the host usermacros
201398
201399                     · _connection_user -- Optional - zabbix user (can also be
201400                       set in opts or pillar, see module's docstring)
201401
201402                     · _connection_password -- Optional - zabbix password (can
201403                       also be set in opts or pillar, see module's docstring)
201404
201405                     · _connection_url -- Optional - url  of  zabbix  frontend
201406                       (can  also  be  set  in opts, pillar, see module's doc‐
201407                       string)
201408
201409              return: IDs of the deleted host usermacro.
201410
201411              CLI Example:
201412
201413                 salt '*' zabbix.usermacro_delete 21
201414
201415       salt.modules.zabbix.usermacro_deleteglobal(macroids, **connection_args)
201416              Delete global usermacros.
201417
201418              Parameters
201419
201420                     · macroids -- macroids of the global usermacros
201421
201422                     · _connection_user -- Optional - zabbix user (can also be
201423                       set in opts or pillar, see module's docstring)
201424
201425                     · _connection_password -- Optional - zabbix password (can
201426                       also be set in opts or pillar, see module's docstring)
201427
201428                     · _connection_url -- Optional - url  of  zabbix  frontend
201429                       (can  also  be  set  in opts, pillar, see module's doc‐
201430                       string)
201431
201432              return: IDs of the deleted global usermacro.
201433
201434              CLI Example:
201435
201436                 salt '*' zabbix.usermacro_deleteglobal 21
201437
201438       salt.modules.zabbix.usermacro_get(macro=None,    hostids=None,     tem‐
201439       plateids=None,    hostmacroids=None,    globalmacroids=None,    global‐
201440       macro=False, **connection_args)
201441              Retrieve user macros according to the given parameters.
201442
201443              Parameters
201444
201445                     · macro -- name of the usermacro
201446
201447                     · hostids -- Return macros for the given hostids
201448
201449                     · templateids -- Return macros for the given templateids
201450
201451                     · hostmacroids -- Return  macros  with  the  given  host‐
201452                       macroids
201453
201454                     · globalmacroids  -- Return macros with the given global‐
201455                       macroids (implies globalmacro=True)
201456
201457                     · globalmacro -- if True, returns only global macros
201458
201459                     · connection_args (optional) -- _connection_user:  zabbix
201460                       user  (can  also be set in opts or pillar, see module's
201461                       docstring) _connection_password: zabbix  password  (can
201462                       also  be set in opts or pillar, see module's docstring)
201463                       _connection_url: url of zabbix frontend  (can  also  be
201464                       set in opts or pillar, see module's docstring)
201465
201466              Returns
201467                     Array with usermacro details, False if no usermacro found
201468                     or on failure.
201469
201470              CLI Example:
201471                 salt '*' zabbix.usermacro_get macro='{$SNMP_COMMUNITY}'
201472
201473       salt.modules.zabbix.usermacro_update(hostmacroid,   value,    **connec‐
201474       tion_args)
201475              Update existing host usermacro.
201476
201477              Parameters
201478
201479                     · hostmacroid -- id of the host usermacro
201480
201481                     · value -- new value of the host usermacro
201482
201483                     · _connection_user -- Optional - zabbix user (can also be
201484                       set in opts or pillar, see module's docstring)
201485
201486                     · _connection_password -- Optional - zabbix password (can
201487                       also be set in opts or pillar, see module's docstring)
201488
201489                     · _connection_url  --  Optional  - url of zabbix frontend
201490                       (can also be set in opts,  pillar,  see  module's  doc‐
201491                       string)
201492
201493              return: ID of the update host usermacro.
201494
201495              CLI Example:
201496
201497                 salt '*' zabbix.usermacro_update 1 'public'
201498
201499       salt.modules.zabbix.usermacro_updateglobal(globalmacroid, value, **con‐
201500       nection_args)
201501              Update existing global usermacro.
201502
201503              Parameters
201504
201505                     · globalmacroid -- id of the host usermacro
201506
201507                     · value -- new value of the host usermacro
201508
201509                     · _connection_user -- Optional - zabbix user (can also be
201510                       set in opts or pillar, see module's docstring)
201511
201512                     · _connection_password -- Optional - zabbix password (can
201513                       also be set in opts or pillar, see module's docstring)
201514
201515                     · _connection_url -- Optional - url  of  zabbix  frontend
201516                       (can  also  be  set  in opts, pillar, see module's doc‐
201517                       string)
201518
201519              return: ID of the update global usermacro.
201520
201521              CLI Example:
201522
201523                 salt '*' zabbix.usermacro_updateglobal 1 'public'
201524
201525   salt.modules.zcbuildout
201526       Management of zc.buildout
201527
201528       New in version 2014.1.0.
201529
201530
201531       This module is inspired by minitage's buildout maker
201532
201533       NOTE:
201534          The zc.buildout integration is still in beta; the API is subject  to
201535          change
201536
201537   General notes
201538       You have those following methods:
201539
201540       · upgrade_bootstrap
201541
201542       · bootstrap
201543
201544       · run_buildout
201545
201546       · buildout
201547
201548       salt.modules.zcbuildout.bootstrap(*a, **kw)
201549              Run the buildout bootstrap dance (python bootstrap.py).
201550
201551              directory
201552                     directory to execute in
201553
201554              config alternative buildout configuration file to use
201555
201556              runas  User used to run buildout as
201557
201558              env    environment variables to set when running
201559
201560              buildout_ver
201561                     force a specific buildout version (1 | 2)
201562
201563              test_release
201564                     buildout accept test release
201565
201566              offline
201567                     are we executing buildout in offline mode
201568
201569              distribute
201570                     Forcing use of distribute
201571
201572              new_st Forcing use of setuptools >= 0.7
201573
201574              python path  to  a  python executable to use in place of default
201575                     (salt one)
201576
201577              onlyif Only execute cmd if statement on the host return 0
201578
201579              unless Do not execute cmd if statement on the host return 0
201580
201581              use_vt Use the new salt VT to stream output [experimental]
201582
201583              CLI Example:
201584
201585                 salt '*' buildout.bootstrap /srv/mybuildout
201586
201587       salt.modules.zcbuildout.buildout(*a, **kw)
201588              Run buildout in a directory.
201589
201590              directory
201591                     directory to execute in
201592
201593              config buildout config to use
201594
201595              parts  specific buildout parts to run
201596
201597              runas  user used to run buildout as
201598
201599              env    environment variables to set when running
201600
201601              buildout_ver
201602                     force a specific buildout version (1 | 2)
201603
201604              test_release
201605                     buildout accept test release
201606
201607              new_st Forcing use of setuptools >= 0.7
201608
201609              distribute
201610                     use distribute over setuptools if possible
201611
201612              offline
201613                     does buildout run offline
201614
201615              python python to use
201616
201617              debug  run buildout with -D debug flag
201618
201619              onlyif Only execute cmd if statement on the host return 0
201620
201621              unless Do not execute cmd if statement on the host return 0
201622
201623              newest run buildout in newest mode
201624
201625              verbose
201626                     run buildout in verbose mode (-vvvvv)
201627
201628              use_vt Use the new salt VT to stream output [experimental]
201629
201630              CLI Example:
201631
201632                 salt '*' buildout.buildout /srv/mybuildout
201633
201634       salt.modules.zcbuildout.run_buildout(*a, **kw)
201635              Run a buildout in a directory.
201636
201637              directory
201638                     directory to execute in
201639
201640              config alternative buildout configuration file to use
201641
201642              offline
201643                     are we executing buildout in offline mode
201644
201645              runas  user used to run buildout as
201646
201647              env    environment variables to set when running
201648
201649              onlyif Only execute cmd if statement on the host return 0
201650
201651              unless Do not execute cmd if statement on the host return 0
201652
201653              newest run buildout in newest mode
201654
201655              force  run buildout unconditionally
201656
201657              verbose
201658                     run buildout in verbose mode (-vvvvv)
201659
201660              use_vt Use the new salt VT to stream output [experimental]
201661
201662              CLI Example:
201663
201664                 salt '*' buildout.run_buildout /srv/mybuildout
201665
201666       salt.modules.zcbuildout.upgrade_bootstrap(*a, **kw)
201667              Upgrade current bootstrap.py with the last released one.
201668
201669              Indeed, when we first run a buildout, a common source of problem
201670              is  to have a locally stale bootstrap, we just try to grab a new
201671              copy
201672
201673              directory
201674                     directory to execute in
201675
201676              offline
201677                     are we executing buildout in offline mode
201678
201679              buildout_ver
201680                     forcing to use a specific buildout version (1 | 2)
201681
201682              onlyif Only execute cmd if statement on the host return 0
201683
201684              unless Do not execute cmd if statement on the host return 0
201685
201686              CLI Example:
201687
201688                 salt '*' buildout.upgrade_bootstrap /srv/mybuildout
201689
201690   salt.modules.zenoss
201691       Module for working with the Zenoss API
201692
201693       New in version 2016.3.0.
201694
201695
201696       depends
201697              requests
201698
201699       configuration
201700              This module requires a 'zenoss' entry in the master/minion  con‐
201701              fig.
201702
201703              For example:
201704
201705                 zenoss:
201706                   hostname: https://zenoss.example.com
201707                   username: admin
201708                   password: admin123
201709
201710       salt.modules.zenoss.add_device(device=None,  device_class=None, collec‐
201711       tor=u'localhost', prod_state=1000)
201712              A function to connect to a zenoss server and add  a  new  device
201713              entry.
201714
201715              Parameters
201716
201717                     · device  --  (Optional)  Will  use  the  grain 'fqdn' by
201718                       default.
201719
201720                     · device_class -- (Optional) The device class to use.  If
201721                       none, will determine based on kernel grain.
201722
201723                     · collector  --  (Optional) The collector to use for this
201724                       device. Defaults to 'localhost'.
201725
201726                     · prod_state -- (Optional) The prodState to  set  on  the
201727                       device. If none, defaults to 1000 ( production )
201728
201729              CLI Example:
201730                     salt '*' zenoss.add_device
201731
201732       salt.modules.zenoss.device_exists(device=None)
201733              Check to see if a device already exists in Zenoss.
201734
201735              Parameters
201736                     device -- (Optional) Will use the grain 'fqdn' by default
201737
201738              CLI Example:
201739                     salt '*' zenoss.device_exists
201740
201741       salt.modules.zenoss.find_device(device=None)
201742              Find a device in Zenoss. If device not found, returns None.
201743
201744              Parameters
201745                     device -- (Optional) Will use the grain 'fqdn' by default
201746
201747              CLI Example:
201748                     salt '*' zenoss.find_device
201749
201750       salt.modules.zenoss.set_prod_state(prod_state, device=None)
201751              A function to set the prod_state in zenoss.
201752
201753              Parameters
201754
201755                     · prod_state -- (Required) Integer value of the state
201756
201757                     · device  --  (Optional)  Will  use  the  grain 'fqdn' by
201758                       default.
201759
201760              CLI Example:
201761                     salt zenoss.set_prod_state 1000 hostname
201762
201763   salt.modules.zfs
201764       Module for running ZFS command
201765
201766       codeauthor
201767              Nitin   Madhok   <nmadhok@clemson.edu>,   Jorge   Schrauwen   <‐
201768              sjorge@blackdot.be>
201769
201770       maintainer
201771              Jorge Schrauwen <sjorge@blackdot.be>
201772
201773       maturity
201774              new
201775
201776       depends
201777              salt.utils.zfs
201778
201779       platform
201780              illumos,freebsd,linux
201781
201782       Changed  in  version  2018.3.1:  Big refactor to remove duplicate code,
201783       better type converions and improved consistancy in output.
201784
201785
201786       salt.modules.zfs.bookmark(snapshot, bookmark)
201787              Creates a bookmark of the given snapshot
201788
201789              NOTE:
201790                 Bookmarks mark the point in time when the snapshot  was  cre‐
201791                 ated,  and  can  be  used as the incremental source for a zfs
201792                 send command.
201793
201794                 This feature must be  enabled  to  be  used.  See  zpool-fea‐
201795                 tures(5)  for  details on ZFS feature flags and the bookmarks
201796                 feature.
201797
201798              snapshot
201799                     string name of snapshot to bookmark
201800
201801              bookmark
201802                     string name of bookmark
201803
201804              New in version 2016.3.0.
201805
201806
201807              CLI Example:
201808
201809                 salt '*' zfs.bookmark myzpool/mydataset@yesterday myzpool/mydataset#complete
201810
201811       salt.modules.zfs.clone(name_a, name_b, **kwargs)
201812              Creates a clone of the given snapshot.
201813
201814              name_a string name of snapshot
201815
201816              name_b string name of filesystem or volume
201817
201818              create_parent
201819                     boolean creates all the non-existing parent datasets. any
201820                     property  specified  on  the  command  line  using the -o
201821                     option is ignored.
201822
201823              properties
201824                     dict additional zfs properties (-o)
201825
201826              NOTE:
201827                 ZFS properties can be specified at the time  of  creation  of
201828                 the  filesystem  by  passing  an  additional  argument called
201829                 "properties" and specifying the properties with their respec‐
201830                 tive values in the form of a python dictionary:
201831
201832                     properties="{'property1': 'value1', 'property2': 'value2'}"
201833
201834              New in version 2016.3.0.
201835
201836
201837              CLI Example:
201838
201839                 salt '*' zfs.clone myzpool/mydataset@yesterday myzpool/mydataset_yesterday
201840
201841       salt.modules.zfs.create(name, **kwargs)
201842              Create a ZFS File System.
201843
201844              name   string name of dataset or volume
201845
201846              volume_size
201847                     string  if specified, a zvol will be created instead of a
201848                     dataset
201849
201850              sparse boolean create sparse volume
201851
201852              create_parent
201853                     boolean creates all the non-existing parent datasets. any
201854                     property  specified  on  the  command  line  using the -o
201855                     option is ignored.
201856
201857              properties
201858                     dict additional zfs properties (-o)
201859
201860              NOTE:
201861                 ZFS properties can be specified at the time  of  creation  of
201862                 the  filesystem  by  passing  an  additional  argument called
201863                 "properties" and specifying the properties with their respec‐
201864                 tive values in the form of a python dictionary:
201865
201866                     properties="{'property1': 'value1', 'property2': 'value2'}"
201867
201868              New in version 2015.5.0.
201869
201870
201871              CLI Example:
201872
201873                 salt '*' zfs.create myzpool/mydataset [create_parent=True|False]
201874                 salt '*' zfs.create myzpool/mydataset properties="{'mountpoint': '/export/zfs', 'sharenfs': 'on'}"
201875                 salt '*' zfs.create myzpool/volume volume_size=1G [sparse=True|False]`
201876                 salt '*' zfs.create myzpool/volume volume_size=1G properties="{'volblocksize': '512'}" [sparse=True|False]
201877
201878       salt.modules.zfs.destroy(name, **kwargs)
201879              Destroy a ZFS File System.
201880
201881              name   string name of dataset, volume, or snapshot
201882
201883              force  boolean  force  an  unmount of any file systems using the
201884                     unmount -f command.
201885
201886              recursive
201887                     boolean recursively destroy all children. (-r)
201888
201889              recursive_all
201890                     boolean recursively  destroy  all  dependents,  including
201891                     cloned file systems outside the target hierarchy. (-R)
201892
201893              WARNING:
201894                 watch out when using recursive and recursive_all
201895
201896              New in version 2015.5.0.
201897
201898
201899              CLI Example:
201900
201901                 salt '*' zfs.destroy myzpool/mydataset [force=True|False]
201902
201903       salt.modules.zfs.diff(name_a, name_b=None, **kwargs)
201904              Display  the difference between a snapshot of a given filesystem
201905              and another snapshot of that filesystem from a later time or the
201906              current contents of the filesystem.
201907
201908              name_a string name of snapshot
201909
201910              name_b string (optional) name of snapshot or filesystem
201911
201912              show_changetime
201913                     boolean display the path's inode change time as the first
201914                     column of output. (default = True)
201915
201916              show_indication
201917                     boolean display  an  indication  of  the  type  of  file.
201918                     (default = True)
201919
201920              parsable
201921                     boolean  if  true  we don't parse the timestamp to a more
201922                     readable date (default = True)
201923
201924              New in version 2016.3.0.
201925
201926
201927              CLI Example:
201928
201929                 salt '*' zfs.diff myzpool/mydataset@yesterday myzpool/mydataset
201930
201931       salt.modules.zfs.exists(name, **kwargs)
201932              Check if a ZFS filesystem or volume or snapshot exists.
201933
201934              name   string name of dataset
201935
201936              type   string also check if dataset is of a certain type,  valid
201937                     choices  are:  filesystem, snapshot, volume, bookmark, or
201938                     all.
201939
201940              New in version 2015.5.0.
201941
201942
201943              CLI Example:
201944
201945                 salt '*' zfs.exists myzpool/mydataset
201946                 salt '*' zfs.exists myzpool/myvolume type=volume
201947
201948       salt.modules.zfs.get(*dataset, **kwargs)
201949              Displays properties for the given datasets.
201950
201951              dataset
201952                     string name of snapshot(s), filesystem(s), or volume(s)
201953
201954              properties
201955                     string  comma-separated  list  of  properties  to   list,
201956                     defaults to all
201957
201958              recursive
201959                     boolean recursively list children
201960
201961              depth  int recursively list children to depth
201962
201963              fields string  comma-separated  list  of  fields to include, the
201964                     name and property field will always be added
201965
201966              type   string comma-separated list of types  to  display,  where
201967                     type is one of filesystem, snapshot, volume, bookmark, or
201968                     all.
201969
201970              source string comma-separated list of sources to  display.  Must
201971                     be  one of the following: local, default, inherited, tem‐
201972                     porary, and none. The default value is all sources.
201973
201974              parsable
201975                     boolean  display  numbers  in  parsable  (exact)   values
201976                     (default = True)
201977
201978              NOTE:
201979                 If no datasets are specified, then the command displays prop‐
201980                 erties for all datasets on the system.
201981
201982              New in version 2016.3.0.
201983
201984
201985              CLI Example:
201986
201987                 salt '*' zfs.get
201988                 salt '*' zfs.get myzpool/mydataset [recursive=True|False]
201989                 salt '*' zfs.get myzpool/mydataset properties="sharenfs,mountpoint" [recursive=True|False]
201990                 salt '*' zfs.get myzpool/mydataset myzpool/myotherdataset properties=available fields=value depth=1
201991
201992       salt.modules.zfs.hold(tag, *snapshot, **kwargs)
201993              Adds a single reference, named with the  tag  argument,  to  the
201994              specified snapshot or snapshots.
201995
201996              NOTE:
201997                 Each  snapshot  has  its  own tag namespace, and tags must be
201998                 unique within that space.
201999
202000                 If a hold exists on a  snapshot,  attempts  to  destroy  that
202001                 snapshot by using the zfs destroy command return EBUSY.
202002
202003              tag    string name of tag
202004
202005              snapshot
202006                     string name of snapshot(s)
202007
202008              recursive
202009                     boolean  specifies  that  a  hold  with  the given tag is
202010                     applied recursively to the snapshots  of  all  descendent
202011                     file systems.
202012
202013              New in version 2016.3.0.
202014
202015
202016              Changed in version 2018.3.1.
202017
202018
202019              WARNING:
202020                 As  of  2018.3.1  the  tag  parameter  no  longer  accepts  a
202021                 comma-separated value.  It's is now possible to create a  tag
202022                 that contains a comma, this was impossible before.
202023
202024              CLI Example:
202025
202026                 salt '*' zfs.hold mytag myzpool/mydataset@mysnapshot [recursive=True]
202027                 salt '*' zfs.hold mytag myzpool/mydataset@mysnapshot myzpool/mydataset@myothersnapshot
202028
202029       salt.modules.zfs.holds(snapshot, **kwargs)
202030              Lists  all  existing  user  references for the given snapshot or
202031              snapshots.
202032
202033              snapshot
202034                     string name of snapshot
202035
202036              recursive
202037                     boolean lists the holds that are set on the named descen‐
202038                     dent snapshots also.
202039
202040              New in version 2016.3.0.
202041
202042
202043              CLI Example:
202044
202045                 salt '*' zfs.holds myzpool/mydataset@baseline
202046
202047       salt.modules.zfs.inherit(prop, name, **kwargs)
202048              Clears the specified property
202049
202050              prop   string name of property
202051
202052              name   string name of the filesystem, volume, or snapshot
202053
202054              recursive
202055                     boolean  recursively  inherit  the given property for all
202056                     children.
202057
202058              revert boolean revert the property to the received value if  one
202059                     exists;  otherwise  operate  as  if the -S option was not
202060                     specified.
202061
202062              New in version 2016.3.0.
202063
202064
202065              CLI Example:
202066
202067                 salt '*' zfs.inherit canmount myzpool/mydataset [recursive=True|False]
202068
202069       salt.modules.zfs.list_(name=None, **kwargs)
202070              Return a list of all datasets or a specified dataset on the sys‐
202071              tem  and  the  values  of their used, available, referenced, and
202072              mountpoint properties.
202073
202074              name   string name of dataset, volume, or snapshot
202075
202076              recursive
202077                     boolean recursively list children
202078
202079              depth  int limit recursion to depth
202080
202081              properties
202082                     string comma-separated list of properties  to  list,  the
202083                     name property will always be added
202084
202085              type   string  comma-separated  list  of types to display, where
202086                     type is one of filesystem, snapshot, volume, bookmark, or
202087                     all.
202088
202089              sort   string property to sort on (default = name)
202090
202091              order  string   [ascending|descending]  sort  order  (default  =
202092                     ascending)
202093
202094              parsable
202095                     boolean display numbers in parsable (exact) values
202096
202097              New in version 2015.5.0.
202098
202099
202100              CLI Example:
202101
202102                 salt '*' zfs.list
202103                 salt '*' zfs.list myzpool/mydataset [recursive=True|False]
202104                 salt '*' zfs.list myzpool/mydataset properties="sharenfs,mountpoint"
202105
202106       salt.modules.zfs.list_mount()
202107              List mounted zfs filesystems
202108
202109              New in version 2018.3.1.
202110
202111
202112              CLI Example:
202113
202114                 salt '*' zfs.list_mount
202115
202116       salt.modules.zfs.mount(name=None, **kwargs)
202117              Mounts ZFS file systems
202118
202119              name   string name of the filesystem, having this  set  to  None
202120                     will mount all filesystems. (this is the default)
202121
202122              overlay
202123                     boolean perform an overlay mount.
202124
202125              options
202126                     string  optional comma-separated list of mount options to
202127                     use temporarily for the duration of the mount.
202128
202129              New in version 2016.3.0.
202130
202131
202132              Changed in version 2018.3.1.
202133
202134
202135              WARNING:
202136                 Passing '-a' as name is deprecated and  will  be  removed  in
202137                 Sodium.
202138
202139              CLI Example:
202140
202141                 salt '*' zfs.mount
202142                 salt '*' zfs.mount myzpool/mydataset
202143                 salt '*' zfs.mount myzpool/mydataset options=ro
202144
202145       salt.modules.zfs.promote(name)
202146              Promotes  a  clone  file system to no longer be dependent on its
202147              "origin" snapshot.
202148
202149              NOTE:
202150                 This makes it possible to destroy the file  system  that  the
202151                 clone  was  created  from.  The clone parent-child dependency
202152                 relationship is reversed, so  that  the  origin  file  system
202153                 becomes a clone of the specified file system.
202154
202155                 The  snapshot  that was cloned, and any snapshots previous to
202156                 this snapshot, are now owned by the promoted clone. The space
202157                 they  use  moves  from the origin file system to the promoted
202158                 clone, so enough space must be available to accommodate these
202159                 snapshots.  No  new  space is consumed by this operation, but
202160                 the space accounting is adjusted. The promoted clone must not
202161                 have  any  conflicting  snapshot names of its own. The rename
202162                 subcommand can be used to rename any conflicting snapshots.
202163
202164              name   string name of clone-filesystem
202165
202166              New in version 2016.3.0.
202167
202168
202169              CLI Example:
202170
202171                 salt '*' zfs.promote myzpool/myclone
202172
202173       salt.modules.zfs.release(tag, *snapshot, **kwargs)
202174              Removes a single reference, named with the  tag  argument,  from
202175              the specified snapshot or snapshots.
202176
202177              NOTE:
202178                 The  tag  must  already  exist  for each snapshot.  If a hold
202179                 exists on a snapshot, attempts to destroy  that  snapshot  by
202180                 using the zfs destroy command return EBUSY.
202181
202182              tag    string name of tag
202183
202184              snapshot
202185                     string name of snapshot(s)
202186
202187              recursive
202188                     boolean recursively releases a hold with the given tag on
202189                     the snapshots of all descendent file systems.
202190
202191              New in version 2016.3.0.
202192
202193
202194              Changed in version 2018.3.1.
202195
202196
202197              WARNING:
202198                 As  of  2018.3.1  the  tag  parameter  no  longer  accepts  a
202199                 comma-separated  value.  It's is now possible to create a tag
202200                 that contains a comma, this was impossible before.
202201
202202              CLI Example:
202203
202204                 salt '*' zfs.release mytag myzpool/mydataset@mysnapshot [recursive=True]
202205                 salt '*' zfs.release mytag myzpool/mydataset@mysnapshot myzpool/mydataset@myothersnapshot
202206
202207       salt.modules.zfs.rename(name, new_name, **kwargs)
202208              Rename or Relocate a ZFS File System.
202209
202210              name   string name of dataset, volume, or snapshot
202211
202212              new_name
202213                     string new name of dataset, volume, or snapshot
202214
202215              force  boolean force unmount any filesystems  that  need  to  be
202216                     unmounted in the process.
202217
202218              create_parent
202219                     boolean  creates  all  the  nonexistent  parent datasets.
202220                     Datasets created in this manner are automatically mounted
202221                     according to the mountpoint property inherited from their
202222                     parent.
202223
202224              recursive
202225                     boolean recursively rename the snapshots of  all  descen‐
202226                     dent  datasets.   snapshots are the only dataset that can
202227                     be renamed recursively.
202228
202229              New in version 2015.5.0.
202230
202231
202232              CLI Example:
202233
202234                 salt '*' zfs.rename myzpool/mydataset myzpool/renameddataset
202235
202236       salt.modules.zfs.rollback(name, **kwargs)
202237              Roll back the given dataset to a previous snapshot.
202238
202239              name   string name of snapshot
202240
202241              recursive
202242                     boolean destroy any snapshots and bookmarks  more  recent
202243                     than the one specified.
202244
202245              recursive_all
202246                     boolean  destroy any more recent snapshots and bookmarks,
202247                     as well as any clones of those snapshots.
202248
202249              force  boolean used with the -R option to force  an  unmount  of
202250                     any clone file systems that are to be destroyed.
202251
202252              WARNING:
202253                 When  a  dataset  is  rolled  back, all data that has changed
202254                 since the snapshot is discarded, and the dataset  reverts  to
202255                 the  state  at the time of the snapshot. By default, the com‐
202256                 mand refuses to roll back to a snapshot other than  the  most
202257                 recent one.
202258
202259                 In  order  to do so, all intermediate snapshots and bookmarks
202260                 must be destroyed by specifying the -r option.
202261
202262              New in version 2016.3.0.
202263
202264
202265              CLI Example:
202266
202267                 salt '*' zfs.rollback myzpool/mydataset@yesterday
202268
202269       salt.modules.zfs.set(*dataset, **kwargs)
202270              Sets the property or list of properties to  the  given  value(s)
202271              for each dataset.
202272
202273              dataset
202274                     string name of snapshot(s), filesystem(s), or volume(s)
202275
202276              properties
202277                     string additional zfs properties pairs
202278
202279              NOTE:
202280                 properties are passed as key-value pairs. e.g.
202281                     compression=off
202282
202283              NOTE:
202284                 Only some properties can be edited.
202285
202286                 See the Properties section for more information on what prop‐
202287                 erties can be set and acceptable values.
202288
202289                 Numeric values can be specified as  exact  values,  or  in  a
202290                 human-readable form with a suffix of B, K, M, G, T, P, E (for
202291                 bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes,
202292                 or exabytes respectively).
202293
202294              New in version 2016.3.0.
202295
202296
202297              CLI Example:
202298
202299                 salt '*' zfs.set myzpool/mydataset compression=off
202300                 salt '*' zfs.set myzpool/mydataset myzpool/myotherdataset compression=off
202301                 salt '*' zfs.set myzpool/mydataset myzpool/myotherdataset compression=lz4 canmount=off
202302
202303       salt.modules.zfs.snapshot(*snapshot, **kwargs)
202304              Creates snapshots with the given names.
202305
202306              snapshot
202307                     string name of snapshot(s)
202308
202309              recursive
202310                     boolean  recursively  create  snapshots of all descendent
202311                     datasets.
202312
202313              properties
202314                     dict additional zfs properties (-o)
202315
202316              NOTE:
202317                 ZFS properties can be specified at the time  of  creation  of
202318                 the  filesystem  by  passing  an  additional  argument called
202319                 "properties" and specifying the properties with their respec‐
202320                 tive values in the form of a python dictionary:
202321
202322                     properties="{'property1': 'value1', 'property2': 'value2'}"
202323
202324              New in version 2016.3.0.
202325
202326
202327              CLI Example:
202328
202329                 salt '*' zfs.snapshot myzpool/mydataset@yesterday [recursive=True]
202330                 salt '*' zfs.snapshot myzpool/mydataset@yesterday myzpool/myotherdataset@yesterday [recursive=True]
202331
202332       salt.modules.zfs.unmount(name, **kwargs)
202333              Unmounts ZFS file systems
202334
202335              name   string  name  of  the  filesystem,  you  can  use None to
202336                     unmount all mounted filesystems.
202337
202338              force  boolean forcefully unmount the file system, even if it is
202339                     currently in use.
202340
202341              WARNING:
202342                 Using -a for the name parameter will probably break your sys‐
202343                 tem, unless your rootfs is not on zfs.
202344
202345              New in version 2016.3.0.
202346
202347
202348              Changed in version 2018.3.1.
202349
202350
202351              WARNING:
202352                 Passing '-a' as name is deprecated and  will  be  removed  in
202353                 Sodium.
202354
202355              CLI Example:
202356
202357                 salt '*' zfs.unmount myzpool/mydataset [force=True|False]
202358
202359   salt.modules.zk_concurrency
202360   Concurrency controls in zookeeper
202361       depends
202362              kazoo
202363
202364       configuration
202365              See salt.modules.zookeeper for setup instructions.
202366
202367       This module allows you to acquire and release a slot. This is primarily
202368       useful for ensureing that no more than N hosts take a  specific  action
202369       at once. This can also be used to coordinate between masters.
202370
202371       salt.modules.zk_concurrency.lock(path,  zk_hosts=None, identifier=None,
202372       max_concurrency=1,  timeout=None,  ephemeral_lease=False,  force=False,
202373       profile=None,      scheme=None,      username=None,      password=None,
202374       default_acl=None)
202375              Get lock (with optional timeout)
202376
202377              path   The path in zookeeper where the lock is
202378
202379              zk_hosts
202380                     zookeeper connect string
202381
202382              identifier
202383                     Name to identify this minion, if unspecified defaults  to
202384                     the hostname
202385
202386              max_concurrency
202387                     Maximum number of lock holders
202388
202389              timeout
202390                     timeout  to  wait for the lock. A None timeout will block
202391                     forever
202392
202393              ephemeral_lease
202394                     Whether the locks in zookeper should be ephemeral
202395
202396              force  Forcibly acquire the lock regardless of available slots
202397
202398              Example:
202399
202400                 salt minion zk_concurrency.lock /lock/path host1:1234,host2:1234
202401
202402       salt.modules.zk_concurrency.lock_holders(path,  zk_hosts=None,  identi‐
202403       fier=None, max_concurrency=1, timeout=None, ephemeral_lease=False, pro‐
202404       file=None, scheme=None, username=None, password=None, default_acl=None)
202405              Return an un-ordered list of lock holders
202406
202407              path   The path in zookeeper where the lock is
202408
202409              zk_hosts
202410                     zookeeper connect string
202411
202412              identifier
202413                     Name to identify this minion, if unspecified defaults  to
202414                     hostname
202415
202416              max_concurrency
202417                     Maximum number of lock holders
202418
202419              timeout
202420                     timeout  to  wait for the lock. A None timeout will block
202421                     forever
202422
202423              ephemeral_lease
202424                     Whether the locks in zookeper should be ephemeral
202425
202426              Example:
202427
202428                 salt minion zk_concurrency.lock_holders /lock/path host1:1234,host2:1234
202429
202430       salt.modules.zk_concurrency.party_members(path,          zk_hosts=None,
202431       min_nodes=1,  blocking=False, profile=None, scheme=None, username=None,
202432       password=None, default_acl=None)
202433              Get the List of identifiers in a  particular  party,  optionally
202434              waiting for the specified minimum number of nodes (min_nodes) to
202435              appear
202436
202437              path   The path in zookeeper where the lock is
202438
202439              zk_hosts
202440                     zookeeper connect string
202441
202442              min_nodes
202443                     The minimum number of nodes expected to be present in the
202444                     party
202445
202446              blocking
202447                     The   boolean  indicating  if  we  need  to  block  until
202448                     min_nodes are available
202449
202450              Example:
202451
202452                 salt minion zk_concurrency.party_members /lock/path host1:1234,host2:1234
202453                 salt minion zk_concurrency.party_members /lock/path host1:1234,host2:1234 min_nodes=3 blocking=True
202454
202455       salt.modules.zk_concurrency.unlock(path,     zk_hosts=None,     identi‐
202456       fier=None,  max_concurrency=1, ephemeral_lease=False, scheme=None, pro‐
202457       file=None, username=None, password=None, default_acl=None)
202458              Remove lease from semaphore
202459
202460              path   The path in zookeeper where the lock is
202461
202462              zk_hosts
202463                     zookeeper connect string
202464
202465              identifier
202466                     Name to identify this minion, if unspecified defaults  to
202467                     hostname
202468
202469              max_concurrency
202470                     Maximum number of lock holders
202471
202472              timeout
202473                     timeout  to  wait for the lock. A None timeout will block
202474                     forever
202475
202476              ephemeral_lease
202477                     Whether the locks in zookeper should be ephemeral
202478
202479              Example:
202480
202481                 salt minion zk_concurrency.unlock /lock/path host1:1234,host2:1234
202482
202483   salt.modules.znc
202484       znc - An advanced IRC bouncer
202485
202486       New in version 2014.7.0.
202487
202488
202489       Provides an interface to basic ZNC functionality
202490
202491       salt.modules.znc.buildmod(*modules)
202492              Build module using znc-buildmod
202493
202494              CLI Example:
202495
202496                 salt '*' znc.buildmod module.cpp [...]
202497
202498       salt.modules.znc.dumpconf()
202499              Write the active configuration state to config file
202500
202501              CLI Example:
202502
202503                 salt '*' znc.dumpconf
202504
202505       salt.modules.znc.rehashconf()
202506              Rehash the active configuration state from config file
202507
202508              CLI Example:
202509
202510                 salt '*' znc.rehashconf
202511
202512       salt.modules.znc.version()
202513              Return server version from znc --version
202514
202515              CLI Example:
202516
202517                 salt '*' znc.version
202518
202519   salt.modules.zoneadm
202520       Module for Solaris 10's zoneadm
202521
202522       maintainer
202523              Jorge Schrauwen <sjorge@blackdot.be>
202524
202525       maturity
202526              new
202527
202528       platform
202529              OmniOS,OpenIndiana,SmartOS,OpenSolaris,Solaris 10
202530
202531       New in version 2017.7.0.
202532
202533
202534       WARNING:
202535          Oracle Solaris 11's zoneadm is not supported by this module!
202536
202537       salt.modules.zoneadm.attach(zone, force=False, brand_opts=None)
202538              Attach the specified zone.
202539
202540              zone   string name of the zone
202541
202542              force  boolean force the zone into the "installed" state with no
202543                     validation
202544
202545              brand_opts
202546                     string brand specific options to pass
202547
202548              CLI Example:
202549
202550                 salt '*' zoneadm.attach lawrence
202551                 salt '*' zoneadm.attach lawrence True
202552
202553       salt.modules.zoneadm.boot(zone,       single=False,       altinit=None,
202554       smf_options=None)
202555              Boot (or activate) the specified zone.
202556
202557              zone   string name or uuid of the zone
202558
202559              single boolean  boots  only  to  milestone   svc:/milestone/sin‐
202560                     gle-user:default.
202561
202562              altinit
202563                     string  valid path to an alternative executable to be the
202564                     primordial process.
202565
202566              smf_options
202567                     string include two categories of options to control boot‐
202568                     ing behavior of the service management facility: recovery
202569                     options and messages options.
202570
202571              CLI Example:
202572
202573                 salt '*' zoneadm.boot clementine
202574                 salt '*' zoneadm.boot maeve single=True
202575                 salt '*' zoneadm.boot teddy single=True smf_options=verbose
202576
202577       salt.modules.zoneadm.clone(zone, source, snapshot=None)
202578              Install a zone by copying an existing installed zone.
202579
202580              zone   string name of the zone
202581
202582              source string zone to clone from
202583
202584              snapshot
202585                     string optional name of snapshot to use as source
202586
202587              CLI Example:
202588
202589                 salt '*' zoneadm.clone clementine dolores
202590
202591       salt.modules.zoneadm.detach(zone)
202592              Detach the specified zone.
202593
202594              zone   string name or uuid of the zone
202595
202596              CLI Example:
202597
202598                 salt '*' zoneadm.detach kissy
202599
202600       salt.modules.zoneadm.halt(zone)
202601              Halt the specified zone.
202602
202603              zone   string name or uuid of the zone
202604
202605              NOTE:
202606                 To cleanly shutdown the zone use the shutdown function.
202607
202608              CLI Example:
202609
202610                 salt '*' zoneadm.halt hector
202611
202612       salt.modules.zoneadm.install(zone, nodataset=False, brand_opts=None)
202613              Install the specified zone from the system.
202614
202615              zone   string name of the zone
202616
202617              nodataset
202618                     boolean do not create a ZFS file system
202619
202620              brand_opts
202621                     string brand specific options to pass
202622
202623              CLI Example:
202624
202625                 salt '*' zoneadm.install dolores
202626                 salt '*' zoneadm.install teddy True
202627
202628       salt.modules.zoneadm.list_zones(verbose=True, installed=False,  config‐
202629       ured=False, hide_global=True)
202630              List all zones
202631
202632              verbose
202633                     boolean display additional zone information
202634
202635              installed
202636                     boolean include installed zones in output
202637
202638              configured
202639                     boolean include configured zones in output
202640
202641              hide_global
202642                     boolean do not include global zone
202643
202644              CLI Example:
202645
202646                 salt '*' zoneadm.list
202647
202648       salt.modules.zoneadm.move(zone, zonepath)
202649              Move zone to new zonepath.
202650
202651              zone   string name or uuid of the zone
202652
202653              zonepath
202654                     string new zonepath
202655
202656              CLI Example:
202657
202658                 salt '*' zoneadm.move meave /sweetwater/meave
202659
202660       salt.modules.zoneadm.ready(zone)
202661              Prepares a zone for running applications.
202662
202663              zone   string name or uuid of the zone
202664
202665              CLI Example:
202666
202667                 salt '*' zoneadm.ready clementine
202668
202669       salt.modules.zoneadm.reboot(zone,      single=False,      altinit=None,
202670       smf_options=None)
202671              Restart the zone. This is equivalent to a halt boot sequence.
202672
202673              zone   string name or uuid of the zone
202674
202675              single boolean  boots  only  to  milestone   svc:/milestone/sin‐
202676                     gle-user:default.
202677
202678              altinit
202679                     string  valid path to an alternative executable to be the
202680                     primordial process.
202681
202682              smf_options
202683                     string include two categories of options to control boot‐
202684                     ing behavior of the service management facility: recovery
202685                     options and messages options.
202686
202687              CLI Example:
202688
202689                 salt '*' zoneadm.reboot dolores
202690                 salt '*' zoneadm.reboot teddy single=True
202691
202692       salt.modules.zoneadm.shutdown(zone,     reboot=False,     single=False,
202693       altinit=None, smf_options=None)
202694              Gracefully shutdown the specified zone.
202695
202696              zone   string name or uuid of the zone
202697
202698              reboot boolean  reboot  zone after shutdown (equivalent of shut‐
202699                     down -i6 -g0 -y)
202700
202701              single boolean  boots  only  to  milestone   svc:/milestone/sin‐
202702                     gle-user:default.
202703
202704              altinit
202705                     string  valid path to an alternative executable to be the
202706                     primordial process.
202707
202708              smf_options
202709                     string include two categories of options to control boot‐
202710                     ing behavior of the service management facility: recovery
202711                     options and messages options.
202712
202713              CLI Example:
202714
202715                 salt '*' zoneadm.shutdown peter
202716                 salt '*' zoneadm.shutdown armistice reboot=True
202717
202718       salt.modules.zoneadm.uninstall(zone)
202719              Uninstall the specified zone from the system.
202720
202721              zone   string name or uuid of the zone
202722
202723              WARNING:
202724                 The -F flag is always used to avoid the  prompts  when  unin‐
202725                 stalling.
202726
202727              CLI Example:
202728
202729                 salt '*' zoneadm.uninstall teddy
202730
202731       salt.modules.zoneadm.verify(zone)
202732              Check  to  make sure the configuration of the specified zone can
202733              safely be installed on the machine.
202734
202735              zone   string name of the zone
202736
202737              CLI Example:
202738
202739                 salt '*' zoneadm.verify dolores
202740
202741   salt.modules.zonecfg
202742       Module for Solaris 10's zonecfg
202743
202744       maintainer
202745              Jorge Schrauwen <sjorge@blackdot.be>
202746
202747       maturity
202748              new
202749
202750       platform
202751              OmniOS,OpenIndiana,SmartOS,OpenSolaris,Solaris 10
202752
202753       depend salt.modules.file
202754
202755       New in version 2017.7.0.
202756
202757
202758       WARNING:
202759          Oracle Solaris 11's zonecfg is not supported by this module!
202760
202761       salt.modules.zonecfg.add_resource(zone, resource_type, **kwargs)
202762              Add a resource
202763
202764              zone   string name of zone
202765
202766              resource_type
202767                     string type of resource
202768
202769              kwargs string|int|...  resource properties
202770
202771              CLI Example:
202772
202773                 salt '*' zonecfg.add_resource tallgeese rctl name=zone.max-locked-memory value='(priv=privileged,limit=33554432,action=deny)'
202774
202775       salt.modules.zonecfg.clear_property(zone, key)
202776              Clear a property
202777
202778              zone   string name of zone
202779
202780              key    string name of property
202781
202782              CLI Example:
202783
202784                 salt '*' zonecfg.clear_property deathscythe cpu-shares
202785
202786       salt.modules.zonecfg.create(zone, brand, zonepath, force=False)
202787              Create an in-memory configuration for the specified zone.
202788
202789              zone   string name of zone
202790
202791              brand  string brand name
202792
202793              zonepath
202794                     string path of zone
202795
202796              force  boolean overwrite configuration
202797
202798              CLI Example:
202799
202800                 salt '*' zonecfg.create deathscythe ipkg /zones/deathscythe
202801
202802       salt.modules.zonecfg.create_from_template(zone, template)
202803              Create an in-memory configuration from a template for the speci‐
202804              fied zone.
202805
202806              zone   string name of zone
202807
202808              template
202809                     string name of template
202810
202811              WARNING:
202812                 existing config will be overwritten!
202813
202814              CLI Example:
202815
202816                 salt '*' zonecfg.create_from_template leo tallgeese
202817
202818       salt.modules.zonecfg.delete(zone)
202819              Delete  the specified configuration from memory and stable stor‐
202820              age.
202821
202822              zone   string name of zone
202823
202824              CLI Example:
202825
202826                 salt '*' zonecfg.delete epyon
202827
202828       salt.modules.zonecfg.export(zone, path=None)
202829              Export the configuration from memory to stable storage.
202830
202831              zone   string name of zone
202832
202833              path   string path of file to export to
202834
202835              CLI Example:
202836
202837                 salt '*' zonecfg.export epyon
202838                 salt '*' zonecfg.export epyon /zones/epyon.cfg
202839
202840       salt.modules.zonecfg.import_(zone, path)
202841              Import the configuration to memory from stable storage.
202842
202843              zone   string name of zone
202844
202845              path   string path of file to export to
202846
202847              CLI Example:
202848
202849                 salt '*' zonecfg.import epyon /zones/epyon.cfg
202850
202851       salt.modules.zonecfg.info(zone, show_all=False)
202852              Display the configuration from memory
202853
202854              zone   string name of zone
202855
202856              show_all
202857                     boolean also include calculated values  like  capped-cpu,
202858                     cpu-shares, ...
202859
202860              CLI Example:
202861
202862                 salt '*' zonecfg.info tallgeese
202863
202864       salt.modules.zonecfg.remove_resource(zone, resource_type, resource_key,
202865       resource_value)
202866              Remove a resource
202867
202868              zone   string name of zone
202869
202870              resource_type
202871                     string type of resource
202872
202873              resource_key
202874                     string key for resource selection
202875
202876              resource_value
202877                     string value for resource selection
202878
202879              NOTE:
202880                 Set resource_selector  to  None  for  resource  that  do  not
202881                 require one.
202882
202883              CLI Example:
202884
202885                 salt '*' zonecfg.remove_resource tallgeese rctl name zone.max-locked-memory
202886
202887       salt.modules.zonecfg.set_property(zone, key, value)
202888              Set a property
202889
202890              zone   string name of zone
202891
202892              key    string name of property
202893
202894              value  string value of property
202895
202896              CLI Example:
202897
202898                 salt '*' zonecfg.set_property deathscythe cpu-shares 100
202899
202900       salt.modules.zonecfg.update_resource(zone,               resource_type,
202901       resource_selector, **kwargs)
202902              Add a resource
202903
202904              zone   string name of zone
202905
202906              resource_type
202907                     string type of resource
202908
202909              resource_selector
202910                     string unique resource identifier
202911
202912              kwargs string|int|...  resource properties
202913
202914              NOTE:
202915                 Set resource_selector  to  None  for  resource  that  do  not
202916                 require one.
202917
202918              CLI Example:
202919
202920                 salt '*' zonecfg.update_resource tallgeese rctl name name=zone.max-locked-memory value='(priv=privileged,limit=33554432,action=deny)'
202921
202922   salt.modules.zookeeper
202923   Zookeeper Module
202924       maintainer
202925              SaltStack
202926
202927       maturity
202928              new
202929
202930       platform
202931              all
202932
202933       depends
202934              kazoo
202935
202936       New in version 2018.3.0.
202937
202938
202939   Configuration
202940       configuration
202941              This  module  is  not  usable  until the following are specified
202942              either in a pillar or in the minion's config file:
202943
202944                 zookeeper:
202945                   hosts: zoo1,zoo2,zoo3
202946                   default_acl:
202947                     - username: daniel
202948                       password: test
202949                       read: true
202950                       write: true
202951                       create: true
202952                       delete: true
202953                       admin: true
202954                   username: daniel
202955                   password: test
202956
202957              If  configuration  for  multiple   zookeeper   environments   is
202958              required,  they  can  be  set up as different configuration pro‐
202959              files. For example:
202960
202961                 zookeeper:
202962                   prod:
202963                     hosts: zoo1,zoo2,zoo3
202964                     default_acl:
202965                       - username: daniel
202966                         password: test
202967                         read: true
202968                         write: true
202969                         create: true
202970                         delete: true
202971                         admin: true
202972                     username: daniel
202973                     password: test
202974                   dev:
202975                     hosts:
202976                       - dev1
202977                       - dev2
202978                       - dev3
202979                     default_acl:
202980                       - username: daniel
202981                         password: test
202982                         read: true
202983                         write: true
202984                         create: true
202985                         delete: true
202986                         admin: true
202987                     username: daniel
202988                     password: test
202989
202990       salt.modules.zookeeper.create(path,        value=u'',        acls=None,
202991       ephemeral=False,    sequence=False,    makepath=False,    profile=None,
202992       hosts=None,      scheme=None,       username=None,       password=None,
202993       default_acl=None)
202994              Create Znode
202995
202996              path   path of znode to create
202997
202998              value  value to assign to znode (Default: '')
202999
203000              acls   list of acl dictionaries to be assigned (Default: None)
203001
203002              ephemeral
203003                     indicate node is ephemeral (Default: False)
203004
203005              sequence
203006                     indicate  node  is suffixed with a unique index (Default:
203007                     False)
203008
203009              makepath
203010                     Create parent paths if they do not exist (Default: False)
203011
203012              profile
203013                     Configured  Zookeeper  profile   to   authenticate   with
203014                     (Default: None)
203015
203016              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203017
203018              scheme Scheme to authenticate with (Default: 'digest')
203019
203020              username
203021                     Username to authenticate (Default: None)
203022
203023              password
203024                     Password to authenticate (Default: None)
203025
203026              default_acl
203027                     Default  acls to assign if a node is created in this con‐
203028                     nection (Default: None)
203029
203030              CLI Example:
203031
203032                 salt minion1 zookeeper.create /test/name daniel profile=prod
203033
203034       salt.modules.zookeeper.delete(path, version=-1,  recursive=False,  pro‐
203035       file=None,   hosts=None,   scheme=None,  username=None,  password=None,
203036       default_acl=None)
203037              Delete znode
203038
203039              path   path to znode
203040
203041              version
203042                     only delete  if  version  matches  (Default:  -1  (always
203043                     matches))
203044
203045              profile
203046                     Configured   Zookeeper   profile   to  authenticate  with
203047                     (Default: None)
203048
203049              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203050
203051              scheme Scheme to authenticate with (Default: 'digest')
203052
203053              username
203054                     Username to authenticate (Default: None)
203055
203056              password
203057                     Password to authenticate (Default: None)
203058
203059              default_acl
203060                     Default acls to assign if a node is created in this  con‐
203061                     nection (Default: None)
203062
203063              CLI Example:
203064
203065                 salt minion1 zookeeper.delete /test/name profile=prod
203066
203067       salt.modules.zookeeper.ensure_path(path,    acls=None,    profile=None,
203068       hosts=None,      scheme=None,       username=None,       password=None,
203069       default_acl=None)
203070              Ensure Znode path exists
203071
203072              path   Parent path to create
203073
203074              acls   list of acls dictionaries to be assigned (Default: None)
203075
203076              profile
203077                     Configured   Zookeeper   profile   to  authenticate  with
203078                     (Default: None)
203079
203080              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203081
203082              scheme Scheme to authenticate with (Default: 'digest')
203083
203084              username
203085                     Username to authenticate (Default: None)
203086
203087              password
203088                     Password to authenticate (Default: None)
203089
203090              default_acl
203091                     Default acls to assign if a node is created in this  con‐
203092                     nection (Default: None)
203093
203094              CLI Example:
203095
203096                 salt minion1 zookeeper.ensure_path /test/name profile=prod
203097
203098       salt.modules.zookeeper.exists(path,      profile=None,      hosts=None,
203099       scheme=None, username=None, password=None, default_acl=None)
203100              Check if path exists
203101
203102              path   path to check
203103
203104              profile
203105                     Configured  Zookeeper  profile   to   authenticate   with
203106                     (Default: None)
203107
203108              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203109
203110              scheme Scheme to authenticate with (Default: 'digest')
203111
203112              username
203113                     Username to authenticate (Default: None)
203114
203115              password
203116                     Password to authenticate (Default: None)
203117
203118              default_acl
203119                     Default  acls to assign if a node is created in this con‐
203120                     nection (Default: None)
203121
203122              CLI Example:
203123
203124                 salt minion1 zookeeper.exists /test/name profile=prod
203125
203126       salt.modules.zookeeper.get(path, profile=None, hosts=None, scheme=None,
203127       username=None, password=None, default_acl=None)
203128              Get value saved in znode
203129
203130              path   path to check
203131
203132              profile
203133                     Configured   Zookeeper   profile   to  authenticate  with
203134                     (Default: None)
203135
203136              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203137
203138              scheme Scheme to authenticate with (Default: 'digest')
203139
203140              username
203141                     Username to authenticate (Default: None)
203142
203143              password
203144                     Password to authenticate (Default: None)
203145
203146              default_acl
203147                     Default acls to assign if a node is created in this  con‐
203148                     nection (Default: None)
203149
203150              CLI Example:
203151
203152                 salt minion1 zookeeper.get /test/name profile=prod
203153
203154       salt.modules.zookeeper.get_acls(path,     profile=None,     hosts=None,
203155       scheme=None, username=None, password=None, default_acl=None)
203156              Get acls on a znode
203157
203158              path   path to znode
203159
203160              profile
203161                     Configured  Zookeeper  profile   to   authenticate   with
203162                     (Default: None)
203163
203164              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203165
203166              scheme Scheme to authenticate with (Default: 'digest')
203167
203168              username
203169                     Username to authenticate (Default: None)
203170
203171              password
203172                     Password to authenticate (Default: None)
203173
203174              default_acl
203175                     Default  acls to assign if a node is created in this con‐
203176                     nection (Default: None)
203177
203178              CLI Example:
203179
203180                 salt minion1 zookeeper.get_acls /test/name profile=prod
203181
203182       salt.modules.zookeeper.get_children(path,   profile=None,   hosts=None,
203183       scheme=None, username=None, password=None, default_acl=None)
203184              Get children in znode path
203185
203186              path   path to check
203187
203188              profile
203189                     Configured   Zookeeper   profile   to  authenticate  with
203190                     (Default: None)
203191
203192              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203193
203194              scheme Scheme to authenticate with (Default: 'digest')
203195
203196              username
203197                     Username to authenticate (Default: None)
203198
203199              password
203200                     Password to authenticate (Default: None)
203201
203202              default_acl
203203                     Default acls to assign if a node is created in this  con‐
203204                     nection (Default: None)
203205
203206              CLI Example:
203207
203208                 salt minion1 zookeeper.get_children /test profile=prod
203209
203210       salt.modules.zookeeper.make_digest_acl(username,  password, read=False,
203211       write=False, create=False, delete=False, admin=False, allperms=False)
203212              Generate acl object
203213
203214              NOTE:
203215                 This is heavily used in the zookeeper state and  probably  is
203216                 not useful as a cli module
203217
203218              username
203219                     username of acl
203220
203221              password
203222                     plain text password of acl
203223
203224              read   read acl
203225
203226              write  write acl
203227
203228              create create acl
203229
203230              delete delete acl
203231
203232              admin  admin acl
203233
203234              allperms
203235                     set all other acls to True
203236
203237              CLI Example:
203238
203239                 salt minion1 zookeeper.make_digest_acl username=daniel password=mypass allperms=True
203240
203241       salt.modules.zookeeper.set(path,   value,   version=-1,   profile=None,
203242       hosts=None,      scheme=None,       username=None,       password=None,
203243       default_acl=None)
203244              Update znode with new value
203245
203246              path   znode to update
203247
203248              value  value to set in znode
203249
203250              version
203251                     only update znode if version matches (Default: -1 (always
203252                     matches))
203253
203254              profile
203255                     Configured  Zookeeper  profile   to   authenticate   with
203256                     (Default: None)
203257
203258              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203259
203260              scheme Scheme to authenticate with (Default: 'digest')
203261
203262              username
203263                     Username to authenticate (Default: None)
203264
203265              password
203266                     Password to authenticate (Default: None)
203267
203268              default_acl
203269                     Default  acls to assign if a node is created in this con‐
203270                     nection (Default: None)
203271
203272              CLI Example:
203273
203274                 salt minion1 zookeeper.set /test/name gtmanfred profile=prod
203275
203276       salt.modules.zookeeper.set_acls(path, acls,  version=-1,  profile=None,
203277       hosts=None,       scheme=None,       username=None,      password=None,
203278       default_acl=None)
203279              Set acls on a znode
203280
203281              path   path to znode
203282
203283              acls   list of acl dictionaries to set on the znode
203284
203285              version
203286                     only set acls if version  matches  (Default:  -1  (always
203287                     matches))
203288
203289              profile
203290                     Configured   Zookeeper   profile   to  authenticate  with
203291                     (Default: None)
203292
203293              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
203294
203295              scheme Scheme to authenticate with (Default: 'digest')
203296
203297              username
203298                     Username to authenticate (Default: None)
203299
203300              password
203301                     Password to authenticate (Default: None)
203302
203303              default_acl
203304                     Default acls to assign if a node is created in this  con‐
203305                     nection (Default: None)
203306
203307              CLI Example:
203308
203309                 salt minion1 zookeeper.set_acls /test/name acls='[{"username": "gtmanfred", "password": "test", "all": True}]' profile=prod
203310
203311   salt.modules.zpool
203312       Module for running ZFS zpool command
203313
203314       codeauthor
203315              Nitin   Madhok   <nmadhok@clemson.edu>,   Jorge   Schrauwen   <‐
203316              sjorge@blackdot.be>
203317
203318       maintainer
203319              Jorge Schrauwen <sjorge@blackdot.be>
203320
203321       maturity
203322              new
203323
203324       depends
203325              salt.utils.zfs
203326
203327       platform
203328              illumos,freebsd,linux
203329
203330       Changed in version 2018.3.1: Big refactor  to  remove  duplicate  code,
203331       better type conversions and improved consistency in output.
203332
203333
203334       salt.modules.zpool.add(zpool, *vdevs, **kwargs)
203335              Add the specified vdev's to the given storage pool
203336
203337              zpool  string Name of storage pool
203338
203339              vdevs  string One or more devices
203340
203341              force  boolean Forces use of device
203342
203343              CLI Example:
203344
203345                 salt '*' zpool.add myzpool /path/to/vdev1 /path/to/vdev2 [...]
203346
203347       salt.modules.zpool.attach(zpool, device, new_device, force=False)
203348              Attach specified device to zpool
203349
203350              zpool  string Name of storage pool
203351
203352              device string Existing device name too
203353
203354              new_device
203355                     string New device name (to be attached to device)
203356
203357              force  boolean Forces use of device
203358
203359              CLI Example:
203360
203361                 salt '*' zpool.attach myzpool /path/to/vdev1 /path/to/vdev2 [...]
203362
203363       salt.modules.zpool.clear(zpool, device=None)
203364              Clears device errors in a pool.
203365
203366              WARNING:
203367                 The device must not be part of an active pool configuration.
203368
203369              zpool  string name of storage pool
203370
203371              device string (optional) specific device to clear
203372
203373              New in version 2018.3.1.
203374
203375
203376              CLI Example:
203377
203378                 salt '*' zpool.clear mypool
203379                 salt '*' zpool.clear mypool /path/to/dev
203380
203381       salt.modules.zpool.create(zpool, *vdevs, **kwargs)
203382              New in version 2015.5.0.
203383
203384
203385              Create  a  simple zpool, a mirrored zpool, a zpool having nested
203386              VDEVs, a hybrid zpool with cache, spare  and  log  drives  or  a
203387              zpool with RAIDZ-1, RAIDZ-2 or RAIDZ-3
203388
203389              zpool  string Name of storage pool
203390
203391              vdevs  string One or move devices
203392
203393              force  boolean  Forces  use of vdevs, even if they appear in use
203394                     or specify a conflicting replication level.
203395
203396              mountpoint
203397                     string Sets the mount point for the root dataset
203398
203399              altroot
203400                     string Equivalent to "-o cachefile=none,altroot=root"
203401
203402              properties
203403                     dict Additional pool properties
203404
203405              filesystem_properties
203406                     dict Additional filesystem properties
203407
203408              createboot
203409                     boolean create a boot partition
203410
203411                     New in version 2018.3.0.
203412
203413
203414              CLI Examples:
203415
203416                 salt '*' zpool.create myzpool /path/to/vdev1 [...] [force=True|False]
203417                 salt '*' zpool.create myzpool mirror /path/to/vdev1 /path/to/vdev2 [...] [force=True|False]
203418                 salt '*' zpool.create myzpool raidz1 /path/to/vdev1 /path/to/vdev2 raidz2 /path/to/vdev3 /path/to/vdev4 /path/to/vdev5 [...] [force=True|False]
203419                 salt '*' zpool.create myzpool mirror /path/to/vdev1 [...] mirror /path/to/vdev2 /path/to/vdev3 [...] [force=True|False]
203420                 salt '*' zpool.create myhybridzpool mirror /tmp/file1 [...] log mirror /path/to/vdev1 [...] cache /path/to/vdev2 [...] spare /path/to/vdev3 [...] [force=True|False]
203421
203422              NOTE:
203423                 Zpool properties can be specified at the time of creation  of
203424                 the  pool  by  passing an additional argument called "proper‐
203425                 ties" and specifying the  properties  with  their  respective
203426                 values in the form of a python dictionary:
203427
203428                     properties="{'property1': 'value1', 'property2': 'value2'}"
203429
203430                 Filesystem  properties  can  be specified at the time of cre‐
203431                 ation of the pool by passing an  additional  argument  called
203432                 "filesystem_properties"  and  specifying  the properties with
203433                 their respective values in the form of a python dictionary:
203434
203435                     filesystem_properties="{'property1': 'value1', 'property2': 'value2'}"
203436
203437                 Example:
203438
203439                     salt '*' zpool.create myzpool /path/to/vdev1 [...] properties="{'property1': 'value1', 'property2': 'value2'}"
203440
203441              CLI Example:
203442
203443                 salt '*' zpool.create myzpool /path/to/vdev1 [...] [force=True|False]
203444                 salt '*' zpool.create myzpool mirror /path/to/vdev1 /path/to/vdev2 [...] [force=True|False]
203445                 salt '*' zpool.create myzpool raidz1 /path/to/vdev1 /path/to/vdev2 raidz2 /path/to/vdev3 /path/to/vdev4 /path/to/vdev5 [...] [force=True|False]
203446                 salt '*' zpool.create myzpool mirror /path/to/vdev1 [...] mirror /path/to/vdev2 /path/to/vdev3 [...] [force=True|False]
203447                 salt '*' zpool.create myhybridzpool mirror /tmp/file1 [...] log mirror /path/to/vdev1 [...] cache /path/to/vdev2 [...] spare /path/to/vdev3 [...] [force=True|False]
203448
203449       salt.modules.zpool.create_file_vdev(size, *vdevs)
203450              Creates file based virtual devices for a zpool
203451
203452              CLI Example:
203453
203454                 salt '*' zpool.create_file_vdev 7G /path/to/vdev1 [/path/to/vdev2] [...]
203455
203456              NOTE:
203457                 Depending on file size, the above command may take a while to
203458                 return.
203459
203460       salt.modules.zpool.destroy(zpool, force=False)
203461              Destroys a storage pool
203462
203463              zpool  string Name of storage pool
203464
203465              force  boolean Force destroy of pool
203466
203467              CLI Example:
203468
203469                 salt '*' zpool.destroy myzpool
203470
203471       salt.modules.zpool.detach(zpool, device)
203472              Detach specified device to zpool
203473
203474              zpool  string Name of storage pool
203475
203476              device string Device to detach
203477
203478              CLI Example:
203479
203480                 salt '*' zpool.detach myzpool /path/to/vdev1
203481
203482       salt.modules.zpool.exists(zpool)
203483              Check if a ZFS storage pool is active
203484
203485              zpool  string Name of storage pool
203486
203487              CLI Example:
203488
203489                 salt '*' zpool.exists myzpool
203490
203491       salt.modules.zpool.export(*pools, **kwargs)
203492              New in version 2015.5.0.
203493
203494
203495              Export storage pools
203496
203497              pools  string One or more storage pools to export
203498
203499              force  boolean Force export of storage pools
203500
203501              CLI Example:
203502
203503                 salt '*' zpool.export myzpool ... [force=True|False]
203504                 salt '*' zpool.export myzpool2 myzpool2 ... [force=True|False]
203505
203506       salt.modules.zpool.get(zpool,       prop=None,       show_source=False,
203507       parsable=True)
203508              New in version 2016.3.0.
203509
203510
203511              Retrieves the given list of properties
203512
203513              zpool  string Name of storage pool
203514
203515              prop   string Optional name of property to retrieve
203516
203517              show_source
203518                     boolean Show source of property
203519
203520              parsable
203521                     boolean Display numbers in parsable (exact) values
203522
203523                     New in version 2018.3.0.
203524
203525
203526              CLI Example:
203527
203528                 salt '*' zpool.get myzpool
203529
203530       salt.modules.zpool.healthy()
203531              Check if all zpools are healthy
203532
203533              New in version 2016.3.0.
203534
203535
203536              CLI Example:
203537
203538                 salt '*' zpool.healthy
203539
203540       salt.modules.zpool.history(zpool=None, internal=False, verbose=False)
203541              New in version 2016.3.0.
203542
203543
203544              Displays the command history of  the  specified  pools,  or  all
203545              pools if no pool is specified
203546
203547              zpool  string Optional storage pool
203548
203549              internal
203550                     boolean Toggle display of internally logged ZFS events
203551
203552              verbose
203553                     boolean  Toggle  display  of the user name, the hostname,
203554                     and the zone in which the operation was performed
203555
203556              CLI Example:
203557
203558                 salt '*' zpool.upgrade myzpool
203559
203560       salt.modules.zpool.import_(zpool=None, new_name=None, **kwargs)
203561              New in version 2015.5.0.
203562
203563
203564              Import storage pools or list pools available for import
203565
203566              zpool  string Optional name of storage pool
203567
203568              new_name
203569                     string Optional new name for the storage pool
203570
203571              mntopts
203572                     string Comma-separated list of mount options to use  when
203573                     mounting datasets within the pool.
203574
203575              force  boolean  Forces  import,  even  if the pool appears to be
203576                     potentially active.
203577
203578              altroot
203579                     string Equivalent to "-o cachefile=none,altroot=root"
203580
203581              dir    string Searches for devices or  files  in  dir,  multiple
203582                     dirs can be specified as follows: dir="dir1,dir2"
203583
203584              no_mount
203585                     boolean  Import  the  pool without mounting any file sys‐
203586                     tems.
203587
203588              only_destroyed
203589                     boolean Imports destroyed  pools  only.  This  also  sets
203590                     force=True.
203591
203592              recovery
203593                     bool|str false: do not try to recovery broken pools true:
203594                     try to recovery the  pool  by  rolling  back  the  latest
203595                     transactions  test: check if a pool can be recovered, but
203596                     don't import it nolog: allow import without  log  device,
203597                     recent transactions might be lost
203598
203599                     NOTE:
203600                        If  feature  flags  are not support this forced to the
203601                        default of 'false'
203602
203603                     WARNING:
203604                        When recovery is set to 'test' the result will be have
203605                        imported  set to True if the pool can be imported. The
203606                        pool might also be imported if the pool was not broken
203607                        to begin with.
203608
203609              properties
203610                     dict Additional pool properties
203611
203612              NOTE:
203613                 Zpool  properties can be specified at the time of creation of
203614                 the pool by passing an additional  argument  called  "proper‐
203615                 ties"  and  specifying  the  properties with their respective
203616                 values in the form of a python dictionary:
203617
203618                     properties="{'property1': 'value1', 'property2': 'value2'}"
203619
203620              CLI Example:
203621
203622                 salt '*' zpool.import [force=True|False]
203623                 salt '*' zpool.import myzpool [mynewzpool] [force=True|False]
203624                 salt '*' zpool.import myzpool dir='/tmp'
203625
203626       salt.modules.zpool.iostat(zpool=None, sample_time=5, parsable=True)
203627              Display I/O statistics for the given pools
203628
203629              zpool  string optional name of storage pool
203630
203631              sample_time
203632                     int seconds to capture data before output default a  sam‐
203633                     ple of 5 seconds is used
203634
203635              parsable
203636                     boolean  display  data  in  pythonc  values (True, False,
203637                     Bytes,...)
203638
203639              New in version 2016.3.0.
203640
203641
203642              Changed in version 2018.3.1:  Added  `parsable`  parameter  that
203643              defaults to True
203644
203645
203646              CLI Example:
203647
203648                 salt '*' zpool.iostat myzpool
203649
203650       salt.modules.zpool.labelclear(device, force=False)
203651              New in version 2018.3.0.
203652
203653
203654              Removes ZFS label information from the specified device
203655
203656              device string  Device  name;  must not be part of an active pool
203657                     configuration.
203658
203659              force  boolean Treat exported or foreign devices as inactive
203660
203661              CLI Example:
203662
203663                 salt '*' zpool.labelclear /path/to/dev
203664
203665       salt.modules.zpool.list_(properties=u'size,  alloc,  free,  cap,  frag,
203666       health', zpool=None, parsable=True)
203667              New in version 2015.5.0.
203668
203669
203670              Return information about (all) storage pools
203671
203672              zpool  string optional name of storage pool
203673
203674              properties
203675                     string comma-separated list of properties to list
203676
203677              parsable
203678                     boolean display numbers in parsable (exact) values
203679
203680                     New in version 2018.3.0.
203681
203682
203683              NOTE:
203684                 The  name  property  will  always be included, while the frag
203685                 property will get removed if not available
203686
203687              zpool  string optional zpool
203688
203689              NOTE:
203690                 Multiple storage pool can be provided as  a  space  separated
203691                 list
203692
203693              CLI Example:
203694
203695                 salt '*' zpool.list
203696                 salt '*' zpool.list zpool=tank
203697                 salt '*' zpool.list 'size,free'
203698                 salt '*' zpool.list 'size,free' tank
203699
203700       salt.modules.zpool.offline(zpool, *vdevs, **kwargs)
203701              New in version 2015.5.0.
203702
203703
203704              Ensure that the specified devices are offline
203705
203706              WARNING:
203707                 By  default,  the  OFFLINE  state  is  persistent. The device
203708                 remains offline when the system is rebooted.  To  temporarily
203709                 take a device offline, use temporary=True.
203710
203711              zpool  string name of storage pool
203712
203713              vdevs  string One or more devices
203714
203715              temporary
203716                     boolean Enable temporarily offline
203717
203718              CLI Example:
203719
203720                 salt '*' zpool.offline myzpool /path/to/vdev1 [...] [temporary=True|False]
203721
203722       salt.modules.zpool.online(zpool, *vdevs, **kwargs)
203723              New in version 2015.5.0.
203724
203725
203726              Ensure that the specified devices are online
203727
203728              zpool  string name of storage pool
203729
203730              vdevs  string one or more devices
203731
203732              expand boolean Expand the device to use all available space.
203733
203734                     NOTE:
203735                        If  the  device  is part of a mirror or raidz then all
203736                        devices must be expanded before  the  new  space  will
203737                        become available to the pool.
203738
203739              CLI Example:
203740
203741                 salt '*' zpool.online myzpool /path/to/vdev1 [...]
203742
203743       salt.modules.zpool.reguid(zpool)
203744              Generates a new unique identifier for the pool
203745
203746              WARNING:
203747                 You  must ensure that all devices in this pool are online and
203748                 healthy before performing this action.
203749
203750              zpool  string name of storage pool
203751
203752              New in version 2016.3.0.
203753
203754
203755              CLI Example:
203756
203757                 salt '*' zpool.reguid myzpool
203758
203759       salt.modules.zpool.reopen(zpool)
203760              Reopen all the vdevs associated with the pool
203761
203762              zpool  string name of storage pool
203763
203764              New in version 2016.3.0.
203765
203766
203767              CLI Example:
203768
203769                 salt '*' zpool.reopen myzpool
203770
203771       salt.modules.zpool.replace(zpool,     old_device,      new_device=None,
203772       force=False)
203773              Replaces old_device with new_device
203774
203775              NOTE:
203776                 This is equivalent to attaching new_device, waiting for it to
203777                 resilver, and then detaching old_device.
203778
203779                 The size of new_device must be greater than or equal  to  the
203780                 minimum size of all the devices in a mirror or raidz configu‐
203781                 ration.
203782
203783              zpool  string Name of storage pool
203784
203785              old_device
203786                     string Old device to replace
203787
203788              new_device
203789                     string Optional new device
203790
203791              force  boolean Forces use of new_device, even if its appears  to
203792                     be in use.
203793
203794              CLI Example:
203795
203796                 salt '*' zpool.replace myzpool /path/to/vdev1 /path/to/vdev2
203797
203798       salt.modules.zpool.scrub(zpool, stop=False, pause=False)
203799              Scrub a storage pool
203800
203801              zpool  string Name of storage pool
203802
203803              stop   boolean If True, cancel ongoing scrub
203804
203805              pause  boolean If True, pause ongoing scrub
203806
203807                     New in version 2018.3.0.
203808
203809
203810                     NOTE:
203811                        Pause is only available on recent versions of ZFS.
203812
203813                        If both pause and stop are True, then stop will win.
203814
203815              CLI Example:
203816
203817                 salt '*' zpool.scrub myzpool
203818
203819       salt.modules.zpool.set(zpool, prop, value)
203820              Sets the given property on the specified pool
203821
203822              zpool  string Name of storage pool
203823
203824              prop   string Name of property to set
203825
203826              value  string Value to set for the specified property
203827
203828              New in version 2016.3.0.
203829
203830
203831              CLI Example:
203832
203833                 salt '*' zpool.set myzpool readonly yes
203834
203835       salt.modules.zpool.split(zpool, newzpool, **kwargs)
203836              New in version 2018.3.0.
203837
203838
203839              Splits devices off pool creating newpool.
203840
203841              NOTE:
203842                 All vdevs in pool must be mirrors.  At the time of the split,
203843                 newzpool will be a replica of zpool.
203844
203845                 After splitting, do not forget to import the new pool!
203846
203847              zpool  string Name of storage pool
203848
203849              newzpool
203850                     string Name of new storage pool
203851
203852              mountpoint
203853                     string Sets the mount point for the root dataset
203854
203855              altroot
203856                     string Sets altroot for newzpool
203857
203858              properties
203859                     dict Additional pool properties for newzpool
203860
203861              CLI Examples:
203862
203863                 salt '*' zpool.split datamirror databackup
203864                 salt '*' zpool.split datamirror databackup altroot=/backup
203865
203866              NOTE:
203867                 Zpool properties can be specified at the time of creation  of
203868                 the  pool  by  passing an additional argument called "proper‐
203869                 ties" and specifying the  properties  with  their  respective
203870                 values in the form of a python dictionary:
203871
203872                     properties="{'property1': 'value1', 'property2': 'value2'}"
203873
203874                 Example:
203875
203876                     salt '*' zpool.split datamirror databackup properties="{'readonly': 'on'}"
203877
203878              CLI Example:
203879
203880                 salt '*' zpool.split datamirror databackup
203881                 salt '*' zpool.split datamirror databackup altroot=/backup
203882
203883       salt.modules.zpool.status(zpool=None)
203884              Return the status of the named zpool
203885
203886              zpool  string optional name of storage pool
203887
203888              New in version 2016.3.0.
203889
203890
203891              CLI Example:
203892
203893                 salt '*' zpool.status myzpool
203894
203895       salt.modules.zpool.upgrade(zpool=None, version=None)
203896              New in version 2016.3.0.
203897
203898
203899              Enables all supported features on the given pool
203900
203901              zpool  string Optional storage pool, applies to all otherwize
203902
203903              version
203904                     int  Version to upgrade to, if unspecified upgrade to the
203905                     highest possible
203906
203907              WARNING:
203908                 Once this is done, the pool will no longer be  accessible  on
203909                 systems  that  do  not  support feature flags. See zpool-fea‐
203910                 tures(5) for details on compatibility with systems that  sup‐
203911                 port  feature  flags, but do not support all features enabled
203912                 on the pool.
203913
203914              CLI Example:
203915
203916                 salt '*' zpool.upgrade myzpool
203917
203918   salt.modules.zypperpkg
203919       Package support for openSUSE via the zypper package manager
203920
203921       depends
203922
203923              · rpm Python module.  Install with zypper install rpm-python
203924
203925       IMPORTANT:
203926          If you feel that Salt should be using this module to manage packages
203927          on  a  minion, and it is using a different module (or gives an error
203928          similar to 'pkg.install' is not available), see here.
203929
203930       class salt.modules.zypperpkg.Wildcard(zypper)
203931              New in version 2017.7.0.
203932
203933
203934              Converts string wildcard to a zypper query.
203935
203936              '1.2.3.4*'  is  '1.2.3.4.whatever.is.here'  and  is  equal   to:
203937              '1.2.3.4 >= and < 1.2.3.5'
203938
203939              Parameters
203940                     ptn -- Pattern
203941
203942              Returns
203943                     Query range
203944
203945              Z_OP = [u'<', u'<=', u'=', u'>=', u'>']
203946
203947       salt.modules.zypperpkg.add_lock(packages, **kwargs)
203948              Add a package lock. Specify packages to lock by exact name.
203949
203950              CLI Example:
203951
203952                 salt '*' pkg.add_lock <package name>
203953                 salt '*' pkg.add_lock <package1>,<package2>,<package3>
203954                 salt '*' pkg.add_lock pkgs='["foo", "bar"]'
203955
203956       salt.modules.zypperpkg.clean_locks()
203957              Remove unused locks that do not currently (with regard to repos‐
203958              itories used) lock any package.
203959
203960              CLI Example:
203961
203962                 salt '*' pkg.clean_locks
203963
203964       salt.modules.zypperpkg.del_repo(repo)
203965              Delete a repo.
203966
203967              CLI Examples:
203968
203969                 salt '*' pkg.del_repo alias
203970
203971       salt.modules.zypperpkg.diff(*paths)
203972              Return a formatted diff between current files and original in  a
203973              package.   NOTE: this function includes all files (configuration
203974              and not), but does not work on binary content.
203975
203976              Parameters
203977                     path -- Full path to the installed file
203978
203979              Returns
203980                     Difference string or raises  and  exception  if  examined
203981                     file is binary.
203982
203983              CLI example:
203984
203985                 salt '*' pkg.diff /etc/apache2/httpd.conf /etc/sudoers
203986
203987       salt.modules.zypperpkg.download(*packages, **kwargs)
203988              Download packages to the local disk.
203989
203990              refresh
203991                     force  a  refresh  if  set  to  True.   If  set  to False
203992                     (default) it depends on zypper if a refresh is executed.
203993
203994              CLI example:
203995
203996                 salt '*' pkg.download httpd
203997                 salt '*' pkg.download httpd postfix
203998
203999       salt.modules.zypperpkg.file_dict(*packages)
204000              List the files that belong to a package, grouped by package. Not
204001              specifying  any packages will return a list of every file on the
204002              system's rpm database (not generally recommended).
204003
204004              CLI Examples:
204005
204006                 salt '*' pkg.file_list httpd
204007                 salt '*' pkg.file_list httpd postfix
204008                 salt '*' pkg.file_list
204009
204010       salt.modules.zypperpkg.file_list(*packages)
204011              List the files that belong to  a  package.  Not  specifying  any
204012              packages  will  return  a list of every file on the system's rpm
204013              database (not generally recommended).
204014
204015              CLI Examples:
204016
204017                 salt '*' pkg.file_list httpd
204018                 salt '*' pkg.file_list httpd postfix
204019                 salt '*' pkg.file_list
204020
204021       salt.modules.zypperpkg.get_repo(repo, **kwargs)
204022              Display a repo.
204023
204024              CLI Example:
204025
204026                 salt '*' pkg.get_repo alias
204027
204028       salt.modules.zypperpkg.info_available(*names, **kwargs)
204029              Return the information of the named package  available  for  the
204030              system.
204031
204032              refresh
204033                     force  a  refresh  if  set  to True (default).  If set to
204034                     False it depends on zypper if a refresh  is  executed  or
204035                     not.
204036
204037              CLI example:
204038
204039                 salt '*' pkg.info_available <package1>
204040                 salt '*' pkg.info_available <package1> <package2> <package3> ...
204041
204042       salt.modules.zypperpkg.info_installed(*names, **kwargs)
204043              Return the information of the named package(s), installed on the
204044              system.
204045
204046              Parameters
204047
204048                     · names -- Names  of  the  packages  to  get  information
204049                       about.
204050
204051                     · attr --
204052
204053                       Comma-separated  package  attributes.  If  no 'attr' is
204054                       specified, all available attributes returned.
204055
204056                       Valid attributes are:
204057                              version,    vendor,     release,     build_date,
204058                              build_date_time_t,                 install_date,
204059                              install_date_time_t,     build_host,      group,
204060                              source_rpm,  arch,  epoch, size, license, signa‐
204061                              ture, packager, url, summary, description.
204062
204063
204064                     · errors --
204065
204066                       Handle RPM field errors. If 'ignore'  is  chosen,  then
204067                       various  mistakes  are  simply ignored and omitted from
204068                       the texts or strings. If 'report'  is  chonen,  then  a
204069                       field  with  a  mistake is not returned, instead a 'N/A
204070                       (broken)' (not available, broken) text is placed.
204071
204072                       Valid attributes are:
204073                              ignore, report
204074
204075
204076                     · all_versions -- Include information for all versions of
204077                       the packages installed on the minion.
204078
204079              CLI example:
204080
204081                 salt '*' pkg.info_installed <package1>
204082                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
204083                 salt '*' pkg.info_installed <package1> <package2> <package3> all_versions=True
204084                 salt '*' pkg.info_installed <package1> attr=version,vendor all_versions=True
204085                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor
204086                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=ignore
204087                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=report
204088
204089       salt.modules.zypperpkg.install(name=None, refresh=False, fromrepo=None,
204090       pkgs=None,  sources=None,  downloadonly=None,  skip_verify=False,  ver‐
204091       sion=None, ignore_repo_failure=False, **kwargs)
204092              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
204093              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
204094              mands  which modify installed packages from the salt-minion dae‐
204095              mon's control group. This is done to keep systemd  from  killing
204096              any zypper commands spawned by Salt when the salt-minion service
204097              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
204098              more  information).  If  desired, usage of systemd-run(1) can be
204099              suppressed by setting a config option called systemd.scope, with
204100              a value of False (no quotes).
204101
204102
204103              Install the passed package(s), add refresh=True to force a 'zyp‐
204104              per refresh' before package is installed.
204105
204106              name   The name of the package to be installed. Note  that  this
204107                     parameter is ignored if either pkgs or sources is passed.
204108                     Additionally, please note that this option  can  only  be
204109                     used  to  install packages from a software repository. To
204110                     install a package file manually, use the sources option.
204111
204112                     CLI Example:
204113
204114                        salt '*' pkg.install <package name>
204115
204116              refresh
204117                     force a  refresh  if  set  to  True.   If  set  to  False
204118                     (default) it depends on zypper if a refresh is executed.
204119
204120              fromrepo
204121                     Specify a package repository to install from.
204122
204123              downloadonly
204124                     Only download the packages, do not install.
204125
204126              skip_verify
204127                     Skip the GPG verification check (e.g., --no-gpg-checks)
204128
204129              version
204130                     Can  be  either a version number, or the combination of a
204131                     comparison operator (<, >, <=, >=, =) and a version  num‐
204132                     ber  (ex. '>1.2.3-4').  This parameter is ignored if pkgs
204133                     or sources is passed.
204134
204135              resolve_capabilities
204136                     If this option is set to True zypper will take  capabili‐
204137                     ties into account. In this case names which are just pro‐
204138                     vided by a package will get installed. Default is False.
204139
204140              Multiple Package Installation Options:
204141
204142              pkgs   A list of packages to install from a software repository.
204143                     Must  be passed as a python list. A specific version num‐
204144                     ber can be specified by using a single-element dict  rep‐
204145                     resenting  the  package and its version. As with the ver‐
204146                     sion parameter above, comparison operators can be used to
204147                     target a specific version of a package.
204148
204149                     CLI Examples:
204150
204151                        salt '*' pkg.install pkgs='["foo", "bar"]'
204152                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4"}]'
204153                        salt '*' pkg.install pkgs='["foo", {"bar": "<1.2.3-4"}]'
204154
204155              sources
204156                     A  list  of  RPM packages to install. Must be passed as a
204157                     list of dicts, with the keys being package names, and the
204158                     values being the source URI or local path to the package.
204159
204160                     CLI Example:
204161
204162                        salt '*' pkg.install sources='[{"foo": "salt://foo.rpm"},{"bar": "salt://bar.rpm"}]'
204163
204164              ignore_repo_failure
204165                     Zypper  returns error code 106 if one of the repositories
204166                     are not available for various reasons.  In  case  to  set
204167                     strict  check,  this  parameter  needs to be set to True.
204168                     Default: False.
204169
204170              diff_attr:
204171                     If a list of package attributes  is  specified,  returned
204172                     value will contain them, eg.:
204173
204174                        {'<package>': {
204175                            'old': {
204176                                'version': '<old-version>',
204177                                'arch': '<old-arch>'},
204178
204179                            'new': {
204180                                'version': '<new-version>',
204181                                'arch': '<new-arch>'}}}
204182
204183                     Valid  attributes  are:  epoch,  version,  release, arch,
204184                     install_date, install_date_time_t.
204185
204186                     If  all  is  specified,  all  valid  attributes  will  be
204187                     returned.
204188
204189                     New in version 2018.3.0.
204190
204191
204192              Returns a dict containing the new package names and versions:
204193
204194                 {'<package>': {'old': '<old-version>',
204195                                'new': '<new-version>'}}
204196
204197              If  an  attribute  list is specified in diff_attr, the dict will
204198              also contain any specified attribute, eg.:
204199
204200                 {'<package>': {
204201                     'old': {
204202                         'version': '<old-version>',
204203                         'arch': '<old-arch>'},
204204
204205                     'new': {
204206                         'version': '<new-version>',
204207                         'arch': '<new-arch>'}}}
204208
204209       salt.modules.zypperpkg.latest_version(*names, **kwargs)
204210              Return the latest version of the  named  package  available  for
204211              upgrade or installation. If more than one package name is speci‐
204212              fied, a dict of name/version pairs is returned.
204213
204214              If the latest version of a given package is  already  installed,
204215              an empty dict will be returned for that package.
204216
204217              refresh
204218                     force  a  refresh  if  set  to True (default).  If set to
204219                     False it depends on zypper if a refresh  is  executed  or
204220                     not.
204221
204222              CLI example:
204223
204224                 salt '*' pkg.latest_version <package name>
204225                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
204226
204227       salt.modules.zypperpkg.list_downloaded()
204228              New in version 2017.7.0.
204229
204230
204231              List prefetched packages downloaded by Zypper in the local disk.
204232
204233              CLI example:
204234
204235                 salt '*' pkg.list_downloaded
204236
204237       salt.modules.zypperpkg.list_installed_patches()
204238              New in version 2017.7.0.
204239
204240
204241              List installed advisory patches on the system.
204242
204243              CLI Examples:
204244
204245                 salt '*' pkg.list_installed_patches
204246
204247       salt.modules.zypperpkg.list_installed_patterns()
204248              List installed patterns on the system.
204249
204250              CLI Examples:
204251
204252                 salt '*' pkg.list_installed_patterns
204253
204254       salt.modules.zypperpkg.list_locks()
204255              List current package locks.
204256
204257              Return a dict containing the locked package with attributes:
204258
204259                 {'<package>': {'case_sensitive': '<case_sensitive>',
204260                                'match_type': '<match_type>'
204261                                'type': '<type>'}}
204262
204263              CLI Example:
204264
204265                 salt '*' pkg.list_locks
204266
204267       salt.modules.zypperpkg.list_patches(refresh=False)
204268              New in version 2017.7.0.
204269
204270
204271              List all known advisory patches from available repos.
204272
204273              refresh
204274                     force  a  refresh  if  set  to  True.   If  set  to False
204275                     (default) it depends on zypper if a refresh is executed.
204276
204277              CLI Examples:
204278
204279                 salt '*' pkg.list_patches
204280
204281       salt.modules.zypperpkg.list_patterns(refresh=False)
204282              List all known patterns from available repos.
204283
204284              refresh
204285                     force a  refresh  if  set  to  True.   If  set  to  False
204286                     (default) it depends on zypper if a refresh is executed.
204287
204288              CLI Examples:
204289
204290                 salt '*' pkg.list_patterns
204291
204292       salt.modules.zypperpkg.list_pkgs(versions_as_list=False, **kwargs)
204293              List the packages currently installed as a dict. By default, the
204294              dict contains versions as a comma separated string:
204295
204296                 {'<package_name>': '<version>[,<version>...]'}
204297
204298              versions_as_list:
204299                     If set to true, the versions are provided as a list
204300
204301                     {'<package_name>': ['<version>', '<version>']}
204302
204303              attr:  If a list of package attributes  is  specified,  returned
204304                     value will contain them in addition to version, eg.:
204305
204306                        {'<package_name>': [{'version' : 'version', 'arch' : 'arch'}]}
204307
204308                     Valid  attributes  are:  epoch,  version,  release, arch,
204309                     install_date, install_date_time_t.
204310
204311                     If  all  is  specified,  all  valid  attributes  will  be
204312                     returned.
204313                        New in version 2018.3.0.
204314
204315
204316              removed:
204317                     not supported
204318
204319              purge_desired:
204320                     not supported
204321
204322              CLI Example:
204323
204324                 salt '*' pkg.list_pkgs
204325                 salt '*' pkg.list_pkgs attr=version,arch
204326                 salt '*' pkg.list_pkgs attr='["version", "arch"]'
204327
204328       salt.modules.zypperpkg.list_products(all=False, refresh=False)
204329              List all available or installed SUSE products.
204330
204331              all    List all products available or only installed. Default is
204332                     False.
204333
204334              refresh
204335                     force a  refresh  if  set  to  True.   If  set  to  False
204336                     (default) it depends on zypper if a refresh is executed.
204337
204338              Includes  handling for OEM products, which read the OEM product‐
204339              line file and overwrite the release value.
204340
204341              CLI Examples:
204342
204343                 salt '*' pkg.list_products
204344                 salt '*' pkg.list_products all=True
204345
204346       salt.modules.zypperpkg.list_provides(**kwargs)
204347              New in version 2018.3.0.
204348
204349
204350              List package provides of installed packages as a dict.   {'<pro‐
204351              vided_name>': ['<package_name>', '<package_name>', ...]}
204352
204353              CLI Examples:
204354
204355                 salt '*' pkg.list_provides
204356
204357       salt.modules.zypperpkg.list_repo_pkgs(*args, **kwargs)
204358              New in version 2017.7.5,2018.3.1.
204359
204360
204361              Returns  all  available packages. Optionally, package names (and
204362              name globs) can be passed and the results will  be  filtered  to
204363              packages  matching those names. This is recommended as it speeds
204364              up the function considerably.
204365
204366              This function can be helpful in discovering the version or  repo
204367              to specify in a pkg.installed state.
204368
204369              The  return data will be a dictionary mapping package names to a
204370              list of version numbers,  ordered  from  newest  to  oldest.  If
204371              byrepo  is  set to True, then the return dictionary will contain
204372              repository names at the top level, and each repository will  map
204373              packages to lists of version numbers. For example:
204374
204375                 # With byrepo=False (default)
204376                 {
204377                     'bash': ['4.3-83.3.1',
204378                              '4.3-82.6'],
204379                     'vim': ['7.4.326-12.1']
204380                 }
204381                 {
204382                     'OSS': {
204383                         'bash': ['4.3-82.6'],
204384                         'vim': ['7.4.326-12.1']
204385                     },
204386                     'OSS Update': {
204387                         'bash': ['4.3-83.3.1']
204388                     }
204389                 }
204390
204391              fromrepo
204392                     None  Only  include  results  from the specified repo(s).
204393                     Multiple repos can be specified, comma-separated.
204394
204395              byrepo False When True, the return data for each package will be
204396                     organized by repository.
204397
204398              CLI Examples:
204399
204400                 salt '*' pkg.list_repo_pkgs
204401                 salt '*' pkg.list_repo_pkgs foo bar baz
204402                 salt '*' pkg.list_repo_pkgs 'python2-*' byrepo=True
204403                 salt '*' pkg.list_repo_pkgs 'python2-*' fromrepo='OSS Updates'
204404
204405       salt.modules.zypperpkg.list_repos()
204406              Lists all repos.
204407
204408              CLI Example:
204409
204410                 salt '*' pkg.list_repos
204411
204412       salt.modules.zypperpkg.list_upgrades(refresh=True, **kwargs)
204413              List all available package upgrades on this system
204414
204415              refresh
204416                     force  a  refresh  if  set  to True (default).  If set to
204417                     False it depends on zypper if a refresh is executed.
204418
204419              CLI Example:
204420
204421                 salt '*' pkg.list_upgrades
204422
204423       salt.modules.zypperpkg.mod_repo(repo, **kwargs)
204424              Modify one or more values for a  repo.  If  the  repo  does  not
204425              exist,  it  will be created, so long as the following values are
204426              specified:
204427
204428              repo or alias
204429                     alias by which Zypper refers to the repo
204430
204431              url, mirrorlist or baseurl
204432                     the URL for Zypper to reference
204433
204434              enabled
204435                     Enable or disable (True or False) repository, but do  not
204436                     remove if disabled.
204437
204438              refresh
204439                     Enable  or  disable  (True  or False) auto-refresh of the
204440                     repository.
204441
204442              cache  Enable or disable (True or False) RPM files caching.
204443
204444              gpgcheck
204445                     Enable or disable (True or  False)  GPG  check  for  this
204446                     repository.
204447
204448              gpgautoimport
204449                     False If set to True, automatically trust and import pub‐
204450                     lic GPG key for the repository.
204451
204452              Key/Value pairs may also be removed from a repo's  configuration
204453              by setting a key to a blank value. Bear in mind that a name can‐
204454              not be deleted, and a URL can only be deleted if a mirrorlist is
204455              specified (or vice versa).
204456
204457              CLI Examples:
204458
204459                 salt '*' pkg.mod_repo alias alias=new_alias
204460                 salt '*' pkg.mod_repo alias url= mirrorlist=http://host.com/
204461
204462       salt.modules.zypperpkg.modified(*packages, **flags)
204463              List the modified files that belong to a package. Not specifying
204464              any packages will return a list of _all_ modified files  on  the
204465              system's RPM database.
204466
204467              New in version 2015.5.0.
204468
204469
204470              Filtering by flags (True or False):
204471
204472              size   Include only files where size changed.
204473
204474              mode   Include only files which file's mode has been changed.
204475
204476              checksum
204477                     Include only files which MD5 checksum has been changed.
204478
204479              device Include only files which major and minor numbers has been
204480                     changed.
204481
204482              symlink
204483                     Include only files which are symbolic link contents.
204484
204485              owner  Include only files where owner has been changed.
204486
204487              group  Include only files where group has been changed.
204488
204489              time   Include only files where modification time  of  the  file
204490                     has been changed.
204491
204492              capabilities
204493                     Include  only  files  where  capabilities  differ or not.
204494                     Note: supported only on newer RPM versions.
204495
204496              CLI Examples:
204497
204498                 salt '*' pkg.modified
204499                 salt '*' pkg.modified httpd
204500                 salt '*' pkg.modified httpd postfix
204501                 salt '*' pkg.modified httpd owner=True group=False
204502
204503       salt.modules.zypperpkg.normalize_name(name)
204504              Strips the architecture from the specified package name, if nec‐
204505              essary.  Circumstances where this would be done include:
204506
204507              · If  the  arch  is 32 bit and the package name ends in a 32-bit
204508                arch.
204509
204510              · If the arch matches the OS arch, or is noarch.
204511
204512              CLI Example:
204513
204514                 salt '*' pkg.normalize_name zsh.x86_64
204515
204516       salt.modules.zypperpkg.owner(*paths)
204517              Return the name of the package that owns the file. Multiple file
204518              paths  can  be passed. If a single path is passed, a string will
204519              be returned, and if multiple paths are passed, a  dictionary  of
204520              file/package name pairs will be returned.
204521
204522              If  the file is not owned by a package, or is not present on the
204523              minion, then an empty string will be returned for that path.
204524
204525              CLI Examples:
204526
204527                 salt '*' pkg.owner /usr/bin/apachectl
204528                 salt '*' pkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf
204529
204530       salt.modules.zypperpkg.parse_arch(name)
204531              Parse name and architecture from the specified package name.
204532
204533              CLI Example:
204534
204535                 salt '*' pkg.parse_arch zsh.x86_64
204536
204537       salt.modules.zypperpkg.purge(name=None, pkgs=None, **kwargs)
204538              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
204539              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
204540              mands which modify installed packages from the salt-minion  dae‐
204541              mon's  control  group. This is done to keep systemd from killing
204542              any zypper commands spawned by Salt when the salt-minion service
204543              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
204544              more information). If desired, usage of  systemd-run(1)  can  be
204545              suppressed by setting a config option called systemd.scope, with
204546              a value of False (no quotes).
204547
204548
204549              Recursively remove a package and  all  dependencies  which  were
204550              installed with it, this will call a zypper -n remove -u
204551
204552              name   The name of the package to be deleted.
204553
204554              Multiple Package Options:
204555
204556              pkgs   A  list of packages to delete. Must be passed as a python
204557                     list. The name parameter will be ignored if  this  option
204558                     is passed.
204559
204560              New in version 0.16.0.
204561
204562
204563              Returns a dict containing the changes.
204564
204565              CLI Example:
204566
204567                 salt '*' pkg.purge <package name>
204568                 salt '*' pkg.purge <package1>,<package2>,<package3>
204569                 salt '*' pkg.purge pkgs='["foo", "bar"]'
204570
204571       salt.modules.zypperpkg.refresh_db()
204572              Force  a  repository  refresh by calling zypper refresh --force,
204573              return a dict:
204574
204575                 {'<database name>': Bool}
204576
204577              CLI Example:
204578
204579                 salt '*' pkg.refresh_db
204580
204581       salt.modules.zypperpkg.remove(name=None, pkgs=None, **kwargs)
204582              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
204583              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
204584              mands which modify installed packages from the salt-minion  dae‐
204585              mon's  control  group. This is done to keep systemd from killing
204586              any zypper commands spawned by Salt when the salt-minion service
204587              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
204588              more information). If desired, usage of  systemd-run(1)  can  be
204589              suppressed by setting a config option called systemd.scope, with
204590              a value of False (no quotes).
204591
204592
204593              Remove packages with zypper -n remove
204594
204595              name   The name of the package to be deleted.
204596
204597              Multiple Package Options:
204598
204599              pkgs   A list of packages to delete. Must be passed as a  python
204600                     list.  The  name parameter will be ignored if this option
204601                     is passed.
204602
204603              New in version 0.16.0.
204604
204605
204606              Returns a dict containing the changes.
204607
204608              CLI Example:
204609
204610                 salt '*' pkg.remove <package name>
204611                 salt '*' pkg.remove <package1>,<package2>,<package3>
204612                 salt '*' pkg.remove pkgs='["foo", "bar"]'
204613
204614       salt.modules.zypperpkg.remove_lock(packages, **kwargs)
204615              Remove specified package lock.
204616
204617              CLI Example:
204618
204619                 salt '*' pkg.remove_lock <package name>
204620                 salt '*' pkg.remove_lock <package1>,<package2>,<package3>
204621                 salt '*' pkg.remove_lock pkgs='["foo", "bar"]'
204622
204623       salt.modules.zypperpkg.resolve_capabilities(pkgs, refresh, **kwargs)
204624              New in version 2018.3.0.
204625
204626
204627              Convert name  provides  in  pkgs  into  real  package  names  if
204628              resolve_capabilities  parameter  is  set  to  True.  In  case of
204629              resolve_capabilities  is  set  to  False  the  package  list  is
204630              returned unchanged.
204631
204632              refresh
204633                     force  a  refresh  if  set  to  True.   If  set  to False
204634                     (default) it depends on zypper if a refresh is executed.
204635
204636              resolve_capabilities
204637                     If this option is set to True the input will  be  checked
204638                     if a package with this name exists. If not, this function
204639                     will search for a package which provides  this  name.  If
204640                     one  is found the output is exchanged with the real pack‐
204641                     age name.  In case this option is set to False  (Default)
204642                     the input will be returned unchanged.
204643
204644              CLI Examples:
204645
204646                 salt '*' pkg.resolve_capabilities resolve_capabilities=True w3m_ssl
204647
204648       salt.modules.zypperpkg.search(criteria, refresh=False, **kwargs)
204649              List known packags, available to the system.
204650
204651              refresh
204652                     force  a  refresh  if  set  to  True.   If  set  to False
204653                     (default) it depends on zypper if a refresh is executed.
204654
204655              match (str)
204656                     One of exact, words,  substrings.  Search  for  an  exact
204657                     match  or for the whole words only. Default to substrings
204658                     to patch partial words.
204659
204660              provides (bool)
204661                     Search for packages which provide the search strings.
204662
204663              recommends (bool)
204664                     Search for packages which recommend the search strings.
204665
204666              requires (bool)
204667                     Search for packages which require the search strings.
204668
204669              suggests (bool)
204670                     Search for packages which suggest the search strings.
204671
204672              conflicts (bool)
204673                     Search packages conflicting with search strings.
204674
204675              obsoletes (bool)
204676                     Search for packages which obsolete the search strings.
204677
204678              file_list (bool)
204679                     Search for a match in the file list of packages.
204680
204681              search_descriptions (bool)
204682                     Search also in package summaries and descriptions.
204683
204684              case_sensitive (bool)
204685                     Perform case-sensitive search.
204686
204687              installed_only (bool)
204688                     Show only installed packages.
204689
204690              not_installed_only (bool)
204691                     Show only packages which are not installed.
204692
204693              details (bool)
204694                     Show version and repository
204695
204696              CLI Examples:
204697
204698                 salt '*' pkg.search <criteria>
204699
204700       salt.modules.zypperpkg.upgrade(refresh=True,              dryrun=False,
204701       dist_upgrade=False,   fromrepo=None,   novendorchange=False,  skip_ver‐
204702       ify=False, **kwargs)
204703              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
204704              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
204705              mands which modify installed packages from the salt-minion  dae‐
204706              mon's  control  group. This is done to keep systemd from killing
204707              any zypper commands spawned by Salt when the salt-minion service
204708              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
204709              more information). If desired, usage of  systemd-run(1)  can  be
204710              suppressed by setting a config option called systemd.scope, with
204711              a value of False (no quotes).
204712
204713
204714              Run a full system upgrade, a zypper upgrade
204715
204716              refresh
204717                     force a refresh if set to  True  (default).   If  set  to
204718                     False it depends on zypper if a refresh is executed.
204719
204720              dryrun If  set  to  True, it creates a debug solver log file and
204721                     then perform a dry-run upgrade  (no  changes  are  made).
204722                     Default: False
204723
204724              dist_upgrade
204725                     Perform a system dist-upgrade. Default: False
204726
204727              fromrepo
204728                     Specify  a  list of package repositories to upgrade from.
204729                     Default: None
204730
204731              novendorchange
204732                     If set to True, no allow vendor changes. Default: False
204733
204734              skip_verify
204735                     Skip the GPG verification check (e.g., --no-gpg-checks)
204736
204737              Returns a dictionary containing the changes:
204738
204739                 {'<package>':  {'old': '<old-version>',
204740                                 'new': '<new-version>'}}
204741
204742              CLI Example:
204743
204744                 salt '*' pkg.upgrade
204745                 salt '*' pkg.upgrade dist_upgrade=True fromrepo='["MyRepoName"]' novendorchange=True
204746                 salt '*' pkg.upgrade dist_upgrade=True dryrun=True
204747
204748       salt.modules.zypperpkg.upgrade_available(name, **kwargs)
204749              Check whether or not an upgrade is available for a given package
204750
204751              refresh
204752                     force a refresh if set to  True  (default).   If  set  to
204753                     False  it  depends  on zypper if a refresh is executed or
204754                     not.
204755
204756              CLI Example:
204757
204758                 salt '*' pkg.upgrade_available <package name>
204759
204760       salt.modules.zypperpkg.verify(*names, **kwargs)
204761              Runs an rpm -Va on a system, and returns the results in a dict
204762
204763              Files with an attribute of config, doc, ghost, license or readme
204764              in the package header can be ignored using the ignore_types key‐
204765              word argument
204766
204767              CLI Example:
204768
204769                 salt '*' pkg.verify
204770                 salt '*' pkg.verify httpd
204771                 salt '*' pkg.verify 'httpd postfix'
204772                 salt '*' pkg.verify 'httpd postfix' ignore_types=['config','doc']
204773
204774       salt.modules.zypperpkg.version(*names, **kwargs)
204775              Returns a string representing the package version  or  an  empty
204776              dict  if  not installed. If more than one package name is speci‐
204777              fied, a dict of name/version pairs is returned.
204778
204779              CLI Example:
204780
204781                 salt '*' pkg.version <package name>
204782                 salt '*' pkg.version <package1> <package2> <package3> ...
204783
204784       salt.modules.zypperpkg.version_cmp(ver1, ver2, ignore_epoch=False)
204785              New in version 2015.5.4.
204786
204787
204788              Do a cmp-style comparison on two packages. Return -1 if  ver1  <
204789              ver2,  0  if  ver1 == ver2, and 1 if ver1 > ver2. Return None if
204790              there was a problem making the comparison.
204791
204792              ignore_epoch
204793                     False Set to True to ignore the epoch when comparing ver‐
204794                     sions
204795
204796                     New in version 2015.8.10,2016.3.2.
204797
204798
204799              CLI Example:
204800
204801                 salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'
204802
204803   netapi modules
204804   rest_cherrypy
204805       · A REST API for Salt
204806
204807         · Authentication
204808
204809         · Usage
204810
204811         · Content negotiation
204812
204813       · Performance Expectations and Recommended Usage
204814
204815         · Long-Running HTTP Connections
204816
204817         · Timeouts
204818
204819         · Best Practices
204820
204821         · Performance Tuning
204822
204823         · Future Plans
204824
204825       · Deployment
204826
204827         · salt-api using the CherryPy server
204828
204829         · Using a WSGI-compliant web server
204830
204831       · REST URI Reference
204832
204833         · /
204834
204835         · /login
204836
204837         · /logout
204838
204839         · /minions
204840
204841         · /jobs
204842
204843         · /run
204844
204845         · /events
204846
204847         · /hook
204848
204849         · /keys
204850
204851         · /ws
204852
204853         · /stats
204854
204855   A REST API for Salt
204856       depends
204857
204858              · CherryPy Python module.
204859
204860                Note:  there  is  a  known SSL traceback for CherryPy versions
204861                3.2.5 through 3.7.x. Please use version 3.2.3  or  the  latest
204862                10.x version instead.
204863
204864       optdepends
204865
204866              · ws4py Python module for websockets support.
204867
204868       client_libraries
204869
204870              · Java: https://github.com/SUSE/salt-netapi-client
204871
204872              · Python: https://github.com/saltstack/pepper
204873
204874       setup  All  steps  below  are performed on the machine running the Salt
204875              Master daemon. Configuration goes into the Master  configuration
204876              file.
204877
204878              1. Install salt-api. (This step varies between OS and Linux dis‐
204879                 tros.  Some package systems  have  a  split  package,  others
204880                 include  salt-api  in  the  main  Salt  package.  Ensure  the
204881                 salt-api --version output matches the salt --version output.)
204882
204883              2. Install CherryPy. (Read the version  caveat  in  the  section
204884                 above.)
204885
204886              3. Optional: generate self-signed SSL certificates.
204887
204888                 Using a secure HTTPS connection is strongly recommended since
204889                 Salt eauth authentication credentials will be sent  over  the
204890                 wire.
204891
204892                 1. Install the PyOpenSSL package.
204893
204894                 2. Generate   a   self-signed   certificate  using  the  cre‐
204895                    ate_self_signed_cert() execution function.
204896
204897                       salt-call --local tls.create_self_signed_cert
204898
204899              4. Edit the master config to create at least one  external  auth
204900                 user or group following the full external auth instructions.
204901
204902              5. Edit  the  master  config with the following production-ready
204903                 example to enable  the  rest_cherrypy  module.  (Adjust  cert
204904                 paths as needed, or disable SSL (not recommended!).)
204905
204906                    rest_cherrypy:
204907                      port: 8000
204908                      ssl_crt: /etc/pki/tls/certs/localhost.crt
204909                      ssl_key: /etc/pki/tls/certs/localhost.key
204910
204911              6. Restart the salt-master daemon.
204912
204913              7. Start the salt-api daemon.
204914
204915       configuration
204916              All  available  configuration  options are detailed below. These
204917              settings configure the CherryPy HTTP server  and  do  not  apply
204918              when using an external server such as Apache or Nginx.
204919
204920              port   Required
204921
204922                     The port for the webserver to listen on.
204923
204924              host   0.0.0.0  The socket interface for the HTTP server to lis‐
204925                     ten on.
204926
204927              debug  False Starts the web server in development mode. It  will
204928                     reload  itself  when  the  underlying code is changed and
204929                     will output more debugging info.
204930
204931              log_access_file
204932                     Path to a file to write HTTP access logs.
204933
204934                     New in version 2016.11.0.
204935
204936
204937              log_error_file
204938                     Path to a file to write HTTP error logs.
204939
204940                     New in version 2016.11.0.
204941
204942
204943              ssl_crt
204944                     The path to a SSL certificate. (See below)
204945
204946              ssl_key
204947                     The path to the private key  for  your  SSL  certificate.
204948                     (See below)
204949
204950              ssl_chain
204951                     (Optional  when using PyOpenSSL) the certificate chain to
204952                     pass to Context.load_verify_locations.
204953
204954              disable_ssl
204955                     A flag to disable SSL. Warning: your Salt  authentication
204956                     credentials will be sent in the clear!
204957
204958              webhook_disable_auth
204959                     False  The Webhook URL requires authentication by default
204960                     but external services cannot always be configured to send
204961                     authentication.   See  the Webhook documentation for sug‐
204962                     gestions on securing this interface.
204963
204964              webhook_url
204965                     /hook Configure the URL endpoint for  the  Webhook  entry
204966                     point.
204967
204968              thread_pool
204969                     100 The number of worker threads to start up in the pool.
204970
204971              socket_queue_size
204972                     30  Specify  the  maximum  number  of HTTP connections to
204973                     queue.
204974
204975              expire_responses
204976                     True Whether to check for and kill  HTTP  responses  that
204977                     have exceeded the default timeout.
204978
204979                     Deprecated since version 2016.11.9,2017.7.3,2018.3.0: The
204980                     "expire_responses" configuration  setting,  which  corre‐
204981                     sponds  to the timeout_monitor setting in CherryPy, is no
204982                     longer supported in CherryPy versions >= 12.0.0.
204983
204984
204985              max_request_body_size
204986                     1048576 Maximum size for the HTTP request body.
204987
204988              collect_stats
204989                     False Collect and report statistics  about  the  CherryPy
204990                     server
204991
204992                     Reports are available via the Stats URL.
204993
204994              stats_disable_auth
204995                     False  Do not require authentication to access the /stats
204996                     endpoint.
204997
204998                     New in version 2018.3.0.
204999
205000
205001              static A filesystem  path  to  static  HTML/JavaScript/CSS/image
205002                     assets.
205003
205004              static_path
205005                     /static  The URL prefix to use when serving static assets
205006                     out of the directory specified in the static setting.
205007
205008              enable_sessions
205009                     True Enable or disable all endpoints that rely on session
205010                     cookies.  This can be useful to enforce only header-based
205011                     authentication.
205012
205013                     New in version 2017.7.0.
205014
205015
205016              app    index.html A filesystem path to an HTML file that will be
205017                     served  as  a static file.  This is useful for bootstrap‐
205018                     ping a single-page JavaScript app.
205019
205020                     Warning! If you set this option to a custom web  applica‐
205021                     tion,  anything  that uses cookie-based authentication is
205022                     vulnerable to XSRF attacks.  Send the custom X-Auth-Token
205023                     header instead and consider disabling the enable_sessions
205024                     setting.
205025
205026                     Changed  in  version  2017.7.0:  Add  a  proof-of-concept
205027                     JavaScript single-page app.
205028
205029
205030              app_path
205031                     /app  The  URL  prefix  to  use for serving the HTML file
205032                     specified in the app setting. This  should  be  a  simple
205033                     name containing no slashes.
205034
205035                     Any path information after the specified path is ignored;
205036                     this is useful for apps that utilize  the  HTML5  history
205037                     API.
205038
205039              root_prefix
205040                     / A URL path to the main entry point for the application.
205041                     This is useful for serving multiple applications from the
205042                     same URL.
205043
205044   Authentication
205045       Authentication  is  performed  by  passing  a  session  token with each
205046       request.  Tokens are generated via the Login URL.
205047
205048       The token may be sent in one of two ways: as a custom header  or  as  a
205049       session cookie. The latter is far more convenient for clients that sup‐
205050       port cookies.
205051
205052       · Include a custom header named X-Auth-Token.
205053
205054         For example, using curl:
205055
205056            curl -sSk https://localhost:8000/login \
205057                -H 'Accept: application/x-yaml' \
205058                -d username=saltdev \
205059                -d password=saltdev \
205060                -d eauth=pam
205061
205062         Copy the token value from the output and  include  it  in  subsequent
205063         requests:
205064
205065            curl -sSk https://localhost:8000 \
205066                -H 'Accept: application/x-yaml' \
205067                -H 'X-Auth-Token: 697adbdc8fe971d09ae4c2a3add7248859c87079'\
205068                -d client=local \
205069                -d tgt='*' \
205070                -d fun=test.ping
205071
205072       · Sent via a cookie. This option is a convenience for HTTP clients that
205073         automatically handle cookie support (such as browsers).
205074
205075         For example, using curl:
205076
205077            # Write the cookie file:
205078            curl -sSk https://localhost:8000/login \
205079                  -c ~/cookies.txt \
205080                  -H 'Accept: application/x-yaml' \
205081                  -d username=saltdev \
205082                  -d password=saltdev \
205083                  -d eauth=auto
205084
205085            # Read the cookie file:
205086            curl -sSk https://localhost:8000 \
205087                  -b ~/cookies.txt \
205088                  -H 'Accept: application/x-yaml' \
205089                  -d client=local \
205090                  -d tgt='*' \
205091                  -d fun=test.ping
205092
205093         Another example using the requests library in Python:
205094
205095            >>> import requests
205096            >>> session = requests.Session()
205097            >>> session.post('http://localhost:8000/login', json={
205098                'username': 'saltdev',
205099                'password': 'saltdev',
205100                'eauth': 'auto',
205101            })
205102            <Response [200]>
205103            >>> resp = session.post('http://localhost:8000', json=[{
205104                'client': 'local',
205105                'tgt': '*',
205106                'fun': 'test.arg',
205107                'arg': ['foo', 'bar'],
205108                'kwarg': {'baz': 'Baz!'},
205109            }])
205110            >>> resp.json()
205111            {u'return': [{
205112                ...snip...
205113            }]}
205114
205115       SEE ALSO:
205116          You can bypass the session handling via the Run URL.
205117
205118   Usage
205119       This interface directly exposes Salt's Python API.  Everything possible
205120       at the CLI is possible through the Python API. Commands are executed on
205121       the Salt Master.
205122
205123       The root URL (/) is RPC-like in that it  accepts  instructions  in  the
205124       request  body for what Salt functions to execute, and the response con‐
205125       tains the result of those function calls.
205126
205127       For example:
205128
205129          % curl -sSi https://localhost:8000         -H 'Content-type: application/json'         -d '[{
205130                  "client": "local",
205131                  "tgt": "*",
205132                  "fun": "test.ping"
205133              }]'
205134          HTTP/1.1 200 OK
205135          Content-Type: application/json
205136          [...snip...]
205137
205138          {"return": [{"jerry": true}]}
205139
205140       The request body must be an array of commands.  Use  this  workflow  to
205141       build a command:
205142
205143       1. Choose a client interface.
205144
205145       2. Choose a function.
205146
205147       3. Fill out the remaining parameters needed for the chosen client.
205148
205149       The  client  field  is  a  reference to the main Python classes used in
205150       Salt's Python API. Read the full  Client  APIs  documentation,  but  in
205151       short:
205152
205153       · "local"  uses LocalClient which sends commands to Minions. Equivalent
205154         to the salt CLI command.
205155
205156       · "runner" uses RunnerClient which invokes runner modules on  the  Mas‐
205157         ter. Equivalent to the salt-run CLI command.
205158
205159       · "wheel"  uses  WheelClient which invokes wheel modules on the Master.
205160         Wheel modules do not have a direct CLI equivalent but they  typically
205161         manage  Master-side  resources such as state files, pillar files, the
205162         Salt config files, and the key wheel module exposes similar function‐
205163         ality as the salt-key CLI command.
205164
205165       Most  clients  have variants like synchronous or asynchronous execution
205166       as well as others like batch execution. See the  full  list  of  client
205167       interfaces.
205168
205169       Each  client  requires  different arguments and sometimes has different
205170       syntax.  For example, LocalClient requires the tgt argument because  it
205171       forwards the command to Minions and the other client interfaces do not.
205172       LocalClient also takes arg (array)  and  kwarg  (dictionary)  arguments
205173       because  these  values  are sent to the Minions and used to execute the
205174       requested function there. RunnerClient  and  WheelClient  are  executed
205175       directly on the Master and thus do not need or accept those arguments.
205176
205177       Read  the  method  signatures in the client documentation linked above,
205178       but hopefully an example will help illustrate the concept. This example
205179       causes Salt to execute two functions -- the test.arg execution function
205180       using LocalClient and the test.arg runner function using  RunnerClient;
205181       note the different structure for each command. The results for both are
205182       combined and returned as one response.
205183
205184          % curl -b ~/cookies.txt -sSi localhost:8000         -H 'Content-type: application/json'         -d '
205185          [
205186              {
205187                  "client": "local",
205188                  "tgt": "*",
205189                  "fun": "test.arg",
205190                  "arg": ["positional arg one", "positional arg two"],
205191                  "kwarg": {
205192                      "keyword arg one": "Hello from a minion",
205193                      "keyword arg two": "Hello again from a minion"
205194                  }
205195              },
205196              {
205197                  "client": "runner",
205198                  "fun": "test.arg",
205199                  "keyword arg one": "Hello from a master",
205200                  "keyword arg two": "Runners do not support positional args"
205201              }
205202          ]
205203          '
205204          HTTP/1.1 200 OK
205205          [...snip...]
205206          {
205207            "return": [
205208              {
205209                "jerry": {
205210                  "args": [
205211                    "positional arg one",
205212                    "positional arg two"
205213                  ],
205214                  "kwargs": {
205215                    "keyword arg one": "Hello from a minion",
205216                    "keyword arg two": "Hello again from a minion",
205217                    [...snip...]
205218                  }
205219                },
205220                [...snip; other minion returns here...]
205221              },
205222              {
205223                "args": [],
205224                "kwargs": {
205225                  "keyword arg two": "Runners do not support positional args",
205226                  "keyword arg one": "Hello from a master"
205227                }
205228              }
205229            ]
205230          }
205231
205232       One more example, this time with more commonly used functions:
205233
205234          curl -b /tmp/cookies.txt -sSi localhost:8000         -H 'Content-type: application/json'         -d '
205235          [
205236              {
205237                  "client": "local",
205238                  "tgt": "*",
205239                  "fun": "state.sls",
205240                  "kwarg": {
205241                      "mods": "apache",
205242                      "pillar": {
205243                          "lookup": {
205244                              "wwwdir": "/srv/httpd/htdocs"
205245                          }
205246                      }
205247                  }
205248              },
205249              {
205250                  "client": "runner",
205251                  "fun": "cloud.create",
205252                  "provider": "my-ec2-provider",
205253                  "instances": "my-centos-6",
205254                  "image": "ami-1624987f",
205255                  "delvol_on_destroy", true
205256              }
205257          ]
205258          '
205259          HTTP/1.1 200 OK
205260          [...snip...]
205261          {
205262            "return": [
205263              {
205264                "jerry": {
205265                  "pkg_|-install_apache_|-httpd_|-installed": {
205266                      [...snip full state return here...]
205267                  }
205268                }
205269                [...snip other minion returns here...]
205270              },
205271              {
205272                  [...snip full salt-cloud output here...]
205273              }
205274            ]
205275          }
205276
205277   Content negotiation
205278       This REST interface is flexible in what data formats it will accept  as
205279       well as what formats it will return (e.g., JSON, YAML, urlencoded).
205280
205281       · Specify  the format of data in the request body by including the Con‐
205282         tent-Type header.
205283
205284       · Specify the desired data format for the response body with the Accept
205285         header.
205286
205287       We recommend the JSON format for most HTTP requests. urlencoded data is
205288       simple and cannot express complex data structures -- and that is  often
205289       required for some Salt commands, such as starting a state run that uses
205290       Pillar data. Salt's CLI tool can reformat strings passed in at the  CLI
205291       into  complex  data  structures,  and  that  behavior  also  works  via
205292       salt-api, but that can be brittle and since salt-api can accept JSON it
205293       is best just to send JSON.
205294
205295       Here is an example of sending urlencoded data:
205296
205297          curl -sSik https://localhost:8000 \
205298              -b ~/cookies.txt \
205299              -d client=runner \
205300              -d fun='jobs.lookup_jid' \
205301              -d jid='20150129182456704682'
205302
205303          urlencoded data caveats
205304
205305          · Only a single command may be sent per HTTP request.
205306
205307          · Repeating the arg parameter multiple times will cause those param‐
205308            eters to be combined into a single list.
205309
205310            Note, some popular frameworks and languages (notably jQuery,  PHP,
205311            and  Ruby  on Rails) will automatically append empty brackets onto
205312            repeated       query        string        parameters.        E.g.,
205313            ?foo[]=fooone&foo[]=footwo.    This   is   not   supported;   send
205314            ?foo=fooone&foo=footwo instead, or send JSON or YAML.
205315
205316          A note about curl
205317
205318          The -d flag to curl does not automatically urlencode data which  can
205319          affect  passwords  and other data that contains characters that must
205320          be encoded. Use the --data-urlencode flag instead. E.g.:
205321
205322              curl -ksi http://localhost:8000/login \
205323              -H "Accept: application/json" \
205324              -d username='myapiuser' \
205325              --data-urlencode password='1234+' \
205326              -d eauth='pam'
205327
205328   Performance Expectations and Recommended Usage
205329       This module provides a thin wrapper around Salt's Python API. Executing
205330       a  Salt  command via rest_cherrypy is directly analogous to executing a
205331       Salt command via Salt's CLI (which also uses the Python  API)  --  they
205332       share  the  same semantics, performance characteristics, and 98% of the
205333       same code. As a rule-of-thumb: if you wouldn't do it at the  CLI  don't
205334       do it via this API.
205335
205336   Long-Running HTTP Connections
205337       The  CherryPy server is a production-ready, threading HTTP server writ‐
205338       ten in Python. Because it makes use of a thread pool  to  process  HTTP
205339       requests  it is not ideally suited to maintaining large numbers of con‐
205340       current, synchronous connections. On  moderate  hardware  with  default
205341       settings it should top-out at around 30 to 50 concurrent connections.
205342
205343       That  number  of  long-running,  synchronous Salt processes is also not
205344       ideal. Like at the CLI, each Salt command run will start a process that
205345       instantiates  its  own LocalClient, which instantiates its own listener
205346       to the Salt event bus, and sends out its own periodic saltutil.find_job
205347       queries  to  determine  if  a  Minion is still running the command. Not
205348       exactly a lightweight operation.
205349
205350   Timeouts
205351       In addition to the above resource  overhead  for  long-running  connec‐
205352       tions,  there  are  the  usual  HTTP timeout semantics for the CherryPy
205353       server, any HTTP client being used, as well as any hardware in  between
205354       such as proxies, gateways, or load balancers. rest_cherrypy can be con‐
205355       figured not to time-out long responses via  the  expire_responses  set‐
205356       ting,  and  both  LocalClient  and  RunnerClient have their own timeout
205357       parameters that may be passed as top-level keywords:
205358
205359          curl -b /tmp/cookies.txt -sSi localhost:8000         -H 'Content-type: application/json'         -d '
205360          [
205361              {
205362                  "client": "local",
205363                  "tgt": "*",
205364                  "fun": "test.sleep",
205365                  "kwarg": {"length": 30},
205366                  "timeout": 60
205367              },
205368              {
205369                  "client": "runner",
205370                  "fun": "test.sleep",
205371                  "kwarg": {"s_time": 30},
205372                  "timeout": 60
205373              }
205374          ]
205375          '
205376
205377   Best Practices
205378       Given the performance overhead and HTTP timeouts for long-running oper‐
205379       ations described above, the most effective and most scalable way to use
205380       both Salt and salt-api is to  run  commands  asynchronously  using  the
205381       local_async, runner_async, and wheel_async clients.
205382
205383       Running asynchronous jobs results in being able to process 3x more com‐
205384       mands per second for LocalClient and 17x more commands per  second  for
205385       RunnerClient,  in  addition  to  much  less  network traffic and memory
205386       requirements. Job returns can be fetched from Salt's job cache via  the
205387       /jobs/<jid>  endpoint, or they can be collected into a data store using
205388       Salt's Returner system.
205389
205390       The /events endpoint is specifically designed  to  handle  long-running
205391       HTTP  connections  and  it  exposes Salt's event bus which includes job
205392       returns.  Watching this endpoint  first,  then  executing  asynchronous
205393       Salt  commands  second, is the most lightweight and scalable way to use
205394       rest_cherrypy while still receiving job returns in real-time. But  this
205395       requires  clients  that can properly handle the inherent asynchronicity
205396       of that workflow.
205397
205398   Performance Tuning
205399       The thread_pool and socket_queue_size settings can be used to  increase
205400       the  capacity of rest_cherrypy to handle incoming requests. Keep an eye
205401       on RAM usage as well as available file handles while testing changes to
205402       these settings. As salt-api is a thin wrapper around Salt's Python API,
205403       also keep an eye on the performance of Salt when testing.
205404
205405   Future Plans
205406       Now that Salt uses the Tornado concurrency library internally, we  plan
205407       to  improve performance in the API by taking advantage of existing pro‐
205408       cesses and event listeners and to use lightweight coroutines to facili‐
205409       tate more simultaneous HTTP connections and better support for synchro‐
205410       nous operations.  That effort can be tracked in issue 26505, but  until
205411       that  issue  is  closed rest_cherrypy will remain the officially recom‐
205412       mended REST API.
205413
205414   Deployment
205415       The rest_cherrypy netapi module is a standard Python WSGI app.  It  can
205416       be deployed one of two ways.
205417
205418   salt-api using the CherryPy server
205419       The default configuration is to run this module using salt-api to start
205420       the  Python-based  CherryPy  server.  This   server   is   lightweight,
205421       multi-threaded,  encrypted  with  SSL, and should be considered produc‐
205422       tion-ready.  See the section above for performance expectations.
205423
205424   Using a WSGI-compliant web server
205425       This module may be deployed on any WSGI-compliant server such as Apache
205426       with mod_wsgi or Nginx with FastCGI, to name just two (there are many).
205427
205428       Note, external WSGI servers handle URLs, paths, and SSL certs directly.
205429       The rest_cherrypy configuration options are ignored  and  the  salt-api
205430       daemon does not need to be running at all. Remember Salt authentication
205431       credentials are sent in the clear unless SSL is being enforced!
205432
205433       An example Apache virtual host configuration:
205434
205435          <VirtualHost *:80>
205436              ServerName example.com
205437              ServerAlias *.example.com
205438
205439              ServerAdmin webmaster@example.com
205440
205441              LogLevel warn
205442              ErrorLog /var/www/example.com/logs/error.log
205443              CustomLog /var/www/example.com/logs/access.log combined
205444
205445              DocumentRoot /var/www/example.com/htdocs
205446
205447              WSGIScriptAlias / /path/to/salt/netapi/rest_cherrypy/wsgi.py
205448          </VirtualHost>
205449
205450   REST URI Reference
205451   /
205452       class salt.netapi.rest_cherrypy.app.LowDataAdapter
205453              The primary entry point to Salt's REST API
205454
205455              GET()  An explanation of the API with links of where to go next
205456
205457                     GET /
205458
205459                            Request Headers
205460
205461                                   · Accept -- the desired response format.
205462
205463                            Status Codes
205464
205465                                   · 200 -- success
205466
205467                                   · 401 -- authentication required
205468
205469                                   · 406 -- requested Content-Type not  avail‐
205470                                     able
205471
205472                     Example request:
205473
205474                        curl -i localhost:8000
205475
205476                        GET / HTTP/1.1
205477                        Host: localhost:8000
205478                        Accept: application/json
205479
205480                     Example response:
205481
205482                        HTTP/1.1 200 OK
205483                        Content-Type: application/json
205484
205485              POST   Mock out specified imports.
205486
205487                     This allows autodoc to do its thing without having oodles
205488                     of req'd installed libs. This doesn't work with import  *
205489                     imports.
205490
205491                     This  Mock  class  can be configured to return a specific
205492                     values at specific names, if required.
205493
205494                     http://read-the-docs.readthedocs.org/en/latest/faq.html#i-get-import-errors-on-libraries-that-depend-on-c-modules
205495
205496   /login
205497       class salt.netapi.rest_cherrypy.app.Login(*args, **kwargs)
205498              Log in to receive a session token
205499
205500              Authentication information.
205501
205502              GET()  Present the login interface
205503
205504                     GET /login
205505                            An explanation of how to log in.
205506
205507                            Status Codes
205508
205509                                   · 200 -- success
205510
205511                                   · 401 -- authentication required
205512
205513                                   · 406  -- requested Content-Type not avail‐
205514                                     able
205515
205516                     Example request:
205517
205518                        curl -i localhost:8000/login
205519
205520                        GET /login HTTP/1.1
205521                        Host: localhost:8000
205522                        Accept: text/html
205523
205524                     Example response:
205525
205526                        HTTP/1.1 200 OK
205527                        Content-Type: text/html
205528
205529              POST(**kwargs)
205530                     Authenticate against Salt's eauth system
205531
205532                     POST /login
205533
205534                            Request Headers
205535
205536                                   · X-Auth-Token  --  a  session  token  from
205537                                     Login.
205538
205539                                   · Accept -- the desired response format.
205540
205541                                   · Content-Type -- the format of the request
205542                                     body.
205543
205544                            Form Parameters
205545
205546                                   · eauth -- the eauth backend configured for
205547                                     the user
205548
205549                                   · username -- username
205550
205551                                   · password -- password
205552
205553                            Status Codes
205554
205555                                   · 200 -- success
205556
205557                                   · 401 -- authentication required
205558
205559                                   · 406  -- requested Content-Type not avail‐
205560                                     able
205561
205562                     Example request:
205563
205564                        curl -si localhost:8000/login \
205565                            -c ~/cookies.txt \
205566                            -H "Accept: application/json" \
205567                            -H "Content-type: application/json" \
205568                            -d '{
205569                                "username": "saltuser",
205570                                "password": "saltuser",
205571                                "eauth": "auto"
205572                            }'
205573
205574                        POST / HTTP/1.1
205575                        Host: localhost:8000
205576                        Content-Length: 42
205577                        Content-Type: application/json
205578                        Accept: application/json
205579
205580                        {"username": "saltuser", "password": "saltuser", "eauth": "auto"}
205581
205582                     Example response:
205583
205584                        HTTP/1.1 200 OK
205585                        Content-Type: application/json
205586                        Content-Length: 206
205587                        X-Auth-Token: 6d1b722e
205588                        Set-Cookie: session_id=6d1b722e; expires=Sat, 17 Nov 2012 03:23:52 GMT; Path=/
205589
205590                        {"return": {
205591                            "token": "6d1b722e",
205592                            "start": 1363805943.776223,
205593                            "expire": 1363849143.776224,
205594                            "user": "saltuser",
205595                            "eauth": "pam",
205596                            "perms": [
205597                                "grains.*",
205598                                "status.*",
205599                                "sys.*",
205600                                "test.*"
205601                            ]
205602                        }}
205603
205604   /logout
205605       class salt.netapi.rest_cherrypy.app.Logout
205606              Class to remove or invalidate sessions
205607
205608              POST() Destroy the currently active session and expire the  ses‐
205609                     sion cookie
205610
205611   /minions
205612       class salt.netapi.rest_cherrypy.app.Minions
205613              Convenience URLs for working with minions
205614
205615              GET(mid=None)
205616                     A convenience URL for getting lists of minions or getting
205617                     minion details
205618
205619                     GET /minions/(mid)
205620
205621                            Request Headers
205622
205623                                   · X-Auth-Token  --  a  session  token  from
205624                                     Login.
205625
205626                                   · Accept -- the desired response format.
205627
205628                            Status Codes
205629
205630                                   · 200 -- success
205631
205632                                   · 401 -- authentication required
205633
205634                                   · 406  -- requested Content-Type not avail‐
205635                                     able
205636
205637                     Example request:
205638
205639                        curl -i localhost:8000/minions/ms-3
205640
205641                        GET /minions/ms-3 HTTP/1.1
205642                        Host: localhost:8000
205643                        Accept: application/x-yaml
205644
205645                     Example response:
205646
205647                        HTTP/1.1 200 OK
205648                        Content-Length: 129005
205649                        Content-Type: application/x-yaml
205650
205651                        return:
205652                        - ms-3:
205653                            grains.items:
205654                                ...
205655
205656              POST(**kwargs)
205657                     Start an execution command and immediately return the job
205658                     id
205659
205660                     POST /minions
205661
205662                            Request Headers
205663
205664                                   · X-Auth-Token  --  a  session  token  from
205665                                     Login.
205666
205667                                   · Accept -- the desired response format.
205668
205669                                   · Content-Type -- the format of the request
205670                                     body.
205671
205672                            Response Headers
205673
205674                                   · Content-Type   --   the   format  of  the
205675                                     response  body;  depends  on  the  Accept
205676                                     request header.
205677
205678                            Status Codes
205679
205680                                   · 200 -- success
205681
205682                                   · 400 -- bad or malformed request
205683
205684                                   · 401 -- authentication required
205685
205686                                   · 406  -- requested Content-Type not avail‐
205687                                     able
205688
205689                            Lowstate data describing  Salt  commands  must  be
205690                            sent  in  the request body. The client option will
205691                            be set to local_async().
205692
205693                     Example request:
205694
205695                        curl -sSi localhost:8000/minions \
205696                            -b ~/cookies.txt \
205697                            -H "Accept: application/x-yaml" \
205698                            -d '[{"tgt": "*", "fun": "status.diskusage"}]'
205699
205700                        POST /minions HTTP/1.1
205701                        Host: localhost:8000
205702                        Accept: application/x-yaml
205703                        Content-Type: application/json
205704
205705                        tgt=*&fun=status.diskusage
205706
205707                     Example response:
205708
205709                        HTTP/1.1 202 Accepted
205710                        Content-Length: 86
205711                        Content-Type: application/x-yaml
205712
205713                        return:
205714                        - jid: '20130603122505459265'
205715                          minions: [ms-4, ms-3, ms-2, ms-1, ms-0]
205716                        _links:
205717                          jobs:
205718                            - href: /jobs/20130603122505459265
205719
205720   /jobs
205721       class salt.netapi.rest_cherrypy.app.Jobs
205722
205723              GET(jid=None, timeout='')
205724                     A convenience URL for getting  lists  of  previously  run
205725                     jobs or getting the return from a single job
205726
205727                     GET /jobs/(jid)
205728                            List jobs or show a single job from the job cache.
205729
205730                            Request Headers
205731
205732                                   · X-Auth-Token  --  a  session  token  from
205733                                     Login.
205734
205735                                   · Accept -- the desired response format.
205736
205737                            Status Codes
205738
205739                                   · 200 -- success
205740
205741                                   · 401 -- authentication required
205742
205743                                   · 406 -- requested Content-Type not  avail‐
205744                                     able
205745
205746                     Example request:
205747
205748                        curl -i localhost:8000/jobs
205749
205750                        GET /jobs HTTP/1.1
205751                        Host: localhost:8000
205752                        Accept: application/x-yaml
205753
205754                     Example response:
205755
205756                        HTTP/1.1 200 OK
205757                        Content-Length: 165
205758                        Content-Type: application/x-yaml
205759
205760                        return:
205761                        - '20121130104633606931':
205762                            Arguments:
205763                            - '3'
205764                            Function: test.fib
205765                            Start Time: 2012, Nov 30 10:46:33.606931
205766                            Target: jerry
205767                            Target-type: glob
205768
205769                     Example request:
205770
205771                        curl -i localhost:8000/jobs/20121130104633606931
205772
205773                        GET /jobs/20121130104633606931 HTTP/1.1
205774                        Host: localhost:8000
205775                        Accept: application/x-yaml
205776
205777                     Example response:
205778
205779                        HTTP/1.1 200 OK
205780                        Content-Length: 73
205781                        Content-Type: application/x-yaml
205782
205783                        info:
205784                        - Arguments:
205785                            - '3'
205786                            Function: test.fib
205787                            Minions:
205788                            - jerry
205789                            Start Time: 2012, Nov 30 10:46:33.606931
205790                            Target: '*'
205791                            Target-type: glob
205792                            User: saltdev
205793                            jid: '20121130104633606931'
205794                        return:
205795                        - jerry:
205796                            - - 0
205797                            - 1
205798                            - 1
205799                            - 2
205800                            - 6.9141387939453125e-06
205801
205802   /run
205803       class salt.netapi.rest_cherrypy.app.Run
205804              Run commands bypassing the normal session handling
205805
205806              salt-api  does  not  enforce  authorization, Salt's eauth system
205807              does that.  Local/Runner/WheelClient all  accept  username/pass‐
205808              word/eauth  or  token  kwargs that are then checked by the eauth
205809              system. The session mechanism in rest_cherrypy  simply  pairs  a
205810              session  with a Salt eauth token and then passes the token kwarg
205811              in automatically.
205812
205813              If you already have a Salt eauth token, perhaps generated by the
205814              mk_token  function  in  the Auth Runner module, then there is no
205815              reason to use sessions.
205816
205817              This endpoint accepts either a username, password,  eauth  trio,
205818              or a token kwarg and does not make use of sessions at all.
205819
205820              POST(**kwargs)
205821                     Run  commands bypassing the normal session handling Other
205822                     than that this URL is identical to the root URL (/).
205823
205824                     POST /run
205825                            An array of lowstate data describing Salt commands
205826                            must be sent in the request body.
205827
205828                            Status Codes
205829
205830                                   · 200 -- success
205831
205832                                   · 400 -- bad or malformed request
205833
205834                                   · 401 -- authentication required
205835
205836                                   · 406  -- requested Content-Type not avail‐
205837                                     able
205838
205839                     Example request:
205840
205841                        curl -sS localhost:8000/run \
205842                            -H 'Accept: application/x-yaml' \
205843                            -H 'Content-type: application/json' \
205844                            -d '[{
205845                                "client": "local",
205846                                "tgt": "*",
205847                                "fun": "test.ping",
205848                                "username": "saltdev",
205849                                "password": "saltdev",
205850                                "eauth": "auto"
205851                            }]'
205852
205853                     Or using a Salt Eauth token:
205854
205855                        curl -sS localhost:8000/run \
205856                            -H 'Accept: application/x-yaml' \
205857                            -H 'Content-type: application/json' \
205858                            -d '[{
205859                                "client": "local",
205860                                "tgt": "*",
205861                                "fun": "test.ping",
205862                                "token": "<salt eauth token here>"
205863                            }]'
205864
205865                        POST /run HTTP/1.1
205866                        Host: localhost:8000
205867                        Accept: application/x-yaml
205868                        Content-Length: 75
205869                        Content-Type: application/json
205870
205871                        [{"client": "local", "tgt": "*", "fun": "test.ping", "username": "saltdev", "password": "saltdev", "eauth": "auto"}]
205872
205873                     Example response:
205874
205875                        HTTP/1.1 200 OK
205876                        Content-Length: 73
205877                        Content-Type: application/x-yaml
205878
205879                        return:
205880                        - ms-0: true
205881                          ms-1: true
205882                          ms-2: true
205883                          ms-3: true
205884                          ms-4: true
205885
205886                     The /run enpoint can also be used to issue commands using
205887                     the salt-ssh subsystem.
205888
205889                     When using salt-ssh, eauth credentials should not be sup‐
205890                     plied. Instead, authentication should be handled  by  the
205891                     SSH layer itself. The use of the salt-ssh client does not
205892                     require a salt master to be  running.   Instead,  only  a
205893                     roster  file  must  be  present in the salt configuration
205894                     directory.
205895
205896                     All SSH client requests are synchronous.
205897
205898                     Example SSH client request:
205899
205900                        curl -sS localhost:8000/run \
205901                            -H 'Accept: application/x-yaml' \
205902                            -d client='ssh' \
205903                            -d tgt='*' \
205904                            -d fun='test.ping'
205905
205906                        POST /run HTTP/1.1
205907                        Host: localhost:8000
205908                        Accept: application/x-yaml
205909                        Content-Length: 75
205910                        Content-Type: application/x-www-form-urlencoded
205911
205912                        client=ssh&tgt=*&fun=test.ping
205913
205914                     Example SSH response:
205915
205916                        return:
205917                        - silver:
205918                          fun: test.ping
205919                          fun_args: []
205920                          id: silver
205921                          jid: '20141203103525666185'
205922                          retcode: 0
205923                          return: true
205924                          success: true
205925
205926   /events
205927       class salt.netapi.rest_cherrypy.app.Events
205928              Expose the Salt event bus
205929
205930              The event bus on the Salt master  exposes  a  large  variety  of
205931              things,  notably  when  executions are started on the master and
205932              also when minions ultimately return their results. This URL pro‐
205933              vides a real-time window into a running Salt infrastructure.
205934
205935              SEE ALSO:
205936                 events
205937
205938              GET(token=None, salt_token=None)
205939                     An HTTP stream of the Salt master event bus
205940
205941                     This stream is formatted per the Server Sent Events (SSE)
205942                     spec. Each event is formatted as JSON.
205943
205944                     GET /events
205945
205946                            Status Codes
205947
205948                                   · 200 -- success
205949
205950                                   · 401 -- authentication required
205951
205952                                   · 406 -- requested Content-Type not  avail‐
205953                                     able
205954
205955                            Query Parameters
205956
205957                                   · token  --  optional  parameter containing
205958                                     the token  ordinarily  supplied  via  the
205959                                     X-Auth-Token  header  in  order  to allow
205960                                     cross-domain requests in browsers that do
205961                                     not   include   CORS   support   in   the
205962                                     EventSource API. E.g., curl  -NsS  local‐
205963                                     host:8000/events?token=308650d
205964
205965                                   · salt_token -- optional parameter contain‐
205966                                     ing a raw Salt eauth  token  (not  to  be
205967                                     confused with the token returned from the
205968                                     /login  URL).  E.g.,  curl  -NsS   local‐
205969                                     host:8000/events?salt_token=30742765
205970
205971                     Example request:
205972
205973                        curl -NsS localhost:8000/events
205974
205975                        GET /events HTTP/1.1
205976                        Host: localhost:8000
205977
205978                     Example response:
205979
205980                     Note,  the tag field is not part of the spec. SSE compli‐
205981                     ant clients should ignore unknown fields.  This  addition
205982                     allows  non-compliant  clients  to only watch for certain
205983                     tags without having to deserialze the  JSON  object  each
205984                     time.
205985
205986                        HTTP/1.1 200 OK
205987                        Connection: keep-alive
205988                        Cache-Control: no-cache
205989                        Content-Type: text/event-stream;charset=utf-8
205990
205991                        retry: 400
205992
205993                        tag: salt/job/20130802115730568475/new
205994                        data: {'tag': 'salt/job/20130802115730568475/new', 'data': {'minions': ['ms-4', 'ms-3', 'ms-2', 'ms-1', 'ms-0']}}
205995
205996                        tag: salt/job/20130802115730568475/ret/jerry
205997                        data: {'tag': 'salt/job/20130802115730568475/ret/jerry', 'data': {'jid': '20130802115730568475', 'return': True, 'retcode': 0, 'success': True, 'cmd': '_return', 'fun': 'test.ping', 'id': 'ms-1'}}
205998
205999                     The event stream can be easily consumed via JavaScript:
206000
206001                        var source = new EventSource('/events');
206002                        source.onopen = function() { console.info('Listening ...') };
206003                        source.onerror = function(err) { console.error(err) };
206004                        source.onmessage = function(message) {
206005                            var saltEvent = JSON.parse(message.data);
206006                            console.log(saltEvent.tag, saltEvent.data);
206007                        };
206008
206009                     Note,  the SSE stream is fast and completely asynchronous
206010                     and Salt is very fast. If a job is created using a  regu‐
206011                     lar POST request, it is possible that the job return will
206012                     be available on the SSE stream before  the  response  for
206013                     the  POST  request  arrives. It is important to take that
206014                     asynchronicity into account when  designing  an  applica‐
206015                     tion. Below are some general guidelines.
206016
206017                     · Subscribe  to  the  SSE  stream  _before_  creating any
206018                       events.
206019
206020                     · Process SSE events directly as they  arrive  and  don't
206021                       wait for any other process to "complete" first (like an
206022                       ajax request).
206023
206024                     · Keep a buffer of events if the  event  stream  must  be
206025                       used for synchronous lookups.
206026
206027                     · Be  cautious in writing Salt's event stream directly to
206028                       the DOM. It is very busy and can quickly overwhelm  the
206029                       memory allocated to a browser tab.
206030
206031                     A  full,  working proof-of-concept JavaScript application
206032                     is available adjacent to this file.  It can be viewed  by
206033                     pointing  a  browser  at  the  /app endpoint in a running
206034                     rest_cherrypy instance.
206035
206036                     Or using CORS:
206037
206038                        var source = new EventSource('/events?token=ecd589e4e01912cf3c4035afad73426dbb8dba75', {withCredentials: true});
206039
206040                     It is also possible to consume the stream via the shell.
206041
206042                     Records are separated by blank lines; the data: and  tag:
206043                     prefixes will need to be removed manually before attempt‐
206044                     ing to unserialize the JSON.
206045
206046                     curl's  -N  flag  turns  off  input  buffering  which  is
206047                     required to process the stream incrementally.
206048
206049                     Here  is  a  basic  example  of printing each event as it
206050                     comes in:
206051
206052                        curl -NsS localhost:8000/events |\
206053                                while IFS= read -r line ; do
206054                                    echo $line
206055                                done
206056
206057                     Here is an example of using awk to filter events based on
206058                     tag:
206059
206060                        curl -NsS localhost:8000/events |\
206061                                awk '
206062                                    BEGIN { RS=""; FS="\\n" }
206063                                    $1 ~ /^tag: salt\/job\/[0-9]+\/new$/ { print $0 }
206064                                '
206065                        tag: salt/job/20140112010149808995/new
206066                        data: {"tag": "salt/job/20140112010149808995/new", "data": {"tgt_type": "glob", "jid": "20140112010149808995", "tgt": "jerry", "_stamp": "2014-01-12_01:01:49.809617", "user": "shouse", "arg": [], "fun": "test.ping", "minions": ["jerry"]}}
206067                        tag: 20140112010149808995
206068                        data: {"tag": "20140112010149808995", "data": {"fun_args": [], "jid": "20140112010149808995", "return": true, "retcode": 0, "success": true, "cmd": "_return", "_stamp": "2014-01-12_01:01:49.819316", "fun": "test.ping", "id": "jerry"}}
206069
206070   /hook
206071       class salt.netapi.rest_cherrypy.app.Webhook
206072              A  generic  web  hook  entry point that fires an event on Salt's
206073              event bus
206074
206075              External services can POST data to this URL to trigger an  event
206076              in  Salt.   For example, Amazon SNS, Jenkins-CI or Travis-CI, or
206077              GitHub web hooks.
206078
206079              NOTE:
206080                 Be mindful of security
206081
206082                 Salt's Reactor can run any code. A Reactor SLS that  responds
206083                 to  a hook event is responsible for validating that the event
206084                 came from a trusted source and contains valid data.
206085
206086                 This is a generic interface and securing it is up to you!
206087
206088                 This URL requires authentication  however  not  all  external
206089                 services  can  be configured to authenticate. For this reason
206090                 authentication can be selectively disabled for this URL. Fol‐
206091                 low best practices -- always use SSL, pass a secret key, con‐
206092                 figure the firewall  to  only  allow  traffic  from  a  known
206093                 source, etc.
206094
206095              The  event data is taken from the request body. The Content-Type
206096              header is respected for the payload.
206097
206098              The event tag is prefixed with salt/netapi/hook and the URL path
206099              is  appended  to  the  end.  For example, a POST request sent to
206100              /hook/mycompany/myapp/mydata will produce a Salt event with  the
206101              tag salt/netapi/hook/mycompany/myapp/mydata.
206102
206103              The  following  is an example .travis.yml file to send notifica‐
206104              tions to Salt of successful test runs:
206105
206106                 language: python
206107                 script: python -m unittest tests
206108                 after_success:
206109                     - |
206110                         curl -sSk https://saltapi-url.example.com:8000/hook/travis/build/success                         -d branch="${TRAVIS_BRANCH}"                         -d commit="${TRAVIS_COMMIT}"
206111
206112              SEE ALSO:
206113                 events, reactor
206114
206115              POST(*args, **kwargs)
206116                     Fire an event in Salt with a custom event tag and data
206117
206118                     POST /hook
206119
206120                            Status Codes
206121
206122                                   · 200 -- success
206123
206124                                   · 401 -- authentication required
206125
206126                                   · 406 -- requested Content-Type not  avail‐
206127                                     able
206128
206129                                   · 413 -- request body is too large
206130
206131                     Example request:
206132
206133                        curl -sS localhost:8000/hook \
206134                            -H 'Content-type: application/json' \
206135                            -d '{"foo": "Foo!", "bar": "Bar!"}'
206136
206137                        POST /hook HTTP/1.1
206138                        Host: localhost:8000
206139                        Content-Length: 16
206140                        Content-Type: application/json
206141
206142                        {"foo": "Foo!", "bar": "Bar!"}
206143
206144                     Example response:
206145
206146                        HTTP/1.1 200 OK
206147                        Content-Length: 14
206148                        Content-Type: application/json
206149
206150                        {"success": true}
206151
206152                     As  a  practical example, an internal continuous-integra‐
206153                     tion build server could send an HTTP POST request to  the
206154                     URL   https://localhost:8000/hook/mycompany/build/success
206155                     which contains the result of a build and the SHA  of  the
206156                     version  that  was built as JSON. That would then produce
206157                     the following event in Salt that could be  used  to  kick
206158                     off a deployment via Salt's Reactor:
206159
206160                        Event fired at Fri Feb 14 17:40:11 2014
206161                        *************************
206162                        Tag: salt/netapi/hook/mycompany/build/success
206163                        Data:
206164                        {'_stamp': '2014-02-14_17:40:11.440996',
206165                            'headers': {
206166                                'X-My-Secret-Key': 'F0fAgoQjIT@W',
206167                                'Content-Length': '37',
206168                                'Content-Type': 'application/json',
206169                                'Host': 'localhost:8000',
206170                                'Remote-Addr': '127.0.0.1'},
206171                            'post': {'revision': 'aa22a3c4b2e7', 'result': True}}
206172
206173                     Salt's Reactor could listen for the event:
206174
206175                        reactor:
206176                          - 'salt/netapi/hook/mycompany/build/*':
206177                            - /srv/reactor/react_ci_builds.sls
206178
206179                     And finally deploy the new build:
206180
206181                        {% set secret_key = data.get('headers', {}).get('X-My-Secret-Key') %}
206182                        {% set build = data.get('post', {}) %}
206183
206184                        {% if secret_key == 'F0fAgoQjIT@W' and build.result == True %}
206185                        deploy_my_app:
206186                          cmd.state.sls:
206187                            - tgt: 'application*'
206188                            - arg:
206189                              - myapp.deploy
206190                            - kwarg:
206191                                pillar:
206192                                  revision: {{ revision }}
206193                        {% endif %}
206194
206195   /keys
206196       class salt.netapi.rest_cherrypy.app.Keys
206197              Convenience URLs for working with minion keys
206198
206199              New in version 2014.7.0.
206200
206201
206202              These URLs wrap the functionality provided by the key wheel mod‐
206203              ule functions.
206204
206205              GET(mid=None)
206206                     Show the list of minion keys or detail on a specific key
206207
206208                     New in version 2014.7.0.
206209
206210
206211                     GET /keys/(mid)
206212                            List all keys or show a specific key
206213
206214                            Request Headers
206215
206216                                   · X-Auth-Token  --  a  session  token  from
206217                                     Login.
206218
206219                                   · Accept -- the desired response format.
206220
206221                            Status Codes
206222
206223                                   · 200 -- success
206224
206225                                   · 401 -- authentication required
206226
206227                                   · 406  -- requested Content-Type not avail‐
206228                                     able
206229
206230                     Example request:
206231
206232                        curl -i localhost:8000/keys
206233
206234                        GET /keys HTTP/1.1
206235                        Host: localhost:8000
206236                        Accept: application/x-yaml
206237
206238                     Example response:
206239
206240                        HTTP/1.1 200 OK
206241                        Content-Length: 165
206242                        Content-Type: application/x-yaml
206243
206244                        return:
206245                          local:
206246                          - master.pem
206247                          - master.pub
206248                          minions:
206249                          - jerry
206250                          minions_pre: []
206251                          minions_rejected: []
206252
206253                     Example request:
206254
206255                        curl -i localhost:8000/keys/jerry
206256
206257                        GET /keys/jerry HTTP/1.1
206258                        Host: localhost:8000
206259                        Accept: application/x-yaml
206260
206261                     Example response:
206262
206263                        HTTP/1.1 200 OK
206264                        Content-Length: 73
206265                        Content-Type: application/x-yaml
206266
206267                        return:
206268                          minions:
206269                            jerry: 51:93:b3:d0:9f:3a:6d:e5:28:67:c2:4b:27:d6:cd:2b
206270
206271              POST(**kwargs)
206272                     Easily generate keys for a minion and auto-accept the new
206273                     key
206274
206275                     Accepts all the same parameters as the key.gen_accept.
206276
206277                     NOTE:
206278                        A  note  about  curl  Avoid  using the -i flag or HTTP
206279                        headers will be written and  produce  an  invalid  tar
206280                        file.
206281
206282                     Example  partial kickstart script to bootstrap a new min‐
206283                     ion:
206284
206285                        %post
206286                        mkdir -p /etc/salt/pki/minion
206287                        curl -sSk https://localhost:8000/keys \
206288                                -d mid=jerry \
206289                                -d username=kickstart \
206290                                -d password=kickstart \
206291                                -d eauth=pam \
206292                            | tar -C /etc/salt/pki/minion -xf -
206293
206294                        mkdir -p /etc/salt/minion.d
206295                        printf 'master: 10.0.0.5\nid: jerry' > /etc/salt/minion.d/id.conf
206296                        %end
206297
206298                     POST /keys
206299                            Generate a public and private key and return  both
206300                            as a tarball
206301
206302                            Authentication  credentials  must be passed in the
206303                            request.
206304
206305                            Status Codes
206306
206307                                   · 200 -- success
206308
206309                                   · 401 -- authentication required
206310
206311                                   · 406 -- requested Content-Type not  avail‐
206312                                     able
206313
206314                     Example request:
206315
206316                        curl -sSk https://localhost:8000/keys \
206317                                -d mid=jerry \
206318                                -d username=kickstart \
206319                                -d password=kickstart \
206320                                -d eauth=pam \
206321                                -o jerry-salt-keys.tar
206322
206323                        POST /keys HTTP/1.1
206324                        Host: localhost:8000
206325
206326                     Example response:
206327
206328                        HTTP/1.1 200 OK
206329                        Content-Length: 10240
206330                        Content-Disposition: attachment; filename="saltkeys-jerry.tar"
206331                        Content-Type: application/x-tar
206332
206333                        jerry.pub0000644000000000000000000000070300000000000010730 0ustar  00000000000000
206334
206335   /ws
206336       class salt.netapi.rest_cherrypy.app.WebsocketEndpoint
206337              Open a WebSocket connection to Salt's event bus
206338
206339              The  event  bus  on  the  Salt master exposes a large variety of
206340              things, notably when executions are started on  the  master  and
206341              also when minions ultimately return their results. This URL pro‐
206342              vides a real-time window into  a  running  Salt  infrastructure.
206343              Uses websocket as the transport mechanism.
206344
206345              SEE ALSO:
206346                 events
206347
206348              GET(token=None, **kwargs)
206349                     Return a websocket connection of Salt's event stream
206350
206351                     GET /ws/(token)
206352
206353                     Query format_events
206354                            The  event stream will undergo server-side format‐
206355                            ting  if  the  format_events  URL   parameter   is
206356                            included  in  the  request.  This can be useful to
206357                            avoid formatting on the client-side:
206358
206359                               curl -NsS <...snip...> localhost:8000/ws?format_events
206360
206361                     Reqheader X-Auth-Token
206362                            an authentication token from Login.
206363
206364                     Status 101
206365                            switching to the websockets protocol
206366
206367                     Status 401
206368                            authentication required
206369
206370                     Status 406
206371                            requested Content-Type not available
206372
206373                     Example request:
206374
206375                        curl -NsSk \
206376                            -H 'X-Auth-Token: ffedf49d' \
206377                            -H 'Host: localhost:8000' \
206378                            -H 'Connection: Upgrade' \
206379                            -H 'Upgrade: websocket' \
206380                            -H 'Origin: https://localhost:8000' \
206381                            -H 'Sec-WebSocket-Version: 13' \
206382                            -H 'Sec-WebSocket-Key: '"$(echo -n $RANDOM | base64)" \
206383                            localhost:8000/ws
206384
206385                        GET /ws HTTP/1.1
206386                        Connection: Upgrade
206387                        Upgrade: websocket
206388                        Host: localhost:8000
206389                        Origin: https://localhost:8000
206390                        Sec-WebSocket-Version: 13
206391                        Sec-WebSocket-Key: s65VsgHigh7v/Jcf4nXHnA==
206392                        X-Auth-Token: ffedf49d
206393
206394                     Example response:
206395
206396                        HTTP/1.1 101 Switching Protocols
206397                        Upgrade: websocket
206398                        Connection: Upgrade
206399                        Sec-WebSocket-Accept: mWZjBV9FCglzn1rIKJAxrTFlnJE=
206400                        Sec-WebSocket-Version: 13
206401
206402                     An authentication token may optionally be passed as  part
206403                     of the URL for browsers that cannot be configured to send
206404                     the authentication header or cookie:
206405
206406                        curl -NsS <...snip...> localhost:8000/ws/ffedf49d
206407
206408                     The event stream can be easily consumed via JavaScript:
206409
206410                        // Note, you must be authenticated!
206411                        var source = new Websocket('ws://localhost:8000/ws/d0ce6c1a');
206412                        source.onerror = function(e) { console.debug('error!', e); };
206413                        source.onmessage = function(e) { console.debug(e.data); };
206414
206415                        source.send('websocket client ready')
206416
206417                        source.close();
206418
206419                     Or via Python, using the Python  module  websocket-client
206420                     for example.
206421
206422                        # Note, you must be authenticated!
206423
206424                        from websocket import create_connection
206425
206426                        ws = create_connection('ws://localhost:8000/ws/d0ce6c1a')
206427                        ws.send('websocket client ready')
206428
206429                        # Look at https://pypi.python.org/pypi/websocket-client/ for more
206430                        # examples.
206431                        while listening_to_events:
206432                            print ws.recv()
206433
206434                        ws.close()
206435
206436                     Above  examples show how to establish a websocket connec‐
206437                     tion to Salt and activating real time updates from Salt's
206438                     event stream by signaling websocket client ready.
206439
206440   /stats
206441       class salt.netapi.rest_cherrypy.app.Stats
206442              Expose statistics on the running CherryPy server
206443
206444              GET()  Return  a  dump of statistics collected from the CherryPy
206445                     server
206446
206447                     GET /stats
206448
206449                            Request Headers
206450
206451                                   · X-Auth-Token  --  a  session  token  from
206452                                     Login.
206453
206454                                   · Accept -- the desired response format.
206455
206456                            Response Headers
206457
206458                                   · Content-Type   --   the   format  of  the
206459                                     response  body;  depends  on  the  Accept
206460                                     request header.
206461
206462                            Status Codes
206463
206464                                   · 200 -- success
206465
206466                                   · 401 -- authentication required
206467
206468                                   · 406  -- requested Content-Type not avail‐
206469                                     able
206470
206471   rest_tornado
206472   A non-blocking REST API for Salt
206473       depends
206474
206475              · tornado Python module
206476
206477       configuration
206478              All authentication is done through Salt's external  auth  system
206479              which requires additional configuration not described here.
206480
206481       In  order to run rest_tornado with the salt-master add the following to
206482       the Salt master config file.
206483
206484          rest_tornado:
206485              # can be any port
206486              port: 8000
206487              # address to bind to (defaults to 0.0.0.0)
206488              address: 0.0.0.0
206489              # socket backlog
206490              backlog: 128
206491              ssl_crt: /etc/pki/api/certs/server.crt
206492              # no need to specify ssl_key if cert and key
206493              # are in one single file
206494              ssl_key: /etc/pki/api/certs/server.key
206495              debug: False
206496              disable_ssl: False
206497              webhook_disable_auth: False
206498              cors_origin: null
206499
206500   Authentication
206501       Authentication is performed  by  passing  a  session  token  with  each
206502       request.  Tokens are generated via the SaltAuthHandler URL.
206503
206504       The token may be sent in one of two ways:
206505
206506       · Include a custom header named X-Auth-Token.
206507
206508       · Sent via a cookie. This option is a convenience for HTTP clients that
206509         automatically handle cookie support (such as browsers).
206510
206511       SEE ALSO:
206512          You can bypass the session handling via the RunSaltAPIHandler URL.
206513
206514   CORS
206515       rest_tornado supports Cross-site HTTP requests out of the box. It is by
206516       default deactivated and controlled by the cors_origin config key.
206517
206518       You can allow all origins by settings cors_origin to *.
206519
206520       You can allow only one origin with this configuration:
206521
206522          rest_tornado:
206523              cors_origin: http://salt.yourcompany.com
206524
206525       You  can also be more specific and select only a few allowed origins by
206526       using a list. For example:
206527
206528          rest_tornado:
206529              cors_origin:
206530                  - http://salt.yourcompany.com
206531                  - http://salt-preprod.yourcampany.com
206532
206533       The format for origin are full URL, with both scheme and  port  if  not
206534       standard.
206535
206536       In  this  case,  rest_tornado will check if the Origin header is in the
206537       allowed list if it's the case allow the origin. Else  it  will  returns
206538       nothing, effectively preventing the origin to make request.
206539
206540       For  reference, CORS is a mechanism used by browser to allow (or disal‐
206541       low) requests made from browser from a different origin than  salt-api.
206542       It's  complementary to Authentication and mandatory only if you plan to
206543       use a salt client developed as a Javascript browser application.
206544
206545   Usage
206546       Commands are sent to a running Salt master via this module  by  sending
206547       HTTP requests to the URLs detailed below.
206548
206549          Content negotiation
206550
206551                 This  REST interface is flexible in what data formats it will
206552                 accept as well as what formats it will  return  (e.g.,  JSON,
206553                 YAML, x-www-form-urlencoded).
206554
206555          · Specify  the  format  of data in the request body by including the
206556            Content-Type header.
206557
206558          · Specify the desired data format for the  response  body  with  the
206559            Accept header.
206560
206561       Data  sent in POST and PUT requests  must be in the format of a list of
206562       lowstate dictionaries. This allows multiple commands to be executed  in
206563       a single HTTP request.
206564
206565       lowstate
206566              A  dictionary  containing  various keys that instruct Salt which
206567              command to run, where that command  lives,  any  parameters  for
206568              that  command,  any authentication credentials, what returner to
206569              use, etc.
206570
206571              Salt uses the lowstate data format internally in many places  to
206572              pass command data between functions. Salt also uses lowstate for
206573              the LocalClient() Python API interface.
206574
206575       The following example (in JSON format) causes Salt to execute two  com‐
206576       mands:
206577
206578          [{
206579              "client": "local",
206580              "tgt": "*",
206581              "fun": "test.fib",
206582              "arg": ["10"]
206583          },
206584          {
206585              "client": "runner",
206586              "fun": "jobs.lookup_jid",
206587              "jid": "20130603122505459265"
206588          }]
206589
206590       Multiple  commands in a Salt API request will be executed in serial and
206591       makes no gaurantees  that  all  commands  will  run.  Meaning  that  if
206592       test.fib (from the example above) had an exception, the API would still
206593       execute "jobs.lookup_jid".
206594
206595       Responses to these lowstates are an in-order list of  dicts  containing
206596       the return data, a yaml response could look like:
206597
206598          - ms-1: true
206599            ms-2: true
206600          - ms-1: foo
206601            ms-2: bar
206602
206603       In  the  event of an exception while executing a command the return for
206604       that lowstate will be a string, for example if no minions  matched  the
206605       first lowstate we would get a return like:
206606
206607          - No minions matched the target. No command was sent, no jid was assigned.
206608          - ms-1: true
206609            ms-2: true
206610
206611          x-www-form-urlencoded
206612
206613                 Sending  JSON  or YAML in the request body is simple and most
206614                 flexible, however sending data in urlencoded format  is  also
206615                 supported  with  the  caveats below. It is the default format
206616                 for HTML forms, many JavaScript libraries, and the curl  com‐
206617                 mand.
206618
206619                 For  example, the equivalent to running salt '*' test.ping is
206620                 sending  fun=test.ping&arg&client=local&tgt=*  in  the   HTTP
206621                 request body.
206622
206623                 Caveats:
206624
206625          · Only a single command may be sent per HTTP request.
206626
206627          · Repeating the arg parameter multiple times will cause those param‐
206628            eters to be combined into a single list.
206629
206630            Note, some popular frameworks and languages (notably jQuery,  PHP,
206631            and  Ruby  on Rails) will automatically append empty brackets onto
206632            repeated parameters.  E.g.,  arg=one,  arg=two  will  be  sent  as
206633            arg[]=one,  arg[]=two.  This  is  not supported; send JSON or YAML
206634            instead.
206635
206636   A Websockets add-on to saltnado
206637       depends
206638
206639              · tornado Python module
206640
206641       In order to enable saltnado_websockets you must add websockets: True to
206642       your saltnado config block.
206643
206644          rest_tornado:
206645              # can be any port
206646              port: 8000
206647              ssl_crt: /etc/pki/api/certs/server.crt
206648              # no need to specify ssl_key if cert and key
206649              # are in one single file
206650              ssl_key: /etc/pki/api/certs/server.key
206651              debug: False
206652              disable_ssl: False
206653              websockets: True
206654
206655   All Events
206656       Exposes  all  "real-time"  events  from Salt's event bus on a websocket
206657       connection.  It should be  noted  that  "Real-time"  here  means  these
206658       events  are  made  available  to the server as soon as any salt related
206659       action (changes to minions, new jobs etc) happens.  Clients are however
206660       assumed to be able to tolerate any network transport related latencies.
206661       Functionality provided by this endpoint is similar to the  /events  end
206662       point.
206663
206664       The  event  bus  on  the Salt master exposes a large variety of things,
206665       notably when executions are started on the master and also when minions
206666       ultimately  return  their results. This URL provides a real-time window
206667       into a running Salt infrastructure. Uses  websocket  as  the  transport
206668       mechanism.
206669
206670       Exposes  GET  method  to  return  websocket  connections.  All requests
206671       should include an auth token.  A way to  obtain  obtain  authentication
206672       tokens is shown below.
206673
206674          % curl -si localhost:8000/login \
206675              -H "Accept: application/json" \
206676              -d username='salt' \
206677              -d password='salt' \
206678              -d eauth='pam'
206679
206680       Which results in the response
206681
206682          {
206683              "return": [{
206684                  "perms": [".*", "@runner", "@wheel"],
206685                  "start": 1400556492.277421,
206686                  "token": "d0ce6c1a37e99dcc0374392f272fe19c0090cca7",
206687                  "expire": 1400599692.277422,
206688                  "user": "salt",
206689                  "eauth": "pam"
206690              }]
206691          }
206692
206693       In       this       example       the       token      returned      is
206694       d0ce6c1a37e99dcc0374392f272fe19c0090cca7 and can be included in  subse‐
206695       quent websocket requests (as part of the URL).
206696
206697       The event stream can be easily consumed via JavaScript:
206698
206699          // Note, you must be authenticated!
206700
206701          // Get the Websocket connection to Salt
206702          var source = new Websocket('wss://localhost:8000/all_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7');
206703
206704          // Get Salt's "real time" event stream.
206705          source.onopen = function() { source.send('websocket client ready'); };
206706
206707          // Other handlers
206708          source.onerror = function(e) { console.debug('error!', e); };
206709
206710          // e.data represents Salt's "real time" event data as serialized JSON.
206711          source.onmessage = function(e) { console.debug(e.data); };
206712
206713          // Terminates websocket connection and Salt's "real time" event stream on the server.
206714          source.close();
206715
206716       Or  via  Python,  using the Python module websocket-client for example.
206717       Or the tornado client.
206718
206719          # Note, you must be authenticated!
206720
206721          from websocket import create_connection
206722
206723          # Get the Websocket connection to Salt
206724          ws = create_connection('wss://localhost:8000/all_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7')
206725
206726          # Get Salt's "real time" event stream.
206727          ws.send('websocket client ready')
206728
206729
206730          # Simple listener to print results of Salt's "real time" event stream.
206731          # Look at https://pypi.python.org/pypi/websocket-client/ for more examples.
206732          while listening_to_events:
206733              print ws.recv()       #  Salt's "real time" event data as serialized JSON.
206734
206735          # Terminates websocket connection and Salt's "real time" event stream on the server.
206736          ws.close()
206737
206738          # Please refer to https://github.com/liris/websocket-client/issues/81 when using a self signed cert
206739
206740       Above examples show how to establish a websocket connection to Salt and
206741       activating real time updates from Salt's event stream by signaling web‐
206742       socket client ready.
206743
206744   Formatted Events
206745       Exposes formatted "real-time" events from Salt's event bus  on  a  web‐
206746       socket  connection.   It  should  be  noted that "Real-time" here means
206747       these events are made available to the  server  as  soon  as  any  salt
206748       related action (changes to minions, new jobs etc) happens.  Clients are
206749       however assumed to be able to tolerate any  network  transport  related
206750       latencies.   Functionality  provided by this endpoint is similar to the
206751       /events end point.
206752
206753       The event bus on the Salt master exposes a  large  variety  of  things,
206754       notably when executions are started on the master and also when minions
206755       ultimately return their results. This URL provides a  real-time  window
206756       into  a  running  Salt  infrastructure. Uses websocket as the transport
206757       mechanism.
206758
206759       Formatted events parses the raw "real time" event stream and  maintains
206760       a current view of the following:
206761
206762       · minions
206763
206764       · jobs
206765
206766       A  change  to the minions (such as addition, removal of keys or connec‐
206767       tion drops) or jobs is processed and clients are updated.  Since we use
206768       salt's  presence events to track minions, please enable presence_events
206769       and set a small value for the loop_interval in the salt  master  config
206770       file.
206771
206772       Exposes  GET  method  to  return  websocket  connections.  All requests
206773       should include an auth token.  A way to  obtain  obtain  authentication
206774       tokens is shown below.
206775
206776          % curl -si localhost:8000/login \
206777              -H "Accept: application/json" \
206778              -d username='salt' \
206779              -d password='salt' \
206780              -d eauth='pam'
206781
206782       Which results in the response
206783
206784          {
206785              "return": [{
206786                  "perms": [".*", "@runner", "@wheel"],
206787                  "start": 1400556492.277421,
206788                  "token": "d0ce6c1a37e99dcc0374392f272fe19c0090cca7",
206789                  "expire": 1400599692.277422,
206790                  "user": "salt",
206791                  "eauth": "pam"
206792              }]
206793          }
206794
206795       In       this       example       the       token      returned      is
206796       d0ce6c1a37e99dcc0374392f272fe19c0090cca7 and can be included in  subse‐
206797       quent websocket requests (as part of the URL).
206798
206799       The event stream can be easily consumed via JavaScript:
206800
206801          // Note, you must be authenticated!
206802
206803          // Get the Websocket connection to Salt
206804          var source = new Websocket('wss://localhost:8000/formatted_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7');
206805
206806          // Get Salt's "real time" event stream.
206807          source.onopen = function() { source.send('websocket client ready'); };
206808
206809          // Other handlers
206810          source.onerror = function(e) { console.debug('error!', e); };
206811
206812          // e.data represents Salt's "real time" event data as serialized JSON.
206813          source.onmessage = function(e) { console.debug(e.data); };
206814
206815          // Terminates websocket connection and Salt's "real time" event stream on the server.
206816          source.close();
206817
206818       Or  via  Python,  using the Python module websocket-client for example.
206819       Or the tornado client.
206820
206821          # Note, you must be authenticated!
206822
206823          from websocket import create_connection
206824
206825          # Get the Websocket connection to Salt
206826          ws = create_connection('wss://localhost:8000/formatted_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7')
206827
206828          # Get Salt's "real time" event stream.
206829          ws.send('websocket client ready')
206830
206831
206832          # Simple listener to print results of Salt's "real time" event stream.
206833          # Look at https://pypi.python.org/pypi/websocket-client/ for more examples.
206834          while listening_to_events:
206835              print ws.recv()       #  Salt's "real time" event data as serialized JSON.
206836
206837          # Terminates websocket connection and Salt's "real time" event stream on the server.
206838          ws.close()
206839
206840          # Please refer to https://github.com/liris/websocket-client/issues/81 when using a self signed cert
206841
206842       Above examples show how to establish a websocket connection to Salt and
206843       activating real time updates from Salt's event stream by signaling web‐
206844       socket client ready.
206845
206846   Example responses
206847       Minion information is a dictionary keyed by each connected minion's  id
206848       (mid), grains information for each minion is also included.
206849
206850       Minion information is sent in response to the following minion events:
206851
206852       ·
206853
206854         connection drops
206855
206856                · requires    running    manage.present   periodically   every
206857                  loop_interval seconds
206858
206859       · minion addition
206860
206861       · minon removal
206862
206863          # Not all grains are shown
206864          data: {
206865              "minions": {
206866                  "minion1": {
206867                      "id": "minion1",
206868                      "grains": {
206869                          "kernel": "Darwin",
206870                          "domain": "local",
206871                          "zmqversion": "4.0.3",
206872                          "kernelrelease": "13.2.0"
206873                      }
206874                  }
206875              }
206876          }
206877
206878       Job information is also tracked and delivered.
206879
206880       Job information is also a dictionary in which each job's information is
206881       keyed by salt's jid.
206882
206883          data: {
206884              "jobs": {
206885                  "20140609153646699137": {
206886                      "tgt_type": "glob",
206887                      "jid": "20140609153646699137",
206888                      "tgt": "*",
206889                      "start_time": "2014-06-09T15:36:46.700315",
206890                      "state": "complete",
206891                      "fun": "test.ping",
206892                      "minions": {
206893                          "minion1": {
206894                              "return": true,
206895                              "retcode": 0,
206896                              "success": true
206897                          }
206898                      }
206899                  }
206900              }
206901          }
206902
206903   Setup
206904   REST URI Reference
206905       · /
206906
206907       · /login
206908
206909       · /minions
206910
206911       · /jobs
206912
206913       · /run
206914
206915       · /events
206916
206917       · /hook
206918
206919   /
206920       class     salt.netapi.rest_tornado.saltnado.SaltAPIHandler(application,
206921       request, **kwargs)
206922              Main API handler for base "/"
206923
206924              disbatch(**kwargs)
206925                     Disbatch all lowstates to the appropriate clients
206926
206927              get()  An endpoint to determine salt-api capabilities
206928
206929                     GET /
206930
206931                            Request Headers
206932
206933                                   · Accept -- the desired response format.
206934
206935                            Status Codes
206936
206937                                   · 200 -- success
206938
206939                                   · 401 -- authentication required
206940
206941                                   · 406 -- requested Content-Type not  avail‐
206942                                     able
206943
206944                     Example request:
206945
206946                        curl -i localhost:8000
206947
206948                        GET / HTTP/1.1
206949                        Host: localhost:8000
206950                        Accept: application/json
206951
206952                     Example response:
206953
206954                        HTTP/1.1 200 OK
206955                        Content-Type: application/json
206956                        Content-Legnth: 83
206957
206958                        {"clients": ["local", "local_async", "runner", "runner_async"], "return": "Welcome"}
206959
206960              post(*args, **kwargs)
206961                     Send one or more Salt commands (lowstates) in the request
206962                     body
206963
206964                     POST /
206965
206966                            Request Headers
206967
206968                                   · X-Auth-Token  --  a  session  token  from
206969                                     SaltAuthHandler.
206970
206971                                   · Accept -- the desired response format.
206972
206973                                   · Content-Type -- the format of the request
206974                                     body.
206975
206976                            Response Headers
206977
206978                                   · Content-Type  --  the   format   of   the
206979                                     response  body;  depends  on  the  Accept
206980                                     request header.
206981
206982                            Status Codes
206983
206984                                   · 200 -- success
206985
206986                                   · 401 -- authentication required
206987
206988                                   · 406 -- requested Content-Type not  avail‐
206989                                     able
206990
206991                            lowstate  data  describing  Salt  commands must be
206992                            sent in the request body.
206993
206994                     Example request:
206995
206996                        curl -si https://localhost:8000 \
206997                                -H "Accept: application/x-yaml" \
206998                                -H "X-Auth-Token: d40d1e1e" \
206999                                -d client=local \
207000                                -d tgt='*' \
207001                                -d fun='test.ping' \
207002                                -d arg
207003
207004                        POST / HTTP/1.1
207005                        Host: localhost:8000
207006                        Accept: application/x-yaml
207007                        X-Auth-Token: d40d1e1e
207008                        Content-Length: 36
207009                        Content-Type: application/x-www-form-urlencoded
207010
207011                        fun=test.ping&arg&client=local&tgt=*
207012
207013                     Example response:
207014
207015                     Responses are an in-order list of the  lowstate's  return
207016                     data.  In the event of an exception running a command the
207017                     return will be a string instead of a mapping.
207018
207019                        HTTP/1.1 200 OK
207020                        Content-Length: 200
207021                        Allow: GET, HEAD, POST
207022                        Content-Type: application/x-yaml
207023
207024                        return:
207025                        - ms-0: true
207026                            ms-1: true
207027                            ms-2: true
207028                            ms-3: true
207029                            ms-4: true
207030
207031                        multiple commands
207032
207033                               Note that if multiple lowstate  structures  are
207034                               sent, the Salt API will execute them in serial,
207035                               and will not stop execution upon failure  of  a
207036                               previous job. If you need to have commands exe‐
207037                               cuted in order and stop on failure  please  use
207038                               compound-command-execution.
207039
207040   /login
207041       class    salt.netapi.rest_tornado.saltnado.SaltAuthHandler(application,
207042       request, **kwargs)
207043              Handler for login requests
207044
207045              get()  All logins are done over post, this is a parked endpoint
207046
207047                     GET /login
207048
207049                            Status Codes
207050
207051                                   · 401 -- authentication required
207052
207053                                   · 406 -- requested Content-Type not  avail‐
207054                                     able
207055
207056                     Example request:
207057
207058                        curl -i localhost:8000/login
207059
207060                        GET /login HTTP/1.1
207061                        Host: localhost:8000
207062                        Accept: application/json
207063
207064                     Example response:
207065
207066                        HTTP/1.1 401 Unauthorized
207067                        Content-Type: application/json
207068                        Content-Length: 58
207069
207070                        {"status": "401 Unauthorized", "return": "Please log in"}
207071
207072              post() Authenticate against Salt's eauth system
207073
207074                     POST /login
207075
207076                            Request Headers
207077
207078                                   · X-Auth-Token  --  a  session  token  from
207079                                     SaltAuthHandler.
207080
207081                                   · Accept -- the desired response format.
207082
207083                                   · Content-Type -- the format of the request
207084                                     body.
207085
207086                            Form Parameters
207087
207088                                   · eauth -- the eauth backend configured for
207089                                     the user
207090
207091                                   · username -- username
207092
207093                                   · password -- password
207094
207095                            Status Codes
207096
207097                                   · 200 -- success
207098
207099                                   · 400 -- bad request
207100
207101                                   · 401 -- authentication required
207102
207103                                   · 406 -- requested Content-Type not  avail‐
207104                                     able
207105
207106                                   · 500 -- internal server error
207107
207108                     Example request:
207109
207110                        curl -si localhost:8000/login \
207111                                -H "Accept: application/json" \
207112                                -d username='saltuser' \
207113                                -d password='saltpass' \
207114                                -d eauth='pam'
207115
207116                        POST / HTTP/1.1
207117                        Host: localhost:8000
207118                        Content-Length: 42
207119                        Content-Type: application/x-www-form-urlencoded
207120                        Accept: application/json
207121
207122                        username=saltuser&password=saltpass&eauth=pam
207123
207124                     Example response:
207125
207126                        HTTP/1.1 200 OK
207127                        Content-Type: application/json
207128                        Content-Length: 206
207129                        X-Auth-Token: 6d1b722e
207130                        Set-Cookie: session_id=6d1b722e; expires=Sat, 17 Nov 2012 03:23:52 GMT; Path=/
207131
207132                        {"return": {
207133                            "token": "6d1b722e",
207134                            "start": 1363805943.776223,
207135                            "expire": 1363849143.776224,
207136                            "user": "saltuser",
207137                            "eauth": "pam",
207138                            "perms": [
207139                                "grains.*",
207140                                "status.*",
207141                                "sys.*",
207142                                "test.*"
207143                            ]
207144                        }}
207145
207146   /minions
207147       class   salt.netapi.rest_tornado.saltnado.MinionSaltAPIHandler(applica‐
207148       tion, request, **kwargs)
207149              A convenience endpoint for minion related functions
207150
207151              get(*args, **kwargs)
207152                     A convenience URL for getting lists of minions or getting
207153                     minion details
207154
207155                     GET /minions/(mid)
207156
207157                            Request Headers
207158
207159                                   · X-Auth-Token  --  a  session  token  from
207160                                     SaltAuthHandler.
207161
207162                                   · Accept -- the desired response format.
207163
207164                            Status Codes
207165
207166                                   · 200 -- success
207167
207168                                   · 401 -- authentication required
207169
207170                                   · 406 -- requested Content-Type not  avail‐
207171                                     able
207172
207173                     Example request:
207174
207175                        curl -i localhost:8000/minions/ms-3
207176
207177                        GET /minions/ms-3 HTTP/1.1
207178                        Host: localhost:8000
207179                        Accept: application/x-yaml
207180
207181                     Example response:
207182
207183                        HTTP/1.1 200 OK
207184                        Content-Length: 129005
207185                        Content-Type: application/x-yaml
207186
207187                        return:
207188                        - ms-3:
207189                            grains.items:
207190                                ...
207191
207192              post(*args, **kwargs)
207193                     Start an execution command and immediately return the job
207194                     id
207195
207196                     POST /minions
207197
207198                            Request Headers
207199
207200                                   · X-Auth-Token  --  a  session  token  from
207201                                     SaltAuthHandler.
207202
207203                                   · Accept -- the desired response format.
207204
207205                                   · Content-Type -- the format of the request
207206                                     body.
207207
207208                            Response Headers
207209
207210                                   · Content-Type  --  the   format   of   the
207211                                     response  body;  depends  on  the  Accept
207212                                     request header.
207213
207214                            Status Codes
207215
207216                                   · 200 -- success
207217
207218                                   · 401 -- authentication required
207219
207220                                   · 406 -- requested Content-Type not  avail‐
207221                                     able
207222
207223                            lowstate  data  describing  Salt  commands must be
207224                            sent in the request body. The client  option  will
207225                            be set to local_async().
207226
207227                     Example request:
207228
207229                        curl -sSi localhost:8000/minions \
207230                            -H "Accept: application/x-yaml" \
207231                            -d tgt='*' \
207232                            -d fun='status.diskusage'
207233
207234                        POST /minions HTTP/1.1
207235                        Host: localhost:8000
207236                        Accept: application/x-yaml
207237                        Content-Length: 26
207238                        Content-Type: application/x-www-form-urlencoded
207239
207240                        tgt=*&fun=status.diskusage
207241
207242                     Example response:
207243
207244                        HTTP/1.1 202 Accepted
207245                        Content-Length: 86
207246                        Content-Type: application/x-yaml
207247
207248                        return:
207249                        - jid: '20130603122505459265'
207250                          minions: [ms-4, ms-3, ms-2, ms-1, ms-0]
207251
207252   /jobs
207253       class salt.netapi.rest_tornado.saltnado.JobsSaltAPIHandler(application,
207254       request, **kwargs)
207255              A convenience endpoint for job cache data
207256
207257              get(*args, **kwargs)
207258                     A convenience URL for getting  lists  of  previously  run
207259                     jobs or getting the return from a single job
207260
207261                     GET /jobs/(jid)
207262                            List jobs or show a single job from the job cache.
207263
207264                            Status Codes
207265
207266                                   · 200 -- success
207267
207268                                   · 401 -- authentication required
207269
207270                                   · 406  -- requested Content-Type not avail‐
207271                                     able
207272
207273                     Example request:
207274
207275                        curl -i localhost:8000/jobs
207276
207277                        GET /jobs HTTP/1.1
207278                        Host: localhost:8000
207279                        Accept: application/x-yaml
207280
207281                     Example response:
207282
207283                        HTTP/1.1 200 OK
207284                        Content-Length: 165
207285                        Content-Type: application/x-yaml
207286
207287                        return:
207288                        - '20121130104633606931':
207289                            Arguments:
207290                            - '3'
207291                            Function: test.fib
207292                            Start Time: 2012, Nov 30 10:46:33.606931
207293                            Target: jerry
207294                            Target-type: glob
207295
207296                     Example request:
207297
207298                        curl -i localhost:8000/jobs/20121130104633606931
207299
207300                        GET /jobs/20121130104633606931 HTTP/1.1
207301                        Host: localhost:8000
207302                        Accept: application/x-yaml
207303
207304                     Example response:
207305
207306                        HTTP/1.1 200 OK
207307                        Content-Length: 73
207308                        Content-Type: application/x-yaml
207309
207310                        info:
207311                        - Arguments:
207312                            - '3'
207313                            Function: test.fib
207314                            Minions:
207315                            - jerry
207316                            Start Time: 2012, Nov 30 10:46:33.606931
207317                            Target: '*'
207318                            Target-type: glob
207319                            User: saltdev
207320                            jid: '20121130104633606931'
207321                        return:
207322                        - jerry:
207323                            - - 0
207324                            - 1
207325                            - 1
207326                            - 2
207327                            - 6.9141387939453125e-06
207328
207329   /run
207330       class  salt.netapi.rest_tornado.saltnado.RunSaltAPIHandler(application,
207331       request, **kwargs)
207332              Endpoint to run commands without normal session handling
207333
207334              post(*args, **kwargs)
207335                     Run commands bypassing the normal session handling
207336
207337                     POST /run
207338                            This  entry  point is primarily for "one-off" com‐
207339                            mands. Each request must pass full Salt  authenti‐
207340                            cation  credentials. Otherwise this URL is identi‐
207341                            cal to the root URL (/).
207342
207343                            lowstate data describing  Salt  commands  must  be
207344                            sent in the request body.
207345
207346                            Status Codes
207347
207348                                   · 200 -- success
207349
207350                                   · 401 -- authentication required
207351
207352                                   · 406  -- requested Content-Type not avail‐
207353                                     able
207354
207355                     Example request:
207356
207357                        curl -sS localhost:8000/run \
207358                            -H 'Accept: application/x-yaml' \
207359                            -d client='local' \
207360                            -d tgt='*' \
207361                            -d fun='test.ping' \
207362                            -d username='saltdev' \
207363                            -d password='saltdev' \
207364                            -d eauth='pam'
207365
207366                        POST /run HTTP/1.1
207367                        Host: localhost:8000
207368                        Accept: application/x-yaml
207369                        Content-Length: 75
207370                        Content-Type: application/x-www-form-urlencoded
207371
207372                        client=local&tgt=*&fun=test.ping&username=saltdev&password=saltdev&eauth=pam
207373
207374                     Example response:
207375
207376                        HTTP/1.1 200 OK
207377                        Content-Length: 73
207378                        Content-Type: application/x-yaml
207379
207380                        return:
207381                        - ms-0: true
207382                            ms-1: true
207383                            ms-2: true
207384                            ms-3: true
207385                            ms-4: true
207386
207387   /events
207388       class   salt.netapi.rest_tornado.saltnado.EventsSaltAPIHandler(applica‐
207389       tion, request, **kwargs)
207390              Expose the Salt event bus
207391
207392              The  event  bus  on  the  Salt master exposes a large variety of
207393              things, notably when executions are started on  the  master  and
207394              also when minions ultimately return their results. This URL pro‐
207395              vides a real-time window into a running Salt infrastructure.
207396
207397              SEE ALSO:
207398                 events
207399
207400              get(**kwargs)
207401                     An HTTP stream of the Salt master event bus
207402
207403                     This stream is formatted per the Server Sent Events (SSE)
207404                     spec. Each event is formatted as JSON.
207405
207406                     GET /events
207407
207408                            Status Codes
207409
207410                                   · 200 -- success
207411
207412                                   · 401 -- authentication required
207413
207414                                   · 406  -- requested Content-Type not avail‐
207415                                     able
207416
207417                     Example request:
207418
207419                        curl -NsS localhost:8000/events
207420
207421                        GET /events HTTP/1.1
207422                        Host: localhost:8000
207423
207424                     Example response:
207425
207426                        HTTP/1.1 200 OK
207427                        Connection: keep-alive
207428                        Cache-Control: no-cache
207429                        Content-Type: text/event-stream;charset=utf-8
207430
207431                        retry: 400
207432                        data: {'tag': '', 'data': {'minions': ['ms-4', 'ms-3', 'ms-2', 'ms-1', 'ms-0']}}
207433
207434                        data: {'tag': '20130802115730568475', 'data': {'jid': '20130802115730568475', 'return': True, 'retcode': 0, 'success': True, 'cmd': '_return', 'fun': 'test.ping', 'id': 'ms-1'}}
207435
207436                     The event stream can be easily consumed via JavaScript:
207437
207438                        <!-- Note, you must be authenticated! -->
207439                        var source = new EventSource('/events');
207440                        source.onopen = function() { console.debug('opening') };
207441                        source.onerror = function(e) { console.debug('error!', e) };
207442                        source.onmessage = function(e) { console.debug(e.data) };
207443
207444                     Or using CORS:
207445
207446                        var source = new EventSource('/events', {withCredentials: true});
207447
207448                     Some  browser  clients  lack   CORS   support   for   the
207449                     EventSource()  API.  Such  clients  may  instead pass the
207450                     X-Auth-Token value as an URL parameter:
207451
207452                        curl -NsS localhost:8000/events/6d1b722e
207453
207454                     It is also possible to consume the stream via the shell.
207455
207456                     Records are separated by blank lines; the data: and  tag:
207457                     prefixes will need to be removed manually before attempt‐
207458                     ing to unserialize the JSON.
207459
207460                     curl's  -N  flag  turns  off  input  buffering  which  is
207461                     required to process the stream incrementally.
207462
207463                     Here  is  a  basic  example  of printing each event as it
207464                     comes in:
207465
207466                        curl -NsS localhost:8000/events |\
207467                                while IFS= read -r line ; do
207468                                    echo $line
207469                                done
207470
207471                     Here is an example of using awk to filter events based on
207472                     tag:
207473
207474                        curl -NsS localhost:8000/events |\
207475                                awk '
207476                                    BEGIN { RS=""; FS="\\n" }
207477                                    $1 ~ /^tag: salt\/job\/[0-9]+\/new$/ { print $0 }
207478                                '
207479                        tag: salt/job/20140112010149808995/new
207480                        data: {"tag": "salt/job/20140112010149808995/new", "data": {"tgt_type": "glob", "jid": "20140112010149808995", "tgt": "jerry", "_stamp": "2014-01-12_01:01:49.809617", "user": "shouse", "arg": [], "fun": "test.ping", "minions": ["jerry"]}}
207481                        tag: 20140112010149808995
207482                        data: {"tag": "20140112010149808995", "data": {"fun_args": [], "jid": "20140112010149808995", "return": true, "retcode": 0, "success": true, "cmd": "_return", "_stamp": "2014-01-12_01:01:49.819316", "fun": "test.ping", "id": "jerry"}}
207483
207484   /hook
207485       class  salt.netapi.rest_tornado.saltnado.WebhookSaltAPIHandler(applica‐
207486       tion, request, **kwargs)
207487              A generic web hook entry point that fires  an  event  on  Salt's
207488              event bus
207489
207490              External  services can POST data to this URL to trigger an event
207491              in Salt.  For example, Amazon SNS, Jenkins-CI or  Travis-CI,  or
207492              GitHub web hooks.
207493
207494              NOTE:
207495                 Be mindful of security
207496
207497                 Salt's  Reactor can run any code. A Reactor SLS that responds
207498                 to a hook event is responsible for validating that the  event
207499                 came from a trusted source and contains valid data.
207500
207501                 This is a generic interface and securing it is up to you!
207502
207503                 This  URL  requires  authentication  however not all external
207504                 services can be configured to authenticate. For  this  reason
207505                 authentication can be selectively disabled for this URL. Fol‐
207506                 low best practices -- always use SSL, pass a secret key, con‐
207507                 figure  the  firewall  to  only  allow  traffic  from a known
207508                 source, etc.
207509
207510              The event data is taken from the request body. The  Content-Type
207511              header is respected for the payload.
207512
207513              The event tag is prefixed with salt/netapi/hook and the URL path
207514              is appended to the end. For example,  a  POST  request  sent  to
207515              /hook/mycompany/myapp/mydata  will produce a Salt event with the
207516              tag salt/netapi/hook/mycompany/myapp/mydata.
207517
207518              The following is an example .travis.yml file to  send  notifica‐
207519              tions to Salt of successful test runs:
207520
207521                 language: python
207522                 script: python -m unittest tests
207523                 after_success:
207524                     - 'curl -sS http://saltapi-url.example.com:8000/hook/travis/build/success -d branch="${TRAVIS_BRANCH}" -d commit="${TRAVIS_COMMIT}"'
207525
207526              SEE ALSO:
207527                 Events, Reactor
207528
207529              post(tag_suffix=None)
207530                     Fire an event in Salt with a custom event tag and data
207531
207532                     POST /hook
207533
207534                            Status Codes
207535
207536                                   · 200 -- success
207537
207538                                   · 401 -- authentication required
207539
207540                                   · 406  -- requested Content-Type not avail‐
207541                                     able
207542
207543                                   · 413 -- request body is too large
207544
207545                     Example request:
207546
207547                        curl -sS localhost:8000/hook -d foo='Foo!' -d bar='Bar!'
207548
207549                        POST /hook HTTP/1.1
207550                        Host: localhost:8000
207551                        Content-Length: 16
207552                        Content-Type: application/x-www-form-urlencoded
207553
207554                        foo=Foo&bar=Bar!
207555
207556                     Example response:
207557
207558                        HTTP/1.1 200 OK
207559                        Content-Length: 14
207560                        Content-Type: application/json
207561
207562                        {"success": true}
207563
207564                     As a practical example, an  internal  continuous-integra‐
207565                     tion  build server could send an HTTP POST request to the
207566                     URL    http://localhost:8000/hook/mycompany/build/success
207567                     which  contains  the result of a build and the SHA of the
207568                     version that was built as JSON. That would  then  produce
207569                     the  following  event  in Salt that could be used to kick
207570                     off a deployment via Salt's Reactor:
207571
207572                        Event fired at Fri Feb 14 17:40:11 2014
207573                        *************************
207574                        Tag: salt/netapi/hook/mycompany/build/success
207575                        Data:
207576                        {'_stamp': '2014-02-14_17:40:11.440996',
207577                            'headers': {
207578                                'X-My-Secret-Key': 'F0fAgoQjIT@W',
207579                                'Content-Length': '37',
207580                                'Content-Type': 'application/json',
207581                                'Host': 'localhost:8000',
207582                                'Remote-Addr': '127.0.0.1'},
207583                            'post': {'revision': 'aa22a3c4b2e7', 'result': True}}
207584
207585                     Salt's Reactor could listen for the event:
207586
207587                        reactor:
207588                          - 'salt/netapi/hook/mycompany/build/*':
207589                            - /srv/reactor/react_ci_builds.sls
207590
207591                     And finally deploy the new build:
207592
207593                        {% set secret_key = data.get('headers', {}).get('X-My-Secret-Key') %}
207594                        {% set build = data.get('post', {}) %}
207595
207596                        {% if secret_key == 'F0fAgoQjIT@W' and build.result == True %}
207597                        deploy_my_app:
207598                          cmd.state.sls:
207599                            - tgt: 'application*'
207600                            - arg:
207601                              - myapp.deploy
207602                            - kwarg:
207603                                pillar:
207604                                  revision: {{ revision }}
207605                        {% endif %}
207606
207607   rest_wsgi
207608   A minimalist REST API for Salt
207609       This rest_wsgi module provides a no-frills REST interface  for  sending
207610       commands to the Salt master. There are no dependencies.
207611
207612       Extra  care  must  be taken when deploying this module into production.
207613       Please read this documentation in entirety.
207614
207615       All authentication is done through Salt's external auth system.
207616
207617   Usage
207618       · All requests must be sent to the root URL (/).
207619
207620       · All requests must be sent as a POST request with JSON content in  the
207621         request body.
207622
207623       · All responses are in JSON.
207624
207625       SEE ALSO:
207626          rest_cherrypy
207627
207628          The  rest_cherrypy  module  is more full-featured, production-ready,
207629          and has builtin security features.
207630
207631   Deployment
207632       The rest_wsgi netapi module is a standard Python WSGI app.  It  can  be
207633       deployed one of two ways.
207634
207635   Using a WSGI-compliant web server
207636       This module may be run via any WSGI-compliant production server such as
207637       Apache with mod_wsgi or Nginx with FastCGI.
207638
207639       It is strongly recommended that this app be used  with  a  server  that
207640       supports  HTTPS  encryption  since  raw Salt authentication credentials
207641       must be sent with every request. Any apps that access Salt through this
207642       interface  will  need  to  manually  manage  authentication credentials
207643       (either username and password or a Salt token). Tread carefully.
207644
207645   salt-api using a development-only server
207646       If   run   directly   via   the   salt-api   daemon   it    uses    the
207647       wsgiref.simple_server() that ships in the Python standard library. This
207648       is a single-threaded server that is intended for testing  and  develop‐
207649       ment.  This  server  does not use encryption; please note that raw Salt
207650       authentication credentials must be sent with every HTTP request.
207651
207652       Running this module via salt-api is not recommended!
207653
207654       In order to start this module via the  salt-api  daemon  the  following
207655       must be put into the Salt master config:
207656
207657          rest_wsgi:
207658              port: 8001
207659
207660   Usage examples
207661       POST / Example request for a basic test.ping:
207662
207663                 % curl -sS -i \
207664                         -H 'Content-Type: application/json' \
207665                         -d '[{"eauth":"pam","username":"saltdev","password":"saltdev","client":"local","tgt":"*","fun":"test.ping"}]' localhost:8001
207666
207667              Example response:
207668
207669                 HTTP/1.0 200 OK
207670                 Content-Length: 89
207671                 Content-Type: application/json
207672
207673                 {"return": [{"ms--4": true, "ms--3": true, "ms--2": true, "ms--1": true, "ms--0": true}]}
207674
207675              Example request for an asynchronous test.ping:
207676
207677                 % curl -sS -i \
207678                         -H 'Content-Type: application/json' \
207679                         -d '[{"eauth":"pam","username":"saltdev","password":"saltdev","client":"local_async","tgt":"*","fun":"test.ping"}]' localhost:8001
207680
207681              Example response:
207682
207683                 HTTP/1.0 200 OK
207684                 Content-Length: 103
207685                 Content-Type: application/json
207686
207687                 {"return": [{"jid": "20130412192112593739", "minions": ["ms--4", "ms--3", "ms--2", "ms--1", "ms--0"]}]}
207688
207689              Example request for looking up a job ID:
207690
207691                 % curl -sS -i \
207692                         -H 'Content-Type: application/json' \
207693                         -d '[{"eauth":"pam","username":"saltdev","password":"saltdev","client":"runner","fun":"jobs.lookup_jid","jid":"20130412192112593739"}]' localhost:8001
207694
207695              Example response:
207696
207697                 HTTP/1.0 200 OK
207698                 Content-Length: 89
207699                 Content-Type: application/json
207700
207701                 {"return": [{"ms--4": true, "ms--3": true, "ms--2": true, "ms--1": true, "ms--0": true}]}
207702
207703       form lowstate
207704              A list of lowstate data appropriate for the client interface you
207705              are calling.
207706
207707       status 200
207708              success
207709
207710       status 401
207711              authentication required
207712
207713   output modules
207714       Follow one of the below links for further information and examples
207715
207716                 ┌────────────────────┬────────────────────────────┐
207717highstate           │ Outputter  for  displaying │
207718                 │                    │ results of state runs      │
207719                 ├────────────────────┼────────────────────────────┤
207720json_out            │ Display   return  data  in │
207721                 │                    │ JSON format                │
207722                 ├────────────────────┼────────────────────────────┤
207723key                 │ Display salt-key output    │
207724                 ├────────────────────┼────────────────────────────┤
207725nested              │ Recursively display nested │
207726                 │                    │ data                       │
207727                 ├────────────────────┼────────────────────────────┤
207728newline_values_only │ Display values only, sepa‐ │
207729                 │                    │ rated by newlines          │
207730                 ├────────────────────┼────────────────────────────┤
207731no_out_quiet        │ Display no output          │
207732                 ├────────────────────┼────────────────────────────┤
207733no_return           │ Display output for minions │
207734                 │                    │ that did not return        │
207735                 ├────────────────────┼────────────────────────────┤
207736overstatestage      │ Display clean output of an │
207737                 │                    │ overstate stage            │
207738                 ├────────────────────┼────────────────────────────┤
207739pony                │ Display Pony  output  data │
207740                 │                    │ structure                  │
207741                 ├────────────────────┼────────────────────────────┤
207742pprint_out          │ Python        pretty-print │
207743                 │                    │ (pprint)                   │
207744                 ├────────────────────┼────────────────────────────┤
207745profile             │ Display profiling data  in │
207746                 │                    │ a table format             │
207747                 ├────────────────────┼────────────────────────────┤
207748progress            │ Display  return  data as a │
207749                 │                    │ progress bar               │
207750                 ├────────────────────┼────────────────────────────┤
207751raw                 │ Display  raw  output  data │
207752                 │                    │ structure                  │
207753                 ├────────────────────┼────────────────────────────┤
207754table_out           │ Display  output in a table │
207755                 │                    │ format                     │
207756                 ├────────────────────┼────────────────────────────┤
207757txt                 │ Simple text outputter      │
207758                 ├────────────────────┼────────────────────────────┤
207759virt_query          │ virt.query outputter       │
207760                 ├────────────────────┼────────────────────────────┤
207761yaml_out            │ Display  return  data   in │
207762                 │                    │ YAML format                │
207763                 └────────────────────┴────────────────────────────┘
207764
207765   salt.output.highstate
207766   Outputter for displaying results of state runs
207767       The return data from the Highstate command is a standard data structure
207768       which is parsed by the highstate outputter to deliver a clean and read‐
207769       able set of information about the HighState run on minions.
207770
207771       Two  configurations can be set to modify the highstate outputter. These
207772       values can be set in the master config to change the output of the salt
207773       command  or  set  in  the  minion  config  to  change the output of the
207774       salt-call command.
207775
207776       state_verbose
207777              By default state_verbose is set to True, setting this  to  False
207778              will  instruct  the  highstate outputter to omit displaying any‐
207779              thing in green, this means that nothing with a  result  of  True
207780              and no changes will not be printed
207781
207782       state_output:
207783              The  highstate  outputter  has  six  output  modes, full, terse,
207784              mixed, changes and filter
207785
207786              · The default is set to full, which will display many  lines  of
207787                detailed information for each executed chunk.
207788
207789              · If  terse  is  used, then the output is greatly simplified and
207790                shown in only one line.
207791
207792              · If mixed is used, then terse output  will  be  used  unless  a
207793                state failed, in which case full output will be used.
207794
207795              · If  changes  is  used, then terse output will be used if there
207796                was no error and no changes, otherwise  full  output  will  be
207797                used.
207798
207799              · If  filter  is used, then either or both of two different fil‐
207800                ters can be used: exclude or terse.
207801
207802                   · for exclude, state.highstate expects a list of states  to
207803                     be  excluded  (or None) followed by True for terse output
207804                     or False for regular output.  Because of parsing nuances,
207805                     if  only  one  of  these is used, it must still contain a
207806                     comma. For instance: exclude=True,.
207807
207808                   · for terse, state.highstate expects simply True or False.
207809
207810                These can be set as such from the command line, or in the Salt
207811                config  as state_output_exclude or state_output_terse, respec‐
207812                tively.
207813
207814              The output modes have one modifier:
207815
207816              full_id, terse_id, mixed_id, changes_id and filter_id If _id  is
207817              used,  then  the  corresponding form will be used, but the value
207818              for name will be drawn from the state ID.  This  is  useful  for
207819              cases where the name value might be very long and hard to read.
207820
207821       state_tabular:
207822              If  state_output  uses the terse output, set this to True for an
207823              aligned output format.  If you wish to use a custom format, this
207824              can be set to a string.
207825
207826       Example usage:
207827
207828       If state_output: filter is set in the configuration file:
207829
207830          salt '*' state.highstate exclude=None,True
207831
207832       means to exclude no states from the highstate and turn on terse output.
207833
207834          salt twd state.highstate exclude=problemstate1,problemstate2,False
207835
207836       means  to exclude states problemstate1 and problemstate2 from the high‐
207837       state, and use regular output.
207838
207839       Example output for the above highstate call when top.sls  defines  only
207840       one other state to apply to minion twd:
207841
207842          twd:
207843
207844          Summary for twd
207845          ------------
207846          Succeeded: 1 (changed=1)
207847          Failed:    0
207848          ------------
207849          Total states run:     1
207850
207851       Example output with no special settings in configuration files:
207852
207853          myminion:
207854          ----------
207855                    ID: test.ping
207856              Function: module.run
207857                Result: True
207858               Comment: Module function test.ping executed
207859               Changes:
207860                        ----------
207861                        ret:
207862                            True
207863
207864          Summary for myminion
207865          ------------
207866          Succeeded: 1
207867          Failed:    0
207868          ------------
207869          Total:     0
207870
207871       salt.output.highstate.output(data, **kwargs)
207872              The  HighState  Outputter  is  only  meant  to  be used with the
207873              state.highstate function, or a function that  returns  highstate
207874              return data.
207875
207876   salt.output.json_out
207877   Display return data in JSON format
207878       configuration
207879              The  output  format  can  be  configured  in two ways: Using the
207880              --out-indent CLI flag and specifying a  positive  integer  or  a
207881              negative  integer  to  group  JSON  from each minion to a single
207882              line.
207883
207884              Or setting the output_indent setting in  the  Master  or  Minion
207885              configuration file with one of the following values:
207886
207887              · Null: put each minion return on a single line.
207888
207889              · pretty: use four-space indents and sort the keys.
207890
207891              · An integer: specify the indentation level.
207892
207893       Salt's  outputters  operate  on  a per-minion basis. Each minion return
207894       will be output as a single JSON object once it comes in to the master.
207895
207896       Some JSON parsers can guess when an object ends and a  new  one  begins
207897       but  many  can  not.  A  good  way to differentiate between each minion
207898       return is to use the single-line output format and to parse  each  line
207899       individually. Example output (truncated):
207900
207901          {"dave": {"en0": {"hwaddr": "02:b0:26:32:4c:69", ...}}}
207902          {"jerry": {"en0": {"hwaddr": "02:26:ab:0d:b9:0d", ...}}}
207903          {"kevin": {"en0": {"hwaddr": "02:6d:7f:ce:9f:ee", ...}}}
207904          {"mike": {"en0": {"hwaddr": "02:48:a2:4b:70:a0", ...}}}
207905          {"phill": {"en0": {"hwaddr": "02:1d:cc:a2:33:55", ...}}}
207906          {"stuart": {"en0": {"hwaddr": "02:9a:e0:ea:9e:3c", ...}}}
207907
207908       CLI Example:
207909
207910          salt '*' foo.bar --out=json
207911
207912       salt.output.json_out.output(data, **kwargs)
207913              Print the output data in JSON
207914
207915   salt.output.key
207916   Display salt-key output
207917       The salt-key command makes use of this outputter to format its output.
207918
207919       salt.output.key.output(data, **kwargs)
207920              Read in the dict structure generated by the salt key API methods
207921              and print the structure.
207922
207923   salt.output.nested
207924   Recursively display nested data
207925       This is the default outputter for most execution functions.
207926
207927       Example output:
207928
207929          myminion:
207930              ----------
207931              foo:
207932                  ----------
207933                  bar:
207934                      baz
207935                  dictionary:
207936                      ----------
207937                      abc:
207938                          123
207939                      def:
207940                          456
207941                  list:
207942                      - Hello
207943                      - World
207944
207945       class salt.output.nested.NestDisplay(retcode=0)
207946              Manage the nested display contents
207947
207948              display(ret, indent, prefix, out)
207949                     Recursively  iterate  down  through  data  structures  to
207950                     determine output
207951
207952              ustring(indent, color, msg, prefix=u'', suffix=u'', endc=None)
207953
207954       salt.output.nested.output(ret, **kwargs)
207955              Display ret data
207956
207957   salt.output.newline_values_only
207958   Display values only, separated by newlines
207959       New in version 2015.5.0.
207960
207961
207962       This  outputter  is  designed  for Salt CLI return data. It will do the
207963       following to the return dict:
207964
207965       1. Get just the values (ignoring the minion IDs).
207966
207967       2. Each value, if it is iterable, is split a separate line.
207968
207969       3. Each minion's values are separated by newlines.
207970
207971       This results in a single string of return data containing all the  val‐
207972       ues from the various minions.
207973
207974       WARNING:
207975          As  noted  above,  this outputter will discard the minion ID. If the
207976          minion ID is important, then an  outputter  that  returns  the  full
207977          return  dictionary  in  a parsable format (such as json, pprint,, or
207978          yaml) may be more suitable.
207979
207980   Example 1
207981          salt '*' foo.bar --out=newline_values_only
207982
207983   Input
207984          {
207985              'myminion': ['127.0.0.1', '10.0.0.1'],
207986              'second-minion': ['127.0.0.1', '10.0.0.2']
207987          }
207988
207989   Output
207990          127.0.0.1
207991          10.0.0.1
207992          127.0.0.1
207993          10.0.0.2
207994
207995   Example 2
207996          salt '*' foo.bar --out=newline_values_only
207997
207998   Input
207999          {
208000              'myminion': 8,
208001              'second-minion': 10
208002          }
208003
208004   Output
208005          8
208006          10
208007
208008       salt.output.newline_values_only.output(data, **kwargs)
208009              Display modified ret data
208010
208011   salt.output.no_out_quiet
208012   Display no output
208013       No output is produced when this outputter is selected
208014
208015       CLI Example:
208016
208017          salt '*' foo.bar --out=quiet
208018
208019       salt.output.no_out_quiet.output(ret, **kwargs)
208020              Don't display data. Used when you only  are  interested  in  the
208021              return.
208022
208023   salt.output.no_return
208024   Display output for minions that did not return
208025       This outputter is used to display notices about which minions failed to
208026       return when a salt function is run with -v or --verbose. It should  not
208027       be called directly from the CLI.
208028
208029       Example output:
208030
208031          virtucentos:
208032              Minion did not return
208033
208034       class salt.output.no_return.NestDisplay
208035              Create generator for nested output
208036
208037              display(ret, indent, prefix, out)
208038                     Recursively  iterate  down  through  data  structures  to
208039                     determine output
208040
208041       salt.output.no_return.output(ret, **kwargs)
208042              Display ret data
208043
208044   salt.output.overstatestage
208045   Display clean output of an overstate stage
208046       This outputter is used to display Orchestrate Runner stages, and should
208047       not be called directly.
208048
208049       salt.output.overstatestage.output(data, **kwargs)
208050              Format  the  data  for printing stage information from the over‐
208051              state system
208052
208053   salt.output.pony module
208054   Display Pony output data structure
208055       depends
208056
208057              · ponysay CLI program
208058
208059       Display output from a pony. Ponies are better than cows because  every‐
208060       body wants a pony.
208061
208062       Example output:
208063
208064          < {'local': True} >
208065           -----------------
208066           \
208067            \
208068             \
208069              ▄▄▄▄▄▄▄
208070              ▀▄▄████▄▄
208071            ▄▄▄█████▄█▄█▄█▄▄▄
208072           ██████▄▄▄█▄▄█████▄▄
208073           ▀▄▀ █████▄▄█▄▄█████
208074               ▄▄▄███████████▄▄▄
208075               ████▄▄▄▄▄▄███▄▄██           ▄▄▄▄▄▄▄
208076               ████▄████▄██▄▄███       ▄▄▄▄██▄▄▄▄▄▄
208077              █▄███▄▄█▄███▄▄██▄▀     ▄▄███████▄▄███▄▄
208078              ▀▄██████████████▄▄    ▄▄█▄▀▀▀▄▄█████▄▄██
208079                 ▀▀▀▀▀█████▄█▄█▄▄▄▄▄▄▄█     ▀▄████▄████
208080                      ████▄███▄▄▄▄▄▄▄▄▄     ▄▄█████▄███
208081                      ▀▄█▄█▄▄▄██▄▄▄▄▄██    ▄▄██▄██████
208082                       ▀▄████████████▄▀  ▄▄█▄██████▄▀
208083                        ██▄██▄▄▄▄█▄███▄ ███▄▄▄▄▄██▄▀
208084                        ██████  ▀▄▄█████ ▀████████
208085                       ▄▄▄▄███   ███████ ██████▄█▄▄
208086                       ███████   ████████▀▄▀███▄▄█▄▄
208087                     ▄██▄▄████   ████████   ▀▄██▀▄▄▀
208088                     █▄▄██████   █▄▄██████
208089                       █▄▄▄▄█       █▄▄▄▄█
208090
208091       CLI Example:
208092
208093          salt '*' foo.bar --out=pony
208094
208095       salt.output.pony.output(data, **kwargs)
208096              Mane function
208097
208098   salt.output.pprint_out
208099   Python pretty-print (pprint)
208100       The  python pretty-print system was once the default outputter. It sim‐
208101       ply passes the return data through to  pprint.pformat  and  prints  the
208102       results.
208103
208104       CLI Example:
208105
208106          salt '*' foo.bar --out=pprint
208107
208108       Example output:
208109
208110          {'saltmine': {'foo': {'bar': 'baz',
208111                                'dictionary': {'abc': 123, 'def': 456},
208112                                'list': ['Hello', 'World']}}}
208113
208114       salt.output.pprint_out.output(data, **kwargs)
208115              Print out via pretty print
208116
208117   salt.output.profile
208118   Display profiling data in a table format
208119       Show  profile  data  for returners that would normally show a highstate
208120       output.
208121
208122       CLI Example:
208123
208124          salt '*' state.apply something --out=profile
208125
208126       Attempt to output the returns of state.sls and state.highstate as a ta‐
208127       ble  of  names, modules and durations that looks somewhat like the fol‐
208128       lowing:
208129
208130          name                mod.fun                duration (ms)
208131          --------------------------------------------------------
208132          I-fail-unless-stmt  other.function               -1.0000
208133          old-minion-config   grains.list_present           1.1200
208134          salt-data           group.present                48.3800
208135          /etc/salt/minion    file.managed                 63.1450
208136
208137       To get the above appearance, use settings something like these:
208138
208139          out.table.separate_rows: False
208140          out.table.justify: left
208141          out.table.delim: '  '
208142          out.table.prefix: ''
208143          out.table.suffix: ''
208144
208145       salt.output.profile.output(data, **kwargs)
208146              Display the profiling data in a table format.
208147
208148   salt.output.progress
208149       Display return data as a progress bar
208150
208151       salt.output.progress.output(ret, bar, **kwargs)
208152              Update the progress bar
208153
208154       salt.output.progress.progress_iter(progress)
208155              Initialize and return a progress bar iter
208156
208157   salt.output.raw
208158   Display raw output data structure
208159       This outputter simply displays the output as a python  data  structure,
208160       by  printing a string representation of it. It is similar to the pprint
208161       outputter, only the data is not nicely formatted/indented.
208162
208163       This was the original outputter used by Salt before the outputter  sys‐
208164       tem was developed.
208165
208166       CLI Example:
208167
208168          salt '*' foo.bar --out=raw
208169
208170       Example output:
208171
208172          salt '*' foo.bar --out=table
208173          {'myminion': {'foo': {'list': ['Hello', 'World'], 'bar': 'baz', 'dictionary': {'abc': 123, 'def': 456}}}}
208174
208175       salt.output.raw.output(data, **kwargs)
208176              Rather basic....
208177
208178   salt.output.table_out
208179   Display output in a table format
208180       New in version 2017.7.0.
208181
208182
208183       The table outputter displays a sequence of rows as table.
208184
208185       Example output:
208186
208187          edge01.bjm01:
208188          ----------
208189              comment:
208190              ----------
208191              out:
208192              ----------
208193                  ______________________________________________________________________________
208194                  | Active | Interface | Last Move |        Mac        | Moves | Static | Vlan |
208195                  ______________________________________________________________________________
208196                  |  True  |  ae1.900  |    0.0    | 40:A6:77:5A:50:01 |   0   | False  | 111  |
208197                  ______________________________________________________________________________
208198                  |  True  |  ae1.111  |    0.0    | 64:16:8D:32:26:58 |   0   | False  | 111  |
208199                  ______________________________________________________________________________
208200                  |  True  |  ae1.111  |    0.0    | 8C:60:4F:73:2D:57 |   0   | False  | 111  |
208201                  ______________________________________________________________________________
208202                  |  True  |  ae1.111  |    0.0    | 8C:60:4F:73:2D:7C |   0   | False  | 111  |
208203                  ______________________________________________________________________________
208204                  |  True  |  ae1.222  |    0.0    | 8C:60:4F:73:2D:57 |   0   | False  | 222  |
208205                  ______________________________________________________________________________
208206                  |  True  |  ae1.222  |    0.0    | F4:0F:1B:76:9D:97 |   0   | False  | 222  |
208207                  ______________________________________________________________________________
208208              result:
208209              ----------
208210
208211       CLI Example:
208212
208213          salt '*' foo.bar --out=table
208214
208215       class   salt.output.table_out.TableDisplay(has_header=True,  row_delim‐
208216       iter=u'-', delim=u' | ',  justify=u'center',  separate_rows=True,  pre‐
208217       fix=u'| ', suffix=u' |', width=50, wrapfunc=None)
208218              Manage the table display content.
208219
208220              display(ret, indent, out, rows_key=None, labels_key=None)
208221                     Display table(s).
208222
208223              display_rows(rows, labels, indent)
208224                     Prepares row content and displays.
208225
208226              prepare_rows(rows, indent, has_header)
208227                     Prepare rows content to be displayed.
208228
208229              ustring(indent, color, msg, prefix=u'', suffix=u'', endc=None)
208230                     Build the unicode string to be displayed.
208231
208232              wrap_onspace(text)
208233                     When the text inside the column is longer then the width,
208234                     will split by space and continue on the next line.
208235
208236       salt.output.table_out.output(ret, **kwargs)
208237              Display the output as table.
208238
208239              Parameters
208240
208241                     · nested_indent (*) -- integer, specify the  left  align‐
208242                       ment.
208243
208244                     · has_header  (*)  -- boolean specifying if header should
208245                       be displayed. Default: True.
208246
208247                     · row_delimiter  (*)  --  character  to  separate   rows.
208248                       Default: _.
208249
208250                     · delim  (*) -- character to separate columns. Default: "
208251                       | ".
208252
208253                     · justify (*) -- text alignment. Default: center.
208254
208255                     · separate_rows (*) -- boolean specifying if row  separa‐
208256                       tor   will   be  displayed  between  consecutive  rows.
208257                       Default: True.
208258
208259                     · prefix (*) -- character at the beginning  of  the  row.
208260                       Default: "| ".
208261
208262                     · suffix (*) -- character at the end of the row. Default:
208263                       " |".
208264
208265                     · width (*) -- column max width. Default: 50.
208266
208267                     · rows_key (*) -- display the rows under a specific key.
208268
208269                     · labels_key (*) -- use the labels under a  certain  key.
208270                       Otherwise will try to use the dictionary keys (if any).
208271
208272                     · title  (*)  --  display  title  when  only one table is
208273                       selected (using the rows_key argument).
208274
208275   salt.output.txt
208276   Simple text outputter
208277       The txt outputter has been developed to make the output from shell com‐
208278       mands  on minions appear as they do when the command is executed on the
208279       minion.
208280
208281       CLI Example:
208282
208283          salt '*' foo.bar --out=txt
208284
208285       salt.output.txt.output(data, **kwargs)
208286              Output the data in lines, very nice for running commands
208287
208288   salt.output.virt_query
208289   virt.query outputter
208290       Used to display the output from the virt.query runner.
208291
208292       salt.output.virt_query.output(data, **kwargs)
208293              Display output for the salt-run virt.query function
208294
208295   salt.output.yaml_out
208296   Display return data in YAML format
208297       This outputter defaults to printing in YAML block mode for better read‐
208298       ability.
208299
208300       CLI Example:
208301
208302          salt '*' foo.bar --out=yaml
208303
208304       Example output:
208305
208306       CLI Example:
208307
208308          saltmine:
208309            foo:
208310              bar: baz
208311              dictionary:
208312                abc: 123
208313                def: 456
208314              list:
208315                - Hello
208316                - World
208317
208318       salt.output.yaml_out.output(data, **kwargs)
208319              Print out YAML using the block mode
208320
208321   pillar modules
208322                   ┌────────────────┬────────────────────────────┐
208323cmd_json        │ Execute a command and read │
208324                   │                │ the output as JSON.        │
208325                   ├────────────────┼────────────────────────────┤
208326cmd_yaml        │ Execute a command and read │
208327                   │                │ the output as YAML.        │
208328                   ├────────────────┼────────────────────────────┤
208329cmd_yamlex      │ Execute a command and read │
208330                   │                │ the output as YAMLEX.      │
208331                   ├────────────────┼────────────────────────────┤
208332cobbler         │ A module to pull data from │
208333                   │                │ Cobbler  via  its API into │
208334                   │                │ the Pillar dictionary      │
208335                   ├────────────────┼────────────────────────────┤
208336confidant       │ An external pillar  module │
208337                   │                │ for   getting  credentials │
208338                   │                │ from confidant.            │
208339                   ├────────────────┼────────────────────────────┤
208340consul_pillar   │ Use Consul K/V as a Pillar │
208341                   │                │ source  with values parsed │
208342                   │                │ as YAML                    │
208343                   ├────────────────┼────────────────────────────┤
208344csvpillar       │ Store key/value pairs in a │
208345                   │                │ CSV file                   │
208346                   ├────────────────┼────────────────────────────┤
208347digicert        │ Digicert  Pillar  Certifi‐ │
208348                   │                │ cates                      │
208349                   ├────────────────┼────────────────────────────┤
208350django_orm      │ Generate Pillar data  from │
208351                   │                │ Django  models through the │
208352                   │                │ Django ORM                 │
208353                   ├────────────────┼────────────────────────────┤
208354ec2_pillar      │ Retrieve EC2 instance data │
208355                   │                │ for  minions  for ec2_tags │
208356                   │                │ and ec2_tags_list          │
208357                   ├────────────────┼────────────────────────────┤
208358etcd_pillar     │ Use etcd data as a  Pillar │
208359                   │                │ source                     │
208360                   ├────────────────┼────────────────────────────┤
208361file_tree       │ The   file_tree   external │
208362                   │                │ pillar allows values  from │
208363                   │                │ all  files  in a directory │
208364                   │                │ tree  to  be  imported  as │
208365                   │                │ Pillar data.               │
208366                   ├────────────────┼────────────────────────────┤
208367foreman         │ A module to pull data from │
208368                   │                │ Foreman via its  API  into │
208369                   │                │ the Pillar dictionary      │
208370                   ├────────────────┼────────────────────────────┤
208371git_pillar      │ Use  a git repository as a │
208372                   │                │ Pillar source              │
208373                   ├────────────────┼────────────────────────────┤
208374gpg             │ Decrypt    pillar     data │
208375                   │                │ through  the  builtin  GPG │
208376                   │                │ renderer                   │
208377                   ├────────────────┼────────────────────────────┤
208378hg_pillar       │ Use    remote    Mercurial │
208379                   │                │ repository   as  a  Pillar │
208380                   │                │ source.                    │
208381                   ├────────────────┼────────────────────────────┤
208382hiera           │ Use hiera data as a Pillar │
208383                   │                │ source                     │
208384                   ├────────────────┼────────────────────────────┤
208385http_json       │ A module that adds data to │
208386                   │                │ the    Pillar    structure │
208387                   │                │ retrieved   by   an   http │
208388                   │                │ request                    │
208389                   ├────────────────┼────────────────────────────┤
208390http_yaml       │ A module that adds data to │
208391                   │                │ the    Pillar    structure │
208392                   │                │ retrieved   by   an   http │
208393                   │                │ request                    │
208394                   ├────────────────┼────────────────────────────┤
208395libvirt         │ Load  up  the libvirt keys │
208396                   │                │ into Pillar  for  a  given │
208397                   │                │ minion  if  said keys have │
208398                   │                │ been generated  using  the │
208399                   │                │ libvirt key runner         │
208400                   ├────────────────┼────────────────────────────┤
208401makostack       │ Simple  and  flexible YAML │
208402                   │                │ ext_pillar which can  read │
208403                   │                │ pillar from within pillar. │
208404                   ├────────────────┼────────────────────────────┤
208405mongo           │ Read  Pillar  data  from a │
208406                   │                │ mongodb collection         │
208407                   ├────────────────┼────────────────────────────┤
208408mysql           │ Retrieve  Pillar  data  by │
208409                   │                │ doing a MySQL query        │
208410                   ├────────────────┼────────────────────────────┤
208411netbox          │ A module that adds data to │
208412                   │                │ the Pillar structure  from │
208413                   │                │ a NetBox API.              │
208414                   ├────────────────┼────────────────────────────┤
208415neutron         │ Use Openstack Neutron data │
208416                   │                │ as a Pillar source.        │
208417                   ├────────────────┼────────────────────────────┤
208418nodegroups      │ Nodegroups Pillar          │
208419                   ├────────────────┼────────────────────────────┤
208420pepa            │ Pepa                       │
208421                   ├────────────────┼────────────────────────────┤
208422pillar_ldap     │ Use LDAP data as a  Pillar │
208423                   │                │ source                     │
208424                   ├────────────────┼────────────────────────────┤
208425postgres        │ Retrieve  Pillar  data  by │
208426                   │                │ doing a postgres query     │
208427                   ├────────────────┼────────────────────────────┤
208428puppet          │ Execute an unmodified pup‐ │
208429                   │                │ pet_node_classifier    and │
208430                   │                │ read the output as YAML.   │
208431                   ├────────────────┼────────────────────────────┤
208432reclass_adapter │ Use the "reclass" database │
208433                   │                │ as a Pillar source         │
208434                   ├────────────────┼────────────────────────────┤
208435redismod        │ Read  pillar  data  from a │
208436                   │                │ Redis backend              │
208437                   ├────────────────┼────────────────────────────┤
208438s3              │ Copy pillar  data  from  a │
208439                   │                │ bucket in Amazon S3        │
208440                   ├────────────────┼────────────────────────────┤
208441saltclass       │ SaltClass Pillar Module    │
208442                   ├────────────────┼────────────────────────────┤
208443sql_base        │ Retrieve  Pillar  data  by │
208444                   │                │ doing a SQL query          │
208445                   ├────────────────┼────────────────────────────┤
208446sqlcipher       │ Retrieve  Pillar  data  by │
208447                   │                │ running a SQLCipher query  │
208448                   ├────────────────┼────────────────────────────┤
208449sqlite3         │ Retrieve  Pillar  data  by │
208450                   │                │ doing a SQLite3 query      │
208451                   ├────────────────┼────────────────────────────┤
208452stack           │ Simple and  flexible  YAML │
208453                   │                │ ext_pillar  which can read │
208454                   │                │ pillar from within pillar. │
208455                   ├────────────────┼────────────────────────────┤
208456svn_pillar      │ Clone a remote SVN reposi‐ │
208457                   │                │ tory  and use the filesys‐ │
208458                   │                │ tem as a Pillar source     │
208459                   ├────────────────┼────────────────────────────┤
208460varstack_pillar │ Use  Varstack  data  as  a │
208461                   │                │ Pillar source              │
208462                   ├────────────────┼────────────────────────────┤
208463vault           │ Vault Pillar Module        │
208464                   ├────────────────┼────────────────────────────┤
208465venafi          │ Venafi Pillar Certificates │
208466                   ├────────────────┼────────────────────────────┤
208467virtkey         │ Accept a key from a hyper‐ │
208468                   │                │ visor if the  virt  runner │
208469                   │                │ has  already  submitted an │
208470                   │                │ authorization request      │
208471                   ├────────────────┼────────────────────────────┤
208472vmware_pillar   │ Pillar data  from  vCenter │
208473                   │                │ or an ESXi host            │
208474                   └────────────────┴────────────────────────────┘
208475
208476   salt.pillar.cmd_json
208477       Execute  a  command  and read the output as JSON. The JSON data is then
208478       directly overlaid onto the minion's Pillar data.
208479
208480       salt.pillar.cmd_json.ext_pillar(minion_id, pillar, command)
208481              Execute a command and read the output as JSON
208482
208483   salt.pillar.cmd_yaml
208484       Execute a command and read the output as YAML. The YAML  data  is  then
208485       directly overlaid onto the minion's Pillar data
208486
208487       salt.pillar.cmd_yaml.ext_pillar(minion_id, pillar, command)
208488              Execute a command and read the output as YAML
208489
208490   salt.pillar.cmd_yamlex
208491       Execute a command and read the output as YAMLEX.
208492
208493       The YAMLEX data is then directly overlaid onto the minion's Pillar data
208494
208495       salt.pillar.cmd_yamlex.ext_pillar(minion_id, pillar, command)
208496              Execute a command and read the output as YAMLEX
208497
208498   salt.pillar.cobbler
208499       A  module to pull data from Cobbler via its API into the Pillar dictio‐
208500       nary
208501
208502   Configuring the Cobbler ext_pillar
208503       The same cobbler.* parameters are used for both the  Cobbler  tops  and
208504       Cobbler pillar modules.
208505
208506          ext_pillar:
208507          - cobbler:
208508              key: cobbler # Nest results within this key. By default, values are not nested.
208509              only: [parameters] # Add only these keys to pillar.
208510
208511          cobbler.url: https://example.com/cobbler_api #default is http://localhost/cobbler_api
208512          cobbler.user: username # default is no username
208513          cobbler.password: password # default is no password
208514
208515   Module Documentation
208516       salt.pillar.cobbler.ext_pillar(minion_id, pillar, key=None, only=())
208517              Read pillar data from Cobbler via its API.
208518
208519   salt.pillar.confidant
208520       An external pillar module for getting credentials from confidant.
208521
208522   Configuring the Confidant module
208523       The module can be configured via ext_pillar in the minion config:
208524
208525
208526
208527       ext_pillar:
208528
208529              ·
208530
208531                confidant:
208532
208533                       profile:
208534                              #  The  URL of the confidant web service url: '‐
208535                              https://confidant-production.example.com' #  The
208536                              context  to use for KMS authentication auth_con‐
208537                              text: from:  example-production-iad  to:  confi‐
208538                              dant-production-iad user_type: service # The KMS
208539                              master key to use for  authentication  auth_key:
208540                              "alias/authnz"  #  Cache file for KMS auth token
208541                              token_cache_file: /run/confidant/confidant_token
208542                              #  The  duration  of the validity of a token, in
208543                              minutes token_duration:  60  #  key,  keyid  and
208544                              region can be defined in the profile, but it's #
208545                              generally best to use IAM roles  or  environment
208546                              variables    for    AWS    #    auth.     keyid:
208547                              98nh9h9h908h09kjjk                          key:
208548                              jhf908gyeghehe0he0g8h9u0j0n0n09hj09h0    region:
208549                              us-east-1
208550
208551       depends
208552              confidant-common, confidant-client
208553
208554   Module Documentation
208555       salt.pillar.confidant.ext_pillar(minion_id, pillar, profile=None)
208556              Read pillar data from Confidant via its API.
208557
208558   salt.pillar.consul_pillar module
208559       Use Consul K/V as a Pillar source with values parsed as YAML
208560
208561       depends
208562
208563              · python-consul
208564
208565       In order to use an consul server, a profile must be created in the mas‐
208566       ter configuration file:
208567
208568          my_consul_config:
208569            consul.host: 127.0.0.1
208570            consul.port: 8500
208571            consul.token: b6376760-a8bb-edd5-fcda-33bc13bfc556
208572            consul.scheme: http
208573            consul.consistency: default
208574            consul.dc: dev
208575            consul.verify: True
208576
208577       All parameters are optional.
208578
208579       The consul.token requires python-consul >= 0.4.7.
208580
208581       If  you  have  a  multi-datacenter Consul cluster you can map your pil‐
208582       larenv``s to your data centers by providing a dictionary of mappings in
208583       ``consul.dc field:
208584
208585          my_consul_config:
208586            consul.dc:
208587              dev: us-east-1
208588              prod: us-west-1
208589
208590       In  the example above we specifying static mapping between Pillar envi‐
208591       ronments and data centers: the data for dev and  prod  Pillar  environ‐
208592       ments  will  be fetched from us-east-1 and us-west-1 datacenter respec‐
208593       tively.
208594
208595       In fact when consul.dc is set to dictionary keys are processed as regu‐
208596       lar expressions (that can capture named parameters) and values are pro‐
208597       cessed as string templates as per PEP 3101.
208598
208599          my_consul_config:
208600            consul.dc:
208601              ^dev-.*$: dev-datacenter
208602              ^(?P<region>.*)-prod$: prod-datacenter-{region}
208603
208604       This example  maps  all  Pillar  environments  starting  with  dev-  to
208605       dev-datacenter  whereas  Pillar environment like eu-prod will be mapped
208606       to prod-datacenter-eu.
208607
208608       Before evaluation patterns are sorted by length in descending order.
208609
208610       If Pillar environment names correspond to data center  names  a  single
208611       pattern can be used:
208612
208613          my_consul_config:
208614            consul.dc:
208615              ^(?P<env>.*)$: '{env}'
208616
208617       After  the  profile is created, configure the external pillar system to
208618       use it.  Optionally, a root may be specified.
208619
208620          ext_pillar:
208621            - consul: my_consul_config
208622
208623          ext_pillar:
208624            - consul: my_consul_config root=salt
208625
208626       Using these configuration profiles, multiple consul sources may also be
208627       used:
208628
208629          ext_pillar:
208630            - consul: my_consul_config
208631            - consul: my_other_consul_config
208632
208633       Either  the  minion_id,  or  the role, or the environment grain  may be
208634       used in the root path to expose minion-specific information  stored  in
208635       consul.
208636
208637          ext_pillar:
208638            - consul: my_consul_config root=salt/%(minion_id)s
208639            - consul: my_consul_config root=salt/%(role)s
208640            - consul: my_consul_config root=salt/%(environment)s
208641
208642       Minion-specific  values may override shared values when the minion-spe‐
208643       cific root appears after the shared root:
208644
208645          ext_pillar:
208646            - consul: my_consul_config root=salt-shared
208647            - consul: my_other_consul_config root=salt-private/%(minion_id)s
208648
208649       If using the role or environment grain in the consul key path, be  sure
208650       to define it using /etc/salt/grains, or similar:
208651
208652          role: my-minion-role
208653          environment: dev
208654
208655       It's  possible  to lock down where the pillar values are shared through
208656       minion targeting. Note that double quotes "  are  required  around  the
208657       target  value and cannot be used inside the matching statement. See the
208658       section on Compound Matchers for more examples.
208659
208660          ext_pillar:
208661            - consul: my_consul_config root=salt target="L@salt.example.com and G@osarch:x86_64"
208662
208663       The data from Consul can be merged into a nested key in Pillar.
208664
208665          ext_pillar:
208666            - consul: my_consul_config pillar_root=consul_data
208667
208668       By default, keys containing YAML data will be deserialized before being
208669       merged   into  Pillar.   This  behavior  can  be  disabled  by  setting
208670       expand_keys to false.
208671
208672          ext_pillar:
208673            - consul: my_consul_config expand_keys=false
208674
208675       salt.pillar.consul_pillar.consul_fetch(client, path)
208676              Query consul for all keys/values within base path
208677
208678       salt.pillar.consul_pillar.ext_pillar(minion_id, pillar, conf)
208679              Check consul for all data
208680
208681       salt.pillar.consul_pillar.fetch_tree(client, path, expand_keys)
208682              Grab data from consul, trim base path and remove any keys  which
208683              are folders. Take the remaining data and send it to be formatted
208684              in such a way as to be used as pillar data.
208685
208686       salt.pillar.consul_pillar.get_conn(opts, profile)
208687              Return a client object for accessing consul
208688
208689       salt.pillar.consul_pillar.pillar_format(ret, keys, value, expand_keys)
208690              Perform data formatting to be used as pillar data and  merge  it
208691              with the current pillar data
208692
208693   salt.pillar.csvpillar module
208694       Store key/value pairs in a CSV file
208695
208696       New in version 2016.11.0.
208697
208698
208699       Example configuration:
208700
208701          ext_pillar:
208702            - csv: /path/to/file.csv
208703
208704          # or
208705
208706          ext_pillar:
208707            - csv:
208708                path: /path/to/file.csv
208709                namespace: 'subkey'
208710                fieldnames:
208711                - col1
208712                - col2
208713                - col2
208714
208715       The  first  column must be minion IDs and the first row must be dictio‐
208716       nary keys.  E.g.:
208717
208718                               ┌───────┬──────┬───────┐
208719                               │id     │ role │ env   │
208720                               ├───────┼──────┼───────┤
208721                               │jerry  │ web  │ prod  │
208722                               ├───────┼──────┼───────┤
208723                               │stuart │ web  │ stage │
208724                               ├───────┼──────┼───────┤
208725                               │dave   │ web  │ qa    │
208726                               ├───────┼──────┼───────┤
208727                               │phil   │ db   │ prod  │
208728                               ├───────┼──────┼───────┤
208729                               │kevin  │ db   │ stage │
208730                               ├───────┼──────┼───────┤
208731                               │mike   │ db   │ qa    │
208732                               └───────┴──────┴───────┘
208733
208734       Will produce the following Pillar values for a minion named "jerry":
208735
208736          {
208737              'role': 'web',
208738              'env': 'prod',
208739          }
208740
208741       salt.pillar.csvpillar.ext_pillar(mid, pillar, path, idkey=u'id', names‐
208742       pace=None,       fieldnames=None,      restkey=None,      restval=None,
208743       dialect=u'excel')
208744              Read a CSV into Pillar
208745
208746              Parameters
208747
208748                     · path (str) -- Absolute path to a CSV file.
208749
208750                     · idkey (str) -- (Optional) The  column  name  of  minion
208751                       IDs.
208752
208753                     · namespace (str) -- (Optional) A pillar key to namespace
208754                       the values under.
208755
208756                     · fieldnames (list) -- (Optional) if the first row of the
208757                       CSV  is  not  column  names  they may be specified here
208758                       instead.
208759
208760   salt.pillar.digicert module
208761       Digicert Pillar Certificates
208762
208763       This module will only return pillar data if the digicert runner  module
208764       has already been used to create certificates.
208765
208766       To  configure  this module, set digicert to True in the ext_pillar sec‐
208767       tion of your master configuration file:
208768
208769          ext_pillar:
208770            - digicert: True
208771
208772       salt.pillar.digicert.ext_pillar(minion_id, pillar, conf)
208773              Return an existing set of certificates
208774
208775   salt.pillar.django_orm
208776       Generate Pillar data from Django models through the Django ORM
208777
208778       maintainer
208779              Micah Hausler <micah.hausler@gmail.com>
208780
208781       maturity
208782              new
208783
208784   Configuring the django_orm ext_pillar
208785       To use this module, your Django project must  be  on  the  salt  master
208786       server with database access. This assumes you are using virtualenv with
208787       all the project's requirements installed.
208788
208789          ext_pillar:
208790            - django_orm:
208791                pillar_name: my_application
208792                project_path: /path/to/project/
208793                settings_module: my_application.settings
208794                env_file: /path/to/env/file.sh
208795                # Optional: If your project is not using the system python,
208796                # add your virtualenv path below.
208797                env: /path/to/virtualenv/
208798
208799                django_app:
208800
208801                  # Required: the app that is included in INSTALLED_APPS
208802                  my_application.clients:
208803
208804                    # Required: the model name
208805                    Client:
208806
208807                      # Required: model field to use as the key in the rendered
208808                      # Pillar. Must be unique; must also be included in the
208809                      # ``fields`` list below.
208810                      name: shortname
208811
208812                      # Optional:
208813                      # See Django's QuerySet documentation for how to use .filter()
208814                      filter:  {'kw': 'args'}
208815
208816                      # Required: a list of field names
208817                      # List items will be used as arguments to the .values() method.
208818                      # See Django's QuerySet documentation for how to use .values()
208819                      fields:
208820                        - field_1
208821                        - field_2
208822
208823       This would return pillar data that would look like
208824
208825          my_application:
208826            my_application.clients:
208827              Client:
208828                client_1:
208829                  field_1: data_from_field_1
208830                  field_2: data_from_field_2
208831                client_2:
208832                  field_1: data_from_field_1
208833                  field_2: data_from_field_2
208834
208835       As another example, data from multiple database tables can  be  fetched
208836       using Django's regular lookup syntax. Note, using ManyToManyFields will
208837       not currently work since the return from values() changes  if  a  Many‐
208838       ToMany is present.
208839
208840          ext_pillar:
208841            - django_orm:
208842                pillar_name: djangotutorial
208843                project_path: /path/to/mysite
208844                settings_module: mysite.settings
208845
208846                django_app:
208847                  mysite.polls:
208848                    Choices:
208849                      name: poll__question
208850                      fields:
208851                        - poll__question
208852                        - poll__id
208853                        - choice_text
208854                        - votes
208855
208856   Module Documentation
208857       salt.pillar.django_orm.ext_pillar(minion_id,    pillar,    pillar_name,
208858       project_path,  settings_module,  django_app,  env=None,  env_file=None,
208859       *args, **kwargs)
208860              Connect  to a Django database through the ORM and retrieve model
208861              fields
208862
208863              Parameters
208864
208865                     · pillar_name (str) -- The  name  of  the  pillar  to  be
208866                       returned
208867
208868                     · project_path  (str)  --  The  full  path to your Django
208869                       project (the directory manage.py is in)
208870
208871                     · settings_module (str) -- The settings module  for  your
208872                       project. This can be found in your manage.py file
208873
208874                     · django_app  (str) -- A dictionary containing your apps,
208875                       models, and fields
208876
208877                     · env (str) -- The full path to the virtualenv  for  your
208878                       Django project
208879
208880                     · env_file  (str)  --  An optional bash file that sets up
208881                       your environment. The file is run in a  subprocess  and
208882                       the changed variables are then added
208883
208884   salt.pillar.ec2_pillar
208885       Retrieve EC2 instance data for minions for ec2_tags and ec2_tags_list
208886
208887       The  minion  id  must be the AWS instance-id or value in tag_match_key.
208888       For example set tag_match_key to Name to  have  the  minion-id  matched
208889       against  the  tag 'Name'. The tag contents must be unique. The value of
208890       tag_match_value can be 'uqdn' or 'asis'. if  'uqdn',  then  the  domain
208891       will be stripped before comparison.
208892
208893       Additionally,  the use_grain option can be set to True. This allows the
208894       use of an instance-id grain instead of the minion-id. Since this  is  a
208895       potential  security  risk, the configuration can be further expanded to
208896       include a list of minions that are trusted to only allow the  alternate
208897       id  of  the  instances  to specific hosts. There is no glob matching at
208898       this time.
208899
208900       NOTE:
208901          If you are using use_grain:  True  in  the  configuration  for  this
208902          external  pillar module, the minion must have metadata_server_grains
208903          enabled in the minion config file (see also here).
208904
208905          It is important to also note  that  enabling  the  use_grain  option
208906          allows  the  minion  to  manipulate  the  pillar  data  returned, as
208907          described above.
208908
208909       The optional tag_list_key indicates  which  keys  should  be  added  to
208910       ec2_tags_list and be split by tag_list_sep (by default ;). If a tag key
208911       is included in tag_list_key it is removed from ec2_tags. If a tag  does
208912       not exist it is still included as an empty list.
208913
208914       ..note::
208915              As with any master configuration change, restart the salt-master
208916              daemon for changes to take effect.
208917
208918          ext_pillar:
208919            - ec2_pillar:
208920                tag_match_key: 'Name'
208921                tag_match_value: 'asis'
208922                tag_list_key:
208923                  - Role
208924                tag_list_sep: ';'
208925                use_grain: True
208926                minion_ids:
208927                  - trusted-minion-1
208928                  - trusted-minion-2
208929                  - trusted-minion-3
208930
208931       This is a very simple pillar configuration that  simply  retrieves  the
208932       instance  data from AWS. Currently the only portion implemented are EC2
208933       tags, which returns a list of key/value pairs for all of the  EC2  tags
208934       assigned to the instance.
208935
208936       salt.pillar.ec2_pillar.ext_pillar(minion_id,  pillar,  use_grain=False,
208937       minion_ids=None,      tag_match_key=None,      tag_match_value=u'asis',
208938       tag_list_key=None, tag_list_sep=u';')
208939              Execute a command and read the output as YAML
208940
208941   salt.pillar.etcd_pillar
208942       Use etcd data as a Pillar source
208943
208944       New in version 2014.7.0.
208945
208946
208947       depends
208948
208949              · python-etcd
208950
208951       In order to use an etcd server, a profile must be created in the master
208952       configuration file:
208953
208954          my_etcd_config:
208955            etcd.host: 127.0.0.1
208956            etcd.port: 4001
208957
208958       After the profile is created, configure the external pillar  system  to
208959       use it.  Optionally, a root may be specified.
208960
208961          ext_pillar:
208962            - etcd: my_etcd_config
208963
208964          ext_pillar:
208965            - etcd: my_etcd_config root=/salt
208966
208967       Using  these  configuration profiles, multiple etcd sources may also be
208968       used:
208969
208970          ext_pillar:
208971            - etcd: my_etcd_config
208972            - etcd: my_other_etcd_config
208973
208974       The minion_id may be used in the root path  to  expose  minion-specific
208975       information stored in etcd.
208976
208977          ext_pillar:
208978            - etcd: my_etcd_config root=/salt/%(minion_id)s
208979
208980       Minion-specific  values may override shared values when the minion-spe‐
208981       cific root appears after the shared root:
208982
208983          ext_pillar:
208984            - etcd: my_etcd_config root=/salt-shared
208985            - etcd: my_other_etcd_config root=/salt-private/%(minion_id)s
208986
208987       Using the configuration above, the following commands could be used  to
208988       share a key with all minions but override its value for a specific min‐
208989       ion:
208990
208991          etcdctl set /salt-shared/mykey my_value
208992          etcdctl set /salt-private/special_minion_id/mykey my_other_value
208993
208994       salt.pillar.etcd_pillar.ext_pillar(minion_id, pillar, conf)
208995              Check etcd for all data
208996
208997   salt.pillar.file_tree
208998       The file_tree external pillar allows values from all files in a  direc‐
208999       tory tree to be imported as Pillar data.
209000
209001       NOTE:
209002          This  is  an  external  pillar  and is subject to the rules and con‐
209003          straints governing external pillars.
209004
209005       New in version 2015.5.0.
209006
209007
209008       In this pillar, data is organized by  either  Minion  ID  or  Nodegroup
209009       name.   To  setup  pillar  data  for  a  specific  Minion,  place it in
209010       <root_dir>/hosts/<minion_id>.  To setup pillar data for an entire Node‐
209011       group,    place    it   in   <root_dir>/nodegroups/<node_group>   where
209012       <node_group> is the Nodegroup's name.
209013
209014   Example file_tree Pillar
209015   Master Configuration
209016          ext_pillar:
209017            - file_tree:
209018                root_dir: /srv/ext_pillar
209019                follow_dir_links: False
209020                keep_newline: True
209021
209022       The root_dir parameter is required and points to  the  directory  where
209023       files  for  each  host  are  stored.  The follow_dir_links parameter is
209024       optional and defaults to False. If follow_dir_links  is  set  to  True,
209025       this external pillar will follow symbolic links to other directories.
209026
209027       WARNING:
209028          Be careful when using follow_dir_links, as a recursive symlink chain
209029          will result in unexpected results.
209030
209031       Changed in version 2018.3.0: If root_dir is a relative path, it will be
209032       treated as relative to the pillar_roots of the environment specified by
209033       pillarenv. If an environment specifies multiple roots, this module will
209034       search  for  files  relative  to  all  of  them,  in order, merging the
209035       results.
209036
209037
209038       If keep_newline is set to True, then the pillar values for files ending
209039       in  newlines  will keep that newline. The default behavior is to remove
209040       the end-of-file newline. keep_newline should be turned on if the pillar
209041       data is intended to be used to deploy a file using contents_pillar with
209042       a file.managed state.
209043
209044       Changed in version 2015.8.4: The raw_data parameter has been renamed to
209045       keep_newline.  In  earlier  releases, raw_data must be used. Also, this
209046       parameter can now be a list of globs, allowing for more  granular  con‐
209047       trol over which pillar values keep their end-of-file newline. The globs
209048       match paths relative to the directories named for minion IDs and  node‐
209049       groups  underneath  the  root_dir (see the layout examples in the below
209050       sections).
209051
209052          ext_pillar:
209053            - file_tree:
209054                root_dir: /path/to/root/directory
209055                keep_newline:
209056                  - files/testdir/*
209057
209058
209059       NOTE:
209060          In earlier releases,  this  documentation  incorrectly  stated  that
209061          binary  files  would not affected by the keep_newline configuration.
209062          However, this module does not actually  distinguish  between  binary
209063          and text files.
209064
209065       Changed  in  version 2017.7.0: Templating/rendering has been added. You
209066       can now specify a default render pipeline and a black- and whitelist of
209067       (dis)allowed renderers.
209068
209069       template must be set to True for templating to happen.
209070
209071          ext_pillar:
209072            - file_tree:
209073              root_dir: /path/to/root/directory
209074              render_default: jinja|yaml
209075              renderer_blacklist:
209076                - gpg
209077              renderer_whitelist:
209078                - jinja
209079                - yaml
209080              template: True
209081
209082
209083   Assigning Pillar Data to Individual Hosts
209084       To  configure  pillar  data  for  each  host, this external pillar will
209085       recursively iterate over root_dir/hosts/id (where id is a  minion  ID),
209086       and  compile pillar data with each subdirectory as a dictionary key and
209087       each file as a value.
209088
209089       For example, the following root_dir tree:
209090
209091          ./hosts/
209092          ./hosts/test-host/
209093          ./hosts/test-host/files/
209094          ./hosts/test-host/files/testdir/
209095          ./hosts/test-host/files/testdir/file1.txt
209096          ./hosts/test-host/files/testdir/file2.txt
209097          ./hosts/test-host/files/another-testdir/
209098          ./hosts/test-host/files/another-testdir/symlink-to-file1.txt
209099
209100       will result in the following pillar tree for minion with ID test-host:
209101
209102          test-host:
209103              ----------
209104              apache:
209105                  ----------
209106                  config.d:
209107                      ----------
209108                      00_important.conf:
209109                          <important_config important_setting="yes" />
209110                      20_bob_extra.conf:
209111                          <bob_specific_cfg has_freeze_ray="yes" />
209112              corporate_app:
209113                  ----------
209114                  settings:
209115                      ----------
209116                      common_settings:
209117                          // This is the main settings file for the corporate
209118                          // internal web app
209119                          main_setting: probably
209120                      bob_settings:
209121                          role: bob
209122
209123       NOTE:
209124          The leaf data in the example shown is the  contents  of  the  pillar
209125          files.
209126
209127       salt.pillar.file_tree.ext_pillar(minion_id, pillar, root_dir=None, fol‐
209128       low_dir_links=False,     debug=False,     keep_newline=False,      ren‐
209129       der_default=None,   renderer_blacklist=None,   renderer_whitelist=None,
209130       template=False)
209131              Compile pillar data from the given root_dir  specific  to  Node‐
209132              group names and Minion IDs.
209133
209134              If  a Minion's ID is not found at <root_dir>/host/<minion_id> or
209135              if  it  is   not   included   in   any   Nodegroups   named   at
209136              <root_dir>/nodegroups/<node_group>,  no  pillar data provided by
209137              this pillar module will be available for that Minion.
209138
209139              Changed  in  version  2017.7.0:  Templating/rendering  has  been
209140              added.  You  can  now  specify  a  default render pipeline and a
209141              black- and whitelist of (dis)allowed renderers.
209142
209143              template must be set to True for templating to happen.
209144
209145                 ext_pillar:
209146                   - file_tree:
209147                     root_dir: /path/to/root/directory
209148                     render_default: jinja|yaml
209149                     renderer_blacklist:
209150                       - gpg
209151                     renderer_whitelist:
209152                       - jinja
209153                       - yaml
209154                     template: True
209155
209156
209157              Parameters
209158
209159                     · minion_id -- The ID of the Minion whose pillar data  is
209160                       to be collected
209161
209162                     · pillar -- Unused by the file_tree pillar module
209163
209164                     · root_dir --
209165
209166                       Filesystem  directory  used as the root for pillar data
209167                       (e.g.  /srv/ext_pillar)
209168
209169                       Changed in version 2018.3.0: If root_dir is a  relative
209170                       path,  it  will  be  treated  as  relative  to the pil‐
209171                       lar_roots of the environment specified by pillarenv. If
209172                       an  environment  specifies  multiple roots, this module
209173                       will search for files  relative  to  all  of  them,  in
209174                       order, merging the results.
209175
209176
209177
209178                     · follow_dir_links --
209179
209180                       Follow  symbolic  links to directories while collecting
209181                       pillar files.  Defaults to False.
209182
209183                       WARNING:
209184                          Care should be exercised when enabling  this  option
209185                          as  it  will  follow  links  that  point  outside of
209186                          root_dir.
209187
209188                       WARNING:
209189                          Symbolic links that lead to infinite  recursion  are
209190                          not filtered.
209191
209192
209193                     · debug  --  Enable debug information at log level debug.
209194                       Defaults to False.  This option may be useful  to  help
209195                       debug  errors when setting up the file_tree pillar mod‐
209196                       ule.
209197
209198                     · keep_newline --
209199
209200                       Preserve the end-of-file newline in files.  Defaults to
209201                       False.   This  option may either be a boolean or a list
209202                       of file globs (as defined by the Python  fnmatch  pack‐
209203                       age) for which end-of-file newlines are to be kept.
209204
209205                       keep_newline  should be turned on if the pillar data is
209206                       intended to  be  used  to  deploy  a  file  using  con‐
209207                       tents_pillar with a file.managed state.
209208
209209                       Changed in version 2015.8.4: The raw_data parameter has
209210                       been renamed  to  keep_newline.  In  earlier  releases,
209211                       raw_data  must be used. Also, this parameter can now be
209212                       a list of globs, allowing  for  more  granular  control
209213                       over  which  pillar  values keep their end-of-file new‐
209214                       line. The globs match paths relative to the directories
209215                       named  for  Minion  IDs and Nodegroup namess underneath
209216                       the root_dir.
209217
209218                          ext_pillar:
209219                            - file_tree:
209220                                root_dir: /srv/ext_pillar
209221                                keep_newline:
209222                                  - apache/config.d/*
209223                                  - corporate_app/settings/*
209224
209225
209226                       NOTE:
209227                          In earlier releases, this documentation  incorrectly
209228                          stated  that  binary files would not affected by the
209229                          keep_newline.  However, this module does  not  actu‐
209230                          ally distinguish between binary and text files.
209231
209232
209233                     · render_default --
209234
209235                       Override   Salt's   default  global  renderer  for  the
209236                       file_tree pillar.
209237
209238                          render_default: jinja
209239
209240
209241                     · renderer_blacklist --
209242
209243                       Disallow renderers for pillar files.
209244
209245                          renderer_blacklist:
209246                            - json
209247
209248
209249                     · renderer_whitelist --
209250
209251                       Allow renderers for pillar files.
209252
209253                          renderer_whitelist:
209254                            - yaml
209255                            - jinja
209256
209257
209258                     · template  --  Enable  templating   of   pillar   files.
209259                       Defaults to False.
209260
209261   salt.pillar.foreman
209262       A  module to pull data from Foreman via its API into the Pillar dictio‐
209263       nary
209264
209265   Configuring the Foreman ext_pillar
209266       Set the following Salt config  to  setup  Foreman  as  external  pillar
209267       source:
209268
209269          ext_pillar:
209270            - foreman:
209271                key: foreman # Nest results within this key
209272                only: ['hostgroup_name', 'parameters'] # Add only these keys to pillar
209273
209274          foreman.url: https://example.com/foreman_api
209275          foreman.user: username # default is admin
209276          foreman.password: password # default is changeme
209277
209278       The following options are optional:
209279
209280          foreman.api: apiversion # default is 2 (1 is not supported yet)
209281          foreman.verifyssl: False # default is True
209282          foreman.certfile: /etc/ssl/certs/mycert.pem # default is None
209283          foreman.keyfile: /etc/ssl/private/mykey.pem # default is None
209284          foreman.cafile: /etc/ssl/certs/mycert.ca.pem # default is None
209285          foreman.lookup_parameters: True # default is True
209286
209287       An  alternative  would  be  to use the Foreman modules integrating Salt
209288       features in the Smart Proxy and the webinterface.
209289
209290       Further information can be found on GitHub.
209291
209292   Module Documentation
209293       salt.pillar.foreman.ext_pillar(minion_id, pillar, key=None, only=())
209294              Read pillar data from Foreman via its API.
209295
209296   salt.pillar.git_pillar
209297   Use a git repository as a Pillar source
209298       This external pillar allows for a Pillar top file and Pillar SLS  files
209299       to be sourced from a git repository.
209300
209301       However,  since  git_pillar  does  not  have  an equivalent to the pil‐
209302       lar_roots parameter, configuration is slightly different. A Pillar  top
209303       file is required to be in the git repository and must still contain the
209304       relevant environment, like so:
209305
209306          base:
209307            '*':
209308              - foo
209309
209310       The branch/tag which maps to that environment must  then  be  specified
209311       along with the repo's URL. Configuration details can be found below.
209312
209313       IMPORTANT:
209314          Each branch/tag used for git_pillar must have its own top file. This
209315          is different from how the top file works  when  configuring  States.
209316          The  reason for this is that each git_pillar branch/tag is processed
209317          separately from the rest. Therefore, if the qa branch is to be  used
209318          for  git_pillar, it would need to have its own top file, with the qa
209319          environment defined within it, like this:
209320
209321              qa:
209322                'dev-*':
209323                  - bar
209324
209325          Additionally, while git_pillar allows for the branch/tag to be over‐
209326          ridden (see here), keep in mind that the top file must reference the
209327          actual environment name. It is common practice to make the  environ‐
209328          ment  in  a  git_pillar top file match the branch/tag name, but when
209329          remapping,  the  environment  of  course  no  longer   matches   the
209330          branch/tag, and the top file needs to be adjusted accordingly.  When
209331          expected Pillar values configured in git_pillar are missing, this is
209332          a  common misconfiguration that may be to blame, and is a good first
209333          step in troubleshooting.
209334
209335   Configuring git_pillar for Salt
209336       Beginning with Salt version 2015.8.0, pygit2 is now supported in  addi‐
209337       tion  to  GitPython.  The requirements for GitPython and pygit2 are the
209338       same as for GitFS, as described here.
209339
209340       IMPORTANT:
209341          git_pillar has its own set of global configuration parameters. While
209342          it  may seem intuitive to use the global gitfs configuration parame‐
209343          ters (gitfs_base, etc.) to manage git_pillar, this  will  not  work.
209344          The  main  difference for this is the fact that the different compo‐
209345          nents which use Salt's git backend code do not all function  identi‐
209346          cally.  For instance, in git_pillar it is necessary to specify which
209347          branch/tag to be used for git_pillar remotes. This  is  the  reverse
209348          behavior from gitfs, where branches/tags make up your environments.
209349
209350          See  here  for documentation on the git_pillar configuration options
209351          and their usage.
209352
209353       Here is an example git_pillar configuration:
209354
209355          ext_pillar:
209356            - git:
209357              # Use 'prod' instead of the branch name 'production' as the environment
209358              - production https://gitserver/git-pillar.git:
209359                - env: prod
209360              # Use 'dev' instead of the branch name 'develop' as the environment
209361              - develop https://gitserver/git-pillar.git:
209362                - env: dev
209363              # No per-remote config parameters (and no trailing colon), 'qa' will
209364              # be used as the environment
209365              - qa https://gitserver/git-pillar.git
209366              # SSH key authentication
209367              - master git@other-git-server:pillardata-ssh.git:
209368                # Pillar SLS files will be read from the 'pillar' subdirectory in
209369                # this repository
209370                - root: pillar
209371                - privkey: /path/to/key
209372                - pubkey: /path/to/key.pub
209373                - passphrase: CorrectHorseBatteryStaple
209374              # HTTPS authentication
209375              - master https://other-git-server/pillardata-https.git:
209376                - user: git
209377                - password: CorrectHorseBatteryStaple
209378
209379       The main difference  between  this  and  the  old  way  of  configuring
209380       git_pillar  is  that  multiple  remotes can be configured under one git
209381       section under ext_pillar. More than one git section can be used, but it
209382       is not necessary. Remotes will be evaluated sequentially.
209383
209384       Per-remote  configuration  parameters are supported (similar to gitfs),
209385       and global versions of the git_pillar configuration parameters can also
209386       be set.
209387
209388       To  remap  a  specific branch to a specific Pillar environment, use the
209389       env per-remote parameter:
209390
209391          ext_pillar:
209392            - git:
209393              - production https://gitserver/git-pillar.git:
209394                - env: prod
209395
209396       If __env__ is specified as the branch name, then git_pillar will decide
209397       which branch to use based on the following criteria:
209398
209399       · If  the  minion  has  a pillarenv configured, it will use that pillar
209400         environment. (2016.11.2 and later)
209401
209402       · Otherwise, if the minion has an environment configured, it  will  use
209403         that environment.
209404
209405       · Otherwise, the master's git_pillar_base will be used.
209406
209407       NOTE:
209408          The use of environment to choose the pillar environment dates from a
209409          time before the pillarenv parameter was added.  In a future release,
209410          it will be ignored and either the minion's pillarenv or the master's
209411          git_pillar_base will be used.
209412
209413       Here's an example of using __env__ as the git_pillar environment:
209414
209415          ext_pillar:
209416            - git:
209417              - __env__ https://gitserver/git-pillar.git:
209418                - root: pillar
209419
209420       The corresponding Pillar top file would look like this:
209421
209422          "{{saltenv}}":
209423            '*':
209424              - bar
209425
209426       With the addition of pygit2 support, git_pillar can now  interact  with
209427       authenticated remotes. Authentication works just like in gitfs (as out‐
209428       lined in the Git Fileserver Backend Walkthrough), only with the  global
209429       authenication parameter names prefixed with git_pillar instead of gitfs
209430       (e.g.  git_pillar_pubkey,  git_pillar_privkey,   git_pillar_passphrase,
209431       etc.).
209432
209433       NOTE:
209434          The  name parameter can be used to further differentiate between two
209435          remotes with the same URL and branch. When using  two  remotes  with
209436          the same URL, the name option is required.
209437
209438   How Multiple Remotes Are Handled
209439       As  noted  above,  multiple  remotes  can  be  included in the same git
209440       ext_pillar configuration. Consider the following:
209441
209442          my_etcd_config:
209443            etcd.host: 127.0.0.1
209444            etcd.port: 4001
209445
209446          ext_pillar:
209447            - etcd: my_etcd_config
209448            - git:
209449              - master https://mydomain.tld/foo.git:
209450                - root: pillar
209451              - master https://mydomain.tld/bar.git
209452              - master https://mydomain.tld/baz.git
209453              - dev https://mydomain.tld/qux.git
209454            - git:
209455              - master https://mydomain.tld/abc.git
209456              - dev https://mydomain.tld/123.git
209457
209458       To understand how pillar data from these repos will be  compiled,  it's
209459       important  to  know  how  Salt  will process them. The following points
209460       should be kept in mind:
209461
209462       1. Each ext_pillar is called separately from the  others.  So,  in  the
209463          above example, the etcd ext_pillar will be evaluated first, with the
209464          first group of git_pillar remotes evaluated next  (and  merged  into
209465          the  etcd  pillar  data).  Lastly,  the  second  group of git_pillar
209466          remotes will be evaluated, and then merged into the ext_pillar  data
209467          evaluated before it.
209468
209469       2. Within  a  single  group  of git_pillar remotes, each remote will be
209470          evaluated in order, with results merged together as each  remote  is
209471          evaluated.
209472
209473          NOTE:
209474             Prior  to  the  2017.7.0 release, remotes would be evaluated in a
209475             non-deterministic order.
209476
209477       3. By default, when a repo is evaluated, other remotes' which share its
209478          pillar  environment  will  have  their  files  made available to the
209479          remote being processed.
209480
209481       The first point should be straightforward enough, but  the  second  and
209482       third could use some additional clarification.
209483
209484       First, point #2. In the first group of git_pillar remotes, the top file
209485       and pillar SLS files in the foo remote will be evaluated first. The bar
209486       remote  will be evaluated next, and its results will be merged into the
209487       pillar data compiled when the foo remote was evaluated. As  the  subse‐
209488       quent  remotes  are  evaluated,  their  data will be merged in the same
209489       fashion.
209490
209491       But wait, don't these repositories belong to more than one pillar envi‐
209492       ronments?  Well, yes. The default method of generating pillar data com‐
209493       piles pillar data from all environments. This behavior can be  overrid‐
209494       den  using  a pillarenv.  Setting a pillarenv in the minion config file
209495       will make that minion tell the master to ignore any  pillar  data  from
209496       environments  which don't match that pillarenv. A pillarenv can also be
209497       specified for a given minion or set of minions when running states,  by
209498       using  the  pillarenv argument. The CLI pillarenv will override one set
209499       in the minion config file. So, assuming that a pillarenv  of  base  was
209500       set  for a minion, it would not get any of the pillar variables config‐
209501       ured in the qux remote, since that remote is assigned to the dev  envi‐
209502       ronment. The only way to get its pillar data would be to specify a pil‐
209503       larenv of dev, which would mean that it would  then  ignore  any  items
209504       from the base pillarenv. A more detailed explanation of pillar environ‐
209505       ments can be found here.
209506
209507       Moving on to point #3, and looking at the example ext_pillar configura‐
209508       tion,  as  the foo remote is evaluated, it will also have access to the
209509       files from the bar and baz remotes, since all three are assigned to the
209510       base  pillar  environment.  So,  if  an  SLS file referenced by the foo
209511       remotes's top file does not  exist  in  the  foo  remote,  it  will  be
209512       searched  for  in  the  bar remote, followed by the baz remote. When it
209513       comes time to evaluate the bar remote, SLS files referenced by the  bar
209514       remote's  top file will first be looked for in the bar remote, followed
209515       by foo, and baz, and when the baz remote is processed, SLS  files  will
209516       be looked for in baz, followed by foo and bar. This "failover" logic is
209517       called a directory overlay, and it  is  also  used  by  file_roots  and
209518       :conf_minion`pillar_roots`. The ordering of which remote is checked for
209519       SLS files is determined by the order they are listed.  First the remote
209520       being  processed  is checked, then the others that share the same envi‐
209521       ronment are checked. However, before the 2017.7.0 release, since evalu‐
209522       ation  was unordered, the remote being processed would be checked, fol‐
209523       lowed in no specific order by the other  repos  which  share  the  same
209524       environment.
209525
209526       Beginning  with  the  2017.7.0  release,  this  behavior  of git_pillar
209527       remotes having access to files in other  repos  which  share  the  same
209528       environment can be disabled by setting git_pillar_includes to False. If
209529       this is done, then all git_pillar remotes  will  only  have  access  to
209530       their  own SLS files.  Another way of ensuring that a git_pillar remote
209531       will not have access to SLS files from other git_pillar  remotes  which
209532       share the same pillar environment is to put them in a separate git sec‐
209533       tion under ext_pillar. Look again at the example  configuration  above.
209534       In  the  second  group  of git_pillar remotes, the abc remote would not
209535       have access to the SLS files from the foo, bar, and  baz  remotes,  and
209536       vice-versa.
209537
209538   Mountpoints
209539       New in version 2017.7.0.
209540
209541
209542       Assume the following pillar top file:
209543
209544          base:
209545            'web*':
209546              - common
209547              - web.server.nginx
209548              - web.server.appdata
209549
209550       Now,  assume  that you would like to configure the web.server.nginx and
209551       web.server.appdata SLS files in separate  repos.  This  could  be  done
209552       using  the  following  ext_pillar configuration (assuming that git_pil‐
209553       lar_includes has not been set to False):
209554
209555          ext_pillar:
209556            - git:
209557              - master https://mydomain.tld/pillar-common.git
209558              - master https://mydomain.tld/pillar-nginx.git
209559              - master https://mydomain.tld/pillar-appdata.git
209560
209561       However, in order to get the files in the second and  third  git_pillar
209562       remotes to work, you would need to first create the directory structure
209563       underneath it (i.e. place them underneath web/server/  in  the  reposi‐
209564       tory).  This  also makes it tedious to reorganize the configuration, as
209565       changing web.server.nginx to web.nginx in the top  file  would  require
209566       you  to  also  move  the  SLS  files in the pillar-nginx up a directory
209567       level.
209568
209569       For these reasons, much like gitfs, git_pillar now supports  a  "mount‐
209570       point"  feature.  Using the following ext_pillar configuration, the SLS
209571       files in the second and third git_pillar remotes can be placed  in  the
209572       root of the git repository:
209573
209574          ext_pillar:
209575            - git:
209576              - master https://mydomain.tld/pillar-common.git
209577              - master https://mydomain.tld/pillar-nginx.git:
209578                - mountpoint: web/server/
209579              - master https://mydomain.tld/pillar-appdata.git:
209580                - mountpoint: web/server/
209581
209582       Now,  if  the  top  file  changed the SLS target from web.server.nginx,
209583       instead of reorganizing the git repository,  you  would  just  need  to
209584       adjust the mountpoint to web/ (and restart the salt-master daemon).
209585
209586       NOTE:
209587
209588          · Leading and trailing slashes on the mountpoints are optional.
209589
209590          · Use of the mountpoint feature requires that git_pillar_includes is
209591            not disabled.
209592
209593          · Content from mounted git_pillar repos can only be referenced by  a
209594            top file in the same pillar environment.
209595
209596          · Salt  versions  prior  to  2018.3.4 ignore the root parameter when
209597            mountpoint is set.
209598
209599   all_saltenvs
209600       New in version 2018.3.4.
209601
209602
209603       When __env__ is specified as the branch name,  all_saltenvs  per-remote
209604       configuration   parameter   overrides   the  logic  Salt  uses  to  map
209605       branches/tags to pillar environments (i.e. pillarenvs). This  allows  a
209606       single branch/tag to appear in all saltenvs. Example:
209607
209608          ext_pillar:
209609            - git:
209610              - __env__ https://mydomain.tld/top.git
209611                - all_saltenvs: master
209612              - __env__ https://mydomain.tld/pillar-nginx.git:
209613                - mountpoint: web/server/
209614              - __env__ https://mydomain.tld/pillar-appdata.git:
209615                - mountpoint: web/server/
209616
209617   git_pillar_update_interval
209618       New in version 3000.
209619
209620
209621       This  option  defines  the  default  update  interval  (in seconds) for
209622       git_pillar remotes. The update is handled within the global loop, hence
209623       git_pillar_update_interval should be a multiple of loop_interval.
209624
209625          git_pillar_update_interval: 120
209626
209627       salt.pillar.git_pillar.ext_pillar(minion_id, pillar, *repos)
209628              Checkout the ext_pillar sources and compile the resulting pillar
209629              SLS
209630
209631   salt.pillar.gpg module
209632       Decrypt pillar data through the builtin GPG renderer
209633
209634       In most cases, you'll want to make this the last external pillar  used.
209635       For  example,  to pair with the builtin stack pillar you could do some‐
209636       thing like this:
209637
209638          ext_pillar:
209639            - stack: /path/to/stack.cfg
209640            - gpg: {}
209641
209642       Set gpg_keydir in your config to adjust the homedir the renderer uses.
209643
209644       salt.pillar.gpg.ext_pillar(minion_id, pillar, *args, **kwargs)
209645
209646   salt.pillar.hg_pillar
209647       Use remote Mercurial repository as a Pillar source.
209648
209649       New in version 2015.8.0.
209650
209651
209652       The module depends on the hglib python module being available.  This is
209653       the same requirement as for hgfs_ so should not pose any extra hurdles.
209654
209655       This external Pillar source can be configured in the master config file
209656       as such:
209657
209658          ext_pillar:
209659            - hg: ssh://hg@example.co/user/repo
209660
209661       class salt.pillar.hg_pillar.Repo(repo_uri)
209662              Deal with remote hg (mercurial) repository for Pillar
209663
209664              close()
209665                     Cleanup mercurial command server
209666
209667              pull()
209668
209669              update(branch=u'default')
209670                     Ensure we are using the latest revision in the hg reposi‐
209671                     tory
209672
209673       salt.pillar.hg_pillar.ext_pillar(minion_id,        pillar,        repo,
209674       branch=u'default', root=None)
209675              Extract pillar from an hg repository
209676
209677       salt.pillar.hg_pillar.update(repo_uri)
209678              Execute an hg pull on all the repos
209679
209680   salt.pillar.hiera
209681       Use hiera data as a Pillar source
209682
209683       salt.pillar.hiera.ext_pillar(minion_id, pillar, conf)
209684              Execute hiera and return the data
209685
209686   salt.pillar.http_json module
209687       A module that adds data to the Pillar structure retrieved  by  an  http
209688       request
209689
209690   Configuring the HTTP_JSON ext_pillar
209691       Set  the  following  Salt  config to setup http json result as external
209692       pillar source:
209693
209694          ext_pillar:
209695            - http_json:
209696                url: http://example.com/api/minion_id
209697                ::TODO::
209698                username: username
209699                password: password
209700
209701       If the with_grains parameter is set, grain keys wrapped in can be  pro‐
209702       vided  (wrapped  in <> brackets) in the url in order to populate pillar
209703       data based on the grain value.
209704
209705          ext_pillar:
209706            - http_json:
209707                url: http://example.com/api/<nodename>
209708                with_grains: True
209709
209710       Changed in version 2018.3.0: If %s is present in the url,  it  will  be
209711       automatically replaced by the minion_id:
209712
209713          ext_pillar:
209714            - http_json:
209715                url: http://example.com/api/%s
209716
209717
209718   Module Documentation
209719       salt.pillar.http_json.ext_pillar(minion_id,         pillar,        url,
209720       with_grains=False)
209721              Read pillar data from HTTP response.
209722
209723              Parameters
209724
209725                     · url (str) -- Url to request.
209726
209727                     · with_grains (bool) -- Whether to substitute strings  in
209728                       the url with their grain values.
209729
209730              Returns
209731                     A dictionary of the pillar data to add.
209732
209733              Return type
209734                     dict
209735
209736   salt.pillar.http_yaml module
209737       A  module  that  adds data to the Pillar structure retrieved by an http
209738       request
209739
209740   Configuring the HTTP_YAML ext_pillar
209741       Set the following Salt config to setup an http endpoint as the external
209742       pillar source:
209743
209744          ext_pillar:
209745            - http_yaml:
209746                url: http://example.com/api/minion_id
209747                ::TODO::
209748                username: username
209749                password: password
209750
209751       If  the with_grains parameter is set, grain keys wrapped in can be pro‐
209752       vided (wrapped in <> brackets) in the url in order to  populate  pillar
209753       data based on the grain value.
209754
209755          ext_pillar:
209756            - http_yaml:
209757                url: http://example.com/api/<nodename>
209758                with_grains: True
209759
209760       Changed  in  version  2018.3.0: If %s is present in the url, it will be
209761       automatically replaced by the minion_id:
209762
209763          ext_pillar:
209764            - http_json:
209765                url: http://example.com/api/%s
209766
209767
209768   Module Documentation
209769       salt.pillar.http_yaml.ext_pillar(minion_id,        pillar,         url,
209770       with_grains=False)
209771              Read pillar data from HTTP response.
209772
209773              Parameters
209774
209775                     · url (str) -- Url to request.
209776
209777                     · with_grains  (bool) -- Whether to substitute strings in
209778                       the url with their grain values.
209779
209780              Returns
209781                     A dictionary of the pillar data to add.
209782
209783              Return type
209784                     dict
209785
209786   salt.pillar.libvirt
209787       Load up the libvirt keys into Pillar for a given minion  if  said  keys
209788       have been generated using the libvirt key runner
209789
209790       depends
209791              certtool
209792
209793       salt.pillar.libvirt.ext_pillar(minion_id, pillar, command)
209794              Read in the generated libvirt keys
209795
209796       salt.pillar.libvirt.gen_hyper_keys(minion_id,            country=u'US',
209797       state=u'Utah',  locality=u'Salt  Lake  City',   organization=u'Salted',
209798       expiration_days=u'365')
209799              Generate  the  keys to be used by libvirt hypervisors, this rou‐
209800              tine gens the keys and applies them to the pillar for the hyper‐
209801              visor minions
209802
209803   salt.pillar.makostack module
209804       Simple  and  flexible YAML ext_pillar which can read pillar from within
209805       pillar.
209806
209807       New in version 2016.3.0.
209808
209809
209810       This custom saltstack ext_pillar is a  direct  ripoff  of  the  'stack'
209811       ext_pillar, simply ported to use mako instead of jinja2 for templating.
209812
209813       It supports the following features:
209814
209815       · multiple  config  files that are mako templates with support for pil‐
209816         lar, __grains__, __salt__, __opts__ objects.
209817
209818       · a config file renders as an ordered list of files.  Unless  absolute,
209819         the paths of these files are relative to the current config file - if
209820         absolute, they will be treated literally.
209821
209822       · this list of files are read in order as mako templates  with  support
209823         for stack, pillar, __grains__, __salt__, __opts__ objects.
209824
209825       · all these rendered files are then parsed as yaml.
209826
209827       · then all yaml dicts are merged in order, with support for the follow‐
209828         ing.  merging strategies: merge-first, merge-last, remove, and  over‐
209829         write.
209830
209831       · stack  config  files  can be matched based on pillar, grains, or opts
209832         values, which make it possible  to  support  kind  of  self-contained
209833         environments.
209834
209835   Configuration in Salt
209836       Like  any  other external pillar, its configuration takes place through
209837       the ext_pillar key in the master config file.
209838
209839       However, you can configure MakoStack in 3 different ways:
209840
209841   Single config file
209842       This is the simplest option, you just need to set the path to your sin‐
209843       gle MakoStack config file like below:
209844
209845          ext_pillar:
209846            - makostack: /path/to/stack.cfg
209847
209848   List of config files
209849       You can also provide a list of config files:
209850
209851          ext_pillar:
209852            - makostack:
209853                - /path/to/stack1.cfg
209854                - /path/to/stack2.cfg
209855
209856   Select config files through grains|pillar|opts matching
209857       You  can  also  opt  for  a much more flexible configuration: MakoStack
209858       allows one to select the config files for the current minion  based  on
209859       matching values from either grains, or pillar, or opts objects.
209860
209861       Here  is  an  example  of  such  a configuration, which should speak by
209862       itself:
209863
209864          ext_pillar:
209865            - makostack:
209866                pillar:environment:
209867                  dev: /path/to/dev/stack.cfg
209868                  prod: /path/to/prod/stack.cfg
209869                grains:custom:grain:
209870                  value:
209871                    - /path/to/stack1.cfg
209872                    - /path/to/stack2.cfg
209873                opts:custom:opt:
209874                  value: /path/to/stack0.cfg
209875
209876   Grafting data from files to arbitrary namespaces
209877       An extended syntax for config files permits defining "graft points"  on
209878       a per-config-file basis.  As an example, if the file foo.cfg would pro‐
209879       duce the following:
209880
209881          foo:
209882            - bar
209883            - baz
209884
209885       and you specified the cfg file as /path/to/foo.cfg:yummy:fur, the  fol‐
209886       lowing would actually end up in pillar after all merging was complete:
209887
209888          yummy:
209889            fur:
209890              foo:
209891                - bar
209892                - baz
209893
209894   MakoStack configuration files
209895       The config files that are referenced in the above ext_pillar configura‐
209896       tion are mako templates which must render as a simple ordered  list  of
209897       yaml files that will then be merged to build pillar data.
209898
209899       Unless an absolute path name is specified, the path of these yaml files
209900       is assumed to be relative to the  directory  containing  the  MakoStack
209901       config  file.   If  a path begins with '/', however, it will be treated
209902       literally and can be anywhere on the filesystem.
209903
209904       The following variables are available in mako templating  of  makostack
209905       configuration files:
209906
209907       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
209908         tion)
209909
209910       · minion_id: the minion id ;-)
209911
209912       · __opts__: a dictionary of mostly Salt configuration options
209913
209914       · __grains__: a dictionary of the grains of the minion making this pil‐
209915         lar call
209916
209917       · __salt__:  a dictionary of Salt module functions, useful so you don't
209918         have to duplicate functions that already exist  (note:  runs  on  the
209919         master)
209920
209921       So  you  can use all the power of mako to build your list of yaml files
209922       that will be merged in pillar data.
209923
209924       For example, you could have a MakoStack config file which looks like:
209925
209926          $ cat /path/to/stack/config.cfg
209927          core.yml
209928          osarchs/%{ __grains__['osarch'] }}.yml
209929          oscodenames/%{ __grains__['oscodename'] }.yml
209930          % for role in pillar.get('roles', []):
209931          roles/%{ role }.yml
209932          % endfor
209933          minions/%{ minion_id }.yml
209934
209935       And the whole directory structure could look like:
209936
209937          $ tree /path/to/stack/
209938          /path/to/stack/
209939          ├── config.cfg
209940          ├── core.yml
209941          ├── osarchs/
209942          │   ├── amd64.yml
209943          │   └── armhf.yml
209944          ├── oscodenames/
209945          │   ├── wheezy.yml
209946          │   └── jessie.yml
209947          ├── roles/
209948          │   ├── web.yml
209949          │   └── db.yml
209950          └── minions/
209951              ├── test-1-dev.yml
209952              └── test-2-dev.yml
209953
209954   Overall process
209955       In the above MakoStack configuration, given that test-1-dev  minion  is
209956       an  amd64  platform  running  Debian  Jessie, and which pillar roles is
209957       ["db"], the following yaml files would be merged in order:
209958
209959       · core.yml
209960
209961       · osarchs/amd64.yml
209962
209963       · oscodenames/jessie.yml
209964
209965       · roles/db.yml
209966
209967       · minions/test-1-dev.yml
209968
209969       Before merging, every files above will be  preprocessed  as  mako  tem‐
209970       plates.   The  following  variables are available in mako templating of
209971       yaml files:
209972
209973       · stack: the MakoStack pillar  data  object  that  has  currently  been
209974         merged (data from previous yaml files in MakoStack configuration)
209975
209976       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
209977         tion)
209978
209979       · minion_id: the minion id ;-)
209980
209981       · __opts__: a dictionary of mostly Salt configuration options
209982
209983       · __grains__: a dictionary of the grains of the minion making this pil‐
209984         lar call
209985
209986       · __salt__:  a dictionary of Salt module functions, useful so you don't
209987         have to duplicate functions that already exist  (note:  runs  on  the
209988         master)
209989
209990       So  you  can  use  all the power of mako to build your pillar data, and
209991       even use other pillar values that has already been merged by  MakoStack
209992       (from previous yaml files in MakoStack configuration) through the stack
209993       variable.
209994
209995       Once a yaml file has been preprocessed by mako, we obtain a Python dict
209996       -  let's  call  it  yml_data - then, MakoStack will merge this yml_data
209997       dict in the main stack dict (which contains  already  merged  MakoStack
209998       pillar  data).   By  default,  MakoStack  will deeply merge yml_data in
209999       stack (similarly to the recurse  salt  pillar_source_merging_strategy),
210000       but 3 merging strategies are currently available for you to choose (see
210001       next section).
210002
210003       Once every yaml files have been processed, the stack dict will  contain
210004       your whole own pillar data, merged in order by MakoStack.  So MakoStack
210005       ext_pillar returns the stack dict, the contents  of  which  Salt  takes
210006       care  to  merge in with all of the other pillars and finally return the
210007       whole pillar to the minion.
210008
210009   Merging strategies
210010       The way the data from a new yaml_data dict is merged with the  existing
210011       stack  data  can  be controlled by specifying a merging strategy. Right
210012       now this strategy can either be merge-last (the default),  merge-first,
210013       remove, or overwrite.
210014
210015       Note  that  scalar  values  like  strings, integers, booleans, etc. are
210016       always evaluated using the overwrite strategy (other  strategies  don't
210017       make sense in that case).
210018
210019       The merging strategy can be set by including a dict in the form of:
210020
210021          __: <merging strategy>
210022
210023       as  the  first item of the dict or list.  This allows fine grained con‐
210024       trol over the merging process.
210025
210026   merge-last (default) strategy
210027       If the merge-last strategy is selected (the default), then  content  of
210028       dict  or list variables is merged recursively with previous definitions
210029       of this variable (similarly to  the  recurse  salt  pillar_source_merg‐
210030       ing_strategy).  This allows for extending previously defined data.
210031
210032   merge-first strategy
210033       If  the  merge-first  strategy is selected, then the content of dict or
210034       list variables are swapped between  the  yaml_data  and  stack  objects
210035       before being merged recursively with the merge-last previous strategy.
210036
210037   remove strategy
210038       If  the remove strategy is selected, then content of dict or list vari‐
210039       ables in stack are removed only if the corresponding item is present in
210040       the  yaml_data  dict.   This  allows for removing items from previously
210041       defined data.
210042
210043   overwrite strategy
210044       If the overwrite strategy is selected, then the content of dict or list
210045       variables in stack is overwritten by the content of yaml_data dict.  So
210046       this allows one to overwrite variables from previous definitions.
210047
210048   Merging examples
210049       Let's go through small examples that should  clarify  what's  going  on
210050       when a yaml_data dict is merged in the stack dict.
210051
210052       When you don't specify any strategy, the default merge-last strategy is
210053       selected:
210054
210055┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
210056stack                      yaml_data                   stack (after merge)         │
210057├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
210058│                           │                             │                             │
210059│          users:           │           users:            │           users:            │
210060│            tom:           │             tom:            │             tom:            │
210061│              uid: 500     │               uid: 1000     │               uid: 1000     │
210062│              roles:       │               roles:        │               roles:        │
210063│                - sysadmin │                 - developer │                 - sysadmin  │
210064│            root:          │             mat:            │                 - developer │
210065│              uid: 0       │               uid: 1001     │             mat:            │
210066│                           │                             │               uid: 1001     │
210067│                           │                             │             root:           │
210068│                           │                             │               uid: 0        │
210069└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
210070
210071       Then you can select a custom merging strategy using the  __  key  in  a
210072       dict:
210073
210074┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
210075stack                      yaml_data                   stack (after merge)         │
210076├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
210077│                           │                             │                             │
210078│          users:           │           users:            │           users:            │
210079│            tom:           │             __: merge-last  │             tom:            │
210080│              uid: 500     │             tom:            │               uid: 1000     │
210081│              roles:       │               uid: 1000     │               roles:        │
210082│                - sysadmin │               roles:        │                 - sysadmin  │
210083│            root:          │                 - developer │                 - developer │
210084│              uid: 0       │             mat:            │             mat:            │
210085│                           │               uid: 1001     │               uid: 1001     │
210086│                           │                             │             root:           │
210087│                           │                             │               uid: 0        │
210088├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
210089│                           │                             │                             │
210090│          users:           │           users:            │           users:            │
210091│            tom:           │             __: merge-first │             tom:            │
210092│              uid: 500     │             tom:            │               uid: 500      │
210093│              roles:       │               uid: 1000     │               roles:        │
210094│                - sysadmin │               roles:        │                 - developer │
210095│            root:          │                 - developer │                 - sysadmin  │
210096│              uid: 0       │             mat:            │             mat:            │
210097│                           │               uid: 1001     │               uid: 1001     │
210098│                           │                             │             root:           │
210099│                           │                             │               uid: 0        │
210100├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
210101│                           │                             │                             │
210102│          users:           │           users:            │           users:            │
210103│            tom:           │             __: remove      │             root:           │
210104│              uid: 500     │             tom:            │               uid: 0        │
210105│              roles:       │             mat:            │                             │
210106│                - sysadmin │                             │                             │
210107│            root:          │                             │                             │
210108│              uid: 0       │                             │                             │
210109├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
210110│                           │                             │                             │
210111│          users:           │           users:            │           users:            │
210112│            tom:           │             __: overwrite   │             tom:            │
210113│              uid: 500     │             tom:            │               uid: 1000     │
210114│              roles:       │               uid: 1000     │               roles:        │
210115│                - sysadmin │               roles:        │                 - developer │
210116│            root:          │                 - developer │             mat:            │
210117│              uid: 0       │             mat:            │               uid: 1001     │
210118│                           │               uid: 1001     │                             │
210119└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
210120
210121       You  can  also  select a custom merging strategy using a __ object in a
210122       list:
210123
210124      ┌───────────────────┬───────────────────────────────┬─────────────────────┐
210125stack              yaml_data                     stack (after merge) │
210126      ├───────────────────┼───────────────────────────────┼─────────────────────┤
210127      │                   │                               │                     │
210128      │          users:   │           users:              │           users:    │
210129      │            - tom  │             - __: merge-last  │             - tom   │
210130      │            - root │             - mat             │             - root  │
210131      │                   │                               │             - mat   │
210132      ├───────────────────┼───────────────────────────────┼─────────────────────┤
210133      │                   │                               │                     │
210134      │          users:   │           users:              │           users:    │
210135      │            - tom  │             - __: merge-first │             - mat   │
210136      │            - root │             - mat             │             - tom   │
210137      │                   │                               │             - root  │
210138      ├───────────────────┼───────────────────────────────┼─────────────────────┤
210139      │                   │                               │                     │
210140      │          users:   │           users:              │           users:    │
210141      │            - tom  │             - __: remove      │             - root  │
210142      │            - root │             - mat             │                     │
210143      │                   │             - tom             │                     │
210144      ├───────────────────┼───────────────────────────────┼─────────────────────┤
210145      │                   │                               │                     │
210146      │          users:   │           users:              │           users:    │
210147      │            - tom  │             - __: overwrite   │             - mat   │
210148      │            - root │             - mat             │                     │
210149      └───────────────────┴───────────────────────────────┴─────────────────────┘
210150
210151       salt.pillar.makostack.ext_pillar(minion_id, pillar, *args, **kwargs)
210152
210153   salt.pillar.mongo
210154       Read Pillar data from a mongodb collection
210155
210156       depends
210157              pymongo (for salt-master)
210158
210159       This module will load a node-specific pillar dictionary  from  a  mongo
210160       collection.  It  uses the node's id for lookups and can load either the
210161       whole document, or just a specific field from that document as the pil‐
210162       lar dictionary.
210163
210164   Salt Master Mongo Configuration
210165       The   module  shares  the  same  base  mongo  connection  variables  as
210166       salt.returners.mongo_return. These variables go in your  master  config
210167       file.
210168
210169          · mongo.db - The mongo database to connect to. Defaults to 'salt'.
210170
210171          · mongo.host  -  The mongo host to connect to. Supports replica sets
210172            by specifying all hosts in the set, comma-delimited.  Defaults  to
210173            'salt'.
210174
210175          · mongo.port  -  The  port  that  the  mongo database is running on.
210176            Defaults to 27017.
210177
210178          · mongo.user - The username for connecting to mongo.  Only  required
210179            if you are using mongo authentication. Defaults to ''.
210180
210181          · mongo.password  -  The  password  for  connecting  to  mongo. Only
210182            required if you are using mongo authentication. Defaults to ''.
210183
210184   Configuring the Mongo ext_pillar
210185       The Mongo ext_pillar takes advantage of the fact that the  Salt  Master
210186       configuration  file  is  yaml.  It  uses  a sub-dictionary of values to
210187       adjust specific features of the  pillar.  This  is  the  explicit  sin‐
210188       gle-line  dictionary notation for yaml. One may be able to get the eas‐
210189       ier-to-read multi-line dict to work correctly  with  some  experimenta‐
210190       tion.
210191
210192          ext_pillar:
210193            - mongo: {collection: vm, id_field: name, re_pattern: \.example\.com, fields: [customer_id, software, apache_vhosts]}
210194
210195       In  the  example  above,  we've decided to use the vm collection in the
210196       database to store the data. Minion ids are stored in the name field  on
210197       documents  in  that collection. And, since minion ids are FQDNs in most
210198       cases, we'll need to trim the domain name in order to find  the  minion
210199       by  hostname  in the collection. When we find a minion, return only the
210200       customer_id, software, and apache_vhosts fields, as that  will  contain
210201       the  data  we  want  for  a given node. They will be available directly
210202       inside the pillar dict in your SLS templates.
210203
210204   Module Documentation
210205       salt.pillar.mongo.ext_pillar(minion_id,  pillar,  collection=u'pillar',
210206       id_field=u'_id', re_pattern=None, re_replace=u'', fields=None)
210207              Connect  to  a  mongo database and read per-node pillar informa‐
210208              tion.
210209
210210              Parameters
210211
210212                     · collection (*) -- The mongodb collection to  read  data
210213                       from. Defaults to 'pillar'.
210214
210215                     · id_field (*) -- The field in the collection that repre‐
210216                       sents an individual minion id. Defaults to '_id'.
210217
210218                     · re_pattern (*) -- If your naming convention in the col‐
210219                       lection is shorter than the minion id, you can use this
210220                       to trim the name.  re_pattern will be used to match the
210221                       name,  and re_replace will be used to replace it. Back‐
210222                       refs are supported as they are in the  Python  standard
210223                       library.  If None, no mangling of the name will be per‐
210224                       formed - the  collection  will  be  searched  with  the
210225                       entire minion id. Defaults to None.
210226
210227                     · re_replace  (*) -- Use as the replacement value in node
210228                       ids matched with re_pattern. Defaults to ''. Feel  free
210229                       to use backreferences here.
210230
210231                     · fields  (*)  --  The specific fields in the document to
210232                       use for the pillar data. If None, will use  the  entire
210233                       document.  If  using the entire document, the _id field
210234                       will be converted to  string.  Be  careful  with  other
210235                       fields in the document as they must be string serializ‐
210236                       able. Defaults to None.
210237
210238   salt.pillar.mysql
210239       Retrieve Pillar data by doing a MySQL query
210240
210241       MariaDB provides Python  support  through  the  MySQL  Python  package.
210242       Therefore, you may use this module with both MySQL or MariaDB.
210243
210244       This module is a concrete implementation of the sql_base ext_pillar for
210245       MySQL.
210246
210247       maturity
210248              new
210249
210250       depends
210251              python-mysqldb
210252
210253       platform
210254              all
210255
210256   Configuring the mysql ext_pillar
210257       Use the 'mysql' key under ext_pillar for configuration of queries.
210258
210259       MySQL configuration of the MySQL  returner  is  being  used  (mysql.db,
210260       mysql.user, mysql.pass, mysql.port, mysql.host) for database connection
210261       info.
210262
210263       Required python modules: MySQLdb
210264
210265   Complete example
210266          mysql:
210267            user: 'salt'
210268            pass: 'super_secret_password'
210269            db: 'salt_db'
210270            port: 3306
210271            ssl:
210272              cert: /etc/mysql/client-cert.pem
210273              key: /etc/mysql/client-key.pem
210274
210275          ext_pillar:
210276            - mysql:
210277                fromdb:
210278                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
210279                            FROM some_random_table
210280                           WHERE minion_pattern LIKE %s'
210281                  depth: 5
210282                  as_list: True
210283                  with_lists: [1,3]
210284
210285       class salt.pillar.mysql.MySQLExtPillar
210286              This class receives and processes the database rows from MySQL.
210287
210288              extract_queries(args, kwargs)
210289                     This function normalizes the config block into a  set  of
210290                     queries we can use.  The return is a list of consistently
210291                     laid out dicts.
210292
210293       salt.pillar.mysql.ext_pillar(minion_id, pillar, *args, **kwargs)
210294              Execute queries against MySQL, merge and return as a dict
210295
210296   salt.pillar.netbox
210297       A module that adds data to the Pillar structure from a NetBox API.
210298
210299       New in version 2019.2.0.
210300
210301
210302   Configuring the NetBox ext_pillar
210303          ext_pillar:
210304            - netbox:
210305                api_url: http://netbox_url.com/api/
210306                api_token: 123abc
210307
210308       Create     a     token     in     your     NetBox      instance      at
210309       http://netbox_url.com/user/api-tokens/
210310
210311       The  following  options  are optional, and determine whether or not the
210312       module will attempt to configure the proxy pillar data for use with the
210313       napalm proxy-minion:
210314
210315          proxy_return: True
210316          proxy_username: admin
210317
210318       By  default,  this  module  will  query the NetBox API for the platform
210319       associated with the device, and use the 'NAPALM driver'  field  to  set
210320       the  napalm  proxy-minion driver. (Currently only 'napalm' is supported
210321       for drivertype.)
210322
210323       This module currently only supports the napalm proxy minion and assumes
210324       you  will use SSH keys to authenticate to the network device.  If pass‐
210325       word authentication is desired, it is  recommended  to  create  another
210326       proxy  key in pillar_roots (or git_pillar) with just the passwd key and
210327       use salt.renderers.gpg to encrypt the value.  If any additional options
210328       for  the  proxy setup are needed they should also be configured in pil‐
210329       lar_roots.
210330
210331       Other available options:
210332
210333       site_details: True
210334              Whether should retrieve details of the site the  device  belongs
210335              to.
210336
210337       site_prefixes: True
210338              Whether  should  retrieve  the  prefixes  of the site the device
210339              belongs to.
210340
210341       salt.pillar.netbox.ext_pillar(minion_id, pillar, *args, **kwargs)
210342              Query NetBox API for minion data
210343
210344   salt.pillar.neutron module
210345       Use Openstack Neutron data as a Pillar source. Will list  all  networks
210346       listed inside of Neutron, to all minions.
210347
210348       New in version 2015.5.1.
210349
210350
210351       depends
210352
210353              · python-neutronclient
210354
210355       A keystone profile must be used for the pillar to work (no generic key‐
210356       stone configuration here). For example:
210357
210358          my openstack_config:
210359            keystone.user: 'admin'
210360            keystone.password: 'password'
210361            keystone.tenant: 'admin'
210362            keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
210363            keystone.region_name: 'RegionOne'
210364            keystone.service_type: 'network'
210365
210366       After the profile is created, configure the external pillar  system  to
210367       use it.
210368
210369          ext_pillar:
210370            - neutron: my_openstack_config
210371
210372       Using  these  configuration profiles, multiple neutron sources may also
210373       be used:
210374
210375          ext_pillar:
210376            - neutron: my_openstack_config
210377            - neutron: my_other_openstack_config
210378
210379       By default, these networks will be returned as  a  pillar  item  called
210380       networks.  In  order  to have them returned under a different name, add
210381       the name after the Keystone profile name:
210382
210383          ext_pillar:
210384
210385                 · neutron: my_openstack_config neutron_networks
210386
210387       salt.pillar.neutron.ext_pillar(minion_id, pillar, conf)
210388              Check neutron for all data
210389
210390   salt.pillar.nodegroups
210391   Nodegroups Pillar
210392       Introspection: to which nodegroups does my minion belong?   Provides  a
210393       pillar  with  the  default  name of nodegroups which contains a list of
210394       nodegroups which match for a given minion.
210395
210396       New in version 2016.11.0.
210397
210398
210399   Command Line
210400          salt-call pillar.get nodegroups
210401          local:
210402              - class_infra
210403              - colo_sj
210404              - state_active
210405              - country_US
210406              - type_saltmaster
210407
210408   Configuring Nodegroups Pillar
210409          extension_modules: /srv/salt/ext
210410          ext_pillar:
210411            - nodegroups:
210412                pillar_name: 'nodegroups'
210413
210414       salt.pillar.nodegroups.ext_pillar(minion_id, pillar, pillar_name=None)
210415              A salt external pillar which provides the list of nodegroups  of
210416              which the minion is a member.
210417
210418              Parameters
210419
210420                     · minion_id -- used for compound matching nodegroups
210421
210422                     · pillar  -- provided by salt, but not used by nodegroups
210423                       ext_pillar
210424
210425                     · pillar_name -- optional name to  use  for  the  pillar,
210426                       defaults to 'nodegroups'
210427
210428              Returns
210429                     a  dictionary which is included by the salt master in the
210430                     pillars returned to the minion
210431
210432   salt.pillar.pepa
210433   Pepa
210434       Configuration templating for SaltStack using Hierarchical  substitution
210435       and Jinja.
210436
210437   Configuring Pepa
210438          extension_modules: /srv/salt/ext
210439
210440          ext_pillar:
210441            - pepa:
210442                resource: host                # Name of resource directory and sub-key in pillars
210443                sequence:                     # Sequence used for hierarchical substitution
210444                  - hostname:                 # Name of key
210445                      name: input             # Alias used for template directory
210446                      base_only: True         # Only use templates from Base environment, i.e. no staging
210447                  - default:
210448                  - environment:
210449                  - location..region:
210450                      name: region
210451                  - location..country:
210452                      name: country
210453                  - location..datacenter:
210454                      name: datacenter
210455                  - roles:
210456                  - osfinger:
210457                      name: os
210458                  - hostname:
210459                      name: override
210460                      base_only: True
210461                subkey: True                  # Create a sub-key in pillars, named after the resource in this case [host]
210462                subkey_only: True             # Only create a sub-key, and leave the top level untouched
210463
210464          pepa_roots:                         # Base directory for each environment
210465            base: /srv/pepa/base              # Path for base environment
210466            dev: /srv/pepa/base               # Associate dev with base
210467            qa: /srv/pepa/qa
210468            prod: /srv/pepa/prod
210469
210470          # Use a different delimiter for nested dictionaries, defaults to '..' since some keys may use '.' in the name
210471          #pepa_delimiter: ..
210472
210473          # Supply Grains for Pepa, this should **ONLY** be used for testing or validation
210474          #pepa_grains:
210475          #  environment: dev
210476
210477          # Supply Pillar for Pepa, this should **ONLY** be used for testing or validation
210478          #pepa_pillars:
210479          #  saltversion: 0.17.4
210480
210481          # Enable debug for Pepa, and keep Salt on warning
210482          #log_level: debug
210483
210484          #log_granular_levels:
210485          #  salt: warning
210486          #  salt.loaded.ext.pillar.pepa: debug
210487
210488       Pepa can also be used in Master-less SaltStack setup.
210489
210490   Command line
210491          usage: pepa.py [-h] [-c CONFIG] [-d] [-g GRAINS] [-p PILLAR] [-n] [-v]
210492                         hostname
210493
210494          positional arguments:
210495            hostname              Hostname
210496
210497          optional arguments:
210498            -h, --help            show this help message and exit
210499            -c CONFIG, --config CONFIG
210500                                  Configuration file
210501            -d, --debug           Print debug info
210502            -g GRAINS, --grains GRAINS
210503                                  Input Grains as YAML
210504            -p PILLAR, --pillar PILLAR
210505                                  Input Pillar as YAML
210506            -n, --no-color        No color output
210507            -v, --validate        Validate output
210508
210509   Templates
210510       Templates  is configuration for a host or software, that can use infor‐
210511       mation from Grains or Pillars. These can then be  used  for  hierarchi‐
210512       cally substitution.
210513
210514       Example File: host/input/test_example_com.yaml
210515
210516          location..region: emea
210517          location..country: nl
210518          location..datacenter: foobar
210519          environment: dev
210520          roles:
210521            - salt.master
210522          network..gateway: 10.0.0.254
210523          network..interfaces..eth0..hwaddr: 00:20:26:a1:12:12
210524          network..interfaces..eth0..dhcp: False
210525          network..interfaces..eth0..ipv4: 10.0.0.3
210526          network..interfaces..eth0..netmask: 255.255.255.0
210527          network..interfaces..eth0..fqdn: {{ hostname }}
210528          cobbler..profile: fedora-19-x86_64
210529
210530       As  you  see in this example you can use Jinja directly inside the tem‐
210531       plate.
210532
210533       Example File: host/region/amer.yaml
210534
210535          network..dns..servers:
210536            - 10.0.0.1
210537            - 10.0.0.2
210538          time..ntp..servers:
210539            - ntp1.amer.example.com
210540            - ntp2.amer.example.com
210541            - ntp3.amer.example.com
210542          time..timezone: America/Chihuahua
210543          yum..mirror: yum.amer.example.com
210544
210545       Each template is named after the value of the key using  lowercase  and
210546       all extended characters are replaced with underscore.
210547
210548       Example:
210549
210550       osfinger: Fedora-19
210551
210552       Would become:
210553
210554       fedora_19.yaml
210555
210556   Nested dictionaries
210557       In order to create nested dictionaries as output you can use double dot
210558       ".." as a delimiter. You can  change  this  using  "pepa_delimiter"  we
210559       choose double dot since single dot is already used by key names in some
210560       modules, and using ":" requires quoting in the YAML.
210561
210562       Example:
210563
210564          network..dns..servers:
210565            - 10.0.0.1
210566            - 10.0.0.2
210567          network..dns..options:
210568            - timeout:2
210569            - attempts:1
210570            - ndots:1
210571          network..dns..search:
210572            - example.com
210573
210574       Would become:
210575
210576          network:
210577            dns:
210578              servers:
210579                - 10.0.0.1
210580                - 10.0.0.2
210581              options:
210582                - timeout:2
210583                - attempts:1
210584                - ndots:1
210585              search:
210586                - example.com
210587
210588   Operators
210589       Operators can be used to merge/unset a list/hash  or  set  the  key  as
210590       immutable, so it can't be changed.
210591
210592                     ┌────────────┬────────────────────────────┐
210593                     │Operator    │ Description                │
210594                     ├────────────┼────────────────────────────┤
210595                     │merge()     │ Merge list or hash         │
210596                     ├────────────┼────────────────────────────┤
210597                     │unset()     │ Unset key                  │
210598                     ├────────────┼────────────────────────────┤
210599                     │immutable() │ Set  the key as immutable, │
210600                     │            │ so it can't be changed     │
210601                     ├────────────┼────────────────────────────┤
210602                     │imerge()    │ Set immutable and merge    │
210603                     ├────────────┼────────────────────────────┤
210604                     │iunset()    │ Set immutable and unset    │
210605                     └────────────┴────────────────────────────┘
210606
210607       Example:
210608
210609          network..dns..search..merge():
210610            - foobar.com
210611            - dummy.nl
210612          owner..immutable(): Operations
210613          host..printers..unset():
210614
210615   Validation
210616       Since it's very hard to test Jinja as is, the best approach is  to  run
210617       all  the permutations of input and validate the output, i.e. Unit Test‐
210618       ing.
210619
210620       To facilitate  this  in  Pepa  we  use  YAML,  Jinja  and  Cerberus  <‐
210621       https://github.com/nicolaiarocci/cerberus>.
210622
210623   Schema
210624       So this is a validation schema for network configuration, as you see it
210625       can be customized with Jinja just as Pepa templates.
210626
210627       This was designed to be run as a build job in Jenkins or similar  tool.
210628       You  can  provide  Grains/Pillar  input using either the config file or
210629       command line arguments.
210630
210631       File Example: host/validation/network.yaml
210632
210633          network..dns..search:
210634            type: list
210635            allowed:
210636              - example.com
210637
210638          network..dns..options:
210639            type: list
210640            allowed: ['timeout:2', 'attempts:1', 'ndots:1']
210641
210642          network..dns..servers:
210643            type: list
210644            schema:
210645              regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
210646
210647          network..gateway:
210648            type: string
210649            regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
210650
210651          {% if network.interfaces is defined %}
210652          {% for interface in network.interfaces %}
210653
210654          network..interfaces..{{ interface }}..dhcp:
210655            type: boolean
210656
210657          network..interfaces..{{ interface }}..fqdn:
210658            type: string
210659            regex: ^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)+[a-zA-Z]{2,6}$
210660
210661          network..interfaces..{{ interface }}..hwaddr:
210662            type: string
210663            regex: ^([0-9a-f]{1,2}\:){5}[0-9a-f]{1,2}$
210664
210665          network..interfaces..{{ interface }}..ipv4:
210666            type: string
210667            regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
210668
210669          network..interfaces..{{ interface }}..netmask:
210670            type: string
210671            regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
210672
210673          {% endfor %}
210674          {% endif %}
210675
210676   Links
210677       For      more      examples      and      information      see       <‐
210678       https://github.com/mickep76/pepa>.
210679
210680       salt.pillar.pepa.ext_pillar(minion_id, pillar, resource, sequence, sub‐
210681       key=False, subkey_only=False)
210682              Evaluate Pepa templates
210683
210684       salt.pillar.pepa.key_value_to_tree(data)
210685              Convert key/value to tree
210686
210687       salt.pillar.pepa.validate(output, resource)
210688              Validate Pepa templates
210689
210690   salt.pillar.pillar_ldap
210691       Use LDAP data as a Pillar source
210692
210693       This pillar module executes a series of LDAP searches.   Data  returned
210694       by  these  searches  are  aggregated,  whereby  data  returned by later
210695       searches override data by previous searches with the same key.
210696
210697       The final result is merged with existing pillar data.
210698
210699       The configuration of this external pillar module is done via an  exter‐
210700       nal file which provides the actual configuration for the LDAP searches.
210701
210702   Configuring the LDAP ext_pillar
210703       The basic configuration is part of the master configuration.
210704
210705          ext_pillar:
210706            - pillar_ldap: /etc/salt/master.d/pillar_ldap.yaml
210707
210708       NOTE:
210709          When  placing the file in the master.d directory, make sure its name
210710          doesn't end in .conf, otherwise the salt-master process will attempt
210711          to parse its content.
210712
210713       WARNING:
210714          Make  sure  this  file  has very restrictive permissions, as it will
210715          contain possibly sensitive LDAP credentials!
210716
210717       The only required key in the master configuration is pillar_ldap point‐
210718       ing to a file containing the actual configuration.
210719
210720   Configuring the LDAP searches
210721       The file is processed using Salt's Renderers <renderers> which makes it
210722       possible to reference grains within the configuration.
210723
210724       WARNING:
210725          When using Jinja in this file, make sure to do it  in  a  way  which
210726          prevents  leaking  sensitive  information. A rogue minion could send
210727          arbitrary grains to trick the master  into  returning  secret  data.
210728          Use  only  the  'id'  grain  which  is verified through the minion's
210729          key/cert.
210730
210731   Map Mode
210732       The it-admins configuration below returns the Pillar it-admins by:
210733
210734       · filtering for: - members  of  the  group  it-admins  -  objects  with
210735         objectclass=user
210736
210737       · returning the data of users, where each user is a dictionary contain‐
210738         ing the configured string or list attributes.
210739
210740   Configuration
210741          salt-users:
210742            server:    ldap.company.tld
210743            port:      389
210744            tls:       true
210745            dn:        'dc=company,dc=tld'
210746            binddn:    'cn=salt-pillars,ou=users,dc=company,dc=tld'
210747            bindpw:    bi7ieBai5Ano
210748            referrals: false
210749            anonymous: false
210750            mode:      map
210751            dn:        'ou=users,dc=company,dc=tld'
210752            filter:    '(&(memberof=cn=it-admins,ou=groups,dc=company,dc=tld)(objectclass=user))'
210753            attrs:
210754              - cn
210755              - displayName
210756              - givenName
210757              - sn
210758            lists:
210759              - memberOf
210760
210761          search_order:
210762            - salt-users
210763
210764   Result
210765          {
210766              'salt-users': [
210767                  {
210768                      'cn': 'cn=johndoe,ou=users,dc=company,dc=tld',
210769                      'displayName': 'John Doe'
210770                      'givenName': 'John'
210771                      'sn': 'Doe'
210772                      'memberOf': [
210773                        'cn=it-admins,ou=groups,dc=company,dc=tld',
210774                        'cn=team01,ou=groups,dc=company'
210775                      ]
210776                  },
210777                  {
210778                      'cn': 'cn=janedoe,ou=users,dc=company,dc=tld',
210779                      'displayName': 'Jane Doe',
210780                      'givenName': 'Jane',
210781                      'sn': 'Doe',
210782                      'memberOf': [
210783                        'cn=it-admins,ou=groups,dc=company,dc=tld',
210784                        'cn=team02,ou=groups,dc=company'
210785                      ]
210786                  }
210787              ]
210788          }
210789
210790       salt.pillar.pillar_ldap.ext_pillar(minion_id, pillar, config_file)
210791              Execute LDAP searches and return the aggregated data
210792
210793   salt.pillar.postgres module
210794       Retrieve Pillar data by doing a postgres query
210795
210796       New in version 2017.7.0.
210797
210798
210799       maturity
210800              new
210801
210802       depends
210803              psycopg2
210804
210805       platform
210806              all
210807
210808   Complete Example
210809          postgres:
210810            user: 'salt'
210811            pass: 'super_secret_password'
210812            db: 'salt_db'
210813
210814          ext_pillar:
210815            - postgres:
210816                fromdb:
210817                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
210818                            FROM some_random_table
210819                           WHERE minion_pattern LIKE %s'
210820                  depth: 5
210821                  as_list: True
210822                  with_lists: [1,3]
210823
210824       class salt.pillar.postgres.POSTGRESExtPillar
210825              This class receives and processes the database rows  from  POST‐
210826              GRES.
210827
210828              extract_queries(args, kwargs)
210829                     This  function  normalizes the config block into a set of
210830                     queries we can use.  The return is a list of consistently
210831                     laid out dicts.
210832
210833       salt.pillar.postgres.ext_pillar(minion_id, pillar, *args, **kwargs)
210834              Execute queries against POSTGRES, merge and return as a dict
210835
210836   salt.pillar.puppet
210837       Execute  an  unmodified  puppet_node_classifier  and read the output as
210838       YAML. The YAML data is then directly overlaid onto the minion's  Pillar
210839       data.
210840
210841       salt.pillar.puppet.ext_pillar(minion_id, pillar, command)
210842              Execute an unmodified puppet_node_classifier and read the output
210843              as YAML
210844
210845   salt.pillar.reclass_adapter
210846       Use the "reclass" database as a Pillar source
210847
210848       This ext_pillar plugin provides access to the  reclass  database,  such
210849       that Pillar data for a specific minion are fetched using reclass.
210850
210851       You     can     find     more     information    about    reclass    at
210852       http://reclass.pantsfullofunix.net.
210853
210854       To use the plugin, add it to the ext_pillar list  in  the  Salt  master
210855       config  and  tell reclass by way of a few options how and where to find
210856       the inventory:
210857
210858          ext_pillar:
210859              - reclass:
210860                  storage_type: yaml_fs
210861                  inventory_base_uri: /srv/salt
210862
210863       This would cause reclass to read  the  inventory  from  YAML  files  in
210864       /srv/salt/nodes and /srv/salt/classes.
210865
210866       If  you  are  also using reclass as master_tops plugin, and you want to
210867       avoid having to specify the same information for both, use YAML anchors
210868       (take note of the differing data types for ext_pillar and master_tops):
210869
210870          reclass: &reclass
210871              storage_type: yaml_fs
210872              inventory_base_uri: /srv/salt
210873              reclass_source_path: ~/code/reclass
210874
210875          ext_pillar:
210876              - reclass: *reclass
210877
210878          master_tops:
210879              reclass: *reclass
210880
210881       If  you want to run reclass from source, rather than installing it, you
210882       can either let the master know via the PYTHONPATH environment variable,
210883       or by setting the configuration option, like in the example above.
210884
210885       salt.pillar.reclass_adapter.ext_pillar(minion_id, pillar, **kwargs)
210886              Obtain the Pillar data from reclass for the given minion_id.
210887
210888   salt.pillar.redismod
210889   Read pillar data from a Redis backend
210890       New in version 2014.7.0.
210891
210892
210893       depends
210894
210895              · redis Python module (on master)
210896
210897   Salt Master Redis Configuration
210898       The   module  shares  the  same  base  Redis  connection  variables  as
210899       salt.returners.redis_return. These variables go in your  master  config
210900       file.
210901
210902       · redis.db - The Redis database to use. Defaults to 0.
210903
210904       · redis.host - The Redis host to connect to. Defaults to 'salt'.
210905
210906       · redis.port  -  The  port  that  the  Redis  database is listening on.
210907         Defaults to 6379.
210908
210909       · redis.password - The password for  authenticating  with  Redis.  Only
210910         required if you are using master auth. Defaults to None.
210911
210912   Configuring the Redis ext_pillar
210913              ext_pillar:
210914                - redis: {function: key_value}
210915
210916       salt.pillar.redismod.ext_pillar(minion_id, pillar, function, **kwargs)
210917              Grabs external pillar data based on configured function
210918
210919       salt.pillar.redismod.key_json(minion_id, pillar, pillar_key=None)
210920              Pulls a string from redis and deserializes it from json. Deseri‐
210921              alized dictionary data loaded directly into top  level  if  pil‐
210922              lar_key is not set.
210923
210924              pillar_key
210925                     Pillar key to return data into
210926
210927       salt.pillar.redismod.key_value(minion_id,          pillar,         pil‐
210928       lar_key=u'redis_pillar')
210929              Looks for key in redis matching minion_id, returns  a  structure
210930              based on the data type of the redis key. String for string type,
210931              dict for hash type and lists for lists, sets and sorted sets.
210932
210933              pillar_key
210934                     Pillar key to return data into
210935
210936   salt.pillar.s3
210937       Copy pillar data from a bucket in Amazon S3
210938
210939       The S3 pillar can be configured in the master config file with the fol‐
210940       lowing options
210941
210942          ext_pillar:
210943            - s3:
210944                bucket: my.fancy.pillar.bucket
210945                keyid: KASKFJWAKJASJKDAJKSD
210946                key: ksladfDLKDALSFKSD93q032sdDasdfasdflsadkf
210947                multiple_env: False
210948                environment: base
210949                prefix: somewhere/overthere
210950                verify_ssl: True
210951                service_url: s3.amazonaws.com
210952                kms_keyid: 01234567-89ab-cdef-0123-4567890abcde
210953                s3_cache_expire: 30
210954                s3_sync_on_update: True
210955                path_style: False
210956                https_enable: True
210957
210958       The bucket parameter specifies the target S3 bucket. It is required.
210959
210960       The  keyid  parameter  specifies  the  key id to use when access the S3
210961       bucket.  If it is not  provided,  an  attempt  to  fetch  it  from  EC2
210962       instance meta-data will be made.
210963
210964       The  key  parameter specifies the key to use when access the S3 bucket.
210965       If it is not provided,  an  attempt  to  fetch  it  from  EC2  instance
210966       meta-data will be made.
210967
210968       The  multiple_env  defaults  to  False. It specifies whether the pillar
210969       should interpret top level folders as  pillar  environments  (see  mode
210970       section below).
210971
210972       The  environment defaults to 'base'. It specifies which environment the
210973       bucket represents when in single environments mode  (see  mode  section
210974       below). It is ignored if multiple_env is True.
210975
210976       The  prefix  defaults  to  ''.  It  specifies  a key prefix to use when
210977       searching for data in the bucket for the pillar. It works  when  multi‐
210978       ple_env  is True or False.  Essentially it tells ext_pillar to look for
210979       your pillar data in a 'subdirectory' of your S3 bucket
210980
210981       The verify_ssl parameter defaults to  True.  It  specifies  whether  to
210982       check  for valid S3 SSL certificates. NOTE If you use bucket names with
210983       periods, this must be set to False else an  invalid  certificate  error
210984       will be thrown (issue #12200).
210985
210986       The  service_url parameter defaults to 's3.amazonaws.com'. It specifies
210987       the base url to use for accessing S3.
210988
210989       The kms_keyid parameter is optional. It specifies the  ID  of  the  Key
210990       Management  Service  (KMS)  master  key  that  was  used to encrypt the
210991       object.
210992
210993       The s3_cache_expire parameter defaults to 30s. It specifies  expiration
210994       time of S3 metadata cache file.
210995
210996       The s3_sync_on_update parameter defaults to True. It specifies if cache
210997       is synced on update rather than jit.
210998
210999       The path_style parameter defaults to False. It specifies whether to use
211000       path style requests or dns style requests
211001
211002       The  https_enable  parameter  defaults to True. It specifies whether to
211003       use https protocol or http protocol
211004
211005       This pillar can operate in two modes, single environment per bucket  or
211006       multiple environments per bucket.
211007
211008       Single environment mode must have this bucket structure:
211009
211010          s3://<bucket name>/<prefix>/<files>
211011
211012       Multiple environment mode must have this bucket structure:
211013
211014          s3://<bucket name>/<prefix>/<environment>/<files>
211015
211016       If  you  wish to define your pillar data entirely within S3 it's recom‐
211017       mended that you use the prefix= parameter  and  specify  one  entry  in
211018       ext_pillar  for  each  environment rather than specifying multiple_env.
211019       This       is        due        to        issue        #22471        (‐
211020       https://github.com/saltstack/salt/issues/22471)
211021
211022       class  salt.pillar.s3.S3Credentials(key,  keyid,  bucket,  service_url,
211023       verify_ssl=True,   kms_keyid=None,   location=None,   path_style=False,
211024       https_enable=True)
211025
211026       salt.pillar.s3.ext_pillar(minion_id,    pillar,    bucket,    key=None,
211027       keyid=None, verify_ssl=True, location=None,  multiple_env=False,  envi‐
211028       ronment=u'base',    prefix=u'',    service_url=None,    kms_keyid=None,
211029       s3_cache_expire=30,      s3_sync_on_update=True,      path_style=False,
211030       https_enable=True)
211031              Execute a command and read the output as YAML
211032
211033   salt.pillar.saltclass
211034   SaltClass Pillar Module
211035          ext_pillar:
211036            - saltclass:
211037              - path: /srv/saltclass
211038
211039       For additional configuration instructions, see the saltclass module
211040
211041       salt.pillar.saltclass.ext_pillar(minion_id, pillar, *args, **kwargs)
211042              Compile pillar data
211043
211044   salt.pillar.sql_base module
211045       Retrieve Pillar data by doing a SQL query
211046
211047       This module is not meant to be used directly as an ext_pillar.  It is a
211048       place to put code common to PEP 249 compliant  SQL  database  adapters.
211049       It  exposes  a  python  ABC  that  can  be  subclassed for new database
211050       providers.
211051
211052       maturity
211053              new
211054
211055       platform
211056              all
211057
211058   Theory of sql_base ext_pillar
211059       Ok, here's the theory for how this works...
211060
211061       · First, any non-keyword args are processed in order.
211062
211063       · Then, remaining keywords are processed.
211064
211065       We do this so that it's backward compatible with older  configs.   Key‐
211066       word  arguments  are sorted before being appended, so that they're pre‐
211067       dictable, but they will always be applied last so overall it's moot.
211068
211069       For each of those items we process, it depends on the object type:
211070
211071       · Strings are executed as is and the pillar depth is determined by  the
211072         number of fields returned.
211073
211074       · A  list has the first entry used as the query, the second as the pil‐
211075         lar depth.
211076
211077       · A mapping uses the keys "query" and "depth" as the tuple
211078
211079       You can retrieve as many fields as you like, how they get used  depends
211080       on the exact settings.
211081
211082   Configuring a sql_base ext_pillar
211083       The  sql_base ext_pillar cannot be used directly, but shares query con‐
211084       figuration  with  its  implementations.  These  examples  use  a   fake
211085       'sql_base'  adapter,  which  should  be  replaced  with the name of the
211086       adapter you are using.
211087
211088       A list of queries can be passed in
211089
211090          ext_pillar:
211091            - sql_base:
211092                - "SELECT pillar,value FROM pillars WHERE minion_id = %s"
211093                - "SELECT pillar,value FROM more_pillars WHERE minion_id = %s"
211094
211095       Or you can pass in a mapping
211096
211097          ext_pillar:
211098            - sql_base:
211099                main: "SELECT pillar,value FROM pillars WHERE minion_id = %s"
211100                extras: "SELECT pillar,value FROM more_pillars WHERE minion_id = %s"
211101
211102       The query can be provided as a string as we have just shown,  but  they
211103       can be provided as lists
211104
211105          ext_pillar:
211106            - sql_base:
211107                - "SELECT pillar,value FROM pillars WHERE minion_id = %s"
211108                  2
211109
211110       Or as a mapping
211111
211112          ext_pillar:
211113            - sql_base:
211114                - query: "SELECT pillar,value FROM pillars WHERE minion_id = %s"
211115                  depth: 2
211116
211117       The  depth  defines  how the dicts are constructed.  Essentially if you
211118       query for fields a,b,c,d for each row you'll get:
211119
211120       · With depth 1: {a: {"b": b, "c": c, "d": d}}
211121
211122       · With depth 2: {a: {b: {"c": c, "d": d}}}
211123
211124       · With depth 3: {a: {b: {c: d}}}
211125
211126       Depth greater than 3 wouldn't be different from 3 itself.  Depth  of  0
211127       translates  to the largest depth needed, so 3 in this case.  (max depth
211128       == key count - 1)
211129
211130       Then they are merged in a similar way to  plain  pillar  data,  in  the
211131       order returned by the SQL database.
211132
211133       Thus subsequent results overwrite previous ones when they collide.
211134
211135       The  ignore_null option can be used to change the overwrite behavior so
211136       that only non-NULL values in subsequent results will  overwrite.   This
211137       can be used to selectively overwrite default values.
211138
211139          ext_pillar:
211140            - sql_base:
211141                - query: "SELECT pillar,value FROM pillars WHERE minion_id = 'default' and minion_id != %s"
211142                  depth: 2
211143                - query: "SELECT pillar,value FROM pillars WHERE minion_id = %s"
211144                  depth: 2
211145                  ignore_null: True
211146
211147       If  you specify as_list: True in the mapping expression it will convert
211148       collisions to lists.
211149
211150       If you specify with_lists: '...' in the mapping expression it will con‐
211151       vert  the  specified depths to list.  The string provided is a sequence
211152       numbers that are comma separated.  The string '1,3' will result in:
211153
211154          a,b,c,d,e,1  # field 1 same, field 3 differs
211155          a,b,c,f,g,2  # ^^^^
211156          a,z,h,y,j,3  # field 1 same, field 3 same
211157          a,z,h,y,k,4  # ^^^^
211158            ^   ^
211159
211160       These columns define list grouping
211161
211162          {a: [
211163                {c: [
211164                    {e: 1},
211165                    {g: 2}
211166                    ]
211167                },
211168                {h: [
211169                    {j: 3, k: 4 }
211170                    ]
211171                }
211172          ]}
211173
211174       The range for with_lists is 1 to number_of_fields, inclusive.   Numbers
211175       outside this range are ignored.
211176
211177       Finally,  if you pass the queries in via a mapping, the key will be the
211178       first level name where as passing them in as a list will place them  in
211179       the  root.   This  isolates  the query results into their own subtrees.
211180       This may be a help or hindrance to your aims and can be used as such.
211181
211182       You can basically use any SELECT query that gets you  the  information,
211183       you  could even do joins or subqueries in case your minion_id is stored
211184       elsewhere.  It is capable of handling single rows or multiple rows  per
211185       minion.
211186
211187       Configuration of the connection depends on the adapter in use.
211188
211189   More complete example for MySQL (to also show configuration)
211190          mysql:
211191            user: 'salt'
211192            pass: 'super_secret_password'
211193            db: 'salt_db'
211194
211195          ext_pillar:
211196            - mysql:
211197                fromdb:
211198                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
211199                            FROM some_random_table
211200                           WHERE minion_pattern LIKE %s'
211201                  depth: 5
211202                  as_list: True
211203                  with_lists: [1,3]
211204
211205       class salt.pillar.sql_base.SqlBaseExtPillar
211206              This  class  receives and processes the database rows in a data‐
211207              base agnostic way.
211208
211209              as_list = False
211210
211211              depth = 0
211212
211213              enter_root(root)
211214                     Set self.focus for kwarg queries
211215
211216              extract_queries(args, kwargs)
211217                     This function normalizes the config block into a  set  of
211218                     queries we can use.  The return is a list of consistently
211219                     laid out dicts.
211220
211221              fetch(minion_id, pillar, *args, **kwargs)
211222                     Execute queries, merge and return as a dict.
211223
211224              field_names = None
211225
211226              focus = None
211227
211228              ignore_null = False
211229
211230              num_fields = 0
211231
211232              process_fields(field_names, depth)
211233                     The primary purpose of this function is to store the  sql
211234                     field list and the depth to which we process.
211235
211236              process_results(rows)
211237                     This  function takes a list of database results and iter‐
211238                     ates over, merging them into a dict form.
211239
211240              result = None
211241
211242              with_lists = None
211243
211244   salt.pillar.sqlcipher module
211245       Retrieve Pillar data by running a SQLCipher query
211246
211247       New in version 2016.3.0.
211248
211249
211250       Python SQLCipher support is provided by the pysqlcipher Python package.
211251       You  need  this  module installed to query Pillar data from a SQLCipher
211252       database.
211253
211254       This module is a concrete implementation of the sql_base ext_pillar for
211255       SQLCipher.
211256
211257       maturity
211258              new
211259
211260       depends
211261              pysqlcipher (for py2) or pysqlcipher3 (for py3)
211262
211263       platform
211264              all
211265
211266   Configuring the sqlcipher ext_pillar
211267       Use the 'sqlcipher' key under ext_pillar for configuration of queries.
211268
211269       SQLCipher database connection configuration requires the following val‐
211270       ues configured in the master config:
211271
211272          · sqlcipher.database  -  The  SQLCipher  database  to  connect   to.
211273            Defaults to '/var/lib/salt/pillar-sqlcipher.db'.
211274
211275          · sqlcipher.pass - The SQLCipher database decryption password.
211276
211277          · sqlcipher.timeout - The connection timeout in seconds.
211278
211279       Example configuration
211280
211281          sqlcipher:
211282            database: /var/lib/salt/pillar-sqlcipher.db
211283            pass: strong_pass_phrase
211284            timeout: 5.0
211285
211286   Complete Example
211287          sqlcipher:
211288            database: '/var/lib/salt/pillar-sqlcipher.db'
211289            pass: strong_pass_phrase
211290            timeout: 5.0
211291
211292          ext_pillar:
211293            - sqlcipher:
211294                fromdb:
211295                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
211296                            FROM some_random_table
211297                           WHERE minion_pattern LIKE ?'
211298                  depth: 5
211299                  as_list: True
211300                  with_lists: [1,3]
211301
211302       class salt.pillar.sqlcipher.SQLCipherExtPillar
211303              This  class receives and processes the database rows from SQLCi‐
211304              pher.
211305
211306       salt.pillar.sqlcipher.ext_pillar(minion_id, pillar, *args, **kwargs)
211307              Execute queries against SQLCipher, merge and return as a dict
211308
211309   salt.pillar.sqlite3 module
211310       Retrieve Pillar data by doing a SQLite3 query
211311
211312       New in version 2015.8.0.
211313
211314
211315       sqlite3 is included in the stdlib since Python 2.5.
211316
211317       This module is a concrete implementation of the sql_base ext_pillar for
211318       SQLite3.
211319
211320       platform
211321              all
211322
211323   Configuring the sqlite3 ext_pillar
211324       Use the 'sqlite3' key under ext_pillar for configuration of queries.
211325
211326       SQLite3 database connection configuration requires the following values
211327       configured in the master config:
211328
211329       Note, timeout is in seconds.
211330
211331          sqlite3.database: /var/lib/salt/pillar.db
211332          sqlite3.timeout: 5.0
211333
211334   Complete Example
211335          sqlite3:
211336            database: '/var/lib/salt/pillar.db'
211337            timeout: 5.0
211338
211339          ext_pillar:
211340            - sqlite3:
211341                fromdb:
211342                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
211343                            FROM some_random_table
211344                           WHERE minion_pattern LIKE ?'
211345                  depth: 5
211346                  as_list: True
211347                  with_lists: [1,3]
211348
211349       class salt.pillar.sqlite3.SQLite3ExtPillar
211350              This  class  receives  and  processes  the  database  rows  from
211351              SQLite3.
211352
211353       salt.pillar.sqlite3.ext_pillar(minion_id, pillar, *args, **kwargs)
211354              Execute queries against SQLite3, merge and return as a dict
211355
211356   salt.pillar.stack
211357       Simple  and  flexible YAML ext_pillar which can read pillar from within
211358       pillar.
211359
211360       New in version 2016.3.0.
211361
211362
211363       PillarStack is a custom saltstack  ext_pillar  which  was  inspired  by
211364       varstack but is heavily based on Jinja2 for maximum flexibility.
211365
211366       Any   issue   should   be   reported   to   the  upstream  project  at:
211367       https://github.com/bbinet/pillarstack/issues
211368
211369       It supports the following features:
211370
211371       · multiple config files that are jinja2 templates with support for pil‐
211372         lar, __grains__, __salt__, __opts__ objects
211373
211374       · a  config  file  renders  as an ordered list of files (paths of these
211375         files are relative to the current config file)
211376
211377       · this list of files are read in ordered as jinja2 templates with  sup‐
211378         port for stack, pillar, __grains__, __salt__, __opts__ objects
211379
211380       · all these rendered files are then parsed as yaml
211381
211382       · then  all yaml dicts are merged in order with support for the follow‐
211383         ing merging strategies: merge-first, merge-last,  remove,  and  over‐
211384         write
211385
211386       · stack  config  files  can be matched based on pillar, grains, or opts
211387         values, which make it possible  to  support  kind  of  self-contained
211388         environments
211389
211390   Installation
211391       PillarStack  is  already  bundled  with  Salt since 2016.3.0 version so
211392       there is nothing to install from version 2016.3.0.
211393
211394       If you use an older Salt version or you want  to  override  PillarStack
211395       with a more recent one, follow the installation procedure below.
211396
211397       Installing  the  PillarStack  ext_pillar  is  as simple as dropping the
211398       stack.py file in the <extension_modules>/pillar directory (no  external
211399       python  module  required),  given that extension_modules is set in your
211400       salt-master                     configuration,                     see:
211401       http://docs.saltstack.com/en/latest/ref/configuration/master.html#extension-modules
211402
211403   Configuration in Salt
211404       Like any other external pillar, its configuration takes  place  through
211405       the ext_pillar key in the master config file.
211406
211407       However, you can configure PillarStack in 3 different ways:
211408
211409   Single config file
211410       This is the simplest option, you just need to set the path to your sin‐
211411       gle PillarStack config file like below:
211412
211413          ext_pillar:
211414            - stack: /path/to/stack.cfg
211415
211416   List of config files
211417       You can also provide a list of config files:
211418
211419          ext_pillar:
211420            - stack:
211421                - /path/to/stack1.cfg
211422                - /path/to/stack2.cfg
211423
211424   Select config files through grains|pillar|opts matching
211425       You can also opt for a much more  flexible  configuration:  PillarStack
211426       allows  one  to select the config files for the current minion based on
211427       matching values from either grains, or pillar, or opts objects.
211428
211429       Here is an example of such  a  configuration,  which  should  speak  by
211430       itself:
211431
211432          ext_pillar:
211433            - stack:
211434                pillar:environment:
211435                  dev: /path/to/dev/stack.cfg
211436                  prod: /path/to/prod/stack.cfg
211437                grains:custom:grain:
211438                  value:
211439                    - /path/to/stack1.cfg
211440                    - /path/to/stack2.cfg
211441                opts:custom:opt:
211442                  value: /path/to/stack0.cfg
211443
211444   PillarStack configuration files
211445       The config files that are referenced in the above ext_pillar configura‐
211446       tion are jinja2 templates which must render as a simple ordered list of
211447       yaml files that will then be merged to build pillar data.
211448
211449       The  path  of these yaml files must be relative to the directory of the
211450       PillarStack config file. These paths support unix style  pathname  pat‐
211451       tern      expansion      through     the     Python     glob     module
211452       <https://docs.python.org/2/library/glob.html>.
211453
211454       The following variables are available  in  jinja2  templating  of  Pil‐
211455       larStack configuration files:
211456
211457       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
211458         tion)
211459
211460       · minion_id: the minion id ;-)
211461
211462       · __opts__: a dictionary of mostly Salt configuration options
211463
211464       · __grains__: a dictionary of the grains of the minion making this pil‐
211465         lar call
211466
211467       · __salt__:  a dictionary of Salt module functions, useful so you don't
211468         have to duplicate functions that already exist  (note:  runs  on  the
211469         master)
211470
211471       So you can use all the power of jinja2 to build your list of yaml files
211472       that will be merged in pillar data.
211473
211474       For example, you could have a PillarStack config file which looks like:
211475
211476          $ cat /path/to/stack/config.cfg
211477          core.yml
211478          common/*.yml
211479          osarchs/{{ __grains__['osarch'] }}.yml
211480          oscodenames/{{ __grains__['oscodename'] }}.yml
211481          {%- for role in pillar.get('roles', []) %}
211482          roles/{{ role }}.yml
211483          {%- endfor %}
211484          minions/{{ minion_id }}.yml
211485
211486       And the whole directory structure could look like:
211487
211488          $ tree /path/to/stack/
211489          /path/to/stack/
211490          ├── config.cfg
211491          ├── core.yml
211492          ├── common/
211493          │   ├── xxx.yml
211494          │   └── yyy.yml
211495          ├── osarchs/
211496          │   ├── amd64.yml
211497          │   └── armhf.yml
211498          ├── oscodenames/
211499          │   ├── wheezy.yml
211500          │   └── jessie.yml
211501          ├── roles/
211502          │   ├── web.yml
211503          │   └── db.yml
211504          └── minions/
211505              ├── test-1-dev.yml
211506              └── test-2-dev.yml
211507
211508   Overall process
211509       In the above PillarStack configuration, given that test-1-dev minion is
211510       an  amd64  platform  running  Debian  Jessie, and which pillar roles is
211511       ["db"], the following yaml files would be merged in order:
211512
211513       · core.yml
211514
211515       · common/xxx.yml
211516
211517       · common/yyy.yml
211518
211519       · osarchs/amd64.yml
211520
211521       · oscodenames/jessie.yml
211522
211523       · roles/db.yml
211524
211525       · minions/test-1-dev.yml
211526
211527       Before merging, every files above will be preprocessed as  Jinja2  tem‐
211528       plates.   The following variables are available in Jinja2 templating of
211529       yaml files:
211530
211531       · stack: the PillarStack pillar data object  that  has  currently  been
211532         merged (data from previous yaml files in PillarStack configuration)
211533
211534       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
211535         tion)
211536
211537       · minion_id: the minion id ;-)
211538
211539       · __opts__: a dictionary of mostly Salt configuration options
211540
211541       · __grains__: a dictionary of the grains of the minion making this pil‐
211542         lar call
211543
211544       · __salt__:  a dictionary of Salt module functions, useful so you don't
211545         have to duplicate functions that already exist  (note:  runs  on  the
211546         master)
211547
211548       So  you  can use all the power of jinja2 to build your pillar data, and
211549       even use other pillar values that  has  already  been  merged  by  Pil‐
211550       larStack  (from  previous  yaml  files  in  PillarStack  configuration)
211551       through the stack variable.
211552
211553       Once a yaml file has been preprocessed by Jinja2, we  obtain  a  Python
211554       dict  -  let's  call  it  yml_data  - then, PillarStack will merge this
211555       yml_data dict in the main stack dict  (which  contains  already  merged
211556       PillarStack  pillar  data).   By default, PillarStack will deeply merge
211557       yml_data in stack (similarly to the  recurse  salt  pillar_source_merg‐
211558       ing_strategy), but 3 merging strategies are currently available for you
211559       to choose (see next section).
211560
211561       Once every yaml files have been processed, the stack dict will  contain
211562       your  whole  own  pillar data, merged in order by PillarStack.  So Pil‐
211563       larStack ext_pillar returns the stack dict, the contents of which  Salt
211564       takes care to merge in with all of the other pillars and finally return
211565       the whole pillar to the minion.
211566
211567   Merging strategies
211568       The way the data from a new yaml_data dict is merged with the  existing
211569       stack  data  can  be controlled by specifying a merging strategy. Right
211570       now this strategy can either be merge-last (the default),  merge-first,
211571       remove, or overwrite.
211572
211573       Note  that  scalar  values  like  strings, integers, booleans, etc. are
211574       always evaluated using the overwrite strategy (other  strategies  don't
211575       make sense in that case).
211576
211577       The merging strategy can be set by including a dict in the form of:
211578
211579          __: <merging strategy>
211580
211581       as  the  first item of the dict or list.  This allows fine grained con‐
211582       trol over the merging process.
211583
211584   merge-last (default) strategy
211585       If the merge-last strategy is selected (the default), then  content  of
211586       dict  or list variables is merged recursively with previous definitions
211587       of this variable (similarly to  the  recurse  salt  pillar_source_merg‐
211588       ing_strategy).  This allows for extending previously defined data.
211589
211590   merge-first strategy
211591       If  the  merge-first  strategy is selected, then the content of dict or
211592       list variables are swapped between  the  yaml_data  and  stack  objects
211593       before being merged recursively with the merge-last previous strategy.
211594
211595   remove strategy
211596       If  the remove strategy is selected, then content of dict or list vari‐
211597       ables in stack are removed only if the corresponding item is present in
211598       the  yaml_data  dict.   This  allows for removing items from previously
211599       defined data.
211600
211601   overwrite strategy
211602       If the overwrite strategy is selected, then the content of dict or list
211603       variables in stack is overwritten by the content of yaml_data dict.  So
211604       this allows one to overwrite variables from previous definitions.
211605
211606   Merging examples
211607       Let's go through small examples that should  clarify  what's  going  on
211608       when a yaml_data dict is merged in the stack dict.
211609
211610       When you don't specify any strategy, the default merge-last strategy is
211611       selected:
211612
211613┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
211614stack                      yaml_data                   stack (after merge)         │
211615├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
211616│                           │                             │                             │
211617│          users:           │           users:            │           users:            │
211618│            tom:           │             tom:            │             tom:            │
211619│              uid: 500     │               uid: 1000     │               uid: 1000     │
211620│              roles:       │               roles:        │               roles:        │
211621│                - sysadmin │                 - developer │                 - sysadmin  │
211622│            root:          │             mat:            │                 - developer │
211623│              uid: 0       │               uid: 1001     │             mat:            │
211624│                           │                             │               uid: 1001     │
211625│                           │                             │             root:           │
211626│                           │                             │               uid: 0        │
211627└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
211628
211629       Then you can select a custom merging strategy using the  __  key  in  a
211630       dict:
211631
211632┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
211633stack                      yaml_data                   stack (after merge)         │
211634├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
211635│                           │                             │                             │
211636│          users:           │           users:            │           users:            │
211637│            tom:           │             __: merge-last  │             tom:            │
211638│              uid: 500     │             tom:            │               uid: 1000     │
211639│              roles:       │               uid: 1000     │               roles:        │
211640│                - sysadmin │               roles:        │                 - sysadmin  │
211641│            root:          │                 - developer │                 - developer │
211642│              uid: 0       │             mat:            │             mat:            │
211643│                           │               uid: 1001     │               uid: 1001     │
211644│                           │                             │             root:           │
211645│                           │                             │               uid: 0        │
211646├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
211647│                           │                             │                             │
211648│          users:           │           users:            │           users:            │
211649│            tom:           │             __: merge-first │             tom:            │
211650│              uid: 500     │             tom:            │               uid: 500      │
211651│              roles:       │               uid: 1000     │               roles:        │
211652│                - sysadmin │               roles:        │                 - developer │
211653│            root:          │                 - developer │                 - sysadmin  │
211654│              uid: 0       │             mat:            │             mat:            │
211655│                           │               uid: 1001     │               uid: 1001     │
211656│                           │                             │             root:           │
211657│                           │                             │               uid: 0        │
211658├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
211659│                           │                             │                             │
211660│          users:           │           users:            │           users:            │
211661│            tom:           │             __: remove      │             root:           │
211662│              uid: 500     │             tom:            │               uid: 0        │
211663│              roles:       │             mat:            │                             │
211664│                - sysadmin │                             │                             │
211665│            root:          │                             │                             │
211666│              uid: 0       │                             │                             │
211667├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
211668│                           │                             │                             │
211669│          users:           │           users:            │           users:            │
211670│            tom:           │             __: overwrite   │             tom:            │
211671│              uid: 500     │             tom:            │               uid: 1000     │
211672│              roles:       │               uid: 1000     │               roles:        │
211673│                - sysadmin │               roles:        │                 - developer │
211674│            root:          │                 - developer │             mat:            │
211675│              uid: 0       │             mat:            │               uid: 1001     │
211676│                           │               uid: 1001     │                             │
211677└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
211678
211679       You  can  also  select a custom merging strategy using a __ object in a
211680       list:
211681
211682      ┌───────────────────┬───────────────────────────────┬─────────────────────┐
211683stack              yaml_data                     stack (after merge) │
211684      ├───────────────────┼───────────────────────────────┼─────────────────────┤
211685      │                   │                               │                     │
211686      │          users:   │           users:              │           users:    │
211687      │            - tom  │             - __: merge-last  │             - tom   │
211688      │            - root │             - mat             │             - root  │
211689      │                   │                               │             - mat   │
211690      ├───────────────────┼───────────────────────────────┼─────────────────────┤
211691      │                   │                               │                     │
211692      │          users:   │           users:              │           users:    │
211693      │            - tom  │             - __: merge-first │             - mat   │
211694      │            - root │             - mat             │             - tom   │
211695      │                   │                               │             - root  │
211696      ├───────────────────┼───────────────────────────────┼─────────────────────┤
211697      │                   │                               │                     │
211698      │          users:   │           users:              │           users:    │
211699      │            - tom  │             - __: remove      │             - root  │
211700      │            - root │             - mat             │                     │
211701      │                   │             - tom             │                     │
211702      ├───────────────────┼───────────────────────────────┼─────────────────────┤
211703      │                   │                               │                     │
211704      │          users:   │           users:              │           users:    │
211705      │            - tom  │             - __: overwrite   │             - mat   │
211706      │            - root │             - mat             │                     │
211707      └───────────────────┴───────────────────────────────┴─────────────────────┘
211708
211709       salt.pillar.stack.ext_pillar(minion_id, pillar, *args, **kwargs)
211710
211711   salt.pillar.svn_pillar
211712       Clone a remote SVN repository and use the filesystem as a Pillar source
211713
211714       This external Pillar source can be configured in the master config file
211715       like so:
211716
211717          ext_pillar:
211718            - svn: trunk svn://svnserver/repo root=subdirectory
211719
211720       The  root=  parameter is optional and used to set the subdirectory from
211721       where to look for Pillar files (such as top.sls).
211722
211723       Changed in version 2014.7.0: The optional root parameter will be added.
211724
211725
211726       Note that this is not the same thing as configuring pillar  data  using
211727       the  pillar_roots  parameter.  The  branch referenced in the ext_pillar
211728       entry above (master), would evaluate to the base environment,  so  this
211729       branch needs to contain a top.sls with a base section in it, like this:
211730
211731          base:
211732            '*':
211733              - foo
211734
211735       To use other environments from the same SVN repo as svn_pillar sources,
211736       just add additional lines, like so:
211737
211738          ext_pillar:
211739            - svn: trunk svn://svnserver/repo
211740            - svn: dev svn://svnserver/repo
211741
211742       In this case, the dev branch would need its own top.sls with a dev sec‐
211743       tion in it, like this:
211744
211745          dev:
211746            '*':
211747              - bar
211748
211749       class   salt.pillar.svn_pillar.SvnPillar(branch,  repo_location,  root,
211750       opts)
211751              Deal with the remote SVN repository for Pillar
211752
211753              pillar_dir()
211754                     Returns the directory of the pillars (repo cache + branch
211755                     + root)
211756
211757              update()
211758
211759       salt.pillar.svn_pillar.ext_pillar(minion_id, pillar, repo_string)
211760              Execute a command and read the output as YAML
211761
211762   salt.pillar.varstack_pillar
211763       Use Varstack data as a Pillar source
211764
211765   Configuring Varstack
211766       Using  varstack  in  Salt is fairly simple. Just put the following into
211767       the config file of your master:
211768
211769          ext_pillar:
211770            - varstack: /etc/varstack.yaml
211771
211772       Varstack will then use /etc/varstack.yaml to determine which configura‐
211773       tion  data  to  return as pillar information. From there you can take a
211774       look at the README of varstack on how this file is evaluated.
211775
211776       salt.pillar.varstack_pillar.ext_pillar(minion_id, pillar, conf)
211777              Parse varstack data and return the result
211778
211779   salt.pillar.vault module
211780       Vault Pillar Module
211781
211782       maintainer
211783              SaltStack
211784
211785       maturity
211786              New
211787
211788       platform
211789              all
211790
211791       New in version 2016.11.0.
211792
211793
211794       This module allows pillar data to be stored in Hashicorp Vault.
211795
211796       Base configuration instructions are documented in the execution  module
211797       docs.  Below are noted extra configuration required for the pillar mod‐
211798       ule, but the base configuration must also be completed.
211799
211800       After the base Vault configuration is created,  add  the  configuration
211801       below to the ext_pillar section in the Salt master configuration.
211802
211803          ext_pillar:
211804            - vault: path=secret/salt
211805
211806       Each  key  needs  to  have  all  the key-value pairs with the names you
211807       require. Avoid naming every key 'password' as you they will collide:
211808
211809       If you want to nest results under a nesting_key name use the  following
211810       format:
211811
211812          ext_pillar:
211813
211814                 ·
211815
211816                   vault: conf: path=secret/salt nesting_key: vault_key_name
211817
211818          $ vault write secret/salt auth=my_password master=127.0.0.1
211819
211820       The above will result in two pillars being available, auth and master.
211821
211822       You  can  then use normal pillar requests to get each key pair directly
211823       from pillar root. Example:
211824
211825          $ salt-ssh '*' pillar.get auth
211826
211827       Multiple Vault sources may also be used:
211828
211829          ext_pillar:
211830            - vault: path=secret/salt
211831            - vault: path=secret/root
211832            - vault: path=secret/minions/{minion}/pass
211833
211834       You can also use nesting here as well.  Identical nesting keys will get
211835       merged.
211836
211837          ext_pillar:
211838            - vault:
211839                 conf: path=secret/salt
211840                 nesting_key: keyname1
211841            - vault:
211842                 conf: path=secret/root
211843                 nesting_key: keyname1
211844            - vault:
211845                 conf: path=secret/minions/{minion}/pass
211846                 nesting_key: keyname2
211847
211848       The  difference  between the return with and without the nesting key is
211849       shown below.  This example takes the  key  value  pairs  returned  from
211850       vault as follows:
211851
211852       path=secret/salt
211853
211854       Key             Value ---             ----- salt-passwd     badpasswd1
211855
211856       path=secret/root
211857
211858       Key              Value  ---              ----- root-passwd     rootbad‐
211859       passwd1
211860
211861       path=secret/minions/{minion}/pass
211862
211863       Key             Value ---             ----- minion-passwd    minionbad‐
211864       passwd1
211865
211866          #Nesting Key not defined
211867
211868          local:
211869              ----------
211870              salt-passwd:
211871                  badpasswd1
211872              root-passwd:
211873                  rootbadpasswd1
211874              minion-passwd:
211875                  minionbadpasswd1
211876
211877          #Nesting Key defined
211878
211879          local:
211880              ----------
211881              keyname1:
211882                  ----------
211883                      salt-passwd:
211884                          badpasswd1
211885                      root-passwd:
211886                          rootbadpasswd1
211887              keyname2:
211888                  ----------
211889                      minion-passwd:
211890                          minionbadpasswd1
211891
211892       salt.pillar.vault.ext_pillar(minion_id, pillar, conf, nesting_key=None)
211893              Get pillar data from Vault for the configuration conf.
211894
211895   salt.pillar.venafi module
211896       Venafi Pillar Certificates
211897
211898       This  module  will  only return pillar data if the venafi runner module
211899       has already been used to create certificates.
211900
211901       To configure this module, set venafi to True in the ext_pillar  section
211902       of your master configuration file:
211903
211904          ext_pillar:
211905            - venafi: True
211906
211907       salt.pillar.venafi.ext_pillar(minion_id, pillar, conf)
211908              Return an existing set of certificates
211909
211910   salt.pillar.virtkey
211911       Accept a key from a hypervisor if the virt runner has already submitted
211912       an authorization request
211913
211914       salt.pillar.virtkey.ext_pillar(hyper_id, pillar, name, key)
211915              Accept the key for the VM on the hyper, if authorized.
211916
211917   salt.pillar.vmware_pillar module
211918       Pillar data from vCenter or an ESXi host
211919
211920       New in version 2017.7.0.
211921
211922
211923       depends
211924
211925              · pyVmomi
211926
211927       This external pillar can pull attributes from objects in vCenter or  an
211928       ESXi host and provide those attributes as pillar data to minions.  This
211929       can allow for pillar based targeting of minions on  ESXi  host,  Datas‐
211930       tore,  VM configuration, etc.  This setup requires only the salt master
211931       have access to the vCenter server/ESXi hosts.
211932
211933       The pillar will return an empty dict if the 'os' or 'virtual' grain are
211934       not 'VMWare', 'ESXi', or 'VMWare ESXi'.
211935
211936   Defaults
211937       · The external pillar will search for Virtual Machines with the VM name
211938         matching the minion id.
211939
211940       · Data will be returned into the 'vmware' pillar key.
211941
211942       · The external pillar has a default set of  properties  to  return  for
211943         both VirtualMachine and HostSystem types.
211944
211945   Configuring the VMWare pillar
211946       The required minimal configuration in the salt master ext_pillar setup:
211947
211948          ext_pillar:
211949              - vmware:
211950                  host: <vcenter/esx host>
211951                  username: <user to connect with>
211952                  password: <password>
211953
211954       Optionally,  the  following  keyword  arguments  can  be  passed to the
211955       ext_pillar for customized configuration:
211956
211957          pillar_key
211958                 Optionally set the  pillar  key  to  return  the  data  into.
211959                 Default is vmware.
211960
211961          protocol
211962                 Optionally set to alternate protocol if the vCenter server or
211963                 ESX/ESXi host is not using the default protocol. Default pro‐
211964                 tocol is https.
211965
211966          port   Optionally  set  to  alternate  port if the vCenter server or
211967                 ESX/ESXi host is not using the default port. Default port  is
211968                 443.
211969
211970          property_name
211971                 Property  name  to  match the minion id against.  Defaults to
211972                 name.
211973
211974          property_types
211975                 Optionally specify a list of pyVmomi vim types to search  for
211976                 the  minion  id  in 'property_name'.  Default is ['VirtualMa‐
211977                 chine'].
211978
211979                 For example, to search both vim.VirtualMachine and  vim.Host‐
211980                 System object types:
211981
211982                     ext_pillar:
211983                         - vmware:
211984                             host: myesx
211985                             username: root
211986                             password: complex_password
211987                             property_types:
211988                               - VirtualMachine
211989                               - HostSystem
211990
211991                 Additionally,  the  list  of property types can be dicts, the
211992                 item of the dict being a list  specifying  the  attribute  to
211993                 return for that vim object type.
211994
211995                 The  pillar  will attempt to recurse the attribute and return
211996                 all child attributes.
211997
211998                 To explicitly specify deeper attributes without attempting to
211999                 recurse  an  attribute,  convert the list item to a dict with
212000                 the item of the dict being the child  attributes  to  return.
212001                 Follow  this  pattern to return attributes as deep within the
212002                 object as necessary.
212003
212004                 NOTE:
212005                     Be  careful  when  specifying  custom  attributes!   Many
212006                     attributes have objects as attributes which have the par‐
212007                     ent object as an attribute and which will cause the  pil‐
212008                     lar to fail due to the attempt to convert all sub-objects
212009                     recursively (i.e. infinite attribute loops).   Specifying
212010                     only the sub-attributes you would like returned will keep
212011                     the infinite recursion from occurring.
212012
212013                     A maximum recursion exception will occur in this case and
212014                     the pillar will not return as desired.
212015
212016                     ext_pillar:
212017                         - vmware:
212018                             host: myvcenter
212019                             username: my_user
212020                             password: my_pass
212021                             replace_default_attributes: True
212022                             property_types:
212023                               - VirtualMachine:
212024                                   - config:
212025                                      - bootOptions:
212026                                          - bootDelay
212027                                          - bootRetryDelay
212028                               - HostSystem:
212029                                   - datastore:
212030                                      - name
212031
212032                 The  above  ext_pillar example would return a pillar like the
212033                 following for a VirtualMachine object that's name matched the
212034                 minion id:
212035
212036                     vmware:
212037                       config:
212038                         bootOptions:
212039                           bootDelay: 1000
212040                           bootRetryDelay: 1000
212041
212042                 If  you were to retrieve these virtual machine attributes via
212043                 pyVmomi directly, this would be the same as
212044
212045                     vmObject.config.bootOptions.bootDelay
212046                     vmObject.config.bootOptionis.bootRetryDelay
212047
212048                 The above ext_pillar example would return a pillar  like  the
212049                 following  for  a  HostySystem object that's name matched the
212050                 minion id:
212051
212052                     vmware:
212053                       datastore:
212054                          - name: Datastore1
212055                          - name: Datastore2
212056
212057                 The 'datastore' property of a HostSystem object is a list  of
212058                 datastores, thus a list is returned.
212059
212060          replace_default_attributes
212061                 If  custom  attributes  are  specified  by the property_types
212062                 parameter,  replace_default_attributes  determines  if  those
212063                 will  be  added  to default attributes (False) or replace the
212064                 default attributes completely (True).  The default setting is
212065                 'False'.
212066
212067                 NOTE:
212068                     vCenter   "Custom  Attributes"  (i.e.  Annotations)  will
212069                     always be returned if it exists on the object as part  of
212070                     the pillar regardless of this setting.
212071
212072       salt.pillar.vmware_pillar.ext_pillar(minion_id, pillar, **kwargs)
212073              Check vmware/vcenter for all data
212074
212075   proxy modules
212076┌──────────────┬────────────────────────────────────────────────────────────────────────────────┐
212077arista_pyeapi │ Arista pyeapi                                                                  │
212078├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212079cimc          │ Proxy   Minion   interface                                                     │
212080│              │ module for managing  Cisco                                                     │
212081│              │ Integrated Management Con‐                                                     │
212082│              │ troller devices                                                                │
212083├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212084chronos       │ Chronos                                                                        │
212085├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212086cimc          │ Proxy   Minion   interface                                                     │
212087│              │ module  for managing Cisco                                                     │
212088│              │ Integrated Management Con‐                                                     │
212089│              │ troller devices                                                                │
212090├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212091cisconso      │ Proxy   Minion   interface                                                     │
212092│              │ module for managing (prac‐                                                     │
212093│              │ tically)    any    network                                                     │
212094│              │ device with Cisco  Network                                                     │
212095│              │ Services      Orchestrator                                                     │
212096│              │ (Cisco NSO).                                                                   │
212097├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212098dummy         │ This  is   the   a   dummy                                                     │
212099│              │ proxy-minion  designed for                                                     │
212100│              │ testing the  proxy  minion                                                     │
212101│              │ subsystem.                                                                     │
212102├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212103esxi          │ Proxy   Minion   interface                                                     │
212104│              │ module for managing VMware                                                     │
212105│              │ ESXi hosts.                                                                    │
212106├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212107fx2           │ Dell FX2 chassis                                                               │
212108├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212109junos         │ Interface   with  a  Junos                                                     │
212110│              │ device via proxy-minion.                                                       │
212111├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212112marathon      │ Marathon                                                                       │
212113├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212114napalm        │ NAPALM: Network Automation                                                     │
212115│              │ and        Programmability                                                     │
212116│              │ Abstraction   Layer   with                                                     │
212117│              │ Multivendor support                                                            │
212118├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212119netmiko_px    │ Netmiko                                                                        │
212120├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212121nxos          │ Proxy  Minion for Cisco NX                                                     │
212122│              │ OS Switches                                                                    │
212123├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212124nxos_api      │ Proxy  Minion  to   manage                                                     │
212125│              │ Cisco    Nexus    Switches                                                     │
212126│              │ (NX-OS) over the NX-API                                                        │
212127├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212128panos         │ Proxy   Minion   interface                                                     │
212129│              │ module  for  managing Palo                                                     │
212130│              │ Alto firewall devices                                                          │
212131├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212132philips_hue   │ Philips HUE  lamps  module                                                     │
212133│              │ for proxy.                                                                     │
212134├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212135rest_sample   │ This     is    a    simple                                                     │
212136│              │ proxy-minion  designed  to                                                     │
212137│              │ connect to and communicate                                                     │
212138│              │ with the bottle-based  web                                                     │
212139│              │ service    contained    in                                                     │
212140│              │ https://github.com/saltstack/salt-contrib/tree/master/proxyminion_rest_example
212141├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
212142ssh_sample    │ This  is  a  simple proxy-minion designed to connect to and communicate with a │
212143│              │ server that exposes functionality via SSH.                                     │
212144└──────────────┴────────────────────────────────────────────────────────────────────────────────┘
212145
212146   salt.proxy.arista_pyeapi
212147   Arista pyeapi
212148       New in version 2019.2.0.
212149
212150
212151       Proxy module for managing Arista switches via the eAPI using the pyeapi
212152       library.
212153
212154       codeauthor
212155              Mircea Ulinic <ping@mirceaulinic.net>
212156
212157       maturity
212158              new
212159
212160       depends
212161              pyeapi
212162
212163       platform
212164              unix
212165
212166       NOTE:
212167          To  understand  how  to  correctly  enable  the eAPI on your switch,
212168          please check https://eos.arista.com/arista-eapi-101/.
212169
212170   Dependencies
212171       The pyeapi Proxy module requires pyeapi to be  installed:  pip  install
212172       pyeapi.
212173
212174   Pillar
212175       The  pyeapi  proxy  configuration  requires the following parameters in
212176       order to connect to the network device:
212177
212178       transport: https
212179              Specifies the type of connection transport to use. Valid  values
212180              for the connection are socket, http_local, http, and  https.
212181
212182       host: localhost
212183              The IP address or DNS host name of the connection device.
212184
212185       username: admin
212186              The username to pass to the device to authenticate the eAPI con‐
212187              nection.
212188
212189       password
212190              The password to pass to the device to authenticate the eAPI con‐
212191              nection.
212192
212193       port   The  TCP  port  of the endpoint for the eAPI connection. If this
212194              keyword is not specified, the  default  value  is  automatically
212195              determined  by  the  transport  type  (80  for  http, or 443 for
212196              https).
212197
212198       enablepwd
212199              The enable mode password if required by the destination node.
212200
212201       All the arguments may be optional, depending on your setup.
212202
212203   Proxy Pillar Example
212204          proxy:
212205            proxytype: pyeapi
212206            host: router1.example.com
212207            username: example
212208            password: example
212209
212210       salt.proxy.arista_pyeapi.call(method, *args, **kwargs)
212211              Calls an arbitrary pyeapi method.
212212
212213       salt.proxy.arista_pyeapi.conn()
212214              Return the connection object.
212215
212216       salt.proxy.arista_pyeapi.init(opts)
212217              Open the connection to the Arista switch over the eAPI.
212218
212219       salt.proxy.arista_pyeapi.initialized()
212220              Connection finished initializing?
212221
212222       salt.proxy.arista_pyeapi.ping()
212223              Connection open successfully?
212224
212225       salt.proxy.arista_pyeapi.shutdown(opts)
212226              Closes connection with the device.
212227
212228   salt.proxy.cimc module
212229   Proxy Minion interface module for managing Cisco Integrated Management Con‐
212230       troller devices
212231       New in version 2018.3.0.
212232
212233
212234       codeauthor
212235              Spencer Ervin <spencer_ervin@hotmail.com>
212236
212237       maturity
212238              new
212239
212240       depends
212241              none
212242
212243       platform
212244              unix
212245
212246       This  proxy  minion  enables  Cisco  Integrated  Management  Controller
212247       devices (hereafter referred to as simply 'cimc' devices to  be  treated
212248       individually like a Salt Minion.
212249
212250       The  cimc  proxy leverages the XML API functionality on the Cisco Inte‐
212251       grated Management Controller.  The Salt proxy must have access  to  the
212252       cimc on HTTPS (tcp/443).
212253
212254       More  in-depth  conceptual reading on Proxy Minions can be found in the
212255       Proxy Minion section of Salt's documentation.
212256
212257   Configuration
212258       To use this integration proxy module, please configure the following:
212259
212260   Pillar
212261       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
212262       must  have  a  stanza  in Pillar and a reference in the Pillar top-file
212263       that matches the ID.
212264
212265          proxy:
212266            proxytype: cimc
212267            host: <ip or dns name of cimc host>
212268            username: <cimc username>
212269            password: <cimc password>
212270
212271   proxytype
212272       The proxytype key and value pair is critical, as it  tells  Salt  which
212273       interface to load from the proxy directory in Salt's install hierarchy,
212274       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
212275       own proxy module, for example). To use this cimc Proxy Module, set this
212276       to cimc.
212277
212278   host
212279       The location, or ip/dns, of the cimc host. Required.
212280
212281   username
212282       The username used to login to the cimc host. Required.
212283
212284   password
212285       The password used to login to the cimc host. Required.
212286
212287       salt.proxy.cimc.get_config_resolver_class(cid=None, hierarchical=False)
212288              The configResolveClass method returns requested  managed  object
212289              in a given class.
212290
212291       salt.proxy.cimc.grains()
212292              Get the grains from the proxied device
212293
212294       salt.proxy.cimc.grains_refresh()
212295              Refresh the grains from the proxied device
212296
212297       salt.proxy.cimc.init(opts)
212298              This function gets called when the proxy starts up.
212299
212300       salt.proxy.cimc.initialized()
212301              Since  grains  are  loaded  in many different places and some of
212302              those places occur before the proxy can be  initialized,  return
212303              whether our init() function has been called
212304
212305       salt.proxy.cimc.logon()
212306              Logs into the cimc device and returns the session cookie.
212307
212308       salt.proxy.cimc.logout(cookie=None)
212309              Closes the session with the device.
212310
212311       salt.proxy.cimc.ping()
212312              Returns true if the device is reachable, else false.
212313
212314       salt.proxy.cimc.prepare_return(x)
212315              Converts the etree to dict
212316
212317       salt.proxy.cimc.set_config_modify(dn=None,   inconfig=None,  hierarchi‐
212318       cal=False)
212319              The configConfMo method configures the specified managed  object
212320              in a single subtree (for example, DN).
212321
212322       salt.proxy.cimc.shutdown()
212323              Shutdown  the  connection  to  the proxy device. For this proxy,
212324              shutdown is a no-op.
212325
212326   salt.proxy.chronos module
212327   Chronos
212328       Proxy minion for managing a Chronos cluster.
212329
212330   Dependencies
212331       · chronos execution module (salt.modules.chronos)
212332
212333   Pillar
212334       The chronos proxy configuration requires  a  'base_url'  property  that
212335       points to the chronos endpoint:
212336
212337          proxy:
212338            proxytype: chronos
212339            base_url: http://my-chronos-master.mydomain.com:4400
212340
212341       New in version 2015.8.2.
212342
212343
212344       salt.proxy.chronos.init(opts)
212345              Perform any needed setup.
212346
212347       salt.proxy.chronos.ping()
212348              Is the chronos api responding?
212349
212350       salt.proxy.chronos.shutdown(opts)
212351              For this proxy shutdown is a no-op
212352
212353   salt.proxy.cisconso
212354       Proxy  Minion  interface  module for managing (practically) any network
212355       device with Cisco Network Services Orchestrator (Cisco NSO). Cisco  NSO
212356       uses  a series of remote polling agents, APIs and SSH commands to fetch
212357       network configuration and represent it in a  data  model.   PyNSO,  the
212358       Python  module  used  by  this proxy minion does the task of converting
212359       native Python dictionaries into NETCONF/YANG syntax that the  REST  API
212360       for  Cisco NSO can then use to set the configuration of the target net‐
212361       work device.
212362
212363       Supported devices:
212364
212365              · A10 AX Series
212366
212367              · Arista 7150 Series
212368
212369              · Ciena 3000, 5000, ESM
212370
212371              · H3c S5800 Series
212372
212373              · Overture 1400, 2200, 5000, 5100, 6000
212374
212375              · Accedian MetroNID
212376
212377              · Avaya ERS 4000, SR8000, VSP 9000
212378
212379              ·
212380
212381                Cisco: APIC-DC, ASA, IOS, IOS XE, IOS XR, er, ME-4600, NX OS,
212382                       Prime Network Registrar, Quantum, StarOS, UCS ManagWSA
212383
212384              · Huawei: NE40E, quidway series, Enterprise  Network  Simulation
212385                Framework
212386
212387              · PaloAlto PA-2000, PA-3000, Virtualized Firewalls
212388
212389              · Adtran 900 Series
212390
212391              · Brocade ADX, MLX, Netiron, Vyatta
212392
212393              · Dell Force 10 Networking S-Series
212394
212395              · Infinera DTN-X Multi-Terabit Packet Optical Network Platform
212396
212397              · Pulsecom SuperG
212398
212399              · Adva 150CC Series
212400
212401              · CableLabs Converged Cable Access Platform
212402
212403              · Ericsson EFN324 Series, SE family
212404
212405              · Juniper: Contrail, EX, M, MX, QFX, SRX, Virtual SRX
212406
212407              · Quagga Routing Software
212408
212409              · Affirmed Networks
212410
212411              · Citrix Netscaler
212412
212413              · F5 BIG-IP
212414
212415              · NEC iPasolink
212416
212417              · Riverbed Steelhead Series
212418
212419              · Alcatel-Lucent 7XXX, SAM
212420
212421              · Clavister
212422
212423              · Fortinet
212424
212425              · Nominum DCS
212426
212427              · Sonus SBC 5000 Series
212428
212429              · Allied Telesys
212430
212431              · Open vSwitch
212432
212433       New in version 2016.11.0.
212434
212435
212436       codeauthor
212437              Anthony Shaw <anthony.shaw@dimensiondata.com>
212438
212439       This  proxy minion enables a consistent interface to fetch, control and
212440       maintain the configuration of network devices via  a  NETCONF-compliant
212441       control plane.  Cisco Network Services Orchestrator.
212442
212443       More  in-depth  conceptual reading on Proxy Minions can be found in the
212444       Proxy Minion section of Salt's documentation.
212445
212446   Dependencies
212447       · pynso Python module
212448
212449   PyNSO
212450       PyNSO can be installed via pip:
212451
212452          pip install pynso
212453
212454   Configuration
212455       To use this integration proxy module, please configure the following:
212456
212457   Pillar
212458       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
212459       must  have  a  stanza  in Pillar and a reference in the Pillar top-file
212460       that matches the ID. At a minimum for communication with the NSO  host,
212461       the pillar should look like this:
212462
212463          proxy:
212464            proxytype: cisconso
212465            host: <ip or dns name of host>
212466            port: 8080
212467            use_ssl: false
212468            username: <username>
212469            password: password
212470
212471   proxytype
212472       The  proxytype  key  and value pair is critical, as it tells Salt which
212473       interface to load from the proxy directory in Salt's install hierarchy,
212474       or  from  /srv/salt/_proxy on the Salt Master (if you have created your
212475       own proxy module, for example). To use this Cisco NSO Proxy Module, set
212476       this to cisconso.
212477
212478   host
212479       The location, or IP/dns, of the Cisco NSO API host. Required.
212480
212481   username
212482       The  username  used  to  login  to  the  Cisco NSO host, such as admin.
212483       Required.
212484
212485   passwords
212486       The password for the given user. Required.
212487
212488   use_ssl
212489       Whether to use HTTPS messaging to speak to the API.
212490
212491   port
212492       The port that the Cisco NSO API is running on, 8080 by default
212493
212494   Salt Proxy
212495       After your pillar is in place, you can test the proxy.  The  proxy  can
212496       run  on  any  machine that has network connectivity to your Salt Master
212497       and to the Cisco NSO host in question. SaltStack  recommends  that  the
212498       machine  running  the  salt-proxy  process  also  run a regular minion,
212499       though it is not strictly necessary.
212500
212501       On the machine  that  will  run  the  proxy,  make  sure  there  is  an
212502       /etc/salt/proxy file with at least the following in it:
212503
212504          master: <ip or hostname of salt-master>
212505
212506       You can then start the salt-proxy process with:
212507
212508          salt-proxy --proxyid <id you want to give the host>
212509
212510       You  may  want  to  add  -l debug to run the above in the foreground in
212511       debug mode just to make sure everything is OK.
212512
212513       Next, accept the key for the proxy on your salt-master, just  like  you
212514       would for a regular minion:
212515
212516          salt-key -a <id you gave the cisconso host>
212517
212518       You can confirm that the pillar data is in place for the proxy:
212519
212520          salt <id> pillar.items
212521
212522       And  now  you should be able to ping the Cisco NSO host to make sure it
212523       is responding:
212524
212525          salt <id> test.ping
212526
212527       salt.proxy.cisconso.apply_rollback(datastore, name)
212528              Apply a system rollback
212529
212530              Parameters
212531
212532                     · datastore (DatastoreType (str enum).) -- The datastore,
212533                       e.g.  running,  operational.   One of the NETCONF store
212534                       IETF types
212535
212536                     · name (str) -- an ID of the rollback to restore
212537
212538       salt.proxy.cisconso.get_data(datastore, path)
212539              Get the configuration of the device tree at the given path
212540
212541              Parameters
212542
212543                     · datastore (DatastoreType (str enum).) -- The datastore,
212544                       e.g.  running,  operational.   One of the NETCONF store
212545                       IETF types
212546
212547                     · path (list of str OR tuple) -- The device path, a  list
212548                       of element names in order, comma separated
212549
212550              Returns
212551                     The network configuration at that tree
212552
212553              Return type
212554                     dict
212555
212556                 salt cisco-nso cisconso.get_data devices
212557
212558       salt.proxy.cisconso.get_rollback(name)
212559              Get the backup of stored a configuration rollback
212560
212561              Parameters
212562                     name (str) -- Typically an ID of the backup
212563
212564              Return type
212565                     str
212566
212567              Returns
212568                     the contents of the rollback snapshot
212569
212570       salt.proxy.cisconso.get_rollbacks()
212571              Get a list of stored configuration rollbacks
212572
212573       salt.proxy.cisconso.grains()
212574              Get the grains from the proxy device.
212575
212576       salt.proxy.cisconso.init(opts)
212577
212578       salt.proxy.cisconso.ping()
212579              Check  to  see  if  the host is responding. Returns False if the
212580              host didn't respond, True otherwise.
212581
212582              CLI Example:
212583
212584                 salt cisco-nso test.ping
212585
212586       salt.proxy.cisconso.set_data_value(datastore, path, data)
212587              Get a data entry in a datastore
212588
212589              Parameters
212590
212591                     · datastore (DatastoreType (str enum).) -- The datastore,
212592                       e.g.  running,  operational.   One of the NETCONF store
212593                       IETF types
212594
212595                     · path (list of str OR tuple) -- The device path  to  set
212596                       the  value  at, a list of element names in order, comma
212597                       separated
212598
212599                     · data (dict) -- The new value at the given path
212600
212601              Return type
212602                     bool
212603
212604              Returns
212605                     True if successful, otherwise error.
212606
212607       salt.proxy.cisconso.shutdown()
212608              Shutdown the connection to the proxy  device.  For  this  proxy,
212609              shutdown is a no-op.
212610
212611   salt.proxy.dummy module
212612       This  is the a dummy proxy-minion designed for testing the proxy minion
212613       subsystem.
212614
212615       salt.proxy.dummy.fns()
212616
212617       salt.proxy.dummy.grains()
212618              Make up some grains
212619
212620       salt.proxy.dummy.grains_refresh()
212621              Refresh the grains
212622
212623       salt.proxy.dummy.init(opts)
212624
212625       salt.proxy.dummy.initialized()
212626              Since grains are loaded in many different  places  and  some  of
212627              those  places  occur before the proxy can be initialized, return
212628              whether our init() function has been called
212629
212630       salt.proxy.dummy.package_install(name, **kwargs)
212631              Install a "package" on the REST server
212632
212633       salt.proxy.dummy.package_list()
212634              List "packages" installed on the REST server
212635
212636       salt.proxy.dummy.package_remove(name)
212637              Remove a "package" on the REST server
212638
212639       salt.proxy.dummy.package_status(name)
212640              Check the installation status of a package on the REST server
212641
212642       salt.proxy.dummy.ping()
212643              Degenerate ping
212644
212645       salt.proxy.dummy.service_list()
212646              List "services" on the REST server
212647
212648       salt.proxy.dummy.service_restart(name)
212649              Restart a "service" on the REST server
212650
212651       salt.proxy.dummy.service_start(name)
212652              Start a "service" on the dummy server
212653
212654       salt.proxy.dummy.service_status(name)
212655              Check if a service is running on the REST server
212656
212657       salt.proxy.dummy.service_stop(name)
212658              Stop a "service" on the dummy server
212659
212660       salt.proxy.dummy.shutdown(opts)
212661              For this proxy shutdown is a no-op
212662
212663       salt.proxy.dummy.test_from_state()
212664              Test function so we have something to call from a state :return:
212665
212666       salt.proxy.dummy.upgrade()
212667              "Upgrade" packages
212668
212669       salt.proxy.dummy.uptodate()
212670              Call the REST endpoint to see if the packages  on  the  "server"
212671              are up to date.
212672
212673   salt.proxy.esxi
212674       Proxy Minion interface module for managing VMware ESXi hosts.
212675
212676       New in version 2015.8.4.
212677
212678
212679       Special  Note:  SaltStack thanks Adobe Corporation for their support in
212680       creating this Proxy Minion integration.
212681
212682       This proxy minion enables VMware ESXi (hereafter referred to as  simply
212683       'ESXi') hosts to be treated individually like a Salt Minion.
212684
212685       Since the ESXi host may not necessarily run on an OS capable of hosting
212686       a Python stack, the ESXi host can't run a Salt Minion directly.  Salt's
212687       "Proxy  Minion"  functionality enables you to designate another machine
212688       to host a minion process that "proxies"  communication  from  the  Salt
212689       Master.  The  master  does  not  know nor care that the target is not a
212690       "real" Salt Minion.
212691
212692       More in-depth conceptual reading on Proxy Minions can be found  in  the
212693       Proxy Minion section of Salt's documentation.
212694
212695   Dependencies
212696       · pyVmomi Python Module
212697
212698       · ESXCLI
212699
212700   pyVmomi
212701       PyVmomi can be installed via pip:
212702
212703          pip install pyVmomi
212704
212705       NOTE:
212706          Version  6.0 of pyVmomi has some problems with SSL error handling on
212707          certain versions of Python. If using version 6.0 of pyVmomi,  Python
212708          2.6,  Python  2.7.9,  or  newer  must  be present. This is due to an
212709          upstream dependency in pyVmomi 6.0 that is not supported  in  Python
212710          versions  2.7  to 2.7.8. If the version of Python is not in the sup‐
212711          ported range, you will need to install an earlier  version  of  pyV‐
212712          momi. See Issue #29537 for more information.
212713
212714       Based  on the note above, to install an earlier version of pyVmomi than
212715       the version currently listed in PyPi, run the following:
212716
212717          pip install pyVmomi==5.5.0.2014.1.1
212718
212719       The 5.5.0.2014.1.1 is a known stable version that  this  original  ESXi
212720       State Module was developed against.
212721
212722   ESXCLI
212723       Currently, about a third of the functions used in the vSphere Execution
212724       Module require the ESXCLI package be installed on the  machine  running
212725       the Proxy Minion process.
212726
212727       The  ESXCLI  package  is also referred to as the VMware vSphere CLI, or
212728       vCLI.  VMware  provides  vCLI  package  installation  instructions  for
212729       vSphere 5.5 and vSphere 6.0.
212730
212731       Once all of the required dependencies are in place and the vCLI package
212732       is installed, you can check to see if you can connect to your ESXi host
212733       or vCenter server by running the following command:
212734
212735          esxcli -s <host-location> -u <username> -p <password> system syslog config get
212736
212737       If  the connection was successful, ESXCLI was successfully installed on
212738       your system.  You should see output related to the ESXi  host's  syslog
212739       configuration.
212740
212741   Configuration
212742       To use this integration proxy module, please configure the following:
212743
212744   Pillar
212745       Proxy  minions  get their configuration from Salt's Pillar. Every proxy
212746       must have a stanza in Pillar and a reference  in  the  Pillar  top-file
212747       that matches the ID. At a minimum for communication with the ESXi host,
212748       the pillar should look like this:
212749
212750          proxy:
212751            proxytype: esxi
212752            host: <ip or dns name of esxi host>
212753            username: <ESXi username>
212754            passwords:
212755              - first_password
212756              - second_password
212757              - third_password
212758            credstore: <path to credential store>
212759
212760   proxytype
212761       The proxytype key and value pair is critical, as it  tells  Salt  which
212762       interface to load from the proxy directory in Salt's install hierarchy,
212763       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
212764       own proxy module, for example). To use this ESXi Proxy Module, set this
212765       to esxi.
212766
212767   host
212768       The location, or ip/dns, of the ESXi host. Required.
212769
212770   username
212771       The username used to login to the ESXi host, such as root. Required.
212772
212773   passwords
212774       A list of passwords to be used to try and login to the  ESXi  host.  At
212775       least one password in this list is required.
212776
212777       The  proxy  integration  will  try the passwords listed in order. It is
212778       configured this way so you can have a regular password and the password
212779       you   may   be   updating   for   an   ESXi   host   either   via   the
212780       vsphere.update_host_password  execution  module  function  or  via  the
212781       esxi.password_present  state  function. This way, after the password is
212782       changed, you should not need to restart  the  proxy  minion--it  should
212783       just  pick  up  the the new password provided in the list. You can then
212784       change pillar at will to move that password to the front and retire the
212785       unused ones.
212786
212787       This also allows you to use any number of potential fallback passwords.
212788
212789       NOTE:
212790          When  a password is changed on the host to one in the list of possi‐
212791          ble passwords, the further down on the list  the  password  is,  the
212792          longer  individual  commands will take to return. This is due to the
212793          nature of pyVmomi's login system. We have  to  wait  for  the  first
212794          attempt to fail before trying the next password on the list.
212795
212796          This  scenario  is  especially true, and even slower, when the proxy
212797          minion first starts. If the correct password is not the first  pass‐
212798          word  on  the  list,  it  may  take  up to a minute for test.ping to
212799          respond with a True result. Once the initial authorization  is  com‐
212800          plete, the responses for commands will be a little faster.
212801
212802          To  avoid  these longer waiting periods, SaltStack recommends moving
212803          the correct password to the top of the list and restarting the proxy
212804          minion at your earliest convenience.
212805
212806   protocol
212807       If  the  ESXi host is not using the default protocol, set this value to
212808       an alternate protocol. Default is https.
212809
212810   port
212811       If the ESXi host is not using the default port, set this  value  to  an
212812       alternate port. Default is 443.
212813
212814   credstore
212815       If  the ESXi host is using an untrusted SSL certificate, set this value
212816       to the file path where the credential store is located.  This  file  is
212817       passed to esxcli. Default is <HOME>/.vmware/credstore/vicredentials.xml
212818       on Linux and <APPDATA>/VMware/credstore/vicredentials.xml on Windows.
212819
212820       NOTE:
212821          HOME variable is sometimes not set for processes running  as  system
212822          services.  If you want to rely on the default credential store loca‐
212823          tion, make sure HOME is set for the proxy process.
212824
212825   Salt Proxy
212826       After your pillar is in place, you can test the proxy.  The  proxy  can
212827       run  on  any  machine that has network connectivity to your Salt Master
212828       and to the ESXi host in question. SaltStack recommends that the machine
212829       running  the salt-proxy process also run a regular minion, though it is
212830       not strictly necessary.
212831
212832       On the machine  that  will  run  the  proxy,  make  sure  there  is  an
212833       /etc/salt/proxy file with at least the following in it:
212834
212835          master: <ip or hostname of salt-master>
212836
212837       You can then start the salt-proxy process with:
212838
212839          salt-proxy --proxyid <id you want to give the host>
212840
212841       You  may  want  to  add  -l debug to run the above in the foreground in
212842       debug mode just to make sure everything is OK.
212843
212844       Next, accept the key for the proxy on your salt-master, just  like  you
212845       would for a regular minion:
212846
212847          salt-key -a <id you gave the esxi host>
212848
212849       You can confirm that the pillar data is in place for the proxy:
212850
212851          salt <id> pillar.items
212852
212853       And  now  you  should  be able to ping the ESXi host to make sure it is
212854       responding:
212855
212856          salt <id> test.ping
212857
212858       At this point you can execute one-off commands against  the  host.  For
212859       example, you can get the ESXi host's system information:
212860
212861          salt <id> esxi.cmd system_info
212862
212863       Note that you don't need to provide credentials or an ip/hostname. Salt
212864       knows to use the credentials you stored in Pillar.
212865
212866       It's  important  to  understand  how  this  particular   proxy   works.
212867       Salt.modules.vsphere  is  a standard Salt execution module. If you pull
212868       up the docs for it you'll see that almost every function in the  module
212869       takes credentials and a target host. When credentials and a host aren't
212870       passed, Salt runs commands through pyVmomi against the  local  machine.
212871       If  you  wanted,  you  could run functions from this module on any host
212872       where an appropriate version of pyVmomi is  installed,  and  that  host
212873       would reach out over the network and communicate with the ESXi host.
212874
212875       esxi.cmd  acts  as a "shim" between the execution module and the proxy.
212876       Its first parameter is always the function  from  salt.modules.vsphere.
212877       If  the  function  takes  more  positional or keyword arguments you can
212878       append them to the call. It's this shim that speaks to  the  ESXi  host
212879       through  the  proxy,  arranging  for the credentials and hostname to be
212880       pulled from the Pillar section for this Proxy Minion.
212881
212882       Because of the presence of the shim, to lookup documentation  for  what
212883       functions  you  can use to interface with the ESXi host, you'll want to
212884       look in salt.modules.vsphere instead of salt.modules.esxi.
212885
212886   States
212887       Associated states are thoroughly documented in  salt.states.esxi.  Look
212888       there  to  find  an  example structure for Pillar as well as an example
212889       .sls file for standing up an ESXi host from scratch.
212890
212891       salt.proxy.esxi.ch_config(cmd, *args, **kwargs)
212892              This function is called by the salt.modules.esxi.cmd  shim.   It
212893              then  calls  whatever  is  passed  in  cmd  inside the salt.mod‐
212894              ules.vsphere module.  Passes the return through from the vsphere
212895              module.
212896
212897              cmd    The command to call inside salt.modules.vsphere
212898
212899              args   Arguments that need to be passed to that command.
212900
212901              kwargs Keyword arguments that need to be passed to that command.
212902
212903       salt.proxy.esxi.find_credentials(host)
212904              Cycle  through all the possible credentials and return the first
212905              one that works.
212906
212907       salt.proxy.esxi.get_details()
212908              Return the proxy details
212909
212910       salt.proxy.esxi.grains()
212911              Get the grains from the proxy device.
212912
212913       salt.proxy.esxi.grains_refresh()
212914              Refresh the grains from the proxy device.
212915
212916       salt.proxy.esxi.init(opts)
212917              This function gets called when the proxy  starts  up.  For  ESXi
212918              devices,  the  host,  login credentials, and, if configured, the
212919              protocol and port are cached.
212920
212921       salt.proxy.esxi.is_connected_via_vcenter()
212922
212923       salt.proxy.esxi.ping()
212924              Returns True if connection is to be done via a vCenter (no  con‐
212925              nection  is  attempted).  Check to see if the host is responding
212926              when connecting directly via an ESXi host.
212927
212928              CLI Example:
212929
212930                 salt esxi-host test.ping
212931
212932       salt.proxy.esxi.shutdown()
212933              Shutdown the connection to the proxy  device.  For  this  proxy,
212934              shutdown is a no-op.
212935
212936   salt.proxy.fx2
212937   Dell FX2 chassis
212938       New in version 2015.8.2.
212939
212940
212941       Proxy minion interface module for managing Dell FX2 chassis (Dell Chas‐
212942       sis Management Controller version 1.2 and above,  iDRAC8  version  2.00
212943       and above)
212944
212945   Dependencies
212946       · iDRAC Remote execution module (salt.modules.dracr)
212947
212948       · Chassis command shim (salt.modules.chassis)
212949
212950       · Dell Chassis States (salt.states.dellchassis)
212951
212952       · Dell's racadm command line interface to CMC and iDRAC devices.
212953
212954       Special  Note:  SaltStack thanks Adobe Corporation for their support in
212955       creating this proxy minion integration.
212956
212957       This proxy minion enables Dell FX2 and FX2s (hereafter referred  to  as
212958       simply  "chassis",  "CMC", or "FX2") chassis to be treated individually
212959       like a salt-minion.
212960
212961       Since the CMC embedded in the chassis does not run  an  OS  capable  of
212962       hosting  a  Python  stack,  the  chassis  can't  run a minion directly.
212963       Salt's "Proxy Minion" functionality enables you  to  designate  another
212964       machine  to host a minion process that "proxies" communication from the
212965       salt-master.  The master does not know nor care that the target is  not
212966       a real minion.
212967
212968       More  in-depth  conceptual reading on Proxy Minions can be found in the
212969       Proxy Minion section of Salt's documentation.
212970
212971       To configure this integration, follow these steps:
212972
212973   Pillar
212974       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
212975       must  have  a  stanza  in Pillar, and a reference in the Pillar topfile
212976       that matches the ID.  At a minimum for communication with  the  chassis
212977       the pillar should look like this:
212978
212979          proxy:
212980            host: <ip or dns name of chassis controller>
212981            admin_username: <iDRAC username for the CMC, usually 'root'>
212982            fallback_admin_username: <username to try if the first fails>
212983            passwords:
212984              - first_password
212985              - second_password
212986              - third-password
212987            proxytype: fx2
212988
212989       The  proxytype line above is critical, it tells Salt which interface to
212990       load from the proxy directory in  Salt's  install  hierarchy,  or  from
212991       /srv/salt/_proxy on the salt-master (if you have created your own proxy
212992       module, for example).
212993
212994       The proxy integration will try the passwords listed in  order.   It  is
212995       configured  this  way  so  you can have a regular password, a potential
212996       fallback password, and the third password can be the one you intend  to
212997       change  the  chassis to use.  This way, after it is changed, you should
212998       not need to restart the proxy minion--it should just pick up the  third
212999       password  in the list.  You can then change pillar at will to move that
213000       password to the front and retire the unused ones.
213001
213002       Beware, many Dell CMC and iDRAC units  are  configured  to  lockout  IP
213003       addresses  or  users after too many failed password attempts.  This can
213004       generate user panic in the form of "I no longer know what the  password
213005       is!!!".   To  mitigate panic try the web interface from a different IP,
213006       or setup a emergency administrator user  in  the  CMC  before  doing  a
213007       wholesale password rotation.
213008
213009       The automatic lockout can be disabled via Salt with the following:
213010
213011          salt <cmc> chassis.cmd set_general cfgRacTuning cfgRacTuneIpBlkEnable 0
213012
213013       and then verified with
213014
213015          salt <cmc> chassis.cmd get_general cfgRacTuning cfgRacTuneIpBlkEnable
213016
213017   salt-proxy
213018       After  your  pillar is in place, you can test the proxy.  The proxy can
213019       run on any machine that has network connectivity  to  your  salt-master
213020       and to the chassis in question.  SaltStack recommends that this machine
213021       also run a regular minion, though it is not strictly necessary.
213022
213023       On the machine  that  will  run  the  proxy,  make  sure  there  is  an
213024       /etc/salt/proxy file with at least the following in it:
213025
213026          master: <ip or hostname of salt-master>
213027
213028       You can start the proxy with
213029
213030          salt-proxy --proxyid <id you want to give the chassis>
213031
213032       You  may  want  to  add  -l debug to run the above in the foreground in
213033       debug mode just to make sure everything is OK.
213034
213035       Next, accept the key for the proxy on your salt-master, just  like  you
213036       would for a regular minion:
213037
213038          salt-key -a <id you want to give the chassis>
213039
213040       You can confirm that the pillar data is in place for the proxy:
213041
213042          salt <id> pillar.items
213043
213044       And  now  you  should  be  able  to ping the chassis to make sure it is
213045       responding:
213046
213047          salt <id> test.ping
213048
213049       At this point you can execute one-off  commands  against  the  chassis.
213050       For example, you can get the chassis inventory:
213051
213052          salt <id> chassis.cmd inventory
213053
213054       Note  that  you  don't  need  to provide credentials or an ip/hostname.
213055       Salt knows to use the credentials you stored in Pillar.
213056
213057       It's  important  to  understand  how  this  particular   proxy   works.
213058       Salt.modules.dracr is a standard Salt execution module.  If you pull up
213059       the docs for it you'll see that almost every  function  in  the  module
213060       takes  credentials  and  a  target  host.   When credentials and a host
213061       aren't passed, Salt runs racadm against  the  local  machine.   If  you
213062       wanted  you  could  run functions from this module on any host where an
213063       appropriate version of racadm is installed, and that host  would  reach
213064       out over the network and communicate with the chassis.
213065
213066       Chassis.cmd  acts  as  a  "shim"  between  the execution module and the
213067       proxy.  It's first parameter is  always  the  function  from  salt.mod‐
213068       ules.dracr  to  execute.  If the function takes more positional or key‐
213069       word arguments you can append them to the call.  It's  this  shim  that
213070       speaks  to the chassis through the proxy, arranging for the credentials
213071       and hostname to be pulled from the pillar section for this  proxy  min‐
213072       ion.
213073
213074       Because  of  the presence of the shim, to lookup documentation for what
213075       functions you can use to interface with the  chassis,  you'll  want  to
213076       look in salt.modules.dracr instead of salt.modules.chassis.
213077
213078   States
213079       Associated states are thoroughly documented in salt.states.dellchassis.
213080       Look there to find an example structure for pillar as well as an  exam‐
213081       ple .sls file for standing up a Dell Chassis from scratch.
213082
213083       salt.proxy.fx2.admin_password()
213084              Return the admin_password in the DETAILS dictionary, or 'calvin'
213085              (the Dell default) if there is none present
213086
213087       salt.proxy.fx2.admin_username()
213088              Return the admin_username in the DETAILS dictionary, or root  if
213089              there is none present
213090
213091       salt.proxy.fx2.chconfig(cmd, *args, **kwargs)
213092              This  function  is  called by the salt.modules.chassis.cmd shim.
213093              It then calls whatever is passed in  cmd  inside  the  salt.mod‐
213094              ules.dracr module.
213095
213096              Parameters
213097
213098                     · cmd -- The command to call inside salt.modules.dracr
213099
213100                     · args  --  Arguments that need to be passed to that com‐
213101                       mand
213102
213103                     · kwargs -- Keyword arguments that need to be  passed  to
213104                       that command
213105
213106              Returns
213107                     Passthrough the return from the dracr module.
213108
213109       salt.proxy.fx2.find_credentials()
213110              Cycle  through all the possible credentials and return the first
213111              one that works
213112
213113       salt.proxy.fx2.grains()
213114              Get the grains from the proxied device
213115
213116       salt.proxy.fx2.grains_refresh()
213117              Refresh the grains from the proxied device
213118
213119       salt.proxy.fx2.host()
213120
213121       salt.proxy.fx2.init(opts)
213122              This function gets called when the proxy starts  up.   We  check
213123              opts  to  see  if a fallback user and password are supplied.  If
213124              they are present, and the primary credentials don't  work,  then
213125              we try the backup before failing.
213126
213127              Whichever  set  of credentials works is placed in the persistent
213128              DETAILS dictionary and will be used  for  further  communication
213129              with the chassis.
213130
213131       salt.proxy.fx2.ping()
213132              Is the chassis responding?
213133
213134              Returns
213135                     Returns  False if the chassis didn't respond, True other‐
213136                     wise.
213137
213138       salt.proxy.fx2.shutdown(opts)
213139              Shutdown the connection to the proxied device.  For  this  proxy
213140              shutdown is a no-op.
213141
213142   salt.proxy.junos
213143       Interface  with  a Junos device via proxy-minion. To connect to a junos
213144       device via junos proxy, specify the host information in the  pillar  in
213145       '/srv/pillar/details.sls'
213146
213147          proxy:
213148            proxytype: junos
213149            host: <ip or dns name of host>
213150            username: <username>
213151            port: 830
213152            password: <secret>
213153
213154       In '/srv/pillar/top.sls' map the device details with the proxy name.
213155
213156          base:
213157            'vmx':
213158              - details
213159
213160       After storing the device information in the pillar, configure the proxy
213161       in '/etc/salt/proxy'
213162
213163          master: <ip or hostname of salt-master>
213164
213165       Run the salt proxy via the following command:
213166
213167          salt-proxy --proxyid=vmx
213168
213169       salt.proxy.junos.alive(opts)
213170              Validate and  return  the  connection  status  with  the  remote
213171              device.
213172
213173              New in version 2018.3.0.
213174
213175
213176       salt.proxy.junos.conn()
213177
213178       salt.proxy.junos.get_serialized_facts()
213179
213180       salt.proxy.junos.init(opts)
213181              Open  the connection to the Junos device, login, and bind to the
213182              Resource class
213183
213184       salt.proxy.junos.initialized()
213185
213186       salt.proxy.junos.ping()
213187              Ping?  Pong!
213188
213189       salt.proxy.junos.proxytype()
213190              Returns the name of this proxy
213191
213192       salt.proxy.junos.shutdown(opts)
213193              This is called when the proxy-minion is exiting to make sure the
213194              connection to the device is closed cleanly.
213195
213196   salt.proxy.marathon module
213197   Marathon
213198       Proxy minion for managing a Marathon cluster.
213199
213200   Dependencies
213201       · marathon execution module (salt.modules.marathon)
213202
213203   Pillar
213204       The  marathon  proxy  configuration requires a 'base_url' property that
213205       points to the marathon endpoint:
213206
213207          proxy:
213208            proxytype: marathon
213209            base_url: http://my-marathon-master.mydomain.com:8080
213210
213211       New in version 2015.8.2.
213212
213213
213214       salt.proxy.marathon.init(opts)
213215              Perform any needed setup.
213216
213217       salt.proxy.marathon.ping()
213218              Is the marathon api responding?
213219
213220       salt.proxy.marathon.shutdown(opts)
213221              For this proxy shutdown is a no-op
213222
213223   salt.proxy.napalm
213224   NAPALM: Network Automation and Programmability Abstraction Layer with  Mul‐
213225       tivendor support
213226       New in version 2016.11.0.
213227
213228
213229       Proxy minion for managing network devices via NAPALM library.
213230
213231       codeauthor
213232              Mircea   Ulinic   <ping@mirceaulinic.net>  &  Jerome  Fleury  <‐
213233              jf@cloudflare.com>
213234
213235       maturity
213236              new
213237
213238       depends
213239              napalm
213240
213241       platform
213242              unix
213243
213244   Dependencies
213245       The napalm proxy module requires NAPALM library to be  installed:   pip
213246       install napalm Please check Installation for complete details.
213247
213248       NOTE:
213249          Beginning  with  Salt  release  2017.7.3,  it  is recommended to use
213250          napalm >= 2.0.0. The library has  been  unified  into  a  monolithic
213251          package,  as  in  opposite to separate packages per driver. For more
213252          details you can check this document.  While it will still work  with
213253          the  old packages, bear in mind that the NAPALM core team will main‐
213254          tain only the main napalm package.
213255
213256          Moreover, for additional capabilities, the users can always define a
213257          library  that  extends  NAPALM's base capabilities and configure the
213258          provider option (see below).
213259
213260   Pillar
213261       The napalm proxy configuration requires  the  following  parameters  in
213262       order to connect to the network device:
213263
213264       driver Specifies  the  network device operating system.  For a complete
213265              list of the supported operating  systems  please  refer  to  the
213266              NAPALM Read the Docs page.
213267
213268       host   The  IP  Address  or  FQDN to use when connecting to the device.
213269              Alternatively, the following field names can  be  used  instead:
213270              hostname, fqdn, ip.
213271
213272       username
213273              The username to be used when connecting to the device.
213274
213275       passwd The password needed to establish the connection.
213276
213277              NOTE:
213278                 This  field  may not be mandatory when working with SSH-based
213279                 drivers, and the username has a SSH key  properly  configured
213280                 on the device targeted to be managed.
213281
213282       optional_args
213283              Dictionary with the optional arguments.  Check the complete list
213284              of supported optional arguments.
213285
213286       always_alive: True
213287              In certain less dynamic  environments,  maintaining  the  remote
213288              connection  permanently  open  with  the  network  device is not
213289              always beneficial. In that case, the user can select to initial‐
213290              ize the connection only when needed, by specifying this field to
213291              false.  Default: true (maintains the connection with the  remote
213292              network device).
213293
213294              New in version 2017.7.0.
213295
213296
213297       provider: napalm_base
213298              The library that provides the get_network_device function.  This
213299              option is useful when the  user  has  more  specific  needs  and
213300              requires  to  extend  the  NAPALM  capabilities  using a private
213301              library implementation.  The only constraint is that the  alter‐
213302              native  library  needs  to  have the get_network_device function
213303              available.
213304
213305              New in version 2017.7.1.
213306
213307
213308       multiprocessing: False
213309              Overrides the multiprocessing option,  per  proxy  minion.   The
213310              multiprocessing option must be turned off for SSH-based proxies.
213311              However, some  NAPALM  drivers  (e.g.  Arista,  NX-OS)  are  not
213312              SSH-based.  As multiple proxy minions may share the same config‐
213313              uration file, this option permits the configuration of the  mul‐
213314              tiprocessing option more specifically, for some proxy minions.
213315
213316              New in version 2017.7.2.
213317
213318
213319       Proxy pillar file example:
213320
213321          proxy:
213322            proxytype: napalm
213323            driver: junos
213324            host: core05.nrt02
213325            username: my_username
213326            passwd: my_password
213327            optional_args:
213328              port: 12201
213329
213330       Example using a user-specific library, extending NAPALM's capabilities,
213331       e.g. custom_napalm_base:
213332
213333          proxy:
213334            proxytype: napalm
213335            driver: ios
213336            fqdn: cr1.th2.par.as1234.net
213337            username: salt
213338            password: ''
213339            provider: custom_napalm_base
213340
213341       SEE ALSO:
213342
213343          · NAPALM grains: select network devices based on their  characteris‐
213344            tics
213345
213346          · NET module: network basic features
213347
213348          · Network  config  state:  Manage  the configuration using arbitrary
213349            templates
213350
213351          · NAPALM YANG state: Manage the configuration according to the  YANG
213352            models (OpenConfig/IETF)
213353
213354          · Network ACL module: Generate and load ACL (firewall) configuration
213355
213356          · Network ACL state: Manage the firewall configuration
213357
213358          · NTP operational and configuration management module
213359
213360          · BGP operational and configuration management module
213361
213362          · Routes details
213363
213364          · SNMP configuration module
213365
213366          · Users configuration management
213367
213368       NOTE:
213369          Beginning  with  release  codename 2019.2.0, any NAPALM command exe‐
213370          cuted  when  running  under  a  NAPALM  Proxy  Minion  supports  the
213371          force_reconnect magic argument.
213372
213373          Proxy  Minions generally establish a connection with the remote net‐
213374          work device at the time of the Minion startup and that connection is
213375          going to be used forever.
213376
213377          If  one  would  need  execute a command on the device but connecting
213378          using different parameters (due to various causes, e.g.,  unable  to
213379          authenticate  the user specified in the Pillar as the authentication
213380          system - say TACACS+ is not available, or the DNS resolver  is  cur‐
213381          rently  down  and  would  like  to  temporarily  use  the IP address
213382          instead, etc.), it implies updating the Pillar data  and  restarting
213383          the  Proxy  Minion  process restart.  In particular cases like that,
213384          you can pass the  force_reconnect=True  keyword  argument,  together
213385          with  the  alternative connection details, to enforce the command to
213386          be executed over a separate connection.
213387
213388          For example, if the usual command is salt '*' net.arp, you  can  use
213389          the  following  to  connect using a different username instead: salt
213390          '*' net.arp username=my-alt-usr force_reconnect=True.
213391
213392       salt.proxy.napalm.alive(opts)
213393              Return the connection status with the remote device.
213394
213395              New in version 2017.7.0.
213396
213397
213398       salt.proxy.napalm.call(method, *args, **kwargs)
213399              Calls a  specific  method  from  the  network  driver  instance.
213400              Please  check  the readthedocs page for the updated list of get‐
213401              ters.
213402
213403              Parameters
213404
213405                     · method -- specifies the name of the method to be called
213406
213407                     · params -- contains the mapping between the name and the
213408                       values of the parameters needed to call the method
213409
213410              Returns
213411                     A dictionary with three keys:
213412
213413              · result (True/False): if the operation succeeded
213414
213415              · out (object): returns the object as-is from the call
213416
213417              · comment  (string):  provides  more  details  in  case the call
213418                failed
213419
213420              · traceback (string): complete traceback in case  of  exception.
213421                Please submit an issue including this traceback on the correct
213422                driver repo and make sure to read the FAQ
213423
213424              Example:
213425
213426                 __proxy__['napalm.call']('cli'
213427                                          **{
213428                                             'commands': [
213429                                                 'show version',
213430                                                 'show chassis fan'
213431                                             ]
213432                                          })
213433
213434       salt.proxy.napalm.fns()
213435              Method called by NAPALM grains module.
213436
213437       salt.proxy.napalm.get_device()
213438              Returns the network device object.
213439
213440       salt.proxy.napalm.get_grains()
213441              Retrieve facts from the network device.
213442
213443       salt.proxy.napalm.grains_refresh()
213444              Refresh the grains.
213445
213446       salt.proxy.napalm.init(opts)
213447              Opens the connection with the network device.
213448
213449       salt.proxy.napalm.initialized()
213450              Connection finished initializing?
213451
213452       salt.proxy.napalm.ping()
213453              Connection open successfully?
213454
213455       salt.proxy.napalm.shutdown(opts)
213456              Closes connection with the device.
213457
213458   salt.proxy.netmiko_px
213459   Netmiko
213460       New in version 2019.2.0.
213461
213462
213463       Proxy module for managing network devices via Netmiko.
213464
213465       codeauthor
213466              Mircea  Ulinic   <ping@mirceaulinic.net>   &   Kirk   Byers   <‐
213467              ktbyers@twb-tech.com>
213468
213469       maturity
213470              new
213471
213472       depends
213473              netmiko
213474
213475       platform
213476              unix
213477
213478   Dependencies
213479       The netmiko proxy modules requires Netmiko to be installed: pip install
213480       netmiko.
213481
213482   Pillar
213483       The netmiko proxy configuration requires the  following  parameters  in
213484       order to connect to the network device:
213485
213486       · device_type  -  Class  selection  based  on  device  type.  Supported
213487         options:
213488
213489         · a10: A10 Networks
213490
213491         · accedian: Accedian Networks
213492
213493         · alcatel_aos: Alcatel AOS
213494
213495         · alcatel_sros: Alcatel SROS
213496
213497         · apresia_aeos: Apresia AEOS
213498
213499         · arista_eos: Arista EOS
213500
213501         · aruba_os: Aruba
213502
213503         · avaya_ers: Avaya ERS
213504
213505         · avaya_vsp: Avaya VSP
213506
213507         · brocade_fastiron: Brocade Fastiron
213508
213509         · brocade_netiron: Brocade Netiron
213510
213511         · brocade_nos: Brocade NOS
213512
213513         · brocade_vdx: Brocade NOS
213514
213515         · brocade_vyos: VyOS
213516
213517         · checkpoint_gaia: Check Point GAiA
213518
213519         · calix_b6: Calix B6
213520
213521         · ciena_saos: Ciena SAOS
213522
213523         · cisco_asa: Cisco SA
213524
213525         · cisco_ios: Cisco IOS
213526
213527         · cisco_nxos: Cisco NX-oS
213528
213529         · cisco_s300: Cisco S300
213530
213531         · cisco_tp: Cisco TpTcCe
213532
213533         · cisco_wlc: Cisco WLC
213534
213535         · cisco_xe: Cisco IOS
213536
213537         · cisco_xr: Cisco XR
213538
213539         · coriant: Coriant
213540
213541         · dell_force10: Dell Force10
213542
213543         · dell_os10: Dell OS10
213544
213545         · dell_powerconnect: Dell PowerConnect
213546
213547         · eltex: Eltex
213548
213549         · enterasys: Enterasys
213550
213551         · extreme: Extreme
213552
213553         · extreme_wing: Extreme Wing
213554
213555         · f5_ltm: F5 LTM
213556
213557         · fortinet: Fortinet
213558
213559         · generic_termserver: TerminalServer
213560
213561         · hp_comware: HP Comware
213562
213563         · hp_procurve: HP Procurve
213564
213565         · huawei: Huawei
213566
213567         · huawei_vrpv8: Huawei VRPV8
213568
213569         · juniper: Juniper Junos
213570
213571         · juniper_junos: Juniper Junos
213572
213573         · linux: Linux
213574
213575         · mellanox: Mellanox
213576
213577         · mrv_optiswitch: MrvOptiswitch
213578
213579         · netapp_cdot: NetAppcDot
213580
213581         · netscaler: Netscaler
213582
213583         · ovs_linux: OvsLinux
213584
213585         · paloalto_panos: PaloAlto Panos
213586
213587         · pluribus: Pluribus
213588
213589         · quanta_mesh: Quanta Mesh
213590
213591         · ruckus_fastiron: Ruckus Fastiron
213592
213593         · ubiquiti_edge: Ubiquiti Edge
213594
213595         · ubiquiti_edgeswitch: Ubiquiti Edge
213596
213597         · vyatta_vyos: VyOS
213598
213599         · vyos: VyOS
213600
213601         · brocade_fastiron_telnet: Brocade Fastiron over Telnet
213602
213603         · brocade_netiron_telnet: Brocade Netiron over Telnet
213604
213605         · cisco_ios_telnet: Cisco IOS over Telnet
213606
213607         · apresia_aeos_telnet: Apresia AEOS over Telnet
213608
213609         · arista_eos_telnet: Arista EOS over Telnet
213610
213611         · hp_procurve_telnet: HP Procurve over Telnet
213612
213613         · hp_comware_telnet: HP Comware over Telnet
213614
213615         · juniper_junos_telnet: Juniper Junos over Telnet
213616
213617         · calix_b6_telnet: Calix B6 over Telnet
213618
213619         · dell_powerconnect_telnet: Dell PowerConnect over Telnet
213620
213621         · generic_termserver_telnet: TerminalServer over Telnet
213622
213623         · extreme_telnet: Extreme Networks over Telnet
213624
213625         · ruckus_fastiron_telnet: Ruckus Fastiron over Telnet
213626
213627         · cisco_ios_serial: Cisco IOS over serial port
213628
213629       · ip - IP address of target device (not required if host is provided)
213630
213631       · host - Hostname of target device (not required if ip is provided)
213632
213633       · username  -  Username  to  authenticate  against  target  device,  if
213634         required
213635
213636       · password  -  Password  to  authenticate  against  target  device,  if
213637         required
213638
213639       · secret - The enable password if target device requires one
213640
213641       · port - The destination port used to connect to the target device
213642
213643       · global_delay_factor - Multiplication factor affecting Netmiko  delays
213644         (default: 1)
213645
213646       · use_keys - Connect to target device using SSH keys (default: False)
213647
213648       · key_file - Filename path of the SSH key file to use
213649
213650       · allow_agent - Enable use of SSH key-agent
213651
213652       · ssh_strict  -  Automatically  reject  unknown SSH host keys (default:
213653         False, which means unknown SSH host keys will be accepted)
213654
213655       · system_host_keys - Load host keys from the user's "known_hosts"  file
213656         (default: False)
213657
213658       · alt_host_keys  -  If  True,   host  keys will be loaded from the file
213659         specified in alt_key_file (default: False)
213660
213661       · alt_key_file - SSH host key file to use (if alt_host_keys=True)
213662
213663       · ssh_config_file - File name of OpenSSH configuration file
213664
213665       · timeout - Connection timeout, in seconds (default: 90)
213666
213667       · session_timeout - Set a timeout for  parallel  requests,  in  seconds
213668         (default: 60)
213669
213670       · keepalive  -  Send  SSH  keepalive packets at a specific interval, in
213671         seconds. Currently defaults to 0,  for  backwards  compatibility  (it
213672         will  not  attempt  to  keep the connection alive using the KEEPALIVE
213673         packets).
213674
213675       · default_enter - Character(s) to  send  to  correspond  to  enter  key
213676         (default: \n)
213677
213678       · response_return  -  Character(s)  to use in normalized return data to
213679         represent enter key (default: \n)
213680
213681       · always_alive - In certain less dynamic environments, maintaining  the
213682         remote  connection  permanently  open  with the network device is not
213683         always beneficial. In that case, the user can  select  to  initialize
213684         the  connection only when needed, by setting this option to False. By
213685         default this option is set to True (maintains the connection with the
213686         remote network device)
213687
213688       · multiprocessing  -  Overrides  the  multiprocessing option, per proxy
213689         minion, as the Netmiko communication channel is mainly SSH  (default:
213690         False)
213691
213692   Proxy Pillar Example
213693          proxy:
213694            proxytype: netmiko
213695            device_type: juniper_junos
213696            host: router1.example.com
213697            username: example
213698            password: example
213699
213700          proxy:
213701            proxytype: netmiko
213702            device_type: cisco_ios
213703            ip: 1.2.3.4
213704            username: test
213705            use_keys: true
213706            secret: w3@k
213707
213708       salt.proxy.netmiko_px.alive(opts)
213709              Return the connection status with the network device.
213710
213711       salt.proxy.netmiko_px.args()
213712              Return the Netmiko device args.
213713
213714       salt.proxy.netmiko_px.call(method, *args, **kwargs)
213715              Calls an arbitrary netmiko method.
213716
213717       salt.proxy.netmiko_px.conn()
213718              Return the connection object.
213719
213720       salt.proxy.netmiko_px.init(opts)
213721              Open  the  connection to the network device managed through net‐
213722              miko.
213723
213724       salt.proxy.netmiko_px.initialized()
213725              Connection finished initializing?
213726
213727       salt.proxy.netmiko_px.ping()
213728              Connection open successfully?
213729
213730       salt.proxy.netmiko_px.shutdown(opts)
213731              Closes connection with the device.
213732
213733   salt.proxy.nxos module
213734       Proxy Minion for Cisco NX OS Switches
213735
213736       The Cisco NX OS Proxy Minion uses the built in SSHConnection module  in
213737       salt.utils.vt_helper
213738
213739       To configure the proxy minion:
213740
213741          proxy:
213742            proxytype: nxos
213743            host: 192.168.187.100
213744            username: admin
213745            password: admin
213746            prompt_name: switch
213747            ssh_args: '-o PubkeyAuthentication=no'
213748            key_accept: True
213749
213750       proxytype
213751              (REQUIRED) Use this proxy minion nxos
213752
213753       host   (REQUIRED) ip address or hostname to connect to
213754
213755       username
213756              (REQUIRED) username to login with
213757
213758       password
213759              (REQUIRED) password to use to login with
213760
213761       prompt_name
213762              (REQUIRED, this or prompt_regex below, but not both) The name in
213763              the prompt on the switch.   Recommended  to  use  your  device's
213764              hostname.
213765
213766       prompt_regex
213767              (REQUIRED,  this  or  prompt_name above, but not both) A regular
213768              expression that matches the prompt on the switch and  any  other
213769              possible  prompt  at which you need the proxy minion to continue
213770              sending input.  This feature was specifically developed for sit‐
213771              uations  where the switch may ask for confirmation.  prompt_name
213772              above would not match these, and so the session would timeout.
213773
213774              Example:
213775
213776                 dc01-switch-01#.*|\(y\/n\)\?.*
213777
213778              This should match
213779
213780                 dc01-switch-01#
213781
213782              or
213783
213784                 Flash complete.  Reboot this switch (y/n)? [n]
213785
213786              If neither prompt_name nor prompt_regex is specified the  prompt
213787              will be defaulted to
213788
213789                 .+#$
213790
213791              which  should  match any number of characters followed by a # at
213792              the end of the line.  This may  be  far  too  liberal  for  most
213793              installations.
213794
213795       ssh_args
213796              Any extra args to use to connect to the switch.
213797
213798       key_accept
213799              Whether or not to accept a the host key of the switch on initial
213800              login.  Defaults to False.
213801
213802       The functions from the proxy minion can be run from the  salt  command‐
213803       line using the salt.modules.nxos execution module.
213804
213805       salt.proxy.nxos.add_config(lines)
213806              Add one or more config lines to the switch running config
213807
213808                 salt '*' nxos.cmd add_config 'snmp-server community TESTSTRINGHERE group network-operator'
213809
213810              NOTE:
213811                 For more than one config added per command, lines should be a
213812                 list.
213813
213814       salt.proxy.nxos.check_password(username, password, encrypted=False)
213815              Check if passed password is the one assigned to user
213816
213817                 salt '*' nxos.cmd check_password username=admin password=admin
213818                 salt '*' nxos.cmd check_password username=admin \
213819                     password='$5$2fWwO2vK$s7.Hr3YltMNHuhywQQ3nfOd.gAPHgs3SOBYYdGT3E.A' \
213820                     encrypted=True
213821
213822       salt.proxy.nxos.check_role(username, role)
213823              Check if user is assigned a specific role on switch
213824
213825                 salt '*' nxos.cmd check_role username=admin role=network-admin
213826
213827       salt.proxy.nxos.delete_config(lines)
213828              Delete one or more config lines to the switch running config
213829
213830                 salt '*' nxos.cmd delete_config 'snmp-server community TESTSTRINGHERE group network-operator'
213831
213832              NOTE:
213833                 For more than one config deleted per command, lines should be
213834                 a list.
213835
213836       salt.proxy.nxos.find(pattern)
213837              Find all instances where the pattern is in the running command
213838
213839                 salt '*' nxos.cmd find '^snmp-server.*$'
213840
213841              NOTE:
213842                 This  uses the re.MULTILINE regex format for python, and runs
213843                 the regex against the whole show_run output.
213844
213845       salt.proxy.nxos.get_roles(username)
213846              Get roles that the username is assigned from switch
213847
213848                 salt '*' nxos.cmd get_roles username=admin
213849
213850       salt.proxy.nxos.get_user(username)
213851              Get username line from switch
213852
213853                 salt '*' nxos.cmd get_user username=admin
213854
213855       salt.proxy.nxos.grains()
213856              Get grains for proxy minion
213857
213858                 salt '*' nxos.cmd grains
213859
213860       salt.proxy.nxos.grains_refresh()
213861              Refresh the grains from the proxy device.
213862
213863                 salt '*' nxos.cmd grains_refresh
213864
213865       salt.proxy.nxos.init(opts=None)
213866              Required.  Can be used to initialize the server connection.
213867
213868       salt.proxy.nxos.initialized()
213869
213870       salt.proxy.nxos.ping()
213871              Ping the device on the other end of the connection
213872
213873                 salt '*' nxos.cmd ping
213874
213875       salt.proxy.nxos.remove_user(username)
213876              Remove user from switch
213877
213878                 salt '*' nxos.cmd remove_user username=daniel
213879
213880       salt.proxy.nxos.replace(old_value, new_value, full_match=False)
213881              Replace string or full line matches in switch's running config
213882
213883              If full_match is set to True, then the whole line will  need  to
213884              be matched as part of the old value.
213885
213886                 salt '*' nxos.cmd replace 'TESTSTRINGHERE' 'NEWTESTSTRINGHERE'
213887
213888       salt.proxy.nxos.sendline(command)
213889              Run command through switch's cli
213890
213891                 salt '*' nxos.cmd sendline 'show run | include "^username admin password"'
213892
213893       salt.proxy.nxos.set_password(username,    password,    encrypted=False,
213894       role=None, crypt_salt=None, algorithm=u'sha256')
213895              Set users password on switch
213896
213897                 salt '*' nxos.cmd set_password admin TestPass
213898                 salt '*' nxos.cmd set_password admin \
213899                     password='$5$2fWwO2vK$s7.Hr3YltMNHuhywQQ3nfOd.gAPHgs3SOBYYdGT3E.A' \
213900                     encrypted=True
213901
213902       salt.proxy.nxos.set_role(username, role)
213903              Assign role to username
213904
213905                 salt '*' nxos.cmd set_role username=daniel role=vdc-admin
213906
213907       salt.proxy.nxos.show_run()
213908              Shortcut to run show run on switch
213909
213910                 salt '*' nxos.cmd show_run
213911
213912       salt.proxy.nxos.show_ver()
213913              Shortcut to run show ver on switch
213914
213915                 salt '*' nxos.cmd show_ver
213916
213917       salt.proxy.nxos.shutdown(opts)
213918              Disconnect
213919
213920       salt.proxy.nxos.system_info()
213921              Return system information for grains of the NX OS proxy minion
213922
213923                 salt '*' nxos.system_info
213924
213925       salt.proxy.nxos.unset_role(username, role)
213926              Remove role from username
213927
213928                 salt '*' nxos.cmd unset_role username=daniel role=vdc-admin
213929
213930   salt.proxy.nxos_api module
213931       Proxy Minion to manage Cisco Nexus Switches (NX-OS) over the NX-API
213932
213933       New in version 2019.2.0.
213934
213935
213936       Proxy module for managing Cisco Nexus switches via the NX-API.
213937
213938       codeauthor
213939              Mircea Ulinic <ping@mirceaulinic.net>
213940
213941       maturity
213942              new
213943
213944       platform
213945              any
213946
213947   Usage
213948       NOTE:
213949          To be able to use this module you need to enable to NX-API  on  your
213950          switch, by executing feature nxapi in configuration mode.
213951
213952          Configuration example:
213953
213954              switch# conf t
213955              switch(config)# feature nxapi
213956
213957          To check that NX-API is properly enabled, execute show nxapi.
213958
213959          Output example:
213960
213961              switch# show nxapi
213962              nxapi enabled
213963              HTTPS Listen on port 443
213964
213965       NOTE:
213966          NX-API  requires  modern  NXOS distributions, typically at least 7.0
213967          depending on the hardware. Due to reliability reasons it  is  recom‐
213968          mended to run the most recent version.
213969
213970          Check
213971          https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/programmability/guide/b_Cisco_Nexus_7000_Series_NX-OS_Programmability_Guide/b_Cisco_Nexus_7000_Series_NX-OS_Programmability_Guide_chapter_0101.html
213972          for more details.
213973
213974   Pillar
213975       The  nxos_api  proxy configuration requires the following parameters in
213976       order to connect to the network switch:
213977
213978       transport: https
213979              Specifies the type of connection transport to use. Valid  values
213980              for the connection are http, and  https.
213981
213982       host: localhost
213983              The IP address or DNS host name of the connection device.
213984
213985       username: admin
213986              The  username  to  pass to the device to authenticate the NX-API
213987              connection.
213988
213989       password
213990              The password to pass to the device to  authenticate  the  NX-API
213991              connection.
213992
213993       port   The  TCP port of the endpoint for the NX-API connection. If this
213994              keyword is not specified, the  default  value  is  automatically
213995              determined  by  the  transport  type  (80  for  http, or 443 for
213996              https).
213997
213998       timeout: 60
213999              Time in seconds to wait for the device to respond.  Default:  60
214000              seconds.
214001
214002       verify: True
214003              Either  a  boolean,  in which case it controls whether we verify
214004              the NX-API TLS certificate, or a string, in which case  it  must
214005              be a path to a CA bundle to use. Defaults to True.
214006
214007              When  there  is  no  certificate configuration on the device and
214008              this option is set as True (default),  the  commands  will  fail
214009              with  the  following  error:  SSLError:  [SSL:  CERTIFICATE_VER‐
214010              IFY_FAILED] certificate verify  failed  (_ssl.c:581).   In  this
214011              case,  you  either need to configure a proper certificate on the
214012              device (recommended), or bypass the checks setting this argument
214013              as False with all the security risks considered.
214014
214015              Check
214016              https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus3000/sw/programmability/6_x/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide/b_Cisco_Nexus_3000_Series_NX-OS_Programmability_Guide_chapter_01.html
214017              to see how to properly configure the certificate.
214018
214019       All the arguments may be optional, depending on your setup.
214020
214021   Proxy Pillar Example
214022          proxy:
214023            proxytype: nxos_api
214024            host: switch1.example.com
214025            username: example
214026            password: example
214027
214028       salt.proxy.nxos_api.get_conn_args()
214029              Returns the connection arguments of the Proxy Minion.
214030
214031       salt.proxy.nxos_api.init(opts)
214032              Open the connection to the Nexsu switch over the NX-API.
214033
214034              As  the  communication  is HTTP based, there is no connection to
214035              maintain, however, in order to test the  connectivity  and  make
214036              sure  we  are  able  to bring up this Minion, we are executing a
214037              very simple command (show clock) which doesn't  come  with  much
214038              overhead  and  it's  sufficient to confirm we are indeed able to
214039              connect to the NX-API endpoint as configured.
214040
214041       salt.proxy.nxos_api.initialized()
214042              Connection finished initializing?
214043
214044       salt.proxy.nxos_api.ping()
214045              Connection open successfully?
214046
214047       salt.proxy.nxos_api.rpc(commands, method=u'cli', **kwargs)
214048              Executes an RPC request over the NX-API.
214049
214050       salt.proxy.nxos_api.shutdown(opts)
214051              Closes connection with the device.
214052
214053   salt.proxy.panos module
214054   Proxy Minion interface module for managing Palo Alto firewall devices
214055       New in version 2018.3.0.
214056
214057
214058       codeauthor
214059              Spencer Ervin <spencer_ervin@hotmail.com>
214060
214061       maturity
214062              new
214063
214064       depends
214065              none
214066
214067       platform
214068              unix
214069
214070       This proxy minion enables Palo Alto firewalls (hereafter referred to as
214071       simply 'panos') to be treated individually like a Salt Minion.
214072
214073       The  panos  proxy  leverages the XML API functionality on the Palo Alto
214074       firewall. The Salt proxy must have access to the Palo Alto firewall  on
214075       HTTPS (tcp/443).
214076
214077       More  in-depth  conceptual reading on Proxy Minions can be found in the
214078       Proxy Minion section of Salt's documentation.
214079
214080   Configuration
214081       To use this integration proxy module, please configure the following:
214082
214083   Pillar
214084       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
214085       must  have  a  stanza  in Pillar and a reference in the Pillar top-file
214086       that matches the ID. There are four connection  options  available  for
214087       the panos proxy module.
214088
214089       · Direct Device (Password)
214090
214091       · Direct Device (API Key)
214092
214093       · Panorama Pass-Through (Password)
214094
214095       · Panorama Pass-Through (API Key)
214096
214097   Direct Device (Password)
214098       The  direct  device  configuration  configures  the  proxy  to  connect
214099       directly to the device with username and password.
214100
214101          proxy:
214102            proxytype: panos
214103            host: <ip or dns name of panos host>
214104            username: <panos username>
214105            password: <panos password>
214106
214107   proxytype
214108       The proxytype key and value pair is critical, as it  tells  Salt  which
214109       interface to load from the proxy directory in Salt's install hierarchy,
214110       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
214111       own  proxy  module,  for  example). To use this panos Proxy Module, set
214112       this to panos.
214113
214114   host
214115       The location, or ip/dns, of the panos host. Required.
214116
214117   username
214118       The username used to login to the panos host. Required.
214119
214120   password
214121       The password used to login to the panos host. Required.
214122
214123   Direct Device (API Key)
214124       Palo Alto devices allow for access to the XML API with a generated 'API
214125       key'_ instead of username and password.
214126
214127          proxy:
214128            proxytype: panos
214129            host: <ip or dns name of panos host>
214130            apikey: <panos generated api key>
214131
214132   proxytype
214133       The  proxytype  key  and value pair is critical, as it tells Salt which
214134       interface to load from the proxy directory in Salt's install hierarchy,
214135       or  from  /srv/salt/_proxy on the Salt Master (if you have created your
214136       own proxy module, for example). To use this  panos  Proxy  Module,  set
214137       this to panos.
214138
214139   host
214140       The location, or ip/dns, of the panos host. Required.
214141
214142   apikey
214143       The generated XML API key for the panos host. Required.
214144
214145   Panorama Pass-Through (Password)
214146       The  Panorama  pass-through  method  sends  all connections through the
214147       Panorama management system. It passes the connections to the  appropri‐
214148       ate device using the serial number of the Palo Alto firewall.
214149
214150       This  option will reduce the number of connections that must be present
214151       for the proxy server. It will only require a connection to the Panorama
214152       server.
214153
214154       The  username  and  password will be for authentication to the Panorama
214155       server, not the panos device.
214156
214157          proxy:
214158            proxytype: panos
214159            serial: <serial number of panos host>
214160            host: <ip or dns name of the panorama server>
214161            username: <panorama server username>
214162            password: <panorama server password>
214163
214164   proxytype
214165       The proxytype key and value pair is critical, as it  tells  Salt  which
214166       interface to load from the proxy directory in Salt's install hierarchy,
214167       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
214168       own  proxy  module,  for  example). To use this panos Proxy Module, set
214169       this to panos.
214170
214171   serial
214172       The serial number of the panos host. Required.
214173
214174   host
214175       The location, or ip/dns, of the Panorama server. Required.
214176
214177   username
214178       The username used to login to the Panorama server. Required.
214179
214180   password
214181       The password used to login to the Panorama server. Required.
214182
214183   Panorama Pass-Through (API Key)
214184       The Panorama server can also utilize a generated 'API key'_ for authen‐
214185       tication.
214186
214187          proxy:
214188            proxytype: panos
214189            serial: <serial number of panos host>
214190            host: <ip or dns name of the panorama server>
214191            apikey: <panos generated api key>
214192
214193   proxytype
214194       The  proxytype  key  and value pair is critical, as it tells Salt which
214195       interface to load from the proxy directory in Salt's install hierarchy,
214196       or  from  /srv/salt/_proxy on the Salt Master (if you have created your
214197       own proxy module, for example). To use this  panos  Proxy  Module,  set
214198       this to panos.
214199
214200   serial
214201       The serial number of the panos host. Required.
214202
214203   host
214204       The location, or ip/dns, of the Panorama server. Required.
214205
214206   apikey
214207       The generated XML API key for the Panorama server. Required.
214208
214209       salt.proxy.panos.call(payload=None)
214210              This function captures the query string and sends it to the Palo
214211              Alto device.
214212
214213       salt.proxy.panos.grains()
214214              Get the grains from the proxied device
214215
214216       salt.proxy.panos.grains_refresh()
214217              Refresh the grains from the proxied device
214218
214219       salt.proxy.panos.init(opts)
214220              This function gets called when the proxy starts  up.  For  panos
214221              devices,  a determination is made on the connection type and the
214222              appropriate connection details that must be cached.
214223
214224       salt.proxy.panos.initialized()
214225              Since grains are loaded in many different  places  and  some  of
214226              those  places  occur before the proxy can be initialized, return
214227              whether our init() function has been called
214228
214229       salt.proxy.panos.is_required_version(required_version=u'0.0.0')
214230              Because different versions of Palo Alto support  different  com‐
214231              mand sets, this function will return true if the current version
214232              of Palo Alto supports the required command.
214233
214234       salt.proxy.panos.ping()
214235              Returns true if the device is reachable, else false.
214236
214237       salt.proxy.panos.shutdown()
214238              Shutdown the connection to the proxy  device.  For  this  proxy,
214239              shutdown is a no-op.
214240
214241   salt.proxy.philips_hue module
214242       Philips HUE lamps module for proxy.
214243
214244       New in version 2015.8.3.
214245
214246
214247       First  create  a  new  user on the Hue bridge by following the Meet hue
214248       instructions.
214249
214250       To configure the proxy minion:
214251
214252          proxy:
214253            proxytype: philips_hue
214254            host: [hostname or ip]
214255            user: [username]
214256
214257       class salt.proxy.philips_hue.Const
214258              Constants for the lamp operations.
214259
214260              COLOR_BLUE = {u'hue': 46920, u'sat': 254}
214261
214262              COLOR_DAYLIGHT = {u'xy': [0.3806, 0.3576]}
214263
214264              COLOR_GREEN = {u'hue': 25500, u'sat': 254}
214265
214266              COLOR_ORANGE = {u'hue': 12000, u'sat': 254}
214267
214268              COLOR_PINK = {u'xy': [0.3688, 0.2095]}
214269
214270              COLOR_PURPLE = {u'xy': [0.3787, 0.1724]}
214271
214272              COLOR_RED = {u'hue': 0, u'sat': 254}
214273
214274              COLOR_WHITE = {u'xy': [0.3227, 0.329]}
214275
214276              COLOR_YELLOW = {u'xy': [0.4432, 0.5154]}
214277
214278              LAMP_OFF = {u'on': False, u'transitiontime': 0}
214279
214280              LAMP_ON = {u'on': True, u'transitiontime': 0}
214281
214282       salt.proxy.philips_hue.call_alert(*args, **kwargs)
214283              Lamp alert
214284
214285              Options:
214286
214287              · id: Specifies a device ID. Can be  a  comma-separated  values.
214288                All, if omitted.
214289
214290              · on: Turns on or off an alert. Default is True.
214291
214292              CLI Example:
214293
214294                 salt '*' hue.alert
214295                 salt '*' hue.alert id=1
214296                 salt '*' hue.alert id=1,2,3 on=false
214297
214298       salt.proxy.philips_hue.call_blink(*args, **kwargs)
214299              Blink  a  lamp.  If  lamp is ON, then blink ON-OFF-ON, otherwise
214300              OFF-ON-OFF.
214301
214302              Options:
214303
214304              · id: Specifies a device ID. Can be  a  comma-separated  values.
214305                All, if omitted.
214306
214307              · pause: Time in seconds. Can be less than 1, i.e. 0.7, 0.5 sec.
214308
214309              CLI Example:
214310
214311                 salt '*' hue.blink id=1
214312                 salt '*' hue.blink id=1,2,3
214313
214314       salt.proxy.philips_hue.call_brightness(*args, **kwargs)
214315              Set an effect to the lamp.
214316
214317              Arguments:
214318
214319              · value: 0~255 brightness of the lamp.
214320
214321              Options:
214322
214323              · id:  Specifies  a  device ID. Can be a comma-separated values.
214324                All, if omitted.
214325
214326              · transition: Transition 0~200. Default 0.
214327
214328              CLI Example:
214329
214330                 salt '*' hue.brightness value=100
214331                 salt '*' hue.brightness id=1 value=150
214332                 salt '*' hue.brightness id=1,2,3 value=255
214333
214334       salt.proxy.philips_hue.call_color(*args, **kwargs)
214335              Set a color to the lamp.
214336
214337              Options:
214338
214339              · id: Specifies a device ID. Can be  a  comma-separated  values.
214340                All, if omitted.
214341
214342              ·
214343
214344                color:  Fixed  color.  Values  are:  red, green, blue, orange,
214345                pink, white,
214346                       yellow, daylight, purple. Default white.
214347
214348              · transition: Transition 0~200.
214349
214350              Advanced:
214351
214352              ·
214353
214354                gamut: XY coordinates. Use gamut according to the Philips  HUE
214355                devices documentation.
214356                       More:
214357                       http://www.developers.meethue.com/documentation/hue-xy-values
214358
214359              CLI Example:
214360
214361                 salt '*' hue.color
214362                 salt '*' hue.color id=1
214363                 salt '*' hue.color id=1,2,3 oolor=red transition=30
214364                 salt '*' hue.color id=1 gamut=0.3,0.5
214365
214366       salt.proxy.philips_hue.call_effect(*args, **kwargs)
214367              Set an effect to the lamp.
214368
214369              Options:
214370
214371              · id:  Specifies  a  device ID. Can be a comma-separated values.
214372                All, if omitted.
214373
214374              · type: Type of the effect. Possible values are "none" or  "col‐
214375                orloop". Default "none".
214376
214377              CLI Example:
214378
214379                 salt '*' hue.effect
214380                 salt '*' hue.effect id=1
214381                 salt '*' hue.effect id=1,2,3 type=colorloop
214382
214383       salt.proxy.philips_hue.call_lights(*args, **kwargs)
214384              Get info about all available lamps.
214385
214386              Options:
214387
214388              · id:  Specifies  a  device ID. Can be a comma-separated values.
214389                All, if omitted.
214390
214391              CLI Example:
214392
214393                 salt '*' hue.lights
214394                 salt '*' hue.lights id=1
214395                 salt '*' hue.lights id=1,2,3
214396
214397       salt.proxy.philips_hue.call_ping(*args, **kwargs)
214398              Ping the lamps by issuing a short inversion blink to all  avail‐
214399              able devices.
214400
214401              CLI Example:
214402
214403                 salt '*' hue.ping
214404
214405       salt.proxy.philips_hue.call_rename(*args, **kwargs)
214406              Rename a device.
214407
214408              Options:
214409
214410              · id: Specifies a device ID. Only one device at a time.
214411
214412              · title: Title of the device.
214413
214414              CLI Example:
214415
214416                 salt '*' hue.rename id=1 title='WC for cats'
214417
214418       salt.proxy.philips_hue.call_status(*args, **kwargs)
214419              Return the status of the lamps.
214420
214421              Options:
214422
214423              · id:  Specifies  a  device ID. Can be a comma-separated values.
214424                All, if omitted.
214425
214426              CLI Example:
214427
214428                 salt '*' hue.status
214429                 salt '*' hue.status id=1
214430                 salt '*' hue.status id=1,2,3
214431
214432       salt.proxy.philips_hue.call_switch(*args, **kwargs)
214433              Switch lamp ON/OFF.
214434
214435              If no particular state is passed, then lamp will be switched  to
214436              the opposite state.
214437
214438              Options:
214439
214440              · id:  Specifies  a  device ID. Can be a comma-separated values.
214441                All, if omitted.
214442
214443              · on: True or False. Inverted current, if omitted
214444
214445              CLI Example:
214446
214447                 salt '*' hue.switch
214448                 salt '*' hue.switch id=1
214449                 salt '*' hue.switch id=1,2,3 on=True
214450
214451       salt.proxy.philips_hue.call_temperature(*args, **kwargs)
214452              Set      the      mired      color      temperature.       More:
214453              http://en.wikipedia.org/wiki/Mired
214454
214455              Arguments:
214456
214457              · value: 150~500.
214458
214459              Options:
214460
214461              · id:  Specifies  a  device ID. Can be a comma-separated values.
214462                All, if omitted.
214463
214464              CLI Example:
214465
214466                 salt '*' hue.temperature value=150
214467                 salt '*' hue.temperature value=150 id=1
214468                 salt '*' hue.temperature value=150 id=1,2,3
214469
214470       salt.proxy.philips_hue.init(cnf)
214471              Initialize the module.
214472
214473       salt.proxy.philips_hue.ping(*args, **kw)
214474              Ping the lamps.
214475
214476       salt.proxy.philips_hue.shutdown(opts, *args, **kw)
214477              Shuts down the service.
214478
214479   salt.proxy.rest_sample
214480       This is a simple proxy-minion designed to connect  to  and  communicate
214481       with      the     bottle-based     web     service     contained     in
214482       https://github.com/saltstack/salt-contrib/tree/master/proxyminion_rest_example
214483
214484       salt.proxy.rest_sample.alive(opts)
214485
214486       salt.proxy.rest_sample.fix_outage()
214487
214488       salt.proxy.rest_sample.fns()
214489
214490       salt.proxy.rest_sample.grains()
214491              Get the grains from the proxied device
214492
214493       salt.proxy.rest_sample.grains_refresh()
214494              Refresh the grains from the proxied device
214495
214496       salt.proxy.rest_sample.id(opts)
214497              Return  a  unique  ID  for  this proxy minion.  This ID MUST NOT
214498              CHANGE.  If it changes while the proxy is running the  salt-mas‐
214499              ter will get really confused and may stop talking to this minion
214500
214501       salt.proxy.rest_sample.init(opts)
214502
214503       salt.proxy.rest_sample.initialized()
214504              Since  grains  are  loaded  in many different places and some of
214505              those places occur before the proxy can be  initialized,  return
214506              whether our init() function has been called
214507
214508       salt.proxy.rest_sample.package_install(name, **kwargs)
214509              Install a "package" on the REST server
214510
214511       salt.proxy.rest_sample.package_list()
214512              List "packages" installed on the REST server
214513
214514       salt.proxy.rest_sample.package_remove(name)
214515              Remove a "package" on the REST server
214516
214517       salt.proxy.rest_sample.package_status(name)
214518              Check the installation status of a package on the REST server
214519
214520       salt.proxy.rest_sample.ping()
214521              Is the REST server up?
214522
214523       salt.proxy.rest_sample.service_list()
214524              List "services" on the REST server
214525
214526       salt.proxy.rest_sample.service_restart(name)
214527              Restart a "service" on the REST server
214528
214529       salt.proxy.rest_sample.service_start(name)
214530              Start a "service" on the REST server
214531
214532       salt.proxy.rest_sample.service_status(name)
214533              Check if a service is running on the REST server
214534
214535       salt.proxy.rest_sample.service_stop(name)
214536              Stop a "service" on the REST server
214537
214538       salt.proxy.rest_sample.shutdown(opts)
214539              For this proxy shutdown is a no-op
214540
214541       salt.proxy.rest_sample.test_from_state()
214542              Test function so we have something to call from a state :return:
214543
214544       salt.proxy.rest_sample.uptodate(name)
214545              Call  the  REST  endpoint to see if the packages on the "server"
214546              are up to date.
214547
214548   salt.proxy.ssh_sample
214549       This is a simple proxy-minion designed to connect  to  and  communicate
214550       with  a server that exposes functionality via SSH.  This can be used as
214551       an option when the device does not provide an api over HTTP and doesn't
214552       have the python stack to run a minion.
214553
214554       salt.proxy.ssh_sample.fns()
214555
214556       salt.proxy.ssh_sample.grains()
214557              Get the grains from the proxied device
214558
214559       salt.proxy.ssh_sample.grains_refresh()
214560              Refresh the grains from the proxied device
214561
214562       salt.proxy.ssh_sample.init(opts)
214563              Required.  Can be used to initialize the server connection.
214564
214565       salt.proxy.ssh_sample.initialized()
214566              Since  grains  are  loaded  in many different places and some of
214567              those places occur before the proxy can be  initialized,  return
214568              whether our init() function has been called
214569
214570       salt.proxy.ssh_sample.package_install(name, **kwargs)
214571              Install a "package" on the ssh server
214572
214573       salt.proxy.ssh_sample.package_list()
214574              List  "packages" by executing a command via ssh This function is
214575              called in response to the salt command
214576
214577              ..code-block::bash
214578                     salt target_minion pkg.list_pkgs
214579
214580       salt.proxy.ssh_sample.package_remove(name)
214581              Remove a "package" on the ssh server
214582
214583       salt.proxy.ssh_sample.parse(out)
214584              Extract json from out.
214585
214586              Parameter
214587                     out: Type string. The data returned by the ssh command.
214588
214589       salt.proxy.ssh_sample.ping()
214590              Required.  Ping the device on the other end of the connection
214591
214592       salt.proxy.ssh_sample.service_list()
214593              Start a "service" on the ssh server
214594
214595              New in version 2015.8.2.
214596
214597
214598       salt.proxy.ssh_sample.service_restart(name)
214599              Restart a "service" on the ssh server
214600
214601              New in version 2015.8.2.
214602
214603
214604       salt.proxy.ssh_sample.service_start(name)
214605              Start a "service" on the ssh server
214606
214607              New in version 2015.8.2.
214608
214609
214610       salt.proxy.ssh_sample.service_stop(name)
214611              Stop a "service" on the ssh server
214612
214613              New in version 2015.8.2.
214614
214615
214616       salt.proxy.ssh_sample.shutdown(opts)
214617              Disconnect
214618
214619   queue modules
214620                     ┌──────────────┬──────────────────────────┐
214621pgjsonb_queue │ New in version 2016.3.0. │
214622                     ├──────────────┼──────────────────────────┤
214623sqlite_queue  │ New in version 2014.7.0. │
214624                     └──────────────┴──────────────────────────┘
214625
214626   salt.queues.pgjsonb_queue module
214627       New in version 2016.3.0.
214628
214629
214630       This is a queue with postgres as the backend.  It uses the jsonb  store
214631       to store information for queues.
214632
214633       depends
214634              python-psycopg2
214635
214636       To enable this queue, the following needs to be configured in your mas‐
214637       ter config. These are the defaults:
214638
214639          queue.pgjsonb.host: 'salt'
214640          queue.pgjsonb.user: 'salt'
214641          queue.pgjsonb.password: 'salt'
214642          queue.pgjsonb.dbname: 'salt'
214643          queue.pgjsonb.port: 5432
214644
214645       Use the following Pg database schema:
214646
214647          CREATE DATABASE  salt WITH ENCODING 'utf-8';
214648
214649          --
214650          -- Table structure for table `salt`
214651          --
214652          DROP TABLE IF EXISTS salt;
214653          CREATE OR REPLACE TABLE salt(
214654             id SERIAL PRIMARY KEY,
214655             data jsonb NOT NULL
214656          );
214657
214658          salt-run queue.insert test '{"name": "redis", "host": "172.16.0.8", "port": 6379}' backend=pgjsonb
214659          salt-run queue.process_queue test all backend=pgjsonb
214660
214661       salt.queues.pgjsonb_queue.delete(queue, items)
214662              Delete an item or items from a queue
214663
214664       salt.queues.pgjsonb_queue.handle_queue_creation(queue)
214665
214666       salt.queues.pgjsonb_queue.insert(queue, items)
214667              Add an item or items to a queue
214668
214669       salt.queues.pgjsonb_queue.list_items(queue)
214670              List contents of a queue
214671
214672       salt.queues.pgjsonb_queue.list_length(queue)
214673              Provide the number of items in a queue
214674
214675       salt.queues.pgjsonb_queue.list_queues()
214676              Return a list of Salt Queues on the Salt Master
214677
214678       salt.queues.pgjsonb_queue.pop(queue, quantity=1, is_runner=False)
214679              Pop one or more or all items from the queue return them.
214680
214681   salt.queues.sqlite_queue module
214682       New in version 2014.7.0.
214683
214684
214685       This is the default local master  event  queue  built  on  sqlite.   By
214686       default,  an  sqlite3  database file is created in the sqlite_queue_dir
214687       which is found at:
214688
214689          /var/cache/salt/master/queues
214690
214691       It's  possible  to  store  the  sqlite3  database  files   by   setting
214692       sqlite_queue_dir to another location:
214693
214694          sqlite_queue_dir: /home/myuser/salt/master/queues
214695
214696       salt.queues.sqlite_queue.delete(queue, items)
214697              Delete an item or items from a queue
214698
214699       salt.queues.sqlite_queue.insert(queue, items)
214700              Add an item or items to a queue
214701
214702       salt.queues.sqlite_queue.list_items(queue)
214703              List contents of a queue
214704
214705       salt.queues.sqlite_queue.list_length(queue)
214706              Provide the number of items in a queue
214707
214708       salt.queues.sqlite_queue.list_queues()
214709              Return a list of Salt Queues on the Salt Master
214710
214711       salt.queues.sqlite_queue.pop(queue, quantity=1, is_runner=False)
214712              Pop one or more or all items from the queue return them.
214713
214714   roster modules
214715                     ┌─────────────┬────────────────────────────┐
214716ansible      │ Read  in an Ansible inven‐ │
214717                     │             │ tory file or script        │
214718                     ├─────────────┼────────────────────────────┤
214719cache        │ The cache roster  provides │
214720                     │             │ a  flexible  interface  to │
214721                     │             │ the Salt  Masters'  minion │
214722                     │             │ cache  to  access  regular │
214723                     │             │ minions over salt-ssh.     │
214724                     ├─────────────┼────────────────────────────┤
214725cloud        │ Use the cloud cache on the │
214726                     │             │ master   to   derive  IPv4 │
214727                     │             │ addresses based on  minion │
214728                     │             │ ID.                        │
214729                     ├─────────────┼────────────────────────────┤
214730clustershell │ This roster resolves host‐ │
214731                     │             │ name  in  a  pdsh/cluster‐ │
214732                     │             │ shell style.               │
214733                     ├─────────────┼────────────────────────────┤
214734flat         │ Read  in the roster from a │
214735                     │             │ flat file using  the  ren‐ │
214736                     │             │ derer system               │
214737                     ├─────────────┼────────────────────────────┤
214738range        │ This  roster resolves tar‐ │
214739                     │             │ gets from a range server.  │
214740                     ├─────────────┼────────────────────────────┤
214741scan         │ Scan a netmask  or  ipaddr │
214742                     │             │ for open ssh ports         │
214743                     ├─────────────┼────────────────────────────┤
214744sshconfig    │ Parses  roster entries out │
214745                     │             │ of  Host  directives  from │
214746                     │             │ SSH config                 │
214747                     ├─────────────┼────────────────────────────┤
214748terraform    │ Dynamic  roster  from ter‐ │
214749                     │             │ raform current state       │
214750                     └─────────────┴────────────────────────────┘
214751
214752   salt.roster.ansible
214753       Read in an Ansible inventory file or script
214754
214755       Flat inventory files should be in the regular ansible inventory format.
214756
214757          [servers]
214758          salt.gtmanfred.com ansible_ssh_user=gtmanfred ansible_ssh_host=127.0.0.1 ansible_ssh_port=22 ansible_ssh_pass='password'
214759
214760          [desktop]
214761          home ansible_ssh_user=gtmanfred ansible_ssh_host=12.34.56.78 ansible_ssh_port=23 ansible_ssh_pass='password'
214762
214763          [computers:children]
214764          desktop
214765          servers
214766
214767          [names:vars]
214768          http_port=80
214769
214770       then salt-ssh can be used to hit any of them
214771
214772          [~]# salt-ssh -N all test.ping
214773          salt.gtmanfred.com:
214774              True
214775          home:
214776              True
214777          [~]# salt-ssh -N desktop test.ping
214778          home:
214779              True
214780          [~]# salt-ssh -N computers test.ping
214781          salt.gtmanfred.com:
214782              True
214783          home:
214784              True
214785          [~]# salt-ssh salt.gtmanfred.com test.ping
214786          salt.gtmanfred.com:
214787              True
214788
214789       There is also the option of specifying a dynamic inventory, and  gener‐
214790       ating it on the fly
214791
214792          #!/bin/bash
214793          echo '{
214794            "servers": [
214795              "salt.gtmanfred.com"
214796            ],
214797            "desktop": [
214798              "home"
214799            ],
214800            "computers": {
214801              "hosts": [],
214802              "children": [
214803                "desktop",
214804                "servers"
214805              ]
214806            },
214807            "_meta": {
214808              "hostvars": {
214809                "salt.gtmanfred.com": {
214810                  "ansible_ssh_user": "gtmanfred",
214811                  "ansible_ssh_host": "127.0.0.1",
214812                  "ansible_sudo_pass": "password",
214813                  "ansible_ssh_port": 22
214814                },
214815                "home": {
214816                  "ansible_ssh_user": "gtmanfred",
214817                  "ansible_ssh_host": "12.34.56.78",
214818                  "ansible_sudo_pass": "password",
214819                  "ansible_ssh_port": 23
214820                }
214821              }
214822            }
214823          }'
214824
214825       This  is  the  format  that an inventory script needs to output to work
214826       with ansible, and thus here.
214827
214828          [~]# salt-ssh --roster-file /etc/salt/hosts salt.gtmanfred.com test.ping
214829          salt.gtmanfred.com:
214830                  True
214831
214832       Any of the [groups] or direct hostnames will return.  The 'all' is spe‐
214833       cial, and returns everything.
214834
214835       salt.roster.ansible.targets(tgt, tgt_type=u'glob', **kwargs)
214836              Return  the  targets  from  the  ansible inventory_file Default:
214837              /etc/salt/roster
214838
214839   salt.roster.cache
214840       The cache roster provides a flexible interface  to  the  Salt  Masters'
214841       minion cache to access regular minions over salt-ssh.
214842
214843       New in version 2017.7.0: .IP · 2 grains, pillar, mine data matching
214844
214845       · SDB URLs
214846
214847       · IPv6 support
214848
214849       · roster_order per config key
214850
214851       · default order changed to industry-wide best practices
214852
214853       · CIDR range selection
214854
214855
214856   Targeting
214857       This  roster  supports  all  matching and targeting of the Salt Master.
214858       The matching will be done using only the Salt Master's cache.
214859
214860   The Roster Order
214861       The roster's composition can be configured using roster_order.  In  the
214862       roster_order you can define any roster key and fill it with a parameter
214863       overriding the one in roster_defaults:
214864
214865          roster_order:
214866              host: id          # use the minion id as hostname
214867
214868       You can define lists of parameters as well, the first result  from  the
214869       list will become the value.
214870
214871   Selecting a host
214872          # default
214873          roster_order:
214874              host:
214875                - ipv6-private  # IPv6 addresses in private ranges
214876                - ipv6-global   # IPv6 addresses in global ranges
214877                - ipv4-private  # IPv4 addresses in private ranges
214878                - ipv4-public   # IPv4 addresses in public ranges
214879                - ipv4-local    # loopback addresses
214880
214881       This  is the default roster_order.  It prefers IPv6 over IPv4 addresses
214882       and private addresses over public ones.   The  relevant  data  will  be
214883       fetched from the cache in-order, and the first match will fill the host
214884       key.
214885
214886       Other address selection parameters are also possible:
214887
214888          roster_order:
214889            host:
214890              - global|public|private|local    # Both IPv6 and IPv4 addresses in that range
214891              - 2000::/3                       # CIDR networks, both IPv4 and IPv6 are supported
214892
214893   Using cached data
214894       Several cached libraries can be selected using the library: ``  prefix,
214895       followed by the library key.  This can be referenced using the same ``:
214896       syntax as e.g. pillar.get.  Lists of references are also supported dur‐
214897       ing the lookup, as are Salt SDB URLs.
214898
214899       This should be especially useful for the other roster keys:
214900
214901          roster_order:
214902            host:
214903              - grain: fqdn_ip4                # Lookup this grain
214904              - mine: network.ip_addrs         # Mine data lookup works the same
214905
214906            password: sdb://vault/ssh_pass     # Salt SDB URLs are also supported
214907
214908            user:
214909              - pillar: ssh:auth:user          # Lookup this pillar key
214910              - sdb://osenv/USER               # Lookup this env var through sdb
214911
214912            priv:
214913              - pillar:                        # Lists are also supported
214914                  - salt:ssh:private_key
214915                  - ssh:auth:private_key
214916
214917       salt.roster.cache.targets(tgt, tgt_type=u'glob', **kwargs)
214918              Return  the  targets  from  the Salt Masters' minion cache.  All
214919              targets and matchers are supported.
214920
214921              The resulting roster can be configured  using  roster_order  and
214922              roster_default.
214923
214924   salt.roster.cloud
214925       Use  the  cloud  cache  on the master to derive IPv4 addresses based on
214926       minion ID.
214927
214928       This roster requires that the minion in question was created  using  at
214929       least  the  2015.5.0  version of Salt Cloud. Starting with the 2015.5.0
214930       release, Salt Cloud maintains an index of minions that it  creates  and
214931       deletes.  This index tracks the provider and profile configuration used
214932       to provision the minion, including authentication information. So  long
214933       as  this  configuration  remains current, it can be used by Salt SSH to
214934       log into any minion in the index.
214935
214936       To connect as a user other than root, modify  the  cloud  configuration
214937       file  usually  located at /etc/salt/cloud. For example, add the follow‐
214938       ing:
214939
214940          ssh_username: my_user
214941          sudo: True
214942
214943       salt.roster.cloud.extract_ipv4(roster_order, ipv4)
214944              Extract the preferred IP address from the ipv4 grain
214945
214946       salt.roster.cloud.targets(tgt, tgt_type=u'glob', **kwargs)
214947              Return the targets from the flat  yaml  file,  checks  opts  for
214948              location but defaults to /etc/salt/roster
214949
214950   salt.roster.clustershell
214951       This roster resolves hostname in a pdsh/clustershell style.
214952
214953       depends
214954              clustershell, https://github.com/cea-hpc/clustershell
214955
214956       When you want to use host globs for target matching, use --roster clus‐
214957       tershell. For example:
214958
214959          salt-ssh --roster clustershell 'server_[1-10,21-30],test_server[5,7,9]' test.ping
214960
214961       salt.roster.clustershell.targets(tgt, tgt_type=u'glob', **kwargs)
214962              Return the targets
214963
214964   salt.roster.flat
214965       Read in the roster from a flat file using the renderer system
214966
214967       salt.roster.flat.targets(tgt, tgt_type=u'glob', **kwargs)
214968              Return the targets from the flat  yaml  file,  checks  opts  for
214969              location but defaults to /etc/salt/roster
214970
214971   salt.roster.range module
214972       This roster resolves targets from a range server.
214973
214974       depends
214975              seco.range, https://github.com/ytoolshed/range
214976
214977       When  you  want  to use a range query for target matching, use --roster
214978       range. For example:
214979
214980          salt-ssh --roster range '%%%example.range.cluster' test.ping
214981
214982       salt.roster.range.target_glob(tgt, hosts)
214983
214984       salt.roster.range.target_range(tgt, hosts)
214985
214986       salt.roster.range.targets(tgt, tgt_type=u'range', **kwargs)
214987              Return the targets from a range query
214988
214989   salt.roster.scan
214990       Scan a netmask or ipaddr for open ssh ports
214991
214992       class salt.roster.scan.RosterMatcher(tgt, tgt_type)
214993              Matcher for the roster data structure
214994
214995              targets()
214996                     Return ip addrs based on netmask, sitting in  the  "glob"
214997                     spot because it is the default
214998
214999       salt.roster.scan.targets(tgt, tgt_type=u'glob', **kwargs)
215000              Return  the  targets  from  the  flat yaml file, checks opts for
215001              location but defaults to /etc/salt/roster
215002
215003   salt.roster.sshconfig
215004       Parses roster entries out of Host directives from SSH config
215005
215006          salt-ssh --roster sshconfig '*' -r "echo hi"
215007
215008       class salt.roster.sshconfig.RosterMatcher(raw, tgt, tgt_type)
215009              Matcher for the roster data structure
215010
215011              get_data(minion)
215012                     Return the configured ip
215013
215014              ret_glob_minions()
215015                     Return minions that match via glob
215016
215017              targets()
215018                     Execute the correct tgt_type routine and return
215019
215020       salt.roster.sshconfig.parse_ssh_config(lines)
215021              Parses lines from the SSH config to create roster targets.
215022
215023              Parameters
215024                     lines -- Individual lines from the ssh config file
215025
215026              Returns
215027                     Dictionary of targets in similar style to the flat roster
215028
215029       salt.roster.sshconfig.targets(tgt, tgt_type=u'glob', **kwargs)
215030              Return the targets from the flat  yaml  file,  checks  opts  for
215031              location but defaults to /etc/salt/roster
215032
215033   salt.roster.terraform
215034   Dynamic roster from terraform current state
215035       This  roster module allows you dynamically generate the roster from the
215036       terraform resources defined with the Terraform Salt provider.
215037
215038       It exposes all salt_host resources with  the  same  attributes  to  the
215039       salt-ssh  roster,  making it completely independent of the type of ter‐
215040       raform resource, and providing the  integration  using  terraform  con‐
215041       structs with interpolation.
215042
215043   Basic Example
215044       Given a simple salt-ssh tree with a Saltfile:
215045
215046          salt-ssh:
215047            config_dir: etc/salt
215048            max_procs: 30
215049            wipe_ssh: True
215050
215051       and etc/salt/master:
215052
215053          root_dir: .
215054            file_roots:
215055              base:
215056                - srv/salt
215057            pillar_roots:
215058              base:
215059                - srv/pillar
215060            roster: terraform
215061
215062       In  the  same  folder  as  your  Saltfile,  create  terraform file with
215063       resources like cloud instances, virtual machines, etc. For every single
215064       one  of  those  that  you  want to manage with Salt, create a salt_host
215065       resource:
215066
215067          resource "salt_host" "dbminion" {
215068            salt_id = "dbserver"
215069            host = "${libvirt_domain.vm-db.network_interface.0.addresses.0}"
215070            user = "root"
215071            passwd = "linux"
215072          }
215073
215074       You can use the count attribute to create multiple roster entries  with
215075       a  single  definition.  Please refer to the Terraform Salt provider for
215076       more detailed examples.
215077
215078       salt.roster.terraform.targets(tgt, tgt_type=u'glob', **kwargs)
215079              Returns the roster from the terraform state  file,  checks  opts
215080              for location, but defaults to terraform.tfstate
215081
215082   runner modules
215083                    ┌──────────────┬────────────────────────────┐
215084asam          │ Novell ASAM Runner         │
215085                    ├──────────────┼────────────────────────────┤
215086auth          │ Authentication  runner for │
215087                    │              │ creating,  deleting,   and │
215088                    │              │ managing eauth tokens.     │
215089                    ├──────────────┼────────────────────────────┤
215090bgp           │ BGP Finder                 │
215091                    ├──────────────┼────────────────────────────┤
215092cache         │ Return  cached  data  from │
215093                    │              │ minions                    │
215094                    ├──────────────┼────────────────────────────┤
215095cloud         │ The Salt Cloud Runner      │
215096                    ├──────────────┼────────────────────────────┤
215097ddns          │ Dynamic DNS Runner         │
215098                    ├──────────────┼────────────────────────────┤
215099digicertapi   │ Support for Digicert.      │
215100                    ├──────────────┼────────────────────────────┤
215101doc           │ A runner module to collect │
215102                    │              │ and   display  the  inline │
215103                    │              │ documentation   from   the │
215104                    │              │ various module types       │
215105                    ├──────────────┼────────────────────────────┤
215106drac          │ Manage  Dell DRAC from the │
215107                    │              │ Master                     │
215108                    ├──────────────┼────────────────────────────┤
215109error         │ Error generator to  enable │
215110                    │              │ integration   testing   of │
215111                    │              │ salt runner error handling │
215112                    ├──────────────┼────────────────────────────┤
215113event         │ Module for sending  events │
215114                    │              │ using the runner system.   │
215115                    ├──────────────┼────────────────────────────┤
215116f5            │ Runner  to provide F5 Load │
215117                    │              │ Balancer functionality     │
215118                    ├──────────────┼────────────────────────────┤
215119fileserver    │ Directly manage  the  Salt │
215120                    │              │ fileserver plugins         │
215121                    ├──────────────┼────────────────────────────┤
215122git_pillar    │ Runner  module to directly │
215123                    │              │ manage  the  git  external │
215124                    │              │ pillar                     │
215125                    ├──────────────┼────────────────────────────┤
215126http          │ Module  for making various │
215127                    │              │ web calls.                 │
215128                    ├──────────────┼────────────────────────────┤
215129jobs          │ A  convenience  system  to │
215130                    │              │ manage  jobs,  both active │
215131                    │              │ and already run            │
215132                    ├──────────────┼────────────────────────────┤
215133launchd       │ Manage launchd plist files │
215134                    ├──────────────┼────────────────────────────┤
215135lxc           │ Control  Linux  Containers │
215136                    │              │ via Salt                   │
215137                    ├──────────────┼────────────────────────────┤
215138manage        │ General  management  func‐ │
215139                    │              │ tions for salt, tools like │
215140                    │              │ seeing  what  hosts are up │
215141                    │              │ and what hosts are down    │
215142                    ├──────────────┼────────────────────────────┤
215143mattermost    │ Module  for  sending  mes‐ │
215144                    │              │ sages to Mattermost        │
215145                    ├──────────────┼────────────────────────────┤
215146mine          │ A  runner  to  access data │
215147                    │              │ from the salt mine         │
215148                    ├──────────────┼────────────────────────────┤
215149nacl          │ This module helps  include │
215150                    │              │ encrypted   passwords   in │
215151                    │              │ pillars, grains  and  salt │
215152                    │              │ state files.               │
215153                    ├──────────────┼────────────────────────────┤
215154net           │ NET Finder                 │
215155                    ├──────────────┼────────────────────────────┤
215156network       │ Network  tools to run from │
215157                    │              │ the Master                 │
215158                    ├──────────────┼────────────────────────────┤
215159pagerduty     │ Runner Module  for  Firing │
215160                    │              │ Events via PagerDuty       │
215161                    ├──────────────┼────────────────────────────┤
215162pillar        │ Functions to interact with │
215163                    │              │ the pillar compiler on the │
215164                    │              │ master                     │
215165                    ├──────────────┼────────────────────────────┤
215166pkg           │ Package  helper  functions │
215167                    │              │ using salt.modules.pkg     
215168                    ├──────────────┼────────────────────────────┤
215169queue         │ General   management   and │
215170                    │              │ processing of queues.      │
215171                    ├──────────────┼────────────────────────────┤
215172reactor       │ A  convenience  system  to │
215173                    │              │ manage reactors            │
215174                    ├──────────────┼────────────────────────────┤
215175salt          │ This runner  makes  Salt's │
215176                    │              │ execution  modules  avail‐ │
215177                    │              │ able on the salt master.   │
215178                    ├──────────────┼────────────────────────────┤
215179saltutil      │ The  Saltutil  runner   is │
215180                    │              │ used  to sync custom types │
215181                    │              │ to the Master.             │
215182                    ├──────────────┼────────────────────────────┤
215183sdb           │ Runner  for  setting   and │
215184                    │              │ querying  data via the sdb │
215185                    │              │ API on the master          │
215186                    ├──────────────┼────────────────────────────┤
215187smartos_vmadm │ Runner for SmartOS minions │
215188                    │              │ control vmadm              │
215189                    ├──────────────┼────────────────────────────┤
215190spacewalk     │ Spacewalk Runner           │
215191                    ├──────────────┼────────────────────────────┤
215192ssh           │ A  Runner module interface │
215193                    │              │ on  top  of  the  salt-ssh │
215194                    │              │ Python API.                │
215195                    ├──────────────┼────────────────────────────┤
215196state         │ Execute      orchestration │
215197                    │              │ functions                  │
215198                    ├──────────────┼────────────────────────────┤
215199survey        │ A general map/reduce style │
215200                    │              │ salt  runner for aggregat‐ │
215201                    │              │ ing  results  returned  by │
215202                    │              │ several different minions. │
215203                    ├──────────────┼────────────────────────────┤
215204test          │ This  runner  is used only │
215205                    │              │ for  test   purposes   and │
215206                    │              │ servers no production pur‐ │
215207                    │              │ pose                       │
215208                    ├──────────────┼────────────────────────────┤
215209thin          │ The thin runner is used to │
215210                    │              │ manage  the salt thin sys‐ │
215211                    │              │ tems.                      │
215212                    ├──────────────┼────────────────────────────┤
215213vault         │                            │
215214                    │              │        maintainer          
215215                    │              │               SaltStack    │
215216                    ├──────────────┼────────────────────────────┤
215217venafiapi     │ Support for Venafi         │
215218                    ├──────────────┼────────────────────────────┤
215219virt          │ Control  virtual  machines │
215220                    │              │ via Salt                   │
215221                    ├──────────────┼────────────────────────────┤
215222vistara       │ Vistara Runner             │
215223                    ├──────────────┼────────────────────────────┤
215224winrepo       │ Runner  to  manage Windows │
215225                    │              │ software repo              │
215226                    └──────────────┴────────────────────────────┘
215227
215228   salt.runners.asam
215229   Novell ASAM Runner
215230       New in version Beryllium.
215231
215232
215233       Runner to interact with Novell ASAM Fan-Out Driver
215234
215235       codeauthor
215236              Nitin Madhok <nmadhok@clemson.edu>
215237
215238       To use this runner, set up the Novell Fan-Out Driver URL, username  and
215239       password   in   the   master   configuration   at  /etc/salt/master  or
215240       /etc/salt/master.d/asam.conf:
215241
215242          asam:
215243            prov1.domain.com
215244              username: "testuser"
215245              password: "verybadpass"
215246            prov2.domain.com
215247              username: "testuser"
215248              password: "verybadpass"
215249
215250       NOTE:
215251          Optionally, protocol and port can be specified if the Fan-Out Driver
215252          server  is  not  using  the defaults. Default is protocol: https and
215253          port: 3451.
215254
215255       salt.runners.asam.add_platform(name, platform_set, server_url)
215256              To add an ASAM platform using the specified ASAM platform set on
215257              the Novell Fan-Out Driver
215258
215259              CLI Example:
215260
215261                 salt-run asam.add_platform my-test-vm test-platform-set prov1.domain.com
215262
215263       salt.runners.asam.list_platform_sets(server_url)
215264              To  list  all  ASAM  platform sets present on the Novell Fan-Out
215265              Driver
215266
215267              CLI Example:
215268
215269                 salt-run asam.list_platform_sets prov1.domain.com
215270
215271       salt.runners.asam.list_platforms(server_url)
215272              To list all ASAM platforms present on the Novell Fan-Out Driver
215273
215274              CLI Example:
215275
215276                 salt-run asam.list_platforms prov1.domain.com
215277
215278       salt.runners.asam.remove_platform(name, server_url)
215279              To remove specified ASAM platform from the Novell Fan-Out Driver
215280
215281              CLI Example:
215282
215283                 salt-run asam.remove_platform my-test-vm prov1.domain.com
215284
215285   salt.runners.auth
215286       Authentication  runner  for  creating,  deleting,  and  managing  eauth
215287       tokens.
215288
215289       New in version 2016.11.0.
215290
215291
215292       salt.runners.auth.del_token(token)
215293              Delete an eauth token by name
215294
215295              CLI Example:
215296
215297                 salt-run auth.del_token 6556760736e4077daa601baec2b67c24
215298
215299       salt.runners.auth.mk_token(**load)
215300              Create an eauth token using provided credentials
215301
215302              Non-root  users may specify an expiration date -- if allowed via
215303              the token_expire_user_override setting -- by  passing  an  addi‐
215304              tional  token_expire param. This overrides the token_expire set‐
215305              ting of the same name in the Master config and  is  how  long  a
215306              token should live in seconds.
215307
215308              CLI Example:
215309
215310                 salt-run auth.mk_token username=saltdev password=saltdev eauth=auto
215311
215312                 # Create a token valid for three years.
215313                 salt-run auth.mk_token username=saltdev password=saltdev eauth=auto \
215314                     token_expire=94670856
215315
215316                 # Calculate the number of seconds using expr.
215317                 salt-run auth.mk_token username=saltdev password=saltdev eauth=auto \
215318                     token_expire=$(expr \( 365 \* 24 \* 60 \* 60 \) \* 3)
215319
215320   salt.runners.bgp
215321   BGP Finder
215322       New in version 2017.7.0.
215323
215324
215325       Runner to search BGP neighbors details.
215326
215327   Configuration
215328       · Minion (proxy) config
215329            The  bgp.neighbors  function  must  be  appened  in  the  list  of
215330            mine_functions:
215331
215332                mine_functions:
215333                  bgp.neighbors: []
215334
215335            Which instructs Salt to cache the data returned by  the  neighbors
215336            function from the NAPALM BGP module.
215337
215338            How often the mines are refreshed, can be specified using:
215339
215340                mine_interval: <X minutes>
215341
215342       · Master config
215343            By  default the following options can be configured on the master.
215344            They are not mandatory, but available in case the user has differ‐
215345            ent requirements.
215346
215347            tgt: * From  what  minions will collect the mine data.  Default: *
215348                   (collect mine data from all minions)
215349
215350            tgt_type: glob
215351                   Minion matching expression form. Default: glob.
215352
215353            return_fields
215354                   What fields to return in the output.  It  can  display  all
215355                   the  fields from the neighbors function from the NAPALM BGP
215356                   module.
215357
215358                   Some fields cannot be removed:
215359
215360                   · as_number: the AS number of the neighbor
215361
215362                   · device: the minion ID
215363
215364                   · neighbor_address: the neighbor remote IP address
215365
215366                   By default, the following extra fields are  returned  (dis‐
215367                   played):
215368
215369                   · connection_stats: connection stats, as described below
215370
215371                   · import_policy: the name of the import policy
215372
215373                   · export_policy: the name of the export policy
215374
215375                   Special fields:
215376
215377                   · vrf: return the name of the VRF.
215378
215379                   · connection_stats: returning an output of the form <State>
215380                     <Active>/<Received>/<Accepted>/<Damped>,   e.g.    Estab‐
215381                     lished  398/399/399/0  similar  to  the usual output from
215382                     network devices.
215383
215384                   · interface_description: matches the neighbor details  with
215385                     the  corresponding interface and returns its description.
215386                     This will reuse functionality from the net runner, so the
215387                     user  needs to enable the mines as specified in the docu‐
215388                     mentation.
215389
215390                   · interface_name: matches the  neighbor  details  with  the
215391                     corresponding interface and returns the name.  Similar to
215392                     interface_description, this will reuse functionality from
215393                     the  net runner, so the user needs to enable the mines as
215394                     specified in the documentation.
215395
215396            display: True
215397                   Display on the screen or return structured object? Default:
215398                   True (return on the CLI).
215399
215400            outputter: table
215401                   Specify  the  outputter  name  when  displaying on the CLI.
215402                   Default: table.
215403
215404            Configuration example:
215405
215406                runners:
215407                  bgp:
215408                    tgt: 'edge*'
215409                    tgt_type: 'glob'
215410                    return_fields:
215411                      - up
215412                      - connection_state
215413                      - previous_connection_state
215414                      - suppress_4byte_as
215415                      - holdtime
215416                      - flap_count
215417                    outputter: yaml
215418
215419       salt.runners.bgp.neighbors(*asns, **kwargs)
215420              Search for BGP neighbors details in the mines of the  bgp.neigh‐
215421              bors function.
215422
215423              Arguments:
215424
215425              asns   A  list  of  AS  numbers  to search for.  The runner will
215426                     return only the neighbors of these AS numbers.
215427
215428              device Filter by device name (minion ID).
215429
215430              ip     Search BGP neighbor using the IP address.   In  multi-VRF
215431                     environments,  the  same IP address could be used by more
215432                     than one neighbors, in different routing tables.
215433
215434              network
215435                     Search neighbors within a certain IP network.
215436
215437              title  Custom title.
215438
215439              display: True
215440                     Display  on  the  screen  or  return  structured  object?
215441                     Default: True (return on the CLI).
215442
215443              outputter: table
215444                     Specify  the  outputter  name when displaying on the CLI.
215445                     Default: table.
215446
215447              In addition, any field from the output of the neighbors function
215448              from the NAPALM BGP module can be used as a filter.
215449
215450              CLI Example:
215451
215452                 salt-run bgp.neighbors 13335 15169
215453                 salt-run bgp.neighbors 13335 ip=172.17.19.1
215454                 salt-run bgp.neighbors multipath=True
215455                 salt-run bgp.neighbors up=False export_policy=my-export-policy multihop=False
215456                 salt-run bgp.neighbors network=192.168.0.0/16
215457
215458              Output example:
215459
215460                 BGP Neighbors for 13335, 15169
215461                 ________________________________________________________________________________________________________________________________________________________________
215462                 |    Device    | AS Number |         Neighbor Address        | State|#Active/Received/Accepted/Damped |         Policy IN         |         Policy OUT         |
215463                 ________________________________________________________________________________________________________________________________________________________________
215464                 | edge01.bjm01 |   13335   |          172.17.109.11          |        Established 0/398/398/0         |       import-policy       |        export-policy       |
215465                 ________________________________________________________________________________________________________________________________________________________________
215466                 | edge01.bjm01 |   13335   |          172.17.109.12          |       Established 397/398/398/0        |       import-policy       |        export-policy       |
215467                 ________________________________________________________________________________________________________________________________________________________________
215468                 | edge01.flw01 |   13335   |          192.168.172.11         |        Established 1/398/398/0         |       import-policy       |        export-policy       |
215469                 ________________________________________________________________________________________________________________________________________________________________
215470                 | edge01.oua01 |   13335   |          172.17.109.17          |          Established 0/0/0/0           |       import-policy       |        export-policy       |
215471                 ________________________________________________________________________________________________________________________________________________________________
215472                 | edge01.bjm01 |   15169   |             2001::1             |       Established 102/102/102/0        |       import-policy       |        export-policy       |
215473                 ________________________________________________________________________________________________________________________________________________________________
215474                 | edge01.bjm01 |   15169   |             2001::2             |       Established 102/102/102/0        |       import-policy       |        export-policy       |
215475                 ________________________________________________________________________________________________________________________________________________________________
215476                 | edge01.tbg01 |   13335   |          192.168.172.17         |          Established 0/1/1/0           |       import-policy       |        export-policy       |
215477                 ________________________________________________________________________________________________________________________________________________________________
215478
215479   salt.runners.cache
215480       Return cached data from minions
215481
215482       salt.runners.cache.clear_all(tgt=None, tgt_type=u'glob')
215483              Changed  in  version  2017.7.0:  The expr_form argument has been
215484              renamed to tgt_type, earlier releases must use expr_form.
215485
215486
215487              Clear the cached pillar, grains, and mine data of  the  targeted
215488              minions
215489
215490              CLI Example:
215491
215492                 salt-run cache.clear_all
215493
215494       salt.runners.cache.clear_git_lock(role, remote=None, **kwargs)
215495              New in version 2015.8.2.
215496
215497
215498              Remove  the update locks for Salt components (gitfs, git_pillar,
215499              winrepo) which use gitfs backend code from salt.utils.gitfs.
215500
215501              NOTE:
215502                 Running cache.clear_all will not include this function as  it
215503                 does for pillar, grains, and mine.
215504
215505                 Additionally, executing this function with a role of gitfs is
215506                 equivalent to running  salt-run  fileserver.clear_lock  back‐
215507                 end=git.
215508
215509              role   Which  type of lock to remove (gitfs, git_pillar, or win‐
215510                     repo)
215511
215512              remote If specified, then any remotes which contain  the  passed
215513                     string  will  have  their  lock  cleared.  For example, a
215514                     remote value of github will  remove  the  lock  from  all
215515                     github.com remotes.
215516
215517              type   update,checkout,mountpoint  The  types  of lock to clear.
215518                     Can be one or more of update, checkout,  and  mountpoint,
215519                     and  can  be passed either as a comma-separated or Python
215520                     list.
215521
215522                     New in version 2015.8.8.
215523
215524
215525                     Changed in version 2018.3.0: mountpoint lock type added
215526
215527
215528              CLI Examples:
215529
215530                 salt-run cache.clear_git_lock gitfs
215531                 salt-run cache.clear_git_lock git_pillar
215532                 salt-run cache.clear_git_lock git_pillar type=update
215533                 salt-run cache.clear_git_lock git_pillar type=update,checkout
215534                 salt-run cache.clear_git_lock git_pillar type='["update", "mountpoint"]'
215535
215536       salt.runners.cache.clear_grains(tgt=None, tgt_type=u'glob')
215537              Changed in version 2017.7.0: The  expr_form  argument  has  been
215538              renamed to tgt_type, earlier releases must use expr_form.
215539
215540
215541              Clear the cached grains data of the targeted minions
215542
215543              CLI Example:
215544
215545                 salt-run cache.clear_grains
215546
215547       salt.runners.cache.clear_mine(tgt=None, tgt_type=u'glob')
215548              Changed  in  version  2017.7.0:  The expr_form argument has been
215549              renamed to tgt_type, earlier releases must use expr_form.
215550
215551
215552              Clear the cached mine data of the targeted minions
215553
215554              CLI Example:
215555
215556                 salt-run cache.clear_mine
215557
215558       salt.runners.cache.clear_mine_func(tgt=None,          tgt_type=u'glob',
215559       clear_mine_func_flag=None)
215560              Changed  in  version  2017.7.0:  The expr_form argument has been
215561              renamed to tgt_type, earlier releases must use expr_form.
215562
215563
215564              Clear the cached mine function data of the targeted minions
215565
215566              CLI Example:
215567
215568                 salt-run cache.clear_mine_func tgt='*' clear_mine_func_flag='network.interfaces'
215569
215570       salt.runners.cache.clear_pillar(tgt=None, tgt_type=u'glob')
215571              Changed in version 2017.7.0: The  expr_form  argument  has  been
215572              renamed to tgt_type, earlier releases must use expr_form.
215573
215574
215575              Clear the cached pillar data of the targeted minions
215576
215577              CLI Example:
215578
215579                 salt-run cache.clear_pillar
215580
215581       salt.runners.cache.cloud(tgt, provider=None)
215582              Return cloud cache data for target.
215583
215584              NOTE:
215585                 Only works with glob matching
215586
215587              tgt    Glob Target to match minion ids
215588
215589              provider
215590                     Cloud Provider
215591
215592              CLI Example:
215593
215594                 salt-run cache.cloud 'salt*'
215595                 salt-run cache.cloud glance.example.org provider=openstack
215596
215597       salt.runners.cache.fetch(bank, key, cachedir=None)
215598              Fetch data from a salt.cache bank.
215599
215600              CLI Example:
215601
215602                 salt-run cache.fetch cloud/active/ec2/myec2 myminion cachedir=/var/cache/salt/
215603
215604       salt.runners.cache.flush(bank, key=None, cachedir=None)
215605              Remove  the key from the cache bank with all the key content. If
215606              no key is specified remove the entire bank  with  all  keys  and
215607              sub-banks inside.
215608
215609              CLI Examples:
215610
215611                 salt-run cache.flush cloud/active/ec2/myec2 cachedir=/var/cache/salt/
215612                 salt-run cache.flush cloud/active/ec2/myec2 myminion cachedir=/var/cache/salt/
215613
215614       salt.runners.cache.grains(tgt=None, tgt_type=u'glob', **kwargs)
215615              Changed  in  version  2017.7.0:  The expr_form argument has been
215616              renamed to tgt_type, earlier releases must use expr_form.
215617
215618
215619              Return cached grains of the targeted minions.
215620
215621              tgt    Target to match minion ids.
215622
215623                     Changed in version 2017.7.5,2018.3.0: The tgt argument is
215624                     now  required  to display cached grains. If not used, the
215625                     function will not return grains. This  optional  argument
215626                     will become mandatory in the Salt Sodium release.
215627
215628
215629              tgt_type
215630                     The  type of targeting to use for matching, such as glob,
215631                     list, etc.
215632
215633              CLI Example:
215634
215635                 salt-run cache.grains '*'
215636
215637       salt.runners.cache.list_(bank, cachedir=None)
215638              Lists entries stored in the specified bank.
215639
215640              CLI Example:
215641
215642                 salt-run cache.list cloud/active/ec2/myec2 cachedir=/var/cache/salt/
215643
215644       salt.runners.cache.mine(tgt=None, tgt_type=u'glob', **kwargs)
215645              Changed in version 2017.7.0: The  expr_form  argument  has  been
215646              renamed to tgt_type, earlier releases must use expr_form.
215647
215648
215649              Return cached mine data of the targeted minions
215650
215651              CLI Example:
215652
215653                 salt-run cache.mine
215654
215655       salt.runners.cache.pillar(tgt=None, tgt_type=u'glob', **kwargs)
215656              Changed  in  version  2017.7.0:  The expr_form argument has been
215657              renamed to tgt_type, earlier releases must use expr_form.
215658
215659
215660              Return cached pillars of the targeted minions if tgt is set.  If
215661              tgt is not set will return cached pillars for all minions.
215662
215663              CLI Example:
215664
215665                 salt-run cache.pillar
215666
215667       salt.runners.cache.store(bank, key, data, cachedir=None)
215668              Lists entries stored in the specified bank.
215669
215670              CLI Example:
215671
215672                 salt-run cache.store mycache mykey 'The time has come the walrus said'
215673
215674   salt.runners.cloud
215675   The Salt Cloud Runner
215676       This  runner  wraps  the  functionality of salt cloud making salt cloud
215677       routines available to all internal apis via the runner system
215678
215679       salt.runners.cloud.action(func=None,   cloudmap=None,   instances=None,
215680       provider=None, instance=None, opts=None, **kwargs)
215681              Execute a single action on the given map/provider/instance
215682
215683              CLI Example:
215684
215685                 salt-run cloud.action start my-salt-vm
215686
215687       salt.runners.cloud.create(provider, instances, opts=None, **kwargs)
215688              Create an instance using Salt Cloud
215689
215690              CLI Example:
215691
215692                 salt-run cloud.create my-ec2-config myinstance \
215693                     image=ami-1624987f size='t1.micro' ssh_username=ec2-user \
215694                     securitygroup=default delvol_on_destroy=True
215695
215696       salt.runners.cloud.destroy(instances, opts=None)
215697              Destroy the named vm(s)
215698
215699       salt.runners.cloud.full_query(query_type=u'list_nodes_full')
215700              List all available cloud provider data
215701
215702       salt.runners.cloud.list_images(provider=u'all')
215703              List cloud provider images for the given providers
215704
215705       salt.runners.cloud.list_locations(provider=u'all')
215706              List cloud provider sizes for the given providers
215707
215708       salt.runners.cloud.list_sizes(provider=u'all')
215709              List cloud provider sizes for the given providers
215710
215711       salt.runners.cloud.map_run(path=None, opts=None, **kwargs)
215712              Execute a salt cloud map file
215713
215714       salt.runners.cloud.profile(prof=None,     instances=None,    opts=None,
215715       **kwargs)
215716              Create  a  cloud  vm  with  the  given  profile  and  instances,
215717              instances can be a list or comma-delimited string
215718
215719              CLI Example:
215720
215721                 salt-run cloud.profile prof=my-ec2 instances=node1,node2,node3
215722
215723       salt.runners.cloud.query(query_type=u'list_nodes')
215724              List cloud provider data for all providers
215725
215726       salt.runners.cloud.select_query(query_type=u'list_nodes_select')
215727              List selected nodes
215728
215729   salt.runners.ddns
215730   Dynamic DNS Runner
215731       New in version Beryllium.
215732
215733
215734       Runner to interact with DNS server and create/delete/update DNS records
215735
215736       codeauthor
215737              Nitin Madhok <nmadhok@clemson.edu>
215738
215739       salt.runners.ddns.add_host(zone, name, ttl, ip, keyname, keyfile, name‐
215740       server, timeout, port=53, keyalgorithm=u'hmac-md5')
215741              Create both A and PTR (reverse) records for a host.
215742
215743              CLI Example:
215744
215745                 salt-run ddns.add_host domain.com my-test-vm 3600 10.20.30.40 my-tsig-key /etc/salt/tsig.keyring 10.0.0.1 5
215746
215747       salt.runners.ddns.create(zone, name, ttl, rdtype, data,  keyname,  key‐
215748       file, nameserver, timeout, port=53, keyalgorithm=u'hmac-md5')
215749              Create  a  DNS  record. The nameserver must be an IP address and
215750              the master running this runner must have  create  privileges  on
215751              that server.
215752
215753              CLI Example:
215754
215755                 salt-run ddns.create domain.com my-test-vm 3600 A 10.20.30.40 my-tsig-key /etc/salt/tsig.keyring 10.0.0.1 5
215756
215757       salt.runners.ddns.delete(zone,   name,  keyname,  keyfile,  nameserver,
215758       timeout, rdtype=None, data=None, port=53, keyalgorithm=u'hmac-md5')
215759              Delete a DNS record.
215760
215761              CLI Example:
215762
215763                 salt-run ddns.delete domain.com my-test-vm my-tsig-key /etc/salt/tsig.keyring 10.0.0.1 5 A
215764
215765       salt.runners.ddns.delete_host(zone, name, keyname, keyfile, nameserver,
215766       timeout, port=53, keyalgorithm=u'hmac-md5')
215767              Delete  both  forward  (A)  and reverse (PTR) records for a host
215768              only if the forward (A) record exists.
215769
215770              CLI Example:
215771
215772                 salt-run ddns.delete_host domain.com my-test-vm my-tsig-key /etc/salt/tsig.keyring 10.0.0.1 5
215773
215774       salt.runners.ddns.update(zone, name, ttl, rdtype, data,  keyname,  key‐
215775       file,    nameserver,    timeout,   replace=False,   port=53,   keyalgo‐
215776       rithm=u'hmac-md5')
215777              Replace, or update a DNS record. The nameserver must  be  an  IP
215778              address  and  the  master  running  this runner must have update
215779              privileges on that server.
215780
215781              NOTE:
215782                 If replace is set to True, all records for this name and type
215783                 will   first  be  deleted  and  then  recreated.  Default  is
215784                 replace=False.
215785
215786              CLI Example:
215787
215788                 salt-run ddns.update domain.com my-test-vm 3600 A 10.20.30.40 my-tsig-key /etc/salt/tsig.keyring 10.0.0.1 5
215789
215790   salt.runners.digicertapi
215791       Support for Digicert.  Heavily based on the  Venafi  runner  by  Joseph
215792       Hall (jphall@saltstack.com).
215793
215794       Before  using  this  module  you  need to register an account with Dig‐
215795       icert's CertCentral.
215796
215797       Login to CertCentral, ensure  you  have  a  payment  method  configured
215798       and/or  there  are  adequate funds attached to your account.  Click the
215799       Account item in the left sidebar, and select Account Access.  The right
215800       hand pane should show "Account Access" and a link to create an API key.
215801       Create a new API key and assign it to the user that should be  attached
215802       to requests coming from Salt.
215803
215804       NOTE CertCentral will not show the API key again after revealing it the
215805       first time.  Make sure you copy it right  away  or  you  will  have  to
215806       revoke it and generate a new one.
215807
215808       Now open /etc/salt/master and add the API key as shown below.
215809
215810          digicert:
215811            api_key: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC
215812
215813       Restart your Salt Master.
215814
215815       You  can also include default values of the following variables to help
215816       with creating CSRs:
215817
215818          digicert:
215819            api_key: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC
215820            shatype: sha256
215821
215822       This API currently only supports RSA key types.  Support for other  key
215823       types will be added if interest warrants.
215824
215825       salt.runners.digicertapi.del_cached_domain(domains)
215826              Delete cached domains from the master
215827
215828              CLI Example:
215829
215830                 salt-run digicert.del_cached_domain domain1.example.com,domain2.example.com
215831
215832       salt.runners.digicertapi.gen_csr(minion_id,  dns_name, organization_id,
215833       ou_name=None, key_len=2048, shatype=u'sha256', password=None)
215834              CLI Example:
215835
215836                 salt-run digicert.gen_csr <minion_id> <dns_name>
215837
215838       salt.runners.digicertapi.gen_key(minion_id,    dns_name=None,     pass‐
215839       word=None, key_len=2048)
215840              Generate  and  return a private_key. If a dns_name is passed in,
215841              the private_key will be cached under that name.
215842
215843              CLI Example:
215844
215845                 salt-run digicert.gen_key <minion_id> [dns_name] [password]
215846
215847       salt.runners.digicertapi.get_certificate(order_id=None,        certifi‐
215848       cate_id=None, minion_id=None, cert_format=u'pem_all', filename=None)
215849              Retrieve  a  certificate by order_id or certificate_id and write
215850              it to stdout or a filename.
215851
215852              A list of permissible cert_formats is here:
215853                     https://www.digicert.com/services/v2/documentation/appendix-certificate-formats
215854
215855              CLI Example:
215856
215857                 salt-run digicert.get_certificate order_id=48929454 cert_format=apache
215858
215859              Including a 'filename' will write the certificate to the desired
215860              file.  Note that some cert formats are zipped  files,  and  some
215861              are binary.
215862
215863              If  the  certificate  has  not  been  issued, this function will
215864              return the order details inside of which will be a  status  (one
215865              of  pending,  rejected,  processing,  issued, revoked, canceled,
215866              needs_csr, and needs_approval)
215867
215868              If for some reason you want to pipe the output of  this  command
215869              to  a file or other command you will want to leave off the file‐
215870              name argument and make sure to include --no-color so there  will
215871              be no terminal ANSI escape sequences.
215872
215873       salt.runners.digicertapi.get_org_details(organization_id)
215874              Return the details for an organization
215875
215876              CLI Example:
215877
215878                 salt-run digicert.get_org_details 34
215879
215880              Returns  a  dictionary with the org details, or with 'error' and
215881              'status' keys.
215882
215883       salt.runners.digicertapi.list_domain_cache()
215884              List domains that have been cached
215885
215886              CLI Example:
215887
215888                 salt-run digicert.list_domain_cache
215889
215890       salt.runners.digicertapi.list_domains(container_id=None)
215891              List domains that CertCentral knows about.  You  can  filter  by
215892              container_id  (also  known  as  "Division")  by  passing  a con‐
215893              tainer_id.
215894
215895              CLI Example:
215896
215897                 salt-run digicert.list_domains
215898
215899       salt.runners.digicertapi.list_orders(status=None)
215900              List certificate orders made to CertCentral.
215901
215902              CLI Example:
215903
215904                 salt-run digicert.list_orders
215905
215906       salt.runners.digicertapi.list_organizations(container_id=None,
215907       include_validation=True)
215908              List  organizations that CertCentral knows about. You can filter
215909              by container_id (also known as "Division")  by  passing  a  con‐
215910              tainer_id.   This  function  returns  validation  information by
215911              default; pass include_validation=False to turn it off.
215912
215913              CLI Example:
215914
215915                 salt-run digicert.list_organizations
215916
215917       salt.runners.digicertapi.list_requests(status=None)
215918              List certificate requests made to CertCentral. You can filter by
215919              status: pending, approved, rejected
215920
215921              CLI Example:
215922
215923                 salt-run digicert.list_requests pending
215924
215925       salt.runners.digicertapi.order_certificate(minion_id,      common_name,
215926       organization_id,   validity_years,   cert_key_passphrase=None,   signa‐
215927       ture_hash=None,  key_len=2048, dns_names=None, organization_units=None,
215928       server_platform=None, custom_expiration_date=None, comments=None,  dis‐
215929       able_renewal_notifications=False,               product_type_hint=None,
215930       renewal_of_order_id=None)
215931              Order a certificate.  Requires that  an  Organization  has  been
215932              created inside Digicert's CertCentral.
215933
215934              See          here         for         API         documentation:
215935              https://www.digicert.com/services/v2/documentation/order/order-ssl-determinator
215936
215937              CLI Example:
215938
215939                 salt-run digicert.order_certificate my_minionid my.domain.com 10             3 signature_hash=sha256             dns_names=['this.domain.com', 'that.domain.com']             organization_units='My Domain Org Unit'             comments='Comment goes here for the approver'
215940
215941              This  runner  can also be used to renew a certificate by passing
215942              renewal_of_order_id.  Previous order details  can  be  retrieved
215943              with digicertapi.list_orders.
215944
215945       salt.runners.digicertapi.show_csrs()
215946              Show certificate requests for this API key
215947
215948              CLI Example:
215949
215950                 salt-run digicert.show_csrs
215951
215952       salt.runners.digicertapi.show_organization(domain)
215953              Show organization information, especially the company id
215954
215955              CLI Example:
215956
215957                 salt-run digicert.show_company example.com
215958
215959       salt.runners.digicertapi.show_rsa(minion_id, dns_name)
215960              Show a private RSA key
215961
215962              CLI Example:
215963
215964                 salt-run digicert.show_rsa myminion domain.example.com
215965
215966   salt.runners.doc
215967       A  runner  module  to collect and display the inline documentation from
215968       the various module types
215969
215970       salt.runners.doc.execution()
215971              Collect all the sys.doc output from each minion and  return  the
215972              aggregate
215973
215974              CLI Example:
215975
215976                 salt-run doc.execution
215977
215978       salt.runners.doc.runner()
215979              Return all inline documentation for runner modules
215980
215981              CLI Example:
215982
215983                 salt-run doc.runner
215984
215985       salt.runners.doc.wheel()
215986              Return all inline documentation for wheel modules
215987
215988              CLI Example:
215989
215990                 salt-run doc.wheel
215991
215992   salt.runners.drac
215993       Manage Dell DRAC from the Master
215994
215995       The login credentials need to be configured in the Salt master configu‐
215996       ration file.
215997
215998          drac:
215999            username: admin
216000            password: secret
216001
216002       salt.runners.drac.poweroff(hostname, timeout=20,  username=None,  pass‐
216003       word=None)
216004              Power server off
216005
216006              CLI Example:
216007
216008                 salt-run drac.poweroff example.com
216009
216010       salt.runners.drac.poweron(hostname,  timeout=20,  username=None,  pass‐
216011       word=None)
216012              Power server on
216013
216014              CLI Example:
216015
216016                 salt-run drac.poweron example.com
216017
216018       salt.runners.drac.pxe(hostname,   timeout=20,   username=None,    pass‐
216019       word=None)
216020              Connect  to the Dell DRAC and have the boot order set to PXE and
216021              power cycle the system to PXE boot
216022
216023              CLI Example:
216024
216025                 salt-run drac.pxe example.com
216026
216027       salt.runners.drac.reboot(hostname,  timeout=20,  username=None,   pass‐
216028       word=None)
216029              Reboot a server using the Dell DRAC
216030
216031              CLI Example:
216032
216033                 salt-run drac.reboot example.com
216034
216035       salt.runners.drac.version(hostname,  timeout=20,  username=None,  pass‐
216036       word=None)
216037              Display the version of DRAC
216038
216039              CLI Example:
216040
216041                 salt-run drac.version example.com
216042
216043   salt.runners.error
216044       Error generator to enable integration testing of salt runner error han‐
216045       dling
216046
216047       salt.runners.error.error(name=None, message=u'')
216048              If name is None Then return empty dict
216049
216050              Otherwise  raise  an  exception with __name__ from name, message
216051              from message
216052
216053              CLI Example:
216054
216055                 salt-run error
216056                 salt-run error.error name="Exception" message="This is an error."
216057
216058   salt.runners.event
216059       Module for sending events using the runner system.
216060
216061       New in version 2016.11.0.
216062
216063
216064       salt.runners.event.send(tag, data=None)
216065              Send an event with the given tag and data.
216066
216067              This is useful for sending events directly to  the  master  from
216068              the  shell  with  salt-run.  It is also quite useful for sending
216069              events in orchestration states where  the  fire_event  requisite
216070              isn't sufficient because it does not support sending custom data
216071              with the event.
216072
216073              Note that event tags will not be  namespaced  like  events  sent
216074              with  the  fire_event  requisite!  Whereas  events produced from
216075              fire_event  are  prefixed   with   salt/state_result/<jid>/<min‐
216076              ion_id>/<name>,  events  sent using this runner module will have
216077              no such prefix. Make sure your reactors don't expect a prefix!
216078
216079              Parameters
216080
216081                     · tag -- the tag to send with the event
216082
216083                     · data -- an optional dictionary of data to send with the
216084                       event
216085
216086              CLI Example:
216087
216088                 salt-run event.send my/custom/event '{"foo": "bar"}'
216089
216090              Orchestration Example:
216091
216092                 # orch/command.sls
216093
216094                 run_a_command:
216095                   salt.function:
216096                     - name: cmd.run
216097                     - tgt: my_minion
216098                     - arg:
216099                       - exit {{ pillar['exit_code'] }}
216100
216101                 send_success_event:
216102                   salt.runner:
216103                     - name: event.send
216104                     - tag: my_event/success
216105                     - data:
216106                         foo: bar
216107                     - require:
216108                       - salt: run_a_command
216109
216110                 send_failure_event:
216111                   salt.runner:
216112                     - name: event.send
216113                     - tag: my_event/failure
216114                     - data:
216115                         baz: qux
216116                     - onfail:
216117                       - salt: run_a_command
216118
216119                 salt-run state.orchestrate orch.command pillar='{"exit_code": 0}'
216120                 salt-run state.orchestrate orch.command pillar='{"exit_code": 1}'
216121
216122   salt.runners.f5
216123       Runner to provide F5 Load Balancer functionality
216124
216125       depends
216126
216127              · pycontrol Python module
216128
216129       configuration
216130              In  order  to connect to a F5 Load Balancer, you must specify in
216131              the Salt master configuration the currently available load  bal‐
216132              ancers
216133
216134                 load_balancers:
216135                   bigip1.example.com:
216136                     username: admin
216137                     password: secret
216138                   bigip2.example.com:
216139                     username: admin
216140                     password: secret
216141
216142       class salt.runners.f5.F5Mgmt(lb, username, password)
216143
216144              add_pool_member(name, port, pool_name)
216145                     Add a node to a pool
216146
216147              check_member_pool(member, pool_name)
216148                     Check a pool member exists in a specific pool
216149
216150              check_pool(name)
216151                     Check to see if a pool exists
216152
216153              check_virtualserver(name)
216154                     Check to see if a virtual server exists
216155
216156              create_pool(name, method=u'ROUND_ROBIN')
216157                     Create a pool on the F5 load balancer
216158
216159              create_vs(name, ip, port, protocol, profile, pool_name)
216160                     Create a virtual server
216161
216162              lbmethods()
216163                     List all the load balancer methods
216164
216165       salt.runners.f5.add_pool_member(lb, name, port, pool_name)
216166              Add a node to a pool
216167
216168              CLI Examples:
216169
216170                 salt-run f5.add_pool_member load_balancer 10.0.0.1 80 my_pool
216171
216172       salt.runners.f5.check_member_pool(lb, member, pool_name)
216173              Check a pool member exists in a specific pool
216174
216175              CLI Examples:
216176
216177                 salt-run f5.check_member_pool load_balancer 10.0.0.1 my_pool
216178
216179       salt.runners.f5.check_pool(lb, name)
216180              Check to see if a pool exists
216181
216182              CLI Examples:
216183
216184                 salt-run f5.check_pool load_balancer pool_name
216185
216186       salt.runners.f5.check_virtualserver(lb, name)
216187              Check to see if a virtual server exists
216188
216189              CLI Examples:
216190
216191                 salt-run f5.check_virtualserver load_balancer virtual_server
216192
216193       salt.runners.f5.create_pool(lb, name, method=u'ROUND_ROBIN')
216194              Create a pool on the F5 load balancer
216195
216196              CLI Examples:
216197
216198                 salt-run f5.create_pool load_balancer pool_name loadbalance_method
216199                 salt-run f5.create_pool load_balancer my_pool ROUND_ROBIN
216200
216201       salt.runners.f5.create_vs(lb,   name,   ip,  port,  protocol,  profile,
216202       pool_name)
216203              Create a virtual server
216204
216205              CLI Examples:
216206
216207                 salt-run f5.create_vs lbalancer vs_name 10.0.0.1 80 tcp http poolname
216208
216209   salt.runners.fileserver
216210       Directly manage the Salt fileserver plugins
216211
216212       salt.runners.fileserver.clear_cache(backend=None)
216213              New in version 2015.5.0.
216214
216215
216216              Clear the fileserver cache from VCS  fileserver  backends  (git,
216217              hg, svn). Executing this runner with no arguments will clear the
216218              cache for all enabled VCS fileserver backends, but this  can  be
216219              narrowed using the backend argument.
216220
216221              backend
216222                     Only  clear the update lock for the specified backend(s).
216223                     If all passed backends start with a minus sign (-),  then
216224                     these  backends  will  be excluded from the enabled back‐
216225                     ends. However, if there is a mix  of  backends  with  and
216226                     without  a  minus  sign (ex: backend=-roots,git) then the
216227                     ones starting with a minus sign will be disregarded.
216228
216229              CLI Example:
216230
216231                 salt-run fileserver.clear_cache
216232                 salt-run fileserver.clear_cache backend=git,hg
216233                 salt-run fileserver.clear_cache hg
216234                 salt-run fileserver.clear_cache -roots
216235
216236       salt.runners.fileserver.clear_file_list_cache(saltenv=None,       back‐
216237       end=None)
216238              New in version 2016.11.0.
216239
216240
216241              The  Salt  fileserver  caches the files/directories/symlinks for
216242              each fileserver backend and environment as they  are  requested.
216243              This  is  done to help the fileserver scale better. Without this
216244              caching, when hundreds/thousands of minions  simultaneously  ask
216245              the  master  what files are available, this would cause the mas‐
216246              ter's CPU load to spike as it obtains the same information sepa‐
216247              rately for each minion.
216248
216249              saltenv
216250                     By  default,  this runner will clear the file list caches
216251                     for all environments. This argument allows for a list  of
216252                     environments  to  be  passed,  to clear more selectively.
216253                     This list can  be  passed  either  as  a  comma-separated
216254                     string, or a Python list.
216255
216256              backend
216257                     Similar  to  the  saltenv  parameter,  this argument will
216258                     restrict the cache clearing to specific fileserver  back‐
216259                     ends  (the  default behavior is to clear from all enabled
216260                     fileserver backends). This list can be passed either as a
216261                     comma-separated string, or a Python list.
216262
216263              Since  the  ability  to  clear these caches is often required by
216264              users writing custom runners which add/remove files, this runner
216265              can  easily  be  called from within a custom runner using any of
216266              the following examples:
216267
216268                 # Clear all file list caches
216269                 __salt__['fileserver.clear_file_list_cache']()
216270                 # Clear just the 'base' saltenv file list caches
216271                 __salt__['fileserver.clear_file_list_cache'](saltenv='base')
216272                 # Clear just the 'base' saltenv file list caches from just the 'roots'
216273                 # fileserver backend
216274                 __salt__['fileserver.clear_file_list_cache'](saltenv='base', backend='roots')
216275                 # Clear all file list caches from the 'roots' fileserver backend
216276                 __salt__['fileserver.clear_file_list_cache'](backend='roots')
216277
216278              NOTE:
216279                 In runners, the __salt__ dictionary will likely be renamed to
216280                 __runner__  in  a  future  Salt release to distinguish runner
216281                 functions from remote execution functions.  See  this  GitHub
216282                 issue for discussion/updates on this.
216283
216284              If  using  Salt's Python API (not a runner), the following exam‐
216285              ples are equivalent to the ones above:
216286
216287                 import salt.config
216288                 import salt.runner
216289
216290                 opts = salt.config.master_config('/etc/salt/master')
216291                 opts['fun'] = 'fileserver.clear_file_list_cache'
216292
216293                 # Clear all file list_caches
216294                 opts['arg'] = []  # No arguments
216295                 runner = salt.runner.Runner(opts)
216296                 cleared = runner.run()
216297
216298                 # Clear just the 'base' saltenv file list caches
216299                 opts['arg'] = ['base', None]
216300                 runner = salt.runner.Runner(opts)
216301                 cleared = runner.run()
216302
216303                 # Clear just the 'base' saltenv file list caches from just the 'roots'
216304                 # fileserver backend
216305                 opts['arg'] = ['base', 'roots']
216306                 runner = salt.runner.Runner(opts)
216307                 cleared = runner.run()
216308
216309                 # Clear all file list caches from the 'roots' fileserver backend
216310                 opts['arg'] = [None, 'roots']
216311                 runner = salt.runner.Runner(opts)
216312                 cleared = runner.run()
216313
216314              This function will return a dictionary showing a list  of  envi‐
216315              ronments  which  were  cleared for each backend. An empty return
216316              dictionary means that no changes were made.
216317
216318              CLI Examples:
216319
216320                 # Clear all file list caches
216321                 salt-run fileserver.clear_file_list_cache
216322                 # Clear just the 'base' saltenv file list caches
216323                 salt-run fileserver.clear_file_list_cache saltenv=base
216324                 # Clear just the 'base' saltenv file list caches from just the 'roots'
216325                 # fileserver backend
216326                 salt-run fileserver.clear_file_list_cache saltenv=base backend=roots
216327                 # Clear all file list caches from the 'roots' fileserver backend
216328                 salt-run fileserver.clear_file_list_cache backend=roots
216329
216330       salt.runners.fileserver.clear_lock(backend=None, remote=None)
216331              New in version 2015.5.0.
216332
216333
216334              Clear the fileserver update lock from  VCS  fileserver  backends
216335              (git, hg, svn). This should only need to be done if a fileserver
216336              update was interrupted and a remote is not updating  (generating
216337              a  warning in the Master's log file). Executing this runner with
216338              no arguments will remove all update locks from all  enabled  VCS
216339              fileserver  backends, but this can be narrowed by using the fol‐
216340              lowing arguments:
216341
216342              backend
216343                     Only clear the update lock for the specified backend(s).
216344
216345              remote If specified, then any remotes which contain  the  passed
216346                     string  will  have  their  lock  cleared.  For example, a
216347                     remote value of github will  remove  the  lock  from  all
216348                     github.com remotes.
216349
216350              CLI Example:
216351
216352                 salt-run fileserver.clear_lock
216353                 salt-run fileserver.clear_lock backend=git,hg
216354                 salt-run fileserver.clear_lock backend=git remote=github
216355                 salt-run fileserver.clear_lock remote=bitbucket
216356
216357       salt.runners.fileserver.dir_list(saltenv=u'base', backend=None)
216358              Return a list of directories in the given environment
216359
216360              saltenv
216361                     base The salt fileserver environment to be listed
216362
216363              backend
216364                     Narrow  fileserver  backends  to  a subset of the enabled
216365                     ones. If all passed backends start with a minus sign (-),
216366                     then  these  backends  will  be excluded from the enabled
216367                     backends. However, if there is a mix of backends with and
216368                     without  a  minus  sign (ex: backend=-roots,git) then the
216369                     ones starting with a minus sign will be disregarded.
216370
216371                     New in version 2015.5.0.
216372
216373
216374              CLI Example:
216375
216376                 salt-run fileserver.dir_list
216377                 salt-run fileserver.dir_list saltenv=prod
216378                 salt-run fileserver.dir_list saltenv=dev backend=git
216379                 salt-run fileserver.dir_list base hg,roots
216380                 salt-run fileserver.dir_list -git
216381
216382       salt.runners.fileserver.empty_dir_list(saltenv=u'base', backend=None)
216383              New in version 2015.5.0.
216384
216385
216386              Return a list of empty directories in the given environment
216387
216388              saltenv
216389                     base The salt fileserver environment to be listed
216390
216391              backend
216392                     Narrow fileserver backends to a  subset  of  the  enabled
216393                     ones. If all passed backends start with a minus sign (-),
216394                     then these backends will be  excluded  from  the  enabled
216395                     backends. However, if there is a mix of backends with and
216396                     without a minus sign (ex:  backend=-roots,git)  then  the
216397                     ones starting with a minus sign will be disregarded.
216398
216399                     NOTE:
216400                        Some  backends  (such  as  git  and hg) do not support
216401                        empty directories.  So, passing backend=git  or  back‐
216402                        end=hg will result in an empty list being returned.
216403
216404              CLI Example:
216405
216406                 salt-run fileserver.empty_dir_list
216407                 salt-run fileserver.empty_dir_list saltenv=prod
216408                 salt-run fileserver.empty_dir_list backend=roots
216409
216410       salt.runners.fileserver.envs(backend=None, sources=False)
216411              Return  the  available fileserver environments. If no backend is
216412              provided, then the environments for all configured backends will
216413              be returned.
216414
216415              backend
216416                     Narrow  fileserver  backends  to  a subset of the enabled
216417                     ones.
216418
216419                     Changed in version 2015.5.0: If all passed backends start
216420                     with  a  minus  sign  (-),  then  these  backends will be
216421                     excluded from the enabled backends. However, if there  is
216422                     a  mix  of  backends  with  and without a minus sign (ex:
216423                     backend=-roots,git) then the ones starting with  a  minus
216424                     sign will be disregarded.
216425
216426                     Additionally,  fileserver backends can now be passed as a
216427                     comma-separated list. In earlier versions, they needed to
216428                     be  passed  as  a  python  list  (ex:  backend="['roots',
216429                     'git']")
216430
216431
216432              CLI Example:
216433
216434                 salt-run fileserver.envs
216435                 salt-run fileserver.envs backend=roots,git
216436                 salt-run fileserver.envs git
216437
216438       salt.runners.fileserver.file_list(saltenv=u'base', backend=None)
216439              Return a list of files from the salt fileserver
216440
216441              saltenv
216442                     base The salt fileserver environment to be listed
216443
216444              backend
216445                     Narrow fileserver backends to a  subset  of  the  enabled
216446                     ones. If all passed backends start with a minus sign (-),
216447                     then these backends will be  excluded  from  the  enabled
216448                     backends. However, if there is a mix of backends with and
216449                     without a minus sign (ex:  backend=-roots,git)  then  the
216450                     ones starting with a minus sign will be disregarded.
216451
216452                     New in version 2015.5.0.
216453
216454
216455              CLI Examples:
216456
216457                 salt-run fileserver.file_list
216458                 salt-run fileserver.file_list saltenv=prod
216459                 salt-run fileserver.file_list saltenv=dev backend=git
216460                 salt-run fileserver.file_list base hg,roots
216461                 salt-run fileserver.file_list -git
216462
216463       salt.runners.fileserver.lock(backend=None, remote=None)
216464              New in version 2015.5.0.
216465
216466
216467              Set  a  fileserver update lock for VCS fileserver backends (git,
216468              hg, svn).
216469
216470              NOTE:
216471                 This will only operate on enabled backends (those  configured
216472                 in fileserver_backend).
216473
216474              backend
216475                     Only set the update lock for the specified backend(s).
216476
216477              remote If  not  None,  then any remotes which contain the passed
216478                     string will have  their  lock  cleared.  For  example,  a
216479                     remote  value  of  *github.com* will remove the lock from
216480                     all github.com remotes.
216481
216482              CLI Example:
216483
216484                 salt-run fileserver.lock
216485                 salt-run fileserver.lock backend=git,hg
216486                 salt-run fileserver.lock backend=git remote='*github.com*'
216487                 salt-run fileserver.lock remote=bitbucket
216488
216489       salt.runners.fileserver.symlink_list(saltenv=u'base', backend=None)
216490              Return a list of symlinked files and dirs
216491
216492              saltenv
216493                     base The salt fileserver environment to be listed
216494
216495              backend
216496                     Narrow fileserver backends to a  subset  of  the  enabled
216497                     ones. If all passed backends start with a minus sign (-),
216498                     then these backends will be  excluded  from  the  enabled
216499                     backends. However, if there is a mix of backends with and
216500                     without a minus sign (ex:  backend=-roots,git)  then  the
216501                     ones starting with a minus sign will be disregarded.
216502
216503                     New in version 2015.5.0.
216504
216505
216506              CLI Example:
216507
216508                 salt-run fileserver.symlink_list
216509                 salt-run fileserver.symlink_list saltenv=prod
216510                 salt-run fileserver.symlink_list saltenv=dev backend=git
216511                 salt-run fileserver.symlink_list base hg,roots
216512                 salt-run fileserver.symlink_list -git
216513
216514       salt.runners.fileserver.update(backend=None)
216515              Update the fileserver cache. If no backend is provided, then the
216516              cache for all configured backends will be updated.
216517
216518              backend
216519                     Narrow fileserver backends to a  subset  of  the  enabled
216520                     ones.
216521
216522                     Changed in version 2015.5.0: If all passed backends start
216523                     with a minus  sign  (-),  then  these  backends  will  be
216524                     excluded  from the enabled backends. However, if there is
216525                     a mix of backends with and  without  a  minus  sign  (ex:
216526                     backend=-roots,git)  then  the ones starting with a minus
216527                     sign will be disregarded.
216528
216529                     Additionally, fileserver backends can now be passed as  a
216530                     comma-separated list. In earlier versions, they needed to
216531                     be  passed  as  a  python  list  (ex:  backend="['roots',
216532                     'git']")
216533
216534
216535              CLI Example:
216536
216537                 salt-run fileserver.update
216538                 salt-run fileserver.update backend=roots,git
216539
216540   salt.runners.git_pillar
216541       Runner module to directly manage the git external pillar
216542
216543       salt.runners.git_pillar.update(branch=None, repo=None)
216544              New in version 2014.1.0.
216545
216546
216547              Changed  in  version 2015.8.4: This runner function now supports
216548              the git_pillar  configuration  schema  introduced  in  2015.8.0.
216549              Additionally,  the  branch and repo can now be omitted to update
216550              all git_pillar remotes. The return data has also  changed  to  a
216551              dictionary.  The  values  will  be True only if new commits were
216552              fetched, and False if there were errors or no new  commits  were
216553              fetched.
216554
216555
216556              Changed  in  version 2018.3.0: The return for a given git_pillar
216557              remote will now be None when no changes were fetched. False  now
216558              is reserved only for instances in which there were errors.
216559
216560
216561              Fetch one or all configured git_pillar remotes.
216562
216563              NOTE:
216564                 This  will  not  fast-forward  the git_pillar cachedir on the
216565                 master. All it does is perform a git fetch. If this runner is
216566                 executed  with  -l debug, you may see a log message that says
216567                 that the repo is up-to-date. Keep in mind that Salt automati‐
216568                 cally  fetches  git_pillar repos roughly every 60 seconds (or
216569                 whatever loop_interval is set to). So, it  is  possible  that
216570                 the  repo  was fetched automatically in the time between when
216571                 changes were pushed to the repo, and  when  this  runner  was
216572                 executed.  When  in  doubt,  simply refresh pillar data using
216573                 saltutil.refresh_pillar and then use pillar.item to check  if
216574                 the pillar data has changed as expected.
216575
216576              CLI Example:
216577
216578                 # Update specific branch and repo
216579                 salt-run git_pillar.update branch='branch' repo='https://foo.com/bar.git'
216580                 # Update all repos
216581                 salt-run git_pillar.update
216582                 # Run with debug logging
216583                 salt-run git_pillar.update -l debug
216584
216585   salt.runners.http
216586       Module  for  making  various web calls. Primarily designed for webhooks
216587       and the like, but also useful for basic http testing.
216588
216589       New in version 2015.5.0.
216590
216591
216592       salt.runners.http.query(url, output=True, **kwargs)
216593              Query a resource, and decode the return data
216594
216595              Passes   through   all   the   parameters   described   in   the
216596              utils.http.query function:
216597
216598              CLI Example:
216599
216600                 salt-run http.query http://somelink.com/
216601                 salt-run http.query http://somelink.com/ method=POST             params='key1=val1&key2=val2'
216602                 salt-run http.query http://somelink.com/ method=POST             data='<xml>somecontent</xml>'
216603
216604       salt.runners.http.update_ca_bundle(target=None,            source=None,
216605       merge_files=None)
216606              Update the local CA bundle file from a URL
216607
216608              New in version 2015.5.0.
216609
216610
216611              CLI Example:
216612
216613                 salt-run http.update_ca_bundle
216614                 salt-run http.update_ca_bundle target=/path/to/cacerts.pem
216615                 salt-run http.update_ca_bundle source=https://example.com/cacerts.pem
216616
216617              If the target is not specified,  it  will  be  pulled  from  the
216618              ca_cert  configuration  variable  available to the master. If it
216619              cannot be found there, it will be placed at  <<FILE_ROOTS>>/cac‐
216620              erts.pem.
216621
216622              If  the  source  is  not  specified,  it will be pulled from the
216623              ca_cert_url configuration variable available to the  master.  If
216624              it cannot be found, it will be downloaded from the cURL website,
216625              using an http (not https) URL. USING THE DEFAULT URL  SHOULD  BE
216626              AVOIDED!
216627
216628              merge_files  may  also  be specified, which includes a string or
216629              list of strings representing a file or files to be  appended  to
216630              the end of the CA bundle, once it is downloaded.
216631
216632              CLI Example:
216633
216634                 salt-run http.update_ca_bundle merge_files=/path/to/mycert.pem
216635
216636   salt.runners.jobs
216637       A convenience system to manage jobs, both active and already run
216638
216639       salt.runners.jobs.active(display_progress=False)
216640              Return  a report on all actively running jobs from a job id cen‐
216641              tric perspective
216642
216643              CLI Example:
216644
216645                 salt-run jobs.active
216646
216647       salt.runners.jobs.exit_success(jid, ext_source=None)
216648              Check if a job has been executed and exit successfully
216649
216650              jid    The jid to look up.
216651
216652              ext_source
216653                     The external job cache to use. Default: None.
216654
216655              CLI Example:
216656
216657                 salt-run jobs.exit_success 20160520145827701627
216658
216659       salt.runners.jobs.last_run(ext_source=None,    outputter=None,    meta‐
216660       data=None, function=None, target=None, display_progress=False)
216661              New in version 2015.8.0.
216662
216663
216664              List all detectable jobs and associated functions
216665
216666              CLI Example:
216667
216668                 salt-run jobs.last_run
216669                 salt-run jobs.last_run target=nodename
216670                 salt-run jobs.last_run function='cmd.run'
216671                 salt-run jobs.last_run metadata="{'foo': 'bar'}"
216672
216673       salt.runners.jobs.list_job(jid,          ext_source=None,          dis‐
216674       play_progress=False)
216675              List a specific job given by its jid
216676
216677              ext_source
216678                     If provided, specifies which external job cache to use.
216679
216680              display_progress
216681                     False If True, fire progress events.
216682
216683                     New in version 2015.8.8.
216684
216685
216686              CLI Example:
216687
216688                 salt-run jobs.list_job 20130916125524463507
216689                 salt-run jobs.list_job 20130916125524463507 --out=pprint
216690
216691       salt.runners.jobs.list_jobs(ext_source=None,            outputter=None,
216692       search_metadata=None,     search_function=None,     search_target=None,
216693       start_time=None, end_time=None, display_progress=False)
216694              List all detectable jobs and associated functions
216695
216696              ext_source
216697                     If provided, specifies which external job cache to use.
216698
216699              FILTER OPTIONS
216700
216701              NOTE:
216702                 If more than one of the below options  are  used,  only  jobs
216703                 which match all of the filters will be returned.
216704
216705              search_metadata
216706                     Specify  a  dictionary to match to the job's metadata. If
216707                     any of the key-value pairs in this dictionary match,  the
216708                     job will be returned.  Example:
216709
216710                        salt-run jobs.list_jobs search_metadata='{"foo": "bar", "baz": "qux"}'
216711
216712              search_function
216713                     Can  be  passed as a string or a list. Returns jobs which
216714                     match the specified function. Globbing is allowed.  Exam‐
216715                     ple:
216716
216717                        salt-run jobs.list_jobs search_function='test.*'
216718                        salt-run jobs.list_jobs search_function='["test.*", "pkg.install"]'
216719
216720                     Changed  in  version  2015.8.8:  Multiple targets can now
216721                     also be passed as a comma-separated list.  For example:
216722
216723                        salt-run jobs.list_jobs search_function='test.*,pkg.install'
216724
216725
216726              search_target
216727                     Can be passed as a string or a list. Returns  jobs  which
216728                     match  the  specified  minion  name. Globbing is allowed.
216729                     Example:
216730
216731                        salt-run jobs.list_jobs search_target='*.mydomain.tld'
216732                        salt-run jobs.list_jobs search_target='["db*", "myminion"]'
216733
216734                     Changed in version 2015.8.8:  Multiple  targets  can  now
216735                     also be passed as a comma-separated list.  For example:
216736
216737                        salt-run jobs.list_jobs search_target='db*,myminion'
216738
216739
216740              start_time
216741                     Accepts  any  timestamp  supported by the dateutil Python
216742                     module (if this module is not  installed,  this  argument
216743                     will  be  ignored). Returns jobs which started after this
216744                     timestamp.
216745
216746              end_time
216747                     Accepts any timestamp supported by  the  dateutil  Python
216748                     module  (if  this  module is not installed, this argument
216749                     will be ignored). Returns jobs which started before  this
216750                     timestamp.
216751
216752              CLI Example:
216753
216754                 salt-run jobs.list_jobs
216755                 salt-run jobs.list_jobs search_function='test.*' search_target='localhost' search_metadata='{"bar": "foo"}'
216756                 salt-run jobs.list_jobs start_time='2015, Mar 16 19:00' end_time='2015, Mar 18 22:00'
216757
216758       salt.runners.jobs.list_jobs_filter(count,         filter_find_job=True,
216759       ext_source=None, outputter=None, display_progress=False)
216760              List all detectable jobs and associated functions
216761
216762              ext_source
216763                     The external job cache to use. Default: None.
216764
216765              CLI Example:
216766
216767                 salt-run jobs.list_jobs_filter 50
216768                 salt-run jobs.list_jobs_filter 100 filter_find_job=False
216769
216770       salt.runners.jobs.lookup_jid(jid, ext_source=None, returned=True, miss‐
216771       ing=False, display_progress=False)
216772              Return the printout from a previously executed job
216773
216774              jid    The jid to look up.
216775
216776              ext_source
216777                     The external job cache to use. Default: None.
216778
216779              returned
216780                     True  If  True,  include the minions that did return from
216781                     the command.
216782
216783                     New in version 2015.8.0.
216784
216785
216786              missing
216787                     False If True, include the minions that  did  not  return
216788                     from the command.
216789
216790              display_progress
216791                     False If True, fire progress events.
216792
216793                     New in version 2015.5.0.
216794
216795
216796              CLI Example:
216797
216798                 salt-run jobs.lookup_jid 20130916125524463507
216799                 salt-run jobs.lookup_jid 20130916125524463507 --out=highstate
216800
216801       salt.runners.jobs.print_job(jid, ext_source=None)
216802              Print  a  specific job's detail given by it's jid, including the
216803              return data.
216804
216805              CLI Example:
216806
216807                 salt-run jobs.print_job 20130916125524463507
216808
216809   salt.runners.launchd
216810       Manage launchd plist files
216811
216812       salt.runners.launchd.write_launchd_plist(program)
216813              Write a launchd plist for managing salt-master or salt-minion
216814
216815              CLI Example:
216816
216817                 salt-run launchd.write_launchd_plist salt-master
216818
216819   salt.runners.lxc
216820       Control Linux Containers via Salt
216821
216822       depends
216823              lxc execution module
216824
216825       salt.runners.lxc.cloud_init(names, host=None, quiet=False, **kwargs)
216826              Wrapper for using lxc.init in saltcloud compatibility mode
216827
216828              names  Name of the containers, supports a single name or a comma
216829                     delimited list of names.
216830
216831              host   Minion to start the container on. Required.
216832
216833              path   path  to the container parent default: /var/lib/lxc (sys‐
216834                     tem default)
216835
216836                     New in version 2015.8.0.
216837
216838
216839              saltcloud_mode
216840                     init the container with the saltcloud opts format instead
216841
216842       salt.runners.lxc.find_guest(name, quiet=False, path=None)
216843              Returns the host for a container.
216844
216845              path   path to the container parent default: /var/lib/lxc  (sys‐
216846                     tem default)
216847
216848                     New in version 2015.8.0.
216849
216850
216851                 salt-run lxc.find_guest name
216852
216853       salt.runners.lxc.find_guests(names, path=None)
216854              Return a dict of hosts and named guests
216855
216856              path   path  to the container parent default: /var/lib/lxc (sys‐
216857                     tem default)
216858
216859                     New in version 2015.8.0.
216860
216861
216862       salt.runners.lxc.freeze(name, quiet=False, path=None)
216863              Freeze the named container
216864
216865              path   path to the container parent default: /var/lib/lxc  (sys‐
216866                     tem default)
216867
216868                     New in version 2015.8.0.
216869
216870
216871                 salt-run lxc.freeze name
216872
216873       salt.runners.lxc.info(name, quiet=False, path=None)
216874              Returns information about a container.
216875
216876              path   path  to the container parent default: /var/lib/lxc (sys‐
216877                     tem default)
216878
216879                     New in version 2015.8.0.
216880
216881
216882                 salt-run lxc.info name
216883
216884       salt.runners.lxc.init(names,      host=None,      saltcloud_mode=False,
216885       quiet=False, **kwargs)
216886              Initialize a new container
216887
216888                 salt-run lxc.init name host=minion_id [cpuset=cgroups_cpuset] \
216889                         [cpushare=cgroups_cpushare] [memory=cgroups_memory] \
216890                         [template=lxc_template_name] [clone=original name] \
216891                         [profile=lxc_profile] [network_proflile=network_profile] \
216892                         [nic=network_profile] [nic_opts=nic_opts] \
216893                         [start=(true|false)] [seed=(true|false)] \
216894                         [install=(true|false)] [config=minion_config] \
216895                         [snapshot=(true|false)]
216896
216897              names  Name of the containers, supports a single name or a comma
216898                     delimited list of names.
216899
216900              host   Minion on which to initialize the container (required)
216901
216902              path   path to the container parent default: /var/lib/lxc  (sys‐
216903                     tem default)
216904
216905                     New in version 2015.8.0.
216906
216907
216908              saltcloud_mode
216909                     init the container with the saltcloud opts format instead
216910                     See lxc.init_interface module documentation
216911
216912              cpuset cgroups cpuset.
216913
216914              cpushare
216915                     cgroups cpu shares.
216916
216917              memory cgroups memory limit, in MB
216918
216919                     Changed in version 2015.5.0: If no value  is  passed,  no
216920                     limit  is set. In earlier Salt versions, not passing this
216921                     value causes a 1024MB memory limit to be set, and it  was
216922                     necessary to pass memory=0 to set no limit.
216923
216924
216925              template
216926                     Name of LXC template on which to base this container
216927
216928              clone  Clone this container from an existing container
216929
216930              profile
216931                     A LXC profile (defined in config or pillar).
216932
216933              network_profile
216934                     Network profile to use for the container
216935
216936                     New in version 2015.5.2.
216937
216938
216939              nic    Deprecated  since  version  2015.5.0: Use network_profile
216940                     instead
216941
216942
216943              nic_opts
216944                     Extra options for network interfaces. E.g.:
216945
216946                     {"eth0": {"mac": "aa:bb:cc:dd:ee:ff", "ipv4": "10.1.1.1",
216947                     "ipv6": "2001:db8::ff00:42:8329"}}
216948
216949              start  Start the newly created container.
216950
216951              seed   Seed  the  container  with the minion config and autosign
216952                     its key.  Default: true
216953
216954              install
216955                     If salt-minion is  not  already  installed,  install  it.
216956                     Default: true
216957
216958              config Optional  config parameters. By default, the id is set to
216959                     the name of the container.
216960
216961       salt.runners.lxc.list_(host=None, quiet=False, path=None)
216962              List defined containers (running, stopped, and frozen)  for  the
216963              named (or all) host(s).
216964
216965              path   path  to the container parent default: /var/lib/lxc (sys‐
216966                     tem default)
216967
216968                     New in version 2015.8.0.
216969
216970
216971                 salt-run lxc.list [host=minion_id]
216972
216973       salt.runners.lxc.purge(name, delete_key=True, quiet=False, path=None)
216974              Purge the named container and delete its minion key if  present.
216975              WARNING: Destroys all data associated with the container.
216976
216977              path   path  to the container parent default: /var/lib/lxc (sys‐
216978                     tem default)
216979
216980                     New in version 2015.8.0.
216981
216982
216983                 salt-run lxc.purge name
216984
216985       salt.runners.lxc.start(name, quiet=False, path=None)
216986              Start the named container.
216987
216988              path   path to the container parent default: /var/lib/lxc  (sys‐
216989                     tem default)
216990
216991                     New in version 2015.8.0.
216992
216993
216994                 salt-run lxc.start name
216995
216996       salt.runners.lxc.stop(name, quiet=False, path=None)
216997              Stop the named container.
216998
216999              path   path  to the container parent default: /var/lib/lxc (sys‐
217000                     tem default)
217001
217002                     New in version 2015.8.0.
217003
217004
217005                 salt-run lxc.stop name
217006
217007       salt.runners.lxc.unfreeze(name, quiet=False, path=None)
217008              Unfreeze the named container
217009
217010              path   path to the container parent default: /var/lib/lxc  (sys‐
217011                     tem default)
217012
217013                     New in version 2015.8.0.
217014
217015
217016                 salt-run lxc.unfreeze name
217017
217018   salt.runners.manage
217019       General management functions for salt, tools like seeing what hosts are
217020       up and what hosts are down
217021
217022       salt.runners.manage.alived(subset=None, show_ip=False, show_ipv4=None)
217023              New in version 2015.8.0.
217024
217025
217026              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217027              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217028              IPv6-connected minions.
217029
217030
217031              Print a list of all minions that  are  up  according  to  Salt's
217032              presence detection (no commands will be sent to minions)
217033
217034              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217035                     address.
217036
217037              show_ip
217038                     False Also show the IP address each minion is  connecting
217039                     from.
217040
217041              CLI Example:
217042
217043                 salt-run manage.alived
217044
217045       salt.runners.manage.allowed(subset=None, show_ip=False, show_ipv4=None)
217046              New in version 2015.8.0.
217047
217048
217049              Changed  in  version 2019.2.0: The 'show_ipv4' argument has been
217050              renamed to 'show_ip' as  it  now  includes  IPv6  addresses  for
217051              IPv6-connected minions.
217052
217053
217054              Print  a  list  of  all  minions that are up according to Salt's
217055              presence detection (no commands will be sent to minions)
217056
217057              subset None Pass in  a  CIDR  range  to  filter  minions  by  IP
217058                     address.
217059
217060              show_ip
217061                     False  Also show the IP address each minion is connecting
217062                     from.
217063
217064              CLI Example:
217065
217066                 salt-run manage.allowed
217067
217068       salt.runners.manage.bootstrap(version=u'develop',          script=None,
217069       hosts=u'',  script_args=u'',  roster=u'flat',  ssh_user=None, ssh_pass‐
217070       word=None,  ssh_priv_key=None,  tmp_dir=u'/tmp/.bootstrap',  http_back‐
217071       end=u'tornado')
217072              Bootstrap minions with salt-bootstrap
217073
217074              version
217075                     develop Git tag of version to install
217076
217077              script https://bootstrap.saltstack.com URL containing the script
217078                     to execute
217079
217080              hosts  Comma-separated              hosts              [example:
217081                     hosts='host1.local,host2.local'].  These  hosts  need  to
217082                     exist in the specified roster.
217083
217084              script_args
217085                     Any additional arguments that you want  to  pass  to  the
217086                     script.
217087
217088                     New in version 2016.11.0.
217089
217090
217091              roster flat  The  roster  to  use for Salt SSH. More information
217092                     about roster files can be found in Salt's Roster Documen‐
217093                     tation.
217094
217095                     A  full list of roster types, see the builtin roster mod‐
217096                     ules documentation.
217097
217098                     New in version 2016.11.0.
217099
217100
217101              ssh_user
217102                     If user isn't found in the roster, a default SSH user can
217103                     be  set  here.  Keep in mind that ssh_user will not over‐
217104                     ride the roster user value if it is already defined.
217105
217106                     New in version 2016.11.0.
217107
217108
217109              ssh_password
217110                     If passwd isn't found in the roster, a default SSH  pass‐
217111                     word can be set here. Keep in mind that ssh_password will
217112                     not override the roster passwd value  if  it  is  already
217113                     defined.
217114
217115                     New in version 2016.11.0.
217116
217117
217118              ssh_privkey
217119                     If  priv isn't found in the roster, a default SSH private
217120                     key can be set here. Keep in mind that ssh_password  will
217121                     not  override  the  roster  passwd value if it is already
217122                     defined.
217123
217124                     New in version 2016.11.0.
217125
217126
217127              tmp_dir
217128                     /tmp/.bootstrap The temporary directory to  download  the
217129                     bootstrap  script  in.  This directory will have -<uuid4>
217130                     appended    to    it.    For     example:     /tmp/.boot‐
217131                     strap-a19a728e-d40a-4801-aba9-d00655c143a7/
217132
217133                     New in version 2016.11.0.
217134
217135
217136              http_backend
217137                     tornado  The  backend  library  to  use  to  download the
217138                     script. If you need to  use  a  file:///  URL,  then  you
217139                     should set this to urllib2.
217140
217141                     New in version 2016.11.0.
217142
217143
217144              CLI Example:
217145
217146                 salt-run manage.bootstrap hosts='host1,host2'
217147                 salt-run manage.bootstrap hosts='host1,host2' version='v0.17'
217148                 salt-run manage.bootstrap hosts='host1,host2' version='v0.17'             script='https://bootstrap.saltstack.com/develop'
217149
217150       salt.runners.manage.bootstrap_psexec(hosts=u'',    master=None,    ver‐
217151       sion=None,  arch=u'win32',  installer_url=None,  username=None,   pass‐
217152       word=None)
217153              Bootstrap Windows minions via PsExec.
217154
217155              hosts  Comma  separated list of hosts to deploy the Windows Salt
217156                     minion.
217157
217158              master Address of the Salt master passed as an argument  to  the
217159                     installer.
217160
217161              version
217162                     Point  release  of installer to download. Defaults to the
217163                     most recent.
217164
217165              arch   Architecture of installer to download. Defaults to win32.
217166
217167              installer_url
217168                     URL of minion installer executable. Defaults to the  lat‐
217169                     est version from https://repo.saltstack.com/windows/
217170
217171              username
217172                     Optional user name for login on remote computer.
217173
217174              password
217175                     Password  for  optional username. If omitted, PsExec will
217176                     prompt for one to be entered for each host.
217177
217178              CLI Example:
217179
217180                 salt-run manage.bootstrap_psexec hosts='host1,host2'
217181                 salt-run manage.bootstrap_psexec hosts='host1,host2' version='0.17' username='DOMAIN\Administrator'
217182                 salt-run manage.bootstrap_psexec hosts='host1,host2' installer_url='http://exampledomain/salt-installer.exe'
217183
217184       salt.runners.manage.down(removekeys=False, tgt=u'*',  tgt_type=u'glob',
217185       timeout=None, gather_job_timeout=None)
217186              Changed  in  version  2017.7.0:  The expr_form argument has been
217187              renamed to tgt_type, earlier releases must use expr_form.
217188
217189
217190              Print a list of  all  the  down  or  unresponsive  salt  minions
217191              Optionally remove keys of down minions
217192
217193              CLI Example:
217194
217195                 salt-run manage.down
217196                 salt-run manage.down removekeys=True
217197                 salt-run manage.down tgt="webservers" tgt_type="nodegroup"
217198
217199       salt.runners.manage.joined(subset=None, show_ip=False, show_ipv4=None)
217200              New in version 2015.8.0.
217201
217202
217203              Changed  in  version 2019.2.0: The 'show_ipv4' argument has been
217204              renamed to 'show_ip' as  it  now  includes  IPv6  addresses  for
217205              IPv6-connected minions.
217206
217207
217208              Print  a  list  of  all  minions that are up according to Salt's
217209              presence detection (no commands will be sent to minions)
217210
217211              subset None Pass in  a  CIDR  range  to  filter  minions  by  IP
217212                     address.
217213
217214              show_ip
217215                     False  Also show the IP address each minion is connecting
217216                     from.
217217
217218              CLI Example:
217219
217220                 salt-run manage.joined
217221
217222       salt.runners.manage.key_regen()
217223              This routine is used to regenerate all keys in  an  environment.
217224              This  is  invasive!  ALL  KEYS  IN  THE SALT ENVIRONMENT WILL BE
217225              REGENERATED!!
217226
217227              The key_regen routine sends a command out to minions  to  revoke
217228              the  master  key and remove all minion keys, it then removes all
217229              keys from the master and prompts the user to restart the master.
217230              The  minions will all reconnect and keys will be placed in pend‐
217231              ing.
217232
217233              After the master is restarted and minion keys are in the pending
217234              directory  execute  a salt-key -A command to accept the regener‐
217235              ated minion keys.
217236
217237              The master must be restarted within 60 seconds of  running  this
217238              command  or the minions will think there is something wrong with
217239              the keys and abort.
217240
217241              Only Execute this runner after upgrading minions and  master  to
217242              0.15.1 or higher!
217243
217244              CLI Example:
217245
217246                 salt-run manage.key_regen
217247
217248       salt.runners.manage.list_not_state(subset=None,          show_ip=False,
217249       show_ipv4=None)
217250              New in version 2015.8.0.
217251
217252
217253              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217254              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217255              IPv6-connected minions.
217256
217257
217258              Print a list of all minions that are NOT up according to  Salt's
217259              presence detection (no commands will be sent to minions)
217260
217261              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217262                     address.
217263
217264              show_ip
217265                     False Also show the IP address each minion is  connecting
217266                     from.
217267
217268              CLI Example:
217269
217270                 salt-run manage.list_not_state
217271
217272       salt.runners.manage.list_state(subset=None,              show_ip=False,
217273       show_ipv4=None)
217274              New in version 2015.8.0.
217275
217276
217277              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217278              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217279              IPv6-connected minions.
217280
217281
217282              Print a list of all minions that  are  up  according  to  Salt's
217283              presence detection (no commands will be sent to minions)
217284
217285              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217286                     address.
217287
217288              show_ip
217289                     False Also show the IP address each minion is  connecting
217290                     from.
217291
217292              CLI Example:
217293
217294                 salt-run manage.list_state
217295
217296       salt.runners.manage.not_alived(subset=None,              show_ip=False,
217297       show_ipv4=None)
217298              New in version 2015.8.0.
217299
217300
217301              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217302              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217303              IPv6-connected minions.
217304
217305
217306              Print a list of all minions that are NOT up according to  Salt's
217307              presence detection (no commands will be sent)
217308
217309              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217310                     address.
217311
217312              show_ip
217313                     False Also show the IP address each minion is  connecting
217314                     from.
217315
217316              CLI Example:
217317
217318                 salt-run manage.not_alived
217319
217320       salt.runners.manage.not_allowed(subset=None,             show_ip=False,
217321       show_ipv4=None)
217322              New in version 2015.8.0.
217323
217324
217325              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217326              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217327              IPv6-connected minions.
217328
217329
217330              Print a list of all minions that are NOT up according to  Salt's
217331              presence detection (no commands will be sent)
217332
217333              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217334                     address.
217335
217336              show_ip
217337                     False Also show the IP address each minion is  connecting
217338                     from.
217339
217340              CLI Example:
217341
217342                 salt-run manage.not_allowed
217343
217344       salt.runners.manage.not_joined(subset=None,              show_ip=False,
217345       show_ipv4=None)
217346              New in version 2015.8.0.
217347
217348
217349              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217350              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217351              IPv6-connected minions.
217352
217353
217354              Print a list of all minions that are NOT up according to  Salt's
217355              presence detection (no commands will be sent)
217356
217357              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217358                     address.
217359
217360              show_ip
217361                     False Also show the IP address each minion is  connecting
217362                     from.
217363
217364              CLI Example:
217365
217366                 salt-run manage.not_joined
217367
217368       salt.runners.manage.not_present(subset=None,             show_ip=False,
217369       show_ipv4=None)
217370              New in version 2015.5.0.
217371
217372
217373              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217374              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217375              IPv6-connected minions.
217376
217377
217378              Print a list of all minions that are NOT up according to  Salt's
217379              presence detection (no commands will be sent)
217380
217381              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217382                     address.
217383
217384              show_ip
217385                     False Also show the IP address each minion is  connecting
217386                     from.
217387
217388              CLI Example:
217389
217390                 salt-run manage.not_present
217391
217392       salt.runners.manage.not_reaped(subset=None,              show_ip=False,
217393       show_ipv4=None)
217394              New in version 2015.8.0.
217395
217396
217397              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217398              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217399              IPv6-connected minions.
217400
217401
217402              Print a list of all minions that are NOT up according to  Salt's
217403              presence detection (no commands will be sent)
217404
217405              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217406                     address.
217407
217408              show_ip
217409                     False Also show the IP address each minion is  connecting
217410                     from.
217411
217412              CLI Example:
217413
217414                 salt-run manage.not_reaped
217415
217416       salt.runners.manage.present(subset=None, show_ip=False, show_ipv4=None)
217417              Changed  in  version 2019.2.0: The 'show_ipv4' argument has been
217418              renamed to 'show_ip' as  it  now  includes  IPv6  addresses  for
217419              IPv6-connected minions.
217420
217421
217422              Print  a  list  of  all  minions that are up according to Salt's
217423              presence detection (no commands will be sent to minions)
217424
217425              subset None Pass in  a  CIDR  range  to  filter  minions  by  IP
217426                     address.
217427
217428              show_ip
217429                     False  Also show the IP address each minion is connecting
217430                     from.
217431
217432              CLI Example:
217433
217434                 salt-run manage.present
217435
217436       salt.runners.manage.reaped(subset=None, show_ip=False, show_ipv4=None)
217437              New in version 2015.8.0.
217438
217439
217440              Changed in version 2019.2.0: The 'show_ipv4' argument  has  been
217441              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
217442              IPv6-connected minions.
217443
217444
217445              Print a list of all minions that  are  up  according  to  Salt's
217446              presence detection (no commands will be sent to minions)
217447
217448              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
217449                     address.
217450
217451              show_ip
217452                     False Also show the IP address each minion is  connecting
217453                     from.
217454
217455              CLI Example:
217456
217457                 salt-run manage.reaped
217458
217459       salt.runners.manage.safe_accept(target, tgt_type=u'glob')
217460              Changed  in  version  2017.7.0:  The expr_form argument has been
217461              renamed to tgt_type, earlier releases must use expr_form.
217462
217463
217464              Accept a minion's public key after checking the fingerprint over
217465              salt-ssh
217466
217467              CLI Example:
217468
217469                 salt-run manage.safe_accept my_minion
217470                 salt-run manage.safe_accept minion1,minion2 tgt_type=list
217471
217472       salt.runners.manage.status(output=True,   tgt=u'*',   tgt_type=u'glob',
217473       timeout=None, gather_job_timeout=None)
217474              Changed in version 2017.7.0: The  expr_form  argument  has  been
217475              renamed to tgt_type, earlier releases must use expr_form.
217476
217477
217478              Print the status of all known salt minions
217479
217480              CLI Example:
217481
217482                 salt-run manage.status
217483                 salt-run manage.status tgt="webservers" tgt_type="nodegroup"
217484                 salt-run manage.status timeout=5 gather_job_timeout=10
217485
217486       salt.runners.manage.up(tgt=u'*',     tgt_type=u'glob',    timeout=None,
217487       gather_job_timeout=None)
217488              Changed in version 2017.7.0: The  expr_form  argument  has  been
217489              renamed to tgt_type, earlier releases must use expr_form.
217490
217491
217492              Print a list of all of the minions that are up
217493
217494              CLI Example:
217495
217496                 salt-run manage.up
217497                 salt-run manage.up tgt="webservers" tgt_type="nodegroup"
217498                 salt-run manage.up timeout=5 gather_job_timeout=10
217499
217500       salt.runners.manage.versions()
217501              Check the version of active minions
217502
217503              CLI Example:
217504
217505                 salt-run manage.versions
217506
217507   salt.runners.mattermost
217508       Note for 2017.7 releases!
217509
217510       Due  to  the  salt.runners.config  module  not  being available in this
217511       release series, importing the salt.runners.config module from the  mas‐
217512       ter branch is required to make this module work.
217513
217514       Ref:  Mattermost  runner  failing  to  retrieve  config  values  due to
217515       unavailable config runner #43479
217516
217517       Module for sending messages to Mattermost
217518
217519       New in version 2017.7.0.
217520
217521
217522       configuration
217523              This module can be used by either passing an  api_url  and  hook
217524              directly or by specifying both in a configuration profile in the
217525              salt master/minion config. For example:
217526
217527                 mattermost:
217528                   hook: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
217529                   api_url: https://example.com
217530
217531       salt.runners.mattermost.post_event(event, channel=None,  username=None,
217532       api_url=None, hook=None)
217533              Send  an event to a Mattermost channel.  :param channel:     The
217534              channel name, either will work.  :param username:     The  user‐
217535              name  of  the  poster.  :param event:       The event to send to
217536              the Mattermost channel.  :param api_url:     The Mattermost  api
217537              url,  if  not  specified  in  the  configuration.   :param hook:
217538              The Mattermost hook, if  not  specified  in  the  configuration.
217539              :return:            Boolean if message was sent successfully.
217540
217541       salt.runners.mattermost.post_message(message,    channel=None,    user‐
217542       name=None, api_url=None, hook=None)
217543              Send a message to a Mattermost channel.  :param channel:     The
217544              channel  name,  either will work.  :param username:    The user‐
217545              name of the poster.  :param message:     The message to send  to
217546              the  Mattermost channel.  :param api_url:     The Mattermost api
217547              url, if  not  specified  in  the  configuration.   :param  hook:
217548              The  Mattermost  hook,  if  not  specified in the configuration.
217549              :return:            Boolean if message was sent successfully.
217550
217551              CLI Example:
217552
217553                 salt-run mattermost.post_message message='Build is done'
217554
217555   salt.runners.mine
217556       A runner to access data from the salt mine
217557
217558       salt.runners.mine.get(tgt, fun, tgt_type=u'glob')
217559              Gathers the data from the specified minions' mine, pass  in  the
217560              target, function to look up and the target type
217561
217562              CLI Example:
217563
217564                 salt-run mine.get '*' network.interfaces
217565
217566       salt.runners.mine.update(tgt, tgt_type=u'glob', clear=False, mine_func‐
217567       tions=None)
217568              New in version 2017.7.0.
217569
217570
217571              Update the mine data on a certain group of minions.
217572
217573              tgt    Which minions to target for the execution.
217574
217575              tgt_type: glob
217576                     The type of tgt.
217577
217578              clear: False
217579                     Boolean flag specifying whether updating will  clear  the
217580                     existing mines, or will update. Default: False (update).
217581
217582              mine_functions
217583                     Update  the  mine  data  on certain functions only.  This
217584                     feature can be used when updating the mine for  functions
217585                     that require refresh at different intervals than the rest
217586                     of the functions specified under  mine_functions  in  the
217587                     minion/master config or pillar.
217588
217589              CLI Example:
217590
217591                 salt-run mine.update '*'
217592                 salt-run mine.update 'juniper-edges' tgt_type='nodegroup'
217593
217594   salt.runners.nacl
217595       This  module  helps  include encrypted passwords in pillars, grains and
217596       salt state files.
217597
217598       depends
217599              libnacl, https://github.com/saltstack/libnacl
217600
217601       This is often useful if you wish to store your pillars in  source  con‐
217602       trol  or  share  your  pillar  data with others that you trust. I don't
217603       advise making your pillars public regardless if they are  encrypted  or
217604       not.
217605
217606       configuration
217607              The  following  configuration  defaults can be define (pillar or
217608              config files) Avoid storing private keys in pillars! Ensure mas‐
217609              ter does not have pillar_opts=True:
217610
217611                 # cat /etc/salt/master.d/nacl.conf
217612                 nacl.config:
217613                     # NOTE: `key` and `key_file` have been renamed to `sk`, `sk_file`
217614                     # also `box_type` default changed from secretbox to sealedbox.
217615                     box_type: sealedbox                     (default)
217616                     sk_file: /etc/salt/pki/master/nacl      (default)
217617                     pk_file: /etc/salt/pki/master/nacl.pub  (default)
217618                     sk: None
217619                     pk: None
217620
217621              Usage can override the config defaults:
217622
217623                 salt-run nacl.enc sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
217624
217625       The  nacl  lib  uses 32byte keys, these keys are base64 encoded to make
217626       your life more simple.  To generate your sk_file and pk_file use:
217627
217628          salt-run nacl.keygen sk_file=/etc/salt/pki/master/nacl
217629          # or if you want to work without files.
217630          salt-run nacl.keygen
217631          local:
217632              ----------
217633              pk:
217634                  /kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
217635              sk:
217636                  SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow=
217637
217638       Now with your keypair, you can encrypt data:
217639
217640       You have two option, sealedbox or secretbox.
217641
217642       SecretBox  is  data  encrypted  using  private  key  pk.  Sealedbox  is
217643       encrypted using public key pk.
217644
217645       Recommend using Sealedbox because the one way encryption permits devel‐
217646       opers to encrypt data for source control but  not  decrypt.   Sealedbox
217647       only has one key that is for both encryption and decryption.
217648
217649          salt-run nacl.enc asecretpass pk=/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
217650          tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58=
217651
217652       To decrypt the data:
217653
217654          salt-run nacl.dec data='tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='         sk='SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow='
217655
217656       When  the  keys  are defined in the master config you can use them from
217657       the nacl runner without extra parameters:
217658
217659          # cat /etc/salt/master.d/nacl.conf
217660          nacl.config:
217661              sk_file: /etc/salt/pki/master/nacl
217662              pk: 'cTIqXwnUiD1ulg4kXsbeCE7/NoeKEzd4nLeYcCFpd9k='
217663
217664          salt-run nacl.enc 'asecretpass'
217665          salt-run nacl.dec 'tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='
217666
217667          # a salt developers minion could have pillar data that includes a nacl public key
217668          nacl.config:
217669              pk: '/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0='
217670
217671       The developer can then use a less-secure system to encrypt data.
217672
217673          salt-run nacl.enc apassword
217674
217675       Pillar files can include protected data that the salt master decrypts:
217676
217677          pillarexample:
217678              user: root
217679              password1: {{salt.nacl.dec('DRB7Q6/X5gGSRCTpZyxS6hlbWj0llUA+uaVyvou3vJ4=')|json}}
217680              cert_key: {{salt.nacl.dec_file('/srv/salt/certs/example.com/key.nacl')|json}}
217681              cert_key2: {{salt.nacl.dec_file('salt:///certs/example.com/key.nacl')|json}}
217682
217683       Larger files like certificates can be encrypted with:
217684
217685          salt-run nacl.enc_file /tmp/cert.crt out=/tmp/cert.nacl
217686
217687       salt.runners.nacl.dec(data, **kwargs)
217688              Alias to {box_type}_decrypt
217689
217690              box_type: secretbox, sealedbox(default)
217691
217692       salt.runners.nacl.dec_file(name, out=None, **kwargs)
217693              This is a helper function to decrypt a file and return its  con‐
217694              tents.
217695
217696              You can provide an optional output file using out
217697
217698              name can be a local file or when not using salt-run can be a url
217699              like salt://, https:// etc.
217700
217701              CLI Examples:
217702
217703                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl
217704                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
217705
217706       salt.runners.nacl.enc(data, **kwargs)
217707              Alias to {box_type}_encrypt
217708
217709              box_type: secretbox, sealedbox(default)
217710
217711       salt.runners.nacl.enc_file(name, out=None, **kwargs)
217712              This is a helper function to encrypt a file and return its  con‐
217713              tents.
217714
217715              You can provide an optional output file using out
217716
217717              name can be a local file or when not using salt-run can be a url
217718              like salt://, https:// etc.
217719
217720              CLI Examples:
217721
217722                 salt-run nacl.enc_file name=/tmp/id_rsa
217723                 salt-run nacl.enc_file name=/tmp/id_rsa box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
217724
217725       salt.runners.nacl.keygen(sk_file=None, pk_file=None, **kwargs)
217726              Use libnacl to generate a keypair.
217727
217728              If no sk_file is defined return a keypair.
217729
217730              If only the sk_file is defined pk_file will use  the  same  name
217731              with a postfix .pub.
217732
217733              When  the  sk_file  is already existing, but pk_file is not. The
217734              pk_file will be generated using the sk_file.
217735
217736              CLI Examples:
217737
217738                 salt-run nacl.keygen
217739                 salt-run nacl.keygen sk_file=/etc/salt/pki/master/nacl
217740                 salt-run nacl.keygen sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
217741                 salt-run nacl.keygen
217742
217743       salt.runners.nacl.sealedbox_decrypt(data, **kwargs)
217744              Decrypt data using a secret key that was encrypted using a  pub‐
217745              lic key with nacl.sealedbox_encrypt.
217746
217747              CLI Examples:
217748
217749                 salt-run nacl.sealedbox_decrypt pEXHQM6cuaF7A=
217750                 salt-run nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
217751                 salt-run nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
217752
217753       salt.runners.nacl.sealedbox_encrypt(data, **kwargs)
217754              Encrypt data using a public key generated from nacl.keygen.  The
217755              encryptd data can be decrypted using nacl.sealedbox_decrypt only
217756              with the secret key.
217757
217758              CLI Examples:
217759
217760                 salt-run nacl.sealedbox_encrypt datatoenc
217761
217762       salt.runners.nacl.secretbox_decrypt(data, **kwargs)
217763              Decrypt  data  that  was  encrypted using nacl.secretbox_encrypt
217764              using the secret key that was generated from nacl.keygen.
217765
217766              CLI Examples:
217767
217768                 salt-run nacl.secretbox_decrypt pEXHQM6cuaF7A=
217769                 salt-run nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
217770                 salt-run nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
217771
217772       salt.runners.nacl.secretbox_encrypt(data, **kwargs)
217773              Encrypt data using a secret key generated from nacl.keygen.  The
217774              same   secret  key  can  be  used  to  decrypt  the  data  using
217775              nacl.secretbox_decrypt.
217776
217777              CLI Examples:
217778
217779                 salt-run nacl.secretbox_encrypt datatoenc
217780                 salt-run nacl.secretbox_encrypt datatoenc sk_file=/etc/salt/pki/master/nacl
217781                 salt-run nacl.secretbox_encrypt datatoenc sk='YmFkcGFzcwo='
217782
217783   salt.runners.net
217784   NET Finder
217785       New in version 2017.7.0.
217786
217787
217788       A runner to find network details easily and fast.  It's smart enough to
217789       know what you are looking for.
217790
217791   Configuration
217792       · Minion (proxy) config
217793            To have the complete features, one needs to add the following mine
217794            configuration in the minion (proxy) config file:
217795
217796                mine_functions:
217797                  net.ipaddrs: []
217798                  net.lldp: []
217799                  net.mac: []
217800                  net.arp: []
217801                  net.interfaces: []
217802
217803            Which  instructs  Salt  to  cache  the  data   returned   by   the
217804            NAPALM-functions.   While  they  are not mandatory, the less func‐
217805            tions configured, the less details will be found by the runner.
217806
217807            How often the mines are refreshed, can be specified using:
217808
217809                mine_interval: <X minutes>
217810
217811       · Master config
217812            By default the following options can be configured on the  master.
217813            They are not necessary, but available in case the user has differ‐
217814            ent requirements.
217815
217816            target: *
217817                   From what minions will collect the mine  data.  Default:  *
217818                   (collect from all minions).
217819
217820            expr_form: glob
217821                   Minion matching expression form. Default: glob.
217822
217823            ignore_interfaces
217824                   A  list  of interfaces name to ignore. By default will con‐
217825                   sider all interfaces.
217826
217827            display: True
217828                   Display on the screen or return structured object? Default:
217829                   True (return on the CLI).
217830
217831            outputter: table
217832                   Specify  the  outputter  name  when  displaying on the CLI.
217833                   Default: table.
217834
217835            Configuration example:
217836
217837                runners:
217838                  net.find:
217839                    target: 'edge*'
217840                    expr_form: 'glob'
217841                    ignore_interfaces:
217842                      - lo0
217843                      - em1
217844                      - jsrv
217845                      - fxp0
217846                    outputter: yaml
217847
217848       salt.runners.net.find(addr, best=True, display=True)
217849              Search in all possible entities  (Interfaces,  MAC  tables,  ARP
217850              tables, LLDP neighbors), using the following mine functions:
217851
217852              · net.mac
217853
217854              · net.arp
217855
217856              · net.lldp
217857
217858              · net.ipaddrs
217859
217860              · net.interfaces
217861
217862              This function has the advantage that it knows where to look, but
217863              the output might become  quite  long  as  returns  all  possible
217864              matches.
217865
217866              Optional arguments:
217867
217868              best: True
217869                     Return  only  the  best match with the interfaces IP net‐
217870                     works when the saerching pattern is a valid IP Address or
217871                     Network.
217872
217873              display: True
217874                     Display  on  the  screen  or  return  structured  object?
217875                     Default: True (return on the CLI).
217876
217877              CLI Example:
217878
217879                 $ sudo salt-run net.find 10.10.10.7
217880
217881              Output Example:
217882
217883                 Details for all interfaces that include network 10.10.10.7/32 - only best match returned
217884                 ________________________________________________________________________________________________________________________
217885                 |    Device    | Interface | Interface Description |  UP  | Enabled | Speed [Mbps] |    MAC Address    |  IP Addresses |
217886                 ________________________________________________________________________________________________________________________
217887                 | edge01.flw01 |    irb    |                       | True |   True  |      -1      | 5C:5E:AB:AC:52:B4 | 10.10.10.1/22 |
217888                 ________________________________________________________________________________________________________________________
217889
217890                 ARP Entries for IP 10.10.10.7
217891                 _____________________________________________________________________________
217892                 |    Device    |     Interface     |        MAC        |     IP     |  Age  |
217893                 _____________________________________________________________________________
217894                 | edge01.flw01 | irb.349 [ae0.349] | 2C:60:0C:2A:4C:0A | 10.10.10.7 | 832.0 |
217895                 _____________________________________________________________________________
217896
217897       salt.runners.net.findarp(device=None,     interface=None,     mac=None,
217898       ip=None, display=True)
217899              Search  for  entries  in the ARP tables using the following mine
217900              functions:
217901
217902              · net.arp
217903
217904              Optional arguments:
217905
217906              device Return interface data from a certain device only.
217907
217908              interface
217909                     Return data selecting by interface name.
217910
217911              mac    Search using a specific MAC Address.
217912
217913              ip     Search using a specific IP Address.
217914
217915              display: True
217916                     Display  on  the  screen  or  return  structured  object?
217917                     Default: True, will return on the CLI.
217918
217919              CLI Example:
217920
217921                 $ sudo salt-run net.findarp mac=8C:60:0F:78:EC:41
217922
217923              Output Example:
217924
217925                 ARP Entries for MAC 8C:60:0F:78:EC:41
217926                 ________________________________________________________________________________
217927                 |    Device    |     Interface     |        MAC        |       IP      |  Age  |
217928                 ________________________________________________________________________________
217929                 | edge01.bjm01 | irb.171 [ae0.171] | 8C:60:0F:78:EC:41 | 172.172.17.19 | 956.0 |
217930                 ________________________________________________________________________________
217931
217932       salt.runners.net.findmac(device=None,     mac=None,     interface=None,
217933       vlan=None, display=True)
217934              Search in the MAC Address tables, using the following mine func‐
217935              tions:
217936
217937              · net.mac
217938
217939              Optional arguments:
217940
217941              device Return interface data from a certain device only.
217942
217943              interface
217944                     Return data selecting by interface name.
217945
217946              mac    Search using a specific MAC Address.
217947
217948              vlan   Search using a VLAN ID.
217949
217950              display: True
217951                     Display  on  the  screen  or  return  structured  object?
217952                     Default: True, will return on the CLI.
217953
217954              CLI Example:
217955
217956                 $ sudo salt-run net.findmac mac=8C:60:0F:78:EC:41
217957
217958              Output Example:
217959
217960                 MAC Address(es)
217961                 _____________________________________________________________________________________________
217962                 |    Device    | Interface |        MAC        | VLAN | Static | Active | Moves | Last move |
217963                 _____________________________________________________________________________________________
217964                 | edge01.bjm01 |  ae0.171  | 8C:60:0F:78:EC:41 | 171  | False  |  True  |   0   |    0.0    |
217965                 _____________________________________________________________________________________________
217966
217967       salt.runners.net.interfaces(device=None,  interface=None,   title=None,
217968       pattern=None, ipnet=None, best=True, display=True)
217969              Search for interfaces details in the following mine functions:
217970
217971              · net.interfaces
217972
217973              · net.ipaddrs
217974
217975              Optional arguments:
217976
217977              device Return interface data from a certain device only.
217978
217979              interface
217980                     Return data selecting by interface name.
217981
217982              pattern
217983                     Return interfaces that contain a certain pattern in their
217984                     description.
217985
217986              ipnet  Return interfaces whose IP  networks  associated  include
217987                     this IP network.
217988
217989              best: True
217990                     When ipnet is specified, this argument says if the runner
217991                     should return only the best match (the output  will  con‐
217992                     tain  at  most  one  row). Default: True (return only the
217993                     best match).
217994
217995              display: True
217996                     Display  on  the  screen  or  return  structured  object?
217997                     Default: True (return on the CLI).
217998
217999              title  Display a custom title for the table.
218000
218001              CLI Example:
218002
218003                 $ sudo salt-run net.interfaces interface=vt-0/0/10
218004
218005              Output Example:
218006
218007                 Details for interface xe-0/0/0
218008                 _________________________________________________________________________________________________________________
218009                 |    Device    | Interface | Interface Description |  UP  | Enabled | Speed [Mbps] | MAC Address | IP Addresses |
218010                 _________________________________________________________________________________________________________________
218011                 | edge01.bjm01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
218012                 _________________________________________________________________________________________________________________
218013                 | edge01.flw01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
218014                 _________________________________________________________________________________________________________________
218015                 | edge01.pos01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
218016                 _________________________________________________________________________________________________________________
218017                 | edge01.oua01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
218018                 _________________________________________________________________________________________________________________
218019
218020       salt.runners.net.lldp(device=None,   interface=None,  title=None,  pat‐
218021       tern=None, chassis=None, display=True)
218022              Search in the LLDP neighbors, using  the  following  mine  func‐
218023              tions:
218024
218025              · net.lldp
218026
218027              Optional arguments:
218028
218029              device Return interface data from a certain device only.
218030
218031              interface
218032                     Return data selecting by interface name.
218033
218034              pattern
218035                     Return  LLDP  neighbors that have contain this pattern in
218036                     one of the following fields:
218037
218038                     · Remote Port ID
218039
218040                     · Remote Port Description
218041
218042                     · Remote System Name
218043
218044                     · Remote System Description
218045
218046              chassis
218047                     Search using a specific Chassis ID.
218048
218049              display: True
218050                     Display  on  the  screen  or  return  structured  object?
218051                     Default: True (return on the CLI).
218052
218053              display: True
218054                     Display  on  the  screen  or  return  structured  object?
218055                     Default: True (return on the CLI).
218056
218057              title  Display a custom title for the table.
218058
218059              CLI Example:
218060
218061                 $ sudo salt-run net.lldp pattern=Ethernet1/48
218062
218063              Output Example:
218064
218065                 Pattern "Ethernet1/48" found in one of the following LLDP details
218066                 _________________________________________________________________________________________________________________________________________________________________________________________
218067                 |    Device    | Interface | Parent Interface | Remote Chassis ID | Remote Port ID | Remote Port Description |   Remote System Name   |            Remote System Description            |
218068                 _________________________________________________________________________________________________________________________________________________________________________________________
218069                 | edge01.bjm01 |  xe-2/3/4 |       ae0        | 8C:60:4F:3B:52:19 |                |       Ethernet1/48      | edge05.bjm01.dummy.net |   Cisco NX-OS(tm) n6000, Software (n6000-uk9),  |
218070                 |              |           |                  |                   |                |                         |                        | Version 7.3(0)N7(5), RELEASE SOFTWARE Copyright |
218071                 |              |           |                  |                   |                |                         |                        |  (c) 2002-2012 by Cisco Systems, Inc. Compiled  |
218072                 |              |           |                  |                   |                |                         |                        |                2/17/2016 22:00:00               |
218073                 _________________________________________________________________________________________________________________________________________________________________________________________
218074                 | edge01.flw01 |  xe-1/2/3 |       ae0        | 8C:60:4F:1A:B4:22 |                |       Ethernet1/48      | edge05.flw01.dummy.net |   Cisco NX-OS(tm) n6000, Software (n6000-uk9),  |
218075                 |              |           |                  |                   |                |                         |                        | Version 7.3(0)N7(5), RELEASE SOFTWARE Copyright |
218076                 |              |           |                  |                   |                |                         |                        |  (c) 2002-2012 by Cisco Systems, Inc. Compiled  |
218077                 |              |           |                  |                   |                |                         |                        |                2/17/2016 22:00:00               |
218078                 _________________________________________________________________________________________________________________________________________________________________________________________
218079                 | edge01.oua01 |  xe-0/1/2 |       ae1        | 8C:60:4F:51:A4:22 |                |       Ethernet1/48      | edge05.oua01.dummy.net |   Cisco NX-OS(tm) n6000, Software (n6000-uk9),  |
218080                 |              |           |                  |                   |                |                         |                        | Version 7.3(0)N7(5), RELEASE SOFTWARE Copyright |
218081                 |              |           |                  |                   |                |                         |                        |  (c) 2002-2012 by Cisco Systems, Inc. Compiled  |
218082                 |              |           |                  |                   |                |                         |                        |                2/17/2016 22:00:00               |
218083                 _________________________________________________________________________________________________________________________________________________________________________________________
218084
218085       salt.runners.net.multi_find(*patterns, **kwargs)
218086              Execute multiple search tasks.  This function is  based  on  the
218087              find  function.  Depending on the search items, some information
218088              might overlap.
218089
218090              Optional arguments:
218091
218092              best: True
218093                     Return only the best match with the  interfaces  IP  net‐
218094                     works when the saerching pattern is a valid IP Address or
218095                     Network.
218096
218097              display: True
218098                     Display  on  the  screen  or  return  structured  object?
218099                     Default: True (return on the CLI).
218100
218101              CLI Example:
218102
218103                 $ sudo salt-run net.multi_find Ethernet1/49 xe-0/1/2
218104
218105              Output Example:
218106
218107                 Pattern "Ethernet1/49" found in one of the following LLDP details
218108
218109                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
218110                     |    Device    | Interface | Parent Interface | Remote Chassis ID | Remote Port Description | Remote Port ID |          Remote System Description          |   Remote System Name   |
218111                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
218112                     | edge01.oua04 |  xe-0/1/2 |       ae1        | DE:AD:BE:EF:DE:AD |       Ethernet1/49      |                | Cisco NX-OS(tm) n6000, Software (n6000-uk9) | edge07.oua04.dummy.net |
218113                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
218114
218115                 Details for interface xe-0/1/2
218116
218117                     -----------------------------------------------------------------------------------------------------------------------
218118                     |    Device    | Interface | Interface Description | IP Addresses | Enabled |  UP  |    MAC Address    | Speed [Mbps] |
218119                     -----------------------------------------------------------------------------------------------------------------------
218120                     | edge01.oua04 |  xe-0/1/2 |     ae1 sw01.oua04    |              |   True  | True | BE:EF:DE:AD:BE:EF |    10000     |
218121                     -----------------------------------------------------------------------------------------------------------------------
218122
218123                 LLDP Neighbors for interface xe-0/1/2
218124
218125                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
218126                     |    Device    | Interface | Parent Interface | Remote Chassis ID | Remote Port Description | Remote Port ID |          Remote System Description          |   Remote System Name   |
218127                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
218128                     | edge01.oua04 |  xe-0/1/2 |       ae1        | DE:AD:BE:EF:DE:AD |       Ethernet1/49      |                | Cisco NX-OS(tm) n6000, Software (n6000-uk9) | edge07.oua04.dummy.net |
218129                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
218130
218131   salt.runners.network
218132       Network tools to run from the Master
218133
218134       salt.runners.network.wol(mac, bcast=u'255.255.255.255', destport=9)
218135              Send a "Magic Packet" to wake up a Minion
218136
218137              CLI Example:
218138
218139                 salt-run network.wol 08-00-27-13-69-77
218140                 salt-run network.wol 080027136977 255.255.255.255 7
218141                 salt-run network.wol 08:00:27:13:69:77 255.255.255.255 7
218142
218143       salt.runners.network.wollist(maclist,  bcast=u'255.255.255.255',  dest‐
218144       port=9)
218145              Send a "Magic Packet" to wake up a list of Minions.   This  list
218146              must contain one MAC hardware address per line
218147
218148              CLI Example:
218149
218150                 salt-run network.wollist '/path/to/maclist'
218151                 salt-run network.wollist '/path/to/maclist' 255.255.255.255 7
218152                 salt-run network.wollist '/path/to/maclist' 255.255.255.255 7
218153
218154       salt.runners.network.wolmatch(tgt,                    tgt_type=u'glob',
218155       bcast=u'255.255.255.255', destport=9)
218156              Send a "Magic Packet" to wake up Minions that are matched in the
218157              grains cache
218158
218159              CLI Example:
218160
218161                 salt-run network.wolmatch minion_id
218162                 salt-run network.wolmatch 192.168.0.0/16 tgt_type='ipcidr' bcast=255.255.255.255 destport=7
218163
218164   salt.runners.pagerduty
218165       Runner Module for Firing Events via PagerDuty
218166
218167       New in version 2014.1.0.
218168
218169
218170       configuration
218171              This  module  can be used by specifying the name of a configura‐
218172              tion profile in the master config.
218173
218174              For example:
218175
218176                 my-pagerduty-account:
218177                     pagerduty.api_key: F3Rbyjbve43rfFWf2214
218178                     pagerduty.subdomain: mysubdomain
218179
218180       salt.runners.pagerduty.create_event(service_key=None, description=None,
218181       details=None, incident_key=None, profile=None)
218182              Create an event in PagerDuty. Designed for use in states.
218183
218184              CLI Example:
218185
218186                 salt-run pagerduty.create_event <service_key> <description> <details>         profile=my-pagerduty-account
218187
218188              The following parameters are required:
218189
218190              service_key
218191                     This key can be found by using pagerduty.list_services.
218192
218193              description
218194                     This is a short description of the event.
218195
218196              details
218197                     This can be a more detailed description of the event.
218198
218199              profile
218200                     This  refers  to the configuration profile to use to con‐
218201                     nect to the PagerDuty service.
218202
218203       salt.runners.pagerduty.list_escalation_policies(profile=None,
218204       api_key=None)
218205              This function is an alias of list_policies.
218206                 List escalation policies belonging to this account
218207
218208                 CLI Example:
218209                     salt-run   pagerduty.list_policies   my-pagerduty-account
218210                     salt-run   pagerduty.list_escalation_policies   my-pager‐
218211                     duty-account
218212
218213       salt.runners.pagerduty.list_incidents(profile=None, api_key=None)
218214              List incidents belonging to this account
218215
218216              CLI Example:
218217                 salt-run pagerduty.list_incidents my-pagerduty-account
218218
218219       salt.runners.pagerduty.list_maintenance_windows(profile=None,
218220       api_key=None)
218221              This function is an alias of list_windows.
218222                 List maintenance windows belonging to this account
218223
218224                 CLI Example:
218225                     salt-run   pagerduty.list_windows    my-pagerduty-account
218226                     salt-run   pagerduty.list_maintenance_windows   my-pager‐
218227                     duty-account
218228
218229       salt.runners.pagerduty.list_policies(profile=None, api_key=None)
218230              List escalation policies belonging to this account
218231
218232              CLI Example:
218233                 salt-run     pagerduty.list_policies     my-pagerduty-account
218234                 salt-run     pagerduty.list_escalation_policies     my-pager‐
218235                 duty-account
218236
218237       salt.runners.pagerduty.list_schedules(profile=None, api_key=None)
218238              List schedules belonging to this account
218239
218240              CLI Example:
218241                 salt-run pagerduty.list_schedules my-pagerduty-account
218242
218243       salt.runners.pagerduty.list_services(profile=None, api_key=None)
218244              List services belonging to this account
218245
218246              CLI Example:
218247                 salt-run pagerduty.list_services my-pagerduty-account
218248
218249       salt.runners.pagerduty.list_users(profile=None, api_key=None)
218250              List users belonging to this account
218251
218252              CLI Example:
218253                 salt-run pagerduty.list_users my-pagerduty-account
218254
218255       salt.runners.pagerduty.list_windows(profile=None, api_key=None)
218256              List maintenance windows belonging to this account
218257
218258              CLI Example:
218259                 salt-run pagerduty.list_windows my-pagerduty-account salt-run
218260                 pagerduty.list_maintenance_windows my-pagerduty-account
218261
218262   salt.runners.pillar
218263       Functions to interact with the pillar compiler on the master
218264
218265       salt.runners.pillar.show_pillar(minion=u'*', **kwargs)
218266              Returns  the compiled pillar either of a specific minion or just
218267              the global available pillars. This function assumes that no min‐
218268              ion  has the id *.  Function also accepts pillarenv as attribute
218269              in order to limit to a specific pillar branch of git
218270
218271              CLI Example:
218272
218273              shows minion specific pillar:
218274
218275                 salt-run pillar.show_pillar 'www.example.com'
218276
218277              shows global pillar:
218278
218279                 salt-run pillar.show_pillar
218280
218281              shows global pillar for 'dev' pillar environment: (note that not
218282              specifying  pillarenv  will  merge all pillar environments using
218283              the master config option pillar_source_merging_strategy.)
218284
218285                 salt-run pillar.show_pillar 'pillarenv=dev'
218286
218287              shows global pillar for 'dev' pillar  environment  and  specific
218288              pillarenv = dev:
218289
218290                 salt-run pillar.show_pillar 'saltenv=dev' 'pillarenv=dev'
218291
218292              API Example:
218293
218294                 import salt.config
218295                 import salt.runner
218296                 opts = salt.config.master_config('/etc/salt/master')
218297                 runner = salt.runner.RunnerClient(opts)
218298                 pillar = runner.cmd('pillar.show_pillar', [])
218299                 print(pillar)
218300
218301       salt.runners.pillar.show_top(minion=None, saltenv=u'base')
218302              Returns  the compiled top data for pillar for a specific minion.
218303              If no minion is specified, we use the first minion we find.
218304
218305              CLI Example:
218306
218307                 salt-run pillar.show_top
218308
218309   salt.runners.pkg
218310       Package helper functions using salt.modules.pkg
218311
218312       New in version 2015.8.0.
218313
218314
218315       salt.runners.pkg.list_upgrades(jid,       style=u'group',       output‐
218316       ter=u'nested', ext_source=None)
218317              Show  list  of  available  pkg upgrades using a specified format
218318              style
218319
218320              CLI Example:
218321
218322                 salt-run pkg.list_upgrades jid=20141120114114417719 style=group
218323
218324   salt.runners.queue
218325   General management and processing of queues.
218326       This runner facilitates interacting with various queue backends such as
218327       the included sqlite3 queue or the planned AWS SQS and Redis queues
218328
218329       The  queue  functions  such  as insert, delete, and pop can be used for
218330       typical management of the queue.
218331
218332       The process_queue function pops the requested number of items from  the
218333       queue and creates a Salt Event that can then be processed by a Reactor.
218334       The process_queue function can be called manually, or can be configured
218335       to run on a schedule with the Salt Scheduler or regular system cron. It
218336       is also possible to use the peer system to allow a minion to  call  the
218337       runner.
218338
218339       This  runner,  as  well as the Queues system, is not api stable at this
218340       time.
218341
218342       There are many things that could potentially be done with queues within
218343       Salt.   For the time being the focus will be on queueing infrastructure
218344       actions on specific minions. The queues  generally  will  be  populated
218345       with  minion  IDs.   When  the  process_queue runner function is called
218346       events are created on the Salt Event bus that indicate the queue and  a
218347       list of one or more minion IDs. The reactor is set up to match on event
218348       tags for a specific queue and then take infrastructure actions on those
218349       minion  IDs. These actions might be to delete the minion's key from the
218350       master, use salt-cloud to destroy the vm, or some other custom action.
218351
218352   Queued runners
218353       Using the Salt Queues, references to the commandline arguments of other
218354       runners  can be saved to be processed later.  The queue runners require
218355       a queue backend that can store json data (default: pgjsonb).
218356
218357       Once the queue is setup, the runner_queue will need to be configured.
218358
218359          runner_queue:
218360            queue: runners
218361            backend: pgjsonb
218362
218363       NOTE:
218364          only the queue is required, this defaults to using pgjsonb
218365
218366       Once this is set, then the following can be added to the  scheduler  on
218367       the  master  and  it will run the specified amount of commands per time
218368       period.
218369
218370          schedule:
218371            runner queue:
218372              schedule:
218373                function: queue.process_runner
218374                minutes: 1
218375                kwargs:
218376                  quantity: 2
218377
218378       The above configuration will pop 2 runner jobs off  the  runner  queue,
218379       and  then run them.  And it will do this every minute, unless there are
218380       any jobs that are still running from the last time  the  process_runner
218381       task was executed.
218382
218383       salt.runners.queue.delete(queue, items, backend=u'sqlite')
218384              Delete an item or items from a queue
218385
218386              CLI Example:
218387
218388                 salt-run queue.delete myqueue myitem
218389                 salt-run queue.delete myqueue myitem backend=sqlite
218390                 salt-run queue.delete myqueue "['item1', 'item2', 'item3']"
218391
218392       salt.runners.queue.insert(queue, items, backend=u'sqlite')
218393              Add an item or items to a queue
218394
218395              CLI Example:
218396
218397                 salt-run queue.insert myqueue myitem
218398                 salt-run queue.insert myqueue "['item1', 'item2', 'item3']"
218399                 salt-run queue.insert myqueue myitem backend=sqlite
218400                 salt-run queue.insert myqueue "['item1', 'item2', 'item3']" backend=sqlite
218401
218402       salt.runners.queue.insert_runner(fun,      args=None,      kwargs=None,
218403       queue=None, backend=None)
218404              Insert a reference to a runner into the queue so that it can  be
218405              run later.
218406
218407              fun    The runner function that is going to be run
218408
218409              args   list or comma-seperated string of args to send to fun
218410
218411              kwargs dictionary of keyword arguments to send to fun
218412
218413              queue  queue to insert the runner reference into
218414
218415              backend
218416                     backend that to use for the queue
218417
218418              CLI Example:
218419
218420                 salt-run queue.insert_runner test.stdout_print
218421                 salt-run queue.insert_runner event.send test_insert_runner kwargs='{"data": {"foo": "bar"}}'
218422
218423       salt.runners.queue.list_items(queue, backend=u'sqlite')
218424              List contents of a queue
218425
218426              CLI Example:
218427
218428                 salt-run queue.list_items myqueue
218429                 salt-run queue.list_items myqueue backend=sqlite
218430
218431       salt.runners.queue.list_length(queue, backend=u'sqlite')
218432              Provide the number of items in a queue
218433
218434              CLI Example:
218435
218436                 salt-run queue.list_length myqueue
218437                 salt-run queue.list_length myqueue backend=sqlite
218438
218439       salt.runners.queue.list_queues(backend=u'sqlite')
218440              Return a list of Salt Queues on the backend
218441
218442              CLI Example:
218443
218444                 salt-run queue.list_queues
218445                 salt-run queue.list_queues backend=sqlite
218446
218447       salt.runners.queue.pop(queue,  quantity=1,  backend=u'sqlite',  is_run‐
218448       ner=False)
218449              Pop one or more or all items from a queue
218450
218451              CLI Example:
218452
218453                 salt-run queue.pop myqueue
218454                 salt-run queue.pop myqueue 6
218455                 salt-run queue.pop myqueue all
218456                 salt-run queue.pop myqueue 6 backend=sqlite
218457                 salt-run queue.pop myqueue all backend=sqlite
218458
218459       salt.runners.queue.process_queue(queue, quantity=1,  backend=u'sqlite',
218460       is_runner=False)
218461              Pop  items off a queue and create an event on the Salt event bus
218462              to be processed by a Reactor.
218463
218464              CLI Example:
218465
218466                 salt-run queue.process_queue myqueue
218467                 salt-run queue.process_queue myqueue 6
218468                 salt-run queue.process_queue myqueue all backend=sqlite
218469
218470       salt.runners.queue.process_runner(quantity=1, queue=None, backend=None)
218471              Process queued runners
218472
218473              quantity
218474                     number of runners to process
218475
218476              queue  queue to insert the runner reference into
218477
218478              backend
218479                     backend that to use for the queue
218480
218481              CLI Example:
218482
218483                 salt-run queue.process_runner
218484                 salt-run queue.process_runner 5
218485
218486   salt.runners.reactor
218487       A convenience system to manage reactors
218488
218489       Beginning in the 2017.7 release, the reactor runner requires  that  the
218490       reactor  system  is  running.   This  is  accomplished one of two ways,
218491       either by having reactors configured or by  including  reactor  in  the
218492       engine configuration for the Salt master.
218493
218494
218495
218496          engines:
218497
218498                 · reactor
218499
218500       salt.runners.reactor.add(event, reactors, saltenv=u'base', test=None)
218501              Add a new reactor
218502
218503              CLI Example:
218504
218505                 salt-run reactor.add 'salt/cloud/*/destroyed' reactors='/srv/reactor/destroy/*.sls'
218506
218507       salt.runners.reactor.delete(event, saltenv=u'base', test=None)
218508              Delete a reactor
218509
218510              CLI Example:
218511
218512                 salt-run reactor.delete 'salt/cloud/*/destroyed'
218513
218514       salt.runners.reactor.list_(saltenv=u'base', test=None)
218515              List currently configured reactors
218516
218517              CLI Example:
218518
218519                 salt-run reactor.list
218520
218521   salt.runners.salt
218522       This  runner  makes Salt's execution modules available on the salt mas‐
218523       ter.
218524
218525       New in version 2016.11.0.
218526
218527
218528       Salt's execution modules are normally available on the salt minion. Use
218529       this  runner to call execution modules on the salt master.  Salt execu‐
218530       tion modules are the functions called by the salt command.
218531
218532       Execution modules can be called with salt-run:
218533
218534          salt-run salt.cmd test.ping
218535          # call functions with arguments and keyword arguments
218536          salt-run salt.cmd test.arg 1 2 3 key=value a=1
218537
218538       Execution modules are also available to salt runners:
218539
218540          __salt__['salt.cmd'](fun=fun, args=args, kwargs=kwargs)
218541
218542       salt.runners.salt.cmd(fun, *args, **kwargs)
218543              Changed in version 2018.3.0: Added with_pillar argument
218544
218545
218546              Execute fun with the  given  args  and  kwargs.   Parameter  fun
218547              should be the string name of the execution module to call.
218548
218549              NOTE:
218550                 Execution  modules will be loaded every time this function is
218551                 called.  Additionally, keep in mind that since  runners  exe‐
218552                 cute  on the master, custom execution modules will need to be
218553                 synced to the master  using  salt-run  saltutil.sync_modules,
218554                 otherwise they will not be available.
218555
218556              with_pillar
218557                     False  If True, pillar data will be compiled for the mas‐
218558                     ter
218559
218560                     NOTE:
218561                        To target the master in the pillar top file,  keep  in
218562                        mind  that  the  default  id  for the master is <host‐
218563                        name>_master. This can be overridden by setting an  id
218564                        configuration parameter in the master config file.
218565
218566              CLI example:
218567
218568                 salt-run salt.cmd test.ping
218569                 # call functions with arguments and keyword arguments
218570                 salt-run salt.cmd test.arg 1 2 3 a=1
218571                 salt-run salt.cmd mymod.myfunc with_pillar=True
218572
218573       salt.runners.salt.execute(tgt,      fun,      arg=(),     timeout=None,
218574       tgt_type=u'glob', ret=u'', jid=u'', kwarg=None, **kwargs)
218575              New in version 2017.7.0.
218576
218577
218578              Execute fun on all minions matched by tgt and tgt_type.  Parame‐
218579              ter fun is the name of execution module function to call.
218580
218581              This  function should mainly be used as a helper for runner mod‐
218582              ules, in order to  avoid  redundant  code.   For  example,  when
218583              inside a runner one needs to execute a certain function on arbi‐
218584              trary groups of minions, only has to:
218585
218586                 ret1 = __salt__['salt.execute']('*', 'mod.fun')
218587                 ret2 = __salt__['salt.execute']('my_nodegroup', 'mod2.fun2', tgt_type='nodegroup')
218588
218589              It can also be used to schedule jobs directly on the master, for
218590              example:
218591
218592                 schedule:
218593                     collect_bgp_stats:
218594                         function: salt.execute
218595                         args:
218596                             - edge-routers
218597                             - bgp.neighbors
218598                         kwargs:
218599                             tgt_type: nodegroup
218600                         days: 1
218601                         returner: redis
218602
218603   salt.runners.saltutil
218604       The Saltutil runner is used to sync custom types to the Master. See the
218605       saltutil module for documentation on managing updates to minions.
218606
218607       New in version 2016.3.0.
218608
218609
218610       salt.runners.saltutil.sync_all(saltenv=u'base',  extmod_whitelist=None,
218611       extmod_blacklist=None)
218612              Sync all custom types
218613
218614              saltenv
218615                     base  The  fileserver  environment from which to sync. To
218616                     sync from more than one environment, pass  a  comma-sepa‐
218617                     rated list.
218618
218619              extmod_whitelist
218620                     None dictionary of modules to sync based on type
218621
218622              extmod_blacklist
218623                     None dictionary of modules to blacklist based on type
218624
218625              CLI Example:
218626
218627                 salt-run saltutil.sync_all
218628                 salt-run saltutil.sync_all extmod_whitelist={'runners': ['custom_runner'], 'grains': []}
218629
218630       salt.runners.saltutil.sync_cache(saltenv=u'base',
218631       extmod_whitelist=None, extmod_blacklist=None)
218632              New in version 2017.7.0.
218633
218634
218635              Sync cache modules from salt://_cache to the master
218636
218637              saltenv
218638                     base The fileserver environment from which  to  sync.  To
218639                     sync  from  more than one environment, pass a comma-sepa‐
218640                     rated list.
218641
218642              extmod_whitelist
218643                     None comma-seperated list of modules to sync
218644
218645              extmod_blacklist
218646                     None comma-seperated list of modules to  blacklist  based
218647                     on type
218648
218649              CLI Example:
218650
218651                 salt-run saltutil.sync_cache
218652
218653       salt.runners.saltutil.sync_clouds(saltenv=u'base',
218654       extmod_whitelist=None, extmod_blacklist=None)
218655              New in version 2017.7.0.
218656
218657
218658              Sync cloud modules from salt://_clouds to the master
218659
218660              saltenv
218661                     base The fileserver environment from which  to  sync.  To
218662                     sync  from  more than one environment, pass a comma-sepa‐
218663                     rated list.
218664
218665              extmod_whitelist
218666                     None comma-seperated list of modules to sync
218667
218668              extmod_blacklist
218669                     None comma-seperated list of modules to  blacklist  based
218670                     on type
218671
218672              CLI Example:
218673
218674                 salt-run saltutil.sync_clouds
218675
218676       salt.runners.saltutil.sync_eauth_tokens(saltenv=u'base',
218677       extmod_whitelist=None, extmod_blacklist=None)
218678              New in version 2018.3.0.
218679
218680
218681              Sync eauth token modules from salt://_tokens to the master
218682
218683              saltenv
218684                     base The fileserver environment from which  to  sync.  To
218685                     sync  from  more than one environment, pass a comma-sepa‐
218686                     rated list.
218687
218688              extmod_whitelist
218689                     None comma-seperated list of modules to sync
218690
218691              extmod_blacklist
218692                     None comma-seperated list of modules to  blacklist  based
218693                     on type
218694
218695              CLI Example:
218696
218697                 salt-run saltutil.sync_eauth_tokens
218698
218699       salt.runners.saltutil.sync_engines(saltenv=u'base',
218700       extmod_whitelist=None, extmod_blacklist=None)
218701              Sync engines from salt://_engines to the master
218702
218703              saltenv
218704                     base The fileserver environment from which  to  sync.  To
218705                     sync  from  more than one environment, pass a comma-sepa‐
218706                     rated list.
218707
218708              extmod_whitelist
218709                     None comma-seperated list of modules to sync
218710
218711              extmod_blacklist
218712                     None comma-seperated list of modules to  blacklist  based
218713                     on type
218714
218715              CLI Example:
218716
218717                 salt-run saltutil.sync_engines
218718
218719       salt.runners.saltutil.sync_executors(saltenv=u'base',
218720       extmod_whitelist=None, extmod_blacklist=None)
218721              New in version 3000.
218722
218723
218724              Sync executor modules from salt://_executors to the master
218725
218726              saltenv
218727                     base The fileserver environment from which  to  sync.  To
218728                     sync  from  more than one environment, pass a comma-sepa‐
218729                     rated list.
218730
218731              extmod_whitelist
218732                     None comma-seperated list of modules to sync
218733
218734              extmod_blacklist
218735                     None comma-seperated list of modules to  blacklist  based
218736                     on type
218737
218738              CLI Example:
218739
218740                 salt-run saltutil.sync_executors
218741
218742       salt.runners.saltutil.sync_fileserver(saltenv=u'base',
218743       extmod_whitelist=None, extmod_blacklist=None)
218744              New in version 2018.3.0.
218745
218746
218747              Sync fileserver modules from salt://_fileserver to the master
218748
218749              saltenv
218750                     base The fileserver environment from which  to  sync.  To
218751                     sync  from  more than one environment, pass a comma-sepa‐
218752                     rated list.
218753
218754              extmod_whitelist
218755                     None comma-seperated list of modules to sync
218756
218757              extmod_blacklist
218758                     None comma-seperated list of modules to  blacklist  based
218759                     on type
218760
218761              CLI Example:
218762
218763                 salt-run saltutil.sync_fileserver
218764
218765       salt.runners.saltutil.sync_grains(saltenv=u'base',
218766       extmod_whitelist=None, extmod_blacklist=None)
218767              Sync grains modules from salt://_grains to the master
218768
218769              saltenv
218770                     base The fileserver environment from which  to  sync.  To
218771                     sync  from  more than one environment, pass a comma-sepa‐
218772                     rated list.
218773
218774              extmod_whitelist
218775                     None comma-seperated list of modules to sync
218776
218777              extmod_blacklist
218778                     None comma-seperated list of modules to  blacklist  based
218779                     on type
218780
218781              CLI Example:
218782
218783                 salt-run saltutil.sync_grains
218784
218785       salt.runners.saltutil.sync_modules(saltenv=u'base',
218786       extmod_whitelist=None, extmod_blacklist=None)
218787              Sync execution modules from salt://_modules to the master
218788
218789              saltenv
218790                     base The fileserver environment from which  to  sync.  To
218791                     sync  from  more than one environment, pass a comma-sepa‐
218792                     rated list.
218793
218794              extmod_whitelist
218795                     None comma-seperated list of modules to sync
218796
218797              extmod_blacklist
218798                     None comma-seperated list of modules to  blacklist  based
218799                     on type
218800
218801              CLI Example:
218802
218803                 salt-run saltutil.sync_modules
218804
218805       salt.runners.saltutil.sync_output(saltenv=u'base',
218806       extmod_whitelist=None, extmod_blacklist=None)
218807              Sync output modules from salt://_output to the master
218808
218809              saltenv
218810                     base The fileserver environment from which  to  sync.  To
218811                     sync  from  more than one environment, pass a comma-sepa‐
218812                     rated list.
218813
218814              extmod_whitelist
218815                     None comma-seperated list of modules to sync
218816
218817              extmod_blacklist
218818                     None comma-seperated list of modules to  blacklist  based
218819                     on type
218820
218821              CLI Example:
218822
218823                 salt-run saltutil.sync_output
218824
218825       salt.runners.saltutil.sync_pillar(saltenv=u'base',
218826       extmod_whitelist=None, extmod_blacklist=None)
218827              Sync pillar modules from salt://_pillar to the master
218828
218829              saltenv
218830                     base The fileserver environment from which  to  sync.  To
218831                     sync  from  more than one environment, pass a comma-sepa‐
218832                     rated list.
218833
218834              extmod_whitelist
218835                     None comma-seperated list of modules to sync
218836
218837              extmod_blacklist
218838                     None comma-seperated list of modules to  blacklist  based
218839                     on type
218840
218841              CLI Example:
218842
218843                 salt-run saltutil.sync_pillar
218844
218845       salt.runners.saltutil.sync_proxymodules(saltenv=u'base',
218846       extmod_whitelist=None, extmod_blacklist=None)
218847              Sync proxy modules from salt://_proxy to the master
218848
218849              saltenv
218850                     base The fileserver environment from which  to  sync.  To
218851                     sync  from  more than one environment, pass a comma-sepa‐
218852                     rated list.
218853
218854              extmod_whitelist
218855                     None comma-seperated list of modules to sync
218856
218857              extmod_blacklist
218858                     None comma-seperated list of modules to  blacklist  based
218859                     on type
218860
218861              CLI Example:
218862
218863                 salt-run saltutil.sync_proxymodules
218864
218865       salt.runners.saltutil.sync_queues(saltenv=u'base',
218866       extmod_whitelist=None, extmod_blacklist=None)
218867              Sync queue modules from salt://_queues to the master
218868
218869              saltenv
218870                     base The fileserver environment from which  to  sync.  To
218871                     sync  from  more than one environment, pass a comma-sepa‐
218872                     rated list.
218873
218874              extmod_whitelist
218875                     None comma-seperated list of modules to sync
218876
218877              extmod_blacklist
218878                     None comma-seperated list of modules to  blacklist  based
218879                     on type
218880
218881              CLI Example:
218882
218883                 salt-run saltutil.sync_queues
218884
218885       salt.runners.saltutil.sync_renderers(saltenv=u'base',
218886       extmod_whitelist=None, extmod_blacklist=None)
218887              Sync renderer modules from from salt://_renderers to the master
218888
218889              saltenv
218890                     base The fileserver environment from which  to  sync.  To
218891                     sync  from  more than one environment, pass a comma-sepa‐
218892                     rated list.
218893
218894              extmod_whitelist
218895                     None comma-seperated list of modules to sync
218896
218897              extmod_blacklist
218898                     None comma-seperated list of modules to  blacklist  based
218899                     on type
218900
218901              CLI Example:
218902
218903                 salt-run saltutil.sync_renderers
218904
218905       salt.runners.saltutil.sync_returners(saltenv=u'base',
218906       extmod_whitelist=None, extmod_blacklist=None)
218907              Sync returner modules from salt://_returners to the master
218908
218909              saltenv
218910                     base The fileserver environment from which  to  sync.  To
218911                     sync  from  more than one environment, pass a comma-sepa‐
218912                     rated list.
218913
218914              extmod_whitelist
218915                     None comma-seperated list of modules to sync
218916
218917              extmod_blacklist
218918                     None comma-seperated list of modules to  blacklist  based
218919                     on type
218920
218921              CLI Example:
218922
218923                 salt-run saltutil.sync_returners
218924
218925       salt.runners.saltutil.sync_roster(saltenv=u'base',
218926       extmod_whitelist=None, extmod_blacklist=None)
218927              New in version 2017.7.0.
218928
218929
218930              Sync roster modules from salt://_roster to the master
218931
218932              saltenv
218933                     base The fileserver environment from which  to  sync.  To
218934                     sync  from  more than one environment, pass a comma-sepa‐
218935                     rated list.
218936
218937              extmod_whitelist
218938                     None comma-seperated list of modules to sync
218939
218940              extmod_blacklist
218941                     None comma-seperated list of modules to  blacklist  based
218942                     on type
218943
218944              CLI Example:
218945
218946                 salt-run saltutil.sync_roster
218947
218948       salt.runners.saltutil.sync_runners(saltenv=u'base',
218949       extmod_whitelist=None, extmod_blacklist=None)
218950              Sync runners from salt://_runners to the master
218951
218952              saltenv
218953                     base The fileserver environment from which  to  sync.  To
218954                     sync  from  more than one environment, pass a comma-sepa‐
218955                     rated list.
218956
218957              extmod_whitelist
218958                     None comma-seperated list of modules to sync
218959
218960              extmod_blacklist
218961                     None comma-seperated list of modules to  blacklist  based
218962                     on type
218963
218964              CLI Example:
218965
218966                 salt-run saltutil.sync_runners
218967
218968       salt.runners.saltutil.sync_sdb(saltenv=u'base',  extmod_whitelist=None,
218969       extmod_blacklist=None)
218970              New in version 2017.7.0.
218971
218972
218973              Sync sdb modules from salt://_sdb to the master
218974
218975              saltenv
218976                     base The fileserver environment from which  to  sync.  To
218977                     sync  from  more than one environment, pass a comma-sepa‐
218978                     rated list.
218979
218980              extmod_whitelist
218981                     None comma-seperated list of modules to sync
218982
218983              extmod_blacklist
218984                     None comma-seperated list of modules to  blacklist  based
218985                     on type
218986
218987              CLI Example:
218988
218989                 salt-run saltutil.sync_sdb
218990
218991       salt.runners.saltutil.sync_serializers(saltenv=u'base',
218992       extmod_whitelist=None, extmod_blacklist=None)
218993              New in version 2019.2.0.
218994
218995
218996              Sync serializer modules from salt://_serializers to the master
218997
218998              saltenv
218999                     base The fileserver environment from which  to  sync.  To
219000                     sync  from  more than one environment, pass a comma-sepa‐
219001                     rated list.
219002
219003              extmod_whitelist
219004                     None comma-seperated list of modules to sync
219005
219006              extmod_blacklist
219007                     None comma-seperated list of modules to  blacklist  based
219008                     on type
219009
219010              CLI Example:
219011
219012                 salt-run saltutil.sync_utils
219013
219014       salt.runners.saltutil.sync_states(saltenv=u'base',
219015       extmod_whitelist=None, extmod_blacklist=None)
219016              Sync state modules from salt://_states to the master
219017
219018              saltenv
219019                     base The fileserver environment from which  to  sync.  To
219020                     sync  from  more than one environment, pass a comma-sepa‐
219021                     rated list.
219022
219023              extmod_whitelist
219024                     None comma-seperated list of modules to sync
219025
219026              extmod_blacklist
219027                     None comma-seperated list of modules to  blacklist  based
219028                     on type
219029
219030              CLI Example:
219031
219032                 salt-run saltutil.sync_states
219033
219034       salt.runners.saltutil.sync_thorium(saltenv=u'base',
219035       extmod_whitelist=None, extmod_blacklist=None)
219036              New in version 2018.3.0.
219037
219038
219039              Sync Thorium from salt://_thorium to the master
219040
219041              saltenv: base
219042                     The fileserver environment from which to  sync.  To  sync
219043                     from  more  than  one environment, pass a comma-separated
219044                     list.
219045
219046              extmod_whitelist
219047                     comma-seperated list of modules to sync
219048
219049              extmod_blacklist
219050                     comma-seperated list of modules  to  blacklist  based  on
219051                     type
219052
219053              CLI Example:
219054
219055                 salt-run saltutil.sync_thorium
219056
219057       salt.runners.saltutil.sync_tops(saltenv=u'base', extmod_whitelist=None,
219058       extmod_blacklist=None)
219059              New in version 2016.3.7,2016.11.4,2017.7.0.
219060
219061
219062              Sync master_tops modules from salt://_tops to the master
219063
219064              saltenv
219065                     base The fileserver environment from which  to  sync.  To
219066                     sync  from  more than one environment, pass a comma-sepa‐
219067                     rated list.
219068
219069              CLI Example:
219070
219071                 salt-run saltutil.sync_tops
219072
219073       salt.runners.saltutil.sync_utils(saltenv=u'base',
219074       extmod_whitelist=None, extmod_blacklist=None)
219075              New in version 2016.11.0.
219076
219077
219078              Sync utils modules from salt://_utils to the master
219079
219080              saltenv
219081                     base  The  fileserver  environment from which to sync. To
219082                     sync from more than one environment, pass  a  comma-sepa‐
219083                     rated list.
219084
219085              extmod_whitelist
219086                     None comma-seperated list of modules to sync
219087
219088              extmod_blacklist
219089                     None  comma-seperated  list of modules to blacklist based
219090                     on type
219091
219092              CLI Example:
219093
219094                 salt-run saltutil.sync_utils
219095
219096       salt.runners.saltutil.sync_wheel(saltenv=u'base',
219097       extmod_whitelist=None, extmod_blacklist=None)
219098              Sync wheel modules from salt://_wheel to the master
219099
219100              saltenv
219101                     base  The  fileserver  environment from which to sync. To
219102                     sync from more than one environment, pass  a  comma-sepa‐
219103                     rated list.
219104
219105              extmod_whitelist
219106                     None comma-seperated list of modules to sync
219107
219108              extmod_blacklist
219109                     None  comma-seperated  list of modules to blacklist based
219110                     on type
219111
219112              CLI Example:
219113
219114                 salt-run saltutil.sync_wheel
219115
219116   salt.runners.sdb
219117       Runner for setting and querying data via the sdb API on the master
219118
219119       salt.runners.sdb.delete(uri)
219120              Delete a value from a db, using a uri in the form of sdb://<pro‐
219121              file>/<key>.   If the uri provided does not start with sdb:// or
219122              the value is not successfully deleted, return False.
219123
219124              CLI Example:
219125
219126                 salt-run sdb.delete sdb://mymemcached/foo
219127
219128       salt.runners.sdb.get(uri)
219129              Get a value from a db, using a uri in the  form  of  sdb://<pro‐
219130              file>/<key>.  If  the  uri  provided does not start with sdb://,
219131              then it will be returned as-is.
219132
219133              CLI Example:
219134
219135                 salt-run sdb.get sdb://mymemcached/foo
219136
219137       salt.runners.sdb.get_or_set_hash(uri,   length=8,    chars=u'abcdefghi‐
219138       jklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)')
219139              Perform a one-time generation of a hash and write it to sdb.  If
219140              that value has already been set return the value instead.
219141
219142              This is useful for generating passwords or keys  that  are  spe‐
219143              cific  to multiple minions that need to be stored somewhere cen‐
219144              trally.
219145
219146              CLI Example:
219147
219148                 salt-run sdb.get_or_set_hash 'SECRET_KEY' 50
219149
219150              WARNING:
219151                 This function could return strings which may contain  charac‐
219152                 ters  which  are  reserved  as directives by the YAML parser,
219153                 such as strings beginning with %. To avoid issues when  using
219154                 the  output  of  this  function  in  an  SLS  file containing
219155                 YAML+Jinja, surround the call with single quotes.
219156
219157       salt.runners.sdb.set_(uri, value)
219158              Set a value in a db, using a uri  in  the  form  of  sdb://<pro‐
219159              file>/<key>.   If the uri provided does not start with sdb:// or
219160              the value is not successfully set, return False.
219161
219162              CLI Example:
219163
219164                 salt-run sdb.set sdb://mymemcached/foo bar
219165
219166   salt.runners.smartos_vmadm
219167       Runner for SmartOS minions control vmadm
219168
219169       salt.runners.smartos_vmadm.get(search, one=True)
219170              Return information for vms
219171
219172              search string filter vms, see the execution module.
219173
219174              one    boolean return only one vm
219175
219176              NOTE:
219177                 If the search parameter does not contain an equal (=)  symbol
219178                 it  will  be  assumed it will be tried as uuid, hostname, and
219179                 alias.
219180
219181              CLI Example:
219182
219183                 salt-run vmadm.get 91244bba-1146-e4ec-c07e-e825e0223aa9
219184                 salt-run vmadm.get search='alias=saskia'
219185
219186       salt.runners.smartos_vmadm.is_running(search)
219187              Return true if vm is running
219188
219189              search string filter vms, see the execution module.
219190
219191              NOTE:
219192                 If the search parameter does not contain an equal (=)  symbol
219193                 it  will  be  assumed it will be tried as uuid, hostname, and
219194                 alias.
219195
219196              NOTE:
219197                 If multiple vms are matched, the result will be true  of  ALL
219198                 vms are running
219199
219200              CLI Example:
219201
219202                 salt-run vmadm.is_running 91244bba-1146-e4ec-c07e-e825e0223aa9
219203                 salt-run vmadm.is_running search='alias=julia'
219204
219205       salt.runners.smartos_vmadm.list_vms(search=None, verbose=False)
219206              List all vms
219207
219208              search string filter vms, see the execution module
219209
219210              verbose
219211                     boolean print additional information about the vm
219212
219213              CLI Example:
219214
219215                 salt-run vmadm.list
219216                 salt-run vmadm.list search='type=KVM'
219217                 salt-run vmadm.list verbose=True
219218
219219       salt.runners.smartos_vmadm.nodes(verbose=False)
219220              List all compute nodes
219221
219222              verbose
219223                     boolean  print additional information about the node e.g.
219224                     platform version, hvm capable, ...
219225
219226              CLI Example:
219227
219228                 salt-run vmadm.nodes
219229                 salt-run vmadm.nodes verbose=True
219230
219231       salt.runners.smartos_vmadm.reboot(search, one=True, force=False)
219232              Reboot one or more vms
219233
219234              search string filter vms, see the execution module.
219235
219236              one    boolean reboot only one vm
219237
219238              force  boolean force reboot, faster but no graceful shutdown
219239
219240              NOTE:
219241                 If the search parameter does not contain an equal (=)  symbol
219242                 it  will  be  assumed it will be tried as uuid, hostname, and
219243                 alias.
219244
219245              CLI Example:
219246
219247                 salt-run vmadm.reboot 91244bba-1146-e4ec-c07e-e825e0223aa9
219248                 salt-run vmadm.reboot search='alias=marije'
219249                 salt-run vmadm.reboot search='type=KVM' one=False
219250
219251       salt.runners.smartos_vmadm.start(search, one=True)
219252              Start one or more vms
219253
219254              search string filter vms, see the execution module.
219255
219256              one    boolean start only one vm
219257
219258              NOTE:
219259                 If the search parameter does not contain an equal (=)  symbol
219260                 it  will  be  assumed it will be tried as uuid, hostname, and
219261                 alias.
219262
219263              CLI Example:
219264
219265                 salt-run vmadm.start 91244bba-1146-e4ec-c07e-e825e0223aa9
219266                 salt-run vmadm.start search='alias=jiska'
219267                 salt-run vmadm.start search='type=KVM' one=False
219268
219269       salt.runners.smartos_vmadm.stop(search, one=True)
219270              Stop one or more vms
219271
219272              search string filter vms, see the execution module.
219273
219274              one    boolean stop only one vm
219275
219276              NOTE:
219277                 If the search parameter does not contain an equal (=)  symbol
219278                 it  will  be  assumed it will be tried as uuid, hostname, and
219279                 alias.
219280
219281              CLI Example:
219282
219283                 salt-run vmadm.stop 91244bba-1146-e4ec-c07e-e825e0223aa9
219284                 salt-run vmadm.stop search='alias=jody'
219285                 salt-run vmadm.stop search='type=KVM' one=False
219286
219287   salt.runners.spacewalk
219288   Spacewalk Runner
219289       New in version 2016.3.0.
219290
219291
219292       Runner to interact with Spacewalk using Spacewalk API
219293
219294       codeauthor
219295              Nitin   Madhok   <nmadhok@clemson.edu>,   Joachim   Werner    <‐
219296              joe@suse.com>, Benedikt Werner <1benediktwerner@gmail.com>
219297
219298       maintainer
219299              Benedikt Werner <1benediktwerner@gmail.com>
219300
219301       To  use this runner, set up the Spacewalk URL, username and password in
219302       the  master  configuration  at   /etc/salt/master   or   /etc/salt/mas‐
219303       ter.d/spacewalk.conf:
219304
219305          spacewalk:
219306            spacewalk01.domain.com:
219307              username: 'testuser'
219308              password: 'verybadpass'
219309            spacewalk02.domain.com:
219310              username: 'testuser'
219311              password: 'verybadpass'
219312
219313       NOTE:
219314          Optionally, protocol can be specified if the spacewalk server is not
219315          using the defaults. Default is protocol: https.
219316
219317       salt.runners.spacewalk.addGroupsToKey(server, activation_key, groups)
219318              Add server groups to a activation key
219319
219320              CLI Example:
219321
219322                 salt-run spacewalk.addGroupsToKey spacewalk01.domain.com 1-my-key '[group1, group2]'
219323
219324       salt.runners.spacewalk.api(server, command, *args, **kwargs)
219325              Call the Spacewalk xmlrpc api.
219326
219327              CLI Example:
219328
219329                 salt-run spacewalk.api spacewalk01.domain.com systemgroup.create MyGroup Description
219330                 salt-run spacewalk.api spacewalk01.domain.com systemgroup.create arguments='["MyGroup", "Description"]'
219331
219332              State Example:
219333
219334                 create_group:
219335                   salt.runner:
219336                     - name: spacewalk.api
219337                     - server: spacewalk01.domain.com
219338                     - command: systemgroup.create
219339                     - arguments:
219340                       - MyGroup
219341                       - Description
219342
219343       salt.runners.spacewalk.deleteAllActivationKeys(server)
219344              Delete all activation keys from Spacewalk
219345
219346              CLI Example:
219347
219348                 salt-run spacewalk.deleteAllActivationKeys spacewalk01.domain.com
219349
219350       salt.runners.spacewalk.deleteAllGroups(server)
219351              Delete all server groups from Spacewalk
219352
219353       salt.runners.spacewalk.deleteAllSystems(server)
219354              Delete all systems from Spacewalk
219355
219356              CLI Example:
219357
219358                 salt-run spacewalk.deleteAllSystems spacewalk01.domain.com
219359
219360       salt.runners.spacewalk.unregister(name, server_url)
219361              Unregister specified server from Spacewalk
219362
219363              CLI Example:
219364
219365                 salt-run spacewalk.unregister my-test-vm spacewalk01.domain.com
219366
219367   salt.runners.ssh
219368       A Runner module interface on top of the salt-ssh Python API.
219369
219370       This allows for programmatic use from salt-api,  the  Reactor,  Orches‐
219371       trate, etc.
219372
219373       salt.runners.ssh.cmd(tgt,  fun, arg=(), timeout=None, tgt_type=u'glob',
219374       kwarg=None)
219375              New in version 2015.5.0.
219376
219377
219378              Changed in version 2017.7.0: The  expr_form  argument  has  been
219379              renamed to tgt_type, earlier releases must use expr_form.
219380
219381
219382              Execute  a  single command via the salt-ssh subsystem and return
219383              all routines at once
219384
219385              A wrapper around the SSHClient.cmd method.
219386
219387   salt.runners.state
219388       Execute orchestration functions
219389
219390       salt.runners.state.event(tagmatch=u'*',     count=-1,      quiet=False,
219391       sock_dir=None, pretty=False, node=u'master')
219392              Watch Salt's event bus and block until the given tag is matched
219393
219394              New in version 2014.7.0.
219395
219396
219397              Changed  in  version 2019.2.0: tagmatch can now be either a glob
219398              or regular expression.
219399
219400
219401              This is useful for utilizing Salt's event bus from shell scripts
219402              or for taking simple actions directly from the CLI.
219403
219404              Enable debug logging to see ignored events.
219405
219406              Parameters
219407
219408                     · tagmatch -- the event is written to stdout for each tag
219409                       that matches this glob or regular expression.
219410
219411                     · count -- this number is decremented for each event that
219412                       matches  the tagmatch parameter; pass -1 to listen for‐
219413                       ever.
219414
219415                     · quiet -- do not print to stdout; just block
219416
219417                     · sock_dir -- path to  the  Salt  master's  event  socket
219418                       file.
219419
219420                     · pretty -- Output the JSON all on a single line if False
219421                       (useful for shell tools); pretty-print the JSON  output
219422                       if True.
219423
219424                     · node -- Watch the minion-side or master-side event bus.
219425
219426              CLI Examples:
219427
219428                 # Reboot a minion and run highstate when it comes back online
219429                 salt 'jerry' system.reboot && \\
219430                     salt-run state.event 'salt/minion/jerry/start' count=1 quiet=True && \\
219431                     salt 'jerry' state.highstate
219432
219433                 # Reboot multiple minions and run highstate when all are back online
219434                 salt -L 'kevin,stewart,dave' system.reboot && \\
219435                     salt-run state.event 'salt/minion/*/start' count=3 quiet=True && \\
219436                     salt -L 'kevin,stewart,dave' state.highstate
219437
219438                 # Watch the event bus forever in a shell while-loop.
219439                 salt-run state.event | while read -r tag data; do
219440                     echo $tag
219441                     echo $data | jq --color-output .
219442                 done
219443
219444              SEE ALSO:
219445                 See
219446                 https://github.com/saltstack/salt/blob/master/tests/eventlisten.sh
219447                 for an example of usage within a shell script.
219448
219449       salt.runners.state.orchestrate(mods,     saltenv=u'base',    test=None,
219450       exclude=None, pillar=None, pillarenv=None, pillar_enc=None,  orchestra‐
219451       tion_jid=None)
219452              New in version 0.17.0.
219453
219454
219455              Execute  a state run from the master, used as a powerful orches‐
219456              tration system.
219457
219458              SEE ALSO:
219459                 More Orchestrate documentation
219460
219461                 · Full Orchestrate Tutorial
219462
219463                 · Docs for the master-side state module
219464
219465              CLI Examples:
219466
219467                 salt-run state.orchestrate webserver
219468                 salt-run state.orchestrate webserver saltenv=dev test=True
219469                 salt-run state.orchestrate webserver saltenv=dev pillarenv=aws
219470
219471              Changed in version 2014.1.1: Runner renamed  from  state.sls  to
219472              state.orchestrate
219473
219474
219475              Changed in version 2014.7.0: Runner uses the pillar variable
219476
219477
219478              Changed  in version develop: Runner uses the pillar_enc variable
219479              that allows renderers to render the pillar.  This is usable when
219480              supplying  the  contents  of a file as pillar, and the file con‐
219481              tains gpg-encrypted entries.
219482
219483
219484              SEE ALSO:
219485                 GPG renderer documentation
219486
219487              CLI Examples:
219488
219489                 salt-run state.orchestrate webserver pillar_enc=gpg pillar="$(cat somefile.json)"
219490
219491       salt.runners.state.orchestrate_high(data, test=None, queue=False,  pil‐
219492       lar=None, **kwargs)
219493              Execute a single state orchestration routine
219494
219495              New in version 2015.5.0.
219496
219497
219498              CLI Example:
219499
219500                 salt-run state.orchestrate_high '{
219501                     stage_one:
219502                         {salt.state: [{tgt: "db*"}, {sls: postgres_setup}]},
219503                     stage_two:
219504                         {salt.state: [{tgt: "web*"}, {sls: apache_setup}, {
219505                             require: [{salt: stage_one}],
219506                         }]},
219507                     }'
219508
219509       salt.runners.state.orchestrate_show_sls(mods,          saltenv=u'base',
219510       test=None, queue=False, pillar=None, pillarenv=None, pillar_enc=None)
219511              Display the state data from a  specific  sls,  or  list  of  sls
219512              files, after being render using the master minion.
219513
219514              Note,  the  master minion adds a "_master" suffix to it's minion
219515              id.
219516
219517              SEE ALSO:
219518                 The state.show_sls module function
219519
219520              CLI Example:
219521                 salt-run  state.orch_show_sls   my-orch-formula.my-orch-state
219522                 'pillar={ nodegroup: ng1 }'
219523
219524       salt.runners.state.orchestrate_single(fun,       name,       test=None,
219525       queue=False, pillar=None, **kwargs)
219526              Execute a single state orchestration routine
219527
219528              New in version 2015.5.0.
219529
219530
219531              CLI Example:
219532
219533                 salt-run state.orchestrate_single fun=salt.wheel name=key.list_all
219534
219535       salt.runners.state.pause(jid, state_id=None, duration=None)
219536              Set up a state id pause, this instructs a running state to pause
219537              at  a  given state id. This needs to pass in the jid of the run‐
219538              ning state and can optionally pass in a duration in seconds.
219539
219540       salt.runners.state.resume(jid, state_id=None)
219541              Remove a pause from a jid, allowing it to continue
219542
219543       salt.runners.state.rm_pause(jid, state_id=None)
219544              This function is an alias of resume.
219545                 Remove a pause from a jid, allowing it to continue
219546
219547       salt.runners.state.set_pause(jid, state_id=None, duration=None)
219548              This function is an alias of pause.
219549                 Set up a state id pause, this instructs a  running  state  to
219550                 pause  at  a given state id. This needs to pass in the jid of
219551                 the running state and can optionally pass in  a  duration  in
219552                 seconds.
219553
219554       salt.runners.state.soft_kill(jid, state_id=None)
219555              Set  up  a state run to die before executing the given state id,
219556              this instructs a running state to safely exit at a  given  state
219557              id.  This  needs  to pass in the jid of the running state.  If a
219558              state_id is not passed then the jid referenced  will  be  safely
219559              exited at the beginning of the next state run.
219560
219561   salt.runners.survey
219562       A general map/reduce style salt runner for aggregating results returned
219563       by several different minions.
219564
219565       New in version 2014.7.0.
219566
219567
219568       Aggregated results are sorted by the size of  the  minion  pools  which
219569       returned matching results.
219570
219571       Useful  for  playing  the  game: "some of these things are not like the
219572       others..."  when identifying discrepancies in  a  large  infrastructure
219573       managed by salt.
219574
219575       salt.runners.survey.diff(*args, **kwargs)
219576              Return the DIFFERENCE of the result sets returned by each match‐
219577              ing minion pool
219578
219579              New in version 2014.7.0.
219580
219581
219582              These pools  are  determined  from  the  aggregated  and  sorted
219583              results of a salt command.
219584
219585              This  command  displays the "diffs" as a series of 2-way differ‐
219586              ences -- namely the difference between the FIRST displayed  min‐
219587              ion  pool  (according  to sort order) and EACH SUBSEQUENT minion
219588              pool result set.
219589
219590              Differences are displayed according to the  Python  difflib.uni‐
219591              fied_diff()  as  in  the  case  of  the  salt  execution  module
219592              file.get_diff.
219593
219594              This command is submitted via a salt runner  using  the  general
219595              form:
219596
219597                 salt-run survey.diff [survey_sort=up/down] <target>
219598                              <salt-execution-module> <salt-execution-module parameters>
219599
219600              Optionally   accept  a  survey_sort=  parameter.  Default:  sur‐
219601              vey_sort=down
219602
219603              CLI Example #1: (Example to display the "differences of files")
219604
219605                 salt-run survey.diff survey_sort=up "*" cp.get_file_str file:///etc/hosts
219606
219607       salt.runners.survey.hash(*args, **kwargs)
219608              Return the MATCHING minion pools from the aggregated and  sorted
219609              results of a salt command
219610
219611              New in version 2014.7.0.
219612
219613
219614              This  command  is  submitted via a salt runner using the general
219615              form:
219616
219617                 salt-run survey.hash [survey_sort=up/down] <target>
219618                           <salt-execution-module> <salt-execution-module parameters>
219619
219620              Optionally  accept  a  survey_sort=  parameter.  Default:   sur‐
219621              vey_sort=down
219622
219623              CLI Example #1: (functionally equivalent to salt-run manage.up)
219624
219625                 salt-run survey.hash "*" test.ping
219626
219627              CLI Example #2: (find an "outlier" minion config file)
219628
219629                 salt-run survey.hash "*" file.get_hash /etc/salt/minion survey_sort=up
219630
219631   salt.runners.test
219632       This  runner  is  used only for test purposes and servers no production
219633       purpose
219634
219635       salt.runners.test.arg(*args, **kwargs)
219636              Output the given args and kwargs
219637
219638              Kwargs will be filtered for 'private' keynames.
219639
219640       salt.runners.test.get_opts()
219641              New in version 2018.3.0.
219642
219643
219644              Return the configuration options of the master.
219645
219646              CLI Example:
219647
219648                 salt-run test.get_opts
219649
219650       salt.runners.test.metasyntactic(locality=u'us')
219651              Return common metasyntactic variables for the given locality
219652
219653       salt.runners.test.raw_arg(*args, **kwargs)
219654              Output the given args and kwargs
219655
219656       salt.runners.test.sleep(s_time=10)
219657              Sleep t seconds, then return True
219658
219659       salt.runners.test.stdout_print()
219660              Print 'foo' and return 'bar'
219661
219662       salt.runners.test.stream()
219663              Return True
219664
219665   salt.runners.thin
219666       The thin runner is used to manage the salt thin systems.
219667
219668       Salt Thin is a transport-less version of Salt that can be used  to  run
219669       routines  in a standalone way. This runner has tools which generate the
219670       standalone salt system for easy consumption.
219671
219672       salt.runners.thin.generate(extra_mods=u'',             overwrite=False,
219673       so_mods=u'',       python2_bin=u'python2',      python3_bin=u'python3',
219674       absonly=True, compress=u'gzip')
219675              Generate the salt-thin tarball and print  the  location  of  the
219676              tarball  Optional  additional mods to include (e.g. mako) can be
219677              supplied as a comma delimited string.  Permits forcing an  over‐
219678              write of the output file as well.
219679
219680              CLI Example:
219681
219682                 salt-run thin.generate
219683                 salt-run thin.generate mako
219684                 salt-run thin.generate mako,wempy 1
219685                 salt-run thin.generate overwrite=1
219686
219687       salt.runners.thin.generate_min(extra_mods=u'',         overwrite=False,
219688       so_mods=u'', python2_bin=u'python2', python3_bin=u'python3')
219689              Generate the salt-thin tarball and print  the  location  of  the
219690              tarball  Optional  additional mods to include (e.g. mako) can be
219691              supplied as a comma delimited string.  Permits forcing an  over‐
219692              write of the output file as well.
219693
219694              CLI Example:
219695
219696                 salt-run thin.generate_min
219697
219698   salt.runners.vault
219699       maintainer
219700              SaltStack
219701
219702       maturity
219703              new
219704
219705       platform
219706              all
219707
219708       Runner  functions  supporting the Vault modules. Configuration instruc‐
219709       tions are documented in the execution module docs.
219710
219711       salt.runners.vault.generate_token(minion_id,    signature,    imperson‐
219712       ated_by_master=False)
219713              Generate a Vault token for minion minion_id
219714
219715              minion_id
219716                     The id of the minion that requests a token
219717
219718              signature
219719                     Cryptographic  signature which validates that the request
219720                     is indeed sent by the minion (or the master,  see  imper‐
219721                     sonated_by_master).
219722
219723              impersonated_by_master
219724                     If  the  master  needs to create a token on behalf of the
219725                     minion, this is True. This happens when the master gener‐
219726                     ates minion pillars.
219727
219728       salt.runners.vault.show_policies(minion_id)
219729              Show the Vault policies that are applied to tokens for the given
219730              minion
219731
219732              minion_id
219733                     The minions id
219734
219735              CLI Example:
219736
219737                 salt-run vault.show_policies myminion
219738
219739       salt.runners.vault.unseal()
219740              Unseal Vault server
219741
219742              This function uses the 'keys' from the 'vault' configuration  to
219743              unseal vault server
219744
219745              vault:
219746
219747                     keys:
219748
219749                            · n63/TbrQuL3xaIW7ZZpuXj/tIfnK1/MbVxO4vT3wYD2A
219750
219751                            · S9OwCvMRhErEA4NVVELYBs6w/Me6+urgUr24xGK44Uy3
219752
219753                            · F1j4b7JKq850NS6Kboiy5laJ0xY8dWJvB3fcwA+SraYl
219754
219755                            · 1cYtvjKJNDVam9c7HNqJUfINk4PYyAXIpjkpN/sIuzPv
219756
219757                            · 3pPK5X6vGtwLhNOFv1U2elahECz3HpRUfNXJFYLw6lid
219758
219759              CLI Examples:
219760
219761                 salt-run vault.unseal
219762
219763   salt.runners.venafiapi
219764       Support for Venafi
219765
219766       depends
219767
219768              · vcert Python module
219769
219770       configuration
219771              In order to connect to Venafi services you need to specify it in
219772              Salt master configuration.  Example for Venafi Cloud (using  env
219773              variables):
219774
219775
219776
219777              venafi:
219778                     api_key: "sdb://osenv/CLOUDAPIKEY"
219779
219780              Example for Venafi Platform (using env variables):
219781
219782
219783
219784              venafi:
219785                     base_url:   "https://tpp.example.com/"   tpp_user:  admin
219786                     tpp_password:  "sdb://osenv/TPP_PASSWORD"   trust_bundle:
219787                     "/opt/venafi/bundle.pem"
219788
219789       salt.runners.venafiapi.del_cached_domain(domains)
219790              Delete cached domains from the master
219791
219792              CLI Example:
219793
219794                 salt-run venafi.del_cached_domain domain1.example.com,domain2.example.com
219795
219796       salt.runners.venafiapi.list_domain_cache()
219797              List domains that have been cached
219798
219799              CLI Example:
219800
219801                 salt-run venafi.list_domain_cache
219802
219803       salt.runners.venafiapi.renew(minion_id, dns_name=None, zone=None, coun‐
219804       try=None,  state=None,  loc=None,  org=None,  org_unit=None,  key_pass‐
219805       word=None, csr_path=None, pkey_path=None)
219806              Request a new certificate
219807
219808              CLI Example:
219809
219810                 salt-run venafi.request <minion_id> <dns_name>
219811
219812       salt.runners.venafiapi.request(minion_id,   dns_name=None,   zone=None,
219813       country=None, state=None, loc=None, org=None, org_unit=None,  key_pass‐
219814       word=None, csr_path=None, pkey_path=None)
219815              Request a new certificate
219816
219817              CLI Example:
219818
219819                 salt-run venafi.request <minion_id> <dns_name>
219820
219821       salt.runners.venafiapi.show_cert(dns_name)
219822              Show issued certificate for domain
219823
219824              CLI Example:
219825
219826                 salt-run venafi.show_cert example.com
219827
219828   salt.runners.virt
219829       Control virtual machines via Salt
219830
219831       salt.runners.virt.force_off(name)
219832              Force power down the named virtual machine
219833
219834       salt.runners.virt.host_info(host=None)
219835              Return information about the host connected to this master
219836
219837       salt.runners.virt.init(name,   cpu,   mem,   image,  hypervisor=u'kvm',
219838       host=None,   seed=True,   nic=u'default',   install=True,   start=True,
219839       disk=u'default',           saltenv=u'base',           enable_vnc=False,
219840       seed_cmd=u'seed.apply', enable_qcow=False)
219841              This routine is used to create a new virtual machine. This  rou‐
219842              tines takes a number of options to determine what the newly cre‐
219843              ated virtual machine will look like.
219844
219845              name   The mandatory name of the new virtual machine.  The  name
219846                     option  is  also  the minion id, all minions must have an
219847                     id.
219848
219849              cpu    The number of  cpus  to  allocate  to  this  new  virtual
219850                     machine.
219851
219852              mem    The amount of memory to allocate to this virtual machine.
219853                     The number is interpreted in megabytes.
219854
219855              image  The network location of the virtual machine  image,  com‐
219856                     monly  a location on the salt fileserver, but http, https
219857                     and ftp can also be used.
219858
219859              hypervisor
219860                     The hypervisor  to  use  for  the  new  virtual  machine.
219861                     Default is kvm.
219862
219863              host   The  host  to use for the new virtual machine, if this is
219864                     omitted Salt will automatically detect what host to use.
219865
219866              seed   Set to False to prevent Salt from seeding the new virtual
219867                     machine.
219868
219869              nic    The  nic  profile  to  use, defaults to the "default" nic
219870                     profile which assumes a single network interface  per  VM
219871                     associated with the "br0" bridge on the master.
219872
219873              install
219874                     Set  to False to prevent Salt from installing a minion on
219875                     the new VM before it spins up.
219876
219877              disk   The disk profile to use
219878
219879              saltenv
219880                     The Salt environment to use
219881
219882              enable_vnc
219883                     Whether a VNC screen is attached to resulting VM. Default
219884                     is False.
219885
219886              seed_cmd
219887                     If  seed  is  True, use this execution module function to
219888                     seed new VM.  Default is seed.apply.
219889
219890              enable_qcow
219891                     Clone disk image as a copy-on-write  qcow2  image,  using
219892                     downloaded image as backing file.
219893
219894       salt.runners.virt.list(host=None, quiet=False, hyper=None)
219895              List  the  virtual  machines  on each host, this is a simplified
219896              query, showing only the virtual machine names belonging to  each
219897              host.   A  single host can be passed in to specify an individual
219898              host to list.
219899
219900       salt.runners.virt.migrate(name, target=u'')
219901              Migrate a VM from one host to another. This  routine  will  just
219902              start  the  migration  and display information on how to look up
219903              the progress.
219904
219905       salt.runners.virt.next_host()
219906              Return the host to  use  for  the  next  autodeployed  VM.  This
219907              queries  the available host and executes some math the determine
219908              the most "available" next host.
219909
219910       salt.runners.virt.pause(name)
219911              Pause the named VM
219912
219913       salt.runners.virt.purge(name, delete_key=True)
219914              Destroy the named VM
219915
219916       salt.runners.virt.query(host=None, quiet=False)
219917              Query the virtual machines.  When  called  without  options  all
219918              hosts  are  detected and a full query is returned. A single host
219919              can be passed in to specify an individual host to query.
219920
219921       salt.runners.virt.reset(name)
219922              Force power down and restart an existing VM
219923
219924       salt.runners.virt.resume(name)
219925              Resume a paused VM
219926
219927       salt.runners.virt.start(name)
219928              Start a named virtual machine
219929
219930       salt.runners.virt.vm_info(name, quiet=False)
219931              Return the information on the named VM
219932
219933   salt.runners.vistara
219934       Vistara Runner
219935
219936       Runner to interact with the  Vistara  (http://www.vistarait.com/)  REST
219937       API
219938
219939       codeauthor
219940              Brad Thurber <brad.thurber@gmail.com>
219941
219942       To use this runner, the Vistara client_id and Vistara oauth2 client_key
219943       and client_secret must be set in the master config.
219944
219945       For example /etc/salt/master.d/_vistara.conf:
219946
219947          vistara:
219948            client_id: client_012345
219949            client_key: N0tReallyaR3alKeyButShouldB12345
219950            client_secret: ThisI5AreallyLongsecretKeyIwonderwhyTheyMakethemSoBigTheseDays00
219951
219952       salt.runners.vistara.delete_device(name, safety_on=True)
219953              Deletes a device from Vistara based on DNS name or partial name.
219954              By default, delete_device will only perform the delete if a sin‐
219955              gle host is returned. Set safety_on=False to delete all  matches
219956              (up to default API search page size)
219957
219958              CLI Example:
219959
219960                 salt-run vistara.delete_device 'hostname-101.mycompany.com'
219961                 salt-run vistara.delete_device 'hostname-101'
219962                 salt-run vistara.delete_device 'hostname-1' safety_on=False
219963
219964   salt.runners.winrepo
219965       Runner to manage Windows software repo
219966
219967       salt.runners.winrepo.genrepo(opts=None, fire_event=True)
219968              Generate winrepo_cachefile based on sls files in the winrepo_dir
219969
219970              opts   Specify an alternate opts dict. Should not be used unless
219971                     this function is imported into an execution module.
219972
219973              fire_event
219974                     True Fire an event on failure. Only supported on the mas‐
219975                     ter.
219976
219977              CLI Example:
219978
219979                 salt-run winrepo.genrepo
219980
219981       salt.runners.winrepo.update_git_repos(opts=None,  clean=False,  master‐
219982       less=False)
219983              Checkout git repos containing Windows Software  Package  Defini‐
219984              tions
219985
219986              opts   Specify an alternate opts dict. Should not be used unless
219987                     this function is imported into an execution module.
219988
219989              clean  False Clean repo cachedirs which are not configured under
219990                     winrepo_remotes.
219991
219992                     WARNING:
219993                        This  argument  should  not be set to True if a mix of
219994                        git and non-git repo definitions are being used, as it
219995                        will  result  in  the  non-git  repo definitions being
219996                        removed.
219997
219998                     New in version 2015.8.0.
219999
220000
220001              CLI Examples:
220002
220003                 salt-run winrepo.update_git_repos
220004                 salt-run winrepo.update_git_repos clean=True
220005
220006   sdb modules
220007                      ┌───────────┬────────────────────────────┐
220008cache      │ cache Module               │
220009                      ├───────────┼────────────────────────────┤
220010confidant  │ An SDB module for  getting │
220011                      │           │ credentials   from  confi‐ │
220012                      │           │ dant.                      │
220013                      ├───────────┼────────────────────────────┤
220014consul     │ Consul sdb Module          │
220015                      ├───────────┼────────────────────────────┤
220016couchdb    │ CouchDB sdb Module         │
220017                      ├───────────┼────────────────────────────┤
220018env        │ Environment sdb Module     │
220019                      ├───────────┼────────────────────────────┤
220020etcd_db    │ etcd Database Module       │
220021                      ├───────────┼────────────────────────────┤
220022keyring_db │ Keyring Database Module    │
220023                      ├───────────┼────────────────────────────┤
220024memcached  │ Memcached sdb Module       │
220025                      ├───────────┼────────────────────────────┤
220026redis_sdb  │ Redis SDB module           │
220027                      ├───────────┼────────────────────────────┤
220028rest       │ Generic REST API SDB  Mod‐ │
220029                      │           │ ule                        │
220030                      ├───────────┼────────────────────────────┤
220031sqlite3    │ SQLite sdb Module          │
220032                      ├───────────┼────────────────────────────┤
220033tism       │ tISM   -   the   Immutable │
220034                      │           │ Secrets Manager SDB Module │
220035                      ├───────────┼────────────────────────────┤
220036vault      │ Vault SDB Module           │
220037                      ├───────────┼────────────────────────────┤
220038yaml       │ Pull  sdb  values  from  a │
220039                      │           │ YAML file                  │
220040                      └───────────┴────────────────────────────┘
220041
220042   salt.sdb.cache module
220043       cache Module
220044
220045       maintainer
220046              SaltStack
220047
220048       maturity
220049              New
220050
220051       platform
220052              all
220053
220054       New in version 2017.7.0.
220055
220056
220057       This module provides access to Salt's cache subsystem.
220058
220059       Like all sdb modules, the cache module requires a configuration profile
220060       to be configured in either the minion  or  master  configuration  file.
220061       This profile requires very little. In the example:
220062
220063          mastercloudcache:
220064            driver: cache
220065            bank: cloud/active/ec2/my-ec2-conf/saltmaster
220066            cachedir: /var/cache/salt
220067
220068       The  driver  refers  to the cache module, bank refers to the cache bank
220069       that contains the data and cachedir (optional), if used, points  to  an
220070       alternate directory for cache data storage.
220071
220072          master_ip: sdb://mastercloudcache/public_ips
220073
220074       It  is  also  possible  to  override both the bank and cachedir options
220075       inside the SDB URI:
220076
220077          master_ip: sdb://mastercloudcache/public_ips?cachedir=/var/cache/salt
220078
220079       For this reason, both the bank and the cachedir options can be  omitted
220080       from  the  SDB profile. However, if the bank option is omitted, it must
220081       be specified in the URI:
220082
220083          master_ip: sdb://mastercloudcache/public_ips?bank=cloud/active/ec2/my-ec2-conf/saltmaster
220084
220085       salt.sdb.cache.delete(key, service=None, profile=None)
220086              Get a value from the cache service
220087
220088       salt.sdb.cache.get(key, service=None, profile=None)
220089              Get a value from the cache service
220090
220091       salt.sdb.cache.set_(key, value, service=None, profile=None)
220092              Set a key/value pair in the cache service
220093
220094   salt.sdb.confidant
220095       An SDB module for getting credentials from confidant.
220096
220097   Configuring the Confidant module
220098       The module can be configured via sdb in the minion config:
220099
220100          confidant:
220101            driver: confidant
220102            # The URL of the confidant web service
220103            url: 'https://confidant-production.example.com'
220104            # The context to use for KMS authentication
220105            auth_context:
220106              from: example-production-iad
220107              to: confidant-production-iad
220108              user_type: service
220109            # The KMS master key to use for authentication
220110            auth_key: "alias/authnz"
220111            # Cache file for KMS auth token
220112            token_cache_file: /run/confidant/confidant_token
220113            # The duration of the validity of a token, in minutes
220114            token_duration: 60
220115            # key, keyid and region can be defined in the profile, but it's generally
220116            # best to use IAM roles or environment variables for AWS auth.
220117            keyid: 98nh9h9h908h09kjjk
220118            key: jhf908gyeghehe0he0g8h9u0j0n0n09hj09h0
220119            region: us-east-1
220120
220121       depends
220122              confidant-common, confidant-client
220123
220124   Module Documentation
220125       salt.sdb.confidant.get(key, profile=None)
220126              Read pillar data from Confidant via its API.
220127
220128              CLI Example:
220129                 salt myminion sdb.get 'sdb://confidant/credentials'
220130
220131              Valid keys are: credentials, credentials_metadata, result.  cre‐
220132              dentials  returns  a  dict  of  joined credential_pairs, creden‐
220133              tials_metadata returns a dict of metadata relevant to  the  cre‐
220134              dentials  mapped  to the confidant service, and result returns a
220135              bool that can be used to determine if the sdb call succeeded  or
220136              failed  to  fetch  credentials  from  confidant  (or  from local
220137              cache). If result is false, the data in credentials  or  creden‐
220138              tials_metadata can't be trusted.
220139
220140   salt.sdb.consul module
220141       Consul sdb Module
220142
220143       maintainer
220144              SaltStack
220145
220146       maturity
220147              New
220148
220149       platform
220150              all
220151
220152       This module allows access to Consul using an sdb:// URI
220153
220154       Like  all  sdb modules, the Consul module requires a configuration pro‐
220155       file to be configured in either  the  minion  or  master  configuration
220156       file. This profile requires very little. For example:
220157
220158          myconsul:
220159            driver: consul
220160            host: 127.0.0.1
220161            port: 8500
220162            token: b6376760-a8bb-edd5-fcda-33bc13bfc556
220163            scheme: http
220164            consistency: default
220165            dc: dev
220166            verify: True
220167
220168       The driver refers to the Consul module, all other options are optional.
220169       For                 option                 details                 see:
220170       https://python-consul.readthedocs.io/en/latest/#consul
220171
220172       salt.sdb.consul.get(key, profile=None)
220173
220174       salt.sdb.consul.get_conn(profile)
220175              Return a client object for accessing consul
220176
220177       salt.sdb.consul.set_(key, value, profile=None)
220178
220179   salt.sdb.couchdb
220180       CouchDB sdb Module
220181
220182       maintainer
220183              SaltStack
220184
220185       maturity
220186              New
220187
220188       depends
220189              python2-couchdb
220190
220191       platform
220192              all
220193
220194       This  allow interaction between Salt and a CouchDB [couchdb.apache.org]
220195       database. It uses salt's sdb system to allow for inserts and  retrevals
220196       using the sdb:// prefix in salt configuration files.
220197
220198       To  use  the  couchbase  sdb module, it must first be configured in the
220199       salt master or minion config. The following arguments are required:
220200
220201          couchdb_sdb:
220202            driver: couchdb
220203            host: localhost
220204            port: 5984
220205            database: salt_sdb
220206
220207       One could then query the CouchDB instance via an sdb:// URI such as the
220208       following:
220209
220210          password: sdb://couchdb_sdb/mykey
220211
220212       To  use  this interface, you must track IDs on your own or have another
220213       source to do the map-reduce logic necessary to  calculate  the  ID  you
220214       wish to fetch.
220215
220216       Additional  contributions  to  build true map-reduce functionality into
220217       this module would be welcome.
220218
220219       salt.sdb.couchdb.get(key, profile=None)
220220              Get a value from couchdb by id
220221
220222       salt.sdb.couchdb.set_(key, value, profile=None)
220223              Set a key/value pair in couchdb
220224
220225   salt.sdb.env module
220226       Environment sdb Module
220227
220228       maintainer
220229              SaltStack
220230
220231       maturity
220232              New
220233
220234       depends
220235              None
220236
220237       platform
220238              all
220239
220240       This module allows access to environment variables using an sdb:// URI.
220241
220242       Example configuration for this module:
220243
220244          osenv:
220245            driver: env
220246
220247   WARNING:
220248       OS environment variables will be available to  read  via  SDB.   Please
220249       make  sure  you don't have any sensitive data in your environment vari‐
220250       ables!!
220251
220252       Example usage of sdb env module:
220253
220254          set some env var:
220255            cmd.run:
220256              - name: echo {{ salt['sdb.set']('sdb://osenv/foo', 'bar') }}
220257              - order: 1
220258
220259          {% if salt['sdb.get']('sdb://osenv/foo') == 'bar' %}
220260          always-changes-and-succeeds:
220261            test.succeed_with_changes:
220262              - name: foo
220263          {% else %}
220264          always-changes-and-fails:
220265            test.fail_with_changes:
220266              - name: foo
220267          {% endif  %}
220268
220269       The above example will return success.
220270
220271       The env sdb module can also be used with salt cloud.  Assuming you have
220272       exported  the  environment  variable  named  compute  (and  have  osenv
220273       defined).  The example below will look for the salt  cloud  config  key
220274       compute_name in the environment:
220275
220276          my-openstack-config:
220277            compute_name: sdb://osenv/compute
220278            ..snip
220279
220280       salt.sdb.env.get(key, profile=None)
220281              Get a value
220282
220283       salt.sdb.env.set_(key, value, profile=None)
220284              Set a key/value pair
220285
220286   salt.sdb.etcd_db
220287       etcd Database Module
220288
220289       maintainer
220290              SaltStack
220291
220292       maturity
220293              New
220294
220295       depends
220296              python-etcd
220297
220298       platform
220299              all
220300
220301       New in version 2015.5.0.
220302
220303
220304       This  module  allows  access  to the etcd database using an sdb:// URI.
220305       This package is located at https://pypi.python.org/pypi/python-etcd.
220306
220307       Like all sdb modules, the etcd module requires a configuration  profile
220308       to  be  configured  in  either the minion or master configuration file.
220309       This profile requires very little. In the example:
220310
220311          myetcd:
220312            driver: etcd
220313            etcd.host: 127.0.0.1
220314            etcd.port: 2379
220315
220316       The driver refers to the etcd module, etcd.host refers to the host that
220317       is  hosting  the etcd database and etcd.port refers to the port on that
220318       host.
220319
220320          password: sdb://myetcd/mypassword
220321
220322       salt.sdb.etcd_db.delete(key, service=None, profile=None)
220323              Get a value from the etcd service
220324
220325       salt.sdb.etcd_db.get(key, service=None, profile=None)
220326              Get a value from the etcd service
220327
220328       salt.sdb.etcd_db.set_(key, value, service=None, profile=None)
220329              Set a key/value pair in the etcd service
220330
220331   salt.sdb.keyring_db
220332       Keyring Database Module
220333
220334       maintainer
220335              SaltStack
220336
220337       maturity
220338              New
220339
220340       depends
220341              keyring
220342
220343       platform
220344              all
220345
220346       This module allows access to the keyring package using an  sdb://  URI.
220347       This package is located at https://pypi.python.org/pypi/keyring.
220348
220349       Care must be taken when using keyring. Not all keyend backends are sup‐
220350       ported on all operating systems. Also, many backends require  an  agent
220351       to  be  running  in  order  to work. For instance, the "Secret Service"
220352       backend requires a compatible agent  such  as  gnome-keyring-daemon  or
220353       kwallet  to  be running. The keyczar backend does not seem to enjoy the
220354       benefits of an agent, and so using it  will  require  either  that  the
220355       password  is typed in manually (which is unreasonable for the salt-min‐
220356       ion and salt-master daemons, especially in production) or an  agent  is
220357       written for it.
220358
220359       Like  all sdb modules, the keyring module requires a configuration pro‐
220360       file to be configured in either  the  minion  or  master  configuration
220361       file. This profile requires very little. In the example:
220362
220363          mykeyring:
220364            driver: keyring
220365            service: system
220366
220367       The  driver refers to the keyring module, service refers to the service
220368       that will be used inside of keyring (which may be likened unto a  data‐
220369       base  table)  and  mykeyring refers to the name that will appear in the
220370       URI:
220371
220372          password: sdb://mykeyring/mypassword
220373
220374       The underlying backend configuration must  be  configured  via  keyring
220375       itself. For examples and documentation, see keyring:
220376
220377       https://pypi.python.org/pypi/keyring
220378
220379       New in version 2014.1.4.
220380
220381
220382       salt.sdb.keyring_db.get(key, service=None, profile=None)
220383              Get a value from a keyring service
220384
220385       salt.sdb.keyring_db.set_(key, value, service=None, profile=None)
220386              Set a key/value pair in a keyring service
220387
220388   salt.sdb.memcached
220389       Memcached sdb Module
220390
220391       maintainer
220392              SaltStack
220393
220394       maturity
220395              New
220396
220397       depends
220398              python-memcached
220399
220400       platform
220401              all
220402
220403       This  module allows access to memcached using an sdb:// URI. This pack‐
220404       age is located at https://pypi.python.org/pypi/python-memcached.
220405
220406       Like all sdb modules, the memcached  module  requires  a  configuration
220407       profile  to  be configured in either the minion or master configuration
220408       file. This profile requires very little. In the example:
220409
220410          mymemcache:
220411            driver: memcached
220412            memcached.host: localhost
220413            memcached.port: 11211
220414
220415       The driver refers to the memcached module, host and port the  memcached
220416       server  to connect to (defaults to localhost and 11211, and mymemcached
220417       refers to the name that will appear in the URI:
220418
220419          password: sdb://mymemcached/mykey
220420
220421       salt.sdb.memcached.get(key, profile=None)
220422              Get a value from memcached
220423
220424       salt.sdb.memcached.set_(key, value, profile=None)
220425              Set a key/value pair in memcached
220426
220427   salt.sdb.redis_sdb module
220428   Redis SDB module
220429          New in version 2019.2.0.
220430
220431
220432       This module allows access to Redis  using an sdb:// URI.
220433
220434       Like all SDB modules, the Redis module requires a configuration profile
220435       to  be  configured  in  either the minion or master configuration file.
220436       This profile requires very little. For example:
220437
220438          sdb_redis:
220439            driver: redis
220440            host: 127.0.0.1
220441            port: 6379
220442            password: pass
220443            db: 1
220444
220445       The driver refers to the Redis module, all other options are  optional.
220446       For option details see: https://redis-py.readthedocs.io/en/latest/.
220447
220448       salt.sdb.redis_sdb.delete(key, profile=None)
220449              Delete a key from the Redis SDB.
220450
220451       salt.sdb.redis_sdb.get(key, profile=None)
220452              Get a value from the Redis SDB.
220453
220454       salt.sdb.redis_sdb.set_(key, value, profile=None)
220455              Set a value into the Redis SDB.
220456
220457   salt.sdb.rest module
220458       Generic REST API SDB Module
220459
220460       maintainer
220461              SaltStack
220462
220463       maturity
220464              New
220465
220466       platform
220467              all
220468
220469       New in version 2015.8.0.
220470
220471
220472       This module allows access to a REST interface using an sdb:// URI.
220473
220474       Like all REST modules, the REST module requires a configuration profile
220475       to be configured in either the minion  or  master  configuration  file.
220476       This profile requires very little. In the example:
220477
220478          my-rest-api:
220479            driver: rest
220480            urls:
220481              url: https://api.github.com/
220482            keys:
220483              url: https://api.github.com/users/{{user}}/keys
220484              backend: requests
220485
220486       The  driver refers to the REST module, and must be set to rest in order
220487       to use this driver. Each of the other items inside this block refers to
220488       a  separate  set of HTTP items, including a URL and any options associ‐
220489       ated with it.  The options used here should match the options available
220490       in salt.utils.http.query().
220491
220492       In  order to call the urls item in the example, the following reference
220493       can be made inside a configuration file:
220494
220495          github_urls: sdb://my-rest-api/urls
220496
220497       Key/Value pairs may also be used with this driver, and merged into  the
220498       URL using the configured renderer (jinja, by default). For instance, in
220499       order to use the keys item in the example, the following reference  can
220500       be made:
220501
220502          github_urls: sdb://my-rest-api/keys?user=myuser
220503
220504       This will cause the following URL to actually be called:
220505
220506          https://api.github.com/users/myuser/keys
220507
220508       Key/Value  pairs  will  NOT  be passed through as GET data. If GET data
220509       needs to be sent to the URL, then it should be configured  in  the  SDB
220510       configuration block.  For instance:
220511
220512          another-rest-api:
220513            driver: rest
220514            user_data:
220515              url: https://api.example.com/users/
220516              params:
220517                user: myuser
220518
220519       salt.sdb.rest.get(key, service=None, profile=None)
220520              Get a value from the REST interface
220521
220522       salt.sdb.rest.query(key, value=None, service=None, profile=None)
220523              Get a value from the REST interface
220524
220525       salt.sdb.rest.set_(key, value, service=None, profile=None)
220526              Set a key/value pair in the REST interface
220527
220528   salt.sdb.sqlite3
220529       SQLite sdb Module
220530
220531       maintainer
220532              SaltStack
220533
220534       maturity
220535              New
220536
220537       platform
220538              all
220539
220540       This module allows access to sqlite3 using an sdb:// URI
220541
220542       Like  all sdb modules, the sqlite3 module requires a configuration pro‐
220543       file to be configured in either  the  minion  or  master  configuration
220544       file. This profile requires very little. For example:
220545
220546          mysqlite:
220547            driver: sqlite3
220548            database: /tmp/sdb.sqlite
220549            table: sdb
220550            create_table: True
220551
220552       The driver refers to the sqlite3 module, database refers to the sqlite3
220553       database file. table is the table within the db that will hold keys and
220554       values  (defaults  to  sdb).  The database and table will be created if
220555       they do not exist.
220556
220557   Advanced Usage:
220558       Instead of a table name, it is possible to provide  custom  SQL  state‐
220559       ments to create the table(s) and get and set values.
220560
220561          myadvanced
220562            driver: sqlite3
220563            database: /tmp/sdb-advanced.sqlite
220564          create_statements:
220565            - "CREATE TABLE advanced (a text, b text, c blob, d blob)"
220566            - "CREATE INDEX myidx ON advanced (a)"
220567          get_query: "SELECT d FROM advanced WHERE a=:key"
220568          set_query: "INSERT OR REPLACE INTO advanced (a, d) VALUES (:key, :value)"
220569
220570       salt.sdb.sqlite3.get(key, profile=None)
220571              Get a value from sqlite3
220572
220573       salt.sdb.sqlite3.set_(key, value, profile=None)
220574              Set a key/value pair in sqlite3
220575
220576   salt.sdb.tism module
220577       tISM - the Immutable Secrets Manager SDB Module
220578
220579       maintainer
220580              tISM
220581
220582       maturity
220583              New
220584
220585       platform
220586              all
220587
220588       New in version 2017.7.0.
220589
220590
220591       This module will decrypt PGP encrypted secrets against a tISM server.
220592
220593          sdb://<profile>/<encrypted secret>
220594
220595          sdb://tism/hQEMAzJ+GfdAB3KqAQf9E3cyvrPEWR1sf1tMvH0nrJ0bZa9kDFLPxvtwAOqlRiNp0F7IpiiVRF+h+sW5Mb4ffB1TElMzQ+/G5ptd6CjmgBfBsuGeajWmvLEi4lC6/9v1rYGjjLeOCCcN4Dl5AHlxUUaSrxB8akTDvSAnPvGhtRTZqDlltl5UEHsyYXM8RaeCrBw5Or1yvC9Ctx2saVp3xmALQvyhzkUv5pTb1mH0I9Z7E0ian07ZUOD+pVacDAf1oQcPpqkeNVTQQ15EP0fDuvnW+a0vxeLhkbFLfnwqhqEsvFxVFLHVLcs2ffE5cceeOMtVo7DS9fCtkdZr5hR7a+86n4hdKfwDMFXiBwSIPMkmY980N/H30L/r50+CBkuI/u4M2pXDcMYsvvt4ajCbJn91qaQ7BDI=
220596
220597       A  profile  must be setup in the minion configuration or pillar. If you
220598       want to use sdb in a runner or pillar you must also place a profile  in
220599       the master configuration.
220600
220601          tism:
220602            driver: tism
220603            url: https://my.tismd:8080/decrypt
220604            token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZG1pbiI6MSwiZXhwIjoxNTg1MTExNDYwLCJqdGkiOiI3NnA5cWNiMWdtdmw4Iiwia2V5cyI6WyJBTEwiXX0.RtAhG6Uorf5xnSf4Ya_GwJnoHkCsql4r1_hiOeDSLzo
220605
220606       salt.sdb.tism.get(key, service=None, profile=None)
220607              Get a decrypted secret from the tISMd API
220608
220609   salt.sdb.vault module
220610       Vault SDB Module
220611
220612       maintainer
220613              SaltStack
220614
220615       maturity
220616              New
220617
220618       platform
220619              all
220620
220621       New in version 2016.11.0.
220622
220623
220624       This module allows access to Hashicorp Vault using an sdb:// URI.
220625
220626       Base  configuration instructions are documented in the execution module
220627       docs.  Below are noted extra configuration required for the sdb module,
220628       but the base configuration must also be completed.
220629
220630       Like all sdb modules, the vault module requires a configuration profile
220631       to be configured in either the minion configuration file or  a  pillar.
220632       This profile requires only setting the driver parameter to vault:
220633
220634          myvault:
220635            driver: vault
220636
220637       Once configured you can access data using a URL such as:
220638
220639          password: sdb://myvault/secret/passwords/mypassword
220640
220641       In  this URL, myvault refers to the configuration profile, secret/pass‐
220642       words is the path where the data resides, and mypassword is the key  of
220643       the data to return.
220644
220645       The above URI is analogous to running the following vault command:
220646
220647          $ vault read -field=mypassword secret/passwords
220648
220649       salt.sdb.vault.get(key, profile=None)
220650              Get a value from the vault service
220651
220652       salt.sdb.vault.set_(key, value, profile=None)
220653              Set a key/value pair in the vault service
220654
220655   salt.sdb.yaml module
220656       Pull sdb values from a YAML file
220657
220658       maintainer
220659              SaltStack
220660
220661       maturity
220662              New
220663
220664       platform
220665              all
220666
220667       New in version 2017.7.0.
220668
220669
220670       Configuration:
220671
220672          my-yaml-file:
220673            driver: yaml
220674            files:
220675              - /path/to/foo.yaml
220676              - /path/to/bar.yaml
220677
220678       The files are merged together and the result is searched using the same
220679       mechanism Salt uses for searching Grains and Pillar data structures.
220680
220681       Optional configuration:
220682
220683          my-yaml-file:
220684            driver: yaml
220685            files:
220686              - /path/to/foo.yaml
220687              - /path/to/bar.yaml
220688            merge:
220689              strategy: smart
220690              merge_list: false
220691            gpg: true
220692
220693       Setting the gpg option to true (default is false) will decrypt embedded
220694       GPG-encrypted data using the GPG renderer.
220695
220696       salt.sdb.yaml.get(key, profile=None)
220697              Get a value from the dictionary
220698
220699       salt.sdb.yaml.set_(*args, **kwargs)
220700              Setting a value is not supported; edit the YAML files directly
220701
220702   serializer modules
220703                      ┌─────────────┬──────────────────────────┐
220704configparser │ salt.serializers.config‐ │
220705                      │             │ parser                   │
220706                      ├─────────────┼──────────────────────────┤
220707json         │ salt.serializers.json    │
220708                      ├─────────────┼──────────────────────────┤
220709msgpack      │ salt.serializers.msgpack │
220710                      ├─────────────┼──────────────────────────┤
220711python       │ salt.serializers.python  │
220712                      ├─────────────┼──────────────────────────┤
220713toml         │ salt.serializers.toml    │
220714                      ├─────────────┼──────────────────────────┤
220715yaml         │ salt.serializers.yaml    │
220716                      ├─────────────┼──────────────────────────┤
220717yamlex       │ salt.serializers.yamlex  │
220718                      └─────────────┴──────────────────────────┘
220719
220720   salt.serializers.configparser module
220721   salt.serializers.configparser
220722       New in version 2016.3.0.
220723
220724
220725       Implements a configparser serializer.
220726
220727       salt.serializers.configparser.deserialize(stream_or_string, **options)
220728              Deserialize any string or stream like object into a Python  data
220729              structure.
220730
220731              Parameters
220732
220733                     · stream_or_string -- stream or string to deserialize.
220734
220735                     · options -- options given to lower configparser module.
220736
220737       salt.serializers.configparser.serialize(obj, **options)
220738              Serialize  Python  data  to  a  configparser formatted string or
220739              file.
220740
220741              Parameters
220742
220743                     · obj -- the data structure to serialize
220744
220745                     · options -- options given to lower configparser module.
220746
220747   salt.serializers.json
220748   salt.serializers.json
220749       Implements JSON serializer.
220750
220751       It's just a wrapper around json (or simplejson if available).
220752
220753       salt.serializers.json.deserialize(stream_or_string, **options)
220754              Deserialize any string or stream like object into a Python  data
220755              structure.
220756
220757              Parameters
220758
220759                     · stream_or_string -- stream or string to deserialize.
220760
220761                     · options  -- options given to lower json/simplejson mod‐
220762                       ule.
220763
220764       salt.serializers.json.serialize(obj, **options)
220765              Serialize Python data to JSON.
220766
220767              Parameters
220768
220769                     · obj -- the data structure to serialize
220770
220771                     · options -- options given to lower json/simplejson  mod‐
220772                       ule.
220773
220774   salt.serializers.msgpack
220775   salt.serializers.msgpack
220776       Implements MsgPack serializer.
220777
220778       salt.serializers.msgpack.deserialize(stream_or_string, **options)
220779              Deserialize  any string of stream like object into a Python data
220780              structure.
220781
220782              Parameters
220783
220784                     · stream_or_string -- stream or string to deserialize.
220785
220786                     · options -- options given to lower msgpack module.
220787
220788       salt.serializers.msgpack.serialize(obj, **options)
220789              Serialize Python data to MsgPack.
220790
220791              Parameters
220792
220793                     · obj -- the data structure to serialize
220794
220795                     · options -- options given to lower msgpack module.
220796
220797   salt.serializers.python module
220798   salt.serializers.python
220799       New in version 2016.3.0.
220800
220801
220802       Implements a Python serializer (via pprint.format)
220803
220804       salt.serializers.python.serialize(obj, **options)
220805              Serialize Python data to a  Python  string  representation  (via
220806              pprint.format)
220807
220808              Parameters
220809
220810                     · obj -- the data structure to serialize
220811
220812                     · options -- options given to pprint.format
220813
220814   salt.serializers.toml
220815   salt.serializers.toml
220816       Implements TOML serializer.
220817
220818       It's just a wrapper around pytoml module.
220819
220820       salt.serializers.toml.deserialize(stream_or_string, **options)
220821              Deserialize from TOML into Python data structure.
220822
220823              Parameters
220824
220825                     · stream_or_string  -- toml stream or string to deserial‐
220826                       ize.
220827
220828                     · options -- options given to lower pytoml module.
220829
220830       salt.serializers.toml.serialize(obj, **options)
220831              Serialize Python data to TOML.
220832
220833              Parameters
220834
220835                     · obj -- the data structure to serialize.
220836
220837                     · options -- options given to lower pytoml module.
220838
220839   salt.serializers.yaml
220840   salt.serializers.yaml
220841       Implements YAML serializer.
220842
220843       Underneath, it is based on pyyaml and use the safe dumper  and  loader.
220844       It also use C bindings if they are available.
220845
220846       salt.serializers.yaml.deserialize(stream_or_string, **options)
220847              Deserialize  any string of stream like object into a Python data
220848              structure.
220849
220850              Parameters
220851
220852                     · stream_or_string -- stream or string to deserialize.
220853
220854                     · options -- options given to lower yaml module.
220855
220856       salt.serializers.yaml.serialize(obj, **options)
220857              Serialize Python data to YAML.
220858
220859              Parameters
220860
220861                     · obj -- the data structure to serialize
220862
220863                     · options -- options given to lower yaml module.
220864
220865   salt.serializers.yamlex
220866   salt.serializers.yamlex
220867       YAMLEX is a format that allows for things like sls  files  to  be  more
220868       intuitive.
220869
220870       It's  an  extension  of  YAML  that implements all the salt magic: - it
220871       implies omap for any dict like.  - it implies that string like data are
220872       str, not unicode - ...
220873
220874       For example, the file states.sls has this contents:
220875
220876          foo:
220877            bar: 42
220878            baz: [1, 2, 3]
220879
220880       The file can be parsed into Python like this
220881
220882          from salt.serializers import yamlex
220883
220884          with open('state.sls', 'r') as stream:
220885              obj = yamlex.deserialize(stream)
220886
220887       Check that obj is an OrderedDict
220888
220889          from salt.utils.odict import OrderedDict
220890
220891          assert isinstance(obj, dict)
220892          assert isinstance(obj, OrderedDict)
220893
220894       yamlex __repr__ and __str__ objects' methods render YAML understandable
220895       string. It means that they are template friendly.
220896
220897          print '{0}'.format(obj)
220898
220899       returns:
220900
220901          {foo: {bar: 42, baz: [1, 2, 3]}}
220902
220903       and they are still valid YAML:
220904
220905          from salt.serializers import yaml
220906          yml_obj = yaml.deserialize(str(obj))
220907          assert yml_obj == obj
220908
220909       yamlex implements also custom tags:
220910
220911       !aggregate
220912              this tag allows structures aggregation.
220913
220914          For example:
220915
220916              placeholder: !aggregate foo
220917              placeholder: !aggregate bar
220918              placeholder: !aggregate baz
220919
220920          is rendered as
220921
220922              placeholder: [foo, bar, baz]
220923
220924       !reset
220925              this tag flushes the computing value.
220926
220927              placeholder: {!aggregate foo: {foo: 42}}
220928              placeholder: {!aggregate foo: {bar: null}}
220929              !reset placeholder: {!aggregate foo: {baz: inga}}
220930
220931          is roughly equivalent to
220932
220933              placeholder: {!aggregate foo: {baz: inga}}
220934
220935       Document is defacto an aggregate mapping.
220936
220937       salt.serializers.yamlex.deserialize(stream_or_string, **options)
220938              Deserialize any string of stream like object into a Python  data
220939              structure.
220940
220941              Parameters
220942
220943                     · stream_or_string -- stream or string to deserialize.
220944
220945                     · options -- options given to lower yaml module.
220946
220947       salt.serializers.yamlex.serialize(obj, **options)
220948              Serialize Python data to YAML.
220949
220950              Parameters
220951
220952                     · obj -- the data structure to serialize
220953
220954                     · options -- options given to lower yaml module.
220955
220956   state modules
220957              ┌──────────────────────────┬────────────────────────────┐
220958acme                      │ ACME  / Let's Encrypt cer‐ │
220959              │                          │ tificate management state  │
220960              ├──────────────────────────┼────────────────────────────┤
220961alias                     │ Configuration   of   email │
220962              │                          │ aliases                    │
220963              ├──────────────────────────┼────────────────────────────┤
220964alternatives              │ Configuration    of    the │
220965              │                          │ alternatives system        │
220966              ├──────────────────────────┼────────────────────────────┤
220967ansiblegate               │ Execution of Ansible  mod‐ │
220968              │                          │ ules from within states    │
220969              ├──────────────────────────┼────────────────────────────┤
220970apache                    │ Apache state               │
220971              ├──────────────────────────┼────────────────────────────┤
220972apache_conf               │ Manage Apache Confs        │
220973              ├──────────────────────────┼────────────────────────────┤
220974apache_module             │ Manage Apache Modules      │
220975              ├──────────────────────────┼────────────────────────────┤
220976apache_site               │ Manage Apache Sites        │
220977              ├──────────────────────────┼────────────────────────────┤
220978aptpkg                    │ Package  management opera‐ │
220979              │                          │ tions specific to APT- and │
220980              │                          │ DEB-based systems          │
220981              ├──────────────────────────┼────────────────────────────┤
220982archive                   │ Extract an archive         │
220983              ├──────────────────────────┼────────────────────────────┤
220984artifactory               │ This state downloads arti‐ │
220985              │                          │ facts from artifactory.    │
220986              ├──────────────────────────┼────────────────────────────┤
220987at                        │ Configuration   disposable │
220988              │                          │ regularly  scheduled tasks │
220989              │                          │ for at.                    │
220990              ├──────────────────────────┼────────────────────────────┤
220991augeas                    │ Configuration   management │
220992              │                          │ using Augeas               │
220993              ├──────────────────────────┼────────────────────────────┤
220994aws_sqs                   │ Manage SQS Queues          │
220995              ├──────────────────────────┼────────────────────────────┤
220996azurearm_compute          │ Azure  (ARM) Compute State │
220997              │                          │ Module                     │
220998              ├──────────────────────────┼────────────────────────────┤
220999azurearm_network          │ Azure (ARM) Network  State │
221000              │                          │ Module                     │
221001              ├──────────────────────────┼────────────────────────────┤
221002azurearm_resource         │ Azure (ARM) Resource State │
221003              │                          │ Module                     │
221004              ├──────────────────────────┼────────────────────────────┤
221005beacon                    │ Management  of  the   Salt │
221006              │                          │ beacons                    │
221007              ├──────────────────────────┼────────────────────────────┤
221008bigip                     │ A state module designed to │
221009              │                          │ enforce     load-balancing │
221010              │                          │ configurations    for   F5 │
221011              │                          │ Big-IP entities.           │
221012              ├──────────────────────────┼────────────────────────────┤
221013blockdev                  │ Management    of     Block │
221014              │                          │ Devices                    │
221015              ├──────────────────────────┼────────────────────────────┤
221016boto3_elasticache         │ Manage   Elasticache  with │
221017              │                          │ boto3                      │
221018              ├──────────────────────────┼────────────────────────────┤
221019boto3_elasticsearch       │ Manage Elasticsearch  Ser‐ │
221020              │                          │ vice                       │
221021              ├──────────────────────────┼────────────────────────────┤
221022boto3_route53             │ Manage   Route53   records │
221023              │                          │ with Boto 3                │
221024              ├──────────────────────────┼────────────────────────────┤
221025boto_apigateway           │ Manage   Apigateway   Rest │
221026              │                          │ APIs                       │
221027              ├──────────────────────────┼────────────────────────────┤
221028boto_asg                  │ Manage Autoscale Groups    │
221029              ├──────────────────────────┼────────────────────────────┤
221030boto_cfn                  │ Connection module for Ama‐ │
221031              │                          │ zon Cloud Formation        │
221032              ├──────────────────────────┼────────────────────────────┤
221033boto_cloudfront           │ Manage CloudFront  distri‐ │
221034              │                          │ butions                    │
221035              ├──────────────────────────┼────────────────────────────┤
221036boto_cloudtrail           │ Manage CloudTrail Objects  │
221037              ├──────────────────────────┼────────────────────────────┤
221038boto_cloudwatch_alarm     │ Manage Cloudwatch alarms   │
221039              ├──────────────────────────┼────────────────────────────┤
221040boto_cloudwatch_event     │ Manage CloudTrail Objects  │
221041              ├──────────────────────────┼────────────────────────────┤
221042boto_cognitoidentity      │ Manage     CognitoIdentity │
221043              │                          │ Functions                  │
221044              ├──────────────────────────┼────────────────────────────┤
221045boto_datapipeline         │ Manage Data Pipelines      │
221046              ├──────────────────────────┼────────────────────────────┤
221047boto_dynamodb             │ Manage DynamoDB Tables     │
221048              ├──────────────────────────┼────────────────────────────┤
221049boto_ec2                  │ Manage EC2                 │
221050              ├──────────────────────────┼────────────────────────────┤
221051boto_elasticache          │ Manage Elasticache         │
221052              ├──────────────────────────┼────────────────────────────┤
221053boto_elasticsearch_domain │ Manage       Elasticsearch │
221054              │                          │ Domains                    │
221055              ├──────────────────────────┼────────────────────────────┤
221056boto_elb                  │ Manage ELBs                │
221057              ├──────────────────────────┼────────────────────────────┤
221058boto_elbv2                │ Manage   AWS   Application │
221059              │                          │ Load Balancer              │
221060              ├──────────────────────────┼────────────────────────────┤
221061boto_iam                  │ Manage IAM objects         │
221062              ├──────────────────────────┼────────────────────────────┤
221063boto_iam_role             │ Manage IAM roles           │
221064              ├──────────────────────────┼────────────────────────────┤
221065boto_iot                  │ Manage IoT Objects         │
221066              ├──────────────────────────┼────────────────────────────┤
221067boto_kinesis              │ Manage Kinesis Streams     │
221068              ├──────────────────────────┼────────────────────────────┤
221069boto_kms                  │ Manage KMS keys, key poli‐ │
221070              │                          │ cies and grants.           │
221071              ├──────────────────────────┼────────────────────────────┤
221072boto_lambda               │ Manage Lambda Functions    │
221073              ├──────────────────────────┼────────────────────────────┤
221074boto_lc                   │ Manage  Launch  Configura‐ │
221075              │                          │ tions                      │
221076              ├──────────────────────────┼────────────────────────────┤
221077boto_rds                  │ Manage RDSs                │
221078              ├──────────────────────────┼────────────────────────────┤
221079boto_route53              │ Manage Route53 records     │
221080              ├──────────────────────────┼────────────────────────────┤
221081boto_s3_bucket            │ Manage S3 Buckets          │
221082              ├──────────────────────────┼────────────────────────────┤
221083boto_secgroup             │ Manage Security Groups     │
221084              ├──────────────────────────┼────────────────────────────┤
221085boto_sns                  │ Manage SNS Topics          │
221086              ├──────────────────────────┼────────────────────────────┤
221087boto_sqs                  │ Manage SQS Queues          │
221088              ├──────────────────────────┼────────────────────────────┤
221089boto_vpc                  │ Manage VPCs                │
221090              ├──────────────────────────┼────────────────────────────┤
221091bower                     │ Installation   of    Bower │
221092              │                          │ Packages                   │
221093              ├──────────────────────────┼────────────────────────────┤
221094cabal                     │ Installation    of   Cabal │
221095              │                          │ Packages                   │
221096              ├──────────────────────────┼────────────────────────────┤
221097ceph                      │ Manage ceph with salt.     │
221098              ├──────────────────────────┼────────────────────────────┤
221099chef                      │ Execute Chef client runs   │
221100              ├──────────────────────────┼────────────────────────────┤
221101chocolatey                │ Manage Chocolatey  package │
221102              │                          │ installs ..                │
221103              ├──────────────────────────┼────────────────────────────┤
221104chronos_job               │ Configure Chronos jobs via │
221105              │                          │ a salt proxy.              │
221106              ├──────────────────────────┼────────────────────────────┤
221107cimc                      │ A state module  to  manage │
221108              │                          │ Cisco UCS chassis devices. │
221109              ├──────────────────────────┼────────────────────────────┤
221110cisconso                  │ State module for Cisco NSO │
221111              │                          │ Proxy minions              │
221112              ├──────────────────────────┼────────────────────────────┤
221113cloud                     │ Using  states  instead  of │
221114              │                          │ maps to deploy clouds      │
221115              ├──────────────────────────┼────────────────────────────┤
221116cmd                       │ Execution   of   arbitrary │
221117              │                          │ commands                   │
221118              ├──────────────────────────┼────────────────────────────┤
221119composer                  │ Installation  of  Composer │
221120              │                          │ Packages                   │
221121              ├──────────────────────────┼────────────────────────────┤
221122cron                      │ Management  of  cron,  the │
221123              │                          │ Unix command scheduler     │
221124              ├──────────────────────────┼────────────────────────────┤
221125csf                       │ CSF Ip tables management   │
221126              ├──────────────────────────┼────────────────────────────┤
221127cyg                       │ Installation   of   Cygwin │
221128              │                          │ packages.                  │
221129              ├──────────────────────────┼────────────────────────────┤
221130ddns                      │ Dynamic DNS updates        │
221131              ├──────────────────────────┼────────────────────────────┤
221132debconfmod                │ Management    of   debconf │
221133              │                          │ selections                 │
221134              ├──────────────────────────┼────────────────────────────┤
221135dellchassis               │ Manage  chassis  via  Salt │
221136              │                          │ Proxies.                   │
221137              ├──────────────────────────┼────────────────────────────┤
221138disk                      │ Disk monitoring state      │
221139              ├──────────────────────────┼────────────────────────────┤
221140docker_container          │ Management  of Docker con‐ │
221141              │                          │ tainers                    │
221142              ├──────────────────────────┼────────────────────────────┤
221143docker_image              │ Management    of    Docker │
221144              │                          │ images                     │
221145              ├──────────────────────────┼────────────────────────────┤
221146docker_network            │ Management  of Docker net‐ │
221147              │                          │ works                      │
221148              ├──────────────────────────┼────────────────────────────┤
221149docker_volume             │ Management of Docker  vol‐ │
221150              │                          │ umes                       │
221151              ├──────────────────────────┼────────────────────────────┤
221152drac                      │ Management of Dell DRAC    │
221153              ├──────────────────────────┼────────────────────────────┤
221154elasticsearch             │ State   module  to  manage │
221155              │                          │ Elasticsearch.             │
221156              ├──────────────────────────┼────────────────────────────┤
221157elasticsearch_index       │ State  module  to   manage │
221158              │                          │ Elasticsearch indices      │
221159              ├──────────────────────────┼────────────────────────────┤
221160elasticsearch_index_tem‐  │ State  module  to   manage │
221161plate                     │ Elasticsearch  index  tem‐ │
221162              │                          │ plates                     │
221163              ├──────────────────────────┼────────────────────────────┤
221164environ                   │ Support  for  getting  and │
221165              │                          │ setting   the  environment │
221166              │                          │ variables of  the  current │
221167              │                          │ salt process.              │
221168              ├──────────────────────────┼────────────────────────────┤
221169eselect                   │ Management  of Gentoo con‐ │
221170              │                          │ figuration using eselect   │
221171              ├──────────────────────────┼────────────────────────────┤
221172etcd_mod                  │ Manage etcd Keys           │
221173              ├──────────────────────────┼────────────────────────────┤
221174ethtool                   │ Configuration  of  network │
221175              │                          │ device                     │
221176              ├──────────────────────────┼────────────────────────────┤
221177esxi                      │ Manage VMware ESXi Hosts.  │
221178              ├──────────────────────────┼────────────────────────────┤
221179event                     │ Send events through Salt's │
221180              │                          │ event system during  state │
221181              │                          │ runs                       │
221182              ├──────────────────────────┼────────────────────────────┤
221183file                      │ Operations    on   regular │
221184              │                          │ files,   special    files, │
221185              │                          │ directories, and symlinks  │
221186              ├──────────────────────────┼────────────────────────────┤
221187firewall                  │ State  to  check  firewall │
221188              │                          │ configurations             │
221189              ├──────────────────────────┼────────────────────────────┤
221190firewalld                 │ Management of firewalld    │
221191              ├──────────────────────────┼────────────────────────────┤
221192gem                       │ Installation of Ruby  mod‐ │
221193              │                          │ ules packaged as gems      │
221194              ├──────────────────────────┼────────────────────────────┤
221195git                       │ States   to   manage   git │
221196              │                          │ repositories and git  con‐ │
221197              │                          │ figuration                 │
221198              ├──────────────────────────┼────────────────────────────┤
221199github                    │ Github User State Module   │
221200              ├──────────────────────────┼────────────────────────────┤
221201glance                    │ Managing  Images  in Open‐ │
221202              │                          │ Stack Glance               │
221203              ├──────────────────────────┼────────────────────────────┤
221204glance_image              │ Management  of   OpenStack │
221205              │                          │ Glance Images              │
221206              ├──────────────────────────┼────────────────────────────┤
221207glusterfs                 │ Manage GlusterFS pool.     │
221208              ├──────────────────────────┼────────────────────────────┤
221209gnomedesktop              │ Configuration of the GNOME │
221210              │                          │ desktop                    │
221211              ├──────────────────────────┼────────────────────────────┤
221212gpg                       │ Management of the GPG key‐ │
221213              │                          │ chains                     │
221214              ├──────────────────────────┼────────────────────────────┤
221215grafana                   │ Manage Grafana Dashboards  │
221216              ├──────────────────────────┼────────────────────────────┤
221217grafana4_dashboard        │ Manage  Grafana v4.0 Dash‐ │
221218              │                          │ boards                     │
221219              ├──────────────────────────┼────────────────────────────┤
221220grafana4_datasource       │ Manage Grafana  v4.0  data │
221221              │                          │ sources                    │
221222              ├──────────────────────────┼────────────────────────────┤
221223grafana4_org              │ Manage Grafana v4.0 orgs   │
221224              ├──────────────────────────┼────────────────────────────┤
221225grafana4_user             │ Manage Grafana v4.0 users  │
221226              ├──────────────────────────┼────────────────────────────┤
221227grafana_dashboard         │ Manage  Grafana v2.0 Dash‐ │
221228              │                          │ boards                     │
221229              ├──────────────────────────┼────────────────────────────┤
221230grafana_datasource        │ Manage Grafana  v2.0  data │
221231              │                          │ sources                    │
221232              ├──────────────────────────┼────────────────────────────┤
221233grains                    │ Manage  grains on the min‐ │
221234              │                          │ ion                        │
221235              ├──────────────────────────┼────────────────────────────┤
221236group                     │ Management of user groups  │
221237              ├──────────────────────────┼────────────────────────────┤
221238heat                      │ Management of Heat         │
221239              ├──────────────────────────┼────────────────────────────┤
221240hg                        │ Interaction with Mercurial │
221241              │                          │ repositories               │
221242              ├──────────────────────────┼────────────────────────────┤
221243host                      │ Management   of  addresses │
221244              │                          │ and names in hosts file    │
221245              ├──────────────────────────┼────────────────────────────┤
221246http                      │ HTTP monitoring states     │
221247              ├──────────────────────────┼────────────────────────────┤
221248icinga2                   │ Icinga2 state              │
221249              ├──────────────────────────┼────────────────────────────┤
221250ifttt                     │ Trigger an event in IFTTT  │
221251              ├──────────────────────────┼────────────────────────────┤
221252incron                    │ Management of incron,  the │
221253              │                          │ inotify cron               │
221254              ├──────────────────────────┼────────────────────────────┤
221255influxdb08_database       │ Management of Influxdb 0.8 │
221256              │                          │ databases                  │
221257              ├──────────────────────────┼────────────────────────────┤
221258influxdb08_user           │ Management of InfluxDB 0.8 │
221259              │                          │ users                      │
221260              ├──────────────────────────┼────────────────────────────┤
221261influxdb_continuous_query │ Management   of   Influxdb │
221262              │                          │ continuous queries         │
221263              ├──────────────────────────┼────────────────────────────┤
221264influxdb_database         │ Management   of   Influxdb │
221265              │                          │ databases                  │
221266              ├──────────────────────────┼────────────────────────────┤
221267influxdb_retention_policy │ Management   of   Influxdb │
221268              │                          │ retention policies         │
221269              ├──────────────────────────┼────────────────────────────┤
221270influxdb_user             │ Management   of   InfluxDB │
221271              │                          │ users                      │
221272              ├──────────────────────────┼────────────────────────────┤
221273infoblox_a                │ Infoblox  A  record manag‐ │
221274              │                          │ ment.                      │
221275              ├──────────────────────────┼────────────────────────────┤
221276infoblox_cname            │ Infoblox CNAME managment.  │
221277              ├──────────────────────────┼────────────────────────────┤
221278infoblox_host_record      │ Infoblox host record  man‐ │
221279              │                          │ agment.                    │
221280              └──────────────────────────┴────────────────────────────┘
221281
221282infoblox_range            │ Infoblox  host record man‐ │
221283              │                          │ agment.                    │
221284              ├──────────────────────────┼────────────────────────────┤
221285ini_manage                │ Manage ini files           │
221286              ├──────────────────────────┼────────────────────────────┤
221287ipmi                      │ Manage IPMI  devices  over │
221288              │                          │ LAN                        │
221289              ├──────────────────────────┼────────────────────────────┤
221290ipset                     │ Management of ipsets       │
221291              ├──────────────────────────┼────────────────────────────┤
221292iptables                  │ Management of iptables     │
221293              ├──────────────────────────┼────────────────────────────┤
221294jboss7                    │ Manage JBoss 7 Application │
221295              │                          │ Server via CLI interface   │
221296              ├──────────────────────────┼────────────────────────────┤
221297jenkins                   │ Management of Jenkins      │
221298              ├──────────────────────────┼────────────────────────────┤
221299junos                     │ State modules to  interact │
221300              │                          │ with Junos devices.        │
221301              ├──────────────────────────┼────────────────────────────┤
221302kapacitor                 │ Kapacitor state module.    │
221303              ├──────────────────────────┼────────────────────────────┤
221304kernelpkg                 │ Manage kernel packages and │
221305              │                          │ active kernel version      │
221306              ├──────────────────────────┼────────────────────────────┤
221307keyboard                  │ Management   of   keyboard │
221308              │                          │ layouts                    │
221309              ├──────────────────────────┼────────────────────────────┤
221310keystone                  │ Management   of   Keystone │
221311              │                          │ users                      │
221312              ├──────────────────────────┼────────────────────────────┤
221313keystone_domain           │ Management  of   OpenStack │
221314              │                          │ Keystone Domains           │
221315              ├──────────────────────────┼────────────────────────────┤
221316keystone_endpoint         │ Management   of  OpenStack │
221317              │                          │ Keystone Endpoints         │
221318              ├──────────────────────────┼────────────────────────────┤
221319keystone_group            │ Management  of   OpenStack │
221320              │                          │ Keystone Groups            │
221321              ├──────────────────────────┼────────────────────────────┤
221322keystone_project          │ Management   of  OpenStack │
221323              │                          │ Keystone Projects          │
221324              ├──────────────────────────┼────────────────────────────┤
221325keystone_role             │ Management  of   OpenStack │
221326              │                          │ Keystone Roles             │
221327              ├──────────────────────────┼────────────────────────────┤
221328keystone_role_grant       │ Management   of  OpenStack │
221329              │                          │ Keystone Role Grants       │
221330              ├──────────────────────────┼────────────────────────────┤
221331keystone_service          │ Management  of   OpenStack │
221332              │                          │ Keystone Services          │
221333              ├──────────────────────────┼────────────────────────────┤
221334keystone_user             │ Management   of  OpenStack │
221335              │                          │ Keystone Users             │
221336              ├──────────────────────────┼────────────────────────────┤
221337keystore                  │ State management of a java │
221338              │                          │ keystore                   │
221339              ├──────────────────────────┼────────────────────────────┤
221340kmod                      │ Loading  and  unloading of │
221341              │                          │ kernel modules             │
221342              ├──────────────────────────┼────────────────────────────┤
221343kubernetes                │ Manage          kubernetes │
221344              │                          │ resources as salt states   │
221345              ├──────────────────────────┼────────────────────────────┤
221346layman                    │ Management of Gentoo Over‐ │
221347              │                          │ lays using layman          │
221348              ├──────────────────────────┼────────────────────────────┤
221349ldap                      │ Manage entries in an  LDAP │
221350              │                          │ database                   │
221351              ├──────────────────────────┼────────────────────────────┤
221352libcloud_dns              │ Manage   DNS  records  and │
221353              │                          │ zones using libcloud       │
221354              ├──────────────────────────┼────────────────────────────┤
221355libcloud_loadbalancer     │ Apache Libcloud Load  Bal‐ │
221356              │                          │ ancer State                │
221357              ├──────────────────────────┼────────────────────────────┤
221358libcloud_storage          │ Apache   Libcloud  Storage │
221359              │                          │ State                      │
221360              ├──────────────────────────┼────────────────────────────┤
221361linux_acl                 │ Linux File Access  Control │
221362              │                          │ Lists                      │
221363              ├──────────────────────────┼────────────────────────────┤
221364locale                    │ Management     of     lan‐ │
221365              │                          │ guages/locales             │
221366              ├──────────────────────────┼────────────────────────────┤
221367logadm                    │ Management of  logs  using │
221368              │                          │ Solaris logadm.            │
221369              ├──────────────────────────┼────────────────────────────┤
221370logrotate                 │ Module for managing logro‐ │
221371              │                          │ tate.                      │
221372              ├──────────────────────────┼────────────────────────────┤
221373loop                      │ Loop state                 │
221374              ├──────────────────────────┼────────────────────────────┤
221375lvm                       │ Management of Linux  logi‐ │
221376              │                          │ cal volumes                │
221377              ├──────────────────────────┼────────────────────────────┤
221378lvs_server                │ Management  of  LVS (Linux │
221379              │                          │ Virtual    Server)    Real │
221380              │                          │ Server                     │
221381              ├──────────────────────────┼────────────────────────────┤
221382lvs_service               │ Management  of  LVS (Linux │
221383              │                          │ Virtual Server) Service    │
221384              ├──────────────────────────┼────────────────────────────┤
221385lxc                       │ Manage Linux Containers    │
221386              ├──────────────────────────┼────────────────────────────┤
221387mac_assistive             │ Allows   you   to   manage │
221388              │                          │ assistive  access on macOS │
221389              │                          │ minions with 10.9+         │
221390              ├──────────────────────────┼────────────────────────────┤
221391macdefaults               │ Writing/reading   defaults │
221392              │                          │ from a macOS minion        │
221393              ├──────────────────────────┼────────────────────────────┤
221394mac_keychain              │ Installing of certificates │
221395              │                          │ to the keychain            │
221396              ├──────────────────────────┼────────────────────────────┤
221397macpackage                │ Installing  of   mac   pkg │
221398              │                          │ files                      │
221399              ├──────────────────────────┼────────────────────────────┤
221400mac_xattr                 │ Allows   you   to   manage │
221401              │                          │ extended   attributes   on │
221402              │                          │ files or directories       │
221403              ├──────────────────────────┼────────────────────────────┤
221404makeconf                  │ Management    of    Gentoo │
221405              │                          │ make.conf                  │
221406              ├──────────────────────────┼────────────────────────────┤
221407marathon_app              │ Configure  Marathon   apps │
221408              │                          │ via a salt proxy.          │
221409              ├──────────────────────────┼────────────────────────────┤
221410mdadm_raid                │ Managing   software   RAID │
221411              │                          │ with mdadm                 │
221412              ├──────────────────────────┼────────────────────────────┤
221413memcached                 │ States for  Management  of │
221414              │                          │ Memcached Keys             │
221415              ├──────────────────────────┼────────────────────────────┤
221416modjk                     │ State  to  control  Apache │
221417              │                          │ modjk                      │
221418              ├──────────────────────────┼────────────────────────────┤
221419modjk_worker              │ Manage modjk workers       │
221420              ├──────────────────────────┼────────────────────────────┤
221421module                    │ Execution of Salt  modules │
221422              │                          │ from within states         │
221423              ├──────────────────────────┼────────────────────────────┤
221424mongodb_database          │ Management    of   MongoDB │
221425              │                          │ Databases                  │
221426              ├──────────────────────────┼────────────────────────────┤
221427mongodb_user              │ Management   of    MongoDB │
221428              │                          │ Users                      │
221429              ├──────────────────────────┼────────────────────────────┤
221430monit                     │ Monit state                │
221431              ├──────────────────────────┼────────────────────────────┤
221432mount                     │ Mounting of filesystems    │
221433              ├──────────────────────────┼────────────────────────────┤
221434msteams                   │ Send a message card to Mi‐ │
221435              │                          │ crosoft Teams              │
221436              ├──────────────────────────┼────────────────────────────┤
221437mysql_database            │ Management of MySQL  data‐ │
221438              │                          │ bases (schemas)            │
221439              ├──────────────────────────┼────────────────────────────┤
221440mysql_grants              │ Management of MySQL grants │
221441              │                          │ (user permissions)         │
221442              ├──────────────────────────┼────────────────────────────┤
221443mysql_query               │ Execution of MySQL queries │
221444              ├──────────────────────────┼────────────────────────────┤
221445mysql_user                │ Management of MySQL users  │
221446              ├──────────────────────────┼────────────────────────────┤
221447netacl                    │ Network ACL                │
221448              ├──────────────────────────┼────────────────────────────┤
221449netconfig                 │ Network Config             │
221450              ├──────────────────────────┼────────────────────────────┤
221451netntp                    │ Network NTP                │
221452              ├──────────────────────────┼────────────────────────────┤
221453netsnmp                   │ Network SNMP               │
221454              ├──────────────────────────┼────────────────────────────┤
221455netusers                  │ Network Users              │
221456              ├──────────────────────────┼────────────────────────────┤
221457network                   │ Configuration  of  network │
221458              │                          │ interfaces                 │
221459              ├──────────────────────────┼────────────────────────────┤
221460net_napalm_yang           │ NAPALM YANG state          │
221461              ├──────────────────────────┼────────────────────────────┤
221462neutron_network           │ Management   of  OpenStack │
221463              │                          │ Neutron Networks           │
221464              ├──────────────────────────┼────────────────────────────┤
221465neutron_secgroup          │ Management  of   OpenStack │
221466              │                          │ Neutron Security Groups    │
221467              ├──────────────────────────┼────────────────────────────┤
221468neutron_secgroup_rule     │ Management   of  OpenStack │
221469              │                          │ Neutron   Security   Group │
221470              │                          │ Rules                      │
221471              ├──────────────────────────┼────────────────────────────┤
221472neutron_subnet            │ Management   of  OpenStack │
221473              │                          │ Neutron Subnets            │
221474              ├──────────────────────────┼────────────────────────────┤
221475nfs_export                │ Management of NFS exports  │
221476              ├──────────────────────────┼────────────────────────────┤
221477nftables                  │ Management of nftables     │
221478              ├──────────────────────────┼────────────────────────────┤
221479npm                       │ Installation of NPM  Pack‐ │
221480              │                          │ ages                       │
221481              ├──────────────────────────┼────────────────────────────┤
221482ntp                       │ Management of NTP servers  │
221483              ├──────────────────────────┼────────────────────────────┤
221484nxos                      │ State  module for Cisco NX │
221485              │                          │ OS Switches Proxy minions  │
221486              ├──────────────────────────┼────────────────────────────┤
221487openstack_config          │ Manage OpenStack  configu‐ │
221488              │                          │ ration file settings.      │
221489              ├──────────────────────────┼────────────────────────────┤
221490openvswitch_bridge        │ Management of Open vSwitch │
221491              │                          │ bridges.                   │
221492              ├──────────────────────────┼────────────────────────────┤
221493openvswitch_port          │ Management of Open vSwitch │
221494              │                          │ ports.                     │
221495              ├──────────────────────────┼────────────────────────────┤
221496opsgenie                  │ Create/Close  an  alert in │
221497              │                          │ OpsGenie                   │
221498              ├──────────────────────────┼────────────────────────────┤
221499pagerduty                 │ Create an Event in  Pager‐ │
221500              │                          │ Duty                       │
221501              ├──────────────────────────┼────────────────────────────┤
221502pagerduty_escalation_pol‐ │ Manage  PagerDuty  escala‐ │
221503icy                       │ tion policies.             │
221504              ├──────────────────────────┼────────────────────────────┤
221505pagerduty_schedule        │ Manage   PagerDuty  sched‐ │
221506              │                          │ ules.                      │
221507              ├──────────────────────────┼────────────────────────────┤
221508pagerduty_service         │ Manage PagerDuty services  │
221509              ├──────────────────────────┼────────────────────────────┤
221510pagerduty_user            │ Manage PagerDuty users.    │
221511              ├──────────────────────────┼────────────────────────────┤
221512panos                     │ A state module  to  manage │
221513              │                          │ Palo Alto network devices. │
221514              ├──────────────────────────┼────────────────────────────┤
221515pcs                       │ Management     of    Pace‐ │
221516              │                          │ maker/Corosync    clusters │
221517              │                          │ with PCS                   │
221518              ├──────────────────────────┼────────────────────────────┤
221519pecl                      │ Installation of PHP Exten‐ │
221520              │                          │ sions Using pecl           │
221521              ├──────────────────────────┼────────────────────────────┤
221522pdbedit                   │ Manage accounts in Samba's │
221523              │                          │ passdb using pdbedit       │
221524              ├──────────────────────────┼────────────────────────────┤
221525pip_state                 │ Installation   of   Python │
221526              │                          │ Packages Using pip         │
221527              ├──────────────────────────┼────────────────────────────┤
221528pkg                       │ Installation  of  packages │
221529              │                          │ using  OS package managers │
221530              │                          │ such as yum or apt-get     │
221531              ├──────────────────────────┼────────────────────────────┤
221532pkgbuild                  │ The pkgbuild state is  the │
221533              │                          │ front   of   Salt  package │
221534              │                          │ building backend.          │
221535              ├──────────────────────────┼────────────────────────────┤
221536pkgng                     │ Manage package remote repo │
221537              │                          │ using FreeBSD pkgng        │
221538              ├──────────────────────────┼────────────────────────────┤
221539pkgrepo                   │ Management              of │
221540              │                          │ APT/DNF/YUM/Zypper package │
221541              │                          │ repos                      │
221542              ├──────────────────────────┼────────────────────────────┤
221543portage_config            │ Management    of   Portage │
221544              │                          │ package  configuration  on │
221545              │                          │ Gentoo                     │
221546              ├──────────────────────────┼────────────────────────────┤
221547ports                     │ Manage software from Free‐ │
221548              │                          │ BSD ports                  │
221549              ├──────────────────────────┼────────────────────────────┤
221550postgres_cluster          │ Management  of  PostgreSQL │
221551              │                          │ clusters                   │
221552              ├──────────────────────────┼────────────────────────────┤
221553postgres_database         │ Management  of  PostgreSQL │
221554              │                          │ databases                  │
221555              ├──────────────────────────┼────────────────────────────┤
221556postgres_extension        │ Management  of  PostgreSQL │
221557              │                          │ extensions                 │
221558              ├──────────────────────────┼────────────────────────────┤
221559postgres_group            │ Management  of  PostgreSQL │
221560              │                          │ groups (roles)             │
221561              ├──────────────────────────┼────────────────────────────┤
221562postgres_initdb           │ Initialization  of   Post‐ │
221563              │                          │ greSQL data directory      │
221564              ├──────────────────────────┼────────────────────────────┤
221565postgres_language         │ Management  of  PostgreSQL │
221566              │                          │ languages                  │
221567              ├──────────────────────────┼────────────────────────────┤
221568postgres_privileges       │ Management  of  PostgreSQL │
221569              │                          │ Privileges                 │
221570              ├──────────────────────────┼────────────────────────────┤
221571postgres_schema           │ Management  of  PostgreSQL │
221572              │                          │ schemas                    │
221573              ├──────────────────────────┼────────────────────────────┤
221574postgres_tablespace       │ Management  of  PostgreSQL │
221575              │                          │ tablespace                 │
221576              ├──────────────────────────┼────────────────────────────┤
221577postgres_user             │ Management  of  PostgreSQL │
221578              │                          │ users (roles)              │
221579              ├──────────────────────────┼────────────────────────────┤
221580powerpath                 │ Powerpath    configuration │
221581              │                          │ support                    │
221582              ├──────────────────────────┼────────────────────────────┤
221583probes                    │ Network Probes             │
221584              ├──────────────────────────┼────────────────────────────┤
221585process                   │ Process Management         │
221586              ├──────────────────────────┼────────────────────────────┤
221587proxy                     │ Allows you to manage proxy │
221588              │                          │ settings on minions        │
221589              ├──────────────────────────┼────────────────────────────┤
221590pushover                  │ Send a message to PushOver │
221591              ├──────────────────────────┼────────────────────────────┤
221592pyenv                     │ Managing python  installa‐ │
221593              │                          │ tions with pyenv           │
221594              ├──────────────────────────┼────────────────────────────┤
221595pyrax_queues              │ Manage Rackspace Queues    │
221596              ├──────────────────────────┼────────────────────────────┤
221597quota                     │ Management of POSIX Quotas │
221598              ├──────────────────────────┼────────────────────────────┤
221599rabbitmq_cluster          │ Manage RabbitMQ Clusters   │
221600              ├──────────────────────────┼────────────────────────────┤
221601rabbitmq_plugin           │ Manage RabbitMQ Plugins    │
221602              ├──────────────────────────┼────────────────────────────┤
221603rabbitmq_policy           │ Manage RabbitMQ Policies   │
221604              ├──────────────────────────┼────────────────────────────┤
221605rabbitmq_upstream         │ Manage RabbitMQ Upstreams  │
221606              ├──────────────────────────┼────────────────────────────┤
221607rabbitmq_user             │ Manage RabbitMQ Users      │
221608              ├──────────────────────────┼────────────────────────────┤
221609rabbitmq_vhost            │ Manage   RabbitMQ  Virtual │
221610              │                          │ Hosts                      │
221611              ├──────────────────────────┼────────────────────────────┤
221612rbac_solaris              │ Management of Solaris RBAC │
221613              ├──────────────────────────┼────────────────────────────┤
221614rbenv                     │ Managing  Ruby   installa‐ │
221615              │                          │ tions with rbenv           │
221616              ├──────────────────────────┼────────────────────────────┤
221617rdp                       │ Manage RDP Service on Win‐ │
221618              │                          │ dows servers               │
221619              ├──────────────────────────┼────────────────────────────┤
221620redismod                  │ Management of Redis server │
221621              ├──────────────────────────┼────────────────────────────┤
221622reg                       │ Manage  the  Windows  reg‐ │
221623              │                          │ istry                      │
221624              ├──────────────────────────┼────────────────────────────┤
221625rsync                     │ State to synchronize files │
221626              │                          │ and    directories    with │
221627              │                          │ rsync.                     │
221628              ├──────────────────────────┼────────────────────────────┤
221629rvm                       │ Managing   Ruby  installa‐ │
221630              │                          │ tions  and  gemsets   with │
221631              │                          │ Ruby Version Manager (RVM) │
221632              ├──────────────────────────┼────────────────────────────┤
221633salt_proxy                │ Salt proxy state           │
221634              ├──────────────────────────┼────────────────────────────┤
221635saltmod                   │ Control  the  Salt command │
221636              │                          │ interface                  │
221637              ├──────────────────────────┼────────────────────────────┤
221638saltutil                  │ Saltutil State             │
221639              ├──────────────────────────┼────────────────────────────┤
221640schedule                  │ Management  of  the   Salt │
221641              │                          │ scheduler                  │
221642              ├──────────────────────────┼────────────────────────────┤
221643selinux                   │ Management    of   SELinux │
221644              │                          │ rules                      │
221645              ├──────────────────────────┼────────────────────────────┤
221646serverdensity_device      │ Monitor Server with Server │
221647              │                          │ Density                    │
221648              ├──────────────────────────┼────────────────────────────┤
221649service                   │ Starting  or restarting of │
221650              │                          │ services and daemons       │
221651              ├──────────────────────────┼────────────────────────────┤
221652slack                     │ Send a message to Slack    │
221653              ├──────────────────────────┼────────────────────────────┤
221654smartos                   │ Management   of    SmartOS │
221655              │                          │ Standalone Compute Nodes   │
221656              ├──────────────────────────┼────────────────────────────┤
221657smtp                      │ Sending Messages via SMTP  │
221658              ├──────────────────────────┼────────────────────────────┤
221659snapper                   │ Managing   implicit  state │
221660              │                          │ and baselines using  snap‐ │
221661              │                          │ shots                      │
221662              ├──────────────────────────┼────────────────────────────┤
221663solrcloud                 │ States for solrcloud alias │
221664              │                          │ and collection  configura‐ │
221665              │                          │ tion                       │
221666              ├──────────────────────────┼────────────────────────────┤
221667splunk                    │ Splunk User State Module   │
221668              ├──────────────────────────┼────────────────────────────┤
221669splunk_search             │ Splunk Search State Module │
221670              ├──────────────────────────┼────────────────────────────┤
221671sqlite3                   │ Management    of   SQLite3 │
221672              │                          │ databases                  │
221673              ├──────────────────────────┼────────────────────────────┤
221674ssh_auth                  │ Control of entries in  SSH │
221675              │                          │ authorized_key files       │
221676              ├──────────────────────────┼────────────────────────────┤
221677ssh_known_hosts           │ Control of SSH known_hosts │
221678              │                          │ entries                    │
221679              └──────────────────────────┴────────────────────────────┘
221680
221681stateconf                 │ Stateconf System           │
221682              ├──────────────────────────┼────────────────────────────┤
221683status                    │ Minion status monitoring   │
221684              ├──────────────────────────┼────────────────────────────┤
221685statuspage                │ StatusPage                 │
221686              ├──────────────────────────┼────────────────────────────┤
221687supervisord               │ Interaction    with    the │
221688              │                          │ Supervisor daemon          │
221689              ├──────────────────────────┼────────────────────────────┤
221690svn                       │ Manage SVN repositories    │
221691              ├──────────────────────────┼────────────────────────────┤
221692sysctl                    │ Configuration  of the ker‐ │
221693              │                          │ nel using sysctl           │
221694              ├──────────────────────────┼────────────────────────────┤
221695syslog_ng                 │ State module for syslog_ng │
221696              ├──────────────────────────┼────────────────────────────┤
221697sysrc                     │ State to work with sysrc   │
221698              ├──────────────────────────┼────────────────────────────┤
221699telemetry_alert           │ Manage   Telemetry   alert │
221700              │                          │ configurations             │
221701              ├──────────────────────────┼────────────────────────────┤
221702test                      │ Test States                │
221703              ├──────────────────────────┼────────────────────────────┤
221704testinframod              │                            │
221705              ├──────────────────────────┼────────────────────────────┤
221706timezone                  │ Management of timezones    │
221707              ├──────────────────────────┼────────────────────────────┤
221708tls                       │ Enforce state for SSL/TLS  │
221709              ├──────────────────────────┼────────────────────────────┤
221710tomcat                    │ Manage  Apache  Tomcat web │
221711              │                          │ applications               │
221712              ├──────────────────────────┼────────────────────────────┤
221713trafficserver             │ Control   Apache   Traffic │
221714              │                          │ Server                     │
221715              ├──────────────────────────┼────────────────────────────┤
221716tuned                     │ Interface   to   Red   Hat │
221717              │                          │ tuned-adm module           │
221718              ├──────────────────────────┼────────────────────────────┤
221719uptime                    │ Monitor  Web  Server  with │
221720              │                          │ Uptime                     │
221721              ├──────────────────────────┼────────────────────────────┤
221722user                      │ Management     of     user │
221723              │                          │ accounts                   │
221724              ├──────────────────────────┼────────────────────────────┤
221725vagrant                   │ Manage Vagrant VMs         │
221726              ├──────────────────────────┼────────────────────────────┤
221727vault                     │ States    for     managing │
221728              │                          │ Hashicorp Vault.           │
221729              ├──────────────────────────┼────────────────────────────┤
221730vbox_guest                │ VirtualBox Guest Additions │
221731              │                          │ installer state            │
221732              ├──────────────────────────┼────────────────────────────┤
221733victorops                 │ Create an  Event  in  Vic‐ │
221734              │                          │ torOps                     │
221735              ├──────────────────────────┼────────────────────────────┤
221736virt                      │ Manage virt                │
221737              ├──────────────────────────┼────────────────────────────┤
221738virtualenv_mod            │ Setup of Python virtualenv │
221739              │                          │ sandboxes.                 │
221740              ├──────────────────────────┼────────────────────────────┤
221741webutil                   │ Support for htpasswd  mod‐ │
221742              │                          │ ule.                       │
221743              ├──────────────────────────┼────────────────────────────┤
221744win_certutil              │ Installing of certificates │
221745              │                          │ to the Windows Certificate │
221746              │                          │ Manager                    │
221747              ├──────────────────────────┼────────────────────────────┤
221748win_dacl                  │ Windows Object Access Con‐ │
221749              │                          │ trol Lists                 │
221750              ├──────────────────────────┼────────────────────────────┤
221751win_dism                  │ Installing of Windows fea‐ │
221752              │                          │ tures using DISM           │
221753              ├──────────────────────────┼────────────────────────────┤
221754win_dns_client            │ Module for configuring DNS │
221755              │                          │ Client on Windows systems  │
221756              ├──────────────────────────┼────────────────────────────┤
221757win_firewall              │ State for configuring Win‐ │
221758              │                          │ dows Firewall              │
221759              ├──────────────────────────┼────────────────────────────┤
221760win_iis                   │ Microsoft IIS site manage‐ │
221761              │                          │ ment                       │
221762              ├──────────────────────────┼────────────────────────────┤
221763win_lgpo                  │ Manage Windows Local Group │
221764              │                          │ Policy                     │
221765              ├──────────────────────────┼────────────────────────────┤
221766win_license               │ Installation  and  activa‐ │
221767              │                          │ tion of windows licenses   │
221768              ├──────────────────────────┼────────────────────────────┤
221769win_network               │ Configuration  of  network │
221770              │                          │ interfaces    on   Windows │
221771              │                          │ hosts                      │
221772              ├──────────────────────────┼────────────────────────────┤
221773win_path                  │ Manage the Windows  System │
221774              │                          │ PATH                       │
221775              ├──────────────────────────┼────────────────────────────┤
221776win_pki                   │ Microsoft certificate man‐ │
221777              │                          │ agement via the Pki Power‐ │
221778              │                          │ Shell module.              │
221779              ├──────────────────────────┼────────────────────────────┤
221780win_powercfg              │ This  module allows you to │
221781              │                          │ control the power settings │
221782              │                          │ of  a  windows  minion via │
221783              │                          │ powercfg.                  │
221784              ├──────────────────────────┼────────────────────────────┤
221785win_servermanager         │ Manage  Windows   features │
221786              │                          │ via the ServerManager pow‐ │
221787              │                          │ ershell module.            │
221788              ├──────────────────────────┼────────────────────────────┤
221789win_smtp_server           │ Module  for  managing  IIS │
221790              │                          │ SMTP  server configuration │
221791              │                          │ on Windows servers.        │
221792              ├──────────────────────────┼────────────────────────────┤
221793win_snmp                  │ Module for  managing  SNMP │
221794              │                          │ service  settings  on Win‐ │
221795              │                          │ dows servers.              │
221796              ├──────────────────────────┼────────────────────────────┤
221797win_system                │ Management of Windows sys‐ │
221798              │                          │ tem information            │
221799              ├──────────────────────────┼────────────────────────────┤
221800win_wua                   │ Installation   of  Windows │
221801              │                          │ Updates using the  Windows │
221802              │                          │ Update Agent               │
221803              ├──────────────────────────┼────────────────────────────┤
221804win_wusa                  │ Microsoft   Updates   (KB) │
221805              │                          │ Management                 │
221806              ├──────────────────────────┼────────────────────────────┤
221807winrepo                   │ Manage   Windows   Package │
221808              │                          │ Repository                 │
221809              ├──────────────────────────┼────────────────────────────┤
221810x509                      │ Manage X509 Certificates   │
221811              ├──────────────────────────┼────────────────────────────┤
221812xml                       │ XML Manager                │
221813              ├──────────────────────────┼────────────────────────────┤
221814xmpp                      │ Sending Messages over XMPP │
221815              ├──────────────────────────┼────────────────────────────┤
221816zabbix_action             │ New in version 2017.7.     │
221817              ├──────────────────────────┼────────────────────────────┤
221818zabbix_host               │ Management    of    Zabbix │
221819              │                          │ hosts.                     │
221820              ├──────────────────────────┼────────────────────────────┤
221821zabbix_hostgroup          │ Management of Zabbix  host │
221822              │                          │ groups.                    │
221823              ├──────────────────────────┼────────────────────────────┤
221824zabbix_mediatype          │ Management of Zabbix medi‐ │
221825              │                          │ atypes.                    │
221826              ├──────────────────────────┼────────────────────────────┤
221827zabbix_template           │ New in version 2017.7.     │
221828              ├──────────────────────────┼────────────────────────────┤
221829zabbix_user               │ Management    of    Zabbix │
221830              │                          │ users.                     │
221831              ├──────────────────────────┼────────────────────────────┤
221832zabbix_usergroup          │ Management  of Zabbix user │
221833              │                          │ groups.                    │
221834              ├──────────────────────────┼────────────────────────────┤
221835zabbix_valuemap           │ New in version 2017.7.     │
221836              ├──────────────────────────┼────────────────────────────┤
221837zcbuildout                │ Management of zc.buildout  │
221838              ├──────────────────────────┼────────────────────────────┤
221839zenoss                    │ State to manage monitoring │
221840              │                          │ in Zenoss.                 │
221841              ├──────────────────────────┼────────────────────────────┤
221842zk_concurrency            │ Control   concurrency   of │
221843              │                          │ steps within state  execu‐ │
221844              │                          │ tion using zookeeper       │
221845              ├──────────────────────────┼────────────────────────────┤
221846zfs                       │ States  for  managing  zfs │
221847              │                          │ datasets                   │
221848              ├──────────────────────────┼────────────────────────────┤
221849zone                      │ Management   of    Solaris │
221850              │                          │ Zones                      │
221851              ├──────────────────────────┼────────────────────────────┤
221852zookeeper                 │                            │
221853              │                          │        depends             
221854              │                          │               kazoo        │
221855              ├──────────────────────────┼────────────────────────────┤
221856zpool                     │ States for managing zpools │
221857              └──────────────────────────┴────────────────────────────┘
221858
221859   salt.states.acme module
221860   ACME / Let's Encrypt certificate management state
221861       See also the module documentation
221862
221863          reload-gitlab:
221864            cmd.run:
221865              - name: gitlab-ctl hup
221866
221867          dev.example.com:
221868            acme.cert:
221869              - aliases:
221870                - gitlab.example.com
221871              - email: acmemaster@example.com
221872              - webroot: /opt/gitlab/embedded/service/gitlab-rails/public
221873              - renew: 14
221874              - fire_event: acme/dev.example.com
221875              - onchanges_in:
221876                - cmd: reload-gitlab
221877
221878       salt.states.acme.cert(name,   aliases=None,  email=None,  webroot=None,
221879       test_cert=False, renew=None, keysize=None, server=None,  owner=u'root',
221880       group=u'root',  mode=u'0640', certname=None, preferred_challenges=None,
221881       tls_sni_01_port=None,    tls_sni_01_address=None,    http_01_port=None,
221882       http_01_address=None, dns_plugin=None, dns_plugin_credentials=None)
221883              Obtain/renew  a  certificate  from  an  ACME  CA, probably Let's
221884              Encrypt.
221885
221886              Parameters
221887
221888                     · name -- Common Name of the  certificate  (DNS  name  of
221889                       certificate)
221890
221891                     · aliases  --  subjectAltNames  (Additional  DNS names on
221892                       certificate)
221893
221894                     · email --  e-mail  address  for  interaction  with  ACME
221895                       provider
221896
221897                     · webroot  --  True  or a full path to webroot. Otherwise
221898                       use standalone mode
221899
221900                     · test_cert --  Request  a  certificate  from  the  Happy
221901                       Hacker Fake CA (mutually exclusive with 'server')
221902
221903                     · renew  --  True/'force' to force a renewal, or a window
221904                       of renewal before expiry in days
221905
221906                     · keysize -- RSA key bits
221907
221908                     · server -- API endpoint to talk to
221909
221910                     · owner -- owner of the private key file
221911
221912                     · group -- group of the private key file
221913
221914                     · mode -- mode of the private key file
221915
221916                     · certname -- Name of the certificate to save
221917
221918                     · preferred_challenges -- A sorted, comma delimited  list
221919                       of  the preferred challenge to use during authorization
221920                       with the most preferred challenge listed first.
221921
221922                     · tls_sni_01_port -- Port used  during  tls-sni-01  chal‐
221923                       lenge. This only affects the port Certbot listens on. A
221924                       conforming ACME server will still attempt to connect on
221925                       port 443.
221926
221927                     · tls_sni_01_address -- The address the server listens to
221928                       during tls-sni-01 challenge.
221929
221930                     · http_01_port -- Port used  in  the  http-01  challenge.
221931                       This  only  affects the port Certbot listens on. A con‐
221932                       forming ACME server will still attempt  to  connect  on
221933                       port 80.
221934
221935                     · https_01_address  --  The address the server listens to
221936                       during http-01 challenge.
221937
221938                     · dns_plugin -- Name of a DNS plugin  to  use  (currently
221939                       only 'cloudflare')
221940
221941                     · dns_plugin_credentials  -- Path to the credentials file
221942                       if required by the specified DNS plugin
221943
221944   salt.states.alias
221945       Configuration of email aliases
221946
221947       The mail aliases file can be managed to contain  definitions  for  spe‐
221948       cific email aliases:
221949
221950          username:
221951            alias.present:
221952              - target: user@example.com
221953
221954          thomas:
221955            alias.present:
221956              - target: thomas@example.com
221957
221958       The  default  alias  file  is set to /etc/aliases, as defined in Salt's
221959       config execution module. To change the  alias  file  from  the  default
221960       location, set the following in your minion config:
221961
221962          aliases.file: /my/alias/file
221963
221964       salt.states.alias.absent(name)
221965              Ensure that the named alias is absent
221966
221967              name   The alias to remove
221968
221969       salt.states.alias.present(name, target)
221970              Ensures that the named alias is present with the given target or
221971              list of targets. If the alias exists but the target differs from
221972              the  previous  entry,  the target(s) will be overwritten. If the
221973              alias does not exist, the alias will be created.
221974
221975              name   The local user/address to assign an alias to
221976
221977              target The forwarding address
221978
221979   salt.states.alternatives
221980       Configuration of the alternatives system
221981
221982       Control the alternatives system
221983
221984          {% set my_hadoop_conf = '/opt/hadoop/conf' %}
221985
221986          {{ my_hadoop_conf }}:
221987            file.directory
221988
221989          hadoop-0.20-conf:
221990            alternatives.install:
221991              - name: hadoop-0.20-conf
221992              - link: /etc/hadoop-0.20/conf
221993              - path: {{ my_hadoop_conf }}
221994              - priority: 30
221995              - require:
221996                - file: {{ my_hadoop_conf }}
221997
221998          hadoop-0.20-conf:
221999            alternatives.remove:
222000              - name: hadoop-0.20-conf
222001              - path: {{ my_hadoop_conf }}
222002
222003       salt.states.alternatives.auto(name)
222004              New in version 0.17.0.
222005
222006
222007              Instruct alternatives to  use  the  highest  priority  path  for
222008              <name>
222009
222010              name   is the master name for this link group (e.g. pager)
222011
222012       salt.states.alternatives.install(name, link, path, priority)
222013              Install new alternative for defined <name>
222014
222015              name   is the master name for this link group (e.g. pager)
222016
222017              link   is  the  symlink  pointing  to  /etc/alternatives/<name>.
222018                     (e.g. /usr/bin/pager)
222019
222020              path   is the location of the new alternative target.  NB:  This
222021                     file    /    directory   must   already   exist.    (e.g.
222022                     /usr/bin/less)
222023
222024              priority
222025                     is an integer; options with higher  numbers  have  higher
222026                     priority in automatic mode.
222027
222028       salt.states.alternatives.remove(name, path)
222029              Removes  installed  alternative for defined <name> and <path> or
222030              fallback to default alternative, if some defined before.
222031
222032              name   is the master name for this link group (e.g. pager)
222033
222034              path   is the location of one of the alternative  target  files.
222035                     (e.g. /usr/bin/less)
222036
222037       salt.states.alternatives.set_(name, path)
222038              New in version 0.17.0.
222039
222040
222041              Sets  alternative  for <name> to <path>, if <path> is defined as
222042              an alternative for <name>.
222043
222044              name   is the master name for this link group (e.g. pager)
222045
222046              path   is the location of one of the alternative  target  files.
222047                     (e.g. /usr/bin/less)
222048
222049                 foo:
222050                   alternatives.set:
222051                     - path: /usr/bin/foo-2.0
222052
222053   salt.states.ansiblegate
222054   Execution of Ansible modules from within states
222055       With ansible.call these states allow individual Ansible module calls to
222056       be made via states. To call an Ansible module function use a module.run
222057       state:
222058
222059          some_set_of_tasks:
222060            ansible:
222061              - system.ping
222062              - packaging.os.zypper
222063                - name: emacs
222064                - state: installed
222065
222066       class salt.states.ansiblegate.AnsibleState
222067              Ansible state caller.
222068
222069              get_args(argset)
222070                     Get args and kwargs from the argset.
222071
222072                     Parameters
222073                            argset --
222074
222075                     Returns
222076
222077
222078       salt.states.ansiblegate.playbooks(name,   rundir=None,   git_repo=None,
222079       git_kwargs=None, ansible_kwargs=None)
222080              Run Ansible Playbooks
222081
222082              Parameters
222083
222084                     · name -- path to  playbook.  This  can  be  relative  to
222085                       rundir or the git repo
222086
222087                     · rundir -- location to run ansible-playbook from.
222088
222089                     · git_repo  --  git repository to clone for ansible play‐
222090                       books.  This is cloned using the git.latest state,  and
222091                       is  cloned  to the rundir if specified, otherwise it is
222092                       clone to the cache_dir
222093
222094                     · git_kwargs -- extra kwargs to pass to git.latest  state
222095                       module besides the name and target
222096
222097                     · ansible_kwargs -- extra kwargs to pass to ansible.play‐
222098                       books execution module besides the name and target
222099
222100              Returns
222101                     Ansible playbook output.
222102
222103                 run nginx install:
222104                   ansible.playbooks:
222105                     - name: install.yml
222106                     - git_repo: git://github.com/gituser/playbook.git
222107                     - git_kwargs:
222108                         rev: master
222109
222110   salt.states.apache
222111       Apache state
222112
222113       New in version 2014.7.0.
222114
222115
222116       Allows for inputting a yaml dictionary into a file for apache  configu‐
222117       ration files.
222118
222119       The variable this is special and signifies what should be included with
222120       the above word between angle brackets (<>).
222121
222122          /etc/httpd/conf.d/website.com.conf:
222123            apache.configfile:
222124              - config:
222125                - VirtualHost:
222126                    this: '*:80'
222127                    ServerName:
222128                      - website.com
222129                    ServerAlias:
222130                      - www.website.com
222131                      - dev.website.com
222132                    ErrorLog: logs/website.com-error_log
222133                    CustomLog: logs/website.com-access_log combined
222134                    DocumentRoot: /var/www/vhosts/website.com
222135                    Directory:
222136                      this: /var/www/vhosts/website.com
222137                      Order: Deny,Allow
222138                      Deny from: all
222139                      Allow from:
222140                        - 127.0.0.1
222141                        - 192.168.100.0/24
222142                      Options:
222143                        - Indexes
222144                        - FollowSymlinks
222145                      AllowOverride: All
222146
222147       Changed in version 2018.3.
222148
222149
222150       Allows having the same section container multiple times  (e.g.  <Direc‐
222151       tory /path/to/dir>).
222152
222153       YAML structure stays the same only replace dictionary with a list.
222154
222155       When  a  section  container  does not have mandatory attribute, such as
222156       <Else>, it still needs keyword this with empty string (or  ""  if  nicer
222157       output is required - without space).
222158
222159          /etc/httpd/conf.d/website.com.conf:
222160            apache.configfile:
222161              - config:
222162                - VirtualHost:
222163                    - this: '*:80'
222164                    - ServerName:
222165                      - website.com
222166                    - DocumentRoot: /var/www/vhosts/website.com
222167                    - Directory:
222168                        this: /var/www/vhosts/website.com
222169                        Order: Deny,Allow
222170                        Deny from: all
222171                        Allow from:
222172                          - 127.0.0.1
222173                          - 192.168.100.0/24
222174                        Options:
222175                          - Indexes
222176                          - FollowSymlinks
222177                        AllowOverride: All
222178                    - Directory:
222179                      - this: /var/www/vhosts/website.com/private
222180                      - Order: Deny,Allow
222181                      - Deny from: all
222182                      - Allow from:
222183                        - 127.0.0.1
222184                        - 192.168.100.0/24
222185                      - If:
222186                          this: some condition
222187                          do: something
222188                      - Else:
222189                          this:
222190                          do: something else
222191                      - Else:
222192                          this: ""
222193                          do: another thing
222194
222195       salt.states.apache.configfile(name, config)
222196
222197   salt.states.apache_conf module
222198       Manage Apache Confs
222199
222200       New in version 2016.3.0.
222201
222202
222203       Enable and disable apache confs.
222204
222205          Enable security conf:
222206            apache_conf.enabled:
222207              - name: security
222208
222209          Disable security conf:
222210            apache_conf.disabled:
222211              - name: security
222212
222213       salt.states.apache_conf.disabled(name)
222214              Ensure an Apache conf is disabled.
222215
222216              name   Name of the Apache conf
222217
222218       salt.states.apache_conf.enabled(name)
222219              Ensure an Apache conf is enabled.
222220
222221              name   Name of the Apache conf
222222
222223   salt.states.apache_module
222224       Manage Apache Modules
222225
222226       New in version 2014.7.0.
222227
222228
222229       Enable and disable apache modules.
222230
222231          Enable cgi module:
222232            apache_module.enabled:
222233              - name: cgi
222234
222235          Disable cgi module:
222236            apache_module.disabled:
222237              - name: cgi
222238
222239       salt.states.apache_module.disabled(name)
222240              Ensure an Apache module is disabled.
222241
222242              New in version 2016.3.0.
222243
222244
222245              name   Name of the Apache module
222246
222247       salt.states.apache_module.enabled(name)
222248              Ensure an Apache module is enabled.
222249
222250              New in version 2016.3.0.
222251
222252
222253              name   Name of the Apache module
222254
222255   salt.states.apache_site module
222256       Manage Apache Sites
222257
222258       New in version 2016.3.0.
222259
222260
222261       Enable and disable apache sites.
222262
222263          Enable default site:
222264            apache_site.enabled:
222265              - name: default
222266
222267          Disable default site:
222268            apache_site.disabled:
222269              - name: default
222270
222271       salt.states.apache_site.disabled(name)
222272              Ensure an Apache site is disabled.
222273
222274              name   Name of the Apache site
222275
222276       salt.states.apache_site.enabled(name)
222277              Ensure an Apache site is enabled.
222278
222279              name   Name of the Apache site
222280
222281   salt.states.aptpkg
222282   Package management operations specific to APT- and DEB-based systems
222283       salt.states.aptpkg.held(name)
222284              Set package in 'hold' state, meaning it will not be upgraded.
222285
222286              name   The name of the package, e.g., 'tmux'
222287
222288   salt.states.archive
222289       Extract an archive
222290
222291       New in version 2014.1.0.
222292
222293
222294       salt.states.archive.extracted(name,      source,      source_hash=None,
222295       source_hash_name=None,  source_hash_update=False,  skip_files_list_ver‐
222296       ify=False,      skip_verify=False,     password=None,     options=None,
222297       list_options=None,    force=False,    overwrite=False,     clean=False,
222298       clean_parent=False,  user=None,  group=None, if_missing=None, trim_out‐
222299       put=False,           use_cmd_unzip=None,            extract_perms=True,
222300       enforce_toplevel=True,  enforce_ownership_on=None, archive_format=None,
222301       **kwargs)
222302              New in version 2014.1.0.
222303
222304
222305              Changed in version 2016.11.0: This  state  has  been  rewritten.
222306              Some arguments are new to this release and will not be available
222307              in the 2016.3 release cycle (and  earlier).   Additionally,  the
222308              ZIP  Archive  Handling section below applies specifically to the
222309              2016.11.0 release (and newer).
222310
222311
222312              Ensure that an archive is extracted to a specific directory.
222313
222314              IMPORTANT:
222315                 Changes for 2016.11.0
222316
222317                 In earlier releases, this state would rely on the  if_missing
222318                 argument to determine whether or not the archive needed to be
222319                 extracted. When this argument was not passed, then the  state
222320                 would just assume if_missing is the same as the name argument
222321                 (i.e. the parent directory into which the  archive  would  be
222322                 extracted).
222323
222324                 This  caused  a  number of annoyances. One such annoyance was
222325                 the need to know beforehand a path that would result from the
222326                 extraction  of  the  archive,  and setting if_missing to that
222327                 directory, like so:
222328
222329                     extract_myapp:
222330                       archive.extracted:
222331                         - name: /var/www
222332                         - source: salt://apps/src/myapp-16.2.4.tar.gz
222333                         - user: www
222334                         - group: www
222335                         - if_missing: /var/www/myapp-16.2.4
222336
222337                 If /var/www already  existed,  this  would  effectively  make
222338                 if_missing  a  required argument, just to get Salt to extract
222339                 the archive.
222340
222341                 Some users worked around this by adding the top-level  direc‐
222342                 tory of the archive to the end of the name argument, and then
222343                 used --strip or --strip-components to remove  that  top-level
222344                 dir when extracting:
222345
222346                     extract_myapp:
222347                       archive.extracted:
222348                         - name: /var/www/myapp-16.2.4
222349                         - source: salt://apps/src/myapp-16.2.4.tar.gz
222350                         - user: www
222351                         - group: www
222352
222353                 With  the  rewrite  for  2016.11.0,  these workarounds are no
222354                 longer necessary. if_missing is still a  supported  argument,
222355                 but it is no longer required. The equivalent SLS in 2016.11.0
222356                 would be:
222357
222358                     extract_myapp:
222359                       archive.extracted:
222360                         - name: /var/www
222361                         - source: salt://apps/src/myapp-16.2.4.tar.gz
222362                         - user: www
222363                         - group: www
222364
222365                 Salt now uses a function called archive.list to get a list of
222366                 files/directories in the archive. Using this information, the
222367                 state can now check the minion to see if any paths are  miss‐
222368                 ing,  and  know  whether  or  not  the  archive  needs  to be
222369                 extracted. This makes the if_missing argument unnecessary  in
222370                 most use cases.
222371
222372              IMPORTANT:
222373                 ZIP Archive Handling
222374
222375                 Note: this information applies to 2016.11.0 and later.
222376
222377                 Salt has two different functions for extracting ZIP archives:
222378
222379                 1. archive.unzip,  which  uses  Python's  zipfile  module  to
222380                    extract ZIP files.
222381
222382                 2. archive.cmd_unzip, which uses the  unzip  CLI  command  to
222383                    extract ZIP files.
222384
222385                 Salt  will  prefer  the  use  of  archive.cmd_unzip  when CLI
222386                 options are specified (via the options  argument),  and  will
222387                 otherwise  prefer  the  archive.unzip  function.  Use  of ar‐
222388                 chive.cmd_unzip  can  be  forced  however  by   setting   the
222389                 use_cmd_unzip  argument  to  True.  By contrast, setting this
222390                 argument to False will  force  usage  of  archive.unzip.  For
222391                 example:
222392
222393                     /var/www:
222394                       archive.extracted:
222395                         - source: salt://foo/bar/myapp.zip
222396                         - use_cmd_unzip: True
222397
222398                 When use_cmd_unzip is omitted, Salt will choose which extrac‐
222399                 tion function to use based on  the  source  archive  and  the
222400                 arguments  passed  to the state. When in doubt, simply do not
222401                 set this argument; it is provided as a  means  of  overriding
222402                 the logic Salt uses to decide which function to use.
222403
222404                 There  are  differences  in  the  features  available in both
222405                 extraction functions. These are detailed below.
222406
222407                 · Command-line options (only supported by  archive.cmd_unzip)
222408                   -  When  the options argument is used, archive.cmd_unzip is
222409                   the only function that can be used to extract the  archive.
222410                   Therefore,  if use_cmd_unzip is specified and set to False,
222411                   and options is also set, the state will not proceed.
222412
222413                 · Permissions - Due to an upstream bug in Python, permissions
222414                   are  not  preserved  when  the  zipfile  module  is used to
222415                   extract an archive.   As  of  the  2016.11.0  release,  ar‐
222416                   chive.unzip  (as  well  as this state) has an extract_perms
222417                   argument which,  when  set  to  True  (the  default),  will
222418                   attempt   to   match   the  permissions  of  the  extracted
222419                   files/directories to those defined within the  archive.  To
222420                   disable  this  functionality and have the state not attempt
222421                   to preserve the  permissions  from  the  ZIP  archive,  set
222422                   extract_perms to False:
222423
222424                       /var/www:
222425                         archive.extracted:
222426                           - source: salt://foo/bar/myapp.zip
222427                           - extract_perms: False
222428
222429              name   Directory into which the archive should be extracted
222430
222431              source Archive to be extracted
222432
222433                     NOTE:
222434                        This  argument uses the same syntax as its counterpart
222435                        in the file.managed state.
222436
222437              source_hash
222438                     Hash of source file, or file with  list  of  hash-to-file
222439                     mappings
222440
222441                     NOTE:
222442                        This  argument uses the same syntax as its counterpart
222443                        in the file.managed state.
222444
222445                     Changed in version 2016.11.0: If this argument  specifies
222446                     the  hash  itself,  instead of a URI to a file containing
222447                     hashes, the hash type can now be omitted  and  Salt  will
222448                     determine  the hash type based on the length of the hash.
222449                     For example, both of the  below  states  are  now  valid,
222450                     while before only the second one would be:
222451
222452
222453                        foo_app:
222454                          archive.extracted:
222455                            - name: /var/www
222456                            - source: https://mydomain.tld/foo.tar.gz
222457                            - source_hash: 3360db35e682f1c5f9c58aa307de16d41361618c
222458
222459                        bar_app:
222460                          archive.extracted:
222461                            - name: /var/www
222462                            - source: https://mydomain.tld/bar.tar.gz
222463                            - source_hash: sha1=5edb7d584b82ddcbf76e311601f5d4442974aaa5
222464
222465              source_hash_name
222466                     When  source_hash refers to a hash file, Salt will try to
222467                     find the correct hash by matching the  filename  part  of
222468                     the  source  URI.  When  managing a file with a source of
222469                     salt://files/foo.tar.gz, then the  following  line  in  a
222470                     hash file would match:
222471
222472                        acbd18db4cc2f85cedef654fccc4a4d8    foo.tar.gz
222473
222474                     This line would also match:
222475
222476                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir1/foo.tar.gz
222477
222478                     However, sometimes a hash file will include multiple sim‐
222479                     ilar paths:
222480
222481                        37b51d194a7513e45b56f6524f2d51f2    ./dir1/foo.txt
222482                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt
222483                        73feffa4b7f6bb68e44cf984c85f6e88    ./dir3/foo.txt
222484
222485                     In cases like this, Salt may match  the  incorrect  hash.
222486                     This  argument can be used to tell Salt which filename to
222487                     match, to ensure that the correct hash is identified. For
222488                     example:
222489
222490                        /var/www:
222491                          archive.extracted:
222492                            - source: https://mydomain.tld/dir2/foo.tar.gz
222493                            - source_hash: https://mydomain.tld/hashes
222494                            - source_hash_name: ./dir2/foo.tar.gz
222495
222496                     NOTE:
222497                        This  argument  must  contain  the full filename entry
222498                        from the checksum file, as this argument is  meant  to
222499                        disambiguate  matches for multiple files that have the
222500                        same basename. So, in the example above, simply  using
222501                        foo.txt would not match.
222502
222503                     New in version 2016.11.0.
222504
222505
222506              source_hash_update
222507                     False  Set this to True if archive should be extracted if
222508                     source_hash has changed and there is a difference between
222509                     the  archive  and  the  local  files.  This would extract
222510                     regardless of the if_missing parameter.
222511
222512                     Note that this is only checked if the  source  value  has
222513                     not changed.  If it has (e.g. to increment a version num‐
222514                     ber in the path) then the archive will not  be  extracted
222515                     even if the hash has changed.
222516
222517                     NOTE:
222518                        Setting  this  to  True  along with keep_source set to
222519                        False will result the source re-download to do  a  ar‐
222520                        chive  file  list check.  If it's not desirable please
222521                        consider the skip_files_list_verify argument.
222522
222523                     New in version 2016.3.0.
222524
222525
222526              skip_files_list_verify
222527                     False Set this to True if archive should be extracted  if
222528                     source_hash has changed but only checksums of the archive
222529                     will  be  checked  to  determine  if  the  extraction  is
222530                     required.
222531
222532                     NOTE:
222533                        The  current limitation of this logic is that you have
222534                        to set minions hash_type config option to the same one
222535                        that you're going to pass via source_hash argument.
222536
222537                     New in version 3000.
222538
222539
222540              skip_verify
222541                     False  If  True, hash verification of remote file sources
222542                     (http://, https://, ftp://)  will  be  skipped,  and  the
222543                     source_hash argument will be ignored.
222544
222545                     New in version 2016.3.4.
222546
222547
222548              keep_source
222549                     True  For  source  archives not local to the minion (i.e.
222550                     from the Salt fileserver  or  a  remote  source  such  as
222551                     http(s)  or  ftp), Salt will need to download the archive
222552                     to the minion cache before  they  can  be  extracted.  To
222553                     remove  the downloaded archive after extraction, set this
222554                     argument to False.
222555
222556                     New in version 2017.7.3.
222557
222558
222559              keep   True Same as keep_source, kept  for  backward-compatibil‐
222560                     ity.
222561
222562                     NOTE:
222563                        If  both  keep_source  and keep are used, keep will be
222564                        ignored.
222565
222566              password
222567                     For ZIP archives only. Password used for extraction.
222568
222569                     New in version 2016.3.0.
222570
222571
222572                     Changed  in  version  2016.11.0:  The   newly-added   ar‐
222573                     chive.is_encrypted  function will be used to determine if
222574                     the archive is password-protected. If  it  is,  then  the
222575                     password  argument will be required for the state to pro‐
222576                     ceed.
222577
222578
222579              options
222580                     For tar and zip archives only.  This option can  be  used
222581                     to  specify  a  string of additional arguments to pass to
222582                     the tar/zip command.
222583
222584                     If this argument  is  not  used,  then  the  minion  will
222585                     attempt to use Python's native tarfile/zipfile support to
222586                     extract it. For zip archives,  this  argument  is  mostly
222587                     used to overwrite existing files with o.
222588
222589                     Using  this  argument means that the tar or unzip command
222590                     will be used, which is less platform-independent, so keep
222591                     this in mind when using this option; the CLI options must
222592                     be valid options for the tar/unzip implementation on  the
222593                     minion's OS.
222594
222595                     New in version 2016.11.0.
222596
222597
222598                     Changed  in version 2015.8.11,2016.3.2: XZ-compressed tar
222599                     archives no longer require J to manually be  set  in  the
222600                     options,  they  are now detected automatically and decom‐
222601                     pressed using the xz CLI command and extracted using  tar
222602                     xvf. This is a more platform-independent solution, as not
222603                     all  tar  implementations  support  the  J  argument  for
222604                     extracting archives.
222605
222606
222607                     NOTE:
222608                        For  tar  archives, main operators like -x, --extract,
222609                        --get, -c and -f/--file should not be used here.
222610
222611              list_options
222612                     For tar archives only. This state  uses  archive.list  to
222613                     discover  the  contents  of the source archive so that it
222614                     knows which file paths should exist on the minion if  the
222615                     archive has already been extracted. For the vast majority
222616                     of tar archives, archive.list "just works". Archives com‐
222617                     pressed  using gzip, bzip2, and xz/lzma (with the help of
222618                     the xz CLI command) are supported automatically. However,
222619                     for  archives  compressed  using other compression types,
222620                     CLI options must be passed to archive.list.
222621
222622                     This argument will be passed through to  archive.list  as
222623                     its  options  argument,  to allow it to successfully list
222624                     the archive's contents. For  the  vast  majority  of  ar‐
222625                     chives,  this  argument  should  not  need to be used, it
222626                     should only be needed in cases where the state fails with
222627                     an error stating that the archive's contents could not be
222628                     listed.
222629
222630                     New in version 2016.11.0.
222631
222632
222633              force  False If a path that should be occupied by a file in  the
222634                     extracted  result is instead a directory (or vice-versa),
222635                     the state will fail. Set this argument to True  to  force
222636                     these  paths  to be removed in order to allow the archive
222637                     to be extracted.
222638
222639                     WARNING:
222640                        Use this option very carefully.
222641
222642                     New in version 2016.11.0.
222643
222644
222645              overwrite
222646                     False Set this  to  True  to  force  the  archive  to  be
222647                     extracted.  This  is  useful  for  cases  where the file‐
222648                     names/directories have not changed, but  the  content  of
222649                     the files have.
222650
222651                     New in version 2016.11.1.
222652
222653
222654              clean  False  Set this to True to remove any top-level files and
222655                     recursively remove any top-level directory  paths  before
222656                     extracting.
222657
222658                     NOTE:
222659                        Files will only be cleaned first if extracting the ar‐
222660                        chive is deemed necessary, either by paths missing  on
222661                        the minion, or if overwrite is set to True.
222662
222663                     New in version 2016.11.1.
222664
222665
222666              clean_parent
222667                     False  If  True, and the archive is extracted, delete the
222668                     parent directory (i.e. the directory into which  the  ar‐
222669                     chive  is  extracted),  and then re-create that directory
222670                     before extracting. Note that clean and  clean_parent  are
222671                     mutually exclusive.
222672
222673                     New in version 3000.
222674
222675
222676              user   The  user  to  own  each extracted file. Not available on
222677                     Windows.
222678
222679                     New in version 2015.8.0.
222680
222681
222682                     Changed in version 2016.3.0:  When  used  in  combination
222683                     with  if_missing,  ownership  will  only  be  enforced if
222684                     if_missing is a directory.
222685
222686
222687                     Changed in version 2016.11.0: Ownership will be  enforced
222688                     only  on  the  file/directory  paths found by running ar‐
222689                     chive.list on the source  archive.  An  alternative  root
222690                     directory  on which to enforce ownership can be specified
222691                     using the enforce_ownership_on argument.
222692
222693
222694              group  The group to own each extracted file.  Not  available  on
222695                     Windows.
222696
222697                     New in version 2015.8.0.
222698
222699
222700                     Changed  in  version  2016.3.0:  When used in combination
222701                     with if_missing,  ownership  will  only  be  enforced  if
222702                     if_missing is a directory.
222703
222704
222705                     Changed  in version 2016.11.0: Ownership will be enforced
222706                     only on the file/directory paths  found  by  running  ar‐
222707                     chive.list  on  the  source  archive. An alternative root
222708                     directory on which to enforce ownership can be  specified
222709                     using the enforce_ownership_on argument.
222710
222711
222712              if_missing
222713                     If specified, this path will be checked, and if it exists
222714                     then the archive will not be extracted. This path can  be
222715                     either  a directory or a file, so this option can also be
222716                     used to check for a semaphore file and conditionally skip
222717                     extraction.
222718
222719                     Changed  in  version  2016.3.0:  When used in combination
222720                     with  either  user  or  group,  ownership  will  only  be
222721                     enforced when if_missing is a directory.
222722
222723
222724                     Changed in version 2016.11.0: Ownership enforcement is no
222725                     longer tied to this argument, it is  simply  checked  for
222726                     existence  and  extraction  will  be  skipped  if  if  is
222727                     present.
222728
222729
222730              trim_output
222731                     False Useful for archives with many files in  them.  This
222732                     can  either  be set to True (in which case only the first
222733                     100 files extracted will be in the state results), or  it
222734                     can  be set to an integer for more exact control over the
222735                     max number of files to include in the state results.
222736
222737                     New in version 2016.3.0.
222738
222739
222740              use_cmd_unzip
222741                     False Set to True for zip files to force usage of the ar‐
222742                     chive.cmd_unzip function to extract.
222743
222744                     New in version 2016.11.0.
222745
222746
222747              extract_perms
222748                     True  For  ZIP archives only. When using archive.unzip to
222749                     extract ZIP archives, Salt works around an  upstream  bug
222750                     in   Python   to   set   the   permissions  on  extracted
222751                     files/directories to match those encoded into the ZIP ar‐
222752                     chive.  Set  this  argument  to  False to skip this work‐
222753                     around.
222754
222755                     New in version 2016.11.0.
222756
222757
222758              enforce_toplevel
222759                     True This option will enforce a single directory  at  the
222760                     top  level of the source archive, to prevent extracting a
222761                     'tar-bomb'. Set this argument to False to allow  archives
222762                     with  files (or multiple directories) at the top level to
222763                     be extracted.
222764
222765                     New in version 2016.11.0.
222766
222767
222768              enforce_ownership_on
222769                     When user or group is specified,  Salt  will  default  to
222770                     enforcing   permissions   on   the  file/directory  paths
222771                     detected by running archive.list on the  source  archive.
222772                     Use  this  argument  to specify an alternate directory on
222773                     which ownership should be enforced.
222774
222775                     NOTE:
222776                        This path must be within the  path  specified  by  the
222777                        name argument.
222778
222779                     New in version 2016.11.0.
222780
222781
222782              archive_format
222783                     One of tar, zip, or rar.
222784
222785                     Changed  in  version  2016.11.0:  If omitted, the archive
222786                     format will be guessed based on the value of  the  source
222787                     argument.  If  the minion is running a release older than
222788                     2016.11.0, this option is required.
222789
222790
222791              Examples
222792
222793              1. tar with lmza (i.e. xz) compression:
222794
222795                    graylog2-server:
222796                      archive.extracted:
222797                        - name: /opt/
222798                        - source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.lzma
222799                        - source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
222800
222801              2. tar archive with flag for verbose output, and enforcement  of
222802                 user/group ownership:
222803
222804                    graylog2-server:
222805                      archive.extracted:
222806                        - name: /opt/
222807                        - source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.gz
222808                        - source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
222809                        - options: v
222810                        - user: foo
222811                        - group: foo
222812
222813              3. tar  archive,  with source_hash_update set to True to prevent
222814                 state from attempting extraction unless the source_hash  dif‐
222815                 fers from the previous time the archive was extracted:
222816
222817                    graylog2-server:
222818                      archive.extracted:
222819                        - name: /opt/
222820                        - source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.lzma
222821                        - source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
222822                        - source_hash_update: True
222823
222824   salt.states.artifactory
222825       This state downloads artifacts from artifactory.
222826
222827       salt.states.artifactory.downloaded(name,  artifact, target_dir=u'/tmp',
222828       target_file=None, use_literal_group_id=False)
222829              Ensures that the artifact from artifactory exists at given loca‐
222830              tion.  If  it  doesn't  exist, then it will be downloaded. If it
222831              already exists then the checksum of  existing  file  is  checked
222832              against  checksum  in  artifactory.  If it is different then the
222833              step will fail.
222834
222835              artifact
222836                     Details of the artifact to be  downloaded  from  artifac‐
222837                     tory. Various options are:
222838
222839                     · artifactory_url: URL of the artifactory instance
222840
222841                     · repository: Repository in artifactory
222842
222843                     · artifact_id: Artifact ID
222844
222845                     · group_id: Group ID
222846
222847                     · packaging: Packaging
222848
222849                     · classifier: Classifier
222850
222851                     ·
222852
222853                       version: Version
222854                              One  of  the  following: - Version to download -
222855                              latest - Download the  latest  release  of  this
222856                              artifact - latest_snapshot - Download the latest
222857                              snapshot for this artifact
222858
222859                     · username: Artifactory username
222860
222861                     · password: Artifactory password
222862
222863              target_dir
222864                     Directory where the artifact  should  be  downloaded.  By
222865                     default it is downloaded to /tmp directory.
222866
222867              target_file
222868                     Target file to download artifact to. By default file name
222869                     is resolved by artifactory.
222870
222871              An example to download an artifact to a specific file:
222872
222873                 jboss_module_downloaded:
222874                   artifactory.downloaded:
222875                    - artifact:
222876                        artifactory_url: http://artifactory.intranet.example.com/artifactory
222877                        repository: 'libs-release-local'
222878                        artifact_id: 'module'
222879                        group_id: 'com.company.module'
222880                        packaging: 'jar'
222881                        classifier: 'sources'
222882                        version: '1.0'
222883                    - target_file: /opt/jboss7/modules/com/company/lib/module.jar
222884
222885              Download artifact to the  folder  (automatically  resolves  file
222886              name):
222887
222888                 jboss_module_downloaded:
222889                   artifactory.downloaded:
222890                    - artifact:
222891                         artifactory_url: http://artifactory.intranet.example.com/artifactory
222892                         repository: 'libs-release-local'
222893                         artifact_id: 'module'
222894                         group_id: 'com.company.module'
222895                         packaging: 'jar'
222896                         classifier: 'sources'
222897                         version: '1.0'
222898                    - target_dir: /opt/jboss7/modules/com/company/lib
222899
222900   salt.states.at
222901   Configuration disposable regularly scheduled tasks for at.
222902       The  at  state can be add disposable regularly scheduled tasks for your
222903       system.
222904
222905       salt.states.at.absent(name, jobid=None, **kwargs)
222906              Changed in version 2017.7.0.
222907
222908
222909              Remove a job from queue
222910
222911              jobid: string|int
222912                     Specific jobid to remove
222913
222914              tag    string Job's tag
222915
222916              runas  string Runs user-specified jobs
222917
222918              kwargs Addition kwargs can be provided to filter jobs.  See out‐
222919                     put of at.jobcheck for more.
222920
222921                 example1:
222922                   at.absent:
222923
222924              WARNING:
222925                 this will remove all jobs!
222926
222927                 example2:
222928                   at.absent:
222929                     - year: 13
222930
222931                 example3:
222932                   at.absent:
222933                     - tag: rose
222934
222935                 example4:
222936                   at.absent:
222937                     - tag: rose
222938                     - day: 13
222939                     - hour: 16
222940
222941                 example5:
222942                   at.absent:
222943                     - jobid: 4
222944
222945       salt.states.at.mod_watch(name, **kwargs)
222946              The at watcher, called to invoke the watch command.
222947
222948              NOTE:
222949                 This  state  exists  to support special handling of the watch
222950                 requisite. It should not be called directly.
222951
222952                 Parameters for this function should be set by the state being
222953                 triggered.
222954
222955              name   The name of the atjob
222956
222957       salt.states.at.present(name,  timespec,  tag=None, user=None, job=None,
222958       unique_tag=False)
222959              Changed in version 2017.7.0.
222960
222961
222962              Add a job to queue.
222963
222964              job    string Command to run.
222965
222966              timespec
222967                     string The 'timespec' follows the  format  documented  in
222968                     the at(1) manpage.
222969
222970              tag    string Make a tag for the job.
222971
222972              user   string The user to run the at job
222973
222974              unique_tag
222975                     boolean  If  set  to  True job will not be added if a job
222976                     with the tag exists.
222977
222978                 rose:
222979                   at.present:
222980                     - job: 'echo "I love saltstack" > love'
222981                     - timespec: '9:09 11/09/13'
222982                     - tag: love
222983                     - user: jam
222984
222985       salt.states.at.watch(name,  timespec,  tag=None,  user=None,  job=None,
222986       unique_tag=False)
222987              New in version 2017.7.0.
222988
222989
222990              Add an at job if trigger by watch
222991
222992              job    string Command to run.
222993
222994              timespec
222995                     string  The  'timespec'  follows the format documented in
222996                     the at(1) manpage.
222997
222998              tag    string Make a tag for the job.
222999
223000              user   string The user to run the at job
223001
223002              unique_tag
223003                     boolean If set to True job will not be  added  if  a  job
223004                     with the tag exists.
223005
223006                 minion_restart:
223007                   at.watch:
223008                     - job: 'salt-call --local service.restart salt-minion'
223009                     - timespec: 'now +1 min'
223010                     - tag: minion_restart
223011                     - unique_tag: trye
223012                     - watch:
223013                         - file: /etc/salt/minion
223014
223015   salt.states.augeas
223016       Configuration management using Augeas
223017
223018       New in version 0.17.0.
223019
223020
223021       This state requires the augeas Python module.
223022
223023       Augeas can be used to manage configuration files.
223024
223025       WARNING:
223026          Minimal  installations  of  Debian and Ubuntu have been seen to have
223027          packaging bugs with python-augeas, causing the augeas module to fail
223028          to  import.  If  the minion has the augeas module installed, and the
223029          state fails with a comment saying that  the  state  is  unavailable,
223030          first  restart the salt-minion service. If the problem persists past
223031          that, the following command can be run from the master to  determine
223032          what is causing the import to fail:
223033
223034              salt minion-id cmd.run 'python -c "from augeas import Augeas"'
223035
223036          For  affected  Debian/Ubuntu hosts, installing libpython2.7 has been
223037          known to resolve the issue.
223038
223039       salt.states.augeas.change(name, context=None, changes=None,  lens=None,
223040       load_path=None, **kwargs)
223041              New in version 2014.7.0.
223042
223043
223044              This state replaces setvalue().
223045
223046              Issue changes to Augeas, optionally for a specific context, with
223047              a specific lens.
223048
223049              name   State name
223050
223051              context
223052                     A file path, prefixed by /files.  Should  resolve  to  an
223053                     actual  file (not an arbitrary augeas path). This is used
223054                     to avoid duplicating the file name for each item  in  the
223055                     changes  list (for example, set bind 0.0.0.0 in the exam‐
223056                     ple below operates on the file specified by context).  If
223057                     context  is not specified, a file path prefixed by /files
223058                     should be included with the set command.
223059
223060                     The file path is examined to determine if  the  specified
223061                     changes are already present.
223062
223063                        redis-conf:
223064                          augeas.change:
223065                            - context: /files/etc/redis/redis.conf
223066                            - changes:
223067                              - set bind 0.0.0.0
223068                              - set maxmemory 1G
223069
223070              changes
223071                     List of changes that are issued to Augeas. Available com‐
223072                     mands are set, setm, mv/move, ins/insert, and rm/remove.
223073
223074              lens   The lens to use, needs to be suffixed  with  .lns,  e.g.:
223075                     Nginx.lns.   See  the  list  of stock lenses shipped with
223076                     Augeas.
223077
223078              New in version 2016.3.0.
223079
223080
223081              load_path
223082                     A list of directories that modules should be searched in.
223083                     This  is  in  addition  to the standard load path and the
223084                     directories in AUGEAS_LENS_LIB.
223085
223086              Usage examples:
223087
223088              Set the bind parameter in /etc/redis/redis.conf:
223089
223090                 redis-conf:
223091                   augeas.change:
223092                     - changes:
223093                       - set /files/etc/redis/redis.conf/bind 0.0.0.0
223094
223095              NOTE:
223096                 Use the context parameter to specify the  file  you  want  to
223097                 manipulate.  This  way  you don't have to include this in the
223098                 changes every time:
223099
223100                     redis-conf:
223101                       augeas.change:
223102                         - context: /files/etc/redis/redis.conf
223103                         - changes:
223104                           - set bind 0.0.0.0
223105                           - set databases 4
223106                           - set maxmemory 1G
223107
223108              Augeas is aware of a lot of common configuration files and their
223109              syntax.   It  knows  the  difference between for example ini and
223110              yaml files, but also files with very specific syntax,  like  the
223111              hosts  file.  This  is  done with lenses, which provide mappings
223112              between the Augeas tree and the file.
223113
223114              There are many preconfigured lenses that  come  with  Augeas  by
223115              default, and they specify the common locations for configuration
223116              files. So most of the time Augeas will know how to manipulate  a
223117              file.  In  the  event  that  you  need to manipulate a file that
223118              Augeas doesn't know about, you can specify the lens to use  like
223119              this:
223120
223121                 redis-conf:
223122                   augeas.change:
223123                     - lens: redis.lns
223124                     - context: /files/etc/redis/redis.conf
223125                     - changes:
223126                       - set bind 0.0.0.0
223127
223128              NOTE:
223129                 Even  though  Augeas  knows  that  /etc/redis/redis.conf is a
223130                 Redis configuration file and knows how to  parse  it,  it  is
223131                 recommended  to  specify  the lens anyway. This is because by
223132                 default, Augeas loads all known lenses and  their  associated
223133                 file paths. All these files are parsed when Augeas is loaded,
223134                 which can take some time. When specifying a lens,  Augeas  is
223135                 loaded  with  only  that lens, which speeds things up quite a
223136                 bit.
223137
223138              A more complex example, this adds an entry to the services  file
223139              for Zabbix, and removes an obsolete service:
223140
223141                 zabbix-service:
223142                   augeas.change:
223143                     - lens: services.lns
223144                     - context: /files/etc/services
223145                     - changes:
223146                       - ins service-name after service-name[last()]
223147                       - set service-name[last()] "zabbix-agent"
223148                       - set "service-name[. = 'zabbix-agent']/port" 10050
223149                       - set "service-name[. = 'zabbix-agent']/protocol" tcp
223150                       - set "service-name[. = 'zabbix-agent']/#comment" "Zabbix Agent service"
223151                       - rm "service-name[. = 'im-obsolete']"
223152                     - unless: grep "zabbix-agent" /etc/services
223153
223154              WARNING:
223155                 Don't  forget the unless here, otherwise it will fail on next
223156                 runs because the service is already defined. Additionally you
223157                 have   to  quote  lines  containing  service-name[.  =  'zab‐
223158                 bix-agent'] otherwise augeas_cfg execute will fail because it
223159                 will receive more parameters than expected.
223160
223161              NOTE:
223162                 Order  is  important  when defining a service with Augeas, in
223163                 this case it's port, protocol and  #comment.  For  more  info
223164                 about the lens check services lens documentation.
223165
223166              http://augeas.net/docs/references/lenses/files/services-aug.html#Services.record
223167
223168   salt.states.aws_sqs
223169       Manage SQS Queues
223170
223171       Create and destroy SQS queues. Be aware that this interacts  with  Ama‐
223172       zon's services, and so may incur charges.
223173
223174       This  module uses the awscli tool provided by Amazon. This can be down‐
223175       loaded from pip. Also check the documentation for awscli for configura‐
223176       tion information.
223177
223178          myqueue:
223179              aws_sqs.exists:
223180                  - region: eu-west-1
223181
223182       salt.states.aws_sqs.absent(name, region, user=None, opts=False)
223183              Remove the named SQS queue if it exists.
223184
223185              name   Name of the SQS queue.
223186
223187              region Region to remove the queue from
223188
223189              user   Name of the user performing the SQS operations
223190
223191              opts   Include  additional arguments and options to the aws com‐
223192                     mand line
223193
223194       salt.states.aws_sqs.exists(name, region, user=None, opts=False)
223195              Ensure the SQS queue exists.
223196
223197              name   Name of the SQS queue.
223198
223199              region Region to create the queue
223200
223201              user   Name of the user performing the SQS operations
223202
223203              opts   Include additional arguments and options to the aws  com‐
223204                     mand line
223205
223206   salt.states.azurearm_compute
223207       Azure (ARM) Compute State Module
223208
223209       New in version 2019.2.0.
223210
223211
223212       maintainer
223213              <devops@decisionlab.io>
223214
223215       maturity
223216              new
223217
223218       depends
223219
223220              · azure >= 2.0.0
223221
223222              · azure-common >= 1.1.8
223223
223224              · azure-mgmt >= 1.0.0
223225
223226              · azure-mgmt-compute >= 1.0.0
223227
223228              · azure-mgmt-network >= 1.7.1
223229
223230              · azure-mgmt-resource >= 1.1.0
223231
223232              · azure-mgmt-storage >= 1.0.0
223233
223234              · azure-mgmt-web >= 0.32.0
223235
223236              · azure-storage >= 0.34.3
223237
223238              · msrestazure >= 0.4.21
223239
223240       platform
223241              linux
223242
223243       configuration
223244              This  module  requires  Azure Resource Manager credentials to be
223245              passed as a dictionary  of  keyword  arguments  to  the  connec‐
223246              tion_auth parameter in order to work properly. Since the authen‐
223247              tication parameters are sensitive, it's recommended to pass them
223248              to the states via pillar.
223249
223250              Required provider parameters:
223251
223252              if using username and password:
223253
223254                     · subscription_id
223255
223256                     · username
223257
223258                     · password
223259
223260              if using a service principal:
223261
223262                     · subscription_id
223263
223264                     · tenant
223265
223266                     · client_id
223267
223268                     · secret
223269
223270              Optional provider parameters:
223271
223272              cloud_environment:  Used  to point the cloud driver to different
223273              API endpoints, such as Azure GovCloud. Possible values:
223274
223275                     · AZURE_PUBLIC_CLOUD (default)
223276
223277                     · AZURE_CHINA_CLOUD
223278
223279                     · AZURE_US_GOV_CLOUD
223280
223281                     · AZURE_GERMAN_CLOUD
223282
223283              Example Pillar for Azure Resource Manager authentication:
223284
223285                 azurearm:
223286                     user_pass_auth:
223287                         subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
223288                         username: fletch
223289                         password: 123pass
223290                     mysubscription:
223291                         subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
223292                         tenant: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
223293                         client_id: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
223294                         secret: XXXXXXXXXXXXXXXXXXXXXXXX
223295                         cloud_environment: AZURE_PUBLIC_CLOUD
223296
223297              Example states using Azure Resource Manager authentication:
223298
223299                 {% set profile = salt['pillar.get']('azurearm:mysubscription') %}
223300                 Ensure availability set exists:
223301                     azurearm_compute.availability_set_present:
223302                         - name: my_avail_set
223303                         - resource_group: my_rg
223304                         - virtual_machines:
223305                             - my_vm1
223306                             - my_vm2
223307                         - tags:
223308                             how_awesome: very
223309                             contact_name: Elmer Fudd Gantry
223310                         - connection_auth: {{ profile }}
223311
223312                 Ensure availability set is absent:
223313                     azurearm_compute.availability_set_absent:
223314                         - name: other_avail_set
223315                         - resource_group: my_rg
223316                         - connection_auth: {{ profile }}
223317
223318       salt.states.azurearm_compute.availability_set_absent(name,
223319       resource_group, connection_auth=None)
223320              New in version 2019.2.0.
223321
223322
223323              Ensure an availability set does not exist in a resource group.
223324
223325              Parameters
223326
223327                     · name -- Name of the availability set.
223328
223329                     · resource_group -- Name of the resource group containing
223330                       the availability set.
223331
223332                     · connection_auth -- A dict with subscription and authen‐
223333                       tication  parameters  to  be  used in connecting to the
223334                       Azure Resource Manager API.
223335
223336       salt.states.azurearm_compute.availability_set_present(name,
223337       resource_group,   tags=None,  platform_update_domain_count=None,  plat‐
223338       form_fault_domain_count=None, virtual_machines=None, sku=None,  connec‐
223339       tion_auth=None, **kwargs)
223340              New in version 2019.2.0.
223341
223342
223343              Ensure an availability set exists.
223344
223345              Parameters
223346
223347                     · name -- Name of the availability set.
223348
223349                     · resource_group  --  The  resource group assigned to the
223350                       availability set.
223351
223352                     · tags -- A dictionary of strings can be  passed  as  tag
223353                       metadata to the availability set object.
223354
223355                     · platform_update_domain_count  --  An optional parameter
223356                       which indicates groups of virtual machines and underly‐
223357                       ing  physical hardware that can be rebooted at the same
223358                       time.
223359
223360                     · platform_fault_domain_count --  An  optional  parameter
223361                       which  defines the group of virtual machines that share
223362                       a common power source and network switch.
223363
223364                     · virtual_machines -- A list of names of existing virtual
223365                       machines to be included in the availability set.
223366
223367                     · sku  --  The  availability  set  SKU,  which  specifies
223368                       whether the availability set is managed or not.  Possi‐
223369                       ble  values  are  'Aligned'  or 'Classic'. An 'Aligned'
223370                       availability set is managed, 'Classic' is not.
223371
223372                     · connection_auth -- A dict with subscription and authen‐
223373                       tication  parameters  to  be  used in connecting to the
223374                       Azure Resource Manager API.
223375
223376              Example usage:
223377
223378                 Ensure availability set exists:
223379                     azurearm_compute.availability_set_present:
223380                         - name: aset1
223381                         - resource_group: group1
223382                         - platform_update_domain_count: 5
223383                         - platform_fault_domain_count: 3
223384                         - sku: aligned
223385                         - tags:
223386                             contact_name: Elmer Fudd Gantry
223387                         - connection_auth: {{ profile }}
223388                         - require:
223389                           - azurearm_resource: Ensure resource group exists
223390
223391   salt.states.azurearm_network
223392       Azure (ARM) Network State Module
223393
223394       New in version 2019.2.0.
223395
223396
223397       maintainer
223398              <devops@decisionlab.io>
223399
223400       maturity
223401              new
223402
223403       depends
223404
223405              · azure >= 2.0.0
223406
223407              · azure-common >= 1.1.8
223408
223409              · azure-mgmt >= 1.0.0
223410
223411              · azure-mgmt-compute >= 1.0.0
223412
223413              · azure-mgmt-network >= 1.7.1
223414
223415              · azure-mgmt-resource >= 1.1.0
223416
223417              · azure-mgmt-storage >= 1.0.0
223418
223419              · azure-mgmt-web >= 0.32.0
223420
223421              · azure-storage >= 0.34.3
223422
223423              · msrestazure >= 0.4.21
223424
223425       platform
223426              linux
223427
223428       configuration
223429              This module requires Azure Resource Manager  credentials  to  be
223430              passed  as  a  dictionary  of  keyword  arguments to the connec‐
223431              tion_auth parameter in order to work properly. Since the authen‐
223432              tication parameters are sensitive, it's recommended to pass them
223433              to the states via pillar.
223434
223435              Required provider parameters:
223436
223437              if using username and password:
223438
223439                     · subscription_id
223440
223441                     · username
223442
223443                     · password
223444
223445              if using a service principal:
223446
223447                     · subscription_id
223448
223449                     · tenant
223450
223451                     · client_id
223452
223453                     · secret
223454
223455              Optional provider parameters:
223456
223457              cloud_environment: Used to point the cloud driver  to  different
223458              API endpoints, such as Azure GovCloud. Possible values:
223459
223460                     · AZURE_PUBLIC_CLOUD (default)
223461
223462                     · AZURE_CHINA_CLOUD
223463
223464                     · AZURE_US_GOV_CLOUD
223465
223466                     · AZURE_GERMAN_CLOUD
223467
223468              Example Pillar for Azure Resource Manager authentication:
223469
223470                 azurearm:
223471                     user_pass_auth:
223472                         subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
223473                         username: fletch
223474                         password: 123pass
223475                     mysubscription:
223476                         subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
223477                         tenant: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
223478                         client_id: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
223479                         secret: XXXXXXXXXXXXXXXXXXXXXXXX
223480                         cloud_environment: AZURE_PUBLIC_CLOUD
223481
223482              Example states using Azure Resource Manager authentication:
223483
223484                 {% set profile = salt['pillar.get']('azurearm:mysubscription') %}
223485                 Ensure virtual network exists:
223486                     azurearm_network.virtual_network_present:
223487                         - name: my_vnet
223488                         - resource_group: my_rg
223489                         - address_prefixes:
223490                             - '10.0.0.0/8'
223491                             - '192.168.0.0/16'
223492                         - dns_servers:
223493                             - '8.8.8.8'
223494                         - tags:
223495                             how_awesome: very
223496                             contact_name: Elmer Fudd Gantry
223497                         - connection_auth: {{ profile }}
223498
223499                 Ensure virtual network is absent:
223500                     azurearm_network.virtual_network_absent:
223501                         - name: other_vnet
223502                         - resource_group: my_rg
223503                         - connection_auth: {{ profile }}
223504
223505       salt.states.azurearm_network.load_balancer_absent(name, resource_group,
223506       connection_auth=None)
223507              New in version 2019.2.0.
223508
223509
223510              Ensure a load balancer does not exist in the resource group.
223511
223512              Parameters
223513
223514                     · name -- Name of the load balancer.
223515
223516                     · resource_group -- The resource group  assigned  to  the
223517                       load balancer.
223518
223519                     · connection_auth -- A dict with subscription and authen‐
223520                       tication parameters to be used  in  connecting  to  the
223521                       Azure Resource Manager API.
223522
223523       salt.states.azurearm_network.load_balancer_present(name,
223524       resource_group,   sku=None,   frontend_ip_configurations=None,    back‐
223525       end_address_pools=None,     load_balancing_rules=None,     probes=None,
223526       inbound_nat_rules=None,          inbound_nat_pools=None,           out‐
223527       bound_nat_rules=None, tags=None, connection_auth=None, **kwargs)
223528              New in version 2019.2.0.
223529
223530
223531              Ensure a load balancer exists.
223532
223533              Parameters
223534
223535                     · name -- Name of the load balancer.
223536
223537                     · resource_group  --  The  resource group assigned to the
223538                       load balancer.
223539
223540                     · sku -- The load balancer SKU, which can be  'Basic'  or
223541                       'Standard'.
223542
223543                     · tags  --  A  dictionary of strings can be passed as tag
223544                       metadata to the load balancer object.
223545
223546                     · frontend_ip_configurations --
223547
223548                       An optional list  of  dictionaries  representing  valid
223549                       FrontendIPConfiguration objects. A frontend IP configu‐
223550                       ration can be either private (using private IP  address
223551                       and  subnet parameters) or public (using a reference to
223552                       a public IP address object). Valid parameters are:
223553
223554                       · name: The name of the resource that is unique  within
223555                         a resource group.
223556
223557                       · private_ip_address:  The private IP address of the IP
223558                         configuration.   Required   if    'private_ip_alloca‐
223559                         tion_method' is 'Static'.
223560
223561                       · private_ip_allocation_method:  The Private IP alloca‐
223562                         tion  method.  Possible  values  are:  'Static'   and
223563                         'Dynamic'.
223564
223565                       · subnet:  Name  of  an existing subnet inside of which
223566                         the frontend IP will reside.
223567
223568                       · public_ip_address: Name  of  an  existing  public  IP
223569                         address  which  will  be  assigned to the frontend IP
223570                         object.
223571
223572
223573                     · backend_address_pools -- An optional list of dictionar‐
223574                       ies representing valid BackendAddressPool objects. Only
223575                       the 'name' parameter is valid for a  BackendAddressPool
223576                       dictionary.  All  other parameters are read-only refer‐
223577                       ences from other objects linking to the backend address
223578                       pool.  Inbound traffic is randomly load balanced across
223579                       IPs in the backend IPs.
223580
223581                     · probes --
223582
223583                       An optional list  of  dictionaries  representing  valid
223584                       Probe objects. Valid parameters are:
223585
223586                       · name:  The name of the resource that is unique within
223587                         a resource group.
223588
223589                       · protocol: The protocol of the endpoint. Possible val‐
223590                         ues  are  'Http'  or  'Tcp'. If 'Tcp' is specified, a
223591                         received ACK is required for the probe to be success‐
223592                         ful.  If  'Http' is specified, a 200 OK response from
223593                         the specified URI is required for  the  probe  to  be
223594                         successful.
223595
223596                       · port:  The port for communicating the probe. Possible
223597                         values range from 1 to 65535, inclusive.
223598
223599                       · interval_in_seconds: The interval,  in  seconds,  for
223600                         how  frequently to probe the endpoint for health sta‐
223601                         tus.  Typically, the interval is slightly  less  than
223602                         half  the allocated timeout period (in seconds) which
223603                         allows two full probes before taking the instance out
223604                         of  rotation.  The  default  value is 15, the minimum
223605                         value is 5.
223606
223607                       · number_of_probes: The number of probes  where  if  no
223608                         response,  will  result  in  stopping further traffic
223609                         from being delivered to  the  endpoint.  This  values
223610                         allows  endpoints  to be taken out of rotation faster
223611                         or slower than the typical times used in Azure.
223612
223613                       · request_path: The URI used for requesting health sta‐
223614                         tus  from  the  VM. Path is required if a protocol is
223615                         set to 'Http'. Otherwise, it is not allowed. There is
223616                         no default value.
223617
223618
223619                     · load_balancing_rules --
223620
223621                       An  optional  list  of  dictionaries representing valid
223622                       LoadBalancingRule objects. Valid parameters are:
223623
223624                       · name: The name of the resource that is unique  within
223625                         a resource group.
223626
223627                       · load_distribution:  The  load distribution policy for
223628                         this rule. Possible values are 'Default', 'SourceIP',
223629                         and 'SourceIPProtocol'.
223630
223631                       · frontend_port:  The  port  for the external endpoint.
223632                         Port numbers for each rule must be unique within  the
223633                         Load  Balancer.  Acceptable  values are between 0 and
223634                         65534. Note that value 0 enables 'Any Port'.
223635
223636                       · backend_port: The port used for internal  connections
223637                         on  the endpoint. Acceptable values are between 0 and
223638                         65535. Note that value 0 enables 'Any Port'.
223639
223640                       · idle_timeout_in_minutes: The timeout for the TCP idle
223641                         connection.  The  value  can  be set between 4 and 30
223642                         minutes. The default value is 4 minutes. This element
223643                         is only used when the protocol is set to TCP.
223644
223645                       · enable_floating_ip:  Configures  a  virtual machine's
223646                         endpoint for the floating IP capability  required  to
223647                         configure  a  SQL  AlwaysOn  Availability Group. This
223648                         setting is  required  when  using  the  SQL  AlwaysOn
223649                         Availability Groups in SQL server. This setting can't
223650                         be changed after you create the endpoint.
223651
223652                       · disable_outbound_snat: Configures SNAT for the VMs in
223653                         the  backend pool to use the public IP address speci‐
223654                         fied in the frontend of the load balancing rule.
223655
223656                       · frontend_ip_configuration: Name of  the  frontend  IP
223657                         configuration  object used by the load balancing rule
223658                         object.
223659
223660                       · backend_address_pool: Name  of  the  backend  address
223661                         pool  object  used by the load balancing rule object.
223662                         Inbound traffic is randomly load balanced across  IPs
223663                         in the backend IPs.
223664
223665                       · probe: Name of the probe object used by the load bal‐
223666                         ancing rule object.
223667
223668
223669                     · inbound_nat_rules --
223670
223671                       An optional list  of  dictionaries  representing  valid
223672                       InboundNatRule  objects.  Defining inbound NAT rules on
223673                       your load balancer is mutually exclusive with  defining
223674                       an  inbound  NAT pool. Inbound NAT pools are referenced
223675                       from virtual machine scale sets. NICs that are  associ‐
223676                       ated  with individual virtual machines cannot reference
223677                       an Inbound NAT pool. They have to reference  individual
223678                       inbound NAT rules. Valid parameters are:
223679
223680                       · name:  The name of the resource that is unique within
223681                         a resource group.
223682
223683                       · frontend_ip_configuration: Name of  the  frontend  IP
223684                         configuration  object  used  by  the inbound NAT rule
223685                         object.
223686
223687                       · protocol: Possible values include  'Udp',  'Tcp',  or
223688                         'All'.
223689
223690                       · frontend_port:  The  port  for the external endpoint.
223691                         Port numbers for each rule must be unique within  the
223692                         Load  Balancer.  Acceptable  values  range  from 1 to
223693                         65534.
223694
223695                       · backend_port: The port used  for  the  internal  end‐
223696                         point. Acceptable values range from 1 to 65535.
223697
223698                       · idle_timeout_in_minutes: The timeout for the TCP idle
223699                         connection. The value can be set  between  4  and  30
223700                         minutes. The default value is 4 minutes. This element
223701                         is only used when the protocol is set to TCP.
223702
223703                       · enable_floating_ip: Configures  a  virtual  machine's
223704                         endpoint  for  the floating IP capability required to
223705                         configure a SQL  AlwaysOn  Availability  Group.  This
223706                         setting  is  required  when  using  the  SQL AlwaysOn
223707                         Availability Groups in SQL server. This setting can't
223708                         be changed after you create the endpoint.
223709
223710
223711                     · inbound_nat_pools --
223712
223713                       An  optional  list  of  dictionaries representing valid
223714                       InboundNatPool objects. They define  an  external  port
223715                       range  for inbound NAT to a single backend port on NICs
223716                       associated with a load balancer. Inbound NAT rules  are
223717                       created  automatically for each NIC associated with the
223718                       Load Balancer using an external port from  this  range.
223719                       Defining  an  Inbound NAT pool on your Load Balancer is
223720                       mutually exclusive with  defining  inbound  NAT  rules.
223721                       Inbound  NAT  pools are referenced from virtual machine
223722                       scale sets. NICs that are  associated  with  individual
223723                       virtual  machines cannot reference an inbound NAT pool.
223724                       They have to reference individual  inbound  NAT  rules.
223725                       Valid parameters are:
223726
223727                       · name:  The name of the resource that is unique within
223728                         a resource group.
223729
223730                       · frontend_ip_configuration: Name of  the  frontend  IP
223731                         configuration  object  used  by  the inbound NAT pool
223732                         object.
223733
223734                       · protocol: Possible values include  'Udp',  'Tcp',  or
223735                         'All'.
223736
223737                       · frontend_port_range_start:  The  first port number in
223738                         the range of external ports that will be used to pro‐
223739                         vide  Inbound NAT to NICs associated with a load bal‐
223740                         ancer. Acceptable values range between 1 and 65534.
223741
223742                       · frontend_port_range_end: The last port number in  the
223743                         range  of external ports that will be used to provide
223744                         Inbound NAT to NICs associated with a load  balancer.
223745                         Acceptable values range between 1 and 65535.
223746
223747                       · backend_port:  The port used for internal connections
223748                         to the endpoint. Acceptable values are between 1  and
223749                         65535.
223750
223751
223752                     · outbound_nat_rules --
223753
223754                       An  optional  list  of  dictionaries representing valid
223755                       OutboundNatRule objects. Valid parameters are:
223756
223757                       · name: The name of the resource that is unique  within
223758                         a resource group.
223759
223760                       · frontend_ip_configuration:  Name  of  the frontend IP
223761                         configuration object used by the  outbound  NAT  rule
223762                         object.
223763
223764                       · backend_address_pool:  Name  of  the  backend address
223765                         pool object used by the  outbound  NAT  rule  object.
223766                         Outbound traffic is randomly load balanced across IPs
223767                         in the backend IPs.
223768
223769                       · allocated_outbound_ports:  The  number  of   outbound
223770                         ports to be used for NAT.
223771
223772
223773                     · connection_auth -- A dict with subscription and authen‐
223774                       tication parameters to be used  in  connecting  to  the
223775                       Azure Resource Manager API.
223776
223777              Example usage:
223778
223779                 Ensure load balancer exists:
223780                     azurearm_network.load_balancer_present:
223781                         - name: lb1
223782                         - resource_group: group1
223783                         - location: eastus
223784                         - frontend_ip_configurations:
223785                           - name: lb1_feip1
223786                             public_ip_address: pub_ip1
223787                         - backend_address_pools:
223788                           - name: lb1_bepool1
223789                         - probes:
223790                           - name: lb1_webprobe1
223791                             protocol: tcp
223792                             port: 80
223793                             interval_in_seconds: 5
223794                             number_of_probes: 2
223795                         - load_balancing_rules:
223796                           - name: lb1_webprobe1
223797                             protocol: tcp
223798                             frontend_port: 80
223799                             backend_port: 80
223800                             idle_timeout_in_minutes: 4
223801                             frontend_ip_configuration: lb1_feip1
223802                             backend_address_pool: lb1_bepool1
223803                             probe: lb1_webprobe1
223804                         - tags:
223805                             contact_name: Elmer Fudd Gantry
223806                         - connection_auth: {{ profile }}
223807                         - require:
223808                           - azurearm_resource: Ensure resource group exists
223809                           - azurearm_network: Ensure public IP exists
223810
223811       salt.states.azurearm_network.network_interface_absent(name,
223812       resource_group, connection_auth=None)
223813              New in version 2019.2.0.
223814
223815
223816              Ensure a network interface does not exist in the resource group.
223817
223818              Parameters
223819
223820                     · name -- Name of the network interface.
223821
223822                     · resource_group -- The resource group  assigned  to  the
223823                       network interface.
223824
223825                     · connection_auth -- A dict with subscription and authen‐
223826                       tication parameters to be used  in  connecting  to  the
223827                       Azure Resource Manager API.
223828
223829       salt.states.azurearm_network.network_interface_present(name, ip_config‐
223830       urations,  subnet,  virtual_network,  resource_group,  tags=None,  vir‐
223831       tual_machine=None,    network_security_group=None,   dns_settings=None,
223832       mac_address=None,   primary=None,   enable_accelerated_networking=None,
223833       enable_ip_forwarding=None, connection_auth=None, **kwargs)
223834              New in version 2019.2.0.
223835
223836
223837              Ensure a network interface exists.
223838
223839              Parameters
223840
223841                     · name -- Name of the network interface.
223842
223843                     · ip_configurations  -- A list of dictionaries represent‐
223844                       ing valid NetworkInterfaceIPConfiguration objects.  The
223845                       'name' key is required at minimum. At least one IP Con‐
223846                       figuration must be present.
223847
223848                     · subnet -- Name of the existing subnet assigned  to  the
223849                       network interface.
223850
223851                     · virtual_network -- Name of the existing virtual network
223852                       containing the subnet.
223853
223854                     · resource_group -- The resource group  assigned  to  the
223855                       virtual network.
223856
223857                     · tags  --  A  dictionary of strings can be passed as tag
223858                       metadata to the network interface object.
223859
223860                     · network_security_group -- The name of the existing net‐
223861                       work security group to assign to the network interface.
223862
223863                     · virtual_machine  --  The  name  of the existing virtual
223864                       machine to assign to the network interface.
223865
223866                     · dns_settings --
223867
223868                       An optional dictionary representing a valid  NetworkIn‐
223869                       terfaceDnsSettings object. Valid parameters are:
223870
223871                       · dns_servers:  List  of  DNS  server IP addresses. Use
223872                         'AzureProvidedDNS' to switch to  Azure  provided  DNS
223873                         resolution.  'AzureProvidedDNS'  value cannot be com‐
223874                         bined with other IPs, it must be the  only  value  in
223875                         dns_servers collection.
223876
223877                       · internal_dns_name_label:  Relative  DNS name for this
223878                         NIC used for internal communications between  VMs  in
223879                         the same virtual network.
223880
223881                       · internal_fqdn:  Fully  qualified  DNS name supporting
223882                         internal communications between VMs in the same  vir‐
223883                         tual network.
223884
223885                       · internal_domain_name_suffix:     Even    if    inter‐
223886                         nal_dns_name_label is not specified, a DNS  entry  is
223887                         created  for the primary NIC of the VM. This DNS name
223888                         can be constructed by concatenating the VM name  with
223889                         the value of internal_domain_name_suffix.
223890
223891
223892                     · mac_address  --  Optional  string  containing  the  MAC
223893                       address of the network interface.
223894
223895                     · primary -- Optional boolean allowing the  interface  to
223896                       be  set  as  the primary network interface on a virtual
223897                       machine with multiple interfaces attached.
223898
223899                     · enable_accelerated_networking -- Optional boolean indi‐
223900                       cating whether accelerated networking should be enabled
223901                       for the interface.
223902
223903                     · enable_ip_forwarding  --  Optional  boolean  indicating
223904                       whether  IP forwarding should be enabled for the inter‐
223905                       face.
223906
223907                     · connection_auth -- A dict with subscription and authen‐
223908                       tication  parameters  to  be  used in connecting to the
223909                       Azure Resource Manager API.
223910
223911              Example usage:
223912
223913                 Ensure network interface exists:
223914                     azurearm_network.network_interface_present:
223915                         - name: iface1
223916                         - subnet: vnet1_sn1
223917                         - virtual_network: vnet1
223918                         - resource_group: group1
223919                         - ip_configurations:
223920                           - name: iface1_ipc1
223921                             public_ip_address: pub_ip2
223922                         - dns_settings:
223923                             internal_dns_name_label: decisionlab-int-test-label
223924                         - primary: True
223925                         - enable_accelerated_networking: True
223926                         - enable_ip_forwarding: False
223927                         - network_security_group: nsg1
223928                         - connection_auth: {{ profile }}
223929                         - require:
223930                           - azurearm_network: Ensure subnet exists
223931                           - azurearm_network: Ensure network security group exists
223932                           - azurearm_network: Ensure another public IP exists
223933
223934       salt.states.azurearm_network.network_security_group_absent(name,
223935       resource_group, connection_auth=None)
223936              New in version 2019.2.0.
223937
223938
223939              Ensure  a  network security group does not exist in the resource
223940              group.
223941
223942              Parameters
223943
223944                     · name -- Name of the network security group.
223945
223946                     · resource_group -- The resource group  assigned  to  the
223947                       network security group.
223948
223949                     · connection_auth -- A dict with subscription and authen‐
223950                       tication parameters to be used  in  connecting  to  the
223951                       Azure Resource Manager API.
223952
223953       salt.states.azurearm_network.network_security_group_present(name,
223954       resource_group, tags=None,  security_rules=None,  connection_auth=None,
223955       **kwargs)
223956              New in version 2019.2.0.
223957
223958
223959              Ensure a network security group exists.
223960
223961              Parameters
223962
223963                     · name -- Name of the network security group.
223964
223965                     · resource_group  --  The  resource group assigned to the
223966                       network security group.
223967
223968                     · tags -- A dictionary of strings can be  passed  as  tag
223969                       metadata to the network security group object.
223970
223971                     · security_rules -- An optional list of dictionaries rep‐
223972                       resenting valid SecurityRule objects. See the  documen‐
223973                       tation  for  the  security_rule_present  state or secu‐
223974                       rity_rule_create_or_update execution  module  for  more
223975                       information  on  required  and  optional parameters for
223976                       security rules. The rules  are  only  managed  if  this
223977                       parameter  is  present.  When this parameter is absent,
223978                       implemented rules will not be removed, and will  merely
223979                       become unmanaged.
223980
223981                     · connection_auth -- A dict with subscription and authen‐
223982                       tication parameters to be used  in  connecting  to  the
223983                       Azure Resource Manager API.
223984
223985              Example usage:
223986
223987                 Ensure network security group exists:
223988                     azurearm_network.network_security_group_present:
223989                         - name: nsg1
223990                         - resource_group: group1
223991                         - security_rules:
223992                           - name: nsg1_rule1
223993                             priority: 100
223994                             protocol: tcp
223995                             access: allow
223996                             direction: outbound
223997                             source_address_prefix: virtualnetwork
223998                             destination_address_prefix: internet
223999                             source_port_range: '*'
224000                             destination_port_range: '*'
224001                           - name: nsg1_rule2
224002                             priority: 101
224003                             protocol: tcp
224004                             access: allow
224005                             direction: inbound
224006                             source_address_prefix: internet
224007                             destination_address_prefix: virtualnetwork
224008                             source_port_range: '*'
224009                             destination_port_ranges:
224010                               - '80'
224011                               - '443'
224012                         - tags:
224013                             contact_name: Elmer Fudd Gantry
224014                         - connection_auth: {{ profile }}
224015                         - require:
224016                           - azurearm_resource: Ensure resource group exists
224017
224018       salt.states.azurearm_network.public_ip_address_absent(name,
224019       resource_group, connection_auth=None)
224020              New in version 2019.2.0.
224021
224022
224023              Ensure a public IP address does not exist in the resource group.
224024
224025              Parameters
224026
224027                     · name -- Name of the public IP address.
224028
224029                     · resource_group -- The resource group  assigned  to  the
224030                       public IP address.
224031
224032                     · connection_auth -- A dict with subscription and authen‐
224033                       tication parameters to be used  in  connecting  to  the
224034                       Azure Resource Manager API.
224035
224036       salt.states.azurearm_network.public_ip_address_present(name,
224037       resource_group, tags=None, sku=None,  public_ip_allocation_method=None,
224038       public_ip_address_version=None, dns_settings=None, idle_timeout_in_min‐
224039       utes=None, connection_auth=None, **kwargs)
224040              New in version 2019.2.0.
224041
224042
224043              Ensure a public IP address exists.
224044
224045              Parameters
224046
224047                     · name -- Name of the public IP address.
224048
224049                     · resource_group -- The resource group  assigned  to  the
224050                       public IP address.
224051
224052                     · dns_settings  --  An optional dictionary representing a
224053                       valid  PublicIPAddressDnsSettings  object.   Parameters
224054                       include  'domain_name_label'  and 'reverse_fqdn', which
224055                       accept strings. The  'domain_name_label'  parameter  is
224056                       concatenated with the regionalized DNS zone make up the
224057                       fully qualified domain name associated with the  public
224058                       IP  address.  If a domain name label is specified, an A
224059                       DNS record is created for the public IP in  the  Micro‐
224060                       soft  Azure DNS system. The 'reverse_fqdn' parameter is
224061                       a  user-visible,  fully  qualified  domain  name   that
224062                       resolves to this public IP address. If the reverse FQDN
224063                       is specified, then a PTR DNS record is created pointing
224064                       from  the  IP address in the in-addr.arpa domain to the
224065                       reverse FQDN.
224066
224067                     · sku -- The public IP address SKU, which can be  'Basic'
224068                       or 'Standard'.
224069
224070                     · public_ip_allocation_method -- The public IP allocation
224071                       method. Possible values are: 'Static' and 'Dynamic'.
224072
224073                     · public_ip_address_version -- The public IP address ver‐
224074                       sion. Possible values are: 'IPv4' and 'IPv6'.
224075
224076                     · idle_timeout_in_minutes  -- An integer representing the
224077                       idle timeout of the public IP address.
224078
224079                     · tags -- A dictionary of strings can be  passed  as  tag
224080                       metadata to the public IP address object.
224081
224082                     · connection_auth -- A dict with subscription and authen‐
224083                       tication parameters to be used  in  connecting  to  the
224084                       Azure Resource Manager API.
224085
224086              Example usage:
224087
224088                 Ensure public IP exists:
224089                     azurearm_network.public_ip_address_present:
224090                         - name: pub_ip1
224091                         - resource_group: group1
224092                         - dns_settings:
224093                             domain_name_label: decisionlab-ext-test-label
224094                         - sku: basic
224095                         - public_ip_allocation_method: static
224096                         - public_ip_address_version: ipv4
224097                         - idle_timeout_in_minutes: 4
224098                         - tags:
224099                             contact_name: Elmer Fudd Gantry
224100                         - connection_auth: {{ profile }}
224101                         - require:
224102                           - azurearm_resource: Ensure resource group exists
224103
224104       salt.states.azurearm_network.route_absent(name,            route_table,
224105       resource_group, connection_auth=None)
224106              New in version 2019.2.0.
224107
224108
224109              Ensure a route table does not exist in the resource group.
224110
224111              Parameters
224112
224113                     · name -- Name of the route table.
224114
224115                     · route_table -- The name of  the  existing  route  table
224116                       containing the route.
224117
224118                     · resource_group  --  The  resource group assigned to the
224119                       route table.
224120
224121                     · connection_auth -- A dict with subscription and authen‐
224122                       tication  parameters  to  be  used in connecting to the
224123                       Azure Resource Manager API.
224124
224125       salt.states.azurearm_network.route_present(name,        address_prefix,
224126       next_hop_type,  route_table,  resource_group, next_hop_ip_address=None,
224127       connection_auth=None, **kwargs)
224128              New in version 2019.2.0.
224129
224130
224131              Ensure a route exists within a route table.
224132
224133              Parameters
224134
224135                     · name -- Name of the route.
224136
224137                     · address_prefix -- The destination  CIDR  to  which  the
224138                       route applies.
224139
224140                     · next_hop_type  --  The  type  of  Azure  hop the packet
224141                       should be sent to. Possible  values  are:  'VirtualNet‐
224142                       workGateway',  'VnetLocal',  'Internet', 'VirtualAppli‐
224143                       ance', and 'None'.
224144
224145                     · next_hop_ip_address -- The IP address packets should be
224146                       forwarded  to.  Next  hop  values  are  only allowed in
224147                       routes where the next hop type is 'VirtualAppliance'.
224148
224149                     · route_table -- The name of  the  existing  route  table
224150                       which will contain the route.
224151
224152                     · resource_group  --  The  resource group assigned to the
224153                       route table.
224154
224155                     · connection_auth -- A dict with subscription and authen‐
224156                       tication  parameters  to  be  used in connecting to the
224157                       Azure Resource Manager API.
224158
224159              Example usage:
224160
224161                 Ensure route exists:
224162                     azurearm_network.route_present:
224163                         - name: rt1_route2
224164                         - route_table: rt1
224165                         - resource_group: group1
224166                         - address_prefix: '192.168.0.0/16'
224167                         - next_hop_type: vnetlocal
224168                         - connection_auth: {{ profile }}
224169                         - require:
224170                           - azurearm_network: Ensure route table exists
224171
224172       salt.states.azurearm_network.route_table_absent(name,   resource_group,
224173       connection_auth=None)
224174              New in version 2019.2.0.
224175
224176
224177              Ensure a route table does not exist in the resource group.
224178
224179              Parameters
224180
224181                     · name -- Name of the route table.
224182
224183                     · resource_group  --  The  resource group assigned to the
224184                       route table.
224185
224186                     · connection_auth -- A dict with subscription and authen‐
224187                       tication  parameters  to  be  used in connecting to the
224188                       Azure Resource Manager API.
224189
224190       salt.states.azurearm_network.route_table_present(name,  resource_group,
224191       tags=None,   routes=None,  disable_bgp_route_propagation=None,  connec‐
224192       tion_auth=None, **kwargs)
224193              New in version 2019.2.0.
224194
224195
224196              Ensure a route table exists.
224197
224198              Parameters
224199
224200                     · name -- Name of the route table.
224201
224202                     · resource_group -- The resource group  assigned  to  the
224203                       route table.
224204
224205                     · routes -- An optional list of dictionaries representing
224206                       valid Route objects contained within a route table. See
224207                       the   documentation  for  the  route_present  state  or
224208                       route_create_or_update execution module for more infor‐
224209                       mation  on required and optional parameters for routes.
224210                       The routes  are  only  managed  if  this  parameter  is
224211                       present.  When  this  parameter  is absent, implemented
224212                       routes will not be  removed,  and  will  merely  become
224213                       unmanaged.
224214
224215                     · disable_bgp_route_propagation  --  An  optional boolean
224216                       parameter setting whether to disable the routes learned
224217                       by BGP on the route table.
224218
224219                     · tags  --  A  dictionary of strings can be passed as tag
224220                       metadata to the route table object.
224221
224222                     · connection_auth -- A dict with subscription and authen‐
224223                       tication  parameters  to  be  used in connecting to the
224224                       Azure Resource Manager API.
224225
224226              Example usage:
224227
224228                 Ensure route table exists:
224229                     azurearm_network.route_table_present:
224230                         - name: rt1
224231                         - resource_group: group1
224232                         - routes:
224233                           - name: rt1_route1
224234                             address_prefix: '0.0.0.0/0'
224235                             next_hop_type: internet
224236                           - name: rt1_route2
224237                             address_prefix: '192.168.0.0/16'
224238                             next_hop_type: vnetlocal
224239                         - tags:
224240                             contact_name: Elmer Fudd Gantry
224241                         - connection_auth: {{ profile }}
224242                         - require:
224243                           - azurearm_resource: Ensure resource group exists
224244
224245       salt.states.azurearm_network.security_rule_absent(name, security_group,
224246       resource_group, connection_auth=None)
224247              New in version 2019.2.0.
224248
224249
224250              Ensure  a  security  rule does not exist in the network security
224251              group.
224252
224253              Parameters
224254
224255                     · name -- Name of the security rule.
224256
224257                     · security_group -- The network security group containing
224258                       the security rule.
224259
224260                     · resource_group  --  The  resource group assigned to the
224261                       network security group.
224262
224263                     · connection_auth -- A dict with subscription and authen‐
224264                       tication  parameters  to  be  used in connecting to the
224265                       Azure Resource Manager API.
224266
224267       salt.states.azurearm_network.security_rule_present(name, access, direc‐
224268       tion,  priority,  protocol,  security_group,  resource_group,  destina‐
224269       tion_address_prefix=None,                  destination_port_range=None,
224270       source_address_prefix=None,  source_port_range=None,  description=None,
224271       destination_address_prefixes=None,        destination_port_ranges=None,
224272       source_address_prefixes=None,      source_port_ranges=None,     connec‐
224273       tion_auth=None, **kwargs)
224274              New in version 2019.2.0.
224275
224276
224277              Ensure a security rule exists.
224278
224279              Parameters
224280
224281                     · name -- Name of the security rule.
224282
224283                     · access -- 'allow' or 'deny'
224284
224285                     · direction -- 'inbound' or 'outbound'
224286
224287                     · priority -- Integer  between  100  and  4096  used  for
224288                       ordering rule application.
224289
224290                     · protocol -- 'tcp', 'udp', or '*'
224291
224292                     · security_group  --  The  name  of  the existing network
224293                       security group to contain the security rule.
224294
224295                     · resource_group -- The resource group  assigned  to  the
224296                       network security group.
224297
224298                     · description  --  Optional  description  of the security
224299                       rule.
224300
224301                     · destination_address_prefix -- The CIDR  or  destination
224302                       IP  range.  Asterix  '*'  can also be used to match all
224303                       destination IPs.  Default  tags  such  as  'VirtualNet‐
224304                       work',  'AzureLoadBalancer'  and 'Internet' can also be
224305                       used.  If this is an ingress rule, specifies where net‐
224306                       work traffic originates from.
224307
224308                     · destination_port_range   --  The  destination  port  or
224309                       range. Integer or range between 0  and  65535.  Asterix
224310                       '*' can also be used to match all ports.
224311
224312                     · source_address_prefix  --  The CIDR or source IP range.
224313                       Asterix '*' can also be used to match all  source  IPs.
224314                       Default  tags  such as 'VirtualNetwork', 'AzureLoadBal‐
224315                       ancer' and 'Internet' can also be used.  If this is  an
224316                       ingress  rule,  specifies  where network traffic origi‐
224317                       nates from.
224318
224319                     · source_port_range -- The source port or range.  Integer
224320                       or  range  between 0 and 65535. Asterix '*' can also be
224321                       used to match all ports.
224322
224323                     · destination_address_prefixes  --  A  list  of  destina‐
224324                       tion_address_prefix  values.  This  parameter overrides
224325                       destination_address_prefix and  will  cause  any  value
224326                       entered there to be ignored.
224327
224328                     · destination_port_ranges   --   A   list   of   destina‐
224329                       tion_port_range values. This parameter overrides desti‐
224330                       nation_port_range  and  will  cause  any  value entered
224331                       there to be ignored.
224332
224333                     · source_address_prefixes     --      A      list      of
224334                       source_address_prefix  values. This parameter overrides
224335                       source_address_prefix and will cause any value  entered
224336                       there to be ignored.
224337
224338                     · source_port_ranges  -- A list of source_port_range val‐
224339                       ues. This  parameter  overrides  source_port_range  and
224340                       will cause any value entered there to be ignored.
224341
224342                     · connection_auth -- A dict with subscription and authen‐
224343                       tication parameters to be used  in  connecting  to  the
224344                       Azure Resource Manager API.
224345
224346              Example usage:
224347
224348                 Ensure security rule exists:
224349                     azurearm_network.security_rule_present:
224350                         - name: nsg1_rule2
224351                         - security_group: nsg1
224352                         - resource_group: group1
224353                         - priority: 101
224354                         - protocol: tcp
224355                         - access: allow
224356                         - direction: inbound
224357                         - source_address_prefix: internet
224358                         - destination_address_prefix: virtualnetwork
224359                         - source_port_range: '*'
224360                         - destination_port_ranges:
224361                           - '80'
224362                           - '443'
224363                         - connection_auth: {{ profile }}
224364                         - require:
224365                           - azurearm_network: Ensure network security group exists
224366
224367       salt.states.azurearm_network.subnet_absent(name,       virtual_network,
224368       resource_group, connection_auth=None)
224369              New in version 2019.2.0.
224370
224371
224372              Ensure a virtual network does not exist in the virtual network.
224373
224374              Parameters
224375
224376                     · name -- Name of the subnet.
224377
224378                     · virtual_network -- Name of the existing virtual network
224379                       containing the subnet.
224380
224381                     · resource_group  --  The  resource group assigned to the
224382                       virtual network.
224383
224384                     · connection_auth -- A dict with subscription and authen‐
224385                       tication  parameters  to  be  used in connecting to the
224386                       Azure Resource Manager API.
224387
224388       salt.states.azurearm_network.subnet_present(name, address_prefix,  vir‐
224389       tual_network,  resource_group,  security_group=None,  route_table=None,
224390       connection_auth=None, **kwargs)
224391              New in version 2019.2.0.
224392
224393
224394              Ensure a subnet exists.
224395
224396              Parameters
224397
224398                     · name -- Name of the subnet.
224399
224400                     · address_prefix -- A  CIDR  block  used  by  the  subnet
224401                       within the virtual network.
224402
224403                     · virtual_network -- Name of the existing virtual network
224404                       to contain the subnet.
224405
224406                     · resource_group -- The resource group  assigned  to  the
224407                       virtual network.
224408
224409                     · security_group  --  The  name  of  the existing network
224410                       security group to assign to the subnet.
224411
224412                     · route_table -- The name of the existing route table  to
224413                       assign to the subnet.
224414
224415                     · connection_auth -- A dict with subscription and authen‐
224416                       tication parameters to be used  in  connecting  to  the
224417                       Azure Resource Manager API.
224418
224419              Example usage:
224420
224421                 Ensure subnet exists:
224422                     azurearm_network.subnet_present:
224423                         - name: vnet1_sn1
224424                         - virtual_network: vnet1
224425                         - resource_group: group1
224426                         - address_prefix: '192.168.1.0/24'
224427                         - security_group: nsg1
224428                         - route_table: rt1
224429                         - connection_auth: {{ profile }}
224430                         - require:
224431                           - azurearm_network: Ensure virtual network exists
224432                           - azurearm_network: Ensure network security group exists
224433                           - azurearm_network: Ensure route table exists
224434
224435       salt.states.azurearm_network.virtual_network_absent(name,
224436       resource_group, connection_auth=None)
224437              New in version 2019.2.0.
224438
224439
224440              Ensure a virtual network does not exist in the resource group.
224441
224442              Parameters
224443
224444                     · name -- Name of the virtual network.
224445
224446                     · resource_group -- The resource group  assigned  to  the
224447                       virtual network.
224448
224449                     · connection_auth -- A dict with subscription and authen‐
224450                       tication parameters to be used  in  connecting  to  the
224451                       Azure Resource Manager API.
224452
224453       salt.states.azurearm_network.virtual_network_present(name, address_pre‐
224454       fixes,    resource_group,    dns_servers=None,    tags=None,    connec‐
224455       tion_auth=None, **kwargs)
224456              New in version 2019.2.0.
224457
224458
224459              Ensure a virtual network exists.
224460
224461              Parameters
224462
224463                     · name -- Name of the virtual network.
224464
224465                     · resource_group  --  The  resource group assigned to the
224466                       virtual network.
224467
224468                     · address_prefixes -- A list of CIDR blocks which can  be
224469                       used by subnets within the virtual network.
224470
224471                     · dns_servers -- A list of DNS server addresses.
224472
224473                     · tags  --  A  dictionary of strings can be passed as tag
224474                       metadata to the virtual network object.
224475
224476                     · connection_auth -- A dict with subscription and authen‐
224477                       tication  parameters  to  be  used in connecting to the
224478                       Azure Resource Manager API.
224479
224480              Example usage:
224481
224482                 Ensure virtual network exists:
224483                     azurearm_network.virtual_network_present:
224484                         - name: vnet1
224485                         - resource_group: group1
224486                         - address_prefixes:
224487                             - '10.0.0.0/8'
224488                             - '192.168.0.0/16'
224489                         - dns_servers:
224490                             - '8.8.8.8'
224491                         - tags:
224492                             contact_name: Elmer Fudd Gantry
224493                         - connection_auth: {{ profile }}
224494                         - require:
224495                           - azurearm_resource: Ensure resource group exists
224496
224497   salt.states.azurearm_resource
224498       Azure (ARM) Resource State Module
224499
224500       New in version 2019.2.0.
224501
224502
224503       maintainer
224504              <devops@decisionlab.io>
224505
224506       maturity
224507              new
224508
224509       depends
224510
224511              · azure >= 2.0.0
224512
224513              · azure-common >= 1.1.8
224514
224515              · azure-mgmt >= 1.0.0
224516
224517              · azure-mgmt-compute >= 1.0.0
224518
224519              · azure-mgmt-network >= 1.7.1
224520
224521              · azure-mgmt-resource >= 1.1.0
224522
224523              · azure-mgmt-storage >= 1.0.0
224524
224525              · azure-mgmt-web >= 0.32.0
224526
224527              · azure-storage >= 0.34.3
224528
224529              · msrestazure >= 0.4.21
224530
224531       platform
224532              linux
224533
224534       configuration
224535              This module requires Azure Resource Manager  credentials  to  be
224536              passed  as  a  dictionary  of  keyword  arguments to the connec‐
224537              tion_auth parameter in order to work properly. Since the authen‐
224538              tication parameters are sensitive, it's recommended to pass them
224539              to the states via pillar.
224540
224541              Required provider parameters:
224542
224543              if using username and password:
224544
224545                     · subscription_id
224546
224547                     · username
224548
224549                     · password
224550
224551              if using a service principal:
224552
224553                     · subscription_id
224554
224555                     · tenant
224556
224557                     · client_id
224558
224559                     · secret
224560
224561              Optional provider parameters:
224562
224563              cloud_environment: Used to point the cloud driver  to  different
224564              API endpoints, such as Azure GovCloud. Possible values:
224565
224566                     · AZURE_PUBLIC_CLOUD (default)
224567
224568                     · AZURE_CHINA_CLOUD
224569
224570                     · AZURE_US_GOV_CLOUD
224571
224572                     · AZURE_GERMAN_CLOUD
224573
224574              Example Pillar for Azure Resource Manager authentication:
224575
224576                 azurearm:
224577                     user_pass_auth:
224578                         subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
224579                         username: fletch
224580                         password: 123pass
224581                     mysubscription:
224582                         subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
224583                         tenant: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
224584                         client_id: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
224585                         secret: XXXXXXXXXXXXXXXXXXXXXXXX
224586                         cloud_environment: AZURE_PUBLIC_CLOUD
224587
224588              Example states using Azure Resource Manager authentication:
224589
224590                 {% set profile = salt['pillar.get']('azurearm:mysubscription') %}
224591                 Ensure resource group exists:
224592                     azurearm_resource.resource_group_present:
224593                         - name: my_rg
224594                         - location: westus
224595                         - tags:
224596                             how_awesome: very
224597                             contact_name: Elmer Fudd Gantry
224598                         - connection_auth: {{ profile }}
224599
224600                 Ensure resource group is absent:
224601                     azurearm_resource.resource_group_absent:
224602                         - name: other_rg
224603                         - connection_auth: {{ profile }}
224604
224605       salt.states.azurearm_resource.policy_assignment_absent(name,     scope,
224606       connection_auth=None)
224607              New in version 2019.2.0.
224608
224609
224610              Ensure a policy assignment does not exist in the provided scope.
224611
224612              Parameters
224613
224614                     · name -- Name of the policy assignment.
224615
224616                     · scope -- The scope of the policy assignment.
224617
224618              connection_auth
224619                     A dict with subscription and authentication parameters to
224620                     be used in connecting to the Azure Resource Manager API.
224621
224622       salt.states.azurearm_resource.policy_assignment_present(name,    scope,
224623       definition_name,    display_name=None,    description=None,     assign‐
224624       ment_type=None, parameters=None, connection_auth=None, **kwargs)
224625              New in version 2019.2.0.
224626
224627
224628              Ensure a security policy assignment exists.
224629
224630              Parameters
224631
224632                     · name -- Name of the policy assignment.
224633
224634                     · scope -- The scope of the policy assignment.
224635
224636                     · definition_name -- The name of the policy definition to
224637                       assign.
224638
224639                     · display_name -- The display name of the policy  assign‐
224640                       ment.
224641
224642                     · description -- The policy assignment description.
224643
224644                     · assignment_type -- The type of policy assignment.
224645
224646                     · parameters  --  Required  dictionary  if a parameter is
224647                       used in the policy rule.
224648
224649                     · connection_auth -- A dict with subscription and authen‐
224650                       tication  parameters  to  be  used in connecting to the
224651                       Azure Resource Manager API.
224652
224653              Example usage:
224654
224655                 Ensure policy assignment exists:
224656                     azurearm_resource.policy_assignment_present:
224657                         - name: testassign
224658                         - scope: /subscriptions/bc75htn-a0fhsi-349b-56gh-4fghti-f84852
224659                         - definition_name: testpolicy
224660                         - display_name: Test Assignment
224661                         - description: Test assignment for testing assignments.
224662                         - connection_auth: {{ profile }}
224663
224664       salt.states.azurearm_resource.policy_definition_absent(name,    connec‐
224665       tion_auth=None)
224666              New in version 2019.2.0.
224667
224668
224669              Ensure  a  policy  definition does not exist in the current sub‐
224670              scription.
224671
224672              Parameters
224673
224674                     · name -- Name of the policy definition.
224675
224676                     · connection_auth -- A dict with subscription and authen‐
224677                       tication  parameters  to  be  used in connecting to the
224678                       Azure Resource Manager API.
224679
224680       salt.states.azurearm_resource.policy_definition_present(name,      pol‐
224681       icy_rule=None, policy_type=None, mode=None, display_name=None, descrip‐
224682       tion=None, metadata=None, parameters=None, policy_rule_json=None,  pol‐
224683       icy_rule_file=None,         template='jinja',         source_hash=None,
224684       source_hash_name=None,     skip_verify=False,     connection_auth=None,
224685       **kwargs)
224686              New in version 2019.2.0.
224687
224688
224689              Ensure a security policy definition exists.
224690
224691              Parameters
224692
224693                     · name -- Name of the policy definition.
224694
224695                     · policy_rule  --  A  YAML dictionary defining the policy
224696                       rule. See Azure  Policy  Definition  documentation  for
224697                       details  on  the  structure.  One  of policy_rule, pol‐
224698                       icy_rule_json, or policy_rule_file is required, in that
224699                       order  of precedence for use if multiple parameters are
224700                       used.
224701
224702                     · policy_rule_json --
224703
224704                       A text field defining the entirety of a policy  defini‐
224705                       tion in JSON. See Azure Policy Definition documentation
224706                       for details on the structure. One of policy_rule,  pol‐
224707                       icy_rule_json, or policy_rule_file is required, in that
224708                       order of precedence for use if multiple parameters  are
224709                       used.  Note  that the name field in the JSON will over‐
224710                       ride the name parameter in the state.
224711
224712
224713                     · policy_rule_file --
224714
224715                       The source of a JSON file defining the  entirety  of  a
224716                       policy definition. See Azure Policy Definition documen‐
224717                       tation for  details  on  the  structure.  One  of  pol‐
224718                       icy_rule,   policy_rule_json,  or  policy_rule_file  is
224719                       required, in that order of precedence for use if multi‐
224720                       ple  parameters  are  used. Note that the name field in
224721                       the JSON will override the name parameter in the state.
224722
224723
224724                     · skip_verify -- Used for the policy_rule_file parameter.
224725                       If  True,  hash  verification  of  remote  file sources
224726                       (http://, https://, ftp://) will be  skipped,  and  the
224727                       source_hash argument will be ignored.
224728
224729                     · source_hash  -- This can be a source hash string or the
224730                       URI of a file that contains source hash strings.
224731
224732                     · source_hash_name -- When source_hash refers to  a  hash
224733                       file,  Salt will try to find the correct hash by match‐
224734                       ing the filename/URI associated with that hash.
224735
224736                     · policy_type -- The type of policy definition.  Possible
224737                       values are NotSpecified, BuiltIn, and Custom. Only used
224738                       with the policy_rule parameter.
224739
224740                     · mode -- The policy definition mode. Possible values are
224741                       NotSpecified, Indexed, and All. Only used with the pol‐
224742                       icy_rule parameter.
224743
224744                     · display_name -- The display name of the policy  defini‐
224745                       tion. Only used with the policy_rule parameter.
224746
224747                     · description  -- The policy definition description. Only
224748                       used with the policy_rule parameter.
224749
224750                     · metadata -- The policy definition metadata defined as a
224751                       dictionary. Only used with the policy_rule parameter.
224752
224753                     · parameters  --  Required  dictionary  if a parameter is
224754                       used in the policy rule. Only used with the policy_rule
224755                       parameter.
224756
224757                     · connection_auth -- A dict with subscription and authen‐
224758                       tication parameters to be used  in  connecting  to  the
224759                       Azure Resource Manager API.
224760
224761              Example usage:
224762
224763                 Ensure policy definition exists:
224764                     azurearm_resource.policy_definition_present:
224765                         - name: testpolicy
224766                         - display_name: Test Policy
224767                         - description: Test policy for testing policies.
224768                         - policy_rule:
224769                             if:
224770                               allOf:
224771                                 - equals: Microsoft.Compute/virtualMachines/write
224772                                   source: action
224773                                 - field: location
224774                                   in:
224775                                     - eastus
224776                                     - eastus2
224777                                     - centralus
224778                             then:
224779                               effect: deny
224780                         - connection_auth: {{ profile }}
224781
224782       salt.states.azurearm_resource.resource_group_absent(name,       connec‐
224783       tion_auth=None)
224784              New in version 2019.2.0.
224785
224786
224787              Ensure a resource group does not exist in the current  subscrip‐
224788              tion.
224789
224790              Parameters
224791
224792                     · name -- Name of the resource group.
224793
224794                     · connection_auth -- A dict with subscription and authen‐
224795                       tication parameters to be used  in  connecting  to  the
224796                       Azure Resource Manager API.
224797
224798       salt.states.azurearm_resource.resource_group_present(name,    location,
224799       managed_by=None, tags=None, connection_auth=None, **kwargs)
224800              New in version 2019.2.0.
224801
224802
224803              Ensure a resource group exists.
224804
224805              Parameters
224806
224807                     · name -- Name of the resource group.
224808
224809                     · location -- The Azure location in which to  create  the
224810                       resource  group.  This value cannot be updated once the
224811                       resource group is created.
224812
224813                     · managed_by -- The ID of the resource that manages  this
224814                       resource  group.  This value cannot be updated once the
224815                       resource group is created.
224816
224817                     · tags -- A dictionary of strings can be  passed  as  tag
224818                       metadata to the resource group object.
224819
224820                     · connection_auth -- A dict with subscription and authen‐
224821                       tication parameters to be used  in  connecting  to  the
224822                       Azure Resource Manager API.
224823
224824              Example usage:
224825
224826                 Ensure resource group exists:
224827                     azurearm_resource.resource_group_present:
224828                         - name: group1
224829                         - location: eastus
224830                         - tags:
224831                             contact_name: Elmer Fudd Gantry
224832                         - connection_auth: {{ profile }}
224833
224834   salt.states.beacon
224835   Management of the Salt beacons
224836       New in version 2015.8.0.
224837
224838
224839          ps:
224840            beacon.present:
224841              - save: True
224842              - enable: False
224843              - services:
224844                  salt-master: running
224845                  apache2: stopped
224846
224847          sh:
224848            beacon.present: []
224849
224850          load:
224851            beacon.present:
224852              - averages:
224853                  1m:
224854                    - 0.0
224855                    - 2.0
224856                  5m:
224857                    - 0.0
224858                    - 1.5
224859                  15m:
224860                    - 0.1
224861                    - 1.0
224862
224863          .. versionadded:: 3000
224864
224865          Beginning in the 3000 release, multiple copies of a beacon can be configured
224866          using the ``beacon_module`` parameter.
224867
224868          inotify_infs:
224869            beacon.present:
224870              - save: True
224871              - enable: True
224872              - files:
224873                 /etc/infs.conf:
224874                   mask:
224875                     - create
224876                     - delete
224877                     - modify
224878                   recurse: True
224879                   auto_add: True
224880              - interval: 10
224881              - beacon_module: inotify
224882              - disable_during_state_run: True
224883
224884          inotify_ntp:
224885            beacon.present:
224886              - save: True
224887              - enable: True
224888              - files:
224889                 /etc/ntp.conf:
224890                   mask:
224891                     - create
224892                     - delete
224893                     - modify
224894                   recurse: True
224895                   auto_add: True
224896              - interval: 10
224897              - beacon_module: inotify
224898              - disable_during_state_run: True
224899
224900       salt.states.beacon.absent(name, save=False, **kwargs)
224901              Ensure beacon is absent.
224902
224903              name   The name of the beacon ensured absent.
224904
224905              save   True/False, if True the beacons.conf file be updated too.
224906                     Default is False.
224907
224908       salt.states.beacon.disabled(name, **kwargs)
224909              Disable a beacon.
224910
224911              name   The name of the beacon to disable.
224912
224913       salt.states.beacon.enabled(name, **kwargs)
224914              Enable a beacon.
224915
224916              name   The name of the beacon to enable.
224917
224918       salt.states.beacon.present(name, save=False, **kwargs)
224919              Ensure beacon is configured with the included beacon data.
224920
224921              name   The name of the beacon ensure is configured.
224922
224923              save   True/False, if True the beacons.conf file be updated too.
224924                     Default is False.
224925
224926   salt.states.bigip
224927       A state module designed to enforce load-balancing configurations for F5
224928       Big-IP entities.
224929
224930              maturity
224931                     develop
224932
224933              platform
224934                     f5_bigip_11.6
224935
224936       salt.states.bigip.add_pool_member(hostname, username,  password,  name,
224937       member)
224938              A  function to connect to a bigip device and add a new member to
224939              an existing pool.
224940
224941              hostname
224942                     The host/address of the bigip device
224943
224944              username
224945                     The iControl REST username
224946
224947              password
224948                     The iControl REST password
224949
224950              name   The name of the pool to modify
224951
224952              member The member to add to the pool
224953
224954       salt.states.bigip.create_monitor(hostname,  username,  password,  moni‐
224955       tor_type, name, **kwargs)
224956              A function to connect to a bigip device and create a monitor.
224957
224958              hostname
224959                     The host/address of the bigip device
224960
224961              username
224962                     The iControl REST username
224963
224964              password
224965                     The iControl REST password
224966
224967              monitor_type
224968                     The type of monitor to create
224969
224970              name   The name of the monitor to create
224971
224972              kwargs [ arg=val ] ...
224973
224974                     Consult F5 BIGIP user guide for specific options for each
224975                     monitor type.  Typically, tmsh arg names are used.
224976
224977       salt.states.bigip.create_node(hostname,   username,   password,   name,
224978       address)
224979              Create a new node if it does not already exist.
224980
224981              hostname
224982                     The host/address of the bigip device
224983
224984              username
224985                     The iControl REST username
224986
224987              password
224988                     The iControl REST password
224989
224990              name   The name of the node to create
224991
224992              address
224993                     The address of the node
224994
224995       salt.states.bigip.create_pool(hostname,  username, password, name, mem‐
224996       bers=None,  allow_nat=None,  allow_snat=None,  description=None,  gate‐
224997       way_failsafe_device=None,                 ignore_persisted_weight=None,
224998       ip_tos_to_client=None, ip_tos_to_server=None,  link_qos_to_client=None,
224999       link_qos_to_server=None,    load_balancing_mode=None,   min_active_mem‐
225000       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
225001       bers_checking=None,             monitor=None,            profiles=None,
225002       queue_depth_limit=None,                 queue_on_connection_limit=None,
225003       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
225004       slow_ramp_time=None)
225005              Create a new node if it does not already exist.
225006
225007              hostname
225008                     The host/address of the bigip device
225009
225010              username
225011                     The iControl REST username
225012
225013              password
225014                     The iControl REST password
225015
225016              name   The name of the pool to create
225017
225018              members
225019                     List of members to be added to the pool
225020
225021              allow_nat
225022                     [yes | no]
225023
225024              allow_snat
225025                     [yes | no]
225026
225027              description
225028                     [string]
225029
225030              gateway_failsafe_device
225031                     [string]
225032
225033              ignore_persisted_weight
225034                     [enabled | disabled]
225035
225036              ip_tos_to_client
225037                     [pass-through | [integer]]
225038
225039              ip_tos_to_server
225040                     [pass-through | [integer]]
225041
225042              link_qos_to_client
225043                     [pass-through | [integer]]
225044
225045              link_qos_to_server
225046                     [pass-through | [integer]]
225047
225048              load_balancing_mode
225049                     [dynamic-ratio-member     |     dynamic-ratio-node      |
225050                     fastest-app-response   |   fastest-node  |  least-connec‐
225051                     tions-members | least-connections-node | least-sessions |
225052                     observed-member  |  observed-node  |  predictive-member |
225053                     predictive-node   |   ratio-least-connections-member    |
225054                     ratio-least-connections-node  | ratio-member | ratio-node
225055                     | ratio-session |  round-robin  |  weighted-least-connec‐
225056                     tions-member | weighted-least-connections-node]
225057
225058              min_active_members
225059                     [integer]
225060
225061              min_up_members
225062                     [integer]
225063
225064              min_up_members_action
225065                     [failover | reboot | restart-all]
225066
225067              min_up_members_checking
225068                     [enabled | disabled]
225069
225070              monitor
225071                     [name]
225072
225073              profiles
225074                     [none | profile_name]
225075
225076              queue_depth_limit
225077                     [integer]
225078
225079              queue_on_connection_limit
225080                     [enabled | disabled]
225081
225082              queue_time_limit
225083                     [integer]
225084
225085              reselect_tries
225086                     [integer]
225087
225088              service_down_action
225089                     [drop | none | reselect | reset]
225090
225091              slow_ramp_time
225092                     [integer]
225093
225094       salt.states.bigip.create_profile(hostname,   username,  password,  pro‐
225095       file_type, name, **kwargs)
225096              A function to connect to a bigip device and create a profile.
225097
225098              hostname
225099                     The host/address of the bigip device
225100
225101              username
225102                     The iControl REST username
225103
225104              password
225105                     The iControl REST password
225106
225107              profile_type
225108                     The type of profile to create
225109
225110              name   The name of the profile to create
225111
225112              kwargs [ arg=val ] ...
225113
225114                     Consult F5 BIGIP user guide for specific options for each
225115                     profile type.  Typically, tmsh arg names are used.
225116
225117              Special  Characters |, , and : must be escaped using \ when used
225118              within strings.
225119
225120       salt.states.bigip.create_virtual(hostname,  username,  password,  name,
225121       destination,    pool=None,    address_status=None,   auto_lasthop=None,
225122       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
225123       dhcp_relay=None,      description=None,      fallback_persistence=None,
225124       flow_eviction_policy=None, gtm_score=None,  ip_forward=None,  ip_proto‐
225125       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
225126       mask=None, mirror=None, nat64=None, persist=None, profiles=None,  poli‐
225127       cies=None,   rate_class=None,   rate_limit=None,  rate_limit_mode=None,
225128       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
225129       related_rules=None,  reject=None,  source=None, source_address_transla‐
225130       tion=None, source_port=None, virtual_state=None,  traffic_classes=None,
225131       translate_address=None, translate_port=None, vlans=None)
225132              A  function  to  connect  to a bigip device and create a virtual
225133              server if it does not already exists.
225134
225135              hostname
225136                     The host/address of the bigip device
225137
225138              username
225139                     The iControl REST username
225140
225141              password
225142                     The iControl REST password
225143
225144              name   The name of the virtual to create
225145
225146              destination
225147                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
225148                     ]
225149
225150              pool   [ [pool_name] | none]
225151
225152              address_status
225153                     [yes | no]
225154
225155              auto_lasthop
225156                     [default | enabled | disabled ]
225157
225158              bwc_policy
225159                     [none] | string]
225160
225161              cmp_enabled
225162                     [yes | no]
225163
225164              dhcp_relay
225165                     [yes | no}
225166
225167              connection_limit
225168                     [integer]
225169
225170              description
225171                     [string]
225172
225173              state  [disabled | enabled]
225174
225175              fallback_persistence
225176                     [none | [profile name] ]
225177
225178              flow_eviction_policy
225179                     [none | [eviction policy name] ]
225180
225181              gtm_score
225182                     [integer]
225183
225184              ip_forward
225185                     [yes | no]
225186
225187              ip_protocol
225188                     [any | protocol]
225189
225190              internal
225191                     [yes | no]
225192
225193              twelve_forward(12-forward)
225194                     [yes | no]
225195
225196              last_hop-pool
225197                     [ [pool_name] | none]
225198
225199              mask   { [ipv4] | [ipv6] }
225200
225201              mirror { [disabled | enabled | none] }
225202
225203              nat64  [enabled | disabled]
225204
225205              persist
225206                     [list]
225207
225208              profiles
225209                     [none | default | list ]
225210
225211              policies
225212                     [none | default | list ]
225213
225214              rate_class
225215                     [name]
225216
225217              rate_limit
225218                     [integer]
225219
225220              rate_limit-mode
225221                     [destination    |    object    |   object-destination   |
225222                     object-source  |  object-source-destination  |  source  |
225223                     source-destination]
225224
225225              rate_limit-dst
225226                     [integer]
225227
225228              rate_limit-src
225229                     [integer]
225230
225231              rules  [none | list ]
225232
225233              related_rules
225234                     [none | list ]
225235
225236              reject [yes | no]
225237
225238              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
225239
225240              source_address_translation
225241                     [none | snat:pool_name | lsn | automap | dictionary ]
225242
225243              source_port
225244                     [change | preserve | preserve-strict]
225245
225246              state  [enabled | disabled]
225247
225248              traffic_classes
225249                     [none | default | list ]
225250
225251              translate_address
225252                     [enabled | disabled]
225253
225254              translate_port
225255                     [enabled | disabled]
225256
225257              vlans  [none | default | dictionary]
225258
225259                     vlan_ids
225260                            [ list]
225261
225262                     enabled
225263                            [ true | false ]
225264
225265       salt.states.bigip.delete_monitor(hostname,  username,  password,  moni‐
225266       tor_type, name)
225267              Modify an existing monitor.  If it does exists, only the parame‐
225268              ters specified will be enforced.
225269
225270              hostname
225271                     The host/address of the bigip device
225272
225273              username
225274                     The iControl REST username
225275
225276              password
225277                     The iControl REST password
225278
225279              monitor_type
225280                     The type of monitor to create
225281
225282              name   The name of the monitor to create
225283
225284              kwargs [ arg=val ] ...
225285
225286                     Consult F5 BIGIP user guide for specific options for each
225287                     monitor type.  Typically, tmsh arg names are used.
225288
225289       salt.states.bigip.delete_node(hostname, username, password, name)
225290              Delete an existing node.
225291
225292              hostname
225293                     The host/address of the bigip device
225294
225295              username
225296                     The iControl REST username
225297
225298              password
225299                     The iControl REST password
225300
225301              name   The name of the node which will be deleted.
225302
225303       salt.states.bigip.delete_pool(hostname, username, password, name)
225304              Delete an existing pool.
225305
225306              hostname
225307                     The host/address of the bigip device
225308
225309              username
225310                     The iControl REST username
225311
225312              password
225313                     The iControl REST password
225314
225315              name   The name of the pool which will be deleted
225316
225317       salt.states.bigip.delete_pool_member(hostname,   username,    password,
225318       name, member)
225319              Delete an existing pool member.
225320
225321              hostname
225322                     The host/address of the bigip device
225323
225324              username
225325                     The iControl REST username
225326
225327              password
225328                     The iControl REST password
225329
225330              name   The name of the pool to be modified
225331
225332              member The name of the member to delete from the pool
225333
225334       salt.states.bigip.delete_profile(hostname,   username,  password,  pro‐
225335       file_type, name)
225336              Modify an existing profile.  If it does exists, only the parame‐
225337              ters specified will be enforced.
225338
225339              hostname
225340                     The host/address of the bigip device
225341
225342              username
225343                     The iControl REST username
225344
225345              password
225346                     The iControl REST password
225347
225348              profile_type
225349                     The type of profile to create
225350
225351              name   The name of the profile to create
225352
225353              kwargs [ arg=val ] ...
225354
225355                     Consult F5 BIGIP user guide for specific options for each
225356                     profile type.  Typically, tmsh arg names are used.
225357
225358       salt.states.bigip.delete_virtual(hostname, username, password, name)
225359              Delete an existing virtual.
225360
225361              hostname
225362                     The host/address of the bigip device
225363
225364              username
225365                     The iControl REST username
225366
225367              password
225368                     The iControl REST password
225369
225370              name   The name of the virtual which will be deleted
225371
225372       salt.states.bigip.list_monitor(hostname,  username,   password,   moni‐
225373       tor_type, name)
225374              A function to list an existing monitor.
225375
225376              hostname
225377                     The host/address of the bigip device
225378
225379              username
225380                     The iControl REST username
225381
225382              password
225383                     The iControl REST password
225384
225385              monitor_type
225386                     The type of monitor to list
225387
225388              name   The name of the monitor to list
225389
225390       salt.states.bigip.list_node(hostname, username, password, name)
225391              A  function  to  connect  to  a bigip device and list a specific
225392              node.
225393
225394              hostname
225395                     The host/address of the bigip device
225396
225397              username
225398                     The iControl REST username
225399
225400              password
225401                     The iControl REST password
225402
225403              name   The name of the node to list.
225404
225405       salt.states.bigip.list_pool(hostname, username, password, name)
225406              A function to connect to a bigip  device  and  list  a  specific
225407              pool.
225408
225409              hostname
225410                     The host/address of the bigip device
225411
225412              username
225413                     The iControl REST username
225414
225415              password
225416                     The iControl REST password
225417
225418              name   The name of the pool to list.
225419
225420       salt.states.bigip.list_profile(hostname,   username,   password,   pro‐
225421       file_type, name)
225422              A function to list an existing profile.
225423
225424              hostname
225425                     The host/address of the bigip device
225426
225427              username
225428                     The iControl REST username
225429
225430              password
225431                     The iControl REST password
225432
225433              profile_type
225434                     The type of profile to list
225435
225436              name   The name of the profile to list
225437
225438       salt.states.bigip.list_virtual(hostname, username, password, name)
225439              A function to list a specific virtual.
225440
225441              hostname
225442                     The host/address of the bigip device
225443
225444              username
225445                     The iControl REST username
225446
225447              password
225448                     The iControl REST password
225449
225450              name   The name of the virtual to list
225451
225452       salt.states.bigip.manage_monitor(hostname,  username,  password,  moni‐
225453       tor_type, name, **kwargs)
225454              Create a new monitor if a monitor of this type and name does not
225455              already exists.  If it does exists, only the  parameters  speci‐
225456              fied will be enforced.
225457
225458              hostname
225459                     The host/address of the bigip device
225460
225461              username
225462                     The iControl REST username
225463
225464              password
225465                     The iControl REST password
225466
225467              monitor_type
225468                     The type of monitor to create
225469
225470              name   The name of the monitor to create
225471
225472              kwargs [ arg=val ] ...
225473
225474                     Consult F5 BIGIP user guide for specific options for each
225475                     monitor type.  Typically, tmsh arg names are used.
225476
225477       salt.states.bigip.manage_node(hostname,   username,   password,   name,
225478       address,  connection_limit=None,  description=None, dynamic_ratio=None,
225479       logging=None, monitor=None, rate_limit=None, ratio=None,  session=None,
225480       node_state=None)
225481              Manages  a  node  of a given bigip device.  If the node does not
225482              exist it will be created, otherwise, only the  properties  which
225483              are different than the existing will be updated.
225484
225485              hostname
225486                     The host/address of the bigip device
225487
225488              username
225489                     The iControl REST username
225490
225491              password
225492                     The iControl REST password
225493
225494              name   The name of the node to manage.
225495
225496              address
225497                     The address of the node
225498
225499              connection_limit
225500                     [integer]
225501
225502              description
225503                     [string]
225504
225505              dynam  c_ratio:        [integer]
225506
225507              logging
225508                     [enabled | disabled]
225509
225510              monitor
225511                     [[name] | none | default]
225512
225513              rate_limit
225514                     [integer]
225515
225516              ratio  [integer]
225517
225518              session
225519                     [user-enabled | user-disabled]
225520
225521              node_state (state)
225522                     [user-down | user-up ]
225523
225524       salt.states.bigip.manage_pool(hostname,   username,   password,   name,
225525       allow_nat=None,   allow_snat=None,   description=None,    gateway_fail‐
225526       safe_device=None,  ignore_persisted_weight=None, ip_tos_to_client=None,
225527       ip_tos_to_server=None,                         link_qos_to_client=None,
225528       link_qos_to_server=None,    load_balancing_mode=None,   min_active_mem‐
225529       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
225530       bers_checking=None,             monitor=None,            profiles=None,
225531       queue_depth_limit=None,                 queue_on_connection_limit=None,
225532       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
225533       slow_ramp_time=None)
225534              Create a new pool if it does not already exist. Pool members are
225535              managed separately. Only the parameters specified are enforced.
225536
225537              hostname
225538                     The host/address of the bigip device
225539
225540              username
225541                     The iControl REST username
225542
225543              password
225544                     The iControl REST password
225545
225546              name   The name of the pool to create
225547
225548              allow_nat
225549                     [yes | no]
225550
225551              allow_snat
225552                     [yes | no]
225553
225554              description
225555                     [string]
225556
225557              gateway_failsafe_device
225558                     [string]
225559
225560              ignore_persisted_weight
225561                     [enabled | disabled]
225562
225563              ip_tos_to_client
225564                     [pass-through | [integer]]
225565
225566              ip_tos_to_server
225567                     [pass-through | [integer]]
225568
225569              link_qos_to_client
225570                     [pass-through | [integer]]
225571
225572              link_qos_to_server
225573                     [pass-through | [integer]]
225574
225575              load_balancing_mode
225576                     [dynamic-ratio-member      |     dynamic-ratio-node     |
225577                     fastest-app-response  |  fastest-node   |   least-connec‐
225578                     tions-members | least-connections-node | least-sessions |
225579                     observed-member |  observed-node  |  predictive-member  |
225580                     predictive-node    |   ratio-least-connections-member   |
225581                     ratio-least-connections-node | ratio-member |  ratio-node
225582                     |  ratio-session  |  round-robin | weighted-least-connec‐
225583                     tions-member | weighted-least-connections-node]
225584
225585              min_active_members
225586                     [integer]
225587
225588              min_up_members
225589                     [integer]
225590
225591              min_up_members_action
225592                     [failover | reboot | restart-all]
225593
225594              min_up_members_checking
225595                     [enabled | disabled]
225596
225597              monitor
225598                     [name]
225599
225600              profiles
225601                     [none | profile_name]
225602
225603              queue_depth_limit
225604                     [integer]
225605
225606              queue_on_connection_limit
225607                     [enabled | disabled]
225608
225609              queue_time_limit
225610                     [integer]
225611
225612              reselect_tries
225613                     [integer]
225614
225615              service_down_action
225616                     [drop | none | reselect | reset]
225617
225618              slow_ramp_time
225619                     [integer]
225620
225621       salt.states.bigip.manage_pool_members(hostname,   username,   password,
225622       name, members)
225623              Manage  the members of an existing pool.  This function replaces
225624              all current pool members.  Only  the  parameters  specified  are
225625              enforced.
225626
225627              hostname
225628                     The host/address of the bigip device
225629
225630              username
225631                     The iControl REST username
225632
225633              password
225634                     The iControl REST password
225635
225636              name   The name of the pool to modify
225637
225638              members
225639                     list of pool members to manage.
225640
225641       salt.states.bigip.manage_profile(hostname,   username,  password,  pro‐
225642       file_type, name, **kwargs)
225643              Create a new profile if a monitor of this type and name does not
225644              already  exists.   If it does exists, only the parameters speci‐
225645              fied will be enforced.
225646
225647              hostname
225648                     The host/address of the bigip device
225649
225650              username
225651                     The iControl REST username
225652
225653              password
225654                     The iControl REST password
225655
225656              profile_type
225657                     The type of profile to create
225658
225659              name   The name of the profile to create
225660
225661              kwargs [ arg=val ] ...
225662
225663                     Consult F5 BIGIP user guide for specific options for each
225664                     profile type.  Typically, tmsh arg names are used.
225665
225666       salt.states.bigip.manage_virtual(hostname,  username,  password,  name,
225667       destination,   pool=None,    address_status=None,    auto_lasthop=None,
225668       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
225669       dhcp_relay=None,      description=None,      fallback_persistence=None,
225670       flow_eviction_policy=None,  gtm_score=None,  ip_forward=None, ip_proto‐
225671       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
225672       mask=None,  mirror=None, nat64=None, persist=None, profiles=None, poli‐
225673       cies=None,  rate_class=None,   rate_limit=None,   rate_limit_mode=None,
225674       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
225675       related_rules=None, reject=None,  source=None,  source_address_transla‐
225676       tion=None,  source_port=None, virtual_state=None, traffic_classes=None,
225677       translate_address=None, translate_port=None, vlans=None)
225678              Manage a virtual server.  If a virtual does not exists  it  will
225679              be  created,  otherwise  only  the  parameters specified will be
225680              enforced.
225681
225682              hostname
225683                     The host/address of the bigip device
225684
225685              username
225686                     The iControl REST username
225687
225688              password
225689                     The iControl REST password
225690
225691              name   The name of the virtual to create
225692
225693              destination
225694                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
225695                     ]
225696
225697              pool   [ [pool_name] | none]
225698
225699              address_status
225700                     [yes | no]
225701
225702              auto_lasthop
225703                     [default | enabled | disabled ]
225704
225705              bwc_policy
225706                     [none] | string]
225707
225708              cmp_enabled
225709                     [yes | no]
225710
225711              dhcp_relay
225712                     [yes | no}
225713
225714              connection_limit
225715                     [integer]
225716
225717              description
225718                     [string]
225719
225720              state  [disabled | enabled]
225721
225722              fallback_persistence
225723                     [none | [profile name] ]
225724
225725              flow_eviction_policy
225726                     [none | [eviction policy name] ]
225727
225728              gtm_score
225729                     [integer]
225730
225731              ip_forward
225732                     [yes | no]
225733
225734              ip_protocol
225735                     [any | protocol]
225736
225737              internal
225738                     [yes | no]
225739
225740              twelve_forward(12-forward)
225741                     [yes | no]
225742
225743              last_hop-pool
225744                     [ [pool_name] | none]
225745
225746              mask   { [ipv4] | [ipv6] }
225747
225748              mirror { [disabled | enabled | none] }
225749
225750              nat64  [enabled | disabled]
225751
225752              persist
225753                     [list]
225754
225755              profiles
225756                     [none | default | list ]
225757
225758              policies
225759                     [none | default | list ]
225760
225761              rate_class
225762                     [name]
225763
225764              rate_limit
225765                     [integer]
225766
225767              rate_limit-mode
225768                     [destination    |    object    |   object-destination   |
225769                     object-source  |  object-source-destination  |  source  |
225770                     source-destination]
225771
225772              rate_limit-dst
225773                     [integer]
225774
225775              rate_limit-src
225776                     [integer]
225777
225778              rules  [none | list ]
225779
225780              related_rules
225781                     [none | list ]
225782
225783              reject [yes | no]
225784
225785              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
225786
225787              source_address_translation
225788                     [none | snat:pool_name | lsn | automap | dictionary ]
225789
225790              source_port
225791                     [change | preserve | preserve-strict]
225792
225793              state  [enabled | disabled]
225794
225795              traffic_classes
225796                     [none | default | list ]
225797
225798              translate_address
225799                     [enabled | disabled]
225800
225801              translate_port
225802                     [enabled | disabled]
225803
225804              vlans  [none | default | dictionary]
225805
225806                     vlan_ids
225807                            [ list]
225808
225809                     enabled
225810                            [ true | false ]
225811
225812       salt.states.bigip.modify_monitor(hostname,  username,  password,  moni‐
225813       tor_type, name, **kwargs)
225814              Modify an existing monitor.  If it does exists, only the parame‐
225815              ters specified will be enforced.
225816
225817              hostname
225818                     The host/address of the bigip device
225819
225820              username
225821                     The iControl REST username
225822
225823              password
225824                     The iControl REST password
225825
225826              monitor_type
225827                     The type of monitor to create
225828
225829              name   The name of the monitor to create
225830
225831              kwargs [ arg=val ] ...
225832
225833                     Consult F5 BIGIP user guide for specific options for each
225834                     monitor type.  Typically, tmsh arg names are used.
225835
225836       salt.states.bigip.modify_node(hostname, username, password, name,  con‐
225837       nection_limit=None, description=None, dynamic_ratio=None, logging=None,
225838       monitor=None,      rate_limit=None,      ratio=None,      session=None,
225839       node_state=None)
225840              Modify  an  existing node. Only a node which already exists will
225841              be modified and only the parameters specified will be enforced.
225842
225843              hostname
225844                     The host/address of the bigip device
225845
225846              username
225847                     The iControl REST username
225848
225849              password
225850                     The iControl REST password
225851
225852              name   The name of the node to modify
225853
225854              connection_limit
225855                     [integer]
225856
225857              description
225858                     [string]
225859
225860              dynamic_ratio
225861                     [integer]
225862
225863              logging
225864                     [enabled | disabled]
225865
225866              monitor
225867                     [[name] | none | default]
225868
225869              rate_limit
225870                     [integer]
225871
225872              ratio  [integer]
225873
225874              session
225875                     [user-enabled | user-disabled]
225876
225877              node_state (state)
225878                     [user-down | user-up ]
225879
225880       salt.states.bigip.modify_pool(hostname,   username,   password,   name,
225881       allow_nat=None,    allow_snat=None,   description=None,   gateway_fail‐
225882       safe_device=None, ignore_persisted_weight=None,  ip_tos_to_client=None,
225883       ip_tos_to_server=None,                         link_qos_to_client=None,
225884       link_qos_to_server=None,   load_balancing_mode=None,    min_active_mem‐
225885       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
225886       bers_checking=None,            monitor=None,             profiles=None,
225887       queue_depth_limit=None,                 queue_on_connection_limit=None,
225888       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
225889       slow_ramp_time=None)
225890              Modify  an  existing  pool. Pool members are managed separately.
225891              Only the parameters specified are enforced.
225892
225893              hostname
225894                     The host/address of the bigip device
225895
225896              username
225897                     The iControl REST username
225898
225899              password
225900                     The iControl REST password
225901
225902              name   The name of the pool to create
225903
225904              allow_nat
225905                     [yes | no]
225906
225907              allow_snat
225908                     [yes | no]
225909
225910              description
225911                     [string]
225912
225913              gateway_failsafe_device
225914                     [string]
225915
225916              ignore_persisted_weight
225917                     [enabled | disabled]
225918
225919              ip_tos_to_client
225920                     [pass-through | [integer]]
225921
225922              ip_tos_to_server
225923                     [pass-through | [integer]]
225924
225925              link_qos_to_client
225926                     [pass-through | [integer]]
225927
225928              link_qos_to_server
225929                     [pass-through | [integer]]
225930
225931              load_balancing_mode
225932                     [dynamic-ratio-member     |     dynamic-ratio-node      |
225933                     fastest-app-response   |   fastest-node  |  least-connec‐
225934                     tions-members | least-connections-node | least-sessions |
225935                     observed-member  |  observed-node  |  predictive-member |
225936                     predictive-node   |   ratio-least-connections-member    |
225937                     ratio-least-connections-node  | ratio-member | ratio-node
225938                     | ratio-session |  round-robin  |  weighted-least-connec‐
225939                     tions-member | weighted-least-connections-node]
225940
225941              min_active_members
225942                     [integer]
225943
225944              min_up_members
225945                     [integer]
225946
225947              min_up_members_action
225948                     [failover | reboot | restart-all]
225949
225950              min_up_members_checking
225951                     [enabled | disabled]
225952
225953              monitor
225954                     [name]
225955
225956              profiles
225957                     [none | profile_name]
225958
225959              queue_depth_limit
225960                     [integer]
225961
225962              queue_on_connection_limit
225963                     [enabled | disabled]
225964
225965              queue_time_limit
225966                     [integer]
225967
225968              reselect_tries
225969                     [integer]
225970
225971              service_down_action
225972                     [drop | none | reselect | reset]
225973
225974              slow_ramp_time
225975                     [integer]
225976
225977       salt.states.bigip.modify_pool_member(hostname,    username,   password,
225978       name,      member,       connection_limit=None,       description=None,
225979       dynamic_ratio=None,  inherit_profile=None,  logging=None, monitor=None,
225980       priority_group=None, profiles=None, rate_limit=None,  ratio=None,  ses‐
225981       sion=None, member_state=None)
225982              A  function  to connect to a bigip device and modify a member of
225983              an existing pool.
225984
225985              hostname
225986                     The host/address of the bigip device
225987
225988              username
225989                     The iControl REST username
225990
225991              password
225992                     The iControl REST password
225993
225994              name   The name of the pool to modify
225995
225996              member The member modify
225997
225998              connection_limit
225999                     [integer]
226000
226001              description
226002                     [string]
226003
226004              dynamic_ratio
226005                     [integer]
226006
226007              inherit_profile
226008                     [enabled | disabled]
226009
226010              logging
226011                     [enabled | disabled]
226012
226013              monitor
226014                     [name]
226015
226016              priority_group
226017                     [integer]
226018
226019              profiles
226020                     [none | profile_name]
226021
226022              rate_limit
226023                     [integer]
226024
226025              ratio  [integer]
226026
226027              session
226028                     [user-enabled | user-disabled]
226029
226030              member_state (state)
226031                     [ user-up | user-down ]
226032
226033       salt.states.bigip.modify_profile(hostname,  username,  password,   pro‐
226034       file_type, name, **kwargs)
226035              Modify an existing profile.  If it does exists, only the parame‐
226036              ters specified will be enforced.
226037
226038              hostname
226039                     The host/address of the bigip device
226040
226041              username
226042                     The iControl REST username
226043
226044              password
226045                     The iControl REST password
226046
226047              profile_type
226048                     The type of profile to create
226049
226050              name   The name of the profile to create
226051
226052              kwargs [ arg=val ] ...
226053
226054                     Consult F5 BIGIP user guide for specific options for each
226055                     monitor type.  Typically, tmsh arg names are used.
226056
226057       salt.states.bigip.modify_virtual(hostname,  username,  password,  name,
226058       destination,   pool=None,    address_status=None,    auto_lasthop=None,
226059       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
226060       dhcp_relay=None,      description=None,      fallback_persistence=None,
226061       flow_eviction_policy=None,  gtm_score=None,  ip_forward=None, ip_proto‐
226062       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
226063       mask=None,  mirror=None, nat64=None, persist=None, profiles=None, poli‐
226064       cies=None,  rate_class=None,   rate_limit=None,   rate_limit_mode=None,
226065       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
226066       related_rules=None, reject=None,  source=None,  source_address_transla‐
226067       tion=None,  source_port=None, virtual_state=None, traffic_classes=None,
226068       translate_address=None, translate_port=None, vlans=None)
226069              Modify an virtual server.  modify  an  existing  virtual.   Only
226070              parameters specified will be enforced.
226071
226072              hostname
226073                     The host/address of the bigip device
226074
226075              username
226076                     The iControl REST username
226077
226078              password
226079                     The iControl REST password
226080
226081              name   The name of the virtual to create
226082
226083              destination
226084                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
226085                     ]
226086
226087              pool   [ [pool_name] | none]
226088
226089              address_status
226090                     [yes | no]
226091
226092              auto_lasthop
226093                     [default | enabled | disabled ]
226094
226095              bwc_policy
226096                     [none] | string]
226097
226098              cmp_enabled
226099                     [yes | no]
226100
226101              dhcp_relay
226102                     [yes | no}
226103
226104              connection_limit
226105                     [integer]
226106
226107              description
226108                     [string]
226109
226110              state  [disabled | enabled]
226111
226112              fallback_persistence
226113                     [none | [profile name] ]
226114
226115              flow_eviction_policy
226116                     [none | [eviction policy name] ]
226117
226118              gtm_score
226119                     [integer]
226120
226121              ip_forward
226122                     [yes | no]
226123
226124              ip_protocol
226125                     [any | protocol]
226126
226127              internal
226128                     [yes | no]
226129
226130              twelve_forward(12-forward)
226131                     [yes | no]
226132
226133              last_hop-pool
226134                     [ [pool_name] | none]
226135
226136              mask   { [ipv4] | [ipv6] }
226137
226138              mirror { [disabled | enabled | none] }
226139
226140              nat64  [enabled | disabled]
226141
226142              persist
226143                     [list]
226144
226145              profiles
226146                     [none | default | list ]
226147
226148              policies
226149                     [none | default | list ]
226150
226151              rate_class
226152                     [name]
226153
226154              rate_limit
226155                     [integer]
226156
226157              rate_limit-mode
226158                     [destination   |   object    |    object-destination    |
226159                     object-source  |  object-source-destination  |  source  |
226160                     source-destination]
226161
226162              rate_limit_dst
226163                     [integer]
226164
226165              rate_limit_src
226166                     [integer]
226167
226168              rules  [none | list ]
226169
226170              related_rules
226171                     [none | list ]
226172
226173              reject [yes | no]
226174
226175              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
226176
226177              source_address_translation
226178                     [none | snat:pool_name | lsn | automap | dictionary ]
226179
226180              source_port
226181                     [change | preserve | preserve-strict]
226182
226183              state  [enabled | disabled]
226184
226185              traffic_classes
226186                     [none | default | list ]
226187
226188              translate_address
226189                     [enabled | disabled]
226190
226191              translate_port
226192                     [enabled | disabled]
226193
226194              vlans  [none | default | dictionary ]
226195
226196                     vlan_ids
226197                            [ list]
226198
226199                     enabled
226200                            [ true | false ]
226201
226202   salt.states.blockdev
226203       Management of Block Devices
226204
226205       A state module to manage blockdevices
226206
226207          /dev/sda:
226208            blockdev.tuned:
226209              - read-only: True
226210
226211          master-data:
226212            blockdev.tuned:
226213              - name: /dev/vg/master-data
226214              - read-only: True
226215              - read-ahead: 1024
226216
226217       New in version 2014.7.0.
226218
226219
226220       salt.states.blockdev.formatted(name,   fs_type=u'ext4',    force=False,
226221       **kwargs)
226222              Manage filesystems of partitions.
226223
226224              name   The name of the block device
226225
226226              fs_type
226227                     The filesystem it should be formatted as
226228
226229              force  Force  mke2fs  to create a filesystem, even if the speci‐
226230                     fied device is not a partition on a block special device.
226231                     This option is only enabled for ext and xfs filesystems
226232
226233                     This option is dangerous, use it with caution.
226234
226235                     New in version 2016.11.0.
226236
226237
226238       salt.states.blockdev.tuned(name, **kwargs)
226239              Manage options of block device
226240
226241              name   The name of the block device
226242
226243              opts:
226244
226245                     ·
226246
226247                       read-ahead
226248                              Read-ahead buffer size
226249
226250                     ·
226251
226252                       filesystem-read-ahead
226253                              Filesystem Read-ahead buffer size
226254
226255                     ·
226256
226257                       read-only
226258                              Set Read-Only
226259
226260                     ·
226261
226262                       read-write
226263                              Set Read-Write
226264
226265   salt.states.boto3_elasticache module
226266   Manage Elasticache with boto3
226267       New in version 2017.7.0.
226268
226269
226270       Create,  destroy  and  update  Elasticache clusters. Be aware that this
226271       interacts with Amazon's services, and so may incur charges.
226272
226273       This module uses boto3 behind the scenes - as a result it inherits  any
226274       limitations  it  boto3's  implementation  of  the  AWS API.  It is also
226275       designed to as directly as possible leverage boto3's  parameter  naming
226276       and       semantics.        This       allows      one      to      use
226277       http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html
226278       as an excellent source for details too involved to reiterate here.
226279
226280       Note:   This module is designed to be transparent ("intentionally igno‐
226281       rant" is the phrase I used to describe it to my boss) to new AWS / boto
226282       options - since all AWS API params are passed directly through both the
226283       state and executions modules, any new args to existing functions  which
226284       become  available after this documentation is written should work imme‐
226285       diately.
226286
226287       Brand new API calls, of course, would still require new functions to be
226288       added :)
226289
226290       This  module accepts explicit elasticache credentials but can also uti‐
226291       lize IAM roles assigned to  the  instance  through  Instance  Profiles.
226292       Dynamic credentials are then automatically obtained from AWS API and no
226293       further configuration is  necessary.   More  information  is  available
226294       here.
226295
226296       If  IAM  roles are not used you need to specify them either in a pillar
226297       file or in the minion's config file:
226298
226299          elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
226300          elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
226301
226302       It's also possible to specify key, keyid  and  region  via  a  profile,
226303       either passed in as a dict, or as a string to pull from pillars or min‐
226304       ion config:
226305
226306          myprofile:
226307            keyid: GKTADJGHEIQSXMKKRBJ08H
226308            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
226309              region: us-east-1
226310
226311          Ensure myelasticache exists:
226312            boto3_elasticache.present:
226313              - name: myelasticache
226314              - engine: redis
226315              - cache_node_type: cache.t1.micro
226316              - num_cache_nodes: 1
226317              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
226318              - region: us-east-1
226319              - keyid: GKTADJGHEIQSXMKKRBJ08H
226320              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
226321
226322          # Using a profile from pillars
226323          Ensure myelasticache exists:
226324            boto3_elasticache.present:
226325              - name: myelasticache
226326              - engine: redis
226327              - cache_node_type: cache.t1.micro
226328              - num_cache_nodes: 1
226329              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
226330              - region: us-east-1
226331              - profile: myprofile
226332
226333          # Passing in a profile
226334          Ensure myelasticache exists:
226335            boto3_elasticache.present:
226336              - name: myelasticache
226337              - engine: redis
226338              - cache_node_type: cache.t1.micro
226339              - num_cache_nodes: 1
226340              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
226341              - region: us-east-1
226342              - profile:
226343                  keyid: GKTADJGHEIQSXMKKRBJ08H
226344                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
226345
226346       salt.states.boto3_elasticache.cache_cluster_absent(name,      wait=600,
226347       region=None, key=None, keyid=None, profile=None, **args)
226348              Ensure a given cache cluster is deleted.
226349
226350              name   Name of the cache cluster.
226351
226352              wait   Integer describing how long, in seconds, to wait for con‐
226353                     firmation from AWS that the resource is  in  the  desired
226354                     state.  Zero meaning to return success or failure immedi‐
226355                     ately of course.  Note that waiting for  the  cluster  to
226356                     become available is generally the better course, as fail‐
226357                     ure to do so will often lead to subsequent failures  when
226358                     managing dependent resources.
226359
226360              CacheClusterId
226361                     The  node  group  (shard)  identifier.  Note:  In general
226362                     this parameter is not needed, as 'name' is used  if  it's
226363                     not provided.
226364
226365              FinalSnapshotIdentifier
226366                     The user-supplied name of a final cache cluster snapshot.
226367                     This is the unique name  that  identifies  the  snapshot.
226368                     ElastiCache  creates  the  snapshot, and then deletes the
226369                     cache cluster immediately afterward.
226370
226371              region Region to connect to.
226372
226373              key    Secret key to be used.
226374
226375              keyid  Access key to be used.
226376
226377              profile
226378                     A dict with region,  key  and  keyid,  or  a  pillar  key
226379                     (string) that contains a dict with region, key and keyid.
226380
226381       salt.states.boto3_elasticache.cache_cluster_present(name,     wait=900,
226382       security_groups=None, region=None, key=None, keyid=None,  profile=None,
226383       **args)
226384              Ensure a given cache cluster exists.
226385
226386              name   Name of the cache cluster (cache cluster id).
226387
226388              wait   Integer describing how long, in seconds, to wait for con‐
226389                     firmation from AWS that the resource is  in  the  desired
226390                     state.  Zero meaning to return success or failure immedi‐
226391                     ately of course.  Note that waiting for  the  cluster  to
226392                     become available is generally the better course, as fail‐
226393                     ure to do so will often lead to subsequent failures  when
226394                     managing dependent resources.
226395
226396              security_groups
226397                     One  or more VPC security groups (names and/or IDs) asso‐
226398                     ciated with the cache cluster.
226399
226400                     NOTE:
226401                        This is additive with any sec groups provided via  the
226402                        SecurityGroupIds  parameter below.  Use this parameter
226403                        ONLY when you are creating a cluster in a VPC.
226404
226405              CacheClusterId
226406                     The node group  (shard)  identifier.  This  parameter  is
226407                     stored as a lowercase string.
226408
226409                     Constraints:
226410
226411                     · A  name  must contain from 1 to 20 alphanumeric charac‐
226412                       ters or hyphens.
226413
226414                     · The first character must be a letter.
226415
226416                     · A name cannot end with a hyphen or contain two consecu‐
226417                       tive hyphens.
226418
226419                     NOTE:
226420                        In  general this parameter is not needed, as 'name' is
226421                        used if it's not provided.
226422
226423              ReplicationGroupId
226424                     The ID of the replication group to which this cache clus‐
226425                     ter  should  belong.  If this parameter is specified, the
226426                     cache cluster is added to the specified replication group
226427                     as  a  read  replica;  otherwise,  the cache cluster is a
226428                     standalone primary that is not part  of  any  replication
226429                     group.   If  the  specified replication group is Multi-AZ
226430                     enabled and the Availability Zone is not  specified,  the
226431                     cache  cluster is created in Availability Zones that pro‐
226432                     vide the best spread of read replicas across Availability
226433                     Zones.
226434
226435              AZMode Specifies whether the nodes in this Memcached cluster are
226436                     created in a single Availability Zone or  created  across
226437                     multiple  Availability  Zones in the cluster's region. If
226438                     the AZMode and PreferredAvailabilityZones are not  speci‐
226439                     fied, ElastiCache assumes single-az mode.
226440
226441                     NOTE:
226442                        This  parameter  is ONLY supported for Memcached cache
226443                        clusters.
226444
226445              PreferredAvailabilityZone
226446                     The EC2 Availability Zone in which the cache  cluster  is
226447                     created.   All  nodes  belonging  to this Memcached cache
226448                     cluster are placed in the preferred Availability Zone. If
226449                     you  want to create your nodes across multiple Availabil‐
226450                     ity Zones, use PreferredAvailabilityZones.
226451
226452                     Default:  System chosen Availability Zone.
226453
226454              PreferredAvailabilityZones
226455                     A list of the Availability Zones in which cache nodes are
226456                     created. The order of the zones in the list is not impor‐
226457                     tant.  The number of Availability Zones listed must equal
226458                     the value of NumCacheNodes.  If you want all the nodes in
226459                     the same Availability Zone, use PreferredAvailabilityZone
226460                     instead,  or  repeat the Availability Zone multiple times
226461                     in the list.
226462
226463                     Default:  System chosen Availability Zones.
226464
226465                     NOTE:
226466                        This option is ONLY supported on Memcached.
226467
226468                        If you are creating your cache cluster  in  an  Amazon
226469                        VPC  (recommended) you can only locate nodes in Avail‐
226470                        ability Zones that are associated with the subnets  in
226471                        the selected subnet group.
226472
226473              NumCacheNodes
226474                     The  initial  (integer)  number  of  cache nodes that the
226475                     cache cluster has.
226476
226477                     NOTE:
226478                        For clusters running Redis, this value must be 1.
226479
226480                        For clusters running Memcached,  this  value  must  be
226481                        between 1 and 20.
226482
226483              CacheNodeType
226484                     The  compute and memory capacity of the nodes in the node
226485                     group (shard).  Valid node types (and pricing  for  them)
226486                     are           exhaustively          described          at
226487                     https://aws.amazon.com/elasticache/pricing/
226488
226489                     NOTE:
226490                            All T2 instances must be created in a VPC
226491
226492                        Redis backup/restore is not supported for Redis (clus‐
226493                        ter mode disabled) T1 and T2 instances. Backup/restore
226494                        is  supported  on  Redis  (cluster  mode  enabled)  T2
226495                        instances.
226496
226497                        Redis  Append-only  files  (AOF)  functionality is not
226498                        supported for T1 or T2 instances.
226499
226500              Engine The name of the cache engine to be used  for  this  cache
226501                     cluster.  Valid values for this parameter are:  memcached
226502                     | redis
226503
226504              EngineVersion
226505                     The version number of the cache engine  to  be  used  for
226506                     this  cache  cluster.  To view the supported cache engine
226507                     versions, use the DescribeCacheEngineVersions operation.
226508
226509                     NOTE:
226510                        You can upgrade to a newer engine version but you can‐
226511                        not  downgrade  to  an  earlier engine version. If you
226512                        want to use an earlier engine version, you must delete
226513                        the  existing  cache  cluster or replication group and
226514                        create it anew with the earlier engine version.
226515
226516              CacheParameterGroupName
226517                     The name of the parameter group to  associate  with  this
226518                     cache  cluster.  If this argument is omitted, the default
226519                     parameter group for the specified engine  is  used.   You
226520                     cannot   use   any   parameter   group  which  has  clus‐
226521                     ter-enabled='yes' when creating a cluster.
226522
226523              CacheSubnetGroupName
226524                     The name of the Cache Subnet Group to  be  used  for  the
226525                     cache cluster.  Use this parameter ONLY when you are cre‐
226526                     ating a cache cluster within a VPC.
226527
226528                     NOTE:
226529                        If you're going to launch your cluster  in  an  Amazon
226530                        VPC,  you  need  to  create  a subnet group before you
226531                        start creating a cluster.
226532
226533              CacheSecurityGroupNames
226534                     A list of Cache Security Group names  to  associate  with
226535                     this cache cluster.  Use this parameter ONLY when you are
226536                     creating a cache cluster outside of a VPC.
226537
226538              SecurityGroupIds
226539                     One or more VPC security groups associated with the cache
226540                     cluster.  Use this parameter ONLY when you are creating a
226541                     cache cluster within a VPC.
226542
226543              Tags   A list of tags to be added to this resource.   Note  that
226544                     due to shortcomings in the AWS API for Elasticache, these
226545                     can only be set during resource creation - later  modifi‐
226546                     cation is not (currently) supported.
226547
226548              SnapshotArns
226549                     A   single-element   string  list  containing  an  Amazon
226550                     Resource Name (ARN) that uniquely identifies a Redis  RDB
226551                     snapshot  file  stored in Amazon S3. The snapshot file is
226552                     used to populate the node group (shard).  The  Amazon  S3
226553                     object name in the ARN cannot contain any commas.
226554
226555                     NOTE:
226556                        This  parameter  is ONLY valid if the Engine parameter
226557                        is redis.
226558
226559              SnapshotName
226560                     The name of a Redis snapshot from which to  restore  data
226561                     into  the  new  node  group  (shard). The snapshot status
226562                     changes to restoring while the new node group (shard)  is
226563                     being created.
226564
226565                     NOTE:
226566                        This  parameter  is ONLY valid if the Engine parameter
226567                        is redis.
226568
226569              PreferredMaintenanceWindow
226570                     Specifies the weekly time range during which  maintenance
226571                     on  the cache cluster is permitted.  It is specified as a
226572                     range in the format  ddd:hh24:mi-ddd:hh24:mi  (24H  Clock
226573                     UTC).   The  minimum  maintenance  window  is a 60 minute
226574                     period.  Valid values for ddd are:  sun, mon,  tue,  wed,
226575                     thu, fri, sat
226576
226577                     Example:  sun:23:00-mon:01:30
226578
226579              Port   The  port number on which each of the cache nodes accepts
226580                     connections.
226581
226582                     Default:  6379
226583
226584              NotificationTopicArn
226585                     The Amazon Resource Name (ARN) of the Amazon Simple Noti‐
226586                     fication  Service  (SNS) topic to which notifications are
226587                     sent.
226588
226589                     NOTE:
226590                        The Amazon SNS topic owner must be  the  same  as  the
226591                        cache cluster owner.
226592
226593              AutoMinorVersionUpgrade
226594                     This (boolean) parameter is currently disabled.
226595
226596              SnapshotRetentionLimit
226597                     The  number  of  days for which ElastiCache retains auto‐
226598                     matic snapshots before deleting them.
226599
226600                     Default:  0 (i.e., automatic  backups  are  disabled  for
226601                     this cache cluster).
226602
226603                     NOTE:
226604                        This  parameter  is ONLY valid if the Engine parameter
226605                        is redis.
226606
226607              SnapshotWindow
226608                     The daily time range (in UTC)  during  which  ElastiCache
226609                     begins  taking  a  daily  snapshot  of  your  node  group
226610                     (shard).  If you do not specify this  parameter,  Elasti‐
226611                     Cache automatically chooses an appropriate time range.
226612
226613                     Example:  05:00-09:00
226614
226615                     NOTE:
226616                        This  parameter  is ONLY valid if the Engine parameter
226617                        is redis.
226618
226619              AuthToken
226620                     The password used to access a password protected server.
226621
226622                     Password constraints:
226623
226624                     · Must be only printable ASCII characters.
226625
226626                     · Must be at least 16 characters and  no  more  than  128
226627                       characters in length.
226628
226629                     · Cannot  contain  any  of the following characters: '/',
226630                       '"', or "@".
226631
226632              CacheNodeIdsToRemove
226633                     A list of cache node IDs to be removed. A node  ID  is  a
226634                     numeric identifier (0001, 0002, etc.).  This parameter is
226635                     only valid when NumCacheNodes is less than  the  existing
226636                     number of cache nodes.  The number of cache node IDs sup‐
226637                     plied in this parameter must match the difference between
226638                     the  existing  number  of  cache  nodes in the cluster or
226639                     pending cache nodes, whichever is greater, and the  value
226640                     of NumCacheNodes in the request.
226641
226642              NewAvailabilityZones
226643                     The  list  of  Availability Zones where the new Memcached
226644                     cache nodes are created.  This parameter  is  only  valid
226645                     when NumCacheNodes in the request is greater than the sum
226646                     of the number of active cache nodes  and  the  number  of
226647                     cache  nodes  pending  creation (which may be zero).  The
226648                     number of Availability Zones supplied in this  list  must
226649                     match the cache nodes being added in this request.  Note:
226650                     This option is only supported on Memcached clusters.
226651
226652              NotificationTopicStatus
226653                     The status of the SNS notification topic.   Notifications
226654                     are sent only if the status is active.
226655
226656                     Valid values:  active | inactive
226657
226658              region Region to connect to.
226659
226660              key    Secret key to be used.
226661
226662              keyid  Access key to be used.
226663
226664              profile
226665                     A  dict  with  region,  key  and  keyid,  or a pillar key
226666                     (string) that contains a dict with region, key and keyid.
226667
226668       salt.states.boto3_elasticache.cache_subnet_group_absent(name,
226669       region=None, key=None, keyid=None, profile=None, **args)
226670              Ensure a given cache subnet group is deleted.
226671
226672              name   Name of the cache subnet group.
226673
226674              CacheSubnetGroupName
226675                     A  name  for  the  cache subnet group.  Note:  In general
226676                     this parameter is not needed, as 'name' is used  if  it's
226677                     not provided.
226678
226679              region Region to connect to.
226680
226681              key    Secret key to be used.
226682
226683              keyid  Access key to be used.
226684
226685              profile
226686                     A  dict  with  region,  key  and  keyid,  or a pillar key
226687                     (string) that contains a dict with region, key and keyid.
226688
226689       salt.states.boto3_elasticache.cache_subnet_group_present(name,     sub‐
226690       nets=None, region=None, key=None, keyid=None, profile=None, **args)
226691              Ensure cache subnet group exists.
226692
226693              name   A  name  for the cache subnet group. This value is stored
226694                     as a lowercase string.   Constraints:   Must  contain  no
226695                     more than 255 alphanumeric characters or hyphens.
226696
226697              subnets
226698                     A  list  of  VPC  subnets  (IDs, Names, or a mix) for the
226699                     cache subnet group.
226700
226701              CacheSubnetGroupName
226702                     A name for the cache subnet group. This value  is  stored
226703                     as  a  lowercase  string.   Constraints:  Must contain no
226704                     more than 255 alphanumeric characters or hyphens.   Note:
226705                     In  general  this  parameter  is not needed, as 'name' is
226706                     used if it's not provided.
226707
226708              CacheSubnetGroupDescription
226709                     A description for the cache subnet group.
226710
226711              SubnetIds
226712                     A list of VPC subnet IDs  for  the  cache  subnet  group.
226713                     This is ADDITIVE with 'subnets' above.
226714
226715              region Region to connect to.
226716
226717              key    Secret key to be used.
226718
226719              keyid  Access key to be used.
226720
226721              profile
226722                     A  dict  with  region,  key  and  keyid,  or a pillar key
226723                     (string) that contains a dict with region, key and keyid.
226724
226725       salt.states.boto3_elasticache.replication_group_absent(name,  wait=600,
226726       region=None, key=None, keyid=None, profile=None, **args)
226727              Ensure a given replication group is deleted.
226728
226729              name   Name of the replication group.
226730
226731              wait   Integer describing how long, in seconds, to wait for con‐
226732                     firmation from AWS that the resource is  in  the  desired
226733                     state.  Zero meaning to return success or failure immedi‐
226734                     ately of course.  Note that waiting for  the  cluster  to
226735                     become available is generally the better course, as fail‐
226736                     ure to do so will often lead to subsequent failures  when
226737                     managing dependent resources.
226738
226739              ReplicationGroupId
226740                     The replication group identifier.  Note:  In general this
226741                     parameter is not needed, as 'name' is used  if  it's  not
226742                     provided.
226743
226744              RetainPrimaryCluster
226745                     If set to true, all of the read replicas are deleted, but
226746                     the primary node is retained.
226747
226748              FinalSnapshotIdentifier
226749                     The name of a final node group (shard) snapshot.  Elasti‐
226750                     Cache  creates  the snapshot from the primary node in the
226751                     cluster, rather than one of  the  replicas;  this  is  to
226752                     ensure  that  it  captures  the freshest data.  After the
226753                     final snapshot is taken, the replication group is immedi‐
226754                     ately deleted.
226755
226756              region Region to connect to.
226757
226758              key    Secret key to be used.
226759
226760              keyid  Access key to be used.
226761
226762              profile
226763                     A  dict  with  region,  key  and  keyid,  or a pillar key
226764                     (string) that contains a dict with region, key and keyid.
226765
226766       salt.states.boto3_elasticache.replication_group_present(name, wait=900,
226767       security_groups=None,  region=None, key=None, keyid=None, profile=None,
226768       **args)
226769              Ensure a replication group exists and is in the given state.
226770
226771              name   Name of replication group
226772
226773              wait   Integer describing how long, in seconds, to wait for con‐
226774                     firmation  from  AWS  that the resource is in the desired
226775                     state.  Zero meaning to return success or failure immedi‐
226776                     ately  of  course.   Note that waiting for the cluster to
226777                     become available is generally the better course, as fail‐
226778                     ure  to do so will often lead to subsequent failures when
226779                     managing dependent resources.
226780
226781              security_groups
226782                     One or more VPC security groups (names and/or IDs)  asso‐
226783                     ciated with the cache cluster.
226784
226785                     NOTE:
226786                        This  is additive with any sec groups provided via the
226787                        SecurityGroupIds parameter below.  Use this  parameter
226788                        ONLY when you are creating a cluster in a VPC.
226789
226790              ReplicationGroupId
226791                     The  replication  group  identifier.  This  parameter  is
226792                     stored as a lowercase string.
226793
226794                     Constraints:
226795
226796                     · A name must contain from 1 to 20  alphanumeric  charac‐
226797                       ters or hyphens.
226798
226799                     · The first character must be a letter.
226800
226801                     · A name cannot end with a hyphen or contain two consecu‐
226802                       tive hyphens.
226803
226804                     NOTE:
226805                        In general this parameter is not needed, as 'name'  is
226806                        used if it's not provided.
226807
226808              ReplicationGroupDescription
226809                     A user-created description for the replication group.
226810
226811              PrimaryClusterId
226812                     The  identifier  of  the cache cluster that serves as the
226813                     primary for this replication group.  This  cache  cluster
226814                     must  already exist and have a status of available.  This
226815                     parameter is not required if  NumCacheClusters,  NumNode‐
226816                     Groups, or ReplicasPerNodeGroup is specified.
226817
226818              AutomaticFailoverEnabled
226819                     Specifies  whether  a  read-only replica is automatically
226820                     promoted to read/write primary if  the  existing  primary
226821                     fails.  If true, Multi-AZ is enabled for this replication
226822                     group. If false, Multi-AZ is disabled for  this  replica‐
226823                     tion group.
226824
226825                     Default:  False
226826
226827                     NOTE:
226828                        AutomaticFailoverEnabled  must  be  enabled  for Redis
226829                        (cluster mode enabled) replication groups.
226830
226831                        ElastiCache Multi-AZ replication groups  is  not  sup‐
226832                        ported on:
226833
226834                        · Redis versions earlier than 2.8.6.
226835
226836                        · Redis (cluster mode disabled): T1 and T2 node types.
226837
226838                        · Redis (cluster mode enabled): T2 node types.
226839
226840              NumCacheClusters
226841                     The  number  of clusters this replication group initially
226842                     has.  This parameter is not used if there  is  more  than
226843                     one  node  group (shard). You should use ReplicasPerNode‐
226844                     Group instead.  If Multi-AZ is enabled  ,  the  value  of
226845                     this parameter must be at least 2.  The maximum permitted
226846                     value for NumCacheClusters is 6 (primary  plus  5  repli‐
226847                     cas).
226848
226849              PreferredCacheClusterAZs
226850                     A list of EC2 Availability Zones in which the replication
226851                     group's cache clusters are  created.  The  order  of  the
226852                     Availability  Zones  in  the  list  is the order in which
226853                     clusters are allocated. The primary cluster is created in
226854                     the  first AZ in the list.  This parameter is not used if
226855                     there is more than one node group  (shard).   You  should
226856                     use NodeGroupConfiguration instead.  The number of Avail‐
226857                     ability  Zones  listed  must  equal  the  value  of  Num‐
226858                     CacheClusters.
226859
226860                     Default:  System chosen Availability Zones.
226861
226862                     NOTE:
226863                        If  you are creating your replication group in an Ama‐
226864                        zon VPC (recommended), you can only locate cache clus‐
226865                        ters in Availability Zones associated with the subnets
226866                        in the selected subnet group.
226867
226868              NumNodeGroups
226869                     An optional parameter that specifies the number  of  node
226870                     groups  (shards)  for  this  Redis (cluster mode enabled)
226871                     replication group.  For  Redis  (cluster  mode  disabled)
226872                     either omit this parameter or set it to 1.
226873
226874                     Default:  1
226875
226876              ReplicasPerNodeGroup
226877                     An  optional  parameter  that  specifies  the  number  of
226878                     replica nodes in each node group  (shard).  Valid  values
226879                     are:  0 to 5
226880
226881              NodeGroupConfiguration
226882                     A  list of node group (shard) configuration options. Each
226883                     node  group  (shard)  configuration  has  the  following:
226884                     Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones,
226885                     ReplicaCount.  If you're creating a Redis  (cluster  mode
226886                     disabled)  or  a Redis (cluster mode enabled) replication
226887                     group, you can use this parameter to configure  one  node
226888                     group (shard) or you can omit this parameter.  For fiddly
226889                     details of the expected data layout of  this  param,  see
226890                     http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html?#ElastiCache.Client.create_replication_group
226891
226892              CacheNodeType
226893                     The compute and memory capacity of the nodes in the  node
226894                     group                    (shard).                     See
226895                     https://aws.amazon.com/elasticache/pricing/  for  current
226896                     sizing, prices, and constraints.
226897
226898              Engine The  name  of  the  cache engine to be used for the cache
226899                     clusters in this replication group.
226900
226901              EngineVersion
226902                     The version number of the cache engine to be used for the
226903                     cache  clusters  in  this  replication group. To view the
226904                     supported    cache    engine    versions,     use     the
226905                     DescribeCacheEngineVersions operation.
226906
226907                     NOTE:
226908                        You can upgrade to a newer engine version but you can‐
226909                        not downgrade to an earlier  engine  version.  If  you
226910                        want to use an earlier engine version, you must delete
226911                        the existing cache cluster or  replication  group  and
226912                        create it anew with the earlier engine version.
226913
226914              CacheParameterGroupName
226915                     The  name  of  the parameter group to associate with this
226916                     replication group.  If  this  argument  is  omitted,  the
226917                     default cache parameter group for the specified engine is
226918                     used.
226919
226920                     NOTE:
226921                        If you are running Redis version 3.2.4 or later,  only
226922                        one  node  group  (shard),  and  want to use a default
226923                        parameter group, we recommend  that  you  specify  the
226924                        parameter group by name.
226925
226926                        To  create a Redis (cluster mode disabled) replication
226927                        group, use CacheParameterGroupName=default.redis3.2
226928
226929                        To create a Redis (cluster mode  enabled)  replication
226930                        group,             use            CacheParameterGroup‐
226931                        Name=default.redis3.2.cluster.on
226932
226933              CacheSubnetGroupName
226934                     The name of the cache subnet group to  be  used  for  the
226935                     replication group.
226936
226937                     NOTE:
226938                        If  you're  going  to launch your cluster in an Amazon
226939                        VPC, you need to create a s  group  before  you  start
226940                        creating  a cluster. For more information, see Subnets
226941                        and Subnet Groups.
226942
226943              CacheSecurityGroupNames
226944                     A list of cache security group names  to  associate  with
226945                     this replication group.
226946
226947              SecurityGroupIds
226948                     One  or  more  Amazon VPC security groups associated with
226949                     this replication group.  Use this parameter only when you
226950                     are creating a replication group in an VPC.
226951
226952              Tags   A  list  of tags to be added to this resource.  Note that
226953                     due to shortcomings in the AWS API for Elasticache, these
226954                     can  only be set during resource creation - later modifi‐
226955                     cation is not (currently) supported.
226956
226957              SnapshotArns
226958                     A list of ARNs that uniquely identify the Redis RDB snap‐
226959                     shot files stored in Amazon S3.  These snapshot files are
226960                     used to populate the replication group.   The  Amazon  S3
226961                     object  name  in  the  ARN cannot contain any commas. The
226962                     list must match the number of node groups (shards) in the
226963                     replication group, which means you cannot repartition.
226964
226965                     NOTE:
226966                        This  parameter  is only valid if the Engine parameter
226967                        is redis.
226968
226969              SnapshotName
226970                     The name of a snapshot from which to  restore  data  into
226971                     the  new  replication group.  The snapshot status changes
226972                     to restoring while the new  replication  group  is  being
226973                     created.   Note:   This  parameter  is  only valid if the
226974                     Engine parameter is redis.
226975
226976              PreferredMaintenanceWindow
226977                     Specifies the weekly time range during which  maintenance
226978                     on  the  cluster is performed. It is specified as a range
226979                     in the format ddd:hh24:mi-ddd:hh24:mi  (24H  Clock  UTC).
226980                     The  minimum  maintenance  window  is a 60 minute period.
226981                     Valid values for ddd are:  sun, mon, tue, wed, thu,  fri,
226982                     sat
226983
226984                     Example:  sun:23:00-mon:01:30
226985
226986              Port   The  port  number on which each member of the replication
226987                     group accepts connections.
226988
226989              NotificationTopicArn
226990                     The ARN of an SNS topic to which notifications are sent.
226991
226992                     NOTE:
226993                        The SNS topic owner must be  the  same  as  the  cache
226994                        cluster owner.
226995
226996              AutoMinorVersionUpgrade
226997                     This parameter is currently disabled.
226998
226999              SnapshotRetentionLimit
227000                     The  number  of  days  for  which ElastiCache will retain
227001                     automatic snapshots before deleting them.
227002
227003                     Default:  0 (that is, automatic backups are disabled  for
227004                     this cache cluster).
227005
227006                     NOTE:
227007                        This  parameter  is only valid if the Engine parameter
227008                        is redis.
227009
227010              SnapshotWindow
227011                     The daily time range (in UTC)  during  which  ElastiCache
227012                     begins  taking  a  daily  snapshot  of  your  node  group
227013                     (shard).  If you do not specify this  parameter,  Elasti‐
227014                     Cache automatically chooses an appropriate time range.
227015
227016                     Example:  05:00-09:00
227017
227018                     NOTE:
227019                        This  parameter  is only valid if the Engine parameter
227020                        is redis.
227021
227022              AuthToken
227023                     The password used to access a password protected  server.
227024                     Password constraints:
227025
227026                     · Must be only printable ASCII characters.
227027
227028                     · Must  be  at  least  16 characters and no more than 128
227029                       characters in length.
227030
227031                     · Cannot contain any of the  following  characters:  '/',
227032                       '"', or "@".
227033
227034              SnapshottingClusterId
227035                     The  cache  cluster ID that is used as the daily snapshot
227036                     source for the replication group.
227037
227038              NotificationTopicStatus
227039                     The status of the SNS notification topic.   Notifications
227040                     are  sent  only  if  the status is active.  Valid values:
227041                     active | inactive
227042
227043              region Region to connect to.
227044
227045              key    Secret key to be used.
227046
227047              keyid  Access key to be used.
227048
227049              profile
227050                     A dict with region,  key  and  keyid,  or  a  pillar  key
227051                     (string) that contains a dict with region, key and keyid.
227052
227053   salt.states.boto3_elasticsearch module
227054   Manage Elasticsearch Service
227055       New in version Natrium.
227056
227057
227058       configuration
227059              This  module  accepts explicit AWS credentials but can also uti‐
227060              lize IAM roles assigned to the  instance  trough  Instance  Pro‐
227061              files.  Dynamic credentials are then automatically obtained from
227062              AWS API and no further configuration is necessary. More Informa‐
227063              tion available at:
227064
227065                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
227066
227067              If  IAM  roles are not used you need to specify them either in a
227068              pillar or in the minion's config file:
227069
227070                 es.keyid: GKTADJGHEIQSXMKKRBJ08H
227071                 es.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227072
227073              A region may also be specified in the configuration:
227074
227075                 es.region: us-east-1
227076
227077              If a region is not specified, the default is us-east-1.
227078
227079              It's also possible to specify key, keyid and region via  a  pro‐
227080              file,  either  as  a passed in dict, or as a string to pull from
227081              pillars or minion config:
227082
227083                 myprofile:
227084                     keyid: GKTADJGHEIQSXMKKRBJ08H
227085                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227086                     region: us-east-1
227087
227088       codeauthor
227089              Herbert Buurman <herbert.buurman@ogd.nl>
227090
227091       depends
227092              boto3
227093
227094       salt.states.boto3_elasticsearch.absent(name,             blocking=True,
227095       region=None, keyid=None, key=None, profile=None)
227096              Ensure the Elasticsearch Domain specified does not exist.
227097
227098              Parameters
227099
227100                     · name  (str)  -- The name of the Elasticsearch domain to
227101                       be made absent.
227102
227103                     · blocking (bool) -- Whether or not the state should wait
227104                       for the deletion to be completed. Default: True
227105
227106              New in version Natrium.
227107
227108
227109              Example:
227110
227111                 Remove Elasticsearch Domain:
227112                   boto3_elasticsearch.absent:
227113                   - name: my_domain
227114                   - region: eu-west-1
227115
227116       salt.states.boto3_elasticsearch.latest(name,           minor_only=True,
227117       region=None, keyid=None, key=None, profile=None)
227118              Ensures the Elasticsearch domain specifies runs  on  the  latest
227119              compatible version of elasticsearch, upgrading it if it is not.
227120
227121              Note  that  this operation is blocking until the upgrade is com‐
227122              plete.
227123
227124              Parameters
227125
227126                     · name (str) -- The name of the Elasticsearch  domain  to
227127                       upgrade.
227128
227129                     · minor_only  (bool)  -- Only upgrade to the latest minor
227130                       version.
227131
227132              New in version Natrium.
227133
227134
227135              Example:
227136
227137              The following  example  will  ensure  the  elasticsearch  domain
227138              my_domain  is  upgraded to the latest minor version. So if it is
227139              currently 5.1 it will be upgraded to 5.6.
227140
227141                 Upgrade Elasticsearch Domain:
227142                   boto3_elasticsearch.latest:
227143                   - name: my_domain
227144                   - minor_only: True
227145                   - region: eu-west-1
227146
227147       salt.states.boto3_elasticsearch.present(name,        elasticsearch_ver‐
227148       sion=None,     elasticsearch_cluster_config=None,     ebs_options=None,
227149       access_policies=None,  snapshot_options=None,  vpc_options=None,   cog‐
227150       nito_options=None,                     encryption_at_rest_options=None,
227151       node_to_node_encryption_options=None,  advanced_options=None,  log_pub‐
227152       lishing_options=None,     blocking=True,     tags=None,    region=None,
227153       keyid=None, key=None, profile=None)
227154              Ensure an Elasticsearch Domain exists.
227155
227156              Parameters
227157
227158                     · name (str) -- The name of the Elasticsearch domain that
227159                       you  are  creating.  Domain names are unique across the
227160                       domains owned by  an  account  within  an  AWS  region.
227161                       Domain names must start with a letter or number and can
227162                       contain the following characters: a-z (lowercase), 0-9,
227163                       and - (hyphen).
227164
227165                     · elasticsearch_version  (str) -- String of format X.Y to
227166                       specify version for the Elasticsearch domain eg.  "1.5"
227167                       or "2.3".
227168
227169                     · elasticsearch_cluster_config (dict) --
227170
227171                       Dict  specifying the configuration options for an Elas‐
227172                       ticsearch domain.  Keys (case sensitive) in here are:
227173
227174                       · InstanceType (str): The instance type for an Elastic‐
227175                         search cluster.
227176
227177                       · InstanceCount  (int):  The instance type for an Elas‐
227178                         ticsearch cluster.
227179
227180                       · DedicatedMasterEnabled  (bool):  Indicate  whether  a
227181                         dedicated master node is enabled.
227182
227183                       · ZoneAwarenessEnabled  (bool):  Indicate  whether zone
227184                         awareness is enabled.
227185
227186                       · ZoneAwarenessConfig (dict): Specifies the zone aware‐
227187                         ness  configuration  for a domain when zone awareness
227188                         is enabled.  Keys (case sensitive) in here are:
227189
227190                         · AvailabilityZoneCount (int): An  integer  value  to
227191                           indicate  the  number  of  availability zones for a
227192                           domain when zone awareness is enabled. This  should
227193                           be  equal  to number of subnets if VPC endpoints is
227194                           enabled.
227195
227196                       · DedicatedMasterType (str): The instance  type  for  a
227197                         dedicated master node.
227198
227199                       · DedicatedMasterCount (int): Total number of dedicated
227200                         master nodes, active and on standby, for the cluster.
227201
227202
227203                     · ebs_options (dict) --
227204
227205                       Dict specifying the options to enable  or  disable  and
227206                       specifying  the  type  and size of EBS storage volumes.
227207                       Keys (case sensitive) in here are:
227208
227209                       · EBSEnabled (bool): Specifies whether EBS-based  stor‐
227210                         age is enabled.
227211
227212                       · VolumeType  (str):  Specifies  the  volume  type  for
227213                         EBS-based storage.
227214
227215                       · VolumeSize (int): Integer to specify the size  of  an
227216                         EBS volume.
227217
227218                       · Iops (int): Specifies the IOPD for a Provisioned IOPS
227219                         EBS volume (SSD).
227220
227221
227222                     · access_policies (str or dict) -- Dict  or  JSON  string
227223                       with the IAM access policy.
227224
227225                     · snapshot_options (dict) --
227226
227227                       Dict  specifying the snapshot options.  Keys (case sen‐
227228                       stive) in here are:
227229
227230                       · AutomatedSnapshotStartHour (int): Specifies the time,
227231                         in  UTC  format, when the service takes a daily auto‐
227232                         mated snapshot of the specified Elasticsearch domain.
227233                         Default value is 0 hours.
227234
227235
227236                     · vpc_options (dict) --
227237
227238                       Dict  with the options to specify the subnets and secu‐
227239                       rity groups for the VPC endpoint.   Keys  (case  sensi‐
227240                       tive) in here are:
227241
227242                       · SubnetIds  (list):  The  list  of subnets for the VPC
227243                         endpoint.
227244
227245                       · SecurityGroupIds (list): The list of security  groups
227246                         for the VPC endpoint.
227247
227248
227249                     · cognito_options (dict) --
227250
227251                       Dict with options to specify the cognito user and iden‐
227252                       tity pools for Kibana authentication.  Keys (case  sen‐
227253                       stive) in here are:
227254
227255                       · Enabled  (bool):  Specifies the option to enable Cog‐
227256                         nito for Kibana authentication.
227257
227258                       · UserPoolId (str): Specifies the Cognito user pool  ID
227259                         for Kibana authentication.
227260
227261                       · IdentityPoolId  (str): Specifies the Cognito identity
227262                         pool ID for Kibana authentication.
227263
227264                       · RoleArn (str): Specifies the role ARN  that  provides
227265                         Elasticsearch   permissions   for  accessing  Cognito
227266                         resources.
227267
227268
227269                     · encryption_at_rest_options (dict) --
227270
227271                       Dict specifying the encryption at  rest  options.  This
227272                       option can only be used for the creation of a new Elas‐
227273                       ticsearch domain.  Keys (case sensitive) in here are:
227274
227275                       · Enabled  (bool):  Specifies  the  option  to   enable
227276                         Encryption At Rest.
227277
227278                       · KmsKeyId  (str): Specifies the KMS Key ID for Encryp‐
227279                         tion At Rest options.
227280
227281
227282                     · node_to_node_encryption_options (dict) --
227283
227284                       Dict specifying the node to  node  encryption  options.
227285                       This  option can only be used for the creation of a new
227286                       Elasticsearch domain.  Keys (case  sensitive)  in  here
227287                       are:
227288
227289                       · Enabled  (bool):  Specify True to enable node-to-node
227290                         encryption.
227291
227292
227293                     · advanced_options (dict) -- Dict with  option  to  allow
227294                       references  to indices in an HTTP request body. Must be
227295                       False   when   configuring   access    to    individual
227296                       sub-resources.  By  default,  the  value  is True.  See
227297                       http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide
227298                       /es-createupdatedomains.html#es-createdomain-config‐
227299                       ure-advanced-options for more information.
227300
227301                     · log_publishing_options (dict) --
227302
227303                       Dict with options for various type of logs.   The  keys
227304                       denote  the type of log file and can be one of the fol‐
227305                       lowing:
227306
227307                       · INDEX_SLOW_LOGS
227308
227309                       · SEARCH_SLOW_LOGS
227310
227311                       · ES_APPLICATION_LOGS
227312
227313                       The value assigned to each key is a dict with the  fol‐
227314                       lowing case sensitive keys:
227315
227316                       · CloudWatchLogsLogGroupArn   (str):  The  ARN  of  the
227317                         Cloudwatch log group to which the  log  needs  to  be
227318                         published.
227319
227320                       · Enabled  (bool): Specifies whether given log publish‐
227321                         ing option is enabled or not.
227322
227323
227324                     · blocking (bool) -- Whether or not the state should wait
227325                       for  all  operations (create/update/upgrade) to be com‐
227326                       pleted. Default: True
227327
227328                     · tags (dict) -- Dict of tags to ensure  are  present  on
227329                       the Elasticsearch domain.
227330
227331              New in version Natrium.
227332
227333
227334              Example:
227335
227336              This  will create an elasticsearch domain consisting of a single
227337              t2.small instance in the eu-west-1  region  (Ireland)  and  will
227338              wait  until  the instance is available before returning from the
227339              state.
227340
227341                 Create new domain:
227342                   boto3_elasticsearch.present:
227343                   - name: my_domain
227344                   - elasticsearch_version: '5.1'
227345                   - elasticsearch_cluster_config:
227346                       InstanceType: t2.small.elasticsearch
227347                       InstanceCount: 1
227348                       DedicatedMasterEnabled: False
227349                       ZoneAwarenessEnabled: False
227350                   - ebs_options:
227351                       EBSEnabled: True
227352                       VolumeType: gp2
227353                       VolumeSize: 10
227354                   - snapshot_options:
227355                       AutomatedSnapshotStartHour: 3
227356                   - vpc_options:
227357                       SubnetIds:
227358                       - subnet-12345678
227359                       SecurityGroupIds:
227360                       - sg-12345678
227361                   - node_to_node_encryption_options:
227362                       Enabled: False
227363                   - region: eu-west-1
227364                   - tags:
227365                       foo: bar
227366                       baz: qux
227367
227368       salt.states.boto3_elasticsearch.tagged(name, tags=None,  replace=False,
227369       region=None, keyid=None, key=None, profile=None)
227370              Ensures  the  Elasticsearch  domain has the tags provided.  Adds
227371              tags to the domain unless replace is set to True, in which  case
227372              all  existing  tags  will  be replaced with the tags provided in
227373              tags.  (This will remove all tags if replace is True and tags is
227374              empty).
227375
227376              Parameters
227377
227378                     · name (str) -- The Elasticsearch domain to work with.
227379
227380                     · tags  (dict) -- The tags to add to/replace on the Elas‐
227381                       ticsearch domain.
227382
227383                     · replace (bool) -- Whether or not to replace (True)  all
227384                       existing  tags  on  the  Elasticsearch  domain,  or add
227385                       (False) tags to the ES domain.
227386
227387              New in version Natrium.
227388
227389
227390       salt.states.boto3_elasticsearch.upgraded(name,   elasticsearch_version,
227391       blocking=True, region=None, keyid=None, key=None, profile=None)
227392              Ensures the Elasticsearch domain specified runs on the specified
227393              version of elasticsearch. Only upgrades are  possible  as  down‐
227394              grades  require a manual snapshot and an S3 bucket to store them
227395              in.
227396
227397              Note that this operation is blocking until the upgrade  is  com‐
227398              plete.
227399
227400              Parameters
227401
227402                     · name  (str)  -- The name of the Elasticsearch domain to
227403                       upgrade.
227404
227405                     · elasticsearch_version (str) -- String of format X.Y  to
227406                       specify  version for the Elasticsearch domain eg. "1.5"
227407                       or "2.3".
227408
227409              New in version Natrium.
227410
227411
227412              Example:
227413
227414                 Upgrade Elasticsearch Domain:
227415                   boto3_elasticsearch.upgraded:
227416                   - name: my_domain
227417                   - elasticsearch_version: '7.2'
227418                   - region: eu-west-1
227419
227420   salt.states.boto3_route53 module
227421       Manage Route53 records with Boto 3
227422
227423       New in version 2017.7.0.
227424
227425
227426       Create and delete Route53 records. Be aware that  this  interacts  with
227427       Amazon's services, and so may incur charges.
227428
227429       This module uses boto3, which can be installed via package, or pip.
227430
227431       This  module  accepts explicit route53 credentials but can also utilize
227432       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
227433       credentials are then automatically obtained from AWS API and no further
227434       configuration is necessary. More information available here.
227435
227436       If IAM roles are not used you need to specify them either in  a  pillar
227437       file or in the minion's config file:
227438
227439          route53.keyid: GKTADJGHEIQSXMKKRBJ08H
227440          route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227441
227442       It's  also  possible  to  specify  key, keyid and region via a profile,
227443       either passed in as a dict, or as a string to pull from pillars or min‐
227444       ion config:
227445
227446          myprofile:
227447            keyid: GKTADJGHEIQSXMKKRBJ08H
227448            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227449            region: us-east-1
227450
227451          An exciting new AWS Route 53 Hosted Zone:
227452            boto_route53.hosted_zone_present:
227453              - Name: example.com.
227454              - PrivateZone: true
227455              - VPCs:
227456                - VPCName: MyLittleVPC
227457                  VPCRegion: us-east-1
227458                - VPCId: vpc-12345678
227459              - region: us-east-1
227460              - keyid: GKTADJGHEIQSXMKKRBJ08H
227461              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227462
227463          mycnamerecord:
227464            boto_route53.rr_present:
227465              - Name: test.example.com.
227466              - ResourceRecords:
227467                - my-elb.us-east-1.elb.amazonaws.com.
227468              - DomainName: example.com.
227469              - TTL: 60
227470              - Type: CNAME
227471              - region: us-east-1
227472              - keyid: GKTADJGHEIQSXMKKRBJ08H
227473              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227474
227475       salt.states.boto3_route53.hosted_zone_absent(name,  Name=None, Private‐
227476       Zone=False, region=None, key=None, keyid=None, profile=None)
227477              Ensure the Route53 Hostes Zone described is absent
227478
227479              name   The name of the state definition.
227480
227481              Name   The name of the domain. This should be a  fully-specified
227482                     domain,  and should terminate with a period.  If not pro‐
227483                     vided, the value of name will be used.
227484
227485              PrivateZone
227486                     Set True if deleting a private hosted zone.
227487
227488       salt.states.boto3_route53.hosted_zone_present(name, Name=None, Private‐
227489       Zone=False, CallerReference=None, Comment=None, VPCs=None, region=None,
227490       key=None, keyid=None, profile=None)
227491              Ensure a hosted zone exists with the given attributes.
227492
227493              name   The name of the state definition.
227494
227495              Name   The name of the domain. This should be a  fully-specified
227496                     domain,  and  should terminate with a period. This is the
227497                     name you have registered with your DNS registrar.  It  is
227498                     also  the  name  you will delegate from your registrar to
227499                     the  Amazon  Route  53  delegation  servers  returned  in
227500                     response  to this request.  If not provided, the value of
227501                     name will be used.
227502
227503              PrivateZone
227504                     Set True if creating a private  hosted  zone.   If  true,
227505                     then 'VPCs' is also required.
227506
227507              Comment
227508                     Any comments you want to include about the hosted zone.
227509
227510              CallerReference
227511                     A  unique  string  that  identifies  the request and that
227512                     allows create_hosted_zone() calls to be  retried  without
227513                     the  risk  of  executing the operation twice.  This helps
227514                     ensure idempotency across  state  calls,  but  can  cause
227515                     issues  if  a zone is deleted and then an attempt is made
227516                     to recreate it with the  same  CallerReference.   If  not
227517                     provided,  a  unique UUID will be generated at each state
227518                     run, which can potentially lead to duplicate zones  being
227519                     created if the state is run again while the previous zone
227520                     creation is still in PENDING status (which can  occasion‐
227521                     ally  take  several minutes to clear).  Maximum length of
227522                     128.
227523
227524              VPCs   A list of dicts, each dict composed of a  VPCRegion,  and
227525                     either  a  VPCId  or  a VPCName.  Note that this param is
227526                     ONLY used if PrivateZone == True
227527
227528                     VPCId  When creating a private hosted  zone,  either  the
227529                            VPC  ID or VPC Name to associate with is required.
227530                            Exclusive with VPCName.
227531
227532                     VPCName
227533                            When creating a private hosted  zone,  either  the
227534                            VPC  ID or VPC Name to associate with is required.
227535                            Exclusive with VPCId.
227536
227537                     VPCRegion
227538                            When creating a private hosted zone, the region of
227539                            the  associated VPC is required.  If not provided,
227540                            an effort will be made to determine it from  VPCId
227541                            or  VPCName,  if  possible.   This  will fail if a
227542                            given VPCName exists in multiple  regions  visible
227543                            to the bound account, in which case you'll need to
227544                            provide an explicit value for VPCRegion.
227545
227546       salt.states.boto3_route53.rr_absent(name,  HostedZoneId=None,   Domain‐
227547       Name=None, PrivateZone=False, Name=None, Type=None, SetIdentifier=None,
227548       region=None, key=None, keyid=None, profile=None)
227549              Ensure the Route53 record is deleted.
227550
227551              name   The name of the state definition.  This will be used  for
227552                     Name if the latter is not provided.
227553
227554              HostedZoneId
227555                     The  ID of the zone to delete the record from.  Exclusive
227556                     with DomainName.
227557
227558              DomainName
227559                     The domain name of the zone to delete  the  record  from.
227560                     Exclusive with HostedZoneId.
227561
227562              PrivateZone
227563                     Set to True if the RR to be removed is in a private zone,
227564                     False if public.
227565
227566              Name   Name of the resource record.
227567
227568              Type   The record type (A, NS, MX, TXT, etc.)
227569
227570              SetIdentifier
227571                     Valid for Weighted, Latency,  Geolocation,  and  Failover
227572                     resource  record sets only.  An identifier that differen‐
227573                     tiates among multiple resource record sets that have  the
227574                     same  combination  of  DNS  name  and type.  The value of
227575                     SetIdentifier must be unique for each resource record set
227576                     that  has the same combination of DNS name and type. Omit
227577                     SetIdentifier for any other types of record sets.
227578
227579              region The region to connect to.
227580
227581              key    Secret key to be used.
227582
227583              keyid  Access key to be used.
227584
227585              profile
227586                     Dict, or pillar key pointing to a  dict,  containing  AWS
227587                     region/key/keyid.
227588
227589       salt.states.boto3_route53.rr_present(name,  HostedZoneId=None,  Domain‐
227590       Name=None, PrivateZone=False, Name=None, Type=None, SetIdentifier=None,
227591       Weight=None,  Region=None,  GeoLocation=None,  Failover=None, TTL=None,
227592       ResourceRecords=None, AliasTarget=None, HealthCheckId=None, TrafficPol‐
227593       icyInstanceId=None, region=None, key=None, keyid=None, profile=None)
227594              Ensure the Route53 record is present.
227595
227596              name   The  name of the state definition.  This will be used for
227597                     Name if the latter is not provided.
227598
227599              HostedZoneId
227600                     The ID of a zone to create the record in.  Exclusive with
227601                     DomainName.
227602
227603              DomainName
227604                     The  domain  name  of  a  zone  to  create the record in.
227605                     Exclusive with HostedZoneId.
227606
227607              PrivateZone
227608                     Set to True if the resource record should be in a private
227609                     zone, False if public.
227610
227611              Name   Name of the Route 53 resource record being managed.
227612
227613              Type   The record type (A, NS, MX, TXT, etc.)
227614
227615              SetIdentifier
227616                     Valid  for  Weighted,  Latency, Geolocation, and Failover
227617                     resource record sets only.  An identifier that  differen‐
227618                     tiates  among multiple resource record sets that have the
227619                     same combination of DNS name  and  type.   The  value  of
227620                     SetIdentifier must be unique for each resource record set
227621                     that has the same combination of DNS name and type.  Omit
227622                     SetIdentifier for any other types of record sets.
227623
227624              Weight Valid  for  Weighted  resource  record  sets only.  Among
227625                     resource record sets that have the  same  combination  of
227626                     DNS name and type, a value that determines the proportion
227627                     of DNS queries that Amazon Route 53 responds to using the
227628                     current  resource  record set. Amazon Route 53 calculates
227629                     the sum of the weights for the resource record sets  that
227630                     have  the  same  combination of DNS name and type. Amazon
227631                     Route 53 then responds to queries based on the ratio of a
227632                     resource's weight to the total.
227633
227634                     Note the following:
227635
227636                     · You  must  specify  a  value for the Weight element for
227637                       every weighted resource record set.
227638
227639                     · You can only specify one  ResourceRecord  per  weighted
227640                       resource record set.
227641
227642                     · You  can't  create  latency,  failover,  or geolocation
227643                       resource record sets that have the same values for  the
227644                       Name  and  Type  elements  as  weighted resource record
227645                       sets.
227646
227647                     · You can create  a  maximum  of  100  weighted  resource
227648                       record  sets that have the same values for the Name and
227649                       Type elements.
227650
227651                     · For weighted (but not weighted alias)  resource  record
227652                       sets, if you set Weight to 0 for a resource record set,
227653                       Amazon Route 53 never  responds  to  queries  with  the
227654                       applicable  value  for  that resource record set.  How‐
227655                       ever, if you set Weight to 0 for  all  resource  record
227656                       sets  that  have  the  same combination of DNS name and
227657                       type, traffic is routed to  all  resources  with  equal
227658                       probability.  The effect of setting Weight to 0 is dif‐
227659                       ferent when you associate health checks  with  weighted
227660                       resource record sets. For more information, see Options
227661                       for  Configuring  Amazon  Route  53  Active-Active  and
227662                       Active-Passive  Failover  in the Amazon Route 53 Devel‐
227663                       oper Guide.
227664
227665              Region Valid for Latency-based resource record sets  only.   The
227666                     Amazon EC2 Region where the resource that is specified in
227667                     this resource record set resides. The resource  typically
227668                     is  an  AWS  resource,  such as an EC2 instance or an ELB
227669                     load balancer, and is referred to by an IP address  or  a
227670                     DNS domain name, depending on the record type.
227671
227672              GeoLocation
227673                     Geo location resource record sets only.  A dict that lets
227674                     you control how Route 53 responds to DNS queries based on
227675                     the  geographic origin of the query.  For example, if you
227676                     want all queries from Africa to be routed to a web server
227677                     with  an  IP  address  of  192.0.2.111, create a resource
227678                     record set with a Type of A and a ContinentCode of AF.
227679
227680                        ContinentCode
227681                            The two-letter code for the continent.
227682                            Valid values: AF | AN | AS | EU | OC | NA | SA
227683                            Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode
227684                                        returns an InvalidInput error.
227685                        CountryCode
227686                            The two-letter code for the country.
227687                        SubdivisionCode
227688                            The code for the subdivision, for example, a state in the United States or a
227689                            province in Canada.
227690
227691                     Notes
227692
227693                     · Creating geolocation  and  geolocation  alias  resource
227694                       record sets in private hosted zones is not supported.
227695
227696                     · If  you  create separate resource record sets for over‐
227697                       lapping geographic regions (for example,  one  resource
227698                       record set for a continent and one for a country on the
227699                       same continent), priority goes  to  the  smallest  geo‐
227700                       graphic  region.  This allows you to route most queries
227701                       for a continent to one resource and  to  route  queries
227702                       for   a  country  on  that  continent  to  a  different
227703                       resource.
227704
227705                     · You can't create two geolocation resource  record  sets
227706                       that specify the same geographic location.
227707
227708                     · The value * in the CountryCode element matches all geo‐
227709                       graphic locations that aren't specified in other geolo‐
227710                       cation  resource  record sets that have the same values
227711                       for the Name and Type elements.
227712
227713                     · Geolocation works by mapping IP addresses to locations.
227714                       However,  some IP addresses aren't mapped to geographic
227715                       locations, so even if you create  geolocation  resource
227716                       record  sets  that  cover  all seven continents, Amazon
227717                       Route 53 will receive some DNS queries  from  locations
227718                       that it can't identify.  We recommend that you create a
227719                       resource record set for which the value of  CountryCode
227720                       is  *,  which handles both queries that come from loca‐
227721                       tions  for  which  you  haven't   created   geolocation
227722                       resource record sets and queries from IP addresses that
227723                       aren't mapped to a location.  If you don't create  a  *
227724                       resource  record  set,  Amazon  Route  53 returns a "no
227725                       answer" response for queries from those locations.
227726
227727                     · You can't create non-geolocation resource  record  sets
227728                       that  have  the  same values for the Name and Type ele‐
227729                       ments as geolocation resource record sets.
227730
227731              TTL    The resource record cache time to live (TTL), in seconds.
227732                     Note the following:
227733
227734                     · If  you're  creating an alias resource record set, omit
227735                       TTL. Amazon Route 53 uses the  value  of  TTL  for  the
227736                       alias target.
227737
227738                     · If  you're  associating this resource record set with a
227739                       health check (if you're  adding  a  HealthCheckId  ele‐
227740                       ment),  we  recommend that you specify a TTL of 60 sec‐
227741                       onds or less so clients respond quickly to  changes  in
227742                       health status.
227743
227744                     · All of the resource record sets in a group of weighted,
227745                       latency, geolocation, or failover resource record  sets
227746                       must have the same value for TTL.
227747
227748                     · If  a  group  of weighted resource record sets includes
227749                       one or more weighted alias  resource  record  sets  for
227750                       which the alias target is an ELB load balancer, we rec‐
227751                       ommend that you specify a TTL of 60 seconds for all  of
227752                       the  non-alias  weighted resource record sets that have
227753                       the same name and type. Values other  than  60  seconds
227754                       (the  TTL for load balancers) will change the effect of
227755                       the values that you specify for Weight.
227756
227757              ResourceRecords
227758                     A list, containing one or more values  for  the  resource
227759                     record.   No  single  value  can exceed 4,000 characters.
227760                     For details on how to format values for different  record
227761                     types,  see  Supported  DNS  Resource Record Types in the
227762                     Amazon Route 53 Developer Guide.
227763
227764                     Note:  You can specify more than one value for all record
227765                     types except CNAME and SOA.
227766
227767                     It  is  also possible to pass "magic" strings as resource
227768                     record  values.   This  functionality   can   easily   be
227769                     extended, but for the moment supports the following:
227770                        'magic:ec2_instance_tag:some_tag_name:some_string:some_instance_attr'
227771
227772                     This tells salt to lookup an  EC2  instance  with  a  tag
227773                     'some_tag_name'  which  has  the  value 'some_string' and
227774                     substitute the  'some_instance_attr'  attribute  of  that
227775                     instance as the resource record value being evaluated.
227776
227777                     This  should work generally for any EC2 instance tags, as
227778                     long as the instance attribute being fetched is available
227779                     to  getattr(instance,  'attribute')  as  seen in the code
227780                     below.  Anything else will most likely require this func‐
227781                     tion to be extended to handle it.
227782
227783                     The canonical use-case for this (at least at our site) is
227784                     to query the Name tag (which we always populate with  the
227785                     host's FQDN) to lookup the public or private IPs bound to
227786                     the instance, so we can then automgically create Route 53
227787                     records for them.
227788
227789              AliasTarget
227790                     The  rules governing how to define an AliasTarget for the
227791                     various supported use-cases are obtuse beyond reason  and
227792                     attempting   to   paraphrase   them   (or   even   worse,
227793                     cut-and-paste them in their entirety) would be silly  and
227794                     counterproductive.   If  you need this feature, then Read
227795                     The Fine Materials at the Boto 3 Route 53 page and/or the
227796                     AWS  Route  53  docs  and suss them for yourself - I sure
227797                     won't claim to understand them partcularly well.
227798
227799              region The region to connect to.
227800
227801              key    Secret key to be used.
227802
227803              keyid  Access key to be used.
227804
227805              profile
227806                     Dict, or pillar key pointing to a  dict,  containing  AWS
227807                     region/key/keyid.
227808
227809   salt.states.boto_apigateway module
227810   Manage Apigateway Rest APIs
227811       New in version 2016.11.0.
227812
227813
227814       depends
227815
227816              · boto >= 2.8.0
227817
227818              · boto3 >= 1.2.1
227819
227820              · botocore >= 1.4.49
227821
227822       Create  and  destroy rest apis depending on a swagger version 2 defini‐
227823       tion file.  Be aware that this interacts with Amazon's services, and so
227824       may incur charges.
227825
227826       This module uses boto3, which can be installed via package, or pip.
227827
227828       This  module  accepts explicit vpc credentials but can also utilize IAM
227829       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
227830       dentials  are  then  automatically obtained from AWS API and no further
227831       configuration is necessary. More information available here.
227832
227833       If IAM roles are not used you need to specify them either in  a  pillar
227834       file or in the minion's config file:
227835
227836          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
227837          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227838
227839       It's  also  possible  to  specify  key, keyid and region via a profile,
227840       either passed in as a dict, or as a string to pull from pillars or min‐
227841       ion config:
227842
227843          myprofile:
227844            keyid: GKTADJGHEIQSXMKKRBJ08H
227845            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227846            region: us-east-1
227847
227848          Ensure Apigateway API exists:
227849            boto_apigateway.present:
227850              - name: myfunction
227851              - region: us-east-1
227852              - keyid: GKTADJGHEIQSXMKKRBJ08H
227853              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
227854
227855       salt.states.boto_apigateway.absent(name,      api_name,     stage_name,
227856       nuke_api=False, region=None, key=None, keyid=None, profile=None)
227857              Ensure  the  stage_name  associated  with  the  given   api_name
227858              deployed  by boto_apigateway's present state is removed.  If the
227859              currently associated deployment to the given stage_name  has  no
227860              other  stages  associated  with  it, the deployment will also be
227861              removed.
227862
227863              name   Name of the swagger file in YAML format
227864
227865              api_name
227866                     Name of the rest api  on  AWS  ApiGateway  to  ensure  is
227867                     absent.
227868
227869              stage_name
227870                     Name of the stage to be removed irrespective of the swag‐
227871                     ger file content.  If the current  deployment  associated
227872                     with  the  stage_name has no other stages associated with
227873                     it, the deployment will also be removed.
227874
227875              nuke_api
227876                     If True, removes the API itself  only  if  there  are  no
227877                     other  stages  associated with any other deployments once
227878                     the given stage_name is removed.
227879
227880              region Region to connect to.
227881
227882              key    Secret key to be used.
227883
227884              keyid  Access key to be used.
227885
227886              profile
227887                     A dict with region,  key  and  keyid,  or  a  pillar  key
227888                     (string) that contains a dict with region, key and keyid.
227889
227890       salt.states.boto_apigateway.present(name,    api_name,    swagger_file,
227891       stage_name,         api_key_required,          lambda_integration_role,
227892       lambda_region=None,    stage_variables=None,   region=None,   key=None,
227893       keyid=None,             profile=None,              lambda_funcname_for‐
227894       mat=u'{stage}_{api}_{resource}_{method}',   authorization_type=u'NONE',
227895       error_response_template=None, response_template=None)
227896              Ensure the spcified api_name with the corresponding  swaggerfile
227897              is deployed to the given stage_name in AWS ApiGateway.
227898
227899              this  state  currently only supports ApiGateway integration with
227900              AWS Lambda, and CORS support is handled through a Mock  integra‐
227901              tion.
227902
227903              There  may  be  multiple  deployments  for  the API object, each
227904              deployment is tagged with a description (i.e. unique  label)  in
227905              pretty  printed json format consisting of the following key/val‐
227906              ues.
227907
227908                 {
227909                     "api_name": api_name,
227910                     "swagger_file": basename_of_swagger_file
227911                     "swagger_file_md5sum": md5sum_of_swagger_file,
227912                     "swagger_info_object": info_object_content_in_swagger_file
227913                 }
227914
227915              Please note that the name of the lambda  function  to  be  inte‐
227916              grated  will  be derived via the provided lambda_funcname_format
227917              parameters:
227918
227919              · the default lambda_funcname_format is a string with  the  fol‐
227920                lowing                   substitutable                   keys:
227921                "{stage}_{api}_{resource}_{method}".  The user can  choose  to
227922                reorder the known keys.
227923
227924              · the stage key corresponds to the stage_name passed in.
227925
227926              · the api key corresponds to the api_name passed in.
227927
227928              · the  resource  corresponds to the resource path defined in the
227929                passed swagger file.
227930
227931              · the method corresponds to  the  method  for  a  resource  path
227932                defined in the passed swagger file.
227933
227934              For  the  default  lambda_funcname_format,  given  the following
227935              input:
227936
227937                 api_name = '  Test    Service'
227938                 stage_name = 'alpha'
227939                 basePath = '/api'
227940                 path = '/a/{b}/c'
227941                 method = 'POST'
227942
227943              We will end up with the following Lambda Function Name that will
227944              be looked up: 'test_service_alpha_a_b_c_post'
227945
227946              The  canconicalization  of these input parameters is done in the
227947              following order:
227948
227949              1. lambda_funcname_format is formatted with the input parameters
227950                 as passed,
227951
227952              2. resulting string is stripped for leading/trailing spaces,
227953
227954              3. path  parameter's  curly braces are removed from the resource
227955                 path,
227956
227957              4. consecutive spaces and  forward  slashes  in  the  paths  are
227958                 replaced with '_'
227959
227960              5. consecutive '_' are replaced with '_'
227961
227962              Please  note  that for error response handling, the swagger file
227963              must have an error response model  with  the  following  schema.
227964              The  lambda  functions  should throw exceptions for any non suc‐
227965              cessful responses.  An optional pattern field can  be  specified
227966              in errorMessage field to aid the response mapping from Lambda to
227967              the proper error return status codes.
227968
227969                 Error:
227970                   type: object
227971                   properties:
227972                     stackTrace:
227973                       type: array
227974                       items:
227975                         type: array
227976                         items:
227977                           type: string
227978                       description: call stack
227979                   errorType:
227980                     type: string
227981                     description: error type
227982                   errorMessage:
227983                     type: string
227984                     description: |
227985                       Error message, will be matched based on pattern.
227986                       If no pattern is specified, the default pattern used for response mapping will be +*.
227987
227988              name   The name of the state definition
227989
227990              api_name
227991                     The name of the rest api that we want to ensure exists in
227992                     AWS API Gateway
227993
227994              swagger_file
227995                     Name  of  the location of the swagger rest api definition
227996                     file in YAML format.
227997
227998              stage_name
227999                     Name of the stage we want to be associated with the given
228000                     api_name and swagger_file definition
228001
228002              api_key_required
228003                     True  or  False - whether the API Key is required to call
228004                     API methods
228005
228006              lambda_integration_role
228007                     The name or ARN of the IAM role that the  AWS  ApiGateway
228008                     assumes  when  it executes your lambda function to handle
228009                     incoming requests
228010
228011              lambda_region
228012                     The region where we expect to find the lambda  functions.
228013                     This is used to determine the region where we should look
228014                     for the Lambda Function for  integration  purposes.   The
228015                     region determination is based on the following priority:
228016
228017                     1. lambda_region as passed in (is not None)
228018
228019                     2. if  lambda_region  is  None,  use  the  region as if a
228020                        boto_lambda function were executed without  explicitly
228021                        specifying lambda region.
228022
228023                     3. if  region  determined  in  (2)  is different than the
228024                        region used  by  boto_apigateway  functions,  a  final
228025                        lookup  will  be  attempted  using the boto_apigateway
228026                        region.
228027
228028              stage_variables
228029                     A dict with variables and their values, or a  pillar  key
228030                     (string)  that  contains  a dict with variables and their
228031                     values.  key and values in  the  dict  must  be  strings.
228032                     {'string': 'string'}
228033
228034              region Region to connect to.
228035
228036              key    Secret key to be used.
228037
228038              keyid  Access key to be used.
228039
228040              profile
228041                     A  dict  with  region,  key  and  keyid,  or a pillar key
228042                     (string) that contains a dict with region, key and keyid.
228043
228044              lambda_funcname_format
228045                     Please review the earlier example  for  the  usage.   The
228046                     only   substituable  keys  in  the  funcname  format  are
228047                     {stage}, {api}, {resource}, {method}.  Any other keys  or
228048                     positional  subsitution  parameters will be flagged as an
228049                     invalid input.
228050
228051              authorization_type
228052                     This field can be either 'NONE', or 'AWS_IAM'.  This will
228053                     be applied to all methods in the given swagger spec file.
228054                     Default is set to 'NONE'
228055
228056              error_response_template
228057                     String value that defines the response  template  mapping
228058                     that  should  be applied in cases error occurs.  Refer to
228059                     AWS          documentation          for          details:
228060                     http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
228061
228062                     If set to None, the following default value is used:
228063
228064                        '#set($inputRoot = $input.path('$'))\n'
228065                        '{\n'
228066                        '  "errorMessage" : "$inputRoot.errorMessage",\n'
228067                        '  "errorType" : "$inputRoot.errorType",\n'
228068                        '  "stackTrace" : [\n'
228069                        '#foreach($stackTrace in $inputRoot.stackTrace)\n'
228070                        '    [\n'
228071                        '#foreach($elem in $stackTrace)\n'
228072                        '      "$elem"\n'
228073                        '#if($foreach.hasNext),#end\n'
228074                        '#end\n'
228075                        '    ]\n'
228076                        '#if($foreach.hasNext),#end\n'
228077                        '#end\n'
228078                        '  ]\n'
228079
228080                     New in version 2017.7.0.
228081
228082
228083              response_template
228084                     String value that defines the response  template  mapping
228085                     applied  in case of success (including OPTIONS method) If
228086                     set to None, empty ({}) template is assumed,  which  will
228087                     transfer response from the lambda function as is.
228088
228089                     New in version 2017.7.0.
228090
228091
228092       salt.states.boto_apigateway.usage_plan_absent(name,          plan_name,
228093       region=None, key=None, keyid=None, profile=None)
228094              Ensures usage plan identified by name is no longer present
228095
228096              New in version 2017.7.0.
228097
228098
228099              name   name of the state
228100
228101              plan_name
228102                     name of the plan to remove
228103
228104                 usage plan absent:
228105                   boto_apigateway.usage_plan_absent:
228106                     - plan_name: my_usage_plan
228107                     - profile: my_profile
228108
228109       salt.states.boto_apigateway.usage_plan_association_absent(name,
228110       plan_name, api_stages, region=None, key=None, keyid=None, profile=None)
228111              Ensures  usage  plan identified by name is removed from provided
228112              api_stages If a plan is  associated  to  stages  not  listed  in
228113              api_stages parameter, those associations remain intact.
228114
228115              New in version 2017.7.0.
228116
228117
228118              name   name of the state
228119
228120              plan_name
228121                     name of the plan to use
228122
228123              api_stages
228124                     list  of  dictionaries, where each dictionary consists of
228125                     the following keys:
228126
228127                     apiId  apiId of the api to detach usage plan from
228128
228129                     stage  stage name of the api to detach usage plan from
228130
228131                 UsagePlanAssociationAbsent:
228132                   boto_apigateway.usage_plan_association_absent:
228133                     - plan_name: my_plan
228134                     - api_stages:
228135                       - apiId: 9kb0404ec0
228136                         stage: my_stage
228137                       - apiId: l9v7o2aj90
228138                         stage: my_stage
228139                     - profile: my_profile
228140
228141       salt.states.boto_apigateway.usage_plan_association_present(name,
228142       plan_name, api_stages, region=None, key=None, keyid=None, profile=None)
228143              Ensures  usage  plan  identified  by  name  is added to provided
228144              api_stages
228145
228146              New in version 2017.7.0.
228147
228148
228149              name   name of the state
228150
228151              plan_name
228152                     name of the plan to use
228153
228154              api_stages
228155                     list of dictionaries, where each dictionary  consists  of
228156                     the following keys:
228157
228158                     apiId  apiId of the api to attach usage plan to
228159
228160                     stage  stage name of the api to attach usage plan to
228161
228162                 UsagePlanAssociationPresent:
228163                   boto_apigateway.usage_plan_association_present:
228164                     - plan_name: my_plan
228165                     - api_stages:
228166                       - apiId: 9kb0404ec0
228167                         stage: my_stage
228168                       - apiId: l9v7o2aj90
228169                         stage: my_stage
228170                     - profile: my_profile
228171
228172       salt.states.boto_apigateway.usage_plan_present(name,         plan_name,
228173       description=None,  throttle=None,  quota=None,  region=None,  key=None,
228174       keyid=None, profile=None)
228175              Ensure  the  spcifieda usage plan with the corresponding metrics
228176              is deployed
228177
228178              New in version 2017.7.0.
228179
228180
228181              name   name of the state
228182
228183              plan_name
228184                     [Required] name of the usage plan
228185
228186              throttle
228187                     [Optional] throttling parameters expressed as  a  dictio‐
228188                     nary.  If provided, at least one of the throttling param‐
228189                     eters must be present
228190
228191                     rateLimit
228192                            rate per second at which capacity bucket is  popu‐
228193                            lated
228194
228195                     burstLimit
228196                            maximum rate allowed
228197
228198              quota  [Optional]  quota on the number of api calls permitted by
228199                     the plan.  If provided, limit and period must be present
228200
228201                     limit  [Required] number of  calls  permitted  per  quota
228202                            period
228203
228204                     offset [Optional]  number  of calls to be subtracted from
228205                            the limit at the beginning of the period
228206
228207                     period [Required] period to which quota applies. Must  be
228208                            DAY, WEEK or MONTH
228209
228210                 UsagePlanPresent:
228211                   boto_apigateway.usage_plan_present:
228212                     - plan_name: my_usage_plan
228213                     - throttle:
228214                         rateLimit: 70
228215                         burstLimit: 100
228216                     - quota:
228217                         limit: 1000
228218                         offset: 0
228219                         period: DAY
228220                     - profile: my_profile
228221
228222   salt.states.boto_asg
228223   Manage Autoscale Groups
228224       New in version 2014.7.0.
228225
228226
228227       Create  and destroy autoscale groups. Be aware that this interacts with
228228       Amazon's services, and so may incur charges.
228229
228230       This module uses boto, which can be installed via package, or pip.
228231
228232       This module accepts explicit autoscale credentials but can also utilize
228233       IAM  roles  assigned to the instance through Instance Profiles. Dynamic
228234       credentials are then automatically obtained from AWS API and no further
228235       configuration is necessary. More Information available at:
228236
228237          http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
228238
228239       If  IAM  roles are not used you need to specify them either in a pillar
228240       or in the minion's config file:
228241
228242          asg.keyid: GKTADJGHEIQSXMKKRBJ08H
228243          asg.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228244
228245       It's also possible to specify key, keyid  and  region  via  a  profile,
228246       either as a passed in dict, or as a string to pull from pillars or min‐
228247       ion config:
228248
228249          myprofile:
228250              keyid: GKTADJGHEIQSXMKKRBJ08H
228251              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228252              region: us-east-1
228253
228254          Ensure myasg exists:
228255            boto_asg.present:
228256              - name: myasg
228257              - launch_config_name: mylc
228258              - availability_zones:
228259                - us-east-1a
228260                - us-east-1b
228261              - min_size: 1
228262              - max_size: 1
228263              - desired_capacity: 1
228264              - load_balancers:
228265                - myelb
228266              - suspended_processes:
228267                  - AddToLoadBalancer
228268                  - AlarmNotification
228269              - scaling_policies
228270                  - adjustment_type: ChangeInCapacity
228271                  - as_name: api-production-iad
228272                  - cooldown: 1800
228273                  - min_adjustment_step: None
228274                  - name: ScaleDown
228275                  - scaling_adjustment: -1
228276              - region: us-east-1
228277              - keyid: GKTADJGHEIQSXMKKRBJ08H
228278              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228279
228280          # Using a profile from pillars.
228281          Ensure myasg exists:
228282            boto_asg.present:
228283              - name: myasg
228284              - launch_config_name: mylc
228285              - availability_zones:
228286                - us-east-1a
228287                - us-east-1b
228288              - min_size: 1
228289              - max_size: 1
228290              - desired_capacity: 1
228291              - load_balancers:
228292                - myelb
228293              - profile: myprofile
228294
228295          # Passing in a profile.
228296          Ensure myasg exists:
228297            boto_asg.present:
228298              - name: myasg
228299              - launch_config_name: mylc
228300              - availability_zones:
228301                - us-east-1a
228302                - us-east-1b
228303              - min_size: 1
228304              - max_size: 1
228305              - desired_capacity: 1
228306              - load_balancers:
228307                - myelb
228308              - profile:
228309                  keyid: GKTADJGHEIQSXMKKRBJ08H
228310                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228311                  region: us-east-1
228312
228313          # Deleting an autoscale group with running instances.
228314          Ensure myasg is deleted:
228315            boto_asg.absent:
228316              - name: myasg
228317              # If instances exist, we must force the deletion of the asg.
228318              - force: True
228319
228320       It's possible to specify cloudwatch alarms that  will  be  setup  along
228321       with  the  ASG. Note the alarm name will be the name attribute defined,
228322       plus the ASG resource name.
228323
228324          Ensure myasg exists:
228325            boto_asg.present:
228326              - name: myasg
228327              - launch_config_name: mylc
228328              - availability_zones:
228329                - us-east-1a
228330                - us-east-1b
228331              - min_size: 1
228332              - max_size: 1
228333              - desired_capacity: 1
228334              - load_balancers:
228335                - myelb
228336              - profile: myprofile
228337              - alarms:
228338                  CPU:
228339                    name: 'ASG CPU **MANAGED BY SALT**'
228340                    attributes:
228341                      metric: CPUUtilization
228342                      namespace: AWS/EC2
228343                      statistic: Average
228344                      comparison: '>='
228345                      threshold: 65.0
228346                      period: 60
228347                      evaluation_periods: 30
228348                      unit: null
228349                      description: 'ASG CPU'
228350                      alarm_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
228351                      insufficient_data_actions: []
228352                      ok_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
228353
228354       You can also use alarms from pillars, and override values from the pil‐
228355       lar   alarms   by   setting   overrides  on  the  resource.  Note  that
228356       'boto_asg_alarms' will be used as a default value for all resources, if
228357       defined  and  can  be  used  to ensure alarms are always set for an ASG
228358       resource.
228359
228360       Setting the alarms in a pillar:
228361
228362          my_asg_alarm:
228363            CPU:
228364              name: 'ASG CPU **MANAGED BY SALT**'
228365              attributes:
228366                metric: CPUUtilization
228367                namespace: AWS/EC2
228368                statistic: Average
228369                comparison: '>='
228370                threshold: 65.0
228371                period: 60
228372                evaluation_periods: 30
228373                unit: null
228374                description: 'ASG CPU'
228375                alarm_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
228376                insufficient_data_actions: []
228377                ok_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
228378
228379       Overriding the alarm values on the resource:
228380
228381          Ensure myasg exists:
228382            boto_asg.present:
228383              - name: myasg
228384              - launch_config_name: mylc
228385              - availability_zones:
228386                - us-east-1a
228387                - us-east-1b
228388              - min_size: 1
228389              - max_size: 1
228390              - desired_capacity: 1
228391              - load_balancers:
228392                - myelb
228393              - profile: myprofile
228394              - alarms_from_pillar: my_asg_alarm
228395              # override CPU:attributes:threshold
228396              - alarms:
228397                  CPU:
228398                    attributes:
228399                      threshold: 50.0
228400
228401       salt.states.boto_asg.absent(name, force=False,  region=None,  key=None,
228402       keyid=None, profile=None, remove_lc=False)
228403              Ensure the named autoscale group is deleted.
228404
228405              name   Name of the autoscale group.
228406
228407              force  Force deletion of autoscale group.
228408
228409              remove_lc
228410                     Delete the launch config as well.
228411
228412              region The region to connect to.
228413
228414              key    Secret key to be used.
228415
228416              keyid  Access key to be used.
228417
228418              profile
228419                     A  dict  with  region,  key  and  keyid,  or a pillar key
228420                     (string) that contains a dict with region, key and keyid.
228421
228422       salt.states.boto_asg.present(name,    launch_config_name,    availabil‐
228423       ity_zones,   min_size,   max_size,  launch_config=None,  desired_capac‐
228424       ity=None,          load_balancers=None,          default_cooldown=None,
228425       health_check_type=None, health_check_period=None, placement_group=None,
228426       vpc_zone_identifier=None,   subnet_names=None,   tags=None,    termina‐
228427       tion_policies=None,  termination_policies_from_pillar=u'boto_asg_termi‐
228428       nation_policies',   suspended_processes=None,    scaling_policies=None,
228429       scaling_policies_from_pillar=u'boto_asg_scaling_policies',       sched‐
228430       uled_actions=None,      scheduled_actions_from_pillar=u'boto_asg_sched‐
228431       uled_actions',    alarms=None,   alarms_from_pillar=u'boto_asg_alarms',
228432       region=None, key=None, keyid=None, profile=None, notification_arn=None,
228433       notification_arn_from_pillar=u'boto_asg_notification_arn',    notifica‐
228434       tion_types=None,    notification_types_from_pillar=u'boto_asg_notifica‐
228435       tion_types')
228436              Ensure the autoscale group exists.
228437
228438              name   Name of the autoscale group.
228439
228440              launch_config_name
228441                     Name  of  the launch config to use for the group.  Or, if
228442                     launch_config is specified, this will be the launch  con‐
228443                     fig name's prefix.  (see below)
228444
228445              launch_config
228446                     A  dictionary of launch config attributes.  If specified,
228447                     a launch config will be used or  created,  matching  this
228448                     set of attributes, and the autoscale group will be set to
228449                     use that launch config.  The launch config name  will  be
228450                     the launch_config_name followed by a hyphen followed by a
228451                     hash of the launch_config dict contents.  Example:
228452
228453                        my_asg:
228454                          boto_asg.present:
228455                          - launch_config:
228456                            - ebs_optimized: false
228457                            - instance_profile_name: my_iam_profile
228458                            - kernel_id: ''
228459                            - ramdisk_id: ''
228460                            - key_name: my_ssh_key
228461                            - image_name: aws2015091-hvm
228462                            - instance_type: c3.xlarge
228463                            - instance_monitoring: false
228464                            - security_groups:
228465                              - my_sec_group_01
228466                              - my_sec_group_02
228467
228468              availability_zones
228469                     List of availability zones for the group.
228470
228471              min_size
228472                     Minimum size of the group.
228473
228474              max_size
228475                     Maximum size of the group.
228476
228477              desired_capacity
228478                     The desired capacity of the group.
228479
228480              load_balancers
228481                     List of load balancers for the group. Once set  this  can
228482                     not be updated (Amazon restriction).
228483
228484              default_cooldown
228485                     Number  of  seconds  after  a  Scaling Activity completes
228486                     before any further scaling activities can start.
228487
228488              health_check_type
228489                     The service you want the health status from,  Amazon  EC2
228490                     or Elastic Load Balancer (EC2 or ELB).
228491
228492              health_check_period
228493                     Length  of time in seconds after a new EC2 instance comes
228494                     into  service  that  Auto  Scaling  starts  checking  its
228495                     health.
228496
228497              placement_group
228498                     Physical location of your cluster placement group created
228499                     in Amazon EC2. Once set this can not be  updated  (Amazon
228500                     restriction).
228501
228502              vpc_zone_identifier
228503                     A  list  of the subnet identifiers of the Virtual Private
228504                     Cloud.
228505
228506              subnet_names
228507                     For VPC, a list of  subnet  names  (NOT  subnet  IDs)  to
228508                     deploy into.  Exclusive with vpc_zone_identifier.
228509
228510              tags   A list of tags. Example:
228511
228512                        - key: 'key'
228513                          value: 'value'
228514                          propagate_at_launch: true
228515
228516              termination_policies
228517                     A list of termination policies. Valid values are:
228518
228519                     · OldestInstance
228520
228521                     · NewestInstance
228522
228523                     · OldestLaunchConfiguration
228524
228525                     · ClosestToNextInstanceHour
228526
228527                     · Default
228528
228529                     If no value is specified, the Default value is used.
228530
228531              termination_policies_from_pillar:
228532                     name of pillar dict that contains termination policy set‐
228533                     tings.   Termination policies defined for  this  specific
228534                     state will override those from pillar.
228535
228536              suspended_processes
228537                     List     of    processes    to    be    suspended.    see
228538                     http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html
228539
228540              scaling_policies
228541                     List  of  scaling  policies.   Each  policy  is a dict of
228542                     key-values                  described                  by
228543                     https://boto.readthedocs.io/en/latest/ref/autoscale.html#boto.ec2.autoscale.policy.ScalingPolicy
228544
228545              scaling_policies_from_pillar:
228546                     name of pillar dict that  contains  scaling  policy  set‐
228547                     tings.   Scaling policies defined for this specific state
228548                     will override those from pillar.
228549
228550              scheduled_actions:
228551                     a dictionary of scheduled actions. Each key is  the  name
228552                     of  scheduled  action  and  each  value  is dictionary of
228553                     options. For example:
228554
228555                        - scheduled_actions:
228556                            scale_up_at_10:
228557                                desired_capacity: 4
228558                                min_size: 3
228559                                max_size: 5
228560                                recurrence: "0 9 * * 1-5"
228561                            scale_down_at_7:
228562                                desired_capacity: 1
228563                                min_size: 1
228564                                max_size: 1
228565                                recurrence: "0 19 * * 1-5"
228566
228567              scheduled_actions_from_pillar:
228568                     name of pillar dict that contains scheduled_actions  set‐
228569                     tings.  Scheduled  actions  for  this specific state will
228570                     override those from pillar.
228571
228572              alarms:
228573                     a dictionary of name->boto_cloudwatch_alarm  sections  to
228574                     be  associated  with  this ASG.  All attributes should be
228575                     specified except for dimension which  will  be  automati‐
228576                     cally set to this ASG.
228577
228578                     See   the   salt.states.boto_cloudwatch_alarm  state  for
228579                     information about these attributes.
228580
228581                     If any alarm  actions  include   ":self:"  this  will  be
228582                     replaced  with  the asg name.  For example, alarm_actions
228583                     reading "['scaling_policy:self:ScaleUp']" will map to the
228584                     arn  for  this  asg's scaling policy named "ScaleUp".  In
228585                     addition, any alarms that  have  only  scaling_policy  as
228586                     actions  will be ignored if min_size is equal to max_size
228587                     for this ASG.
228588
228589              alarms_from_pillar:
228590                     name  of  pillar  dict  that  contains  alarm   settings.
228591                     Alarms  defined  for  this  specific  state will override
228592                     those from pillar.
228593
228594              region The region to connect to.
228595
228596              key    Secret key to be used.
228597
228598              keyid  Access key to be used.
228599
228600              profile
228601                     A dict with region,  key  and  keyid,  or  a  pillar  key
228602                     (string) that contains a dict with region, key and keyid.
228603
228604              notification_arn
228605                     The AWS arn that notifications will be sent to
228606
228607              notification_arn_from_pillar
228608                     name  of  the  pillar  dict that contains notifcation_arn
228609                     settings.  A notification_arn defined for  this  specific
228610                     state will override the one from pillar.
228611
228612              notification_types
228613                     A  list  of event names that will trigger a notification.
228614                     The list of valid notification types is:
228615
228616                     · autoscaling:EC2_INSTANCE_LAUNCH
228617
228618                     · autoscaling:EC2_INSTANCE_LAUNCH_ERROR
228619
228620                     · autoscaling:EC2_INSTANCE_TERMINATE
228621
228622                     · autoscaling:EC2_INSTANCE_TERMINATE_ERROR
228623
228624                     · autoscaling:TEST_NOTIFICATION
228625
228626              notification_types_from_pillar
228627                     name of the pillar dict that  contains  notifcation_types
228628                     settings.   notification_types  defined for this specific
228629                     state will override those from the pillar.
228630
228631   salt.states.boto_cfn
228632       Connection module for Amazon Cloud Formation
228633
228634       New in version 2015.8.0.
228635
228636
228637       depends
228638              boto
228639
228640       configuration
228641              This module accepts explicit AWS credentials but can  also  uti‐
228642              lize  IAM  roles  assigned to the instance through Instance Pro‐
228643              files. Dynamic credentials are then automatically obtained  from
228644              AWS API and no further configuration is necessary. More Informa‐
228645              tion                        available                         at
228646              http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
228647
228648              If IAM roles are not used you need to specify them either  in  a
228649              pillar or in the minion's config file:
228650
228651                 keyid: GKTADJGHEIQSXMKKRBJ08H
228652                 key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228653
228654                 stack-present:
228655                   boto_cfn.present:
228656                     - name: mystack
228657                     - template_body: salt://base/mytemplate.json
228658                     - disable_rollback: true
228659                     - region: eu-west-1
228660                     - keyid: 'AKIAJHTMIQ2ASDFLASDF'
228661                     - key: 'fdkjsafkljsASSADFalkfjasdf'
228662
228663                 stack-absent:
228664                   boto_cfn.absent:
228665                     - name: mystack
228666
228667       salt.states.boto_cfn.absent(name,  region=None,  key=None,  keyid=None,
228668       profile=None)
228669              Ensure cloud formation stack is absent.
228670
228671              name (string) – The name of the stack to delete.
228672
228673              region (string) - Region to connect to.
228674
228675              key (string) - Secret key to be used.
228676
228677              keyid (string) - Access key to be used.
228678
228679              profile (dict) - A dict with region, key and keyid, or a  pillar
228680              key (string) that contains a dict with region, key and keyid.
228681
228682       salt.states.boto_cfn.present(name,       template_body=None,       tem‐
228683       plate_url=None, parameters=None, notification_arns=None,  disable_roll‐
228684       back=None,   timeout_in_minutes=None,   capabilities=None,   tags=None,
228685       on_failure=None,     stack_policy_body=None,     stack_policy_url=None,
228686       use_previous_template=None,       stack_policy_during_update_body=None,
228687       stack_policy_during_update_url=None, region=None, key=None, keyid=None,
228688       profile=None)
228689              Ensure cloud formation stack is present.
228690
228691              name (string) - Name of the stack.
228692
228693              template_body (string) – Structure containing the template body.
228694              Can also be loaded from a file by using salt://.
228695
228696              template_url (string) – Location of file containing the template
228697              body.  The  URL must point to a template located in an S3 bucket
228698              in the same region as the stack.
228699
228700              parameters (list) – A list  of  key/value  tuples  that  specify
228701              input parameters for the stack. A 3-tuple (key, value, bool) may
228702              be used to specify the UsePreviousValue option.
228703
228704              notification_arns (list) – The Simple Notification Service (SNS)
228705              topic  ARNs  to publish stack related events.  You can find your
228706              SNS topic ARNs using the SNS_console or your Command Line Inter‐
228707              face (CLI).
228708
228709              disable_rollback  (bool)  – Indicates whether or not to rollback
228710              on failure.
228711
228712              timeout_in_minutes (integer) – The amount of time that can  pass
228713              before  the  stack status becomes CREATE_FAILED; if DisableRoll‐
228714              back is not set or is set to False, the  stack  will  be  rolled
228715              back.
228716
228717              capabilities (list) – The list of capabilities you want to allow
228718              in the stack. Currently, the only valid capability is  ‘CAPABIL‐
228719              ITY_IAM’.
228720
228721              tags  (dict) – A set of user-defined Tags to associate with this
228722              stack, represented by key/value  pairs.  Tags  defined  for  the
228723              stack  are  propagated to EC2 resources that are created as part
228724              of the stack. A maximum number of 10 tags can be specified.
228725
228726              on_failure (string) – Determines what action will  be  taken  if
228727              stack creation fails. This must be one of: DO_NOTHING, ROLLBACK,
228728              or DELETE. You can specify either OnFailure or  DisableRollback,
228729              but not both.
228730
228731              stack_policy_body (string) – Structure containing the stack pol‐
228732              icy body. Can also be loaded from a file by using salt://.
228733
228734              stack_policy_url (string) – Location of a  file  containing  the
228735              stack  policy.  The  URL must point to a policy (max size: 16KB)
228736              located in an S3 bucket in the same region as the  stack.If  you
228737              pass StackPolicyBody and StackPolicyURL, only StackPolicyBody is
228738              used.
228739
228740              use_previous_template (boolean) – Used only when  templates  are
228741              not  the  same. Set to True to use the previous template instead
228742              of uploading a new one via TemplateBody or TemplateURL.
228743
228744              stack_policy_during_update_body (string) – Used only  when  tem‐
228745              plates  are  not  the  same.  Structure containing the temporary
228746              overriding stack policy body. If you  pass  StackPolicyDuringUp‐
228747              dateBody   and   StackPolicyDuringUpdateURL,  only  StackPolicy‐
228748              DuringUpdateBody is used. Can also be  loaded  from  a  file  by
228749              using salt://.
228750
228751              stack_policy_during_update_url  (string)  –  Used only when tem‐
228752              plates are not the same. Location of a file containing the  tem‐
228753              porary  overriding  stack policy. The URL must point to a policy
228754              (max size: 16KB) located in an S3 bucket in the same  region  as
228755              the stack. If you pass StackPolicyDuringUpdateBody and StackPol‐
228756              icyDuringUpdateURL, only StackPolicyDuringUpdateBody is used.
228757
228758              region (string) - Region to connect to.
228759
228760              key (string) - Secret key to be used.
228761
228762              keyid (string) - Access key to be used.
228763
228764              profile (dict) - A dict with region, key and keyid, or a  pillar
228765              key (string) that contains a dict with region, key and keyid.
228766
228767   salt.states.boto_cloudfront
228768       Manage CloudFront distributions
228769
228770       New in version 2018.3.0.
228771
228772
228773       Create, update and destroy CloudFront distributions.
228774
228775       This  module  accepts explicit AWS credentials but can also utilize IAM
228776       roles assigned to the instance through Instance Profiles.  Dynamic cre‐
228777       dentials  are  then  automatically obtained from AWS API and no further
228778       configuration is necessary.  More information available here.
228779
228780       If IAM roles are not used you need to specify them, either in a  pillar
228781       file or in the minion's config file:
228782
228783          cloudfront.keyid: GKTADJGHEIQSXMKKRBJ08H
228784          cloudfront.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228785
228786       It's  also  possible  to  specify key, keyid, and region via a profile,
228787       either passed in as a dict, or a string to pull from pillars or  minion
228788       config:
228789
228790          myprofile:
228791              keyid: GKTADJGHEIQSXMKKRBJ08H
228792              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228793              region: us-east-1
228794
228795          aws:
228796              region:
228797                  us-east-1:
228798                      profile:
228799                          keyid: GKTADJGHEIQSXMKKRBJ08H
228800                          key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228801                          region: us-east-1
228802
228803       depends
228804              boto3
228805
228806       salt.states.boto_cloudfront.present(name,  config,  tags,  region=None,
228807       key=None, keyid=None, profile=None)
228808              Ensure the CloudFront distribution is present.
228809
228810              name (string)
228811                     Name of the CloudFront distribution
228812
228813              config (dict)
228814                     Configuration for the distribution
228815
228816              tags (dict)
228817                     Tags to associate with the distribution
228818
228819              region (string)
228820                     Region to connect to
228821
228822              key (string)
228823                     Secret key to use
228824
228825              keyid (string)
228826                     Access key to use
228827
228828              profile (dict or string)
228829                     A dict with region, key,  and  keyid,  or  a  pillar  key
228830                     (string) that contains such a dict.
228831
228832              Example:
228833
228834                 Manage my_distribution CloudFront distribution:
228835                     boto_cloudfront.present:
228836                       - name: my_distribution
228837                       - config:
228838                           Comment: 'partial config shown, most parameters elided'
228839                           Enabled: True
228840                       - tags:
228841                           testing_key: testing_value
228842
228843   salt.states.boto_cloudtrail module
228844   Manage CloudTrail Objects
228845       New in version 2016.3.0.
228846
228847
228848       Create  and  destroy  CloudTrail  objects. Be aware that this interacts
228849       with Amazon's services, and so may incur charges.
228850
228851       depends
228852
228853              · boto
228854
228855              · boto3
228856
228857       The dependencies listed above can be installed via package or pip.
228858
228859       This module accepts explicit vpc credentials but can also  utilize  IAM
228860       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
228861       dentials are then automatically obtained from AWS API  and  no  further
228862       configuration is necessary. More information available here.
228863
228864       If  IAM  roles are not used you need to specify them either in a pillar
228865       file or in the minion's config file:
228866
228867          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
228868          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228869
228870       It's also possible to specify key, keyid  and  region  via  a  profile,
228871       either passed in as a dict, or as a string to pull from pillars or min‐
228872       ion config:
228873
228874          myprofile:
228875              keyid: GKTADJGHEIQSXMKKRBJ08H
228876              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228877                  region: us-east-1
228878
228879          Ensure trail exists:
228880              boto_cloudtrail.present:
228881                  - Name: mytrail
228882                  - S3BucketName: mybucket
228883                  - S3KeyPrefix: prefix
228884                  - region: us-east-1
228885                  - keyid: GKTADJGHEIQSXMKKRBJ08H
228886                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228887
228888       salt.states.boto_cloudtrail.absent(name, Name,  region=None,  key=None,
228889       keyid=None, profile=None)
228890              Ensure trail with passed properties is absent.
228891
228892              name   The name of the state definition.
228893
228894              Name   Name of the trail.
228895
228896              region Region to connect to.
228897
228898              key    Secret key to be used.
228899
228900              keyid  Access key to be used.
228901
228902              profile
228903                     A  dict  with  region,  key  and  keyid,  or a pillar key
228904                     (string) that contains a dict with region, key and keyid.
228905
228906       salt.states.boto_cloudtrail.present(name, Name, S3BucketName, S3KeyPre‐
228907       fix=None,  SnsTopicName=None, IncludeGlobalServiceEvents=True, IsMulti‐
228908       RegionTrail=None,   EnableLogFileValidation=False,   CloudWatchLogsLog‐
228909       GroupArn=None,  CloudWatchLogsRoleArn=None,  KmsKeyId=None,  LoggingEn‐
228910       abled=True, Tags=None, region=None, key=None, keyid=None, profile=None)
228911              Ensure trail exists.
228912
228913              name   The name of the state definition
228914
228915              Name   Name of the trail.
228916
228917              S3BucketName
228918                     Specifies the name of the Amazon S3 bucket designated for
228919                     publishing log files.
228920
228921              S3KeyPrefix
228922                     Specifies  the  Amazon S3 key prefix that comes after the
228923                     name of the bucket  you  have  designated  for  log  file
228924                     delivery.
228925
228926              SnsTopicName
228927                     Specifies  the  name  of the Amazon SNS topic defined for
228928                     notification of log file delivery. The maximum length  is
228929                     256 characters.
228930
228931              IncludeGlobalServiceEvents
228932                     Specifies  whether  the  trail  is publishing events from
228933                     global services such as IAM to the log files.
228934
228935              EnableLogFileValidation
228936                     Specifies  whether  log  file  integrity  validation   is
228937                     enabled. The default is false.
228938
228939              CloudWatchLogsLogGroupArn
228940                     Specifies  a log group name using an Amazon Resource Name
228941                     (ARN), a unique identifier that represents the log  group
228942                     to  which CloudTrail logs will be delivered. Not required
228943                     unless you specify CloudWatchLogsRoleArn.
228944
228945              CloudWatchLogsRoleArn
228946                     Specifies the role for the CloudWatch  Logs  endpoint  to
228947                     assume to write to a user's log group.
228948
228949              KmsKeyId
228950                     Specifies  the  KMS  key  ID  to  use to encrypt the logs
228951                     delivered by CloudTrail. The value can be a an alias name
228952                     prefixed  by "alias/", a fully specified ARN to an alias,
228953                     a fully specified ARN to a  key,  or  a  globally  unique
228954                     identifier.
228955
228956              LoggingEnabled
228957                     Whether logging should be enabled for the trail
228958
228959              Tags   A dictionary of tags that should be set on the trail
228960
228961              region Region to connect to.
228962
228963              key    Secret key to be used.
228964
228965              keyid  Access key to be used.
228966
228967              profile
228968                     A  dict  with  region,  key  and  keyid,  or a pillar key
228969                     (string) that contains a dict with region, key and keyid.
228970
228971   salt.states.boto_cloudwatch_alarm
228972       Manage Cloudwatch alarms
228973
228974       New in version 2014.7.0.
228975
228976
228977       Create and destroy cloudwatch alarms. Be aware that this interacts with
228978       Amazon's services, and so may incur charges.
228979
228980       This module uses boto, which can be installed via package, or pip.
228981
228982       This module accepts explicit credentials but can also utilize IAM roles
228983       assigned to the instance through Instance Profiles. Dynamic credentials
228984       are  then automatically obtained from AWS API and no further configura‐
228985       tion is necessary. More Information available at:
228986
228987       http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
228988
228989       If  IAM  roles are not used you need to specify them either in a pillar
228990       or in the minion's config file:
228991
228992          cloudwatch.keyid: GKTADJGHEIQSXMKKRBJ08H
228993          cloudwatch.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
228994
228995       It's also possible to specify key, keyid  and  region  via  a  profile,
228996       either as a passed in dict, or as a string to pull from pillars or min‐
228997       ion config:
228998
228999          myprofile:
229000            keyid: GKTADJGHEIQSXMKKRBJ08H
229001            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229002            region: us-east-1
229003
229004          my test alarm:
229005            boto_cloudwatch_alarm.present:
229006              - name: my test alarm
229007              - attributes:
229008                  metric: ApproximateNumberOfMessagesVisible
229009                  namespace: AWS/SQS
229010                  statistic: Average
229011                  comparison: ">="
229012                  threshold: 20000.0
229013                  period: 60
229014                  evaluation_periods: 1
229015                  description: test alarm via salt
229016                  dimensions:
229017                    QueueName:
229018                      - the-sqs-queue-name
229019                  alarm_actions:
229020                    - arn:aws:sns:us-east-1:1111111:myalerting-action
229021
229022       salt.states.boto_cloudwatch_alarm.absent(name,  region=None,  key=None,
229023       keyid=None, profile=None)
229024              Ensure the named cloudwatch alarm is deleted.
229025
229026              name   Name of the alarm.
229027
229028              region Region to connect to.
229029
229030              key    Secret key to be used.
229031
229032              keyid  Access key to be used.
229033
229034              profile
229035                     A  dict  with  region,  key  and  keyid,  or a pillar key
229036                     (string) that contains a dict with region, key and keyid.
229037
229038       salt.states.boto_cloudwatch_alarm.present(name,             attributes,
229039       region=None, key=None, keyid=None, profile=None)
229040              Ensure the cloudwatch alarm exists.
229041
229042              name   Name of the alarm
229043
229044              attributes
229045                     A dict of key/value cloudwatch alarm attributes.
229046
229047              region Region to connect to.
229048
229049              key    Secret key to be used.
229050
229051              keyid  Access key to be used.
229052
229053              profile
229054                     A  dict  with  region,  key  and  keyid,  or a pillar key
229055                     (string) that contains a dict with region, key and keyid.
229056
229057   salt.states.boto_cloudwatch_event module
229058   Manage CloudTrail Objects
229059       New in version 2016.11.0.
229060
229061
229062       Create and destroy CloudWatch event rules. Be aware that this interacts
229063       with Amazon's services, and so may incur charges.
229064
229065       This module uses boto3, which can be installed via package, or pip.
229066
229067       This  module  accepts explicit vpc credentials but can also utilize IAM
229068       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
229069       dentials  are  then  automatically obtained from AWS API and no further
229070       configuration is necessary. More information available here.
229071
229072       If IAM roles are not used you need to specify them either in  a  pillar
229073       file or in the minion's config file:
229074
229075          cloudwatch_event.keyid: GKTADJGHEIQSXMKKRBJ08H
229076          cloudwatch_event.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229077
229078       It's  also  possible  to  specify  key, keyid and region via a profile,
229079       either passed in as a dict, or as a string to pull from pillars or min‐
229080       ion config:
229081
229082          myprofile:
229083              keyid: GKTADJGHEIQSXMKKRBJ08H
229084              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229085                  region: us-east-1
229086
229087          Ensure event rule exists:
229088              boto_cloudwatch_event.present:
229089                  - Name: mytrail
229090                  - ScheduleExpression: 'rate(120 minutes)'
229091                  - State: 'DISABLED'
229092                  - Targets:
229093                    - Id: "target1"
229094                      Arn: "arn:aws:lambda:us-west-1:124456715622:function:my_function"
229095                      Input: '{"arbitrary": "json"}'
229096                  - region: us-east-1
229097                  - keyid: GKTADJGHEIQSXMKKRBJ08H
229098                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229099
229100       salt.states.boto_cloudwatch_event.absent(name,  Name=None, region=None,
229101       key=None, keyid=None, profile=None)
229102              Ensure CloudWatch event rule with passed properties is absent.
229103
229104              name   The name of the state definition.
229105
229106              Name   Name of the event rule.  Defaults to  the  value  of  the
229107                     'name' param if not provided.
229108
229109              region Region to connect to.
229110
229111              key    Secret key to be used.
229112
229113              keyid  Access key to be used.
229114
229115              profile
229116                     A  dict  with  region,  key  and  keyid,  or a pillar key
229117                     (string) that contains a dict with region, key and keyid.
229118
229119       salt.states.boto_cloudwatch_event.present(name, Name=None,  ScheduleEx‐
229120       pression=None,   EventPattern=None,   Description=None,   RoleArn=None,
229121       State=None,  Targets=None,  region=None,  key=None,  keyid=None,   pro‐
229122       file=None)
229123              Ensure trail exists.
229124
229125              name   The name of the state definition
229126
229127              Name   Name  of  the  event  rule.  Defaults to the value of the
229128                     'name' param if not provided.
229129
229130              ScheduleExpression
229131                     The scheduling expression. For example, cron(0 20 *  *  ?
229132                     *), "rate(5 minutes)"
229133
229134              EventPattern
229135                     The event pattern.
229136
229137              Description
229138                     A description of the rule
229139
229140              State  Indicates whether the rule is ENABLED or DISABLED.
229141
229142              RoleArn
229143                     The Amazon Resource Name (ARN) of the IAM role associated
229144                     with the rule.
229145
229146              Targets
229147                     A list of rresources to be invoked when the rule is trig‐
229148                     gered.
229149
229150              region Region to connect to.
229151
229152              key    Secret key to be used.
229153
229154              keyid  Access key to be used.
229155
229156              profile
229157                     A  dict  with  region,  key  and  keyid,  or a pillar key
229158                     (string) that contains a dict with region, key and keyid.
229159
229160   salt.states.boto_cognitoidentity module
229161   Manage CognitoIdentity Functions
229162       New in version 2016.11.0.
229163
229164
229165       Create and destroy CognitoIdentity identity pools. Be aware  that  this
229166       interacts with Amazon's services, and so may incur charges.
229167
229168       This module uses boto3, which can be installed via package, or pip.
229169
229170       This  module  accepts explicit vpc credentials but can also utilize IAM
229171       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
229172       dentials  are  then  automatically obtained from AWS API and no further
229173       configuration is necessary. More information available here.
229174
229175       If IAM roles are not used you need to specify them either in  a  pillar
229176       file or in the minion's config file:
229177
229178          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
229179          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229180
229181       It's  also  possible  to  specify  key, keyid and region via a profile,
229182       either passed in as a dict, or as a string to pull from pillars or min‐
229183       ion config:
229184
229185          myprofile:
229186              keyid: GKTADJGHEIQSXMKKRBJ08H
229187              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229188                  region: us-east-1
229189
229190          Ensure function exists:
229191              boto_cognitoidentity.pool_present:
229192                  - PoolName: my_identity_pool
229193                  - region: us-east-1
229194                  - keyid: GKTADJGHEIQSXMKKRBJ08H
229195                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229196
229197       salt.states.boto_cognitoidentity.pool_absent(name,    IdentityPoolName,
229198       RemoveAllMatched=False,   region=None,   key=None,   keyid=None,   pro‐
229199       file=None)
229200              Ensure cognito identity pool with passed properties is absent.
229201
229202              name   The name of the state definition.
229203
229204              IdentityPoolName
229205                     Name of the Cognito Identity Pool.  Please note that this
229206                     may match multiple pools with the  same  given  name,  in
229207                     which case, all will be removed.
229208
229209              RemoveAllMatched
229210                     If  True,  all identity pools with the matching Identity‐
229211                     PoolName will be removed.  If False and  there  are  more
229212                     than  one  identity  pool with the matching IdentityPool‐
229213                     Name, no action will be taken.  If  False  and  there  is
229214                     only  one  identity  pool with the matching IdentityPool‐
229215                     Name, the identity pool will be removed.
229216
229217              region Region to connect to.
229218
229219              key    Secret key to be used.
229220
229221              keyid  Access key to be used.
229222
229223              profile
229224                     A dict with region,  key  and  keyid,  or  a  pillar  key
229225                     (string) that contains a dict with region, key and keyid.
229226
229227       salt.states.boto_cognitoidentity.pool_present(name,   IdentityPoolName,
229228       AuthenticatedRole, AllowUnauthenticatedIdentities=False, Unauthenticat‐
229229       edRole=None,  SupportedLoginProviders=None, DeveloperProviderName=None,
229230       OpenIdConnectProviderARNs=None, region=None, key=None, keyid=None, pro‐
229231       file=None)
229232              Ensure Cognito Identity Pool exists.
229233
229234              name   The name of the state definition
229235
229236              IdentityPoolName
229237                     Name of the Cognito Identity Pool
229238
229239              AuthenticatedRole
229240                     An IAM role name or ARN that will be associated with tem‐
229241                     porary AWS credentials for an authenticated cognito iden‐
229242                     tity.
229243
229244              AllowUnauthenticatedIdentities
229245                     Whether to allow anonymous user identities
229246
229247              UnauthenticatedRole
229248                     An  IAM  role  name  or  ARN that will be associated with
229249                     anonymous user identities
229250
229251              SupportedLoginProviders
229252                     A dictionary or pillar that contains key:value pairs map‐
229253                     ping provider names to provider app IDs.
229254
229255              DeveloperProviderName
229256                     A  string which is the domain by which Cognito will refer
229257                     to your users.  This name  acts  as  a  placeholder  that
229258                     allows  your  backend and the Cognito service to communi‐
229259                     cate about the developer provider.  Once you have  set  a
229260                     developer  provider  name,  you cannot change it.  Please
229261                     take care in setting this parameter.
229262
229263              OpenIdConnectProviderARNs
229264                     A list or pillar name that contains a list of OpenID Con‐
229265                     nect provider ARNs.
229266
229267              region Region to connect to.
229268
229269              key    Secret key to be used.
229270
229271              keyid  Access key to be used.
229272
229273              profile
229274                     A  dict  with  region,  key  and  keyid,  or a pillar key
229275                     (string) that contains a dict with region, key and keyid.
229276
229277   salt.states.boto_datapipeline module
229278       Manage Data Pipelines
229279
229280       New in version 2016.3.0.
229281
229282
229283       Be aware that this interacts with Amazon's services, and so  may  incur
229284       charges.
229285
229286       This module uses boto3, which can be installed via package, or pip.
229287
229288       This  module  accepts explicit AWS credentials but can also utilize IAM
229289       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
229290       dentials  are  then  automatically obtained from AWS API and no further
229291       configuration is necessary. More information available here.
229292
229293       If IAM roles are not used you need to specify them either in  a  pillar
229294       file or in the minion's config file:
229295
229296          datapipeline.keyid: GKTADJGHEIQSXMKKRBJ08H
229297          datapipeline.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229298
229299       It's  also  possible  to  specify  key, keyid and region via a profile,
229300       either passed in as a dict, or as a string to pull from pillars or min‐
229301       ion config:
229302
229303          myprofile:
229304            keyid: GKTADJGHEIQSXMKKRBJ08H
229305            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229306            region: us-east-1
229307
229308          Ensure daily data pipeline exists:
229309            boto_datapipeline.present:
229310              - name: my-datapipeline
229311              - pipeline_objects:
229312                  DefaultSchedule:
229313                    name: Every 1 day
229314                    fields:
229315                      period: 1 Day
229316                      type: Schedule
229317                      startAt: FIRST_ACTIVATION_DATE_TIME
229318              - parameter_values:
229319                  myDDBTableName: my-dynamo-table
229320
229321       salt.states.boto_datapipeline.absent(name,    region=None,    key=None,
229322       keyid=None, profile=None)
229323              Ensure a pipeline with the service_name does not exist
229324
229325              name   Name of the service to ensure a data  pipeline  does  not
229326                     exist for.
229327
229328              region Region to connect to.
229329
229330              key    Secret key to be used.
229331
229332              keyid  Access key to be used.
229333
229334              profile
229335                     A  dict  with  region,  key  and  keyid,  or a pillar key
229336                     (string) that contains a dict with region, key and keyid.
229337
229338       salt.states.boto_datapipeline.present(name,      pipeline_objects=None,
229339       pipeline_objects_from_pillars=u'boto_datapipeline_pipeline_objects',
229340       parameter_objects=None,      parameter_objects_from_pillars=u'boto_dat‐
229341       apipeline_parameter_objects',   parameter_values=None,   parameter_val‐
229342       ues_from_pillars=u'boto_datapipeline_parameter_values',    region=None,
229343       key=None, keyid=None, profile=None)
229344              Ensure the data pipeline exists with matching definition.
229345
229346              name   Name of the service to ensure a data pipeline exists for.
229347
229348              pipeline_objects
229349                     Pipeline  objects to use. Will override objects read from
229350                     pillars.
229351
229352              pipeline_objects_from_pillars
229353                     The pillar key to use for lookup.
229354
229355              parameter_objects
229356                     Parameter objects to use. Will override objects read from
229357                     pillars.
229358
229359              parameter_objects_from_pillars
229360                     The pillar key to use for lookup.
229361
229362              parameter_values
229363                     Parameter  values  to use. Will override values read from
229364                     pillars.
229365
229366              parameter_values_from_pillars
229367                     The pillar key to use for lookup.
229368
229369              region Region to connect to.
229370
229371              key    Secret key to be used.
229372
229373              keyid  Access key to be used.
229374
229375              profile
229376                     A dict with region,  key  and  keyid,  or  a  pillar  key
229377                     (string) that contains a dict with region, key and keyid.
229378
229379   salt.states.boto_dynamodb
229380   Manage DynamoDB Tables
229381       New in version 2015.5.0.
229382
229383
229384       Create  and  destroy DynamoDB tables. Be aware that this interacts with
229385       Amazon's services, and so may incur charges.
229386
229387       This module uses boto, which can be installed via package, or pip.
229388
229389       This module accepts explicit DynamoDB credentials but can also  utilize
229390       IAM  roles  assigned to the instance through Instance Profiles. Dynamic
229391       credentials are then automatically obtained from AWS API and no further
229392       configuration is necessary. More information available here.
229393
229394       If  IAM  roles are not used you need to specify them either in a pillar
229395       file or in the minion's config file:
229396
229397          keyid: GKTADJGHEIQSXMKKRBJ08H
229398          key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229399          region: us-east-1
229400
229401       It's also possible to specify key, keyid  and  region  via  a  profile,
229402       either passed in as a dict, or as a string to pull from pillars or min‐
229403       ion config:
229404
229405          myprofile:
229406              keyid: GKTADJGHEIQSXMKKRBJ08H
229407              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229408                  region: us-east-1
229409
229410          Ensure DynamoDB table does not exist:
229411            boto_dynamodb.absent:
229412              - table_name: new_table
229413              - keyid: GKTADJGHEIQSXMKKRBJ08H
229414              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229415              - region: us-east-1
229416
229417          Ensure DynamoDB table exists:
229418            boto_dynamodb.present:
229419              - table_name: new_table
229420              - read_capacity_units: 1
229421              - write_capacity_units: 2
229422              - hash_key: primary_id
229423              - hash_key_data_type: N
229424              - range_key: start_timestamp
229425              - range_key_data_type: N
229426              - keyid: GKTADJGHEIQSXMKKRBJ08H
229427              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229428              - region: us-east-1
229429              - local_indexes:
229430                  - index:
229431                      - name: "primary_id_end_timestamp_index"
229432                      - hash_key: primary_id
229433                      - hash_key_data_type: N
229434                      - range_key: end_timestamp
229435                      - range_key_data_type: N
229436              - global_indexes:
229437                  - index:
229438                      - name: "name_end_timestamp_index"
229439                      - hash_key: name
229440                      - hash_key_data_type: S
229441                      - range_key: end_timestamp
229442                      - range_key_data_type: N
229443                      - read_capacity_units: 3
229444                      - write_capacity_units: 4
229445
229446       It's possible to specify cloudwatch alarms that  will  be  setup  along
229447       with  the  DynamoDB  table.  Note the alarm name will be defined by the
229448       name attribute provided, plus the DynamoDB resource name.
229449
229450          Ensure DynamoDB table exists:
229451            boto_dynamodb.present:
229452              - name: new_table
229453              - read_capacity_units: 1
229454              - write_capacity_units: 2
229455              - hash_key: primary_id
229456              - hash_key_data_type: N
229457              - range_key: start_timestamp
229458              - range_key_data_type: N
229459              - alarms:
229460                   ConsumedWriteCapacityUnits:
229461                      name: 'DynamoDB ConsumedWriteCapacityUnits **MANAGED BY SALT**'
229462                      attributes:
229463                        metric: ConsumedWriteCapacityUnits
229464                        namespace: AWS/DynamoDB
229465                        statistic: Sum
229466                        comparison: '>='
229467                        # threshold_percent is used to calculate the actual threshold
229468                        # based on the provisioned capacity for the table.
229469                        threshold_percent: 0.75
229470                        period: 300
229471                        evaluation_periods: 2
229472                        unit: Count
229473                        description: 'DynamoDB ConsumedWriteCapacityUnits'
229474                        alarm_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
229475                        insufficient_data_actions: []
229476                        ok_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
229477              - keyid: GKTADJGHEIQSXMKKRBJ08H
229478              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229479              - region: us-east-1
229480
229481       You can also use alarms from pillars, and override values from the pil‐
229482       lar   alarms   by   setting   overrides  on  the  resource.  Note  that
229483       'boto_dynamodb_alarms'  will  be  used  as  a  default  value  for  all
229484       resources,  if  defined and can be used to ensure alarms are always set
229485       for a resource.
229486
229487       Setting the alarms in a pillar:
229488
229489          boto_dynamodb_alarms:
229490            ConsumedWriteCapacityUnits:
229491              name: 'DynamoDB ConsumedWriteCapacityUnits **MANAGED BY SALT**'
229492              attributes:
229493                metric: ConsumedWriteCapacityUnits
229494                namespace: AWS/DynamoDB
229495                statistic: Sum
229496                comparison: '>='
229497                # threshold_percent is used to calculate the actual threshold
229498                # based on the provisioned capacity for the table.
229499                threshold_percent: 0.75
229500                period: 300
229501                evaluation_periods: 2
229502                unit: Count
229503                description: 'DynamoDB ConsumedWriteCapacityUnits'
229504                alarm_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
229505                insufficient_data_actions: []
229506                ok_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
229507
229508          Ensure DynamoDB table exists:
229509            boto_dynamodb.present:
229510              - name: new_table
229511              - read_capacity_units: 1
229512              - write_capacity_units: 2
229513              - hash_key: primary_id
229514              - hash_key_data_type: N
229515              - range_key: start_timestamp
229516              - range_key_data_type: N
229517              - alarms:
229518                   ConsumedWriteCapacityUnits:
229519                      attributes:
229520                        threshold_percent: 0.90
229521                        period: 900
229522
229523       exception salt.states.boto_dynamodb.GsiNotUpdatableError
229524              Raised when a global secondary index cannot be updated.
229525
229526       salt.states.boto_dynamodb.absent(name,      region=None,      key=None,
229527       keyid=None, profile=None)
229528              Ensure the DynamoDB table does not exist.
229529
229530              name   Name of the DynamoDB table.
229531
229532              region Region to connect to.
229533
229534              key    Secret key to be used.
229535
229536              keyid  Access key to be used.
229537
229538              profile
229539                     A  dict  with  region,  key  and  keyid,  or a pillar key
229540                     (string) that contains a dict with region, key and keyid.
229541
229542       salt.states.boto_dynamodb.present(name=None,           table_name=None,
229543       region=None,    key=None,    keyid=None,    profile=None,   read_capac‐
229544       ity_units=None,         write_capacity_units=None,         alarms=None,
229545       alarms_from_pillar=u'boto_dynamodb_alarms',              hash_key=None,
229546       hash_key_data_type=None,   range_key=None,    range_key_data_type=None,
229547       local_indexes=None,    global_indexes=None,    backup_configs_from_pil‐
229548       lars=u'boto_dynamodb_backup_configs')
229549              Ensure the  DynamoDB  table  exists.  Table  throughput  can  be
229550              updated after table creation.
229551
229552              Global  secondary  indexes  (GSIs)  are managed with some excep‐
229553              tions:
229554
229555              · If a GSI deletion is detected, a failure will  occur  (deletes
229556                should be done manually in the AWS console).
229557
229558              · If  multiple  GSIs  are added in a single Salt call, a failure
229559                will occur (boto supports one creation at a time).  Note  that
229560                this  only  applies after table creation; multiple GSIs can be
229561                created during table creation.
229562
229563              · Updates to existing GSIs are limited  to  read/write  capacity
229564                only (DynamoDB limitation).
229565
229566              name   Name of the DynamoDB table
229567
229568              table_name
229569                     Name of the DynamoDB table (deprecated)
229570
229571              region Region to connect to.
229572
229573              key    Secret key to be used.
229574
229575              keyid  Access key to be used.
229576
229577              profile
229578                     A  dict  with  region,  key  and  keyid,  or a pillar key
229579                     (string) that contains a dict with region, key and keyid.
229580
229581              read_capacity_units
229582                     The read throughput for this table
229583
229584              write_capacity_units
229585                     The write throughput for this table
229586
229587              hash_key
229588                     The name of the attribute that will be used as  the  hash
229589                     key for this table
229590
229591              hash_key_data_type
229592                     The DynamoDB datatype of the hash key
229593
229594              range_key
229595                     The  name of the attribute that will be used as the range
229596                     key for this table
229597
229598              range_key_data_type
229599                     The DynamoDB datatype of the range key
229600
229601              local_indexes
229602                     The local indexes you would like to create
229603
229604              global_indexes
229605                     The global indexes you would like to create
229606
229607              backup_configs_from_pillars
229608                     Pillars to use to configure DataPipeline backups
229609
229610   salt.states.boto_ec2
229611       Manage EC2
229612
229613       New in version 2015.8.0.
229614
229615
229616       This module provides an interface to the Elastic  Compute  Cloud  (EC2)
229617       service from AWS.
229618
229619       The below code creates a key pair:
229620
229621          create-key-pair:
229622            boto_ec2.key_present:
229623              - name: mykeypair
229624              - save_private: /root/
229625              - region: eu-west-1
229626              - keyid: GKTADJGHEIQSXMKKRBJ08H
229627              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229628
229629          import-key-pair:
229630             boto_ec2.key_present:
229631              - name: mykeypair
229632              - upload_public: 'ssh-rsa AAAA'
229633              - keyid: GKTADJGHEIQSXMKKRBJ08H
229634              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229635
229636       You can also use salt:// in order to define the public key.
229637
229638          import-key-pair:
229639             boto_ec2.key_present:
229640              - name: mykeypair
229641              - upload_public: salt://mybase/public_key.pub
229642              - keyid: GKTADJGHEIQSXMKKRBJ08H
229643              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229644
229645       The below code deletes a key pair:
229646
229647          delete-key-pair:
229648            boto_ec2.key_absent:
229649              - name: mykeypair
229650              - region: eu-west-1
229651              - keyid: GKTADJGHEIQSXMKKRBJ08H
229652              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
229653
229654       salt.states.boto_ec2.eni_absent(name,  release_eip=False,  region=None,
229655       key=None, keyid=None, profile=None)
229656              Ensure the EC2 ENI is absent.
229657
229658              New in version 2016.3.0.
229659
229660
229661              name   Name tag associated with the ENI.
229662
229663              release_eip
229664                     True/False - release any EIP associated with the ENI
229665
229666              region Region to connect to.
229667
229668              key    Secret key to be used.
229669
229670              keyid  Access key to be used.
229671
229672              profile
229673                     A dict with region,  key  and  keyid,  or  a  pillar  key
229674                     (string) that contains a dict with region, key and keyid.
229675
229676       salt.states.boto_ec2.eni_present(name,       subnet_id=None,       sub‐
229677       net_name=None, private_ip_address=None, description=None,  groups=None,
229678       source_dest_check=True,  allocate_eip=None, arecords=None, region=None,
229679       key=None, keyid=None, profile=None)
229680              Ensure the EC2 ENI exists.
229681
229682              New in version 2016.3.0.
229683
229684
229685              name   Name tag associated with the ENI.
229686
229687              subnet_id
229688                     The VPC subnet ID the ENI will exist within.
229689
229690              subnet_name
229691                     The VPC subnet name the ENI will exist within.
229692
229693              private_ip_address
229694                     The private ip address to use for this ENI.  If  this  is
229695                     not  specified AWS will automatically assign a private IP
229696                     address to the ENI. Must be specified at  creation  time;
229697                     will be ignored afterward.
229698
229699              description
229700                     Description of the key.
229701
229702              groups A list of security groups to apply to the ENI.
229703
229704              source_dest_check
229705                     Boolean specifying whether source/destination checking is
229706                     enabled on the ENI.
229707
229708              allocate_eip
229709                     allocate and associate an EIP to the ENI. Could be 'stan‐
229710                     dard'  to  allocate  Elastic IP to EC2 region or 'vpc' to
229711                     get it for a particular VPC
229712
229713                     Changed in version 2016.11.0.
229714
229715
229716              arecords
229717                     A list of arecord dicts with attributes  needed  for  the
229718                     DNS     add_record     state.      By     default     the
229719                     boto_route53.add_record  state  will   be   used,   which
229720                     requires:  name,  zone,  ttl,  and  identifier.   See the
229721                     boto_route53   state   for   information   about    these
229722                     attributes.   Other DNS modules can be called by specify‐
229723                     ing the provider keyword.  By default, the private ENI IP
229724                     address  will  be used, set 'public: True' in the arecord
229725                     dict to use the ENI's public IP address
229726
229727                     New in version 2016.3.0.
229728
229729
229730              region Region to connect to.
229731
229732              key    Secret key to be used.
229733
229734              keyid  Access key to be used.
229735
229736              profile
229737                     A dict with region,  key  and  keyid,  or  a  pillar  key
229738                     (string) that contains a dict with region, key and keyid.
229739
229740       salt.states.boto_ec2.instance_absent(name,          instance_name=None,
229741       instance_id=None, release_eip=False, region=None, key=None, keyid=None,
229742       profile=None, filters=None)
229743              Ensure an EC2 instance does not exist (is stopped and removed).
229744
229745              Changed in version 2016.11.0.
229746
229747
229748              name   (string) - The name of the state definition.
229749
229750              instance_name
229751                     (string) - The name of the instance.
229752
229753              instance_id
229754                     (string) - The ID of the instance.
229755
229756              release_eip
229757                     (bool)    -  Release  any associated EIPs during termina‐
229758                     tion.
229759
229760              region (string) - Region to connect to.
229761
229762              key    (string) - Secret key to be used.
229763
229764              keyid  (string) - Access key to be used.
229765
229766              profile
229767                     (variable) - A dict with region, key and keyid, or a pil‐
229768                     lar  key  (string)  that contains a dict with region, key
229769                     and keyid.
229770
229771              filters
229772                     (dict) - A dict of additional filters to use in  matching
229773                     the instance to delete.
229774
229775              YAML example fragment:
229776
229777                 - filters:
229778                     vpc-id: vpc-abcdef12
229779
229780       salt.states.boto_ec2.instance_present(name,         instance_name=None,
229781       instance_id=None,    image_id=None,     image_name=None,     tags=None,
229782       key_name=None,           security_groups=None,          user_data=None,
229783       instance_type=None,  placement=None,  kernel_id=None,  ramdisk_id=None,
229784       vpc_id=None,  vpc_name=None,  monitoring_enabled=None,  subnet_id=None,
229785       subnet_name=None, private_ip_address=None, block_device_map=None,  dis‐
229786       able_api_termination=None,   instance_initiated_shutdown_behavior=None,
229787       placement_group=None, client_token=None, security_group_ids=None, secu‐
229788       rity_group_names=None,        additional_info=None,       tenancy=None,
229789       instance_profile_arn=None,    instance_profile_name=None,     ebs_opti‐
229790       mized=None,  network_interfaces=None, network_interface_name=None, net‐
229791       work_interface_id=None,   attributes=None,   target_state=None,    pub‐
229792       lic_ip=None,   allocation_id=None,   allocate_eip=False,   region=None,
229793       key=None, keyid=None, profile=None)
229794              Ensure an EC2 instance is running with the given attributes  and
229795              state.
229796
229797              name   (string) - The name of the state definition.  Recommended
229798                     that this match the  instance_name  attribute  (generally
229799                     the FQDN of the instance).
229800
229801              instance_name
229802                     (string)  - The name of the instance, generally its FQDN.
229803                     Exclusive with 'instance_id'.
229804
229805              instance_id
229806                     (string) - The ID of the instance (if known).   Exclusive
229807                     with 'instance_name'.
229808
229809              image_id
229810                     (string) – The ID of the AMI image to run.
229811
229812              image_name
229813                     (string) – The name of the AMI image to run.
229814
229815              tags   (dict) - Tags to apply to the instance.
229816
229817              key_name
229818                     (string)  – The name of the key pair with which to launch
229819                     instances.
229820
229821              security_groups
229822                     (list of strings) – The names of the EC2 classic security
229823                     groups with which to associate instances
229824
229825              user_data
229826                     (string)  –  The Base64-encoded MIME user data to be made
229827                     available to the instance(s) in this reservation.
229828
229829              instance_type
229830                     (string) – The EC2 instance size/type.   Note  that  only
229831                     certain types are compatible with HVM based AMIs.
229832
229833              placement
229834                     (string)  –  The Availability Zone to launch the instance
229835                     into.
229836
229837              kernel_id
229838                     (string) – The ID of the kernel with which to launch  the
229839                     instances.
229840
229841              ramdisk_id
229842                     (string)  –  The  ID of the RAM disk with which to launch
229843                     the instances.
229844
229845              vpc_id (string) - The ID of a VPC to attach the instance to.
229846
229847              vpc_name
229848                     (string) - The name of a VPC to attach the instance to.
229849
229850              monitoring_enabled
229851                     (bool) – Enable detailed  CloudWatch  monitoring  on  the
229852                     instance.
229853
229854              subnet_id
229855                     (string)  –  The  ID of the subnet within which to launch
229856                     the instances for VPC.
229857
229858              subnet_name
229859                     (string) – The name of the subnet within which to  launch
229860                     the instances for VPC.
229861
229862              private_ip_address
229863                     (string)  –  If  you’re using VPC, you can optionally use
229864                     this parameter to assign the instance a  specific  avail‐
229865                     able IP address from the subnet (e.g., 10.0.0.25).
229866
229867              block_device_map
229868                     (boto.ec2.blockdevicemapping.BlockDeviceMapping)    –   A
229869                     BlockDeviceMapping data structure describing the EBS vol‐
229870                     umes associated with the Image.
229871
229872              disable_api_termination
229873                     (bool)  –  If True, the instances will be locked and will
229874                     not be able to be terminated via the API.
229875
229876              instance_initiated_shutdown_behavior
229877                     (string) – Specifies whether the instance stops or termi‐
229878                     nates on instance-initiated shutdown. Valid values are:
229879
229880                     · 'stop'
229881
229882                     · 'terminate'
229883
229884              placement_group
229885                     (string)  –  If specified, this is the name of the place‐
229886                     ment group in which the instance(s) will be launched.
229887
229888              client_token
229889                     (string) – Unique, case-sensitive identifier you  provide
229890                     to  ensure  idempotency  of the request. Maximum 64 ASCII
229891                     characters.
229892
229893              security_group_ids
229894                     (list of strings) – The IDs of the  VPC  security  groups
229895                     with which to associate instances.
229896
229897              security_group_names
229898                     (list  of strings) – The names of the VPC security groups
229899                     with which to associate instances.
229900
229901              additional_info
229902                     (string)  –  Specifies  additional  information  to  make
229903                     available to the instance(s).
229904
229905              tenancy
229906                     (string)  –  The  tenancy  of  the  instance  you want to
229907                     launch. An instance with a tenancy of ‘dedicated’ runs on
229908                     single-tenant  hardware  and  can only be launched into a
229909                     VPC. Valid values are:”default” or “dedicated”.  NOTE: To
229910                     use dedicated tenancy you MUST specify a VPC subnet-ID as
229911                     well.
229912
229913              instance_profile_arn
229914                     (string) – The Amazon resource  name  (ARN)  of  the  IAM
229915                     Instance Profile (IIP) to associate with the instances.
229916
229917              instance_profile_name
229918                     (string)  – The name of the IAM Instance Profile (IIP) to
229919                     associate with the instances.
229920
229921              ebs_optimized
229922                     (bool) – Whether the instance is optimized for  EBS  I/O.
229923                     This optimization provides dedicated throughput to Amazon
229924                     EBS and a tuned configuration stack  to  provide  optimal
229925                     EBS  I/O  performance.  This optimization isn’t available
229926                     with all instance types.
229927
229928              network_interfaces
229929                     (boto.ec2.networkinterface.NetworkInterfaceCollection)  –
229930                     A  NetworkInterfaceCollection  data  structure containing
229931                     the ENI specifications for the instance.
229932
229933              network_interface_name
229934                        (string) - The name of Elastic  Network  Interface  to
229935                        attach
229936
229937                     New in version 2016.11.0.
229938
229939
229940              network_interface_id
229941                        (string)  -  The  id  of  Elastic Network Interface to
229942                        attach
229943
229944                     New in version 2016.11.0.
229945
229946
229947              attributes
229948                     (dict) - Instance attributes and value to be  applied  to
229949                     the instance.  Available options are:
229950
229951                     · instanceType - A valid instance type (m1.small)
229952
229953                     · kernel - Kernel ID (None)
229954
229955                     · ramdisk - Ramdisk ID (None)
229956
229957                     · userData - Base64 encoded String (None)
229958
229959                     · disableApiTermination - Boolean (true)
229960
229961                     · instanceInitiatedShutdownBehavior - stop|terminate
229962
229963                     · blockDeviceMapping    -   List   of   strings   -   ie:
229964                       [‘/dev/sda=false’]
229965
229966                     · sourceDestCheck - Boolean (true)
229967
229968                     · groupSet - Set of Security Groups or IDs
229969
229970                     · ebsOptimized - Boolean (false)
229971
229972                     · sriovNetSupport - String - ie: ‘simple’
229973
229974              target_state
229975                     (string) - The desired  target  state  of  the  instance.
229976                     Available options are:
229977
229978                     · running
229979
229980                     · stopped
229981
229982                     Note that this option is currently UNIMPLEMENTED.
229983
229984              public_ip:
229985                     (string)  - The IP of a previously allocated EIP address,
229986                     which will be attached  to  the  instance.   EC2  Classic
229987                     instances  ONLY  -  for  VCP  pass  in  an  allocation_id
229988                     instead.
229989
229990              allocation_id:
229991                     (string) - The ID of a previously allocated EIP  address,
229992                     which  will  be  attached to the instance.  VPC instances
229993                     ONLY - for Classic pass in a public_ip instead.
229994
229995              allocate_eip:
229996                     (bool) - Allocate and attach an EIP on-the-fly  for  this
229997                     instance.  Note you'll want to releaase this address when
229998                     terminating the instance,  either  manually  or  via  the
229999                     'release_eip' flag to 'instance_absent'.
230000
230001              region (string) - Region to connect to.
230002
230003              key    (string) - Secret key to be used.
230004
230005              keyid  (string) - Access key to be used.
230006
230007              profile
230008                     (variable) - A dict with region, key and keyid, or a pil‐
230009                     lar key (string) that contains a dict  with  region,  key
230010                     and keyid.
230011
230012              New in version 2016.3.0.
230013
230014
230015       salt.states.boto_ec2.key_absent(name,       region=None,      key=None,
230016       keyid=None, profile=None)
230017              Deletes a key pair
230018
230019       salt.states.boto_ec2.key_present(name,  save_private=None,  upload_pub‐
230020       lic=None, region=None, key=None, keyid=None, profile=None)
230021              Ensure key pair is present.
230022
230023       salt.states.boto_ec2.private_ips_absent(name,            network_inter‐
230024       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
230025       region=None, key=None, keyid=None, profile=None)
230026              Ensure an ENI does not have secondary private ip addresses asso‐
230027              ciated with it
230028
230029              name   (String) - State definition name
230030
230031              network_interface_id
230032                     (String)  -  The  EC2  network  interface   id,   example
230033                     eni-123456789
230034
230035              private_ip_addresses
230036                     (List  or  String) - The secondary private ip address(es)
230037                     that should be absent on the ENI.
230038
230039              region (string) - Region to connect to.
230040
230041              key    (string) - Secret key to be used.
230042
230043              keyid  (string) - Access key to be used.
230044
230045              profile
230046                     (variable) - A dict with region, key and keyid, or a pil‐
230047                     lar  key  (string)  that contains a dict with region, key
230048                     and keyid.
230049
230050       salt.states.boto_ec2.private_ips_present(name,           network_inter‐
230051       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
230052       allow_reassignment=False,  region=None,  key=None,   keyid=None,   pro‐
230053       file=None)
230054              Ensure an ENI has secondary private ip addresses associated with
230055              it
230056
230057              name   (String) - State definition name
230058
230059              network_interface_id
230060                     (String)  -  The  EC2  network  interface   id,   example
230061                     eni-123456789
230062
230063              private_ip_addresses
230064                     (List  or  String) - The secondary private ip address(es)
230065                     that should be present on the ENI.
230066
230067              allow_reassignment
230068                     (Boolean) - If true, will reassign a secondary private ip
230069                     address associated with another ENI. If false, state will
230070                     fail if the secondary private ip  address  is  associated
230071                     with another ENI.
230072
230073              region (string) - Region to connect to.
230074
230075              key    (string) - Secret key to be used.
230076
230077              keyid  (string) - Access key to be used.
230078
230079              profile
230080                     (variable) - A dict with region, key and keyid, or a pil‐
230081                     lar key (string) that contains a dict  with  region,  key
230082                     and keyid.
230083
230084       salt.states.boto_ec2.snapshot_created(name,   ami_name,  instance_name,
230085       wait_until_available=True, wait_timeout_seconds=300, **kwargs)
230086              Create a snapshot from the given instance
230087
230088              New in version 2016.3.0.
230089
230090
230091       salt.states.boto_ec2.volume_absent(name,     volume_name=None,     vol‐
230092       ume_id=None,    instance_name=None,    instance_id=None,   device=None,
230093       region=None, key=None, keyid=None, profile=None)
230094              Ensure the EC2 volume is detached and absent.
230095
230096              New in version 2016.11.0.
230097
230098
230099              name   State definition name.
230100
230101              volume_name
230102                     Name tag associated with the volume.  For safety, if this
230103                     matches  more  than  one volume, the state will refuse to
230104                     apply.
230105
230106              volume_id
230107                     Resource ID of the volume.
230108
230109              instance_name
230110                     Only remove volume if it is  attached  to  instance  with
230111                     this  Name  tag.  Exclusive with 'instance_id'.  Requires
230112                     'device'.
230113
230114              instance_id
230115                     Only remove volume if it is attached  to  this  instance.
230116                     Exclusive with 'instance_name'.  Requires 'device'.
230117
230118              device Match   by  device  rather  than  ID.   Requires  one  of
230119                     'instance_name' or 'instance_id'.
230120
230121              region Region to connect to.
230122
230123              key    Secret key to be used.
230124
230125              keyid  Access key to be used.
230126
230127              profile
230128                     A dict with region,  key  and  keyid,  or  a  pillar  key
230129                     (string) that contains a dict with region, key and keyid.
230130
230131       salt.states.boto_ec2.volume_present(name,     volume_name=None,    vol‐
230132       ume_id=None,   instance_name=None,    instance_id=None,    device=None,
230133       size=None,      snapshot_id=None,      volume_type=None,     iops=None,
230134       encrypted=False, kms_key_id=None,  region=None,  key=None,  keyid=None,
230135       profile=None)
230136              Ensure the EC2 volume is present and attached.
230137
230138              name   State definition name.
230139
230140              volume_name
230141                     The Name tag value for the volume. If no volume with that
230142                     matching name tag is found, a new volume will be created.
230143                     If multiple volumes are matched, the state will fail.
230144
230145              volume_id
230146                     Resource ID of the volume. Exclusive with 'volume_name'.
230147
230148              instance_name
230149                     Attach  volume to instance with this Name tag.  Exclusive
230150                     with 'instance_id'.
230151
230152              instance_id
230153                     Attach volume to instance with this ID.   Exclusive  with
230154                     'instance_name'.
230155
230156              device The  device  on  the instance through which the volume is
230157                     exposed (e.g. /dev/sdh)
230158
230159              size   The size of the new volume, in GiB.  If  you're  creating
230160                     the  volume  from  a  snapshot and don't specify a volume
230161                     size, the default is the snapshot size. Optionally speci‐
230162                     fied  at volume creation time; will be ignored afterward.
230163                     Requires 'volume_name'.
230164
230165              snapshot_id
230166                     The snapshot ID from which the new Volume  will  be  cre‐
230167                     ated.  Optionally specified at volume creation time; will
230168                     be ignored afterward. Requires 'volume_name'.
230169
230170              volume_type
230171                     The type of the volume. Optionally  specified  at  volume
230172                     creation time; will be ignored afterward.  Requires 'vol‐
230173                     ume_name'.  Valid volume types for AWS can be found here:
230174                     http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
230175
230176              iops   The provisioned IOPS you want to associate with this vol‐
230177                     ume.  Optionally  specified at volume creation time; will
230178                     be ignored afterward. Requires 'volume_name'.
230179
230180              encrypted
230181                     Specifies whether the volume should be encrypted. Option‐
230182                     ally  specified  at volume creation time; will be ignored
230183                     afterward. Requires 'volume_name'.
230184
230185              kms_key_id
230186                     If encrypted is True, this KMS Key ID may be specified to
230187                     encrypt  volume  with  this key.  Optionally specified at
230188                     volume  creation  time;  will   be   ignored   afterward.
230189                     Requires               'volume_name'.               e.g.:
230190                     arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef
230191
230192              region Region to connect to.
230193
230194              key    Secret key to be used.
230195
230196              keyid  Access key to be used.
230197
230198              profile
230199                     A  dict  with  region,  key  and  keyid,  or a pillar key
230200                     (string) that contains a dict with region, key and keyid.
230201
230202       salt.states.boto_ec2.volumes_tagged(name,     tag_maps,      authorita‐
230203       tive=False, region=None, key=None, keyid=None, profile=None)
230204              Ensure EC2 volume(s) matching the given filters have the defined
230205              tags.
230206
230207              New in version 2016.11.0.
230208
230209
230210              name   State definition name.
230211
230212              tag_maps
230213                     List of dicts of filters and tags, where 'filters'  is  a
230214                     dict  suitable  for  passing to the 'filters' argument of
230215                     boto_ec2.get_all_volumes(), and 'tags' is a dict of  tags
230216                     to  be  set  on  volumes as matched by the given filters.
230217                     The filter syntax is extended to permit passing either  a
230218                     list    of   volume_ids   or   an   instance_name   (with
230219                     instance_name being the Name tag of the instance to which
230220                     the  desired  volumes  are  mapped).  Each mapping in the
230221                     list is applied separately, so multiple sets  of  volumes
230222                     can be all tagged differently with one call to this func‐
230223                     tion.
230224
230225              YAML example fragment:
230226
230227                 - filters:
230228                     attachment.instance_id: i-abcdef12
230229                   tags:
230230                     Name: dev-int-abcdef12.aws-foo.com
230231                 - filters:
230232                     attachment.device: /dev/sdf
230233                   tags:
230234                     ManagedSnapshots: true
230235                     BillingGroup: bubba.hotep@aws-foo.com
230236                 - filters:
230237                     instance_name: prd-foo-01.aws-foo.com
230238                   tags:
230239                     Name: prd-foo-01.aws-foo.com
230240                     BillingGroup: infra-team@aws-foo.com
230241                 - filters:
230242                     volume_ids: [ vol-12345689, vol-abcdef12 ]
230243                   tags:
230244                     BillingGroup: infra-team@aws-foo.com
230245
230246              authoritative
230247                     Should un-declared tags currently set on matched  volumes
230248                     be deleted?  Boolean.
230249
230250              region Region to connect to.
230251
230252              key    Secret key to be used.
230253
230254              keyid  Access key to be used.
230255
230256              profile
230257                     A  dict  with  region,  key  and  keyid,  or a pillar key
230258                     (string) that contains a dict with region, key and keyid.
230259
230260   salt.states.boto_elasticache
230261   Manage Elasticache
230262       New in version 2014.7.0.
230263
230264
230265       Create, destroy and update Elasticache clusters.  Be  aware  that  this
230266       interacts with Amazon's services, and so may incur charges.
230267
230268       Note:  This  module  currently  only  supports creation and deletion of
230269       elasticache resources and will not modify clusters when their  configu‐
230270       ration changes in your state files.
230271
230272       This module uses boto, which can be installed via package, or pip.
230273
230274       This  module accepts explicit elasticache credentials but can also uti‐
230275       lize IAM roles assigned to  the  instance  through  Instance  Profiles.
230276       Dynamic credentials are then automatically obtained from AWS API and no
230277       further configuration is necessary. More information available here.
230278
230279       If IAM roles are not used you need to specify them either in  a  pillar
230280       file or in the minion's config file:
230281
230282          elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
230283          elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230284
230285       It's  also  possible  to  specify  key, keyid and region via a profile,
230286       either passed in as a dict, or as a string to pull from pillars or min‐
230287       ion config:
230288
230289          myprofile:
230290            keyid: GKTADJGHEIQSXMKKRBJ08H
230291            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230292              region: us-east-1
230293
230294          Ensure myelasticache exists:
230295            boto_elasticache.present:
230296              - name: myelasticache
230297              - engine: redis
230298              - cache_node_type: cache.t1.micro
230299              - num_cache_nodes: 1
230300              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
230301              - region: us-east-1
230302              - keyid: GKTADJGHEIQSXMKKRBJ08H
230303              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230304
230305          # Using a profile from pillars
230306          Ensure myelasticache exists:
230307            boto_elasticache.present:
230308              - name: myelasticache
230309              - engine: redis
230310              - cache_node_type: cache.t1.micro
230311              - num_cache_nodes: 1
230312              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
230313              - region: us-east-1
230314              - profile: myprofile
230315
230316          # Passing in a profile
230317          Ensure myelasticache exists:
230318            boto_elasticache.present:
230319              - name: myelasticache
230320              - engine: redis
230321              - cache_node_type: cache.t1.micro
230322              - num_cache_nodes: 1
230323              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
230324              - region: us-east-1
230325              - profile:
230326                  keyid: GKTADJGHEIQSXMKKRBJ08H
230327                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230328
230329       salt.states.boto_elasticache.absent(name,    wait=True,    region=None,
230330       key=None, keyid=None, profile=None)
230331              Ensure the named elasticache cluster is deleted.
230332
230333              name   Name of the cache cluster.
230334
230335              wait   Boolean. Wait for confirmation from boto that the cluster
230336                     is in the deleting state.
230337
230338              region Region to connect to.
230339
230340              key    Secret key to be used.
230341
230342              keyid  Access key to be used.
230343
230344              profile
230345                     A  dict  with  region,  key  and  keyid,  or a pillar key
230346                     (string) that contains a dict with region, key and keyid.
230347
230348       salt.states.boto_elasticache.cache_cluster_absent(*args, **kwargs)
230349
230350       salt.states.boto_elasticache.cache_cluster_present(*args, **kwargs)
230351
230352       salt.states.boto_elasticache.creategroup(name,      primary_cluster_id,
230353       replication_group_description,    wait=None,   region=None,   key=None,
230354       keyid=None, profile=None)
230355              Ensure the a replication group is create.
230356
230357              name   Name of replication group
230358
230359              wait   Waits for the group to be available
230360
230361              primary_cluster_id
230362                     Name of the master cache node
230363
230364              replication_group_description
230365                     Description for the group
230366
230367              region Region to connect to.
230368
230369              key    Secret key to be used.
230370
230371              keyid  Access key to be used.
230372
230373              profile
230374                     A dict with region,  key  and  keyid,  or  a  pillar  key
230375                     (string) that contains a dict with region, key and keyid.
230376
230377       salt.states.boto_elasticache.present(name,                 engine=None,
230378       cache_node_type=None,    num_cache_nodes=None,     preferred_availabil‐
230379       ity_zone=None,  port=None, cache_parameter_group_name=None, cache_secu‐
230380       rity_group_names=None,    replication_group_id=None,    auto_minor_ver‐
230381       sion_upgrade=True,          security_group_ids=None,         cache_sub‐
230382       net_group_name=None, engine_version=None,  notification_topic_arn=None,
230383       preferred_maintenance_window=None,  wait=None,  region=None,  key=None,
230384       keyid=None, profile=None)
230385              Ensure the cache cluster exists.
230386
230387              name   Name of the cache cluster (cache cluster id).
230388
230389              engine The name of the cache engine to be used  for  this  cache
230390                     cluster. Valid values are memcached or redis.
230391
230392              cache_node_type
230393                     The compute and memory capacity of the nodes in the cache
230394                     cluster.   cache.t1.micro,  cache.m1.small,   etc.   See:
230395                     https://boto.readthedocs.io/en/latest/ref/elasticache.html#boto.elasticache.layer1.ElastiCacheConnection.create_cache_cluster
230396
230397              num_cache_nodes
230398                     The number of cache nodes that  the  cache  cluster  will
230399                     have.
230400
230401              preferred_availability_zone
230402                     The EC2 Availability Zone in which the cache cluster will
230403                     be created.  All cache nodes belonging to a cache cluster
230404                     are placed in the preferred availability zone.
230405
230406              port   The  port  number  on  which each of the cache nodes will
230407                     accept connections.
230408
230409              cache_parameter_group_name
230410                     The name of the cache parameter group to  associate  with
230411                     this  cache  cluster.  If  this  argument is omitted, the
230412                     default cache parameter group for  the  specified  engine
230413                     will be used.
230414
230415              cache_security_group_names
230416                     A  list  of  cache security group names to associate with
230417                     this cache cluster. Use this parameter only when you  are
230418                     creating a cluster outside of a VPC.
230419
230420              replication_group_id
230421                     The  replication group to which this cache cluster should
230422                     belong. If this parameter is specified, the cache cluster
230423                     will  be  added  to  the specified replication group as a
230424                     read replica; otherwise, the  cache  cluster  will  be  a
230425                     standalone  primary  that  is not part of any replication
230426                     group.
230427
230428              auto_minor_version_upgrade
230429                     Determines whether minor engine upgrades will be  applied
230430                     automatically to the cache cluster during the maintenance
230431                     window. A value of True allows these upgrades  to  occur;
230432                     False disables automatic upgrades.
230433
230434              security_group_ids
230435                     One or more VPC security groups associated with the cache
230436                     cluster. Use this parameter only when you are creating  a
230437                     cluster in a VPC.
230438
230439              cache_subnet_group_name
230440                     The  name  of  the  cache subnet group to be used for the
230441                     cache cluster.  Use this parameter only when you are cre‐
230442                     ating a cluster in a VPC.
230443
230444              engine_version
230445                     The  version  number  of  the cache engine to be used for
230446                     this cluster.
230447
230448              notification_topic_arn
230449                     The Amazon Resource Name (ARN) of the Amazon Simple Noti‐
230450                     fication  Service (SNS) topic to which notifications will
230451                     be sent. The Amazon SNS topic owner must be the  same  as
230452                     the cache cluster owner.
230453
230454              preferred_maintenance_window
230455                     The  weekly time range (in UTC) during which system main‐
230456                     tenance can occur. Example: sun:05:00-sun:09:00
230457
230458              wait   Boolean. Wait for confirmation from boto that the cluster
230459                     is in the available state.
230460
230461              region Region to connect to.
230462
230463              key    Secret key to be used.
230464
230465              keyid  Access key to be used.
230466
230467              profile
230468                     A  dict  with  region,  key  and  keyid,  or a pillar key
230469                     (string) that contains a dict with region, key and keyid.
230470
230471       salt.states.boto_elasticache.replication_group_absent(name,  tags=None,
230472       region=None, key=None, keyid=None, profile=None)
230473
230474       salt.states.boto_elasticache.replication_group_present(*args, **kwargs)
230475
230476       salt.states.boto_elasticache.subnet_group_absent(name,       tags=None,
230477       region=None, key=None, keyid=None, profile=None)
230478
230479       salt.states.boto_elasticache.subnet_group_present(name,            sub‐
230480       net_ids=None,     subnet_names=None,    description=None,    tags=None,
230481       region=None, key=None, keyid=None, profile=None)
230482              Ensure ElastiCache subnet group exists.
230483
230484              New in version 2015.8.0.
230485
230486
230487              name   The name for the ElastiCache subnet group. This value  is
230488                     stored as a lowercase string.
230489
230490              subnet_ids
230491                     A  list  of  VPC  subnet  IDs for the cache subnet group.
230492                     Exclusive with subnet_names.
230493
230494              subnet_names
230495                     A list of VPC subnet names for the  cache  subnet  group.
230496                     Exclusive with subnet_ids.
230497
230498              description
230499                     Subnet group description.
230500
230501              tags   A list of tags.
230502
230503              region Region to connect to.
230504
230505              key    Secret key to be used.
230506
230507              keyid  Access key to be used.
230508
230509              profile
230510                     A  dict  with  region,  key  and  keyid,  or a pillar key
230511                     (string) that contains a dict with region, key and keyid.
230512
230513   salt.states.boto_elasticsearch_domain module
230514   Manage Elasticsearch Domains
230515       New in version 2016.11.0.
230516
230517
230518       Create and destroy Elasticsearch domains. Be aware that this  interacts
230519       with Amazon's services, and so may incur charges.
230520
230521       This module uses boto3, which can be installed via package, or pip.
230522
230523       This  module  accepts explicit vpc credentials but can also utilize IAM
230524       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
230525       dentials  are  then  automatically obtained from AWS API and no further
230526       configuration is necessary. More information available here.
230527
230528       If IAM roles are not used you need to specify them either in  a  pillar
230529       file or in the minion's config file:
230530
230531          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
230532          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230533
230534       It's  also  possible  to  specify  key, keyid and region via a profile,
230535       either passed in as a dict, or as a string to pull from pillars or min‐
230536       ion config:
230537
230538          myprofile:
230539            keyid: GKTADJGHEIQSXMKKRBJ08H
230540            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230541            region: us-east-1
230542
230543          Ensure domain exists:
230544              boto_elasticsearch_domain.present:
230545                  - DomainName: mydomain
230546                  - profile='user-credentials'
230547                  - ElasticsearchVersion: "2.3"
230548                  - ElasticsearchClusterConfig:
230549                      InstanceType": "t2.micro.elasticsearch"
230550                      InstanceCount: 1
230551                      DedicatedMasterEnabled: False
230552                      ZoneAwarenessEnabled: False
230553                  - EBSOptions:
230554                      EBSEnabled: True
230555                      VolumeType: "gp2"
230556                      VolumeSize: 10
230557                      Iops: 0
230558                  - AccessPolicies:
230559                      Version: "2012-10-17"
230560                      Statement:
230561                        - Effect: "Allow"
230562                        - Principal:
230563                            AWS: "*"
230564                        - Action:
230565                          - "es:*"
230566                        - Resource: "arn:aws:es:*:111111111111:domain/mydomain/*"
230567                        - Condition:
230568                            IpAddress:
230569                              "aws:SourceIp":
230570                                - "127.0.0.1"
230571                                - "127.0.0.2"
230572                  - SnapshotOptions:
230573                      AutomatedSnapshotStartHour: 0
230574                  - AdvancedOptions:
230575                      rest.action.multi.allow_explicit_index": "true"
230576                  - Tags:
230577                      a: "b"
230578                  - region: us-east-1
230579                  - keyid: GKTADJGHEIQSXMKKRBJ08H
230580                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230581
230582       salt.states.boto_elasticsearch_domain.absent(name,          DomainName,
230583       region=None, key=None, keyid=None, profile=None)
230584              Ensure domain with passed properties is absent.
230585
230586              name   The name of the state definition.
230587
230588              DomainName
230589                     Name of the domain.
230590
230591              region Region to connect to.
230592
230593              key    Secret key to be used.
230594
230595              keyid  Access key to be used.
230596
230597              profile
230598                     A dict with region,  key  and  keyid,  or  a  pillar  key
230599                     (string) that contains a dict with region, key and keyid.
230600
230601       salt.states.boto_elasticsearch_domain.present(name,  DomainName,  Elas‐
230602       ticsearchClusterConfig=None,   EBSOptions=None,    AccessPolicies=None,
230603       SnapshotOptions=None,   AdvancedOptions=None,  Tags=None,  region=None,
230604       key=None, keyid=None, profile=None, ElasticsearchVersion=u'1.5')
230605              Ensure domain exists.
230606
230607              name   The name of the state definition
230608
230609              DomainName
230610                     Name of the domain.
230611
230612              ElasticsearchClusterConfig
230613                     Configuration options for an Elasticsearch domain. Speci‐
230614                     fies  the  instance  type  and number of instances in the
230615                     domain cluster.
230616
230617                     InstanceType (string) -- The instance type for  an  Elas‐
230618                     ticsearch cluster.
230619
230620                     InstanceCount (integer) -- The number of instances in the
230621                     specified domain cluster.
230622
230623                     DedicatedMasterEnabled (boolean) -- A  boolean  value  to
230624                     indicate whether a dedicated master node is enabled.  See
230625                     About Dedicated Master Nodes for more information.
230626
230627                     ZoneAwarenessEnabled (boolean)  --  A  boolean  value  to
230628                     indicate  whether  zone  awareness  is enabled. See About
230629                     Zone Awareness for more information.
230630
230631                     DedicatedMasterType (string) -- The instance type  for  a
230632                     dedicated master node.
230633
230634                     DedicatedMasterCount  (integer)  -- Total number of dedi‐
230635                     cated master nodes, active and on standby, for the  clus‐
230636                     ter.
230637
230638              EBSOptions
230639                     Options  to enable, disable and specify the type and size
230640                     of EBS storage volumes.
230641
230642                     EBSEnabled (boolean) -- Specifies whether EBS-based stor‐
230643                     age is enabled.
230644
230645                     VolumeType  (string)  --  Specifies  the  volume type for
230646                     EBS-based storage.
230647
230648                     VolumeSize (integer) -- Integer to specify the size of an
230649                     EBS volume.
230650
230651                     Iops  (integer)  --  Specifies the IOPD for a Provisioned
230652                     IOPS EBS volume (SSD).
230653
230654              AccessPolicies
230655                     IAM access policy
230656
230657              SnapshotOptions
230658                     Option to set time, in UTC format, of the daily automated
230659                     snapshot.  Default value is 0 hours.
230660
230661                     AutomatedSnapshotStartHour  (integer)  --  Specifies  the
230662                     time, in UTC format, when the service takes a daily auto‐
230663                     mated  snapshot  of  the  specified Elasticsearch domain.
230664                     Default value is 0 hours.
230665
230666              AdvancedOptions
230667                     Option to allow references to indices in an HTTP  request
230668                     body. Must be false when configuring access to individual
230669                     sub-resources. By default, the value is true .
230670
230671              region Region to connect to.
230672
230673              key    Secret key to be used.
230674
230675              keyid  Access key to be used.
230676
230677              profile
230678                     A dict with region,  key  and  keyid,  or  a  pillar  key
230679                     (string) that contains a dict with region, key and keyid.
230680
230681              ElasticsearchVersion
230682                     String  of format X.Y to specify version for the Elastic‐
230683                     search domain eg.  "1.5" or "2.3".
230684
230685   salt.states.boto_elb
230686       Manage ELBs
230687
230688       New in version 2014.7.0.
230689
230690
230691       Create and destroy ELBs. Be aware that  this  interacts  with  Amazon's
230692       services, and so may incur charges.
230693
230694       This module uses boto, which can be installed via package, or pip.
230695
230696       This  module  accepts explicit elb credentials but can also utilize IAM
230697       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
230698       dentials  are  then  automatically obtained from AWS API and no further
230699       configuration is necessary. More information available here.
230700
230701       If IAM roles are not used you need to specify them either in  a  pillar
230702       file or in the minion's config file:
230703
230704          elb.keyid: GKTADJGHEIQSXMKKRBJ08H
230705          elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230706
230707       It's  also  possible  to  specify  key, keyid and region via a profile,
230708       either passed in as a dict, or as a string to pull from pillars or min‐
230709       ion config:
230710
230711          myprofile:
230712              keyid: GKTADJGHEIQSXMKKRBJ08H
230713              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230714              region: us-east-1
230715
230716          Ensure myelb ELB exists:
230717              boto_elb.present:
230718                  - name: myelb
230719                  - region: us-east-1
230720                  - availability_zones:
230721                      - us-east-1a
230722                      - us-east-1c
230723                      - us-east-1d
230724                  - keyid: GKTADJGHEIQSXMKKRBJ08H
230725                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230726                  - listeners:
230727                      - elb_port: 443
230728                        instance_port: 80
230729                        elb_protocol: HTTPS
230730                        instance_protocol: HTTP
230731                        certificate: 'arn:aws:iam::1111111:server-certificate/mycert'
230732                        policies:
230733                            - my-ssl-policy
230734                            - cookie-policy
230735                      - elb_port: 8210
230736                        instance_port: 8210
230737                        elb_protocol: TCP
230738                  - backends:
230739                      - instance_port: 80
230740                        policies:
230741                            - enable-proxy-protocol
230742                  - health_check:
230743                      target: 'HTTP:80/'
230744                  - attributes:
230745                      cross_zone_load_balancing:
230746                        enabled: true
230747                      access_log:
230748                        enabled: true
230749                        s3_bucket_name: 'mybucket'
230750                        s3_bucket_prefix: 'my-logs'
230751                        emit_interval: 5
230752                      connecting_settings:
230753                        idle_timeout: 60
230754                  - cnames:
230755                      - name: mycname.example.com.
230756                        zone: example.com.
230757                        ttl: 60
230758                      - name: myothercname.example.com.
230759                        zone: example.com.
230760                  - security_groups:
230761                      - my-security-group
230762                  - policies:
230763                      - policy_name: my-ssl-policy
230764                        policy_type: SSLNegotiationPolicyType
230765                        policy:
230766                          Protocol-TLSv1.2: true
230767                          Protocol-SSLv3: false
230768                          Server-Defined-Cipher-Order: true
230769                          ECDHE-ECDSA-AES128-GCM-SHA256: true
230770                      - policy_name: cookie-policy
230771                        policy_type: LBCookieStickinessPolicyType
230772                        policy: {}  # no policy means this is a session cookie
230773                      - policy_name: enable-proxy-protocol
230774                        policy_type: ProxyProtocolPolicyType
230775                        policy:
230776                          ProxyProtocol: true
230777
230778          # Using a profile from pillars
230779          Ensure myelb ELB exists:
230780              boto_elb.present:
230781                  - name: myelb
230782                  - region: us-east-1
230783                  - profile: myelbprofile
230784
230785          # Passing in a profile
230786          Ensure myelb ELB exists:
230787              boto_elb.present:
230788                  - name: myelb
230789                  - region: us-east-1
230790                  - profile:
230791                      keyid: GKTADJGHEIQSXMKKRBJ08H
230792                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
230793
230794       It's  possible  to specify attributes from pillars by specifying a pil‐
230795       lar. You can override the values defined in the pillard by setting  the
230796       attributes  on the resource. The module will use the default pillar key
230797       'boto_elb_attributes', which allows you to set default  attributes  for
230798       all ELB resources.
230799
230800       Setting the attributes pillar:
230801
230802          my_elb_attributes:
230803            cross_zone_load_balancing:
230804              enabled: true
230805            connection_draining:
230806              enabled: true
230807              timeout: 20
230808            access_log:
230809              enabled: true
230810              s3_bucket_name: 'mybucket'
230811              s3_bucket_prefix: 'my-logs'
230812              emit_interval: 5
230813
230814       Overriding the attribute values on the resource:
230815
230816          Ensure myelb ELB exists:
230817              boto_elb.present:
230818                  - name: myelb
230819                  - region: us-east-1
230820                  - attributes_from_pillar: my_elb_attributes
230821                  # override cross_zone_load_balancing:enabled
230822                  - attributes:
230823                      cross_zone_load_balancing:
230824                        enabled: false
230825                  - profile: myelbprofile
230826
230827       It's  possible  to  specify  cloudwatch alarms that will be setup along
230828       with the ELB. Note the alarm name will be defined by the name attribute
230829       provided, plus the ELB resource name.
230830
230831          Ensure myelb ELB exists:
230832              boto_elb.present:
230833                  - name: myelb
230834                  - region: us-east-1
230835                  - profile: myelbprofile
230836                  - alarms:
230837                      UnHealthyHostCount:
230838                        name: 'ELB UnHealthyHostCount **MANAGED BY SALT**'
230839                        attributes:
230840                          metric: UnHealthyHostCount
230841                          namespace: AWS/ELB
230842                          statistic: Average
230843                          comparison: '>='
230844                          threshold: 1.0
230845                          period: 600
230846                          evaluation_periods: 6
230847                          unit: null
230848                          description: ELB UnHealthyHostCount
230849                          alarm_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
230850                          insufficient_data_actions: []
230851                          ok_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
230852
230853       You can also use alarms from pillars, and override values from the pil‐
230854       lar  alarms  by  setting  overrides  on   the   resource.   Note   that
230855       'boto_elb_alarms' will be used as a default value for all resources, if
230856       defined and can be used to ensure alarms are always set for a resource.
230857
230858       Setting the alarms in a pillar:
230859
230860          my_elb_alarm:
230861            UnHealthyHostCount:
230862              name: 'ELB UnHealthyHostCount **MANAGED BY SALT**'
230863              attributes:
230864                metric: UnHealthyHostCount
230865                namespace: AWS/ELB
230866                statistic: Average
230867                comparison: '>='
230868                threshold: 1.0
230869                period: 600
230870                evaluation_periods: 6
230871                unit: null
230872                description: ELB UnHealthyHostCount
230873                alarm_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
230874                insufficient_data_actions: []
230875                ok_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
230876
230877       Overriding the alarm values on the resource:
230878
230879          Ensure myelb ELB exists:
230880              boto_elb.present:
230881                  - name: myelb
230882                  - region: us-east-1
230883                  - profile: myelbprofile
230884                  - alarms_from_pillar: my_elb_alarm
230885                  # override UnHealthyHostCount:attributes:threshold
230886                  - alarms:
230887                      UnHealthyHostCount:
230888                        attributes:
230889                          threshold: 2.0
230890
230891       Tags can also be set:
230892
230893       New in version 2016.3.0.
230894
230895
230896          Ensure myelb ELB exists:
230897              boto_elb.present:
230898                  - name: myelb
230899                  - region: us-east-1
230900                  - profile: myelbprofile
230901                  - tags:
230902                      MyTag: 'My Tag Value'
230903                      OtherTag: 'My Other Value'
230904
230905       salt.states.boto_elb.absent(name,  region=None,  key=None,  keyid=None,
230906       profile=None)
230907              Ensure an ELB does not exist
230908
230909              name   name of the ELB
230910
230911       salt.states.boto_elb.present(name,  listeners, availability_zones=None,
230912       subnets=None, subnet_names=None, security_groups=None,  scheme=u'inter‐
230913       net-facing',  health_check=None,  attributes=None, attributes_from_pil‐
230914       lar=u'boto_elb_attributes', cnames=None, alarms=None,  alarms_from_pil‐
230915       lar=u'boto_elb_alarms',        policies=None,        policies_from_pil‐
230916       lar=u'boto_elb_policies',   backends=None,    region=None,    key=None,
230917       keyid=None,      profile=None,      wait_for_sync=True,      tags=None,
230918       instance_ids=None, instance_names=None)
230919              Ensure the ELB exists.
230920
230921              name   Name of the ELB.
230922
230923              availability_zones
230924                     A list of availability zones for this ELB.
230925
230926              listeners
230927                     A list of listener lists; example:
230928
230929                        [
230930                            ['443', 'HTTPS', 'arn:aws:iam::1111111:server-certificate/mycert'],
230931                            ['8443', '80', 'HTTPS', 'HTTP', 'arn:aws:iam::1111111:server-certificate/mycert']
230932                        ]
230933
230934              subnets
230935                     A list of subnet IDs in your VPC to attach to your  Load‐
230936                     Balancer.
230937
230938              subnet_names
230939                     A  list  of  subnet  names  in your VPC to attach to your
230940                     LoadBalancer.
230941
230942              security_groups
230943                     The security groups assigned to your LoadBalancer  within
230944                     your VPC. Must be passed either as a list or a comma-sep‐
230945                     arated string.
230946
230947                     For example, a list:
230948
230949                        - security_groups:
230950                          - secgroup-one
230951                          - secgroup-two
230952
230953                     Or as a comma-separated string:
230954
230955                        - security_groups: secgroup-one,secgroup-two
230956
230957              scheme The type of a LoadBalancer, internet-facing or  internal.
230958                     Once set, can not be modified.
230959
230960              health_check
230961                     A dict defining the health check for this ELB.
230962
230963              attributes
230964                     A  dict  defining  the  attributes  to  set  on this ELB.
230965                     Unknown keys will be silently ignored.
230966
230967                     See the salt.modules.boto_elb.set_attributes function for
230968                     recognized attributes.
230969
230970              attributes_from_pillar
230971                     name   of   pillar   dict   that   contains   attributes.
230972                     Attributes defined for this specific state will  override
230973                     those from pillar.
230974
230975              cnames A  list of cname dicts with attributes needed for the DNS
230976                     add_record state.  By default the boto_route53.add_record
230977                     state  will be used, which requires: name, zone, ttl, and
230978                     identifier.  See the boto_route53 state  for  information
230979                     about  these attributes.  Other DNS modules can be called
230980                     by specifying the provider keyword.  the cnames dict will
230981                     be passed to the state as kwargs.
230982
230983                     See  the  salt.states.boto_route53  state for information
230984                     about these attributes.
230985
230986              alarms:
230987                     a dictionary of name->boto_cloudwatch_alarm  sections  to
230988                     be  associated  with  this ELB.  All attributes should be
230989                     specified except for dimension which  will  be  automati‐
230990                     cally set to this ELB.
230991
230992                     See   the   salt.states.boto_cloudwatch_alarm  state  for
230993                     information about these attributes.
230994
230995              alarms_from_pillar:
230996                     name  of  pillar  dict  that  contains  alarm   settings.
230997                     Alarms  defined  for  this  specific  state will override
230998                     those from pillar.
230999
231000              region Region to connect to.
231001
231002              key    Secret key to be used.
231003
231004              keyid  Access key to be used.
231005
231006              profile
231007                     A dict with region,  key  and  keyid,  or  a  pillar  key
231008                     (string) that contains a dict with region, key and keyid.
231009
231010              wait_for_sync
231011                     Wait for an INSYNC change status from Route53.
231012
231013              tags   dict of tags
231014
231015              instance_ids
231016                     list  of instance ids.  The state will ensure that these,
231017                     and ONLY these, instances are registered  with  the  ELB.
231018                     This is additive with instance_names.
231019
231020              instance_names
231021                     list  of  instance  names.   The  state  will ensure that
231022                     these, and ONLY these, instances are registered with  the
231023                     ELB.  This is additive with instance_ids.
231024
231025       salt.states.boto_elb.register_instances(name,  instances,  region=None,
231026       key=None, keyid=None, profile=None)
231027              Add EC2 instance(s) to an Elastic  Load  Balancer.  Removing  an
231028              instance  from  the  instances  list does not remove it from the
231029              ELB.
231030
231031              name   The  name  of  the  Elastic  Load  Balancer  to  add  EC2
231032                     instances to.
231033
231034              instances
231035                     A  list  of  EC2 instance IDs that this Elastic Load Bal‐
231036                     ancer should distribute traffic to. This state will  only
231037                     ever  append  new  instances  to  the  ELB. EC2 instances
231038                     already associated with this ELB will not be  removed  if
231039                     they are not in the instances list.
231040
231041              New in version 2015.8.0.
231042
231043
231044                 add-instances:
231045                   boto_elb.register_instances:
231046                     - name: myloadbalancer
231047                     - instances:
231048                       - instance-id1
231049                       - instance-id2
231050
231051   salt.states.boto_elbv2 module
231052       Manage AWS Application Load Balancer
231053
231054       New in version 2017.7.0.
231055
231056
231057       Add and remove targets from an ALB target group.
231058
231059       This module uses boto3, which can be installed via package, or pip.
231060
231061       This  module  accepts explicit alb credentials but can also utilize IAM
231062       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
231063       dentials  are  then  automatically obtained from AWS API and no further
231064       configuration is necessary. More information available here.
231065
231066       If IAM roles are not used you need to specify them either in  a  pillar
231067       file or in the minion's config file:
231068
231069          elbv2.keyid: GKTADJGHEIQSXMKKRBJ08H
231070          elbv2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231071          elbv2.region: us-west-2
231072
231073       It's  also  possible  to  specify  key, keyid and region via a profile,
231074       either passed in as a dict, or as a string to pull from pillars or min‐
231075       ion config:
231076
231077          myprofile:
231078              keyid: GKTADJGHEIQSXMKKRBJ08H
231079              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231080              region: us-east-1
231081
231082       salt.states.boto_elbv2.create_target_group(name,     protocol,    port,
231083       vpc_id,    region=None,     key=None,     keyid=None,     profile=None,
231084       health_check_protocol=u'HTTP',       health_check_port=u'traffic-port',
231085       health_check_path=u'/',               health_check_interval_seconds=30,
231086       health_check_timeout_seconds=5,              healthy_threshold_count=5,
231087       unhealthy_threshold_count=2, **kwargs)
231088              New in version 2017.11.0.
231089
231090
231091              Create target group if not present.
231092
231093              name   (string) - The name of the target group.
231094
231095              protocol
231096                     (string) - The protocol to use for routing traffic to the
231097                     targets
231098
231099              port   (int)  -  The  port on which the targets receive traffic.
231100                     This port is used unless you specify a port override when
231101                     registering the traffic.
231102
231103              vpc_id (string)  -  The  identifier of the virtual private cloud
231104                     (VPC).
231105
231106              health_check_protocol
231107                     (string) - The protocol the load balancer uses when  per‐
231108                     forming  health check on targets. The default is the HTTP
231109                     protocol.
231110
231111              health_check_port
231112                     (string) - The port the load balancer uses when  perform‐
231113                     ing  health  checks  on  targets.  The  default is 'traf‐
231114                     fic-port', which indicates the port on which each  target
231115                     receives traffic from the load balancer.
231116
231117              health_check_path
231118                     (string)  -  The ping path that is the destination on the
231119                     targets for health checks. The default is /.
231120
231121              health_check_interval_seconds
231122                     (integer) - The approximate amount of time,  in  seconds,
231123                     between  health  checks  of  an  individual  target.  The
231124                     default is 30 seconds.
231125
231126              health_check_timeout_seconds
231127                     (integer) - The amount of time, in seconds, during  which
231128                     no  response  from  a target means a failed health check.
231129                     The default is 5 seconds.
231130
231131              healthy_threshold_count
231132                     (integer) - The number of consecutive health checks  suc‐
231133                     cesses  required  before  considering an unhealthy target
231134                     healthy. The default is 5.
231135
231136              unhealthy_threshold_count
231137                     (integer) - The number of consecutive health check  fail‐
231138                     ures  required before considering a target unhealthy. The
231139                     default is 2.
231140
231141              returns
231142                     (bool) - True on success, False on failure.
231143
231144              CLI example:
231145
231146                 create-target:
231147
231148                        boto_elb2.create_targets_group:
231149
231150                               · name: myALB
231151
231152                               · protocol: https
231153
231154                               · port: 443
231155
231156                               · vpc_id: myVPC
231157
231158       salt.states.boto_elbv2.delete_target_group(name, region=None, key=None,
231159       keyid=None, profile=None)
231160              Delete target group.
231161
231162              name   (string)   -  The  Amazon  Resource  Name  (ARN)  of  the
231163                     resource.
231164
231165              returns
231166                     (bool) - True on success, False on failure.
231167
231168              CLI example:
231169
231170                 check-target:
231171                   boto_elb2.delete_targets_group:
231172                     - name: myALB
231173                     - protocol: https
231174                     - port: 443
231175                     - vpc_id: myVPC
231176
231177       salt.states.boto_elbv2.targets_deregistered(name, targets, region=None,
231178       key=None, keyid=None, profile=None, **kwargs)
231179              Remove targets to an Application Load Balancer target group.
231180
231181              name   The  ARN of the Application Load Balancer Target Group to
231182                     remove targets from.
231183
231184              targets
231185                     A list of target IDs or a string of a single target  reg‐
231186                     istered to the target group to be removed
231187
231188              New in version Unknown.
231189
231190
231191                 remove-targets:
231192                   boto_elb.targets_deregistered:
231193                     - name: arn:myloadbalancer
231194                     - targets:
231195                       - instance-id1
231196                       - instance-id2
231197
231198       salt.states.boto_elbv2.targets_registered(name,  targets,  region=None,
231199       key=None, keyid=None, profile=None, **kwargs)
231200              New in version 2017.7.0.
231201
231202
231203              Add targets to an Application Load Balancer target  group.  This
231204              state will not remove targets.
231205
231206              name   The  ARN of the Application Load Balancer Target Group to
231207                     add targets to.
231208
231209              targets
231210                     A list of target IDs or a string of a single target  that
231211                     this target group should distribute traffic to.
231212
231213                 add-targets:
231214                   boto_elb.targets_registered:
231215                     - name: arn:myloadbalancer
231216                     - targets:
231217                       - instance-id1
231218                       - instance-id2
231219
231220   salt.states.boto_iam
231221   Manage IAM objects
231222       New in version 2015.8.0.
231223
231224
231225       This module uses boto, which can be installed via package, or pip.
231226
231227       This  module  accepts explicit IAM credentials but can also utilize IAM
231228       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
231229       dentials  are  then  automatically obtained from AWS API and no further
231230       configuration is necessary. More information available here.
231231
231232       It's also possible to specify key, keyid  and  region  via  a  profile,
231233       either passed in as a dict, or as a string to pull from pillars or min‐
231234       ion config:
231235
231236          delete-user:
231237            boto_iam.user_absent:
231238              - name: myuser
231239              - delete_keys: true
231240
231241          delete-keys:
231242            boto_iam.keys_absent:
231243              - access_keys:
231244                - 'AKIAJHTMIQ2ASDFLASDF'
231245                - 'PQIAJHTMIQ2ASRTLASFR'
231246              - user_name: myuser
231247
231248          create-user:
231249            boto_iam.user_present:
231250              - name: myuser
231251              - policies:
231252                  mypolicy: |
231253                      {
231254                          "Version": "2012-10-17",
231255                          "Statement": [{
231256                          "Effect": "Allow",
231257                          "Action": "*",
231258                          "Resource": "*"}]
231259                      }
231260              - password: NewPassword$$1
231261              - region: eu-west-1
231262              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
231263              - key: 'fdkjsafkljsASSADFalkfjasdf'
231264
231265          create-group:
231266            boto_iam.group_present:
231267              - name: mygroup
231268              - users:
231269                - myuser
231270                - myuser1
231271              - policies:
231272                  mypolicy: |
231273                      {
231274                          "Version": "2012-10-17",
231275                          "Statement": [{
231276                          "Effect": "Allow",
231277                          "Action": "*",
231278                          "Resource": "*"}]
231279                      }
231280              - region: eu-west-1
231281              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
231282              - key: 'safsdfsal;fdkjsafkljsASSADFalkfj'
231283
231284          change-policy:
231285            boto_iam.account_policy:
231286              - change_password: True
231287              - region: eu-west-1
231288              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
231289              - key: 'safsdfsal;fdkjsafkljsASSADFalkfj'
231290
231291          create server certificate:
231292            boto_iam.server_cert_present:
231293              - name: mycert
231294              - public_key: salt://base/mycert.crt
231295              - private_key: salt://base/mycert.key
231296              - cert_chain: salt://base/mycert_chain.crt
231297              - region: eu-west-1
231298              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
231299              - key: 'fdkjsafkljsASSADFalkfjasdf'
231300
231301          delete server certificate:
231302            boto_iam.server_cert_absent:
231303              - name: mycert
231304
231305          create keys for user:
231306            boto_iam.keys_present:
231307              - name: myusername
231308              - number: 2
231309              - save_dir: /root
231310              - region: eu-west-1
231311              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
231312              - key: 'fdkjsafkljsASSADFalkfjasdf'
231313
231314          create policy:
231315            boto_iam.policy_present:
231316              - name: myname
231317              - policy_document: '{"MyPolicy": "Statement": [{"Action": ["sqs:*"], "Effect": "Allow", "Resource": ["arn:aws:sqs:*:*:*"], "Sid": "MyPolicySqs1"}]}'
231318              - region: eu-west-1
231319              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
231320              - key: 'fdkjsafkljsASSADFalkfjasdf'
231321
231322          add-saml-provider:
231323            boto_iam.saml_provider_present:
231324              - name: my_saml_provider
231325              - saml_metadata_document: salt://base/files/provider.xml
231326              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
231327              - key: 'safsdfsal;fdkjsafkljsASSADFalkfj'
231328
231329       salt.states.boto_iam.account_policy(name=None,
231330       allow_users_to_change_password=None,     hard_expiry=None,    max_pass‐
231331       word_age=None,   minimum_password_length=None,   password_reuse_preven‐
231332       tion=None,   require_lowercase_characters=None,   require_numbers=None,
231333       require_symbols=None,  require_uppercase_characters=None,  region=None,
231334       key=None, keyid=None, profile=None)
231335              Change account policy.
231336
231337              New in version 2015.8.0.
231338
231339
231340              name (string)
231341                     The name of the account policy
231342
231343              allow_users_to_change_password (bool)
231344                     Allows  all IAM users in your account to use the AWS Man‐
231345                     agement Console to change their own passwords.
231346
231347              hard_expiry (bool)
231348                     Prevents IAM users from  setting  a  new  password  after
231349                     their password has expired.
231350
231351              max_password_age (int)
231352                     The number of days that an IAM user password is valid.
231353
231354              minimum_password_length (int)
231355                     The  minimum  number of characters allowed in an IAM user
231356                     password.
231357
231358              password_reuse_prevention (int)
231359                     Specifies the number of previous passwords that IAM users
231360                     are prevented from reusing.
231361
231362              require_lowercase_characters (bool)
231363                     Specifies  whether  IAM  user  passwords  must contain at
231364                     least one lowercase character from the  ISO  basic  Latin
231365                     alphabet (a to z).
231366
231367              require_numbers (bool)
231368                     Specifies  whether  IAM  user  passwords  must contain at
231369                     least one numeric character (0 to 9).
231370
231371              require_symbols (bool)
231372                     Specifies whether IAM  user  passwords  must  contain  at
231373                     least one of the following non-alphanumeric characters: !
231374                     @ # $ % ^ & * ( ) _ + - = [ ] { } | '
231375
231376              require_uppercase_characters (bool)
231377                     Specifies whether IAM  user  passwords  must  contain  at
231378                     least  one  uppercase  character from the ISO basic Latin
231379                     alphabet (A to Z).
231380
231381              region (string)
231382                     Region to connect to.
231383
231384              key (string)
231385                     Secret key to be used.
231386
231387              keyid (string)
231388                     Access key to be used.
231389
231390              profile (dict)
231391                     A dict with region,  key  and  keyid,  or  a  pillar  key
231392                     (string)
231393
231394       salt.states.boto_iam.group_absent(name,      region=None,     key=None,
231395       keyid=None, profile=None)
231396              New in version 2015.8.0.
231397
231398
231399              Ensure the IAM group is absent.
231400
231401              name (string)
231402                     The name of the group.
231403
231404              region (string)
231405                     Region to connect to.
231406
231407              key (string)
231408                     Secret key to be used.
231409
231410              keyid (string)
231411                     Access key to be used.
231412
231413              profile (dict)
231414                     A dict with region,  key  and  keyid,  or  a  pillar  key
231415                     (string) that contains a dict with region, key and keyid.
231416
231417       salt.states.boto_iam.group_present(name,      policies=None,      poli‐
231418       cies_from_pillars=None, managed_policies=None,  users=None,  path=u'/',
231419       region=None, key=None, keyid=None, profile=None, delete_policies=True)
231420              New in version 2015.8.0.
231421
231422
231423              Ensure the IAM group is present
231424
231425              name (string)
231426                     The name of the new group.
231427
231428              path (string)
231429                     The path for the group, defaults to '/'
231430
231431              policies (dict)
231432                     A dict of IAM group policy documents.
231433
231434              policies_from_pillars (list)
231435                     A  list  of pillars that contain role policy dicts. Poli‐
231436                     cies in the pillars will be merged in the  order  defined
231437                     in  the  list  and key conflicts will be handled by later
231438                     defined keys overriding earlier defined keys.  The  poli‐
231439                     cies  defined  here  will  be  merged  with  the policies
231440                     defined in the policies argument. If keys  conflict,  the
231441                     keys  in  the  policies  argument  will override the keys
231442                     defined in policies_from_pillars.
231443
231444              managed_policies (list)
231445                     A list of policy names or ARNs that should be attached to
231446                     this group.
231447
231448              users (list)
231449                     A list of users to be added to the group.
231450
231451              region (string)
231452                     Region to connect to.
231453
231454              key (string)
231455                     Secret key to be used.
231456
231457              keyid (string)
231458                     Access key to be used.
231459
231460              profile (dict)
231461                     A  dict  with  region,  key  and  keyid,  or a pillar key
231462                     (string) that contains a dict with region, key and keyid.
231463
231464              delete_policies (boolean)
231465                     Delete or detach existing policies that are  not  in  the
231466                     given  list of policies.  Default value is True. If False
231467                     is specified, existing policies will not  be  deleted  or
231468                     detached  allowing  manual modifications on the IAM group
231469                     to be persistent.
231470
231471       salt.states.boto_iam.keys_absent(access_keys,  user_name,  region=None,
231472       key=None, keyid=None, profile=None)
231473              New in version 2015.8.0.
231474
231475
231476              Ensure the IAM user access_key_id is absent.
231477
231478              access_key_id (list)
231479                     A list of access key ids
231480
231481              user_name (string)
231482                     The username of the user
231483
231484              region (string)
231485                     Region to connect to.
231486
231487              key (string)
231488                     Secret key to be used.
231489
231490              keyid (string)
231491                     Access key to be used.
231492
231493              profile (dict)
231494                     A  dict  with  region,  key  and  keyid,  or a pillar key
231495                     (string) that contains a dict with region, key and keyid.
231496
231497       salt.states.boto_iam.keys_present(name, number, save_dir,  region=None,
231498       key=None,          keyid=None,          profile=None,         save_for‐
231499       mat=u'{2}\n{0}\n{3}\n{1}\n')
231500              New in version 2015.8.0.
231501
231502
231503              Ensure the IAM access keys are present.
231504
231505              name (string)
231506                     The name of the new user.
231507
231508              number (int)
231509                     Number of keys that user should have.
231510
231511              save_dir (string)
231512                     The directory that the key/keys will be saved.  Keys  are
231513                     saved to a file named according to the username privided.
231514
231515              region (string)
231516                     Region to connect to.
231517
231518              key (string)
231519                     Secret key to be used.
231520
231521              keyid (string)
231522                     Access key to be used.
231523
231524              profile (dict)
231525                     A  dict  with  region,  key  and  keyid,  or a pillar key
231526                     (string) that contains a dict with region, key and keyid.
231527
231528              save_format (dict)
231529                     Save format is repeated for each key. Default  format  is
231530                     "{2}n{0}n{3}n{1}n",  where  {0}  and {1} are placeholders
231531                     for new key_id and key respectively, whereas {2} and  {3}
231532                     are "key_id-{number}" and 'key-{number}' strings kept for
231533                     compatibility.
231534
231535       salt.states.boto_iam.policy_absent(name,     region=None,     key=None,
231536       keyid=None, profile=None)
231537              New in version 2015.8.0.
231538
231539
231540              Ensure the IAM managed policy with the specified name is absent
231541
231542              name (string)
231543                     The name of the new policy.
231544
231545              region (string)
231546                     Region to connect to.
231547
231548              key (string)
231549                     Secret key to be used.
231550
231551              keyid (string)
231552                     Access key to be used.
231553
231554              profile (dict)
231555                     A  dict  with  region,  key  and  keyid,  or a pillar key
231556                     (string) that contains a dict with region, key and keyid.
231557
231558       salt.states.boto_iam.policy_present(name,  policy_document,  path=None,
231559       description=None, region=None, key=None, keyid=None, profile=None)
231560              New in version 2015.8.0.
231561
231562
231563              Ensure the IAM managed policy is present
231564
231565              name (string)
231566                     The name of the new policy.
231567
231568              policy_document (dict)
231569                     The document of the new policy
231570
231571              path (string)
231572                     The  path in which the policy will be created. Default is
231573                     '/'.
231574
231575              description (string)
231576                     Description
231577
231578              region (string)
231579                     Region to connect to.
231580
231581              key (string)
231582                     Secret key to be used.
231583
231584              keyid (string)
231585                     Access key to be used.
231586
231587              profile (dict)
231588                     A dict with region,  key  and  keyid,  or  a  pillar  key
231589                     (string) that contains a dict with region, key and keyid.
231590
231591       salt.states.boto_iam.saml_provider_absent(name,  region=None, key=None,
231592       keyid=None, profile=None)
231593              New in version 2016.11.0.
231594
231595
231596              Ensure the SAML provider with the specified name is absent.
231597
231598              name (string)
231599                     The name of the SAML provider.
231600
231601              saml_metadata_document (string)
231602                     The xml document of the SAML provider.
231603
231604              region (string)
231605                     Region to connect to.
231606
231607              key (string)
231608                     Secret key to be used.
231609
231610              keyid (string)
231611                     Access key to be used.
231612
231613              profile (dict)
231614                     A dict with region,  key  and  keyid,  or  a  pillar  key
231615                     (string) that contains a dict with region, key and keyid.
231616
231617       salt.states.boto_iam.saml_provider_present(name,    saml_metadata_docu‐
231618       ment, region=None, key=None, keyid=None, profile=None)
231619              New in version 2016.11.0.
231620
231621
231622              Ensure the SAML provider with the specified name is present.
231623
231624              name (string)
231625                     The name of the SAML provider.
231626
231627              saml_metadata_document (string)
231628                     The xml document of the SAML provider.
231629
231630              region (string)
231631                     Region to connect to.
231632
231633              key (string)
231634                     Secret key to be used.
231635
231636              keyid (string)
231637                     Access key to be used.
231638
231639              profile (dict)
231640                     A dict with region,  key  and  keyid,  or  a  pillar  key
231641                     (string) that contains a dict with region, key and keyid.
231642
231643       salt.states.boto_iam.server_cert_absent(name,   region=None,  key=None,
231644       keyid=None, profile=None)
231645              Deletes a server certificate.
231646
231647              New in version 2015.8.0.
231648
231649
231650              name (string)
231651                     The name for the server certificate. Do not  include  the
231652                     path in this value.
231653
231654              region (string)
231655                     The name of the region to connect to.
231656
231657              key (string)
231658                     The key to be used in order to connect
231659
231660              keyid (string)
231661                     The keyid to be used in order to connect
231662
231663              profile (string)
231664                     The profile that contains a dict of region, key, keyid
231665
231666       salt.states.boto_iam.server_cert_present(name, public_key, private_key,
231667       cert_chain=None, path=None,  region=None,  key=None,  keyid=None,  pro‐
231668       file=None)
231669              Crete server certificate.
231670
231671              New in version 2015.8.0.
231672
231673
231674              name (string)
231675                     The  name  for the server certificate. Do not include the
231676                     path in this value.
231677
231678              public_key (string)
231679                     The contents of the public key certificate in PEM-encoded
231680                     format.
231681
231682              private_key (string)
231683                     The contents of the private key in PEM-encoded format.
231684
231685              cert_chain (string)
231686                     The  contents of the certificate chain. This is typically
231687                     a concatenation of the PEM-encoded  public  key  certifi‐
231688                     cates of the chain.
231689
231690              path (string)
231691                     The path for the server certificate.
231692
231693              region (string)
231694                     The name of the region to connect to.
231695
231696              key (string)
231697                     The key to be used in order to connect
231698
231699              keyid (string)
231700                     The keyid to be used in order to connect
231701
231702              profile (string)
231703                     The profile that contains a dict of region, key, keyid
231704
231705       salt.states.boto_iam.user_absent(name,                delete_keys=True,
231706       delete_mfa_devices=True,  delete_profile=True,  region=None,  key=None,
231707       keyid=None, profile=None)
231708              New in version 2015.8.0.
231709
231710
231711              Ensure  the IAM user is absent. User cannot be deleted if it has
231712              keys.
231713
231714              name (string)
231715                     The name of the new user.
231716
231717              delete_keys (bool)
231718                     Delete all keys from user.
231719
231720              delete_mfa_devices (bool)
231721                     Delete all mfa devices from user.
231722
231723                     New in version 2016.3.0.
231724
231725
231726              delete_profile (bool)
231727                     Delete profile from user.
231728
231729                     New in version 2016.3.0.
231730
231731
231732              region (string)
231733                     Region to connect to.
231734
231735              key (string)
231736                     Secret key to be used.
231737
231738              keyid (string)
231739                     Access key to be used.
231740
231741              profile (dict)
231742                     A dict with region,  key  and  keyid,  or  a  pillar  key
231743                     (string) that contains a dict with region, key and keyid.
231744
231745       salt.states.boto_iam.user_present(name,       policies=None,      poli‐
231746       cies_from_pillars=None,      managed_policies=None,      password=None,
231747       path=None, region=None, key=None, keyid=None, profile=None)
231748              New in version 2015.8.0.
231749
231750
231751              Ensure the IAM user is present
231752
231753              name (string)
231754                     The name of the new user.
231755
231756              policies (dict)
231757                     A dict of IAM group policy documents.
231758
231759              policies_from_pillars (list)
231760                     A  list  of pillars that contain role policy dicts. Poli‐
231761                     cies in the pillars will be merged in the  order  defined
231762                     in  the  list  and key conflicts will be handled by later
231763                     defined keys overriding earlier defined keys.  The  poli‐
231764                     cies  defined  here  will  be  merged  with  the policies
231765                     defined in the policies argument. If keys  conflict,  the
231766                     keys  in  the  policies  argument  will override the keys
231767                     defined in policies_from_pillars.
231768
231769              managed_policies (list)
231770                     A list of managed policy names or  ARNs  that  should  be
231771                     attached to this user.
231772
231773              password (string)
231774                     The  password  for the new user. Must comply with account
231775                     policy.
231776
231777              path (string)
231778                     The path of the user. Default is '/'.
231779
231780                     New in version 2015.8.2.
231781
231782
231783              region (string)
231784                     Region to connect to.
231785
231786              key (string)
231787                     Secret key to be used.
231788
231789              keyid (string)
231790                     Access key to be used.
231791
231792              profile (dict)
231793                     A dict with region,  key  and  keyid,  or  a  pillar  key
231794                     (string) that contains a dict with region, key and keyid.
231795
231796   salt.states.boto_iam_role
231797   Manage IAM roles
231798       New in version 2014.7.0.
231799
231800
231801       This module uses boto, which can be installed via package, or pip.
231802
231803       This  module  accepts explicit IAM credentials but can also utilize IAM
231804       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
231805       dentials  are  then  automatically obtained from AWS API and no further
231806       configuration is necessary. More information available here.
231807
231808       If IAM roles are not used you need to specify them either in  a  pillar
231809       file or in the minion's config file:
231810
231811          iam.keyid: GKTADJGHEIQSXMKKRBJ08H
231812          iam.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231813
231814       It's  also  possible  to  specify  key, keyid and region via a profile,
231815       either passed in as a dict, or as a string to pull from pillars or min‐
231816       ion config:
231817
231818          myprofile:
231819              keyid: GKTADJGHEIQSXMKKRBJ08H
231820              key: askjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231821              region: us-east-1
231822
231823       Creating a role will automatically create an instance profile and asso‐
231824       ciate it with the role. This is the default behavior of  the  AWS  con‐
231825       sole.
231826
231827          myrole:
231828              boto_iam_role.present:
231829                  - region: us-east-1
231830                  - key: GKTADJGHEIQSXMKKRBJ08H
231831                  - keyid: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231832                  - policies_from_pillars:
231833                      - shared_iam_bootstrap_policy
231834                  - policies:
231835                      MySQSPolicy:
231836                          Statement:
231837                            - Action:
231838                                  - sqs:*
231839                              Effect: Allow
231840                              Resource:
231841                                  - arn:aws:sqs:*:*:*
231842                              Sid: MyPolicySQS1
231843                      MyS3Policy:
231844                          Statement:
231845                            - Action:
231846                                  - s3:GetObject
231847                              Effect: Allow
231848                              Resource:
231849                                  - arn:aws:s3:*:*:mybucket/*
231850
231851          # Using a credentials profile from pillars
231852          myrole:
231853              boto_iam_role.present:
231854                  - profile: myiamprofile
231855
231856          # Passing in a credentials profile
231857          myrole:
231858              boto_iam_role.present:
231859                  - profile:
231860                      key: GKTADJGHEIQSXMKKRBJ08H
231861                      keyid: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231862                      region: us-east-1
231863
231864       If  delete_policies: False is specified, existing policies that are not
231865       in the given list of policies will not be deleted. This  allows  manual
231866       modifications  on the IAM role to be persistent. This functionality was
231867       added in 2015.8.0.
231868
231869       NOTE:
231870          When using the profile parameter and region is set  outside  of  the
231871          profile group, region is ignored and a default region will be used.
231872
231873          If  region  is  missing from the profile data set, us-east-1 will be
231874          used as the default region.
231875
231876       salt.states.boto_iam_role.absent(name,      region=None,      key=None,
231877       keyid=None, profile=None)
231878              Ensure the IAM role is deleted.
231879
231880              name   Name of the IAM role.
231881
231882              region Region to connect to.
231883
231884              key    Secret key to be used.
231885
231886              keyid  Access key to be used.
231887
231888              profile
231889                     A  dict  with  region,  key  and  keyid,  or a pillar key
231890                     (string) that contains a dict with region, key and keyid.
231891
231892       salt.states.boto_iam_role.present(name,   policy_document=None,    pol‐
231893       icy_document_from_pillars=None,    path=None,    policies=None,   poli‐
231894       cies_from_pillars=None,   managed_policies=None,   create_instance_pro‐
231895       file=True,    region=None,    key=None,    keyid=None,    profile=None,
231896       delete_policies=True)
231897              Ensure the IAM role exists.
231898
231899              name   Name of the IAM role.
231900
231901              policy_document
231902                     The policy that grants an entity permission to assume the
231903                     role.                                                (See
231904                     https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role)
231905
231906              policy_document_from_pillars
231907                     A  pillar  key  that contains a role policy document. The
231908                     statements defined here will be appended with the  policy
231909                     document  statements defined in the policy_document argu‐
231910                     ment.
231911
231912                     New in version 2017.7.0.
231913
231914
231915              path   The   path   to   the   role/instance   profile.     (See
231916                     https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role)
231917
231918              policies
231919                     A dict of IAM role policies.
231920
231921              policies_from_pillars
231922                     A list of pillars that contain role policy  dicts.  Poli‐
231923                     cies  in  the pillars will be merged in the order defined
231924                     in the list and key conflicts will be  handled  by  later
231925                     defined  keys  overriding earlier defined keys. The poli‐
231926                     cies defined  here  will  be  merged  with  the  policies
231927                     defined  in  the policies argument. If keys conflict, the
231928                     keys in the policies  argument  will  override  the  keys
231929                     defined in policies_from_pillars.
231930
231931              managed_policies
231932                     A  list  of  (AWS  or  Customer)  managed  policies to be
231933                     attached to the role.
231934
231935              create_instance_profile
231936                     A boolean of whether or not to create an instance profile
231937                     and associate it with this role.
231938
231939              region Region to connect to.
231940
231941              key    Secret key to be used.
231942
231943              keyid  Access key to be used.
231944
231945              profile
231946                     A  dict  with  region,  key  and  keyid,  or a pillar key
231947                     (string) that contains a dict with region, key and keyid.
231948
231949              delete_policies
231950                     Deletes existing policies that are not in the given  list
231951                     of  policies.  Default  value is True. If False is speci‐
231952                     fied, existing policies will not be deleted allowing man‐
231953                     ual modifications on the IAM role to be persistent.
231954
231955                     New in version 2015.8.0.
231956
231957
231958   salt.states.boto_iot module
231959   Manage IoT Objects
231960       New in version 2016.3.0.
231961
231962
231963       Create  and destroy IoT objects. Be aware that this interacts with Ama‐
231964       zon's services, and so may incur charges.
231965
231966       depends
231967
231968              · boto
231969
231970              · boto3
231971
231972       The dependencies listed above can be installed via package or pip.
231973
231974       This module accepts explicit vpc credentials but can also  utilize  IAM
231975       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
231976       dentials are then automatically obtained from AWS API  and  no  further
231977       configuration is necessary. More information available here.
231978
231979       If  IAM  roles are not used you need to specify them either in a pillar
231980       file or in the minion's config file:
231981
231982          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
231983          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231984
231985       It's also possible to specify key, keyid  and  region  via  a  profile,
231986       either passed in as a dict, or as a string to pull from pillars or min‐
231987       ion config:
231988
231989          myprofile:
231990              keyid: GKTADJGHEIQSXMKKRBJ08H
231991              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
231992                  region: us-east-1
231993
231994          Ensure policy exists:
231995              boto_iot.policy_present:
231996                  - policyName: mypolicy
231997                  - policyDocument:
231998                      Version: "2012-10-17"
231999                      Statement:
232000                        Action:
232001                          - iot:Publish
232002                        Resource:
232003                          - "*"
232004                        Effect: "Allow"
232005                  - region: us-east-1
232006                  - keyid: GKTADJGHEIQSXMKKRBJ08H
232007                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232008
232009          Ensure topic rule exists:
232010              boto_iot.topic_rule_present:
232011                  - ruleName: myrule
232012                  - sql: "SELECT * FROM 'iot/test'"
232013                  - description: 'test rule'
232014                  - ruleDisabled: false
232015                  - actions:
232016                    - lambda:
232017                        functionArn: "arn:aws:us-east-1:1234:function/functionname"
232018                  - region: us-east-1
232019                  - keyid: GKTADJGHEIQSXMKKRBJ08H
232020                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232021
232022       salt.states.boto_iot.policy_absent(name,    policyName,    region=None,
232023       key=None, keyid=None, profile=None)
232024              Ensure policy with passed properties is absent.
232025
232026              name   The name of the state definition.
232027
232028              policyName
232029                     Name of the policy.
232030
232031              region Region to connect to.
232032
232033              key    Secret key to be used.
232034
232035              keyid  Access key to be used.
232036
232037              profile
232038                     A  dict  with  region,  key  and  keyid,  or a pillar key
232039                     (string) that contains a dict with region, key and keyid.
232040
232041       salt.states.boto_iot.policy_attached(name,    policyName,    principal,
232042       region=None, key=None, keyid=None, profile=None)
232043              Ensure policy is attached to the given principal.
232044
232045              name   The name of the state definition
232046
232047              policyName
232048                     Name of the policy.
232049
232050              principal
232051                     The principal which can be a certificate ARN or a Cognito
232052                     ID.
232053
232054              region Region to connect to.
232055
232056              key    Secret key to be used.
232057
232058              keyid  Access key to be used.
232059
232060              profile
232061                     A dict with region,  key  and  keyid,  or  a  pillar  key
232062                     (string) that contains a dict with region, key and keyid.
232063
232064       salt.states.boto_iot.policy_detached(name,    policyName,    principal,
232065       region=None, key=None, keyid=None, profile=None)
232066              Ensure policy is attached to the given principal.
232067
232068              name   The name of the state definition.
232069
232070              policyName
232071                     Name of the policy.
232072
232073              principal
232074                     The principal which can be a certificate ARN or a Cognito
232075                     ID.
232076
232077              region Region to connect to.
232078
232079              key    Secret key to be used.
232080
232081              keyid  Access key to be used.
232082
232083              profile
232084                     A  dict  with  region,  key  and  keyid,  or a pillar key
232085                     (string) that contains a dict with region, key and keyid.
232086
232087       salt.states.boto_iot.policy_present(name,  policyName,  policyDocument,
232088       region=None, key=None, keyid=None, profile=None)
232089              Ensure policy exists.
232090
232091              name   The name of the state definition
232092
232093              policyName
232094                     Name of the policy.
232095
232096              policyDocument
232097                     The  JSON  document that describes the policy. The length
232098                     of the policyDocument must be a minimum length of 1, with
232099                     a maximum length of 2048, excluding whitespace.
232100
232101              region Region to connect to.
232102
232103              key    Secret key to be used.
232104
232105              keyid  Access key to be used.
232106
232107              profile
232108                     A  dict  with  region,  key  and  keyid,  or a pillar key
232109                     (string) that contains a dict with region, key and keyid.
232110
232111       salt.states.boto_iot.thing_type_absent(name,             thingTypeName,
232112       region=None, key=None, keyid=None, profile=None)
232113              Ensure thing type with passed properties is absent.
232114
232115              New in version 2016.11.0.
232116
232117
232118              name   The name of the state definition.
232119
232120              thingTypeName
232121                     Name of the thing type.
232122
232123              region Region to connect to.
232124
232125              key    Secret key to be used.
232126
232127              keyid  Access key to be used.
232128
232129              profile
232130                     A  dict  with  region,  key  and  keyid,  or a pillar key
232131                     (string) that contains a dict with region, key and keyid.
232132
232133       salt.states.boto_iot.thing_type_present(name, thingTypeName, thingType‐
232134       Description,     searchableAttributesList,    region=None,    key=None,
232135       keyid=None, profile=None)
232136              Ensure thing type exists.
232137
232138              New in version 2016.11.0.
232139
232140
232141              name   The name of the state definition
232142
232143              thingTypeName
232144                     Name of the thing type
232145
232146              thingTypeDescription
232147                     Description of the thing type
232148
232149              searchableAttributesList
232150                     List of string attributes that  are  searchable  for  the
232151                     thing type
232152
232153              region Region to connect to.
232154
232155              key    Secret key to be used.
232156
232157              keyid  Access key to be used
232158
232159              profile
232160                     A  dict with region, key, keyid, or a pillar key (string)
232161                     that contains a dict with region, key, and keyid
232162
232163       salt.states.boto_iot.topic_rule_absent(name,   ruleName,   region=None,
232164       key=None, keyid=None, profile=None)
232165              Ensure topic rule with passed properties is absent.
232166
232167              name   The name of the state definition.
232168
232169              ruleName
232170                     Name of the policy.
232171
232172              region Region to connect to.
232173
232174              key    Secret key to be used.
232175
232176              keyid  Access key to be used.
232177
232178              profile
232179                     A  dict  with  region,  key  and  keyid,  or a pillar key
232180                     (string) that contains a dict with region, key and keyid.
232181
232182       salt.states.boto_iot.topic_rule_present(name, ruleName,  sql,  actions,
232183       description=u'', ruleDisabled=False, region=None, key=None, keyid=None,
232184       profile=None)
232185              Ensure topic rule exists.
232186
232187              name   The name of the state definition
232188
232189              ruleName
232190                     Name of the rule.
232191
232192              sql    The SQL statement used to query the topic.
232193
232194              actions
232195                     The actions associated with the rule.
232196
232197              description
232198                     The description of the rule.
232199
232200              ruleDisable
232201                     Specifies whether the rule is disabled.
232202
232203              region Region to connect to.
232204
232205              key    Secret key to be used.
232206
232207              keyid  Access key to be used.
232208
232209              profile
232210                     A dict with region,  key  and  keyid,  or  a  pillar  key
232211                     (string) that contains a dict with region, key and keyid.
232212
232213   salt.states.boto_kinesis module
232214   Manage Kinesis Streams
232215       New in version 2017.7.0.
232216
232217
232218       Create  and  destroy Kinesis streams. Be aware that this interacts with
232219       Amazon's services, and so may incur charges.
232220
232221       This module uses boto3, which can be installed via package, or pip.
232222
232223       This module accepts explicit Kinesis credentials but can  also  utilize
232224       IAM  roles  assigned to the instance through Instance Profiles. Dynamic
232225       credentials are then automatically obtained from AWS API and no further
232226       configuration is necessary. More information available here.
232227
232228       If  IAM  roles are not used you need to specify them either in a pillar
232229       file or in the minion's config file:
232230
232231          keyid: GKTADJGHEIQSXMKKRBJ08H
232232          key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232233          region: us-east-1
232234
232235       It's also possible to specify key, keyid  and  region  via  a  profile,
232236       either passed in as a dict, or as a string to pull from pillars or min‐
232237       ion config:
232238
232239          myprofile:
232240              keyid: GKTADJGHEIQSXMKKRBJ08H
232241              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232242                  region: us-east-1
232243
232244          Ensure Kinesis stream does not exist:
232245            boto_kinesis.absent:
232246              - name: new_stream
232247              - keyid: GKTADJGHEIQSXMKKRBJ08H
232248              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232249              - region: us-east-1
232250
232251          Ensure Kinesis stream exists:
232252            boto_kinesis.present:
232253              - name: new_stream
232254              - retention_hours: 168
232255              - enhanced_monitoring: ['ALL']
232256              - num_shards: 2
232257              - keyid: GKTADJGHEIQSXMKKRBJ08H
232258              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232259              - region: us-east-1
232260
232261       salt.states.boto_kinesis.absent(name,      region=None,       key=None,
232262       keyid=None, profile=None)
232263              Delete the kinesis stream, if it exists.
232264
232265              name (string)
232266                     Stream name
232267
232268              region (string)
232269                     Region to connect to.
232270
232271              key (string)
232272                     Secret key to be used.
232273
232274              keyid (string)
232275                     Access key to be used.
232276
232277              profile (dict)
232278                     A  dict  with  region,  key  and  keyid,  or a pillar key
232279                     (string) that contains a dict with region, key and keyid.
232280
232281       salt.states.boto_kinesis.present(name,            retention_hours=None,
232282       enhanced_monitoring=None,       num_shards=None,       do_reshard=True,
232283       region=None, key=None, keyid=None, profile=None)
232284              Ensure the kinesis stream is properly configured and scaled.
232285
232286              name (string)
232287                     Stream name
232288
232289              retention_hours (int)
232290                     Retain data for this many hours.  AWS allows  minimum  24
232291                     hours, maximum 168 hours.
232292
232293              enhanced_monitoring (list of string)
232294                     Turn on enhanced monitoring for the specified shard-level
232295                     metrics.  Pass in ['ALL'] or True for all metrics, []  or
232296                     False  for  no  metrics.   Turn  on individual metrics by
232297                     passing in  a  list:  ['IncomingBytes',  'OutgoingBytes']
232298                     Note  that if only some metrics are supplied, the remain‐
232299                     ing metrics will be turned off.
232300
232301              num_shards (int)
232302                     Reshard stream (if necessary) to this  number  of  shards
232303                     !!!!!  Resharding  is  expensive! Each split or merge can
232304                     take up to 30 seconds, and the  reshard  method  balances
232305                     the partition space evenly.  Resharding from N to N+1 can
232306                     require 2N operations.  Resharding is  much  faster  with
232307                     powers of 2 (e.g. 2^N to 2^N+1) !!!!!
232308
232309              do_reshard (boolean)
232310                     If  set  to  False,  this  script  will NEVER reshard the
232311                     stream, regardless of other input. Useful for testing.
232312
232313              region (string)
232314                     Region to connect to.
232315
232316              key (string)
232317                     Secret key to be used.
232318
232319              keyid (string)
232320                     Access key to be used.
232321
232322              profile (dict)
232323                     A dict with region,  key  and  keyid,  or  a  pillar  key
232324                     (string) that contains a dict with region, key and keyid.
232325
232326   salt.states.boto_kms
232327       Manage KMS keys, key policies and grants.
232328
232329       New in version 2015.8.0.
232330
232331
232332       Be  aware  that this interacts with Amazon's services, and so may incur
232333       charges.
232334
232335       This module uses boto, which can be installed via package, or pip.
232336
232337       This module accepts explicit kms credentials but can also  utilize  IAM
232338       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
232339       dentials are then automatically obtained from AWS API  and  no  further
232340       configuration is necessary. More information available here.
232341
232342       If  IAM  roles are not used you need to specify them either in a pillar
232343       file or in the minion's config file:
232344
232345          elb.keyid: GKTADJGHEIQSXMKKRBJ08H
232346          elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232347
232348       It's also possible to specify key, keyid  and  region  via  a  profile,
232349       either passed in as a dict, or as a string to pull from pillars or min‐
232350       ion config:
232351
232352          myprofile:
232353              keyid: GKTADJGHEIQSXMKKRBJ08H
232354              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232355              region: us-east-1
232356
232357          Ensure mykey key exists:
232358            boto_kms.key_present:
232359              - name: mykey
232360              - region: us-east-1
232361
232362          # Using a profile from pillars
232363          Ensure mykey key exists:
232364            boto_kms.key_present:
232365              - name: mykey
232366              - region: us-east-1
232367              - profile: myprofile
232368
232369          # Passing in a profile
232370          Ensure mykey key exists:
232371            boto_key.key_present:
232372              - name: mykey
232373              - region: us-east-1
232374              - profile:
232375                  keyid: GKTADJGHEIQSXMKKRBJ08H
232376                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232377
232378       salt.states.boto_kms.key_present(name,    policy,     description=None,
232379       key_usage=None,  grants=None,  manage_grants=False, key_rotation=False,
232380       enabled=True, region=None, key=None, keyid=None, profile=None)
232381              Ensure the KMS key exists. KMS keys can not be deleted, so  this
232382              function must be used to ensure the key is enabled or disabled.
232383
232384              name   Name of the key.
232385
232386              policy Key usage policy.
232387
232388              description
232389                     Description of the key.
232390
232391              key_usage
232392                     Specifies the intended use of the key. Can only be set on
232393                     creation, defaults to ENCRYPT_DECRYPT, which is also  the
232394                     only supported option.
232395
232396              grants A  list  of  grants  to  apply  to the key. Not currently
232397                     implemented.
232398
232399              manage_grants
232400                     Whether or not to manage grants. False by default,  which
232401                     will not manage any grants.
232402
232403              key_rotation
232404                     Whether or not key rotation is enabled for the key. False
232405                     by default.
232406
232407              enabled
232408                     Whether or not the key is enabled. True by default.
232409
232410              region Region to connect to.
232411
232412              key    Secret key to be used.
232413
232414              keyid  Access key to be used.
232415
232416              profile
232417                     A dict with region,  key  and  keyid,  or  a  pillar  key
232418                     (string) that contains a dict with region, key and keyid.
232419
232420   salt.states.boto_lambda module
232421   Manage Lambda Functions
232422       New in version 2016.3.0.
232423
232424
232425       Create  and destroy Lambda Functions. Be aware that this interacts with
232426       Amazon's services, and so may incur charges.
232427
232428       depends
232429
232430              · boto
232431
232432              · boto3
232433
232434       The dependencies listed above can be installed via package or pip.
232435
232436       This module accepts explicit vpc credentials but can also  utilize  IAM
232437       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
232438       dentials are then automatically obtained from AWS API  and  no  further
232439       configuration is necessary. More information available here.
232440
232441       If  IAM  roles are not used you need to specify them either in a pillar
232442       file or in the minion's config file:
232443
232444          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
232445          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232446
232447       It's also possible to specify key, keyid  and  region  via  a  profile,
232448       either passed in as a dict, or as a string to pull from pillars or min‐
232449       ion config:
232450
232451          myprofile:
232452              keyid: GKTADJGHEIQSXMKKRBJ08H
232453              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232454                  region: us-east-1
232455
232456          Ensure function exists:
232457              boto_lambda.function_present:
232458                  - FunctionName: myfunction
232459                  - Runtime: python2.7
232460                  - Role: iam_role_name
232461                  - Handler: entry_function
232462                  - ZipFile: code.zip
232463                  - S3Bucket: bucketname
232464                  - S3Key: keyname
232465                  - S3ObjectVersion: version
232466                  - Description: "My Lambda Function"
232467                  - Timeout: 3
232468                  - MemorySize: 128
232469                  - region: us-east-1
232470                  - keyid: GKTADJGHEIQSXMKKRBJ08H
232471                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232472
232473       salt.states.boto_lambda.alias_absent(name,     FunctionName,      Name,
232474       region=None, key=None, keyid=None, profile=None)
232475              Ensure alias with passed properties is absent.
232476
232477              name   The name of the state definition.
232478
232479              FunctionName
232480                     Name of the function.
232481
232482              Name   Name of the alias.
232483
232484              region Region to connect to.
232485
232486              key    Secret key to be used.
232487
232488              keyid  Access key to be used.
232489
232490              profile
232491                     A  dict  with  region,  key  and  keyid,  or a pillar key
232492                     (string) that contains a dict with region, key and keyid.
232493
232494       salt.states.boto_lambda.alias_present(name, FunctionName,  Name,  Func‐
232495       tionVersion,  Description=u'',  region=None, key=None, keyid=None, pro‐
232496       file=None)
232497              Ensure alias exists.
232498
232499              name   The name of the state definition.
232500
232501              FunctionName
232502                     Name of the function for which  you  want  to  create  an
232503                     alias.
232504
232505              Name   The name of the alias to be created.
232506
232507              FunctionVersion
232508                     Function version for which you are creating the alias.
232509
232510              Description
232511                     A  short,  user-defined function description. Lambda does
232512                     not use this value. Assign a  meaningful  description  as
232513                     you see fit.
232514
232515              region Region to connect to.
232516
232517              key    Secret key to be used.
232518
232519              keyid  Access key to be used.
232520
232521              profile
232522                     A  dict  with  region,  key  and  keyid,  or a pillar key
232523                     (string) that contains a dict with region, key and keyid.
232524
232525       salt.states.boto_lambda.event_source_mapping_absent(name,
232526       EventSourceArn,  FunctionName,  region=None, key=None, keyid=None, pro‐
232527       file=None)
232528              Ensure event source mapping with passed properties is absent.
232529
232530              name   The name of the state definition.
232531
232532              EventSourceArn
232533                     ARN of the event source.
232534
232535              FunctionName
232536                     Name of the lambda function.
232537
232538              region Region to connect to.
232539
232540              key    Secret key to be used.
232541
232542              keyid  Access key to be used.
232543
232544              profile
232545                     A dict with region,  key  and  keyid,  or  a  pillar  key
232546                     (string) that contains a dict with region, key and keyid.
232547
232548       salt.states.boto_lambda.event_source_mapping_present(name,
232549       EventSourceArn, FunctionName,  StartingPosition,  Enabled=True,  Batch‐
232550       Size=100, region=None, key=None, keyid=None, profile=None)
232551              Ensure event source mapping exists.
232552
232553              name   The name of the state definition.
232554
232555              EventSourceArn
232556                     The  Amazon  Resource Name (ARN) of the Amazon Kinesis or
232557                     the Amazon DynamoDB stream that is the event source.
232558
232559              FunctionName
232560                     The Lambda function to invoke when AWS Lambda detects  an
232561                     event on the stream.
232562
232563                     You  can  specify an unqualified function name (for exam‐
232564                     ple, "Thumbnail") or you can specify Amazon Resource Name
232565                     (ARN)      of      the     function     (for     example,
232566                     "arn:aws:lambda:us-west-2:account-id:function:Thumb‐
232567                     Nail").  AWS  Lambda  also allows you to specify only the
232568                     account ID  qualifier  (for  example,  "account-id:Thumb‐
232569                     nail").  Note  that the length constraint applies only to
232570                     the ARN. If you specify only the  function  name,  it  is
232571                     limited to 64 character in length.
232572
232573              StartingPosition
232574                     The  position in the stream where AWS Lambda should start
232575                     reading.  (TRIM_HORIZON | LATEST)
232576
232577              Enabled
232578                     Indicates whether AWS Lambda  should  begin  polling  the
232579                     event source. By default, Enabled is true.
232580
232581              BatchSize
232582                     The  largest  number  of  records  that  AWS  Lambda will
232583                     retrieve from your event source at the time  of  invoking
232584                     your  function.  Your function receives an event with all
232585                     the retrieved records. The default is 100 records.
232586
232587              region Region to connect to.
232588
232589              key    Secret key to be used.
232590
232591              keyid  Access key to be used.
232592
232593              profile
232594                     A dict with region,  key  and  keyid,  or  a  pillar  key
232595                     (string) that contains a dict with region, key and keyid.
232596
232597       salt.states.boto_lambda.function_absent(name,             FunctionName,
232598       region=None, key=None, keyid=None, profile=None)
232599              Ensure function with passed properties is absent.
232600
232601              name   The name of the state definition.
232602
232603              FunctionName
232604                     Name of the function.
232605
232606              region Region to connect to.
232607
232608              key    Secret key to be used.
232609
232610              keyid  Access key to be used.
232611
232612              profile
232613                     A dict with region,  key  and  keyid,  or  a  pillar  key
232614                     (string) that contains a dict with region, key and keyid.
232615
232616       salt.states.boto_lambda.function_present(name,  FunctionName,  Runtime,
232617       Role, Handler, ZipFile=None,  S3Bucket=None,  S3Key=None,  S3ObjectVer‐
232618       sion=None,    Description=u'',   Timeout=3,   MemorySize=128,   Permis‐
232619       sions=None,  RoleRetries=5,  region=None,  key=None,  keyid=None,  pro‐
232620       file=None, VpcConfig=None, Environment=None)
232621              Ensure function exists.
232622
232623              name   The name of the state definition
232624
232625              FunctionName
232626                     Name of the Function.
232627
232628              Runtime
232629                     The   Runtime   environment  for  the  function.  One  of
232630                     'nodejs', 'java8', or 'python2.7'
232631
232632              Role   The name or ARN of the IAM role that the function assumes
232633                     when  it  executes  your function to access any other AWS
232634                     resources.
232635
232636              Handler
232637                     The function within your code that Lambda calls to  begin
232638                     execution.  For  Node.js  it  is the module-name.*export*
232639                     value in  your  function.  For  Java,  it  can  be  pack‐
232640                     age.classname::handler or package.class-name.
232641
232642              ZipFile
232643                     A path to a .zip file containing your deployment package.
232644                     If this is specified, S3Bucket  and  S3Key  must  not  be
232645                     specified.
232646
232647              S3Bucket
232648                     Amazon S3 bucket name where the .zip file containing your
232649                     package is stored. If this is specified,  S3Key  must  be
232650                     specified and ZipFile must NOT be specified.
232651
232652              S3Key  The  Amazon  S3  object (the deployment package) key name
232653                     you want to upload. If this is specified, S3Key  must  be
232654                     specified and ZipFile must NOT be specified.
232655
232656              S3ObjectVersion
232657                     The version of S3 object to use. Optional, should only be
232658                     specified if S3Bucket and S3Key are specified.
232659
232660              Description
232661                     A short, user-defined function description.  Lambda  does
232662                     not  use  this  value. Assign a meaningful description as
232663                     you see fit.
232664
232665              Timeout
232666                     The function execution time at which Lambda should termi‐
232667                     nate  this  function. Because the execution time has cost
232668                     implications, we recommend you set this  value  based  on
232669                     your expected execution time.  The default is 3 seconds.
232670
232671              MemorySize
232672                     The  amount  of  memory,  in  MB, your function is given.
232673                     Lambda uses this memory size to infer the amount  of  CPU
232674                     and  memory  allocated  to  your  function. Your function
232675                     use-case determines your CPU and memory requirements. For
232676                     example, a database operation might need less memory com‐
232677                     pared to an image processing function. The default  value
232678                     is 128 MB. The value must be a multiple of 64 MB.
232679
232680              VpcConfig
232681                     If  your Lambda function accesses resources in a VPC, you
232682                     must provide this parameter identifying the list of secu‐
232683                     rity group IDs/Names and subnet IDs/Name.  These must all
232684                     belong to the same VPC.  This is a dict of the form:
232685
232686                        VpcConfig:
232687                          SecurityGroupNames:
232688                            - mysecgroup1
232689                            - mysecgroup2
232690                          SecurityGroupIds:
232691                            - sg-abcdef1234
232692                          SubnetNames:
232693                            - mysubnet1
232694                          SubnetIds:
232695                            - subnet-1234abcd
232696                            - subnet-abcd1234
232697
232698                     If VpcConfig is provided at all, you MUST pass  at  least
232699                     one security group and one subnet.
232700
232701              Permissions
232702                     A list of permission definitions to be added to the func‐
232703                     tion's policy
232704
232705              RoleRetries
232706                     IAM Roles may take some time to propagate to all  regions
232707                     once  created.   During  that  time function creation may
232708                     fail; this state will atuomatically retry this number  of
232709                     times. The default is 5.
232710
232711              Environment
232712                     The  parent  object that contains your environment's con‐
232713                     figuration settings.  This is a dictionary of the form:
232714
232715                        {
232716                            'Variables': {
232717                                'VariableName': 'VariableValue'
232718                            }
232719                        }
232720
232721                     New in version 2017.7.0.
232722
232723
232724              region Region to connect to.
232725
232726              key    Secret key to be used.
232727
232728              keyid  Access key to be used.
232729
232730              profile
232731                     A dict with region,  key  and  keyid,  or  a  pillar  key
232732                     (string) that contains a dict with region, key and keyid.
232733
232734   salt.states.boto_lc
232735       Manage Launch Configurations
232736
232737       New in version 2014.7.0.
232738
232739
232740       Create  and destroy Launch Configurations. Be aware that this interacts
232741       with Amazon's services, and so may incur charges.
232742
232743       A limitation of this module is that you can not modify launch  configu‐
232744       rations once they have been created. If a launch configuration with the
232745       specified name exists, this module will always report success, even  if
232746       the  specified configuration doesn't match. This is due to a limitation
232747       in Amazon's launch configuration API, as it only allows launch configu‐
232748       rations to be created and deleted.
232749
232750       Also  note  that  a  launch configuration that's in use by an autoscale
232751       group can not be deleted until the autoscale group is no  longer  using
232752       it. This may affect the way in which you want to order your states.
232753
232754       This module uses boto, which can be installed via package, or pip.
232755
232756       This module accepts explicit autoscale credentials but can also utilize
232757       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
232758       credentials are then automatically obtained from AWS API and no further
232759       configuration is necessary. More information available here.
232760
232761       If IAM roles are not used you need to specify them either in  a  pillar
232762       file or in the minion's config file:
232763
232764          asg.keyid: GKTADJGHEIQSXMKKRBJ08H
232765          asg.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232766
232767       It's  also  possible  to  specify  key, keyid and region via a profile,
232768       either passed in as a dict, or as a string to pull from pillars or min‐
232769       ion config:
232770
232771          myprofile:
232772              keyid: GKTADJGHEIQSXMKKRBJ08H
232773              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232774              region: us-east-1
232775
232776       Credential  information  is shared with autoscale groups as launch con‐
232777       figurations and autoscale  groups  are  completely  dependent  on  each
232778       other.
232779
232780          Ensure mylc exists:
232781            boto_lc.present:
232782              - name: mylc
232783              - image_id: ami-0b9c9f62
232784              - key_name: mykey
232785              - security_groups:
232786                  - mygroup
232787              - instance_type: m1.small
232788              - instance_monitoring: true
232789              - block_device_mappings:
232790                  - '/dev/sda1':
232791                      size: 20
232792                      volume_type: 'io1'
232793                      iops: 220
232794                      delete_on_termination: true
232795              - cloud_init:
232796                  boothooks:
232797                    'disable-master.sh': |
232798                      #!/bin/bash
232799                      echo "manual" > /etc/init/salt-master.override
232800                  scripts:
232801                    'run_salt.sh': |
232802                      #!/bin/bash
232803
232804                      add-apt-repository -y ppa:saltstack/salt
232805                      apt-get update
232806                      apt-get install -y salt-minion
232807                      salt-call state.highstate
232808              - region: us-east-1
232809              - keyid: GKTADJGHEIQSXMKKRBJ08H
232810              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232811
232812          # Using a profile from pillars.
232813          Ensure mylc exists:
232814            boto_lc.present:
232815              - name: mylc
232816              - image_id: ami-0b9c9f62
232817              - profile: myprofile
232818
232819          # Passing in a profile.
232820          Ensure mylc exists:
232821            boto_lc.present:
232822              - name: mylc
232823              - image_id: ami-0b9c9f62
232824              - profile:
232825                  keyid: GKTADJGHEIQSXMKKRBJ08H
232826                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232827                  region: us-east-1
232828
232829       salt.states.boto_lc.absent(name,   region=None,  key=None,  keyid=None,
232830       profile=None)
232831              Ensure the named launch configuration is deleted.
232832
232833              name   Name of the launch configuration.
232834
232835              region The region to connect to.
232836
232837              key    Secret key to be used.
232838
232839              keyid  Access key to be used.
232840
232841              profile
232842                     A dict with region,  key  and  keyid,  or  a  pillar  key
232843                     (string) that contains a dict with region, key and keyid.
232844
232845       salt.states.boto_lc.present(name, image_id, key_name=None, vpc_id=None,
232846       vpc_name=None, security_groups=None,  user_data=None,  cloud_init=None,
232847       instance_type=u'm1.small',       kernel_id=None,       ramdisk_id=None,
232848       block_device_mappings=None, delete_on_termination=None,  instance_moni‐
232849       toring=False,  spot_price=None,  instance_profile_name=None,  ebs_opti‐
232850       mized=False, associate_public_ip_address=None,  region=None,  key=None,
232851       keyid=None, profile=None)
232852              Ensure the launch configuration exists.
232853
232854              name   Name of the launch configuration.
232855
232856              image_id
232857                     AMI  to  use for instances. AMI must exist or creation of
232858                     the launch configuration will fail.
232859
232860              key_name
232861                     Name of the EC2 key pair to use for instances.  Key  must
232862                     exist or creation of the launch configuration will fail.
232863
232864              vpc_id The  VPC  id  where the security groups are defined. Only
232865                     necessary when using named  security  groups  that  exist
232866                     outside  of  the  default  VPC.   Mutually exclusive with
232867                     vpc_name.
232868
232869              vpc_name
232870                     Name of the VPC where the security  groups  are  defined.
232871                     Only  Necessary  when  using  named  security groups that
232872                     exist outside of the  default  VPC.   Mutually  exclusive
232873                     with vpc_id.
232874
232875              security_groups
232876                     List  of  Names  or  security  group id’s of the security
232877                     groups with which to associate the EC2 instances  or  VPC
232878                     instances,  respectively.  Security groups must exist, or
232879                     creation of the launch configuration will fail.
232880
232881              user_data
232882                     The user data available to launched EC2 instances.
232883
232884              cloud_init
232885                     A dict of cloud_init configuration.  Currently  supported
232886                     keys:  boothooks,  scripts  and  cloud-config.   Mutually
232887                     exclusive with user_data.
232888
232889              instance_type
232890                     The instance type. ex: m1.small.
232891
232892              kernel_id
232893                     The kernel id for the instance.
232894
232895              ramdisk_id
232896                     The RAM disk ID for the instance.
232897
232898              block_device_mappings
232899                     A dict of block device mappings that contains a dict with
232900                     volume_type,     delete_on_termination,    iops,    size,
232901                     encrypted, snapshot_id.
232902
232903                     volume_type
232904                            Indicates what volume type to  use.  Valid  values
232905                            are standard, io1, gp2.  Default is standard.
232906
232907                     delete_on_termination
232908                            Whether the volume should be explicitly marked for
232909                            deletion when its instance is  terminated  (True),
232910                            or  left around (False).  If not provided, or None
232911                            is explicitly passed, the default AWS behaviour is
232912                            used, which is True for ROOT volumes of instances,
232913                            and False for all others.
232914
232915                     iops   For Provisioned IOPS (SSD) volumes only. The  num‐
232916                            ber  of I/O operations per second (IOPS) to provi‐
232917                            sion for the volume.
232918
232919                     size   Desired volume size (in GiB).
232920
232921                     encrypted
232922                            Indicates whether the volume should be  encrypted.
232923                            Encrypted   EBS   volumes   must  be  attached  to
232924                            instances that support Amazon EBS encryption. Vol‐
232925                            umes that are created from encrypted snapshots are
232926                            automatically encrypted. There is no way to create
232927                            an  encrypted  volume from an unencrypted snapshot
232928                            or an unencrypted volume from an  encrypted  snap‐
232929                            shot.
232930
232931              instance_monitoring
232932                     Whether  instances  in  group  are launched with detailed
232933                     monitoring.
232934
232935              spot_price
232936                     The spot price you are bidding. Only applies if  you  are
232937                     building an autoscaling group with spot instances.
232938
232939              instance_profile_name
232940                     The  name  or  the  Amazon  Resource  Name  (ARN)  of the
232941                     instance profile associated with the  IAM  role  for  the
232942                     instance.  Instance profile must exist or the creation of
232943                     the launch configuration will fail.
232944
232945              ebs_optimized
232946                     Specifies whether the instance is optimized for  EBS  I/O
232947                     (true) or not (false).
232948
232949              associate_public_ip_address
232950                     Used  for  Auto Scaling groups that launch instances into
232951                     an Amazon Virtual Private  Cloud.  Specifies  whether  to
232952                     assign a public IP address to each instance launched in a
232953                     Amazon VPC.
232954
232955              region The region to connect to.
232956
232957              key    Secret key to be used.
232958
232959              keyid  Access key to be used.
232960
232961              profile
232962                     A dict with region,  key  and  keyid,  or  a  pillar  key
232963                     (string) that contains a dict with region, key and keyid.
232964
232965   salt.states.boto_rds
232966   Manage RDSs
232967       New in version 2015.8.0.
232968
232969
232970       Create  and  destroy  RDS  instances. Be aware that this interacts with
232971       Amazon's services, and so may incur charges.
232972
232973       This module uses boto, which can be installed via package, or pip.
232974
232975       This module accepts explicit rds credentials but can also  utilize  IAM
232976       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
232977       dentials are then automatically obtained from AWS API  and  no  further
232978       configuration is necessary. More information available here.
232979
232980       If  IAM  roles are not used you need to specify them either in a pillar
232981       file or in the minion's config file:
232982
232983          rds.keyid: GKTADJGHEIQSXMKKRBJ08H
232984          rds.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232985
232986       It's also possible to specify key, keyid  and  region  via  a  profile,
232987       either passed in as a dict, or as a string to pull from pillars or min‐
232988       ion config:
232989
232990          myprofile:
232991              keyid: GKTADJGHEIQSXMKKRBJ08H
232992              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
232993                  region: us-east-1
232994
232995          Ensure myrds RDS exists:
232996            boto_rds.present:
232997              - name: myrds
232998              - allocated_storage: 5
232999              - storage_type: standard
233000              - db_instance_class: db.t2.micro
233001              - engine: MySQL
233002              - master_username: myuser
233003              - master_user_password: mypass
233004              - region: us-east-1
233005              - keyid: GKTADJGHEIQSXMKKRBJ08H
233006              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233007              - tags:
233008                  key: value
233009
233010          Ensure parameter group exists:
233011              create-parameter-group:
233012                boto_rds.parameter_present:
233013                  - name: myparametergroup
233014                  - db_parameter_group_family: mysql5.6
233015                  - description: "parameter group family"
233016                  - parameters:
233017                    - binlog_cache_size: 32768
233018                    - binlog_checksum: CRC32
233019                  - region: eu-west-1
233020
233021       depends
233022              boto3
233023
233024       salt.states.boto_rds.absent(name,             skip_final_snapshot=None,
233025       final_db_snapshot_identifier=None,  tags=None,  wait_for_deletion=True,
233026       timeout=180, region=None, key=None, keyid=None, profile=None)
233027              Ensure RDS instance is absent.
233028
233029              name   Name of the RDS instance.
233030
233031              skip_final_snapshot
233032                     Whether  a  final  db  snapshot  is  created  before  the
233033                     instance  is  deleted.   If True, no snapshot is created.
233034                     If False, a  snapshot  is  created  before  deleting  the
233035                     instance.
233036
233037              final_db_snapshot_identifier
233038                     If  a final snapshot is requested, this is the identifier
233039                     used for that snapshot.
233040
233041              tags   A dict of tags.
233042
233043              wait_for_deletion (bool)
233044                     Wait for the RDS instance to be deleted completely before
233045                     finishing the state.
233046
233047              timeout (in seconds)
233048                     The amount of time that can pass before raising an Excep‐
233049                     tion.
233050
233051              region Region to connect to.
233052
233053              key    Secret key to be used.
233054
233055              keyid  Access key to be used.
233056
233057              profile
233058                     A dict with region,  key  and  keyid,  or  a  pillar  key
233059                     (string) that contains a dict with region, key and keyid.
233060
233061       salt.states.boto_rds.parameter_present(name, db_parameter_group_family,
233062       description,      parameters=None,      apply_method=u'pending-reboot',
233063       tags=None, region=None, key=None, keyid=None, profile=None)
233064              Ensure DB parameter group exists and update parameters.
233065
233066              name   The name for the parameter group.
233067
233068              db_parameter_group_family
233069                     The  DB parameter group family name. A DB parameter group
233070                     can be associated with one  and  only  one  DB  parameter
233071                     group  family,  and  can be applied only to a DB instance
233072                     running a database engine and engine  version  compatible
233073                     with that DB parameter group family.
233074
233075              description
233076                     Parameter group description.
233077
233078              parameters
233079                     The DB parameters that need to be changed of type dictio‐
233080                     nary.
233081
233082              apply_method
233083                     The apply-immediate method can be used only  for  dynamic
233084                     parameters;  the  pending-reboot  method can be used with
233085                     MySQL and Oracle  DB  instances  for  either  dynamic  or
233086                     static parameters. For Microsoft SQL Server DB instances,
233087                     the pending-reboot method can be  used  only  for  static
233088                     parameters.
233089
233090              tags   A dict of tags.
233091
233092              region Region to connect to.
233093
233094              key    Secret key to be used.
233095
233096              keyid  Access key to be used.
233097
233098              profile
233099                     A  dict  with  region,  key  and  keyid,  or a pillar key
233100                     (string) that contains a dict with region, key and keyid.
233101
233102       salt.states.boto_rds.present(name,                   allocated_storage,
233103       db_instance_class,   engine,   master_username,   master_user_password,
233104       db_name=None,  storage_type=None,  db_security_groups=None,   vpc_secu‐
233105       rity_group_ids=None,  vpc_security_groups=None, availability_zone=None,
233106       db_subnet_group_name=None, preferred_maintenance_window=None, db_param‐
233107       eter_group_name=None,      db_cluster_identifier=None,      tde_creden‐
233108       tial_arn=None,  tde_credential_password=None,   storage_encrypted=None,
233109       kms_keyid=None,   backup_retention_period=None,   preferred_backup_win‐
233110       dow=None,      port=None,      multi_az=None,      engine_version=None,
233111       auto_minor_version_upgrade=None,     license_model=None,     iops=None,
233112       option_group_name=None,   character_set_name=None,    publicly_accessi‐
233113       ble=None,   wait_status=None,   tags=None,  copy_tags_to_snapshot=None,
233114       region=None,  domain=None,  key=None,   keyid=None,   monitoring_inter‐
233115       val=None,  monitoring_role_arn=None,  domain_iam_role_name=None, promo‐
233116       tion_tier=None, profile=None)
233117              Ensure RDS instance exists.
233118
233119              name   Name of the RDS state definition.
233120
233121              allocated_storage
233122                     The amount of storage  (in  gigabytes)  to  be  initially
233123                     allocated for the database instance.
233124
233125              db_instance_class
233126                     The  compute  and  memory  capacity  of the Amazon RDS DB
233127                     instance.
233128
233129              engine The name of the database  engine  to  be  used  for  this
233130                     instance.  Supported  engine  types  are: MySQL, mariadb,
233131                     oracle-se1,    oracle-se,    oracle-ee,     sqlserver-ee,
233132                     sqlserver-se,  sqlserver-ex,  sqlserver-web, postgres and
233133                     aurora. For more information, please see the engine argu‐
233134                     ment in the Boto3 RDS create_db_instance documentation.
233135
233136              master_username
233137                     The name of master user for the client DB instance.
233138
233139              master_user_password
233140                     The  password  for  the  master database user. Can be any
233141                     printable ASCII character except "/", '"', or "@".
233142
233143              db_name
233144                     The meaning of this parameter differs  according  to  the
233145                     database engine you use.  See the Boto3 RDS documentation
233146                     to determine the appropriate value  for  your  configura‐
233147                     tion.
233148                     https://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.create_db_instance
233149
233150              storage_type
233151                     Specifies  the  storage type to be associated with the DB
233152                     instance.  Options are standard,  gp2  and  io1.  If  you
233153                     specify  io1,  you must also include a value for the Iops
233154                     parameter.
233155
233156              db_security_groups
233157                     A list of DB security groups to associate  with  this  DB
233158                     instance.
233159
233160              vpc_security_group_ids
233161                     A  list  of  EC2 VPC security group IDs to associate with
233162                     this DB instance.
233163
233164              vpc_security_groups
233165                     A list of EC2 VPC security groups (IDs or Name  tags)  to
233166                     associate with this DB instance.
233167
233168              availability_zone
233169                     The EC2 Availability Zone that the database instance will
233170                     be created in.
233171
233172              db_subnet_group_name
233173                     A DB subnet group to associate with this DB instance.
233174
233175              preferred_maintenance_window
233176                     The weekly time range (in UTC) during which system  main‐
233177                     tenance can occur.
233178
233179              db_parameter_group_name
233180                     A DB parameter group to associate with this DB instance.
233181
233182              db_cluster_identifier
233183                     If  the DB instance is a member of a DB cluster, contains
233184                     the name of the DB cluster that the DB instance is a mem‐
233185                     ber of.
233186
233187              tde_credential_arn
233188                     The  ARN  from  the  Key Store with which the instance is
233189                     associated for TDE encryption.
233190
233191              tde_credential_password
233192                     The password to use for TDE encryption if  an  encryption
233193                     key is not used.
233194
233195              storage_encrypted
233196                     Specifies whether the DB instance is encrypted.
233197
233198              kms_keyid
233199                     If  storage_encrypted is true, the KMS key identifier for
233200                     the encrypted DB instance.
233201
233202              backup_retention_period
233203                     The number  of  days  for  which  automated  backups  are
233204                     retained.
233205
233206              preferred_backup_window
233207                     The  daily  time range during which automated backups are
233208                     created if automated backups are enabled.
233209
233210              port   The port number on which  the  database  accepts  connec‐
233211                     tions.
233212
233213              multi_az
233214                     Specifies  if  the  DB instance is a Multi-AZ deployment.
233215                     You cannot set the AvailabilityZone parameter if the Mul‐
233216                     tiAZ parameter is set to true.
233217
233218              engine_version
233219                     The version number of the database engine to use.
233220
233221              auto_minor_version_upgrade
233222                     Indicates  that  minor  engine  upgrades  will be applied
233223                     automatically to the DB instance during  the  maintenance
233224                     window.
233225
233226              license_model
233227                     License model information for this DB instance.
233228
233229              iops   The  amount  of Provisioned IOPS (input/output operations
233230                     per  second)  to  be  initially  allocated  for  the   DB
233231                     instance.
233232
233233              option_group_name
233234                     Indicates  that the DB instance should be associated with
233235                     the specified option group.
233236
233237              character_set_name
233238                     For supported engines, indicates  that  the  DB  instance
233239                     should be associated with the specified CharacterSet.
233240
233241              publicly_accessible
233242                     Specifies  the accessibility options for the DB instance.
233243                     A value of true  specifies  an  Internet-facing  instance
233244                     with  a publicly resolvable DNS name, which resolves to a
233245                     public IP address. A value of false specifies an internal
233246                     instance  with  a  DNS name that resolves to a private IP
233247                     address.
233248
233249              wait_status
233250                     Wait for the RDS  instance  to  reach  a  desired  status
233251                     before  finishing the state. Available states: available,
233252                     modifying, backing-up
233253
233254              tags   A dict of tags.
233255
233256              copy_tags_to_snapshot
233257                     Specifies whether tags are copied from the DB instance to
233258                     snapshots of the DB instance.
233259
233260              region Region to connect to.
233261
233262              domain The identifier of the Active Directory Domain.
233263
233264              key    AWS secret key to be used.
233265
233266              keyid  AWS access key to be used.
233267
233268              monitoring_interval
233269                     The  interval,  in  seconds, between points when Enhanced
233270                     Monitoring metrics are collected for the DB instance.
233271
233272              monitoring_role_arn
233273                     The ARN for  the  IAM  role  that  permits  RDS  to  send
233274                     Enhanced Monitoring metrics to CloudWatch Logs.
233275
233276              domain_iam_role_name
233277                     Specify  the  name of the IAM role to be used when making
233278                     API calls to the Directory Service.
233279
233280              promotion_tier
233281                     A value that specifies  the  order  in  which  an  Aurora
233282                     Replica is promoted to the primary instance after a fail‐
233283                     ure of the existing primary instance. For  more  informa‐
233284                     tion, see Fault Tolerance for an Aurora DB Cluster .
233285
233286              profile
233287                     A  dict  with  region,  key  and  keyid,  or a pillar key
233288                     (string) that contains a dict with region, key and keyid.
233289
233290       salt.states.boto_rds.replica_present(name,                      source,
233291       db_instance_class=None,        availability_zone=None,       port=None,
233292       auto_minor_version_upgrade=None,   iops=None,   option_group_name=None,
233293       publicly_accessible=None, tags=None, region=None, key=None, keyid=None,
233294       profile=None, db_parameter_group_name=None)
233295              Ensure RDS replica exists.
233296
233297                 Ensure myrds replica RDS exists:
233298                   boto_rds.create_replica:
233299                     - name: myreplica
233300                     - source: mydb
233301
233302       salt.states.boto_rds.subnet_group_absent(name, tags=None,  region=None,
233303       key=None, keyid=None, profile=None)
233304
233305       salt.states.boto_rds.subnet_group_present(name,    description,    sub‐
233306       net_ids=None,  subnet_names=None,  tags=None,  region=None,   key=None,
233307       keyid=None, profile=None)
233308              Ensure DB subnet group exists.
233309
233310              name   The name for the DB subnet group. This value is stored as
233311                     a lowercase string.
233312
233313              subnet_ids
233314                     A list of the EC2 Subnet IDs for  the  DB  subnet  group.
233315                     Either subnet_ids or subnet_names must be provided.
233316
233317              subnet_names
233318                     A  list  of The EC2 Subnet names for the DB subnet group.
233319                     Either subnet_ids or subnet_names must be provided.
233320
233321              description
233322                     Subnet group description.
233323
233324              tags   A dict of tags.
233325
233326              region Region to connect to.
233327
233328              key    Secret key to be used.
233329
233330              keyid  Access key to be used.
233331
233332              profile
233333                     A dict with region,  key  and  keyid,  or  a  pillar  key
233334                     (string) that contains a dict with region, key and keyid.
233335
233336   salt.states.boto_route53
233337       Manage Route53 records
233338
233339       New in version 2014.7.0.
233340
233341
233342       Create  and  delete  Route53 records. Be aware that this interacts with
233343       Amazon's services, and so may incur charges.
233344
233345       This module uses boto, which can be installed via package, or pip.
233346
233347       This module accepts explicit route53 credentials but can  also  utilize
233348       IAM  roles  assigned to the instance through Instance Profiles. Dynamic
233349       credentials are then automatically obtained from AWS API and no further
233350       configuration is necessary. More information available here.
233351
233352       If  IAM  roles are not used you need to specify them either in a pillar
233353       file or in the minion's config file:
233354
233355          route53.keyid: GKTADJGHEIQSXMKKRBJ08H
233356          route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233357
233358       It's also possible to specify key, keyid  and  region  via  a  profile,
233359       either passed in as a dict, or as a string to pull from pillars or min‐
233360       ion config:
233361
233362          myprofile:
233363            keyid: GKTADJGHEIQSXMKKRBJ08H
233364            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233365            region: us-east-1
233366
233367          mycnamerecord:
233368            boto_route53.present:
233369              - name: test.example.com.
233370              - value: my-elb.us-east-1.elb.amazonaws.com.
233371              - zone: example.com.
233372              - ttl: 60
233373              - record_type: CNAME
233374              - region: us-east-1
233375              - keyid: GKTADJGHEIQSXMKKRBJ08H
233376              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233377
233378          # Using a profile from pillars
233379          myarecord:
233380            boto_route53.present:
233381              - name: test.example.com.
233382              - value: 1.1.1.1
233383              - zone: example.com.
233384              - ttl: 60
233385              - record_type: A
233386              - region: us-east-1
233387              - profile: myprofile
233388
233389          # Passing in a profile
233390          myarecord:
233391            boto_route53.present:
233392              - name: test.example.com.
233393              - value: 1.1.1.1
233394              - zone: example.com.
233395              - ttl: 60
233396              - record_type: A
233397              - region: us-east-1
233398              - profile:
233399                  keyid: GKTADJGHEIQSXMKKRBJ08H
233400                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233401
233402       salt.states.boto_route53.absent(name,   zone,   record_type,    identi‐
233403       fier=None,    region=None,    key=None,    keyid=None,    profile=None,
233404       wait_for_sync=True, split_dns=False, private_zone=False)
233405              Ensure the Route53 record is deleted.
233406
233407              name   Name of the record.
233408
233409              zone   The zone to delete the record from.
233410
233411              record_type
233412                     The record type (A, NS, MX, TXT, etc.)
233413
233414              identifier
233415                     An identifier to match for deletion.
233416
233417              region The region to connect to.
233418
233419              key    Secret key to be used.
233420
233421              keyid  Access key to be used.
233422
233423              profile
233424                     A dict with region,  key  and  keyid,  or  a  pillar  key
233425                     (string) that contains a dict with region, key and keyid.
233426
233427              wait_for_sync
233428                     Wait for an INSYNC change status from Route53.
233429
233430              split_dns
233431                     Route53  supports  a public and private DNS zone with the
233432                     same names.
233433
233434              private_zone
233435                     If using split_dns, specify if this is the private zone.
233436
233437       salt.states.boto_route53.hosted_zone_absent(name,     domain_name=None,
233438       region=None, key=None, keyid=None, profile=None)
233439              Ensure the Route53 Hostes Zone described is absent
233440
233441              name   The name of the state definition.
233442
233443              domain_name
233444                     The  FQDN  (including  final period) of the zone you wish
233445                     absent.  If not provided, the value of name will be used.
233446
233447       salt.states.boto_route53.hosted_zone_present(name,    domain_name=None,
233448       private_zone=False,    caller_ref=None,    comment=u'',    vpc_id=None,
233449       vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, pro‐
233450       file=None)
233451              Ensure a hosted zone exists with the given attributes. Note that
233452              most things cannot be modified once a zone is created - it  must
233453              be deleted and re-spun to update these attributes:
233454
233455              · private_zone (AWS API limitation).
233456
233457              · comment  (the  appropriate  call  exists in the AWS API and in
233458                boto3, but has not, as of this writing, been added to boto2).
233459
233460              · vpc_id (same story - we really need  to  rewrite  this  module
233461                with boto3)
233462
233463              · vpc_name (really just a pointer to vpc_id anyway).
233464
233465              · vpc_region (again, supported in boto3 but not boto2).
233466
233467              If  you  need the ability to update these attributes, please use
233468              the newer boto3_route53 module instead.
233469
233470              name   The name of the state definition.
233471
233472              domain_name
233473                     The name of the domain.  This  must  be  fully-qualified,
233474                     terminating  with  a  period.   This is the name you have
233475                     registered with your domain registrar.  It  is  also  the
233476                     name  you will delegate from your registrar to the Amazon
233477                     Route 53 delegation servers returned in response to  this
233478                     request.  Defaults to the value of name if not provided.
233479
233480              private_zone
233481                     Set True if creating a private hosted zone.
233482
233483              caller_ref
233484                     A  unique  string  that  identifies  the request and that
233485                     allows create_hosted_zone() calls to be  retried  without
233486                     the  risk  of  executing the operation twice.  This helps
233487                     ensure idempotency across  state  calls,  but  can  cause
233488                     issues  if  a zone is deleted and then an attempt is made
233489                     to recreate it with the same  caller_ref.   If  not  pro‐
233490                     vided, a unique UUID will be generated at each state run,
233491                     which avoids the risk of  the  above  (transient)  error.
233492                     This  option  is generally not needed.  Maximum length of
233493                     128.
233494
233495              comment
233496                     Any comments you want to include about the hosted zone.
233497
233498              vpc_id When creating a private hosted zone, either the VPC ID or
233499                     VPC  Name  to associate with is required.  Exclusive with
233500                     vpe_name.  Ignored when creating a non-private zone.
233501
233502              vpc_name
233503                     When creating a private hosted zone, either the VPC ID or
233504                     VPC  Name  to associate with is required.  Exclusive with
233505                     vpe_id.  Ignored when creating a non-private zone.
233506
233507              vpc_region
233508                     When creating a private hosted zone, the  region  of  the
233509                     associated  VPC  is required.  If not provided, an effort
233510                     will be made to determine it  from  vpc_id  or  vpc_name,
233511                     where possible.  If this fails, you'll need to provide an
233512                     explicit value for this option.  Ignored when creating  a
233513                     non-private zone.
233514
233515       salt.states.boto_route53.present(name,    value,   zone,   record_type,
233516       ttl=None,  identifier=None,  region=None,  key=None,  keyid=None,  pro‐
233517       file=None, wait_for_sync=True, split_dns=False, private_zone=False)
233518              Ensure the Route53 record is present.
233519
233520              name   Name of the record.
233521
233522              value
233523
233524                     Value of the record. As a special case, you can pass in:
233525                            private:<Name tag> to have the function autodeter‐
233526                            mine the private IP public:<Name tag> to have  the
233527                            function autodetermine the public IP
233528
233529              zone   The zone to create the record in.
233530
233531              record_type
233532                     The record type (A, NS, MX, TXT, etc.)
233533
233534              ttl    The time to live for the record.
233535
233536              identifier
233537                     The unique identifier to use for this record.
233538
233539              region The region to connect to.
233540
233541              key    Secret key to be used.
233542
233543              keyid  Access key to be used.
233544
233545              profile
233546                     A  dict  with  region,  key  and  keyid,  or a pillar key
233547                     (string) that contains a dict with region, key and keyid.
233548
233549              wait_for_sync
233550                     Wait for an INSYNC  change  status  from  Route53  before
233551                     returning success.
233552
233553              split_dns
233554                     Route53  supports  parallel  public and private DNS zones
233555                     with the same name.
233556
233557              private_zone
233558                     If using split_dns, specify if this is the private zone.
233559
233560       salt.states.boto_route53.rr_absent(*args, **kwargs)
233561
233562       salt.states.boto_route53.rr_present(*args, **kwargs)
233563
233564   salt.states.boto_s3_bucket module
233565   Manage S3 Buckets
233566       New in version 2016.3.0.
233567
233568
233569       Create and destroy S3 buckets. Be aware that this interacts  with  Ama‐
233570       zon's services, and so may incur charges.
233571
233572       depends
233573
233574              · boto
233575
233576              · boto3
233577
233578       The dependencies listed above can be installed via package or pip.
233579
233580       This  module  accepts explicit vpc credentials but can also utilize IAM
233581       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
233582       dentials  are  then  automatically obtained from AWS API and no further
233583       configuration is necessary. More information available here.
233584
233585       If IAM roles are not used you need to specify them either in  a  pillar
233586       file or in the minion's config file:
233587
233588          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
233589          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233590
233591       It's  also  possible  to  specify  key, keyid and region via a profile,
233592       either passed in as a dict, or as a string to pull from pillars or min‐
233593       ion config:
233594
233595          myprofile:
233596              keyid: GKTADJGHEIQSXMKKRBJ08H
233597              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233598              region: us-east-1
233599
233600          Ensure bucket exists:
233601              boto_s3_bucket.present:
233602                  - Bucket: mybucket
233603                  - LocationConstraint: EU
233604                  - ACL:
233605                    - GrantRead: "uri=http://acs.amazonaws.com/groups/global/AllUsers"
233606                  - CORSRules:
233607                    - AllowedHeaders: []
233608                      AllowedMethods: ["GET"]
233609                      AllowedOrigins: ["*"]
233610                      ExposeHeaders: []
233611                      MaxAgeSeconds: 123
233612                  - LifecycleConfiguration:
233613                    - Expiration:
233614                        Days: 123
233615                      ID: "idstring"
233616                      Prefix: "prefixstring"
233617                      Status: "enabled",
233618                      ID: "lc1"
233619                      Transitions:
233620                        - Days: 123
233621                          StorageClass: "GLACIER"
233622                      NoncurrentVersionTransitions:
233623                        - NoncurrentDays: 123
233624                          StorageClass: "GLACIER"
233625                      NoncurrentVersionExpiration:
233626                        NoncurrentDays: 123
233627                  - Logging:
233628                      TargetBucket: log_bucket
233629                      TargetPrefix: prefix
233630                      TargetGrants:
233631                        - Grantee:
233632                            DisplayName: "string"
233633                            EmailAddress: "string"
233634                            ID: "string"
233635                            Type: "AmazonCustomerByEmail"
233636                            URI: "string"
233637                          Permission: "READ"
233638                  - NotificationConfiguration:
233639                      LambdaFunctionConfiguration:
233640                        - Id: "string"
233641                          LambdaFunctionArn: "string"
233642                          Events:
233643                            - "s3:ObjectCreated:*"
233644                          Filter:
233645                            Key:
233646                              FilterRules:
233647                                - Name: "prefix"
233648                                  Value: "string"
233649                  - Policy:
233650                      Version: "2012-10-17"
233651                      Statement:
233652                        - Sid: "String"
233653                          Effect: "Allow"
233654                          Principal:
233655                            AWS: "arn:aws:iam::133434421342:root"
233656                          Action: "s3:PutObject"
233657                          Resource: "arn:aws:s3:::my-bucket/*"
233658                  - Replication:
233659                      Role: myrole
233660                      Rules:
233661                        - ID: "string"
233662                          Prefix: "string"
233663                          Status: "Enabled"
233664                          Destination:
233665                            Bucket: "arn:aws:s3:::my-bucket"
233666                  - RequestPayment:
233667                      Payer: Requester
233668                  - Tagging:
233669                      tag_name: tag_value
233670                      tag_name_2: tag_value
233671                  - Versioning:
233672                      Status: "Enabled"
233673                  - Website:
233674                      ErrorDocument:
233675                        Key: "error.html"
233676                      IndexDocument:
233677                        Suffix: "index.html"
233678                      RedirectAllRequestsTo:
233679                        Hostname: "string"
233680                        Protocol: "http"
233681                      RoutingRules:
233682                        - Condition:
233683                            HttpErrorCodeReturnedEquals: "string"
233684                            KeyPrefixEquals: "string"
233685                          Redirect:
233686                            HostName: "string"
233687                            HttpRedirectCode: "string"
233688                            Protocol: "http"
233689                            ReplaceKeyPrefixWith: "string"
233690                            ReplaceKeyWith: "string"
233691                  - region: us-east-1
233692                  - keyid: GKTADJGHEIQSXMKKRBJ08H
233693                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233694
233695       salt.states.boto_s3_bucket.absent(name,       Bucket,      Force=False,
233696       region=None, key=None, keyid=None, profile=None)
233697              Ensure bucket with passed properties is absent.
233698
233699              name   The name of the state definition.
233700
233701              Bucket Name of the bucket.
233702
233703              Force  Empty the bucket first if necessary - Boolean.
233704
233705              region Region to connect to.
233706
233707              key    Secret key to be used.
233708
233709              keyid  Access key to be used.
233710
233711              profile
233712                     A dict with region,  key  and  keyid,  or  a  pillar  key
233713                     (string) that contains a dict with region, key and keyid.
233714
233715       salt.states.boto_s3_bucket.present(name,      Bucket,      LocationCon‐
233716       straint=None,  ACL=None,  CORSRules=None,  LifecycleConfiguration=None,
233717       Logging=None,   NotificationConfiguration=None,  Policy=None,  Replica‐
233718       tion=None,  RequestPayment=None,  Tagging=None,  Versioning=None,  Web‐
233719       site=None, region=None, key=None, keyid=None, profile=None)
233720              Ensure bucket exists.
233721
233722              name   The name of the state definition
233723
233724              Bucket Name of the bucket.
233725
233726              LocationConstraint
233727                     'EU'|'eu-west-1'|'us-west-1'|'us-west-2'|'ap-south‐
233728                     east-1'|'ap-southeast-2'|'ap-north‐
233729                     east-1'|'sa-east-1'|'cn-north-1'|'eu-central-1'
233730
233731              ACL    The  permissions  on  a bucket using access control lists
233732                     (ACL).
233733
233734              CORSRules
233735                     The cors configuration for a bucket.
233736
233737              LifecycleConfiguration
233738                     Lifecycle configuration for your bucket
233739
233740              Logging
233741                     The logging parameters for a bucket and to  specify  per‐
233742                     missions  for who can view and modify the logging parame‐
233743                     ters.
233744
233745              NotificationConfiguration
233746                     notifications of specified events for a bucket
233747
233748              Policy Policy on the bucket
233749
233750              Replication
233751                     Replication rules. You can add as many  as  1,000  rules.
233752                     Total replication configuration size can be up to 2 MB
233753
233754              RequestPayment
233755                     The  request  payment  configuration  for  a  bucket.  By
233756                     default, the bucket owner pays  for  downloads  from  the
233757                     bucket.  This  configuration parameter enables the bucket
233758                     owner (only) to specify that the  person  requesting  the
233759                     download will be charged for the download
233760
233761              Tagging
233762                     A dictionary of tags that should be set on the bucket
233763
233764              Versioning
233765                     The versioning state of the bucket
233766
233767              Website
233768                     The website configuration of the bucket
233769
233770              region Region to connect to.
233771
233772              key    Secret key to be used.
233773
233774              keyid  Access key to be used.
233775
233776              profile
233777                     A  dict  with  region,  key  and  keyid,  or a pillar key
233778                     (string) that contains a dict with region, key and keyid.
233779
233780   salt.states.boto_secgroup
233781   Manage Security Groups
233782       New in version 2014.7.0.
233783
233784
233785       Create and destroy Security Groups. Be aware that this  interacts  with
233786       Amazon's services, and so may incur charges.
233787
233788       This module uses boto, which can be installed via package, or pip.
233789
233790       This  module  accepts explicit EC2 credentials but can also utilize IAM
233791       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
233792       dentials  are  then  automatically obtained from AWS API and no further
233793       configuration is necessary. More information available here.
233794
233795       If IAM roles are not used you need to specify them either in  a  pillar
233796       file or in the minion's config file:
233797
233798          secgroup.keyid: GKTADJGHEIQSXMKKRBJ08H
233799          secgroup.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233800
233801       It's  also  possible  to  specify  key, keyid and region via a profile,
233802       either passed in as a dict, or as a string to pull from pillars or min‐
233803       ion config:
233804
233805          myprofile:
233806              keyid: GKTADJGHEIQSXMKKRBJ08H
233807              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233808              region: us-east-1
233809
233810          Ensure mysecgroup exists:
233811              boto_secgroup.present:
233812                  - name: mysecgroup
233813                  - description: My security group
233814                  - vpc_name: myvpc
233815                  - rules:
233816                      - ip_protocol: tcp
233817                        from_port: 80
233818                        to_port: 80
233819                        cidr_ip:
233820                          - 10.0.0.0/8
233821                          - 192.168.0.0/16
233822                      - ip_protocol: tcp
233823                        from_port: 8080
233824                        to_port: 8090
233825                        cidr_ip:
233826                          - 10.0.0.0/8
233827                          - 192.168.0.0/16
233828                      - ip_protocol: icmp
233829                        from_port: -1
233830                        to_port: -1
233831                        source_group_name: mysecgroup
233832                      - ip_protocol: tcp
233833                        from_port: 8080
233834                        to_port: 8080
233835                        source_group_name: MyOtherSecGroup
233836                        source_group_name_vpc: MyPeeredVPC
233837                  - rules_egress:
233838                      - ip_protocol: all
233839                        from_port: -1
233840                        to_port: -1
233841                        cidr_ip:
233842                          - 10.0.0.0/8
233843                          - 192.168.0.0/16
233844                  - tags:
233845                      SomeTag: 'My Tag Value'
233846                      SomeOtherTag: 'Other Tag Value'
233847                  - region: us-east-1
233848                  - keyid: GKTADJGHEIQSXMKKRBJ08H
233849                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233850
233851          # Using a profile from pillars
233852          Ensure mysecgroup exists:
233853              boto_secgroup.present:
233854                  - name: mysecgroup
233855                  - description: My security group
233856                  - profile: myprofile
233857
233858          # Passing in a profile
233859          Ensure mysecgroup exists:
233860              boto_secgroup.present:
233861                  - name: mysecgroup
233862                  - description: My security group
233863                  - profile:
233864                      keyid: GKTADJGHEIQSXMKKRBJ08H
233865                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233866                      region: us-east-1
233867
233868       NOTE:
233869          When  using  the  profile parameter and region is set outside of the
233870          profile group, region is ignored and a default region will be used.
233871
233872          If region is missing from the profile data set,  us-east-1  will  be
233873          used as the default region.
233874
233875       salt.states.boto_secgroup.absent(name,    vpc_id=None,   vpc_name=None,
233876       region=None, key=None, keyid=None, profile=None)
233877              Ensure a security group with the specified name does not exist.
233878
233879              name   Name of the security group.
233880
233881              vpc_id The ID of the VPC to remove the security group  from,  if
233882                     any. Exclusive with vpc_name.
233883
233884              vpc_name
233885                     The name of the VPC to remove the security group from, if
233886                     any. Exclusive with vpc_name.
233887
233888                     New in version 2016.3.0.
233889
233890
233891              region Region to connect to.
233892
233893              key    Secret key to be used.
233894
233895              keyid  Access key to be used.
233896
233897              profile
233898                     A dict with region,  key  and  keyid,  or  a  pillar  key
233899                     (string) that contains a dict with region, key and keyid.
233900
233901                     New in version 2016.3.0.
233902
233903
233904       salt.states.boto_secgroup.present(name,    description,    vpc_id=None,
233905       vpc_name=None,              rules=None,              rules_egress=None,
233906       delete_ingress_rules=True,    delete_egress_rules=True,    region=None,
233907       key=None, keyid=None, profile=None, tags=None)
233908              Ensure the security group exists with the specified rules.
233909
233910              name   Name of the security group.
233911
233912              description
233913                     A description of this security group.
233914
233915              vpc_id The ID of the VPC to create the  security  group  in,  if
233916                     any. Exclusive with vpc_name.
233917
233918              vpc_name
233919                     The  name  of the VPC to create the security group in, if
233920                     any. Exclusive with vpc_id.
233921
233922                     New in version 2016.3.0.
233923
233924
233925                     New in version 2015.8.2.
233926
233927
233928              rules  A  list  of  ingress  rule  dicts.  If   not   specified,
233929                     rules=None,  the  ingress rules will be unmanaged. If set
233930                     to an empty list, [], then  all  ingress  rules  will  be
233931                     removed.
233932
233933              rules_egress
233934                     A   list   of   egress  rule  dicts.  If  not  specified,
233935                     rules_egress=None, the egress rules will be unmanaged. If
233936                     set  to  an empty list, [], then all egress rules will be
233937                     removed.
233938
233939              delete_ingress_rules
233940                     Some tools (EMR comes to mind)  insist  on  adding  rules
233941                     on-the-fly,  which  salt  will happily remove on the next
233942                     run.  Set this param to False  to  avoid  deleting  rules
233943                     which were added outside of salt.
233944
233945              delete_egress_rules
233946                     Some  tools  (EMR  comes  to mind) insist on adding rules
233947                     on-the-fly, which salt will happily remove  on  the  next
233948                     run.   Set  this  param  to False to avoid deleting rules
233949                     which were added outside of salt.
233950
233951              region Region to connect to.
233952
233953              key    Secret key to be used.
233954
233955              keyid  Access key to be used.
233956
233957              profile
233958                     A dict with region,  key  and  keyid,  or  a  pillar  key
233959                     (string)  that  contains  a  dict  with  region, key, and
233960                     keyid.
233961
233962              tags   List of key:value pairs of tags to set  on  the  security
233963                     group
233964
233965                     New in version 2016.3.0.
233966
233967
233968   salt.states.boto_sns
233969       Manage SNS Topics
233970
233971       Create  and  destroy SNS topics. Be aware that this interacts with Ama‐
233972       zon's services, and so may incur charges.
233973
233974       This module uses boto, which can be installed via package, or pip.
233975
233976       This module accepts explicit AWS credentials but can also  utilize  IAM
233977       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
233978       dentials are then automatically obtained from AWS API  and  no  further
233979       configuration is necessary. More information available here.
233980
233981       If  IAM  roles are not used you need to specify them either in a pillar
233982       file or in the minion's config file:
233983
233984          sns.keyid: GKTADJGHEIQSXMKKRBJ08H
233985          sns.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233986
233987       It's also possible to specify key, keyid  and  region  via  a  profile,
233988       either passed in as a dict, or as a string to pull from pillars or min‐
233989       ion config:
233990
233991          myprofile:
233992              keyid: GKTADJGHEIQSXMKKRBJ08H
233993              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
233994              region: us-east-1
233995
233996          mytopic:
233997              boto_sns.present:
233998                  - region: us-east-1
233999                  - keyid: GKTADJGHEIQSXMKKRBJ08H
234000                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234001
234002          # Using a profile from pillars
234003          mytopic:
234004              boto_sns.present:
234005                  - region: us-east-1
234006                  - profile: mysnsprofile
234007
234008          # Passing in a profile
234009          mytopic:
234010              boto_sns.present:
234011                  - region: us-east-1
234012                  - profile:
234013                      keyid: GKTADJGHEIQSXMKKRBJ08H
234014                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234015
234016       salt.states.boto_sns.absent(name,  region=None,  key=None,  keyid=None,
234017       profile=None, unsubscribe=False)
234018              Ensure the named sns topic is deleted.
234019
234020              name   Name of the SNS topic.
234021
234022              region Region to connect to.
234023
234024              key    Secret key to be used.
234025
234026              keyid  Access key to be used.
234027
234028              profile
234029                     A  dict  with  region,  key  and  keyid,  or a pillar key
234030                     (string) that contains a dict with region, key and keyid.
234031
234032              unsubscribe
234033                     If True, unsubscribe all subcriptions to  the  SNS  topic
234034                     before deleting the SNS topic
234035
234036                     New in version 2016.11.0.
234037
234038
234039       salt.states.boto_sns.present(name,   subscriptions=None,   region=None,
234040       key=None, keyid=None, profile=None)
234041              Ensure the SNS topic exists.
234042
234043              name   Name of the SNS topic.
234044
234045              subscriptions
234046                     List of SNS subscriptions.
234047
234048                     Each subscription is a dictionary  with  a  protocol  and
234049                     endpoint key:
234050
234051                        [
234052                        {'protocol': 'https', 'endpoint': 'https://www.example.com/sns-endpoint'},
234053                        {'protocol': 'sqs', 'endpoint': 'arn:aws:sqs:us-west-2:123456789012:MyQueue'}
234054                        ]
234055
234056              region Region to connect to.
234057
234058              key    Secret key to be used.
234059
234060              keyid  Access key to be used.
234061
234062              profile
234063                     A  dict  with  region,  key  and  keyid,  or a pillar key
234064                     (string) that contains a dict with region, key and keyid.
234065
234066   salt.states.boto_sqs
234067       Manage SQS Queues
234068
234069       New in version 2014.7.0.
234070
234071
234072       Create and destroy SQS queues. Be aware that this interacts  with  Ama‐
234073       zon's services, and so may incur charges.
234074
234075       This module uses boto, which can be installed via package, or pip.
234076
234077       This  module  accepts explicit SQS credentials but can also utilize IAM
234078       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
234079       dentials  are  then  automatically obtained from AWS API and no further
234080       configuration is necessary. More information available here.
234081
234082       If IAM roles are not used you need to specify them either in  a  pillar
234083       file or in the minion's config file:
234084
234085          sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
234086          sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234087
234088       It's  also  possible  to  specify  key, keyid and region via a profile,
234089       either passed in as a dict, or as a string to pull from pillars or min‐
234090       ion config:
234091
234092          myprofile:
234093              keyid: GKTADJGHEIQSXMKKRBJ08H
234094              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234095              region: us-east-1
234096
234097          myqueue:
234098              boto_sqs.present:
234099                  - region: us-east-1
234100                  - keyid: GKTADJGHEIQSXMKKRBJ08H
234101                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234102                  - attributes:
234103                      ReceiveMessageWaitTimeSeconds: 20
234104
234105          # Using a profile from pillars
234106          myqueue:
234107              boto_sqs.present:
234108                  - region: us-east-1
234109                  - profile: mysqsprofile
234110
234111          # Passing in a profile
234112          myqueue:
234113              boto_sqs.present:
234114                  - region: us-east-1
234115                  - profile:
234116                      keyid: GKTADJGHEIQSXMKKRBJ08H
234117                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234118
234119       salt.states.boto_sqs.absent(name,  region=None,  key=None,  keyid=None,
234120       profile=None)
234121              Ensure the named sqs queue is deleted.
234122
234123              name   Name of the SQS queue.
234124
234125              region Region to connect to.
234126
234127              key    Secret key to be used.
234128
234129              keyid  Access key to be used.
234130
234131              profile
234132                     A dict with region,  key  and  keyid,  or  a  pillar  key
234133                     (string) that contains a dict with region, key and keyid.
234134
234135       salt.states.boto_sqs.present(name,     attributes=None,    region=None,
234136       key=None, keyid=None, profile=None)
234137              Ensure the SQS queue exists.
234138
234139              name   Name of the SQS queue.
234140
234141              attributes
234142                     A dict of key/value SQS attributes.
234143
234144              region Region to connect to.
234145
234146              key    Secret key to be used.
234147
234148              keyid  Access key to be used.
234149
234150              profile
234151                     A dict with region,  key  and  keyid,  or  a  pillar  key
234152                     (string) that contains a dict with region, key and keyid.
234153
234154   salt.states.boto_vpc
234155   Manage VPCs
234156       New in version 2015.8.0.
234157
234158
234159       depends
234160
234161       · boto >= 2.8.0
234162
234163       · boto3 >= 1.2.6
234164
234165       Create  and  destroy  VPCs.  Be aware that this interacts with Amazon's
234166       services, and so may incur charges.
234167
234168       This module accepts explicit vpc credentials but can also  utilize  IAM
234169       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
234170       dentials are then automatically obtained from AWS API  and  no  further
234171       configuration is necessary. More information available here.
234172
234173       If  IAM  roles are not used you need to specify them either in a pillar
234174       file or in the minion's config file:
234175
234176          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
234177          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234178
234179       It's also possible to specify key, keyid  and  region  via  a  profile,
234180       either passed in as a dict, or as a string to pull from pillars or min‐
234181       ion config:
234182
234183          myprofile:
234184            keyid: GKTADJGHEIQSXMKKRBJ08H
234185            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234186            region: us-east-1
234187
234188          aws:
234189            region:
234190              us-east-1:
234191                profile:
234192                  keyid: GKTADJGHEIQSXMKKRBJ08H
234193                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234194                  region: us-east-1
234195
234196          Ensure VPC exists:
234197            boto_vpc.present:
234198              - name: myvpc
234199              - cidr_block: 10.10.11.0/24
234200              - dns_hostnames: True
234201              - region: us-east-1
234202              - keyid: GKTADJGHEIQSXMKKRBJ08H
234203              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234204
234205          Ensure subnet exists:
234206            boto_vpc.subnet_present:
234207              - name: mysubnet
234208              - vpc_id: vpc-123456
234209              - cidr_block: 10.0.0.0/16
234210              - region: us-east-1
234211              - profile: myprofile
234212
234213          {% set profile = salt['pillar.get']('aws:region:us-east-1:profile' ) %}
234214          Ensure internet gateway exists:
234215            boto_vpc.internet_gateway_present:
234216              - name: myigw
234217              - vpc_name: myvpc
234218              - profile: {{ profile }}
234219
234220          Ensure route table exists:
234221            boto_vpc.route_table_present:
234222              - name: my_route_table
234223              - vpc_id: vpc-123456
234224              - routes:
234225                - destination_cidr_block: 0.0.0.0/0
234226                  instance_id: i-123456
234227                - subnet_names:
234228                  - subnet1
234229                  - subnet2
234230                - region: us-east-1
234231                - profile:
234232                  keyid: GKTADJGHEIQSXMKKRBJ08H
234233                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
234234
234235       New in version 2016.11.0.
234236
234237
234238       Request, accept and delete VPC peering connections.  VPC  peering  con‐
234239       nections can be named allowing the name to be used throughout the state
234240       file. Following example shows how to request and accept a  VPC  peering
234241       connection.
234242
234243          accept the vpc peering connection:
234244            boto_vpc.accept_vpc_peering_connection:
234245              - conn_name: salt_vpc_peering
234246              - region: us-west-2
234247              - require:
234248                - boto_vpc: request a vpc peering connection
234249
234250          request a vpc peering connection:
234251            boto_vpc.request_vpc_peering_connection:
234252              - requester_vpc_id: vpc-4a3d522e
234253              - peer_vpc_id: vpc-ae81e9ca
234254              - region: us-west-2
234255              - conn_name: salt_vpc_peering
234256
234257       VPC peering connections need not be named. In this case the VPC peering
234258       connection ID should be used in the state file.
234259
234260          accept the vpc peering connection:
234261            boto_vpc.accept_vpc_peering_connection:
234262              - conn_id: pcx-1873c371
234263              - region: us-west-2
234264
234265       VPC peering connections can be deleted, as shown below.
234266
234267          delete a named vpc peering connection:
234268            boto_vpc.delete_vpc_peering_connection:
234269              - conn_name: salt_vpc_peering
234270
234271       Delete also accepts a VPC peering connection id.
234272
234273          delete a vpc peering connection by id:
234274            boto_vpc.delete_vpc_peering_connection:
234275              - conn_id: pcx-1873c371
234276
234277       salt.states.boto_vpc.absent(name,  tags=None,  region=None,   key=None,
234278       keyid=None, profile=None)
234279              Ensure VPC with passed properties is absent.
234280
234281              name   Name of the VPC.
234282
234283              tags   A list of tags. All tags must match.
234284
234285              region Region to connect to.
234286
234287              key    Secret key to be used.
234288
234289              keyid  Access key to be used.
234290
234291              profile
234292                     A  dict  with  region,  key  and  keyid,  or a pillar key
234293                     (string) that contains a dict with region, key and keyid.
234294
234295       salt.states.boto_vpc.accept_vpc_peering_connection(name=None,
234296       conn_id=None,  conn_name=None,  region=None, key=None, keyid=None, pro‐
234297       file=None)
234298              Accept a VPC pending requested peering  connection  between  two
234299              VPCs.
234300
234301              name   Name of this state
234302
234303              conn_id
234304                     The  connection  ID  to accept. Exclusive with conn_name.
234305                     String type.
234306
234307              conn_name
234308                     The name of the VPC peering connection to accept.  Exclu‐
234309                     sive with conn_id. String type.
234310
234311              region Region to connect to.
234312
234313              key    Secret key to be used.
234314
234315              keyid  Access key to be used.
234316
234317              profile
234318                     A  dict  with  region,  key  and  keyid,  or a pillar key
234319                     (string) that contains a dict with region, key and keyid.
234320
234321              New in version 2016.11.0.
234322
234323
234324              Example:
234325
234326                 boto_vpc.accept_vpc_peering_connection:
234327                   - conn_name: salt_peering_connection
234328
234329                 # usage with vpc peering connection id and region
234330                 boto_vpc.accept_vpc_peering_connection:
234331                   - conn_id: pbx-1873d472
234332                   - region: us-west-2
234333
234334       salt.states.boto_vpc.delete_vpc_peering_connection(name,  conn_id=None,
234335       conn_name=None, region=None, key=None, keyid=None, profile=None)
234336
234337              name   Name of the state
234338
234339              conn_id
234340                     ID  of  the peering connection to delete.  Exclusive with
234341                     conn_name.
234342
234343              conn_name
234344                     The name of the peering connection to delete.   Exclusive
234345                     with conn_id.
234346
234347              region Region to connect to.
234348
234349              key    Secret key to be used.
234350
234351              keyid  Access key to be used.
234352
234353              profile
234354                     A  dict  with  region,  key  and  keyid,  or a pillar key
234355                     (string) that contains a dict with region, key and keyid.
234356
234357              New in version 2016.11.0.
234358
234359
234360              Example:
234361
234362                 delete a vpc peering connection:
234363                   boto_vpc.delete_vpc_peering_connection:
234364                     - region: us-west-2
234365                     - conn_id: pcx-4613b12e
234366
234367              Connection name can be specified (instead  of  ID).   Specifying
234368              both conn_name and conn_id will result in an error.
234369
234370                 delete a vpc peering connection:
234371                   boto_vpc.delete_vpc_peering_connection:
234372                     - conn_name: salt_vpc_peering
234373
234374       salt.states.boto_vpc.dhcp_options_absent(name=None,
234375       dhcp_options_id=None, region=None, key=None, keyid=None, profile=None)
234376              Ensure a set of DHCP options with the given settings exist.
234377
234378              name   (string) Name of the DHCP options set.
234379
234380              dhcp_options_id
234381                     (string) Id of the DHCP options set.
234382
234383              region (string) Region to connect to.
234384
234385              key    (string) Secret key to be used.
234386
234387              keyid  (string) Access key to be used.
234388
234389              profile
234390                     (various) A dict with region, key and keyid, or a  pillar
234391                     key  (string)  that  contains a dict with region, key and
234392                     keyid.
234393
234394              New in version 2016.3.0.
234395
234396
234397       salt.states.boto_vpc.dhcp_options_present(name,   dhcp_options_id=None,
234398       vpc_name=None, vpc_id=None, domain_name=None, domain_name_servers=None,
234399       ntp_servers=None,  netbios_name_servers=None,   netbios_node_type=None,
234400       tags=None, region=None, key=None, keyid=None, profile=None)
234401              Ensure  a  set  of  DHCP  options with the given settings exist.
234402              Note that the current implementation  only  SETS  values  during
234403              option  set  creation.   It  is  unable to update option sets in
234404              place, and thus merely verifies the set  exists  via  the  given
234405              name and/or dhcp_options_id param.
234406
234407              name   (string) Name of the DHCP options.
234408
234409              vpc_name
234410                     (string)  Name  of  a  VPC to which the options should be
234411                     associated.  Either vpc_name or vpc_id must be provided.
234412
234413              vpc_id (string) Id of a VPC to which the options should be asso‐
234414                     ciated.  Either vpc_name or vpc_id must be provided.
234415
234416              domain_name
234417                     (string)  Domain  name  to be assiciated with this option
234418                     set.
234419
234420              domain_name_servers
234421                     (list of strings) The IP address(es) of up to four domain
234422                     name servers.
234423
234424              ntp_servers
234425                     (list  of  strings)  The  IP  address(es)  of  up to four
234426                     desired NTP servers.
234427
234428              netbios_name_servers
234429                     (list of strings) The IP address(es) of up to  four  Net‐
234430                     BIOS name servers.
234431
234432              netbios_node_type
234433                     (string) The NetBIOS node type (1, 2, 4, or 8).  For more
234434                     information about the allowed values, see RFC 2132.   The
234435                     recommended  is  2  at this time (broadcast and multicast
234436                     are currently not supported).
234437
234438              tags   (dict of key:value pairs) A set of tags to be added.
234439
234440              region (string) Region to connect to.
234441
234442              key    (string) Secret key to be used.
234443
234444              keyid  (string) Access key to be used.
234445
234446              profile
234447                     (various) A dict with region, key and keyid, or a  pillar
234448                     key  (string)  that  contains a dict with region, key and
234449                     keyid.
234450
234451              New in version 2016.3.0.
234452
234453
234454       salt.states.boto_vpc.internet_gateway_absent(name,        detach=False,
234455       region=None, key=None, keyid=None, profile=None)
234456              Ensure the named internet gateway is absent.
234457
234458              name   Name of the internet gateway.
234459
234460              detach First   detach  the  internet  gateway  from  a  VPC,  if
234461                     attached.
234462
234463              region Region to connect to.
234464
234465              key    Secret key to be used.
234466
234467              keyid  Access key to be used.
234468
234469              profile
234470                     A dict with region,  key  and  keyid,  or  a  pillar  key
234471                     (string) that contains a dict with region, key and keyid.
234472
234473       salt.states.boto_vpc.internet_gateway_present(name,      vpc_name=None,
234474       vpc_id=None,  tags=None,  region=None,   key=None,   keyid=None,   pro‐
234475       file=None)
234476              Ensure an internet gateway exists.
234477
234478              name   Name of the internet gateway.
234479
234480              vpc_name
234481                     Name  of  the VPC to which the internet gateway should be
234482                     attached.
234483
234484              vpc_id Id of the VPC to which  the  internet_gateway  should  be
234485                     attached.   Only  one  of  vpc_name or vpc_id may be pro‐
234486                     vided.
234487
234488              tags   A list of tags.
234489
234490              region Region to connect to.
234491
234492              key    Secret key to be used.
234493
234494              keyid  Access key to be used.
234495
234496              profile
234497                     A dict with region,  key  and  keyid,  or  a  pillar  key
234498                     (string) that contains a dict with region, key and keyid.
234499
234500       salt.states.boto_vpc.nat_gateway_absent(name=None,    subnet_name=None,
234501       subnet_id=None,  region=None,   key=None,   keyid=None,   profile=None,
234502       wait_for_delete_retries=0)
234503              Ensure the nat gateway in the named subnet is absent.
234504
234505              This function requires boto3.
234506
234507              New in version 2016.11.0.
234508
234509
234510              name   Name of the state.
234511
234512              subnet_name
234513                     Name  of  the  subnet within which the nat gateway should
234514                     exist
234515
234516              subnet_id
234517                     Id of the subnet within  which  the  nat  gateway  should
234518                     exist.  Either subnet_name or subnet_id must be provided.
234519
234520              region Region to connect to.
234521
234522              key    Secret key to be used.
234523
234524              keyid  Access key to be used.
234525
234526              profile
234527                     A  dict  with  region,  key  and  keyid,  or a pillar key
234528                     (string) that contains a dict with region, key and keyid.
234529
234530              wait_for_delete_retries
234531                     NAT gateway may take some time to be go into  deleted  or
234532                     failed  state.   During  the deletion process, subsequent
234533                     release of elastic IPs may fail; this state will automat‐
234534                     ically retry this number of times to ensure the NAT gate‐
234535                     way is in deleted  or  failed  state  before  proceeding.
234536                     Default is set to 0 for backward compatibility.
234537
234538       salt.states.boto_vpc.nat_gateway_present(name,  subnet_name=None,  sub‐
234539       net_id=None, region=None, key=None, keyid=None,  profile=None,  alloca‐
234540       tion_id=None)
234541              Ensure a nat gateway exists within the specified subnet
234542
234543              This function requires boto3.
234544
234545              New in version 2016.11.0.
234546
234547
234548              Example:
234549
234550                 boto_vpc.nat_gateway_present:
234551                   - subnet_name: my-subnet
234552
234553              name   Name of the state
234554
234555              subnet_name
234556                     Name  of  the  subnet within which the nat gateway should
234557                     exist
234558
234559              subnet_id
234560                     Id of the subnet within  which  the  nat  gateway  should
234561                     exist.  Either subnet_name or subnet_id must be provided.
234562
234563              allocation_id
234564                     If specified, the elastic IP address referenced by the ID
234565                     is associated with the gateway. Otherwise, a new  alloca‐
234566                     tion_id is created and used.
234567
234568              region Region to connect to.
234569
234570              key    Secret key to be used.
234571
234572              keyid  Access key to be used.
234573
234574              profile
234575                     A  dict  with  region,  key  and  keyid,  or a pillar key
234576                     (string) that contains a dict with region, key and keyid.
234577
234578       salt.states.boto_vpc.present(name,  cidr_block,  instance_tenancy=None,
234579       dns_support=None, dns_hostnames=None, tags=None, region=None, key=None,
234580       keyid=None, profile=None)
234581              Ensure VPC exists.
234582
234583              name   Name of the VPC.
234584
234585              cidr_block
234586                     The  range  of  IPs  in   CIDR   format,   for   example:
234587                     10.0.0.0/24.  Block size must be between /16 and /28 net‐
234588                     mask.
234589
234590              instance_tenancy
234591                     Instances launched in this VPC will  be  ingle-tenant  or
234592                     dedicated hardware.
234593
234594              dns_support
234595                     Indicates whether the DNS resolution is supported for the
234596                     VPC.
234597
234598              dns_hostnames
234599                     Indicates whether the instances launched in the  VPC  get
234600                     DNS hostnames.
234601
234602              tags   A list of tags.
234603
234604              region Region to connect to.
234605
234606              key    Secret key to be used.
234607
234608              keyid  Access key to be used.
234609
234610              profile
234611                     A  dict  with  region,  key  and  keyid,  or a pillar key
234612                     (string) that contains a dict with region, key and keyid.
234613
234614       salt.states.boto_vpc.request_vpc_peering_connection(name,
234615       requester_vpc_id=None,    requester_vpc_name=None,    peer_vpc_id=None,
234616       peer_vpc_name=None,  conn_name=None,  peer_owner_id=None,  region=None,
234617       key=None, keyid=None, profile=None)
234618
234619              name   Name of the state
234620
234621              requester_vpc_id
234622                     ID    of    the    requesting    VPC.    Exclusive   with
234623                     requester_vpc_name. String type.
234624
234625              requester_vpc_name
234626                     Name  tag  of  the  requesting   VPC.    Exclusive   with
234627                     requester_vpc_id.  String type.
234628
234629              peer_vpc_id
234630                     ID of the VPC tp crete VPC peering connection with.  This
234631                     can  be  a  VPC  in  another  account.   Exclusive   with
234632                     peer_vpc_name. String type.
234633
234634              peer_vpc_name
234635                     Name tag of the VPC tp crete VPC peering connection with.
234636                     This can only be a VPC the same account.  Exclusive  with
234637                     peer_vpc_id.  String type.
234638
234639              conn_name
234640                     The  (optional)  name to use for this VPC peering connec‐
234641                     tion. String type.
234642
234643              peer_owner_id
234644                     ID of the owner of the peer VPC.  String  type.  If  this
234645                     isn't  supplied  AWS  uses  your account ID.  Required if
234646                     peering to a different account.
234647
234648              region Region to connect to.
234649
234650              key    Secret key to be used.
234651
234652              keyid  Access key to be used.
234653
234654              profile
234655                     A dict with region,  key  and  keyid,  or  a  pillar  key
234656                     (string) that contains a dict with region, key and keyid.
234657
234658              New in version 2016.11.0.
234659
234660
234661              Example:
234662
234663                 request a vpc peering connection:
234664                   boto_vpc.request_vpc_peering_connection:
234665                     - requester_vpc_id: vpc-4b3522e
234666                     - peer_vpc_id: vpc-ae83f9ca
234667                     - conn_name: salt_peering_connection
234668
234669       salt.states.boto_vpc.route_table_absent(name,   region=None,  key=None,
234670       keyid=None, profile=None)
234671              Ensure the named route table is absent.
234672
234673              name   Name of the route table.
234674
234675              region Region to connect to.
234676
234677              key    Secret key to be used.
234678
234679              keyid  Access key to be used.
234680
234681              profile
234682                     A dict with region,  key  and  keyid,  or  a  pillar  key
234683                     (string) that contains a dict with region, key and keyid.
234684
234685       salt.states.boto_vpc.route_table_present(name,           vpc_name=None,
234686       vpc_id=None,    routes=None,    subnet_ids=None,     subnet_names=None,
234687       tags=None, region=None, key=None, keyid=None, profile=None)
234688              Ensure  route  table  with  routes exists and is associated to a
234689              VPC.
234690
234691              This function requires boto3 to be installed if nat gatewyas are
234692              specified.
234693
234694              Example:
234695
234696                 boto_vpc.route_table_present:
234697                   - name: my_route_table
234698                   - vpc_id: vpc-123456
234699                   - routes:
234700                     - destination_cidr_block: 0.0.0.0/0
234701                       internet_gateway_name: InternetGateway
234702                     - destination_cidr_block: 10.10.11.0/24
234703                       instance_id: i-123456
234704                     - destination_cidr_block: 10.10.12.0/24
234705                       interface_id: eni-123456
234706                     - destination_cidr_block: 10.10.13.0/24
234707                       instance_name: mygatewayserver
234708                   - subnet_names:
234709                     - subnet1
234710                     - subnet2
234711
234712              name   Name of the route table.
234713
234714              vpc_name
234715                     Name  of  the  VPC  with  which the route table should be
234716                     associated.
234717
234718              vpc_id Id of the VPC with which the route table should be  asso‐
234719                     ciated.  Either vpc_name or vpc_id must be provided.
234720
234721              routes A list of routes.  Each route has a cidr and a target.
234722
234723              subnet_ids
234724                     A list of subnet ids to associate
234725
234726              subnet_names
234727                     A list of subnet names to associate
234728
234729              tags   A list of tags.
234730
234731              region Region to connect to.
234732
234733              key    Secret key to be used.
234734
234735              keyid  Access key to be used.
234736
234737              profile
234738                     A  dict  with  region,  key  and  keyid,  or a pillar key
234739                     (string) that contains a dict with region, key and keyid.
234740
234741       salt.states.boto_vpc.subnet_absent(name=None,           subnet_id=None,
234742       region=None, key=None, keyid=None, profile=None)
234743              Ensure subnet with passed properties is absent.
234744
234745              name   Name of the subnet.
234746
234747              region Region to connect to.
234748
234749              key    Secret key to be used.
234750
234751              keyid  Access key to be used.
234752
234753              profile
234754                     A  dict  with  region,  key  and  keyid,  or a pillar key
234755                     (string) that contains a dict with region, key and keyid.
234756
234757       salt.states.boto_vpc.subnet_present(name,  cidr_block,   vpc_name=None,
234758       vpc_id=None,  availability_zone=None, tags=None, region=None, key=None,
234759       keyid=None, profile=None,  route_table_id=None,  route_table_name=None,
234760       auto_assign_public_ipv4=False)
234761              Ensure a subnet exists.
234762
234763              name   Name of the subnet.
234764
234765              cidr_block
234766                     The  range  if  IPs  for  the subnet, in CIDR format. For
234767                     example: 10.0.0.0/24. Block size must be between /16  and
234768                     /28 netmask.
234769
234770              vpc_name
234771                     Name  of  the  VPC  in which the subnet should be placed.
234772                     Either vpc_name or vpc_id must be provided.
234773
234774              vpc_id Id of the VPC in  which  the  subnet  should  be  placed.
234775                     Either vpc_name or vpc_id must be provided.
234776
234777              availability_zone
234778                     AZ in which the subnet should be placed.
234779
234780              tags   A list of tags.
234781
234782              route_table_id
234783                     A route table ID to explicitly associate the subnet with.
234784                     If both route_table_id and  route_table_name  are  speci‐
234785                     fied, route_table_id will take precedence.
234786
234787                     New in version 2016.11.0.
234788
234789
234790              route_table_name
234791                     A  route  table  name  to explicitly associate the subnet
234792                     with.  If both route_table_id  and  route_table_name  are
234793                     specified, route_table_id will take precedence.
234794
234795                     New in version 2016.11.0.
234796
234797
234798              region Region to connect to.
234799
234800              key    Secret key to be used.
234801
234802              keyid  Access key to be used.
234803
234804              profile
234805                     A  dict  with  region,  key  and  keyid,  or a pillar key
234806                     (string) that contains a dict with region, key and keyid.
234807
234808       salt.states.boto_vpc.vpc_peering_connection_absent(name,  conn_id=None,
234809       conn_name=None, region=None, key=None, keyid=None, profile=None)
234810
234811       salt.states.boto_vpc.vpc_peering_connection_present(name,
234812       requester_vpc_id=None,    requester_vpc_name=None,    peer_vpc_id=None,
234813       peer_vpc_name=None,  conn_name=None,  peer_owner_id=None,  region=None,
234814       key=None, keyid=None, profile=None)
234815
234816              name   Name of the state
234817
234818              requester_vpc_id
234819                     ID   of    the    requesting    VPC.    Exclusive    with
234820                     requester_vpc_name.
234821
234822              requester_vpc_name
234823                     Name   tag   of   the  requesting  VPC.   Exclusive  with
234824                     requester_vpc_id.
234825
234826              peer_vpc_id
234827                     ID of the VPC tp crete VPC peering connection with.  This
234828                     can   be   a  VPC  in  another  account.  Exclusive  with
234829                     peer_vpc_name.
234830
234831              peer_vpc_name
234832                     Name tag of the VPC tp crete VPC peering connection with.
234833                     This  can only be a VPC in the same account, else resolv‐
234834                     ing  it  into  a  vpc  ID  will  fail.   Exclusive   with
234835                     peer_vpc_id.
234836
234837              conn_name
234838                     The name to use for this VPC peering connection.
234839
234840              peer_owner_id
234841                     ID of the owner of the peer VPC. Defaults to your account
234842                     ID, so a value is required if peering with  a  VPC  in  a
234843                     different account.
234844
234845              region Region to connect to.
234846
234847              key    Secret key to be used.
234848
234849              keyid  Access key to be used.
234850
234851              profile
234852                     A  dict  with  region,  key  and  keyid,  or a pillar key
234853                     (string) that contains a dict with region, key and keyid.
234854
234855              New in version 2016.11.0.
234856
234857
234858              Example:
234859
234860                 ensure peering twixt local vpc and the other guys:
234861                   boto_vpc.vpc_peering_connection_present:
234862                     - requester_vpc_name: my_local_vpc
234863                     - peer_vpc_name: some_other_guys_vpc
234864                     - conn_name: peering_from_here_to_there
234865                     - peer_owner_id: 012345654321
234866
234867   salt.states.bower
234868   Installation of Bower Packages
234869       These states manage the installed packages using Bower.  Note that npm,
234870       git  and  bower  must be installed for these states to be available, so
234871       bower states should include requisites to pkg.installed states for  the
234872       packages  which provide npm and git (simply npm and git in most cases),
234873       and npm.installed state for the package which provides bower.
234874
234875       Example:
234876
234877          npm:
234878            pkg.installed
234879          git:
234880            pkg.installed
234881          bower:
234882            npm.installed
234883            require:
234884              - pkg: npm
234885              - pkg: git
234886
234887          underscore:
234888            bower.installed:
234889              - dir: /path/to/project
234890              - require:
234891                - npm: bower
234892
234893       salt.states.bower.bootstrap(name, user=None)
234894              Bootstraps a frontend distribution.
234895
234896              Will execute 'bower install' on the specified directory.
234897
234898              user   The user to run Bower with
234899
234900       salt.states.bower.installed(name, dir, pkgs=None, user=None, env=None)
234901              Verify that the given package is installed and is at the correct
234902              version (if specified).
234903
234904                 underscore:
234905                   bower.installed:
234906                     - dir: /path/to/project
234907                     - user: someuser
234908
234909                 jquery#2.0:
234910                   bower.installed:
234911                     - dir: /path/to/project
234912
234913              name   The package to install
234914
234915              dir    The target directory in which to install the package
234916
234917              pkgs   A list of packages to install with a single Bower invoca‐
234918                     tion; specifying this argument will ignore the name argu‐
234919                     ment
234920
234921              user   The user to run Bower with
234922
234923              env    A list of environment variables to be set prior to execu‐
234924                     tion. The format is the same as the cmd.run.  state func‐
234925                     tion.
234926
234927       salt.states.bower.pruned(name, user=None, env=None)
234928              New in version 2017.7.0.
234929
234930
234931              Cleans up local bower_components directory.
234932
234933              Will  execute  'bower  prune' on the specified directory (param:
234934              name)
234935
234936              user   The user to run Bower with
234937
234938       salt.states.bower.removed(name, dir, user=None)
234939              Verify that the given package is not installed.
234940
234941              dir    The target directory in which to install the package
234942
234943              user   The user to run Bower with
234944
234945   salt.states.cabal
234946   Installation of Cabal Packages
234947       New in version 2015.8.0.
234948
234949
234950       These states manage the installed packages  for  Haskell  using  cabal.
234951       Note that cabal-install must be installed for these states to be avail‐
234952       able, so cabal states should include a  requisite  to  a  pkg.installed
234953       state  for  the  package which provides cabal (cabal-install in case of
234954       Debian based distributions). Example:
234955
234956          .. code-block:: yaml
234957
234958          cabal-install:
234959                 pkg.installed
234960
234961          ShellCheck:
234962
234963                 cabal.installed:
234964
234965                        · require: - pkg: cabal-install
234966
234967       salt.states.cabal.installed(name,         pkgs=None,         user=None,
234968       install_global=False, env=None)
234969              Verify that the given package is installed and is at the correct
234970              version (if specified).
234971
234972                 ShellCheck-0.3.5:
234973                   cabal:
234974                     - installed:
234975
234976              name   The package to install
234977
234978              user   The user to run cabal install with
234979
234980              install_global
234981                     Install package globally instead of locally
234982
234983              env    A list of environment variables to be set prior to execu‐
234984                     tion. The format is the same as the cmd.run.  state func‐
234985                     tion.
234986
234987       salt.states.cabal.removed(name, user=None, env=None)
234988              Verify that given package is not installed.
234989
234990   salt.states.ceph module
234991       Manage ceph with salt.
234992
234993       New in version 2016.11.0.
234994
234995
234996       salt.states.ceph.quorum(name, **kwargs)
234997              Quorum state
234998
234999              This state checks the mon daemons are in  quorum.  It  does  not
235000              alter the cluster but can be used in formula as a dependency for
235001              many cluster operations.
235002
235003              Example usage in sls file:
235004
235005                 quorum:
235006                   sesceph.quorum:
235007                     - require:
235008                       - sesceph: mon_running
235009
235010   salt.states.chef
235011   Execute Chef client runs
235012       Run chef-client or chef-solo
235013
235014          my-chef-run:
235015            chef.client:
235016              - override-runlist: 'demo1,demo2'
235017              - server: 'https://chef.domain.com'
235018
235019          default-chef-run:
235020            chef.client: []
235021
235022          my-solo-run:
235023            chef.solo:
235024              - environment: dev
235025
235026       salt.states.chef.client(name, **kwargs)
235027
235028              name   Unique identifier for the state. Does not affect the Chef
235029                     run.
235030
235031              server The chef server URL
235032
235033              client_key
235034                     Set the client key file location
235035
235036              config The configuration file to use
235037
235038              config-file-jail
235039                     Directory  under  which  config  files  are allowed to be
235040                     loaded (no client.rb or knife.rb outside this  path  will
235041                     be loaded).
235042
235043              environment
235044                     Set the Chef Environment on the node
235045
235046              group  Group to set privilege to
235047
235048              json-attributes
235049                     Load attributes from a JSON file or URL
235050
235051              localmode
235052                     Point chef-client at local repository if True
235053
235054              log_level
235055                     Set the log level (debug, info, warn, error, fatal)
235056
235057              logfile
235058                     Set the log file location
235059
235060              node-name
235061                     The node name for this client
235062
235063              override-runlist
235064                     Replace  current run list with specified items for a sin‐
235065                     gle run
235066
235067              pid    Set    the    PID    file    location,    defaults     to
235068                     /tmp/chef-client.pid
235069
235070              run-lock-timeout
235071                     Set  maximum  duration  to wait for another client run to
235072                     finish, default is indefinitely.
235073
235074              runlist
235075                     Permanently replace current run list with specified items
235076
235077              user   User to set privilege to
235078
235079              validation_key
235080                     Set the validation key file location, used for  register‐
235081                     ing new clients
235082
235083       salt.states.chef.solo(name, **kwargs)
235084
235085              name   Unique identifier for the state. Does not affect the Chef
235086                     run.
235087
235088              config The configuration file to use
235089
235090              environment
235091                     Set the Chef Environment on the node
235092
235093              group  Group to set privilege to
235094
235095              json-attributes
235096                     Load attributes from a JSON file or URL
235097
235098              log_level
235099                     Set the log level (debug, info, warn, error, fatal)
235100
235101              logfile
235102                     Set the log file location
235103
235104              node-name
235105                     The node name for this client
235106
235107              override-runlist
235108                     Replace current run list with specified items for a  sin‐
235109                     gle run
235110
235111              recipe-url
235112                     Pull  down  a remote gzipped tarball of recipes and untar
235113                     it to the cookbook cache
235114
235115              run-lock-timeout
235116                     Set maximum duration to wait for another  client  run  to
235117                     finish, default is indefinitely.
235118
235119              user   User to set privilege to
235120
235121   salt.states.chocolatey module
235122       Manage Chocolatey package installs
235123
235124       NOTE:
235125          Chocolatey  pulls  data  from  the  Chocolatey  internet database to
235126          determine current versions, find available versions,  etc.  This  is
235127          normally  a  slow  operation  and  may  be optimized by specifying a
235128          local, smaller chocolatey repo.
235129
235130       salt.states.chocolatey.installed(name,    version=None,    source=None,
235131       force=False,      pre_versions=False,      install_args=None,     over‐
235132       ride_args=False,   force_x86=False,   package_args=None,   allow_multi‐
235133       ple=False)
235134              Installs a package if not already installed
235135
235136              Parameters
235137
235138                     · name  (str) -- The name of the package to be installed.
235139                       Required.
235140
235141                     · version (str) -- Install  a  specific  version  of  the
235142                       package.  Defaults to latest version. If the version is
235143                       different to the one installed then the specified  ver‐
235144                       sion will be installed. Default is None.
235145
235146                     · source (str) -- Chocolatey repository (directory, share
235147                       or remote URL, feed).  Defaults to the official  Choco‐
235148                       latey feed. Default is None.
235149
235150                     · force  (bool)  --  Reinstall  the current version of an
235151                       existing  package.  Do  not  use  with  allow_multiple.
235152                       Default is False.
235153
235154                     · pre_versions  (bool)  --  Include pre-release packages.
235155                       Default is False.
235156
235157                     · install_args (str) -- Install  arguments  you  want  to
235158                       pass  to  the  installation process, i.e product key or
235159                       feature list. Default is None.
235160
235161                     · override_args (bool) -- Set to  True  if  you  want  to
235162                       override the original install arguments (for the native
235163                       installer) in the package and use your own.  When  this
235164                       is  set  to  False install_args will be appended to the
235165                       end of the default arguments. Default is False.
235166
235167                     · force_x86 (bool) -- Force x86 (32bit)  installation  on
235168                       64 bit systems. Default is False.
235169
235170                     · package_args (str) -- Arguments you want to pass to the
235171                       package. Default is None.
235172
235173                     · allow_multiple (bool) --
235174
235175                       Allow  mulitiple  versions  of  the   package   to   be
235176                       installed.  Do  not  use with force. Does not work with
235177                       all packages. Default is False.
235178
235179                       New in version 2017.7.0.
235180
235181
235182
235183                 Installsomepackage:
235184                   chocolatey.installed:
235185                     - name: packagename
235186                     - version: '12.04'
235187                     - source: 'mychocolatey/source'
235188                     - force: True
235189
235190       salt.states.chocolatey.uninstalled(name,      version=None,       unin‐
235191       stall_args=None, override_args=False)
235192              Uninstalls a package
235193
235194              name   The name of the package to be uninstalled
235195
235196              version
235197                     Uninstalls a specific version of the package. Defaults to
235198                     latest version installed.
235199
235200              uninstall_args
235201                     A list of uninstall arguments you want  to  pass  to  the
235202                     uninstallation process i.e product key or feature list
235203
235204              override_args
235205                     Set  to  true  if you want to override the original unin‐
235206                     stall arguments ( for the native uninstaller)in the pack‐
235207                     age  and  use  your own.  When this is set to False unin‐
235208                     stall_args will be appended to the  end  of  the  default
235209                     arguments
235210
235211                 Removemypackage:
235212                   chocolatey.uninstalled:
235213                     - name: mypackage
235214                     - version: '21.5'
235215
235216       salt.states.chocolatey.upgraded(name,     version=None,    source=None,
235217       force=False,     pre_versions=False,      install_args=None,      over‐
235218       ride_args=False, force_x86=False, package_args=None)
235219              Upgrades a package. Will install the package if not installed.
235220
235221              New in version 2018.3.0.
235222
235223
235224              Parameters
235225
235226                     · name  (str) -- The name of the package to be installed.
235227                       Required.
235228
235229                     · version (str) -- Install  a  specific  version  of  the
235230                       package.  Defaults to latest version. If the version is
235231                       greater than the one installed then the specified  ver‐
235232                       sion will be installed. Default is None.
235233
235234                     · source (str) -- Chocolatey repository (directory, share
235235                       or remote URL, feed).  Defaults to the official  Choco‐
235236                       latey feed. Default is None.
235237
235238                     · force (bool) -- True will reinstall an existing package
235239                       with the same version.  Default is False.
235240
235241                     · pre_versions (bool) --  True  will  nclude  pre-release
235242                       packages. Default is False.
235243
235244                     · install_args  (str)  --  Install  arguments you want to
235245                       pass to the installation process, i.e  product  key  or
235246                       feature list. Default is None.
235247
235248                     · override_args (bool) -- True will override the original
235249                       install arguments (for the  native  installer)  in  the
235250                       package  and use those specified in install_args. False
235251                       will append install_args to  the  end  of  the  default
235252                       arguments. Default is False.
235253
235254                     · force_x86  (bool)  -- True forces 32bit installation on
235255                       64 bit systems. Default is False.
235256
235257                     · package_args (str) -- Arguments you want to pass to the
235258                       package. Default is None.
235259
235260                 upgrade_some_package:
235261                   chocolatey.upgraded:
235262                     - name: packagename
235263                     - version: '12.04'
235264                     - source: 'mychocolatey/source'
235265
235266   salt.states.chronos_job module
235267       Configure Chronos jobs via a salt proxy.
235268
235269          my_job:
235270            chronos_job.config:
235271              - config:
235272                  schedule: "R//PT2S"
235273                  command: "echo 'hi'"
235274                  owner: "me@example.com"
235275
235276       New in version 2015.8.2.
235277
235278
235279       salt.states.chronos_job.absent(name)
235280              Ensure that the chronos job with the given name is not present.
235281
235282              Parameters
235283                     name -- The app name
235284
235285              Returns
235286                     A standard Salt changes dictionary
235287
235288       salt.states.chronos_job.config(name, config)
235289              Ensure  that  the chronos job with the given name is present and
235290              is configured to match the given config values.
235291
235292              Parameters
235293
235294                     · name -- The job name
235295
235296                     · config -- The configuration to apply (dict)
235297
235298              Returns
235299                     A standard Salt changes dictionary
235300
235301   salt.states.cimc
235302       A state module to manage Cisco UCS chassis devices.
235303
235304       codeauthor
235305              Spencer Ervin <spencer_ervin@hotmail.com>
235306
235307       maturity
235308              new
235309
235310       depends
235311              none
235312
235313       platform
235314              unix
235315
235316   About
235317       This state module was designed to handle connections to a Cisco Unified
235318       Computing  System  (UCS)  chassis. This module relies on the CIMC proxy
235319       module to interface with the device.
235320
235321       SEE ALSO:
235322          CIMC Proxy Module
235323
235324       salt.states.cimc.hostname(name, hostname=None)
235325              Ensures that the hostname is set to the specified value.
235326
235327              New in version 2019.2.0.
235328
235329
235330              name: The name of the module function to execute.
235331
235332              hostname(str): The hostname of the server.
235333
235334              SLS Example:
235335
235336                 set_name:
235337                   cimc.hostname:
235338                     - hostname: foobar
235339
235340       salt.states.cimc.logging_levels(name, remote=None, local=None)
235341              Ensures that the logging levels are set on the device. The  log‐
235342              ging  levels must match the following options: emergency, alert,
235343              critical, error, warning, notice, informational, debug.
235344
235345              New in version 2019.2.0.
235346
235347
235348              name: The name of the module function to execute.
235349
235350              remote(str): The logging level for SYSLOG logs.
235351
235352              local(str): The logging level for the local device.
235353
235354              SLS Example:
235355
235356                 logging_levels:
235357                   cimc.logging_levels:
235358                     - remote: informational
235359                     - local: notice
235360
235361       salt.states.cimc.ntp(name, servers)
235362              Ensures that the NTP servers are configured.  Servers  are  pro‐
235363              vided  as  an  individual  string  or list format. Only four NTP
235364              servers will be reviewed. Any entries past four will be ignored.
235365
235366              name: The name of the module function to execute.
235367
235368              servers(str, list): The IP address or FQDN of the NTP servers.
235369
235370              SLS Example:
235371
235372                 ntp_configuration_list:
235373                   cimc.ntp:
235374                     - servers:
235375                       - foo.bar.com
235376                       - 10.10.10.10
235377
235378                 ntp_configuration_str:
235379                   cimc.ntp:
235380                     - servers: foo.bar.com
235381
235382       salt.states.cimc.power_configuration(name, policy=None, delayType=None,
235383       delayValue=None)
235384              Ensures  that  the power configuration is configured on the sys‐
235385              tem. This is only available on some C-Series servers.
235386
235387              New in version 2019.2.0.
235388
235389
235390              name: The name of the module function to execute.
235391
235392              policy(str): The action  to  be  taken  when  chassis  power  is
235393              restored  after an unexpected power loss. This can be one of the
235394              following:
235395                 reset: The server is allowed to boot up normally  when  power
235396                 is  restored.  The server can restart immediately or, option‐
235397                 ally, after a fixed or random delay.
235398
235399                 stay-off:  The  server  remains  off  until  it  is  manually
235400                 restarted.
235401
235402                 last-state:  The  server  restarts and the system attempts to
235403                 restore any processes that  were  running  before  power  was
235404                 lost.
235405
235406              delayType(str): If the selected policy is reset, the restart can
235407              be delayed with this option. This can be one of the following:
235408                 fixed: The server restarts after a fixed delay.
235409
235410                 random: The server restarts after a random delay.
235411
235412              delayValue(int): If a fixed  delay  is  selected,  once  chassis
235413              power  is restored and the Cisco IMC has finished rebooting, the
235414              system waits for the specified number of seconds before restart‐
235415              ing the server. Enter an integer between 0 and 240.
235416
235417              SLS Example:
235418
235419                 reset_power:
235420                   cimc.power_configuration:
235421                     - policy: reset
235422                     - delayType: fixed
235423                     - delayValue: 0
235424
235425                 power_off:
235426                   cimc.power_configuration:
235427                     - policy: stay-off
235428
235429       salt.states.cimc.syslog(name, primary=None, secondary=None)
235430              Ensures that the syslog servers are set to the specified values.
235431              A value of None will be ignored.
235432
235433              name: The name of the module function to execute.
235434
235435              primary(str): The IP address  or  FQDN  of  the  primary  syslog
235436              server.
235437
235438              secondary(str):  The  IP address or FQDN of the secondary syslog
235439              server.
235440
235441              SLS Example:
235442
235443                 syslog_configuration:
235444                   cimc.syslog:
235445                     - primary: 10.10.10.10
235446                     - secondary: foo.bar.com
235447
235448       salt.states.cimc.user(name, id=u'', user=u'',  priv=u'',  password=u'',
235449       status=u'active')
235450              Ensures  that  a  user is configured on the device. Due to being
235451              unable to verify the user password. This is a forced operation.
235452
235453              New in version 2019.2.0.
235454
235455
235456              name: The name of the module function to execute.
235457
235458              id(int): The user ID slot on the device.
235459
235460              user(str): The username of the user.
235461
235462              priv(str): The privilege level of the user.
235463
235464              password(str): The password of the user.
235465
235466              status(str): The status of the user. Can  be  either  active  or
235467              inactive.
235468
235469              SLS Example:
235470
235471                 user_configuration:
235472                   cimc.user:
235473                     - id: 11
235474                     - user: foo
235475                     - priv: admin
235476                     - password: mypassword
235477                     - status: active
235478
235479   salt.states.cisconso
235480       State module for Cisco NSO Proxy minions
235481
235482       For  documentation  on setting up the cisconso proxy minion look in the
235483       documentation for salt.proxy.cisconso.
235484
235485       salt.states.cisconso.value_present(name, datastore, path, config)
235486              Ensure a specific value exists at a given path
235487
235488              Parameters
235489
235490                     · name (str) -- The name for this rule
235491
235492                     · datastore (DatastoreType (str enum).) -- The datastore,
235493                       e.g.  running,  operational.   One of the NETCONF store
235494                       IETF types
235495
235496                     · path (list, str OR tuple) -- The device path to set the
235497                       value at, a list of element names in order, / separated
235498
235499                     · config (dict) -- The new value at the given path
235500
235501              Examples:
235502
235503                 enable pap auth:
235504                   cisconso.config_present:
235505                     - name: enable_pap_auth
235506                     - datastore: running
235507                     - path: devices/device/ex0/config/sys/interfaces/serial/ppp0/authentication
235508                     - config:
235509                         authentication:
235510                             method: pap
235511                             "list-name": foobar
235512
235513   salt.states.cloud
235514   Using states instead of maps to deploy clouds
235515       New in version 2014.1.0.
235516
235517
235518       Use this minion to spin up a cloud instance:
235519
235520          my-ec2-instance:
235521            cloud.profile:
235522              my-ec2-config
235523
235524       salt.states.cloud.absent(name, onlyif=None, unless=None)
235525              Ensure that no instances with the specified names exist.
235526
235527              CAUTION: This is a destructive state, which will search all con‐
235528              figured cloud providers for the named instance, and destroy it.
235529
235530              name   The name of the instance to destroy
235531
235532              onlyif Do run the state only if is unless succeed
235533
235534              unless Do not run the state at least unless succeed
235535
235536       salt.states.cloud.present(name,      cloud_provider,       onlyif=None,
235537       unless=None, opts=None, **kwargs)
235538              Spin up a single instance on a cloud provider, using salt-cloud.
235539              This state does not take a profile argument;  rather,  it  takes
235540              the  arguments  that would normally be configured as part of the
235541              state.
235542
235543              Note that while this function does take any configuration  argu‐
235544              ment  that would normally be used to create an instance, it will
235545              not verify the state of any of those arguments  on  an  existing
235546              instance.  Stateful  properties of an instance should be config‐
235547              ured using  their  own  individual  state  (i.e.,  cloud.tagged,
235548              cloud.untagged, etc).
235549
235550              name   The name of the instance to create
235551
235552              cloud_provider
235553                     The name of the cloud provider to use
235554
235555              onlyif Do run the state only if is unless succeed
235556
235557              unless Do not run the state at least unless succeed
235558
235559              opts   Any extra opts that need to be used
235560
235561       salt.states.cloud.profile(name,   profile,   onlyif=None,  unless=None,
235562       opts=None, **kwargs)
235563              Create a single instance on a cloud provider, using a salt-cloud
235564              profile.
235565
235566              Note that while profiles used this function do take any configu‐
235567              ration argument  that  would  normally  be  used  to  create  an
235568              instance  using  a profile, this state will not verify the state
235569              of any of those arguments  on  an  existing  instance.  Stateful
235570              properties  of  an instance should be configured using their own
235571              individual state (i.e., cloud.tagged, cloud.untagged, etc).
235572
235573              name   The name of the instance to create
235574
235575              profile
235576                     The name of the cloud profile to use
235577
235578              onlyif Do run the state only if is unless succeed
235579
235580              unless Do not run the state at least unless succeed
235581
235582              kwargs Any profile override or addition
235583
235584              opts   Any extra opts that need to be used
235585
235586       salt.states.cloud.volume_absent(name, provider=None, **kwargs)
235587              Check that a block volume exists.
235588
235589       salt.states.cloud.volume_attached(name,   server_name,   provider=None,
235590       **kwargs)
235591              Check if a block volume is attached.
235592
235593       salt.states.cloud.volume_detached(name,               server_name=None,
235594       provider=None, **kwargs)
235595              Check if a block volume is attached.
235596
235597              Returns True if server or Volume do not exist.
235598
235599       salt.states.cloud.volume_present(name, provider=None, **kwargs)
235600              Check that a block volume exists.
235601
235602   salt.states.cmd
235603   Execution of arbitrary commands
235604       The cmd state module manages the enforcement of executed commands, this
235605       state can tell a command to run under certain circumstances.
235606
235607       A simple example to execute a command:
235608
235609          # Store the current date in a file
235610          'date > /tmp/salt-run':
235611            cmd.run
235612
235613       Only  run  if another execution failed, in this case truncate syslog if
235614       there is no disk space:
235615
235616          '> /var/log/messages/:
235617            cmd.run:
235618              - unless: echo 'foo' > /tmp/.test && rm -f /tmp/.test
235619
235620       Only run if the file specified by creates does not exist, in this  case
235621       touch /tmp/foo if it does not exist:
235622
235623          touch /tmp/foo:
235624            cmd.run:
235625              - creates: /tmp/foo
235626
235627       creates also accepts a list of files, in which case this state will run
235628       if any of the files do not exist:
235629
235630          "echo 'foo' | tee /tmp/bar > /tmp/baz":
235631            cmd.run:
235632              - creates:
235633                - /tmp/bar
235634                - /tmp/baz
235635
235636       NOTE:
235637          The creates option was added to version 2014.7.0
235638
235639       Sometimes when running a command that starts  up  a  daemon,  the  init
235640       script  doesn't  return properly which causes Salt to wait indefinitely
235641       for a response.  In situations like this try the following:
235642
235643          run_installer:
235644            cmd.run:
235645              - name: /tmp/installer.bin > /dev/null 2>&1
235646
235647       Salt determines whether the cmd state is successfully enforced based on
235648       the  exit  code  returned by the command. If the command returns a zero
235649       exit code,  then  salt  determines  that  the  state  was  successfully
235650       enforced.  If the script returns a non-zero exit code, then salt deter‐
235651       mines that it failed to successfully enforce the state.  If  a  command
235652       returns  a  non-zero exit code but you wish to treat this as a success,
235653       then you must place the command in a script and explicitly set the exit
235654       code of the script to zero.
235655
235656       Please note that the success or failure of the state is not affected by
235657       whether a state change occurred nor the stateful argument.
235658
235659       When executing a command or script, the state (i.e., changed or not) of
235660       the  command  is unknown to Salt's state system. Therefore, by default,
235661       the cmd state assumes that any command execution results in  a  changed
235662       state.
235663
235664       This  means  that  if  a cmd state is watched by another state then the
235665       state that's watching will always be executed due to the changed  state
235666       in the cmd state.
235667
235668   Using the Stateful Argument
235669       Many  state  functions  in this module now also accept a stateful argu‐
235670       ment.  If stateful is specified to be true then it is assumed that  the
235671       command  or script will determine its own state and communicate it back
235672       by following a simple protocol described below:
235673
235674       1. If there's nothing in the stdout of  the  command,  then  assume  no
235675          changes.  Otherwise,  the  stdout must be either in JSON or its last
235676          non-empty line must be a string of key=value pairs delimited by spa‐
235677          ces (no spaces on either side of =).
235678
235679       2. If  it's  JSON  then  it  must  be a JSON object (e.g., {}). If it's
235680          key=value  pairs  then  quoting  may  be  used  to  include  spaces.
235681          (Python's shlex module is used to parse the key=value string)
235682
235683          Two special keys or attributes are recognized in the output:
235684
235685             changed: bool (i.e., 'yes', 'no', 'true', 'false', case-insensitive)
235686             comment: str  (i.e., any string)
235687
235688          So,  only  if  changed is True then assume the command execution has
235689          changed the state, and any other key values  or  attributes  in  the
235690          output will be set as part of the changes.
235691
235692       3. If  there's  a  comment  then  it will be used as the comment of the
235693          state.
235694
235695          Here's an example of how one might write a shell script for use with
235696          a stateful command:
235697
235698             #!/bin/bash
235699             #
235700             echo "Working hard..."
235701
235702             # writing the state line
235703             echo  # an empty line here so the next line will be the last.
235704             echo "changed=yes comment='something has changed' whatever=123"
235705
235706          And an example SLS file using this module:
235707
235708             Run myscript:
235709               cmd.run:
235710                 - name: /path/to/myscript
235711                 - cwd: /
235712                 - stateful: True
235713
235714             Run only if myscript changed something:
235715               cmd.run:
235716                 - name: echo hello
235717                 - cwd: /
235718                 - onchanges:
235719                     - cmd: Run myscript
235720
235721          Note  that if the second cmd.run state also specifies stateful: True
235722          it can then be watched by some other states as well.
235723
235724       4. The stateful argument can optionally include a test_name parameter.
235725
235726          This is used to specify a command to run in test mode.  This command
235727          should  return  stateful  data for changes that would be made by the
235728          command in the name parameter.
235729
235730          New in version 2015.2.0.
235731
235732
235733             Run myscript:
235734               cmd.run:
235735                 - name: /path/to/myscript
235736                 - cwd: /
235737                 - stateful:
235738                   - test_name: /path/to/myscript test
235739
235740             Run masterscript:
235741               cmd.script:
235742                 - name: masterscript
235743                 - source: salt://path/to/masterscript
235744                 - cwd: /
235745                 - stateful:
235746                   - test_name: masterscript test
235747
235748   Should I use cmd.run or cmd.wait?
235749       NOTE:
235750          Use cmd.run together with onchanges instead of cmd.wait.
235751
235752       These two states are often confused. The important  thing  to  remember
235753       about  them  is that cmd.run states are run each time the SLS file that
235754       contains them is applied. If it is more desirable  to  have  a  command
235755       that  only runs after some other state changes, then cmd.wait does just
235756       that. cmd.wait is designed to watch other states, and is executed  when
235757       the state it is watching changes. Example:
235758
235759          /usr/local/bin/postinstall.sh:
235760            cmd.wait:
235761              - watch:
235762                - pkg: mycustompkg
235763            file.managed:
235764              - source: salt://utils/scripts/postinstall.sh
235765
235766          mycustompkg:
235767            pkg.installed:
235768              - require:
235769                - file: /usr/local/bin/postinstall.sh
235770
235771       cmd.wait  itself  do  not  do anything; all functionality is inside its
235772       mod_watch function, which is called by watch on changes.
235773
235774       The preferred format is using the onchanges Requisite, which  works  on
235775       cmd.run  as  well as on any other state. The example would then look as
235776       follows:
235777
235778          /usr/local/bin/postinstall.sh:
235779            cmd.run:
235780              - onchanges:
235781                - pkg: mycustompkg
235782            file.managed:
235783              - source: salt://utils/scripts/postinstall.sh
235784
235785          mycustompkg:
235786            pkg.installed:
235787              - require:
235788                - file: /usr/local/bin/postinstall.sh
235789
235790   How do I create an environment from a pillar map?
235791       The map that comes from a pillar can be directly consumed  by  the  env
235792       option!  To use it, one may pass it like this. Example:
235793
235794          printenv:
235795            cmd.run:
235796              - env: {{ salt['pillar.get']('example:key', {}) }}
235797
235798       salt.states.cmd.call(name,   func,   args=(),   kws=None,  onlyif=None,
235799       unless=None, creates=None, output_loglevel=u'debug', hide_output=False,
235800       use_vt=False, **kwargs)
235801              Invoke a pre-defined Python function with arguments specified in
235802              the state declaration. This  function  is  mainly  used  by  the
235803              salt.renderers.pydsl renderer.
235804
235805              The  interpretation of onlyif and unless arguments are identical
235806              to those of cmd.run, and all other  arguments(cwd,  runas,  ...)
235807              allowed  by  cmd.run are allowed here, except that their effects
235808              apply only to the commands specified in onlyif and unless rather
235809              than to the function to be invoked.
235810
235811              In addition, the stateful argument has no effects here.
235812
235813              The  return value of the invoked function will be interpreted as
235814              follows.
235815
235816              If it's a dictionary then it will be passed through to the state
235817              system, which expects it to have the usual structure returned by
235818              any salt state function.
235819
235820              Otherwise, the return value  (denoted  as  result  in  the  code
235821              below)  is  expected  to be a JSON serializable object, and this
235822              dictionary is returned:
235823
235824                 {
235825                     'name': name
235826                     'changes': {'retval': result},
235827                     'result': True if result is None else bool(result),
235828                     'comment': result if isinstance(result, six.string_types) else ''
235829                 }
235830
235831       salt.states.cmd.mod_run_check(cmd_kwargs, onlyif, unless, creates)
235832              Execute the onlyif and unless logic.  Return a result dict if: *
235833              onlyif  failed  (onlyif  !=  0) * unless succeeded (unless == 0)
235834              else return True
235835
235836       salt.states.cmd.mod_watch(name, **kwargs)
235837              Execute a cmd function based on a watch call
235838
235839              NOTE:
235840                 This state exists to support special handling  of  the  watch
235841                 requisite. It should not be called directly.
235842
235843                 Parameters for this function should be set by the state being
235844                 triggered.
235845
235846       salt.states.cmd.run(name,   onlyif=None,   unless=None,   creates=None,
235847       cwd=None,      root=None,     runas=None,     shell=None,     env=None,
235848       prepend_path=None,       stateful=False,        umask=None,        out‐
235849       put_loglevel=u'debug',  hide_output=False,  timeout=None,  ignore_time‐
235850       out=False, use_vt=False, success_retcodes=None, **kwargs)
235851              Run a command if certain circumstances are met.  Use cmd.wait if
235852              you want to use the watch requisite.
235853
235854              name   The  command  to  execute, remember that the command will
235855                     execute with the path and permissions of the salt-minion.
235856
235857              onlyif A command to run as a check, run the named  command  only
235858                     if the command passed to the onlyif option returns a zero
235859                     exit status
235860
235861              unless A command to run as a check, only run the  named  command
235862                     if  the  command  passed  to  the unless option returns a
235863                     non-zero exit status
235864
235865              cwd    The current working directory to execute the command  in,
235866                     defaults to /root
235867
235868              root   Path to the root of the jail to use. If this parameter is
235869                     set, the command will run inside a chroot
235870
235871              runas  The user name to run the command as
235872
235873              shell  The shell to use for execution,  defaults  to  the  shell
235874                     grain
235875
235876              env    A list of environment variables to be set prior to execu‐
235877                     tion.  Example:
235878
235879                        script-foo:
235880                          cmd.run:
235881                            - env:
235882                              - BATCH: 'yes'
235883
235884                     WARNING:
235885                        The above illustrates a common  PyYAML  pitfall,  that
235886                        yes,  no,  on,  off, true, and false are all loaded as
235887                        boolean True and False values, and must be enclosed in
235888                        quotes  to  be used as strings. More info on this (and
235889                        other) PyYAML idiosyncrasies can be found here.
235890
235891                     Variables as values are not evaluated. So  $PATH  in  the
235892                     following example is a literal '$PATH':
235893
235894                        script-bar:
235895                          cmd.run:
235896                            - env: "PATH=/some/path:$PATH"
235897
235898                     One  can  still  use the existing $PATH by using a bit of
235899                     Jinja:
235900
235901                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
235902
235903                        mycommand:
235904                          cmd.run:
235905                            - name: ls -l /
235906                            - env:
235907                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
235908
235909              prepend_path
235910                     $PATH segment to prepend (trailing ':' not necessary)  to
235911                     $PATH.  This  is an easier alternative to the Jinja work‐
235912                     around.
235913
235914                     New in version 2018.3.0.
235915
235916
235917              stateful
235918                     The command being executed is  expected  to  return  data
235919                     about  executing  a  state. For more information, see the
235920                     Using the "Stateful" Argument section.
235921
235922              umask  The umask (in octal) to use when running the command.
235923
235924              output_loglevel
235925                     debug Control the loglevel at which the output  from  the
235926                     command is logged to the minion log.
235927
235928                     NOTE:
235929                        The  command  being  run  will  still be logged at the
235930                        debug loglevel regardless, unless quiet  is  used  for
235931                        this value.
235932
235933              hide_output
235934                     False Suppress stdout and stderr in the state's results.
235935
235936                     NOTE:
235937                        This is separate from output_loglevel, which only han‐
235938                        dles how Salt logs to the minion log.
235939
235940                     New in version 2018.3.0.
235941
235942
235943              timeout
235944                     If the command has not terminated after timeout  seconds,
235945                     send  the  subprocess sigterm, and if sigterm is ignored,
235946                     follow up with sigkill
235947
235948              ignore_timeout
235949                     Ignore the timeout of commands, which is useful for  run‐
235950                     ning nohup processes.
235951
235952                     New in version 2015.8.0.
235953
235954
235955              creates
235956                     Only  run  if the file specified by creates do not exist.
235957                     If you specify a list of files then this state will  only
235958                     run if any of the files do not exist.
235959
235960                     New in version 2014.7.0.
235961
235962
235963              use_vt False Use VT utils (saltstack) to stream the command out‐
235964                     put more interactively to the console and the logs.  This
235965                     is experimental.
235966
235967              bg     False If True, run command in background and do not await
235968                     or deliver its results.
235969
235970                     New in version 2016.3.6.
235971
235972
235973              success_retcodes: This parameter will be allow a list of
235974                        non-zero return codes that should be considered a suc‐
235975                        cess.   If  the  return  code  returned  from  the run
235976                        matches any in the provided list, the return code will
235977                        be overridden with zero.
235978
235979                     New in version 2019.2.0.
235980
235981
235982              NOTE:
235983                 cmd.run  supports the usage of reload_modules. This function‐
235984                 ality allows you to force Salt to  reload  all  modules.  You
235985                 should only use reload_modules if your cmd.run does some sort
235986                 of installation (such as pip), if you do not reload the  mod‐
235987                 ules  future  items  in your state which rely on the software
235988                 being installed will fail.
235989
235990                     getpip:
235991                       cmd.run:
235992                         - name: /usr/bin/python /usr/local/sbin/get-pip.py
235993                         - unless: which pip
235994                         - require:
235995                           - pkg: python
235996                           - file: /usr/local/sbin/get-pip.py
235997                         - reload_modules: True
235998
235999       salt.states.cmd.script(name, source=None,  template=None,  onlyif=None,
236000       unless=None,  creates=None, cwd=None, runas=None, shell=None, env=None,
236001       stateful=False,   umask=None,    timeout=None,    use_vt=False,    out‐
236002       put_loglevel=u'debug',  hide_output=False, defaults=None, context=None,
236003       success_retcodes=None, **kwargs)
236004              Download a script and execute it with specified arguments.
236005
236006              source The location of the script to download. If  the  file  is
236007                     located on the master in the directory named spam, and is
236008                     called eggs, the source string is salt://spam/eggs
236009
236010              template
236011                     If this setting is  applied  then  the  named  templating
236012                     engine  will  be used to render the downloaded file. Cur‐
236013                     rently jinja, mako, and wempy are supported
236014
236015              name   Either "cmd arg1 arg2 arg3..." (cmd is  not  used)  or  a
236016                     source "salt://...".
236017
236018              onlyif Run  the  named command only if the command passed to the
236019                     onlyif option returns true
236020
236021              unless Run the named command only if the command passed  to  the
236022                     unless option returns false
236023
236024              cwd    The  current working directory to execute the command in,
236025                     defaults to /root
236026
236027              runas  The name of the user to run the command as
236028
236029              shell  The shell to use for execution. The  default  is  set  in
236030                     grains['shell']
236031
236032              env    A list of environment variables to be set prior to execu‐
236033                     tion.  Example:
236034
236035                        salt://scripts/foo.sh:
236036                          cmd.script:
236037                            - env:
236038                              - BATCH: 'yes'
236039
236040                     WARNING:
236041                        The above illustrates a common  PyYAML  pitfall,  that
236042                        yes,  no,  on,  off, true, and false are all loaded as
236043                        boolean True and False values, and must be enclosed in
236044                        quotes  to  be used as strings. More info on this (and
236045                        other) PyYAML idiosyncrasies can be found here.
236046
236047                     Variables as values are not evaluated. So  $PATH  in  the
236048                     following example is a literal '$PATH':
236049
236050                        salt://scripts/bar.sh:
236051                          cmd.script:
236052                            - env: "PATH=/some/path:$PATH"
236053
236054                     One  can  still  use the existing $PATH by using a bit of
236055                     Jinja:
236056
236057                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
236058
236059                        mycommand:
236060                          cmd.run:
236061                            - name: ls -l /
236062                            - env:
236063                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
236064
236065              saltenv
236066                     base The Salt environment to use
236067
236068              umask  The umask (in octal) to use when running the command.
236069
236070              stateful
236071                     The command being executed is  expected  to  return  data
236072                     about  executing  a  state. For more information, see the
236073                     Using the "Stateful" Argument section.
236074
236075              timeout
236076                     If the command has not terminated after timeout  seconds,
236077                     send  the  subprocess sigterm, and if sigterm is ignored,
236078                     follow up with sigkill
236079
236080              args   String of command line args to pass to the script.   Only
236081                     used  if  no args are specified as part of the name argu‐
236082                     ment. To pass a string containing  spaces  in  YAML,  you
236083                     will need to doubly-quote it:  "arg1 'arg two' arg3"
236084
236085              creates
236086                     Only  run  if the file specified by creates do not exist.
236087                     If you specify a list of files then this state will  only
236088                     run if any of the files do not exist.
236089
236090                     New in version 2014.7.0.
236091
236092
236093              use_vt Use  VT  utils  (saltstack)  to stream the command output
236094                     more interactively to the console and the logs.  This  is
236095                     experimental.
236096
236097              context
236098                     New in version 2016.3.0.
236099
236100
236101                     Overrides  default  context  variables passed to the tem‐
236102                     plate.
236103
236104              defaults
236105                     New in version 2016.3.0.
236106
236107
236108                     Default context passed to the template.
236109
236110              output_loglevel
236111                     debug Control the loglevel at which the output  from  the
236112                     command is logged to the minion log.
236113
236114                     NOTE:
236115                        The  command  being  run  will  still be logged at the
236116                        debug loglevel regardless, unless quiet  is  used  for
236117                        this value.
236118
236119              hide_output
236120                     False Suppress stdout and stderr in the state's results.
236121
236122                     NOTE:
236123                        This is separate from output_loglevel, which only han‐
236124                        dles how Salt logs to the minion log.
236125
236126                     New in version 2018.3.0.
236127
236128
236129              success_retcodes: This parameter will be allow a list of
236130                        non-zero return codes that should be considered a suc‐
236131                        cess.   If  the  return  code  returned  from  the run
236132                        matches any in the provided list, the return code will
236133                        be overridden with zero.
236134
236135                     New in version 2019.2.0.
236136
236137
236138       salt.states.cmd.wait(name,   onlyif=None,   unless=None,  creates=None,
236139       cwd=None, root=None, runas=None,  shell=None,  env=(),  stateful=False,
236140       umask=None,  output_loglevel=u'debug', hide_output=False, use_vt=False,
236141       success_retcodes=None, **kwargs)
236142              Run the given command only if the watch statement calls it.
236143
236144              NOTE:
236145                 Use cmd.run together with onchanges instead of cmd.wait.
236146
236147              name   The command to execute, remember that  the  command  will
236148                     execute with the path and permissions of the salt-minion.
236149
236150              onlyif A  command  to run as a check, run the named command only
236151                     if the command passed to the onlyif option returns true
236152
236153              unless A command to run as a check, only run the  named  command
236154                     if the command passed to the unless option returns false
236155
236156              cwd    The  current working directory to execute the command in,
236157                     defaults to /root
236158
236159              root   Path to the root of the jail to use. If this parameter is
236160                     set, the command will run inside a chroot
236161
236162              runas  The user name to run the command as
236163
236164              shell  The shell to use for execution, defaults to /bin/sh
236165
236166              env    A list of environment variables to be set prior to execu‐
236167                     tion.  Example:
236168
236169                        script-foo:
236170                          cmd.wait:
236171                            - env:
236172                              - BATCH: 'yes'
236173
236174                     WARNING:
236175                        The above illustrates a common  PyYAML  pitfall,  that
236176                        yes,  no,  on,  off, true, and false are all loaded as
236177                        boolean True and False values, and must be enclosed in
236178                        quotes  to  be used as strings. More info on this (and
236179                        other) PyYAML idiosyncrasies can be found here.
236180
236181                     Variables as values are not evaluated. So  $PATH  in  the
236182                     following example is a literal '$PATH':
236183
236184                        script-bar:
236185                          cmd.wait:
236186                            - env: "PATH=/some/path:$PATH"
236187
236188                     One  can  still  use the existing $PATH by using a bit of
236189                     Jinja:
236190
236191                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
236192
236193                        mycommand:
236194                          cmd.run:
236195                            - name: ls -l /
236196                            - env:
236197                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
236198
236199              umask  The umask (in octal) to use when running the command.
236200
236201              stateful
236202                     The command being executed is  expected  to  return  data
236203                     about  executing  a  state. For more information, see the
236204                     Using the "Stateful" Argument section.
236205
236206              creates
236207                     Only run if the file specified by creates do  not  exist.
236208                     If  you specify a list of files then this state will only
236209                     run if any of the files do not exist.
236210
236211                     New in version 2014.7.0.
236212
236213
236214              output_loglevel
236215                     debug Control the loglevel at which the output  from  the
236216                     command is logged to the minion log.
236217
236218                     NOTE:
236219                        The  command  being  run  will  still be logged at the
236220                        debug loglevel regardless, unless quiet  is  used  for
236221                        this value.
236222
236223              hide_output
236224                     False Suppress stdout and stderr in the state's results.
236225
236226                     NOTE:
236227                        This is separate from output_loglevel, which only han‐
236228                        dles how Salt logs to the minion log.
236229
236230                     New in version 2018.3.0.
236231
236232
236233              use_vt Use VT utils (saltstack) to  stream  the  command  output
236234                     more  interactively to the console and the logs.  This is
236235                     experimental.
236236
236237              success_retcodes: This parameter will be allow a list of
236238                        non-zero return codes that should be considered a suc‐
236239                        cess.   If  the  return  code  returned  from  the run
236240                        matches any in the provided list, the return code will
236241                        be overridden with zero.
236242
236243                     New in version 2019.2.0.
236244
236245
236246       salt.states.cmd.wait_call(name,  func,  args=(), kws=None, onlyif=None,
236247       unless=None,   creates=None,   stateful=False,    use_vt=False,    out‐
236248       put_loglevel=u'debug', hide_output=False, **kwargs)
236249
236250       salt.states.cmd.wait_script(name,      source=None,      template=None,
236251       onlyif=None, unless=None, cwd=None, runas=None,  shell=None,  env=None,
236252       stateful=False,   umask=None,  use_vt=False,  output_loglevel=u'debug',
236253       hide_output=False, **kwargs)
236254              Download a script from a remote source and execute it only if  a
236255              watch statement calls it.
236256
236257              source The  source  script  being downloaded to the minion, this
236258                     source script is hosted on the salt  master  server.   If
236259                     the  file is located on the master in the directory named
236260                     spam,  and  is  called  eggs,  the   source   string   is
236261                     salt://spam/eggs
236262
236263              template
236264                     If  this  setting  is  applied  then the named templating
236265                     engine will be used to render the downloaded  file,  cur‐
236266                     rently jinja, mako, and wempy are supported
236267
236268              name   The  command  to  execute, remember that the command will
236269                     execute with the path and permissions of the salt-minion.
236270
236271              onlyif A command to run as a check, run the named  command  only
236272                     if the command passed to the onlyif option returns true
236273
236274              unless A  command  to run as a check, only run the named command
236275                     if the command passed to the unless option returns false
236276
236277              cwd    The current working directory to execute the command  in,
236278                     defaults to /root
236279
236280              runas  The user name to run the command as
236281
236282              shell  The  shell  to  use  for execution, defaults to the shell
236283                     grain
236284
236285              env    A list of environment variables to be set prior to execu‐
236286                     tion.  Example:
236287
236288                        salt://scripts/foo.sh:
236289                          cmd.wait_script:
236290                            - env:
236291                              - BATCH: 'yes'
236292
236293                     WARNING:
236294                        The  above  illustrates  a common PyYAML pitfall, that
236295                        yes, no, on, off, true, and false are  all  loaded  as
236296                        boolean True and False values, and must be enclosed in
236297                        quotes to be used as strings. More info on  this  (and
236298                        other) PyYAML idiosyncrasies can be found here.
236299
236300                     Variables  as  values  are not evaluated. So $PATH in the
236301                     following example is a literal '$PATH':
236302
236303                        salt://scripts/bar.sh:
236304                          cmd.wait_script:
236305                            - env: "PATH=/some/path:$PATH"
236306
236307                     One can still use the existing $PATH by using  a  bit  of
236308                     Jinja:
236309
236310                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
236311
236312                        mycommand:
236313                          cmd.run:
236314                            - name: ls -l /
236315                            - env:
236316                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
236317
236318              umask  The umask (in octal) to use when running the command.
236319
236320              stateful
236321                     The  command  being  executed  is expected to return data
236322                     about executing a state. For more  information,  see  the
236323                     Using the "Stateful" Argument section.
236324
236325              use_vt Use  VT  utils  (saltstack)  to stream the command output
236326                     more interactively to the console and the logs.  This  is
236327                     experimental.
236328
236329              output_loglevel
236330                     debug  Control  the loglevel at which the output from the
236331                     command is logged to the minion log.
236332
236333                     NOTE:
236334                        The command being run will  still  be  logged  at  the
236335                        debug  loglevel  regardless,  unless quiet is used for
236336                        this value.
236337
236338              hide_output
236339                     False Suppress stdout and stderr in the state's results.
236340
236341                     NOTE:
236342                        This is separate from output_loglevel, which only han‐
236343                        dles how Salt logs to the minion log.
236344
236345                     New in version 2018.3.0.
236346
236347
236348              success_retcodes: This parameter will be allow a list of
236349                        non-zero return codes that should be considered a suc‐
236350                        cess.  If  the  return  code  returned  from  the  run
236351                        matches any in the provided list, the return code will
236352                        be overridden with zero.
236353
236354                     New in version 2019.2.0.
236355
236356
236357   salt.states.composer
236358   Installation of Composer Packages
236359       These states manage the installed packages for composer for  PHP.  Note
236360       that either composer is installed and accessible via a bin directory or
236361       you can pass the location of composer in the state.
236362
236363          get-composer:
236364            cmd.run:
236365              - name: 'CURL=`which curl`; $CURL -sS https://getcomposer.org/installer | php'
236366              - unless: test -f /usr/local/bin/composer
236367              - cwd: /root/
236368
236369          install-composer:
236370            cmd.wait:
236371              - name: mv /root/composer.phar /usr/local/bin/composer
236372              - cwd: /root/
236373              - watch:
236374                - cmd: get-composer
236375
236376          /path/to/project:
236377            composer.installed:
236378              - no_dev: true
236379              - require:
236380                - cmd: install-composer
236381
236382
236383          # Without composer installed in your PATH
236384          # Note: composer.phar must be executable for state to work properly
236385          /path/to/project:
236386            composer.installed:
236387              - composer: /path/to/composer.phar
236388              - php: /usr/local/bin/php
236389              - no_dev: true
236390
236391       salt.states.composer.installed(name,      composer=None,      php=None,
236392       user=None,   prefer_source=None,   prefer_dist=None,   no_scripts=None,
236393       no_plugins=None,   optimize=None,   no_dev=None,   quiet=False,    com‐
236394       poser_home=u'/root', always_check=True, env=None)
236395              Verify  that  the  correct versions of composer dependencies are
236396              present.
236397
236398              name   Directory location of the composer.json file.
236399
236400              composer
236401                     Location of the composer.phar file. If not  set  composer
236402                     will  just  execute  composer as if it is installed glob‐
236403                     ally.  (i.e. /path/to/composer.phar)
236404
236405              php    Location of the php  executable  to  use  with  composer.
236406                     (i.e. /usr/bin/php)
236407
236408              user   Which system user to run composer as.
236409
236410                     New in version 2014.1.4.
236411
236412
236413              prefer_source
236414                     --prefer-source option of composer.
236415
236416              prefer_dist
236417                     --prefer-dist option of composer.
236418
236419              no_scripts
236420                     --no-scripts option of composer.
236421
236422              no_plugins
236423                     --no-plugins option of composer.
236424
236425              optimize
236426                     --optimize-autoloader option of composer. Recommended for
236427                     production.
236428
236429              no_dev --no-dev option for composer. Recommended for production.
236430
236431              quiet  --quiet option for composer. Whether  or  not  to  return
236432                     output from composer.
236433
236434              composer_home
236435                     $COMPOSER_HOME environment variable
236436
236437              always_check
236438                     If  True,  always  run composer install in the directory.
236439                     This is the default behavior.  If False,  only  run  com‐
236440                     poser install if there is no vendor directory present.
236441
236442              env    A list of environment variables to be set prior to execu‐
236443                     tion.
236444
236445       salt.states.composer.update(name, composer=None,  php=None,  user=None,
236446       prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None,
236447       optimize=None,   no_dev=None,   quiet=False,    composer_home=u'/root',
236448       env=None)
236449              Composer  update the directory to ensure we have the latest ver‐
236450              sions of all project dependencies.
236451
236452              name   Directory location of the composer.json file.
236453
236454              composer
236455                     Location of the composer.phar file. If not  set  composer
236456                     will  just  execute  composer as if it is installed glob‐
236457                     ally.  (i.e. /path/to/composer.phar)
236458
236459              php    Location of the php  executable  to  use  with  composer.
236460                     (i.e. /usr/bin/php)
236461
236462              user   Which system user to run composer as.
236463
236464                     New in version 2014.1.4.
236465
236466
236467              prefer_source
236468                     --prefer-source option of composer.
236469
236470              prefer_dist
236471                     --prefer-dist option of composer.
236472
236473              no_scripts
236474                     --no-scripts option of composer.
236475
236476              no_plugins
236477                     --no-plugins option of composer.
236478
236479              optimize
236480                     --optimize-autoloader option of composer. Recommended for
236481                     production.
236482
236483              no_dev --no-dev option for composer. Recommended for production.
236484
236485              quiet  --quiet option for composer. Whether  or  not  to  return
236486                     output from composer.
236487
236488              composer_home
236489                     $COMPOSER_HOME environment variable
236490
236491              env    A list of environment variables to be set prior to execu‐
236492                     tion.
236493
236494   salt.states.cron
236495   Management of cron, the Unix command scheduler
236496       Cron declarations require a number of parameters. The following are the
236497       parameters  used by Salt to define the various timing values for a cron
236498       job:
236499
236500       · minute
236501
236502       · hour
236503
236504       · daymonth
236505
236506       · month
236507
236508       · dayweek (0 to 6 are Sunday through Saturday, 7 can also be  used  for
236509         Sunday)
236510
236511       WARNING:
236512          Any  timing  arguments  not  specified take a value of *. This means
236513          that setting hour to 5, while not defining the  minute  param,  will
236514          result in Salt adding a job that will execute every minute between 5
236515          and 6 A.M.!
236516
236517          Additionally, the default user for these states is root.  Therefore,
236518          if the cron job is for another user, it is necessary to specify that
236519          user with the user parameter.
236520
236521       A long time ago (before 2014.2), when making  changes  to  an  existing
236522       cron  job, the name declaration is the parameter used to uniquely iden‐
236523       tify the job, so if an existing cron that looks like this:
236524
236525          date > /tmp/crontest:
236526            cron.present:
236527              - user: root
236528              - minute: 5
236529
236530       Is changed to this:
236531
236532          date > /tmp/crontest:
236533            cron.present:
236534              - user: root
236535              - minute: 7
236536              - hour: 2
236537
236538       Then the existing cron will be updated, but  if  the  cron  command  is
236539       changed, then a new cron job will be added to the user's crontab.
236540
236541       The  current  behavior  is still relying on that mechanism, but you can
236542       also specify an identifier to identify your crontabs:
236543
236544          date > /tmp/crontest:
236545            cron.present:
236546              - identifier: SUPERCRON
236547              - user: root
236548              - minute: 7
236549              - hour: 2
236550
236551       New in version 2014.1.2.
236552
236553
236554       And, some months later, you modify it:
236555
236556          superscript > /tmp/crontest:
236557            cron.present:
236558              - identifier: SUPERCRON
236559              - user: root
236560              - minute: 3
236561              - hour: 4
236562
236563       New in version 2014.1.2.
236564
236565
236566       The old  date  >  /tmp/crontest  will  be  replaced  by  superscript  >
236567       /tmp/crontest.
236568
236569       Additionally,  Salt  also  supports running a cron every x minutes very
236570       similarly to the Unix convention of using */5 to have a job  run  every
236571       five minutes. In Salt, this looks like:
236572
236573          date > /tmp/crontest:
236574            cron.present:
236575              - user: root
236576              - minute: '*/5'
236577
236578       The job will now run every 5 minutes.
236579
236580       Additionally,  the temporal parameters (minute, hour, etc.) can be ran‐
236581       domized by using random instead of using a specific value. For example,
236582       by  using  the  random keyword in the minute parameter of a cron state,
236583       the same cron job can be pushed to hundreds or thousands of hosts,  and
236584       they  would  each  use a randomly-generated minute. This can be helpful
236585       when the cron job accesses a network resource, and it is not  desirable
236586       for all hosts to run the job concurrently.
236587
236588          /path/to/cron/script:
236589            cron.present:
236590              - user: root
236591              - minute: random
236592              - hour: 2
236593
236594       New in version 0.16.0.
236595
236596
236597       Since  Salt  assumes  a value of * for unspecified temporal parameters,
236598       adding a parameter to the state and setting it to  random  will  change
236599       that value from * to a randomized numeric value. However, if that field
236600       in the cron entry on the minion already contains a numeric value,  then
236601       using the random keyword will not modify it.
236602
236603       Added  the  opportunity  to  set  a  job  with  a  special keyword like
236604       '@reboot' or '@hourly'. Quotes must  be  used,  otherwise  PyYAML  will
236605       strip the '@' sign.
236606
236607          /path/to/cron/script:
236608            cron.present:
236609              - user: root
236610              - special: '@hourly'
236611
236612       The  script  will  be executed every reboot if cron daemon support this
236613       option.
236614
236615          /path/to/cron/otherscript:
236616            cron.absent:
236617              - user: root
236618              - special: '@daily'
236619
236620       This counter part definition will ensure than a job with a special key‐
236621       word is not set.
236622
236623       salt.states.cron.absent(name,   user=u'root',   identifier=False,  spe‐
236624       cial=None, **kwargs)
236625              Verifies that the specified cron job is absent for the specified
236626              user; only the name is matched when removing a cron job.
236627
236628              name   The command that should be absent in the user crontab.
236629
236630              user   The  name of the user whose crontab needs to be modified,
236631                     defaults to the root user
236632
236633              identifier
236634                     Custom-defined identifier for tracking the cron line  for
236635                     future crontab edits. This defaults to the state name
236636
236637              special
236638                     The  special  keyword  used  in  the  job  (eg.  @reboot,
236639                     @hourly...).  Quotes must be used, otherwise PyYAML  will
236640                     strip the '@' sign.
236641
236642       salt.states.cron.env_absent(name, user=u'root')
236643              Verifies  that the specified environment variable is absent from
236644              the crontab for the specified user
236645
236646              name   The name of the environment variable to remove  from  the
236647                     user crontab
236648
236649              user   The  name of the user whose crontab needs to be modified,
236650                     defaults to the root user
236651
236652       salt.states.cron.env_present(name, value=None, user=u'root')
236653              Verifies that the specified environment variable is  present  in
236654              the crontab for the specified user.
236655
236656              name   The  name  of the environment variable to set in the user
236657                     crontab
236658
236659              user   The name of the user whose crontab needs to be  modified,
236660                     defaults to the root user
236661
236662              value  The value to set for the given environment variable
236663
236664       salt.states.cron.file(name,   source_hash=u'',   source_hash_name=None,
236665       user=u'root', template=None, context=None, replace=True, defaults=None,
236666       backup=u'', **kwargs)
236667              Provides  file.managed-like functionality (templating, etc.) for
236668              a pre-made crontab file, to be assigned to a given user.
236669
236670              name   The source file to be used as the  crontab.  This  source
236671                     file  can  be hosted on either the salt master server, or
236672                     on an HTTP or FTP server.  For files hosted on  the  salt
236673                     file  server, if the file is located on the master in the
236674                     directory named spam, and  is  called  eggs,  the  source
236675                     string is salt://spam/eggs
236676
236677                     If  the  file  is hosted on a HTTP or FTP server then the
236678                     source_hash argument is also required
236679
236680              source_hash
236681                     This can be either a file which contains  a  source  hash
236682                     string  for  the  source,  or  a  source hash string. The
236683                     source hash string is the hash algorithm followed by  the
236684                     hash of the file: md5=e138491e9d5b97023cea823fe17bac22
236685
236686              source_hash_name
236687                     When  source_hash refers to a hash file, Salt will try to
236688                     find the correct hash by matching the filename/URI  asso‐
236689                     ciated with that hash. By default, Salt will look for the
236690                     filename being managed. When  managing  a  file  at  path
236691                     /tmp/foo.txt,  then  the  following  line  in a hash file
236692                     would match:
236693
236694                        acbd18db4cc2f85cedef654fccc4a4d8    foo.txt
236695
236696                     However, sometimes a hash file will include multiple sim‐
236697                     ilar paths:
236698
236699                        37b51d194a7513e45b56f6524f2d51f2    ./dir1/foo.txt
236700                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt
236701                        73feffa4b7f6bb68e44cf984c85f6e88    ./dir3/foo.txt
236702
236703                     In  cases  like  this, Salt may match the incorrect hash.
236704                     This argument can be used to tell Salt which filename  to
236705                     match, to ensure that the correct hash is identified. For
236706                     example:
236707
236708                        foo_crontab:
236709                          cron.file:
236710                            - name: https://mydomain.tld/dir2/foo.txt
236711                            - source_hash: https://mydomain.tld/hashes
236712                            - source_hash_name: ./dir2/foo.txt
236713
236714                     NOTE:
236715                        This argument must contain  the  full  filename  entry
236716                        from  the  checksum file, as this argument is meant to
236717                        disambiguate matches for multiple files that have  the
236718                        same  basename. So, in the example above, simply using
236719                        foo.txt would not match.
236720
236721                     New in version 2016.3.5.
236722
236723
236724              user   The user to whom the crontab  should  be  assigned.  This
236725                     defaults to root.
236726
236727              template
236728                     If  this  setting  is  applied  then the named templating
236729                     engine will be used to render the downloaded  file.  Cur‐
236730                     rently, jinja and mako are supported.
236731
236732              context
236733                     Overrides  default  context  variables passed to the tem‐
236734                     plate.
236735
236736              replace
236737                     If the crontab should be replaced,  if  False  then  this
236738                     command will be ignored if a crontab exists for the spec‐
236739                     ified user. Default is True.
236740
236741              defaults
236742                     Default context passed to the template.
236743
236744              backup Overrides the default backup mode for the user's crontab.
236745
236746       salt.states.cron.present(name,  user=u'root',  minute=u'*',  hour=u'*',
236747       daymonth=u'*', month=u'*', dayweek=u'*', comment=None, commented=False,
236748       identifier=False, special=None)
236749              Verifies that the specified cron job is present for  the  speci‐
236750              fied  user.   It is recommended to use identifier. Otherwise the
236751              cron job is installed twice if you change the  name.   For  more
236752              advanced  information  about what exactly can be set in the cron
236753              timing parameters, check your cron system's documentation.  Most
236754              Unix-like  systems'  cron  documentation  can  be  found via the
236755              crontab man page: man 5 crontab.
236756
236757              name   The command that should be executed by the cron job.
236758
236759              user   The name of the user whose crontab needs to be  modified,
236760                     defaults to the root user
236761
236762              minute The  information  to be set into the minute section, this
236763                     can be any string supported by  your  cron  system's  the
236764                     minute field. Default is *
236765
236766              hour   The information to be set in the hour section. Default is
236767                     *
236768
236769              daymonth
236770                     The information to be set in the day  of  month  section.
236771                     Default is *
236772
236773              month  The  information  to be set in the month section. Default
236774                     is *
236775
236776              dayweek
236777                     The information to be set in the  day  of  week  section.
236778                     Default is *
236779
236780              comment
236781                     User comment to be added on line previous the cron job
236782
236783              commented
236784                     The cron job is set commented (prefixed with #DISABLED#).
236785                     Defaults to False.
236786
236787                     New in version 2016.3.0.
236788
236789
236790              identifier
236791                     Custom-defined identifier for tracking the cron line  for
236792                     future crontab edits. This defaults to the state name
236793
236794              special
236795                     A  special  keyword  to specify periodicity (eg. @reboot,
236796                     @hourly...).  Quotes must be used, otherwise PyYAML  will
236797                     strip the '@' sign.
236798
236799                     New in version 2016.3.0.
236800
236801
236802   salt.states.csf module
236803   CSF Ip tables management
236804       depends
236805
236806              · csf utility
236807
236808       configuration
236809              See  http://download.configserver.com/csf/install.txt  for setup
236810              instructions.
236811
236812          Simply allow/deny rules:
236813            csf.rule_present:
236814              ip: 1.2.3.4
236815              method: allow
236816
236817       salt.states.csf.nics_skip(name, nics, ipv6)
236818              Alias for csf.nics_skipped
236819
236820       salt.states.csf.nics_skipped(name, nics, ipv6=False)
236821
236822              name   Meaningless arg, but required for state.
236823
236824              nics   A list of nics to skip.
236825
236826              ipv6   Boolean. Set to true if you want to skip the ipv6  inter‐
236827                     face. Default false (ipv4).
236828
236829       salt.states.csf.option_present(name, value, reload=False)
236830              Ensure the state of a particular option/setting in csf.
236831
236832              name   The option name in csf.conf
236833
236834              value  The value it should be set to.
236835
236836              reload Boolean. If set to true, csf will be reloaded after.
236837
236838       salt.states.csf.ports_open(name, ports, proto=u'tcp', direction=u'in')
236839              Ensure  ports  are  open for a protocol, in a direction.  e.g. -
236840              proto='tcp', direction='in' would set the values for  TCP_IN  in
236841              the csf.conf file.
236842
236843              ports  A list of ports that should be open.
236844
236845              proto  The  protocol.  May  be  one  of 'tcp', 'udp', 'tcp6', or
236846                     'udp6'.
236847
236848              direction
236849                     Choose 'in', 'out', or both to indicate the  port  should
236850                     be opened for inbound traffic, outbound traffic, or both.
236851
236852       salt.states.csf.rule_absent(name,   method,   port=None,  proto=u'tcp',
236853       direction=u'in',    port_origin=u'd',     ip_origin=u's',     ttl=None,
236854       reload=False)
236855              Ensure iptable is not present.
236856
236857              name   The ip address or CIDR for the rule.
236858
236859              method The type of rule.  Either 'allow' or 'deny'.
236860
236861              port   Optional port to be open or closed for the iptables rule.
236862
236863              proto  The  protocol.  Either  'tcp', 'udp'.  Only applicable if
236864                     port is specified.
236865
236866              direction
236867                     The diretion of traffic to apply  the  rule  to.   Either
236868                     'in', or 'out'. Only applicable if port is specified.
236869
236870              port_origin
236871                     Specifies  either the source or destination port is rele‐
236872                     vant for this rule. Only applicable if port is specified.
236873                     Either 's', or 'd'.
236874
236875              ip_origin
236876                     Specifies  whether  the  ip  in  this  rule refers to the
236877                     source or destination ip. Either 's', or 'd'. Only appli‐
236878                     cable if port is specified.
236879
236880              ttl    How  long the rule should exist. If supplied, csf.tempal‐
236881                     low() or csf.tempdeny()` are used.
236882
236883              reload Reload the csf service after applying this rule.  Default
236884                     false.
236885
236886       salt.states.csf.rule_present(name,   method,  port=None,  proto=u'tcp',
236887       direction=u'in',  port_origin=u'd',  ip_origin=u's',   ttl=None,   com‐
236888       ment=u'', reload=False)
236889              Ensure iptable rule exists.
236890
236891              name   The ip address or CIDR for the rule.
236892
236893              method The type of rule.  Either 'allow' or 'deny'.
236894
236895              port   Optional port to be open or closed for the iptables rule.
236896
236897              proto  The protocol. Either 'tcp', or 'udp'.  Only applicable if
236898                     port is specified.
236899
236900              direction
236901                     The diretion of traffic to apply  the  rule  to.   Either
236902                     'in', or 'out'. Only applicable if port is specified.
236903
236904              port_origin
236905                     Specifies  either the source or destination port is rele‐
236906                     vant for this rule. Only applicable if port is specified.
236907                     Either 's', or 'd'.
236908
236909              ip_origin
236910                     Specifies  whether  the  ip  in  this  rule refers to the
236911                     source or destination ip. Either 's', or 'd'. Only appli‐
236912                     cable if port is specified.
236913
236914              ttl    How  long the rule should exist. If supplied, csf.tempal‐
236915                     low() or csf.tempdeny()` are used.
236916
236917              comment
236918                     An optional comment to appear after the rule as  a  #com‐
236919                     ment .
236920
236921              reload Reload the csf service after applying this rule.  Default
236922                     false.
236923
236924       salt.states.csf.testing_off(name, reload=False)
236925              Ensure testing mode is enabled in csf.
236926
236927              reload Reload CSF after changing the  testing  status.   Default
236928                     false.
236929
236930       salt.states.csf.testing_on(name, reload=False)
236931              Ensure testing mode is enabled in csf.
236932
236933              reload Reload  CSF  after  changing the testing status.  Default
236934                     false.
236935
236936   salt.states.cyg
236937       Installation of Cygwin packages.
236938
236939       A state module to manage cygwin packages. Packages can be installed  or
236940       removed.
236941
236942          dos2unix:
236943            cyg.installed
236944
236945       class salt.states.cyg.DictDiffer(current_dict, past_dict)
236946              Calculate the difference between two dictionaries.
236947
236948              1. items added
236949
236950              2. items removed
236951
236952              3. keys same in both but changed values
236953
236954              4. keys same in both and unchanged values
236955
236956              added()
236957                     Return a set of additions to past_dict.
236958
236959              changed()
236960                     Return a set of the keys with changed values.
236961
236962              removed()
236963                     Return a set of things removed from past_dict.
236964
236965              same() True if the two dicts are the same.
236966
236967              unchanged()
236968                     Return a set of the keys with unchanged values.
236969
236970       salt.states.cyg.installed(name, cyg_arch=u'x86_64', mirrors=None)
236971              Make sure that a package is installed.
236972
236973              name   The name of the package to install
236974
236975              cyg_arch
236976                     x86_64  The  cygwin  architecture  to install the package
236977                     into.  Current options are x86 and x86_64
236978
236979              mirrors
236980                     None List of mirrors to check.  None will use  a  default
236981                     mirror (kernel.org)
236982
236983              CLI Example:
236984
236985                 rsync:
236986                   cyg.installed:
236987                     - mirrors:
236988                       - http://mirror/without/public/key: ""
236989                       - http://mirror/with/public/key: http://url/of/public/key
236990
236991       salt.states.cyg.removed(name, cyg_arch=u'x86_64', mirrors=None)
236992              Make sure that a package is not installed.
236993
236994              name   The name of the package to uninstall
236995
236996              cyg_arch
236997                     x86_64  The  cygwin  architecture  to  remove the package
236998                     from.  Current options are x86 and x86_64
236999
237000              mirrors
237001                     None List of mirrors to check.  None will use  a  default
237002                     mirror (kernel.org)
237003
237004              CLI Example:
237005
237006                 rsync:
237007                   cyg.removed:
237008                     - mirrors:
237009                       - http://mirror/without/public/key: ""
237010                       - http://mirror/with/public/key: http://url/of/public/key
237011
237012       salt.states.cyg.updated(name=None, cyg_arch=u'x86_64', mirrors=None)
237013              Make sure all packages are up to date.
237014
237015              name   None  No affect, salt fails poorly without the arg avail‐
237016                     able
237017
237018              cyg_arch
237019                     x86_64  The  cygwin  architecture  to  update.    Current
237020                     options are x86 and x86_64
237021
237022              mirrors
237023                     None  List  of mirrors to check.  None will use a default
237024                     mirror (kernel.org)
237025
237026              CLI Example:
237027
237028                 rsync:
237029                   cyg.updated:
237030                     - mirrors:
237031                       - http://mirror/without/public/key: ""
237032                       - http://mirror/with/public/key: http://url/of/public/key
237033
237034   salt.states.ddns
237035   Dynamic DNS updates
237036       Ensure a DNS record is  present  or  absent  utilizing  RFC  2136  type
237037       dynamic updates.
237038
237039       depends
237040
237041              · dnspython
237042
237043       NOTE:
237044          The  dnspython  module  is  required when managing DDNS using a TSIG
237045          key.  If you are not using a TSIG key, DDNS is allowed by ACLs based
237046          on IP address and the dnspython module is not required.
237047
237048       Example:
237049
237050          webserver:
237051            ddns.present:
237052              - zone: example.com
237053              - ttl: 60
237054              - data: 111.222.333.444
237055              - nameserver: 123.234.345.456
237056              - keyfile: /srv/salt/dnspy_tsig_key.txt
237057
237058       salt.states.ddns.absent(name, zone, data=None, rdtype=None, **kwargs)
237059              Ensures that the named DNS record is absent.
237060
237061              name   The  host  portion  of the DNS record, e.g., 'webserver'.
237062                     Name and zone are concatenated when the entry is  created
237063                     unless  name  includes  a trailing dot, so make sure that
237064                     information is not duplicated in these two arguments.
237065
237066              zone   The zone to check
237067
237068              data   Data for the DNS record. E.g., the IP address  for  an  A
237069                     record.  If  omitted,  all  records  matching  name  (and
237070                     rdtype, if provided) will be purged.
237071
237072              rdtype DNS resource type. If omitted, all types will be purged.
237073
237074              **kwargs
237075                     Additional arguments the ddns.update  function  may  need
237076                     (e.g.   nameserver,  keyfile,  keyname).   Note  that the
237077                     nsupdate key file can’t be reused by this  function,  the
237078                     keyfile  and  other  arguments  must follow the dnspython
237079                     spec.
237080
237081       salt.states.ddns.present(name, zone, ttl, data, rdtype=u'A', **kwargs)
237082              Ensures that the named DNS record is present with the given ttl.
237083
237084              name   The host portion of the DNS  record,  e.g.,  'webserver'.
237085                     Name  and zone are concatenated when the entry is created
237086                     unless name includes a trailing dot, so  make  sure  that
237087                     information is not duplicated in these two arguments.
237088
237089              zone   The zone to check/update
237090
237091              ttl    TTL for the record
237092
237093              data   Data  for  the  DNS record. E.g., the IP address for an A
237094                     record.
237095
237096              rdtype DNS resource type. Default 'A'.
237097
237098              **kwargs
237099                     Additional arguments the ddns.update  function  may  need
237100                     (e.g.   nameserver,  keyfile,  keyname).   Note  that the
237101                     nsupdate key file can’t be reused by this  function,  the
237102                     keyfile  and  other  arguments  must follow the dnspython
237103                     spec.
237104
237105   salt.states.debconfmod
237106   Management of debconf selections
237107       depends
237108
237109              · debconf-utils package
237110
237111       The debconfmod state module manages the enforcement of  debconf  selec‐
237112       tions,  this  state can set those selections prior to package installa‐
237113       tion.
237114
237115   Available Functions
237116       The debconfmod state has two functions, the set and set_file functions
237117
237118       set    Set debconf selections from the state itself
237119
237120       set_file
237121              Set debconf selections from a file
237122
237123          nullmailer-debconf:
237124            debconf.set:
237125              - name: nullmailer
237126              - data:
237127                  'shared/mailname': {'type': 'string', 'value': 'server.domain.tld'}
237128                  'nullmailer/relayhost': {'type': 'string', 'value': 'mail.domain.tld'}
237129          ferm-debconf:
237130            debconf.set:
237131              - name: ferm
237132              - data:
237133                  'ferm/enable': {'type': 'boolean', 'value': True}
237134
237135       NOTE:
237136          Due to how PyYAML imports nested dicts (see here), the values in the
237137          data dict must be indented four spaces instead of two.
237138
237139       If  you're  setting  debconf values that requires dpkg-reconfigure, you
237140       can use the onchanges requisite to reconfigure your package:
237141
237142          set-default-shell:
237143            debconf.set:
237144              - name: dash
237145              - data:
237146                    'dash/sh': {'type': 'boolean', 'value': false}
237147
237148          reconfigure-dash:
237149            cmd.run:
237150              - name: dpkg-reconfigure -f noninteractive dash
237151              - onchanges:
237152                - debconf: set-default-shell
237153
237154       Every time the set-default-shell state  changes,  the  reconfigure-dash
237155       state will also run.
237156
237157       NOTE:
237158          For  boolean types, the value should be true or false, not 'true' or
237159          'false'.
237160
237161       salt.states.debconfmod.set(name, data, **kwargs)
237162              Set debconf selections
237163
237164                 <state_id>:
237165                   debconf.set:
237166                     - name: <name>
237167                     - data:
237168                         <question>: {'type': <type>, 'value': <value>}
237169                         <question>: {'type': <type>, 'value': <value>}
237170
237171                 <state_id>:
237172                   debconf.set:
237173                     - name: <name>
237174                     - data:
237175                         <question>: {'type': <type>, 'value': <value>}
237176                         <question>: {'type': <type>, 'value': <value>}
237177
237178              name:  The package name to set answers for.
237179
237180              data:  A set of questions/answers for debconf. Note that  every‐
237181                     thing under this must be indented twice.
237182
237183              question:
237184                     The question the is being pre-answered
237185
237186              type:  The  type  of question that is being asked (string, bool‐
237187                     ean, select, etc.)
237188
237189              value: The answer to the question
237190
237191       salt.states.debconfmod.set_file(name,   source,   template=None,   con‐
237192       text=None, defaults=None, **kwargs)
237193              Set debconf selections from a file or a template
237194
237195                 <state_id>:
237196                   debconf.set_file:
237197                     - source: salt://pathto/pkg.selections
237198
237199                 <state_id>:
237200                   debconf.set_file:
237201                     - source: salt://pathto/pkg.selections?saltenv=myenvironment
237202
237203                 <state_id>:
237204                   debconf.set_file:
237205                     - source: salt://pathto/pkg.selections.jinja2
237206                     - template: jinja
237207                     - context:
237208                         some_value: "false"
237209
237210              source:
237211                     The  location  of  the file containing the package selec‐
237212                     tions
237213
237214              template
237215                     If this setting is  applied  then  the  named  templating
237216                     engine  will  be  used  to  render the package selections
237217                     file, currently jinja, mako, and wempy are supported
237218
237219              context
237220                     Overrides default context variables passed  to  the  tem‐
237221                     plate.
237222
237223              defaults
237224                     Default context passed to the template.
237225
237226   salt.states.dellchassis
237227       Manage chassis via Salt Proxies.
237228
237229       New in version 2015.8.2.
237230
237231
237232       Below is an example state that sets basic parameters:
237233
237234          my-dell-chassis:
237235            dellchassis.chassis:
237236              - chassis_name: my-dell-chassis
237237              - datacenter: dc-1-us
237238              - location: my-location
237239              - mode: 2
237240              - idrac_launch: 1
237241              - slot_names:
237242                - server-1: my-slot-name
237243                - server-2: my-other-slot-name
237244              - blade_power_states:
237245                - server-1: on
237246                - server-2: off
237247                - server-3: powercycle
237248
237249       However,  it  is possible to place the entire set of chassis configura‐
237250       tion data in pillar. Here's an example pillar structure:
237251
237252          proxy:
237253            host: 10.27.20.18
237254            admin_username: root
237255            fallback_admin_username: root
237256            passwords:
237257              - super-secret
237258              - old-secret
237259            proxytype: fx2
237260
237261            chassis:
237262              name: fx2-1
237263              username: root
237264              password: saltstack1
237265              datacenter: london
237266              location: rack-1-shelf-3
237267              management_mode: 2
237268              idrac_launch: 0
237269              slot_names:
237270                - 'server-1': blade1
237271                - 'server-2': blade2
237272
237273              servers:
237274                server-1:
237275                  idrac_password: saltstack1
237276                  ipmi_over_lan: True
237277                  ip: 172.17.17.132
237278                  netmask: 255.255.0.0
237279                  gateway: 172.17.17.1
237280                server-2:
237281                  idrac_password: saltstack1
237282                  ipmi_over_lan: True
237283                  ip: 172.17.17.2
237284                  netmask: 255.255.0.0
237285                  gateway: 172.17.17.1
237286                server-3:
237287                  idrac_password: saltstack1
237288                  ipmi_over_lan: True
237289                  ip: 172.17.17.20
237290                  netmask: 255.255.0.0
237291                  gateway: 172.17.17.1
237292                server-4:
237293                  idrac_password: saltstack1
237294                  ipmi_over_lan: True
237295                  ip: 172.17.17.2
237296                  netmask: 255.255.0.0
237297                  gateway: 172.17.17.1
237298
237299              switches:
237300                switch-1:
237301                  ip: 192.168.1.2
237302                  netmask: 255.255.255.0
237303                  gateway: 192.168.1.1
237304                  snmp: nonpublic
237305                  password: saltstack1
237306                switch-2:
237307                  ip: 192.168.1.3
237308                  netmask: 255.255.255.0
237309                  gateway: 192.168.1.1
237310                  snmp: nonpublic
237311                  password: saltstack1
237312
237313       And to go with it, here's an example state that pulls the data from the
237314       pillar stated above:
237315
237316          {% set details = pillar.get('proxy:chassis', {}) %}
237317          standup-step1:
237318            dellchassis.chassis:
237319              - name: {{ details['name'] }}
237320              - location: {{ details['location'] }}
237321              - mode: {{ details['management_mode'] }}
237322              - idrac_launch: {{ details['idrac_launch'] }}
237323              - slot_names:
237324                {% for entry details['slot_names'] %}
237325                  - {{ entry.keys()[0] }}: {{ entry[entry.keys()[0]]  }}
237326                {% endfor %}
237327
237328          blade_powercycle:
237329            dellchassis.chassis:
237330              - blade_power_states:
237331                - server-1: powercycle
237332                - server-2: powercycle
237333                - server-3: powercycle
237334                - server-4: powercycle
237335
237336          # Set idrac_passwords for blades.  racadm needs them to be called 'server-x'
237337          {% for k, v in details['servers'].iteritems() %}
237338          {{ k }}:
237339            dellchassis.blade_idrac:
237340              - idrac_password: {{ v['idrac_password'] }}
237341          {% endfor %}
237342
237343          # Set management ip addresses, passwords, and snmp strings for switches
237344          {% for k, v in details['switches'].iteritems() %}
237345          {{ k }}-switch-setup:
237346            dellchassis.switch:
237347              - name: {{ k }}
237348              - ip: {{ v['ip'] }}
237349              - netmask: {{ v['netmask'] }}
237350              - gateway: {{ v['gateway'] }}
237351              - password: {{ v['password'] }}
237352              - snmp: {{ v['snmp'] }}
237353          {% endfor %}
237354
237355       NOTE:
237356          This  state  module  relies  on the dracr.py execution module, which
237357          runs racadm commands on the chassis, blades, etc. The racadm command
237358          runs  very  slowly  and,  depending  on your state, the proxy minion
237359          return might timeout before the racadm commands have  completed.  If
237360          you  are repeatedly seeing minions timeout after state calls, please
237361          use the -t CLI argument to increase the timeout variable.
237362
237363          For example:
237364
237365              salt '*' state.sls my-dell-chasis-state-name -t 60
237366
237367       NOTE:
237368          The Dell CMC units perform adequately but many iDRACs are excruciat‐
237369          ingly slow.  Some functions can take minutes to execute.
237370
237371       salt.states.dellchassis.blade_idrac(name,          idrac_password=None,
237372       idrac_ipmi=None, idrac_ip=None, idrac_netmask=None, idrac_gateway=None,
237373       idrac_dnsname=None, idrac_dhcp=None)
237374              Set parameters for iDRAC in a blade.
237375
237376              Parameters
237377
237378                     · idrac_password  --  Password  to  use to connect to the
237379                       iDRACs directly (idrac_ipmi and idrac_dnsname  must  be
237380                       set  directly  on the iDRAC.  They can't be set through
237381                       the CMC.  If this password is present, use  it  instead
237382                       of the CMC password)
237383
237384                     · idrac_ipmi -- Enable/Disable IPMI over LAN
237385
237386                     · idrac_ip -- Set IP address for iDRAC
237387
237388                     · idrac_netmask -- Set netmask for iDRAC
237389
237390                     · idrac_gateway -- Set gateway for iDRAC
237391
237392                     · idrac_dhcp  --  Turn  on DHCP for iDRAC (True turns on,
237393                       False does nothing becaause setting a  static  IP  will
237394                       disable DHCP).
237395
237396              Returns
237397                     A standard Salt changes dictionary
237398
237399              NOTE:  If  any  of the IP address settings is configured, all of
237400              ip, netmask, and gateway must be present
237401
237402       salt.states.dellchassis.chassis(name, chassis_name=None, password=None,
237403       datacenter=None,     location=None,    mode=None,    idrac_launch=None,
237404       slot_names=None, blade_power_states=None)
237405              Manage a Dell Chassis.
237406
237407              chassis_name
237408                     The name of the chassis.
237409
237410              datacenter
237411                     The datacenter in which the chassis is located
237412
237413              location
237414                     The location of the chassis.
237415
237416              password
237417                     Password for the chassis. Note: If this password  is  set
237418                     for the chassis, the current implementation of this state
237419                     will set this password both on the chassis and the  iDrac
237420                     passwords  on  any configured blades. If the password for
237421                     the blades should be distinct, they should be  set  sepa‐
237422                     rately with the blade_idrac function.
237423
237424              mode   The management mode of the chassis. Viable options are:
237425
237426                     · 0: None
237427
237428                     · 1: Monitor
237429
237430                     · 2: Manage and Monitor
237431
237432              idrac_launch
237433                     The  iDRAC  launch  method of the chassis. Viable options
237434                     are:
237435
237436                     · 0: Disabled (launch iDRAC using IP address)
237437
237438                     · 1: Enabled (launch iDRAC using DNS name)
237439
237440              slot_names
237441                     The names of the slots, provided as a list identified  by
237442                     their slot numbers.
237443
237444              blade_power_states
237445                     The  power  states  of a blade server, provided as a list
237446                     and identified by their server  numbers.  Viable  options
237447                     are:
237448
237449                        · on: Ensure the blade server is powered on.
237450
237451                        · off: Ensure the blade server is powered off.
237452
237453                        · powercycle: Power cycle the blade server.
237454
237455              Example:
237456
237457                 my-dell-chassis:
237458                   dellchassis.chassis:
237459                     - chassis_name: my-dell-chassis
237460                     - location: my-location
237461                     - datacenter: london
237462                     - mode: 2
237463                     - idrac_launch: 1
237464                     - slot_names:
237465                       - 1: my-slot-name
237466                       - 2: my-other-slot-name
237467                     - blade_power_states:
237468                       - server-1: on
237469                       - server-2: off
237470                       - server-3: powercycle
237471
237472       salt.states.dellchassis.firmware_update(hosts=None, directory=u'')
237473                 State to update the firmware on host using the racadm command
237474
237475                 firmwarefile
237476                        filename (string) starting with salt://
237477
237478                 host   string  representing  the  hostname  supplied  to  the
237479                        racadm command
237480
237481                 directory
237482                        Directory name where firmwarefile will be downloaded
237483
237484                 dell-chassis-firmware-update:
237485                   dellchassis.firmware_update:
237486                     hosts:
237487                       cmc:
237488                         salt://firmware_cmc.exe
237489                       server-1:
237490                         salt://firmware.exe
237491                     directory: /opt/firmwares
237492
237493       salt.states.dellchassis.switch(name,   ip=None,   netmask=None,   gate‐
237494       way=None, dhcp=None, password=None, snmp=None)
237495              Manage switches in a Dell Chassis.
237496
237497              name   The switch designation (e.g. switch-1, switch-2)
237498
237499              ip     The Static IP Address of the switch
237500
237501              netmask
237502                     The netmask for the static IP
237503
237504              gateway
237505                     The gateway for the static IP
237506
237507              dhcp   True:  Enable  DHCP False: Do not change DHCP setup (dis‐
237508                     abling DHCP is automatic when a static IP is set)
237509
237510              password
237511                     The access (root) password for the switch
237512
237513              snmp   The SNMP community string for the switch
237514
237515              Example:
237516
237517                 my-dell-chassis:
237518                   dellchassis.switch:
237519                     - switch: switch-1
237520                     - ip: 192.168.1.1
237521                     - netmask: 255.255.255.0
237522                     - gateway: 192.168.1.254
237523                     - dhcp: True
237524                     - password: secret
237525                     - snmp: public
237526
237527   salt.states.disk
237528       Disk monitoring state
237529
237530       Monitor the state of disk resources.
237531
237532       The disk.status function can be used to report that the used space of a
237533       filesystem is within the specified limits.
237534
237535          used_space:
237536            disk.status:
237537              - name: /dev/xda1
237538              - maximum: 79%
237539              - minimum: 11%
237540
237541       It  can  be  used  with an onfail requisite, for example, to take addi‐
237542       tional action in response to or in preparation for other states.
237543
237544          storage_threshold:
237545            disk.status:
237546              - name: /dev/xda1
237547              - maximum: 97%
237548
237549          clear_cache:
237550            cmd.run:
237551              - name: rm -r /var/cache/app
237552              - onfail:
237553                - disk: storage_threshold
237554
237555       To use kilobytes (KB) for minimum and  maximum  rather  than  percents,
237556       specify the absolute flag:
237557
237558          used_space:
237559            disk.status:
237560              - name: /dev/xda1
237561              - minimum: 1024 KB
237562              - maximum: 1048576 KB
237563              - absolute: True
237564
237565       salt.states.disk.status(name,    maximum=None,    minimum=None,   abso‐
237566       lute=False, free=False)
237567              Return the current disk usage stats for the named mount point
237568
237569              name   Disk mount or directory for which to check used space
237570
237571              maximum
237572                     The maximum disk utilization
237573
237574              minimum
237575                     The minimum disk utilization
237576
237577              absolute
237578                     By default, the utilization is  measured  in  percentage.
237579                     Set the absolute flag to use kilobytes.
237580
237581                     New in version 2016.11.0.
237582
237583
237584              free   By default, minimum & maximum refer to the amount of used
237585                     space.  Set to True to evaluate the free space instead.
237586
237587   salt.states.docker_container
237588       Management of Docker containers
237589
237590       New in version 2017.7.0.
237591
237592
237593       depends
237594              docker Python module
237595
237596       NOTE:
237597          Older releases  of  the  Python  bindings  for  Docker  were  called
237598          docker-py in PyPI. All releases of docker, and releases of docker-py
237599          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
237600          installed using pip.install:
237601
237602              salt myminion pip.install docker
237603
237604          To  upgrade  from  docker-py  to  docker,  you  must first uninstall
237605          docker-py, and then install docker:
237606
237607              salt myminion pip.uninstall docker-py
237608              salt myminion pip.install docker
237609
237610       These states were moved from the docker state module  (formerly  called
237611       dockerng)    in    the    2017.7.0    release.    When    running   the
237612       docker_container.running state for the first time  after  upgrading  to
237613       2017.7.0, your container(s) may be replaced. The changes may show diffs
237614       for certain parameters which say  that  the  old  value  was  an  empty
237615       string,  and  the  new  value  is None. This is due to the fact that in
237616       prior releases Salt was passing empty strings  for  these  values  when
237617       creating  the  container  if they were undefined in the SLS file, where
237618       now Salt simply does not pass any arguments not explicitly  defined  in
237619       the SLS file.  Subsequent runs of the state should not replace the con‐
237620       tainer if the configuration remains unchanged.
237621
237622       NOTE:
237623          To pull from a Docker registry, authentication must  be  configured.
237624          See  here  for more information on how to configure access to docker
237625          registries in Pillar data.
237626
237627       salt.states.docker_container.absent(name, force=False)
237628              Ensure that a container is absent
237629
237630              name   Name of the container
237631
237632              force  False Set to True to remove the container even if  it  is
237633                     running
237634
237635              Usage Examples:
237636
237637                 mycontainer:
237638                   docker_container.absent
237639
237640                 multiple_containers:
237641                   docker_container.absent:
237642                     - names:
237643                       - foo
237644                       - bar
237645                       - baz
237646
237647       salt.states.docker_container.mod_run_check(onlyif, unless, creates)
237648              Execute  the  onlyif/unless/creates logic. Returns a result dict
237649              if any of the checks fail, otherwise returns True
237650
237651       salt.states.docker_container.mod_watch(name, sfun=None, **kwargs)
237652              The docker_container watcher, called to invoke  the  watch  com‐
237653              mand.
237654
237655              NOTE:
237656                 This  state  exists  to support special handling of the watch
237657                 requisite. It should not be called directly.
237658
237659                 Parameters for this function should be set by the state being
237660                 triggered.
237661
237662       salt.states.docker_container.run(name,     image=None,     onlyif=None,
237663       unless=None,  creates=None,  bg=False,  failhard=True,   replace=False,
237664       force=False,    skip_translate=None,   ignore_collisions=False,   vali‐
237665       date_ip_addrs=True, client_timeout=60, **kwargs)
237666              New in version 2018.3.0.
237667
237668
237669              NOTE:
237670                 If no tag is specified in the image name, and nothing  match‐
237671                 ing  the  specified image is pulled on the minion, the docker
237672                 pull that retrieves the image will  pull  all  tags  for  the
237673                 image. A tag of latest is not implicit for the pull. For this
237674                 reason, it is recommended to specify the  image  in  repo:tag
237675                 notation.
237676
237677              Like the cmd.run state, only for Docker.  Does the equivalent of
237678              a docker run and returns information about  the  container  that
237679              was created, as well as its output.
237680
237681              This     state     accepts     the     same     arguments     as
237682              docker_container.running, with the  exception  of  watch_action,
237683              start,  and  shutdown_timeout  (though  the force argument has a
237684              different meaning in this state).
237685
237686              In addition, this state accepts the arguments from  docker.logs,
237687              with the exception of follow, to control how logs are returned.
237688
237689              Additionally, the following arguments are supported:
237690
237691              onlyif A command or list of commands to run as a check. The con‐
237692                     tainer will only run if any  of  the  specified  commands
237693                     returns a zero exit status.
237694
237695              unless A command or list of commands to run as a check. The con‐
237696                     tainer will only run if any  of  the  specified  commands
237697                     returns a non-zero exit status.
237698
237699              creates
237700                     A  path  or list of paths. Only run if one or more of the
237701                     specified paths do not exist on the minion.
237702
237703              bg     False If True, run container in  background  and  do  not
237704                     await or deliver its results.
237705
237706                     NOTE:
237707                        This  may  not  be  useful in cases where other states
237708                        depend on the results of this state.  Also,  the  logs
237709                        will  be  inaccessible  once  the  container  exits if
237710                        auto_remove is set to True, so keep this in mind.
237711
237712              failhard
237713                     True If True, the state will return a False result if the
237714                     exit  code  of the container is non-zero. When this argu‐
237715                     ment is set to False, the state will return a True result
237716                     regardless of the container's exit code.
237717
237718                     NOTE:
237719                        This has no effect if bg is set to True.
237720
237721              replace
237722                     False If True, and if the named container already exists,
237723                     this will remove  the  existing  container.  The  default
237724                     behavior  is  to return a False result when the container
237725                     already exists.
237726
237727              force  False If True, and the named  container  already  exists,
237728                     and  replace is also set to True, then the container will
237729                     be forcibly removed.  Otherwise, the state will not  pro‐
237730                     ceed and will return a False result.
237731
237732              CLI Examples:
237733
237734                 salt myminion docker.run_container myuser/myimage command=/usr/local/bin/myscript.sh
237735
237736              USAGE EXAMPLE
237737
237738                 {% set pkg_version = salt.pillar.get('pkg_version', '1.0-1') %}
237739                 build_package:
237740                   docker_container.run:
237741                     - image: myuser/builder:latest
237742                     - binds: /home/myuser/builds:/build_dir
237743                     - command: /scripts/build.sh {{ pkg_version }}
237744                     - creates: /home/myuser/builds/myapp-{{ pkg_version }}.noarch.rpm
237745                     - replace: True
237746                     - networks:
237747                       - mynet
237748                     - require:
237749                       - docker_network: mynet
237750
237751       salt.states.docker_container.running(name,    image=None,   skip_trans‐
237752       late=None,       ignore_collisions=False,       validate_ip_addrs=True,
237753       force=False,  watch_action=u'force', start=True, shutdown_timeout=None,
237754       client_timeout=60, networks=None, **kwargs)
237755              Ensure that a container with a specific configuration is present
237756              and running
237757
237758              name   Name of the container
237759
237760              image  Image to use for the container
237761
237762                     NOTE:
237763                        This  state  will pull the image if it is not present.
237764                        However, if the image needs to be built from a Docker‐
237765                        file  or  loaded  from  a saved image, or if you would
237766                        like to use requisites to trigger a replacement of the
237767                        container   when   the  image  is  updated,  then  the
237768                        docker_image.present state should be  used  to  manage
237769                        the image.
237770
237771                     Changed  in  version  2018.3.0: If no tag is specified in
237772                     the image name, and nothing matching the specified  image
237773                     is  pulled  on the minion, the docker pull that retrieves
237774                     the image will pull all tags for the image. A tag of lat‐
237775                     est  is no longer implicit for the pull. For this reason,
237776                     it is recommended to specify the image in repo:tag  nota‐
237777                     tion.
237778
237779
237780              skip_translate
237781                     This  function  translates Salt CLI or SLS input into the
237782                     format which docker-py expects.  However,  in  the  event
237783                     that  Salt's  translation  logic  fails (due to potential
237784                     changes in the Docker Remote  API,  or  to  bugs  in  the
237785                     translation  code),  this  argument  can be used to exert
237786                     granular control over which arguments are translated  and
237787                     which are not.
237788
237789                     Pass  this  argument as a comma-separated list (or Python
237790                     list) of arguments, and translation for each passed argu‐
237791                     ment  name  will be skipped. Alternatively, pass True and
237792                     all translation will be skipped.
237793
237794                     Skipping tranlsation allows for arguments to be formatted
237795                     directly  in  the  format  which  docker-py expects. This
237796                     allows for API changes and other issues to be more easily
237797                     worked  around.  An  example of using this option to skip
237798                     translation would be:
237799
237800                     For example, imagine that there is an issue with process‐
237801                     ing the port_bindings argument, and the following config‐
237802                     uration no longer works as expected:
237803
237804                        mycontainer:
237805                          docker_container.running:
237806                            - image: 7.3.1611
237807                            - port_bindings:
237808                              - 10.2.9.10:8080:80
237809
237810                     By using skip_translate, you can forego the input  trans‐
237811                     lation  and  configure  the  port  binding  in the format
237812                     docker-py needs:
237813
237814                        mycontainer:
237815                          docker_container.running:
237816                            - image: 7.3.1611
237817                            - skip_translate: port_bindings
237818                            - port_bindings: {8080: [('10.2.9.10', 80)], '4193/udp': 9314}
237819
237820                     See the following links for more information:
237821
237822                     · docker-py Low-level API
237823
237824                     · Docker Engine API
237825
237826              ignore_collisions
237827                     False Since many of docker-py's arguments differ in  name
237828                     from their CLI counterparts (with which most Docker users
237829                     are more familiar),  Salt  detects  usage  of  these  and
237830                     aliases them to the docker-py version of that argument so
237831                     that both CLI and API versions of a  given  argument  are
237832                     supported.  However,  if both the alias and the docker-py
237833                     version of the same argument (e.g. env  and  environment)
237834                     are  used,  an error will be raised. Set this argument to
237835                     True to suppress these errors and keep the docker-py ver‐
237836                     sion of the argument.
237837
237838              validate_ip_addrs
237839                     True  For  parameters which accept IP addresses as input,
237840                     IP address validation will be performed. To disable,  set
237841                     this to False
237842
237843              force  False Set this parameter to True to force Salt to re-cre‐
237844                     ate the container irrespective of whether or  not  it  is
237845                     configured as desired.
237846
237847              watch_action
237848                     force  Control  what  type  of  action is taken when this
237849                     state watches another state that has changes. The default
237850                     action  is  force, which runs the state with force set to
237851                     True, triggering a rebuild of the container.
237852
237853                     If any other value is passed, it will be assumed to be  a
237854                     kill signal.  If the container matches the specified con‐
237855                     figuration, and is running, then the action  will  be  to
237856                     send  that  signal  to the container. Kill signals can be
237857                     either strings or numbers, and are defined in  the  Stan‐
237858                     dard  Signals section of the signal(7) manpage. Run man 7
237859                     signal on a Linux host to browse this manpage. For  exam‐
237860                     ple:
237861
237862                        mycontainer:
237863                          docker_container.running:
237864                            - image: busybox
237865                            - watch_action: SIGHUP
237866                            - watch:
237867                              - file: some_file
237868
237869                     NOTE:
237870                        If the container differs from the specified configura‐
237871                        tion, or is not running, then  instead  of  sending  a
237872                        signal to the container, the container will be re-cre‐
237873                        ated/started and no signal will be sent.
237874
237875              start  True Set to False to suppress starting of  the  container
237876                     if  it  exists, matches the desired configuration, but is
237877                     not running. This is useful for data-only containers,  or
237878                     for  non-daemonized  container  processes,  such  as  the
237879                     Django migrate and collectstatic commands.  In  instances
237880                     such  as this, the container only needs to be started the
237881                     first time.
237882
237883              shutdown_timeout
237884                     If the container needs to be replaced, the container will
237885                     be stopped using docker.stop. If a shutdown_timout is not
237886                     set, and the container was  created  using  stop_timeout,
237887                     that  timeout  will  be  used. If neither of these values
237888                     were set, then a timeout of 10 seconds will be used.
237889
237890                     Changed in version 2017.7.0: This option was renamed from
237891                     stop_timeout   to  shutdown_timeout  to  accommodate  the
237892                     stop_timeout container configuration setting.
237893
237894
237895              client_timeout
237896                     60 Timeout in seconds for the Docker client. This is  not
237897                     a timeout for this function, but for receiving a response
237898                     from the API.
237899
237900                     NOTE:
237901                        This is only used if Salt needs to pull the  requested
237902                        image.
237903
237904              NETWORK MANAGEMENT
237905
237906              New in version 2018.3.0.
237907
237908
237909              Changed in version 2019.2.0: If the networks option is used, any
237910              networks (including the default bridge network)  which  are  not
237911              specified will be disconnected.
237912
237913
237914              The  networks argument can be used to ensure that a container is
237915              attached to one or more networks. Optionally, arguments  can  be
237916              passed to the networks. In the example below, net1 is being con‐
237917              figured with arguments, while net2 and bridge are being  config‐
237918              ured without arguments:
237919
237920                 foo:
237921                   docker_container.running:
237922                     - image: myuser/myimage:foo
237923                     - networks:
237924                       - net1:
237925                         - aliases:
237926                           - bar
237927                           - baz
237928                         - ipv4_address: 10.0.20.50
237929                       - net2
237930                       - bridge
237931                     - require:
237932                       - docker_network: net1
237933                       - docker_network: net2
237934
237935              The  supported  arguments  are  the  ones  from  the docker-py's
237936              connect_container_to_network function (other than container  and
237937              net_id).
237938
237939              IMPORTANT:
237940                 Unlike with the arguments described in the CONTAINER CONFIGU‐
237941                 RATION PARAMETERS section below, these network  configuration
237942                 parameters   are   not   translated   at  all.   Consult  the
237943                 connect_container_to_network documentation  for  the  correct
237944                 type/format of data to pass.
237945
237946              To start a container with no network connectivity (only possible
237947              in 2019.2.0 and later) pass this option as an  empty  list.  For
237948              example:
237949
237950                 foo:
237951                   docker_container.running:
237952                     - image: myuser/myimage:foo
237953                     - networks: []
237954
237955              CONTAINER CONFIGURATION PARAMETERS
237956
237957              auto_remove (or rm)
237958                     False Enable auto-removal of the container on daemon side
237959                     when the container’s process exits (analogous to  running
237960                     a docker container with --rm on the CLI).
237961
237962                        foo:
237963                          docker_container.running:
237964                            - image: bar/baz:latest
237965                            - auto_remove: True
237966
237967              binds  Files/directories  to  bind mount. Each bind mount should
237968                     be passed in one of the following formats:
237969
237970                     · <host_path>:<container_path>  -  host_path  is  mounted
237971                       within  the container as container_path with read-write
237972                       access.
237973
237974                     · <host_path>:<container_path>:<selinux_context>        -
237975                       host_path  is  mounted  within  the  container  as con‐
237976                       tainer_path with read-write access.  Additionally,  the
237977                       specified  selinux  context will be set within the con‐
237978                       tainer.
237979
237980                     · <host_path>:<container_path>:<read_only> - host_path is
237981                       mounted  within  the  container as container_path, with
237982                       the read-only or read-write setting explicitly defined.
237983
237984                     · <host_path>:<container_path>:<read_only>,<selinux_con‐
237985                       text>  -  host_path  is mounted within the container as
237986                       container_path, with the read-only or  read-write  set‐
237987                       ting  explicitly  defined.  Additionally, the specified
237988                       selinux context will be set within the container.
237989
237990                     <read_only> can be either rw for read-write access, or ro
237991                     for  read-only  access. When omitted, it is assumed to be
237992                     read-write.
237993
237994                     <selinux_context> can  be  z  if  the  volume  is  shared
237995                     between multiple containers, or Z if the volume should be
237996                     private.
237997
237998                     NOTE:
237999                        When both <read_only> and <selinux_context> are speci‐
238000                        fied, there must be a comma before <selinux_context>.
238001
238002                     Binds  can  be  expressed  as a comma-separated list or a
238003                     YAML list. The below two examples are equivalent:
238004
238005                        foo:
238006                          docker_container.running:
238007                            - image: bar/baz:latest
238008                            - binds: /srv/www:/var/www:ro,/etc/foo.conf:/usr/local/etc/foo.conf:rw
238009
238010                        foo:
238011                          docker_container.running:
238012                            - image: bar/baz:latest
238013                            - binds:
238014                              - /srv/www:/var/www:ro
238015                              - /home/myuser/conf/foo.conf:/etc/foo.conf:rw
238016
238017                     However, in cases where both ro/rw and an selinux context
238018                     are combined, the only option is to use a YAML list, like
238019                     so:
238020
238021                        foo:
238022                          docker_container.running:
238023                            - image: bar/baz:latest
238024                            - binds:
238025                              - /srv/www:/var/www:ro,Z
238026                              - /home/myuser/conf/foo.conf:/etc/foo.conf:rw,Z
238027
238028                     Since the second bind in the previous example is  mounted
238029                     read-write, the rw and comma can be dropped. For example:
238030
238031                        foo:
238032                          docker_container.running:
238033                            - image: bar/baz:latest
238034                            - binds:
238035                              - /srv/www:/var/www:ro,Z
238036                              - /home/myuser/conf/foo.conf:/etc/foo.conf:Z
238037
238038              blkio_weight
238039                     Block IO weight (relative weight), accepts a weight value
238040                     between 10 and 1000.
238041
238042                        foo:
238043                          docker_container.running:
238044                            - image: bar/baz:latest
238045                            - blkio_weight: 100
238046
238047              blkio_weight_device
238048                     Block IO weight (relative device weight), specified as  a
238049                     list of expressions in the format PATH:RATE
238050
238051                        foo:
238052                          docker_container.running:
238053                            - image: bar/baz:latest
238054                            - blkio_weight_device: /dev/sda:100
238055
238056              cap_add
238057                     List  of capabilities to add within the container. Can be
238058                     expressed as a comma-separated list or a Python list. The
238059                     below two examples are equivalent:
238060
238061                        foo:
238062                          docker_container.running:
238063                            - image: bar/baz:latest
238064                            - cap_add: SYS_ADMIN,MKNOD
238065
238066                        foo:
238067                          docker_container.running:
238068                            - image: bar/baz:latest
238069                            - cap_add:
238070                              - SYS_ADMIN
238071                              - MKNOD
238072
238073                     NOTE:
238074                        This option requires Docker 1.2.0 or newer.
238075
238076              cap_drop
238077                     List of capabilities to drop within the container. Can be
238078                     expressed as a comma-separated list or a Python list. The
238079                     below two examples are equivalent:
238080
238081                        foo:
238082                          docker_container.running:
238083                            - image: bar/baz:latest
238084                            - cap_drop: SYS_ADMIN,MKNOD
238085
238086                        foo:
238087                          docker_container.running:
238088                            - image: bar/baz:latest
238089                            - cap_drop:
238090                              - SYS_ADMIN
238091                              - MKNOD
238092
238093                     NOTE:
238094                        This option requires Docker 1.2.0 or newer.
238095
238096              command (or cmd)
238097                     Command to run in the container
238098
238099                        foo:
238100                          docker_container.running:
238101                            - image: bar/baz:latest
238102                            - command: bash
238103
238104              cpuset_cpus (or cpuset)
238105                     CPUs  on  which  which to allow execution, specified as a
238106                     string containing a range (e.g. 0-3) or a comma-separated
238107                     list of CPUs (e.g. 0,1).
238108
238109                        foo:
238110                          docker_container.running:
238111                            - image: bar/baz:latest
238112                            - cpuset_cpus: "0,1"
238113
238114              cpuset_mems
238115                     Memory nodes on which which to allow execution, specified
238116                     as a string containing a range (e.g. 0-3) or a comma-sep‐
238117                     arated  list  of  MEMs (e.g. 0,1). Only effective on NUMA
238118                     systems.
238119
238120                        foo:
238121                          docker_container.running:
238122                            - image: bar/baz:latest
238123                            - cpuset_mems: "0,1"
238124
238125              cpu_group
238126                     The length of a CPU period in microseconds
238127
238128                        foo:
238129                          docker_container.running:
238130                            - image: bar/baz:latest
238131                            - cpu_group: 100000
238132
238133              cpu_period
238134                     Microseconds of CPU time that the container can get in  a
238135                     CPU period
238136
238137                        foo:
238138                          docker_container.running:
238139                            - image: bar/baz:latest
238140                            - cpu_period: 50000
238141
238142              cpu_shares
238143                     CPU  shares  (relative  weight),  specified as an integer
238144                     between 2 and 1024.
238145
238146                        foo:
238147                          docker_container.running:
238148                            - image: bar/baz:latest
238149                            - cpu_shares: 512
238150
238151              detach False If True, run the container's command in  the  back‐
238152                     ground (daemon mode)
238153
238154                        foo:
238155                          docker_container.running:
238156                            - image: bar/baz:latest
238157                            - detach: True
238158
238159              devices
238160                     List  of host devices to expose within the container. Can
238161                     be expressed as a comma-separated list or  a  YAML  list.
238162                     The below two examples are equivalent:
238163
238164                        foo:
238165                          docker_container.running:
238166                            - image: bar/baz:latest
238167                            - devices: /dev/net/tun,/dev/xvda1:/dev/xvda1,/dev/xvdb1:/dev/xvdb1:r
238168
238169                        foo:
238170                          docker_container.running:
238171                            - image: bar/baz:latest
238172                            - devices:
238173                              - /dev/net/tun
238174                              - /dev/xvda1:/dev/xvda1
238175                              - /dev/xvdb1:/dev/xvdb1:r
238176
238177              device_read_bps
238178                     Limit  read rate (bytes per second) from a device, speci‐
238179                     fied as a list of expressions in  the  format  PATH:RATE,
238180                     where  RATE  is  either  an integer number of bytes, or a
238181                     string ending in kb, mb, or gb. Can  be  expressed  as  a
238182                     comma-separated  list or a YAML list. The below two exam‐
238183                     ples are equivalent:
238184
238185                        foo:
238186                          docker_container.running:
238187                            - image: bar/baz:latest
238188                            - devices_read_bps: /dev/sda:1mb,/dev/sdb:5mb
238189
238190                        foo:
238191                          docker_container.running:
238192                            - image: bar/baz:latest
238193                            - devices_read_bps:
238194                              - /dev/sda:1mb
238195                              - /dev/sdb:5mb
238196
238197              device_read_iops
238198                     Limit read rate (I/O per second) from a device, specified
238199                     as  a  list of expressions in the format PATH:RATE, where
238200                     RATE is a number of I/O operations. Can be expressed as a
238201                     comma-separated  list or a YAML list. The below two exam‐
238202                     ples are equivalent:
238203
238204                        foo:
238205                          docker_container.running:
238206                            - image: bar/baz:latest
238207                            - devices_read_iops: /dev/sda:1000,/dev/sdb:500
238208
238209                        foo:
238210                          docker_container.running:
238211                            - image: bar/baz:latest
238212                            - devices_read_iops:
238213                              - /dev/sda:1000
238214                              - /dev/sdb:500
238215
238216              device_write_bps
238217                     Limit write rate (bytes per second) from a device, speci‐
238218                     fied  as  a  list of expressions in the format PATH:RATE,
238219                     where RATE is either an integer number  of  bytes,  or  a
238220                     string  ending  in  kb,  mb, or gb. Can be expressed as a
238221                     comma-separated list or a YAML list. The below two  exam‐
238222                     ples are equivalent:
238223
238224                        foo:
238225                          docker_container.running:
238226                            - image: bar/baz:latest
238227                            - devices_write_bps: /dev/sda:1mb,/dev/sdb:5mb
238228
238229                        foo:
238230                          docker_container.running:
238231                            - image: bar/baz:latest
238232                            - devices_write_bps:
238233                              - /dev/sda:1mb
238234                              - /dev/sdb:5mb
238235
238236              device_read_iops
238237                     Limit  write  rate (I/O per second) from a device, speci‐
238238                     fied as a list of expressions in  the  format  PATH:RATE,
238239                     where  RATE  is  a  number  of  I/O  operations.  Can  be
238240                     expressed as a comma-separated list or a YAML  list.  The
238241                     below two examples are equivalent:
238242
238243                        foo:
238244                          docker_container.running:
238245                            - image: bar/baz:latest
238246                            - devices_read_iops: /dev/sda:1000,/dev/sdb:500
238247
238248                        foo:
238249                          docker_container.running:
238250                            - image: bar/baz:latest
238251                            - devices_read_iops:
238252                              - /dev/sda:1000
238253                              - /dev/sdb:500
238254
238255              dns    List of DNS nameservers. Can be expressed as a comma-sep‐
238256                     arated list or a YAML list. The below  two  examples  are
238257                     equivalent:
238258
238259                        foo:
238260                          docker_container.running:
238261                            - image: bar/baz:latest
238262                            - dns: 8.8.8.8,8.8.4.4
238263
238264                        foo:
238265                          docker_container.running:
238266                            - image: bar/baz:latest
238267                            - dns:
238268                              - 8.8.8.8
238269                              - 8.8.4.4
238270
238271                     NOTE:
238272                        To    skip    IP   address   validation,   use   vali‐
238273                        date_ip_addrs=False
238274
238275              dns_opt
238276                     Additional  options  to  be  added  to  the   container’s
238277                     resolv.conf  file.  Can be expressed as a comma-separated
238278                     list or a YAML list. The below two examples  are  equiva‐
238279                     lent:
238280
238281                        foo:
238282                          docker_container.running:
238283                            - image: bar/baz:latest
238284                            - dns_opt: ndots:9
238285
238286                        foo:
238287                          docker_container.running:
238288                            - image: bar/baz:latest
238289                            - dns_opt:
238290                              - ndots:9
238291
238292              dns_search
238293                     List  of  DNS  search  domains.  Can  be  expressed  as a
238294                     comma-separated list or a YAML list. The below two  exam‐
238295                     ples are equivalent:
238296
238297                        foo:
238298                          docker_container.running:
238299                            - image: bar/baz:latest
238300                            - dns_search: foo1.domain.tld,foo2.domain.tld
238301
238302                        foo:
238303                          docker_container.running:
238304                            - image: bar/baz:latest
238305                            - dns_search:
238306                              - foo1.domain.tld
238307                              - foo2.domain.tld
238308
238309              domainname
238310                     The domain name to use for the container
238311
238312                        foo:
238313                          docker_container.running:
238314                            - image: bar/baz:latest
238315                            - dommainname: domain.tld
238316
238317              entrypoint
238318                     Entrypoint for the container
238319
238320                        foo:
238321                          docker_container.running:
238322                            - image: bar/baz:latest
238323                            - entrypoint: "mycmd --arg1 --arg2"
238324
238325                     This argument can also be specified as a list:
238326
238327                        foo:
238328                          docker_container.running:
238329                            - image: bar/baz:latest
238330                            - entrypoint:
238331                              - mycmd
238332                              - --arg1
238333                              - --arg2
238334
238335              environment
238336                     Either  a  list  of variable/value mappings, or a list of
238337                     strings in the  format  VARNAME=value.  The  below  three
238338                     examples are equivalent:
238339
238340                        foo:
238341                          docker_container.running:
238342                            - image: bar/baz:latest
238343                            - environment:
238344                              - VAR1: value
238345                              - VAR2: value
238346
238347                        foo:
238348                          docker_container.running:
238349                            - image: bar/baz:latest
238350                            - environment: 'VAR1=value,VAR2=value'
238351
238352                        foo:
238353                          docker_container.running:
238354                            - image: bar/baz:latest
238355                            - environment:
238356                              - VAR1=value
238357                              - VAR2=value
238358
238359              extra_hosts
238360                     Additional  hosts  to  add  to the container's /etc/hosts
238361                     file. Can be expressed as a  comma-separated  list  or  a
238362                     Python list. The below two examples are equivalent:
238363
238364                        foo:
238365                          docker_container.running:
238366                            - image: bar/baz:latest
238367                            - extra_hosts: web1:10.9.8.7,web2:10.9.8.8
238368
238369                        foo:
238370                          docker_container.running:
238371                            - image: bar/baz:latest
238372                            - extra_hosts:
238373                              - web1:10.9.8.7
238374                              - web2:10.9.8.8
238375
238376                     NOTE:
238377                        To    skip    IP   address   validation,   use   vali‐
238378                        date_ip_addrs=False
238379
238380                     NOTE:
238381                        This option requires Docker 1.3.0 or newer.
238382
238383              group_add
238384                     List of additional group names and/or IDs that  the  con‐
238385                     tainer  process  will  run  as.  Can  be  expressed  as a
238386                     comma-separated list or a YAML list.  The below two exam‐
238387                     ples are equivalent:
238388
238389                        foo:
238390                          docker_container.running:
238391                            - image: bar/baz:latest
238392                            - group_add: web,network
238393
238394                        foo:
238395                          docker_container.running:
238396                            - image: bar/baz:latest
238397                            - group_add:
238398                              - web
238399                              - network
238400
238401              hostname
238402                     Hostname  of  the  container.  If not provided, the value
238403                     passed as the container's``name`` will be  used  for  the
238404                     hostname.
238405
238406                        foo:
238407                          docker_container.running:
238408                            - image: bar/baz:latest
238409                            - hostname: web1
238410
238411                     WARNING:
238412                        hostname cannot be set if network_mode is set to host.
238413                        The below example will result in an error:
238414
238415                            foo:
238416                              docker_container.running:
238417                                - image: bar/baz:latest
238418                                - hostname: web1
238419                                - network_mode: host
238420
238421              interactive (or stdin_open)
238422                     False Leave stdin open, even if not attached
238423
238424                        foo:
238425                          docker_container.running:
238426                            - image: bar/baz:latest
238427                            - interactive: True
238428
238429              ipc_mode (or ipc)
238430                     Set the IPC mode for the container. The default  behavior
238431                     is  to  create a private IPC namespace for the container,
238432                     but this option can be used to change that behavior:
238433
238434                     · container:<container_name_or_id>  reuses  another  con‐
238435                       tainer shared memory, semaphores and message queues
238436
238437                     · host: use the host's shared memory, semaphores and mes‐
238438                       sage queues
238439
238440                        foo:
238441                          docker_container.running:
238442                            - image: bar/baz:latest
238443                            - ipc_mode: container:foo
238444
238445                        foo:
238446                          docker_container.running:
238447                            - image: bar/baz:latest
238448                            - ipc_mode: host
238449
238450                     WARNING:
238451                        Using host gives the container full  access  to  local
238452                        shared memory and is therefore considered insecure.
238453
238454              isolation
238455                     Specifies  the  type of isolation technology used by con‐
238456                     tainers
238457
238458                        foo:
238459                          docker_container.running:
238460                            - image: bar/baz:latest
238461                            - isolation: hyperv
238462
238463                     NOTE:
238464                        The default value on Windows server is process,  while
238465                        the  default  value  on  Windows  client is hyperv. On
238466                        Linux, only default is supported.
238467
238468              labels Add metadata to the container. Labels  can  be  set  both
238469                     with  and  without  values, and labels with values can be
238470                     passed either as key=value or key: value pairs. For exam‐
238471                     ple,  while the below would be very confusing to read, it
238472                     is technically valid, and demonstrates the different ways
238473                     in which labels can be passed:
238474
238475                        mynet:
238476                          docker_network.present:
238477                            - labels:
238478                              - foo
238479                              - bar=baz
238480                              - hello: world
238481
238482                     The  labels  can  also simply be passed as a YAML dictio‐
238483                     nary, though this can be error-prone due to some idiosyn‐
238484                     crasies with how PyYAML loads nested data structures:
238485
238486                        foo:
238487                          docker_network.present:
238488                            - labels:
238489                                foo: ''
238490                                bar: baz
238491                                hello: world
238492
238493                     Changed  in  version  2018.3.0:  Methods  for  specifying
238494                     labels can now be mixed. Earlier releases required either
238495                     labels with or without values.
238496
238497
238498              links  Link this container to another. Links can be specified as
238499                     a list of mappings or a comma-separated or Python list of
238500                     expressions        in        the       format       <con‐
238501                     tainer_name_or_id>:<link_alias>. The below three examples
238502                     are equivalent:
238503
238504                        foo:
238505                          docker_container.running:
238506                            - image: bar/baz:latest
238507                            - links:
238508                              - web1: link1
238509                              - web2: link2
238510
238511                        foo:
238512                          docker_container.running:
238513                            - image: bar/baz:latest
238514                            - links: web1:link1,web2:link2
238515
238516                        foo:
238517                          docker_container.running:
238518                            - image: bar/baz:latest
238519                            - links:
238520                              - web1:link1
238521                              - web2:link2
238522
238523              log_driver and log_opt
238524                     Set  container's  logging driver and options to configure
238525                     that driver.  Requires Docker 1.6 or newer.
238526
238527                        foo:
238528                          docker_container.running:
238529                            - image: bar/baz:latest
238530                            - log_driver: syslog
238531                            - log_opt:
238532                              - syslog-address: tcp://192.168.0.42
238533                              - syslog-facility: daemon
238534
238535                     The log_opt can also be expressed as a comma-separated or
238536                     YAML  list of key=value pairs. The below two examples are
238537                     equivalent to the above one:
238538
238539                        foo:
238540                          docker_container.running:
238541                            - image: bar/baz:latest
238542                            - log_driver: syslog
238543                            - log_opt: "syslog-address=tcp://192.168.0.42,syslog-facility=daemon"
238544
238545                        foo:
238546                          docker_container.running:
238547                            - image: bar/baz:latest
238548                            - log_driver: syslog
238549                            - log_opt:
238550                              - syslog-address=tcp://192.168.0.42
238551                              - syslog-facility=daemon
238552
238553                     NOTE:
238554                        The logging driver feature was improved in Docker 1.13
238555                        introducing  option  name changes. Please see Docker's
238556                        Configure  logging  drivers  documentation  for   more
238557                        information.
238558
238559              lxc_conf
238560                     Additional  LXC  configuration  parameters  to set before
238561                     starting the container. Either a list  of  variable/value
238562                     mappings,  or  a  list  of  strings  in  the  format VAR‐
238563                     NAME=value. The below three examples are equivalent:
238564
238565                        foo:
238566                          docker_container.running:
238567                            - image: bar/baz:latest
238568                            - lxc_conf:
238569                              - lxc.utsname: docker
238570                              - lxc.arch: x86_64
238571
238572                        foo:
238573                          docker_container.running:
238574                            - image: bar/baz:latest
238575                            - lxc_conf: lxc.utsname=docker,lxc.arch=x86_64
238576
238577                        foo:
238578                          docker_container.running:
238579                            - image: bar/baz:latest
238580                            - lxc_conf:
238581                              - lxc.utsname=docker
238582                              - lxc.arch=x86_64
238583
238584                     NOTE:
238585                        These LXC configuration parameters will only have  the
238586                        desired  effect if the container is using the LXC exe‐
238587                        cution driver, which  has  been  deprecated  for  some
238588                        time.
238589
238590              mac_address
238591                     MAC address to use for the container. If not specified, a
238592                     random MAC address will be used.
238593
238594                        foo:
238595                          docker_container.running:
238596                            - image: bar/baz:latest
238597                            - mac_address: 01:23:45:67:89:0a
238598
238599              mem_limit (or memory)
238600                     0 Memory limit. Can be specified in bytes or  using  sin‐
238601                     gle-letter units (i.e. 512M, 2G, etc.). A value of 0 (the
238602                     default) means no memory limit.
238603
238604                        foo:
238605                          docker_container.running:
238606                            - image: bar/baz:latest
238607                            - mem_limit: 512M
238608
238609              mem_swappiness
238610                     Tune a container's memory swappiness behavior. Accepts an
238611                     integer between 0 and 100.
238612
238613                        foo:
238614                          docker_container.running:
238615                            - image: bar/baz:latest
238616                            - mem_swappiness: 60
238617
238618              memswap_limit (or memory_swap)
238619                     -1  Total  memory  limit (memory plus swap). Set to -1 to
238620                     disable swap. A value of 0 means no swap limit.
238621
238622                        foo:
238623                          docker_container.running:
238624                            - image: bar/baz:latest
238625                            - memswap_limit: 1G
238626
238627              network_disabled
238628                     False If True, networking will  be  disabled  within  the
238629                     container
238630
238631                        foo:
238632                          docker_container.running:
238633                            - image: bar/baz:latest
238634                            - network_disabled: True
238635
238636              network_mode
238637                     bridge One of the following:
238638
238639                     · bridge  - Creates a new network stack for the container
238640                       on the docker bridge
238641
238642                     · none - No networking  (equivalent  of  the  Docker  CLI
238643                       argument  --net=none). Not to be confused with Python's
238644                       None.
238645
238646                     · container:<name_or_id>  -  Reuses  another  container's
238647                       network stack
238648
238649                     · host  -  Use  the  host's network stack inside the con‐
238650                       tainer
238651
238652                       WARNING:
238653                          Using host mode gives the container full  access  to
238654                          the  hosts system's services (such as D-bus), and is
238655                          therefore considered insecure.
238656
238657                        foo:
238658                          docker_container.running:
238659                            - image: bar/baz:latest
238660                            - network_mode: "none"
238661
238662                        foo:
238663                          docker_container.running:
238664                            - image: bar/baz:latest
238665                            - network_mode: container:web1
238666
238667              oom_kill_disable
238668                     Whether to disable OOM killer
238669
238670                        foo:
238671                          docker_container.running:
238672                            - image: bar/baz:latest
238673                            - oom_kill_disable: False
238674
238675              oom_score_adj
238676                     An integer value containing the score given to  the  con‐
238677                     tainer in order to tune OOM killer preferences
238678
238679                        foo:
238680                          docker_container.running:
238681                            - image: bar/baz:latest
238682                            - oom_score_adj: 500
238683
238684              pid_mode
238685                     Set  to  host  to  use the host container's PID namespace
238686                     within the container. Requires Docker 1.5.0 or newer.
238687
238688                        foo:
238689                          docker_container.running:
238690                            - image: bar/baz:latest
238691                            - pid_mode: host
238692
238693                     NOTE:
238694                        This option requires Docker 1.5.0 or newer.
238695
238696              pids_limit
238697                     Set the container's PID limit. Set to -1 for unlimited.
238698
238699                        foo:
238700                          docker_container.running:
238701                            - image: bar/baz:latest
238702                            - pids_limit: 2000
238703
238704              port_bindings (or publish)
238705                     Bind exposed ports. Port bindings should be passed in the
238706                     same  way as the --publish argument to the docker run CLI
238707                     command:
238708
238709                     · ip:hostPort:containerPort - Bind a specific IP and port
238710                       on the host to a specific port within the container.
238711
238712                     · ip::containerPort - Bind a specific IP and an ephemeral
238713                       port to a specific port within the container.
238714
238715                     · hostPort:containerPort - Bind a specific port on all of
238716                       the  host's  interfaces  to  a specific port within the
238717                       container.
238718
238719                     · containerPort - Bind an ephemeral port on  all  of  the
238720                       host's  interfaces  to  a specific port within the con‐
238721                       tainer.
238722
238723                     Multiple  bindings  can  be  separated  by   commas,   or
238724                     expressed  as a YAML list, and port ranges can be defined
238725                     using dashes. The below two examples are equivalent:
238726
238727                        foo:
238728                          docker_container.running:
238729                            - image: bar/baz:latest
238730                            - port_bindings: "4505-4506:14505-14506,2123:2123/udp,8080"
238731
238732                        foo:
238733                          docker_container.running:
238734                            - image: bar/baz:latest
238735                            - port_bindings:
238736                              - 4505-4506:14505-14506
238737                              - 2123:2123/udp
238738                              - 8080
238739
238740                     NOTE:
238741                        When specifying a protocol, it must be passed  in  the
238742                        containerPort value, as seen in the examples above.
238743
238744              ports  A list of ports to expose on the container. Can either be
238745                     a comma-separated list or a YAML list. If the protocol is
238746                     omitted,  the  port will be assumed to be a TCP port. The
238747                     below two examples are equivalent:
238748
238749                        foo:
238750                          docker_container.running:
238751                            - image: bar/baz:latest
238752                            - ports: 1111,2222/udp
238753
238754                        foo:
238755                          docker_container.running:
238756                            - image: bar/baz:latest
238757                            - ports:
238758                              - 1111
238759                              - 2222/udp
238760
238761              privileged
238762                     False If True, runs the exec process with extended privi‐
238763                     leges
238764
238765                        foo:
238766                          docker_container.running:
238767                            - image: bar/baz:latest
238768                            - privileged: True
238769
238770              publish_all_ports (or publish_all)
238771                     False Publish all ports to the host
238772
238773                        foo:
238774                          docker_container.running:
238775                            - image: bar/baz:latest
238776                            - ports: 8080
238777                            - publish_all_ports: True
238778
238779              read_only
238780                     False  If  True, mount the container’s root filesystem as
238781                     read only
238782
238783                        foo:
238784                          docker_container.running:
238785                            - image: bar/baz:latest
238786                            - read_only: True
238787
238788              restart_policy (or restart)
238789                     Set a restart policy for the container. Must be passed as
238790                     a  string in the format policy[:retry_count] where policy
238791                     is one of  always,  unless-stopped,  or  on-failure,  and
238792                     retry_count  is  an  optional  limit  to  the  number  of
238793                     retries. The retry count is ignored when using the always
238794                     or unless-stopped restart policy.
238795
238796                        foo:
238797                          docker_container.running:
238798                            - image: bar/baz:latest
238799                            - restart_policy: on-failure:5
238800
238801                        bar:
238802                          docker_container.running:
238803                            - image: bar/baz:latest
238804                            - restart_policy: always
238805
238806              security_opt (or security_opts):
238807                     Security  configuration  for  MLS systems such as SELinux
238808                     and AppArmor.  Can be expressed as a comma-separated list
238809                     or a YAML list. The below two examples are equivalent:
238810
238811                        foo:
238812                          docker_container.running:
238813                            - image: bar/baz:latest
238814                            - security_opt: apparmor:unconfined
238815
238816                        foo:
238817                          docker_container.running:
238818                            - image: bar/baz:latest
238819                            - security_opt:
238820                              - apparmor:unconfined
238821
238822                     IMPORTANT:
238823                        Some  security  options  can  contain commas. In these
238824                        cases, this argument must be passed as a Python  list,
238825                        as  splitting  by comma will result in an invalid con‐
238826                        figuration.
238827
238828                     NOTE:
238829                        See   the   documentation    for    security_opt    at
238830                        https://docs.docker.com/engine/reference/run/#security-configuration
238831
238832              shm_size
238833                     Size of /dev/shm
238834
238835                        foo:
238836                          docker_container.running:
238837                            - image: bar/baz:latest
238838                            - shm_size: 128M
238839
238840              stop_signal
238841                     Specify the signal docker will send to the container when
238842                     stopping.   Useful  when  running systemd as PID 1 inside
238843                     the container.
238844
238845                        foo:
238846                          docker_container.running:
238847                            - image: bar/baz:latest
238848                            - stop_signal: SIGRTMIN+3
238849
238850                     NOTE:
238851                        This  option  requires  Docker  1.9.0  or  newer   and
238852                        docker-py 1.7.0 or newer.
238853
238854                     New in version 2016.11.0.
238855
238856
238857              stop_timeout
238858                     Timeout to stop the container, in seconds
238859
238860                        foo:
238861                          docker_container.running:
238862                            - image: bar/baz:latest
238863                            - stop_timeout: 5
238864
238865                     NOTE:
238866                        In releases prior to 2017.7.0, this option was not set
238867                        in the container configuration, but rather this  time‐
238868                        out  was  enforced only when shutting down an existing
238869                        container to replace it. To remove the ambiguity,  and
238870                        to  allow for the container to have a stop timeout set
238871                        for it, the old stop_timeout argument has been renamed
238872                        to shutdown_timeout, while stop_timeout now refer's to
238873                        the container's configured stop timeout.
238874
238875              storage_opt
238876                     Storage driver options for the container. Can be either a
238877                     list  of strings in the format option=value, or a list of
238878                     mappings between option and value. The below three  exam‐
238879                     ples are equivalent:
238880
238881                        foo:
238882                          docker_container.running:
238883                            - image: bar/baz:latest
238884                            - storage_opt:
238885                              - dm.basesize: 40G
238886
238887                        foo:
238888                          docker_container.running:
238889                            - image: bar/baz:latest
238890                            - storage_opt: dm.basesize=40G
238891
238892                        foo:
238893                          docker_container.running:
238894                            - image: bar/baz:latest
238895                            - storage_opt:
238896                              - dm.basesize=40G
238897
238898              sysctls (or sysctl)
238899                     Set  sysctl  options  for  the container. Can be either a
238900                     list of strings in the format option=value, or a list  of
238901                     mappings  between option and value. The below three exam‐
238902                     ples are equivalent:
238903
238904                        foo:
238905                          docker_container.running:
238906                            - image: bar/baz:latest
238907                            - sysctls:
238908                              - fs.nr_open: 1048576
238909                              - kernel.pid_max: 32768
238910
238911                        foo:
238912                          docker_container.running:
238913                            - image: bar/baz:latest
238914                            - sysctls: fs.nr_open=1048576,kernel.pid_max=32768
238915
238916                        foo:
238917                          docker_container.running:
238918                            - image: bar/baz:latest
238919                            - sysctls:
238920                              - fs.nr_open=1048576
238921                              - kernel.pid_max=32768
238922
238923              tmpfs  A map of container directories which should  be  replaced
238924                     by tmpfs mounts and their corresponding mount options.
238925
238926                        foo:
238927                          docker_container.running:
238928                            - image: bar/baz:latest
238929                            - tmpfs:
238930                              - /run: rw,noexec,nosuid,size=65536k
238931
238932              tty    False Attach TTYs
238933
238934                        foo:
238935                          docker_container.running:
238936                            - image: bar/baz:latest
238937                            - tty: True
238938
238939              ulimits
238940                     List  of  ulimits.  These  limits should be passed in the
238941                     format <ulimit_name>:<soft_limit>:<hard_limit>, with  the
238942                     hard   limit  being  optional.  Can  be  expressed  as  a
238943                     comma-separated list or a YAML list.  The below two exam‐
238944                     ples are equivalent:
238945
238946                        foo:
238947                          docker_container.running:
238948                            - image: bar/baz:latest
238949                            - ulimits: nofile=1024:1024,nproc=60
238950
238951                        foo:
238952                          docker_container.running:
238953                            - image: bar/baz:latest
238954                            - ulimits:
238955                              - nofile=1024:1024
238956                              - nproc=60
238957
238958              user   User under which to run exec process
238959
238960                        foo:
238961                          docker_container.running:
238962                            - image: bar/baz:latest
238963                            - user: foo
238964
238965              userns_mode (or user_ns_mode)
238966                     Sets  the  user  namsepace  mode, when the user namespace
238967                     remapping option is enabled
238968
238969                        foo:
238970                          docker_container.running:
238971                            - image: bar/baz:latest
238972                            - userns_mode: host
238973
238974              volumes (or volume)
238975                     List  of  directories  to  expose  as  volumes.  Can   be
238976                     expressed  as  a comma-separated list or a YAML list. The
238977                     below two examples are equivalent:
238978
238979                        foo:
238980                          docker_container.running:
238981                            - image: bar/baz:latest
238982                            - volumes: /mnt/vol1,/mnt/vol2
238983
238984                        foo:
238985                          docker_container.running:
238986                            - image: bar/baz:latest
238987                            - volumes:
238988                              - /mnt/vol1
238989                              - /mnt/vol2
238990
238991              volumes_from
238992                     Container names or IDs from which the container will  get
238993                     volumes.  Can be expressed as a comma-separated list or a
238994                     YAML list. The below two examples are equivalent:
238995
238996                        foo:
238997                          docker_container.running:
238998                            - image: bar/baz:latest
238999                            - volumes_from: foo
239000
239001                        foo:
239002                          docker_container.running:
239003                            - image: bar/baz:latest
239004                            - volumes_from:
239005                              - foo
239006
239007              volume_driver
239008                     sets the container's volume driver
239009
239010                        foo:
239011                          docker_container.running:
239012                            - image: bar/baz:latest
239013                            - volume_driver: foobar
239014
239015              working_dir (or workdir)
239016                     Working directory inside the container
239017
239018                        foo:
239019                          docker_container.running:
239020                            - image: bar/baz:latest
239021                            - working_dir: /var/log/nginx
239022
239023       salt.states.docker_container.stopped(name=None, containers=None,  shut‐
239024       down_timeout=None, unpause=False, error_on_absent=True, **kwargs)
239025              Ensure that a container (or containers) is stopped
239026
239027              name   Name or ID of the container
239028
239029              containers
239030                     Run  this state on more than one container at a time. The
239031                     following two examples accomplish the same thing:
239032
239033                        stopped_containers:
239034                          docker_container.stopped:
239035                            - names:
239036                              - foo
239037                              - bar
239038                              - baz
239039
239040                        stopped_containers:
239041                          docker_container.stopped:
239042                            - containers:
239043                              - foo
239044                              - bar
239045                              - baz
239046
239047                     However, the second example will be a bit  quicker  since
239048                     Salt  will stop all specified containers in a single run,
239049                     rather than executing the state separately on each  image
239050                     (as it would in the first example).
239051
239052              shutdown_timeout
239053                     Timeout  for  graceful shutdown of the container. If this
239054                     timeout is exceeded, the container  will  be  killed.  If
239055                     this value is not passed, then the container's configured
239056                     stop_timeout will be observed. If stop_timeout  was  also
239057                     unset on the container, then a timeout of 10 seconds will
239058                     be used.
239059
239060              unpause
239061                     False Set to True to unpause any paused containers before
239062                     stopping.  If unset, then an error will be raised for any
239063                     container that was paused.
239064
239065              error_on_absent
239066                     True By default, this state will return an error  if  any
239067                     of the specified containers are absent. Set this to False
239068                     to suppress that error.
239069
239070   salt.states.docker_image
239071       Management of Docker images
239072
239073       New in version 2017.7.0.
239074
239075
239076       depends
239077              docker Python module
239078
239079       NOTE:
239080          Older releases  of  the  Python  bindings  for  Docker  were  called
239081          docker-py in PyPI. All releases of docker, and releases of docker-py
239082          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
239083          installed using pip.install:
239084
239085              salt myminion pip.install docker
239086
239087          To  upgrade  from  docker-py  to  docker,  you  must first uninstall
239088          docker-py, and then install docker:
239089
239090              salt myminion pip.uninstall docker-py
239091              salt myminion pip.install docker
239092
239093       These states were moved from the docker state module  (formerly  called
239094       dockerng) in the 2017.7.0 release.
239095
239096       NOTE:
239097          To  pull  from a Docker registry, authentication must be configured.
239098          See here for more information on how to configure access  to  docker
239099          registries in Pillar data.
239100
239101       salt.states.docker_image.absent(name=None, images=None, force=False)
239102              Ensure  that an image is absent from the Minion. Image names can
239103              be specified either using repo:tag notation, or  just  the  repo
239104              name (in which case a tag of latest is assumed).
239105
239106              images Run this state on more than one image at a time. The fol‐
239107                     lowing two examples accomplish the same thing:
239108
239109                        remove_images:
239110                          docker_image.absent:
239111                            - names:
239112                              - busybox
239113                              - centos:6
239114                              - nginx
239115
239116                        remove_images:
239117                          docker_image.absent:
239118                            - images:
239119                              - busybox
239120                              - centos:6
239121                              - nginx
239122
239123                     However, the second example will be a bit  quicker  since
239124                     Salt  will  do  all the deletions in a single run, rather
239125                     than executing the state separately on each image (as  it
239126                     would in the first example).
239127
239128              force  False  Salt  will  fail to remove any images currently in
239129                     use by a container.  Set this option to  true  to  remove
239130                     the image even if it is already present.
239131
239132                     NOTE:
239133                        This  option can also be overridden by Pillar data. If
239134                        the Minion has a  pillar  variable  named  docker.run‐
239135                        ning.force  which is set to True, it will turn on this
239136                        option. This pillar variable can even be set  at  run‐
239137                        time. For example:
239138
239139                            salt myminion state.sls docker_stuff pillar="{docker.force: True}"
239140
239141                        If  this  pillar variable is present and set to False,
239142                        then it will turn off this option.
239143
239144                        For more granular control, setting a  pillar  variable
239145                        named  docker.force.image_name  will  affect  only the
239146                        named image.
239147
239148       salt.states.docker_image.mod_watch(name, sfun=None, **kwargs)
239149              The docker_image  watcher, called to invoke the watch command.
239150
239151              NOTE:
239152                 This state exists to support special handling  of  the  watch
239153                 requisite. It should not be called directly.
239154
239155                 Parameters for this function should be set by the state being
239156                 triggered.
239157
239158       salt.states.docker_image.present(name, tag=None, build=None, load=None,
239159       force=False,    insecure_registry=False,   client_timeout=60,   docker‐
239160       file=None,  sls=None,  base=u'opensuse/python',  saltenv=u'base',  pil‐
239161       larenv=None, pillar=None, **kwargs)
239162              Changed in version 2018.3.0: The tag argument has been added. It
239163              is now required unless pulling from a registry.
239164
239165
239166              Ensure that an image is present. The image can either be  pulled
239167              from  a  Docker registry, built from a Dockerfile, loaded from a
239168              saved image, or built by running SLS files against a base image.
239169
239170              If none of the build, load, or sls arguments are used, then Salt
239171              will pull from the configured registries. If the specified image
239172              already exists, it will not be pulled unless  force  is  set  to
239173              True. Here is an example of a state that will pull an image from
239174              the Docker Hub:
239175
239176                 myuser/myimage:
239177                   docker_image.present:
239178                     - tag: mytag
239179
239180              tag    Tag name for the image. Required when using build,  load,
239181                     or  sls to create the image, but optional if pulling from
239182                     a repository.
239183
239184                     New in version 2018.3.0.
239185
239186
239187              build  Path to directory on the Minion containing a Dockerfile
239188
239189                        myuser/myimage:
239190                          docker_image.present:
239191                            - build: /home/myuser/docker/myimage
239192                            - tag: mytag
239193
239194                        myuser/myimage:
239195                          docker_image.present:
239196                            - build: /home/myuser/docker/myimage
239197                            - tag: mytag
239198                            - dockerfile: Dockerfile.alternative
239199
239200                     The image will be built using docker.build and the speci‐
239201                     fied image name and tag will be applied to it.
239202
239203                     New in version 2016.11.0.
239204
239205
239206                     Changed  in  version  2018.3.0:  The tag must be manually
239207                     specified using the tag argument.
239208
239209
239210              load   Loads a tar archive  created  with  docker.load  (or  the
239211                     docker load Docker CLI command), and assigns it the spec‐
239212                     ified repo and tag.
239213
239214                        myuser/myimage:
239215                          docker_image.present:
239216                            - load: salt://path/to/image.tar
239217                            - tag: mytag
239218
239219                     Changed in version 2018.3.0: The  tag  must  be  manually
239220                     specified using the tag argument.
239221
239222
239223              force  False  Set  this  parameter  to  True  to  force  Salt to
239224                     pull/build/load the image even if it is already present.
239225
239226              client_timeout
239227                     Timeout in seconds for the Docker client. This is  not  a
239228                     timeout  for the state, but for receiving a response from
239229                     the API.
239230
239231              dockerfile
239232                     Allows for an alternative  Dockerfile  to  be  specified.
239233                     Path  to  alternative  Dockefile is relative to the build
239234                     path for the Docker container.
239235
239236                     New in version 2016.11.0.
239237
239238
239239              sls    Allow for building  of  image  with  docker.sls_build  by
239240                     specifying the SLS files with which to build. This can be
239241                     a list or comma-seperated string.
239242
239243                        myuser/myimage:
239244                          docker_image.present:
239245                            - tag: latest
239246                            - sls:
239247                                - webapp1
239248                                - webapp2
239249                            - base: centos
239250                            - saltenv: base
239251
239252                     Changed in version 2018.3.0: The  tag  must  be  manually
239253                     specified using the tag argument.
239254
239255
239256              base   Base image with which to start docker.sls_build
239257
239258                     New in version 2017.7.0.
239259
239260
239261              saltenv
239262                     Specify  the  environment  from which to retrieve the SLS
239263                     indicated by the mods parameter.
239264
239265                     New in version 2017.7.0.
239266
239267
239268                     Changed in  version  2018.3.0:  Now  uses  the  effective
239269                     saltenv  if  not  explicitly passed. In earlier versions,
239270                     base was assumed as a default.
239271
239272
239273              pillarenv
239274                     Specify a Pillar environment to  be  used  when  applying
239275                     states.  This  can  also be set in the minion config file
239276                     using the pillarenv option. When  neither  the  pillarenv
239277                     minion  config  option nor this CLI argument is used, all
239278                     Pillar environments will be merged together.
239279
239280                     New in version 2018.3.0.
239281
239282
239283              pillar Custom Pillar values, passed as a dictionary of key-value
239284                     pairs
239285
239286                     NOTE:
239287                        Values passed this way will override Pillar values set
239288                        via pillar_roots or an external Pillar source.
239289
239290                     New in version 2018.3.0.
239291
239292
239293   salt.states.docker_network
239294       Management of Docker networks
239295
239296       New in version 2017.7.0.
239297
239298
239299       depends
239300              docker Python module
239301
239302       NOTE:
239303          Older releases  of  the  Python  bindings  for  Docker  were  called
239304          docker-py in PyPI. All releases of docker, and releases of docker-py
239305          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
239306          installed using pip.install:
239307
239308              salt myminion pip.install docker
239309
239310          To  upgrade  from  docker-py  to  docker,  you  must first uninstall
239311          docker-py, and then install docker:
239312
239313              salt myminion pip.uninstall docker-py
239314              salt myminion pip.install docker
239315
239316       These states were moved from the docker state module  (formerly  called
239317       dockerng) in the 2017.7.0 release.
239318
239319       salt.states.docker_network.absent(name)
239320              Ensure that a network is absent.
239321
239322              name   Name of the network
239323
239324              Usage Example:
239325
239326                 network_foo:
239327                   docker_network.absent
239328
239329       salt.states.docker_network.present(name,           skip_translate=None,
239330       ignore_collisions=False,    validate_ip_addrs=True,    containers=None,
239331       reconnect=True, **kwargs)
239332              Changed  in version 2018.3.0: Support added for network configu‐
239333              ration options other than driver and  driver_opts,  as  well  as
239334              IPAM configuration.
239335
239336
239337              Ensure that a network is present
239338
239339              NOTE:
239340                 This  state  supports all arguments for network and IPAM pool
239341                 configuration  which  are  available  for  the   release   of
239342                 docker-py installed on the minion. For that reason, the argu‐
239343                 ments described below in the  NETWORK  CONFIGURATION  and  IP
239344                 ADDRESS MANAGEMENT (IPAM) sections may not accurately reflect
239345                 what is available on the minion.  The  docker.get_client_args
239346                 function can be used to check the available arguments for the
239347                 installed version of docker-py (they are found  in  the  net‐
239348                 work_config and ipam_config sections of the return data), but
239349                 Salt will not prevent a user from attempting to use an  argu‐
239350                 ment  which  is unsupported in the release of Docker which is
239351                 installed. In those cases, network creation be attempted  but
239352                 will fail.
239353
239354              name   Network name
239355
239356              skip_translate
239357                     This  function  translates Salt SLS input into the format
239358                     which docker-py  expects.  However,  in  the  event  that
239359                     Salt's  translation logic fails (due to potential changes
239360                     in the Docker Remote API, or to bugs in  the  translation
239361                     code),  this  argument can be used to exert granular con‐
239362                     trol over which arguments are translated  and  which  are
239363                     not.
239364
239365                     Pass  this  argument as a comma-separated list (or Python
239366                     list) of arguments, and translation for each passed argu‐
239367                     ment  name  will be skipped. Alternatively, pass True and
239368                     all translation will be skipped.
239369
239370                     Skipping tranlsation allows for arguments to be formatted
239371                     directly  in  the  format  which  docker-py expects. This
239372                     allows for API changes and other issues to be more easily
239373                     worked  around. See the following links for more informa‐
239374                     tion:
239375
239376                     · docker-py Low-level API
239377
239378                     · Docker Engine API
239379
239380                     New in version 2018.3.0.
239381
239382
239383              ignore_collisions
239384                     False Since many of docker-py's arguments differ in  name
239385                     from their CLI counterparts (with which most Docker users
239386                     are more familiar),  Salt  detects  usage  of  these  and
239387                     aliases  them  to the docker-py version of that argument.
239388                     However, if both the alias and the docker-py  version  of
239389                     the  same  argument  (e.g.  options  and driver_opts) are
239390                     used, an error will be raised. Set this argument to  True
239391                     to  suppress  these errors and keep the docker-py version
239392                     of the argument.
239393
239394                     New in version 2018.3.0.
239395
239396
239397              validate_ip_addrs
239398                     True For parameters which accept IP addresses/subnets  as
239399                     input, validation will be performed. To disable, set this
239400                     to False.
239401
239402                     New in version 2018.3.0.
239403
239404
239405              containers
239406                     A list of containers which should be  connected  to  this
239407                     network.
239408
239409                     NOTE:
239410                        As  of  the  2018.3.0  release, this is not the recom‐
239411                        mended way of managing a container's membership  in  a
239412                        network, for a couple reasons:
239413
239414                        1. It does not support setting static IPs, aliases, or
239415                           links in the container's IP configuration.
239416
239417                        2. If a docker_container.running state replaces a con‐
239418                           tainer,  it  will not be reconnected to the network
239419                           until  the  docker_network.present  state  is   run
239420                           again.  Since  containers often have require requi‐
239421                           sites to ensure that the network is  present,  this
239422                           means that the docker_network.present state ends up
239423                           being  run  before  the   docker_container.running,
239424                           leaving  the container unattached at the end of the
239425                           Salt run.
239426
239427                        For  these  reasons,  it   is   recommended   to   use
239428                        docker_container.running's network management support.
239429
239430              reconnect
239431                     True  If  containers  is  not  used,  and  the network is
239432                     replaced, then Salt will keep  track  of  the  containers
239433                     which were connected to the network and reconnect them to
239434                     the network after it is replaced. Salt will first attempt
239435                     to  reconnect  using the same IP the container had before
239436                     the network was replaced. If that fails (for instance, if
239437                     the  network  was  replaced  because the subnet was modi‐
239438                     fied), then the container will be reconnected without  an
239439                     explicit  IP  address,  and  its  IP  will be assigned by
239440                     Docker.
239441
239442                     Set this option to False to  keep  Salt  from  trying  to
239443                     reconnect  containers.  This  can be useful in some cases
239444                     when managing static IPs in docker_container.running. For
239445                     instance, if a network's subnet is modified, it is likely
239446                     that the static  IP  will  need  to  be  updated  in  the
239447                     docker_container.running  state as well. When the network
239448                     is replaced, the initial reconnect  attempt  would  fail,
239449                     and  the container would be reconnected with an automati‐
239450                     cally-assigned IP address.  Then,  when  the  docker_con‐
239451                     tainer.running  state  executes,  it would disconnect the
239452                     network again and reconnect using the new static IP. Dis‐
239453                     abling  the  reconnect behavior in these cases would pre‐
239454                     vent the unnecessary extra reconnection.
239455
239456                     New in version 2018.3.0.
239457
239458
239459              NETWORK CONFIGURATION ARGUMENTS
239460
239461              driver Network driver
239462
239463                        mynet:
239464                          docker_network.present:
239465                            - driver: macvlan
239466
239467              driver_opts (or driver_opt, or options)
239468                     Options for the network driver. Either  a  dictionary  of
239469                     option  names  and  values or a Python list of strings in
239470                     the format varname=value. The below  three  examples  are
239471                     equivalent:
239472
239473                        mynet:
239474                          docker_network.present:
239475                            - driver: macvlan
239476                            - driver_opts: macvlan_mode=bridge,parent=eth0
239477
239478                        mynet:
239479                          docker_network.present:
239480                            - driver: macvlan
239481                            - driver_opts:
239482                              - macvlan_mode=bridge
239483                              - parent=eth0
239484
239485                        mynet:
239486                          docker_network.present:
239487                            - driver: macvlan
239488                            - driver_opts:
239489                              - macvlan_mode: bridge
239490                              - parent: eth0
239491
239492                     The  options  can  also simply be passed as a dictionary,
239493                     though this can be error-prone due to some idiosyncrasies
239494                     with how PyYAML loads nested data structures:
239495
239496                        mynet:
239497                          docker_network.present:
239498                            - driver: macvlan
239499                            - driver_opts:
239500                                macvlan_mode: bridge
239501                                parent: eth0
239502
239503              check_duplicate
239504                     True  If  True, checks for networks with duplicate names.
239505                     Since networks are primarily keyed based on a  random  ID
239506                     and  not  on  the  name,  and  network name is strictly a
239507                     user-friendly alias to  the  network  which  is  uniquely
239508                     identified  using ID, there is no guaranteed way to check
239509                     for duplicates. This  option  providess  a  best  effort,
239510                     checking  for  any networks which have the same name, but
239511                     it is not guaranteed to catch all name collisions.
239512
239513                        mynet:
239514                          docker_network.present:
239515                            - check_duplicate: False
239516
239517              internal
239518                     False If True, restricts external access to the network
239519
239520                        mynet:
239521                          docker_network.present:
239522                            - internal: True
239523
239524              labels Add metadata to the network. Labels can be set both  with
239525                     and  without values, and labels with values can be passed
239526                     either as key=value or key:  value  pairs.  For  example,
239527                     while  the  below  would be very confusing to read, it is
239528                     technically valid, and demonstrates the different ways in
239529                     which labels can be passed:
239530
239531                        mynet:
239532                          docker_network.present:
239533                            - labels:
239534                              - foo
239535                              - bar=baz
239536                              - hello: world
239537
239538                     The  labels  can  also simply be passed as a YAML dictio‐
239539                     nary, though this can be error-prone due to some idiosyn‐
239540                     crasies with how PyYAML loads nested data structures:
239541
239542                        foo:
239543                          docker_network.present:
239544                            - labels:
239545                                foo: ''
239546                                bar: baz
239547                                hello: world
239548
239549                     Changed  in  version  2018.3.0:  Methods  for  specifying
239550                     labels can now be mixed. Earlier releases required either
239551                     labels with or without values.
239552
239553
239554              enable_ipv6 (or ipv6)
239555                     False Enable IPv6 on the network
239556
239557                        mynet:
239558                          docker_network.present:
239559                            - enable_ipv6: True
239560
239561                     NOTE:
239562                        While  it should go without saying, this argument must
239563                        be set to True to configure an IPv6 subnet.  Also,  if
239564                        this  option  is  turned  on  without  an  IPv6 subnet
239565                        explicitly configured, you will get  an  error  unless
239566                        you  have  set  up  a  fixed  IPv6 subnet. Consult the
239567                        Docker IPv6 docs for information on how to do this.
239568
239569              attachable
239570                     False If True, and the network is in  the  global  scope,
239571                     non-service  containers  on  worker nodes will be able to
239572                     connect to the network.
239573
239574                        mynet:
239575                          docker_network.present:
239576                            - attachable: True
239577
239578                     NOTE:
239579                        This option cannot be reliably managed  on  CentOS  7.
239580                        This  is  because  while  support  for this option was
239581                        added in API version 1.24, its value was not added  to
239582                        the  inpsect results until API version 1.26.  The ver‐
239583                        sion of Docker which is available for  CentOS  7  runs
239584                        API  version  1.24,  meaning  that while Salt can pass
239585                        this argument to the API, it has no way of knowing the
239586                        value of this config option in an existing Docker net‐
239587                        work.
239588
239589              scope  Specify the network's scope (local, global or swarm)
239590
239591                        mynet:
239592                          docker_network.present:
239593                            - scope: local
239594
239595              ingress
239596                     False If True, create an ingress network  which  provides
239597                     the routing-mesh in swarm mode
239598
239599                        mynet:
239600                          docker_network.present:
239601                            - ingress: True
239602
239603              IP ADDRESS MANAGEMENT (IPAM)
239604
239605              This  state supports networks with either IPv4, or both IPv4 and
239606              IPv6. If configuring IPv4, then you can pass the IPAM pool argu‐
239607              ments  below  as  individual  arguments. However, if configuring
239608              IPv4 and IPv6, the arguments must be passed as a list of dictio‐
239609              naries,  in  the  ipam_pools argument (click here for some exam‐
239610              ples). These docs also have more information on these arguments.
239611
239612              IPAM ARGUMENTS
239613
239614              ipam_driver
239615                     IPAM driver to use, if different from the default one
239616
239617                        mynet:
239618                          docker_network.present:
239619                            - ipam_driver: foo
239620
239621              ipam_opts
239622                     Options for the  IPAM  driver.  Either  a  dictionary  of
239623                     option  names  and  values or a Python list of strings in
239624                     the format varname=value. The below  three  examples  are
239625                     equivalent:
239626
239627                        mynet:
239628                          docker_network.present:
239629                            - ipam_driver: foo
239630                            - ipam_opts: foo=bar,baz=qux
239631
239632                        mynet:
239633                          docker_network.present:
239634                            - ipam_driver: foo
239635                            - ipam_opts:
239636                              - foo=bar
239637                              - baz=qux
239638
239639                        mynet:
239640                          docker_network.present:
239641                            - ipam_driver: foo
239642                            - ipam_opts:
239643                              - foo: bar
239644                              - baz: qux
239645
239646                     The  options  can  also simply be passed as a dictionary,
239647                     though this can be error-prone due to some idiosyncrasies
239648                     with how PyYAML loads nested data structures:
239649
239650                        mynet:
239651                          docker_network.present:
239652                            - ipam_driver: macvlan
239653                            - ipam_opts:
239654                                foo: bar
239655                                baz: qux
239656
239657              IPAM POOL ARGUMENTS
239658
239659              subnet Subnet in CIDR format that represents a network segment
239660
239661              iprange (or ip_range)
239662                     Allocate container IP from a sub-range within the subnet
239663
239664                     Subnet in CIDR format that represents a network segment
239665
239666              gateway
239667                     IPv4 or IPv6 gateway for the master subnet
239668
239669              aux_addresses (or aux_address)
239670                     A  dictionary  of mapping container names to IP addresses
239671                     which should be allocated for them should they connect to
239672                     the network. Either a dictionary of option names and val‐
239673                     ues  or  a  Python  list  of  strings   in   the   format
239674                     host=ipaddr.
239675
239676              IPAM CONFIGURATION EXAMPLES
239677
239678              Below  is  an example of an IPv4-only network (keep in mind that
239679              subnet is the only required argument).
239680
239681                 mynet:
239682                   docker_network.present:
239683                     - subnet: 10.0.20.0/24
239684                     - iprange: 10.0.20.128/25
239685                     - gateway: 10.0.20.254
239686                     - aux_addresses:
239687                       - foo.bar.tld: 10.0.20.50
239688                       - hello.world.tld: 10.0.20.51
239689
239690              NOTE:
239691                 The aux_addresses can be passed differently, in the same  way
239692                 that driver_opts and ipam_opts can.
239693
239694              This same network could also be configured this way:
239695
239696                 mynet:
239697                   docker_network.present:
239698                     - ipam_pools:
239699                       - subnet: 10.0.20.0/24
239700                         iprange: 10.0.20.128/25
239701                         gateway: 10.0.20.254
239702                         aux_addresses:
239703                           foo.bar.tld: 10.0.20.50
239704                           hello.world.tld: 10.0.20.51
239705
239706              Here is an example of a mixed IPv4/IPv6 subnet.
239707
239708                 mynet:
239709                   docker_network.present:
239710                     - ipam_pools:
239711                       - subnet: 10.0.20.0/24
239712                         gateway: 10.0.20.1
239713                       - subnet: fe3f:2180:26:1::/123
239714                         gateway: fe3f:2180:26:1::1
239715
239716   salt.states.docker_volume
239717       Management of Docker volumes
239718
239719       New in version 2017.7.0.
239720
239721
239722       depends
239723              docker Python module
239724
239725       NOTE:
239726          Older  releases  of  the  Python  bindings  for  Docker  were called
239727          docker-py in PyPI. All releases of docker, and releases of docker-py
239728          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
239729          installed using pip.install:
239730
239731              salt myminion pip.install docker
239732
239733          To upgrade from  docker-py  to  docker,  you  must  first  uninstall
239734          docker-py, and then install docker:
239735
239736              salt myminion pip.uninstall docker-py
239737              salt myminion pip.install docker
239738
239739       These  states  were moved from the docker state module (formerly called
239740       dockerng) in the 2017.7.0 release.
239741
239742       salt.states.docker_volume.absent(name, driver=None)
239743              Ensure that a volume is absent.
239744
239745              New in version 2015.8.4.
239746
239747
239748              Changed  in  version  2017.7.0:  This  state  was  renamed  from
239749              docker.volume_absent to docker_volume.absent
239750
239751
239752              name   Name of the volume
239753
239754              Usage Examples:
239755
239756                 volume_foo:
239757                   docker_volume.absent
239758
239759       salt.states.docker_volume.present(name,  driver=None, driver_opts=None,
239760       force=False)
239761              Ensure that a volume is present.
239762
239763              New in version 2015.8.4.
239764
239765
239766              Changed in version 2015.8.6: This state no  longer  deletes  and
239767              re-creates  a  volume  if  the existing volume's driver does not
239768              match the driver parameter (unless the force parameter is set to
239769              True).
239770
239771
239772              Changed  in  version  2017.7.0:  This  state  was  renamed  from
239773              docker.volume_present to docker_volume.present
239774
239775
239776              name   Name of the volume
239777
239778              driver Type of driver for that volume.  If None and  the  volume
239779                     does  not  yet  exist,  the  volume will be created using
239780                     Docker's default driver.  If None  and  the  volume  does
239781                     exist,  this  function does nothing, even if the existing
239782                     volume's driver is not the Docker  default  driver.   (To
239783                     ensure  that  an  existing  volume's  driver  matches the
239784                     Docker default, you must explicitly name Docker's default
239785                     driver here.)
239786
239787              driver_opts
239788                     Options for the volume driver
239789
239790              force  False  If the volume already exists but the existing vol‐
239791                     ume's driver does not match the driver specified  by  the
239792                     driver  parameter,  this  parameter  controls whether the
239793                     function errors out (if False) or deletes and  re-creates
239794                     the volume (if True).
239795
239796                     New in version 2015.8.6.
239797
239798
239799              Usage Examples:
239800
239801                 volume_foo:
239802                   docker_volume.present
239803
239804                 volume_bar:
239805                   docker_volume.present
239806                     - name: bar
239807                     - driver: local
239808                     - driver_opts:
239809                         foo: bar
239810
239811                 volume_bar:
239812                   docker_volume.present
239813                     - name: bar
239814                     - driver: local
239815                     - driver_opts:
239816                         - foo: bar
239817                         - option: value
239818
239819   salt.states.drac
239820       Management of Dell DRAC
239821
239822       The DRAC module is used to create and manage DRAC cards on Dell servers
239823
239824       Ensure the user damian is present
239825
239826              damian:
239827                drac.present:
239828                  - name: damian
239829                  - password: secret
239830                  - permission: login,test_alerts,clear_logs
239831
239832       Ensure the user damian does not exist
239833
239834              damian:
239835                drac.absent:
239836                  - name: damian
239837
239838       Ensure DRAC network is in a consistent state
239839
239840              my_network:
239841                drac.network:
239842                  - ip: 10.225.108.29
239843                  - netmask: 255.255.255.224
239844                  - gateway: 10.225.108.1
239845
239846       salt.states.drac.absent(name)
239847              Ensure a user does not exist on the Dell DRAC
239848
239849              name:  The users username
239850
239851       salt.states.drac.network(ip, netmask, gateway)
239852              Ensure the DRAC network settings are consistent
239853
239854       salt.states.drac.present(name, password, permission)
239855              Ensure the user exists on the Dell DRAC
239856
239857              name:  The users username
239858
239859              password
239860                     The password used to authenticate
239861
239862              permission
239863                     The permissions that should be assigned to a user
239864
239865   salt.states.elasticsearch
239866       State module to manage Elasticsearch.
239867
239868       New in version 2017.7.0.
239869
239870
239871       salt.states.elasticsearch.alias_absent(name, index)
239872              Ensure that the index alias is absent.
239873
239874              name   Name of the index alias to remove
239875
239876              index  Name of the index for the alias
239877
239878       salt.states.elasticsearch.alias_present(name, index, definition=None)
239879              Ensure that the named index alias is present.
239880
239881              name   Name of the alias
239882
239883              index  Name of the index
239884
239885              definition
239886                     Optional      dict      for      filters      as      per
239887                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html
239888
239889              Example:
239890
239891                 mytestalias:
239892                   elasticsearch.alias_present:
239893                     - index: testindex
239894                     - definition:
239895                         filter:
239896                           term:
239897                             user: kimchy
239898
239899       salt.states.elasticsearch.index_absent(name)
239900              Ensure that the named index is absent.
239901
239902              name   Name of the index to remove
239903
239904       salt.states.elasticsearch.index_present(name, definition=None)
239905              Ensure that the named index is present.
239906
239907              name   Name of the index to add
239908
239909              definition
239910                     Optional    dict   for   creation   parameters   as   per
239911                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
239912
239913              Example:
239914
239915                 # Default settings
239916                 mytestindex:
239917                   elasticsearch_index.present
239918
239919                 # Extra settings
239920                 mytestindex2:
239921                   elasticsearch_index.present:
239922                     - definition:
239923                         settings:
239924                           index:
239925                             number_of_shards: 10
239926
239927       salt.states.elasticsearch.index_template_absent(name)
239928              Ensure that the named index template is absent.
239929
239930              name   Name of the index to remove
239931
239932       salt.states.elasticsearch.index_template_present(name,      definition,
239933       check_definition=False)
239934              Ensure that the named index template is present.
239935
239936              name   Name of the index to add
239937
239938              definition
239939                     Required   dict   for   creation   parameters   as    per
239940                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
239941
239942              check_definition
239943                     If the template already exists and the definition  is  up
239944                     to date
239945
239946              Example:
239947
239948                 mytestindex2_template:
239949                   elasticsearch.index_template_present:
239950                     - definition:
239951                         template: logstash-*
239952                         order: 1
239953                         settings:
239954                           number_of_shards: 1
239955
239956       salt.states.elasticsearch.pipeline_absent(name)
239957              Ensure that the named pipeline is absent
239958
239959              name   Name of the pipeline to remove
239960
239961       salt.states.elasticsearch.pipeline_present(name, definition)
239962              Ensure that the named pipeline is present.
239963
239964              name   Name of the index to add
239965
239966              definition
239967                     Required    dict   for   creation   parameters   as   per
239968                     https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html
239969
239970              Example:
239971
239972                 test_pipeline:
239973                   elasticsearch.pipeline_present:
239974                     - definition:
239975                         description: example pipeline
239976                         processors:
239977                           - set:
239978                               field: collector_timestamp_millis
239979                               value: '{{ '{{' }}_ingest.timestamp{{ '}}' }}'
239980
239981       salt.states.elasticsearch.search_template_absent(name)
239982              Ensure that the search template is absent
239983
239984              name   Name of the search template to remove
239985
239986       salt.states.elasticsearch.search_template_present(name, definition)
239987              Ensure that the named search template is present.
239988
239989              name   Name of the search template to add
239990
239991              definition
239992                     Required    dict   for   creation   parameters   as   per
239993                     http://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html
239994
239995              Example:
239996
239997                 test_pipeline:
239998                   elasticsearch.search_template_present:
239999                     - definition:
240000                         inline:
240001                           size: 10
240002
240003   salt.states.elasticsearch_index
240004       State module to manage Elasticsearch indices
240005
240006       New in version 2015.8.0.
240007
240008
240009       Deprecated since version 2017.7.0: Use elasticsearch state instead
240010
240011
240012       salt.states.elasticsearch_index.absent(name)
240013              Ensure that the named index is absent.
240014
240015              name   Name of the index to remove
240016
240017       salt.states.elasticsearch_index.present(name, definition=None)
240018              New in version 2015.8.0.
240019
240020
240021              Changed in version 2017.3.0: Marked definition as optional.
240022
240023
240024              Ensure that the named index is present.
240025
240026              name   Name of the index to add
240027
240028              definition
240029                     Optional    dict   for   creation   parameters   as   per
240030                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
240031
240032              Example:
240033
240034                 # Default settings
240035                 mytestindex:
240036                   elasticsearch_index.present
240037
240038                 # Extra settings
240039                 mytestindex2:
240040                   elasticsearch_index.present:
240041                     - definition:
240042                         settings:
240043                           index:
240044                             number_of_shards: 10
240045
240046   salt.states.elasticsearch_index_template
240047       State module to manage Elasticsearch index templates
240048
240049       New in version 2015.8.0.
240050
240051
240052       Deprecated since version 2017.7.0: Use elasticsearch state instead
240053
240054
240055       salt.states.elasticsearch_index_template.absent(name)
240056              Ensure that the named index template is absent.
240057
240058              name   Name of the index to remove
240059
240060       salt.states.elasticsearch_index_template.present(name, definition)
240061              New in version 2015.8.0.
240062
240063
240064              Changed in version 2017.3.0: Marked definition as required.
240065
240066
240067              Ensure that the named index templat eis present.
240068
240069              name   Name of the index to add
240070
240071              definition
240072                     Required    dict   for   creation   parameters   as   per
240073                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
240074
240075              Example:
240076
240077                 mytestindex2_template:
240078                   elasticsearch_index_template.present:
240079                     - definition:
240080                         template: logstash-*
240081                         order: 1
240082                         settings:
240083                           number_of_shards: 1
240084
240085   salt.states.environ
240086       Support  for  getting and setting the environment variables of the cur‐
240087       rent salt process.
240088
240089       salt.states.environ.setenv(name,       value,       false_unsets=False,
240090       clear_all=False, update_minion=False, permanent=False)
240091              Set the salt process environment variables.
240092
240093              name   The environment key to set. Must be a string.
240094
240095              value  Either  a  string  or  dict.  When string, it will be the
240096                     value set for the environment key of 'name' above.   When
240097                     a  dict,  each  key/value  pair represents an environment
240098                     variable to set.
240099
240100              false_unsets
240101                     If a key's value is False and false_unsets is True,  then
240102                     the  key will be removed from the salt processes environ‐
240103                     ment dict  entirely.  If  a  key's  value  is  False  and
240104                     false_unsets  is  not  True, then the key's value will be
240105                     set to an empty string.  Default: False
240106
240107              clear_all
240108                     USE WITH CAUTION! This option can unset environment vari‐
240109                     ables needed for salt to function properly.  If clear_all
240110                     is True, then any environment variables  not  defined  in
240111                     the environ dict will be deleted.  Default: False
240112
240113              update_minion
240114                     If   True,  apply  these  environ  changes  to  the  main
240115                     salt-minion process. If False, the environ  changes  will
240116                     only affect the current salt subprocess.  Default: False
240117
240118              permanent
240119                     On Windows minions this will set the environment variable
240120                     in the registry so that it is always added as a  environ‐
240121                     ment  variable when applications open. If you want to set
240122                     the variable to HKLM instead of HKCU just pass in  "HKLM"
240123                     for  this  parameter. On all other minion types this will
240124                     be ignored. Note: This will only take affect on  applica‐
240125                     tions opened after this has been set.
240126
240127              Example:
240128
240129                 a_string_env:
240130                    environ.setenv:
240131                      - name: foo
240132                      - value: bar
240133                      - update_minion: True
240134
240135                 a_dict_env:
240136                    environ.setenv:
240137                      - name: does_not_matter
240138                      - value:
240139                          foo: bar
240140                          baz: quux
240141
240142   salt.states.eselect
240143   Management of Gentoo configuration using eselect
240144       A state module to manage Gentoo configuration via eselect
240145
240146       salt.states.eselect.set_(name,      target,      module_parameter=None,
240147       action_parameter=None)
240148              Verify that the given module is set to the given target
240149
240150              name   The name of the module
240151
240152              target The target to be set for this module
240153
240154              module_parameter
240155                     additional params passed to the defined module
240156
240157              action_parameter
240158                     additional params passed to the defined action
240159
240160                 profile:
240161                   eselect.set:
240162                     - target: hardened/linux/amd64
240163
240164   salt.states.etcd_mod
240165   Manage etcd Keys
240166       New in version 2015.8.0.
240167
240168
240169       depends
240170
240171              · python-etcd
240172
240173       This state module supports setting and removing keys from etcd.
240174
240175   Configuration
240176       To work with an etcd server you must configure  an  etcd  profile.  The
240177       etcd  config can be set in either the Salt Minion configuration file or
240178       in pillar:
240179
240180          my_etd_config:
240181            etcd.host: 127.0.0.1
240182            etcd.port: 4001
240183
240184       It is technically possible to configure etcd without using  a  profile,
240185       but  this is not considered to be a best practice, especially when mul‐
240186       tiple etcd servers or clusters are available.
240187
240188          etcd.host: 127.0.0.1
240189          etcd.port: 4001
240190
240191       NOTE:
240192          The etcd configuration can also be set in  the  Salt  Master  config
240193          file,  but  in  order  to use any etcd configurations defined in the
240194          Salt Master config, the pillar_opts must be set to True.
240195
240196          Be aware that setting pillar_opts to True has security  implications
240197          as  this  makes  all  master configuration settings available in all
240198          minion's pillars.
240199
240200       Etcd profile configuration can be overridden using following arguments:
240201       host, port, username, password, ca, client_key and client_cert.
240202
240203          my-value:
240204            etcd.set:
240205              - name: /path/to/key
240206              - value: value
240207              - host: 127.0.0.1
240208              - port: 2379
240209              - username: user
240210              - password: pass
240211
240212   Available Functions
240213       · set
240214
240215         This  will  set a value to a key in etcd. Changes will be returned if
240216         the key has been created or the value of the key  has  been  updated.
240217         This means you can watch these states for changes.
240218
240219            /foo/bar/baz:
240220              etcd.set:
240221                - value: foo
240222                - profile: my_etcd_config
240223
240224       · wait_set
240225
240226         Performs  the same functionality as set but only if a watch requisite
240227         is True.
240228
240229            /some/file.txt:
240230              file.managed:
240231                - source: salt://file.txt
240232
240233            /foo/bar/baz:
240234              etcd.wait_set:
240235                - value: foo
240236                - profile: my_etcd_config
240237                - watch:
240238                  - file: /some/file.txt
240239
240240       · rm
240241
240242         This will delete a key from etcd. If the key exists then changes will
240243         be  returned  and thus you can watch for changes on the state, if the
240244         key does not exist then no changes will occur.
240245
240246            /foo/bar/baz:
240247              etcd.rm:
240248                - profile: my_etcd_config
240249
240250       · wait_rm
240251
240252         Performs the same functionality as rm but only if a  watch  requisite
240253         is True.
240254
240255            /some/file.txt:
240256              file.managed:
240257                - source: salt://file.txt
240258
240259            /foo/bar/baz:
240260              etcd.wait_rm:
240261                - profile: my_etcd_config
240262                - watch:
240263                  - file: /some/file.txt
240264
240265       salt.states.etcd_mod.directory(name, profile=None, **kwargs)
240266              Create a directory in etcd.
240267
240268              name   The etcd directory name, for example: /foo/bar/baz.
240269
240270              profile
240271                     Optional,  defaults to None. Sets the etcd profile to use
240272                     which has been defined in the Salt Master config.
240273
240274                        my_etd_config:
240275                          etcd.host: 127.0.0.1
240276                          etcd.port: 4001
240277
240278       salt.states.etcd_mod.mod_watch(name, **kwargs)
240279              The etcd watcher, called to  invoke  the  watch  command.   When
240280              called, execute a etcd function based on a watch call requisite.
240281
240282              NOTE:
240283                 This  state  exists  to support special handling of the watch
240284                 requisite. It should not be called directly.
240285
240286                 Parameters for this function should be set by the state being
240287                 triggered.
240288
240289       salt.states.etcd_mod.rm(name, recurse=False, profile=None, **kwargs)
240290              Deletes a key from etcd
240291
240292              name   The etcd key name to remove, for example /foo/bar/baz.
240293
240294              recurse
240295                     Optional, defaults to False. If True performs a recursive
240296                     delete.
240297
240298              profile
240299                     Optional, defaults to None. Sets the etcd profile to  use
240300                     which has been defined in the Salt Master config.
240301
240302                        my_etd_config:
240303                          etcd.host: 127.0.0.1
240304                          etcd.port: 4001
240305
240306       salt.states.etcd_mod.set_(name, value, profile=None, **kwargs)
240307              Set a key in etcd
240308
240309              name   The etcd key name, for example: /foo/bar/baz.
240310
240311              value  The value the key should contain.
240312
240313              profile
240314                     Optional,  defaults to None. Sets the etcd profile to use
240315                     which has been defined in the Salt Master config.
240316
240317                        my_etd_config:
240318                          etcd.host: 127.0.0.1
240319                          etcd.port: 4001
240320
240321       salt.states.etcd_mod.wait_rm(name,     recurse=False,     profile=None,
240322       **kwargs)
240323              Deletes  a  key  from etcd only if the watch statement calls it.
240324              This function is also aliased as wait_rm.
240325
240326              name   The etcd key name to remove, for example /foo/bar/baz.
240327
240328              recurse
240329                     Optional, defaults to False. If True performs a recursive
240330                     delete,                                              see:
240331                     https://python-etcd.readthedocs.io/en/latest/#delete-a-key.
240332
240333              profile
240334                     Optional,  defaults to None. Sets the etcd profile to use
240335                     which has been defined in the Salt Master config.
240336
240337                        my_etd_config:
240338                          etcd.host: 127.0.0.1
240339                          etcd.port: 4001
240340
240341       salt.states.etcd_mod.wait_set(name, value, profile=None, **kwargs)
240342              Set a key in etcd only if the watch  statement  calls  it.  This
240343              function is also aliased as wait_set.
240344
240345              name   The etcd key name, for example: /foo/bar/baz.
240346
240347              value  The value the key should contain.
240348
240349              profile
240350                     The  etcd  profile to use that has been configured on the
240351                     Salt Master, this is optional and defaults to None.
240352
240353                        my_etd_config:
240354                          etcd.host: 127.0.0.1
240355                          etcd.port: 4001
240356
240357   salt.states.ethtool module
240358       Configuration of network device
240359
240360       New in version 2016.11.0.
240361
240362
240363       codeauthor
240364              Krzysztof Pawlowski <msciciel@msciciel.eu>
240365
240366       maturity
240367              new
240368
240369       depends
240370              python-ethtool
240371
240372       platform
240373              linux
240374
240375          eth0:
240376            ethtool.coalesce:
240377              - name: eth0
240378              - rx_usecs: 24
240379              - tx_usecs: 48
240380
240381          eth0:
240382            ethtool.ring:
240383              - name: eth0
240384              - rx: 1024
240385              - tx: 1024
240386
240387          eth0:
240388            ethtool.offload:
240389              - name: eth0
240390              - tcp_segmentation_offload: on
240391
240392       salt.states.ethtool.coalesce(name, **kwargs)
240393              Manage coalescing settings of network device
240394
240395              name   Interface name to apply coalescing settings
240396
240397                 eth0:
240398                   ethtool.coalesce:
240399                     - name: eth0
240400                     - adaptive_rx: on
240401                     - adaptive_tx: on
240402                     - rx_usecs: 24
240403                     - rx_frame: 0
240404                     - rx_usecs_irq: 0
240405                     - rx_frames_irq: 0
240406                     - tx_usecs: 48
240407                     - tx_frames: 0
240408                     - tx_usecs_irq: 0
240409                     - tx_frames_irq: 0
240410                     - stats_block_usecs: 0
240411                     - pkt_rate_low: 0
240412                     - rx_usecs_low: 0
240413                     - rx_frames_low: 0
240414                     - tx_usecs_low: 0
240415                     - tx_frames_low: 0
240416                     - pkt_rate_high: 0
240417                     - rx_usecs_high: 0
240418                     - rx_frames_high: 0
240419                     - tx_usecs_high: 0
240420                     - tx_frames_high: 0
240421                     - sample_interval: 0
240422
240423       salt.states.ethtool.offload(name, **kwargs)
240424              Manage protocol offload and other features of network device
240425
240426              name   Interface name to apply coalescing settings
240427
240428                 eth0:
240429                   ethtool.offload:
240430                     - name: eth0
240431                     - tcp_segmentation_offload: on
240432
240433       salt.states.ethtool.ring(name, **kwargs)
240434              Manage rx/tx ring parameters of network device
240435
240436              Use 'max' word to set with factory maximum
240437
240438              name   Interface name to apply ring parameters
240439
240440                 eth0:
240441                   ethtool.ring:
240442                     - name: eth0
240443                     - rx: 1024
240444                     - rx_mini: 0
240445                     - rx_jumbo: 0
240446                     - tx: max
240447
240448   salt.states.esxi
240449       Manage VMware ESXi Hosts.
240450
240451       New in version 2015.8.4.
240452
240453
240454   Dependencies
240455       · pyVmomi Python Module
240456
240457       · ESXCLI
240458
240459   pyVmomi
240460       PyVmomi can be installed via pip:
240461
240462          pip install pyVmomi
240463
240464       NOTE:
240465          Version 6.0 of pyVmomi has some problems with SSL error handling  on
240466          certain  versions of Python. If using version 6.0 of pyVmomi, Python
240467          2.6, Python 2.7.9, or newer must be  present.  This  is  due  to  an
240468          upstream  dependency  in pyVmomi 6.0 that is not supported in Python
240469          versions 2.7 to 2.7.8. If the version of Python is not in  the  sup‐
240470          ported  range,  you  will need to install an earlier version of pyV‐
240471          momi. See Issue #29537 for more information.
240472
240473       Based on the note above, to install an earlier version of pyVmomi  than
240474       the version currently listed in PyPi, run the following:
240475
240476          pip install pyVmomi==5.5.0.2014.1.1
240477
240478       The  5.5.0.2014.1.1  is  a known stable version that this original ESXi
240479       State Module was developed against.
240480
240481   ESXCLI
240482       Currently, about a third of the functions used in the vSphere Execution
240483       Module  require  the ESXCLI package be installed on the machine running
240484       the Proxy Minion process.
240485
240486       The ESXCLI package is also referred to as the VMware  vSphere  CLI,  or
240487       vCLI.  VMware  provides  vCLI  package  installation  instructions  for
240488       vSphere 5.5 and vSphere 6.0.
240489
240490       Once all of the required dependencies are in place and the vCLI package
240491       is installed, you can check to see if you can connect to your ESXi host
240492       or vCenter server by running the following command:
240493
240494          esxcli -s <host-location> -u <username> -p <password> system syslog config get
240495
240496       If the connection was successful, ESXCLI was successfully installed  on
240497       your  system.   You should see output related to the ESXi host's syslog
240498       configuration.
240499
240500       NOTE:
240501          Be aware that some functionality in this state module may depend  on
240502          the type of license attached to the ESXi host.
240503
240504          For  example, certain services are only available to manipulate ser‐
240505          vice state or policies with a VMware vSphere  Enterprise  or  Enter‐
240506          prise  Plus  license,  while  others  are  available with a Standard
240507          license. The ntpd  service  is  restricted  to  an  Enterprise  Plus
240508          license, while ssh is available via the Standard license.
240509
240510          Please see the vSphere Comparison page for more information.
240511
240512   About
240513       This  state  module  was  written to be used in conjunction with Salt's
240514       ESXi Proxy Minion. For a tutorial on how to use Salt's ESXi Proxy  Min‐
240515       ion,  please  refer to the ESXi Proxy Minion Tutorial for configuration
240516       examples, dependency installation instructions, how to run remote  exe‐
240517       cution  functions  against  ESXi  hosts  via a Salt Proxy Minion, and a
240518       larger state example.
240519
240520       salt.states.esxi.coredump_configured(name,      enabled,       dump_ip,
240521       host_vnic=u'vmk0', dump_port=6500)
240522              Ensures a host's core dump configuration.
240523
240524              name   Name of the state.
240525
240526              enabled
240527                     Sets  whether  or not ESXi core dump collection should be
240528                     enabled.  This is a boolean value set to True or False to
240529                     enable or disable core dumps.
240530
240531                     Note  that  ESXi  requires  that  the  core  dump must be
240532                     enabled before any other parameters may be set. This also
240533                     affects  the  changes results in the state return dictio‐
240534                     nary. If enabled is False, we can't obtain  any  previous
240535                     settings  to  compare other state variables, resulting in
240536                     many old references returning None.
240537
240538                     Once enabled is True the changes  dictionary  comparisons
240539                     will  be more accurate. This is due to the way the system
240540                     coredemp network configuration command returns data.
240541
240542              dump_ip
240543                     The IP address of host that will accept the dump.
240544
240545              host_vnic
240546                     Host VNic port through which to communicate. Defaults  to
240547                     vmk0.
240548
240549              dump_port
240550                     TCP port to use for the dump. Defaults to 6500.
240551
240552              Example:
240553
240554                 configure-host-coredump:
240555                   esxi.coredump_configured:
240556                     - enabled: True
240557                     - dump_ip: 'my-coredump-ip.example.com'
240558
240559       salt.states.esxi.diskgroups_configured(name,                diskgroups,
240560       erase_disks=False)
240561              Configures the disk groups to use for vsan.
240562
240563              This function will do the following:
240564
240565              1. Check whether or not all disks in the diskgroup  spec  exist,
240566                 and raises and errors if they do not.
240567
240568              2. Create  diskgroups  with  the  correct disk configurations if
240569                 diskgroup (identified  by  the  cache  disk  canonical  name)
240570                 doesn't exist
240571
240572              3. Adds extra capacity disks to the existing diskgroup
240573
240574              Example:
240575
240576                 {
240577                     'cache_scsi_addr': 'vmhba1:C0:T0:L0',
240578                     'capacity_scsi_addrs': [
240579                         'vmhba2:C0:T0:L0',
240580                         'vmhba3:C0:T0:L0',
240581                         'vmhba4:C0:T0:L0',
240582                     ]
240583                 }
240584
240585              name   Mandatory state name
240586
240587              diskgroups
240588                     Disk group representation containing scsi disk addresses.
240589                     Scsi addresses are expected for disks in the diskgroup:
240590
240591              erase_disks
240592                     Specifies whether to erase all partitions  on  all  disks
240593                     member  of  the  disk group before the disk group is cre‐
240594                     ated. Default value is False.
240595
240596       salt.states.esxi.host_cache_configured(name,    enabled,     datastore,
240597       swap_size=u'100%',       dedicated_backing_disk=False,      erase_back‐
240598       ing_disk=False)
240599              Configures the host cache used for swapping.
240600
240601              It will do the following:
240602
240603              1. Checks if backing disk exists
240604
240605              2. Creates the VMFS datastore if doesn't exist (datastore parti‐
240606                 tion will be created and use the entire disk)
240607
240608              3. Raises  an error if dedicated_backing_disk is True and parti‐
240609                 tions already exist on the backing disk
240610
240611              4. Configures host_cache to use a portion of the  datastore  for
240612                 caching (either a specific size or a percentage of the datas‐
240613                 tore)
240614
240615              Examples
240616
240617              Percentage swap size (can't be 100%)
240618
240619                 {
240620                     'enabled': true,
240621                     'datastore': {
240622                         'backing_disk_scsi_addr': 'vmhba0:C0:T0:L0',
240623                         'vmfs_version': 5,
240624                         'name': 'hostcache'
240625                         }
240626                     'dedicated_backing_disk': false
240627                     'swap_size': '98%',
240628                 }
240629
240630              Fixed sized swap size
240631
240632                 {
240633                     'enabled': true,
240634                     'datastore': {
240635                         'backing_disk_scsi_addr': 'vmhba0:C0:T0:L0',
240636                         'vmfs_version': 5,
240637                         'name': 'hostcache'
240638                         }
240639                     'dedicated_backing_disk': true
240640                     'swap_size': '10GiB',
240641                 }
240642
240643              name   Mandatory state name.
240644
240645              enabled
240646                     Specifies whether the host cache is enabled.
240647
240648              datastore
240649                     Specifies the host cache datastore.
240650
240651              swap_size
240652                     Specifies the size of the host cache swap. Can be a  per‐
240653                     centage or a value in GiB. Default value is 100%.
240654
240655              dedicated_backing_disk
240656                     Specifies  whether  the  backing disk is dedicated to the
240657                     host cache which means it must have no other  partitions.
240658                     Default is False
240659
240660              erase_backing_disk
240661                     Specifies  whether to erase all partitions on the backing
240662                     disk before the datastore is created.  Default  value  is
240663                     False.
240664
240665       salt.states.esxi.ntp_configured(name,                  service_running,
240666       ntp_servers=None,      service_policy=None,      service_restart=False,
240667       update_datetime=False)
240668              Ensures  a  host's  NTP server configuration such as setting NTP
240669              servers, ensuring the NTP  daemon  is  running  or  stopped,  or
240670              restarting the NTP daemon for the ESXi host.
240671
240672              name   Name of the state.
240673
240674              service_running
240675                     Ensures the running state of the ntp daemon for the host.
240676                     Boolean value where True indicates that  ntpd  should  be
240677                     running and False indicates that it should be stopped.
240678
240679              ntp_servers
240680                     A list of servers that should be added to the ESXi host's
240681                     NTP configuration.
240682
240683              service_policy
240684                     The policy to set for the NTP service.
240685
240686                     NOTE:
240687                        When setting the service policy to off or on, you must
240688                        quote  the setting. If you don't, the yaml parser will
240689                        set the string to a boolean, which will cause  trouble
240690                        checking for stateful changes and will error when try‐
240691                        ing to set the policy on the ESXi host.
240692
240693              service_restart
240694                     If set to True, the ntp daemon will be restarted, regard‐
240695                     less of its previous running state. Default is False.
240696
240697              update_datetime
240698                     If  set  to True, the date/time on the given host will be
240699                     updated to UTC.  Default setting is  False.  This  option
240700                     should be used with caution since network delays and exe‐
240701                     cution delays can result in time skews.
240702
240703              Example:
240704
240705                 configure-host-ntp:
240706                   esxi.ntp_configured:
240707                     - service_running: True
240708                     - ntp_servers:
240709                       - 192.174.1.100
240710                       - 192.174.1.200
240711                     - service_policy: 'on'
240712                     - service_restart: True
240713
240714       salt.states.esxi.password_present(name, password)
240715              Ensures the given password is set on the  ESXi  host.  Passwords
240716              cannot  be  obtained  from host, so if a password is set in this
240717              state, the vsphere.update_host_password function will always run
240718              (except  when  using  test=True  functionality)  and the state's
240719              changes dictionary will always be populated.
240720
240721              The username for which the password  will  change  is  the  same
240722              username  that is used to authenticate against the ESXi host via
240723              the Proxy Minion. For example, if the pillar definition for  the
240724              proxy  username  is  defined as root, then the username that the
240725              password will be updated for via this state is root.
240726
240727              name   Name of the state.
240728
240729              password
240730                     The new password to change on the host.
240731
240732              Example:
240733
240734                 configure-host-password:
240735                   esxi.password_present:
240736                     - password: 'new-bad-password'
240737
240738       salt.states.esxi.ssh_configured(name,  service_running,   ssh_key=None,
240739       ssh_key_file=None, service_policy=None, service_restart=False, certifi‐
240740       cate_verify=False)
240741              Manage the SSH configuration for a host including whether or not
240742              SSH  is  running  or the presence of a given SSH key. Note: Only
240743              one ssh key can be uploaded for root.  Uploading  a  second  key
240744              will replace any existing key.
240745
240746              name   Name of the state.
240747
240748              service_running
240749                     Ensures  whether or not the SSH service should be running
240750                     on a host. Represented as  a  boolean  value  where  True
240751                     indicates  that SSH should be running and False indicates
240752                     that SSH should stopped.
240753
240754                     In order to update SSH keys, the SSH service must be run‐
240755                     ning.
240756
240757              ssh_key
240758                     Public  SSH  key  to added to the authorized_keys file on
240759                     the ESXi host. You can use ssh_key or  ssh_key_file,  but
240760                     not both.
240761
240762              ssh_key_file
240763                     File  containing  the  public  SSH key to be added to the
240764                     authorized_keys file  on  the  ESXi  host.  You  can  use
240765                     ssh_key_file or ssh_key, but not both.
240766
240767              service_policy
240768                     The policy to set for the NTP service.
240769
240770                     NOTE:
240771                        When setting the service policy to off or on, you must
240772                        quote the setting. If you don't, the yaml parser  will
240773                        set  the string to a boolean, which will cause trouble
240774                        checking for stateful changes and will error when try‐
240775                        ing to set the policy on the ESXi host.
240776
240777              service_restart
240778                     If  set  to  True,  the  SSH  service  will be restarted,
240779                     regardless of its  previous  running  state.  Default  is
240780                     False.
240781
240782              certificate_verify
240783                     If  set  to True, the SSL connection must present a valid
240784                     certificate.  Default is False.
240785
240786              Example:
240787
240788                 configure-host-ssh:
240789                   esxi.ssh_configured:
240790                     - service_running: True
240791                     - ssh_key_file: /etc/salt/ssh_keys/my_key.pub
240792                     - service_policy: 'on'
240793                     - service_restart: True
240794                     - certificate_verify: True
240795
240796       salt.states.esxi.syslog_configured(name, syslog_configs, firewall=True,
240797       reset_service=True, reset_syslog_config=False, reset_configs=None)
240798              Ensures   the  specified  syslog  configuration  parameters.  By
240799              default, this state will reset the syslog service after any  new
240800              or changed parameters are set successfully.
240801
240802              name   Name of the state.
240803
240804              syslog_configs
240805                     Name of parameter to set (corresponds to the command line
240806                     switch for esxcli without the double dashes (--))
240807
240808                     Valid   syslog_config   values   are   logdir,   loghost,
240809                     logdir-unique,    default-rotate,    default-size,    and
240810                     default-timeout.
240811
240812                     Each syslog_config  option  also  needs  a  configuration
240813                     value  to  set.  For example, loghost requires URLs or IP
240814                     addresses to use for logging. Multiple log servers can be
240815                     specified  by  listing them, comma-separated, but without
240816                     spaces before or after commas
240817
240818                     (reference:
240819                     https://blogs.vmware.com/vsphere/2012/04/configuring-multiple-syslog-servers-for-esxi-5.html)
240820
240821              firewall
240822                     Enable the firewall rule  set  for  syslog.  Defaults  to
240823                     True.
240824
240825              reset_service
240826                     After  a  successful  parameter  set,  reset the service.
240827                     Defaults to True.
240828
240829              reset_syslog_config
240830                     Resets the  syslog  service  to  it's  default  settings.
240831                     Defaults  to  False.   If  set  to True, default settings
240832                     defined by the list of syslog  configs  in  reset_configs
240833                     will be reset before running any other syslog settings.
240834
240835              reset_configs
240836                     A  comma-delimited list of parameters to reset. Only runs
240837                     if reset_syslog_config is  set  to  True.  If  reset_sys‐
240838                     log_config  is  set  to  True,  but no syslog configs are
240839                     listed in reset_configs, then reset_configs will  be  set
240840                     to all by default.
240841
240842                     See  syslog_configs  parameter  above for a list of valid
240843                     options.
240844
240845              Example:
240846
240847                 configure-host-syslog:
240848                   esxi.syslog_configured:
240849                     - syslog_configs:
240850                         loghost: ssl://localhost:5432,tcp://10.1.0.1:1514
240851                         default-timeout: 120
240852                     - firewall: True
240853                     - reset_service: True
240854                     - reset_syslog_config: True
240855                     - reset_configs: loghost,default-timeout
240856
240857       salt.states.esxi.vmotion_configured(name, enabled, device=u'vmk0')
240858              Configures a host's VMotion properties such as enabling  VMotion
240859              and setting the device VirtualNic that VMotion will use.
240860
240861              name   Name of the state.
240862
240863              enabled
240864                     Ensures  whether  or  not  VMotion should be enabled on a
240865                     host as a boolean value where True indicates that VMotion
240866                     should be enabled and False indicates that VMotion should
240867                     be disabled.
240868
240869              device The device that uniquely identifies the  VirtualNic  that
240870                     will be used for VMotion for the host. Defaults to vmk0.
240871
240872              Example:
240873
240874                 configure-vmotion:
240875                   esxi.vmotion_configured:
240876                     - enabled: True
240877                     - device: sample-device
240878
240879       salt.states.esxi.vsan_configured(name,                         enabled,
240880       add_disks_to_vsan=False)
240881              Configures a host's VSAN properties such  as  enabling  or  dis‐
240882              abling  VSAN,  or  adding VSAN-eligible disks to the VSAN system
240883              for the host.
240884
240885              name   Name of the state.
240886
240887              enabled
240888                     Ensures whether or not VSAN should be enabled on  a  host
240889                     as  a boolean value where True indicates that VSAN should
240890                     be enabled and False indicates that VSAN should  be  dis‐
240891                     abled.
240892
240893              add_disks_to_vsan
240894                     If  set  to  True,  any VSAN-eligible disks for the given
240895                     host will be added to the host's VSAN system. Default  is
240896                     False.
240897
240898              Example:
240899
240900                 configure-host-vsan:
240901                   esxi.vsan_configured:
240902                     - enabled: True
240903                     - add_disks_to_vsan: True
240904
240905   salt.states.event
240906       Send events through Salt's event system during state runs
240907
240908       salt.states.event.send(name,  data=None,  preload=None, with_env=False,
240909       with_grains=False, with_pillar=False, show_changed=True, **kwargs)
240910              Send an event to the Salt Master
240911
240912              New in version 2014.7.0.
240913
240914
240915              Accepts the same arguments as the event.send execution module of
240916              the same name, with the additional argument:
240917
240918              Parameters
240919                     show_changed  -- If True, state will show as changed with
240920                     the data argument as the change value. If False, shows as
240921                     unchanged.
240922
240923              Example:
240924
240925                 # ...snip bunch of states above
240926
240927                 mycompany/mystaterun/status/update:
240928                   event.send:
240929                     - data:
240930                         status: "Half-way through the state run!"
240931
240932                 # ...snip bunch of states below
240933
240934       salt.states.event.wait(name, sfun=None)
240935              Fire  an  event  on  the  Salt master event bus if called from a
240936              watch statement
240937
240938              New in version 2014.7.0.
240939
240940
240941              Example:
240942
240943                 # Stand up a new web server.
240944                 apache:
240945                   pkg:
240946                     - installed
240947                     - name: httpd
240948                   service:
240949                     - running
240950                     - enable: True
240951                     - name: httpd
240952
240953                 # Notify the load balancer to update the pool once Apache is running.
240954                 refresh_pool:
240955                   event:
240956                     - wait
240957                     - name: mycompany/loadbalancer/pool/update
240958                     - data:
240959                         new_web_server_ip: {{ grains['ipv4'] | first() }}
240960                     - watch:
240961                       - pkg: apache
240962
240963   salt.states.file
240964   Operations on regular files, special files, directories, and symlinks
240965       Salt States can aggressively manipulate files on a system. There are  a
240966       number of ways in which files can be managed.
240967
240968       Regular  files  can be enforced with the file.managed state. This state
240969       downloads files from the salt master and places them on the target sys‐
240970       tem. Managed files can be rendered as a jinja, mako, or wempy template,
240971       adding  a  dynamic  component  to  file  management.   An  example   of
240972       file.managed  which makes use of the jinja templating system would look
240973       like this:
240974
240975          /etc/http/conf/http.conf:
240976            file.managed:
240977              - source: salt://apache/http.conf
240978              - user: root
240979              - group: root
240980              - mode: 644
240981              - attrs: ai
240982              - template: jinja
240983              - defaults:
240984                  custom_var: "default value"
240985                  other_var: 123
240986          {% if grains['os'] == 'Ubuntu' %}
240987              - context:
240988                  custom_var: "override"
240989          {% endif %}
240990
240991       It is also possible to use the py renderer as a templating option.  The
240992       template  would  be a Python script which would need to contain a func‐
240993       tion called run(), which returns a string. All arguments to  the  state
240994       will  be  made  available to the Python script as globals. The returned
240995       string will be the contents of the managed file. For example:
240996
240997          def run():
240998              lines = ['foo', 'bar', 'baz']
240999              lines.extend([source, name, user, context])  # Arguments as globals
241000              return '\n\n'.join(lines)
241001
241002       NOTE:
241003          The defaults and context arguments require extra  indentation  (four
241004          spaces  instead  of the normal two) in order to create a nested dic‐
241005          tionary.  More information.
241006
241007       If using a template, any user-defined template variables  in  the  file
241008       defined  in  source must be passed in using the defaults and/or context
241009       arguments. The general best practice is  to  place  default  values  in
241010       defaults, with conditional overrides going into context, as seen above.
241011
241012       The  template  will  receive  a  variable  custom_var,  which  would be
241013       accessed in the template using {{ custom_var }}. If the operating  sys‐
241014       tem  is Ubuntu, the value of the variable custom_var would be override,
241015       otherwise it is the default default value
241016
241017       The source parameter can be specified as a list. If this is done,  then
241018       the  first file to be matched will be the one that is used. This allows
241019       you to have a default file on which to fall back if  the  desired  file
241020       does not exist on the salt fileserver. Here's an example:
241021
241022          /etc/foo.conf:
241023            file.managed:
241024              - source:
241025                - salt://foo.conf.{{ grains['fqdn'] }}
241026                - salt://foo.conf.fallback
241027              - user: foo
241028              - group: users
241029              - mode: 644
241030              - attrs: i
241031              - backup: minion
241032
241033       NOTE:
241034          Salt  supports  backing  up managed files via the backup option. For
241035          more details on this functionality  please  review  the  backup_mode
241036          documentation.
241037
241038       The  source  parameter can also specify a file in another Salt environ‐
241039       ment.  In this example foo.conf in the dev  environment  will  be  used
241040       instead.
241041
241042          /etc/foo.conf:
241043            file.managed:
241044              - source:
241045                - 'salt://foo.conf?saltenv=dev'
241046              - user: foo
241047              - group: users
241048              - mode: '0644'
241049              - attrs: i
241050
241051       WARNING:
241052          When  using  a  mode  that includes a leading zero you must wrap the
241053          value in single quotes. If the value is not  wrapped  in  quotes  it
241054          will be read by YAML as an integer and evaluated as an octal.
241055
241056       The  names  parameter, which is part of the state compiler, can be used
241057       to expand the contents of a single  state  declaration  into  multiple,
241058       single state declarations. Each item in the names list receives its own
241059       individual state name and is converted into its own low-data structure.
241060       This  is  a  convenient  way  to  manage  several  files  with  similar
241061       attributes.
241062
241063          salt_master_conf:
241064            file.managed:
241065              - user: root
241066              - group: root
241067              - mode: '0644'
241068              - names:
241069                - /etc/salt/master.d/master.conf:
241070                  - source: salt://saltmaster/master.conf
241071                - /etc/salt/minion.d/minion-99.conf:
241072                  - source: salt://saltmaster/minion.conf
241073
241074       NOTE:
241075          There is more documentation about this feature in the Names declara‐
241076          tion section of the Highstate docs.
241077
241078       Special files can be managed via the mknod function. This function will
241079       create and enforce the permissions on a special file. The function sup‐
241080       ports the creation of character devices, block devices, and FIFO pipes.
241081       The function will create the directory structure up to the special file
241082       if it is needed on the minion. The function will not overwrite or oper‐
241083       ate on (change major/minor numbers) existing  special  files  with  the
241084       exception  of  user, group, and permissions. In most cases the creation
241085       of some special files require root  permissions  on  the  minion.  This
241086       would  require  that  the minion to be run as the root user. Here is an
241087       example of a character device:
241088
241089          /var/named/chroot/dev/random:
241090            file.mknod:
241091              - ntype: c
241092              - major: 1
241093              - minor: 8
241094              - user: named
241095              - group: named
241096              - mode: 660
241097
241098       Here is an example of a block device:
241099
241100          /var/named/chroot/dev/loop0:
241101            file.mknod:
241102              - ntype: b
241103              - major: 7
241104              - minor: 0
241105              - user: named
241106              - group: named
241107              - mode: 660
241108
241109       Here is an example of a fifo pipe:
241110
241111          /var/named/chroot/var/log/logfifo:
241112            file.mknod:
241113              - ntype: p
241114              - user: named
241115              - group: named
241116              - mode: 660
241117
241118       Directories can be managed via the directory  function.  This  function
241119       can  create  and  enforce  the  permissions on a directory. A directory
241120       statement will look like this:
241121
241122          /srv/stuff/substuf:
241123            file.directory:
241124              - user: fred
241125              - group: users
241126              - mode: 755
241127              - makedirs: True
241128
241129       If you need to enforce  user  and/or  group  ownership  or  permissions
241130       recursively  on  the  directory's  contents,  you can do so by adding a
241131       recurse directive:
241132
241133          /srv/stuff/substuf:
241134            file.directory:
241135              - user: fred
241136              - group: users
241137              - mode: 755
241138              - makedirs: True
241139              - recurse:
241140                - user
241141                - group
241142                - mode
241143
241144       As a default, mode will resolve to dir_mode and file_mode,  to  specify
241145       both directory and file permissions, use this form:
241146
241147          /srv/stuff/substuf:
241148            file.directory:
241149              - user: fred
241150              - group: users
241151              - file_mode: 744
241152              - dir_mode: 755
241153              - makedirs: True
241154              - recurse:
241155                - user
241156                - group
241157                - mode
241158
241159       Symlinks can be easily created; the symlink function is very simple and
241160       only takes a few arguments:
241161
241162          /etc/grub.conf:
241163            file.symlink:
241164              - target: /boot/grub/grub.conf
241165
241166       Recursive directory management can also be set via  the  recurse  func‐
241167       tion. Recursive directory management allows for a directory on the salt
241168       master to be recursively copied down to the minion.  This  is  a  great
241169       tool  for deploying large code and configuration systems. A state using
241170       recurse would look something like this:
241171
241172          /opt/code/flask:
241173            file.recurse:
241174              - source: salt://code/flask
241175              - include_empty: True
241176
241177       A more complex recurse example:
241178
241179          {% set site_user = 'testuser' %}
241180          {% set site_name = 'test_site' %}
241181          {% set project_name = 'test_proj' %}
241182          {% set sites_dir = 'test_dir' %}
241183
241184          django-project:
241185            file.recurse:
241186              - name: {{ sites_dir }}/{{ site_name }}/{{ project_name }}
241187              - user: {{ site_user }}
241188              - dir_mode: 2775
241189              - file_mode: '0644'
241190              - template: jinja
241191              - source: salt://project/templates_dir
241192              - include_empty: True
241193
241194       Retention scheduling can be applied to manage contents of backup direc‐
241195       tories.  For example:
241196
241197          /var/backups/example_directory:
241198            file.retention_schedule:
241199              - strptime_format: example_name_%Y%m%dT%H%M%S.tar.bz2
241200              - retain:
241201                  most_recent: 5
241202                  first_of_hour: 4
241203                  first_of_day: 14
241204                  first_of_week: 6
241205                  first_of_month: 6
241206                  first_of_year: all
241207
241208       salt.states.file.absent(name, **kwargs)
241209              Make  sure  that  the  named  file or directory is absent. If it
241210              exists, it will be deleted. This will work to reverse any of the
241211              functions  in the file state module. If a directory is supplied,
241212              it will be recursively deleted.
241213
241214              name   The path which should be deleted
241215
241216       salt.states.file.accumulated(name, filename, text, **kwargs)
241217              Prepare accumulator which can be used in template  in  file.man‐
241218              aged  state.   Accumulator  dictionary becomes available in tem‐
241219              plate. It can also be used in file.blockreplace.
241220
241221              name   Accumulator name
241222
241223              filename
241224                     Filename  which  would  receive  this  accumulator   (see
241225                     file.managed state documentation about name)
241226
241227              text   String or list for adding in accumulator
241228
241229              require_in / watch_in
241230                     One  of  them  required  for  sure we fill up accumulator
241231                     before we manage the file. Probably the same as filename
241232
241233              Example:
241234
241235              Given the following:
241236
241237                 animals_doing_things:
241238                   file.accumulated:
241239                     - filename: /tmp/animal_file.txt
241240                     - text: ' jumps over the lazy dog.'
241241                     - require_in:
241242                       - file: animal_file
241243
241244                 animal_file:
241245                   file.managed:
241246                     - name: /tmp/animal_file.txt
241247                     - source: salt://animal_file.txt
241248                     - template: jinja
241249
241250              One might write a template for animal_file.txt like the  follow‐
241251              ing:
241252
241253                 The quick brown fox{% for animal in accumulator['animals_doing_things'] %}{{ animal }}{% endfor %}
241254
241255              Collectively, the above states and template file will produce:
241256
241257                 The quick brown fox jumps over the lazy dog.
241258
241259              Multiple accumulators can be "chained" together.
241260
241261              NOTE:
241262                 The  'accumulator' data structure is a Python dictionary.  Do
241263                 not expect any loop over the keys in a deterministic order!
241264
241265       salt.states.file.append(name, text=None,  makedirs=False,  source=None,
241266       source_hash=None,  template=u'jinja', sources=None, source_hashes=None,
241267       defaults=None, context=None, ignore_whitespace=True)
241268              Ensure that some text appears at the end of a file.
241269
241270              The text will not be appended if it already exists in the  file.
241271              A single string of text or a list of strings may be appended.
241272
241273              name   The location of the file to append to.
241274
241275              text   The  text to be appended, which can be a single string or
241276                     a list of strings.
241277
241278              makedirs
241279                     If the file is located in a path without a parent  direc‐
241280                     tory,  then  the  state  will fail. If makedirs is set to
241281                     True, then the parent  directories  will  be  created  to
241282                     facilitate  the  creation  of the named file. Defaults to
241283                     False.
241284
241285              source A single source file to append. This source file  can  be
241286                     hosted on either the salt master server, or on an HTTP or
241287                     FTP server. Both HTTPS and HTTP are supported as well  as
241288                     downloading  directly from Amazon S3 compatible URLs with
241289                     both pre-configured and automatic  IAM  credentials  (see
241290                     s3.get  state  documentation).  File retrieval from Open‐
241291                     stack Swift object storage is supported via  swift://con‐
241292                     tainer/object_path URLs (see swift.get documentation).
241293
241294                     For  files hosted on the salt file server, if the file is
241295                     located on the master in the directory named spam, and is
241296                     called eggs, the source string is salt://spam/eggs.
241297
241298                     If  the  file  is  hosted  on  an HTTP or FTP server, the
241299                     source_hash argument is also required.
241300
241301              source_hash
241302
241303                     This can be one of the following:
241304
241305                            1. a source hash string
241306
241307                            2. the URI of a file  that  contains  source  hash
241308                               strings
241309
241310                     The  function accepts the first encountered long unbroken
241311                     alphanumeric string of correct length as a valid hash, in
241312                     order from most secure to least secure:
241313
241314                        Type    Length
241315                        ======  ======
241316                        sha512     128
241317                        sha384      96
241318                        sha256      64
241319                        sha224      56
241320                        sha1        40
241321                        md5         32
241322
241323                     See    the    source_hash   parameter   description   for
241324                     file.managed function for more details and examples.
241325
241326              template
241327                     The named templating engine will be used  to  render  the
241328                     appended-to  file.  Defaults to jinja. The following tem‐
241329                     plates are supported:
241330
241331                     · cheetah
241332
241333                     · genshi
241334
241335                     · jinja
241336
241337                     · mako
241338
241339                     · py
241340
241341                     · wempy
241342
241343              sources
241344                     A list of source files to append. If the files are hosted
241345                     on  an  HTTP or FTP server, the source_hashes argument is
241346                     also required.
241347
241348              source_hashes
241349                     A list of source_hashes corresponding to the sources list
241350                     specified in the sources argument.
241351
241352              defaults
241353                     Default context passed to the template.
241354
241355              context
241356                     Overrides  default  context  variables passed to the tem‐
241357                     plate.
241358
241359              ignore_whitespace
241360                     New in version 2015.8.4.
241361
241362
241363                     Spaces and Tabs in text  are  ignored  by  default,  when
241364                     searching  for the appending content, one space or multi‐
241365                     ple tabs are the same for salt.  Set this option to False
241366                     if you want to change this behavior.
241367
241368              Multi-line example:
241369
241370                 /etc/motd:
241371                   file.append:
241372                     - text: |
241373                         Thou hadst better eat salt with the Philosophers of Greece,
241374                         than sugar with the Courtiers of Italy.
241375                         - Benjamin Franklin
241376
241377              Multiple lines of text:
241378
241379                 /etc/motd:
241380                   file.append:
241381                     - text:
241382                       - Trust no one unless you have eaten much salt with him.
241383                       - "Salt is born of the purest of parents: the sun and the sea."
241384
241385              Gather text from multiple template files:
241386
241387                 /etc/motd:
241388                   file:
241389                     - append
241390                     - template: jinja
241391                     - sources:
241392                       - salt://motd/devops-messages.tmpl
241393                       - salt://motd/hr-messages.tmpl
241394                       - salt://motd/general-messages.tmpl
241395
241396              New in version 0.9.5.
241397
241398
241399       salt.states.file.blockreplace(name,  marker_start=u'#--  start  managed
241400       zone  --',  marker_end=u'#--  end  managed   zone   --',   source=None,
241401       source_hash=None,  template=u'jinja', sources=None, source_hashes=None,
241402       defaults=None,  context=None,  content=u'',  append_if_not_found=False,
241403       prepend_if_not_found=False,      backup=u'.bak',     show_changes=True,
241404       append_newline=None)
241405              Maintain an edit in a file in a zone delimited by two line mark‐
241406              ers
241407
241408              New in version 2014.1.0.
241409
241410
241411              Changed  in  version  2017.7.5,2018.3.1: append_newline argument
241412              added. Additionally, to improve idempotence, if the string  rep‐
241413              resented  by  marker_end is found in the middle of the line, the
241414              content preceding the marker will be removed when the  block  is
241415              replaced.  This  allows one to remove append_newline: False from
241416              the SLS and have the block properly replaced if the end  of  the
241417              content block is immediately followed by the marker_end (i.e. no
241418              newline before the marker).
241419
241420
241421              A block of content delimited by comments  can  help  you  manage
241422              several   lines  entries  without  worrying  about  old  entries
241423              removal. This can help you maintaining an un-managed  file  con‐
241424              taining manual edits.
241425
241426              NOTE:
241427                 This  function  will  store  two copies of the file in-memory
241428                 (the original version and the edited  version)  in  order  to
241429                 detect changes and only edit the targeted file if necessary.
241430
241431                 Additionally,  you  can  use file.accumulated and target this
241432                 state. All accumulated data  dictionaries'  content  will  be
241433                 added in the content block.
241434
241435              name   Filesystem path to the file to be edited
241436
241437              marker_start
241438                     The  line  content identifying a line as the start of the
241439                     content block.  Note that the whole line containing  this
241440                     marker will be considered, so whitespace or extra content
241441                     before or after the marker is included in final output
241442
241443              marker_end
241444                     The line content  identifying  the  end  of  the  content
241445                     block.  As  of versions 2017.7.5 and 2018.3.1, everything
241446                     up to the text matching the marker will be  replaced,  so
241447                     it's  important  to  ensure that your marker includes the
241448                     beginning of the text you wish to replace.
241449
241450              content
241451                     The content to be used between the two  lines  identified
241452                     by marker_start and marker_end
241453
241454              source The  source  file  to download to the minion, this source
241455                     file can be hosted on either the salt master  server,  or
241456                     on  an  HTTP or FTP server.  Both HTTPS and HTTP are sup‐
241457                     ported as well as downloading  directly  from  Amazon  S3
241458                     compatible  URLs  with  both pre-configured and automatic
241459                     IAM credentials. (see s3.get  state  documentation)  File
241460                     retrieval  from  Openstack  Swift  object storage is sup‐
241461                     ported  via   swift://container/object_path   URLs,   see
241462                     swift.get  documentation.   For  files hosted on the salt
241463                     file server, if the file is located on the master in  the
241464                     directory  named  spam,  and  is  called eggs, the source
241465                     string is salt://spam/eggs. If source is  left  blank  or
241466                     None  (use  ~  in  YAML),  the file will be created as an
241467                     empty file and the content will not be managed.  This  is
241468                     also  the  case when a file already exists and the source
241469                     is undefined; the  contents  of  the  file  will  not  be
241470                     changed or managed.
241471
241472                     If  the  file  is hosted on a HTTP or FTP server then the
241473                     source_hash argument is also required.
241474
241475                     A list of sources can also be  passed  in  to  provide  a
241476                     default  source  and a set of fallbacks. The first source
241477                     in the list that is found to exist will be used and  sub‐
241478                     sequent entries in the list will be ignored.
241479
241480                        file_override_example:
241481                          file.blockreplace:
241482                            - name: /etc/example.conf
241483                            - source:
241484                              - salt://file_that_does_not_exist
241485                              - salt://file_that_exists
241486
241487              source_hash
241488
241489                     This can be one of the following:
241490
241491                            1. a source hash string
241492
241493                            2. the  URI  of  a  file that contains source hash
241494                               strings
241495
241496                     The function accepts the first encountered long  unbroken
241497                     alphanumeric string of correct length as a valid hash, in
241498                     order from most secure to least secure:
241499
241500                        Type    Length
241501                        ======  ======
241502                        sha512     128
241503                        sha384      96
241504                        sha256      64
241505                        sha224      56
241506                        sha1        40
241507                        md5         32
241508
241509                     See   the   source_hash   parameter    description    for
241510                     file.managed function for more details and examples.
241511
241512              template
241513                     jinja  Templating  engine  to be used to render the down‐
241514                     loaded file. The following engines are supported:
241515
241516                     · cheetah
241517
241518                     · genshi
241519
241520                     · jinja
241521
241522                     · mako
241523
241524                     · py
241525
241526                     · wempy
241527
241528              context
241529                     Overrides default context variables passed  to  the  tem‐
241530                     plate
241531
241532              defaults
241533                     Default context passed to the template
241534
241535              append_if_not_found
241536                     False  If markers are not found and this option is set to
241537                     True, the content block will be appended to the file.
241538
241539              prepend_if_not_found
241540                     False If markers are not found and this option is set  to
241541                     True, the content block will be prepended to the file.
241542
241543              backup The file extension to use for a backup of the file if any
241544                     edit is made.  Set this to False to skip making a backup.
241545
241546              dry_run
241547                     False If True, do not make any edits to the file and sim‐
241548                     ply return the changes that would be made.
241549
241550              show_changes
241551                     True  Controls  how  changes  are presented. If True, the
241552                     Changes section of the state return will contain  a  uni‐
241553                     fied  diff  of  the  changes made. If False, then it will
241554                     contain a boolean (True if any changes were made,  other‐
241555                     wise False).
241556
241557              append_newline
241558                     Controls whether or not a newline is appended to the con‐
241559                     tent block. If the value of this argument is True then  a
241560                     newline  will  be  added  to  the content block. If it is
241561                     False, then a newline will not be added  to  the  content
241562                     block.  If it is unspecified, then a newline will only be
241563                     added to the content block if it does not already end  in
241564                     a newline.
241565
241566                     New in version 2017.7.5,2018.3.1.
241567
241568
241569              Example of usage with an accumulator and with a variable:
241570
241571                 {% set myvar = 42 %}
241572                 hosts-config-block-{{ myvar }}:
241573                   file.blockreplace:
241574                     - name: /etc/hosts
241575                     - marker_start: "# START managed zone {{ myvar }} -DO-NOT-EDIT-"
241576                     - marker_end: "# END managed zone {{ myvar }} --"
241577                     - content: 'First line of content'
241578                     - append_if_not_found: True
241579                     - backup: '.bak'
241580                     - show_changes: True
241581
241582                 hosts-config-block-{{ myvar }}-accumulated1:
241583                   file.accumulated:
241584                     - filename: /etc/hosts
241585                     - name: my-accumulator-{{ myvar }}
241586                     - text: "text 2"
241587                     - require_in:
241588                       - file: hosts-config-block-{{ myvar }}
241589
241590                 hosts-config-block-{{ myvar }}-accumulated2:
241591                   file.accumulated:
241592                     - filename: /etc/hosts
241593                     - name: my-accumulator-{{ myvar }}
241594                     - text: |
241595                          text 3
241596                          text 4
241597                     - require_in:
241598                       - file: hosts-config-block-{{ myvar }}
241599
241600              will generate and maintain a block of content in /etc/hosts:
241601
241602                 # START managed zone 42 -DO-NOT-EDIT-
241603                 First line of content
241604                 text 2
241605                 text 3
241606                 text 4
241607                 # END managed zone 42 --
241608
241609       salt.states.file.cached(name,  source_hash=u'',  source_hash_name=None,
241610       skip_verify=False, saltenv=u'base')
241611              New in version 2017.7.3.
241612
241613
241614              Ensures that a file is saved to the minion's cache.  This  state
241615              is  primarily  invoked  by other states to ensure that we do not
241616              re-download a source file if we do not need to.
241617
241618              name   The URL of the file to be cached. To cache a file from an
241619                     environment other than base, either use the saltenv argu‐
241620                     ment  or  include  the   saltenv   in   the   URL   (e.g.
241621                     salt://path/to/file.conf?saltenv=dev).
241622
241623                     NOTE:
241624                        A list of URLs is not supported, this must be a single
241625                        URL. If a local file is passed here,  then  the  state
241626                        will  obviously  not  try to download anything, but it
241627                        will compare a hash if one is specified.
241628
241629              source_hash
241630                     See the documentation  for  this  same  argument  in  the
241631                     file.managed state.
241632
241633                     NOTE:
241634                        For  remote  files  not  originating  from the salt://
241635                        fileserver, such as http(s) or ftp servers, this state
241636                        will  not  re-download  the file if the locally-cached
241637                        copy matches this hash. This is done to prevent unnec‐
241638                        essary  downloading on repeated runs of this state. To
241639                        update the cached copy of a file, it is  necessary  to
241640                        update this hash.
241641
241642              source_hash_name
241643                     See  the  documentation  for  this  same  argument in the
241644                     file.managed state.
241645
241646              skip_verify
241647                     See the documentation  for  this  same  argument  in  the
241648                     file.managed state.
241649
241650                     NOTE:
241651                        Setting this to True will result in a copy of the file
241652                        being downloaded from a remote  (http(s),  ftp,  etc.)
241653                        source each time the state is run.
241654
241655              saltenv
241656                     Used  to specify the environment from which to download a
241657                     file from the Salt fileserver (i.e.  those  with  salt://
241658                     URL).
241659
241660              This state will in most cases not be useful in SLS files, but it
241661              is useful when writing a state or remote-execution  module  that
241662              needs  to  make  sure  that a file at a given URL has been down‐
241663              loaded to the cachedir. One  example  of  this  is  in  the  ar‐
241664              chive.extracted state:
241665
241666                 result = __states__['file.cached'](source_match,
241667                                                    source_hash=source_hash,
241668                                                    source_hash_name=source_hash_name,
241669                                                    skip_verify=skip_verify,
241670                                                    saltenv=__env__)
241671
241672              This  will  return  a  dictionary  containing the state's return
241673              data, including a result key which will state whether or not the
241674              state was successful.  Note that this will not catch exceptions,
241675              so it is best used within a try/except.
241676
241677              Once this state has  been  run  from  within  another  state  or
241678              remote-execution  module, the actual location of the cached file
241679              can be obtained using cp.is_cached:
241680
241681                 cached = __salt__['cp.is_cached'](source_match, saltenv=__env__)
241682
241683              This function will return the cached path of  the  file,  or  an
241684              empty string if the file is not present in the minion cache.
241685
241686       salt.states.file.comment(name, regex, char=u'#', backup=u'.bak')
241687              Comment out specified lines in a file.
241688
241689              name   The full path to the file to be edited
241690
241691              regex  A  regular  expression used to find the lines that are to
241692                     be commented; this pattern will be wrapped in parenthesis
241693                     and  will  move  any preceding/trailing ^ or $ characters
241694                     outside the parenthesis (e.g., the pattern ^foo$ will  be
241695                     rewritten as ^(foo)$) Note that you _need_ the leading ^,
241696                     otherwise each time you run  highstate,  another  comment
241697                     char will be inserted.
241698
241699              char   # The character to be inserted at the beginning of a line
241700                     in order to comment it out
241701
241702              backup .bak The file will be backed up  before  edit  with  this
241703                     file extension
241704
241705                     WARNING:
241706                        This  backup  will be overwritten each time sed / com‐
241707                        ment / uncomment is called. Meaning  the  backup  will
241708                        only be useful after the first invocation.
241709
241710                     Set to False/None to not keep a backup.
241711
241712              Usage:
241713
241714                 /etc/fstab:
241715                   file.comment:
241716                     - regex: ^bind 127.0.0.1
241717
241718              New in version 0.9.5.
241719
241720
241721       salt.states.file.copy_(name,  source, force=False, makedirs=False, pre‐
241722       serve=False, user=None, group=None, mode=None, subdir=False, **kwargs)
241723              If the file defined by the source option exists on  the  minion,
241724              copy  it  to the named path. The file will not be overwritten if
241725              it already exists, unless the force option is set to True.
241726
241727              NOTE:
241728                 This state only copies files from one location on a minion to
241729                 another  location  on the same minion. For copying files from
241730                 the master, use a file.managed state.
241731
241732              name   The location of the file to copy to
241733
241734              source The location of the file to copy to the  location  speci‐
241735                     fied with name
241736
241737              force  If  the target location is present then the file will not
241738                     be moved, specify "force: True" to overwrite  the  target
241739                     file
241740
241741              makedirs
241742                     If the target subdirectories don't exist create them
241743
241744              preserve
241745                     New in version 2015.5.0.
241746
241747
241748                     Set  preserve:  True to preserve user/group ownership and
241749                     mode after copying. Default is False. If preserve is  set
241750                     to True, then user/group/mode attributes will be ignored.
241751
241752              user   New in version 2015.5.0.
241753
241754
241755                     The  user  to  own  the copied file, this defaults to the
241756                     user salt is running as on the minion. If preserve is set
241757                     to True, then this will be ignored
241758
241759              group  New in version 2015.5.0.
241760
241761
241762                     The  group  to  own the copied file, this defaults to the
241763                     group salt is running as on the minion.  If  preserve  is
241764                     set to True or on Windows this will be ignored
241765
241766              mode   New in version 2015.5.0.
241767
241768
241769                     The  permissions  to  set  on  the  copied file, aka 644,
241770                     '0775', '4664'.  If preserve is set to  True,  then  this
241771                     will be ignored.  Not supported on Windows.
241772
241773                     The  default  mode  for  new files and directories corre‐
241774                     sponds umask of salt  process.  For  existing  files  and
241775                     directories it's not enforced.
241776
241777              subdir New in version 2015.5.0.
241778
241779
241780                     If the name is a directory then place the file inside the
241781                     named directory
241782
241783              NOTE:
241784                 The copy function accepts paths that are local  to  the  Salt
241785                 minion.   This function does not support salt://, http://, or
241786                 the  other  additional  file  paths  that  are  supported  by
241787                 states.file.managed and states.file.recurse.
241788
241789       salt.states.file.decode(name,  encoded_data=None, contents_pillar=None,
241790       encoding_type=u'base64', checksum=u'md5')
241791              Decode an encoded file and write it to disk
241792
241793              New in version 2016.3.0.
241794
241795
241796              name   Path of the file to be written.
241797
241798              encoded_data
241799                     The encoded file. Either this option  or  contents_pillar
241800                     must be specified.
241801
241802              contents_pillar
241803                     A  Pillar  path  to  the encoded file. Uses the same path
241804                     syntax  as  pillar.get.  The   hashutil.base64_encodefile
241805                     function  can  load  encoded  content into Pillar. Either
241806                     this option or encoded_data must be specified.
241807
241808              encoding_type
241809                     base64 The type of encoding.
241810
241811              checksum
241812                     md5 The hashing algorithm to use to  generate  checksums.
241813                     Wraps the hashutil.digest execution function.
241814
241815              Usage:
241816
241817                 write_base64_encoded_string_to_a_file:
241818                   file.decode:
241819                     - name: /tmp/new_file
241820                     - encoding_type: base64
241821                     - contents_pillar: mypillar:thefile
241822
241823                 # or
241824
241825                 write_base64_encoded_string_to_a_file:
241826                   file.decode:
241827                     - name: /tmp/new_file
241828                     - encoding_type: base64
241829                     - encoded_data: |
241830                         Z2V0IHNhbHRlZAo=
241831
241832              Be  careful with multi-line strings that the YAML indentation is
241833              correct.  E.g.,
241834
241835                 write_base64_encoded_string_to_a_file:
241836                   file.decode:
241837                     - name: /tmp/new_file
241838                     - encoding_type: base64
241839                     - encoded_data: |
241840                         {{ salt.pillar.get('path:to:data') | indent(8) }}
241841
241842       salt.states.file.directory(name, user=None,  group=None,  recurse=None,
241843       max_depth=None,    dir_mode=None,    file_mode=None,    makedirs=False,
241844       clean=False,  require=None,  exclude_pat=None,   follow_symlinks=False,
241845       force=False,  backupname=None, allow_symlink=True, children_only=False,
241846       win_owner=None,   win_perms=None,   win_deny_perms=None,    win_inheri‐
241847       tance=True, win_perms_reset=False, **kwargs)
241848              Ensure that a named directory is present and has the right perms
241849
241850              name   The location to create or manage a directory, as an abso‐
241851                     lute path
241852
241853              user   The user to own the directory; this defaults to the  user
241854                     salt is running as on the minion
241855
241856              group  The  group ownership set for the directory; this defaults
241857                     to the group salt is running as on the  minion.  On  Win‐
241858                     dows, this is ignored
241859
241860              recurse
241861                     Enforce user/group ownership and mode of directory recur‐
241862                     sively. Accepts a list of strings representing  what  you
241863                     would  like to recurse.  If mode is defined, will recurse
241864                     on both file_mode and dir_mode if they are  defined.   If
241865                     ignore_files  or ignore_dirs is included, files or direc‐
241866                     tories will be left unchanged respectively.  Example:
241867
241868                        /var/log/httpd:
241869                          file.directory:
241870                            - user: root
241871                            - group: root
241872                            - dir_mode: 755
241873                            - file_mode: 644
241874                            - recurse:
241875                              - user
241876                              - group
241877                              - mode
241878
241879                     Leave files or directories unchanged:
241880
241881                        /var/log/httpd:
241882                          file.directory:
241883                            - user: root
241884                            - group: root
241885                            - dir_mode: 755
241886                            - file_mode: 644
241887                            - recurse:
241888                              - user
241889                              - group
241890                              - mode
241891                              - ignore_dirs
241892
241893                     New in version 2015.5.0.
241894
241895
241896              max_depth
241897                     Limit the recursion depth. The default is no  limit=None.
241898                     'max_depth' and 'clean' are mutually exclusive.
241899
241900                     New in version 2016.11.0.
241901
241902
241903              dir_mode / mode
241904                     The  permissions mode to set any directories created. Not
241905                     supported on Windows.
241906
241907                     The default mode for new  files  and  directories  corre‐
241908                     sponds  umask  of  salt  process.  For existing files and
241909                     directories it's not enforced.
241910
241911              file_mode
241912                     The permissions mode to set any files created  if  'mode'
241913                     is  run in 'recurse'. This defaults to dir_mode. Not sup‐
241914                     ported on Windows.
241915
241916                     The default mode for new  files  and  directories  corre‐
241917                     sponds  umask  of  salt  process.  For existing files and
241918                     directories it's not enforced.
241919
241920              makedirs
241921                     If the directory is located in a path  without  a  parent
241922                     directory,  then  the state will fail. If makedirs is set
241923                     to True, then the parent directories will be  created  to
241924                     facilitate the creation of the named file.
241925
241926              clean  Make  sure  that  only  files that are set up by salt and
241927                     required by this function are kept. If this option is set
241928                     then  everything in this directory will be deleted unless
241929                     it is required.  'clean'  and  'max_depth'  are  mutually
241930                     exclusive.
241931
241932              require
241933                     Require other resources such as packages or files
241934
241935              exclude_pat
241936                     When  'clean'  is  set to True, exclude this pattern from
241937                     removal list and preserve in the destination.
241938
241939              follow_symlinks
241940                     False If the desired path is a  symlink  (or  recurse  is
241941                     defined  and  a  symlink is encountered while recursing),
241942                     follow it and check the permissions of the directory/file
241943                     to which the symlink points.
241944
241945                     New in version 2014.1.4.
241946
241947
241948              force  If  the  name of the directory exists and is not a direc‐
241949                     tory and force is set to False, the state will  fail.  If
241950                     force  is  set to True, the file in the way of the direc‐
241951                     tory will be deleted to  make  room  for  the  directory,
241952                     unless backupname is set, then it will be renamed.
241953
241954                     New in version 2014.7.0.
241955
241956
241957              backupname
241958                     If  the  name of the directory exists and is not a direc‐
241959                     tory, it will be renamed to the backupname. If the  back‐
241960                     upname  already exists and force is False, the state will
241961                     fail. Otherwise, the backupname will be removed first.
241962
241963                     New in version 2014.7.0.
241964
241965
241966              allow_symlink
241967                     True If allow_symlink is True and the specified path is a
241968                     symlink,  it  will be allowed to remain if it points to a
241969                     directory. If allow_symlink is False then the state  will
241970                     fail,  unless force is also set to True, in which case it
241971                     will be removed or renamed, depending on the value of the
241972                     backupname argument.
241973
241974                     New in version 2014.7.0.
241975
241976
241977              children_only
241978                     False  If  children_only  is  True  the base of a path is
241979                     excluded when performing a recursive operation.  In  case
241980                     of  /path/to/base,  base  will  be  ignored  while all of
241981                     /path/to/base/* are still operated on.
241982
241983              win_owner
241984                     None The owner of the directory. If this is  not  passed,
241985                     user  will  be  used.  If user is not passed, the account
241986                     under which Salt is running will be used.
241987
241988                     New in version 2017.7.0.
241989
241990
241991              win_perms
241992                     None A dictionary containing  permissions  to  grant  and
241993                     their   propagation.   For   example:  {'Administrators':
241994                     {'perms':          'full_control',          'applies_to':
241995                     'this_folder_only'}} Can be a single basic perm or a list
241996                     of advanced perms. perms must be specified. applies_to is
241997                     optional and defaults to this_folder_subfolder_files.
241998
241999                     New in version 2017.7.0.
242000
242001
242002              win_deny_perms
242003                     None  A  dictionary  containing  permissions  to deny and
242004                     their  propagation.   For   example:   {'Administrators':
242005                     {'perms':          'full_control',          'applies_to':
242006                     'this_folder_only'}} Can be a single basic perm or a list
242007                     of advanced perms.
242008
242009                     New in version 2017.7.0.
242010
242011
242012              win_inheritance
242013                     True  True  to inherit permissions from the parent direc‐
242014                     tory, False not to inherit permission.
242015
242016                     New in version 2017.7.0.
242017
242018
242019              win_perms_reset
242020                     False If True the  existing  DACL  will  be  cleared  and
242021                     replaced  with  the settings defined in this function. If
242022                     False, new entries will be appended to the existing DACL.
242023                     Default is False.
242024
242025                     New in version 2018.3.0.
242026
242027
242028              Here's an example using the above win_* parameters:
242029
242030                 create_config_dir:
242031                   file.directory:
242032                     - name: 'C:\config\'
242033                     - win_owner: Administrators
242034                     - win_perms:
242035                         # Basic Permissions
242036                         dev_ops:
242037                           perms: full_control
242038                         # List of advanced permissions
242039                         appuser:
242040                           perms:
242041                             - read_attributes
242042                             - read_ea
242043                             - create_folders
242044                             - read_permissions
242045                           applies_to: this_folder_only
242046                         joe_snuffy:
242047                           perms: read
242048                           applies_to: this_folder_files
242049                     - win_deny_perms:
242050                         fred_snuffy:
242051                           perms: full_control
242052                     - win_inheritance: False
242053
242054       salt.states.file.exists(name, **kwargs)
242055              Verify  that  the  named file or directory is present or exists.
242056              Ensures pre-requisites outside of Salt's purview (e.g., keytabs,
242057              private  keys,  etc.)  have  been  previously  satisfied  before
242058              deployment.
242059
242060              This function does not create the file if it doesn't  exist,  it
242061              will return an error.
242062
242063              name   Absolute path which must exist
242064
242065       salt.states.file.hardlink(name,  target,  force=False,  makedirs=False,
242066       user=None, group=None, dir_mode=None, **kwargs)
242067              Create a hard link If the file already exists and is a hard link
242068              pointing  to  any  location other than the specified target, the
242069              hard link will be replaced. If the hard link is a  regular  file
242070              or  directory  then  the state will return False. If the regular
242071              file is desired to be replaced with a hard link pass force: True
242072
242073              name   The location of the hard link to create
242074
242075              target The location that the hard link points to
242076
242077              force  If the name of the hard link exists and force is  set  to
242078                     False,  the state will fail. If force is set to True, the
242079                     file or directory in the way of the hard link  file  will
242080                     be deleted to make room for the hard link, unless backup‐
242081                     name is set, when it will be renamed
242082
242083              makedirs
242084                     If the location of the hard link does not already have  a
242085                     parent  directory  then  the  state  will  fail,  setting
242086                     makedirs to True will allow Salt  to  create  the  parent
242087                     directory
242088
242089              user   The  user  to own any directories made if makedirs is set
242090                     to true. This defaults to the user salt is running as  on
242091                     the minion
242092
242093              group  The  group  ownership  set  on  any  directories  made if
242094                     makedirs is set to true. This defaults to the group  salt
242095                     is running as on the minion. On Windows, this is ignored
242096
242097              dir_mode
242098                     If  directories  are  to  be created, passing this option
242099                     specifies the permissions for those directories.
242100
242101       salt.states.file.line(name, content=None, match=None, mode=None,  loca‐
242102       tion=None,  before=None,  after=None,  show_changes=True, backup=False,
242103       quiet=False,   indent=True,   create=False,   user=None,    group=None,
242104       file_mode=None)
242105              Line-based editing of a file.
242106
242107              New in version 2015.8.0.
242108
242109
242110              Parameters
242111
242112                     · name -- Filesystem path to the file to be edited.
242113
242114                     · content  -- Content of the line. Allowed to be empty if
242115                       mode=delete.
242116
242117                     · match --
242118
242119                       Match the target line for an action by a fragment of  a
242120                       string or regular expression.
242121
242122                       If  neither before nor after are provided, and match is
242123                       also None, match becomes the content value.
242124
242125
242126                     · mode --
242127
242128                       Defines how to  edit  a  line.  One  of  the  following
242129                       options is required:
242130
242131                       ·
242132
242133                         ensure If line does not exist, it will be added.
242134
242135                       ·
242136
242137                         replace
242138                                If line already exists, it will be replaced.
242139
242140                       ·
242141
242142                         delete Delete the line, once found.
242143
242144                       ·
242145
242146                         insert Insert a line.
242147
242148                       NOTE:
242149                          If  mode=insert is used, at least one of the follow‐
242150                          ing options must also be defined: location,  before,
242151                          or  after.  If location is used, it takes precedence
242152                          over the other two options.
242153
242154
242155                     · location --
242156
242157                       Defines where to place content in the line.  Note  this
242158                       option is only used when mode=insert is specified. If a
242159                       location is passed in, it takes  precedence  over  both
242160                       the before and after kwargs. Valid locations are:
242161
242162                       ·
242163
242164                         start  Place  the  content  at  the  beginning of the
242165                                file.
242166
242167                       ·
242168
242169                         end    Place the content at the end of the file.
242170
242171
242172                     · before -- Regular expression or an exact case-sensitive
242173                       fragment  of the string.  This option is only used when
242174                       either the ensure or insert mode is defined.
242175
242176                     · after -- Regular expression or an exact  case-sensitive
242177                       fragment  of the string.  This option is only used when
242178                       either the ensure or insert mode is defined.
242179
242180                     · show_changes --
242181
242182                       Output a unified diff of the old file and the new file.
242183                       If  False  return  a  boolean if any changes were made.
242184                       Default is True
242185
242186                       NOTE:
242187                          Using this option will store two copies of the  file
242188                          in-memory  (the original version and the edited ver‐
242189                          sion) in order to generate the diff.
242190
242191
242192                     · backup -- Create a backup of the original file with the
242193                       extension: "Year-Month-Day-Hour-Minutes-Seconds".
242194
242195                     · quiet  --  Do not raise any exceptions. E.g. ignore the
242196                       fact that the file that is tried to be edited does  not
242197                       exist and nothing really happened.
242198
242199                     · indent -- Keep indentation with the previous line. This
242200                       option is not considered when the delete mode is speci‐
242201                       fied.
242202
242203                     · create --
242204
242205                       Create an empty file if doesn't exists.
242206
242207                       New in version 2016.11.0.
242208
242209
242210
242211                     · user --
242212
242213                       The  user  to  own  the file, this defaults to the user
242214                       salt is running as on the minion.
242215
242216                       New in version 2016.11.0.
242217
242218
242219
242220                     · group --
242221
242222                       The group ownership set for the file, this defaults  to
242223                       the  group salt is running as on the minion On Windows,
242224                       this is ignored.
242225
242226                       New in version 2016.11.0.
242227
242228
242229
242230                     · file_mode --
242231
242232                       The permissions to set on this  file,  aka  644,  0775,
242233                       4664. Not supported on Windows.
242234
242235                       New in version 2016.11.0.
242236
242237
242238
242239              If  an  equal sign (=) appears in an argument to a Salt command,
242240              it is interpreted  as  a  keyword  argument  in  the  format  of
242241              key=val.  That  processing  can  be bypassed in order to pass an
242242              equal sign through to the remote shell command by manually spec‐
242243              ifying the kwarg:
242244
242245                 update_config:
242246                   file.line:
242247                     - name: /etc/myconfig.conf
242248                     - mode: ensure
242249                     - content: my key = my value
242250                     - before: somekey.*?
242251
242252       salt.states.file.managed(name,       source=None,      source_hash=u'',
242253       source_hash_name=None,   keep_source=True,    user=None,    group=None,
242254       mode=None,  attrs=None,  template=None,  makedirs=False, dir_mode=None,
242255       context=None,      replace=True,       defaults=None,       backup=u'',
242256       show_changes=True,     create=True,     contents=None,     tmp_dir=u'',
242257       tmp_ext=u'', contents_pillar=None, contents_grains=None,  contents_new‐
242258       line=True,      contents_delimiter=u':',      encoding=None,     encod‐
242259       ing_errors=u'strict',      allow_empty=True,      follow_symlinks=True,
242260       check_cmd=None,   skip_verify=False,   win_owner=None,  win_perms=None,
242261       win_deny_perms=None,    win_inheritance=True,    win_perms_reset=False,
242262       **kwargs)
242263              Manage a given file, this function allows for a file to be down‐
242264              loaded from the salt master and potentially run through  a  tem‐
242265              plating system.
242266
242267              name   The location of the file to manage, as an absolute path.
242268
242269              source The  source  file  to download to the minion, this source
242270                     file can be hosted  on  either  the  salt  master  server
242271                     (salt://),  the  salt minion local file system (/), or on
242272                     an HTTP or FTP server (http(s)://, ftp://).
242273
242274                     Both HTTPS and HTTP are supported as well as  downloading
242275                     directly   from  Amazon  S3  compatible  URLs  with  both
242276                     pre-configured and automatic IAM credentials. (see s3.get
242277                     state  documentation) File retrieval from Openstack Swift
242278                     object   storage   is    supported    via    swift://con‐
242279                     tainer/object_path  URLs,  see  swift.get  documentation.
242280                     For files hosted on the salt file server, if the file  is
242281                     located on the master in the directory named spam, and is
242282                     called eggs, the source string  is  salt://spam/eggs.  If
242283                     source  is  left  blank or None (use ~ in YAML), the file
242284                     will be created as an empty file and the content will not
242285                     be  managed.  This  is  also the case when a file already
242286                     exists and the source is undefined; the contents  of  the
242287                     file  will  not  be changed or managed. If source is left
242288                     blank or None, please also set replaced to False to  make
242289                     your intention explicit.
242290
242291                     If  the  file  is hosted on a HTTP or FTP server then the
242292                     source_hash argument is also required.
242293
242294                     A list of sources can also be  passed  in  to  provide  a
242295                     default  source  and a set of fallbacks. The first source
242296                     in the list that is found to exist will be used and  sub‐
242297                     sequent  entries in the list will be ignored. Source list
242298                     functionality only supports local files and remote  files
242299                     hosted on the salt master server or retrievable via HTTP,
242300                     HTTPS, or FTP.
242301
242302                        file_override_example:
242303                          file.managed:
242304                            - source:
242305                              - salt://file_that_does_not_exist
242306                              - salt://file_that_exists
242307
242308              source_hash
242309
242310                     This can be one of the following:
242311
242312                            1. a source hash string
242313
242314                            2. the URI of a file  that  contains  source  hash
242315                               strings
242316
242317                     The  function accepts the first encountered long unbroken
242318                     alphanumeric string of correct length as a valid hash, in
242319                     order from most secure to least secure:
242320
242321                        Type    Length
242322                        ======  ======
242323                        sha512     128
242324                        sha384      96
242325                        sha256      64
242326                        sha224      56
242327                        sha1        40
242328                        md5         32
242329
242330                     Using a Source Hash File
242331                            The file can contain several checksums for several
242332                            files. Each line must contain both the  file  name
242333                            and  the  hash.   If  no file name is matched, the
242334                            first hash encountered will be used, otherwise the
242335                            most secure hash with the correct source file name
242336                            will be used.
242337
242338                            When using a  source  hash  file  the  source_hash
242339                            argument  needs to be a url, the standard download
242340                            urls are supported, ftp, http, salt etc:
242341
242342                            Example:
242343
242344                               tomdroid-src-0.7.3.tar.gz:
242345                                 file.managed:
242346                                   - name: /tmp/tomdroid-src-0.7.3.tar.gz
242347                                   - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
242348                                   - source_hash: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.hash
242349
242350                            The following lines are all supported formats:
242351
242352                               /etc/rc.conf ef6e82e4006dee563d98ada2a2a80a27
242353                               sha254c8525aee419eb649f0233be91c151178b30f0dff8ebbdcc8de71b1d5c8bcc06a  /etc/resolv.conf
242354                               ead48423703509d37c4a90e6a0d53e143b6fc268
242355
242356                            Debian file type *.dsc files are also supported.
242357
242358                     Inserting the Source Hash in the SLS Data
242359
242360                     The source_hash can be specified as  a  simple  checksum,
242361                     like so:
242362
242363                        tomdroid-src-0.7.3.tar.gz:
242364                          file.managed:
242365                            - name: /tmp/tomdroid-src-0.7.3.tar.gz
242366                            - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
242367                            - source_hash: 79eef25f9b0b2c642c62b7f737d4f53f
242368
242369                     NOTE:
242370                        Releases prior to 2016.11.0 must also include the hash
242371                        type, like in the below example:
242372
242373                            tomdroid-src-0.7.3.tar.gz:
242374                              file.managed:
242375                                - name: /tmp/tomdroid-src-0.7.3.tar.gz
242376                                - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
242377                                - source_hash: md5=79eef25f9b0b2c642c62b7f737d4f53f
242378
242379                     Known issues:
242380                            If the remote server URL has the hash file  as  an
242381                            apparent  sub-directory  of  the  source file, the
242382                            module will discover that it has already cached  a
242383                            directory where a file should be cached. For exam‐
242384                            ple:
242385
242386                               tomdroid-src-0.7.3.tar.gz:
242387                                 file.managed:
242388                                   - name: /tmp/tomdroid-src-0.7.3.tar.gz
242389                                   - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
242390                                   - source_hash: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz/+md5
242391
242392              source_hash_name
242393                     When source_hash refers to a hash file, Salt will try  to
242394                     find  the correct hash by matching the filename/URI asso‐
242395                     ciated with that hash. By default, Salt will look for the
242396                     filename  being  managed.  When  managing  a file at path
242397                     /tmp/foo.txt, then the following  line  in  a  hash  file
242398                     would match:
242399
242400                        acbd18db4cc2f85cedef654fccc4a4d8    foo.txt
242401
242402                     However, sometimes a hash file will include multiple sim‐
242403                     ilar paths:
242404
242405                        37b51d194a7513e45b56f6524f2d51f2    ./dir1/foo.txt
242406                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt
242407                        73feffa4b7f6bb68e44cf984c85f6e88    ./dir3/foo.txt
242408
242409                     In cases like this, Salt may match  the  incorrect  hash.
242410                     This  argument can be used to tell Salt which filename to
242411                     match, to ensure that the correct hash is identified. For
242412                     example:
242413
242414                        /tmp/foo.txt:
242415                          file.managed:
242416                            - source: https://mydomain.tld/dir2/foo.txt
242417                            - source_hash: https://mydomain.tld/hashes
242418                            - source_hash_name: ./dir2/foo.txt
242419
242420                     NOTE:
242421                        This  argument  must  contain  the full filename entry
242422                        from the checksum file, as this argument is  meant  to
242423                        disambiguate  matches for multiple files that have the
242424                        same basename. So, in the example above, simply  using
242425                        foo.txt would not match.
242426
242427                     New in version 2016.3.5.
242428
242429
242430              keep_source
242431                     True  Set  to  False  to  discard  the cached copy of the
242432                     source file once the state completes. This can be  useful
242433                     for  larger  files  to  keep them from taking up space in
242434                     minion cache. However, keep in mind that  discarding  the
242435                     source  file will result in the state needing to re-down‐
242436                     load the source file if the state is run again.
242437
242438                     New in version 2017.7.3.
242439
242440
242441              user   The user to own the file, this defaults to the user  salt
242442                     is running as on the minion
242443
242444              group  The  group  ownership  set for the file, this defaults to
242445                     the group salt is running as on the minion.  On  Windows,
242446                     this is ignored
242447
242448              mode   The  permissions  to set on this file, e.g. 644, 0775, or
242449                     4664.
242450
242451                     The default mode for new  files  and  directories  corre‐
242452                     sponds  to  the  umask  of  the salt process. The mode of
242453                     existing files and directories will only  be  changed  if
242454                     mode is specified.
242455
242456                     NOTE:
242457                        This option is not supported on Windows.
242458
242459                     Changed  in  version 2016.11.0: This option can be set to
242460                     keep, and Salt will keep the mode  from  the  Salt  file‐
242461                     server. This is only supported when the source URL begins
242462                     with salt://, or for files local to the  minion.  Because
242463                     the source option cannot be used with any of the contents
242464                     options, setting the mode to keep  is  also  incompatible
242465                     with the contents options.
242466
242467
242468                     NOTE:
242469                        keep does not work with salt-ssh.
242470
242471                        As  a  consequence of how the files are transferred to
242472                        the minion, and the inability to connect back  to  the
242473                        master  with salt-ssh, salt is unable to stat the file
242474                        as it exists on the fileserver and thus cannot  mirror
242475                        the mode on the salt-ssh minion
242476
242477              attrs  The  attributes  to  have  on  this  file, e.g. a, i. The
242478                     attributes can be any or a combination of  the  following
242479                     characters: aAcCdDeijPsStTu.
242480
242481                     NOTE:
242482                        This option is not supported on Windows.
242483
242484                     New in version 2018.3.0.
242485
242486
242487              template
242488                     If  this  setting is applied, the named templating engine
242489                     will be used to render the downloaded file. The following
242490                     templates are supported:
242491
242492                     · cheetah
242493
242494                     · genshi
242495
242496                     · jinja
242497
242498                     · mako
242499
242500                     · py
242501
242502                     · wempy
242503
242504              makedirs
242505                     False If set to True, then the parent directories will be
242506                     created to facilitate the creation of the named file.  If
242507                     False,  and  the parent directory of the destination file
242508                     doesn't exist, the state will fail.
242509
242510              dir_mode
242511                     If directories are to be  created,  passing  this  option
242512                     specifies  the permissions for those directories. If this
242513                     is not set, directories will be assigned  permissions  by
242514                     adding the execute bit to the mode of the files.
242515
242516                     The  default  mode  for  new files and directories corre‐
242517                     sponds umask of salt  process.  For  existing  files  and
242518                     directories it's not enforced.
242519
242520              replace
242521                     True  If  set  to  False and the file already exists, the
242522                     file will not be modified even if changes would otherwise
242523                     be   made.   Permissions  and  ownership  will  still  be
242524                     enforced, however.
242525
242526              context
242527                     Overrides default context variables passed  to  the  tem‐
242528                     plate.
242529
242530              defaults
242531                     Default context passed to the template.
242532
242533              backup Overrides the default backup mode for this specific file.
242534                     See backup_mode documentation for more details.
242535
242536              show_changes
242537                     Output a unified diff of the old file and the  new  file.
242538                     If False return a boolean if any changes were made.
242539
242540              create True  If set to False, then the file will only be managed
242541                     if the file already exists on the system.
242542
242543              contents
242544                     Specify the contents of the file. Cannot be used in  com‐
242545                     bination  with  source. Ignores hashes and does not use a
242546                     templating engine.
242547
242548                     This value can be either a  single  string,  a  multiline
242549                     YAML  string or a list of strings.  If a list of strings,
242550                     then the strings will be joined together with newlines in
242551                     the  resulting  file.  For example, the below two example
242552                     states would result in identical file contents:
242553
242554                        /path/to/file1:
242555                          file.managed:
242556                            - contents:
242557                              - This is line 1
242558                              - This is line 2
242559
242560                        /path/to/file2:
242561                          file.managed:
242562                            - contents: |
242563                                This is line 1
242564                                This is line 2
242565
242566              contents_pillar
242567                     New in version 0.17.0.
242568
242569
242570                     Changed in version 2016.11.0: contents_pillar can also be
242571                     a  list, and the pillars will be concatenated together to
242572                     form one file.
242573
242574
242575                     Operates like contents, but draws from a value stored  in
242576                     pillar,  using the pillar path syntax used in pillar.get.
242577                     This is useful when the pillar value  contains  newlines,
242578                     as  referencing a pillar variable using a jinja/mako tem‐
242579                     plate can result in YAML formatting  issues  due  to  the
242580                     newlines causing indentation mismatches.
242581
242582                     For example, the following could be used to deploy an SSH
242583                     private key:
242584
242585                        /home/deployer/.ssh/id_rsa:
242586                          file.managed:
242587                            - user: deployer
242588                            - group: deployer
242589                            - mode: 600
242590                            - attrs: a
242591                            - contents_pillar: userdata:deployer:id_rsa
242592
242593                     This would populate /home/deployer/.ssh/id_rsa  with  the
242594                     contents  of pillar['userdata']['deployer']['id_rsa']. An
242595                     example of this pillar setup would be like so:
242596
242597                        userdata:
242598                          deployer:
242599                            id_rsa: |
242600                                -----BEGIN RSA PRIVATE KEY-----
242601                                MIIEowIBAAKCAQEAoQiwO3JhBquPAalQF9qP1lLZNXVjYMIswrMe2HcWUVBgh+vY
242602                                U7sCwx/dH6+VvNwmCoqmNnP+8gTPKGl1vgAObJAnMT623dMXjVKwnEagZPRJIxDy
242603                                B/HaAre9euNiY3LvIzBTWRSeMfT+rWvIKVBpvwlgGrfgz70m0pqxu+UyFbAGLin+
242604                                GpxzZAMaFpZw4sSbIlRuissXZj/sHpQb8p9M5IeO4Z3rjkCP1cxI
242605                                -----END RSA PRIVATE KEY-----
242606
242607                     NOTE:
242608                        The private key above is shortened to keep the example
242609                        brief,  but  shows how to do multiline string in YAML.
242610                        The key is followed by a pipe character, and the  mul‐
242611                        tiline string is indented two more spaces.
242612
242613                        To  avoid the hassle of creating an indented multiline
242614                        YAML string, the file_tree external pillar can be used
242615                        instead.  However, this will not work for binary files
242616                        in Salt releases before 2015.8.4.
242617
242618              contents_grains
242619                     New in version 2014.7.0.
242620
242621
242622                     Operates like contents, but draws from a value stored  in
242623                     grains,  using the grains path syntax used in grains.get.
242624                     This functionality works  similarly  to  contents_pillar,
242625                     but with grains.
242626
242627                     For  example,  the  following  could  be used to deploy a
242628                     "message of the day" file:
242629
242630                        write_motd:
242631                          file.managed:
242632                            - name: /etc/motd
242633                            - contents_grains: motd
242634
242635                     This would populate /etc/motd file with the  contents  of
242636                     the  motd  grain.  The motd grain is not a default grain,
242637                     and would need to be set prior to running the state:
242638
242639                        salt '*' grains.set motd 'Welcome! This system is managed by Salt.'
242640
242641              contents_newline
242642                     True New in version 2014.7.0.
242643
242644
242645                     Changed in version 2015.8.4: This option is  now  ignored
242646                     if the contents being deployed contain binary data.
242647
242648
242649                     If  True,  files managed using contents, contents_pillar,
242650                     or contents_grains will have a newline added to  the  end
242651                     of the file if one is not present. Setting this option to
242652                     False will ensure the final line, or entry, does not con‐
242653                     tain  a  new line. If the last line, or entry in the file
242654                     does contain a new line already,  this  option  will  not
242655                     remove it.
242656
242657              contents_delimiter
242658                     New in version 2015.8.4.
242659
242660
242661                     Can  be  used  to specify an alternate delimiter for con‐
242662                     tents_pillar or contents_grains. This delimiter  will  be
242663                     passed  through to pillar.get or grains.get when retriev‐
242664                     ing the contents.
242665
242666              encoding
242667                     If specified, then the specified encoding will  be  used.
242668                     Otherwise,  the  file  will  be  encoded using the system
242669                     locale           (usually           UTF-8).           See
242670                     https://docs.python.org/3/library/codecs.html#standard-encodings
242671                     for the list of available encodings.
242672
242673                     New in version 2017.7.0.
242674
242675
242676              encoding_errors
242677                     'strict' Error encoding scheme.  Default  is  `'strict'`.
242678                     See
242679                     https://docs.python.org/2/library/codecs.html#codec-base-classes
242680                     for the list of available schemes.
242681
242682                     New in version 2017.7.0.
242683
242684
242685              allow_empty
242686                     True New in version 2015.8.4.
242687
242688
242689                     If set to False, then the state will fail if the contents
242690                     specified  by  contents_pillar  or  contents_grains   are
242691                     empty.
242692
242693              follow_symlinks
242694                     True New in version 2014.7.0.
242695
242696
242697                     If  the  desired  path  is  a  symlink follow it and make
242698                     changes to the file to which the symlink points.
242699
242700              check_cmd
242701                     New in version 2014.7.0.
242702
242703
242704                     The specified command will be run with an appended  argu‐
242705                     ment  of a temporary file containing the new managed con‐
242706                     tents.  If the command exits with a zero status  the  new
242707                     managed  contents will be written to the managed destina‐
242708                     tion. If the command exits with a nonzero exit code,  the
242709                     state will fail and no changes will be made to the file.
242710
242711                     For  example, the following could be used to verify sudo‐
242712                     ers before making changes:
242713
242714                        /etc/sudoers:
242715                          file.managed:
242716                            - user: root
242717                            - group: root
242718                            - mode: 0440
242719                            - attrs: i
242720                            - source: salt://sudoers/files/sudoers.jinja
242721                            - template: jinja
242722                            - check_cmd: /usr/sbin/visudo -c -f
242723
242724                     NOTE: This check_cmd functions differently than the  req‐
242725                     uisite check_cmd.
242726
242727              tmp_dir
242728                     Directory  for temp file created by check_cmd. Useful for
242729                     checkers dependent on config file location (e.g.  daemons
242730                     restricted to their own config directories by an apparmor
242731                     profile).
242732
242733                        /etc/dhcp/dhcpd.conf:
242734                          file.managed:
242735                            - user: root
242736                            - group: root
242737                            - mode: 0755
242738                            - tmp_dir: '/etc/dhcp'
242739                            - contents: "# Managed by Salt"
242740                            - check_cmd: dhcpd -t -cf
242741
242742              tmp_ext
242743                     Suffix for temp file created  by  check_cmd.  Useful  for
242744                     checkers  dependent  on  config  file extension (e.g. the
242745                     init-checkconf upstart config checker).
242746
242747                        /etc/init/test.conf:
242748                          file.managed:
242749                            - user: root
242750                            - group: root
242751                            - mode: 0440
242752                            - tmp_ext: '.conf'
242753                            - contents:
242754                              - 'description "Salt Minion"'
242755                              - 'start on started mountall'
242756                              - 'stop on shutdown'
242757                              - 'respawn'
242758                              - 'exec salt-minion'
242759                            - check_cmd: init-checkconf -f
242760
242761              skip_verify
242762                     False If True, hash verification of remote  file  sources
242763                     (http://,  https://,  ftp://)  will  be  skipped, and the
242764                     source_hash argument will be ignored.
242765
242766                     New in version 2016.3.0.
242767
242768
242769              win_owner
242770                     None The owner of the directory. If this is  not  passed,
242771                     user  will  be  used.  If user is not passed, the account
242772                     under which Salt is running will be used.
242773
242774                     New in version 2017.7.0.
242775
242776
242777              win_perms
242778                     None A dictionary containing  permissions  to  grant  and
242779                     their   propagation.   For   example:  {'Administrators':
242780                     {'perms': 'full_control'}} Can be a single basic perm  or
242781                     a  list  of  advanced  perms.  perms  must  be specified.
242782                     applies_to does not apply to file objects.
242783
242784                     New in version 2017.7.0.
242785
242786
242787              win_deny_perms
242788                     None A dictionary  containing  permissions  to  deny  and
242789                     their   propagation.   For   example:  {'Administrators':
242790                     {'perms': 'full_control'}} Can be a single basic perm  or
242791                     a  list  of  advanced  perms.  perms  must  be specified.
242792                     applies_to does not apply to file objects.
242793
242794                     New in version 2017.7.0.
242795
242796
242797              win_inheritance
242798                     True True to inherit permissions from the  parent  direc‐
242799                     tory, False not to inherit permission.
242800
242801                     New in version 2017.7.0.
242802
242803
242804              win_perms_reset
242805                     False  If  True  the  existing  DACL  will be cleared and
242806                     replaced with the settings defined in this  function.  If
242807                     False, new entries will be appended to the existing DACL.
242808                     Default is False.
242809
242810                     New in version 2018.3.0.
242811
242812
242813              Here's an example using the above win_* parameters:
242814
242815                 create_config_file:
242816                   file.managed:
242817                     - name: C:\config\settings.cfg
242818                     - source: salt://settings.cfg
242819                     - win_owner: Administrators
242820                     - win_perms:
242821                         # Basic Permissions
242822                         dev_ops:
242823                           perms: full_control
242824                         # List of advanced permissions
242825                         appuser:
242826                           perms:
242827                             - read_attributes
242828                             - read_ea
242829                             - create_folders
242830                             - read_permissions
242831                         joe_snuffy:
242832                           perms: read
242833                     - win_deny_perms:
242834                         fred_snuffy:
242835                           perms: full_control
242836                     - win_inheritance: False
242837
242838       salt.states.file.missing(name, **kwargs)
242839              Verify that the named file or directory is missing, this returns
242840              True  only  if the named file is missing but does not remove the
242841              file if it is present.
242842
242843              name   Absolute path which must NOT exist
242844
242845       salt.states.file.mknod(name,  ntype,   major=0,   minor=0,   user=None,
242846       group=None, mode=u'0600')
242847              Create  a  special  file  similar to the 'nix mknod command. The
242848              supported device types are p (fifo pipe), c (character  device),
242849              and  b  (block device). Provide the major and minor numbers when
242850              specifying a character device or block device. A fifo pipe  does
242851              not require this information. The command will create the neces‐
242852              sary dirs if needed. If a file of the same name not of the  same
242853              type/major/minor  exists, it will not be overwritten or unlinked
242854              (deleted). This is  logically  in  place  as  a  safety  measure
242855              because you can really shoot yourself in the foot here and it is
242856              the behavior of 'nix mknod. It is also important  to  note  that
242857              not just anyone can create special devices. Usually this is only
242858              done as root.  If the state is executed as none other than  root
242859              on a minion, you may receive a permission error.
242860
242861              name   name of the file
242862
242863              ntype  node type 'p' (fifo pipe), 'c' (character device), or 'b'
242864                     (block device)
242865
242866              major  major number of the device does not apply to a fifo pipe
242867
242868              minor  minor number of the device does not apply to a fifo pipe
242869
242870              user   owning user of the device/pipe
242871
242872              group  owning group of the device/pipe
242873
242874              mode   permissions on the device/pipe
242875
242876              Usage:
242877
242878                 /dev/chr:
242879                   file.mknod:
242880                     - ntype: c
242881                     - major: 180
242882                     - minor: 31
242883                     - user: root
242884                     - group: root
242885                     - mode: 660
242886
242887                 /dev/blk:
242888                   file.mknod:
242889                     - ntype: b
242890                     - major: 8
242891                     - minor: 999
242892                     - user: root
242893                     - group: root
242894                     - mode: 660
242895
242896                 /dev/fifo:
242897                   file.mknod:
242898                     - ntype: p
242899                     - user: root
242900                     - group: root
242901                     - mode: 660
242902
242903              New in version 0.17.0.
242904
242905
242906       salt.states.file.mod_run_check_cmd(cmd, filename, **check_cmd_opts)
242907              Execute the check_cmd logic.
242908
242909              Return a result dict if check_cmd succeeds (check_cmd == 0) oth‐
242910              erwise return True
242911
242912       salt.states.file.not_cached(name, saltenv=u'base')
242913              New in version 2017.7.3.
242914
242915
242916              Ensures  that  a file is saved to the minion's cache. This state
242917              is primarily invoked by other states to ensure that  we  do  not
242918              re-download a source file if we do not need to.
242919
242920              name   The URL of the file to be cached. To cache a file from an
242921                     environment other than base, either use the saltenv argu‐
242922                     ment   or   include   the   saltenv   in  the  URL  (e.g.
242923                     salt://path/to/file.conf?saltenv=dev).
242924
242925                     NOTE:
242926                        A list of URLs is not supported, this must be a single
242927                        URL.  If  a  local file is passed here, the state will
242928                        take no action.
242929
242930              saltenv
242931                     Used to specify the environment from which to download  a
242932                     file  from  the  Salt fileserver (i.e. those with salt://
242933                     URL).
242934
242935       salt.states.file.patch(name,       source=None,       source_hash=None,
242936       source_hash_name=None,  skip_verify=False, template=None, context=None,
242937       defaults=None, options=u'', reject_file=None, strip=None, saltenv=None,
242938       **kwargs)
242939              Ensure  that  a  patch has been applied to the specified file or
242940              directory
242941
242942              Changed in version 2019.2.0: The hash and dry_run_first  options
242943              are  now  ignored,  as the logic which determines whether or not
242944              the patch has already been  applied  no  longer  requires  them.
242945              Additionally,  this  state  now supports patch files that modify
242946              more than one file. To use these  sort  of  patches,  specify  a
242947              directory  (and,  if  necessary,  the strip option) instead of a
242948              file.
242949
242950
242951              NOTE:
242952                 A suitable patch executable must be available on the  minion.
242953                 Also,  keep  in  mind  that  the pre-check this state does to
242954                 determine whether or not changes need to be made will  create
242955                 a  temp  file  and  send  all patch output to that file. This
242956                 means that, in the  event  that  the  patch  would  not  have
242957                 applied  cleanly,  the  comment included in the state results
242958                 will reference a temp file that will no longer exist once the
242959                 state finishes running.
242960
242961              name   The  file  or  directory  to  which  the  patch should be
242962                     applied
242963
242964              source The patch file to apply
242965
242966                     Changed in version 2019.2.0: The source can now  be  from
242967                     any  file  source  supported  by  Salt (salt://, http://,
242968                     https://, ftp://, etc.).  Templating  is  also  now  sup‐
242969                     ported.
242970
242971
242972              source_hash
242973                     Works the same way as in file.managed.
242974
242975                     New in version 2019.2.0.
242976
242977
242978              source_hash_name
242979                     Works the same way as in file.managed
242980
242981                     New in version 2019.2.0.
242982
242983
242984              skip_verify
242985                     Works the same way as in file.managed
242986
242987                     New in version 2019.2.0.
242988
242989
242990              template
242991                     Works the same way as in file.managed
242992
242993                     New in version 2019.2.0.
242994
242995
242996              context
242997                     Works the same way as in file.managed
242998
242999                     New in version 2019.2.0.
243000
243001
243002              defaults
243003                     Works the same way as in file.managed
243004
243005                     New in version 2019.2.0.
243006
243007
243008              options
243009                     Extra options to pass to patch. This should not be neces‐
243010                     sary in most cases.
243011
243012                     NOTE:
243013                        For best results, short opts should be  separate  from
243014                        one  another.   The -N and -r, and -o options are used
243015                        internally by this state  and  cannot  be  used  here.
243016                        Additionally,  instead  of using -pN or --strip=N, use
243017                        the strip option documented below.
243018
243019              reject_file
243020                     If specified, any rejected hunks will be written to  this
243021                     file.  If  not  specified, then they will be written to a
243022                     temp file which will be deleted when the  state  finishes
243023                     running.
243024
243025                     IMPORTANT:
243026                        The parent directory must exist. Also, this will over‐
243027                        write the file if it is already present.
243028
243029                     New in version 2019.2.0.
243030
243031
243032              strip  Number of directories to strip from paths  in  the  patch
243033                     file.  For  example,  using  the below SLS would instruct
243034                     Salt to use -p1 when applying the patch:
243035
243036                        /etc/myfile.conf:
243037                          file.patch:
243038                            - source: salt://myfile.patch
243039                            - strip: 1
243040
243041                     New in version 2019.2.0: In previous versions, -p1  would
243042                     need to be passed as part of the options value.
243043
243044
243045              saltenv
243046                     Specify  the environment from which to retrieve the patch
243047                     file indicated by the source parameter. If not  provided,
243048                     this  defaults to the environment from which the state is
243049                     being executed.
243050
243051                     NOTE:
243052                        Ignored when the patch  file  is  from  a  non-salt://
243053                        source.
243054
243055              Usage:
243056
243057                 # Equivalent to ``patch --forward /opt/myfile.txt myfile.patch``
243058                 /opt/myfile.txt:
243059                   file.patch:
243060                     - source: salt://myfile.patch
243061
243062       salt.states.file.prepend(name,  text=None, makedirs=False, source=None,
243063       source_hash=None, template=u'jinja', sources=None,  source_hashes=None,
243064       defaults=None, context=None, header=None)
243065              Ensure that some text appears at the beginning of a file
243066
243067              The text will not be prepended again if it already exists in the
243068              file. You may specify a single line of text or a list  of  lines
243069              to append.
243070
243071              name   The location of the file to append to.
243072
243073              text   The  text to be appended, which can be a single string or
243074                     a list of strings.
243075
243076              makedirs
243077                     If the file is located in a path without a parent  direc‐
243078                     tory,  then  the  state  will fail. If makedirs is set to
243079                     True, then the parent  directories  will  be  created  to
243080                     facilitate  the  creation  of the named file. Defaults to
243081                     False.
243082
243083              source A single source file to append. This source file  can  be
243084                     hosted on either the salt master server, or on an HTTP or
243085                     FTP server. Both HTTPS and HTTP are supported as well  as
243086                     downloading  directly from Amazon S3 compatible URLs with
243087                     both pre-configured and automatic  IAM  credentials  (see
243088                     s3.get  state  documentation).  File retrieval from Open‐
243089                     stack Swift object storage is supported via  swift://con‐
243090                     tainer/object_path URLs (see swift.get documentation).
243091
243092                     For  files hosted on the salt file server, if the file is
243093                     located on the master in the directory named spam, and is
243094                     called eggs, the source string is salt://spam/eggs.
243095
243096                     If  the  file  is  hosted  on  an HTTP or FTP server, the
243097                     source_hash argument is also required.
243098
243099              source_hash
243100
243101                     This can be one of the following:
243102
243103                            1. a source hash string
243104
243105                            2. the URI of a file  that  contains  source  hash
243106                               strings
243107
243108                     The  function accepts the first encountered long unbroken
243109                     alphanumeric string of correct length as a valid hash, in
243110                     order from most secure to least secure:
243111
243112                        Type    Length
243113                        ======  ======
243114                        sha512     128
243115                        sha384      96
243116                        sha256      64
243117                        sha224      56
243118                        sha1        40
243119                        md5         32
243120
243121                     See    the    source_hash   parameter   description   for
243122                     file.managed function for more details and examples.
243123
243124              template
243125                     The named templating engine will be used  to  render  the
243126                     appended-to  file.  Defaults to jinja. The following tem‐
243127                     plates are supported:
243128
243129                     · cheetah
243130
243131                     · genshi
243132
243133                     · jinja
243134
243135                     · mako
243136
243137                     · py
243138
243139                     · wempy
243140
243141              sources
243142                     A list of source files to append. If the files are hosted
243143                     on  an  HTTP or FTP server, the source_hashes argument is
243144                     also required.
243145
243146              source_hashes
243147                     A list of source_hashes corresponding to the sources list
243148                     specified in the sources argument.
243149
243150              defaults
243151                     Default context passed to the template.
243152
243153              context
243154                     Overrides  default  context  variables passed to the tem‐
243155                     plate.
243156
243157              ignore_whitespace
243158                     New in version 2015.8.4.
243159
243160
243161                     Spaces and Tabs in text  are  ignored  by  default,  when
243162                     searching  for the appending content, one space or multi‐
243163                     ple tabs are the same for salt.  Set this option to False
243164                     if you want to change this behavior.
243165
243166              Multi-line example:
243167
243168                 /etc/motd:
243169                   file.prepend:
243170                     - text: |
243171                         Thou hadst better eat salt with the Philosophers of Greece,
243172                         than sugar with the Courtiers of Italy.
243173                         - Benjamin Franklin
243174
243175              Multiple lines of text:
243176
243177                 /etc/motd:
243178                   file.prepend:
243179                     - text:
243180                       - Trust no one unless you have eaten much salt with him.
243181                       - "Salt is born of the purest of parents: the sun and the sea."
243182
243183              Optionally,  require  the  text  to  appear exactly as specified
243184              (order and position). Combine with multi-line or multiple  lines
243185              of input.
243186
243187                 /etc/motd:
243188                   file.prepend:
243189                     - header: True
243190                     - text:
243191                       - This will be the very first line in the file.
243192                       - The 2nd line, regardless of duplicates elsewhere in the file.
243193                       - These will be written anew if they do not appear verbatim.
243194
243195              Gather text from multiple template files:
243196
243197                 /etc/motd:
243198                   file:
243199                     - prepend
243200                     - template: jinja
243201                     - sources:
243202                       - salt://motd/devops-messages.tmpl
243203                       - salt://motd/hr-messages.tmpl
243204                       - salt://motd/general-messages.tmpl
243205
243206              New in version 2014.7.0.
243207
243208
243209       salt.states.file.recurse(name,  source,  keep_source=True, clean=False,
243210       require=None,  user=None,  group=None,  dir_mode=None,  file_mode=None,
243211       sym_mode=None,      template=None,      context=None,     replace=True,
243212       defaults=None,   include_empty=False,   backup=u'',   include_pat=None,
243213       exclude_pat=None,    maxdepth=None,   keep_symlinks=False,   force_sym‐
243214       links=False,   win_owner=None,   win_perms=None,   win_deny_perms=None,
243215       win_inheritance=True, **kwargs)
243216              Recurse  through a subdirectory on the master and copy said sub‐
243217              directory over to the specified path.
243218
243219              name   The directory to set the recursion in
243220
243221              source The source directory, this directory is  located  on  the
243222                     salt master file server and is specified with the salt://
243223                     protocol. If the directory is located on  the  master  in
243224                     the  directory named spam, and is called eggs, the source
243225                     string is salt://spam/eggs
243226
243227              keep_source
243228                     True Set to False to  discard  the  cached  copy  of  the
243229                     source  file once the state completes. This can be useful
243230                     for larger files to keep them from  taking  up  space  in
243231                     minion  cache.  However, keep in mind that discarding the
243232                     source file will result in the state needing to  re-down‐
243233                     load the source file if the state is run again.
243234
243235                     New in version 2017.7.3.
243236
243237
243238              clean  Make  sure  that  only  files that are set up by salt and
243239                     required by this function are kept. If this option is set
243240                     then  everything in this directory will be deleted unless
243241                     it is required.
243242
243243              require
243244                     Require other resources such as packages or files
243245
243246              user   The user to own the directory. This defaults to the  user
243247                     salt is running as on the minion
243248
243249              group  The  group ownership set for the directory. This defaults
243250                     to the group salt is running as on the  minion.  On  Win‐
243251                     dows, this is ignored
243252
243253              dir_mode
243254                     The permissions mode to set on any directories created.
243255
243256                     The  default  mode  for  new files and directories corre‐
243257                     sponds umask of salt  process.  For  existing  files  and
243258                     directories it's not enforced.
243259
243260                     NOTE:
243261                        This option is not supported on Windows.
243262
243263              file_mode
243264                     The permissions mode to set on any files created.
243265
243266                     The  default  mode  for  new files and directories corre‐
243267                     sponds umask of salt  process.  For  existing  files  and
243268                     directories it's not enforced.
243269
243270                     NOTE:
243271                        This option is not supported on Windows.
243272
243273                     Changed  in  version 2016.11.0: This option can be set to
243274                     keep, and Salt will keep the mode  from  the  Salt  file‐
243275                     server. This is only supported when the source URL begins
243276                     with salt://, or for files local to the  minion.  Because
243277                     the source option cannot be used with any of the contents
243278                     options, setting the mode to keep  is  also  incompatible
243279                     with the contents options.
243280
243281
243282              sym_mode
243283                     The permissions mode to set on any symlink created.
243284
243285                     The  default  mode  for  new files and directories corre‐
243286                     sponds umask of salt  process.  For  existing  files  and
243287                     directories it's not enforced.
243288
243289                     NOTE:
243290                        This option is not supported on Windows.
243291
243292              template
243293                     If  this  setting is applied, the named templating engine
243294                     will be used to render the downloaded file. The following
243295                     templates are supported:
243296
243297                     · cheetah
243298
243299                     · genshi
243300
243301                     · jinja
243302
243303                     · mako
243304
243305                     · py
243306
243307                     · wempy
243308
243309                     NOTE:
243310                        The  template  option  is  required  when  recursively
243311                        applying templates.
243312
243313              replace
243314                     True If set to False and the  file  already  exists,  the
243315                     file will not be modified even if changes would otherwise
243316                     be  made.  Permissions  and  ownership  will   still   be
243317                     enforced, however.
243318
243319              context
243320                     Overrides  default  context  variables passed to the tem‐
243321                     plate.
243322
243323              defaults
243324                     Default context passed to the template.
243325
243326              include_empty
243327                     Set this to True if empty directories should also be cre‐
243328                     ated (default is False)
243329
243330              backup Overrides the default backup mode for all replaced files.
243331                     See backup_mode documentation for more details.
243332
243333              include_pat
243334                     When copying, include only this pattern from the  source.
243335                     Default is glob match; if prefixed with 'E@', then regexp
243336                     match.  Example:
243337
243338                        - include_pat: hello*       :: glob matches 'hello01', 'hello02'
243339                                                       ... but not 'otherhello'
243340                        - include_pat: E@hello      :: regexp matches 'otherhello',
243341                                                       'hello01' ...
243342
243343              exclude_pat
243344                     Exclude this pattern from the  source  when  copying.  If
243345                     both  include_pat  and  exclude_pat are supplied, then it
243346                     will apply conditions  cumulatively.  i.e.  first  select
243347                     based  on  include_pat, and then within that result apply
243348                     exclude_pat.
243349
243350                     Also, when 'clean=True', exclude this  pattern  from  the
243351                     removal list and preserve in the destination.  Example:
243352
243353                        - exclude_pat: APPDATA*               :: glob matches APPDATA.01,
243354                                                                 APPDATA.02,.. for exclusion
243355                        - exclude_pat: E@(APPDATA)|(TEMPDATA) :: regexp matches APPDATA
243356                                                                 or TEMPDATA for exclusion
243357
243358              maxdepth
243359                     When copying, only copy paths which are of depth maxdepth
243360                     from the source path.  Example:
243361
243362                        - maxdepth: 0      :: Only include files located in the source
243363                                              directory
243364                        - maxdepth: 1      :: Only include files located in the source
243365                                              or immediate subdirectories
243366
243367              keep_symlinks
243368                     Keep symlinks when copying from the source.  This  option
243369                     will  cause  the  copy operation to terminate at the sym‐
243370                     link. If desire behavior similar to rsync, then set  this
243371                     to True.
243372
243373              force_symlinks
243374                     Force  symlink  creation. This option will force the sym‐
243375                     link creation.  If a file  or  directory  is  obstructing
243376                     symlink  creation  it will be recursively removed so that
243377                     symlink creation can proceed. This option is usually  not
243378                     needed except in special circumstances.
243379
243380              win_owner
243381                     None The owner of the symlink and directories if makedirs
243382                     is True. If this is not passed, user  will  be  used.  If
243383                     user  is not passed, the account under which Salt is run‐
243384                     ning will be used.
243385
243386                     New in version 2017.7.7.
243387
243388
243389              win_perms
243390                     None A dictionary containing permissions to grant
243391
243392                     New in version 2017.7.7.
243393
243394
243395              win_deny_perms
243396                     None A dictionary containing permissions to deny
243397
243398                     New in version 2017.7.7.
243399
243400
243401              win_inheritance
243402                     None True to inherit permissions from  parent,  otherwise
243403                     False
243404
243405                     New in version 2017.7.7.
243406
243407
243408       salt.states.file.rename(name, source, force=False, makedirs=False)
243409              If  the source file exists on the system, rename it to the named
243410              file. The named file will  not  be  overwritten  if  it  already
243411              exists unless the force option is set to True.
243412
243413              name   The location of the file to rename to
243414
243415              source The  location  of the file to move to the location speci‐
243416                     fied with name
243417
243418              force  If the target location is present then the file will  not
243419                     be  moved,  specify "force: True" to overwrite the target
243420                     file
243421
243422              makedirs
243423                     If the target subdirectories don't exist create them
243424
243425       salt.states.file.replace(name, pattern, repl,  count=0,  flags=8,  buf‐
243426       size=1,      append_if_not_found=False,     prepend_if_not_found=False,
243427       not_found_content=None,       backup=u'.bak',        show_changes=True,
243428       ignore_if_missing=False, backslash_literal=False)
243429              Maintain an edit in a file.
243430
243431              New in version 0.17.0.
243432
243433
243434              name   Filesystem path to the file to be edited. If a symlink is
243435                     specified, it will be resolved to its target.
243436
243437              pattern
243438                     A  regular  expression,  to  be  matched  using  Python's
243439                     re.search().
243440
243441                     NOTE:
243442                        If  you  need  to match a literal string that contains
243443                        regex special characters, you may want to  use  salt's
243444                        custom Jinja filter, regex_escape.
243445
243446                            {{ 'http://example.com?foo=bar%20baz' | regex_escape }}
243447
243448              repl   The replacement text
243449
243450              count  Maximum  number  of  pattern  occurrences to be replaced.
243451                     Defaults to 0.  If count is a positive integer n, no more
243452                     than n occurrences will be replaced, otherwise all occur‐
243453                     rences will be replaced.
243454
243455              flags  A list of flags defined in the  re  module  documentation
243456                     from  the  Python standard library. Each list item should
243457                     be a string that will  correlate  to  the  human-friendly
243458                     flag  name.  E.g.,  ['IGNORECASE', 'MULTILINE'].  Option‐
243459                     ally, flags may be an int, with a value corresponding  to
243460                     the  XOR  (|)  of  all  the  desired flags. Defaults to 8
243461                     (which equates to ['MULTILINE']).
243462
243463                     NOTE:
243464                        file.replace reads the entire file as a string to sup‐
243465                        port  multiline  regex patterns. Therefore, when using
243466                        anchors such as ^ or $ in the pattern,  those  anchors
243467                        may  be  relative to the line OR relative to the file.
243468                        The default for file.replace is to  treat  anchors  as
243469                        relative  to the line, which is implemented by setting
243470                        the default value of  flags  to  ['MULTILINE'].   When
243471                        overriding the default value for flags, if 'MULTILINE'
243472                        is not present then anchors will be  relative  to  the
243473                        file.  If  the  desired  behavior is for anchors to be
243474                        relative to the line, then simply add  'MULTILINE'  to
243475                        the list of flags.
243476
243477              bufsize
243478                     How  much  of the file to buffer into memory at once. The
243479                     default value 1 processes one line at a time. The special
243480                     value  file  may  be specified which will read the entire
243481                     file into memory before processing.
243482
243483              append_if_not_found
243484                     False If set to True, and pattern is not found, then  the
243485                     content will be appended to the file.
243486
243487                     New in version 2014.7.0.
243488
243489
243490              prepend_if_not_found
243491                     False  If  set to True and pattern is not found, then the
243492                     content will be prepended to the file.
243493
243494                     New in version 2014.7.0.
243495
243496
243497              not_found_content
243498                     Content to use for append/prepend if not found.  If  None
243499                     (default), uses repl. Useful when repl uses references to
243500                     group in pattern.
243501
243502                     New in version 2014.7.0.
243503
243504
243505              backup The file extension to use for a backup of the file before
243506                     editing. Set to False to skip making a backup.
243507
243508              show_changes
243509                     True  Output  a  unified diff of the old file and the new
243510                     file. If False return a boolean if any changes were made.
243511                     Returns a boolean or a string.
243512
243513              ignore_if_missing
243514                     False New in version 2016.3.4.
243515
243516
243517                     Controls  what  to  do  if the file is missing. If set to
243518                     False, the state will display an error raised by the exe‐
243519                     cution  module.  If  set  to  True, the state will simply
243520                     report no changes.
243521
243522              backslash_literal
243523                     False New in version 2016.11.7.
243524
243525
243526                     Interpret backslashes as literal backslashes for the repl
243527                     and  not  escape  characters.   This will help when using
243528                     append/prepend so that the  backslashes  are  not  inter‐
243529                     preted for the repl on the second run of the state.
243530
243531              For  complex  regex patterns, it can be useful to avoid the need
243532              for complex quoting and escape sequences by making use of YAML's
243533              multiline string syntax.
243534
243535                 complex_search_and_replace:
243536                   file.replace:
243537                     # <...snip...>
243538                     - pattern: |
243539                         CentOS \(2.6.32[^\\n]+\\n\s+root[^\\n]+\\n\)+
243540
243541              NOTE:
243542                 When  using  YAML  multiline  string syntax in pattern:, make
243543                 sure to also use that syntax in the repl: part, or you  might
243544                 loose line feeds.
243545
243546              When  regex  capture groups are used in pattern:, their captured
243547              value is available for reuse in the repl: part as  a  backrefer‐
243548              ence (ex. \1).
243549
243550                 add_login_group_to_winbind_ssh_access_list:
243551                   file.replace:
243552                     - name: '/etc/security/pam_winbind.conf'
243553                     - pattern: '^(require_membership_of = )(.*)$'
243554                     - repl: '\1\2,append-new-group-to-line'
243555
243556              NOTE:
243557                 The  file.replace  state  uses  Python's re module.  For more
243558                 advanced                     options,                     see
243559                 https://docs.python.org/2/library/re.html
243560
243561       salt.states.file.retention_schedule(name, retain, strptime_format=None,
243562       timezone=None)
243563              Apply retention scheduling to backup storage directory.
243564
243565              New in version 2016.11.0.
243566
243567
243568              Parameters
243569
243570                     · name -- The filesystem path to the directory containing
243571                       backups to be managed.
243572
243573                     · retain --
243574
243575                       Delete  the  backups,  except  for  the ones we want to
243576                       keep.  The N below should be an integer but may also be
243577                       the  special value of all, which keeps all files match‐
243578                       ing the criteria.  All of the retain options default to
243579                       None,  which means to not keep files based on this cri‐
243580                       teria.
243581
243582                       most_recent N
243583                              Keep the most recent N files.
243584
243585                       first_of_hour N
243586                              For the last N hours from now,  keep  the  first
243587                              file after the hour.
243588
243589                       first_of_day N
243590                              For  the  last  N  days from now, keep the first
243591                              file after midnight.  See also timezone.
243592
243593                       first_of_week N
243594                              For the last N weeks from now,  keep  the  first
243595                              file after Sunday midnight.
243596
243597                       first_of_month N
243598                              For  the  last N months from now, keep the first
243599                              file after the start of the month.
243600
243601                       first_of_year N
243602                              For the last N years from now,  keep  the  first
243603                              file after the start of the year.
243604
243605
243606                     · strptime_format -- A python strptime format string used
243607                       to first match the filenames of backups and then  parse
243608                       the  filename  to  determine  the datetime of the file.
243609                       https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime
243610                       Defaults  to  None,  which  considers  all files in the
243611                       directory to be backups eligible for deletion and  uses
243612                       os.path.getmtime() to determine the datetime.
243613
243614                     · timezone  --  The timezone to use when determining mid‐
243615                       night.  This is only used when datetime is pulled  from
243616                       os.path.getmtime().   Defaults  to  None which uses the
243617                       timezone from the locale.
243618
243619              Usage example:
243620
243621                 /var/backups/example_directory:
243622                   file.retention_schedule:
243623                     - retain:
243624                         most_recent: 5
243625                         first_of_hour: 4
243626                         first_of_day: 7
243627                         first_of_week: 6    # NotImplemented yet.
243628                         first_of_month: 6
243629                         first_of_year: all
243630                     - strptime_format: example_name_%Y%m%dT%H%M%S.tar.bz2
243631                     - timezone: None
243632
243633       salt.states.file.serialize(name,   dataset=None,   dataset_pillar=None,
243634       user=None,    group=None,    mode=None,   backup=u'',   makedirs=False,
243635       show_changes=True, create=True,  merge_if_exists=False,  encoding=None,
243636       encoding_errors=u'strict',        serializer_opts=None,       deserial‐
243637       izer_opts=None, **kwargs)
243638              Serializes dataset and store it into managed  file.  Useful  for
243639              sharing simple configuration files.
243640
243641              name   The location of the file to create
243642
243643              dataset
243644                     The dataset that will be serialized
243645
243646              dataset_pillar
243647                     Operates  like  dataset, but draws from a value stored in
243648                     pillar, using the pillar path syntax used in  pillar.get.
243649                     This  is  useful when the pillar value contains newlines,
243650                     as referencing a pillar variable using a jinja/mako  tem‐
243651                     plate  can  result  in  YAML formatting issues due to the
243652                     newlines causing indentation mismatches.
243653
243654                     New in version 2015.8.0.
243655
243656
243657              formatter
243658                     Write the data as this format. See the list of serializer
243659                     modules for supported output formats.
243660
243661              encoding
243662                     If  specified,  then the specified encoding will be used.
243663                     Otherwise, the file will  be  encoded  using  the  system
243664                     locale           (usually           UTF-8).           See
243665                     https://docs.python.org/3/library/codecs.html#standard-encodings
243666                     for the list of available encodings.
243667
243668                     New in version 2017.7.0.
243669
243670
243671              encoding_errors
243672                     'strict'  Error  encoding  scheme. Default is `'strict'`.
243673                     See
243674                     https://docs.python.org/2/library/codecs.html#codec-base-classes
243675                     for the list of available schemes.
243676
243677                     New in version 2017.7.0.
243678
243679
243680              user   The user to own the directory, this defaults to the  user
243681                     salt is running as on the minion
243682
243683              group  The  group ownership set for the directory, this defaults
243684                     to the group salt is running as on the minion
243685
243686              mode   The permissions to set on this file, e.g. 644,  0775,  or
243687                     4664.
243688
243689                     The  default  mode  for  new files and directories corre‐
243690                     sponds umask of salt  process.  For  existing  files  and
243691                     directories it's not enforced.
243692
243693                     NOTE:
243694                        This option is not supported on Windows.
243695
243696              backup Overrides the default backup mode for this specific file.
243697
243698              makedirs
243699                     Create parent directories for destination file.
243700
243701                     New in version 2014.1.3.
243702
243703
243704              show_changes
243705                     Output  a  unified diff of the old file and the new file.
243706                     If False return a boolean if any changes were made.
243707
243708              create Default is True, if create is set to False then the  file
243709                     will  only  be  managed if the file already exists on the
243710                     system.
243711
243712              merge_if_exists
243713                     Default is False, if merge_if_exists  is  True  then  the
243714                     existing  file  will  be parsed and the dataset passed in
243715                     will be merged with the existing content
243716
243717                     New in version 2014.7.0.
243718
243719
243720              serializer_opts
243721                     Pass through options to serializer. For example:
243722
243723                        /etc/dummy/package.yaml
243724                          file.serialize:
243725                            - formatter: yaml
243726                            - serializer_opts:
243727                              - explicit_start: True
243728                              - default_flow_style: True
243729                              - indent: 4
243730
243731                     The valid opts are the additional opts (i.e. not the data
243732                     being  serialized) for the function used to serialize the
243733                     data. Documentation for the these functions can be  found
243734                     in the list below:
243735
243736                     · For yaml: yaml.dump()
243737
243738                     · For json: json.dumps()
243739
243740                     · For python: pprint.pformat()
243741
243742              deserializer_opts
243743                     Like  serializer_opts  above,  but only used when merging
243744                     with an existing file (i.e. when merge_if_exists  is  set
243745                     to True).
243746
243747                     The  options specified here will be passed to the deseri‐
243748                     alizer to load the existing data, before merging with the
243749                     specified data and re-serializing.
243750
243751                        /etc/dummy/package.yaml
243752                          file.serialize:
243753                            - formatter: yaml
243754                            - serializer_opts:
243755                              - explicit_start: True
243756                              - default_flow_style: True
243757                              - indent: 4
243758                            - deserializer_opts:
243759                              - encoding: latin-1
243760                            - merge_if_exists: True
243761
243762                     The valid opts are the additional opts (i.e. not the data
243763                     being deserialized) for the function used to  deserialize
243764                     the  data.   Documentation for the these functions can be
243765                     found in the list below:
243766
243767                     · For yaml: yaml.load()
243768
243769                     · For json: json.loads()
243770
243771                     However, note that not all arguments are  supported.  For
243772                     example,   when   deserializing   JSON,   arguments  like
243773                     parse_float and parse_int which accept a callable  object
243774                     cannot be handled in an SLS file.
243775
243776                     New in version 2019.2.0.
243777
243778
243779              For example, this state:
243780
243781                 /etc/dummy/package.json:
243782                   file.serialize:
243783                     - dataset:
243784                         name: naive
243785                         description: A package using naive versioning
243786                         author: A confused individual <iam@confused.com>
243787                         dependencies:
243788                           express: '>= 1.2.0'
243789                           optimist: '>= 0.1.0'
243790                         engine: node 0.4.1
243791                     - formatter: json
243792
243793              will manage the file /etc/dummy/package.json:
243794
243795                 {
243796                   "author": "A confused individual <iam@confused.com>",
243797                   "dependencies": {
243798                     "express": ">= 1.2.0",
243799                     "optimist": ">= 0.1.0"
243800                   },
243801                   "description": "A package using naive versioning",
243802                   "engine": "node 0.4.1",
243803                   "name": "naive"
243804                 }
243805
243806       salt.states.file.shortcut(name,     target,    arguments=None,    work‐
243807       ing_dir=None, description=None, icon_location=None, force=False,  back‐
243808       upname=None, makedirs=False, user=None, **kwargs)
243809              Create a Windows shortcut
243810
243811              If  the  file  already  exists and is a shortcut pointing to any
243812              location other than the specified target, the shortcut  will  be
243813              replaced.  If  it  is a regular file or directory then the state
243814              will return False. If the regular file or directory  is  desired
243815              to  be replaced with a shortcut pass force: True, if it is to be
243816              renamed, pass a backupname.
243817
243818              name   The location of the shortcut to  create.  Must  end  with
243819                     either ".lnk" or ".url"
243820
243821              target The location that the shortcut points to
243822
243823              arguments
243824                     Any arguments to pass in the shortcut
243825
243826              working_dir
243827                     Working directory in which to execute target
243828
243829              description
243830                     Description to set on shortcut
243831
243832              icon_location
243833                     Location of shortcut's icon
243834
243835              force  If  the name of the shortcut exists and is not a file and
243836                     force is set to False, the state will fail. If  force  is
243837                     set  to  True,  the  link  or directory in the way of the
243838                     shortcut file will be deleted to make room for the short‐
243839                     cut, unless backupname is set, when it will be renamed
243840
243841              backupname
243842                     If  the name of the shortcut exists and is not a file, it
243843                     will be renamed to  the  backupname.  If  the  backupname
243844                     already  exists  and force is False, the state will fail.
243845                     Otherwise, the backupname will be removed first.
243846
243847              makedirs
243848                     If the location of the shortcut does not already  have  a
243849                     parent  directory  then  the  state  will  fail,  setting
243850                     makedirs to True will allow Salt  to  create  the  parent
243851                     directory. Setting this to True will also create the par‐
243852                     ent for backupname if necessary.
243853
243854              user   The user to own the file, this defaults to the user  salt
243855                     is running as on the minion
243856
243857                     The  default  mode  for  new files and directories corre‐
243858                     sponds umask of salt  process.  For  existing  files  and
243859                     directories it's not enforced.
243860
243861       salt.states.file.symlink(name,  target,  force=False,  backupname=None,
243862       makedirs=False,  user=None,  group=None,   mode=None,   win_owner=None,
243863       win_perms=None, win_deny_perms=None, win_inheritance=None, **kwargs)
243864              Create a symbolic link (symlink, soft link)
243865
243866              If  the  file  already  exists  and is a symlink pointing to any
243867              location other than the specified target, the  symlink  will  be
243868              replaced.  If  an entry with the same name exists then the state
243869              will return False. If  the  existing  entry  is  desired  to  be
243870              replaced  with  a  symlink  pass  force:  True,  if  it is to be
243871              renamed, pass a backupname.
243872
243873              name   The location of the symlink to create
243874
243875              target The location that the symlink points to
243876
243877              force  If the name of the symlink exists and is  not  a  symlink
243878                     and  force is set to False, the state will fail. If force
243879                     is set to True, the existing entry in the way of the sym‐
243880                     link  file  will be deleted to make room for the symlink,
243881                     unless backupname is set, when it will be renamed
243882
243883                     Changed in version 3000: Force will now remove all  types
243884                     of existing file system entries, not just files, directo‐
243885                     ries and symlinks.
243886
243887
243888              backupname
243889                     If the name of the symlink exists and is not  a  symlink,
243890                     it  will  be renamed to the backupname. If the backupname
243891                     already exists and force is False, the state  will  fail.
243892                     Otherwise,  the  backupname  will  be  removed first.  An
243893                     absolute path OR a basename file/directory name  must  be
243894                     provided.  The latter will be placed relative to the sym‐
243895                     link destination's parent directory.
243896
243897              makedirs
243898                     If the location of the symlink does not  already  have  a
243899                     parent  directory  then  the  state  will  fail,  setting
243900                     makedirs to True will allow Salt  to  create  the  parent
243901                     directory
243902
243903              user   The  user to own the file, this defaults to the user salt
243904                     is running as on the minion
243905
243906              group  The group ownership set for the file,  this  defaults  to
243907                     the  group  salt is running as on the minion. On Windows,
243908                     this is ignored
243909
243910              mode   The permissions to set on this file, aka 644, 0775, 4664.
243911                     Not supported on Windows.
243912
243913                     The  default  mode  for  new files and directories corre‐
243914                     sponds umask of salt  process.  For  existing  files  and
243915                     directories it's not enforced.
243916
243917              win_owner
243918                     None The owner of the symlink and directories if makedirs
243919                     is True. If this is not passed, user  will  be  used.  If
243920                     user  is not passed, the account under which Salt is run‐
243921                     ning will be used.
243922
243923                     New in version 2017.7.7.
243924
243925
243926              win_perms
243927                     None A dictionary containing permissions to grant
243928
243929                     New in version 2017.7.7.
243930
243931
243932              win_deny_perms
243933                     None A dictionary containing permissions to deny
243934
243935                     New in version 2017.7.7.
243936
243937
243938              win_inheritance
243939                     None True to inherit permissions from  parent,  otherwise
243940                     False
243941
243942                     New in version 2017.7.7.
243943
243944
243945       salt.states.file.tidied(name,    age=0,   matches=None,   rmdirs=False,
243946       size=0, **kwargs)
243947              Remove unwanted files based on specific criteria. Multiple  cri‐
243948              teria  are OR’d together, so a file that is too large but is not
243949              old enough will still get tidied.
243950
243951              If neither age nor size is given all files which match a pattern
243952              in matches will be removed.
243953
243954              name   The directory tree that should be tidied
243955
243956              age    Maximum  age in days after which files are considered for
243957                     removal
243958
243959              matches
243960                     List  of  regular  expressions  to  restrict  what   gets
243961                     removed.  Default: ['.*']
243962
243963              rmdirs Whether or not it's allowed to remove directories
243964
243965              size   Maximum allowed file size. Files greater or equal to this
243966                     size are removed. Doesn't apply to  directories  or  sym‐
243967                     bolic links
243968
243969                 cleanup:
243970                   file.tidied:
243971                     - name: /tmp/salt_test
243972                     - rmdirs: True
243973                     - matches:
243974                       - foo
243975                       - b.*r
243976
243977       salt.states.file.touch(name, atime=None, mtime=None, makedirs=False)
243978              Replicate the 'nix "touch" command to create a new empty file or
243979              update the atime and mtime of an existing file.
243980
243981              Note that if you just want to create a file and don't care about
243982              atime  or  mtime,  you should use file.managed instead, as it is
243983              more feature-complete.  (Just leave out the source/template/con‐
243984              tents  arguments,  and it will just create the file and/or check
243985              its permissions, without messing with contents)
243986
243987              name   name of the file
243988
243989              atime  atime of the file
243990
243991              mtime  mtime of the file
243992
243993              makedirs
243994                     whether we should create the parent directory/directories
243995                     in order to touch the file
243996
243997              Usage:
243998
243999                 /var/log/httpd/logrotate.empty:
244000                   file.touch
244001
244002              New in version 0.9.5.
244003
244004
244005       salt.states.file.uncomment(name, regex, char=u'#', backup=u'.bak')
244006              Uncomment specified commented lines in a file
244007
244008              name   The full path to the file to be edited
244009
244010              regex  A  regular  expression used to find the lines that are to
244011                     be uncommented.  This regex should not include  the  com‐
244012                     ment  character.  A  leading ^ character will be stripped
244013                     for convenience (for easily switching  between  comment()
244014                     and  uncomment()).   The  regex will be searched for from
244015                     the beginning of the line, ignoring  leading  spaces  (we
244016                     prepend '^[ t]*')
244017
244018              char   # The character to remove in order to uncomment a line
244019
244020              backup .bak  The  file  will  be backed up before edit with this
244021                     file extension;
244022
244023                     WARNING:
244024                        This backup will be overwritten each time sed  /  com‐
244025                        ment  /  uncomment  is called. Meaning the backup will
244026                        only be useful after the first invocation.
244027
244028                     Set to False/None to not keep a backup.
244029
244030              Usage:
244031
244032                 /etc/adduser.conf:
244033                   file.uncomment:
244034                     - regex: EXTRA_GROUPS
244035
244036              New in version 0.9.5.
244037
244038
244039   salt.states.firewall module
244040       State to check firewall configurations
244041
244042       New in version 2016.3.0.
244043
244044
244045       salt.states.firewall.check(name, port=None, **kwargs)
244046              Checks if there is an open connection from  the  minion  to  the
244047              defined host on a specific port.
244048
244049              name   host name or ip address to test connection to
244050
244051              port   The port to test the connection on
244052
244053              kwargs
244054
244055                     Additional parameters, parameters allowed are:
244056                            proto (tcp or udp) family (ipv4 or ipv6) timeout
244057
244058                 testgoogle:
244059                   firewall.check:
244060                     - name: 'google.com'
244061                     - port: 80
244062                     - proto: 'tcp'
244063
244064   salt.states.firewalld
244065       Management of firewalld
244066
244067       New in version 2015.8.0.
244068
244069
244070       The  following  example  applies  changes  to  the  public zone, blocks
244071       echo-reply and echo-request packets, does not set the zone  to  be  the
244072       default,  enables masquerading, and allows ports 22/tcp and 25/tcp.  It
244073       will be applied permanently and directly before restart/reload.
244074
244075          public:
244076            firewalld.present:
244077              - name: public
244078              - block_icmp:
244079                - echo-reply
244080                - echo-request
244081              - default: False
244082              - masquerade: True
244083              - ports:
244084                - 22/tcp
244085                - 25/tcp
244086
244087       The following example applies changes to the public zone, enables  mas‐
244088       querading  and  configures  port forwarding TCP traffic from port 22 to
244089       2222, and forwards TCP traffic from port 80 to 443 at 192.168.0.1.
244090
244091          my_zone:
244092            firewalld.present:
244093              - name: public
244094              - masquerade: True
244095              - port_fwd:
244096                - 22:2222:tcp
244097                - 80:443:tcp:192.168.0.1
244098
244099       The following example binds the public zone to interface  eth0  and  to
244100       all  packets coming from the 192.168.1.0/24 subnet. It also removes the
244101       zone from all other interfaces or sources.
244102
244103          public:
244104            firewalld.present:
244105              - name: public
244106              - interfaces:
244107                - eth0
244108              - sources:
244109                - 192.168.1.0/24
244110
244111       Here, we define a new service that encompasses TCP ports 4505 4506:
244112
244113          saltmaster:
244114            firewalld.service:
244115              - name: saltmaster
244116              - ports:
244117                - 4505/tcp
244118                - 4506/tcp
244119
244120       To make this new service available in a  zone,  the  following  can  be
244121       used,  which  would allow access to the salt master from the 10.0.0.0/8
244122       subnet:
244123
244124          saltzone:
244125            firewalld.present:
244126              - name: saltzone
244127              - services:
244128                - saltmaster
244129              - sources:
244130                - 10.0.0.0/8
244131
244132       class salt.states.firewalld.ForwardingMapping(srcport, destport, proto‐
244133       col, destaddr)
244134              Represents a port forwarding statement mapping a local port to a
244135              remote port for a specific protocol (TCP or UDP)
244136
244137              todict()
244138                     Returns a pretty dictionary meant for command  line  out‐
244139                     put.
244140
244141       salt.states.firewalld.present(name,                    block_icmp=None,
244142       prune_block_icmp=False,  default=None,  masquerade=False,   ports=None,
244143       prune_ports=False,  port_fwd=None, prune_port_fwd=False, services=None,
244144       prune_services=False,     interfaces=None,      prune_interfaces=False,
244145       sources=None,           prune_sources=False,           rich_rules=None,
244146       prune_rich_rules=False)
244147              Ensure a zone has specific attributes.
244148
244149              name   The zone to modify.
244150
244151              default
244152                     None Set this zone as the default zone if True.
244153
244154              masquerade
244155                     False Enable or disable masquerade for a zone.
244156
244157              block_icmp
244158                     None List of ICMP types to block in the zone.
244159
244160              prune_block_icmp
244161                     False If True, remove all but  the  specified  block_icmp
244162                     from the zone.
244163
244164              ports  None List of ports to add to the zone.
244165
244166              prune_ports
244167                     False  If  True,  remove all but the specified ports from
244168                     the zone.
244169
244170              port_fwd
244171                     None List of port forwards to add to the zone.
244172
244173              prune_port_fwd
244174                     False If True, remove all but the specified port_fwd from
244175                     the zone.
244176
244177              services
244178                     None List of services to add to the zone.
244179
244180              prune_services
244181                     False If True, remove all but the specified services from
244182                     the zone.
244183
244184              interfaces
244185                     None List of interfaces to add to the zone.
244186
244187              prune_interfaces
244188                     False If True, remove all but  the  specified  interfaces
244189                     from the zone.
244190
244191              sources
244192                     None List of sources to add to the zone.
244193
244194              prune_sources
244195                     False  If True, remove all but the specified sources from
244196                     the zone.
244197
244198              rich_rules
244199                     None List of rich rules to add to the zone.
244200
244201              prune_rich_rules
244202                     False If True, remove all but the  specified  rich  rules
244203                     from the zone.
244204
244205       salt.states.firewalld.service(name, ports=None, protocols=None)
244206              Ensure  the  service  exists and encompasses the specified ports
244207              and protocols.
244208
244209              New in version 2016.11.0.
244210
244211
244212   salt.states.gem
244213   Installation of Ruby modules packaged as gems
244214       A state module to manage rubygems. Gems can be set up to  be  installed
244215       or removed. This module will use RVM or rbenv if they are installed. In
244216       that case, you can specify what ruby version and gemset to target.
244217
244218          addressable:
244219            gem.installed:
244220              - user: rvm
244221              - ruby: jruby@jgemset
244222
244223       salt.states.gem.installed(name,  ruby=None,  gem_bin=None,   user=None,
244224       version=None,  rdoc=False,  ri=False,  pre_releases=False,  proxy=None,
244225       source=None)
244226              Make sure that a gem is installed.
244227
244228              name   The name of the gem to install
244229
244230              ruby: None
244231                     Only for RVM or rbenv installations: the ruby version and
244232                     gemset to target.
244233
244234              gem_bin: None
244235                     Custom  gem  command  to run instead of the default.  Use
244236                     this to install gems to a non-default  ruby  install.  If
244237                     you are using rvm or rbenv use the ruby argument instead.
244238
244239              user: None
244240                     The user under which to run the gem command
244241
244242                     New in version 0.17.0.
244243
244244
244245              version
244246                     None Specify the version to install for the gem.  Doesn't
244247                     play nice with multiple gems at once
244248
244249              rdoc   False Generate RDoc documentation for the gem(s).
244250
244251              ri     False Generate RI documentation for the gem(s).
244252
244253              pre_releases
244254                     False Install pre-release version of gem(s) if available.
244255
244256              proxy  None Use the specified HTTP proxy server for all outgoing
244257                     traffic.  Format: http://hostname[:port]
244258
244259              source None Use the specified HTTP gem source server to download
244260                     gem.  Format: http://hostname[:port]
244261
244262       salt.states.gem.removed(name, ruby=None, user=None, gem_bin=None)
244263              Make sure that a gem is not installed.
244264
244265              name   The name of the gem to uninstall
244266
244267              gem_bin
244268                     None Full path to gem binary to use.
244269
244270              ruby   None If RVM or rbenv are installed, the ruby version  and
244271                     gemset to use.  Ignored if gem_bin is specified.
244272
244273              user: None
244274                     The user under which to run the gem command
244275
244276                     New in version 0.17.0.
244277
244278
244279       salt.states.gem.sources_add(name, ruby=None, user=None)
244280              Make sure that a gem source is added.
244281
244282              name   The URL of the gem source to be added
244283
244284              ruby: None
244285                     For RVM or rbenv installations: the ruby version and gem‐
244286                     set to target.
244287
244288              user: None
244289                     The user under which to run the gem command
244290
244291                     New in version 0.17.0.
244292
244293
244294       salt.states.gem.sources_remove(name, ruby=None, user=None)
244295              Make sure that a gem source is removed.
244296
244297              name   The URL of the gem source to be removed
244298
244299              ruby: None
244300                     For RVM or rbenv installations: the ruby version and gem‐
244301                     set to target.
244302
244303              user: None
244304                     The user under which to run the gem command
244305
244306                     New in version 0.17.0.
244307
244308
244309   salt.states.git
244310       States to manage git repositories and git configuration
244311
244312       IMPORTANT:
244313          Before  using  git  over ssh, make sure your remote host fingerprint
244314          exists in your ~/.ssh/known_hosts file.
244315
244316       Changed in version 2015.8.8: This state module now requires  git  1.6.5
244317       (released 10 October 2009) or newer.
244318
244319
244320       salt.states.git.cloned(name, target=None, branch=None, user=None, pass‐
244321       word=None,  identity=None,   https_user=None,   https_pass=None,   out‐
244322       put_encoding=None)
244323              New in version 2018.3.3,2019.2.0.
244324
244325
244326              Ensure that a repository has been cloned to the specified target
244327              directory.  If not, clone that repository. No  fetches  will  be
244328              performed once cloned.
244329
244330              name   Address of the remote repository
244331
244332              target Name  of  the target directory where repository should be
244333                     cloned
244334
244335              branch Remote branch to check out. If unspecified,  the  default
244336                     branch  (i.e.  the one to the remote HEAD points) will be
244337                     checked out.
244338
244339                     NOTE:
244340                        The local branch name will  match  the  remote  branch
244341                        name.  If the branch name is changed, then that branch
244342                        will be checked out locally, but  keep  in  mind  that
244343                        remote  repository  will  not  be fetched. If your use
244344                        case requires that you keep the clone up to date  with
244345                        the remote repository, then consider using git.latest.
244346
244347              user   User  under  which  to run git commands. By default, com‐
244348                     mands are run by the user under which the minion is  run‐
244349                     ning.
244350
244351              password
244352                     Windows only. Required when specifying user. This parame‐
244353                     ter will be ignored on non-Windows platforms.
244354
244355              identity
244356                     Path to a private key to use for ssh URLs. Works the same
244357                     way  as in git.latest, see that state's documentation for
244358                     more information.
244359
244360              https_user
244361                     HTTP Basic Auth username for HTTPS (only) clones
244362
244363              https_pass
244364                     HTTP Basic Auth password for HTTPS (only) clones
244365
244366              output_encoding
244367                     Use this option to  specify  which  encoding  to  use  to
244368                     decode  the  output  from any git commands which are run.
244369                     This should not be needed in most cases.
244370
244371                     NOTE:
244372                        This should only be needed if the files in the reposi‐
244373                        tory  were  created  with  filenames using an encoding
244374                        other than UTF-8 to handle Unicode characters.
244375
244376       salt.states.git.config_set(name, value=None, multivar=None,  repo=None,
244377       user=None, password=None, output_encoding=None, **kwargs)
244378              New in version 2014.7.0.
244379
244380
244381              Changed in version 2015.8.0: Renamed from git.config to git.con‐
244382              fig_set. For earlier versions, use git.config.
244383
244384
244385              Ensure that a config value is set to the desired value(s)
244386
244387              name   Name of the git config value to set
244388
244389              value  Set a single value for the config item
244390
244391              multivar
244392                     Set multiple values for the config item
244393
244394                     NOTE:
244395                        The order matters here, if the same parameters are set
244396                        but  in  a  different  order, they will be removed and
244397                        replaced in the order specified.
244398
244399                     New in version 2015.8.0.
244400
244401
244402              repo   Location of the git repository for which the config value
244403                     should be set. Required unless global is set to True.
244404
244405              user   User  under  which  to  run git commands. By default, the
244406                     commands are run by the user under which  the  minion  is
244407                     running.
244408
244409              password
244410                        Windows  only.  Required  when  specifying  user. This
244411                        parameter will be ignored on non-Windows platforms.
244412
244413                     New in version 2016.3.4.
244414
244415
244416              global False If True, this will set a global git config option
244417
244418              output_encoding
244419                     Use this option to  specify  which  encoding  to  use  to
244420                     decode  the  output  from any git commands which are run.
244421                     This should not be needed in most cases.
244422
244423                     NOTE:
244424                        This should only be needed if the files in the reposi‐
244425                        tory  were  created  with  filenames using an encoding
244426                        other than UTF-8 to handle Unicode characters.
244427
244428                     New in version 2018.3.1.
244429
244430
244431              Local Config Example:
244432
244433                 # Single value
244434                 mylocalrepo:
244435                   git.config_set:
244436                     - name: user.email
244437                     - value: foo@bar.net
244438                     - repo: /path/to/repo
244439
244440                 # Multiple values
244441                 mylocalrepo:
244442                   git.config_set:
244443                     - name: mysection.myattribute
244444                     - multivar:
244445                       - foo
244446                       - bar
244447                       - baz
244448                     - repo: /path/to/repo
244449
244450              Global Config Example (User ``foo``):
244451
244452                 mylocalrepo:
244453                   git.config_set:
244454                     - name: user.name
244455                     - value: Foo Bar
244456                     - user: foo
244457                     - global: True
244458
244459       salt.states.git.config_unset(name,     value_regex=None,     repo=None,
244460       user=None, password=None, output_encoding=None, **kwargs)
244461              New in version 2015.8.0.
244462
244463
244464              Ensure that the named config key is not present
244465
244466              name   The  name  of  the configuration key to unset. This value
244467                     can be a regex, but the regex must match the  entire  key
244468                     name. For example, foo\.  would not match all keys in the
244469                     foo section, it would be necessary to use foo\..+  to  do
244470                     so.
244471
244472              value_regex
244473                     Regex  indicating  the  values  to unset for the matching
244474                     key(s)
244475
244476                     NOTE:
244477                        This option behaves differently depending  on  whether
244478                        or  not  all is set to True. If it is, then all values
244479                        matching the regex will be deleted (this is  the  only
244480                        way to delete multiple values from a multivar). If all
244481                        is set to False, then this  state  will  fail  if  the
244482                        regex matches more than one value in a multivar.
244483
244484              all    False If True, unset all matches
244485
244486              repo   Location of the git repository for which the config value
244487                     should be set. Required unless global is set to True.
244488
244489              user   User under which to run git commands.  By  default,  com‐
244490                     mands  are run by the user under which the minion is run‐
244491                     ning.
244492
244493              password
244494                        Windows only.  Required  when  specifying  user.  This
244495                        parameter will be ignored on non-Windows platforms.
244496
244497                     New in version 2016.3.4.
244498
244499
244500              global False If True, this will set a global git config option
244501
244502              output_encoding
244503                     Use  this  option  to  specify  which  encoding to use to
244504                     decode the output from any git commands  which  are  run.
244505                     This should not be needed in most cases.
244506
244507                     NOTE:
244508                        This should only be needed if the files in the reposi‐
244509                        tory were created with  filenames  using  an  encoding
244510                        other than UTF-8 to handle Unicode characters.
244511
244512                     New in version 2018.3.1.
244513
244514
244515              Examples:
244516
244517                 # Value matching 'baz'
244518                 mylocalrepo:
244519                   git.config_unset:
244520                     - name: foo.bar
244521                     - value_regex: 'baz'
244522                     - repo: /path/to/repo
244523
244524                 # Ensure entire multivar is unset
244525                 mylocalrepo:
244526                   git.config_unset:
244527                     - name: foo.bar
244528                     - all: True
244529
244530                 # Ensure all variables in 'foo' section are unset, including multivars
244531                 mylocalrepo:
244532                   git.config_unset:
244533                     - name: 'foo\..+'
244534                     - all: True
244535
244536                 # Ensure that global config value is unset
244537                 mylocalrepo:
244538                   git.config_unset:
244539                     - name: foo.bar
244540                     - global: True
244541
244542       salt.states.git.detached(name,   rev,   target=None,  remote=u'origin',
244543       user=None,  password=None,   force_clone=False,   force_checkout=False,
244544       fetch_remote=True,  hard_reset=False,  submodules=False, identity=None,
244545       https_user=None,  https_pass=None,   onlyif=None,   unless=None,   out‐
244546       put_encoding=None, **kwargs)
244547              New in version 2016.3.0.
244548
244549
244550              Make  sure  a repository is cloned to the given target directory
244551              and is a detached HEAD checkout of the commit ID  resolved  from
244552              rev.
244553
244554              name   Address of the remote repository.
244555
244556              rev    The  branch,  tag,  or commit ID to checkout after clone.
244557                     If a branch or tag is specified it will be resolved to  a
244558                     commit ID and checked out.
244559
244560              target Name of the target directory where repository is about to
244561                     be cloned.
244562
244563              remote origin Git remote to use. If this state  needs  to  clone
244564                     the  repo,  it will clone it using this value as the ini‐
244565                     tial remote name. If the repository already exists, and a
244566                     remote by this name is not present, one will be added.
244567
244568              user   User  under  which  to run git commands. By default, com‐
244569                     mands are run by the user under which the minion is  run‐
244570                     ning.
244571
244572              password
244573                        Windows  only.  Required  when  specifying  user. This
244574                        parameter will be ignored on non-Windows platforms.
244575
244576                     New in version 2016.3.4.
244577
244578
244579              force_clone
244580                     False If the target directory exists and  is  not  a  git
244581                     repository,  then this state will fail. Set this argument
244582                     to True to remove the contents of  the  target  directory
244583                     and clone the repo into it.
244584
244585              force_checkout
244586                     False  When  checking out the revision ID, the state will
244587                     fail if there are unwritten changes. Set this argument to
244588                     True to discard unwritten changes when checking out.
244589
244590              fetch_remote
244591                     True  If  False  a  fetch  will not be performed and only
244592                     local refs will be reachable.
244593
244594              hard_reset
244595                     False If True a hard reset will be performed  before  the
244596                     checkout and any uncommitted modifications to the working
244597                     directory will be discarded.  Untracked files will remain
244598                     in place.
244599
244600                     NOTE:
244601                        Changes  resulting  from a hard reset will not trigger
244602                        requisites.
244603
244604              submodules
244605                     False Update submodules
244606
244607              identity
244608                     A path on the minion (or a SaltStack fileserver URL, e.g.
244609                     salt://path/to/identity_file) to a private key to use for
244610                     SSH authentication.
244611
244612              https_user
244613                     HTTP Basic Auth username for HTTPS (only) clones
244614
244615              https_pass
244616                     HTTP Basic Auth password for HTTPS (only) clones
244617
244618              onlyif A command to run as a check, run the named  command  only
244619                     if the command passed to the onlyif option returns true
244620
244621              unless A  command  to run as a check, only run the named command
244622                     if the command passed to the unless option returns false
244623
244624              output_encoding
244625                     Use this option to  specify  which  encoding  to  use  to
244626                     decode  the  output  from any git commands which are run.
244627                     This should not be needed in most cases.
244628
244629                     NOTE:
244630                        This should only be needed if the files in the reposi‐
244631                        tory  were  created  with  filenames using an encoding
244632                        other than UTF-8 to handle Unicode characters.
244633
244634                     New in version 2018.3.1.
244635
244636
244637       salt.states.git.latest(name,  rev=u'HEAD',  target=None,   branch=None,
244638       user=None,   password=None,   update_head=True,   force_checkout=False,
244639       force_clone=False,   force_fetch=False,   force_reset=False,    submod‐
244640       ules=False,       bare=False,      mirror=False,      remote=u'origin',
244641       fetch_tags=True,     sync_tags=True,     depth=None,     identity=None,
244642       https_user=None,   https_pass=None,   onlyif=None,   unless=None,  ref‐
244643       spec_branch=u'*', refspec_tag=u'*', output_encoding=None, **kwargs)
244644              Make sure the repository is cloned to the given directory and is
244645              up-to-date.
244646
244647              name   Address of the remote repository, as passed to git clone
244648
244649                     NOTE:
244650                        From  the Git documentation, there are two URL formats
244651                        supported for SSH authentication. The below two  exam‐
244652                        ples are equivalent:
244653
244654                            # ssh:// URL
244655                            ssh://user@server/project.git
244656
244657                            # SCP-like syntax
244658                            user@server:project.git
244659
244660                        A  common  mistake is to use an ssh:// URL, but with a
244661                        colon after the domain instead of  a  slash.  This  is
244662                        invalid  syntax in Git, and will therefore not work in
244663                        Salt. When in doubt, confirm that a  git  clone  works
244664                        for the URL before using it in Salt.
244665
244666                        It  has been reported by some users that SCP-like syn‐
244667                        tax is incompatible with git repos hosted on Atlassian
244668                        Stash/BitBucket Server. In these cases, it may be nec‐
244669                        essary to use ssh:// URLs for SSH authentication.
244670
244671              rev    HEAD The remote branch, tag, or revision ID  to  checkout
244672                     after clone / before update. If specified, then Salt will
244673                     also  ensure  that  the  tracking  branch   is   set   to
244674                     <remote>/<rev>,  unless  rev  refers to a tag or SHA1, in
244675                     which case Salt will ensure that the tracking  branch  is
244676                     unset.
244677
244678                     If  rev  is not specified, it will be assumed to be HEAD,
244679                     and Salt will not manage the tracking branch at all.
244680
244681                     Changed in version 2015.8.0: If not  specified,  rev  now
244682                     defaults to the remote repository's HEAD.
244683
244684
244685              target Name of the target directory where repository is about to
244686                     be cloned
244687
244688              branch Name of the local branch into which to checkout the spec‐
244689                     ified rev. If not specified, then Salt will not care what
244690                     branch is being used locally and will just  use  whatever
244691                     branch is currently there.
244692
244693                     New in version 2015.8.0.
244694
244695
244696                     NOTE:
244697                        If  this  argument  is  not specified, this means that
244698                        Salt will not change the local branch if  the  reposi‐
244699                        tory is reset to another branch/tag/SHA1. For example,
244700                        assume that the following state was run initially:
244701
244702                            foo_app:
244703                              git.latest:
244704                                - name: https://mydomain.tld/apps/foo.git
244705                                - target: /var/www/foo
244706                                - user: www
244707
244708                        This would have cloned the HEAD of that repo (since  a
244709                        rev wasn't specified), and because branch is not spec‐
244710                        ified, the branch in the local clone  at  /var/www/foo
244711                        would  be whatever the default branch is on the remote
244712                        repository (usually  master,  but  not  always).  Now,
244713                        assume that it becomes necessary to switch this check‐
244714                        out to the dev branch. This would require  rev  to  be
244715                        set, and probably would also require force_reset to be
244716                        enabled:
244717
244718                            foo_app:
244719                              git.latest:
244720                                - name: https://mydomain.tld/apps/foo.git
244721                                - target: /var/www/foo
244722                                - user: www
244723                                - rev: dev
244724                                - force_reset: True
244725
244726                        The result  of  this  state  would  be  to  perform  a
244727                        hard-reset  to origin/dev. Since branch was not speci‐
244728                        fied though, while /var/www/foo would reflect the con‐
244729                        tents  of  the  remote  repo's  dev  branch, the local
244730                        branch would still remain whatever it was when it  was
244731                        cloned. To make the local branch match the remote one,
244732                        set branch as well, like so:
244733
244734                            foo_app:
244735                              git.latest:
244736                                - name: https://mydomain.tld/apps/foo.git
244737                                - target: /var/www/foo
244738                                - user: www
244739                                - rev: dev
244740                                - branch: dev
244741                                - force_reset: True
244742
244743                        This may seem redundant, but Salt tries to  support  a
244744                        wide  variety  of  use  cases,  and  doing it this way
244745                        allows for the use case where the local branch doesn't
244746                        need to be strictly managed.
244747
244748              user   Local  system  user  under  which to run git commands. By
244749                     default, commands are run by the  user  under  which  the
244750                     minion is running.
244751
244752                     NOTE:
244753                        This  is  not  to  be  confused  with the username for
244754                        http(s)/SSH authentication.
244755
244756                     New in version 0.17.0.
244757
244758
244759              password
244760                     Windows only. Required when specifying user. This parame‐
244761                     ter will be ignored on non-Windows platforms.
244762
244763                     New in version 2016.3.4.
244764
244765
244766              update_head
244767                     True  If set to False, then the remote repository will be
244768                     fetched (if necessary) to ensure that the commit to which
244769                     rev  points  exists in the local checkout, but no changes
244770                     will be made to the local HEAD.
244771
244772                     New in version 2015.8.3.
244773
244774
244775              force_checkout
244776                     False When checking out the local branch, the state  will
244777                     fail if there are unwritten changes. Set this argument to
244778                     True to discard unwritten changes when checking out.
244779
244780              force_clone
244781                     False If the target directory exists and  is  not  a  git
244782                     repository,  then this state will fail. Set this argument
244783                     to True to remove the contents of  the  target  directory
244784                     and clone the repo into it.
244785
244786              force_fetch
244787                     False  If a fetch needs to be performed, non-fast-forward
244788                     fetches will cause this state to fail. Set this  argument
244789                     to  True to force the fetch even if it is a non-fast-for‐
244790                     ward update.
244791
244792                     New in version 2015.8.0.
244793
244794
244795              force_reset
244796                     False If the update is not  a  fast-forward,  this  state
244797                     will   fail.  Set  this  argument  to  True  to  force  a
244798                     hard-reset to the remote revision in these cases.
244799
244800                     Changed in version 2019.2.0: This option can now  be  set
244801                     to  remote-changes,  which will instruct Salt not to dis‐
244802                     card local changes if the repo  is  up-to-date  with  the
244803                     remote repository.
244804
244805
244806              submodules
244807                     False Update submodules on clone or branch change
244808
244809              bare   False Set to True if the repository is to be a bare clone
244810                     of the remote repository.
244811
244812              mirror Set to True if the repository is to be a  mirror  of  the
244813                     remote  repository.  This  implies that bare set to True,
244814                     and thus is incompatible with rev.
244815
244816              remote origin Git remote to use. If this state  needs  to  clone
244817                     the  repo,  it will clone it using this value as the ini‐
244818                     tial remote name. If the repository already exists, and a
244819                     remote by this name is not present, one will be added.
244820
244821              fetch_tags
244822                     True  If  True,  then  when a fetch is performed all tags
244823                     will be fetched, even those which are  not  reachable  by
244824                     any branch on the remote.
244825
244826              sync_tags
244827                     True  If  True, then Salt will delete tags which exist in
244828                     the local clone but are not found on the  remote  reposi‐
244829                     tory.
244830
244831                     New in version 2018.3.4.
244832
244833
244834              depth  Defines  depth  in  history when git a clone is needed in
244835                     order to ensure latest. E.g.  depth:  1  is  useful  when
244836                     deploying  from a repository with a long history. Use rev
244837                     to specify branch or tag. This  is  not  compatible  with
244838                     revision IDs.
244839
244840                     Changed  in  version  2019.2.0:  This option now supports
244841                     tags as well as branches, on Git 1.8.0 and newer.
244842
244843
244844              identity
244845                     Path to a private key to use for ssh URLs.  This  can  be
244846                     either  a  single string, or a list of strings. For exam‐
244847                     ple:
244848
244849                        # Single key
244850                        git@github.com:user/repo.git:
244851                          git.latest:
244852                            - user: deployer
244853                            - identity: /home/deployer/.ssh/id_rsa
244854
244855                        # Two keys
244856                        git@github.com:user/repo.git:
244857                          git.latest:
244858                            - user: deployer
244859                            - identity:
244860                              - /home/deployer/.ssh/id_rsa
244861                              - /home/deployer/.ssh/id_rsa_alternate
244862
244863                     If multiple  keys  are  specified,  they  will  be  tried
244864                     one-by-one  in  order for each git command which needs to
244865                     authenticate.
244866
244867                     WARNING:
244868                        Unless  Salt  is  invoked  from   the   minion   using
244869                        salt-call,  the  key(s)  must  be  passphraseless. For
244870                        greater security with passphraseless private keys, see
244871                        the  sshd(8)  manpage  for information on securing the
244872                        keypair from the remote side  in  the  authorized_keys
244873                        file.
244874
244875                     Changed  in version 2015.8.7: Salt will no longer attempt
244876                     to use passphrase-protected keys unless invoked from  the
244877                     minion  using  salt-call, to prevent blocking waiting for
244878                     user input.
244879
244880
244881                     Changed in version 2016.3.0: Key can now be specified  as
244882                     a  SaltStack  fileserver  URL (e.g.  salt://path/to/iden‐
244883                     tity_file).
244884
244885
244886              https_user
244887                     HTTP Basic Auth username for HTTPS (only) clones
244888
244889                     New in version 2015.5.0.
244890
244891
244892              https_pass
244893                     HTTP Basic Auth password for HTTPS (only) clones
244894
244895                     New in version 2015.5.0.
244896
244897
244898              onlyif A command to run as a check, run the named  command  only
244899                     if the command passed to the onlyif option returns true
244900
244901              unless A  command  to run as a check, only run the named command
244902                     if the command passed to the unless option returns false
244903
244904              refspec_branch
244905                     * A glob expression defining which branches  to  retrieve
244906                     when  fetching.  See git-fetch(1) for more information on
244907                     how refspecs work.
244908
244909                     New in version 2017.7.0.
244910
244911
244912              refspec_tag
244913                     * A glob expression defining which tags to retrieve  when
244914                     fetching.  See  git-fetch(1)  for more information on how
244915                     refspecs work.
244916
244917                     New in version 2017.7.0.
244918
244919
244920              output_encoding
244921                     Use this option to  specify  which  encoding  to  use  to
244922                     decode  the  output  from any git commands which are run.
244923                     This should not be needed in most cases.
244924
244925                     NOTE:
244926                        This should only be needed if the files in the reposi‐
244927                        tory  were  created  with  filenames using an encoding
244928                        other than UTF-8 to handle Unicode characters.
244929
244930                     New in version 2018.3.1.
244931
244932
244933              NOTE:
244934                 Clashing ID declarations can be avoided when  including  dif‐
244935                 ferent  branches from the same git repository in the same SLS
244936                 file by using the name argument. The example below checks out
244937                 the gh-pages and gh-pages-prod branches from the same reposi‐
244938                 tory into separate directories. The example also sets up  the
244939                 ssh_known_hosts ssh key required to perform the git checkout.
244940
244941                 Also, it has been reported that the SCP-like syntax for
244942
244943                     gitlab.example.com:
244944                       ssh_known_hosts:
244945                         - present
244946                         - user: root
244947                         - enc: ecdsa
244948                         - fingerprint: 4e:94:b0:54:c1:5b:29:a2:70:0e:e1:a3:51:ee:ee:e3
244949
244950                     git-website-staging:
244951                       git.latest:
244952                         - name: git@gitlab.example.com:user/website.git
244953                         - rev: gh-pages
244954                         - target: /usr/share/nginx/staging
244955                         - identity: /root/.ssh/website_id_rsa
244956                         - require:
244957                           - pkg: git
244958                           - ssh_known_hosts: gitlab.example.com
244959
244960                     git-website-staging:
244961                       git.latest:
244962                         - name: git@gitlab.example.com:user/website.git
244963                         - rev: gh-pages
244964                         - target: /usr/share/nginx/staging
244965                         - identity: salt://website/id_rsa
244966                         - require:
244967                           - pkg: git
244968                           - ssh_known_hosts: gitlab.example.com
244969
244970                     git-website-prod:
244971                       git.latest:
244972                         - name: git@gitlab.example.com:user/website.git
244973                         - rev: gh-pages-prod
244974                         - target: /usr/share/nginx/prod
244975                         - identity: /root/.ssh/website_id_rsa
244976                         - require:
244977                           - pkg: git
244978                           - ssh_known_hosts: gitlab.example.com
244979
244980       salt.states.git.mod_run_check(cmd_kwargs, onlyif, unless)
244981              Execute the onlyif and unless logic. Return a result dict if:
244982
244983              · onlyif failed (onlyif != 0)
244984
244985              · unless succeeded (unless == 0)
244986
244987              Otherwise, returns True
244988
244989       salt.states.git.present(name,  force=False,  bare=True,  template=None,
244990       separate_git_dir=None,  shared=None,  user=None,  password=None,   out‐
244991       put_encoding=None)
244992              Ensure that a repository exists in the given directory
244993
244994              WARNING:
244995                 If  the minion has Git 2.5 or later installed, name points to
244996                 a worktree, and force is set to True, then the worktree  will
244997                 be deleted. This has been corrected in Salt 2015.8.0.
244998
244999              name   Path to the directory
245000
245001                     Changed  in version 2015.8.0: This path must now be abso‐
245002                     lute
245003
245004
245005              force  False If True, and if name points to an  existing  direc‐
245006                     tory  which  does  not contain a git repository, then the
245007                     contents of that directory will  be  recursively  removed
245008                     and a new repository will be initialized in its place.
245009
245010              bare   True  If True, and a repository must be initialized, then
245011                     the repository will be a bare repository.
245012
245013                     NOTE:
245014                        This differs from the default  behavior  of  git.init,
245015                        make sure to set this value to False if a bare repo is
245016                        not desired.
245017
245018              template
245019                     If a new repository is initialized,  this  argument  will
245020                     specify an alternate template directory.
245021
245022                     New in version 2015.8.0.
245023
245024
245025              separate_git_dir
245026                     If  a  new  repository is initialized, this argument will
245027                     specify an alternate $GIT_DIR
245028
245029                     New in version 2015.8.0.
245030
245031
245032              shared Set sharing permissions on git repo. See git-init(1)  for
245033                     more details.
245034
245035                     New in version 2015.5.0.
245036
245037
245038              user   User  under  which  to run git commands. By default, com‐
245039                     mands are run by the user under which the minion is  run‐
245040                     ning.
245041
245042                     New in version 0.17.0.
245043
245044
245045              password
245046                        Windows  only.  Required  when  specifying  user. This
245047                        parameter will be ignored on non-Windows platforms.
245048
245049                     New in version 2016.3.4.
245050
245051
245052              output_encoding
245053                     Use this option to  specify  which  encoding  to  use  to
245054                     decode  the  output  from any git commands which are run.
245055                     This should not be needed in most cases.
245056
245057                     NOTE:
245058                        This should only be needed if the files in the reposi‐
245059                        tory  were  created  with  filenames using an encoding
245060                        other than UTF-8 to handle Unicode characters.
245061
245062                     New in version 2018.3.1.
245063
245064
245065   salt.states.github module
245066       Github User State Module
245067
245068       New in version 2016.3.0..
245069
245070
245071       This state is used to ensure presence of users in the Organization.
245072
245073          ensure user test is present in github:
245074              github.present:
245075                  - name: 'Example TestUser1'
245076                  - email: example@domain.com
245077                  - username: 'gitexample'
245078
245079       salt.states.github.absent(name, profile=u'github', **kwargs)
245080              Ensure a github user is absent
245081
245082                 ensure user test is absent in github:
245083                     github.absent:
245084                         - name: 'Example TestUser1'
245085                         - email: example@domain.com
245086                         - username: 'gitexample'
245087
245088              The following parameters are required:
245089
245090              name   Github handle of the user in organization
245091
245092       salt.states.github.present(name, profile=u'github', **kwargs)
245093              Ensure a user is present
245094
245095                 ensure user test is present in github:
245096                     github.present:
245097                         - name: 'gitexample'
245098
245099              The following parameters are required:
245100
245101              name   This is the github handle of the user in the organization
245102
245103       salt.states.github.repo_absent(name, profile=u'github', **kwargs)
245104              Ensure a repo is absent.
245105
245106              Example:
245107
245108                 ensure repo test is absent in github:
245109                     github.repo_absent:
245110                         - name: 'test'
245111
245112              The following parameters are required:
245113
245114              name   This is the name of the repository in the organization.
245115
245116              New in version 2016.11.0.
245117
245118
245119       salt.states.github.repo_present(name, description=None,  homepage=None,
245120       private=None,   has_issues=None,   has_wiki=None,   has_downloads=None,
245121       auto_init=False,    gitignore_template=None,     license_template=None,
245122       teams=None, profile=u'github', **kwargs)
245123              Ensure a repository is present
245124
245125              name   This is the name of the repository.
245126
245127              description
245128                     The description of the repository.
245129
245130              homepage
245131                     The URL with more information about the repository.
245132
245133              private
245134                     The visiblity of the repository. Note that private repos‐
245135                     itories require a paid GitHub account.
245136
245137              has_issues
245138                     Whether to enable issues for this repository.
245139
245140              has_wiki
245141                     Whether to enable the wiki for this repository.
245142
245143              has_downloads
245144                     Whether to enable downloads for this repository.
245145
245146              auto_init
245147                     Whether to create an initial commit with an empty README.
245148
245149              gitignore_template
245150                     The desired language or platform for  a  .gitignore,  e.g
245151                     "Haskell".
245152
245153              license_template
245154                     The  desired  LICENSE  template  to  apply,  e.g "mit" or
245155                     "mozilla".
245156
245157              teams  The teams for which this repo should belong to, specified
245158                     as  a  dict of team name to permission ('pull', 'push' or
245159                     'admin').
245160
245161                     New in version 2017.7.0.
245162
245163
245164              Example:
245165
245166                 Ensure repo my-repo is present in github:
245167                     github.repo_present:
245168                         - name: 'my-repo'
245169                         - description: 'My very important repository'
245170
245171              New in version 2016.11.0.
245172
245173
245174       salt.states.github.team_absent(name, profile=u'github', **kwargs)
245175              Ensure a team is absent.
245176
245177              Example:
245178
245179                 ensure team test is present in github:
245180                     github.team_absent:
245181                         - name: 'test'
245182
245183              The following parameters are required:
245184
245185              name   This is the name of the team in the organization.
245186
245187              New in version 2016.11.0.
245188
245189
245190       salt.states.github.team_present(name,                 description=None,
245191       repo_names=None,  privacy=u'secret',  permission=u'pull', members=None,
245192       enforce_mfa=False, no_mfa_grace_seconds=0, profile=u'github', **kwargs)
245193              Ensure a team is present
245194
245195              name   This is the name of the team in the organization.
245196
245197              description
245198                     The description of the team.
245199
245200              repo_names
245201                     The names of repositories to add the team to.
245202
245203              privacy
245204                     The level of privacy for the team,  can  be  'secret'  or
245205                     'closed'. Defaults to secret.
245206
245207              permission
245208                     The  default permission for new repositories added to the
245209                     team, can be 'pull', 'push' or 'admin'. Defaults to pull.
245210
245211              members
245212                     The members belonging to the team, specified as a dict of
245213                     member  name  to  optional configuration. Options include
245214                     'enforce_mfa_from' and 'mfa_exempt'.
245215
245216              enforce_mfa
245217                     Whether to enforce MFA requirements  on  members  of  the
245218                     team.  If  True then all members without mfa_exempt: True
245219                     configured will be  removed  from  the  team.  Note  that
245220                     no_mfa_grace_seconds  may be set to allow members a grace
245221                     period.
245222
245223              no_mfa_grace_seconds
245224                     The number of seconds of grace time that  a  member  will
245225                     have  to  enable  MFA before being removed from the team.
245226                     The grace period will begin from enforce_mfa_from on  the
245227                     member configuration, which defaults to 1970/01/01.
245228
245229              Example:
245230
245231                 Ensure team test is present in github:
245232                     github.team_present:
245233                         - name: 'test'
245234                         - members:
245235                             user1: {}
245236                             user2: {}
245237
245238                 Ensure team test_mfa is present in github:
245239                     github.team_present:
245240                         - name: 'test_mfa'
245241                         - members:
245242                             user1:
245243                                 enforce_mfa_from: 2016/06/15
245244                         - enforce_mfa: True
245245
245246              New in version 2016.11.0.
245247
245248
245249   salt.states.glance
245250   Managing Images in OpenStack Glance
245251       salt.states.glance.image_present(name,    visibility=u'public',    pro‐
245252       tected=None,    checksum=None,    location=None,    disk_format=u'raw',
245253       wait_for=None, timeout=30)
245254              Checks  if  given image is present with properties set as speci‐
245255              fied.
245256
245257              An image should got through the stages 'queued', 'saving' before
245258              becoming  'active'. The attribute 'checksum' can only be checked
245259              once the image is active.  If you don't specify  'wait_for'  but
245260              'checksum' the function will wait for the image to become active
245261              before comparing checksums. If you don't specify checksum either
245262              the  function  will return when the image reached 'saving'.  The
245263              default timeout for both is 30 seconds.
245264
245265              Supported properties:
245266
245267                     · visibility ('public' or 'private')
245268
245269                     · protected (bool)
245270
245271                     · checksum (string, md5sum)
245272
245273                     · location (URL, to copy from)
245274
245275                     · disk_format ('raw' (default),  'vhd',  'vhdx',  'vmdk',
245276                       'vdi', 'iso', 'qcow2', 'aki', 'ari' or 'ami')
245277
245278   salt.states.glance_image
245279   Management of OpenStack Glance Images
245280       New in version 2018.3.0.
245281
245282
245283       depends
245284              shade
245285
245286       configuration
245287              see salt.modules.glanceng for setup instructions
245288
245289       Example States
245290
245291          create image:
245292            glance_image.present:
245293              - name: cirros
245294              - filename: cirros.raw
245295              - image_format: raw
245296
245297          delete image:
245298            glance_image.absent:
245299              - name: cirros
245300
245301       salt.states.glance_image.absent(name, auth=None)
245302              Ensure image does not exist
245303
245304              name   Name of the image
245305
245306       salt.states.glance_image.present(name, auth=None, **kwargs)
245307              Ensure image exists and is up-to-date
245308
245309              name   Name of the image
245310
245311              enabled
245312                     Boolean to control if image is enabled
245313
245314              description
245315                     An arbitrary description of the image
245316
245317   salt.states.glusterfs
245318       Manage GlusterFS pool.
245319
245320       salt.states.glusterfs.add_volume_bricks(name, bricks)
245321              Add brick(s) to an existing volume
245322
245323              name   Volume name
245324
245325              bricks List of bricks to add to the volume
245326
245327                 myvolume:
245328                   glusterfs.add_volume_bricks:
245329                     - bricks:
245330                         - host1:/srv/gluster/drive1
245331                         - host2:/srv/gluster/drive2
245332
245333                 Replicated Volume:
245334                   glusterfs.add_volume_bricks:
245335                     - name: volume2
245336                     - bricks:
245337                       - host1:/srv/gluster/drive2
245338                       - host2:/srv/gluster/drive3
245339
245340       salt.states.glusterfs.max_op_version(name)
245341              New in version 2019.2.0.
245342
245343
245344              Add brick(s) to an existing volume
245345
245346              name   Volume name
245347
245348                 myvolume:
245349                   glusterfs.max_op_version:
245350                     - name: volume1
245351                     - version: 30707
245352
245353       salt.states.glusterfs.op_version(name, version)
245354              New in version 2019.2.0.
245355
245356
245357              Add brick(s) to an existing volume
245358
245359              name   Volume name
245360
245361              version
245362                     Version to which the cluster.op-version should be set
245363
245364                 myvolume:
245365                   glusterfs.op_version:
245366                     - name: volume1
245367                     - version: 30707
245368
245369       salt.states.glusterfs.peered(name)
245370              Check if node is peered.
245371
245372              name   The remote host with which to peer.
245373
245374                 peer-cluster:
245375                   glusterfs.peered:
245376                     - name: two
245377
245378                 peer-clusters:
245379                   glusterfs.peered:
245380                     - names:
245381                       - one
245382                       - two
245383                       - three
245384                       - four
245385
245386       salt.states.glusterfs.started(name)
245387              Check if volume has been started
245388
245389              name   name of the volume
245390
245391                 mycluster:
245392                   glusterfs.started: []
245393
245394       salt.states.glusterfs.volume_present(name,     bricks,    stripe=False,
245395       replica=False,    device_vg=False,    transport=u'tcp',    start=False,
245396       force=False, arbiter=False)
245397              Ensure that the volume exists
245398
245399              name   name of the volume
245400
245401              bricks list of brick paths
245402
245403              replica
245404                     replica count for volume
245405
245406              arbiter
245407                     use every third brick as arbiter (metadata only)
245408
245409                     New in version 2019.2.0.
245410
245411
245412              start  ensure that the volume is also started
245413
245414                 myvolume:
245415                   glusterfs.volume_present:
245416                     - bricks:
245417                         - host1:/srv/gluster/drive1
245418                         - host2:/srv/gluster/drive2
245419
245420                 Replicated Volume:
245421                   glusterfs.volume_present:
245422                     - name: volume2
245423                     - bricks:
245424                       - host1:/srv/gluster/drive2
245425                       - host2:/srv/gluster/drive3
245426                     - replica: 2
245427                     - start: True
245428
245429                 Replicated Volume with arbiter brick:
245430                   glusterfs.volume_present:
245431                     - name: volume3
245432                     - bricks:
245433                       - host1:/srv/gluster/drive2
245434                       - host2:/srv/gluster/drive3
245435                       - host3:/srv/gluster/drive4
245436                     - replica: 3
245437                     - arbiter: True
245438                     - start: True
245439
245440   salt.states.gnomedesktop
245441   Configuration of the GNOME desktop
245442       Control the GNOME settings
245443
245444          localdesktop_wm_prefs:
245445              gnomedesktop.wm_preferences:
245446                  - user: username
245447                  - audible_bell: false
245448                  - action_double_click_titlebar: 'toggle-maximize'
245449                  - visual_bell: true
245450                  - num_workspaces: 6
245451          localdesktop_lockdown:
245452              gnomedesktop.desktop_lockdown:
245453                  - user: username
245454                  - disable_user_switching: true
245455          localdesktop_interface:
245456              gnomedesktop.desktop_interface:
245457                  - user: username
245458                  - clock_show_date: true
245459                  - clock_format: 12h
245460
245461       salt.states.gnomedesktop.desktop_interface(name,    user=None,    auto‐
245462       matic_mnemonics=None, buttons_have_icons=None,  can_change_accels=None,
245463       clock_format=None,  clock_show_date=None, clock_show_seconds=None, cur‐
245464       sor_blink=None, cursor_blink_time=None, cursor_blink_timeout=None, cur‐
245465       sor_size=None,  cursor_theme=None, document_font_name=None, enable_ani‐
245466       mations=None,          font_name=None,          gtk_color_palette=None,
245467       gtk_color_scheme=None,  gtk_im_module=None,  gtk_im_preedit_style=None,
245468       gtk_im_status_style=None, gtk_key_theme=None, gtk_theme=None, gtk_time‐
245469       out_initial=None,       gtk_timeout_repeat=None,       icon_theme=None,
245470       menubar_accel=None,   menubar_detachable=None,   menus_have_icons=None,
245471       menus_have_tearoff=None,                      monospace_font_name=None,
245472       show_input_method_menu=None, show_unicode_menu=None,  text_scaling_fac‐
245473       tor=None,   toolbar_detachable=None,   toolbar_icons_size=None,   tool‐
245474       bar_style=None, toolkit_accessibility=None, **kwargs)
245475              desktop_interface: sets values in  the  org.gnome.desktop.inter‐
245476              face schema
245477
245478       salt.states.gnomedesktop.desktop_lockdown(name,     user=None,     dis‐
245479       able_application_handlers=None,     disable_command_line=None,     dis‐
245480       able_lock_screen=None,  disable_log_out=None, disable_print_setup=None,
245481       disable_printing=None, disable_save_to_disk=None,  disable_user_switch‐
245482       ing=None, user_administration_disabled=None, **kwargs)
245483              desktop_lockdown:  sets values in the org.gnome.desktop.lockdown
245484              schema
245485
245486       salt.states.gnomedesktop.wm_preferences(name,  user=None,   action_dou‐
245487       ble_click_titlebar=None,             action_middle_click_titlebar=None,
245488       action_right_click_titlebar=None,     application_based=None,     audi‐
245489       ble_bell=None,   auto_raise=None,   auto_raise_delay=None,  button_lay‐
245490       out=None,  disable_workarounds=None,  focus_mode=None,   focus_new_win‐
245491       dows=None,       mouse_button_modifier=None,       num_workspaces=None,
245492       raise_on_click=None, resize_with_right_button=None, theme=None,  title‐
245493       bar_font=None,  titlebar_uses_system_font=None,  visual_bell=None, vis‐
245494       ual_bell_type=None, workspace_names=None, **kwargs)
245495              wm_preferences: sets values in the  org.gnome.desktop.wm.prefer‐
245496              ences schema
245497
245498   salt.states.gpg module
245499   Management of the GPG keychains
245500       New in version 2016.3.0.
245501
245502
245503       salt.states.gpg.absent(name,   keys=None,   user=None,  gnupghome=None,
245504       **kwargs)
245505              Ensure GPG public key is absent in keychain
245506
245507              name   The unique name or keyid for the GPG public key.
245508
245509              keys   The keyId or keyIds to add to the GPG keychain.
245510
245511              user   Remove GPG keys from the specified user's keychain
245512
245513              gnupghome
245514                     Override GNUPG Home directory
245515
245516       salt.states.gpg.present(name,  keys=None,  user=None,   keyserver=None,
245517       gnupghome=None, trust=None, **kwargs)
245518              Ensure GPG public key is present in keychain
245519
245520              name   The unique name or keyid for the GPG public key.
245521
245522              keys   The keyId or keyIds to add to the GPG keychain.
245523
245524              user   Add GPG keys to the specified user's keychain
245525
245526              keyserver
245527                     The keyserver to retrieve the keys from.
245528
245529              gnupghome
245530                     Override GNUPG Home directory
245531
245532              trust  Trust  level  for  the  key  in  the keychain, ignored by
245533                     default.    Valid   trust   levels:   expired,   unknown,
245534                     not_trusted, marginally, fully, ultimately
245535
245536   salt.states.grafana
245537       Manage Grafana Dashboards
245538
245539       This  module uses elasticsearch, which can be installed via package, or
245540       pip.
245541
245542       You can specify elasticsearch hosts directly to the module, or you  can
245543       use an elasticsearch profile via pillars:
245544
245545          mygrafanaprofile:
245546            hosts:
245547              - es1.example.com:9200
245548              - es2.example.com:9200
245549            index: grafana-dash
245550
245551          # Basic usage (uses default pillar profile key 'grafana')
245552          Ensure myservice dashboard is managed:
245553            grafana.dashboard_present:
245554              - name: myservice
245555              - dashboard_from_pillar: default
245556              - rows_from_pillar:
245557                  - systemhealth
245558                  - requests
245559
245560          # Passing hosts in
245561          Ensure myservice dashboard is managed:
245562            grafana.dashboard_present:
245563              - name: myservice
245564              - dashboard_from_pillar: default
245565              - rows:
245566                  - collapse: false
245567                    editable: true
245568                    height: 150px
245569                    title: System Health
245570                    panels:
245571                      - aliasColors: {}
245572                        id: 200000
245573                        annotate:
245574                          enable: false
245575                        bars: false
245576                        datasource: null
245577                        editable: true
245578                        error: false
245579                        fill: 7
245580                        grid:
245581                          leftMax: 100
245582                          leftMin: null
245583                          rightMax: null
245584                          rightMin: null
245585                          threshold1: 60
245586                          threshold1Color: rgb(216, 27, 27)
245587                          threshold2: null
245588                          threshold2Color: rgba(234, 112, 112, 0.22)
245589                        leftYAxisLabel: ''
245590                        legend:
245591                          avg: false
245592                          current: false
245593                          max: false
245594                          min: false
245595                          show: false
245596                          total: false
245597                          values: false
245598                        lines: true
245599                        linewidth: 1
245600                        nullPointMode: connected
245601                        percentage: false
245602                        pointradius: 5
245603                        points: false
245604                        renderer: flot
245605                        resolution: 100
245606                        scale: 1
245607                        seriesOverrides: []
245608                        span: 4
245609                        stack: false
245610                        steppedLine: false
245611                        targets:
245612                          - target: cloudwatch.aws.ec2.mysrv.cpuutilization.average
245613                        title: CPU (asg average)
245614                        tooltip:
245615                          query_as_alias: true
245616                          shared: false
245617                          value_type: cumulative
245618                        type: graph
245619                        x-axis: true
245620                        y-axis: true
245621                        y_formats:
245622                          - short
245623                          - short
245624                        zerofill: true
245625              - rows_from_pillar:
245626                - systemhealth
245627                - requests
245628              - profile:
245629                  hosts:
245630                    - es1.example.com:9200
245631                    - es2.example.com:9200
245632                  index: grafana-dash
245633
245634          # Using a profile from pillars
245635          Ensure myservice dashboard is managed:
245636            grafana.dashboard_present:
245637              - name: myservice
245638              - dashboard:
245639                  annotations:
245640                    enable: true
245641                    list: []
245642                  editable: true
245643                  hideAllLegends: false
245644                  hideControls: false
245645                  nav:
245646                    - collapse: false
245647                      enable: true
245648                      notice: false
245649                      now: true
245650                      refresh_intervals:
245651                        - 10s
245652                        - 30s
245653                        - 1m
245654                        - 5m
245655                        - 15m
245656                        - 30m
245657                        - 1h
245658                        - 2h
245659                        - 1d
245660                      status: Stable
245661                      time_options:
245662                        - 5m
245663                        - 15m
245664                        - 1h
245665                        - 2h
245666                        - 3h
245667                        - 4h
245668                        - 6h
245669                        - 12h
245670                        - 1d
245671                        - 2d
245672                        - 4d
245673                        - 7d
245674                        - 16d
245675                        - 30d
245676                      type: timepicker
245677                  originalTitle: dockerregistry
245678                  refresh: 1m
245679                  rows: []
245680                  sharedCrosshair: false
245681                  style: dark
245682                  tags: []
245683                  templating:
245684                    enable: true
245685                    list: []
245686                  time:
245687                    from: now-2h
245688                    to: now
245689                  timezone: browser
245690              - rows_from_pillars:
245691                - systemhealth
245692                - requests
245693              - profile: mygrafanaprofile
245694
245695       The  behavior  of  this  module  is to create dashboards if they do not
245696       exist, to add rows if they do not exist in existing dashboards, and  to
245697       update  rows  if  they  exist in dashboards. The module will not manage
245698       rows that are not defined, allowing users to manage  their  own  custom
245699       rows.
245700
245701       salt.states.grafana.dashboard_absent(name,       hosts=None,       pro‐
245702       file=u'grafana')
245703              Ensure the named grafana dashboard is deleted.
245704
245705              name   Name of the grafana dashboard.
245706
245707              profile
245708                     A pillar key or dict that contains a list of hosts and an
245709                     elasticsearch index to use.
245710
245711       salt.states.grafana.dashboard_present(name,    dashboard=None,    dash‐
245712       board_from_pillar=None,    rows=None,    rows_from_pillar=None,    pro‐
245713       file=u'grafana')
245714              Ensure the grafana dashboard exists and is managed.
245715
245716              name   Name of the grafana dashboard.
245717
245718              dashboard
245719                     A dict that defines a dashboard that should be managed.
245720
245721              dashboard_from_pillar
245722                     A  pillar  key  that  contains  a grafana dashboard dict.
245723                     Mutually exclusive with dashboard.
245724
245725              rows   A list of grafana rows.
245726
245727              rows_from_pillar
245728                     A list of pillar keys that contain lists of grafana dash‐
245729                     board rows.  Rows defined in the pillars will be appended
245730                     to the rows defined in the state.
245731
245732              profile
245733                     A pillar key or dict that contains a list of hosts and an
245734                     elasticsearch index to use.
245735
245736   salt.states.grafana4_dashboard module
245737       Manage Grafana v4.0 Dashboards
245738
245739       New in version 2017.7.0.
245740
245741
245742       configuration
245743              This  state requires a configuration profile to be configured in
245744              the minion config, minion pillar, or master config.  The  module
245745              will use the 'grafana' key by default, if defined.
245746
245747              Example configuration using basic authentication:
245748
245749                 grafana:
245750                   grafana_url: http://grafana.localhost
245751                   grafana_user: admin
245752                   grafana_password: admin
245753                   grafana_timeout: 3
245754
245755              Example configuration using token based authentication:
245756
245757                 grafana:
245758                   grafana_url: http://grafana.localhost
245759                   grafana_token: token
245760                   grafana_timeout: 3
245761
245762       The  behavior  of  this  module  is to create dashboards if they do not
245763       exist, to add rows if they do not exist in existing dashboards, and  to
245764       update  rows  if  they  exist in dashboards. The module will not manage
245765       rows that are not defined, allowing users to manage  their  own  custom
245766       rows.
245767
245768          Ensure minimum dashboard is managed:
245769            grafana4_dashboard.present:
245770              - name: insightful-dashboard
245771              - base_dashboards_from_pillar:
245772                - default_dashboard
245773              - base_rows_from_pillar:
245774                - default_row
245775              - base_panels_from_pillar:
245776                - default_panel
245777              - dashboard:
245778                  rows:
245779                    - title: Usage
245780                      panels:
245781                        - targets:
245782                            - target: alias(constantLine(50), 'max')
245783                          title: Imaginary
245784                          type: graph
245785
245786       salt.states.grafana4_dashboard.absent(name,      orgname=None,     pro‐
245787       file=u'grafana')
245788              Ensure the named grafana dashboard is absent.
245789
245790              name   Name of the grafana dashboard.
245791
245792              orgname
245793                     Name of the organization in which the dashboard should be
245794                     present.
245795
245796              profile
245797                     Configuration  profile  used  to  connect  to the Grafana
245798                     instance.  Default is 'grafana'.
245799
245800       salt.states.grafana4_dashboard.present(name,  base_dashboards_from_pil‐
245801       lar=None,   base_panels_from_pillar=None,   base_rows_from_pillar=None,
245802       dashboard=None, orgname=None, profile=u'grafana')
245803              Ensure the grafana dashboard exists and is managed.
245804
245805              name   Name of the grafana dashboard.
245806
245807              base_dashboards_from_pillar
245808                     A pillar key  that  contains  a  list  of  dashboards  to
245809                     inherit from
245810
245811              base_panels_from_pillar
245812                     A  pillar  key  that contains a list of panels to inherit
245813                     from
245814
245815              base_rows_from_pillar
245816                     A pillar key that contains a list of rows to inherit from
245817
245818              dashboard
245819                     A dict that defines a dashboard that should be managed.
245820
245821              orgname
245822                     Name of the organization in which the dashboard should be
245823                     present.
245824
245825              profile
245826                     Configuration  profile  used  to  connect  to the Grafana
245827                     instance.  Default is 'grafana'.
245828
245829   salt.states.grafana4_datasource module
245830       Manage Grafana v4.0 data sources
245831
245832       New in version 2017.7.0.
245833
245834
245835       configuration
245836              This state requires a configuration profile to be configured  in
245837              the  minion  config, minion pillar, or master config. The module
245838              will use the 'grafana' key by default, if defined.
245839
245840              Example configuration using basic authentication:
245841
245842                 grafana:
245843                   grafana_url: http://grafana.localhost
245844                   grafana_user: admin
245845                   grafana_password: admin
245846                   grafana_timeout: 3
245847
245848              Example configuration using token based authentication:
245849
245850                 grafana:
245851                   grafana_url: http://grafana.localhost
245852                   grafana_token: token
245853                   grafana_timeout: 3
245854
245855       The behavior of this module is to create data sources  if  the  do  not
245856       exists, and to update data sources if the already exists.
245857
245858          Ensure influxdb data source is present:
245859            grafana4_datasource.present:
245860              - name: influxdb
245861              - type: influxdb
245862              - url: http://localhost:8086
245863              - access: proxy
245864              - basic_auth: true
245865              - basic_auth_user: myuser
245866              - basic_auth_password: mypass
245867              - is_default: true
245868
245869       salt.states.grafana4_datasource.absent(name,     orgname=None,     pro‐
245870       file=u'grafana')
245871              Ensure that a data source is present.
245872
245873              name   Name of the data source to remove.
245874
245875              orgname
245876                     Name of the  organization  from  which  the  data  source
245877                     should be absent.
245878
245879              profile
245880                     Configuration  profile  used  to  connect  to the Grafana
245881                     instance.  Default is 'grafana'.
245882
245883       salt.states.grafana4_datasource.present(name, type,  url,  access=None,
245884       user=None,      password=None,      database=None,     basic_auth=None,
245885       basic_auth_user=None,     basic_auth_password=None,      tls_auth=None,
245886       json_data=None,         is_default=None,         with_credentials=None,
245887       type_logo_url=None, orgname=None, profile=u'grafana')
245888              Ensure that a data source is present.
245889
245890              name   Name of the data source.
245891
245892              type   Type of the datasource ('graphite', 'influxdb' etc.).
245893
245894              access Use proxy or direct. Default: proxy
245895
245896              url    The URL to the data source API.
245897
245898              user   Optional - user to authenticate with the data source.
245899
245900              password
245901                     Optional - password to authenticate with the data source.
245902
245903              database
245904                     Optional - database to use with the data source.
245905
245906              basic_auth
245907                     Optional - set to True to use HTTP basic auth to  authen‐
245908                     ticate with the data source.
245909
245910              basic_auth_user
245911                     Optional - HTTP basic auth username.
245912
245913              basic_auth_password
245914                     Optional - HTTP basic auth password.
245915
245916              json_data
245917                     Optional  - additional json data to post (eg. "timeInter‐
245918                     val").
245919
245920              is_default
245921                     Optional - set data source as default.
245922
245923              with_credentials
245924                     Optional - Whether credentials such as  cookies  or  auth
245925                     headers should be sent with cross-site requests.
245926
245927              type_logo_url
245928                     Optional - Logo to use for this datasource.
245929
245930              orgname
245931                     Name  of the organization in which the data source should
245932                     be present.
245933
245934              profile
245935                     Configuration profile used  to  connect  to  the  Grafana
245936                     instance.  Default is 'grafana'.
245937
245938   salt.states.grafana4_org module
245939       Manage Grafana v4.0 orgs
245940
245941       New in version 2017.7.0.
245942
245943
245944       configuration
245945              This  state requires a configuration profile to be configured in
245946              the minion config, minion pillar, or master config.  The  module
245947              will use the 'grafana' key by default, if defined.
245948
245949              Example configuration using basic authentication:
245950
245951                 grafana:
245952                   grafana_url: http://grafana.localhost
245953                   grafana_user: admin
245954                   grafana_password: admin
245955                   grafana_timeout: 3
245956
245957              Example configuration using token based authentication:
245958
245959                 grafana:
245960                   grafana_url: http://grafana.localhost
245961                   grafana_token: token
245962                   grafana_timeout: 3
245963
245964          Ensure foobar org is present:
245965            grafana4_org.present:
245966              - name: foobar
245967              - theme:  ""
245968              - home_dashboard_id: 0
245969              - timezone: "utc"
245970              - address1: ""
245971              - address2: ""
245972              - city: ""
245973              - zip_code: ""
245974              - state: ""
245975              - country: ""
245976
245977       salt.states.grafana4_org.absent(name, profile=u'grafana')
245978              Ensure that a org is present.
245979
245980              name   Name of the org to remove.
245981
245982              profile
245983                     Configuration  profile  used  to  connect  to the Grafana
245984                     instance.  Default is 'grafana'.
245985
245986       salt.states.grafana4_org.present(name,     users=None,      theme=None,
245987       home_dashboard_id=None,  timezone=None,  address1=None,  address2=None,
245988       city=None,  zip_code=None,   address_state=None,   country=None,   pro‐
245989       file=u'grafana')
245990              Ensure that an organization is present.
245991
245992              name   Name of the org.
245993
245994              users  Optional  -  Dict  of  user/role associated with the org.
245995                     Example:
245996
245997                        users:
245998                          foo: Viewer
245999                          bar: Editor
246000
246001              theme  Optional - Selected theme for the org.
246002
246003              home_dashboard_id
246004                     Optional - Home dashboard for the org.
246005
246006              timezone
246007                     Optional - Timezone  for  the  org  (one  of:  "browser",
246008                     "utc", or "").
246009
246010              address1
246011                     Optional - address1 of the org.
246012
246013              address2
246014                     Optional - address2 of the org.
246015
246016              city   Optional - city of the org.
246017
246018              zip_code
246019                     Optional - zip_code of the org.
246020
246021              address_state
246022                     Optional - state of the org.
246023
246024              country
246025                     Optional - country of the org.
246026
246027              profile
246028                     Configuration  profile  used  to  connect  to the Grafana
246029                     instance.  Default is 'grafana'.
246030
246031   salt.states.grafana4_user module
246032       Manage Grafana v4.0 users
246033
246034       New in version 2017.7.0.
246035
246036
246037       configuration
246038              This state requires a configuration profile to be configured  in
246039              the  minion  config, minion pillar, or master config. The module
246040              will use the 'grafana' key by default, if defined.
246041
246042              Example configuration using basic authentication:
246043
246044                 grafana:
246045                   grafana_url: http://grafana.localhost
246046                   grafana_user: admin
246047                   grafana_password: admin
246048                   grafana_timeout: 3
246049
246050              Example configuration using token based authentication:
246051
246052                 grafana:
246053                   grafana_url: http://grafana.localhost
246054                   grafana_token: token
246055                   grafana_timeout: 3
246056
246057          Ensure foobar user is present:
246058            grafana4_user.present:
246059              - name: foobar
246060              - password: mypass
246061              - email: "foobar@localhost"
246062              - fullname: Foo Bar
246063              - is_admin: true
246064
246065       salt.states.grafana4_user.absent(name, profile=u'grafana')
246066              Ensure that a user is present.
246067
246068              name   Name of the user to remove.
246069
246070              profile
246071                     Configuration profile used  to  connect  to  the  Grafana
246072                     instance.  Default is 'grafana'.
246073
246074       salt.states.grafana4_user.present(name,         password,        email,
246075       is_admin=False, fullname=None, theme=None, profile=u'grafana')
246076              Ensure that a user is present.
246077
246078              name   Name of the user.
246079
246080              password
246081                     Password of the user.
246082
246083              email  Email of the user.
246084
246085              is_admin
246086                     Optional - Set user as admin user. Default: False
246087
246088              fullname
246089                     Optional - Full name of the user.
246090
246091              theme  Optional - Selected theme of the user.
246092
246093              profile
246094                     Configuration profile used  to  connect  to  the  Grafana
246095                     instance.  Default is 'grafana'.
246096
246097   salt.states.grafana_dashboard module
246098       Manage Grafana v2.0 Dashboards
246099
246100       New in version 2016.3.0.
246101
246102
246103          grafana:
246104            grafana_timeout: 3
246105            grafana_token: qwertyuiop
246106            grafana_url: 'https://url.com'
246107
246108          Ensure minimum dashboard is managed:
246109            grafana_dashboard.present:
246110              - name: insightful-dashboard
246111              - base_dashboards_from_pillar:
246112                - default_dashboard
246113              - base_rows_from_pillar:
246114                - default_row
246115              - base_panels_from_pillar:
246116                - default_panel
246117              - dashboard:
246118                  rows:
246119                    - title: Usage
246120                      panels:
246121                        - targets:
246122                            - target: alias(constantLine(50), 'max')
246123                          title: Imaginary
246124                          type: graph
246125
246126       The  behavior  of  this  module  is to create dashboards if they do not
246127       exist, to add rows if they do not exist in existing dashboards, and  to
246128       update  rows  if  they  exist in dashboards. The module will not manage
246129       rows that are not defined, allowing users to manage  their  own  custom
246130       rows.
246131
246132       salt.states.grafana_dashboard.absent(name, profile=u'grafana')
246133              Ensure the named grafana dashboard is absent.
246134
246135              name   Name of the grafana dashboard.
246136
246137              profile
246138                     A pillar key or dict that contains grafana information
246139
246140       salt.states.grafana_dashboard.present(name,   base_dashboards_from_pil‐
246141       lar=None,   base_panels_from_pillar=None,   base_rows_from_pillar=None,
246142       dashboard=None, profile=u'grafana')
246143              Ensure the grafana dashboard exists and is managed.
246144
246145              name   Name of the grafana dashboard.
246146
246147              base_dashboards_from_pillar
246148                     A  pillar  key  that  contains  a  list  of dashboards to
246149                     inherit from
246150
246151              base_panels_from_pillar
246152                     A pillar key that contains a list of  panels  to  inherit
246153                     from
246154
246155              base_rows_from_pillar
246156                     A pillar key that contains a list of rows to inherit from
246157
246158              dashboard
246159                     A dict that defines a dashboard that should be managed.
246160
246161              profile
246162                     A pillar key or dict that contains grafana information
246163
246164   salt.states.grafana_datasource module
246165       Manage Grafana v2.0 data sources
246166
246167       New in version 2016.3.0.
246168
246169
246170          grafana:
246171            grafana_timeout: 3
246172            grafana_token: qwertyuiop
246173            grafana_url: 'https://url.com'
246174
246175          Ensure influxdb data source is present:
246176            grafana_datasource.present:
246177              - name: influxdb
246178              - type: influxdb
246179              - url: http://localhost:8086
246180              - access: proxy
246181              - basic_auth: true
246182              - basic_auth_user: myuser
246183              - basic_auth_password: mypass
246184              - is_default: true
246185
246186       salt.states.grafana_datasource.absent(name, profile=u'grafana')
246187              Ensure that a data source is present.
246188
246189              name   Name of the data source to remove.
246190
246191       salt.states.grafana_datasource.present(name,         type,         url,
246192       access=u'proxy',      user=u'',       password=u'',       database=u'',
246193       basic_auth=False,     basic_auth_user=u'',     basic_auth_password=u'',
246194       is_default=False, json_data=None, profile=u'grafana')
246195              Ensure that a data source is present.
246196
246197              name   Name of the data source.
246198
246199              type   Which type of data source it is  ('graphite',  'influxdb'
246200                     etc.).
246201
246202              url    The URL to the data source API.
246203
246204              user   Optional - user to authenticate with the data source
246205
246206              password
246207                     Optional - password to authenticate with the data source
246208
246209              basic_auth
246210                     Optional  - set to True to use HTTP basic auth to authen‐
246211                     ticate with the data source.
246212
246213              basic_auth_user
246214                     Optional - HTTP basic auth username.
246215
246216              basic_auth_password
246217                     Optional - HTTP basic auth password.
246218
246219              is_default
246220                     Default: False
246221
246222   salt.states.grains
246223   Manage grains on the minion
246224       This state allows for grains to be set.
246225
246226       Grains set or altered with this module are stored in the 'grains'  file
246227       on the minions, By default, this file is located at: /etc/salt/grains
246228
246229       NOTE:
246230          This does NOT override any grains set in the minion config file.
246231
246232       salt.states.grains.absent(name,    destructive=False,    delimiter=':',
246233       force=False)
246234              New in version 2014.7.0.
246235
246236
246237              Delete a grain from the grains config file
246238
246239              name   The grain name
246240
246241              destructive
246242                     If destructive is  True,  delete  the  entire  grain.  If
246243                     destructive  is  False,  set  the  grain's value to None.
246244                     Defaults to False.
246245
246246              force  If force is True, the existing grain will be  overwritten
246247                     regardless  of  its  existing  or  provided  value  type.
246248                     Defaults to False
246249
246250                     New in version v2015.8.2.
246251
246252
246253              delimiter
246254                     A delimiter different from the default can be provided.
246255
246256                     New in version v2015.8.2.
246257
246258
246259              Changed in version v2015.8.2.
246260
246261
246262              This state now support nested grains and complex values.  It  is
246263              also more conservative: if a grain has a value that is a list or
246264              a dict, it will not be removed unless  the  force  parameter  is
246265              True.
246266
246267                 grain_name:
246268                   grains.absent
246269
246270       salt.states.grains.append(name, value, convert=False, delimiter=':')
246271              New in version 2014.7.0.
246272
246273
246274              Append  a  value  to a list in the grains config file. The grain
246275              that is being appended to (name) must exist before the new value
246276              can be added.
246277
246278              name   The grain name
246279
246280              value  The value to append
246281
246282              convert
246283                     If  convert  is  True,  convert  non-list contents into a
246284                     list.   If  convert  is  False  and  the  grain  contains
246285                     non-list contents, an error is given. Defaults to False.
246286
246287              delimiter
246288                     A delimiter different from the default can be provided.
246289
246290                     New in version v2015.8.2.
246291
246292
246293                 grain_name:
246294                   grains.append:
246295                     - value: to_be_appended
246296
246297       salt.states.grains.exists(name, delimiter=':')
246298              Ensure that a grain is set
246299
246300              name   The grain name
246301
246302              delimiter
246303                     A delimiter different from the default can be provided.
246304
246305              Check  whether  a grain exists. Does not attempt to check or set
246306              the value.
246307
246308       salt.states.grains.list_absent(name, value, delimiter=':')
246309              Delete a value from a grain formed as a list.
246310
246311              New in version 2014.1.0.
246312
246313
246314              name   The grain name.
246315
246316              value  The value to delete from the grain list.
246317
246318              delimiter
246319                     A delimiter different from the default : can be provided.
246320
246321                     New in version v2015.8.2.
246322
246323
246324              The grain should be list type
246325
246326                 roles:
246327                   grains.list_absent:
246328                     - value: db
246329
246330              For multiple grains, the syntax looks like:
246331
246332                 roles:
246333                   grains.list_absent:
246334                     - value:
246335                       - web
246336                       - dev
246337
246338       salt.states.grains.list_present(name, value, delimiter=':')
246339              New in version 2014.1.0.
246340
246341
246342              Ensure the value is present in the list-type grain. Note: If the
246343              grain  that  is  provided  in name is not present on the system,
246344              this new grain will be created with the  corresponding  provided
246345              value.
246346
246347              name   The grain name.
246348
246349              value  The value is present in the list type grain.
246350
246351              delimiter
246352                     A delimiter different from the default : can be provided.
246353
246354                     New in version v2015.8.2.
246355
246356
246357              The grain should be list type
246358
246359                 roles:
246360                   grains.list_present:
246361                     - value: web
246362
246363              For multiple grains, the syntax looks like:
246364
246365                 roles:
246366                   grains.list_present:
246367                     - value:
246368                       - web
246369                       - dev
246370
246371       salt.states.grains.make_hashable(list_grain, result=None)
246372              Ensure that a list grain is hashable.
246373
246374              list_grain
246375                     The list grain that should be hashable
246376
246377              result This function is recursive, so it must be possible to use
246378                     a sublist as parameter to the  function.  Should  not  be
246379                     used by a caller outside of the function.
246380
246381              Make it possible to compare two list grains to each other if the
246382              list contains complex objects.
246383
246384       salt.states.grains.present(name, value, delimiter=':', force=False)
246385              Ensure that a grain is set
246386
246387              Changed in version v2015.8.2.
246388
246389
246390              name   The grain name
246391
246392              value  The value to set on the grain
246393
246394              force  If force is True, the existing grain will be  overwritten
246395                     regardless  of  its  existing  or  provided  value  type.
246396                     Defaults to False
246397
246398                     New in version v2015.8.2.
246399
246400
246401              delimiter
246402                     A delimiter different from the default can be provided.
246403
246404                     New in version v2015.8.2.
246405
246406
246407              It is now capable to set a grain to a complex value  (ie.  lists
246408              and dicts) and supports nested grains as well.
246409
246410              If the grain does not yet exist, a new grain is set to the given
246411              value. For a nested grain, the necessary  keys  are  created  if
246412              they  don't  exist. If a given key is an existing value, it will
246413              be converted, but an existing value different from the given key
246414              will fail the state.
246415
246416              If the grain with the given name exists, its value is updated to
246417              the new value unless its existing or provided value  is  complex
246418              (list or dict). Use force: True to overwrite.
246419
246420                 cheese:
246421                   grains.present:
246422                     - value: edam
246423
246424                 nested_grain_with_complex_value:
246425                   grains.present:
246426                     - name: icinga:Apache SSL
246427                     - value:
246428                       - command: check_https
246429                       - params: -H localhost -p 443 -S
246430
246431                 with,a,custom,delimiter:
246432                   grains.present:
246433                     - value: yay
246434                     - delimiter: ','
246435
246436   salt.states.group
246437   Management of user groups
246438       The  group  module  is used to create and manage group settings, groups
246439       can be either present or absent. User/Group names can be passed to  the
246440       adduser,  deluser,  and  members parameters. adduser and deluser can be
246441       used together but not with members.
246442
246443       In Windows, if no domain is specified in the user or group  name  (i.e.
246444       DOMAIN\username) the module will assume a local user or group.
246445
246446          cheese:
246447            group.present:
246448              - gid: 7648
246449              - system: True
246450              - addusers:
246451                - user1
246452                - users2
246453              - delusers:
246454                - foo
246455
246456          cheese:
246457            group.present:
246458              - gid: 7648
246459              - system: True
246460              - members:
246461                - foo
246462                - bar
246463                - user1
246464                - user2
246465
246466       salt.states.group.absent(name)
246467              Ensure that the named group is absent
246468
246469              Parameters
246470                     name (str) -- The name of the group to remove
246471
246472              Example:
246473
246474                 # Removes the local group `db_admin`
246475                 db_admin:
246476                   group.absent
246477
246478       salt.states.group.present(name,  gid=None, system=False, addusers=None,
246479       delusers=None, members=None)
246480              Ensure that a group is present
246481
246482              Parameters
246483
246484                     · name (str) -- The name of the group to manage
246485
246486                     · gid (str) -- The group id to assign to the named group;
246487                       if left empty, then the next available group id will be
246488                       assigned. Ignored on Windows
246489
246490                     · system (bool) -- Whether or not the named  group  is  a
246491                       system  group.   This is essentially the '-r' option of
246492                       'groupadd'. Ignored on Windows
246493
246494                     · addusers (list) -- List of additional users to be added
246495                       as  a  group  members.  Cannot  conflict  with names in
246496                       delusers. Cannot be used in conjunction with members.
246497
246498                     · delusers (list) -- Ensure these user are  removed  from
246499                       the  group  membership.  Cannot  conflict with names in
246500                       addusers. Cannot be used in conjunction with members.
246501
246502                     · members (list) -- Replace existing group members with a
246503                       list of new members. Cannot be used in conjunction with
246504                       addusers or delusers.
246505
246506              Example:
246507
246508                 # Adds DOMAIN\db_admins and Administrators to the local db_admin group
246509                 # Removes Users
246510                 db_admin:
246511                   group.present:
246512                     - addusers:
246513                       - DOMAIN\db_admins
246514                       - Administrators
246515                     - delusers:
246516                       - Users
246517
246518                 # Ensures only DOMAIN\domain_admins and the local Administrator are
246519                 # members of the local Administrators group. All other users are
246520                 # removed
246521                 Administrators:
246522                   group.present:
246523                     - members:
246524                       - DOMAIN\domain_admins
246525                       - Administrator
246526
246527   salt.states.heat module
246528   Management of Heat
246529       New in version 2017.7.0.
246530
246531
246532       depends
246533
246534              · heat Python module
246535
246536       configuration
246537              See salt.modules.heat for setup instructions.
246538
246539       The heat module is used to create, show, list and  delete  Heat  staks.
246540       Stack can be set as either absent or deploy.
246541
246542          heat.deployed:
246543            - name:
246544            - template: #Required
246545            - environment:
246546            - params: {}
246547            - poll: 5
246548            - rollback: False
246549            - timeout: 60
246550
246551          heat.absent:
246552            - name:
246553            - poll: 5
246554
246555       mysql:
246556
246557              heat.deployed:
246558
246559                     · template: salt://templates/mysql.heat.yaml
246560
246561                     · params: image: Debian 7
246562
246563                     · rollback: True
246564
246565       New  in  version  2017.7.5,2018.3.1:  The spelling mistake in parameter
246566       enviroment was corrected to environment.  The enviroment spelling  mis‐
246567       take has been removed in Salt 3000.
246568
246569
246570       salt.states.heat.absent(name, poll=5, timeout=60, profile=None)
246571              Ensure that the named stack is absent
246572
246573              name   The name of the stack to remove
246574
246575              poll   Poll(in sec.) and report events until stack complete
246576
246577              timeout
246578                     Stack creation timeout in minutes
246579
246580              profile
246581                     Profile to use
246582
246583       salt.states.heat.deployed(name,     template=None,    environment=None,
246584       params=None, poll=5,  rollback=False,  timeout=60,  update=False,  pro‐
246585       file=None, **connection_args)
246586              Deploy stack with the specified properties
246587
246588              name   The name of the stack
246589
246590              template
246591                     File of template
246592
246593              environment
246594                     File of environment
246595
246596              params Parameter dict used to create the stack
246597
246598              poll   Poll (in sec.) and report events until stack complete
246599
246600              rollback
246601                     Enable rollback on create failure
246602
246603              timeout
246604                     Stack creation timeout in minutes
246605
246606              profile
246607                     Profile to use
246608
246609              New in version 2017.7.5,2018.3.1: The spelling mistake in param‐
246610              eter enviroment was corrected to  environment.   The  enviroment
246611              spelling mistake has been removed in Salt 3000.
246612
246613
246614   salt.states.hg
246615   Interaction with Mercurial repositories
246616       Before using hg over ssh, make sure the remote host fingerprint already
246617       exists in ~/.ssh/known_hosts, and the remote host has this host's  pub‐
246618       lic key.
246619
246620          https://bitbucket.org/example_user/example_repo:
246621              hg.latest:
246622                - rev: tip
246623                - target: /tmp/example_repo
246624
246625       salt.states.hg.latest(name,    rev=None,    target=None,   clean=False,
246626       user=None, identity=None, force=False, opts=False, update_head=True)
246627              Make sure the repository is cloned to the given directory and is
246628              up to date
246629
246630              name   Address of the remote repository as passed to "hg clone"
246631
246632              rev    The remote branch, tag, or revision hash to clone/pull
246633
246634              target Target destination directory path on minion to clone into
246635
246636              clean  Force a clean update with -C (Default: False)
246637
246638              user   Name  of the user performing repository management opera‐
246639                     tions
246640
246641                     New in version 0.17.0.
246642
246643
246644              identity
246645                     Private SSH key on the minion server  for  authentication
246646                     (ssh://)
246647
246648                     New in version 2015.5.0.
246649
246650
246651              force  Force  hg to clone into pre-existing directories (deletes
246652                     contents)
246653
246654              opts   Include additional arguments and options to the  hg  com‐
246655                     mand line
246656
246657              update_head
246658                     Should  we  update  the  head  if  new changes are found?
246659                     Defaults to True
246660
246661                     New in version 2017.7.0.
246662
246663
246664   salt.states.host
246665   Management of addresses and names in hosts file
246666       The /etc/hosts file can be managed to contain definitions for  specific
246667       hosts:
246668
246669          salt-master:
246670            host.present:
246671              - ip: 192.168.0.42
246672
246673       Or  using  the  names directive, you can put several names for the same
246674       IP.  (Do not try one name with space-separated values).
246675
246676          server1:
246677            host.present:
246678              - ip: 192.168.0.42
246679              - names:
246680                - server1
246681                - florida
246682
246683       NOTE:
246684          Changing the names in host.present  does  not  cause  an  update  to
246685          remove the old entry.
246686
246687          server1:
246688            host.present:
246689              - ip:
246690                - 192.168.0.42
246691                - 192.168.0.43
246692                - 192.168.0.44
246693              - names:
246694                - server1
246695
246696       You can replace all existing names for a particular IP address:
246697
246698          127.0.1.1:
246699            host.only:
246700              - hostnames:
246701                - foo.example.com
246702                - foo
246703
246704       Or delete all existing names for an address:
246705
246706          203.0.113.25:
246707              host.only:
246708                - hostnames: []
246709
246710       salt.states.host.absent(name, ip)
246711              Ensure that the named host is absent
246712
246713              name   The host to remove
246714
246715              ip     The ip addr(s) of the host to remove
246716
246717       salt.states.host.only(name, hostnames)
246718              Ensure  that  only  the  given hostnames are associated with the
246719              given IP address.
246720
246721              New in version 2016.3.0.
246722
246723
246724              name   The IP address to associate with the given hostnames.
246725
246726              hostnames
246727                     Either a single hostname or a list of hostnames to  asso‐
246728                     ciate  with the given IP address in the given order.  Any
246729                     other hostname associated with the IP address is removed.
246730                     If  no  hostnames are specified, all hostnames associated
246731                     with the given IP address are removed.
246732
246733       salt.states.host.present(name, ip, clean=False)
246734              Ensures that the named host is present with the given ip
246735
246736              name   The host to assign an ip to
246737
246738              ip     The ip addr(s) to apply to the host. Can be a  single  IP
246739                     or a list of IP addresses.
246740
246741              clean  Remove  any entries which don't match those configured in
246742                     the ip option. Default is False.
246743
246744                     New in version 2018.3.4.
246745
246746
246747   salt.states.http
246748       HTTP monitoring states
246749
246750       Perform an HTTP query and statefully return the result
246751
246752       New in version 2015.5.0.
246753
246754
246755       salt.states.http.query(name,  match=None,  match_type=u'string',   sta‐
246756       tus=None, status_type=u'string', wait_for=None, **kwargs)
246757              Perform an HTTP query and statefully return the result
246758
246759              Passes   through   all   the   parameters   described   in   the
246760              utils.http.query function:
246761
246762              name   The name of the query.
246763
246764              match  Specifies a pattern to look for in the  return  text.  By
246765                     default, this will perform a string comparison of looking
246766                     for the value of match in the return text.
246767
246768              match_type
246769                     Specifies the type of pattern matching to use  on  match.
246770                     Default  is  string,  but  can also be set to pcre to use
246771                     regular expression matching if  a  more  complex  pattern
246772                     matching is required.
246773
246774                     NOTE:
246775                        Despite the name of match_type for this argument, this
246776                        setting actually uses  Python's  re.search()  function
246777                        rather than Python's re.match() function.
246778
246779              status The status code for a URL for which to be checked. Can be
246780                     used instead of or in addition to the match setting. This
246781                     can  be  passed as an individual status code or a list of
246782                     status codes.
246783
246784              status_type
246785                     Specifies the type of pattern matching to use for status.
246786                     Default  is  string,  but  can also be set to pcre to use
246787                     regular expression matching if  a  more  complex  pattern
246788                     matching  is required. Additionally, if a list of strings
246789                     representing statuses is given,  the  type  list  can  be
246790                     used.
246791
246792                     New in version 3000.
246793
246794
246795                     NOTE:
246796                        Despite the name of match_type for this argument, this
246797                        setting actually uses  Python's  re.search()  function
246798                        rather than Python's re.match() function.
246799
246800              If  both match and status options are set, both settings will be
246801              checked.  However, note that if only one option is True and  the
246802              other  is  False,  then  False will be returned. If this case is
246803              reached, the comments in the  return  data  will  contain  trou‐
246804              bleshooting information.
246805
246806              For  more  information  about the http.query state, refer to the
246807              HTTP Tutorial.
246808
246809                 query_example:
246810                   http.query:
246811                     - name: 'http://example.com/'
246812                     - status: 200
246813
246814                 query_example2:
246815                   http.query:
246816                     - name: 'http://example.com/'
246817                     - status:
246818                         - 200
246819                         - 201
246820                     - status_type: list
246821
246822       salt.states.http.wait_for_successful_query(name,          wait_for=300,
246823       **kwargs)
246824              Like query but, repeat and wait until match/match_type or status
246825              is fulfilled. State returns result from last query state in case
246826              of  success  or  if no successful query was made within wait_for
246827              timeout.
246828
246829              name   The name of the query.
246830
246831              wait_for
246832                     Total time to wait for requests that succeed.
246833
246834              request_interval
246835                     Optional interval to  delay  requests  by  N  seconds  to
246836                     reduce the number of requests sent.
246837
246838              NOTE:
246839                 All other arguments are passed to the http.query state.
246840
246841   salt.states.icinga2 module
246842   Icinga2 state
246843       New in version 2017.7.0.
246844
246845
246846       depends
246847
246848              · Icinga2 Python module
246849
246850       configuration
246851              See salt.modules.icinga2 for setup instructions.
246852
246853       The  icinga2  module  is  used  to execute commands.  Its output may be
246854       stored in a file or in a grain.
246855
246856          command_id:
246857            icinga2.generate_ticket:
246858              - name: domain.tld
246859              - output:  "/tmp/query_id.txt"
246860
246861       salt.states.icinga2.generate_cert(name)
246862              Generate an icinga2 certificate and key on the client.
246863
246864              name   The domain name for which this certificate and  key  will
246865                     be generated
246866
246867       salt.states.icinga2.generate_ticket(name,    output=None,   grain=None,
246868       key=None, overwrite=True)
246869              Generate an icinga2 ticket on the master.
246870
246871              name   The domain name for which this ticket will be generated
246872
246873              output grain: output in a grain other: the file to store results
246874                     None:  output to the result comment (default)
246875
246876              grain: grain to store the output (need output=grain)
246877
246878              key:   the  specified grain will be treated as a dictionary, the
246879                     result of this state will be stored under  the  specified
246880                     key.
246881
246882              overwrite:
246883                     The  file  or  grain  will  be  overwritten if it already
246884                     exists (default)
246885
246886       salt.states.icinga2.node_setup(name, master, ticket)
246887              Setup the icinga2 node.
246888
246889              name   The domain name for which this certificate will be saved
246890
246891              master Icinga2 master node for which this  certificate  will  be
246892                     saved
246893
246894              ticket Authentication ticket generated on icinga2 master
246895
246896       salt.states.icinga2.request_cert(name, master, ticket, port=u'5665')
246897              Request CA certificate from master icinga2 node.
246898
246899              name   The domain name for which this certificate will be saved
246900
246901              master Icinga2  master  node  for which this certificate will be
246902                     saved
246903
246904              ticket Authentication ticket generated on icinga2 master
246905
246906              port   Icinga2 port, defaults to 5665
246907
246908       salt.states.icinga2.save_cert(name, master)
246909              Save the certificate on master icinga2 node.
246910
246911              name   The domain name for which this certificate will be saved
246912
246913              master Icinga2 master node for which this  certificate  will  be
246914                     saved
246915
246916   salt.states.ifttt
246917   Trigger an event in IFTTT
246918       This state is useful for trigging events in IFTTT.
246919
246920       New in version 2015.8.0.
246921
246922
246923          ifttt-event:
246924            ifttt.trigger_event:
246925              - event: TestEvent
246926              - value1: 'This state was executed successfully.'
246927              - value2: 'Another value we can send.'
246928              - value3: 'A third value we can send.'
246929
246930       The api key can be specified in the master or minion configuration like
246931       below:
246932
246933          ifttt: secret_key: bzMRb-KKIAaNOwKEEw792J7Eb-B3z7muhdhYblJn4V6
246934
246935       salt.states.ifttt.trigger_event(name, event, value1=None,  value2=None,
246936       value3=None)
246937              Trigger an event in IFTTT
246938
246939                 ifttt-event:
246940                   ifttt.trigger_event:
246941                     - event: TestEvent
246942                     - value1: 'A value that we want to send.'
246943                     - value2: 'A second value that we want to send.'
246944                     - value3: 'A third value that we want to send.'
246945
246946              The following parameters are required:
246947
246948              name   The unique name for this event.
246949
246950              event  The name of the event to trigger in IFTTT.
246951
246952              The following parameters are optional:
246953
246954              value1 One of the values that we can send to IFTT.
246955
246956              value2 One of the values that we can send to IFTT.
246957
246958              value3 One of the values that we can send to IFTT.
246959
246960   salt.states.incron
246961   Management of incron, the inotify cron
246962       The  incron  state module allows for user incrontabs to be cleanly man‐
246963       aged.
246964
246965       Incron declarations require a  number  of  parameters.  The  parameters
246966       needed to be declared: path, mask, and cmd. The user whose incrontab is
246967       to be edited also needs to be defined.
246968
246969       When making changes to an existing incron job, the path declaration  is
246970       the unique factor, so if an existing cron that looks like this:
246971
246972          Watch for modifications in /home/user:
246973              incron.present:
246974                  - user: root
246975                  - path: /home/user
246976                  - mask:
246977                      - IN_MODIFY
246978                  - cmd: 'echo "$$ $@"'
246979
246980       Is changed to this:
246981
246982          Watch for modifications and access in /home/user:
246983              incron.present:
246984                  - user: root
246985                  - path: /home/user
246986                  - mask:
246987                      - IN_MODIFY
246988                      - IN_ACCESS
246989                  - cmd: 'echo "$$ $@"'
246990
246991       Then  the  existing  cron  will  be updated, but if the cron command is
246992       changed, then a new cron job will be added to the user's crontab.
246993
246994       New in version 0.17.0.
246995
246996
246997       salt.states.incron.absent(name, path, mask, cmd, user=u'root')
246998              Verifies that the specified incron job is absent for the  speci‐
246999              fied user; only the name is matched when removing a incron job.
247000
247001              name   Unique comment describing the entry
247002
247003              path   The path that should be watched
247004
247005              user   The  name of the user who's crontab needs to be modified,
247006                     defaults to the root user
247007
247008              mask   The mask of events that should be monitored for
247009
247010              cmd    The cmd that should be executed
247011
247012       salt.states.incron.present(name, path, mask, cmd, user=u'root')
247013              Verifies that the specified incron job is present for the speci‐
247014              fied user.  For more advanced information about what exactly can
247015              be set in the cron timing parameters, check your incron system's
247016              documentation.  Most Unix-like systems' incron documentation can
247017              be found via the incrontab man page: man 5 incrontab.
247018
247019              name   Unique comment describing the entry
247020
247021              path   The path that should be watched
247022
247023              user   The name of the user who's crontab needs to be  modified,
247024                     defaults to the root user
247025
247026              mask   The mask of events that should be monitored for
247027
247028              cmd    The cmd that should be executed
247029
247030   salt.states.influxdb08_database module
247031   Management of Influxdb 0.8 databases
247032       (compatible with InfluxDB version 0.5-0.8)
247033
247034       New in version 2014.7.0.
247035
247036
247037       salt.states.influxdb08_database.absent(name,  user=None, password=None,
247038       host=None, port=None)
247039              Ensure that the named database is absent
247040
247041              name   The name of the database to remove
247042
247043              user   The user to connect as (must be able to remove the  data‐
247044                     base)
247045
247046              password
247047                     The password of the user
247048
247049              host   The host to connect to
247050
247051              port   The port to connect to
247052
247053       salt.states.influxdb08_database.present(name, user=None, password=None,
247054       host=None, port=None)
247055              Ensure that the named database is present
247056
247057              name   The name of the database to create
247058
247059              user   The user to connect as (must be able to remove the  data‐
247060                     base)
247061
247062              password
247063                     The password of the user
247064
247065              host   The host to connect to
247066
247067              port   The port to connect to
247068
247069   salt.states.influxdb08_user module
247070   Management of InfluxDB 0.8 users
247071       (compatible with InfluxDB version 0.5-0.8)
247072
247073       New in version 2014.7.0.
247074
247075
247076       salt.states.influxdb08_user.absent(name,    database=None,   user=None,
247077       password=None, host=None, port=None)
247078              Ensure that the named cluster admin or database user is absent.
247079
247080              name   The name of the user to remove
247081
247082              database
247083                     The database to remove the user from
247084
247085              user   The user to connect as (must be able to remove the user)
247086
247087              password
247088                     The password of the user
247089
247090              host   The host to connect to
247091
247092              port   The port to connect to
247093
247094       salt.states.influxdb08_user.present(name,    passwd,     database=None,
247095       user=None, password=None, host=None, port=None)
247096              Ensure that the cluster admin or database user is present.
247097
247098              name   The name of the user to manage
247099
247100              passwd The password of the user
247101
247102              database
247103                     The database to create the user in
247104
247105              user   The user to connect as (must be able to create the user)
247106
247107              password
247108                     The password of the user
247109
247110              host   The host to connect to
247111
247112              port   The port to connect to
247113
247114   salt.states.influxdb_continuous_query module
247115   Management of Influxdb continuous queries
247116       New in version 2017.7.0.
247117
247118
247119       (compatible with InfluxDB version 0.9+)
247120
247121       salt.states.influxdb_continuous_query.absent(name,            database,
247122       **client_args)
247123              Ensure that given continuous query is absent.
247124
247125              name   Name of the continuous query to remove.
247126
247127              database
247128                     Name of  the  database  that  the  continuous  query  was
247129                     defined on.
247130
247131       salt.states.influxdb_continuous_query.present(name,   database,  query,
247132       resample_time=None, coverage_period=None, **client_args)
247133              Ensure that given continuous query is present.
247134
247135              name   Name of the continuous query to create.
247136
247137              database
247138                     Database to create continuous query on.
247139
247140              query  The query content
247141
247142              resample_time
247143                     None Duration between continuous query resampling.
247144
247145              coverage_period
247146                     None Duration specifying time period per sample.
247147
247148   salt.states.influxdb_database
247149   Management of Influxdb databases
247150       (compatible with InfluxDB version 0.9+)
247151
247152       salt.states.influxdb_database.absent(name, **client_args)
247153              Ensure that given database is absent.
247154
247155              name   Name of the database to remove.
247156
247157       salt.states.influxdb_database.present(name, **client_args)
247158              Ensure that given database is present.
247159
247160              name   Name of the database to create.
247161
247162   salt.states.influxdb_retention_policy module
247163   Management of Influxdb retention policies
247164       New in version 2017.7.0.
247165
247166
247167       (compatible with InfluxDB version 0.9+)
247168
247169       salt.states.influxdb_retention_policy.absent(name,            database,
247170       **client_args)
247171              Ensure that given retention policy is absent.
247172
247173              name   Name of the retention policy to remove.
247174
247175              database
247176                     Name  of  the  database  that  the  retention  policy was
247177                     defined on.
247178
247179       salt.states.influxdb_retention_policy.convert_duration(duration)
247180              Convert the a duration string into XXhYYmZZs format
247181
247182              duration
247183                     Duration to convert
247184
247185              Returns: duration_string
247186                     String representation of duration in XXhYYmZZs format
247187
247188       salt.states.influxdb_retention_policy.present(name,   database,   dura‐
247189       tion=u'7d', replication=1, default=False, **client_args)
247190              Ensure that given retention policy is present.
247191
247192              name   Name of the retention policy to create.
247193
247194              database
247195                     Database to create retention policy on.
247196
247197   salt.states.influxdb_user
247198   Management of InfluxDB users
247199       (compatible with InfluxDB version 0.9+)
247200
247201       salt.states.influxdb_user.absent(name, **client_args)
247202              Ensure that given user is absent.
247203
247204              name   The name of the user to manage
247205
247206       salt.states.influxdb_user.present(name,       passwd,      admin=False,
247207       grants=None, **client_args)
247208              Ensure that given user is present.
247209
247210              name   Name of the user to manage
247211
247212              passwd Password of the user
247213
247214              admin  False Whether the user should have cluster administration
247215                     privileges or not.
247216
247217              grants Optional  -  Dict  of database:privilege items associated
247218                     with the user. Example:
247219
247220                     grants:
247221                            foo_db: read bar_db: all
247222
247223              Example:
247224
247225                 example user present in influxdb:
247226                   influxdb_user.present:
247227                     - name: example
247228                     - passwd: somepassword
247229                     - admin: False
247230                     - grants:
247231                         foo_db: read
247232                         bar_db: all
247233
247234   salt.states.infoblox_a
247235       Infoblox A record managment.
247236
247237       functions accept api_opts:
247238          api_verifyssl: verify SSL [default to True or pillar value] api_url:
247239          server  to  connect  to  [default  to  pillar  value]  api_username:
247240          [default to pillar value] api_password:  [default to pillar value]
247241
247242       salt.states.infoblox_a.absent(name=None, ipv4addr=None, **api_opts)
247243              Ensure infoblox A record is removed.
247244
247245              State example:
247246
247247                 infoblox_a.absent:
247248                     - name: example-ha-0.domain.com
247249
247250                 infoblox_a.absent:
247251                     - name:
247252                     - ipv4addr: 127.0.23.23
247253
247254       salt.states.infoblox_a.present(name=None,   ipv4addr=None,   data=None,
247255       ensure_data=True, **api_opts)
247256              Ensure infoblox A record.
247257
247258              When  you  wish  to  update a hostname ensure name is set to the
247259              hostname of the current record. You can give a new name  in  the
247260              data.name.
247261
247262              State example:
247263
247264                 infoblox_a.present:
247265                     - name: example-ha-0.domain.com
247266                     - data:
247267                         name: example-ha-0.domain.com
247268                         ipv4addr: 123.0.31.2
247269                         view: Internal
247270
247271   salt.states.infoblox_cname
247272       Infoblox CNAME managment.
247273
247274       functions accept api_opts:
247275          api_verifyssl: verify SSL [default to True or pillar value] api_url:
247276          server  to  connect  to  [default  to  pillar  value]  api_username:
247277          [default to pillar value] api_password:  [default to pillar value]
247278
247279       salt.states.infoblox_cname.absent(name=None,            canonical=None,
247280       **api_opts)
247281              Ensure the CNAME with  the  given  name  or  canonical  name  is
247282              removed
247283
247284       salt.states.infoblox_cname.present(name=None,                data=None,
247285       ensure_data=True, **api_opts)
247286              Ensure the CNAME with the given data is present.
247287
247288              name   CNAME of record
247289
247290              data   raw CNAME api data see: https://INFOBLOX/wapidoc
247291
247292              State example:
247293
247294                 infoblox_cname.present:
247295                     - name: example-ha-0.domain.com
247296                     - data:
247297                         name: example-ha-0.domain.com
247298                         canonical: example.domain.com
247299                         zone: example.com
247300                         view: Internal
247301                         comment: Example comment
247302
247303                 infoblox_cname.present:
247304                     - name: example-ha-0.domain.com
247305                     - data:
247306                         name: example-ha-0.domain.com
247307                         canonical: example.domain.com
247308                         zone: example.com
247309                         view: Internal
247310                         comment: Example comment
247311                     - api_url: https://INFOBLOX/wapi/v1.2.1
247312                     - api_username: username
247313                     - api_password: passwd
247314
247315   salt.states.infoblox_host_record
247316       Infoblox host record managment.
247317
247318       functions accept api_opts:
247319          api_verifyssl: verify SSL [default to True or pillar value] api_url:
247320          server  to  connect  to  [default  to  pillar  value]  api_username:
247321          [default to pillar value] api_password:  [default to pillar value]
247322
247323       salt.states.infoblox_host_record.absent(name=None,       ipv4addr=None,
247324       mac=None, **api_opts)
247325              Ensure the host with the given Name ipv4addr or mac is removed.
247326
247327              State example:
247328
247329                 infoblox_host_record.absent:
247330                     - name: hostname.of.record.to.remove
247331
247332                 infoblox_host_record.absent:
247333                     - name:
247334                     - ipv4addr: 192.168.0.1
247335
247336                 infoblox_host_record.absent:
247337                     - name:
247338                     - mac: 12:02:12:31:23:43
247339
247340       salt.states.infoblox_host_record.present(name=None,          data=None,
247341       ensure_data=True, **api_opts)
247342              This will ensure that a host  with  the  provided  name  exists.
247343              This  will  try to ensure that the state of the host matches the
247344              given data If the host is not found then one will be created.
247345
247346              When trying to update a hostname ensure name is set to the host‐
247347              name  of  the  current  record.  You  can give a new name in the
247348              data.name.
247349
247350              Avoid race conditions, use func:nextavailableip:
247351
247352                     · func:nextavailableip:network/ZG54dfgsrDFEFfsfs‐
247353                       LzA:10.0.0.0/8/default
247354
247355                     · func:nextavailableip:10.0.0.0/8
247356
247357                     · func:nextavailableip:10.0.0.0/8,externalconfig‐
247358                       ure_for_dns
247359
247360                     · func:nextavailableip:10.0.0.3-10.0.0.10
247361
247362              State Example:
247363
247364                 # this would update `original_hostname.example.ca` to changed `data`.
247365                 infoblox_host_record.present:
247366                     - name: original_hostname.example.ca
247367                     - data: {'namhostname.example.cae': 'hostname.example.ca',
247368                         'aliases': ['hostname.math.example.ca'],
247369                         'extattrs': [{'Business Contact': {'value': 'EXAMPLE@example.ca'}}],
247370                         'ipv4addrs': [{'configure_for_dhcp': True,
247371                             'ipv4addr': 'func:nextavailableip:129.97.139.0/24',
247372                             'mac': '00:50:56:84:6e:ae'}],
247373                         'ipv6addrs': [], }
247374
247375   salt.states.infoblox_range
247376       Infoblox host record managment.
247377
247378       functions accept api_opts:
247379          api_verifyssl: verify SSL [default to True or pillar value] api_url:
247380          server  to  connect  to  [default  to  pillar  value]  api_username:
247381          [default to pillar value] api_password:  [default to pillar value]
247382
247383       salt.states.infoblox_range.absent(name=None,           start_addr=None,
247384       end_addr=None, data=None, **api_opts)
247385              Ensure the range is removed
247386
247387              Supplying the end of the range is optional.
247388
247389              State example:
247390
247391                 infoblox_range.absent:
247392                     - name: 'vlan10'
247393
247394                 infoblox_range.absent:
247395                     - name:
247396                     - start_addr: 127.0.1.20
247397
247398       salt.states.infoblox_range.present(name=None,          start_addr=None,
247399       end_addr=None, data=None, **api_opts)
247400              Ensure range record is present.
247401
247402              infoblox_range.present:
247403                     start_addr: '129.97.150.160', end_addr: '129.97.150.170',
247404
247405              Verbose state example:
247406
247407                 infoblox_range.present:
247408                     data: {
247409                         'always_update_dns': False,
247410                         'authority': False,
247411                         'comment': 'range of IP addresses used for salt.. was used for ghost images deployment',
247412                         'ddns_generate_hostname': True,
247413                         'deny_all_clients': False,
247414                         'deny_bootp': False,
247415                         'disable': False,
247416                         'email_list': [],
247417                         'enable_ddns': False,
247418                         'enable_dhcp_thresholds': False,
247419                         'enable_email_warnings': False,
247420                         'enable_ifmap_publishing': False,
247421                         'enable_snmp_warnings': False,
247422                         'end_addr': '129.97.150.169',
247423                         'exclude': [],
247424                         'extattrs': {},
247425                         'fingerprint_filter_rules': [],
247426                         'high_water_mark': 95,
247427                         'high_water_mark_reset': 85,
247428                         'ignore_dhcp_option_list_request': False,
247429                         'lease_scavenge_time': -1,
247430                         'logic_filter_rules': [],
247431                         'low_water_mark': 0,
247432                         'low_water_mark_reset': 10,
247433                         'mac_filter_rules': [],
247434                         'member': {'_struct': 'dhcpmember',
247435                                 'ipv4addr': '129.97.128.9',
247436                                 'name': 'cn-dhcp-mc.example.ca'},
247437                         'ms_options': [],
247438                         'nac_filter_rules': [],
247439                         'name': 'ghost-range',
247440                         'network': '129.97.150.0/24',
247441                         'network_view': 'default',
247442                         'option_filter_rules': [],
247443                         'options': [{'name': 'dhcp-lease-time',
247444                                     'num': 51,
247445                                     'use_option': False,
247446                                     'value': '43200',
247447                                     'vendor_class': 'DHCP'}],
247448                         'recycle_leases': True,
247449                         'relay_agent_filter_rules': [],
247450                         'server_association_type': 'MEMBER',
247451                         'start_addr': '129.97.150.160',
247452                         'update_dns_on_lease_renewal': False,
247453                         'use_authority': False,
247454                         'use_bootfile': False,
247455                         'use_bootserver': False,
247456                         'use_ddns_domainname': False,
247457                         'use_ddns_generate_hostname': True,
247458                         'use_deny_bootp': False,
247459                         'use_email_list': False,
247460                         'use_enable_ddns': False,
247461                         'use_enable_dhcp_thresholds': False,
247462                         'use_enable_ifmap_publishing': False,
247463                         'use_ignore_dhcp_option_list_request': False,
247464                         'use_known_clients': False,
247465                         'use_lease_scavenge_time': False,
247466                         'use_nextserver': False,
247467                         'use_options': False,
247468                         'use_recycle_leases': False,
247469                         'use_unknown_clients': False,
247470                         'use_update_dns_on_lease_renewal': False
247471                     }
247472
247473   salt.states.ini_manage
247474   Manage ini files
247475       maintainer
247476              <akilesh1597@gmail.com>
247477
247478       maturity
247479              new
247480
247481       depends
247482              re
247483
247484       platform
247485              all
247486
247487       salt.states.ini_manage.options_absent(name,   sections=None,    separa‐
247488       tor=u'=')
247489
247490                 /home/saltminion/api-paste.ini:
247491                   ini.options_absent:
247492                     - separator: '='
247493                     - sections:
247494                         test:
247495                           - testkey
247496                           - secondoption
247497                         test1:
247498                           - testkey1
247499
247500              options  present in file and not specified in sections dict will
247501              be untouched
247502
247503              changes dict will contain the list of changes made
247504
247505       salt.states.ini_manage.options_present(name,   sections=None,   separa‐
247506       tor=u'=', strict=False)
247507
247508                 /home/saltminion/api-paste.ini:
247509                   ini.options_present:
247510                     - separator: '='
247511                     - strict: True
247512                     - sections:
247513                         test:
247514                           testkey: 'testval'
247515                           secondoption: 'secondvalue'
247516                         test1:
247517                           testkey1: 'testval121'
247518
247519              options  present in file and not specified in sections dict will
247520              be untouched, unless strict: True flag is used
247521
247522              changes dict will contain the list of changes made
247523
247524       salt.states.ini_manage.sections_absent(name,   sections=None,   separa‐
247525       tor=u'=')
247526
247527                 /home/saltminion/api-paste.ini:
247528                   ini.sections_absent:
247529                     - separator: '='
247530                     - sections:
247531                         - test
247532                         - test1
247533
247534              options  present  in  file and not specified in sections will be
247535              deleted changes dict will contain the sections that changed
247536
247537       salt.states.ini_manage.sections_present(name,  sections=None,   separa‐
247538       tor=u'=')
247539
247540                 /home/saltminion/api-paste.ini:
247541                   ini.sections_present:
247542                     - separator: '='
247543                     - sections:
247544                         - section_one
247545                         - section_two
247546
247547              This  will  only  create empty sections. To also create options,
247548              use options_present state
247549
247550              options present in file and not specified in  sections  will  be
247551              deleted changes dict will contain the sections that changed
247552
247553   salt.states.ipmi
247554   Manage IPMI devices over LAN
247555       The following configuration defaults can be defined in the minion, mas‐
247556       ter config or pillar:
247557
247558          ipmi.config:
247559              api_host: 127.0.0.1
247560              api_user: admin
247561              api_pass: apassword
247562              api_port: 623
247563              api_kg: None
247564
247565       Every call can override the config defaults:
247566
247567          ensure myipmi system is set to network boot:
247568              ipmi.boot_device:
247569                  - name: network
247570                  - api_host: myipmi.hostname.com
247571                  - api_user: root
247572                  - api_pass: apassword
247573                  - api_kg: None
247574
247575          ensure myipmi system is powered on:
247576              ipmi.power:
247577                  - name: boot
247578                  - api_host: myipmi.hostname.com
247579                  - api_user: root
247580                  - api_pass: apassword
247581
247582       salt.states.ipmi.boot_device(name=u'default', **kwargs)
247583              Request power state change
247584
247585              name = default
247586
247587                     · network -- Request network boot
247588
247589                     · hd -- Boot from hard drive
247590
247591                     · safe -- Boot from hard drive, requesting 'safe mode'
247592
247593                     · optical -- boot from CD/DVD/BD drive
247594
247595                     · setup -- Boot into setup utility
247596
247597                     · default -- remove any IPMI directed boot device request
247598
247599              kwargs
247600
247601                     · api_host=localhost
247602
247603                     · api_user=admin
247604
247605                     · api_pass=
247606
247607                     · api_port=623
247608
247609                     · api_kg=None
247610
247611       salt.states.ipmi.power(name=u'power_on', wait=300, **kwargs)
247612              Request power state change
247613
247614              name
247615
247616                     Ensure power state one of:
247617
247618                            · power_on -- system turn on
247619
247620                            · power_off -- system turn  off  (without  waiting
247621                              for OS)
247622
247623                            · shutdown -- request OS proper shutdown
247624
247625                            · reset -- reset (without waiting for OS)
247626
247627                            · boot  --  If  system  is  off,  then  'on', else
247628                              'reset'
247629
247630              wait   wait X seconds for the job to  complete  before  forcing.
247631                     (defaults to 300 seconds)
247632
247633              kwargs
247634
247635                     · api_host=localhost
247636
247637                     · api_user=admin
247638
247639                     · api_pass=
247640
247641                     · api_port=623
247642
247643                     · api_kg=None
247644
247645       salt.states.ipmi.user_absent(name, channel=14, **kwargs)
247646              Remove  user  Delete  all user (uid) records having the matching
247647              name.
247648
247649              name   string name of user to delete
247650
247651              channel
247652                     channel to remove user access from  defaults  to  14  for
247653                     auto.
247654
247655              kwargs
247656
247657                     · api_host=localhost
247658
247659                     · api_user=admin
247660
247661                     · api_pass=
247662
247663                     · api_port=623
247664
247665                     · api_kg=None
247666
247667       salt.states.ipmi.user_present(name,  uid,  password,  channel=14, call‐
247668       back=False, link_auth=True,  ipmi_msg=True,  privilege_level=u'adminis‐
247669       trator', **kwargs)
247670              Ensure IPMI user and user privileges.
247671
247672              name   name of user (limit 16 bytes)
247673
247674              uid    user id number (1 to 7)
247675
247676              password
247677                     user password (limit 16 bytes)
247678
247679              channel
247680                     ipmi channel defaults to 14 for auto
247681
247682              callback
247683                     User Restricted to Callback
247684
247685                     False  =  User  Privilege Limit is determined by the User
247686                     Privilege Limit
247687                            parameter privilege_level, for both  callback  and
247688                            non-callback connections.
247689
247690                     True  =  User Privilege Limit is determined by the privi‐
247691                     lege_level
247692                            parameter  for  callback   connections,   but   is
247693                            restricted to Callback level for non-callback con‐
247694                            nections. Thus, a user can only initiate  a  Call‐
247695                            back  when they 'call in' to the BMC, but once the
247696                            callback connection has been made, the user  could
247697                            potentially establish a session as an Operator.
247698
247699              link_auth
247700                     User  Link  authentication True/False user name and pass‐
247701                     word information will be used  for  link  authentication,
247702                     e.g. PPP CHAP) for the given channel. Link authentication
247703                     itself is  a  global  setting  for  the  channel  and  is
247704                     enabled/disabled   via   the  serial/modem  configuration
247705                     parameters.
247706
247707              ipmi_msg
247708                     User IPMI Messaging True/False  user  name  and  password
247709                     information  will  be  used  for  IPMI Messaging. In this
247710                     case, 'IPMI Messaging' refers to the ability  to  execute
247711                     generic IPMI commands that are not associated with a par‐
247712                     ticular payload type. For example, if IPMI  Messaging  is
247713                     disabled  for  a user, but that user is enabled for acti‐
247714                     vating the SOL payload type, then IPMI  commands  associ‐
247715                     ated  with  SOL  and  session management, such as Get SOL
247716                     Configuration Parameters and Close Session are available,
247717                     but  generic  IPMI  commands  such  as  Get  SEL Time are
247718                     unavailable.)  ipmi_msg
247719
247720              privilege_level
247721
247722                     · callback
247723
247724                     · user
247725
247726                     · operator
247727
247728                     · administrator
247729
247730                     · proprietary
247731
247732                     · no_access
247733
247734              kwargs
247735
247736                     · api_host=localhost
247737
247738                     · api_user=admin
247739
247740                     · api_pass=
247741
247742                     · api_port=623
247743
247744                     · api_kg=None
247745
247746   salt.states.ipset
247747   Management of ipsets
247748       This is an ipset-specific module designed to manage IPSets for  use  in
247749       IPTables Firewalls.
247750
247751          setname:
247752            ipset.set_present:
247753              - set_type: bitmap:ip
247754              - range: 192.168.0.0/16
247755              - comment: True
247756
247757          setname:
247758            ipset.set_absent:
247759              - set_type: bitmap:ip
247760              - range: 192.168.0.0/16
247761              - comment: True
247762
247763          setname_entries:
247764            ipset.present:
247765              - set_name: setname
247766              - entry: 192.168.0.3
247767              - comment: Hello
247768              - require:
247769                  - ipset: baz
247770
247771          setname_entries:
247772            ipset.present:
247773              - set_name: setname
247774              - entry:
247775                  - 192.168.0.3
247776                  - 192.168.1.3
247777              - comment: Hello
247778              - require:
247779                  - ipset: baz
247780
247781          setname_entries:
247782            ipset.absent:
247783              - set_name: setname
247784              - entry:
247785                  - 192.168.0.3
247786                  - 192.168.1.3
247787              - comment: Hello
247788              - require:
247789                  - ipset: baz
247790
247791          setname:
247792            ipset.flush:
247793
247794       salt.states.ipset.absent(name,     entry=None,    entries=None,    fam‐
247795       ily=u'ipv4', **kwargs)
247796              New in version 2014.7.0.
247797
247798
247799              Remove a entry or entries from a chain
247800
247801              name   A user-defined name to call this entry by in another part
247802                     of  a  state  or  formula.  This  should not be an actual
247803                     entry.
247804
247805              family Network family, ipv4 or ipv6.
247806
247807       salt.states.ipset.flush(name, family=u'ipv4', **kwargs)
247808              New in version 2014.7.0.
247809
247810
247811              Flush current ipset set
247812
247813              family Networking family, either ipv4 or ipv6
247814
247815       salt.states.ipset.present(name, entry=None, family=u'ipv4', **kwargs)
247816              New in version 2014.7.0.
247817
247818
247819              Append a entry to a set
247820
247821              name   A user-defined name to call this entry by in another part
247822                     of  a  state  or  formula.  This  should not be an actual
247823                     entry.
247824
247825              entry  A single entry to add to a set or a list  of  entries  to
247826                     add to a set
247827
247828              family Network family, ipv4 or ipv6.
247829
247830       salt.states.ipset.set_absent(name, family=u'ipv4', **kwargs)
247831              New in version 2014.7.0.
247832
247833
247834              Verify the set is absent.
247835
247836              family Networking family, either ipv4 or ipv6
247837
247838       salt.states.ipset.set_present(name, set_type, family=u'ipv4', **kwargs)
247839              New in version 2014.7.0.
247840
247841
247842              Verify the set exists.
247843
247844              name   A user-defined set name.
247845
247846              set_type
247847                     The type for the set.
247848
247849              family Networking family, either ipv4 or ipv6
247850
247851   salt.states.iptables
247852   Management of iptables
247853       This is an iptables-specific module designed to manage Linux firewalls.
247854       It is expected that this state module, and other system-specific  fire‐
247855       wall states, may at some point be deprecated in favor of a more generic
247856       firewall state.
247857
247858          httpd:
247859            iptables.append:
247860              - table: filter
247861              - chain: INPUT
247862              - jump: ACCEPT
247863              - match: state
247864              - connstate: NEW
247865              - dport: 80
247866              - protocol: tcp
247867              - sport: 1025:65535
247868              - save: True
247869
247870          httpd:
247871            iptables.append:
247872              - table: filter
247873              - chain: INPUT
247874              - jump: ACCEPT
247875              - match:
247876                  - state
247877                  - comment
247878              - comment: "Allow HTTP"
247879              - connstate: NEW
247880              - dport: 80
247881              - protocol: tcp
247882              - sport: 1025:65535
247883              - save: True
247884
247885          httpd:
247886            iptables.append:
247887              - table: filter
247888              - chain: INPUT
247889              - jump: ACCEPT
247890              - match:
247891                  - state
247892                  - comment
247893              - comment: "Allow HTTP"
247894              - connstate: NEW
247895              - source: '127.0.0.1'
247896              - dport: 80
247897              - protocol: tcp
247898              - sport: 1025:65535
247899              - save: True
247900
247901          .. Invert Rule
247902          httpd:
247903            iptables.append:
247904              - table: filter
247905              - chain: INPUT
247906              - jump: ACCEPT
247907              - match:
247908                  - state
247909                  - comment
247910              - comment: "Allow HTTP"
247911              - connstate: NEW
247912              - source: '! 127.0.0.1'
247913              - dport: 80
247914              - protocol: tcp
247915              - sport: 1025:65535
247916              - save: True
247917
247918          httpd:
247919            iptables.append:
247920              - table: filter
247921              - chain: INPUT
247922              - jump: ACCEPT
247923              - match:
247924                  - state
247925                  - comment
247926              - comment: "Allow HTTP"
247927              - connstate: NEW
247928              - source: 'not 127.0.0.1'
247929              - dport: 80
247930              - protocol: tcp
247931              - sport: 1025:65535
247932              - save: True
247933
247934          httpd:
247935            iptables.append:
247936              - table: filter
247937              - family: ipv6
247938              - chain: INPUT
247939              - jump: ACCEPT
247940              - match: state
247941              - connstate: NEW
247942              - dport: 80
247943              - protocol: tcp
247944              - sport: 1025:65535
247945              - save: True
247946
247947          httpd:
247948            iptables.append:
247949              - table: filter
247950              - family: ipv4
247951              - chain: INPUT
247952              - jump: ACCEPT
247953              - match: state
247954              - connstate: NEW
247955              - dports:
247956                  - 80
247957                  - 443
247958              - protocol: tcp
247959              - sport: 1025:65535
247960              - save: True
247961
247962          httpd:
247963            iptables.insert:
247964              - position: 1
247965              - table: filter
247966              - chain: INPUT
247967              - jump: ACCEPT
247968              - match: state
247969              - connstate: NEW
247970              - dport: 80
247971              - protocol: tcp
247972              - sport: 1025:65535
247973              - save: True
247974
247975          httpd:
247976            iptables.insert:
247977              - position: 1
247978              - table: filter
247979              - family: ipv6
247980              - chain: INPUT
247981              - jump: ACCEPT
247982              - match: state
247983              - connstate: NEW
247984              - dport: 80
247985              - protocol: tcp
247986              - sport: 1025:65535
247987              - save: True
247988
247989          httpd:
247990            iptables.delete:
247991              - table: filter
247992              - chain: INPUT
247993              - jump: ACCEPT
247994              - match: state
247995              - connstate: NEW
247996              - dport: 80
247997              - protocol: tcp
247998              - sport: 1025:65535
247999              - save: True
248000
248001          httpd:
248002            iptables.delete:
248003              - position: 1
248004              - table: filter
248005              - chain: INPUT
248006              - jump: ACCEPT
248007              - match: state
248008              - connstate: NEW
248009              - dport: 80
248010              - protocol: tcp
248011              - sport: 1025:65535
248012              - save: True
248013
248014          httpd:
248015            iptables.delete:
248016              - table: filter
248017              - family: ipv6
248018              - chain: INPUT
248019              - jump: ACCEPT
248020              - match: state
248021              - connstate: NEW
248022              - dport: 80
248023              - protocol: tcp
248024              - sport: 1025:65535
248025              - save: True
248026
248027          default to accept:
248028            iptables.set_policy:
248029              - chain: INPUT
248030              - policy: ACCEPT
248031
248032       NOTE:
248033          Whereas iptables will accept -p,  --proto[c[o[l]]]  as  synonyms  of
248034          --protocol,  if  --proto  appears  in  an iptables command after the
248035          appearance of -m policy, it is interpreted as the --proto option  of
248036          the policy extension (see the iptables-extensions(8) man page).
248037
248038       Example rules for IPSec policy:
248039
248040          accept_esp_in:
248041            iptables.append:
248042              - table: filter
248043              - chain: INPUT
248044              - jump: ACCEPT
248045              - source: 10.20.0.0/24
248046              - destination: 10.10.0.0/24
248047              - in-interface: eth0
248048              - match: policy
248049              - dir: in
248050              - pol: ipsec
248051              - reqid: 1
248052              - proto: esp
248053          accept_esp_forward_in:
248054            iptables.append:
248055              - use:
248056                - iptables: accept_esp_in
248057              - chain: FORWARD
248058
248059          accept_esp_out:
248060            iptables.append:
248061              - table: filter
248062              - chain: OUTPUT
248063              - jump: ACCEPT
248064              - source: 10.10.0.0/24
248065              - destination: 10.20.0.0/24
248066              - out-interface: eth0
248067              - match: policy
248068              - dir: out
248069              - pol: ipsec
248070              - reqid: 1
248071              - proto: esp
248072          accept_esp_forward_out:
248073            iptables.append:
248074              - use:
248075                - iptables: accept_esp_out
248076              - chain: FORWARD
248077
248078       NOTE:
248079          Various  functions of the iptables module use the --check option. If
248080          the version of iptables on the target system does not  include  this
248081          option,  an  alternate version of this check will be performed using
248082          the output of iptables-save. This may have  unintended  consequences
248083          on legacy releases of iptables.
248084
248085       salt.states.iptables.append(name,    table=u'filter',   family=u'ipv4',
248086       **kwargs)
248087              New in version 0.17.0.
248088
248089
248090              Add a rule to the end of the specified chain.
248091
248092              name   A user-defined name to call this rule by in another  part
248093                     of a state or formula. This should not be an actual rule.
248094
248095              table  The table that owns the chain which should be modified
248096
248097              family Network family, ipv4 or ipv6.
248098
248099              All other arguments are passed in with the same name as the long
248100              option that would normally be used for iptables, with one excep‐
248101              tion: --state is specified as connstate instead of state (not to
248102              be confused with ctstate).
248103
248104              Jump options that doesn't take arguments  should  be  passed  in
248105              with an empty string.
248106
248107       salt.states.iptables.chain_absent(name,      table=u'filter',      fam‐
248108       ily=u'ipv4')
248109              New in version 2014.1.0.
248110
248111
248112              Verify the chain is absent.
248113
248114              table  The table to remove the chain from
248115
248116              family Networking family, either ipv4 or ipv6
248117
248118       salt.states.iptables.chain_present(name,     table=u'filter',      fam‐
248119       ily=u'ipv4')
248120              New in version 2014.1.0.
248121
248122
248123              Verify the chain is exist.
248124
248125              name   A user-defined chain name.
248126
248127              table  The table to own the chain.
248128
248129              family Networking family, either ipv4 or ipv6
248130
248131       salt.states.iptables.delete(name,    table=u'filter',   family=u'ipv4',
248132       **kwargs)
248133              New in version 2014.1.0.
248134
248135
248136              Delete a rule to a chain
248137
248138              name   A user-defined name to call this rule by in another  part
248139                     of a state or formula. This should not be an actual rule.
248140
248141              table  The table that owns the chain that should be modified
248142
248143              family Networking family, either ipv4 or ipv6
248144
248145              All other arguments are passed in with the same name as the long
248146              option that would normally be used for iptables, with one excep‐
248147              tion: --state is specified as connstate instead of state (not to
248148              be confused with ctstate).
248149
248150              Jump options that doesn't take arguments  should  be  passed  in
248151              with an empty string.
248152
248153       salt.states.iptables.flush(name,    table=u'filter',    family=u'ipv4',
248154       **kwargs)
248155              New in version 2014.1.0.
248156
248157
248158              Flush current iptables state
248159
248160              table  The table that owns the chain that should be modified
248161
248162              family Networking family, either ipv4 or ipv6
248163
248164       salt.states.iptables.insert(name,   table=u'filter',    family=u'ipv4',
248165       **kwargs)
248166              New in version 2014.1.0.
248167
248168
248169              Insert a rule into a chain
248170
248171              name   A  user-defined name to call this rule by in another part
248172                     of a state or formula. This should not be an actual rule.
248173
248174              table  The table that owns the chain that should be modified
248175
248176              family Networking family, either ipv4 or ipv6
248177
248178              position
248179                     The numerical representation of where the rule should  be
248180                     inserted  into the chain. Note that -1 is not a supported
248181                     position value.
248182
248183              All other arguments are passed in with the same name as the long
248184              option that would normally be used for iptables, with one excep‐
248185              tion: --state is specified as connstate instead of state (not to
248186              be confused with ctstate).
248187
248188              Jump  options  that  doesn't  take arguments should be passed in
248189              with an empty string.
248190
248191       salt.states.iptables.mod_aggregate(low, chunks, running)
248192              The mod_aggregate function which  looks  up  all  rules  in  the
248193              available  low chunks and merges them into a single rules ref in
248194              the present low data
248195
248196       salt.states.iptables.set_policy(name, table=u'filter',  family=u'ipv4',
248197       **kwargs)
248198              New in version 2014.1.0.
248199
248200
248201              Sets the default policy for iptables firewall tables
248202
248203              table  The table that owns the chain that should be modified
248204
248205              family Networking family, either ipv4 or ipv6
248206
248207              policy The requested table policy
248208
248209   salt.states.jboss7
248210       Manage JBoss 7 Application Server via CLI interface
248211
248212       New in version 2015.5.0.
248213
248214
248215       This state uses the jboss-cli.sh script from a JBoss or Wildfly instal‐
248216       lation and parses its output to determine the execution result.
248217
248218       In order to run each state, a jboss_config dictionary with the  follow‐
248219       ing properties must be passed:
248220
248221          jboss:
248222             cli_path: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
248223             controller: 10.11.12.13:9999
248224             cli_user: 'jbossadm'
248225             cli_password: 'jbossadm'
248226
248227       If  the  controller  doesn't  require a password, then the cli_user and
248228       cli_password parameters are optional.
248229
248230       Since same dictionary with  configuration  will  be  used  in  all  the
248231       states, it may be more convenient to move JBoss configuration and other
248232       properties to the pillar.
248233
248234       Example of application deployment from local filesystem:
248235
248236          application_deployed:
248237            jboss7.deployed:
248238              - salt_source:
248239                  target_file: '/tmp/webapp.war'
248240              - jboss_config: {{ pillar['jboss'] }}
248241
248242       For the sake of brevity, examples for each state assume that jboss_con‐
248243       fig is contained in the pillar.
248244
248245       salt.states.jboss7.bindings_exist(name,  jboss_config,  bindings,  pro‐
248246       file=None)
248247              Ensures that given JNDI binding are present on the server.  If a
248248              binding  doesn't  exist on the server it will be created.  If it
248249              already exists its value will be changed.
248250
248251              jboss_config:
248252                     Dict with connection properties (see state description)
248253
248254              bindings:
248255                     Dict with bindings to set.
248256
248257              profile:
248258                     The profile name (domain mode only)
248259
248260              Example:
248261
248262                 jndi_entries_created:
248263                   jboss7.bindings_exist:
248264                    - bindings:
248265                       'java:global/sampleapp/environment': 'DEV'
248266                       'java:global/sampleapp/configurationFile': '/var/opt/sampleapp/config.properties'
248267                    - jboss_config: {{ pillar['jboss'] }}
248268
248269       salt.states.jboss7.datasource_exists(name,     jboss_config,      data‐
248270       source_properties, recreate=False, profile=None)
248271              Ensures  that  a  datasource  with given properties exist on the
248272              jboss instance.  If datasource doesn't  exist,  it  is  created,
248273              otherwise  only  the  properties  that  are  different  will  be
248274              updated.
248275
248276              name   Datasource property name
248277
248278              jboss_config
248279                     Dict with connection properties (see state description)
248280
248281              datasource_properties
248282                     Dict with datasource properties
248283
248284              recreate
248285                     False If set to True and datasource  exists  it  will  be
248286                     removed  and created again. However, if there are deploy‐
248287                     ments that depend on the datasource, it will not me  pos‐
248288                     sible to remove it.
248289
248290              profile
248291                     None  The  profile  name for this datasource (domain mode
248292                     only)
248293
248294              Example:
248295
248296                 sampleDS:
248297                   jboss7.datasource_exists:
248298                    - recreate: False
248299                    - datasource_properties:
248300                        driver-name: mysql
248301                        connection-url: 'jdbc:mysql://localhost:3306/sampleDatabase'
248302                        jndi-name: 'java:jboss/datasources/sampleDS'
248303                        user-name: sampleuser
248304                        password: secret
248305                        min-pool-size: 3
248306                        use-java-context: True
248307                    - jboss_config: {{ pillar['jboss'] }}
248308                    - profile: full-ha
248309
248310       salt.states.jboss7.deployed(name, jboss_config, salt_source=None)
248311              Ensures that the given application is deployed on server.
248312
248313              jboss_config:
248314                     Dict with connection properties (see state description)
248315
248316              salt_source:
248317
248318                     How to find the artifact to be deployed.
248319
248320                            target_file:
248321                                   Where to look in the minion's  file  system
248322                                   for  the  artifact  to  be  deployed  (e.g.
248323                                   '/tmp/application-web-0.39.war').      When
248324                                   source  is specified,  also specifies where
248325                                   to save the retrieved file.
248326
248327                            source:
248328                                   (optional)  File  on  salt   master   (e.g.
248329                                   salt://application-web-0.39.war).        If
248330                                   absent, no files will be retrieved and  the
248331                                   artifact  in  target_file  will be used for
248332                                   the deployment.
248333
248334                            undeploy:
248335                                   (optional)  Regular  expression  to   match
248336                                   against    existing    deployments.    When
248337                                   present, if  there  is  a  deployment  that
248338                                   matches  the regular expression, it will be
248339                                   undeployed  before  the  new  artifact   is
248340                                   deployed.
248341
248342                            undeploy_force:
248343                                   (optional)  If  True,  the artifact will be
248344                                   undeployed although it has not changed.
248345
248346              Examples:
248347
248348              Deployment of a file from minion's local file system:
248349
248350                 application_deployed:
248351                   jboss7.deployed:
248352                     - salt_source:
248353                         target_file: '/tmp/webapp.war'
248354                     - jboss_config: {{ pillar['jboss'] }}
248355
248356              It is assumed that /tmp/webapp.war was made  available  by  some
248357              other means.  No applications will be undeployed; if an existing
248358              deployment that  shares  that  name  exists,  then  it  will  be
248359              replaced with the updated version.
248360
248361              Deployment of a file from the Salt master's file system:
248362
248363                 application_deployed:
248364                   jboss7.deployed:
248365                    - salt_source:
248366                         source: salt://application-web-0.39.war
248367                         target_file: '/tmp/application-web-0.39.war'
248368                         undeploy: 'application-web-.*'
248369                    - jboss_config: {{ pillar['jboss'] }}
248370
248371              Here, application-web-0.39.war file is downloaded from Salt file
248372              system to /tmp/application-web-0.39.war file on minion.   Exist‐
248373              ing  deployments  are  checked  if any of them matches 'applica‐
248374              tion-web-.*' regular expression, and if so then it is undeployed
248375              before  deploying  the  application.  This is useful to automate
248376              deployment of new application versions.
248377
248378              If the source parameter of salt_source is specified, it can  use
248379              any  protocol  that the file states use.  This includes not only
248380              downloading from the master but also HTTP,  HTTPS,  FTP,  Amazon
248381              S3, and OpenStack Swift.
248382
248383       salt.states.jboss7.reloaded(name, jboss_config, timeout=60, interval=5)
248384              Reloads configuration of jboss server.
248385
248386              jboss_config:
248387                     Dict with connection properties (see state description)
248388
248389              timeout:
248390                     Time  to  wait  until  jboss  is  back  in running state.
248391                     Default timeout is 60s.
248392
248393              interval:
248394                     Interval between state checks. Default  interval  is  5s.
248395                     Decreasing  the  interval  may  slightly decrease waiting
248396                     time but be aware that every status check is  a  call  to
248397                     jboss-cli which is a java process. If interval is smaller
248398                     than process cleanup time it may easily lead to excessive
248399                     resource consumption.
248400
248401              This step performs the following operations:
248402
248403              · Ensures that server is in running or reload-required state (by
248404                reading server-state attribute)
248405
248406              · Reloads configuration
248407
248408              · Waits for server to reload and be in running state
248409
248410              Example:
248411
248412                 configuration_reloaded:
248413                    jboss7.reloaded:
248414                     - jboss_config: {{ pillar['jboss'] }}
248415
248416   salt.states.jenkins module
248417   Management of Jenkins
248418       New in version 2016.3.0.
248419
248420
248421       salt.states.jenkins.absent(name, **kwargs)
248422              Ensure the job is absent from the Jenkins configured jobs
248423
248424              name   The name of the Jenkins job to remove
248425
248426       salt.states.jenkins.present(name, config=None, **kwargs)
248427              Ensure the job is present in the Jenkins configured jobs
248428
248429              name   The unique name for the Jenkins job
248430
248431              config The Salt URL for the file to use for configuring the job
248432
248433   salt.states.junos module
248434   State modules to interact with Junos devices.
248435       maturity
248436              new
248437
248438       dependencies
248439              junos-eznc, jxmlease
248440
248441       NOTE:
248442          Those who wish to use junos-eznc (PyEZ) version >= 2.1.0,  must  use
248443          the latest salt code from github until the next release.
248444
248445       Refer to junos for information on connecting to junos proxy.
248446
248447       salt.states.junos.cli(*args, **kwargs)
248448              Executes the CLI commands and reuturns the text output.
248449
248450                 show version:
248451                   junos:
248452                     - cli
248453                     - format: xml
248454
248455              Parameters
248456
248457                     · Required -- .INDENT 2.0
248458
248459                     · command:  The command that need to be executed on Junos
248460                       CLI. (default = None)
248461
248462
248463              · Optional -- .INDENT 2.0
248464
248465              ·
248466
248467                kwargs: Keyworded arguments which can be provided like-
248468
248469                       · format: Format in which to get the CLI output.  (text
248470                         or xml,                 default = 'text')
248471
248472                       · timeout:  Set  NETCONF  RPC  timeout. Can be used for
248473                         commands which take a while to execute. (default = 30
248474                         seconds)
248475
248476                       · dest:  The  destination file where the CLI output can
248477                         be stored.               (default = None)
248478
248479
248480       salt.states.junos.commit(*args, **kwargs)
248481              Commits the changes loaded into the candidate configuration.
248482
248483                 commit the changes:
248484                   junos:
248485                     - commit
248486                     - confirm: 10
248487
248488              Parameters
248489                     Optional -- .INDENT 7.0
248490
248491              ·
248492
248493                kwargs: Keyworded arguments which can be provided like-
248494
248495                       · timeout: Set NETCONF RPC timeout.  Can  be  used  for
248496                         commands which take a               while to execute.
248497                         (default = 30 seconds)
248498
248499                       · comment: Provide a comment to the commit. (default  =
248500                         None)
248501
248502                       · confirm: Provide time in minutes for commit confirma‐
248503                         tion. If this option               is specified,  the
248504                         commit   will   be   rollbacked  in  the  given  time
248505                         unless the commit is confirmed.
248506
248507                       · sync: On dual control plane  systems,  requests  that
248508                         the  candidate              configuration on one con‐
248509                         trol plane be copied to the other                con‐
248510                         trol  plane,checked for correct syntax, and committed
248511                         on               both  Routing  Engines.  (default  =
248512                         False)
248513
248514                       · force_sync:  On dual control plane systems, force the
248515                         candidate configuration on one control  plane  to  be
248516                         copied to the other control plane.
248517
248518                       · full:  When  set  to True requires all the daemons to
248519                         check and evaluate               the  new  configura‐
248520                         tion.
248521
248522                       · detail: When true return commit detail.
248523
248524
248525       salt.states.junos.commit_check(*args, **kwargs)
248526              Perform a commit check on the configuration.
248527
248528                 perform commit check:
248529                   junos.commit_check
248530
248531       salt.states.junos.diff(*args, **kwargs)
248532              Gets  the  difference between the candidate and the current con‐
248533              figuration.
248534
248535                 get the diff:
248536                   junos:
248537                     - diff
248538                     - id: 10
248539
248540              Parameters
248541                     Optional -- .INDENT 7.0
248542
248543              · id: The rollback id value [0-49]. (default = 0)
248544
248545
248546       salt.states.junos.file_copy(*args, **kwargs)
248547              Copies the file from the local device to the junos device.
248548
248549                 /home/m2/info.txt:
248550                   junos:
248551                     - file_copy
248552                     - dest: info_copy.txt
248553
248554              Parameters
248555                     Required -- .INDENT 7.0
248556
248557              · src: The sorce path where the file is kept.
248558
248559              · dest: The destination path where the file will be copied.
248560
248561
248562       salt.states.junos.install_config(*args, **kwargs)
248563              Loads and commits the configuration provided.
248564
248565                 Install the mentioned config:
248566                   junos:
248567                     - install_config
248568                     - path: salt//configs/interface.set
248569                     - timeout: 100
248570                     - diffs_file: 'var/log/diff'
248571
248572                 Install the mentioned config:
248573                   junos:
248574                     - install_config
248575                     - template_path: salt//configs/interface.set
248576                     - timeout: 100
248577                     - template_vars:
248578                         interface_name: lo0
248579                         description: Creating interface via SaltStack.
248580
248581              name   Path where the configuration/template file is present. If
248582                     the  file  has a *.conf extension, the content is treated
248583                     as text format. If the file has a  *.xml  extension,  the
248584                     content is treated as XML format. If the file has a *.set
248585                     extension, the content is treated as Junos  OS  set  com‐
248586                     mands
248587
248588              template_vars
248589                     The dictionary of data for the jinja variables present in
248590                     the jinja template
248591
248592              timeout
248593                     30 Set NETCONF RPC timeout.  Can  be  used  for  commands
248594                     which take a while to execute.
248595
248596              overwrite
248597                     False.INDENT 7.0
248598
248599              Set to True if you want this file is to completely replace the
248600                     configuration file.
248601
248602       replace
248603              False  Specify  whether  the  configuration file uses "replace:"
248604              statements.  Only those statements under the 'replace' tag  will
248605              be changed.
248606
248607       comment
248608              Provide a comment to the commit. (default = None)
248609
248610       confirm
248611              Provide  time in minutes for commit confirmation. If this option
248612              is specified, the commit will be rolled back in the  given  time
248613              unless the commit is confirmed.
248614
248615       diffs_file
248616              Path to the file where the diff (difference in old configuration
248617              and the committed configuration) will be stored.
248618
248619              NOTE:
248620                 The file will be stored on the  proxy  minion.  To  push  the
248621                 files to the master use cp.push.
248622
248623       salt.states.junos.install_os(*args, **kwargs)
248624              Installs  the  given image on the device. After the installation
248625              is complete the device is rebooted, if reboot=True is given as a
248626              keyworded argument.
248627
248628                 salt://images/junos_image.tgz:
248629                   junos:
248630                     - install_os
248631                     - timeout: 100
248632                     - reboot: True
248633
248634              Parameters
248635
248636                     · Required -- .INDENT 2.0
248637
248638                     · path:  Path  where the image file is present on the pro
248639                       xy minion.
248640
248641
248642              · Optional -- .INDENT 2.0
248643
248644              ·
248645
248646                kwargs: keyworded arguments  to  be  given  such  as  timeout,
248647                reboot etc
248648
248649                       · timeout: Set NETCONF RPC timeout. Can be used to RPCs
248650                         which take a while to execute. (default = 30 seconds)
248651
248652                       · reboot: Whether to reboot after installation (default
248653                         = False)
248654
248655                       · no_copy:  When  True the software package will not be
248656                         SCP’d to the device.               (default = False)
248657
248658
248659       salt.states.junos.load(*args, **kwargs)
248660              Loads the configuration provided onto the junos device.
248661
248662                 Install the mentioned config:
248663                   junos:
248664                     - load
248665                     - path: salt//configs/interface.set
248666
248667                 Install the mentioned config:
248668                   junos:
248669                     - load
248670                     - template_path: salt//configs/interface.set
248671                     - template_vars:
248672                         interface_name: lo0
248673                         description: Creating interface via SaltStack.
248674
248675              name   Path where the configuration/template file is present. If
248676                     the  file  has a *.conf extension, the content is treated
248677                     as text format. If the file has a  *.xml  extension,  the
248678                     content is treated as XML format. If the file has a *.set
248679                     extension, the content is treated as Junos  OS  set  com‐
248680                     mands.
248681
248682              overwrite
248683                     False  Set to True if you want this file is to completely
248684                     replace the configuration file.
248685
248686              replace
248687                     False  Specify  whether  the  configuration   file   uses
248688                     "replace:"  statements.   Only those statements under the
248689                     'replace' tag will be changed.
248690
248691              format:
248692                     Determines the format of the contents.
248693
248694              update False Compare a complete loaded configuration against the
248695                     candidate configuration. For each hierarchy level or con‐
248696                     figuration object that is different in the two configura‐
248697                     tions,  the  version in the loaded configuration replaces
248698                     the version in the candidate configuration. When the con‐
248699                     figuration is later committed, only system processes that
248700                     are affected by the changed configuration elements  parse
248701                     the new configuration. This action is supported from PyEZ
248702                     2.1 (default = False)
248703
248704              template_vars
248705                     Variables to  be  passed  into  the  template  processing
248706                     engine  in  addition  to  those  present  in  __pillar__,
248707                     __opts__, __grains__, etc.  You may reference these vari‐
248708                     ables    in    your    template    like   so:   {{   tem‐
248709                     plate_vars["var_name"] }}
248710
248711       salt.states.junos.lock(*args, **kwargs)
248712              Attempts an exclusive lock on the candidate configuration.  This
248713              is a non-blocking call.
248714
248715              NOTE:
248716                 Any  user who wishes to use lock, must necessarily unlock the
248717                 configuration too.  Ensure  unlock  is  called  in  the  same
248718                 orchestration run in which the lock is called.
248719
248720                 lock the config:
248721                   junos.lock
248722
248723       salt.states.junos.resultdecorator(function)
248724
248725       salt.states.junos.rollback(*args, **kwargs)
248726              Rollbacks the committed changes.
248727
248728                 rollback the changes:
248729                   junos:
248730                     - rollback
248731                     - id: 5
248732
248733              Parameters
248734                     Optional -- .INDENT 7.0
248735
248736              · id: The rollback id value [0-49]. (default = 0)
248737
248738              ·
248739
248740                kwargs: Keyworded arguments which can be provided like-
248741
248742                       · timeout:  Set  NETCONF  RPC  timeout. Can be used for
248743                         commands which take a while to execute. (default = 30
248744                         seconds)
248745
248746                       · comment:  Provide a comment to the commit. (default =
248747                         None)
248748
248749                       · confirm: Provide time in minutes for commit confirma‐
248750                         tion.  If this option               is specified, the
248751                         commit  will  be  rollbacked  in   the   given   time
248752                         unless the commit is confirmed.
248753
248754                       · diffs_file:  Path to the file where any diffs will be
248755                         written. (default = None)
248756
248757
248758       salt.states.junos.rpc(*args, **kwargs)
248759              Executes the given rpc. The returned data can  be  stored  in  a
248760              file by specifying the destination path with dest as an argument
248761
248762                 get-interface-information:
248763                     junos:
248764                       - rpc
248765                       - dest: /home/user/rpc.log
248766                       - interface_name: lo0
248767
248768              Parameters
248769
248770                     · Required -- .INDENT 2.0
248771
248772                     · cmd: The rpc to be executed. (default = None)
248773
248774
248775              · Optional -- .INDENT 2.0
248776
248777              · dest:  Destination  file  where  the  rpc  output  is  stored.
248778                (default = None) Note that the file  will  be  stored  on  the
248779                proxy  minion.  To push the files to the master use the salt's
248780                following execution module:             cp.push
248781
248782              · format: The format in which the rpc reply must  be  stored  in
248783                file  specified in the dest (used only when dest is specified)
248784                (default = xml)
248785
248786              ·
248787
248788                kwargs: keyworded arguments taken by rpc call like-
248789
248790                       · timeout: Set NETCONF RPC timeout.  Can  be  used  for
248791                         commands  which take a while to execute. (default= 30
248792                         seconds)
248793
248794                       · filter: Only to be used with 'get-config' rpc to  get
248795                         specific configuration.
248796
248797                       · terse: Amount of information you want.
248798
248799                       · interface_name:  Name of the interface whose informa‐
248800                         tion you want.
248801
248802
248803       salt.states.junos.set_hostname(*args, **kwargs)
248804              Changes the hostname of the device.
248805
248806                 device_name:
248807                   junos:
248808                     - set_hostname
248809                     - comment: "Host-name set via saltstack."
248810
248811              Parameters
248812
248813                     · Required -- .INDENT 2.0
248814
248815                     · hostname: The name to be set. (default = None)
248816
248817
248818              · Optional -- .INDENT 2.0
248819
248820              ·
248821
248822                kwargs: Keyworded arguments which can be provided like-
248823
248824                       · timeout: Set NETCONF RPC timeout.  Can  be  used  for
248825                         commands which take a while to execute. (default = 30
248826                         seconds)
248827
248828                       · comment: Provide a comment to the commit. (default  =
248829                         None)
248830
248831                       · confirm: Provide time in minutes for commit confirma‐
248832                         tion.               If this option is specified,  the
248833                         commit  will be rollbacked in               the given
248834                         time unless the commit is confirmed.
248835
248836
248837       salt.states.junos.shutdown(*args, **kwargs)
248838              Shuts down the device.
248839
248840                 shut the device:
248841                   junos:
248842                     - shutdown
248843                     - in_min: 10
248844
248845              Parameters
248846                     Optional -- .INDENT 7.0
248847
248848              ·
248849
248850                kwargs:
248851
248852                       · reboot:  Whether  to  reboot  instead  of   shutdown.
248853                         (default=False)
248854
248855                       · at:  Specify  time  for  reboot.  (To be used only if
248856                         reboot=yes)
248857
248858                       · in_min: Specify delay in minutes for shutdown
248859
248860
248861       salt.states.junos.unlock(*args, **kwargs)
248862              Unlocks the candidate configuration.
248863
248864                 unlock the config:
248865                   junos.unlock
248866
248867       salt.states.junos.zeroize(*args, **kwargs)
248868              Resets the device to default factory settings.
248869
248870                 reset my device:
248871                   junos.zeroize
248872
248873              name: can be anything
248874
248875   salt.states.kapacitor module
248876       Kapacitor state module.
248877
248878       configuration
248879              This module accepts connection configuration details  either  as
248880              parameters  or  as configuration settings in /etc/salt/minion on
248881              the relevant minions:
248882
248883                 kapacitor.unsafe_ssl: 'false'
248884                 kapacitor.protocol: 'http'
248885                 kapacitor.host: 'localhost'
248886                 kapacitor.port: 9092
248887
248888              This data can also be passed into pillar.  Options  passed  into
248889              opts will overwrite options passed into pillar.
248890
248891       New in version 2016.11.0.
248892
248893
248894       salt.states.kapacitor.task_absent(name)
248895              Ensure that a task is absent from Kapacitor.
248896
248897              name   Name of the task.
248898
248899       salt.states.kapacitor.task_present(name,                   tick_script,
248900       task_type=u'stream',    database=None,     retention_policy=u'default',
248901       enable=True, dbrps=None)
248902              Ensure that a task is present and up-to-date in Kapacitor.
248903
248904              name   Name of the task.
248905
248906              tick_script
248907                     Path  to  the  TICK script for the task. Can be a salt://
248908                     source.
248909
248910              task_type
248911                     Task type. Defaults to 'stream'
248912
248913              dbrps  A  list  of   databases   and   retention   policies   in
248914                     "dbname"."rpname" format to fetch data from. For backward
248915                     compatibility,  the  value  of  'database'  and   'reten‐
248916                     tion_policy' will be merged as part of dbrps.
248917
248918                     New in version 2019.2.0.
248919
248920
248921              database
248922                     Which  database  to  fetch  data  from. Defaults to None,
248923                     which will use the default database in InfluxDB.
248924
248925              retention_policy
248926                     Which retention policy to fetch data  from.  Defaults  to
248927                     'default'.
248928
248929              enable Whether to enable the task or not. Defaults to True.
248930
248931   salt.states.kernelpkg
248932   Manage kernel packages and active kernel version
248933       Example state to install the latest kernel from package repositories:
248934
248935          install-latest-kernel:
248936            kernel.latest_installed: []
248937
248938       Example state to boot the system if a new kernel has been installed:
248939
248940          boot-latest-kernel:
248941            kernel.latest_active:
248942              - at_time: 1
248943
248944       Example state chaining the install and reboot operations:
248945
248946          install-latest-kernel:
248947            kernel.latest_installed: []
248948
248949          boot-latest-kernel:
248950            kernel.latest_active:
248951              - at_time: 1
248952              - onchanges:
248953                - kernel: install-latest-kernel
248954
248955       Chaining can also be achieved using wait/listen requisites:
248956
248957          install-latest-kernel:
248958            kernel.latest_installed: []
248959
248960          boot-latest-kernel:
248961            kernel.latest_wait:
248962              - at_time: 1
248963              - listen:
248964                - kernel: install-latest-kernel
248965
248966       salt.states.kernelpkg.latest_active(name, at_time=None, **kwargs)
248967              Initiate  a  reboot  if the running kernel is not the latest one
248968              installed.
248969
248970              NOTE:
248971                 This state does not install any patches. It only compares the
248972                 running  kernel  version number to other kernel versions also
248973                 installed in the system. If the running version  is  not  the
248974                 latest one installed, this state will reboot the system.
248975
248976                 See  kernelpkg.upgrade  and  latest_installed()  for  ways to
248977                 install new kernel packages.
248978
248979                 This module does not attempt to  understand  or  manage  boot
248980                 loader  configurations  it  is  possible to have a new kernel
248981                 installed, but a boot loader configuration  that  will  never
248982                 activate  it.  For  this reason, it would not be advisable to
248983                 schedule this state to run automatically.
248984
248985                 Because this state function may cause the system  to  reboot,
248986                 it  may be preferable to move it to the very end of the state
248987                 run.  See latest_wait() for a  waitable  state  that  can  be
248988                 called with the listen requesite.
248989
248990              name   Arbitrary name for the state. Does not affect behavior.
248991
248992              at_time
248993                     The  wait  time  in  minutes  before  the  system will be
248994                     rebooted.
248995
248996       salt.states.kernelpkg.latest_installed(name, **kwargs)
248997              Ensure that the latest version of the kernel  available  in  the
248998              repositories is installed.
248999
249000              NOTE:
249001                 This  state  only  installs the kernel, but does not activate
249002                 it.  The new kernel should become active at the next  reboot.
249003                 See  kernelpkg.needs_reboot for details on how to detect this
249004                 condition, and latest_active()  to  initiale  a  reboot  when
249005                 needed.
249006
249007              name   Arbitrary name for the state. Does not affect behavior.
249008
249009       salt.states.kernelpkg.latest_wait(name, at_time=None, **kwargs)
249010              Initiate  a  reboot  if the running kernel is not the latest one
249011              installed. This is the waitable version of  latest_active()  and
249012              will  not  take any action unless triggered by a watch or listen
249013              requesite.
249014
249015              NOTE:
249016                 Because this state function may cause the system  to  reboot,
249017                 it  may be preferable to move it to the very end of the state
249018                 run using listen or listen_in requisites.
249019
249020                     system-up-to-date:
249021                       pkg.uptodate:
249022                         - refresh: true
249023
249024                     boot-latest-kernel:
249025                       kernelpkg.latest_wait:
249026                         - at_time: 1
249027                         - listen:
249028                           - pkg: system-up-to-date
249029
249030              name   Arbitrary name for the state. Does not affect behavior.
249031
249032              at_time
249033                     The wait time  in  minutes  before  the  system  will  be
249034                     rebooted.
249035
249036       salt.states.kernelpkg.mod_watch(name, sfun, **kwargs)
249037              Execute a kernelpkg state based on a watch or listen call
249038
249039   salt.states.keyboard
249040   Management of keyboard layouts
249041       The keyboard layout can be managed for the system:
249042
249043          us:
249044            keyboard.system
249045
249046       Or it can be managed for XOrg:
249047
249048          us:
249049            keyboard.xorg
249050
249051       salt.states.keyboard.system(name)
249052              Set the keyboard layout for the system
249053
249054              name   The keyboard layout to use
249055
249056       salt.states.keyboard.xorg(name)
249057              Set the keyboard layout for XOrg
249058
249059              layout The keyboard layout to use
249060
249061   salt.states.keystone
249062   Management of Keystone users
249063       depends
249064
249065              · keystoneclient Python module
249066
249067       configuration
249068              See salt.modules.keystone for setup instructions.
249069
249070          Keystone tenants:
249071            keystone.tenant_present:
249072              - names:
249073                - admin
249074                - demo
249075                - service
249076
249077          Keystone roles:
249078            keystone.role_present:
249079              - names:
249080                - admin
249081                - Member
249082
249083          admin:
249084            keystone.user_present:
249085              - password: R00T_4CC3SS
249086              - email: admin@domain.com
249087              - roles:
249088                  admin:   # tenants
249089                    - admin  # roles
249090                  service:
249091                    - admin
249092                    - Member
249093              - require:
249094                - keystone: Keystone tenants
249095                - keystone: Keystone roles
249096
249097          nova:
249098            keystone.user_present:
249099              - password: '$up3rn0v4'
249100              - email: nova@domain.com
249101              - tenant: service
249102              - roles:
249103                  service:
249104                    - admin
249105              - require:
249106                - keystone: Keystone tenants
249107                - keystone: Keystone roles
249108
249109          demo:
249110            keystone.user_present:
249111              - password: 'd3m0n$trati0n'
249112              - email: demo@domain.com
249113              - tenant: demo
249114              - roles:
249115                  demo:
249116                    - Member
249117              - require:
249118                - keystone: Keystone tenants
249119                - keystone: Keystone roles
249120
249121          nova service:
249122            keystone.service_present:
249123              - name: nova
249124              - service_type: compute
249125              - description: OpenStack Compute Service
249126
249127       salt.states.keystone.endpoint_absent(name,  region=None,  profile=None,
249128       interface=None, **connection_args)
249129              Ensure that the endpoint for a service doesn't exist in Keystone
249130              catalog
249131
249132              name   The name of the service whose endpoints should not exist
249133
249134              region (optional)
249135                     The region of the endpoint.  Defaults to RegionOne.
249136
249137              interface
249138                     The interface type, which describes the visibility of the
249139                     endpoint. (for V3 API)
249140
249141       salt.states.keystone.endpoint_present(name,   publicurl=None,    inter‐
249142       nalurl=None, adminurl=None, region=None, profile=None, url=None, inter‐
249143       face=None, **connection_args)
249144              Ensure the specified endpoints exists for service
249145
249146              name   The Service name
249147
249148              publicurl
249149                     The public url of service endpoint (for V2 API)
249150
249151              internalurl
249152                     The internal url of service endpoint (for V2 API)
249153
249154              adminurl
249155                     The admin url of the service endpoint (for V2 API)
249156
249157              region The region of the endpoint
249158
249159              url    The endpoint URL (for V3 API)
249160
249161              interface
249162                     The interface type, which describes the visibility of the
249163                     endpoint. (for V3 API)
249164
249165       salt.states.keystone.project_absent(name,    profile=None,    **connec‐
249166       tion_args)
249167              Ensure that the keystone project  is  absent.   Alias  for  ten‐
249168              ant_absent from V2 API to fulfill V3 API naming convention.
249169
249170              New in version 2016.11.0.
249171
249172
249173              name   The name of the project that should not exist
249174
249175                 delete_nova:
249176                     keystone.project_absent:
249177                         - name: nova
249178
249179       salt.states.keystone.project_present(name,            description=None,
249180       enabled=True, profile=None, **connection_args)
249181              Ensures  that  the  keystone  project  exists  Alias  for   ten‐
249182              ant_present from V2 API to fulfill V3 API naming convention.
249183
249184              New in version 2016.11.0.
249185
249186
249187              name   The name of the project to manage
249188
249189              description
249190                     The description to use for this project
249191
249192              enabled
249193                     Availability state for this project
249194
249195                 nova:
249196                     keystone.project_present:
249197                         - enabled: True
249198                         - description: 'Nova Compute Service'
249199
249200       salt.states.keystone.role_absent(name, profile=None, **connection_args)
249201              Ensure that the keystone role is absent.
249202
249203              name   The name of the role that should not exist
249204
249205       salt.states.keystone.role_present(name,     profile=None,     **connec‐
249206       tion_args)
249207              ' Ensures that the keystone role exists
249208
249209              name   The name of the role that should be present
249210
249211       salt.states.keystone.service_absent(name,    profile=None,    **connec‐
249212       tion_args)
249213              Ensure that the service doesn't exist in Keystone catalog
249214
249215              name   The name of the service that should not exist
249216
249217       salt.states.keystone.service_present(name,    service_type,    descrip‐
249218       tion=None, profile=None, **connection_args)
249219              Ensure service present in Keystone catalog
249220
249221              name   The name of the service
249222
249223              service_type
249224                     The type of Openstack Service
249225
249226              description (optional)
249227                     Description of the service
249228
249229       salt.states.keystone.tenant_absent(name,    profile=None,     **connec‐
249230       tion_args)
249231              Ensure that the keystone tenant is absent.
249232
249233              name   The name of the tenant that should not exist
249234
249235       salt.states.keystone.tenant_present(name,             description=None,
249236       enabled=True, profile=None, **connection_args)
249237              Ensures that the keystone tenant exists
249238
249239              name   The name of the tenant to manage
249240
249241              description
249242                     The description to use for this tenant
249243
249244              enabled
249245                     Availability state for this tenant
249246
249247       salt.states.keystone.user_absent(name, profile=None, **connection_args)
249248              Ensure that the keystone user is absent.
249249
249250              name   The name of the user that should not exist
249251
249252       salt.states.keystone.user_present(name, password,  email,  tenant=None,
249253       enabled=True,     roles=None,     profile=None,    password_reset=True,
249254       project=None, **connection_args)
249255              Ensure that the keystone user  is  present  with  the  specified
249256              properties.
249257
249258              name   The name of the user to manage
249259
249260              password
249261                     The password to use for this user.
249262
249263                     NOTE:
249264                        If  the  user  already exists and a different password
249265                        was set for the user than the one specified here,  the
249266                        password  for the user will be updated. Please set the
249267                        password_reset option to False  if  this  is  not  the
249268                        desired behavior.
249269
249270              password_reset
249271                     Whether  or  not  to  reset  password  after initial set.
249272                     Defaults to True.
249273
249274              email  The email address for this user
249275
249276              tenant The tenant (name) for this user
249277
249278              project
249279                     The project (name) for this user (overrides tenant in api
249280                     v3)
249281
249282              enabled
249283                     Availability state for this user
249284
249285              roles  The  roles  the  user  should  have  under given tenants.
249286                     Passed as a dictionary mapping tenant names to a list  of
249287                     roles in this tenant, i.e.:
249288
249289                        roles:
249290                            admin:   # tenant
249291                              - admin  # role
249292                            service:
249293                              - admin
249294                              - Member
249295
249296   salt.states.keystone_domain
249297   Management of OpenStack Keystone Domains
249298       New in version 2018.3.0.
249299
249300
249301       depends
249302              shade
249303
249304       configuration
249305              see salt.modules.keystoneng for setup instructions
249306
249307       Example States
249308
249309          create domain:
249310            keystone_domain.present:
249311              - name: domain1
249312
249313          create domain with optional params:
249314            keystone_domain.present:
249315              - name: domain1
249316              - enabled: False
249317              - description: 'my domain'
249318
249319          delete domain:
249320            keystone_domain.absent:
249321              - name: domain1
249322
249323       salt.states.keystone_domain.absent(name, auth=None)
249324              Ensure domain does not exist
249325
249326              name   Name of the domain
249327
249328       salt.states.keystone_domain.present(name, auth=None, **kwargs)
249329              Ensure domain exists and is up-to-date
249330
249331              name   Name of the domain
249332
249333              enabled
249334                     Boolean to control if domain is enabled
249335
249336              description
249337                     An arbitrary description of the domain
249338
249339   salt.states.keystone_endpoint
249340   Management of OpenStack Keystone Endpoints
249341       New in version 2018.3.0.
249342
249343
249344       depends
249345              shade
249346
249347       configuration
249348              see salt.modules.keystoneng for setup instructions
249349
249350       Example States
249351
249352          create endpoint:
249353            keystone_endpoint.present:
249354              - name: public
249355              - url: https://example.org:9292
249356              - region: RegionOne
249357              - service_name: glance
249358
249359          destroy endpoint:
249360            keystone_endpoint.absent:
249361              - name: public
249362              - url: https://example.org:9292
249363              - region: RegionOne
249364              - service_name: glance
249365
249366          create multiple endpoints:
249367            keystone_endpoint.absent:
249368              - names:
249369                  - public
249370                  - admin
249371                  - internal
249372              - url: https://example.org:9292
249373              - region: RegionOne
249374              - service_name: glance
249375
249376       salt.states.keystone_endpoint.absent(name,   service_name,   auth=None,
249377       **kwargs)
249378              Ensure an endpoint does not exists
249379
249380              name   Interface name
249381
249382              url    URL of the endpoint
249383
249384              service_name
249385                     Service name or ID
249386
249387              region The region name to assign the endpoint
249388
249389       salt.states.keystone_endpoint.present(name,  service_name,   auth=None,
249390       **kwargs)
249391              Ensure an endpoint exists and is up-to-date
249392
249393              name   Interface name
249394
249395              url    URL of the endpoint
249396
249397              service_name
249398                     Service name or ID
249399
249400              region The region name to assign the endpoint
249401
249402              enabled
249403                     Boolean to control if endpoint is enabled
249404
249405   salt.states.keystone_group
249406   Management of OpenStack Keystone Groups
249407       New in version 2018.3.0.
249408
249409
249410       depends
249411              shade
249412
249413       configuration
249414              see salt.modules.keystoneng for setup instructions
249415
249416       Example States
249417
249418          create group:
249419            keystone_group.present:
249420              - name: group1
249421
249422          delete group:
249423            keystone_group.absent:
249424              - name: group1
249425
249426          create group with optional params:
249427            keystone_group.present:
249428              - name: group1
249429              - domain: domain1
249430              - description: 'my group'
249431
249432       salt.states.keystone_group.absent(name, auth=None, **kwargs)
249433              Ensure group does not exist
249434
249435              name   Name of the group
249436
249437              domain The name or id of the domain
249438
249439       salt.states.keystone_group.present(name, auth=None, **kwargs)
249440              Ensure an group exists and is up-to-date
249441
249442              name   Name of the group
249443
249444              domain The name or id of the domain
249445
249446              description
249447                     An arbitrary description of the group
249448
249449   salt.states.keystone_project
249450   Management of OpenStack Keystone Projects
249451       New in version 2018.3.0.
249452
249453
249454       depends
249455              shade
249456
249457       configuration
249458              see salt.modules.keystoneng for setup instructions
249459
249460       Example States
249461
249462          create project:
249463            keystone_project.present:
249464              - name: project1
249465
249466          delete project:
249467            keystone_project.absent:
249468              - name: project1
249469
249470          create project with optional params:
249471            keystone_project.present:
249472              - name: project1
249473              - domain: domain1
249474              - enabled: False
249475              - description: 'my project'
249476
249477       salt.states.keystone_project.absent(name, auth=None, **kwargs)
249478              Ensure a project does not exists
249479
249480              name   Name of the project
249481
249482              domain The name or id of the domain
249483
249484       salt.states.keystone_project.present(name, auth=None, **kwargs)
249485              Ensure a project exists and is up-to-date
249486
249487              name   Name of the project
249488
249489              domain The name or id of the domain
249490
249491              description
249492                     An arbitrary description of the project
249493
249494   salt.states.keystone_role
249495   Management of OpenStack Keystone Roles
249496       New in version 2018.3.0.
249497
249498
249499       depends
249500              shade
249501
249502       configuration
249503              see salt.modules.keystoneng for setup instructions
249504
249505       Example States
249506
249507          create role:
249508            keystone_role.present:
249509              - name: role1
249510
249511          delete role:
249512            keystone_role.absent:
249513              - name: role1
249514
249515          create role with optional params:
249516            keystone_role.present:
249517              - name: role1
249518              - description: 'my group'
249519
249520       salt.states.keystone_role.absent(name, auth=None, **kwargs)
249521              Ensure role does not exist
249522
249523              name   Name of the role
249524
249525       salt.states.keystone_role.present(name, auth=None, **kwargs)
249526              Ensure an role exists
249527
249528              name   Name of the role
249529
249530              description
249531                     An arbitrary description of the role
249532
249533   salt.states.keystone_role_grant
249534   Management of OpenStack Keystone Role Grants
249535       New in version 2018.3.0.
249536
249537
249538       depends
249539              shade
249540
249541       configuration
249542              see salt.modules.keystoneng for setup instructions
249543
249544       Example States
249545
249546          create group:
249547            keystone_group.present:
249548              - name: group1
249549
249550          delete group:
249551            keystone_group.absent:
249552              - name: group1
249553
249554          create group with optional params:
249555            keystone_group.present:
249556              - name: group1
249557              - domain: domain1
249558              - description: 'my group'
249559
249560       salt.states.keystone_role_grant.absent(name, auth=None, **kwargs)
249561
249562       salt.states.keystone_role_grant.present(name, auth=None, **kwargs)
249563
249564   salt.states.keystone_service
249565   Management of OpenStack Keystone Services
249566       New in version 2018.3.0.
249567
249568
249569       depends
249570              shade
249571
249572       configuration
249573              see salt.modules.keystoneng for setup instructions
249574
249575       Example States
249576
249577          create service:
249578            keystone_service.present:
249579              - name: glance
249580              - type: image
249581
249582          delete service:
249583            keystone_service.absent:
249584              - name: glance
249585
249586          create service with optional params:
249587            keystone_service.present:
249588              - name: glance
249589              - type: image
249590              - enabled: False
249591              - description: 'OpenStack Image'
249592
249593       salt.states.keystone_service.absent(name, auth=None)
249594              Ensure service does not exist
249595
249596              name   Name of the service
249597
249598       salt.states.keystone_service.present(name, auth=None, **kwargs)
249599              Ensure an service exists and is up-to-date
249600
249601              name   Name of the group
249602
249603              type   Service type
249604
249605              enabled
249606                     Boolean to control if service is enabled
249607
249608              description
249609                     An arbitrary description of the service
249610
249611   salt.states.keystone_user
249612   Management of OpenStack Keystone Users
249613       New in version 2018.3.0.
249614
249615
249616       depends
249617              shade
249618
249619       configuration
249620              see salt.modules.keystoneng for setup instructions
249621
249622       Example States
249623
249624          create user:
249625            keystone_user.present:
249626              - name: user1
249627
249628          delete user:
249629            keystone_user.absent:
249630              - name: user1
249631
249632          create user with optional params:
249633            keystone_user.present:
249634              - name: user1
249635              - domain: domain1
249636              - enabled: False
249637              - password: password123
249638              - email: "user1@example.org"
249639              - description: 'my user'
249640
249641       salt.states.keystone_user.absent(name, auth=None, **kwargs)
249642              Ensure user does not exists
249643
249644              name   Name of the user
249645
249646              domain The name or id of the domain
249647
249648       salt.states.keystone_user.present(name, auth=None, **kwargs)
249649              Ensure domain exists and is up-to-date
249650
249651              name   Name of the domain
249652
249653              domain The name or id of the domain
249654
249655              enabled
249656                     Boolean to control if domain is enabled
249657
249658              description
249659                     An arbitrary description of the domain
249660
249661              password
249662                     The user password
249663
249664              email  The users email address
249665
249666   salt.states.keystore
249667       State management of a java keystore
249668
249669       salt.states.keystore.managed(name,         passphrase,         entries,
249670       force_remove=False)
249671              Create or manage a java keystore.
249672
249673              name   The path to the keystore file
249674
249675              passphrase
249676                     The password to the keystore
249677
249678              entries
249679                     A list containing an  alias,  certificate,  and  optional
249680                     private_key.   The  certificate  and private_key can be a
249681                     file or a string
249682
249683                        - entries:
249684                          - alias: hostname2
249685                            certificate: /path/to/cert.crt
249686                            private_key: /path/to/key.key
249687                          - alias: stringhost
249688                            certificate: |
249689                              -----BEGIN CERTIFICATE-----
249690                              MIICEjCCAXsCAg36MA0GCSqGSIb3DQEBBQUAMIGbMQswCQYDVQQGEwJKUDEOMAwG
249691                              ...
249692                              2VguKv4SWjRFoRkIfIlHX0qVviMhSlNy2ioFLy7JcPZb+v3ftDGywUqcBiVDoea0
249693                              -----END CERTIFICATE-----
249694
249695              force_remove
249696                     If True will cause the state to remove any entries  found
249697                     in  the  keystore which are not defined in the state. The
249698                     default is False.
249699
249700              Example
249701
249702                 define_keystore:
249703                   keystore.managed:
249704                     - name: /path/to/keystore
249705                     - passphrase: changeit
249706                     - force_remove: True
249707                     - entries:
249708                       - alias: hostname1
249709                         certificate: /path/to/cert.crt
249710                       - alias: remotehost
249711                         certificate: /path/to/cert2.crt
249712                         private_key: /path/to/key2.key
249713                       - alias: pillarhost
249714                         certificate: {{ salt.pillar.get('path:to:cert') }}
249715
249716   salt.states.kmod
249717   Loading and unloading of kernel modules
249718       The Kernel modules on a system can be managed  cleanly  with  the  kmod
249719       state module:
249720
249721          add_kvm:
249722            kmod.present:
249723              - name: kvm_amd
249724          remove_beep:
249725            kmod.absent:
249726              - name: pcspkr
249727
249728       Multiple   modules   can   be   specified  for  both  kmod.present  and
249729       kmod.absent.
249730
249731          add_sound:
249732            kmod.present:
249733              - mods:
249734                - snd_hda_codec_hdmi
249735                - snd_hda_codec
249736                - snd_hwdep
249737                - snd_hda_core
249738                - snd_pcm
249739                - snd_timer
249740                - snd
249741
249742       salt.states.kmod.absent(name, persist=False, comment=True, mods=None)
249743              Verify that the named kernel module is not loaded
249744
249745              name   The name of the kernel module to verify is not loaded
249746
249747              persist
249748                     Remove module from /etc/modules
249749
249750              comment
249751                     Comment out module in /etc/modules rather than remove it
249752
249753              mods   A list of modules to verify are unloaded.  If this  argu‐
249754                     ment is used, the name argument, although still required,
249755                     is not used, and becomes a placeholder
249756
249757                     New in version 2016.3.0.
249758
249759
249760       salt.states.kmod.present(name, persist=False, mods=None)
249761              Ensure that the specified kernel module is loaded
249762
249763              name   The name of the kernel module to verify is loaded
249764
249765              persist
249766                     Also add module to /etc/modules
249767
249768              mods   A list of modules to verify are loaded.  If this argument
249769                     is  used,  the name argument, although still required, is
249770                     not used, and becomes a placeholder
249771
249772                     New in version 2016.3.0.
249773
249774
249775   salt.states.kubernetes
249776   Manage kubernetes resources as salt states
249777       NOTE: This module requires the proper pillar values set. See  salt.mod‐
249778       ules.kubernetesmod for more information.
249779
249780       WARNING:
249781          Configuration options will change in 2019.2.0.
249782
249783       The kubernetes module is used to manage different kubernetes resources.
249784
249785          my-nginx:
249786            kubernetes.deployment_present:
249787              - namespace: default
249788                metadata:
249789                  app: frontend
249790                spec:
249791                  replicas: 1
249792                  template:
249793                    metadata:
249794                      labels:
249795                        run: my-nginx
249796                    spec:
249797                      containers:
249798                      - name: my-nginx
249799                        image: nginx
249800                        ports:
249801                        - containerPort: 80
249802
249803          my-mariadb:
249804            kubernetes.deployment_absent:
249805              - namespace: default
249806
249807          # kubernetes deployment as specified inside of
249808          # a file containing the definition of the the
249809          # deployment using the official kubernetes format
249810          redis-master-deployment:
249811            kubernetes.deployment_present:
249812              - name: redis-master
249813              - source: salt://k8s/redis-master-deployment.yml
249814            require:
249815              - pip: kubernetes-python-module
249816
249817          # kubernetes service as specified inside of
249818          # a file containing the definition of the the
249819          # service using the official kubernetes format
249820          redis-master-service:
249821            kubernetes.service_present:
249822              - name: redis-master
249823              - source: salt://k8s/redis-master-service.yml
249824            require:
249825              - kubernetes.deployment_present: redis-master
249826
249827          # kubernetes deployment as specified inside of
249828          # a file containing the definition of the the
249829          # deployment using the official kubernetes format
249830          # plus some jinja directives
249831           nginx-source-template:
249832            kubernetes.deployment_present:
249833              - source: salt://k8s/nginx.yml.jinja
249834              - template: jinja
249835            require:
249836              - pip: kubernetes-python-module
249837
249838
249839          # Kubernetes secret
249840          k8s-secret:
249841            kubernetes.secret_present:
249842              - name: top-secret
249843                data:
249844                  key1: value1
249845                  key2: value2
249846                  key3: value3
249847
249848       salt.states.kubernetes.configmap_absent(name,      namespace='default',
249849       **kwargs)
249850              Ensures that the named configmap is absent from the given names‐
249851              pace.
249852
249853              name   The name of the configmap
249854
249855              namespace
249856                     The namespace holding the configmap. The 'default' one is
249857                     going to be used unless a different one is specified.
249858
249859       salt.states.kubernetes.configmap_present(name,     namespace='default',
249860       data=None, source=None, template=None, **kwargs)
249861              Ensures that the named configmap is present inside of the speci‐
249862              fied namespace with the given data.  If the configmap exists  it
249863              will be replaced.
249864
249865              name   The name of the configmap.
249866
249867              namespace
249868                     The namespace holding the configmap. The 'default' one is
249869                     going to be used unless a different one is specified.
249870
249871              data   The dictionary holding the configmaps.
249872
249873              source A file containing the data of the configmap in plain for‐
249874                     mat.
249875
249876              template
249877                     Template engine to be used to render the source file.
249878
249879       salt.states.kubernetes.deployment_absent(name,     namespace='default',
249880       **kwargs)
249881              Ensures that the named  deployment  is  absent  from  the  given
249882              namespace.
249883
249884              name   The name of the deployment
249885
249886              namespace
249887                     The name of the namespace
249888
249889       salt.states.kubernetes.deployment_present(name,    namespace='default',
249890       metadata=None, spec=None, source='', template='', **kwargs)
249891              Ensures that the named deployment is present inside of the spec‐
249892              ified  namespace  with  the  given  metadata  and  spec.  If the
249893              deployment exists it will be replaced.
249894
249895              name   The name of the deployment.
249896
249897              namespace
249898                     The namespace holding the deployment. The  'default'  one
249899                     is going to be used unless a different one is specified.
249900
249901              metadata
249902                     The metadata of the deployment object.
249903
249904              spec   The spec of the deployment object.
249905
249906              source A file containing the definition of the deployment (meta‐
249907                     data and spec) in the official kubernetes format.
249908
249909              template
249910                     Template engine to be used to render the source file.
249911
249912       salt.states.kubernetes.namespace_absent(name, **kwargs)
249913              Ensures that the named namespace is absent.
249914
249915              name   The name of the namespace
249916
249917       salt.states.kubernetes.namespace_present(name, **kwargs)
249918              Ensures that the named namespace is present.
249919
249920              name   The name of the namespace.
249921
249922       salt.states.kubernetes.node_label_absent(name, node, **kwargs)
249923              Ensures that the named label is absent from the node.
249924
249925              name   The name of the label
249926
249927              node   The name of the node
249928
249929       salt.states.kubernetes.node_label_folder_absent(name, node, **kwargs)
249930              Ensures the label folder doesn't exist on the specified node.
249931
249932              name   The name of label folder
249933
249934              node   The name of the node
249935
249936       salt.states.kubernetes.node_label_present(name, node, value, **kwargs)
249937              Ensures that the named label is set on the named node  with  the
249938              given value.  If the label exists it will be replaced.
249939
249940              name   The name of the label.
249941
249942              value  Value of the label.
249943
249944              node   Node to change.
249945
249946       salt.states.kubernetes.pod_absent(name, namespace='default', **kwargs)
249947              Ensures that the named pod is absent from the given namespace.
249948
249949              name   The name of the pod
249950
249951              namespace
249952                     The name of the namespace
249953
249954       salt.states.kubernetes.pod_present(name,   namespace='default',   meta‐
249955       data=None, spec=None, source='', template='', **kwargs)
249956              Ensures that the named pod is present inside  of  the  specified
249957              namespace  with  the given metadata and spec.  If the pod exists
249958              it will be replaced.
249959
249960              name   The name of the pod.
249961
249962              namespace
249963                     The namespace holding the pod. The 'default' one is going
249964                     to be used unless a different one is specified.
249965
249966              metadata
249967                     The metadata of the pod object.
249968
249969              spec   The spec of the pod object.
249970
249971              source A file containing the definition of the pod (metadata and
249972                     spec) in the official kubernetes format.
249973
249974              template
249975                     Template engine to be used to render the source file.
249976
249977       salt.states.kubernetes.secret_absent(name,         namespace='default',
249978       **kwargs)
249979              Ensures  that  the  named secret is absent from the given names‐
249980              pace.
249981
249982              name   The name of the secret
249983
249984              namespace
249985                     The name of the namespace
249986
249987       salt.states.kubernetes.secret_present(name,        namespace='default',
249988       data=None, source=None, template=None, **kwargs)
249989              Ensures that the named secret is present inside of the specified
249990              namespace with the given data.  If the secret exists it will  be
249991              replaced.
249992
249993              name   The name of the secret.
249994
249995              namespace
249996                     The  namespace  holding  the secret. The 'default' one is
249997                     going to be used unless a different one is specified.
249998
249999              data   The dictionary holding the secrets.
250000
250001              source A file containing the data of the secret in plain format.
250002
250003              template
250004                     Template engine to be used to render the source file.
250005
250006       salt.states.kubernetes.service_absent(name,        namespace='default',
250007       **kwargs)
250008              Ensures  that  the named service is absent from the given names‐
250009              pace.
250010
250011              name   The name of the service
250012
250013              namespace
250014                     The name of the namespace
250015
250016       salt.states.kubernetes.service_present(name, namespace='default', meta‐
250017       data=None, spec=None, source='', template='', **kwargs)
250018              Ensures  that  the named service is present inside of the speci‐
250019              fied namespace with the given metadata and spec.  If the deploy‐
250020              ment exists it will be replaced.
250021
250022              name   The name of the service.
250023
250024              namespace
250025                     The  namespace  holding the service. The 'default' one is
250026                     going to be used unless a different one is specified.
250027
250028              metadata
250029                     The metadata of the service object.
250030
250031              spec   The spec of the service object.
250032
250033              source A file containing the definition of the service (metadata
250034                     and spec) in the official kubernetes format.
250035
250036              template
250037                     Template engine to be used to render the source file.
250038
250039   salt.states.layman
250040   Management of Gentoo Overlays using layman
250041       A state module to manage Gentoo package overlays via layman
250042
250043          sunrise:
250044              layman.present
250045
250046       salt.states.layman.absent(name)
250047              Verify that the overlay is absent
250048
250049              name   The name of the overlay to delete
250050
250051       salt.states.layman.present(name)
250052              Verify that the overlay is present
250053
250054              name   The name of the overlay to add
250055
250056   salt.states.ldap
250057   Manage entries in an LDAP database
250058       New in version 2016.3.0.
250059
250060
250061       The  states.ldap  state  module  allows  you to manage LDAP entries and
250062       their attributes.
250063
250064       salt.states.ldap.managed(name, entries, connect_spec=None)
250065              Ensure  the  existence  (or  not)  of  LDAP  entries  and  their
250066              attributes
250067
250068              Example:
250069
250070                 ldapi:///:
250071                   ldap.managed:
250072                     - connect_spec:
250073                         bind:
250074                           method: sasl
250075
250076                     - entries:
250077
250078                       # make sure the entry doesn't exist
250079                       - cn=foo,ou=users,dc=example,dc=com:
250080                         - delete_others: True
250081
250082                       # make sure the entry exists with only the specified
250083                       # attribute values
250084                       - cn=admin,dc=example,dc=com:
250085                         - delete_others: True
250086                         - replace:
250087                             cn:
250088                               - admin
250089                             description:
250090                               - LDAP administrator
250091                             objectClass:
250092                               - simpleSecurityObject
250093                               - organizationalRole
250094                             userPassword:
250095                               - {{pillar.ldap_admin_password}}
250096
250097                       # make sure the entry exists, its olcRootDN attribute
250098                       # has only the specified value, the olcRootDN attribute
250099                       # doesn't exist, and all other attributes are ignored
250100                       - 'olcDatabase={1}hdb,cn=config':
250101                         - replace:
250102                             olcRootDN:
250103                               - cn=admin,dc=example,dc=com
250104                             # the admin entry has its own password attribute
250105                             olcRootPW: []
250106
250107                       # note the use of 'default'.  also note how you don't
250108                       # have to use list syntax if there is only one attribute
250109                       # value
250110                       - cn=foo,ou=users,dc=example,dc=com:
250111                         - delete_others: True
250112                         - default:
250113                             userPassword: changeme
250114                             shadowLastChange: 0
250115                             # keep sshPublicKey if present, but don't create
250116                             # the attribute if it is missing
250117                             sshPublicKey: []
250118                         - replace:
250119                             cn: foo
250120                             uid: foo
250121                             uidNumber: 1000
250122                             gidNumber: 1000
250123                             gecos: Foo Bar
250124                             givenName: Foo
250125                             sn: Bar
250126                             homeDirectory: /home/foo
250127                             loginShell: /bin/bash
250128                             objectClass:
250129                               - inetOrgPerson
250130                               - posixAccount
250131                               - top
250132                               - ldapPublicKey
250133                               - shadowAccount
250134
250135              Parameters
250136
250137                     · name -- The URL of the LDAP server.  This is ignored if
250138                       connect_spec is either a connection object  or  a  dict
250139                       with a 'url' entry.
250140
250141                     · entries --
250142
250143                       A description of the desired state of zero or more LDAP
250144                       entries.
250145
250146                       entries is an iterable of dicts.  Each of these  dict's
250147                       keys  are the distinguished names (DNs) of LDAP entries
250148                       to manage.  Each of these dicts is processed in  order.
250149                       A  later  dict  can  reference  an  LDAP entry that was
250150                       already mentioned in an earlier dict,  which  makes  it
250151                       possible  for  later  dicts  to  enhance  or  alter the
250152                       desired state of an LDAP entry.
250153
250154                       The DNs are mapped to a description of the LDAP entry's
250155                       desired state.  These LDAP entry descriptions are them‐
250156                       selves iterables of dicts.  Each dict in  the  iterable
250157                       is  processed  in  order.  They contain directives con‐
250158                       trolling the entry's state.  The key names  the  direc‐
250159                       tive  type  and  the value is state information for the
250160                       directive.  The specific structure of the state  infor‐
250161                       mation depends on the directive type.
250162
250163                       The structure of entries looks like this:
250164
250165                          [{dn1: [{directive1: directive1_state,
250166                                   directive2: directive2_state},
250167                                  {directive3: directive3_state}],
250168                            dn2: [{directive4: directive4_state,
250169                                   directive5: directive5_state}]},
250170                           {dn3: [{directive6: directive6_state}]}]
250171
250172                       These are the directives:
250173
250174                       ·
250175
250176                         'delete_others'
250177                                Boolean    indicating    whether   to   delete
250178                                attributes not mentioned in this dict  or  any
250179                                of  the  other  directive  dicts  for this DN.
250180                                Defaults to False.
250181
250182                                If you don't want to delete  an  attribute  if
250183                                present,  but you also don't want to add it if
250184                                it is missing or modify it if it  is  present,
250185                                you  can use either the 'default' directive or
250186                                the 'add' directive with an empty value list.
250187
250188                       ·
250189
250190                         'default'
250191                                A dict mapping an attribute name to  an  iter‐
250192                                able of default values for that attribute.  If
250193                                the  attribute  already  exists,  it  is  left
250194                                alone.   If not, it is created using the given
250195                                list of values.
250196
250197                                An empty value list is useful when  you  don't
250198                                want  to  create an attribute if it is missing
250199                                but  you  do  want  to  preserve  it  if   the
250200                                'delete_others' key is True.
250201
250202                       ·
250203
250204                         'add'  Attribute values to add to the entry.  This is
250205                                a dict mapping an attribute name to  an  iter‐
250206                                able of values to add.
250207
250208                                An  empty  value list is useful when you don't
250209                                want to create an attribute if it  is  missing
250210                                but   you  do  want  to  preserve  it  if  the
250211                                'delete_others' key is True.
250212
250213                       ·
250214
250215                         'delete'
250216                                Attribute values to  remove  from  the  entry.
250217                                This is a dict mapping an attribute name to an
250218                                iterable  of  values  to   delete   from   the
250219                                attribute.   If  the iterable is empty, all of
250220                                the attribute's values are deleted.
250221
250222                       ·
250223
250224                         'replace'
250225                                Attributes to replace.  This is a dict mapping
250226                                an  attribute  name  to an iterable of values.
250227                                Any existing  values  for  the  attribute  are
250228                                deleted, then the given values are added.  The
250229                                iterable may be empty.
250230
250231                       In the above directives,  the  iterables  of  attribute
250232                       values may instead be None, in which case an empty list
250233                       is used, or a scalar such as a  string  or  number,  in
250234                       which case a new list containing the scalar is used.
250235
250236                       Note  that  if all attribute values are removed from an
250237                       entry, the entire entry is deleted.
250238
250239
250240                     · connect_spec -- See the description of the connect_spec
250241                       parameter  of  the  ldap3.connect function in the ldap3
250242                       execution module.  If this is  a  dict  and  the  'url'
250243                       entry  is  not specified, the 'url' entry is set to the
250244                       value of the name parameter.
250245
250246              Returns
250247                     A dict with the following keys:
250248
250249                     ·
250250
250251                       'name' This is the  same  object  passed  to  the  name
250252                              parameter.
250253
250254                     ·
250255
250256                       'changes'
250257                              This  is a dict describing the changes made (or,
250258                              in test mode, the changes that would  have  been
250259                              attempted).   If  no  changes  were  made (or no
250260                              changes would have been  attempted),  then  this
250261                              dict  is  empty.   Only  successful  changes are
250262                              included.
250263
250264                              Each key is a DN of an entry  that  was  changed
250265                              (or would have been changed).  Entries that were
250266                              not changed (or would not have been changed) are
250267                              not  included.   The  value  is  a dict with two
250268                              keys:
250269
250270                              ·
250271
250272                                'old'  The state of the entry before modifica‐
250273                                       tion.   If the entry did not previously
250274                                       exist, this key maps to  None.   Other‐
250275                                       wise,  the value is a dict mapping each
250276                                       of the old entry's attributes to a list
250277                                       of  its values before any modifications
250278                                       were made.   Unchanged  attributes  are
250279                                       excluded from this dict.
250280
250281                              ·
250282
250283                                'new'  The  state of the entry after modifica‐
250284                                       tion.  If the entry was  deleted,  this
250285                                       key maps to None.  Otherwise, the value
250286                                       is a dict mapping each of  the  entry's
250287                                       attributes  to  a  list  of  its values
250288                                       after  the  modifications  were   made.
250289                                       Unchanged  attributes are excluded from
250290                                       this dict.
250291
250292                              Example 'changes' dict where  a  new  entry  was
250293                              created  with  a single attribute containing two
250294                              values:
250295
250296                                 {'dn1': {'old': None,
250297                                          'new': {'attr1': ['val1', 'val2']}}}
250298
250299                              Example 'changes' dict where a new attribute was
250300                              added to an existing entry:
250301
250302                                 {'dn1': {'old': {},
250303                                          'new': {'attr2': ['val3']}}}
250304
250305                     ·
250306
250307                       'result'
250308                              One of the following values:
250309
250310                              · True  if  no  changes were necessary or if all
250311                                changes were applied successfully.
250312
250313                              · False if at least one change was unable to  be
250314                                applied.
250315
250316                              · None  if changes would be applied but it is in
250317                                test mode.
250318
250319
250320   salt.states.libcloud_dns module
250321       Manage DNS records and zones using libcloud
250322
250323          codeauthor
250324                 Anthony Shaw <anthonyshaw@apache.org>
250325
250326       New in version 2016.11.0.
250327
250328
250329       Create and delete DNS records or zones through Libcloud. Libcloud's DNS
250330       system  supports  over  20  DNS  providers  including  Amazon,  Google,
250331       GoDaddy, Softlayer
250332
250333       This module uses libcloud, which can be installed via package, or pip.
250334
250335       configuration
250336              This module uses a configuration profile for one or multiple DNS
250337              providers
250338
250339                 libcloud_dns:
250340                   profile1:
250341                     driver: godaddy
250342                     key: 2orgk34kgk34g
250343                   profile2:
250344                     driver: route53
250345                     key: blah
250346                     secret: blah
250347
250348       Example:
250349
250350          my-zone:
250351            libcloud_dns.zone_present:
250352              - name: mywebsite.com
250353              - profile: profile1
250354          my-website:
250355            libcloud_dns.record_present:
250356              - name: www
250357              - zone: mywebsite.com
250358              - type: A
250359              - data: 12.34.32.3
250360              - profile: profile1
250361              - require:
250362                - libcloud_dns: my-zone
250363
250364       depends
250365              apache-libcloud
250366
250367       salt.states.libcloud_dns.record_absent(name, zone, type, data, profile)
250368              Ensures a record is absent.
250369
250370              Parameters
250371
250372                     · name (str) -- Record name without the domain name (e.g.
250373                       www).  Note: If you want to create a record for a  base
250374                       domain  name,  you should specify empty string ('') for
250375                       this argument.
250376
250377                     · zone (str) -- Zone where the requested record  is  cre‐
250378                       ated, the domain name
250379
250380                     · type (str) -- DNS record type (A, AAAA, ...).
250381
250382                     · data  (str)  --  Data  for  the  record (depends on the
250383                       record type).
250384
250385                     · profile (str) -- The profile key
250386
250387       salt.states.libcloud_dns.record_present(name, zone,  type,  data,  pro‐
250388       file)
250389              Ensures a record is present.
250390
250391              Parameters
250392
250393                     · name (str) -- Record name without the domain name (e.g.
250394                       www).  Note: If you want to create a record for a  base
250395                       domain  name,  you should specify empty string ('') for
250396                       this argument.
250397
250398                     · zone (str) -- Zone where the requested record  is  cre‐
250399                       ated, the domain name
250400
250401                     · type (str) -- DNS record type (A, AAAA, ...).
250402
250403                     · data  (str)  --  Data  for  the  record (depends on the
250404                       record type).
250405
250406                     · profile (str) -- The profile key
250407
250408       salt.states.libcloud_dns.state_result(result,      message,       name,
250409       changes=None)
250410
250411       salt.states.libcloud_dns.zone_absent(domain, profile)
250412              Ensures a record is absent.
250413
250414              Parameters
250415
250416                     · domain (str) -- Zone name, i.e. the domain name
250417
250418                     · profile (str) -- The profile key
250419
250420       salt.states.libcloud_dns.zone_present(domain, type, profile)
250421              Ensures a record is present.
250422
250423              Parameters
250424
250425                     · domain (str) -- Zone name, i.e. the domain name
250426
250427                     · type  (str)  -- Zone type (master / slave), defaults to
250428                       master
250429
250430                     · profile (str) -- The profile key
250431
250432   salt.states.libcloud_loadbalancer module
250433   Apache Libcloud Load Balancer State
250434       Manage load balancers using libcloud
250435
250436          codeauthor
250437                 Anthony Shaw <anthonyshaw@apache.org>
250438
250439       Apache Libcloud load balancer management for a full list  of  supported
250440       clouds,                                                             see
250441       http://libcloud.readthedocs.io/en/latest/loadbalancer/supported_providers.html
250442
250443       Clouds include Amazon ELB, ALB, Google, Aliyun, CloudStack, Softlayer
250444
250445       New in version 2018.3.0.
250446
250447
250448       configuration
250449              This  module  uses  a  configuration profile for one or multiple
250450              Cloud providers
250451
250452                 libcloud_loadbalancer:
250453                     profile_test1:
250454                       driver: gce
250455                       key: GOOG0123456789ABCXYZ
250456                       secret: mysecret
250457                     profile_test2:
250458                       driver: alb
250459                       key: 12345
250460                       secret: mysecret
250461
250462       Example:
250463
250464       Using States to deploy a load balancer with extended arguments to spec‐
250465       ify region
250466
250467          lb_test:
250468              libcloud_loadbalancer.balancer_present:
250469                  - name: example
250470                  - port: 80
250471                  - protocol: http
250472                  - profile: google
250473                  - ex_region: us-east1
250474
250475       depends
250476              apache-libcloud
250477
250478       salt.states.libcloud_loadbalancer.balancer_absent(name, profile, **lib‐
250479       cloud_kwargs)
250480              Ensures a load balancer is absent.
250481
250482              Parameters
250483
250484                     · name (str) -- Load Balancer name
250485
250486                     · profile (str) -- The profile key
250487
250488       salt.states.libcloud_loadbalancer.balancer_present(name,  port,  proto‐
250489       col, profile, algorithm=None, members=None, **libcloud_kwargs)
250490              Ensures a load balancer is present.
250491
250492              Parameters
250493
250494                     · name (str) -- Load Balancer name
250495
250496                     · port  (str) -- Port the load balancer should listen on,
250497                       defaults to 80
250498
250499                     · protocol (str) -- Loadbalancer  protocol,  defaults  to
250500                       http.
250501
250502                     · profile (str) -- The profile key
250503
250504                     · algorithm  (str)  -- Load balancing algorithm, defaults
250505                       to ROUND_ROBIN. See Algorithm type in Libcloud documen‐
250506                       tation for a full listing.
250507
250508                     · members  (list  of dict (ip, port)) -- An optional list
250509                       of members to create on deployment
250510
250511       salt.states.libcloud_loadbalancer.member_absent(ip, port,  balancer_id,
250512       profile, **libcloud_kwargs)
250513              Ensure a load balancer member is absent, based on IP and Port
250514
250515              Parameters
250516
250517                     · ip (str) -- IP address for the member
250518
250519                     · port (int) -- Port for the member
250520
250521                     · balancer_id  (str) -- id of a load balancer you want to
250522                       detach the member from
250523
250524                     · profile (str) -- The profile key
250525
250526       salt.states.libcloud_loadbalancer.member_present(ip, port, balancer_id,
250527       profile, **libcloud_kwargs)
250528              Ensure a load balancer member is present
250529
250530              Parameters
250531
250532                     · ip (str) -- IP address for the new member
250533
250534                     · port (int) -- Port for the new member
250535
250536                     · balancer_id  (str) -- id of a load balancer you want to
250537                       attach the member to
250538
250539                     · profile (str) -- The profile key
250540
250541       salt.states.libcloud_loadbalancer.state_result(result,  message,  name,
250542       changes=None)
250543
250544   salt.states.libcloud_storage module
250545   Apache Libcloud Storage State
250546       Manage cloud storage using libcloud
250547
250548       codeauthor
250549              Anthony Shaw <anthonyshaw@apache.org>
250550
250551       Apache  Libcloud  Storage  (object/blob)  management for a full list of
250552       supported                          clouds,                          see
250553       http://libcloud.readthedocs.io/en/latest/storage/supported_providers.html
250554
250555       Clouds include Amazon S3, Google Storage, Aliyun,  Azure  Blobs,  Ceph,
250556       OpenStack swift
250557
250558       New in version 2018.3.0.
250559
250560
250561       configuration
250562              This  module  uses  a  configuration profile for one or multiple
250563              Storage providers
250564
250565                 libcloud_storage:
250566                     profile_test1:
250567                       driver: google_storage
250568                       key: GOOG0123456789ABCXYZ
250569                       secret: mysecret
250570                     profile_test2:
250571                       driver: s3
250572                       key: 12345
250573                       secret: mysecret
250574       Examples.SS Creating a container and uploading a file
250575
250576          web_things:
250577            libcloud_storage.container_present:
250578              name: my_container_name
250579              profile: profile1
250580            libcloud_storage.object_present:
250581              name: my_file.jpg
250582              container: my_container_name
250583              path: /path/to/local/file.jpg
250584              profile: profile1
250585
250586   Downloading a file
250587       This example will download the file from the remote cloud and  keep  it
250588       locally
250589
250590          web_things:
250591            libcloud_storage.file_present:
250592              name: my_file.jpg
250593              container: my_container_name
250594              path: /path/to/local/file.jpg
250595              profile: profile1
250596
250597       depends
250598              apache-libcloud
250599
250600       salt.states.libcloud_storage.container_absent(name, profile)
250601              Ensures a container is absent.
250602
250603              Parameters
250604
250605                     · name (str) -- Container name
250606
250607                     · profile (str) -- The profile key
250608
250609       salt.states.libcloud_storage.container_present(name, profile)
250610              Ensures a container is present.
250611
250612              Parameters
250613
250614                     · name (str) -- Container name
250615
250616                     · profile (str) -- The profile key
250617
250618       salt.states.libcloud_storage.file_present(container,  name,  path, pro‐
250619       file, overwrite_existing=False)
250620              Ensures a object is downloaded locally.
250621
250622              Parameters
250623
250624                     · container (str) -- Container name
250625
250626                     · name (str) -- Object name in cloud
250627
250628                     · path (str) -- Local path to file
250629
250630                     · profile (str) -- The profile key
250631
250632                     · overwrite_existing (bool) -- Replace if already exists
250633
250634       salt.states.libcloud_storage.object_absent(container, name, profile)
250635              Ensures a object is absent.
250636
250637              Parameters
250638
250639                     · container (str) -- Container name
250640
250641                     · name (str) -- Object name in cloud
250642
250643                     · profile (str) -- The profile key
250644
250645       salt.states.libcloud_storage.object_present(container, name, path, pro‐
250646       file)
250647              Ensures a object is presnt.
250648
250649              Parameters
250650
250651                     · container (str) -- Container name
250652
250653                     · name (str) -- Object name in cloud
250654
250655                     · path (str) -- Local path to file
250656
250657                     · profile (str) -- The profile key
250658
250659       salt.states.libcloud_storage.state_result(result,     message,    name,
250660       changes)
250661
250662   salt.states.linux_acl
250663       Linux File Access Control Lists
250664
250665       The Linux ACL state module requires the getfacl and setfacl binaries.
250666
250667       Ensure a Linux ACL is present
250668
250669          root:
250670            acl.present:
250671              - name: /root
250672              - acl_type: user
250673              - acl_name: damian
250674              - perms: rwx
250675
250676       Ensure a Linux ACL does not exist
250677
250678          root:
250679            acl.absent:
250680              - name: /root
250681              - acl_type: user
250682              - acl_name: damian
250683              - perms: rwx
250684
250685       Ensure a Linux ACL list is present
250686
250687          root:
250688            acl.list_present:
250689              - name: /root
250690              - acl_type: user
250691              - acl_names:
250692                - damian
250693                - homer
250694              - perms: rwx
250695
250696       Ensure a Linux ACL list does not exist
250697
250698          root:
250699            acl.list_absent:
250700              - name: /root
250701              - acl_type: user
250702              - acl_names:
250703                - damian
250704                - homer
250705              - perms: rwx
250706
250707       salt.states.linux_acl.absent(name, acl_type,  acl_name=u'',  perms=u'',
250708       recurse=False)
250709              Ensure a Linux ACL does not exist
250710
250711              name   The acl path
250712
250713              acl_type
250714                     The  type  of  the  acl  is used for, it can be 'user' or
250715                     'group'
250716
250717              acl_name
250718                     The user or group
250719
250720              perms  Remove the permissions eg.: rwx
250721
250722              recurse
250723                     Set the permissions recursive in the path
250724
250725       salt.states.linux_acl.list_absent(name,    acl_type,    acl_names=None,
250726       recurse=False)
250727              Ensure a Linux ACL list does not exist
250728
250729              Takes a list of acl names and remove them from the given path
250730
250731              name   The acl path
250732
250733              acl_type
250734                     The  type  of  the  acl  is used for, it can be 'user' or
250735                     'group'
250736
250737              acl_names
250738                     The list of users or groups
250739
250740              perms  Remove the permissions eg.: rwx
250741
250742              recurse
250743                     Set the permissions recursive in the path
250744
250745       salt.states.linux_acl.list_present(name,   acl_type,    acl_names=None,
250746       perms=u'', recurse=False, force=False)
250747              Ensure a Linux ACL list is present
250748
250749              Takes a list of acl names and add them to the given path
250750
250751              name   The acl path
250752
250753              acl_type
250754                     The  type  of  the  acl  is  used for it can be 'user' or
250755                     'group'
250756
250757              acl_names
250758                     The list of users or groups
250759
250760              perms  Set the permissions eg.: rwx
250761
250762              recurse
250763                     Set the permissions recursive in the path
250764
250765              force  Wipe out old permissions and ensure only the new  permis‐
250766                     sions are set
250767
250768       salt.states.linux_acl.present(name,  acl_type, acl_name=u'', perms=u'',
250769       recurse=False, force=False)
250770              Ensure a Linux ACL is present
250771
250772              name   The acl path
250773
250774              acl_type
250775                     The type of the acl is used  for  it  can  be  'user'  or
250776                     'group'
250777
250778              acl_name
250779                     The  user or group
250780
250781              perms  Set the permissions eg.: rwx
250782
250783              recurse
250784                     Set the permissions recursive in the path
250785
250786              force  Wipe  out old permissions and ensure only the new permis‐
250787                     sions are set
250788
250789   salt.states.locale
250790   Management of languages/locales
250791       Manage the available locales and the system default:
250792
250793          us_locale:
250794            locale.present:
250795              - name: en_US.UTF-8
250796
250797          default_locale:
250798            locale.system:
250799              - name: en_US.UTF-8
250800              - require:
250801                - locale: us_locale
250802
250803       salt.states.locale.present(name)
250804              Generate a locale if it is not present
250805
250806              New in version 2014.7.0.
250807
250808
250809              name   The name of the locale to be present. Some  distributions
250810                     require the charmap to be specified as part of the locale
250811                     at this point.
250812
250813       salt.states.locale.system(name)
250814              Set the locale for the system
250815
250816              name   The name of the locale to use
250817
250818   salt.states.logadm module
250819       Management of logs using Solaris logadm.
250820
250821       maintainer
250822              Jorge Schrauwen <sjorge@blackdot.be>
250823
250824       maturity
250825              new
250826
250827       depends
250828              salt.modulus.logadm
250829
250830       platform
250831              Oracle Solaris, Sun Solaris, illumos
250832
250833       New in version nitrogen.
250834
250835
250836          .. note::
250837              TODO
250838
250839       salt.states.logadm.remove(name, log_file=None)
250840              Remove a log from the logadm configuration
250841
250842              name   string entryname
250843
250844              log_file
250845                     string (optional) log file path
250846
250847              NOTE:
250848                 If log_file is specified it will be used instead of the entry
250849                 name.
250850
250851       salt.states.logadm.rotate(name, **kwargs)
250852              Add a log to the logadm configuration
250853
250854              name   string alias for entryname
250855
250856              kwargs boolean|string|int  optional additional flags and parame‐
250857                     ters
250858
250859   salt.states.logrotate module
250860       Module for managing logrotate.
250861
250862       New in version 2017.7.0.
250863
250864
250865       salt.states.logrotate.set_(name,     key,     value,      setting=None,
250866       conf_file=u'/etc/logrotate.conf')
250867              Set a new value for a specific configuration line.
250868
250869              Parameters
250870
250871                     · key (str) -- The command or block to configure.
250872
250873                     · value  (str)  --  The  command  value or command of the
250874                       block specified by the key parameter.
250875
250876                     · setting (str) -- The  command  value  for  the  command
250877                       specified by the value parameter.
250878
250879                     · conf_file (str) -- The logrotate configuration file.
250880
250881              Example of usage with only the required arguments:
250882
250883                 logrotate-rotate:
250884                   logrotate.set:
250885                     - key: rotate
250886                     - value: 2
250887
250888              Example of usage specifying all available arguments:
250889
250890                 logrotate-wtmp-rotate:
250891                   logrotate.set:
250892                     - key: /var/log/wtmp
250893                     - value: rotate
250894                     - setting: 2
250895                     - conf_file: /etc/logrotate.conf
250896
250897   salt.states.loop module
250898       Loop state
250899
250900       Allows for looping over execution modules.
250901
250902       New in version 2017.7.0.
250903
250904
250905       In    both    examples    below,    the   execution   module   function
250906       boto_elb.get_instance_health returns a list  of  dicts.  The  condition
250907       checks  the  state-key  of the first dict in the returned list and com‐
250908       pares its value to the string InService.
250909
250910          wait_for_service_to_be_healthy:
250911            loop.until:
250912              - name: boto_elb.get_instance_health
250913              - condition: m_ret[0]['state'] == 'InService'
250914              - period: 5
250915              - timeout: 20
250916              - m_args:
250917                - {{ elb }}
250918              - m_kwargs:
250919                  keyid: {{ access_key }}
250920                  key: {{ secret_key }}
250921                  instances: "{{ instance }}"
250922
250923       WARNING:
250924          This state allows arbitrary python code to be executed  through  the
250925          condition  parameter  which is literally evaluated within the state.
250926          Please use caution.
250927
250928       Changed in version 3000.
250929
250930
250931       A version that does not use eval is now available. It uses  either  the
250932       python  operator  to compare the result of the function called in name,
250933       which can be one of the following: lt, le, eq (default),  ne,  ge,  gt.
250934       Alternatively,  compare_operator  can be filled with a function from an
250935       execution module in __salt__ or __utils__ like the example below.   The
250936       function  data.subdict_match  checks if the expected expression matches
250937       the data returned by calling the name function (with  passed  args  and
250938       kwargs).
250939
250940          Wait for service to be healthy:
250941            loop.until_no_eval:
250942              - name: boto_elb.get_instance_health
250943              - expected: '0:state:InService'
250944              - compare_operator: data.subdict_match
250945              - period: 5
250946              - timeout: 20
250947              - args:
250948                - {{ elb }}
250949              - kwargs:
250950                  keyid: {{ access_key }}
250951                  key: {{ secret_key }}
250952                  instances: "{{ instance }}"
250953
250954       salt.states.loop.until(name,    m_args=None,    m_kwargs=None,   condi‐
250955       tion=None, period=1, timeout=60)
250956              Loop over an execution module until a condition is met.
250957
250958              Parameters
250959
250960                     · name (str) -- The name of the execution module
250961
250962                     · m_args (list)  --  The  execution  module's  positional
250963                       arguments
250964
250965                     · m_kwargs (dict) -- The execution module's keyword argu‐
250966                       ments
250967
250968                     · condition (str) -- The condition which must be met  for
250969                       the  loop to break.  This should contain m_ret which is
250970                       the return from the execution module.
250971
250972                     · period (int or float) -- The number of seconds to  wait
250973                       between executions
250974
250975                     · timeout (int or float) -- The timeout in seconds
250976
250977       salt.states.loop.until_no_eval(name,  expected, compare_operator=u'eq',
250978       timeout=60, period=1, init_wait=0, args=None, kwargs=None)
250979              Generic waiter state that waits for a specific salt function  to
250980              produce  an  expected  result.   The state fails if the function
250981              does not exist or raises an exception, or does not  produce  the
250982              expected result within the allotted retries.
250983
250984              Parameters
250985
250986                     · name (str) -- Name of the module.function to call
250987
250988                     · expected  --  Expected return value. This can be almost
250989                       anything.
250990
250991                     · compare_operator (str) -- Operator to  use  to  compare
250992                       the   result  of  the  module.function  call  with  the
250993                       expected  value.  This  can  be  anything  present   in
250994                       __salt__  or  __utils__.  Will  be  called with 2 args:
250995                       result, expected.
250996
250997                     · timeout (int or float) -- Abort after  this  amount  of
250998                       seconds (excluding init_wait).
250999
251000                     · period  (int  or  float)  --  Time (in seconds) to wait
251001                       between attempts.
251002
251003                     · init_wait (int or float) -- Time (in seconds)  to  wait
251004                       before trying anything.
251005
251006                     · args  (list)  --  args to pass to the salt module.func‐
251007                       tion.
251008
251009                     · kwargs (dict) --  kwargs  to  pass  to  the  salt  mod‐
251010                       ule.function.
251011
251012              New in version 3000.
251013
251014
251015   salt.states.lvm
251016   Management of Linux logical volumes
251017       A state module to manage LVMs
251018
251019          /dev/sda:
251020            lvm.pv_present
251021
251022          my_vg:
251023            lvm.vg_present:
251024              - devices: /dev/sda
251025
251026          lvroot:
251027            lvm.lv_present:
251028              - vgname: my_vg
251029              - size: 10G
251030              - stripes: 5
251031              - stripesize: 8K
251032
251033       salt.states.lvm.lv_absent(name, vgname=None)
251034              Remove  a  given  existing  Logical Volume from a named existing
251035              volume group
251036
251037              name   The Logical Volume to remove
251038
251039              vgname The name of the Volume Group on which the Logical  Volume
251040                     resides
251041
251042       salt.states.lvm.lv_present(name,  vgname=None, size=None, extents=None,
251043       snapshot=None, pv=u'', thinvolume=False,  thinpool=False,  force=False,
251044       **kwargs)
251045              Create a new Logical Volume
251046
251047              name   The name of the Logical Volume
251048
251049              vgname The  name of the Volume Group on which the Logical Volume
251050                     resides
251051
251052              size   The initial size of the Logical Volume
251053
251054              extents
251055                     The number of logical extents to allocate
251056
251057              snapshot
251058                     The name of the snapshot
251059
251060              pv     The Physical Volume to use
251061
251062              kwargs Any supported options to lvcreate. See linux_lvm for more
251063                     details.
251064
251065              New in version to_complete.
251066
251067
251068              thinvolume
251069                     Logical Volume is thinly provisioned
251070
251071              thinpool
251072                     Logical Volume is a thin pool
251073
251074              New in version 2018.3.0.
251075
251076
251077              force  Assume yes to all prompts
251078
251079       salt.states.lvm.pv_absent(name)
251080              Ensure that a Physical Device is not being used by lvm
251081
251082              name   The device name to initialize.
251083
251084       salt.states.lvm.pv_present(name, **kwargs)
251085              Set a Physical Device to be used as an LVM Physical Volume
251086
251087              name   The device name to initialize.
251088
251089              kwargs Any supported options to pvcreate. See linux_lvm for more
251090                     details.
251091
251092       salt.states.lvm.vg_absent(name)
251093              Remove an LVM volume group
251094
251095              name   The volume group to remove
251096
251097       salt.states.lvm.vg_present(name, devices=None, **kwargs)
251098              Create an LVM Volume Group
251099
251100              name   The Volume Group name to create
251101
251102              devices
251103                     A list of devices that will be added to the Volume Group
251104
251105              kwargs Any supported options to vgcreate. See linux_lvm for more
251106                     details.
251107
251108   salt.states.lvs_server
251109   Management of LVS (Linux Virtual Server) Real Server
251110       salt.states.lvs_server.absent(name,         protocol=None,         ser‐
251111       vice_address=None, server_address=None)
251112              Ensure the LVS Real Server in specified service is absent.
251113
251114              name   The name of the LVS server.
251115
251116              protocol
251117                     The service protocol(only support  tcp,  udp  and  fwmark
251118                     service).
251119
251120              service_address
251121                     The LVS service address.
251122
251123              server_address
251124                     The LVS real server address.
251125
251126       salt.states.lvs_server.present(name,         protocol=None,        ser‐
251127       vice_address=None,  server_address=None,   packet_forward_method=u'dr',
251128       weight=1)
251129              Ensure that the named service is present.
251130
251131              name   The LVS server name
251132
251133              protocol
251134                     The service protocol
251135
251136              service_address
251137                     The LVS service address
251138
251139              server_address
251140                     The real server address.
251141
251142              packet_forward_method
251143                     The  LVS  packet forwarding method(dr for direct routing,
251144                     tunnel for tunneling, nat  for  network  access  transla‐
251145                     tion).
251146
251147              weight The  capacity   of a server relative to the others in the
251148                     pool.
251149
251150                 lvsrs:
251151                   lvs_server.present:
251152                     - protocol: tcp
251153                     - service_address: 1.1.1.1:80
251154                     - server_address: 192.168.0.11:8080
251155                     - packet_forward_method: dr
251156                     - weight: 10
251157
251158   salt.states.lvs_service
251159   Management of LVS (Linux Virtual Server) Service
251160       salt.states.lvs_service.absent(name,        protocol=None,         ser‐
251161       vice_address=None)
251162              Ensure the LVS service is absent.
251163
251164              name   The name of the LVS service
251165
251166              protocol
251167                     The service protocol
251168
251169              service_address
251170                     The LVS service address
251171
251172       salt.states.lvs_service.present(name,        protocol=None,        ser‐
251173       vice_address=None, scheduler=u'wlc')
251174              Ensure that the named service is present.
251175
251176              name   The LVS service name
251177
251178              protocol
251179                     The service protocol
251180
251181              service_address
251182                     The LVS service address
251183
251184              scheduler
251185                     Algorithm for allocating TCP connections  and  UDP  data‐
251186                     grams to real servers.
251187
251188                 lvstest:
251189                   lvs_service.present:
251190                     - service_address: 1.1.1.1:80
251191                     - protocol: tcp
251192                     - scheduler: rr
251193
251194   salt.states.lxc
251195   Manage Linux Containers
251196       salt.states.lxc.absent(name, stop=False, path=None)
251197              Ensure a container is not present, destroying it if present
251198
251199              name   Name of the container to destroy
251200
251201              stop   stop before destroying default: false
251202
251203                     New in version 2015.5.2.
251204
251205
251206              path   path  to the container parent default: /var/lib/lxc (sys‐
251207                     tem default)
251208
251209                     New in version 2015.8.0.
251210
251211
251212                 web01:
251213                   lxc.absent
251214
251215       salt.states.lxc.edited_conf(name, lxc_conf=None, lxc_conf_unset=None)
251216
251217              WARNING:
251218                 This state is unsuitable for setting parameters  that  appear
251219                 more  than  once  in  an LXC config file, or parameters which
251220                 must appear in a certain order (such as when configuring more
251221                 than one network interface).
251222
251223                 Issue  #35523  was opened to track the addition of a suitable
251224                 replacement or fix.
251225
251226              Edit LXC configuration options
251227
251228              Deprecated since version 2015.5.0.
251229
251230
251231              path   path to the container parent default: /var/lib/lxc  (sys‐
251232                     tem default)
251233
251234                     New in version 2015.8.0.
251235
251236
251237                 setconf:
251238                   lxc.edited_conf:
251239                     - name: ubuntu
251240                     - lxc_conf:
251241                         - network.ipv4.ip: 10.0.3.6
251242                     - lxc_conf_unset:
251243                         - lxc.utsname
251244
251245       salt.states.lxc.frozen(name, start=True, path=None)
251246              New in version 2015.5.0.
251247
251248
251249              Ensure that a container is frozen
251250
251251              NOTE:
251252                 This  state  does not enforce the existence of the named con‐
251253                 tainer, it just freezes the container if it  is  running.  To
251254                 ensure that the named container exists, use lxc.present.
251255
251256              name   The name of the container
251257
251258              path   path  to the container parent default: /var/lib/lxc (sys‐
251259                     tem default)
251260
251261                     New in version 2015.8.0.
251262
251263
251264              start  True Start container first, if necessary. If False,  then
251265                     this state will fail if the container is not running.
251266
251267                 web01:
251268                   lxc.frozen
251269
251270                 web02:
251271                   lxc.frozen:
251272                     - start: False
251273
251274       salt.states.lxc.present(name,   running=None,   clone_from=None,  snap‐
251275       shot=False,    profile=None,    network_profile=None,    template=None,
251276       options=None,  image=None,  config=None,  fstype=None, size=None, back‐
251277       ing=None, vgname=None, lvname=None, thinpool=None, path=None)
251278              Changed in version 2015.8.0:  The  lxc.created  state  has  been
251279              renamed to lxc.present, and the lxc.cloned state has been merged
251280              into this state.
251281
251282
251283              Create the named container if it does not exist
251284
251285              name   The name of the container to be created
251286
251287              path   path to the container parent default: /var/lib/lxc  (sys‐
251288                     tem default)
251289
251290                     New in version 2015.8.0.
251291
251292
251293              running
251294                     False.INDENT 7.0
251295
251296              · If True, ensure that the container is running
251297
251298              · If False, ensure that the container is stopped
251299
251300              · If  None,  do nothing with regards to the running state of the
251301                container
251302
251303              New in version 2015.8.0.
251304
251305
251306       clone_from
251307              Create named container as a clone of the specified container
251308
251309       snapshot
251310              False Use Copy On Write snapshots  (LVM).  Only  supported  with
251311              clone_from.
251312
251313       profile
251314              Profile  to  use in container creation (see the LXC Tutorial for
251315              more information). Values in a profile will be overridden by the
251316              parameters listed below.
251317
251318       network_profile
251319              Network  Profile to use in container creation (see the LXC Tuto‐
251320              rial for more information). Values in a profile will be overrid‐
251321              den by the parameters listed below.
251322
251323              New in version 2015.5.2.
251324
251325
251326       Container Creation Arguments
251327
251328              template
251329                     The  template to use. For example, ubuntu or fedora.  For
251330                     a  full  list  of  available  templates,  check  out  the
251331                     lxc.templates function.
251332
251333                     Conflicts with the image argument.
251334
251335                     NOTE:
251336                        The  download  template  requires  the following three
251337                        parameters to be defined in options:
251338
251339                        · dist - The name of the distribution
251340
251341                        · release - Release name/version
251342
251343                        · arch - Architecture of the container
251344
251345                        The  available  images  can  be   listed   using   the
251346                        lxc.images function.
251347
251348              options
251349                 New in version 2015.5.0.
251350
251351
251352                 Template-specific  options to pass to the lxc-create command.
251353                 These correspond to the long options (ones beginning with two
251354                 dashes) that the template script accepts. For example:
251355
251356                     web01:
251357                       lxc.present:
251358                         - template: download
251359                         - options:
251360                             dist: centos
251361                             release: 6
251362                             arch: amd64
251363
251364                 Remember  to  double-indent  the  options,  due to how PyYAML
251365                 works.
251366
251367                 For available template options, refer  to  the  lxc  template
251368                 scripts  which are ususally located under /usr/share/lxc/tem‐
251369                 plates, or run lxc-create -t <template> -h.
251370
251371              image  A tar archive to use as the  rootfs  for  the  container.
251372                     Conflicts with the template argument.
251373
251374              backing
251375                     The  type  of  storage  to  use. Set to lvm to use an LVM
251376                     group.  Defaults to filesystem within /var/lib/lxc.
251377
251378              fstype Filesystem type to use on LVM logical volume
251379
251380              size   Size of the volume to create. Only applicable if  backing
251381                     is set to lvm.
251382
251383              vgname lxc  Name  of the LVM volume group in which to create the
251384                     volume for this container. Only applicable if backing  is
251385                     set to lvm.
251386
251387              lvname Name  of  the  LVM  logical volume in which to create the
251388                     volume for this container. Only applicable if backing  is
251389                     set to lvm.
251390
251391              thinpool
251392                     Name  of  a pool volume that will be used for thin-provi‐
251393                     sioning this container. Only applicable if backing is set
251394                     to lvm.
251395
251396       salt.states.lxc.running(name, restart=False, path=None)
251397              Changed  in  version  2015.5.0:  The  lxc.started state has been
251398              renamed to lxc.running
251399
251400
251401              Ensure that a container is running
251402
251403              NOTE:
251404                 This state does not enforce the existence of the  named  con‐
251405                 tainer, it just starts the container if it is not running. To
251406                 ensure that the named container exists, use lxc.present.
251407
251408              name   The name of the container
251409
251410              path   path to the container parent default: /var/lib/lxc  (sys‐
251411                     tem default)
251412
251413                     New in version 2015.8.0.
251414
251415
251416              restart
251417                     False Restart container if it is already running
251418
251419                 web01:
251420                   lxc.running
251421
251422                 web02:
251423                   lxc.running:
251424                     - restart: True
251425
251426       salt.states.lxc.set_pass(name, **kwargs)
251427              Deprecated since version 2015.5.0.
251428
251429
251430              This  state function has been disabled, as it did not conform to
251431              design  guidelines.  Specifically,  due   to   the   fact   that
251432              lxc.set_password uses chpasswd(8) to set the password, there was
251433              no method to make this action idempotent (in  other  words,  the
251434              password  would  be  changed  every time). This makes this state
251435              redundant, since the following state will do the same thing:
251436
251437                 setpass:
251438                   module.run:
251439                     - name: set_pass
251440                     - m_name: root
251441                     - password: secret
251442
251443       salt.states.lxc.stopped(name, kill=False, path=None)
251444              Ensure that a container is stopped
251445
251446              NOTE:
251447                 This state does not enforce the existence of the  named  con‐
251448                 tainer,  it just stops the container if it running or frozen.
251449                 To ensure that the named container exists,  use  lxc.present,
251450                 or use the lxc.absent state to ensure that the container does
251451                 not exist.
251452
251453              name   The name of the container
251454
251455              path   path to the container parent default: /var/lib/lxc  (sys‐
251456                     tem default)
251457
251458                     New in version 2015.8.0.
251459
251460
251461              kill   False  Do  not  wait  for the container to stop, kill all
251462                     tasks in the container.  Older  LXC  versions  will  stop
251463                     containers like this irrespective of this argument.
251464
251465                     New in version 2015.5.0.
251466
251467
251468                 web01:
251469                   lxc.stopped
251470
251471   salt.states.mac_assistive module
251472   Allows you to manage assistive access on macOS minions with 10.9+
251473       Install, enable and disable assistive access on macOS minions
251474
251475          /usr/bin/osacript:
251476            assistive.installed:
251477              - enabled: True
251478
251479       salt.states.mac_assistive.installed(name, enabled=True)
251480              Make  sure  that  we have the given bundle ID or path to command
251481              installed in the assistive access panel.
251482
251483              name   The bundle ID or path to command
251484
251485              enable Should assistive access be enabled on this application?
251486
251487   salt.states.macdefaults
251488   Writing/reading defaults from a macOS minion
251489       salt.states.macdefaults.absent(name, domain, user=None)
251490              Make sure the defaults value is absent
251491
251492              name   The key of the given domain to remove
251493
251494              domain The name of the domain to remove from
251495
251496              user   The user to write the defaults to
251497
251498       salt.states.macdefaults.write(name,  domain,  value,   vtype=u'string',
251499       user=None)
251500              Write a default to the system
251501
251502              name   The key of the given domain to write to
251503
251504              domain The name of the domain to write to
251505
251506              value  The value to write to the given key
251507
251508              vtype  The  type of value to be written, valid types are string,
251509                     data,   int[eger],   float,   bool[ean],   date,   array,
251510                     array-add, dict, dict-add
251511
251512              user   The user to write the defaults to
251513
251514   salt.states.mac_keychain module
251515   Installing of certificates to the keychain
251516       Install certificats to the macOS keychain
251517
251518          /mnt/test.p12:
251519            keychain.installed:
251520              - password: test123
251521
251522       salt.states.mac_keychain.default_keychain(name,         domain=u'user',
251523       user=None)
251524              Set the default keychain to use
251525
251526              name   The chain in which to use as the default
251527
251528              domain The domain  to  use  valid  values  are  user|system|com‐
251529                     mon|dynamic, the default is user
251530
251531              user   The user to run as
251532
251533       salt.states.mac_keychain.installed(name,         password,         key‐
251534       chain=u'/Library/Keychains/System.keychain', **kwargs)
251535              Install a p12 certificate file into the macOS keychain
251536
251537              name   The certificate to install
251538
251539              password
251540                     The password for the certificate being installed  format‐
251541                     ted  in the way described for openssl command in the PASS
251542                     PHRASE ARGUMENTS section
251543
251544              keychain
251545                     The keychain to install the certificate to, this defaults
251546                     to /Library/Keychains/System.keychain
251547
251548              allow_any
251549                     Allow  any application to access the imported certificate
251550                     without warning
251551
251552              keychain_password
251553                     If your keychain is likely to be locked pass the password
251554                     and it will be unlocked before running the import
251555
251556       salt.states.mac_keychain.uninstalled(name,        password,        key‐
251557       chain=u'/Library/Keychains/System.keychain', keychain_password=None)
251558              Uninstall a p12 certificate file from the macOS keychain
251559
251560              name   The certificate to uninstall, this can be a  path  for  a
251561                     .p12 or the friendly name
251562
251563              password
251564                     The  password for the certificate being installed format‐
251565                     ted in the way described for openssl command in the  PASS
251566                     PHRASE ARGUMENTS section
251567
251568              cert_name
251569                     The  friendly  name  of the certificate, this can be used
251570                     instead of giving a certificate
251571
251572              keychain
251573                     The  keychain  to  remove  the  certificate  from,   this
251574                     defaults to /Library/Keychains/System.keychain
251575
251576              keychain_password
251577                     If your keychain is likely to be locked pass the password
251578                     and it will be unlocked before running the import
251579
251580   salt.states.macpackage
251581   Installing of mac pkg files
251582       Install any kind of pkg, dmg or app file on macOS:
251583
251584          /mnt/test.pkg:
251585            macpackage.installed:
251586              - store: True
251587
251588          /mnt/test.dmg:
251589            macpackage.installed:
251590              - dmg: True
251591
251592          /mnt/xcode.dmg:
251593            macpackage.installed:
251594              - dmg: True
251595              - app: True
251596              - target: /Applications/Xcode.app
251597              - version_check: xcodebuild -version=Xcode 7.1\n.*7B91b
251598
251599       salt.states.macpackage.installed(name,           target=u'LocalSystem',
251600       dmg=False,  store=False, app=False, mpkg=False, user=None, onlyif=None,
251601       unless=None, force=False, allow_untrusted=False, version_check=None)
251602              Install a Mac OS Package from a pkg or dmg file, if given a  dmg
251603              file it will first be mounted in a temporary location
251604
251605              name   The pkg or dmg file to install
251606
251607              target The location in which to install the package. This can be
251608                     a path or LocalSystem
251609
251610              dmg    Is the given file a dmg file?
251611
251612              store  Should the pkg be installed as if it was from the Mac  OS
251613                     Store?
251614
251615              app    Is  the  file  a .app? If so then we'll just copy that to
251616                     /Applications/ or the given target
251617
251618              mpkg   Is the file a .mpkg? If so then we'll check  all  of  the
251619                     .pkg files found are installed
251620
251621              user   Name of the user performing the unless or onlyif checks
251622
251623              onlyif A  command  to run as a check, run the named command only
251624                     if the command passed to the onlyif option returns true
251625
251626              unless A command to run as a check, only run the  named  command
251627                     if the command passed to the unless option returns false
251628
251629              force  Force  the  package  to  be installed even if its already
251630                     been found installed
251631
251632              allow_untrusted
251633                     Allow the installation of untrusted packages
251634
251635              version_check
251636                     The command and version that we want  to  check  against,
251637                     the version number can use regex.
251638
251639                        version_check: python --version_check=2.7.[0-9]
251640
251641   salt.states.mac_xattr module
251642   Allows you to manage extended attributes on files or directories
251643       Install, enable and disable assistive access on macOS minions
251644
251645          /path/to/file:
251646            xattr.exists:
251647              - attributes:
251648                  - com.file.attr=test
251649                  - com.apple.quarantine=0x00001111
251650
251651       salt.states.mac_xattr.delete(name, attributes)
251652              Make  sure the given attributes are deleted from the file/direc‐
251653              tory
251654
251655              name   The path to the file/directory
251656
251657              attributes
251658                     The  attributes  that  should   be   removed   from   the
251659                     file/directory, this is accepted as an array.
251660
251661       salt.states.mac_xattr.exists(name, attributes)
251662              Make sure the given attributes exist on the file/directory
251663
251664              name   The path to the file/directory
251665
251666              attributes
251667                     The  attributes  that should exist on the file/directory,
251668                     this is accepted as an array, with key  and  value  split
251669                     with  an  equals sign, if you want to specify a hex value
251670                     then add 0x to the beginning of the value.
251671
251672   salt.states.makeconf
251673   Management of Gentoo make.conf
251674       A state module to manage Gentoo's make.conf file
251675
251676          makeopts:
251677            makeconf.present:
251678              - value: '-j3'
251679
251680       salt.states.makeconf.absent(name)
251681              Verify that the variable is not in the make.conf.
251682
251683              name   The variable name. This will automatically  be  converted
251684                     to  upper  case since variables in make.conf are in upper
251685                     case
251686
251687       salt.states.makeconf.present(name,      value=None,      contains=None,
251688       excludes=None)
251689              Verify  that  the  variable is in the make.conf and has the pro‐
251690              vided settings. If value is set, contains and excludes  will  be
251691              ignored.
251692
251693              name   The  variable  name. This will automatically be converted
251694                     to upper case since variables in make.conf are  in  upper
251695                     case
251696
251697              value  Enforce that the value of the variable is set to the pro‐
251698                     vided value
251699
251700              contains
251701                     Enforce that the value of the variable contains the  pro‐
251702                     vided value
251703
251704              excludes
251705                     Enforce  that  the value of the variable does not contain
251706                     the provided value.
251707
251708   salt.states.marathon_app module
251709       Configure Marathon apps via a salt proxy.
251710
251711          my_app:
251712            marathon_app.config:
251713              - config:
251714                  cmd: "while [ true ] ; do echo 'Hello Marathon' ; sleep 5 ; done"
251715                  cpus: 0.1
251716                  mem: 10
251717                  instances: 3
251718
251719       New in version 2015.8.2.
251720
251721
251722       salt.states.marathon_app.absent(name)
251723              Ensure that the marathon app with the given id is not present.
251724
251725              Parameters
251726                     name -- The app name/id
251727
251728              Returns
251729                     A standard Salt changes dictionary
251730
251731       salt.states.marathon_app.config(name, config)
251732              Ensure that the marathon app with the given id is present and is
251733              configured to match the given config values.
251734
251735              Parameters
251736
251737                     · name -- The app name/id
251738
251739                     · config -- The configuration to apply (dict)
251740
251741              Returns
251742                     A standard Salt changes dictionary
251743
251744       salt.states.marathon_app.running(name, restart=False, force=True)
251745              Ensure  that  the  marathon app with the given id is present and
251746              restart if set.
251747
251748              Parameters
251749
251750                     · name -- The app name/id
251751
251752                     · restart -- Restart the app
251753
251754                     · force -- Override the current deployment
251755
251756              Returns
251757                     A standard Salt changes dictionary
251758
251759   salt.states.mdadm_raid
251760   Managing software RAID with mdadm
251761       depends
251762              mdadm
251763
251764       A state module for creating or destroying software RAID devices.
251765
251766          /dev/md0:
251767            raid.present:
251768              - level: 5
251769              - devices:
251770                - /dev/xvdd
251771                - /dev/xvde
251772                - /dev/xvdf
251773              - chunk: 256
251774              - run: True
251775
251776       salt.states.mdadm_raid.absent(name)
251777              Verify that the raid is absent
251778
251779              name   The name of raid device to be destroyed
251780
251781                 /dev/md0:
251782                   raid:
251783                     - absent
251784
251785       salt.states.mdadm_raid.present(name, level, devices, **kwargs)
251786              Verify that the raid is present
251787
251788              Changed in version 2014.7.0.
251789
251790
251791              name   The name of raid device to be created
251792
251793              level  The RAID level to use when creating the raid.
251794
251795              devices
251796                     A list of devices used to build the array.
251797
251798              kwargs Optional arguments to be passed to mdadm.
251799
251800              Example:
251801
251802                 /dev/md0:
251803                   raid.present:
251804                     - level: 5
251805                     - devices:
251806                       - /dev/xvdd
251807                       - /dev/xvde
251808                       - /dev/xvdf
251809                     - chunk: 256
251810                     - run: True
251811
251812   salt.states.memcached
251813   States for Management of Memcached Keys
251814       New in version 2014.1.0.
251815
251816
251817       salt.states.memcached.absent(name,    value=None,    host=u'127.0.0.1',
251818       port=11211, time=0)
251819              Ensure that a memcached key is not present.
251820
251821              name   The key
251822
251823              value  None  If specified, only ensure that the key is absent if
251824                     it matches the specified value.
251825
251826              host   The memcached server IP address
251827
251828              port   The memcached server port
251829
251830                 foo:
251831                   memcached.absent
251832
251833                 bar:
251834                   memcached.absent:
251835                     - host: 10.0.0.1
251836
251837       salt.states.memcached.managed(name,   value=None,    host=u'127.0.0.1',
251838       port=11211, time=0, min_compress_len=0)
251839              Manage a memcached key.
251840
251841              name   The key to manage
251842
251843              value  The value to set for that key
251844
251845              host   The memcached server IP address
251846
251847              port   The memcached server port
251848
251849                 foo:
251850                   memcached.managed:
251851                     - value: bar
251852
251853   salt.states.modjk
251854       State to control Apache modjk
251855
251856       salt.states.modjk.worker_activated(name,       workers=None,       pro‐
251857       file=u'default')
251858              Activate all the workers in the modjk load balancer
251859
251860              Example:
251861
251862                 loadbalancer:
251863                   modjk.worker_activated:
251864                     - workers:
251865                       - app1
251866                       - app2
251867
251868       salt.states.modjk.worker_disabled(name,       workers=None,        pro‐
251869       file=u'default')
251870              Disable all the workers in the modjk load balancer
251871
251872              Example:
251873
251874                 loadbalancer:
251875                   modjk.worker_disabled:
251876                     - workers:
251877                       - app1
251878                       - app2
251879
251880       salt.states.modjk.worker_recover(name,        workers=None,        pro‐
251881       file=u'default')
251882              Recover all the workers in the modjk load balancer
251883
251884              Example:
251885
251886                 loadbalancer:
251887                   modjk.worker_recover:
251888                     - workers:
251889                       - app1
251890                       - app2
251891
251892       salt.states.modjk.worker_stopped(name,        workers=None,        pro‐
251893       file=u'default')
251894              Stop all the workers in the modjk load balancer
251895
251896              Example:
251897
251898                 loadbalancer:
251899                   modjk.worker_stopped:
251900                     - workers:
251901                       - app1
251902                       - app2
251903
251904   salt.states.modjk_worker
251905   Manage modjk workers
251906       Send commands to a modjk load balancer via the peer system.
251907
251908       This  module  can  be  used with the prereq requisite to remove/add the
251909       worker from the load balancer before deploying/restarting service.
251910
251911       Mandatory Settings:
251912
251913       · The minion needs to have permission to publish the modjk.*  functions
251914         (see here for information on configuring peer publishing permissions)
251915
251916       · The  modjk  load  balancer  must be configured as stated in the modjk
251917         execution module documentation
251918
251919       salt.states.modjk_worker.activate(name,     lbn,      target,      pro‐
251920       file=u'default', tgt_type=u'glob')
251921              Changed  in  version  2017.7.0:  The expr_form argument has been
251922              renamed to tgt_type, earlier releases must use expr_form.
251923
251924
251925              Activate the named worker from the lbn  load  balancers  at  the
251926              targeted minions
251927
251928              Example:
251929
251930                 disable-before-deploy:
251931                   modjk_worker.activate:
251932                     - name: {{ grains['id'] }}
251933                     - lbn: application
251934                     - target: 'roles:balancer'
251935                     - tgt_type: grain
251936
251937       salt.states.modjk_worker.disable(name, lbn, target, profile=u'default',
251938       tgt_type=u'glob')
251939              Changed in version 2017.7.0: The  expr_form  argument  has  been
251940              renamed to tgt_type, earlier releases must use expr_form.
251941
251942
251943              Disable the named worker from the lbn load balancers at the tar‐
251944              geted minions. The worker will get traffic only for current ses‐
251945              sions and won't get new ones.
251946
251947              Example:
251948
251949                 disable-before-deploy:
251950                   modjk_worker.disable:
251951                     - name: {{ grains['id'] }}
251952                     - lbn: application
251953                     - target: 'roles:balancer'
251954                     - tgt_type: grain
251955
251956       salt.states.modjk_worker.stop(name,  lbn,  target,  profile=u'default',
251957       tgt_type=u'glob')
251958              Changed in version 2017.7.0: The  expr_form  argument  has  been
251959              renamed to tgt_type, earlier releases must use expr_form.
251960
251961
251962              Stop  the  named  worker from the lbn load balancers at the tar‐
251963              geted minions The worker won't get any traffic from the lbn
251964
251965              Example:
251966
251967                 disable-before-deploy:
251968                   modjk_worker.stop:
251969                     - name: {{ grains['id'] }}
251970                     - lbn: application
251971                     - target: 'roles:balancer'
251972                     - tgt_type: grain
251973
251974   salt.states.module
251975   Execution of Salt modules from within states
251976       NOTE:
251977          There are two styles of calling module.run. The legacy style will no
251978          longer  be available starting in the Sodium release. To opt-in early
251979          to the new style you must add the following to your /etc/salt/minion
251980          config file:
251981
251982              use_superseded:
251983                - module.run
251984
251985       With module.run these states allow individual execution module calls to
251986       be made via states. Here's a contrived example, to show  you  how  it's
251987       done:
251988
251989          # New Style
251990          test.random_hash:
251991            module.run:
251992              - test.random_hash:
251993                - size: 42
251994                - hash_type: sha256
251995
251996          # Legacy Style
251997          test.random_hash:
251998            module.run:
251999              - size: 42
252000              - hash_type: sha256
252001
252002       In  the  new  style,  the  state ID (test.random_hash, in this case) is
252003       irrelevant when using module.run. It could have very well been written:
252004
252005          Generate a random hash:
252006            module.run:
252007              - test.random_hash:
252008                - size: 42
252009                - hash_type: sha256
252010
252011       For a simple state like that it's not a big deal,  but  if  the  module
252012       you're  using  has  certain parameters, things can get cluttered, fast.
252013       Using the contrived custom module (stuck in  /srv/salt/_modules/foo.py,
252014       or your configured file_roots):
252015
252016          def bar(name, names, fun, state, saltenv):
252017              return "Name: {name} Names: {names} Fun: {fun} State: {state} Saltenv: {saltenv}".format(**locals())
252018
252019       Your legacy state has to look like this:
252020
252021          # Legacy style
252022          Unfortunate example:
252023            module.run:
252024            - name: foo.bar
252025            - m_name: Some name
252026            - m_names:
252027              - Such names
252028              - very wow
252029            - m_state: Arkansas
252030            - m_fun: Such fun
252031            - m_saltenv: Salty
252032
252033       With the new style it's much cleaner:
252034
252035          # New style
252036          Better:
252037            module.run:
252038            - foo.bar:
252039              - name: Some name
252040              - names:
252041                - Such names
252042                - very wow
252043              - state: Arkansas
252044              - fun: Such fun
252045              - saltenv: Salty
252046
252047       The  new style also allows multiple modules in one state. For instance,
252048       you can do this:
252049
252050          Do many things:
252051            module.run:
252052              - test.random_hash:
252053                - size: 10
252054                - hash_type: md5
252055              # Note the `:` at the end
252056              - test.true:
252057              - test.arg:
252058                - this
252059                - has
252060                - args
252061                - and: kwargs
252062                - isn't: that neat?
252063              # Note the `:` at the end, too
252064              - test.version:
252065              - test.fib:
252066                - 4
252067
252068       Where in the legacy style you would have had to split your states  like
252069       this:
252070
252071          test.random_hash:
252072            module.run:
252073              - size: 10
252074              - hash_type: md5
252075
252076          test.nop:
252077            module.run
252078
252079          test.arg:
252080            module.run:
252081              - args:
252082                - this
252083                - has
252084                - args
252085              - kwargs:
252086                  and: kwargs
252087                  isn't: that neat?
252088
252089          test.version:
252090            module.run
252091
252092       Another difference is that in the legacy style, unconsumed arguments to
252093       the module state were simply passed into the module function being exe‐
252094       cuted:
252095
252096          show off module.run with args:
252097            module.run:
252098              - name: test.random_hash
252099              - size: 42
252100              - hash_type: sha256
252101
252102       The  new  style  is  much more explicit, with the arguments and keyword
252103       arguments being nested under the name of the function:
252104
252105          show off module.run with args:
252106            module.run:
252107              # Note the lack of `name: `, and trailing `:`
252108              - test.random_hash:
252109                - size: 42
252110                - hash_type: sha256
252111
252112       If the function takes *args, they can be passed in as well:
252113
252114          args and kwargs:
252115            module.run:
252116              - test.arg:
252117                - isn't
252118                - this
252119                - fun
252120                - this: that
252121                - salt: stack
252122
252123   Modern Examples
252124       Here are some other examples using the modern module.run:
252125
252126          fetch_out_of_band:
252127            module.run:
252128              - git.fetch:
252129                - cwd: /path/to/my/repo
252130                - user: myuser
252131                - opts: '--all'
252132
252133       A more complex example:
252134
252135          eventsviewer:
252136            module.run:
252137              - task.create_task:
252138                - name: events-viewer
252139                - user_name: System
252140                - action_type: Execute
252141                - cmd: 'c:\netops\scripts\events_viewer.bat'
252142                - trigger_type: 'Daily'
252143                - start_date: '2017-1-20'
252144                - start_time: '11:59PM'
252145
252146       It is sometimes desirable to trigger a function call after a  state  is
252147       executed, for this the module.wait state can be used:
252148
252149          add example to hosts:
252150            file.append:
252151              - name: /etc/hosts
252152              - text: 203.0.113.13     example.com
252153
252154          # New Style
252155          mine.send:
252156            module.wait:
252157              # Again, note the trailing `:`
252158              - hosts.list_hosts:
252159              - watch:
252160                - file: add example to hosts
252161
252162   Legacy (Default) Examples
252163       If  you're  using  the  legacy  module.run, due to how the state system
252164       works, if a module function accepts  an  argument  called,  name,  then
252165       m_name must be used to specify that argument, to avoid a collision with
252166       the name argument.
252167
252168       Here is a list of keywords hidden by the state system,  which  must  be
252169       prefixed with m_:
252170
252171       · fun
252172
252173       · name
252174
252175       · names
252176
252177       · state
252178
252179       · saltenv
252180
252181       For example:
252182
252183          disable_nfs:
252184            module.run:
252185              - name: service.disable
252186              - m_name: nfs
252187
252188       Note that some modules read all or some of the arguments from a list of
252189       keyword arguments. For example:
252190
252191          mine.send:
252192            module.run:
252193              - func: network.ip_addrs
252194              - kwargs:
252195                  interface: eth0
252196
252197          cloud.create:
252198            module.run:
252199              - func: cloud.create
252200              - provider: test-provider
252201              - m_names:
252202                - test-vlad
252203              - kwargs: {
252204                    ssh_username: 'ubuntu',
252205                    image: 'ami-8d6d9daa',
252206                    securitygroup: 'default',
252207                    size: 'c3.large',
252208                    location: 'ap-northeast-1',
252209                    delvol_on_destroy: 'True'
252210                }
252211
252212       Other modules take the keyword arguments using this style:
252213
252214          mac_enable_ssh:
252215            module.run:
252216              - name: system.set_remote_login
252217              - enable: True
252218
252219       Another example that creates a recurring task that runs a batch file on
252220       a Windows system:
252221
252222          eventsviewer:
252223            module.run:
252224              - name: task.create_task
252225              - m_name: 'events-viewer'
252226              - user_name: System
252227              - kwargs: {
252228                    action_type: 'Execute',
252229                    cmd: 'c:\netops\scripts\events_viewer.bat',
252230                    trigger_type: 'Daily',
252231                    start_date: '2017-1-20',
252232                    start_time: '11:59PM'
252233              }
252234
252235       salt.states.module.run(*args, **kwargs)
252236              Run a single module function or a range of module functions in a
252237              batch.  Supersedes module.run function, which requires m_ prefix
252238              to function-specific parameters.
252239
252240              Parameters
252241
252242                     · returner  --  Specify  a  common returner for the whole
252243                       batch to send the return data
252244
252245                     · kwargs -- Pass any  arguments  needed  to  execute  the
252246                       function(s)
252247
252248                 some_id_of_state:
252249                   module.run:
252250                     - network.ip_addrs:
252251                       - interface: eth0
252252                     - cloud.create:
252253                       - names:
252254                         - test-isbm-1
252255                         - test-isbm-2
252256                       - ssh_username: sles
252257                       - image: sles12sp2
252258                       - securitygroup: default
252259                       - size: 'c3.large'
252260                       - location: ap-northeast-1
252261                       - delvol_on_destroy: True
252262
252263              Returns
252264
252265
252266       salt.states.module.wait(name, **kwargs)
252267              Run  a  single module function only if the watch statement calls
252268              it
252269
252270              name   The module function to execute
252271
252272              **kwargs
252273                     Pass any arguments needed to execute the function
252274
252275              NOTE:
252276                 Like the cmd.run state, this state will return True  but  not
252277                 actually execute, unless one of the following two things hap‐
252278                 pens:
252279
252280                 1. The state has a watch requisite, and the state which it is
252281                    watching changes.
252282
252283                 2. Another  state  has  a watch_in requisite which references
252284                    this state, and the state wth the watch_in changes.
252285
252286   salt.states.mongodb_database
252287   Management of MongoDB Databases
252288       depends
252289
252290              · pymongo Python module
252291
252292       Only deletion is supported, creation doesn't make sense and can be done
252293       using mongodb_user.present.
252294
252295       salt.states.mongodb_database.absent(name,   user=None,   password=None,
252296       host=None, port=None, authdb=None)
252297              Ensure that the named database is  absent.  Note  that  creation
252298              doesn't make sense in MongoDB.
252299
252300              name   The name of the database to remove
252301
252302              user   The user to connect as (must be able to create the user)
252303
252304              password
252305                     The password of the user
252306
252307              host   The host to connect to
252308
252309              port   The port to connect to
252310
252311              authdb The database in which to authenticate
252312
252313   salt.states.mongodb_user
252314   Management of MongoDB Users
252315       depends
252316
252317              · pymongo Python module
252318
252319       salt.states.mongodb_user.absent(name,     user=None,     password=None,
252320       host=None, port=None, database=u'admin', authdb=None)
252321              Ensure that the named user is absent
252322
252323              name   The name of the user to remove
252324
252325              user   MongoDB user with sufficient privilege to create the user
252326
252327              password
252328                     Password for the admin user specified by the user parame‐
252329                     ter
252330
252331              host   The hostname/IP address of the MongoDB server
252332
252333              port   The port on which MongoDB is listening
252334
252335              database
252336                     The  database  from which to remove the user specified by
252337                     the name parameter
252338
252339              authdb The database in which to authenticate
252340
252341       salt.states.mongodb_user.present(name,    passwd,    database=u'admin',
252342       user=None,  password=None,  host=u'localhost', port=27017, authdb=None,
252343       roles=None)
252344              Ensure that the user is present with the specified properties
252345
252346              name   The name of the user to manage
252347
252348              passwd The password of the user to manage
252349
252350              user   MongoDB user with sufficient privilege to create the user
252351
252352              password
252353                     Password for the  admin  user  specified  with  the  user
252354                     parameter
252355
252356              host   The hostname/IP address of the MongoDB server
252357
252358              port   The port on which MongoDB is listening
252359
252360              database
252361                     The database in which to create the user
252362
252363                     NOTE:
252364                        If the database doesn't exist, it will be created.
252365
252366              authdb The database in which to authenticate
252367
252368              roles  The roles assigned to user specified with the name param‐
252369                     eter
252370
252371              Example:
252372
252373                 mongouser-myapp:
252374                   mongodb_user.present:
252375                   - name: myapp
252376                   - passwd: password-of-myapp
252377                   - database: admin
252378                   # Connect as admin:sekrit
252379                   - user: admin
252380                   - password: sekrit
252381                   - roles:
252382                       - readWrite
252383                       - userAdmin
252384                       - dbOwner
252385
252386   salt.states.monit
252387   Monit state
252388       Manage monit states
252389
252390          monit_enable_service_monitoring:
252391            monit.monitor:
252392              - name: service
252393
252394          monit_disable_service_monitoring:
252395            monit.unmonitor:
252396              - name: service
252397
252398       NOTE:
252399          Use of these states require  that  the  monit  execution  module  is
252400          available.
252401
252402       salt.states.monit.monitor(name)
252403              Get  the  summary from module monit and try to see if service is
252404              being monitored. If not then monitor the service.
252405
252406       salt.states.monit.unmonitor(name)
252407              Get the summary from module monit and try to see if  service  is
252408              being monitored. If it is then stop monitoring the service.
252409
252410   salt.states.mount
252411   Mounting of filesystems
252412       Mount any type of mountable filesystem with the mounted function:
252413
252414          /mnt/sdb:
252415            mount.mounted:
252416              - device: /dev/sdb1
252417              - fstype: ext4
252418              - mkmnt: True
252419              - opts:
252420                - defaults
252421
252422          /srv/bigdata:
252423            mount.mounted:
252424              - device: UUID=066e0200-2867-4ebe-b9e6-f30026ca2314
252425              - fstype: xfs
252426              - opts: nobootwait,noatime,nodiratime,nobarrier,logbufs=8
252427              - dump: 0
252428              - pass_num: 2
252429              - persist: True
252430              - mkmnt: True
252431
252432          /var/lib/bigdata:
252433            mount.mounted:
252434              - device: /srv/bigdata
252435              - fstype: none
252436              - opts: bind
252437              - dump: 0
252438              - pass_num: 0
252439              - persist: True
252440              - mkmnt: True
252441
252442       salt.states.mount.fstab_absent(name,   fs_file,   mount_by=None,   con‐
252443       fig=u'/etc/fstab')
252444              Makes sure that a fstab mount point is absent.
252445
252446              name   The name of block device. Can be any valid fs_spec value.
252447
252448              fs_file
252449                     Mount point (target) for the filesystem.
252450
252451              mount_by
252452                     Select the final value for fs_spec. Can be [None, device,
252453                     label, uuid, partlabel, partuuid]. If None, the value for
252454                     fs_spect will be the parameter name, in other  case  will
252455                     search  the  correct  value based on the device name. For
252456                     example, for uuid, the value for fs_spec will be of  type
252457                     'UUID=xxx' instead of the device name set in name.
252458
252459              config Place where the fstab file lives
252460
252461       salt.states.mount.fstab_present(name,        fs_file,       fs_vfstype,
252462       fs_mntops=u'defaults',  fs_freq=0,  fs_passno=0,  mount_by=None,   con‐
252463       fig=u'/etc/fstab', mount=True, match_on=u'auto', not_change=False)
252464              Makes sure that a fstab mount point is pressent.
252465
252466              name   The name of block device. Can be any valid fs_spec value.
252467
252468              fs_file
252469                     Mount point (target) for the filesystem.
252470
252471              fs_vfstype
252472                     The type of the filesystem (e.g. ext4, xfs, btrfs, ...)
252473
252474              fs_mntops
252475                     The mount options associated with the filesystem. Default
252476                     is defaults.
252477
252478              fs_freq
252479                     Field is used by dump to determine which fs  need  to  be
252480                     dumped. Default is 0
252481
252482              fs_passno
252483                     Field  is  used  by  fsck to determine the order in which
252484                     filesystem checks are done at boot time. Default is 0
252485
252486              mount_by
252487                     Select the final value for fs_spec. Can be [None, device,
252488                     label, uuid, partlabel, partuuid]. If None, the value for
252489                     fs_spect will be the parameter name, in other  case  will
252490                     search  the  correct  value based on the device name. For
252491                     example, for uuid, the value for fs_spec will be of  type
252492                     'UUID=xxx' instead of the device name set in name.
252493
252494              config Place where the fstab file lives. Default is /etc/fstab
252495
252496              mount  Set  if  the mount should be mounted immediately. Default
252497                     is True
252498
252499              match_on
252500                     A name or list of fstab properties on  which  this  state
252501                     should  be  applied.   Default  is  auto, a special value
252502                     indicating to guess based on fstype.   In  general,  auto
252503                     matches on name for recognized special devices and device
252504                     otherwise.
252505
252506              not_change
252507                     By default, if the entry is found in the fstab  file  but
252508                     is  different  from  the expected content (like different
252509                     options), the entry will be  replaced  with  the  correct
252510                     content. If this parameter is set to True and the line is
252511                     found, the original content will be preserved.
252512
252513       salt.states.mount.mod_watch(name, user=None, **kwargs)
252514              The mounted watcher, called to invoke the watch command.
252515
252516              NOTE:
252517                 This state exists to support special handling  of  the  watch
252518                 requisite. It should not be called directly.
252519
252520                 Parameters for this function should be set by the state being
252521                 triggered.
252522
252523              name   The name of the mount point
252524
252525       salt.states.mount.mounted(name,    device,     fstype,     mkmnt=False,
252526       opts=u'defaults',   dump=0,   pass_num=0,   config=u'/etc/fstab',  per‐
252527       sist=True,       mount=True,        user=None,        match_on=u'auto',
252528       device_name_regex=None,             extra_mount_invisible_options=None,
252529       extra_mount_invisible_keys=None,       extra_mount_ignore_fs_keys=None,
252530       extra_mount_translate_options=None, hidden_opts=None, **kwargs)
252531              Verify that a device is mounted
252532
252533              name   The  path  to  the  location  where  the  device is to be
252534                     mounted
252535
252536              device The device name,  typically  the  device  node,  such  as
252537                     /dev/sdb1 or UUID=066e0200-2867-4ebe-b9e6-f30026ca2314 or
252538                     LABEL=DATA
252539
252540              fstype The filesystem type, this will be xfs,  ext2/3/4  in  the
252541                     case  of  classic  filesystems,  fuse in the case of fuse
252542                     mounts, and nfs in the case of nfs mounts
252543
252544              mkmnt  If the mount point is not present  then  the  state  will
252545                     fail,  set mkmnt: True to create the mount point if it is
252546                     otherwise not present
252547
252548              opts   A list object of options or a comma delimited list
252549
252550              dump   The dump value to be passed into the fstab, Default is 0
252551
252552              pass_num
252553                     The pass value to be passed into the fstab, Default is 0
252554
252555              config Set an alternative location for  the  fstab,  Default  is
252556                     /etc/fstab
252557
252558              persist
252559                     Set if the mount should be saved in the fstab, Default is
252560                     True
252561
252562              mount  Set if the mount should be mounted  immediately,  Default
252563                     is True
252564
252565              user   The  account  used to execute the mount; this defaults to
252566                     the user salt is running as on the minion
252567
252568              match_on
252569                     A name or list of fstab properties on  which  this  state
252570                     should  be  applied.   Default  is  auto, a special value
252571                     indicating to guess based on fstype.   In  general,  auto
252572                     matches on name for recognized special devices and device
252573                     otherwise.
252574
252575              device_name_regex
252576                     A list of device exact names or regular expressions which
252577                     should not force a remount. For example, glusterfs may be
252578                     mounted with a comma-separated list of servers in  fstab,
252579                     but  the  /proc/self/mountinfo  will  show only the first
252580                     available server.
252581
252582                        {% set glusterfs_ip_list = ['10.0.0.1', '10.0.0.2', '10.0.0.3'] %}
252583
252584                        mount glusterfs volume:
252585                          mount.mounted:
252586                            - name: /mnt/glusterfs_mount_point
252587                            - device: {{ glusterfs_ip_list|join(',') }}:/volume_name
252588                            - fstype: glusterfs
252589                            - opts: _netdev,rw,defaults,direct-io-mode=disable
252590                            - mkmnt: True
252591                            - persist: True
252592                            - dump: 0
252593                            - pass_num: 0
252594                            - device_name_regex:
252595                              - ({{ glusterfs_ip_list|join('|') }}):/volume_name
252596
252597                     New in version 2016.11.0.
252598
252599
252600              extra_mount_invisible_options
252601                     A list of extra options that are not visible through  the
252602                     /proc/self/mountinfo interface.
252603
252604                     If a option is not visible through this interface it will
252605                     always  remount  the  device.  This  option  extends  the
252606                     builtin mount_invisible_options list.
252607
252608              extra_mount_invisible_keys
252609                     A  list of extra key options that are not visible through
252610                     the /proc/self/mountinfo interface.
252611
252612                     If a key option is not visible through this interface  it
252613                     will  always  remount the device. This option extends the
252614                     builtin mount_invisible_keys list.
252615
252616                     A good example for a key option is the password option:
252617
252618                        password=badsecret
252619
252620              extra_mount_ignore_fs_keys
252621                     A dict of filesystem options which  should  not  force  a
252622                     remount.  This  will  update the internal dictionary. The
252623                     dict should look like this:
252624
252625                        {
252626                            'ramfs': ['size']
252627                        }
252628
252629              extra_mount_translate_options
252630                     A  dict  of  mount  options  that  gets  translated  when
252631                     mounted.  To  prevent a remount add additional options to
252632                     the default dictionary. This  will  update  the  internal
252633                     dictionary. The dictionary should look like this:
252634
252635                        {
252636                            'tcp': 'proto=tcp',
252637                            'udp': 'proto=udp'
252638                        }
252639
252640              hidden_opts
252641                     A list of mount options that will be ignored when consid‐
252642                     ering a remount as part of the state application
252643
252644                     New in version 2015.8.2.
252645
252646
252647       salt.states.mount.swap(name, persist=True, config=u'/etc/fstab')
252648              Activates a swap device
252649
252650                 /root/swapfile:
252651                   mount.swap
252652
252653              NOTE:
252654                 swap does not currently support LABEL
252655
252656       salt.states.mount.unmounted(name,  device=None,   config=u'/etc/fstab',
252657       persist=False, user=None, **kwargs)
252658              New in version 0.17.0.
252659
252660
252661              Verify that a device is not mounted
252662
252663              name   The  path  to  the  location  where  the  device is to be
252664                     unmounted from
252665
252666              device The device to be unmounted.  This is optional because the
252667                     device could be mounted in multiple places.
252668
252669                     New in version 2015.5.0.
252670
252671
252672              config Set  an  alternative  location  for the fstab, Default is
252673                     /etc/fstab
252674
252675              persist
252676                     Set if the mount should be purged from the fstab, Default
252677                     is False
252678
252679              user   The user to own the mount; this defaults to the user salt
252680                     is running as on the minion
252681
252682   salt.states.msteams module
252683   Send a message card to Microsoft Teams
252684       This state is useful for sending messages to Teams during state runs.
252685
252686       New in version 2017.7.0.
252687
252688
252689          teams-message:
252690            msteams.post_card:
252691              - message: 'This state was executed successfully.'
252692              - hook_url:  https://outlook.office.com/webhook/837
252693
252694       The hook_url can be specified in the  master  or  minion  configuration
252695       like below:
252696
252697          msteams:
252698            hook_url: https://outlook.office.com/webhook/837
252699
252700       salt.states.msteams.post_card(name, message, hook_url=None, title=None,
252701       theme_color=None)
252702              Send a message to a Microsft Teams channel
252703
252704                 send-msteams-message:
252705                   msteams.post_card:
252706                     - message: 'This state was executed successfully.'
252707                     - hook_url: https://outlook.office.com/webhook/837
252708
252709              The following parameters are required:
252710
252711              message
252712                     The message that is to be sent to the MS Teams channel.
252713
252714              The following parameters are optional:
252715
252716              hook_url
252717                     The webhook URL given configured in Teams  interface,  if
252718                     not  specified  in the configuration options of master or
252719                     minion.
252720
252721              title  The title for the card posted to the channel
252722
252723              theme_color
252724                     A hex code for the desired highlight color
252725
252726   salt.states.mysql_database
252727   Management of MySQL databases (schemas)
252728       depends
252729
252730              · MySQLdb Python module
252731
252732       configuration
252733              See salt.modules.mysql for setup instructions.
252734
252735       The mysql_database module is used to create and manage MySQL databases.
252736       Databases can be set as either absent or present.
252737
252738          frank:
252739            mysql_database.present
252740
252741       salt.states.mysql_database.absent(name, **connection_args)
252742              Ensure that the named database is absent
252743
252744              name   The name of the database to remove
252745
252746       salt.states.mysql_database.present(name,    character_set=None,    col‐
252747       late=None, **connection_args)
252748              Ensure that the named database is  present  with  the  specified
252749              properties
252750
252751              name   The name of the database to manage
252752
252753   salt.states.mysql_grants
252754   Management of MySQL grants (user permissions)
252755       depends
252756
252757              · MySQLdb Python module
252758
252759       configuration
252760              See salt.modules.mysql for setup instructions.
252761
252762       The mysql_grants module is used to grant and revoke MySQL permissions.
252763
252764       The  name  you pass in purely symbolic and does not have anything to do
252765       with the grant itself.
252766
252767       The database parameter needs to specify  a  'priv_level'  in  the  same
252768       specification as defined in the MySQL documentation:
252769
252770       · *
252771
252772       · *.*
252773
252774       · db_name.*
252775
252776       · db_name.tbl_name
252777
252778       · etc...
252779
252780       This  state  is  not  able  to set password for the permission from the
252781       specified host. See salt.states.mysql_user for further instructions.
252782
252783          frank_exampledb:
252784             mysql_grants.present:
252785              - grant: select,insert,update
252786              - database: exampledb.*
252787              - user: frank
252788              - host: localhost
252789
252790          frank_otherdb:
252791            mysql_grants.present:
252792              - grant: all privileges
252793              - database: otherdb.*
252794              - user: frank
252795
252796          restricted_singletable:
252797            mysql_grants.present:
252798              - grant: select
252799              - database: somedb.sometable
252800              - user: joe
252801
252802       salt.states.mysql_grants.absent(name,    grant=None,     database=None,
252803       user=None,  host=u'localhost',  grant_option=False, escape=True, **con‐
252804       nection_args)
252805              Ensure that the grant is absent
252806
252807              name   The name (key) of the grant to add
252808
252809              grant  The grant priv_type  (i.e.  select,insert,update  OR  all
252810                     privileges)
252811
252812              database
252813                     The database priv_level (i.e. db.tbl OR db.*)
252814
252815              user   The user to apply the grant to
252816
252817              host   The network/host that the grant should apply to
252818
252819       salt.states.mysql_grants.present(name,    grant=None,    database=None,
252820       user=None,    host=u'localhost',    grant_option=False,    escape=True,
252821       revoke_first=False, ssl_option=False, **connection_args)
252822              Ensure that the grant is present with the specified properties
252823
252824              name   The name (key) of the grant to add
252825
252826              grant  The  grant  priv_type  (i.e.  select,insert,update OR all
252827                     privileges)
252828
252829              database
252830                     The database priv_level (i.e. db.tbl OR db.*)
252831
252832              user   The user to apply the grant to
252833
252834              host   The network/host that the grant should apply to
252835
252836              grant_option
252837                     Adds the WITH GRANT OPTION to the defined grant.  Default
252838                     is False
252839
252840              escape Defines  if  the  database  value  gets  escaped  or not.
252841                     Default is True
252842
252843              revoke_first
252844                     By default, MySQL will not do anything  if  you  issue  a
252845                     command  to  grant  privileges  that are more restrictive
252846                     than what's already in place. This effectively means that
252847                     you  cannot  downgrade permissions without first revoking
252848                     permissions applied to a db.table/user pair first.
252849
252850                     To have Salt forcibly revoke perms before applying a  new
252851                     grant, enable the 'revoke_first options.
252852
252853                     WARNING:  This  will  remove  permissions  for a database
252854                     before attempting to apply new permissions. There  is  no
252855                     guarantee  that new permissions will be applied correctly
252856                     which can leave your database security in an unknown  and
252857                     potentially dangerous state.  Use with caution!
252858
252859                     Default is False
252860
252861              ssl_option
252862                     Adds the specified ssl options for the connecting user as
252863                     requirements for this grant. Value  is  a  list  of  sin‐
252864                     gle-element  dicts  corresponding  to  the  list  of  ssl
252865                     options to use.
252866
252867                     Possible key/value pairings for the dicts in the value:
252868
252869                        - SSL: True
252870                        - X509: True
252871                        - SUBJECT: <subject>
252872                        - ISSUER: <issuer>
252873                        - CIPHER: <cipher>
252874
252875                     The non-boolean ssl options take a string as  their  val‐
252876                     ues, which should be an appropriate value as specified by
252877                     the MySQL documentation for these options.
252878
252879                     Default is False (no ssl options will be used)
252880
252881   salt.states.mysql_query
252882   Execution of MySQL queries
252883       New in version 2014.7.0.
252884
252885
252886       depends
252887
252888              · MySQLdb Python module
252889
252890       configuration
252891              See salt.modules.mysql for setup instructions.
252892
252893       The mysql_query module is used to execute queries on  MySQL  databases.
252894       Its output may be stored in a file or in a grain.
252895
252896          query_id:
252897            mysql_query.run
252898              - database: my_database
252899              - query:    "SELECT * FROM table;"
252900              - output:   "/tmp/query_id.txt"
252901
252902       salt.states.mysql_query.run(name,    database,    query,   output=None,
252903       grain=None, key=None, overwrite=True,  check_db_exists=True,  **connec‐
252904       tion_args)
252905              Execute an arbitrary query on the specified database
252906
252907              name   Used only as an ID
252908
252909              database
252910                     The name of the database to execute the query on
252911
252912              query  The query to execute
252913
252914              output grain: output in a grain other: the file to store results
252915                     None:  output to the result comment (default)
252916
252917              grain: grain to store the output (need output=grain)
252918
252919              key:   the specified grain will be treated as a dictionary,  the
252920                     result  of  this state will be stored under the specified
252921                     key.
252922
252923              overwrite:
252924                     The file or grain  will  be  overwritten  if  it  already
252925                     exists (default)
252926
252927              check_db_exists:
252928                     The  state  run  will  check  that the specified database
252929                     exists (default=True) before running any queries
252930
252931       salt.states.mysql_query.run_file(name, database, query_file=None,  out‐
252932       put=None,    grain=None,    key=None,   overwrite=True,   saltenv=None,
252933       check_db_exists=True, **connection_args)
252934              Execute an arbitrary query on the specified database
252935
252936              New in version 2017.7.0.
252937
252938
252939              name   Used only as an ID
252940
252941              database
252942                     The name of the database to execute the query_file on
252943
252944              query_file
252945                     The file of mysql commands to run
252946
252947              output grain: output in a grain other: the file to store results
252948                     None:  output to the result comment (default)
252949
252950              grain: grain to store the output (need output=grain)
252951
252952              key:   the  specified grain will be treated as a dictionary, the
252953                     result of this state will be stored under  the  specified
252954                     key.
252955
252956              overwrite:
252957                     The  file  or  grain  will  be  overwritten if it already
252958                     exists (default)
252959
252960              saltenv:
252961                     The saltenv to pull the query_file from
252962
252963              check_db_exists:
252964                     The state run will  check  that  the  specified  database
252965                     exists (default=True) before running any queries
252966
252967   salt.states.mysql_user
252968   Management of MySQL users
252969       depends
252970
252971              · MySQLdb Python module
252972
252973       configuration
252974              See salt.modules.mysql for setup instructions.
252975
252976          frank:
252977            mysql_user.present:
252978              - host: localhost
252979              - password: bobcat
252980
252981       New in version 0.16.2: Authentication overrides have been added.
252982
252983
252984       The  MySQL  authentication  information  specified in the minion config
252985       file can be overridden in states using the following arguments: connec‐
252986       tion_host,  connection_port,  connection_user, connection_pass, connec‐
252987       tion_db, connection_unix_socket,  connection_default_file  and  connec‐
252988       tion_charset.
252989
252990          frank:
252991            mysql_user.present:
252992              - host: localhost
252993              - password: "bob@cat"
252994              - connection_user: someuser
252995              - connection_pass: somepass
252996              - connection_charset: utf8
252997              - saltenv:
252998                - LC_ALL: "en_US.utf8"
252999
253000       This  state  is  not  able  to  grant  permissions  for  the  user. See
253001       salt.states.mysql_grants for further instructions.
253002
253003       salt.states.mysql_user.absent(name,    host=u'localhost',     **connec‐
253004       tion_args)
253005              Ensure that the named user is absent
253006
253007              name   The name of the user to remove
253008
253009       salt.states.mysql_user.present(name,  host=u'localhost', password=None,
253010       password_hash=None, allow_passwordless=False, unix_socket=False,  pass‐
253011       word_column=None,    auth_plugin=u'mysql_native_password',    **connec‐
253012       tion_args)
253013              Ensure that the named user is present with the specified proper‐
253014              ties. A passwordless user can be configured by omitting password
253015              and password_hash, and setting allow_passwordless to True.
253016
253017              name   The name of the user to manage
253018
253019              host   Host for which this user/password combo applies
253020
253021              password
253022                     The password to use for this user. Will  take  precedence
253023                     over the password_hash option if both are specified.
253024
253025              password_hash
253026                     The  password  in hashed form. Be sure to quote the pass‐
253027                     word because YAML doesn't like the *. A password hash can
253028                     be obtained from the mysql command-line client like so:
253029
253030                        mysql> SELECT PASSWORD('mypass');
253031                        +-------------------------------------------+
253032                        | PASSWORD('mypass')                        |
253033                        +-------------------------------------------+
253034                        | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
253035                        +-------------------------------------------+
253036                        1 row in set (0.00 sec)
253037
253038              allow_passwordless
253039                     If  True,  then password and password_hash can be omitted
253040                     to permit a passwordless login.
253041
253042                     New in version 0.16.2.
253043
253044
253045              unix_socket
253046                     If True and allow_passwordless is True,  the  unix_socket
253047                     auth plugin will be used.
253048
253049   salt.states.netacl
253050   Network ACL
253051       Manage the firewall configuration on the network device managed through
253052       NAPALM.  The firewall configuration is generated by Capirca.
253053
253054       New in version 2017.7.0.
253055
253056
253057       codeauthor
253058              Mircea Ulinic <ping@mirceaulinic.net>
253059
253060       maturity
253061              new
253062
253063       depends
253064              capirca, napalm
253065
253066       platform
253067              unix
253068
253069   Dependencies
253070   Capirca
253071       To install Capirca, execute: pip install capirca.
253072
253073   NAPALM
253074       To be able to load configuration on network devices, it requires NAPALM
253075       library   to   be   installed:    pip  install  napalm.   Please  check
253076       Installation for complete details.
253077
253078       salt.states.netacl.filter(name,    filter_name,    filter_options=None,
253079       terms=None,     prepend=True,     pillar_key=u'acl',    pillarenv=None,
253080       saltenv=None,   merge_pillar=False,    only_lower_merge=False,    revi‐
253081       sion_id=None,  revision_no=None, revision_date=True, revision_date_for‐
253082       mat=u'%Y/%m/%d', test=False, commit=True, debug=False)
253083              Generate and load the configuration of a policy filter.
253084
253085              filter_name
253086                     The name of the policy filter.
253087
253088              filter_options
253089                     Additional  filter  options.  These  options  are   plat‐
253090                     form-specific.  See the complete list of options.
253091
253092              terms  Dictionary of terms for this policy filter.  If not spec‐
253093                     ified or empty, will try to load the  configuration  from
253094                     the pillar, unless merge_pillar is set as False.
253095
253096              prepend: True
253097                     When merge_pillar is set as True, the final list of terms
253098                     generated by merging the  terms  from  terms  with  those
253099                     defined  in  the pillar (if any): new terms are prepended
253100                     at the beginning, while existing ones will  preserve  the
253101                     position.  To  add  the new terms at the end of the list,
253102                     set this argument to False.
253103
253104              pillar_key: acl
253105                     The key in the pillar containing the  default  attributes
253106                     values. Default: acl.
253107
253108              pillarenv
253109                     Query  the  master  to  generate fresh pillar data on the
253110                     fly, specifically from the requested pillar environment.
253111
253112              saltenv
253113                     Included    only    for    compatibility    with     pil‐
253114                     larenv_from_saltenv, and is otherwise ignored.
253115
253116              merge_pillar: False
253117                     Merge terms with the corresponding value from the pillar.
253118                     Default: False.
253119
253120                     NOTE:
253121                        By default this state does not  merge,  to  avoid  any
253122                        unexpected behaviours.
253123
253124                        The merge logic depends on the prepend argument.
253125
253126                        The  terms  specified  through the terms argument have
253127                        higher priority than the pillar.
253128
253129              only_lower_merge: False
253130                     Specify if it should merge only the terms fields.  Other‐
253131                     wise  it  will try to merge also filters fields. Default:
253132                     False.  This option requires merge_pillar,  otherwise  it
253133                     is ignored.
253134
253135              revision_id
253136                     Add a comment in the filter config having the description
253137                     for the changes applied.
253138
253139              revision_no
253140                     The revision count.
253141
253142              revision_date: True
253143                     Boolean flag: display the date when the filter configura‐
253144                     tion was generated. Default: True.
253145
253146              revision_date_format: %Y/%m/%d
253147                     The  date  format to be used when generating the perforce
253148                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
253149
253150              test: False
253151                     Dry run? If set as True, will apply the  config,  discard
253152                     and  return  the changes.  Default: False and will commit
253153                     the changes on the device.
253154
253155              commit: True
253156                     Commit? Default: True.
253157
253158              debug: False
253159                     Debug mode. Will insert a new key under the  output  dic‐
253160                     tionary,  as  loaded_config containing the raw configura‐
253161                     tion loaded on the device.
253162
253163              CLI Example:
253164
253165                 salt 'edge01.flw01' state.sls router.acl test=True
253166
253167              Output Example:
253168
253169                 edge01.flw01:
253170                 ----------
253171                           ID: my-filter
253172                     Function: netacl.filter
253173                       Result: None
253174                      Comment: Testing mode: Configuration discarded.
253175                      Started: 12:24:40.598232
253176                     Duration: 2437.139 ms
253177                      Changes:
253178                               ----------
253179                               diff:
253180                                   ---
253181                                   +++
253182                                   @@ -1228,9 +1228,24 @@
253183                                   !
253184                                   +ipv4 access-list my-filter
253185                                   + 10 remark $Id: my-filter_state $
253186                                   + 20 remark $Revision: 5 $
253187                                   + 30 remark my-other-term
253188                                   + 40 permit tcp any range 5678 5680 any
253189                                   +!
253190                                   +!
253191                               loaded:
253192                                   ! $Id: my-filter_state $
253193                                   ! $Revision: 5 $
253194                                   no ipv6 access-list my-filter
253195                                   ipv6 access-list my-filter
253196                                    remark $Id: my-filter_state $
253197                                    remark $Revision: 5 $
253198                                    remark my-other-term
253199                                    permit tcp any range 5678 5680 any
253200                                   exit
253201
253202                 Summary for edge01.flw01
253203                 ------------
253204                 Succeeded: 1 (unchanged=1, changed=1)
253205                 Failed:    0
253206                 ------------
253207                 Total states run:     1
253208                 Total run time:   2.437 s
253209
253210              Pillar example:
253211
253212                 acl:
253213                   - my-filter:
253214                       options:
253215                         - inet6
253216                       terms:
253217                         - my-term:
253218                             source_port: [1234, 1235]
253219                             protocol:
253220                               - tcp
253221                               - udp
253222                             source_address: 1.2.3.4
253223                             action: reject
253224                         - my-other-term:
253225                             source_port:
253226                               - [5678, 5680]
253227                             protocol: tcp
253228                             action: accept
253229
253230              State SLS Example:
253231
253232                 {%- set filter_name = 'my-filter' -%}
253233                 {%- set my_filter_cfg = salt.netacl.get_filter_pillar(filter_name, pillar_key='firewall') -%}
253234                 my_first_filter_state:
253235                   netacl.filter:
253236                     - filter_name: {{ filter_name }}
253237                     - options: {{ my_filter_cfg['options'] | json }}
253238                     - terms: {{ my_filter_cfg['terms'] | json }}
253239                     - revision_date: false
253240                     - revision_no: 5
253241                     - debug: true
253242
253243              Or:
253244
253245                 my_first_filter_state:
253246                   netacl.filter:
253247                     - filter_name: my-filter
253248                     - merge_pillar: true
253249                     - pillar_key: firewall
253250                     - revision_date: false
253251                     - revision_no: 5
253252                     - debug: true
253253
253254              In the example above, as inet6 has been specified  in  the  fil‐
253255              ter_options,  the  configuration  chunk referring to my-term has
253256              been ignored as it referred to IPv4  only  (from  source_address
253257              field).
253258
253259              NOTE:
253260                 The  first method allows the user to eventually apply complex
253261                 manipulation and / or retrieve the data  from  external  ser‐
253262                 vices before passing the data to the state. The second one is
253263                 more straightforward, for less complex cases when loading the
253264                 data directly from the pillar is sufficient.
253265
253266              NOTE:
253267                 When passing retrieved pillar data into the state file, it is
253268                 strongly recommended to use the  json  serializer  explicitly
253269                 (`` | json``), instead of relying on the default Python seri‐
253270                 alizer.
253271
253272       salt.states.netacl.managed(name,   filters=None,   prepend=True,   pil‐
253273       lar_key=u'acl',   pillarenv=None,   saltenv=None,   merge_pillar=False,
253274       only_lower_merge=False,   revision_id=None,   revision_no=None,   revi‐
253275       sion_date=True,   revision_date_format=u'%Y/%m/%d',   test=False,  com‐
253276       mit=True, debug=False)
253277              Manage the whole firewall configuration.
253278
253279              filters
253280                     Dictionary of filters for this policy.  If not  specified
253281                     or  empty,  will  try  to load the configuration from the
253282                     pillar, unless merge_pillar is set as False.
253283
253284              prepend: True
253285                     When merge_pillar is set as True, the final list of  fil‐
253286                     ters  generated  by merging the filters from filters with
253287                     those defined in the pillar (if  any):  new  filters  are
253288                     prepended at the beginning, while existing ones will pre‐
253289                     serve the position. To add the new filters at the end  of
253290                     the list, set this argument to False.
253291
253292              pillar_key: acl
253293                     The  key  in the pillar containing the default attributes
253294                     values. Default: acl.
253295
253296              pillarenv
253297                     Query the master to generate fresh  pillar  data  on  the
253298                     fly, specifically from the requested pillar environment.
253299
253300              saltenv
253301                     Included     only    for    compatibility    with    pil‐
253302                     larenv_from_saltenv, and is otherwise ignored.
253303
253304              merge_pillar: False
253305                     Merge the filters will the corresponding values from  the
253306                     pillar. Default: False.
253307
253308                     NOTE:
253309                        By  default  this  state  does not merge, to avoid any
253310                        unexpected behaviours.
253311
253312                        The merge logic depends on the prepend argument.
253313
253314                        The filters specified  through  the  filters  argument
253315                        have higher priority than the pillar.
253316
253317              only_lower_merge: False
253318                     Specify  if  it  should  merge only the filters and terms
253319                     fields. Otherwise it will try to merge everything at  the
253320                     policy  level.  Default:  False.   This  option  requires
253321                     merge_pillar, otherwise it is ignored.
253322
253323              test: False
253324                     Dry run? If set as True, will apply the  config,  discard
253325                     and  return  the changes.  Default: False and will commit
253326                     the changes on the device.
253327
253328              revision_id
253329                     Add a comment in the policy config having the description
253330                     for the changes applied.
253331
253332              revision_no
253333                     The revision count.
253334
253335              revision_date: True
253336                     Boolean flag: display the date when the policy configura‐
253337                     tion was generated. Default: True.
253338
253339              revision_date_format: %Y/%m/%d
253340                     The date format to be used when generating  the  perforce
253341                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
253342
253343              commit: True
253344                     Commit? Default: True.
253345
253346              debug: False
253347                     Debug  mode.  Will insert a new key under the output dic‐
253348                     tionary, as loaded_config containing the  raw  configura‐
253349                     tion loaded on the device.
253350
253351              CLI Example:
253352
253353                 salt 'edge01.bjm01' state.sls router.acl test=True
253354
253355              Output Example:
253356
253357                 edge01.bjm01:
253358                 -------------
253359                               ID: netacl_example
253360                         Function: netacl.managed
253361                           Result: None
253362                          Comment: Testing mode: Configuration discarded.
253363                          Started: 12:03:24.807023
253364                         Duration: 5569.453 ms
253365                          Changes:
253366                                   ----------
253367                                   diff:
253368                                       [edit firewall]
253369                                       +    family inet {
253370                                       +        /*
253371                                       +         ** $Id: netacl_example $
253372                                       +         ** $Date: 2017/07/03 $
253373                                       +         ** $Revision: 2 $
253374                                       +         **
253375                                       +         */
253376                                       +        filter my-filter {
253377                                       +            interface-specific;
253378                                       +            term my-term {
253379                                       +                from {
253380                                       +                    source-address {
253381                                       +                        1.2.3.4/32;
253382                                       +                    }
253383                                       +                    protocol [ tcp udp ];
253384                                       +                    source-port [ 1234 1235 ];
253385                                       +                }
253386                                       +                then {
253387                                       +                    reject;
253388                                       +                }
253389                                       +            }
253390                                       +            term my-other-term {
253391                                       +                from {
253392                                       +                    protocol tcp;
253393                                       +                    source-port 5678-5680;
253394                                       +                }
253395                                       +                then accept;
253396                                       +            }
253397                                       +        }
253398                                       +        /*
253399                                       +         ** $Id: netacl_example $
253400                                       +         ** $Date: 2017/07/03 $
253401                                       +         ** $Revision: 2 $
253402                                       +         **
253403                                       +         */
253404                                       +        filter block-icmp {
253405                                       +            interface-specific;
253406                                       +            term first-term {
253407                                       +                from {
253408                                       +                    protocol icmp;
253409                                       +                }
253410                                       +                then {
253411                                       +                    reject;
253412                                       +                }
253413                                       +            }
253414                                       +        }
253415                                       +    }
253416                                   loaded:
253417                                       firewall {
253418                                           family inet {
253419                                               replace:
253420                                               /*
253421                                               ** $Id: netacl_example $
253422                                               ** $Date: 2017/07/03 $
253423                                               ** $Revision: 2 $
253424                                               **
253425                                               */
253426                                               filter my-filter {
253427                                                   interface-specific;
253428                                                   term my-term {
253429                                                       from {
253430                                                           source-address {
253431                                                               1.2.3.4/32;
253432                                                           }
253433                                                           protocol [ tcp udp ];
253434                                                           source-port [ 1234 1235 ];
253435                                                       }
253436                                                       then {
253437                                                           reject;
253438                                                       }
253439                                                   }
253440                                                   term my-other-term {
253441                                                       from {
253442                                                           protocol tcp;
253443                                                           source-port 5678-5680;
253444                                                       }
253445                                                       then accept;
253446                                                   }
253447                                               }
253448                                           }
253449                                       }
253450                                       firewall {
253451                                           family inet {
253452                                               replace:
253453                                               /*
253454                                               ** $Id: netacl_example $
253455                                               ** $Date: 2017/07/03 $
253456                                               ** $Revision: 2 $
253457                                               **
253458                                               */
253459                                               filter block-icmp {
253460                                                   interface-specific;
253461                                                   term first-term {
253462                                                       from {
253463                                                           protocol icmp;
253464                                                       }
253465                                                       then {
253466                                                           reject;
253467                                                       }
253468                                                   }
253469                                               }
253470                                           }
253471                                       }
253472
253473                     Summary for edge01.bjm01
253474                     ------------
253475                     Succeeded: 1 (unchanged=1, changed=1)
253476                     Failed:    0
253477                     ------------
253478                     Total states run:     1
253479                     Total run time:   5.569 s
253480
253481              The policy configuration has been loaded from the pillar, having
253482              the following structure:
253483
253484                 firewall:
253485                   - my-filter:
253486                       terms:
253487                         - my-term:
253488                             source_port: [1234, 1235]
253489                             protocol:
253490                               - tcp
253491                               - udp
253492                             source_address: 1.2.3.4
253493                             action: reject
253494                         - my-other-term:
253495                             source_port:
253496                               - [5678, 5680]
253497                             protocol: tcp
253498                             action: accept
253499                   - block-icmp:
253500                       terms:
253501                         - first-term:
253502                             protocol:
253503                               - icmp
253504                             action: reject
253505
253506              Example SLS file:
253507
253508                 {%- set fw_filters = pillar.get('firewall', {}) -%}
253509                 netacl_example:
253510                   netacl.managed:
253511                     - filters: {{ fw_filters | json }}
253512                     - revision_no: 2
253513                     - debug: true
253514
253515              Or:
253516
253517                 netacl_example:
253518                   netacl.managed:
253519                     - pillar_key: firewall
253520                     - merge_pillar: true
253521                     - revision_no: 2
253522                     - debug: true
253523
253524              NOTE:
253525                 The first method allows the user to eventually apply  complex
253526                 manipulation  and  /  or retrieve the data from external ser‐
253527                 vices before passing the data to the state. The second one is
253528                 more straightforward, for less complex cases when loading the
253529                 data directly from the pillar is sufficient.
253530
253531              NOTE:
253532                 When passing retrieved pillar data into the state file, it is
253533                 strongly  recommended  to  use the json serializer explicitly
253534                 (`` | json``), instead of relying on the default Python seri‐
253535                 alizer.
253536
253537       salt.states.netacl.term(name,      filter_name,     term_name,     fil‐
253538       ter_options=None,  pillar_key=u'acl',   pillarenv=None,   saltenv=None,
253539       merge_pillar=False,     revision_id=None,    revision_no=None,    revi‐
253540       sion_date=True,  revision_date_format=u'%Y/%m/%d',   test=False,   com‐
253541       mit=True,  debug=False,  source_service=None, destination_service=None,
253542       **term_fields)
253543              Manage the configuration of a specific policy term.
253544
253545              filter_name
253546                     The name of the policy filter.
253547
253548              term_name
253549                     The name of the term.
253550
253551              filter_options
253552                     Additional  filter  options.  These  options  are   plat‐
253553                     form-specific.  See the complete list of options.
253554
253555              pillar_key: acl
253556                     The  key  in the pillar containing the default attributes
253557                     values. Default: acl.
253558
253559              pillarenv
253560                     Query the master to generate fresh  pillar  data  on  the
253561                     fly, specifically from the requested pillar environment.
253562
253563              saltenv
253564                     Included     only    for    compatibility    with    pil‐
253565                     larenv_from_saltenv, and is otherwise ignored.
253566
253567              merge_pillar: False
253568                     Merge the CLI variables with the pillar. Default: False.
253569
253570                     The properties specified through the state arguments have
253571                     higher priority than the pillar.
253572
253573              revision_id
253574                     Add  a  comment in the term config having the description
253575                     for the changes applied.
253576
253577              revision_no
253578                     The revision count.
253579
253580              revision_date: True
253581                     Boolean flag: display the date when the  term  configura‐
253582                     tion was generated. Default: True.
253583
253584              revision_date_format: %Y/%m/%d
253585                     The  date  format to be used when generating the perforce
253586                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
253587
253588              test: False
253589                     Dry run? If set as True, will apply the  config,  discard
253590                     and  return  the changes.  Default: False and will commit
253591                     the changes on the device.
253592
253593              commit: True
253594                     Commit? Default: True.
253595
253596              debug: False
253597                     Debug mode. Will insert a new key under the  output  dic‐
253598                     tionary,  as  loaded_config containing the raw configura‐
253599                     tion loaded on the device.
253600
253601              source_service
253602                     A special service to choose from. This is a helper so the
253603                     user  is  able  to  select  a source just using the name,
253604                     instead of specifying a source_port and protocol.
253605
253606                     As this module is available on Unix  platforms  only,  it
253607                     reads the IANA port assignment from /etc/services.
253608
253609                     If  the  user  requires additional shortcuts to be refer‐
253610                     enced, they can add entries  under  /etc/services,  which
253611                     can be managed using the file state.
253612
253613              destination_service
253614                     A special service to choose from. This is a helper so the
253615                     user is able to select a  source  just  using  the  name,
253616                     instead  of  specifying  a destination_port and protocol.
253617                     Allows the same options as source_service.
253618
253619              term_fields
253620                     Term attributes. To see what fields are supported, please
253621                     consult  the  list  of supported keywords. Some platforms
253622                     have few other optional keywords.
253623
253624              NOTE:
253625                 The following fields are accepted:
253626
253627                 · action
253628
253629                 · address
253630
253631                 · address_exclude
253632
253633                 · comment
253634
253635                 · counter
253636
253637                 · expiration
253638
253639                 · destination_address
253640
253641                 · destination_address_exclude
253642
253643                 · destination_port
253644
253645                 · destination_prefix
253646
253647                 · forwarding_class
253648
253649                 · forwarding_class_except
253650
253651                 · logging
253652
253653                 · log_name
253654
253655                 · loss_priority
253656
253657                 · option
253658
253659                 · policer
253660
253661                 · port
253662
253663                 · precedence
253664
253665                 · principals
253666
253667                 · protocol
253668
253669                 · protocol_except
253670
253671                 · qos
253672
253673                 · pan_application
253674
253675                 · routing_instance
253676
253677                 · source_address
253678
253679                 · source_address_exclude
253680
253681                 · source_port
253682
253683                 · source_prefix
253684
253685                 · verbatim
253686
253687                 · packet_length
253688
253689                 · fragment_offset
253690
253691                 · hop_limit
253692
253693                 · icmp_type
253694
253695                 · ether_type
253696
253697                 · traffic_class_count
253698
253699                 · traffic_type
253700
253701                 · translated
253702
253703                 · dscp_set
253704
253705                 · dscp_match
253706
253707                 · dscp_except
253708
253709                 · next_ip
253710
253711                 · flexible_match_range
253712
253713                 · source_prefix_except
253714
253715                 · destination_prefix_except
253716
253717                 · vpn
253718
253719                 · source_tag
253720
253721                 · destination_tag
253722
253723                 · source_interface
253724
253725                 · destination_interface
253726
253727                 · flattened
253728
253729                 · flattened_addr
253730
253731                 · flattened_saddr
253732
253733                 · flattened_daddr
253734
253735                 · priority
253736
253737              NOTE:
253738                 The following fields can be also a single value and a list of
253739                 values:
253740
253741                 · action
253742
253743                 · address
253744
253745                 · address_exclude
253746
253747                 · comment
253748
253749                 · destination_address
253750
253751                 · destination_address_exclude
253752
253753                 · destination_port
253754
253755                 · destination_prefix
253756
253757                 · forwarding_class
253758
253759                 · forwarding_class_except
253760
253761                 · logging
253762
253763                 · option
253764
253765                 · port
253766
253767                 · precedence
253768
253769                 · principals
253770
253771                 · protocol
253772
253773                 · protocol_except
253774
253775                 · pan_application
253776
253777                 · source_address
253778
253779                 · source_address_exclude
253780
253781                 · source_port
253782
253783                 · source_prefix
253784
253785                 · verbatim
253786
253787                 · icmp_type
253788
253789                 · ether_type
253790
253791                 · traffic_type
253792
253793                 · dscp_match
253794
253795                 · dscp_except
253796
253797                 · flexible_match_range
253798
253799                 · source_prefix_except
253800
253801                 · destination_prefix_except
253802
253803                 · source_tag
253804
253805                 · destination_tag
253806
253807                 · source_service
253808
253809                 · destination_service
253810
253811                 Example: destination_address can be either defined as:
253812
253813                     destination_address: 172.17.17.1/24
253814
253815                 or as a list of destination IP addresses:
253816
253817                     destination_address:
253818                         - 172.17.17.1/24
253819                         - 172.17.19.1/24
253820
253821                 or a list of services to be matched:
253822
253823                     source_service:
253824                         - ntp
253825                         - snmp
253826                         - ldap
253827                         - bgpd
253828
253829              NOTE:
253830                 The  port fields source_port and destination_port can be used
253831                 as above to select either a single value, either  a  list  of
253832                 values, but also they can select port ranges. Example:
253833
253834                     source_port:
253835                         - [1000, 2000]
253836                         - [3000, 4000]
253837
253838                 With  the configuration above, the user is able to select the
253839                 1000-2000 and 3000-4000 source port ranges.
253840
253841              CLI Example:
253842
253843                 salt 'edge01.bjm01' state.sls router.acl
253844
253845              Output Example:
253846
253847                 edge01.bjm01:
253848                 ----------
253849                           ID: update_icmp_first_term
253850                     Function: netacl.term
253851                       Result: None
253852                      Comment: Testing mode: Configuration discarded.
253853                      Started: 12:49:09.174179
253854                     Duration: 5751.882 ms
253855                      Changes:
253856                               ----------
253857                               diff:
253858                                   [edit firewall]
253859                                   +    family inet {
253860                                   +        /*
253861                                   +         ** $Id: update_icmp_first_term $
253862                                   +         ** $Date: 2017/02/30 $
253863                                   +         **
253864                                   +         */
253865                                   +        filter block-icmp {
253866                                   +            term first-term {
253867                                   +                from {
253868                                   +                    protocol icmp;
253869                                   +                }
253870                                   +                then {
253871                                   +                    reject;
253872                                   +                }
253873                                   +            }
253874                                   +        }
253875                                   +    }
253876
253877                 Summary for edge01.bjm01
253878                 ------------
253879                 Succeeded: 1 (unchanged=1, changed=1)
253880                 Failed:    0
253881                 ------------
253882                 Total states run:     1
253883                 Total run time:   5.752 s
253884
253885              Pillar example:
253886
253887                 firewall:
253888                   - block-icmp:
253889                       terms:
253890                         - first-term:
253891                             protocol:
253892                               - icmp
253893                             action: reject
253894
253895              State SLS example:
253896
253897                 {%- set filter_name = 'block-icmp' -%}
253898                 {%- set term_name = 'first-term' -%}
253899                 {%- set my_term_cfg = salt.netacl.get_term_pillar(filter_name, term_name) -%}
253900
253901                 update_icmp_first_term:
253902                   netacl.term:
253903                     - filter_name: {{ filter_name }}
253904                     - filter_options:
253905                         - not-interface-specific
253906                     - term_name: {{ term_name }}
253907                     - {{ my_term_cfg | json }}
253908
253909              Or directly referencing the pillar keys:
253910
253911                 update_icmp_first_term:
253912                   netacl.term:
253913                     - filter_name: block-icmp
253914                     - filter_options:
253915                         - not-interface-specific
253916                     - term_name: first-term
253917                     - merge_pillar: true
253918
253919              NOTE:
253920                 The first method allows the user to eventually apply  complex
253921                 manipulation  and  /  or retrieve the data from external ser‐
253922                 vices before passing the data to the state. The second one is
253923                 more straightforward, for less complex cases when loading the
253924                 data directly from the pillar is sufficient.
253925
253926              NOTE:
253927                 When passing retrieved pillar data into the state file, it is
253928                 strongly  recommended  to  use the json serializer explicitly
253929                 (`` | json``), instead of relying on the default Python seri‐
253930                 alizer.
253931
253932   salt.states.netconfig
253933   Network Config
253934       Manage  the  configuration  on a network device given a specific static
253935       config or template.
253936
253937       codeauthor
253938              Mircea  Ulinic  <ping@mirceaulinic.net>  &  Jerome   Fleury   <‐
253939              jf@cloudflare.com>
253940
253941       maturity
253942              new
253943
253944       depends
253945              napalm
253946
253947       platform
253948              unix
253949
253950   Dependencies
253951       · NAPALM proxy minion
253952
253953       · Network-related basic features execution module
253954
253955       New in version 2017.7.0.
253956
253957
253958       salt.states.netconfig.commit_cancelled(name)
253959              New in version 2019.2.0.
253960
253961
253962              Cancel  a  commit scheduled to be executed via the commit_in and
253963              commit_at arguments from the net.load_template or  net.load_con‐
253964              fig  execution  functions.  The  commit ID is displayed when the
253965              commit is scheduled via the functions named above.
253966
253967              State SLS Example:
253968
253969                 '20180726083540640360':
253970                   netconfig.commit_cancelled
253971
253972       salt.states.netconfig.commit_confirmed(name)
253973              New in version 2019.2.0.
253974
253975
253976              Confirm a commit scheduled to be reverted via the revert_in  and
253977              revert_at  arguments from the net.load_template or net.load_con‐
253978              fig execution functions. The commit ID  is  displayed  when  the
253979              commit confirmed is scheduled via the functions named above.
253980
253981              State SLS Example:
253982
253983                 '20180726083540640360':
253984                   netconfig.commit_confirmed
253985
253986       salt.states.netconfig.managed(name,       template_name=None,      tem‐
253987       plate_source=None,     template_hash=None,     template_hash_name=None,
253988       saltenv=u'base',   template_engine=u'jinja',   skip_verify=False,  con‐
253989       text=None,   defaults=None,   test=False,   commit=True,   debug=False,
253990       replace=False,    commit_in=None,    commit_at=None,    revert_in=None,
253991       revert_at=None, **template_vars)
253992              Manages the configuration on network devices.
253993
253994              By default this state will commit the changes on the device.  If
253995              there  are no changes required, it does not commit and the field
253996              already_configured from the output dictionary  will  be  set  as
253997              True to notify that.
253998
253999              To  avoid committing the configuration, set the argument test to
254000              True (or via the CLI argument test=True) and will  discard  (dry
254001              run).
254002
254003              To  preserve  the  changes,  set  commit to False (either as CLI
254004              argument, either as state parameter).  However, this  is  recom‐
254005              mended  to  be  used  only  in  exceptional cases when there are
254006              applied few consecutive  states  and/or  configuration  changes.
254007              Otherwise the user might forget that the config DB is locked and
254008              the candidate config buffer is not cleared/merged in the running
254009              config.
254010
254011              To  replace the config, set replace to True. This option is rec‐
254012              ommended to be used with caution!
254013
254014              template_name
254015                     Identifies path to the template source. The template  can
254016                     be  either  stored on the local machine, either remotely.
254017                     The recommended location is under the file_roots as spec‐
254018                     ified in the master config file.  For example, let's sup‐
254019                     pose the file_roots is configured as:
254020
254021                        file_roots:
254022                          base:
254023                             - /etc/salt/states
254024
254025                     Placing   the   template   under    /etc/salt/states/tem‐
254026                     plates/example.jinja,  it  can  be  used  as  salt://tem‐
254027                     plates/example.jinja.  Alternatively,  for  local  files,
254028                     the user can specify the absolute path.  If remotely, the
254029                     source can be retrieved via http, https or ftp.
254030
254031                     Examples:
254032
254033                     · salt://my_template.jinja
254034
254035                     · /absolute/path/to/my_template.jinja
254036
254037                     · http://example.com/template.cheetah
254038
254039                     · https:/example.com/template.mako
254040
254041                     · ftp://example.com/template.py
254042
254043                     Changed in version 2019.2.0: This argument can  now  sup‐
254044                     port  a  list of templates to be rendered.  The resulting
254045                     configuration text is loaded at once, as a single config‐
254046                     uration chunk.
254047
254048
254049              template_source: None
254050                     Inline  config  template to be rendered and loaded on the
254051                     device.
254052
254053              template_hash: None
254054                     Hash of the template  file.  Format:  {hash_type:  'md5',
254055                     'hsum': <md5sum>}
254056
254057              template_hash_name: None
254058                     When  template_hash  refers to a remote file, this speci‐
254059                     fies the filename to look for in that file.
254060
254061              saltenv: base
254062                     Specifies the template environment. This  will  influence
254063                     the relative imports inside the templates.
254064
254065              template_engine: jinja
254066                     The following templates engines are supported:
254067
254068                     · cheetah
254069
254070                     · genshi
254071
254072                     · jinja
254073
254074                     · mako
254075
254076                     · py
254077
254078                     · wempy
254079
254080              skip_verify: False
254081                     If   True,  hash  verification  of  remote  file  sources
254082                     (http://, https://, ftp://)  will  be  skipped,  and  the
254083                     source_hash argument will be ignored.
254084
254085                     Changed in version 2017.7.1.
254086
254087
254088              test: False
254089                     Dry  run?  If set to True, will apply the config, discard
254090                     and return the changes. Default: False (will  commit  the
254091                     changes on the device).
254092
254093              commit: True
254094                     Commit? Default: True.
254095
254096              debug: False
254097                     Debug  mode.  Will insert a new key under the output dic‐
254098                     tionary, as loaded_config containing the raw result after
254099                     the template was rendered.
254100
254101                     NOTE:
254102                        This  argument  cannot be used directly on the command
254103                        line. Instead, it can be  passed  through  the  pillar
254104                        variable  when  executing  either  of the state.sls or
254105                        state.apply (see below for an example).
254106
254107              commit_in: None
254108                     Commit the changes in a  specific  number  of  minutes  /
254109                     hours.  Example  of accepted formats: 5 (commit in 5 min‐
254110                     utes), 2m (commit in 2 minutes), 1h (commit  the  changes
254111                     in  1 hour)`, 5h30m (commit the changes in 5 hours and 30
254112                     minutes).
254113
254114                     NOTE:
254115                        This feature works on any platforms, as  it  does  not
254116                        rely  on  the native features of the network operating
254117                        system.
254118
254119                     NOTE:
254120                        After the command is executed and the diff is not sat‐
254121                        isfactory,  or  for any other reasons you have to dis‐
254122                        card the commit, you are  able  to  do  so  using  the
254123                        net.cancel_commit execution function, using the commit
254124                        ID returned by this function.
254125
254126                     WARNING:
254127                        Using this feature, Salt will load the exact  configu‐
254128                        ration you expect, however the diff may change in time
254129                        (i.e., if  an  user  applies  a  manual  configuration
254130                        change,  or a different process or command changes the
254131                        configuration in the meanwhile).
254132
254133                     New in version 2019.2.0.
254134
254135
254136              commit_at: None
254137                     Commit  the  changes  at  a  specific  time.  Example  of
254138                     accepted  formats:  1am  (will  commit the changes at the
254139                     next 1AM), 13:20 (will commit at 13:20), 1:20am, etc.
254140
254141                     NOTE:
254142                        This feature works on any platforms, as  it  does  not
254143                        rely  on  the native features of the network operating
254144                        system.
254145
254146                     NOTE:
254147                        After the command is executed and the diff is not sat‐
254148                        isfactory,  or  for any other reasons you have to dis‐
254149                        card the commit, you are  able  to  do  so  using  the
254150                        net.cancel_commit execution function, using the commit
254151                        ID returned by this function.
254152
254153                     WARNING:
254154                        Using this feature, Salt will load the exact  configu‐
254155                        ration you expect, however the diff may change in time
254156                        (i.e., if  an  user  applies  a  manual  configuration
254157                        change,  or a different process or command changes the
254158                        configuration in the meanwhile).
254159
254160                     New in version 2019.2.0.
254161
254162
254163              revert_in: None
254164                     Commit and revert the changes in  a  specific  number  of
254165                     minutes  / hours.  Example of accepted formats: 5 (revert
254166                     in 5 minutes), 2m (revert in 2 minutes), 1h  (revert  the
254167                     changes in 1 hour)`, 5h30m (revert the changes in 5 hours
254168                     and 30 minutes).
254169
254170                     NOTE:
254171                        To confirm  the  commit,  and  prevent  reverting  the
254172                        changes, you will have to execute the net.confirm_com‐
254173                        mit function, using the commit  ID  returned  by  this
254174                        function.
254175
254176                     WARNING:
254177                        This works on any platform, regardless if they have or
254178                        don't have native capabilities to confirming a commit.
254179                        However,  please be very cautious when using this fea‐
254180                        ture: on Junos (as it is the only NAPALM core platform
254181                        supporting  this  natively)  it executes a commit con‐
254182                        firmed as you would do from the command line.  All the
254183                        other  platforms  don't have this capability natively,
254184                        therefore the revert is done  via  Salt.  That  means,
254185                        your  device  needs to be reachable at the moment when
254186                        Salt will attempt to revert your changes. Be  cautious
254187                        when  pushing configuration changes that would prevent
254188                        you reach the device.
254189
254190                        Similarly, if an user or  a  different  process  apply
254191                        other  configuration changes in the meanwhile (between
254192                        the  moment  you  commit  and  till  the  changes  are
254193                        reverted), these changes would be equally reverted, as
254194                        Salt cannot be aware of them.
254195
254196                     New in version 2019.2.0.
254197
254198
254199              revert_at: None
254200                     Commit and revert the changes at a specific time. Example
254201                     of  accepted  formats:  1am  (will  commit and revert the
254202                     changes at the next 1AM), 13:20 (will commit  and  revert
254203                     at 13:20), 1:20am, etc.
254204
254205                     NOTE:
254206                        To  confirm  the  commit,  and  prevent  reverting the
254207                        changes, you will have to execute the net.confirm_com‐
254208                        mit  function,  using  the  commit ID returned by this
254209                        function.
254210
254211                     WARNING:
254212                        This works on any platform, regardless if they have or
254213                        don't have native capabilities to confirming a commit.
254214                        However, please be very cautious when using this  fea‐
254215                        ture: on Junos (as it is the only NAPALM core platform
254216                        supporting this natively) it executes  a  commit  con‐
254217                        firmed as you would do from the command line.  All the
254218                        other platforms don't have this  capability  natively,
254219                        therefore  the  revert  is  done via Salt. That means,
254220                        your device needs to be reachable at the  moment  when
254221                        Salt  will attempt to revert your changes. Be cautious
254222                        when pushing configuration changes that would  prevent
254223                        you reach the device.
254224
254225                        Similarly,  if  an  user  or a different process apply
254226                        other configuration changes in the meanwhile  (between
254227                        the  moment  you  commit  and  till  the  changes  are
254228                        reverted), these changes would be equally reverted, as
254229                        Salt cannot be aware of them.
254230
254231                     New in version 2019.2.0.
254232
254233
254234              replace: False
254235                     Load  and replace the configuration. Default: False (will
254236                     apply load merge).
254237
254238              context: None
254239                     Overrides default context variables passed  to  the  tem‐
254240                     plate.
254241
254242                     New in version 2019.2.0.
254243
254244
254245              defaults: None
254246                     Default variables/context passed to the template.
254247
254248              template_vars
254249                     Dictionary with the arguments/context to be used when the
254250                     template is rendered.  Do  not  explicitly  specify  this
254251                     argument. This represents any other variable that will be
254252                     sent to the template  rendering  system.  Please  see  an
254253                     example below! In both ntp_peers_example_using_pillar and
254254                     ntp_peers_example, peers is sent as template variable.
254255
254256                     NOTE:
254257                        It is more recommended to  use  the  context  argument
254258                        instead, to avoid any conflicts with other arguments.
254259
254260              SLS Example (e.g.: under salt://router/config.sls) :
254261
254262                 whole_config_example:
254263                     netconfig.managed:
254264                         - template_name: salt://path/to/complete_config.jinja
254265                         - debug: True
254266                         - replace: True
254267                 bgp_config_example:
254268                     netconfig.managed:
254269                         - template_name: /absolute/path/to/bgp_neighbors.mako
254270                         - template_engine: mako
254271                 prefix_lists_example:
254272                     netconfig.managed:
254273                         - template_name: prefix_lists.cheetah
254274                         - debug: True
254275                         - template_engine: cheetah
254276                 ntp_peers_example:
254277                     netconfig.managed:
254278                         - template_name: http://bit.ly/2gKOj20
254279                         - skip_verify: False
254280                         - debug: True
254281                         - peers:
254282                             - 192.168.0.1
254283                             - 192.168.0.1
254284                 ntp_peers_example_using_pillar:
254285                     netconfig.managed:
254286                         - template_name: http://bit.ly/2gKOj20
254287                         - peers: {{ pillar.get('ntp.peers', []) }}
254288
254289              Multi template example:
254290
254291                 hostname_and_ntp:
254292                   netconfig.managed:
254293                     - template_name:
254294                         - https://bit.ly/2OhSgqP
254295                         - https://bit.ly/2M6C4Lx
254296                         - https://bit.ly/2OIWVTs
254297                     - debug: true
254298                     - context:
254299                         hostname: {{ opts.id }}
254300                         servers:
254301                           - 172.17.17.1
254302                           - 172.17.17.2
254303                         peers:
254304                           - 192.168.0.1
254305                           - 192.168.0.2
254306
254307              Usage examples:
254308
254309                 $ sudo salt 'juniper.device' state.sls router.config test=True
254310
254311                 $ sudo salt -N all-routers state.sls router.config pillar="{'debug': True}"
254312
254313              router.config  depends  on  the  location  of  the SLS file (see
254314              above). Running this command, will be executed  all  five  steps
254315              from  above.  These examples above are not meant to be used in a
254316              production environment, their sole purpose is to  provide  usage
254317              examples.
254318
254319              Output example:
254320
254321                 $ sudo salt 'juniper.device' state.sls router.config test=True
254322                 juniper.device:
254323                 ----------
254324                           ID: ntp_peers_example_using_pillar
254325                     Function: netconfig.managed
254326                       Result: None
254327                      Comment: Testing mode: Configuration discarded.
254328                      Started: 12:01:40.744535
254329                     Duration: 8755.788 ms
254330                      Changes:
254331                               ----------
254332                               diff:
254333                                   [edit system ntp]
254334                                        peer 192.168.0.1 { ... }
254335                                   +    peer 172.17.17.1;
254336                                   +    peer 172.17.17.3;
254337
254338                 Summary for juniper.device
254339                 ------------
254340                 Succeeded: 1 (unchanged=1, changed=1)
254341                 Failed:    0
254342                 ------------
254343                 Total states run:     1
254344                 Total run time:   8.756 s
254345
254346              Raw  output  example  (useful when the output is reused in other
254347              states/execution modules):
254348
254349                 $ sudo salt --out=pprint 'juniper.device' state.sls router.config test=True debug=True
254350
254351                 {
254352                     'juniper.device': {
254353                         'netconfig_|-ntp_peers_example_using_pillar_|-ntp_peers_example_using_pillar_|-managed': {
254354                             '__id__': 'ntp_peers_example_using_pillar',
254355                             '__run_num__': 0,
254356                             'already_configured': False,
254357                             'changes': {
254358                                 'diff': '[edit system ntp]   peer 192.168.0.1 { ... }+   peer 172.17.17.1;+   peer 172.17.17.3;'
254359                             },
254360                             'comment': 'Testing mode: Configuration discarded.',
254361                             'duration': 7400.759,
254362                             'loaded_config': 'system {  ntp {  peer 172.17.17.1;  peer 172.17.17.3; } }',
254363                             'name': 'ntp_peers_example_using_pillar',
254364                             'result': None,
254365                             'start_time': '12:09:09.811445'
254366                         }
254367                     }
254368                 }
254369
254370       salt.states.netconfig.replace_pattern(name,  pattern,  repl,   count=0,
254371       flags=8,              bufsize=1,             append_if_not_found=False,
254372       prepend_if_not_found=False, not_found_content=None,  search_only=False,
254373       show_changes=True,      backslash_literal=False,     source=u'running',
254374       path=None, test=False, replace=True, debug=False, commit=True)
254375              New in version 2019.2.0.
254376
254377
254378              Replace occurrences of a pattern in the configuration source. If
254379              show_changes  is  True,  then  a  diff  of  what changed will be
254380              returned, otherwise a True will be  returned  when  changes  are
254381              made, and False when no changes are made.  This is a pure Python
254382              implementation that wraps Python's sub().
254383
254384              pattern
254385                     A  regular  expression,  to  be  matched  using  Python's
254386                     search().
254387
254388              repl   The replacement text.
254389
254390              count: 0
254391                     Maximum  number of pattern occurrences to be replaced. If
254392                     count is a positive integer n, only n occurrences will be
254393                     replaced, otherwise all occurrences will be replaced.
254394
254395              flags (list or int): 8
254396                     A  list  of  flags defined in the re module documentation
254397                     from the Python standard library. Each list  item  should
254398                     be  a  string  that  will correlate to the human-friendly
254399                     flag name. E.g., ['IGNORECASE', 'MULTILINE']. Optionally,
254400                     flags  may  be  an int, with a value corresponding to the
254401                     XOR (|) of all the desired flags. Defaults  to  8  (which
254402                     supports 'MULTILINE').
254403
254404              bufsize (int or str): 1
254405                     How  much  of  the configuration to buffer into memory at
254406                     once. The default value 1 processes one line at  a  time.
254407                     The  special  value file may be specified which will read
254408                     the entire file into memory before processing.
254409
254410              append_if_not_found: False
254411                     If set to True, and pattern is not found, then  the  con‐
254412                     tent will be appended to the file.
254413
254414              prepend_if_not_found: False
254415                     If set to True and pattern is not found, then the content
254416                     will be prepended to the file.
254417
254418              not_found_content
254419                     Content to use for append/prepend if not found.  If  None
254420                     (default), uses repl. Useful when repl uses references to
254421                     group in pattern.
254422
254423              search_only: False
254424                     If set to true, this no changes will be performed on  the
254425                     file,  and  this  function will simply return True if the
254426                     pattern was matched, and False if not.
254427
254428              show_changes: True
254429                     If True, return a diff of changes made. Otherwise, return
254430                     True if changes were made, and False if not.
254431
254432              backslash_literal: False
254433                     Interpret backslashes as literal backslashes for the repl
254434                     and not escape characters.  This  will  help  when  using
254435                     append/prepend  so  that  the  backslashes are not inter‐
254436                     preted for the repl on the second run of the state.
254437
254438              source: running
254439                     The configuration source. Choose  from:  running,  candi‐
254440                     date, or startup. Default: running.
254441
254442              path   Save the temporary configuration to a specific path, then
254443                     read from there.
254444
254445              test: False
254446                     Dry run? If set as True, will apply the  config,  discard
254447                     and  return  the  changes. Default: False and will commit
254448                     the changes on the device.
254449
254450              commit: True
254451                     Commit the configuration changes? Default: True.
254452
254453              debug: False
254454                     Debug mode. Will insert a new key in the  output  dictio‐
254455                     nary,  as  loaded_config containing the raw configuration
254456                     loaded on the device.
254457
254458              replace: True
254459                     Load and replace the configuration. Default: True.
254460
254461              If an equal sign (=) appears in an argument to a Salt command it
254462              is interpreted as a keyword argument in the format key=val. That
254463              processing can be bypassed  in  order  to  pass  an  equal  sign
254464              through  to  the remote shell command by manually specifying the
254465              kwarg:
254466
254467              State SLS Example:
254468
254469                 update_policy_name:
254470                   netconfig.replace_pattern:
254471                     - pattern: OLD-POLICY-NAME
254472                     - repl: new-policy-name
254473                     - debug: true
254474
254475       salt.states.netconfig.saved(name,     source=u'running',     user=None,
254476       group=None,   mode=None,   attrs=None,  makedirs=False,  dir_mode=None,
254477       replace=True, backup=u'', show_changes=True, create=True,  tmp_dir=u'',
254478       tmp_ext=u'',          encoding=None,         encoding_errors=u'strict',
254479       allow_empty=False,        follow_symlinks=True,         check_cmd=None,
254480       win_owner=None,    win_perms=None,   win_deny_perms=None,   win_inheri‐
254481       tance=True, win_perms_reset=False, **kwargs)
254482              New in version 2019.2.0.
254483
254484
254485              Save the configuration to a file on the local file system.
254486
254487              name   Absolute path to file where to  save  the  configuration.
254488                     To  push  the  files to the Master, use cp.push Execution
254489                     function.
254490
254491              source: running
254492                     The configuration source. Choose  from:  running,  candi‐
254493                     date, startup. Default: running.
254494
254495              user   The  user to own the file, this defaults to the user salt
254496                     is running as on the minion
254497
254498              group  The group ownership set for the file,  this  defaults  to
254499                     the  group  salt is running as on the minion. On Windows,
254500                     this is ignored
254501
254502              mode   The permissions to set on this file, e.g. 644,  0775,  or
254503                     4664.   The  default  mode  for new files and directories
254504                     corresponds to the umask of the salt process. The mode of
254505                     existing  files  and  directories will only be changed if
254506                     mode is specified.
254507
254508                     NOTE:
254509                        This option is not supported on Windows.
254510
254511              attrs  The attributes to have on  this  file,  e.g.  a,  i.  The
254512                     attributes  can  be any or a combination of the following
254513                     characters: aAcCdDeijPsStTu.
254514
254515                     NOTE:
254516                        This option is not supported on Windows.
254517
254518              makedirs: False
254519                     If set to True, then the parent directories will be  cre‐
254520                     ated  to  facilitate  the  creation of the named file. If
254521                     False, and the parent directory of the  destination  file
254522                     doesn't exist, the state will fail.
254523
254524              dir_mode
254525                     If  directories  are  to  be created, passing this option
254526                     specifies the permissions for those directories. If  this
254527                     is  not  set, directories will be assigned permissions by
254528                     adding the execute bit to the mode of the files.
254529
254530                     The default mode for new  files  and  directories  corre‐
254531                     sponds  umask  of  salt  process.  For existing files and
254532                     directories it's not enforced.
254533
254534              replace: True
254535                     If set to False and the file  already  exists,  the  file
254536                     will  not  be modified even if changes would otherwise be
254537                     made. Permissions and ownership will still  be  enforced,
254538                     however.
254539
254540              backup Overrides the default backup mode for this specific file.
254541                     See backup_mode documentation for more details.
254542
254543              show_changes: True
254544                     Output a unified diff of the old file and the  new  file.
254545                     If False return a boolean if any changes were made.
254546
254547              create: True
254548                     If  set  to  False, then the file will only be managed if
254549                     the file already exists on the system.
254550
254551              encoding
254552                     If specified, then the specified encoding will  be  used.
254553                     Otherwise,  the  file  will  be  encoded using the system
254554                     locale           (usually           UTF-8).           See
254555                     https://docs.python.org/3/library/codecs.html#standard-encodings
254556                     for the list of available encodings.
254557
254558              encoding_errors: 'strict'
254559                     Error  encoding  scheme.  Default  is  `'strict'`.    See
254560                     https://docs.python.org/2/library/codecs.html#codec-base-classes
254561                     for the list of available schemes.
254562
254563              allow_empty: True
254564                     If set to False, then the state will fail if the contents
254565                     specified   by  contents_pillar  or  contents_grains  are
254566                     empty.
254567
254568              follow_symlinks: True
254569                     If the desired path is  a  symlink  follow  it  and  make
254570                     changes to the file to which the symlink points.
254571
254572              check_cmd
254573                     The  specified command will be run with an appended argu‐
254574                     ment of a temporary file containing the new managed  con‐
254575                     tents.   If  the command exits with a zero status the new
254576                     managed contents will be written to the managed  destina‐
254577                     tion.  If the command exits with a nonzero exit code, the
254578                     state will fail and no changes will be made to the file.
254579
254580              tmp_dir
254581                     Directory for temp file created by check_cmd. Useful  for
254582                     checkers  dependent on config file location (e.g. daemons
254583                     restricted to their own config directories by an apparmor
254584                     profile).
254585
254586              tmp_ext
254587                     Suffix  for  temp  file  created by check_cmd. Useful for
254588                     checkers dependent on config  file  extension  (e.g.  the
254589                     init-checkconf upstart config checker).
254590
254591              win_owner: None
254592                     The  owner  of the directory. If this is not passed, user
254593                     will be used. If user is not passed,  the  account  under
254594                     which Salt is running will be used.
254595
254596              win_perms: None
254597                     A  dictionary  containing  permissions to grant and their
254598                     propagation. For  example:  {'Administrators':  {'perms':
254599                     'full_control'}}  Can be a single basic perm or a list of
254600                     advanced perms. perms must be specified. applies_to  does
254601                     not apply to file objects.
254602
254603              win_deny_perms: None
254604                     A  dictionary  containing  permissions  to deny and their
254605                     propagation. For  example:  {'Administrators':  {'perms':
254606                     'full_control'}}  Can be a single basic perm or a list of
254607                     advanced perms. perms must be specified. applies_to  does
254608                     not apply to file objects.
254609
254610              win_inheritance: True
254611                     True  to  inherit  permissions from the parent directory,
254612                     False not to inherit permission.
254613
254614              win_perms_reset: False
254615                     If True the existing DACL will be  cleared  and  replaced
254616                     with the settings defined in this function. If False, new
254617                     entries will be appended to the existing DACL. Default is
254618                     False.
254619
254620              State SLS Example:
254621
254622                 /var/backups/{{ opts.id }}/{{ salt.status.time('%s') }}.cfg:
254623                   netconfig.saved:
254624                     - source: running
254625                     - makedirs: true
254626
254627              The  state  SLS  above would create a backup config grouping the
254628              files by the Minion ID, in chronological files. For example,  if
254629              the  state  is executed at on the 3rd of August 2018, at 5:15PM,
254630              on the Minion core1.lon01, the configuration would saved in  the
254631              file: /var/backups/core01.lon01/1533316558.cfg
254632
254633   salt.states.netntp
254634   Network NTP
254635       Manage  the  configuration  of  NTP  peers  and  servers on the network
254636       devices through the NAPALM proxy.
254637
254638       codeauthor
254639              Mircea  Ulinic  <ping@mirceaulinic.net>  &  Jerome   Fleury   <‐
254640              jf@cloudflare.com>
254641
254642       maturity
254643              new
254644
254645       depends
254646              napalm
254647
254648       platform
254649              unix
254650
254651   Dependencies
254652       · Requires  netaddr to be installed: pip install netaddr to check if IP
254653         Addresses are correctly specified
254654
254655       · Requires dnspython to be installed: pip install dnspython to  resolve
254656         the  nameserver  entities  (in  case  the user does not configure the
254657         peers/servers using their IP addresses)
254658
254659       · NAPALM proxy minion
254660
254661       · NTP operational and configuration management module
254662
254663       salt.states.netntp.managed(name, peers=None, servers=None)
254664              Manages the configuration  of  NTP  peers  and  servers  on  the
254665              device,  as  specified  in the state SLS file.  NTP entities not
254666              specified in these lists will be  removed  whilst  entities  not
254667              configured on the device will be set.
254668
254669              SLS Example:
254670
254671                 netntp_example:
254672                     netntp.managed:
254673                          - peers:
254674                             - 192.168.0.1
254675                             - 172.17.17.1
254676                          - servers:
254677                             - 24.124.0.251
254678                             - 138.236.128.36
254679
254680              Output example:
254681
254682                 {
254683                     'edge01.nrt04': {
254684                         'netntp_|-netntp_example_|-netntp_example_|-managed': {
254685                             'comment': 'NTP servers already configured as needed.',
254686                             'name': 'netntp_example',
254687                             'start_time': '12:45:24.056659',
254688                             'duration': 2938.857,
254689                             'changes': {
254690                                 'peers': {
254691                                     'removed': [
254692                                         '192.168.0.2',
254693                                         '192.168.0.3'
254694                                     ],
254695                                     'added': [
254696                                         '192.168.0.1',
254697                                         '172.17.17.1'
254698                                     ]
254699                                 }
254700                             },
254701                             'result': None
254702                         }
254703                     }
254704                 }
254705
254706   salt.states.netsnmp
254707   Network SNMP
254708       Manage the SNMP configuration on network devices.
254709
254710       codeauthor
254711              Mircea Ulinic <ping@mirceaulinic.net>
254712
254713       maturity
254714              new
254715
254716       depends
254717              napalm
254718
254719       platform
254720              unix
254721
254722   Dependencies
254723       · napalm snmp management module (salt.modules.napalm_snmp)
254724
254725       salt.states.netsnmp.managed(name, config=None, defaults=None)
254726              Configures the SNMP on the device as specified in the SLS file.
254727
254728              SLS Example:
254729
254730                 snmp_example:
254731                     netsnmp.managed:
254732                          - config:
254733                             location: Honolulu, HI, US
254734                          - defaults:
254735                             contact: noc@cloudflare.com
254736
254737              Output  example  (for  the SLS above, e.g. called snmp.sls under
254738              /router/):
254739
254740                 $ sudo salt edge01.hnl01 state.sls router.snmp test=True
254741                 edge01.hnl01:
254742                 ----------
254743                           ID: snmp_example
254744                     Function: snmp.managed
254745                       Result: None
254746                      Comment: Testing mode: configuration was not changed!
254747                      Started: 13:29:06.872363
254748                     Duration: 920.466 ms
254749                      Changes:
254750                               ----------
254751                               added:
254752                                   ----------
254753                                   chassis_id:
254754                                       None
254755                                   contact:
254756                                       noc@cloudflare.com
254757                                   location:
254758                                       Honolulu, HI, US
254759
254760                 Summary for edge01.hnl01
254761                 ------------
254762                 Succeeded: 1 (unchanged=1, changed=1)
254763                 Failed:    0
254764                 ------------
254765                 Total states run:     1
254766                 Total run time: 920.466 ms
254767
254768   salt.states.netusers
254769   Network Users
254770       Manage the users configuration on network devices via the NAPALM proxy.
254771
254772       codeauthor
254773              Mircea Ulinic <ping@mirceaulinic.net>
254774
254775       maturity
254776              new
254777
254778       depends
254779              napalm
254780
254781       platform
254782              unix
254783
254784   Dependencies
254785       · NAPALM proxy minion
254786
254787       · Users configuration management module
254788
254789       New in version 2016.11.0.
254790
254791
254792       salt.states.netusers.managed(name, users=None, defaults=None)
254793              Manages the configuration of the users on the device, as  speci‐
254794              fied  in the state SLS file. Users not defined in that file will
254795              be remove whilst users not configured on  the  device,  will  be
254796              added.
254797
254798              SLS Example:
254799
254800                 netusers_example:
254801                     netusers.managed:
254802                          - users:
254803                             admin:
254804                                 level: 15
254805                                 password: $1$knmhgPPv$g8745biu4rb.Zf.IT.F/U1
254806                                 sshkeys: []
254807                             restricted:
254808                                 level: 1
254809                                 password: $1$j34j5k4b$4d5SVjTiz1l.Zf.IT.F/K7
254810                             martin:
254811                                 level: 15
254812                                 password: ''
254813                                 sshkeys:
254814                                     - ssh-dss AAAAB3NzaC1kc3MAAACBAK9dP3KariMlM/JmFW9rTSm5cXs4nR0+o6fTHP9o+bOLXMBTP8R4vwWHh0w
254815                                         JPjQmJYafAqZTnlgi0srGjyifFwPtODppDWLCgLe2M4LXnu3OMqknr54w344zPHP3iFwWxHrBrZKtCjO8LhbWCa+
254816                                         X528+i87t6r5e4ersdfxgchvjbknlio87t6r5drcfhgjhbknio8976tycv7t86ftyiu87Oz1nKsKuNzm2csoUQlJ
254817                                         trmRfpjsOPNookmOz5wG0YxhwDmKeo6fWK+ATk1OiP+QT39fn4G77j8o+e4WAwxM570s35Of/vV0zoOccj753sXn
254818                                         pvJenvwpM2H6o3a9ALvehAJKWodAgZT7X8+iu786r5drtycghvjbiu78t+wAAAIBURwSPZVElXe+9a43sF6M4ysT
254819                                         7Xv+6wTsa8q86E3+RYyu8O2ObI2kwNLC3/HTgFniE/YqRG+WJac81/VHWQNP822gns8RVrWKjqBktmQoEm7z5yy0
254820                                         bkjui78675dytcghvjkoi9y7t867ftcuvhbuu9t78gy/v+zvMmv8KvQgHg
254821                             jonathan:
254822                                 level: 15
254823                                 password: ''
254824                                 sshkeys:
254825                                     - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcgxE6HZF/xjFtIt0thEDKPjFJxW9BpZtTVstYbDgGR9zPkHG
254826                                         ZJT/j345jk345jk453jk43545j35nl3kln34n5kl4ghv3/JzWt/0Js5KZp/51KRNCs9O4t07qaoqwpLB15GwLfEX
254827                                         Bx9dW26zc4O+hi6754trxcfghvjbo98765drt/LYIEg0KSQPWyJEK1g31gacbxN7Ab006xeHh7rv7HtXF6zH3WId
254828                                         Uhq9rtdUag6kYnv6qvjG7sbCyHGYu5vZB7GytnNuVNbZuI+RdFvmHSnErV9HCu9xZBq6DBb+sESMS4s7nFcsruMo
254829                                         edb+BAc3aww0naeWpogjSt+We7y2N
254830
254831              CLI Example:
254832                 salt 'edge01.kix01' state.sls router.users
254833
254834              Output example (raw python - can be reused in other modules):
254835
254836                 {
254837                     'netusers_|-netusers_example_|-netusers_example_|-managed': {
254838                         'comment': 'Configuration updated!',
254839                         'name': 'netusers_example',
254840                         'start_time': '10:57:08.678811',
254841                         '__id__': 'netusers_example',
254842                         'duration': 1620.982,
254843                         '__run_num__': 0,
254844                         'changes': {
254845                             'updated': {
254846                                 'admin': {
254847                                     'level': 15
254848                                 },
254849                                 'restricted': {
254850                                     'level': 1
254851                                 },
254852                                 'martin': {
254853                                     'sshkeys': [
254854                                         'ssh-dss AAAAB3NzaC1kc3MAAACBAK9dP3KariMlM/JmFW9rTSm5cXs4nR0+o6fTHP9o+bOLXMBTP8R4vwWHh0w
254855                                         JPjQmJYafAqZTnlgi0srGjyifFwPtODppDWLCgLe2M4LXnu3OMqknr54w344zPHP3iFwWxHrBrZKtCjO8LhbWCa+
254856                                         X528+i87t6r5e4ersdfxgchvjbknlio87t6r5drcfhgjhbknio8976tycv7t86ftyiu87Oz1nKsKuNzm2csoUQlJ
254857                                         trmRfpjsOPNookmOz5wG0YxhwDmKeo6fWK+ATk1OiP+QT39fn4G77j8o+e4WAwxM570s35Of/vV0zoOccj753sXn
254858                                         pvJenvwpM2H6o3a9ALvehAJKWodAgZT7X8+iu786r5drtycghvjbiu78t+wAAAIBURwSPZVElXe+9a43sF6M4ysT
254859                                         7Xv+6wTsa8q86E3+RYyu8O2ObI2kwNLC3/HTgFniE/YqRG+WJac81/VHWQNP822gns8RVrWKjqBktmQoEm7z5yy0
254860                                         bkjui78675dytcghvjkoi9y7t867ftcuvhbuu9t78gy/v+zvMmv8KvQgHg'
254861                                     ]
254862                                 }
254863                             },
254864                             'added': {
254865                                 'jonathan': {
254866                                     'password': '',
254867                                     'sshkeys': [
254868                                         'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcgxE6HZF/xjFtIt0thEDKPjFJxW9BpZtTVstYbDgGR9zPkHG
254869                                         ZJT/j345jk345jk453jk43545j35nl3kln34n5kl4ghv3/JzWt/0Js5KZp/51KRNCs9O4t07qaoqwpLB15GwLfEX
254870                                         Bx9dW26zc4O+hi6754trxcfghvjbo98765drt/LYIEg0KSQPWyJEK1g31gacbxN7Ab006xeHh7rv7HtXF6zH3WId
254871                                         Uhq9rtdUag6kYnv6qvjG7sbCyHGYu5vZB7GytnNuVNbZuI+RdFvmHSnErV9HCu9xZBq6DBb+sESMS4s7nFcsruMo
254872                                         edb+BAc3aww0naeWpogjSt+We7y2N'
254873                                     ],
254874                                     'level': 15
254875                                 }
254876                             },
254877                             'removed': {
254878                             }
254879                         },
254880                         'result': True
254881                     }
254882                 }
254883
254884              CLI Output:
254885
254886                 edge01.kix01:
254887                     ----------
254888                               ID: netusers_example
254889                         Function: netusers.managed
254890                           Result: True
254891                          Comment: Configuration updated!
254892                          Started: 11:03:31.957725
254893                         Duration: 1220.435 ms
254894                          Changes:
254895                                   ----------
254896                                   added:
254897                                       ----------
254898                                       jonathan:
254899                                           ----------
254900                                           level:
254901                                               15
254902                                           password:
254903                                           sshkeys:
254904                                               - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcgxE6HZF/xjFtIt0thEDKPjFJxW9BpZtTVstYbDgG
254905                                               R9zPkHGZJT/j345jk345jk453jk43545j35nl3kln34n5kl4ghv3/JzWt/0Js5KZp/51KRNCs9O4t07qao
254906                                               qwpLB15GwLfEXBx9dW26zc4O+hi6754trxcfghvjbo98765drt/LYIEg0KSQPWyJEK1g31gacbxN7Ab006
254907                                               xeHh7rv7HtXF6zH3WIdUhq9rtdUag6kYnv6qvjG7sbCyHGYu5vZB7GytnNuVNbZuI+RdFvmHSnErV9HCu9
254908                                               xZBq6DBb+sESMS4s7nFcsruMoedb+BAc3aww0naeWpogjSt+We7y2N
254909                                   removed:
254910                                       ----------
254911                                   updated:
254912                                       ----------
254913                                       martin:
254914                                           ----------
254915                                           sshkeys:
254916                                               - ssh-dss AAAAB3NzaC1kc3MAAACBAK9dP3KariMlM/JmFW9rTSm5cXs4nR0+o6fTHP9o+bOLXMBTP8R4
254917                                               vwWHh0wJPjQmJYafAqZTnlgi0srGjyifFwPtODppDWLCgLe2M4LXnu3OMqknr54w344zPHP3iFwWxHrBrZ
254918                                               KtCjO8LhbWCa+X528+i87t6r5e4ersdfxgchvjbknlio87t6r5drcfhgjhbknio8976tycv7t86ftyiu87
254919                                               Oz1nKsKuNzm2csoUQlJtrmRfpjsOPNookmOz5wG0YxhwDmKeo6fWK+ATk1OiP+QT39fn4G77j8o+e4WAwx
254920                                               M570s35Of/vV0zoOccj753sXnpvJenvwpM2H6o3a9ALvehAJKWodAgZT7X8+iu786r5drtycghvjbiu78t
254921                                               +wAAAIBURwSPZVElXe+9a43sF6M4ysT7Xv+6wTsa8q86E3+RYyu8O2ObI2kwNLC3/HTgFniE/YqRG+WJac
254922                                               81/VHWQNP822gns8RVrWKjqBktmQoEm7z5yy0bkjui78675dytcghvjkoi9y7t867ftcuvhbuu9t78gy/v
254923                                               +zvMmv8KvQgHg
254924                                       admin:
254925                                           ----------
254926                                           level:
254927                                               15
254928                                       restricted:
254929                                           ----------
254930                                           level:
254931                                               1
254932                     Summary for edge01.kix01
254933                     ------------
254934                     Succeeded: 1 (changed=1)
254935                     Failed:    0
254936                     ------------
254937                     Total states run:     1
254938                     Total run time:   1.220 s
254939
254940   salt.states.network
254941   Configuration of network interfaces
254942       The  network  module  is  used  to  create and manage network settings,
254943       interfaces can be set as either managed  or  ignored.  By  default  all
254944       interfaces are ignored unless specified.
254945
254946       NOTE:
254947          RedHat-based  systems  (RHEL,  CentOS,  Scientific, etc.)  have been
254948          supported since version 2014.1.0.
254949
254950          Debian-based systems (Debian,  Ubuntu,  etc.)  have  been  supported
254951          since  version  2017.7.0.  The  following options are not supported:
254952          ipaddr_start, and ipaddr_end.
254953
254954          Other platforms are not yet supported.
254955
254956       NOTE:
254957          On Debian-based systems, networking configuration can  be  specified
254958          in  /etc/network/interfaces  or  via  included  files  such  as  (by
254959          default) /etc/network/interfaces.d/*. This can  be  problematic  for
254960          configuration  management. It is recommended to use either file.man‐
254961          aged or network.managed.
254962
254963          If using network.managed, it can be useful to  ensure  interfaces.d/
254964          is empty. This can be done using:
254965
254966              /etc/network/interfaces.d:
254967
254968                     file.directory:
254969
254970                            · clean: True
254971
254972          system:
254973            network.system:
254974              - enabled: True
254975              - hostname: server1.example.com
254976              - gateway: 192.168.0.1
254977              - gatewaydev: eth0
254978              - nozeroconf: True
254979              - nisdomain: example.com
254980              - require_reboot: True
254981
254982          eth0:
254983            network.managed:
254984              - enabled: True
254985              - type: eth
254986              - proto: static
254987              - ipaddr: 10.1.0.7
254988              - netmask: 255.255.255.0
254989              - gateway: 10.1.0.1
254990              - enable_ipv6: true
254991              - ipv6proto: static
254992              - ipv6ipaddrs:
254993                - 2001:db8:dead:beef::3/64
254994                - 2001:db8:dead:beef::7/64
254995              - ipv6gateway: 2001:db8:dead:beef::1
254996              - ipv6netmask: 64
254997              - dns:
254998                - 8.8.8.8
254999                - 8.8.4.4
255000
255001          eth0-range0:
255002            network.managed:
255003              - type: eth
255004              - ipaddr_start: 192.168.1.1
255005              - ipaddr_end: 192.168.1.10
255006              - clonenum_start: 10
255007              - mtu: 9000
255008
255009          bond0-range0:
255010            network.managed:
255011              - type: eth
255012              - ipaddr_start: 192.168.1.1
255013              - ipaddr_end: 192.168.1.10
255014              - clonenum_start: 10
255015              - mtu: 9000
255016
255017          eth1.0-range0:
255018            network.managed:
255019              - type: eth
255020              - ipaddr_start: 192.168.1.1
255021              - ipaddr_end: 192.168.1.10
255022              - clonenum_start: 10
255023              - vlan: True
255024              - mtu: 9000
255025
255026          bond0.1-range0:
255027            network.managed:
255028              - type: eth
255029              - ipaddr_start: 192.168.1.1
255030              - ipaddr_end: 192.168.1.10
255031              - clonenum_start: 10
255032              - vlan: True
255033              - mtu: 9000
255034
255035          .. note::
255036              add support of ranged interfaces (vlan, bond and eth) for redhat system,
255037              Important:type must be eth.
255038
255039          routes:
255040            network.routes:
255041              - name: eth0
255042              - routes:
255043                - name: secure_network
255044                  ipaddr: 10.2.0.0
255045                  netmask: 255.255.255.0
255046                  gateway: 10.1.0.3
255047                - name: HQ_network
255048                  ipaddr: 10.100.0.0
255049                  netmask: 255.255.0.0
255050                  gateway: 10.1.0.10
255051
255052          eth2:
255053            network.managed:
255054              - enabled: True
255055              - type: slave
255056              - master: bond0
255057
255058          eth3:
255059            network.managed:
255060              - enabled: True
255061              - type: slave
255062              - master: bond0
255063
255064          eth4:
255065            network.managed:
255066              - enabled: True
255067              - type: eth
255068              - proto: dhcp
255069              - bridge: br0
255070
255071          eth5:
255072            network.managed:
255073              - enabled: True
255074              - type: eth
255075              - proto: dhcp
255076              - noifupdown: True  # Do not restart the interface
255077                                  # you need to reboot/reconfigure manualy
255078
255079          bond0:
255080            network.managed:
255081              - type: bond
255082              - ipaddr: 10.1.0.1
255083              - netmask: 255.255.255.0
255084              - mode: gre
255085              - proto: static
255086              - dns:
255087                - 8.8.8.8
255088                - 8.8.4.4
255089              - enabled: False
255090              - slaves: eth2 eth3
255091              - require:
255092                - network: eth2
255093                - network: eth3
255094              - miimon: 100
255095              - arp_interval: 250
255096              - downdelay: 200
255097              - lacp_rate: fast
255098              - max_bonds: 1
255099              - updelay: 0
255100              - use_carrier: on
255101              - hashing-algorithm: layer2
255102              - mtu: 9000
255103              - autoneg: on
255104              - speed: 1000
255105              - duplex: full
255106              - rx: on
255107              - tx: off
255108              - sg: on
255109              - tso: off
255110              - ufo: off
255111              - gso: off
255112              - gro: off
255113              - lro: off
255114
255115          bond0.2:
255116            network.managed:
255117              - type: vlan
255118              - ipaddr: 10.1.0.2
255119              - use:
255120                - network: bond0
255121              - require:
255122                - network: bond0
255123
255124          bond0.3:
255125            network.managed:
255126              - type: vlan
255127              - ipaddr: 10.1.0.3
255128              - use:
255129                - network: bond0
255130              - require:
255131                - network: bond0
255132
255133          bond0.10:
255134            network.managed:
255135              - type: vlan
255136              - ipaddr: 10.1.0.4
255137              - use:
255138                - network: bond0
255139              - require:
255140                - network: bond0
255141
255142          bond0.12:
255143            network.managed:
255144              - type: vlan
255145              - ipaddr: 10.1.0.5
255146              - use:
255147                - network: bond0
255148              - require:
255149                - network: bond0
255150          br0:
255151            network.managed:
255152              - enabled: True
255153              - type: bridge
255154              - proto: dhcp
255155              - bridge: br0
255156              - delay: 0
255157              - ports: eth4
255158              - bypassfirewall: True
255159              - use:
255160                - network: eth4
255161              - require:
255162                - network: eth4
255163
255164          eth6:
255165            network.managed:
255166              - type: eth
255167              - noifupdown: True
255168
255169              # IPv4
255170              - proto: static
255171              - ipaddr: 192.168.4.9
255172              - netmask: 255.255.255.0
255173              - gateway: 192.168.4.1
255174              - enable_ipv6: True
255175
255176              # IPv6
255177              - ipv6proto: static
255178              - ipv6ipaddr: 2001:db8:dead:c0::3
255179              - ipv6netmask: 64
255180              - ipv6gateway: 2001:db8:dead:c0::1
255181              # override shared; makes those options v4-only
255182              - ipv6ttl: 15
255183
255184              # Shared
255185              - mtu: 1480
255186              - ttl: 18
255187              - dns:
255188                - 8.8.8.8
255189                - 8.8.4.4
255190
255191          eth7:
255192              - type: eth
255193              - proto: static
255194              - ipaddr: 10.1.0.7
255195              - netmask: 255.255.255.0
255196              - gateway: 10.1.0.1
255197              - enable_ipv6: True
255198              - ipv6proto: static
255199              - ipv6ipaddr: 2001:db8:dead:beef::3
255200              - ipv6netmask: 64
255201              - ipv6gateway: 2001:db8:dead:beef::1
255202              - noifupdown: True
255203
255204          eth8:
255205            network.managed:
255206              - enabled: True
255207              - type: eth
255208              - proto: static
255209              - enable_ipv6: true
255210              - ipv6proto: static
255211              - ipv6ipaddrs:
255212                - 2001:db8:dead:beef::3/64
255213                - 2001:db8:dead:beef::7/64
255214              - ipv6gateway: 2001:db8:dead:beef::1
255215              - ipv6netmask: 64
255216              - dns:
255217                - 8.8.8.8
255218                - 8.8.4.4
255219
255220          system:
255221            network.system:
255222              - enabled: True
255223              - hostname: server1.example.com
255224              - gateway: 192.168.0.1
255225              - gatewaydev: eth0
255226              - nozeroconf: True
255227              - nisdomain: example.com
255228              - require_reboot: True
255229              - apply_hostname: True
255230
255231          lo:
255232            network.managed:
255233              - name: lo
255234              - type: eth
255235              - proto: loopback
255236              - onboot: yes
255237              - userctl: no
255238              - ipv6_autoconf: no
255239              - enable_ipv6: true
255240
255241          .. note::
255242              Apply changes to hostname immediately.
255243
255244          .. versionadded:: 2015.5.0
255245
255246          system:
255247            network.system:
255248              - hostname: server2.example.com
255249              - apply_hostname: True
255250              - retain_settings: True
255251
255252          .. note::
255253              Use `retain_settings` to retain current network settings that are not
255254              otherwise specified in the state. Particularly useful if only setting
255255              the hostname. Default behavior is to delete unspecified network
255256              settings.
255257
255258          .. versionadded:: 2016.11.0
255259
255260       NOTE:
255261          When managing bridged interfaces on a Debian or Ubuntu based system,
255262          the ports argument is required.  Red Hat  systems  will  ignore  the
255263          argument.
255264
255265       salt.states.network.managed(name, type, enabled=True, **kwargs)
255266              Ensure that the named interface is configured properly.
255267
255268              name   The name of the interface to manage
255269
255270              type   Type of interface and configuration.
255271
255272              enabled
255273                     Designates the state of this interface.
255274
255275              kwargs The IP parameters for this interface.
255276
255277       salt.states.network.routes(name, **kwargs)
255278              Manage network interface static routes.
255279
255280              name   Interface name to apply the route to.
255281
255282              kwargs Named routes
255283
255284       salt.states.network.system(name, **kwargs)
255285              Ensure that global network settings are configured properly.
255286
255287              name   Custom name to represent this configuration change.
255288
255289              kwargs The global parameters for the system.
255290
255291   salt.states.net_napalm_yang
255292   NAPALM YANG state
255293       Manage  the configuration of network devices according to the YANG mod‐
255294       els (OpenConfig/IETF).
255295
255296       New in version 2017.7.0.
255297
255298
255299   Dependencies
255300       · napalm-yang
255301
255302       · pyangbing > 0.5.11
255303
255304       To be able to load configuration on network devices, it requires NAPALM
255305       library   to   be   installed:    pip  install  napalm.   Please  check
255306       Installation for complete details.
255307
255308       salt.states.net_napalm_yang.configured(name, data, **kwargs)
255309              Configure the network device, given  the  input  data  strucuted
255310              according to the YANG models.
255311
255312              NOTE:
255313                 The main difference between this function and managed is that
255314                 the later generates and loads  the  configuration  only  when
255315                 there  are  differences between the existing configuration on
255316                 the device and the expected configuration. Depending  on  the
255317                 platform and hardware capabilities, one could be more optimal
255318                 than the other.  Additionally, the output of the  managed  is
255319                 different, in such a way that the pchange field in the output
255320                 contains structured data, rather than text.
255321
255322              data   YANG structured data.
255323
255324              models A list of models to be used when generating the config.
255325
255326              profiles: None
255327                     Use certain profiles to  generate  the  config.   If  not
255328                     specified, will use the platform default profile(s).
255329
255330              test: False
255331                     Dry  run?  If set as True, will apply the config, discard
255332                     and return the changes. Default: False  and  will  commit
255333                     the changes on the device.
255334
255335              commit: True
255336                     Commit? Default: True.
255337
255338              debug: False
255339                     Debug  mode.  Will insert a new key under the output dic‐
255340                     tionary, as loaded_config containing the  raw  configura‐
255341                     tion loaded on the device.
255342
255343              replace: False
255344                     Should replace the config with the new generate one?
255345
255346              State SLS example:
255347
255348                 {%- set expected_config =  pillar.get('openconfig_interfaces_cfg') -%}
255349                 interfaces_config:
255350                   napalm_yang.configured:
255351                     - data: {{ expected_config | json }}
255352                     - models:
255353                       - models.openconfig_interfaces
255354                     - debug: true
255355
255356              Pillar example:
255357
255358                 openconfig_interfaces_cfg:
255359                   _kwargs:
255360                     filter: true
255361                   interfaces:
255362                     interface:
255363                       Et1:
255364                         config:
255365                           mtu: 9000
255366                       Et2:
255367                         config:
255368                           description: "description example"
255369
255370       salt.states.net_napalm_yang.managed(name, data, **kwargs)
255371              Manage  the device configuration given the input data structured
255372              according to the YANG models.
255373
255374              data   YANG structured data.
255375
255376              models A list of models to be used when generating the config.
255377
255378              profiles: None
255379                     Use certain profiles to  generate  the  config.   If  not
255380                     specified, will use the platform default profile(s).
255381
255382              compliance_report: False
255383                     Return the compliance report in the comment.
255384
255385                     New in version 2017.7.3.
255386
255387
255388              test: False
255389                     Dry  run?  If set as True, will apply the config, discard
255390                     and return the changes. Default: False  and  will  commit
255391                     the changes on the device.
255392
255393              commit: True
255394                     Commit? Default: True.
255395
255396              debug: False
255397                     Debug  mode.  Will insert a new key under the output dic‐
255398                     tionary, as loaded_config containing the  raw  configura‐
255399                     tion loaded on the device.
255400
255401              replace: False
255402                     Should replace the config with the new generate one?
255403
255404              State SLS example:
255405
255406                 {%- set expected_config =  pillar.get('openconfig_interfaces_cfg') -%}
255407                 interfaces_config:
255408                   napalm_yang.managed:
255409                     - data: {{ expected_config | json }}
255410                     - models:
255411                       - models.openconfig_interfaces
255412                     - debug: true
255413
255414              Pillar example:
255415
255416                 openconfig_interfaces_cfg:
255417                   _kwargs:
255418                     filter: true
255419                   interfaces:
255420                     interface:
255421                       Et1:
255422                         config:
255423                           mtu: 9000
255424                       Et2:
255425                         config:
255426                           description: "description example"
255427
255428   salt.states.neutron_network
255429   Management of OpenStack Neutron Networks
255430       New in version 2018.3.0.
255431
255432
255433       depends
255434              shade
255435
255436       configuration
255437              see salt.modules.neutronng for setup instructions
255438
255439       Example States
255440
255441          create network:
255442            neutron_network.present:
255443              - name: network1
255444
255445          delete network:
255446            neutron_network.absent:
255447              - name: network1
255448
255449          create network with optional params:
255450            neutron_network.present:
255451              - name: network1
255452              - vlan: 200
255453              - shared: False
255454              - external: False
255455              - project: project1
255456
255457       salt.states.neutron_network.absent(name, auth=None, **kwargs)
255458              Ensure a network does not exists
255459
255460              name   Name of the network
255461
255462       salt.states.neutron_network.present(name, auth=None, **kwargs)
255463              Ensure a network exists and is up-to-date
255464
255465              name   Name of the network
255466
255467              provider
255468                     A dict of network provider options.
255469
255470              shared Set the network as shared.
255471
255472              external
255473                     Whether this network is externally accessible.
255474
255475              admin_state_up
255476                     Set the network administrative state to up.
255477
255478              vlan   Vlan ID. Alias for provider
255479
255480                     · physical_network: provider
255481
255482                     · network_type: vlan
255483
255484                     · segmentation_id: (vlan id)
255485
255486   salt.states.neutron_secgroup
255487   Management of OpenStack Neutron Security Groups
255488       New in version 2018.3.0.
255489
255490
255491       depends
255492              shade
255493
255494       configuration
255495              see salt.modules.neutronng for setup instructions
255496
255497       Example States
255498
255499          create security group;
255500            neutron_secgroup.present:
255501              - name: security_group1
255502              - description: "Very Secure Security Group"
255503
255504          delete security group:
255505            neutron_secgroup.absent:
255506              - name_or_id: security_group1
255507              - project_name: Project1
255508
255509          create security group with optional params:
255510            neutron_secgroup.present:
255511              - name: security_group1
255512              - description: "Very Secure Security Group"
255513              - project_id: 1dcac318a83b4610b7a7f7ba01465548
255514
255515          create security group with optional params:
255516            neutron_secgroup.present:
255517              - name: security_group1
255518              - description: "Very Secure Security Group"
255519              - project_name: Project1
255520
255521       salt.states.neutron_secgroup.absent(name, auth=None, **kwargs)
255522              Ensure a security group does not exist
255523
255524              name   Name of the security group
255525
255526       salt.states.neutron_secgroup.present(name, auth=None, **kwargs)
255527              Ensure a security group exists.
255528
255529              You can supply either project_name or project_id.
255530
255531              Creating  a default security group will not show up as a change;
255532              it gets created through the lookup process.
255533
255534              name   Name of the security group
255535
255536              description
255537                     Description of the security group
255538
255539              project_name
255540                     Name of Project
255541
255542              project_id
255543                     ID of Project
255544
255545   salt.states.neutron_secgroup_rule
255546   Management of OpenStack Neutron Security Group Rules
255547       New in version 2018.3.0.
255548
255549
255550       depends
255551              shade
255552
255553       configuration
255554              see salt.modules.neutronng for setup instructions
255555
255556       Example States
255557
255558          create security group rule:
255559            neutron_secgroup_rule.present:
255560              - name: security_group1
255561              - project_name: Project1
255562              - protocol: icmp
255563
255564          delete security group:
255565            neutron_secgroup_rule.absent:
255566              - name_or_id: security_group1
255567
255568          create security group with optional params:
255569            neutron_secgroup_rule.present:
255570              - name: security_group1
255571              - description: "Very Secure Security Group"
255572              - project_id: 1dcac318a83b4610b7a7f7ba01465548
255573
255574       salt.states.neutron_secgroup_rule.absent(name, auth=None, **kwargs)
255575              Ensure a security group rule does not exist
255576
255577              name   name or id of the security group rule to delete
255578
255579              rule_id
255580                     uuid of the rule to delete
255581
255582              project_id
255583                     id of project to delete rule from
255584
255585       salt.states.neutron_secgroup_rule.present(name, auth=None, **kwargs)
255586              Ensure a security group rule exists
255587
255588              defaults:   port_range_min=None,   port_range_max=None,   proto‐
255589              col=None,
255590                     remote_ip_prefix=None,    remote_group_id=None,    direc‐
255591                     tion='ingress', ethertype='IPv4', project_id=None
255592
255593              name   Name of the security group to associate with this rule
255594
255595              project_name
255596                     Name of the project associated with the security group
255597
255598              protocol
255599                     The protocol that is matched by the security group  rule.
255600                     Valid values are None, tcp, udp, and icmp.
255601
255602   salt.states.neutron_subnet
255603   Management of OpenStack Neutron Subnets
255604       New in version 2018.3.0.
255605
255606
255607       depends
255608              shade
255609
255610       configuration
255611              see salt.modules.neutronng for setup instructions
255612
255613       Example States
255614
255615          create subnet:
255616            neutron_subnet.present:
255617              - name: subnet1
255618              - network_name_or_id: network1
255619              - cidr: 192.168.199.0/24
255620
255621
255622          delete subnet:
255623            neutron_subnet.absent:
255624              - name: subnet2
255625
255626          create subnet with optional params:
255627            neutron_subnet.present:
255628              - name: subnet1
255629              - network_name_or_id: network1
255630              - enable_dhcp: True
255631              - cidr: 192.168.199.0/24
255632              - allocation_pools:
255633                - start: 192.168.199.5
255634                  end: 192.168.199.250
255635              - host_routes:
255636                - destination: 192.168..0.0/24
255637                  nexthop: 192.168.0.1
255638              - gateway_ip: 192.168.199.1
255639              - dns_nameservers:
255640                - 8.8.8.8
255641                - 8.8.8.7
255642
255643          create ipv6 subnet:
255644            neutron_subnet.present:
255645              - name: v6subnet1
255646              - network_name_or_id: network1
255647              - ip_version: 6
255648
255649       salt.states.neutron_subnet.absent(name, auth=None)
255650              Ensure a subnet does not exists
255651
255652              name   Name of the subnet
255653
255654       salt.states.neutron_subnet.present(name, auth=None, **kwargs)
255655              Ensure a subnet exists and is up-to-date
255656
255657              name   Name of the subnet
255658
255659              network_name_or_id
255660                     The  unique  name  or  ID  of the attached network.  If a
255661                     non-unique name is supplied, an exception is raised.
255662
255663              allocation_pools
255664                     A list of dictionaries of the start and end addresses for
255665                     the allocation pools
255666
255667              gateway_ip
255668                     The gateway IP address.
255669
255670              dns_nameservers
255671                     A list of DNS name servers for the subnet.
255672
255673              host_routes
255674                     A list of host route dictionaries for the subnet.
255675
255676              ipv6_ra_mode
255677                     IPv6   Router  Advertisement  mode.   Valid  values  are:
255678                     ‘dhcpv6-stateful’, ‘dhcpv6-stateless’, or ‘slaac’.
255679
255680              ipv6_address_mode
255681                     IPv6 address mode.  Valid values are:  ‘dhcpv6-stateful’,
255682                     ‘dhcpv6-stateless’, or ‘slaac’.
255683
255684   salt.states.nfs_export
255685   Management of NFS exports
255686       New in version 2018.3.0.
255687
255688
255689       To ensure an NFS export exists:
255690
255691          add_simple_export:
255692            nfs_export.present:
255693              - name:     '/srv/nfs'
255694              - hosts:    '10.0.2.0/24'
255695              - options:
255696                - 'rw'
255697
255698       This creates the following in /etc/exports:
255699
255700          /srv/nfs 10.0.2.0/24(rw)
255701
255702       For more complex exports with multiple groups of hosts, use 'clients':
255703
255704          add_complex_export:
255705            nfs_export.present:
255706              - name: '/srv/nfs'
255707              - clients:
255708                # First export, same as simple one above
255709                - hosts: '10.0.2.0/24'
255710                  options:
255711                    - 'rw'
255712                # Second export
255713                - hosts: '*.example.com'
255714                  options:
255715                    - 'ro'
255716                    - 'subtree_check'
255717
255718       This creates the following in /etc/exports:
255719
255720          /srv/nfs 10.0.2.0/24(rw) 192.168.0.0/24,172.19.0.0/16(ro,subtree_check)
255721
255722       Any  export  of the given path will be modified to match the one speci‐
255723       fied.
255724
255725       To ensure an NFS export is absent:
255726
255727          delete_export:
255728            nfs_export.absent:
255729              - name: '/srv/nfs'
255730
255731       salt.states.nfs_export.absent(name, exports=u'/etc/exports')
255732              Ensure that the named path is not exported
255733
255734              name   The export path to remove
255735
255736       salt.states.nfs_export.present(name,     clients=None,      hosts=None,
255737       options=None, exports=u'/etc/exports')
255738              Ensure that the named export is present with the given options
255739
255740              name   The export path to configure
255741
255742              clients
255743                     A  list  of  hosts and the options applied to them.  This
255744                     option may not be used in combination with the 'hosts' or
255745                     'options' shortcuts.
255746
255747                 - clients:
255748                   # First export
255749                   - hosts: '10.0.2.0/24'
255750                     options:
255751                       - 'rw'
255752                   # Second export
255753                   - hosts: '*.example.com'
255754                     options:
255755                       - 'ro'
255756                       - 'subtree_check'
255757
255758              hosts  A string matching a number of hosts, for example:
255759
255760                 hosts: '10.0.2.123'
255761
255762                 hosts: '10.0.2.0/24'
255763
255764                 hosts: 'minion1.example.com'
255765
255766                 hosts: '*.example.com'
255767
255768                 hosts: '*'
255769
255770              options
255771                     A list of NFS options, for example:
255772
255773                 options:
255774                   - 'rw'
255775                   - 'subtree_check'
255776
255777   salt.states.nftables
255778   Management of nftables
255779       This is an nftables-specific module designed to manage Linux firewalls.
255780       It is expected that this state module, and other system-specific  fire‐
255781       wall states, may at some point be deprecated in favor of a more generic
255782       firewall state.
255783
255784          httpd:
255785            nftables.append:
255786              - table: filter
255787              - chain: input
255788              - jump: accept
255789              - match: state
255790              - connstate: new
255791              - dport: 80
255792              - proto: tcp
255793              - sport: 1025:65535
255794              - save: True
255795
255796          httpd:
255797            nftables.append:
255798              - table: filter
255799              - family: ipv6
255800              - chain: INPUT
255801              - jump: ACCEPT
255802              - match: state
255803              - connstate: NEW
255804              - dport: 80
255805              - proto: tcp
255806              - sport: 1025:65535
255807              - save: True
255808
255809          httpd:
255810            nftables.insert:
255811              - position: 1
255812              - table: filter
255813              - chain: INPUT
255814              - jump: ACCEPT
255815              - match: state
255816              - connstate: NEW
255817              - dport: 80
255818              - proto: tcp
255819              - sport: 1025:65535
255820              - save: True
255821
255822          httpd:
255823            nftables.insert:
255824              - position: 1
255825              - table: filter
255826              - family: ipv6
255827              - chain: INPUT
255828              - jump: ACCEPT
255829              - match: state
255830              - connstate: NEW
255831              - dport: 80
255832              - proto: tcp
255833              - sport: 1025:65535
255834              - save: True
255835
255836          httpd:
255837            nftables.delete:
255838              - table: filter
255839              - chain: INPUT
255840              - jump: ACCEPT
255841              - match: state
255842              - connstate: NEW
255843              - dport: 80
255844              - proto: tcp
255845              - sport: 1025:65535
255846              - save: True
255847
255848          httpd:
255849            nftables.delete:
255850              - position: 1
255851              - table: filter
255852              - chain: INPUT
255853              - jump: ACCEPT
255854              - match: state
255855              - connstate: NEW
255856              - dport: 80
255857              - proto: tcp
255858              - sport: 1025:65535
255859              - save: True
255860
255861          httpd:
255862            nftables.delete:
255863              - table: filter
255864              - family: ipv6
255865              - chain: INPUT
255866              - jump: ACCEPT
255867              - match: state
255868              - connstate: NEW
255869              - dport: 80
255870              - proto: tcp
255871              - sport: 1025:65535
255872              - save: True
255873
255874          output:
255875            nftables.chain_present:
255876              - family: ip
255877              - table: filter
255878
255879          output:
255880            nftables.chain_absent:
255881              - family: ip
255882              - table: filter
255883
255884       salt.states.nftables.append(name, family=u'ipv4', **kwargs)
255885              New in version 0.17.0.
255886
255887
255888              Append a rule to a chain
255889
255890              name   A user-defined name to call this rule by in another  part
255891                     of a state or formula. This should not be an actual rule.
255892
255893              family Network family, ipv4 or ipv6.
255894
255895              All other arguments are passed in with the same name as the long
255896              option that would normally be used for nftables, with one excep‐
255897              tion: --state is specified as connstate instead of state (not to
255898              be confused with ctstate).
255899
255900       salt.states.nftables.chain_absent(name,      table=u'filter',      fam‐
255901       ily=u'ipv4')
255902              New in version 2014.7.0.
255903
255904
255905              Verify the chain is absent.
255906
255907              family Networking family, either ipv4 or ipv6
255908
255909       salt.states.nftables.chain_present(name,      table=u'filter',      ta‐
255910       ble_type=None, hook=None, priority=None, family=u'ipv4')
255911              New in version 2014.7.0.
255912
255913
255914              Verify the chain is exist.
255915
255916              name   A user-defined chain name.
255917
255918              table  The table to own the chain.
255919
255920              family Networking family, either ipv4 or ipv6
255921
255922       salt.states.nftables.delete(name, family=u'ipv4', **kwargs)
255923              New in version 2014.7.0.
255924
255925
255926              Delete a rule to a chain
255927
255928              name   A user-defined name to call this rule by in another  part
255929                     of a state or formula. This should not be an actual rule.
255930
255931              family Networking family, either ipv4 or ipv6
255932
255933              All other arguments are passed in with the same name as the long
255934              option that would normally be used for nftables, with one excep‐
255935              tion: --state is specified as connstate instead of state (not to
255936              be confused with ctstate).
255937
255938       salt.states.nftables.flush(name, family=u'ipv4', **kwargs)
255939              New in version 2014.7.0.
255940
255941
255942              Flush current nftables state
255943
255944              family Networking family, either ipv4 or ipv6
255945
255946       salt.states.nftables.insert(name, family=u'ipv4', **kwargs)
255947              New in version 2014.7.0.
255948
255949
255950              Insert a rule into a chain
255951
255952              name   A user-defined name to call this rule by in another  part
255953                     of a state or formula. This should not be an actual rule.
255954
255955              family Networking family, either ipv4 or ipv6
255956
255957              All other arguments are passed in with the same name as the long
255958              option that would normally be used for nftables, with one excep‐
255959              tion: --state is specified as connstate instead of state (not to
255960              be confused with ctstate).
255961
255962   salt.states.npm
255963   Installation of NPM Packages
255964       These states manage the installed packages for node.js using  the  Node
255965       Package Manager (npm). Note that npm must be installed for these states
255966       to be available,  so  npm  states  should  include  a  requisite  to  a
255967       pkg.installed  state  for the package which provides npm (simply npm in
255968       most cases). Example:
255969
255970          npm:
255971            pkg.installed
255972
255973          yaml:
255974            npm.installed:
255975              - require:
255976                - pkg: npm
255977
255978       salt.states.npm.bootstrap(name, user=None, silent=True)
255979              Bootstraps a node.js application.
255980
255981              Will execute 'npm install --json' on the specified directory.
255982
255983              user   The user to run NPM with
255984
255985                     New in version 0.17.0.
255986
255987
255988       salt.states.npm.cache_cleaned(name=None, user=None, force=False)
255989              Ensure that the given package is not cached.
255990
255991              If no package is specified, this ensures  the  entire  cache  is
255992              cleared.
255993
255994              name   The name of the package to remove from the cache, or None
255995                     for all packages
255996
255997              user   The user to run NPM with
255998
255999              force  Force cleaning of cache.  Required for npm@5 and greater
256000
256001                     New in version 2016.11.6.
256002
256003
256004       salt.states.npm.installed(name,   pkgs=None,    dir=None,    user=None,
256005       force_reinstall=False, registry=None, env=None)
256006              Verify that the given package is installed and is at the correct
256007              version (if specified).
256008
256009                 coffee-script:
256010                   npm.installed:
256011                     - user: someuser
256012
256013                 coffee-script@1.0.1:
256014                   npm.installed: []
256015
256016              name   The package to install
256017
256018                     Changed in version 2014.7.2: This parameter is no  longer
256019                     lowercased  by  salt  so  that case-sensitive NPM package
256020                     names will work.
256021
256022
256023              pkgs   A list of packages to install with a single  npm  invoca‐
256024                     tion; specifying this argument will ignore the name argu‐
256025                     ment
256026
256027                     New in version 2014.7.0.
256028
256029
256030              dir    The target directory in which to install the package,  or
256031                     None for global installation
256032
256033              user   The user to run NPM with
256034
256035                     New in version 0.17.0.
256036
256037
256038              registry
256039                     The NPM registry from which to install the package
256040
256041                     New in version 2014.7.0.
256042
256043
256044              env    A list of environment variables to be set prior to execu‐
256045                     tion. The format is the same as the cmd.run.  state func‐
256046                     tion.
256047
256048                     New in version 2014.7.0.
256049
256050
256051              force_reinstall
256052                     Install the package even if it is already installed
256053
256054       salt.states.npm.removed(name, dir=None, user=None)
256055              Verify that the given package is not installed.
256056
256057              dir    The  target directory in which to install the package, or
256058                     None for global installation
256059
256060              user   The user to run NPM with
256061
256062                     New in version 0.17.0.
256063
256064
256065   salt.states.ntp
256066   Management of NTP servers
256067       New in version 2014.1.0.
256068
256069
256070       This state is used to manage NTP servers.  Currently  only  Windows  is
256071       supported.
256072
256073          win_ntp:
256074            ntp.managed:
256075              - servers:
256076                - pool.ntp.org
256077                - us.pool.ntp.org
256078
256079       salt.states.ntp.managed(name, servers=None)
256080              Manage NTP servers
256081
256082              servers
256083                     A list of NTP servers
256084
256085   salt.states.nxos module
256086       State module for Cisco NX OS Switches Proxy minions
256087
256088       For documentation on setting up the nxos proxy minion look in the docu‐
256089       mentation for salt.proxy.nxos.
256090
256091       salt.states.nxos.config_absent(name)
256092              Ensure a specific configuration line does not exist in the  run‐
256093              ning config
256094
256095              name   config line to remove
256096
256097              Examples:
256098
256099                 add snmp group:
256100                   nxos.config_absent:
256101                     - names:
256102                       - snmp-server community randoSNMPstringHERE group network-operator
256103                       - snmp-server community AnotherRandomSNMPSTring group network-admin
256104
256105              NOTE:
256106                 For  certain  cases  extra  lines  could  be removed based on
256107                 dependencies.  In this example, included  after  the  example
256108                 for  config_present,  the  ACLs would be removed because they
256109                 depend on the existence of the group.
256110
256111       salt.states.nxos.config_present(name)
256112              Ensure a specific configuration line exists in the running  con‐
256113              fig
256114
256115              name   config line to set
256116
256117              Examples:
256118
256119                 add snmp group:
256120                   nxos.config_present:
256121                     - names:
256122                       - snmp-server community randoSNMPstringHERE group network-operator
256123                       - snmp-server community AnotherRandomSNMPSTring group network-admin
256124
256125                 add snmp acl:
256126                   nxos.config_present:
256127                     - names:
256128                       - snmp-server community randoSNMPstringHERE use-acl snmp-acl-ro
256129                       - snmp-server community AnotherRandomSNMPSTring use-acl snmp-acl-rw
256130
256131       salt.states.nxos.replace(name, repl, full_match=False)
256132              Replace  all  instances  of a string or full line in the running
256133              config
256134
256135              name   String to replace
256136
256137              repl   The replacement text
256138
256139              full_match
256140                     Whether name will match the full line or only a subset of
256141                     the  line.   Defaults  to  False. When False, .* is added
256142                     around name for matching in the show run config.
256143
256144              Examples:
256145
256146                 replace snmp string:
256147                   nxos.replace:
256148                     - name: randoSNMPstringHERE
256149                     - repl: NEWrandoSNMPstringHERE
256150
256151                 replace full snmp string:
256152                   nxos.replace:
256153                     - name: ^snmp-server community randoSNMPstringHERE group network-operator$
256154                     - repl: snmp-server community NEWrandoSNMPstringHERE group network-operator
256155                     - full_match: True
256156
256157              NOTE:
256158                 The first example will replace the SNMP string  on  both  the
256159                 group  and  the  ACL,  so  you will not lose the ACL setting.
256160                 Because the second is an exact match of the  line,  when  the
256161                 group  is  removed,  the  ACL  is  removed,  but not readded,
256162                 because it was not matched.
256163
256164       salt.states.nxos.user_absent(name)
256165              Ensure a user is not present
256166
256167              name   username to remove if it exists
256168
256169              Examples:
256170
256171                 delete:
256172                   nxos.user_absent:
256173                     - name: daniel
256174
256175       salt.states.nxos.user_present(name,     password=None,      roles=None,
256176       encrypted=False, crypt_salt=None, algorithm=u'sha256')
256177              Ensure a user is present with the specified groups
256178
256179              name   Name of user
256180
256181              password
256182                     Encrypted or Plain Text password for user
256183
256184              roles  List of roles the user should be assigned.  Any roles not
256185                     in this list will be removed
256186
256187              encrypted
256188                     Whether  the  password  is  encrypted  already  or   not.
256189                     Defaults to False
256190
256191              crypt_salt
256192                     Salt  to  use  when  encrypting the password.  Default is
256193                     None (salt is randomly generated for unhashed passwords)
256194
256195              algorithm
256196                     Algorithm to  use  for  hashing  password.   Defaults  to
256197                     sha256.  Accepts md5, blowfish, sha256, sha512
256198
256199              Examples:
256200
256201                 create:
256202                   nxos.user_present:
256203                     - name: daniel
256204                     - roles:
256205                       - vdc-admin
256206
256207                 set_password:
256208                   nxos.user_present:
256209                     - name: daniel
256210                     - password: admin
256211                     - roles:
256212                       - network-admin
256213
256214                 update:
256215                   nxos.user_present:
256216                     - name: daniel
256217                     - password: AiN9jaoP
256218                     - roles:
256219                       - network-admin
256220                       - vdc-admin
256221
256222   salt.states.openstack_config
256223       Manage OpenStack configuration file settings.
256224
256225       maintainer
256226              Jeffrey C. Ollie <jeff@ocjtech.us>
256227
256228       maturity
256229              new
256230
256231       depends
256232
256233       platform
256234              linux
256235
256236       salt.states.openstack_config.absent(name,  filename,  section,  parame‐
256237       ter=None)
256238              Ensure a value is not set in an OpenStack configuration file.
256239
256240              filename
256241                     The full path to the configuration file
256242
256243              section
256244                     The section in which the parameter will be set
256245
256246              parameter (optional)
256247                     The parameter to change.  If the parameter  is  not  sup‐
256248                     plied, the name will be used as the parameter.
256249
256250       salt.states.openstack_config.present(name,  filename,  section,  value,
256251       parameter=None)
256252              Ensure a value is set in an OpenStack configuration file.
256253
256254              filename
256255                     The full path to the configuration file
256256
256257              section
256258                     The section in which the parameter will be set
256259
256260              parameter (optional)
256261                     The parameter to change.  If the parameter  is  not  sup‐
256262                     plied, the name will be used as the parameter.
256263
256264              value  The value to set
256265
256266   salt.states.openvswitch_bridge module
256267       Management of Open vSwitch bridges.
256268
256269       salt.states.openvswitch_bridge.absent(name)
256270              Ensures that the named bridge does not exist, eventually deletes
256271              it.
256272
256273              Parameters
256274                     name -- The name of the bridge.
256275
256276       salt.states.openvswitch_bridge.present(name)
256277              Ensures that the named bridge exists, eventually creates it.
256278
256279              Parameters
256280                     name -- The name of the bridge.
256281
256282   salt.states.openvswitch_port module
256283       Management of Open vSwitch ports.
256284
256285       salt.states.openvswitch_port.absent(name, bridge=None)
256286              Ensures that the named port exists on bridge, eventually deletes
256287              it.  If bridge is not set, port is removed from  whatever bridge
256288              contains it.
256289
256290              Parameters
256291
256292                     · name -- The name of the port.
256293
256294                     · bridge -- The name of the bridge.
256295
256296       salt.states.openvswitch_port.present(name,  bridge,   tunnel_type=None,
256297       id=None, remote=None, dst_port=None, internal=False)
256298              Ensures that the named port exists on bridge, eventually creates
256299              it.
256300
256301              Parameters
256302
256303                     · name -- The name of the port.
256304
256305                     · bridge -- The name of the bridge.
256306
256307                     · tunnel_type -- Optional type of  interface  to  create,
256308                       currently supports: vlan, vxlan and gre.
256309
256310                     · id -- Optional tunnel's key.
256311
256312                     · remote -- Remote endpoint's IP address.
256313
256314                     · dst_port -- Port to use when creating tunnelport in the
256315                       switch.
256316
256317                     · internal -- Create an internal port  if  one  does  not
256318                       exist
256319
256320   salt.states.opsgenie
256321   Create/Close an alert in OpsGenie
256322       New in version 2018.3.0.
256323
256324
256325       This  state is useful for creating or closing alerts in OpsGenie during
256326       state runs.
256327
256328          used_space:
256329            disk.status:
256330              - name: /
256331              - maximum: 79%
256332              - minimum: 20%
256333
256334          opsgenie_create_action_sender:
256335            opsgenie.create_alert:
256336              - api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
256337              - reason: 'Disk capacity is out of designated range.'
256338              - name: disk.status
256339              - onfail:
256340                - disk: used_space
256341
256342          opsgenie_close_action_sender:
256343            opsgenie.close_alert:
256344              - api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
256345              - name: disk.status
256346              - require:
256347                - disk: used_space
256348
256349       salt.states.opsgenie.close_alert(name=None, api_key=None, reason=u'Con‐
256350       ditions are met.', action_type=u'Close')
256351              Close  an  alert  in  OpsGenie. It's a wrapper function for cre‐
256352              ate_alert.  Example  usage  with  Salt's  requisites  and  other
256353              global state arguments could be found above.
256354
256355              Required Parameters:
256356
256357              name   It  will be used as alert's alias. If you want to use the
256358                     close functionality you must provide name field for  both
256359                     states like in above case.
256360
256361              Optional Parameters:
256362
256363              api_key
256364                     It's  the  API Key you've copied while adding integration
256365                     in OpsGenie.
256366
256367              reason It will be used as alert's default message in OpsGenie.
256368
256369              action_type
256370                     OpsGenie supports the  default  values  Create/Close  for
256371                     action_type.   You  can  customize this field with OpsGe‐
256372                     nie's custom actions for other purposes like adding notes
256373                     or acknowledging alerts.
256374
256375       salt.states.opsgenie.create_alert(name=None, api_key=None, reason=None,
256376       action_type=u'Create')
256377              Create an alert in OpsGenie. Example usage  with  Salt's  requi‐
256378              sites and other global state arguments could be found above.
256379
256380              Required Parameters:
256381
256382              api_key
256383                     It's  the  API Key you've copied while adding integration
256384                     in OpsGenie.
256385
256386              reason It will be used as alert's default message in OpsGenie.
256387
256388              Optional Parameters:
256389
256390              name   It will be used as alert's alias. If you want to use  the
256391                     close  functionality you must provide name field for both
256392                     states like in above case.
256393
256394              action_type
256395                     OpsGenie supports the  default  values  Create/Close  for
256396                     action_type.   You  can  customize this field with OpsGe‐
256397                     nie's custom actions for other purposes like adding notes
256398                     or acknowledging alerts.
256399
256400   salt.states.pagerduty
256401   Create an Event in PagerDuty
256402       New in version 2014.1.0.
256403
256404
256405       This  state is useful for creating events on the PagerDuty service dur‐
256406       ing state runs.
256407
256408          server-warning-message:
256409            pagerduty.create_event:
256410              - name: 'This is a server warning message'
256411              - details: 'This is a much more detailed message'
256412              - service_key: 9abcd123456789efabcde362783cdbaf
256413              - profile: my-pagerduty-account
256414
256415       salt.states.pagerduty.create_event(name, details, service_key, profile)
256416              Create an event on the PagerDuty service
256417
256418                 server-warning-message:
256419                   pagerduty.create_event:
256420                     - name: 'This is a server warning message'
256421                     - details: 'This is a much more detailed message'
256422                     - service_key: 9abcd123456789efabcde362783cdbaf
256423                     - profile: my-pagerduty-account
256424
256425              The following parameters are required:
256426
256427              name   This is a short description of the event.
256428
256429              details
256430                     This can be a more detailed description of the event.
256431
256432              service_key
256433                     This key can be found by using pagerduty.list_services.
256434
256435              profile
256436                     This refers to the configuration profile to use  to  con‐
256437                     nect to the PagerDuty service.
256438
256439   salt.states.pagerduty_escalation_policy
256440       Manage PagerDuty escalation policies.
256441
256442       Schedules  and  users can be referenced by pagerduty ID, or by name, or
256443       by email address.
256444
256445       For example:
256446
256447          ensure test escalation policy:
256448              pagerduty_escalation_policy.present:
256449                  - name: bruce test escalation policy
256450                  - escalation_rules:
256451                      - targets:
256452                          - type: schedule
256453                            id: 'bruce test schedule level1'
256454                          - type: user
256455                            id: 'Bruce Sherrod'
256456                        escalation_delay_in_minutes: 15
256457                      - targets:
256458                          - type: schedule
256459                            id: 'bruce test schedule level2'
256460                        escalation_delay_in_minutes: 15
256461                      - targets:
256462                          - type: user
256463                            id: 'Bruce TestUser1'
256464                          - type: user
256465                            id: 'Bruce TestUser2'
256466                          - type: user
256467                            id: 'Bruce TestUser3'
256468                          - type: user
256469                            id:  'bruce+test4@lyft.com'
256470                        escalation_delay_in_minutes: 15
256471
256472       salt.states.pagerduty_escalation_policy.absent(profile=u'pagerduty',
256473       subdomain=None, api_key=None, **kwargs)
256474              Ensure  that  a  PagerDuty  escalation  policy  does  not exist.
256475              Accepts  all  the   arguments   that   pagerduty_escalation_pol‐
256476              icy.present accepts; but ignores all arguments except the name.
256477
256478              Name  can  be  the escalation policy id or the escalation policy
256479              name.
256480
256481       salt.states.pagerduty_escalation_policy.present(profile=u'pagerduty',
256482       subdomain=None, api_key=None, **kwargs)
256483              Ensure  that  a pagerduty escalation policy exists.  Will create
256484              or update as needed.
256485
256486              This   method   accepts   as   args   everything   defined    in
256487              https://developer.pagerduty.com/documentation/rest/escalation_policies/create.
256488              In addition, user and schedule id's will be translated from name
256489              (or email address) into PagerDuty unique ids.  For example:
256490
256491
256492
256493              pagerduty_escalation_policy.present:
256494
256495                     · name: bruce test escalation policy
256496
256497                     ·
256498
256499                       escalation_rules:
256500
256501                              ·
256502
256503                                targets:
256504
256505                                       · type: schedule id: 'bruce test sched‐
256506                                         ule level1'
256507
256508                                       · type: user id: 'Bruce Sherrod'
256509
256510              In this example, 'Bruce Sherrod' will be looked up and  replaced
256511              with  the  PagerDuty id (usually a 7 digit all-caps string, e.g.
256512              PX6GQL7)
256513
256514   salt.states.pagerduty_schedule
256515       Manage PagerDuty schedules.
256516
256517       Example:
256518
256519          ensure test schedule:
256520              pagerduty_schedule.present:
256521                  - name: 'bruce test schedule level1'
256522                  - schedule:
256523                      name: 'bruce test schedule level1'
256524                      time_zone: 'Pacific Time (US & Canada)'
256525                      schedule_layers:
256526                          - name: 'Schedule Layer 1'
256527                            start: '2015-01-01T00:00:00'
256528                            users:
256529                              - user:
256530                                  'id': 'Bruce TestUser1'
256531                                member_order: 1
256532                              - user:
256533                                  'id': 'Bruce TestUser2'
256534                                member_order: 2
256535                              - user:
256536                                  'id': 'bruce+test3@lyft.com'
256537                                member_order: 3
256538                              - user:
256539                                  'id': 'bruce+test4@lyft.com'
256540                                member_order: 4
256541                            rotation_virtual_start: '2015-01-01T00:00:00'
256542                            priority: 1
256543                            rotation_turn_length_seconds: 604800
256544
256545       salt.states.pagerduty_schedule.absent(profile=u'pagerduty',      subdo‐
256546       main=None, api_key=None, **kwargs)
256547              Ensure  that  a  pagerduty schedule does not exist.  Name can be
256548              pagerduty schedule id or pagerduty schedule name.
256549
256550       salt.states.pagerduty_schedule.present(profile=u'pagerduty',     subdo‐
256551       main=None, api_key=None, **kwargs)
256552              Ensure that a pagerduty schedule exists.  This method accepts as
256553              args             everything              defined              in
256554              https://developer.pagerduty.com/documentation/rest/schedules/create.
256555              This means that most arguments are in a dict called "schedule."
256556
256557              User id's can be pagerduty id, or name, or email address.
256558
256559   salt.states.pagerduty_service
256560       Manage PagerDuty services
256561
256562       Escalation policies can be referenced by pagerduty ID or by namea.
256563
256564       For example:
256565
256566          ensure test service
256567              pagerduty_service.present:
256568                  - name: 'my service'
256569                  - escalation_policy_id: 'my escalation policy'
256570                  - type: nagios
256571
256572       salt.states.pagerduty_service.absent(profile=u'pagerduty',       subdo‐
256573       main=None, api_key=None, **kwargs)
256574              Ensure a pagerduty service does not exist.  Name can be the ser‐
256575              vice name or pagerduty service id.
256576
256577       salt.states.pagerduty_service.present(profile=u'pagerduty',      subdo‐
256578       main=None, api_key=None, **kwargs)
256579              Ensure  pagerduty  service exists.  This method accepts as argu‐
256580              ments             everything             defined              in
256581              https://developer.pagerduty.com/documentation/rest/services/create
256582
256583              Note that many arguments are mutually  exclusive,  depending  on
256584              the "type" argument.
256585
256586              Examples:
256587
256588                 # create a PagerDuty email service at test-email@DOMAIN.pagerduty.com
256589                 ensure generic email service exists:
256590                     pagerduty_service.present:
256591                         - name: my email service
256592                         - service:
256593                             description: "email service controlled by salt"
256594                             escalation_policy_id: "my escalation policy"
256595                             type: "generic_email"
256596                             service_key: "test-email"
256597
256598                 # create a pagerduty service using cloudwatch integration
256599                 ensure my cloudwatch service exists:
256600                     pagerduty_service.present:
256601                         - name: my cloudwatch service
256602                         - service:
256603                             escalation_policy_id: "my escalation policy"
256604                             type: aws_cloudwatch
256605                             description: "my cloudwatch service controlled by salt"
256606
256607   salt.states.pagerduty_user
256608       Manage PagerDuty users.  Example.INDENT 0.0
256609
256610
256611
256612       ensure bruce test user 1:
256613
256614              pagerduty.user_present:
256615
256616                     · name: 'Bruce TestUser1'
256617
256618                     · email: bruce+test1@lyft.com
256619
256620                     · requester_id: P1GV5NT
256621
256622       salt.states.pagerduty_user.absent(profile=u'pagerduty', subdomain=None,
256623       api_key=None, **kwargs)
256624              Ensure pagerduty user does not exist.  Name can be pagerduty id,
256625              email address, or user name.
256626
256627       salt.states.pagerduty_user.present(profile=u'pagerduty',         subdo‐
256628       main=None, api_key=None, **kwargs)
256629              Ensure pagerduty user exists.  Arguments match  those  supported
256630              by
256631              https://developer.pagerduty.com/documentation/rest/users/create.
256632
256633   salt.states.panos
256634       A state module to manage Palo Alto network devices.
256635
256636       codeauthor
256637              Spencer Ervin <spencer_ervin@hotmail.com>
256638
256639       maturity
256640              new
256641
256642       depends
256643              none
256644
256645       platform
256646              unix
256647
256648   About
256649       This state module was designed to handle connections  to  a  Palo  Alto
256650       based  firewall.  This  module  relies on the Palo Alto proxy module to
256651       interface with the devices.
256652
256653       This state module is designed to give extreme flexibility in  the  con‐
256654       trol over XPATH values on the PANOS device. It exposes the core XML API
256655       commands and allows state modules to chain complex XPATH commands.
256656
256657       Below is an example of how to construct a security rule and move to the
256658       top  of  the  policy. This will take a config lock to prevent execution
256659       during the operation, then remove the lock. After the  XPATH  has  been
256660       deployed, it will commit to the device.
256661
256662          panos/takelock:
256663              panos.add_config_lock
256664          panos/service_tcp_22:
256665              panos.set_config:
256666                  - xpath: /config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/service
256667                  - value: <entry name='tcp-22'><protocol><tcp><port>22</port></tcp></protocol></entry>
256668                  - commit: False
256669          panos/create_rule1:
256670              panos.set_config:
256671                  - xpath: /config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/rulebase/security/rules
256672                  - value: '
256673                    <entry name="rule1">
256674                      <from><member>trust</member></from>
256675                      <to><member>untrust</member></to>
256676                      <source><member>10.0.0.1</member></source>
256677                      <destination><member>10.0.1.1</member></destination>
256678                      <service><member>tcp-22</member></service>
256679                      <application><member>any</member></application>
256680                      <action>allow</action>
256681                      <disabled>no</disabled>
256682                    </entry>'
256683                  - commit: False
256684          panos/moveruletop:
256685              panos.move_config:
256686                  - xpath: /config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
256687                  - where: top
256688                  - commit: False
256689          panos/removelock:
256690              panos.remove_config_lock
256691          panos/commit:
256692              panos.commit
256693
256694   Version Specific Configurations
256695       Palo  Alto  devices running different versions will have different sup‐
256696       ported features and different command structures. In order  to  account
256697       for  this,  the  proxy  module  can  be leveraged to check if the panos
256698       device is at a specific revision level.
256699
256700       The proxy['panos.is_required_version'] method will  check  if  a  panos
256701       device  is currently running a version equal or greater than the passed
256702       version. For example, proxy['panos.is_required_version']('7.0.0') would
256703       match both 7.1.0 and 8.0.0.
256704
256705          {% if proxy['panos.is_required_version']('8.0.0') %}
256706          panos/deviceconfig/system/motd-and-banner:
256707            panos.set_config:
256708              - xpath: /config/devices/entry[@name='localhost.localdomain']/deviceconfig/system/motd-and-banner
256709              - value: |
256710                <banner-header>BANNER TEXT</banner-header>
256711                <banner-header-color>color2</banner-header-color>
256712                <banner-header-text-color>color18</banner-header-text-color>
256713                <banner-header-footer-match>yes</banner-header-footer-match>
256714              - commit: False
256715          {% endif %}
256716
256717       SEE ALSO:
256718          Palo Alto Proxy Module
256719
256720       salt.states.panos.add_config_lock(name)
256721              Prevent  other  users from changing configuration until the lock
256722              is released.
256723
256724              name: The name of the module function to execute.
256725
256726              SLS Example:
256727
256728                 panos/takelock:
256729                     panos.add_config_lock
256730
256731       salt.states.panos.address_exists(name, addressname=None, vsys=1, ipnet‐
256732       mask=None, iprange=None, fqdn=None, description=None, commit=False)
256733              Ensures  that  an address object exists in the configured state.
256734              If it does not exist or is not  configured  with  the  specified
256735              attributes, it will be adjusted to match the specified values.
256736
256737              This module will only process a single address type (ip-netmask,
256738              ip-range, or fqdn). It will process the specified value  if  the
256739              following  order:  ip-netmask, ip-range, fqdn. For proper execu‐
256740              tion, only specify a single address type.
256741
256742              name: The name of the module function to execute.
256743
256744              addressname(str): The name of the address object.  The  name  is
256745              case-sensitive  and  can  have  up to 31 characters, which an be
256746              letters, numbers, spaces, hyphens,  and  underscores.  The  name
256747              must be unique on a firewall and, on Panorama, unique within its
256748              device group and any ancestor or descendant device groups.
256749
256750              vsys(str): The string representation of the VSYS ID. Defaults to
256751              VSYS 1.
256752
256753              ipnetmask(str):  The  IPv4  or  IPv6 address or IP address range
256754              using the format ip_address/mask or ip_address where the mask is
256755              the  number  of  significant  binary digits used for the network
256756              portion of the address. Ideally, for IPv6, you specify only  the
256757              network portion, not the host portion.
256758
256759              iprange(str):   A   range   of   addresses   using   the  format
256760              ip_address–ip_address where both addresses can be  IPv4 or  both
256761              can be IPv6.
256762
256763              fqdn(str):  A  fully qualified domain name format. The FQDN ini‐
256764              tially  resolves  at  commit  time.  Entries  are   subsequently
256765              refreshed  when  the firewall performs a check every 30 minutes;
256766              all changes in the IP address for the entries are picked  up  at
256767              the refresh cycle.
256768
256769              description(str):  A description for the policy (up to 255 char‐
256770              acters).
256771
256772              commit(bool): If true the firewall will commit the  changes,  if
256773              false do not commit changes.
256774
256775              SLS Example:
256776
256777                 panos/address/h-10.10.10.10:
256778                     panos.address_exists:
256779                       - addressname: h-10.10.10.10
256780                       - vsys: 1
256781                       - ipnetmask: 10.10.10.10
256782                       - commit: False
256783
256784                 panos/address/10.0.0.1-10.0.0.50:
256785                     panos.address_exists:
256786                       - addressname: r-10.0.0.1-10.0.0.50
256787                       - vsys: 1
256788                       - iprange: 10.0.0.1-10.0.0.50
256789                       - commit: False
256790
256791                 panos/address/foo.bar.com:
256792                     panos.address_exists:
256793                       - addressname: foo.bar.com
256794                       - vsys: 1
256795                       - fqdn: foo.bar.com
256796                       - description: My fqdn object
256797                       - commit: False
256798
256799       salt.states.panos.address_group_exists(name,   groupname=None,  vsys=1,
256800       members=None, description=None, commit=False)
256801              Ensures that an address group object exists  in  the  configured
256802              state. If it does not exist or is not configured with the speci‐
256803              fied attributes, it will be adjusted to match the specified val‐
256804              ues.
256805
256806              This module will enforce group membership. If a group exists and
256807              contains members this state does not include, those members will
256808              be removed and replaced with the specified members in the state.
256809
256810              name: The name of the module function to execute.
256811
256812              groupname(str):  The name of the address group object.  The name
256813              is case-sensitive and can have up to 31 characters, which an  be
256814              letters,  numbers,  spaces,  hyphens,  and underscores. The name
256815              must be unique on a firewall and, on Panorama, unique within its
256816              device group and any ancestor or descendant device groups.
256817
256818              vsys(str): The string representation of the VSYS ID. Defaults to
256819              VSYS 1.
256820
256821              members(str, list): The members of the address group. These must
256822              be  valid  address  objects or address groups on the system that
256823              already exist prior to the execution of this state.
256824
256825              description(str): A description for the policy (up to 255  char‐
256826              acters).
256827
256828              commit(bool):  If  true the firewall will commit the changes, if
256829              false do not commit changes.
256830
256831              SLS Example:
256832
256833                 panos/address-group/my-group:
256834                     panos.address_group_exists:
256835                       - groupname: my-group
256836                       - vsys: 1
256837                       - members:
256838                         - my-address-object
256839                         - my-other-address-group
256840                       - description: A group that needs to exist
256841                       - commit: False
256842
256843       salt.states.panos.clone_config(name,  xpath=None,  newname=None,   com‐
256844       mit=False)
256845              Clone a specific XPATH and set it to a new name.
256846
256847              name: The name of the module function to execute.
256848
256849              xpath(str): The XPATH of the configuration API tree to clone.
256850
256851              newname(str): The new name of the XPATH clone.
256852
256853              commit(bool):  If  true the firewall will commit the changes, if
256854              false do not commit changes.
256855
256856              SLS Example:
256857
256858                 panos/clonerule:
256859                     panos.clone_config:
256860                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/rulebase/security/rules&from=/config/devices/
256861                       entry/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
256862                       - value: rule2
256863                       - commit: True
256864
256865       salt.states.panos.commit_config(name)
256866              Commits the candidate configuration to  the  running  configura‐
256867              tion.
256868
256869              name: The name of the module function to execute.
256870
256871              SLS Example:
256872
256873                 panos/commit:
256874                     panos.commit_config
256875
256876       salt.states.panos.delete_config(name, xpath=None, commit=False)
256877              Deletes a Palo Alto XPATH to a specific value.
256878
256879              Use the xpath parameter to specify the location of the object to
256880              be deleted.
256881
256882              name: The name of the module function to execute.
256883
256884              xpath(str): The XPATH of the configuration API tree to control.
256885
256886              commit(bool): If true the firewall will commit the  changes,  if
256887              false do not commit changes.
256888
256889              SLS Example:
256890
256891                 panos/deletegroup:
256892                     panos.delete_config:
256893                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/address-group/entry[@name='test']
256894                       - commit: True
256895
256896       salt.states.panos.download_software(name,   version=None,  synch=False,
256897       check=False)
256898              Ensures that a software version is downloaded.
256899
256900              name: The name of the module function to execute.
256901
256902              version(str): The software version to check. If this version  is
256903              not  already  downloaded,  it  will attempt to download the file
256904              from Palo Alto.
256905
256906              synch(bool): If true, after downloading  the  file  it  will  be
256907              synched to its peer.
256908
256909              check(bool):  If  true,  the  PANOS device will first attempt to
256910              pull the most recent software inventory list from Palo Alto.
256911
256912              SLS Example:
256913
256914                 panos/version8.0.0:
256915                     panos.download_software:
256916                       - version: 8.0.0
256917                       - synch: False
256918                       - check: True
256919
256920       salt.states.panos.edit_config(name,   xpath=None,   value=None,    com‐
256921       mit=False)
256922              Edits  a  Palo  Alto XPATH to a specific value. This will always
256923              overwrite the existing value, even if it is not changed.
256924
256925              You can replace an existing  object  hierarchy  at  a  specified
256926              location  in  the  configuration with a new value. Use the xpath
256927              parameter to specify the location of the object,  including  the
256928              node to be replaced.
256929
256930              This  is  the  recommended  state to enforce configurations on a
256931              xpath.
256932
256933              name: The name of the module function to execute.
256934
256935              xpath(str): The XPATH of the configuration API tree to control.
256936
256937              value(str): The XML value to edit. This must be a child  to  the
256938              XPATH.
256939
256940              commit(bool):  If  true the firewall will commit the changes, if
256941              false do not commit changes.
256942
256943              SLS Example:
256944
256945                 panos/addressgroup:
256946                     panos.edit_config:
256947                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/address-group/entry[@name='test']
256948                       - value: <static><entry name='test'><member>abc</member><member>xyz</member></entry></static>
256949                       - commit: True
256950
256951       salt.states.panos.move_config(name, xpath=None,  where=None,  dst=None,
256952       commit=False)
256953              Moves a XPATH value to a new location.
256954
256955              Use the xpath parameter to specify the location of the object to
256956              be moved, the where parameter to specify type of move,  and  dst
256957              parameter to specify the destination path.
256958
256959              name: The name of the module function to execute.
256960
256961              xpath(str): The XPATH of the configuration API tree to move.
256962
256963              where(str):  The  type  of  move  to  execute. Valid options are
256964              after, before, top, bottom. The after and  before  options  will
256965              require the dst option to specify the destination of the action.
256966              The top action will move the XPATH to the top of its  structure.
256967              The  botoom  action  will  move  the  XPATH to the bottom of its
256968              structure.
256969
256970              dst(str): Optional. Specifies the destination to utilize  for  a
256971              move action. This is ignored for the top or bottom action.
256972
256973              commit(bool):  If  true the firewall will commit the changes, if
256974              false do not commit changes. If the operation is not successful,
256975              it will not commit.
256976
256977              SLS Example:
256978
256979                 panos/moveruletop:
256980                     panos.move_config:
256981                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
256982                       - where: top
256983                       - commit: True
256984
256985                 panos/moveruleafter:
256986                     panos.move_config:
256987                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
256988                       - where: after
256989                       - dst: rule2
256990                       - commit: True
256991
256992       salt.states.panos.remove_config_lock(name)
256993              Release config lock previously held.
256994
256995              name: The name of the module function to execute.
256996
256997              SLS Example:
256998
256999                 panos/takelock:
257000                     panos.remove_config_lock
257001
257002       salt.states.panos.rename_config(name,  xpath=None,  newname=None,  com‐
257003       mit=False)
257004              Rename a Palo Alto XPATH to a specific value. This  will  always
257005              rename the value even if a change is not needed.
257006
257007              name: The name of the module function to execute.
257008
257009              xpath(str): The XPATH of the configuration API tree to control.
257010
257011              newname(str): The new name of the XPATH value.
257012
257013              commit(bool):  If  true the firewall will commit the changes, if
257014              false do not commit changes.
257015
257016              SLS Example:
257017
257018                 panos/renamegroup:
257019                     panos.rename_config:
257020                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/address/entry[@name='old_address']
257021                       - value: new_address
257022                       - commit: True
257023
257024       salt.states.panos.security_rule_exists(name,  rulename=None,  vsys='1',
257025       action=None,   disabled=None,   sourcezone=None,  destinationzone=None,
257026       source=None, destination=None, application=None, service=None, descrip‐
257027       tion=None,   logsetting=None,   logstart=None,   logend=None,   negate‐
257028       source=None,   negatedestination=None,   profilegroup=None,    datafil‐
257029       ter=None,  fileblock=None,  spyware=None,  urlfilter=None,  virus=None,
257030       vulnerability=None,  wildfire=None,  move=None,  movetarget=None,  com‐
257031       mit=False)
257032              Ensures  that a security rule exists on the device. Also, ensure
257033              that all configurations are set appropriately.
257034
257035              This method will create the rule if it does not  exist.  If  the
257036              rule  does exist, it will ensure that the configurations are set
257037              appropriately.
257038
257039              If the rule does not exist and is created, any value that is not
257040              provided will be provided as the default.  The action, to, from,
257041              source, destination, application, and service fields are  manda‐
257042              tory and must be provided.
257043
257044              This  will  enforce the exact match of the rule. For example, if
257045              the rule is currently configured with the  log-end  option,  but
257046              this  option  is  not  specified in the state method, it will be
257047              removed and reset to the system default.
257048
257049              It is strongly recommended to  specify  all  options  to  ensure
257050              proper operation.
257051
257052              When  defining  the  profile group settings, the device can only
257053              support either a profile group or individual settings.  If  both
257054              are specified, the profile group will be preferred and the indi‐
257055              vidual settings are ignored. If neither are specified, the value
257056              will be set to system default of none.
257057
257058              name: The name of the module function to execute.
257059
257060              rulename(str):  The  name  of  the  security  rule.  The name is
257061              case-sensitive and can have up to 31 characters,  which  can  be
257062              letters,  numbers,  spaces,  hyphens,  and underscores. The name
257063              must be unique on a firewall and, on Panorama, unique within its
257064              device group and any ancestor or descendant device groups.
257065
257066              vsys(str): The string representation of the VSYS ID. Defaults to
257067              VSYS 1.
257068
257069              action(str): The action that the  security  rule  will  enforce.
257070              Valid    options   are:   allow,   deny,   drop,   reset-client,
257071              reset-server, reset-both.
257072
257073              disabled(bool): Controls if the rule is disabled. Set 'True'  to
257074              disable and 'False' to enable.
257075
257076              sourcezone(str,  list): The source zone(s). The value 'any' will
257077              match all zones.
257078
257079              destinationzone(str, list): The destination zone(s).  The  value
257080              'any' will match all zones.
257081
257082              source(str,  list): The source address(es). The value 'any' will
257083              match all addresses.
257084
257085              destination(str, list): The destination address(es).  The  value
257086              'any' will match all addresses.
257087
257088              application(str,  list):  The  application(s) matched. The value
257089              'any' will match all applications.
257090
257091              service(str, list): The service(s) matched. The value 'any' will
257092              match  all  services. The value 'application-default' will match
257093              based upon the application defined ports.
257094
257095              description(str): A description for the policy (up to 255  char‐
257096              acters).
257097
257098              logsetting(str): The name of a valid log forwarding profile.
257099
257100              logstart(bool): Generates a traffic log entry for the start of a
257101              session (disabled by default).
257102
257103              logend(bool): Generates a traffic log entry for  the  end  of  a
257104              session (enabled by default).
257105
257106              negatesource(bool):   Match   all   but   the  specified  source
257107              addresses.
257108
257109              negatedestination(bool): Match all but the specified destination
257110              addresses.
257111
257112              profilegroup(str): A valid profile group name.
257113
257114              datafilter(str):  A valid data filter profile name. Ignored with
257115              the profilegroup option set.
257116
257117              fileblock(str): A valid file blocking profile name. Ignored with
257118              the profilegroup option set.
257119
257120              spyware(str):  A  valid  spyware  profile name. Ignored with the
257121              profilegroup option set.
257122
257123              urlfilter(str): A valid URL filtering profile name. Ignored with
257124              the profilegroup option set.
257125
257126              virus(str):  A valid virus profile name. Ignored with the profi‐
257127              legroup option set.
257128
257129              vulnerability(str): A valid vulnerability profile name.  Ignored
257130              with the profilegroup option set.
257131
257132              wildfire(str):  A valid vulnerability profile name. Ignored with
257133              the profilegroup option set.
257134
257135              move(str): An optional argument that ensure the rule is moved to
257136              a   specific   location.  Valid  options  are  'top',  'bottom',
257137              'before', or 'after'. The 'before' and 'after'  options  require
257138              the  use  of the 'movetarget' argument to define the location of
257139              the move request.
257140
257141              movetarget(str): An optional argument that defines the target of
257142              the  move  operation  if the move argument is set to 'before' or
257143              'after'.
257144
257145              commit(bool): If true the firewall will commit the  changes,  if
257146              false do not commit changes.
257147
257148              SLS Example:
257149
257150                 panos/rulebase/security/rule01:
257151                     panos.security_rule_exists:
257152                       - rulename: rule01
257153                       - vsys: 1
257154                       - action: allow
257155                       - disabled: False
257156                       - sourcezone: untrust
257157                       - destinationzone: trust
257158                       - source:
257159                         - 10.10.10.0/24
257160                         - 1.1.1.1
257161                       - destination:
257162                         - 2.2.2.2-2.2.2.4
257163                       - application:
257164                         - any
257165                       - service:
257166                         - tcp-25
257167                       - description: My test security rule
257168                       - logsetting: logprofile
257169                       - logstart: False
257170                       - logend: True
257171                       - negatesource: False
257172                       - negatedestination: False
257173                       - profilegroup: myprofilegroup
257174                       - move: top
257175                       - commit: False
257176
257177                 panos/rulebase/security/rule01:
257178                     panos.security_rule_exists:
257179                       - rulename: rule01
257180                       - vsys: 1
257181                       - action: allow
257182                       - disabled: False
257183                       - sourcezone: untrust
257184                       - destinationzone: trust
257185                       - source:
257186                         - 10.10.10.0/24
257187                         - 1.1.1.1
257188                       - destination:
257189                         - 2.2.2.2-2.2.2.4
257190                       - application:
257191                         - any
257192                       - service:
257193                         - tcp-25
257194                       - description: My test security rule
257195                       - logsetting: logprofile
257196                       - logstart: False
257197                       - logend: False
257198                       - datafilter: foobar
257199                       - fileblock: foobar
257200                       - spyware: foobar
257201                       - urlfilter: foobar
257202                       - virus: foobar
257203                       - vulnerability: foobar
257204                       - wildfire: foobar
257205                       - move: after
257206                       - movetarget: rule02
257207                       - commit: False
257208
257209       salt.states.panos.service_exists(name, servicename=None, vsys=1, proto‐
257210       col=None, port=None, description=None, commit=False)
257211              Ensures that a service object exists in the configured state. If
257212              it  does  not  exist  or  is  not  configured with the specified
257213              attributes, it will be adjusted to match the specified values.
257214
257215              name: The name of the module function to execute.
257216
257217              servicename(str): The name of the security object.  The name  is
257218              case-sensitive  and  can  have  up to 31 characters, which an be
257219              letters, numbers, spaces, hyphens,  and  underscores.  The  name
257220              must be unique on a firewall and, on Panorama, unique within its
257221              device group and any ancestor or descendant device groups.
257222
257223              vsys(str): The string representation of the VSYS ID. Defaults to
257224              VSYS 1.
257225
257226              protocol(str):  The protocol that is used by the service object.
257227              The only valid options are tcp and udp.
257228
257229              port(str): The port number that is used by the  service  object.
257230              This  can  be  specified as a single integer or a valid range of
257231              ports.
257232
257233              description(str): A description for the policy (up to 255  char‐
257234              acters).
257235
257236              commit(bool):  If  true the firewall will commit the changes, if
257237              false do not commit changes.
257238
257239              SLS Example:
257240
257241                 panos/service/tcp-80:
257242                     panos.service_exists:
257243                       - servicename: tcp-80
257244                       - vsys: 1
257245                       - protocol: tcp
257246                       - port: 80
257247                       - description: Hypertext Transfer Protocol
257248                       - commit: False
257249
257250                 panos/service/udp-500-550:
257251                     panos.service_exists:
257252                       - servicename: udp-500-550
257253                       - vsys: 3
257254                       - protocol: udp
257255                       - port: 500-550
257256                       - commit: False
257257
257258       salt.states.panos.service_group_exists(name,  groupname=None,   vsys=1,
257259       members=None, description=None, commit=False)
257260              Ensures  that  a  service  group object exists in the configured
257261              state. If it does not exist or is not configured with the speci‐
257262              fied attributes, it will be adjusted to match the specified val‐
257263              ues.
257264
257265              This module will enforce group membership. If a group exists and
257266              contains members this state does not include, those members will
257267              be removed and replaced with the specified members in the state.
257268
257269              name: The name of the module function to execute.
257270
257271              groupname(str): The name of the service group object.  The  name
257272              is  case-sensitive and can have up to 31 characters, which an be
257273              letters, numbers, spaces, hyphens,  and  underscores.  The  name
257274              must be unique on a firewall and, on Panorama, unique within its
257275              device group and any ancestor or descendant device groups.
257276
257277              vsys(str): The string representation of the VSYS ID. Defaults to
257278              VSYS 1.
257279
257280              members(str, list): The members of the service group. These must
257281              be valid service objects or service groups on  the  system  that
257282              already exist prior to the execution of this state.
257283
257284              description(str):  A description for the policy (up to 255 char‐
257285              acters).
257286
257287              commit(bool): If true the firewall will commit the  changes,  if
257288              false do not commit changes.
257289
257290              SLS Example:
257291
257292                 panos/service-group/my-group:
257293                     panos.service_group_exists:
257294                       - groupname: my-group
257295                       - vsys: 1
257296                       - members:
257297                         - tcp-80
257298                         - custom-port-group
257299                       - description: A group that needs to exist
257300                       - commit: False
257301
257302       salt.states.panos.set_config(name,    xpath=None,    value=None,   com‐
257303       mit=False)
257304              Sets a Palo Alto XPATH to a specific  value.  This  will  always
257305              overwrite the existing value, even if it is not changed.
257306
257307              You  can  add  or create a new object at a specified location in
257308              the configuration hierarchy. Use the xpath parameter to  specify
257309              the location of the object in the configuration
257310
257311              name: The name of the module function to execute.
257312
257313              xpath(str): The XPATH of the configuration API tree to control.
257314
257315              value(str):  The  XML  value to set. This must be a child to the
257316              XPATH.
257317
257318              commit(bool): If true the firewall will commit the  changes,  if
257319              false do not commit changes.
257320
257321              SLS Example:
257322
257323                 panos/hostname:
257324                     panos.set_config:
257325                       - xpath: /config/devices/entry[@name='localhost.localdomain']/deviceconfig/system
257326                       - value: <hostname>foobar</hostname>
257327                       - commit: True
257328
257329   salt.states.pcs module
257330   Management of Pacemaker/Corosync clusters with PCS
257331       A  state  module  to  manage Pacemaker/Corosync clusters with the Pace‐
257332       maker/Corosync configuration system (PCS)
257333
257334       New in version 2016.110.
257335
257336
257337       depends
257338              pcs
257339
257340       Walkthrough     of     a     complete      PCS      cluster      setup:
257341       http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/
257342
257343       Requirements:
257344              PCS is installed, pcs service is started and  the  password  for
257345              the hacluster user is set and known.
257346
257347       Remark on the cibname variable used in the examples:
257348              The use of the cibname variable is optional.  Use it only if you
257349              want to deploy your changes into a cibfile first and  then  push
257350              it.   This  makes  only  sense  if  you  want to deploy multiple
257351              changes (which require each other) at once to the cluster.
257352
257353       At first the cibfile must be created:
257354
257355          mysql_pcs__cib_present_cib_for_galera:
257356              pcs.cib_present:
257357                  - cibname: cib_for_galera
257358                  - scope: None
257359                  - extra_args: None
257360
257361       Then the cibfile can be modified by creating resources (creating only 1
257362       resource for demonstration, see also 7.):
257363
257364          mysql_pcs__resource_present_galera:
257365              pcs.resource_present:
257366                  - resource_id: galera
257367                  - resource_type: "ocf:heartbeat:galera"
257368                  - resource_options:
257369                      - 'wsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org'
257370                      - '--master'
257371                  - cibname: cib_for_galera
257372
257373       After  modifying  the  cibfile, it can be pushed to the live CIB in the
257374       cluster:
257375
257376          mysql_pcs__cib_pushed_cib_for_galera:
257377              pcs.cib_pushed:
257378                  - cibname: cib_for_galera
257379                  - scope: None
257380                  - extra_args: None
257381
257382       Create a cluster from scratch:
257383
257384       1. Authorize nodes to each other:
257385
257386             pcs_auth__auth:
257387                 pcs.auth:
257388                     - nodes:
257389                         - node1.example.com
257390                         - node2.example.com
257391                     - pcsuser: hacluster
257392                     - pcspasswd: hoonetorg
257393                     - extra_args: []
257394
257395       2. Do the initial cluster setup:
257396
257397             pcs_setup__setup:
257398                 pcs.cluster_setup:
257399                     - nodes:
257400                         - node1.example.com
257401                         - node2.example.com
257402                     - pcsclustername: pcscluster
257403                     - extra_args:
257404                         - '--start'
257405                         - '--enable'
257406
257407       3. Optional: Set cluster properties:
257408
257409             pcs_properties__prop_has_value_no-quorum-policy:
257410                 pcs.prop_has_value:
257411                     - prop: no-quorum-policy
257412                     - value: ignore
257413                     - cibname: cib_for_cluster_settings
257414
257415       4. Optional: Set resource defaults:
257416
257417             pcs_properties__resource_defaults_to_resource-stickiness:
257418                 pcs.resource_defaults_to:
257419                     - default: resource-stickiness
257420                     - value: 100
257421                     - cibname: cib_for_cluster_settings
257422
257423       5. Optional: Set resource op defaults:
257424
257425             pcs_properties__resource_op_defaults_to_monitor-interval:
257426                 pcs.resource_op_defaults_to:
257427                     - op_default: monitor-interval
257428                     - value: 60s
257429                     - cibname: cib_for_cluster_settings
257430
257431       6. Configure Fencing (!is often not optional on production ready  clus‐
257432          ter!):
257433
257434             pcs_stonith__created_eps_fence:
257435                 pcs.stonith_present:
257436                     - stonith_id: eps_fence
257437                     - stonith_device_type: fence_eps
257438                     - stonith_device_options:
257439                         - 'pcmk_host_map=node1.example.org:01;node2.example.org:02'
257440                         - 'ipaddr=myepsdevice.example.org'
257441                         - 'power_wait=5'
257442                         - 'verbose=1'
257443                         - 'debug=/var/log/pcsd/eps_fence.log'
257444                         - 'login=hidden'
257445                         - 'passwd=hoonetorg'
257446                     - cibname: cib_for_stonith
257447
257448       7. Add resources to your cluster:
257449
257450             mysql_pcs__resource_present_galera:
257451                 pcs.resource_present:
257452                     - resource_id: galera
257453                     - resource_type: "ocf:heartbeat:galera"
257454                     - resource_options:
257455                         - 'wsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org'
257456                          - '--master'
257457                      - cibname: cib_for_galera
257458
257459       8. Optional: Add constraints (locations, colocations, orders):
257460
257461             haproxy_pcs__constraint_present_colocation-vip_galera-haproxy-clone-INFINITY:
257462                 pcs.constraint_present:
257463                     - constraint_id: colocation-vip_galera-haproxy-clone-INFINITY
257464                     - constraint_type: colocation
257465                     - constraint_options:
257466                         - 'add'
257467                         - 'vip_galera'
257468                         - 'with'
257469                         - 'haproxy-clone'
257470                     - cibname: cib_for_haproxy
257471
257472       New in version 2016.3.0.
257473
257474
257475       salt.states.pcs.auth(name,         nodes,         pcsuser=u'hacluster',
257476       pcspasswd=u'hacluster', extra_args=None)
257477              Ensure all nodes are authorized to the cluster
257478
257479              name   Irrelevant, not used (recommended: pcs_auth__auth)
257480
257481              nodes  a list of nodes which should be authorized to the cluster
257482
257483              pcsuser
257484                     user for communication with pcs (default: hacluster)
257485
257486              pcspasswd
257487                     password for pcsuser (default: hacluster)
257488
257489              extra_args
257490                     list of extra args for the 'pcs cluster auth' command
257491
257492              Example:
257493
257494                 pcs_auth__auth:
257495                     pcs.auth:
257496                         - nodes:
257497                             - node1.example.com
257498                             - node2.example.com
257499                         - pcsuser: hacluster
257500                         - pcspasswd: hoonetorg
257501                         - extra_args: []
257502
257503       salt.states.pcs.cib_present(name, cibname, scope=None, extra_args=None)
257504              Ensure that a CIB-file with the content of the current live  CIB
257505              is created
257506
257507              Should be run on one cluster node only (there may be races)
257508
257509              name   Irrelevant,     not     used    (recommended:    {{formu‐
257510                     laname}}__cib_present_{{cibname}})
257511
257512              cibname
257513                     name/path of the file containing the CIB
257514
257515              scope  specific section of the CIB (default:
257516
257517              extra_args
257518                     additional options for creating the CIB-file
257519
257520              Example:
257521
257522                 mysql_pcs__cib_present_cib_for_galera:
257523                     pcs.cib_present:
257524                         - cibname: cib_for_galera
257525                         - scope: None
257526                         - extra_args: None
257527
257528       salt.states.pcs.cib_pushed(name, cibname, scope=None, extra_args=None)
257529              Ensure that a CIB-file is pushed if it is changed since the cre‐
257530              ation of it with pcs.cib_present
257531
257532              Should be run on one cluster node only (there may be races)
257533
257534              name   Irrelevant,     not     used    (recommended:    {{formu‐
257535                     laname}}__cib_pushed_{{cibname}})
257536
257537              cibname
257538                     name/path of the file containing the CIB
257539
257540              scope  specific section of the CIB
257541
257542              extra_args
257543                     additional options for creating the CIB-file
257544
257545              Example:
257546
257547                 mysql_pcs__cib_pushed_cib_for_galera:
257548                     pcs.cib_pushed:
257549                         - cibname: cib_for_galera
257550                         - scope: None
257551                         - extra_args: None
257552
257553       salt.states.pcs.cluster_node_present(name, node, extra_args=None)
257554              Add a node to the Pacemaker cluster via PCS Should be run on one
257555              cluster  node  only  (there  may  be races) Can only be run on a
257556              already setup/added node
257557
257558              name   Irrelevant,    not    used     (recommended:     pcs_set‐
257559                     up__node_add_{{node}})
257560
257561              node   node that should be added
257562
257563              extra_args
257564                     list of extra args for the 'pcs cluster node add' command
257565
257566              Example:
257567
257568                 pcs_setup__node_add_node1.example.com:
257569                     pcs.cluster_node_present:
257570                         - node: node1.example.com
257571                         - extra_args:
257572                             - '--start'
257573                             - '--enable'
257574
257575       salt.states.pcs.cluster_setup(name,   nodes,  pcsclustername=u'pcsclus‐
257576       ter', extra_args=None)
257577              Setup Pacemaker cluster on nodes.  Should be run on one  cluster
257578              node only (there may be races)
257579
257580              name   Irrelevant, not used (recommended: pcs_setup__setup)
257581
257582              nodes  a list of nodes which should be set up
257583
257584              pcsclustername
257585                     Name of the Pacemaker cluster
257586
257587              extra_args
257588                     list of extra args for the 'pcs cluster setup' command
257589
257590              Example:
257591
257592                 pcs_setup__setup:
257593                     pcs.cluster_setup:
257594                         - nodes:
257595                             - node1.example.com
257596                             - node2.example.com
257597                         - pcsclustername: pcscluster
257598                         - extra_args:
257599                             - '--start'
257600                             - '--enable'
257601
257602       salt.states.pcs.constraint_present(name,       constraint_id,      con‐
257603       straint_type, constraint_options=None, cibname=None)
257604              Ensure that a constraint is created
257605
257606              Should be run on one cluster node only (there may be races)  Can
257607              only be run on a node with a functional pacemaker/corosync
257608
257609              name   Irrelevant,  not used (recommended: {{formulaname}}__con‐
257610                     straint_present_{{constraint_id}})
257611
257612              constraint_id
257613                     name for the constraint (try first to create manually  to
257614                     find out the autocreated name)
257615
257616              constraint_type
257617                     constraint type (location, colocation, order)
257618
257619              constraint_options
257620                     options for creating the constraint
257621
257622              cibname
257623                     use  a  cached CIB-file named like cibname instead of the
257624                     live CIB
257625
257626              Example:
257627
257628                 haproxy_pcs__constraint_present_colocation-vip_galera-haproxy-clone-INFINITY:
257629                     pcs.constraint_present:
257630                         - constraint_id: colocation-vip_galera-haproxy-clone-INFINITY
257631                         - constraint_type: colocation
257632                         - constraint_options:
257633                             - 'add'
257634                             - 'vip_galera'
257635                             - 'with'
257636                             - 'haproxy-clone'
257637                         - cibname: cib_for_haproxy
257638
257639       salt.states.pcs.prop_has_value(name, prop, value, extra_args=None, cib‐
257640       name=None)
257641              Ensure that a property in the cluster is set to a given value
257642
257643              Should be run on one cluster node only (there may be races)
257644
257645              name   Irrelevant,    not    used    (recommended:   pcs_proper‐
257646                     ties__prop_has_value_{{prop}})
257647
257648              prop   name of the property
257649
257650              value  value of the property
257651
257652              extra_args
257653                     additional options for the pcs property command
257654
257655              cibname
257656                     use a cached CIB-file named like cibname instead  of  the
257657                     live CIB
257658
257659              Example:
257660
257661                 pcs_properties__prop_has_value_no-quorum-policy:
257662                     pcs.prop_has_value:
257663                         - prop: no-quorum-policy
257664                         - value: ignore
257665                         - cibname: cib_for_cluster_settings
257666
257667       salt.states.pcs.resource_defaults_to(name,        default,       value,
257668       extra_args=None, cibname=None)
257669              Ensure a resource default in the cluster is set to a given value
257670
257671              Should be run on one cluster node only (there may be races)  Can
257672              only be run on a node with a functional pacemaker/corosync
257673
257674              name   Irrelevant,    not    used    (recommended:   pcs_proper‐
257675                     ties__resource_defaults_to_{{default}})
257676
257677              default
257678                     name of the default resource property
257679
257680              value  value of the default resource property
257681
257682              extra_args
257683                     additional options for the pcs command
257684
257685              cibname
257686                     use a cached CIB-file named like cibname instead  of  the
257687                     live CIB
257688
257689              Example:
257690
257691                 pcs_properties__resource_defaults_to_resource-stickiness:
257692                     pcs.resource_defaults_to:
257693                         - default: resource-stickiness
257694                         - value: 100
257695                         - cibname: cib_for_cluster_settings
257696
257697       salt.states.pcs.resource_op_defaults_to(name,     op_default,    value,
257698       extra_args=None, cibname=None)
257699              Ensure a resource operation default in the cluster is set  to  a
257700              given value
257701
257702              Should  be run on one cluster node only (there may be races) Can
257703              only be run on a node with a functional pacemaker/corosync
257704
257705              name   Irrelevant,   not    used    (recommended:    pcs_proper‐
257706                     ties__resource_op_defaults_to_{{op_default}})
257707
257708              op_default
257709                     name of the operation default resource property
257710
257711              value  value of the operation default resource property
257712
257713              extra_args
257714                     additional options for the pcs command
257715
257716              cibname
257717                     use  a  cached CIB-file named like cibname instead of the
257718                     live CIB
257719
257720              Example:
257721
257722                 pcs_properties__resource_op_defaults_to_monitor-interval:
257723                     pcs.resource_op_defaults_to:
257724                         - op_default: monitor-interval
257725                         - value: 60s
257726                         - cibname: cib_for_cluster_settings
257727
257728       salt.states.pcs.resource_present(name,   resource_id,    resource_type,
257729       resource_options=None, cibname=None)
257730              Ensure that a resource is created
257731
257732              Should  be run on one cluster node only (there may be races) Can
257733              only be run on a node with a functional pacemaker/corosync
257734
257735              name   Irrelevant,    not    used     (recommended:     {{formu‐
257736                     laname}}__resource_present_{{resource_id}})
257737
257738              resource_id
257739                     name for the resource
257740
257741              resource_type
257742                     resource type (f.e. ocf:heartbeat:IPaddr2 or VirtualIP)
257743
257744              resource_options
257745                     additional options for creating the resource
257746
257747              cibname
257748                     use  a  cached CIB-file named like cibname instead of the
257749                     live CIB
257750
257751              Example:
257752
257753                 mysql_pcs__resource_present_galera:
257754                     pcs.resource_present:
257755                         - resource_id: galera
257756                         - resource_type: "ocf:heartbeat:galera"
257757                         - resource_options:
257758                             - 'wsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org'
257759                             - '--master'
257760                         - cibname: cib_for_galera
257761
257762       salt.states.pcs.stonith_present(name, stonith_id,  stonith_device_type,
257763       stonith_device_options=None, cibname=None)
257764              Ensure that a fencing resource is created
257765
257766              Should  be run on one cluster node only (there may be races) Can
257767              only be run on a node with a functional pacemaker/corosync
257768
257769              name   Irrelevant,  not  used  (recommended:   pcs_stonith__cre‐
257770                     ated_{{stonith_id}})
257771
257772              stonith_id
257773                     name for the stonith resource
257774
257775              stonith_device_type
257776                     name of the stonith agent fence_eps, fence_xvm f.e.
257777
257778              stonith_device_options
257779                     additional options for creating the stonith resource
257780
257781              cibname
257782                     use  a  cached CIB-file named like cibname instead of the
257783                     live CIB
257784
257785              Example:
257786
257787                 pcs_stonith__created_eps_fence:
257788                     pcs.stonith_present:
257789                         - stonith_id: eps_fence
257790                         - stonith_device_type: fence_eps
257791                         - stonith_device_options:
257792                             - 'pcmk_host_map=node1.example.org:01;node2.example.org:02'
257793                             - 'ipaddr=myepsdevice.example.org'
257794                             - 'power_wait=5'
257795                             - 'verbose=1'
257796                             - 'debug=/var/log/pcsd/eps_fence.log'
257797                             - 'login=hidden'
257798                             - 'passwd=hoonetorg'
257799                         - cibname: cib_for_stonith
257800
257801   salt.states.pecl
257802   Installation of PHP Extensions Using pecl
257803       These states manage the installed pecl extensions. Note  that  php-pear
257804       must  be  installed  for  these  states to be available, so pecl states
257805       should include a requisite to a pkg.installed  state  for  the  package
257806       which provides pecl (php-pear in most cases). Example:
257807
257808          php-pear:
257809            pkg.installed
257810
257811          mongo:
257812            pecl.installed:
257813              - require:
257814                - pkg: php-pear
257815
257816       salt.states.pecl.installed(name,      version=None,     defaults=False,
257817       force=False, preferred_state=u'stable')
257818              New in version 0.17.0.
257819
257820
257821              Make sure that a pecl extension is installed.
257822
257823              name   The pecl extension name to install
257824
257825              version
257826                     The pecl extension version to install. This option may be
257827                     ignored to install the latest stable version.
257828
257829              defaults
257830                     Use  default  answers  for  extensions  such as pecl_http
257831                     which ask questions  before  installation.  Without  this
257832                     option,  the  pecl.installed state will hang indefinitely
257833                     when trying to install these extensions.
257834
257835              force  Whether to force the installed version or not
257836
257837              preferred_state
257838                     The pecl extension state to install
257839
257840       salt.states.pecl.removed(name)
257841              Make sure that a pecl extension is not installed.
257842
257843              name   The pecl extension name to uninstall
257844
257845   salt.states.pdbedit
257846       Manage accounts in Samba's passdb using pdbedit
257847
257848       maintainer
257849              Jorge Schrauwen <sjorge@blackdot.be>
257850
257851       maturity
257852              new
257853
257854       depends
257855              pdbedit
257856
257857       platform
257858              posix
257859
257860       New in version 2017.7.0.
257861
257862
257863          wash:
257864            pdbedit.absent
257865
257866          kaylee:
257867            pdbedit.managed:
257868              - password: A70C708517B5DD0EDB67714FE25336EB
257869              - password_hashed: True
257870              - drive: 'X:'
257871              - homedir: '\\serenity\mechanic\profile'
257872
257873       salt.states.pdbedit.absent(name)
257874              Ensure user account is absent
257875
257876              name   string username
257877
257878       salt.states.pdbedit.managed(name, **kwargs)
257879              Manage user account
257880
257881              login  string login name
257882
257883              password
257884                     string password
257885
257886              password_hashed
257887                     boolean set if password is a nt  hash  instead  of  plain
257888                     text
257889
257890              domain string users domain
257891
257892              profile
257893                     string profile path
257894
257895              script string logon script
257896
257897              drive  string home drive
257898
257899              homedir
257900                     string home directory
257901
257902              fullname
257903                     string full name
257904
257905              account_desc
257906                     string account description
257907
257908              machine_sid
257909                     string specify the machines new primary group SID or rid
257910
257911              user_sid
257912                     string specify the users new primary group SID or rid
257913
257914              account_control
257915                     string specify user account control properties
257916
257917                     NOTE:
257918                        Only  the  following  can  be  set:  -  N: No password
257919                        required - D: Account disabled  -  H:  Home  directory
257920                        required - L: Automatic Locking - X: Password does not
257921                        expire
257922
257923              reset_login_hours
257924                     boolean reset the users allowed logon hours
257925
257926              reset_bad_password_count
257927                     boolean reset the stored bad login counter
257928
257929       salt.states.pdbedit.present(name, **kwargs)
257930              Alias for pdbedit.managed
257931
257932   salt.states.pip_state
257933   Installation of Python Packages Using pip
257934       These states manage system installed python  packages.  Note  that  pip
257935       must  be  installed  for  these  states  to be available, so pip states
257936       should include a requisite to a pkg.installed  state  for  the  package
257937       which provides pip (python-pip in most cases). Example:
257938
257939          python-pip:
257940            pkg.installed
257941
257942          virtualenvwrapper:
257943            pip.installed:
257944              - require:
257945                - pkg: python-pip
257946
257947       salt.states.pip_state.installed(name, pkgs=None, pip_bin=None, require‐
257948       ments=None,    bin_env=None,    use_wheel=False,    no_use_wheel=False,
257949       log=None,    proxy=None,    timeout=None,   repo=None,   editable=None,
257950       find_links=None, index_url=None, extra_index_url=None,  no_index=False,
257951       mirrors=None,    build=None,    target=None,    download=None,    down‐
257952       load_cache=None,  source=None,  upgrade=False,   force_reinstall=False,
257953       ignore_installed=False,        exists_action=None,       no_deps=False,
257954       no_install=False,       no_download=False,        install_options=None,
257955       global_options=None,     user=None,    cwd=None,    pre_releases=False,
257956       cert=None, allow_all_external=False, allow_external=None, allow_unveri‐
257957       fied=None, process_dependency_links=False, env_vars=None, use_vt=False,
257958       trusted_host=None, no_cache_dir=False, cache_dir=None,  no_binary=None,
257959       extra_args=None, **kwargs)
257960              Make sure the package is installed
257961
257962              name   The  name  of the python package to install. You can also
257963                     specify version numbers here using the standard operators
257964                     ==, >=, <=. If requirements is given, this parameter will
257965                     be ignored.
257966
257967              Example:
257968
257969                 django:
257970                   pip.installed:
257971                     - name: django >= 1.6, <= 1.7
257972                     - require:
257973                       - pkg: python-pip
257974
257975              This will install the latest Django version greater than 1.6 but
257976              less than 1.7.
257977
257978              requirements
257979                     Path  to a pip requirements file. If the path begins with
257980                     salt:// the file will be transferred from the master file
257981                     server.
257982
257983              user   The user under which to run pip
257984
257985              use_wheel
257986                     False Prefer wheel archives (requires pip>=1.4)
257987
257988              no_use_wheel
257989                     False Force to not use wheel archives (requires pip>=1.4)
257990
257991              no_binary
257992                     Force  to not use binary packages (requires pip >= 7.0.0)
257993                     Accepts either :all:  to  disable  all  binary  packages,
257994                     :none:  to  empty the set, or a list of one or more pack‐
257995                     ages
257996
257997              Example:
257998
257999                 django:
258000                   pip.installed:
258001                     - no_binary: ':all:'
258002
258003                 flask:
258004                   pip.installed:
258005                     - no_binary:
258006                       - itsdangerous
258007                       - click
258008
258009              log    Log file where a complete (maximum verbosity) record will
258010                     be kept
258011
258012              proxy  Specify       a       proxy       in       the       form
258013                     user:passwd@proxy.server:port. Note that  the  user:pass‐
258014                     word@  is optional and required only if you are behind an
258015                     authenticated      proxy.       If      you       provide
258016                     user@proxy.server:port  then  you  will be prompted for a
258017                     password.
258018
258019              timeout
258020                     Set the socket timeout (default 15 seconds)
258021
258022              editable
258023                     install         something         editable          (i.e.
258024                     git+https://github.com/worldcompany/djangoem
258025                     bed.git#egg=djangoembed)
258026
258027              find_links
258028                     URL to look for packages at
258029
258030              index_url
258031                     Base URL of Python Package Index
258032
258033              extra_index_url
258034                     Extra URLs of package  indexes  to  use  in  addition  to
258035                     index_url
258036
258037              no_index
258038                     Ignore package index
258039
258040              mirrors
258041                     Specific  mirror  URL(s)  to  query  (automatically  adds
258042                     --use-mirrors)
258043
258044              build  Unpack packages into build dir
258045
258046              target Install packages into target dir
258047
258048              download
258049                     Download packages into  download  instead  of  installing
258050                     them
258051
258052              download_cache
258053                     Cache downloaded packages in download_cache dir
258054
258055              source Check out editable packages into source dir
258056
258057              upgrade
258058                     Upgrade all packages to the newest available version
258059
258060              force_reinstall
258061                     When  upgrading,  reinstall all packages even if they are
258062                     already up-to-date.
258063
258064              ignore_installed
258065                     Ignore the installed packages (reinstalling instead)
258066
258067              exists_action
258068                     Default action when  a  path  already  exists:  (s)witch,
258069                     (i)gnore, (w)ipe, (b)ackup
258070
258071              no_deps
258072                     Ignore package dependencies
258073
258074              no_install
258075                     Download  and  unpack  all  packages,  but don't actually
258076                     install them
258077
258078              no_cache_dir:
258079                     Disable the cache.
258080
258081              cwd    Current working directory to run pip from
258082
258083              pre_releases
258084                     Include pre-releases in the available versions
258085
258086              cert   Provide a path to an alternate CA bundle
258087
258088              allow_all_external
258089                     Allow the installation of all externally hosted files
258090
258091              allow_external
258092                     Allow the installation of externally hosted files  (comma
258093                     separated list)
258094
258095              allow_unverified
258096                     Allow the installation of insecure and unverifiable files
258097                     (comma separated list)
258098
258099              process_dependency_links
258100                     Enable the processing of dependency links
258101
258102              bin_env
258103                     None Absolute path to a virtual environment directory  or
258104                     absolute  path  to  a  pip  executable. The example below
258105                     assumes  a  virtual  environment  has  been  created   at
258106                     /foo/.virtualenvs/bar.
258107
258108              env_vars
258109                     Add  or modify environment variables. Useful for tweaking
258110                     build steps, such as specifying INCLUDE or LIBRARY  paths
258111                     in Makefiles, build scripts or compiler calls.  This must
258112                     be in the form of a dictionary or a mapping.
258113
258114                     Example:
258115
258116                        django:
258117                          pip.installed:
258118                            - name: django_app
258119                            - env_vars:
258120                                CUSTOM_PATH: /opt/django_app
258121                                VERBOSE: True
258122
258123              use_vt Use VT terminal emulation (see output while installing)
258124
258125              trusted_host
258126                     Mark this host as trusted, even though it does  not  have
258127                     valid or any HTTPS.
258128
258129              Example:
258130
258131                 django:
258132                   pip.installed:
258133                     - name: django >= 1.6, <= 1.7
258134                     - bin_env: /foo/.virtualenvs/bar
258135                     - require:
258136                       - pkg: python-pip
258137
258138              Or
258139
258140              Example:
258141
258142                 django:
258143                   pip.installed:
258144                     - name: django >= 1.6, <= 1.7
258145                     - bin_env: /foo/.virtualenvs/bar/bin/pip
258146                     - require:
258147                       - pkg: python-pip
258148
258149                 Attention
258150
258151                        The following arguments are deprecated, do not use.
258152
258153              pip_bin
258154                     None Deprecated, use bin_env
258155
258156              Changed in version 0.17.0: use_wheel option added.
258157
258158
258159              install_options
258160                 Extra  arguments  to be supplied to the setup.py install com‐
258161                 mand.  If you are using an option with a directory  path,  be
258162                 sure to use absolute path.
258163
258164                 Example:
258165
258166                     django:
258167                       pip.installed:
258168                         - name: django
258169                         - install_options:
258170                           - --prefix=/blah
258171                         - require:
258172                           - pkg: python-pip
258173
258174              global_options
258175                     Extra  global options to be supplied to the setup.py call
258176                     before the install command.
258177
258178                     New in version 2014.1.3.
258179
258180
258181                 Attention
258182
258183                        As of Salt 0.17.0 the pip state  needs  an  importable
258184                        pip  module.   This  usually means having the system's
258185                        pip package installed or running Salt from  an  active
258186                        virtualenv.
258187
258188                        The reason for this requirement is because pip already
258189                        does a pretty good job parsing its  own  requirements.
258190                        It  makes  no  sense  for  Salt to do pip requirements
258191                        parsing and validation before passing them to the  pip
258192                        library.  It's functionality duplication and it's more
258193                        error prone.
258194
258195                 Attention
258196
258197                        Please set reload_modules: True to have the salt  min‐
258198                        ion import this module after installation.
258199
258200              Example:
258201
258202                 pyopenssl:
258203                     pip.installed:
258204                         - name: pyOpenSSL
258205                         - reload_modules: True
258206                         - exists_action: i
258207
258208              extra_args
258209                     pip  keyword and positional arguments not yet implemented
258210                     in salt
258211
258212                        pandas:
258213                          pip.installed:
258214                            - name: pandas
258215                            - extra_args:
258216                              - --latest-pip-kwarg: param
258217                              - --latest-pip-arg
258218
258219                     WARNING:
258220                        If unsupported options are passed here  that  are  not
258221                        supported  in  a  minion's  version  of pip, a No such
258222                        option error will be thrown.
258223
258224       salt.states.pip_state.pip_has_exceptions_mod(ver)
258225              True when the pip version has the pip.exceptions module
258226
258227       salt.states.pip_state.pip_has_internal_exceptions_mod(ver)
258228              True when the pip version has the pip._internal.exceptions  mod‐
258229              ule
258230
258231       salt.states.pip_state.purge_pip()
258232              Purge pip and it's sub-modules
258233
258234       salt.states.pip_state.removed(name,   requirements=None,  bin_env=None,
258235       log=None, proxy=None, timeout=None, user=None, cwd=None, use_vt=False)
258236              Make sure that a package is not installed.
258237
258238              name   The name of the package to uninstall
258239
258240              user   The user under which to run pip
258241
258242              bin_env
258243                     None the pip executable or virtualenenv to use
258244
258245              use_vt Use VT terminal emulation (see output while installing)
258246
258247       salt.states.pip_state.uptodate(name, bin_env=None, user=None, cwd=None,
258248       use_vt=False)
258249              New in version 2015.5.0.
258250
258251
258252              Verify that the system is completely up to date.
258253
258254              name   The  name  has  no functional value and is only used as a
258255                     tracking reference
258256
258257              user   The user under which to run pip
258258
258259              bin_env
258260                     the pip executable or virtualenenv to use
258261
258262              use_vt Use VT terminal emulation (see output while installing)
258263
258264   salt.states.pkg
258265   Installation of packages using OS package managers such as yum or apt-get
258266       NOTE:
258267          On minions running systemd>=205, as of version 2015.8.12,  2016.3.3,
258268          and  2016.11.0, systemd-run(1) is now used to isolate commands which
258269          modify installed packages  from  the  salt-minion  daemon's  control
258270          group. This is done to keep systemd from killing the package manager
258271          commands spawned by Salt, when Salt updates itself (see KillMode  in
258272          the systemd.kill(5) manpage for more information). If desired, usage
258273          of systemd-run(1) can be  suppressed  by  setting  a  config  option
258274          called systemd.use_scope, with a value of False (no quotes).
258275
258276       Salt  can  manage  software packages via the pkg state module, packages
258277       can be set up to be installed, latest, removed and purged. Package man‐
258278       agement declarations are typically rather simple:
258279
258280          vim:
258281            pkg.installed
258282
258283       A more involved example involves pulling from a custom repository.
258284
258285          base:
258286            pkgrepo.managed:
258287              - name: ppa:wolfnet/logstash
258288              - dist: precise
258289              - file: /etc/apt/sources.list.d/logstash.list
258290              - keyid: 28B04E4A
258291              - keyserver: keyserver.ubuntu.com
258292
258293          logstash:
258294            pkg.installed:
258295              - fromrepo: ppa:wolfnet/logstash
258296
258297       Multiple  packages can also be installed with the use of the pkgs state
258298       module
258299
258300          dotdeb.repo:
258301            pkgrepo.managed:
258302              - name: deb http://packages.dotdeb.org wheezy-php55 all
258303              - dist: wheezy-php55
258304              - file: /etc/apt/sources.list.d/dotbeb.list
258305              - keyid: 89DF5277
258306              - keyserver: keys.gnupg.net
258307              - refresh_db: true
258308
258309          php.packages:
258310            pkg.installed:
258311              - fromrepo: wheezy-php55
258312              - pkgs:
258313                - php5-fpm
258314                - php5-cli
258315                - php5-curl
258316
258317       WARNING:
258318          Package names are currently case-sensitive. If the minion is using a
258319          package  manager  which  is not case-sensitive (such as pkgng), then
258320          this state will fail if the proper case is not used.  This  will  be
258321          addressed in a future release of Salt.
258322
258323       salt.states.pkg.downloaded(name,    version=None,    pkgs=None,   from‐
258324       repo=None, ignore_epoch=None, **kwargs)
258325              New in version 2017.7.0.
258326
258327
258328              Ensure that the package is downloaded, and that it is  the  cor‐
258329              rect version (if specified).
258330
258331              Currently  supported  for  the  following pkg providers: yumpkg,
258332              zypper and zypper
258333
258334              Parameters
258335
258336                     · name (str) -- The name of the package to be downloaded.
258337                       This  parameter  is  ignored  if either "pkgs" is used.
258338                       Additionally, please note that this option can only  be
258339                       used to download packages from a software repository.
258340
258341                     · version (str) --
258342
258343                       Download a specific version of a package.
258344
258345                       IMPORTANT:
258346                          As  of  version  2015.8.7,  for  distros  which  use
258347                          yum/dnf,  packages  which  have  a  version  with  a
258348                          nonzero  epoch (that is, versions which start with a
258349                          number followed by  a  colon  must  have  the  epoch
258350                          included  when  specifying  the  version number. For
258351                          example:
258352
258353                              vim-enhanced:
258354                                pkg.downloaded:
258355                                  - version: 2:7.4.160-1.el7
258356
258357                          An ignore_epoch argument has  been  added  to  which
258358                          causes  the  epoch  to be disregarded when the state
258359                          checks to see if the desired version was installed.
258360
258361                          You can install a specific version  when  using  the
258362                          pkgs  argument  by  including  the version after the
258363                          package:
258364
258365                              common_packages:
258366                                pkg.downloaded:
258367                                  - pkgs:
258368                                    - unzip
258369                                    - dos2unix
258370                                    - salt-minion: 2015.8.5-1.el6
258371
258372
258373                     · resolve_capabilities (bool) --
258374
258375                       Turn on resolving capabilities. This allow one to  name
258376                       "provides" or alias names for packages.
258377
258378                       New in version 2018.3.0.
258379
258380
258381
258382              CLI Example:
258383
258384                 zsh:
258385                   pkg.downloaded:
258386                     - version: 5.0.5-4.63
258387                     - fromrepo: "myrepository"
258388
258389       salt.states.pkg.group_installed(name,      skip=None,     include=None,
258390       **kwargs)
258391              New in version 2015.8.0.
258392
258393
258394              Changed in version 2016.11.0: Added support in pacman
258395
258396
258397              Ensure that an entire package group is installed. This state  is
258398              currently  only  supported  for  the yum and pacman package man‐
258399              agers.
258400
258401              skip   Packages that would normally be installed by the  package
258402                     group   ("default"   packages),   which   should  not  be
258403                     installed.
258404
258405                        Load Balancer:
258406                          pkg.group_installed:
258407                            - skip:
258408                              - piranha
258409
258410              include
258411                     Packages which are included in a group, which  would  not
258412                     normally  be  installed by a yum groupinstall ("optional"
258413                     packages). Note that this will not enforce group  member‐
258414                     ship;  if  you  include packages which are not members of
258415                     the specified groups, they will still be installed.
258416
258417                        Load Balancer:
258418                          pkg.group_installed:
258419                            - include:
258420                              - haproxy
258421
258422                     Changed in version 2016.3.0: This option can no longer be
258423                     passed  as  a comma-separated list, it must now be passed
258424                     as a list (as shown in the above example).
258425
258426
258427              NOTE:
258428                 Because this is essentially a wrapper around pkg.install, any
258429                 argument  which  can  be  passed  to  pkg.install may also be
258430                 included here, and it will  be  passed  on  to  the  call  to
258431                 pkg.install.
258432
258433       salt.states.pkg.installed(name,   version=None,   refresh=None,   from‐
258434       repo=None,   skip_verify=False,   skip_suggestions=False,    pkgs=None,
258435       sources=None,  allow_updates=False,  pkg_verify=False,  normalize=True,
258436       ignore_epoch=False, reinstall=False, update_holds=False, **kwargs)
258437              Ensure that the package is installed, and that it is the correct
258438              version (if specified).
258439
258440              Parameters
258441
258442                     · name  (str) -- The name of the package to be installed.
258443                       This parameter is ignored if either "pkgs" or "sources"
258444                       is used. Additionally, please note that this option can
258445                       only be used to install packages from a software repos‐
258446                       itory.   To  install  a  package file manually, use the
258447                       "sources" option detailed below.
258448
258449                     · version (str) --
258450
258451                       Install a specific version of a package. This option is
258452                       ignored if "sources" is used. Currently, this option is
258453                       supported for the following pkg providers: apt, ebuild,
258454                       pacman, pkgin, win_pkg, yumpkg, and zypper. The version
258455                       number includes the release designation where  applica‐
258456                       ble,  to  allow  Salt to target a specific release of a
258457                       given version. When in doubt, using the pkg.latest_ver‐
258458                       sion  function for an uninstalled package will tell you
258459                       the version available.
258460
258461                          # salt myminion pkg.latest_version vim-enhanced
258462                          myminion:
258463                              2:7.4.160-1.el7
258464
258465                       IMPORTANT:
258466                          As  of  version  2015.8.7,  for  distros  which  use
258467                          yum/dnf,  packages  which  have  a  version  with  a
258468                          nonzero epoch (that is, versions which start with  a
258469                          number  followed  by  a  colon  like in the pkg.lat‐
258470                          est_version  output  above)  must  have  the   epoch
258471                          included  when  specifying  the  version number. For
258472                          example:
258473
258474                              vim-enhanced:
258475                                pkg.installed:
258476                                  - version: 2:7.4.160-1.el7
258477
258478                          In version 2015.8.9, an  ignore_epoch  argument  has
258479                          been   added   to  pkg.installed,  pkg.removed,  and
258480                          pkg.purged states, which causes the epoch to be dis‐
258481                          regarded when the state checks to see if the desired
258482                          version was installed.
258483
258484                       Also, while this function is not  yet  implemented  for
258485                       all  pkg  frontends,  pkg.list_repo_pkgs  will show all
258486                       versions available in the various  repositories  for  a
258487                       given  package,  irrespective  of  whether or not it is
258488                       installed.
258489
258490                          # salt myminion pkg.list_repo_pkgs bash
258491                          myminion:
258492                          ----------
258493                              bash:
258494                                  - 4.2.46-21.el7_3
258495                                  - 4.2.46-20.el7_2
258496
258497                       This function was first added for pkg.list_repo_pkgs in
258498                       2014.1.0,  and  was  expanded to Debian/Ubuntu and Arch
258499                       Linux-based distros in the 2017.7.0 release.
258500
258501                       The version strings returned by either of  these  func‐
258502                       tions can be used as version specifiers in pkg states.
258503
258504                       You  can install a specific version when using the pkgs
258505                       argument by including the version after the package:
258506
258507                          common_packages:
258508                            pkg.installed:
258509                              - pkgs:
258510                                - unzip
258511                                - dos2unix
258512                                - salt-minion: 2015.8.5-1.el6
258513
258514                       If the version given is the string latest,  the  latest
258515                       available  package  version  will  be  installed  à  la
258516                       pkg.latest.
258517
258518                       WILDCARD VERSIONS
258519
258520                       As of the 2017.7.0 release,  this  state  now  supports
258521                       wildcards  in  package versions for SUSE SLES/Leap/Tum‐
258522                       bleweed, Debian/Ubuntu, RHEL/CentOS,  Arch  Linux,  and
258523                       their  derivatives.  Using  wildcards can be useful for
258524                       packages where the release name is built into the  ver‐
258525                       sion  in  some way, such as for RHEL/CentOS which typi‐
258526                       cally has version numbers like 1.2.34-5.el7. An example
258527                       of the usage for this would be:
258528
258529                          mypkg:
258530                            pkg.installed:
258531                              - version: '1.2.34*'
258532
258533                       Keep  in  mind that using wildcard versions will result
258534                       in a slower state run since Salt must gather the avail‐
258535                       able  versions of the specified packages and figure out
258536                       which of them match the specified wildcard expression.
258537
258538
258539                     · refresh (bool) --
258540
258541                       This parameter controls whether or not the package repo
258542                       database  is  updated prior to installing the requested
258543                       package(s).
258544
258545                       If  True,  the  package  database  will  be   refreshed
258546                       (apt-get  update  or equivalent, depending on platform)
258547                       before installing.
258548
258549                       If False, the package database will  not  be  refreshed
258550                       before installing.
258551
258552                       If  unset,  then Salt treats package database refreshes
258553                       differently depending on whether or not a pkg state has
258554                       been executed already during the current Salt run. Once
258555                       a refresh has been performed in a pkg  state,  for  the
258556                       remainder  of  that Salt run no other refreshes will be
258557                       performed for pkg states which do  not  explicitly  set
258558                       refresh  to  True.  This  prevents  needless additional
258559                       refreshes from slowing down the Salt run.
258560
258561
258562                     · cache_valid_time (str) --
258563
258564                       New in version 2016.11.0.
258565
258566
258567                       This parameter sets the value in  seconds  after  which
258568                       the  cache  is marked as invalid, and a cache update is
258569                       necessary.  This  overwrites  the  refresh  parameter's
258570                       default behavior.
258571
258572                       Example:
258573
258574                          httpd:
258575                            pkg.installed:
258576                              - fromrepo: mycustomrepo
258577                              - skip_verify: True
258578                              - skip_suggestions: True
258579                              - version: 2.0.6~ubuntu3
258580                              - refresh: True
258581                              - cache_valid_time: 300
258582                              - allow_updates: True
258583                              - hold: False
258584
258585                       In  this case, a refresh will not take place for 5 min‐
258586                       utes since the last apt-get update was executed on  the
258587                       system.
258588
258589                       NOTE:
258590                          This  parameter  is  available  only on Debian based
258591                          distributions and has no effect on the rest.
258592
258593
258594                     · fromrepo (str) --
258595
258596                       Specify a repository from which to install
258597
258598                       NOTE:
258599                          Distros which use APT (Debian, Ubuntu, etc.) do  not
258600                          have  a  concept of repositories, in the same way as
258601                          YUM-based distros do. When a source is added, it  is
258602                          assigned  to a given release. Consider the following
258603                          source configuration:
258604
258605                              deb http://ppa.launchpad.net/saltstack/salt/ubuntu precise main
258606
258607                          The packages provided by this source would  be  made
258608                          available  via  the precise release, therefore from‐
258609                          repo would need to be set to  precise  for  Salt  to
258610                          install the package from this source.
258611
258612                          Having  multiple  sources  in  the  same release may
258613                          result in the default install candidate being  newer
258614                          than  what  is  desired.  If  this  is the case, the
258615                          desired version must be specified using the  version
258616                          parameter.
258617
258618                          If  the pkgs parameter is being used to install mul‐
258619                          tiple packages in the same state,  then  instead  of
258620                          using  version, use the method of version specifica‐
258621                          tion described in the Multiple Package  Installation
258622                          Options section below.
258623
258624                          Running  the  shell command apt-cache policy pkgname
258625                          on a minion can help elucidate the APT configuration
258626                          and aid in properly configuring states:
258627
258628                              root@saltmaster:~# salt ubuntu01 cmd.run 'apt-cache policy ffmpeg'
258629                              ubuntu01:
258630                                  ffmpeg:
258631                                  Installed: (none)
258632                                  Candidate: 7:0.10.11-1~precise1
258633                                  Version table:
258634                                      7:0.10.11-1~precise1 0
258635                                          500 http://ppa.launchpad.net/jon-severinsson/ffmpeg/ubuntu/ precise/main amd64 Packages
258636                                      4:0.8.10-0ubuntu0.12.04.1 0
258637                                          500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
258638                                          500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
258639                                      4:0.8.1-0ubuntu1 0
258640                                          500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
258641
258642                          The  release  is located directly after the source's
258643                          URL. The actual release name is the part before  the
258644                          slash,       so       to       install       version
258645                          4:0.8.10-0ubuntu0.12.04.1 either precise-updates  or
258646                          precise-security  could  be  used  for  the fromrepo
258647                          value.
258648
258649
258650                     · skip_verify (bool) -- Skip the GPG  verification  check
258651                       for the package to be installed
258652
258653                     · skip_suggestions (bool) --
258654
258655                       Force strict package naming. Disables lookup of package
258656                       alternatives.
258657
258658                       New in version 2014.1.1.
258659
258660
258661
258662                     · resolve_capabilities (bool) --
258663
258664                       Turn on resolving capabilities. This allow one to  name
258665                       "provides" or alias names for packages.
258666
258667                       New in version 2018.3.0.
258668
258669
258670
258671                     · allow_updates (bool) --
258672
258673                       Allow  the package to be updated outside Salt's control
258674                       (e.g. auto updates on Windows). This means a package on
258675                       the  Minion  can  have  a newer version than the latest
258676                       available  in  the  repository  without   enforcing   a
258677                       re-installation of the package.
258678
258679                       New in version 2014.7.0.
258680
258681
258682                       Example:
258683
258684                          httpd:
258685                            pkg.installed:
258686                              - fromrepo: mycustomrepo
258687                              - skip_verify: True
258688                              - skip_suggestions: True
258689                              - version: 2.0.6~ubuntu3
258690                              - refresh: True
258691                              - allow_updates: True
258692                              - hold: False
258693
258694
258695                     · pkg_verify (bool) --
258696
258697                       New in version 2014.7.0.
258698
258699
258700                       For  requested  packages that are already installed and
258701                       would not be targeted for  upgrade  or  downgrade,  use
258702                       pkg.verify  to  determine if any of the files installed
258703                       by the package have been altered. If  files  have  been
258704                       altered, the reinstall option of pkg.install is used to
258705                       force a reinstall. Types to ignore  can  be  passed  to
258706                       pkg.verify. Additionally, verify_options can be used to
258707                       modify further the behavior of pkg.verify. See examples
258708                       below.   Currently,  this  option  is supported for the
258709                       following pkg providers: yumpkg.
258710
258711                       Examples:
258712
258713                          httpd:
258714                            pkg.installed:
258715                              - version: 2.2.15-30.el6.centos
258716                              - pkg_verify: True
258717
258718                          mypkgs:
258719                            pkg.installed:
258720                              - pkgs:
258721                                - foo
258722                                - bar: 1.2.3-4
258723                                - baz
258724                              - pkg_verify:
258725                                - ignore_types:
258726                                  - config
258727                                  - doc
258728
258729                          mypkgs:
258730                            pkg.installed:
258731                              - pkgs:
258732                                - foo
258733                                - bar: 1.2.3-4
258734                                - baz
258735                              - pkg_verify:
258736                                - ignore_types:
258737                                  - config
258738                                  - doc
258739                                - verify_options:
258740                                  - nodeps
258741                                  - nofiledigest
258742
258743
258744                     · ignore_types (list) --
258745
258746                       List of types to ignore when verifying the package
258747
258748                       New in version 2014.7.0.
258749
258750
258751
258752                     · verify_options (list) --
258753
258754                       List of additional options to pass when  verifying  the
258755                       package. These options will be added to the rpm -V com‐
258756                       mand, prepended with -- (for example,  when  nodeps  is
258757                       passed  in  this  option,  rpm  -V  will  be  run  with
258758                       --nodeps).
258759
258760                       New in version 2016.11.0.
258761
258762
258763
258764                     · normalize (bool) --
258765
258766                       Normalize the package name by  removing  the  architec‐
258767                       ture,  if  the architecture of the package is different
258768                       from the architecture  of  the  operating  system.  The
258769                       ability   to   disable  this  behavior  is  useful  for
258770                       poorly-created packages which include the  architecture
258771                       as  an  actual part of the name, such as kernel modules
258772                       which match a specific kernel version.
258773
258774                       New in version 2014.7.0.
258775
258776
258777                       Example:
258778
258779                          gpfs.gplbin-2.6.32-279.31.1.el6.x86_64:
258780                            pkg.installed:
258781                              - normalize: False
258782
258783
258784                     · ignore_epoch (bool) --
258785
258786                       When a package version contains an non-zero epoch (e.g.
258787                       1:3.14.159-2.el7,  and  a specific version of a package
258788                       is desired, set this option to True to ignore the epoch
258789                       when  comparing versions. This allows for the following
258790                       SLS to be used:
258791
258792                          # Actual vim-enhanced version: 2:7.4.160-1.el7
258793                          vim-enhanced:
258794                            pkg.installed:
258795                              - version: 7.4.160-1.el7
258796                              - ignore_epoch: True
258797
258798                       Without this option set to True in the  above  example,
258799                       the  package  would  be  installed, but the state would
258800                       report as failed because the actual  installed  version
258801                       would  be  2:7.4.160-1.el7.  Alternatively, this option
258802                       can be left as False and the full version string  (with
258803                       epoch) can be specified in the SLS file:
258804
258805                          vim-enhanced:
258806                            pkg.installed:
258807                              - version: 2:7.4.160-1.el7
258808
258809                       New in version 2015.8.9.
258810
258811
258812
258813
258814
258815              MULTIPLE PACKAGE INSTALLATION OPTIONS: (not supported in pkgng)
258816
258817              Parameters
258818
258819                     · pkgs (list) --
258820
258821                       A  list  of packages to install from a software reposi‐
258822                       tory. All packages listed under pkgs will be  installed
258823                       via a single command.
258824
258825                          mypkgs:
258826                            pkg.installed:
258827                              - pkgs:
258828                                - foo
258829                                - bar
258830                                - baz
258831                              - hold: True
258832
258833                       NOTE:  For  apt,  ebuild,  pacman, winrepo, yumpkg, and
258834                       zypper, version numbers can be specified  in  the  pkgs
258835                       argument. For example:
258836
258837                          mypkgs:
258838                            pkg.installed:
258839                              - pkgs:
258840                                - foo
258841                                - bar: 1.2.3-4
258842                                - baz
258843
258844                       Additionally,  ebuild, pacman, zypper, yum/dnf, and apt
258845                       support the <, <=, >=, and > operators for more control
258846                       over what versions will be installed. For example:
258847
258848                          mypkgs:
258849                            pkg.installed:
258850                              - pkgs:
258851                                - foo
258852                                - bar: '>=1.2.3-4'
258853                                - baz
258854
258855                       NOTE:  When  using comparison operators, the expression
258856                       must be enclosed in  quotes  to  avoid  a  YAML  render
258857                       error.
258858
258859                       With ebuild is also possible to specify a use flag list
258860                       and/or  if  the  given  packages  should  be  in  pack‐
258861                       age.accept_keywords  file and/or the overlay from which
258862                       you want the package to be installed. For example:
258863
258864                          mypkgs:
258865                            pkg.installed:
258866                              - pkgs:
258867                                - foo: '~'
258868                                - bar: '~>=1.2:slot::overlay[use,-otheruse]'
258869                                - baz
258870
258871
258872                     · sources (list) --
258873
258874                       A list of packages to install, along  with  the  source
258875                       URI  or  local path from which to install each package.
258876                       In the example below, foo, bar, baz, etc. refer to  the
258877                       name  of  the package, as it would appear in the output
258878                       of the pkg.version or pkg.list_pkgs salt CLI commands.
258879
258880                          mypkgs:
258881                            pkg.installed:
258882                              - sources:
258883                                - foo: salt://rpms/foo.rpm
258884                                - bar: http://somesite.org/bar.rpm
258885                                - baz: ftp://someothersite.org/baz.rpm
258886                                - qux: /minion/path/to/qux.rpm
258887
258888
258889              PLATFORM-SPECIFIC ARGUMENTS
258890
258891              These are specific to each OS. If it does not apply to the  exe‐
258892              cution module for your OS, it is ignored.
258893
258894              Parameters
258895
258896                     · hold (bool) --
258897
258898                       Force  the  package to be held at the current installed
258899                       version.  Currently works with YUM/DNF & APT based sys‐
258900                       tems.
258901
258902                       New in version 2014.7.0.
258903
258904
258905
258906                     · update_holds (bool) --
258907
258908                       If  True,  and  this  function would update the package
258909                       version, any packages which are being held will be tem‐
258910                       porarily unheld so that they can be updated. Otherwise,
258911                       if this function attempts to update a held package, the
258912                       held  package(s)  will  be  skipped  and the state will
258913                       fail.  By default, this parameter is set to False.
258914
258915                       Currently works with YUM/DNF & APT based systems.
258916
258917                       New in version 2016.11.0.
258918
258919
258920
258921                     · names (list) --
258922
258923                       A list of packages to install from a  software  reposi‐
258924                       tory.  Each  package  will be installed individually by
258925                       the package manager.
258926
258927                       WARNING:
258928                          Unlike pkgs, the names parameter  cannot  specify  a
258929                          version.   In  addition, it makes a separate call to
258930                          the package  management  frontend  to  install  each
258931                          package,  whereas  pkgs makes just a single call. It
258932                          is therefore recommended  to  use  pkgs  instead  of
258933                          names  to  install  multiple  packages, both for the
258934                          additional features and the performance  improvement
258935                          that it brings.
258936
258937
258938                     · install_recommends (bool) --
258939
258940                       Whether  to install the packages marked as recommended.
258941                       Default is True. Currently only  works  with  APT-based
258942                       systems.
258943
258944                       New in version 2015.5.0.
258945
258946
258947                          httpd:
258948                            pkg.installed:
258949                              - install_recommends: False
258950
258951
258952                     · only_upgrade (bool) --
258953
258954                       Only   upgrade   the  packages,  if  they  are  already
258955                       installed. Default is False. Currently only works  with
258956                       APT-based systems.
258957
258958                       New in version 2015.5.0.
258959
258960
258961                          httpd:
258962                            pkg.installed:
258963                              - only_upgrade: True
258964
258965                       NOTE:
258966                          If  this parameter is set to True and the package is
258967                          not already installed, the state will fail.
258968
258969
258970                     · report_reboot_exit_codes (bool) --
258971
258972                       If the installer exits  with  a  recognized  exit  code
258973                       indicating  that a reboot is required, the module func‐
258974                       tion
258975                          win_system.set_reboot_required_witnessed
258976
258977                       will be called, preserving the knowledge of this  event
258978                       for  the remainder of the current boot session. For the
258979                       time being, 3010 is the only recognized exit code,  but
258980                       this  is  subject  to  future refinement.  The value of
258981                       this param defaults to  True.  This  parameter  has  no
258982                       effect on non-Windows systems.
258983
258984                       New in version 2016.11.0.
258985
258986
258987                          ms vcpp installed:
258988                            pkg.installed:
258989                              - name: ms-vcpp
258990                              - version: 10.0.40219
258991                              - report_reboot_exit_codes: False
258992
258993
258994              Returns
258995                     A dictionary containing the state of the software instal‐
258996                     lation
258997
258998              Rtype dict
258999
259000              NOTE:
259001                 The pkg.installed state supports the usage of reload_modules.
259002                 This  functionality  allows  you  to force Salt to reload all
259003                 modules. In many cases, Salt is clever  enough  to  transpar‐
259004                 ently  reload  the  modules.   For  example, if you install a
259005                 package, Salt reloads modules because some  other  module  or
259006                 state  might  require  the package which was installed.  How‐
259007                 ever, there are some edge cases where this  may  not  be  the
259008                 case, which is what reload_modules is meant to resolve.
259009
259010                 You should only use reload_modules if your pkg.installed does
259011                 some sort of installation where if you do not reload the mod‐
259012                 ules  future  items  in your state which rely on the software
259013                 being installed will fail. Please see the  Reloading  Modules
259014                 documentation for more information.
259015
259016              SEE ALSO:
259017                 unless and onlyif
259018
259019                 You  can use the unless or onlyif syntax to skip a full pack‐
259020                 age run.  This can be helpful in large environments with mul‐
259021                 tiple  states  that  include  requisites  for  packages to be
259022                 installed.
259023
259024                     # Using file.file_exists for a single-factor check
259025                     install_nginx:
259026                       pkg.installed:
259027                         - name: nginx
259028                         - unless:
259029                           - fun: file.file_exists
259030                             args:
259031                               - /etc/nginx/nginx.conf
259032
259033                     # Using file.search for a two-factor check
259034                     install_nginx:
259035                       pkg.installed:
259036                         - name: nginx
259037                         - unless:
259038                           - fun: file.search
259039                             args:
259040                               - /etc/nginx/nginx.conf
259041                               - 'user www-data;'
259042
259043                 The above examples use two different  methods  to  reasonably
259044                 ensure that a package has already been installed. First, with
259045                 checking for a file that would be created with  the  package.
259046                 Second,  by  checking  for  specific  text within a file that
259047                 would be created or managed by salt.  With  these  requisists
259048                 satisfied,  unless  will  return  True  and the pkg.installed
259049                 state will be skipped.
259050
259051                     # Example of state run without unless used
259052                     salt 'saltdev' state.apply nginx
259053                     saltdev:
259054                     ----------
259055                               ID: install_nginx
259056                               Function: pkg.installed
259057                               Name: nginx
259058                               Result: True
259059                               Comment: All specified packages are already installed
259060                               Started: 20:11:56.388331
259061                               Duration: 4290.0 ms
259062                               Changes:
259063
259064                     # Example of state run using unless requisite
259065                     salt 'saltdev' state.apply nginx
259066                     saltdev:
259067                     ----------
259068                               ID: install_nginx
259069                               Function: pkg.installed
259070                               Name: nginx
259071                               Result: True
259072                               Comment: unless condition is true
259073                               Started: 20:10:50.659215
259074                               Duration: 1530.0 ms
259075                               Changes:
259076
259077                 The result is a reduction of  almost  3  seconds.  In  larger
259078                 environments, small reductions in waiting time can add up.
259079
259080                 Unless Requisite
259081
259082       salt.states.pkg.latest(name,   refresh=None,  fromrepo=None,  skip_ver‐
259083       ify=False, pkgs=None, watch_flags=True, **kwargs)
259084                 Ensure that the named package is  installed  and  the  latest
259085                 available  package. If the package can be updated, this state
259086                 function will update the package. Generally it is better  for
259087                 the  installed function to be used, as latest will update the
259088                 package whenever a new package is available.
259089
259090                 name   The name of the package  to  maintain  at  the  latest
259091                        available  version.   This  parameter  is  ignored  if
259092                        "pkgs" is used.
259093
259094                 fromrepo
259095                        Specify a repository from which to install
259096
259097                 skip_verify
259098                        Skip the GPG verification check for the package to  be
259099                        installed
259100
259101                 refresh
259102                        This  parameter  controls  whether  or not the package
259103                        repo database is updated prior  to  checking  for  the
259104                        latest available version of the requested packages.
259105
259106                        If  True,  the  package  database  will  be  refreshed
259107                        (apt-get update or equivalent, depending on  platform)
259108                        before  checking  for  the latest available version of
259109                        the requested packages.
259110
259111                        If False, the package database will not  be  refreshed
259112                        before checking.
259113
259114                        If  unset, then Salt treats package database refreshes
259115                        differently depending on whether or not  a  pkg  state
259116                        has been executed already during the current Salt run.
259117                        Once a refresh has been performed in a pkg state,  for
259118                        the remainder of that Salt run no other refreshes will
259119                        be performed for pkg states which  do  not  explicitly
259120                        set refresh to True. This prevents needless additional
259121                        refreshes from slowing down the Salt run.
259122
259123                 param str cache_valid_time
259124                        New in version 2016.11.0.
259125
259126
259127                        This parameter sets the value in seconds  after  which
259128                        the  cache is marked as invalid, and a cache update is
259129                        necessary. This  overwrites  the  refresh  parameter's
259130                        default behavior.
259131
259132                        Example:
259133
259134                            httpd:
259135                              pkg.latest:
259136                                - refresh: True
259137                                - cache_valid_time: 300
259138
259139                        In this case, a refresh will not take place for 5 min‐
259140                        utes since the last apt-get update was executed on the
259141                        system.
259142
259143                        NOTE:
259144                            This  parameter  is available only on Debian based
259145                            distributions and has no effect on the rest.
259146
259147                 param bool resolve_capabilities
259148                        Turn on resolving capabilities. This allow one to name
259149                        "provides" or alias names for packages.
259150
259151                        New in version 2018.3.0.
259152
259153
259154                 Multiple Package Installation Options:
259155
259156                 (Not  yet supported for: FreeBSD, OpenBSD, MacOS, and Solaris
259157                 pkgutil)
259158
259159                 pkgs   A list of packages to maintain at the latest available
259160                        version.
259161
259162                     mypkgs:
259163                       pkg.latest:
259164                         - pkgs:
259165                           - foo
259166                           - bar
259167                           - baz
259168
259169                 install_recommends
259170                        Whether to install the packages marked as recommended.
259171                        Default is True. Currently only works  with  APT-based
259172                        systems.
259173
259174                        New in version 2015.5.0.
259175
259176
259177                     httpd:
259178                       pkg.latest:
259179                         - install_recommends: False
259180
259181                 only_upgrade
259182                        Only   upgrade  the  packages,  if  they  are  already
259183                        installed. Default is False. Currently only works with
259184                        APT-based systems.
259185
259186                        New in version 2015.5.0.
259187
259188
259189                     httpd:
259190                       pkg.latest:
259191                         - only_upgrade: True
259192
259193                 NOTE:
259194                     If  this  parameter is set to True and the package is not
259195                     already installed, the state will fail.
259196
259197              report_reboot_exit_codes
259198                     If the installer exits with a recognized exit code  indi‐
259199                     cating that a reboot is required, the module function
259200                        win_system.set_reboot_required_witnessed
259201
259202                     will  be  called,  preserving the knowledge of this event
259203                     for the remainder of the current boot  session.  For  the
259204                     time  being,  3010  is the only recognized exit code, but
259205                     this is subject to future refinement. The value  of  this
259206                     param  defaults  to True. This parameter has no effect on
259207                     non-Windows systems.
259208
259209                     New in version 2016.11.0.
259210
259211
259212                        ms vcpp installed:
259213                          pkg.latest:
259214                            - name: ms-vcpp
259215                            - report_reboot_exit_codes: False
259216
259217       salt.states.pkg.mod_aggregate(low, chunks, running)
259218              The mod_aggregate function which looks up all  packages  in  the
259219              available  low  chunks and merges them into a single pkgs ref in
259220              the present low data
259221
259222       salt.states.pkg.mod_watch(name, **kwargs)
259223              Install/reinstall a package based on a watch requisite
259224
259225              NOTE:
259226                 This state exists to support special handling  of  the  watch
259227                 requisite. It should not be called directly.
259228
259229                 Parameters for this function should be set by the state being
259230                 triggered.
259231
259232       salt.states.pkg.patch_downloaded(name, advisory_ids=None, **kwargs)
259233              New in version 2017.7.0.
259234
259235
259236              Ensure that packages related to certain advisory ids  are  down‐
259237              loaded.
259238
259239              Currently  supported for the following pkg providers: yumpkg and
259240              zypper
259241
259242              CLI Example:
259243
259244                 preparing-to-fix-issues:
259245                   pkg.patch_downloaded:
259246                     - advisory_ids:
259247                       - SUSE-SLE-SERVER-12-SP2-2017-185
259248                       - SUSE-SLE-SERVER-12-SP2-2017-150
259249                       - SUSE-SLE-SERVER-12-SP2-2017-120
259250
259251       salt.states.pkg.patch_installed(name,   advisory_ids=None,    download‐
259252       only=None, **kwargs)
259253              New in version 2017.7.0.
259254
259255
259256              Ensure  that  packages  related  to  certain  advisory  ids  are
259257              installed.
259258
259259              Currently supported for the following pkg providers: yumpkg  and
259260              zypper
259261
259262              CLI Example:
259263
259264                 issue-foo-fixed:
259265                   pkg.patch_installed:
259266                     - advisory_ids:
259267                       - SUSE-SLE-SERVER-12-SP2-2017-185
259268                       - SUSE-SLE-SERVER-12-SP2-2017-150
259269                       - SUSE-SLE-SERVER-12-SP2-2017-120
259270
259271       salt.states.pkg.purged(name,  version=None,  pkgs=None, normalize=True,
259272       ignore_epoch=False, **kwargs)
259273              Verify that a package is not  installed,  calling  pkg.purge  if
259274              necessary to purge the package. All configuration files are also
259275              removed.
259276
259277              name   The name of the package to be purged.
259278
259279              version
259280                     The version of the package that should be removed.  Don't
259281                     do  anything if the package is installed with an unmatch‐
259282                     ing version.
259283
259284                     IMPORTANT:
259285                        As of version 2015.8.7, for distros which use yum/dnf,
259286                        packages  which  have  a  version with a nonzero epoch
259287                        (that is, versions which start with a number  followed
259288                        by  a  colon  like in the example above) must have the
259289                        epoch included when  specifying  the  version  number.
259290                        For example:
259291
259292                            vim-enhanced:
259293                              pkg.purged:
259294                                - version: 2:7.4.160-1.el7
259295
259296                        In version 2015.8.9, an ignore_epoch argument has been
259297                        added to pkg.installed,  pkg.removed,  and  pkg.purged
259298                        states,  which causes the epoch to be disregarded when
259299                        the state checks to see if  the  desired  version  was
259300                        installed.  If  ignore_epoch  was not set to True, and
259301                        instead of 2:7.4.160-1.el7 a version of  7.4.160-1.el7
259302                        were  used,  this state would report success since the
259303                        actual installed version includes the epoch,  and  the
259304                        specified version would not match.
259305
259306              normalize
259307                     True Normalize the package name by removing the architec‐
259308                     ture, if the architecture of  the  package  is  different
259309                     from  the architecture of the operating system. The abil‐
259310                     ity to disable this behavior is useful for poorly-created
259311                     packages which include the architecture as an actual part
259312                     of the name, such as kernel modules which  match  a  spe‐
259313                     cific kernel version.
259314
259315                     New in version 2015.8.0.
259316
259317
259318              ignore_epoch
259319                     False  When  a package version contains an non-zero epoch
259320                     (e.g.  1:3.14.159-2.el7, and  a  specific  version  of  a
259321                     package is desired, set this option to True to ignore the
259322                     epoch when comparing versions. This allows for  the  fol‐
259323                     lowing SLS to be used:
259324
259325                        # Actual vim-enhanced version: 2:7.4.160-1.el7
259326                        vim-enhanced:
259327                          pkg.purged:
259328                            - version: 7.4.160-1.el7
259329                            - ignore_epoch: True
259330
259331                     Without this option set to True in the above example, the
259332                     state would  falsely  report  success  since  the  actual
259333                     installed version is 2:7.4.160-1.el7. Alternatively, this
259334                     option can be left as False and the full  version  string
259335                     (with epoch) can be specified in the SLS file:
259336
259337                        vim-enhanced:
259338                          pkg.purged:
259339                            - version: 2:7.4.160-1.el7
259340
259341                     New in version 2015.8.9.
259342
259343
259344              Multiple Package Options:
259345
259346              pkgs   A  list  of packages to purge. Must be passed as a python
259347                     list. The name parameter will be ignored if  this  option
259348                     is passed. It accepts version numbers as well.
259349
259350              New in version 0.16.0.
259351
259352
259353       salt.states.pkg.removed(name,  version=None, pkgs=None, normalize=True,
259354       ignore_epoch=False, **kwargs)
259355              Verify that a package is not installed,  calling  pkg.remove  if
259356              necessary to remove the package.
259357
259358              name   The name of the package to be removed.
259359
259360              version
259361                     The  version of the package that should be removed. Don't
259362                     do anything if the package is installed with an  unmatch‐
259363                     ing version.
259364
259365                     IMPORTANT:
259366                        As of version 2015.8.7, for distros which use yum/dnf,
259367                        packages which have a version  with  a  nonzero  epoch
259368                        (that  is, versions which start with a number followed
259369                        by a colon like in the example above)  must  have  the
259370                        epoch  included  when  specifying  the version number.
259371                        For example:
259372
259373                            vim-enhanced:
259374                              pkg.removed:
259375                                - version: 2:7.4.160-1.el7
259376
259377                        In version 2015.8.9, an ignore_epoch argument has been
259378                        added  to  pkg.installed,  pkg.removed, and pkg.purged
259379                        states, which causes the epoch to be disregarded  when
259380                        the  state  checks  to  see if the desired version was
259381                        installed. If ignore_epoch was not set  to  True,  and
259382                        instead  of 2:7.4.160-1.el7 a version of 7.4.160-1.el7
259383                        were used, this state would report success  since  the
259384                        actual  installed  version includes the epoch, and the
259385                        specified version would not match.
259386
259387              normalize
259388                     True Normalize the package name by removing the architec‐
259389                     ture,  if  the  architecture  of the package is different
259390                     from the architecture of the operating system. The  abil‐
259391                     ity to disable this behavior is useful for poorly-created
259392                     packages which include the architecture as an actual part
259393                     of  the  name,  such as kernel modules which match a spe‐
259394                     cific kernel version.
259395
259396                     New in version 2015.8.0.
259397
259398
259399              ignore_epoch
259400                     False When a package version contains an  non-zero  epoch
259401                     (e.g.   1:3.14.159-2.el7,  and  a  specific  version of a
259402                     package is desired, set this option to True to ignore the
259403                     epoch  when  comparing versions. This allows for the fol‐
259404                     lowing SLS to be used:
259405
259406                        # Actual vim-enhanced version: 2:7.4.160-1.el7
259407                        vim-enhanced:
259408                          pkg.removed:
259409                            - version: 7.4.160-1.el7
259410                            - ignore_epoch: True
259411
259412                     Without this option set to True in the above example, the
259413                     state  would  falsely  report  success  since  the actual
259414                     installed version is 2:7.4.160-1.el7. Alternatively, this
259415                     option  can  be left as False and the full version string
259416                     (with epoch) can be specified in the SLS file:
259417
259418                        vim-enhanced:
259419                          pkg.removed:
259420                            - version: 2:7.4.160-1.el7
259421
259422                     New in version 2015.8.9.
259423
259424
259425              Multiple Package Options:
259426
259427              pkgs   A list of packages to remove. Must be passed as a  python
259428                     list.  The  name parameter will be ignored if this option
259429                     is passed. It accepts version numbers as well.
259430
259431                     New in version 0.16.0.
259432
259433
259434       salt.states.pkg.uptodate(name, refresh=False, pkgs=None, **kwargs)
259435              New in version 2014.7.0.
259436
259437
259438              Changed  in  version  2018.3.0:  Added  support  for  the  pkgin
259439              provider.
259440
259441
259442              Verify that the system is completely up to date.
259443
259444              name   The  name  has  no functional value and is only used as a
259445                     tracking reference
259446
259447              refresh
259448                     refresh the package  database  before  checking  for  new
259449                     upgrades
259450
259451              pkgs   list of packages to upgrade
259452
259453              Parameters
259454
259455                     · cache_valid_time (str) --
259456
259457                       This  parameter  sets  the value in seconds after which
259458                       cache marked as invalid, and cache update is necessary.
259459                       This overwrite refresh parameter default behavior.
259460
259461                       In  this case cache_valid_time is set, refresh will not
259462                       take place for amount in  seconds  since  last  apt-get
259463                       update executed on the system.
259464
259465                       NOTE:
259466                          This  parameter  available only on Debian based dis‐
259467                          tributions, and have no effect on the rest.
259468
259469
259470                     · resolve_capabilities (bool) --
259471
259472                       Turn on resolving capabilities. This allow one to  name
259473                       "provides" or alias names for packages.
259474
259475                       New in version 2018.3.0.
259476
259477
259478
259479              kwargs Any keyword arguments to pass through to pkg.upgrade.
259480
259481                     New in version 2015.5.0.
259482
259483
259484   salt.states.pkgbuild
259485       The  pkgbuild  state  is the front of Salt package building backend. It
259486       automatically builds DEB and RPM packages from specified sources
259487
259488       New in version 2015.8.0.
259489
259490
259491          salt_2015.5.2:
259492            pkgbuild.built:
259493              - runas: thatch
259494              - results:
259495                - salt-2015.5.2-2.el7.centos.noarch.rpm
259496                - salt-api-2015.5.2-2.el7.centos.noarch.rpm
259497                - salt-cloud-2015.5.2-2.el7.centos.noarch.rpm
259498                - salt-master-2015.5.2-2.el7.centos.noarch.rpm
259499                - salt-minion-2015.5.2-2.el7.centos.noarch.rpm
259500                - salt-ssh-2015.5.2-2.el7.centos.noarch.rpm
259501                - salt-syndic-2015.5.2-2.el7.centos.noarch.rpm
259502              - dest_dir: /tmp/pkg
259503              - spec: salt://pkg/salt/spec/salt.spec
259504              - template: jinja
259505              - deps:
259506                - salt://pkg/salt/sources/required_dependency.rpm
259507              - tgt: epel-7-x86_64
259508              - sources:
259509                - salt://pkg/salt/sources/logrotate.salt
259510                - salt://pkg/salt/sources/README.fedora
259511                - salt://pkg/salt/sources/salt-2015.5.2.tar.gz
259512                - salt://pkg/salt/sources/salt-2015.5.2-tests.patch
259513                - salt://pkg/salt/sources/salt-api
259514                - salt://pkg/salt/sources/salt-api.service
259515                - salt://pkg/salt/sources/salt-master
259516                - salt://pkg/salt/sources/salt-master.service
259517                - salt://pkg/salt/sources/salt-minion
259518                - salt://pkg/salt/sources/salt-minion.service
259519                - salt://pkg/salt/sources/saltpkg.sls
259520                - salt://pkg/salt/sources/salt-syndic
259521                - salt://pkg/salt/sources/salt-syndic.service
259522                - salt://pkg/salt/sources/SaltTesting-2015.5.8.tar.gz
259523          /tmp/pkg:
259524            pkgbuild.repo
259525
259526       salt.states.pkgbuild.built(name, runas, dest_dir, spec,  sources,  tgt,
259527       template=None,    deps=None,   env=None,   results=None,   force=False,
259528       saltenv='base', log_dir='/var/log/salt/pkgbuild')
259529              Ensure that the named package is built and exists in  the  named
259530              directory
259531
259532              name   The  name to track the build, the name value is otherwise
259533                     unused
259534
259535              runas  The user to run the build process as
259536
259537              dest_dir
259538                     The directory on the minion to place the built package(s)
259539
259540              spec   The location of the spec file (used for rpms)
259541
259542              sources
259543                     The list of package sources
259544
259545              tgt    The target platform to run the build on
259546
259547              template
259548                     Run the spec file through a templating engine
259549
259550                     Changed  in  version  2015.8.2:  This  argument  is   now
259551                     optional, allowing for no templating engine to be used if
259552                     none is desired.
259553
259554
259555              deps   Packages required to ensure that  the  named  package  is
259556                     built  can  be hosted on either the salt master server or
259557                     on an HTTP or FTP server.  Both HTTPS and HTTP  are  sup‐
259558                     ported  as  well  as  downloading directly from Amazon S3
259559                     compatible URLs with both  pre-configured  and  automatic
259560                     IAM credentials
259561
259562              env    A  dictionary of environment variables to be set prior to
259563                     execution.  Example:
259564
259565                        - env:
259566                            DEB_BUILD_OPTIONS: 'nocheck'
259567
259568                     WARNING:
259569                        The above illustrates a common  PyYAML  pitfall,  that
259570                        yes,  no,  on,  off, true, and false are all loaded as
259571                        boolean True and False values, and must be enclosed in
259572                        quotes  to  be used as strings. More info on this (and
259573                        other) PyYAML idiosyncrasies can be found here.
259574
259575              results
259576                     The names of the expected rpms that will be built
259577
259578              force  False If True,  packages  will  be  built  even  if  they
259579                     already exist in the dest_dir. This is useful when build‐
259580                     ing a package for continuous or nightly package builds.
259581
259582                     New in version 2015.8.2.
259583
259584
259585              saltenv
259586                     The saltenv to use for files  downloaded  from  the  salt
259587                     filesever
259588
259589              log_dir
259590                     /var/log/salt/rpmbuild  Root directory for log files cre‐
259591                     ated from the build. Logs will be  organized  by  package
259592                     name,  version,  OS  release,  and CPU architecture under
259593                     this directory.
259594
259595                     New in version 2015.8.2.
259596
259597
259598       salt.states.pkgbuild.repo(name,          keyid=None,          env=None,
259599       use_passphrase=False,  gnupghome='/etc/salt/gpgkeys',  runas='builder',
259600       timeout=15.0)
259601              Make a package repository and optionally sign  it  and  packages
259602              present
259603
259604              The  name  is  directory to turn into a repo. This state is best
259605              used with onchanges linked to your package building states.
259606
259607              name   The directory to find packages that will be in the repos‐
259608                     itory
259609
259610              keyid  Changed in version 2016.3.0.
259611
259612
259613                     Optional  Key  ID  to use in signing packages and reposi‐
259614                     tory.  Utilizes Public and Private keys  associated  with
259615                     keyid  which  have  been  loaded into the minion's Pillar
259616                     data.
259617
259618                     For example, contents from a Pillar data file with  named
259619                     Public and Private keys as follows:
259620
259621                        gpg_pkg_priv_key: |
259622                          -----BEGIN PGP PRIVATE KEY BLOCK-----
259623                          Version: GnuPG v1
259624
259625                          lQO+BFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
259626                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
259627                          .
259628                          .
259629                          Ebe+8JCQTwqSXPRTzXmy/b5WXDeM79CkLWvuGpXFor76D+ECMRPv/rawukEcNptn
259630                          R5OmgHqvydEnO4pWbn8JzQO9YX/Us0SMHBVzLC8eIi5ZIopzalvX
259631                          =JvW8
259632                          -----END PGP PRIVATE KEY BLOCK-----
259633
259634                        gpg_pkg_priv_keyname: gpg_pkg_key.pem
259635
259636                        gpg_pkg_pub_key: |
259637                          -----BEGIN PGP PUBLIC KEY BLOCK-----
259638                          Version: GnuPG v1
259639
259640                          mQENBFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
259641                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
259642                          .
259643                          .
259644                          bYP7t5iwJmQzRMyFInYRt77wkJBPCpJc9FPNebL9vlZcN4zv0KQta+4alcWivvoP
259645                          4QIxE+/+trC6QRw2m2dHk6aAeq/J0Sc7ilZufwnNA71hf9SzRIwcFXMsLx4iLlki
259646                          inNqW9c=
259647                          =s1CX
259648                          -----END PGP PUBLIC KEY BLOCK-----
259649
259650                        gpg_pkg_pub_keyname: gpg_pkg_key.pub
259651
259652              env    Changed in version 2016.3.0.
259653
259654
259655                     A  dictionary  of environment variables to be utilized in
259656                     creating the repository. Example:
259657
259658                        - env:
259659                            OPTIONS: 'ask-passphrase'
259660
259661                     WARNING:
259662                        The above illustrates a common  PyYAML  pitfall,  that
259663                        yes,  no,  on,  off, true, and false are all loaded as
259664                        boolean True and False values, and must be enclosed in
259665                        quotes  to  be used as strings. More info on this (and
259666                        other) PyYAML idiosyncrasies can be found here.
259667
259668                        Use  of  OPTIONS  on  some  platforms,  for   example:
259669                        ask-passphrase,  will  require gpg-agent or similar to
259670                        cache passphrases.
259671
259672                     NOTE:
259673                        This parameter is not used for  making  yum  reposito‐
259674                        ries.
259675
259676              use_passphrase
259677                     False New in version 2016.3.0.
259678
259679
259680                     Use a passphrase with the signing key presented in keyid.
259681                     Passphrase is received from Pillar data  which  could  be
259682                     passed  on  the  command  line with pillar parameter. For
259683                     example:
259684
259685                        pillar='{ "gpg_passphrase" : "my_passphrase" }'
259686
259687              gnupghome
259688                     /etc/salt/gpgkeys New in version 2016.3.0.
259689
259690
259691                     Location where GPG related files are  stored,  used  with
259692                     'keyid'
259693
259694              runas  builder New in version 2016.3.0.
259695
259696
259697                     User  to  create  the  repository as, and optionally sign
259698                     packages.
259699
259700                     NOTE:
259701                        Ensure the user has correct permissions to  any  files
259702                        and directories which are to be utilized.
259703
259704              timeout
259705                     15.0 New in version 2016.3.4.
259706
259707
259708                     Timeout  in  seconds to wait for the prompt for inputting
259709                     the passphrase.
259710
259711   salt.states.pkgng
259712   Manage package remote repo using FreeBSD pkgng
259713       Salt can manage the URL pkgng pulls packages from.  ATM the  state  and
259714       module are small so use cases are typically rather simple:
259715
259716          pkgng_clients:
259717            pkgng.update_packaging_site:
259718              - name: "http://192.168.0.2"
259719
259720       salt.states.pkgng.update_packaging_site(name)
259721
259722   salt.states.pkgrepo
259723   Management of APT/DNF/YUM/Zypper package repos
259724       States  for  managing  software  package repositories on Linux distros.
259725       Supported package managers are APT, DNF, YUM and Zypper. Here  is  some
259726       example SLS:
259727
259728          base:
259729            pkgrepo.managed:
259730              - humanname: CentOS-$releasever - Base
259731              - mirrorlist: http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
259732              - comments:
259733                  - 'http://mirror.centos.org/centos/$releasever/os/$basearch/'
259734              - gpgcheck: 1
259735              - gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
259736
259737          base:
259738            pkgrepo.managed:
259739              - name: deb http://ppa.launchpad.net/wolfnet/logstash/ubuntu precise main
259740              - dist: precise
259741              - file: /etc/apt/sources.list.d/logstash.list
259742              - keyid: 28B04E4A
259743              - keyserver: keyserver.ubuntu.com
259744              - require_in:
259745                - pkg: logstash
259746
259747            pkg.latest:
259748              - name: logstash
259749              - refresh: True
259750
259751          base:
259752            pkgrepo.managed:
259753              - name: deb http://www.deb-multimedia.org stable main
259754              - file: /etc/apt/sources.list.d/deb-multimedia.list
259755              - key_url: salt://deb-multimedia/files/marillat.pub
259756
259757          base:
259758            pkgrepo.managed:
259759              - name: deb http://dl.google.com/linux/chrome/deb/ stable main
259760              - dist: stable
259761              - file: /etc/apt/sources.list.d/chrome-browser.list
259762              - require_in:
259763                - pkg: google-chrome-stable
259764              - gpgcheck: 1
259765              - key_url: https://dl-ssl.google.com/linux/linux_signing_key.pub
259766
259767          base:
259768            pkgrepo.managed:
259769              - ppa: wolfnet/logstash
259770            pkg.latest:
259771              - name: logstash
259772              - refresh: True
259773
259774       NOTE:
259775          On  Ubuntu systems, the python-software-properties package should be
259776          installed for better support of PPA repositories. To check  if  this
259777          package is installed, run dpkg -l python-software-properties.
259778
259779          Also, some Ubuntu releases have a bug in their python-software-prop‐
259780          erties package, a missing dependency  on  pycurl,  so  python-pycurl
259781          will  need  to  be  manually  installed  if  it  is not present once
259782          python-software-properties is installed.
259783
259784          On Ubuntu & Debian systems, the python-apt package is required to be
259785          installed.  To  check  if  this  package  is  installed, run dpkg -l
259786          python-apt.  python-apt will need to be manually installed if it  is
259787          not present.
259788
259789       salt.states.pkgrepo.absent(name, **kwargs)
259790              This  function  deletes  the specified repo on the system, if it
259791              exists. It is essentially a wrapper around pkg.del_repo.
259792
259793              name   The name of the package repo, as it would be referred  to
259794                     when running the regular package manager commands.
259795
259796              UBUNTU-SPECIFIC OPTIONS
259797
259798              ppa    On Ubuntu, you can take advantage of Personal Package Ar‐
259799                     chives on Launchpad simply by specifying the user and ar‐
259800                     chive name.
259801
259802                        logstash-ppa:
259803                          pkgrepo.absent:
259804                            - ppa: wolfnet/logstash
259805
259806              ppa_auth
259807                     For  Ubuntu  PPAs  there can be private PPAs that require
259808                     authentication  to  access.  For  these  PPAs  the  user‐
259809                     name/password  can  be  specified.   This is required for
259810                     matching if the name format uses the ppa:  specifier  and
259811                     is  private  (requires username/password to access, which
259812                     is encoded in the URI).
259813
259814                        logstash-ppa:
259815                          pkgrepo.absent:
259816                            - ppa: wolfnet/logstash
259817                            - ppa_auth: username:password
259818
259819              keyid  If passed, then the GPG key corresponding to  the  passed
259820                     KeyID will also be removed.
259821
259822              keyid_ppa
259823                     False  If set to True, the GPG key's ID will be looked up
259824                     from ppa.launchpad.net and removed, and the  keyid  argu‐
259825                     ment will be ignored.
259826
259827                     NOTE:
259828                        This  option  will be disregarded unless the ppa argu‐
259829                        ment is present.
259830
259831       salt.states.pkgrepo.managed(name, ppa=None, **kwargs)
259832              This state manages  software  package  repositories.  Currently,
259833              yum, apt, and zypper repositories are supported.
259834
259835              YUM/DNF/ZYPPER-BASED SYSTEMS
259836
259837              NOTE:
259838                 One of baseurl or mirrorlist below is required. Additionally,
259839                 note that this state is not  presently  capable  of  managing
259840                 more than one repo in a single repo file, so each instance of
259841                 this state will manage a single repo file containing the con‐
259842                 figuration for a single repo.
259843
259844              name   This  value will be used in two ways: Firstly, it will be
259845                     the repo ID, as seen in  the  entry  in  square  brackets
259846                     (e.g.  [foo])  for a given repo. Secondly, it will be the
259847                     name of the file  as  stored  in  /etc/yum.repos.d  (e.g.
259848                     /etc/yum.repos.d/foo.conf).
259849
259850              enabled
259851                     True Whether or not the repo is enabled. Can be specified
259852                     as True/False or 1/0.
259853
259854              disabled
259855                     False Included to reduce confusion due to  APT's  use  of
259856                     the   disabled   argument.   If  this  is  passed  for  a
259857                     YUM/DNF/Zypper-based distro, then  the  reverse  will  be
259858                     passed as enabled. For example passing disabled=True will
259859                     assume enabled=False.
259860
259861              humanname
259862                     This is used as the "name" value  in  the  repo  file  in
259863                     /etc/yum.repos.d/  (or  /etc/zypp/repos.d  for  SUSE dis‐
259864                     tros).
259865
259866              baseurl
259867                     The URL to a yum repository
259868
259869              mirrorlist
259870                     A URL which points to a file containing a  collection  of
259871                     baseurls
259872
259873              comments
259874                     Sometimes  you want to supply additional information, but
259875                     not as enabled configuration. Anything supplied for  this
259876                     list  will be saved in the repo configuration with a com‐
259877                     ment marker (#) in front.
259878
259879              gpgautoimport
259880                     Only valid for Zypper package manager. If  set  to  True,
259881                     automatically  trust  and  import  public GPG key for the
259882                     repository. The  key  should  be  specified  with  gpgkey
259883                     parameter. See details below.
259884
259885              Additional  configuration  values  seen  in  YUM/DNF/Zypper repo
259886              files, such as gpgkey or gpgcheck,  will  be  used  directly  as
259887              key-value pairs.  For example:
259888
259889                 foo:
259890                   pkgrepo.managed:
259891                     - humanname: Personal repo for foo
259892                     - baseurl: https://mydomain.tld/repo/foo/$releasever/$basearch
259893                     - gpgkey: file:///etc/pki/rpm-gpg/foo-signing-key
259894                     - gpgcheck: 1
259895
259896              APT-BASED SYSTEMS
259897
259898              ppa    On Ubuntu, you can take advantage of Personal Package Ar‐
259899                     chives on Launchpad simply by specifying the user and ar‐
259900                     chive  name. The keyid will be queried from launchpad and
259901                     everything else is set automatically.  You  can  override
259902                     any  of  the below settings by simply setting them as you
259903                     would normally. For example:
259904
259905                        logstash-ppa:
259906                          pkgrepo.managed:
259907                            - ppa: wolfnet/logstash
259908
259909              ppa_auth
259910                     For Ubuntu PPAs there can be private  PPAs  that  require
259911                     authentication  to  access.  For  these  PPAs  the  user‐
259912                     name/password can be passed as an HTTP Basic style  user‐
259913                     name/password combination.
259914
259915                        logstash-ppa:
259916                          pkgrepo.managed:
259917                            - ppa: wolfnet/logstash
259918                            - ppa_auth: username:password
259919
259920              name   On  apt-based  systems this must be the complete entry as
259921                     it would be seen in the sources.list file.  This can have
259922                     a limited subset of components (i.e. 'main') which can be
259923                     added/modified with the comps option.
259924
259925                        precise-repo:
259926                          pkgrepo.managed:
259927                            - name: deb http://us.archive.ubuntu.com/ubuntu precise main
259928
259929                     NOTE:
259930                        The above example is intended as a more  readable  way
259931                        of  configuring  the SLS, it is equivalent to the fol‐
259932                        lowing:
259933
259934                            'deb http://us.archive.ubuntu.com/ubuntu precise main':
259935                              pkgrepo.managed
259936
259937              disabled
259938                     False Toggles whether or not the repo is used for resolv‐
259939                     ing dependencies and/or installing packages.
259940
259941              enabled
259942                     True Included to reduce confusion due to YUM/DNF/Zypper's
259943                     use of the enabled argument. If this  is  passed  for  an
259944                     APT-based distro, then the reverse will be passed as dis‐
259945                     abled. For example,  passing  enabled=False  will  assume
259946                     disabled=True.
259947
259948              architectures
259949                     On  apt-based  systems,  architectures  can  restrict the
259950                     available  architectures  that  the  repository  provides
259951                     (e.g. only amd64).  architectures should be a comma-sepa‐
259952                     rated list.
259953
259954              comps  On apt-based systems, comps dictate the types of packages
259955                     to  be installed from the repository (e.g. main, nonfree,
259956                     ...).  For purposes of this, comps should be a comma-sep‐
259957                     arated list.
259958
259959              file   The filename for the .list that the repository is config‐
259960                     ured in.  It is important to include  the  full-path  AND
259961                     make sure it is in a directory that APT will look in when
259962                     handling packages
259963
259964              dist   This dictates the release  of  the  distro  the  packages
259965                     should  be  built  for.   (e.g. unstable). This option is
259966                     rarely needed.
259967
259968              keyid  The KeyID or a list of KeyIDs of the GPG key to  install.
259969                     This option also requires the keyserver option to be set.
259970
259971              keyserver
259972                     This  is  the  name of the keyserver to retrieve gpg keys
259973                     from.  The keyid option must also be set for this  option
259974                     to work.
259975
259976              key_url
259977                     URL  to  retrieve  a  GPG  key  from. Allows the usage of
259978                     http://, https:// as well as salt://.
259979
259980                     NOTE:
259981                        Use either keyid/keyserver or key_url, but not both.
259982
259983              key_text
259984                        The string representation of the GPG key to install.
259985
259986                        New in version 2018.3.0.
259987
259988
259989                     NOTE:
259990                        Use either keyid/keyserver, key_url, or  key_text  but
259991                        not more than one method.
259992
259993              consolidate
259994                     False  If  set to True, this will consolidate all sources
259995                     definitions to the sources.list  file,  cleanup  the  now
259996                     unused  files, consolidate components (e.g. main) for the
259997                     same URI, type, and architecture to a  single  line,  and
259998                     finally  remove comments from the sources.list file.  The
259999                     consolidate will run every time the state  is  processed.
260000                     The  option  only  needs to be set on one repo managed by
260001                     salt to take effect.
260002
260003              clean_file
260004                     False If set to True, empty the file before config repo
260005
260006                     NOTE:
260007                        Use with care.  This  can  be  dangerous  if  multiple
260008                        sources are configured in the same file.
260009
260010                     New in version 2015.8.0.
260011
260012
260013              refresh
260014                     True  If  set  to False this will skip refreshing the apt
260015                     package database on debian based systems.
260016
260017              refresh_db
260018                     True  This  argument  has  been  deprecated.  Please  use
260019                     refresh  instead.   The refresh_db argument will continue
260020                     to work to ensure backwards compatibility, but we  recom‐
260021                     mend using the preferred refresh argument instead.
260022
260023              require_in
260024                     Set  this  to  a  list  of pkg.installed or pkg.latest to
260025                     trigger the running of apt-get update prior to attempting
260026                     to  install  these packages. Setting a require in the pkg
260027                     state will not work for this.
260028
260029   salt.states.portage_config
260030   Management of Portage package configuration on Gentoo
260031       A state module to manage Portage configuration on Gentoo
260032
260033          salt:
260034              portage_config.flags:
260035                  - use:
260036                      - openssl
260037
260038       salt.states.portage_config.flags(name, use=None,  accept_keywords=None,
260039       env=None, license=None, properties=None, unmask=False, mask=False)
260040              Enforce the given flags on the given package or DEPEND atom.
260041
260042              WARNING:
260043                 In  most cases, the affected package(s) need to be rebuilt in
260044                 order to apply the changes.
260045
260046              name   The name of the package or its DEPEND atom
260047
260048              use    A list of USE flags
260049
260050              accept_keywords
260051                     A list of keywords to accept. ~ARCH  means  current  host
260052                     arch, and will be translated into a line without keywords
260053
260054              env    A list of environment files
260055
260056              license
260057                     A list of accepted licenses
260058
260059              properties
260060                     A list of additional properties
260061
260062              unmask A boolean to unmask the package
260063
260064              mask   A boolean to mask the package
260065
260066   salt.states.ports
260067       Manage software from FreeBSD ports
260068
260069       New in version 2014.1.0.
260070
260071
260072       NOTE:
260073          It   may  be  helpful  to  use  a  higher  timeout  when  running  a
260074          ports.installed state, since compiling the port  may  exceed  Salt's
260075          timeout.
260076
260077              salt -t 1200 '*' state.highstate
260078
260079       salt.states.ports.installed(name, options=None)
260080              Verify  that the desired port is installed, and that it was com‐
260081              piled with the desired options.
260082
260083              options
260084                     Make sure that the desired non-default options are set
260085
260086                     WARNING:
260087                        Any build options not passed here assume  the  default
260088                        values for the port, and are not just differences from
260089                        the existing cached options from a previous make  con‐
260090                        fig.
260091
260092              Example usage:
260093
260094                 security/nmap:
260095                   ports.installed:
260096                     - options:
260097                       - IPV6: off
260098
260099   salt.states.postgres_cluster module
260100   Management of PostgreSQL clusters
260101       The  postgres_cluster  state  module is used to manage PostgreSQL clus‐
260102       ters.  Clusters can be set as either absent or present
260103
260104          create cluster 9.3 main:
260105            postgres_cluster.present:
260106                - name: 'main'
260107                - version: '9.3'
260108
260109       salt.states.postgres_cluster.absent(version, name)
260110              Ensure that the named cluster is absent
260111
260112              version
260113                     Version of the postgresql server of the cluster to remove
260114
260115              name   The name of the cluster to remove
260116
260117                     New in version 2015.XX.
260118
260119
260120       salt.states.postgres_cluster.present(version, name,  port=None,  encod‐
260121       ing=None, locale=None, datadir=None)
260122              Ensure  that  the  named  cluster  is present with the specified
260123              properties.  For more information about all of these options see
260124              man pg_createcluster(1)
260125
260126              version
260127                     Version of the postgresql cluster
260128
260129              name   The name of the cluster
260130
260131              port   Cluster port
260132
260133              encoding
260134                     The character encoding scheme to be used in this database
260135
260136              locale Locale with which to create cluster
260137
260138              datadir
260139                     Where the cluster is stored
260140
260141                     New in version 2015.XX.
260142
260143
260144   salt.states.postgres_database
260145   Management of PostgreSQL databases
260146       The  postgres_database  module  is  used  to create and manage Postgres
260147       databases.  Databases can be set as either absent or present
260148
260149          frank:
260150            postgres_database.present
260151
260152       salt.states.postgres_database.absent(name,      user=None,      mainte‐
260153       nance_db=None,     db_password=None,     db_host=None,    db_port=None,
260154       db_user=None)
260155              Ensure that the named database is absent
260156
260157              name   The name of the database to remove
260158
260159              db_user
260160                     database username if different from config or default
260161
260162              db_password
260163                     user password if any password for a specified user
260164
260165              db_host
260166                     Database host if different from config or default
260167
260168              db_port
260169                     Database port if different from config or default
260170
260171              user   System user all operations should be performed on  behalf
260172                     of
260173
260174                     New in version 0.17.0.
260175
260176
260177       salt.states.postgres_database.present(name,   tablespace=None,   encod‐
260178       ing=None,       lc_collate=None,       lc_ctype=None,       owner=None,
260179       owner_recurse=False,   template=None,  user=None,  maintenance_db=None,
260180       db_password=None, db_host=None, db_port=None, db_user=None)
260181              Ensure that the named database is  present  with  the  specified
260182              properties.  For more information about all of these options see
260183              man createdb(1)
260184
260185              name   The name of the database to manage
260186
260187              tablespace
260188                     Default tablespace for the database
260189
260190              encoding
260191                     The character encoding scheme to be used in this database
260192
260193              lc_collate
260194                     The LC_COLLATE setting to be used in this database
260195
260196              lc_ctype
260197                     The LC_CTYPE setting to be used in this database
260198
260199              owner  The username of the database owner
260200
260201              owner_recurse
260202                     Recurse owner change to all relations in the database
260203
260204              template
260205                     The template database from which to build this database
260206
260207              user   System user all operations should be performed on  behalf
260208                     of
260209
260210              db_user
260211                     database username if different from config or default
260212
260213              db_password
260214                     user password if any password for a specified user
260215
260216              db_host
260217                     Database host if different from config or default
260218
260219              db_port
260220                     Database port if different from config or default
260221
260222                     New in version 0.17.0.
260223
260224
260225   salt.states.postgres_extension
260226   Management of PostgreSQL extensions
260227       A module used to install and manage PostgreSQL extensions.
260228
260229          adminpack:
260230            postgres_extension.present
260231
260232       New in version 2014.7.0.
260233
260234
260235       salt.states.postgres_extension.absent(name,             if_exists=None,
260236       restrict=None,    cascade=None,     user=None,     maintenance_db=None,
260237       db_user=None, db_password=None, db_host=None, db_port=None)
260238              Ensure that the named extension is absent.
260239
260240              name   Extension name of the extension to remove
260241
260242              if_exists
260243                     Add if exist slug
260244
260245              restrict
260246                     Add restrict slug
260247
260248              cascade
260249                     Drop on cascade
260250
260251              user   System  user all operations should be performed on behalf
260252                     of
260253
260254              maintenance_db
260255                     Database to act on
260256
260257              db_user
260258                     Database username if different from config or default
260259
260260              db_password
260261                     User password if any password for a specified user
260262
260263              db_host
260264                     Database host if different from config or default
260265
260266              db_port
260267                     Database port if different from config or default
260268
260269       salt.states.postgres_extension.present(name,        if_not_exists=None,
260270       schema=None,  ext_version=None,  from_version=None,  user=None, mainte‐
260271       nance_db=None,    db_user=None,     db_password=None,     db_host=None,
260272       db_port=None)
260273              Ensure that the named extension is present.
260274
260275              NOTE:
260276                 Before  you  can  use  the  state to load an extension into a
260277                 database, the extension's supporting files  must  be  already
260278                 installed.
260279
260280              For  more  information  about  all  of  these options see CREATE
260281              EXTENSION SQL command reference in the PostgreSQL documentation.
260282
260283              name   The name of the extension to be installed
260284
260285              if_not_exists
260286                     Add an IF NOT EXISTS parameter to the DDL statement
260287
260288              schema Schema to install the extension into
260289
260290              ext_version
260291                     Version to install
260292
260293              from_version
260294                     Old extension version if already installed
260295
260296              user   System user all operations should be performed on  behalf
260297                     of
260298
260299              maintenance_db
260300                     Database to act on
260301
260302              db_user
260303                     Database username if different from config or default
260304
260305              db_password
260306                     User password if any password for a specified user
260307
260308              db_host
260309                     Database host if different from config or default
260310
260311              db_port
260312                     Database port if different from config or default
260313
260314   salt.states.postgres_group
260315   Management of PostgreSQL groups (roles)
260316       The postgres_group module is used to create and manage Postgres groups.
260317
260318          frank:
260319            postgres_group.present
260320
260321       salt.states.postgres_group.absent(name, user=None, maintenance_db=None,
260322       db_password=None, db_host=None, db_port=None, db_user=None)
260323              Ensure that the named group is absent
260324
260325              name   The groupname of the group to remove
260326
260327              user   System user all operations should be performed on  behalf
260328                     of
260329
260330                     New in version 0.17.0.
260331
260332
260333              db_user
260334                     database username if different from config or defaul
260335
260336              db_password
260337                     user password if any password for a specified user
260338
260339              db_host
260340                     Database host if different from config or default
260341
260342              db_port
260343                     Database port if different from config or default
260344
260345       salt.states.postgres_group.present(name,       createdb=None,      cre‐
260346       ateroles=None,    encrypted=None,     superuser=None,     inherit=None,
260347       login=None,   replication=None,  password=None,  refresh_password=None,
260348       groups=None,    user=None,    maintenance_db=None,    db_password=None,
260349       db_host=None, db_port=None, db_user=None)
260350              Ensure that the named group is present with the specified privi‐
260351              leges Please note that the user/group notion  in  postgresql  is
260352              just  abstract,  we have roles, where users can be seen as roles
260353              with the LOGIN privilege and groups the others.
260354
260355              name   The name of the group to manage
260356
260357              createdb
260358                     Is the group allowed to create databases?
260359
260360              createroles
260361                     Is the group allowed to create other roles/users
260362
260363              encrypted
260364                     Should the password be encrypted in the system catalog?
260365
260366              login  Should the group have login perm
260367
260368              inherit
260369                     Should the group inherit permissions
260370
260371              superuser
260372                     Should the new group be a "superuser"
260373
260374              replication
260375                     Should the new group be  allowed  to  initiate  streaming
260376                     replication
260377
260378              password
260379                     The group's password It can be either a plain string or a
260380                     md5 postgresql hashed password:
260381
260382                        'md5{MD5OF({password}{role}}'
260383
260384                     If encrypted is None or True, the password will be  auto‐
260385                     matically  encrypted  to the previous format if it is not
260386                     already done.
260387
260388              refresh_password
260389                     Password refresh flag
260390
260391                     Boolean attribute to specify whether to password compari‐
260392                     son check should be performed.
260393
260394                     If  refresh_password  is True, the password will be auto‐
260395                     matically updated without extra password change check.
260396
260397                     This behaviour makes it possible to execute  in  environ‐
260398                     ments without superuser access available, e.g. Amazon RDS
260399                     for PostgreSQL
260400
260401              groups A string of comma separated groups the group should be in
260402
260403              user   System user all operations should be performed on  behalf
260404                     of
260405
260406                     New in version 0.17.0.
260407
260408
260409              db_user
260410                     database username if different from config or default
260411
260412              db_password
260413                     user password if any password for a specified user
260414
260415              db_host
260416                     Database host if different from config or default
260417
260418              db_port
260419                     Database port if different from config or default
260420
260421   salt.states.postgres_initdb
260422   Initialization of PostgreSQL data directory
260423       The  postgres_initdb  module  is used to initialize the postgresql data
260424       directory.
260425
260426       New in version 2016.3.0.
260427
260428
260429          pgsql-data-dir:
260430            postgres_initdb.present:
260431              - name: /var/lib/pgsql/data
260432              - auth: password
260433              - user: postgres
260434              - password: strong_password
260435              - encoding: UTF8
260436              - locale: C
260437              - runas: postgres
260438
260439       salt.states.postgres_initdb.present(name,   user=None,   password=None,
260440       auth=u'password',     encoding=u'UTF8',     locale=None,    runas=None,
260441       waldir=None, checksums=False)
260442              Initialize the PostgreSQL data directory
260443
260444              name   The name of the directory to initialize
260445
260446              user   The database superuser name
260447
260448              password
260449                     The password to set for the postgres user
260450
260451              auth   The default authentication method for local connections
260452
260453              encoding
260454                     The default encoding for new databases
260455
260456              locale The default locale for new databases
260457
260458              waldir The transaction log (WAL) directory (default is  to  keep
260459                     WAL inside the data directory)
260460
260461                     New in version 2019.2.0.
260462
260463
260464              checksums
260465                     If  True,  the  cluster  will  be  created with data page
260466                     checksums.
260467
260468                     NOTE:
260469                        Data page checksums  are  supported  since  PostgreSQL
260470                        9.3.
260471
260472                     New in version 2019.2.0.
260473
260474
260475              runas  The  system  user  the  operation  should be performed on
260476                     behalf of
260477
260478   salt.states.postgres_language
260479   Management of PostgreSQL languages
260480       The postgres_language module is used to create and manage Postgres lan‐
260481       guages.  Languages can be set as either absent or present
260482
260483       New in version 2016.3.0.
260484
260485
260486          plpgsql:
260487            postgres_language.present:
260488              - maintenance_db: testdb
260489
260490          plpgsql:
260491            postgres_language.absent:
260492              - maintenance_db: testdb
260493
260494       salt.states.postgres_language.absent(name,  maintenance_db,  user=None,
260495       db_password=None, db_host=None, db_port=None, db_user=None)
260496              Ensure that a named language is absent in  the  specified  data‐
260497              base.
260498
260499              name   The name of the language to remove
260500
260501              maintenance_db
260502                     The  name  of the database in which the language is to be
260503                     installed
260504
260505              user   System user all operations should be performed on  behalf
260506                     of
260507
260508              db_user
260509                     database username if different from config or default
260510
260511              db_password
260512                     user password if any password for a specified user
260513
260514              db_host
260515                     Database host if different from config or default
260516
260517              db_port
260518                     Database port if different from config or default
260519
260520       salt.states.postgres_language.present(name,  maintenance_db, user=None,
260521       db_password=None, db_host=None, db_port=None, db_user=None)
260522              Ensure that a named language is present in the  specified  data‐
260523              base.
260524
260525              name   The name of the language to install
260526
260527              maintenance_db
260528                     The  name  of the database in which the language is to be
260529                     installed
260530
260531              user   System user all operations should be performed on  behalf
260532                     of
260533
260534              db_user
260535                     database username if different from config or default
260536
260537              db_password
260538                     user password if any password for a specified user
260539
260540              db_host
260541                     Database host if different from config or default
260542
260543              db_port
260544                     Database port if different from config or default
260545
260546   salt.states.postgres_privileges
260547   Management of PostgreSQL Privileges
260548       The  postgres_privileges  module is used to manage Postgres privileges.
260549       Privileges can be set as either absent or present.
260550
260551       Privileges can be set on the following database object types:
260552
260553       · database
260554
260555       · schema
260556
260557       · tablespace
260558
260559       · table
260560
260561       · sequence
260562
260563       · language
260564
260565       · group
260566
260567       Setting the grant option is supported as well.
260568
260569       New in version 2016.3.0.
260570
260571
260572          baruwa:
260573            postgres_privileges.present:
260574              - object_name: awl
260575              - object_type: table
260576              - privileges:
260577                - SELECT
260578                - INSERT
260579                - DELETE
260580              - grant_option: False
260581              - prepend: public
260582              - maintenance_db: testdb
260583
260584          andrew:
260585            postgres_privileges.present:
260586              - object_name: admins
260587              - object_type: group
260588              - grant_option: False
260589              - maintenance_db: testdb
260590
260591          baruwa:
260592            postgres_privileges.absent:
260593              - object_name: awl
260594              - object_type: table
260595              - privileges:
260596                - SELECT
260597                - INSERT
260598                - DELETE
260599              - prepend: public
260600              - maintenance_db: testdb
260601
260602          andrew:
260603            postgres_privileges.absent:
260604              - object_name: admins
260605              - object_type: group
260606              - maintenance_db: testdb
260607
260608       salt.states.postgres_privileges.absent(name, object_name,  object_type,
260609       privileges=None,   prepend=u'public',  maintenance_db=None,  user=None,
260610       db_password=None, db_host=None, db_port=None, db_user=None)
260611              Revoke the requested privilege(s) on the specificed object(s)
260612
260613              name   Name of the role whose privileges should be revoked
260614
260615              object_name
260616                     Name of the object on which the revoke is to be performed
260617
260618              object_type
260619                     The object type, which can be one of the following:
260620
260621                     · table
260622
260623                     · sequence
260624
260625                     · schema
260626
260627                     · tablespace
260628
260629                     · language
260630
260631                     · database
260632
260633                     · group
260634
260635                     · function
260636
260637                     View permissions should specify object_type: table.
260638
260639              privileges
260640                     Comma separated list of privileges to  revoke,  from  the
260641                     list below:
260642
260643                     · INSERT
260644
260645                     · CREATE
260646
260647                     · TRUNCATE
260648
260649                     · CONNECT
260650
260651                     · TRIGGER
260652
260653                     · SELECT
260654
260655                     · USAGE
260656
260657                     · TEMPORARY
260658
260659                     · UPDATE
260660
260661                     · EXECUTE
260662
260663                     · REFERENCES
260664
260665                     · DELETE
260666
260667                     · ALL
260668
260669                     note   privileges  should  not be set when revoking group
260670                            membership
260671
260672              prepend
260673                     Table and Sequence object types live under  a  schema  so
260674                     this  should  be  provided if the object is not under the
260675                     default public schema
260676
260677              maintenance_db
260678                     The name of the database in which the language is  to  be
260679                     installed
260680
260681              user   System  user all operations should be performed on behalf
260682                     of
260683
260684              db_user
260685                     database username if different from config or default
260686
260687              db_password
260688                     user password if any password for a specified user
260689
260690              db_host
260691                     Database host if different from config or default
260692
260693              db_port
260694                     Database port if different from config or default
260695
260696       salt.states.postgres_privileges.present(name, object_name, object_type,
260697       privileges=None,    grant_option=None,    prepend=u'public',    mainte‐
260698       nance_db=None, user=None, db_password=None, db_host=None, db_port=None,
260699       db_user=None)
260700              Grant  the  requested  privilege(s) on the specified object to a
260701              role
260702
260703              name   Name of the role to which privileges should be granted
260704
260705              object_name
260706                     Name of the object on which the grant is to be performed.
260707                     'ALL'  may  be  used  for  objects  of  type  'table'  or
260708                     'sequence'.
260709
260710              object_type
260711                     The object type, which can be one of the following:
260712
260713                     · table
260714
260715                     · sequence
260716
260717                     · schema
260718
260719                     · tablespace
260720
260721                     · language
260722
260723                     · database
260724
260725                     · group
260726
260727                     · function
260728
260729                     View permissions should specify object_type: table.
260730
260731              privileges
260732                     List of privileges to grant, from the list below:
260733
260734                     · INSERT
260735
260736                     · CREATE
260737
260738                     · TRUNCATE
260739
260740                     · CONNECT
260741
260742                     · TRIGGER
260743
260744                     · SELECT
260745
260746                     · USAGE
260747
260748                     · TEMPORARY
260749
260750                     · UPDATE
260751
260752                     · EXECUTE
260753
260754                     · REFERENCES
260755
260756                     · DELETE
260757
260758                     · ALL
260759
260760                     note   privileges should not be set when  granting  group
260761                            membership
260762
260763              grant_option
260764                     If  grant_option  is  set  to  True, the recipient of the
260765                     privilege can in turn grant it to others
260766
260767              prepend
260768                     Table and Sequence object types live under  a  schema  so
260769                     this  should  be  provided if the object is not under the
260770                     default public schema
260771
260772              maintenance_db
260773                     The name of the database in which the language is  to  be
260774                     installed
260775
260776              user   System  user all operations should be performed on behalf
260777                     of
260778
260779              db_user
260780                     database username if different from config or default
260781
260782              db_password
260783                     user password if any password for a specified user
260784
260785              db_host
260786                     Database host if different from config or default
260787
260788              db_port
260789                     Database port if different from config or default
260790
260791   salt.states.postgres_schema
260792   Management of PostgreSQL schemas
260793       The postgres_schemas module is  used  to  create  and  manage  Postgres
260794       schemas.
260795
260796          public:
260797            postgres_schema.present 'dbname' 'name'
260798
260799       salt.states.postgres_schema.absent(dbname,       name,       user=None,
260800       db_user=None, db_password=None, db_host=None, db_port=None)
260801              Ensure that the named schema is absent.
260802
260803              dbname The database's name will work on
260804
260805              name   The name of the schema to remove
260806
260807              user   system user all operations should be performed on  behalf
260808                     of
260809
260810              db_user
260811                     database username if different from config or default
260812
260813              db_password
260814                     user password if any password for a specified user
260815
260816              db_host
260817                     Database host if different from config or default
260818
260819              db_port
260820                     Database port if different from config or default
260821
260822       salt.states.postgres_schema.present(dbname,      name,      owner=None,
260823       user=None, db_user=None, db_password=None, db_host=None, db_port=None)
260824              Ensure that the named schema is present in the database.
260825
260826              dbname The database's name will work on
260827
260828              name   The name of the schema to manage
260829
260830              user   system user all operations should be performed on  behalf
260831                     of
260832
260833              db_user
260834                     database username if different from config or default
260835
260836              db_password
260837                     user password if any password for a specified user
260838
260839              db_host
260840                     Database host if different from config or default
260841
260842              db_port
260843                     Database port if different from config or default
260844
260845   salt.states.postgres_tablespace
260846   Management of PostgreSQL tablespace
260847       A module used to create and manage PostgreSQL tablespaces.
260848
260849          ssd-tablespace:
260850            postgres_tablespace.present:
260851              - name: indexes
260852              - directory: /mnt/ssd-data
260853
260854       New in version 2015.8.0.
260855
260856
260857       salt.states.postgres_tablespace.absent(name,     user=None,     mainte‐
260858       nance_db=None,    db_user=None,     db_password=None,     db_host=None,
260859       db_port=None)
260860              Ensure that the named tablespace is absent.
260861
260862              name   The name of the tablespace to remove
260863
260864              user   System  user all operations should be performed on behalf
260865                     of
260866
260867              maintenance_db
260868                     Database to act on
260869
260870              db_user
260871                     Database username if different from config or defaul
260872
260873              db_password
260874                     User password if any password for a specified user
260875
260876              db_host
260877                     Database host if different from config or default
260878
260879              db_port
260880                     Database port if different from config or default
260881
260882       salt.states.postgres_tablespace.present(name, directory,  options=None,
260883       owner=None,     user=None,    maintenance_db=None,    db_password=None,
260884       db_host=None, db_port=None, db_user=None)
260885              Ensure that the named tablespace is present with  the  specified
260886              properties.  For more information about all of these options run
260887              man 7 create_tablespace.
260888
260889              name   The name of the tablespace to create/manage.
260890
260891              directory
260892                     The directory where the tablespace will be located,  must
260893                     already exist
260894
260895              options
260896                     A  dictionary  of  options to specify for the tablespace.
260897                     Currently, the  only  tablespace  options  supported  are
260898                     seq_page_cost  and  random_page_cost.  Default values are
260899                     shown in the example below:
260900
260901                        my_space:
260902                          postgres_tablespace.present:
260903                            - directory: /srv/my_tablespace
260904                            - options:
260905                                seq_page_cost: 1.0
260906                                random_page_cost: 4.0
260907
260908              owner  The  database  user  that  will  be  the  owner  of   the
260909                     tablespace.   Defaults  to the user executing the command
260910                     (i.e. the user option)
260911
260912              user   System user all operations should be performed on  behalf
260913                     of
260914
260915              maintenance_db
260916                     Database to act on
260917
260918              db_user
260919                     Database username if different from config or default
260920
260921              db_password
260922                     User password if any password for a specified user
260923
260924              db_host
260925                     Database host if different from config or default
260926
260927              db_port
260928                     Database port if different from config or default
260929
260930   salt.states.postgres_user
260931   Management of PostgreSQL users (roles)
260932       The postgres_users module is used to create and manage Postgres users.
260933
260934          frank:
260935            postgres_user.present
260936
260937       salt.states.postgres_user.absent(name,  user=None, maintenance_db=None,
260938       db_password=None, db_host=None, db_port=None, db_user=None)
260939              Ensure that the named user is absent
260940
260941              name   The username of the user to remove
260942
260943              user   System user all operations should be performed on  behalf
260944                     of
260945
260946                     New in version 0.17.0.
260947
260948
260949              db_user
260950                     database username if different from config or default
260951
260952              db_password
260953                     user password if any password for a specified user
260954
260955              db_host
260956                     Database host if different from config or default
260957
260958              db_port
260959                     Database port if different from config or default
260960
260961       salt.states.postgres_user.present(name,       createdb=None,       cre‐
260962       ateroles=None,   encrypted=None,   superuser=None,    replication=None,
260963       inherit=None,    login=None,    password=None,   default_password=None,
260964       refresh_password=None, valid_until=None, groups=None, user=None,  main‐
260965       tenance_db=None,    db_password=None,    db_host=None,    db_port=None,
260966       db_user=None)
260967              Ensure that the named user is present with the specified  privi‐
260968              leges  Please  note  that the user/group notion in postgresql is
260969              just abstract, we have roles, where users can be seens as  roles
260970              with the LOGIN privilege and groups the others.
260971
260972              name   The name of the system user to manage.
260973
260974              createdb
260975                     Is the user allowed to create databases?
260976
260977              createroles
260978                     Is the user allowed to create other users?
260979
260980              encrypted
260981                     Should the password be encrypted in the system catalog?
260982
260983              login  Should the group have login perm
260984
260985              inherit
260986                     Should the group inherit permissions
260987
260988              superuser
260989                     Should the new user be a "superuser"
260990
260991              replication
260992                     Should  the  new  user  be  allowed to initiate streaming
260993                     replication
260994
260995              password
260996                     The system user's password. It  can  be  either  a  plain
260997                     string or a md5 postgresql hashed password:
260998
260999                        'md5{MD5OF({password}{role}}'
261000
261001                     If  encrypted is None or True, the password will be auto‐
261002                     matically encrypted to the previous format if it  is  not
261003                     already done.
261004
261005              default_password
261006                     The  password  used  only  when creating the user, unless
261007                     password is set.
261008
261009                     New in version 2016.3.0.
261010
261011
261012              refresh_password
261013                     Password refresh flag
261014
261015                     Boolean attribute to specify whether to password compari‐
261016                     son check should be performed.
261017
261018                     If  refresh_password  is True, the password will be auto‐
261019                     matically updated without extra password change check.
261020
261021                     This behaviour makes it possible to execute  in  environ‐
261022                     ments without superuser access available, e.g. Amazon RDS
261023                     for PostgreSQL
261024
261025              valid_until
261026                     A date and time after which the  role's  password  is  no
261027                     longer valid.
261028
261029              groups A string of comma separated groups the user should be in
261030
261031              user   System  user all operations should be performed on behalf
261032                     of
261033
261034                     New in version 0.17.0.
261035
261036
261037              db_user
261038                     Postgres database username, if different from  config  or
261039                     default.
261040
261041              db_password
261042                     Postgres  user's  password, if any password, for a speci‐
261043                     fied db_user.
261044
261045              db_host
261046                     Postgres database  host,  if  different  from  config  or
261047                     default.
261048
261049              db_port
261050                     Postgres  database  port,  if  different  from  config or
261051                     default.
261052
261053   salt.states.powerpath
261054   Powerpath configuration support
261055       Allows configuration of EMC Powerpath.  Currently  only  addition/dele‐
261056       tion of licenses is supported.
261057
261058          key:
261059            powerpath.license_present: []
261060
261061       salt.states.powerpath.license_absent(name)
261062              Ensures  that  the  specified PowerPath license key is absent on
261063              the host.
261064
261065              name   The license key to ensure is absent
261066
261067       salt.states.powerpath.license_present(name)
261068              Ensures that the specified PowerPath license key is  present  on
261069              the host.
261070
261071              name   The license key to ensure is present
261072
261073   salt.states.probes
261074   Network Probes
261075       Configure  RPM  (JunOS)/SLA  (Cisco)  probes  on  the device via NAPALM
261076       proxy.
261077
261078       codeauthor
261079              Mircea  Ulinic  <ping@mirceaulinic.net>  &  Jerome   Fleury   <‐
261080              jf@cloudflare.com>
261081
261082       maturity
261083              new
261084
261085       depends
261086              napalm
261087
261088       platform
261089              unix
261090
261091   Dependencies
261092       · napalm probes management module
261093
261094       salt.states.probes.managed(name, probes, defaults=None)
261095              Ensure  the  networks  device  is configured as specified in the
261096              state SLS file.  Probes not specified  will  be  removed,  while
261097              probes not confiured as expected will trigger config updates.
261098
261099              Parameters
261100
261101                     · probes  -- Defines the probes as expected to be config‐
261102                       ured on the device.  In order to ease the configuration
261103                       and avoid repeating the same parameters for each probe,
261104                       the next parameter (defaults) can  be  used,  providing
261105                       common characteristics.
261106
261107                     · defaults -- Specifies common parameters for the probes.
261108
261109              SLS Example:
261110
261111                 rpmprobes:
261112                     probes.managed:
261113                         - probes:
261114                             probe_name1:
261115                                 probe1_test1:
261116                                     source: 192.168.0.2
261117                                     target: 192.168.0.1
261118                                 probe1_test2:
261119                                     target: 172.17.17.1
261120                                 probe1_test3:
261121                                     target: 8.8.8.8
261122                                     probe_type: http-ping
261123                             probe_name2:
261124                                 probe2_test1:
261125                                     test_interval: 100
261126                         - defaults:
261127                             target: 10.10.10.10
261128                             probe_count: 15
261129                             test_interval: 3
261130                             probe_type: icmp-ping
261131
261132              In  the  probes  configuration,  the only mandatory attribute is
261133              target (specified either in probes configuration, either in  the
261134              defaults  dictionary).   All  the  other parameters will use the
261135              operating system defaults, if not provided:
261136
261137              · source - Specifies the source IP Address to be used during the
261138                tests.   If not specified will use the IP Address of the logi‐
261139                cal interface loopback0.
261140
261141              · target - Destination IP Address.
261142
261143              · probe_count - Total number of probes per test (1..15).  System
261144                defaults: 1 on both JunOS & Cisco.
261145
261146              · probe_interval  - Delay between tests (0..86400 seconds). Sys‐
261147                tem defaults: 3 on JunOS, 5 on Cisco.
261148
261149              · probe_type - Probe request type. Available options:
261150
261151                · icmp-ping
261152
261153                · tcp-ping
261154
261155                · udp-ping
261156
261157              Using the example configuration above, after running the  state,
261158              on  the  device  will be configured 4 probes, with the following
261159              properties:
261160
261161                 probe_name1:
261162                     probe1_test1:
261163                         source: 192.168.0.2
261164                         target: 192.168.0.1
261165                         probe_count: 15
261166                         test_interval: 3
261167                         probe_type: icmp-ping
261168                     probe1_test2:
261169                         target: 172.17.17.1
261170                         probe_count: 15
261171                         test_interval: 3
261172                         probe_type: icmp-ping
261173                     probe1_test3:
261174                         target: 8.8.8.8
261175                         probe_count: 15
261176                         test_interval: 3
261177                         probe_type: http-ping
261178                 probe_name2:
261179                     probe2_test1:
261180                         target: 10.10.10.10
261181                         probe_count: 15
261182                         test_interval: 3
261183                         probe_type: icmp-ping
261184
261185   salt.states.process
261186   Process Management
261187       Ensure a process matching a given pattern is absent.
261188
261189          httpd-absent:
261190            process.absent:
261191              - name: apache2
261192
261193       salt.states.process.absent(name, user=None, signal=None)
261194              Ensures that the named command is not running.
261195
261196              name   The pattern to match.
261197
261198              user   The user to which the process belongs
261199
261200              signal Signal to send to the process(es).
261201
261202   salt.states.proxy module
261203   Allows you to manage proxy settings on minions
261204       Setup proxy settings on minions
261205
261206          192.168.1.4:
261207            proxy.managed:
261208              - port: 3128
261209              - bypass_domains:
261210                  - localhost
261211                  - 127.0.0.1
261212
261213       salt.states.proxy.managed(name, port, services=None,  user=None,  pass‐
261214       word=None, bypass_domains=None, network_service=u'Ethernet')
261215              Manages proxy settings for this mininon
261216
261217              name   The proxy server to use
261218
261219              port   The port used by the proxy server
261220
261221              services
261222                     A  list  of  the services that should use the given proxy
261223                     settings, valid services include http, https and ftp.  If
261224                     no  service  is  given  all of the valid services will be
261225                     used.
261226
261227              user   The username to use for the proxy server if required
261228
261229              password
261230                     The password to use for the proxy server if required
261231
261232              bypass_domains
261233                     An array of the domains that should bypass the proxy
261234
261235              network_service
261236                     The network service to apply the changes  to,  this  only
261237                     necessary on macOS
261238
261239   salt.states.pushover
261240   Send a message to PushOver
261241       This  state  is  useful  for  sending messages to PushOver during state
261242       runs.
261243
261244       New in version 2015.5.0.
261245
261246
261247          pushover-message:
261248            pushover.post_message:
261249              - user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
261250              - token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
261251              - title: Salt Returner
261252              - device: phone
261253              - priority: -1
261254              - expire: 3600
261255              - retry: 5
261256              - message: 'This state was executed successfully.'
261257
261258       The api key can be specified in the master or minion configuration like
261259       below:
261260
261261          pushover:
261262                 token: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
261263
261264       salt.states.pushover.post_message(name,  user=None,  device=None,  mes‐
261265       sage=None,   title=None,   priority=None,   expire=None,    retry=None,
261266       sound=None, api_version=1, token=None)
261267              Send a message to a PushOver channel.
261268
261269                 pushover-message:
261270                   pushover.post_message:
261271                     - user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
261272                     - token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
261273                     - title: Salt Returner
261274                     - device: phone
261275                     - priority: -1
261276                     - expire: 3600
261277                     - retry: 5
261278
261279              The following parameters are required:
261280
261281              name   The unique name for this event.
261282
261283              user   The  user  or group of users to send the message to. Must
261284                     be ID of user, not name or email address.
261285
261286              message
261287                     The message that is to be sent to the PushOver channel.
261288
261289              The following parameters are optional:
261290
261291              title  The title to use for the message.
261292
261293              device The device for the user to send the message to.
261294
261295              priority
261296                     The priority for the message.
261297
261298              expire The message should expire after specified amount of  sec‐
261299                     onds.
261300
261301              retry  The message should be resent this many times.
261302
261303              token  The  token for PushOver to use for authentication, if not
261304                     specified in the configuration options of master or  min‐
261305                     ion.
261306
261307   salt.states.pyenv
261308   Managing python installations with pyenv
261309       This  module  is  used  to install and manage python installations with
261310       pyenv.  Different versions of python can be installed, and uninstalled.
261311       pyenv  will  be installed automatically the first time it is needed and
261312       can be updated later. This module will not automatically install  pack‐
261313       ages which pyenv will need to compile the versions of python.
261314
261315       If  pyenv  is  run  as  the  root  user  then  it  will be installed to
261316       /usr/local/pyenv, otherwise it will be installed to the users  ~/.pyenv
261317       directory. To make pyenv available in the shell you may need to add the
261318       pyenv/shims and pyenv/bin directories to the users  PATH.  If  you  are
261319       installing as root and want other users to be able to access pyenv then
261320       you will need to add pyenv_ROOT to their environment.
261321
261322       This is how a state configuration could look like:
261323
261324          pyenv-deps:
261325            pkg.installed:
261326              - pkgs:
261327                - make
261328                - build-essential
261329                - libssl-dev
261330                - zlib1g-dev
261331                - libbz2-dev
261332                - libreadline-dev
261333                - libsqlite3-dev
261334                - wget
261335                - curl
261336                - llvm
261337          python-2.6:
261338            pyenv.absent:
261339              - require:
261340                - pkg: pyenv-deps
261341
261342          python-2.7.6:
261343            pyenv.installed:
261344              - default: True
261345              - require:
261346                - pkg: pyenv-deps
261347
261348       NOTE:
261349          Git needs to be installed and available via PATH if pyenv is  to  be
261350          installed automatically by the module.
261351
261352       salt.states.pyenv.absent(name, user=None)
261353              Verify  that  the  specified python is not installed with pyenv.
261354              pyenv is installed if necessary.
261355
261356              name   The version of python to uninstall
261357
261358              user: None
261359                     The user to run pyenv as.
261360
261361                     New in version 0.17.0.
261362
261363
261364              New in version 0.16.0.
261365
261366
261367       salt.states.pyenv.install_pyenv(name, user=None)
261368              Install pyenv if not installed. Allows you to require  pyenv  be
261369              installed prior to installing the plugins. Useful if you want to
261370              install pyenv plugins via the git or file modules and need  them
261371              installed before installing any rubies.
261372
261373              Use  the  pyenv.root  configuration  option  to set the path for
261374              pyenv if you want a system wide install that is not  in  a  user
261375              home dir.
261376
261377              user: None
261378                     The user to run pyenv as.
261379
261380       salt.states.pyenv.installed(name, default=False, user=None)
261381              Verify  that the specified python is installed with pyenv. pyenv
261382              is installed if necessary.
261383
261384              name   The version of python to install
261385
261386              default
261387                     False Whether to make this python the default.
261388
261389              user: None
261390                     The user to run pyenv as.
261391
261392                     New in version 0.17.0.
261393
261394
261395              New in version 0.16.0.
261396
261397
261398   salt.states.pyrax_queues
261399   Manage Rackspace Queues
261400       New in version 2015.5.0.
261401
261402
261403       Create and destroy Rackspace queues. Be aware that this interacts  with
261404       Rackspace's services, and so may incur charges.
261405
261406       This  module  uses  pyrax,  which can be installed via package, or pip.
261407       This module is greatly inspired by boto_* modules from  SaltStack  code
261408       source.
261409
261410          myqueue:
261411              pyrax_queues.present:
261412                  - provider: my-pyrax
261413
261414          myqueue:
261415              pyrax_queues.absent:
261416                  - provider: my-pyrax
261417
261418       salt.states.pyrax_queues.absent(name, provider)
261419              Ensure the named Rackspace queue is deleted.
261420
261421              name   Name of the Rackspace queue.
261422
261423              provider
261424                     Salt Cloud provider
261425
261426       salt.states.pyrax_queues.present(name, provider)
261427              Ensure the RackSpace queue exists.
261428
261429              name   Name of the Rackspace queue.
261430
261431              provider
261432                     Salt Cloud Provider
261433
261434   salt.states.quota
261435   Management of POSIX Quotas
261436       The quota can be managed for the system:
261437
261438          /:
261439            quota.mode:
261440              mode: off
261441              quotatype: user
261442
261443       salt.states.quota.mode(name, mode, quotatype)
261444              Set the quota for the system
261445
261446              name   The filesystem to set the quota mode on
261447
261448              mode   Whether the quota system is on or off
261449
261450              quotatype
261451                     Must be user or group
261452
261453   salt.states.rabbitmq_cluster
261454   Manage RabbitMQ Clusters
261455       Example:
261456
261457          rabbit@rabbit.example.com:
261458            rabbitmq_cluster.join:
261459              - user: rabbit
261460              - host: rabbit.example.com
261461
261462       salt.states.rabbitmq_cluster.join(name,      host,      user=u'rabbit',
261463       ram_node=None, runas=u'root')
261464              This function is an alias of joined.
261465                 Ensure the  current  node  joined  to  a  cluster  with  node
261466                 user@host
261467
261468                 name   Irrelevant, not used (recommended: user@host)
261469
261470                 user   The user of node to join to (default: rabbit)
261471
261472                 host   The host of node to join to
261473
261474                 ram_node
261475                        Join node as a RAM node
261476
261477                 runas  The user to run the rabbitmq command as
261478
261479       salt.states.rabbitmq_cluster.joined(name,     host,     user=u'rabbit',
261480       ram_node=None, runas=u'root')
261481              Ensure the current node joined to a cluster with node user@host
261482
261483              name   Irrelevant, not used (recommended: user@host)
261484
261485              user   The user of node to join to (default: rabbit)
261486
261487              host   The host of node to join to
261488
261489              ram_node
261490                     Join node as a RAM node
261491
261492              runas  The user to run the rabbitmq command as
261493
261494   salt.states.rabbitmq_plugin
261495   Manage RabbitMQ Plugins
261496       New in version 2014.1.0.
261497
261498
261499       Example:
261500
261501          some_plugin:
261502            rabbitmq_plugin.enabled: []
261503
261504       salt.states.rabbitmq_plugin.disabled(name, runas=None)
261505              Ensure the RabbitMQ plugin is disabled.
261506
261507              name   The name of the plugin
261508
261509              runas  The user to run the rabbitmq-plugin command as
261510
261511       salt.states.rabbitmq_plugin.enabled(name, runas=None)
261512              Ensure the RabbitMQ plugin is enabled.
261513
261514              name   The name of the plugin
261515
261516              runas  The user to run the rabbitmq-plugin command as
261517
261518   salt.states.rabbitmq_policy
261519   Manage RabbitMQ Policies
261520       maintainer
261521              Benn Eichhorn <benn@getlocalmeasure.com>
261522
261523       maturity
261524              new
261525
261526       platform
261527              all
261528
261529       Example:
261530
261531          rabbit_policy:
261532            rabbitmq_policy.present:
261533              - name: HA
261534              - pattern: '.*'
261535              - definition: '{"ha-mode": "all"}'
261536
261537       salt.states.rabbitmq_policy.absent(name, vhost=u'/', runas=None)
261538              Ensure the named policy is absent
261539
261540              Reference: http://www.rabbitmq.com/ha.html
261541
261542              name   The name of the policy to remove
261543
261544              runas  Name of the user to run the command as
261545
261546       salt.states.rabbitmq_policy.present(name, pattern,  definition,  prior‐
261547       ity=0, vhost=u'/', runas=None, apply_to=None)
261548              Ensure the RabbitMQ policy exists.
261549
261550              Reference: http://www.rabbitmq.com/ha.html
261551
261552              name   Policy name
261553
261554              pattern
261555                     A regex of queues to apply the policy to
261556
261557              definition
261558                     A json dict describing the policy
261559
261560              priority
261561                     Priority (defaults to 0)
261562
261563              vhost  Virtual host to apply to (defaults to '/')
261564
261565              runas  Name of the user to run the command as
261566
261567              apply_to
261568                     Apply  policy  to 'queues', 'exchanges' or 'all' (default
261569                     to 'all')
261570
261571   salt.states.rabbitmq_upstream
261572   Manage RabbitMQ Upstreams
261573       Example:
261574
261575          rabbit_upstream:
261576            rabbitmq_upstream.present:
261577            - name: upstream_1
261578            - uri: amqp://my_user:my_password@rabbitmq_host
261579            - trust_user_id: True
261580            - ack_mode: on-confirm
261581            - max_hops: 1
261582
261583       New in version 3000.
261584
261585
261586       salt.states.rabbitmq_upstream.absent(name, runas=None)
261587              Ensure the named upstream is absent.
261588
261589              Parameters
261590
261591                     · name (str) -- The name of the upstream to remove
261592
261593                     · runas (str) -- User to run the command
261594
261595              New in version 3000.
261596
261597
261598       salt.states.rabbitmq_upstream.present(name,  uri,  prefetch_count=None,
261599       reconnect_delay=None, ack_mode=None, trust_user_id=None, exchange=None,
261600       max_hops=None,    expires=None,    message_ttl=None,    ha_policy=None,
261601       queue=None, runas=None)
261602              Ensure the RabbitMQ upstream exists.
261603
261604              Parameters
261605
261606                     · name (str) -- The name of the upstream connection
261607
261608                     · uri  (str)  --  The URI to connect to. If upstream is a
261609                       cluster and can have several URIs, you can  enter  them
261610                       here     separated     by    spaces.     Examples:    -
261611                       amqp://user:password@server_name  -   amqp://user:pass‐
261612                       word@server_name/vhost  When  connecting with SSL, sev‐
261613                       eral URI-parameters need also be specified:  -  cacert‐
261614                       file     =    /path/to/cacert.pem    -    certfile    =
261615                       /path/to/cert.pem - keyfile = /part/to/key.pem - verity
261616                       =  verify_peer  - fail_if_no_peer_cert = true | false -
261617                       auth_mechanism = external Example: -  amqp://user:pass‐
261618                       word@server_name?cacertfile=/path/to/cacert.pem&
261619                       certfile=/path/to/cert.pem&key‐
261620                       file=/path/to/key.pem&verify=verify_peer              -
261621                       amqp://server-name?cacertfile=/path/to/cacert.pem&cert‐
261622                       file=/path/to/cert.pem&                            key‐
261623                       file=/path/to/key.pem&verify=ver‐
261624                       ify_peer&fail_if_no_peer_cert=true&auth_mecha‐
261625                       nism=external
261626
261627                     · prefetch_count (int) -- Maximum  number  of  unacknowl‐
261628                       edged  messages that may be in flight over a federation
261629                       link at one time. Default: 1000
261630
261631                     · reconnect_delay (int) -- Time in seconds to wait  after
261632                       a  network  link  goes down before attempting reconnec‐
261633                       tion. Default: 5
261634
261635                     · ack_mode (str) -- The  following  values  are  allowed:
261636                       on-confirm:  Messages  are acknowledged to the upstream
261637                       broker after they have been confirmed downstream.  Han‐
261638                       dles  network errors and broker failures without losing
261639                       messages. The slowest option, and the default.  on-pub‐
261640                       lish:  Messages are acknowledged to the upstream broker
261641                       after they have been published downstream. Handles net‐
261642                       work  errors without losing messages, but may lose mes‐
261643                       sages in the event of broker failures.  no-ack: Message
261644                       acknowledgements  are not used. The fastest option, but
261645                       you may lose messages in the event of network or broker
261646                       failures.
261647
261648                     · trust_user_id  (bool)  --  Set  True  to  preserve  the
261649                       "user-id" field across a federation link, even  if  the
261650                       user-id  does not match that used to republish the mes‐
261651                       sage. Set to False to clear the  "user-id"  field  when
261652                       messages  are  federated.  Only set this to True if you
261653                       trust the upstream broker not to forge user-ids.
261654
261655                     · exchange (str) -- The name of  the  upstream  exchange.
261656                       Default  is  to  use  the  same  name  as the federated
261657                       exchange.
261658
261659                     · max_hops (int) -- Maximum number  of  federation  links
261660                       that   messages  can  traverse  before  being  dropped.
261661                       Defaults to 1 if not set.
261662
261663                     · expires (int) -- Time in milliseconds that the upstream
261664                       should  remember  about  this node for. After this time
261665                       all upstream  state  will  be  removed.   Set  to  None
261666                       (Default) to mean "forever".
261667
261668                     · message_ttl (int) -- Time in milliseconds that undeliv‐
261669                       ered messages should be held upstream when there  is  a
261670                       network  outage  or  backlog.  Set to None (default) to
261671                       mean "forever".
261672
261673                     · ha_policy (str) -- Determines  the  "x-ha-policy"-argu‐
261674                       ment  for  the upstream queue for a federated exchange.
261675                       Default is "none" meaning the queue is not HA.
261676
261677                     · queue (str) -- The name of the upstream queue.  Default
261678                       is to use the same name as the federated queue.
261679
261680              New in version 3000.
261681
261682
261683   salt.states.rabbitmq_user
261684   Manage RabbitMQ Users
261685       Example:
261686
261687          rabbit_user:
261688            rabbitmq_user.present:
261689              - password: password
261690              - force: True
261691              - tags:
261692                - monitoring
261693                - user
261694              - perms:
261695                - '/':
261696                  - '.*'
261697                  - '.*'
261698                  - '.*'
261699              - runas: rabbitmq
261700
261701       salt.states.rabbitmq_user.absent(name, runas=None)
261702              Ensure the named user is absent
261703
261704              name   The name of the user to remove
261705
261706              runas  User to run the command
261707
261708       salt.states.rabbitmq_user.present(name,   password=None,   force=False,
261709       tags=None, perms=(), runas=None)
261710              Ensure the RabbitMQ user exists.
261711
261712              name   User name
261713
261714              password
261715                     User's password, if one needs to be set
261716
261717              force  If user exists, forcibly change the password
261718
261719              tags   Optional list of tags for the user
261720
261721              perms  A list of dicts with vhost keys and 3-tuple values
261722
261723              runas  Name of the user to run the command
261724
261725   salt.states.rabbitmq_vhost
261726   Manage RabbitMQ Virtual Hosts
261727       Example:
261728
261729          virtual_host:
261730            rabbitmq_vhost.present:
261731              - user: rabbit_user
261732              - conf: .*
261733              - write: .*
261734              - read: .*
261735
261736       salt.states.rabbitmq_vhost.absent(name)
261737              Ensure the RabbitMQ Virtual Host is absent
261738
261739              name   Name of the Virtual Host to remove
261740
261741              runas  User to run the command
261742
261743                     Deprecated since version 2015.8.0.
261744
261745
261746       salt.states.rabbitmq_vhost.present(name)
261747              Ensure the RabbitMQ VHost exists.
261748
261749              name   VHost name
261750
261751              user   Initial user permission to set on the VHost, if present
261752
261753                     Deprecated since version 2015.8.0.
261754
261755
261756              owner  Initial owner permission to set on the VHost, if present
261757
261758                     Deprecated since version 2015.8.0.
261759
261760
261761              conf   Initial conf string to  apply  to  the  VHost  and  user.
261762                     Defaults to .*
261763
261764                     Deprecated since version 2015.8.0.
261765
261766
261767              write  Initial write permissions to apply to the VHost and user.
261768                     Defaults to .*
261769
261770                     Deprecated since version 2015.8.0.
261771
261772
261773              read   Initial read permissions to apply to the VHost and  user.
261774                     Defaults to .*
261775
261776                     Deprecated since version 2015.8.0.
261777
261778
261779              runas  Name of the user to run the command
261780
261781                     Deprecated since version 2015.8.0.
261782
261783
261784   salt.states.rbac_solaris
261785       Management of Solaris RBAC
261786
261787       maintainer
261788              Jorge Schrauwen <sjorge@blackdot.be>
261789
261790       maturity
261791              new
261792
261793       depends
261794              rbac_solaris,solaris_user
261795
261796       platform
261797              solaris,illumos
261798
261799       New in version 2016.11.0.
261800
261801
261802          sjorge:
261803            rbac.managed:
261804              - roles:
261805                  - netcfg
261806              - profiles:
261807                  - System Power
261808              - authorizations:
261809                  - solaris.audit.*
261810
261811       salt.states.rbac_solaris.managed(name,    roles=None,    profiles=None,
261812       authorizations=None)
261813              Manage RBAC properties for user
261814
261815              name   string username
261816
261817              roles  list list of roles for user
261818
261819              profiles
261820                     list list of profiles for user
261821
261822              authorizations
261823                     list list of authorizations for user
261824
261825              WARNING:
261826                 All existing  roles,  profiles  and  authorizations  will  be
261827                 replaced!  An empty list will remove everything.
261828
261829                 Set the property to None to not manage it.
261830
261831   salt.states.rbenv
261832   Managing Ruby installations with rbenv
261833       This module is used to install and manage ruby installations with rbenv
261834       and the ruby-build plugin. Different versions of ruby can be installed,
261835       and  uninstalled.  Rbenv will be installed automatically the first time
261836       it is needed and can be updated later. This module will  not  automati‐
261837       cally install packages which rbenv will need to compile the versions of
261838       ruby. If your version of ruby fails to install, refer to the ruby-build
261839       documentation   to   verify  you  are  not  missing  any  dependencies:
261840       https://github.com/rbenv/ruby-build/wiki
261841
261842       If rbenv is run  as  the  root  user  then  it  will  be  installed  to
261843       /usr/local/rbenv,  otherwise it will be installed to the users ~/.rbenv
261844       directory. To make rbenv available in the shell you may need to add the
261845       rbenv/shims  and  rbenv/bin  directories  to the users PATH. If you are
261846       installing as root and want other users to be able to access rbenv then
261847       you will need to add RBENV_ROOT to their environment.
261848
261849       The  following  state  configuration  demonstrates  how to install Ruby
261850       1.9.x and 2.x using rbenv on Ubuntu/Debian:
261851
261852          rbenv-deps:
261853            pkg.installed:
261854              - names:
261855                - bash
261856                - git
261857                - openssl
261858                - libssl-dev
261859                - make
261860                - curl
261861                - autoconf
261862                - bison
261863                - build-essential
261864                - libffi-dev
261865                - libyaml-dev
261866                - libreadline6-dev
261867                - zlib1g-dev
261868                - libncurses5-dev
261869
261870          ruby-1.9.3-p429:
261871            rbenv.absent:
261872              - require:
261873                - pkg: rbenv-deps
261874
261875          ruby-2.0.0-p598:
261876            rbenv.installed:
261877              - default: True
261878              - require:
261879                - pkg: rbenv-deps
261880
261881       salt.states.rbenv.absent(name, user=None)
261882              Verify that the specified ruby  is  not  installed  with  rbenv.
261883              Rbenv is installed if necessary.
261884
261885              name   The version of ruby to uninstall
261886
261887              user: None
261888                     The user to run rbenv as.
261889
261890                     New in version 0.17.0.
261891
261892
261893              New in version 0.16.0.
261894
261895
261896       salt.states.rbenv.install_rbenv(name, user=None)
261897              Install  rbenv  if not installed. Allows you to require rbenv be
261898              installed prior to installing the plugins. Useful if you want to
261899              install  rbenv plugins via the git or file modules and need them
261900              installed before installing any rubies.
261901
261902              Use the rbenv.root configuration option  to  set  the  path  for
261903              rbenv  if  you  want a system wide install that is not in a user
261904              home dir.
261905
261906              user: None
261907                     The user to run rbenv as.
261908
261909       salt.states.rbenv.installed(name, default=False, user=None)
261910              Verify that the specified ruby is installed with rbenv. Rbenv is
261911              installed if necessary.
261912
261913              name   The version of ruby to install
261914
261915              default
261916                     False Whether to make this ruby the default.
261917
261918              user: None
261919                     The user to run rbenv as.
261920
261921                     New in version 0.17.0.
261922
261923
261924              New in version 0.16.0.
261925
261926
261927   salt.states.rdp
261928       Manage RDP Service on Windows servers
261929
261930       salt.states.rdp.disabled(name)
261931              Disable the RDP service
261932
261933       salt.states.rdp.enabled(name)
261934              Enable  the  RDP service and make sure access to the RDP port is
261935              allowed in the firewall configuration
261936
261937   salt.states.redismod
261938   Management of Redis server
261939       New in version 2014.7.0.
261940
261941
261942       depends
261943
261944              · redis Python module
261945
261946       configuration
261947              See salt.modules.redis for setup instructions.
261948
261949          key_in_redis:
261950            redis.string:
261951              - value: string data
261952
261953       The redis server information specified in the minion config file can be
261954       overridden  in  states  using  the following arguments: host, post, db,
261955       password.
261956
261957          key_in_redis:
261958            redis.string:
261959              - value: string data
261960              - host: localhost
261961              - port: 6379
261962              - db: 0
261963              - password: somuchkittycat
261964
261965       salt.states.redismod.absent(name, keys=None, **connection_args)
261966              Ensure key absent from redis
261967
261968              name   Key to ensure absent from redis
261969
261970              keys   list of keys to ensure absent, name will  be  ignored  if
261971                     this is used
261972
261973       salt.states.redismod.slaveof(name,       sentinel_host=None,       sen‐
261974       tinel_port=None, sentinel_password=None, **connection_args)
261975              Set this redis instance as a slave.
261976
261977              name   Master to make this a slave of
261978
261979              sentinel_host
261980                     Ip of the sentinel to check for the master
261981
261982              sentinel_port
261983                     Port of the sentinel to check for the master
261984
261985       salt.states.redismod.string(name,  value,  expire=None,  expireat=None,
261986       **connection_args)
261987              Ensure that the key exists in redis with the value specified
261988
261989              name   Redis key to manage
261990
261991              value  Data to persist in key
261992
261993              expire Sets time to live for key in seconds
261994
261995              expireat
261996                     Sets  expiration  time  for key via UNIX timestamp, over‐
261997                     rides expire
261998
261999   salt.states.reg
262000   Manage the Windows registry
262001       Many python developers think of registry keys as if  they  were  python
262002       keys  in  a  dictionary  which is not the case. The windows registry is
262003       broken down into the following components:
262004
262005   Hives
262006       This is the top level of the registry. They all begin with HKEY.
262007
262008          · HKEY_CLASSES_ROOT (HKCR)
262009
262010          · HKEY_CURRENT_USER(HKCU)
262011
262012          · HKEY_LOCAL MACHINE (HKLM)
262013
262014          · HKEY_USER (HKU)
262015
262016          · HKEY_CURRENT_CONFIG
262017
262018   Keys
262019       Hives contain keys. These are basically the folders beneath the  hives.
262020       They can contain any number of subkeys.
262021
262022       When passing the hivekey values they must be quoted correctly depending
262023       on the backslashes being used (\ vs \\). The way backslashes  are  han‐
262024       dled  in the state file is different from the way they are handled when
262025       working on the CLI. The following are  valid  methods  of  passing  the
262026       hivekey:
262027
262028       Using single backslashes:
262029              HKLMSOFTWAREPython 'HKLMSOFTWAREPython'
262030
262031       Using double backslashes:
262032              "HKLM\SOFTWARE\Python"
262033
262034   Values or Entries
262035       Values or Entries are the name/data pairs beneath the keys and subkeys.
262036       All keys have a default name/data pair. The name is  (Default)  with  a
262037       displayed value of (value not set). The actual value is Null.  Example
262038
262039       The  following example is taken from the windows startup portion of the
262040       registry:
262041
262042          [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
262043          "RTHDVCPL"="\"C:\\Program Files\\Realtek\\Audio\\HDA\\RtkNGUI64.exe\" -s"
262044          "NvBackend"="\"C:\\Program Files (x86)\\NVIDIA Corporation\\Update Core\\NvBackend.exe\""
262045          "BTMTrayAgent"="rundll32.exe \"C:\\Program Files (x86)\\Intel\\Bluetooth\\btmshellex.dll\",TrayApp"
262046
262047       In this example these are the values for each:
262048
262049       Hive:  HKEY_LOCAL_MACHINE
262050
262051       Key and subkeys:
262052              SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
262053
262054       Value:
262055
262056       · There are 3 value names: RTHDVCPL, NvBackend, and BTMTrayAgent
262057
262058       · Each value name has a corresponding value
262059
262060       salt.states.reg.absent(name, vname=None, use_32bit_registry=False)
262061              Ensure a  registry  value  is  removed.  To  remove  a  key  use
262062              key_absent.
262063
262064              Parameters
262065
262066                     · name (str) --
262067
262068                       A string value representing the full path of the key to
262069                       include the HIVE, Key, and all Subkeys. For example:
262070
262071                       HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt
262072
262073                       Valid hive values include:
262074
262075                          · HKEY_CURRENT_USER or HKCU
262076
262077                          · HKEY_LOCAL_MACHINE or HKLM
262078
262079                          · HKEY_USERS or HKU
262080
262081
262082                     · vname (str) -- The name of the value you'd like to cre‐
262083                       ate beneath the Key. If this parameter is not passed it
262084                       will assume you want to set the (Default) value
262085
262086                     · use_32bit_registry (bool) -- Use the 32bit  portion  of
262087                       the registry. Applies only to 64bit windows. 32bit Win‐
262088                       dows will ignore this parameter. Default is False.
262089
262090              Returns
262091                     A dictionary showing the results of the  registry  opera‐
262092                     tion.
262093
262094              Return type
262095                     dict
262096
262097              CLI Example:
262098
262099                     'HKEY_CURRENT_USER\\SOFTWARE\\Salt':
262100                       reg.absent
262101                         - vname: version
262102
262103                 In  the above example the value named version will be removed
262104                 from the SOFTWARE\Salt key in the HKEY_CURRENT_USER hive.  If
262105                 vname was not passed, the (Default) value would be deleted.
262106
262107       salt.states.reg.key_absent(name, use_32bit_registry=False)
262108              New in version 2015.5.4.
262109
262110
262111              Ensure a registry key is removed. This will remove the key, sub‐
262112              keys, and all value entries.
262113
262114              Parameters
262115
262116                     · name (str) --
262117
262118                       A string representing the full path to the  key  to  be
262119                       removed  to  include the hive and the keypath. The hive
262120                       can be any of the following:
262121
262122                          · HKEY_LOCAL_MACHINE or HKLM
262123
262124                          · HKEY_CURRENT_USER or HKCU
262125
262126                          · HKEY_USER or HKU
262127
262128
262129                     · use_32bit_registry (bool) -- Use the 32bit  portion  of
262130                       the registry. Applies only to 64bit windows. 32bit Win‐
262131                       dows will ignore this parameter. Default is False.
262132
262133              Returns
262134                     A dictionary showing the results of the  registry  opera‐
262135                     tion.
262136
262137              Return type
262138                     dict
262139
262140              CLI Example:
262141                 The  following  example will delete the SOFTWARE\DeleteMe key
262142                 in the HKEY_LOCAL_MACHINE hive including all its subkeys  and
262143                 value pairs.
262144
262145                     remove_key_demo:
262146                       reg.key_absent:
262147                         - name: HKEY_CURRENT_USER\SOFTWARE\DeleteMe
262148
262149                 In the above example the path is interpreted as follows:
262150
262151                     · HKEY_CURRENT_USER is the hive
262152
262153                     · SOFTWARE\DeleteMe is the key
262154
262155       salt.states.reg.present(name,  vname=None, vdata=None, vtype=u'REG_SZ',
262156       use_32bit_registry=False,        win_owner=None,        win_perms=None,
262157       win_deny_perms=None, win_inheritance=True, win_perms_reset=False)
262158              Ensure a registry key or value is present.
262159
262160              Parameters
262161
262162                     · name (str) --
262163
262164                       A string value representing the full path of the key to
262165                       include the HIVE, Key, and all Subkeys. For example:
262166
262167                       HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt
262168
262169                       Valid hive values include:
262170
262171                          · HKEY_CURRENT_USER or HKCU
262172
262173                          · HKEY_LOCAL_MACHINE or HKLM
262174
262175                          · HKEY_USERS or HKU
262176
262177
262178                     · vname (str) -- The name of the value you'd like to cre‐
262179                       ate beneath the Key. If this parameter is not passed it
262180                       will assume you want to set the (Default) value
262181
262182                     · vdata (str, int, list, bytes) --
262183
262184                       The value you'd like to set. If a value name (vname) is
262185                       passed,  this  will be the data for that value name. If
262186                       not, this will be the (Default) value for the key.
262187
262188                       The type of data this parameter expects  is  determined
262189                       by  the  value  type specified in vtype. The correspon‐
262190                       dence is as follows:
262191
262192                          · REG_BINARY: Binary data (str in Py2, bytes in Py3)
262193
262194                          · REG_DWORD: int
262195
262196                          · REG_EXPAND_SZ: str
262197
262198                          · REG_MULTI_SZ: list of str
262199
262200                          · REG_QWORD: int
262201
262202                          · REG_SZ: str
262203
262204                          NOTE:
262205                              When setting REG_BINARY,  string  data  will  be
262206                              converted   to  binary  automatically.  To  pass
262207                              binary data, use the built-in yaml tag  !!binary
262208                              to  denote  the  actual  binary  characters. For
262209                              example, the following lines will both  set  the
262210                              same data in the registry:
262211
262212                              · vdata: Salty Test
262213
262214                              · vdata: !!binary U2FsdHkgVGVzdA==\n
262215
262216                              For  more information about the !!binary tag see
262217                              here
262218
262219                       NOTE:
262220                          The type for the (Default) value  is  always  REG_SZ
262221                          and  cannot  be changed. This parameter is optional.
262222                          If not passed, the Key will be created with no asso‐
262223                          ciated item/value pairs.
262224
262225
262226                     · vtype (str) --
262227
262228                       The  value  type  for the data you wish to store in the
262229                       registry. Valid values are:
262230
262231                          · REG_BINARY
262232
262233                          · REG_DWORD
262234
262235                          · REG_EXPAND_SZ
262236
262237                          · REG_MULTI_SZ
262238
262239                          · REG_QWORD
262240
262241                          · REG_SZ (Default)
262242
262243
262244                     · use_32bit_registry (bool) -- Use the 32bit  portion  of
262245                       the registry. Applies only to 64bit windows. 32bit Win‐
262246                       dows will ignore this parameter. Default is False.
262247
262248                     · win_owner (str) --
262249
262250                       The owner of the registry key. If this is  not  passed,
262251                       the account under which Salt is running will be used.
262252
262253                       NOTE:
262254                          Owner   is   set  for  the  key  that  contains  the
262255                          value/data  pair.  You  cannot  set   ownership   on
262256                          value/data pairs themselves.
262257
262258                       New in version 2019.2.0.
262259
262260
262261
262262                     · win_perms (dict) --
262263
262264                       A  dictionary containing permissions to grant and their
262265                       propagation.  If not  passed  the  'Grant`  permissions
262266                       will not be modified.
262267
262268                       NOTE:
262269                          Permissions  are  set  for the key that contains the
262270                          value/data  pair.  You  cannot  set  permissions  on
262271                          value/data pairs themselves.
262272
262273                       For each user specify the account name, with a sub dict
262274                       for the permissions to grant and the 'Applies to'  set‐
262275                       ting.   For   example:   {'Administrators':   {'perms':
262276                       'full_control',   'applies_to':   'this_key_subkeys'}}.
262277                       perms must be specified.
262278
262279                       Registry permissions are specified using the perms key.
262280                       You can specify a single basic permission or a list  of
262281                       advanced perms. The following are valid perms:
262282
262283                          Basic (passed as a string):
262284
262285                                 · full_control
262286
262287                                 · read
262288
262289                                 · write
262290
262291                          Advanced (passed as a list):
262292
262293                                 · delete
262294
262295                                 · query_value
262296
262297                                 · set_value
262298
262299                                 · create_subkey
262300
262301                                 · enum_subkeys
262302
262303                                 · notify
262304
262305                                 · create_link
262306
262307                                 · read_control
262308
262309                                 · write_dac
262310
262311                                 · write_owner
262312
262313                       The  'Applies  to' setting is optional. It is specified
262314                       using   the   applies_to   key.   If   not    specified
262315                       this_key_subkeys is used.  Valid options are:
262316
262317                          Applies to settings:
262318
262319                                 · this_key_only
262320
262321                                 · this_key_subkeys
262322
262323                                 · subkeys_only
262324
262325                       New in version 2019.2.0.
262326
262327
262328
262329                     · win_deny_perms (dict) --
262330
262331                       A  dictionary  containing permissions to deny and their
262332                       propagation.  If not passed the Deny  permissions  will
262333                       not be modified.
262334
262335                       NOTE:
262336                          Permissions  are  set  for the key that contains the
262337                          value/data  pair.  You  cannot  set  permissions  on
262338                          value/data pairs themselves.
262339
262340                       Valid  options  are  the  same  as  those  specified in
262341                       win_perms
262342
262343                       NOTE:
262344
262345                          'Deny'  permissions  always  take  precedence   over
262346                          'grant'
262347                                 permissions.
262348
262349                       New in version 2019.2.0.
262350
262351
262352
262353                     · win_inheritance (bool) --
262354
262355                       True  to inherit permissions from the parent key. False
262356                       to disable inheritance. Default is True.
262357
262358                       NOTE:
262359                          Inheritance is set for the  key  that  contains  the
262360                          value/data  pair.  You  cannot  set  inheritance  on
262361                          value/data pairs themselves.
262362
262363                       New in version 2019.2.0.
262364
262365
262366
262367                     · win_perms_reset (bool) --
262368
262369                       If True the existing DACL will be cleared and  replaced
262370                       with  the  settings defined in this function. If False,
262371                       new entries will be  appended  to  the  existing  DACL.
262372                       Default is False
262373
262374                       NOTE:
262375                          Perms  are  reset  for  the  key  that  contains the
262376                          value/data pair.   You  cannot  set  permissions  on
262377                          value/data pairs themselves.
262378
262379                       New in version 2019.2.0.
262380
262381
262382
262383              Returns
262384                     A  dictionary  showing the results of the registry opera‐
262385                     tion.
262386
262387              Return type
262388                     dict
262389
262390              Example:
262391
262392              The following example will set the (Default) value for the SOFT‐
262393              WARE\\Salt key in the HKEY_CURRENT_USER hive to 2016.3.1:
262394
262395                 HKEY_CURRENT_USER\\SOFTWARE\\Salt:
262396                   reg.present:
262397                     - vdata: 2016.3.1
262398
262399              Example:
262400
262401              The  following  example will set the value for the version entry
262402              under the SOFTWARE\\Salt key in the  HKEY_CURRENT_USER  hive  to
262403              2016.3.1. The value will be reflected in Wow6432Node:
262404
262405                 HKEY_CURRENT_USER\\SOFTWARE\\Salt:
262406                   reg.present:
262407                     - vname: version
262408                     - vdata: 2016.3.1
262409
262410              In the above example the path is interpreted as follows:
262411
262412                 · HKEY_CURRENT_USER is the hive
262413
262414                 · SOFTWARE\\Salt is the key
262415
262416                 · vname  is  the  value name ('version') that will be created
262417                   under the key
262418
262419                 · vdata is the data that will be assigned to 'version'
262420
262421              Example:
262422
262423              Binary data can be set in two ways. The following  two  examples
262424              will set a binary value of Salty Test
262425
262426                 no_conversion:
262427                   reg.present:
262428                     - name: HKLM\SOFTWARE\SaltTesting
262429                     - vname: test_reg_binary_state
262430                     - vdata: Salty Test
262431                     - vtype: REG_BINARY
262432
262433                 conversion:
262434                   reg.present:
262435                     - name: HKLM\SOFTWARE\SaltTesting
262436                     - vname: test_reg_binary_state_with_tag
262437                     - vdata: !!binary U2FsdHkgVGVzdA==\n
262438                     - vtype: REG_BINARY
262439
262440              Example:
262441
262442              To set a REG_MULTI_SZ value:
262443
262444                 reg_multi_sz:
262445                   reg.present:
262446                     - name: HKLM\SOFTWARE\Salt
262447                     - vname: reg_multi_sz
262448                     - vdata:
262449                       - list item 1
262450                       - list item 2
262451
262452              Example:
262453
262454              To ensure a key is present and has permissions:
262455
262456                 set_key_permissions:
262457                   reg.present:
262458                     - name: HKLM\SOFTWARE\Salt
262459                     - vname: version
262460                     - vdata: 2016.3.1
262461                     - win_owner: Administrators
262462                     - win_perms:
262463                         jsnuffy:
262464                           perms: full_control
262465                         sjones:
262466                           perms:
262467                             - read_control
262468                             - enum_subkeys
262469                             - query_value
262470                           applies_to:
262471                             - this_key_only
262472                     - win_deny_perms:
262473                         bsimpson:
262474                           perms: full_control
262475                           applies_to: this_key_subkeys
262476                     - win_inheritance: True
262477                     - win_perms_reset: True
262478
262479   salt.states.rsync
262480       State to synchronize files and directories with rsync.
262481
262482       New in version 2016.3.0.
262483
262484
262485          /opt/user-backups:
262486            rsync.synchronized:
262487              - source: /home
262488              - force: True
262489
262490       salt.states.rsync.synchronized(name, source, delete=False, force=False,
262491       update=False, passwordfile=None, exclude=None,  excludefrom=None,  pre‐
262492       pare=False, dryrun=False, additional_opts=None)
262493              Guarantees  that  the  source  directory is always copied to the
262494              target.
262495
262496              name   Name of the target directory.
262497
262498              source Source directory.
262499
262500              prepare
262501                     Create destination directory if it does not exists.
262502
262503              delete Delete extraneous files from the destination  dirs  (True
262504                     or False)
262505
262506              force  Force deletion of dirs even if not empty
262507
262508              update Skip files that are newer on the receiver (True or False)
262509
262510              passwordfile
262511                     Read daemon-access password from the file (path)
262512
262513              exclude
262514                     Exclude files, that matches pattern.
262515
262516              excludefrom
262517                     Read exclude patterns from the file (path)
262518
262519              dryrun Perform  a trial run with no changes made. Is the same as
262520                     doing test=True
262521
262522                     New in version 2016.3.1.
262523
262524
262525              additional_opts
262526                     Pass additional options to rsync, should be included as a
262527                     list.
262528
262529                     New in version 2018.3.0.
262530
262531
262532   salt.states.rvm
262533   Managing Ruby installations and gemsets with Ruby Version Manager (RVM)
262534       This  module  is used to install and manage ruby installations and gem‐
262535       sets with RVM, the Ruby Version Manager. Different versions of ruby can
262536       be installed and gemsets created. RVM itself will be installed automat‐
262537       ically if it's not present. This module will not automatically  install
262538       packages  that RVM depends on or ones that are needed to build ruby. If
262539       you want to run RVM as an unprivileged user (recommended) you will have
262540       to  create  this user yourself. This is how a state configuration could
262541       look like:
262542
262543          rvm:
262544            group.present: []
262545            user.present:
262546              - gid: rvm
262547              - home: /home/rvm
262548              - require:
262549                - group: rvm
262550
262551          rvm-deps:
262552            pkg.installed:
262553              - pkgs:
262554                - bash
262555                - coreutils
262556                - gzip
262557                - bzip2
262558                - gawk
262559                - sed
262560                - curl
262561                - git-core
262562                - subversion
262563
262564          mri-deps:
262565            pkg.installed:
262566              - pkgs:
262567                - build-essential
262568                - openssl
262569                - libreadline6
262570                - libreadline6-dev
262571                - curl
262572                - git-core
262573                - zlib1g
262574                - zlib1g-dev
262575                - libssl-dev
262576                - libyaml-dev
262577                - libsqlite3-0
262578                - libsqlite3-dev
262579                - sqlite3
262580                - libxml2-dev
262581                - libxslt1-dev
262582                - autoconf
262583                - libc6-dev
262584                - libncurses5-dev
262585                - automake
262586                - libtool
262587                - bison
262588                - subversion
262589                - ruby
262590
262591          jruby-deps:
262592            pkg.installed:
262593              - pkgs:
262594                - curl
262595                - g++
262596                - openjdk-6-jre-headless
262597
262598          ruby-1.9.2:
262599            rvm.installed:
262600              - default: True
262601              - user: rvm
262602              - require:
262603                - pkg: rvm-deps
262604                - pkg: mri-deps
262605                - user: rvm
262606
262607          jruby:
262608            rvm.installed:
262609              - user: rvm
262610              - require:
262611                - pkg: rvm-deps
262612                - pkg: jruby-deps
262613                - user: rvm
262614
262615          jgemset:
262616            rvm.gemset_present:
262617              - ruby: jruby
262618              - user: rvm
262619              - require:
262620                - rvm: jruby
262621
262622          mygemset:
262623            rvm.gemset_present:
262624              - ruby: ruby-1.9.2
262625              - user: rvm
262626              - require:
262627                - rvm: ruby-1.9.2
262628
262629       salt.states.rvm.gemset_present(name, ruby=u'default', user=None)
262630              Verify that the gemset is present.
262631
262632              name   The name of the gemset.
262633
262634              ruby: default
262635                     The ruby version this gemset belongs to.
262636
262637              user: None
262638                     The user to run rvm as.
262639
262640                     New in version 0.17.0.
262641
262642
262643       salt.states.rvm.installed(name,  default=False,  user=None,  opts=None,
262644       env=None)
262645              Verify  that  the  specified  ruby is installed with RVM. RVM is
262646              installed when necessary.
262647
262648              name   The version of ruby to install
262649
262650              default
262651                     False Whether to make this ruby the default.
262652
262653              user: None
262654                     The user to run rvm as.
262655
262656              env: None
262657                     A list of environment variables to set (ie,  RUBY_CONFIG‐
262658                     URE_OPTS)
262659
262660              opts: None
262661                     A list of option flags to pass to RVM (ie -C, --patch)
262662
262663                     New in version 0.17.0.
262664
262665
262666   salt.states.salt_proxy module
262667       Salt proxy state
262668
262669       New in version 2015.8.2.
262670
262671
262672       State to deploy and run salt-proxy processes on a minion.
262673
262674       Set up pillar data for your proxies per the documentation.
262675
262676       Run the state as below
262677
262678       ..code-block:: yaml
262679
262680          salt-proxy-configure:
262681
262682                 salt_proxy.configure_proxy:
262683
262684                        · proxyname: p8000
262685
262686                        · start: True
262687
262688       This   state   will   configure   the   salt   proxy   settings  within
262689       /etc/salt/proxy (if  /etc/salt/proxy  doesn't  exists)  and  start  the
262690       salt-proxy process (default true), if it isn't already running.
262691
262692       salt.states.salt_proxy.configure_proxy(name,        proxyname=u'p8000',
262693       start=True)
262694              Create the salt proxy  file  and  start  the  proxy  process  if
262695              required
262696
262697              Parameters
262698
262699                     · name -- The name of this state
262700
262701                     · proxyname  --  Name  to  be used for this proxy (should
262702                       match entries in pillar)
262703
262704                     · start -- Boolean indicating if the  process  should  be
262705                       started
262706
262707              Example:
262708
262709              ..code-block:: yaml
262710
262711                 salt-proxy-configure:
262712
262713                        salt_proxy.configure_proxy:
262714
262715                               · proxyname: p8000
262716
262717                               · start: True
262718
262719   salt.states.saltmod
262720   Control the Salt command interface
262721       This state is intended for use from the Salt Master. It provides access
262722       to sending commands down to minions as well as access to executing mas‐
262723       ter-side modules. These state functions wrap Salt's Python API.
262724          Support for masterless minions was added to the salt.state function,
262725          so they can run orchestration sls files. This is particularly useful
262726          when  the  rendering  of  a  state  is dependent on the execution of
262727          another state.  Orchestration will render and execute  each  orches‐
262728          tration block independently, while honoring requisites to ensure the
262729          states are applied in the correct order.
262730
262731       SEE ALSO:
262732          More Orchestrate documentation
262733
262734          · Full Orchestrate Tutorial
262735
262736          · The Orchestrate runner
262737
262738       salt.states.saltmod.function(name,  tgt,  ssh=False,  tgt_type=u'glob',
262739       ret=u'',    ret_config=None,   ret_kwargs=None,   expect_minions=False,
262740       fail_minions=None,  fail_function=None,  arg=None,  kwarg=None,   time‐
262741       out=None, batch=None, subset=None, failhard=None, **kwargs)
262742              Execute  a single module function on a remote minion via salt or
262743              salt-ssh
262744
262745              name   The  name  of  the  function  to  run,  aka  cmd.run   or
262746                     pkg.install
262747
262748              tgt    The target specification, aka '*' for all minions
262749
262750              tgt_type
262751                     The target type, defaults to glob
262752
262753              arg    The list of arguments to pass into the function
262754
262755              kwarg  The  dict  (not a list) of keyword arguments to pass into
262756                     the function
262757
262758              ret    Optionally set a single or a list of returners to use
262759
262760              ret_config
262761                     Use an alternative returner configuration
262762
262763              ret_kwargs
262764                     Override individual returner configuration items
262765
262766              expect_minions
262767                     An optional boolean for failing if some  minions  do  not
262768                     respond
262769
262770              fail_minions
262771                     An  optional list of targeted minions where failure is an
262772                     option
262773
262774              fail_function
262775                     An optional string that points  to  a  salt  module  that
262776                     returns True or False based on the returned data dict for
262777                     individual minions
262778
262779              ssh    Set to True to use the ssh client instead of the standard
262780                     salt client
262781
262782              batch  Execute the command in batches. E.g.: 10%.
262783
262784              subset Number of minions from the targeted set to randomly use
262785
262786                     New in version 2017.7.0.
262787
262788
262789              failhard
262790                     pass failhard down to the executing state
262791
262792                     New in version 2019.2.2.
262793
262794
262795       salt.states.saltmod.parallel_runners(name, runners, **kwargs)
262796              Executes multiple runner modules on the master in parallel.
262797
262798              New in version 2017.x.0: (Nitrogen)
262799
262800
262801              A  separate  thread  is  spawned  for each runner. This state is
262802              intended to be used with the orchestrate runner in place of  the
262803              saltmod.runner  state when different tasks should be run in par‐
262804              allel. In general, Salt states are not safe  when  used  concur‐
262805              rently, so ensure that they are used in a safe way (e.g. by only
262806              targeting separate minions in parallel tasks).
262807
262808              name:  name identifying this state. The name is provided as part
262809                     of the output, but not used for anything else.
262810
262811              runners:
262812                     list of runners that should be run in parallel. Each ele‐
262813                     ment of the list has to be  a  dictionary.  This  dictio‐
262814                     nary's  name entry stores the name of the runner function
262815                     that shall be invoked. The optional kwarg entry stores  a
262816                     dictionary of named arguments that are passed to the run‐
262817                     ner function.
262818
262819                 parallel-state:
262820                    salt.parallel_runners:
262821                      - runners:
262822                          my_runner_1:
262823                            - name: state.orchestrate
262824                            - kwarg:
262825                                mods: orchestrate_state_1
262826                          my_runner_2:
262827                            - name: state.orchestrate
262828                            - kwarg:
262829                                mods: orchestrate_state_2
262830
262831       salt.states.saltmod.runner(name, **kwargs)
262832              Execute a runner module on the master
262833
262834              New in version 2014.7.0.
262835
262836
262837              name   The name of the function to run
262838
262839              kwargs Any keyword arguments to pass to the runner function
262840
262841                 run-manage-up:
262842                  salt.runner:
262843                    - name: manage.up
262844
262845       salt.states.saltmod.state(name,   tgt,   ssh=False,   tgt_type=u'glob',
262846       ret=u'',  ret_config=None,  ret_kwargs=None,  highstate=None, sls=None,
262847       top=None,   saltenv=None,   test=None,   pillar=None,   pillarenv=None,
262848       expect_minions=True, fail_minions=None, allow_fail=0, concurrent=False,
262849       timeout=None,   batch=None,   queue=False,   subset=None,    orchestra‐
262850       tion_jid=None, failhard=None, **kwargs)
262851              Invoke a state run on a given target
262852
262853              name   An arbitrary name used to track the state execution
262854
262855              tgt    The target specification for the state run.
262856
262857                     Masterless  support: When running on a masterless minion,
262858                     the tgt is ignored and will always be the local minion.
262859
262860              tgt_type
262861                     The target type to resolve, defaults to glob
262862
262863              ret    Optionally set a single or a list of returners to use
262864
262865              ret_config
262866                     Use an alternative returner configuration
262867
262868              ret_kwargs
262869                     Override individual returner configuration items
262870
262871              highstate
262872                     Defaults to None, if set to True the target systems  will
262873                     ignore any sls references specified in the sls option and
262874                     call state.highstate on the targeted minions
262875
262876              top    Should be the name of a top file.  If  set  state.top  is
262877                     called with this top file instead of state.sls.
262878
262879              sls    A group of sls files to execute. This can be defined as a
262880                     single string containing a single sls file, or a list  of
262881                     sls files
262882
262883              test   Pass  test=true  or test=false through to the state func‐
262884                     tion. This can be used to overide a test mode set in  the
262885                     minion's  config file. If left as the default of None and
262886                     the 'test' mode is supplied on  the  command  line,  that
262887                     value is passed instead.
262888
262889              pillar Pass the pillar kwarg through to the state function
262890
262891              pillarenv
262892                     The pillar environment to grab pillars from
262893
262894                     New in version 2017.7.0.
262895
262896
262897              saltenv
262898                     The default salt environment to pull sls files from
262899
262900              ssh    Set to True to use the ssh client instead of the standard
262901                     salt client
262902
262903              roster In the event of using salt-ssh, a roster  system  can  be
262904                     set
262905
262906              expect_minions
262907                     An  optional  boolean  for failing if some minions do not
262908                     respond
262909
262910              fail_minions
262911                     An optional list of targeted minions where failure is  an
262912                     option
262913
262914              allow_fail
262915                     Pass in the number of minions to allow for failure before
262916                     setting the result of the execution to False
262917
262918              concurrent
262919                     Allow multiple state runs to occur at once.
262920
262921                     WARNING:  This  flag  is  potentially  dangerous.  It  is
262922                     designed  for  use when multiple state runs can safely be
262923                     run at the same Do not  use  this  flag  for  performance
262924                     optimization.
262925
262926              queue  Pass queue=true through to the state function
262927
262928              batch  Execute the command in batches. E.g.: 10%.
262929
262930                     New in version 2016.3.0.
262931
262932
262933              subset Number of minions from the targeted set to randomly use
262934
262935                     New in version 2017.7.0.
262936
262937
262938              failhard
262939                     pass failhard down to the executing state
262940
262941                     New in version 2019.2.2.
262942
262943
262944              Examples:
262945
262946              Run a list of sls files via state.sls on target minions:
262947
262948                 webservers:
262949                   salt.state:
262950                     - tgt: 'web*'
262951                     - sls:
262952                       - apache
262953                       - django
262954                       - core
262955                     - saltenv: prod
262956
262957              Run a full state.highstate on target mininons.
262958
262959                 databases:
262960                   salt.state:
262961                     - tgt: role:database
262962                     - tgt_type: grain
262963                     - highstate: True
262964
262965       salt.states.saltmod.wait_for_event(name, id_list, event_id=u'id', time‐
262966       out=300, node=u'master')
262967              Watch Salt's event bus and block until a condition is met
262968
262969              New in version 2014.7.0.
262970
262971
262972              name   An event tag to watch for; supports  Reactor-style  glob‐
262973                     bing.
262974
262975              id_list
262976                     A  list  of event identifiers to watch for -- usually the
262977                     minion ID. Each time an event tag is  matched  the  event
262978                     data  is  inspected  for event_id, if found it is removed
262979                     from id_list. When id_list is empty this function returns
262980                     success.
262981
262982              event_id
262983                     id The name of a key in the event data. Default is id for
262984                     the minion ID, another common value is name for use  with
262985                     orchestrating salt-cloud events.
262986
262987              timeout
262988                     300 The maximum time in seconds to wait before failing.
262989
262990              The  following  example blocks until all the listed minions com‐
262991              plete a restart and reconnect to the Salt master:
262992
262993                 reboot_all_minions:
262994                   salt.function:
262995                     - name: system.reboot
262996                     - tgt: '*'
262997
262998                 wait_for_reboots:
262999                   salt.wait_for_event:
263000                     - name: salt/minion/*/start
263001                     - id_list:
263002                       - jerry
263003                       - stuart
263004                       - dave
263005                       - phil
263006                       - kevin
263007                       - mike
263008                     - require:
263009                       - salt: reboot_all_minions
263010
263011       salt.states.saltmod.wheel(name, **kwargs)
263012              Execute a wheel module on the master
263013
263014              New in version 2014.7.0.
263015
263016
263017              name   The name of the function to run
263018
263019              kwargs Any keyword arguments to pass to the wheel function
263020
263021                 accept_minion_key:
263022                   salt.wheel:
263023                     - name: key.accept
263024                     - match: frank
263025
263026   salt.states.saltutil
263027   Saltutil State
263028       This state wraps the saltutil execution modules to make them easier  to
263029       run  from a states. Rather than needing to to use module.run this state
263030       allows for improved change detection.
263031
263032       salt.states.saltutil.sync_all(name, **kwargs)
263033              Performs the same task as saltutil.sync_all module See  saltutil
263034              module for full list of options
263035
263036                 sync_everything:
263037                   saltutil.sync_all:
263038                     - refresh: True
263039
263040       salt.states.saltutil.sync_beacons(name, **kwargs)
263041              Performs  the  same  task  as  saltutil.sync_beacons  module See
263042              saltutil module for full list of options
263043
263044                 sync_everything:
263045                   saltutil.sync_beacons:
263046                     - refresh: True
263047
263048       salt.states.saltutil.sync_clouds(name, **kwargs)
263049              Performs  the  same  task  as  saltutil.sync_clouds  module  See
263050              saltutil module for full list of options
263051
263052                 sync_everything:
263053                   saltutil.sync_clouds:
263054                     - refresh: True
263055
263056       salt.states.saltutil.sync_engines(name, **kwargs)
263057              Performs  the  same  task  as  saltutil.sync_engines  module See
263058              saltutil module for full list of options
263059
263060                 sync_everything:
263061                   saltutil.sync_engines:
263062                     - refresh: True
263063
263064       salt.states.saltutil.sync_executors(name, **kwargs)
263065              Performs the same task  as  saltutil.sync_executors  module  See
263066              saltutil module for full list of options
263067
263068                 sync_everything:
263069                   saltutil.sync_executors:
263070                     - refresh: True
263071
263072       salt.states.saltutil.sync_grains(name, **kwargs)
263073              Performs  the  same  task  as  saltutil.sync_grains  module  See
263074              saltutil module for full list of options
263075
263076                 sync_everything:
263077                   saltutil.sync_grains:
263078                     - refresh: True
263079
263080       salt.states.saltutil.sync_log_handlers(name, **kwargs)
263081              Performs the same task as saltutil.sync_log_handlers module  See
263082              saltutil module for full list of options
263083
263084                 sync_everything:
263085                   saltutil.sync_log_handlers:
263086                     - refresh: True
263087
263088       salt.states.saltutil.sync_matchers(name, **kwargs)
263089              Performs  the  same  task  as  saltutil.sync_matchers module See
263090              saltutil module for full list of options
263091
263092                 sync_everything:
263093                   saltutil.sync_matchers:
263094                     - refresh: True
263095
263096       salt.states.saltutil.sync_modules(name, **kwargs)
263097              Performs the  same  task  as  saltutil.sync_modules  module  See
263098              saltutil module for full list of options
263099
263100                 sync_everything:
263101                   saltutil.sync_modules:
263102                     - refresh: True
263103
263104       salt.states.saltutil.sync_output(name, **kwargs)
263105              Performs  the  same  task  as  saltutil.sync_output  module  See
263106              saltutil module for full list of options
263107
263108                 sync_everything:
263109                   saltutil.sync_output:
263110                     - refresh: True
263111
263112       salt.states.saltutil.sync_outputters(name, **kwargs)
263113              Performs the same task as  saltutil.sync_outputters  module  See
263114              saltutil module for full list of options
263115
263116                 sync_everything:
263117                   saltutil.sync_outputters:
263118                     - refresh: True
263119
263120       salt.states.saltutil.sync_pillar(name, **kwargs)
263121              Performs  the  same  task  as  saltutil.sync_pillar  module  See
263122              saltutil module for full list of options
263123
263124                 sync_everything:
263125                   saltutil.sync_pillar:
263126                     - refresh: True
263127
263128       salt.states.saltutil.sync_proxymodules(name, **kwargs)
263129              Performs the same task as saltutil.sync_proxymodules module  See
263130              saltutil module for full list of options
263131
263132                 sync_everything:
263133                   saltutil.sync_proxymodules:
263134                     - refresh: True
263135
263136       salt.states.saltutil.sync_renderers(name, **kwargs)
263137              Performs  the  same  task  as saltutil.sync_renderers module See
263138              saltutil module for full list of options
263139
263140                 sync_everything:
263141                   saltutil.sync_renderers:
263142                     - refresh: True
263143
263144       salt.states.saltutil.sync_returners(name, **kwargs)
263145              Performs the same task  as  saltutil.sync_returners  module  See
263146              saltutil module for full list of options
263147
263148                 sync_everything:
263149                   saltutil.sync_returners:
263150                     - refresh: True
263151
263152       salt.states.saltutil.sync_sdb(name, **kwargs)
263153              Performs  the same task as saltutil.sync_sdb module See saltutil
263154              module for full list of options
263155
263156                 sync_everything:
263157                   saltutil.sync_sdb:
263158                     - refresh: True
263159
263160       salt.states.saltutil.sync_serializers(name, **kwargs)
263161              Performs the same task as saltutil.sync_serializers  module  See
263162              saltutil module for full list of options
263163
263164                 sync_everything:
263165                   saltutil.sync_serializers:
263166                     - refresh: True
263167
263168       salt.states.saltutil.sync_states(name, **kwargs)
263169              Performs  the  same  task  as  saltutil.sync_states  module  See
263170              saltutil module for full list of options
263171
263172                 sync_everything:
263173                   saltutil.sync_states:
263174                     - refresh: True
263175
263176       salt.states.saltutil.sync_thorium(name, **kwargs)
263177              Performs the  same  task  as  saltutil.sync_thorium  module  See
263178              saltutil module for full list of options
263179
263180                 sync_everything:
263181                   saltutil.sync_thorium:
263182                     - refresh: True
263183
263184       salt.states.saltutil.sync_utils(name, **kwargs)
263185              Performs   the  same  task  as  saltutil.sync_utils  module  See
263186              saltutil module for full list of options
263187
263188                 sync_everything:
263189                   saltutil.sync_utils:
263190                     - refresh: True
263191
263192   salt.states.schedule
263193   Management of the Salt scheduler
263194          job3:
263195            schedule.present:
263196              - function: test.ping
263197              - seconds: 3600
263198              - splay: 10
263199
263200          This will schedule the command: test.ping every 3600 seconds
263201          (every hour) splaying the time between 0 and 10 seconds
263202
263203          job2:
263204            schedule.present:
263205              - function: test.ping
263206              - seconds: 15
263207              - splay:
263208                  start: 10
263209                  end: 20
263210
263211          This will schedule the command: test.ping every 15 seconds
263212          splaying the time between 10 and 20 seconds
263213
263214          job1:
263215            schedule.present:
263216              - function: state.sls
263217              - job_args:
263218                - httpd
263219              - job_kwargs:
263220                  test: True
263221              - when:
263222                  - Monday 5:00pm
263223                  - Tuesday 3:00pm
263224                  - Wednesday 5:00pm
263225                  - Thursday 3:00pm
263226                  - Friday 5:00pm
263227
263228          This will schedule the command: state.sls httpd test=True at 5pm on Monday,
263229          Wednesday and Friday, and 3pm on Tuesday and Thursday.  Requires that
263230          python-dateutil is installed on the minion.
263231
263232          job1:
263233            schedule.present:
263234              - function: state.sls
263235              - job_args:
263236                - httpd
263237              - job_kwargs:
263238                  test: True
263239              - cron: '*/5 * * * *'
263240
263241          Scheduled jobs can also be specified using the format used by cron.  This will
263242          schedule the command: state.sls httpd test=True to run every 5 minutes.  Requires
263243          that python-croniter is installed on the minion.
263244
263245          job1:
263246            schedule.present:
263247              - function: state.sls
263248              - job_args:
263249                - httpd
263250              - job_kwargs:
263251                  test: True
263252              - when:
263253                  - Monday 5:00pm
263254                  - Tuesday 3:00pm
263255                  - Wednesday 5:00pm
263256                  - Thursday 3:00pm
263257                  - Friday 5:00pm
263258              - returner: xmpp
263259              - return_config: xmpp_state_run
263260              - return_kwargs:
263261                  recipient: user@domain.com
263262
263263          This will schedule the command: state.sls httpd test=True at 5pm on Monday,
263264          Wednesday and Friday, and 3pm on Tuesday and Thursday.  Using the xmpp returner
263265          to return the results of the scheduled job, with the alternative configuration
263266          options found in the xmpp_state_run section.
263267
263268          job1:
263269            schedule.present:
263270              - function: state.sls
263271              - job_args:
263272                - httpd
263273              - job_kwargs:
263274                  test: True
263275              - hours: 1
263276              - skip_during_range:
263277                  - start: 2pm
263278                  - end: 3pm
263279              - run_after_skip_range: True
263280
263281          This will schedule the command: state.sls httpd test=True at 5pm on Monday,
263282          Wednesday and Friday, and 3pm on Tuesday and Thursday.  Requires that
263283          python-dateutil is installed on the minion.
263284
263285       salt.states.schedule.absent(name, **kwargs)
263286              Ensure a job is absent from the schedule
263287
263288              name   The unique name that is given to the scheduled job.
263289
263290              persist
263291                     Whether the job should persist between  minion  restarts,
263292                     defaults to True.
263293
263294       salt.states.schedule.disabled(name, **kwargs)
263295              Ensure a job is disabled in the schedule
263296
263297              name   The unique name that is given to the scheduled job.
263298
263299              persist
263300                     Whether  the  job should persist between minion restarts,
263301                     defaults to True.
263302
263303       salt.states.schedule.enabled(name, **kwargs)
263304              Ensure a job is enabled in the schedule
263305
263306              name   The unique name that is given to the scheduled job.
263307
263308              persist
263309                     Whether the job should persist between  minion  restarts,
263310                     defaults to True.
263311
263312       salt.states.schedule.present(name, **kwargs)
263313              Ensure a job is present in the schedule
263314
263315              name   The unique name that is given to the scheduled job.
263316
263317              seconds
263318                     The  scheduled  job  will be executed after the specified
263319                     number of seconds have passed.
263320
263321              minutes
263322                     The scheduled job will be executed  after  the  specified
263323                     number of minutes have passed.
263324
263325              hours  The  scheduled  job  will be executed after the specified
263326                     number of hours have passed.
263327
263328              days   The scheduled job will be executed  after  the  specified
263329                     number of days have passed.
263330
263331              when   This will schedule the job at the specified time(s).  The
263332                     when parameter must be a single  value  or  a  dictionary
263333                     with  the  date  string(s)  using  the  dateutil  format.
263334                     Requires python-dateutil.
263335
263336              cron   This will schedule the job at the specified time(s) using
263337                     the crontab format.  Requires python-croniter.
263338
263339              run_on_start
263340                     Whether  the job will run when Salt minion starts, or the
263341                     job will be skipped once and run at  the  next  scheduled
263342                     run.  Value should be a boolean.
263343
263344              function
263345                     The  function  that  should  be executed by the scheduled
263346                     job.
263347
263348              job_args
263349                     The arguments that will be used by the scheduled job.
263350
263351              job_kwargs
263352                     The keyword arguments that will be used by the  scheduled
263353                     job.
263354
263355              maxrunning
263356                     Ensure that there are no more than N copies of a particu‐
263357                     lar job running.
263358
263359              jid_include
263360                     Include the job into the job cache.
263361
263362              splay  The amount of time in seconds to splay a  scheduled  job.
263363                     Can  be  specified  as  a single value in seconds or as a
263364                     dictionary range with 'start' and 'end' values.
263365
263366              range  This will schedule the command within  the  range  speci‐
263367                     fied.   The range parameter must be a dictionary with the
263368                     date  strings  using  the   dateutil   format.   Requires
263369                     python-dateutil.
263370
263371              once   This  will  schedule  a  job to run once on the specified
263372                     date.
263373
263374              once_fmt
263375                     The default date format is ISO 8601 but can be overridden
263376                     by also specifying the once_fmt option.
263377
263378              enabled
263379                     Whether  the  job  should  be enabled or disabled.  Value
263380                     should be a boolean.
263381
263382              return_job
263383                     Whether to return information to the Salt master upon job
263384                     completion.
263385
263386              metadata
263387                     Using  the metadata parameter special values can be asso‐
263388                     ciated with a scheduled job.  These values are  not  used
263389                     in  the  execution  of the job, but can be used to search
263390                     for specific jobs later if combined with  the  return_job
263391                     parameter.  The metadata parameter must be specified as a
263392                     dictionary, othewise it will be ignored.
263393
263394              returner
263395                     The returner to use to return the results of  the  sched‐
263396                     uled job.
263397
263398              return_config
263399                     The alternative configuration to use for returner config‐
263400                     uration options.
263401
263402              return_kwargs
263403                     Any individual returner configuration items to  override.
263404                     Should be passed as a dictionary.
263405
263406              persist
263407                     Whether  the  job should persist between minion restarts,
263408                     defaults to True.
263409
263410              skip_during_range
263411                     This will ensure that the scheduled command does not  run
263412                     within  the range specified.  The range parameter must be
263413                     a dictionary with the date  strings  using  the  dateutil
263414                     format. Requires python-dateutil.
263415
263416              run_after_skip_range
263417                     Whether   the   job  should  run  immediately  after  the
263418                     skip_during_range time period ends.
263419
263420   salt.states.selinux
263421   Management of SELinux rules
263422       If SELinux is available for the running system, the mode can be managed
263423       and booleans can be set.
263424
263425          enforcing:
263426              selinux.mode
263427
263428          samba_create_home_dirs:
263429              selinux.boolean:
263430                - value: True
263431                - persist: True
263432
263433          nginx:
263434              selinux.module:
263435                - enabled: False
263436
263437       NOTE:
263438          Use  of  these  states  require that the selinux execution module is
263439          available.
263440
263441       salt.states.selinux.boolean(name, value, persist=False)
263442              Set up an SELinux boolean
263443
263444              name   The name of the boolean to set
263445
263446              value  The value to set on the boolean
263447
263448              persist
263449                     Defaults to False, set persist to true to make the  bool‐
263450                     ean apply on a reboot
263451
263452       salt.states.selinux.fcontext_policy_absent(name,         filetype=u'a',
263453       sel_type=None, sel_user=None, sel_level=None)
263454              New in version 2017.7.0.
263455
263456
263457              Makes sure an SELinux file context policy for a  given  filespec
263458              (name), filetype and SELinux context type is absent.
263459
263460              name   filespec  of  the  file  or  directory.  Regex  syntax is
263461                     allowed.
263462
263463              filetype
263464                     The SELinux filetype specification. Use one of [a, f,  d,
263465                     c,  b, s, l, p]. See also man semanage-fcontext. Defaults
263466                     to 'a' (all files).
263467
263468              sel_type
263469                     The SELinux context type. There are many.
263470
263471              sel_user
263472                     The SELinux user.
263473
263474              sel_level
263475                     The SELinux MLS range.
263476
263477       salt.states.selinux.fcontext_policy_applied(name, recursive=False)
263478              New in version 2017.7.0.
263479
263480
263481              Checks and makes sure the SELinux policies for a given  filespec
263482              are applied.
263483
263484       salt.states.selinux.fcontext_policy_present(name,    sel_type,    file‐
263485       type=u'a', sel_user=None, sel_level=None)
263486              New in version 2017.7.0.
263487
263488
263489              Makes sure a SELinux policy for a given filespec  (name),  file‐
263490              type and SELinux context type is present.
263491
263492              name   filespec  of  the  file  or  directory.  Regex  syntax is
263493                     allowed.
263494
263495              sel_type
263496                     SELinux context type. There are many.
263497
263498              filetype
263499                     The SELinux filetype specification. Use one of [a, f,  d,
263500                     c,  b, s, l, p]. See also man semanage-fcontext. Defaults
263501                     to 'a' (all files).
263502
263503              sel_user
263504                     The SELinux user.
263505
263506              sel_level
263507                     The SELinux MLS range.
263508
263509       salt.states.selinux.mode(name)
263510              Verifies the mode SELinux is running in, can be set  to  enforc‐
263511              ing, permissive, or disabled
263512
263513              NOTE:
263514                 A  change  to or from disabled mode requires a system reboot.
263515                 You will need to perform this yourself.
263516
263517              name   The mode to run SELinux  in,  permissive,  enforcing,  or
263518                     disabled.
263519
263520       salt.states.selinux.module(name,      module_state=u'Enabled',     ver‐
263521       sion=u'any', **opts)
263522              Enable/Disable and optionally force a specific  version  for  an
263523              SELinux module
263524
263525              name   The name of the module to control
263526
263527              module_state
263528                     Should the module be enabled or disabled?
263529
263530              version
263531                     Defaults  to  no  preference, set to a specified value if
263532                     required.  Currently can only alert  if  the  version  is
263533                     incorrect.
263534
263535              install
263536                     Setting to True installs module
263537
263538              source Points  to  module source file, used only when install is
263539                     True
263540
263541              remove Setting to True removes module
263542
263543              New in version 2016.3.0.
263544
263545
263546       salt.states.selinux.module_install(name)
263547              Installs custom SELinux module from given file
263548
263549              name   Path to file with module to install
263550
263551              New in version 2016.11.6.
263552
263553
263554       salt.states.selinux.module_remove(name)
263555              Removes SELinux module
263556
263557              name   The name of the module to remove
263558
263559              New in version 2016.11.6.
263560
263561
263562       salt.states.selinux.port_policy_absent(name,   sel_type=None,    proto‐
263563       col=None, port=None)
263564              New in version 2019.2.0.
263565
263566
263567              Makes sure an SELinux port policy for a given port, protocol and
263568              SELinux context type is absent.
263569
263570              name   The  protocol  and  port  spec.  Can  be   formatted   as
263571                     (tcp|udp)/(port|port-range).
263572
263573              sel_type
263574                     The SELinux Type. Optional; can be used in determining if
263575                     policy is present, ignored by semanage port --delete.
263576
263577              protocol
263578                     The protocol for the port, tcp or udp. Required  if  name
263579                     is not formatted.
263580
263581              port   The  port  or port range. Required if name is not format‐
263582                     ted.
263583
263584       salt.states.selinux.port_policy_present(name, sel_type,  protocol=None,
263585       port=None, sel_range=None)
263586              New in version 2019.2.0.
263587
263588
263589              Makes sure an SELinux port policy for a given port, protocol and
263590              SELinux context type is present.
263591
263592              name   The  protocol  and  port  spec.  Can  be   formatted   as
263593                     (tcp|udp)/(port|port-range).
263594
263595              sel_type
263596                     The SELinux Type.
263597
263598              protocol
263599                     The  protocol  for the port, tcp or udp. Required if name
263600                     is not formatted.
263601
263602              port   The port or port range. Required if name is  not  format‐
263603                     ted.
263604
263605              sel_range
263606                     The SELinux MLS/MCS Security Range.
263607
263608   salt.states.serverdensity_device
263609   Monitor Server with Server Density
263610       New in version 2014.7.0.
263611
263612
263613       Server Density Is a hosted monitoring service.
263614
263615       WARNING:
263616          This state module is beta. It might be changed later to include more
263617          or less automation.
263618
263619       NOTE:
263620          This state module requires a pillar for authentication  with  Server
263621          Density To install a v1 agent:
263622
263623              serverdensity:
263624                api_token: "b97da80a41c4f61bff05975ee51eb1aa"
263625                account_url: "https://your-account.serverdensity.io"
263626
263627          To install a v2 agent:
263628
263629              serverdensity:
263630                api_token: "b97da80a41c4f61bff05975ee51eb1aa"
263631                account_name: "your-account"
263632
263633       NOTE:
263634          Although  Server  Density allows duplicate device names in its data‐
263635          base, this module will raise an  exception  if  you  try  monitoring
263636          devices with the same name.
263637
263638       Example:
263639
263640          'server_name':
263641            serverdensity_device.monitored
263642
263643       salt.states.serverdensity_device.monitored(name,            group=None,
263644       salt_name=True, salt_params=True, agent_version=1, **params)
263645              Device is monitored with Server Density.
263646
263647              name   Device name in Server Density.
263648
263649              salt_name
263650                     If True (default), takes the name from the id  grain.  If
263651                     False, the provided name is used.
263652
263653              group  Group  name  under with device will appear in Server Den‐
263654                     sity dashboard.  Default - None.
263655
263656              agent_version
263657                     The agent version you want to use. Valid values are 1  or
263658                     2.  Default - 1.
263659
263660              salt_params
263661                     If  True  (default),  needed  config  parameters  will be
263662                     sourced from grains and from status.all_status.
263663
263664              params Add parameters that you want to appear in the Server Den‐
263665                     sity  dashboard.   Will overwrite the salt_params parame‐
263666                     ters. For more info, see the API docs.
263667
263668              Usage example:
263669
263670                 'server_name':
263671                   serverdensity_device.monitored
263672
263673                 'server_name':
263674                   serverdensity_device.monitored:
263675                     - group: web-servers
263676
263677                 'my_special_server':
263678                   serverdensity_device.monitored:
263679                     - salt_name: False
263680                     - group: web-servers
263681                     - cpuCores: 2
263682                     - os: '{"code": "linux", "name": "Linux"}'
263683
263684   salt.states.service
263685   Starting or restarting of services and daemons
263686       Services are defined as system daemons and are typically launched using
263687       system  init  or  rc scripts. This service state uses whichever service
263688       module is loaded on the minion with the virtualname  of  service.  Ser‐
263689       vices can be defined as either running or dead.
263690
263691       If  you  need to know if your init system is supported, see the list of
263692       supported service  modules  for  your  desired  init  system  (systemd,
263693       sysvinit, launchctl, etc.).
263694
263695       Note  that  Salt's service execution module, and therefore this service
263696       state, uses OS grains to  ascertain  which  service  module  should  be
263697       loaded and used to execute service functions. As existing distributions
263698       change init systems or new distributions are created, OS detection  can
263699       sometimes be incomplete.  If your service states are running into trou‐
263700       ble with init system detection, please see the Overriding Virtual  Mod‐
263701       ule  Providers  section  of  Salt's module documentation to work around
263702       possible errors.
263703
263704       NOTE:
263705          The current status of a service is determined by the return code  of
263706          the  init/rc  script status command. A status return code of 0 it is
263707          considered running.  Any other return code is considered dead.
263708
263709          httpd:
263710            service.running: []
263711
263712       The service can also be set to start at runtime via the enable option:
263713
263714          openvpn:
263715            service.running:
263716              - enable: True
263717
263718       By default if a service is triggered to refresh due to a  watch  state‐
263719       ment the service is restarted. If the desired behavior is to reload the
263720       service, then set the reload value to True:
263721
263722          redis:
263723            service.running:
263724              - enable: True
263725              - reload: True
263726              - watch:
263727                - pkg: redis
263728
263729       NOTE:
263730          More details regarding watch can be found in the Requisites documen‐
263731          tation.
263732
263733       salt.states.service.dead(name,  enable=None, sig=None, init_delay=None,
263734       **kwargs)
263735              Ensure that the named service is dead by stopping the service if
263736              it is running
263737
263738              name   The name of the init or rc script used to manage the ser‐
263739                     vice
263740
263741              enable Set the service to be enabled at boot time, True sets the
263742                     service to be enabled, False sets the named service to be
263743                     disabled. The default is None, which does not  enable  or
263744                     disable anything.
263745
263746              sig    The  string  to  search  for when looking for the service
263747                     process with ps
263748
263749              init_delay
263750                     Add a sleep command (in seconds) before the check to make
263751                     sure service is killed.
263752
263753                     New in version 2017.7.0.
263754
263755
263756              no_block
263757                     False  For  systemd minions only. Stops the service using
263758                     --no-block.
263759
263760                     New in version 2017.7.0.
263761
263762
263763       salt.states.service.disabled(name, **kwargs)
263764              Ensure that the service is disabled on boot, only use this state
263765              if  you  don't want to manage the running process, remember that
263766              if you want to disable a service to use the enable: False option
263767              for the running or dead function.
263768
263769              name   The name of the init or rc script used to manage the ser‐
263770                     vice
263771
263772       salt.states.service.enabled(name, **kwargs)
263773              Ensure that the service is enabled on boot, only use this  state
263774              if  you  don't want to manage the running process, remember that
263775              if you want to enable a running service to use the enable:  True
263776              option for the running or dead function.
263777
263778              name   The name of the init or rc script used to manage the ser‐
263779                     vice
263780
263781       salt.states.service.masked(name, runtime=False)
263782              New in version 2017.7.0.
263783
263784
263785              NOTE:
263786                 This state is only available on minions which use systemd.
263787
263788              Ensures that the named service is masked  (i.e.  prevented  from
263789              being started).
263790
263791              name   Name of the service to mask
263792
263793              runtime
263794                     False  By  default,  this state will manage an indefinite
263795                     mask for the named service. Set this argument to True  to
263796                     runtime mask the service.
263797
263798              NOTE:
263799                 It is possible for a service to have both indefinite and run‐
263800                 time masks set for it. Therefore, this state  will  manage  a
263801                 runtime  or indefinite mask independently of each other. This
263802                 means that if the service  is  already  indefinitely  masked,
263803                 running this state with runtime set to True will _not_ remove
263804                 the indefinite mask before setting a runtime mask.  In  these
263805                 cases,  if it is desirable to ensure that the service is run‐
263806                 time masked and not indefinitely masked, pair this state with
263807                 a service.unmasked state, like so:
263808
263809                     mask_runtime_foo:
263810                       service.masked:
263811                         - name: foo
263812                         - runtime: True
263813
263814                     unmask_indefinite_foo:
263815                       service.unmasked:
263816                         - name: foo
263817                         - runtime: False
263818
263819       salt.states.service.mod_watch(name,  sfun=None, sig=None, reload=False,
263820       full_restart=False, init_delay=None, force=False, **kwargs)
263821              The service watcher, called to invoke the watch  command.   When
263822              called, it will restart or reload the named service.
263823
263824              NOTE:
263825                 This  state  exists  to support special handling of the watch
263826                 requisite. It should not be called directly.
263827
263828                 Parameters for this function should be set  by  the  watching
263829                 service.  (i.e. service.running)
263830
263831              name   The name of the init or rc script used to manage the ser‐
263832                     vice
263833
263834              sfun   The original function which triggered the mod_watch  call
263835                     (service.running, for example).
263836
263837              sig    The  string  to  search  for when looking for the service
263838                     process with ps
263839
263840              reload When set, reload the service instead  of  restarting  it.
263841                     (i.e. service nginx reload)
263842
263843              full_restart
263844                     Perform  a  full  stop/start  of  a  service  by  passing
263845                     --full-restart.  This option is ignored if reload is  set
263846                     and is supported by only a few service modules.
263847
263848              force  Use  service.force_reload instead of reload (needs reload
263849                     to be set to True)
263850
263851              init_delay
263852                     Add a sleep command (in seconds) before  the  service  is
263853                     restarted/reloaded
263854
263855       salt.states.service.running(name,         enable=None,        sig=None,
263856       init_delay=None, **kwargs)
263857              Ensure that the service is running
263858
263859              name   The name of the init or rc script used to manage the ser‐
263860                     vice
263861
263862              enable Set the service to be enabled at boot time, True sets the
263863                     service to be enabled, False sets the named service to be
263864                     disabled.  The  default is None, which does not enable or
263865                     disable anything.
263866
263867              sig    The string to search for when  looking  for  the  service
263868                     process with ps
263869
263870              init_delay
263871                     Some  services  may  not  be  truly available for a short
263872                     period after their startup script indicates to the system
263873                     that  they  are.  Provide an 'init_delay' to specify that
263874                     this state should wait an additional given number of sec‐
263875                     onds after a service has started before returning. Useful
263876                     for requisite states  wherein  a  dependent  state  might
263877                     assume  a  service  has started but is not yet fully ini‐
263878                     tialized.
263879
263880              no_block
263881                     False For systemd minions only. Starts the service  using
263882                     --no-block.
263883
263884                     New in version 2017.7.0.
263885
263886
263887              unmask False  For systemd minions only. Set to True to remove an
263888                     indefinite mask before attempting to start the service.
263889
263890                     New in version 2017.7.0: In previous releases, Salt would
263891                     simply  unmask  a service before making any changes. This
263892                     behavior is no longer the default.
263893
263894
263895              unmask_runtime
263896                     False For systemd minions only. Set to True to  remove  a
263897                     runtime mask before attempting to start the service.
263898
263899                     New in version 2017.7.0: In previous releases, Salt would
263900                     simply unmask a service before making any  changes.  This
263901                     behavior is no longer the default.
263902
263903
263904              wait   3  For  systemd  minions  only. Passed through when using
263905                     service.status to determine whether the service  is  run‐
263906                     ning or not.
263907
263908                     New in version 2019.2.3.
263909
263910
263911              NOTE:
263912
263913                 watch  can  be used with service.running to restart a service
263914                 when
263915                        another state changes ( example: a file.managed  state
263916                        that creates the service's config file ). More details
263917                        regarding watch can be found in the  Requisites  docu‐
263918                        mentation.
263919
263920       salt.states.service.unmasked(name, runtime=False)
263921              New in version 2017.7.0.
263922
263923
263924              NOTE:
263925                 This state is only available on minions which use systemd.
263926
263927              Ensures that the named service is unmasked
263928
263929              name   Name of the service to unmask
263930
263931              runtime
263932                     False  By  default,  this state will manage an indefinite
263933                     mask for the named service. Set this argument to True  to
263934                     ensure that the service is runtime masked.
263935
263936              NOTE:
263937                 It is possible for a service to have both indefinite and run‐
263938                 time masks set for it. Therefore, this state  will  manage  a
263939                 runtime  or indefinite mask independently of each other. This
263940                 means that if the service  is  indefinitely  masked,  running
263941                 this  state  with  runtime  set to True will _not_ remove the
263942                 indefinite mask.
263943
263944   salt.states.slack
263945   Send a message to Slack
263946       This state is useful for sending messages to Slack during state runs.
263947
263948       New in version 2015.5.0.
263949
263950
263951          slack-message:
263952            slack.post_message:
263953              - channel: '#general'
263954              - from_name: SuperAdmin
263955              - message: 'This state was executed successfully.'
263956              - api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
263957
263958       The api key can be specified in the master or minion configuration like
263959       below:
263960
263961          slack:
263962            api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
263963
263964       salt.states.slack.post_message(name, **kwargs)
263965              Send a message to a Slack channel.
263966
263967                 slack-message:
263968                   slack.post_message:
263969                     - channel: '#general'
263970                     - from_name: SuperAdmin
263971                     - message: 'This state was executed successfully.'
263972                     - api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
263973
263974              The following parameters are required:
263975
263976              api_key parameters:
263977
263978                     name   The unique name for this event.
263979
263980                     channel
263981                            The  channel to send the message to. Can either be
263982                            the ID or the name.
263983
263984                     from_name
263985                            The name of that is to  be  shown  in  the  "from"
263986                            field.
263987
263988                     message
263989                            The  message that is to be sent to the Slack chan‐
263990                            nel.
263991
263992                     The following parameters are optional:
263993
263994                     api_key
263995                            The api key for Slack to use  for  authentication,
263996                            if  not  specified in the configuration options of
263997                            master or minion.
263998
263999                     icon   URL to an image to use as the icon for  this  mes‐
264000                            sage
264001
264002              webhook parameters:
264003
264004                     name   The unique name for this event.
264005
264006                     message
264007                            The  message that is to be sent to the Slack chan‐
264008                            nel.
264009
264010                     color  The color of border of left side
264011
264012                     short  An optional flag indicating whether the  value  is
264013                            short  enough  to  be  displayed side-by-side with
264014                            other values.
264015
264016                     identifier
264017                            The identifier of WebHook.
264018
264019                     channel
264020                            The channel to use instead of the WebHook default.
264021
264022                     username
264023                            Username to use instead of WebHook default.
264024
264025                     icon_emoji
264026                            Icon to use instead of WebHook default.
264027
264028   salt.states.smartos
264029       Management of SmartOS Standalone Compute Nodes
264030
264031       maintainer
264032              Jorge Schrauwen <sjorge@blackdot.be>
264033
264034       maturity
264035              new
264036
264037       depends
264038              vmadm, imgadm
264039
264040       platform
264041              smartos
264042
264043       New in version 2016.3.0.
264044
264045
264046          vmtest.example.org:
264047            smartos.vm_present:
264048              - config:
264049                  reprovision: true
264050              - vmconfig:
264051                  image_uuid: c02a2044-c1bd-11e4-bd8c-dfc1db8b0182
264052                  brand: joyent
264053                  alias: vmtest
264054                  quota: 5
264055                  max_physical_memory: 512
264056                  tags:
264057                    label: 'test vm'
264058                    owner: 'sjorge'
264059                  nics:
264060                    "82:1b:8e:49:e9:12":
264061                      nic_tag: trunk
264062                      mtu: 1500
264063                      ips:
264064                        - 172.16.1.123/16
264065                        - 192.168.2.123/24
264066                      vlan_id: 10
264067                    "82:1b:8e:49:e9:13":
264068                      nic_tag: trunk
264069                      mtu: 1500
264070                      ips:
264071                        - dhcp
264072                      vlan_id: 30
264073                  filesystems:
264074                    "/bigdata":
264075                      source: "/bulk/data"
264076                      type: lofs
264077                      options:
264078                        - ro
264079                        - nodevices
264080
264081          kvmtest.example.org:
264082            smartos.vm_present:
264083              - vmconfig:
264084                  brand: kvm
264085                  alias: kvmtest
264086                  cpu_type: host
264087                  ram: 512
264088                  vnc_port: 9
264089                  tags:
264090                    label: 'test kvm'
264091                    owner: 'sjorge'
264092                  disks:
264093                    disk0
264094                      size: 2048
264095                      model: virtio
264096                      compression: lz4
264097                      boot: true
264098                  nics:
264099                    "82:1b:8e:49:e9:15":
264100                      nic_tag: trunk
264101                      mtu: 1500
264102                      ips:
264103                        - dhcp
264104                      vlan_id: 30
264105
264106          docker.example.org:
264107            smartos.vm_present:
264108              - config:
264109                  auto_import: true
264110                  reprovision: true
264111              - vmconfig:
264112                  image_uuid: emby/embyserver:latest
264113                  brand: lx
264114                  alias: mydockervm
264115                  quota: 5
264116                  max_physical_memory: 1024
264117                  tags:
264118                    label: 'my emby docker'
264119                    owner: 'sjorge'
264120                  resolvers:
264121                    - 172.16.1.1
264122                  nics:
264123                    "82:1b:8e:49:e9:18":
264124                      nic_tag: trunk
264125                      mtu: 1500
264126                      ips:
264127                        - 172.16.1.118/24
264128                      vlan_id: 10
264129                  filesystems:
264130                    "/config:
264131                      source: "/vmdata/emby_config"
264132                      type: lofs
264133                      options:
264134                        - nodevices
264135
264136          cleanup_images:
264137            smartos.image_vacuum
264138
264139       NOTE:
264140          Keep in mind that when removing properties from vmconfig  they  will
264141          not  get  removed  from  the  vm's current configuration, except for
264142          nics, disk, tags, ...  they get removed via add_*, set_*,  update_*,
264143          and  remove_*.  Properties  must  be manually reset to their default
264144          value.  The same behavior as when using 'vmadm update'.
264145
264146       salt.states.smartos.config_absent(name)
264147              Ensure configuration property is absent in /usbkey/config
264148
264149              name   string name of property
264150
264151       salt.states.smartos.config_present(name, value)
264152              Ensure configuration property is set to value in /usbkey/config
264153
264154              name   string name of property
264155
264156              value  string value of property
264157
264158       salt.states.smartos.image_absent(name)
264159              Ensure image is absent on the computenode
264160
264161              name   string uuid of image
264162
264163              NOTE:
264164                 computenode.image_absent will only remove the image if it  is
264165                 not used by a vm.
264166
264167       salt.states.smartos.image_present(name)
264168              Ensure image is present on the computenode
264169
264170              name   string uuid of image
264171
264172       salt.states.smartos.image_vacuum(name)
264173              Delete images not in use or installed via image_present
264174
264175              WARNING:
264176                 Only  image_present states that are included via the top file
264177                 will be detected.
264178
264179       salt.states.smartos.source_absent(name)
264180              Ensure an image source is absent on the computenode
264181
264182              name   string source url
264183
264184       salt.states.smartos.source_present(name, source_type=u'imgapi')
264185              Ensure an image source is present on the computenode
264186
264187              name   string source url
264188
264189              source_type
264190                     string source type (imgapi or docker)
264191
264192       salt.states.smartos.vm_absent(name, archive=False)
264193              Ensure vm is absent on the computenode
264194
264195              name   string hostname of vm
264196
264197              archive
264198                     boolean toggle archiving of vm on removal
264199
264200              NOTE:
264201                 State ID is used as hostname. Hostnames must be unique.
264202
264203       salt.states.smartos.vm_present(name, vmconfig, config=None)
264204              Ensure vm is present on the computenode
264205
264206              name   string hostname of vm
264207
264208              vmconfig
264209                     dict options to set for the vm
264210
264211              config dict fine grain control over vm_present
264212
264213              NOTE:
264214
264215                 The following configuration properties can be toggled in  the
264216                 config parameter.
264217
264218                        · kvm_reboot  (true)                 -  reboots of kvm
264219                          zones if needed for a config update
264220
264221                        · auto_import (false)              - automatic import‐
264222                          ing of missing images
264223
264224                        · auto_lx_vars  (true)              - copy kernel_ver‐
264225                          sion and docker:* variables from image
264226
264227                        · reprovision (false)               -  reprovision  on
264228                          image_uuid changes
264229
264230                        · enforce_tags  (true)              - false = add tags
264231                          only, true =  add, update, and remove tags
264232
264233                        · enforce_routes (true)            - false = add  tags
264234                          only, true =  add, update, and remove routes
264235
264236                        · enforce_internal_metadata (true) - false = add meta‐
264237                          data only, true =  add, update, and remove metadata
264238
264239                        · enforce_customer_metadata (true) - false = add meta‐
264240                          data only, true =  add, update, and remove metadata
264241
264242              NOTE:
264243                 State ID is used as hostname. Hostnames must be unique.
264244
264245              NOTE:
264246                 If  hostname is provided in vmconfig this will take president
264247                 over the State ID.  This allows multiple states to be applied
264248                 to the same vm.
264249
264250              NOTE:
264251
264252                 The following instances should have a unique ID.
264253
264254                        · nic : mac
264255
264256                        · filesystem: target
264257
264258                        · disk : path or diskN for zvols
264259
264260                 e.g. disk0 will be the first disk added, disk1 the 2nd,...
264261
264262              Changed  in  version  2019.2.0:  Added  support for docker image
264263              uuids, added auto_lx_vars configuration, documented some missing
264264              configuration options.
264265
264266
264267       salt.states.smartos.vm_running(name)
264268              Ensure vm is in the running state on the computenode
264269
264270              name   string hostname of vm
264271
264272              NOTE:
264273                 State ID is used as hostname. Hostnames must be unique.
264274
264275       salt.states.smartos.vm_stopped(name)
264276              Ensure vm is in the stopped state on the computenode
264277
264278              name   string hostname of vm
264279
264280              NOTE:
264281                 State ID is used as hostname. Hostnames must be unique.
264282
264283   salt.states.smtp
264284   Sending Messages via SMTP
264285       New in version 2014.7.0.
264286
264287
264288       This  state  is useful for firing messages during state runs, using the
264289       SMTP protocol
264290
264291          server-warning-message:
264292            smtp.send_msg:
264293              - name: 'This is a server warning message'
264294              - profile: my-smtp-account
264295              - recipient: admins@example.com
264296
264297       salt.states.smtp.send_msg(name, recipient, subject,  sender=None,  pro‐
264298       file=None, use_ssl=u'True', attachments=None)
264299              Send a message via SMTP
264300
264301                 server-warning-message:
264302                   smtp.send_msg:
264303                     - name: 'This is a server warning message'
264304                     - profile: my-smtp-account
264305                     - subject: 'Message from Salt'
264306                     - recipient: admin@example.com
264307                     - sender: admin@example.com
264308                     - use_ssl: True
264309                     - attachments:
264310                         - /var/log/syslog
264311                         - /var/log/messages
264312
264313              name   The message to send via SMTP
264314
264315   salt.states.snapper module
264316   Managing implicit state and baselines using snapshots
264317       New in version 2016.11.0.
264318
264319
264320       Salt  can manage state against explicitly defined state, for example if
264321       your minion state is defined by:
264322
264323          /etc/config_file:
264324            file.managed:
264325              - source: salt://configs/myconfig
264326
264327       If someone modifies this file, the next application  of  the  highstate
264328       will  allow  the  admin  to correct this deviation and the file will be
264329       corrected.
264330
264331       Now, what happens if somebody creates a file  /etc/new_config_file  and
264332       deletes  /etc/important_config_file?  Unless  you have a explicit rule,
264333       this change will go unnoticed.
264334
264335       The snapper state module allows you  to  manage  state  implicitly,  in
264336       addition  to  explicit rules, in order to define a baseline and iterate
264337       with explicit rules as they show that they work in production.
264338
264339       The workflow is: once you have a working and audited system, you  would
264340       create  your  baseline snapshot (eg. with salt tgt snapper.create_snap‐
264341       shot) and define in your state this baseline using  the  identifier  of
264342       the snapshot (in this case: 20):
264343
264344          my_baseline:
264345            snapper.baseline_snapshot:
264346              - number: 20
264347              - include_diff: False
264348              - ignore:
264349                - /var/log
264350                - /var/cache
264351
264352       Baseline  snapshots can be also referenced by tag. Most recent baseline
264353       snapshot is used in case of multiple snapshots with the same tag:
264354
264355          my_baseline_external_storage:
264356
264357                 snapper.baseline_snapshot:
264358
264359                        · tag: my_custom_baseline_tag
264360
264361                        · config: external
264362
264363                        · ignore: - /mnt/tmp_files/
264364
264365       If you have this state, and you haven't  done  changes  to  the  system
264366       since  the  snapshot,  and  you add a user, the state will show you the
264367       changes (including full diffs) to /etc/passwd, /etc/shadow, etc if  you
264368       call  it  with test=True and will undo all changes if you call it with‐
264369       out.
264370
264371       This allows you to add more explicit state knowing that you are  start‐
264372       ing  from  a very well defined state, and that you can audit any change
264373       that is not part of your explicit configuration.
264374
264375       So after you made this your state, you decided to introduce a change in
264376       your configuration:
264377
264378          my_baseline:
264379            snapper.baseline_snapshot:
264380              - number: 20
264381              - ignore:
264382                - /var/log
264383                - /var/cache
264384
264385          hosts_entry:
264386            file.blockreplace:
264387              - name: /etc/hosts
264388              - content: 'First line of content'
264389              - append_if_not_found: True
264390
264391       The change in /etc/hosts will be done after any other change that devi‐
264392       ates from the specified snapshot are reverted. This could be for  exam‐
264393       ple, modifications to the /etc/passwd file or changes in the /etc/hosts
264394       that could render your the hosts_entry rule void or dangerous.
264395
264396       Once you take a new snapshot and you update the baseline snapshot  num‐
264397       ber to include the change in /etc/hosts the hosts_entry rule will basi‐
264398       cally do nothing. You are free to leave it there for documentation,  to
264399       ensure  that  the  change is made in case the snapshot is wrong, but if
264400       you remove anything that comes after the  snapper.baseline_snapshot  as
264401       it will have no effect; by the moment the state is evaluated, the base‐
264402       line state was already applied and include this change.
264403
264404       WARNING:
264405          Make sure you specify the baseline state before other rules,  other‐
264406          wise  the  baseline  state  will  revert all changes if they are not
264407          present in the snapshot.
264408
264409       WARNING:
264410          Do not specify more than one baseline rule as only the last one will
264411          affect the result.
264412
264413       codeauthor
264414              Duncan Mac-Vicar P. <dmacvicar@suse.de>
264415
264416       codeauthor
264417              Pablo Suárez Hernández <psuarezhernandez@suse.de>
264418
264419       maturity
264420              new
264421
264422       platform
264423              Linux
264424
264425       salt.states.snapper.baseline_snapshot(name,    number=None,   tag=None,
264426       include_diff=True, config=u'root', ignore=None)
264427              Enforces that no file is modified comparing against a previously
264428              defined snapshot identified by number.
264429
264430              number Number of selected baseline snapshot.
264431
264432              tag    Tag  of the selected baseline snapshot. Most recent base‐
264433                     line baseline snapshot is used in case of multiple  snap‐
264434                     shots  with the same tag.  (tag and number cannot be used
264435                     at the same time)
264436
264437              include_diff
264438                     Include a diff in the response (Default: True)
264439
264440              config Snapper config name (Default: root)
264441
264442              ignore List of files to ignore. (Default: None)
264443
264444   salt.states.solrcloud module
264445       States for solrcloud alias and collection configuration
264446
264447       New in version 2017.7.0.
264448
264449
264450       salt.states.solrcloud.alias(name, collections, **kwargs)
264451              Create alias and enforce collection list.
264452
264453              Use the solrcloud module to get alias members and set them.
264454
264455              You can pass additional arguments  that  will  be  forwarded  to
264456              http.query
264457
264458              name   The collection name
264459
264460              collections
264461                     list of collections to include in the alias
264462
264463       salt.states.solrcloud.collection(name, options=None, **kwargs)
264464              Create collection and enforce options.
264465
264466              Use the solrcloud module to get collection parameters.
264467
264468              You  can  pass  additional  arguments  that will be forwarded to
264469              http.query
264470
264471              name   The collection name
264472
264473              options
264474                     {} options to ensure
264475
264476   salt.states.splunk
264477       Splunk User State Module
264478
264479       New in version 2016.3.0..
264480
264481
264482       This state is used to ensure presence of users in splunk.
264483
264484          ensure example test user 1:
264485              splunk.present:
264486                  - name: 'Example TestUser1'
264487                  - email: example@domain.com
264488
264489       salt.states.splunk.absent(email, profile=u'splunk', **kwargs)
264490              Ensure a splunk user is absent
264491
264492                 ensure example test user 1:
264493                     splunk.absent:
264494                         - email: 'example@domain.com'
264495                         - name: 'exampleuser'
264496
264497              The following parameters are required:
264498
264499              email  This is the email of the user in splunk
264500
264501              name   This is the splunk username used to identify the user.
264502
264503       salt.states.splunk.present(email, profile=u'splunk', **kwargs)
264504              Ensure a user is present
264505
264506                 ensure example test user 1:
264507                     splunk.user_present:
264508                         - realname: 'Example TestUser1'
264509                         - name: 'exampleuser'
264510                         - email: 'example@domain.com'
264511                         - roles: ['user']
264512
264513              The following parameters are required:
264514
264515              email  This is the email of the user in splunk
264516
264517   salt.states.splunk_search
264518       Splunk Search State Module
264519
264520       New in version 2015.5.0.
264521
264522
264523       This state is used to ensure presence of splunk searches.
264524
264525          server-warning-message:
264526            splunk_search.present:
264527              - name: This is the splunk search name
264528              - search: index=main sourcetype=
264529
264530       salt.states.splunk_search.absent(name, profile=u'splunk')
264531              Ensure a search is absent
264532
264533                 API Error Search:
264534                   splunk_search.absent
264535
264536              The following parameters are required:
264537
264538              name   This is the name of the search in splunk
264539
264540       salt.states.splunk_search.present(name, profile=u'splunk', **kwargs)
264541              Ensure a search is present
264542
264543                 API Error Search:
264544                   splunk_search.present:
264545                     search: index=main sourcetype=blah
264546                     template: alert_5min
264547
264548              The following parameters are required:
264549
264550              name   This is the name of the search in splunk
264551
264552   salt.states.sqlite3
264553   Management of SQLite3 databases
264554       New in version 2016.3.0.
264555
264556
264557       depends
264558
264559              · SQLite3 Python Module
264560
264561       configuration
264562              See salt.modules.sqlite3 for setup instructions
264563
264564       The sqlite3 module is used to create and manage sqlite3  databases  and
264565       execute queries
264566
264567       Here is an example of creating a table using sql statements:
264568
264569          users:
264570            sqlite3.table_present:
264571              - db: /var/www/data/app.sqlite
264572              - schema: CREATE TABLE `users` (`username` TEXT COLLATE NOCASE UNIQUE NOT NULL, `password` BLOB NOT NULL, `salt` BLOB NOT NULL, `last_login` INT)
264573
264574       Here is an example of creating a table using yaml/jinja instead of sql:
264575
264576          users:
264577            sqlite3.table_present:
264578              - db: /var/www/app.sqlite
264579              - schema:
264580                - email TEXT COLLATE NOCASE UNIQUE NOT NULL
264581                - firstname TEXT NOT NULL
264582                - lastname TEXT NOT NULL
264583                - company TEXT NOT NULL
264584                - password BLOB NOT NULL
264585                - salt BLOB NOT NULL
264586
264587       Here is an example of making sure a table is absent:
264588
264589          badservers:
264590            sqlite3.table_absent:
264591              - db: /var/www/data/users.sqlite
264592
264593       Sometimes you would to have specific data in tables to be used by other
264594       services Here is an example of making  sure  rows  with  specific  data
264595       exist:
264596
264597          user_john_doe_xyz:
264598            sqlite3.row_present:
264599              - db: /var/www/app.sqlite
264600              - table: users
264601              - where_sql: email='john.doe@companyxyz.com'
264602              - data:
264603                  email: john.doe@companyxyz.com
264604                  lastname: doe
264605                  firstname: john
264606                  company: companyxyz.com
264607                  password: abcdef012934125
264608                  salt: abcdef012934125
264609              - require:
264610                - sqlite3: users
264611
264612       Here is an example of removing a row from a table:
264613
264614          user_john_doe_abc:
264615            sqlite3.row_absent:
264616              - db: /var/www/app.sqlite
264617              - table: users
264618              - where_sql: email="john.doe@companyabc.com"
264619              - require:
264620                - sqlite3: users
264621
264622       Note  that  there  is no explicit state to perform random queries, how‐
264623       ever, this can be approximated with sqlite3's module functions and mod‐
264624       ule.run:
264625
264626          zone-delete:
264627            module.run:
264628              - name: sqlite3.modify
264629              - db: {{ db }}
264630              - sql: "DELETE FROM records WHERE id > {{ count[0] }} AND domain_id = {{ domain_id }}"
264631              - watch:
264632                - sqlite3: zone-insert-12
264633
264634       salt.states.sqlite3.row_absent(name,      db,     table,     where_sql,
264635       where_args=None)
264636              Makes sure the specified row is absent in db.  If multiple  rows
264637              match where_sql, then the state will fail.
264638
264639              name   Only used as the unique ID
264640
264641              db     The database file name
264642
264643              table  The table name to check
264644
264645              where_sql
264646                     The sql to select the row to check
264647
264648              where_args
264649                     The list parameters to substitute in where_sql
264650
264651       salt.states.sqlite3.row_present(name,   db,   table,  data,  where_sql,
264652       where_args=None, update=False)
264653              Checks to make sure the given row  exists.  If  row  exists  and
264654              update  is True then row will be updated with data. Otherwise it
264655              will leave existing row unmodified and check it against data. If
264656              the  existing data doesn't match data_check the state will fail.
264657              If the row doesn't exist then it will insert data into  the  ta‐
264658              ble. If more than one row matches, then the state will fail.
264659
264660              name   Only used as the unique ID
264661
264662              db     The database file name
264663
264664              table  The table name to check the data
264665
264666              data   The dictionary of key/value pairs to check against if row
264667                     exists, insert into the table if it doesn't
264668
264669              where_sql
264670                     The sql to select the row to check
264671
264672              where_args
264673                     The list parameters to substitute in where_sql
264674
264675              update True will replace the existing row with data  When  False
264676                     and  the  row exists and data does not equal the row data
264677                     then the state will fail
264678
264679       salt.states.sqlite3.table_absent(name, db)
264680              Make sure the specified table does not exist
264681
264682              name   The name of the table
264683
264684              db     The name of the database file
264685
264686       salt.states.sqlite3.table_present(name, db, schema, force=False)
264687              Make sure the specified table exists with the specified schema
264688
264689              name   The name of the table
264690
264691              db     The name of the database file
264692
264693              schema The dictionary containing the schema information
264694
264695              force  If the name of the table  exists  and  force  is  set  to
264696                     False, the state will fail.  If force is set to True, the
264697                     existing table will be replaced with the new table
264698
264699   salt.states.ssh_auth
264700   Control of entries in SSH authorized_key files
264701       The information stored in a user's SSH authorized key file can be  eas‐
264702       ily  controlled via the ssh_auth state. Defaults can be set by the enc,
264703       options, and comment keys. These defaults can be overridden by  includ‐
264704       ing them in the name.
264705
264706       Since  the  YAML specification limits the length of simple keys to 1024
264707       characters, and since SSH keys are often longer than that, you may have
264708       to  use  a  YAML  'explicit key', as demonstrated in the second example
264709       below.
264710
264711          AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyY==:
264712            ssh_auth.present:
264713              - user: root
264714              - enc: ssh-dss
264715
264716          ? AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyY==...
264717          :
264718            ssh_auth.present:
264719              - user: root
264720              - enc: ssh-dss
264721
264722          thatch:
264723            ssh_auth.present:
264724              - user: root
264725              - source: salt://ssh_keys/thatch.id_rsa.pub
264726              - config: '%h/.ssh/authorized_keys'
264727
264728          sshkeys:
264729            ssh_auth.present:
264730              - user: root
264731              - enc: ssh-rsa
264732              - options:
264733                - option1="value1"
264734                - option2="value2 flag2"
264735              - comment: myuser
264736              - names:
264737                - AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyY==
264738                - ssh-dss AAAAB3NzaCL0sQ9fJ5bYTEyY== user@domain
264739                - option3="value3" ssh-dss AAAAB3NzaC1kcQ9J5bYTEyY== other@testdomain
264740                - AAAAB3NzaC1kcQ9fJFF435bYTEyY== newcomment
264741
264742          sshkeys:
264743            ssh_auth.manage:
264744              - user: root
264745              - enc: ssh-rsa
264746              - options:
264747                - option1="value1"
264748                - option2="value2 flag2"
264749              - comment: myuser
264750              - ssh_keys:
264751                - AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyY==
264752                - ssh-dss AAAAB3NzaCL0sQ9fJ5bYTEyY== user@domain
264753                - option3="value3" ssh-dss AAAAB3NzaC1kcQ9J5bYTEyY== other@testdomain
264754                - AAAAB3NzaC1kcQ9fJFF435bYTEyY== newcomment
264755
264756       salt.states.ssh_auth.absent(name,  user,  enc=u'ssh-rsa',  comment=u'',
264757       source=u'',   options=None,   config=u'.ssh/authorized_keys',   finger‐
264758       print_hash_type=None)
264759              Verifies that the specified SSH key is absent
264760
264761              name   The SSH key to manage
264762
264763              user   The user who owns the SSH authorized keys file to modify
264764
264765              enc    Defines what type of key is being used; can  be  ed25519,
264766                     ecdsa, ssh-rsa or ssh-dss
264767
264768              comment
264769                     The comment to be placed with the SSH public key
264770
264771              options
264772                     The options passed to the key, pass a list object
264773
264774              source The source file for the key(s). Can contain any number of
264775                     public keys, in  standard  "authorized_keys"  format.  If
264776                     this is set, comment, enc and options will be ignored.
264777
264778                     New in version 2015.8.0.
264779
264780
264781              config The  location of the authorized keys file relative to the
264782                     user's   home   directory,   defaults   to   ".ssh/autho‐
264783                     rized_keys".  Token  expansion %u and %h for username and
264784                     home path supported.
264785
264786              fingerprint_hash_type
264787                     The public key fingerprint hash type that the public  key
264788                     fingerprint  was originally hashed with. This defaults to
264789                     sha256 if not specified.
264790
264791                     New in version 2016.11.7.
264792
264793
264794       salt.states.ssh_auth.manage(name, ssh_keys, user, enc=u'ssh-rsa',  com‐
264795       ment=u'',   source=u'',  options=None,  config=u'.ssh/authorized_keys',
264796       fingerprint_hash_type=None, **kwargs)
264797              New in version 3000.
264798
264799
264800              Ensures that only the specified ssh_keys  are  present  for  the
264801              specified user
264802
264803              ssh_keys
264804                     The SSH key to manage
264805
264806              user   The user who owns the SSH authorized keys file to modify
264807
264808              enc    Defines  what  type of key is being used; can be ed25519,
264809                     ecdsa, ssh-rsa or ssh-dss
264810
264811              comment
264812                     The comment to be placed with the SSH public key
264813
264814              source The source file for the key(s). Can contain any number of
264815                     public  keys,  in  standard  "authorized_keys" format. If
264816                     this is set, comment and enc will be ignored.
264817
264818              NOTE:
264819                 The source file must contain keys in the format  <enc>  <key>
264820                 <comment>.  If  you  have generated a keypair using PuTTYgen,
264821                 then you will  need  to  do  the  following  to  retrieve  an
264822                 OpenSSH-compatible public key.
264823
264824                 1. In  PuTTYgen,  click Load, and select the private key file
264825                    (not the public key), and click Open.
264826
264827                 2. Copy the public key from the box labeled  Public  key  for
264828                    pasting into OpenSSH authorized_keys file.
264829
264830                 3. Paste it into a new file.
264831
264832              options
264833                     The options passed to the keys, pass a list object
264834
264835              config The  location of the authorized keys file relative to the
264836                     user's   home   directory,   defaults   to   ".ssh/autho‐
264837                     rized_keys".  Token  expansion %u and %h for username and
264838                     home path supported.
264839
264840              fingerprint_hash_type
264841                     The public key fingerprint hash type that the public  key
264842                     fingerprint  was originally hashed with. This defaults to
264843                     sha256 if not specified.
264844
264845       salt.states.ssh_auth.present(name, user,  enc=u'ssh-rsa',  comment=u'',
264846       source=u'',   options=None,   config=u'.ssh/authorized_keys',   finger‐
264847       print_hash_type=None, **kwargs)
264848              Verifies that the specified SSH key is present for the specified
264849              user
264850
264851              name   The SSH key to manage
264852
264853              user   The user who owns the SSH authorized keys file to modify
264854
264855              enc    Defines  what  type of key is being used; can be ed25519,
264856                     ecdsa, ssh-rsa or ssh-dss
264857
264858              comment
264859                     The comment to be placed with the SSH public key
264860
264861              source The source file for the key(s). Can contain any number of
264862                     public  keys,  in  standard  "authorized_keys" format. If
264863                     this is set, comment and enc will be ignored.
264864
264865              NOTE:
264866                 The source file must contain keys in the format  <enc>  <key>
264867                 <comment>.  If  you  have generated a keypair using PuTTYgen,
264868                 then you will  need  to  do  the  following  to  retrieve  an
264869                 OpenSSH-compatible public key.
264870
264871                 1. In  PuTTYgen,  click Load, and select the private key file
264872                    (not the public key), and click Open.
264873
264874                 2. Copy the public key from the box labeled  Public  key  for
264875                    pasting into OpenSSH authorized_keys file.
264876
264877                 3. Paste it into a new file.
264878
264879              options
264880                     The options passed to the key, pass a list object
264881
264882              config The  location of the authorized keys file relative to the
264883                     user's   home   directory,   defaults   to   ".ssh/autho‐
264884                     rized_keys".  Token  expansion %u and %h for username and
264885                     home path supported.
264886
264887              fingerprint_hash_type
264888                     The public key fingerprint hash type that the public  key
264889                     fingerprint  was originally hashed with. This defaults to
264890                     sha256 if not specified.
264891
264892   salt.states.ssh_known_hosts
264893   Control of SSH known_hosts entries
264894       Manage the information stored in the known_hosts files.
264895
264896          github.com:
264897            ssh_known_hosts:
264898              - present
264899              - user: root
264900              - fingerprint: 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
264901              - fingerprint_hash_type: md5
264902
264903          example.com:
264904            ssh_known_hosts:
264905              - absent
264906              - user: root
264907
264908       salt.states.ssh_known_hosts.absent(name, user=None, config=None)
264909              Verifies that the specified host is not known by the given user
264910
264911              name   The host name Note that only single host names  are  sup‐
264912                     ported.   If  foo.example.com and bar.example.com are the
264913                     same machine and you need to exclude both, you will  need
264914                     one Salt state for each.
264915
264916              user   The user who owns the ssh authorized keys file to modify
264917
264918              config The  location of the authorized keys file relative to the
264919                     user's home directory, defaults to ".ssh/known_hosts". If
264920                     no      user      is      specified,      defaults     to
264921                     "/etc/ssh/ssh_known_hosts". If present, must be an  abso‐
264922                     lute path when a user is not specified.
264923
264924       salt.states.ssh_known_hosts.present(name,  user=None, fingerprint=None,
264925       key=None,  port=None,  enc=None,  config=None,   hash_known_hosts=True,
264926       timeout=5, fingerprint_hash_type=None)
264927              Verifies that the specified host is known by the specified user
264928
264929              On  many  systems,  specifically those running with openssh 4 or
264930              older, the enc option must be set, only openssh 5 and above  can
264931              detect the key type.
264932
264933              name   The name of the remote host (e.g. "github.com") Note that
264934                     only a single hostname is supported,  if  foo.example.com
264935                     and  bar.example.com have the same host you will need two
264936                     separate Salt States to represent them.
264937
264938              user   The user who owns the ssh authorized keys file to modify
264939
264940              fingerprint
264941                     The fingerprint of the key which must be present  in  the
264942                     known_hosts file (optional if key specified)
264943
264944              key    The  public  key which must be present in the known_hosts
264945                     file (optional if fingerprint specified)
264946
264947              port   optional parameter, port  which  will  be  used  to  when
264948                     requesting  the public key from the remote host, defaults
264949                     to port 22.
264950
264951              enc    Defines what type of key is being used, can  be  ed25519,
264952                     ecdsa ssh-rsa or ssh-dss
264953
264954              config The  location of the authorized keys file relative to the
264955                     user's home directory, defaults to ".ssh/known_hosts". If
264956                     no      user      is      specified,      defaults     to
264957                     "/etc/ssh/ssh_known_hosts". If present, must be an  abso‐
264958                     lute path when a user is not specified.
264959
264960              hash_known_hosts
264961                     True  Hash all hostnames and addresses in the known hosts
264962                     file.
264963
264964              timeout
264965                     int Set the timeout for connection attempts.  If  timeout
264966                     seconds  have elapsed since a connection was initiated to
264967                     a host or since the last time anything was read from that
264968                     host, then the connection is closed and the host in ques‐
264969                     tion considered unavailable.  Default is 5 seconds.
264970
264971                     New in version 2016.3.0.
264972
264973
264974              fingerprint_hash_type
264975                     The public key fingerprint hash type that the public  key
264976                     fingerprint  was originally hashed with. This defaults to
264977                     sha256 if not specified.
264978
264979                     New in version 2016.11.4.
264980
264981
264982                     Changed in version 2017.7.0:: default changed from md5 to
264983                     sha256
264984
264985
264986   salt.states.stateconf
264987   Stateconf System
264988       The  stateconf  system is intended for use only with the stateconf ren‐
264989       derer. This State module presents the set function. This function  does
264990       not  execute any functionality, but is used to interact with the state‐
264991       conf renderer.
264992
264993       salt.states.stateconf.context(name, **kwargs)
264994              No-op state to support state config via the stateconf renderer.
264995
264996       salt.states.stateconf.set(name, **kwargs)
264997              No-op state to support state config via the stateconf renderer.
264998
264999   salt.states.status
265000       Minion status monitoring
265001
265002       Maps to the status execution module.
265003
265004       salt.states.status.loadavg(name, maximum=None, minimum=None)
265005              Return the current load average for the specified minion. Avail‐
265006              able  values  for  name are 1-min, 5-min and 15-min. minimum and
265007              maximum values should be passed in as strings.
265008
265009       salt.states.status.process(name)
265010              Return whether the specified signature is found in  the  process
265011              tree. This differs slightly from the services states, in that it
265012              may refer to a process that is not managed via the init system.
265013
265014   salt.states.statuspage
265015   StatusPage
265016       Manage the StatusPage configuration.
265017
265018       In the minion configuration file, the following block is required:
265019
265020          statuspage:
265021            api_key: <API_KEY>
265022            page_id: <PAGE_ID>
265023
265024       New in version 2017.7.0.
265025
265026
265027       salt.states.statuspage.create(name,              endpoint=u'incidents',
265028       api_url=None, page_id=None, api_key=None, api_version=None, **kwargs)
265029              Insert a new entry under a specific endpoint.
265030
265031              endpoint: incidents
265032                     Insert under this specific endpoint.
265033
265034              page_id
265035                     Page ID. Can also be specified in the config file.
265036
265037              api_key
265038                     API key. Can also be specified in the config file.
265039
265040              api_version: 1
265041                     API version. Can also be specified in the config file.
265042
265043              api_url
265044                     Custom  API URL in case the user has a StatusPage service
265045                     running in a custom environment.
265046
265047              kwargs Other params.
265048
265049              SLS Example:
265050
265051                 create-my-component:
265052                     statuspage.create:
265053                         - endpoint: components
265054                         - name: my component
265055                         - group_id: 993vgplshj12
265056
265057       salt.states.statuspage.delete(name,   endpoint=u'incidents',   id=None,
265058       api_url=None, page_id=None, api_key=None, api_version=None)
265059              Remove an entry from an endpoint.
265060
265061              endpoint: incidents
265062                     Request a specific endpoint.
265063
265064              page_id
265065                     Page ID. Can also be specified in the config file.
265066
265067              api_key
265068                     API key. Can also be specified in the config file.
265069
265070              api_version: 1
265071                     API version. Can also be specified in the config file.
265072
265073              api_url
265074                     Custom  API URL in case the user has a StatusPage service
265075                     running in a custom environment.
265076
265077              SLS Example:
265078
265079                 delete-my-component:
265080                     statuspage.delete:
265081                         - endpoint: components
265082                         - id: ftgks51sfs2d
265083
265084       salt.states.statuspage.managed(name,       config,        api_url=None,
265085       page_id=None,       api_key=None,       api_version=None,       pace=1,
265086       allow_empty=False)
265087              Manage the StatusPage configuration.
265088
265089              config Dictionary with the expected configuration of the Status‐
265090                     Page.   The  main level keys of this dictionary represent
265091                     the endpoint name.  If a certain endpoint does not  exist
265092                     in this structure, it will be ignored / not configured.
265093
265094              page_id
265095                     Page ID. Can also be specified in the config file.
265096
265097              api_key
265098                     API key. Can also be specified in the config file.
265099
265100              api_version: 1
265101                     API version. Can also be specified in the config file.
265102
265103              api_url
265104                     Custom  API URL in case the user has a StatusPage service
265105                     running in a custom environment.
265106
265107              pace: 1
265108                     Max requests per second allowed by the API.
265109
265110              allow_empty: False
265111                     Allow empty config.
265112
265113              SLS example:
265114
265115                 my-statuspage-config:
265116                     statuspage.managed:
265117                         - config:
265118                             components:
265119                                 - name: component1
265120                                   group_id: uy4g37rf
265121                                 - name: component2
265122                                   group_id: 3n4uyu4gf
265123                             incidents:
265124                                 - name: incident1
265125                                   status: resolved
265126                                   impact: major
265127                                   backfilled: false
265128                                 - name: incident2
265129                                   status: investigating
265130                                   impact: minor
265131
265132       salt.states.statuspage.update(name,   endpoint=u'incidents',   id=None,
265133       api_url=None, page_id=None, api_key=None, api_version=None, **kwargs)
265134              Update attribute(s) of a specific endpoint.
265135
265136              id     The unique ID of the enpoint entry.
265137
265138              endpoint: incidents
265139                     Endpoint name.
265140
265141              page_id
265142                     Page ID. Can also be specified in the config file.
265143
265144              api_key
265145                     API key. Can also be specified in the config file.
265146
265147              api_version: 1
265148                     API version. Can also be specified in the config file.
265149
265150              api_url
265151                     Custom  API URL in case the user has a StatusPage service
265152                     running in a custom environment.
265153
265154              SLS Example:
265155
265156                 update-my-incident:
265157                     statuspage.update:
265158                         - id: dz959yz2nd4l
265159                         - status: resolved
265160
265161   salt.states.supervisord
265162   Interaction with the Supervisor daemon
265163          wsgi_server:
265164            supervisord.running:
265165              - require:
265166                - pkg: supervisor
265167              - watch:
265168                - file: /etc/nginx/sites-enabled/wsgi_server.conf
265169
265170       salt.states.supervisord.dead(name,      user=None,      conf_file=None,
265171       bin_env=None, **kwargs)
265172              Ensure the named service is dead (not running).
265173
265174              name   Service  name  as defined in the supervisor configuration
265175                     file
265176
265177              user   Name of the user to run the supervisorctl command
265178
265179                     New in version 0.17.0.
265180
265181
265182              conf_file
265183                     path to supervisorctl config file
265184
265185              bin_env
265186                     path to supervisorctl bin  or  path  to  virtualenv  with
265187                     supervisor installed
265188
265189       salt.states.supervisord.mod_watch(name,   restart=True,   update=False,
265190       user=None, conf_file=None, bin_env=None, **kwargs)
265191              The supervisord watcher, called to  invoke  the  watch  command.
265192              Always restart on watch
265193
265194              NOTE:
265195                 This  state  exists  to support special handling of the watch
265196                 requisite. It should not be called directly.
265197
265198                 Parameters for this function should be set by the state being
265199                 triggered.
265200
265201       salt.states.supervisord.running(name,    restart=False,   update=False,
265202       user=None, conf_file=None, bin_env=None, **kwargs)
265203              Ensure the named service is running.
265204
265205              name   Service name as defined in the  supervisor  configuration
265206                     file
265207
265208              restart
265209                     Whether to force a restart
265210
265211              update Whether to update the supervisor configuration.
265212
265213              user   Name of the user to run the supervisorctl command
265214
265215                     New in version 0.17.0.
265216
265217
265218              conf_file
265219                     path to supervisorctl config file
265220
265221              bin_env
265222                     path  to  supervisorctl  bin  or  path to virtualenv with
265223                     supervisor installed
265224
265225   salt.states.svn
265226   Manage SVN repositories
265227       Manage repository checkouts via the svn vcs system. Note  that  subver‐
265228       sion  must be installed for these states to be available, so svn states
265229       should include a requisite to a pkg.installed  state  for  the  package
265230       which provides subversion (subversion in most cases). Example:
265231
265232          subversion:
265233            pkg.installed
265234
265235          http://unladen-swallow.googlecode.com/svn/trunk/:
265236            svn.latest:
265237              - target: /tmp/swallow
265238
265239       salt.states.svn.dirty(name,  target,  user=None,  username=None,  pass‐
265240       word=None, ignore_unversioned=False)
265241              Determine if the working directory has been changed.
265242
265243       salt.states.svn.export(name, target=None,  rev=None,  user=None,  user‐
265244       name=None, password=None, force=False, overwrite=False, externals=True,
265245       trust=False, trust_failures=None)
265246              Export a file or directory from an SVN repository
265247
265248              name   Address and path to the file or directory to be exported.
265249
265250              target Name of the target directory where the checkout will  put
265251                     the working directory
265252
265253              rev    None The name revision number to checkout. Enable "force"
265254                     if the directory already exists.
265255
265256              user   None Name of the user  performing  repository  management
265257                     operations
265258
265259              username
265260                     None The user to access the name repository with. The svn
265261                     default is the current user
265262
265263              password
265264                     Connect to the Subversion server with this password
265265
265266                     New in version 0.17.0.
265267
265268
265269              force  False Continue if conflicts are encountered
265270
265271              overwrite
265272                     False Overwrite existing target
265273
265274              externals
265275                     True Change to False to not checkout or update externals
265276
265277              trust  False  Automatically  trust  the  remote  server.   SVN's
265278                     --trust-server-cert
265279
265280              trust_failures
265281                     None  Comma-separated list of certificate trust failures,
265282                     that shall be ignored. This can be used if trust=True  is
265283                     not  sufficient.  The specified string is passed to SVN's
265284                     --trust-server-cert-failures option as-is.
265285
265286                     New in version 2019.2.0.
265287
265288
265289       salt.states.svn.latest(name, target=None,  rev=None,  user=None,  user‐
265290       name=None,  password=None,  force=False,  externals=True,  trust=False,
265291       trust_failures=None)
265292              Checkout or update the working directory to the latest  revision
265293              from the remote repository.
265294
265295              name   Address  of  the name repository as passed to "svn check‐
265296                     out"
265297
265298              target Name of the target directory where the checkout will  put
265299                     the working directory
265300
265301              rev    None The name revision number to checkout. Enable "force"
265302                     if the directory already exists.
265303
265304              user   None Name of the user  performing  repository  management
265305                     operations
265306
265307              username
265308                     None The user to access the name repository with. The svn
265309                     default is the current user
265310
265311              password
265312                     Connect to the Subversion server with this password
265313
265314                     New in version 0.17.0.
265315
265316
265317              force  False Continue if conflicts are encountered
265318
265319              externals
265320                     True Change to False to not checkout or update externals
265321
265322              trust  False  Automatically  trust  the  remote  server.   SVN's
265323                     --trust-server-cert
265324
265325              trust_failures
265326                     None  Comma-separated list of certificate trust failures,
265327                     that shall be ignored. This can be used if trust=True  is
265328                     not  sufficient.  The specified string is passed to SVN's
265329                     --trust-server-cert-failures option as-is.
265330
265331                     New in version 2019.2.0.
265332
265333
265334   salt.states.sysctl
265335   Configuration of the kernel using sysctl
265336       Control the kernel sysctl system.
265337
265338          vm.swappiness:
265339            sysctl.present:
265340              - value: 20
265341
265342       salt.states.sysctl.present(name, value, config=None)
265343              Ensure that the named sysctl value is set  in  memory  and  per‐
265344              sisted  to the named configuration file. The default sysctl con‐
265345              figuration file is /etc/sysctl.conf
265346
265347              name   The name of the sysctl value to edit
265348
265349              value  The sysctl value to apply
265350
265351              config The location of the sysctl  configuration  file.  If  not
265352                     specified,  the proper location will be detected based on
265353                     platform.
265354
265355   salt.states.syslog_ng
265356   State module for syslog_ng
265357       maintainer
265358              Tibor Benke <btibi@sch.bme.hu>
265359
265360       maturity
265361              new
265362
265363       depends
265364              cmd, ps, syslog_ng
265365
265366       platform
265367              all
265368
265369       Users can generate syslog-ng configuration files from  YAML  format  or
265370       use
265371              plain  ones  and reload, start, or stop their syslog-ng by using
265372              this module.
265373
265374   Details
265375       The service module is not available  on  all  system,  so  this  module
265376       includes  syslog_ng.reloaded,  syslog_ng.stopped, and syslog_ng.started
265377       functions.  If the service module is available on the computers,  users
265378       should use that.
265379
265380       Users  can generate syslog-ng configuration with syslog_ng.config func‐
265381       tion.  For more information see syslog-ng state usage.
265382
265383   Syslog-ng configuration file format
265384       The syntax of a configuration snippet in syslog-ng.conf:
265385              object_type object_id {<options>};
265386
265387       These constructions are  also  called  statements.  There  are  options
265388       inside of them:
265389              option(parameter1, parameter2); option2(parameter1, parameter2);
265390
265391       You can find more information about syslog-ng's configuration syntax in
265392       the                Syslog-ng                Admin                guide:
265393       http://www.balabit.com/sites/default/files/documents/syslog-ng-ose-3.5-guides/en/syslog-ng-ose-v3.5-guide-admin/html-single/index.html#syslog-ng.conf.5
265394
265395       salt.states.syslog_ng.config(name, config, write=True)
265396              Builds syslog-ng configuration.
265397
265398              name : the id of the Salt document config : the parsed YAML code
265399              write  :  if  True, it writes  the config into the configuration
265400              file, otherwise just returns it
265401
265402       salt.states.syslog_ng.reloaded(name)
265403              Reloads syslog-ng.
265404
265405       salt.states.syslog_ng.started(name=None,     user=None,     group=None,
265406       chroot=None, caps=None, no_caps=False, pidfile=None, enable_core=False,
265407       fd_limit=None, verbose=False, debug=False, trace=False,  yydebug=False,
265408       persist_file=None, control=None, worker_threads=None, *args, **kwargs)
265409              Ensures, that syslog-ng is started via the given parameters.
265410
265411              Users  shouldn't  use  this  function,  if the service module is
265412              available on their system.
265413
265414       salt.states.syslog_ng.stopped(name=None)
265415              Kills syslog-ng.
265416
265417   salt.states.sysrc
265418       State to work with sysrc
265419
265420       salt.states.sysrc.absent(name, **kwargs)
265421              Ensure a sysrc variable is absent.
265422
265423              name   The variable name to set
265424
265425              file   (optional) The rc file to add the variable to.
265426
265427              jail   (option) the name or JID of the jail to set the value in.
265428
265429       salt.states.sysrc.managed(name, value, **kwargs)
265430              Ensure a sysrc variable is set to a specific value.
265431
265432              name   The variable name to set
265433
265434              value  Value to set the variable to
265435
265436              file   (optional) The rc file to add the variable to.
265437
265438              jail   (option) the name or JID of the jail to set the value in.
265439
265440              Example:
265441
265442                 syslogd:
265443                   sysrc.managed:
265444                     - name: syslogd_flags
265445                     - value: -ss
265446
265447   salt.states.telemetry_alert
265448   Manage Telemetry alert configurations
265449       New in version 2016.3.0.
265450
265451
265452       Create, Update and destroy Mongo Telemetry alert configurations.
265453
265454       This module uses requests, which can be installed via package, or pip.
265455
265456       This module accepts explicit credential (telemetry api key) or can also
265457       read api key credentials from a pillar.  Example:
265458
265459          ensure telemetry alert X is defined on deployment Y:
265460              telemetry_alert.present:
265461                  - deployment_id: "rs-XXXXXX"
265462                  - metric_name: "testMetric"
265463                  - alert_config:
265464                     max: 1
265465                     filter:  SERVER_ROLE_MONGOD_PRIMARY
265466                     escalate_to: "example@pagerduty.com"
265467                  - name: "**MANAGED BY ORCA DO NOT EDIT BY HAND** manages alarm on testMetric"
265468
265469       salt.states.telemetry_alert.absent(name,   deployment_id,  metric_name,
265470       api_key=None, profile=u'telemetry')
265471              Ensure the telemetry alert config is deleted
265472
265473              name   An optional description of the alarms (not currently sup‐
265474                     ported by telemetry API)
265475
265476              deployment_id
265477                     Specifies the ID of the root deployment resource (replica
265478                     set cluster or sharded cluster) to which this alert defi‐
265479                     nition is attached
265480
265481              metric_name
265482                     Specifies  the  unique  ID  of the metric to whose values
265483                     these thresholds will be applied
265484
265485              api_key
265486                     Telemetry api key for the user
265487
265488              profile
265489                     A dict with telemetry config data. If  present,  will  be
265490                     used instead of api_key.
265491
265492       salt.states.telemetry_alert.present(name,  deployment_id,  metric_name,
265493       alert_config, api_key=None, profile=u'telemetry')
265494              Ensure the telemetry alert exists.
265495
265496              name   An optional description of the alarm (not currently  sup‐
265497                     ported by telemetry API)
265498
265499              deployment_id
265500                     Specifies the ID of the root deployment resource (replica
265501                     set cluster or sharded cluster) to which this alert defi‐
265502                     nition is attached
265503
265504              metric_name
265505                     Specifies  the  unique  ID  of the metric to whose values
265506                     these thresholds will be applied
265507
265508              alert_config: Is a list of dictionaries where each dict contains
265509              the following fields:
265510
265511                     filter By  default the alert will apply to the deployment
265512                            and all its constituent resources.  If  the  alert
265513                            only  applies  to  a  subset of those resources, a
265514                            filter may be specified to narrow this scope.
265515
265516                     min    the smallest "ok" value the metric may take on; if
265517                            missing or null, no minimum is enforced.
265518
265519                     max    the  largest "ok" value the metric may take on; if
265520                            missing or null, no maximum is enforced.
265521
265522                     notify_all
265523                            Used to indicate if you want to alert both  onCal‐
265524                            lEngineer and apiNotifications
265525
265526              api_key
265527                     Telemetry api key for the user
265528
265529              profile
265530                     A dict of telemetry config information.  If present, will
265531                     be used instead of api_key.
265532
265533   salt.states.test
265534   Test States
265535       Provide test case states that enable easy testing of things to do  with
265536       state calls, e.g. running, calling, logging, output filtering etc.
265537
265538          always-passes-with-any-kwarg:
265539            test.nop:
265540              - name: foo
265541              - something: else
265542              - foo: bar
265543
265544          always-passes:
265545            test.succeed_without_changes:
265546              - name: foo
265547
265548          always-fails:
265549            test.fail_without_changes:
265550              - name: foo
265551
265552          always-changes-and-succeeds:
265553            test.succeed_with_changes:
265554              - name: foo
265555
265556          always-changes-and-fails:
265557            test.fail_with_changes:
265558              - name: foo
265559
265560          my-custom-combo:
265561            test.configurable_test_state:
265562              - name: foo
265563              - changes: True
265564              - result: False
265565              - comment: bar.baz
265566              - warnings: A warning
265567
265568          is-pillar-foo-present-and-bar-is-int:
265569            test.check_pillar:
265570              - present:
265571                  - foo
265572              - integer:
265573                  - bar
265574
265575       salt.states.test.check_pillar(name,  present=None,  boolean=None, inte‐
265576       ger=None, string=None, listing=None, dictionary=None, verbose=False)
265577              Checks the presence and, optionally, the type of given  keys  in
265578              Pillar.   Supported  kwargs  for  types  are: - boolean (bool) -
265579              integer (int) - string  (str)  -  listing  (list)  -  dictionary
265580              (dict)
265581
265582              Checking for None type pillars is not implemented yet.
265583
265584                 is-pillar-foo-present-and-bar-is-int:
265585                   test.check_pillar:
265586                     - present:
265587                         - foo
265588                     - integer:
265589                         - bar
265590
265591       salt.states.test.configurable_test_state(name,            changes=True,
265592       result=True, comment=u'', warnings=None)
265593              A configurable test state which determines its output  based  on
265594              the inputs.
265595
265596              New in version 2014.7.0.
265597
265598
265599              name:  A unique string.
265600
265601              changes:
265602                     Do  we  return  anything  in  the changes field?  Accepts
265603                     True, False, and 'Random' Default is True
265604
265605              result:
265606                     Do we return successfully or not?  Accepts  True,  False,
265607                     and  'Random' Default is True If test is True and changes
265608                     is True, this will be None.  If  test  is  True  and  and
265609                     changes is False, this will be True.
265610
265611              comment:
265612                     String to fill the comment field with.  Default is ''
265613
265614              New in version 3000.
265615
265616
265617              WARNING:
265618                 A  string  (or  a list of strings) to fill the warnings field
265619                 with.  Default is None
265620
265621       salt.states.test.fail_with_changes(name, **kwargs)
265622              Returns failure and changes is not empty.
265623
265624              New in version 2014.7.0.
265625
265626
265627              name:  A unique string.
265628
265629       salt.states.test.fail_without_changes(name, **kwargs)
265630              Returns failure.
265631
265632              New in version 2014.7.0.
265633
265634
265635              name:  A unique string.
265636
265637       salt.states.test.mod_watch(name, sfun=None, **kwargs)
265638              Call this function via a watch statement
265639
265640              New in version 2014.7.0.
265641
265642
265643              Any parameters in the state return dictionary can be  customized
265644              by adding the keywords result, comment, and changes.
265645
265646                 this_state_will_return_changes:
265647                   test.succeed_with_changes
265648
265649                 this_state_will_NOT_return_changes:
265650                   test.succeed_without_changes
265651
265652                 this_state_is_watching_another_state:
265653                   test.succeed_without_changes:
265654                     - comment: 'This is a custom comment'
265655                     - watch:
265656                       - test: this_state_will_return_changes
265657                       - test: this_state_will_NOT_return_changes
265658
265659                 this_state_is_also_watching_another_state:
265660                   test.succeed_without_changes:
265661                     - watch:
265662                       - test: this_state_will_NOT_return_changes
265663
265664       salt.states.test.nop(name, **kwargs)
265665              A  no-op state that does nothing. Useful in conjunction with the
265666              use requisite, or in templates which could  otherwise  be  empty
265667              due to jinja rendering
265668
265669              New in version 2015.8.1.
265670
265671
265672       salt.states.test.show_notification(name, text=None, **kwargs)
265673              Simple notification using text argument.
265674
265675              New in version 2015.8.0.
265676
265677
265678              name   A unique string.
265679
265680              text   Text to return in the comment.
265681
265682       salt.states.test.succeed_with_changes(name, **kwargs)
265683              Returns successful and changes is not empty
265684
265685              New in version 2014.7.0.
265686
265687
265688              name:  A unique string.
265689
265690       salt.states.test.succeed_without_changes(name, **kwargs)
265691              Returns successful.
265692
265693              New in version 2014.7.0.
265694
265695
265696              name   A unique string.
265697
265698   salt.states.testinframod module
265699   salt.states.timezone
265700   Management of timezones
265701       The timezone can be managed for the system:
265702
265703          America/Denver:
265704            timezone.system
265705
265706       The  system  and the hardware clock are not necessarily set to the same
265707       time.  By default, the hardware clock is set to localtime,  meaning  it
265708       is  set  to  the  same time as the system clock. If utc is set to True,
265709       then the hardware clock will be set to UTC, and the system  clock  will
265710       be an offset of that.
265711
265712          America/Denver:
265713            timezone.system:
265714              - utc: True
265715
265716       The Ubuntu community documentation contains an explanation of this set‐
265717       ting, as it applies to systems that dual-boot  with  Windows.  This  is
265718       explained in greater detail here.
265719
265720       salt.states.timezone.system(name, utc=True)
265721              Set the timezone for the system.
265722
265723              name   The name of the timezone to use (e.g.: America/Denver)
265724
265725              utc    Whether  or not to set the hardware clock to UTC (default
265726                     is True)
265727
265728   salt.states.tls
265729   Enforce state for SSL/TLS
265730       salt.states.tls.valid_certificate(name, weeks=0, days=0, hours=0,  min‐
265731       utes=0, seconds=0)
265732              Verify that a TLS certificate is valid now and (optionally) will
265733              be valid for the time specified through weeks, days, hours, min‐
265734              utes, and seconds.
265735
265736   salt.states.tomcat
265737   Manage Apache Tomcat web applications
265738       NOTE:
265739          This  state  requires  the Tomcat Manager webapp to be installed and
265740          running.
265741
265742       The following grains/pillars must be set for communication with  Tomcat
265743       Manager to work:
265744
265745          tomcat-manager:
265746              user: 'tomcat-manager'
265747              passwd: 'Passw0rd'
265748
265749   Configuring Tomcat Manager
265750       To  manage  webapps  via the Tomcat Manager, you'll need to configure a
265751       valid user in the file conf/tomcat-users.xml.
265752
265753       conf/tomcat-users.xml
265754
265755           <?xml version='1.0' encoding='utf-8'?>
265756           <tomcat-users>
265757               <role rolename="manager-script"/>
265758               <user username="tomcat-manager" password="Passw0rd" roles="manager-script"/>
265759           </tomcat-users>
265760       Notes.INDENT 0.0
265761
265762       · Using multiple versions (aka. parallel deployments) on the same  con‐
265763         text path is not supported.
265764
265765       · More       information       about      the      Tomcat      Manager:
265766         http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
265767
265768       · If you use only  this  module  for  deployments  you  might  want  to
265769         restrict access to the manager so it's only accessible via localhost.
265770         For                            more                             info:
265771         http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Configuring_Manager_Application_Access
265772
265773       ·
265774
265775         Last tested on:
265776
265777                Tomcat Version:
265778                       Apache Tomcat/7.0.54
265779
265780                JVM Vendor:
265781                       Oracle Corporation
265782
265783                JVM Version:
265784                       1.8.0_101-b13
265785
265786                OS Architecture:
265787                       amd64
265788
265789                OS Name:
265790                       Linux
265791
265792                OS Version:
265793                       3.10.0-327.22.2.el7.x86_64
265794
265795       salt.states.tomcat.mod_watch(name,     url=u'http://localhost:8080/man‐
265796       ager', timeout=180)
265797              The  tomcat  watcher,  called to invoke the watch command.  When
265798              called, it will reload the webapp in question
265799
265800              NOTE:
265801                 This state exists to support special handling  of  the  watch
265802                 requisite. It should not be called directly.
265803
265804                 Parameters for this function should be set by the state being
265805                 triggered.
265806
265807       salt.states.tomcat.undeployed(name,    url=u'http://localhost:8080/man‐
265808       ager', timeout=180)
265809              Enforce that the WAR will be undeployed from the server
265810
265811              name   The context path to undeploy.
265812
265813              url    http://localhost:8080/manager  The URL of the server with
265814                     the Tomcat Manager webapp.
265815
265816              timeout
265817                     180 Timeout for HTTP request to the Tomcat Manager.
265818
265819              Example:
265820
265821                 jenkins:
265822                   tomcat.undeployed:
265823                     - name: /ran
265824                     - require:
265825                       - service: application-service
265826
265827       salt.states.tomcat.wait(name,     url=u'http://localhost:8080/manager',
265828       timeout=180)
265829              Wait for the Tomcat Manager to load.
265830
265831              Notice  that if tomcat is not running we won't wait for it start
265832              and the state will fail. This state can be required in the  tom‐
265833              cat.war_deployed  state  to make sure tomcat is running and that
265834              the manager is running as well and ready for deployment.
265835
265836              url    http://localhost:8080/manager The URL of the server  with
265837                     the Tomcat Manager webapp.
265838
265839              timeout
265840                     180 Timeout for HTTP request to the Tomcat Manager.
265841
265842              Example:
265843
265844                 tomcat-service:
265845                   service.running:
265846                     - name: tomcat
265847                     - enable: True
265848
265849                 wait-for-tomcatmanager:
265850                   tomcat.wait:
265851                     - timeout: 300
265852                     - require:
265853                       - service: tomcat-service
265854
265855                 jenkins:
265856                   tomcat.war_deployed:
265857                     - name: /ran
265858                     - war: salt://jenkins-1.2.4.war
265859                     - require:
265860                       - tomcat: wait-for-tomcatmanager
265861
265862       salt.states.tomcat.war_deployed(name,         war,         force=False,
265863       url=u'http://localhost:8080/manager',    timeout=180,    temp_war_loca‐
265864       tion=None, version=True)
265865              Enforce that the WAR will be deployed and started in the context
265866              path, while making use of WAR versions in the filename.
265867
265868              NOTE:
265869                 For more info about Tomcats file paths  and  context  naming,
265870                 please                                                    see
265871                 http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming
265872
265873              name   The  context path to deploy (incl. forward slash) the WAR
265874                     to.
265875
265876              war    Absolute path to WAR file (should be  accessible  by  the
265877                     user running Tomcat) or a path supported by the salt.mod‐
265878                     ules.cp.get_url function.
265879
265880              force  False Force deployment even if the  version  strings  are
265881                     the same.  Disabled by default.
265882
265883              url    http://localhost:8080/manager  The  URL of the Tomcat Web
265884                     Application Manager.
265885
265886              timeout
265887                     180 Timeout for HTTP requests to the Tomcat Manager.
265888
265889              temp_war_location
265890                     None Use another location to  temporarily  copy  the  WAR
265891                     file to.  By default the system's temp directory is used.
265892
265893              version
265894                     ''  Specify  the  WAR  version.  If this argument is pro‐
265895                     vided, it overrides the version encoded in the  WAR  file
265896                     name, if one is present.
265897
265898                     New in version 2015.8.6.
265899
265900
265901                     Use  False or blank value to prevent guessing the version
265902                     and keeping it blank.
265903
265904                     New in version 2016.11.0.
265905
265906
265907              Example:
265908
265909                 jenkins:
265910                   tomcat.war_deployed:
265911                     - name: /salt-powered-jenkins
265912                     - war: salt://jenkins-1.2.4.war
265913                     - require:
265914                       - service: application-service
265915
265916              NOTE:
265917                 Be aware that in the above example the WAR  jenkins-1.2.4.war
265918                 will  be  deployed  to  the  context  path salt-powered-jenk‐
265919                 ins##1.2.4. To avoid this either specify a version  yourself,
265920                 or set version to False.
265921
265922   salt.states.trafficserver
265923   Control Apache Traffic Server
265924       New in version 2015.8.0.
265925
265926
265927       salt.states.trafficserver.bounce_cluster(name)
265928              Bounce all Traffic Server nodes in the cluster. Bouncing Traffic
265929              Server shuts  down  and  immediately  restarts  Traffic  Server,
265930              node-by-node.
265931
265932                 bounce_ats_cluster:
265933                   trafficserver.bounce_cluster
265934
265935       salt.states.trafficserver.bounce_local(name, drain=False)
265936              Bounce Traffic Server on the local node. Bouncing Traffic Server
265937              shuts down and immediately restarts the Traffic Server node.
265938
265939              This option modifies the behavior of traffic_line -b  and  traf‐
265940              fic_line  -L such that traffic_server is not shut down until the
265941              number of active client connections drops to the number given by
265942              the  proxy.config.restart.active_client_threshold  configuration
265943              variable.
265944
265945                 bounce_ats_local:
265946                   trafficserver.bounce_local
265947
265948                 bounce_ats_local:
265949                   trafficserver.bounce_local
265950                     - drain: True
265951
265952       salt.states.trafficserver.clear_cluster(name)
265953              Clears accumulated statistics on all nodes in the cluster.
265954
265955                 clear_ats_cluster:
265956                   trafficserver.clear_cluster
265957
265958       salt.states.trafficserver.clear_node(name)
265959              Clears accumulated statistics on the local node.
265960
265961                 clear_ats_node:
265962                   trafficserver.clear_node
265963
265964       salt.states.trafficserver.config(name, value)
265965              Set Traffic Server configuration variable values.
265966
265967                 proxy.config.proxy_name:
265968                   trafficserver.config:
265969                     - value: cdn.site.domain.tld
265970
265971                 OR
265972
265973                 traffic_server_setting:
265974                   trafficserver.config:
265975                     - name: proxy.config.proxy_name
265976                     - value: cdn.site.domain.tld
265977
265978       salt.states.trafficserver.offline(name, path)
265979              Mark a cache storage device as offline. The storage  is  identi‐
265980              fied  by  a  path  which  must match exactly a path specified in
265981              storage.config. This removes the  storage  from  the  cache  and
265982              redirects  requests  that  would have used this storage to other
265983              storage. This has exactly the same effect as a disk failure  for
265984              that storage. This does not persist across restarts of the traf‐
265985              fic_server process.
265986
265987                 offline_ats_path:
265988                   trafficserver.offline:
265989                     - path: /path/to/cache
265990
265991       salt.states.trafficserver.refresh(name)
265992              Initiate a Traffic Server configuration file  reread.  Use  this
265993              command to update the running configuration after any configura‐
265994              tion file modification.
265995
265996              The timestamp of the  last  reconfiguration  event  (in  seconds
265997              since  epoch)  is  published  in the proxy.node.config.reconfig‐
265998              ure_time metric.
265999
266000                 refresh_ats:
266001                   trafficserver.refresh
266002
266003       salt.states.trafficserver.restart_cluster(name)
266004              Restart  the  traffic_manager  process  and  the  traffic_server
266005              process on all the nodes in a cluster.
266006
266007                 restart_ats_cluster:
266008                   trafficserver.restart_cluster
266009
266010       salt.states.trafficserver.restart_local(name, drain=False)
266011              Restart  the traffic_manager and traffic_server processes on the
266012              local node.
266013
266014              This option modifies the behavior of traffic_line -b  and  traf‐
266015              fic_line  -L such that traffic_server is not shut down until the
266016              number of active client connections drops to the number given by
266017              the  proxy.config.restart.active_client_threshold  configuration
266018              variable.
266019
266020                 restart_ats_local:
266021                   trafficserver.restart_local
266022
266023                 restart_ats_local_drain:
266024                   trafficserver.restart_local
266025                     - drain: True
266026
266027       salt.states.trafficserver.shutdown(name)
266028              Shut down Traffic Server on the local node.
266029
266030                 shutdown_ats:
266031                   trafficserver.shutdown
266032
266033       salt.states.trafficserver.startup(name)
266034              Start Traffic Server on the local node.
266035
266036                 startup_ats:
266037                   trafficserver.startup
266038
266039       salt.states.trafficserver.zero_cluster(name)
266040              Reset performance statistics to zero across the cluster.
266041
266042                 zero_ats_cluster:
266043                   trafficserver.zero_cluster
266044
266045       salt.states.trafficserver.zero_node(name)
266046              Reset performance statistics to zero on the local node.
266047
266048                 zero_ats_node:
266049                   trafficserver.zero_node
266050
266051   salt.states.tuned
266052       Interface to Red Hat tuned-adm module
266053
266054       maintainer
266055              Syed Ali <alicsyed@gmail.com>
266056
266057       maturity
266058              new
266059
266060       depends
266061              cmd.run
266062
266063       platform
266064              Linux
266065
266066       salt.states.tuned.off(name=None)
266067              Turns 'tuned' off.  Example tuned.sls  file  for  turning  tuned
266068              off:
266069
266070              tuned: tuned.off: []
266071
266072              To see a valid list of states call execution module:
266073                     tuned.list
266074
266075       salt.states.tuned.profile(name)
266076              This state module allows you to modify system tuned parameters
266077
266078              Example tuned.sls file to set profile to virtual-guest
266079
266080              tuned:
266081
266082                     tuned:
266083
266084                            · profile
266085
266086                            · name: virtual-guest
266087
266088              name   tuned profile name to set the system to
266089
266090              To see a valid list of states call execution module:
266091                     tuned.list
266092
266093   salt.states.uptime
266094   Monitor Web Server with Uptime
266095       Uptime  is  an open source remote monitoring application using Node.js,
266096       MongoDB, and Twitter Bootstrap.
266097
266098       WARNING:
266099          This state module is beta. It might be changed later to include more
266100          or less automation.
266101
266102       NOTE:
266103          This  state module requires a pillar to specify the location of your
266104          uptime install
266105
266106              uptime:
266107                application_url: "http://uptime-url.example.org"
266108
266109       Example:
266110
266111          url:
266112            uptime.monitored
266113          url/sitemap.xml:
266114            uptime.monitored:
266115               - polling: 600 # every hour
266116
266117       salt.states.uptime.monitored(name, **params)
266118              Makes sure an URL is monitored  by  uptime.  Checks  if  URL  is
266119              already monitored, and if not, adds it.
266120
266121   salt.states.user
266122   Management of user accounts
266123       The  user  module is used to create and manage user settings, users can
266124       be set as either absent or present
266125
266126          fred:
266127            user.present:
266128              - fullname: Fred Jones
266129              - shell: /bin/zsh
266130              - home: /home/fred
266131              - uid: 4000
266132              - gid: 4000
266133              - groups:
266134                - wheel
266135                - storage
266136                - games
266137
266138          testuser:
266139            user.absent
266140
266141       salt.states.user.absent(name, purge=False, force=False)
266142              Ensure that the named user is absent
266143
266144              name   The name of the user to remove
266145
266146              purge  Set purge to True to delete all of the  user's  files  as
266147                     well as the user, Default is False.
266148
266149              force  If the user is logged in, the absent state will fail. Set
266150                     the force option to True to remove the user even if  they
266151                     are  logged  in.  Not  supported  in FreeBSD and Solaris,
266152                     Default is False.
266153
266154       salt.states.user.present(name, uid=None, gid=None, gid_from_name=False,
266155       groups=None,  optional_groups=None, remove_groups=True, home=None, cre‐
266156       atehome=True,   password=None,    hash_password=False,    enforce_pass‐
266157       word=True, empty_password=False, shell=None, unique=True, system=False,
266158       fullname=None,   roomnumber=None,    workphone=None,    homephone=None,
266159       other=None,  loginclass=None,  date=None,  mindays=None,  maxdays=None,
266160       inactdays=None,   warndays=None,    expire=None,    win_homedrive=None,
266161       win_profile=None,      win_logonscript=None,      win_description=None,
266162       nologinit=False, allow_uid_change=False, allow_gid_change=False)
266163              Ensure that the named user is present with the specified proper‐
266164              ties
266165
266166              name   The name of the user to manage
266167
266168              uid    The  user  id  to  assign. If not specified, and the user
266169                     does not exist, then  the  next  available  uid  will  be
266170                     assigned.
266171
266172              gid    The id of the default group to assign to the user. Either
266173                     a group name or gid can be used. If  not  specified,  and
266174                     the user does not exist, then the next available gid will
266175                     be assigned.
266176
266177              gid_from_name
266178                     False If True, the default group id will be set to the id
266179                     of the group with the same name as the user. If the group
266180                     does not exist the state will fail.
266181
266182              allow_uid_change
266183                     False Set to True to allow the state to update the uid.
266184
266185                     New in version 2018.3.1.
266186
266187
266188              allow_gid_change
266189                     False Set to True to allow the state to update the gid.
266190
266191                     New in version 2018.3.1.
266192
266193
266194              groups A list of groups to assign  the  user  to,  pass  a  list
266195                     object.  If  a group specified here does not exist on the
266196                     minion, the state will fail.  If set to the  empty  list,
266197                     the  user  will  be  removed  from  all groups except the
266198                     default group. If unset, salt will assume current  groups
266199                     are still wanted (see issue #28706).
266200
266201              optional_groups
266202                     A  list  of  groups  to  assign  the user to, pass a list
266203                     object. If a group specified here does not exist  on  the
266204                     minion, the state will silently ignore it.
266205
266206              NOTE:  If  the  same  group  is  specified  in both "groups" and
266207              "optional_groups", then it will be assumed to  be  required  and
266208              not optional.
266209
266210              remove_groups
266211                     Remove  groups  that the user is a member of that weren't
266212                     specified in the state, Default is True.
266213
266214              home   The custom login directory of user. Uses default value of
266215                     underlying  system if not set. Notice that this directory
266216                     does not have to exist.  This also the  location  of  the
266217                     home directory to create if createhome is set to True.
266218
266219              createhome
266220                     True If set to False, the home directory will not be cre‐
266221                     ated if it doesn't already exist.
266222
266223                     WARNING:
266224                        Not supported on Windows or Mac OS.
266225
266226                        Additionally, parent directories will not be  created.
266227                        The parent directory for home must already exist.
266228
266229              nologinit
266230                     False If set to True, it will not add the user to lastlog
266231                     and faillog databases.
266232
266233                     NOTE:
266234                        Not supported on Windows or Mac OS.
266235
266236              password
266237                     A password hash to set for the user. This field  is  only
266238                     supported   on   Linux,  FreeBSD,  NetBSD,  OpenBSD,  and
266239                     Solaris. If the empty_password argument is  set  to  True
266240                     then  password is ignored.  For Windows this is the plain
266241                     text password.  For Linux, the hash can be generated with
266242                     openssl passwd -1.
266243
266244              Changed in version 0.16.0: BSD support added.
266245
266246
266247              hash_password
266248                     Set  to  True to hash the clear text password. Default is
266249                     False.
266250
266251              enforce_password
266252                     Set to False to keep the password from being  changed  if
266253                     it  has  already  been  set and the password hash differs
266254                     from what is specified  in  the  "password"  field.  This
266255                     option  will  be  ignored if "password" is not specified,
266256                     Default is True.
266257
266258              empty_password
266259                     Set to True  to  enable  password-less  login  for  user,
266260                     Default is False.
266261
266262              shell  The login shell, defaults to the system default shell
266263
266264              unique Require a unique UID, Default is True.
266265
266266              system Choose UID in the range of FIRST_SYSTEM_UID and LAST_SYS‐
266267                     TEM_UID, Default is False.
266268
266269              loginclass
266270                     The login class, defaults to empty (BSD only)
266271
266272              User comment field (GECOS) support (currently  Linux,  BSD,  and
266273              MacOS only):
266274
266275              The below values should be specified as strings to avoid ambigu‐
266276              ities when the values are loaded. (Especially the phone and room
266277              number fields which are likely to contain numeric data)
266278
266279              fullname
266280                     The user's full name
266281
266282              roomnumber
266283                     The user's room number (not supported in MacOS)
266284
266285              workphone
266286                     The user's work phone number (not supported in MacOS)
266287
266288              homephone
266289                     The user's home phone number (not supported in MacOS)
266290
266291              other  The  user's  other  attribute (not supported in MacOS) If
266292                     GECOS field contains more than 4 commas, this field  will
266293                     have the rest of 'em
266294
266295              Changed in version 2014.7.0: Shadow attribute support added.
266296
266297
266298              Shadow attributes support (currently Linux only):
266299
266300              The below values should be specified as integers.
266301
266302              date   Date  of  last  change  of  password, represented in days
266303                     since epoch (January 1, 1970).
266304
266305              mindays
266306                     The minimum number of days between password changes.
266307
266308              maxdays
266309                     The maximum number of days between password changes.
266310
266311              inactdays
266312                     The number of days after a  password  expires  before  an
266313                     account is locked.
266314
266315              warndays
266316                     Number of days prior to maxdays to warn users.
266317
266318              expire Date  that  account  expires,  represented  in days since
266319                     epoch (January 1, 1970).
266320
266321              The below parameters apply to windows only:
266322
266323              win_homedrive (Windows Only)
266324                     The drive letter to use for the home  directory.  If  not
266325                     specified  the  home directory will be a unc path. Other‐
266326                     wise the home directory will be mapped to  the  specified
266327                     drive.  Must be a letter followed by a colon.  Because of
266328                     the colon, the value must be surrounded by single quotes.
266329                     ie: - win_homedrive: 'U:
266330
266331                     Changed in version 2015.8.0.
266332
266333
266334              win_profile (Windows Only)
266335                     The  custom  profile  directory of the user. Uses default
266336                     value of underlying system if not set.
266337
266338                     Changed in version 2015.8.0.
266339
266340
266341              win_logonscript (Windows Only)
266342                     The full path to the logon script to run  when  the  user
266343                     logs in.
266344
266345                     Changed in version 2015.8.0.
266346
266347
266348              win_description (Windows Only)
266349                     A brief description of the purpose of the users account.
266350
266351                     Changed in version 2015.8.0.
266352
266353
266354   salt.states.vagrant
266355   Manage Vagrant VMs
266356       Manange execution of Vagrant virtual machines on Salt minions.
266357
266358       Vagrant  is  a  tool for building and managing virtual machine environ‐
266359       ments.  It can use various providers, such as  VirtualBox,  Docker,  or
266360       VMware,  to run its VMs.  Vagrant provides some of the functionality of
266361       a light-weight hypervisor.  The combination of  Salt  modules,  Vagrant
266362       running  on  the  host,  and a virtual machine provider, gives hypervi‐
266363       sor-like functionality for developers who use Vagrant to quickly define
266364       their virtual environments.
266365          New in version 2018.3.0.
266366
266367
266368       The  configuration  of  each virtual machine is defined in a file named
266369       Vagrantfile which must exist on the VM  host  machine.   The  essential
266370       parameters  which  must be defined to start a Vagrant VM are the direc‐
266371       tory where the Vagrantfile is located (argument cwd:), and the username
266372       which  will  own  the  Vagrant  box  created  for  the  VM  (  argument
266373       vagrant_runas:).
266374
266375       A single Vagrantfile may define one or more virtual machines.  Use  the
266376       machine  argument  to  chose among them. The default (blank) value will
266377       select the primary (or only) machine in the Vagrantfile.
266378
266379       [NOTE:] Each virtual machine host must have the following:
266380
266381       · a working salt-minion
266382
266383       · a Salt sdb database configured for vagrant_sdb_data.
266384
266385       · Vagrant installed and the vagrant command working
266386
266387       · a suitable VM provider
266388
266389          # EXAMPLE:
266390          # file /etc/salt/minion.d/vagrant_sdb.conf on the host computer
266391          #  -- this sdb database is required by the Vagrant module --
266392          vagrant_sdb_data:  # The sdb database must have this name.
266393            driver: sqlite3  # Let's use SQLite to store the data ...
266394            database: /var/cache/salt/vagrant.sqlite  # ... in this file ...
266395            table: sdb  # ... using this table name.
266396            create_table: True  # if not present
266397
266398       salt.states.vagrant.destroyed(name)
266399              Stops a VM (or VMs) and removes all  references  to  it  (them).
266400              (Runs vagrant destroy.)
266401
266402              Subsequent re-use of the same machine will requere another oper‐
266403              ation of vagrant.running or a call to the vagrant.init execution
266404              module.
266405
266406              Parameters
266407                     name  --  May be a Salt_id node or a POSIX-style wildcard
266408                     string.
266409
266410                 node_name:
266411                   vagrant.destroyed
266412
266413       salt.states.vagrant.initialized(name, **kwargs)
266414              Defines a new VM with specified arguments, but  does  not  start
266415              it.
266416
266417              Parameters
266418                     name -- the Salt_id node name you wish your VM to have.
266419
266420              Each  machine  must be initialized individually using this func‐
266421              tion or the "vagrant.running" function, or the vagrant.init exe‐
266422              cution module call.
266423
266424              This  command  will  not change the state of a running or paused
266425              machine.
266426
266427              Possible keyword arguments:
266428
266429              · cwd: The directory (path) containing the Vagrantfile
266430
266431              · machine: ('') the name of the machine (in the Vagrantfile)  if
266432                not default
266433
266434              · vagrant_runas:  ('root')  the username who owns the vagrantbox
266435                file
266436
266437              · vagrant_provider: the provider to run the VM (usually  'virtu‐
266438                albox')
266439
266440              · vm:  ({}) a dictionary containing these or other keyword argu‐
266441                ments
266442
266443                 node_name1:
266444                   vagrant.initialized
266445                     - cwd: /projects/my_project
266446                     - vagrant_runas: my_username
266447                     - machine: machine1
266448
266449                 node_name2:
266450                   vagrant.initialized
266451                     - cwd: /projects/my_project
266452                     - vagrant_runas: my_username
266453                     - machine: machine2
266454
266455                 start_nodes:
266456                   vagrant.start:
266457                     - name: node_name?
266458
266459       salt.states.vagrant.paused(name)
266460              Stores the state of a  VM  (or  VMs)  for  fast  restart.  (Runs
266461              vagrant suspend.)
266462
266463              Parameters
266464                     name  --  May be a Salt_id node or a POSIX-style wildcard
266465                     string.
266466
266467                 node_name:
266468                   vagrant.paused
266469
266470       salt.states.vagrant.powered_off(name)
266471              Stops a VM (or VMs) by power off.  (Runs vagrant halt.)
266472
266473              This method is provided for compatibility with other  VM-control
266474              state  modules.  For  Vagrant,  the  action  is  identical  with
266475              stopped.
266476
266477              Parameters
266478                     name -- May be a Salt_id node or a  POSIX-style  wildcard
266479                     string.
266480
266481                 node_name:
266482                   vagrant.unpowered
266483
266484       salt.states.vagrant.rebooted(name)
266485              Reboots a running, paused, or stopped VM (or VMs). (Runs vagrant
266486              reload.)
266487
266488              The  will re-run the provisioning
266489
266490              Parameters
266491                     name -- May be a Salt_id node or a  POSIX-style  wildcard
266492                     string.
266493
266494                 node_name:
266495                   vagrant.reloaded
266496
266497       salt.states.vagrant.running(name, **kwargs)
266498              Defines and starts a new VM with specified arguments, or restart
266499              a VM (or group of VMs). (Runs vagrant up.)
266500
266501              Parameters
266502                     name -- the Salt_id node name you wish your VM to have.
266503
266504              If name contains a "?" or "*"  then it will re-start a group  of
266505              VMs which have been paused or stopped.
266506
266507              Each  machine  must be initially started individually using this
266508              function or the vagrant.init execution module call.
266509
266510              [NOTE:] Keyword arguments are silently ignored when  re-starting
266511              an existing VM.
266512
266513              Possible keyword arguments:
266514
266515              · cwd: The directory (path) containing the Vagrantfile
266516
266517              · machine:  ('') the name of the machine (in the Vagrantfile) if
266518                not default
266519
266520              · vagrant_runas: ('root') the username who owns  the  vagrantbox
266521                file
266522
266523              · vagrant_provider:  the provider to run the VM (usually 'virtu‐
266524                albox')
266525
266526              · vm: ({}) a dictionary containing these or other keyword  argu‐
266527                ments
266528
266529                 node_name:
266530                   vagrant.running
266531
266532                 node_name:
266533                   vagrant.running:
266534                     - cwd: /projects/my_project
266535                     - vagrant_runas: my_username
266536                     - machine: machine1
266537
266538       salt.states.vagrant.stopped(name)
266539              Stops  a  VM  (or  VMs) by shutting it (them) down nicely. (Runs
266540              vagrant halt)
266541
266542              Parameters
266543                     name -- May be a Salt_id node, or a POSIX-style  wildcard
266544                     string.
266545
266546                 node_name:
266547                   vagrant.stopped
266548
266549   salt.states.vault module
266550       States  for managing Hashicorp Vault.  Currently handles policies. Con‐
266551       figuration instructions are documented in the execution module docs.
266552
266553       maintainer
266554              SaltStack
266555
266556       maturity
266557              new
266558
266559       platform
266560              all
266561
266562       New in version 2017.7.0.
266563
266564
266565       salt.states.vault.policy_present(name, rules)
266566              Ensure a Vault policy with the given name and rules is present.
266567
266568              name   The name of the policy
266569
266570              rules  Rules formatted as in-line HCL
266571
266572                 demo-policy:
266573                   vault.policy_present:
266574                     - name: foo/bar
266575                     - rules: |
266576                         path "secret/top-secret/*" {
266577                           policy = "deny"
266578                         }
266579                         path "secret/not-very-secret/*" {
266580                           policy = "write"
266581                         }
266582
266583   salt.states.vbox_guest
266584       VirtualBox Guest Additions installer state
266585
266586       salt.states.vbox_guest.additions_installed(name,          reboot=False,
266587       upgrade_os=False)
266588              Ensure  that  the VirtualBox Guest Additions are installed. Uses
266589              the CD, connected by VirtualBox.
266590
266591              name   The name has no functional value and is only  used  as  a
266592                     tracking reference.
266593
266594              reboot False Restart OS to complete installation.
266595
266596              upgrade_os
266597                     False Upgrade OS (to ensure the latests version of kernel
266598                     and developer tools installed).
266599
266600       salt.states.vbox_guest.additions_removed(name, force=False)
266601              Ensure that the VirtualBox Guest Additions are removed. Uses the
266602              CD, connected by VirtualBox.
266603
266604              To  connect  VirtualBox Guest Additions via VirtualBox graphical
266605              interface press 'Host+D' ('Host' is usually 'Right Ctrl').
266606
266607              name   The name has no functional value and is only  used  as  a
266608                     tracking reference.
266609
266610              force  Force VirtualBox Guest Additions removing.
266611
266612       salt.states.vbox_guest.grant_access_to_shared_folders_to(name,
266613       users=None)
266614              Grant access to auto-mounted shared folders to the users.
266615
266616              User is specified by it's name.  To  grant  access  for  several
266617              users use argument users.
266618
266619              name   Name  of  the user to grant access to auto-mounted shared
266620                     folders to.
266621
266622              users  List of names of users to grant  access  to  auto-mounted
266623                     shared  folders to.  If specified, name will not be taken
266624                     into account.
266625
266626   salt.states.victorops
266627   Create an Event in VictorOps
266628       New in version 2015.8.0.
266629
266630
266631       This state is useful for creating events on the VictorOps service  dur‐
266632       ing state runs.
266633
266634          webserver-warning-message:
266635            victorops.create_event:
266636              - message_type: 'CRITICAL'
266637              - entity_id: 'webserver/diskspace'
266638              - state_message: 'Webserver diskspace is low.'
266639
266640       salt.states.victorops.create_event(name,       message_type,      rout‐
266641       ing_key=u'everyone', **kwargs)
266642              Create an event on the VictorOps service
266643
266644                 webserver-warning-message:
266645                   victorops.create_event:
266646                     - message_type: 'CRITICAL'
266647                     - entity_id: 'webserver/diskspace'
266648                     - state_message: 'Webserver diskspace is low.'
266649
266650                 database-server-warning-message:
266651                   victorops.create_event:
266652                     - message_type: 'WARNING'
266653                     - entity_id: 'db_server/load'
266654                     - state_message: 'Database Server load is high.'
266655                     - entity_is_host: True
266656                     - entity_display_name: 'dbdserver.example.com'
266657
266658              The following parameters are required:
266659
266660              name   This is a short description of the event.
266661
266662              message_type
266663                     One of the following values: INFO, WARNING,  ACKNOWLEDGE‐
266664                     MENT, CRITICAL, RECOVERY.
266665
266666              The following parameters are optional:
266667
266668                 routing_key
266669                        The  key  for  where  messages  should  be  routed. By
266670                        default, sent to 'everyone' route.
266671
266672                 entity_id
266673                        The name of alerting entity. If not provided, a random
266674                        name will be assigned.
266675
266676                 timestamp
266677                        Timestamp   of  the  alert  in  seconds  since  epoch.
266678                        Defaults to the time the alert  is  received  at  Vic‐
266679                        torOps.
266680
266681                 timestamp_fmt
266682                        The date format for the timestamp parameter.  Defaults
266683                        to ''%Y-%m-%dT%H:%M:%S'.
266684
266685                 state_start_time
266686                        The time this entity entered its current  state  (sec‐
266687                        onds  since  epoch).  Defaults  to  the  time alert is
266688                        received.
266689
266690                 state_start_time_fmt
266691                        The date format for the timestamp parameter.  Defaults
266692                        to '%Y-%m-%dT%H:%M:%S'.
266693
266694                 state_message
266695                        Any additional status information from the alert item.
266696
266697                 entity_is_host
266698                        Used  within  VictorOps to select the appropriate dis‐
266699                        play format for the incident.
266700
266701                 entity_display_name
266702                        Used within VictorOps to display a human-readable name
266703                        for the entity.
266704
266705                 ack_message
266706                        A user entered comment for the acknowledgment.
266707
266708                 ack_author
266709                        The user that acknowledged the incident.
266710
266711   salt.states.virt module
266712   Manage virt
266713       For the key certificate this state uses the external pillar in the mas‐
266714       ter to call for the generation and signing of certificates for  systems
266715       running libvirt:
266716
266717          libvirt_keys:
266718            virt.keys
266719
266720       salt.states.virt.keys(name, basepath=u'/etc/pki', **kwargs)
266721              Manage libvirt keys.
266722
266723              name   The name variable used to track the execution
266724
266725              basepath
266726                     Defaults  to /etc/pki, this is the root location used for
266727                     libvirt keys on the hypervisor
266728
266729              The following parameters are optional:
266730
266731                 country
266732                        The country that the certificate should use.  Defaults
266733                        to US.
266734
266735                 New in version 2018.3.0.
266736
266737
266738                 state  The  state  that the certificate should use.  Defaults
266739                        to Utah.
266740
266741                 New in version 2018.3.0.
266742
266743
266744                 locality
266745                        The  locality  that  the   certificate   should   use.
266746                        Defaults to Salt Lake City.
266747
266748                 New in version 2018.3.0.
266749
266750
266751                 organization
266752                        The  organization  that  the  certificate  should use.
266753                        Defaults to Salted.
266754
266755                 New in version 2018.3.0.
266756
266757
266758                 expiration_days
266759                        The number of days  that  the  certificate  should  be
266760                        valid for.  Defaults to 365 days (1 year)
266761
266762                 New in version 2018.3.0.
266763
266764
266765       salt.states.virt.network_running(name,   bridge,  forward,  vport=None,
266766       tag=None, ipv4_config=None, ipv6_config=None,  autostart=True,  connec‐
266767       tion=None, username=None, password=None)
266768              Defines and starts a new network with specified arguments.
266769
266770              Parameters
266771
266772                     · bridge -- Bridge name
266773
266774                     · forward -- Forward mode(bridge, router, nat)
266775
266776                     · vport -- Virtualport type (Default: 'None')
266777
266778                     · tag -- Vlan tag (Default: 'None')
266779
266780                     · ipv4_config --
266781
266782                       IPv4  network configuration. See the :py:func`virt.net‐
266783                       work_define  <salt.modules.virt.network_define>`  func‐
266784                       tion  corresponding  parameter  documentation  for more
266785                       details on this dictionary.  (Default: None).
266786
266787                       New in version 3000.
266788
266789
266790
266791                     · ipv6_config --
266792
266793                       IPv6 network configuration. See the  :py:func`virt.net‐
266794                       work_define  <salt.modules.virt.network_define>`  func‐
266795                       tion corresponding  parameter  documentation  for  more
266796                       details on this dictionary.  (Default: None).
266797
266798                       New in version 3000.
266799
266800
266801
266802                     · autostart -- Network autostart (default 'True')
266803
266804                     · connection --
266805
266806                       libvirt connection URI, overriding defaults
266807
266808                       New in version 2019.2.0.
266809
266810
266811
266812                     · username --
266813
266814                       username to connect with, overriding defaults
266815
266816                       New in version 2019.2.0.
266817
266818
266819
266820                     · password --
266821
266822                       password to connect with, overriding defaults
266823
266824                       New in version 2019.2.0.
266825
266826
266827
266828                 domain_name:
266829                   virt.network_define
266830
266831                 network_name:
266832                   virt.network_define:
266833                     - bridge: main
266834                     - forward: bridge
266835                     - vport: openvswitch
266836                     - tag: 180
266837                     - autostart: True
266838
266839                 network_name:
266840                   virt.network_define:
266841                     - bridge: natted
266842                     - forward: nat
266843                     - ipv4_config:
266844                         cidr: 192.168.42.0/24
266845                         dhcp_ranges:
266846                           - start: 192.168.42.10
266847                             end: 192.168.42.25
266848                           - start: 192.168.42.100
266849                             end: 192.168.42.150
266850                     - autostart: True
266851
266852       salt.states.virt.pool_deleted(name, purge=False, connection=None, user‐
266853       name=None, password=None)
266854              Deletes a virtual storage pool.
266855
266856              Parameters
266857
266858                     · name -- the name of the pool to delete.
266859
266860                     · purge -- if True, the volumes  contained  in  the  pool
266861                       will  be deleted as well as the pool itself.  Note that
266862                       these will be lost for ever. If  False  the  pool  will
266863                       simply be undefined.  (Default: False)
266864
266865                     · connection   --   libvirt  connection  URI,  overriding
266866                       defaults
266867
266868                     · username  --  username  to  connect  with,   overriding
266869                       defaults
266870
266871                     · password   --  password  to  connect  with,  overriding
266872                       defaults
266873
266874              In order to be purged a storage pool needs to be running to  get
266875              the list of volumes to delete.
266876
266877              Some  libvirt  storage drivers may not implement deleting, those
266878              actions are implemented on a best effort idea. In any case check
266879              the  result's  comment  property to see if any of the action was
266880              unsupported.
266881
266882              New in version 3000.
266883
266884
266885       salt.states.virt.pool_running(name,  ptype=None,  target=None,  permis‐
266886       sions=None,   source=None,   transient=False,  autostart=True,  connec‐
266887       tion=None, username=None, password=None)
266888              Defines and starts a new pool with specified arguments.
266889
266890              New in version 2019.2.0.
266891
266892
266893              Parameters
266894
266895                     · ptype -- libvirt pool type
266896
266897                     · target -- full path to the  target  device  or  folder.
266898                       (Default: None)
266899
266900                     · permissions -- target permissions. See pool-define-per‐
266901                       missions for more details on this structure.
266902
266903                     · source  --  dictionary  containing  keys  matching  the
266904                       source_*     parameters     in    function    salt.mod‐
266905                       ules.virt.pool_define().
266906
266907                     · transient -- when set to True, the pool will  be  auto‐
266908                       matically  undefined  after  being  stopped.  (Default:
266909                       False)
266910
266911                     · autostart -- Whether to start the pool when booting the
266912                       host. (Default: True)
266913
266914                     · start  --  When True, define and start the pool, other‐
266915                       wise the pool will be left stopped.
266916
266917                     · connection  --  libvirt  connection   URI,   overriding
266918                       defaults
266919
266920                     · username   --  username  to  connect  with,  overriding
266921                       defaults
266922
266923                     · password  --  password  to  connect  with,   overriding
266924                       defaults
266925
266926                 pool_name:
266927                   virt.pool_define
266928
266929                 pool_name:
266930                   virt.pool_define:
266931                     - ptype: netfs
266932                     - target: /mnt/cifs
266933                     - permissions:
266934                         - mode: 0770
266935                         - owner: 1000
266936                         - group: 100
266937                     - source:
266938                         dir: samba_share
266939                         hosts:
266940                           - one.example.com
266941                           - two.example.com
266942                         format: cifs
266943                     - autostart: True
266944
266945       salt.states.virt.powered_off(name,    connection=None,   username=None,
266946       password=None)
266947              Stops a VM by power off.
266948
266949              New in version 2016.3.0.
266950
266951
266952              Parameters
266953
266954                     · connection --
266955
266956                       libvirt connection URI, overriding defaults
266957
266958                       New in version 2019.2.0.
266959
266960
266961
266962                     · username --
266963
266964                       username to connect with, overriding defaults
266965
266966                       New in version 2019.2.0.
266967
266968
266969
266970                     · password --
266971
266972                       password to connect with, overriding defaults
266973
266974                       New in version 2019.2.0.
266975
266976
266977
266978                 domain_name:
266979                   virt.stopped
266980
266981       salt.states.virt.rebooted(name, connection=None,  username=None,  pass‐
266982       word=None)
266983              Reboots VMs
266984
266985              New in version 2016.3.0.
266986
266987
266988              Parameters
266989
266990                     · name --
266991
266992                     · connection --
266993
266994                       libvirt connection URI, overriding defaults
266995
266996                       New in version 2019.2.0.
266997
266998
266999
267000                     · username --
267001
267002                       username to connect with, overriding defaults
267003
267004                       New in version 2019.2.0.
267005
267006
267007
267008                     · password --
267009
267010                       password to connect with, overriding defaults
267011
267012                       New in version 2019.2.0.
267013
267014
267015
267016       salt.states.virt.reverted(name, snapshot=None, cleanup=False)
267017              Deprecated since version 2016.3.0.
267018
267019
267020              Reverts to the particular snapshot.
267021
267022              New in version 2016.3.0.
267023
267024
267025                 domain_name:
267026                   virt.reverted:
267027                     - cleanup: True
267028
267029                 domain_name_1:
267030                   virt.reverted:
267031                     - snapshot: snapshot_name
267032                     - cleanup: False
267033
267034       salt.states.virt.running(name,    cpu=None,    mem=None,    image=None,
267035       vm_type=None, disk_profile=None, disks=None,  nic_profile=None,  inter‐
267036       faces=None,   graphics=None,   seed=True,  install=True,  pub_key=None,
267037       priv_key=None,  update=False,  connection=None,  username=None,   pass‐
267038       word=None, os_type=None, arch=None, boot=None)
267039              Starts  an  existing  guest, or defines and starts a new VM with
267040              specified arguments.
267041
267042              New in version 2016.3.0.
267043
267044
267045              Parameters
267046
267047                     · name -- name of the virtual machine to run
267048
267049                     · cpu -- number of CPUs for the virtual machine to create
267050
267051                     · mem -- amount of memory in  MiB  for  the  new  virtual
267052                       machine
267053
267054                     · image --
267055
267056                       disk image to use for the first disk of the new VM
267057
267058                       Deprecated since version 2019.2.0.
267059
267060
267061
267062                     · vm_type --
267063
267064                       force  virtual machine type for the new VM. The default
267065                       value is taken from the host capabilities.  This  could
267066                       be useful for example to use 'qemu' type instead of the
267067                       'kvm' one.
267068
267069                       New in version 2019.2.0.
267070
267071
267072
267073                     · disk_profile --
267074
267075                       Name of the disk profile to use  for  the  new  virtual
267076                       machine
267077
267078                       New in version 2019.2.0.
267079
267080
267081
267082                     · disks --
267083
267084                       List  of  disk  to  create for the new virtual machine.
267085                       See init-disk-def for more details on the items on this
267086                       list.
267087
267088                       New in version 2019.2.0.
267089
267090
267091
267092                     · nic_profile --
267093
267094                       Name  of  the network interfaces profile to use for the
267095                       new virtual machine
267096
267097                       New in version 2019.2.0.
267098
267099
267100
267101                     · interfaces --
267102
267103                       List of network interfaces to create for the  new  vir‐
267104                       tual machine.  See init-nic-def for more details on the
267105                       items on this list.
267106
267107                       New in version 2019.2.0.
267108
267109
267110
267111                     · graphics --
267112
267113                       Graphics device to create for the new virtual  machine.
267114                       See  init-graphics-def for more details on this dictio‐
267115                       nary
267116
267117                       New in version 2019.2.0.
267118
267119
267120
267121                     · saltenv --
267122
267123                       Fileserver environment (Default: 'base').  See cp  mod‐
267124                       ule for more details
267125
267126                       New in version 2019.2.0.
267127
267128
267129
267130                     · seed -- .INDENT 2.0
267131
267132                     True  to  seed  the  disk image. Only used when the image
267133                     parameter is provided.
267134                       (Default: True)
267135
267136                     New in version 2019.2.0.
267137
267138
267139
267140              · install --
267141
267142                install salt minion if absent (Default: True)
267143
267144                New in version 2019.2.0.
267145
267146
267147
267148              · pub_key --
267149
267150                public key to seed with (Default: None)
267151
267152                New in version 2019.2.0.
267153
267154
267155
267156              · priv_key --
267157
267158                public key to seed with (Default: None)
267159
267160                New in version 2019.2.0.
267161
267162
267163
267164              · seed_cmd --
267165
267166                Salt  command  to  execute  to  seed  the   image.   (Default:
267167                'seed.apply')
267168
267169                New in version 2019.2.0.
267170
267171
267172
267173              · update --
267174
267175                set to True to update a defined module. (Default: False)
267176
267177                New in version 2019.2.0.
267178
267179
267180
267181              · connection --
267182
267183                libvirt connection URI, overriding defaults
267184
267185                New in version 2019.2.0.
267186
267187
267188
267189              · username --
267190
267191                username to connect with, overriding defaults
267192
267193                New in version 2019.2.0.
267194
267195
267196
267197              · password --
267198
267199                password to connect with, overriding defaults
267200
267201                New in version 2019.2.0.
267202
267203
267204
267205              · os_type --
267206
267207                type  of  virtualization  as found in the //os/type element of
267208                the libvirt definition.  The default value is taken  from  the
267209                host  capabilities, with a preference for hvm.  Only used when
267210                creating a new virtual machine.
267211
267212                New in version 3000.
267213
267214
267215
267216              · arch --
267217
267218                architecture of the virtual  machine.  The  default  value  is
267219                taken  from  the  host capabilities, but x86_64 is prefed over
267220                i686. Only used when creating a new virtual machine.
267221
267222                New in version 3000.
267223
267224
267225
267226              · boot --
267227
267228                Specifies kernel for the virtual  machine,  as  well  as  boot
267229                parameters for the virtual machine. This is an optionl parame‐
267230                ter, and all of the keys are optional within  the  dictionary.
267231                If  a  remote  path is provided to kernel or initrd, salt will
267232                handle the downloading of the specified remote fild, and  will
267233                modify the XML accordingly.
267234
267235                   {
267236                       'kernel': '/root/f8-i386-vmlinuz',
267237                       'initrd': '/root/f8-i386-initrd',
267238                       'cmdline': 'console=ttyS0 ks=http://example.com/f8-i386/os/'
267239                   }
267240
267241                New in version 3000.
267242
267243
267244       Example States
267245
267246       Make sure an already-defined virtual machine called domain_name is run‐
267247       ning:
267248
267249                 domain_name:
267250                   virt.running
267251
267252              Do the same, but define the virtual machine if needed:
267253
267254                 domain_name:
267255                   virt.running:
267256                     - cpu: 2
267257                     - mem: 2048
267258                     - disk_profile: prod
267259                     - disks:
267260                       - name: system
267261                         size: 8192
267262                         overlay_image: True
267263                         pool: default
267264                         image: /path/to/image.qcow2
267265                       - name: data
267266                         size: 16834
267267                     - nic_profile: prod
267268                     - interfaces:
267269                       - name: eth0
267270                         mac: 01:23:45:67:89:AB
267271                       - name: eth1
267272                         type: network
267273                         source: admin
267274                     - graphics:
267275                         type: spice
267276                         listen:
267277                             type: address
267278                             address: 192.168.0.125
267279
267280       salt.states.virt.saved(name, suffix=None)
267281              Deprecated since version 2016.3.0: Use snapshot() instead.
267282
267283
267284              Takes a snapshot of a particular VM or by a UNIX-style wildcard.
267285
267286              New in version 2016.3.0.
267287
267288
267289                 domain_name:
267290                   virt.saved:
267291                     - suffix: periodic
267292
267293                 domain*:
267294                   virt.saved:
267295                     - suffix: periodic
267296
267297       salt.states.virt.snapshot(name,  suffix=None,  connection=None,   user‐
267298       name=None, password=None)
267299              Takes a snapshot of a particular VM or by a UNIX-style wildcard.
267300
267301              New in version 2016.3.0.
267302
267303
267304              Parameters
267305
267306                     · connection --
267307
267308                       libvirt connection URI, overriding defaults
267309
267310                       New in version 2019.2.0.
267311
267312
267313
267314                     · username --
267315
267316                       username to connect with, overriding defaults
267317
267318                       New in version 2019.2.0.
267319
267320
267321
267322                     · password --
267323
267324                       password to connect with, overriding defaults
267325
267326                       New in version 2019.2.0.
267327
267328
267329
267330                 domain_name:
267331                   virt.snapshot:
267332                     - suffix: periodic
267333
267334                 domain*:
267335                   virt.snapshot:
267336                     - suffix: periodic
267337
267338       salt.states.virt.stopped(name,  connection=None,  username=None,  pass‐
267339       word=None)
267340              Stops a VM by shutting it down nicely.
267341
267342              New in version 2016.3.0.
267343
267344
267345              Parameters
267346
267347                     · connection --
267348
267349                       libvirt connection URI, overriding defaults
267350
267351                       New in version 2019.2.0.
267352
267353
267354
267355                     · username --
267356
267357                       username to connect with, overriding defaults
267358
267359                       New in version 2019.2.0.
267360
267361
267362
267363                     · password --
267364
267365                       password to connect with, overriding defaults
267366
267367                       New in version 2019.2.0.
267368
267369
267370
267371                 domain_name:
267372                   virt.stopped
267373
267374       salt.states.virt.unpowered(name)
267375              Deprecated since version 2016.3.0: Use powered_off() instead.
267376
267377
267378              Stops a VM by power off.
267379
267380              New in version 2016.3.0.
267381
267382
267383                 domain_name:
267384                   virt.stopped
267385
267386   salt.states.virtualenv
267387       Setup of Python virtualenv sandboxes.
267388
267389       New in version 0.17.0.
267390
267391
267392       salt.states.virtualenv_mod.managed(name,    venv_bin=None,     require‐
267393       ments=None,        system_site_packages=False,        distribute=False,
267394       use_wheel=False,   clear=False,   python=None,   extra_search_dir=None,
267395       never_download=None,  prompt=None, user=None, cwd=None, index_url=None,
267396       extra_index_url=None,  pre_releases=False,   no_deps=False,   pip_down‐
267397       load=None,       pip_download_cache=None,       pip_exists_action=None,
267398       pip_ignore_installed=False,  proxy=None,  use_vt=False,  env_vars=None,
267399       no_use_wheel=False,          pip_upgrade=False,          pip_pkgs=None,
267400       pip_no_cache_dir=False,       pip_cache_dir=None,        process_depen‐
267401       dency_links=False, no_binary=None, **kwargs)
267402              Create a virtualenv and optionally manage it with pip
267403
267404              name   Path to the virtualenv.
267405
267406              venv_bin: virtualenv
267407                     The name (and optionally path) of the virtualenv command.
267408                     This can also be set globally in the minion  config  file
267409                     as virtualenv.venv_bin.
267410
267411              requirements: None
267412                     Path  to a pip requirements file. If the path begins with
267413                     salt:// the file will be transferred from the master file
267414                     server.
267415
267416              use_wheel: False
267417                     Prefer wheel archives (requires pip >= 1.4).
267418
267419              python None Python executable used to build the virtualenv
267420
267421              user: None
267422                     The user under which to run virtualenv and pip.
267423
267424              cwd: None
267425                     Path  to  the working directory where pip install is exe‐
267426                     cuted.
267427
267428              no_deps: False
267429                     Pass --no-deps to pip install.
267430
267431              pip_exists_action: None
267432                     Default  action  of  pip  when  a  path  already  exists:
267433                     (s)witch, (i)gnore, (w)ipe, (b)ackup.
267434
267435              proxy: None
267436                     Proxy address which is passed to pip install.
267437
267438              env_vars: None
267439                     Set  environment  variables  that some builds will depend
267440                     on. For example, a Python C-module may  have  a  Makefile
267441                     that  needs  INCLUDE_PATH  set  to  pick up a header file
267442                     while compiling.
267443
267444              no_use_wheel: False
267445                     Force to not use wheel archives (requires pip>=1.4)
267446
267447              no_binary
267448                     Force to not use binary packages (requires pip >=  7.0.0)
267449                     Accepts  either  :all:  to  disable  all binary packages,
267450                     :none: to empty the set, or a list of one or  more  pack‐
267451                     ages
267452
267453              pip_upgrade: False
267454                     Pass --upgrade to pip install.
267455
267456              pip_pkgs: None
267457                     As  an  alternative  to  requirements, pass a list of pip
267458                     packages that should be installed.
267459
267460              process_dependency_links: False
267461                     Run pip install with the --process_dependency_links flag.
267462
267463                     New in version 2017.7.0.
267464
267465
267466              Also accepts any kwargs that the virtualenv  module  will.  How‐
267467              ever, some kwargs, such as the pip option, require - distribute:
267468              True.
267469
267470                 /var/www/myvirtualenv.com:
267471                   virtualenv.managed:
267472                     - system_site_packages: False
267473                     - requirements: salt://REQUIREMENTS.txt
267474                     - env_vars:
267475                         PATH_VAR: '/usr/local/bin/'
267476
267477   salt.states.webutil
267478       Support for htpasswd module. Requires  the  apache2-utils  package  for
267479       Debian-based distros.
267480
267481       New in version 2014.7.0.
267482
267483
267484          username:
267485            webutil.user_exists:
267486              - password: secr3t
267487              - htpasswd_file: /etc/nginx/htpasswd
267488              - options: d
267489              - force: true
267490
267491       salt.states.webutil.user_absent(name, htpasswd_file=None, runas=None)
267492              Make sure the user is not in the specified htpasswd file
267493
267494              name   User name
267495
267496              htpasswd_file
267497                     Path to the htpasswd file
267498
267499              runas  The system user to run htpasswd command with
267500
267501       salt.states.webutil.user_exists(name,                    password=None,
267502       htpasswd_file=None, options=u'', force=False, runas=None, update=False)
267503              Make sure the user is inside the specified htpasswd file
267504
267505              name   User name
267506
267507              password
267508                     User password
267509
267510              htpasswd_file
267511                     Path to the htpasswd file
267512
267513              options
267514                     See salt.modules.htpasswd.useradd
267515
267516              force  Touch the file even if user already created
267517
267518              runas  The system user to run htpasswd command with
267519
267520              update Update an existing user's password if it's different from
267521                     what's  in the htpasswd file (unlike force, which updates
267522                     regardless)
267523
267524   salt.states.win_certutil module
267525   Installing of certificates to the Windows Certificate Manager
267526       Install certificates to the Windows Certificate Manager
267527
267528          salt://certs/cert.cer:
267529            certutil.add_store:
267530              - store: TrustedPublisher
267531
267532       salt.states.win_certutil.add_store(name, store, saltenv=u'base')
267533              Store a certificate to the given store
267534
267535              name   The certificate to store, this can  use  local  paths  or
267536                     salt:// paths
267537
267538              store  The store to add the certificate to
267539
267540              saltenv
267541                     The  salt  environment to use, this is ignored if a local
267542                     path is specified
267543
267544       salt.states.win_certutil.del_store(name, store, saltenv=u'base')
267545              Remove a certificate in the given store
267546
267547              name   The certificate to remove, this can use  local  paths  or
267548                     salt:// paths
267549
267550              store  The store to remove the certificate from
267551
267552              saltenv
267553                     The  salt  environment to use, this is ignored if a local
267554                     path is specified
267555
267556   salt.states.win_dacl
267557       Windows Object Access Control Lists
267558
267559       Ensure an ACL is present
267560
267561              parameters:
267562                     name  -  the  path  of  the  object  objectType  -   Reg‐
267563                     istry/File/Directory  user  - user account or SID for the
267564                     ace permission -  permission  for  the  ace  (see  module
267565                     win_acl  for  available  permissions for each objectType)
267566                     acetype -  Allow/Deny propagation - how  the  ACL  should
267567                     apply  to child objects (see module win_acl for available
267568                     propagation types)
267569
267570                 addAcl:
267571                   win_dacl.present:
267572                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
267573                     - objectType: Registry
267574                     - user: FakeUser
267575                     - permission: FullControl
267576                     - acetype: ALLOW
267577                     - propagation: KEY&SUBKEYS
267578
267579       Ensure an ACL does not exist
267580
267581              parameters:
267582                     name  -  the  path  of  the  object  objectType  -   Reg‐
267583                     istry/File/Directory  user  - user account or SID for the
267584                     ace permission -  permission  for  the  ace  (see  module
267585                     win_acl  for  available  permissions for each objectType)
267586                     acetype -  Allow/Deny propagation - how  the  ACL  should
267587                     apply  to child objects (see module win_acl for available
267588                     propagation types)
267589
267590                 removeAcl:
267591                   win_dacl.absent:
267592                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
267593                     - objectType: Registry
267594                     - user: FakeUser
267595                     - permission: FulLControl
267596                     - acetype: ALLOW
267597                     - propagation: KEY&SUBKEYS
267598
267599       Ensure an object is inheriting permissions
267600
267601              parameters:
267602                     name  -  the  path  of  the  object  objectType  -   Reg‐
267603                     istry/File/Directory  clear_existing_acl  -  True/False -
267604                     when inheritance is enabled, should the existing  ACL  be
267605                     kept or cleared out
267606
267607                 eInherit:
267608                   win_dacl.enableinheritance:
267609                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
267610                     - objectType: Registry
267611                     - clear_existing_acl: True
267612
267613       Ensure an object is not inheriting permissions
267614
267615              parameters:
267616                     name   -  the  path  of  the  object  objectType  -  Reg‐
267617                     istry/File/Directory copy_inherited_acl - True/False - if
267618                     inheritance  is enabled, should the inherited permissions
267619                     be copied to the ACL when inheritance is disabled
267620
267621                 dInherit:
267622                   win_dacl.disableinheritance:
267623                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
267624                     - objectType: Registry
267625                     - copy_inherited_acl: False
267626
267627       salt.states.win_dacl.absent(name, objectType,  user,  permission,  ace‐
267628       type, propagation)
267629              Ensure an ACL does not exist
267630
267631       salt.states.win_dacl.disinherit(name,      objectType,      copy_inher‐
267632       ited_acl=True)
267633              Ensure an object is not inheriting ACLs from its parent
267634
267635       salt.states.win_dacl.inherit(name,       objectType,       clear_exist‐
267636       ing_acl=False)
267637              Ensure an object is inheriting ACLs from its parent
267638
267639       salt.states.win_dacl.present(name,  objectType,  user, permission, ace‐
267640       type, propagation)
267641              Ensure an ACE is present
267642
267643   salt.states.win_dism module
267644   Installing of Windows features using DISM
267645       Install windows features/capabilties with DISM
267646
267647          Language.Basic~~~en-US~0.0.1.0:
267648            dism.capability_installed
267649
267650          NetFx3:
267651            dism.feature_installed
267652
267653       salt.states.win_dism.capability_installed(name,            source=None,
267654       limit_access=False, image=None, restart=False)
267655              Install a DISM capability
267656
267657              Parameters
267658
267659                     · name (str) -- The capability to install
267660
267661                     · source (str) -- The optional source of the capability
267662
267663                     · limit_access  (bool)  --  Prevent  DISM from contacting
267664                       Windows Update for online images
267665
267666                     · image (Optional[str]) -- The path to the root directory
267667                       of  an  offline  Windows  image. If None is passed, the
267668                       running operating system is targeted. Default is None.
267669
267670                     · restart  (Optional[bool])  --  Reboot  the  machine  if
267671                       required by the install
267672              Example
267673
267674              Run dism.available_capabilities to get a list of available capa‐
267675              bilities. This will help you get the proper name to use.
267676
267677                 install_dotnet35:
267678                   dism.capability_installed:
267679                     - name: NetFX3~~~~
267680
267681       salt.states.win_dism.capability_removed(name,               image=None,
267682       restart=False)
267683              Uninstall a DISM capability
267684
267685              Parameters
267686
267687                     · name (str) -- The capability to uninstall
267688
267689                     · image (Optional[str]) -- The path to the root directory
267690                       of an offline Windows image. If  None  is  passed,  the
267691                       running operating system is targeted. Default is None.
267692
267693                     · restart  (Optional[bool])  --  Reboot  the  machine  if
267694                       required by the install
267695              Example
267696
267697              Run dism.installed_capabilities to get a list of installed capa‐
267698              bilities. This will help you get the proper name to use.
267699
267700                 remove_dotnet35:
267701                   dism.capability_removed:
267702                     - name: NetFX3~~~~
267703
267704       salt.states.win_dism.feature_installed(name, package=None, source=None,
267705       limit_access=False, enable_parent=False, image=None, restart=False)
267706              Install a DISM feature
267707
267708              Parameters
267709
267710                     · name (str) -- The feature in which to install
267711
267712                     · package (Optional[str]) -- The parent package  for  the
267713                       feature.  You  do not have to specify the package if it
267714                       is the  Windows  Foundation  Package.   Otherwise,  use
267715                       package to specify the parent package of the feature
267716
267717                     · source (str) -- The optional source of the feature
267718
267719                     · limit_access  (bool)  --  Prevent  DISM from contacting
267720                       Windows Update for online images
267721
267722                     · enable_parent (Optional[bool]) -- True will enable  all
267723                       parent features of the specified feature
267724
267725                     · image (Optional[str]) -- The path to the root directory
267726                       of an offline Windows image. If  None  is  passed,  the
267727                       running operating system is targeted. Default is None.
267728
267729                     · restart  (Optional[bool])  --  Reboot  the  machine  if
267730                       required by the install
267731              Example
267732
267733              Run dism.available_features to get a list of available features.
267734              This will help you get the proper name to use.
267735
267736                 install_telnet_client:
267737                   dism.feature_installed:
267738                     - name: TelnetClient
267739
267740       salt.states.win_dism.feature_removed(name,        remove_payload=False,
267741       image=None, restart=False)
267742              Disables a feature.
267743
267744              Parameters
267745
267746                     · name (str) -- The feature to disable
267747
267748                     · remove_payload (Optional[bool]) -- Remove the feature's
267749                       payload.  Must  supply  source  when  enabling  in  the
267750                       future.
267751
267752                     · image (Optional[str]) -- The path to the root directory
267753                       of  an  offline  Windows  image. If None is passed, the
267754                       running operating system is targeted. Default is None.
267755
267756                     · restart  (Optional[bool])  --  Reboot  the  machine  if
267757                       required by the install
267758              Example
267759
267760              Run dism.installed_features to get a list of installed features.
267761              This will help you get the proper name to use.
267762
267763                 remove_telnet_client:
267764                   dism.feature_removed:
267765                     - name: TelnetClient
267766                     - remove_payload: True
267767
267768       salt.states.win_dism.package_installed(name,  ignore_check=False,  pre‐
267769       vent_pending=False, image=None, restart=False)
267770              Install a package.
267771
267772              Parameters
267773
267774                     · name  (str)  --  The  package to install. Can be a .cab
267775                       file, a .msu file, or a folder
267776
267777                     · ignore_check (Optional[bool]) -- Skip  installation  of
267778                       the package if the applicability checks fail
267779
267780                     · prevent_pending  (Optional[bool]) -- Skip the installa‐
267781                       tion of the package if there are pending online actions
267782
267783                     · image (Optional[str]) -- The path to the root directory
267784                       of  an  offline  Windows  image. If None is passed, the
267785                       running operating system is targeted. Default is None.
267786
267787                     · restart  (Optional[bool])  --  Reboot  the  machine  if
267788                       required by the install
267789              Example.INDENT 7.0
267790
267791          install_KB123123123:
267792            dism.package_installed:
267793              - name: C:\Packages\KB123123123.cab
267794
267795       salt.states.win_dism.package_removed(name, image=None, restart=False)
267796              Uninstall a package
267797
267798              Parameters
267799
267800                     · name  (str)  --  The  full  path to the package. Can be
267801                       either a .cab file or a folder.  Should  point  to  the
267802                       original  source  of the package, not to where the file
267803                       is installed. This can also be the name of a package as
267804                       listed in dism.installed_packages
267805
267806                     · image (Optional[str]) -- The path to the root directory
267807                       of an offline Windows image. If  None  is  passed,  the
267808                       running operating system is targeted. Default is None.
267809
267810                     · restart  (Optional[bool])  --  Reboot  the  machine  if
267811                       required by the install
267812              Example.INDENT 7.0
267813
267814          # Example using source
267815          remove_KB1231231:
267816            dism.package_installed:
267817              - name: C:\Packages\KB1231231.cab
267818
267819          # Example using name from ``dism.installed_packages``
267820          remove_KB1231231:
267821            dism.package_installed:
267822              - name: Package_for_KB1231231~31bf3856ad364e35~amd64~~10.0.1.3
267823
267824   salt.states.win_dns_client
267825       Module for configuring DNS Client on Windows systems
267826
267827       salt.states.win_dns_client.dns_dhcp(name, interface=u'Local  Area  Con‐
267828       nection')
267829              Configure the DNS server list from DHCP Server
267830
267831       salt.states.win_dns_client.dns_exists(name,     servers=None,    inter‐
267832       face=u'Local Area Connection', replace=False)
267833              Configure the DNS server list in the specified interface
267834
267835              Example:
267836
267837                 config_dns_servers:
267838                   win_dns_client.dns_exists:
267839                     - replace: True #remove any servers not in the "servers" list, default is False
267840                     - servers:
267841                       - 8.8.8.8
267842                       - 8.8.8.9
267843
267844       salt.states.win_dns_client.primary_suffix(name,            suffix=None,
267845       updates=False)
267846              New in version 2014.7.0.
267847
267848
267849              Configure the global primary DNS suffix of a DHCP client.
267850
267851              suffix None  The suffix which is advertised for this client when
267852                     acquiring a DHCP lease When none is set,  the  explicitly
267853                     configured DNS suffix will be removed.
267854
267855              updates
267856                     False  Allow  syncing  the  DNS suffix with the AD domain
267857                     when the client's AD domain membership changes
267858
267859                 primary_dns_suffix:
267860                     win_dns_client.primary_suffix:
267861                         - suffix: sub.domain.tld
267862                         - updates: True
267863
267864   salt.states.win_firewall
267865       State for configuring Windows Firewall
267866
267867       salt.states.win_firewall.add_rule(name,   localport,   protocol=u'tcp',
267868       action=u'allow', dir=u'in', remoteip=u'any')
267869              Add a new inbound or outbound rule to the firewall policy
267870
267871              Parameters
267872
267873                     · name  (str) -- The name of the rule. Must be unique and
267874                       cannot be "all".  Required.
267875
267876                     · localport (int) -- The port the rule applies  to.  Must
267877                       be  a  number  between 0 and 65535. Can be a range. Can
267878                       specify multiple ports separated by commas. Required.
267879
267880                     · protocol (Optional[str]) --
267881
267882                       The protocol. Can be any of the following:
267883
267884                       · A number between 0 and 255
267885
267886                       · icmpv4
267887
267888                       · icmpv6
267889
267890                       · tcp
267891
267892                       · udp
267893
267894                       · any
267895
267896
267897                     · action (Optional[str]) --
267898
267899                       The action the rule performs. Can be any of the follow‐
267900                       ing:
267901
267902                       · allow
267903
267904                       · block
267905
267906                       · bypass
267907
267908
267909                     · dir (Optional[str]) -- The direction. Can be in or out.
267910
267911                     · remoteip (Optional [str]) --
267912
267913                       The remote IP. Can be any of the following:
267914
267915                       · any
267916
267917                       · localsubnet
267918
267919                       · dns
267920
267921                       · dhcp
267922
267923                       · wins
267924
267925                       · defaultgateway
267926
267927                       · Any valid IPv4 address (192.168.0.12)
267928
267929                       · Any            valid           IPv6           address
267930                         (2002:9b3b:1a31:4:208:74ff:fe39:6c43)
267931
267932                       · Any valid subnet (192.168.1.0/24)
267933
267934                       · Any     valid     range     of      IP      addresses
267935                         (192.168.0.1-192.168.0.12)
267936
267937                       · A list of valid IP addresses
267938
267939                       Can be combinations of the above separated by commas.
267940
267941                       New in version 2016.11.6.
267942
267943
267944
267945              Example:
267946
267947                 open_smb_port:
267948                   win_firewall.add_rule:
267949                     - name: SMB (445)
267950                     - localport: 445
267951                     - protocol: tcp
267952                     - action: allow
267953
267954       salt.states.win_firewall.disabled(name=u'allprofiles')
267955              Disable all the firewall profiles (Windows only)
267956
267957              Parameters
267958                     profile (Optional[str]) --
267959
267960                     The  name  of  the profile to disable. Default is allpro‐
267961                     files. Valid options are:
267962
267963                     · allprofiles
267964
267965                     · domainprofile
267966
267967                     · privateprofile
267968
267969                     · publicprofile
267970
267971
267972              Example:
267973
267974                 # To disable the domain profile
267975                 disable_domain:
267976                   win_firewall.disabled:
267977                     - name: domainprofile
267978
267979                 # To disable all profiles
267980                 disable_all:
267981                   win_firewall.disabled:
267982                     - name: allprofiles
267983
267984       salt.states.win_firewall.enabled(name=u'allprofiles')
267985              Enable all the firewall profiles (Windows only)
267986
267987              Parameters
267988                     profile (Optional[str]) --
267989
267990                     The name of the profile to  enable.  Default  is  allpro‐
267991                     files. Valid options are:
267992
267993                     · allprofiles
267994
267995                     · domainprofile
267996
267997                     · privateprofile
267998
267999                     · publicprofile
268000
268001
268002              Example:
268003
268004                 # To enable the domain profile
268005                 enable_domain:
268006                   win_firewall.enabled:
268007                     - name: domainprofile
268008
268009                 # To enable all profiles
268010                 enable_all:
268011                   win_firewall.enabled:
268012                     - name: allprofiles
268013
268014   salt.states.win_iis module
268015       Microsoft IIS site management
268016
268017       This module provides the ability to add/remove websites and application
268018       pools from Microsoft IIS.
268019
268020       New in version 2016.3.0.
268021
268022
268023       salt.states.win_iis.container_setting(name, container, settings=None)
268024              Set the value of the setting for an IIS container.
268025
268026              Parameters
268027
268028                     · name (str) -- The name of the IIS container.
268029
268030                     · container (str) -- The type of IIS container. The  con‐
268031                       tainer types are: AppPools, Sites, SslBindings
268032
268033                     · settings (str) -- A dictionary of the setting names and
268034                       their values.  Example of usage for the  AppPools  con‐
268035                       tainer:
268036
268037                 site0-apppool-setting:
268038                     win_iis.container_setting:
268039                         - name: site0
268040                         - container: AppPools
268041                         - settings:
268042                             managedPipelineMode: Integrated
268043                             processModel.maxProcesses: 1
268044                             processModel.userName: TestUser
268045                             processModel.password: TestPassword
268046                             processModel.identityType: SpecificUser
268047
268048              Example of usage for the Sites container:
268049
268050                 site0-site-setting:
268051                     win_iis.container_setting:
268052                         - name: site0
268053                         - container: Sites
268054                         - settings:
268055                             logFile.logFormat: W3C
268056                             logFile.period: Daily
268057                             limits.maxUrlSegments: 32
268058
268059       salt.states.win_iis.create_app(name, site, sourcepath, apppool=None)
268060              Create an IIS application.
268061
268062              Parameters
268063
268064                     · name (str) -- The IIS application.
268065
268066                     · site (str) -- The IIS site name.
268067
268068                     · sourcepath (str) -- The physical path.
268069
268070                     · apppool (str) -- The name of the IIS application pool.
268071
268072              Example of usage with only the required arguments:
268073
268074                 site0-v1-app:
268075                     win_iis.create_app:
268076                         - name: v1
268077                         - site: site0
268078                         - sourcepath: C:\inetpub\site0\v1
268079
268080              Example of usage specifying all available arguments:
268081
268082                 site0-v1-app:
268083                     win_iis.create_app:
268084                         - name: v1
268085                         - site: site0
268086                         - sourcepath: C:\inetpub\site0\v1
268087                         - apppool: site0
268088
268089       salt.states.win_iis.create_apppool(name)
268090              Create an IIS application pool.
268091
268092              Parameters
268093                     name (str) -- The name of the IIS application pool.
268094
268095              Usage:
268096
268097                 site0-apppool:
268098                     win_iis.create_apppool:
268099                         - name: site0
268100
268101       salt.states.win_iis.create_binding(name,  site,  hostheader=u'',  ipad‐
268102       dress=u'*', port=80, protocol=u'http', sslflags=0)
268103              Create an IIS binding.
268104
268105              Parameters
268106
268107                     · site (str) -- The IIS site name.
268108
268109                     · hostheader (str) -- The host header of the binding.
268110
268111                     · ipaddress (str) -- The IP address of the binding.
268112
268113                     · port (str) -- The TCP port of the binding.
268114
268115                     · protocol (str) -- The application protocol of the bind‐
268116                       ing.
268117
268118                     · sslflags  (str)  --  The flags representing certificate
268119                       type and storage of the binding.
268120
268121              Example of usage with only the required arguments:
268122
268123                 site0-https-binding:
268124                     win_iis.create_binding:
268125                         - site: site0
268126
268127              Example of usage specifying all available arguments:
268128
268129                 site0-https-binding:
268130                     win_iis.create_binding:
268131                         - site: site0
268132                         - hostheader: site0.local
268133                         - ipaddress: '*'
268134                         - port: 443
268135                         - protocol: https
268136                         - sslflags: 0
268137
268138       salt.states.win_iis.create_cert_binding(name,   site,   hostheader=u'',
268139       ipaddress=u'*', port=443, sslflags=0)
268140              Assign a certificate to an IIS binding.
268141
268142              Parameters
268143
268144                     · name (str) -- The thumbprint of the certificate.
268145
268146                     · site (str) -- The IIS site name.
268147
268148                     · hostheader (str) -- The host header of the binding.
268149
268150                     · ipaddress (str) -- The IP address of the binding.
268151
268152                     · port (str) -- The TCP port of the binding.
268153
268154                     · sslflags  (str)  -- Flags representing certificate type
268155                       and certificate storage of the binding.
268156
268157              Example of usage with only the required arguments:
268158
268159                 site0-cert-binding:
268160                     win_iis.create_cert_binding:
268161                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
268162                         - site: site0
268163
268164              Example of usage specifying all available arguments:
268165
268166                 site0-cert-binding:
268167                     win_iis.create_cert_binding:
268168                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
268169                         - site: site0
268170                         - hostheader: site0.local
268171                         - ipaddress: 192.168.1.199
268172                         - port: 443
268173                         - sslflags: 1
268174
268175              New in version 2016.11.0.
268176
268177
268178       salt.states.win_iis.create_vdir(name, site, sourcepath, app=u'/')
268179              Create an IIS virtual directory.
268180
268181              Parameters
268182
268183                     · name (str) -- The virtual directory name.
268184
268185                     · site (str) -- The IIS site name.
268186
268187                     · sourcepath (str) -- The physical path.
268188
268189                     · app (str) -- The IIS application.
268190
268191              Example of usage with only the required arguments:
268192
268193                 site0-foo-vdir:
268194                     win_iis.create_vdir:
268195                         - name: foo
268196                         - site: site0
268197                         - sourcepath: C:\inetpub\vdirs\foo
268198
268199              Example of usage specifying all available arguments:
268200
268201                 site0-foo-vdir:
268202                     win_iis.create_vdir:
268203                         - name: foo
268204                         - site: site0
268205                         - sourcepath: C:\inetpub\vdirs\foo
268206                         - app: v1
268207
268208       salt.states.win_iis.deployed(name,   sourcepath,   apppool=u'',   host‐
268209       header=u'', ipaddress=u'*', port=80, protocol=u'http')
268210              Ensure the website has been deployed.
268211
268212              Parameters
268213
268214                     · name (str) -- The IIS site name.
268215
268216                     · sourcepath (str) -- The physical path of the IIS site.
268217
268218                     · apppool (str) -- The name of the IIS application pool.
268219
268220                     · hostheader (str) -- The host header of the binding.
268221
268222                     · ipaddress (str) -- The IP address of the binding.
268223
268224                     · port (str) -- The TCP port of the binding.
268225
268226                     · protocol (str) -- The application protocol of the bind‐
268227                       ing.
268228
268229              Example of usage with only the  required  arguments.  This  will
268230              default to using the default application pool assigned by IIS:
268231
268232                 site0-deployed:
268233                     win_iis.deployed:
268234                         - name: site0
268235                         - sourcepath: C:\inetpub\site0
268236
268237              Example of usage specifying all available arguments:
268238
268239                 site0-deployed:
268240                     win_iis.deployed:
268241                         - name: site0
268242                         - sourcepath: C:\inetpub\site0
268243                         - apppool: site0
268244                         - hostheader: site0.local
268245                         - ipaddress: '*'
268246                         - port: 443
268247                         - protocol: https
268248
268249       salt.states.win_iis.remove_app(name, site)
268250              Remove an IIS application.
268251
268252              Parameters
268253
268254                     · name (str) -- The application name.
268255
268256                     · site (str) -- The IIS site name.
268257
268258              Usage:
268259
268260                 site0-v1-app-remove:
268261                     win_iis.remove_app:
268262                         - name: v1
268263                         - site: site0
268264
268265       salt.states.win_iis.remove_apppool(name)
268266              Remove an IIS application pool.
268267
268268              Parameters
268269                     name (str) -- The name of the IIS application pool.
268270
268271              Usage:
268272
268273                 defaultapppool-remove:
268274                     win_iis.remove_apppool:
268275                         - name: DefaultAppPool
268276
268277       salt.states.win_iis.remove_binding(name,  site,  hostheader=u'',  ipad‐
268278       dress=u'*', port=80)
268279              Remove an IIS binding.
268280
268281              Parameters
268282
268283                     · site (str) -- The IIS site name.
268284
268285                     · hostheader (str) -- The host header of the binding.
268286
268287                     · ipaddress (str) -- The IP address of the binding.
268288
268289                     · port (str) -- The TCP port of the binding.
268290
268291              Example of usage with only the required arguments:
268292
268293                 site0-https-binding-remove:
268294                     win_iis.remove_binding:
268295                         - site: site0
268296
268297              Example of usage specifying all available arguments:
268298
268299                 site0-https-binding-remove:
268300                     win_iis.remove_binding:
268301                         - site: site0
268302                         - hostheader: site0.local
268303                         - ipaddress: '*'
268304                         - port: 443
268305
268306       salt.states.win_iis.remove_cert_binding(name,   site,   hostheader=u'',
268307       ipaddress=u'*', port=443)
268308              Remove a certificate from an IIS binding.
268309
268310              Parameters
268311
268312                     · name (str) -- The thumbprint of the certificate.
268313
268314                     · site (str) -- The IIS site name.
268315
268316                     · hostheader (str) -- The host header of the binding.
268317
268318                     · ipaddress (str) -- The IP address of the binding.
268319
268320                     · port (str) -- The TCP port of the binding.
268321
268322              Example of usage with only the required arguments:
268323
268324                 site0-cert-binding-remove:
268325                     win_iis.remove_cert_binding:
268326                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
268327                         - site: site0
268328
268329              Example of usage specifying all available arguments:
268330
268331                 site0-cert-binding-remove:
268332                     win_iis.remove_cert_binding:
268333                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
268334                         - site: site0
268335                         - hostheader: site0.local
268336                         - ipaddress: 192.168.1.199
268337                         - port: 443
268338
268339              New in version 2016.11.0.
268340
268341
268342       salt.states.win_iis.remove_site(name)
268343              Delete a website from IIS.
268344
268345              Parameters
268346                     name (str) -- The IIS site name.
268347
268348              Usage:
268349
268350                 defaultwebsite-remove:
268351                     win_iis.remove_site:
268352                         - name: Default Web Site
268353
268354       salt.states.win_iis.remove_vdir(name, site, app=u'/')
268355              Remove an IIS virtual directory.
268356
268357              Parameters
268358
268359                     · name (str) -- The virtual directory name.
268360
268361                     · site (str) -- The IIS site name.
268362
268363                     · app (str) -- The IIS application.
268364
268365              Example of usage with only the required arguments:
268366
268367                 site0-foo-vdir-remove:
268368                     win_iis.remove_vdir:
268369                         - name: foo
268370                         - site: site0
268371
268372              Example of usage specifying all available arguments:
268373
268374                 site0-foo-vdir-remove:
268375                     win_iis.remove_vdir:
268376                         - name: foo
268377                         - site: site0
268378                         - app: v1
268379
268380       salt.states.win_iis.set_app(name, site, settings=None)
268381              New in version 2017.7.0.
268382
268383
268384              Set the value of the setting for an IIS web application.
268385
268386              NOTE:
268387                 This  function  only configures existing app. Params are case
268388                 sensitive.
268389
268390              Parameters
268391
268392                     · name (str) -- The IIS application.
268393
268394                     · site (str) -- The IIS site name.
268395
268396                     · settings (str) -- A dictionary of the setting names and
268397                       their values.
268398
268399              Available settings:
268400
268401              · physicalPath - The physical path of the webapp
268402
268403              · applicationPool - The application pool for the webapp
268404
268405              · userName "connectAs" user
268406
268407              · password "connectAs" password for user
268408
268409              Return type
268410                     bool
268411
268412              Example of usage:
268413
268414                 site0-webapp-setting:
268415                     win_iis.set_app:
268416                         - name: app0
268417                         - site: Default Web Site
268418                         - settings:
268419                             userName: domain\\user
268420                             password: pass
268421                             physicalPath: c:\inetpub\wwwroot
268422                             applicationPool: appPool0
268423
268424       salt.states.win_iis.webconfiguration_settings(name, settings=None)
268425              Set the value of webconfiguration settings.
268426
268427              Parameters
268428
268429                     · name (str) -- The name of the IIS PSPath containing the
268430                       settings.  Possible PSPaths are : MACHINE, MACHINE/WEB‐
268431                       ROOT, IIS:, IIS:Sitessitename, ...
268432
268433                     · settings  (dict)  -- Dictionaries of dictionaries.  You
268434                       can match a specific item in  a  collection  with  this
268435                       syntax  inside  a  key: 'Collection[{name: site0}].log‐
268436                       File.directory'
268437
268438              Example of usage for the MACHINE/WEBROOT PSPath:
268439
268440                 MACHINE-WEBROOT-level-security:
268441                   win_iis.webconfiguration_settings:
268442                     - name: 'MACHINE/WEBROOT'
268443                     - settings:
268444                         system.web/authentication/forms:
268445                           requireSSL: True
268446                           protection: "All"
268447                           credentials.passwordFormat: "SHA1"
268448                         system.web/httpCookies:
268449                           httpOnlyCookies: True
268450
268451              Example of usage for the IIS:\Sites\site0 PSPath:
268452
268453                 site0-IIS-Sites-level-security:
268454                   win_iis.webconfiguration_settings:
268455                     - name: 'IIS:\Sites\site0'
268456                     - settings:
268457                         system.webServer/httpErrors:
268458                           errorMode: "DetailedLocalOnly"
268459                         system.webServer/security/requestFiltering:
268460                           allowDoubleEscaping: False
268461                           verbs.Collection:
268462                             - verb: TRACE
268463                               allowed: False
268464                           fileExtensions.allowUnlisted: False
268465
268466              Example of usage for the IIS:\ PSPath with a  collection  match‐
268467              ing:
268468
268469                 site0-IIS-level-security:
268470                   win_iis.webconfiguration_settings:
268471                     - name: 'IIS:\'
268472                     - settings:
268473                         system.applicationHost/sites:
268474                           'Collection[{name: site0}].logFile.directory': 'C:\logs\iis\site0'
268475
268476   salt.states.win_lgpo module
268477   Manage Windows Local Group Policy
268478       New in version 2016.11.0.
268479
268480
268481       This state allows configuring local Windows Group Policy
268482
268483       The  state can be used to ensure the setting of a single policy or mul‐
268484       tiple policies in one pass.
268485
268486       Single policies must specify the policy name, the setting, and the pol‐
268487       icy class (Machine/User/Both)
268488
268489       Example single policy configuration
268490
268491          Ensure Account Lockout Duration:
268492            lgpo.set:
268493              - name: Account lockout duration
268494              - setting: 90
268495              - policy_class: Machine
268496
268497          Account lockout duration:
268498            lgpo.set:
268499              - setting: 120
268500              - policy_class: Machine
268501
268502       Multiple policy configuration
268503
268504          Company Local Group Policy:
268505              lgpo.set:
268506                  - computer_policy:
268507                      Deny log on locally:
268508                        - Guest
268509                      Account lockout duration: 120
268510                      Account lockout threshold: 10
268511                      Reset account lockout counter after: 120
268512                      Enforce password history: 24
268513                      Maximum password age: 60
268514                      Minimum password age: 1
268515                      Minimum password length: 14
268516                      Password must meet complexity requirements: Enabled
268517                      Store passwords using reversible encryption: Disabled
268518                      Configure Automatic Updates:
268519                          Configure automatic updating: 4 - Auto download and schedule the intsall
268520                          Scheduled install day: 7 - Every Saturday
268521                          Scheduled install time: 17:00
268522                      Specify intranet Microsoft update service location:
268523                          Set the intranet update service for detecting updates: http://mywsus
268524                          Set the intranet statistics server: http://mywsus
268525                  - user_policy:
268526                      Do not process the legacy run list: Enabled
268527
268528          server_policy:
268529            lgpo.set:
268530              - computer_policy:
268531                  Maximum password age: 60
268532                  Minimum password age: 1
268533                  Minimum password length: 14
268534                  Account lockout duration: 120
268535                  Account lockout threshold: 10
268536                  Reset account lockout counter after: 120
268537                  Manage auditing and security log:
268538                    - "BUILTIN\Administrators"
268539                  Replace a process level token:
268540                    - "NT AUTHORITY\NETWORK SERVICE"
268541                    - "NT AUTHORITY\LOCAL SERVICE"
268542                  "Accounts: Guest account status": Disabled
268543                  "Accounts: Rename guest account": Not_4_U
268544                  "Audit: Audit the use of Backup and Restore privilege": Enabled
268545                  "Interactive logon: Do not display last user name": Enabled
268546                  "Network\DNS Client\Dynamic update": Disabled
268547                  "System\Logon\Do not display the Getting Started welcome screen at logon": Enabled
268548                  "Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections\Select RDP transport protocols":
268549                      "Select Transport Type": "Use both UDP and TCP"
268550                  "Windows Components\Windows Update\Allow Automatic Updates immediate installation": Enabled
268551                  "Windows Components\Windows Update\Allow non-administrators to receive update notifications": Disabled
268552                  "Windows Components\Windows Update\Always automatically restart at the scheduled time":
268553                      "The restart timer will give users this much time to save their work (minutes)": 15
268554                  "Windows Components\Windows Update\Automatic Updates detection frequency":
268555                      "Check for updates at the following interval (hours)": 1
268556                  "Windows Components\Windows Update\Configure Automatic Updates":
268557                      "Configure automatic updating": 4 - Auto download and schedule the install
268558                      "Install during automatic maintenance": False
268559                      "Scheduled install day": 7 - Every Saturday
268560                      "Scheduled install time": "17:00"
268561                  "Windows Components\Windows Update\Delay Restart for scheduled installations":
268562                      "Wait the following period before proceeding with a scheduled restart (minutes)": 1
268563                  "Windows Components\Windows Update\No auto-restart with logged on users for scheduled automatic updates installations": Disabled
268564                  "Windows Components\Windows Update\Re-prompt for restart with scheduled installations":
268565                      "Wait the following period before prompting again with a scheduled restart (minutes)": 30
268566                  "Windows Components\Windows Update\Reschedule Automatic Updates scheduled installations": Disabled
268567                  "Windows Components\Windows Update\Specify intranet Microsoft update service location":
268568                      "Set the intranet update service for detecting updates": http://mywsus
268569                      "Set the intranet statistics server": http://mywsus
268570              - cumulative_rights_assignments: True
268571
268572       salt.states.win_lgpo.set_(name,  setting=None,  policy_class=None, com‐
268573       puter_policy=None,     user_policy=None,      cumulative_rights_assign‐
268574       ments=True, adml_language=u'en-US')
268575              Ensure the specified policy is set.
268576
268577              WARNING:
268578                 The  setting  argument cannot be used in conjunction with the
268579                 computer_policy or user_policy arguments
268580
268581              Parameters
268582
268583                     · name (str) -- The name of a single policy to configure
268584
268585                     · setting (str, dict, list) -- The configuration  setting
268586                       for  the  single named policy. If this argument is used
268587                       the computer_policy /  user_policy  arguments  will  be
268588                       ignored
268589
268590                     · policy_class  (str)  --  The policy class of the single
268591                       named policy to configure. This can machine,  user,  or
268592                       both
268593
268594                     · computer_policy  (dict)  --  A dictionary of containing
268595                       the policy name and key/value pairs of a  set  of  com‐
268596                       puter  policies to configure. If this argument is used,
268597                       the name / policy_class arguments will be ignored
268598
268599                     · user_policy (dict) -- A dictionary  of  containing  the
268600                       policy  name and key/value pairs of a set of user poli‐
268601                       cies to configure. If this argument is used, the name /
268602                       policy_class arguments will be ignored
268603
268604                     · cumulative_rights_assignments  (bool) -- If user rights
268605                       assignments are being  configured,  determines  if  any
268606                       user  right assignment policies specified will be cumu‐
268607                       lative or explicit
268608
268609                     · adml_language (str) -- The adml  language  to  use  for
268610                       AMDX policy data/display conversions.  Default is en-US
268611
268612   salt.states.win_license module
268613   Installation and activation of windows licenses
268614       Install and activate windows licenses
268615
268616          XXXXX-XXXXX-XXXXX-XXXXX-XXXXX:
268617            license.activate
268618
268619       salt.states.win_license.activate(name)
268620              Install and activate the given product key
268621
268622              name   The 5x5 product key given to you by Microsoft
268623
268624   salt.states.win_network
268625   Configuration of network interfaces on Windows hosts
268626       New in version 2014.1.0.
268627
268628
268629       This  module  provides  the  network  state(s)  on  Windows  hosts. DNS
268630       servers, IP addresses and default gateways can currently be managed.
268631
268632       Below is an example of the configuration for  an  interface  that  uses
268633       DHCP for both DNS servers and IP addresses:
268634
268635          Local Area Connection #2:
268636            network.managed:
268637              - dns_proto: dhcp
268638              - ip_proto: dhcp
268639
268640       NOTE:
268641          Both the dns_proto and ip_proto arguments are required.
268642
268643       Static DNS and IP addresses can be configured like so:
268644
268645          Local Area Connection #2:
268646            network.managed:
268647              - dns_proto: static
268648              - dns_servers:
268649                - 8.8.8.8
268650                - 8.8.4.4
268651              - ip_proto: static
268652              - ip_addrs:
268653                - 10.2.3.4/24
268654
268655       NOTE:
268656          IP  addresses  are  specified  using  the  format <ip-address>/<sub‐
268657          net-length>. Salt provides a convenience function called ip.get_sub‐
268658          net_length to calculate the subnet length from a netmask.
268659
268660       Optionally,  if you are setting a static IP address, you can also spec‐
268661       ify the default gateway using the gateway parameter:
268662
268663          Local Area Connection #2:
268664            network.managed:
268665              - dns_proto: static
268666              - dns_servers:
268667                - 8.8.8.8
268668                - 8.8.4.4
268669              - ip_proto: static
268670              - ip_addrs:
268671                - 10.2.3.4/24
268672              - gateway: 10.2.3.1
268673
268674       salt.states.win_network.managed(name, dns_proto=None, dns_servers=None,
268675       ip_proto=None, ip_addrs=None, gateway=None, enabled=True, **kwargs)
268676              Ensure that the named interface is configured properly.
268677
268678              Parameters
268679
268680                     · name (str) -- The name of the interface to manage
268681
268682                     · dns_proto  (str)  --  None  Set  to  static and use the
268683                       dns_servers parameter to provide a list  of  DNS  name‐
268684                       servers.  set  to  dhcp  to  use  DHCP  to  get the DNS
268685                       servers.
268686
268687                     · dns_servers  (list)  --  None  A  list  of  static  DNS
268688                       servers. To clear the list of DNS servers pass an empty
268689                       list ([]). None will make no changes.
268690
268691                     · ip_proto (str) --  None  Set  to  static  and  use  the
268692                       ip_addrs and (optionally) gateway parameters to provide
268693                       a list of static IP addresses and the default  gateway.
268694                       Set to dhcp to use DHCP.
268695
268696                     · ip_addrs  (list)  -- None A list of static IP addresses
268697                       with netmask flag, ie: 192.168.0.11/24
268698
268699                     · gateway (str) -- None The gateway to set for the inter‐
268700                       face
268701
268702                     · enabled (bool) -- True Set to False to ensure that this
268703                       interface is disabled.
268704
268705              Returns
268706                     A dictionary of old and new settings
268707
268708              Return type
268709                     dict
268710
268711              Example:
268712
268713                 Ethernet1:
268714                   network.managed:
268715                     - dns_proto: static
268716                     - dns_servers:
268717                       - 8.8.8.8
268718                       - 8.8.8.4
268719                     - ip_proto: static
268720                     - ip_addrs:
268721                       - 192.168.0.100/24
268722
268723              Clear DNS entries example:
268724
268725                 Ethernet1:
268726                   network.managed:
268727                     - dns_proto: static
268728                     - dns_servers: []
268729                     - ip_proto: dhcp
268730
268731   salt.states.win_path
268732       Manage the Windows System PATH
268733
268734       salt.states.win_path.absent(name)
268735              Remove the directory from the SYSTEM path
268736
268737              Example:
268738
268739                 'C:\sysinternals':
268740                   win_path.absent
268741
268742       salt.states.win_path.exists(name, index=None)
268743              Add the directory to the system PATH at index location
268744
268745              index  Position where the directory  should  be  placed  in  the
268746                     PATH.  This  is  0-indexed,  so 0 means to prepend at the
268747                     very start of the PATH.
268748
268749                     NOTE:
268750                        If the index is not specified, and the directory needs
268751                        to  be  added  to the PATH, then the directory will be
268752                        appended to the PATH, and this state will not  enforce
268753                        its location within the PATH.
268754
268755              Examples:
268756
268757                 'C:\python27':
268758                   win_path.exists
268759
268760                 'C:\sysinternals':
268761                   win_path.exists:
268762                     - index: 0
268763
268764                 'C:\mystuff':
268765                   win_path.exists:
268766                     - index: -1
268767
268768   salt.states.win_pki module
268769       Microsoft certificate management via the Pki PowerShell module.
268770
268771       platform
268772              Windows
268773
268774       New in version 2016.11.0.
268775
268776
268777       salt.states.win_pki.import_cert(name,      cert_format=u'cer',     con‐
268778       text=u'LocalMachine',   store=u'My',   exportable=True,   password=u'',
268779       saltenv=u'base')
268780              Import the certificate file into the given certificate store.
268781
268782              Parameters
268783
268784                     · name  (str)  --  The  path  of  the certificate file to
268785                       import.
268786
268787                     · cert_format (str) -- The  certificate  format.  Specify
268788                       'cer' for X.509, or 'pfx' for PKCS #12.
268789
268790                     · context  (str)  --  The  name  of the certificate store
268791                       location context.
268792
268793                     · store (str) -- The name of the certificate store.
268794
268795                     · exportable  (bool)   --   Mark   the   certificate   as
268796                       exportable. Only applicable to pfx format.
268797
268798                     · password (str) -- The password of the certificate. Only
268799                       applicable to pfx format.
268800
268801                     · saltenv (str) -- The environment the file resides in.
268802
268803              Example of usage with only the required arguments:
268804
268805                 site0-cert-imported:
268806                     win_pki.import_cert:
268807                         - name: salt://win/webserver/certs/site0.cer
268808
268809              Example of usage specifying all available arguments:
268810
268811                 site0-cert-imported:
268812                     win_pki.import_cert:
268813                         - name: salt://win/webserver/certs/site0.pfx
268814                         - cert_format: pfx
268815                         - context: LocalMachine
268816                         - store: My
268817                         - exportable: True
268818                         - password: TestPassword
268819                         - saltenv: base
268820
268821       salt.states.win_pki.remove_cert(name,  thumbprint,   context=u'LocalMa‐
268822       chine', store=u'My')
268823              Remove the certificate from the given certificate store.
268824
268825              Parameters
268826
268827                     · thumbprint  (str) -- The thumbprint value of the target
268828                       certificate.
268829
268830                     · context (str) -- The  name  of  the  certificate  store
268831                       location context.
268832
268833                     · store (str) -- The name of the certificate store.
268834
268835              Example of usage with only the required arguments:
268836
268837                 site0-cert-removed:
268838                     win_pki.remove_cert:
268839                         - thumbprint: 9988776655443322111000AAABBBCCCDDDEEEFFF
268840
268841              Example of usage specifying all available arguments:
268842
268843                 site0-cert-removed:
268844                     win_pki.remove_cert:
268845                         - thumbprint: 9988776655443322111000AAABBBCCCDDDEEEFFF
268846                         - context: LocalMachine
268847                         - store: My
268848
268849   salt.states.win_powercfg
268850       This  module allows you to control the power settings of a windows min‐
268851       ion via powercfg.
268852
268853       New in version 2015.8.0.
268854
268855
268856          # Set timeout to 30 minutes on battery power
268857          monitor:
268858              powercfg.set_timeout:
268859                  - value: 30
268860                  - power: dc
268861
268862       salt.states.win_powercfg.set_timeout(name,     value,      power=u'ac',
268863       scheme=None)
268864              Set  the sleep timeouts of specific items such as disk, monitor,
268865              etc.
268866
268867              Parameters
268868
268869                     · name (str) --
268870
268871                       The setting to change, can be one of the following:
268872
268873                          · monitor
268874
268875                          · disk
268876
268877                          · standby
268878
268879                          · hibernate
268880
268881
268882                     · value (int) -- The amount of time in minutes before the
268883                       item will timeout
268884
268885                     · power (str) --
268886
268887                       Set  the value for AC or DC power. Default is ac. Valid
268888                       options are:
268889
268890                          · ac (AC Power)
268891
268892                          · dc (Battery)
268893
268894
268895                     · scheme (str) --
268896
268897                       The scheme to use, leave as None to  use  the  current.
268898                       Default  is None. This can be the GUID or the Alias for
268899                       the Scheme. Known Aliases are:
268900
268901                          · SCHEME_BALANCED - Balanced
268902
268903                          · SCHEME_MAX - Power saver
268904
268905                          · SCHEME_MIN - High performance
268906
268907
268908              CLI Example:
268909
268910                 # Set monitor timeout to 30 minutes on Battery
268911                 monitor:
268912                   powercfg.set_timeout:
268913                     - value: 30
268914                     - power: dc
268915
268916                 # Set disk timeout to 10 minutes on AC Power
268917                 disk:
268918                   powercfg.set_timeout:
268919                     - value: 10
268920                     - power: ac
268921
268922   salt.states.win_servermanager
268923       Manage Windows features via the ServerManager  powershell  module.  Can
268924       install and remove roles/features.
268925
268926       maintainer
268927              Shane Lee <slee@saltstack.com>
268928
268929       platform
268930              Windows Server 2008R2 or greater
268931
268932       depends
268933              win_servermanager.install
268934
268935       depends
268936              win_servermanager.remove
268937
268938       salt.states.win_servermanager.installed(name,            features=None,
268939       recurse=False, restart=False, source=None, exclude=None, **kwargs)
268940              Install the windows feature. To install a  single  feature,  use
268941              the  name  parameter. To install multiple features, use the fea‐
268942              tures parameter.
268943
268944              NOTE:
268945                 Some features require reboot after  un/installation.  If  so,
268946                 until  the  server  is  restarted  other  features can not be
268947                 installed!
268948
268949              Parameters
268950
268951                     · name (str) --
268952
268953                       Short  name  of  the  feature  (the  right  column   in
268954                       win_servermanager.list_available). This can be a single
268955                       feature or a string of features in  a  comma  delimited
268956                       list (no spaces)
268957
268958                       NOTE:
268959                          A  list  is not allowed in the name parameter of any
268960                          state. Use the features parameter  if  you  want  to
268961                          pass the features as a list
268962
268963
268964                     · features (Optional[list]) --
268965
268966                       A  list  of  features  to install. If this is passed it
268967                       will be used instead of the name parameter.
268968
268969                       New in version 2018.3.0.
268970
268971
268972
268973                     · recurse (Optional[bool]) -- Install all sub-features as
268974                       well.  If  the  feature  is  installed  but  one of its
268975                       sub-features are not installed set  this  will  install
268976                       additional  sub-features.  This argument was previously
268977                       renamed from force. To ensure  backwards  compatibility
268978                       force  will  continue  to  work  but please update your
268979                       states to use the preferred recurse arg.
268980
268981                     · source (Optional[str]) -- Path to the source  files  if
268982                       missing  from  the  target  system. None means that the
268983                       system will use windows update  services  to  find  the
268984                       required files. Default is None
268985
268986                     · restart  (Optional[bool]) -- Restarts the computer when
268987                       installation is complete, if required by the  role/fea‐
268988                       ture installed. Default is False
268989
268990                     · exclude (Optional[str]) --
268991
268992                       The  name of the feature to exclude when installing the
268993                       named feature. This can be a single feature,  a  string
268994                       of features in a comma-delimited list (no spaces), or a
268995                       list of features.
268996
268997                       WARNING:
268998                          As there is no exclude option for  the  Add-Windows‐
268999                          Feature  or  Install-WindowsFeature  PowerShell com‐
269000                          mands  the  features  named  in  exclude   will   be
269001                          installed  with  other sub-features and will then be
269002                          removed. If the feature named in ``exclude`` is  not
269003                          a  sub-feature of one of the installed items it will
269004                          still be removed.
269005
269006              Example
269007
269008              Do not use the role or feature names  mentioned  in  the  PKGMGR
269009              documentation. To get a list of available roles and features run
269010              the following command:
269011
269012                 salt <minion_name> win_servermanager.list_available
269013
269014              Use the name in the right column of the results.
269015
269016                 # Installs the IIS Web Server Role (Web-Server)
269017                 IIS-WebServerRole:
269018                   win_servermanager.installed:
269019                     - recurse: True
269020                     - name: Web-Server
269021
269022                 # Install multiple features, exclude the Web-Service
269023                 install_multiple_features:
269024                   win_servermanager.installed:
269025                     - recurse: True
269026                     - features:
269027                       - RemoteAccess
269028                       - XPS-Viewer
269029                       - SNMP-Service
269030                     - exclude:
269031                       - Web-Server
269032
269033       salt.states.win_servermanager.removed(name, features=None,  remove_pay‐
269034       load=False, restart=False)
269035              Remove  the  windows feature To remove a single feature, use the
269036              name parameter. To remove multiple features,  use  the  features
269037              parameter.
269038
269039              Parameters
269040
269041                     · name (str) --
269042
269043                       Short   name  of  the  feature  (the  right  column  in
269044                       win_servermanager.list_available). This can be a single
269045                       feature  or  a  string of features in a comma-delimited
269046                       list (no spaces)
269047
269048                       NOTE:
269049                          A list is not allowed in the name parameter  of  any
269050                          state.  Use  the  features  parameter if you want to
269051                          pass the features as a list
269052
269053
269054                     · features (Optional[list]) --
269055
269056                       A list of features to remove. If this is passed it will
269057                       be used instead of the name parameter.
269058
269059                       New in version 2018.3.0.
269060
269061
269062
269063                     · remove_payload  (Optional[bool]) -- True will cause the
269064                       feature to be removed from the side-by-side  store.  To
269065                       install  the  feature  in  the  future you will need to
269066                       specify the source
269067
269068                     · restart (Optional[bool]) -- Restarts the computer  when
269069                       uninstall  is  complete if required by the role/feature
269070                       uninstall. Default is False
269071
269072              NOTE:
269073                 Some features require a reboot after  uninstall.  If  so  the
269074                 feature  will  not be completely uninstalled until the server
269075                 is restarted.
269076              Example
269077
269078              Do not use the role or feature names  mentioned  in  the  PKGMGR
269079              documentation. To get a list of available roles and features run
269080              the following command:
269081
269082                 salt <minion_name> win_servermanager.list_available
269083
269084              Use the name in the right column of the results.
269085
269086                 # Uninstall the IIS Web Server Rol (Web-Server)
269087                 IIS-WebserverRole:
269088                   win_servermanager.removed:
269089                     - name: Web-Server
269090
269091                 # Uninstall multiple features, reboot if required
269092                 uninstall_multiple_features:
269093                   win_servermanager.removed:
269094                     - features:
269095                       - RemoteAccess
269096                       - XPX-Viewer
269097                       - SNMP-Service
269098                     - restart: True
269099
269100   salt.states.win_smtp_server module
269101       Module for managing IIS SMTP server configuration on Windows servers.
269102
269103       salt.states.win_smtp_server.active_log_format(name,         log_format,
269104       server=u'SmtpSvc/1')
269105              Manage the active log format for the SMTP server.
269106
269107              Parameters
269108
269109                     · log_format (str) -- The log format name.
269110
269111                     · server (str) -- The SMTP server name.
269112
269113              Example of usage:
269114
269115                 smtp-log-format:
269116                     win_smtp_server.active_log_format:
269117                         - log_format: Microsoft IIS Log File Format
269118
269119       salt.states.win_smtp_server.connection_ip_list(name,    addresses=None,
269120       grant_by_default=False, server=u'SmtpSvc/1')
269121              Manage IP list for SMTP connections.
269122
269123              Parameters
269124
269125                     · addresses (str) -- A dictionary of IP + subnet pairs.
269126
269127                     · grant_by_default (bool) -- Whether the addresses should
269128                       be a blacklist or whitelist.
269129
269130                     · server (str) -- The SMTP server name.
269131
269132              Example of usage for creating a whitelist:
269133
269134                 smtp-connection-whitelist:
269135                     win_smtp_server.connection_ip_list:
269136                         - addresses:
269137                             127.0.0.1: 255.255.255.255
269138                             172.16.1.98: 255.255.255.255
269139                             172.16.1.99: 255.255.255.255
269140                         - grant_by_default: False
269141
269142              Example of usage for creating a blacklist:
269143
269144                 smtp-connection-blacklist:
269145                     win_smtp_server.connection_ip_list:
269146                         - addresses:
269147                             172.16.1.100: 255.255.255.255
269148                             172.16.1.101: 255.255.255.255
269149                         - grant_by_default: True
269150
269151              Example of usage for allowing any source to connect:
269152
269153                 smtp-connection-blacklist:
269154                     win_smtp_server.connection_ip_list:
269155                         - addresses: {}
269156                         - grant_by_default: True
269157
269158       salt.states.win_smtp_server.relay_ip_list(name,         addresses=None,
269159       server=u'SmtpSvc/1')
269160              Manage IP list for SMTP relay connections.
269161
269162              Due to the unusual way that Windows stores the relay IPs, it  is
269163              advisable  to  retrieve the existing list you wish to set from a
269164              pre-configured server.
269165
269166              For example, setting '127.0.0.1' as an allowed relay IP  through
269167              the  GUI  would  generate an actual relay IP list similar to the
269168              following:
269169
269170                 ['24.0.0.128', '32.0.0.128', '60.0.0.128', '68.0.0.128', '1.0.0.0', '76.0.0.0',
269171                   '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',
269172                   '0.0.0.0', '76.0.0.128', '0.0.0.0', '0.0.0.0', '0.0.0.0', '0.0.0.0',
269173                   '255.255.255.255', '127.0.0.1']
269174
269175              NOTE:
269176                 Setting the list to None corresponds to the restrictive 'Only
269177                 the  list below' GUI parameter with an empty access list con‐
269178                 figured, and setting an empty list/tuple corresponds  to  the
269179                 more permissive 'All except the list below' GUI parameter.
269180
269181              Parameters
269182
269183                     · addresses  (str)  -- A list of the relay IPs. The order
269184                       of the list is important.
269185
269186                     · server (str) -- The SMTP server name.
269187
269188              Example of usage:
269189
269190                 smtp-relay-list:
269191                   win_smtp_server.relay_ip_list:
269192                     - addresses:
269193                         - 24.0.0.128
269194                         - 32.0.0.128
269195                         - 60.0.0.128
269196                         - 1.0.0.0
269197                         - 76.0.0.0
269198                         - 0.0.0.0
269199                         - 0.0.0.0
269200                         - 1.0.0.0
269201                         - 1.0.0.0
269202                         - 2.0.0.0
269203                         - 2.0.0.0
269204                         - 4.0.0.0
269205                         - 0.0.0.0
269206                         - 76.0.0.128
269207                         - 0.0.0.0
269208                         - 0.0.0.0
269209                         - 0.0.0.0
269210                         - 0.0.0.0
269211                         - 255.255.255.255
269212                         - 127.0.0.1
269213
269214              Example of usage for disabling relaying:
269215
269216                 smtp-relay-list:
269217                     win_smtp_server.relay_ip_list:
269218                         - addresses: None
269219
269220              Example of usage for allowing relaying from any source:
269221
269222                 smtp-relay-list:
269223                     win_smtp_server.relay_ip_list:
269224                         - addresses: []
269225
269226       salt.states.win_smtp_server.server_setting(name,         settings=None,
269227       server=u'SmtpSvc/1')
269228              Ensure the value is set for the specified setting.
269229
269230              NOTE:
269231                 The setting names are case-sensitive.
269232
269233              Parameters
269234
269235                     · settings (str) -- A dictionary of the setting names and
269236                       their values.
269237
269238                     · server (str) -- The SMTP server name.
269239
269240              Example of usage:
269241
269242                 smtp-settings:
269243                     win_smtp_server.server_setting:
269244                         - settings:
269245                             LogType: 1
269246                             LogFilePeriod: 1
269247                             MaxMessageSize: 16777216
269248                             MaxRecipients: 10000
269249                             MaxSessionSize: 16777216
269250
269251   salt.states.win_snmp module
269252       Module for managing SNMP service settings on Windows servers.
269253
269254       salt.states.win_snmp.agent_settings(name,   contact,   location,   ser‐
269255       vices=None)
269256              Manage  the  SNMP  sysContact, sysLocation, and sysServices set‐
269257              tings.
269258
269259              Parameters
269260
269261                     · contact (str) -- The SNMP contact.
269262
269263                     · location (str) -- The SNMP location.
269264
269265                     · services (str) -- A list of selected services.
269266
269267              Example of usage:
269268
269269                 snmp-agent-settings:
269270                     win_snmp.agent_settings:
269271                         - contact: Test Contact
269272                         - location: Test Location
269273                         - services:
269274                             - Physical
269275                             - Internet
269276
269277       salt.states.win_snmp.auth_traps_enabled(name, status=True)
269278              Manage the sending of authentication traps.
269279
269280              Parameters
269281                     status (bool) -- The enabled status.
269282
269283              Example of usage:
269284
269285                 snmp-auth-traps:
269286                     win_snmp.auth_traps_enabled:
269287                         - status: True
269288
269289       salt.states.win_snmp.community_names(name, communities=None)
269290              Manage the SNMP accepted community names and their permissions.
269291
269292              Parameters
269293                     communities (str) -- A dictionary of SNMP communities and
269294                     permissions.
269295
269296              Example of usage:
269297
269298                 snmp-community-names:
269299                     win_snmp.community_names:
269300                         - communities:
269301                             TestCommunity: Read Only
269302                             OtherCommunity: Read Write
269303
269304   salt.states.win_system
269305   Management of Windows system information
269306       New in version 2014.1.0.
269307
269308
269309       This  state  is  used to manage system information such as the computer
269310       name and description.
269311
269312          ERIK-WORKSTATION:
269313            system.computer_name: []
269314
269315          This is Erik's computer, don't touch!:
269316            system.computer_desc: []
269317
269318       salt.states.win_system.computer_desc(name)
269319              Manage the computer's description field
269320
269321              name   The desired computer description
269322
269323       salt.states.win_system.computer_name(name)
269324              Manage the computer's name
269325
269326              name   The desired computer name
269327
269328       salt.states.win_system.hostname(name)
269329              New in version 2016.3.0.
269330
269331
269332              Manage the hostname of the computer
269333
269334              name   The hostname to set
269335
269336       salt.states.win_system.join_domain(name, username=None,  password=None,
269337       account_ou=None, account_exists=False, restart=False)
269338              Checks if a computer is joined to the Domain. If the computer is
269339              not in the Domain, it will be joined.
269340
269341              Parameters
269342
269343                     · name (str) -- The name of the Domain.
269344
269345                     · username (str) --  Username  of  an  account  which  is
269346                       authorized  to  join computers to the specified domain.
269347                       Need to be either fully qualified like  user@domain.tld
269348                       or simply user.
269349
269350                     · password  (str)  --  Password of the account to add the
269351                       computer to the Domain.
269352
269353                     · account_ou (str) -- The DN of the OU  below  which  the
269354                       account  for this computer should be created when join‐
269355                       ing       the       domain,       e.g.       ou=comput‐
269356                       ers,ou=departm_432,dc=my-company,dc=com.
269357
269358                     · account_exists  (bool)  --  Needs  to be set to True to
269359                       allow re-using an existing computer account.
269360
269361                     · restart (bool) -- Needs to be set to  True  to  restart
269362                       the computer after a successful join.
269363
269364              Example:
269365
269366                 join_to_domain:
269367                   system.join_domain:
269368                     - name: mydomain.local.com
269369                     - username: myaccount@mydomain.local.com
269370                     - password: mysecretpassword
269371                     - restart: True
269372
269373       salt.states.win_system.reboot(name,       message=None,      timeout=5,
269374       force_close=True, in_seconds=False, only_on_pending_reboot=True)
269375              Reboot the computer
269376
269377              Parameters
269378
269379                     · message (str) --
269380
269381                       An optional message to display to users. It  will  also
269382                       be used as a comment in the event log entry.
269383
269384                       The default value is None.
269385
269386
269387                     · timeout (int) --
269388
269389                       The  number  of minutes or seconds before a reboot will
269390                       occur. Whether this number represents minutes  or  sec‐
269391                       onds depends on the value of in_seconds.
269392
269393                       The default value is 5.
269394
269395
269396                     · in_seconds (bool) --
269397
269398                       If  this  is True, the value of timeout will be treated
269399                       as a number of seconds. If this is False, the value  of
269400                       timeout will be treated as a number of minutes.
269401
269402                       The default value is False.
269403
269404
269405                     · force_close (bool) --
269406
269407                       If this is True, running applications will be forced to
269408                       close without warning. If this is False, running appli‐
269409                       cations  will  not  get the opportunity to prompt users
269410                       about unsaved data.
269411
269412                       The default value is True.
269413
269414
269415                     · only_on_pending_reboot (bool) --
269416
269417                       If this is True, the reboot will only occur if the sys‐
269418                       tem  reports  a  pending  reboot. If this is False, the
269419                       reboot will always occur.
269420
269421                       The default value is True.
269422
269423
269424       salt.states.win_system.shutdown(name,     message=None,      timeout=5,
269425       force_close=True,    reboot=False,    in_seconds=False,   only_on_pend‐
269426       ing_reboot=False)
269427              Shutdown the computer
269428
269429              Parameters
269430
269431                     · message (str) --
269432
269433                       An optional message to display to users. It  will  also
269434                       be used as a comment in the event log entry.
269435
269436                       The default value is None.
269437
269438
269439                     · timeout (int) --
269440
269441                       The number of minutes or seconds before a shutdown will
269442                       occur. Whether this number represents minutes  or  sec‐
269443                       onds depends on the value of in_seconds.
269444
269445                       The default value is 5.
269446
269447
269448                     · in_seconds (bool) --
269449
269450                       If  this  is True, the value of timeout will be treated
269451                       as a number of seconds. If this is False, the value  of
269452                       timeout will be treated as a number of minutes.
269453
269454                       The default value is False.
269455
269456
269457                     · force_close (bool) --
269458
269459                       If this is True, running applications will be forced to
269460                       close without warning. If this is False, running appli‐
269461                       cations  will  not  get the opportunity to prompt users
269462                       about unsaved data.
269463
269464                       The default value is True.
269465
269466
269467                     · reboot (bool) --
269468
269469                       If this is True, the computer will restart  immediately
269470                       after  shutting  down.  If False the system flushes all
269471                       caches to disk and safely powers down the system.
269472
269473                       The default value is False.
269474
269475
269476                     · only_on_pending_reboot (bool) --
269477
269478                       If this is True, the shutdown will only  occur  if  the
269479                       system  reports a pending reboot. If this is False, the
269480                       shutdown will always occur.
269481
269482                       The default value is False.
269483
269484
269485   salt.states.win_wua module
269486       Installation of Windows Updates using the Windows Update Agent
269487
269488       New in version 2017.7.0.
269489
269490
269491       Salt can manage Windows updates via the "wua" state module. Updates can
269492       be  installed  and  removed. Update management declarations are as fol‐
269493       lows:
269494
269495       For installation:
269496
269497          # Install a single update using the KB
269498          KB3194343:
269499            wua.installed
269500
269501          # Install a single update using the name parameter
269502          install_update:
269503            wua.installed:
269504              - name: KB3194343
269505
269506          # Install multiple updates using the updates parameter and a combination of
269507          # KB number and GUID
269508          install_updates:
269509            wua.installed:
269510             - updates:
269511               - KB3194343
269512               - bb1dbb26-3fb6-45fd-bb05-e3c8e379195c
269513
269514       For removal:
269515
269516          # Remove a single update using the KB
269517          KB3194343:
269518            wua.removed
269519
269520          # Remove a single update using the name parameter
269521          remove_update:
269522            wua.removed:
269523              - name: KB3194343
269524
269525          # Remove multiple updates using the updates parameter and a combination of
269526          # KB number and GUID
269527          remove_updates:
269528            wua.removed:
269529             - updates:
269530               - KB3194343
269531               - bb1dbb26-3fb6-45fd-bb05-e3c8e379195c
269532
269533       salt.states.win_wua.installed(name, updates=None)
269534              Ensure Microsoft Updates are installed. Updates  will  be  down‐
269535              loaded if needed.
269536
269537              Parameters
269538
269539                     · name  (str)  --  The  identifier  of a single update to
269540                       install.
269541
269542                     · updates (list) -- A list of identifiers for updates  to
269543                       be installed. Overrides name. Default is None.
269544
269545              NOTE:
269546                 Identifiers  can  be  the GUID, the KB number, or any part of
269547                 the Title of the Microsoft update. GUIDs and KBs are the pre‐
269548                 ferred method to ensure you're installing the correct update.
269549
269550              WARNING:
269551                 Using  a partial KB number or a partial Title could result in
269552                 more than one update being installed.
269553
269554              Returns
269555                     A dictionary containing the results of the update
269556
269557              Return type
269558                     dict
269559
269560              CLI Example:
269561
269562                 # using a GUID
269563                 install_update:
269564                   wua.installed:
269565                     - name: 28cf1b09-2b1a-458c-9bd1-971d1b26b211
269566
269567                 # using a KB
269568                 install_update:
269569                   wua.installed:
269570                     - name: KB3194343
269571
269572                 # using the full Title
269573                 install_update:
269574                   wua.installed:
269575                     - name: Security Update for Adobe Flash Player for Windows 10 Version 1607 (for x64-based Systems) (KB3194343)
269576
269577                 # Install multiple updates
269578                 install_updates:
269579                   wua.installed:
269580                     - updates:
269581                       - KB3194343
269582                       - 28cf1b09-2b1a-458c-9bd1-971d1b26b211
269583
269584       salt.states.win_wua.removed(name, updates=None)
269585              Ensure Microsoft Updates are uninstalled.
269586
269587              Parameters
269588
269589                     · name (str) -- The identifier  of  a  single  update  to
269590                       uninstall.
269591
269592                     · updates  (list) -- A list of identifiers for updates to
269593                       be removed. Overrides name.  Default is None.
269594
269595              NOTE:
269596                 Identifiers can be the GUID, the KB number, or  any  part  of
269597                 the Title of the Microsoft update. GUIDs and KBs are the pre‐
269598                 ferred method  to  ensure  you're  uninstalling  the  correct
269599                 update.
269600
269601              WARNING:
269602                 Using  a partial KB number or a partial Title could result in
269603                 more than one update being removed.
269604
269605              Returns
269606                     A dictionary containing the results of the removal
269607
269608              Return type
269609                     dict
269610
269611              CLI Example:
269612
269613                 # using a GUID
269614                 uninstall_update:
269615                   wua.removed:
269616                     - name: 28cf1b09-2b1a-458c-9bd1-971d1b26b211
269617
269618                 # using a KB
269619                 uninstall_update:
269620                   wua.removed:
269621                     - name: KB3194343
269622
269623                 # using the full Title
269624                 uninstall_update:
269625                   wua.removed:
269626                     - name: Security Update for Adobe Flash Player for Windows 10 Version 1607 (for x64-based Systems) (KB3194343)
269627
269628                 # Install multiple updates
269629                 uninstall_updates:
269630                   wua.removed:
269631                     - updates:
269632                       - KB3194343
269633                       - 28cf1b09-2b1a-458c-9bd1-971d1b26b211
269634
269635       salt.states.win_wua.uptodate(name,    software=True,     drivers=False,
269636       skip_hidden=False,    skip_mandatory=False,   skip_reboot=True,   cate‐
269637       gories=None, severities=None)
269638              Ensure Microsoft Updates that  match  the  passed  criteria  are
269639              installed.  Updates will be downloaded if needed.
269640
269641              This  state  allows  you to update a system without specifying a
269642              specific  update  to  apply.  All  matching  updates   will   be
269643              installed.
269644
269645              Parameters
269646
269647                     · name  (str)  -- The name has no functional value and is
269648                       only used as a tracking reference
269649
269650                     · software (bool) --  Include  software  updates  in  the
269651                       results (default is True)
269652
269653                     · drivers (bool) -- Include driver updates in the results
269654                       (default is False)
269655
269656                     · skip_hidden (bool) -- Skip updates that have been  hid‐
269657                       den. Default is False.
269658
269659                     · skip_mandatory   (bool)   --  Skip  mandatory  updates.
269660                       Default is False.
269661
269662                     · skip_reboot (bool)  --  Skip  updates  that  require  a
269663                       reboot. Default is True.
269664
269665                     · categories (list) --
269666
269667                       Specify  the  categories  to  list. Must be passed as a
269668                       list. All categories returned by default.
269669
269670                       Categories include the following:
269671
269672                       · Critical Updates
269673
269674                       · Definition Updates
269675
269676                       · Drivers (make sure you set drivers=True)
269677
269678                       · Feature Packs
269679
269680                       · Security Updates
269681
269682                       · Update Rollups
269683
269684                       · Updates
269685
269686                       · Update Rollups
269687
269688                       · Windows 7
269689
269690                       · Windows 8.1
269691
269692                       · Windows 8.1 drivers
269693
269694                       · Windows 8.1 and later drivers
269695
269696                       · Windows Defender
269697
269698
269699                     · severities (list) --
269700
269701                       Specify the severities to include. Must be passed as  a
269702                       list. All severities returned by default.
269703
269704                       Severities include the following:
269705
269706                       · Critical
269707
269708                       · Important
269709
269710
269711              Returns
269712                     A dictionary containing the results of the update
269713
269714              Return type
269715                     dict
269716
269717              CLI Example:
269718
269719                 # Update the system using the state defaults
269720                 update_system:
269721                   wua.uptodate
269722
269723                 # Update the drivers
269724                 update_drivers:
269725                   wua.uptodate:
269726                     - software: False
269727                     - drivers: True
269728                     - skip_reboot: False
269729
269730                 # Apply all critical updates
269731                 update_critical:
269732                   wua.uptodate:
269733                     - severities:
269734                       - Critical
269735
269736   salt.states.win_wusa module
269737       Microsoft Updates (KB) Management
269738
269739       This module provides the ability to enforce KB installations from files
269740       (.msu), without WSUS or Windows Update
269741
269742       New in version 2018.3.4.
269743
269744
269745       salt.states.win_wusa.installed(name, source)
269746              Ensure an update is installed on the minion
269747
269748              Parameters
269749
269750                     · name (str) -- Name of the Windows KB ("KB123456")
269751
269752                     · source (str) -- Source of .msu  file  corresponding  to
269753                       the KB
269754
269755              Example:
269756
269757                 KB123456:
269758                   wusa.installed:
269759                     - source: salt://kb123456.msu
269760
269761       salt.states.win_wusa.uninstalled(name)
269762              Ensure an update is uninstalled from the minion
269763
269764              Parameters
269765                     name (str) -- Name of the Windows KB ("KB123456")
269766
269767              Example:
269768
269769                 KB123456:
269770                   wusa.uninstalled
269771
269772   salt.states.winrepo
269773       Manage Windows Package Repository
269774
269775       salt.states.winrepo.genrepo(name, force=False, allow_empty=False)
269776              Refresh  the  winrepo.p  file  of  the repository (salt-run win‐
269777              repo.genrepo)
269778
269779              If force is True no checks will be made and the repository  will
269780              be  generated  if  allow_empty  is  True then the state will not
269781              return an error if there are 0 packages,
269782
269783              NOTE:
269784                 This state  only  loads  on  minions  that  have  the  roles:
269785                 salt-master grain set.
269786
269787              Example:
269788
269789                 winrepo:
269790                   winrepo.genrepo
269791
269792   salt.states.x509
269793       Manage X509 Certificates
269794
269795       New in version 2015.8.0.
269796
269797
269798       depends
269799              M2Crypto
269800
269801       This module can enable managing a complete PKI infrastructure including
269802       creating private keys, CAs, certificates  and  CRLs.  It  includes  the
269803       ability to generate a private key on a server, and have the correspond‐
269804       ing public key sent to a remote CA to create a CA  signed  certificate.
269805       This can be done in a secure manner, where private keys are always gen‐
269806       erated locally and never moved across the network.
269807
269808       Here is a simple example scenario. In this example ca is the ca server,
269809       and www is a web server that needs a certificate signed by ca.
269810
269811       For  remote  signing,  peers  must  be  permitted  to remotely call the
269812       sign_remote_certificate function.
269813
269814       /etc/salt/master.d/peer.conf
269815
269816          peer:
269817            .*:
269818              - x509.sign_remote_certificate
269819
269820       /srv/salt/top.sls
269821
269822          base:
269823            '*':
269824              - cert
269825            'ca':
269826              - ca
269827            'www':
269828              - www
269829
269830       This state creates the CA key, certificate and signing policy. It  also
269831       publishes  the certificate to the mine where it can be easily retrieved
269832       by other minions.
269833
269834       /srv/salt/ca.sls
269835
269836          salt-minion:
269837            service.running:
269838              - enable: True
269839              - listen:
269840                - file: /etc/salt/minion.d/signing_policies.conf
269841
269842          /etc/salt/minion.d/signing_policies.conf:
269843            file.managed:
269844              - source: salt://signing_policies.conf
269845
269846          /etc/pki:
269847            file.directory
269848
269849          /etc/pki/issued_certs:
269850            file.directory
269851
269852          /etc/pki/ca.crt:
269853            x509.certificate_managed:
269854              - signing_private_key: /etc/pki/ca.key
269855              - CN: ca.example.com
269856              - C: US
269857              - ST: Utah
269858              - L: Salt Lake City
269859              - basicConstraints: "critical CA:true"
269860              - keyUsage: "critical cRLSign, keyCertSign"
269861              - subjectKeyIdentifier: hash
269862              - authorityKeyIdentifier: keyid,issuer:always
269863              - days_valid: 3650
269864              - days_remaining: 0
269865              - backup: True
269866              - managed_private_key:
269867                  name: /etc/pki/ca.key
269868                  bits: 4096
269869                  backup: True
269870              - require:
269871                - file: /etc/pki
269872
269873          mine.send:
269874            module.run:
269875              - func: x509.get_pem_entries
269876              - kwargs:
269877                  glob_path: /etc/pki/ca.crt
269878              - onchanges:
269879                - x509: /etc/pki/ca.crt
269880
269881       The signing  policy  defines  properties  that  override  any  property
269882       requested or included in a CRL. It also can define a restricted list of
269883       minions which are allowed to remotely invoke this signing policy.
269884
269885       /srv/salt/signing_policies.conf
269886
269887          x509_signing_policies:
269888            www:
269889              - minions: 'www'
269890              - signing_private_key: /etc/pki/ca.key
269891              - signing_cert: /etc/pki/ca.crt
269892              - C: US
269893              - ST: Utah
269894              - L: Salt Lake City
269895              - basicConstraints: "critical CA:false"
269896              - keyUsage: "critical keyEncipherment"
269897              - subjectKeyIdentifier: hash
269898              - authorityKeyIdentifier: keyid,issuer:always
269899              - days_valid: 90
269900              - copypath: /etc/pki/issued_certs/
269901
269902       This state will instruct all minions to trust  certificates  signed  by
269903       our new CA.  Using Jinja to strip newlines from the text avoids dealing
269904       with newlines in the rendered YAML,  and  the   sign_remote_certificate
269905       state  will handle properly formatting the text before writing the out‐
269906       put.
269907
269908       /srv/salt/cert.sls
269909
269910          /usr/local/share/ca-certificates:
269911            file.directory
269912
269913          /usr/local/share/ca-certificates/intca.crt:
269914            x509.pem_managed:
269915              - text: {{ salt['mine.get']('ca', 'x509.get_pem_entries')['ca']['/etc/pki/ca.crt']|replace('\n', '') }}
269916
269917       This state creates a private key then requests a certificate signed  by
269918       ca according to the www policy.
269919
269920       /srv/salt/www.sls
269921
269922          /etc/pki/www.crt:
269923            x509.certificate_managed:
269924              - ca_server: ca
269925              - signing_policy: www
269926              - public_key: /etc/pki/www.key
269927              - CN: www.example.com
269928              - days_remaining: 30
269929              - backup: True
269930              - managed_private_key:
269931                  name: /etc/pki/www.key
269932                  bits: 4096
269933                  backup: True
269934
269935       salt.states.x509.certificate_managed(name,    days_remaining=90,   man‐
269936       aged_private_key=None, append_certs=None, **kwargs)
269937              Manage a Certificate
269938
269939              name   Path to the certificate
269940
269941              days_remaining
269942                     90 The minimum number of days remaining when the certifi‐
269943                     cate should be recreated. A value of 0 disables automatic
269944                     renewal.
269945
269946              managed_private_key
269947                     Manages the private key corresponding to the certificate.
269948                     All      of      the      arguments      supported     by
269949                     x509.private_key_managed are supported. If  name  is  not
269950                     specified  or is the same as the name of the certificate,
269951                     the private key and certificate will be written  together
269952                     in the same file.
269953
269954              append_certs:
269955                     A  list  of  certificates  to  be appended to the managed
269956                     file.
269957
269958              kwargs:
269959                     Any arguments  supported  by  x509.create_certificate  or
269960                     file.managed are supported.
269961
269962              Examples:
269963
269964                 /etc/pki/ca.crt:
269965                   x509.certificate_managed:
269966                     - signing_private_key: /etc/pki/ca.key
269967                     - CN: ca.example.com
269968                     - C: US
269969                     - ST: Utah
269970                     - L: Salt Lake City
269971                     - basicConstraints: "critical CA:true"
269972                     - keyUsage: "critical cRLSign, keyCertSign"
269973                     - subjectKeyIdentifier: hash
269974                     - authorityKeyIdentifier: keyid,issuer:always
269975                     - days_valid: 3650
269976                     - days_remaining: 0
269977                     - backup: True
269978
269979                 /etc/ssl/www.crt:
269980                   x509.certificate_managed:
269981                     - ca_server: pki
269982                     - signing_policy: www
269983                     - public_key: /etc/ssl/www.key
269984                     - CN: www.example.com
269985                     - days_valid: 90
269986                     - days_remaining: 30
269987                     - backup: True
269988
269989       salt.states.x509.crl_managed(name,   signing_private_key,  signing_pri‐
269990       vate_key_passphrase=None,       signing_cert=None,        revoked=None,
269991       days_valid=100,  digest=u'',  days_remaining=30, include_expired=False,
269992       **kwargs)
269993              Manage a Certificate Revocation List
269994
269995              name   Path to the certificate
269996
269997              signing_private_key
269998                     The private key that will be used to sign the  CRL.  This
269999                     is usually your CA's private key.
270000
270001              signing_private_key_passphrase
270002                     Passphrase to decrypt the private key.
270003
270004              signing_cert
270005                     The  certificate  of  the  authority that will be used to
270006                     sign the CRL.  This is usually your CA's certificate.
270007
270008              revoked
270009                     A list of certificates to revoke. Must include  either  a
270010                     serial number or a the certificate itself. Can optionally
270011                     include the revocation date and notAfter  date  from  the
270012                     certificate. See example below for details.
270013
270014              days_valid
270015                     100  The  number  of days the certificate should be valid
270016                     for.
270017
270018              digest The digest to use for signing the CRL. This has no effect
270019                     on versions of pyOpenSSL less than 0.14.
270020
270021              days_remaining
270022                     30 The CRL should be automatically recreated if there are
270023                     less than days_remaining days until the CRL expires.  Set
270024                     to 0 to disable automatic renewal.
270025
270026              include_expired
270027                     False If True, include expired certificates in the CRL.
270028
270029              kwargs Any arguments supported by file.managed are supported.
270030
270031              Example:
270032
270033                 /etc/pki/ca.crl:
270034                   x509.crl_managed:
270035                     - signing_private_key: /etc/pki/myca.key
270036                     - signing_cert: /etc/pki/myca.crt
270037                     - revoked:
270038                       - compromized_Web_key:
270039                         - certificate: /etc/pki/certs/badweb.crt
270040                         - revocation_date: 2015-03-01 00:00:00
270041                         - reason: keyCompromise
270042                       - terminated_vpn_user:
270043                         - serial_number: D6:D2:DC:D8:4D:5C:C0:F4
270044                         - not_after: 2016-01-01 00:00:00
270045                         - revocation_date: 2015-02-25 00:00:00
270046                         - reason: cessationOfOperation
270047
270048       salt.states.x509.csr_managed(name, **kwargs)
270049              Manage a Certificate Signing Request
270050
270051              name:  Path to the CSR
270052
270053              properties:
270054                     The  properties  to  be added to the certificate request,
270055                     including items like subject, extensions and public  key.
270056                     See above for valid properties.
270057
270058              kwargs:
270059                     Any arguments supported by file.managed are supported.
270060
270061              Example:
270062
270063                 /etc/pki/mycert.csr:
270064                   x509.csr_managed:
270065                      - private_key: /etc/pki/mycert.key
270066                      - CN: www.example.com
270067                      - C: US
270068                      - ST: Utah
270069                      - L: Salt Lake City
270070                      - keyUsage: 'critical dataEncipherment'
270071
270072       salt.states.x509.pem_managed(name, text, backup=False, **kwargs)
270073              Manage  the  contents of a PEM file directly with the content in
270074              text, ensuring correct formatting.
270075
270076              name:  The path to the file to manage
270077
270078              text:  The PEM formatted text to write.
270079
270080              kwargs:
270081                     Any arguments supported by file.managed are supported.
270082
270083       salt.states.x509.private_key_managed(name, bits=2048,  passphrase=None,
270084       cipher=u'aes_128_cbc',    new=False,   overwrite=False,   verbose=True,
270085       **kwargs)
270086              Manage a private key's existence.
270087
270088              name:  Path to the private key
270089
270090              bits:  Key length in bits. Default 2048.
270091
270092              passphrase:
270093                     Passphrase for encrypting the private key.
270094
270095              cipher:
270096                     Cipher for encrypting the private key.
270097
270098              new:   Always create a new key. Defaults  to  False.   Combining
270099                     new  with  prereq, or when used as part of a managed_pri‐
270100                     vate_key can allow key rotation whenever a  new  certifi‐
270101                     cate is generated.
270102
270103              overwrite:
270104                     Overwrite   an  existing  private  key  if  the  provided
270105                     passphrase cannot decrypt it.
270106
270107              verbose:
270108                     Provide visual feedback on stdout, dots while key is gen‐
270109                     erated.  Default is True.
270110
270111                     New in version 2016.11.0.
270112
270113
270114              kwargs:
270115                     Any kwargs supported by file.managed are supported.
270116
270117              Example:
270118
270119              The  JINJA  templating  in this example ensures a private key is
270120              generated if the file doesn't exist and that a new  private  key
270121              is  generated  whenever  the  certificate  that uses it is to be
270122              renewed.
270123
270124                 /etc/pki/www.key:
270125                   x509.private_key_managed:
270126                     - bits: 4096
270127                     - new: True
270128                     {% if salt['file.file_exists']('/etc/pki/www.key') -%}
270129                     - prereq:
270130                       - x509: /etc/pki/www.crt
270131                     {%- endif %}
270132
270133   salt.states.xml
270134   XML Manager
270135       State managment of XML files
270136
270137       salt.states.xml.value_present(name, xpath, value, **kwargs)
270138              New in version 3000.
270139
270140
270141              Manages a given XML file
270142
270143              name   string The location of the XML  file  to  manage,  as  an
270144                     absolute path.
270145
270146              xpath  string xpath location to manage
270147
270148              value  string value to ensure present
270149
270150                 ensure_value_true:
270151                   xml.value_present:
270152                     - name: /tmp/test.xml
270153                     - xpath: .//playwright[@id='1']
270154                     - value: William Shakespeare
270155
270156   salt.states.xmpp
270157   Sending Messages over XMPP
270158       New in version 2014.1.0.
270159
270160
270161       This  state  is useful for firing messages during state runs, using the
270162       XMPP protocol
270163
270164          server-warning-message:
270165            xmpp.send_msg:
270166              - name: 'This is a server warning message'
270167              - profile: my-xmpp-account
270168              - recipient: admins@xmpp.example.com/salt
270169
270170       salt.states.xmpp.send_msg(name, recipient, profile)
270171              Send a message to an XMPP user
270172
270173                 server-warning-message:
270174                   xmpp.send_msg:
270175                     - name: 'This is a server warning message'
270176                     - profile: my-xmpp-account
270177                     - recipient: admins@xmpp.example.com/salt
270178
270179              name   The message to send to the XMPP user
270180
270181       salt.states.xmpp.send_msg_multi(name,     profile,     recipients=None,
270182       rooms=None)
270183              Send a message to an list of recipients or rooms
270184
270185                 server-warning-message:
270186                   xmpp.send_msg:
270187                     - name: 'This is a server warning message'
270188                     - profile: my-xmpp-account
270189                     - recipients:
270190                       - admins@xmpp.example.com/salt
270191                     - rooms:
270192                       - qa@conference.xmpp.example.com
270193
270194              name   The message to send to the XMPP user
270195
270196   salt.states.zabbix_action
270197       New in version 2017.7.
270198
270199
270200       Management of Zabbix Action object over Zabbix API.
270201
270202       codeauthor
270203              Jakub Sliva <jakub.sliva@ultimum.io>
270204
270205       salt.states.zabbix_action.absent(name, **kwargs)
270206              Makes  the  Zabbix Action to be absent (either does not exist or
270207              delete it).
270208
270209              Parameters
270210
270211                     · name -- Zabbix Action name
270212
270213                     · _connection_user -- Optional - zabbix user (can also be
270214                       set in opts or pillar, see module's docstring)
270215
270216                     · _connection_password -- Optional - zabbix password (can
270217                       also be set in opts or pillar, see module's docstring)
270218
270219                     · _connection_url -- Optional - url  of  zabbix  frontend
270220                       (can  also  be  set  in opts, pillar, see module's doc‐
270221                       string)
270222
270223                 zabbix-action-absent:
270224                     zabbix_action.absent:
270225                         - name: Action name
270226
270227       salt.states.zabbix_action.present(name, params, **kwargs)
270228              Creates Zabbix Action object or if differs update  it  according
270229              defined parameters
270230
270231              Parameters
270232
270233                     · name -- Zabbix Action name
270234
270235                     · params -- Definition of the Zabbix Action
270236
270237                     · _connection_user -- Optional - zabbix user (can also be
270238                       set in opts or pillar, see module's docstring)
270239
270240                     · _connection_password -- Optional - zabbix password (can
270241                       also be set in opts or pillar, see module's docstring)
270242
270243                     · _connection_url  --  Optional  - url of zabbix frontend
270244                       (can also be set in opts,  pillar,  see  module's  doc‐
270245                       string)
270246
270247              If  there  is  a  need to get a value from current zabbix online
270248              (e.g. id of a hostgroup you want  to  put  a  discovered  system
270249              into),  put  a  dictionary  with  two  keys  "query_object"  and
270250              "query_name" instead of the value.  In this example we  want  to
270251              get  object  id of hostgroup named "Virtual machines" and "Data‐
270252              bases".
270253
270254                 zabbix-action-present:
270255                     zabbix_action.present:
270256                         - name: VMs
270257                         - params:
270258                             eventsource: 2
270259                             status: 0
270260                             filter:
270261                                 evaltype: 2
270262                                 conditions:
270263                                     - conditiontype: 24
270264                                       operator: 2
270265                                       value: 'virtual'
270266                                     - conditiontype: 24
270267                                       operator: 2
270268                                       value: 'kvm'
270269                             operations:
270270                                 - operationtype: 2
270271                                 - operationtype: 4
270272                                   opgroup:
270273                                       - groupid:
270274                                           query_object: hostgroup
270275                                           query_name: Virtual machines
270276                                       - groupid:
270277                                           query_object: hostgroup
270278                                           query_name: Databases
270279
270280   salt.states.zabbix_host module
270281       Management of Zabbix hosts.
270282
270283       codeauthor
270284              Jiri Kotlin <jiri.kotlin@ultimum.io>
270285
270286       salt.states.zabbix_host.absent(name, **kwargs)
270287              Ensures that the host does not exists, eventually deletes host.
270288
270289              New in version 2016.3.0.
270290
270291
270292              Param  name: technical name of the host
270293
270294              Parameters
270295
270296                     · _connection_user -- Optional - zabbix user (can also be
270297                       set in opts or pillar, see module's docstring)
270298
270299                     · _connection_password -- Optional - zabbix password (can
270300                       also be set in opts or pillar, see module's docstring)
270301
270302                     · _connection_url -- Optional - url  of  zabbix  frontend
270303                       (can  also  be  set  in opts, pillar, see module's doc‐
270304                       string)
270305
270306                 TestHostWithInterfaces:
270307                     zabbix_host.absent
270308
270309       salt.states.zabbix_host.assign_templates(host, templates, **kwargs)
270310              Ensures that templates are assigned to the host.
270311
270312              New in version 2017.7.0.
270313
270314
270315              Parameters
270316
270317                     · host -- technical name of the host
270318
270319                     · _connection_user -- Optional - zabbix user (can also be
270320                       set in opts or pillar, see module's docstring)
270321
270322                     · _connection_password -- Optional - zabbix password (can
270323                       also be set in opts or pillar, see module's docstring)
270324
270325                     · _connection_url -- Optional - url  of  zabbix  frontend
270326                       (can  also  be  set  in opts, pillar, see module's doc‐
270327                       string)
270328
270329                 add_zabbix_templates_to_host:
270330                     zabbix_host.assign_templates:
270331                         - host: TestHost
270332                         - templates:
270333                             - "Template OS Linux"
270334                             - "Template App MySQL"
270335
270336       salt.states.zabbix_host.present(host, groups, interfaces, **kwargs)
270337              Ensures that the  host  exists,  eventually  creates  new  host.
270338              NOTE:  please  use  argument visible_name instead of name to not
270339              mess with name from salt sls. This function accepts all standard
270340              host properties: keyword argument names differ depending on your
270341              zabbix                       version,                       see:
270342              https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host
270343
270344              New in version 2016.3.0.
270345
270346
270347              Parameters
270348
270349                     · host -- technical name of the host
270350
270351                     · groups -- groupids of host groups to add the host to
270352
270353                     · interfaces -- interfaces to be created for the host
270354
270355                     · proxy_host -- Optional proxy name or proxyid to monitor
270356                       host
270357
270358                     · inventory  -- Optional list of inventory names and val‐
270359                       ues
270360
270361                     · _connection_user -- Optional - zabbix user (can also be
270362                       set in opts or pillar, see module's docstring)
270363
270364                     · _connection_password -- Optional - zabbix password (can
270365                       also be set in opts or pillar, see module's docstring)
270366
270367                     · _connection_url -- Optional - url  of  zabbix  frontend
270368                       (can  also  be  set  in opts, pillar, see module's doc‐
270369                       string)
270370
270371                     · visible_name -- Optional - string with visible name  of
270372                       the   host,   use   'visible_name'  instead  of  'name'
270373                       parameter to not mess with value supplied from Salt sls
270374                       file.
270375
270376                 create_test_host:
270377                     zabbix_host.present:
270378                         - host: TestHostWithInterfaces
270379                         - proxy_host: 12345
270380                         - groups:
270381                             - 5
270382                             - 6
270383                             - 7
270384                         - interfaces:
270385                             - test1.example.com:
270386                                 - ip: '192.168.1.8'
270387                                 - type: 'Agent'
270388                                 - port: 92
270389                             - testing2_create:
270390                                 - ip: '192.168.1.9'
270391                                 - dns: 'test2.example.com'
270392                                 - type: 'agent'
270393                                 - main: false
270394                             - testovaci1_ipmi:
270395                                 - ip: '192.168.100.111'
270396                                 - type: 'ipmi'
270397                         - inventory:
270398                             - alias: some alias
270399                             - asset_tag: jlm3937
270400
270401   salt.states.zabbix_hostgroup module
270402       Management of Zabbix host groups.
270403
270404       codeauthor
270405              Jiri Kotlin <jiri.kotlin@ultimum.io>
270406
270407       salt.states.zabbix_hostgroup.absent(name, **kwargs)
270408              Ensures  that  the  host group does not exist, eventually delete
270409              host group.
270410
270411              New in version 2016.3.0.
270412
270413
270414              Parameters
270415
270416                     · name -- name of the host group
270417
270418                     · _connection_user -- Optional - zabbix user (can also be
270419                       set in opts or pillar, see module's docstring)
270420
270421                     · _connection_password -- Optional - zabbix password (can
270422                       also be set in opts or pillar, see module's docstring)
270423
270424                     · _connection_url -- Optional - url  of  zabbix  frontend
270425                       (can  also  be  set  in opts, pillar, see module's doc‐
270426                       string)
270427
270428                 delete_testing_host_group:
270429                     zabbix_hostgroup.absent:
270430                         - name: 'My hostgroup name'
270431
270432       salt.states.zabbix_hostgroup.present(name, **kwargs)
270433              Ensures that the host group exists, eventually creates new  host
270434              group.
270435
270436              New in version 2016.3.0.
270437
270438
270439              Parameters
270440
270441                     · name -- name of the host group
270442
270443                     · _connection_user -- Optional - zabbix user (can also be
270444                       set in opts or pillar, see module's docstring)
270445
270446                     · _connection_password -- Optional - zabbix password (can
270447                       also be set in opts or pillar, see module's docstring)
270448
270449                     · _connection_url  --  Optional  - url of zabbix frontend
270450                       (can also be set in opts,  pillar,  see  module's  doc‐
270451                       string)
270452
270453                 create_testing_host_group:
270454                     zabbix_hostgroup.present:
270455                         - name: 'My hostgroup name'
270456
270457   salt.states.zabbix_mediatype module
270458       Management of Zabbix mediatypes.
270459
270460       codeauthor
270461              Raymond Kuiper <qix@the-wired.net>
270462
270463       salt.states.zabbix_mediatype.absent(name, **kwargs)
270464              Ensures  that  the  mediatype does not exist, eventually deletes
270465              the mediatype.
270466
270467              Parameters
270468
270469                     · name -- name of the mediatype
270470
270471                     · _connection_user -- Optional - zabbix user (can also be
270472                       set in opts or pillar, see module's docstring)
270473
270474                     · _connection_password -- Optional - zabbix password (can
270475                       also be set in opts or pillar, see module's docstring)
270476
270477                     · _connection_url -- Optional - url  of  zabbix  frontend
270478                       (can  also  be  set  in opts, pillar, see module's doc‐
270479                       string)
270480
270481                 delete_mediatype:
270482                     zabbix_mediatype.absent:
270483                         - name: 'Email'
270484
270485       salt.states.zabbix_mediatype.present(name, mediatype, **kwargs)
270486              Creates new mediatype.  NOTE: This function accepts all standard
270487              mediatype properties: keyword argument names differ depending on
270488              your              zabbix              version,              see:
270489              https://www.zabbix.com/documentation/3.0/manual/api/reference/host/object#host_inventory
270490
270491              Parameters
270492
270493                     · name -- name of the mediatype
270494
270495                     · _connection_user -- Optional - zabbix user (can also be
270496                       set in opts or pillar, see module's docstring)
270497
270498                     · _connection_password -- Optional - zabbix password (can
270499                       also be set in opts or pillar, see module's docstring)
270500
270501                     · _connection_url -- Optional - url  of  zabbix  frontend
270502                       (can  also  be  set  in opts, pillar, see module's doc‐
270503                       string)
270504
270505                 make_new_mediatype:
270506                     zabbix_mediatype.present:
270507                         - name: 'Email'
270508                         - mediatype: 0
270509                         - smtp_server: smtp.example.com
270510                         - smtp_hello: zabbix.example.com
270511                         - smtp_email: zabbix@example.com
270512
270513   salt.states.zabbix_template
270514       New in version 2017.7.
270515
270516
270517       Management of Zabbix Template object over Zabbix API.
270518
270519       codeauthor
270520              Jakub Sliva <jakub.sliva@ultimum.io>
270521
270522       salt.states.zabbix_template.absent(name, **kwargs)
270523              Makes the Zabbix Template to be absent (either does not exist or
270524              delete it).
270525
270526              Parameters
270527
270528                     · name -- Zabbix Template name
270529
270530                     · _connection_user -- Optional - zabbix user (can also be
270531                       set in opts or pillar, see module's docstring)
270532
270533                     · _connection_password -- Optional - zabbix password (can
270534                       also be set in opts or pillar, see module's docstring)
270535
270536                     · _connection_url  --  Optional  - url of zabbix frontend
270537                       (can also be set in opts,  pillar,  see  module's  doc‐
270538                       string)
270539
270540                 zabbix-template-absent:
270541                     zabbix_template.absent:
270542                         - name: Ceph OSD
270543
270544       salt.states.zabbix_template.is_present(name, **kwargs)
270545              Check if Zabbix Template already exists.
270546
270547              Parameters
270548
270549                     · name -- Zabbix Template name
270550
270551                     · _connection_user -- Optional - zabbix user (can also be
270552                       set in opts or pillar, see module's docstring)
270553
270554                     · _connection_password -- Optional - zabbix password (can
270555                       also be set in opts or pillar, see module's docstring)
270556
270557                     · _connection_url  --  Optional  - url of zabbix frontend
270558                       (can also be set in opts,  pillar,  see  module's  doc‐
270559                       string)
270560
270561                 does_zabbix-template-exist:
270562                     zabbix_template.is_present:
270563                         - name: Template OS Linux
270564
270565       salt.states.zabbix_template.present(name,                       params,
270566       static_host_list=True, **kwargs)
270567              Creates Zabbix Template object or if differs update it according
270568              defined parameters. See Zabbix API documentation.
270569
270570              Zabbix API version: >3.0
270571
270572              Parameters
270573
270574                     · name -- Zabbix Template name
270575
270576                     · params -- Additional parameters according to Zabbix API
270577                       documentation
270578
270579                     · static_host_list -- If hosts assigned to  the  template
270580                       are  controlled  only  by  this  state  or  can be also
270581                       assigned externally
270582
270583                     · _connection_user -- Optional - zabbix user (can also be
270584                       set in opts or pillar, see module's docstring)
270585
270586                     · _connection_password -- Optional - zabbix password (can
270587                       also be set in opts or pillar, see module's docstring)
270588
270589                     · _connection_url -- Optional - url  of  zabbix  frontend
270590                       (can  also  be  set  in opts, pillar, see module's doc‐
270591                       string)
270592
270593              NOTE:
270594                 If there is a need to get a value from current zabbix  online
270595                 (e.g.  ids of host groups you want the template to be associ‐
270596                 ated with), put a dictionary with two keys "query_object" and
270597                 "query_name"  instead  of the value.  In this example we want
270598                 to create template named "Testing  Template",  assign  it  to
270599                 hostgroup  Templates,  link it to two ceph nodes and create a
270600                 macro.
270601
270602              NOTE:
270603                 IMPORTANT NOTE: Objects (except for template name) are  iden‐
270604                 tified by name (or by other key in some exceptional cases) so
270605                 changing name of object means deleting old one  and  creating
270606                 new one with new ID !!!
270607
270608              NOTE:
270609
270610                 NOT SUPPORTED FEATURES:
270611
270612                        · linked templates
270613
270614                        · trigger dependencies
270615
270616                        · groups and group prototypes for host prototypes
270617
270618              SLS Example:
270619
270620                 zabbix-template-present:
270621                     zabbix_template.present:
270622                         - name: Testing Template
270623                         # Do not touch existing assigned hosts
270624                         # True will detach all other hosts than defined here
270625                         - static_host_list: False
270626                         - params:
270627                             description: Template for Ceph nodes
270628                             groups:
270629                                 # groups must already exist
270630                                 # template must be at least in one hostgroup
270631                                 - groupid:
270632                                     query_object: hostgroup
270633                                     query_name: Templates
270634                             macros:
270635                                 - macro: "{$CEPH_CLUSTER_NAME}"
270636                                   value: ceph
270637                             hosts:
270638                                 # hosts must already exist
270639                                 - hostid:
270640                                     query_object: host
270641                                     query_name: ceph-osd-01
270642                                 - hostid:
270643                                     query_object: host
270644                                     query_name: ceph-osd-02
270645                             # templates:
270646                             # Linked templates - not supported by state module but can be linked manually (will not be touched)
270647
270648                             applications:
270649                                 - name: Ceph OSD
270650                             items:
270651                                 - name: Ceph OSD avg fill item
270652                                   key_: ceph.osd_avg_fill
270653                                   type: 2
270654                                   value_type: 0
270655                                   delay: 60
270656                                   units: '%'
270657                                   description: 'Average fill of OSD'
270658                                   applications:
270659                                       - applicationid:
270660                                           query_object: application
270661                                           query_name: Ceph OSD
270662                             triggers:
270663                                 - description: "Ceph OSD filled more that 90%"
270664                                   expression: "{{'{'}}Testing Template:ceph.osd_avg_fill.last(){{'}'}}>90"
270665                                   priority: 4
270666                             discoveries:
270667                                 - name: Mounted filesystem discovery
270668                                   key_: vfs.fs.discovery
270669                                   type: 0
270670                                   delay: 60
270671                                   itemprototypes:
270672                                       - name: Free disk space on {{'{#'}}FSNAME}
270673                                         key_: vfs.fs.size[{{'{#'}}FSNAME},free]
270674                                         type: 0
270675                                         value_type: 3
270676                                         delay: 60
270677                                         applications:
270678                                             - applicationid:
270679                                                 query_object: application
270680                                                 query_name: Ceph OSD
270681                                   triggerprototypes:
270682                                       - description: "Free disk space is less than 20% on volume {{'{#'}}FSNAME{{'}'}}"
270683                                         expression: "{{'{'}}Testing Template:vfs.fs.size[{{'{#'}}FSNAME},free].last(){{'}'}}<20"
270684                             graphs:
270685                                 - name: Ceph OSD avg fill graph
270686                                   width: 900
270687                                   height: 200
270688                                   graphtype: 0
270689                                   gitems:
270690                                       - color: F63100
270691                                         itemid:
270692                                           query_object: item
270693                                           query_name: Ceph OSD avg fill item
270694                             screens:
270695                                 - name: Ceph
270696                                   hsize: 1
270697                                   vsize: 1
270698                                   screenitems:
270699                                       - x: 0
270700                                         y: 0
270701                                         resourcetype: 0
270702                                         resourceid:
270703                                             query_object: graph
270704                                             query_name: Ceph OSD avg fill graph
270705
270706   salt.states.zabbix_user module
270707       Management of Zabbix users.
270708
270709       codeauthor
270710              Jiri Kotlin <jiri.kotlin@ultimum.io>
270711
270712       salt.states.zabbix_user.absent(name, **kwargs)
270713              Ensures that the user does not exist, eventually delete user.
270714
270715              New in version 2016.3.0.
270716
270717
270718              Parameters
270719
270720                     · name -- user alias
270721
270722                     · _connection_user -- Optional - zabbix user (can also be
270723                       set in opts or pillar, see module's docstring)
270724
270725                     · _connection_password -- Optional - zabbix password (can
270726                       also be set in opts or pillar, see module's docstring)
270727
270728                     · _connection_url  --  Optional  - url of zabbix frontend
270729                       (can also be set in opts,  pillar,  see  module's  doc‐
270730                       string)
270731
270732                 George:
270733                     zabbix_user.absent
270734
270735       salt.states.zabbix_user.admin_password_present(name,     password=None,
270736       **kwargs)
270737
270738              Initial change of Zabbix Admin password to password  taken  from
270739              one of the sources (only the most prioritized one):
270740
270741                     1. 'password' parameter
270742
270743                     2. '_connection_password' parameter
270744
270745                     3. pillar 'zabbix.password' setting
270746
270747              1. Tries  to  log in as Admin with password found in state pass‐
270748                 word parameter or _connection_password or pillar  or  default
270749                 zabbix  password  in  this  precise  order, if any of them is
270750                 present.
270751
270752              2. If one of above passwords matches, it  tries  to  change  the
270753                 password to the most prioritized one.
270754
270755              3. If not able to connect with any password then it fails.
270756
270757              Parameters
270758
270759                     · name -- Just a name of state
270760
270761                     · password -- Optional - desired password for Admin to be
270762                       set
270763
270764                     · _connection_user -- Optional - Ignored  in  this  state
270765                       (always assumed 'Admin')
270766
270767                     · _connection_password -- Optional - zabbix password (can
270768                       also be set in opts or pillar, see module's docstring)
270769
270770                     · _connection_url -- Optional - url  of  zabbix  frontend
270771                       (can  also  be  set  in opts, pillar, see module's doc‐
270772                       string)
270773
270774                 # password taken from pillar or _connection_password
270775                 zabbix-admin-password:
270776                     zabbix_user.admin_password_present
270777
270778                 # directly set password
270779                 zabbix-admin-password:
270780                     zabbix_user.admin_password_present:
270781                         - password: SECRET_PASS
270782
270783       salt.states.zabbix_user.present(alias,  passwd,  usrgrps,  medias=None,
270784       password_reset=False, **kwargs)
270785              Ensures  that  the  user  exists,  eventually  creates new user.
270786              NOTE: use argument firstname instead of name to not mess  values
270787              with name from salt sls.
270788
270789              New in version 2016.3.0.
270790
270791
270792              Parameters
270793
270794                     · alias -- user alias
270795
270796                     · passwd -- user's password
270797
270798                     · usrgrps -- user groups to add the user to
270799
270800                     · medias -- Optional - user's medias to create
270801
270802                     · password_reset  --  whether or not to reset password at
270803                       update
270804
270805                     · _connection_user -- Optional - zabbix user (can also be
270806                       set in opts or pillar, see module's docstring)
270807
270808                     · _connection_password -- Optional - zabbix password (can
270809                       also be set in opts or pillar, see module's docstring)
270810
270811                     · _connection_url -- Optional - url  of  zabbix  frontend
270812                       (can  also  be  set  in opts, pillar, see module's doc‐
270813                       string)
270814
270815                     · firstname -- string with firstname  of  the  user,  use
270816                       'firstname'  instead  of  'name'  parameter to not mess
270817                       with value supplied from Salt sls file.
270818
270819                 make_user:
270820                     zabbix_user.present:
270821                         - alias: George
270822                         - passwd: donottellanyonE@456x
270823                         - password_reset: True
270824                         - usrgrps:
270825                             - 13
270826                             - 7
270827                         - medias:
270828                             - me@example.com:
270829                                 - mediatype: mail
270830                                 - period: '1-7,00:00-24:00'
270831                                 - severity: NIWAHD
270832                             - make_jabber:
270833                                 - active: true
270834                                 - mediatype: jabber
270835                                 - period: '1-5,08:00-19:00'
270836                                 - sendto: jabbera@example.com
270837                             - text_me_morning_disabled:
270838                                 - active: false
270839                                 - mediatype: sms
270840                                 - period: '1-5,09:30-10:00'
270841                                 - severity: D
270842                                 - sendto: '+42032132588568'
270843
270844   salt.states.zabbix_usergroup module
270845       Management of Zabbix user groups.
270846
270847       codeauthor
270848              Jiri Kotlin <jiri.kotlin@ultimum.io>
270849
270850       salt.states.zabbix_usergroup.absent(name, **kwargs)
270851              Ensures that the user group does not  exist,  eventually  delete
270852              user group.
270853
270854              New in version 2016.3.0.
270855
270856
270857              Parameters
270858
270859                     · name -- name of the user group
270860
270861                     · _connection_user -- Optional - zabbix user (can also be
270862                       set in opts or pillar, see module's docstring)
270863
270864                     · _connection_password -- Optional - zabbix password (can
270865                       also be set in opts or pillar, see module's docstring)
270866
270867                     · _connection_url  --  Optional  - url of zabbix frontend
270868                       (can also be set in opts,  pillar,  see  module's  doc‐
270869                       string)
270870
270871                 delete_thai_monks_usrgrp:
270872                     zabbix_usergroup.absent:
270873                         - name: 'Thai monks'
270874
270875       salt.states.zabbix_usergroup.present(name, **kwargs)
270876              Creates  new  user group.  NOTE: This function accepts all stan‐
270877              dard  user  group  properties:  keyword  argument  names  differ
270878              depending       on      your      zabbix      version,      see:
270879              https://www.zabbix.com/documentation/2.0/manual/appendix/api/usergroup/definitions#user_group
270880
270881              New in version 2016.3.0.
270882
270883
270884              Parameters
270885
270886                     · name -- name of the user group
270887
270888                     · _connection_user -- Optional - zabbix user (can also be
270889                       set in opts or pillar, see module's docstring)
270890
270891                     · _connection_password -- Optional - zabbix password (can
270892                       also be set in opts or pillar, see module's docstring)
270893
270894                     · _connection_url  --  Optional  - url of zabbix frontend
270895                       (can also be set in opts,  pillar,  see  module's  doc‐
270896                       string)
270897
270898                 make_new_thai_monks_usergroup:
270899                     zabbix_usergroup.present:
270900                         - name: 'Thai monks'
270901                         - gui_access: 1
270902                         - debug_mode: 0
270903                         - users_status: 0
270904
270905   salt.states.zabbix_valuemap
270906       New in version 2017.7.
270907
270908
270909       Management of Zabbix Valuemap object over Zabbix API.
270910
270911       codeauthor
270912              Jakub Sliva <jakub.sliva@ultimum.io>
270913
270914       salt.states.zabbix_valuemap.absent(name, **kwargs)
270915              Makes  the  Zabbix Value map to be absent (either does not exist
270916              or delete it).
270917
270918              Parameters
270919
270920                     · name -- Zabbix Value map name
270921
270922                     · _connection_user -- Optional - zabbix user (can also be
270923                       set in opts or pillar, see module's docstring)
270924
270925                     · _connection_password -- Optional - zabbix password (can
270926                       also be set in opts or pillar, see module's docstring)
270927
270928                     · _connection_url -- Optional - url  of  zabbix  frontend
270929                       (can  also  be  set  in opts, pillar, see module's doc‐
270930                       string)
270931
270932                 zabbix-valuemap-absent:
270933                     zabbix_valuemap.absent:
270934                         - name: Value map name
270935
270936       salt.states.zabbix_valuemap.present(name, params, **kwargs)
270937              Creates Zabbix Value map object or if differs update it  accord‐
270938              ing defined parameters
270939
270940              Parameters
270941
270942                     · name -- Zabbix Value map name
270943
270944                     · params -- Definition of the Zabbix Value map
270945
270946                     · _connection_user -- Optional - zabbix user (can also be
270947                       set in opts or pillar, see module's docstring)
270948
270949                     · _connection_password -- Optional - zabbix password (can
270950                       also be set in opts or pillar, see module's docstring)
270951
270952                     · _connection_url  --  Optional  - url of zabbix frontend
270953                       (can also be set in opts,  pillar,  see  module's  doc‐
270954                       string)
270955
270956                 zabbix-valuemap-present:
270957                     zabbix_valuemap.present:
270958                         - name: Number mapping
270959                         - params:
270960                             mappings:
270961                                 - value: 1
270962                                   newvalue: one
270963                                 - value: 2
270964                                   newvalue: two
270965
270966   salt.states.zcbuildout
270967   Management of zc.buildout
270968       This   module   is   inspired   from   minitage's   buildout  maker  (‐
270969       https://github.com/minitage/minitage/blob/master/src/minitage/core/mak
270970       ers/buildout.py)
270971
270972       New in version 2016.3.0.
270973
270974
270975       NOTE:
270976          This state module is beta; the API is subject to change and no prom‐
270977          ise as to performance or functionality is yet present
270978
270979   Available Functions
270980       · built
270981
270982            installed1
270983              buildout.installed:
270984                - name: /path/to/buildout
270985
270986            installed2
270987              buildout.installed:
270988                - name: /path/to/buildout
270989                - parts:
270990                  - a
270991                  - b
270992                - python: /path/to/pythonpath/bin/python
270993                - unless: /bin/test_something_installed
270994                - onlyif: /bin/test_else_installed
270995
270996       salt.states.zcbuildout.installed(name,          config=u'buildout.cfg',
270997       quiet=False,    parts=None,   user=None,   env=(),   buildout_ver=None,
270998       test_release=False, distribute=None, new_st=None,  offline=False,  new‐
270999       est=False,    python='/usr/bin/python',   debug=False,   verbose=False,
271000       unless=None, onlyif=None, use_vt=False, loglevel=u'debug', **kwargs)
271001              Install buildout in a specific directory
271002
271003              It is a thin wrapper to modules.buildout.buildout
271004
271005              name   directory to execute in
271006
271007              quiet
271008                 do not output console & logs
271009
271010              config buildout config to use (default: buildout.cfg)
271011
271012              parts  specific buildout parts to run
271013
271014              user   user used to run buildout as
271015
271016                     New in version 2014.1.4.
271017
271018
271019              env    environment variables to set when running
271020
271021              buildout_ver
271022                     force a specific buildout version (1 | 2)
271023
271024              test_release
271025                     buildout accept test release
271026
271027              new_st Forcing use of setuptools >= 0.7
271028
271029              distribute
271030                     use distribute over setuptools if possible
271031
271032              offline
271033                     does buildout run offline
271034
271035              python python to use
271036
271037              debug  run buildout with -D debug flag
271038
271039              onlyif Only execute cmd if statement on the host return 0
271040
271041              unless Do not execute cmd if statement on the host return 0
271042
271043              newest run buildout in newest mode
271044
271045              verbose
271046                     run buildout in verbose mode (-vvvvv)
271047
271048              use_vt Use the new salt VT to stream output [experimental]
271049
271050              loglevel
271051                     loglevel for buildout commands
271052
271053   salt.states.zenoss
271054       State to manage monitoring in Zenoss.
271055
271056       New in version 2016.3.0.
271057
271058
271059       This state module depends on the 'zenoss' Salt execution module.
271060
271061       Allows for setting a state of minions in Zenoss using the  Zenoss  API.
271062       Currently Zenoss 4.x and 5.x are supported.
271063
271064          enable_monitoring:
271065            zenoss.monitored:
271066              - name: web01.example.com
271067              - device_class: /Servers/Linux
271068              - collector: localhost
271069              - prod_state: 1000
271070
271071       salt.states.zenoss.monitored(name,      device_class=None,      collec‐
271072       tor=u'localhost', prod_state=None)
271073              Ensure a device is monitored. The 'name' given will be used  for
271074              Zenoss device name and should be resolvable.
271075
271076                 enable_monitoring:
271077                   zenoss.monitored:
271078                     - name: web01.example.com
271079                     - device_class: /Servers/Linux
271080                     - collector: localhost
271081                     - prod_state: 1000
271082
271083   salt.states.zk_concurrency
271084   Control concurrency of steps within state execution using zookeeper
271085       depends
271086              kazoo
271087
271088       configuration
271089              See salt.modules.zookeeper for setup instructions.
271090
271091       This  module  allows you to "wrap" a state's execution with concurrency
271092       control.  This is useful to protect against all hosts  executing  high‐
271093       state simultaneously if your services don't all HUP restart. The common
271094       way of protecting against this is  to  run  in  batch  mode,  but  that
271095       doesn't protect from another person running the same batch command (and
271096       thereby having 2x the number of nodes deploying at once).
271097
271098       This module will bock while acquiring a slot, meaning that however  the
271099       command gets called it will coordinate with zookeeper to ensure that no
271100       more than max_concurrency steps are executing with a single path.
271101
271102          acquire_lock:
271103            zk_concurrency.lock:
271104              - name: /trafficeserver
271105              - zk_hosts: 'zookeeper:2181'
271106              - max_concurrency: 4
271107              - prereq:
271108                  - service: trafficserver
271109
271110          trafficserver:
271111            service.running:
271112              - watch:
271113                - file: /etc/trafficserver/records.config
271114
271115          /etc/trafficserver/records.config:
271116            file.managed:
271117              - source: salt://records.config
271118
271119          release_lock:
271120            zk_concurrency.unlock:
271121              - name: /trafficserver
271122              - require:
271123                  - service: trafficserver
271124
271125       This example would allow the file state to change, but would limit  the
271126       concurrency of the trafficserver service restart to 4.
271127
271128       salt.states.zk_concurrency.lock(name,  zk_hosts=None,  identifier=None,
271129       max_concurrency=1, timeout=None,  ephemeral_lease=False,  profile=None,
271130       scheme=None, username=None, password=None, default_acl=None)
271131              Block state execution until you are able to get the lock (or hit
271132              the timeout)
271133
271134       salt.states.zk_concurrency.min_party(name, zk_hosts, min_nodes,  block‐
271135       ing=False,  profile=None,  scheme=None,  username=None,  password=None,
271136       default_acl=None)
271137              Ensure that there are min_nodes in the party at name, optionally
271138              blocking if not available.
271139
271140       salt.states.zk_concurrency.unlock(name, zk_hosts=None, identifier=None,
271141       max_concurrency=1,  ephemeral_lease=False,  profile=None,  scheme=None,
271142       username=None, password=None, default_acl=None)
271143              Remove lease from semaphore.
271144
271145   salt.states.zfs
271146       States for managing zfs datasets
271147
271148       maintainer
271149              Jorge Schrauwen <sjorge@blackdot.be>
271150
271151       maturity
271152              new
271153
271154       depends
271155              salt.utils.zfs, salt.modules.zfs
271156
271157       platform
271158              smartos, illumos, solaris, freebsd, linux
271159
271160       New in version 2016.3.0.
271161
271162
271163       Changed  in  version  2018.3.1:  Big refactor to remove duplicate code,
271164       better type converions and improved consistancy in output.
271165
271166
271167          test/shares/yuki:
271168            zfs.filesystem_present:
271169              - create_parent: true
271170              - properties:
271171                  quota: 16G
271172
271173          test/iscsi/haruhi:
271174            zfs.volume_present:
271175              - create_parent: true
271176              - volume_size: 16M
271177              - sparse: true
271178              - properties:
271179                  readonly: on
271180
271181          test/shares/yuki@frozen:
271182            zfs.snapshot_present
271183
271184          moka_origin:
271185            zfs.hold_present:
271186              - snapshot: test/shares/yuki@frozen
271187
271188          test/shares/moka:
271189            zfs.filesystem_present:
271190              - cloned_from: test/shares/yuki@frozen
271191
271192          test/shares/moka@tsukune:
271193            zfs.snapshot_absent
271194
271195       salt.states.zfs.bookmark_absent(name, force=False, recursive=False)
271196              ensure bookmark is absent on the system
271197
271198              name   string name of snapshot
271199
271200              force  boolean try harder to destroy the  dataset  (zfs  destroy
271201                     -f)
271202
271203              recursive
271204                     boolean  also destroy all the child datasets (zfs destroy
271205                     -r)
271206
271207       salt.states.zfs.bookmark_present(name, snapshot)
271208              ensure bookmark exists
271209
271210              name   string name of bookmark
271211
271212              snapshot
271213                     string name of snapshot
271214
271215       salt.states.zfs.filesystem_absent(name, force=False, recursive=False)
271216              ensure filesystem is absent on the system
271217
271218              name   string name of filesystem
271219
271220              force  boolean try harder to destroy the  dataset  (zfs  destroy
271221                     -f)
271222
271223              recursive
271224                     boolean  also destroy all the child datasets (zfs destroy
271225                     -r)
271226
271227              WARNING:
271228                 If a volume with name exists, this state will succeed without
271229                 destroying  the  volume  specified  by  name.  This module is
271230                 dataset type sensitive.
271231
271232       salt.states.zfs.filesystem_present(name,  create_parent=False,  proper‐
271233       ties=None, cloned_from=None)
271234              ensure filesystem exists and has properties set
271235
271236              name   string name of filesystem
271237
271238              create_parent
271239                     boolean  creates  all  the  non-existing parent datasets.
271240                     any property specified on the command line using  the  -o
271241                     option is ignored.
271242
271243              cloned_from
271244                     string name of snapshot to clone
271245
271246              properties
271247                     dict additional zfs properties (-o)
271248
271249              NOTE:
271250                 cloned_from is only use if the filesystem does not exist yet,
271251                 when cloned_from is set after the filesystem exists  it  will
271252                 be ignored.
271253
271254              NOTE:
271255                 Properties  do  not get cloned, if you specify the properties
271256                 in the state file they will be applied on a subsequent run.
271257
271258       salt.states.zfs.hold_absent(name, snapshot, recursive=False)
271259              ensure hold is absent on the system
271260
271261              name   string name of hold
271262
271263              snapshot
271264                     string name of snapshot
271265
271266              recursive
271267                     boolean recursively releases a hold with the given tag on
271268                     the snapshots of all descendent file systems.
271269
271270       salt.states.zfs.hold_present(name, snapshot, recursive=False)
271271              ensure hold is present on the system
271272
271273              name   string name of holdt
271274
271275              snapshot
271276                     string name of snapshot
271277
271278              recursive
271279                     boolean  recursively  add  hold with the given tag on the
271280                     snapshots of all descendent file systems.
271281
271282       salt.states.zfs.promoted(name)
271283              ensure a dataset is not a clone
271284
271285              name   string name of fileset or volume
271286
271287              WARNING:
271288                 only one dataset can be the origin, if you  promote  a  clone
271289                 the original will now point to the promoted dataset
271290
271291       salt.states.zfs.scheduled_snapshot(name, prefix, recursive=True, sched‐
271292       ule=None)
271293              maintain a set of snapshots based on a schedule
271294
271295              name   string name of filesystem or volume
271296
271297              prefix string prefix for the snapshots e.g. 'test'  will  result
271298                     in snapshots being named 'test-yyyymmdd_hhmm'
271299
271300              recursive
271301                     boolean create snapshots for all children also
271302
271303              schedule
271304                     dict  dict  holding  the schedule, the following keys are
271305                     available (minute, hour, day, month, and year) by default
271306                     all  are set to 0 the value indicated the number of snap‐
271307                     shots of that type to keep around.
271308
271309              WARNING:
271310                 snapshots will only be created  and  pruned  every  time  the
271311                 state  runs.   a  schedule must be setup to automatically run
271312                 the state. this means that if you run  the  state  daily  the
271313                 hourly snapshot will only be made once per day!
271314
271315              Changed  in  version 2018.3.0: switched to localtime from gmtime
271316              so times now take into account timezones.
271317
271318
271319       salt.states.zfs.snapshot_absent(name, force=False, recursive=False)
271320              ensure snapshot is absent on the system
271321
271322              name   string name of snapshot
271323
271324              force  boolean try harder to destroy the  dataset  (zfs  destroy
271325                     -f)
271326
271327              recursive
271328                     boolean  also destroy all the child datasets (zfs destroy
271329                     -r)
271330
271331       salt.states.zfs.snapshot_present(name,     recursive=False,     proper‐
271332       ties=None)
271333              ensure snapshot exists and has properties set
271334
271335              name   string name of snapshot
271336
271337              recursive
271338                     boolean  recursively  create  snapshots of all descendent
271339                     datasets
271340
271341              properties
271342                     dict additional zfs properties (-o)
271343
271344       salt.states.zfs.volume_absent(name, force=False, recursive=False)
271345              ensure volume is absent on the system
271346
271347              name   string name of volume
271348
271349              force  boolean try harder to destroy the  dataset  (zfs  destroy
271350                     -f)
271351
271352              recursive
271353                     boolean  also destroy all the child datasets (zfs destroy
271354                     -r)
271355
271356              WARNING:
271357                 If a filesystem with name exists,  this  state  will  succeed
271358                 without  destroying  the  filesystem  specified by name. This
271359                 module is dataset type sensitive.
271360
271361       salt.states.zfs.volume_present(name,  volume_size,  sparse=False,  cre‐
271362       ate_parent=False, properties=None, cloned_from=None)
271363              ensure volume exists and has properties set
271364
271365              name   string name of volume
271366
271367              volume_size
271368                     string size of volume
271369
271370              sparse boolean create sparse volume
271371
271372              create_parent
271373                     boolean  creates  all  the  non-existing parent datasets.
271374                     any property specified on the command line using  the  -o
271375                     option is ignored.
271376
271377              cloned_from
271378                     string name of snapshot to clone
271379
271380              properties
271381                     dict additional zfs properties (-o)
271382
271383              NOTE:
271384                 cloned_from  is  only  use  if the volume does not exist yet,
271385                 when cloned_from is set after the volume exists  it  will  be
271386                 ignored.
271387
271388              NOTE:
271389                 Properties  do  not get cloned, if you specify the properties
271390                 in the state file they will be applied on a subsequent run.
271391
271392                 volume_size is considered a property, so  the  volume's  size
271393                 will  be corrected when the properties get updated if it dif‐
271394                 fers from the original volume.
271395
271396                 The sparse parameter is ignored when using cloned_from.
271397
271398   salt.states.zone
271399       Management of Solaris Zones
271400
271401       maintainer
271402              Jorge Schrauwen <sjorge@blackdot.be>
271403
271404       maturity
271405              new
271406
271407       depends
271408              salt.modules.zoneadm, salt.modules.zonecfg
271409
271410       platform
271411              solaris
271412
271413       New in version 2017.7.0.
271414
271415
271416       Below are some examples of how to use this state.  Lets start with cre‐
271417       ating a zone and installing it.
271418
271419          omipkg1_configuration:
271420            zone.present:
271421              - name: omipkg1
271422              - brand: ipkg
271423              - zonepath: /zones/omipkg1
271424              - properties:
271425                - autoboot: true
271426                - ip-type: exclusive
271427                - cpu-shares: 50
271428              - resources:
271429                - attr:
271430                  - name: owner
271431                  - value: Jorge Schrauwen
271432                  - type: string
271433                - attr:
271434                  - name: description
271435                  - value: OmniOS ipkg zone for testing
271436                  - type: string
271437                - capped-memory:
271438                  - physical: 64M
271439          omipkg1_installation:
271440            zone.installed:
271441              - name: omipkg1
271442              - require:
271443                  - zone: omipkg1_configuration
271444          omipkg1_running:
271445            zone.booted:
271446              - name: omipkg1
271447              - require:
271448                  - zone: omipkg1_installation
271449
271450       A  zone  without network access is not very useful. We could update the
271451       zone.present state in the example above to add a network  interface  or
271452       we could use a separate state for this.
271453
271454          omipkg1_network:
271455            zone.resource_present:
271456              - name: omipkg1
271457              - resource_type: net
271458              - resource_selector_property: mac-addr
271459              - resource_selector_value: "02:08:20:a2:a3:10"
271460              - physical: znic1
271461              - require:
271462                  - zone: omipkg1_configuration
271463
271464       Since  this  is  a  single  tenant system having the owner attribute is
271465       pointless.  Let's remove that attribute.
271466
271467       NOTE:
271468          The following state run the omipkg1_configuration state will add  it
271469          again!  If the entire configuration is managed it would be better to
271470          add resource_prune  and  optionally  the  resource_selector_property
271471          properties to the resource.
271472
271473          omipkg1_strip_owner:
271474            zone.resource_present:
271475              - name: omipkg1
271476              - resource_type: attr
271477              - resource_selector_property: name
271478              - resource_selector_value: owner
271479              - require:
271480                  - zone: omipkg1_configuration
271481
271482       Let's bump the zone's CPU shares a bit.
271483
271484       NOTE:
271485          The  following state run the omipkg1_configuration state will set it
271486          to 50 again.  Update the entire zone configuration  is  managed  you
271487          should update it there instead.
271488
271489          omipkg1_more_cpu:
271490            zone.property_present:
271491              - name: omipkg1
271492              - property: cpu-shares
271493              - value: 100
271494
271495       Or we can remove the limit altogether!
271496
271497       NOTE:
271498          The  following state run the omipkg1_configuration state will set it
271499          to 50 again.  Update the entire zone configuration  is  managed  you
271500          should set the property to None (nothing after the :) instead.
271501
271502          omipkg1_no_cpu:
271503            zone.property_absent:
271504              - name: omipkg1
271505              - property: cpu-shares
271506
271507       salt.states.zone.absent(name, uninstall=False)
271508              Ensure a zone is absent
271509
271510              name   string name of the zone
271511
271512              uninstall
271513                     boolean  when  true,  uninstall  instead of detaching the
271514                     zone first.
271515
271516       salt.states.zone.attached(name, force=False)
271517              Ensure zone is attached
271518
271519              name   string name of the zone
271520
271521              force  boolean force attach the zone
271522
271523       salt.states.zone.booted(name, single=False)
271524              Ensure zone is booted
271525
271526              name   string name of the zone
271527
271528              single boolean boot in single usermode
271529
271530       salt.states.zone.detached(name)
271531              Ensure zone is detached
271532
271533              name   string name of the zone
271534
271535       salt.states.zone.export(name, path, replace=False)
271536              Export a zones configuration
271537
271538              name   string name of the zone
271539
271540              path   string path of file to export too.
271541
271542              replace
271543                     boolean replace the file if it exists
271544
271545       salt.states.zone.halted(name, graceful=True)
271546              Ensure zone is halted
271547
271548              name   string name of the zone
271549
271550              graceful
271551                     boolean use shutdown instead of halt if true
271552
271553       salt.states.zone.import_(name, path,  mode=u'import',  nodataset=False,
271554       brand_opts=None)
271555              Import a zones configuration
271556
271557              name   string name of the zone
271558
271559              path   string path of the configuration file to import
271560
271561              mode   string either import, install, or attach
271562
271563              nodataset
271564                     boolean do not create a ZFS file system
271565
271566              brand_opts
271567                     boolean brand specific options to pass
271568
271569              NOTE:
271570                 The  mode  argument can be set to import, install, or attach.
271571                 import: will only  import  the  configuration  install:  will
271572                 import  and  then try to install the zone attach: will import
271573                 and then try to attach of the zone
271574
271575                 omipkg1:
271576                   zone.import:
271577                     - path: /foo/bar/baz
271578
271579       salt.states.zone.installed(name, nodataset=False, brand_opts=None)
271580              Ensure zone is installed
271581
271582              name   string name of the zone
271583
271584              nodataset
271585                     boolean do not create a ZFS file system
271586
271587              brand_opts
271588                     boolean brand specific options to pass
271589
271590       salt.states.zone.present(name,   brand,   zonepath,    properties=None,
271591       resources=None)
271592              Ensure a zone with certain properties and resources
271593
271594              name   string name of the zone
271595
271596              brand  string brand of the zone
271597
271598              zonepath
271599                     string path of the zone
271600
271601              properties
271602                     list of key-value pairs dict of properties
271603
271604              resources
271605                     list of key-value pairs dict of resources
271606
271607              NOTE:
271608                 If the zone does not exist it will not be installed.  You can
271609                 use the `zone.installed` state for this.
271610
271611              NOTE:
271612
271613                 Default resource selectors:
271614
271615                        · fs: dir
271616
271617                        · net: mac-addr
271618
271619                        · device: match
271620
271621                        · rctl: name
271622
271623                        · attr: name
271624
271625                        · dataset: name
271626
271627                        · admin: user
271628
271629              WARNING:
271630                 Properties and resource will not be  removed  when  they  are
271631                 absent from the state!
271632
271633                 For properties, simple set them to `None`.
271634
271635                 For  resources,  add the `resource_prune` property and set it
271636                 to `True`. Also specify the  `resource_selector_property`  if
271637                 the default is not the one you want.
271638
271639       salt.states.zone.property_absent(name, property)
271640              Ensure property is absent
271641
271642              name   string name of the zone
271643
271644              property
271645                     string name of property
271646
271647              NOTE:
271648                 This does a zoneacfg clear call. So the property may be reset
271649                 to a default value!  Does has the side effect of always  hav‐
271650                 ing to be called.
271651
271652       salt.states.zone.property_present(name, property, value)
271653              Ensure property has a certain value
271654
271655              name   string name of the zone
271656
271657              property
271658                     string name of property
271659
271660              value  string value of property
271661
271662       salt.states.zone.resource_absent(name,  resource_type,  resource_selec‐
271663       tor_property, resource_selector_value)
271664              Ensure resource is absent
271665
271666              name   string name of the zone
271667
271668              resource_type
271669                     string type of resource
271670
271671              resource_selector_property
271672                     string unique resource identifier
271673
271674              resource_selector_value
271675                     string value for resource selection
271676
271677              WARNING:
271678                 Both resource_selector_property  and  resource_selector_value
271679                 must  be  provided,  some  properties like `name` are already
271680                 reserved by salt in there states.
271681
271682              NOTE:
271683                 You   can    set    both    resource_selector_property    and
271684                 resource_selector_value  to  None  for  resources that do not
271685                 require them.
271686
271687       salt.states.zone.resource_present(name, resource_type,  resource_selec‐
271688       tor_property, resource_selector_value, **kwargs)
271689              Ensure resource exists with provided properties
271690
271691              name   string name of the zone
271692
271693              resource_type
271694                     string type of resource
271695
271696              resource_selector_property
271697                     string unique resource identifier
271698
271699              resource_selector_value
271700                     string value for resource selection
271701
271702              kwargs string|int|...  resource properties
271703
271704              WARNING:
271705                 Both  resource_selector_property  and resource_selector_value
271706                 must be provided,  some  properties  like  name  are  already
271707                 reserved by salt in states.
271708
271709              NOTE:
271710                 You    can    set    both    resource_selector_property   and
271711                 resource_selector_value to None for  resources  that  do  not
271712                 require them.
271713
271714       salt.states.zone.uninstalled(name)
271715              Ensure zone is uninstalled
271716
271717              name   string name of the zone
271718
271719   salt.states.zookeeper
271720       depends
271721              kazoo
271722
271723       configuration
271724              See salt.modules.zookeeper for setup instructions.
271725
271726   ACLS
271727       For  more  information about acls, please checkout the kazoo documenta‐
271728       tion.
271729
271730       http://kazoo.readthedocs.io/en/latest/api/security.html#kazoo.security.make_digest_acl
271731
271732       The following options can be included in the acl dictionary:
271733
271734          param username
271735                 Username to use for the ACL.
271736
271737          param password
271738                 A plain-text password to hash.
271739
271740          param write
271741                 Write permission.
271742
271743          type write
271744                 bool
271745
271746          param create
271747                 Create permission.
271748
271749          type create
271750                 bool
271751
271752          param delete
271753                 Delete permission.
271754
271755          type delete
271756                 bool
271757
271758          param admin
271759                 Admin permission.
271760
271761          type admin
271762                 bool
271763
271764          param all
271765                 All permissions.
271766
271767          type all
271768                 bool
271769
271770       salt.states.zookeeper.absent(name,  version=-1,  recursive=False,  pro‐
271771       file=None,  hosts=None,  scheme=None,   username=None,   password=None,
271772       default_acl=None)
271773              Make sure znode is absent
271774
271775              name   path to znode
271776
271777              version
271778                     Specify  the  version which should be deleted Default: -1
271779                     (always match)
271780
271781              recursive
271782                     Boolean to indicate if  children  should  be  recursively
271783                     deleted Default: False
271784
271785              profile
271786                     Configured   Zookeeper   profile   to  authenticate  with
271787                     (Default: None)
271788
271789              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
271790
271791              scheme Scheme to authenticate with (Default: 'digest')
271792
271793              username
271794                     Username to authenticate (Default: None)
271795
271796              password
271797                     Password to authenticate (Default: None)
271798
271799              default_acl
271800                     Default acls to assign if a node is created in this  con‐
271801                     nection (Default: None)
271802
271803                 delete znode:
271804                   zookeeper.absent:
271805                     - name: /test
271806                     - recursive: True
271807
271808       salt.states.zookeeper.acls(name,    acls,   version=-1,   profile=None,
271809       hosts=None,      scheme=None,       username=None,       password=None,
271810       default_acl=None)
271811              Update acls on a znode
271812
271813              name   path to znode
271814
271815              acls   list of acl dictionaries to set on znode
271816
271817              version
271818                     Specify  the  version which should be deleted Default: -1
271819                     (always match)
271820
271821              profile
271822                     Configured  Zookeeper  profile   to   authenticate   with
271823                     (Default: None)
271824
271825              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
271826
271827              scheme Scheme to authenticate with (Default: 'digest')
271828
271829              username
271830                     Username to authenticate (Default: None)
271831
271832              password
271833                     Password to authenticate (Default: None)
271834
271835              default_acl
271836                     Default  acls to assign if a node is created in this con‐
271837                     nection (Default: None)
271838
271839                 update acls:
271840                   zookeeper.acls:
271841                     - name: /test/name
271842                     - acls:
271843                       - username: daniel
271844                         password: test
271845                         all: True
271846                       - username: gtmanfred
271847                         password: test
271848                         all: True
271849
271850       salt.states.zookeeper.present(name, value, acls=None,  ephemeral=False,
271851       sequence=False,  makepath=False,  version=-1, profile=None, hosts=None,
271852       scheme=None, username=None, password=None, default_acl=None)
271853              Make sure znode is present in the correct state with the correct
271854              acls
271855
271856              name   path to znode
271857
271858              value  value znode should be set to
271859
271860              acls   list  of  acl dictionaries to set on znode (make sure the
271861                     ones salt is connected with are included) Default: None
271862
271863              ephemeral
271864                     Boolean to indicate if ephemeral znode should be  created
271865                     Default: False
271866
271867              sequence
271868                     Boolean  to  indicate  if  znode  path is suffixed with a
271869                     unique index Default: False
271870
271871              makepath
271872                     Boolean to indicate if the parent paths should be created
271873                     Default: False
271874
271875              version
271876                     For updating, specify the version which should be updated
271877                     Default: -1 (always match)
271878
271879              profile
271880                     Configured  Zookeeper  profile   to   authenticate   with
271881                     (Default: None)
271882
271883              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
271884
271885              scheme Scheme to authenticate with (Default: 'digest')
271886
271887              username
271888                     Username to authenticate (Default: None)
271889
271890              password
271891                     Password to authenticate (Default: None)
271892
271893              default_acl
271894                     Default  acls to assign if a node is created in this con‐
271895                     nection (Default: None)
271896
271897                 add znode:
271898                   zookeeper.present:
271899                     - name: /test/name
271900                     - value: gtmanfred
271901                     - makepath: True
271902
271903                 update znode:
271904                   zookeeper.present:
271905                     - name: /test/name
271906                     - value: daniel
271907                     - acls:
271908                       - username: daniel
271909                         password: test
271910                         read: true
271911                       - username: gtmanfred
271912                         password: test
271913                         read: true
271914                         write: true
271915                         create: true
271916                         delete: true
271917                         admin: true
271918                     - makepath: True
271919
271920   salt.states.zpool
271921       States for managing zpools
271922
271923       maintainer
271924              Jorge Schrauwen <sjorge@blackdot.be>
271925
271926       maturity
271927              new
271928
271929       depends
271930              salt.utils.zfs, salt.modules.zpool
271931
271932       platform
271933              smartos, illumos, solaris, freebsd, linux
271934
271935       New in version 2016.3.0.
271936
271937
271938       Changed in version 2018.3.1: Big refactor  to  remove  duplicate  code,
271939       better type conversions and improved consistency in output.
271940
271941
271942          oldpool:
271943            zpool.absent:
271944              - export: true
271945
271946          newpool:
271947            zpool.present:
271948              - config:
271949                  import: false
271950                  force: true
271951              - properties:
271952                  comment: salty storage pool
271953              - layout:
271954                  - mirror:
271955                    - /dev/disk0
271956                    - /dev/disk1
271957                  - mirror:
271958                    - /dev/disk2
271959                    - /dev/disk3
271960
271961          partitionpool:
271962            zpool.present:
271963              - config:
271964                  import: false
271965                  force: true
271966              - properties:
271967                  comment: disk partition salty storage pool
271968                  ashift: '12'
271969                  feature@lz4_compress: enabled
271970              - filesystem_properties:
271971                  compression: lz4
271972                  atime: on
271973                  relatime: on
271974              - layout:
271975                  - /dev/disk/by-uuid/3e43ce94-77af-4f52-a91b-6cdbb0b0f41b
271976
271977          simplepool:
271978            zpool.present:
271979              - config:
271980                  import: false
271981                  force: true
271982              - properties:
271983                  comment: another salty storage pool
271984              - layout:
271985                  - /dev/disk0
271986                  - /dev/disk1
271987
271988       WARNING:
271989          The  layout  will  never be updated, it will only be used at time of
271990          creation.  It's a whole lot of work to figure out if a devices needs
271991          to be detached, removed, etc. This is best done by the sysadmin on a
271992          case per case basis.
271993
271994          Filesystem properties are also not updated, this should  be  managed
271995          by the zfs state module.
271996
271997       salt.states.zpool.absent(name, export=False, force=False)
271998              ensure storage pool is absent on the system
271999
272000              name   string name of storage pool
272001
272002              export boolean export instead of destroy the zpool if present
272003
272004              force  boolean force destroy or export
272005
272006       salt.states.zpool.present(name,   properties=None,   filesystem_proper‐
272007       ties=None, layout=None, config=None)
272008              ensure storage pool is present on the system
272009
272010              name   string name of storage pool
272011
272012              properties
272013                     dict optional set of properties to set  for  the  storage
272014                     pool
272015
272016              filesystem_properties
272017                     dict optional set of filesystem properties to set for the
272018                     storage pool (creation only)
272019
272020              layout: dict
272021                     disk layout to use if the pool does not  exist  (creation
272022                     only)
272023
272024              config dict fine grain control over this state
272025
272026              NOTE:
272027
272028                 The  following configuration properties can be toggled in the
272029                 config parameter.
272030
272031                        · import (true) - try to import the pool before creat‐
272032                          ing it if absent
272033
272034                        · import_dirs (None) - specify additional locations to
272035                          scan for devices on import (comma-seperated)
272036
272037                        · device_dir  (None,  SunOS=/dev/dsk,  Linux=/dev)   -
272038                          specify  device  directory to prepend for none abso‐
272039                          lute device paths
272040
272041                        · force (false) - try to force the import or creation
272042
272043              NOTE:
272044                 It is no  longer  needed  to  give  a  unique  name  to  each
272045                 top-level  vdev, the old layout format is still supported but
272046                 no longer recommended.
272047
272048                     - mirror:
272049                       - /tmp/vdisk3
272050                       - /tmp/vdisk2
272051                     - mirror:
272052                       - /tmp/vdisk0
272053                       - /tmp/vdisk1
272054
272055                 The above yaml will always result in the following zpool cre‐
272056                 ate:
272057
272058                     zpool create mypool mirror /tmp/vdisk3 /tmp/vdisk2 mirror /tmp/vdisk0 /tmp/vdisk1
272059
272060              WARNING:
272061                 The  legacy  format  is  also  still supported but not recom‐
272062                 mended, because ID's inside the layout dict  must  be  unique
272063                 they need to have a suffix.
272064
272065                     mirror-0:
272066                       /tmp/vdisk3
272067                       /tmp/vdisk2
272068                     mirror-1:
272069                       /tmp/vdisk0
272070                       /tmp/vdisk1
272071
272072              WARNING:
272073                 Pay attention to the order of your dict!
272074
272075                     - mirror:
272076                       - /tmp/vdisk0
272077                       - /tmp/vdisk1
272078                     - /tmp/vdisk2
272079
272080                 The above will result in the following zpool create:
272081
272082                     zpool create mypool mirror /tmp/vdisk0 /tmp/vdisk1 /tmp/vdisk2
272083
272084                 Creating  a  3-way mirror! While you probably expect it to be
272085                 mirror root vdev with 2 devices + a root vdev of 1 device!
272086
272087   thorium modules
272088                        ┌───────┬────────────────────────────┐
272089calc   │ Used to manage the thorium │
272090                        │       │ register.                  │
272091                        ├───────┼────────────────────────────┤
272092check  │ The check Thorium state is │
272093                        │       │ used to create gateways to │
272094                        │       │ commands,  the checks make │
272095                        │       │ it  easy  to  make  states │
272096                        │       │ that  watch  registers for │
272097                        │       │ changes and then just suc‐ │
272098                        │       │ ceed  or fail based on the │
272099                        │       │ state  of  the   register, │
272100                        │       │ this  creates  the pattern │
272101                        │       │ of having a command execu‐ │
272102                        │       │ tion  get gated by a check │
272103                        │       │ state via a requisite.     │
272104                        ├───────┼────────────────────────────┤
272105file   │ Writes matches to disk  to │
272106                        │       │ verify  activity,  helpful │
272107                        │       │ when testing               │
272108                        ├───────┼────────────────────────────┤
272109key    │ The key Thorium  State  is │
272110                        │       │ used  to  apply changes to │
272111                        │       │ the                        │
272112                        │       │ accepted/rejected/pending  │
272113                        │       │ keys                       │
272114                        ├───────┼────────────────────────────┤
272115local  │ Run remote execution  com‐ │
272116                        │       │ mands via the local client │
272117                        ├───────┼────────────────────────────┤
272118reg    │ Used to manage the thorium │
272119                        │       │ register.                  │
272120                        ├───────┼────────────────────────────┤
272121runner │ React by calling asynchro‐ │
272122                        │       │ nous runners               │
272123                        ├───────┼────────────────────────────┤
272124status │ This thorium state is used │
272125                        │       │ to track the status beacon │
272126                        │       │ events  and  keep track of │
272127                        │       │ the active status of  min‐ │
272128                        │       │ ions                       │
272129                        ├───────┼────────────────────────────┤
272130timer  │ Allow   for   flow   based │
272131                        │       │ timers.                    │
272132                        ├───────┼────────────────────────────┤
272133wheel  │ React by calling asynchro‐ │
272134                        │       │ nous runners               │
272135                        └───────┴────────────────────────────┘
272136
272137   salt.thorium.calc module
272138       Used to manage the thorium register. The thorium register is where com‐
272139       pound values are stored and computed, such as averages etc.
272140
272141       New in version 2016.11.0.
272142
272143
272144       depends
272145              statistics PyPi module
272146
272147       salt.thorium.calc.add(name, num, minimum=0, maximum=0, ref=None)
272148              Adds together the num most recent values. Requires a list.
272149
272150              USAGE:
272151
272152                 foo:
272153                   calc.add:
272154                     - name: myregentry
272155                     - num: 5
272156
272157       salt.thorium.calc.calc(name, num, oper, minimum=0, maximum=0, ref=None)
272158              Perform a calculation on the num most recent values. Requires  a
272159              list.  Valid values for oper are:
272160
272161              · add: Add last num values together
272162
272163              · mul: Multiple last num values together
272164
272165              · mean: Calculate mean of last num values
272166
272167              · median: Calculate median of last num values
272168
272169              · median_low: Calculate low median of last num values
272170
272171              · median_high: Calculate high median of last num values
272172
272173              · median_grouped: Calculate grouped median of last num values
272174
272175              · mode: Calculate mode of last num values
272176
272177              USAGE:
272178
272179                 foo:
272180                   calc.calc:
272181                     - name: myregentry
272182                     - num: 5
272183                     - oper: mean
272184
272185       salt.thorium.calc.mean(name, num, minimum=0, maximum=0, ref=None)
272186              Calculates  the  mean  of the num most recent values. Requires a
272187              list.
272188
272189              USAGE:
272190
272191                 foo:
272192                   calc.mean:
272193                     - name: myregentry
272194                     - num: 5
272195
272196       salt.thorium.calc.median(name, num, minimum=0, maximum=0, ref=None)
272197              Calculates the mean of the num most recent  values.  Requires  a
272198              list.
272199
272200              USAGE:
272201
272202                 foo:
272203                   calc.median:
272204                     - name: myregentry
272205                     - num: 5
272206
272207       salt.thorium.calc.median_grouped(name,   num,   minimum=0,   maximum=0,
272208       ref=None)
272209              Calculates the grouped mean  of  the  num  most  recent  values.
272210              Requires a list.
272211
272212              USAGE:
272213
272214                 foo:
272215                   calc.median_grouped:
272216                     - name: myregentry
272217                     - num: 5
272218
272219       salt.thorium.calc.median_high(name,    num,    minimum=0,    maximum=0,
272220       ref=None)
272221              Calculates the high mean of the num most recent values. Requires
272222              a list.
272223
272224              USAGE:
272225
272226                 foo:
272227                   calc.median_high:
272228                     - name: myregentry
272229                     - num: 5
272230
272231       salt.thorium.calc.median_low(name, num, minimum=0, maximum=0, ref=None)
272232              Calculates  the low mean of the num most recent values. Requires
272233              a list.
272234
272235              USAGE:
272236
272237                 foo:
272238                   calc.median_low:
272239                     - name: myregentry
272240                     - num: 5
272241
272242       salt.thorium.calc.mode(name, num, minimum=0, maximum=0, ref=None)
272243              Calculates the mode of the num most recent  values.  Requires  a
272244              list.
272245
272246              USAGE:
272247
272248                 foo:
272249                   calc.mode:
272250                     - name: myregentry
272251                     - num: 5
272252
272253       salt.thorium.calc.mul(name, num, minimum=0, maximum=0, ref=None)
272254              Multiplies together the num most recent values. Requires a list.
272255
272256              USAGE:
272257
272258                 foo:
272259                   calc.mul:
272260                     - name: myregentry
272261                     - num: 5
272262
272263   salt.thorium.check module
272264       The  check  Thorium  state  is used to create gateways to commands, the
272265       checks make it easy to make states that watch registers for changes and
272266       then just succeed or fail based on the state of the register, this cre‐
272267       ates the pattern of having a command execution get  gated  by  a  check
272268       state via a requisite.
272269
272270       salt.thorium.check.contains(name, value, count_lt=None, count_lte=None,
272271       count_eq=None, count_gte=None, count_gt=None, count_ne=None)
272272              Only succeed if the value in the given  register  location  con‐
272273              tains the given value
272274
272275              USAGE:
272276
272277                 foo:
272278                   check.contains:
272279                     - value: itni
272280
272281                 run_remote_ex:
272282                   local.cmd:
272283                     - tgt: '*'
272284                     - func: test.ping
272285                     - require:
272286                       - check: foo
272287
272288       salt.thorium.check.eq(name, value)
272289              Only  succeed  if  the  value  in the given register location is
272290              equal to the given value
272291
272292              USAGE:
272293
272294                 foo:
272295                   check.eq:
272296                     - value: 42
272297
272298                 run_remote_ex:
272299                   local.cmd:
272300                     - tgt: '*'
272301                     - func: test.ping
272302                     - require:
272303                       - check: foo
272304
272305       salt.thorium.check.event(name)
272306              Chekcs for a specific event match and returns result True if the
272307              match happens
272308
272309              USAGE:
272310
272311                 salt/foo/*/bar:
272312                   check.event
272313
272314                 run_remote_ex:
272315                   local.cmd:
272316                     - tgt: '*'
272317                     - func: test.ping
272318                     - require:
272319                       - check: salt/foo/*/bar
272320
272321       salt.thorium.check.gt(name, value)
272322              Only  succeed  if  the  value  in the given register location is
272323              greater than the given value
272324
272325              USAGE:
272326
272327                 foo:
272328                   check.gt:
272329                     - value: 42
272330
272331                 run_remote_ex:
272332                   local.cmd:
272333                     - tgt: '*'
272334                     - func: test.ping
272335                     - require:
272336                       - check: foo
272337
272338       salt.thorium.check.gte(name, value)
272339              Only succeed if the value in  the  given  register  location  is
272340              greater or equal than the given value
272341
272342              USAGE:
272343
272344                 foo:
272345                   check.gte:
272346                     - value: 42
272347
272348                 run_remote_ex:
272349                   local.cmd:
272350                     - tgt: '*'
272351                     - func: test.ping
272352                     - require:
272353                       - check: foo
272354
272355       salt.thorium.check.len_eq(name, value)
272356              Only  succeed  if  the  length of the given register location is
272357              equal to the given value.
272358
272359              USAGE:
272360
272361                 foo:
272362                   check.len_eq:
272363                     - value: 42
272364
272365                 run_remote_ex:
272366                   local.cmd:
272367                     - tgt: '*'
272368                     - func: test.ping
272369                     - require:
272370                       - check: foo
272371
272372       salt.thorium.check.len_gt(name, value)
272373              Only succeed if length of the given register location is greater
272374              than the given value.
272375
272376              USAGE:
272377
272378                 foo:
272379                   check.len_gt:
272380                     - value: 42
272381
272382                 run_remote_ex:
272383                   local.cmd:
272384                     - tgt: '*'
272385                     - func: test.ping
272386                     - require:
272387                       - check: foo
272388
272389       salt.thorium.check.len_gte(name, value)
272390              Only  succeed  if  the  length of the given register location is
272391              greater or equal than the given value
272392
272393              USAGE:
272394
272395                 foo:
272396                   check.len_gte:
272397                     - value: 42
272398
272399                 run_remote_ex:
272400                   local.cmd:
272401                     - tgt: '*'
272402                     - func: test.ping
272403                     - require:
272404                       - check: foo
272405
272406       salt.thorium.check.len_lt(name, value)
272407              Only succeed if the length of the  given  register  location  is
272408              less than the given value.
272409
272410              USAGE:
272411
272412                 foo:
272413                   check.len_lt:
272414                     - value: 42
272415
272416                 run_remote_ex:
272417                   local.cmd:
272418                     - tgt: '*'
272419                     - func: test.ping
272420                     - require:
272421                       - check: foo
272422
272423       salt.thorium.check.len_lte(name, value)
272424              Only  succeed  if  the  length of the given register location is
272425              less than or equal the given value
272426
272427              USAGE:
272428
272429                 foo:
272430                   check.len_lte:
272431                     - value: 42
272432
272433                 run_remote_ex:
272434                   local.cmd:
272435                     - tgt: '*'
272436                     - func: test.ping
272437                     - require:
272438                       - check: foo
272439
272440       salt.thorium.check.len_ne(name, value)
272441              Only succeed if the length of the given register location is not
272442              equal to the given value.
272443
272444              USAGE:
272445
272446                 foo:
272447                   check.len_ne:
272448                     - value: 42
272449
272450                 run_remote_ex:
272451                   local.cmd:
272452                     - tgt: '*'
272453                     - func: test.ping
272454                     - require:
272455                       - check: foo
272456
272457       salt.thorium.check.lt(name, value)
272458              Only succeed if the value in the given register location is less
272459              than the given value
272460
272461              USAGE:
272462
272463                 foo:
272464                   check.lt:
272465                     - value: 42
272466
272467                 run_remote_ex:
272468                   local.cmd:
272469                     - tgt: '*'
272470                     - func: test.ping
272471                     - require:
272472                       - check: foo
272473
272474       salt.thorium.check.lte(name, value)
272475              Only succeed if the value in the given register location is less
272476              than or equal the given value
272477
272478              USAGE:
272479
272480                 foo:
272481                   check.lte:
272482                     - value: 42
272483
272484                 run_remote_ex:
272485                   local.cmd:
272486                     - tgt: '*'
272487                     - func: test.ping
272488                     - require:
272489                       - check: foo
272490
272491       salt.thorium.check.ne(name, value)
272492              Only  succeed if the value in the given register location is not
272493              equal to the given value
272494
272495              USAGE:
272496
272497                 foo:
272498                   check.ne:
272499                     - value: 42
272500
272501                 run_remote_ex:
272502                   local.cmd:
272503                     - tgt: '*'
272504                     - func: test.ping
272505                     - require:
272506                       - check: foo
272507
272508   salt.thorium.file module
272509       Writes matches to disk to verify activity, helpful when testing
272510
272511       Normally this is used by giving the name of the file (without  a  path)
272512       that  the  data  will  be  saved to. If for instance you use foo as the
272513       name:
272514
272515          foo:
272516            file.save
272517
272518       Then the file will be saved to:
272519
272520          <salt cachedir>/thorium/saves/foo
272521
272522       You may also provide an absolute path for the file to be saved to:
272523
272524          /tmp/foo.save:
272525              file.save
272526
272527       Files will be saved in JSON format.  However,  JSON  does  not  support
272528       set()``s.   If you are saving a register entry that contains a ``set(),
272529       then it will fail to save to JSON format. However, you  may  pass  data
272530       through a filter which makes it JSON compliant:
272531
272532          foo:
272533            file.save:
272534              filter: True
272535
272536       Be  warned that if you do this, then the file will be saved, but not in
272537       a format that can be re-imported into Python.
272538
272539       salt.thorium.file.save(name, filter=False)
272540              Save the register to <salt cachedir>/thorium/saves/<name>, or to
272541              an absolute path.
272542
272543              If  an  absolute  path  is specified, then the directory will be
272544              created non-recursively if it doesn't exist.
272545
272546              USAGE:
272547
272548                 foo:
272549                   file.save
272550
272551                 /tmp/foo:
272552                   file.save
272553
272554   salt.thorium.key module
272555       The  key  Thorium   State   is   used   to   apply   changes   to   the
272556       accepted/rejected/pending keys
272557
272558       New in version 2016.11.0.
272559
272560
272561       salt.thorium.key.timeout(name, delete=0, reject=0)
272562              If  any  minion's  status  is  older than the timeout value then
272563              apply the given action to the timed out key. This  example  will
272564              remove  keys to minions that have not checked in for 300 seconds
272565              (5 minutes)
272566
272567              USAGE:
272568
272569                 statreg:
272570                   status.reg
272571
272572                 clean_keys:
272573                   key.timeout:
272574                     - require:
272575                       - status: statreg
272576                     - delete: 300
272577
272578   salt.thorium.local module
272579       Run remote execution commands via the local client
272580
272581       salt.thorium.local.cmd(name,  tgt,  func,   arg=(),   tgt_type=u'glob',
272582       ret=u'', kwarg=None, **kwargs)
272583              Execute a remote execution command
272584
272585              USAGE:
272586
272587                 run_remote_ex:
272588                   local.cmd:
272589                     - tgt: '*'
272590                     - func: test.ping
272591
272592                 run_remote_ex:
272593                   local.cmd:
272594                     - tgt: '*'
272595                     - func: test.sleep
272596                     - arg:
272597                       - 30
272598
272599                 run_remote_ex:
272600                   local.cmd:
272601                     - tgt: '*'
272602                     - func: test.sleep
272603                     - kwarg:
272604                       length: 30
272605
272606   salt.thorium.reg module
272607       Used to manage the thorium register. The thorium register is where com‐
272608       pound values are stored and computed, such as averages etc.
272609
272610       salt.thorium.reg.clear(name)
272611              Clear the namespace from the register
272612
272613              USAGE:
272614
272615                 clearns:
272616                   reg.clear:
272617                     - name: myregister
272618
272619       salt.thorium.reg.delete(name)
272620              Delete the namespace from the register
272621
272622              USAGE:
272623
272624                 deletens:
272625                   reg.delete:
272626                     - name: myregister
272627
272628       salt.thorium.reg.list_(name, add, match, stamp=False, prune=0)
272629              Add the specified values to the named list
272630
272631              If stamp is True, then the timestamp from the event will also be
272632              added if prune is set to an integer higher than 0, then only the
272633              last prune values will be kept in the list.
272634
272635              USAGE:
272636
272637                 foo:
272638                   reg.list:
272639                     - add: bar
272640                     - match: my/custom/event
272641                     - stamp: True
272642
272643       salt.thorium.reg.mean(name, add, match)
272644              Accept a numeric value from the matched events and store a  run‐
272645              ning  average of the values in the given register. If the speci‐
272646              fied value is not numeric it will be skipped
272647
272648              USAGE:
272649
272650                 foo:
272651                   reg.mean:
272652                     - add: data_field
272653                     - match: my/custom/event
272654
272655       salt.thorium.reg.set_(name, add, match)
272656              Add a value to the named set
272657
272658              USAGE:
272659
272660                 foo:
272661                   reg.set:
272662                     - add: bar
272663                     - match: my/custom/event
272664
272665   salt.thorium.runner module
272666       React by calling asynchronous runners
272667
272668       salt.thorium.runner.cmd(name, func=None, arg=(), **kwargs)
272669              Execute a runner asynchronous:
272670
272671              USAGE:
272672
272673                 run_cloud:
272674                   runner.cmd:
272675                     - func: cloud.create
272676                     - arg:
272677                         - my-ec2-config
272678                         - myinstance
272679
272680                 run_cloud:
272681                   runner.cmd:
272682                     - func: cloud.create
272683                     - kwargs:
272684                         provider: my-ec2-config
272685                         instances: myinstance
272686
272687   salt.thorium.status module
272688       This thorium state is used to track the status beacon events  and  keep
272689       track of the active status of minions
272690
272691       New in version 2016.11.0.
272692
272693
272694       salt.thorium.status.reg(name)
272695              Activate  this register to turn on a minion status tracking reg‐
272696              ister, this register keeps the current status  beacon  data  and
272697              the time that each beacon was last checked in.
272698
272699   salt.thorium.timer module
272700       Allow  for  flow  based timers. These timers allow for a sleep to exist
272701       across multiple runs of the flow
272702
272703       salt.thorium.timer.hold(name, seconds)
272704              Wait for a given period of time, then fire  a  result  of  True,
272705              requiring  this  state  allows  for  an action to be blocked for
272706              evaluation based on time
272707
272708              USAGE:
272709
272710                 hold_on_a_moment:
272711                   timer.hold:
272712                     - seconds: 30
272713
272714   salt.thorium.wheel module
272715       React by calling asynchronous runners
272716
272717       salt.thorium.wheel.cmd(name, fun=None, arg=(), **kwargs)
272718              Execute a runner asynchronous:
272719
272720              USAGE:
272721
272722                 run_cloud:
272723                   wheel.cmd:
272724                     - fun: key.delete
272725                     - match: minion_id
272726
272727   auth modules
272728                     ┌─────────────┬────────────────────────────┐
272729localfs      │ Stores eauth tokens in the │
272730                     │             │ filesystem of the master.  │
272731                     ├─────────────┼────────────────────────────┤
272732rediscluster │ Provide  token  storage in │
272733                     │             │ Redis cluster.             │
272734                     └─────────────┴────────────────────────────┘
272735
272736   salt.tokens.localfs
272737       Stores eauth tokens in the filesystem of the master. Location  is  con‐
272738       figured by the master config option 'token_dir'
272739
272740       salt.tokens.localfs.get_token(opts, tok)
272741              Fetch the token data from the store.
272742
272743              Parameters
272744
272745                     · opts -- Salt master config options
272746
272747                     · tok -- Token value to get
272748
272749              Returns
272750                     Token data if successful. Empty dict if failed.
272751
272752       salt.tokens.localfs.list_tokens(opts)
272753              List all tokens in the store.
272754
272755              Parameters
272756                     opts -- Salt master config options
272757
272758              Returns
272759                     List of dicts (tokens)
272760
272761       salt.tokens.localfs.mk_token(opts, tdata)
272762              Mint  a  new  token  using the config option hash_type and store
272763              tdata with 'token' attribute set to the token.  This module uses
272764              the hash of random 512 bytes as a token.
272765
272766              Parameters
272767
272768                     · opts -- Salt master config options
272769
272770                     · tdata -- Token data to be stored with 'token' attirbute
272771                       of this dict set to the token.
272772
272773              Returns
272774                     tdata with token if successful. Empty dict if failed.
272775
272776       salt.tokens.localfs.rm_token(opts, tok)
272777              Remove token from the store.
272778
272779              Parameters
272780
272781                     · opts -- Salt master config options
272782
272783                     · tok -- Token to remove
272784
272785              Returns
272786                     Empty dict if successful. None if failed.
272787
272788   salt.tokens.rediscluster
272789       Provide token storage in Redis cluster.
272790
272791       To get started simply start a redis cluster and assign all hashslots to
272792       the connected nodes.  Add the redis hostname and port to master configs
272793       as eauth_redis_host and eauth_redis_port.   Default  values  for  these
272794       configs are as follow:
272795
272796          eauth_redis_host: localhost
272797          eauth_redis_port: 6379
272798
272799       depends
272800
272801              · redis-py-cluster Python package
272802
272803       salt.tokens.rediscluster.get_token(opts, tok)
272804              Fetch the token data from the store.
272805
272806              Parameters
272807
272808                     · opts -- Salt master config options
272809
272810                     · tok -- Token value to get
272811
272812              Returns
272813                     Token data if successful. Empty dict if failed.
272814
272815       salt.tokens.rediscluster.list_tokens(opts)
272816              List all tokens in the store.
272817
272818              Parameters
272819                     opts -- Salt master config options
272820
272821              Returns
272822                     List of dicts (token_data)
272823
272824       salt.tokens.rediscluster.mk_token(opts, tdata)
272825              Mint  a  new  token  using the config option hash_type and store
272826              tdata with 'token' attribute set to the token.  This module uses
272827              the hash of random 512 bytes as a token.
272828
272829              Parameters
272830
272831                     · opts -- Salt master config options
272832
272833                     · tdata -- Token data to be stored with 'token' attirbute
272834                       of this dict set to the token.
272835
272836              Returns
272837                     tdata with token if successful. Empty dict if failed.
272838
272839       salt.tokens.rediscluster.rm_token(opts, tok)
272840              Remove token from the store.
272841
272842              Parameters
272843
272844                     · opts -- Salt master config options
272845
272846                     · tok -- Token to remove
272847
272848              Returns
272849                     Empty dict if successful. None if failed.
272850
272851   master tops modules
272852                   ┌────────────────┬────────────────────────────┐
272853cobbler         │ Cobbler Tops               │
272854                   ├────────────────┼────────────────────────────┤
272855ext_nodes       │ External Nodes Classifier  │
272856                   ├────────────────┼────────────────────────────┤
272857mongo           │ Read tops data from a mon‐ │
272858                   │                │ godb collection            │
272859                   ├────────────────┼────────────────────────────┤
272860reclass_adapter │ Read   tops  data  from  a │
272861                   │                │ reclass database           │
272862                   ├────────────────┼────────────────────────────┤
272863saltclass       │ Saltclass Configuration    │
272864                   ├────────────────┼────────────────────────────┤
272865varstack_top    │ Use  Varstack  to  provide │
272866                   │                │ tops data                  │
272867                   └────────────────┴────────────────────────────┘
272868
272869   salt.tops.cobbler
272870   Cobbler Tops
272871       Cobbler  Tops is a master tops subsystem used to look up mapping infor‐
272872       mation from Cobbler via its API. The same cobbler.* parameters are used
272873       for both the Cobbler tops and Cobbler pillar modules.
272874
272875          master_tops:
272876            cobbler: {}
272877          cobbler.url: https://example.com/cobbler_api #default is http://localhost/cobbler_api
272878          cobbler.user: username # default is no username
272879          cobbler.password: password # default is no password
272880
272881   Module Documentation
272882       salt.tops.cobbler.top(**kwargs)
272883              Look up top data in Cobbler for a minion.
272884
272885   salt.tops.ext_nodes
272886   External Nodes Classifier
272887       The External Nodes Classifier is a master tops subsystem that retrieves
272888       mapping information from major configuration management systems. One of
272889       the  most  common external nodes classifiers system is provided by Cob‐
272890       bler and is called cobbler-ext-nodes.
272891
272892       The cobbler-ext-nodes command can be used with this configuration:
272893
272894          master_tops:
272895            ext_nodes: cobbler-ext-nodes
272896
272897       It is noteworthy that the Salt system does not directly ingest the data
272898       sent  from  the  cobbler-ext-nodes  command, but converts the data into
272899       information that is used by a Salt top file.
272900
272901       Any command can replace the call to 'cobbler-ext-nodes' above, but cur‐
272902       rently  the  data  must  be formatted in the same way that the standard
272903       'cobbler-ext-nodes' does.
272904
272905       See (admittedly degenerate and probably not complete) example:
272906
272907          classes:
272908            - basepackages
272909            - database
272910
272911       The above essentially is the same as a top.sls containing  the  follow‐
272912       ing:
272913
272914          base:
272915            '*':
272916              - basepackages
272917              - database
272918
272919          base:
272920            '*':
272921              - basepackages
272922              - database
272923
272924       salt.tops.ext_nodes.top(**kwargs)
272925              Run the command configured
272926
272927   salt.tops.mongo
272928       Read tops data from a mongodb collection
272929
272930       This  module  will  load tops data from a mongo collection. It uses the
272931       node's id for lookups.
272932
272933   Salt Master Mongo Configuration
272934       The  module  shares  the  same  base  mongo  connection  variables   as
272935       salt.returners.mongo_return.  These  variables go in your master config
272936       file.
272937
272938          · mongo.db - The mongo database to connect to. Defaults to 'salt'.
272939
272940          · mongo.host - The mongo host to connect to. Supports  replica  sets
272941            by  specifying  all hosts in the set, comma-delimited. Defaults to
272942            'salt'.
272943
272944          · mongo.port - The port that  the  mongo  database  is  running  on.
272945            Defaults to 27017.
272946
272947          · mongo.user  -  The username for connecting to mongo. Only required
272948            if you are using mongo authentication. Defaults to ''.
272949
272950          · mongo.password -  The  password  for  connecting  to  mongo.  Only
272951            required if you are using mongo authentication. Defaults to ''.
272952
272953   Configuring the Mongo Tops Subsystem
272954          master_tops:
272955            mongo:
272956              collection: tops
272957              id_field: _id
272958              re_replace: ""
272959              re_pattern: \.example\.com
272960              states_field: states
272961              environment_field: environment
272962
272963   Module Documentation
272964       salt.tops.mongo.top(**kwargs)
272965              Connect to a mongo database and read per-node tops data.
272966
272967              Parameters
272968
272969                     · collection  (*)  -- The mongodb collection to read data
272970                       from. Defaults to 'tops'.
272971
272972                     · id_field (*) -- The field in the collection that repre‐
272973                       sents an individual minion id. Defaults to '_id'.
272974
272975                     · re_pattern (*) -- If your naming convention in the col‐
272976                       lection is shorter than the minion id, you can use this
272977                       to trim the name.  re_pattern will be used to match the
272978                       name, and re_replace will be used to replace it.  Back‐
272979                       refs  are  supported as they are in the Python standard
272980                       library. If None, no mangling of the name will be  per‐
272981                       formed  -  the  collection  will  be  searched with the
272982                       entire minion id. Defaults to None.
272983
272984                     · re_replace (*) -- Use as the replacement value in  node
272985                       ids  matched with re_pattern. Defaults to ''. Feel free
272986                       to use backreferences here.
272987
272988                     · states_field (*) -- The name of the field  providing  a
272989                       list of states.
272990
272991                     · environment_field  (*) -- The name of the field provid‐
272992                       ing the environment.  Defaults to environment.
272993
272994   salt.tops.reclass_adapter
272995       Read tops data from a reclass database
272996
272997       This master_tops plugin provides access to the reclass  database,  such
272998       that state information (top data) are retrieved from reclass.
272999
273000       You     can     find     more     information    about    reclass    at
273001       http://reclass.pantsfullofunix.net.
273002
273003       To use the plugin, add it to the master_tops list in  the  Salt  master
273004       config  and  tell reclass by way of a few options how and where to find
273005       the inventory:
273006
273007          master_tops:
273008            reclass:
273009              storage_type: yaml_fs
273010              inventory_base_uri: /srv/salt
273011
273012       This would cause reclass to read  the  inventory  from  YAML  files  in
273013       /srv/salt/nodes and /srv/salt/classes.
273014
273015       If  you  are  also  using reclass as ext_pillar plugin, and you want to
273016       avoid having to specify the same information for both, use YAML anchors
273017       (take note of the differing data types for ext_pillar and master_tops):
273018
273019          reclass: &reclass
273020            storage_type: yaml_fs
273021            inventory_base_uri: /srv/salt
273022            reclass_source_path: ~/code/reclass
273023
273024          ext_pillar:
273025            - reclass: *reclass
273026
273027          master_tops:
273028            reclass: *reclass
273029
273030       If  you want to run reclass from source, rather than installing it, you
273031       can either let the master know via the PYTHONPATH environment variable,
273032       or by setting the configuration option, like in the example above.
273033
273034       salt.tops.reclass_adapter.top(**kwargs)
273035              Query reclass for the top data (states of the minions).
273036
273037   salt.tops.saltclass
273038   Saltclass Configuration
273039          master_tops:
273040            saltclass:
273041              path: /srv/saltclass
273042
273043   Description
273044       This     module     clones     the     behaviour    of    reclass    (‐
273045       http://reclass.pantsfullofunix.net/), without the need of  an  external
273046       app,  and  add several features to improve flexibility.  Saltclass lets
273047       you define your nodes from simple yaml files (.yml) through  hierarchi‐
273048       cal class inheritance with the possibility to override pillars down the
273049       tree.
273050
273051   Features
273052       · Define your nodes through hierarchical class inheritance
273053
273054       ·
273055
273056         Reuse your reclass datas with minimal modifications
273057
273058                · applications => states
273059
273060                · parameters => pillars
273061
273062       · Use Jinja templating in your yaml definitions
273063
273064       ·
273065
273066         Access to the following Salt objects in Jinja
273067
273068                · __opts__
273069
273070                · __salt__
273071
273072                · __grains__
273073
273074                · __pillars__
273075
273076                · minion_id
273077
273078       · Chose how to merge or override your  lists  using  ^  character  (see
273079         examples)
273080
273081       · Expand  variables  ${}  with possibility to escape them if needed ${}
273082         (see examples)
273083
273084       · Ignores missing node/class  and  will  simply  return  empty  without
273085         breaking the pillar module completely - will be logged
273086
273087       An     example     subset     of     datas     is    available    here:
273088       http://git.mauras.ch/salt/saltclass/src/master/examples
273089
273090              ┌───────────────────────────┬────────────────────────────┐
273091              │Terms usable in yaml files │ Description                │
273092              ├───────────────────────────┼────────────────────────────┤
273093              │classes                    │ A  list  of  classes  that │
273094              │                           │ will be processed in order │
273095              ├───────────────────────────┼────────────────────────────┤
273096              │states                     │ A list of states that will │
273097              │                           │ be returned by master_tops │
273098              │                           │ function                   │
273099              ├───────────────────────────┼────────────────────────────┤
273100              │pillars                    │ A  yaml  dictionnary  that │
273101              │                           │ will be  returned  by  the │
273102              │                           │ ext_pillar function        │
273103              ├───────────────────────────┼────────────────────────────┤
273104              │environment                │ Node  saltenv that will be │
273105              │                           │ used by master_tops        │
273106              └───────────────────────────┴────────────────────────────┘
273107
273108       A class consists of:
273109
273110       · zero or more parent classes
273111
273112       · zero or more states
273113
273114       · any number of pillars
273115
273116       A child class can override pillars from a parent class.  A node defini‐
273117       tion  is  a  class  in  itself  with an added environment parameter for
273118       saltenv definition.
273119
273120   Class names
273121       Class names mimic salt way of defining states and pillar  files.   This
273122       means that default.users class name will correspond to one of these:
273123
273124       · <saltclass_path>/classes/default/users.yml
273125
273126       · <saltclass_path>/classes/default/users/init.yml
273127
273128   Saltclass file hierachy
273129       A saltclass tree would look like this:
273130
273131          <saltclass_path>
273132          ├── classes
273133          │   ├── app
273134          │   │   ├── borgbackup.yml
273135          │   │   └── ssh
273136          │   │       └── server.yml
273137          │   ├── default
273138          │   │   ├── init.yml
273139          │   │   ├── motd.yml
273140          │   │   └── users.yml
273141          │   ├── roles
273142          │   │   ├── app.yml
273143          │   │   └── nginx
273144          │   │       ├── init.yml
273145          │   │       └── server.yml
273146          │   └── subsidiaries
273147          │       ├── gnv.yml
273148          │       ├── qls.yml
273149          │       └── zrh.yml
273150          └── nodes
273151              ├── geneva
273152              │   └── gnv.node1.yml
273153              ├── lausanne
273154              │   ├── qls.node1.yml
273155              │   └── qls.node2.yml
273156              ├── node127.yml
273157              └── zurich
273158                  ├── zrh.node1.yml
273159                  ├── zrh.node2.yml
273160                  └── zrh.node3.yml
273161
273162   Saltclass Examples
273163       <saltclass_path>/nodes/lausanne/qls.node1.yml
273164
273165          environment: base
273166
273167          classes:
273168          {% for class in ['default'] %}
273169            - {{ class }}
273170          {% endfor %}
273171            - subsidiaries.{{ __grains__['id'].split('.')[0] }}
273172
273173       <saltclass_path>/classes/default/init.yml
273174
273175          classes:
273176            - default.users
273177            - default.motd
273178
273179          states:
273180            - openssh
273181
273182          pillars:
273183            default:
273184              network:
273185                dns:
273186                  srv1: 192.168.0.1
273187                  srv2: 192.168.0.2
273188                  domain: example.com
273189              ntp:
273190                srv1: 192.168.10.10
273191                srv2: 192.168.10.20
273192
273193       <saltclass_path>/classes/subsidiaries/gnv.yml
273194
273195          pillars:
273196            default:
273197              network:
273198                sub: Geneva
273199                dns:
273200                  srv1: 10.20.0.1
273201                  srv2: 10.20.0.2
273202                  srv3: 192.168.1.1
273203                  domain: gnv.example.com
273204              users:
273205                adm1:
273206                  uid: 1210
273207                  gid: 1210
273208                  gecos: 'Super user admin1'
273209                  homedir: /srv/app/adm1
273210                adm3:
273211                  uid: 1203
273212                  gid: 1203
273213                  gecos: 'Super user adm
273214
273215   Variable expansions
273216       Escaped variables are rendered as is: ${test}
273217
273218       Missing variables are rendered as is: ${net:dns:srv2}
273219
273220          pillars:
273221            app:
273222            config:
273223              dns:
273224                srv1: ${default:network:dns:srv1}
273225                srv2: ${net:dns:srv2}
273226              uri: https://application.domain/call?\${test}
273227              prod_parameters:
273228                - p1
273229                - p2
273230                - p3
273231            pkg:
273232              - app-core
273233              - app-backend
273234
273235   List override
273236       Not using ^ as the first entry will simply merge the lists
273237
273238          pillars:
273239            app:
273240              pkg:
273241                - ^
273242                - app-frontend
273243
273244       NOTE:
273245          Known limitation
273246
273247          Currently  you can't have both a variable and an escaped variable in
273248          the same string as the escaped one will not be correctly rendered  -
273249          '${xx}' will stay as is instead of being rendered as '${xx}'
273250
273251       salt.tops.saltclass.top(**kwargs)
273252              Compile tops
273253
273254   salt.tops.varstack_top
273255       Use Varstack to provide tops data
273256
273257       This  master_tops  plugin  provides access to the varstack hierarchical
273258       yaml files, so you can user varstack as a full external node classifier
273259       and store state information (top data) in it.
273260
273261   Configuring Varstack
273262       To  use  varstack  as  a  master  top external node classifier, install
273263       varstack as documented. Then, add to your master's configuration:
273264
273265          master_tops:
273266            varstack: /path/to/the/config/file/varstack.yaml
273267
273268       Varstack will then use /path/to/the/config/file/varstack.yaml  (usually
273269       /etc/varstack.yaml)  to determine which configuration data to return as
273270       adapter information. From there you can take a look at  the  README  of
273271       varstack  to  learn  how this file is evaluated. The ENC part will just
273272       return the 'states' dictionary for the node.
273273
273274       Ie, if my.fqdn.yaml file contains:
273275
273276          ---
273277          states:
273278            - sudo
273279            - openssh
273280            - apache
273281            - salt.minion
273282
273283       these will  be  returned  as  {'base':  ['sudo',  'openssh',  'apache',
273284       'salt.minion']} and managed by salt as if given from a top.sls file.
273285
273286       salt.tops.varstack_top.top(**kwargs)
273287              Query varstack for the top data (states of the minions).
273288
273289   wheel modules
273290                     ┌─────────────┬────────────────────────────┐
273291config       │ Manage the master configu‐ │
273292                     │             │ ration file                │
273293                     ├─────────────┼────────────────────────────┤
273294error        │ Error generator to  enable │
273295                     │             │ integration   testing   of │
273296                     │             │ salt wheel error handling  │
273297                     ├─────────────┼────────────────────────────┤
273298file_roots   │ Read  in  files  from  the │
273299                     │             │ file_root  and  save files │
273300                     │             │ to the file root           │
273301                     ├─────────────┼────────────────────────────┤
273302key          │ Wheel system  wrapper  for │
273303                     │             │ the  Salt key system to be │
273304                     │             │ used in interactions  with │
273305                     │             │ the  Salt  Master program‐ │
273306                     │             │ matically.                 │
273307                     ├─────────────┼────────────────────────────┤
273308minions      │ Wheel system  wrapper  for │
273309                     │             │ connected minions          │
273310                     ├─────────────┼────────────────────────────┤
273311pillar_roots │ The   pillar_roots   wheel │
273312                     │             │ module is used  to  manage │
273313                     │             │ files   under  the  pillar │
273314                     │             │ roots directories  on  the │
273315                     │             │ master server.             │
273316                     └─────────────┴────────────────────────────┘
273317
273318   salt.wheel.config
273319       Manage the master configuration file
273320
273321       salt.wheel.config.apply(key, value)
273322              Set a single key
273323
273324              NOTE:
273325                 This will strip comments from your config file
273326
273327       salt.wheel.config.update_config(file_name, yaml_contents)
273328              Update master config with yaml_contents.
273329
273330              Writes  yaml_contents  to  a file named file_name.conf under the
273331              folder specified by default_include.  This folder is named  mas‐
273332              ter.d  by default. Please look at include-configuration for more
273333              information.
273334
273335              Example low data:
273336
273337                 data = {
273338                     'username': 'salt',
273339                     'password': 'salt',
273340                     'fun': 'config.update_config',
273341                     'file_name': 'gui',
273342                     'yaml_contents': {'id': 1},
273343                     'client': 'wheel',
273344                     'eauth': 'pam',
273345                 }
273346
273347       salt.wheel.config.values()
273348              Return the raw values of the config file
273349
273350   salt.wheel.error
273351       Error generator to enable integration testing of salt wheel error  han‐
273352       dling
273353
273354       salt.wheel.error.error(name=None, message=u'')
273355              If name is None Then return empty dict
273356
273357              Otherwise  raise  an  exception with __name__ from name, message
273358              from message
273359
273360              CLI Example:
273361
273362                 salt-wheel error
273363                 salt-wheel error.error name="Exception" message="This is an error."
273364
273365   salt.wheel.file_roots
273366       Read in files from the file_root and save files to the file root
273367
273368       salt.wheel.file_roots.find(path, saltenv=u'base')
273369              Return a dict of the files located with the given path and envi‐
273370              ronment
273371
273372       salt.wheel.file_roots.list_env(saltenv=u'base')
273373              Return all of the file paths found in an environment
273374
273375       salt.wheel.file_roots.list_roots()
273376              Return all of the files names in all available environments
273377
273378       salt.wheel.file_roots.read(path, saltenv=u'base')
273379              Read the contents of a text file, if the file is binary then
273380
273381       salt.wheel.file_roots.write(data, path, saltenv=u'base', index=0)
273382              Write  the  named file, by default the first file found is writ‐
273383              ten, but the index of the file can be specified to  write  to  a
273384              lower priority file root
273385
273386   salt.wheel.key
273387       Wheel system wrapper for the Salt key system to be used in interactions
273388       with the Salt Master programmatically.
273389
273390       The key module for the wheel system is meant  to  provide  an  internal
273391       interface  for other Salt systems to interact with the Salt Master. The
273392       following usage examples assume that a WheelClient is available:
273393
273394          import salt.config
273395          import salt.wheel
273396          opts = salt.config.master_config('/etc/salt/master')
273397          wheel = salt.wheel.WheelClient(opts)
273398
273399       Note that importing and using the WheelClient must be performed on  the
273400       same machine as the Salt Master and as the same user that runs the Salt
273401       Master, unless external_auth is configured and the user  is  authorized
273402       to execute wheel functions.
273403
273404       The  function  documentation  starts  with the wheel reference from the
273405       code sample above and use the WheelClient functions to  show  how  they
273406       can be called from a Python interpreter.
273407
273408       The  wheel  key  functions can also be called via a salt command at the
273409       CLI using the saltutil execution module.
273410
273411       salt.wheel.key.accept(match,                    include_rejected=False,
273412       include_denied=False)
273413              Accept keys based on a glob match. Returns a dictionary.
273414
273415              match  The glob match of keys to accept.
273416
273417              include_rejected
273418                     To  include rejected keys in the match along with pending
273419                     keys, set this to True. Defaults to False.
273420
273421              include_denied
273422                     To include denied keys in the match  along  with  pending
273423                     keys, set this to True. Defaults to False.
273424
273425                 >>> wheel.cmd('key.accept', ['minion1'])
273426                 {'minions': ['minion1']}
273427
273428       salt.wheel.key.accept_dict(match,               include_rejected=False,
273429       include_denied=False)
273430              Accept keys based on a dict of keys. Returns a dictionary.
273431
273432              match  The dictionary of keys to accept.
273433
273434              include_rejected
273435                     To include rejected keys in the match along with  pending
273436                     keys, set this to True. Defaults to False.
273437
273438                     New in version 2016.3.4.
273439
273440
273441              include_denied
273442                     To  include  denied  keys in the match along with pending
273443                     keys, set this to True. Defaults to False.
273444
273445                     New in version 2016.3.4.
273446
273447
273448              Example to move a list of keys from  the  minions_pre  (pending)
273449              directory to the minions (accepted) directory:
273450
273451                 >>> wheel.cmd('key.accept_dict',
273452                 {
273453                     'minions_pre': [
273454                         'jerry',
273455                         'stuart',
273456                         'bob',
273457                     ],
273458                 })
273459                 {'minions': ['jerry', 'stuart', 'bob']}
273460
273461       salt.wheel.key.delete(match)
273462              Delete keys based on a glob match. Returns a dictionary.
273463
273464              match  The glob match of keys to delete.
273465
273466                 >>> wheel.cmd_async({'fun': 'key.delete', 'match': 'minion1'})
273467                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
273468
273469       salt.wheel.key.delete_dict(match)
273470              Delete keys based on a dict of keys. Returns a dictionary.
273471
273472              match  The dictionary of keys to delete.
273473
273474                 >>> wheel.cmd_async({'fun': 'key.delete_dict',
273475                 'match': {
273476                     'minions': [
273477                         'jerry',
273478                         'stuart',
273479                         'bob',
273480                     ],
273481                 })
273482                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
273483
273484       salt.wheel.key.finger(match, hash_type=None)
273485              Return the matching key fingerprints. Returns a dictionary.
273486
273487              match  The key for with to retrieve the fingerprint.
273488
273489              hash_type
273490                     The hash algorithm used to calculate the fingerprint
273491
273492                 >>> wheel.cmd('key.finger', ['minion1'])
273493                 {'minions': {'minion1': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
273494
273495       salt.wheel.key.finger_master(hash_type=None)
273496              Return the fingerprint of the master's public key
273497
273498              hash_type
273499                     The hash algorithm used to calculate the fingerprint
273500
273501                 >>> wheel.cmd('key.finger_master')
273502                 {'local': {'master.pub': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
273503
273504       salt.wheel.key.gen(id_=None, keysize=2048)
273505              Generate  a  key  pair.  No keys are stored on the master. A key
273506              pair is returned as a dict containing pub and priv keys. Returns
273507              a  dictionary  containing  the  the pub and priv keys with their
273508              generated values.
273509
273510              id_    Set a name to generate a key pair for use with  salt.  If
273511                     not specified, a random name will be specified.
273512
273513              keysize
273514                     The  size  of  the key pair to generate. The size must be
273515                     2048, which is the default, or greater. If set to a value
273516                     less than 2048, the key size will be rounded up to 2048.
273517
273518                 >>> wheel.cmd('key.gen')
273519                 {'pub': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBC
273520                 ...
273521                 BBPfamX9gGPQTpN9e8HwcZjXQnmg8OrcUl10WHw09SDWLOlnW+ueTWugEQpPt\niQIDAQAB\n
273522                 -----END PUBLIC KEY-----',
273523                 'priv': '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA42Kf+w9XeZWgguzv
273524                 ...
273525                 QH3/W74X1+WTBlx4R2KGLYBiH+bCCFEQ/Zvcu4Xp4bIOPtRKozEQ==\n
273526                 -----END RSA PRIVATE KEY-----'}
273527
273528       salt.wheel.key.gen_accept(id_, keysize=2048, force=False)
273529              Generate  a  key  pair then accept the public key. This function
273530              returns the key pair in a dict, only the public key is preserved
273531              on the master. Returns a dictionary.
273532
273533              id_    The name of the minion for which to generate a key pair.
273534
273535              keysize
273536                     The  size  of  the key pair to generate. The size must be
273537                     2048, which is the default, or greater. If set to a value
273538                     less than 2048, the key size will be rounded up to 2048.
273539
273540              force  If  a  public key has already been accepted for the given
273541                     minion on the master, then the gen_accept  function  will
273542                     return an empty dictionary and not create a new key. This
273543                     is the default behavior. If force is set  to  True,  then
273544                     the minion's previously accepted key will be overwritten.
273545
273546                 >>> wheel.cmd('key.gen_accept', ['foo'])
273547                 {'pub': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBC
273548                 ...
273549                 BBPfamX9gGPQTpN9e8HwcZjXQnmg8OrcUl10WHw09SDWLOlnW+ueTWugEQpPt\niQIDAQAB\n
273550                 -----END PUBLIC KEY-----',
273551                 'priv': '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA42Kf+w9XeZWgguzv
273552                 ...
273553                 QH3/W74X1+WTBlx4R2KGLYBiH+bCCFEQ/Zvcu4Xp4bIOPtRKozEQ==\n
273554                 -----END RSA PRIVATE KEY-----'}
273555
273556              We  can  now  see that the foo minion's key has been accepted by
273557              the master:
273558
273559                 >>> wheel.cmd('key.list', ['accepted'])
273560                 {'minions': ['foo', 'minion1', 'minion2', 'minion3']}
273561
273562       salt.wheel.key.gen_keys(keydir=None,    keyname=None,     keysize=None,
273563       user=None)
273564              Generate minion RSA public keypair
273565
273566       salt.wheel.key.gen_signature(priv,   pub,   signature_path,   auto_cre‐
273567       ate=False, keysize=None)
273568              Generate master public-key-signature
273569
273570       salt.wheel.key.key_str(match)
273571              Return information about the key. Returns a dictionary.
273572
273573              match  The key to return information about.
273574
273575                 >>> wheel.cmd('key.key_str', ['minion1'])
273576                 {'minions': {'minion1': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0B
273577                 ...
273578                 TWugEQpPt\niQIDAQAB\n-----END PUBLIC KEY-----'}}
273579
273580       salt.wheel.key.list_(match)
273581              List all the keys under a named status. Returns a dictionary.
273582
273583              match  The type of keys to list. The  pre,  un,  and  unaccepted
273584                     options   will  list  unaccepted/unsigned  keys.  acc  or
273585                     accepted will list accepted/signed keys. rej or  rejected
273586                     will  list  rejected  keys.   Finally,  all will list all
273587                     keys.
273588
273589                 >>> wheel.cmd('key.list', ['accepted'])
273590                 {'minions': ['minion1', 'minion2', 'minion3']}
273591
273592       salt.wheel.key.list_all()
273593              List all the keys. Returns a dictionary containing lists of  the
273594              minions  in  each  salt-key  category,  including  minions, min‐
273595              ions_rejected, minions_denied, etc. Returns a dictionary.
273596
273597                 >>> wheel.cmd('key.list_all')
273598                 {'local': ['master.pem', 'master.pub'], 'minions_rejected': [],
273599                 'minions_denied': [], 'minions_pre': [],
273600                 'minions': ['minion1', 'minion2', 'minion3']}
273601
273602       salt.wheel.key.name_match(match)
273603              List all the keys based on a glob match
273604
273605       salt.wheel.key.reject(match,                    include_accepted=False,
273606       include_denied=False)
273607              Reject keys based on a glob match. Returns a dictionary.
273608
273609              match  The glob match of keys to reject.
273610
273611              include_accepted
273612                     To  include accepted keys in the match along with pending
273613                     keys, set this to True. Defaults to False.
273614
273615              include_denied
273616                     To include denied keys in the match  along  with  pending
273617                     keys, set this to True. Defaults to False.
273618
273619                 >>> wheel.cmd_async({'fun': 'key.reject', 'match': 'minion1'})
273620                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
273621
273622       salt.wheel.key.reject_dict(match,               include_accepted=False,
273623       include_denied=False)
273624              Reject keys based on a dict of keys. Returns a dictionary.
273625
273626              match  The dictionary of keys to reject.
273627
273628              include_accepted
273629                     To include accepted keys in the match along with  pending
273630                     keys, set this to True. Defaults to False.
273631
273632                     New in version 2016.3.4.
273633
273634
273635              include_denied
273636                     To  include  denied  keys in the match along with pending
273637                     keys, set this to True. Defaults to False.
273638
273639                     New in version 2016.3.4.
273640
273641
273642                 >>> wheel.cmd_async({'fun': 'key.reject_dict',
273643                 'match': {
273644                     'minions': [
273645                         'jerry',
273646                         'stuart',
273647                         'bob',
273648                     ],
273649                 })
273650                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
273651
273652   salt.wheel.minions
273653       Wheel system wrapper for connected minions
273654
273655       salt.wheel.minions.connected()
273656              List all connected minions on a salt-master
273657
273658   salt.wheel.pillar_roots
273659       The pillar_roots wheel module is used to manage files under the  pillar
273660       roots directories on the master server.
273661
273662       salt.wheel.pillar_roots.find(path, saltenv=u'base')
273663              Return a dict of the files located with the given path and envi‐
273664              ronment
273665
273666       salt.wheel.pillar_roots.list_env(saltenv=u'base')
273667              Return all of the file paths found in an environment
273668
273669       salt.wheel.pillar_roots.list_roots()
273670              Return all of the files names in all available environments
273671
273672       salt.wheel.pillar_roots.read(path, saltenv=u'base')
273673              Read the contents of a text file, if the file is binary then
273674
273675       salt.wheel.pillar_roots.write(data, path, saltenv=u'base', index=0)
273676              Write the named file, by default the first file found  is  writ‐
273677              ten,  but  the  index of the file can be specified to write to a
273678              lower priority file root
273679

APIS

273681   Python client API
273682       Salt provides several entry points for interfacing with Python applica‐
273683       tions.   These  entry  points  are often referred to as *Client() APIs.
273684       Each client accesses different parts of Salt, either from the master or
273685       from a minion. Each client is detailed below.
273686
273687       SEE ALSO:
273688          There are many ways to access Salt programmatically.
273689
273690          Salt can be used from CLI scripts as well as via a REST interface.
273691
273692          See Salt's outputter system to retrieve structured data from Salt as
273693          JSON, or as shell-friendly text, or many other formats.
273694
273695          See the state.event runner to utilize Salt's event  bus  from  shell
273696          scripts.
273697
273698          Salt's  netapi  module provides access to Salt externally via a REST
273699          interface.  Review the netapi module documentation for more informa‐
273700          tion.
273701
273702   Salt's opts dictionary
273703       Some  clients require access to Salt's opts dictionary. (The dictionary
273704       representation of the master or minion config files.)
273705
273706       A common pattern for fetching the opts dictionary is to defer to  envi‐
273707       ronment  variables if they exist or otherwise fetch the config from the
273708       default location.
273709
273710       salt.config.client_config(path,          env_var=u'SALT_CLIENT_CONFIG',
273711       defaults=None)
273712              Load Master configuration data
273713
273714              Usage:
273715
273716                 import salt.config
273717                 master_opts = salt.config.client_config('/etc/salt/master')
273718
273719              Returns  a dictionary of the Salt Master configuration file with
273720              necessary options needed to communicate with  a  locally-running
273721              Salt  Master daemon.  This function searches for client specific
273722              configurations and adds them to the data from the master config‐
273723              uration.
273724
273725              This is useful for master-side operations like LocalClient.
273726
273727       salt.config.minion_config(path,          env_var=u'SALT_MINION_CONFIG',
273728       defaults=None, cache_minion_id=False,  ignore_config_errors=True,  min‐
273729       ion_id=None, role=u'minion')
273730              Reads  in  the  minion  configuration  file  and sets up special
273731              options
273732
273733              This is useful for Minion-side operations, such  as  the  Caller
273734              class, and manually running the loader interface.
273735
273736                 import salt.config
273737                 minion_opts = salt.config.minion_config('/etc/salt/minion')
273738
273739   Salt's Loader Interface
273740       Modules  in  the  Salt  ecosystem are loaded into memory using a custom
273741       loader system. This allows modules  to  have  conditional  requirements
273742       (OS,  OS  version,  installed libraries, etc) and allows Salt to inject
273743       special variables (__salt__, __opts__, etc).
273744
273745       Most  modules  can  be  manually  loaded.  This  is  often  useful   in
273746       third-party  Python  apps  or  when writing tests. However some modules
273747       require and expect a full, running Salt system underneath. Notably mod‐
273748       ules  that  facilitate master-to-minion communication such as the mine,
273749       publish, and peer execution modules. The error  KeyError:  'master_uri'
273750       is  a  likely  indicator for this situation. In those instances use the
273751       Caller class to execute those modules instead.
273752
273753       Each module type has a corresponding loader function.
273754
273755       salt.loader.minion_mods(opts, context=None, utils=None, whitelist=None,
273756       initial_load=False,  loaded_base_name=None,  notify=False,  static_mod‐
273757       ules=None, proxy=None)
273758              Load execution modules
273759
273760              Returns a dictionary of execution modules  appropriate  for  the
273761              current  system by evaluating the __virtual__() function in each
273762              module.
273763
273764              Parameters
273765
273766                     · opts (dict) -- The Salt options dictionary
273767
273768                     · context (dict) -- A Salt context that  should  be  made
273769                       present inside generated modules in __context__
273770
273771                     · utils  (dict) -- Utility functions which should be made
273772                       available to Salt modules in __utils__. See  utils_dirs
273773                       in salt.config for additional information about config‐
273774                       uration.
273775
273776                     · whitelist (list) -- A list of modules which  should  be
273777                       whitelisted.
273778
273779                     · initial_load (bool) -- Deprecated flag! Unused.
273780
273781                     · loaded_base_name  (str)  --  A  string  marker  for the
273782                       loaded base name.
273783
273784                     · notify (bool) -- Flag indicating that an  event  should
273785                       be fired upon completion of module loading.
273786
273787                 import salt.config
273788                 import salt.loader
273789
273790                 __opts__ = salt.config.minion_config('/etc/salt/minion')
273791                 __grains__ = salt.loader.grains(__opts__)
273792                 __opts__['grains'] = __grains__
273793                 __utils__ = salt.loader.utils(__opts__)
273794                 __salt__ = salt.loader.minion_mods(__opts__, utils=__utils__)
273795                 __salt__['test.ping']()
273796
273797       salt.loader.raw_mod(opts, name, functions, mod=u'modules')
273798              Returns a single module loaded raw and bypassing the __virtual__
273799              function
273800
273801                 import salt.config
273802                 import salt.loader
273803
273804                 __opts__ = salt.config.minion_config('/etc/salt/minion')
273805                 testmod = salt.loader.raw_mod(__opts__, 'test', None)
273806                 testmod['test.ping']()
273807
273808       salt.loader.states(opts, functions, utils, serializers, whitelist=None,
273809       proxy=None, context=None)
273810              Returns the state modules
273811
273812              Parameters
273813
273814                     · opts (dict) -- The Salt options dictionary
273815
273816                     · functions  (dict)  --  A  dictionary of minion modules,
273817                       with module names as keys and funcs as values.
273818
273819                 import salt.config
273820                 import salt.loader
273821
273822                 __opts__ = salt.config.minion_config('/etc/salt/minion')
273823                 statemods = salt.loader.states(__opts__, None, None)
273824
273825       salt.loader.grains(opts, force_refresh=False, proxy=None)
273826              Return the functions for the dynamic grains and the  values  for
273827              the static grains.
273828
273829              Since  grains  are computed early in the startup process, grains
273830              functions do not  have  __salt__  or  __proxy__  available.   At
273831              proxy-minion startup, this function is called with the proxymod‐
273832              ule LazyLoader object so grains functions can  communicate  with
273833              their controlled device.
273834
273835                 import salt.config
273836                 import salt.loader
273837
273838                 __opts__ = salt.config.minion_config('/etc/salt/minion')
273839                 __grains__ = salt.loader.grains(__opts__)
273840                 print __grains__['id']
273841
273842       salt.loader.grain_funcs(opts, proxy=None)
273843              Returns the grain functions
273844
273845                     import salt.config
273846                     import salt.loader
273847
273848                     __opts__ = salt.config.minion_config('/etc/salt/minion')
273849                     grainfuncs = salt.loader.grain_funcs(__opts__)
273850
273851   Salt's Client Interfaces
273852   LocalClient
273853       class  salt.client.LocalClient(c_path=u'/etc/salt/master',  mopts=None,
273854       skip_perm_errors=False,  io_loop=None,   keep_loop=False,   auto_recon‐
273855       nect=False)
273856              The interface used by the salt CLI tool on the Salt Master
273857
273858              LocalClient is used to send a command to Salt minions to execute
273859              execution modules and return the results to the Salt Master.
273860
273861              Importing and using LocalClient must be done on the same machine
273862              as  the Salt Master and it must be done using the same user that
273863              the Salt Master is running as. (Unless external_auth is  config‐
273864              ured  and  authentication credentials are included in the execu‐
273865              tion).
273866
273867              NOTE:
273868                 The LocalClient uses a Tornado IOLoop, this can create issues
273869                 when using the LocalClient inside an existing IOLoop. If cre‐
273870                 ating the LocalClient  in  partnership  with  another  IOLoop
273871                 either  create the IOLoop before creating the LocalClient, or
273872                 when creating the  IOLoop  use  ioloop.current()  which  will
273873                 return the ioloop created by LocalClient.
273874
273875                 import salt.client
273876
273877                 local = salt.client.LocalClient()
273878                 local.cmd('*', 'test.fib', [10])
273879
273880              cmd(tgt,  fun,  arg=(), timeout=None, tgt_type=u'glob', ret=u'',
273881              jid=u'', full_return=False, kwarg=None, **kwargs)
273882                     Synchronously execute a command on targeted minions
273883
273884                     The cmd method will execute  and  wait  for  the  timeout
273885                     period  for all minions to reply, then it will return all
273886                     minion data at once.
273887
273888                        >>> import salt.client
273889                        >>> local = salt.client.LocalClient()
273890                        >>> local.cmd('*', 'cmd.run', ['whoami'])
273891                        {'jerry': 'root'}
273892
273893                     With extra keyword arguments for the command function  to
273894                     be run:
273895
273896                        local.cmd('*', 'test.arg', ['arg1', 'arg2'], kwarg={'foo': 'bar'})
273897
273898                     Compound  commands can be used for multiple executions in
273899                     a single publish. Function names and  function  arguments
273900                     are  provided in separate lists but the index values must
273901                     correlate and an empty list must be used if no  arguments
273902                     are required.
273903
273904                        >>> local.cmd('*', [
273905                                'grains.items',
273906                                'sys.doc',
273907                                'cmd.run',
273908                            ],
273909                            [
273910                                [],
273911                                [],
273912                                ['uptime'],
273913                            ])
273914
273915                     Parameters
273916
273917                            · tgt  (string or list) -- Which minions to target
273918                              for the execution. Default is shell glob.  Modi‐
273919                              fied by the tgt_type option.
273920
273921                            · fun (string or list of strings) --
273922
273923                              The module and function to call on the specified
273924                              minions of the form module.function. For example
273925                              test.ping or grains.items.
273926
273927                              Compound commands
273928                                     Multiple  functions  may  be  called in a
273929                                     single publish by passing a list of  com‐
273930                                     mands.  This can dramatically lower over‐
273931                                     head and speed up the application  commu‐
273932                                     nicating with Salt.
273933
273934                                     This  requires  that  the  arg param is a
273935                                     list of lists. The fun list and  the  arg
273936                                     list  must  correlate  by index meaning a
273937                                     function that  does  not  take  arguments
273938                                     must  still  have  a  corresponding empty
273939                                     list at the expected index.
273940
273941
273942                            · arg (list or list-of-lists) -- A list  of  argu‐
273943                              ments  to  pass  to  the remote function. If the
273944                              function takes no arguments arg may  be  omitted
273945                              except when executing a compound command.
273946
273947                            · timeout -- Seconds to wait after the last minion
273948                              returns but before all minions return.
273949
273950                            · tgt_type --
273951
273952                              The type of tgt. Allowed values:
273953
273954                              · glob - Bash glob completion - Default
273955
273956                              · pcre - Perl style regular expression
273957
273958                              · list - Python list of hosts
273959
273960                              · grain - Match based on a grain comparison
273961
273962                              · grain_pcre - Grain comparison with a regex
273963
273964                              · pillar - Pillar data comparison
273965
273966                              · pillar_pcre - Pillar data  comparison  with  a
273967                                regex
273968
273969                              · nodegroup - Match on nodegroup
273970
273971                              · range - Use a Range server for matching
273972
273973                              · compound - Pass a compound match string
273974
273975                              · ipcidr - Match based on Subnet (CIDR notation)
273976                                or IPv4 address.
273977
273978                              Changed  in  version  2017.7.0:   Renamed   from
273979                              expr_form to tgt_type
273980
273981
273982
273983                            · ret -- The returner to use. The value passed can
273984                              be single returner, or a comma delimited list of
273985                              returners to call in order on the minions
273986
273987                            · kwarg -- A dictionary with keyword arguments for
273988                              the function.
273989
273990                            · full_return  --  Output  the  job  return   only
273991                              (default) or the full return including exit code
273992                              and other job metadata.
273993
273994                            · kwargs --
273995
273996                              Optional keyword arguments.  Authentication cre‐
273997                              dentials may be passed when using external_auth.
273998
273999                              For  example:  local.cmd('*', 'test.ping', user‐
274000                              name='saltdev',              password='saltdev',
274001                              eauth='pam').   Or:  local.cmd('*', 'test.ping',
274002                              token='5871821ea51754fdcea8153c1c745433')
274003
274004
274005                     Returns
274006                            A dictionary with the  result  of  the  execution,
274007                            keyed by minion ID. A compound command will return
274008                            a sub-dictionary keyed by function name.
274009
274010              cmd_async(tgt, fun, arg=(), tgt_type=u'glob', ret=u'',  jid=u'',
274011              kwarg=None, **kwargs)
274012                     Asynchronously send a command to connected minions
274013
274014                     The function signature is the same as cmd() with the fol‐
274015                     lowing exceptions.
274016
274017                     Returns
274018                            A job ID or 0 on failure.
274019
274020                        >>> local.cmd_async('*', 'test.sleep', [300])
274021                        '20131219215921857715'
274022
274023              cmd_batch(tgt,   fun,   arg=(),    tgt_type=u'glob',    ret=u'',
274024              kwarg=None, batch=u'10%', **kwargs)
274025                     Iteratively  execute a command on subsets of minions at a
274026                     time
274027
274028                     The function signature is the same as cmd() with the fol‐
274029                     lowing exceptions.
274030
274031                     Parameters
274032                            batch  --  The batch identifier of systems to exe‐
274033                            cute on
274034
274035                     Returns
274036                            A generator of minion returns
274037
274038                        >>> returns = local.cmd_batch('*', 'state.highstate', batch='10%')
274039                        >>> for ret in returns:
274040                        ...     print(ret)
274041                        {'jerry': {...}}
274042                        {'dave': {...}}
274043                        {'stewart': {...}}
274044
274045              cmd_iter(tgt,  fun,  arg=(),   timeout=None,   tgt_type=u'glob',
274046              ret=u'', kwarg=None, **kwargs)
274047                     Yields the individual minion returns as they come in
274048
274049                     The function signature is the same as cmd() with the fol‐
274050                     lowing exceptions.
274051
274052                     Normally cmd_iter() does not yield  results  for  minions
274053                     that  are not connected. If you want it to return results
274054                     for  disconnected  minions  set  expect_minions=True   in
274055                     kwargs.
274056
274057                     Returns
274058                            A generator yielding the individual minion returns
274059
274060                        >>> ret = local.cmd_iter('*', 'test.ping')
274061                        >>> for i in ret:
274062                        ...     print(i)
274063                        {'jerry': {'ret': True}}
274064                        {'dave': {'ret': True}}
274065                        {'stewart': {'ret': True}}
274066
274067              cmd_iter_no_block(tgt,      fun,      arg=(),      timeout=None,
274068              tgt_type=u'glob',  ret=u'',  kwarg=None,  show_jid=False,   ver‐
274069              bose=False, **kwargs)
274070
274071                     Yields  the individual minion returns as they come in, or
274072                     None
274073                            when no returns are available.
274074
274075                     The function signature is the same as cmd() with the fol‐
274076                     lowing exceptions.
274077
274078                     Returns
274079                            A   generator   yielding   the  individual  minion
274080                            returns, or None when no  returns  are  available.
274081                            This  allows for actions to be injected in between
274082                            minion returns.
274083
274084                        >>> ret = local.cmd_iter_no_block('*', 'test.ping')
274085                        >>> for i in ret:
274086                        ...     print(i)
274087                        None
274088                        {'jerry': {'ret': True}}
274089                        {'dave': {'ret': True}}
274090                        None
274091                        {'stewart': {'ret': True}}
274092
274093              cmd_subset(tgt,   fun,   arg=(),   tgt_type=u'glob',    ret=u'',
274094              kwarg=None, sub=3, cli=False, progress=False, full_return=False,
274095              **kwargs)
274096                     Execute a command on a random subset of the targeted sys‐
274097                     tems
274098
274099                     The function signature is the same as cmd() with the fol‐
274100                     lowing exceptions.
274101
274102                     Parameters
274103
274104                            · sub -- The number of systems to execute on
274105
274106                            · cli -- When this is set to True, a generator  is
274107                              returned,  otherwise  a dictionary of the minion
274108                              returns is returned
274109
274110                        >>> SLC.cmd_subset('*', 'test.ping', sub=1)
274111                        {'jerry': True}
274112
274113              get_cli_returns(jid,    minions,     timeout=None,     tgt=u'*',
274114              tgt_type=u'glob', verbose=False, show_jid=False, **kwargs)
274115                     Starts  a watcher looking at the return data for a speci‐
274116                     fied JID
274117
274118                     Returns
274119                            all of the information for the JID
274120
274121              get_event_iter_returns(jid, minions, timeout=None)
274122                     Gather the return data from the event system, break  hard
274123                     when timeout is reached.
274124
274125              run_job(tgt,   fun,  arg=(),  tgt_type=u'glob',  ret=u'',  time‐
274126              out=None, jid=u'', kwarg=None, listen=False, **kwargs)
274127                     Asynchronously send a command to connected minions
274128
274129                     Prep the job directory and publish a command to any  tar‐
274130                     geted minions.
274131
274132                     Returns
274133                            A  dictionary  of (validated) pub_data or an empty
274134                            dictionary on failure. The pub_data  contains  the
274135                            job ID and a list of all minions that are expected
274136                            to return data.
274137
274138                        >>> local.run_job('*', 'test.sleep', [300])
274139                        {'jid': '20131219215650131543', 'minions': ['jerry']}
274140
274141   Salt Caller
274142       class salt.client.Caller(c_path=u'/etc/salt/minion', mopts=None)
274143              Caller is the same interface used by the salt-call  command-line
274144              tool on the Salt Minion.
274145
274146              Changed  in  version  2015.8.0: Added the cmd method for consis‐
274147              tency with the other Salt clients.  The  existing  function  and
274148              sminion.functions  interfaces  still exist but have been removed
274149              from the docs.
274150
274151
274152              Importing and using Caller must be done on the same machine as a
274153              Salt  Minion  and  it  must be done using the same user that the
274154              Salt Minion is running as.
274155
274156              Usage:
274157
274158                 import salt.client
274159                 caller = salt.client.Caller()
274160                 caller.cmd('test.ping')
274161
274162              Note, a running master or minion daemon is not required  to  use
274163              this  class.   Running salt-call --local simply sets file_client
274164              to 'local'. The same can be achieved  at  the  Python  level  by
274165              including that setting in a minion config file.
274166
274167              New  in  version  2014.7.0:  Pass the minion config as the mopts
274168              dictionary.
274169
274170
274171                 import salt.client
274172                 import salt.config
274173                 __opts__ = salt.config.minion_config('/etc/salt/minion')
274174                 __opts__['file_client'] = 'local'
274175                 caller = salt.client.Caller(mopts=__opts__)
274176
274177              cmd(fun, *args, **kwargs)
274178                     Call an execution module with  the  given  arguments  and
274179                     keyword arguments
274180
274181                     Changed  in  version  2015.8.0:  Added the cmd method for
274182                     consistency with the other Salt  clients.   The  existing
274183                     function and sminion.functions interfaces still exist but
274184                     have been removed from the docs.
274185
274186
274187                        caller.cmd('test.arg', 'Foo', 'Bar', baz='Baz')
274188
274189                        caller.cmd('event.send', 'myco/myevent/something',
274190                            data={'foo': 'Foo'}, with_env=['GIT_COMMIT'], with_grains=True)
274191
274192   Salt Proxy Caller
274193       class salt.client.ProxyCaller(c_path=u'/etc/salt/proxy', mopts=None)
274194              ProxyCaller is the same interface used by the salt-call with the
274195              args  --proxyid  <proxyid>  command-line  tool on the Salt Proxy
274196              Minion.
274197
274198              Importing and using ProxyCaller must be done on the same machine
274199              as  a  Salt  Minion and it must be done using the same user that
274200              the Salt Minion is running as.
274201
274202              Usage:
274203
274204                 import salt.client
274205                 caller = salt.client.Caller()
274206                 caller.cmd('test.ping')
274207
274208              Note, a running master or minion daemon is not required  to  use
274209              this  class.   Running salt-call --local simply sets file_client
274210              to 'local'. The same can be achieved  at  the  Python  level  by
274211              including that setting in a minion config file.
274212
274213                 import salt.client
274214                 import salt.config
274215                 __opts__ = salt.config.proxy_config('/etc/salt/proxy', minion_id='quirky_edison')
274216                 __opts__['file_client'] = 'local'
274217                 caller = salt.client.ProxyCaller(mopts=__opts__)
274218
274219              NOTE:
274220                 To  use  this  for  calling  proxies,  the is_proxy functions
274221                 requires that --proxyid be an argument on the commandline for
274222                 the  script  this  is used in, or that the string proxy is in
274223                 the name of the script.
274224
274225              cmd(fun, *args, **kwargs)
274226                     Call an execution module with  the  given  arguments  and
274227                     keyword arguments
274228
274229                        caller.cmd('test.arg', 'Foo', 'Bar', baz='Baz')
274230
274231                        caller.cmd('event.send', 'myco/myevent/something',
274232                            data={'foo': 'Foo'}, with_env=['GIT_COMMIT'], with_grains=True)
274233
274234   RunnerClient
274235       class salt.runner.RunnerClient(opts, context=None)
274236              The interface used by the salt-run CLI tool on the Salt Master
274237
274238              It executes runner modules which run on the Salt Master.
274239
274240              Importing  and  using  RunnerClient  must  be  done  on the same
274241              machine as the Salt Master and it must be done  using  the  same
274242              user that the Salt Master is running as.
274243
274244              Salt's  external_auth  can  be  used  to authenticate calls. The
274245              eauth user must be authorized to execute runner modules:  (@run‐
274246              ner).  Only the master_call() below supports eauth.
274247
274248              asynchronous(fun, low, user=u'UNKNOWN', pub=None)
274249                     Execute  the  function  in  a multiprocess and return the
274250                     event tag to use to watch for the return
274251
274252              cmd(fun, arg=None, pub_data=None, kwarg=None,  print_event=True,
274253              full_return=False)
274254                     Execute a function
274255
274256              cmd_async(low)
274257                     Execute   a  runner  function  asynchronously;  eauth  is
274258                     respected
274259
274260                     This function requires that external_auth  is  configured
274261                     and  the  user is authorized to execute runner functions:
274262                     (@runner).
274263
274264                        runner.eauth_async({
274265                            'fun': 'jobs.list_jobs',
274266                            'username': 'saltdev',
274267                            'password': 'saltdev',
274268                            'eauth': 'pam',
274269                        })
274270
274271              cmd_sync(low, timeout=None, full_return=False)
274272                     Execute  a  runner  function  synchronously;   eauth   is
274273                     respected
274274
274275                     This  function  requires that external_auth is configured
274276                     and the user is authorized to execute  runner  functions:
274277                     (@runner).
274278
274279                        runner.eauth_sync({
274280                            'fun': 'jobs.list_jobs',
274281                            'username': 'saltdev',
274282                            'password': 'saltdev',
274283                            'eauth': 'pam',
274284                        })
274285
274286   WheelClient
274287       class salt.wheel.WheelClient(opts=None)
274288              An interface to Salt's wheel modules
274289
274290              Wheel modules interact with various parts of the Salt Master.
274291
274292              Importing and using WheelClient must be done on the same machine
274293              as the Salt Master and it must be done using the same user  that
274294              the  Salt  Master is running as. Unless external_auth is config‐
274295              ured and the user is  authorized  to  execute  wheel  functions:
274296              (@wheel).
274297
274298              Usage:
274299
274300                 import salt.config
274301                 import salt.wheel
274302                 opts = salt.config.master_config('/etc/salt/master')
274303                 wheel = salt.wheel.WheelClient(opts)
274304
274305              asynchronous(fun, low, user=u'UNKNOWN', pub=None)
274306                     Execute  the  function  in  a multiprocess and return the
274307                     event tag to use to watch for the return
274308
274309              cmd(fun, arg=None, pub_data=None, kwarg=None,  print_event=True,
274310              full_return=False)
274311                     Execute a function
274312
274313                        >>> wheel.cmd('key.finger', ['jerry'])
274314                        {'minions': {'jerry': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
274315
274316              cmd_async(low)
274317                     Execute a function asynchronously; eauth is respected
274318
274319                     This  function  requires that external_auth is configured
274320                     and the user is authorized
274321
274322                        >>> wheel.cmd_async({
274323                            'fun': 'key.finger',
274324                            'match': 'jerry',
274325                            'eauth': 'auto',
274326                            'username': 'saltdev',
274327                            'password': 'saltdev',
274328                        })
274329                        {'jid': '20131219224744416681', 'tag': 'salt/wheel/20131219224744416681'}
274330
274331              cmd_sync(low, timeout=None, full_return=False)
274332                     Execute  a  wheel  function   synchronously;   eauth   is
274333                     respected
274334
274335                     This  function  requires that external_auth is configured
274336                     and the user is authorized to execute  runner  functions:
274337                     (@wheel).
274338
274339                        >>> wheel.cmd_sync({
274340                        'fun': 'key.finger',
274341                        'match': 'jerry',
274342                        'eauth': 'auto',
274343                        'username': 'saltdev',
274344                        'password': 'saltdev',
274345                        })
274346                        {'minions': {'jerry': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
274347
274348   CloudClient
274349       class   salt.cloud.CloudClient(path=None,  opts=None,  config_dir=None,
274350       pillars=None)
274351              The client class to wrap cloud interactions
274352
274353              action(fun=None,   cloudmap=None,   names=None,   provider=None,
274354              instance=None, kwargs=None)
274355                     Execute a single action via the cloud plugin backend
274356
274357                     Examples:
274358
274359                        client.action(fun='show_instance', names=['myinstance'])
274360                        client.action(fun='show_image', provider='my-ec2-config',
274361                            kwargs={'image': 'ami-10314d79'}
274362                        )
274363
274364              create(provider, names, **kwargs)
274365                     Create the named VMs, without using a profile
274366
274367                     Example:
274368
274369                        client.create(provider='my-ec2-config', names=['myinstance'],
274370                            image='ami-1624987f', size='t1.micro', ssh_username='ec2-user',
274371                            securitygroup='default', delvol_on_destroy=True)
274372
274373              destroy(names)
274374                     Destroy the named VMs
274375
274376              extra_action(names, provider, action, **kwargs)
274377                     Perform actions with block storage devices
274378
274379                     Example:
274380
274381                        client.extra_action(names=['myblock'], action='volume_create',
274382                            provider='my-nova', kwargs={'voltype': 'SSD', 'size': 1000}
274383                        )
274384                        client.extra_action(names=['salt-net'], action='network_create',
274385                            provider='my-nova', kwargs={'cidr': '192.168.100.0/24'}
274386                        )
274387
274388              full_query(query_type=u'list_nodes_full')
274389                     Query all instance information
274390
274391              list_images(provider=None)
274392                     List all available images in configured cloud systems
274393
274394              list_locations(provider=None)
274395                     List all available locations in configured cloud systems
274396
274397              list_sizes(provider=None)
274398                     List all available sizes in configured cloud systems
274399
274400              low(fun, low)
274401                     Pass the cloud function and low data structure to run
274402
274403              map_run(path=None, **kwargs)
274404                     To execute a map
274405
274406              min_query(query_type=u'list_nodes_min')
274407                     Query select instance information
274408
274409              profile(profile, names, vm_overrides=None, **kwargs)
274410                     Pass  in a profile to create, names is a list of vm names
274411                     to allocate
274412                        vm_overrides is a special dict that will be  per  node
274413                        options overrides
274414
274415                     Example:
274416
274417                        >>> client= salt.cloud.CloudClient(path='/etc/salt/cloud')
274418                        >>> client.profile('do_512_git', names=['minion01',])
274419                        {'minion01': {'backups_active': 'False',
274420                                'created_at': '2014-09-04T18:10:15Z',
274421                                'droplet': {'event_id': 31000502,
274422                                             'id': 2530006,
274423                                             'image_id': 5140006,
274424                                             'name': 'minion01',
274425                                             'size_id': 66},
274426                                'id': '2530006',
274427                                'image_id': '5140006',
274428                                'ip_address': '107.XXX.XXX.XXX',
274429                                'locked': 'True',
274430                                'name': 'minion01',
274431                                'private_ip_address': None,
274432                                'region_id': '4',
274433                                'size_id': '66',
274434                                'status': 'new'}}
274435
274436              query(query_type=u'list_nodes')
274437                     Query basic instance information
274438
274439              select_query(query_type=u'list_nodes_select')
274440                     Query select instance information
274441
274442   SSHClient
274443       class      salt.client.ssh.client.SSHClient(c_path=u'/etc/salt/master',
274444       mopts=None, disable_custom_roster=False)
274445              Create a client object for executing routines via  the  salt-ssh
274446              backend
274447
274448              New in version 2015.5.0.
274449
274450
274451              cmd(tgt,    fun,    arg=(),    timeout=None,   tgt_type=u'glob',
274452              kwarg=None, **kwargs)
274453                     Execute a single command via the salt-ssh  subsystem  and
274454                     return all routines at once
274455
274456                     New in version 2015.5.0.
274457
274458
274459              cmd_iter(tgt,   fun,   arg=(),  timeout=None,  tgt_type=u'glob',
274460              ret=u'', kwarg=None, **kwargs)
274461                     Execute a single command via the salt-ssh  subsystem  and
274462                     return a generator
274463
274464                     New in version 2015.5.0.
274465
274466
274467   netapi modules
274468   Introduction to netapi modules
274469       netapi  modules  provide  API-centric  access  to  Salt. Usually exter‐
274470       nally-facing services such as REST or WebSockets, XMPP, XMLRPC, etc.
274471
274472       In general netapi modules bind to a port and start a service. They  are
274473       purposefully  open-ended.  A  single module can be configured to run as
274474       well as multiple modules simultaneously.
274475
274476       netapi modules are enabled by adding configuration to your Salt  Master
274477       config  file  and then starting the salt-api daemon. Check the docs for
274478       each module to see external requirements and configuration settings.
274479
274480       Communication with Salt and  Salt  satellite  projects  is  done  using
274481       Salt's own Python API. A list of available client interfaces is below.
274482
274483          salt-api
274484
274485                 Prior to Salt's 2014.7.0 release, netapi modules lived in the
274486                 separate sister projected salt-api.  That  project  has  been
274487                 merged into the main Salt project.
274488
274489       SEE ALSO:
274490          The full list of netapi modules
274491
274492   Client interfaces
274493       Salt's  client interfaces expose executing functions by crafting a dic‐
274494       tionary of values that are mapped to function  arguments.  This  allows
274495       calling  functions  simply  by  creating a data structure. (And this is
274496       exactly how much of Salt's own internals work!)
274497
274498       class salt.netapi.NetapiClient(opts)
274499              Provide a uniform method of accessing the various client  inter‐
274500              faces in Salt in the form of low-data data structures. For exam‐
274501              ple:
274502
274503              >>> client = NetapiClient(__opts__)
274504              >>> lowstate = {'client': 'local', 'tgt': '*', 'fun': 'test.ping', 'arg': ''}
274505              >>> client.run(lowstate)
274506
274507              local(*args, **kwargs)
274508                     Run execution modules synchronously
274509
274510                     See  salt.client.LocalClient.cmd()  for   all   available
274511                     parameters.
274512
274513                     Sends  a command from the master to the targeted minions.
274514                     This is the same interface that Salt's own CLI uses. Note
274515                     the  arg  and  kwarg parameters are sent down to the min‐
274516                     ion(s) and the given function, fun, is called with  those
274517                     parameters.
274518
274519                     Returns
274520                            Returns the result from the execution module
274521
274522              local_async(*args, **kwargs)
274523                     Run execution modules asynchronously
274524
274525                     Wraps salt.client.LocalClient.run_job().
274526
274527                     Returns
274528                            job ID
274529
274530              local_subset(*args, **kwargs)
274531                     Run execution modules against subsets of minions
274532
274533                     New in version 2016.3.0.
274534
274535
274536                     Wraps salt.client.LocalClient.cmd_subset()
274537
274538              runner(fun, timeout=None, full_return=False, **kwargs)
274539                     Run runner modules <all-salt.runners> synchronously
274540
274541                     Wraps salt.runner.RunnerClient.cmd_sync().
274542
274543                     Note  that  runner functions must be called using keyword
274544                     arguments.  Positional arguments are not supported.
274545
274546                     Returns
274547                            Returns the result from the runner module
274548
274549              runner_async(fun, **kwargs)
274550                     Run runner modules <all-salt.runners> asynchronously
274551
274552                     Wraps salt.runner.RunnerClient.cmd_async().
274553
274554                     Note that runner functions must be called  using  keyword
274555                     arguments.  Positional arguments are not supported.
274556
274557                     Returns
274558                            event data and a job ID for the executed function.
274559
274560              ssh(*args, **kwargs)
274561                     Run salt-ssh commands synchronously
274562
274563                     Wraps salt.client.ssh.client.SSHClient.cmd_sync().
274564
274565                     Returns
274566                            Returns the result from the salt-ssh command
274567
274568              wheel(fun, **kwargs)
274569                     Run wheel modules synchronously
274570
274571                     Wraps salt.wheel.WheelClient.master_call().
274572
274573                     Note  that  wheel  functions must be called using keyword
274574                     arguments.  Positional arguments are not supported.
274575
274576                     Returns
274577                            Returns the result from the wheel module
274578
274579              wheel_async(fun, **kwargs)
274580                     Run wheel modules asynchronously
274581
274582                     Wraps salt.wheel.WheelClient.master_call().
274583
274584                     Note that wheel functions must be  called  using  keyword
274585                     arguments.  Positional arguments are not supported.
274586
274587                     Returns
274588                            Returns the result from the wheel module
274589
274590   Writing netapi modules
274591       netapi  modules, put simply, bind a port and start a service.  They are
274592       purposefully open-ended and can be used to present a variety of  exter‐
274593       nal interfaces to Salt, and even present multiple interfaces at once.
274594
274595       SEE ALSO:
274596          The full list of netapi modules
274597
274598   Configuration
274599       All  netapi configuration is done in the Salt master config and takes a
274600       form similar to the following:
274601
274602          rest_cherrypy:
274603            port: 8000
274604            debug: True
274605            ssl_crt: /etc/pki/tls/certs/localhost.crt
274606            ssl_key: /etc/pki/tls/certs/localhost.key
274607
274608   The __virtual__ function
274609       Like all module types in Salt, netapi modules go through Salt's  loader
274610       interface  to  determine  if they should be loaded into memory and then
274611       executed.
274612
274613       The __virtual__ function in the module  makes  this  determination  and
274614       should return False or a string that will serve as the name of the mod‐
274615       ule. If the module raises an ImportError or any other errors,  it  will
274616       not be loaded.
274617
274618   The start function
274619       The  start()  function  will  be  called for each netapi module that is
274620       loaded. This function should contain  the  server  loop  that  actually
274621       starts the service. This is started in a multiprocess.
274622
274623   Multiple instances
274624       New in version 2016.11.0.
274625
274626
274627       rest_cherrypy  and  rest_tornado  support running multiple instances by
274628       copying and renaming entire directory of those.  To  start  the  copied
274629       multiple netapi modules, add configuration blocks for the copied netapi
274630       modules in the Salt Master config. The name of each added configuration
274631       block  must  match with the name of each directory of the copied netapi
274632       module.
274633
274634   Inline documentation
274635       As with the rest of Salt, it is  a  best-practice  to  include  liberal
274636       inline  documentation  in the form of a module docstring and docstrings
274637       on any classes, methods, and functions in your netapi module.
274638
274639   Loader “magic” methods
274640       The loader makes the __opts__ data structure available to any  function
274641       in a netapi module.
274642

ARCHITECTURE

274644       If  you  are used to configuration management tools that require you to
274645       plan down to the last detail before you install anything, you are prob‐
274646       ably  wondering why this section doesn't appear before the installation
274647       instructions. With Salt, you can switch to a high  availability  archi‐
274648       tecture  at  any  time,  and  add  additional  components to scale your
274649       deployment as you go.
274650
274651       Since a single Salt master can manage thousands of systems, we  usually
274652       recommend  that  you  start by deploying a single Salt master, and then
274653       modifying your deployment as needed for redundancy,  geographical  dis‐
274654       tribution, and scale.
274655
274656   High Availability Features in Salt
274657       Salt  supports  several features for high availability and fault toler‐
274658       ance.  Brief documentation for these features is listed alongside their
274659       configuration parameters in Configuration file examples.
274660
274661   Multimaster
274662       Salt minions can connect to multiple masters at one time by configuring
274663       the master configuration parameter as a YAML list of all the  available
274664       masters.   By  default,  all masters are "hot", meaning that any master
274665       can direct commands to the Salt infrastructure.
274666
274667       In a multimaster configuration, each master must have the same  crypto‐
274668       graphic  keys,  and  minion  keys must be accepted on all masters sepa‐
274669       rately.  The contents of file_roots and pillar_roots need to be kept in
274670       sync with processes external to Salt as well
274671
274672       A tutorial on setting up multimaster with "hot" masters is here:
274673
274674       Multimaster Tutorial
274675
274676   Multimaster with Failover
274677       Changing the master_type parameter from str to failover will cause min‐
274678       ions to connect to the first responding master in the list of  masters.
274679       Every master_alive_interval seconds the minions will check to make sure
274680       the current master  is  still  responding.   If  the  master  does  not
274681       respond,  the  minion will attempt to connect to the next master in the
274682       list.  If the minion runs out of masters, the list will be recycled  in
274683       case  dead masters have been restored.  Note that master_alive_interval
274684       must be present in the minion configuration, or else the recurring  job
274685       to check master status will not get scheduled.
274686
274687       Failover  can be combined with PKI-style encrypted keys, but PKI is NOT
274688       REQUIRED to use failover.
274689
274690       Multimaster with PKI and Failover is discussed in this tutorial
274691
274692       master_type: failover can be  combined  with  master_shuffle:  True  to
274693       spread  minion  connections  across all masters (one master per minion,
274694       not each minion connecting to all masters).  Adding Salt  Syndics  into
274695       the  mix  makes  it possible to create a load-balanced Salt infrastruc‐
274696       ture.  If a master fails, minions will notice and select another master
274697       from the available list.
274698
274699   Syndic
274700       Salt's  Syndic  feature  is  a  way  to create differing infrastructure
274701       topologies.  It is not strictly an HA feature, but can  be  treated  as
274702       such.
274703
274704       With the syndic, a Salt infrastructure can be partitioned in such a way
274705       that certain masters control certain segments  of  the  infrastructure,
274706       and  "Master of Masters" nodes can control multiple segments underneath
274707       them.
274708
274709       Syndics are covered in depth in Salt Syndic.
274710
274711   Syndic with Multimaster
274712       New in version 2015.5.0.
274713
274714
274715       Syndic with Multimaster lets you connect a syndic to  multiple  masters
274716       to provide an additional layer of redundancy in a syndic configuration.
274717
274718       Syndics are covered in depth in Salt Syndic.
274719
274720   Salt Syndic
274721       The  most  basic  or  typical Salt topology consists of a single Master
274722       node controlling a group of Minion nodes.  An intermediate  node  type,
274723       called  Syndic,  when  used  offers  greater structural flexibility and
274724       scalability in the construction of Salt topologies than topologies con‐
274725       structed only out of Master and Minion node types.
274726
274727       A  Syndic  node can be thought of as a special passthrough Minion node.
274728       A Syndic node consists of a salt-syndic daemon and a salt-master daemon
274729       running on the same system.  The salt-master daemon running on the Syn‐
274730       dic node controls a group of lower level Minion nodes and the salt-syn‐
274731       dic daemon connects higher level Master node, sometimes called a Master
274732       of Masters.
274733
274734       The salt-syndic daemon relays publications and events between the  Mas‐
274735       ter  node and the local salt-master daemon.  This gives the Master node
274736       control over the Minion nodes attached to the salt-master  daemon  run‐
274737       ning on the Syndic node.
274738
274739   Configuring the Syndic
274740       To  setup a Salt Syndic you need to tell the Syndic node and its Master
274741       node about each other.  If your Master node is  located  at  10.10.0.1,
274742       then your configurations would be:
274743
274744       On the Syndic node:
274745
274746          # /etc/salt/master
274747          syndic_master: 10.10.0.1  # may be either an IP address or a hostname
274748
274749          # /etc/salt/minion
274750
274751          # id is shared by the salt-syndic daemon and a possible salt-minion daemon
274752          # on the Syndic node
274753          id: my_syndic
274754
274755       On the Master node:
274756
274757          # /etc/salt/master
274758          order_masters: True
274759
274760       The syndic_master option tells the Syndic node where to find the Master
274761       node in the same way that the master option tells a Minion  node  where
274762       to find a Master node.
274763
274764       The  id  option  is used by the salt-syndic daemon to identify with the
274765       Master node and if unset will default to the hostname or IP address  of
274766       the Syndic just as with a Minion.
274767
274768       The  order_masters  option  configures  the  Master  node to send extra
274769       information with its publications that is needed by Syndic  nodes  con‐
274770       nected directly to it.
274771
274772       NOTE:
274773          Each  Syndic  must  provide its own file_roots directory. Files will
274774          not be automatically transferred from the Master node.
274775
274776   Configuring the Syndic with Multimaster
274777       New in version 2015.5.0.
274778
274779
274780       Syndic with Multimaster lets you connect a syndic to  multiple  masters
274781       to provide an additional layer of redundancy in a syndic configuration.
274782
274783       Higher  level  masters should first be configured in a multimaster con‐
274784       figuration.  See Multimaster Tutorial.
274785
274786       On the syndic, the syndic_master option is populated with a list of the
274787       higher level masters.
274788
274789       Since  each syndic is connected to each master, jobs sent from any mas‐
274790       ter are forwarded to minions that are connected to each syndic. If  the
274791       master_id  value  is  set in the master config on the higher level mas‐
274792       ters, job results are  returned  to  the  master  that  originated  the
274793       request  in  a best effort fashion. Events/jobs without a master_id are
274794       returned to any available master.
274795
274796   Running the Syndic
274797       The salt-syndic daemon is a separate process that needs to  be  started
274798       in  addition  to  the  salt-master  daemon  running on the Syndic node.
274799       Starting the salt-syndic daemon is the same as starting the other  Salt
274800       daemons.
274801
274802       The  Master  node  in  many  ways sees the Syndic as an ordinary Minion
274803       node.  In particular, the Master will need to accept the Syndic's  Min‐
274804       ion key as it would for any other Minion.
274805
274806       On the Syndic node:
274807
274808          # salt-syndic
274809          or
274810          # service salt-syndic start
274811
274812       On the Master node:
274813
274814          # salt-key -a my_syndic
274815
274816       The  Master node will now be able to control the Minion nodes connected
274817       to the Syndic.  Only the Syndic key will be listed in the Master node's
274818       key registry but this also means that key activity between the Syndic's
274819       Minions and the Syndic does not encumber the Master node.  In this way,
274820       the  Syndic's key on the Master node can be thought of as a placeholder
274821       for the keys of all the Minion and Syndic nodes beneath it, giving  the
274822       Master node a clear, high level structural view on the Salt cluster.
274823
274824       On the Master node:
274825
274826          # salt-key -L
274827          Accepted Keys:
274828          my_syndic
274829          Denied Keys:
274830          Unaccepted Keys:
274831          Rejected Keys:
274832
274833          # salt '*' test.version
274834          minion_1:
274835              2018.3.4
274836          minion_2:
274837              2018.3.4
274838          minion_4:
274839              2018.3.4
274840          minion_3:
274841              2018.3.4
274842
274843   Topology
274844       A  Master  node  (a node which is itself not a Syndic to another higher
274845       level Master node) must run  a  salt-master  daemon  and  optionally  a
274846       salt-minion daemon.
274847
274848       A  Syndic node must run salt-syndic and salt-master daemons and option‐
274849       ally a salt-minion daemon.
274850
274851       A Minion node must run a salt-minion daemon.
274852
274853       When a salt-master daemon issues a command, it will be received by  the
274854       Syndic  and  Minion nodes directly connected to it.  A Minion node will
274855       process the command in the way it ordinarily would.  On a Syndic  node,
274856       the salt-syndic daemon will relay the command to the salt-master daemon
274857       running on the Syndic node, which then propagates the  command  to  the
274858       Minions and Syndics connected to it.
274859
274860       When  events  and job return data are generated by salt-minion daemons,
274861       they are aggregated by the salt-master daemon they  are  connected  to,
274862       which  salt-master  daemon  then  relays  the  data  back  through  its
274863       salt-syndic daemon until the data reaches the  Master  or  Syndic  node
274864       that issued the command.
274865
274866   Syndic wait
274867       syndic_wait  is  a master configuration file setting that specifies the
274868       number of seconds the Salt client should wait for additional syndics to
274869       check  in  with  their lists of expected minions before giving up. This
274870       value defaults to 5 seconds.
274871
274872       The syndic_wait setting is necessary because  the  higher-level  master
274873       does not have a way of knowing which minions are below the syndics. The
274874       higher-level master has its own list of expected minions and  the  mas‐
274875       ters  below  them have their own lists as well, so the Salt client does
274876       not how long to wait for all returns.  The  syndic_wait  option  allows
274877       time for all minions to return to the Salt client.
274878
274879       NOTE:
274880          To  reduce  the amount of time the CLI waits for Minions to respond,
274881          install a Minion on the Syndic or tune the value of the  syndic_wait
274882          configuration.
274883
274884       While  it is possible to run a Syndic without a Minion installed on the
274885       same system, it is recommended, for a faster CLI response time,  to  do
274886       so.   Without  a Minion installed on the Syndic node, the timeout value
274887       of syndic_wait increases significantly - about three-fold. With a  Min‐
274888       ion  installed  on  the  Syndic,  the  CLI timeout resides at the value
274889       defined in syndic_wait.
274890
274891       NOTE:
274892          If you have a very large infrastructure or many layers  of  Syndics,
274893          you  may  find that the CLI doesn't wait long enough for the Syndics
274894          to return their events.  If you think this is the case, you can  set
274895          the  syndic_wait value in the Master configs on the Master or Syndic
274896          nodes from which commands are executed.  The default value is 5, and
274897          should work for the majority of deployments.
274898
274899       In order for a Master or Syndic node to return information from Minions
274900       that are below their Syndics, the CLI requires a  short  wait  time  in
274901       order to allow the Syndics to gather responses from their Minions. This
274902       value is defined in the syndic_wait config option and has a default  of
274903       five seconds.
274904
274905   Syndic config options
274906       These  are  the  options  that  can be used to configure a Syndic node.
274907       Note that other than id, Syndic config options are placed in the Master
274908       config on the Syndic node.
274909
274910          · id:  Syndic  id (shared by the salt-syndic daemon with a potential
274911            salt-minion daemon on the same system)
274912
274913          · syndic_master: Master node IP address or hostname
274914
274915          · syndic_master_port: Master node ret_port
274916
274917          · syndic_log_file: path to the logfile (absolute or not)
274918
274919          · syndic_pidfile: path to the pidfile (absolute or not)
274920
274921          · syndic_wait: time in seconds to wait on returns from this syndic
274922
274923   Minion Data Cache
274924       Beginning with Salt 2016.11.0, the  Pluggable  Minion  Data  Cache  was
274925       introduced.  The  minion data cache contains the Salt Mine data, minion
274926       grains, and minion pillar information cached on  the  Salt  Master.  By
274927       default,  Salt  uses  the localfs cache module, but other external data
274928       stores can be used instead.
274929
274930       Using a pluggable minion cache modules allows for the data stored on  a
274931       Salt  Master  about Salt Minions to be replicated on other Salt Masters
274932       the Minion is connected to. Please see the Minion Data Cache documenta‐
274933       tion for more information and configuration examples.
274934

MINION DATA CACHE

274936       New in version 2016.11.0.
274937
274938
274939       The  Minion  data  cache contains the Salt Mine data, minion grains and
274940       minion pillar information cached on the Salt Master. By  default,  Salt
274941       uses the localfs cache module to save the data in a msgpack file on the
274942       Salt Master.
274943
274944   Pluggable Data Cache
274945       While the default Minion data cache is the localfs cache, other  exter‐
274946       nal  data stores can also be used to store this data such as the consul
274947       module.  To configure a Salt Master to use a different data store,  the
274948       cache setting needs to be established:
274949
274950          cache: consul
274951
274952       The pluggable data cache streamlines using various Salt topologies such
274953       as a Multi-Master or Salt Syndics configuration by  allowing  the  data
274954       stored  on the Salt Master about a Salt Minion to be available to other
274955       Salt Syndics or Salt Masters that a Salt Minion is connected to.
274956
274957       Additional minion data cache modules can be easily created by  modeling
274958       the custom data store after one of the existing cache modules.
274959
274960       See cache modules for a current list.
274961
274962   Configuring the Minion Data Cache
274963       The  default  localfs Minion data cache module doesn't require any con‐
274964       figuration.  External data cache modules with external data stores such
274965       as Consul require a configuration setting in the master config.
274966
274967       Here's an example config for Consul:
274968
274969          consul.host: 127.0.0.1
274970          consul.port: 8500
274971          consul.token: None
274972          consul.scheme: http
274973          consul.consistency: default
274974          consul.dc: dc1
274975          consul.verify: True
274976
274977          cache: consul
274978

SLOTS

274980       New in version 2018.3.0.
274981
274982
274983       Changed in version 3000.
274984
274985
274986       NOTE:
274987          This  functionality is under development and could be changed in the
274988          future releases
274989
274990       Many times it is useful to store the results of a  command  during  the
274991       course  of  an execution. Salt Slots are designed to allow you to store
274992       this information and use it later during the  highstate  or  other  job
274993       execution.
274994
274995       Slots  extend the state syntax and allows you to do things right before
274996       the state function is executed. So you can make a decision in the  last
274997       moment right before a state is executed.
274998
274999   Execution functions
275000       NOTE:
275001          Using  execution  modules  return  data as a state values is a first
275002          step of Slots development. Other functionality is under development.
275003
275004       Slots allow you to use the return from a remote-execution  function  as
275005       an argument value in states.
275006
275007       Slot syntax looks close to the simple python function call.
275008
275009          __slot__:salt:<module>.<function>(<args>, ..., <kwargs...>, ...)
275010
275011       For  the  3000 release, this syntax has been updated to support parsing
275012       functions which return dictionaries and for appending text to the  slot
275013       result.
275014
275015          __slot__:salt:<module>.<function>(<args>..., <kwargs...>, ...).dictionary ~ append
275016
275017       There  are some specifics in the syntax coming from the execution func‐
275018       tions nature and a desire to simplify the user experience. First one is
275019       that you don't need to quote the strings passed to the slots functions.
275020       The second one is that all arguments handled as strings.
275021
275022       Here is a simple example:
275023
275024          copy-some-file:
275025            file.copy:
275026              - name: __slot__:salt:test.echo(text=/tmp/some_file)
275027              - source: __slot__:salt:test.echo(/etc/hosts)
275028
275029       This will execute the test.echo execution functions right before  call‐
275030       ing  the state. The functions in the example will return /tmp/some_file
275031       and /etc/hosts strings that will be used as a target and  source  argu‐
275032       ments in the state function file.copy.
275033
275034       Here is an example of result parsing and appending:
275035
275036          file-in-user-home:
275037            file.copy:
275038              - name: __slot__:salt:user.info(someuser).home ~ /subdirectory
275039              - source: salt://somefile
275040

WINDOWS

275042       This  section contains details on the Windows Package Manager, and spe‐
275043       cific information you need to use Salt on Windows.
275044
275045   Windows Software Repository
275046       NOTE:
275047          In 2015.8.0 and later, the Windows Software Repository cache is com‐
275048          piled  on  the  Salt  Minion, which enables pillar, grains and other
275049          things to be available during compilation time. To support this  new
275050          functionality,  a  next-generation  (ng) package repository was cre‐
275051          ated. See the Changes in Version 2015.8.0 for details.
275052
275053       The SaltStack Windows Software Repository provides  a  package  manager
275054       and  software  repository similar to what is provided by yum and apt on
275055       Linux. This repository enables the installation of software  using  the
275056       installers on remote Windows systems.
275057
275058       In  many  senses, the operation is similar to that of the other package
275059       managers salt is aware of:
275060
275061       · the pkg.installed and similar states work on Windows.
275062
275063       · the pkg.install and similar module functions work on Windows.
275064
275065       High level differences to yum and apt are:
275066
275067       · The repository metadata (SLS files) is hosted through either salt  or
275068         git.
275069
275070       · Packages  can  be  downloaded  from within the salt repository, a git
275071         repository or from HTTP(S) or FTP URLs.
275072
275073       · No dependencies are managed. Dependencies between packages  needs  to
275074         be managed manually.
275075
275076       Requirements:
275077
275078       · GitPython  0.3 or later, or pygit2 0.20.3 with libgit 0.20.0 or later
275079         installed on your Salt master. The Windows  package  definitions  are
275080         downloaded and updated using Git.
275081
275082   Configuration
275083   Populate the Repository
275084       The  SLS  files used to install Windows packages are not distributed by
275085       default with Salt. Run the following command to initialize the  reposi‐
275086       tory on your Salt master:
275087
275088          salt-run winrepo.update_git_repos
275089
275090   Sync Repo to Windows Minions
275091       Run  pkg.refresh_db  on each of your Windows minions to synchronize the
275092       package repository.
275093
275094          salt -G 'os:windows' pkg.refresh_db
275095
275096       NOTE:
275097          Use pkg.refresh_db from 2016.11 when developing new Windows  package
275098          definitions  to  check  for errors in the definitions against one or
275099          more Windows minions.
275100
275101   Install Windows Software
275102       After completing the configuration steps, you are ready to manage soft‐
275103       ware on your Windows minions.
275104
275105   Show Installed Packages
275106          salt -G 'os:windows' pkg.list_pkgs
275107
275108   Install a Package
275109       You  can  query  the  available version of a package using the Salt pkg
275110       module.
275111
275112          salt winminion pkg.list_available firefox
275113
275114          winminion:
275115              - 15.0.1
275116              - 16.0.2
275117              - 17.0.1
275118
275119       As you can see, there are  three  versions  of  Firefox  available  for
275120       installation.   You  can  refer  a  software package by its name or its
275121       full_name surround by single quotes.
275122
275123          salt winminion pkg.install 'firefox'
275124
275125       The above line will install the latest version of Firefox.
275126
275127          salt winminion pkg.install 'firefox' version=16.0.2
275128
275129       The above line will install version 16.0.2 of Firefox.
275130
275131       If a different version of the package is already installed it  will  be
275132       replaced  with  the  version in the winrepo (only if the package itself
275133       supports live updating).
275134
275135       You can also specify the full name:
275136
275137          salt winminion pkg.install 'Mozilla Firefox 17.0.1 (x86 en-US)'
275138
275139   Uninstall Windows Software
275140       Uninstall software using the pkg module:
275141
275142          salt winminion pkg.remove firefox
275143          salt winminion pkg.purge firefox
275144
275145       NOTE:
275146          pkg.purge just executes pkg.remove on Windows. At some point in  the
275147          future  pkg.purge may direct the installer to remove all configs and
275148          settings for software packages that support that option.
275149
275150   Repository Location
275151       Salt maintains a repository of SLS files to install a large  number  of
275152       Windows packages:
275153
275154       · 2015.8.0               and               later               minions:
275155         https://github.com/saltstack/salt-winrepo-ng
275156
275157       · Earlier releases: https://github.com/saltstack/salt-winrepo
275158
275159       By default, these repositories are  mirrored  to  /srv/salt/win/repo-ng
275160       and /srv/salt/win/repo.
275161
275162       This  location  can be changed in the master config file by setting the
275163       winrepo_dir_ng and winrepo_dir options.
275164
275165   Maintaining Windows Repo Definitions in Git Repositories
275166       Windows software package definitions can be hosted in one or  more  Git
275167       repositories.  The  default  repositories are hosted on GitHub by Salt‐
275168       Stack. These include software definition files for various open  source
275169       software  projects.   These  software  definition files are .sls files.
275170       There are two default repositories: salt-winrepo  and  salt-winrepo-ng.
275171       salt-winrepo  contains  software  definition  files  for  older minions
275172       (older than 2015.8.0).  salt-winrepo-ng is for newer minions  (2015.8.0
275173       and newer).
275174
275175       Each  software  definition file contains all the information salt needs
275176       to install that software on a minion including the HTTP  or  FTP  loca‐
275177       tions of the installer files, required command-line switches for silent
275178       install, etc. Anyone is welcome to send a pull request to this repo  to
275179       add   new   package   definitions.  The  repos  can  be  browsed  here:
275180       salt-winrepo salt-winrepo-ng
275181
275182       NOTE:
275183          The newer software definition  files  are  run  through  the  salt's
275184          parser which allows for the use of jinja.
275185
275186       Configure which git repositories the master can search for package def‐
275187       initions  by  modifying  or  extending  the  winrepo_remotes  and  win‐
275188       repo_remotes_ng options.
275189
275190       IMPORTANT:
275191          winrepo_remotes  was  called  win_gitrepos  in Salt versions earlier
275192          than 2015.8.0
275193
275194       Package definitions are pulled down from the online git  repository  by
275195       running  the  winrepo.update_git_repos  runner.  This command is run on
275196       the master:
275197
275198          salt-run winrepo.update_git_repos
275199
275200       This will pull down the software definition  files  for  older  minions
275201       (salt-winrepo)  and  new  minions (salt-winrepo-ng). They are stored in
275202       the file_roots under  win/repo/salt-winrepo  and  win/repo-ng/salt-win‐
275203       repo-ng respectively.
275204
275205       IMPORTANT:
275206          If  you  have customized software definition files that aren't main‐
275207          tained in a repository, those should be stored  under  win/repo  for
275208          older minions and win/repo-ng for newer minions. The reason for this
275209          is    that    the    contents    of    win/repo/salt-winrepo     and
275210          win/repo-ng/salt-winrepo-ng  are wiped out every time you run a win‐
275211          repo.update_git_repos.
275212
275213          Additionally, when you run winrepo.genrepo  and  pkg.refresh_db  the
275214          entire  contents under win/repo and win/repo-ng, to include all sub‐
275215          directories, are used to create the meta database file.
275216
275217       The next step (if you have older minions) is to create the  meta  data‐
275218       base  file  for  the repo (winrepo.p). This is done by running the win‐
275219       repo.genrepo runner. This is also run on the master:
275220
275221          salt-run winrepo.genrepo
275222
275223       NOTE:
275224          If you have only 2015.8.0 and newer minions, you no longer  need  to
275225          run salt-run winrepo.genrepo on the master.
275226
275227       Finally,  you  need  to  refresh  the  minion  database  by running the
275228       pkg.refresh_db command. This is run on the master as well:
275229
275230          salt '*' pkg.refresh_db
275231
275232       On older minions (older than 2015.8.0) this  will  copy  the  winrepo.p
275233       file  down  to  the  minion. On newer minions (2015.8.0 and newer) this
275234       will copy all the software definition files (.sls) down to  the  minion
275235       and  then create the meta database file (winrepo.p) locally. The reason
275236       this is done locally is because the jinja needs to be parsed using  the
275237       minion's grains.
275238
275239       IMPORTANT:
275240          Every  time  you modify the software definition files on the master,
275241          either  by  running  salt-run  winrepo.update_git_repos,   modifying
275242          existing  files,  or  by  creating your own, you need to refresh the
275243          database on your minions. For  older  minions,  that  means  running
275244          salt-run winrepo.genrepo and then salt '*' pkg.refresh_db. For newer
275245          minions (2015.8.0 and newer) it is just salt '*' pkg.refresh_db.
275246
275247       NOTE:
275248          If the winrepo.genrepo or the pkg.refresh_db fails, it is  likely  a
275249          problem with the jinja in one of the software definition files. This
275250          will cause the operations to stop. You'll need to fix the syntax  in
275251          order for the meta database file to be created successfully.
275252
275253       To  disable  one of the repos, set it to an empty list [] in the master
275254       config. For example, to disable winrepo_remotes set  the  following  in
275255       the master config file:
275256
275257          winrepo_remotes: []
275258
275259   Creating a Package Definition SLS File
275260       The package definition file is a YAML file that contains all the infor‐
275261       mation needed to install a piece of software  using  salt.  It  defines
275262       information  about  the  package  to  include version, full name, flags
275263       required for the installer and uninstaller, whether or not to  use  the
275264       Windows  task  scheduler  to  install  the  package,  where to find the
275265       installation package, etc.
275266
275267       Take a look at this example for Firefox:
275268
275269          firefox:
275270            '17.0.1':
275271              installer: 'salt://win/repo/firefox/English/Firefox Setup 17.0.1.exe'
275272              full_name: Mozilla Firefox 17.0.1 (x86 en-US)
275273              locale: en_US
275274              reboot: False
275275              install_flags: '-ms'
275276              uninstaller: '%ProgramFiles(x86)%/Mozilla Firefox/uninstall/helper.exe'
275277              uninstall_flags: '/S'
275278            '16.0.2':
275279              installer: 'salt://win/repo/firefox/English/Firefox Setup 16.0.2.exe'
275280              full_name: Mozilla Firefox 16.0.2 (x86 en-US)
275281              locale: en_US
275282              reboot: False
275283              install_flags: '-ms'
275284              uninstaller: '%ProgramFiles(x86)%/Mozilla Firefox/uninstall/helper.exe'
275285              uninstall_flags: '/S'
275286            '15.0.1':
275287              installer: 'salt://win/repo/firefox/English/Firefox Setup 15.0.1.exe'
275288              full_name: Mozilla Firefox 15.0.1 (x86 en-US)
275289              locale: en_US
275290              reboot: False
275291              install_flags: '-ms'
275292              uninstaller: '%ProgramFiles(x86)%/Mozilla Firefox/uninstall/helper.exe'
275293              uninstall_flags: '/S'
275294
275295       Each software definition file begins with a package name for the  soft‐
275296       ware.  As  in  the example above firefox. The next line is indented two
275297       spaces and contains the version to be defined. As in the example above,
275298       a  software  definition  file can define multiple versions for the same
275299       piece of software. The lines following the  version  are  indented  two
275300       more  spaces  and  contain  all  the information needed to install that
275301       package.
275302
275303       WARNING:
275304          The package name and the full_name must be unique to all other pack‐
275305          ages in the software repository.
275306
275307       The  version line is the version for the package to be installed. It is
275308       used when you need to install a specific version of a  piece  of  soft‐
275309       ware.
275310
275311       WARNING:
275312          The  version  must  be enclosed in quotes, otherwise the YAML parser
275313          will remove trailing zeros.
275314
275315       NOTE:
275316          There are unique situations where previous versions are unavailable.
275317          Take Google Chrome for example. There is only one URL provided for a
275318          standalone installation of Google Chrome.
275319
275320          (‐
275321          https://dl.google.com/edgedl/chrome/install/GoogleChromeS
275322          tandaloneEnterprise.msi)
275323
275324          When a new version is released, the URL just points to the new  ver‐
275325          sion. To handle situations such as these, set the version to latest.
275326          Salt will install the version of Chrome at the URL and  report  that
275327          version. Here's an example:
275328
275329          chrome:
275330            latest:
275331              full_name: 'Google Chrome'
275332              installer: 'https://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi'
275333              install_flags: '/qn /norestart'
275334              uninstaller: 'https://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi'
275335              uninstall_flags: '/qn /norestart'
275336              msiexec: True
275337              locale: en_US
275338              reboot: False
275339
275340       Available parameters are as follows:
275341
275342       param str full_name
275343              The  Full  Name  for the software as shown in "Programs and Fea‐
275344              tures" in the control panel. You can also get  this  information
275345              by   installing   the   package   manually   and   then  running
275346              pkg.list_pkgs.  Here's   an   example   of   the   output   from
275347              pkg.list_pkgs:
275348
275349                 salt 'test-2008' pkg.list_pkgs
275350                 test-2008
275351                     ----------
275352                     7-Zip 9.20 (x64 edition):
275353                         9.20.00.0
275354                     Microsoft .NET Framework 4 Client Profile:
275355                         4.0.30319,4.0.30319
275356                     Microsoft .NET Framework 4 Extended:
275357                         4.0.30319,4.0.30319
275358                     Microsoft Visual C++ 2008 Redistributable - x64 9.0.21022:
275359                         9.0.21022
275360                     Mozilla Firefox 17.0.1 (x86 en-US):
275361                         17.0.1
275362                     Mozilla Maintenance Service:
275363                         17.0.1
275364                     NSClient++ (x64):
275365                         0.3.8.76
275366                     Notepad++:
275367                         6.4.2
275368                     Salt Minion 0.16.0:
275369                         0.16.0
275370
275371              Notice  the  Full  Name for Firefox: Mozilla Firefox 17.0.0 (x86
275372              en-US).  That's exactly what's in the full_name parameter in the
275373              software definition file.
275374
275375              If  any  of the software installed on the machine matches one of
275376              the software definition files in the repository,  the  full_name
275377              will  be  automatically renamed to the package name. The example
275378              below shows the pkg.list_pkgs for a  machine  that  already  has
275379              Mozilla Firefox 17.0.1 installed.
275380
275381                 test-2008:
275382                     ----------
275383                     7zip:
275384                         9.20.00.0
275385                     Microsoft .NET Framework 4 Client Profile:
275386                         4.0.30319,4.0.30319
275387                     Microsoft .NET Framework 4 Extended:
275388                         4.0.30319,4.0.30319
275389                     Microsoft Visual C++ 2008 Redistributable - x64 9.0.21022:
275390                         9.0.21022
275391                     Mozilla Maintenance Service:
275392                         17.0.1
275393                     Notepad++:
275394                         6.4.2
275395                     Salt Minion 0.16.0:
275396                         0.16.0
275397                     firefox:
275398                         17.0.1
275399                     nsclient:
275400                         0.3.9.328
275401
275402              IMPORTANT:
275403                 The  version  number  and  full_name need to match the output
275404                 from pkg.list_pkgs so that the status can  be  verified  when
275405                 running a highstate.
275406
275407              NOTE:
275408                 It  is  still possible to successfully install packages using
275409                 pkg.install, even if the  full_name  or  the  version  number
275410                 don't  match.  However,  this can make troubleshooting issues
275411                 difficult, so be careful.
275412
275413              TIP:
275414                 To force salt to display the full name when  there's  already
275415                 an  existing  package  definition file on the system, you can
275416                 pass a bogus  saltenv  parameter  to  the  command  like  so:
275417                 pkg.list_pkgs saltenv=NotARealEnv
275418
275419       param str installer
275420              The path to the .exe or .msi to use to install the package. This
275421              can be a path or a URL. If it is a URL or a salt path (salt://),
275422              the package will be cached locally and then executed. If it is a
275423              path to a file on disk or a file  share,  it  will  be  executed
275424              directly.
275425
275426              NOTE:
275427                 If storing software in the same location as the winrepo it is
275428                 best practice to place each installer in  its  own  directory
275429                 rather  than  the  root  of  winrepo. Then you can place your
275430                 package definition file in the same  directory.  It  is  best
275431                 practice to name the file init.sls. This will be picked up by
275432                 pkg.refresh_db and processed properly.
275433
275434       param str install_flags
275435              Any flags that need to be passed to the  installer  to  make  it
275436              perform  a silent install. These can often be found by adding /?
275437              or /h when running the installer from the command-line. A  great
275438              resource  for finding these silent install flags can be found on
275439              the WPKG project's wiki:
275440
275441              WARNING:
275442                 Salt will not return if the installer  is  waiting  for  user
275443                 input  so  it  is  imperative that the software package being
275444                 installed has the ability to install silently.
275445
275446       param str uninstaller
275447              The path to the program used to uninstall  this  software.  This
275448              can be the path to the same exe or msi used to install the soft‐
275449              ware. It can also be a GUID. You can find this value in the reg‐
275450              istry under the following keys:
275451
275452                 · Software\Microsoft\Windows\CurrentVersion\Uninstall
275453
275454                 · Software\Wow6432None\Microsoft\Windows\CurrentVersion\Unin‐
275455                   stall
275456
275457       param str uninstall_flags
275458              Any flags that need to be passed to the uninstaller to  make  it
275459              perform  a  silent uninstall. These can often be found by adding
275460              /? or /h when running the uninstaller from the  command-line.  A
275461              great  resource  for  finding  these silent install flags can be
275462              found on the WPKG project's wiki:
275463
275464              WARNING:
275465                 Salt will not return if the uninstaller is waiting  for  user
275466                 input  so  it  is  imperative that the software package being
275467                 uninstalled has the ability to uninstall silently.
275468
275469              Here are some examples of installer and uninstaller settings:
275470
275471                 7zip:
275472                   '9.20.00.0':
275473                     installer: salt://win/repo/7zip/7z920-x64.msi
275474                     full_name: 7-Zip 9.20 (x64 edition)
275475                     reboot: False
275476                     install_flags: '/qn /norestart'
275477                     msiexec: True
275478                     uninstaller: '{23170F69-40C1-2702-0920-000001000000}'
275479                     uninstall_flags: '/qn /norestart'
275480
275481              Alternatively the uninstaller can also simply repeat the URL  of
275482              an msi file:
275483
275484                 7zip:
275485                   '9.20.00.0':
275486                     installer: salt://win/repo/7zip/7z920-x64.msi
275487                     full_name: 7-Zip 9.20 (x64 edition)
275488                     reboot: False
275489                     install_flags: '/qn /norestart'
275490                     msiexec: True
275491                     uninstaller: salt://win/repo/7zip/7z920-x64.msi
275492                     uninstall_flags: '/qn /norestart'
275493
275494       param msiexec
275495              This  tells  salt  to  use msiexec /i to install the package and
275496              msiexec /x to uninstall. This is for .msi installations.  Possi‐
275497              ble  options are: True, False or the path to msiexec.exe on your
275498              system
275499
275500                 7zip:
275501                   '9.20.00.0':
275502                     installer: salt://win/repo/7zip/7z920-x64.msi
275503                     full_name: 7-Zip 9.20 (x64 edition)
275504                     reboot: False
275505                     install_flags: '/qn /norestart'
275506                     msiexec: 'C:\Windows\System32\msiexec.exe'
275507                     uninstaller: salt://win/repo/7zip/7z920-x64.msi
275508                     uninstall_flags: '/qn /norestart'
275509
275510       param bool allusers
275511              This parameter is  specific  to  .msi  installations.  It  tells
275512              msiexec  to  install  the software for all users. The default is
275513              True.
275514
275515       param bool cache_dir
275516              If True and the installer URL begins with  salt://,  the  entire
275517              directory  where  the  installer  resides  will  be  recursively
275518              cached. This is useful for installers that depend on other files
275519              in the same directory for installation.
275520
275521              WARNING:
275522                 Be  aware that all files and directories in the same location
275523                 as the installer file will be copied down to the  minion.  If
275524                 you  place  your  installer  file  in  the  root  of  winrepo
275525                 (/srv/salt/win/repo-ng) and cache_dir: True the  entire  con‐
275526                 tents  of winrepo will be cached to the minion. Therefore, it
275527                 is best practice to place your installer files in a subdirec‐
275528                 tory if they are to be stored in winrepo.
275529
275530       param str cache_file
275531              When  the  installer  URL  begins with salt://, this indicates a
275532              single file to copy down for  use  with  the  installer.  It  is
275533              copied  to  the  same  location  as the installer. Use this over
275534              cache_dir if there are many files in the directory and you  only
275535              need  a  specific  file and don't want to cache additional files
275536              that may reside in the installer directory.
275537
275538              Here's an example for a  software  package  that  has  dependent
275539              files:
275540
275541                 sqlexpress:
275542                   '12.0.2000.8':
275543                     installer: 'salt://win/repo/sqlexpress/setup.exe'
275544                     full_name: Microsoft SQL Server 2014 Setup (English)
275545                     reboot: False
275546                     install_flags: '/ACTION=install /IACCEPTSQLSERVERLICENSETERMS /Q'
275547                     cache_dir: True
275548
275549       param bool use_scheduler
275550              If  True, Windows will use the task scheduler to run the instal‐
275551              lation.  This is useful for running the Salt installation itself
275552              as   the   installation  process  kills  any  currently  running
275553              instances of Salt.
275554
275555       param str source_hash
275556              This tells Salt to compare a hash sum of the  installer  to  the
275557              provided  hash  sum before execution. The value can be formatted
275558              as <hash_algorithm>=<hash_sum>, or it can be a  URI  to  a  file
275559              containing the hash sum.
275560
275561              For  a  list of supported algorithms, see the hashlib documenta‐
275562              tion.
275563
275564              Here's an example of source_hash usage:
275565
275566                 messageanalyzer:
275567                   '4.0.7551.0':
275568                     full_name: 'Microsoft Message Analyzer'
275569                     installer: 'salt://win/repo/messageanalyzer/MessageAnalyzer64.msi'
275570                     install_flags: '/quiet /norestart'
275571                     uninstaller: '{1CC02C23-8FCD-487E-860C-311EC0A0C933}'
275572                     uninstall_flags: '/quiet /norestart'
275573                     msiexec: True
275574                     source_hash: 'sha1=62875ff451f13b10a8ff988f2943e76a4735d3d4'
275575
275576       param bool reboot
275577              Not implemented
275578
275579       param str locale
275580              Not implemented
275581
275582       Examples can be found at https://github.com/saltstack/salt-winrepo-ng
275583
275584   Managing Windows Software on a Standalone Windows Minion
275585       The Windows Package Repository functions similar in a standalone  envi‐
275586       ronment, with a few differences in the configuration.
275587
275588       To  replace the winrepo runner that is used on the Salt master, an exe‐
275589       cution module exists to provide the same  functionality  to  standalone
275590       minions.  The  functions  are named the same as the ones in the runner,
275591       and are used in the same way; the only difference is that salt-call  is
275592       used instead of salt-run:
275593
275594          salt-call winrepo.update_git_repos
275595          salt-call winrepo.genrepo
275596          salt-call pkg.refresh_db
275597
275598       After  executing the previous commands the repository on the standalone
275599       system is ready to use.
275600
275601   Custom Location for Repository SLS Files
275602       If file_roots has not been modified in the minion  configuration,  then
275603       no  additional configuration needs to be added to the minion configura‐
275604       tion. The winrepo.genrepo function from the  winrepo  execution  module
275605       will  by  default  look for the filename specified by winrepo_cachefile
275606       within C:\salt\srv\salt\win\repo.
275607
275608       If the file_roots parameter has been modified, then winrepo_dir must be
275609       modified  to  fall  within  that path, at the proper relative path. For
275610       example, if the base environment in file_roots points  to  D:\foo,  and
275611       winrepo_source_dir  is salt://win/repo, then winrepo_dir must be set to
275612       D:\foo\win\repo to ensure that winrepo.genrepo puts the cachefile  into
275613       right location.
275614
275615   Configuration options for Minions 2015.8.0 and later
275616       On  newer  minions  (2015.8.0 and later), the winrepo_source_dir config
275617       parameter (default: salt://win/repo-ng) controls  where  pkg.refresh_db
275618       looks  for the software definition files that will be downloaded to the
275619       minion and used to generate the local database file (winrepo.p).
275620
275621       Software package definitions are automatically refreshed if stale after
275622       winrepo_cache_expire_max.    Running  a  highstate  normal  forces  the
275623       refresh of the package definition and generation of the meta  database,
275624       unless  the  meta  database  is  younger than winrepo_cache_expire_max.
275625       Refreshing the package definitions can take some  time,  these  options
275626       were introduced to allow more control of when it occurs.
275627
275628       It's  important  use  pkg.refresh_db to check for errors and ensure the
275629       latest package definition is on any minion your testing new definitions
275630       on.
275631
275632   Configuration options for Minions before 2015.8.0
275633       On  older  minions  (before  2015.8.0),  the  winrepo_source_dir config
275634       parameter  (default:  salt://win/repo)  controls  where  pkg.refresh_db
275635       looks  for  the  cachefile  (default:  winrepo.p).  This means that the
275636       default   location    for    the    winrepo    cachefile    would    be
275637       salt://win/repo/winrepo.p.  Both  :conf_minion: winrepo_source_dir` and
275638       winrepo_cachefile can be adjusted to match the actual location of  this
275639       file on the Salt fileserver.
275640
275641       If  connected to a master, the minion will by default look for the win‐
275642       repo cachefile (the file generated by the  winrepo.genrepo  runner)  at
275643       salt://win/repo/winrepo.p.  If  the cachefile is in a different path on
275644       the salt fileserver, then win_repo_cachefile will need to be updated to
275645       reflect the proper location.
275646
275647   Changes in Version 2015.8.0
275648       Git  repository  management  for  the  Windows  Software Repository has
275649       changed in version 2015.8.0, and several master/minion  config  parame‐
275650       ters  have  been renamed to make their naming more consistent with each
275651       other.
275652
275653       For a list of the winrepo config options, see here  for  master  config
275654       options, and here for configuration options for masterless Windows min‐
275655       ions.
275656
275657       On the master, the winrepo.update_git_repos runner has been updated  to
275658       use  either  pygit2  or GitPython to checkout the git repositories con‐
275659       taining repo data. If pygit2 or GitPython is installed,  existing  win‐
275660       repo  git  checkouts  should be removed after upgrading to 2015.8.0, to
275661       allow them to be checked out again by running winrepo.update_git_repos.
275662
275663       If neither GitPython nor pygit2 are installed, then Salt will fall back
275664       to  the pre-existing behavior for winrepo.update_git_repos, and a warn‐
275665       ing will be logged in the master log.
275666
275667       NOTE:
275668          Standalone Windows minions do not support the  new  GitPython/pygit2
275669          functionality,  and  will  instead  use the git.latest state to keep
275670          repositories up-to-date. More information on how to use the  Windows
275671          Software Repo on a standalone minion can be found here.
275672
275673   Config Parameters Renamed
275674       Many  of  the  legacy  winrepo configuration parameters have changed in
275675       version 2015.8.0 to make the naming more consistent. The old  parameter
275676       names will still work, but a warning will be logged indicating that the
275677       old name is deprecated.
275678
275679       Below are the parameters which have changed for version 2015.8.0:
275680
275681   Master Config
275682                   ┌─────────────────────────┬───────────────────┐
275683                   │Old Name                 │ New Name          │
275684                   ├─────────────────────────┼───────────────────┤
275685                   │win_repo                 │ winrepo_dir       
275686                   ├─────────────────────────┼───────────────────┤
275687                   │win_repo_mastercachefile │ winrepo_cachefile 
275688                   ├─────────────────────────┼───────────────────┤
275689                   │win_gitrepos             │ winrepo_remotes   
275690                   └─────────────────────────┴───────────────────┘
275691
275692       NOTE:
275693          winrepo_cachefile is no longer used by 2015.8.0 and  later  minions,
275694          and  the  winrepo_dir  setting  is  replaced  by  winrepo_dir_ng for
275695          2015.8.0 and later minions.
275696
275697       See here for detailed information on all master config options for  the
275698       Windows Repo.
275699
275700   Minion Config
275701                      ┌───────────────────┬───────────────────┐
275702                      │Old Name           │ New Name          │
275703                      ├───────────────────┼───────────────────┤
275704                      │win_repo           │ winrepo_dir       
275705                      ├───────────────────┼───────────────────┤
275706                      │win_repo_cachefile │ winrepo_cachefile 
275707                      ├───────────────────┼───────────────────┤
275708                      │win_gitrepos       │ winrepo_remotes   
275709                      └───────────────────┴───────────────────┘
275710
275711       See  here for detailed information on all minion config options for the
275712       Windows Repo.
275713
275714   pygit2/GitPython Support for Maintaining Git Repos
275715       The winrepo.update_git_repos runner (and the corresponding remote  exe‐
275716       cution  function  for  standalone  minions)  now  makes use of the same
275717       underlying code used by the Git Fileserver  Backend  and  Git  External
275718       Pillar  to maintain and update its local clones of git repositories. If
275719       a compatible version of either pygit2 (0.20.3 and later)  or  GitPython
275720       (0.3.0 or later) is installed, then Salt will use it instead of the old
275721       method (which invokes the git.latest state).
275722
275723       NOTE:
275724          If compatible versions of both pygit2 and GitPython  are  installed,
275725          then Salt will prefer pygit2, to override this behavior use the win‐
275726          repo_provider configuration parameter:
275727
275728              winrepo_provider: gitpython
275729
275730          The winrepo execution module (discussed above in the  Managing  Win‐
275731          dows  Software  on a Standalone Windows Minion section) does not yet
275732          officially support the new pygit2/GitPython  functionality,  but  if
275733          either  pygit2  or GitPython is installed into Salt's bundled Python
275734          then it should work. However, it should be  considered  experimental
275735          at this time.
275736
275737       To  minimize  potential issues, it is a good idea to remove any winrepo
275738       git repositories that were checked out by the old  (pre-2015.8.0)  win‐
275739       repo  code when upgrading the master to 2015.8.0 or later, and run win‐
275740       repo.update_git_repos to clone them anew after the master is started.
275741
275742       Additional added features include the ability to  access  authenticated
275743       git repositories (NOTE: pygit2 only), and to set per-remote config set‐
275744       tings.  An example of this would be the following:
275745
275746          winrepo_remotes:
275747            - https://github.com/saltstack/salt-winrepo.git
275748            - git@github.com:myuser/myrepo.git:
275749              - pubkey: /path/to/key.pub
275750              - privkey: /path/to/key
275751              - passphrase: myaw3s0m3pa$$phr4$3
275752            - https://github.com/myuser/privaterepo.git:
275753              - user: mygithubuser
275754              - password: CorrectHorseBatteryStaple
275755
275756       NOTE:
275757          Per-remote configuration settings work in the same fashion  as  they
275758          do  in  gitfs,  with  global  parameters  being  overridden by their
275759          per-remote counterparts (for  instance,  setting  winrepo_passphrase
275760          would  set  a  global passphrase for winrepo that would apply to all
275761          SSH-based remotes, unless  overridden  by  a  passphrase  per-remote
275762          parameter).
275763
275764          See here for more a more in-depth explanation of how per-remote con‐
275765          figuration works in gitfs, the same principles apply to winrepo.
275766
275767       There are a couple other changes in how Salt manages  git  repos  using
275768       pygit2/GitPython.  First of all, a clean argument has been added to the
275769       winrepo.update_git_repos runner, which (if set to True) will  tell  the
275770       runner  to  dispose  of directories under the winrepo_dir which are not
275771       explicitly configured. This prevents the need to manually remove  these
275772       directories when a repo is removed from the config file. To clean these
275773       old directories, just pass clean=True, like so:
275774
275775          salt-run winrepo.update_git_repos clean=True
275776
275777       However, if a mix of git and non-git Windows Repo definition files  are
275778       being  used, then this should not be used, as it will remove the direc‐
275779       tories containing non-git definitions.
275780
275781       The other major change is that collisions between repo  names  are  now
275782       detected,  and  the winrepo.update_git_repos runner will not proceed if
275783       any are detected. Consider the following configuration:
275784
275785          winrepo_remotes:
275786            - https://foo.com/bar/baz.git
275787            - https://mydomain.tld/baz.git
275788            - https://github.com/foobar/baz
275789
275790       The winrepo.update_git_repos runner will refuse to update  repos  here,
275791       as all three of these repos would be checked out to the same directory.
275792       To work around this, a per-remote parameter called name can be used  to
275793       resolve these conflicts:
275794
275795          winrepo_remotes:
275796            - https://foo.com/bar/baz.git
275797            - https://mydomain.tld/baz.git:
275798              - name: baz_junior
275799            - https://github.com/foobar/baz:
275800              - name: baz_the_third
275801
275802   Troubleshooting
275803   Incorrect name/version
275804       If  the  package  seems to install properly, but salt reports a failure
275805       then it is likely you have a version or full_name mismatch.
275806
275807       Check the  exact  full_name  and  version  used  by  the  package.  Use
275808       pkg.list_pkgs to check that the names and version exactly match what is
275809       installed.
275810
275811   Changes to sls files not being picked up
275812       Ensure you have (re)generated the repository cache file (for older min‐
275813       ions) and then updated the repository cache on the relevant minions:
275814
275815          salt-run winrepo.genrepo
275816          salt winminion pkg.refresh_db
275817
275818   Packages management under Windows 2003
275819       On  Windows server 2003, you need to install optional Windows component
275820       "wmi Windows installer provider" to have full list of  installed  pack‐
275821       ages.  If  you don't have this, salt-minion can't report some installed
275822       software.
275823
275824   How Success and Failure are Reported
275825       The install state/module function of the Windows package manager  works
275826       roughly as follows:
275827
275828       1. Execute pkg.list_pkgs and store the result
275829
275830       2. Check  if any action needs to be taken. (i.e. compare required pack‐
275831          age and version against pkg.list_pkgs results)
275832
275833       3. If so, run the installer command.
275834
275835       4. Execute pkg.list_pkgs and compare to the result stored  from  before
275836          installation.
275837
275838       5. Success/Failure/Changes  will  be  reported based on the differences
275839          between the original and final pkg.list_pkgs results.
275840
275841       If there are any problems in using the package manager it is likely due
275842       to  the  data in your sls files not matching the difference between the
275843       pre and post pkg.list_pkgs results.
275844
275845   Windows-specific Behaviour
275846       Salt is capable of managing Windows systems,  however  due  to  various
275847       differences  between  the  operating systems, there are some things you
275848       need to keep in mind.
275849
275850       This document will contain any quirks that apply across Salt or  gener‐
275851       ally  across  multiple  module functions. Any Windows-specific behavior
275852       for particular module functions will be documented in the module  func‐
275853       tion  documentation. Therefore this document should be read in conjunc‐
275854       tion with the module function documentation.
275855
275856   Group parameter for files
275857       Salt was originally written for managing Unix-based systems, and there‐
275858       fore  the  file  module  functions  were  designed around that security
275859       model. Rather than trying to shoehorn that model on  to  Windows,  Salt
275860       ignores  these  parameters  and  makes  non-applicable module functions
275861       unavailable instead.
275862
275863       One of the commonly ignored parameters is the group parameter for  man‐
275864       aging files. Under Windows, while files do have a 'primary group' prop‐
275865       erty, this is rarely used.  It generally has no bearing on  permissions
275866       unless  intentionally  configured  and is most commonly used to provide
275867       Unix compatibility (e.g.  Services For Unix, NFS services).
275868
275869       Because of this, any file module functions  that  typically  require  a
275870       group, do not under Windows. Attempts to directly use file module func‐
275871       tions that operate  on  the  group  (e.g.  file.chgrp)  will  return  a
275872       pseudo-value  and  cause  a  log message to appear. No group parameters
275873       will be acted on.
275874
275875       If you do want to access and change the 'primary  group'  property  and
275876       understand  the  implications, use the file.get_pgid or file.get_pgroup
275877       functions or the pgroup parameter on the file.chown module function.
275878
275879   Dealing with case-insensitive but case-preserving names
275880       Windows is case-insensitive, but however preserves the  case  of  names
275881       and  it  is this preserved form that is returned from system functions.
275882       This causes some issues with Salt  because  it  assumes  case-sensitive
275883       names.  These  issues  generally  occur  in the state functions and can
275884       cause bizarre looking errors.
275885
275886       To avoid such issues, always pretend Windows is case-sensitive and  use
275887       the  right  case  for names, e.g. specify user=Administrator instead of
275888       user=administrator.
275889
275890       Follow issue #11801 for any changes to this behavior.
275891
275892   Dealing with various username forms
275893       Salt does not understand the various forms that Windows  usernames  can
275894       come  in,  e.g.  username, mydomain\username, username@mydomain.tld can
275895       all refer to the same user. In fact, Salt generally only considers  the
275896       raw  username  value,  i.e.   the  username  without the domain or host
275897       information.
275898
275899       Using these alternative forms will likely confuse Salt  and  cause  odd
275900       errors  to  happen. Use only the raw username value in the correct case
275901       to avoid problems.
275902
275903       Follow issue #11801 for any changes to this behavior.
275904
275905   Specifying the None group
275906       Each Windows system has built-in _None_  group.  This  is  the  default
275907       'primary group' for files for users not on a domain environment.
275908
275909       Unfortunately,  the word _None_ has special meaning in Python - it is a
275910       special value indicating 'nothing', similar to null  or  nil  in  other
275911       languages.
275912
275913       To specify the None group, it must be specified in quotes, e.g.  ./salt
275914       '*' file.chpgrp C:\path\to\file "'None'".
275915
275916   Symbolic link loops
275917       Under Windows, if any symbolic link loops are detected or if there  are
275918       too  many  levels  of  symlinks  (defaults  to  64), an error is always
275919       raised.
275920
275921       For some functions, this behavior is different to the behavior on  Unix
275922       platforms. In general, avoid symlink loops on either platform.
275923

DEVELOPING SALT

275925   Overview
275926       In  its  most  typical  use,  Salt  is  a software application in which
275927       clients, called "minions" can be commanded and controlled from  a  cen‐
275928       tral command server called a "master".
275929
275930       Commands are normally issued to the minions (via the master) by calling
275931       a client script simply called, 'salt'.
275932
275933       Salt features a pluggable transport system to  issue  commands  from  a
275934       master to minions. The default transport is ZeroMQ.
275935
275936   Salt Client
275937   Overview
275938       The  salt client is run on the same machine as the Salt Master and com‐
275939       municates with the salt-master to issue commands  and  to  receive  the
275940       results and display them to the user.
275941
275942       The primary abstraction for the salt client is called 'LocalClient'.
275943
275944       When  LocalClient wants to publish a command to minions, it connects to
275945       the master by issuing a request to the master's ReqServer (TCP: 4506)
275946
275947       The LocalClient system listens to responses for its requests by listen‐
275948       ing to the master event bus publisher (master_event_pub.ipc).
275949
275950   Salt Master
275951   Overview
275952       The  salt-master daemon runs on the designated Salt master and performs
275953       functions  such  as  authenticating  minions,  sending,  and  receiving
275954       requests  from connected minions and sending and receiving requests and
275955       replies to the 'salt' CLI.
275956
275957   Moving Pieces
275958       When a Salt master starts up, a number of processes are started, all of
275959       which  are called 'salt-master' in a process-list but have various role
275960       categories.
275961
275962       Among those categories are:
275963
275964          · Publisher
275965
275966          · EventPublisher
275967
275968          · MWorker
275969
275970   Publisher
275971       The Publisher process is responsible for sending commands over the des‐
275972       ignated  transport  to connected minions. The Publisher is bound to the
275973       following:
275974
275975          · TCP: port 4505
275976
275977          · IPC: publish_pull.ipc
275978
275979       Each salt minion establishes a connection to the master Publisher.
275980
275981   EventPublisher
275982       The EventPublisher publishes master events out to any event  listeners.
275983       It is bound to the following:
275984
275985          · IPC: master_event_pull.ipc
275986
275987          · IPC: master_event_pub.ipc
275988
275989   MWorker
275990       Worker processes manage the back-end operations for the Salt Master.
275991
275992       The  number  of workers is equivalent to the number of 'worker_threads'
275993       specified in the master configuration and is always at least one.
275994
275995       Workers are bound to the following:
275996
275997          · IPC: workers.ipc
275998
275999   ReqServer
276000       The Salt request server takes requests and distributes them  to  avail‐
276001       able  MWorker  processes  for processing. It also receives replies back
276002       from minions.
276003
276004       The ReqServer is bound to the following:
276005
276006              · TCP: 4506
276007
276008              · IPC: workers.ipc
276009
276010       Each salt minion establishes a connection to the master ReqServer.
276011
276012   Job Flow
276013       The Salt master works by always publishing commands  to  all  connected
276014       minions  and  the  minions  decide  if the command is meant for them by
276015       checking themselves against the command target.
276016
276017       The typical lifecycle of a salt job from the perspective of the  master
276018       might be as follows:
276019
276020       1.  A  command  is  issued  on  the  CLI.  For example, 'salt my_minion
276021           test.version'.
276022
276023       2.  The 'salt' command uses LocalClient to generate a  request  to  the
276024           salt  master by connecting to the ReqServer on TCP:4506 and issuing
276025           the job.
276026
276027       3.  The salt-master ReqServer sees the request  and  passes  it  to  an
276028           available MWorker over workers.ipc.
276029
276030       4.  A  worker  picks up the request and handles it. First, it checks to
276031           ensure that the requested user has permissions to  issue  the  com‐
276032           mand.  Then, it sends the publish command to all connected minions.
276033           For the curious, this happens in ClearFuncs.publish().
276034
276035       5.  The worker announces on the master event bus that it  is  about  to
276036           publish  a  job  to  connected minions. This happens by placing the
276037           event on the master event  bus  (master_event_pull.ipc)  where  the
276038           EventPublisher  picks  it  up  and  distributes it to all connected
276039           event listeners on master_event_pub.ipc.
276040
276041       6.  The message to the minions is encrypted and sent to  the  Publisher
276042           via IPC on publish_pull.ipc.
276043
276044       7.  Connected minions have a TCP session established with the Publisher
276045           on TCP port 4505 where they  await  commands.  When  the  Publisher
276046           receives  the  job  over publish_pull, it sends the jobs across the
276047           wire to the minions for processing.
276048
276049       8.  After the minions receive the request, they decrypt it and  perform
276050           any  requested work, if they determine that they are targeted to do
276051           so.
276052
276053       9.  When the minion is ready to respond, it publishes the result of its
276054           job  back to the master by sending the encrypted result back to the
276055           master on TCP 4506 where it is again picked up by the ReqServer and
276056           forwarded to an available MWorker for processing. (Again, this hap‐
276057           pens by passing this message across  workers.ipc  to  an  available
276058           worker.)
276059
276060       10. When the MWorker receives the job it decrypts it and fires an event
276061           onto the master event bus (master_event_pull.ipc). (Again  for  the
276062           curious, this happens in AESFuncs._return().
276063
276064       11. The  EventPublisher  sees this event and re-publishes it on the bus
276065           to all connected  listeners  of  the  master  event  bus  (on  mas‐
276066           ter_event_pub.ipc). This is where the LocalClient has been waiting,
276067           listening to the event bus for minion replies. It gathers  the  job
276068           and stores the result.
276069
276070       12. When  all  targeted  minions  have  replied or the timeout has been
276071           exceeded, the salt client displays the results of the  job  to  the
276072           user on the CLI.
276073
276074   Salt Minion
276075   Overview
276076       The salt-minion is a single process that sits on machines to be managed
276077       by Salt. It can either operate as a stand-alone  daemon  which  accepts
276078       commands locally via 'salt-call' or it can connect back to a master and
276079       receive commands remotely.
276080
276081       When starting up, salt minions connect back to a master defined in  the
276082       minion config file. They connect to two ports on the master:
276083
276084          ·
276085
276086            TCP: 4505
276087                   This  is  the  connection to the master Publisher. It is on
276088                   this port that the minion receives jobs from the master.
276089
276090          ·
276091
276092            TCP: 4506
276093                   This is the connection to the master ReqServer.  It  is  on
276094                   this  port  that  the  minion sends job results back to the
276095                   master.
276096
276097   Event System
276098       Similar to the master, a salt-minion has  its  own  event  system  that
276099       operates  over  IPC  by  default. The minion event system operates on a
276100       push/pull system with IPC files at minion_event_<unique_id>_pub.ipc and
276101       minion_event_<unique_id>_pull.ipc.
276102
276103       The  astute  reader  might ask why have an event bus at all with a sin‐
276104       gle-process daemon. The answer is that the salt-minion may  fork  other
276105       processes  as  required  to  do  the  work  without  blocking  the main
276106       salt-minion process and this necessitates a mechanism  by  which  those
276107       processes can communicate with each other. Secondarily, this provides a
276108       bus by which any user with sufficient permissions can read or write  to
276109       the bus as a common interface with the salt minion.
276110
276111   Minion Job Flow
276112       When  a  salt minion starts up, it attempts to connect to the Publisher
276113       and the ReqServer on the salt master. It then attempts to  authenticate
276114       and  once  the minion has successfully authenticated, it simply listens
276115       for jobs.
276116
276117       Jobs normally come either come from the 'salt-call'  script  run  by  a
276118       local user on the salt minion or they can come directly from a master.
276119
276120       The  job  flow on a minion, coming from the master via a 'salt' command
276121       is as follows:
276122
276123       1) A master publishes a job that is received by a minion as outlined by
276124       the  master's  job  flow  above.   2) The minion is polling its receive
276125       socket that's connected to the master Publisher (TCP 4505  on  master).
276126       When it detects an incoming message, it picks it up from the socket and
276127       decrypts it.  3) A new minion process or thread is created and provided
276128       with the contents of the decrypted message. The _thread_return() method
276129       is provided with the contents of the received message.  4) The new min‐
276130       ion  thread  is  created.  The  _thread_return() function starts up and
276131       actually calls out to the requested function contained in the job.   5)
276132       The  requested  function  runs and returns a result. [Still in thread.]
276133       6) The result of the function that's run is encrypted and  returned  to
276134       the  master's  ReqServer  (TCP  4506 on master). [Still in thread.]  7)
276135       Thread exits. Because the main thread was only  blocked  for  the  time
276136       that it took to initialize the worker thread, many other requests could
276137       have been received and processed during this time.
276138
276139   A Note on ClearFuncs vs. AESFuncs
276140       A common source of confusion is determining when messages are passed in
276141       the  clear  and  when  they  are passed using encryption. There are two
276142       rules governing this behaviour:
276143
276144       1) ClearFuncs is used for intra-master  communication  and  during  the
276145       initial authentication handshake between a minion and master during the
276146       key exchange.  2) AESFuncs is used everywhere else.
276147
276148   Contributing
276149       There is a great need for contributions to Salt and  patches  are  wel‐
276150       come!  The goal here is to make contributions clear, make sure there is
276151       a trail for where the code has come from, and most importantly, to give
276152       credit where credit is due!
276153
276154       There are a number of ways to contribute to Salt development, including
276155       (but not limited to):
276156
276157       · filing well-written bug reports
276158
276159       · enhancing the documentation
276160
276161       · providing workarounds, patches, and other code without tests
276162
276163       · engaging in constructive discussion
276164
276165       · helping out in #salt on Freenode, the Community Slack, the salt-users
276166         mailing list, a SaltStack meetup, or Server Fault.
276167
276168       · telling others about problems you solved with Salt
276169
276170       If  this  or other Salt documentation is unclear, please review Writing
276171       Salt Documentation. PRs are welcome!
276172
276173   Quickstart
276174       If you just want to get started before reading the rest of this  guide,
276175       you can get the process started by running the following:
276176
276177          python3 -m pip install --user pre-commit
276178          git clone --origin upstream https://github.com/saltstack/salt.git
276179          cd salt
276180          pre-commit install
276181
276182       While  those  commands  are  running,  finish  reading the rest of this
276183       guide.
276184
276185   Pre-commit
276186       To reduce friction  during  the  development  process,  SaltStack  uses
276187       pre-commit.  This tool adds pre-commit hooks to git to automate several
276188       processes that used to be manual. Rather than having to remember to run
276189       several  different  tools  before  you commit, you only have to run git
276190       commit, and you will be notified about style and lint issues before you
276191       ever open a PR.
276192
276193   Salt Coding Style
276194       After  the  3000 release, SaltStack is joining the ranks of projects in
276195       adopting the Black code formatter in order to ease the  adoption  of  a
276196       unified code formatting style.
276197
276198       Where  Black  is  silent, SaltStack has its own coding style guide that
276199       informs contributors on various style points. Please  review  the  Salt
276200       Coding Style documentation for information about Salt's particular cod‐
276201       ing patterns.
276202
276203       Within the Salt Coding Style documentation, there is  a  section  about
276204       running Salt's .testing.pylintrc file. SaltStack recommends running the
276205       .testing.pylintrc file on any files you are  changing  with  your  code
276206       contribution before submitting a pull request to Salt's repository.
276207
276208       If  you've  installed pre-commit, this will automatically happen before
276209       each commit.  Otherwise, see the Linting documentation for more  infor‐
276210       mation.
276211
276212   Copyright Headers
276213       Copyright  headers  are not needed for files in the Salt project. Files
276214       that have existing copyright headers should be  considered  legacy  and
276215       not an example to follow.
276216
276217   Sending a GitHub pull request
276218       Sending  pull  requests on GitHub is the preferred method for receiving
276219       contributions. The workflow advice below mirrors GitHub's own guide and
276220       is well worth reading.
276221
276222       1. Fork saltstack/salt on GitHub.
276223
276224       2. Make a local clone of your fork. (Skip this step if you followed the
276225          Quickstart)
276226
276227             git clone git@github.com:my-account/salt.git
276228             cd salt
276229
276230       3. Add saltstack/salt as a git remote.
276231
276232             git remote add upstream https://github.com/saltstack/salt.git
276233
276234          If you followed the Quickstart, you'll add your own remote instead
276235
276236             git remote add my-account git@github.com:my-account/salt.git
276237
276238       4. Create a new branch in your clone.
276239
276240          NOTE:
276241             A branch should have one purpose. For example, "Fix  bug  X,"  or
276242             "Add feature Y".  Multiple unrelated fixes and/or features should
276243             be isolated into separate branches.
276244
276245             git fetch upstream
276246             git checkout -b fix-broken-thing upstream/master
276247
276248       5. Edit and commit changes to your branch.
276249
276250             vim path/to/file1 path/to/file2 tests/test_file1.py tests/test_file2.py
276251             git diff
276252             git add path/to/file1 path/to/file2
276253             git commit
276254
276255          Write a short, descriptive commit title and a longer commit  message
276256          if necessary. Use an imperative style for the title.
276257
276258          GOOD
276259
276260          BAD
276261
276262          Taking a few moments to explain why you made a change will save time
276263          and effort in the future when others come to investigate a change. A
276264          clear  explanation of why something changed can help future develop‐
276265          ers avoid introducing bugs, or breaking an edge case.
276266
276267          NOTE:
276268             If your change fixes a bug or implements a feature already  filed
276269             in  the  issue  tracker, be sure to reference the issue number in
276270             the commit message body.
276271
276272          If you get stuck, there  are  many  introductory  Git  resources  on
276273          http://help.github.com.
276274
276275       6. Push your locally-committed changes to your GitHub fork.
276276
276277             git push -u origin fix-broken-thing
276278
276279          or
276280
276281             git push -u origin add-cool-feature
276282
276283          NOTE:
276284             You  may  want to rebase before pushing to work out any potential
276285             conflicts:
276286
276287                 git fetch upstream
276288                 git rebase upstream/master fix-broken-thing
276289                 git push -u origin fix-broken-thing
276290
276291             If you do rebase, and the push is rejected with a  (non-fast-for‐
276292             ward) comment, then run git status. You will likely see a message
276293             about the branches diverging:
276294
276295                 On branch fix-broken-thing
276296                 Your branch and 'origin/fix-broken-thing' have diverged,
276297                 and have 1 and 2 different commits each, respectively.
276298                   (use "git pull" to merge the remote branch into yours)
276299                 nothing to commit, working tree clean
276300
276301             Do NOT perform a  git  pull  or  git  merge  here.  Instead,  add
276302             --force-with-lease  to the end of the git push command to get the
276303             changes pushed to your fork. Pulling or merging, while they  will
276304             resolve the non-fast-forward issue, will likely add extra commits
276305             to the pull request which were not part of your changes.
276306
276307       7. Find the branch on your GitHub salt fork.
276308
276309          https://github.com/my-account/salt/branches/fix-broken-thing
276310
276311       8. Open a new pull request.
276312
276313          Click on Pull Request on the right near the top of the page,
276314
276315          https://github.com/my-account/salt/pull/new/fix-broken-thing
276316
276317          1. Choose master as the base Salt branch.
276318
276319          2. Review that the proposed changes are what you expect.
276320
276321          3. Write a descriptive comment. If you  added  good  information  to
276322             your  git  commit  message,  they  will  already be present here.
276323             Include links to related issues (e.g.  'Fixes  #31337.')  in  the
276324             comment field.
276325
276326          4. Click Create pull request.
276327
276328       9. Salt  project  members  will  review your pull request and automated
276329          tests will run on it.
276330
276331          If you recognize any test failures as being related to your proposed
276332          changes or if a reviewer asks for modifications:
276333
276334          1. Make  the  new  changes  in  your  local  clone on the same local
276335             branch.
276336
276337          2. Push the branch to  GitHub  again  using  the  same  commands  as
276338             before.
276339
276340          3. New  and  updated commits will be added to the pull request auto‐
276341             matically.
276342
276343          4. Feel free to add a comment to the discussion.
276344
276345       NOTE:
276346          Jenkins
276347
276348          Pull request against saltstack/salt are automatically  tested  on  a
276349          variety  of  operating  systems and configurations. On average these
276350          tests take a couple of hours.  Depending on your GitHub notification
276351          settings  you  may  also  receive  an  email  message about the test
276352          results.
276353
276354          Test    progress     and     results     can     be     found     at
276355          http://jenkins.saltstack.com/.
276356
276357   Salt's Branch Topology
276358       Salt  will only have one active branch - master.  This will include bug
276359       fixes, features and CVE “Common Vulnerabilities and Exposures”.
276360
276361       The release will be cut from the master when the time comes for  a  new
276362       release, which should be every 3 to 4 months.
276363
276364       To be able to merge code:
276365
276366          1. The  code  must have a well-written test.  Note that you are only
276367             expected to write tests for what you did, not the  whole  modules
276368             or function.
276369
276370          2. All tests must pass.
276371
276372       The  SaltStack  employee  that  reviews your pull request might request
276373       changes or deny the pull request for various reasons.
276374
276375       Salt uses a typical branch strategy  -  master  is  the  next  expected
276376       release.   Code  should  only  make  it  to master once it's production
276377       ready. This means that typical changes (fixes,  features)  should  have
276378       accompanying tests.
276379
276380   Closing GitHub issues from commits
276381       SaltStack  encourages using the magic keywords to close a GitHub issue.
276382       These should appear in the commit message text directly.
276383
276384   Release Naming Convention
276385       A new convention will start when Salt releases Salt  3000.   Every  new
276386       release name will increment by one ‘Salt last_release_number + 1’.
276387
276388       This  naming convention is very different from past releases, which was
276389       'YYYY.MM.PATCH'.
276390
276391   Handling CVE
276392       If a CVE is discovered, Salt will create a new release that  only  con‐
276393       tains  the tests and patch for the CVE.  This method should improve the
276394       upgrade process by reducing the chances of breaking something.
276395
276396   Backporting Pull Requests
276397       On rare occasions, a serious bug will be  found  in  the  middle  of  a
276398       release  cycle.  These  bugs will require a point release. Contributors
276399       should still submit fixes directly to master, but they should also call
276400       attention  to the fact that it addresses a critical issue and will need
276401       to be back-ported.
276402
276403   Keeping Salt Forks in Sync
276404       Salt advances quickly.  It  is  therefore  critical  to  pull  upstream
276405       changes  from  upstream  into  your fork on a regular basis. Nothing is
276406       worse than putting hard work into a pull request only to see bunches of
276407       merge conflicts because it has diverged too far from upstream.
276408
276409       SEE ALSO:
276410          GitHub Fork a Repo Guide
276411
276412       The  following  assumes origin is the name of your fork and upstream is
276413       the name of the main saltstack/salt repository.
276414
276415       1. View existing remotes.
276416
276417             git remote -v
276418
276419       2. Add the upstream remote.
276420
276421             # For ssh github
276422             git remote add upstream git@github.com:saltstack/salt.git
276423
276424             # For https github
276425             git remote add upstream https://github.com/saltstack/salt.git
276426
276427       3. Pull upstream changes into your clone.
276428
276429             git fetch upstream
276430
276431       4. Update your copy of the master branch.
276432
276433             git checkout master
276434             git merge --ff-only upstream/master
276435
276436          If Git complains that a fast-forward merge is not possible, you have
276437          local commits.
276438
276439          · Run  git pull --rebase origin master to rebase your changes on top
276440            of the upstream changes.
276441
276442          · Or, run git branch <branch-name> to create a new branch with  your
276443            commits.  You  will  then  need to reset your master branch before
276444            updating it with the changes from upstream.
276445
276446          If Git complains that local files  will  be  overwritten,  you  have
276447          changes  to  files  in your working directory. Run git status to see
276448          the files in question.
276449
276450       5. Update your fork.
276451
276452             git push origin master
276453
276454       6. Repeat the previous two steps for any other branches you work  with,
276455          such as the current release branch.
276456
276457   Posting patches to the mailing list
276458       Patches  will  also be accepted by email. Format patches using git for‐
276459       mat-patch and send them to the salt-users mailing list. The contributor
276460       will then get credit for the patch, and the Salt community will have an
276461       archive of the patch and a place for discussion.
276462
276463   Issue and Pull Request Labeling System
276464       SaltStack uses several labeling schemes to help facilitate code contri‐
276465       butions and bug resolution. See the Labels and Milestones documentation
276466       for more information.
276467
276468   Mentionbot
276469       SaltStack runs a mention-bot which notifies contributors who  might  be
276470       able  to help review incoming pull-requests based on their past contri‐
276471       bution to files which are being changed.
276472
276473       If you do not wish to receive  these  notifications,  please  add  your
276474       GitHub handle to the blacklist line in the .mention-bot file located in
276475       the root of the Salt repository.
276476
276477   Bootstrap Script Changes
276478       Salt's Bootstrap Script, known as bootstrap-salt.sh in the  Salt  repo,
276479       has it's own repository, contributing guidelines, and release cadence.
276480
276481       All  changes  to  the Bootstrap Script should be made to salt-bootstrap
276482       repo. Any pull requests made to the bootstrap-salt.sh file in the  Salt
276483       repository  will  be  automatically  overwritten  upon  the next stable
276484       release of the Bootstrap Script.
276485
276486       For more information on the release process or how to contribute to the
276487       Bootstrap Script, see the Bootstrap Script's Contributing Guidelines.
276488
276489   Deprecating Code
276490       Salt  should  remain backwards compatible, though sometimes, this back‐
276491       wards compatibility needs to  be  broken  because  a  specific  feature
276492       and/or solution is no longer necessary or required.  At first one might
276493       think, let me change this code, it seems that it's  not  used  anywhere
276494       else so it should be safe to remove.  Then, once there's a new release,
276495       users complain about functionality which was  removed  and  they  where
276496       using  it,  etc.  This  should, at all costs, be avoided, and, in these
276497       cases, that specific code should be deprecated.
276498
276499       In order to give users enough time to migrate from the old code  behav‐
276500       ior to the new behavior, the deprecation time frame should be carefully
276501       determined based on the significance  and  complexity  of  the  changes
276502       required by the user.
276503
276504       Salt feature releases are based on the Periodic Table. Any new features
276505       going into the develop branch will be named after the next  element  in
276506       the Periodic Table. For example, Beryllium was the feature release name
276507       of the develop branch before the 2015.8  branch  was  tagged.  At  that
276508       point  in  time,  any  new features going into the develop branch after
276509       2015.8 was branched were part of the Boron feature release.
276510
276511       A deprecation warning should  be  in  place  for  at  least  two  major
276512       releases  before  the  deprecated code and its accompanying deprecation
276513       warning are removed.  More  time  should  be  given  for  more  complex
276514       changes.   For  example,  if  the  current release under development is
276515       Sodium, the deprecated code and associated warnings  should  remain  in
276516       place and warn for at least Aluminum.
276517
276518       To  help  in  this  deprecation  task,  salt  provides  salt.utils.ver‐
276519       sions.warn_until. The idea behind this helper function is to  show  the
276520       deprecation  warning  to  the user until salt reaches the provided ver‐
276521       sion.  Once  that   provided   version   is   equaled   salt.utils.ver‐
276522       sions.warn_until  will raise a RuntimeError making salt stop its execu‐
276523       tion. This stoppage is unpleasant and will remind  the  developer  that
276524       the  deprecation  limit  has been reached and that the code can then be
276525       safely removed.
276526
276527       Consider the following example:
276528
276529          def some_function(bar=False, foo=None):
276530              if foo is not None:
276531                  salt.utils.versions.warn_until(
276532                      'Aluminum',
276533                      'The \'foo\' argument has been deprecated and its '
276534                      'functionality removed, as such, its usage is no longer '
276535                      'required.'
276536                  )
276537
276538       Development begins on the Aluminum release when the Magnesium branch is
276539       forked  from  the  develop  branch.   Once this occurs, all uses of the
276540       warn_until function targeting Aluminum, along with the  code  they  are
276541       warning about should be removed from the code.
276542
276543   Installing Salt for development
276544       Clone the repository using:
276545
276546          git clone https://github.com/saltstack/salt
276547
276548       NOTE:
276549          tags
276550
276551          Just  cloning  the  repository  is enough to work with Salt and make
276552          contributions.  However,  fetching  additional  tags  from  git   is
276553          required  to  have Salt report the correct version for itself. To do
276554          this, first add the git repository as an upstream source:
276555
276556              git remote add upstream https://github.com/saltstack/salt
276557
276558          Fetching tags is done with the git 'fetch' utility:
276559
276560              git fetch --tags upstream
276561
276562       Create a new virtualenv:
276563
276564          virtualenv /path/to/your/virtualenv
276565
276566       Avoid making your virtualenv path too long.
276567
276568       On Arch Linux, where Python 3 is the default  installation  of  Python,
276569       use the virtualenv2 command instead of virtualenv.
276570
276571       On  Gentoo  you  must  use  --system-site-packages  to  enable  pkg and
276572       portage_config functionality
276573
276574       NOTE:
276575          Using system Python modules in the virtualenv
276576
276577          To use already-installed python modules in  virtualenv  (instead  of
276578          having  pip  download  and  compile new ones), run virtualenv --sys‐
276579          tem-site-packages Using this method eliminates  the  requirement  to
276580          install  the  salt  dependencies again, although it does assume that
276581          the listed modules are all installed in the system PYTHONPATH at the
276582          time of virtualenv creation.
276583
276584       NOTE:
276585          Python development package
276586
276587          Be sure to install python devel package in order to install required
276588          Python  modules.  In  Debian/Ubuntu  run  sudo  apt-get  install  -y
276589          python-dev. In RedHat based system install python-devel
276590
276591       Activate the virtualenv:
276592
276593          source /path/to/your/virtualenv/bin/activate
276594
276595       Install Salt (and dependencies) into the virtualenv:
276596
276597          pip install pyzmq PyYAML pycrypto msgpack-python jinja2 psutil futures tornado
276598          pip install -e ./salt   # the path to the salt git clone from above
276599
276600       NOTE:
276601          Installing psutil
276602
276603          Python header files are required to build this module, otherwise the
276604          pip install will fail. If your distribution separates  binaries  and
276605          headers  into separate packages, make sure that you have the headers
276606          installed. In most Linux distributions which split the headers  into
276607          their  own package, this can be done by installing the python-dev or
276608          python-devel package.  For other platforms, the package will  likely
276609          be similarly named.
276610
276611       NOTE:
276612          Installing dependencies on macOS.
276613
276614          You  can install needed dependencies on macOS using homebrew or mac‐
276615          ports.  See macOS Installation
276616
276617       WARNING:
276618          Installing on RedHat-based Distros
276619
276620          If installing from pip (or from source using setup.py  install),  be
276621          advised  that  the  yum-utils  package  is needed for Salt to manage
276622          packages on RedHat-based systems.
276623
276624   Running a self-contained development version
276625       During development it is easiest to be able to run the Salt master  and
276626       minion that are installed in the virtualenv you created above, and also
276627       to have all the configuration, log, and cache files  contained  in  the
276628       virtualenv as well.
276629
276630       The  /path/to/your/virtualenv  referenced  multiple times below is also
276631       available in the variable $VIRTUAL_ENV once the virtual environment  is
276632       activated.
276633
276634       Copy the master and minion config files into your virtualenv:
276635
276636          mkdir -p /path/to/your/virtualenv/etc/salt/pki/{master,minion}
276637          cp ./salt/conf/master ./salt/conf/minion /path/to/your/virtualenv/etc/salt/
276638
276639       Edit the master config file:
276640
276641       1. Uncomment and change the user: root value to your own user.
276642
276643       2. Uncomment   and   change   the   root_dir:   /  value  to  point  to
276644          /path/to/your/virtualenv.
276645
276646       3. Uncomment and change  the  pki_dir:  /etc/salt/pki/master  value  to
276647          point to /path/to/your/virtualenv/etc/salt/pki/master
276648
276649       4. If  you  are  running version 0.11.1 or older, uncomment, and change
276650          the   pidfile:   /var/run/salt-master.pid   value   to   point    to
276651          /path/to/your/virtualenv/salt-master.pid.
276652
276653       5. If  you  are also running a non-development version of Salt you will
276654          have to change the publish_port and ret_port values as well.
276655
276656       Edit the minion config file:
276657
276658       1. Repeat the edits you made in the master  config  for  the  user  and
276659          root_dir values as well as any port changes.
276660
276661       2. Uncomment  and  change  the  pki_dir:  /etc/salt/pki/minion value to
276662          point to /path/to/your/virtualenv/etc/salt/pki/minion
276663
276664       3. If you are running version 0.11.1 or older,  uncomment,  and  change
276665          the    pidfile:   /var/run/salt-minion.pid   value   to   point   to
276666          /path/to/your/virtualenv/salt-minion.pid.
276667
276668       4. Uncomment and change the master: salt value to point at localhost.
276669
276670       5. Uncomment and change the id: value  to  something  descriptive  like
276671          "saltdev".  This  isn't  strictly  necessary  but it will serve as a
276672          reminder of which Salt installation you are working with.
276673
276674       6. If you changed the ret_port value in the master config  because  you
276675          are  also  running  a non-development version of Salt, then you will
276676          have to change the master_port value in the minion config to match.
276677
276678       NOTE:
276679          Using salt-call with a Standalone Minion
276680
276681          If you plan to run salt-call with  this  self-contained  development
276682          environment  in a masterless setup, you should invoke salt-call with
276683          -c /path/to/your/virtualenv/etc/salt so that salt can find the  min‐
276684          ion  config file. Without the -c option, Salt finds its config files
276685          in /etc/salt.
276686
276687       Start the master and minion, accept the minion's key, and  verify  your
276688       local Salt installation is working:
276689
276690          cd /path/to/your/virtualenv
276691          salt-master -c ./etc/salt -d
276692          salt-minion -c ./etc/salt -d
276693          salt-key -c ./etc/salt -L
276694          salt-key -c ./etc/salt -A
276695          salt -c ./etc/salt '*' test.version
276696
276697       Running  the master and minion in debug mode can be helpful when devel‐
276698       oping. To do this, add  -l  debug  to  the  calls  to  salt-master  and
276699       salt-minion.  If you would like to log to the console instead of to the
276700       log file, remove the -d.
276701
276702       NOTE:
276703          Too long socket path?
276704
276705          Once the minion starts, you may see an error like the following:
276706
276707              zmq.core.error.ZMQError: ipc path "/path/to/your/virtualenv/
276708              var/run/salt/minion/minion_event_7824dcbcfd7a8f6755939af70b96249f_pub.ipc"
276709              is longer than 107 characters (sizeof(sockaddr_un.sun_path)).
276710
276711          This means that the path to the socket the minion is  using  is  too
276712          long.  This  is  a  system  limitation, so the only workaround is to
276713          reduce the length of this path. This can be done in a couple differ‐
276714          ent ways:
276715
276716          1. Create your virtualenv in a path that is short enough.
276717
276718          2. Edit  the  sock_dir minion config variable and reduce its length.
276719             Remember that this path is relative  to  the  value  you  set  in
276720             root_dir.
276721
276722          NOTE:  The  socket  path is limited to 107 characters on Solaris and
276723          Linux, and 103 characters on BSD-based systems.
276724
276725       NOTE:
276726          File descriptor limits
276727
276728          Ensure that the system open file limit is raised to at least 2047:
276729
276730              # check your current limit
276731              ulimit -n
276732
276733              # raise the limit. persists only until reboot
276734              # use 'limit descriptors 2047' for c-shell
276735              ulimit -n 2047
276736
276737          To set file descriptors on macOS, refer to  the  macOS  Installation
276738          instructions.
276739
276740   Changing Default Paths
276741       Instead  of  updating your configuration files to point to the new root
276742       directory and having to pass the new configuration  directory  path  to
276743       all  of  Salt's  CLI tools, you can explicitly tweak the default system
276744       paths that Salt expects:
276745
276746          GENERATE_SALT_SYSPATHS=1 pip install --global-option='--salt-root-dir=/path/to/your/virtualenv/' \
276747              -e ./salt   # the path to the salt git clone from above
276748
276749       You can now call all of Salt's CLI tools without explicitly passing the
276750       configuration directory.
276751
276752   Additional Options
276753       If  you  want to distribute your virtualenv, you probably don't want to
276754       include Salt's clone .git/  directory,  and,  without  it,  Salt  won't
276755       report  the  accurate  version.  You  can tell setup.py to generate the
276756       hardcoded version information which is distributable:
276757
276758          GENERATE_SALT_SYSPATHS=1 WRITE_SALT_VERSION=1 pip install --global-option='--salt-root-dir=/path/to/your/virtualenv/' \
276759              -e ./salt   # the path to the salt git clone from above
276760
276761       Instead of passing those two environmental variables, you can just pass
276762       a single one which will trigger the other two:
276763
276764          MIMIC_SALT_INSTALL=1 pip install --global-option='--salt-root-dir=/path/to/your/virtualenv/' \
276765              -e ./salt   # the path to the salt git clone from above
276766
276767       This  last  one will grant you an editable salt installation with hard‐
276768       coded system paths and version information.
276769
276770   Installing Salt from the Python Package Index
276771       If you are installing using easy_install, you will  need  to  define  a
276772       USE_SETUPTOOLS environment variable, otherwise dependencies will not be
276773       installed:
276774
276775          USE_SETUPTOOLS=1 easy_install salt
276776
276777   Editing and previewing the documentation
276778       You need sphinx-build command to build the docs. In Debian/Ubuntu  this
276779       is  provided in the python-sphinx package. Sphinx can also be installed
276780       to a virtualenv using pip:
276781
276782          pip install Sphinx==1.3.1
276783
276784       Change to salt documentation directory, then:
276785
276786          cd doc; make html
276787
276788       · This will build the HTML docs. Run make without any arguments to  see
276789         the available make targets, which include html, man, and text.
276790
276791       · The docs then are built within the docs/_build/ folder. To update the
276792         docs after making changes, run make again.
276793
276794       · The docs use  reStructuredText  for  markup.   See  a  live  demo  at
276795         http://rst.ninjs.org/.
276796
276797       · The  help  information  on  each  module  or state is culled from the
276798         python code that runs for that piece. Find them in  salt/modules/  or
276799         salt/states/.
276800
276801       · To  build  the  docs  on  Arch  Linux,  the python2-sphinx package is
276802         required. Additionally, it is necessary to tell make  where  to  find
276803         the proper sphinx-build binary, like so:
276804
276805          make SPHINXBUILD=sphinx-build2 html
276806
276807       · To  build the docs on RHEL/CentOS 6, the python-sphinx10 package must
276808         be installed from EPEL, and the following make command must be used:
276809
276810          make SPHINXBUILD=sphinx-build html
276811
276812       Once you've updated the documentation, you can run the  following  com‐
276813       mand to launch a simple Python HTTP server to see your changes:
276814
276815          cd _build/html; python -m SimpleHTTPServer
276816
276817   Running unit and integration tests
276818       Run the test suite with following command:
276819
276820          ./setup.py test
276821
276822       See here for more information regarding the test suite.
276823
276824   Issue and Pull Request Labeling System
276825       SaltStack uses several labeling schemes to help facilitate code contri‐
276826       butions and bug resolution. See the Labels and Milestones documentation
276827       for more information.
276828
276829   GitHub Labels and Milestones
276830       SaltStack  uses  several  label  categories,  as well as milestones, to
276831       triage incoming issues and pull requests in the GitHub  issue  tracker.
276832       Labels  are  used  to  sort issues by type, priority, severity, status,
276833       functional area,  functional  group,  and  targeted  release  and  pull
276834       requests  by status, functional area, functional group, type of change,
276835       and test status.  Milestones are used to indicate whether an  issue  is
276836       fully  triaged  or is scheduled to be fixed by SaltStack in an upcoming
276837       sprint.
276838
276839   Milestones
276840       All issues are assigned to  a  milestone,  whereas  pull  requests  are
276841       almost  never  assigned  to  a  milestone  as the mean lifetime of pull
276842       requests is short enough that there is no need  to  track  them  tempo‐
276843       rally.
276844
276845       SaltStack  uses milestones to indicate which issues are blocked on sub‐
276846       mitter or upstream actions, are approved, or are scheduled to be  fixed
276847       or implemented in an upcoming sprint.  If an issue is not attached to a
276848       sprint milestone, you are welcome to work on it at your own desire  and
276849       convenience.   If  it  is  attached  to a sprint milestone and you have
276850       already begun working on it or have a solution in mind  or  have  other
276851       ideas  related  to the issue, you are encouraged to coordinate with the
276852       assignee via the GitHub issue tracker to create the best possible solu‐
276853       tion or implementation.
276854
276855       · Approved  - The issue has been validated and has all necessary infor‐
276856         mation.
276857
276858       · Blocked - The issue is waiting on actions by parties outside of Salt‐
276859         Stack, such as receiving more information from the submitter or reso‐
276860         lution of an upstream issue. This milestone  is  usually  applied  in
276861         conjunction with the labels Info Needed, Question, Expected Behavior,
276862         Won't Fix For Now, or Upstream Bug.
276863
276864   Labels
276865       Labels are used to sort and describe issues and  pull  requests.   Some
276866       labels  are  usually  reserved for one or the other, though most labels
276867       may be applied to both.
276868
276869       New issues will receive at least one label and  a  milestone,  and  new
276870       pull  requests  will  receive  at  least  one  label.   Except  for the
276871       functional area and functional group label categories, issues will gen‐
276872       erally receive only up to one label per category.
276873
276874   Type
276875       Issues  are  categorized  into  one  of several types.  Type labels are
276876       almost never used for pull requests.  GitHub treats pull requests  like
276877       issues  in  many  ways,  so a pull request could be considered an issue
276878       with an implicit Pull Request type label applied.
276879
276880       · Feature - The issue is a  request  for  new  functionality  including
276881         changes, enhancements, refactors, etc.
276882
276883       · Bug  -  The issue documents broken, incorrect, or confusing behavior.
276884         This label is always accompanied by a severity label.
276885
276886       · Duplicate - The issue is a duplicate of another  feature  request  or
276887         bug report.
276888
276889       · Upstream Bug - The issue is a result of an upstream issue.
276890
276891       · Question  -  The  issue  is more of a question than a request for new
276892         features or a report of broken features, but can  sometimes  lead  to
276893         further discussion or changes of confusing or incongruous behavior or
276894         documentation.
276895
276896       · Expected Behavior - The issue is a bug report of intended functional‐
276897         ity.
276898
276899   Priority
276900       An  issue's  priority  is  relative  to  its functional area.  If a bug
276901       report, for example, about gitfs indicates that all users of gitfs will
276902       encounter  this bug, then a P1 label will be applied, even though users
276903       who are not using gitfs will not encounter the bug.  If  a  feature  is
276904       requested by many users, it may be given a high priority.
276905
276906       · P1 - The issue will be seen by all users.
276907
276908       · P2 - The issue will be seen by most users.
276909
276910       · P3 - The issue will be seen by about half of users.
276911
276912       · P4  - The issue will not be seen by most users.  Usually the issue is
276913         a very specific use case or corner case.
276914
276915   Severity
276916       Severity labels are almost always only applied to issues labeled Bug.
276917
276918       · Blocker - The issue is blocking an impending release.
276919
276920       · Critical - The issue causes data loss, crashes  or  hangs  salt  pro‐
276921         cesses, makes the system unresponsive, etc.
276922
276923       · High  Severity - The issue reports incorrect functionality, bad func‐
276924         tionality, a confusing user experience, etc.
276925
276926       · Medium Severity -  The  issue  reports  cosmetic  items,  formatting,
276927         spelling, colors, etc.
276928
276929   Functional Area
276930       Many  major components of Salt have corresponding GitHub labels.  These
276931       labels are applied to all issues and pull  requests  as  is  reasonably
276932       appropriate.   They  are  useful in organizing issues and pull requests
276933       according to the source code relevant to  issues  or  the  source  code
276934       changed by pull requests.
276935
276936       · Execution Module
276937
276938       · File Servers
276939
276940       · Grains
276941
276942       · Multi-Master
276943
276944       · Packaging  Related to packaging of Salt, not Salt's support for pack‐
276945         age management.
276946
276947       · Pillar
276948
276949       · RAET
276950
276951       · Returners
276952
276953       · Runners
276954
276955       · SPM
276956
276957       · Salt-API
276958
276959       · Salt-Cloud
276960
276961       · Salt-SSH
276962
276963       · Salt-Syndic
276964
276965       · State Module
276966
276967       · Tests
276968
276969       · Transport
276970
276971       · Windows
276972
276973       · ZMQ
276974
276975   Functional Group
276976       These labels sort issues and pull requests according  to  the  internal
276977       SaltStack engineering teams.
276978
276979       · Core  -  The issue or pull request relates to code that is central or
276980         existential to Salt itself.
276981
276982       · Platform - The issue or pull request relates to support and  integra‐
276983         tion  with  various  platforms  like traditional operating systems as
276984         well as containers, platform-based utilities like  filesystems,  com‐
276985         mand schedulers, etc., and system-based applications like webservers,
276986         databases, etc.
276987
276988       · RIoT - The issue or pull request relates to support  and  integration
276989         with  various  abstract  systems  like  cloud providers, hypervisors,
276990         API-based services, etc.
276991
276992       · Console - The issue or pull request relates to the  SaltStack  enter‐
276993         prise console.
276994
276995       · Documentation - The issue or pull request relates to documentation.
276996
276997   Status
276998       Status labels are used to define and track the state of issues and pull
276999       requests.  Not all potential statuses correspond to a label,  but  some
277000       statuses  are common enough that labels have been created for them.  If
277001       an issue has not been moved beyond the Blocked milestone,  it  is  very
277002       likely that it will only have a status label.
277003
277004       · Bugfix  -  back-port  The  pull request needs to be back-ported to an
277005         older release branch.  This is done by recreating  the  pull  request
277006         against  that branch.  Once the back-port is completed, this label is
277007         replaced with a Bugfix - [Done]  back-ported  label.   Normally,  new
277008         features  should  go  into  the develop and bug fixes into the oldest
277009         supported release branch, see here.
277010
277011       · Bugfix - [Done] back-ported - The pull request has  been  back-ported
277012         to an older branch.
277013
277014       · Cannot  Reproduce  -  The  issue  is a bug and has been reviewed by a
277015         SaltStack engineer, but it cannot be  replicated  with  the  provided
277016         information  and  context.   Those involved with the bug will need to
277017         work through additional ideas until the bug can be isolated and veri‐
277018         fied.
277019
277020       · Confirmed  - The issue is a bug and has been confirmed by a SaltStack
277021         engineer, who often documents a minimal working example  that  repro‐
277022         duces the bug.
277023
277024       · Fixed Pending Verification - The issue is a bug and has been fixed by
277025         one or more pull requests, which should link to the  issue.   Closure
277026         of  the  issue is contingent upon confirmation of resolution from the
277027         submitter.  If the submitter reports a  negative  confirmation,  this
277028         label  is  removed.   If no response is given after a few weeks, then
277029         the issue will be assumed fixed and closed.
277030
277031       · Info Needed - The issue needs more information before it can be veri‐
277032         fied and resolved.  For a feature request this may include a descrip‐
277033         tion of the use cases.  Almost all bug reports  need  to  include  at
277034         least  the versions of salt and its dependencies, the system type and
277035         version, commands used, debug logs, error messages, and relevant con‐
277036         figs.
277037
277038       · Pending Changes - The pull request needs additional changes before it
277039         can be merged.
277040
277041       · Pending Discussion - The issue or pull request needs more  discussion
277042         before  it  can be closed or merged.  The status of the issue or pull
277043         request is not clear or apparent enough for  definite  action  to  be
277044         taken,  or additional input from SaltStack, the submitter, or another
277045         party has been requested.
277046
277047         If the issue is not a pull request, once the discussion  has  arrived
277048         at a cogent conclusion, this label will be removed and the issue will
277049         be accepted.  If it is a pull request, the results of the  discussion
277050         may require additional changes and thus, a Pending Changes label.
277051
277052       · Won't  Fix for Now - The issue is legitimate, but it is not something
277053         the SaltStack team is currently able or willing to fix or  implement.
277054         Issues having this label may be revisited in the future.
277055
277056   Type of Change
277057       Every pull request should receive a change label.  These labels measure
277058       the quantity of change as well as the significance of the change.   The
277059       amount  of  change and the importance of the code area changed are con‐
277060       sidered, but often the depth of secondary code review required and  the
277061       potential repercussions of the change may also advise the label choice.
277062
277063       Core code areas include: state compiler, crypto engine, master and min‐
277064       ion and syndic daemons, transport, pillar rendering, loader,  transport
277065       layer,  event  system, salt.utils, client, cli, logging, netapi, runner
277066       engine, templating engine, top  file  compilation,  file  client,  file
277067       server, mine, salt-ssh, test runner, etc.
277068
277069       Non-core  code usually constitutes the specific set of plugins for each
277070       of the several plugin layers of Salt: execution modules,  states,  run‐
277071       ners, returners, clouds, etc.
277072
277073       · Minor Change
277074
277075         · Less than 64 lines changed, or
277076
277077         · Less than 8 core lines changed
277078
277079       · Medium Change
277080
277081         · Less than 256 lines changed, or
277082
277083         · Less than 64 core lines changed
277084
277085       · Master Change
277086
277087         · More than 256 lines changed, or
277088
277089         · More than 64 core lines changed
277090
277091       · Expert Change
277092
277093         · Needs specialized, in-depth review
277094
277095   Test Status
277096       These  labels  relate  to the status of the automated tests that run on
277097       pull requests.  If the tests on a pull request fail and are  not  over‐
277098       ridden  by  one  of  these  labels, the pull request submitter needs to
277099       update the code and/or tests so  that  the  tests  pass  and  the  pull
277100       request can be merged.
277101
277102       · Lint - The pull request has passed all tests except for the code lint
277103         checker.
277104
277105       · Tests Passed - The pull request has passed all tests even though some
277106         test  results  are  negative.  Sometimes the automated testing infra‐
277107         structure will encounter internal errors unrelated to the code change
277108         in  the  pull request that cause test runs to fail.  These errors can
277109         be caused by cloud host and network issues and  also  Jenkins  issues
277110         like  erroneously  accumulating workspace artifacts, resource exhaus‐
277111         tion, and bugs that arise from long running Jenkins processes.
277112
277113   Other
277114       These labels indicate miscellaneous issue types or  statuses  that  are
277115       common or important enough to be tracked and sorted with labels.
277116
277117       · Awesome  -  The  pull  request  implements an especially well crafted
277118         solution, or a very difficult but necessary change.
277119
277120       · Help Wanted - The issue appears to have a  simple  solution.   Issues
277121         having  this  label should be a good starting place for new contribu‐
277122         tors to Salt.
277123
277124       · Needs Testcase - The issue or pull request relates to a feature  that
277125         needs  test  coverage.   The pull request containing the tests should
277126         reference the issue or pull request having this label, whereupon  the
277127         label should be removed.
277128
277129       · Regression  -  The  issue is a bug that breaks functionality known to
277130         work in previous releases.
277131
277132       · Story - The issue is used by a SaltStack engineer to  track  progress
277133         on multiple related issues in a single place.
277134
277135       · Stretch  -  The  issue is an optional goal for the current sprint but
277136         may not be delivered.
277137
277138       · ZD - The issue is related to a Zendesk customer support ticket.
277139
277140       · <Release> - The issue is scheduled to be  implemented  by  <Release>.
277141         See here for a discussion of Salt's release codenames.
277142
277143   Logging Internals
277144       TODO
277145
277146   Package Providers
277147       This page contains guidelines for writing package providers.
277148
277149   Package Functions
277150       One of the most important features of Salt is package management. There
277151       is no shortage of package managers, so in the interest of  providing  a
277152       consistent  experience  in pkg states, there are certain functions that
277153       should be present in a package provider. Note that these are subject to
277154       change as new features are added or existing features are enhanced.
277155
277156   list_pkgs
277157       This function should declare an empty dict, and then add packages to it
277158       by calling pkg_resource.add_pkg, like so:
277159
277160          __salt__['pkg_resource.add_pkg'](ret, name, version)
277161
277162       The last thing that should be  done  before  returning  is  to  execute
277163       pkg_resource.sort_pkglist. This function does not presently do anything
277164       to the return dict, but will be used in future versions of Salt.
277165
277166          __salt__['pkg_resource.sort_pkglist'](ret)
277167
277168       list_pkgs returns a dictionary of installed  packages,  with  the  keys
277169       being  the  package  names  and the values being the version installed.
277170       Example return data:
277171
277172          {'foo': '1.2.3-4',
277173           'bar': '5.6.7-8'}
277174
277175   latest_version
277176       Accepts an arbitrary number of arguments. Each argument  is  a  package
277177       name.  The  return  value  for a package will be an empty string if the
277178       package is not found or if the package is up-to-date. The only case  in
277179       which a non-empty string is returned is if the package is available for
277180       new installation (i.e. not already installed) or if there is an upgrade
277181       available.
277182
277183       If  only one argument was passed, this function return a string, other‐
277184       wise a dict of name/version pairs is returned.
277185
277186       This function must also accept **kwargs, in order to receive the  from‐
277187       repo and repo keyword arguments from pkg states. Where supported, these
277188       arguments should be used to find the install/upgrade candidate  in  the
277189       specified repository. The fromrepo kwarg takes precedence over repo, so
277190       if both of those kwargs are present, the repository specified in  from‐
277191       repo  should  be used. However, if repo is used instead of fromrepo, it
277192       should still work, to preserve backwards compatibility with older  ver‐
277193       sions of Salt.
277194
277195   version
277196       Like  latest_version,  accepts  an  arbitrary  number  of arguments and
277197       returns a string if a single package name was  passed,  or  a  dict  of
277198       name/value  pairs  if  more than one was passed. The only difference is
277199       that the return values are the currently-installed versions of whatever
277200       packages  are  passed. If the package is not installed, an empty string
277201       is returned for that package.
277202
277203   upgrade_available
277204       Deprecated and destined to be removed. For now, should just do the fol‐
277205       lowing:
277206
277207          return __salt__['pkg.latest_version'](name) != ''
277208
277209   install
277210       The following arguments are required and should default to None:
277211
277212       1. name (for single-package pkg states)
277213
277214       2. pkgs (for multiple-package pkg states)
277215
277216       3. sources (for binary package file installation)
277217
277218       The    first   thing   that   this   function   should   do   is   call
277219       pkg_resource.parse_targets (see below). This function will convert  the
277220       SLS    input    into    a    more   easily   parsed   data   structure.
277221       pkg_resource.parse_targets may need to be modified to support your  new
277222       package provider, as it does things like parsing package metadata which
277223       cannot be done for every package management system.
277224
277225          pkg_params, pkg_type = __salt__['pkg_resource.parse_targets'](name,
277226                                                                        pkgs,
277227                                                                        sources)
277228
277229       Two values will be returned to the install function. The first of  them
277230       will  be  a  dictionary.  The  keys  of this dictionary will be package
277231       names, though the values will differ depending on what kind of  instal‐
277232       lation is being done:
277233
277234       · If  name was provided (and pkgs was not), then there will be a single
277235         key in the dictionary, and its value will be None. Once the data  has
277236         been  returned, if the version keyword argument was provided, then it
277237         should replace the None value in the dictionary.
277238
277239       · If pkgs was provided, then name is ignored, and the  dictionary  will
277240         contain  one  entry  for each package in the pkgs list. The values in
277241         the dictionary will be None if a version was not  specified  for  the
277242         package, and the desired version if specified. See the Multiple Pack‐
277243         age Installation Options section of the pkg.installed state for  more
277244         info.
277245
277246       · If  sources  was  provided,  then name is ignored, and the dictionary
277247         values will be the path/URI for the package.
277248
277249       The second return value will be a  string  with  two  possible  values:
277250       repository  or file. The install function can use this value (if neces‐
277251       sary) to build the proper command to install the targeted package(s).
277252
277253       Both before and after the installing  the  target(s),  you  should  run
277254       list_pkgs  to  obtain a list of the installed packages. You should then
277255       return the output of salt.utils.data.compare_dicts():
277256
277257          return salt.utils.data.compare_dicts(old, new)
277258
277259   remove
277260       Removes the passed package and return a list of the packages removed.
277261
277262   Package Repo Functions
277263       There are some functions provided by pkg which are specific to  package
277264       repositories,  and not to packages themselves. When writing modules for
277265       new package managers, these  functions  should  be  made  available  as
277266       stated below, in order to provide compatibility with the pkgrepo state.
277267
277268       All  repo functions should accept a basedir option, which defines which
277269       directory repository configuration should be found in. The default  for
277270       this  is  dictated  by  the repo manager that is being used, and rarely
277271       needs to be changed.
277272
277273          basedir = '/etc/yum.repos.d'
277274          __salt__['pkg.list_repos'](basedir)
277275
277276   list_repos
277277       Lists the repositories that are currently configured on this system.
277278
277279          __salt__['pkg.list_repos']()
277280
277281       Returns a dictionary, in the following format:
277282
277283          {'reponame': 'config_key_1': 'config value 1',
277284                       'config_key_2': 'config value 2',
277285                       'config_key_3': ['list item 1 (when appropriate)',
277286                                        'list item 2 (when appropriate)]}
277287
277288   get_repo
277289       Displays all local configuration for a specific repository.
277290
277291          __salt__['pkg.get_repo'](repo='myrepo')
277292
277293       The information is formatted in much the same way as list_repos, but is
277294       specific to only one repo.
277295
277296          {'config_key_1': 'config value 1',
277297           'config_key_2': 'config value 2',
277298           'config_key_3': ['list item 1 (when appropriate)',
277299                            'list item 2 (when appropriate)]}
277300
277301   del_repo
277302       Removes  the  local configuration for a specific repository. Requires a
277303       repo argument, which must match the locally configured name. This func‐
277304       tion  returns a string, which informs the user as to whether or not the
277305       operation was a success.
277306
277307          __salt__['pkg.del_repo'](repo='myrepo')
277308
277309   mod_repo
277310       Modify the local configuration for one or more option for a  configured
277311       repo.   This  is also the way to create new repository configuration on
277312       the local system; if a repo is specified which does not yet  exist,  it
277313       will be created.
277314
277315       The  options  specified  for  this function are specific to the system;
277316       please refer to the documentation for your specific  repo  manager  for
277317       specifics.
277318
277319          __salt__['pkg.mod_repo'](repo='myrepo', url='http://myurl.com/repo')
277320
277321   Low-Package Functions
277322       In general, the standard package functions as describes above will meet
277323       your needs. These functions use the system's native repo  manager  (for
277324       instance,  yum  or  the  apt tools). In most cases, the repo manager is
277325       actually separate from the package manager. For instance, yum  is  usu‐
277326       ally a front-end for rpm, and apt is usually a front-end for dpkg. When
277327       possible,  the  package  functions  that  use  those  package  managers
277328       directly should do so through the low package functions.
277329
277330       It is normal and sane for pkg to make calls to lowpkgs, but lowpkg must
277331       never make calls to pkg. This is affects functions which  are  required
277332       by  both  pkg  and  lowpkg, but the technique in pkg is more performant
277333       than what is available to lowpkg. When this is  the  case,  the  lowpkg
277334       function  that  requires  that technique must still use the lowpkg ver‐
277335       sion.
277336
277337   list_pkgs
277338       Returns a dict of packages installed, including the  package  name  and
277339       version.   Can  accept  a list of packages; if none are specified, then
277340       all installed packages will be listed.
277341
277342          installed = __salt__['lowpkg.list_pkgs']('foo', 'bar')
277343
277344       Example output:
277345
277346          {'foo': '1.2.3-4',
277347           'bar': '5.6.7-8'}
277348
277349   verify
277350       Many (but not all) package management systems provide a way  to  verify
277351       that  the  files  installed  by  the  package  manager have or have not
277352       changed. This function accepts a list of packages; if none  are  speci‐
277353       fied, all packages will be included.
277354
277355          installed = __salt__['lowpkg.verify']('httpd')
277356
277357       Example output:
277358
277359          {'/etc/httpd/conf/httpd.conf': {'mismatch': ['size', 'md5sum', 'mtime'],
277360                                          'type': 'config'}}
277361
277362   file_list
277363       Lists  all  of  the  files  installed by all packages specified. If not
277364       packages are specified, then all  files  for  all  known  packages  are
277365       returned.
277366
277367          installed = __salt__['lowpkg.file_list']('httpd', 'apache')
277368
277369       This function does not return which files belong to which packages; all
277370       files are returned as one giant  list  (hence  the  file_list  function
277371       name.  However, This information is still returned inside of a dict, so
277372       that it can provide any errors to the user in a sane manner.
277373
277374          {'errors': ['package apache is not installed'],
277375            'files': ['/etc/httpd',
277376                      '/etc/httpd/conf',
277377                      '/etc/httpd/conf.d',
277378                      '...SNIP...']}
277379
277380   file_dict
277381       Lists all of the files installed by  all  packages  specified.  If  not
277382       packages  are  specified,  then  all  files  for all known packages are
277383       returned.
277384
277385          installed = __salt__['lowpkg.file_dict']('httpd', 'apache', 'kernel')
277386
277387       Unlike file_list, this function will break down which files  belong  to
277388       which  packages.  It  will  also  return  errors  in the same manner as
277389       file_list.
277390
277391          {'errors': ['package apache is not installed'],
277392           'packages': {'httpd': ['/etc/httpd',
277393                                  '/etc/httpd/conf',
277394                                  '...SNIP...'],
277395                        'kernel': ['/boot/.vmlinuz-2.6.32-279.el6.x86_64.hmac',
277396                                   '/boot/System.map-2.6.32-279.el6.x86_64',
277397                                   '...SNIP...']}}
277398
277399   Pull Requests
277400       Salt is a large software project with many developers working together.
277401       We  encourage  all Salt users to contribute new features, bug fixes and
277402       documentation fixes. For those who haven't contributed to a large soft‐
277403       ware  project  before  we encourage you to consider the following ques‐
277404       tions when preparing a pull request.
277405
277406       This isn't an exhaustive list and these  aren't  necessarily  hard  and
277407       fast  rules,  but  these  are  things we consider when reviewing a pull
277408       request.
277409
277410       · Does this change work on all platforms? In cases where it  does  not,
277411         is  an  appropriate  and  easy-to-understand  reason presented to the
277412         user? Is it documented as-such? Have we thought about all the  possi‐
277413         ble  ways  this  code  might be used and accounted as best we can for
277414         them?
277415
277416       · Will this code work on versions of all Python  we  support?  Will  it
277417         work on future versions?
277418
277419       · Are  Python reserved keywords used? Are variables named in a way that
277420         will make it easy for the next person to understand what's going on?
277421
277422       · Does this code present a security risk in any way? What is the  worst
277423         possible thing that an attacker could do with this code? If dangerous
277424         cases are possible, is it appropriate to document them?  If  so,  has
277425         this  been  done?   Would this change pass muster with a professional
277426         security audit? Is it obvious to a person using this  code  what  the
277427         risks are?
277428
277429       · Is it readable? Does it conform to our style guide? Is the code docu‐
277430         mented such that the next person who comes along will be able to read
277431         and  understand  it?  Most  especially,  are edge-cases documented to
277432         avoid regressions? Will it be immediately evident to the next  person
277433         who comes along why this change was made?
277434
277435       · If appropriate, has the person who wrote the code which is being mod‐
277436         ified been notified and included in the process?
277437
277438       · What are the performance implications of this change? Is there a more
277439         efficient  way  to  structure  the  logic  and if so, does making the
277440         change balance itself against readability in a sensible way?  Do  the
277441         performance characteristics of the code change based on the way it is
277442         being invoked (i.e., through an API or various  command-line  tools.)
277443         Will it be easy to profile this change if it might be a problem?
277444
277445       · Are caveats considered and documented in the change?
277446
277447       · Will  the  code  scale? More critically, will it scale in both direc‐
277448         tions?  Salt runs in data-centers and on Raspberry  Pi  installations
277449         in the Sahara. It needs to work on big servers and tiny devices.
277450
277451       · Is  appropriate  documentation written both in public-facing docs and
277452         in-line?  How will the user know how to use this? What will  they  do
277453         if  it  doesn't  work  as expected? Is this something a new user will
277454         understand? Can a user know all they need to about this functionality
277455         by reading the public docs?
277456
277457       · Is this a change in behavior? If so, is it in the appropriate branch?
277458         Are deprecation warnings necessary? Have  those  changes  been  fully
277459         documented?  Have we fully thought through what implications a change
277460         in behavior might have?
277461
277462       · How has the code been tested?  If  appropriate  are  there  automated
277463         tests  which  cover this? Is it likely to regress? If so, how has the
277464         potential of that regression been mitigated? What  is  the  plan  for
277465         ensuring that this code works going forward?
277466
277467       · If  it's  asynchronous  code, what is the potential for a race condi‐
277468         tion?
277469
277470       · Is this code an original work? If it's borrowed from another  project
277471         or  found online are the appropriate licensing/attribution considera‐
277472         tions handled?
277473
277474       · Is the reason for the change fully explained in the PR?  If  not  for
277475         review,  this is necessary so that somebody in the future can go back
277476         and figure out why it was necessary.
277477
277478       · Is the intended behavior of the change clear? How will that  behavior
277479         be known to future contributors and to users?
277480
277481       · Does  this  code handle errors in a reasonable way? Have we gone back
277482         through the stack as much as possible to make sure that an error can‐
277483         not  be  raised  that we do not account for? Are errors tested for as
277484         well as proper functionality?
277485
277486       · If the code relies on external libraries, do we properly  handle  old
277487         versions  of them? Do we require a specific version and if so is this
277488         version check implemented? Is the library available on the same plat‐
277489         forms  that  module  in  question  claims to support? If the code was
277490         written and tested against a particular library, have  we  documented
277491         that fact?
277492
277493       · Can  this  code  freeze/hang/crash  a  running daemon? Can it stall a
277494         state run?  Are there infinite loops? Are appropriate timeouts imple‐
277495         mented?
277496
277497       · Is  the function interface well documented? If argument types can not
277498         be inferred by introspection, are they documented?
277499
277500       · Are resources such as file-handles cleaned-up after they are used?
277501
277502       · Is it possible that a reference-cycle  exists  between  objects  that
277503         will leak memory?
277504
277505       · Has the code been linted and does it pass all tests?
277506
277507       · Does the change fully address the problem or is it limited to a small
277508         surface area? By this, I mean that it should be clear that  the  sub‐
277509         mitter has looked for other cases in the function or module where the
277510         given case might also be addressed. If additional changes are  neces‐
277511         sary  are  they  documented  in  the code as a FIXME or the PR and in
277512         Github as an issue to be tracked?
277513
277514       · Will the code throw errors/warnings/stacktraces to the console during
277515         normal operation?
277516
277517       · Has all the debugging been removed?
277518
277519       · Does  the code log any sensitive data? Does it show sensitive data in
277520         process lists? Does it store sensitive data to disk and if  so,  does
277521         it  do  so in a secure manner? Are there potential race conditions in
277522         between writing the data to disk and setting the appropriate  permis‐
277523         sions?
277524
277525       · Is  it  clear  from the solution that the problem is well-understood?
277526         How can somebody who has never seen the problem feel  confident  that
277527         this proposed change is the best one?
277528
277529       · What's  hard-coded  that might not need to be? Are we making sensible
277530         decisions for the user and allowing them to tune  and  change  things
277531         where appropriate?
277532
277533       · Are  utility  functions  used  where  appropriate?  Does  this change
277534         re-implement something we already have code for?
277535
277536       · Is the right thing being fixed? There are cases where it's  appropri‐
277537         ate  to  fix  a test and cases where it's appropriate to fix the code
277538         that's under test.  Which is best for the  user?  Is  this  change  a
277539         shortcut  or a solution that will be solid in the months and years to
277540         come?
277541
277542       · How will this code react to changes elsewhere in the code base?  What
277543         is  it  coupled  to  and  have  we  fully thought through how best to
277544         present a coherent interface to consumers  of  a  given  function  or
277545         method?
277546
277547       · Does this PR try to fix too many bugs/problems at once?
277548
277549       · Should  this  be  split into multiple PRs to make them easier to test
277550         and reason about?
277551
277552   Reporting Bugs
277553       Salt uses GitHub to track open issues and feature requests.
277554
277555       To file a bug, please navigate to the  new  issue  page  for  the  Salt
277556       project.
277557
277558       In an issue report, please include the following information:
277559
277560          · The  output  of salt --versions-report from the relevant machines.
277561            This  can  also  be  gathered  remotely  by  using  salt  <my_tgt>
277562            test.versions_report.
277563
277564          · A  description  of  the problem including steps taken to cause the
277565            issue to occur and the expected behaviour.
277566
277567          · Any steps taken to attempt to remediate the problem.
277568
277569          · Any configuration options set in a configuration file that may  be
277570            relevant.
277571
277572          · A  reproduceable  test  case. This may be as simple as an SLS file
277573            that illustrates a problem or it may be a  link  to  a  repository
277574            that  contains  a number of SLS files that can be used together to
277575            re-produce a problem. If the problem is transitory,  any  informa‐
277576            tion that can be used to try and reproduce the problem is helpful.
277577
277578          · [Optional]  The  output of each salt component (master/minion/CLI)
277579            running with the -ldebug flag set.
277580
277581          NOTE:
277582              Please be certain to scrub any logs or SLS files  for  sensitive
277583              data!
277584
277585   Salt Topology
277586       Salt  is  based  on  a  powerful,  asynchronous, network topology using
277587       ZeroMQ. Many ZeroMQ systems are in place to enable  communication.  The
277588       central idea is to have the fastest communication possible.
277589
277590   Servers
277591       The  Salt  Master runs 2 network services. First is the ZeroMQ PUB sys‐
277592       tem. This service by default runs on port 4505 and  can  be  configured
277593       via the publish_port option in the master configuration.
277594
277595       Second  is the ZeroMQ REP system. This is a separate interface used for
277596       all bi-directional communication with minions. By default  this  system
277597       binds to port 4506 and can be configured via the ret_port option in the
277598       master.
277599
277600   PUB/SUB
277601       The commands sent out via the salt client are broadcast out to the min‐
277602       ions  via ZeroMQ PUB/SUB. This is done by allowing the minions to main‐
277603       tain a connection back to the Salt Master and then all connections  are
277604       informed to download the command data at once. The command data is kept
277605       extremely small (usually less than 1K) so it is not  a  burden  on  the
277606       network.
277607
277608   Return
277609       The  PUB/SUB  system  is  a one way communication, so once a publish is
277610       sent out the PUB interface on the master has no  further  communication
277611       with the minion.  The minion, after running the command, then sends the
277612       command's return data back to the master via the ret_port.
277613
277614   Developing Salt Tutorial
277615       This tutorial assumes you have:
277616
277617       · a web browser
277618
277619       · a GitHub account (<my_account>)
277620
277621       · a command line (CLI)
277622
277623       · git
277624
277625       · a text editor
277626
277627   Fork
277628       In your browser, navigate to the saltstack/salt GitHub repository.
277629
277630       Click                   on                   Fork                    (‐
277631       https://github.com/saltstack/salt/#fork-destination-box).
277632
277633       NOTE:
277634          If  you have more than one GitHub presence, for example if you are a
277635          member of a team, GitHub will ask you into which area to clone Salt.
277636          If you don't know where, then select your personal GitHub account.
277637
277638   Clone
277639       In  your  CLI,  navigate to the directory into which you want clone the
277640       Salt codebase and submit the following command:
277641
277642          $ git clone https://github.com/<my_account>/salt.git
277643
277644       where <my_account> is the name of your GitHub account.  After the clone
277645       has  completed,  add SaltStack as a second remote and fetch any changes
277646       from upstream.
277647
277648          $ cd salt
277649          $ git remote add upstream https://github.com/saltstack/salt.git
277650          $ git fetch upstream
277651
277652       For this tutorial, we will be working off from the master branch, which
277653       is  the  default  branch for the SaltStack GitHub project.  This branch
277654       needs to track upstream/master so that we will get all upstream changes
277655       when they happen.
277656
277657          $ git checkout master
277658          $ git branch --set-upstream-to upstream/master
277659
277660   Fetch
277661       Fetch  any  upstream changes on the master branch and sync them to your
277662       local copy of the branch with a single command:
277663
277664          $ git pull --rebase
277665
277666       NOTE:
277667          For an explanation on pull vs  pull  --rebase  and  other  excellent
277668          points, see this article by Mislav Marohnić.
277669
277670   Branch
277671       Now  we are ready to get to work.  Consult the sprint beginner bug list
277672       and select an execution module whose __virtual__ function needs  to  be
277673       updated.  I'll select the alternatives module.
277674
277675       Create  a  new  branch  off  from master.  Be sure to name it something
277676       short and descriptive.
277677
277678          $ git checkout -b virt_ret
277679
277680   Edit
277681       Edit the file you have selected, and verify that the changes  are  cor‐
277682       rect.
277683
277684          $ vim salt/modules/alternatives.py
277685          $ git diff
277686
277687          diff --git a/salt/modules/alternatives.py b/salt/modules/alternatives.py
277688          index 1653e5f..30c0a59 100644
277689          --- a/salt/modules/alternatives.py
277690          +++ b/salt/modules/alternatives.py
277691          @@ -30,7 +30,7 @@ def __virtual__():
277692                   '''
277693                   if os.path.isdir('/etc/alternatives'):
277694                           return True
277695          -        return False
277696          +        return (False, 'Cannot load alternatives module: /etc/alternatives dir not found')
277697
277698
277699           def _get_cmd():
277700
277701   Commit
277702       Stage  and commit the changes.  Write a descriptive commit summary, but
277703       try to keep it less than 50 characters.  Review your commit.
277704
277705          $ git add salt/modules/alternatives.py
277706          $ git commit -m 'modules.alternatives: __virtual__ return err msg'
277707          $ git show
277708
277709       NOTE:
277710          If you need more room to describe the changes in  your  commit,  run
277711          git  commit  (without  the -m, message, option) and you will be pre‐
277712          sented with an editor.  The first line is  the  commit  summary  and
277713          should still be 50 characters or less.  The following paragraphs you
277714          create are free form and will be preserved as part of the commit.
277715
277716   Push
277717       Push your branch to your GitHub account.  You will likely need to enter
277718       your GitHub username and password.
277719
277720          $ git push origin virt_ret
277721          Username for 'https://github.com': <my_account>
277722          Password for 'https://<my_account>@github.com':
277723
277724       NOTE:
277725          If  authentication  over  https does not work, you can alternatively
277726          setup ssh keys.  Once you have done this, you may need add the  keys
277727          to your git repository configuration
277728
277729              $ git config ssh.key ~/.ssh/<key_name>
277730
277731          where <key_name> is the file name of the private key you created.
277732
277733   Merge
277734       In  your  browser,  navigate  to the new pull request page on the salt‐
277735       stack/salt GitHub repository and click on compare across forks.  Select
277736       <my_account> from the list of head forks and the branch you are wanting
277737       to merge into master (virt_ret in this case).
277738
277739       When you  have  finished  reviewing  the  changes,  click  Create  pull
277740       request.
277741
277742       If  your pull request contains only a single commit, the title and com‐
277743       ment will be taken from that commit's summary  and  message,  otherwise
277744       the  branch name is used for the title.  Edit these fields as necessary
277745       and click Create pull request.
277746
277747       NOTE:
277748          Although these instructions seem to be  the  official  pull  request
277749          procedure on github's website, here are two alternative methods that
277750          are simpler.
277751
277752          · If     you     navigate     to     your     clone     of     salt,
277753            https://github.com/<my_account>/salt,  depending  on  how old your
277754            branch is or how recently you pushed updates on  it,  you  may  be
277755            presented with a button to create a pull request with your branch.
277756
277757          · I find it easiest to edit the following URL:
277758
277759            https://github.com/saltstack/salt/compare/mas
277760            ter...<my_account>:virt_ret
277761
277762   Resources
277763       GitHub offers many great tutorials on various aspects of the  git-  and
277764       GitHub-centric development workflow:
277765
277766       https://help.github.com/
277767
277768       There are many topics covered by the Salt Developer documentation:
277769
277770       https://docs.saltstack.com/en/latest/topics/development/index.html
277771
277772       The  contributing  documentation presents more details on specific con‐
277773       tributing topics:
277774
277775       https://docs.saltstack.com/en/latest/topics/development/contributing.html
277776
277777   Modular Systems
277778       When  first  working with Salt, it is not always clear where all of the
277779       modular components are and what they do. Salt comes  loaded  with  more
277780       modular  systems than many users are aware of, making Salt very easy to
277781       extend in many places.
277782
277783       The most commonly  used  modular  systems  are  execution  modules  and
277784       states.  But  the  modular  systems  extend well beyond the more easily
277785       exposed components and are often added to Salt  to  make  the  complete
277786       system more flexible.
277787
277788   Developing New Modules
277789   Interactive Debugging
277790       Sometimes debugging with print() and extra logs sprinkled everywhere is
277791       not the best strategy.
277792
277793       IPython is a helpful debug tool that has an interactive python environ‐
277794       ment which can be embedded in python programs.
277795
277796       First the system will require IPython to be installed.
277797
277798          # Debian
277799          apt-get install ipython
277800
277801          # Arch Linux
277802          pacman -Syu ipython2
277803
277804          # RHEL/CentOS (via EPEL)
277805          yum install python-ipython
277806
277807       Now,  in the troubling python module, add the following line at a loca‐
277808       tion where the debugger should be started:
277809
277810          test = 'test123'
277811          import IPython; IPython.embed_kernel()
277812
277813       After running a Salt command that hits that line,  the  following  will
277814       show up in the log file:
277815
277816          [CRITICAL] To connect another client to this kernel, use:
277817          [IPKernelApp] --existing kernel-31271.json
277818
277819       Now  on the system that invoked embed_kernel, run the following command
277820       from a shell:
277821
277822          # NOTE: use ipython2 instead of ipython for Arch Linux
277823          ipython console --existing
277824
277825       This provides a console that has access to all the vars and  functions,
277826       and even supports tab-completion.
277827
277828          print(test)
277829          test123
277830
277831       To exit IPython and continue running Salt, press Ctrl-d to logout.
277832
277833   Special Module Contents
277834       These are things that may be defined by the module to influence various
277835       things.
277836
277837   __virtual__
277838   __virtual_aliases__
277839   __virtualname__
277840   __init__
277841       Called before __virtual__()
277842
277843   __proxyenabled__
277844       grains and proxy modules
277845
277846       __proxyenabled__ as a list containing the names of the proxy types that
277847       the module supports.
277848
277849   __load__
277850   __func_alias__
277851   __outputter__
277852   Dunder Dictionaries
277853       Salt  provides  several  special "dunder" dictionaries as a convenience
277854       for Salt development.  These include __opts__,  __context__,  __salt__,
277855       and  others.  This  document  will  describe each dictionary and detail
277856       where they exist and what information and/or  functionality  they  pro‐
277857       vide.
277858
277859       The following dunder dictionaries are always defined, but may be empty
277860
277861       · __context__
277862
277863       · __grains__
277864
277865       · __pillar__
277866
277867       · __opts__
277868
277869   __opts__
277870       Defined in: All modules
277871
277872       The  __opts__ dictionary contains all of the options passed in the con‐
277873       figuration file for the master or minion.
277874
277875       NOTE:
277876          In many places in  salt,  instead  of  pulling  raw  data  from  the
277877          __opts__ dict, configuration data should be pulled from the salt get
277878          functions    such    as    config.get,    aka    -    __salt__['con‐
277879          fig.get']('foo:bar') The get functions also allow for dict traversal
277880          via the : delimiter.  Consider using get  functions  whenever  using
277881          __opts__ or __pillar__ and __grains__ (when using grains for config‐
277882          uration data)
277883
277884       The configuration file data made available in the  __opts__  dictionary
277885       is  the  configuration data relative to the running daemon. If the mod‐
277886       ules are loaded and executed by the master, then the master  configura‐
277887       tion data is available, if the modules are executed by the minion, then
277888       the minion  configuration  is  available.  Any  additional  information
277889       passed into the respective configuration files is made available
277890
277891   __salt__
277892       Defined  in:  Auth, Beacons, Engines, Execution, Executors, Outputters,
277893       Pillars, Proxies, Renderers, Returners,  Runners,  SDB,  SSH  Wrappers,
277894       State, Thorium
277895
277896       __salt__  contains  the execution module functions. This allows for all
277897       functions to be called as they have been set up by the salt loader.
277898
277899          __salt__['cmd.run']('fdisk -l')
277900          __salt__['network.ip_addrs']()
277901
277902       NOTE:
277903          When used in runners or outputters, __salt__ references  other  run‐
277904          ner/outputter modules, and not execution modules.
277905
277906   __grains__
277907       Filled  in  for:  Execution,  Pillar,  Renderer, Returner, SSH Wrapper,
277908       State.
277909
277910       The __grains__ dictionary contains the grains  data  generated  by  the
277911       minion that is currently being worked with. In execution modules, state
277912       modules and returners this is the grains  of  the  minion  running  the
277913       calls, when generating the external pillar the __grains__ is the grains
277914       data from the minion that the pillar is being generated for.
277915
277916       While __grains__ is defined for every module, it's only filled  in  for
277917       some.
277918
277919   __pillar__
277920       Filled in for: Execution, Renderer, Returner, SSH Wrapper, State
277921
277922       The  __pillar__  dictionary contains the pillar for the respective min‐
277923       ion.
277924
277925       While __pillar__ is defined for every module, it's only filled  in  for
277926       some.
277927
277928   __ext_pillar__
277929       Filled in for: Pillar
277930
277931       The __ext_pillar__ dictionary contains the external pillar modules.
277932
277933   __context__
277934       During  a  state  run  the  __context__  dictionary persists across all
277935       states that are run and then is destroyed when the state ends.
277936
277937       When running an execution module __context__ persists across all module
277938       executions   until   the   modules   are   refreshed;   such   as  when
277939       saltutil.sync_all or state.apply are executed.
277940
277941       A great place to see how to use __context__ is in the cp.py  module  in
277942       salt/modules/cp.py.  The  fileclient authenticates with the master when
277943       it is instantiated and then is used to copy files to the minion. Rather
277944       than  create  a new fileclient for each file that is to be copied down,
277945       one instance of the fileclient is instantiated in the __context__  dic‐
277946       tionary  and is reused for each file. Here is an example from salt/mod‐
277947       ules/cp.py:
277948
277949          if not 'cp.fileclient' in __context__:
277950              __context__['cp.fileclient'] = salt.fileclient.get_file_client(__opts__)
277951
277952       NOTE:
277953          Because __context__ may or may not have been  destroyed,  always  be
277954          sure to check for the existence of the key in __context__ and gener‐
277955          ate the key before using it.
277956
277957   __utils__
277958       Defined in: Cloud,  Engine,  Execution,  File  Server,  Grain,  Pillar,
277959       Proxy, Roster, Runner, SDB, State
277960
277961   __proxy__
277962       Defined  in:  Beacon,  Engine,  Execution,  Executor,  Proxy, Renderer,
277963       Returner, State, Util
277964
277965   __runner__
277966       Defined in: Engine, Roster, Thorium
277967
277968       NOTE:
277969          When used in engines, it should be called __runners__ (plural)
277970
277971   __executors__
277972       Defined in: Executor
277973
277974   __ret__
277975       Defined in: Proxy
277976
277977   __thorium__
277978       Defined in: Thorium
277979
277980   __states__
277981       Defined in: Renderers, State
277982
277983   __serializers__
277984       Defined in: State
277985
277986   __sdb__
277987       Defined in: SDB
277988
277989   Additional Globals
277990       Defined for: Runners, Execution Modules, Wheels
277991
277992       · __jid__: The job ID
277993
277994       · __user__: The user
277995
277996       · __tag__: The jid tag
277997
277998       · __jid_event__: A salt.utils.event.NamespacedEvent.
277999
278000       NamespacedEvent defines a single method fire_event, that takes data and
278001       tag. The Runner docs has examples.
278002
278003   Configuration Options
278004       A  number of configuration options can affect the load process. This is
278005       a quick list of them:
278006
278007       · autoload_dynamic_modules (Minion)
278008
278009       · cython_enable (Minion, Master)
278010
278011       · disable_modules (Minion)
278012
278013       · disable_returners (Minion)
278014
278015       · enable_zip_modules (Minion)
278016
278017       · extension_modules (Master)
278018
278019       · extmod_whitelist (Minion, Master)
278020
278021       · extmod_blacklist (Minion, Master)
278022
278023       · whitelist_modules (Minion)
278024
278025       · grains_dirs (Minion)
278026
278027       · module_dirs (Minion, Master)
278028
278029       · outputter_dirs (Minion, Master)
278030
278031       · providers (Minion)
278032
278033       · render_dirs (Minion)
278034
278035       · returner_dirs (Minion)
278036
278037       · runner_dirs (Master)
278038
278039       · states_dirs (Minion)
278040
278041       · utils_dirs (Minion)
278042
278043   Loading Modules
278044       Modules come primarily from several sources:
278045
278046       · The Salt package itself
278047
278048       · The Salt File Server
278049
278050       · The extmods directory
278051
278052       · Secondary packages installed
278053
278054       Using one source to override another is not supported.
278055
278056   The Salt Package
278057       Salt itself ships with a large number of modules. These are part of the
278058       Salt  package  itself  and don't require the user to do anything to use
278059       them. (Although a number of them have  additional  dependencies  and/or
278060       configuration.)
278061
278062   The Salt File Server
278063       The  user may add modules by simply placing them in special directories
278064       in their fileserver.
278065
278066       The name of the directory inside of the file server  is  the  directory
278067       name prepended by underscore, such as:
278068
278069       · _grains
278070
278071       · _modules
278072
278073       · _states
278074
278075       Modules  must  be synced before they can be used. This can happen a few
278076       ways, discussed below.
278077
278078       NOTE:
278079          Using saltenvs besides base may not work in all contexts.
278080
278081   Sync Via States
278082       The minion configuration contains  an  option  autoload_dynamic_modules
278083       which  defaults to True. This option makes the state system refresh all
278084       dynamic modules when states are  run.  To  disable  this  behavior  set
278085       autoload_dynamic_modules to False in the minion config.
278086
278087       When  dynamic  modules  are  autoloaded  via  states,  only the modules
278088       defined in the same saltenvs as the states currently being run.
278089
278090       Also it is possible to use the explicit saltutil.sync_* state functions
278091       to  sync the modules (previously it was necessary to use the module.run
278092       state):
278093
278094   Sync Via the saltutil Module
278095       The saltutil module has a number of functions that can be used to  sync
278096       all  or  specific  dynamic modules. The saltutil.sync_* execution func‐
278097       tions and runner functions can be used to sync modules to  minions  and
278098       the master, respectively.
278099
278100   The extmods Directory
278101       Any  files  places  in  the directory set by extension_modules settings
278102       (minion, master, default /var/cache/salt/*/extmods) can also be  loaded
278103       as   modules.  Note  that  these  directories  are  also  used  by  the
278104       saltutil.sync_* functions (mentioned above) and files may be  overwrit‐
278105       ten.
278106
278107   Secondary Packages
278108       Third-party packages may also add modules to Salt if they are installed
278109       in the same system and Python environment as the Salt Minion or Master.
278110
278111       This is done via setuptools entry points:
278112
278113          setup(
278114              # ...
278115              entry_points={
278116                  'salt.loader': [
278117                      'module_dirs=spirofs.loader:module',
278118                  ],
278119              },
278120              # ...
278121          )
278122
278123       Note that these are not synced from the Salt  Master  to  the  Minions.
278124       They must be installed independently on each Minion.
278125
278126   Module Types
278127       The  specific  names  used by each loading method above are as follows.
278128       See sections below for a short summary of each of these systems.
278129
278130     ┌─────────────┬───────────────────────┬─────────────────┬──────────────────┐
278131     │Module Type  │ Salt     Package      │ FS/Directory    │ Entry Point      │
278132     │             │ Name                  │ Name            │                  │
278133     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278134     │Auth         │ salt.auth             auth [1]        │ auth_dirs        
278135     │             │ (index)               │                 │                  │
278136     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278137     │Beacon       │ salt.beacons          beacons         beacons_dirs     
278138     │             │ (index)               │                 │                  │
278139     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278140     │Cache        │ salt.cache            cache           cache_dirs       
278141     │             │ (index)               │                 │                  │
278142     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278143     │Cloud        │ salt.cloud.clouds     clouds          cloud_dirs       
278144     │             │ (index)               │                 │                  │
278145     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278146     │Engine       │ salt.engines          engines         engines_dirs     
278147     │             │ (index)               │                 │                  │
278148     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278149     │Execution    │ salt.modules          modules         module_dirs      
278150     │             │ (index)               │                 │                  │
278151     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278152     │Executor     │ salt.executors        executors       executor_dirs    
278153     │             │ (index)               │                 │                  │
278154     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278155     │File Server  │ salt.fileserver       fileserver      fileserver_dirs  
278156     │             │ (index)               │                 │                  │
278157     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278158     │Grain        │ salt.grains           grains          grains_dirs      
278159     │             │ (index)               │                 │                  │
278160     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278161     │Log Handler  │ salt.log.handlers     log_handlers    log_han‐         
278162     │             │ (index)               │                 │ dlers_dirs       
278163     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278164     │Matcher      │ salt.matchers         matchers        matchers_dirs    
278165     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278166     │Metaproxy    │ salt.metaproxy        metaproxy [1]   │ metaproxy_dirs   
278167     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278168     │Net API      │ salt.netapi           netapi [1]      │ netapi_dirs      
278169     │             │ (index)               │                 │                  │
278170     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278171     │Outputter    │ salt.output           output          outputter_dirs   
278172     │             │ (index)               │                 │                  │
278173     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278174     │Pillar       │ salt.pillar           pillar          pillar_dirs      
278175     │             │ (index)               │                 │                  │
278176     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278177     │Proxy        │ salt.proxy            proxy           proxy_dirs       
278178     │             │ (index)               │                 │                  │
278179     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278180     │Queue        │ salt.queues           queues          queue_dirs       
278181     │             │ (index)               │                 │                  │
278182     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278183     │Renderer     │ salt.renderers        renderers       render_dirs      
278184     │             │ (index)               │                 │                  │
278185     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278186     │Returner     │ salt.returners        returners       returner_dirs    
278187     │             │ (index)               │                 │                  │
278188     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278189     │Roster       │ salt.roster           roster          roster_dirs      
278190     │             │ (index)               │                 │                  │
278191     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278192     │Runner       │ salt.runners          runners         runner_dirs      
278193     │             │ (index)               │                 │                  │
278194     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278195     │SDB          │ salt.sdb (index)      │ sdb             sdb_dirs         
278196     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278197     │Serializer   │ salt.serializers      serializers [1] │ serializers_dirs 
278198     │             │ (index)               │                 │                  │
278199     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278200     │SPM pkgdb    │ salt.spm.pkgdb        pkgdb [1]       │ pkgdb_dirs       
278201     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278202     │SPM pkgfiles │ salt.spm.pkgfiles     pkgfiles [1]    │ pkgfiles_dirs    
278203     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278204     │SSH Wrapper  │ salt.client.ssh.wrap‐ wrapper [1]     │ wrapper_dirs     
278205     │             │ per                   │                 │                  │
278206     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278207     │State        │ salt.states (index)   │ states          states_dirs      
278208     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278209     │Thorium      │ salt.thorium (index)  │ thorium         thorium_dirs     
278210     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278211     │Tokens       │ salt.tokens           tokens          tokens_dirs      
278212     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278213     │Top          │ salt.tops (index)     │ tops            top_dirs         
278214     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278215     │Util         │ salt.utils            utils           utils_dirs       
278216     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
278217     │Wheel        │ salt.wheels (index)   │ wheel           wheel_dirs       
278218     └─────────────┴───────────────────────┴─────────────────┴──────────────────┘
278219
278220       [1]  These modules cannot be loaded from the Salt File Server.
278221
278222            NOTE:
278223          While it is possible to import  modules  directly  with  the  import
278224          statement,  it  is  strongly recommended that the appropriate dunder
278225          dictionary is used to access them instead. This is because a  number
278226          of  factors  affect module names, module selection, and module over‐
278227          loading.
278228
278229   Auth
278230       The auth module system allows for external authentication  routines  to
278231       be easily added into Salt. The auth function needs to be implemented to
278232       satisfy the requirements of an auth module. Use the pam  module  as  an
278233       example.
278234
278235       See  External  Authentication  System  for more about authentication in
278236       Salt.
278237
278238   Beacon
278239       · Writing Beacons
278240
278241       Beacons are polled by the Salt event  loop  to  monitor  non-salt  pro‐
278242       cesses. See Beacons for more information about the beacon system.
278243
278244   Cache
278245       The  minion  cache  is  used by the master to store various information
278246       about minions. See Minion Data Cache for more information.
278247
278248   Cloud
278249       Cloud modules are backend implementations used by Salt Cloud.
278250
278251   Engine
278252       Engines are open-ended services managed by the Salt daemon (both master
278253       and  minion). They may interact with event loop, call other modules, or
278254       a variety of non-salt tasks. See Salt Engines for complete details.
278255
278256   Execution
278257       Execution modules make up the core of the functionality used by Salt to
278258       interact  with  client  systems.  The execution modules create the core
278259       system management library used by all Salt systems,  including  states,
278260       which interact with minion systems.
278261
278262       Execution  modules  are  completely open ended in their execution. They
278263       can be used to do anything required on a minion, from installing  pack‐
278264       ages  to  detecting information about the system. The only restraint in
278265       execution modules is that the defined functions always  return  a  JSON
278266       serializable object.
278267
278268   Executor
278269       Executors  control  how execution modules get called. The default is to
278270       just call them, but this can be customized.
278271
278272   File Server
278273       The file server module system is used to create  file  server  backends
278274       used  by the Salt Master. These modules need to implement the functions
278275       used in the fileserver subsystem. Use the gitfs module as an example.
278276
278277       See File Server Backends for more information.
278278
278279   Grains
278280       · writing-grains
278281
278282       Grain modules define  extra  routines  to  populate  grains  data.  All
278283       defined public functions will be executed and MUST return a Python dict
278284       object. The dict keys will be added to the grains made available to the
278285       minion.
278286
278287       See Grains for more.
278288
278289   Log Handler
278290       Log handlers allows the logs from salt (master or minion) to be sent to
278291       log aggregation systems.
278292
278293   Matcher
278294       Matcher modules are used to define the  minion  targeting  expressions.
278295       For  now,  it  is  only possible to override the existing matchers (the
278296       required CLI plumbing for custom matchers is not implemented yet).
278297
278298   Metaproxy
278299       Metaproxy is an abstraction layer above the existing proxy  minion.  It
278300       enables  adding  different  types  of proxy minions that can still load
278301       existing proxymodules.
278302
278303   Net API
278304       Net API modules are the actual server implementation used by Salt API.
278305
278306   Output
278307       The output modules supply the outputter system with routines to display
278308       data  in  the  terminal. These modules are very simple and only require
278309       the output function to execute. The default  system  outputter  is  the
278310       nested module.
278311
278312   Pillar
278313   External Pillars
278314       Salt  provides a mechanism for generating pillar data by calling exter‐
278315       nal pillar interfaces. This document will describe  an  outline  of  an
278316       ext_pillar module.
278317
278318   Location
278319       Salt  expects to find your ext_pillar module in the same location where
278320       it looks for other python modules. If the extension_modules  option  in
278321       your  Salt  master  configuration  is  set, Salt will look for a pillar
278322       directory under there and load all the modules it finds. Otherwise,  it
278323       will look in your Python site-packages salt/pillar directory.
278324
278325   Configuration
278326       The  external  pillars that are called when a minion refreshes its pil‐
278327       lars is controlled by the ext_pillar option in the Salt master configu‐
278328       ration.  You  can pass a single argument, a list of arguments or a dic‐
278329       tionary of arguments to your pillar:
278330
278331          ext_pillar:
278332            - example_a: some argument
278333            - example_b:
278334              - argumentA
278335              - argumentB
278336            - example_c:
278337                keyA: valueA
278338                keyB: valueB
278339
278340   The Module
278341   Imports and Logging
278342       Import modules your external pillar  module  needs.  You  should  first
278343       include generic modules that come with stock Python:
278344
278345          import logging
278346
278347       And  then start logging. This is an idiomatic way of setting up logging
278348       in Salt:
278349
278350          log = logging.getLogger(__name__)
278351
278352       Finally, load modules that are specific to  what  you  are  doing.  You
278353       should catch import errors and set a flag that the __virtual__ function
278354       can use later.
278355
278356          try:
278357              import weird_thing
278358              EXAMPLE_A_LOADED = True
278359          except ImportError:
278360              EXAMPLE_A_LOADED = False
278361
278362   Options
278363       If you define an __opts__  dictionary,  it  will  be  merged  into  the
278364       __opts__  dictionary handed to the ext_pillar function later. This is a
278365       good place to put default configuration items.  The  convention  is  to
278366       name things modulename.option.
278367
278368          __opts__ = { 'example_a.someconfig': 137 }
278369
278370   Initialization
278371       If  you define an __init__ function, it will be called with the follow‐
278372       ing signature:
278373
278374          def __init__( __opts__ ):
278375              # Do init work here
278376
278377       Note: The __init__ function is  ran  every  time  a  particular  minion
278378       causes the external pillar to be called, so don't put heavy initializa‐
278379       tion code here.  The __init__ functionality is  a  side-effect  of  the
278380       Salt  loader,  so  it may not be as useful in pillars as it is in other
278381       Salt items.
278382
278383   __virtual__
278384       If you define a __virtual__ function, you can control  whether  or  not
278385       this module is visible. If it returns False then Salt ignores this mod‐
278386       ule. If it returns a string, then that string will be how Salt  identi‐
278387       fies  this  external  pillar in its ext_pillar configuration. If you're
278388       not renaming the module, simply return True in  the  __virtual__  func‐
278389       tion,  which  is  the same as if this function did not exist, then, the
278390       name Salt's ext_pillar will use to identify this module is its  conven‐
278391       tional name in Python.
278392
278393       This  is useful to write modules that can be installed on all Salt mas‐
278394       ters, but will only be visible if a particular piece of  software  your
278395       module requires is installed.
278396
278397          # This external pillar will be known as `example_a`
278398          def __virtual__():
278399              if EXAMPLE_A_LOADED:
278400                  return True
278401              return False
278402
278403          # This external pillar will be known as `something_else`
278404          __virtualname__ = 'something_else'
278405
278406          def __virtual__():
278407              if EXAMPLE_A_LOADED:
278408                  return __virtualname__
278409              return False
278410
278411   ext_pillar
278412       This is where the real work of an external pillar is done. If this mod‐
278413       ule is active and has a function called ext_pillar, whenever  a  minion
278414       updates its pillar this function is called.
278415
278416       How  it  is  called  depends on how it is configured in the Salt master
278417       configuration. The first argument is always the current pillar  dictio‐
278418       nary, this contains pillar items that have already been added, starting
278419       with the data from pillar_roots, and then from any already-ran external
278420       pillars.
278421
278422       Using our example above:
278423
278424          ext_pillar( id, pillar, 'some argument' )                   # example_a
278425          ext_pillar( id, pillar, 'argumentA', 'argumentB' )          # example_b
278426          ext_pillar( id, pillar, keyA='valueA', keyB='valueB' )    # example_c
278427
278428       In  the  example_a  case,  pillar  will contain the items from the pil‐
278429       lar_roots, in example_b pillar  will contain that plus the items  added
278430       by  example_a, and in example_c pillar will contain that plus the items
278431       added by example_b. In all three cases, id will contain the ID  of  the
278432       minion making the pillar request.
278433
278434       This  function  should  return  a dictionary, the contents of which are
278435       merged in with all of the other pillars and  returned  to  the  minion.
278436       Note:  this  function  is  called once for each minion that fetches its
278437       pillar data.
278438
278439          def ext_pillar( minion_id, pillar, *args, **kwargs ):
278440
278441              my_pillar = {'external_pillar': {}}
278442
278443              my_pillar['external_pillar'] = get_external_pillar_dictionary()
278444
278445              return my_pillar
278446
278447       You can call pillar with the dictionary's  top  name  to  retrieve  its
278448       data.   From  above  example,  'external_pillar'  is the top dictionary
278449       name. Therefore:
278450
278451          salt '*' pillar.get external_pillar
278452
278453       You shouldn't just add items to pillar and return that, since that will
278454       cause  Salt  to merge data that already exists. Rather, just return the
278455       items you are adding or changing. You could,  however,  use  pillar  in
278456       your  module  to  make  some decision based on pillar data that already
278457       exists.
278458
278459       This function has access to some useful globals:
278460
278461       __opts__
278462              A dictionary of mostly Salt configuration options. If you had an
278463              __opts__ dictionary defined in your module, those values will be
278464              included.
278465
278466       __salt__
278467              A dictionary of Salt module functions, useful so you don't  have
278468              to    duplicate    functions    that    already    exist.   E.g.
278469              __salt__['cmd.run']( 'ls -l' ) Note, runs on the master
278470
278471       __grains__
278472              A dictionary of the grains of  the  minion  making  this  pillar
278473              call.
278474
278475   Example configuration
278476       As  an  example,  if you wanted to add external pillar via the cmd_json
278477       external pillar, add something like this to your master config:
278478
278479          ext_pillar:
278480            - cmd_json: 'echo {\"arg\":\"value\"}'
278481
278482   Reminder
278483       Just as with traditional pillars, external pillars must be refreshed in
278484       order for minions to see any fresh data:
278485
278486          salt '*' saltutil.refresh_pillar
278487
278488       Used  to  define optional external pillar systems. The pillar generated
278489       via the filesystem pillar is passed into external pillars. This is com‐
278490       monly  used  as  a  bridge to database data for pillar, but is also the
278491       backend to the libvirt state used to generate and sign libvirt certifi‐
278492       cates on the fly.
278493
278494   Proxy
278495       Proxy Minions are a way to manage devices that cannot run a full minion
278496       directly.
278497
278498   Renderers
278499       Renderers are the system used to render sls files  into  salt  highdata
278500       for the state compiler. They can be as simple as the py renderer and as
278501       complex as stateconf and pydsl.
278502
278503   Returners
278504       Returners are used to send data from minions to external sources,  com‐
278505       monly databases. A full returner will implement all routines to be sup‐
278506       ported as an external job cache. Use the redis returner as an example.
278507
278508   Roster
278509       The Roster system is used by Salt SSH to enumerate devices.
278510
278511   Runners
278512       Runners are purely master-side execution sequences.
278513
278514   SDB
278515       · Writing SDB Modules
278516
278517       SDB is a way to store data that's not associated  with  a  minion.  See
278518       Storing Data in Other Databases.
278519
278520   Serializer
278521       Primarily used with file.serialize.
278522
278523   State
278524       State  modules  are  used  to  define the state interfaces used by Salt
278525       States.  These modules are restrictive in that they must follow a  num‐
278526       ber of rules to function properly.
278527
278528       NOTE:
278529          State modules define the available routines in sls files. If calling
278530          an execution module directly is desired, take a look at  the  module
278531          state.
278532
278533   SPM pkgdb
278534       · SPM Development Guide: Package Database
278535
278536       pkgdb modules provides storage backends to the package database.
278537
278538   SPM pkgfiles
278539       · SPM Development Guide: Package Database
278540
278541       pkgfiles modules handle the actual installation.
278542
278543   SSH Wrapper
278544       Replacement execution modules for Salt SSH.
278545
278546   Thorium
278547       Modules for use in the Thorium event reactor.
278548
278549   Tokens
278550       Token stores for External Authentication. See the salt.tokens docstring
278551       for details.
278552
278553       NOTE:
278554          The runner to load tokens modules is saltutil.sync_eauth_tokens.
278555
278556   Tops
278557       Tops modules are used to convert external data sources  into  top  file
278558       data for the state system.
278559
278560   Util
278561       Just  utility modules to use with other modules via __utils__ (see Dun‐
278562       der Dictionaries).
278563
278564   Wheel
278565       The wheel system is used to manage  master  side  management  routines.
278566       These routines are primarily intended for the API to enable master con‐
278567       figuration.
278568
278569   Salt Extend
278570       salt-extend is a templating tool for  extending  SaltStack.  If  you're
278571       looking  to add a module to SaltStack, then the salt-extend utility can
278572       guide you through the process.
278573
278574       You can use Salt Extend to quickly create templated modules for  adding
278575       new behaviours to some of the module subsystems within Salt.
278576
278577       Salt  Extend  takes a template directory and merges it into a SaltStack
278578       source code directory.
278579
278580   Command line usage
278581       See salt-extend
278582
278583   Choosing a template
278584       The following templates are available:
278585
278586   module
278587       Creates a new execution module within salt/modules/{{module_name}}.py
278588
278589   module_unit
278590       Creates a new execution module unit test suite  within  tests/unit/mod‐
278591       ules/test_{{module_name}}.py
278592
278593   state
278594       Creates a new state module within salt/states/{{module_name}}.py
278595
278596   state_unit
278597       Creates    a    new    state    module    unit    test   suite   within
278598       tests/unit/states/test_{{module_name}}.py
278599
278600   Adding templates
278601       1. Create a directory under <src>/templates
278602
278603       2. Create a file template.yml containing properties for
278604
278605          · description - a description of the template
278606
278607          · questions - a collection of additional questions to ask the  user,
278608            the  name  of the item will be used as the key in the context dic‐
278609            tionary within the jinja template.
278610
278611            · question - The question to ask the user, as a string
278612
278613            · default - (optional) the default value, can contain Jinja2  tem‐
278614              plate syntax and has access to the default context properties
278615
278616   Example template.yml
278617          description: "Execution module"
278618          questions:
278619              depending_libraries:
278620                  question: "What libraries does this module depend upon?"
278621              virtual_name:
278622                  question: "What module virtual name to use?"
278623                  default: "{{module_name}}"
278624
278625       3. Create the files within <src>/templates/<your template> to match the
278626          target
278627
278628       NOTE:
278629          File names  can  contain  Jinja  2  template  syntax,  e.g.  '{{mod‐
278630          ule_name}}.py}}'
278631
278632   Example file in the template directory
278633          print('Hello {{module_name}}')
278634          __virtual__ = '{{__virtual_name__}}'
278635
278636   Default context properties
278637       The default context provides the following properties
278638
278639       · description - A description of the template
278640
278641       · short_description  -  A short description of the module as entered by
278642         the user
278643
278644       · version - The version name of the next release
278645
278646       · module_name - The module name as entered by the user
278647
278648       · release_date - The current date in the format YYYY-MM-DD
278649
278650       · year - The current year in the format YYYY
278651
278652       As well as any additional properties entered from the questions section
278653       of template.yml
278654
278655   API
278656   salt.utils.extend module
278657   SaltStack Extend
278658       A templating tool for extending SaltStack.
278659
278660       Takes  a  template directory and merges it into a SaltStack source code
278661       directory. This tool uses Jinja2 for templating.
278662
278663       This tool is accessed using salt-extend
278664
278665          codeauthor
278666                 Anthony Shaw <anthonyshaw@apache.org>
278667
278668       salt.utils.extend.apply_template(template_dir, output_dir, context)
278669              Apply the template from the template  directory  to  the  output
278670              using the supplied context dict.
278671
278672              Parameters
278673
278674                     · src (str) -- The source path
278675
278676                     · dst (str) -- The destination path
278677
278678                     · context  (dict)  --  The  dictionary to inject into the
278679                       Jinja template as context
278680
278681       salt.utils.extend.run(extension=None,   name=None,    description=None,
278682       salt_dir=None, merge=False, temp_dir=None)
278683              A template factory for extending the salt ecosystem
278684
278685              Parameters
278686
278687                     · extension  (str)  -- The extension type, e.g. 'module',
278688                       'state', if omitted, user will be prompted
278689
278690                     · name (str) -- Python-friendly name for the  module,  if
278691                       omitted, user will be prompted
278692
278693                     · description (str) -- A description of the extension, if
278694                       omitted, user will be prompted
278695
278696                     · salt_dir (str) -- The targeted Salt source directory
278697
278698                     · merge (bool) -- Merge with  salt  directory,  False  to
278699                       keep separate, True to merge trees.
278700
278701                     · temp_dir  (str) -- The directory for generated code, if
278702                       omitted, system temp will be used
278703
278704   Salt's Test Suite
278705       Salt comes with a powerful integration and unit test suite allowing for
278706       the  fully automated run of integration and/or unit tests from a single
278707       interface.
278708
278709       To learn the basics of how Salt's test suite works, be  sure  to  check
278710       out the Salt's Test Suite: An Introduction tutorial.
278711
278712   Test Directory Structure
278713       Salt's  test  suite  is  located  in the tests directory in the root of
278714       Salt's codebase. The test suite is divided into two main groups:
278715
278716       · Integration Tests
278717
278718       · Unit Tests
278719
278720       Within each of these groups, the directory  structure  roughly  mirrors
278721       the structure of Salt's own codebase. Notice that there are directories
278722       for states, modules, runners, output, and more in each testing group.
278723
278724       The files that are housed in the modules directory of either  the  unit
278725       or  the  integration testing factions contain respective integration or
278726       unit test files for Salt execution modules.
278727
278728       NOTE:
278729          Salt's test framework provides for the  option  to  only  run  tests
278730          which  correspond  to  a  given  file  (or  set  of  files), via the
278731          --from-filenames argument to runtests.py:
278732
278733              python /path/to/runtests.py --from-filenames=salt/modules/foo.py
278734
278735          Therefore, where possible, test files should be named to  match  the
278736          source  files  they are testing. For example, when writing tests for
278737          salt/modules/foo.py,  unit  tests  should  go  into  tests/unit/mod‐
278738          ules/test_foo.py,  and  integration tests should go into tests/inte‐
278739          gration/modules/test_foo.py.
278740
278741          However, integration  tests  are  organized  differently  from  unit
278742          tests,  and  this  may  not  always be plausible. In these cases, to
278743          ensure that the proper tests are run for these files, they  must  be
278744          mapped in tests/filename_map.yml.
278745
278746          The filename map is used to supplement the test framework's filename
278747          matching logic. This allows one to ensure that  states  correspnding
278748          to  an  execution  module  are  also  tested  when  --from-filenames
278749          includes that execution module. It can also be used for those  cases
278750          where  the  path  to  a test file doesn't correspond directly to the
278751          file which is being tested (e.g. the shell, spm, and ssh integration
278752          tests, among others).  Both glob expressions and regular expressions
278753          are permitted in the filename map.
278754
278755          IMPORTANT:
278756              Test modules which don't map directly to the  source  file  they
278757              are  testing (using the naming convention described above), must
278758              be added to the ignore tuple in tests/unit/test_module_names.py,
278759              in  the  test_module_name_source_match  function. This unit test
278760              ensures that we maintain the naming convention for test files.
278761
278762   Integration Tests
278763       The Integration section of Salt's test suite start up a number of  Salt
278764       daemons  to  test  functionality  in  a live environment. These daemons
278765       include two Salt Masters, one Syndic, and two Minions. This allows  the
278766       Syndic  interface  to  be  tested and Master/Minion communication to be
278767       verified. All of the integration tests are executed as live  Salt  com‐
278768       mands sent through the started daemons.
278769
278770       Integration tests are particularly good at testing modules, states, and
278771       shell commands, among other segments of Salt's ecosystem. By  utilizing
278772       the integration test daemons, integration tests are easy to write. They
278773       are also SaltStack's generally preferred method of adding new tests.
278774
278775       The discussion in the Integration vs. Unit section of the testing tuto‐
278776       rial  is beneficial in learning why you might want to write integration
278777       tests vs. unit tests. Both testing arenas  add  value  to  Salt's  test
278778       suite  and  you  should consider adding both types of tests if possible
278779       and appropriate when contributing to Salt.
278780
278781       · Integration Test Documentation
278782
278783   Unit Tests
278784       Unit tests do not spin up any Salt  daemons,  but  instead  find  their
278785       value  in  testing  singular  implementations  of individual functions.
278786       Instead of testing against specific interactions, unit tests should  be
278787       used  to test a function's logic as well as any return or raises state‐
278788       ments.  Unit tests also rely heavily on mocking external resources.
278789
278790       The discussion in the Integration vs. Unit section of the testing tuto‐
278791       rial  is  useful  in  determining when you should consider writing unit
278792       tests instead of, or in addition to, integration tests when  contribut‐
278793       ing to Salt.
278794
278795       · Unit Test Documentation
278796
278797   Running The Tests
278798       There  are requirements, in addition to Salt's requirements, which need
278799       to be installed in order to run the test  suite.  Install  one  of  the
278800       lines below, depending on the relevant Python version:
278801
278802          pip install -r requirements/dev_python27.txt
278803          pip install -r requirements/dev_python34.txt
278804
278805       To  be  able  to run integration tests which utilizes ZeroMQ transport,
278806       you also need to install additional requirements for it. Make sure  you
278807       have  installed the C/C++ compiler and development libraries and header
278808       files needed for your Python version.
278809
278810       This is an example for RedHat-based operating systems:
278811
278812          yum install gcc gcc-c++ python-devel
278813          pip install -r requirements/zeromq.txt
278814
278815       On Debian, Ubuntu or their derivatives run the following commands:
278816
278817          apt-get install build-essential python-dev
278818          pip install -r requirements/zeromq.txt
278819
278820       This will install the latest pycrypto and pyzmq (with  bundled  libzmq)
278821       Python modules required for running integration tests suite.
278822
278823       Once  all requirements are installed, use runtests.py script to run all
278824       of the tests included in Salt's test suite:
278825
278826          python tests/runtests.py
278827
278828       For more information about options you can pass the  test  runner,  see
278829       the --help option:
278830
278831          python tests/runtests.py --help
278832
278833       An alternative way of invoking the test suite is available in setup.py:
278834
278835          ./setup.py test
278836
278837   Running Test Subsections
278838       Instead  of running the entire test suite all at once, which can take a
278839       long time, there are several ways to run only specific groups of  tests
278840       or individual tests:
278841
278842       · Run unit tests only: python tests/runtests.py --unit-tests
278843
278844       · Run  unit  and integration tests for states: python tests/runtests.py
278845         --state
278846
278847       · Run   integration   tests   for   an   individual   module:    python
278848         tests/runtests.py -n integration.modules.virt
278849
278850       · Run  unit tests for an individual module: python tests/runtests.py -n
278851         unit.modules.virt_test
278852
278853       · Run an individual test by using the class and test name (this example
278854         is  for  the  test_default_kvm_profile  test  in the integration.mod‐
278855         ule.virt):    python    tests/runtests.py     -n     integration.mod‐
278856         ule.virt.VirtTest.test_default_kvm_profile
278857
278858       For  more  specific  examples of how to run various test subsections or
278859       individual tests, please see the Test Selection  Options  documentation
278860       or  the  Running  Specific  Tests  section of the Salt's Test Suite: An
278861       Introduction tutorial.
278862
278863   Running Unit Tests Without Integration Test Daemons
278864       Since the unit tests do not require a master or minion to  execute,  it
278865       is  often  useful  to  be  able to run unit tests individually, or as a
278866       whole group, without having to start up the  integration  testing  dae‐
278867       mons. Starting up the master, minion, and syndic daemons takes a lot of
278868       time before the tests can even start running and is unnecessary to  run
278869       unit  tests.  To  run  unit tests without invoking the integration test
278870       daemons, simply run the runtests.py script with --unit argument:
278871
278872          python tests/runtests.py --unit
278873
278874       All of the other options to run individual  tests,  entire  classes  of
278875       tests, or entire test modules still apply.
278876
278877   Running Destructive Integration Tests
278878       Salt  is  used to change the settings and behavior of systems. In order
278879       to effectively test Salt's functionality, some  integration  tests  are
278880       written  to  make  actual changes to the underlying system. These tests
278881       are referred to as "destructive tests". Some  examples  of  destructive
278882       tests  are  changes may be testing the addition of a user or installing
278883       packages. By default,  destructive  tests  are  disabled  and  will  be
278884       skipped.
278885
278886       Generally,  destructive  tests  should  clean  up  after  themselves by
278887       attempting to restore the system to its original state.  For  instance,
278888       if  a  new  user  is  created during a test, the user should be deleted
278889       after the related test(s) have completed. However,  no  guarantees  are
278890       made  that test clean-up will complete successfully. Therefore, running
278891       destructive tests should be done with caution.
278892
278893       NOTE:
278894          Running destructive tests will change the  underlying  system.   Use
278895          caution when running destructive tests.
278896
278897       To run tests marked as destructive, set the --run-destructive flag:
278898
278899          python tests/runtests.py --run-destructive
278900
278901   Running Cloud Provider Tests
278902       Salt's testing suite also includes integration tests to assess the suc‐
278903       cessful creation and deletion of cloud instances using  Salt-Cloud  for
278904       providers supported by Salt-Cloud.
278905
278906       The  cloud provider tests are off by default and run on sample configu‐
278907       ration         files         provided         in         tests/integra‐
278908       tion/files/conf/cloud.providers.d/.  In order to run the cloud provider
278909       tests, valid credentials, which differ per provider, must be  supplied.
278910       Each  credential  item  that  must be supplied is indicated by an empty
278911       string value and should be edited by the user before running the tests.
278912       For example, DigitalOcean requires a client key and an api key to oper‐
278913       ate. Therefore, the default cloud provider configuration file for Digi‐
278914       talOcean looks like this:
278915
278916          digitalocean-config:
278917            driver: digitalocean
278918            client_key: ''
278919            api_key: ''
278920            location: New York 1
278921
278922       As indicated by the empty string values, the client_key and the api_key
278923       must be provided:
278924
278925          digitalocean-config:
278926            driver: digitalocean
278927            client_key: wFGEwgregeqw3435gDger
278928            api_key: GDE43t43REGTrkilg43934t34qT43t4dgegerGEgg
278929            location: New York 1
278930
278931       NOTE:
278932          When providing credential information in cloud  provider  configura‐
278933          tion files, do not include the single quotes.
278934
278935       Once all of the valid credentials for the cloud provider have been sup‐
278936       plied,  the  cloud  provider  tests  can  be   run   by   setting   the
278937       --cloud-provider-tests flag:
278938
278939          ./tests/runtests.py --cloud-provider-tests
278940
278941   Running The Tests In A Docker Container
278942       The  test  suite  can  be  executed  under a docker container using the
278943       --docked option flag. The docker container must be properly  configured
278944       on  the system invoking the tests and the container must have access to
278945       the internet.
278946
278947       Here's a simple usage example:
278948
278949          python tests/runtests.py --docked=ubuntu-12.04 -v
278950
278951       The full docker container repository can also be provided:
278952
278953          python tests/runtests.py --docked=salttest/ubuntu-12.04 -v
278954
278955       The SaltStack team is creating some containers which will have the nec‐
278956       essary  dependencies  pre-installed.  Running  the test suite on a con‐
278957       tainer allows destructive tests to run without making  changes  to  the
278958       main  system.  It  also enables the test suite to run under a different
278959       distribution than the one the main system is currently using.
278960
278961       The current list of test suite images is on Salt's docker repository.
278962
278963       Custom docker containers can be provided by submitting a  pull  request
278964       against Salt's docker Salt test containers repository.
278965
278966   Automated Test Runs
278967       SaltStack  maintains  a  Jenkins  server  to allow for the execution of
278968       tests across supported platforms. The tests executed from Salt's  Jenk‐
278969       ins  server  create fresh virtual machines for each test run, then exe‐
278970       cute destructive tests on the new, clean virtual machine.
278971
278972       SaltStack's Jenkins server continuously runs  the  entire  test  suite,
278973       including destructive tests, on an array of various supported operating
278974       systems throughout the day. Each actively supported  branch  of  Salt's
278975       repository runs the tests located in the respective branch's code. Each
278976       set of branch tests also includes a pylint run. These branch tests help
278977       ensure  the  viability  of Salt code at any given point in time as pull
278978       requests are merged into branches throughout the day.
278979
278980       In addition to branch tests, SaltStack's Jenkins server also runs tests
278981       on  pull  requests.  These  pull request tests include a smaller set of
278982       virtual machines that run on the branch tests. The pull request  tests,
278983       like the branch tests, include a pylint test as well.
278984
278985       When  a  pull  request is submitted to Salt's repository on GitHub, the
278986       suite of pull request tests are started by  Jenkins.  These  tests  are
278987       used  to  gauge the pull request's viability to merge into Salt's code‐
278988       base. If these initial tests pass, the pull  request  can  then  merged
278989       into  the  Salt  branch by one of Salt's core developers, pending their
278990       discretion. If the initial tests  fail,  core  developers  may  request
278991       changes to the pull request. If the failure is unrelated to the changes
278992       in question, core developers may merge the  pull  request  despite  the
278993       initial failure.
278994
278995       As soon as the pull request is merged, the changes will be added to the
278996       next branch test run on Jenkins.
278997
278998       For  a  full  list  of  currently  running  test  environments,  go  to
278999       http://jenkins.saltstack.com.
279000
279001   Using Salt-Cloud on Jenkins
279002       For  testing Salt on Jenkins, SaltStack uses Salt-Cloud to spin up vir‐
279003       tual machines. The script using Salt-Cloud to accomplish this  is  open
279004       source          and          can         be         found         here:
279005       https://github.com/saltstack/salt/blob/master/tests/jenkins.py
279006
279007   Writing Tests
279008       The salt testing infrastructure is divided into two classes  of  tests,
279009       integration  tests  and  unit tests. These terms may be defined differ‐
279010       ently in other contexts, but for Salt they are defined this way:
279011
279012       · Unit Test: Tests which validate  isolated  code  blocks  and  do  not
279013         require external interfaces such as salt-call or any of the salt dae‐
279014         mons.
279015
279016       · Integration Test: Tests which  validate  externally  accessible  fea‐
279017         tures.
279018
279019       Salt testing uses unittest2 from the python standard library and Magic‐
279020       Mock.
279021
279022       · Writing integration tests
279023
279024       · Writing unit tests
279025
279026   Naming Conventions
279027       Any function in either integration test files or unit test  files  that
279028       is  doing  the actual testing, such as functions containing assertions,
279029       must start with test_:
279030
279031          def test_user_present(self):
279032
279033       When functions in test files are not prepended with test_, the function
279034       acts  as a normal, helper function and is not run as a test by the test
279035       suite.
279036
279037   Submitting New Tests
279038       Which branch of the Salt codebase should new tests be written  against?
279039       The  location of where new tests should be submitted depends largely on
279040       the reason you're writing the tests.
279041
279042   Tests for New Features
279043       If you are adding new functionality to Salt, please write the tests for
279044       this  new feature in the same pull request as the new feature. New fea‐
279045       tures should always be submitted to the master branch.
279046
279047       If you have already submitted the new feature, but did not write  tests
279048       in  the original pull request that has already been merged, please feel
279049       free to submit a new pull request containing tests. If the feature  was
279050       recently  added to Salt's master branch, then the tests should be added
279051       there as well. However, if the feature was added to  master  some  time
279052       ago  and  is  already  present  in one or more release branches, please
279053       refer to the Tests for Entire Files or Functions section below for more
279054       details  about where to submit tests for functions or files that do not
279055       already have tests.
279056
279057   Tests to Accompany a Bugfix
279058       If you are writing tests for code that fixes  a  bug  in  Salt,  please
279059       write the test in the same pull request as the bugfix. If you're unsure
279060       of where to submit your bugfix and accompanying test, please review the
279061       Which Salt Branch? documentation in Salt's Contributing guide.
279062
279063   Tests for Entire Files or Functions
279064       Sometimes  entire  files  in  Salt  are completely untested. If you are
279065       writing tests for a file that doesn't have any tests  written  for  it,
279066       write your test against the earliest supported release branch that con‐
279067       tains the file or function you're testing.
279068
279069       Once your tests are submitted in a pull request and is merged into  the
279070       branch in question, the tests you wrote will be merged-forward by Salt‐
279071       Stack core engineers and the new tests  will  propagate  to  the  newer
279072       release  branches.  That way the tests you wrote will apply to all cur‐
279073       rent and relevant release branches, and not just the master branch, for
279074       example.  This  methodology  will  help  protect against regressions on
279075       older files in Salt's codebase.
279076
279077       There may be times when the tests you write  against  an  older  branch
279078       fail  in the merge-forward process because functionality has changed in
279079       newer release branches.  In these cases,  a  Salt  core  developer  may
279080       reach  out  to you for advice on the tests in question if the path for‐
279081       ward is unclear.
279082
279083       NOTE:
279084          If tests are written against a file in an older release  branch  and
279085          then merged forward, there may be new functionality in the file that
279086          is present in the new release branch that is  untested.It  would  be
279087          wise  to  see if new functionality could use additional testing once
279088          the test file has propagated to newer release branches.
279089
279090   Test Helpers
279091       Several Salt-specific helpers are available. A full list  is  available
279092       by inspecting functions exported in tests.support.helpers.
279093
279094       @expensiveTest  --  Designates  a test which typically requires a rela‐
279095       tively costly external resource, like a  cloud  virtual  machine.  This
279096       decorator  is  not normally used by developers outside of the Salt core
279097       team.
279098
279099       @destructiveTest -- Marks a test as potentially  destructive.  It  will
279100       not  be  run  by  the  test  runner unless the -run-destructive test is
279101       expressly passed.
279102
279103       @requires_network -- Requires a network  connection  for  the  test  to
279104       operate successfully. If a network connection is not detected, the test
279105       will not run.
279106
279107       @requires_salt_modules -- Requires all the modules in a list of modules
279108       in order for the test to be executed. Otherwise, the test is skipped.
279109
279110       @requires_system_grains -- Loads and passes the grains on the system as
279111       an keyword argument to the test function with the name grains.
279112
279113       @skip_if_binaries_missing(['list', 'of', 'binaries']) -- If called from
279114       inside  a  test,  the  test will be skipped if the binaries are not all
279115       present on the system.
279116
279117       @skip_if_not_root -- If the test is not executed as root,  it  will  be
279118       skipped.
279119
279120       @with_system_user  --  Creates  and  optionally  destroys a system user
279121       within  a  test  case.   See  implementation  details   in   tests.sup‐
279122       port.helpers for details.
279123
279124       @with_system_group  --  Creates  and optionally destroys a system group
279125       within  a  test  case.   See  implementation  details   in   tests.sup‐
279126       port.helpers for details.
279127
279128       @with_system_user_and_group -- Creates and optionally destroys a system
279129       user and group within a  test  case.   See  implementation  details  in
279130       tests.support.helpers for details.
279131
279132   Integration Tests
279133       The  Salt  integration  tests come with a number of classes and methods
279134       which allow for components to be easily tested. These classes are  gen‐
279135       erally inherited from and provide specific methods for hooking into the
279136       running integration test environment created by the integration tests.
279137
279138       It is noteworthy that since integration tests validate against  a  run‐
279139       ning  environment  that they are generally the preferred means to write
279140       tests.
279141
279142       The integration system is all located under  tests/integration  in  the
279143       Salt  source  tree. Each directory within tests/integration corresponds
279144       to a directory in Salt's tree structure. For example,  the  integration
279145       tests  for  the  test.py  Salt  module  that is located in salt/modules
279146       should also be named test.py and reside in tests/integration/modules.
279147
279148   Preparing to Write Integration Tests
279149       This guide assumes that your Salt development  environment  is  already
279150       configured  and  that you have a basic understanding of contributing to
279151       the Salt codebase.  If you're unfamiliar with either of  these  topics,
279152       please  refer to the Installing Salt for Development and the Contribut‐
279153       ing pages, respectively.
279154
279155       This documentation also assumes that you have an understanding  of  how
279156       to  run  Salt's test suite, including running the test subsections, and
279157       running a single integration test file, class, or individual test.
279158
279159   Best Practices
279160       Integration tests should be written to the following specifications.
279161
279162   What to Test?
279163       Since integration tests are used to validate  against  a  running  Salt
279164       environment,  integration  tests should be written with the Salt compo‐
279165       nents, and their various interactions, in mind.
279166
279167       · Isolate testing functionality. Don't rely on the pass or  failure  of
279168         other, separate tests.
279169
279170       · Individual tests should test against a single behavior.
279171
279172       · Since  it  occasionally  takes  some effort to "set up" an individual
279173         test, it may be necessary to call several functions within  a  single
279174         test.  However,  be sure that once the work has been done to set up a
279175         test, make sure you are clear about the functionality that  is  being
279176         tested.
279177
279178   Naming Conventions
279179       Test  names  and docstrings should indicate what functionality is being
279180       tested.  Test functions are named test_<fcn>_<test-name> where <fcn> is
279181       the  function being tested and <test-name> describes the behavior being
279182       tested.
279183
279184       In order for integration tests to get picked up during  a  run  of  the
279185       test  suite, each individual test must be prepended with the test_ nam‐
279186       ing syntax, as described above.
279187
279188       If a function does not start with test_, then the function  acts  as  a
279189       "normal" function and is not considered a testing function. It will not
279190       be included in the test run or testing output.
279191
279192   The setUp and tearDown Functions
279193       There are two special functions that can be utilized in the integration
279194       side  of  Salt's  test suite: setUp and tearDown. While these functions
279195       are not required in all test files, there are many examples  in  Salt's
279196       integration  test suite illustrating the broad usefulness of each func‐
279197       tion.
279198
279199       The setUp function is used to set up any  repetitive  or  useful  tasks
279200       that the tests in a test class need before running. For example, any of
279201       the mac_* integration tests should only run on macOS machines. The set‐
279202       Up  function can be used to test for the presence of the Darwin kernel.
279203       If the Darwin kernel is not present, then the test should be skipped.
279204
279205          def setUp(self):
279206              '''
279207              Sets up test requirements
279208              '''
279209              os_grain = self.run_function('grains.item', ['kernel'])
279210              if os_grain['kernel'] not in 'Darwin':
279211                  self.skipTest(
279212                      'Test not applicable to \'{kernel}\' kernel'.format(
279213                          **os_grain
279214                      )
279215                  )
279216
279217       The setUp function can be used for many things. The above code  snippet
279218       is only one example. Another example might be to ensure that a particu‐
279219       lar setting is present before running tests that would require the set‐
279220       ting.
279221
279222       The  tearDown  function is used to clean up after any tests. This func‐
279223       tion is useful for restoring any settings that might have been  changed
279224       during the test run.
279225
279226       NOTE:
279227          The  setUp  and tearDown functions run before and after each test in
279228          the test class that the setUp and tearDown functions are defined.
279229
279230       Be sure to read the Destructive vs Non-Destructive Tests  section  when
279231       using  any  kind  of  destructive functions that might alter the system
279232       running the test suite in either the setUp or tearDown function defini‐
279233       tions.
279234
279235   Testing Order
279236       The  test  functions  within  a test class do not run in the order they
279237       were defined, but instead run in lexicographical order.
279238
279239       Note that if any setUp or tearDown functions are defined in the  class,
279240       those  functions  will  run  before (for setUp) or after (for tearDown)
279241       each test case.
279242
279243   Integration Classes
279244       The integration classes are  located  in  tests/integration/__init__.py
279245       and  can  be  extended  therein.  There  are  four classes available to
279246       extend:
279247
279248       · ModuleCase
279249
279250       · ShellCase
279251
279252       · SSHCase
279253
279254       · SyndicCase
279255
279256   ModuleCase
279257       Used to define executions run via the master to  minions  and  to  call
279258       single modules and states. The available testing functions are:
279259
279260   run_function
279261       Run  a  single salt function and condition the return down to match the
279262       behavior of the raw function call. This will run the command  and  only
279263       return the results from a single minion to verify.
279264
279265   run_state
279266       Run the state.single command and return the state return structure.
279267
279268   minion_run
279269       Run  a  single  salt  function on the 'minion' target and condition the
279270       return down to match the behavior of the raw function call.
279271
279272   ShellCase
279273       Shell out to the scripts which ship with Salt.  The  testing  functions
279274       are:
279275
279276   run_cp
279277       Execute  salt-cp.  Pass in the argument string as it would be passed on
279278       the command line.
279279
279280   run_call
279281       Execute salt-call, pass in the argument string as it would be passed on
279282       the command line.
279283
279284   run_cloud
279285       Execute the salt-cloud command. Pass in the argument string as it would
279286       be passed on the command line.
279287
279288   run_key
279289       Execute the salt-key command. Pass in the argument string as  it  would
279290       be passed on the command line.
279291
279292   run_run
279293       Execute  the  salt-run command. Pass in the argument string as it would
279294       be passed on the command line.
279295
279296   run_run_plus
279297       Execute the runner function the and return the return data  and  output
279298       in a dict
279299
279300   run_salt
279301       Execute  the  salt  command. Pass in the argument string as it would be
279302       passed on the command line.
279303
279304   run_script
279305       Execute a salt script with the given argument string.
279306
279307   run_ssh
279308       Execute the salt-ssh. Pass in the argument string as it would be passed
279309       on the command line.
279310
279311   SSHCase
279312       Used to execute remote commands via salt-ssh. The available methods are
279313       as follows:
279314
279315   run_function
279316       Run a single salt function via salt-ssh and condition the  return  down
279317       to  match the behavior of the raw function call. This will run the com‐
279318       mand and only return the results from a single minion to verify.
279319
279320   SyndicCase
279321       Used to execute remote commands via a syndic and is only used to verify
279322       the  capabilities of the Salt Syndic. The available methods are as fol‐
279323       lows:
279324
279325   run_function
279326       Run a single salt function and condition the return down to  match  the
279327       behavior  of  the raw function call. This will run the command and only
279328       return the results from a single minion to verify.
279329
279330   Examples
279331       The following sections  define  simple  integration  tests  present  in
279332       Salt's integration test suite for each type of testing class.
279333
279334   Module Example via ModuleCase Class
279335       Import  the  integration  module,  this  module is already added to the
279336       python path by the test execution. Inherit from the integration.Module‐
279337       Case class.
279338
279339       Now the workhorse method run_function can be used to test a module:
279340
279341          import os
279342          import tests.integration as integration
279343
279344
279345          class TestModuleTest(integration.ModuleCase):
279346              '''
279347              Validate the test module
279348              '''
279349              def test_ping(self):
279350                  '''
279351                  test.ping
279352                  '''
279353                  self.assertTrue(self.run_function('test.ping'))
279354
279355              def test_echo(self):
279356                  '''
279357                  test.echo
279358                  '''
279359                  self.assertEqual(self.run_function('test.echo', ['text']), 'text')
279360
279361       The  fist  example  illustrates  the testing master issuing a test.ping
279362       call to a testing minion. The test asserts  that  the  minion  returned
279363       with a True value to the master from the test.ping call.
279364
279365       The  second  example  similarly  verifies  that the minion executed the
279366       test.echo command with the text argument. The  assertEqual  call  main‐
279367       tains  that  the  minion  ran  the  function  and  returned the data as
279368       expected to the master.
279369
279370   Shell Example via ShellCase
279371       Validating the shell commands can be done via shell tests:
279372
279373          import sys
279374          import shutil
279375          import tempfile
279376
279377          import tests.integration as integration
279378
279379          class KeyTest(integration.ShellCase):
279380              '''
279381              Test salt-key script
279382              '''
279383
279384              _call_binary_ = 'salt-key'
279385
279386              def test_list(self):
279387                  '''
279388                  test salt-key -L
279389                  '''
279390                  data = self.run_key('-L')
279391                  expect = [
279392                          'Unaccepted Keys:',
279393                          'Accepted Keys:',
279394                          'minion',
279395                          'sub_minion',
279396                          'Rejected:', '']
279397                  self.assertEqual(data, expect)
279398
279399       This example verifies that the salt-key command executes and returns as
279400       expected by making use of the run_key method.
279401
279402   SSH Example via SSHCase
279403       Testing  salt-ssh  functionality  can  be  done  using the SSHCase test
279404       class:
279405
279406          import tests.integration as integration
279407
279408          class SSHGrainsTest(integration.SSHCase):
279409          '''
279410          Test salt-ssh grains functionality
279411          Depend on proper environment set by integration.SSHCase class
279412          '''
279413
279414          def test_grains_id(self):
279415              '''
279416              Test salt-ssh grains id work for localhost.
279417              '''
279418              cmd = self.run_function('grains.get', ['id'])
279419              self.assertEqual(cmd, 'localhost')
279420
279421   Testing Event System via SaltMinionEventAssertsMixin
279422       The fundamentially asynchronous nature of Salt makes testing the  event
279423       system  a challenge.  The SaltMinionEventAssertsMixin provides a facil‐
279424       ity for testing that events were received on a minion event bus.
279425
279426          import tests.integration as integration
279427          import salt.utils.event
279428
279429          class TestEvent(integration.SaltEventAssertsMixin):
279430              '''
279431              Example test of firing an event and receiving it
279432              '''
279433
279434              def test_event(self):
279435                  e = salt.utils.event.get_event('minion', sock_dir=self.minion_opts['sock_dir'], opts=self.minion_opts)
279436
279437                  e.fire_event({'a': 'b'}, '/test_event')
279438
279439                  self.assertMinionEventReceived({'a': 'b'})
279440
279441   Syndic Example via SyndicCase
279442       Testing Salt's Syndic can be done via the SyndicCase test class:
279443
279444          import tests.integration as integration
279445
279446          class TestSyndic(integration.SyndicCase):
279447              '''
279448              Validate the syndic interface by testing the test module
279449              '''
279450              def test_ping(self):
279451                  '''
279452                  test.ping
279453                  '''
279454                  self.assertTrue(self.run_function('test.ping'))
279455
279456       This example verifies that a test.ping command is issued from the test‐
279457       ing  master,  is passed through to the testing syndic, down to the min‐
279458       ion, and back up again by using the run_function located  with  in  the
279459       SyndicCase test class.
279460
279461   Integration Test Files
279462       Since  using  Salt  largely involves configuring states, editing files,
279463       and changing system data, the integration test suite contains a  direc‐
279464       tory  named files to aid in testing functions that require files. Vari‐
279465       ous Salt integration tests use these  example  files  to  test  against
279466       instead of altering system files and data.
279467
279468       Each directory within tests/integration/files contain files that accom‐
279469       plish different tasks, based on the  needs  of  the  integration  tests
279470       using those files.  For example, tests/integration/files/ssh is used to
279471       bootstrap the test runner for salt-ssh  testing,  while  tests/integra‐
279472       tion/files/pillar  contains  files  storing data needed to test various
279473       pillar functions.
279474
279475       The tests/integration/files  directory  also  includes  an  integration
279476       state  tree.  The integration state tree can be found at tests/integra‐
279477       tion/files/file/base.
279478
279479       The following example demonstrates how integration files  can  be  used
279480       with ModuleCase to test states:
279481
279482          # Import python libs
279483          from __future__ import absolute_import
279484          import os
279485          import shutil
279486
279487          # Import Salt Testing libs
279488          from tests.support.case import ModuleCase
279489          from tests.support.paths import FILES, TMP
279490          from tests.support.mixins import SaltReturnAssertsMixin
279491
279492          # Import salt libs
279493          import salt.utils.files
279494
279495          HFILE = os.path.join(TMP, 'hosts')
279496
279497
279498          class HostTest(ModuleCase, SaltReturnAssertsMixin):
279499              '''
279500              Validate the host state
279501              '''
279502
279503              def setUp(self):
279504                  shutil.copyfile(os.path.join(FILES, 'hosts'), HFILE)
279505                  super(HostTest, self).setUp()
279506
279507              def tearDown(self):
279508                  if os.path.exists(HFILE):
279509                      os.remove(HFILE)
279510                  super(HostTest, self).tearDown()
279511
279512              def test_present(self):
279513                  '''
279514                  host.present
279515                  '''
279516                  name = 'spam.bacon'
279517                  ip = '10.10.10.10'
279518                  ret = self.run_state('host.present', name=name, ip=ip)
279519                  self.assertSaltTrueReturn(ret)
279520                  with salt.utils.files.fopen(HFILE) as fp_:
279521                      output = fp_.read()
279522                      self.assertIn('{0}\t\t{1}'.format(ip, name), output)
279523
279524       To  access  the integration files, a variable named FILES points to the
279525       tests/integration/files  directory.  This  is  where   the   referenced
279526       host.present sls file resides.
279527
279528       In  addition  to  the  static  files in the integration state tree, the
279529       location TMP can also be used to store temporary files  that  the  test
279530       system will clean up when the execution finishes.
279531
279532   Destructive vs Non-Destructive Tests
279533       Since  Salt is used to change the settings and behavior of systems, one
279534       testing approach is to run tests that make actual changes to the under‐
279535       lying  system.  This  is  where  the concept of destructive integration
279536       tests comes into play. Tests can be written to alter  the  system  they
279537       are  running  on.  This  capability  is what fills in the gap needed to
279538       properly test aspects of system management like package installation.
279539
279540       Any test that changes the underlying system in any way, such as  creat‐
279541       ing  or  deleting  users,  installing packages, or changing permissions
279542       should include the @destructive decorator to signal system changes  and
279543       should  be written with care. System changes executed within a destruc‐
279544       tive test should also be restored once  the  related  tests  have  com‐
279545       pleted.  For  example,  if  a new user is created to test a module, the
279546       same user should be removed after the test  is  completed  to  maintain
279547       system integrity.
279548
279549       To  write a destructive test, import, and use the destructiveTest deco‐
279550       rator for the test method:
279551
279552          import tests.integration as integration
279553          from tests.support.helpers import destructiveTest, skip_if_not_root
279554
279555          class DestructiveExampleModuleTest(integration.ModuleCase):
279556              '''
279557              Demonstrate a destructive test
279558              '''
279559
279560              @destructiveTest
279561              @skip_if_not_root
279562              def test_user_not_present(self):
279563                  '''
279564                  This is a DESTRUCTIVE TEST it creates a new user on the minion.
279565                  And then destroys that user.
279566                  '''
279567                  ret = self.run_state('user.present', name='salt_test')
279568                  self.assertSaltTrueReturn(ret)
279569                  ret = self.run_state('user.absent', name='salt_test')
279570                  self.assertSaltTrueReturn(ret)
279571
279572   Cloud Provider Tests
279573       Cloud provider integration tests are used to assess Salt-Cloud's  abil‐
279574       ity  to  create and destroy cloud instances for various supported cloud
279575       providers.  Cloud provider tests inherit from the ShellCase Integration
279576       Class.
279577
279578       Any new cloud provider test files should be added to the tests/integra‐
279579       tion/cloud/providers/ directory. Each cloud  provider  test  file  also
279580       requires  a  sample cloud profile and cloud provider configuration file
279581       in the  integration  test  file  directory  located  at  tests/integra‐
279582       tion/files/conf/cloud.*.d/.
279583
279584       The  following  is an example of the default profile configuration file
279585       for Digital Ocean, located at:  tests/integration/files/conf/cloud.pro‐
279586       files.d/digitalocean.conf:
279587
279588          digitalocean-test:
279589            provider: digitalocean-config
279590            image: Ubuntu 14.04 x64
279591            size: 512MB
279592
279593       Each  cloud  provider  requires  different  configuration  credentials.
279594       Therefore, sensitive information such as API keys or  passwords  should
279595       be omitted from the cloud provider configuration file and replaced with
279596       an empty string. The necessary credentials can be provided by the  user
279597       by editing the provider configuration file before running the tests.
279598
279599       The  following is an example of the default provider configuration file
279600       for      Digital      Ocean,      located      at:       tests/integra‐
279601       tion/files/conf/cloud.providers.d/digitalocean.conf:
279602
279603          digitalocean-config:
279604            driver: digitalocean
279605            client_key: ''
279606            api_key: ''
279607            location: New York 1
279608
279609       In addition to providing the necessary cloud profile and provider files
279610       in the integration test suite file structure, appropriate checks for if
279611       the  configuration  files  exist and contain valid information are also
279612       required in the test class's setUp function:
279613
279614          from tests.support.case import ShellCase
279615          from tests.support.paths import FILES
279616
279617          class LinodeTest(ShellCase):
279618          '''
279619          Integration tests for the Linode cloud provider in Salt-Cloud
279620          '''
279621
279622          def setUp(self):
279623              '''
279624              Sets up the test requirements
279625              '''
279626              super(LinodeTest, self).setUp()
279627
279628              # check if appropriate cloud provider and profile files are present
279629              profile_str = 'linode-config:'
279630              provider = 'linode'
279631              providers = self.run_cloud('--list-providers')
279632              if profile_str not in providers:
279633                  self.skipTest(
279634                      'Configuration file for {0} was not found. Check {0}.conf files '
279635                      'in tests/integration/files/conf/cloud.*.d/ to run these tests.'
279636                      .format(provider)
279637                  )
279638
279639              # check if apikey and password are present
279640              path = os.path.join(FILES,
279641                                  'conf',
279642                                  'cloud.providers.d',
279643                                  provider + '.conf')
279644              config = cloud_providers_config(path)
279645              api = config['linode-config']['linode']['apikey']
279646              password = config['linode-config']['linode']['password']
279647              if api == '' or password == '':
279648                  self.skipTest(
279649                      'An api key and password must be provided to run these tests. Check '
279650                      'tests/integration/files/conf/cloud.providers.d/{0}.conf'.format(
279651                          provider
279652                      )
279653                  )
279654
279655       Repeatedly creating and destroying instances on cloud providers can  be
279656       costly.   Therefore, cloud provider tests are off by default and do not
279657       run   automatically.   To   run   the   cloud   provider   tests,   the
279658       --cloud-provider-tests flag must be provided:
279659
279660          ./tests/runtests.py --cloud-provider-tests
279661
279662       Since cloud provider tests do not run automatically, all provider tests
279663       must be preceded with the @expensiveTest decorator. The expensive  test
279664       decorator  is  necessary  because it signals to the test suite that the
279665       --cloud-provider-tests flag is  required  to  run  the  cloud  provider
279666       tests.
279667
279668       To write a cloud provider test, import, and use the expensiveTest deco‐
279669       rator for the test function:
279670
279671          from tests.support.helpers import expensiveTest
279672
279673          @expensiveTest
279674          def test_instance(self):
279675              '''
279676              Test creating an instance on Linode
279677              '''
279678              name = 'linode-testing'
279679
279680              # create the instance
279681              instance = self.run_cloud('-p linode-test {0}'.format(name))
279682              str = '        {0}'.format(name)
279683
279684              # check if instance with salt installed returned as expected
279685              try:
279686                  self.assertIn(str, instance)
279687              except AssertionError:
279688                  self.run_cloud('-d {0} --assume-yes'.format(name))
279689                  raise
279690
279691              # delete the instance
279692              delete = self.run_cloud('-d {0} --assume-yes'.format(name))
279693              str = '            True'
279694              try:
279695                  self.assertIn(str, delete)
279696              except AssertionError:
279697                  raise
279698
279699   Adding New Directories
279700       If the corresponding Salt directory does not exist  within  tests/inte‐
279701       gration,  the  new directory must be created along with the appropriate
279702       test file to maintain Salt's testing directory structure.
279703
279704       In order for Salt's test suite to recognize tests within the newly cre‐
279705       ated  directory, options to run the new integration tests must be added
279706       to tests/runtests.py. Examples of the necessary options  that  must  be
279707       added             can             be             found            here:
279708       https://github.com/saltstack/salt/blob/master/tests/runtests.py.    The
279709       functions  that  need  to be edited are setup_additional_options, vali‐
279710       date_options, and run_integration_tests.
279711
279712   Writing Unit Tests
279713   Introduction
279714       Like  many  software  projects,  Salt  has  two   broad-based   testing
279715       approaches  --  integration testing and unit testing. While integration
279716       testing focuses on the interaction between components  in  a  sandboxed
279717       environment,  unit  testing  focuses  on the singular implementation of
279718       individual functions.
279719
279720       Unit tests should be used specifically to test a function's logic. Unit
279721       tests rely on mocking external resources.
279722
279723       While  unit  tests  are  good for ensuring consistent results, they are
279724       most useful when they do not require more  than  a  few  mocks.  Effort
279725       should  be  made  to  mock as many external resources as possible. This
279726       effort is encouraged, but not required. Sometimes  the  isolation  pro‐
279727       vided  by completely mocking the external dependencies is not worth the
279728       effort of mocking those dependencies.
279729
279730       In these cases, requiring an external library to be  installed  on  the
279731       system before running the test file is a useful way to strike this bal‐
279732       ance.  For example, the unit  tests  for  the  MySQL  execution  module
279733       require the presence of the MySQL python bindings on the system running
279734       the test file before proceeding to run the tests.
279735
279736       Overly detailed mocking can also result in decreased  test  readability
279737       and  brittleness  as the tests are more likely to fail when the code or
279738       its dependencies legitimately change. In these cases, it is  better  to
279739       add dependencies to the test runner dependency state.
279740
279741   Preparing to Write a Unit Test
279742       This  guide  assumes  that your Salt development environment is already
279743       configured and that you have a basic understanding of  contributing  to
279744       the  Salt  codebase.  If you're unfamiliar with either of these topics,
279745       please refer to the Installing Salt for Development and the  Contribut‐
279746       ing pages, respectively.
279747
279748       This  documentation  also assumes that you have an understanding of how
279749       to run Salt's test suite, including running the unit  test  subsection,
279750       running  the unit tests without testing daemons to speed up development
279751       wait times, and running a unit test file, class, or individual test.
279752
279753   Best Practices
279754       Unit tests should be written to the following specifications.
279755
279756   What to Test?
279757       Since unit testing focuses on the singular implementation of individual
279758       functions,  unit tests should be used specifically to test a function's
279759       logic. The following guidelines should be followed  when  writing  unit
279760       tests for Salt's test suite:
279761
279762       · Each raise and return statement needs to be independently tested.
279763
279764       · Isolate  testing  functionality. Don't rely on the pass or failure of
279765         other, separate tests.
279766
279767       · Test functions should contain only one assertion.
279768
279769       · Many Salt execution modules are merely wrappers for distribution-spe‐
279770         cific  functionality.  If  there  isn't any logic present in a simple
279771         execution module, consider writing an  integration  test  instead  of
279772         heavily mocking a call to an external dependency.
279773
279774   Mocking Test Data
279775       A reasonable effort needs to be made to mock external resources used in
279776       the code being tested, such as  APIs,  function  calls,  external  data
279777       either globally available or passed in through function arguments, file
279778       data, etc.
279779
279780       · Test functions should contain only one assertion  and  all  necessary
279781         mock code and data for that assertion.
279782
279783       · External  resources  should  be  mocked in order to "block all of the
279784         exits". If a test function fails because  something  in  an  external
279785         library wasn't mocked properly (or at all), this test is not address‐
279786         ing all of the "exits" a function may experience. We  want  the  Salt
279787         code and logic to be tested, specifically.
279788
279789       · Consider  the  fragility  and  longevity of a test. If the test is so
279790         tightly coupled to the code being tested, this makes a test  unneces‐
279791         sarily fragile.
279792
279793       · Make sure you are not mocking the function to be tested so vigorously
279794         that the test return merely tests the mocked output. The test  should
279795         always be testing a function's logic.
279796
279797   Mocking Loader Modules
279798       Salt  loader  modules  use  a series of globally available dunder vari‐
279799       ables, __salt__, __opts__, __pillar__, etc. To facilitate testing these
279800       modules  a  mixin class was created, LoaderModuleMockMixin which can be
279801       found in tests/support/mixins.py. The reason for the existence of  this
279802       class  is  because  historically  one  would add these dunder variables
279803       directly on the imported module. This, however,  introduces  unexpected
279804       behavior  when running the full test suite since those attributes would
279805       not be removed once we were done testing the module and would therefore
279806       leak  to other modules being tested with unpredictable results. This is
279807       the kind of work that should be deferred to mock,  and  that's  exactly
279808       what this mixin class does.
279809
279810       As  an  example,  if  one needs to specify some options which should be
279811       available to the module being tested one should do:
279812
279813          import salt.modules.somemodule as somemodule
279814
279815          class SomeModuleTest(TestCase, LoaderModuleMockMixin):
279816
279817              def setup_loader_modules(self):
279818                  return {
279819                      somemodule: {
279820                          '__opts__': {'test': True}
279821                      }
279822                  }
279823
279824       Consider this more extensive example from  tests/unit/modules/test_lib‐
279825       cloud_dns.py:
279826
279827          # Import Python Libs
279828          from __future__ import absolute_import
279829
279830          # Import Salt Testing Libs
279831          from tests.support.mixins import LoaderModuleMockMixin
279832          from tests.support.unit import TestCase
279833          from tests.support.mock import (
279834              patch,
279835              MagicMock,
279836          )
279837          import salt.modules.libcloud_dns as libcloud_dns
279838
279839
279840          class MockDNSDriver(object):
279841              def __init__(self):
279842                  pass
279843
279844
279845          def get_mock_driver():
279846              return MockDNSDriver()
279847
279848
279849          @patch('salt.modules.libcloud_dns._get_driver',
279850                 MagicMock(return_value=MockDNSDriver()))
279851          class LibcloudDnsModuleTestCase(TestCase, LoaderModuleMockMixin):
279852
279853              def setup_loader_modules(self):
279854                  module_globals = {
279855                      '__salt__': {
279856                          'config.option': MagicMock(return_value={
279857                              'test': {
279858                                  'driver': 'test',
279859                                  'key': '2orgk34kgk34g'
279860                              }
279861                          })
279862                      }
279863                  }
279864                  if libcloud_dns.HAS_LIBCLOUD is False:
279865                      module_globals['sys.modules'] = {'libcloud': MagicMock()}
279866
279867                  return {libcloud_dns: module_globals}
279868
279869       What  happens  in the above example is we mock a call to __salt__['con‐
279870       fig.option'] to return the configuration needed for  the  execution  of
279871       the  tests.  Additionally,  if  the  libcloud library is not available,
279872       since that's not actually part of what's being tested, we  mocked  that
279873       import by patching sys.modules when tests are running.
279874
279875   Mocking Filehandles
279876       NOTE:
279877          This  documentation  applies  to the 2018.3 release cycle and newer.
279878          The extended functionality for mock_open described  below  does  not
279879          exist in the 2017.7 and older release branches.
279880
279881       Opening  files  in  Salt  is  done using salt.utils.files.fopen(). When
279882       testing code that reads from files, the mock_open helper can be used to
279883       mock   filehandles.   Note   that   is   not   the  same  mock_open  as
279884       unittest.mock.mock_open() from the Python standard library, but  rather
279885       a separate implementation which has additional functionality.
279886
279887          from tests.support.unit import TestCase
279888          from tests.support.mock import (
279889              patch
279890              mock_open,
279891          )
279892
279893          import salt.modules.mymod as mymod
279894
279895          class MyAwesomeTestCase(TestCase):
279896
279897              def test_something(self):
279898                  fopen_mock = mock_open(read_data='foo\nbar\nbaz\n')
279899                  with patch('salt.utils.files.fopen', fopen_mock):
279900                      result = mymod.myfunc()
279901                      assert result is True
279902
279903       This will force any filehandle opened to mimic a filehandle which, when
279904       read, produces the specified contents.
279905
279906       IMPORTANT:
279907          String Types
279908
279909          When running tests on Python 2, mock_open will convert  any  unicode
279910          types to str types to more closely reproduce Python 2 behavior (file
279911          reads are always str types in Python 2, irrespective of mode).
279912
279913          However, when configuring your read_data, make  sure  that  you  are
279914          using  bytestrings  (e.g.  b'foo\nbar\nbaz\n') when the code you are
279915          testing is opening a file for binary reading,  otherwise  the  tests
279916          will  fail on Python 3. The mocked filehandles produced by mock_open
279917          will raise a TypeError if you attempt  to  read  a  bytestring  when
279918          opening  for non-binary reading, and similarly will not let you read
279919          a string when opening a file for binary reading. They will also  not
279920          permit  bytestrings  to  be  "written"  if the mocked filehandle was
279921          opened for  non-binary  writing,  and  vice-versa  when  opened  for
279922          non-binary  writing.  These enhancements force test writers to write
279923          more accurate tests.
279924
279925   More Complex Scenarios
279926   Multiple File Paths
279927       What happens when the code being tested reads from more than one  file?
279928       For those cases, you can pass read_data as a dictionary:
279929
279930          import textwrap
279931
279932          from tests.support.unit import TestCase
279933          from tests.support.mock import (
279934              patch
279935              mock_open,
279936          )
279937
279938          import salt.modules.mymod as mymod
279939
279940          class MyAwesomeTestCase(TestCase):
279941
279942              def test_something(self):
279943                  contents = {
279944                      '/etc/foo.conf': textwrap.dedent('''\
279945                          foo
279946                          bar
279947                          baz
279948                          '''),
279949                      '/etc/b*.conf': textwrap.dedent('''\
279950                          one
279951                          two
279952                          three
279953                          '''),
279954                  }
279955                  fopen_mock = mock_open(read_data=contents)
279956                  with patch('salt.utils.files.fopen', fopen_mock):
279957                      result = mymod.myfunc()
279958                      assert result is True
279959
279960       This  would make salt.utils.files.fopen() produce filehandles with dif‐
279961       ferent contents depending on which file was being opened  by  the  code
279962       being   tested.   /etc/foo.conf  and  any  file  matching  the  pattern
279963       /etc/b*.conf would work, while opening any other path would result in a
279964       FileNotFoundError being raised (in Python 2, an IOError).
279965
279966       Since  file  patterns are supported, it is possible to use a pattern of
279967       '*' to define a fallback if no other patterns match the filename  being
279968       opened. The below two mock_open calls would produce identical results:
279969
279970          mock_open(read_data='foo\n')
279971          mock_open(read_data={'*': 'foo\n'})
279972
279973       NOTE:
279974          Take  care  when  specifying the read_data as a dictionary, in cases
279975          where  the  patterns  overlap  (e.g.  when  both  /etc/b*.conf   and
279976          /etc/bar.conf are in the read_data). Dictionary iteration order will
279977          determine which pattern is attempted first, second, etc.,  with  the
279978          exception  of * which is used when no other pattern matches. If your
279979          test case calls for specifying overlapping patterns, and you are not
279980          running  Python  3.6  or  newer,  then an OrderedDict can be used to
279981          ensure matching is handled in the desired way:
279982
279983              contents = OrderedDict()
279984              contents['/etc/bar.conf'] = 'foo\nbar\nbaz\n'
279985              contents['/etc/b*.conf'] = IOError(errno.EACCES, 'Permission denied')
279986              contents['*'] = 'This is a fallback for files not beginning with "/etc/b"\n'
279987              fopen_mock = mock_open(read_data=contents)
279988
279989   Raising Exceptions
279990       Instead of a string, an exception can also be used as the read_data:
279991
279992          import errno
279993
279994          from tests.support.unit import TestCase
279995          from tests.support.mock import (
279996              patch
279997              mock_open,
279998          )
279999
280000          import salt.modules.mymod as mymod
280001
280002          class MyAwesomeTestCase(TestCase):
280003
280004              def test_something(self):
280005                  exc = IOError(errno.EACCES, 'Permission denied')
280006                  fopen_mock = mock_open(read_data=exc)
280007                  with patch('salt.utils.files.fopen', fopen_mock):
280008                      mymod.myfunc()
280009
280010       The above example would raise the specified exception when any file  is
280011       opened.   The expectation would be that mymod.myfunc() would gracefully
280012       handle the IOError, so a failure to do that would result  in  it  being
280013       raised and causing the test to fail.
280014
280015   Multiple File Contents
280016       For  cases in which a file is being read more than once, and it is nec‐
280017       essary to test a function's behavior based on what the file looks  like
280018       the  second (or third, etc.) time it is read, just specify the the con‐
280019       tents for that file as a list. Each time the file is opened,  mock_open
280020       will  cycle  through  the list and produce a mocked filehandle with the
280021       specified contents. For example:
280022
280023          import errno
280024          import textwrap
280025
280026          from tests.support.unit import TestCase
280027          from tests.support.mock import (
280028              patch
280029              mock_open,
280030          )
280031
280032          import salt.modules.mymod as mymod
280033
280034          class MyAwesomeTestCase(TestCase):
280035
280036              def test_something(self):
280037                  contents = {
280038                      '/etc/foo.conf': [
280039                          textwrap.dedent('''\
280040                              foo
280041                              bar
280042                              '''),
280043                          textwrap.dedent('''\
280044                              foo
280045                              bar
280046                              baz
280047                              '''),
280048                      ],
280049                      '/etc/b*.conf': [
280050                          IOError(errno.ENOENT, 'No such file or directory'),
280051                          textwrap.dedent('''\
280052                              one
280053                              two
280054                              three
280055                              '''),
280056                      ],
280057                  }
280058                  fopen_mock = mock_open(read_data=contents)
280059                  with patch('salt.utils.files.fopen', fopen_mock):
280060                      result = mymod.myfunc()
280061                      assert result is True
280062
280063       Using this example, the first time /etc/foo.conf  is  opened,  it  will
280064       simulate  a  file  with  the  first string in the list as its contents,
280065       while the second time it is opened, the simulated file's contents  will
280066       be the second string in the list.
280067
280068       If  no  more items remain in the list, then attempting to open the file
280069       will raise a RuntimeError. In the example above, if /etc/foo.conf  were
280070       to be opened a third time, a RuntimeError would be raised.
280071
280072       Note  that exceptions can also be mixed in with strings when using this
280073       technique. In the above example, if /etc/bar.conf  were  to  be  opened
280074       twice,  the  first time would simulate the file not existing, while the
280075       second time would simulate a file with string  defined  in  the  second
280076       element of the list.
280077
280078       NOTE:
280079          Notice  that  the  second  path  in  the  contents  dictionary above
280080          (/etc/b*.conf) contains an asterisk.  The  items  in  the  list  are
280081          cycled through for each match of a given pattern (not separately for
280082          each individual file path), so this means that only two files match‐
280083          ing  that  pattern could be opened before the next one would raise a
280084          RuntimeError.
280085
280086   Accessing the Mocked Filehandles in a Test
280087       NOTE:
280088          The code for the MockOpen, MockCall, and MockFH classes  (referenced
280089          below)  can  be  found in tests/support/mock.py. There are extensive
280090          unit tests for them located in tests/unit/test_mock.py.
280091
280092       The above examples simply show how to mock salt.utils.files.fopen()  to
280093       simulate  files  with  the contents you desire, but you can also access
280094       the mocked filehandles (and more), and use them to craft assertions  in
280095       your  tests.  To  do  so, just add an as clause to the end of the patch
280096       statement:
280097
280098          fopen_mock = mock_open(read_data='foo\nbar\nbaz\n')
280099          with patch('salt.utils.files.fopen', fopen_mock) as m_open:
280100              # do testing here
280101              ...
280102              ...
280103
280104       When doing this, m_open will be a MockOpen instance.  It  will  contain
280105       several useful attributes:
280106
280107       · read_data  -  A  dictionary  containing  the  read_data  passed  when
280108         mock_open was invoked. In the event that multiple file paths are  not
280109         used,  then  this  will  be  a  dictionary mapping * to the read_data
280110         passed to mock_open.
280111
280112       · call_count   -   An   integer    representing    how    many    times
280113         salt.utils.files.fopen() was called to open a file.
280114
280115       · calls  -  A  list  of MockCall objects. A MockCall object is a simple
280116         class which stores the arguments passed to it, making the  positional
280117         arguments available via its args attribute, and the keyword arguments
280118         available via its kwargs attribute.
280119
280120            from tests.support.unit import TestCase
280121            from tests.support.mock import (
280122                patch
280123                mock_open,
280124                MockCall,
280125            )
280126
280127            import salt.modules.mymod as mymod
280128
280129            class MyAwesomeTestCase(TestCase):
280130
280131                def test_something(self):
280132
280133                    with patch('salt.utils.files.fopen', mock_open(read_data=b'foo\n')) as m_open:
280134                        mymod.myfunc()
280135                        # Assert that only two opens attempted
280136                        assert m_open.call_count == 2
280137                        # Assert that only /etc/foo.conf was opened
280138                        assert all(call.args[0] == '/etc/foo.conf' for call in m_open.calls)
280139                        # Asser that the first open was for binary read, and the
280140                        # second was for binary write.
280141                        assert m_open.calls == [
280142                            MockCall('/etc/foo.conf', 'rb'),
280143                            MockCall('/etc/foo.conf', 'wb'),
280144                        ]
280145
280146         Note that MockCall is imported from tests.support.mock in  the  above
280147         example.  Also, the second assert above is redundant since it is cov‐
280148         ered in the final assert, but both are included simply as an example.
280149
280150       · filehandles - A dictionary mapping the unique file paths  opened,  to
280151         lists  of  MockFH  objects. Each open creates a unique MockFH object.
280152         Each MockFH object itself has a number of useful attributes:
280153
280154         · filename  -  The  path  to  the  file  which   was   opened   using
280155           salt.utils.files.fopen()
280156
280157         · call  -  A  MockCall  object  representing  the arguments passed to
280158           salt.utils.files.fopen(). Note that this MockCall is also available
280159           in the parent MockOpen instance's calls list.
280160
280161         · The  following methods are mocked using unittest.mock.Mock objects,
280162           and Mock's built-in asserts (as well as the call data) can be  used
280163           as you would with any other Mock object:
280164
280165           · .read()
280166
280167           · .readlines()
280168
280169           · .readline()
280170
280171           · .close()
280172
280173           · .write()
280174
280175           · .writelines()
280176
280177           · .seek()
280178
280179         · The read functions (.read(), .readlines(), .readline()) all work as
280180           expected, as does iterating through the file  line  by  line  (i.e.
280181           for line in fh:).
280182
280183         · The  .tell()  method  is  also  implemented  in  such a way that it
280184           updates after each time the mocked filehandle  is  read,  and  will
280185           report  the  correct  position. The one caveat here is that .seek()
280186           doesn't actually work (it's simply mocked), and will not change the
280187           position. Additionally, neither .write() or .writelines() will mod‐
280188           ify the mocked filehandle's contents.
280189
280190         · The attributes .write_calls and .writelines_calls (no  parenthesis)
280191           are  available as shorthands and correspond to lists containing the
280192           contents passed  for  all  calls  to  .write()  and  .writelines(),
280193           respectively.
280194
280195   Examples
280196          with patch('salt.utils.files.fopen', mock_open(read_data=contents)) as m_open:
280197              # Run the code you are unit testing
280198              mymod.myfunc()
280199              # Check that only the expected file was opened, and that it was opened
280200              # only once.
280201              assert m_open.call_count == 1
280202              assert list(m_open.filehandles) == ['/etc/foo.conf']
280203              # "opens" will be a list of all the mocked filehandles opened
280204              opens = m_open.filehandles['/etc/foo.conf']
280205              # Check that we wrote the expected lines ("expected" here is assumed to
280206              # be a list of strings)
280207              assert opens[0].write_calls == expected
280208
280209          with patch('salt.utils.files.fopen', mock_open(read_data=contents)) as m_open:
280210              # Run the code you are unit testing
280211              mymod.myfunc()
280212              # Check that .readlines() was called (remember, it's a Mock)
280213              m_open.filehandles['/etc/foo.conf'][0].readlines.assert_called()
280214
280215          with patch('salt.utils.files.fopen', mock_open(read_data=contents)) as m_open:
280216              # Run the code you are unit testing
280217              mymod.myfunc()
280218              # Check that we read the file and also wrote to it
280219              m_open.filehandles['/etc/foo.conf'][0].read.assert_called_once()
280220              m_open.filehandles['/etc/foo.conf'][1].writelines.assert_called_once()
280221
280222   Naming Conventions
280223       Test  names  and docstrings should indicate what functionality is being
280224       tested.  Test functions are named test_<fcn>_<test-name> where <fcn> is
280225       the function being tested and <test-name> describes the raise or return
280226       being tested.
280227
280228       Unit tests for salt/.../<module>.py are  contained  in  a  file  called
280229       tests/unit/.../test_<module>.py, e.g. the tests for salt/modules/fib.py
280230       are in tests/unit/modules/test_fib.py.
280231
280232       In order for unit tests to get picked up during a run of the unit  test
280233       suite,  each  unit test file must be prefixed with test_ and each indi‐
280234       vidual test  must  be  prepended  with  the  test_  naming  syntax,  as
280235       described above.
280236
280237       If  a  function  does not start with test_, then the function acts as a
280238       "normal" function and is not considered a testing function. It will not
280239       be  included  in  the  test  run  or testing output. The same principle
280240       applies to unit test files that do not have the test_*.py  naming  syn‐
280241       tax. This test file naming convention is how the test runner recognizes
280242       that a test file contains unit tests.
280243
280244   Imports
280245       Most commonly, the following imports are necessary  to  create  a  unit
280246       test:
280247
280248          from tests.support.unit import TestCase
280249
280250       If you need mock support to your tests, please also import:
280251
280252          from tests.support.mock import MagicMock, patch, call
280253
280254   Evaluating Truth
280255       A  longer  discussion  on  the  types of assertions one can make can be
280256       found by reading Python's documentation on unit testing.
280257
280258   Tests Using Mock Objects
280259       In many cases, the purpose of a Salt module is to  interact  with  some
280260       external  system, whether it be to control a database, manipulate files
280261       on a filesystem or something else. In these varied cases,  it's  neces‐
280262       sary to design a unit test which can test the function whilst replacing
280263       functions which might actually call out to external systems. One  might
280264       think  of  this  as "blocking the exits" for code under tests and redi‐
280265       recting the calls to external systems with our own code which  produces
280266       known results during the duration of the test.
280267
280268       To  achieve  this behavior, Salt makes heavy use of the MagicMock pack‐
280269       age.
280270
280271       To understand how one might integrate Mock into writing a unit test for
280272       Salt, let's imagine a scenario in which we're testing an execution mod‐
280273       ule that's designed to operate on a database. Furthermore, let's  imag‐
280274       ine two separate methods, here presented in pseduo-code in an imaginary
280275       execution module called 'db.py'.
280276
280277          def create_user(username):
280278              qry = 'CREATE USER {0}'.format(username)
280279              execute_query(qry)
280280
280281          def execute_query(qry):
280282              # Connect to a database and actually do the query...
280283
280284       Here, let's imagine that we want to create a unit  test  for  the  cre‐
280285       ate_user  function.  In  doing so, we want to avoid any calls out to an
280286       external system and so while we are running our unit tests, we want  to
280287       replace the actual interaction with a database with a function that can
280288       capture the parameters sent to it and return pre-defined values. There‐
280289       fore,  our  task is clear -- to write a unit test which tests the func‐
280290       tionality of create_user while also replacing  'execute_query'  with  a
280291       mocked function.
280292
280293       To  begin, we set up the skeleton of our class much like we did before,
280294       but with additional imports for MagicMock:
280295
280296          # Import Salt Testing libs
280297          from tests.support.unit import TestCase
280298
280299          # Import Salt execution module to test
280300          from salt.modules import db
280301
280302          # Import Mock libraries
280303          from tests.support.mock import MagicMock, patch, call
280304
280305          # Create test case class and inherit from Salt's customized TestCase
280306          # Skip this test case if we don't have access to mock!
280307          class DbTestCase(TestCase):
280308              def test_create_user(self):
280309                  # First, we replace 'execute_query' with our own mock function
280310                  with patch.object(db, 'execute_query', MagicMock()) as db_exq:
280311
280312                      # Now that the exits are blocked, we can run the function under test.
280313                      db.create_user('testuser')
280314
280315                      # We could now query our mock object to see which calls were made
280316                      # to it.
280317                      ## print db_exq.mock_calls
280318
280319                      # Construct a call object that simulates the way we expected
280320                      # execute_query to have been called.
280321                      expected_call = call('CREATE USER testuser')
280322
280323                      # Compare the expected call with the list of actual calls.  The
280324                      # test will succeed or fail depending on the output of this
280325                      # assertion.
280326                      db_exq.assert_has_calls(expected_call)
280327
280328   Modifying __salt__ In Place
280329       At times, it becomes necessary to make modifications to a module's view
280330       of  functions in its own __salt__ dictionary.  Luckily, this process is
280331       quite easy.
280332
280333       Below is an example that uses MagicMock's patch functionality to insert
280334       a function into __salt__ that's actually a MagicMock instance.
280335
280336          def show_patch(self):
280337              with patch.dict(my_module.__salt__,
280338                              {'function.to_replace': MagicMock()}):
280339                  # From this scope, carry on with testing, with a modified __salt__!
280340
280341   A Simple Example
280342       Let's  assume  that we're testing a very basic function in an imaginary
280343       Salt execution module. Given a module called fib.py that has a function
280344       called  calculate(num_of_results),  which  given a num_of_results, pro‐
280345       duces a list of sequential Fibonacci numbers of that length.
280346
280347       A unit test to test this function might be commonly placed  in  a  file
280348       called  tests/unit/modules/test_fib.py. The convention is to place unit
280349       tests for Salt execution modules in test/unit/modules/ and to name  the
280350       tests module prefixed with test_*.py.
280351
280352       Tests  are  grouped around test cases, which are logically grouped sets
280353       of tests against a piece of functionality in the tested software.  Test
280354       cases  are created as Python classes in the unit test module. To return
280355       to our example, here's how we might  write  the  skeleton  for  testing
280356       fib.py:
280357
280358          # Import Salt Testing libs
280359          from tests.support.unit import TestCase
280360
280361          # Import Salt execution module to test
280362          import salt.modules.fib as fib
280363
280364          # Create test case class and inherit from Salt's customized TestCase
280365          class FibTestCase(TestCase):
280366              '''
280367              This class contains a set of functions that test salt.modules.fib.
280368              '''
280369              def test_fib(self):
280370                  '''
280371                  To create a unit test, we should prefix the name with `test_' so
280372                  that it's recognized by the test runner.
280373                  '''
280374                  fib_five = (0, 1, 1, 2, 3)
280375                  self.assertEqual(fib.calculate(5), fib_five)
280376
280377       At  this  point,  the  test can now be run, either individually or as a
280378       part of a full run of the test runner. To ease  development,  a  single
280379       test can be executed:
280380
280381          tests/runtests.py -v -n unit.modules.test_fib
280382
280383       This  will  report  the status of the test: success, failure, or error.
280384       The -v flag increases output verbosity.
280385
280386          tests/runtests.py -n unit.modules.test_fib -v
280387
280388       To review the results of a particular run, take a note of the log loca‐
280389       tion given in the output for each test:
280390
280391          Logging tests on /var/folders/nl/d809xbq577l3qrbj3ymtpbq80000gn/T/salt-runtests.log
280392
280393   A More Complete Example
280394       Consider the following function from salt/modules/linux_sysctl.py.
280395
280396          def get(name):
280397              '''
280398              Return a single sysctl parameter for this minion
280399
280400              CLI Example:
280401
280402              .. code-block:: bash
280403
280404                  salt '*' sysctl.get net.ipv4.ip_forward
280405              '''
280406              cmd = 'sysctl -n {0}'.format(name)
280407              out = __salt__['cmd.run'](cmd)
280408              return out
280409
280410       This function is very simple, comprising only four source lines of code
280411       and having only one return statement, so  we  know  only  one  test  is
280412       needed.   There  are also two inputs to the function, the name function
280413       argument and the call to __salt__['cmd.run'](), both of which  need  to
280414       be appropriately mocked.
280415
280416       Mocking  a  function  parameter  is  straightforward, whereas mocking a
280417       function call will require, in this case, the use  of  MagicMock.   For
280418       added  isolation,  we  will  also redefine the __salt__ dictionary such
280419       that it only contains 'cmd.run'.
280420
280421          # Import Salt Libs
280422          import salt.modules.linux_sysictl as linux_sysctl
280423
280424          # Import Salt Testing Libs
280425          from tests.support.mixins import LoaderModuleMockMixin
280426          from tests.support.unit import TestCase
280427          from tests.support.mock import (
280428              MagicMock,
280429              patch,
280430          )
280431
280432
280433          class LinuxSysctlTestCase(TestCase, LoaderModuleMockMixin):
280434              '''
280435              TestCase for salt.modules.linux_sysctl module
280436              '''
280437
280438              def test_get(self):
280439                  '''
280440                  Tests the return of get function
280441                  '''
280442                  mock_cmd = MagicMock(return_value=1)
280443                  with patch.dict(linux_sysctl.__salt__, {'cmd.run': mock_cmd}):
280444                      self.assertEqual(linux_sysctl.get('net.ipv4.ip_forward'), 1)
280445
280446       Since get() has only one raise or return statement and  that  statement
280447       is  a  success condition, the test function is simply named test_get().
280448       As described, the single function call parameter, name is  mocked  with
280449       net.ipv4.ip_forward  and __salt__['cmd.run'] is replaced by a MagicMock
280450       function object.  We  are  only  interested  in  the  return  value  of
280451       __salt__['cmd.run'],  which  MagicMock  allows  us  by  specifying  via
280452       return_value=1.  Finally, the test itself tests  for  equality  between
280453       the return value of get() and the expected return of 1.  This assertion
280454       is expected to succeed because get() will determine  its  return  value
280455       from __salt__['cmd.run'], which we have mocked to return 1.
280456
280457   A Complex Example
280458       Now   consider   the   assign()   function   from  the  same  salt/mod‐
280459       ules/linux_sysctl.py source file.
280460
280461          def assign(name, value):
280462              '''
280463              Assign a single sysctl parameter for this minion
280464
280465              CLI Example:
280466
280467              .. code-block:: bash
280468
280469                  salt '*' sysctl.assign net.ipv4.ip_forward 1
280470              '''
280471              value = str(value)
280472              sysctl_file = '/proc/sys/{0}'.format(name.replace('.', '/'))
280473              if not os.path.exists(sysctl_file):
280474                  raise CommandExecutionError('sysctl {0} does not exist'.format(name))
280475
280476              ret = {}
280477              cmd = 'sysctl -w {0}="{1}"'.format(name, value)
280478              data = __salt__['cmd.run_all'](cmd)
280479              out = data['stdout']
280480              err = data['stderr']
280481
280482              # Example:
280483              #    # sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
280484              #    net.ipv4.tcp_rmem = 4096 87380 16777216
280485              regex = re.compile(r'^{0}\s+=\s+{1}$'.format(re.escape(name),
280486                                                           re.escape(value)))
280487
280488              if not regex.match(out) or 'Invalid argument' in str(err):
280489                  if data['retcode'] != 0 and err:
280490                      error = err
280491                  else:
280492                      error = out
280493                  raise CommandExecutionError('sysctl -w failed: {0}'.format(error))
280494              new_name, new_value = out.split(' = ', 1)
280495              ret[new_name] = new_value
280496              return ret
280497
280498       This function contains two raise statements and one  return  statement,
280499       so  we know that we will need (at least) three tests.  It has two func‐
280500       tion arguments and many references to non-builtin  functions.   In  the
280501       tests below you will see that MagicMock's patch() method may be used as
280502       a context manager or as a decorator. When  patching  the  salt  dunders
280503       however, please use the context manager approach.
280504
280505       There are three test functions, one for each raise and return statement
280506       in the source function.  Each function is self-contained  and  contains
280507       all  and  only  the  mocks  and data needed to test the raise or return
280508       statement it is concerned with.
280509
280510          # Import Salt Libs
280511          import salt.modules.linux_sysctl as linux_sysctl
280512          from salt.exceptions import CommandExecutionError
280513
280514          # Import Salt Testing Libs
280515          from tests.support.mixins import LoaderModuleMockMixin
280516          from tests.support.unit import TestCase
280517          from tests.support.mock import (
280518              MagicMock,
280519              patch,
280520          )
280521
280522
280523          class LinuxSysctlTestCase(TestCase, LoaderModuleMockMixin):
280524              '''
280525              TestCase for salt.modules.linux_sysctl module
280526              '''
280527
280528              @patch('os.path.exists', MagicMock(return_value=False))
280529              def test_assign_proc_sys_failed(self):
280530                  '''
280531                  Tests if /proc/sys/<kernel-subsystem> exists or not
280532                  '''
280533                  cmd = {'pid': 1337, 'retcode': 0, 'stderr': '',
280534                         'stdout': 'net.ipv4.ip_forward = 1'}
280535                  mock_cmd = MagicMock(return_value=cmd)
280536                  with patch.dict(linux_sysctl.__salt__, {'cmd.run_all': mock_cmd}):
280537                      self.assertRaises(CommandExecutionError,
280538                                        linux_sysctl.assign,
280539                                        'net.ipv4.ip_forward', 1)
280540
280541              @patch('os.path.exists', MagicMock(return_value=True))
280542              def test_assign_cmd_failed(self):
280543                  '''
280544                  Tests if the assignment was successful or not
280545                  '''
280546                  cmd = {'pid': 1337, 'retcode': 0, 'stderr':
280547                         'sysctl: setting key "net.ipv4.ip_forward": Invalid argument',
280548                         'stdout': 'net.ipv4.ip_forward = backward'}
280549                  mock_cmd = MagicMock(return_value=cmd)
280550                  with patch.dict(linux_sysctl.__salt__, {'cmd.run_all': mock_cmd}):
280551                      self.assertRaises(CommandExecutionError,
280552                                        linux_sysctl.assign,
280553                                        'net.ipv4.ip_forward', 'backward')
280554
280555              @patch('os.path.exists', MagicMock(return_value=True))
280556              def test_assign_success(self):
280557                  '''
280558                  Tests the return of successful assign function
280559                  '''
280560                  cmd = {'pid': 1337, 'retcode': 0, 'stderr': '',
280561                         'stdout': 'net.ipv4.ip_forward = 1'}
280562                  ret = {'net.ipv4.ip_forward': '1'}
280563                  mock_cmd = MagicMock(return_value=cmd)
280564                  with patch.dict(linux_sysctl.__salt__, {'cmd.run_all': mock_cmd}):
280565                      self.assertEqual(linux_sysctl.assign(
280566                          'net.ipv4.ip_forward', 1), ret)
280567
280568   SaltStack Git Policy
280569       The SaltStack team follows a git policy to maintain stability and  con‐
280570       sistency with the repository.
280571
280572       The  git  policy has been developed to encourage contributions and make
280573       contributing to Salt as easy as possible. Code  contributors  to  Salt‐
280574       Stack projects DO NOT NEED TO READ THIS DOCUMENT, because all contribu‐
280575       tions come into SaltStack via a single gateway to make it  as  easy  as
280576       possible for contributors to give us code.
280577
280578       The primary rule of git management in SaltStack is to make life easy on
280579       contributors and developers to send in code.  Simplicity  is  always  a
280580       goal!
280581
280582   New Code Entry
280583       All  new  SaltStack code should be submitted against either the develop
280584       branch or a point release branch, depending on the nature of  the  sub‐
280585       mission. Please see the Which Salt Branch? section of Salt's Contribut‐
280586       ing documentation or the  Release  Branching  section  below  for  more
280587       information.
280588
280589   Release Branching
280590       SaltStack  maintains  two types of releases, Feature Releases and Point
280591       Releases (also commonly referred  to  as  Bugfix  Releases.  A  feature
280592       release  is  managed  by incrementing the first or second release point
280593       number, so  2015.5.5  ->  2015.8.0  signifies  a  feature  release  and
280594       2015.8.0 -> 2015.8.1 signifies a point release.
280595
280596   Feature Release Branching
280597       Each  feature  release  is maintained in a dedicated git branch derived
280598       from the last applicable release commit on develop.  All  file  changes
280599       relevant to the feature release will be completed in the develop branch
280600       prior to the creation  of  the  feature  release  branch.  The  feature
280601       release  branch will be named after the relevant numbers to the feature
280602       release, which constitute the first two numbers. This  means  that  the
280603       release branch for the 2015.8.0 series is named 2015.8.
280604
280605       A feature release branch is created with the following command:
280606
280607          # git checkout -b 2015.8 # From the develop branch
280608          # git push origin 2015.8
280609
280610   Point Releases
280611       Each  point  release  is  derived  from its parent release branch. Con‐
280612       structing point releases is a critical aspect of Salt  development  and
280613       is managed by members of the core development team. Point releases com‐
280614       prise bug and security fixes. Bug fixes can be  made  against  a  point
280615       release  branch  in  one  of  two  ways:  the  bug fix can be submitted
280616       directly against the point release branch, or an attempt can be made to
280617       back-port the fix to the point release branch.
280618
280619       Bug  fixes should be made against the earliest supported release branch
280620       on which the bug is present. The Salt development team regularly merges
280621       older point release branches forward into newer point release branches.
280622       That way, the bug fixes that are submitted to  older  release  branches
280623       can cascade up through all related release branches.
280624
280625       For  more  information,  please  see the Which Salt Branch?  section of
280626       Salt's Contributing documentation.
280627
280628       Generally point releases are made every 2 months or if there is a secu‐
280629       rity fix they can be made sooner.
280630
280631       The  point  release  is  designated by branching (ex 2019.2.1) and then
280632       tagging (v2019.2.1) from that newly created  release  branch  when  its
280633       determined the release is stable.  From the tag point a new source tar‐
280634       ball is generated and published to PyPI, and a release announcement  is
280635       made.
280636
280637   Salt Conventions
280638   Writing Salt Documentation
280639       Salt's documentation is built using the Sphinx documentation system. It
280640       can be built in a large variety of output formats including HTML,  PDF,
280641       ePub, and manpage.
280642
280643       All  the documentation is contained in the main Salt repository. Speak‐
280644       ing broadly, most of the narrative documentation  is  contained  within
280645       the  https://github.com/saltstack/salt/blob/master/doc subdirectory and
280646       most of the reference and API  documentation  is  written  inline  with
280647       Salt's Python code and extracted using a Sphinx extension.
280648
280649   Style
280650       The Salt project recommends the IEEE style guide as a general reference
280651       for writing guidelines. Those guidelines are not strictly enforced  but
280652       rather  serve as an excellent resource for technical writing questions.
280653       The NCBI style guide is another very approachable resource.
280654
280655   Point-of-view
280656       Use third-person perspective  and  avoid  "I",  "we",  "you"  forms  of
280657       address.   Identify  the  addressee  specifically e.g., "users should",
280658       "the compiler does", etc.
280659
280660   Active voice
280661       Use active voice and present-tense. Avoid filler words.
280662
280663   Title capitalization
280664       Document titles and section titles within a page should  follow  normal
280665       sentence  capitalization rules. Words that are capitalized as part of a
280666       regular sentence should be capitalized in a title and otherwise left as
280667       lowercase.  Punctuation can be omitted unless it aids the intent of the
280668       title (e.g., exclamation points or question marks).
280669
280670       For example:
280671
280672          This is a main heading
280673          ======================
280674
280675          Paragraph.
280676
280677          This is an exciting sub-heading!
280678          --------------------------------
280679
280680          Paragraph.
280681
280682   Serial Commas
280683       According to Wikipedia: In  English  punctuation,  a  serial  comma  or
280684       series  comma  (also  called Oxford comma and Harvard comma) is a comma
280685       placed immediately before the coordinating conjunction (usually  "and",
280686       "or", or "nor") in a series of three or more terms. For example, a list
280687       of three countries might be punctuated either as  "France,  Italy,  and
280688       Spain"  (with the serial comma), or as "France, Italy and Spain" (with‐
280689       out the serial comma)."
280690
280691       When writing a list that includes three or more items, the serial comma
280692       should always be used.
280693
280694   Documenting modules
280695       Documentation  for  Salt's  various module types is inline in the code.
280696       During the documentation build process it is  extracted  and  formatted
280697       into the final HTML, PDF, etc format.
280698
280699   Inline documentation
280700       Python  has  special  multi-line strings called docstrings as the first
280701       element in a function or class. These strings  allow  documentation  to
280702       live  alongside  the code and can contain special formatting. For exam‐
280703       ple:
280704
280705          def my_function(value):
280706              '''
280707              Upper-case the given value
280708
280709              Usage:
280710
280711              .. code-block:: python
280712
280713                  val = 'a string'
280714                  new_val = myfunction(val)
280715                  print(new_val) # 'A STRING'
280716
280717              :param value: a string
280718              :return: a copy of ``value`` that has been upper-cased
280719              '''
280720              return value.upper()
280721
280722   Specify a release for additions or changes
280723       New functions or changes to existing functions should include a  marker
280724       that denotes what Salt release will be affected. For example:
280725
280726          def my_function(value):
280727              '''
280728              Upper-case the given value
280729
280730              .. versionadded:: 2014.7.0
280731
280732              <...snip...>
280733              '''
280734              return value.upper()
280735
280736       For changes to a function:
280737
280738          def my_function(value, strip=False):
280739              '''
280740              Upper-case the given value
280741
280742              .. versionchanged:: 2016.3.0
280743                  Added a flag to also strip whitespace from the string.
280744
280745              <...snip...>
280746              '''
280747              if strip:
280748                  return value.upper().strip()
280749              return value.upper()
280750
280751   Adding module documentation to the index
280752       Each  module  type  has  an index listing all modules of that type. For
280753       example: all-salt.modules,  all-salt.states,  all-salt.renderers.   New
280754       modules must be added to the index manually.
280755
280756       1. Edit the file for the module type: execution modules, state modules,
280757          renderer modules, etc.
280758
280759       2. Add the new module to the alphebetized list.
280760
280761       3. Build the documentation which will generate an .rst file for the new
280762          module in the same directory as the index.rst.
280763
280764       4. Commit  the  changes  to  index.rst and the new .rst file and send a
280765          pull request.
280766
280767   Cross-references
280768       The Sphinx documentation system contains a wide variety of cross-refer‐
280769       encing capabilities.
280770
280771   Glossary entries
280772       Link  to glossary entries using the term role. A cross-reference should
280773       be added the first time a Salt-specific term is used in a document.
280774
280775          A common way to encapsulate master-side functionality is by writing a
280776          custom :term:`Runner Function`. Custom Runner Functions are easy to write.
280777
280778   Index entries
280779       Sphinx automatically generates many kinds of index entries, but  it  is
280780       occasionally useful to manually add items to the index.
280781
280782       One  method is to use the index directive above the document or section
280783       that should appear in the index.
280784
280785          .. index:: ! Event, event bus, event system
280786              see: Reactor; Event
280787
280788       Another method is to use the index  role  inline  with  the  text  that
280789       should  appear  in the index. The index entry is created and the target
280790       text is left otherwise intact.
280791
280792          Information about the :index:`Salt Reactor`
280793          -------------------------------------------
280794
280795          Paragraph.
280796
280797   Documents and sections
280798       Each document should contain a unique top-level label of the form:
280799
280800          .. _my-page:
280801
280802          My page
280803          =======
280804
280805          Paragraph.
280806
280807       Unique labels can be linked using the ref role. This allows  cross-ref‐
280808       erences to survive document renames or movement.
280809
280810          For more information see :ref:`my-page`.
280811
280812       Note, the :doc: role should not be used to link documents together.
280813
280814   Modules
280815       Cross-references  to  Salt  modules  can be added using Sphinx's Python
280816       domain roles. For example, to create a link to the test.ping function:
280817
280818          A useful execution module to test active communication with a minion is the
280819          :py:func:`test.ping <salt.modules.test.ping>` function.
280820
280821       Salt modules can be referenced as well:
280822
280823          The :py:mod:`test module <salt.modules.test>` contains many useful
280824          functions for inspecting an active Salt connection.
280825
280826       The same syntax works for all modules types:
280827
280828          One of the workhorse state module functions in Salt is the
280829          :py:func:`file.managed <salt.states.file.managed>` function.
280830
280831   Settings
280832       Individual settings in the Salt Master  or  Salt  Minion  configuration
280833       files  are  cross-referenced  using  two custom roles, conf_master, and
280834       conf_minion.
280835
280836          The :conf_minion:`minion ID <id>` setting is a unique identifier for a
280837          single minion.
280838
280839   Documentation Changes and Fixes
280840       Documentation changes and fixes should be  made  against  the  earliest
280841       supported  release  branch  that the update applies to. The practice of
280842       updating a release branch instead of making all  documentation  changes
280843       against Salt's main, default branch, develop, is necessary in order for
280844       the docs to be as up-to-date as possible when the docs are built.
280845
280846       The workflow mentioned above is also in line with  the  recommendations
280847       outlined  in  Salt's  contributing page. You can read more about how to
280848       choose  where  to   submit   documentation   fixes   by   reading   the
280849       which-salt-branch section.
280850
280851       For  an  explanation of how to submit changes against various branches,
280852       see the github-pull-request  section.  Specifically,  see  the  section
280853       describing how to Create a new branch and the steps that follow.
280854
280855   Building the documentation
280856       1. Install  Sphinx  using  a system package manager or pip. The package
280857          name is often of the form python-sphinx. There are no  other  depen‐
280858          dencies.
280859
280860       2. Build  the documentation using the provided Makefile or .bat file on
280861          Windows.
280862
280863             cd /path/to/salt/doc
280864             make html
280865
280866       3. The generated documentation will be written to the  doc/_build/<for‐
280867          mat> directory.
280868
280869       4. A  useful  method  of  viewing  the HTML documentation locally is to
280870          start Python's built-in HTTP server:
280871
280872          Python 3:
280873
280874             cd /path/to/salt/doc/_build/html
280875             python3 -m http.server
280876
280877          Python 2:
280878
280879             cd /path/to/salt/doc/_build/html
280880             python -m SimpleHTTPServer
280881
280882          Then   pull   up   the   documentation   in   a   web   browser   at
280883          http://localhost:8000/.
280884
280885   Salt Formulas
280886       Formulas  are  pre-written  Salt States. They are as open-ended as Salt
280887       States themselves and can be used for tasks such as installing a  pack‐
280888       age,  configuring,  and starting a service, setting up users or permis‐
280889       sions, and many other common tasks.
280890
280891       All official Salt Formulas are found as separate  Git  repositories  in
280892       the "saltstack-formulas" organization on GitHub:
280893
280894       https://github.com/saltstack-formulas
280895
280896       As  a  simple  example, to install the popular Apache web server (using
280897       the normal defaults for  the  underlying  distro)  simply  include  the
280898       apache-formula from a top file:
280899
280900          base:
280901            'web*':
280902              - apache
280903
280904   Installation
280905       Each Salt Formula is an individual Git repository designed as a drop-in
280906       addition to an existing Salt State tree. Formulas can be  installed  in
280907       the following ways.
280908
280909   Adding a Formula as a GitFS remote
280910       One  design  goal  of Salt's GitFS fileserver backend was to facilitate
280911       reusable States. GitFS is a quick and natural way to use Formulas.
280912
280913       1. Install any necessary dependencies and configure GitFS.
280914
280915       2. Add  one  or  more  Formula  repository  URLs  as  remotes  in   the
280916          gitfs_remotes list in the Salt Master configuration file:
280917
280918             gitfs_remotes:
280919               - https://github.com/saltstack-formulas/apache-formula
280920               - https://github.com/saltstack-formulas/memcached-formula
280921
280922          We  strongly  recommend  forking  a formula repository into your own
280923          GitHub account to avoid unexpected changes to your infrastructure.
280924
280925          Many Salt Formulas  are  highly  active  repositories  so  pull  new
280926          changes  with  care. Plus any additions you make to your fork can be
280927          easily sent back upstream with a quick pull request!
280928
280929       3. Restart the Salt master.
280930
280931       Beginning with the 2018.3.0 release, using formulas with GitFS  is  now
280932       much  more  convenient  for  deployments which use many different file‐
280933       server environments (i.e. saltenvs). Using the all_saltenvs  parameter,
280934       files  from  a  single  git branch/tag will appear in all environments.
280935       See here for more information on this feature.
280936
280937   Adding a Formula directory manually
280938       Formulas are simply directories that can be copied onto the local  file
280939       system  by  using  Git  to  clone  the repository or by downloading and
280940       expanding a tarball or zip file of the repository. The directory struc‐
280941       ture  is designed to work with file_roots in the Salt master configura‐
280942       tion.
280943
280944       1. Clone or download the repository into a directory:
280945
280946             mkdir -p /srv/formulas
280947             cd /srv/formulas
280948             git clone https://github.com/saltstack-formulas/apache-formula.git
280949
280950             # or
280951
280952             mkdir -p /srv/formulas
280953             cd /srv/formulas
280954             wget https://github.com/saltstack-formulas/apache-formula/archive/master.tar.gz
280955             tar xf apache-formula-master.tar.gz
280956
280957       2. Add the new directory to file_roots:
280958
280959             file_roots:
280960               base:
280961                 - /srv/salt
280962                 - /srv/formulas/apache-formula
280963
280964       3. Restart the Salt Master.
280965
280966   Usage
280967       Each Formula is intended to be immediately usable  with  sane  defaults
280968       without  any  additional  configuration. Many formulas are also config‐
280969       urable by including data in Pillar; see the pillar.example file in each
280970       Formula repository for available options.
280971
280972   Including a Formula in an existing State tree
280973       Formula  may  be included in an existing sls file. This is often useful
280974       when a state you are writing needs to require or extend a state defined
280975       in the formula.
280976
280977       Here  is  an example of a state that uses the epel-formula in a require
280978       declaration which directs Salt to  not  install  the  python26  package
280979       until after the EPEL repository has also been installed:
280980
280981          include:
280982            - epel
280983
280984          python26:
280985            pkg.installed:
280986              - require:
280987                - pkg: epel
280988
280989   Including a Formula from a Top File
280990       Some  Formula  perform completely standalone installations that are not
280991       referenced from other state files. It is usually  cleanest  to  include
280992       these Formula directly from a Top File.
280993
280994       For example the easiest way to set up an OpenStack deployment on a sin‐
280995       gle machine is to  include  the  openstack-standalone-formula  directly
280996       from a top.sls file:
280997
280998          base:
280999            'myopenstackmaster':
281000              - openstack
281001
281002       Quickly  deploying  OpenStack  across  several dedicated machines could
281003       also be done directly from a Top File and may look something like this:
281004
281005          base:
281006            'controller':
281007              - openstack.horizon
281008              - openstack.keystone
281009            'hyper-*':
281010              - openstack.nova
281011              - openstack.glance
281012            'storage-*':
281013              - openstack.swift
281014
281015   Configuring Formula using Pillar
281016       Salt Formulas are designed to work out of the box  with  no  additional
281017       configuration.  However,  many Formula support additional configuration
281018       and customization through Pillar. Examples of available options can  be
281019       found in a file named pillar.example in the root directory of each For‐
281020       mula repository.
281021
281022   Using Formula with your own states
281023       Remember that Formula are regular Salt States and can be used with  all
281024       Salt's  normal  state  mechanisms.  Formula  can be required from other
281025       States with requisites-require declarations, they can be modified using
281026       extend, they can made to watch other states with requisites-watch-in.
281027
281028       The  following example uses the stock apache-formula alongside a custom
281029       state to create a vhost on a Debian/Ubuntu system  and  to  reload  the
281030       Apache service whenever the vhost is changed.
281031
281032          # Include the stock, upstream apache formula.
281033          include:
281034            - apache
281035
281036          # Use the watch_in requisite to cause the apache service state to reload
281037          # apache whenever the my-example-com-vhost state changes.
281038          my-example-com-vhost:
281039            file:
281040              - managed
281041              - name: /etc/apache2/sites-available/my-example-com
281042              - watch_in:
281043                - service: apache
281044
281045       Don't be shy to read through the source for each Formula!
281046
281047   Reporting problems & making additions
281048       Each Formula is a separate repository on GitHub. If you encounter a bug
281049       with a Formula please file an issue in the respective repository!  Send
281050       fixes  and  additions  as  a  pull  request. Add tips and tricks to the
281051       repository wiki.
281052
281053   Writing Formulas
281054       Each Formula is a separate repository in the saltstack-formulas organi‐
281055       zation on GitHub.
281056
281057   Get involved creating new Formulas
281058       The  best way to create new Formula repositories for now is to create a
281059       repository in your  own  account  on  GitHub  and  notify  a  SaltStack
281060       employee  when it is ready. We will add you to the Contributors team on
281061       the saltstack-formulas organization and help you transfer  the  reposi‐
281062       tory  over.  Ping a SaltStack employee on IRC (#salt on Freenode), join
281063       the #formulas channel on  the  salt-slack  or  send  an  email  to  the
281064       salt-users mailing list.
281065
281066       There  are a lot of repositories in that organization! Team members can
281067       manage which repositories they are subscribed to on  GitHub's  watching
281068       page: https://github.com/watching.
281069
281070       Members  of the Contributors team are welcome to participate in review‐
281071       ing pull requests across the Organization. Some repositories will  have
281072       regular  contributors  and  some  repositories  will  not.  As  you get
281073       involved in a repository be sure to communicate with any other contrib‐
281074       utors there on pull requests that are large or have breaking changes.
281075
281076       In  general it is best to have another Contributor review and merge any
281077       pull requests that you open. Feel free to at-mention other regular con‐
281078       tributors  to  a  repository and request a review. However, there are a
281079       lot of formula repositories so if a repository does not yet have  regu‐
281080       lar  contributors or if your pull request has stayed open for more than
281081       a couple days feel free to "selfie-merge" your own pull request.
281082
281083   Style
281084       Maintainability, readability, and reusability are all marks of  a  good
281085       Salt sls file. This section contains several suggestions and examples.
281086
281087          # Deploy the stable master branch unless version overridden by passing
281088          # Pillar at the CLI or via the Reactor.
281089
281090          deploy_myapp:
281091            git.latest:
281092              - name: git@github.com/myco/myapp.git
281093              - version: {{ salt.pillar.get('myapp:version', 'master') }}
281094
281095   Use a descriptive State ID
281096       The ID of a state is used as a unique identifier that may be referenced
281097       via other states in requisites. It must  be  unique  across  the  whole
281098       state tree (it is a key in a dictionary, after all).
281099
281100       In  addition a state ID should be descriptive and serve as a high-level
281101       hint  of  what  it  will  do,  or  manage,  or  change.  For   example,
281102       deploy_webapp, or apache, or reload_firewall.
281103
281104   Use module.function notation
281105       So-called  "short-declaration"  notation  is  preferred for referencing
281106       state modules and state functions. It provides a consistent pattern  of
281107       module.function shared between Salt States, the Reactor, Salt Mine, the
281108       Scheduler, as well as with the CLI.
281109
281110          # Do
281111          apache:
281112            pkg.installed:
281113              - name: httpd
281114
281115          # Don't
281116          apache:
281117            pkg:
281118              - installed
281119              - name: httpd
281120
281121       Salt's state compiler will transform "short-decs" into the longer  for‐
281122       mat  when  compiling  the  human-friendly  highstate structure into the
281123       machine-friendly lowstate structure.
281124
281125   Specify the name parameter
281126       Use a unique and permanent identifier for the state ID and reserve name
281127       for data with variability.
281128
281129       The  name  declaration is a required parameter for all state functions.
281130       The state ID will implicitly be used as name if it  is  not  explicitly
281131       set in the state.
281132
281133       In many state functions the name parameter is used for data that varies
281134       such as OS-specific  package  names,  OS-specific  file  system  paths,
281135       repository  addresses, etc. Any time the ID of a state changes all ref‐
281136       erences to that ID must also be changed. Use a permanent ID when  writ‐
281137       ing  a  state  the  first time to future-proof that state and allow for
281138       easier refactors down the road.
281139
281140   Comment state files
281141       YAML allows comments at varying indentation levels. It is a good  prac‐
281142       tice  to comment state files. Use vertical whitespace to visually sepa‐
281143       rate different concepts or actions.
281144
281145          # Start with a high-level description of the current sls file.
281146          # Explain the scope of what it will do or manage.
281147
281148          # Comment individual states as necessary.
281149          update_a_config_file:
281150            # Provide details on why an unusual choice was made. For example:
281151            #
281152            # This template is fetched from a third-party and does not fit our
281153            # company norm of using Jinja. This must be processed using Mako.
281154            file.managed:
281155              - name: /path/to/file.cfg
281156              - source: salt://path/to/file.cfg.template
281157              - template: mako
281158
281159            # Provide a description or explanation that did not fit within the state
281160            # ID. For example:
281161            #
281162            # Update the application's last-deployed timestamp.
281163            # This is a workaround until Bob configures Jenkins to automate RPM
281164            # builds of the app.
281165            cmd.run:
281166              # FIXME: Joe needs this to run on Windows by next quarter. Switch these
281167              # from shell commands to Salt's file.managed and file.replace state
281168              # modules.
281169              - name: |
281170                  touch /path/to/file_last_updated
281171                  sed -e 's/foo/bar/g' /path/to/file_environment
281172              - onchanges:
281173                - file: a_config_file
281174
281175       Be careful to use Jinja comments for commenting  Jinja  code  and  YAML
281176       comments for commenting YAML code.
281177
281178          # BAD EXAMPLE
281179          # The Jinja in this YAML comment is still executed!
281180          # {% set apache_is_installed = 'apache' in salt.pkg.list_pkgs() %}
281181
281182          # GOOD EXAMPLE
281183          # The Jinja in this Jinja comment will not be executed.
281184          {# {% set apache_is_installed = 'apache' in salt.pkg.list_pkgs() %} #}
281185
281186   Easy on the Jinja!
281187       Jinja templating provides vast flexibility and power when building Salt
281188       sls files. It can also create an unmaintainable  tangle  of  logic  and
281189       data.  Speaking  broadly,  Jinja  is best used when kept apart from the
281190       states (as much as is possible).
281191
281192       Below are guidelines and examples of how Jinja can be used effectively.
281193
281194   Know the evaluation and execution order
281195       High-level knowledge of how Salt states are compiled and run is  useful
281196       when writing states.
281197
281198       The default renderer setting in Salt is Jinja piped to YAML.  Each is a
281199       separate step. Each step is not aware  of  the  previous  or  following
281200       step.  Jinja  is  not  YAML aware, YAML is not Jinja aware; they cannot
281201       share variables or interact.
281202
281203       · Whatever the Jinja step produces must be valid YAML.
281204
281205       · Whatever the YAML step produces must be a valid highstate data struc‐
281206         ture.  (This  is also true of the final step for any of the alternate
281207         renderers in Salt.)
281208
281209       · Highstate can be thought of as a human-friendly data structure;  easy
281210         to write and easy to read.
281211
281212       · Salt's  state compiler validates the highstate and compiles it to low
281213         state.
281214
281215       · Low state can be thought of as a machine-friendly data structure.  It
281216         is a list of dictionaries that each map directly to a function call.
281217
281218       · Salt's  state  system  finally starts and executes on each "chunk" in
281219         the low state. Remember that requisites are evaluated at runtime.
281220
281221       · The return for each function call is added to the  "running"  dictio‐
281222         nary which is the final output at the end of the state run.
281223
281224       The full evaluation and execution order:
281225
281226          Jinja -> YAML -> Highstate -> low state -> execution
281227
281228   Avoid changing the underlying system with Jinja
281229       Avoid  calling  commands  from Jinja that change the underlying system.
281230       Commands run via Jinja do not respect Salt's dry-run mode  (test=True)!
281231       This  is  usually in conflict with the idempotent nature of Salt states
281232       unless the command being run is also idempotent.
281233
281234   Inspect the local system
281235       A common use for Jinja in Salt states is to  gather  information  about
281236       the  underlying  system.  The  grains dictionary available in the Jinja
281237       context is a great example of common data points that Salt  itself  has
281238       already  gathered.   Less common values are often found by running com‐
281239       mands. For example:
281240
281241          {% set is_selinux_enabled = salt.cmd.run('sestatus') == '1' %}
281242
281243       This is usually best done with a variable assignment in order to  sepa‐
281244       rate the data from the state that will make use of the data.
281245
281246   Gather external data
281247       One of the most common uses for Jinja is to pull external data into the
281248       state file. External data can come from  anywhere  like  API  calls  or
281249       database  queries,  but  it  most commonly comes from flat files on the
281250       file system or Pillar data from the Salt Master. For example:
281251
281252          {% set some_data = salt.pillar.get('some_data', {'sane default': True}) %}
281253
281254          {# or #}
281255
281256          {% import_yaml 'path/to/file.yaml' as some_data %}
281257
281258          {# or #}
281259
281260          {% import_json 'path/to/file.json' as some_data %}
281261
281262          {# or #}
281263
281264          {% import_text 'path/to/ssh_key.pub' as ssh_pub_key %}
281265
281266          {# or #}
281267
281268          {% from 'path/to/other_file.jinja' import some_data with context %}
281269
281270       This is usually best done with a variable assignment in order to  sepa‐
281271       rate the data from the state that will make use of the data.
281272
281273   Light conditionals and looping
281274       Jinja  is  extremely  powerful  for  programmatically  generating  Salt
281275       states. It is also easy to overuse. As a rule of thumb, if it  is  hard
281276       to read it will be hard to maintain!
281277
281278       Separate  Jinja  control-flow  statements from the states as much as is
281279       possible to create readable states. Limit Jinja within states to simple
281280       variable lookups.
281281
281282       Below is a simple example of a readable loop:
281283
281284          {% for user in salt.pillar.get('list_of_users', []) %}
281285
281286          {# Ensure unique state IDs when looping. #}
281287          {{ user.name }}-{{ loop.index }}:
281288            user.present:
281289              - name: {{ user.name }}
281290              - shell: {{ user.shell }}
281291
281292          {% endfor %}
281293
281294       Avoid  putting  a Jinja conditionals within Salt states where possible.
281295       Readability suffers and the correct YAML indentation  is  difficult  to
281296       see  in the surrounding visual noise. Parametrization (discussed below)
281297       and variables are both useful techniques to avoid this. For example:
281298
281299          {# ---- Bad example ---- #}
281300
281301          apache:
281302            pkg.installed:
281303              {% if grains.os_family == 'RedHat' %}
281304              - name: httpd
281305              {% elif grains.os_family == 'Debian' %}
281306              - name: apache2
281307              {% endif %}
281308
281309          {# ---- Better example ---- #}
281310
281311          {% if grains.os_family == 'RedHat' %}
281312          {% set name = 'httpd' %}
281313          {% elif grains.os_family == 'Debian' %}
281314          {% set name = 'apache2' %}
281315          {% endif %}
281316
281317           apache:
281318            pkg.installed:
281319              - name: {{ name }}
281320
281321          {# ---- Good example ---- #}
281322
281323          {% set name = {
281324              'RedHat': 'httpd',
281325              'Debian': 'apache2',
281326          }.get(grains.os_family) %}
281327
281328           apache:
281329            pkg.installed:
281330              - name: {{ name }}
281331
281332       Dictionaries are useful to  effectively  "namespace"  a  collection  of
281333       variables.  This is useful with parametrization (discussed below). Dic‐
281334       tionaries are also easily combined and merged. And they can be directly
281335       serialized  into YAML which is often easier than trying to create valid
281336       YAML through templating. For example:
281337
281338          {# ---- Bad example ---- #}
281339
281340          haproxy_conf:
281341            file.managed:
281342              - name: /etc/haproxy/haproxy.cfg
281343              - template: jinja
281344              {% if 'external_loadbalancer' in grains.roles %}
281345              - source: salt://haproxy/external_haproxy.cfg
281346              {% elif 'internal_loadbalancer' in grains.roles %}
281347              - source: salt://haproxy/internal_haproxy.cfg
281348              {% endif %}
281349              - context:
281350                  {% if 'external_loadbalancer' in grains.roles %}
281351                  ssl_termination: True
281352                  {% elif 'internal_loadbalancer' in grains.roles %}
281353                  ssl_termination: False
281354                  {% endif %}
281355
281356          {# ---- Better example ---- #}
281357
281358          {% load_yaml as haproxy_defaults %}
281359          common_settings:
281360            bind_port: 80
281361
281362          internal_loadbalancer:
281363            source: salt://haproxy/internal_haproxy.cfg
281364            settings:
281365              bind_port: 8080
281366              ssl_termination: False
281367
281368          external_loadbalancer:
281369            source: salt://haproxy/external_haproxy.cfg
281370            settings:
281371              ssl_termination: True
281372          {% endload %}
281373
281374          {% if 'external_loadbalancer' in grains.roles %}
281375          {% set haproxy = haproxy_defaults['external_loadbalancer'] %}
281376          {% elif 'internal_loadbalancer' in grains.roles %}
281377          {% set haproxy = haproxy_defaults['internal_loadbalancer'] %}
281378          {% endif %}
281379
281380          {% do haproxy.settings.update(haproxy_defaults.common_settings) %}
281381
281382          haproxy_conf:
281383            file.managed:
281384              - name: /etc/haproxy/haproxy.cfg
281385              - template: jinja
281386              - source: {{ haproxy.source }}
281387              - context: {{ haproxy.settings | yaml() }}
281388
281389       There is still room for improvement in the above example. For  example,
281390       extracting  into  an external file or replacing the if-elif conditional
281391       with a function call to filter the correct data more  succinctly.  How‐
281392       ever,  the state itself is simple and legible, the data is separate and
281393       also simple and legible.  And those suggested improvements can be  made
281394       at some future date without altering the state at all!
281395
281396   Avoid heavy logic and programming
281397       Jinja  is not Python. It was made by Python programmers and shares many
281398       semantics and some syntax but it does not  allow  for  abitrary  Python
281399       function  calls  or  Python imports. Jinja is a fast and efficient tem‐
281400       plating language but the syntax can be verbose and visually noisy.
281401
281402       Once Jinja use within an sls file becomes slightly complicated --  long
281403       chains  of  if-elif-elif-else  statements, nested conditionals, compli‐
281404       cated dictionary merges, wanting to use sets -- instead consider  using
281405       a  different  Salt  renderer, such as the Python renderer. As a rule of
281406       thumb, if it is hard to read it will be hard to maintain -- switch to a
281407       format that is easier to read.
281408
281409       Using  alternate renderers is very simple to do using Salt's "she-bang"
281410       syntax at the top of the file. The Python renderer must  simply  return
281411       the  correct highstate data structure. The following example is a state
281412       tree of two sls files, one simple and one complicated.
281413
281414       /srv/salt/top.sls:
281415
281416          base:
281417            '*':
281418              - common_configuration
281419              - roles_configuration
281420
281421       /srv/salt/common_configuration.sls:
281422
281423          common_users:
281424            user.present:
281425              - names:
281426                - larry
281427                - curly
281428                - moe
281429
281430       /srv/salt/roles_configuration:
281431
281432          #!py
281433          def run():
281434              list_of_roles = set()
281435
281436              # This example has the minion id in the form 'web-03-dev'.
281437              # Easily access the grains dictionary:
281438              try:
281439                  app, instance_number, environment = __grains__['id'].split('-')
281440                  instance_number = int(instance_number)
281441              except ValueError:
281442                  app, instance_number, environment = ['Unknown', 0, 'dev']
281443
281444              list_of_roles.add(app)
281445
281446              if app == 'web' and environment == 'dev':
281447                  list_of_roles.add('primary')
281448                  list_of_roles.add('secondary')
281449              elif app == 'web' and environment == 'staging':
281450                  if instance_number == 0:
281451                      list_of_roles.add('primary')
281452                  else:
281453                      list_of_roles.add('secondary')
281454
281455              # Easily cross-call Salt execution modules:
281456              if __salt__['myutils.query_valid_ec2_instance']():
281457                  list_of_roles.add('is_ec2_instance')
281458
281459              return {
281460                  'set_roles_grains': {
281461                      'grains.present': [
281462                          {'name': 'roles'},
281463                          {'value': list(list_of_roles)},
281464                      ],
281465                  },
281466              }
281467
281468   Jinja Macros
281469       In Salt sls files Jinja macros are useful for one thing and  one  thing
281470       only:  creating  mini  templates  that  can  be  reused and rendered on
281471       demand. Do not fall into the trap of thinking of macros  as  functions;
281472       Jinja is not Python (see above).
281473
281474       Macros  are  useful  for  creating  reusable, parameterized states. For
281475       example:
281476
281477          {% macro user_state(state_id, user_name, shell='/bin/bash', groups=[]) %}
281478          {{ state_id }}:
281479            user.present:
281480              - name: {{ user_name }}
281481              - shell: {{ shell }}
281482              - groups: {{ groups | json() }}
281483          {% endmacro %}
281484
281485          {% for user_info in salt.pillar.get('my_users', []) %}
281486          {{ user_state('user_number_' ~ loop.index, **user_info) }}
281487          {% endfor %}
281488
281489       Macros are also useful for  creating  one-off  "serializers"  that  can
281490       accept a data structure and write that out as a domain-specific config‐
281491       uration file. For example, the following macro could be used to write a
281492       php.ini config file:
281493
281494       /srv/salt/php.sls:
281495
281496          php_ini:
281497            file.managed:
281498              - name: /etc/php.ini
281499              - source: salt://php.ini.tmpl
281500              - template: jinja
281501              - context:
281502                  php_ini_settings: {{ salt.pillar.get('php_ini', {}) | json() }}
281503
281504       /srv/pillar/php.sls:
281505
281506          php_ini:
281507            PHP:
281508              engine: 'On'
281509              short_open_tag: 'Off'
281510              error_reporting: 'E_ALL & ~E_DEPRECATED & ~E_STRICT'
281511
281512       /srv/salt/php.ini.tmpl:
281513
281514          {% macro php_ini_serializer(data) %}
281515          {% for section_name, name_val_pairs in data.items() %}
281516          [{{ section_name }}]
281517          {% for name, val in name_val_pairs.items() -%}
281518          {{ name }} = "{{ val }}"
281519          {% endfor %}
281520          {% endfor %}
281521          {% endmacro %}
281522
281523          ; File managed by Salt at <{{ source }}>.
281524          ; Your changes will be overwritten.
281525
281526          {{ php_ini_serializer(php_ini_settings) }}
281527
281528   Abstracting static defaults into a lookup table
281529       Separate  data that a state uses from the state itself to increases the
281530       flexibility and reusability of a state.
281531
281532       An obvious and common example  of  this  is  platform-specific  package
281533       names  and  file  system paths. Another example is sane defaults for an
281534       application, or common settings within a company or organization. Orga‐
281535       nizing  such data as a dictionary (aka hash map, lookup table, associa‐
281536       tive array) often provides a lightweight  namespacing  and  allows  for
281537       quick and easy lookups. In addition, using a dictionary allows for eas‐
281538       ily merging and overriding static values within  a  lookup  table  with
281539       dynamic values fetched from Pillar.
281540
281541       A  strong  convention  in  Salt  Formulas is to place platform-specific
281542       data, such as package names and file system paths, into  a  file  named
281543       map.jinja that is placed alongside the state files.
281544
281545       The  following  is  an example from the MySQL Formula.  The grains.fil‐
281546       ter_by function performs a lookup on that  table  using  the  os_family
281547       grain (by default).
281548
281549       The  result  is  that the mysql variable is assigned to a subset of the
281550       lookup table for the current platform. This allows states to reference,
281551       for  example, the name of a package without worrying about the underly‐
281552       ing OS. The syntax for referencing  a  value  is  a  normal  dictionary
281553       lookup  in  Jinja,  such  as {{ mysql['service'] }} or the shorthand {{
281554       mysql.service }}.
281555
281556       map.jinja:
281557
281558          {% set mysql = salt['grains.filter_by']({
281559              'Debian': {
281560                  'server': 'mysql-server',
281561                  'client': 'mysql-client',
281562                  'service': 'mysql',
281563                  'config': '/etc/mysql/my.cnf',
281564                  'python': 'python-mysqldb',
281565              },
281566              'RedHat': {
281567                  'server': 'mysql-server',
281568                  'client': 'mysql',
281569                  'service': 'mysqld',
281570                  'config': '/etc/my.cnf',
281571                  'python': 'MySQL-python',
281572              },
281573              'Gentoo': {
281574                  'server': 'dev-db/mysql',
281575                  'client': 'dev-db/mysql',
281576                  'service': 'mysql',
281577                  'config': '/etc/mysql/my.cnf',
281578                  'python': 'dev-python/mysql-python',
281579              },
281580          }, merge=salt['pillar.get']('mysql:lookup')) %}
281581
281582       Values defined in the map file can be fetched for the current  platform
281583       in any state file using the following syntax:
281584
281585          {% from "mysql/map.jinja" import mysql with context %}
281586
281587          mysql-server:
281588            pkg.installed:
281589              - name: {{ mysql.server }}
281590            service.running:
281591              - name: {{ mysql.service }}
281592
281593   Organizing Pillar data
281594       It  is  considered  a  best  practice  to make formulas expect all for‐
281595       mula-related parameters to be placed  under  second-level  lookup  key,
281596       within a main namespace designated for holding data for particular ser‐
281597       vice/software/etc, managed by the formula:
281598
281599          mysql:
281600            lookup:
281601              version: 5.7.11
281602
281603   Collecting common values
281604       Common values can be collected into a base dictionary.  This  minimizes
281605       repetition  of  identical values in each of the lookup_dict sub-dictio‐
281606       naries.  Now only the values that are different from the base  must  be
281607       specified by the alternates:
281608
281609       map.jinja:
281610
281611          {% set mysql = salt['grains.filter_by']({
281612              'default': {
281613                  'server': 'mysql-server',
281614                  'client': 'mysql-client',
281615                  'service': 'mysql',
281616                  'config': '/etc/mysql/my.cnf',
281617                  'python': 'python-mysqldb',
281618              },
281619              'Debian': {
281620              },
281621              'RedHat': {
281622                  'client': 'mysql',
281623                  'service': 'mysqld',
281624                  'config': '/etc/my.cnf',
281625                  'python': 'MySQL-python',
281626              },
281627              'Gentoo': {
281628                  'server': 'dev-db/mysql',
281629                  'client': 'dev-db/mysql',
281630                  'python': 'dev-python/mysql-python',
281631              },
281632          },
281633          merge=salt['pillar.get']('mysql:lookup'), base='default') %}
281634
281635   Overriding values in the lookup table
281636       Allow  static  values  within lookup tables to be overridden. This is a
281637       simple pattern which once again increases flexibility  and  reusability
281638       for state files.
281639
281640       The  merge argument in filter_by specifies the location of a dictionary
281641       in Pillar that can be used to override values returned from the  lookup
281642       table. If the value exists in Pillar it will take precedence.
281643
281644       This  is  useful  when  software or configuration files is installed to
281645       non-standard locations or on unsupported platforms.  For  example,  the
281646       following Pillar would replace the config value from the call above.
281647
281648          mysql:
281649            lookup:
281650              config: /usr/local/etc/mysql/my.cnf
281651
281652       NOTE:
281653          Protecting Expansion of Content with Special Characters
281654
281655          When  templating keep in mind that YAML does have special characters
281656          for quoting, flows, and other special structure and content.  When a
281657          Jinja  substitution  may have special characters that will be incor‐
281658          rectly parsed by YAML care must be taken.  It is a  good  policy  to
281659          use the yaml_encode or the yaml_dquote Jinja filters:
281660
281661              {%- set foo = 7.7 %}
281662              {%- set bar = none %}
281663              {%- set baz = true %}
281664              {%- set zap = 'The word of the day is "salty".' %}
281665              {%- set zip = '"The quick brown fox . . ."' %}
281666
281667              foo: {{ foo|yaml_encode }}
281668              bar: {{ bar|yaml_encode }}
281669              baz: {{ baz|yaml_encode }}
281670              zap: {{ zap|yaml_encode }}
281671              zip: {{ zip|yaml_dquote }}
281672
281673          The above will be rendered as below:
281674
281675              foo: 7.7
281676              bar: null
281677              baz: true
281678              zap: "The word of the day is \"salty\"."
281679              zip: "\"The quick brown fox . . .\""
281680
281681       The  filter_by  function  performs  a simple dictionary lookup but also
281682       allows for fetching data from Pillar and overriding data stored in  the
281683       lookup  table. That same workflow can be easily performed without using
281684       filter_by; other dictionaries besides data  from  Pillar  can  also  be
281685       used.
281686
281687          {% set lookup_table = {...} %}
281688          {% do lookup_table.update(salt.pillar.get('my:custom:data')) %}
281689
281690   When to use lookup tables
281691       The  map.jinja  file  is  only  a convention within Salt Formulas. This
281692       greater pattern is useful for a wide variety of data in a wide  variety
281693       of  workflows.  This pattern is not limited to pulling data from a sin‐
281694       gle file or data source.  This pattern is useful in States, Pillar  and
281695       the Reactor, for example.
281696
281697       Working with a data structure instead of, say, a config file allows the
281698       data to be cobbled together from multiple sources (local files,  remote
281699       Pillar, database queries, etc), combined, overridden, and searched.
281700
281701       Below  are  a  few examples of what lookup tables may be useful for and
281702       how they may be used and represented.
281703
281704   Platform-specific information
281705       An obvious pattern and one used heavily in Salt Formulas is  extracting
281706       platform-specific  information  such  as  package names and file system
281707       paths in a file named map.jinja. The pattern  is  explained  in  detail
281708       above.
281709
281710   Sane defaults
281711       Application  settings can be a good fit for this pattern. Store default
281712       settings along with the states themselves and keep overrides and sensi‐
281713       tive settings in Pillar. Combine both into a single dictionary and then
281714       write the application config or settings file.
281715
281716       The example below stores most of  the  Apache  Tomcat  server.xml  file
281717       alongside  the  Tomcat  states  and then allows values to be updated or
281718       augmented via Pillar. (This example  uses  the  BadgerFish  format  for
281719       transforming JSON to XML.)
281720
281721       /srv/salt/tomcat/defaults.yaml:
281722
281723          Server:
281724            '@port': '8005'
281725            '@shutdown': SHUTDOWN
281726            GlobalNamingResources:
281727              Resource:
281728                '@auth': Container
281729                '@description': User database that can be updated and saved
281730                '@factory': org.apache.catalina.users.MemoryUserDatabaseFactory
281731                '@name': UserDatabase
281732                '@pathname': conf/tomcat-users.xml
281733                '@type': org.apache.catalina.UserDatabase
281734            # <...snip...>
281735
281736       /srv/pillar/tomcat.sls:
281737
281738          appX:
281739            server_xml_overrides:
281740              Server:
281741                Service:
281742                  '@name': Catalina
281743                  Connector:
281744                    '@port': '8009'
281745                    '@protocol': AJP/1.3
281746                    '@redirectPort': '8443'
281747                    # <...snip...>
281748
281749       /srv/salt/tomcat/server_xml.sls:
281750
281751          {% import_yaml 'tomcat/defaults.yaml' as server_xml_defaults %}
281752          {% set server_xml_final_values = salt.pillar.get(
281753              'appX:server_xml_overrides',
281754              default=server_xml_defaults,
281755              merge=True)
281756          %}
281757
281758          appX_server_xml:
281759            file.serialize:
281760              - name: /etc/tomcat/server.xml
281761              - dataset: {{ server_xml_final_values | json() }}
281762              - formatter: xml_badgerfish
281763
281764       The  file.serialize  state  can  provide  a shorthand for creating some
281765       files from data structures. There are also many  examples  within  Salt
281766       Formulas of creating one-off "serializers" (often as Jinja macros) that
281767       reformat a data structure to a specific config file format.  For  exam‐
281768       ple, look at the`Nginx vhosts`_ states or the php.ini file template.
281769
281770   Environment specific information
281771       A  single  state can be reused when it is parameterized as described in
281772       the section below, by separating the data the state will use  from  the
281773       state  that  performs  the  work.  This  can  be the difference between
281774       deploying Application X and Application Y, or  the  difference  between
281775       production and development. For example:
281776
281777       /srv/salt/app/deploy.sls:
281778
281779          {# Load the map file. #}
281780          {% import_yaml 'app/defaults.yaml' as app_defaults %}
281781
281782          {# Extract the relevant subset for the app configured on the current
281783             machine (configured via a grain in this example). #}
281784          {% app = app_defaults.get(salt.grains.get('role')) %}
281785
281786          {# Allow values from Pillar to (optionally) update values from the lookup
281787             table. #}
281788          {% do app_defaults.update(salt.pillar.get('myapp', {})) %}
281789
281790          deploy_application:
281791            git.latest:
281792              - name: {{ app.repo_url }}
281793              - version: {{ app.version }}
281794              - target: {{ app.deploy_dir }}
281795
281796          myco/myapp/deployed:
281797            event.send:
281798              - data:
281799                  version: {{ app.version }}
281800              - onchanges:
281801                - git: deploy_application
281802
281803       /srv/salt/app/defaults.yaml:
281804
281805          appX:
281806            repo_url: git@github.com/myco/appX.git
281807            target: /var/www/appX
281808            version: master
281809          appY:
281810            repo_url: git@github.com/myco/appY.git
281811            target: /var/www/appY
281812            version: v1.2.3.4
281813
281814   Single-purpose SLS files
281815       Each  sls  file  in  a Formula should strive to do a single thing. This
281816       increases the reusability of this file by keeping unrelated tasks  from
281817       getting coupled together.
281818
281819       As  an  example, the base Apache formula should only install the Apache
281820       httpd server and start the httpd service. This is the  basic,  expected
281821       behavior  when  installing  Apache.  It  should  not perform additional
281822       changes such as set the Apache configuration file or create vhosts.
281823
281824       If a formula is single-purpose as in the example above, other formulas,
281825       and  also other states can include and use that formula with requisites
281826       without also including undesirable or unintended side-effects.
281827
281828       The following is a best-practice example for a reusable Apache formula.
281829       (This  skips  platform-specific  options  for  brevity.  See  the  full
281830       apache-formula for more.)
281831
281832          # apache/init.sls
281833          apache:
281834            pkg.installed:
281835              [...]
281836            service.running:
281837              [...]
281838
281839          # apache/mod_wsgi.sls
281840          include:
281841            - apache
281842
281843          mod_wsgi:
281844            pkg.installed:
281845              [...]
281846              - require:
281847                - pkg: apache
281848
281849          # apache/conf.sls
281850          include:
281851            - apache
281852
281853          apache_conf:
281854            file.managed:
281855              [...]
281856              - watch_in:
281857                - service: apache
281858
281859       To illustrate a bad example, say the  above  Apache  formula  installed
281860       Apache  and  also created a default vhost. The mod_wsgi state would not
281861       be able to include the Apache formula to create  that  dependency  tree
281862       without also installing the unneeded default vhost.
281863
281864       Formulas should be reusable. Avoid coupling unrelated actions together.
281865
281866   Parameterization
281867       Parameterization  is  a  key feature of Salt Formulas and also for Salt
281868       States. Parameterization allows a single Formula to  be  reused  across
281869       many operating systems; to be reused across production, development, or
281870       staging environments; and to be reused by many people all with  varying
281871       goals.
281872
281873       Writing  states,  specifying ordering and dependencies is the part that
281874       takes the longest to write and to test. Filling those states  out  with
281875       data such as users or package names or file locations is the easy part.
281876       How many users, what those users are named, or where the files live are
281877       all  implementation  details that should be parameterized. This separa‐
281878       tion between a state and the data that populates a state creates a  re‐
281879       usable formula.
281880
281881       In  the  example  below the data that populates the state can come from
281882       anywhere -- it can be hard-coded at the top of the state, it  can  come
281883       from  an  external  file,  it can come from Pillar, it can come from an
281884       execution function call, or it can come  from  a  database  query.  The
281885       state  itself  doesn't  change regardless of where the data comes from.
281886       Production data will vary from development data  will  vary  from  data
281887       from one company to another, however the state itself stays the same.
281888
281889          {% set user_list = [
281890              {'name': 'larry', 'shell': 'bash'},
281891              {'name': 'curly', 'shell': 'bash'},
281892              {'name': 'moe', 'shell': 'zsh'},
281893          ] %}
281894
281895          {# or #}
281896
281897          {% set user_list = salt['pillar.get']('user_list') %}
281898
281899          {# or #}
281900
281901          {% load_json "default_users.json" as user_list %}
281902
281903          {# or #}
281904
281905          {% set user_list = salt['acme_utils.get_user_list']() %}
281906
281907          {% for user in list_list %}
281908          {{ user.name }}:
281909            user.present:
281910              - name: {{ user.name }}
281911              - shell: {{ user.shell }}
281912          {% endfor %}
281913
281914   Configuration
281915       Formulas  should strive to use the defaults of the underlying platform,
281916       followed by defaults  from  the  upstream  project,  followed  by  sane
281917       defaults for the formula itself.
281918
281919       As  an  example,  a  formula  to  install  Apache should not change the
281920       default Apache configuration file installed by the OS package. However,
281921       the  Apache  formula  should  include a state to change or override the
281922       default configuration file.
281923
281924   Pillar overrides
281925       Pillar lookups must use the safe  get()  and  must  provide  a  default
281926       value. Create local variables using the Jinja set construct to increase
281927       readability and to avoid potentially hundreds or thousands of  function
281928       calls across a large state tree.
281929
281930          {% from "apache/map.jinja" import apache with context %}
281931          {% set settings = salt['pillar.get']('apache', {}) %}
281932
281933          mod_status:
281934            file.managed:
281935              - name: {{ apache.conf_dir }}
281936              - source: {{ settings.get('mod_status_conf', 'salt://apache/mod_status.conf') }}
281937              - template: {{ settings.get('template_engine', 'jinja') }}
281938
281939       Any  default  values used in the Formula must also be documented in the
281940       pillar.example file in the root of the repository. Comments  should  be
281941       used  liberally  to  explain the intent of each configuration value. In
281942       addition, users should be able copy-and-paste the contents of this file
281943       into their own Pillar to make any desired changes.
281944
281945   Scripting
281946       Remember  that both State files and Pillar files can easily call out to
281947       Salt execution modules and have access to  all  the  system  grains  as
281948       well.
281949
281950          {% if '/storage' in salt['mount.active']() %}
281951          /usr/local/etc/myfile.conf:
281952            file:
281953              - symlink
281954              - target: /storage/myfile.conf
281955          {% endif %}
281956
281957       Jinja  macros  to  encapsulate logic or conditionals are discouraged in
281958       favor of writing custom execution modules in Python.
281959
281960   Repository structure
281961       A basic Formula repository should have the following layout:
281962
281963          foo-formula
281964          |-- foo/
281965          |   |-- map.jinja
281966          |   |-- init.sls
281967          |   `-- bar.sls
281968          |-- CHANGELOG.rst
281969          |-- LICENSE
281970          |-- pillar.example
281971          |-- README.rst
281972          `-- VERSION
281973
281974       SEE ALSO:
281975          template-formula
281976
281977          The template-formula repository has a pre-built layout  that  serves
281978          as  the  basic structure for a new formula repository. Just copy the
281979          files from there and edit them.
281980
281981   README.rst
281982       The README should detail each available .sls file by explaining what it
281983       does, whether it has any dependencies on other formulas, whether it has
281984       a target platform, and any other installation or usage instructions  or
281985       tips.
281986
281987       A sample skeleton for the README.rst file:
281988
281989          ===
281990          foo
281991          ===
281992
281993          Install and configure the FOO service.
281994
281995          **NOTE**
281996
281997          See the full `Salt Formulas installation and usage instructions
281998          <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_.
281999
282000          Available states
282001          ================
282002
282003          .. contents::
282004              :local:
282005
282006          ``foo``
282007          -------
282008
282009          Install the ``foo`` package and enable the service.
282010
282011          ``foo.bar``
282012          -----------
282013
282014          Install the ``bar`` package.
282015
282016   CHANGELOG.rst
282017       The  CHANGELOG.rst  file  should  detail the individual versions, their
282018       release date and a set of bullet points for each  version  highlighting
282019       the overall changes in a given version of the formula.
282020
282021       A sample skeleton for the CHANGELOG.rst file:
282022
282023       CHANGELOG.rst:
282024
282025          foo formula
282026          ===========
282027
282028          0.0.2 (2013-01-01)
282029
282030          - Re-organized formula file layout
282031          - Fixed filename used for upstart logger template
282032          - Allow for pillar message to have default if none specified
282033
282034   Versioning
282035       Formula    are    versioned    according    to   Semantic   Versioning,
282036       http://semver.org/.
282037
282038       NOTE:
282039          Given a version number MAJOR.MINOR.PATCH, increment the:
282040
282041          1. MAJOR version when you make incompatible API changes,
282042
282043          2. MINOR version when you add functionality in a  backwards-compati‐
282044             ble manner, and
282045
282046          3. PATCH version when you make backwards-compatible bug fixes.
282047
282048          Additional  labels  for pre-release and build metadata are available
282049          as extensions to the MAJOR.MINOR.PATCH format.
282050
282051       Formula versions are tracked using Git tags as well as the VERSION file
282052       in  the  formula  repository.  The VERSION file should contain the cur‐
282053       rently released version of the particular formula.
282054
282055   Testing Formulas
282056       A smoke-test for invalid Jinja, invalid YAML, or an invalid Salt  state
282057       structure can be performed by with the state.show_sls function:
282058
282059          salt '*' state.show_sls apache
282060
282061       Salt  Formulas  can  then  be  tested  by  running  each  .sls file via
282062       state.apply and checking the output for the success or failure of  each
282063       state in the Formula. This should be done for each supported platform.
282064
282065   SaltStack Packaging Guide
282066       Since  Salt provides a powerful toolkit for system management and auto‐
282067       mation, the package can be spit into a number of sub-tools. While pack‐
282068       aging  Salt  as a single package containing all components is perfectly
282069       acceptable, the split packages should follow this convention.
282070
282071   Patching Salt For Distributions
282072       The occasion may arise where Salt source and default configurations may
282073       need to be patched. It is preferable if Salt is only patched to include
282074       platform specific additions or to fix release time bugs. It is  prefer‐
282075       able  that  configuration settings and operations remain in the default
282076       state, as changes here lowers the  user  experience  for  users  moving
282077       across distributions.
282078
282079       In  the  event where a packager finds a need to change the default con‐
282080       figuration it is advised to add the files to the master.d  or  minion.d
282081       directories.
282082
282083   Source Files
282084       Release  packages  should  always be built from the source tarball dis‐
282085       tributed via pypi. Release packages should NEVER use a git checkout  as
282086       the source for distribution.
282087
282088   Single Package
282089       Shipping  Salt  as  a single package, where the minion, master, and all
282090       tools are together is perfectly acceptable and practiced  by  distribu‐
282091       tions such as FreeBSD.
282092
282093   Split Package
282094       Salt  Should always be split in a standard way, with standard dependen‐
282095       cies, this lowers cross distribution confusion  about  what  components
282096       are  going  to be shipped with specific packages. These packages can be
282097       defined from the Salt Source as of Salt 2014.1.0:
282098
282099   Salt Common
282100       The salt-common or salt package should contain the  files  provided  by
282101       the salt python package, or all files distributed from the salt/ direc‐
282102       tory in the source distribution packages. The  documentation  contained
282103       under  the  doc/  directory can be a part of this package but splitting
282104       out a doc package is preferred.  Since salt-call is the entry point  to
282105       utilize  the libs and is useful for all salt packages it is included in
282106       the salt-common package.
282107
282108   Name
282109       · salt OR salt-common
282110
282111   Files
282112       · salt/*
282113
282114       · man/salt.7
282115
282116       · scripts/salt-call
282117
282118       · tests/*
282119
282120       · man/salt-call.1
282121
282122   Depends
282123       · Python 2.6-2.7
282124
282125       · PyYAML
282126
282127       · Jinja2
282128
282129   Salt Master
282130       The salt-master package contains the applicable  scripts,  related  man
282131       pages and init information for the given platform.
282132
282133   Name
282134       · salt-master
282135
282136   Files
282137       · scripts/salt-master
282138
282139       · scripts/salt
282140
282141       · scripts/salt-run
282142
282143       · scripts/salt-key
282144
282145       · scripts/salt-cp
282146
282147       · pkg/<master init data>
282148
282149       · man/salt.1
282150
282151       · man/salt-master.1
282152
282153       · man/salt-run.1
282154
282155       · man/salt-key.1
282156
282157       · man/salt-cp.1
282158
282159       · conf/master
282160
282161   Depends
282162       · Salt Common
282163
282164       · ZeroMQ >= 3.2
282165
282166       · PyZMQ >= 2.10
282167
282168       · PyCrypto
282169
282170       · M2Crypto
282171
282172       · Python MessagePack (Messagepack C lib, or msgpack-pure)
282173
282174   Salt Syndic
282175       The  Salt  Syndic package can be rolled completely into the Salt Master
282176       package.  Platforms which start services as part of the package deploy‐
282177       ment  need to maintain a separate salt-syndic package (primarily Debian
282178       based platforms).
282179
282180       The Syndic may optionally not depend on the anything more than the Salt
282181       Master since the master will bring in all needed dependencies, but fall
282182       back to the platform specific packaging guidelines.
282183
282184   Name
282185       · salt-syndic
282186
282187   Files
282188       · scripts/salt-syndic
282189
282190       · pkg/<syndic init data>
282191
282192       · man/salt-syndic.1
282193
282194   Depends
282195       · Salt Common
282196
282197       · Salt Master
282198
282199       · ZeroMQ >= 3.2
282200
282201       · PyZMQ >= 2.10
282202
282203       · PyCrypto
282204
282205       · M2Crypto
282206
282207       · Python MessagePack (Messagepack C lib, or msgpack-pure)
282208
282209   Salt Minion
282210       The Minion is a standalone package and should not be split  beyond  the
282211       salt-minion and salt-common packages.
282212
282213   Name
282214       · salt-minion
282215
282216   Files
282217       · scripts/salt-minion
282218
282219       · pkg/<minion init data>
282220
282221       · man/salt-minion.1
282222
282223       · conf/minion
282224
282225   Depends
282226       · Salt Common
282227
282228       · ZeroMQ >= 3.2
282229
282230       · PyZMQ >= 2.10
282231
282232       · PyCrypto
282233
282234       · M2Crypto
282235
282236       · Python MessagePack (Messagepack C lib, or msgpack-pure)
282237
282238   Salt SSH
282239       Since Salt SSH does not require the same dependencies as the minion and
282240       master, it should be split out.
282241
282242   Name
282243       · salt-ssh
282244
282245   Files
282246       · scripts/salt-ssh
282247
282248       · man/salt-ssh.1
282249
282250       · conf/cloud*
282251
282252   Depends
282253       · Salt Common
282254
282255       · Python MessagePack (Messagepack C lib, or msgpack-pure)
282256
282257   Salt Cloud
282258       As of Salt 2014.1.0 Salt Cloud is included in the same  repo  as  Salt.
282259       This  can be split out into a separate package or it can be included in
282260       the salt-master package.
282261
282262   Name
282263       · salt-cloud
282264
282265   Files
282266       · scripts/salt-cloud
282267
282268       · man/salt-cloud.1
282269
282270   Depends
282271       · Salt Common
282272
282273       · apache libcloud >= 0.14.0
282274
282275   Salt Doc
282276       The documentation package is very distribution optional.  A  completely
282277       split  package will split out the documentation, but some platform con‐
282278       ventions do not prefer this.  If the documentation is not split out, it
282279       should be included with the Salt Common package.
282280
282281   Name
282282       · salt-doc
282283
282284   Files
282285       · doc/*
282286
282287   Optional Depends
282288       · Salt Common
282289
282290       · Python Sphinx
282291
282292       · Make
282293
282294   Salt Release Process
282295       The  goal  for  Salt projects is to cut a new feature release every six
282296       months. This document outlines the process for these releases, and  the
282297       subsequent bug fix releases which follow.
282298
282299   Feature Release Process
282300       When  a new release is ready to be cut, the person responsible for cut‐
282301       ting the release will follow the following  steps  (written  using  the
282302       2019.2.0 release as an example):
282303
282304       1.  Create first public draft of release notes with major features.
282305
282306       2.  Remove any deprecations for the upcoming release.
282307
282308       3.  Notify  salt-users and salt-announce google groups when the feature
282309           freeze branch creation will occur so they can try to get their work
282310           merged.
282311
282312       4.  Create  QA  test  plan. Review features planned for the release and
282313           determine if there is sufficient test coverage.
282314
282315       5.  Ensure all required features are merged.
282316
282317       6.  Complete one last merge forward from the previous branch.
282318
282319       7.  Create feature release branch with the name of  the  release.  (ex.
282320           fluorine)
282321
282322       8.  Create  issue to start the process of deprecating for the next fea‐
282323           ture release.
282324
282325       9.  Create jenkins jobs to test the new feature release branch.
282326
282327       10. Inform salt-users and salt-announce google  groups  feature  branch
282328           and freeze is complete.
282329
282330       11. Add  new  feature  branch to salt-jenkins repo and the kitchen yaml
282331           file.
282332
282333       12. Fix tests failing in jenkins test runs.
282334
282335       13. Finalize QA test plan and add all required tests.
282336
282337       14. Run through a manual test run based off of the head of the  feature
282338           branch.
282339
282340       15. Convert the feature release branch to the version number. For exam‐
282341           ple (v2019.2) This is based off of  the  year  and  month  that  is
282342           planned to release.
282343
282344       16. Migrate both the jenkins test jobs and salt-jenkins repo to the new
282345           branch number.
282346
282347       17. Notify salt-users and salt-announce google groups of the  new  ver‐
282348           sion branch number and migrate any PRs to the new branch.
282349
282350       18. Delete old feature release branch name (ex. fluorine)
282351
282352       19. Update all name references to version number in the docs. For exam‐
282353           ple all fluorine references in  the  docs  needs  to  be  moved  to
282354           v2019.2.0
282355
282356       20. Create RC release branch. (ex. 2019.2.0.rc)
282357
282358       21. Create new jenkins test jobs with new RC release branch
282359
282360       22. Notify  salt-users  and  salt-announce  google groups of the new RC
282361           branch.
282362
282363       23. Fix tests failing in jenkins test runs.
282364
282365       24. Review the release notes with major features.
282366
282367       25. Generate the new man pages for the release.
282368
282369       26. Create internal RC tag for testing.
282370
282371       27. Build latest windows, mac, ubuntu, debian and redhat packages.
282372
282373       28. Run manual and package tests against new RC packages.
282374
282375       29. Update  release  candidate  docs  with  the   new   version.   (ex.
282376           2019.2.0rc1)
282377
282378       30. Push the internal tag live to salt's repo.
282379
282380       31. Publish release archive to pypi based off tag.
282381
282382       32. Push the RC packages live.
282383
282384       33. Announce new RC to salt-users and salt-announce google groups.
282385
282386       34. Triage incoming issues based on the new RC release.
282387
282388       35. Fix RC issues once they are categorized as a release blocker.
282389
282390       36. Depending on the issues found during the RC process make a decesion
282391           on whether to release based off the RC or  go  through  another  RC
282392           process, repeating the steps starting at ensuring the tests are not
282393           failing.
282394
282395       37. If a RC is categorized as stable, build all required packages.
282396
282397       38. Test all release packages.
282398
282399       39. Test links from repo.saltstack.com.
282400
282401       40. Update  installation  instructions  with  new  release  number   at
282402           repo.saltstack.com.
282403
282404       41. Update  and  build docs to include new version (2019.2) as the lat‐
282405           est.
282406
282407       42. Pre-announce on salt-users google group that we are about to update
282408           our repo.
282409
282410       43. Publish release (v2019.2.0) archive to pypi based off tag.
282411
282412       44. Publish all packages live to repo.
282413
282414       45. Publish the docs.
282415
282416       46. Create release at github
282417
282418       47. Update win-repo-ng with new salt versions.
282419
282420       48. Announce  release  is  live  to  irc, salt-users, salt-announce and
282421           release slack community channel.
282422
282423   Maintenance and Bugfix Releases
282424       Once a feature release branch has been cut  from  develop,  the  branch
282425       moves  into a "feature freeze" state. The new release branch enters the
282426       merge-forward chain and only bugfixes should be applied against the new
282427       branch. Once major bugs have been fixed, a bugfix release can be cut:
282428
282429       1.  Ensure all required bug fixes are merged.
282430
282431       2.  Inform  salt-users and salt-announce we are going to branch for the
282432           release.
282433
282434       3.  Complete one last merge forward from the previous branch.
282435
282436       4.  Create release  branch  with  the  version  of  the  release.  (ex.
282437           2019.2.1)
282438
282439       5.  Create jenkins jobs that test the new release branch.
282440
282441       6.  Fix tests failing in jeknins test runs.
282442
282443       7.  Run through a manual test run based off of the head of the branch.
282444
282445       8.  Generate the new man pages for the release.
282446
282447       9.  Create internal tag for testing.(ex v2019.2.1)
282448
282449       10. Build all release packages.
282450
282451       11. Run manual and package tests against new packages.
282452
282453       12. Update   installation  instructions  with  new  release  number  at
282454           repo.saltstack.com.
282455
282456       13. Update and build docs to include new version. (ex. 2019.2.1)
282457
282458       14. Pre-announce on salt-users google  groups  that  we  are  about  to
282459           update our repo.
282460
282461       15. Push the internal tag live to salt's repo.
282462
282463       16. Publish release archive to pypi based off tag.
282464
282465       17. Push the packages live.
282466
282467       18. Publish release (v2019.2.1) archive to pypi based off tag.
282468
282469       19. Publish all packages live to repo.
282470
282471       20. Publish the docs.
282472
282473       21. Create release at github
282474
282475       22. Update win-repo-ng with new salt versions.
282476
282477       23. Announce  release  is  live  to  irc, salt-users, salt-announce and
282478           release slack channel.
282479
282480       For more information about the difference between  the  develop  branch
282481       and  bugfix  release  branches,  please refer to the Which Salt Branch?
282482       section of Salt's Contributing documentation.
282483
282484   Salt Coding Style
282485       To make it easier to contribute  and  read  Salt  code,  SaltStack  has
282486       adopted Black as its code formatter. There are a few places where Black
282487       is silent, and this guide should be used in those cases.
282488
282489       Coding style is NEVER grounds to  reject  code  contributions,  and  is
282490       never  grounds  to  talk down to another member of the community (There
282491       are no grounds to treat others without respect, especially people work‐
282492       ing to improve Salt)!
282493
282494   Linting
282495       Most  Salt  style  conventions are codified in Salt's .testing.pylintrc
282496       file.  Salt's pylint file has two dependencies: pylint and  saltpylint.
282497       You can install these dependencies with pip:
282498
282499          pip install pylint
282500          pip install saltpylint
282501
282502       The .testing.pylintrc file is found in the root of the Salt project and
282503       can be passed as an argument to the pylint program as follows:
282504
282505          pylint --rcfile=/path/to/salt/.testing.pylintrc salt/dir/to/lint
282506
282507       NOTE:
282508          There are two pylint files in the salt directory. One is the .pylin‐
282509          trc file and the other is the .testing.pylintrc file. The tests that
282510          run in Jenkins against GitHub Pull Requests  use  .testing.pylintrc.
282511          The testing.pylintrc file is a little less strict than the .pylintrc
282512          and is used to make it easier for contributors  to  submit  changes.
282513          The .pylintrc file can be used for linting, but the testing.pylintrc
282514          is the source of truth when submitting pull requests.
282515
282516   Variables
282517       Variables should be a minimum of three characters and should provide an
282518       easy-to-understand name of the object being represented.
282519
282520       When  keys  and  values  are iterated over, descriptive names should be
282521       used to represent the temporary variables.
282522
282523       Multi-word variables should be separated by an underscore.
282524
282525       Variables which are two-letter words should have an underscore appended
282526       to them to pad them to three characters.
282527
282528   Formatting Strings
282529       All  strings  which  require  formatting  should use the .format string
282530       method:
282531
282532          data = 'some text'
282533          more = '{0} and then some'.format(data)
282534
282535       Make sure to use indices or identifiers in the format  brackets,  since
282536       empty brackets are not supported by python 2.6.
282537
282538       Please do NOT use printf formatting.
282539
282540   Docstring Conventions
282541       When  adding  a new function or state, where possible try to use a ver‐
282542       sionadded directive to denote when the function,  state,  or  parameter
282543       was added.
282544
282545          def new_func(msg=''):
282546              '''
282547              .. versionadded:: 0.16.0
282548
282549              Prints what was passed to the function.
282550
282551              msg : None
282552                  The string to be printed.
282553              '''
282554              print(msg)
282555
282556       If you are uncertain what version should be used, either consult a core
282557       developer in IRC or bring this up when opening your pull request and  a
282558       core  developer  will  let you know what version to add. Typically this
282559       will be the next element in the periodic table.
282560
282561       Similar to the above, when an existing function or  state  is  modified
282562       (for example, when an argument is added), then under the explanation of
282563       that new argument a versionadded directive should be used to  note  the
282564       version  in which the new argument was added. If an argument's function
282565       changes significantly, the versionchanged  directive  can  be  used  to
282566       clarify this:
282567
282568          def new_func(msg='', signature=''):
282569              '''
282570              .. versionadded:: 0.16.0
282571
282572              Prints what was passed to the function.
282573
282574              msg : None
282575                  The string to be printed. Will be prepended with 'Greetings! '.
282576
282577              .. versionchanged:: 0.17.1
282578
282579              signature : None
282580                  An optional signature.
282581
282582              .. versionadded 0.17.0
282583              '''
282584              print('Greetings! {0}\n\n{1}'.format(msg, signature))
282585
282586   Dictionaries
282587       Dictionaries should be initialized using {} instead of dict().
282588
282589       See here for an in-depth discussion of this topic.
282590
282591   Imports
282592       Salt code prefers importing modules and not explicit functions. This is
282593       both a style and functional preference. The functional preference orig‐
282594       inates  around the fact that the module import system used by pluggable
282595       modules will include callable objects (functions)  that  exist  in  the
282596       direct  module  namespace. This is not only messy, but may unintention‐
282597       ally expose code python libs to the Salt interface and pose a  security
282598       problem.
282599
282600       To say this more directly with an example, this is GOOD:
282601
282602          import os
282603
282604          def minion_path():
282605              path = os.path.join(self.opts['cachedir'], 'minions')
282606              return path
282607
282608       This on the other hand is DISCOURAGED:
282609
282610          from os.path import join
282611
282612          def minion_path():
282613              path = join(self.opts['cachedir'], 'minions')
282614              return path
282615
282616       The  time  when  this is changed is for importing exceptions, generally
282617       directly importing exceptions is preferred:
282618
282619       This is a good way to import exceptions:
282620
282621          from salt.exceptions import CommandExecutionError
282622
282623   Absolute Imports
282624       Although absolute imports seems like an awesome idea, please do not use
282625       it.   Extra  care  would be necessary all over salt's code in order for
282626       absolute imports to work as supposed. Believe it,  it  has  been  tried
282627       before  and,  as  a  tried  example, by renaming salt.modules.sysmod to
282628       salt.modules.sys, all other salt modules which  needed  to  import  sys
282629       would have to also import absolute_import, which should be avoided.
282630
282631       NOTE:
282632          An  exception to this rule is the absolute_import from __future__ at
282633          the top of each file within the Salt project. This import is  neces‐
282634          sary for Py3 compatibility. This particular import looks like this:
282635
282636              from __future__ import absolute_import
282637
282638          This import is required for all new Salt files and is a good idea to
282639          add to any custom states or modules. However, the practice of avoid‐
282640          ing  absolute imports still applies to all other cases as to avoid a
282641          name conflict.
282642
282643   Code Churn
282644       Many pull requests have been submitted that only churn code in the name
282645       of  PEP  8. Code churn is a leading source of bugs and is strongly dis‐
282646       couraged.  While style fixes are encouraged they should be isolated  to
282647       a  single  file  per  commit,  and the changes should be legitimate, if
282648       there are any questions about whether  a  style  change  is  legitimate
282649       please   reference   this   document   and   the   official  PEP  8  (‐
282650       http://legacy.python.org/dev/peps/pep-0008/) document  before  changing
282651       code. Many claims that a change is PEP 8 have been invalid, please dou‐
282652       ble check before committing fixes.
282653
282654   Salt code and internals
282655       Reference documentation on Salt's internal code.
282656
282657   Contents
282658   salt.aggregation
282659   salt.utils.aggregation
282660       This library makes it possible  to  introspect  dataset  and  aggregate
282661       nodes when it is instructed.
282662
282663       NOTE:
282664          The  following  examples with be expressed in YAML for convenience's
282665          sake:
282666
282667          · !aggr-scalar will refer to Scalar python function
282668
282669          · !aggr-map will refer to Map python object
282670
282671          · !aggr-seq will refer for Sequence python object
282672
282673   How to instructs merging
282674       This yaml document has duplicate keys:
282675
282676          foo: !aggr-scalar first
282677          foo: !aggr-scalar second
282678          bar: !aggr-map {first: foo}
282679          bar: !aggr-map {second: bar}
282680          baz: !aggr-scalar 42
282681
282682       but tagged values instruct Salt that overlapping  values  they  can  be
282683       merged together:
282684
282685          foo: !aggr-seq [first, second]
282686          bar: !aggr-map {first: foo, second: bar}
282687          baz: !aggr-seq [42]
282688
282689   Default merge strategy is keep untouched
282690       For  example, this yaml document still has duplicate keys, but does not
282691       instruct aggregation:
282692
282693          foo: first
282694          foo: second
282695          bar: {first: foo}
282696          bar: {second: bar}
282697          baz: 42
282698
282699       So the late found values prevail:
282700
282701          foo: second
282702          bar: {second: bar}
282703          baz: 42
282704
282705   Limitations
282706       Aggregation is permitted between tagged objects  that  share  the  same
282707       type.  If not, the default merge strategy prevails.
282708
282709       For example, these examples:
282710
282711          foo: {first: value}
282712          foo: !aggr-map {second: value}
282713
282714          bar: !aggr-map {first: value}
282715          bar: 42
282716
282717          baz: !aggr-seq [42]
282718          baz: [fail]
282719
282720          qux: 42
282721          qux: !aggr-scalar fail
282722
282723       are interpreted like this:
282724
282725          foo: !aggr-map{second: value}
282726
282727          bar: 42
282728
282729          baz: [fail]
282730
282731          qux: !aggr-seq [fail]
282732
282733   Introspection
282734       TODO: write this part
282735
282736       salt.utils.aggregation.aggregate(obj_a,       obj_b,       level=False,
282737       map_class=<class  'salt.utils.aggregation.Map'>,  sequence_class=<class
282738       'salt.utils.aggregation.Sequence'>)
282739              Merge obj_b into obj_a.
282740
282741              >>> aggregate('first', 'second', True) == ['first', 'second']
282742              True
282743
282744       class salt.utils.aggregation.Aggregate
282745              Aggregation base.
282746
282747       class salt.utils.aggregation.Map(**kwds)
282748              Map aggregation.
282749
282750       salt.utils.aggregation.Scalar(obj)
282751              Shortcut for Sequence creation
282752
282753              >>> Scalar('foo') == Sequence(['foo'])
282754              True
282755
282756       class salt.utils.aggregation.Sequence
282757              Sequence aggregation.
282758
282759   Exceptions
282760       Salt-specific  exceptions  should be thrown as often as possible so the
282761       various interfaces to Salt (CLI, API,  etc)  can  handle  those  errors
282762       appropriately and display error messages appropriately.
282763
282764                   ┌────────────────┬────────────────────────────┐
282765salt.exceptions │ This  module  is a central │
282766                   │                │ location  for   all   salt │
282767                   │                │ exceptions                 │
282768                   └────────────────┴────────────────────────────┘
282769
282770   salt.exceptions
282771       This module is a central location for all salt exceptions
282772
282773       exception salt.exceptions.ArgumentValueError(message=u'', info=None)
282774              Used when an invalid argument was passed to a command execution
282775
282776       exception salt.exceptions.AuthenticationError(message=u'')
282777              If sha256 signature fails during decryption
282778
282779       exception salt.exceptions.AuthorizationError(message=u'')
282780              Thrown when runner or wheel execution fails due to permissions
282781
282782       exception salt.exceptions.CheckError(message=u'', info=None)
282783              Used when a check fails
282784
282785       exception salt.exceptions.CommandExecutionError(message=u'', info=None)
282786              Used  when  a  module  runs a command which returns an error and
282787              wants to show the user the output gracefully instead of dying
282788
282789       exception salt.exceptions.CommandNotFoundError(message=u'')
282790              Used in modules or grains when a required binary is  not  avail‐
282791              able
282792
282793       exception salt.exceptions.EauthAuthenticationError(message=u'')
282794              Thrown when eauth authentication fails
282795
282796       exception    salt.exceptions.FileLockError(message,    time_start=None,
282797       *args, **kwargs)
282798              Used when an error occurs obtaining a file lock
282799
282800       exception salt.exceptions.FileserverConfigError(message=u'')
282801              Used when invalid fileserver settings are detected
282802
282803       exception salt.exceptions.GitLockError(errno, message, *args, **kwargs)
282804              Raised when an uncaught error occurs in the midst  of  obtaining
282805              an update/checkout lock in salt.utils.gitfs.
282806
282807              NOTE:  While  this  uses  the errno param similar to an OSError,
282808              this exception class is not as subclass of OSError. This is done
282809              intentionally,  so  that this exception class can be caught in a
282810              try/except without being caught as an OSError.
282811
282812       exception salt.exceptions.GitRemoteError(message=u'')
282813              Used by GitFS to denote a problem  with  the  existence  of  the
282814              "origin" remote or part of its configuration
282815
282816       exception salt.exceptions.InvalidConfigError(message=u'', info=None)
282817              Used when the config is invalid
282818
282819       exception salt.exceptions.InvalidEntityError(message=u'', info=None)
282820              Used when an entity fails validation
282821
282822       exception salt.exceptions.LoaderError(message=u'')
282823              Problems loading the right renderer
282824
282825       exception salt.exceptions.LoggingRuntimeError
282826              Raised when we encounter an error while logging
282827
282828       exception salt.exceptions.MasterExit
282829              Rise when the master exits
282830
282831       exception salt.exceptions.MinionError(message=u'')
282832              Minion problems reading uris such as salt:// or http://
282833
282834       exception salt.exceptions.MissingSmb(message=u'')
282835              Raised when no smb library is found.
282836
282837       exception salt.exceptions.NotImplemented(message=u'')
282838              Used  when  a  module  runs a command which returns an error and
282839              wants to show the user the output gracefully instead of dying
282840
282841       exception salt.exceptions.PkgParseError(message=u'')
282842              Used when of the pkg modules cannot correctly parse  the  output
282843              from the CLI tool (pacman, yum, apt, aptitude, etc)
282844
282845       exception salt.exceptions.PublishError(message=u'')
282846              Problems encountered when trying to publish a command
282847
282848       exception salt.exceptions.SaltCacheError(message=u'')
282849              Thrown  when  a  problem was encountered trying to read or write
282850              from the salt cache
282851
282852       exception salt.exceptions.SaltClientError(message=u'')
282853              Problem reading the master root key
282854
282855       exception salt.exceptions.SaltClientTimeout(message,  jid=None,  *args,
282856       **kwargs)
282857              Thrown  when  a  job  sent  through one of the Client interfaces
282858              times out
282859
282860              Takes the jid as a parameter
282861
282862       exception salt.exceptions.SaltCloudConfigError(message=u'')
282863              Raised when a configuration setting  is  not  found  and  should
282864              exist.
282865
282866       exception salt.exceptions.SaltCloudException(message=u'')
282867              Generic Salt Cloud Exception
282868
282869       exception salt.exceptions.SaltCloudExecutionFailure(message=u'')
282870              Raised when too much failures have occurred while querying/wait‐
282871              ing for data.
282872
282873       exception salt.exceptions.SaltCloudExecutionTimeout(message=u'')
282874              Raised when too much time has passed while querying/waiting  for
282875              data.
282876
282877       exception salt.exceptions.SaltCloudNotFound(message=u'')
282878              Raised  when  some  cloud  provider  function cannot find what's
282879              being searched.
282880
282881       exception salt.exceptions.SaltCloudPasswordError(message=u'')
282882              Raise when virtual terminal password input failed
282883
282884       exception salt.exceptions.SaltCloudSystemExit(message, exit_code=1)
282885              This exception is raised when the execution should be stopped.
282886
282887       exception salt.exceptions.SaltConfigurationError(message=u'')
282888              Configuration error
282889
282890       exception salt.exceptions.SaltDaemonNotRunning(message=u'')
282891              Throw when a running master/minion/syndic is not running but  is
282892              needed to perform the requested operation (e.g., eauth).
282893
282894       exception salt.exceptions.SaltDeserializationError(message=u'')
282895              Thrown when salt cannot deserialize data.
282896
282897       exception salt.exceptions.SaltException(message=u'')
282898              Base  exception  class; all Salt-specific exceptions should sub‐
282899              class this
282900
282901              pack() Pack this exception into a serializable  dictionary  that
282902                     is safe for transport via msgpack
282903
282904       exception salt.exceptions.SaltInvocationError(message=u'')
282905              Used  when  the wrong number of arguments are sent to modules or
282906              invalid arguments are specified on the command line
282907
282908       exception salt.exceptions.SaltMasterError(message=u'')
282909              Problem reading the master root key
282910
282911       exception salt.exceptions.SaltMasterUnresolvableError(message=u'')
282912              Problem resolving the name of the Salt master
282913
282914       exception salt.exceptions.SaltNoMinionsFound(message=u'')
282915              An attempt to retrieve a list of minions failed
282916
282917       exception    salt.exceptions.SaltRenderError(message,    line_num=None,
282918       buf=u'', marker=u' <======================', trace=None)
282919              Used when a renderer needs to raise an explicit error. If a line
282920              number and buffer string are passed, get_context will be invoked
282921              to get the location of the error.
282922
282923       exception salt.exceptions.SaltReqTimeoutError(message=u'')
282924              Thrown  when  a  salt master request call fails to return within
282925              the timeout
282926
282927       exception salt.exceptions.SaltRunnerError(message=u'')
282928              Problem in runner
282929
282930       exception salt.exceptions.SaltSyndicMasterError(message=u'')
282931              Problem while proxying a request in the syndication master
282932
282933       exception salt.exceptions.SaltSystemExit(code=0, msg=None)
282934              This exception is raised when an unsolvable  problem  is  found.
282935              There's nothing else to do, salt should just exit.
282936
282937       exception salt.exceptions.SaltWheelError(message=u'')
282938              Problem in wheel
282939
282940       exception salt.exceptions.TemplateError(message=u'')
282941              Used when a custom error is triggered in a template
282942
282943       exception salt.exceptions.TimedProcTimeoutError(message=u'')
282944              Thrown  when  a  timed  subprocess does not terminate within the
282945              timeout, or if the specified timeout is not an int or a float
282946
282947       exception salt.exceptions.TimeoutError(message=u'')
282948              Thrown when an opration cannot be completet within a given  time
282949              limit.
282950
282951       exception salt.exceptions.TokenAuthenticationError(message=u'')
282952              Thrown when token authentication fails
282953
282954       exception salt.exceptions.VMwareApiError(message=u'', info=None)
282955              Used when representing a generic VMware API error
282956
282957       exception salt.exceptions.VMwareConnectionError(message=u'', info=None)
282958              Used when the client fails to connect to a either a VMware vCen‐
282959              ter server or to a ESXi host
282960
282961       exception          salt.exceptions.VMwareFileNotFoundError(message=u'',
282962       info=None)
282963              Used  when  representing  a  generic  VMware error if a file not
282964              found
282965
282966       exception       salt.exceptions.VMwareMultipleObjectsError(message=u'',
282967       info=None)
282968              Used when multiple objects were retrieved (and one was expected)
282969
282970       exception salt.exceptions.VMwareNotFoundError(message=u'', info=None)
282971              Used when a VMware object was not found
282972
282973       exception          salt.exceptions.VMwareObjectExistsError(message=u'',
282974       info=None)
282975              Used when a VMware object already exists
282976
282977       exception        salt.exceptions.VMwareObjectNotFoundError(message=u'',
282978       info=None)
282979              Used when a VMware object was not found
282980
282981       exception       salt.exceptions.VMwareObjectRetrievalError(message=u'',
282982       info=None)
282983              Used when a VMware object cannot be retrieved
282984
282985       exception salt.exceptions.VMwarePowerOnError(message=u'', info=None)
282986              Used when error occurred during power on
282987
282988       exception salt.exceptions.VMwareRuntimeError(message=u'', info=None)
282989              Used when a runtime error is encountered when communicating with
282990              the vCenter
282991
282992       exception salt.exceptions.VMwareSaltError(message=u'', info=None)
282993              Used when a VMware object cannot be retrieved
282994
282995       exception salt.exceptions.VMwareSystemError(message=u'', info=None)
282996              Used when representing a generic VMware system error
282997
282998       exception salt.exceptions.VMwareVmCreationError(message=u'', info=None)
282999              Used when a configuration parameter is incorrect
283000
283001       exception salt.exceptions.VMwareVmRegisterError(message=u'', info=None)
283002              Used when a configuration parameter is incorrect
283003
283004       salt.exceptions.get_error_message(error)
283005              Get human readable message from Python Exception
283006
283007   The Salt Fileserver and Client
283008   Introduction
283009       Salt  has  a  modular fileserver, and multiple client classes which are
283010       used to interact with it. This page serves as a developer's  reference,
283011       to help explain how the fileserver and clients both work.
283012
283013   Fileserver
283014       The  fileserver is not a daemon, so the fileserver and client are not a
283015       true server and client in the traditional  sense.  Instead,  the  file‐
283016       server  is  simply  a  class  (salt.fileserver.Fileserver),  located in
283017       salt/fileserver/__init__.py. This class has access  to  the  configured
283018       fileserver  backends via a loader instance, referenced as self.servers.
283019       When a request comes in from the fileclient, it will ultimately  result
283020       in a Fileserver class function being run.
283021
283022       The  functions  in  this  class will run corresponding functions in the
283023       configured fileserver backends to perform the requested action. So,  in
283024       summary:
283025
283026       1. A fileclient class makes a request...
283027
283028       2. which triggers the fileserver to run a function...
283029
283030       3. which runs a named function in each of the configured backends.
283031
283032       Not  all of the functions will always execute on every configured back‐
283033       end. For instance, the find_file function in the fileserver  will  stop
283034       when  it  finds a match, so if it finds a match for the desired path in
283035       the first configured backend, it won't proceed and try to find the file
283036       in the next backend in the list.
283037
283038       Additionally,   not   all  backends  implement  all  functions  in  the
283039       salt.fileserver.Fileserver class. For instance,  there  is  a  function
283040       called  update,  which  exists to update remote fileservers such as the
283041       git, hg, and svn backends. This action has no use however in the  roots
283042       backend,  so  it  is  simply  not implemented there, and thus the roots
283043       backend will be skipped if the update function  is  run  on  the  file‐
283044       server.
283045
283046       Backends  for the fileserver are located in salt/fileserver/ (the files
283047       not named __init__.py).
283048
283049   Fileclient
283050       There are three fileclient classes:
283051
283052   salt.fileclient.RemoteClient
283053       This client is used when file_client is set to remote. This is how min‐
283054       ions request files from the master.
283055
283056       Functions in this client will craft a payload and send it to the master
283057       via the transport channel. This is the same way that  the  minion  asks
283058       the  minion  to  do  other things, such as updating and requesting data
283059       from the mine. The payload will be a dictionary with a key called  cmd,
283060       and other values as needed.
283061
283062       Payloads  sent  via  the  transport channel are processed my an MWorker
283063       instance on the master, and the MWorker's _handle_aes()  function  will
283064       execute  the  command.  The command will be a function attribute of the
283065       salt.master.AESFuncs class. The  AESFuncs  class'  __setup_fileserver()
283066       function  instantiates  a  salt.fileserver.Fileserver instance and maps
283067       its member functions to AESFuncs attributes. This  is  what  makes  the
283068       fileserver  functions available remotely. The result of the function is
283069       returned back through the transport channel to the minion.
283070
283071       Transporting files is done in chunks, the size of which is  decided  by
283072       the  file_buffer_size  config  option.  If you look at the serve_file()
283073       function in any of the fileserver backends, you can  see  how  the  loc
283074       value  in  the  payload  determines  the offset so that an intermediate
283075       chunk of the file can be served. The RemoteClient's get_file() function
283076       will loop until the end of the file is reached, retrieving one chunk at
283077       a time.
283078
283079   salt.fileclient.FSClient
283080       This client is used when file_client is set to local. This is how  mas‐
283081       terless minions request files.
283082
283083       This  class  inherits  from  the  RemoteClient,  but instead of using a
283084       transport channel (zmq, tcp, etc.), it uses a "fake" transport  channel
283085       (salt.fileserver.FSChan),  which  implements  its  own send() function.
283086       Thus, when a function that the FSClient inherits from the  RemoteClient
283087       runs    self.channel.send(),    it's    actually   calling   salt.file‐
283088       server.FSChan.send(),  which  calls  corresponding  functions  in   the
283089       salt.fileserver.Fileserver()  class.  The  result  is  that  local file
283090       requests use the same code as remote file requests,  they  just  bypass
283091       sending  them through an actual transport channel and instead call them
283092       on the FSChan's Fileserver instance.
283093
283094   salt.fileclient.LocalClient
283095       This client is now used exclusively by Pillar. This  used  to  be  used
283096       when  file_client was set to local, but the FSChan class was written to
283097       allow minions with file_client: local to access the full set  of  back‐
283098       ends.  This class will probably be renamed at some point as it is often
283099       confused with salt.client.LocalClient.
283100
283101   The cp Module
283102       Most of the user-facing interaction with the fileclient happens via the
283103       cp  module.  The  functions  in  this  module  instantiate a fileclient
283104       instance (if one is not already saved to the  __context__  dunder)  and
283105       run fileclient functions.
283106
283107   Updating the Fileserver
283108       The  master  daemon  spawns  a process dedicated to routine maintenance
283109       tasks upon startup. This process runs an instance of  salt.master.Main‐
283110       tenance,  which  loops  forever, running a series of functions and then
283111       sleeping for a length of time determined by  the  loop_interval  config
283112       option.  One  of the maintenance tasks is to update the fileserver, and
283113       it essentially runs salt.fileserver.Fileserver.update(),  which  as  we
283114       know  from  above will run all configured backends' update() functions,
283115       if present. This is now remote fileservers like git, hg, and  svn  stay
283116       up-to-date.
283117
283118       For  the  local file_client (FSClient), since it does not interact with
283119       the master, upon spawning of its FSChan it will update the fileserver.
283120
283121   Salt opts dictionary
283122       It is very common in the Salt codebase to see opts  referred  to  in  a
283123       number of contexts.
283124
283125       For  example, it can be seen as __opts__ in certain cases, or simply as
283126       opts as an argument to a function in others.
283127
283128       Simply put, this data structure is a dictionary of Salt's runtime  con‐
283129       figuration  information  that's passed around in order for functions to
283130       know how Salt is configured.
283131
283132       When writing Python code to use specific parts of Salt, it  may  become
283133       necessary to initialize a copy of opts from scratch in order to have it
283134       available for a given function.
283135
283136       To do so, use the utility functions available in salt.config.
283137
283138       As an example, here is how one might generate and print an options dic‐
283139       tionary for a minion instance:
283140
283141          import salt.config
283142          opts = salt.config.minion_config('/etc/salt/minion')
283143          print(opts)
283144
283145       To generate and display opts for a master, the process is similar:
283146
283147          import salt.config
283148          opts = salt.config.master_config('/etc/salt/master')
283149          print(opts)
283150
283151   Unicode in Salt
283152       Though  Unicode  handling  in large projects can often be complex, Salt
283153       adheres to several basic rules to help developers handle  Unicode  cor‐
283154       rectly.
283155
283156       (For  a basic introduction to this problem, see Ned Batchelder's excel‐
283157       lent intoroduction  to  the  topic  <http://nedbatchelder.com/text/uni
283158       pain/unipain.html>.
283159
283160       Salt's basic workflow for Unicode handling is as follows:
283161
283162       1. Salt  should  convert whatever data is passed on CLI/API to Unicode.
283163          Internally, everything that Salt does should be Unicode unless it is
283164          printing to the screen or writing to storage.
283165
283166       2. Modules  and various Salt pluggable systems use incoming data assum‐
283167          ing Unicode.
283168
283169          2.1) For Salt modules that query an API; the module  should  convert
283170          the data
283171                 received from the API into Unicode.
283172
283173          2.2)  For  Salt  modules  that  shell  out to get output; the module
283174          should
283175                 convert data received into Unicode. (This does not  apply  if
283176                 using  the cmd execution module, which should handle this for
283177                 you.
283178
283179          2.3) For Salt modules which print directly to the console  (not  via
283180          an
283181                 outputter)  or  which write directly to disk, a string should
283182                 be encoded when appropriate. To handle this  conversion,  the
283183                 global  variable __salt_system_encoding__ is available, which
283184                 declares the locale of the system that Salt is running on.
283185
283186       3. When a function in a Salt module returns a string, it should  return
283187          a unicode type in Python 2.
283188
283189       4. When Salt delivers the data to an outputter or a returner, it is the
283190          job of the outputter or returner to encode the Unicode  before  dis‐
283191          playing it on the console or writing it to storage.
283192
283193   Salt Community Projects
283194       This  page contains links to Salt-related projects created by community
283195       members.  If you come across a useful project  please  add  it  to  the
283196       list!
283197
283198   Hubblestack
283199       Hubble is a modular, open-source security compliance framework built on
283200       top of SaltStack. The project provides on-demand  profile-based  audit‐
283201       ing,  real-time  security  event  notifications, automated remediation,
283202       alerting and reporting.
283203
283204       http://hubblestack.io/
283205
283206   alkali
283207       alkali is a collections of SaltStack states and pillar data  that  pro‐
283208       vide just the basics for provisioning Linux instances that may be built
283209       upon. alkali is a starter kit of sorts, to help new users to  SaltStack
283210       get up-and-running quickly with the most commonly used, core packages.
283211
283212       https://github.com/zulily/alkali
283213
283214   buoyant
283215       buoyant  leverages docker to provide an alternative to VM-centric Salt‐
283216       Stack development environments.  buoyant  containers  may  be  spun  up
283217       nearly instantly, once an initial docker image has been built.
283218
283219       https://github.com/zulily/buoyant
283220
283221   Salt Sandbox
283222       Salt  Sandbox  is a multi-VM Vagrant-based Salt development environment
283223       used for creating and testing new Salt state modules  outside  of  your
283224       production  environment. It's also a great way to learn firsthand about
283225       Salt and its remote execution capabilities.
283226
283227       https://github.com/elasticdog/salt-sandbox
283228
283229   Salt Vagrant Demo
283230       A Salt Demo using Vagrant.
283231
283232       https://github.com/UtahDave/salt-vagrant-demo
283233

RELEASE NOTES

283235       See the version numbers page for more  information  about  the  version
283236       numbering scheme.
283237
283238   Latest Branch Release
283239       Release Candidate
283240
283241   Previous Releases
283242   Salt 3000 Release Notes - Codename Neon
283243   Security Advisory
283244       For  historical  reasons,  Salt  requires  PyCrypto as a "lowest common
283245       denominator". However, PyCrypto is unmaintained and best practice is to
283246       manually upgrade to use a more maintained library such as PyCryptodome.
283247       See Issue #52674 and Issue #54115 for more info
283248
283249   New Versioning
283250       The neon release has removed the date versioning. Going forward we will
283251       use a non-date based version schema beginning at 3000. The version will
283252       be MAJOR.PATCH. For a planned release containing  features  and/or  bug
283253       fixes the MAJOR version will be incremented. Please review the approved
283254       SEP for further details.
283255
283256       The  new  versioning  scheme  is  PEP   440   compliant,   but   distu‐
283257       tils.StrictVersion  will  result in an error invalid version number. If
283258       using StrictVersion to compare Salt's versions,  please  use  LooseVer‐
283259       sion.  There  is also the packaging library you can use to compare ver‐
283260       sions. Another alternative is using the salt version module
283261
283262   Python 3.8 Not Supported
283263       Please note that running Salt with Python 3.8  is  currently  not  sup‐
283264       ported.  It is recommended to not use a version higher than 3.7.
283265
283266   Vendored Tornado Code Base
283267       The  Tornado  code base has been included as salt.ext.tornado. This was
283268       done to provide a consistent version of Tornado  across  all  operating
283269       systems while we continue to work on upgrading Tornado to a recent ver‐
283270       sion. New  code  that  uses  Tornado  should  import  the  module  from
283271       salt.ext.tornado instead of importing the system version of Tornado.
283272
283273   Msgpack 1.0.0rc1 Incompatibility
283274       Salt  is  currently  incompatible  with  mgspack 1.0.0rc1. We recommend
283275       using versions < 1.0.0 . This impacts the Salt Master's ability to  run
283276       commands  against  minions. Please see Issue 56007 for more details and
283277       updates.
283278
283279   Pip Installing Salt On Windows
283280       This release will not install correctly on windows when  using  pip  to
283281       install salt.  This issue is addressed in PR 56099.  The workaround for
283282       this issue is:
283283
283284          pip install "pywin32==224" "WMI==1.4.9"
283285
283286       Those using the Salt Windows Installer are not affected by this issue.
283287
283288   Saltcheck Updates
283289       Available since 2018.3, the saltcheck module has been enhanced to:
283290
283291       · Support saltenv environments
283292
283293       · Associate tests with states by naming convention
283294
283295       · Adds report_highstate_tests function
283296
283297       · Adds empty and notempty assertions
283298
283299       · Adds skip keyword
283300
283301       · Adds print_result keyword
283302
283303       · Adds assertion_section keyword
283304
283305       · Use saltcheck.state_apply to run state.apply for test setup or  tear‐
283306         down
283307
283308       · Changes output to display test time
283309
283310       · Works with salt-ssh
283311
283312       Saltcheck  provides  unittest  like  functionality  requiring  only the
283313       knowledge of salt module execution and yaml. Saltcheck uses  salt  mod‐
283314       ules  to  return data, then runs an assertion against that return. This
283315       allows for testing with all the features included in salt modules.
283316
283317       In order to run state and highstate saltcheck tests,  a  sub-folder  in
283318       the  state  directory  must be created and named saltcheck-tests. Tests
283319       for a state should be created in files ending in *.tst  and  placed  in
283320       the  saltcheck-tests folder. tst files are run through the salt render‐
283321       ing system, enabling tests to  be  written  in  yaml  (or  renderer  of
283322       choice),  and  include  jinja,  as  well  as the usual grain and pillar
283323       information. Like states, multiple tests can  be  specified  in  a  tst
283324       file.  Multiple tst files can be created in the saltcheck-tests folder,
283325       and should be named the same as the associated state. The id of a  test
283326       works  in  the  same manner as in salt state files and should be unique
283327       and descriptive.
283328
283329   Usage
283330       Example file system layout:
283331
283332          /srv/salt/apache/
283333              init.sls
283334              config.sls
283335              saltcheck-tests/
283336                  init.tst
283337                  config.tst
283338                  deployment_validation.tst
283339
283340       Tests can be run for each state by name, for all apache/saltcheck/*.tst
283341       files,  or  for all states assigned to the minion in top.sls. Tests may
283342       also be created with no associated  state.  These  tests  will  be  run
283343       through the use of saltcheck.run_state_tests, but will not be automati‐
283344       cally run by saltcheck.run_highstate_tests.
283345
283346          salt '*' saltcheck.run_state_tests apache,apache.config
283347          salt '*' saltcheck.run_state_tests apache check_all=True
283348          salt '*' saltcheck.run_highstate_tests
283349          salt '*' saltcheck.run_state_tests apache.deployment_validation
283350
283351   Example Tests
283352          {# will run the common salt state before further testing #}
283353          setup_test_environment:
283354            module_and_function: saltcheck.state_apply
283355            args:
283356              - common
283357            pillar-data:
283358              data: value
283359
283360          {% for package in ["apache2", "openssh"] %}
283361          {# or another example #}
283362          {# for package in salt['pillar.get']("packages") #}
283363          jinja_test_{{ package }}_latest:
283364            module_and_function: pkg.upgrade_available
283365            args:
283366              - {{ package }}
283367            assertion: assertFalse
283368          {% endfor %}
283369
283370          validate_user_present_and_shell:
283371            module_and_function: user.info
283372            args:
283373              - root
283374            assertion: assertEqual
283375            expected-return: /bin/bash
283376            assertion_section: shell
283377            print_result: False
283378
283379          skip_test:
283380            module_and_function: pkg.upgrade_available
283381            args:
283382              - apache2
283383            assertion: assertFalse
283384            skip: True
283385
283386   Output Format Changes
283387       Saltcheck output has been enhanced to display the time taken per  test.
283388       This results in a change to the output format.
283389
283390       Previous Output:
283391
283392          local:
283393            |_
283394              ----------
283395              ntp:
283396                  ----------
283397                  ntp-client-installed:
283398                      Pass
283399                  ntp-service-status:
283400                      Pass
283401            |_
283402              ----------
283403              TEST RESULTS:
283404                  ----------
283405                  Failed:
283406                      0
283407                  Missing Tests:
283408                      0
283409                  Passed:
283410                      2
283411
283412       New output:
283413
283414          local:
283415            |_
283416              ----------
283417              ntp:
283418                  ----------
283419                  ntp-client-installed:
283420                      ----------
283421                      duration:
283422                          1.0408
283423                      status:
283424                          Pass
283425                  ntp-service-status:
283426                      ----------
283427                      duration:
283428                          1.464
283429                      status:
283430                          Pass
283431            |_
283432              ----------
283433              TEST RESULTS:
283434                  ----------
283435                  Execution Time:
283436                      2.5048
283437                  Failed:
283438                      0
283439                  Missing Tests:
283440                      0
283441                  Passed:
283442                      2
283443                  Skipped:
283444                      0
283445
283446   Unless and onlyif Enhancements
283447       The unless and onlyif requisites can now be operated with salt modules.
283448       The dictionary must contain an argument fun which is the module that is
283449       being  run, and everything else must be passed in under the args key or
283450       will be passed as individual kwargs to the module function.
283451
283452       NOTE:
283453          Certain states have an unless/onlyif  implementation  that  predates
283454          this feature, and may not work as expected:
283455
283456          · states.git
283457
283458          · states.cmd
283459
283460          · states.macpackage
283461
283462          · states.file
283463
283464          · states.docker_container
283465
283466       Examples:
283467
283468          check external ip address:
283469            http.query:
283470              - name: https://icanhazip.com
283471              - status: 200
283472              - onlyif:
283473                - fun: file.file_exists
283474                  path: /usr/local/bin/whatever
283475
283476       is equivalent to
283477
283478          check another ip address:
283479            http.query:
283480              - name: https://icanhazip.com
283481              - status: 200
283482              - onlyif:
283483                - test -f /tmp/fnord.txt
283484
283485       Another example:
283486
283487          set mysql root password:
283488            debconf.set:
283489              - name: mysql-server-5.7
283490              - data:
283491                  'mysql-server/root_password': {'type': 'password', 'value': {{pillar['mysql.pass']}} }
283492              - unless:
283493                - fun: pkg.version
283494                  args:
283495                    - mysql-server-5.7
283496
283497   Keystore State and Module
283498       A new state and execution module for manaing Java Keystore files is now
283499       included. It allows for adding/removing/listing  as  well  as  managing
283500       keystore files.
283501
283502          # salt-call keystore.list /path/to/keystore.jks changeit
283503          local:
283504            |_
283505              ----------
283506              alias:
283507                  hostname1
283508              expired:
283509                  True
283510              sha1:
283511                  CB:5E:DE:50:57:99:51:87:8E:2E:67:13:C5:3B:E9:38:EB:23:7E:40
283512              type:
283513                  TrustedCertEntry
283514              valid_start:
283515                  August 22 2012
283516              valid_until:
283517                  August 21 2017
283518
283519          define_keystore:
283520            keystore.managed:
283521              - name: /tmp/statestore.jks
283522              - passphrase: changeit
283523              - force_remove: True
283524              - entries:
283525                - alias: hostname1
283526                  certificate: /tmp/testcert.crt
283527                - alias: remotehost
283528                  certificate: /tmp/512.cert
283529                  private_key: /tmp/512.key
283530                - alias: stringhost
283531                  certificate: |
283532                    -----BEGIN CERTIFICATE-----
283533                    MIICEjCCAX
283534                    Hn+GmxZA
283535                    -----END CERTIFICATE-----
283536
283537   XML Module
283538       A new state and execution module for editing XML files is now included.
283539       Currently it allows for editing values from an xpath query, or  editing
283540       XML IDs.
283541
283542          # salt-call xml.set_attribute /tmp/test.xml ".//actor[@id='3']" editedby "Jane Doe"
283543          local:
283544              True
283545          # salt-call xml.get_attribute /tmp/test.xml ".//actor[@id='3']"
283546          local:
283547              ----------
283548              editedby:
283549                  Jane Doe
283550              id:
283551                  3
283552          # salt-call xml.get_value /tmp/test.xml ".//actor[@id='2']"
283553          local:
283554              Liam Neeson
283555          # salt-call xml.set_value /tmp/test.xml ".//actor[@id='2']" "Patrick Stewart"
283556          local:
283557              True
283558          # salt-call xml.get_value /tmp/test.xml ".//actor[@id='2']"
283559          local:
283560              Patrick Stewart
283561
283562          ensure_value_true:
283563            xml.value_present:
283564              - name: /tmp/test.xml
283565              - xpath: .//actor[@id='1']
283566              - value: William Shatner
283567
283568   LGPO Execution Module
283569       Multiple  fixes  were  made to the win_lgpo to expand support for addi‐
283570       tional policies and  improve  performance.  Issues  with  encoding  and
283571       unsupported  characters  (smart-quotes, em-dash, etc) found in the ADML
283572       files as well as whitespace in some policies have been addressed.
283573
283574       Speed enhancements include:
283575
283576       · Caching the compiled xml from ADMX/ADML files in __context__
283577
283578       · Lowercasing all keys before compiling  XML  to  remove  an  expensive
283579         XPath lookup
283580
283581       Additional functionality:
283582
283583       · Adds  the lgpo.get_policy function that allows you to get the current
283584         settings for a single policy.
283585
283586       · Changes some policy names that were overly long
283587
283588   LGPO State Module
283589       Multiple changes were made to the win_lgpo  state  to  improve  perfor‐
283590       mance.
283591
283592       It  now  uses  the  lgpo.get_policy function instead of the lgpo.get to
283593       avoid reloading all settings on the machine at the beginning and end of
283594       each state run.
283595
283596       Supports  the new shorter policy names but also attempts to resolve the
283597       older, longer policy names.
283598
283599   Win_network Salt Util
283600       Now uses .NET libraries to obtain Interface information on Windows sys‐
283601       tems  that support it. Unsupported systems fall back to the more expen‐
283602       sive WMI calls. This is important as this data is gathered  for  grains
283603       and occurs each time a process is forked.
283604
283605   Jinja enhancements
283606   Troubleshooting Jinja map files
283607       A new execution module for map.jinja troubleshooting has been added.
283608
283609       Assuming the map is loaded in your formula SLS as follows:
283610
283611          {% from "myformula/map.jinja" import myformula with context %}
283612
283613       The  following  command  can  be  used  to  load  the map and check the
283614       results:
283615
283616          salt myminion jinja.load_map myformula/map.jinja myformula
283617
283618       The module can be also used to test json and yaml maps:
283619
283620          salt myminion jinja.import_yaml myformula/defaults.yaml
283621
283622          salt myminion jinja.import_json myformula/defaults.json
283623
283624   json_query filter
283625       A port of Ansible json_query Jinja filter has  been  added.  It  allows
283626       making queries against JSON data using JMESPath language. Could be used
283627       to filter pillar data, yaml maps, and also useful with http_query.
283628
283629       Depends on the jmespath Python module.
283630
283631   Slot Syntax Updates
283632       The  slot  syntax  has  been  updated  to  support  parsing  dictionary
283633       responses and to append text.
283634
283635          demo dict parsing and append:
283636            test.configurable_test_state:
283637              - name: slot example
283638              - changes: False
283639              - comment: __slot__:salt:test.arg(shell="/bin/bash").kwargs.shell ~ /appended
283640
283641          local:
283642            ----------
283643                  ID: demo dict parsing and append
283644            Function: test.configurable_test_state
283645                Name: slot example
283646              Result: True
283647             Comment: /bin/bash/appended
283648             Started: 09:59:58.623575
283649            Duration: 1.229 ms
283650             Changes:
283651
283652       Also,  slot parsing is now supported inside of nested state data struc‐
283653       tures (dicts, lists, unless/onlyif args):
283654
283655          demo slot parsing for nested elements:
283656            file.managed:
283657              - name: /tmp/slot.txt
283658              - source: salt://slot.j2
283659              - template: jinja
283660              - context:
283661                  # Slot inside of the nested context dictionary
283662                  variable: __slot__:salt:test.echo(a_value)
283663              - unless:
283664                - fun: file.search
283665                  args:
283666                    # Slot as unless argument
283667                    - __slot__:salt:test.echo(/tmp/slot.txt)
283668                    - "DO NOT OVERRIDE"
283669                  ignore_if_missing: True
283670
283671   State Changes
283672       · The file.symlink state was  fixed  to  remove  existing  file  system
283673         entries other than files, directories and symbolic links properly.
283674
283675       · The onchanges and prereq requisites now behave properly in test mode,
283676         due to removing pchanges.
283677
283678       · Added new ssh_auth.manage state to ensure only the specified ssh keys
283679         are present for the specified user.
283680
283681       · Added  new saltutil state to use instead of module.run to more easily
283682         handle change.
283683
283684   Module Changes
283685       · Added new boto_ssm module to set and query secrets in AWS SSM parame‐
283686         ters.
283687
283688       · The  file.remove module was fixed to remove file system entries other
283689         than files, directories and symbolic links properly.
283690
283691   Enhancements to Engines
283692       Multiple copies of a  particular  Salt  engine  can  be  configured  by
283693       including the engine_module parameter in the engine configuration.
283694
283695          engines:
283696            - production_logstash:
283697                host: production_log.my_network.com
283698                port: 5959
283699                proto: tcp
283700                engine_module: logstash
283701            - develop_logstash:
283702                host: develop_log.my_network.com
283703                port: 5959
283704                proto: tcp
283705                engine_module: logstash
283706
283707       · A new fluent engine has been added to export Salt events to fluentd.
283708
283709            engines:
283710              - fluent
283711                  host: localhost
283712                  port: 24224
283713
283714   Enhancements to Beacons
283715       Multiple  copies  of  a  particular  Salt  beacon  can be configured by
283716       including the beacon_module parameter in the beacon configuration.
283717
283718              beacons:
283719                watch_importand_file:
283720                  - files:
283721                      /etc/important_file: {}
283722                  - beacon_module: inotify
283723                watch_another_file:
283724                  - files:
283725                      /etc/another_file: {}
283726                  - beacon_module: inotify
283727
283728   Enhancements to chroot
283729       · New functions added to chroot apply, sls, and  highstate  that  allow
283730         executing  states in sls files or running apply/highstate inside of a
283731         chroot.
283732
283733   Minion-side ACL
283734       Salt has had master-side ACL for the salt mine for some time, where the
283735       master  configuration  contained  mine_get that specified which minions
283736       could request which functions. However, now you can specify which  min‐
283737       ions  can access a function in the salt mine function definition itself
283738       (or when calling mine.send).  This targeting  works  the  same  as  the
283739       generic  minion  targeting  as  specified here. The parameters used are
283740       allow_tgt and allow_tgt_type.  See also the documentation of  the  Salt
283741       Mine.  Please  note  that if you want to use this new feature both your
283742       minion and masters will need to be on atleast version 3000.
283743
283744   Deprecations
283745   Raet Deprecated
283746       · The Raet transport has been  deprecated.  Please  use  the  supported
283747         transport protocols tcp or zeromq.
283748
283749   Module Deprecations
283750       · The hipchat module has been removed due to the service being retired.
283751         Google Chat, MS Teams, or Slack may be suitable replacements.
283752
283753       · The dockermod module has been changed as follows:
283754
283755            · Support for the tags kwarg has been  removed  from  the  docker‐
283756              mod.resolve_tag function.
283757
283758            · Support for the network_id kwarg has been removed from the dock‐
283759              ermod.connect_container_to_network function. Please  use  net_id
283760              instead.
283761
283762            · Support  for  the  name  kwarg has been removed from the docker‐
283763              mod.sls_build function. Please use repository and tag instead.
283764
283765            · Support for the image kwarg has been removed from the  following
283766              functions.  In all cases, please use both the repository and tag
283767              options instead:
283768
283769                  · dockermod.build
283770
283771                  · dockermod.commit
283772
283773                  · dockermod.import
283774
283775                  · dockermod.load
283776
283777                  · dockermod.tag
283778
283779       · The heat module has removed the enviroment kwarg from  the  heat.cre‐
283780         ate_stack  and  heat.update_stack  functions due to a spelling error.
283781         Please use environment instead.
283782
283783       · The ssh execution module has been changed as follows:
283784
283785            · Support for the ssh.get_known_host function  has  been  removed.
283786              Please use the ssh.get_known_host_entries function instead.
283787
283788            · Support  for  the ssh.recv_known_host function has been removed.
283789              Please use the ssh.recv_known_host_entries function instead.
283790
283791       · The  :py:mod`firewalld  <salt.modules.firewalld>`  module  has   been
283792         changed as follows:
283793
283794            · The default setting for the force_masquerade option in the fire‐
283795              walld.add_port  <salt.module.firewalld.add_port()  function  has
283796              changed from True to False.
283797
283798            · Support   for   the   force_masquerade   option   in  the  fire‐
283799              walld.add_port_fwd  <salt.module.firewalld.add_port_fwd()  func‐
283800              tion has been changed from True to False.
283801
283802   State Deprecations
283803       · The  hipchat state has been removed due to the service being retired.
283804         MS Teams or Slack may be suitable replacements.
283805
283806       · The cmd state module has removed the quiet  kwarg  from  the  cmd.run
283807         function. Please set output_loglevel to quiet instead.
283808
283809       · The  heat  state  module  has  removed  the enviroment kwarg from the
283810         heat.deployed function due to a spelling error. Please  use  environ‐
283811         ment instead.
283812
283813       · The :py:mod`firewalld <salt.states.firewalld>` state has been changed
283814         as follows:
283815
283816            · The default setting for the prune_services option in  the  fire‐
283817              walld.present function has changed from True to False.
283818
283819   Fileserver Deprecations
283820       · The hgfs fileserver had the following config options removed:
283821
283822            · The  hgfs_env_whitelist  config option has been removed in favor
283823              of hgfs_saltenv_whitelist.
283824
283825            · The hgfs_env_blacklist config option has been removed  in  favor
283826              of hgfs_saltenv_blacklist.
283827
283828       · The svnfs fileserver had the following config options removed:
283829
283830            · The  svnfs_env_whitelist config option has been removed in favor
283831              of svnfs_saltenv_whitelist.
283832
283833            · The svnfs_env_blacklist config option has been removed in  favor
283834              of svnfs_saltenv_blacklist.
283835
283836       · The gitfs fileserver had the following config options removed:
283837
283838            · The  gitfs_env_whitelist config option has been removed in favor
283839              of gitfs_saltenv_whitelist.
283840
283841            · The gitfs_env_blacklist config option has been removed in  favor
283842              of gitfs_saltenv_blacklist.
283843
283844   Engine Removal
283845       · The hipchat engine has been removed due to the service being retired.
283846         For users migrating to Slack, the slack  engine  may  be  a  suitable
283847         replacement.
283848
283849   Returner Removal
283850       · The  hipchat  returner  has  been  removed  due  to the service being
283851         retired. For users migrating to Slack, the slack returner  may  be  a
283852         suitable replacement.
283853
283854   Grain Deprecations
283855       For  smartos  some  grains have been deprecated. These grains have been
283856       removed.
283857
283858          · The hypervisor_uuid has been replaced  with  mdata:sdc:server_uuid
283859            grain.
283860
283861          · The  datacenter  has  been replaced with mdata:sdc:datacenter_name
283862            grain.
283863
283864   Cloud Deprecations
283865       · The nova cloud driver has been removed  in  favor  of  the  openstack
283866         cloud driver.
283867
283868   Jinja Filter Deprecations
283869       · The  following  jinja  filters are set to be removed in the Aluminium
283870         release:
283871
283872         · json_decode_dict in favor of tojson
283873
283874         · json_decode_list in favor of tojson
283875
283876   Utils Deprecations
283877       · All of the functions in  salt.utils.__init__.py  have  been  removed.
283878         These include:
283879
283880            · salt.utils.option
283881
283882            · salt.utils.required_module_list
283883
283884            · salt.utils.required_modules_error
283885
283886            · salt.utils.get_accumulator_dir.  Please use salt.state.get_accu‐
283887              mulator_dir() instead.
283888
283889            · salt.utils.fnmatch_multiple.   Please    use    salt.utils.iter‐
283890              tools.fnmatch_multiple() instead.
283891
283892            · salt.utils.appendproctitle.              Please              use
283893              salt.utils.process.appendproctitle() instead.
283894
283895            · salt.utils.daemonize. Please use  salt.utils.process.daemonize()
283896              instead.
283897
283898            · salt.utils.daemonize_if.  Please  use  salt.utils.process.daemo‐
283899              nize_if() instead.
283900
283901            · salt.utils.reinit_crypto.               Please               use
283902              salt.utils.crypt.reinit_crypto() instead.
283903
283904            · salt.utils.pem_finger.  Please use salt.utils.crypt.pem_finger()
283905              instead.
283906
283907            · salt.utils.to_bytes.                 Please                  use
283908              salt.utils.stringutils.to_bytes() instead.
283909
283910            · salt.utils.to_str.  Please  use  salt.utils.stringutils.to_str()
283911              instead.
283912
283913            · salt.utils.to_unicode. Please use salt.utils.stringutils.to_uni‐
283914              code() instead.
283915
283916            · salt.utils.str_to_num.                 Please                use
283917              salt.utils.stringutils.to_num() instead.
283918
283919            · salt.utils.is_quoted.                 Please                 use
283920              salt.utils.stringutils.is_quoted() instead.
283921
283922            · salt.utils.dequote.  Please use salt.utils.stringutils.dequote()
283923              instead.
283924
283925            · salt.utils.is_hex.  Please  use  salt.utils.stringutils.is_hex()
283926              instead.
283927
283928            · salt.utils.is_bin_str.                 Please                use
283929              salt.utils.stringutils.is_binary() instead.
283930
283931            · salt.utils.rand_string. Please  use  salt.utils.stringutils.ran‐
283932              dom() instead.
283933
283934            · salt.utils.contains_whitespace.            Please            use
283935              salt.utils.stringutils.contains_whitespace() instead.
283936
283937            · salt.utils.build_whitespace_split_regex.       Please        use
283938              salt.utils.stringutils.build_whitespace_split_regex() instead.
283939
283940            · salt.utils.expr_match.                 Please                use
283941              salt.utils.stringutils.expr_match() instead.
283942
283943            · salt.utils.check_whitelist_blacklist.         Please         use
283944              salt.utils.stringutils.check_whitelist_blacklist() instead.
283945
283946            · salt.utils.check_include_exclude.Please                      use
283947              salt.utils.stringutils.check_include_exclude() instead.
283948
283949            · salt.utils.print_cli.Please                                  use
283950              salt.utils.stringutils.print_cli() instead.
283951
283952            · salt.utils.clean_kwargs.Please                               use
283953              salt.utils.args.clean_kwargs() instead.
283954
283955            · salt.utils.invalid_kwargs.Please                             use
283956              salt.utils.args.invalid_kwargs() instead.
283957
283958            · salt.utils.shlex_split.Please  use salt.utils.args.shlex_split()
283959              instead.
283960
283961            · salt.utils.arg_lookup.Please  use   salt.utils.args.arg_lookup()
283962              instead.
283963
283964            · salt.utils.argspec_report.Please                             use
283965              salt.utils.args.argspec_report() instead.
283966
283967            · salt.utils.split_input.Please use  salt.utils.args.split_input()
283968              instead.
283969
283970            · salt.utils.test_mode.Please    use   salt.utils.args.test_mode()
283971              instead.
283972
283973            · salt.utils.format_call.Please use  salt.utils.args.format_call()
283974              instead.
283975
283976            · salt.utils.which.Please use salt.utils.path.which() instead.
283977
283978            · salt.utils.which_bin.Please    use   salt.utils.path.which_bin()
283979              instead.
283980
283981            · salt.utils.path_join.Please use salt.utils.path.join() instead.
283982
283983            · salt.utils.check_or_die.Please                               use
283984              salt.utils.path.check_or_die() instead.
283985
283986            · salt.utils.sanitize_win_path_string.Please                   use
283987              salt.utils.path.sanitize_win_path() instead.
283988
283989            · salt.utils.rand_str.Please     use     salt.utils.hashutils.ran‐
283990              dom_hash() instead.
283991
283992            · salt.utils.get_hash.Please  use  salt.utils.hashutils.get_hash()
283993              instead.
283994
283995            · salt.utils.is_windows.Please   use   salt.utils.platform.is_win‐
283996              dows() instead.
283997
283998            · salt.utils.is_proxy.Please   use  salt.utils.platform.is_proxy()
283999              instead.
284000
284001            · salt.utils.is_linux.Please  use   salt.utils.platform.is_linux()
284002              instead.
284003
284004            · salt.utils.is_darwin.Please  use salt.utils.platform.is_darwin()
284005              instead.
284006
284007            · salt.utils.is_sunos.Please  use   salt.utils.platform.is_sunos()
284008              instead.
284009
284010            · salt.utils.is_smartos.Please   use  salt.utils.platform.is_smar‐
284011              tos() instead.
284012
284013            · salt.utils.is_smartos_globalzone.Please   use   salt.utils.plat‐
284014              form.is_smartos_globalzone() instead.
284015
284016            · salt.utils.is_smartos_zone.Please      use      salt.utils.plat‐
284017              form.is_smartos_zone() instead.
284018
284019            · salt.utils.is_freebsd.Please  use   salt.utils.platform.is_free‐
284020              bsd() instead.
284021
284022            · salt.utils.is_netbsd.Please  use salt.utils.platform.is_netbsd()
284023              instead.
284024
284025            · salt.utils.is_openbsd.Please  use   salt.utils.platform.is_open‐
284026              bsd() instead.
284027
284028            · salt.utils.is_aix.Please     use    salt.utils.platform.is_aix()
284029              instead.
284030
284031            · salt.utils.safe_rm.Please     use     salt.utils.files.safe_rm()
284032              instead.
284033
284034            · salt.utils.is_empty.Please    use    salt.utils.files.is_empty()
284035              instead.
284036
284037            · salt.utils.fopen.Please use salt.utils.files.fopen() instead.
284038
284039            · salt.utils.flopen.Please use salt.utils.files.flopen() instead.
284040
284041            · salt.utils.fpopen.Please use salt.utils.files.fpopen() instead.
284042
284043            · salt.utils.rm_rf.Please use salt.utils.files.rm_rf() instead.
284044
284045            · salt.utils.mkstemp.Please     use     salt.utils.files.mkstemp()
284046              instead.
284047
284048            · salt.utils.istextfile.Please use salt.utils.files.is_text_file()
284049              instead.
284050
284051            · salt.utils.is_bin_file.Please  use  salt.utils.files.is_binary()
284052              instead.
284053
284054            · salt.utils.list_files.Please  use  salt.utils.files.list_files()
284055              instead.
284056
284057            · salt.utils.safe_walk.Please   use   salt.utils.files.safe_walk()
284058              instead.
284059
284060            · salt.utils.st_mode_to_octal.Please                           use
284061              salt.utils.files.st_mode_to_octal() instead.
284062
284063            · salt.utils.normalize_mode.Please  use   salt.utils.files.normal‐
284064              ize_mode() instead.
284065
284066            · salt.utils.human_size_to_bytes.Please                        use
284067              salt.utils.files.human_size_to_bytes() instead.
284068
284069            · salt.utils.backup_minion.Please use salt.utils.files.backup_min‐
284070              ion() instead.
284071
284072            · salt.utils.str_version_to_evr.Please use salt.utils.pkg.rpm.ver‐
284073              sion_to_evr() instead.
284074
284075            · salt.utils.parse_docstring.Please use  salt.utils.doc.parse_doc‐
284076              string() instead.
284077
284078            · salt.utils.compare_versions.Please  use salt.utils.versions.com‐
284079              pare() instead.
284080
284081            · salt.utils.version_cmp.Please    use    salt.utils.versions.ver‐
284082              sion_cmp() instead.
284083
284084            · salt.utils.warn_until.Please         use         salt.utils.ver‐
284085              sions.warn_until() instead.
284086
284087            · salt.utils.kwargs_warn_until.Please     use      salt.utils.ver‐
284088              sions.kwargs_warn_until() instead.
284089
284090            · salt.utils.get_color_theme.Please                            use
284091              salt.utils.color.get_color_theme() instead.
284092
284093            · salt.utils.get_colors.Please  use  salt.utils.color.get_colors()
284094              instead.
284095
284096            · salt.utils.gen_state_tag.Please  use  salt.utils.state.gen_tag()
284097              instead.
284098
284099            · salt.utils.search_onfail_requisites.Please                   use
284100              salt.utils.state.search_onfail_requisites() instead.
284101
284102            · salt.utils.check_onfail_requisites.Please                    use
284103              salt.utils.state.check_onfail_requisites() instead.
284104
284105            · salt.utils.check_state_result.Please                         use
284106              salt.utils.state.check_result() instead.
284107
284108            · salt.utils.get_user.Please     use    salt.utils.user.get_user()
284109              instead.
284110
284111            · salt.utils.get_uid.Please use salt.utils.user.get_uid() instead.
284112
284113            · salt.utils.get_specific_user.Please use salt.utils.user.get_spe‐
284114              cific_user() instead.
284115
284116            · salt.utils.chugid.Please use salt.utils.user.chugid() instead.
284117
284118            · salt.utils.chugid_and_umask.Please                           use
284119              salt.utils.user.chugid_and_umask() instead.
284120
284121            · salt.utils.get_default_group.Please                          use
284122              salt.utils.user.get_default_group() instead.
284123
284124            · salt.utils.get_group_list.Please                             use
284125              salt.utils.user.get_group_list() instead.
284126
284127            · salt.utils.get_group_dict.Please                             use
284128              salt.utils.user.get_group_dict() instead.
284129
284130            · salt.utils.get_gid_list.Please                               use
284131              salt.utils.user.get_gid_list() instead.
284132
284133            · salt.utils.get_gid.Please use salt.utils.user.get_gid() instead.
284134
284135            · salt.utils.enable_ctrl_logoff_handler.Please                 use
284136              salt.utils.win_functions.enable_ctrl_logoff_handler() instead.
284137
284138            · salt.utils.traverse_dict.Please     use     salt.utils.data.tra‐
284139              verse_dict() instead.
284140
284141            · salt.utils.traverse_dict_and_list.Please                     use
284142              salt.utils.data.traverse_dict_and_list() instead.
284143
284144            · salt.utils.filter_by.Please    use   salt.utils.data.filter_by()
284145              instead.
284146
284147            · salt.utils.subdict_match.Please     use     salt.utils.data.sub‐
284148              dict_match() instead.
284149
284150            · salt.utils.substr_in_list.Please     use    salt.utils.data.sub‐
284151              str_in_list() instead.
284152
284153            · salt.utils.is_dictlist.Please use  salt.utils.data.is_dictlist()
284154              instead.
284155
284156            · salt.utils.repack_dictlist.Please                            use
284157              salt.utils.data.repack_dictlist() instead.
284158
284159            · salt.utils.compare_dicts.Please     use     salt.utils.data.com‐
284160              pare_dicts() instead.
284161
284162            · salt.utils.compare_lists.Please     use     salt.utils.data.com‐
284163              pare_lists() instead.
284164
284165            · salt.utils.decode_dict.Please use  salt.utils.data.encode_dict()
284166              instead.
284167
284168            · salt.utils.decode_list.Please  use salt.utils.data.encode_list()
284169              instead.
284170
284171            · salt.utils.exactly_n.Please   use    salt.utils.data.exactly_n()
284172              instead.
284173
284174            · salt.utils.exactly_one.Please  use salt.utils.data.exactly_one()
284175              instead.
284176
284177            · salt.utils.is_list.Please use salt.utils.data.is_list() instead.
284178
284179            · salt.utils.is_iter.Please use salt.utils.data.is_iter() instead.
284180
284181            · salt.utils.isorted.Please   use   salt.utils.data.sorted_ignore‐
284182              case() instead.
284183
284184            · salt.utils.is_true.Please use salt.utils.data.is_true() instead.
284185
284186            · salt.utils.mysql_to_dict.Please                              use
284187              salt.utils.data.mysql_to_dict() instead.
284188
284189            · salt.utils.simple_types_filter.Please  use  salt.utils.data.sim‐
284190              ple_types_filter() instead.
284191
284192            · salt.utils.ip_bracket.Please  use salt.utils.zeromq.ip_bracket()
284193              instead.
284194
284195            · salt.utils.gen_mac.Please    use    salt.utils.network.gen_mac()
284196              instead.
284197
284198            · salt.utils.mac_str_to_bytes.Please      use      salt.utils.net‐
284199              work.mac_str_to_bytes() instead.
284200
284201            · salt.utils.refresh_dns.Please        use         salt.utils.net‐
284202              work.refresh_dns() instead.
284203
284204            · salt.utils.dns_check.Please  use  salt.utils.network.dns_check()
284205              instead.
284206
284207            · salt.utils.get_context.Please                                use
284208              salt.utils.stringutils.get_context() instead.
284209
284210            · salt.utils.get_master_key.Please  use salt.utils.master.get_mas‐
284211              ter_key() instead.
284212
284213            · salt.utils.get_values_of_matching_keys.Please                use
284214              salt.utils.master.get_values_of_matching_keys() instead.
284215
284216            · salt.utils.date_cast.Please use salt.utils.dateutils.date_cast()
284217              instead.
284218
284219            · salt.utils.date_format.Please   use   salt.utils.dateutils.strf‐
284220              time() instead.
284221
284222            · salt.utils.total_seconds.Please       use      salt.utils.dateu‐
284223              tils.total_seconds() instead.
284224
284225            · salt.utils.find_json.Please   use    salt.utils.json.find_json()
284226              instead.
284227
284228            · salt.utils.import_json.Please  use salt.utils.json.import_json()
284229              instead.
284230
284231            · salt.utils.namespaced_function.Please    use    salt.utils.func‐
284232              tools.namespaced_function() instead.
284233
284234            · salt.utils.alias_function.Please       use      salt.utils.func‐
284235              tools.alias_function() instead.
284236
284237            · salt.utils.profile_func.Please    use    salt.utils.profile.pro‐
284238              file_func() instead.
284239
284240            · salt.utils.activate_profile.Please  use salt.utils.profile.acti‐
284241              vate_profile() instead.
284242
284243            · salt.utils.output_profile.Please   use   salt.utils.profile.out‐
284244              put_profile() instead.
284245
284246   salt.auth.Authorize Class Removal
284247       · The  salt.auth.Authorize  Class  inside  of the salt/auth/__init__.py
284248         file has been removed and the any_auth  method  inside  of  the  file
284249         salt/utils/minions.py.  These  method and classes were not being used
284250         inside of the salt code base.
284251
284252   Salt 3000.1 Release Notes
284253       Version 3000.1 is a bugfix release for 3000.
284254
284255   Statistics
284256       · Total Merges: 53
284257
284258       · Total Issue References: 15
284259
284260       · Total PR References: 54
284261
284262       · Contributors:  16  (Ch3LL,  UtahDave,   bryceml,   cmcmarrow,   dwoz,
284263         frogunder,    garethgreenaway,   lorengordon,   mchugh19,   oeuftete,
284264         raddessi, s0undt3ch, sjorge, terminalmage, twangboy, waynew)
284265
284266   Changelog for v3000..v3000.1
284267       Generated at: 2020-03-27 16:48:41 UTC
284268
284269       · PR #56455: (s0undt3ch) Fix gitpython windows requirement @ 2020-03-27
284270         16:31:57 UTC
284271
284272         · c5a700e01e  Merge  pull  request  #56455 from s0undt3ch/hotfix/git‐
284273           python
284274
284275         · d9791c393f Revert and fix windows requirements
284276
284277         · 4b573c1c94 Revert "Fix win deps"
284278
284279       · PR #56446:  (frogunder)  3000.1  releasenotes  updates  @  2020-03-24
284280         20:28:23 UTC
284281
284282         · 7ba36325d9    Merge    pull    request    #56446    from    frogun‐
284283           der/releasenotes_3000.1_updates
284284
284285         · 6b47f474af 3000.1 releasenotes updates
284286
284287       · PR #56435: (twangboy) Update mac build scripts @ 2020-03-24  19:47:40
284288         UTC
284289
284290         · 4d2bc7004d     Merge    pull    request    #56435    from    twang‐
284291           boy/update_mac_build_scripts
284292
284293         · 5d244b0aa6 Merge branch 'master' into update_mac_build_scripts
284294
284295         · 8fdf52a243 Update gitpython to 2.1.15
284296
284297         · afcedc5232 Remove --ignore-installed
284298
284299         · e6cc2a6192 Separate pyobjc requirements
284300
284301         · 262ad2e98a Compile static requirements
284302
284303         · 224f72d0f2 Update noxfile and .precommit
284304
284305         · 68a36f2e37 Add req_ext.txt
284306
284307         · 5851a5c2cd Roll back changes, fix dependencies
284308
284309       · ISSUE    #56433:    (Ch3LL)    integration.states.test_pip_state.Pip‐
284310         StateTest.test_pip_installed_specific_env   failing   on  MAC  (refs:
284311         #56436)
284312
284313       · PR #56436: (Ch3LL) Fix  #56433  -  test_pip_installed_specific_env  @
284314         2020-03-24 19:47:20 UTC
284315
284316         · 8a8ae8ebe4 Merge pull request #56436 from Ch3LL/pip_custom_pypi
284317
284318         · 55655ff96c Merge branch 'master' into pip_custom_pypi
284319
284320       · PR  #56423:  (Ch3LL) Update changelog with package fixes @ 2020-03-24
284321         16:42:17 UTC
284322
284323         · 3a993d73a9 Merge pull request #56423 from Ch3LL/changelog_again
284324
284325         · 963c16e1a7 update pr number for mac build changes in changelog
284326
284327         · 83e22b77c7 Update changelog with package fixes
284328
284329       · PR #56417: (twangboy) Update mac build scripts @ 2020-03-23  18:45:34
284330         UTC
284331
284332         · d2a5bd8add     Merge    pull    request    #56417    from    twang‐
284333           boy/update_mac_build_scripts
284334
284335         · 3bda8ddb82 Update noxfile and pre-commit
284336
284337         · de58c52d66    Merge    branch     'update_mac_build_scripts'     of
284338           https://github.com/twangboy/salt into update_mac_build_scripts
284339
284340           · e7f08d5349 Update static requirements
284341
284342           · a53977de5b    Merge    branch    'update_mac_build_scripts'    of
284343             github.com:twangboy/salt into update_mac_build_scripts
284344
284345           · 04e5cde9dd pkg/osx/req_ext.txt no longer exists
284346
284347           · be4a272d07 Update static requirements
284348
284349         · 02dfe4119c Add pyobjc in its own requirements file
284350
284351         · 6b2ac2be64 Remove pyobjc, enforce pip install location
284352
284353         · 30ca5d04ec Remove cryptography, it gets installed by pyopenssl
284354
284355         · fda8abf4a8 Update static requirements
284356
284357         · 732ecc83c1 Update pre-commit config
284358
284359         · 1fa9864e3d Don't set a version for pyopenssl
284360
284361         · 461b198978 Update dependencies, remove req_ext.txt
284362
284363       · PR #56418: (Ch3LL) Ensure version.py included  before  we  install  @
284364         2020-03-23 18:27:46 UTC
284365
284366         · 74575a6993 Merge pull request #56418 from Ch3LL/egg_version
284367
284368         · 85d7c784ef Fix integration setup egg test
284369
284370         · a8a22a4040 Ensure version.py included before we install
284371
284372         · 86fe450c82 Fix #56433 - test_pip_installed_specific_env
284373
284374       · PR  #56403:  (frogunder)  update  3000.1  releasenotes  @  2020-03-17
284375         23:50:21 UTC
284376
284377         · 249367b462    Merge    pull    request    #56403    from    frogun‐
284378           der/update_releasenotes_3000.1
284379
284380         · 9d972c96e8 update 3000.1 releasenotes
284381
284382       · PR   #56398:  (Ch3LL)  Add  additional  PRs  to  3000.1  changelog  @
284383         2020-03-17 18:08:15 UTC
284384
284385         · 0de5c1e136 Merge pull request #56398 from Ch3LL/change_3000.1
284386
284387         · 79c337b3db Add additional PRs to 3000.1 changelog
284388
284389       · PR #56376: (twangboy) Fix win deps @ 2020-03-17 17:02:46 UTC
284390
284391         · 5ac09decb9 Merge pull request #56376 from twangboy/fix_win_deps
284392
284393         · 6c83beeb9e Fix win deps
284394
284395       · PR  #56378:  (Ch3LL)   Include  _version.py  if  building   wheel   @
284396         2020-03-17 17:01:33 UTC
284397
284398         · e72a8d2cbc Merge pull request #56378 from Ch3LL/wheel_version
284399
284400         · 22cccd2107  Use  virtualenv test helper that already exists and fix
284401           setup.py
284402
284403         · 293b1fddf2 cleanup code
284404
284405         · ddfb065bfb add bdist_wheel test
284406
284407         · fceff0287c ensure name is included in new version
284408
284409         · 0cbf6d3246 Ensure SaltStackVersion attributes in  _version.py  cor‐
284410           rect
284411
284412         · 39cdf5382d Include _version.py if building wheel
284413
284414       · PR  #56387:  (bryceml)  update  gpg  key expiration date @ 2020-03-17
284415         16:59:30 UTC
284416
284417         · 6a9326fb70 Merge pull request #56387 from bryceml/update_gpg_key
284418
284419         · b74b26ccf3 update gpg key expiration date
284420
284421       · PR #55822: (cmcmarrow) fix_Indefinitely_code  @  2020-03-16  17:34:11
284422         UTC
284423
284424         · fcee692c4a Merge pull request #55822 from cmcmarrow/win_task_repeat
284425
284426         · e257fb2804 Merge branch 'master' into win_task_repeat
284427
284428         · 07cada0f8f Merge branch 'master' into win_task_repeat
284429
284430         · 4b80301338 Merge branch 'master' into win_task_repeat
284431
284432         · 9df94569c4 Merge branch 'master' into win_task_repeat
284433
284434         · 22a2d0b9ec Merge branch 'master' into win_task_repeat
284435
284436         · dee9c134e7 Merge branch 'master' into win_task_repeat
284437
284438         · beaf05d514 Update test_win_task.py
284439
284440         · 6e923f75fc Merge branch 'master' into win_task_repeat
284441
284442         · 5839da81ee add test
284443
284444         · 2aa6338ed0 fix Indefinitely code
284445
284446       · PR  #56373:  (frogunder)  update  3000.1  releasenotes  @  2020-03-13
284447         18:58:43 UTC
284448
284449         · c11ef89200    Merge    pull    request    #56373    from    frogun‐
284450           der/releasenotes_3000.1
284451
284452         · a5ca8b5277 Fix doc test errors
284453
284454         · 47e483187e update 3000.1 releasenotes
284455
284456       · PR #56365: (Ch3LL) Update 3000.1 changelog @ 2020-03-13 17:21:02 UTC
284457
284458         · 62857a9f0e Merge pull request #56365 from Ch3LL/changelog_3000.1
284459
284460         · 851d7d8fc7 Update 3000.1 changelog
284461
284462       · PR  #56360:  (Ch3LL)  Use  virtualenv  20.0.10  for  macosx  tests  @
284463         2020-03-13 16:39:57 UTC
284464
284465         · a660e96fb2 Merge pull request #56360 from Ch3LL/mac_virtual
284466
284467         · abda125086 Update static requirements files
284468
284469         · dca3390c0c skip zcbuildout state test when virtualenv 20.0.0
284470
284471         · fdeae1f0e1 Use virtualenv 20.0.10 for macosx tests
284472
284473       · ISSUE #56324: (kiemlicz) Cannot use Saltcheck module (refs: #56327)
284474
284475       · PR #56327: (mchugh19)  keep  cache_copied_files  variable  a  list  @
284476         2020-03-13 16:39:32 UTC
284477
284478         · d8fc07274c Merge pull request #56327 from mchugh19/56324
284479
284480         · e1e2df2b1d Merge branch 'master' into 56324
284481
284482         · 6d7572706d use includes for saltcheck integration test
284483
284484         · 5b7073b01d keep cache_copied_files variable a list
284485
284486       · PR #56023: (cmcmarrow) add fix for bin_env @ 2020-03-13 16:39:09 UTC
284487
284488         · 2d31d61ab9    Merge    pull    request    #56023    from    cmcmar‐
284489           row/binary_fix_pip_bin_env
284490
284491         · f780fd013e Merge branch 'master' into binary_fix_pip_bin_env
284492
284493         · d642c7c270 Merge branch 'master' into binary_fix_pip_bin_env
284494
284495         · 82b39d26f8     Merge     branch     'binary_fix_pip_bin_env'     of
284496           https://github.com/cmcmarrow/salt into binary_fix_pip_bin_env
284497
284498           · a5fa22528a Merge branch 'master' into binary_fix_pip_bin_env
284499
284500         · 10ca0fa5d6 fix space
284501
284502         · 22fff6c180 fix _pip_bin_env
284503
284504         · d5425e6630 Merge branch 'master' into binary_fix_pip_bin_env
284505
284506         · ceda3fde00 add full support for when missing kwargs or args
284507
284508         · cf4ab215b5 add fix for bin_env
284509
284510       · PR #56310: (twangboy) Only process ADMX files when loading policies @
284511         2020-03-11 23:47:50 UTC
284512
284513         · 19bb6aae0c Merge pull request #56310 from twangboy/fix_lgpo_admx
284514
284515         · 4bc5b05586 Fix some lint
284516
284517         · ce282f9754 Mark destructive test
284518
284519         · 8af09c31ca Add test case
284520
284521         · 547d35cf4c Only process ADMX files when loading policies
284522
284523       · PR #56272: (twangboy) Properly resolve the policy name  @  2020-03-11
284524         22:11:02 UTC
284525
284526         · 2d78931eaf Merge pull request #56272 from twangboy/fix_lgpo_names
284527
284528         · 233ed12472 Add comments to helper function
284529
284530         · a7369e41d7 Remove redundent code... some more
284531
284532         · 1db3052b94 Consolidate duplicate code
284533
284534         · b25b56299d Fix failing PY2 tests
284535
284536         · 36a24ac28f Only load adml data once
284537
284538         · bc13be6850 Add some tests
284539
284540         · 2e9be6e461 Properly resolve the policy name
284541
284542       · PR  #56358:  (s0undt3ch)  Fix  version instantiation when minor is an
284543         empty string @ 2020-03-11 22:10:04 UTC
284544
284545         · c6c6e2e3d9 Merge pull  request  #56358  from  s0undt3ch/hotfix/ver‐
284546           sion-parsing
284547
284548         · cb22e78502 Fix version instantiation when minor is an empty string
284549
284550       · PR  #56160:  (twangboy)  Fix  issue with existing reg_dword entries @
284551         2020-03-11 22:09:21 UTC
284552
284553         · b33047c574 Merge pull request #56160 from twangboy/fix_reg_dword
284554
284555         · 80650c2a8c Make test more explicit
284556
284557         · 67dd1c18c7 Fix issue with existing reg_dword entries
284558
284559       · PR #56337: (twangboy) Handle Adapter Type 53 and  Undefined  Types  @
284560         2020-03-11 22:08:19 UTC
284561
284562         · 8f23706871  Merge  pull  request  #56337 from twangboy/fix_win_net‐
284563           work_type
284564
284565         · 18a31a0b22 Merge branch 'master' into fix_win_network_type
284566
284567         · d92914ad91 Merge branch 'master' into fix_win_network_type
284568
284569         · 224629bdeb Handle Adapter Type 53 and Undefined Types
284570
284571       · PR #56060: (twangboy) Fix regex string  for  **Del  and  **DelVals  @
284572         2020-03-11 22:05:43 UTC
284573
284574         · e551ff6a31 Merge pull request #56060 from twangboy/fix_lgpo_regex
284575
284576         · ca260ef582 Use byte-strings in the test
284577
284578         · 7c81874a5b Add some tests
284579
284580         · 944b022f33 Fix regex string for **Del and **DelVals
284581
284582       · ISSUE  #56131:  (thusoy) Salt v3000 crashes with unless clause if pip
284583         is missing (refs: #56215)
284584
284585       · PR #56215: (dwoz) Fix for unless requisite when pip is not  installed
284586         @ 2020-03-11 22:04:30 UTC
284587
284588         · c9bc9431c1 Merge pull request #56215 from dwoz/issue-56131
284589
284590         · 5dd8f8eabe Fix linter
284591
284592         · 7492c2f7c7 Remove crufty prints from test
284593
284594         · 8ceaa6e6f3 Only remove pip relasted modules
284595
284596         · 69b21e5e68 Add regression test for issue 56131
284597
284598         · 9d23f55adc Fix for unless requisite when pip is not installed
284599
284600       · PR  #56339:  (twangboy) Fix win_dns_client when used with scheduler @
284601         2020-03-11 22:01:32 UTC
284602
284603         · 74b67ea741    Merge    pull    request    #56339    from     twang‐
284604           boy/fix_win_dns_client
284605
284606         · d6a4fbe85d Fix bad test (lint)
284607
284608         · 47bd67373f Add some tests
284609
284610         · 995975649a Add missing import, improve docs
284611
284612       · ISSUE  #56288:  (lorengordon)  win_lgpo: lgpo.set with secedit policy
284613         always generates KeyError: u'lgpo.secedit_data' (refs: #56290)
284614
284615       · PR #56290: (lorengordon) Ensures popping lgpo.secedit_data  does  not
284616         throw KeyError @ 2020-03-11 17:27:04 UTC
284617
284618         · 7701e8762d Merge pull request #56290 from lorengordon/pop-secdata
284619
284620         · 62453bb6ce Merge branch 'master' into pop-secdata
284621
284622         · 95d5cea9ff Merge branch 'master' into pop-secdata
284623
284624         · 2979158a8b Tests the if _secedits: logic path in lgpo.set_
284625
284626         · d1f776178c  Ensures popping lgpo.secedit_data does not throw KeyEr‐
284627           ror
284628
284629       · ISSUE #56119: (finalduty) Release notes  for  v3000  do  not  mention
284630         changes to slspath variable (refs: #56341)
284631
284632       · PR  #56341:  (dwoz)  Revert  "Don't  remove  one directory level from
284633         slspath" @ 2020-03-11 17:03:33 UTC
284634
284635         · 84c60708cd Merge pull request #56341 from dwoz/issue-56119
284636
284637         · afe6e84c36 Clarify slspath documentation
284638
284639         · 6dfc098fd1 Add debug for test asserts
284640
284641         · 9fa9dab8b2 Fix linter warts
284642
284643         · fd702bdd44 Add regression test for #56119
284644
284645         · 3d3b673cec Revert "Don't remove one directory level from slspath"
284646
284647       · PR #56185: (terminalmage)  Fix  regression  in  service  states  with
284648         reload argument @ 2020-03-11 16:45:58 UTC
284649
284650         · 4f9813a49c Merge pull request #56185 from terminalmage/issue56167
284651
284652         · 65b3f4c9a0 Merge branch 'master' into issue56167
284653
284654         · 7b41a00b4f Merge branch 'master' into issue56167
284655
284656         · 8f7034d946 Merge branch 'master' into issue56167
284657
284658         · e9fbb634e1 Skip on OSX for now
284659
284660         · 5996280241 Add __opts__ and __grains__ just in case
284661
284662         · af3e841d08 Fix failing test
284663
284664         · 586f21aedc Add functional test
284665
284666         · 1afb9c10f0 Fix regression in service states with reload argument
284667
284668       · PR #56068: (s0undt3ch) Update the bootstrap script to latest version,
284669         v2020.02.24 @ 2020-03-11 16:44:23 UTC
284670
284671         · 74f8b2a926  Merge   pull   request   #56068   from   s0undt3ch/hot‐
284672           fix/update-bootstrap
284673
284674         · ce83b190ed Merge branch 'master' into hotfix/update-bootstrap
284675
284676         · ccd231d82d Merge branch 'master' into hotfix/update-bootstrap
284677
284678         · 88a52f88ff   Update   the   bootstrap  script  to  latest  version,
284679           v2020.02.24
284680
284681         · 012fb5bc4b  Update  the  bootstrap  script   to   latest   version,
284682           v2020.02.04
284683
284684       · PR  #56321:  (oeuftete)  Tidy  up  formatting in boto_secgroup docs @
284685         2020-03-11 08:14:48 UTC
284686
284687         · 154257e2e9 Merge pull request #56321  from  oeuftete/tidy-boto-sec‐
284688           group-docs
284689
284690         · 616f11b33e Merge branch 'master' into tidy-boto-secgroup-docs
284691
284692         · 412bb4d62d Tidy up formatting in boto_secgroup docs
284693
284694       · PR  #56336:  (Ch3LL)  Fix  test_issue_2594_non_invalidated_cache test
284695         (update zope.interface) @ 2020-03-11 00:08:43 UTC
284696
284697         · 11d33e3d90 Merge pull request #56336 from Ch3LL/fix_56330
284698
284699         · bbf37e090b Fix test_issue_2594_non_invalidated_cache  test  (update
284700           zope.interface)
284701
284702       · PR  #56346:  (frogunder)  Update  man  pages  to  3000.1 @ 2020-03-11
284703         00:07:31 UTC
284704
284705         · a640bd30fc    Merge    pull    request    #56346    from    frogun‐
284706           der/man_pages_3000_1
284707
284708         · 6d7c1b6482 Update man pages to 3000.1
284709
284710       · PR #56099: (s0undt3ch) Fix Windows and macOS requirements handling in
284711         setup.py @ 2020-03-11 00:04:37 UTC
284712
284713         · 2f783d247e Merge pull request #56099 from s0undt3ch/hotfix/require‐
284714           ments
284715
284716         · c19f4a3fae Merge branch 'master' into hotfix/requirements
284717
284718         · 1e7bc8fc8f Also take into account macOS requirements
284719
284720         · 7eef14952c Also include req_win.txt
284721
284722       · PR #56218: (raddessi) Changed StrictVersion checking of setuptools to
284723         LooseVersion @ 2020-03-10 23:59:54 UTC
284724
284725         · 7c4d879073   Merge   pull   request   #56218   from   raddessi/mas‐
284726           ter.v3000-conda
284727
284728         · 44556f6d57 Merge branch 'master' into master.v3000-conda
284729
284730         · 566c03b786 Merge branch 'master' into master.v3000-conda
284731
284732         · 82773a9799 Removed now-unused StrictVersion import from setup.py
284733
284734         · 31bb0f7cd1  Changed StrictVersion checking of setuptools to LooseV‐
284735           ersion
284736
284737       · PR #56128: (waynew) Update CHANGELOG  with  release  date  and  unre‐
284738         leased.  @ 2020-03-10 23:58:15 UTC
284739
284740         · acbd3556e5 Merge pull request #56128 from waynew/master
284741
284742         · e3216db3e5 Update CHANGELOG with release date and unreleased.
284743
284744       · PR  #55937:  (twangboy)  Update  windows  build  scripts @ 2020-03-10
284745         23:55:55 UTC
284746
284747         · 12140545ab Merge pull request #55937 from twangboy/update_deps
284748
284749         · f00a504a48 Add back the pylauncher
284750
284751         · 30b9c32356 Revert changes to req and req_win
284752
284753         · 98dc0e970c Fix some warts in the build_env scripts
284754
284755         · 8404141f65 Update dependencies
284756
284757       · PR #55906: (sjorge) smartos.vm_present could  not  handle  nics  with
284758         vrrp_vrid property @ 2020-03-10 23:54:44 UTC
284759
284760         · 485a47cdf1 Merge pull request #55906 from sjorge/smartos_vrrp
284761
284762         · 5bd7dd009a Merge branch 'master' into smartos_vrrp
284763
284764         · f77719c179 smartos state should handle vrrp config
284765
284766       · ISSUE  #55185:  (sjorge)  salt.modules.pdbedit  doesn't work on samba
284767         older than 4.8 (refs: #55894)
284768
284769       · PR #55894: (sjorge) #55185 pdbedit module should  check  for  version
284770         4.8.x or newer @ 2020-03-10 23:54:21 UTC
284771
284772         · 1fa8555360 Merge pull request #55894 from sjorge/pdbedit_55185
284773
284774         · 9dc7b71122 Merge branch 'master' into pdbedit_55185
284775
284776       · ISSUE  #56195: (lorengordon) Windows: Using inline powershell in args
284777         with cmd.script and shell: powershell (refs: #56197)
284778
284779       · PR  #56197:  (lorengordon)  Allows  use  of  inline  powershell   for
284780         cmd.script args @ 2020-03-10 23:52:47 UTC
284781
284782         · 3e57d58db2    Merge    pull    request    #56197   from   lorengor‐
284783           don/file-or-no-file
284784
284785         · fcd1699f5e Allows use of inline powershell for cmd.script args
284786
284787         · be2e67c0a0 Tests that powershell  processes  inline  powershell  in
284788           args
284789
284790       · ISSUE  #53152:  (jbeaird)  daily highstate fails after 2019.2 upgrade
284791         (refs: #56149)
284792
284793       · PR #56149: (garethgreenaway) [master] Fix to  scheduler  for  use  of
284794         when and splay @ 2020-03-10 23:52:16 UTC
284795
284796         · 547c73e4cc    Merge   pull   request   #56149   from   garethgreen‐
284797           away/53152_fix_schedule_when_splay
284798
284799         · 8f068f6f9b Fix for when using a  combination  of  when  and  splay.
284800           Previously  comparing  the  wrong value when determining if the job
284801           should be run and next_fire_time updated.  This resulted in  multi‐
284802           ple  job runs when when and splay were used together.  Code updated
284803           and test updated to ensure only one run at the specific time.  Skip
284804           eval tests is dateutil.parser is unavailable.
284805
284806       · PR  #56345: (s0undt3ch) Bump Windows Py3 builds timeout to 10 hours @
284807         2020-03-10 20:43:41 UTC
284808
284809         · 192ce76a95  Merge   pull   request   #56345   from   s0undt3ch/hot‐
284810           fix/win-py3-timeouts
284811
284812         · 11bdc38ae3 Bump Windows 2019 Py3 builds timeout to 10 hours
284813
284814       · PR  #55888: (s0undt3ch) Disable codecov PR comments and status checks
284815         @ 2020-03-10 15:45:52 UTC
284816
284817         · a204906c80 Merge pull request #55888  from  s0undt3ch/hotfix/cover‐
284818           age-reporting
284819
284820         · 4b8dc8a586 Disable codecov PR comments and status checks
284821
284822         · cb0f4dff87 Apply the suggestion given by the codecov team
284823
284824       · ISSUE #56177: (jodok) mysql states fail because conv is `` instead of
284825         None (refs: #56174)
284826
284827       · ISSUE #56170: (jeffdyke) mariadb socket access must be enabled before
284828         highstate - salt 3K still tries empty password (refs: #56174)
284829
284830       · ISSUE  #56124:  (ymasson) MySQL state and module broken after upgrade
284831         to 3000 (refs: #56174)
284832
284833       · PR #56174: (garethgreenaway) [master] MySQL module fixes @ 2020-03-10
284834         04:03:23 UTC
284835
284836         · 3e913631bb    Merge   pull   request   #56174   from   garethgreen‐
284837           away/56124_mysql_module_state_fixes
284838
284839         · fcc061368b Removing quotes from the plugin_status query.   Updating
284840           tests to reflect changes.
284841
284842         · 3dc66393b2  Adding better error reporting around plugins.  Updating
284843           tests.  Only attempt to delete a user if they exist.
284844
284845         · 1337da1e4e Ensure _mysql_user_exists is using auth_socket.   Updat‐
284846           ing  mysql  and mariadb chpass functions to ensure that the respec‐
284847           tive plugins are enabled before attempting to use them.
284848
284849         · 34995ba4e8 Reworking the unix_socket code to  support  the  differ‐
284850           ences between MySQL and MariaDB.  Adding some functions to install,
284851           remove, and check the status of plugins which we can then use  when
284852           adding  users which will use the unix_socket & auth_socket plugins.
284853           Adding additional tests for these new functions as well as test  to
284854           ensure  the  correct SQL is being generated when using passwordless
284855           and unix_socket options.
284856
284857         · 5bfd67c13e Minor tweak to mysql module.  Fixing failing tests.
284858
284859         · e871a3ffd1 Various fixes to the mysql module to break out the  han‐
284860           dling  of  user  management into different functions based on MySQL
284861           variant.
284862
284863       · ISSUE #56063: (terminalmage) [master] Traceback in esxi grain  module
284864         on import (refs: #56094)
284865
284866       · PR  #56094:  (dwoz)  Fix  type  error in TornadoImporter @ 2020-03-10
284867         01:39:08 UTC
284868
284869         · 211c88bfbc Merge pull request #56094 from dwoz/fix_56063
284870
284871         · 7b1632e8e3 Fix type error in TornadoImporter
284872
284873       · PR #56172: (Ch3LL) Only change mine data if using new allow_tgt  fea‐
284874         ture @ 2020-03-10 01:34:27 UTC
284875
284876         · fb5252fc53 Merge pull request #56172 from Ch3LL/mine_g
284877
284878         · f4c9c2a5cf Fix docs
284879
284880         · 6c914caec8 Use different targeting for windows/linux
284881
284882         · f6348127dc Only change mine data if using new allow_tgt feature
284883
284884       · ISSUE  #56121:  (githubcdr)  salt-minion broken after upgrade to 3000
284885         (refs: #56143)
284886
284887       · ISSUE #51854: (Oloremo) Fluorine: minion_pillar_cache: True leads  to
284888         exception (refs: #56143, #52195)
284889
284890       · PR   #56143:  (waynew)  Use  encoding  when  caching  pillar  data  @
284891         2020-03-10 01:33:37 UTC
284892
284893         · PR #52195: (waynew) Use encoding when caching  pillar  data  (refs:
284894           #56143)
284895
284896         · 8a8e9c9c5f  Merge pull request #56143 from waynew/51854-minion-pil‐
284897           lar-cache-exception
284898
284899         · 58cc9488aa   Merge   branch   'master'    into    51854-minion-pil‐
284900           lar-cache-exception
284901
284902       · PR  #56082:  (Ch3LL)  Fix  saltversioninfo  grain  for  new version @
284903         2020-03-10 01:32:11 UTC
284904
284905         · 9f27caa7d0 Merge pull request #56082 from Ch3LL/ver_grains
284906
284907         · e6abd6d31b ensure full_info/noc_info work with new versioning
284908
284909         · bcc520ccc4 Add saltversioninfo grains test
284910
284911         · 510e149b87 Fix saltversioninfo grain for new version
284912
284913       · PR #56285: (UtahDave) Add missing colon.  @ 2020-03-09 22:22:17 UTC
284914
284915         · 602ff3b9f1 Merge pull request #56285 from UtahDave/fix_f5_doc
284916
284917         · 1034013831 Add missing colon.
284918
284919       · PR #56333: (Ch3LL) add pylint ignore in django returner @  2020-03-09
284920         20:42:42 UTC
284921
284922         · de5184a206 Merge pull request #56333 from Ch3LL/lint_fix
284923
284924         · 6a213a429a add pylint ignore in django returner
284925
284926         · 759290a055 Use encoding when caching pillar data
284927
284928       · ISSUE  #56080:  (sagetherage) Update release notes, pip download page
284929         and install docs on pycrpto (refs: #56095)
284930
284931       · PR  #56095:  (waynew)  Provide  security  advisory  for  PyCrypto   @
284932         2020-02-10 18:42:00 UTC
284933
284934         · 9adc2214c3 Merge pull request #56095 from waynew/crypto-warning
284935
284936         · 484bc51f4b Add warnings to a couple of other places
284937
284938         · 2711c04ca9 Provide security advisory for PyCrypto
284939
284940       · PR  #56092:  (twangboy)  Add  LGPO  and  Network  PRs to changelogs @
284941         2020-02-10 18:17:28 UTC
284942
284943         · 1acd492bb9    Merge    pull    request    #56092    from     twang‐
284944           boy/waynew-update-changelog
284945
284946         · 4e03620d4e Fix a docs issue
284947
284948         · e7b64277e1 Add LGPO and Network PRs to changelogs
284949
284950       · PR  #56115: (s0undt3ch) Add information about the pip install salt on
284951         windows issue.  @ 2020-02-10 17:33:44 UTC
284952
284953         · 65d59b0ee9  Merge   pull   request   #56115   from   s0undt3ch/hot‐
284954           fix/release-notes
284955
284956         · aeac9f36cd  Add  information  about the pip install salt on windows
284957           issue.
284958
284959         · a5179434e7 Merge branch 'master' into pdbedit_55185
284960
284961         · 95d46d6cc8 #55185 pdbedit module should check for version 4.8.x  or
284962           newer
284963
284964   Salt 2019.2.0 Release Notes - Codename Fluorine
284965   Python 2.7 Deprecation
284966       In  light of Python 2.7 reaching its End of Life (EOL) on Jan 1st 2020,
284967       Python 2 will be deprecated from SaltStack no earlier than  the  Sodium
284968       release,  that  is  either the Sodium release or a later release.  This
284969       decision is pending further community discussion.
284970
284971   Non-Backward-Compatible Change to YAML Renderer
284972       In earlier releases, this was  considered  valid  usage  in  Python  2,
284973       assuming  that  data  was  a  list or dictionary containing keys/values
284974       which are unicode types:
284975
284976          /etc/foo.conf:
284977            file.managed:
284978              - source: salt://foo.conf.jinja
284979              - template: jinja
284980              - context:
284981                  data: {{ data }}
284982
284983       One common use case for this is when using one of Salt's  custom  Jinja
284984       filters which return lists or dictionaries, such as the ipv4 filter.
284985
284986       In  Python  2,  Jinja  will  render the unicode string types within the
284987       list/dictionary with the "u" prefix (e.g. {u'foo': u'bar'}). While  not
284988       valid YAML, earlier releases would successfully load these values.
284989
284990       As  of this release, the above SLS would result in an error message. To
284991       allow for a data structure to be dumped directly into  your  SLS  file,
284992       use the tojson Jinja filter:
284993
284994          /etc/foo.conf:
284995            file.managed:
284996              - source: salt://foo.conf.jinja
284997              - template: jinja
284998              - context:
284999                  data: {{ data|tojson }}
285000
285001       Another  example where the new filter needs to be used is the following
285002       state example:
285003
285004          grafana_packages:
285005            pkg.installed:
285006            - names: {{ server.pkgs }}
285007
285008       This will fail when pkgs is a list or  dictionary.  You  will  need  to
285009       update the state:
285010
285011          grafana_packages:
285012            pkg.installed:
285013            - names: {{ server.pkgs|tojson }}
285014
285015       This test case has also been tested with the yaml and json filters suc‐
285016       cessfully.
285017
285018       NOTE:
285019          This filter was added in Jinja 2.9. However, fear not! The  2018.3.3
285020          release  added  a tojson filter which will be used if this filter is
285021          not already present, making it available on platforms  like  RHEL  7
285022          and Ubuntu 14.04 which provide older versions of Jinja.
285023
285024       IMPORTANT:
285025          The  json_encode_dict  and  json_encode_list filters do not actually
285026          dump the results to JSON. Since tojson accomplishes what those  fil‐
285027          ters  were  designed  to  do,  they  are  now deprecated and will be
285028          removed in the 3000 release. The tojson filter should be used in all
285029          cases  where  json_encode_dict  and json_encode_list would have been
285030          used.
285031
285032   Ansible Playbook State and Execution Modules
285033       Along with the including the ansible modules  in  the  Oxygen  release,
285034       running  playbooks  has been added in 2019.2.0 with the playbooks func‐
285035       tion.  This also includes an ansible playbooks state module  which  can
285036       be  used  on  a  targeted  host to run ansible playbooks, or used in an
285037       orchestration state runner.
285038
285039          install nginx:
285040            ansible.playbooks:
285041              - name: install.yml
285042              - git_repo: git://github.com/gtmanfred/playbook.git
285043              - git_kwargs:
285044                  rev: master
285045
285046       The playbooks modules also includes the ability to specify a  git  repo
285047       to  clone and use, or a specific directory can to used when running the
285048       playbook.
285049
285050   Network Automation
285051       Beginning with this release, Salt provides much broader support  for  a
285052       variety  of  network  operating systems, and features for configuration
285053       manipulation or operational command execution.
285054
285055   NetBox
285056       Added in the previous release, 2018.3.0, the capabilities of the netbox
285057       Execution  Module have been extended, with a much longer list of avail‐
285058       able features:
285059
285060       · netbox.create_circuit
285061
285062       · netbox.create_circuit_provider
285063
285064       · netbox.create_circuit_termination
285065
285066       · netbox.create_circuit_type
285067
285068       · netbox.create_device
285069
285070       · netbox.create_device_role
285071
285072       · netbox.create_device_type
285073
285074       · netbox.create_interface
285075
285076       · netbox.create_interface_connection
285077
285078       · netbox.create_inventory_item
285079
285080       · netbox.create_ipaddress
285081
285082       · netbox.create_manufacturer
285083
285084       · netbox.create_platform
285085
285086       · netbox.create_site
285087
285088       · netbox.delete_interface
285089
285090       · netbox.delete_inventory_item
285091
285092       · netbox.delete_ipaddress
285093
285094       · netbox.get_circuit_provider
285095
285096       · netbox.get_interfaces
285097
285098       · netbox.get_ipaddresses
285099
285100       · netbox.make_interface_child
285101
285102       · netbox.make_interface_lag
285103
285104       · netbox.openconfig_interfaces
285105
285106       · netbox.openconfig_lacp
285107
285108       · netbox.update_device
285109
285110       · netbox.update_interface
285111
285112       Besides this Execution Module, Salt users can load data  directly  from
285113       NetBox into the device Pillar, via the netbox External Pillar module.
285114
285115   Netmiko
285116       Netmiko,  the multi-vendor library to simplify Paramiko SSH connections
285117       to network devices, is now officially integrated into Salt. The network
285118       community  can use it via the netmiko Proxy Module or directly from any
285119       Salt Minions, passing the connection credentials - see  the  documenta‐
285120       tion for the netmiko Execution Module.
285121
285122   Arista
285123       Arista  switches can now be managed running under the pyeapi Proxy Mod‐
285124       ule, and execute RPC requests via the pyeapi Execution Module.
285125
285126   Cisco Nexus
285127       While support for SSH-based operations has been added  in  the  release
285128       codename  Carbon  (2016.11), the new nxos_api Proxy Module and nxos_api
285129       allow management of Cisco Nexus switches via the NX-API.
285130
285131       It is important to note that  these  modules  don't  have  third  party
285132       dependencies,  therefore  they  can be used straight away from any Salt
285133       Minion. This also means that the user may be able to install the  regu‐
285134       lar  Salt  Minion  on  the Nexus switch directly and manage the network
285135       devices like a regular server.
285136
285137   General-purpose Modules
285138       The new ciscoconfparse Execution Module can  be used for basic configu‐
285139       ration parsing, audit or validation for a variety of  network platforms
285140       having Cisco IOS style configuration (one space indentation),  as  well
285141       as brace-delimited configuration style.
285142
285143       The  iosconfig  can  be used for various configuration manipulation for
285144       Cisco IOS style configuration, such  as:  configuration  cleanup,  tree
285145       representation of the config, etc.
285146
285147   NAPALM
285148   Commit At and Commit Confirmed
285149       Beginning with this release, NAPALM users are able to execute scheduled
285150       commits (broadly known as "commit at") and "commit  confirmed"  (revert
285151       the  configuration  change  unless the user confirms by running another
285152       command). These features are available via  the  commit_in,  commit_at,
285153       revert_in,   or   revert_at   arguments  for  the  net.load_config  and
285154       net.load_template execution functions, or netconfig.managed.
285155
285156       The counterpart execution  functions  net.confirm_commit,  or  net.can‐
285157       cel_commit,  as well as the State functions netconfig.commit_cancelled,
285158       or netconfig.commit_confirmed can be used to confirm or cancel  a  com‐
285159       mit.
285160
285161       Please note that the commit confirmed and commit cancelled functionali‐
285162       ties are available for any platform whether the  network  devices  sup‐
285163       ports  the features natively or not. However, be cautious and make sure
285164       you read and understand the caveats before using them in production.
285165
285166   Multiple Templates Rendered Simultaneously
285167       The template_name argument of the net.load_template Execution and  net‐
285168       config.managed State function now supports a list of templates. This is
285169       particularly useful when a very large Jinja template is split into mul‐
285170       tiple  smaller  and  easier  to  read  templates that can eventually be
285171       reused in other States. For example, the following syntax is  not  cor‐
285172       rect  to  manage the configuration of NTP and BGP simultaneously, using
285173       two different templates and changing the device  configuration  through
285174       one single commit:
285175
285176          manage_bgp_and_ntp:
285177            netconfig.managed:
285178              - template_name:
285179                  - salt://templates/bgp.jinja
285180                  - salt://templates/ntp.jinja
285181              - context:
285182                  bpg: {{ pillar.bgp }}
285183                  ntp: {{ pillar.ntp }}
285184
285185   Connection Re-establishment on Demand
285186       Beginning  with  this release, any NAPALM command executed when running
285187       under a NAPALM Proxy Minion supports the  force_reconnect  magic  argu‐
285188       ment.
285189
285190       Proxy  Minions generally establish a connection with the remote network
285191       device at the time of the Minion startup and that connection  is  going
285192       to be used forever.
285193
285194       If  one would need to execute a command on the device but is connecting
285195       using different parameters (due to  various  causes,  e.g.,  unable  to
285196       authenticate  the  user  specified  in the Pillar as the authentication
285197       system - say TACACS+ is not available, or the DNS resolver is currently
285198       down  and  would like to temporarily use the IP address instead, etc.),
285199       it implies updating the Pillar data and  restarting  the  Proxy  Minion
285200       process  restart.   In  particular  cases  like  that, you can pass the
285201       force_reconnect=True keyword argument, together  with  the  alternative
285202       connection  details, to enforce the command to be executed over a sepa‐
285203       rate connection.
285204
285205       For example, if the usual command is salt '*' net.arp, you can use  the
285206       following to connect using a different username instead:
285207
285208          salt '*' net.arp username=my-alt-usr force_reconnect=True
285209
285210       The  same  goes  with any of the other configuration arguments required
285211       for the NAPALM connection - see NAPALM proxy documentation.
285212
285213   Configuration Replace Features
285214       To  replace  various  configuration  chunks,  you  can  use   the   new
285215       net.replace_pattern  execution  function, or the netconfig.replace_pat‐
285216       tern State function. For example, if you want to update your configura‐
285217       tion  and  rename a BGP policy referenced in many places, you can do so
285218       by running:
285219
285220          salt '*' net.replace_pattern OLD-POLICY-CONFIG new-policy-config
285221
285222       Similarly, you can also replace entire configuration blocks  using  the
285223       net.blockreplace function.
285224
285225   Configuration Save Features
285226       The  net.save_config  function can be used to save the configuration of
285227       the managed device into a file. For the State  subsystem,  the  netcon‐
285228       fig.saved  function  has  been  added which provides a complete list of
285229       facilities when managing the target file where the configuration of the
285230       network device can be saved.
285231
285232       For  example, backup the running configuration of each device under its
285233       own directory tree:
285234
285235          /var/backups/{{ opts.id }}/running.cfg:
285236            netconfig.saved:
285237              - source: running
285238              - makedirs: true
285239
285240       All the new network automation modules  mentioned  above  are  directly
285241       exposed  to  the  NAPALM  users,  without  requiring  any architectural
285242       changes, just eventually install some requirements:
285243
285244   Junos
285245       The features from the existing junos Execution Module are available via
285246       the following functions:
285247
285248       · napalm.junos_cli: Execute a CLI command and return the output as text
285249         or Python dictionary.
285250
285251       · napalm.junos_rpc: Execute an RPC request on the remote Junos  device,
285252         and  return  the  result  as  a Python dictionary, easy to digest and
285253         manipulate.
285254
285255       · napalm.junos_install_os: Install the given image on the device.
285256
285257       · napalm.junos_facts: The complete list of Junos facts collected by the
285258         junos-eznc underlying library.
285259
285260       NOTE:
285261          To  be able to use these features, you muse ensure that you meet the
285262          requirements for the junos module. As junos-eznc is already a depen‐
285263          dency of NAPALM, you will only have to install jxmlease.
285264
285265       Usage examples:
285266
285267          salt '*' napalm.junos_cli 'show arp' format=xml
285268          salt '*' napalm.junos_rpc get-interface-information
285269
285270   Netmiko
285271       The  features  from the newly added netmiko Execution Module are avail‐
285272       able as:
285273
285274       · napalm.netmiko_commands: Execute one or more commands to  be  execute
285275         on the remote device, via Netmiko, and return the output as a text.
285276
285277       · napalm.netmiko_config:  Load  a  list of configuration command on the
285278         remote device, via Netmiko. The commands can equally be loaded from a
285279         local  or  remote  path, and passed through Salt's template rendering
285280         pipeline (by default using Jinja as the template rendering engine).
285281
285282       Usage examples:
285283
285284          salt '*' napalm.netmiko_commands 'show version' 'show interfaces'
285285          salt '*' napalm.netmiko_config config_file=https://bit.ly/2sgljCB
285286
285287   Arista pyeapi
285288       For various operations and various  extension  modules,  the  following
285289       features have been added to gate functionality from the pyeapi module:
285290
285291       · napalm.pyeapi_run_commands:  Execute a list of commands on the Arista
285292         switch, via the pyeapi library.
285293
285294       · napalm.pyeapi_config: Configure the Arista switch with the  specified
285295         commands,  via  the  pyeapi  Python library. Similarly to napalm.net‐
285296         miko_config, you can use both local and remote files, with or without
285297         templating.
285298
285299       Usage examples:
285300
285301          salt '*' napalm.pyeapi_run_commands 'show version' 'show interfaces'
285302          salt '*' napalm.pyeapi_config config_file=salt://path/to/template.jinja
285303
285304   Cisco NX-API
285305       In  the exact same way as above, the user has absolute control by using
285306       the following primitives to manage Cisco Nexus switches via the NX-API:
285307
285308       · napalm.nxos_api_show: Execute one or  more  show  (non-configuration)
285309         commands, and return the output as plain text or Python dictionary.
285310
285311       · napalm.nxos_api_rpc:  Execute  arbitrary  RPC  requests via the Nexus
285312         API.
285313
285314       · napalm.nxos_api_config: Configures the Nexus switch with  the  speci‐
285315         fied  commands,  via  the NX-API. The commands can be loaded from the
285316         command line, or a local or remote file,  eventually  rendered  using
285317         the templating engine of choice (default: jinja).
285318
285319       Usage examples:
285320
285321          salt '*' napalm.nxos_api_show 'show bgp sessions' 'show processes' raw_text=False
285322
285323   Ciscoconfparse
285324       The following list of function may be handy when manipulating Cisco IOS
285325       or Junos style configurations:
285326
285327       · napalm.config_filter_lines: Return a list of  detailed  matches,  for
285328         the configuration blocks (parent-child relationship) whose parent and
285329         children respect the regular expressions provided.
285330
285331       · napalm.config_find_lines: Return the configuration lines  that  match
285332         the regular expression provided.
285333
285334       · napalm.config_lines_w_child:  Return  the  configuration  lines  that
285335         match a regular expression, having child  lines  matching  the  child
285336         regular expression.
285337
285338       · napalm.config_lines_wo_child:  Return  the  configuration  lines that
285339         match a regular expression, that don't have child lines matching  the
285340         child regular expression.
285341
285342       NOTE:
285343          These  functions  require  the  ciscoconfparse  Python library to be
285344          installed.
285345
285346       Usage example (find interfaces that are administratively shut down):
285347
285348          salt '*' napalm.config_lines_w_child 'interface' 'shutdown'
285349
285350   IOSConfig
285351       For Cisco IOS style configuration, the  following  features  have  been
285352       added to the napalm Execution Module:
285353
285354       · napalm.config_tree: Transform Cisco IOS style configuration to struc‐
285355         tured Python dictionary, using the configuration of the  interrogated
285356         network device.
285357
285358       · napalm.config_merge_tree:  Return the merge tree of the configuration
285359         of the managed network device with a different  configuration  to  be
285360         merged with (without actually loading any changes on the device).
285361
285362       · napalm.config_merge_text:  Return  the  merge result (as text) of the
285363         configuration of the managed network device with a different configu‐
285364         ration to be merged with.
285365
285366       · napalm.config_merge_diff:  Return  the  merge  diff after merging the
285367         configuration of the managed network device with a different configu‐
285368         ration (without actually loading any changes on the device).
285369
285370   SCP
285371       Reusing  the  already  available  connection  credentials  provided for
285372       NAPALM, the following features are now available:
285373
285374       · napalm.scp_put: Transfer files  and  directories  to  remote  network
285375         device.
285376
285377       · napalm.scp_get:  Transfer  files  and directories from remote network
285378         device to the localhost of the Minion.
285379
285380   PeeringDB
285381       The peeringdb Execution Module is useful to  gather  information  about
285382       other  networks you can potentially peer with, and automatically estab‐
285383       lish BGP sessions, e.g., given just a specific AS number, the  rest  of
285384       the  data  (i.e.,  IP  addresses, locations where the remote network is
285385       available, etc.) is retrieved from PeeringDB, and the session  configu‐
285386       ration  is automated with minimal to no effort (typing the IP addresses
285387       manually can be both tedious and error prone).
285388
285389   New Docker Proxy Minion
285390       Docker  containers  can  now  be  treated  as  actual  minions  without
285391       installing salt in the container, using the new docker proxy minion.
285392
285393       This  proxy  minion  uses  the  docker executor to pass commands to the
285394       docker container using docker.call.  Any state module calls are  passed
285395       through the corresponding function from the docker module.
285396
285397          proxy:
285398            proxytype: docker
285399            name: keen_proskuriakova
285400
285401   Terraform Salt-SSH Roster
285402       You  can  now dynamically generate a Salt-SSH roster from the terraform
285403       resources defined with terraform-provider-salt.
285404
285405       This allows you to combine both terraform and Salt-SSH to provision and
285406       configure your hosts. See the terraform roster for an example on how to
285407       setup and use.
285408
285409   Grains Dictionary Passed into Custom Grains
285410       Starting in this release, if a custom grains function accepts  a  vari‐
285411       able named grains, the Grains dictionary of the already compiled grains
285412       will be passed in.  Because of the non-deterministic order that  grains
285413       are  rendered  in, the only grains that can be relied upon to be passed
285414       in are core.py grains, since those are compiled first.
285415
285416   More Precise virtual Grain
285417       This release improves the accuracy of the virtual  grain  when  running
285418       Salt  in  a nested virtualization environment (e.g. systemd-nspawn con‐
285419       tainer inside a VM) and having virt-what installed.
285420
285421       Until now, the virtual grain was determined  by  matching  against  all
285422       output  lines of virt-what instead of individual items which could lead
285423       to not quite precise results  (e.g.  reporting  HyperV  inside  a  sys‐
285424       temd-nspawn container running within a Hyper-V-based VM.
285425
285426   Configurable Module Environment
285427       Salt  modules (states, execution modules, returners, etc.) now can have
285428       custom environment variables applied when running shell commands.  This
285429       can  be configured by setting a system-environment key either in Grains
285430       or Pillar.  The syntax is as follows:
285431
285432          system-environment:
285433            <type>
285434              <module>:
285435                # Namespace for all functions in the module
285436                _:
285437                  <key>: <value>
285438
285439                # Namespace only for particular function in the module
285440                <function>:
285441                  <key>: <value>
285442
285443       · <type> would be the type of module (i.e. states, modules, etc.).
285444
285445       · <module> would be the module's name.
285446
285447         NOTE:
285448            The module name can be either the virtual name (e.g. pkg), or  the
285449            physical name (e.g. yumpkg).
285450
285451       · <function>  would  be  the function name within that module. To apply
285452         environment variables to all functions in  a  given  module,  use  an
285453         underscore  (i.e.  _)  as  the function name. For example, to set the
285454         same environment variable for all package management  functions,  the
285455         following could be used:
285456
285457            system-environment:
285458              modules:
285459                pkg:
285460                  _:
285461                    SOMETHING: for_all
285462
285463         To set an environment variable in pkg.install only:
285464
285465            system-environment:
285466              modules:
285467                pkg:
285468                  install:
285469                    LC_ALL: en_GB.UTF-8
285470
285471         To  set the same variable but only for SUSE minions (which use zypper
285472         for package management):
285473
285474            system-environment:
285475              modules:
285476                zypper:
285477                  install:
285478                    LC_ALL: en_GB.UTF-8
285479
285480       NOTE:
285481          This is not supported throughout Salt; the  module  must  explicitly
285482          support  this  feature (though this may change in the future). As of
285483          this release, the only modules which support this are the  following
285484          pkg virtual modules:
285485
285486          · aptpkg
285487
285488          · yumpkg
285489
285490          · zypper
285491
285492   Virtual Package Support Dropped for APT
285493       In  APT,  some  packages have an associated list of packages which they
285494       provide.  This allows one to do things like  run  apt-get  install  foo
285495       when  the  real  package  name  is  foo1.0,  and  get the right package
285496       installed.
285497
285498       Salt has traditionally designated as "virtual packages" those which are
285499       provided  by an installed package, but for which there is no real pack‐
285500       age by that name installed. Given the above example, if one were to run
285501       a pkg.installed state for a package named foo, then pkg.list_pkgs would
285502       show a package version of simply 1 for package foo, denoting that it is
285503       a virtual package.
285504
285505       However,  while this makes certain aspects of package management conve‐
285506       nient, there are issues with this approach that make relying  on  "vir‐
285507       tual  packages"  problematic.  For  instance, Ubuntu has four different
285508       mutually-conflicting packages for nginx:
285509
285510       · nginx-core
285511
285512       · nginx-full
285513
285514       · nginx-light
285515
285516       · nginx-extras
285517
285518       All four of these provide nginx. Yet there is an nginx package as well,
285519       which  has  no actual content and merely has dependencies on any one of
285520       the above four packages. If one used nginx in  a  pkg.installed  state,
285521       and  none  of  the  above  four packages were installed, then the nginx
285522       metapackage would  be  installed,  which  would  pull  in  nginx-core_.
285523       Later, if nginx were used in a pkg.removed state, the nginx metapackage
285524       would be removed, leaving nginx-core installed.  The  result  would  be
285525       that, since nginx-core_ provides nginx_, Salt would now see nginx as an
285526       installed virtual package, and the pkg.removed state would fail.  More‐
285527       over,  nginx  would  not  actually  have been removed, since nginx-core
285528       would remain installed.
285529
285530       Starting with this release, Salt will no longer support using  "virtual
285531       package"  names in pkg states, and package names will need to be speci‐
285532       fied using the proper package name. The pkg.list_repo_pkgs function can
285533       be  used  to  find  matching package names in the repositories, given a
285534       package name (or glob):
285535
285536          # salt myminion pkg.list_repo_pkgs 'nginx*'
285537          myminion:
285538              ----------
285539              nginx:
285540                  - 1.10.3-0ubuntu0.16.04.2
285541                  - 1.9.15-0ubuntu1
285542              nginx-common:
285543                  - 1.10.3-0ubuntu0.16.04.2
285544                  - 1.9.15-0ubuntu1
285545              nginx-core:
285546                  - 1.10.3-0ubuntu0.16.04.2
285547                  - 1.9.15-0ubuntu1
285548              nginx-core-dbg:
285549                  - 1.10.3-0ubuntu0.16.04.2
285550                  - 1.9.15-0ubuntu1
285551              nginx-doc:
285552                  - 1.10.3-0ubuntu0.16.04.2
285553                  - 1.9.15-0ubuntu1
285554              nginx-extras:
285555                  - 1.10.3-0ubuntu0.16.04.2
285556                  - 1.9.15-0ubuntu1
285557              nginx-extras-dbg:
285558                  - 1.10.3-0ubuntu0.16.04.2
285559                  - 1.9.15-0ubuntu1
285560              nginx-full:
285561                  - 1.10.3-0ubuntu0.16.04.2
285562                  - 1.9.15-0ubuntu1
285563              nginx-full-dbg:
285564                  - 1.10.3-0ubuntu0.16.04.2
285565                  - 1.9.15-0ubuntu1
285566              nginx-light:
285567                  - 1.10.3-0ubuntu0.16.04.2
285568                  - 1.9.15-0ubuntu1
285569              nginx-light-dbg:
285570                  - 1.10.3-0ubuntu0.16.04.2
285571                  - 1.9.15-0ubuntu1
285572
285573       Alternatively, the newly-added pkg.show function can  be  used  to  get
285574       more detailed information about a given package and help determine what
285575       package name is correct:
285576
285577          # salt myminion pkg.show 'nginx*' filter=description,provides
285578          myminion:
285579              ----------
285580              nginx:
285581                  ----------
285582                  1.10.3-0ubuntu0.16.04.2:
285583                      ----------
285584                      Description:
285585                          small, powerful, scalable web/proxy server
285586                  1.9.15-0ubuntu1:
285587                      ----------
285588                      Description:
285589                          small, powerful, scalable web/proxy server
285590              nginx-common:
285591                  ----------
285592                  1.10.3-0ubuntu0.16.04.2:
285593                      ----------
285594                      Description:
285595                          small, powerful, scalable web/proxy server - common files
285596                  1.9.15-0ubuntu1:
285597                      ----------
285598                      Description:
285599                          small, powerful, scalable web/proxy server - common files
285600              nginx-core:
285601                  ----------
285602                  1.10.3-0ubuntu0.16.04.2:
285603                      ----------
285604                      Description:
285605                          nginx web/proxy server (core version)
285606                      Provides:
285607                          httpd, httpd-cgi, nginx
285608                  1.9.15-0ubuntu1:
285609                      ----------
285610                      Description:
285611                          nginx web/proxy server (core version)
285612                      Provides:
285613                          httpd, httpd-cgi, nginx
285614              nginx-core-dbg:
285615                  ----------
285616                  1.10.3-0ubuntu0.16.04.2:
285617                      ----------
285618                      Description:
285619                          nginx web/proxy server (core version) - debugging symbols
285620                  1.9.15-0ubuntu1:
285621                      ----------
285622                      Description:
285623                          nginx web/proxy server (core version) - debugging symbols
285624              nginx-doc:
285625                  ----------
285626                  1.10.3-0ubuntu0.16.04.2:
285627                      ----------
285628                      Description:
285629                          small, powerful, scalable web/proxy server - documentation
285630                  1.9.15-0ubuntu1:
285631                      ----------
285632                      Description:
285633                          small, powerful, scalable web/proxy server - documentation
285634              nginx-extras:
285635                  ----------
285636                  1.10.3-0ubuntu0.16.04.2:
285637                      ----------
285638                      Description:
285639                          nginx web/proxy server (extended version)
285640                      Provides:
285641                          httpd, httpd-cgi, nginx
285642                  1.9.15-0ubuntu1:
285643                      ----------
285644                      Description:
285645                          nginx web/proxy server (extended version)
285646                      Provides:
285647                          httpd, httpd-cgi, nginx
285648              nginx-extras-dbg:
285649                  ----------
285650                  1.10.3-0ubuntu0.16.04.2:
285651                      ----------
285652                      Description:
285653                          nginx web/proxy server (extended version) - debugging symbols
285654                  1.9.15-0ubuntu1:
285655                      ----------
285656                      Description:
285657                          nginx web/proxy server (extended version) - debugging symbols
285658              nginx-full:
285659                  ----------
285660                  1.10.3-0ubuntu0.16.04.2:
285661                      ----------
285662                      Description:
285663                          nginx web/proxy server (standard version)
285664                      Provides:
285665                          httpd, httpd-cgi, nginx
285666                  1.9.15-0ubuntu1:
285667                      ----------
285668                      Description:
285669                          nginx web/proxy server (standard version)
285670                      Provides:
285671                          httpd, httpd-cgi, nginx
285672              nginx-full-dbg:
285673                  ----------
285674                  1.10.3-0ubuntu0.16.04.2:
285675                      ----------
285676                      Description:
285677                          nginx web/proxy server (standard version) - debugging symbols
285678                  1.9.15-0ubuntu1:
285679                      ----------
285680                      Description:
285681                          nginx web/proxy server (standard version) - debugging symbols
285682              nginx-light:
285683                  ----------
285684                  1.10.3-0ubuntu0.16.04.2:
285685                      ----------
285686                      Description:
285687                          nginx web/proxy server (basic version)
285688                      Provides:
285689                          httpd, httpd-cgi, nginx
285690                  1.9.15-0ubuntu1:
285691                      ----------
285692                      Description:
285693                          nginx web/proxy server (basic version)
285694                      Provides:
285695                          httpd, httpd-cgi, nginx
285696              nginx-light-dbg:
285697                  ----------
285698                  1.10.3-0ubuntu0.16.04.2:
285699                      ----------
285700                      Description:
285701                          nginx web/proxy server (basic version) - debugging symbols
285702                  1.9.15-0ubuntu1:
285703                      ----------
285704                      Description:
285705                          nginx web/proxy server (basic version) - debugging symbols
285706
285707   Minion Startup Events
285708       When a minion starts up it sends a notification on the event bus with a
285709       tag that looks like this: salt/minion/<minion_id>/start. For historical
285710       reasons the minion also sends a similar event with an  event  tag  like
285711       this:  minion_start. This duplication can cause a lot of clutter on the
285712       event     bus     when     there     are     many     minions.      Set
285713       enable_legacy_startup_events: False in the minion config to ensure only
285714       the salt/minion/<minion_id>/start events are sent.
285715
285716       The new enable_legacy_startup_events minion config option  defaults  to
285717       True,  but  will  be  set to default to False beginning with the Sodium
285718       release of Salt.
285719
285720       The Salt Syndic currently sends an  old  style  syndic_start  event  as
285721       well. The syndic respects enable_legacy_startup_events as well.
285722
285723   Failhard changes
285724       It  is  now  possible  to  override  a  global  failhard setting with a
285725       state-level failhard setting. This is most useful in case where  global
285726       failhard  is  set  to True and you want the execution not to stop for a
285727       specific state that could fail, by setting the state level failhard  to
285728       False.  This also allows for the use of onfail*-requisites, which would
285729       previously be ignored when a global failhard was set to True.  This  is
285730       a  deviation  from previous behavior, where the global failhard setting
285731       always resulted in an immediate stop whenever any state failed (regard‐
285732       less of whether the failing state had a failhard setting of its own, or
285733       whether any onfail*-requisites were used).
285734
285735   Pass Through Options to file.serialize State
285736       This allows for more granular control over the way in which the dataset
285737       is  serialized.  See  the documentation for the new serializer_opts and
285738       deserializer_opts options in the file.serialize state for more informa‐
285739       tion.
285740
285741   file.patch State Rewritten
285742       The file.patch state has been rewritten with several new features:
285743
285744       · Patch sources can now be remote files instead of only salt:// URLs
285745
285746       · Multi-file patches are now supported
285747
285748       · Patch files can be templated
285749
285750       In  addition, it is no longer necessary to specify what the hash of the
285751       patched file should be.
285752
285753   New no_proxy Minion Configuration
285754       Pass a list of hosts using the no_proxy minion config option to  bypass
285755       an HTTP proxy.
285756
285757       NOTE:
285758          This  key  does  nothing unless proxy_host is configured and it does
285759          not support any kind of wildcards.
285760
285761          no_proxy: [ '127.0.0.1', 'foo.tld' ]
285762
285763   Changes to slack Engine
285764       The output returned to Slack from functions run using  this  engine  is
285765       now  formatted using that function's proper outputter. Earlier releases
285766       would format the output in YAML  for  all  functions  except  for  when
285767       states were run.
285768
285769   Enhancements to wtmp Beacon
285770       A  new  key, action, has been added to the events fired by this beacon,
285771       which will contain either the string login or logout.  This  will  sim‐
285772       plify  reactors  which  use this beacon's data, as it will no longer be
285773       necessary to check the integer value of the type key  to  know  whether
285774       the event is a login or logout.
285775
285776       Additionally,  in  the  event  that  your  platform  has a non-standard
285777       utmp.h, you can now configure which type numbers indicate a  login  and
285778       logout.
285779
285780       See the wtmp beacon documentation for more information.
285781
285782   Deprecated and Removed Options
285783   API Removed Arguments
285784       Support  for  LocalClient's expr_form argument has been removed. Please
285785       use tgt_type instead. This change was made due to numerous  reports  of
285786       confusion  among  community members, since the targeting method is pub‐
285787       lished to minions as tgt_type, and appears as tgt_type in the job cache
285788       as well.
285789
285790       Those who are using the LocalClient (either directly, or implicitly via
285791       a netapi module) need to update their code to use tgt_type.
285792
285793          >>> import salt.client
285794          >>> local = salt.client.LocalClient()
285795          >>> local.cmd('*', 'cmd.run', ['whoami'], tgt_type='glob')
285796          {'jerry': 'root'}
285797
285798   Minion Configuration Deprecated Option
285799       The  master_shuffle  configuration  option  is  deprecated  as  of  the
285800       2019.2.0 release. Please use the random_master option instead.
285801
285802   Module Removed Options
285803       · The napalm_network module has been changed as follows:
285804
285805            · Support   for   the   template_path   has   been   removed  from
285806              net.load_template function. This is because support  for  NAPALM
285807              native templates has been dropped.
285808
285809       · The pip module has been changed as follows:
285810
285811            · Support   for   the   no_chown  option  has  been  removed  from
285812              pip.install function.
285813
285814       · The trafficserver module has been changed as follows:
285815
285816            · The trafficserver.match_var function  was  removed.  Please  use
285817              trafficserver.match_metric instead.
285818
285819            · The  trafficserver.read_var  function  was  removed.  Please use
285820              trafficserver.read_config instead.
285821
285822            · The trafficserver.set_var function was removed. Please use traf‐
285823              ficserver.set_config instead.
285824
285825       · The  win_update  module  has  been  removed.  It has been replaced by
285826         win_wua.
285827
285828       · The win_wua module has been changed as follows:
285829
285830            · The win_wua.download_update and  win_wua.download_updates  func‐
285831              tions have been removed. Please use win_wua.download instead.
285832
285833            · The win_wua.install_update and win_wua.install_updates functions
285834              have been removed. Please use win_wua.install instead.
285835
285836            · The win_wua.list_update function has been  removed.  Please  use
285837              functions have been removed. Please use win_wua.get instead.
285838
285839            · The  win_wua.list_updates  function has been removed. Please use
285840              functions have been removed. Please use win_wua.list instead.
285841
285842   Pillar Removed Option
285843       · The vault external pillar has been changed as follows:
285844
285845            · Support for the profile argument was removed. Any options passed
285846              up until and following the first path= are discarded.
285847
285848   Roster Removed Option
285849       · The cache roster has been changed as follows:
285850
285851            · Support for roster_order as a list or tuple has been removed. As
285852              of the 2019.2.0 release, roster_order must be a dictionary.
285853
285854            · The roster_order option now includes IPv6 in  addition  to  IPv4
285855              for  the  private,  public, global or local settings. The syntax
285856              for these settings has changed  to  ipv4-*  or  ipv6-*,  respec‐
285857              tively.
285858
285859   State Removed Modules and Options
285860       · The docker state module has been removed
285861
285862            · In  2017.7.0,  the  states from this module were split into four
285863              separate state modules:
285864
285865                  · docker_container
285866
285867                  · docker_image
285868
285869                  · docker_volume
285870
285871                  · docker_network
285872
285873            · The docker module remained, for backward-compatibility,  but  it
285874              has  now  been  removed.  Please update SLS files to use the new
285875              state names:
285876
285877                  · docker.running => docker_container.running
285878
285879                  · docker.stopped => docker_container.stopped
285880
285881                  · docker.absent => docker_container.absent
285882
285883                  · docker.network_present => docker_network.present
285884
285885                  · docker.network_absent => docker_network.absent
285886
285887                  · docker.image_present => docker_image.present
285888
285889                  · docker.image_absent => docker_image.absent
285890
285891                  · docker.volume_present => docker_volume.present
285892
285893                  · docker.volume_absent => docker_volume.absent
285894
285895       · The docker_network state module has been changed as follows:
285896
285897            · The driver option has been removed  from  docker_network.absent.
285898              It  had no functionality, as the state simply deletes the speci‐
285899              fied network name if it exists.
285900
285901       · The deprecated ref option has  been  removed  from  the  git.detached
285902         state. Please use rev instead.
285903
285904       · The  k8s  state  module  has  been removed in favor of the kubernetes
285905         state mdoule. Please update SLS files as follows:
285906
285907            · In place of k8s.label_present, use kubernetes.node_label_present
285908
285909            · In place of k8s.label_absent, use kubernetes.node_label_absent
285910
285911            · In    place    of    k8s.label_folder_absent,     use     kuber‐
285912              netes.node_label_folder_absent
285913
285914       · Support   for  the  template_path  option  in  the  netconfig.managed
285915         <salt.states.netconfig.managed() state  has  been  removed.  This  is
285916         because support for NAPALM native templates has been dropped.
285917
285918       · Support  for  the  no_chown option in the pip.insalled state has been
285919         removed.
285920
285921       · The trafficserver.set_var state has been removed. Please use traffic‐
285922         server.config instead.
285923
285924       · Support  for  the  no_chown option in the :py:func`virtualenv.managed
285925         <salt.states.virtualenv.managed>` function has been removed.
285926
285927       · The win_update state module has been removed. It has been replaced by
285928         win_wua.
285929
285930       · Support  for  virtual  packages  has been removed from the py:mod:pkg
285931         state <salt.states.pkg>.
285932
285933   Utils Removed Options
285934       The cloud utils module had the following changes:
285935
285936       · Support for the cache_nodes_ip function in salt utils module has been
285937         removed. The function was incomplete and non-functional.
285938
285939       The vault utils module had the following changes:
285940
285941       · Support  for  specifying Vault connection data within a 'profile' has
285942         been removed.  Please see the vault  execution  module  documentation
285943         for details on the new configuration schema.
285944
285945   Dependency Deprecations
285946       Salt-Cloud  has been updated to use the pypsexec Python library instead
285947       of the winexe executable. Both winexe and pypsexec run remote  commands
285948       against Windows OSes. Since winexe is not packaged for every system, it
285949       has been deprecated in favor of pypsexec.
285950
285951       Salt-Cloud has deprecated the use impacket  in  favor  of  smbprotocol.
285952       This changes was made because impacket is not compatible with Python 3.
285953
285954   SaltSSH Major Updates
285955       SaltSSH  now works across different major Python versions. Python 2.7 ~
285956       Python 3.x are now supported transparently.  Requirement  is,  however,
285957       that  the  SaltMaster should have installed Salt, including all related
285958       dependencies for Python  2  and  Python  3.   Everything  needs  to  be
285959       importable from the respective Python environment.
285960
285961       SaltSSH  can  bundle up an arbitrary version of Salt. If there would be
285962       an old box for example, running an outdated and unsupported Python 2.6,
285963       it  is  still  possible  from  a SaltMaster with Python 3.5 or newer to
285964       access  it.  This  feature  requires  an  additional  configuration  in
285965       /etc/salt/master as follows:
285966
285967          ssh_ext_alternatives:
285968              2016.3:                     # Namespace, can be actually anything.
285969                  py-version: [2, 6]      # Constraint to specific interpreter version
285970                  path: /opt/2016.3/salt  # Main Salt installation
285971                  dependencies:           # List of dependencies and their installation paths
285972                    jinja2: /opt/jinja2
285973                    yaml: /opt/yaml
285974                    tornado: /opt/tornado
285975                    msgpack: /opt/msgpack
285976                    certifi: /opt/certifi
285977                    singledispatch: /opt/singledispatch.py
285978                    singledispatch_helpers: /opt/singledispatch_helpers.py
285979                    markupsafe: /opt/markupsafe
285980                    backports_abc: /opt/backports_abc.py
285981
285982       It  is  also  possible to use several alternative versions of Salt. You
285983       can for instance generate a minimal tarball using runners  and  include
285984       that.  But  this  is  only possible, when such specific Salt version is
285985       also available on the Master machine, although  does  not  need  to  be
285986       directly installed together with the older Python interpreter.
285987
285988       SaltSSH now support private key's passphrase. You can configure it by:
285989
285990       · --priv-passwd for salt-ssh cli
285991
285992       · salt_priv_passwd for salt master configure file
285993
285994       · priv_passwd for salt roster file
285995
285996   State Module Changes
285997   salt State Module (used in orchestration)
285998       The test option now defaults to None. A value of True or False set here
285999       is passed to the state being run and can be used to  override  a  test:
286000       True  option  set in the minion's config file. In previous releases the
286001       minion's config option would take precedence and it would be impossible
286002       to  run  an orchestration on a minion with test mode set to True in the
286003       config file.
286004
286005       If a minion is not in permanent test mode due to the  config  file  and
286006       the  'test'  argument here is left as None then a value of test=True on
286007       the command-line is passed correctly to the minion to run an orchestra‐
286008       tion  in test mode. At present it is not possible to pass test=False on
286009       the command-line to override a minion in permanent test mode and so the
286010       test: False option must still be set in the orchestration file.
286011
286012   event.send State
286013       The  event.send  state  does not know the results of the sent event, so
286014       returns changed every state run.  It can now be set to  return  changed
286015       or unchanged.
286016
286017   influxdb_user.present Influxdb User Module State
286018       The  password  parameter  has been changed to passwd to remove the name
286019       collusion with the influxdb client configuration (client_kwargs) allow‐
286020       ing  management of users when authentication is enabled on the influxdb
286021       instance
286022
286023       Old behavior:
286024
286025          influxdb_user.present:
286026            - name: exampleuser
286027            - password: exampleuserpassword
286028            - user: admin
286029            - password: adminpassword
286030
286031       New behavior:
286032
286033          influxdb_user.present:
286034            - name: exampleuser
286035            - passwd: exampleuserpassword
286036            - user: admin
286037            - password: adminpassword
286038
286039   winrepo_cache_expire_min Windows Package Definitions Caching
286040       The winrepo_cache_expire_min has been changed from 0 to 1800  (30  min‐
286041       utes) For example if you run highstate the package definitions are nor‐
286042       mally updated, however now if the package definitions are younger  than
286043       winrepo_cache_expire_min  (30 minutes) the package definitions will not
286044       be refreshed, reducing the amount of time taken to run a 2nd highstate.
286045       To  get the old behaviour change the value back to 0 in the minion con‐
286046       figuration file. This also effects the  behaviour  of  other  functions
286047       which  default  to refresh.  The pkg.refresh_db will always refresh the
286048       package definitions.
286049
286050   LDAP External Authentication
286051   freeipa groupattribute support
286052       Previously, if Salt was using external authentication against a freeipa
286053       LDAP system it could only search for users via the accountattributename
286054       field.  This release add an additional search using the  groupattribute
286055       field  as well.  The original accountattributename search is done first
286056       then the groupattribute allowing for backward compatibility with previ‐
286057       ous Salt releases.
286058
286059   Jinja Include Relative Paths
286060       When  a  jinja  include  template  name  begins with ./ or ../ then the
286061       import will be relative to the importing file.
286062
286063       Prior practices required the following construct:
286064
286065          {% from tpldir ~ '/foo' import bar %}
286066
286067       A more "natural" construct is now supported:
286068
286069          {% from './foo' import bar %}
286070
286071       Comparatively when importing from a parent directory - prior practice:
286072
286073          {% from tpldir ~ '/../foo' import bar %}
286074
286075       New style for including from a parent directory:
286076
286077          {% from '../foo' import bar %}
286078
286079   salt-api
286080   salt-api Windows support
286081       Previously, salt-api was was not supported  on  the  Microsoft  Windows
286082       platforms.  Now it is!  salt-api provides a RESTful interface to a run‐
286083       ning Salt system. It allows for viewing minions, runners, and  jobs  as
286084       well  as running execution modules and runners of a running Salt system
286085       through a REST API that returns JSON.  See Salt-API documentation.
286086
286087   Logging Changes
286088   Include Job ID (JID) in Minion and Master Logs
286089       The Job ID (JID) can now be optionally included in both the minion  and
286090       master   logs  by  including  jid  in  either  the  log_fmt_console  or
286091       log_fmt_logfile configuration option:
286092
286093          log_fmt_console: "[%(levelname)-8s] %(jid)s %(message)s"
286094
286095       The will cause the JID to be included  in  any  log  entries  that  are
286096       related  to  a particular Salt job.  The JID will be included using the
286097       default  format,  [JID:  %(jid)s]  but  can  be  overriden   with   the
286098       log_fmt_jid configuration item.
286099
286100          log_fmt_jid: "[JID: %(jid)s]"
286101
286102   Security
286103   Windows runas changes
286104       A password is no longer required with runas under normal circumstances.
286105       The password option is only needed if the minion process is run under a
286106       restricted  (non-administrator)  account. In the aforementioned case, a
286107       password is only required when using the runas argument to run  command
286108       as a different user.
286109
286110   New Modules
286111   Execution Modules
286112       · salt.modules.ciscoconfparse_mod
286113
286114       · salt.modules.jira
286115
286116       · salt.modules.google_chat
286117
286118       · salt.modules.iosconfig
286119
286120       · salt.modules.netmiko
286121
286122       · salt.modules.nxos_api
286123
286124       · salt.modules.peeringdb
286125
286126       · salt.modules.purefb
286127
286128       · salt.modules.pyeapi
286129
286130   Pillar Modules
286131       · netbox
286132
286133   Proxy Modules
286134       · salt.proxy.netmiko
286135
286136       · salt.proxy.nxos_api
286137
286138       · salt.proxy.pyeapi
286139
286140   Salt 2019.2.1 Release Notes
286141       Version 2019.2.1 is a bugfix release for 2019.2.0.
286142
286143   Known Issues
286144       · ISSUE  #54751:  Proxy  minion fails to start. Fix planned in 2019.2.2
286145         release.
286146
286147       · ISSUE #54762: URIs with IPv6 addresses are  broken,  preventing  mas‐
286148         ter-minion  communication  in  IPv6-only environments. Fix planned in
286149         2019.2.2 release.
286150
286151       · ISSUE #54776: Minion fails to start when it contains ping_interval in
286152         minion configuration file. Fix planned in 2019.2.2 release.
286153
286154       · ISSUE #54731: Returners (except for default salt master returner) not
286155         loading properly in Py3. Fix planned in 2019.2.2 release.
286156
286157       · ISSUE #54758:  salt-call  state.show_states  gives   "Passed  invalid
286158         arguments"  error  when a sls defined in top.sls file is missing. Fix
286159         planned in 2019.2.2 release.
286160
286161       · ISSUE #54765: Jinja from import is broken. Fix  planned  in  2019.2.2
286162         release.
286163
286164       · ISSUE  #54771:  Affects only Debian 10. pkgrepo.managed does not work
286165         if used with proxy (configured at salt-minion). No fix date available
286166         yet.
286167
286168       · ISSUE  #54759:  Deprecation warnings for pyzmq. No fix date available
286169         yet.
286170
286171   Change to YAML Renderer
286172          /etc/foo.conf:
286173            file.managed:
286174              - source: salt://foo.conf.jinja
286175              - template: jinja
286176              - context:
286177                  data: {{ data }}
286178
286179       In 2019.2.0, the above SLS will result in an  error  message  following
286180       changes to the YAML renderer that now require the new Jinja filter toj‐
286181       son.
286182
286183          /etc/foo.conf:
286184            file.managed:
286185              - source: salt://foo.conf.jinja
286186              - template: jinja
286187              - context:
286188                  data: {{ data|tojson }}
286189
286190       In 2019.2.1, we introduce a new configuration option for both the  Salt
286191       master  and  Salt minion configurations to be able to support the older
286192       YAML renderer.  Using the option use_yamlloader_old will allow the YAML
286193       renderer to function as before.
286194
286195   Statistics
286196       · Total Merges: 541
286197
286198       · Total Issue References: 70
286199
286200       · Total PR References: 355
286201
286202       · Contributors:  49 (Akm0d, Ch3LL, DmitryKuzmenko, Ethyling, FireGrace,
286203         KChandrashekhar, ScoreUnder,  amendlik,  aplanas,  arsiesys,  bbinet,
286204         bryceml,    cbosdo,    cdalvaro,    chdamianos,    cmcmarrow,    cro,
286205         damianosSemmle, dmurphy18, doesitblend,  dwoz,  felippeb,  frogunder,
286206         garethgreenaway,  github-abcde,  isbm,  jfindlay,  lomeroe, mattLLVW,
286207         mattp-, mirceaulinic, nicholasmhughes,  rbthomp,  rombert,  rsmekala,
286208         s0undt3ch,   sathieu,   sbrennan4,   sdodsley,   simonflood,  sjorge,
286209         soer7022,  stratusjerry,  tanlingyun2005,   terminalmage,   twangboy,
286210         waynew, weswhet, xuhcc)
286211
286212   Changelog for v2019.2.0..v2019.2.1
286213       Generated at: 2019-09-09 19:56:22 UTC
286214
286215       · ISSUE #54429: (frogunder) [2019.2.1] Sudo user error (refs: #54433)
286216
286217       · PR #54433: (dwoz) Re-gen executors with proper arguments @ 2019-09-09
286218         19:14:05 UTC
286219
286220         · 62fc61c Merge pull request #54433 from dwoz/sudo_minion
286221
286222         · e08eb19 Merge branch '2019.2.1' into sudo_minion
286223
286224       · PR #54434: (frogunder) fix_docs @ 2019-09-09 18:55:28 UTC
286225
286226         · 76fac57 Merge pull request #54434 from frogunder/fix_doc
286227
286228         · 2d22d73 fix_docs error
286229
286230         · a266a5c fix_docs
286231
286232         · db5464a Fix linter warts
286233
286234         · 144a600 Re-gen executors with proper arguments
286235
286236       · PR #54424: (frogunder) remove in progress from release_notes 2019.2.1
286237         @ 2019-09-05 23:11:03 UTC
286238
286239         · 4071dcb     Merge     pull     request    #54424    from    frogun‐
286240           der/releasenotes_201921_new
286241
286242         · b66436f Update 2019.2.1.rst
286243
286244         · bcfef11 remove in progress from release_notes 2019.2.1
286245
286246       · PR #54416: (frogunder) Update man_pages  for  2019.2.1  @  2019-09-05
286247         22:48:51 UTC
286248
286249         · c1587cc Merge pull request #54416 from frogunder/man_pages_201921
286250
286251         · 6f7c4ee Update man_pages for 2019.2.1
286252
286253       · PR  #54419:  (frogunder)  releasenotes 2019.2.1 @ 2019-09-05 22:48:42
286254         UTC
286255
286256         · 3118e2f    Merge    pull    request     #54419     from     frogun‐
286257           der/release_notes_201921
286258
286259         · 2caee96 Update doc/topics/releases/2019.2.1.rst
286260
286261         · ffabde2 Update 2019.2.1.rst
286262
286263         · dd6426d Update doc/topics/releases/2019.2.1.rst
286264
286265         · 9d4239c Update doc/topics/releases/2019.2.1.rst
286266
286267         · 8c60ae4 Update doc/topics/releases/2019.2.1.rst
286268
286269         · 72cb24c releasenotes 2019.2.1
286270
286271       · PR  #54409:  (dwoz) Point salt-call to correct multi-master configs @
286272         2019-09-04 20:08:24 UTC
286273
286274         · 04e28cf Merge pull request #54409 from dwoz/mm_log
286275
286276         · e207de6 Point salt-call to correct multi-master configs
286277
286278       · PR #54396: (dwoz) Use different logging port for multimaster tests  @
286279         2019-09-03 23:20:23 UTC
286280
286281         · 2c281e0 Merge pull request #54396 from dwoz/multimaster_logging
286282
286283         · 104e0a0 Use different logging port for multimaster tests
286284
286285       · ISSUE  #54256: (sleminov-tc) Empty salt api token file breaks mainte‐
286286         nance process. (refs: #54325, #54324, #54388, #54376)
286287
286288       · ISSUE #37945: (gstachowiak) Missing exception handling  in  salt.mas‐
286289         ter.Maintenance.  Process  never  completes.  (refs:  #54325, #54324,
286290         #54388, #54376)
286291
286292       · PR #54388: (dwoz) 54256 re fix empty api token 2019.2.1 @  2019-09-03
286293         23:19:20 UTC
286294
286295         · PR #54325: (waynew) Delete bad API token files (refs: #54388)
286296
286297         · PR  #54324:  (waynew)  Delete  bad  API  token files (refs: #54325,
286298           #54388)
286299
286300         · 730a007      Merge       pull       request       #54388       from
286301           dwoz/54256-re-fix-empty-api-token-2019.2.1
286302
286303         · 80651d3 Fix linter
286304
286305         · 982ed3d Delete bad API token files
286306
286307       · ISSUE  #54256: (sleminov-tc) Empty salt api token file breaks mainte‐
286308         nance process. (refs: #54325, #54324, #54388, #54376)
286309
286310       · ISSUE #37945: (gstachowiak) Missing exception handling  in  salt.mas‐
286311         ter.Maintenance.  Process  never  completes.  (refs:  #54325, #54324,
286312         #54388, #54376)
286313
286314       · PR #54376: (dwoz) Move tokens in place with  an  atomic  operation  @
286315         2019-09-03 20:40:50 UTC
286316
286317         · 11016ce Merge pull request #54376 from dwoz/tmp_token
286318
286319         · 0b28c60 Fix linter complaints
286320
286321         · 8e33343 Move tokens in place with an atomic operation
286322
286323       · PR  #54386:  (twangboy)  Fix  unit.utils.test_win_dacl  (2019.2.1)  @
286324         2019-09-03 16:57:25 UTC
286325
286326         · 5161203    Merge    pull     request     #54386     from     twang‐
286327           boy/fix_test_win_dacl_2019.2.1
286328
286329         · b8fa7d3 Sort the perms
286330
286331       · PR  #54355: (s0undt3ch) [2019.2.1] [GitPillar Tests] Have the started
286332         processes log instead of just writing to stdout/stderr  @  2019-08-29
286333         23:26:50 UTC
286334
286335         · b4caaad  Merge  pull request #54355 from s0undt3ch/hotfix/test-dae‐
286336           mons-2019.2.1
286337
286338         · 561c0a2 Have the started processes log instead of just  writing  to
286339           stdout/stderr
286340
286341         · c2a3115 Don't overwritethe stderr logger
286342
286343       · PR #54353: (cmcmarrow) adds @skipIf not windows @ 2019-08-29 19:33:11
286344         UTC
286345
286346         · ce5b109 Merge  pull  request  #54353  from  cmcmarrow/2019_win_sys‐
286347           tem_skip
286348
286349         · 8e28074 adds @skipIf not windows
286350
286351       · PR  #54338:  (dwoz)  Log  server  closes completely during shutdown @
286352         2019-08-29 17:14:05 UTC
286353
286354         · 94c03e5 Merge pull request #54338 from dwoz/logging_fixup
286355
286356         · a3e227e Log server closes completely durring shutdown
286357
286358       · PR #54327: (garethgreenaway) [2019.2.1] Catch the AccessDenied excep‐
286359         tion and continue when running under Py3.  @ 2019-08-29 16:59:34 UTC
286360
286361         · 490ee69    Merge    pull    request    #54327   from   garethgreen‐
286362           away/more_test_program_fixes
286363
286364         · 97b4d86 Catch the AccessDenied exception and continue when  running
286365           under Py3.
286366
286367       · PR #54316: (Akm0d) Azure cleanup @ 2019-08-27 16:14:09 UTC
286368
286369         · bb911c3 Merge pull request #54316 from Akm0d/azure-cleanup
286370
286371         · 2072773 pass longer timeout to msazure destroyinstance
286372
286373         · 34eb477          Merge         branch         '2019.2.1'         of
286374           https://github.com/saltstack/salt into azure-cleanup
286375
286376         · 7ae48b1 Allow azure tests enough time to clean up interfaces
286377
286378         · b45ae74 Clean up azure instances properly
286379
286380       · PR #54314: (garethgreenaway) [2019.2.1] Do not raise the exception in
286381         testprogram.py @ 2019-08-26 23:59:37 UTC
286382
286383         · 9334e4e  Merge  pull  request  #54314 from garethgreenaway/testpro‐
286384           gram_access_denied_do_not_raise
286385
286386         · a53bacb Do not raise the exception if a process can not be  access,
286387           just continue
286388
286389       · PR  #54305:  (dwoz)  Fix  wart  in  test_process  tests  on windows @
286390         2019-08-26 17:59:12 UTC
286391
286392         · 71fb051 Merge pull request #54305 from dwoz/winfix
286393
286394         · 4e68860 Fix wart in test_process tests on windows
286395
286396       · PR #54303: (dwoz) Fix wart in periodic callback interval @ 2019-08-24
286397         20:04:35 UTC
286398
286399         · 4d80f0a Merge pull request #54303 from dwoz/periodic_cb
286400
286401         · bf5f7de Fix wart in periodic callback interval
286402
286403       · ISSUE  #54219:  (KChandrashekhar)  integration.shell.test_call.py and
286404         tests/integration/shell/test_proxy.py (refs: #54259)
286405
286406       · ISSUE #54153: (KChandrashekhar) Ubuntu 16.04 Proxy  failures   (refs:
286407         #54259)
286408
286409       · PR  #54259:  (dwoz)  Call  os.fork  less  to  avoid race conditions @
286410         2019-08-24 02:12:42 UTC
286411
286412         · 5838851 Merge pull request #54259 from dwoz/less_forking
286413
286414         · bf4d0dd Fix process list tests on windows py3
286415
286416         · 316ec78 Allow more time for slow test
286417
286418         · 9baf86f Do not remove attributes from process class
286419
286420         · e7b6aa8 Clean up cruft
286421
286422         · ed7103a Attempt to fix integration.shell.test_call test
286423
286424         · 659c805 Change noise log to debug
286425
286426         · 0660b1a Clean up typoes
286427
286428         · 9f1fe42 Call os.fork less to avoid race conditions
286429
286430       · ISSUE #50814:  (doesitblend)  Minion  continues  trying  down  master
286431         (refs: #54239, #53417)
286432
286433       · ISSUE  #49680:  (doesitblend)  Beacon events handled differently than
286434         event.send (refs: #53344, #54239)
286435
286436       · ISSUE #49663: (doesitblend) Beacon only fires to single random master
286437         in HA mode (refs: #53344, #54239)
286438
286439       · PR  #54247:  (DmitryKuzmenko)  2019.2.1  with  multimaster bb fixes @
286440         2019-08-23 20:19:19 UTC
286441
286442         · PR #54239: (DmitryKuzmenko) Multimaster tests with bb fixes  (refs:
286443           #54247)
286444
286445         · PR   #53848:  (DmitryKuzmenko)  Features/multimaster  tests  (refs:
286446           #54239)
286447
286448         · PR #53417: (DmitryKuzmenko) Multimaster minion hang on  fire_master
286449           (refs: #54239, #53848)
286450
286451         · PR  #53344:  (DmitryKuzmenko)  Run  beacons  on the only one minion
286452           instance. Return to all masters. (refs: #54239, #53848)
286453
286454         · 531f3aa   Merge    pull    request    #54247    from    DSRCorpora‐
286455           tion/2019.2.1_with_multimaster_bb_fixes
286456
286457         · 62cd8cd   Merge   branch  '2019.2.1'  into  2019.2.1_with_multimas‐
286458           ter_bb_fixes
286459
286460       · PR #54235: (github-abcde) Fix 46034 2019.2.1  @  2019-08-22  22:32:09
286461         UTC
286462
286463         · 993c341     Merge    pull    request    #54235    from    ogd-soft‐
286464           ware/fix_46034-2019.2.1
286465
286466         · 93bd30d Add alternative fix  for  "!"  stomping  Apparently  (after
286467           watching  Jenkins  tests fail), what yaml.safe_load returns depends
286468           not on the version of salt, but on some other external  dependency.
286469           Because of this, fix both possible return values.
286470
286471         · c95dd4d Add test for this specific bugfix
286472
286473         · efc29d8 Prevent yamlify_arg from stomping "!"
286474
286475       · PR  #54282:  (Akm0d)  clean  up  renamed  instances in the teardown @
286476         2019-08-22 22:13:51 UTC
286477
286478         · 5d1a4d0 Merge pull request #54282 from Akm0d/clean-up-renamed
286479
286480         · 11c1117 Removed redundant parenthesis
286481
286482         · 802235d don't delete shutting down ec2 instances
286483
286484         · 3602942 reversed the order in which an instance was renamed
286485
286486         · 5500ede renamed _alt_name function
286487
286488         · 23beab4 clean up renamed instances in the teardown
286489
286490       · PR #54252: (s0undt3ch) [2019.2.1] More control on spun  test  deamons
286491         on git pillar tests @ 2019-08-22 22:13:08 UTC
286492
286493         · c181f5a  Merge  pull  request #54252 from s0undt3ch/hotfix/git-pil‐
286494           lar-2019.2.1
286495
286496         · 4eb85fa Skip tests on RHEL family < 7
286497
286498         · 64a1be8 Don't even go through  the  transport  to  get  the  system
286499           grains
286500
286501         · d0f8efa Don't keep recreating the git repos. Restore from backup.
286502
286503         · 6114e9d All prep work is done in setUpClass.
286504
286505         · 5b030dd Daemons are now started/stopped on tests, not by salt
286506
286507         · ed60f0d We don't actually need grains
286508
286509         · 911446d Lock uwsgi requirement.
286510
286511              · 805f0ac  Merge  branch '2019.2.1' into 2019.2.1_with_multimas‐
286512                ter_bb_fixes
286513
286514       · PR #54214:  (Ch3LL)  Remove  unnecessary  logging  from  minion.py  @
286515         2019-08-22 18:08:26 UTC
286516
286517         · b40cdbf Merge pull request #54214 from Ch3LL/fix_logging
286518
286519         · 8fd24cf Remove unnecessary logging from minion.py
286520
286521              · 9d28098  Merge  branch '2019.2.1' into 2019.2.1_with_multimas‐
286522                ter_bb_fixes
286523
286524       · PR #54277: (dwoz) Win runas plus @ 2019-08-21 23:59:16 UTC
286525
286526         · de77762 Merge pull request #54277 from dwoz/win_runas_plus
286527
286528         · f719591 Update tests
286529
286530         · d8749d9 Do not remove attributes from process class
286531
286532         · ac5a2a4 Only close handle if it got created
286533
286534       · PR #54278: (Akm0d) Correctly detect  when  an  ms_azure  instance  is
286535         deleted @ 2019-08-21 23:14:01 UTC
286536
286537         · 93cf40a Merge pull request #54278 from Akm0d/cloud-test-logging
286538
286539         · 2dc1520 Merge branch '2019.2.1' into cloud-test-logging
286540
286541         · 3867448 Fixed incorrect arguments
286542
286543         · bdce5f4 Fix detecting msazure deletion with multiple tries
286544
286545       · PR  #54263:  (s0undt3ch)  [2019.2.1]  Exit test suite if test daemons
286546         fail to start @ 2019-08-21 22:06:52 UTC
286547
286548         · 94f77a0 Merge pull request #54263  from  s0undt3ch/hotfix/test-dae‐
286549           mons-2019.2.1
286550
286551         · 655efd6 Rearrange logging termination
286552
286553         · 28fa5d2 Prevent traceback on python interpreter shutdown
286554
286555         · 9035731 Write to stderr a message with the exit code
286556
286557         · 566c620  Exit  the  test  suite if one of the test daemons fails to
286558           start
286559
286560       · PR #54270: (s0undt3ch) [2019.2.1] Speedup testing helpers  decorators
286561         @ 2019-08-21 20:33:25 UTC
286562
286563         · 3b9fd44    Merge    pull   request   #54270   from   s0undt3ch/hot‐
286564           fix/requires-system-grains-2019.2.1
286565
286566         · 9f99bff Speedup testing helpers decorators
286567
286568       · ISSUE          #53931:           (KChandrashekhar)           integra‐
286569         tion.states.test_pip_state.Pip‐
286570         StateTest.test_issue_6912_wrong_owner_requirements_file        (refs:
286571         #54274)
286572
286573       · PR #54274: (felippeb) #53931 never fail on codecov curls @ 2019-08-21
286574         18:12:19 UTC
286575
286576         · 2c4afa0 Merge pull request #54274 from felippeb/2019.2.1
286577
286578         · 9c0b216 #53931 never fail on codecov curls
286579
286580       · PR #54264: (dwoz) Fix unit utils  jinja  when  run  on  their  own  @
286581         2019-08-21 17:22:10 UTC
286582
286583         · b3c70c3 Merge pull request #54264 from dwoz/jinja_units
286584
286585         · 10a6d53 Fix unit utils jinja when run on thier own
286586
286587       · PR  #54266:  (Akm0d)  Fix  incorrect  types  on failing cloud tests @
286588         2019-08-21 17:14:40 UTC
286589
286590         · 308ba55  Merge  pull  request  #54266  from  Akm0d/cloud_test_ulti‐
286591           mate_fix
286592
286593         · ff2125a Invert assertion to test for instance gone
286594
286595         · 82136a8 test for ec2 instance shutting down
286596
286597         · 283f631 run cloud --query if delete string is not available
286598
286599         · 33e6b6d changed deprecated assertEquals
286600
286601         · 41e6bc8 Cloud tests run correctly everywhere
286602
286603         · 03a8b2c reverted literal_eval
286604
286605       · PR  #54251:  (Akm0d)  reduced  query calls to salt-cloud @ 2019-08-20
286606         20:10:59 UTC
286607
286608         · 25d0b52 Merge pull request #54251  from  Akm0d/cloud_test_optimiza‐
286609           tion
286610
286611         · 5fe6bfc Optimized salt-cloud queries
286612
286613         · 43418a4 Merge pull request #7 from Ch3LL/cloud_provider_files
286614
286615           · b93944b Remove joyent config cloud test files
286616
286617           · bd37849 Rename provider azure-config to azurearm-config
286618
286619         · e7c06cb Added longer delays for ec2 tests
286620
286621         · 5ceb47e Correctly check for GCE and EC2 deletion
286622
286623         · 52c178c Added pretty yaml formatting to cloud-test logs
286624
286625         · 4fc5e9e re-fixed simultaneous GCE tests
286626
286627         · 326e9f2 Merge pull request #6 from Ch3LL/cloud_provider_files
286628
286629           · adb1464 fix pylint
286630
286631           · 51ce819 Move provider config setup into Setup/Teardown class
286632
286633         · e58b40a Merge pull request #5 from Ch3LL/cloud_provider_files
286634
286635           · ab8adcc Only use the provider conf.d file we are testing
286636
286637         · 76609ad Merge branch '2019.2.1' into cloud_test_optimization
286638
286639         · f764bc0 Clean up expensive queries
286640
286641         · b3d02df reduced query calls to salt-cloud
286642
286643       · PR  #54240: (Ch3LL) Fix TypeError python3 in get_image_id ec2 cloud @
286644         2019-08-20 20:10:01 UTC
286645
286646         · ba81ca3 Merge pull request #54240 from Ch3LL/get_image_ec2
286647
286648         · a3a39f3 Use ami variable instead in test
286649
286650         · dc1ae52 Fix TypeError python3 in get_image_id
286651
286652              · d6ad475 Merge branch '2019.2.1'  into  2019.2.1_with_multimas‐
286653                ter_bb_fixes
286654
286655       · PR #54246: (dwoz) Cut down on log noise @ 2019-08-19 17:20:03 UTC
286656
286657         · 8404ec2 Merge pull request #54246 from dwoz/log_noise
286658
286659         · e572711 Cut down on log noise
286660
286661       · PR #54245: (dwoz) Fix the sshd pid file @ 2019-08-19 17:19:32 UTC
286662
286663         · 5b3e925 Merge pull request #54245 from dwoz/sshd_pid_file
286664
286665         · df95347 Fix the sshd pid file
286666
286667       · PR  #54237:  (dwoz)  Do  not  dup2 things without fileno @ 2019-08-18
286668         17:13:29 UTC
286669
286670         · 268803b Merge pull request #54237 from dwoz/dup2
286671
286672         · 2ebd22b Fix linter
286673
286674         · 63c616a Do not dup2 things without fileno
286675
286676              · 0b33498 Workaround for beacons.list_available slowness.
286677
286678              · b7a1058 Minor: Better support of named multimaster tests.
286679
286680              · a5cccdf Minor: remove unneded logging
286681
286682              · 314bbb3 Support tcp transport in multimaster tests. Minor bea‐
286683                con update.
286684
286685              · fcb8ff0 Properly set HAS_IPTABLES from __virtual__ return.
286686
286687              · a75db01  Multimaster  related  fixup: don't run test engine on
286688                minions
286689
286690              · 8a88542 Multimaster beacons fix: put list into a dict to  fire
286691                on the bus
286692
286693              · 790fb41 Inotify beacons test logging and cleanup update
286694
286695              · d84c8851 Inotify beacon test fixes and improvements.
286696
286697              · 472ffc0 Give minion more time to handle beacon creation.
286698
286699              · 17ceee0 Fixed Lint errors
286700
286701              · 0bcf53c Fixed the unicode and timing inotify test issues.
286702
286703              · f17bcf3  Improved  assertion  error diagnostic for master down
286704                test.
286705
286706              · db0bae8 Run multimaster as well tests when no  specific  group
286707                is set
286708
286709              · 723f363  Ignore the multimaster minion subgroup test in module
286710                names test.
286711
286712              · 612191c Fixed lint failures
286713
286714              · c1efae6 Multimaster test for events handling on master discon‐
286715                nect
286716
286717              · 1654fe8 Multimaster inotify beacons test
286718
286719              · 65dc47c Multimaster tests environment and test module test.
286720
286721              · 2c178b0 Moved annoying message to trace log level.
286722
286723              · 3e497c1 Handle minion events asynchronously.
286724
286725              · 909323a Tests fixes
286726
286727              · 6dad18f Cleanup event object
286728
286729              · 2bf55be Run beacons on the only one minion instance. Return to
286730                all masters.
286731
286732       · PR #54121: (Akm0d) Refactored cloud tests @ 2019-08-16 17:24:14 UTC
286733
286734         · 27d89bd Merge pull request #54121 from Akm0d/gce_cloud_test
286735
286736         · 48c57b3 Try multiple times to detect deletion of an instance
286737
286738         · 74300eb return a valid set
286739
286740         · 2d63b87 Wait for an instance to be fully created if necessary
286741
286742         · 83ad8b3 Merge branch '2019.2.1' of  github.com:SaltStack/salt  into
286743           gce_cloud_test
286744
286745       · ISSUE #54174: (dwoz) SignalHandlingMultiprocessingProcess bugs (refs:
286746         #54204)
286747
286748       · PR #54204: (dwoz) Fix signal handling in  subprocesses  @  2019-08-16
286749         00:46:40 UTC
286750
286751         · c5ee91c Merge pull request #54204 from dwoz/signal_proc
286752
286753         · 09e5e49 Merge branch '2019.2.1' into signal_proc
286754
286755       · ISSUE  #7745:  (mgwilliams)  yaml  'module' has no attribute 'Dumper'
286756         (refs: #54223)
286757
286758       · PR  #54223:  (dwoz)  Test  verify  logs  without  a  whole  minion  @
286759         2019-08-16 00:46:09 UTC
286760
286761         · 99a8fc5 Merge pull request #54223 from dwoz/7754_test_removal
286762
286763         · 4be711e Fix up linter warts
286764
286765         · 7573826 Remove crufty un-needed tests
286766
286767         · effa77d Test verify logs without a whole minion
286768
286769           · b40f41f Revert fallback to default signals change
286770
286771           · 1d83b10 Fix signal handling in subprocesses
286772
286773             · f90fe66 Reverted foo/bar creds per #46265
286774
286775             · 3f56bad  Reduced  the amount of informtaion in debuggings tate‐
286776               ments
286777
286778             · de53bf0 Merge branch  '2019.2.1'  of  github.com:SaltStack/salt
286779               into gce_cloud_test
286780
286781       · PR  #54203:  (dwoz)  Run  transport  test  loops  in  single thread @
286782         2019-08-15 20:10:20 UTC
286783
286784         · 8d440e0 Merge pull request #54203 from dwoz/transport_tests
286785
286786         · 22b9d38 Run transsport test loops in single thread
286787
286788           · f6180a6 Even better logging of errors
286789
286790           · a15dc4b better formatting and error reporting
286791
286792           · 51fbc2a better logging on instance create failure
286793
286794           · 1f7dd52 removed hack fixes from gce
286795
286796           · 31cdc7c WAR ROOM SKIP GCE TESTS
286797
286798           · 7d603be hasattr cannot find parent properties starting with __
286799
286800           · 686cab9 Separated assertInstanceDestroy and _destry_instance
286801
286802           · 158a38c Revert "Removed subclass from cloud name"
286803
286804           · b7cf43d Removed subclass from cloud name
286805
286806           · 8c5eb18 fixed pylint error on format string
286807
286808           · 59e20bc        Merge         branch         '2019.2.1'         of
286809             https://github.com/saltstack/salt into gce_cloud_test
286810
286811       · PR  #54191: (garethgreenaway) [2019.2.1] Addition logging in testpro‐
286812         gram used by  integration.shell.test_minion.MinionTest.test_exit_sta‐
286813         tus_correct_usage @ 2019-08-13 21:44:41 UTC
286814
286815         · a05018e  Merge  pull  request #54191 from garethgreenaway/test_pro‐
286816           gram_test_mininion
286817
286818         · 8463f84 Adding some additional logging when the call to  "proc_cmd‐
286819           line  =  proc.cmdline()"  reults in a AccessDenied exception, so we
286820           can see what the process is and who the process is running as.
286821
286822       · PR #54202: (waynew) Only run one filter test  @  2019-08-13  21:33:32
286823         UTC
286824
286825         · e5e9299       Merge       pull       request       #54202      from
286826           waynew/shorter-jinja-ssh-tests
286827
286828         · c333ac8 Only run one filter test
286829
286830           · 5912f24 Switched to Azurearm over msazure
286831
286832       · PR #54172: (Ch3LL) Migrate from azure to azurearm tests @  2019-08-13
286833         20:07:34 UTC
286834
286835         · a13cb3e Merge pull request #54172 from Ch3LL/azurearm_tests
286836
286837         · 465523f Migrate from azure to azurearm tests
286838
286839       · ISSUE  #50535:  (wyardley)  salt  errors  with  current azure-storage
286840         because of no version set (refs: #50567)
286841
286842       · PR #54173: (Ch3LL) Cherry Pick #50567  and  #53238  into  2019.2.1  @
286843         2019-08-13 20:07:09 UTC
286844
286845         · PR  #53238:  (nicholasmhughes) Azure: Fixed ability to pass SSH key
286846           to Linux VMs (refs: #54173)
286847
286848         · PR #50567:  (rombert)  azurefs:  gracefully  handle  AttributeError
286849           (refs: #54173)
286850
286851         · 39d0c59 Merge pull request #54173 from Ch3LL/azure_fixes
286852
286853         · 9052eaf reverting log string handling
286854
286855         · a1a61ee fixed ability to pass ssh key to Linux VMs
286856
286857         · 4a141a1 azurefs: gracefully handle AttributeError
286858
286859           · 6fa28de fixed underscore
286860
286861             · c35379a Moved finding installer into class
286862
286863           · 95484f8 Moved finding installer into class
286864
286865           · a86ae34 moved installer finder to SetUp method
286866
286867           · 933964a removed default user/pass from profitbricks test file
286868
286869           · 2a2437d fixed dictionary access
286870
286871           · b9ee411 Fixed broken tests
286872
286873           · 80efd26 fixed misspelled provider information
286874
286875           · 511779b removed unused imports
286876
286877           · 1cd1c13 setUp all cloud tests the same way
286878
286879           · d322408 Got rid of unnecessary delay
286880
286881           · 98ba18c fixed pylint error
286882
286883           · c34c17e         Merge         branch         '2019.2.1'        of
286884             https://github.com/saltstack/salt into gce_cloud_test
286885
286886       · PR #54178: (dwoz) Fix flaky set_computer_name in mac_system module  @
286887         2019-08-12 18:26:40 UTC
286888
286889         · 19f4d5e Merge pull request #54178 from dwoz/mac_computer_name
286890
286891         · e51100e Fix skip on non macos platforms
286892
286893         · a3a9d92 Fix linter
286894
286895         · c499d44 Revert unwanted flaky from non computer name tests
286896
286897         · 941fcc8 Fix flaky set_computer_name in mac_system module
286898
286899              · 90e8350        Merge        branch        '2019.2.1'        of
286900                https://github.com/saltstack/salt into gce_cloud_test
286901
286902       · PR #54180: (dwoz) Point test-kitchen to my keepalive_maxcount  branch
286903         @ 2019-08-12 18:18:26 UTC
286904
286905         · 6fe6799 Merge pull request #54180 from dwoz/keepalive_maxcount
286906
286907         · dc9ee21 Add reminder about kitchen version
286908
286909         · 19a1f1b Point test-kitchen to my keepalive_maxcount branch
286910
286911           · 60f8351 Fixed failing Ec2 Tests
286912
286913           · e2f085c removed py3-only function call
286914
286915           · 4406c57 fixed lint errors, more descriptive fails
286916
286917           · 6840d5f assert instances exist in unified way
286918
286919           · 03da233 skip EOL joyent tests, secure delete instances
286920
286921           · 3123bb1         Merge         branch         '2019.2.1'        of
286922             https://github.com/saltstack/salt into gce_cloud_test
286923
286924       · ISSUE #53306: (doesitblend) Fully  Qualify  CMD  on  Windows  Minions
286925         (refs: #53311, #54033)
286926
286927       · PR  #54033:  (twangboy)  Backport  #53311  to  2019.2.1  @ 2019-08-09
286928         16:46:36 UTC
286929
286930         · PR #53311:  (doesitblend)  Add  fully  qualified  cmd  call  (refs:
286931           #54033)
286932
286933         · 9f5302d   Merge  pull  request  #54033  from  twangboy/fix_win_ser‐
286934           vice_2019.2.1
286935
286936         · 2850fab Merge branch '2019.2.1' into fix_win_service_2019.2.1
286937
286938         · 0e2a2b8 Merge branch '2019.2.1' into fix_win_service_2019.2.1
286939
286940         · 16c704e Backport #53311 to 2019.2.1
286941
286942       · PR  #53900:  (twangboy)  Fix  inconsistent  full  names  in  LGPO   @
286943         2019-08-09 09:15:41 UTC
286944
286945         · c0e49d9 Merge pull request #53900 from twangboy/fix_lgpo
286946
286947         · e05abdf Merge branch '2019.2.1' into fix_lgpo
286948
286949         · e4e71cd Remove duplicate test
286950
286951         · 68c632b Add some tests
286952
286953         · 3c34075 Fall back to slower method if new method not available
286954
286955         · 0108bcd Avoid using the lowercase method in XPath
286956
286957         · fcc0405 Fix telemetry issue, add some timining logs
286958
286959       · PR #52818: (twangboy) Add watchdog as a bundled dependency on Windows
286960         @ 2019-08-09 04:26:54 UTC
286961
286962         · 9eb2938 Merge pull request #52818 from twangboy/add_watchdog
286963
286964         · 2658634 pre-commit
286965
286966         · 35691f2 Add watchdog to Linux and OSX .in files
286967
286968         · 5ef5969 Rremove opensuse 42 static files
286969
286970         · ec285d0 Remove watchdog from the rest of the .in files
286971
286972         · 86e64ae Remove unused import, remove Windows reference
286973
286974         · b934d53 Remove watchdog from windows.in
286975
286976         · cfaee96 Fix and unify watchdog beacon tests for all OS's
286977
286978         · cc73204 Put Windows tests in their own class
286979
286980         · 6fbf1a3 Remove unused import... lint
286981
286982         · 832a1db Fix windowsisms
286983
286984         · 4f47d50 Update static requirements
286985
286986         · 762fe3b Remove some fluff
286987
286988         · 946076c Add watchdog for tests
286989
286990         · 02248dc Fix modified test to account for OS variances
286991
286992         · 15ee479 Compile static requirements
286993
286994         · 78a5723 Add watchdog to Linux and OSX .in files
286995
286996         · 9a0f08a Update static requirements
286997
286998         · 5cad13b Rremove opensuse 42 static files
286999
287000         · 1f05fce Remove watchdog from the rest of the .in files
287001
287002         · 121595a Remove unused import, remove Windows reference
287003
287004         · c410a4b Remove watchdog from windows.in
287005
287006         · 05a0845 Fix and unify watchdog beacon tests for all OS's
287007
287008         · 200e230 Put Windows tests in their own class
287009
287010         · 6cc8d96 Remove unused import... lint
287011
287012         · a4abb72 Fix windowsisms
287013
287014         · 005bed9 Update static requirements
287015
287016         · c1bc627 Remove some fluff
287017
287018         · 92c8d47 Add watchdog for tests
287019
287020         · 9544624 Add watchdog as a bundled dependency on Windows
287021
287022       · PR #54143: (Akm0d) Don't call potentially missing  shade  library  (‐
287023         #53734) @ 2019-08-09 01:05:26 UTC
287024
287025         · PR  #53734:  (Akm0d)  Don't  call potentially missing shade library
287026           (refs: #54143)
287027
287028         · 5bef520 Merge pull request #54143 from Akm0d/openstack_fix
287029
287030         · 3f58885 Merge branch '2019.2.1' into openstack_fix
287031
287032         · 71f5f38 Don't call potentially missing shade library (#53734)
287033
287034              · 29ee7ce removed print statements, optimized query
287035
287036              · 14b7539 added back print statements for easy debug
287037
287038              · 823b3b2 Removed print statements and broken re
287039
287040              · 9696ed9 experiment with sublcass names
287041
287042              · 2fa6157 more verbose instance names based on test
287043
287044              · 2acb2df undercased non-const variable and added  print  state‐
287045                ments
287046
287047              · c5e875d        Merge        branch        '2019.2.1'        of
287048                https://github.com/saltstack/salt into gce_cloud_test
287049
287050       · PR #54001: (garethgreenaway) [2019.2.1] Porting metaproxy changes  in
287051         #50183 to 2019.2.1 @ 2019-08-08 04:24:31 UTC
287052
287053         · PR  #50183: (cro) Allow proxy minion types to be dynamically loaded
287054           (refs: #54001)
287055
287056         · 584e3f2   Merge   pull    request    #54001    from    garethgreen‐
287057           away/add_metaproxy_2019_2_1
287058
287059         · 8353467 Merge branch 'add_metaproxy_2019_2_1' of github.com:gareth‐
287060           greenaway/salt into add_metaproxy_2019_2_1
287061
287062           · 1892d86 Merge branch '2019.2.1' into add_metaproxy_2019_2_1
287063
287064         · ab72e1b Adding unit.test_proxy_minion to ignore list
287065
287066         · 09f6fed Removing match  tests,  functionality  does  not  exist  in
287067           2019.2.1
287068
287069         · 4af95e4 Adding tests to ensure _metaproxy_call to called when Prox‐
287070           yMinion objects are created.
287071
287072         · d162a88   Adding   salt/metaproxy/proxy.py   and    tests/unit/mod‐
287073           ules/test_match.py
287074
287075         · 51726b1 POrting metaproxy changes in #50183 to 2019.2.1
287076
287077       · ISSUE  #51008:  (cdalvaro)  cwd  option  not working with cmd.run and
287078         runas (refs: #52632, #54079)
287079
287080       · PR #54136: (ScoreUnder)  Fix cmd.run on MacOS (rebased) @  2019-08-08
287081         04:20:31 UTC
287082
287083         · PR  #54079:  (ScoreUnder) Fix cmd.run on MacOS -- wrong environment
287084           variables (refs: #54136)
287085
287086         · PR #52632: (cdalvaro) Prevent shell injection as root with  cmd.run
287087           on macOS (refs: #54079)
287088
287089         · PR #47212: (weswhet) fix macOS running as user. (refs: #54079)
287090
287091         · bf863d0     Merge     pull    request    #54136    from    ScoreUn‐
287092           der/2019.2.1-patch-macos-cmd.run
287093
287094         · 1182eb9 Add integration test justifying strange use of braces after
287095           cd in cmd.run
287096
287097         · 733d2e7 Fixes to ITs
287098
287099         · da38993 Add integration tests for cwd/runas changes on MacOS
287100
287101         · ab8b39c Fix environment in cmd.run runas on MacOS
287102
287103              · c9cb18f Don't call potentially missing shade library (#53734)
287104
287105              · 5ef8414 Added more verbose logging to cloud tests
287106
287107              · 2f3942f better logging and fail messages
287108
287109              · 9454f4c Fixed pylint errors and temporary print statements
287110
287111              · fd13ce1 Further refactored cloud test code
287112
287113              · b03cc48 Assume the instance exists and needs to be deleted
287114
287115              · 0991ff5 fixed pylint errors and failed tests
287116
287117              · 55e502a        Merge        branch        '2019.2.1'        of
287118                https://github.com/saltstack/salt into gce_cloud_test
287119
287120       · PR #53974: (Ch3LL) [2019.2.1] Add  pygit2  requirement  @  2019-08-06
287121         17:32:05 UTC
287122
287123         · e268b95 Merge pull request #53974 from Ch3LL/add_pygit2
287124
287125         · 11864a0 Merge branch '2019.2.1' into add_pygit2
287126
287127         · d1b1452 Merge branch '2019.2.1' into add_pygit2
287128
287129         · a5698cc Merge branch '2019.2.1' into add_pygit2
287130
287131         · 7dd97a6 Merge branch '2019.2.1' into add_pygit2
287132
287133         · 358974a Skip Pygit2 tests on windows
287134
287135         · bc64961 Use accurate file:/// URI on windows for gitfs tests
287136
287137         · 894f958 Fix GitFS support for pygit2 >= 0.28.0
287138
287139         · 4580030 [2019.2.1] Add pygit2 requirement
287140
287141              · 4009bb5 fixed pylint errors
287142
287143              · 459b16d  put  cloudtest base in separate file so that only one
287144                change needs to be made
287145
287146              · 8e72335 Merge branch 'gce_cloud_test' of github.com:Akm0d/salt
287147                into gce_cloud_test
287148
287149                · 0e2621e Merge branch '2019.2.1' into gce_cloud_test
287150
287151              · 9f98b16 finished merge
287152
287153       · PR  #54108:  (dwoz)  More robust azure instance deletion @ 2019-08-03
287154         03:58:20 UTC
287155
287156         · 46f5e2e Merge pull request #54108 from dwoz/azure_test
287157
287158         · 754b719 Fix linter
287159
287160         · 773235d Fix missing time import
287161
287162         · 5a8f2ec More robust azure instance deletion
287163
287164       · PR #54017: (dmurphy18) Allow for main thread having  terminated  pid,
287165         before ThreadPoolExecutor threads @ 2019-08-02 18:11:48 UTC
287166
287167         · 2cb5a0b     Merge     pull     request     #54017     from    dmur‐
287168           phy18/fix_deb9_build90_tests
287169
287170         · 2866520 Skip process kill tests on Windows
287171
287172         · 5577f14 Clean up lint errors
287173
287174         · 4ca709e Merge branch '2019.2.1' into fix_deb9_build90_tests
287175
287176         · 264c767 Merge pull request #1 from dwoz/fix_deb9_build90_tests
287177
287178           · 9bb9466 Add unit tests for weird pid does not exist cases
287179
287180           · 64d9752 Add warning messages to help determine why  pids  do  not
287181             exist
287182
287183         · 406d382 Adjusted for review comments
287184
287185         · 2d20fbe Adjusted try/except statements on process checking
287186
287187         · e189177 Removed typos
287188
287189         · 2e3ca43 Updated for review comments
287190
287191         · 68c29af Allow for main thread having terminated pid, before Thread‐
287192           PoolExecutor threads
287193
287194              · e3158c8 refactored all cloud tests
287195
287196              · 194e0c7 Refactored GCE cloud test
287197
287198       · PR #54080: (dmurphy18) Disabling random website tests till allow  for
287199         quota usage @ 2019-07-31 21:16:54 UTC
287200
287201         · 4e2efcd  Merge  pull  request  #54080 from dmurphy18/u1804_py3_ran‐
287202           dom_skip
287203
287204         · 0660e6e Disabling random website tests till allow for quota usage
287205
287206       · PR #54063: (twangboy) Make the skip apply to any system missing crypt
287207         @ 2019-07-30 19:22:07 UTC
287208
287209         · dbbbcc9     Merge     pull     request     #54063    from    twang‐
287210           boy/fix_test_pycrypto_2019.2.1
287211
287212         · 6fcf035 Make the skip apply to any system missing crypt
287213
287214       · PR #54050: (cmcmarrow) fixs integration terminate error @  2019-07-30
287215         13:38:55 UTC
287216
287217         · 4df6271 Merge pull request #54050 from cmcmarrow/integration_termi‐
287218           nate_fix
287219
287220         · ebb07f4 Merge branch '2019.2.1' into integration_terminate_fix
287221
287222       · PR #54057: (dmurphy18) Added support for is_fedora  and  skip  Minion
287223         test test_issue_7754 on Fedora @ 2019-07-29 22:41:25 UTC
287224
287225         · 9d1bd63 Merge pull request #54057 from dmurphy18/fix_fedora30_test
287226
287227         · 30f3bda   Added   support   for  is_fedora  and  skip  Minion  test
287228           test_issue_7754
287229
287230         · b3293a9 Merge branch '2019.2.1' into integration_terminate_fix
287231
287232       · ISSUE  #53948:  (KChandrashekhar)   integration.shell.test_call.Call‐
287233         Test.test_issue_2731_masterless (refs: #54040)
287234
287235       · ISSUE #2731: (cwood) Masterless Broken in 0.10.5 (refs: #54040)
287236
287237       · PR #54040: (waynew) Remove dead test @ 2019-07-29 17:23:45 UTC
287238
287239         · 5d3bcd7 Merge pull request #54040 from waynew/remove-dead-test
287240
287241         · e9a5a57 Remove dead test
287242
287243           · ba3e867 Merge branch '2019.2.1' into integration_terminate_fix
287244
287245       · PR #54051: (twangboy) Skip get time test @ 2019-07-29 16:54:50 UTC
287246
287247         · 70ffcec Merge pull request #54051 from twangboy/fix_test_system
287248
287249         · ceaba05 Skip get time test
287250
287251       · PR  #54038:  (Ch3LL)  Pyton3 digitial ocean test fix: to_str on key @
287252         2019-07-29 16:54:19 UTC
287253
287254         · 4aed833 Merge pull request #54038 from Ch3LL/do_py3_fix
287255
287256         · f7346db Pyton3 digitial ocean test fix: to_str on key
287257
287258              · 05cd93f fixs integration terminate error
287259
287260              · 69c3106 fixs integration terminate error
287261
287262       · PR #53735: (twangboy) Fix Windows tests in test_system  @  2019-07-26
287263         22:38:28 UTC
287264
287265         · 3cedacd Merge pull request #53735 from twangboy/fix_test_system
287266
287267         · a9e9c97 Add timeouts and account for those in assert
287268
287269         · d3a160e Merge branch '2019.2.1' into fix_test_system
287270
287271         · f95f0e7 Merge branch '2019.2.1' into fix_test_system
287272
287273         · 87e02b8 Use setUpClass
287274
287275         · 6a685bd Fix some tests in the Windows Class
287276
287277       · PR  #53953:  (Ch3LL)  Send  SIGTERM to webserver in teardown of gitfs
287278         tests @ 2019-07-25 21:12:42 UTC
287279
287280         · cc1cda1 Merge pull request #53953 from Ch3LL/improve_git_test
287281
287282         · 347ea1e Use Sigkill and add time.sleep befor check
287283
287284         · 637bf95 Merge branch '2019.2.1' into improve_git_test
287285
287286         · c0be147 Send SIGTERM webserver during teardown of gitfs tests
287287
287288         · b776c0c Check if gitfs server fails to setup for tests
287289
287290       · PR #53999: (Ch3LL) Generate new key each time for digital  ocean  key
287291         test @ 2019-07-25 21:07:45 UTC
287292
287293         · 2324167 Merge pull request #53999 from Ch3LL/fix_digital_ocean
287294
287295         · b0b6e3b Generate new key each time for digital ocean key test
287296
287297       · PR  #53970:  (garethgreenaway)  [2019.2.1] Adding a WAR ROOM Skip for
287298         test_directory_clean_require_with_name @ 2019-07-25 21:03:49 UTC
287299
287300         · 32fec66   Merge   pull    request    #53970    from    garethgreen‐
287301           away/osx_skip_test_directory_clean_require_with_name
287302
287303         · 362b84a    Adding    a    WAR    ROOM    Skip    for    test_direc‐
287304           tory_clean_require_with_name
287305
287306       · PR #54003: (dwoz) War room skip for tcp build @  2019-07-24  22:52:18
287307         UTC
287308
287309         · 213dfff Merge pull request #54003 from dwoz/skip_test
287310
287311         · 6cdb8fa War room skip for tcp build
287312
287313       · PR #53897: (cmcmarrow) patches salt grains locale_info decode error @
287314         2019-07-23 13:19:00 UTC
287315
287316         · 048c097 Merge pull request #53897 from cmcmarrow/timezone_fix
287317
287318         · d9e402d Merge branch '2019.2.1' into timezone_fix
287319
287320       · PR #53920: (s0undt3ch) [2019.2.1] Update  CI  pipelines.  Remove  old
287321         jenkins cruft.  @ 2019-07-20 12:33:01 UTC
287322
287323         · 9a846b4  Merge  pull  request #53920 from s0undt3ch/hotfix/ci-pipe‐
287324           lines-2019.2.1
287325
287326         · b09963b Update CI pipelines. Remove old jenkins cruft.
287327
287328       · PR #53728: (garethgreenaway) [2019.2.1]  Disabling  test_get_set_com‐
287329         puter_name on OS X and Py3 @ 2019-07-19 17:18:33 UTC
287330
287331         · 15accef    Merge    pull    request    #53728   from   garethgreen‐
287332           away/2019_2_1_mac_system_disable_test_get_set_computer_name
287333
287334         · a6d853c  Merge  branch  '2019.2.1'  into   2019_2_1_mac_system_dis‐
287335           able_test_get_set_computer_name
287336
287337         · 5d537ed Missing six import.  Updating skip message.
287338
287339         · ac6dccd Disabling test_get_set_computer_name on OS X and Py3.
287340
287341       · PR        #53913:       (garethgreenaway)       [2019.2.1]       skip
287342         test_issue_2594_non_invalidated_cache on MacOS @ 2019-07-19  17:17:36
287343         UTC
287344
287345         · a54ec89   Merge   pull  request  #53913  from  garethgreenaway/dis‐
287346           able_test_issue_2594_non_invalidated_cache_macos
287347
287348         · c65c5d5 Skip the test test_issue_2594_non_invalidated_cache on Mac‐
287349           OS where it is flakey.
287350
287351       · PR  #53902:  (twangboy)  Skip  tests  that  modify  date  or  time  @
287352         2019-07-18 17:53:31 UTC
287353
287354         · b091eb7 Merge pull request #53902 from twangboy/skip_dt
287355
287356         · 76cf936 Skip tests that modify date or time
287357
287358       · PR #53901: (s0undt3ch) [2019.2.1] Don't fail when combining  coverage
287359         files @ 2019-07-18 17:46:32 UTC
287360
287361         · 22b7b1a Merge pull request #53901 from s0undt3ch/hotfix/wrap-cover‐
287362           age-combine
287363
287364         · b459a48 Don't fail when combining coverage files
287365
287366       · PR #53542: (dwoz) Fix leak of SaltMessageClient instances when  using
287367         tcp transport @ 2019-07-18 17:44:44 UTC
287368
287369         · 84e798a Merge pull request #53542 from dwoz/tcp_leak
287370
287371         · 3daeb4f Update TCP pipelines
287372
287373         · 52f9556 Merge branch '2019.2.1' into tcp_leak
287374
287375         · f5313fd Fix tcp message client test
287376
287377         · 3419bf5 Merge branch '2019.2.1' into tcp_leak
287378
287379         · 3125cd3 Merge branch '2019.2.1' into tcp_leak
287380
287381         · 9a33582 Merge branch '2019.2.1' into tcp_leak
287382
287383         · 7eb5d41 Merge branch '2019.2.1' into tcp_leak
287384
287385         · 481372b Fix torando loop thread issue
287386
287387         · aff15d4 Fix linter wart
287388
287389         · 9606db7 Comment the tcp message client test better
287390
287391         · dcf576f Add unit test for tcp message client close method
287392
287393         · 4420556 Download artifacts for tcp jobs
287394
287395         · e6a09dd   Merge   remote-tracking   branch  'origin/tcp_leak'  into
287396           tcp_leak
287397
287398           · f484f3f Merge branch '2019.2.1' into tcp_leak
287399
287400         · 4a37234 Add tcp suffix to github notifications
287401
287402         · 4a2848b Add transport PR tests
287403
287404         · 9a4b407 Fix leak of  SaltMessageClient  instances  when  using  tcp
287405           transport
287406
287407              · 592f3fe undo test
287408
287409              · bc550ad wip pytest test david
287410
287411              · 75571e4 fixs timezone decode error
287412
287413              · d041660 fixes timezone decode error
287414
287415              · 1ddd1a9 fixs timezone decode error
287416
287417              · e75dafa patches timezone grain
287418
287419              · eaca473 patches salt grains locale_info decode error
287420
287421       · PR #53873: (bryceml) increase sleep time between kitchen create fail‐
287422         ures to account for ap...  @ 2019-07-16 23:46:09 UTC
287423
287424         · 61e9efd      Merge       pull       request       #53873       from
287425           bryceml/2019.2.1-increase-sleep
287426
287427         · aae0bf6  increase  sleep  time  between  kitchen create failures to
287428           account for api limits
287429
287430       · PR #53750: (twangboy) Fix memory error when the test suite cleans  up
287431         (2019.2.1) @ 2019-07-16 23:00:07 UTC
287432
287433         · 317d9af Merge pull request #53750 from twangboy/fix_helpers
287434
287435         · fa0e9c3 Merge branch '2019.2.1' into fix_helpers
287436
287437       · PR #53851: (dwoz) Master stats revert @ 2019-07-16 16:05:38 UTC
287438
287439         · 6c2b3a5 Merge pull request #53851 from dwoz/master_stats_revert
287440
287441         · 0bc72e4   Revert   "Merge   pull   request  #53822  from  dwoz/mas‐
287442           ter_stats_test"
287443
287444         · 4553ba7   Revert   "Merge   pull   request   #53829   from    salt‐
287445           stack/fix_stats_2019.2.1"
287446
287447       · PR #53829: (dwoz) Fix stats on windows @ 2019-07-12 01:03:47 UTC
287448
287449         · 5064027 Merge pull request #53829 from saltstack/fix_stats_2019.2.1
287450
287451         · 9f2d20d Fix stats on windows
287452
287453       · PR #53826: (dmurphy18) WAR ROOM test skip till rewritten to allow for
287454         dnf on RHEL 8 and F30 @ 2019-07-12 00:39:11 UTC
287455
287456         · 971eda3 Merge pull request #53826 from dmurphy18/fedora30_fixes
287457
287458         · 34b261d WAR ROOM test skip till rewritten to allow for dnf on  RHEL
287459           8 and Fedora 30
287460
287461       · PR #53822: (dwoz) Enable master stats for tests @ 2019-07-11 23:37:55
287462         UTC
287463
287464         · ba33d76 Merge pull request #53822 from dwoz/master_stats_test
287465
287466         · d2b8315 Enable master stats for tests
287467
287468         · 3471422 Fix memory error when the test suite cleans up
287469
287470       · PR #53591: (twangboy) Fix whitelist errors in test_boto_* state tests
287471         on Windows @ 2019-07-07 05:45:21 UTC
287472
287473         · 1756156 Merge pull request #53591 from twangboy/fix_boto_tests
287474
287475         · ba8ba26 Merge branch '2019.2.1' into fix_boto_tests
287476
287477       · ISSUE  #53532: (dafyddj) win_lgpo.py: crash caused by empty presenta‐
287478         tion text element (refs: #53662)
287479
287480       · PR #53688: (twangboy) Merge Forward #53662  (2019.2.1)  @  2019-07-07
287481         05:44:25 UTC
287482
287483         · PR #53662: (lomeroe) Update win_lgpo (refs: #53688)
287484
287485         · 464464c Merge pull request #53688 from twangboy/mf_53662
287486
287487         · c19dc97 Merge branch '2019.2.1' into mf_53662
287488
287489       · ISSUE #52391: (rsmekala) Port Junos-related bug fixes from develop to
287490         2019.2 (refs: #52401)
287491
287492       · PR #52401: (rsmekala) Port Junos-related bug fixes  from  develop  to
287493         2019.2 @ 2019-07-06 21:50:51 UTC
287494
287495         · PR #51164: (rsmekala) Updates to salt-junos modules (refs: #52401)
287496
287497         · 1a76e00 Merge pull request #52401 from rsmekala/2019.2.1
287498
287499         · 345938d Merge branch '2019.2.1' into 2019.2.1
287500
287501         · 326f9f4 Merge branch '2019.2.1' into 2019.2.1
287502
287503         · c11a004 Merge branch '2019.2.1' into 2019.2.1
287504
287505         · 33b45d2 Merge branch '2019.2.1' into 2019.2.1
287506
287507         · af66fac Merge branch '2019.2.1' into 2019.2.1
287508
287509         · 211b169  Ported  relevant  fixes  from unit.modules.test_junos from
287510           develop to 2019.2
287511
287512         · 0c51bc9 Ported relevant fixes from  states.junos  from  develop  to
287513           2019.2
287514
287515         · a966ad1  Ported  relevant  fixes  from  proxy.junos from develop to
287516           2019.2
287517
287518         · 263e9f5 Ported relevant fixes from modules.junos  from  develop  to
287519           2019.2
287520
287521              · b9033b9 Merge branch '2019.2.1' into mf_53662
287522
287523              · 75e740e Merge forward #53662
287524
287525                · 8ace391 Merge branch '2019.2.1' into fix_boto_tests
287526
287527       · PR  #53585:  (twangboy)  Fix  test_winrepo  on  Windows  @ 2019-07-06
287528         15:15:47 UTC
287529
287530         · 056f596 Merge pull request #53585 from twangboy/fix_test_winrepo
287531
287532         · c1f8cba Merge branch '2019.2.1' into fix_test_winrepo
287533
287534       · PR #53590:  (twangboy)  Fix  test  status  on  Windows  @  2019-07-06
287535         15:15:13 UTC
287536
287537         · db950f2 Merge pull request #53590 from twangboy/fix_test_status
287538
287539         · 67750b7 Merge branch '2019.2.1' into fix_test_status
287540
287541         · b667045 Merge branch '2019.2.1' into fix_test_status
287542
287543         · 9b4338a Merge branch '2019.2.1' into fix_test_status
287544
287545         · 2735b19 Add __grains__
287546
287547         · bb12da9 Load grains properly
287548
287549              · 91da774 Merge branch '2019.2.1' into fix_test_winrepo
287550
287551       · PR  #53556:  (twangboy) Fixes an issue with line endings in the jinja
287552         renderer @ 2019-07-05 23:06:01 UTC
287553
287554         · becaf12 Merge pull request #53556 from twangboy/fix_test_pillar
287555
287556         · ac405d1 Merge branch '2019.2.1' into fix_test_pillar
287557
287558       · PR #53557: (twangboy) Fix test_pydsl on Windows @ 2019-07-05 22:36:40
287559         UTC
287560
287561         · 7a5111b Merge pull request #53557 from twangboy/fix_test_pydsl
287562
287563         · d9df951 Merge branch '2019.2.1' into fix_test_pydsl
287564
287565         · 1619c68 Merge branch '2019.2.1' into fix_test_pydsl
287566
287567         · 2c3e91d Fix test_pydsl on Windows
287568
287569              · 137f4a4 Merge branch '2019.2.1' into fix_test_pillar
287570
287571              · 4a96252 Fixes an issue with line endings in the jinja renderer
287572
287573                    · c8c8bc0 Merge branch '2019.2.1' into fix_test_winrepo
287574
287575                    · 8373865 Merge branch '2019.2.1' into fix_test_winrepo
287576
287577                    · a818396 Split out the tests, patch test=True
287578
287579                         · 62041eb Merge branch '2019.2.1' into fix_boto_tests
287580
287581       · PR #53653: (s0undt3ch) [2019.2.1] Log which address failed to resolve
287582         @ 2019-07-05 18:29:31 UTC
287583
287584         · 8f05226   Merge   pull   request   #53653    from    s0undt3ch/hot‐
287585           fix/fix-nox-bypass-2019.2.1
287586
287587         · f44253c Merge branch '2019.2.1' into hotfix/fix-nox-bypass-2019.2.1
287588
287589         · 0ead7fe Log which address failed to resolve
287590
287591       · PR   #53725:  (s0undt3ch)  [2019.2.1]  Archive  the  kitchen  logs  @
287592         2019-07-05 18:19:50 UTC
287593
287594         · f750f44   Merge   pull   request   #53725    from    s0undt3ch/fea‐
287595           tures/f30-reqs-2019.2.1
287596
287597         · 118fbf7 Improve slack message
287598
287599         · 62a2ee8 Archive the kitchen logs
287600
287601       · PR  #53689:  (twangboy)  Merge Forward #52593 (2019.2.1) @ 2019-07-05
287602         14:58:10 UTC
287603
287604         · PR #52593: (twangboy) Update setup.py (refs: #53689)
287605
287606         · 0c6009f Merge pull request #53689 from twangboy/fix_setup_2019.2.1
287607
287608         · c6f3da5 Merge branch '2019.2.1' into fix_setup_2019.2.1
287609
287610       · PR #53690: (twangboy) Merge Forward #52065  (2019.2.1)  @  2019-07-05
287611         14:55:12 UTC
287612
287613         · PR  #52065:  (twangboy)  Use  the  dism  binary that matches system
287614           architecture (refs: #53690)
287615
287616         · 54c4220    Merge    pull     request     #53690     from     twang‐
287617           boy/fix_win_dism_2019.2.1
287618
287619         · fae9f1a Merge branch '2019.2.1' into fix_win_dism_2019.2.1
287620
287621       · PR   #53719:   (s0undt3ch)  [2019.2.1]  PR  Pipeline  Enhancements  @
287622         2019-07-04 20:29:06 UTC
287623
287624         · 78c45eb   Merge   pull   request   #53719    from    s0undt3ch/fea‐
287625           tures/f30-reqs-2019.2.1
287626
287627         · 76b99fd Enhance lint report
287628
287629         · 45f19af Use milestones to abort previous, still running, builds, on
287630           new builds
287631
287632       · PR #53697: (s0undt3ch) [2019.2.1] Add Fedora 30 requirements files  @
287633         2019-07-04 04:26:02 UTC
287634
287635         · 3db4ddb    Merge    pull   request   #53697   from   s0undt3ch/fea‐
287636           tures/f30-reqs-2019.2.1
287637
287638         · 36198cd Delete Opensuse 42 static requirements
287639
287640         · 4413626 Delete Fedora 28 static requirements
287641
287642         · 41809e5 Add Fedora 30 requirements files
287643
287644       · PR #53680: (Ch3LL) Pytest  5.0  contextmanager  str:  call  value  on
287645         ExceptionInfo objects @ 2019-07-04 00:12:56 UTC
287646
287647         · f5c5da4 Merge pull request #53680 from Ch3LL/pytest_5_changes
287648
287649         · b5e2b0b Merge branch '2019.2.1' into pytest_5_changes
287650
287651       · PR  #53682:  (twangboy)  Fix  compare  issue  in  lgpo state module @
287652         2019-07-03 04:43:22 UTC
287653
287654         · 727843c Merge pull request #53682 from twangboy/fix_lock_1740_lgpo
287655
287656         · 62450db Merge branch '2019.2.1' into fix_lock_1740_lgpo
287657
287658         · f6276a3 Fix compare issue in lgpo state module
287659
287660           · 110b953 Pytest 5.0 contextmanager str: call value  on  Exception‐
287661             Info objects
287662
287663           · b71b655 Merge forward #52065
287664
287665           · 023c47d Fix typo
287666
287667           · 43dd7b3 Merge Forward #52593
287668
287669       · PR  #53678:  (twangboy)  Fix  LGPO  when  string  object  is  None  @
287670         2019-07-02 23:47:05 UTC
287671
287672         · 491bfa8 Merge pull request #53678 from twangboy/fix_lock_1688_lgpo
287673
287674         · 7b05bf8 Merge branch '2019.2.1' into fix_lock_1688_lgpo
287675
287676       · PR #53220: (twangboy) Don't remove the pythonwin directory (2019.2.1)
287677         @ 2019-07-02 22:43:43 UTC
287678
287679         · 4a4a91b     Merge     pull     request     #53220    from    twang‐
287680           boy/fix_pywin32_2019.2.1
287681
287682         · 748bf1c Merge branch '2019.2.1' into fix_pywin32_2019.2.1
287683
287684       · PR #53614: (Ch3LL) Increase flaky attempts on mac tests using system‐
287685         setup @ 2019-07-02 21:33:56 UTC
287686
287687         · c2befe2 Merge pull request #53614 from Ch3LL/mac_flaky
287688
287689         · 5460031 Merge branch '2019.2.1' into mac_flaky
287690
287691         · 7dcaaf0 Increase flaky attempts on mac tests using systemsetup
287692
287693       · PR #53624: (Ch3LL) Allow yaml list notation for nodegroup expansion @
287694         2019-07-02 21:32:43 UTC
287695
287696         · 02461cb Merge pull request #53624 from Ch3LL/nodegroup_group_list
287697
287698         · 475d904 Merge branch '2019.2.1' into nodegroup_group_list
287699
287700         · fbb15cd Add nodegroup list test
287701
287702         · ee59d39 Merge branch '2019.2.1' into nodegroup_group_list
287703
287704         · d236bd4 Allow yaml list notation for nodegroup expansion
287705
287706       · PR #53562: (Ch3LL) Move create key call into  try/except  in  Digital
287707         Ocean key test @ 2019-07-02 16:08:08 UTC
287708
287709         · 8857dbd Merge pull request #53562 from Ch3LL/do_key_test
287710
287711         · 315eb35 Merge branch '2019.2.1' into do_key_test
287712
287713         · 75ac708 Merge branch '2019.2.1' into do_key_test
287714
287715         · 128ba07  Move  create key call into try/except in Digital Ocean key
287716           test
287717
287718              · 22d4a3a Merge branch '2019.2.1' into fix_pywin32_2019.2.1
287719
287720              · 6bb6df7 Merge branch '2019.2.1' into fix_pywin32_2019.2.1
287721
287722              · 534c984 Merge branch '2019.2.1' into fix_pywin32_2019.2.1
287723
287724              · 382c637 Merge branch '2019.2.1' into fix_pywin32_2019.2.1
287725
287726              · fb4090d update py3 script
287727
287728              · 0ea70ba Don't remove pythonwin directory
287729
287730                    · ba37276 Use string_types instead of text_types
287731
287732                    · f6d0084 Add some unit tests, raise error  on  non-string
287733                      types
287734
287735                    · 35ed8be Create function for encoding string values
287736
287737                    · c4c1082 Return encoded null when string value is None
287738
287739       · PR #53627: (dmurphy18) Cherry pick pr 53370 from 2018.3 into 2019.2.1
287740         @ 2019-06-28 19:54:13 UTC
287741
287742         · 164aaeb    Merge     pull     request     #53627     from     dmur‐
287743           phy18/cherry-pick-pr-53370
287744
287745         · 450d23d Merge branch '2019.2.1' into cherry-pick-pr-53370
287746
287747       · ISSUE  #53411: (cro) Events can grow stale when event_listen_queue is
287748         set. (refs: #53587, #53412)
287749
287750       · PR  #53587:  (cro)  Forward   port   from   2018.3   Add   event_lis‐
287751         ten_queue_max_seconds to fix #53411 @ 2019-06-28 16:49:46 UTC
287752
287753         · PR #53412: (cro) Stale events 53411 (refs: #53587)
287754
287755         · 6559e4c Merge pull request #53587 from cro/53412-2019.2.1
287756
287757         · 9e69bd4 Merge branch '2019.2.1' into 53412-2019.2.1
287758
287759         · 949a026 Merge branch '2019.2.1' into 53412-2019.2.1
287760
287761         · f5d81c9 Merge branch '2019.2.1' into 53412-2019.2.1
287762
287763         · d74c313 Merge branch '2019.2.1' into 53412-2019.2.1
287764
287765         · b3c3f52 Make doc build test pass.
287766
287767         · 8001130 Add event_listen_queue_max_seconds to fix #53411
287768
287769              · 34e38d7 Merge branch '2019.2.1' into cherry-pick-pr-53370
287770
287771       · ISSUE              #53283:              (Ch3LL)              integra‐
287772         tion.states.test_file.FileTest.test_directory_broken_symlink   (refs:
287773         #53295)
287774
287775       · PR  #53295:  (DmitryKuzmenko)  Recurse kwarg of state.directory state
287776         shall be a list or None @ 2019-06-27 23:20:10 UTC
287777
287778         · 14efced   Merge    pull    request    #53295    from    DSRCorpora‐
287779           tion/bugs/test_file_recurse_set
287780
287781         · 2927b78 Merge branch '2019.2.1' into bugs/test_file_recurse_set
287782
287783         · 9c01670 Merge branch '2019.2.1' into bugs/test_file_recurse_set
287784
287785         · 571d82a Merge branch '2019.2.1' into bugs/test_file_recurse_set
287786
287787         · ee8f0e3 Merge branch '2019.2.1' into bugs/test_file_recurse_set
287788
287789         · 013e04c  Recurse  kwarg of state.directory state shall be a list of
287790           None
287791
287792       · ISSUE   #52926:    (waynew)    integration.states.test_beacon.Beacon‐
287793         StateTestCase.test_present_absent  - Beacon "diskusage" is not avail‐
287794         able (refs: #53493, #53466)
287795
287796       · ISSUE   #52245:   (twangboy)   integration.states.test_beacon.Beacon‐
287797         StateTestCase.test_present_absent (refs: #53493, #53466)
287798
287799       · PR #53466: (dwoz) More robust beacon state test @ 2019-06-27 23:17:01
287800         UTC
287801
287802         · 75175bb Merge pull request #53466 from dwoz/test_pres_abs
287803
287804         · f24bf06 Use new pipeline format
287805
287806         · a74580b Clean up cruft
287807
287808         · 68958f5 Do not create duplicate minion ids
287809
287810         · c47eeb4 Add amazon 2 to PR tests
287811
287812         · dc90b47 More robust beacon state test
287813
287814              · 95b1819 Initial working tests for gpg fixes and  import  keys,
287815                signing
287816
287817              · b2c9ae2  Update  access  to str/bytes with to_unicode/to_bytes
287818                for Python 3
287819
287820       · PR #53609: (s0undt3ch) CI Pipelines. Timeout after  getting  a  node.
287821         Report exit code.  @ 2019-06-27 16:09:54 UTC
287822
287823         · 582ac5f    Merge    pull   request   #53609   from   s0undt3ch/hot‐
287824           fix/fix-nox-bypass-2019.2.1
287825
287826         · 024be84 CI Pipelines. Timeout after getting  a  node.  Report  exit
287827           code.
287828
287829       · PR  #53574: (s0undt3ch) [2019.2.1] Minor fixes/adjustments to the new
287830         CI pipelines @ 2019-06-25 18:48:25 UTC
287831
287832         · f568796   Merge   pull   request   #53574    from    s0undt3ch/hot‐
287833           fix/fix-nox-bypass-2019.2.1
287834
287835         · e85e2f4 Minor fixes/adjustments to the new CI pipelines
287836
287837       · PR #53584: (dwoz) Add unit tests for recent SaltCacheLoader changes @
287838         2019-06-24 23:40:43 UTC
287839
287840         · PR #53563: (twangboy)  SaltCacheLoader  does  not  create  multiple
287841           FileClients (refs: #53584)
287842
287843         · 77b7fc4 Merge pull request #53584 from dwoz/client_cache
287844
287845         · e9b61dc Add unit tests for recent SaltCacheLoader changes
287846
287847              · 5558a0a Add reg to the whitelist
287848
287849       · PR  #53563: (twangboy) SaltCacheLoader does not create multiple File‐
287850         Clients (refs: #53584) @ 2019-06-22 23:23:03 UTC
287851
287852         · 6ed6c31 Merge pull request #53563 from twangboy/py3_windows_hang
287853
287854         · 369720e Allow the file_client to be overridden
287855
287856         · f6c592c Don't instantiate the file_client every time
287857
287858       · PR #53432: (garethgreenaway) [2019.2.1] Various fixes for 2019.2.1 to
287859         ensure tests pass on Mac OS X @ 2019-06-21 13:47:41 UTC
287860
287861         · c606952    Merge    pull    request    #53432   from   garethgreen‐
287862           away/2019_2_1_mac_fixes
287863
287864         · 1974f11  Disabling  a  couple  more   tests   in   integration.mod‐
287865           ules.test_cp that hang on OS X and Py2.
287866
287867         · 7721151 Fixing lint.
287868
287869         · 1d4e228 Updating various skips for tests to only skip if OS is OS X
287870           and Python is Python2.
287871
287872         · 01dafdc         Skipping         integration.modules.test_cp.CPMod‐
287873           uleTest.test_get_file_str_https on OS X
287874
287875         · c02db20      Disabling     integration.modules.test_state.StateMod‐
287876           uleTest.test_parallel_state_with_long_tag
287877
287878         · 8788877                        Skip                        integra‐
287879           tion.states.test_file.FileTest.test_issue_11003_immutable_lazy_proxy_sum
287880           and                          integration.states.test_pip_state.Pip‐
287881           StateTest.test_22359_pip_installed_unless_does_not_trigger_warnings
287882           when running on OS X.
287883
287884         · cf76027 Removing wrong import of skipIf
287885
287886         · b10e1e7 Moving the skipIf for OS X from the beacon state  tests  to
287887           the renderer state tests.
287888
287889         · d2fef9a Disabling beacon state tests on OS X for the time being.
287890
287891         · 1741bb0  Adding  some timeouts to see if it helps the tests pass on
287892           OS X.
287893
287894         · fd0ba0a  Ensure   the   user   and   group   used   by   @with_sys‐
287895           tem_user_and_group are consistent.
287896
287897         · e03ab81  Using salt.utils.path.which to find false, on OSX it lives
287898           under /usr/bin/
287899
287900         · 353f9d4 Fixing the beacons.reset  function.   Once  the  reset  has
287901           taken place in beacons/__init__.py we need to fire an event back to
287902           complete the loop and ensure that everything worked as expected.
287903
287904         · ee3cbc7 fix to how the  depends  decorator  works.   Only  run  the
287905           dependancy commands for the module we're checking.
287906
287907         · 8440176  Fixing  a  log issue that pops up after test_gen_thin_com‐
287908           pression_fallback_py3   on   "OS   X,   need   to    ensure    that
287909           salt.utils.thin.os.close is mocked.
287910
287911         · 9767ddd  Format  for  the  sqlite3  databse  used for the assistive
287912           information changed in Mojave, additional columns added.
287913
287914         · 9c8a7e6 Fixing a bug when the roots fileserver and the location  is
287915           a  symlink  to another location.  This fix ensures that when fsroot
287916           is referenced we are using the real path and not the symlink path.
287917
287918       · PR #53526: (s0undt3ch) [2019.2.1] Update pipelines to work on old and
287919         new jenkins @ 2019-06-20 15:29:13 UTC
287920
287921         · 59e2a1f    Merge    pull   request   #53526   from   s0undt3ch/hot‐
287922           fix/fix-nox-bypass-2019.2.1
287923
287924         · 24d6d09 Update pipelines to work on old and new jenkins
287925
287926       · PR #53210: (Ch3LL) Cherry-Pick  #52787  into  2019.2.1  @  2019-06-20
287927         13:33:13 UTC
287928
287929         · PR  #52787:  (garethgreenaway) [2018.3] Fixes to test_pip state sls
287930           files (refs: #53210)
287931
287932         · f5f80af Merge pull request #53210 from Ch3LL/cp-52787
287933
287934         · f27c434 Merge branch '2019.2.1' into cp-52787
287935
287936       · PR #53467: (twangboy) Check valid username first (fixes failing  sym‐
287937         link test) @ 2019-06-19 17:04:30 UTC
287938
287939         · fd6cb35 Merge pull request #53467 from twangboy/fix_test_win_file
287940
287941         · 92950c5 Merge branch '2019.2.1' into fix_test_win_file
287942
287943         · 6a21edb Merge branch '2019.2.1' into fix_test_win_file
287944
287945         · 31ce1fb Fix some lint, skip some tests
287946
287947         · 6de4db6 Monkeypatch in the class instead of globally
287948
287949         · d663a1f Fix the failing BlockReplace test cases on Windows
287950
287951         · 299f88f Update test_managed_contents
287952
287953         · 81110e5 Fix test_file_copy_make_dirs that was failing on Linux
287954
287955         · 8d0529d Fix some lint
287956
287957         · 4a9c020 Fix issues with win_runas
287958
287959         · bceffa1 Remove privs message
287960
287961         · 54be0a6 Verify username early in win_runas
287962
287963       · PR  #53475:  (Ch3LL)  Add  pypsexec  requirement  for  cloud  tests @
287964         2019-06-19 13:30:25 UTC
287965
287966         · 3230078 Merge pull request #53475 from Ch3LL/add_pypsexec
287967
287968         · ab59a55 Merge branch '2019.2.1' into add_pypsexec
287969
287970         · f954363 Merge branch '2019.2.1' into add_pypsexec
287971
287972         · 8f7cbfc Merge branch '2019.2.1' into add_pypsexec
287973
287974         · fa22b39 Add pypsexec requirement for cloud tests
287975
287976       · PR #53491: (Ch3LL)  Update  test_gen_hash  for  macosx  @  2019-06-19
287977         13:16:04 UTC
287978
287979         · bdd7c2c Merge pull request #53491 from Ch3LL/crypt_test_mac
287980
287981         · 85e96bd Merge branch '2019.2.1' into crypt_test_mac
287982
287983         · 700338e Merge branch '2019.2.1' into crypt_test_mac
287984
287985         · 4ce7fb1 Merge branch '2019.2.1' into crypt_test_mac
287986
287987         · 832ded6 Merge branch '2019.2.1' into crypt_test_mac
287988
287989         · 775b8c2 Merge branch '2019.2.1' into crypt_test_mac
287990
287991         · 0832b49 Update test_gen_hash for macosx
287992
287993       · PR  #53494: (Ch3LL) Always delete digital ocean key for test_key_man‐
287994         agement test @ 2019-06-19 13:14:51 UTC
287995
287996         · 8c2e952 Merge pull request #53494 from Ch3LL/do_cloud_test
287997
287998         · 5053eab Merge branch '2019.2.1' into do_cloud_test
287999
288000         · 64a3e8d Merge branch '2019.2.1' into do_cloud_test
288001
288002         · 45c0c43 Merge branch '2019.2.1' into do_cloud_test
288003
288004         · 3826c56 Allows delete digital  ocean  key  for  test_key_management
288005           test
288006
288007              · 6b6dc66 Merge branch '2019.2.1' into cp-52787
288008
288009       · PR  #53434: (weswhet) Update documentation for newer mac_service mod‐
288010         ule.  @ 2019-06-19 01:15:19 UTC
288011
288012         · 2e3778b Merge pull request #53434 from weswhet/patch-2
288013
288014         · 89398a9 Update salt.modules.service.rst
288015
288016         · b9c1b1a Update salt.modules.service.rst
288017
288018         · a962a64 Merge branch '2019.2.1' into patch-2
288019
288020       · PR #53498: (amendlik) Fix broken  documentation  links  @  2019-06-18
288021         23:44:05 UTC
288022
288023         · f72ebba Merge pull request #53498 from amendlik/links
288024
288025         · e360a70 Fix broken documentation links for service virtual module
288026
288027         · 56f65ec Fix broken documentation links for pkg virtual module
288028
288029           · 010a2c5 Update documentation for newer mac_service module.
288030
288031                · 1bbdc7f Merge branch '2019.2.1' into cp-52787
288032
288033       · PR  #53514:  (Ch3LL)  Revert logging changes from #53492 @ 2019-06-18
288034         20:49:04 UTC
288035
288036         · PR #53492: (dwoz)  Fix syndic connection when using  tcp  transport
288037           (refs: #53514)
288038
288039         · 0793272 Merge pull request #53514 from Ch3LL/disable_py3_logging
288040
288041         · 8c8f0ac import six runtests log handler
288042
288043         · f442b33 Revert "Enable logging for test runs on py3"
288044
288045              · b62be16 Merge branch '2019.2.1' into cp-52787
288046
288047       · PR  #53485: (s0undt3ch) [2019.2.1] Workaround nox's install only flag
288048         @ 2019-06-18 09:35:34 UTC
288049
288050         · 98285f9   Merge   pull   request   #53485    from    s0undt3ch/hot‐
288051           fix/fix-nox-bypass-2019.2.1
288052
288053         · 69e1d84 Workaround nox's install only flag
288054
288055              · 8622bba Merge branch '2019.2.1' into cp-52787
288056
288057       · PR   #53369:  (Akm0d)  Added  refs  to  AIX  module  documentation  @
288058         2019-06-17 20:29:01 UTC
288059
288060         · ff7370e Merge pull request #53369 from Akm0d/aix_docs
288061
288062         · 2ece253 Merge branch '2019.2.1' into aix_docs
288063
288064         · f2eda45 Merge branch '2019.2.1' into aix_docs
288065
288066         · 3e793ac Merge branch '2019.2.1' into aix_docs
288067
288068         · e800641 Merge branch '2019.2.1' into aix_docs
288069
288070         · 0ef9892 Merge branch '2019.2.1' into aix_docs
288071
288072         · 65cb718 Merge branch '2019.2.1' into aix_docs
288073
288074         · 32f4d7e Merge branch '2019.2.1' into aix_docs
288075
288076         · a59f45e Merge branch '2019.2.1' into aix_docs
288077
288078         · 29f89a4 Merge branch '2019.2.1' into aix_docs
288079
288080         · e74345c Merge branch '2019.2.1' into aix_docs
288081
288082         · 28fbd11 Merge branch '2019.2.1' into aix_docs
288083
288084         · 60129f0  Merge  branch  'aix_docs'  of  github.com:Akm0d/salt  into
288085           aix_docs
288086
288087           · a1c4abc Merge branch '2019.2.1' into aix_docs
288088
288089           · e2c9fcc Merge branch '2019.2.1' into aix_docs
288090
288091         · fd197d3          Merge         branch         '2019.2.1'         of
288092           https://github.com/saltstack/salt into aix_docs
288093
288094         · 6d42cf7  Merge  branch  'aix_docs'  of  github.com:Akm0d/salt  into
288095           aix_docs
288096
288097           · fae6045 Merge branch '2019.2.1' into aix_docs
288098
288099         · 97145b0          Merge         branch         '2019.2.1'         of
288100           https://github.com/saltstack/salt into aix_docs
288101
288102         · 6d16343 Updated 'used for' description of aixpkg
288103
288104         · 6092683 Added aixpkg to index
288105
288106         · 2867d07 Added refs to AIX module documentation
288107
288108              · 458fe9f Merge branch '2019.2.1' into cp-52787
288109
288110       · PR #53461: (waynew) Update file.chattr @ 2019-06-14 21:16:52 UTC
288111
288112         · 8df7684 Merge pull request #53461 from waynew/fix-chattr-problems
288113
288114         · a8d8174 Merge branch '2019.2.1' into fix-chattr-problems
288115
288116       · ISSUE   #52926:    (waynew)    integration.states.test_beacon.Beacon‐
288117         StateTestCase.test_present_absent  - Beacon "diskusage" is not avail‐
288118         able (refs: #53493, #53466)
288119
288120       · ISSUE   #52245:   (twangboy)   integration.states.test_beacon.Beacon‐
288121         StateTestCase.test_present_absent (refs: #53493, #53466)
288122
288123       · PR  #53493:  (dwoz)  Cherry-pick  and  merge  beacon  event  change @
288124         2019-06-14 20:36:10 UTC
288125
288126         · cfe866d Merge pull request #53493 from dwoz/cherry_pick_test_fix
288127
288128         · fb104bb Cherry-pick and merge beacon event change
288129
288130       · PR #53492: (dwoz)  Fix syndic connection  when  using  tcp  transport
288131         (refs: #53514) @ 2019-06-14 19:23:41 UTC
288132
288133         · a1f4136 Merge pull request #53492 from dwoz/tcp_syndic_fix
288134
288135         · 17c983b Fix linter
288136
288137         · 9339425 Enable logging for test runs on py3
288138
288139         · f1b65d1 Fix syndic connection when using tcp transport
288140
288141       · PR  #53437: (twangboy) Fix failing symlink test @ 2019-06-12 22:53:32
288142         UTC
288143
288144         · e852596 Merge pull request #53437 from twangboy/fix_test_win_file
288145
288146         · 8c30dbd Add priv info to error message
288147
288148         · a7d41a8 Make them non-destructive tests
288149
288150         · d8bede0 Remove duplicate test
288151
288152         · 89aaf2e Remove duplicate test
288153
288154         · 184ec4a Skip test on linux
288155
288156         · c97ea99 Mark it a destructive test
288157
288158         · 9da7090 Fix failing symlink test
288159
288160       · PR  #53408:  (s0undt3ch)  [2019.2.1]  Fix   static   requirements   @
288161         2019-06-12 22:52:33 UTC
288162
288163         · a92836b    Merge    pull   request   #53408   from   s0undt3ch/hot‐
288164           fix/fix-pkg-reqs-2019.2.1
288165
288166         · 19629a0       Fix        unit.templates.test_jinja.TestCustomExten‐
288167           sions.test_http_query
288168
288169         · 5aee99b Take into account the packaging requirements for OSX
288170
288171         · b9618f6 Take into account the packaging requirements for windows
288172
288173         · ff63ae4 Stop compiling static TCP requirements.
288174
288175           · 62e590b Update file.chattr
288176
288177       · PR  #53165:  (Ch3LL)  Update  ami's  used  for  windows cloud tests @
288178         2019-06-11 15:54:41 UTC
288179
288180         · ab9fe46 Merge pull request #53165 from Ch3LL/ami_window_cloud
288181
288182         · 1d0b0a6 Merge branch '2019.2.1' into ami_window_cloud
288183
288184         · a77a05c Merge branch '2019.2.1' into ami_window_cloud
288185
288186         · a1204dc Merge branch '2019.2.1' into ami_window_cloud
288187
288188         · d15c8f2 Merge branch '2019.2.1' into ami_window_cloud
288189
288190         · 941778f Update ami's used for windows cloud tests
288191
288192         · PR saltstack/salt#53332: (s0undt3ch) Non optional  full  test  runs
288193           for 2019.2.1 (refs: #53431)
288194
288195       · PR #53431: (dwoz) Revert "Non optional full test runs for 2019.2.1" @
288196         2019-06-10 21:44:30 UTC
288197
288198         · d806b58 Merge pull request #53431 from  saltstack/revert-53332-hot‐
288199           fix/full-test-run-2019.2.1
288200
288201         · 701218c Revert "Non optional full test runs for 2019.2.1"
288202
288203       · ISSUE  #52174: (amendlik) file.stat function not working under Python
288204         3 (refs: #53430)
288205
288206         · PR #53430: (Akm0d) Cherry-pick #52174 into 2019.2.1
288207
288208              · 7811971 Merge branch '2019.2.1' into cp-52787
288209
288210       · PR #53389: (bryceml) only keep last 10 builds of every pr on  jenkins
288211         to reduce disk usage @ 2019-06-10 17:18:48 UTC
288212
288213         · 6b800a2 Merge pull request #53389 from bryceml/2019.2.1
288214
288215         · 05368a1 Merge branch '2019.2.1' into 2019.2.1
288216
288217       · PR  #53332:  (s0undt3ch)  Non  optional full test runs for 2019.2.1 @
288218         2019-06-10 15:51:41 UTC
288219
288220         · fe18c40   Merge   pull   request   #53332    from    s0undt3ch/hot‐
288221           fix/full-test-run-2019.2.1
288222
288223         · 2372733 Merge branch '2019.2.1' into hotfix/full-test-run-2019.2.1
288224
288225         · f8bd47b Merge branch '2019.2.1' into hotfix/full-test-run-2019.2.1
288226
288227         · 45c3c06 Non optional full test runs for 2019.2.1
288228
288229              · 928b05f only fetch pr target branch instead of all branches to
288230                save time and disk space
288231
288232              · ccc6106 only keep last 10 builds of every  pr  on  jenkins  to
288233                reduce disk usage
288234
288235                    · b970bde Merge branch '2019.2.1' into cp-52787
288236
288237       · PR #53287: (twangboy) Fix win system @ 2019-06-06 23:35:47 UTC
288238
288239         · d0810d7 Merge pull request #53287 from twangboy/fix_win_system
288240
288241         · 0fc88fb Add TypeError
288242
288243         · 5b4160d Try NumberOfEnabledCores
288244
288245         · 49cbfd4 Add a note about skipping unavailable items
288246
288247         · 044b56b Fix get_system_info for older versions of Windows
288248
288249       · ISSUE #52173: (amendlik) file.directory fails to check directory per‐
288250         missions correctly (refs: #53385)
288251
288252         · PR #53385: (Akm0d) Check dir_mode recursively in file.directory
288253
288254       · PR #53386: (dwoz) Fix missing import @ 2019-06-06 20:45:59 UTC
288255
288256         · cf98b83 Merge pull request #53386 from dwoz/missing_import
288257
288258         · a23d6d9 Fix missing import
288259
288260       · ISSUE #49559: (zyguy) Salt-cloud - proxmox driver - returns  Attribu‐
288261         teError: 'generator' object has no attribute 'next' (refs: #53240)
288262
288263         · PR #53240: (FireGrace) change .next() to next() py2=>py3 leftover
288264
288265       · ISSUE #53274: (Ch3LL) integration.states.test_pkg failing on amazon 1
288266         py2 (refs: #53323)
288267
288268       · PR #53323: (dmurphy18) Fix for issue #53274, test on Amazon Linux 1 @
288269         2019-06-06 17:31:18 UTC
288270
288271         · 18991f9 Merge pull request #53323 from dmurphy18/fix_53274
288272
288273         · 6814852 Merge branch '2019.2.1' into fix_53274
288274
288275         · bb6c97a Merge branch '2019.2.1' into fix_53274
288276
288277         · b84833d Merge branch '2019.2.1' into fix_53274
288278
288279         · 7085f36  Fixed  pylint  issue  on  PR  not  showing when run pylint
288280           locally
288281
288282         · 1200031 Updated to use package bash-doc if  Amazon  Linux  1  after
288283           review comments
288284
288285         · b2a4a5e Fix for issue #53274, test on Amazon Linux 1
288286
288287         · PR  #53356: (Akm0d) Updated paramiko to version 2.2.3 for python3.7
288288           support
288289
288290       · ISSUE #53137: (bryceml) update doc pr's to be built using python3 and
288291         sphinx 2.0.1 (refs: #53273)
288292
288293       · PR  #53273:  (s0undt3ch)  [2019.2.1] Switch docs building under Py3 @
288294         2019-06-05 10:01:03 UTC
288295
288296         · 1cf57e9   Merge   pull   request   #53273    from    s0undt3ch/hot‐
288297           fix/py3-nox-docs-2019.2.1
288298
288299         · 98653c0  Allow  docs  to be built on Python >= 3.5, not just Python
288300           3.6
288301
288302         · c54f06f Have sphinx turn errors into warnings
288303
288304         · 07f4327 Switch docs building under Py3
288305
288306       · PR #53361: (s0undt3ch) [2019.2.1] Only make a new log record if  it's
288307         a dictionary.  @ 2019-06-05 09:56:15 UTC
288308
288309         · dfd36a2 Merge pull request #53361 from s0undt3ch/hotfix/fix-mp-log‐
288310           ging-2019.2.1
288311
288312         · d70d61f Fully revert 962b11687
288313
288314       · ISSUE  #53171:  (twangboy)   integration.states.test_network.Network‐
288315         Test.test_managed (refs: #53351)
288316
288317       · PR  #53351:  (waynew)  Add  checks  for  Amazon  Linux to ip module @
288318         2019-06-04 19:25:58 UTC
288319
288320         · 5efb670  Merge  pull  request  #53351  from   waynew/53171-fix-net‐
288321           work-managed
288322
288323         · e801afe Add checks for Amazon Linux to ip module
288324
288325       · PR   #53242:   (s0undt3ch)  [2019.2.1]  newer  msgpack  ipc  fixes  @
288326         2019-06-03 23:39:09 UTC
288327
288328         · PR #52934: (twangboy) Update msgpack calls for newer msgpack (refs:
288329           #53242)
288330
288331         · PR #52755: (dwoz) Fix non raw msg pack msg decoding (refs: #53242)
288332
288333         · PR  #52488:  (terminalmage)  Fix  deprecation warning in msgpack >=
288334           0.5.2 (2018.3) (refs: #52755)
288335
288336         · PR #52487: (terminalmage) Fix deprecation  warning  in  msgpack  >=
288337           0.5.2 (develop) (refs: #53242)
288338
288339         · ce5d79a   Merge  pull  request  #53242  from  s0undt3ch/hotfix/msg‐
288340           pack-ipc-2019.2.1
288341
288342         · d27a524 Merge branch '2019.2.1' into hotfix/msgpack-ipc-2019.2.1
288343
288344       · PR #53289: (cmcmarrow) stops pylint E1120 from showing  @  2019-06-01
288345         04:57:27 UTC
288346
288347         · df448c2   Merge  pull  request  #53289  from  cmcmarrow/test_kuber‐
288348           netes_lint_failures_silenced
288349
288350         · 03eacac Merge  branch  '2019.2.1'  into  test_kubernetes_lint_fail‐
288351           ures_silenced
288352
288353       · PR  #53304:  (s0undt3ch)  [2019.2.1] Refactor Jenkins PR pipelines to
288354         download artifacts after timeout @ 2019-05-31 17:10:19 UTC
288355
288356         · 6fac22b  Merge  pull  request  #53304  from  s0undt3ch/hotfix/jenk‐
288357           ins-pipelines-refactor-2019.2.1
288358
288359         · 6e778ef  Refactor  Jenkins PR pipelines to download artifacts after
288360           timeout
288361
288362       · PR #53297: (s0undt3ch) [2019.2.1] The TCP transport needs  the  exact
288363         same requirements as the ZeroMQ one @ 2019-05-30 19:42:29 UTC
288364
288365         · d359513  Merge pull request #53297 from s0undt3ch/hotfix/tcp-trans‐
288366           port-tests
288367
288368         · bec7fa5 The TCP transport needs the exact same requirements as  the
288369           ZeroMQ one
288370
288371         · f93e7d3 stops pylint E1120 from showing
288372
288373         · cbe6423 stops pylint E1120 from showing
288374
288375         · c5a5d43 test_kubernetes_lint_failures_silenced
288376
288377         · b838395 test_kubernetes_lint_failures_silenced
288378
288379         · 997d0a8 stops pylint E1120 from showing
288380
288381           · 5542fa8 Add the missing, and required, top pillar file.
288382
288383           · 0ae2ef0 Under Py2 we still want raw to be set to True
288384
288385           · 714d663 Re-submit #52934 fixed after being reverted in #52755
288386
288387           · 243b512 Update msgpack calls for newer msgpack
288388
288389                · 0f9077b Merge branch '2019.2.1' into cp-52787
288390
288391       · PR  #53264:  (s0undt3ch)  [2019.2.1]  Minion blackout tests - Add the
288392         missing, and required, top pillar file @ 2019-05-29 07:30:45 UTC
288393
288394         · 50e31ec Merge pull request #53264 from s0undt3ch/2019.2.1
288395
288396         · acabb70 Merge branch '2019.2.1' into 2019.2.1
288397
288398       · PR #52966: (s0undt3ch) Always run the full test suite on the 2019.2.1
288399         release branch @ 2019-05-28 15:43:12 UTC
288400
288401         · 749c626    Merge    pull   request   #52966   from   s0undt3ch/hot‐
288402           fix/full-test-run
288403
288404         · 247c461 Always run the full test  suite  on  the  2019.2.1  release
288405           branch
288406
288407       · PR #53138: (frogunder) vultr cloudtest fix @ 2019-05-28 14:34:22 UTC
288408
288409         · a7afd31     Merge     pull     request    #53138    from    frogun‐
288410           der/fix_vultr_cloudtest
288411
288412         · 9f4550c vultr cloudtest fix
288413
288414           · 912b9b3 Add the missing, and required, top pillar file.
288415
288416                · 9d21b75 Merge branch '2019.2.1' into cp-52787
288417
288418       · PR #53258: (s0undt3ch) [2019.2.1] Fix multiprocessing  logging  queue
288419         dict changing during iteration errors @ 2019-05-27 19:26:27 UTC
288420
288421         · d011beb Merge pull request #53258 from s0undt3ch/2019.2.1
288422
288423         · ad01dd2 More robust minion blackout tests
288424
288425         · a0346d1 Try harder to get the minion grains
288426
288427         · 36717bd Try and address the test flakyness
288428
288429         · ce07d8c Add more information when the assertion fails
288430
288431         · b99e914 Attempt to fix mine tests
288432
288433         · fca981c One more known to return None
288434
288435         · 951df48 One more known to return None
288436
288437         · eb5fd3e   Fix  integration.modules.test_mine.MineTest.test_get  for
288438           sub_minion
288439
288440         · 26314f5 Fix multiprocessing  logging  queue  dict  changing  during
288441           iteration errors
288442
288443       · PR  #53153:  (s0undt3ch)  [2019.2.1]  Add  Amazon  Linux 2018.3 and 2
288444         static requirements @ 2019-05-27 12:02:20 UTC
288445
288446         · b69e080 Merge pull request #53153 from s0undt3ch/2019.2.1
288447
288448         · 166067c Use currentBuild.resultIsBetterOrEqualTo instead
288449
288450         · cefdd90 Stop error messages about missing  roster  file  on  syndic
288451           master
288452
288453         · 6bf8f46  Don't  complain  when  attempting to close sockets at this
288454           stage
288455
288456         · e3f3cc9 Add Amazon Linux 2018.3 and 2 static requirements
288457
288458         · 872acc0 Switch the ubuntu-14.04 exception with amzn-1
288459
288460         · PR saltstack/salt#52934: (twangboy) Update msgpack calls for  newer
288461           msgpack (refs: #53235)
288462
288463       · PR  #53235:  (s0undt3ch)  Revert "Update msgpack calls for newer msg‐
288464         pack" @ 2019-05-24 13:35:20 UTC
288465
288466         · 14aeeea    Merge     pull     request     #53235     from     salt‐
288467           stack/revert-52934-fix_msgpack
288468
288469         · 3295aea Revert "Update msgpack calls for newer msgpack"
288470
288471       · PR   #53131:   (s0undt3ch)   [2019.2.1]   Update   to  salt-bootstrap
288472         v2019.05.20 @ 2019-05-24 07:45:57 UTC
288473
288474         · 6923427   Merge   pull   request   #53131    from    s0undt3ch/hot‐
288475           fix/update-bootstrap-2019.2.1
288476
288477         · 4cce4f4    Merge   branch   '2019.2.1'   into   hotfix/update-boot‐
288478           strap-2019.2.1
288479
288480         · 6751ee1   Merge   branch   '2019.2.1'   into    hotfix/update-boot‐
288481           strap-2019.2.1
288482
288483         · 6988e07 Update to salt-bootstrap v2019.05.20
288484
288485       · PR  #52934:  (twangboy) Update msgpack calls for newer msgpack (refs:
288486         #53242) @ 2019-05-23 23:18:23 UTC
288487
288488         · a61db20 Merge pull request #52934 from twangboy/fix_msgpack
288489
288490         · f02a12e Merge branch '2019.2.1' into fix_msgpack
288491
288492         · 7e2cd34 Merge branch '2019.2.1' into fix_msgpack
288493
288494         · bc9ce8e Merge branch '2019.2.1' into fix_msgpack
288495
288496         · 0abd1ec Update msgpack calls for newer msgpack
288497
288498              · 3366d59 update pylint exceptoin
288499
288500              · 6c452b3 removing unwanted commits from this branch
288501
288502              · e0b0ba8 Handling in flaky  when  maximum  number  of  attempts
288503                raised   and   the  exception  should  be  raised.   Different
288504                approaches depending on Py2 vs Py3.
288505
288506              · 434dcda Disabling two tests when using Python 3 and OS X
288507
288508              · 5784e80    Disabling     integration.shell.test_minion.Minion‐
288509                Test.test_issue_7754  test  on  OS X because it hangs the test
288510                suite.
288511
288512              · 78aeb61 Dropping the version check for InstallationError  down
288513                to  anything 1.0 or greater.  Removing the test that simulates
288514                versions of pip below 1.0.
288515
288516              · 4ec90c2 Adding an jinja if statement to only the python param‐
288517                eter  if  the  result  from  get_python_executable  is a valid
288518                value.  Maintaining backwards compatibilty to run tests  with‐
288519                out Nox.
288520
288521       · PR #53192: (twangboy) Skip test_gen_hash test on Windows @ 2019-05-23
288522         05:33:13 UTC
288523
288524         · 8a57270 Merge pull request #53192 from twangboy/skip_test_gen_hash
288525
288526         · 758d020 Skip test on Windows
288527
288528       · PR  #53157:  (twangboy)  Fix  unit.modules.test_win_file.WinFileTest‐
288529         Case.test_issue_52002_check_file_remove_symlink @ 2019-05-22 22:32:26
288530         UTC
288531
288532         · 446e70c    Merge    pull     request     #53157     from     twang‐
288533           boy/fix_test_win_file_symlink
288534
288535         · 5672076 Merge branch '2019.2.1' into fix_test_win_file_symlink
288536
288537       · PR  #53141:  (Ch3LL)  Check  for all non-word characters when calling
288538         secure_password @ 2019-05-22 17:24:54 UTC
288539
288540         · 6fbe9aa Merge pull request #53141 from Ch3LL/shadow_fed_fix
288541
288542         · a3c4066 Merge branch '2019.2.1' into shadow_fed_fix
288543
288544       · PR #53161: (Ch3LL) Add HAS_REQUIRED_CRYPTO var for m2crypto in joyent
288545         @ 2019-05-22 13:36:07 UTC
288546
288547         · fb29512 Merge pull request #53161 from Ch3LL/joyent_m2crypto
288548
288549         · 08d03e0 Add HAS_REQUIRED_CRYPTO var for m2crypto in joyent
288550
288551         · 16ef3d2 Merge branch '2019.2.1' into shadow_fed_fix
288552
288553         · 09ff867 Check for all non-word when calling secure_password
288554
288555           · 334c93b Elevate token before creating symlink
288556
288557       · PR  #53073:  (Ch3LL)  salt-ssh:  python  binary exists before version
288558         check @ 2019-05-20 22:36:34 UTC
288559
288560         · 85e9b2f Merge pull request #53073 from Ch3LL/ssh_py3_log
288561
288562         · 383e781 Improve logging in salt-ssh gen_thin
288563
288564         · 4371434 salt-ssh: python binary exists before version check
288565
288566       · PR #52957: (Ch3LL) Set default_flow_style=None in yaml.dump  calls  @
288567         2019-05-16 19:42:35 UTC
288568
288569         · bd02ea6 Merge pull request #52957 from Ch3LL/yaml_flow_style
288570
288571         · 5f6581a Merge branch '2019.2.1' into yaml_flow_style
288572
288573       · PR  #53072:  (Ch3LL)  Backport  #52754  into  2019.2.1  @  2019-05-16
288574         19:29:22 UTC
288575
288576         · PR #52754:  (garethgreenaway)  [2018.3]  Fixes  to  multiprocessing
288577           queue when using MacOS (refs: #53072)
288578
288579         · f410346 Merge pull request #53072 from Ch3LL/bp-52754-2019.2.1
288580
288581         · 13e5e55  The  maximum  for  the  multiprocessing  queue on MacOS is
288582           32767, so if we running on MacOS then we use that maximum.
288583
288584       · ISSUE   #52817:   (waynew)    unit.modules.test_telegram.TelegramMod‐
288585         uleTest.test_post_message (refs: #52972)
288586
288587       · PR    #52972:   (garethgreenaway)   [2019.2.1]   Fix   to   unit.mod‐
288588         ules.test_telegram @ 2019-05-15 07:50:13 UTC
288589
288590         · 06fa91b   Merge   pull    request    #52972    from    garethgreen‐
288591           away/52817_unit_modules_test_telegram_telegrammod‐
288592           uletest_test_post_message
288593
288594         · cea7131 Removing global declaration.
288595
288596         · 5bf9a95 Fixing lint.
288597
288598         · 4d3c46d fixing broken unit.modules.test_telegram test.
288599
288600       · PR  #53025:  (Ch3LL)  Change  package  name  for  suse  pkg  tests  @
288601         2019-05-15 07:41:44 UTC
288602
288603         · d340cbc Merge pull request #53025 from Ch3LL/suse15_pkg_test
288604
288605         · 0a213ee Change package name for suse pkg tests
288606
288607       · PR  #53020: (Ch3LL) Change ssh tops log message to debug @ 2019-05-14
288608         16:56:42 UTC
288609
288610         · c56fbb0 Merge pull request #53020 from Ch3LL/ssh_tops
288611
288612         · cbbc764 Merge branch '2019.2.1' into ssh_tops
288613
288614       · PR  #52973:  (twangboy)  Fix   integration.states.test_pip_state.Pip‐
288615         StateTest.test_issue_2028_pip_installed_state on Windows @ 2019-05-13
288616         20:56:28 UTC
288617
288618         · ce099aa Merge pull request #52973 from twangboy/fix_test_pip_state
288619
288620         · 21838a1 Merge branch '2019.2.1' into fix_test_pip_state
288621
288622       · PR #52986: (Ch3LL) Revert "Make sure --run-expensive runtests.py  arg
288623         works" @ 2019-05-13 19:38:17 UTC
288624
288625         · 055d374 Merge pull request #52986 from Ch3LL/expensive_revert
288626
288627         · 368c012 Revert "Make sure --run-expensive runtests.py arg works"
288628
288629         · cce263e Merge branch '2019.2.1' into fix_test_pip_state
288630
288631         · 351d415 Return path to Python instead of None
288632
288633           · c0538d2 Change ssh tops log message to debug
288634
288635           · e317186 Merge branch '2019.2.1' into yaml_flow_style
288636
288637       · PR  #52968:  (s0undt3ch) [2019.2.1] Salt >= 2018.3.x supports Py3.7 @
288638         2019-05-12 21:44:57 UTC
288639
288640         · ee05da5 Merge pull request #52968 from s0undt3ch/2019.2.1
288641
288642         · 73c3726 Salt >= 2018.3.x supports Py3.7
288643
288644       · ISSUE  #50310:  (xuhcc)  acme.cert  falsely  reports  changes  (refs:
288645         #50400)
288646
288647       · PR  #52796:  (Ch3LL)  Backport  #50400  and  #50402  into  2019.2.1 @
288648         2019-05-10 19:30:12 UTC
288649
288650         · PR #50402: (xuhcc) Fix typo in salt.modules.acme (refs: #52796)
288651
288652         · PR #50400: (xuhcc) Fix  incorrect  change  reporting  in  acme.cert
288653           (refs: #50402, #52796)
288654
288655         · cae51c2 Merge pull request #52796 from Ch3LL/bp-50400
288656
288657         · 0c2e3e7 Merge branch '2019.2.1' into bp-50400
288658
288659         · 1268e3e Merge branch '2019.2.1' into bp-50400
288660
288661         · 09fa9e3 Fix typo
288662
288663         · 9be5c0c Fix incorrect change reporting in acme.cert
288664
288665              · 9a27fb3 Merge branch '2019.2.1' into yaml_flow_style
288666
288667       · PR         #52770:        (twangboy)        Fix        test_file_man‐
288668         aged_should_fall_back_to_binary on Windows @ 2019-05-09 20:35:02 UTC
288669
288670         · 20cccd8 Merge pull request #52770 from twangboy/fix_test_file
288671
288672         · ac27e69 Merge branch '2019.2.1' into fix_test_file
288673
288674         · 30a5093 Merge branch '2019.2.1' into fix_test_file
288675
288676         · c08b10d Merge branch '2019.2.1' into fix_test_file
288677
288678         · 340ee23 Pass encoding to _validate_str_list
288679
288680              · 0d0e354 Fix yamldumper test for both py2/py3
288681
288682              · 20bc954 Update docs for yamldumper test
288683
288684              · bf648e5 Update tests/unit/utils/test_yamldumper.py
288685
288686              · 70d578a Set default_flow_style=None in yaml.dump calls
288687
288688       · PR #52943: (Ch3LL) Fix elasticsearch  state  module:  allow  user  to
288689         define empty aliases @ 2019-05-09 15:46:38 UTC
288690
288691         · 4437764 Merge pull request #52943 from Ch3LL/fix_elastisearch
288692
288693         · 451fb7e Merge branch '2019.2.1' into fix_elastisearch
288694
288695         · ebff9b9  Fix elasticsearch state module: allow user to define empty
288696           aliases
288697
288698       · PR #52952: (s0undt3ch) [2019.2.1] More nox changes and test  fixes  @
288699         2019-05-09 15:03:07 UTC
288700
288701         · 9b290b6   Merge   pull  request  #52952  from  s0undt3ch/merge-for‐
288702           ward/2018.3-to-2019.2.1-cherry
288703
288704         · a06d7ce We need to call the decorator
288705
288706         · 77185af Partial revert since this is a class method
288707
288708         · f5c5771 Lint fixes
288709
288710         · 3e43c87 Revert "fix compare_versions method"
288711
288712         · 0e139bf Fix GOLDEN_IMAGES_CI_BRANCH value
288713
288714         · 12a9408 Add Py3.7 static requirements
288715
288716         · 8e505fb Move tests to existing test modules
288717
288718         · 4681609    tests/unit/config/__init__.py     ->     tests/unit/con‐
288719           fig/test_config.py
288720
288721         · b1dc7f6       Pin       to       moto<=1.3.7       because       of
288722           https://github.com/spulec/moto/pull/1952
288723
288724         · 0ffe7ca We no longer test againt Ubuntu 14.04 which reached EOL
288725
288726         · 33743fc Don't traceback when trying to close a closed socket
288727
288728         · da2e147 Always cleanup the changed environ
288729
288730         · 087c74d No globals in tests, specially dictionaries!
288731
288732         · a814fc0 Fix underscore wart (and linter)
288733
288734         · 74b8f5f Fix deprecation warning in msgpack >= 0.5.2
288735
288736         · 962b116 Try to address dict changing during iteration
288737
288738         · c58af57 Tweak codeclimate settings for less noise
288739
288740         · 5bb7869 fix linter
288741
288742         · 0b81841 Cherry-pick test fix
288743
288744         · 99f9e1c fix compare_versions method
288745
288746       · PR  #52853:  (s0undt3ch)  [2019.2.1]  Bring  nox  into   2019.2.1   @
288747         2019-05-09 09:52:42 UTC
288748
288749         · a510edf   Merge   pull  request  #52853  from  s0undt3ch/merge-for‐
288750           ward/2018.3-to-2019.2.1-cherry
288751
288752         · a8f7b46 Test is not destructive.
288753
288754         · 63663cf We no longer test againt Ubuntu 14.04 which reached EOL
288755
288756         · 62574ee Typo
288757
288758         · e3e3761 Proper english in requirements comments
288759
288760         · e9f6a12 identical_signature_wrapper adds  __wrapped__  to  function
288761           globals
288762
288763         · 10283b4 Upload coverage reports on full test runs
288764
288765         · 6e0b61b Less flaky mine tests
288766
288767         · 3709ed7 msgpack returns string_types
288768
288769         · a36b15e Add regression test
288770
288771         · ce782ff Fix non raw msg pack msg decoding
288772
288773         · f193f0f Update Issue Template: questions removed
288774
288775         · 4417095 Fix underscore wart (and linter)
288776
288777         · e6c2ae4 Fix deprecation warning in msgpack >= 0.5.2
288778
288779         · 6375944 Add ubuntu1804 to pr tests
288780
288781         · 8fdb04d SIGKILL is not alwasy available use a local variable
288782
288783         · 4d6b8da Fix linter
288784
288785         · 759bccc Fix test_doc on windows by using grep yay!
288786
288787         · 0ce086d Fix remaining failures on ubuntu 1404 and add to PR tests
288788
288789         · fdf80fd Change py3 windows timeout from 6 to 8 hours
288790
288791         · b0aa287 Fix missing class wart
288792
288793         · 21ecb74 fix linter
288794
288795         · 62c0f9f Skip tests when no libcloud
288796
288797         · 1d92290 Fix unused import
288798
288799         · 72cdc91 Fix linter
288800
288801         · 238fd0f Fix broken pip state
288802
288803         · 89533ba Fix NOX_ENV_NAME
288804
288805         · 7cfc9e8 Fix NOX_ENV_NAME
288806
288807         · 2087c91 Fix NOX_ENV_NAME
288808
288809         · 2f1aff5 Rename kitchen-centos6-py3 to kitchen-centos6-py2
288810
288811         · 1eea990 Fix linter
288812
288813         · 52ca668 Skip tests when no libcloud
288814
288815         · 2cf4b98 Add centos-6-py2 and debain 8,9 py2 and 3 to PR tests
288816
288817         · 522599d Dont fail just because some random process died
288818
288819         · 34cef86 Ignore super not called
288820
288821         · b7ace9c Fix linter
288822
288823         · aceb6d3 Skip libcloud unit tests when no libcloud
288824
288825         · f73420b Install mock on Python < 3.6
288826
288827         · 28fbde1 Add moto to the windows dependencies
288828
288829         · 8cbecc1 Pin kubernetes to <4.0
288830
288831         · 2acb0f3 Make sure --run-expensive runtests.py arg works
288832
288833         · 22cae20 Remove ref restriciton from kitche-salt
288834
288835         · 67095df Add 'runFull' build parameter for PR tests
288836
288837         · 12d8d35 Stop w32time before and start after testing
288838
288839         · 7f1c22c Skip tests that fail on Windows
288840
288841         · f4ae97f Upgrade etcd to > 0.4.2
288842
288843         · 381f5fe  Limit  and reduce the ammount of log records sent over the
288844           wire
288845
288846         · 0c94b5d More entries to ignore
288847
288848         · c3a21f5 As a script, not as a module
288849
288850         · 8948b69 Include COVERAGE_FILE as an env variable.
288851
288852         · 0af561e Each generated script is now prepared for code coverage
288853
288854         · 294d6f4 Use the system's path separator
288855
288856         · e52ab87 Always combine and generate the XML coverage report
288857
288858         · 666ca9f Fix proxy minion startup issue on the test suite
288859
288860         · 7838ace impacket does not support Py3
288861
288862         · ba8d0fe Allow --install-only to gather the required information
288863
288864         · eed7d68 Create nox lint virtualenvs before running them
288865
288866         · e9e57cf Syndic roster not in 2017.7.9
288867
288868         · 111c63a4d Create the roster even when not running ssh
288869
288870         · 11c02a0 Fix unit.test_loader.LoaderGlobalsTest.test_states
288871
288872         · 8694db1 Fix windows tests
288873
288874         · 82e9ac5 Avoid race condition in even assertions
288875
288876         · 9443451 Revert part of 927219c since it is not a fix
288877
288878         · 5fee762 Fix timeout logic
288879
288880         · 517650f check timeout when queue empty
288881
288882         · 7c0a9af fix linter
288883
288884         · 961dc40 Ignore missing variable in six module
288885
288886         · 0f5a7f0 Fix typo
288887
288888         · 6c8c418 Do not limit event assert to first event
288889
288890         · 3042292 Wait longer for ping reaction
288891
288892         · 8c10f5f Fix xml block causing docs to fail
288893
288894         · 6e5768a Add a nox session for the Jenkins tornado jobs
288895
288896         · 43321e8 Add a cloud nox session for both runtests and pytest
288897
288898         · b6b4e95 Lint cleanup
288899
288900         · 0670614 Add tests for wraps
288901
288902         · 1670b5d Use functools.wraps with decorators
288903
288904         · 5ae263c Update static requirements for 2018.3 branch
288905
288906         · 3482c4d Disable code coverage uploads.
288907
288908         · 0e5bc67 Lint fixes
288909
288910         · 337c737 Update CI jobs to point to 2018.3
288911
288912         · 72e8603 Skip test if required cypto libs are not available
288913
288914         · e6bc9f8 Default to Cryptodome, fallback to PyCrypto
288915
288916         · b2b0764 Be aware of the different path separators
288917
288918         · 7e79b18 We need to make sure the virtualenv path entry  is  removed
288919           when searching
288920
288921         · ff6d3c6 We don't need to be root to run these tests
288922
288923         · 5965ab4 Disable progress bars on pip installs
288924
288925         · f86a44e  Use  the real python executable path when running within a
288926           virtualenv
288927
288928         · 3d407e8 Add a helper to return the path to  the  real  pytohn  exe‐
288929           cutable
288930
288931         · ea9d246  We  must  also provide venv_bin when running within a vir‐
288932           tualenv
288933
288934         · 31e91b0 Fix pip tests, in particular under windows
288935
288936         · 493f493 Don't fail if pkg_resources is not importable
288937
288938         · a1eb400 Specify the SHA we need
288939
288940         · 0b01f21 Let's fully unload pip
288941
288942         · 0b6f848 Fix docker entries
288943
288944         · 870b899 Remove unused argument
288945
288946         · 1656cb4 Disable re-runing failed tests for now
288947
288948         · 6db4141 Also ignore multiprocessing coverage files
288949
288950         · 83dc97d Actually write the lint reports.
288951
288952         · 5f97270 Try to make sure some pip  internal  functions  are  always
288953           present in sys.modules after reloads
288954
288955         · 0090c55 Try and address the fact that some python packages are only
288956           provided by the distro
288957
288958         · 4a072fe These tests aren't destructive
288959
288960         · 5c7a956 Don't fail the build if the issue was sending a slack noti‐
288961           fication
288962
288963         · 361ef6e Don't try to change ownership on non existing paths
288964
288965         · 7b17352 More insight(context) on failure reports
288966
288967         · 93b6b95  Lock supervisor to 3.3.5, last kown working(passing tests)
288968           version
288969
288970         · 51114aa Watch out for too long shebang's
288971
288972         · d97fe82 The output is important to know why it failed.
288973
288974         · 9fef385 Strings and integers are not comparable under Python 3
288975
288976         · d308dce Be verbose in a CI context
288977
288978         · 8b7105e Fix failed tests re-run logic
288979
288980         · d6d8db1 Blacklist enum34 on Py>=3.4. Update requirements.
288981
288982         · 1cd00c0 Update PR CI jobs for nox
288983
288984         · 19a83d5 Blacklist pycrypto and install pycryptodome instead
288985
288986         · 91376b3 Ignore the generated docs archive
288987
288988         · 207b83a Update compiled requirements
288989
288990         · 535e7a7 Add TCP transport nox sessions
288991
288992         · 680b3e5 Compile requirements for the TCP transport
288993
288994         · 49a1ebe Throw error when running either on Py<2.7 or Py>=3.7
288995
288996         · 10528b9 Don't repeat filed tests on missing/empty failed test files
288997           file
288998
288999         · 4886809 We currently only support running lint under Py2.7
289000
289001         · a76981b Remove dead code
289002
289003         · 7b2c1ce Don't require six
289004
289005         · a27ed35 Add nox env to build docs
289006
289007         · e1b3f1d Lock docs python requirements
289008
289009         · c8de644 Fix lint issues under tests
289010
289011         · 0372718 Fix lint issues on salt
289012
289013         · 9eab9f4  Add  nox  session/env/target  to run lint against Salt and
289014           it's test suite
289015
289016         · 123f771 Lock lint requirements
289017
289018         · 8df33ad Back to +apache-libcloud==1.0.0 and skip windows for now
289019
289020         · 43e3ae6 Bump apache-libcloud requirement  because  1.0.0  fails  to
289021           install on windows
289022
289023         · d5f7813  Remove requiremens for platforms which aren't tested under
289024           Py3
289025
289026         · 8f02ee9 Recompile requirements
289027
289028         · 66626f2 Remove pycryptodome from compiled requirements files
289029
289030         · 75693e5 Use pycryptodomex on windows and PyCrypto on the rest
289031
289032         · 4a9c19c Update(fix) requirements
289033
289034         · 33a3467 We don't test OSX nor Windows under Py3.4
289035
289036         · fd44fce We want a more verbose pip-compile output
289037
289038         · c2ae2d5 We now compile requirements for each of the supported minor
289039           version
289040
289041         · 6ee1260  Static  requirements  are  now placed on py<major>.<minor>
289042           subdirectories
289043
289044         · 3504804 The required crypto library is pulled in from zeromq.txt or
289045           raet.txt
289046
289047         · 3ffe03c PyZMQ is pulled in from zeromq.txt
289048
289049         · 7c2fe16 Instead of quoting session parameters, proxy nox sessions
289050
289051         · d3ae77b Add separate crypto sessions
289052
289053         · 0399620 Parametrize the transport
289054
289055         · d33fd03 Update/Generate static requirements to new layout
289056
289057         · 52ac533 Add pre-commit config to generate static requirements
289058
289059         · 3cfcb13 Be aware of the new static requirements layout
289060
289061         · dc7e16a  Don't  lock the docker requirement. It's not locked on the
289062           other platforms
289063
289064         · 5476ba2 Kubernetes  3.0.0  does  include  the  requirements  files.
289065           pip-compile chokes on that
289066
289067         · 79a8261 Previously generated requirements were py2 only
289068
289069         · 1e29666 IOFLO is pulled in from the raet requirements
289070
289071         · 4945e35 Fix pylint on 2017.7.9
289072
289073         · 036bf68 Rerun failed tests
289074
289075         · 03a9601 Ignore .nox directory
289076
289077         · 50cb630 We have long files
289078
289079         · db2392f Update CodeClimate settings
289080
289081         · 899c80e Fix integration.client.test_kwarg test timeouts
289082
289083       · ISSUE       #52836:       (Ch3LL)      unit.utils.test_args.ArgsTest‐
289084         Case.test_argspec_report failing (refs: #52852)
289085
289086       · PR     #52852:     (garethgreenaway)     [2019.2.1]     Fixes      to
289087         unit.utils.test_args.test_argspec_report @ 2019-05-07 19:25:48 UTC
289088
289089         · 77355e2    Merge    pull    request    #52852   from   garethgreen‐
289090           away/52836_test_argspec_report_failing
289091
289092         · eee5a38        Merge         branch         '2019.2.1'         into
289093           52836_test_argspec_report_failing
289094
289095       · PR  #52845:  (Ch3LL)  Backport  #52780  into  2019.2.1  @  2019-05-07
289096         16:27:21 UTC
289097
289098         · PR  #52780:  (sbrennan4)  Handle  ipv6  in  _netlink_tool_remote_on
289099           (refs: #52845)
289100
289101         · dcc5fde Merge pull request #52845 from Ch3LL/bp-52780
289102
289103         · dfff09b Merge branch '2019.2.1' into bp-52780
289104
289105       · PR #52851: (Ch3LL)  Reload matcher loader when ext_pillar_first set @
289106         2019-05-07 13:12:07 UTC
289107
289108         · 2e4f296 Merge pull request #52851 from Ch3LL/matcher_ext_pillar
289109
289110         · bdcae5d Add docs for new reload kwarg
289111
289112         · fc70884 Reload matcher loader when ext_pillar_first set
289113
289114         · 8ac74e2 Merge branch '2019.2.1' into bp-52780
289115
289116         · 226c7ce Merge branch '2019.2.1' into bp-52780
289117
289118         · c1eae84 Add test
289119
289120         · 69fe65b Use rsplit
289121
289122              · 8fdc48c     Removing      create_autospec      and      having
289123                salt.utils.args.argspec_report   run  against  the  _test_spec
289124                function directly.  Depending  on  the  python  version,  cre‐
289125                ate_autospec  gives  different  results  and cause the test to
289126                fail.  The test is now more accurate at testing the  arguments
289127                for the function.
289128
289129       · PR  #52842:  (s0undt3ch)  libcrypto.OpenSSL_version_num  might  be  a
289130         callable @ 2019-05-06 17:00:37 UTC
289131
289132         · cc7a0d1 Merge pull request #52842 from s0undt3ch/2019.2.1
289133
289134         · a944017 libcrypto.OpenSSL_version_num might be a callable
289135
289136       · PR #52839: (twangboy) Add support for EC2 @ 2019-05-04 17:28:54 UTC
289137
289138         · b625a6a Merge pull request #52839 from twangboy/fix_test_grain
289139
289140         · 1c9b372 Add support for EC2
289141
289142       · ISSUE #51982: (arsiesys) topic (minion_id) need to be encoded  before
289143         being hash and sent using zeroMQ (refs: #51983)
289144
289145       · PR  #52767:  (Ch3LL)  [2019.2.1] Add tests to PR  #51983 @ 2019-05-03
289146         08:35:27 UTC
289147
289148         · PR #51983: (arsiesys) encode  topic  before  using  hashlib  (refs:
289149           #52767)
289150
289151         · 6002939 Merge pull request #52767 from Ch3LL/zmq_filter_test
289152
289153         · 1ee8f37 Merge branch '2019.2.1' into zmq_filter_test
289154
289155         · d74b6ee Merge branch '2019.2.1' into zmq_filter_test
289156
289157         · 3210274 Fix linter warnings
289158
289159         · e7c9d6e increase timeout when gathering results
289160
289161         · 784786d Add zmq_filter unit tests
289162
289163         · 805c5ee encode topic before using hashlib
289164
289165       · PR  #52827:  (twangboy)  Add  pymssql dependency for Windows builds @
289166         2019-05-03 08:21:40 UTC
289167
289168         · 5996932 Merge pull request #52827 from twangboy/add_pymssql
289169
289170         · 6f0b8e2 Add pymssql dependency for Windows builds
289171
289172       · ISSUE #52717: (Ch3LL) debian9 tests segmentation fault (refs: #52797)
289173
289174       · PR #52797: (garethgreenaway) [2019.2.1] Only run the  libcrypto  init
289175         if less than OpenSSL 1.1.0 @ 2019-05-03 05:12:31 UTC
289176
289177         · e3918c5    Merge    pull    request    #52797   from   garethgreen‐
289178           away/52717_debian_tests_segmentation_fault
289179
289180         · 7ab0961  Merge  branch  '52717_debian_tests_segmentation_fault'  of
289181           github.com:garethgreenaway/salt  into  52717_debian_tests_segmenta‐
289182           tion_fault
289183
289184           · f8d816e Merge branch '2019.2.1' into 52717_debian_tests_segmenta‐
289185             tion_fault
289186
289187       · PR  #52771:  (twangboy)  Fix  test_gpg  tests on Windows @ 2019-05-02
289188         13:30:18 UTC
289189
289190         · b68544f Merge pull request #52771 from twangboy/fix_test_gpg
289191
289192         · c7f45c2 Pass encoding to stringutils.to_unicode
289193
289194       · PR #52783:  (Ch3LL)  Fix  boto_apigateway  tests  for  PyYAML  5.1  @
289195         2019-05-02 13:26:34 UTC
289196
289197         · 316d05b Merge pull request #52783 from Ch3LL/fix_boto_yaml
289198
289199         · cde29cb Fix boto_apigateway tests for PyYAML 5.1
289200
289201         · 6ffbca5 Fixing lint.
289202
289203         · e24f2f8 Only run the libcrypto init if less than OpenSSL 1.1.0.
289204
289205       · PR  #52769:  (twangboy)  Remove domain grain from tests for Windows @
289206         2019-04-30 21:14:26 UTC
289207
289208         · 3509465 Merge pull request #52769 from twangboy/fix_test_core
289209
289210         · 0049f85 Remove domain grain from tests
289211
289212       · PR #52768:  (twangboy)  Remove  pchanges...  again...   @  2019-04-30
289213         20:24:27 UTC
289214
289215         · 30dc14b Merge pull request #52768 from twangboy/fix_test_win_dacl
289216
289217         · 123b607 Remove pchanges... again...
289218
289219       · PR  #52753:  (twangboy) Skip test_gen_thin_compression_fallback_py3 @
289220         2019-04-30 03:36:27 UTC
289221
289222         · 3e46f51 Merge pull request #52753 from twangboy/skip_test_gen_thin
289223
289224         · 811b381 Skip test_gen_thin_compression_fallback_py3
289225
289226       · ISSUE #52721: (Ch3LL) unit.cloud.clouds.test_ec2 test failing  (refs:
289227         #52736)
289228
289229       · PR  #52736:  (dwoz)  Skip  password decryption test when no libraries
289230         available @ 2019-04-29 17:07:56 UTC
289231
289232         · 6bfca94 Merge pull request #52736 from dwoz/ec2test
289233
289234         · 04ad027 Merge branch '2019.2.1' into ec2test
289235
289236       · PR #52624: (tanlingyun2005) fix TypeError: argument of  type  int  is
289237         not iterable @ 2019-04-29 13:15:42 UTC
289238
289239         · 9a1ed78 Merge pull request #52624 from tanlingyun2005/2019.2.1
289240
289241         · 2c6867e add test case to tests/unit/cli/test_batch.py
289242
289243         · cb7742e Merge branch '2019.2.1' into 2019.2.1
289244
289245         · c943900 Merge branch '2019.2.1' into 2019.2.1
289246
289247         · d4abddd fix TypeError: argument of type int is not iterable
289248
289249         · ed908b3 Merge branch '2019.2.1' into 2019.2.1
289250
289251         · 463b60e Merge branch '2019.2.1' into 2019.2.1
289252
289253         · 65ee219          Merge         branch         '2019.2.1'         of
289254           https://github.com/tanlingyun2005/salt into 2019.2.1
289255
289256           · f71168d Merge branch '2019.2.1' into 2019.2.1
289257
289258         · 509c797 bug fix salt/cli/batch.py
289259
289260         · 211915c fix salt/cli/batch.py TypeError: argument of  type  int  is
289261           not iterable
289262
289263         · 070ae84 fix TypeError: argument of type int is not iterable
289264
289265              · b770f96 Skip test requiring crypto when none available
289266
289267              · e52b390  Warn when password decrypton requested but not possi‐
289268                ble
289269
289270       · PR  #52696:  (Ch3LL)  Backport  #50087  into  2019.2.1  @  2019-04-25
289271         20:33:13 UTC
289272
289273         · PR  #50087:  (rbthomp) Fix applying of attributes for returner raw‐
289274           file_json (refs: #52696)
289275
289276         · 806307a Merge pull request #52696 from Ch3LL/bp-50087
289277
289278         · 66e97e7 Fix applying of attributes for returner rawfile_json
289279
289280       · PR #52659: (twangboy) Fix issues with the win_file tests @ 2019-04-22
289281         23:34:36 UTC
289282
289283         · 174f558 Merge pull request #52659 from twangboy/fix_test_win_file
289284
289285         · 915c780 Fix issues with the win_file tests
289286
289287       · PR #52655: (dwoz) Parse chattr version and fix test case @ 2019-04-22
289288         01:46:29 UTC
289289
289290         · d1a61a6 Merge pull request #52655 from dwoz/cron_test_fix
289291
289292         · e69fcc5 Fix typo
289293
289294         · 859d088 Merge remote-tracking  branch  'origin/cron_test_fix'  into
289295           cron_test_fix
289296
289297           · 7f7bb90 Merge branch '2019.2.1' into cron_test_fix
289298
289299       · PR  #52601:  (Ch3LL)  Cherry-Pick  #52415  into 2019.2.1 @ 2019-04-21
289300         19:33:03 UTC
289301
289302         · PR #52415: (Ch3LL) Backport #49832 into 2018.3 (refs: #52601)
289303
289304         · PR #49832: (terminalmage) Replace pchanges  with  changes  to  make
289305           onchanges/prereq work in test mode (refs: #52415)
289306
289307         · f7d823c Merge pull request #52601 from Ch3LL/cp-52415
289308
289309         · ecd6802 Merge branch '2019.2.1' into cp-52415
289310
289311         · 538d5cf Remove pchanges from win_dacl
289312
289313         · 81b865f use same newfile message on linux for windows file state
289314
289315         · 93bdd08 Update dict correctly in file state
289316
289317         · f3c7f27 remove pchanges for windows file modules
289318
289319         · fb3b75d Fix tests for pchanges backport into 2018.3
289320
289321         · 0f296bb Update kernelpkg test to reflect pchanges removal
289322
289323         · 885d6ff Update file.touch unit tests to reflect addition of changes
289324           in test mode
289325
289326         · 4bc5fd0 Add integration tests for test mode onchanges/prereq
289327
289328         · ed214c4 Make it possible to use prereq with test and saltmod  state
289329           mods
289330
289331         · ceb3f4d Add repack_state_returns to TestCase
289332
289333         · 982e693 Add exception logging in flaky decorator
289334
289335         · 0ba0ddf Add test mode changes to file.touch state
289336
289337         · 6db2beb  Replace  "pchanges" with "changes" to fix onchanges/prereq
289338           requisites
289339
289340              · 169c2d5 Chattr version py3 fix
289341
289342              · cf88c27 Fix linter issues
289343
289344              · 0ea007d Parse chattr version and fix test case
289345
289346       · ISSUE #52508: (Ch3LL) integration.modules.test_publish test  failures
289347         (refs: #52645)
289348
289349       · PR #52645: (dwoz) Fix salt.modules.publish and salt.states.x509 tests
289350         @ 2019-04-20 08:17:19 UTC
289351
289352         · af4f204 Merge pull request #52645 from dwoz/test_fixes
289353
289354         · 9b6f9f9 Clean up cruft
289355
289356         · c3971a5 Fix salt.modules.publish and salt.states.x509 tests
289357
289358       · PR #52629: (dwoz) Fix event assertion  race  condition  @  2019-04-19
289359         19:03:20 UTC
289360
289361         · PR  #52540:  (dwoz)  Fix  race  condition in event assertion (refs:
289362           #52629)
289363
289364         · 0a4d2d9 Merge pull request #52629 from dwoz/ping_wait_2019.2.1
289365
289366         · c001022 Fix linter
289367
289368         · 423f6f9 Fix vent assertion race condition
289369
289370       · PR  #52619:  (dwoz)  Remove  unused  method  from  pytest  engine   @
289371         2019-04-18 23:45:35 UTC
289372
289373         · 4859e6c Merge pull request #52619 from dwoz/pytest_engine_2019.2.1
289374
289375         · 105784a Remove unused method from pytest engine
289376
289377       · PR  #52614:  (Ch3LL)  [2019.2.1] Update integration.modules.test_net‐
289378         work.NetworkTest.test_network_ping… @ 2019-04-18 21:54:28 UTC
289379
289380         · 77943e5  Merge  pull   request   #52614   from   Ch3LL/cp-test_net‐
289381           work-2019.2.1
289382
289383         · 27c79d2       Update      integration.modules.test_network.Network‐
289384           Test.test_network_ping test address
289385
289386       · ISSUE #32245: (tkwilliams) git_pillar should permit automatic mapping
289387         of environment to branch a-la gitfs  (refs: #50768)
289388
289389       · PR  #52615:  (twangboy)   Bring  51661  into  2019.2.1  @  2019-04-18
289390         21:53:35 UTC
289391
289392         · PR #51661: (sathieu)  git_pillar:  Fix  all_saltenvs  on  base  env
289393           (refs: #52615)
289394
289395         · PR  #51597:  (sathieu)  git_pillar:  Fix  all_saltenvs  on base env
289396           (refs: #51661)
289397
289398         · PR #50768:  (sathieu)  git_pillar:  Add  support  for  all_saltenvs
289399           parameter (refs: #51597, #51661)
289400
289401         · c6b4986 Merge pull request #52615 from twangboy/gitfs_2019.2.1
289402
289403         · d952674 Merge branch '2019.2.1' into gitfs_2019.2.1
289404
289405       · ISSUE  #52547:  (cbosdo) virt.purge throws a libvirt exception on Xen
289406         hypervisor (refs: #52548)
289407
289408       · PR #52548: (cbosdo) Virt purge fix @ 2019-04-18 20:07:36 UTC
289409
289410         · 8ee15a9 Merge pull request #52548 from cbosdo/virt-purge-fix
289411
289412         · 6ca8f4b Try/except undefineFlags() as this operation  is  not  sup‐
289413           ported on bhyve
289414
289415           · 5a0464b Bring 51661 into 2019.2.1
289416
289417       · PR  #52591:  (Ch3LL)  [2019.2.1] Update test_schema to mirror the new
289418         ValidationErrors in 3.0.0 @ 2019-04-18 16:34:22 UTC
289419
289420         · e03aed5 Merge pull request #52591 from Ch3LL/fix_jsonschema_2019.2
289421
289422         · e09be842 Update test_schema to mirror the new  ValidationErrors  in
289423           3.0.0
289424
289425       · ISSUE  #52525: (lomeroe) deserializer_opts are not passed the serial‐
289426         izer in file.serialize (refs: #52526)
289427
289428       · PR #52526: (lomeroe) Fix use of deserializer_opts in file.serialize @
289429         2019-04-17 14:08:52 UTC
289430
289431         · 21d6365   Merge   pull   request   #52526   from  lomeroe/deserial‐
289432           izer_opts_fix
289433
289434         · ea0520c update test for serialization opts
289435
289436         · 84ff03a Correct attempting to use the serializer_name to pull dese‐
289437           rializer_opts  when  deserializer_name  is  used  as the key in the
289438           deserializer_options dict.
289439
289440       · ISSUE #49147: (furgerf) Log filled  with  "Exception  occurred  while
289441         Subscriber handling stream: Already reading" (refs: #51963)
289442
289443       · PR  #52570:  (DmitryKuzmenko)  Simplify IPCClient and prevent corrupt
289444         messages (Turn 2) 2019.2 @ 2019-04-17 14:03:02 UTC
289445
289446         · PR #52564: (DmitryKuzmenko) Simplify IPCClient and prevent  corrupt
289447           messages (Turn 2) (refs: #52570)
289448
289449         · PR  #52445:  (dwoz) Simplify IPCClient and prevent corrupt messages
289450           (refs: #52564)
289451
289452         · PR #51963: (DmitryKuzmenko) Allow multiple instances of IPCMessage‐
289453           Subscriber in one process (refs: #52564)
289454
289455         · e522ffe    Merge    pull    request    #52570    from   DSRCorpora‐
289456           tion/bugs/revert_51963_2019.2
289457
289458         · fabbcac A couple of race conditions fixes and a test update.
289459
289460         · 9c85734 Drop singleton from IPCClient
289461
289462         · 7cf6d54 Revert "Support parallel work  of  multiple  IPCMEssageSub‐
289463           scribers in one process"
289464
289465         · 7f26e76 Revert "Update doc conf with the new import tornado.queues"
289466
289467         · 69e9416 Revert "Minor: Fix typo in docstring"
289468
289469       · ISSUE              #52449:              (Ch3LL)              integra‐
289470         tion.cloud.clouds.test_gce.GCETest.test_instance_extra failure (refs:
289471         #52551)
289472
289473       · PR  #52551:  (garethgreenaway)  [2019.2]  Marking  the  two  tests in
289474         test_gce as flaky @ 2019-04-17 14:00:39 UTC
289475
289476         · b173406   Merge   pull    request    #52551    from    garethgreen‐
289477           away/52449_test_gce_random_failures
289478
289479         · 28af717 Marking the two tests in test_gce as flaky.
289480
289481       · ISSUE  #51842:  (mattLLVW) salt.auth.django docs use wrong model name
289482         (refs: #52553)
289483
289484       · PR #52553: (mattLLVW) fix: #51842 @ 2019-04-17 13:59:45 UTC
289485
289486         · 8352362    Merge    pull     request     #52553     from     mattL‐
289487           LVW/fix_django_auth_docs
289488
289489         · 3baeedf fix: #51842
289490
289491       · ISSUE  #52134:  (sploenix)  Regression:  Include list of pillar files
289492         under different keys in 2019.2 (refs: #52490)
289493
289494       · ISSUE #22063: (jeanpralo) Wildcard inside  top.sls  file  for  pillar
289495         (refs: #52490)
289496
289497       · PR #52490: (dwoz) Fix pillar include regression @ 2019-04-17 13:54:39
289498         UTC
289499
289500         · 9faa49c Merge pull request #52490 from dwoz/issue_52134
289501
289502         · 876dd18 Fix merge wart
289503
289504         · 2ed650b  Merge  remote-tracking  branch   'saltstack/2019.2'   into
289505           issue_52134
289506
289507         · b0af11f Run include tests when pillar source changes
289508
289509         · 307cec6 Fix pillar tests
289510
289511         · 1a33bde import __future__.absolute_import
289512
289513         · 5dc5de9 Use file encoding and add docstring
289514
289515         · e84cd41 Fix pillar include wart
289516
289517         · c79f496 Add pillar include tests
289518
289519         · 7745242 Revert "Fix #22063: pillar wildcard support include"
289520
289521       · PR  #52552:  (twangboy) Bring 52170 into 2019.2 @ 2019-04-17 13:54:17
289522         UTC
289523
289524         · PR #52170: (twangboy) Fix issue when task doesn't have delay_random
289525           defined (refs: #52552)
289526
289527         · b0c0237 Merge pull request #52552 from twangboy/fix_win_task_2019.2
289528
289529         · fd19cca Remove some warts in the docs
289530
289531         · deb0b10 Fix some lint
289532
289533         · a279d45 Final doc fixes
289534
289535         · 58f0cd2 Fix docs... attempt 6
289536
289537         · a66716e Fix docs... attempt 5
289538
289539         · f6f3381 Fix docs... attempt 4
289540
289541         · 18cfc15 Fix docs... attempt 3
289542
289543         · c691e0d More doc fixes
289544
289545         · e01077b Fix docs issue... maybe...
289546
289547         · b649495 Honor 80 character line limit
289548
289549         · eba4507 Bring 52170 into 2019.2
289550
289551       · PR  #52528:  (Ch3LL)  [2019.2]  Merge forward from 2018.3 to 2019.2 @
289552         2019-04-17 13:53:46 UTC
289553
289554         · cc0cd5d Merge pull request #52528 from Ch3LL/merge-2019.2
289555
289556         · 87cf385 increase timeout on test_state for windows
289557
289558         · 3442202 Increase timeout for test_kwarg tests
289559
289560         · 2c3ff2f Merge branch '2019.2' into merge-2019.2
289561
289562       · PR #52534: (twangboy) Add TLS support up  to  TLS  1.2  @  2019-04-13
289563         22:56:41 UTC
289564
289565         · e91240b Merge pull request #52534 from twangboy/tls_support_2019.2
289566
289567         · 9ec54c4 Add TLS support up to TLS 1.2
289568
289569           · 474efa1 Fix pylint and state test failure
289570
289571           · 048a82e Merge branch '2019.2' into merge-2019.2
289572
289573       · PR  #52536:  (twangboy)  Bring #52191 into 2019.2 branch @ 2019-04-12
289574         21:31:23 UTC
289575
289576         · PR #52191: (twangboy) Fix issue where version doesn't  detect  when
289577           check_remote=True (refs: #52536)
289578
289579         · 2c42e4d Merge pull request #52536 from twangboy/fix_choco_2019.2
289580
289581         · b394ad5 Bring #52191 into 2019.2 branch
289582
289583         · 795a7f6 Fix windows tests - increase timeout
289584
289585         · c70772c Fix linux state tests- add new comment
289586
289587         · 2941567 Merge branch '2018.3' into '2019.2'
289588
289589         · 262516c Merge pull request #52209 from twangboy/fix_choco_retcode
289590
289591           · 7aec2d3 Merge branch '2018.3' into fix_choco_retcode
289592
289593           · bfdc47b Handle new enhanced retcode 2
289594
289595         · dd7a4ba Merge pull request #52046 from twangboy/use_reg_timezone
289596
289597           · fc8e970 Merge branch '2018.3' into use_reg_timezone
289598
289599           · d0987e6 Merge branch '2018.3' into use_reg_timezone
289600
289601           · 1bf0cbc Merge branch '2018.3' into use_reg_timezone
289602
289603           · b466f8a Merge branch '2018.3' into use_reg_timezone
289604
289605           · 34bdae5 Merge branch '2018.3' into use_reg_timezone
289606
289607           · 9a8afa6 Fix tests, add null byte test
289608
289609           · 59b1d4f Revert back to using reg to get timezone
289610
289611         · 0d09608 Merge pull request #52396 from dmurphy18/fix_aix_ssh
289612
289613           · 8bfa340 Correct typo
289614
289615           · 6d98577 Altered code to support salt-ssh on AIX
289616
289617         · 576478e Merge pull request #52473 from Ch3LL/bp-49437
289618
289619           · 781385f Merge branch '2018.3' into bp-49437
289620
289621           · 3a3114d Fix merge conflict wart
289622
289623           · bbfd412 Merge branch '2018.3' into bp-49437
289624
289625           · 48ee82d Merge branch '2018.3' into bp-49437
289626
289627           · f66d474 Add support to avoid calling refresh_db in opkg.del_repo
289628
289629         · d830bc6 Merge pull request #52493 from dwoz/ping_reaction_test
289630
289631           · 8b05e77 Merge branch '2018.3' into ping_reaction_test
289632
289633           · 7083d21 Merge branch '2018.3' into ping_reaction_test
289634
289635           · 7c963c1 Merge branch '2018.3' into ping_reaction_test
289636
289637           · 75ddeb3 fix linter
289638
289639           · e3e1d2e fix reactor ping test
289640
289641         · 9b7a0d1 Merge pull request #52505 from bloomberg/2018_zmq_uri
289642
289643           · b682ec5 transport.zmq: fix bug introduced by b7df7e75cf2
289644
289645         · 452bbeb Merge pull request #52512 from dwoz/supervisord_2018.3
289646
289647           · cd5cd7d The exit code matters.
289648
289649         · 53228ae Merge pull request #52475 from Ch3LL/bp-49464
289650
289651           · a891fd3 Make opkg.del_repo be compatible with pkrepo state module
289652
289653         · 6e79e24  Merge  pull  request  #52500 from terminalmage/invalid-ar‐
289654           chive-source
289655
289656           · e9d175b  Fix  traceback  when  invalid  source  passed   to   ar‐
289657             chive.extracted
289658
289659         · 2df74ca Merge pull request #52476 from bloomberg/win_cmd_2018
289660
289661           · 0e0c42e  2018  backport:  modules.cmdmod:  handle windows environ
289662             better
289663
289664         · 4dfb2f8 Merge pull request #52474 from Ch3LL/bp-49984
289665
289666           · c8d547e Use prune option in Pygit2 provider when fetching
289667
289668         · d699485      Merge       pull       request       #52393       from
289669           waynew/52087-mine-delete-test-enhancements
289670
289671           · e3f5be3 Use uncommon item in mine delete test
289672
289673         · 89bd258 Merge pull request #52445 from dwoz/ipc_fixes_2018.3
289674
289675           · 1bdaf29 Ensure exceptions in service future are handled
289676
289677           · c7ad732 Use six.reraise for py3 compatability
289678
289679           · 29999b0 Close message service on subscriber close
289680
289681           · 47203f7 Fix ipc unit tests
289682
289683           · 2b35437 Fix linter issues
289684
289685           · 503cdd2 Remove IPCClient singleton
289686
289687           · b374034 Re-raise queued exceptions with traceback
289688
289689       · ISSUE  #51879:  (whytewolf)  2019.2.0  binary  pillar  unicode  error
289690         returns. (refs: #52334)
289691
289692       · PR #52334: (waynew) 51879 fix binary pillar return error @ 2019-04-12
289693         03:45:17 UTC
289694
289695         · 6eb2bce Merge pull request #52334 from waynew/51879-fix-binary-pil‐
289696           lar-return-error
289697
289698         · ead856e   Merge   branch   '2019.2'   into    51879-fix-binary-pil‐
289699           lar-return-error
289700
289701         · 2aa971d lint cleanup
289702
289703         · 28c2945 keep_pillar not needed
289704
289705         · fb010c0 Add binary pillar to the docs
289706
289707         · f2aebf9 Assume file contents are binary
289708
289709         · 2b8c782 Test gpg render with replace newlines
289710
289711         · c4b385b Allow binary pillar data
289712
289713         · 604b671 Return binary data from gpg renderer
289714
289715         · 32aafab Ignore vscode and fix swap ignore
289716
289717       · ISSUE  #52041:  (arsiesys)  2019.2  influxdb_retention_policy.present
289718         broken when used extra arguments (refs: #52043)
289719
289720       · PR #52043: (arsiesys) fix missing client_args in  influxdb  module  @
289721         2019-04-12 03:43:03 UTC
289722
289723         · 2d59705       Merge       pull       request       #52043      from
289724           arsiesys/fix_influxdb_state_rp
289725
289726         · e617c5b Merge branch '2019.2' into fix_influxdb_state_rp
289727
289728         · 7661860 fix missing client_args in influxdb module
289729
289730       · PR #52146: (twangboy) Add missing symlink test @ 2019-04-12  00:51:16
289731         UTC
289732
289733         · 1b969c3  Merge  pull  request  #52146  from  twangboy/fix_test_sym‐
289734           link_2019.2
289735
289736         · 8e1c882 Merge branch '2019.2' into fix_test_symlink_2019.2
289737
289738         · a429542 Merge branch '2019.2' into fix_test_symlink_2019.2
289739
289740         · 401c253 Merge branch '2019.2' into fix_test_symlink_2019.2
289741
289742         · cce6200 Fixing lint
289743
289744         · c7cb009 Merge branch '2019.2' into fix_test_symlink_2019.2
289745
289746         · 3eae05a Merge branch '2019.2' into fix_test_symlink_2019.2
289747
289748         · 83bed46 Add missing symlink test
289749
289750       · PR #52341: (cbosdo) virt.pool_running: fix pool  start  @  2019-04-12
289751         00:14:52 UTC
289752
289753         · 7a1b8ca Merge pull request #52341 from cbosdo/virt-state-fixes
289754
289755         · 89f0bd8 Merge branch '2019.2' into virt-state-fixes
289756
289757         · 25b9681 virt.pool_running: fix pool start
289758
289759         · 30981d2 Remove unneeded kwargs in virt states
289760
289761         · 0871c02 virt: allow defining the VM type and arch when creating it
289762
289763         · 1c65d25 Updating running domains in virt.running
289764
289765         · 13d7819 Add missing virt states unit tests
289766
289767         · 0681d86 virt.running support for all virt.init options
289768
289769         · c6a444b Add test case for virt.running
289770
289771         · 2db7a98 Let virt running state provide errors
289772
289773       · ISSUE #52350: (Ch3LL) Re-Add Python 2 unicode string literals in YAML
289774         renderer  (refs: #52427)
289775
289776       · PR #52427: (garethgreenaway) [2019.2] Support for old yaml  render  @
289777         2019-04-12 00:06:37 UTC
289778
289779         · 6040282    Merge    pull    request    #52427   from   garethgreen‐
289780           away/52350_readd_and_gate_unicode_string_literal_support
289781
289782         · 82f010a  Merge  branch  '2019.2'   into   52350_readd_and_gate_uni‐
289783           code_string_literal_support
289784
289785         · ae81fee   Merge   branch  '2019.2'  into  52350_readd_and_gate_uni‐
289786           code_string_literal_support
289787
289788         · b618d44  Merge  branch  '2019.2'   into   52350_readd_and_gate_uni‐
289789           code_string_literal_support
289790
289791         · b191bc0   Merge   branch  '2019.2'  into  52350_readd_and_gate_uni‐
289792           code_string_literal_support
289793
289794         · 38a9818  Merge  branch  '2019.2'   into   52350_readd_and_gate_uni‐
289795           code_string_literal_support
289796
289797         · 2767984 Removing logging entry
289798
289799         · 71cd303 Adding missing yamlloader_old.py
289800
289801         · f848aa4  Adding support back in with, a gated configuration option,
289802           for the old YAML Loader.
289803
289804       · ISSUE #51865: (magenbrot) salt.match.search_by  resulting  in  'None'
289805         since 2019.2 (refs: #52234)
289806
289807       · PR  #52234: (garethgreenaway) [2019.2] Fixes to matchers when used in
289808         pillar @ 2019-04-12 00:05:48 UTC
289809
289810         · 05ba7c5   Merge   pull    request    #52234    from    garethgreen‐
289811           away/51865_match_search_by_master
289812
289813         · 1760245 Merge branch '2019.2' into 51865_match_search_by_master
289814
289815         · d50f011 Merge branch '2019.2' into 51865_match_search_by_master
289816
289817         · b0cbb60 Merge branch '2019.2' into 51865_match_search_by_master
289818
289819         · 799a08b Merge branch '2019.2' into 51865_match_search_by_master
289820
289821         · 21891d6 Merge branch '2019.2' into 51865_match_search_by_master
289822
289823         · a2173d7  Fixing a typo where attempting to get a list from __opts__
289824           instead of an individual item
289825
289826         · 6a5b5b2 swapping out if...else approach for __opts__.get approach.
289827
289828         · aa2c626 With  the  change/addition  of  the  matcher  subsystem  in
289829           2019.2,  the match.search_by when used in pillar broke when target‐
289830           ting the minion that was also the salt master.  This was caused  by
289831           the  id  in  __opts__ being used in all cases.  This change updates
289832           the glob_match function to use the preserved minion_id of the  mas‐
289833           ter if it is available so that targeting works as expected.
289834
289835       · PR #52160: (cbosdo) Virt whitespace fix @ 2019-04-12 00:04:25 UTC
289836
289837         · 80d7aea Merge pull request #52160 from cbosdo/virt-whitespace-fix
289838
289839         · fd1f539 Merge branch '2019.2' into virt-whitespace-fix
289840
289841         · b297e7d virt: handle whitespaces in VM names
289842
289843       · ISSUE #51832: (nocturo) pillar include stopped working (refs: #52008)
289844
289845       · PR  #52008: (waynew) Allow / in pillar includes @ 2019-04-12 00:02:40
289846         UTC
289847
289848         · b551bbd      Merge       pull       request       #52008       from
289849           waynew/51832-re-allow-slash-includes
289850
289851         · ee3115f Allow leading dots and / as pillar separators
289852
289853         · 29c676d Ensure _closing exists
289854
289855         · eb517e1 Swap '/' for '.' when matching
289856
289857       · ISSUE  #51821:  (OrangeDog)  'comment' is an invalid keyword argument
289858         for 'test.fail_without_changes' (refs: #51937)
289859
289860       · PR #51937: (garethgreenaway) [2019.2] Fix to test state functions  to
289861         allow arguments that mod_watch uses @ 2019-04-11 23:57:44 UTC
289862
289863         · d3159cb    Merge    pull    request    #51937   from   garethgreen‐
289864           away/51821_ensure_result_comment_changes_valid_arguments
289865
289866         · 86c63b5  Merge  branch   '2019.2'   into   51821_ensure_result_com‐
289867           ment_changes_valid_arguments
289868
289869         · 0966d61   Merge   branch   '2019.2'  into  51821_ensure_result_com‐
289870           ment_changes_valid_arguments
289871
289872         · 5527dff Ensure the comment, changes, and result are valid arguments
289873           for  various  test  state functions as they are valid arguments for
289874           mod_watch.
289875
289876       · ISSUE #51818: (syphernl) salt.nacl.dec: expected str,  bytearray,  or
289877         unicode (refs: #51913)
289878
289879       · PR  #51913:  (garethgreenaway)  [2019.2]  Fixes  to  utils/nacl.py  @
289880         2019-04-11 23:56:57 UTC
289881
289882         · 7be0428   Merge   pull    request    #51913    from    garethgreen‐
289883           away/51818_fix_when_sk_is_empty
289884
289885         · 55d7488 Merge branch '2019.2' into 51818_fix_when_sk_is_empty
289886
289887         · b2128e8 Merge branch '2019.2' into 51818_fix_when_sk_is_empty
289888
289889         · cb01a1b Merge branch '2019.2' into 51818_fix_when_sk_is_empty
289890
289891         · 1a1e333     Merge     branch     '51818_fix_when_sk_is_empty'    of
289892           github.com:garethgreenaway/salt into 51818_fix_when_sk_is_empty
289893
289894           · 102f0a3 Merge branch '2019.2' into 51818_fix_when_sk_is_empty
289895
289896           · 7fd04ec Merge branch '2019.2' into 51818_fix_when_sk_is_empty
289897
289898         · dd23069 Adding tests for NACL changes.
289899
289900         · c314f51 Correctly handle the situation when with the secret key  or
289901           public key values are empty.
289902
289903       · ISSUE  #52116:  (lordcirth)  host.present always returns None when in
289904         test=True (refs: #52399)
289905
289906       · PR #52399: (waynew) Bring host.present in line with Salt's test  con‐
289907         ventions @ 2019-04-11 23:32:28 UTC
289908
289909         · d6f0971       Merge       pull       request       #52399      from
289910           waynew/52116-fix-host-present-fail
289911
289912         · 8440ae1 Merge branch '2019.2' into 52116-fix-host-present-fail
289913
289914         · dd002fd Fix linter
289915
289916         · 9d1b2a0 Only return None on host.present changes when test
289917
289918       · PR #52477: (mattp-) 2019.2  backport  #52472  modules.cmdmod:  handle
289919         windows environ better @ 2019-04-11 23:13:34 UTC
289920
289921         · PR  #52472:  (mattp-) modules.cmdmod: handle windows environ better
289922           (refs: #52476, #52477)
289923
289924         · 7c709cf Merge pull request #52477 from bloomberg/win_cmd_2019
289925
289926         · 736a437 2019.2 bacpkport: modules.cmdmod:  handle  windows  environ
289927           better
289928
289929       · ISSUE  #49661:  (ephreal)  Issues starting salt-master or salt-minion
289930         with openssl-1.1.1-1 (refs: #51655)
289931
289932       · PR #52423: (bbinet) Remove  unused  salt.crypt  import  @  2019-04-11
289933         21:44:41 UTC
289934
289935         · PR  #51655:  (garethgreenaway)  [2017.7] Removing unused salt.crypt
289936           imports (refs: #52423)
289937
289938         · b0d3c76 Merge pull request #52423 from bbinet/unused-salt-crypt
289939
289940         · dc330e7 Merge branch '2019.2' into unused-salt-crypt
289941
289942         · 4b26dea Merge branch '2019.2' into unused-salt-crypt
289943
289944         · 9607c38 Also remove unused salt.crypt import in pillar/__init__.py
289945
289946         · 49f2631 Remove unused salt.crypt import
289947
289948       · PR #52506: (mattp-) 2019.2:  transport.zmq:  fix  bug  introduced  by
289949         b7df7e75cf2 @ 2019-04-11 21:12:51 UTC
289950
289951         · 4bb9185 Merge pull request #52506 from bloomberg/2019_zmq_uri
289952
289953         · 1e9dd7f transport.zmq: fix bug introduced by b7df7e75cf2
289954
289955       · ISSUE  #52462: (Ch3LL) integration.states.test_supervisord test fail‐
289956         ing (refs: #52513, #52512)
289957
289958       · PR #52513: (dwoz) [2019.2] Fix supervisord @ 2019-04-11 21:09:17 UTC
289959
289960         · 1532642 Merge pull request #52513 from dwoz/supervisord_2019.2
289961
289962         · dc9ace6 The exit code matters.
289963
289964       · PR #52496: (dwoz) Fix wart in IPC merge forward @ 2019-04-11 05:19:02
289965         UTC
289966
289967         · PR #52482: (dwoz) Ipc fixes 2019.2 (refs: #52496)
289968
289969         · 978084d Merge pull request #52496 from dwoz/ipc_wart
289970
289971         · 9805f38 Fix wart in IPC merge forward
289972
289973       · PR  #52482:  (dwoz)  Ipc  fixes  2019.2  (refs:  #52496) @ 2019-04-10
289974         19:53:58 UTC
289975
289976         · 791b646 Merge pull request #52482 from dwoz/ipc_fixes_2019.2
289977
289978         · f45d29b Remove un-needed test
289979
289980         · 0141b7f Fix merge wart
289981
289982         · 82150f0 Remove un-used import
289983
289984         · c9ec8b1 Ensure exceptions in service future are handled
289985
289986         · 25f5a90 Use six.reraise for py3 compatability
289987
289988         · 6d80789 Fix ipc unit tests
289989
289990         · c80da32 Fix linter issues
289991
289992         · 024b4b6 Remove IPCClient singleton
289993
289994         · f1d0e02 Re-raise queued exceptions with traceback
289995
289996       · ISSUE #51932: (tomlaredo) [REGRESSION] --output-diff doesn't  display
289997         changes anymore with test=True since v2019.2.0 (refs: #51992)
289998
289999       · PR  #51992:  (garethgreenaway) [2019.2] Swapping pchanges for changes
290000         in file state.  @ 2019-04-09 19:38:57 UTC
290001
290002         · 3173673   Merge   pull    request    #51992    from    garethgreen‐
290003           away/51932_show_diff_when_test_True
290004
290005         · 7c4abd6 changes needs to be a dictionary.
290006
290007         · ac950b3 Merge branch '2019.2' into 51932_show_diff_when_test_True
290008
290009       · PR  #52413:  (Ch3LL)  [2019.2]  Merge forward from 2018.3 to 2019.2 @
290010         2019-04-08 16:19:49 UTC
290011
290012         · bd3ad7b Merge pull request #52413 from Ch3LL/merge-2019.2
290013
290014         · 30783f4 Merge branch '2019.2' into merge-2019.2
290015
290016       · PR #52151: (simonflood) Fix typo in actual 2019.2.0 release  notes  @
290017         2019-04-08 13:36:28 UTC
290018
290019         · PR  #51861:  (simonflood) Fix typo in 2019.2.0 release notes (refs:
290020           #52151)
290021
290022         · a18abf2 Merge pull request #52151 from simonflood/patch-2
290023
290024         · a4a5521 Merge branch '2019.2' into patch-2
290025
290026         · 3d31102 Fix typo in actual 2019.2.0 release notes
290027
290028           · 16733da Merge branch '2019.2' into merge-2019.2
290029
290030           · fe13214 Merge branch '2018.3' into '2019.2'
290031
290032             · b6028b9 Merge pull request #52403  from  bdrung/fix-test-condi‐
290033               tions
290034
290035               · e74f78f Skip ExtendTestCase if templates directory is missing
290036
290037               · 0473683  Skip  SampleConfTest  if sample conf directories are
290038                 missing
290039
290040             · e5a755d Merge pull request #52250 from twangboy/fix_grains
290041
290042               · a77ec81 Merge branch '2018.3' into fix_grains
290043
290044               · b405391 Refer to the windowsdomain grain
290045
290046               · e103561 Add some documentation about the domain grain on Win‐
290047                 dows
290048
290049               · c874831 Don't set the domain grain to windowsdomain
290050
290051               · 65eb461 Add a test for windows grains
290052
290053               · 173d1e7 Fix the domain grain on Windows
290054
290055                    · 0ce0c04       Merge       branch      '2019.2'      into
290056                      51932_show_diff_when_test_True
290057
290058       · ISSUE #51869: (eimantaszd) x509.sign_remote_certificate  not  working
290059         after upgrade to 2019.2.0 (refs: #52381)
290060
290061       · PR  #52381:  (dwoz)  Fix  issue  #51869  and  add cert signing test @
290062         2019-04-05 20:36:11 UTC
290063
290064         · 6bae227 Merge pull request #52381 from dwoz/issue_51869
290065
290066         · cd78485 Merge branch '2019.2' into issue_51869
290067
290068       · ISSUE #21927:  (jfindlay)  network.traceroute  intermittently  stack‐
290069         traces (refs: #52370)
290070
290071       · PR  #52370:  (jfindlay) Fix network.traceroute exec module function @
290072         2019-04-03 16:39:20 UTC
290073
290074         · c1063cf Merge pull request #52370 from jfindlay/traceroute
290075
290076         · 2f49231 modules.network: update unit test
290077
290078         · 5b64fc0 modules.network: log and skip problematic traceroute lines
290079
290080         · e33f5c1 modules.network: standardize util check
290081
290082       · PR #52397: (garethgreenaway) [2019.2] Merge forward  from  2018.3  to
290083         2019.2 @ 2019-04-02 22:12:45 UTC
290084
290085         · 3675f1e Merge pull request #52397 from garethgreenaway/merge-2019.2
290086
290087         · 28e76b1 Merge branch '2018.3' into merge-2019.2
290088
290089         · 28f947e   Merge   pull  request  #52213  from  garethgreenaway/bea‐
290090           con_state_dont_save_test_true
290091
290092           · 7f83b4b Swapping out if state looking for  test  in  opts  for  a
290093             __opts__.get
290094
290095           · e1cf599       Merge      branch      '2018.3'      into      bea‐
290096             con_state_dont_save_test_true
290097
290098           · b751122      Merge      branch      '2018.3'      into       bea‐
290099             con_state_dont_save_test_true
290100
290101           · a901ec4 Don't save beacons when test=True
290102
290103         · 10d041b Merge pull request #52344 from twangboy/os_release_embedded
290104
290105           · 74ab4d3 Use old way to get osrelease if new way fails
290106
290107         · e88d3ba    Merge    pull    request    #52345   from   garethgreen‐
290108           away/52197_incron_cannot_have_comments
290109
290110           · 070837a Merge branch '2018.3' into  52197_incron_cannot_have_com‐
290111             ments
290112
290113           · 8461608  Updating  the  incron  module, state module and tests to
290114             remove use of comments.
290115
290116                · 855f31a Remove un-used file
290117
290118                · affd9b8 Fix setup/teardown methods
290119
290120                · 215bf93 Refresh after modifying tmp pillars
290121
290122                · 95c3aba Add config for listener
290123
290124                · 5d231f4 remove unused import
290125
290126                · 8c1b1db Use tmp pillar for signing policies
290127
290128                · a0e2458 fix unused import
290129
290130                · 7f5f7dd Fix requisite path
290131
290132                · 5630498 Fix signing policies path
290133
290134                · 0bd0826 Fix issue #51869 and add cert signing test
290135
290136       · PR #52347: (Ch3LL) [2019.2] Merge forward from  2018.3  to  2019.2  @
290137         2019-03-28 16:41:53 UTC
290138
290139         · 27e6cbf Merge pull request #52347 from Ch3LL/merge-2019.2
290140
290141         · 63962b5 Merge branch '2018.3' into '2019.2'
290142
290143         · bda3ca2     Merge     pull     request     #51749    from    termi‐
290144           nal-labs/salt-cloud-map-alt-update
290145
290146           · 9ca0f72 Changed where to mention the map files compatibility  for
290147             minion  configuration options. This is a result of @Ch3LL sugges‐
290148             tion on the PR itself for this doc change.
290149
290150           · 364ef06 Added mention of map file alternative for minion configu‐
290151             ration options.
290152
290153         · a743fff Merge pull request #52113 from twangboy/fix_lgpo
290154
290155           · bb4a704 Merge branch '2018.3' into fix_lgpo
290156
290157           · 7186405 Merge branch '2018.3' into fix_lgpo
290158
290159           · 7656331 Change default language from 1033 to en_US
290160
290161         · 7040643    Merge    pull    request    #52172   from   garethgreen‐
290162           away/51959_fix_acl_present_output
290163
290164           · 8c53890 Merge branch '2018.3' into 51959_fix_acl_present_output
290165
290166           · 0bdde94 Merge branch '2018.3' into 51959_fix_acl_present_output
290167
290168           · c5337e1 Merge branch '2018.3' into 51959_fix_acl_present_output
290169
290170           · 889660f Fixing lint.
290171
290172           · bfdb669 Updating the reverse octal lookup  dictionary.   Updating
290173             tests.
290174
290175           · 24c907b Adding additional permissions to the lookup.
290176
290177           · 4b99afa  Fixing  the  output  when  there are changes for the ACL
290178             state so the permissions are shown and not the octal number.
290179
290180         · 45d6cad Merge pull request #52283 from dmurphy18/fix_cpe_name_amzn2
290181
290182           · cbe5f7d Update to allow for malformed CPE_NAME from some OS's
290183
290184         · 14a6b9d    Merge    pull     request     #52306     from     termi‐
290185           nal-labs/replace-ping-with-version
290186
290187           · c04ba6e  Changed  a  text artifact from the ping function to sup‐
290188             porting text for the version function.
290189
290190           · 0b1eb00 Replaced test.ping  with  test.version  Result  of  issue
290191             #52277
290192
290193         · 7b2b521    Merge    pull    request    #51963    from   DSRCorpora‐
290194           tion/bugs/49147_ipc_subscriber
290195
290196           · 37aeba3 Minor: Fix typo in docstring
290197
290198           · cc46e9c Merge branch '2018.3' into bugs/49147_ipc_subscriber
290199
290200           · 23733bd Regression test for parallel IPCMessageSubscriber support
290201
290202           · 2bc2a7d Merge branch '2018.3' into bugs/49147_ipc_subscriber
290203
290204           · 684bf58 Update doc conf with the new import tornado.queues
290205
290206           · 008cf49 Merge branch '2018.3' into bugs/49147_ipc_subscriber
290207
290208           · 01e9a3d Merge branch '2018.3' into bugs/49147_ipc_subscriber
290209
290210           · 710ab50 Support parallel work of  multiple  IPCMEssageSubscribers
290211             in one process
290212
290213         · 87bb513 Fix failing symlink test (#52145)
290214
290215         · 8255901 document regex_replace Jinja filter (#52326)
290216
290217         · 3211397 Merge pull request #52310 from garethgreenaway/merge-2018.3
290218
290219           · 9324b83 Merge branch '2018.3' into merge-2018.3
290220
290221         · 71e9b66  Merge pull request #52312 from terminal-labs/zone-clarifi‐
290222           cation
290223
290224           · ae0e18f Merge branch '2018.3' into zone-clarification
290225
290226           · e8c8dba Added in an explaination of the --zone flag  approved  in
290227             #52251
290228
290229             · 4908ed3 Merge branch '2017.7' into merge-2018.3
290230
290231             · b6a0161  Merge  remote-tracking branch 'upstream/2017.7.9' into
290232               2017.7
290233
290234               · 1f99e28 Let's not include raet by default
290235
290236             · 4306779 Merge branch '2017.7.9' into 2017.7
290237
290238               · 36ed50d Lock to unittest-xml-reporting 2.2.1
290239
290240             · 3e6cb79 Merge branch '2017.7.9' into 2017.7
290241
290242               · 57348ca Add static requirements for Arch linux
290243
290244               · cc6fb46 Additionally ignore files in nox virtualenvs  and  CI
290245                 artifacts directories
290246
290247             · bf9c55e Previously have setuptools-git installed if ioflo is to
290248               be installed
290249
290250             · 973e1ca Merge remote-tracking branch  'upstream/2017.7.9'  into
290251               2017.7
290252
290253               · 981335a  Revert  "Avoid  a  traceback on tornado.testing test
290254                 classes"
290255
290256             · f48ba6a Merge remote-tracking branch  'upstream/2017.7.9'  into
290257               2017.7
290258
290259               · b039cec  Windows  now  has  a static requirements file and no
290260                 longer needs hacks
290261
290262               · a86af2b Merge pull request #52226 from dwoz/jenkins_build
290263
290264                 · 8c0f46b Use windows state to bootstrap windows builds
290265
290266               · 7263956 Lock coverage and xml-unittest-reporting versions
290267
290268               · dce4ffa Avoid a traceback on tornado.testing test classes
290269
290270       · PR #52314: (twangboy) Add the ability to pass a timeout to beacons  @
290271         2019-03-27 19:11:13 UTC
290272
290273         · d3f4c9d Merge pull request #52314 from twangboy/fix_beacon_tests
290274
290275         · a5fa99a Add missing **kwargs
290276
290277         · 7e88d04 Add the ability to pass a timeout to beacons
290278
290279       · PR  #52311:  (garethgreenaway)  [2019.2] Merge forward from 2018.3 to
290280         2019.2 @ 2019-03-26 18:31:32 UTC
290281
290282         · bad4e47 Merge pull request #52311 from garethgreenaway/merge-2019.2
290283
290284         · 11cd485 Merge branch '2018.3' into merge-2019.2
290285
290286         · 582d306 Merge pull request #52307 from Akm0d/doc_fix
290287
290288           · 4da0fd6 Fix x509 inconsistent file name in state example
290289
290290         · 2cdf48e    Merge    pull     request     #52276     from     termi‐
290291           nal-labs/replace-github-dead-link
290292
290293           · a2fbbe0 Merge branch '2018.3' into replace-github-dead-link
290294
290295         · 8fa0e51 Merge pull request #52290 from Akm0d/doc_fix
290296
290297           · ca00e4b  Merge  branch '2018.3' of github.com:saltstack/salt into
290298             doc_fix
290299
290300           · 8e1ec15 Add missing master/minion docs for log_rotate*
290301
290302             · 08728cf Merge branch '2018.3' into replace-github-dead-link
290303
290304         · d2fd84f Merge pull request #51724 from clinta/docker-create-with-ip
290305
290306           · c933663 Merge branch '2018.3' into docker-create-with-ip
290307
290308         · 838a7aa    Merge    pull     request     #51753     from     termi‐
290309           nal-labs/docs-sphinx-ref-deadlink-fix
290310
290311           · f2b6abd Merge branch '2018.3' into docs-sphinx-ref-deadlink-fix
290312
290313           · 9857f53 Merge branch '2018.3' into docs-sphinx-ref-deadlink-fix
290314
290315           · 8a11d27 Merge branch '2018.3' into docs-sphinx-ref-deadlink-fix
290316
290317           · 842ec84 Merge branch '2018.3' into docs-sphinx-ref-deadlink-fix
290318
290319           · 9275207 Merge branch '2017.7' into docs-sphinx-ref-deadlink-fix
290320
290321           · 2330c2a  makefile had an old sphinx-doc link, updated to new gen‐
290322             eral front page of sphinx docs.
290323
290324           · 8d70e3b Replaced all bad sphinx links  with  ones  from  the  new
290325             sphinx doc site.
290326
290327           · ebdffcd replaced two python sphinx deadlinks with sphinx new rel‐
290328             evant documentation pages.
290329
290330                · a4e3e34 Merge branch '2018.3' into docker-create-with-ip
290331
290332         · efb9ec0 Merge pull request #52215 from garethgreenaway/bp-52212
290333
290334           · 65857ef Merge branch '2018.3' into bp-52212
290335
290336           · a96bf24 Back-port PR #52212 to 2018.3
290337
290338                · c6e553c add networking_config to container_create for custom
290339                  network_mode
290340
290341                · 5c99dbd  add  test  to expose ip not added to custom network
290342                  #51723
290343
290344         · 679c4b2 Merge pull request #52269 from garethgreenaway/merge-2018.3
290345
290346           · ee58560 Merge branch '2018.3' into merge-2018.3
290347
290348         · 418e543 Merge pull request #52261 from dwoz/update_kitchen
290349
290350           · a87c6ea Use windows state to bootstrap windows builds
290351
290352           · 1aa1bd8 Merge branch '2017.7' into merge-2018.3
290353
290354           · 2962e94 Lock coverage and xml-unittest-reporting versions
290355
290356           · 595303b Merge  remote-tracking  branch  'upstream/2017.7.9'  into
290357             2017.7
290358
290359             · 55e150c Proper setup and teardown
290360
290361             · b9b6009 Don't run distro on windows
290362
290363             · 3cb5c82 Merge pull request #52208 from s0undt3ch/2017.7.9
290364
290365           · b14dbc9 Merge branch '2017.7.9' into 2017.7
290366
290367             · 6a789a1 Update static requirements
290368
290369             · cee9480 Lock PyYAML to < 5.1
290370
290371             · a4f241d  The  kitchen  nox  verifier  already takes care of the
290372               sinlge -v flag.
290373
290374             · 0cb641e Fix static requirements search bad logic
290375
290376             · 45a3e4a distro reports Opensuse 15 as Opensuse Leap 15
290377
290378             · de7bb24 Ubuntu 18.04 locked requirements files
290379
290380             · bc08e3c Ubuntu 16.04 locked requirements files
290381
290382             · 0d353d2 Ubuntu 14.04 locked requirements files
290383
290384             · 1186122 Opensuse 42 locked requirements files
290385
290386             · fa6888b Opensuse 15 locked requirements files
290387
290388             · b6578b8 Fedora 29 locked requirements files
290389
290390             · 777dbb0 Fedora 28 locked requirements files
290391
290392             · 4388fa9 Debian 9 locked requirements files
290393
290394             · 2f9030f Debian 8 locked requirements files
290395
290396             · 1b18ec5 CentOS 7 locked requirements files
290397
290398             · 6e9f0c0 CentOS 6 locked requirements
290399
290400             · 7415846 Start handling static(and platform  specific)  require‐
290401               ments files
290402
290403             · ea4d370  Allow  overriding  some  requirements  based on distro
290404               information
290405
290406             · 17017a1      Merge      pull      request      #51361      from
290407               olipovch/cloud-sync-after-install
290408
290409               · 8fde3a0 Merge branch '2017.7' into cloud-sync-after-install
290410
290411               · ab00151 Fix salt-cloud sync_after_install functionality
290412
290413           · ff54f53 The kitchen nox verifier already takes care of the sinlge
290414             -v flag.
290415
290416           · a2aa708 Fix static requirements search bad logic
290417
290418           · 621b047 distro reports Opensuse 15 as Opensuse Leap 15
290419
290420           · bc00a26 Ubuntu 18.04 locked requirements files
290421
290422           · d5ed9e1 Ubuntu 16.04 locked requirements files
290423
290424           · 03879bf Ubuntu 14.04 locked requirements files
290425
290426           · c3d7a18 Opensuse 42 locked requirements files
290427
290428           · b29d986 Opensuse 15 locked requirements files
290429
290430           · 73154d0 Fedora 29 locked requirements files
290431
290432           · bf36cd4 Fedora 28 locked requirements files
290433
290434           · 52cc5bb Debian 9 locked requirements files
290435
290436           · cb4a823 Debian 8 locked requirements files
290437
290438           · 2128a79 CentOS 7 locked requirements files
290439
290440           · 4a29e93 CentOS 6 locked requirements
290441
290442           · 0d96e64 Start handling static(and platform specific) requirements
290443             files
290444
290445         · 0fc82bd Merge pull request #52193 from Ch3LL/bp-47005
290446
290447           · 1a54fd1 Merge branch '2018.3' into bp-47005
290448
290449         · 0f3cd2a Merge pull request #52194 from Ch3LL/bp-52149
290450
290451           · bff3f3c Merge branch '2018.3' into bp-52149
290452
290453           · 7e459a1 example names parameter in file.managed state
290454
290455             · f68caa6 Merge branch '2018.3' into bp-47005
290456
290457         · 85be178  Merge  pull  request  #52201  from  max-arnold/rename-bea‐
290458           con-validate
290459
290460           · e1e9a2b Merge branch '2018.3' into rename-beacon-validate
290461
290462         · 0383ac3 Merge pull request #52189 from Ch3LL/merge-2018.3
290463
290464           · 9972980 Merge branch '2018.3' into merge-2018.3
290465
290466           · 79962ab Merge branch '2017.7' into '2018.3'
290467
290468             · fd6068e Allow overriding  some  requirements  based  on  distro
290469               information
290470
290471             · 659ec11  Merge  remote-tracking branch 'upstream/2017.7.9' into
290472               2017.7
290473
290474               · 18bbbec We need to nest require req_win.txt
290475
290476             · 956a84c Merge pull request #51995 from s0undt3ch/2017.7
290477
290478               · 0bf9d62 Merge remote-tracking branch 'upstream/2017.7.9' into
290479                 2017.7
290480
290481               · baf776b   Merge   pull  request  #51974  from  s0undt3ch/fea‐
290482                 tures/nox-2017.7
290483
290484               · ee4df3a Lint fixes
290485
290486               · 56f841f Windows needs special treatment
290487
290488               · c3cb447 Requirements fixes
290489
290490               · 6a67531 We need a fixed winrm-fs so that  dotfiles  are  also
290491                 included
290492
290493               · 15c6a53 use kitchen-salt from my fork for now
290494
290495             · b745332 Merge pull request #51800 from dwoz/typo_fix
290496
290497               · 5bbe5e0 Fix up docstring
290498
290499               · 9f3c583 Fix typo in docstring
290500
290501                 · 75acce1 Rename obsolete beacon validation function
290502
290503                 · d1700f3 Merge branch '2018.3' into bp-47005
290504
290505         · 03f228d Merge pull request #52112 from Ch3LL/proxy_gs
290506
290507           · 7ad4758 Update device names in proxy getting started docs
290508
290509                · 25ae7c8 remove freebsd-upstream reference
290510
290511                · b70c45c Remove salt FreeBSD repo which is now 2 years out of
290512                  date
290513
290514                      · 62e5404 github issue tracker link and sends you to the
290515                        url for listed issues.
290516
290517                      · ccf6a06  Replaced a dead link for github issue tracker
290518                        with another github link for  the  issue  tracker  and
290519                        added  a  link to show more options for closing issues
290520                        in commit messages.
290521
290522       · PR #52190: (Ch3LL) [2019.2] Merge forward from  2018.3  to  2019.2  @
290523         2019-03-23 01:09:33 UTC
290524
290525         · 3ac6dbd Merge pull request #52190 from Ch3LL/merge-2019.2
290526
290527         · 68c02b9 Merge branch '2019.2' into merge-2019.2
290528
290529       · PR  #52240:  (soer7022)  Fix  Typos "swtich" to "switch" @ 2019-03-23
290530         00:08:50 UTC
290531
290532         · f5fc807 Merge pull request #52240 from soer7022/patch-2
290533
290534         · d130832 Merge branch '2019.2' into patch-2
290535
290536         · 3b6fdf8 Merge branch '2019.2' into patch-2
290537
290538         · 5db7a3f Fix Typos "swtich" to "switch"
290539
290540              · 34d601e Merge branch '2019.2' into merge-2019.2
290541
290542       · ISSUE #52036: (ghost) rsync.synchronized: "An exception  occurred  in
290543         this state: 'Changes' should be a dictionary." (refs: #52040)
290544
290545       · PR #52040: (garethgreenaway) [2019.2] Fix to rsync state @ 2019-03-21
290546         19:08:19 UTC
290547
290548         · a00245e   Merge   pull    request    #52040    from    garethgreen‐
290549           away/52036_rsync_state_no_changes_when_error
290550
290551         · 09d1672          Merge         branch         '2019.2'         into
290552           52036_rsync_state_no_changes_when_error
290553
290554       · PR #51962: (Ch3LL) Update 2019.2.0 release notes  with  other  tojson
290555         example @ 2019-03-21 16:37:43 UTC
290556
290557         · 5387821 Merge pull request #51962 from Ch3LL/rn_update
290558
290559         · f63bae9 Merge branch '2019.2' into rn_update
290560
290561       · PR  #52262:  (dwoz)  Use  windows state to bootstrap windows builds @
290562         2019-03-20 22:12:25 UTC
290563
290564         · 0fe7f28 Merge pull request #52262 from dwoz/update_kitcen_2019.2
290565
290566         · 49d529d Use windows state to bootstrap windows builds
290567
290568         · e2c3f93 Merge branch '2019.2' into rn_update
290569
290570         · 164398f Merge branch '2019.2' into rn_update
290571
290572         · c04b2a0 Merge branch '2019.2' into rn_update
290573
290574         · 9ca6e50 Update doc/topics/releases/2019.2.0.rst
290575
290576         · 052f193 add additional formatting to 2019.2.0 release notes
290577
290578         · a6ca59a Update 2019.2.0 release notes with other tojson example
290579
290580              · 84cd46c Merge branch '52036_rsync_state_no_changes_when_error'
290581                of             github.com:garethgreenaway/salt            into
290582                52036_rsync_state_no_changes_when_error
290583
290584                · 4a126b3       Merge       branch        '2019.2'        into
290585                  52036_rsync_state_no_changes_when_error
290586
290587              · d5d3117 Removing debugging statements
290588
290589              · 0fb859d Adding a test for the rsync state
290590
290591              · 4c678e6  When the retcode is non-zero, there are no changes so
290592                should include the default empty dictionary.
290593
290594              · c6ba2e6 Fix lint for test_win_file
290595
290596              · 9ada8d9 Merge branch '2018.3' into '2019.2'
290597
290598              · f8c0266 Allow overriding some  requirements  based  on  distro
290599                information
290600
290601              · c58c775 Merge pull request #52035 from Ch3LL/bp-52012
290602
290603                · 37666bd Merge branch '2018.3' into bp-52012
290604
290605              · 54ff3fe Merge pull request #51935 from Ch3LL/py3_doc
290606
290607                · b217f94 Merge branch '2018.3' into py3_doc
290608
290609                · 605bfaf Update futures dependency for python2 only
290610
290611                · 072cd84  Update  supported  python  versions in installation
290612                  docs
290613
290614              · 892cdae Merge pull request #52038 from terminalmage/docs
290615
290616                · 4d82146 Minor documentation tweak for file.replace state
290617
290618              · a7a9754 Merge pull request #51896 from twangboy/win_disks
290619
290620                · 057d415 Merge branch '2018.3' into win_disks
290621
290622                · 0d419e3 Fix some lint
290623
290624                · aa61dab Add tests
290625
290626                · 9f6ec53 Add all attached drives to the disks grain
290627
290628              · 48d298c Merge pull request #51918 from twangboy/fix_compat
290629
290630                · a791901 Fix compat, add tests
290631
290632                · 2837bb9 Fix _compat for py3
290633
290634              · 02328a6 Merge pull request #52030 from Ch3LL/bp-52004
290635
290636                · b4e3183 Fixed comparison of None with constants
290637
290638              · aa82fcc Merge pull request #52029 from Ch3LL/bp-52003
290639
290640                · fcac9f3 Skip Test on Non-Windows systems
290641
290642                · f42d17d Derive from LoaderModuleMockMixin
290643
290644                · 5052017 Define __opts__ dict
290645
290646                · b7b571e Define __opts__ dict
290647
290648                · ee3ad08 Define __opts__ dict
290649
290650                · 64d8451 Use default file module
290651
290652                · 886ef19 Fix name of makedirs_ method
290653
290654                · 4cc5f77 Check for path to be a symlink
290655
290656              · 5ff1725 Merge pull request #52028 from Ch3LL/bp-50384
290657
290658                · 6493eb0 Fix issue #50381
290659
290660                      · f2b4ec8 Don't log debug messages during close
290661
290662              · 7ab1281 Merge pull request #51936 from gtmanfred/2018.3
290663
290664                · faa3471 Merge branch '2018.3' into 2018.3
290665
290666              · 2ebfa22  Merge  pull  request  #51967  from  twangboy/add_com‐
290667                pat_tests
290668
290669                · 2056578 Merge branch '2018.3' into add_compat_tests
290670
290671                · e85f004 Merge branch '2018.3' into add_compat_tests
290672
290673                · ea69062 Fix lint
290674
290675                · eb984f5 Add unit tests for _compat.py
290676
290677              · c8e2971 Merge pull request #51980 from Ch3LL/merge-2018.3
290678
290679                · 9adc19e Merge branch '2017.7' into '2018.3'
290680
290681                  · bfaa6a9    Merge   pull   request   #51895   from   twang‐
290682                    boy/win_update_2017.7
290683
290684                    · b2cb1eb Merge branch '2017.7' into win_update_2017.7
290685
290686                  · 7d6280d Merge pull request #51875 from dwoz/avoid_ssl_race
290687
290688                    · e99654d Merge branch '2017.7' into avoid_ssl_race
290689
290690                  · c0bb1f7     Merge     pull     request     #51850     from
290691                    waynew/cherry-pick-ping-fix
290692
290693                    · 6da495f Fix linter
290694
290695                    · f78b360 fix reactor ping test
290696
290697                  · ad7a9ec    Merge   pull   request   #51893   from   twang‐
290698                    boy/gate_zfs_2017.7
290699
290700                    · e0d58eb Gate zfs module on Windows
290701
290702                    · f758a10 Avoid race condition when initializing OpenSSL
290703
290704                    · 0f125db Add __virtual__ to win_update
290705
290706                  · 864d4be Merge pull request #51770 from Ch3LL/doc_conf_2017
290707
290708                    · 25d9ca2 Update release versions for the 2017.7 branch
290709
290710                  · 3cf3099   Merge   pull   request   #51774   from    termi‐
290711                    nal-labs/py3-server-docs-update
290712
290713                    · 1f00c89  Added  in python 3 server according to the con‐
290714                      sensus from #51748
290715
290716                    · bfb9d87 added  the  python3  command  for  startign  the
290717                      python http server.
290718
290719                  · b4153d3    Merge   pull   request   #51757   from   twang‐
290720                    boy/fix_case_2017.7
290721
290722                    · 6b0b5d2 Fix failing py3 tests
290723
290724                    · feb29f3 Make recurse and directory case sensitive
290725
290726              · 2c4dff6 Merge pull request #51905 from aplanas/fix_mount
290727
290728                · ac688df mount: fix extra -t parameter
290729
290730              · 4b2c8cc  Merge   pull   request   #51815   from   garethgreen‐
290731                away/51673_multiple_file_sections_with_excludes
290732
290733                · 58ef51d  Merge branch '2018.3' into 51673_multiple_file_sec‐
290734                  tions_with_excludes
290735
290736                · 8c4485d Merge branch '2018.3' into  51673_multiple_file_sec‐
290737                  tions_with_excludes
290738
290739                · b55a894 Fixing some code that was not working correctly with
290740                  Python 3.
290741
290742                · 63da8be Fixing a bug that caused excludes  to  not  work  as
290743                  expected  when  multiple  file  options  were  in place, the
290744                  excludes of the last file section were being used  over  any
290745                  previous  ones.  Including a test to ensure excludes work as
290746                  expected when multiple file sections are in place.
290747
290748              · 1bf3fc8 Merge  pull  request  #51867  from  Oloremo/mysql-mod‐
290749                ule-fix-for-python3
290750
290751                · dfcfebd    Merge    branch    '2018.3'    into    mysql-mod‐
290752                  ule-fix-for-python3
290753
290754                · b6d217c    Merge    branch    '2018.3'    into    mysql-mod‐
290755                  ule-fix-for-python3
290756
290757                · 9745b0a Fixed typo
290758
290759                · 8149e9e    Merge    branch    '2018.3'    into    mysql-mod‐
290760                  ule-fix-for-python3
290761
290762                · 58d8a2e    Merge    branch    '2018.3'    into    mysql-mod‐
290763                  ule-fix-for-python3
290764
290765                · f964962 Added handling of empty server_version
290766
290767                · 58791e9 Decode mysql_version for python3 compatibility
290768
290769              · 7f05abf   Merge   pull   request   #51908   from  garethgreen‐
290770                away/51862_icinga_fixes
290771
290772                · 233dbaf Adding __salt__ to utils/icinga  so  cmd.run_all  is
290773                  available.
290774
290775                      · 1e7490c update kubernetesmod in index.rst
290776
290777                      · 1f3be1c fix import in test
290778
290779                      · 8572c17 rename kubernetes module to kubernetesmod
290780
290781       · PR #52032: (Ch3LL) Add azure state and execution modules to doc index
290782         @ 2019-03-11 15:46:49 UTC
290783
290784         · 7d6b53c Merge pull request #52032 from Ch3LL/fix_azure_docs
290785
290786         · 8a8a5fa Add azure module ref pages and fix doc errors
290787
290788         · 6a1d06a fix additional azure state module doc errors
290789
290790         · 65d8f27 Update doc failures in azure modules
290791
290792         · 92dbe2a Merge branch '2019.2' into fix_azure_docs
290793
290794       · PR #52037: (Ch3LL) Backport #51201 into 2019.2 @ 2019-03-07  19:45:18
290795         UTC
290796
290797         · PR   #51201:   (terminalmage)   Lint:   Fix  str-format-in-logging,
290798           len-as-condition, etc. (2) (refs: #52037)
290799
290800         · 96935c9 Merge pull request #52037 from Ch3LL/bp-51201
290801
290802         · 1fb0697 Remove develop modules not needed in 2019.2
290803
290804         · e3adc2f Lint: Fix str-format-in-logging, len-as-condition, etc. (2)
290805
290806       · PR #52034: (terminalmage) fileclient:  Fix  traceback  when  template
290807         file cannot be cached @ 2019-03-07 19:41:24 UTC
290808
290809         · 75398e4  Merge  pull  request #52034 from terminalmage/fix-get-tem‐
290810           plate
290811
290812         · 744dfd9 fileclient: Fix traceback  when  template  file  cannot  be
290813           cached
290814
290815       · PR  #51984:  (Ch3LL)  [2019.2]  Merge forward from 2018.3 to 2019.2 @
290816         2019-03-07 17:58:42 UTC
290817
290818         · 7af4f5c Merge pull request #51984 from Ch3LL/merge-2019.2
290819
290820         · 54ea40a Merge branch '2019.2' into merge-2019.2
290821
290822         · 227ddbb Fix linter
290823
290824         · a168913 Merge branch '2018.3' into '2019.2'
290825
290826           · c68744a   Merge   pull   request   #51975   from   s0undt3ch/fea‐
290827             tures/nox-2018.3
290828
290829             · af4ae91 Lint fixes
290830
290831             · 33955c9 Windows needs special treatment
290832
290833             · d4f899f Requirements fixes
290834
290835             · e550c60  We  need  a  fixed  winrm-fs so that dotfiles are also
290836               included
290837
290838             · ada1ef3 use kitchen-salt from my fork for now
290839
290840           · a689177 Merge pull request #51807 from Ch3LL/2018.3.5_rn
290841
290842             · 2c0b85c Add 2018.3.5 release notes
290843
290844           · 6aee2c4 Merge pull request #51806 from twangboy/fix_beacon
290845
290846             · 2bf6179 Fix some lint
290847
290848             · 0f38eea Add lowercase test
290849
290850             · 1459985 Make sure drive letter is uppercase for re compare
290851
290852             · 7cdc660 Add some tests
290853
290854             · 48ae8c6 Fix disk.usage beacon on Windows
290855
290856           · da815ba Merge pull request #51966 from twangboy/use_winapi_com
290857
290858             · a38300b Use winapi.com instead of coinitialize
290859
290860           · 7673c69 Merge pull request #51920 from twangboy/add_zabbix
290861
290862             · e2d496c Add zabbix to the Windows builds
290863
290864           · 77c2796   Merge   pull   request   #51802    from    garethgreen‐
290865             away/merge-2018.3.4
290866
290867             · 2e20939 Merge branch '2018.3' into merge-2018.3.4
290868
290869             · 769f002 Merge branch '2018.3.4' into merge-2018.3.4
290870
290871               · b53a843   Merge  pull  request  #51713  from  dwoz/gemstesta‐
290872                 gain_2018.3.4
290873
290874                 · f2c6631 Merge branch '2018.3.4' into gemstestagain_2018.3.4
290875
290876                 · 1c82d24 Fix ruby gems tests, again
290877
290878           · 496525d Merge pull request #51930 from Ch3LL/release_docs
290879
290880             · 9a68136 Update release documentation
290881
290882           · a027c97 Merge pull request #51931 from Ch3LL/bp_51298
290883
290884             · 873cabd Roll back some changes to _compat.py
290885
290886             · 1fcb0ff Fix edge case when minion ID is a 16-character string
290887
290888           · 1fa2072 Merge pull request #51892 from twangboy/gate_zfs
290889
290890             · fbc2c0c Gate zfs grain on Windows
290891
290892           · 89b0991  Merge  pull  request  #51836   from   stratusjerry/back‐
290893             port_49039_2018.3
290894
290895             · 35fdc4c Update win_pkg.py
290896
290897           · c1ab63d Merge pull request #51771 from Ch3LL/doc_conf_2018
290898
290899             · 904beb3 [2018.3] change build_type and release in doc/conf.py
290900
290901             · 3efcea5 Update release versions for the 2018.3 branch
290902
290903           · 98f1b03    Merge    pull   request   #51775   from   garethgreen‐
290904             away/merge-2017.7
290905
290906             · 92ffe03 fixing lint
290907
290908             · 73b601d Merge branch '2017.7' into merge-2017.7
290909
290910             · e04f735   Merge   pull   request    #51502    from    ogd-soft‐
290911               ware/51501-states-boto3_route53.py-fails-to-vali‐
290912               date-ALIAS-A-records
290913
290914               · e69ce9d       Merge        branch        '2017.7'        into
290915                 51501-states-boto3_route53.py-fails-to-vali‐
290916                 date-ALIAS-A-records
290917
290918               · 5093406 Implement PEP8 E711 styling fix
290919
290920               · 7640e90 Ensure  boto3_route53  correctly  validates  existing
290921                 ALIAS records
290922
290923               · ff633b0  Ensure  boto3_route53  survives attempts to validate
290924                 ALIAS records
290925
290926             · 9c128aa  Merge  pull   request   #51732   from   s0undt3ch/fea‐
290927               tures/nox-2017.7
290928
290929               · 328989d  Add  initial  nox configuration. Tell tox'ers to use
290930                 nox'.
290931
290932             · 99ce48d Merge pull request #51712 from dwoz/gemstestagain
290933
290934               · 0d3b227 Fix ruby gems tests, again
290935
290936             · 18452c4 Merge pull request #51528 from twangboy/backport_51471
290937
290938               · 8c79f02 Merge branch '2017.7' into backport_51471
290939
290940               · 20a7ee5 Backport 51471
290941
290942             · ee80ce3   Merge   pull   request   #51655   from   garethgreen‐
290943               away/49661_starting_salt_master_openssl
290944
290945               · f647b95  Merge  branch '2017.7' into 49661_starting_salt_mas‐
290946                 ter_openssl
290947
290948               · 1831e64 Removing options  from  libcrypto.OPENSSL_init_crypto
290949                 so it will simply use the defaults.
290950
290951               · 8d0f801 removing salt.crypt from payload.py which is not used
290952                 and causing salt-key to break.
290953
290954               · a5a54c4 Removing unused import which is  causing  salt-master
290955                 to not start when using openssl 1.1.1-1.
290956
290957                    · c9c082c Fix azurearm field list doc error
290958
290959                    · af0537f  Add  azure  state  and execution modules to doc
290960                      index
290961
290962       · PR #52004: (chdamianos)  Fixed  comparison  of  None  with  constants
290963         (refs: #52030) @ 2019-03-06 17:41:52 UTC
290964
290965         · 01bcff0   Merge   pull   request  #52004  from  chdamianos/fix-con‐
290966           stants-comparison
290967
290968         · 6fd60af Fixed comparison of None with constants
290969
290970       · PR #51981: (bryceml) Fix typo in 2019.2.0 release notes @  2019-03-05
290971         23:59:33 UTC
290972
290973         · 8d6bb5d Merge pull request #51981 from bryceml/2019.2
290974
290975         · ecf0ef0 Fix typo in 2019.2.0 release notes
290976
290977              · a65e621  Adding  an additional note warning that the file will
290978                not be changed because test=True,  but  could  be  changed  by
290979                other states.
290980
290981              · 6c0dcf2 Swapping pchanges for changes in file state.
290982
290983       · ISSUE  #51825:  (OrangeDog) schedule.disable doesn't work in 2019.2.0
290984         (refs: #51855)
290985
290986       · PR #51855: (garethgreenaway) [2019.2] Global enable/disable was being
290987         ignored @ 2019-03-05 19:40:34 UTC
290988
290989         · c3105df Merge pull request #51855 from garethgreenaway/51825_sched‐
290990           uled_global_enabled
290991
290992         · 301e773   Merge    branch    '51825_scheduled_global_enabled'    of
290993           github.com:garethgreenaway/salt into 51825_scheduled_global_enabled
290994
290995           · ae7ab06 Merge branch '2019.2' into 51825_scheduled_global_enabled
290996
290997           · ff13833 Merge branch '2019.2' into 51825_scheduled_global_enabled
290998
290999         · 9e7e4ed Fixing broken add_job test.
291000
291001         · 72466a5 Global enable/disable was being ignored
291002
291003       · ISSUE  #51745:  (fayak)  Systemd  update 241 on archlinux breaks sys‐
291004         temd.py version() function (refs: #51946)
291005
291006       · PR #51946: (Ethyling) Fix retrieve  systemd  version  using  regex  @
291007         2019-03-05 19:20:19 UTC
291008
291009         · be28623 Merge pull request #51946 from Ethyling/fix-systemd-version
291010
291011         · b557707 Add test for systemd version from git describe
291012
291013         · 94809d0 Fix retrieve systemd version using regex
291014
291015       · ISSUE #51816: (jkrauz) pillar_ldap broken in 2019.2.0 (refs: #51964)
291016
291017       · PR  #51964:  (dwoz) [2019.2] Make sure ldap attrs are string types on
291018         python 2 @ 2019-03-05 19:18:30 UTC
291019
291020         · c310022 Merge pull request #51964 from dwoz/issue_51816
291021
291022         · a879140 Merge branch '2019.2' into issue_51816
291023
291024         · 0e61cf3 Fix linter errors/warnings
291025
291026         · 171217a Revert debug logging
291027
291028         · 8c641c6 make LDAP attr defaults string types on py2
291029
291030       · PR #51976: (s0undt3ch) [2019.2] Nox fixes @ 2019-03-05 18:56:49 UTC
291031
291032         · cb817f1   Merge   pull   request   #51976    from    s0undt3ch/fea‐
291033           tures/nox-2019.2
291034
291035         · 0b4e68c Lint fixes
291036
291037         · 257b3fc Windows needs special treatment
291038
291039         · b298da0 Requirements fixes
291040
291041         · 4f45a7e We need a fixed winrm-fs so that dotfiles are also included
291042
291043         · fa70af2 use kitchen-salt from my fork for now
291044
291045       · PR  #51761: (sdodsley) Add new module to release notes for 2019.2.0 @
291046         2019-03-05 09:44:56 UTC
291047
291048         · PR #51681: (sdodsley) Add new module to release notes for  2019.2.0
291049           (refs: #51761)
291050
291051         · f867e6e     Merge     pull     request     #51761    from    sdods‐
291052           ley/cheery_pick_fb_releasenotes
291053
291054         · 80192c8 Add new module to release notes for 2019.2.0
291055
291056       · PR #51799: (s0undt3ch) Catch attribute error  @  2019-03-05  09:38:08
291057         UTC
291058
291059         · 08e3956 Merge pull request #51799 from s0undt3ch/2019.2
291060
291061         · 342244a Merge branch '2019.2' into 2019.2
291062
291063         · 3e8a17e Catch attribute error
291064
291065       · PR  #51810:  (Ch3LL) Add 2019.2.1 release notes @ 2019-03-05 09:26:47
291066         UTC
291067
291068         · ff5d7d6 Merge pull request #51810 from Ch3LL/2019.2.1_rn
291069
291070         · aaee5fa Add 2019.2.1 release notes
291071
291072       · ISSUE #51824: (OrangeDog) schedule.present state  not  idempotent  in
291073         2019.2.0 (refs: #51849)
291074
291075       · PR  #51849:  (garethgreenaway) [2019.2] Fix to schedule.list function
291076         to filter out attributes that are None @ 2019-03-01 19:56:17 UTC
291077
291078         · PR #51647: (dwoz) [develop] increase batch test timeout on  windows
291079           (refs: #51849)
291080
291081         · 3732004    Merge    pull    request    #51849   from   garethgreen‐
291082           away/51824_splay_breaking_schedule_present
291083
291084         · a0af441  Merge  branch  '2019.2'  into  51824_splay_breaking_sched‐
291085           ule_present
291086
291087       · PR  #51878:  (Ch3LL)   Add  new  terraform salt-ssh roster feature to
291088         release notes @ 2019-02-27 19:18:49 UTC
291089
291090         · 3fdb564 Merge pull request #51878 from Ch3LL/terraform_rn
291091
291092         · 502d197 fix spelling error in release notes
291093
291094         · 4d53b41 Add new terraform salt-ssh roster feature to release notes
291095
291096       · PR #51837: (stratusjerry) Update win_pkg.py @ 2019-02-26 16:51:35 UTC
291097
291098         · PR #49039: (stratusjerry) Update win_pkg.py (refs: #51836, #51837)
291099
291100         · e63c872  Merge  pull   request   #51837   from   stratusjerry/back‐
291101           port_49039_2019.2
291102
291103         · 531b23d Update win_pkg.py
291104
291105         · 39b5645 Splay defaulting to None internally, broke schedule.present
291106           causing it to always  report  differences  when  a  state  is  run.
291107           Updating  the  schedule.list  function  to check if an attribute is
291108           None and remove it.
291109
291110       · PR #51772: (Ch3LL) Update release versions for the  2019.2  branch  @
291111         2019-02-25 14:16:40 UTC
291112
291113         · 27dd9fb Merge pull request #51772 from Ch3LL/doc_conf_2019
291114
291115         · f28cc9b [2019.2] change build_type and release in doc/conf.py
291116
291117         · 4c670e2 Update release versions for the 2019.2 branch
291118
291119       · PR  #51776:  (garethgreenaway)  [2019.2] Merge forward from 2018.3 to
291120         2019.2 @ 2019-02-24 22:08:58 UTC
291121
291122         · 45425a4 Merge pull request #51776 from garethgreenaway/merge-2018.3
291123
291124         · 186306a  reverting  change  in  release  notes,  adding  change  to
291125           doc/ref/modules/all/index.rst.
291126
291127         · 1ef140a Fixing lint.
291128
291129         · 6173578 Fixing lint errors
291130
291131         · 38dcab9 fixing lint
291132
291133         · e37fc20 Merge branch '2018.3' into merge-2018.3
291134
291135         · 7e3e71c Merge pull request #51756 from twangboy/fix_case_sensitive
291136
291137           · 4c55040 Fix failing py3 tests
291138
291139           · 64f45f8 Make recurse and directory case sensitive
291140
291141         · e75fc1c Merge pull request #51747 from ymasson/fix_mysql_grants
291142
291143           · f614dd7 Fix escaping for special charaters
291144
291145         · b1f7e85   Merge  pull  request  #51387  from  chrillux/make-binary‐
291146           data-output-possible
291147
291148           · 010393e Make binary data output possible
291149
291150         · 3475813 Merge pull request #51694 from assafShapira/2018.3
291151
291152           · 895b97a Merge branch '2018.3' into 2018.3
291153
291154           · bc2d27a       fix        minion        bootstrapping        issue
291155             "/usr/lib/python2.7/site-packages/salt/utils/cloud.py",  line 472
291156             Configuration value u'provider' needs to be set
291157
291158         · c7136cb  Merge  pull  request  #51738  from   garethgreenaway/nfta‐
291159           bles_cleanup
291160
291161           · 8201d1e Fixing lint.
291162
291163           · d681064 Merge branch '2018.3' into nftables_cleanup
291164
291165           · e37458e Fixing a couple tests.
291166
291167           · ed1b743  Additional cleanup.  Adding additional documentation for
291168             state module.
291169
291170           · dc4afbb More updates to nftables module, state modules, and  unit
291171             tests.
291172
291173           · 3ec96e3  initial  work to cleanup the nftables module, state mod‐
291174             ule, and the unit tests.
291175
291176         · 2121049   Merge   pull   request   #51733    from    s0undt3ch/fea‐
291177           tures/nox-2018.3
291178
291179           · 97532c2 Add initial nox configuration. Tell tox'ers to use nox'.
291180
291181         · f4adf33 Merge pull request #51728 from gtmanfred/virtualnames
291182
291183           · 61b4390 fix modulenames from virtualnames tests
291184
291185         · d681fb9 Merge pull request #51721 from dwoz/solarisipstests
291186
291187           · 3263d31  Merge  remote-tracking  branch  'saltstack/2018.3'  into
291188             solarisipstests
291189
291190         · fb0a538 Merge pull request #51676 from Ch3LL/merge-2018.3.4
291191
291192           · 8111479 Merge branch '2018.3' into merge-2018.3.4
291193
291194         · e08f08d Merge pull request #50812 from gtmanfred/virtualnames
291195
291196           · d59952f Merge branch '2018.3' into virtualnames
291197
291198           · 33bb5bf fix use of virtualname
291199
291200             · 2ca1253 Merge branch 'merge-2018.3.4' of  github.com:Ch3LL/salt
291201               into merge-2018.3.4
291202
291203               · 6d6910a Merge branch '2018.3' into merge-2018.3.4
291204
291205             · b5a6265 Fix ruby gems tests, again
291206
291207             · 05f2797 Merge branch '2018.3' into merge-2018.3.4
291208
291209             · 9f0999f Merge branch '2018.3' into merge-2018.3.4
291210
291211             · 139daa8 Merge branch '2018.3.4' into 2018.3
291212
291213               · 9741289      Merge      pull      request     #51646     from
291214                 dwoz/batch_exit_2018.3.4
291215
291216                 · a8f25bb increase batch test timeout on windows
291217
291218                      · 9caafec Skip solarisips when not on solaris
291219
291220         · 31c6785 Merge pull request #51714 from dwoz/gemstestagain_2018.3
291221
291222           · fab74bb Fix ruby gems tests, again
291223
291224         · 39aadfb Merge pull request #51689 from gtmanfred/2018.3
291225
291226           · 8c35d51 fix import
291227
291228           · 6a55cfdf specify minimum version of shade module
291229
291230         · a475b70   Merge   pull   request   #51469    from    s0undt3ch/hot‐
291231           fix/fix-suse-locale-docker
291232
291233           · 14f49b5  Don't prevent get_locale from working when running under
291234             docker
291235
291236         · a59585d Merge pull request #51671 from Ch3LL/merge-2018.3
291237
291238           · 64322db Fix is_windows utils call
291239
291240           · a5c8df0 Fix pylint
291241
291242           · 547889b Merge branch '2017.7' into '2018.3'
291243
291244             · bcc13db Merge pull request #51562 from  gilbrechbuhler/fix_rab‐
291245               bitmq_policy_change_check
291246
291247               · ed2b1e1 Fix RabbitMQ policy definition update check
291248
291249             · cafaa98 Merge pull request #51648 from dwoz/increase_wait
291250
291251               · e2377a9 Merge branch '2017.7' into increase_wait
291252
291253             · e3d28d9 Merge pull request #51643 from dwoz/batch_exit
291254
291255               · 42d1d02 increase batch test timeout on windows
291256
291257               · 7c2d7a4 Increase minion wait for slow boxes
291258
291259             · b5ae53a Merge pull request #51631 from Ch3LL/lint-2017
291260
291261               · c0aa4dc Fix linter by ignoring async await check.
291262
291263               · 396622c Merge branch '2017.7' into lint-2017
291264
291265             · ba8d0ea Merge pull request #51547 from s0undt3ch/2017.7
291266
291267               · 8e009e0 Allow NOT to install pip dependencies
291268
291269             · 30ce509    Merge   pull   request   #51182   from   lmf-mx/dar‐
291270               win-plist-update
291271
291272               · 4297c0d Merge branch '2017.7' into darwin-plist-update
291273
291274             · 68ac07f Merge pull request #51442 from dwoz/multi_master
291275
291276               · 40cb4db Merge branch '2017.7' into multi_master
291277
291278               · 2dc5171 Hanlde multi_master failover when daemonized
291279
291280             · 8df083c Merge pull request #51608 from dwoz/wait_minions_2017.7
291281
291282               · c55359f fix linter
291283
291284               · 4702e22 Wait for minions to be pingable before starting tests
291285
291286                 · 5afa0a1 Merge branch '2017.7' into darwin-plist-update
291287
291288                 · f46e8be Fix service name in minion plist
291289
291290                      · 1da9cd9 Fix pylint on 2017.7
291291
291292             · 39122ca Merge pull request #51589 from dwoz/script_fix_2017.7
291293
291294               · 8697ce7 Disable pylint checks, only for 2017.7
291295
291296               · e5972f5 Use the code directory instead of cwd for python path
291297
291298         · b8764fd Merge pull request #51680 from Ch3LL/bp-50336
291299
291300           · 3502dbb states.gpg: fix missing existing keys;  modules.gpg:  fix
291301             set trust level command
291302
291303       · PR  #51734:  (s0undt3ch) [2019.2] Add initial nox configuration. Tell
291304         tox'ers to use nox'.  @ 2019-02-21 17:39:29 UTC
291305
291306         · 1894082   Merge   pull   request   #51734    from    s0undt3ch/fea‐
291307           tures/nox-2019.2
291308
291309         · 01b74c0 Add initial nox configuration. Tell tox'ers to use nox'.
291310
291311       · PR #51707: (isbm) Bugfix: pillar refresh @ 2019-02-21 15:12:49 UTC
291312
291313         · 74db589 Merge pull request #51707 from isbm/isbm-pillar-refresh-fix
291314
291315         · 269ae76 Refresh matchers and beacons on pillar refresh
291316
291317       · PR  #51674:  (Ch3LL)  [2019.2]  Merge forward from 2018.3 to 2019.2 @
291318         2019-02-20 17:35:07 UTC
291319
291320         · 82cbd98 Merge pull request #51674 from Ch3LL/merge-2019.2
291321
291322         · 4171271 Fix pylint, remove unused import
291323
291324         · 3f14619 Remove skipif and change  expected  return  for  solarisips
291325           test
291326
291327         · d3660d5 Merge branch '2019.2' into merge-2019.2
291328
291329       · PR  #51715:  (dwoz)  [2019.2] Fix ruby gems tests, again @ 2019-02-19
291330         21:44:21 UTC
291331
291332         · 7a82c65 Merge pull request #51715 from dwoz/gemstestagain_2019.2
291333
291334         · 95ce288 Fix ruby gems tests, again
291335
291336         · 043efa0 Skip solarisips when not on solaris
291337
291338         · 7ed0d7d Fix ruby gems tests, again
291339
291340         · b46eac3 Merge branch '2019.2' into merge-2019.2
291341
291342       · PR #51561: (isbm)  SaltSSH:  fix  delay  when  creating  thin  TAR  @
291343         2019-02-19 10:15:47 UTC
291344
291345         · 0bd2d6e  Merge  pull  request  #51561  from isbm/isbm-saltssh-thin‐
291346           tar-delay-fix
291347
291348         · 2b02975 Give up on sync for Py3 because of the way  tests  for  py2
291349           are written here
291350
291351         · f79c81a Update UT mocking, adjusting for temporary file
291352
291353         · 2f90054  Use  temporary  filename instead of output directly to the
291354           "thin.tgz"
291355
291356         · d841164 Copy over the result, cleanup afterwards
291357
291358         · c6792ee Add a function that reserves temporary filename for further
291359           tarball generation
291360
291361       · PR #51678: (Ch3LL) [2019.2] Merge forward from 2019.2.0.rc1 to 2019.2
291362         @ 2019-02-17 19:02:33 UTC
291363
291364         · 5f9764a Merge pull request #51678 from Ch3LL/merge-2019.2.0.rc
291365
291366         · f8372ca Merge branch '2019.2' into merge-2019.2.0.rc
291367
291368       · ISSUE #51503: (garethhowell) smartos.image_present fails  with  "does
291369         not exist" (refs: #51383)
291370
291371       · ISSUE  #51351:  (garethhowell)  Exception using smartos.vm_present to
291372         create docker zone (refs: #51383)
291373
291374       · PR #51679: (Ch3LL) Backport #51383 into 2019.2 @ 2019-02-16  00:31:06
291375         UTC
291376
291377         · PR  #51383:  (sjorge) imgadm module should deal with invalid images
291378           better (refs: #51679)
291379
291380         · 2036c8a Merge pull request #51679 from Ch3LL/bp-51383
291381
291382         · e4971fc imgadm module should deal with invalid images better
291383
291384         · 58f2407 Merge branch '2019.2.0.rc1' into 2019.2
291385
291386           · 6292f86 Revert "Remove custom grains module from 2018.3 branch"
291387
291388           · 92bd6b9 Fix salt.utils.is_windows call
291389
291390           · ffa2f5f Merge branch '2018.3' into '2019.2'
291391
291392           · a8898f6 Merge pull request #51635 from  lomeroe/lgpo_boolean_ele‐
291393             ment_fix
291394
291395             · b97c2b2 Merge branch '2018.3' into lgpo_boolean_element_fix
291396
291397             · 5a98fb9 Merge branch '2018.3' into lgpo_boolean_element_fix
291398
291399           · abd3760    Merge    pull   request   #51610   from   garethgreen‐
291400             away/51266_schedule_enable_disable_break_save
291401
291402             · fbacb35 Merge branch '2018.3'  into  51266_schedule_enable_dis‐
291403               able_break_save
291404
291405           · 6765eea Merge pull request #51649 from dwoz/increase_wait_2018.3
291406
291407             · 9c964ef Merge branch '2018.3' into increase_wait_2018.3
291408
291409           · 852a6be Merge pull request #51644 from dwoz/batch_exit_2018.3
291410
291411             · 1087d10 increase batch test timeout on windows
291412
291413             · 918030e Increase minion wait for slow boxes
291414
291415             · 3d52b26  Merge  branch '2018.3' into 51266_schedule_enable_dis‐
291416               able_break_save
291417
291418           · dadf414   Merge   pull   request   #51637   from   twangboy/back‐
291419             port_50887_2018.3
291420
291421             · d8d2b86 backport #50887
291422
291423           · a55e8f6 Merge pull request #51626 from twangboy/fix_lgpo_2018.3
291424
291425             · b2c9c3b Use makedirs instead of mkdir
291426
291427                  · 2be2f42    Merge   branch   '2018.3'   into   51266_sched‐
291428                    ule_enable_disable_break_save
291429
291430           · 0f1a411  Merge  pull  request  #51187  from   menglong81/fix-bro‐
291431             ken-thing
291432
291433             · 298ad5c Merge branch '2018.3' into fix-broken-thing
291434
291435             · d879d18 fix broken network.py
291436
291437             · 76770f3 ss commmand replace to netstat command
291438
291439             · 241707e ss commmand replace to netstat command
291440
291441                  · deeefc7    Merge   branch   '2018.3'   into   51266_sched‐
291442                    ule_enable_disable_break_save
291443
291444           · 7ed5189 Merge pull request #51613 from twangboy/fix_51566
291445
291446             · 1206a94 Merge branch '2018.3' into fix_51566
291447
291448           · 8b06d06 Merge pull request #51630 from twangboy/add_tests_51534
291449
291450             · ddc017c Merge branch '2018.3' into add_tests_51534
291451
291452           · c4bbe1a    Merge    pull     request     #51177     from     nul‐
291453             lify005/51069-ri-and-rdoc-removed
291454
291455             · 6b1a201 Merge branch '2018.3' into 51069-ri-and-rdoc-removed
291456
291457             · f339608 Merge branch '2018.3' into 51069-ri-and-rdoc-removed
291458
291459             · e586370 Merge branch '2018.3' into 51069-ri-and-rdoc-removed
291460
291461             · 13d3288 Fix lint issues
291462
291463             · 5de5e64 Update tests
291464
291465             · 22eda16 Fix lint violations
291466
291467             · 2e6252c Support rubygems 3 cli param changes
291468
291469                  · 9e3a01b Use existing file instead of tzutil
291470
291471                  · 30c1832 Use tempfile to get temp dir
291472
291473                  · e3d3c5a Add tests for issue 51309
291474
291475                  · 1168141 Add test for explicit lists
291476
291477                  · 84f5d63 Merge branch '2018.3' into fix_51566
291478
291479                  · 7376cb9 Handle explicit lists properly
291480
291481                        · 28fc070  Merge  branch  '2018.3'  into  51266_sched‐
291482                          ule_enable_disable_break_save
291483
291484                        · 0760133 adding integration.scheduler.test_helpers to
291485                          various    files    to   by   pass   the   test_mod‐
291486                          ule_name_source_match check.
291487
291488                        · 1552fba lint cleanup
291489
291490                        · 086066b Adding a test to ensure _get_schedule  which
291491                          is  used  by the save functionality works when there
291492                          is an enabled attribute.
291493
291494                        · 1c6d4fb When looping through the schedule to  remove
291495                          hidden  attributes,  we  should  only do that if the
291496                          item in question is a dictionary.  It could  be  the
291497                          attribute  that determines if the entire scheudle is
291498                          enabled or disable.
291499
291500                        · 5ed8eb6 Properly create the value for a "True" bool‐
291501                          ean element item
291502
291503           · f1e29c8 Merge pull request #51548 from s0undt3ch/2018.3
291504
291505             · 611065e Merge branch '2018.3' into 2018.3
291506
291507           · 00a6246     Merge     pull     request     #51622    from    bre‐
291508             joc/2018.3-empty-job-workaround
291509
291510             · d263410 Prevents crash when there is no job entry
291511
291512             · 5342305 Allow NOT to install pip dependencies
291513
291514           · fdb13a3 Merge pull request #51523 from lomeroe/solarisips_fixes
291515
291516             · e8e91e3 Merge branch '2018.3' into solarisips_fixes
291517
291518             · b7bfe17 lint fixes
291519
291520             · cdaccf4 add tests to validate command being sent to cmd.run_all
291521
291522             · eaa229d add unit test
291523
291524             · 432428d Don't assume that each item in "pkgs"  is  a  dict  (as
291525               packed by pkg.installed state).
291526
291527           · e3d5fbe    Merge    pull   request   #51577   from   garethgreen‐
291528             away/merge-2017.7
291529
291530             · e060b97 Merge branch '2018.3' into merge-2017.7
291531
291532             · 3eee038 Fixing a couple issues that did not merge properly.
291533
291534             · 25b2ca6 Merge branch '2018.3' into merge-2017.7
291535
291536             · c337fce Merge branch '2018.3' into merge-2017.7
291537
291538             · f9d6828 Fixing missed merge.
291539
291540             · a041775 Merge branch '2017.7' into merge-2017.7
291541
291542               · 61889ba Merge pull request #51452 from terminalmage/bp-50963
291543
291544                 · 54d2e02 Merge branch '2017.7' into bp-50963
291545
291546               · 0c989f0   Merge   pull    request    #51437    from    twang‐
291547                 boy/fix_raise_2017.7
291548
291549                 · ecd1637 Merge branch '2017.7' into fix_raise_2017.7
291550
291551                 · f3c9cd4 Add missing raise statement
291552
291553                   · d06526c Allow for kwargs to be used in object initializa‐
291554                     tion
291555
291556                   · 0e760b5 pip states: Use case-insensitive dictionaries for
291557                     pip.list return
291558
291559                   · 5ca9f82 Add a CaseInsensitiveDict implementation
291560
291561                   · 2aaa9f9   pip.installed:  Fix  traceback  when  _find_key
291562                     doesn't return a match
291563
291564               · 67b7d28 Merge pull request #51370 from dwoz/setup_py_req_fix
291565
291566                 · e1e06a0 Fix python 3 path for shell test cases
291567
291568                 · 09cd5fc Merge branch '2017.7' into setup_py_req_fix
291569
291570                 · 0de189d Handle pipenv like version restrictions
291571
291572               · e9b3d94 Merge pull request #51367 from dwoz/cloud_config_2017
291573
291574                 · 3f4c5a3e    Merge     branch     'cloud_config_2017'     of
291575                   github.com:dwoz/salt into cloud_config_2017
291576
291577                   · 8b8d41a Merge branch '2017.7' into cloud_config_2017
291578
291579                 · 7bb4ceb Fix python 3 path for shell test cases
291580
291581                 · a2bbf4d Fix linter issues
291582
291583                 · 004d9b8 Cloud provider and profile configs are merged
291584
291585               · 3a21afa  Coverage on windows chokes with the tox env var COV‐
291586                 ERAGE_PROCESS_START
291587
291588               · 1c62e27 Switch required PyTest dependency
291589
291590               · b80320d Merge pull request #51402 from dwoz/win_test_fix
291591
291592                 · 21359e6 Merge branch '2017.7' into win_test_fix
291593
291594               · 1199530 Merge pull request #51397 from dwoz/gemstest
291595
291596                 · 43ac36e Use gems.github.com no longer exists,  use  gemcut‐
291597                   ter.org
291598
291599                 · bac652f Add testing path to run_script commands
291600
291601               · f511ad2      Merge      pull      request     #51227     from
291602                 astronouth7303/doc-modules-additional-globals
291603
291604                 · cbe1e17  Merge  branch  '2017.7'   into   doc-modules-addi‐
291605                   tional-globals
291606
291607               · 2a9bf17   Merge   pull  request  #51312  from  s0undt3ch/fea‐
291608                 tures/tox-runtests
291609
291610                 · 3840af8 "Tell" coverage to track subprocesses.
291611
291612                 · f67a529 Remove unused imports
291613
291614                 · 15ab061 Show objects on assertion failure
291615
291616                 · 0281fc5 Don't fail the test because of order
291617
291618                 · 9a31be7 Don't call .keys() on dictionaries
291619
291620                 · 97ced3a Add pytest-salt-from-filenames to  pytest  require‐
291621                   ments
291622
291623                 · 8d2c4d2 Remove duplicate dependency
291624
291625                 · 5eec144 Add .coveragerc
291626
291627                 · aa108d5 Run tests from tox, wether runtests or pytest
291628
291629                 · 80a3826 Update TODO
291630
291631                 · 1945c30 Document the client-defined dunders
291632
291633           · 5bb9b32  Merge  pull  request  #51393  from garethgreenaway/vari‐
291634             ous_documentation_fixes
291635
291636             · 8bb7535 Merge branch '2018.3' into various_documentation_fixes
291637
291638             · c15406a Merge branch '2018.3' into various_documentation_fixes
291639
291640             · 33bb4e4 Merge branch '2018.3' into various_documentation_fixes
291641
291642             · 3582f6e Fixing the underline.
291643
291644             · a8f42a0 Various documentation fixes.
291645
291646           · 884981f Merge pull request #51465 from ezh/50556
291647
291648             · a3ee70c fix #50556 state.orchestrate_show_sls
291649
291650           · 231d6e2 Merge pull request #51541 from  bdrung/silence-linux_dis‐
291651             tribution-deprecation-warning
291652
291653             · c4feea1  Merge  branch  '2018.3'  into  silence-linux_distribu‐
291654               tion-deprecation-warning
291655
291656             · e1dcbb5 Silence linux_distribution deprecation warning
291657
291658           · f87d5ec Merge pull request #51558 from bdrung/test-zypp-plugin
291659
291660             · c34967d Merge branch '2018.3' into test-zypp-plugin
291661
291662           · edb1093 Merge pull request #51609 from dwoz/wait_minions_2018.3
291663
291664             · d794edb fix linter
291665
291666             · d6720d2 Wait for minions to be pingable before starting tests
291667
291668           · 8d79359 Merge pull request #51599 from terminalmage/bp-51510
291669
291670             · ed194c7 grains: assign os_family Debian  to  Debian  derivative
291671               TurnKey Linux
291672
291673           · 24aa083    Merge    pull    request    #51598    from   terminal‐
291674             mage/add-grain-option-documentation
291675
291676             · 4ee9440 Improve ec2 pillar documentation
291677
291678             · 9c02104 Add link to metadata grain module docs
291679
291680             · 997ce26 Add documentation for the metadata_server_grains config
291681               option
291682
291683           · d89c489 Merge pull request #51491 from terminalmage/issue51268
291684
291685             · 550e9ab Don't log shell warning if output_loglevel is quiet
291686
291687                  · 7678c28 Do not load zyppnotify file on module import
291688
291689           · c6dfded Merge pull request #51588 from dwoz/script_fix_2018.3
291690
291691             · cbac390 Use the code directory instead of cwd for python path
291692
291693       · PR  #51658:  (dwoz)  [2019.2] Let memcopy make the null bytes, better
291694         py3 support @ 2019-02-15 05:42:37 UTC
291695
291696         · PR #51586: (garethgreenaway) [2019.2] Merge forward from 2018.3  to
291697           2019.2 (refs: #51658)
291698
291699         · 1ea6f4b Merge pull request #51658 from dwoz/pip_test_fix
291700
291701         · c811a70 Let memcopy make the null bytes, better py3 support
291702
291703       · PR  #51650:  (dwoz)  [2019.2]   Increase minion wait for slow boxes @
291704         2019-02-14 16:31:59 UTC
291705
291706         · 22a04c1 Merge pull request #51650 from dwoz/increase_wait_2019.2
291707
291708         · ad294f3 Merge branch '2019.2' into increase_wait_2019.2
291709
291710       · PR #51645: (dwoz) [2019.2] increase batch test timeout on  windows  @
291711         2019-02-14 16:29:26 UTC
291712
291713         · a0982f7 Merge pull request #51645 from dwoz/batch_exit_2019.2
291714
291715         · 1a882d7 Merge branch '2019.2' into batch_exit_2019.2
291716
291717       · PR  #51586:  (garethgreenaway)  [2019.2] Merge forward from 2018.3 to
291718         2019.2 (refs: #51658) @ 2019-02-14 16:25:29 UTC
291719
291720         · 705a62d Merge pull request #51586 from garethgreenaway/merge-2018.3
291721
291722         · 09fb3e7 Merge branch '2019.2' into merge-2018.3
291723
291724         · 95c505a Merge branch '2019.2' into merge-2018.3
291725
291726         · 4abd9d0 Merge branch '2019.2' into merge-2018.3
291727
291728         · 6c99cb1 Merge branch '2018.3' into merge-2018.3
291729
291730           · 41e25a6   Merge   pull   request   #51580    from    garethgreen‐
291731             away/merge-2018.3.4
291732
291733             · 84e15ce Fixing lint
291734
291735             · e891b3f Merge branch '2018.3.4' into merge-2018.3.4
291736
291737             · d0cad3e  Merge  pull  request  #51553 from twangboy/update_lib‐
291738               sodium
291739
291740               · 4177f64 Update url to libsodium for mac builds
291741
291742             · 564a65a    Merge    pull    request    #51544    from    twang‐
291743               boy/fix_test_ssh_2018.3.4
291744
291745               · 7771632 Fix ssh on Windows
291746
291747             · b4299a3    Merge    pull    request    #51532    from   frogun‐
291748               der/new_releasenotes
291749
291750               · 09faf0b Merge branch '2018.3.4' into new_releasenotes
291751
291752               · c6bfe53 2018.3.4 releasenotes
291753
291754             · c37bdb7 Merge pull request #51534 from twangboy/fix_51309
291755
291756               · 3ad95bc Convert data to string using salt util
291757
291758             · 5b41af3   Merge   pull   request   #51530   from   garethgreen‐
291759               away/48204_mysql_module_handle_mariadb_versions
291760
291761               · cdf5298  Later  versions of MariaDB still support "ALL PRIVI‐
291762                 LEGES"
291763
291764               · d31c902 Updating the mysql module to handle MariDB versions.
291765
291766             · f3f345c Merge pull request #51529 from frogunder/releasenotes
291767
291768               · fb678ee fix escaped asterisks
291769
291770               · 6a4f0da 2018.3.4 releasenotes
291771
291772             · a37fb7d  Merge  pull   request   #51525   from   twangboy/back‐
291773               port_51095_2018.3.4
291774
291775               · b6acc92 Backport 51095
291776
291777             · 602ddc8 Merge pull request #51520 from frogunder/man_pages
291778
291779               · 0cbe3f8 Update man pages for 2018.3.4
291780
291781             · 1f981c6     Merge     pull    request    #51429    from    yos‐
291782               noop/replace-noclass-with-nocl-for-dig
291783
291784               · 5231e73       Merge       branch       '2018.3.4'        into
291785                 replace-noclass-with-nocl-for-dig
291786
291787               · 14e6fb7 In case the test machine can't resolve
291788
291789               · 95e8a2f The +nocl is supported much wider than +noclass
291790
291791               · a00d708 Test dig options for salt.utils.dns.lookup
291792
291793             · 209ef32 Merge pull request #51441 from Ch3LL/bp-51366
291794
291795               · 5bc466e Fix python 3 path for shell test cases
291796
291797               · 5351e5c Add testing path to run_script commands
291798
291799               · 2d8a364 Fix linter issues
291800
291801               · 9b8718a Cloud provider and profile configs are merged
291802
291803             · 90a8682 Merge pull request #51458 from twangboy/add_py2_warning
291804
291805               · 05522c0 Merge branch '2018.3.4' into add_py2_warning
291806
291807             · b492021 Merge pull request #51460 from twangboy/update_install‐
291808               er_mac_2018.3.4
291809
291810               · 3c92688  Merge   branch   '2018.3.4'   into   update_install‐
291811                 er_mac_2018.3.4
291812
291813             · 892d98c    Merge    pull    request    #51471    from    twang‐
291814               boy/fix_test_win_dns_client
291815
291816               · c9f6b01 Merge branch '2018.3.4' into fix_test_win_dns_client
291817
291818             · a05305d Merge  pull  request  #51462  from  ShantonRU/fix-inse‐
291819               cure-sql-queries-in-mysql-module-1
291820
291821               · d3ef2cb    Merge    branch    '2018.3.4'    into    fix-inse‐
291822                 cure-sql-queries-in-mysql-module-1
291823
291824               · f47dda6  Fix  improper  use  of  socket   authentication   in
291825                 mysql.user_chpass
291826
291827               · ed62a2f Fix insecure SQL queries in mysql.user_chpass
291828
291829                 · 33922c9 Fix the failing dns test on Windows
291830
291831             · 48936c2  Merge  pull  request #51445 from terminalmage/fix-cus‐
291832               tom-grains-traceback
291833
291834               · 191235d Remove custom grains module from 2018.3 branch
291835
291836               · 72fd1a2 Roll back icon change
291837
291838               · 7dd1704 Add welcome_py2.rtf
291839
291840               · c93e9e3 Add Py2 Warning to installer package
291841
291842               · b658900 Add Py2 Warning for Py2 Installer
291843
291844             · a880e42    Merge    pull    request    #51438    from    twang‐
291845               boy/fix_raise_2018.3.4
291846
291847               · 5830fad Add missing raise statement
291848
291849             · 28b898c Merge pull request #51432 from Ch3LL/bp-51324
291850
291851               · bd41ff0  Fixing  various bits in x509 module and unit test to
291852                 ensure tests are passing on python2 & python3
291853
291854             · 01717d2 Merge  pull  request  #51377  from  twangboy/fix_audit‐
291855               pol_2018.3.4
291856
291857               · 19e5181 Fix issue when directory doesn't exist
291858
291859             · 43a9d2f Merge pull request #51338 from Ch3LL/bp-51207
291860
291861               · 345ae67 Backport PR# 50771 to 2018.3 branch
291862
291863             · 3dcd11d Merge pull request #51337 from Ch3LL/bp-51170
291864
291865               · 4e85505 Merge branch '2018.3.4' into bp-51170
291866
291867             · 7656aa5 Merge pull request #51340 from Ch3LL/bp-51252
291868
291869               · e74a6c6 Fix py3 managed.file test failure
291870
291871               · 6f2c7cf Remoe un-needed log statement
291872
291873               · 824950c Fix 50221 regression test on Windows
291874
291875               · 1840af9 peserve newlines from pillar data for file.managed
291876
291877             · e90ca1d   Merge   pull   request   #51290  from  s0undt3ch/hot‐
291878               fix/fix-network
291879
291880               · da3aace Merge branch '2018.3.4' into hotfix/fix-network
291881
291882               · 04f16b8 Fix tests. We no longer get ipaddress instances back.
291883
291884               · c3fa82a Fix minion start issue
291885
291886                 · c893dc4 Fix saltmod roster test
291887
291888                 · b61854f Roster defines the roster system not a file
291889
291890                 · 484bab4 Fix linter
291891
291892                 · 5e2db2f Honor roster file for ssh orchestrations
291893
291894             · c8db7e3   Merge   pull   request    #51317    from    terminal‐
291895               mage/fix-pr-50417
291896
291897               · 4be2891 Merge branch '2018.3.4' into fix-pr-50417
291898
291899             · e246fdb    Merge    pull    request    #51311    from    twang‐
291900               boy/fix_test_file.test_managed
291901
291902               · f4177e0 Remove mode parameter on Windows
291903
291904               · 4c4ded3 Fix regression in dynamic pillarenv
291905
291906             · 40b20126 Merge pull request #51292 from Ch3LL/bp-51226
291907
291908               · aba114e Merge branch '2018.3.4' into bp-51226
291909
291910             · fc0bec5 Merge pull request #51295 from Ch3LL/bp-51279
291911
291912               · 5c4a7a4 Merge branch '2018.3.4' into bp-51279
291913
291914             · dacd1ea Merge pull request #51293 from Ch3LL/bp-51233-2
291915
291916               · a155fd7 Accounting for when permissions are not returned from
291917                 file.check_perms, eg. windows systems.
291918
291919               · 53ba068  When  test=True  and  there are permissions changes,
291920                 report it.
291921
291922               · d2eba77 Remove network.py patch
291923
291924               · d431c71 Add __context__ support
291925
291926                 · de6c13d Handle spaces in fstab opts, similar fix to #39593
291927
291928             · 1abffb2 Merge pull request #51278 from dwoz/issue51248
291929
291930               · c614198 Use pillar roots validation method
291931
291932               · 0d2b0c6 Fix linter warnings
291933
291934               · 5b98895 Fix wart in pillar_roots validation
291935
291936           · f7d50b1 Merge pull request #50784 from sathieu/dynamic_file_roots
291937
291938             · 7ca2aa4 Allow dynamic file_roots
291939
291940           · 5e840a5 Merge pull request #51527 from garethgreenaway/bp-51475
291941
291942             · 801abf2 Fix Elasticsearch retuner
291943
291944           · 1f6da6a Merge pull request #50921 from terminalmage/issue49894
291945
291946             · a35c023    Don't    use    a     decorator     that     assumes
291947               /etc/apt/sources.list.d exists
291948
291949             · 6a62e79 Add integration test for architecture support
291950
291951             · 67ae5a5  Add  support for architectures for APT pkgrepo.managed
291952               states
291953
291954           · 3f17776 Actually, remove python-ldap. It needs system deps.  Have
291955             salt-jenkins do it.
291956
291957           · afcb6bd Fix the ldap pacakge name in requirements/tests.txt
291958
291959           · 588cb87  Merge pull request #51454 from terminalmage/fix-depreca‐
291960             tion-warning
291961
291962             · 529cce0 Fix deprecation warning in nested outputter
291963
291964           · 13de0b8 Merge pull request #50963 from terminalmage/issue50942
291965
291966             · c84be3f Allow for kwargs to be used in object initialization
291967
291968             · 2bf93fd  pip  states:  Use  case-insensitive  dictionaries  for
291969               pip.list return
291970
291971             · 792f054 Add a CaseInsensitiveDict implementation
291972
291973             · 1410164  pip.installed:  Fix  traceback  when _find_key doesn't
291974               return a match
291975
291976           · 60953b7 Merge pull request #51366 from dwoz/cloud_config_merge
291977
291978             · ae351eb Fix python 3 path for shell test cases
291979
291980             · 48062c8 Merge branch '2018.3' into cloud_config_merge
291981
291982             · eeea289 Add testing path to run_script commands
291983
291984             · 542d857 Fix linter issues
291985
291986             · a8af3ba Cloud provider and profile configs are merged
291987
291988           · 9ab2ec6 Coverage on windows chokes with the tox  env  var  COVER‐
291989             AGE_PROCESS_START
291990
291991           · 4994c38 Switch required PyTest dependency
291992
291993           · 89710a7 Merge pull request #51401 from dwoz/run_script_win
291994
291995             · 77fdf35 Add testing path to run_script commands
291996
291997           · 1438a62 Merge pull request #51389 from terminalmage/proxy-fixes
291998
291999             · 3cec85e Normalize results if test proxy is enabled
292000
292001           · 8acd9e5 Merge pull request #51368 from s0undt3ch/hotfix/tests
292002
292003             · f4e1692 Fix test
292004
292005           · ab60782 Merge pull request #51319 from terminalmage/issue51255
292006
292007             · 04eb66b Merge branch '2018.3' into issue51255
292008
292009           · fdf2cf4     Merge     pull     request     #51250    from    yos‐
292010             noop/fix-salt-utils-dns-lookup
292011
292012             · 0ddfad1 Merge branch '2018.3' into fix-salt-utils-dns-lookup
292013
292014             · 9fb4abe Merge branch '2018.3' into fix-salt-utils-dns-lookup
292015
292016             · 67e4131 Merge branch '2018.3' into fix-salt-utils-dns-lookup
292017
292018             · 9a34bcd Unit test for lookup with servers option
292019
292020             · 9498fdc Fix _lookup_host to make it work when server specified
292021
292022             · af867e1 Remove excessive whitespaces
292023
292024             · 0d074a4 Fix a comment
292025
292026             · 1363d2b Proper way to specify _server_ to query with _host_
292027
292028             · 7b2facc Fix broken lookup in salt/utils/dns.py
292029
292030           · 73528a5 Merge pull request #51339 from dwoz/aws_role_backport
292031
292032             · 156f532 Backport aws role support
292033
292034           · 7908875 Merge pull request #51341 from Ch3LL/bp-51299
292035
292036             · e3080f1 Add sleep before sending stop over UDP
292037
292038           · 326425c  Merge  pull  request  #51352  from  garethgreenaway/fix‐
292039             ing_service_beacon_documentation
292040
292041             · 021fe85  Fixing  the  documentation for the service beacon.  If
292042               not options are provided for the service then there needs to be
292043               an empty dictionary.
292044
292045           · 14a84e8 Merge pull request #51333 from Ch3LL/merge-2018.3
292046
292047             · 27d7a89 Merge branch '2018.3' into merge-2018.3
292048
292049           · 31b921f Merge pull request #51304 from terminalmage/issue51270
292050
292051             · 36673fb Merge branch '2018.3' into issue51270
292052
292053           · 2c3aef7   Merge   pull   request   #51313   from   s0undt3ch/fea‐
292054             tures/tox-runtests-2018.3
292055
292056             · 2eafc5c "Tell" coverage to track subprocesses.
292057
292058             · f6babeb Remove unused imports
292059
292060             · ff6824c Don't fail the test because of order
292061
292062             · 4d12ccb Show objects on assertion failure
292063
292064             · ee2f10a Add pytest-salt-from-filenames to pytest requirements
292065
292066             · 4f4d019 Remove duplicate dependency
292067
292068             · 1d4b9f5 Add .coveragerc
292069
292070             · 78c6d68 Run tests from tox, wether runtests or pytest
292071
292072             · c02757d gitfs: Fix use of deprecated pygit2 function
292073
292074               · ae62ebc Merge branch '2017.7' into '2018.3'
292075
292076               · 9309639 Merge pull request #51305 from s0undt3ch/2017.7
292077
292078                 · 09b20df Add 2017.7 codecov config
292079
292080               · 4fa2a02    Merge    pull    request    #51267    from    eth‐
292081                 frame/fix-file-directory
292082
292083                 · c108825 Fix missing file error in file.directory.
292084
292085                      · ad17ac5  Fix  mocks  to  reflect changes to git.latest
292086                        state
292087
292088                      · c817213 Don't try to  run  git.config_get_regexp  from
292089                        nonexistant cwd
292090
292091                      · f8c3e44 git.latest: add auth to merge/reset calls when
292092                        LFS used with SSH auth
292093
292094                            · 4b11d6b increase batch test timeout on windows
292095
292096                            · a5af9c5 Increase minion wait for slow boxes
292097
292098       · PR #51549: (s0undt3ch) [2019.2] Allow NOT to install pip dependencies
292099         @ 2019-02-13 18:16:52 UTC
292100
292101         · e7ee04e Merge pull request #51549 from s0undt3ch/2019.2
292102
292103         · d2125aa Allow NOT to install pip dependencies
292104
292105       · PR #51595: (mirceaulinic) Fix ipaddress imports @ 2019-02-13 17:33:08
292106         UTC
292107
292108         · c96464b      Merge       pull       request       #51595       from
292109           mirceaulinic/mircea/port-824e0e5
292110
292111         · 91bcb4f Merge branch '2019.2' into mircea/port-824e0e5
292112
292113         · 84fc76d Fix ipaddress imports
292114
292115       · PR  #51517:  (damianosSemmle)  Fixed string format index out of range
292116         error @ 2019-02-13 08:18:38 UTC
292117
292118         · e3c9a3e    Merge     pull     request     #51517     from     dami‐
292119           anosSemmle/fix-string-format-index
292120
292121         · c0959e2 Merge branch '2019.2' into fix-string-format-index
292122
292123       · PR  #51581: (garethgreenaway) [2019.2] Merge forward from 2019.2.0rc1
292124         to 2019.2 @ 2019-02-13 04:11:15 UTC
292125
292126         · 82500bb   Merge   pull    request    #51581    from    garethgreen‐
292127           away/merge-2019.2.0rc1
292128
292129         · b00e7e8 Merge branch '2019.2' into merge-2019.2.0rc1
292130
292131       · PR  #51607:  (dwoz)  [2019.2]  Wait for minions to be pingable before
292132         starting tests @ 2019-02-13 00:48:47 UTC
292133
292134         · edb5e94 Merge pull request #51607 from dwoz/wait_minions_2019.2
292135
292136         · ab0a6a3 fix linter
292137
292138         · f2e4a30 Wait for minions to be pingable before starting tests
292139
292140       · PR #51584: (dwoz) [2019.2] Use the code directory instead of cwd  for
292141         python path @ 2019-02-12 18:43:46 UTC
292142
292143         · 1e0275e Merge pull request #51584 from dwoz/script_fixes
292144
292145         · dbf4356 Use the code directory instead of cwd for python path
292146
292147         · cd24006 Merge branch '2019.2' into merge-2019.2.0rc1
292148
292149         · 6e55164 Merge branch '2019.2.0.rc1' into merge-2019.2.0rc1
292150
292151           · ac73745 Merge branch '2019.2' into fix-string-format-index
292152
292153       · PR   #51583:  (dwoz)  Add  testing  path  to  run_script  commands  @
292154         2019-02-11 21:38:51 UTC
292155
292156         · f446c52 Merge pull request #51583 from dwoz/scriptfix
292157
292158         · e49ba86 Add testing path to run_script commands
292159
292160         · 788f7e0 Fixed string format index out of range error
292161
292162       · PR #51405:  (aplanas)  Documentation:  fix  typo  in  "equivalent"  @
292163         2019-02-01 21:11:12 UTC
292164
292165         · c3e27be Merge pull request #51405 from aplanas/backport_49669
292166
292167         · 58279b4 Documentation: fix typo in "equivalent"
292168
292169       · PR  #51406:  (aplanas)  states_pt3:  fix rST link format @ 2019-02-01
292170         21:10:43 UTC
292171
292172         · 5c26652 Merge pull request #51406 from aplanas/backport_49670
292173
292174         · 204432d Merge branch '2019.2' into backport_49670
292175
292176       · PR #51426: (aplanas) mount:  cache  blkid  information  @  2019-02-01
292177         21:09:51 UTC
292178
292179         · fb70bd3 Merge pull request #51426 from aplanas/backport_51135
292180
292181         · ac790a6 Merge branch '2019.2' into backport_51135
292182
292183         · 66743d6 mount: cache blkid information
292184
292185       · PR  #51425:  (aplanas) cmdmod: add sysfs into the chroot @ 2019-02-01
292186         21:09:00 UTC
292187
292188         · 2e8bf05 Merge pull request #51425 from aplanas/backport_51094
292189
292190         · 9193106 cmdmod: add sysfs into the chroot
292191
292192       · PR #51419: (aplanas) file: update attributes for lsattr and chattr  @
292193         2019-02-01 21:04:54 UTC
292194
292195         · d7a47f0 Merge pull request #51419 from aplanas/backport_50607
292196
292197         · ab8a8b8 file: update attributes for lsattr and chattr
292198
292199       · PR #51414: (aplanas) service: SUSE is not based on sysvinit anymore @
292200         2019-02-01 21:02:33 UTC
292201
292202         · 7e020dd Merge pull request #51414 from aplanas/backport_50396
292203
292204         · b5cff17 service: SUSE is not based on sysvinit anymore
292205
292206       · PR #51408: (aplanas) parted: fix  the  ordering  of  list  command  @
292207         2019-02-01 21:00:19 UTC
292208
292209         · PR  #50473:  (aplanas)  parted:  support variable length output for
292210           print (refs: #51408)
292211
292212         · PR #49804: (aplanas) parted:  fix  the  ordering  of  list  command
292213           (refs: #51408)
292214
292215         · 9f87dda Merge pull request #51408 from aplanas/backport_49804
292216
292217         · 467daf2 parted: support variable length output for print
292218
292219         · da2e632 parted: fix the ordering of list command
292220
292221       · ISSUE  #50097:  (aplanas) lowpkg.diff refers to a package name, but a
292222         package file is required (refs: #51410)
292223
292224       · PR #51410: (aplanas) Fix lowpkg.diff documentation and parameter name
292225         @ 2019-02-01 20:57:50 UTC
292226
292227         · 7e14499 Merge pull request #51410 from aplanas/backport_50126
292228
292229         · d38622e Fix lowpkg.diff documentation and parameter name
292230
292231           · e61a077 states_pt3: fix rST link format
292232
292233       · PR  #51404:  (aplanas)  blockdev:  fix  url from comment @ 2019-01-30
292234         20:05:54 UTC
292235
292236         · a16461b Merge pull request #51404 from aplanas/backport_49668
292237
292238         · da2e30d blockdev: fix url from comment
292239
292240       · PR  #51407:  (aplanas)  parted:  fix  _validate_partition_boundary  @
292241         2019-01-30 20:05:02 UTC
292242
292243         · 756c367 Merge pull request #51407 from aplanas/backport_49803
292244
292245         · b004b33 parted: fix _validate_partition_boundary
292246
292247       · PR  #51435: (damianosSemmle) Fixed not raised exceptions @ 2019-01-30
292248         18:32:57 UTC
292249
292250         · 1d45664    Merge     pull     request     #51435     from     dami‐
292251           anosSemmle/fix-raise-exception
292252
292253         · 7a9ff59 Fixed not raised exceptions
292254
292255       · PR #51336: (Ch3LL) [2019.2] Merge Forward from 2019.2.0.rc1 to 2019.2
292256         @ 2019-01-27 23:55:08 UTC
292257
292258         · d4b9093 Merge pull request #51336 from Ch3LL/merge-2019.2.0rc1
292259
292260         · 62a20b1 Remove unused import
292261
292262         · 2284ea5 Merge branch '2019.2' into merge-2019.2.0rc1
292263
292264         · 18bf236 Merge branch '2019.2.0.rc1' into 2019.2
292265
292266       · PR #51334: (Ch3LL) [2019.2] Merge forward from  2018.3  to  2019.2  @
292267         2019-01-27 23:49:32 UTC
292268
292269         · 02b43a0 Merge pull request #51334 from Ch3LL/merge-2019.2
292270
292271         · 25ec653 Merge branch '2018.3' into '2019.2'
292272
292273           · f62cc11 Merge pull request #51324 from garethgreenaway/1257_some‐
292274             thing_something_bytes_argh_python2
292275
292276             · bd7072f  Merge  branch   '2018.3'   into   1257_something_some‐
292277               thing_bytes_argh_python2
292278
292279           · b44cd84  Merge  pull  request  #51323  from  garethgreenaway/net‐
292280             work_dns_check_test
292281
292282             · 055eadc Merge branch '2018.3' into network_dns_check_test
292283
292284           · be57a0f Merge pull request #51321 from terminalmage/issue51256
292285
292286             · d9c4462 Fix 500 error when using wheel_async
292287
292288             · c847f54 Swap passed  addr  for  string  rather  than  ipaddress
292289               object.
292290
292291             · 87f3972 removing another debugging log.
292292
292293             · ad64efb Use MagicMock
292294
292295             · 172ad2e removing debugging
292296
292297             · 5812eae Adding a test to ensure dns_check works as expected.
292298
292299             · 0e542c5  Fixing  various  bits  in x509 module and unit test to
292300               ensure tests are passing on python2 & python3
292301
292302           · 85e7ac6 Merge pull request #51306 from s0undt3ch/2018.3
292303
292304             · 5f0f296 Add 2018.3 codecov config
292305
292306           · 5a398a3 Merge pull request #51207 from twangboy/fix_test_pkg
292307
292308             · d4ab6d8 Merge branch '2018.3' into fix_test_pkg
292309
292310           · 7a97cb4 Merge pull request #51252 from dwoz/issue-50221
292311
292312             · f96828a Merge branch '2018.3' into issue-50221
292313
292314           · 253f5e4 Merge pull request #51264 from gtmanfred/2018.3
292315
292316             · f3ebd32 Merge branch '2018.3' into 2018.3
292317
292318           · aacc047 Merge pull request #51274 from twangboy/fix_network
292319
292320             · 344bf65 Fix tests. We no longer get ipaddress instances back.
292321
292322             · 345aa5b Fix minion start issue
292323
292324               · f553be7 tuples don't have pop
292325
292326               · 55ea80e don't shadow builtin
292327
292328               · 6148c50 an argument is not always needed to be passed to open
292329                 a file
292330
292331           · 8a89cb2 Merge pull request #51279 from twangboy/backport_lgpo
292332
292333             · 06b1545 Remove network.py patch
292334
292335             · 2356f25 Add __context__ support
292336
292337               · a5255f0  Merge remote-tracking branch 'saltstack/2018.3' into
292338                 issue-50221
292339
292340           · 6796e65   Merge   pull   request   #51276    from    garethgreen‐
292341             away/merge-2018.3
292342
292343             · 44ddc43 Merge branch '2018.3' into merge-2018.3
292344
292345           · 0adde9b  Merge pull request #51220 from sathieu/artifactory-clas‐
292346             sifier-2018.3
292347
292348             · a85f146 fixes #31179 by appling the same logic as used  in  the
292349               nexus module
292350
292351           · f6a7cad       Merge       pull      request      #51225      from
292352             astronouth7303/loader-docs-2018.3
292353
292354             · 6e7da95 Add the tokens system.
292355
292356             · 7e2838c Add reference to the execution module docs
292357
292358             · f30f9e8 Remove search system
292359
292360             · f0cc183 Fileserver modules can be loaded from the fileserver.
292361
292362           · 1a2f680   Merge   pull   request   #51239    from    garethgreen‐
292363             away/51208_file_manage_escaped_double_quotes
292364
292365             · 4251c0c    Merge    branch    '2018.3'   into   51208_file_man‐
292366               age_escaped_double_quotes
292367
292368             · 6a9daa7   Merge   branch    '2018.3'    into    51208_file_man‐
292369               age_escaped_double_quotes
292370
292371             · 0bf468c  Fixing  lint.   Using a constant intead of looking for
292372               the condition in the string.
292373
292374             · a233dbc Ensuring we can handle a string  that  contains  single
292375               quote + an escaped double quote.
292376
292377           · d614127 Merge pull request #51261 from OrangeDog/patch-2
292378
292379             · d809b9b Avoid double-counting errors and ignore test runs
292380
292381             · 6ca7deb Remove unused host parameter and average/disaster keys
292382
292383             · 2d44527 Just let zabbix_sender use the config file
292384
292385             · 6404e2c Fix fallback command so it's actually run
292386
292387             · b79a55a Fix KeyError in Zabbix returner
292388
292389                  · 0971035 Merge branch '2018.3' into merge-2018.3
292390
292391                  · 243dc06 Merge branch '2017.7' into merge-2018.3
292392
292393                    · acfb7d8 Update pytest requirements
292394
292395                    · c19479b  Move  all  of  PyTest  requirements  to its own
292396                      requiremnts file
292397
292398                    · 39e633f Merge  pull  request  #51246  from  garethgreen‐
292399                      away/bp-50358
292400
292401                      · c33c558 Backport #50358 to 2017.7
292402
292403                      · c1ea10f Fix py3 managed.file test failure
292404
292405                      · 537114c Remoe un-needed log statement
292406
292407                      · ac978f0 Fix 50221 regression test on Windows
292408
292409                      · 65f38b5   peserve   newlines   from  pillar  data  for
292410                        file.managed
292411
292412                      · 464d813 Merge branch '2018.3' into fix_test_pkg
292413
292414           · 276d621 Merge pull request #51197 from Ch3LL/tag_manager
292415
292416             · b9a0705 Merge branch '2018.3' into tag_manager
292417
292418             · 210238b Merge branch '2018.3' into tag_manager
292419
292420             · 827d6c3 Merge branch '2018.3' into tag_manager
292421
292422             · fcdfe69 Add Google Tag Manager to Docs
292423
292424           · c8e70a9 Merge pull request #51206 from terminalmage/fix-reload
292425
292426             · 8e23a6c Add missing import
292427
292428             · 31ca7c6 Fix usage of reload for PY3 compatibility
292429
292430           · 41ae390 Merge pull request #51231 from terminalmage/issue51056
292431
292432             · 4a61477 Clarify documentation for the the gitfs  "all_saltenvs"
292433               config param
292434
292435                  · 0574476 Merge branch '2018.3' into fix_test_pkg
292436
292437                  · b91b2c6 Backport PR# 50771 to 2018.3 branch
292438
292439       · PR #51314: (s0undt3ch) [2019.2] Allow running runtests.py using tox @
292440         2019-01-25 18:56:01 UTC
292441
292442         · 95607d1   Merge   pull   request   #51314    from    s0undt3ch/fea‐
292443           tures/tox-runtests-2019.2
292444
292445         · 39fb981 "Tell" coverage to track subprocesses.
292446
292447         · f27589a Remove unused imports
292448
292449         · 3000d20 Fix tests. We no longer get ipaddress instances back.
292450
292451         · 8fcf235 Fix minion start issue
292452
292453         · a26ba7f Don't fail the test because of order
292454
292455         · 138ca2e Show objects on assertion failure
292456
292457         · 840b3d2 Add pytest-salt-from-filenames to pytest requirements
292458
292459         · 716bda4 Remove duplicate dependency
292460
292461         · 6d62156 Add .coveragerc
292462
292463         · 6bb56ce Run tests from tox, wether runtests or pytest
292464
292465       · PR  #51307:  (s0undt3ch)  Add  2019.2  codecov  config  @  2019-01-24
292466         13:34:25 UTC
292467
292468         · b348034 Merge pull request #51307 from s0undt3ch/2019.2
292469
292470         · 495aa5c Add 2019.2 codecov config
292471
292472       · PR #51280: (garethgreenaway) [2019.2] Merge forward from  2019.2.0rc1
292473         to 2019.2 @ 2019-01-23 07:08:32 UTC
292474
292475         · d224096    Merge    pull    request    #51280   from   garethgreen‐
292476           away/merge-2019.2-rc
292477
292478         · e78ede2 Merge branch '2019.2' into merge-2019.2-rc
292479
292480         · a425de6 Merge branch '2019.2.0.rc1' into merge-2019.2-rc
292481
292482       · PR #51277: (garethgreenaway) [2019.2] Merge forward  from  2018.3  to
292483         2019.2 @ 2019-01-23 07:01:29 UTC
292484
292485         · 8596ee4 Merge pull request #51277 from garethgreenaway/merge-2019.2
292486
292487         · f05e754 Merge branch '2019.2' into merge-2019.2
292488
292489       · ISSUE #51273: (isbm) How to properly fix API? (refs: #51285)
292490
292491       · PR  #51285:  (garethgreenaway) [2019.2] Add metadata to accepted key‐
292492         word arguments @ 2019-01-22 23:07:44 UTC
292493
292494         · 8cca51b Merge pull request #51285 from  garethgreenaway/51273_meta‐
292495           data_auth_keyword_argument
292496
292497         · bd82d80 Ensure metadata is an accepted keyword argument for authen‐
292498           tication functions.
292499
292500         · d0d5726 Merge branch '2018.3' into merge-2019.2
292501
292502         · a6a9040 Merge pull request #51179 from terminalmage/fix-regex-chars
292503
292504           · 9951b8d Fix possible oversight in nodegroup modifications
292505
292506         · d5acd5b Merge pull request #51170 from dwoz/issue51158
292507
292508           · b69c002 Fix saltmod roster test
292509
292510           · 2594f24 Roster defines the roster system not a file
292511
292512           · 05836b3 Merge branch '2018.3' into issue51158
292513
292514           · bf47f6f Fix linter
292515
292516           · 6223596 Honor roster file for ssh orchestrations
292517
292518         · 5543a53 Update pytest requirements
292519
292520         · f958df5 Move all of PyTest requirements to its own requiremnts file
292521
292522         · 8f8ebbc Merge pull request #51226  from  garethgreenaway/51195_han‐
292523           dle_spaces_in_fstab_opts
292524
292525           · 1902ce8    Merge    branch    '2018.3'   into   51195_handle_spa‐
292526             ces_in_fstab_opts
292527
292528         · e3a9e99 Merge pull request #51233 from Ch3LL/bp-51105
292529
292530           · eef49e8 Merge branch '2018.3' into bp-51105
292531
292532         · e53e9b1 Merge pull request #51230 from Ch3LL/merge-2018.3
292533
292534           · 0ef7675 Merge branch '2017.7' into '2018.3'
292535
292536           · 4a12c5f Merge pull request #50852 from mirceaulinic/fix-capirca
292537
292538             · fa91267 Merge branch '2017.7' into fix-capirca
292539
292540             · 71913ff Merge branch '2017.7' into fix-capirca
292541
292542             · 6fc3484 Lint?
292543
292544             · 3d56750 Extra newline for lint
292545
292546             · 5176cd8 Improve the Capirca and related modules for ACL  config
292547               generation
292548
292549           · 3f4759b Merge pull request #50923 from astronouth7303/patch-2
292550
292551             · 4f631a6 Document {% include %}
292552
292553           · 210e817 Merge pull request #51111 from s0undt3ch/2017.7
292554
292555             · 08e0ae7 Update to salt-bootstrap v2019.01.08
292556
292557               · c3520aa Accounting for when permissions are not returned from
292558                 file.check_perms, eg. windows systems.
292559
292560               · cd80548 When test=True and  there  are  permissions  changes,
292561                 report it.
292562
292563               · 89345eb Handle spaces in fstab opts, similar fix to #39593
292564
292565       · ISSUE  #50538:  (sjorge)  salt.modules.pdbedit  broken on Samba 4.9.x
292566         (refs: #50540, #51221)
292567
292568       · PR #51221: (Ch3LL) Backport #50538 into 2019.2 @ 2019-01-18  22:42:36
292569         UTC
292570
292571         · PR #50540: (sjorge) Fix pdbedit module on samba 4.9 (Fixes #50538)
292572
292573         · 0ccd5c3 Merge pull request #51221 from Ch3LL/bp-50540
292574
292575         · 223e7c0 Merge branch '2019.2' into bp-50540
292576
292577       · PR  #51232:  (Ch3LL)  [2019.2]  Merge forward from 2018.3 to 2019.2 @
292578         2019-01-18 20:51:37 UTC
292579
292580         · 3edaf18 Merge pull request #51232 from Ch3LL/merge-2019.2
292581
292582         · 3b966f3 Merge branch '2019.2' into merge-2019.2
292583
292584         · ffe23fa Merge branch '2018.3' into '2019.2'
292585
292586           · 26008ef Merge pull request #51212 from sathieu/file_roots_slash
292587
292588             · b769f18 Allow slash in file_roots envs
292589
292590             · f9437e2 Test for file_roots envs with slash leads to  "No  such
292591               file or directory"
292592
292593           · 5916282 Merge pull request #51209 from garethgreenaway/bp-51124
292594
292595             · 82acce4 Handle encoding when opening file for both py2/py3
292596
292597           · 094bd33 Merge pull request #51184 from twangboy/fix_auditpol
292598
292599             · 2e68d35 directly call cmd.run_all
292600
292601           · ac71922 Merge pull request #51191 from Ch3LL/bp-50918
292602
292603             · 7300d84 Skip debian tests on Windows
292604
292605             · 4622433 Fix test_debian_ip on Windows
292606
292607           · e7f53a3    Merge    pull    request    #51144    from    jgleiss‐
292608             ner/2018.3-azurearm-py3
292609
292610             · 3178f1a msazure.py: remove unused imports
292611
292612             · 99a4b9d azurearm: fix list_locations
292613
292614             · aebe34b azurearm: fix show_instance function
292615
292616             · d80669f msazure: fix object_to_dict for python 3
292617
292618           · 1206f92 Merge pull request #51171 from twangboy/fix_crypt
292619
292620             · 6caa93b Add random sleep time to avoid overloading Windows
292621
292622           · a96deed Merge pull request #51174 from jpsv/2018.3
292623
292624             · 055823e Update opsgenie.py
292625
292626             · 501c8df Merge branch '2018.3' into 2018.3
292627
292628             · 220aa8a Update opsgenie.py
292629
292630             · 5dc21cc Update to from V1 API to V2
292631
292632             · f93ce7c Update to V2 API
292633
292634           · 563d487 Merge pull request #51010 from amendlik/ldap-groups
292635
292636             · cd336ed Merge branch '2018.3' into ldap-groups
292637
292638             · 94f8ee4 Update unit tests for auth.ldap
292639
292640             · 08e36d0 Allow unauthenticated bind for listing LDAP groups
292641
292642           · 6dc3752 Merge pull request #51112 from s0undt3ch/2018.3
292643
292644             · 4f1d846 Update to salt-bootstrap v2019.01.08
292645
292646           · b19c990 Merge pull request  #51097  from  terminalmage/fix-keyer‐
292647             ror-raise
292648
292649             · a3c0b49 Fix poorly-written test
292650
292651             · c0ff7b1 Fix more incorrect exception raises
292652
292653             · f11dbcc Fix improper KeyError raise
292654
292655           · 8920a86 Merge pull request #51169 from twangboy/fix_git_state
292656
292657             · f2d1180 More descriptive error when missing GitPython or PyGit2
292658
292659           · 58eede6 Merge pull request #51173 from dwoz/issue51160
292660
292661             · 11cc7b3 Remove un-needed test
292662
292663             · 0f87812 Merge develop, Revert exception handling
292664
292665             · 7365a1a Pass bytes to idna
292666
292667           · 83c38c6 Revert "wordsmithing"
292668
292669           · a40739c wordsmithing
292670
292671           · b348ace Make sure blackout tests clean up after themselves. Prop‐
292672             erly.
292673
292674           · 68a12d5 These should not be considered destructive tests
292675
292676           · 475404d fix docstring quote style
292677
292678           · 71c3574 Revert "backport test improvements from develop"
292679
292680           · e32d219 backport test improvements from develop Bogus random test
292681             failures         forklifted         from        develop        at
292682             414bfe61a4fbe6f84be32242924f23c7126c24d6
292683
292684           · 42654d8    socket.connect     needs     a     tuple     TypeError
292685             https://docs.python.org/2/library/socket.html   RTFD  "Note  This
292686             method has historically accepted a pair of parameters for AF_INET
292687             addresses instead of only a tuple. This was never intentional and
292688             is no longer available in Python 2.0 and later. "
292689
292690           · 27254fc syntax error bad parentheses
292691
292692           · 24bb94f Don't ip_bracket addresses returned by check_dns.
292693
292694           · 02b825e expose error in tests
292695
292696           · 0a92c46 Need more detail on test failure
292697
292698           · 3574698 ip_address does not need str() and  parse_host_port  han‐
292699             dles ipv6 or ipv4
292700
292701           · 7a6bc57 avoid TypeError by not constructing an ip_address from an
292702             ip_address
292703
292704           · 35410dd try to debug error in tests (revert me)
292705
292706           · 2f8ca47 wordsmithing
292707
292708           · 1dd1f7d parsing logic error
292709
292710           · 98041c1 minimize diff
292711
292712           · c92a247 don't try to handle/log test exception
292713
292714           · eb60586 remove bad extra test assertion inside exception handler
292715
292716           · e1e5d87 checking for truthiness better than len
292717
292718           · a984a43 typo in ipaddress.IPv6Address()
292719
292720           · 5fc6c60 clear up lint, disambiguation
292721
292722           · 8c6dfea lint pep8 whitespace
292723
292724           · f9594b8 don't test invalid combination
292725
292726           · de823fd fix good_host_ports iteration
292727
292728           · c5a5b34 test assertion correction
292729
292730           · e169e0d fixup rebase merge goof
292731
292732           · d28bab6 fix test setup
292733
292734           · 42c710e lint pep8
292735
292736           · 15c6deb fix horrible mistakes
292737
292738           · c092baf fix indentation doh
292739
292740           · 9080745 debug ipaddress.ip_address TypeError
292741
292742           · 8bd82f4 debug ipaddress.ip_address TypeError
292743
292744           · 080ab70 fix parse_host_port() parse error on hostname only arg
292745
292746           · 571603c coverage for master host:port ipv4 and ipv6 config  value
292747             support fix test_parse_host_port bad values lint
292748
292749           · f14ff16  fix  minion  zmq connecting to master configured as IPv6
292750             address
292751
292752           · 9d72f13 pylint E741 triggers error in salt-pylint  E8741  (unhan‐
292753             dled)
292754
292755           · 2052838 avoid error on (redundant) is_ip check
292756
292757           · 0eaeb1e avoid error on (redundant) is_ip check
292758
292759           · f8bd08e fix parse_host_port() is_ip call
292760
292761           · 89519fe fix parse_host_port() parse error on hostname only arg
292762
292763           · 1417528 fix parse_host_port() bad exception on hostname only arg
292764
292765           · 194a024  coverage for master host:port ipv4 and ipv6 config value
292766             support fix test_parse_host_port bad values lint
292767
292768           · df73388 fix minion zmq connecting to master  configured  as  IPv6
292769             address
292770
292771           · 06854cf Merge pull request #51147 from Ch3LL/merge-2018.3
292772
292773             · d39d8b7 Merge branch '2018.3' into merge-2018.3
292774
292775           · b79c09e Merge pull request #51161 from amendlik/long-hostname
292776
292777             · 6fcc4ad Merge branch '2018.3' into long-hostname
292778
292779           · 1424734 Merge pull request #51159 from rkrieger/fix-issue-51067
292780
292781             · 1440ccf  Prevent  crash by testing for 'manufacturer' in osdata
292782               on OpenBSD
292783
292784             · 1a4e307 Ignore exceptions when generating the minion ID
292785
292786           · 5e37326   Merge    pull    request    #51146    from    terminal‐
292787             mage/fix-vsphere-tuple-issue
292788
292789             · 5d60022 Fix invalid assignment in vsphere module
292790
292791           · fad8621 Merge pull request #51154 from twangboy/auditpol
292792
292793             · 9064376 Add support for Advanced Audit policies
292794
292795           · f7a100c Merge pull request #51151 from Ch3LL/bp_51061
292796
292797             · ffdae27  When  writing  output to stdout we want to ensure that
292798               the  data   is   a   string   not   bytes.    Under   py2   the
292799               salt.utils.data.encode  function  results in a string but under
292800               py3   the   result   is    a    bytestring.     Swapping    out
292801               salt.utils.data.encode for salt.utils.stringutils.to_str.
292802
292803           · 3a50a57 Merge pull request #51150 from Ch3LL/bp-49508
292804
292805             · 7ae53ad Do not silently ignore errors.
292806
292807             · deb0134 Convert to string before sending via 'publish'.
292808
292809             · 651c551 Use to_str salt.utils when writing to a file.
292810
292811           · 8bb589d Merge pull request #51152 from garethgreenaway/50433_han‐
292812             dle_grants_better
292813
292814             · f7caa4d Fixing lint
292815
292816             · e8c8c0f Adding some tests to ensure "ALL PRIVILEGES" is handled
292817               correctly in 8.0 and 5.6
292818
292819             · b4bfd9f Add additional grants.  Adding logic to handle when ALL
292820               or ALL PRIVILEGES is passed for the grant, including some logic
292821               to  handle  the fact that the grants are split when show grants
292822               is run for a particular user.
292823
292824               · 74edfd9 Fix pylint
292825
292826               · 81a3d47 Merge branch '2017.7' into '2018.3'
292827
292828               · 8a76a19  Merge  pull  request  #50858  from  jasonarewhy/bug‐
292829                 fix-2017.7/ubuntu-networking-searchdomain
292830
292831                 · 3395a3d     Merge     branch     '2017.7'     into     bug‐
292832                   fix-2017.7/ubuntu-networking-searchdomain
292833
292834                 · 69d25aa update debian_ip test
292835
292836                 · a6b896c get searchdomain in Ubuntu 12+
292837
292838           · dda1ebb Merge pull request #51133 from 5uper5hoot/issue-#50849
292839
292840             · ec14e13 Fixes mysql server version comparison.
292841
292842           · 9d4321d Merge pull request #50878 from max-arnold/output-docs
292843
292844             · d7403da Fix profile outputter docs
292845
292846           · ce87504 Merge pull request #51076 from OrangeDog/patch-1
292847
292848             · 568e4fb Revert add -> check
292849
292850             · 4d7ebe7 Typos in index_template_present documentation
292851
292852           · d08abf4   Merge   pull   request   #51081    from    garethgreen‐
292853             away/merge-2018.3
292854
292855             · 027804a Merge branch '2018.3' into merge-2018.3
292856
292857           · 335088b    Merge    pull   request   #51080   from   garethgreen‐
292858             away/50966_nxos_ensure_kwargs_list
292859
292860           · 230a66b Merge branch '2018.3' into 50966_nxos_ensure_kwargs_list
292861
292862           · 629dc25 Ensure kwargs  is  a  list  before  we  attempt  to  loop
292863             through.                Similar               fix              to
292864             https://github.com/rallytime/salt/commit/430c462f34eb4eedf2384e06fbee8dc19b8026f6
292865             in the proxy module.
292866
292867           · a20791b Merge branch '2018.3' into merge-2018.3
292868
292869           · 9386aab Merge branch '2017.7' into merge-2018.3
292870
292871           · 998feca Merge pull request #51030 from terminalmage/issue38502
292872
292873           · 6dbd81f Add unit test to ensure we don't diff bare repos
292874
292875           · 3c4b243 Merge branch '2019.2' into bp-50540
292876
292877       · PR  #51234:  (KChandrashekhar) Added a note in Release notes about py
292878         2.7 EOL @ 2019-01-18 15:53:51 UTC
292879
292880         · e6ab913 Merge pull request #51234 from KChandrashekhar/2019.2-docs
292881
292882         · e4afc81 Addressing Megan's comment to  fix  the  py2.7  deprecation
292883           message in release notes
292884
292885         · 8ec0296 Added a note in Release notes about py 2.7 EOL
292886
292887       · PR #51198: (Ch3LL) [2019.2] Merge forward from 2019.2.0.rc1 to 2019.2
292888         @ 2019-01-17 21:23:34 UTC
292889
292890         · 644ef8c Merge pull request #51198 from Ch3LL/merge-2019.2-rc
292891
292892         · 810c611 Merge branch '2019.2.0.rc1' into 2019.2
292893
292894         · 3f61e77 Fix pdbedit module on samba 4.9 (Fixes #50538)
292895
292896       · PR #51148: (Ch3LL) [2019.2] Merge forward from  2018.3  to  2019.2  @
292897         2019-01-14 22:49:02 UTC
292898
292899         · 12901c3 Merge pull request #51148 from Ch3LL/merge-2019.2
292900
292901         · 1d7329a Fix pylint
292902
292903         · 5271636 Fixes mysql server version comparison.
292904
292905         · b53f171  Ensure kwargs is a list before we attempt to loop through.
292906           Similar                           fix                            to
292907           https://github.com/rallytime/salt/commit/430c462f34eb4eedf2384e06fbee8dc19b8026f6
292908           in the proxy module.
292909
292910         · d0f2d15 Revert add -> check
292911
292912         · 437d8b5 Typos in index_template_present documentation
292913
292914         · 3bf189e Add unit test to ensure we don't diff bare repos
292915
292916         · 2f8e391 Fix profile outputter docs
292917
292918       · PR #51100: (dwoz) Fix typo  in  method  name  (2019.2)  @  2019-01-08
292919         18:12:23 UTC
292920
292921         · 4c2d76d Merge pull request #51100 from dwoz/cloud_typo
292922
292923         · 60f53d0 Fix typo in method name
292924
292925       · PR  #51099:  (terminalmage)  Fix improper exception raises (2019.2) @
292926         2019-01-08 17:55:53 UTC
292927
292928         · 39b28f4 Merge  pull  request  #51099  from  terminalmage/fix-excep‐
292929           tion-raise
292930
292931         · 2a25530 Fix improper exception raise
292932
292933       · PR  #51084:  (s0undt3ch)  [fluorine]  Cleanup the singleton instances
292934         map.  @ 2019-01-07 22:03:29 UTC
292935
292936         · 8827193 Merge  pull  request  #51084  from  s0undt3ch/merge-single‐
292937           ton-last-ref-close-fluorine
292938
292939         · 979fbac     Merge     branch     '2019.2'     into    merge-single‐
292940           ton-last-ref-close-fluorine
292941
292942         · 63f051a    Merge     branch     '2019.2'     into     merge-single‐
292943           ton-last-ref-close-fluorine
292944
292945         · bd6c46d Cleanup the singleton instances map.
292946
292947   Salt 2019.2.2 Release Notes
292948       Version 2019.2.2 is a bugfix release for 2019.2.0.
292949
292950   Statistics
292951       · Total Merges: 26
292952
292953       · Total Issue References: 12
292954
292955       · Total PR References: 26
292956
292957       · Contributors:  13  (Akm0d,  Ch3LL,  Oloremo, OrlandoArcapix, bryceml,
292958         dhiltonp,   dwoz,    frogunder,    garethgreenaway,    javierbertoli,
292959         pizzapanther, s0undt3ch, twangboy)
292960
292961   Changelog for v2019.2.1..v2019.2.2
292962       Generated at: 2019-10-11 20:54:15 UTC
292963
292964       · PR  #54919: (twangboy) Add missing docs for win_wusa state and module
292965         (2019.2.1) @ 2019-10-11 18:28:11 UTC
292966
292967         · 7d253bc Merge pull request #54919 from twangboy/update_docs
292968
292969         · 57ff199 Add docs for win_wusa
292970
292971       · ISSUE #54941: (UtahDave) Pillar data is refreshed for EVERY salt com‐
292972         mand in 2019.2.1 and 2019.2.2 (refs: #54942)
292973
292974       · PR   #54942:   (dwoz)  Fix  for  54941  pillar_refresh  regression  @
292975         2019-10-11 18:27:31 UTC
292976
292977         · 2f817bc Merge pull request #54942 from dwoz/fix-54941
292978
292979         · cb5d326 Add a test for 54941 using test.ping
292980
292981         · 348d1c4 Add regression tests for issue 54941
292982
292983         · 766f3ca Initial commit of a potential fix for 54941
292984
292985       · PR  #54897:  (bryceml)  update  version  numbers  to  be  correct   @
292986         2019-10-05 01:59:14 UTC
292987
292988         · f783108 Merge pull request #54897 from bryceml/2019.2.1_fix_docs
292989
292990         · e9a2a70 update version numbers to be correct
292991
292992       · PR #54894: (bryceml) 2019.2.1 fix docs @ 2019-10-04 22:31:26 UTC
292993
292994         · 3233663 Merge pull request #54894 from bryceml/2019.2.1_fix_docs
292995
292996         · 2456aaa Porting PR #52948 to 2019.2.1
292997
292998         · 94a1e3b Porting PR #52752 to 2019.2.1
292999
293000         · c7b7474 modifying saltconf ads
293001
293002         · d48057b add new saltconf ads
293003
293004       · PR  #54858: (frogunder) remove in progress from releasenotes 2019.2.2
293005         @ 2019-10-02 20:42:59 UTC
293006
293007         · 4b06eca    Merge    pull    request     #54858     from     frogun‐
293008           der/releasenotes_remove2019.2.2
293009
293010         · a697abd remove in progress from releasenotes 2019.2.2
293011
293012       · PR  #54854:  (frogunder)  releasenotes 2019.2.2 @ 2019-10-02 18:58:21
293013         UTC
293014
293015         · aaf2d1c    Merge    pull    request     #54854     from     frogun‐
293016           der/release_notes_2019.2.2
293017
293018         · a41dc59 Update 2019.2.2.rst
293019
293020         · 9bea043 releasenotes 2019.2.2
293021
293022       · PR  #54852:  (frogunder)  Update  man pages for 2019.2.2 @ 2019-10-02
293023         18:27:07 UTC
293024
293025         · 10d433f Merge pull request #54852 from frogunder/man_pages_2019.2.2
293026
293027         · 92bc4b2 Update man pages for 2019.2.2
293028
293029       · PR #54845: (s0undt3ch) Remove debug print @ 2019-10-02 17:38:21 UTC
293030
293031         · 8ca6b20   Merge   pull   request   #54845    from    s0undt3ch/hot‐
293032           fix/event-return-fix-2019.2.1
293033
293034         · 3937890 Remove debug print
293035
293036       · ISSUE  #54755:  (Reiner030)  2019.2.1/2019.2.0 pip failures even when
293037         not using pip (refs: #54826)
293038
293039       · PR #54826:  (dwoz)  Fix  issue  54755  and  add  regression  tests  @
293040         2019-10-01 20:07:46 UTC
293041
293042         · 9e3914a Merge pull request #54826 from dwoz/issue_54755
293043
293044         · 0bad9cb Handle locals and globals separatly
293045
293046         · bcbe9a2 Only purge pip when needed
293047
293048         · d2f98ca Fix issue 54755 and add regression tests
293049
293050       · PR  #54830:  (frogunder) Add known issues to 2019.2.1 release notes @
293051         2019-10-01 16:23:30 UTC
293052
293053         · ba569d0    Merge    pull    request     #54830     from     frogun‐
293054           der/update_relasenotes_2019.2.1
293055
293056         · 8cdb27b Update 2019.2.1.rst
293057
293058         · 14f955c Add known issues to 2019.2.1 release notes
293059
293060       · ISSUE  #54521:  (Oloremo)  [Regression]  Failhard, batch and retcodes
293061         (refs: #54806)
293062
293063       · PR  #54806:  (Oloremo)  [Regression]  Batch  with  failhard   fix   @
293064         2019-10-01 14:51:47 UTC
293065
293066         · 433b6fa    Merge    pull    request   #54806   from   Oloremo/fail‐
293067           hard-batch-fix-2019.2.1
293068
293069         · 6684793 Merge branch '2019.2.1' into failhard-batch-fix-2019.2.1
293070
293071         · 3e0e928 Added tests for cli and runner
293072
293073         · 2416516 Made batch work properly with failhard in cli and runner
293074
293075       · ISSUE #54820: (OrangeDog) schedule.present not idempotent when sched‐
293076         uler disabled (refs: #54828)
293077
293078       · PR  #54828: (garethgreenaway) [2019.2.1] Fix global disabling code in
293079         scheduler @ 2019-10-01 09:27:49 UTC
293080
293081         · ed94aa5   Merge   pull    request    #54828    from    garethgreen‐
293082           away/54820_fix_schedule_disabled_job_enabled_bug
293083
293084         · be15a28 Rework code that handles individual jobs being disabled and
293085           scheduler being globally being disabled.  Previously disabling  the
293086           schedule  would  result in individual jobs being disabled when they
293087           were run through eval.  This change does not change schedule items.
293088
293089       · PR #54778: (Akm0d) fix broken salt-cloud openstack query @ 2019-10-01
293090         09:23:27 UTC
293091
293092         · 435b40c   Merge   pull   request   #54778  from  Akm0d/master_open‐
293093           stack_query_fix
293094
293095         · ba4ba2a fixed pylint errors in openstack test
293096
293097         · d9a8517 Added openstack tests for openstack --query fix
293098
293099         · 59214ad Fallback to image id if we don't have an image name
293100
293101         · 3a42a4d fixed pylint error
293102
293103         · 0074d18 created unit tests for openstack
293104
293105         · 4255e3e         Merge         branch         '2019.2.1'          of
293106           https://github.com/saltstack/salt into HEAD
293107
293108         · 1c2821b Return a configured provider, not a bool
293109
293110         · c585550 fix broken salt-cloud openstack query
293111
293112       · ISSUE  #54762:  (margau) 2019.2.1: Breaks Minion-Master Communication
293113         (refs: #54823, #54784, #54807)
293114
293115       · PR #54823: (dhiltonp) ip_bracket can now accept ipv6  addresses  with
293116         brackets @ 2019-10-01 01:13:34 UTC
293117
293118         · 93b1c4d Merge pull request #54823 from dhiltonp/maybe-bracket
293119
293120         · faa1d98 ip_bracket can now accept ipv6 addresses with brackets
293121
293122       · ISSUE  #54762:  (margau) 2019.2.1: Breaks Minion-Master Communication
293123         (refs: #54823, #54784, #54807)
293124
293125       · PR #54807: (dwoz) Fix pip state pip >=10.0 and  <=18.0  @  2019-09-30
293126         09:20:14 UTC
293127
293128         · PR  #54772:  (OrlandoArcapix)  Fix  import  of  pip  modules (refs:
293129           #54807)
293130
293131         · b61b30d Merge pull request #54807 from dwoz/patch-2
293132
293133         · 664806b Add unit test for pip state fix
293134
293135         · e637658 Revert change to pip version query
293136
293137         · 42810a2 Fix import of pip modules
293138
293139       · ISSUE #54741: (kjkeane) Schedulers Fail to Run (refs: #54799)
293140
293141       · PR #54799: (garethgreenaway) Fix to scheduler when job without a time
293142         element is run with schedule.run_job @ 2019-09-30 00:19:43 UTC
293143
293144         · 4ee1ff6    Merge    pull    request    #54799   from   garethgreen‐
293145           away/54741_run_job_fails_without_time_element
293146
293147         · 44caa81 Merge branch '54741_run_job_fails_without_time_element'  of
293148           github.com:garethgreenaway/salt    into   54741_run_job_fails_with‐
293149           out_time_element
293150
293151           · 3ae4f75 Merge branch  '2019.2.1'  into  54741_run_job_fails_with‐
293152             out_time_element
293153
293154         · 8afd2d8 Removing extra, unnecessary code.
293155
293156         · 549cfb8  Fixing test_run_job test to ensure the right data is being
293157           asserted.  Updating unit/test_module_names.py to  include  integra‐
293158           tion.scheduler.test_run_job.
293159
293160         · 7d716d6 Fixing lint.
293161
293162         · ec68591 If a scheduled job does not contains a time element parame‐
293163           ter then running that job with schedule.run_job fails with a trace‐
293164           back because data['run'] does not exist.
293165
293166       · PR #54785: (Ch3LL) Fix state.show_states when sls file missing in top
293167         file @ 2019-09-30 00:00:34 UTC
293168
293169         · b90c3f2 Merge pull request #54785 from Ch3LL/fix_show_states
293170
293171         · 96540be Clean up files after state.show_states test
293172
293173         · ad265ae Fix state.show_states when sls file missing
293174
293175       · ISSUE #54768: (paul-palmer) 2019.2.1 Some  Jinja  imports  not  found
293176         (refs: #54780)
293177
293178       · ISSUE  #54765:  (awerner)  2019.2.1:  Jinja from import broken (refs:
293179         #54780)
293180
293181       · PR #54780: (dwoz) Fix masterless jinja imports @ 2019-09-29  22:12:48
293182         UTC
293183
293184         · b9459e6   Merge   pull   request   #54780   from   dwoz/fix-master‐
293185           less-jinja-imports
293186
293187         · 5d873cc Merge branch '2019.2.1' into fix-masterless-jinja-imports
293188
293189         · e901a83 Add regression tests for jinja import bug
293190
293191         · 3925bb7 Fix broken jinja imports in masterless salt-call
293192
293193       · ISSUE #54776: (javierbertoli) Setting ping_interval in  salt-minion's
293194         config (version 2019.2.1) prevents it from starting (refs: #54777)
293195
293196       · PR  #54777: (javierbertoli) Fix minion's remove_periodic_callback() @
293197         2019-09-29 21:33:53 UTC
293198
293199         · 4c240e5 Merge pull request #54777 from netmanagers/2019.2.1
293200
293201         · 459c790 Merge branch '2019.2.1' into 2019.2.1
293202
293203       · PR #54805: (bryceml) improve lint job @ 2019-09-29 21:24:05 UTC
293204
293205         · 83f8f5c      Merge       pull       request       #54805       from
293206           bryceml/2019.2.1_update_lint_salt
293207
293208         · ffa4ed6 improve lint job
293209
293210         · fa1a767 Merge branch '2019.2.1' into 2019.2.1
293211
293212       · ISSUE  #54751:  (jnmatlock)  NXOS_API  Proxy  Minions Error KeyError:
293213         'proxy.post_master_init' after upgrading to 2019.2.1 (refs: #54783)
293214
293215       · PR #54783: (garethgreenaway) Ensure metaproxy directory  is  included
293216         in sdist @ 2019-09-29 02:17:23 UTC
293217
293218         · 6b43fbe  Merge  pull request #54783 from garethgreenaway/54751_fix‐
293219           ing_missing_metaproxy_directory
293220
293221         · 67d9938   Merge   branch   '2019.2.1'    into    54751_fixing_miss‐
293222           ing_metaproxy_directory
293223
293224         · a35e609 Adding __init__.py to metaproxy directory so that metaproxy
293225           is included when running setup.py.
293226
293227       · ISSUE #54762: (margau) 2019.2.1: Breaks  Minion-Master  Communication
293228         (refs: #54823, #54784, #54807)
293229
293230       · PR  #54784:  (dhiltonp)  fix  dns_check to return uri-compatible ipv6
293231         addresses, add tests @ 2019-09-28 08:36:51 UTC
293232
293233         · 7912b67 Merge pull request #54784 from dhiltonp/ipv46
293234
293235         · 042a101 Merge branch '2019.2.1' into ipv46
293236
293237       · PR #54779:  (frogunder)  Add  2019.2.2  release  notes  @  2019-09-27
293238         17:45:46 UTC
293239
293240         · 2f94b44     Merge     pull     request    #54779    from    frogun‐
293241           der/releasenotes_2019.2.2
293242
293243         · 67f564b Add 2019.2.2 release notes
293244
293245         · ac6b54f Merge branch '2019.2.1' into ipv46
293246
293247         · 93ebd09 update mock (py2) from 2.0.0 to 3.0.5
293248
293249         · 37bcc4c fix dns_check to return uri-compatible ipv6 addresses,  add
293250           tests
293251
293252           · dd86c46   Merge  pull  request  #1  from  waynew/pull/54777-call‐
293253             back-typo
293254
293255             · a57f7d0 Add tests
293256
293257           · c19d0b0 Fix minion's remove_periodic_callback()
293258
293259       · PR #54731:  (pizzapanther)  Fix  returners  not  loading  properly  @
293260         2019-09-26 17:24:27 UTC
293261
293262         · 46bec3c     Merge    pull    request    #54731    from    pizzapan‐
293263           ther/not-so-__new__-and-shiny
293264
293265         · bdf24f4 Make sure we tests salt-master's event_return setting
293266
293267         · 5499518 remove unnecessary import
293268
293269         · 3f8a382 fix module import
293270
293271         · 0746aa7 remove __new__ method since  it  was  removed  from  parent
293272           class
293273
293274       · PR #54706: (bryceml) 2019.2.1 ruby @ 2019-09-23 16:00:27 UTC
293275
293276         · e2b86bf Merge pull request #54706 from bryceml/2019.2.1_ruby
293277
293278         · 168a6c1 switch to ruby 2.6.3
293279
293280   Salt 2019.2.3 Release Notes
293281       Version 2019.2.3 is a CVE-fix release for 2019.2.0.
293282
293283   Security Fix
293284       CVE-2019-17361
293285
293286       With  the  Salt  NetAPI  enabled  in  addition  to  having a SSH roster
293287       defined, unauthenticated access is possible when specifying the  client
293288       as SSH.  Additionally, when the raw_shell option is specified any arbi‐
293289       trary command may be  run  on  the  Salt  master  when  specifying  SSH
293290       options.
293291
293292   Salt 2018.3.0 Release Notes - Codename Oxygen
293293       WARNING:
293294          If  you  are  using  Jinja to dump lists or dictionaries in your SLS
293295          files, this will now cause errors in Python 2 since Jinja  does  not
293296          produce  YAML-compatible  output when strings in the data structures
293297          contain unicode types. The dictionary must be passed through a Jinja
293298          filter to produce YAML-compatible strings.
293299
293300          The below is an example of invalid SLS:
293301
293302              /etc/foo.conf:
293303                file.mangaged:
293304                  - source: salt://foo.conf
293305                  - template: jinja
293306                  - defaults: {{ mydict }}
293307
293308          To make it valid, use either one of Salt's own json or yaml filters:
293309
293310              /etc/foo.conf:
293311                file.mangaged:
293312                  - source: salt://foo.conf
293313                  - template: jinja
293314                  - defaults: {{ mydict | json }}
293315
293316   Unicode/Python 3 Compatibility Improvements
293317       This  release  fixes a number of nagging issues with Unicode strings in
293318       Salt under Python 2 (ex.  'ascii' codec can't decode  byte  0xd0).  For
293319       best  results, use a UTF-8 locale (such as by setting the LANG environ‐
293320       ment variable to one which supports  UTF-8.  For  example  en_US.UTF-8,
293321       de_DE.UTF-8, ru_RU.UTF-8, C.UTF-8).
293322
293323       Additionally,  a number of Python 3 compatibility fixes have been made,
293324       many of them having to do with file I/O and str/bytes mismatches.
293325
293326       We continue to work toward improving both Unicode and Python 3 compati‐
293327       bility and welcome any feedback.
293328
293329   Lots of Docker Improvements
293330   Much Improved Support for Docker Networking
293331       The  docker_network.present  state  has undergone a full rewrite, which
293332       includes the following improvements:
293333
293334   Full API Support for Network Management
293335       The improvements made to input handling in the docker_container.running
293336       state  for  2017.7.0  have now been expanded to docker_network.present.
293337       This brings with it full support for all  tunable  configuration  argu‐
293338       ments.
293339
293340   Custom Subnets
293341       Custom  subnets  can  now  be configured. Both IPv4 and mixed IPv4/IPv6
293342       networks are supported. See here for more information.
293343
293344   Network Configuration in docker_container.running States
293345       A long-requested feature has finally been added! It is now possible  to
293346       configure  static IPv4/IPv6 addresses, as well as links and labels. See
293347       here for more information.
293348
293349       NOTE:
293350          While the containers argument to  docker_network.present  will  con‐
293351          tinue  to  be supported, it will no longer be the recommended way of
293352          ensuring that a container is attached to a network.
293353
293354   Improved Handling of Images from Custom Registries
293355       Rather than attempting to parse the tag from  the  passed  image  name,
293356       Salt  will  now  resolve  that  tag down to an image ID and use that ID
293357       instead.
293358
293359       IMPORTANT:
293360          Due to this change, there are some backward-incompatible changes  to
293361          image management. See below for a full list of these changes.
293362
293363   Backward-incompatible Changes to Docker Image Management
293364       Passing  image  names to the following functions must now be done using
293365       separate repository and tag arguments:
293366
293367       · docker.build
293368
293369       · docker.commit
293370
293371       · docker.import
293372
293373       · docker.load
293374
293375       · docker.tag
293376
293377       · docker.sls_build
293378
293379       Additionally, the tag argument must now be  explicitly  passed  to  the
293380       docker_image.present  state,  unless  the  image is being pulled from a
293381       docker registry.
293382
293383   State and Execution Module Support for docker run Functionality
293384       The docker_container.running state is good  for  containers  which  run
293385       services, but it is not as useful for cases in which the container only
293386       needs to run once. The start argument to  docker_container.running  can
293387       be  set to False to prevent the container from being started again on a
293388       subsequent run, but for many use cases this is not  sufficient.  There‐
293389       fore,  the  docker.run_container  remote-execution  function was added.
293390       When used on the Salt CLI, it will return information  about  the  con‐
293391       tainer, such as its name, ID, exit code, and any output it produces.
293392
293393       State  support  has also been added via the docker_container.run state.
293394       This state is modeled after the cmd.run state, and  includes  arguments
293395       like  onlyif,  unless,  and  creates to control whether or not the con‐
293396       tainer is run.
293397
293398   Full API Support for docker.logs
293399       This function now supports all of the functions  that  its  Docker  API
293400       counterpart  does,  allowing  you to do things like include timestamps,
293401       and also suppress stdout/stderr, etc. in the return.
293402
293403   start Argument Added to docker.create Function
293404       This removes the need to run docker.start separately when creating con‐
293405       tainers on the Salt CLI.
293406
293407          salt myminion docker.create image=foo/bar:baz command=/path/to/command start=True
293408
293409   Use SaltSSH Minions like regular Master-Minions
293410       The  Master  process can now also call SSH minions as if they were con‐
293411       nected to the master using ZeroMQ.  By setting enable_ssh_minions: True
293412       in  the  master  config  file, the master will create a Salt SSH client
293413       process which connects to the minion and returns  the  output  for  the
293414       salt  CLI  to  use like a regular minion. This can be used anywhere the
293415       LocalClient is used.
293416
293417   Exceptions Raised for Authentication/Authorization Errors
293418       When sending publish commands via master.py  and  masterapi.py  and  an
293419       authorization  or  authentication problem is encountered, Salt will now
293420       raise the appropriate exceptions instead of returning an empty  string:
293421       ''.
293422
293423       The  reasoning behind this change is to make it easier to debug various
293424       scenarios surrounding  authentication  and  authorization  issues  more
293425       effectively.
293426
293427   Comparison Operators in Package Installation
293428       Salt  now  supports  using  comparison  operators  (e.g.  >=1.2.3) when
293429       installing packages on minions which use yum/dnf or apt. This  is  sup‐
293430       ported  both  in  the pkg.installed state and in the pkg.install remote
293431       execution function.
293432
293433   Master Tops Changes
293434       When both Master Tops and a Top File produce SLS matches  for  a  given
293435       minion,  the matches were being merged in an unpredictable manner which
293436       did not preserve ordering. This has been changed. The top file  matches
293437       now  execute in the expected order, followed by any master tops matches
293438       that are not matched via a top file.
293439
293440       To make master  tops  matches  execute  first,  followed  by  top  file
293441       matches, set the new master_tops_first minion config option to True.
293442
293443   Several Jinja Filters Renamed
293444       The  following  Jinja  filters (originally added in 2017.7.0) have been
293445       renamed due to the fact that they were  inaccurately  named  when  ini‐
293446       tially  added.  The  original  names  will  be supported until the 3000
293447       release of Salt.
293448
293449       · rand_str renamed to random_hash
293450
293451       · jinja_decode_dict renamed to jinja_encode_dict
293452
293453       · jinja_decode_list renamed to jinja_encode_list
293454
293455   Return Codes for Runner/Wheel Functions
293456       When using orchestration, runner and wheel functions used to  report  a
293457       True result if the function ran to completion without raising an excep‐
293458       tion. It is now possible to set a return code in the  __context__  dic‐
293459       tionary,  allowing  runner  and  wheel  functions  to  report that they
293460       failed. Here's some example pseudocode:
293461
293462          def myrunner():
293463              ...
293464              do stuff
293465              ...
293466              if some_error_condition:
293467                  __context__['retcode'] = 1
293468              return result
293469
293470   Variable Update Intervals for Fileserver Backends
293471       Prior to this release, fileservers would be updated as part of a  dedi‐
293472       cated "maintenance" process, in which various routine maintenance tasks
293473       were performed. This tied the update interval to the loop_interval con‐
293474       fig  option,  and  also  forced  all  fileservers to update at the same
293475       interval.
293476
293477       2018.3.0 adds the following configuration options for the various file‐
293478       server backends:
293479
293480       · roots_update_interval
293481
293482       · azurefs_update_interval
293483
293484       · gitfs_update_interval
293485
293486       · hgfs_update_interval
293487
293488       · minionfs_update_interval
293489
293490       · s3fs_update_interval
293491
293492       · svnfs_update_interval
293493
293494       These allow for update intervals to be set for each individual backend.
293495       The default value for each of these is 60 seconds.
293496
293497       In addition, for GitFS it is also possible to apply intervals to  indi‐
293498       vidual remotes. See here for examples.
293499
293500       NOTE:
293501          git_pillar  does  not yet support variable update intervals, this is
293502          targeted for the next feature release (2019.2.0).
293503
293504   LDAP via External Authentication Changes
293505       In this release of Salt, if LDAP Bind Credentials  are  supplied,  then
293506       these  credentials  will  be  used for all LDAP access except the first
293507       authentication when a job is submitted.  The first authentication  will
293508       use  the  user's credentials as passed on the CLI.  This behavior is to
293509       accommodate certain two-factor authentication schemes where the authen‐
293510       tication token can only be used once.
293511
293512       In  previous releases the bind credentials would only be used to deter‐
293513       mine the LDAP user's existence and group membership.  The  user's  LDAP
293514       credentials were used from then on.
293515
293516   Stormpath External Authentication Removed
293517       Per  Stormpath's  announcement,  their  API  will  be  shutting down on
293518       8/17/2017 at noon PST so the Stormpath external  authentication  module
293519       has been removed.
293520
293521       https://stormpath.com/oktaplusstormpath
293522
293523   New (Proxy) Minion Configuration Options
293524       To  be  able to connect the Minion to the Master using a certain source
293525       IP address or port, the following options have been added:
293526
293527       · source_interface_name
293528
293529       · source_address
293530
293531       · source_ret_port
293532
293533       · source_publish_port
293534
293535   environment config option renamed to saltenv
293536       The environment config option predates referring to a  salt  fileserver
293537       environment  as  a saltenv. To pin a minion to a single environment for
293538       running states, one would use environment, but overriding that environ‐
293539       ment would be done with the saltenv argument. For consistency, environ‐
293540       ment is now simply referred to as saltenv. There are no plans to depre‐
293541       cate or remove environment, if used it will log a warning and its value
293542       will be used as saltenv.
293543
293544   lock_saltenv config option added
293545       If set to True, this option will prevent a  minion  from  allowing  the
293546       saltenv  argument  to  override  the  value set in saltenv when running
293547       states.
293548
293549   Failed Minions for State/Function Orchestration Jobs Added to Changes  Dic‐
293550       tionary
293551       For  orchestration jobs which run states (or run remote execution func‐
293552       tions and also use a fail function to  indicate  success  or  failure),
293553       minions  which have False results were previously included as a format‐
293554       ted string in the comment field of the return  for  that  orchestration
293555       job.  This  made the failed returns difficult to parse programatically.
293556       The failed returns in these cases are now included in the changes  dic‐
293557       tionary, making for much easier parsing.
293558
293559   Grains
293560       · fc_wwn  -  Show  all  fibre channel world wide port names for a host,
293561         must be enabled with fibre_channel_grains
293562
293563       · iscsi_iqn - Show the iSCSI IQN name for a host
293564
293565       · swap_total - Show the configured swap_total for Linux, *BSD, OS X and
293566         Solaris/SunOS
293567
293568       · virtual:
293569
293570            · identifies reports KVM and VMM hypervisors when running an Open‐
293571              BSD guest
293572
293573            · for  detecting  Solaris  Logical  Domains  (LDOMs)  running   on
293574              T-Series  SPARC hardware. The virtual_subtype grain is populated
293575              as a list of domain roles.
293576
293577   Salt Minion Auto-discovery
293578       Using auto-discovery, the Salt Minion now no longer needs to be config‐
293579       ured against a specific DNS name or IP address of a Master.
293580
293581       For  this  feature Salt Master now requires port 4520 for UDP broadcast
293582       packets to be opened and the Salt Minion be able to send UDP packets to
293583       the same port.
293584
293585   Configuration
293586       By default, automatic discovery is disabled.
293587
293588       WARNING:
293589          Due  to  the  current  limitations that will be changing in a future
293590          release, before you turn on auto-discovery, make sure  your  network
293591          is secured and trusted.
293592
293593       Auto-discovery  is  configured  on  Master and Minion. Both of them are
293594       configured via the discovery option as follows:
293595
293596       Master configuration
293597
293598       To use the default configuration, which accepts any minion, simply  set
293599       discovery to True:
293600
293601          discovery: true
293602
293603       A  sub-option  called  mapping  allows  auto-discovery to help find the
293604       proper Master. The mapping  contains  an  arbitrary  set  of  key/value
293605       pairs,  which  the Minion configuration can target. By default, no map‐
293606       pings are set.
293607
293608       Example:
293609
293610          discovery:
293611            mapping:
293612              description: SES 5.0
293613              node: 1
293614
293615       It is also possible to change the port used from the default  of  4520,
293616       by setting a port option under the Master's discovery configuration:
293617
293618          discovery:
293619            port: 4567
293620
293621       NOTE:
293622          When  using  a port number other than the default, the Minion's dis‐
293623          covery configuration must also have a port specified, otherwise  the
293624          Minion will still attempt to contact the Master on port 4520.
293625
293626       Minion configuration
293627
293628       In  addition  to the mapping and port options, the following additional
293629       options are available to Minions:
293630
293631       · attempts - This option specifies how many broadcast  requests  should
293632         be sent to the network, waiting for any Master response. Each attempt
293633         takes a couple of seconds, so raising this  value  may  result  in  a
293634         slower  Minion  startup. Note that, on a properly-configured network,
293635         autodiscovery should succeed on the first attempt. By  default,  this
293636         value is set to 3.
293637
293638       · match  -  This  option can be set to either all or any, and it deter‐
293639         mines how the values configured in mapping are  matched.  If  set  to
293640         all,  then  all  of  the key/value pairs in the Minion's mapping must
293641         match a given Master. If set to any (the default), then any match  to
293642         a key/value mapping will constitute a match.
293643
293644       · pause - The interval in seconds between attempts (default: 5).
293645
293646       · fibre_channel_grains - Enables the fc_wwn grain. (Default: False)
293647
293648       · iscsi_grains - Enables the iscsi_iqn grain. (Default: False)
293649
293650   Connection to a type instead of DNS
293651       By  now  each  Minion  was connecting to a Master by DNS or IP address.
293652       From now on it is possible also to connect to a _type_ of a Master. For
293653       example,  in  a  network there are three different Masters, each corre‐
293654       sponds for a particular niche or environment or specific role etc.  The
293655       Minion  is  supposed  to  connect  only to one of those Masters that is
293656       described appropriately.
293657
293658       To achieve such an effect, each /etc/salt/master  configuration  should
293659       have a discovery option, which should have a mapping element with arbi‐
293660       trary key/value pairs. The same configuration should be on the  Minion,
293661       so  then  when mapping matches, Minion recognises Master as its connec‐
293662       tion target.
293663
293664       Example for Master configuration (/etc/salt/master):
293665
293666          discovery:
293667            mapping:
293668              description: SES 5.0
293669              node: 1
293670
293671       The example above describes a system that is running a particular prod‐
293672       uct,  where  description  is  an  arbitrary  key  and SES 5.0 is just a
293673       string. In order to match exactly this Master, the following configura‐
293674       tion at Minion should be present:
293675
293676          discovery:
293677            match: all  # Can be "all" or "any"
293678            mapping:
293679              description: SES 5.0
293680              node: 1
293681
293682       Notice  match  criteria  is  set  to all. This would mean that from all
293683       found Masters select only that, which description is  set  to  SES  5.0
293684       _and_ node is set to 1. All other Masters will be ignored.
293685
293686   Limitations
293687       This  feature  has a couple of _temporary_ limitations that are subject
293688       to change in the future:
293689
293690       · Only one Master on the network is  supported.  Currently  the  Minion
293691         cannot  select  which Master out of few the same to choose. This will
293692         change to choosing the Master that is least loaded.
293693
293694       · Minions will accept _any_ master  that  matches  connection  criteria
293695         without  any  particular security applied (priv/pub key check, signa‐
293696         ture, fingerprint etc).  That implies that administrator is  expected
293697         to know his network and make sure it is clean.
293698
293699   New Modules
293700       · salt.modules.purefa
293701
293702   New NaCl Renderer
293703       A new renderer has been added for encrypted data.
293704
293705   New support for Cisco UCS Chassis
293706       The  salt proxy minion now allows for control of Cisco USC chassis. See
293707       the cimc modules for details.
293708
293709   New support for Cassandra v3
293710       The cassandra_cql module now supports Cassandra v3  which  has  changed
293711       its internal schema to define keyspaces and columns.
293712
293713   New salt-ssh roster
293714       A  new  roster  has  been  added that allows users to pull in a list of
293715       hosts for salt-ssh targeting from  a  ~/.ssh  configuration.  For  full
293716       details, please see the sshconfig roster.
293717
293718   New GitFS Features
293719       Two  new  features  which  affect how GitFS maps branches/tags to file‐
293720       server environments (i.e. saltenvs) have been added:
293721
293722       1. It is now possible to completely turn  off  Salt's  default  mapping
293723          logic  (aside  from  the  mapping  of the base saltenv). This can be
293724          triggered using the new gitfs_disable_saltenv_mapping config option.
293725
293726          NOTE:
293727             When this is disabled, only the base saltenv and  any  configured
293728             using per-saltenv configuration parameters will be available.
293729
293730       2. The  types  of  refs which Salt will use as saltenvs can now be con‐
293731          trolled. In previous releases, branches and tags were both mapped as
293732          environments,  and  individual  commit  SHAs  could  be specified as
293733          saltenvs in states (and when  caching  files  using  cp.cache_file).
293734          Using the new gitfs_ref_types config option, the types of refs which
293735          are used as saltenvs can be restricted. This makes  it  possible  to
293736          ignore  all  tags  and use branches only, and also to keep SHAs from
293737          being made available as saltenvs.
293738
293739   Additional output modes
293740       The  state_output  parameter  now  supports  full_id,  changes_id   and
293741       terse_id.   Just  like  mixed_id, these use the state ID as name in the
293742       highstate output.  For more information on these output modes, see  the
293743       docs for the Highstate Outputter.
293744
293745   Windows
293746   Python Version
293747       Python  2  Windows API was design when Windows did not support Unicode.
293748       Windows now supports Unicode however to  keep  backwards  compatibility
293749       Python  2  Windows API has not been changed.  Python 3 Windows API sup‐
293750       ports Unicode. Salt Python 3 installer  is  the  recommend  choice  for
293751       users who need characters other than Non-ASCII (7bit) characters.
293752
293753   pkg Execution module changes
293754       Significant  changes  have  been  made to the win_pkg execution module.
293755       Users should test this release against their existing package sls defi‐
293756       nition files. These changes are also in 2016.11.9 & 2017.7.3.
293757
293758       · pkg.list_available  no longer defaults to refreshing the winrepo meta
293759         database.
293760
293761       · pkg.install without a version parameter no longer  upgrades  software
293762         if  the software is already installed. Use pkg.install version=latest
293763         or in a state use pkg.latest to get the old behavior.
293764
293765       · pkg.list_pkgs now returns multiple  versions  if  software  installed
293766         more than once.
293767
293768       · pkg.list_pkgs  now  returns 'Not Found' when the version is not found
293769         instead of '(value not set)' which matches the contents  of  the  sls
293770         definitions.
293771
293772       · pkg.remove()  will  wait up to 3 seconds (normally about a second) to
293773         detect changes in the registry  after  removing  software,  improving
293774         reporting of version changes.
293775
293776       · pkg.remove()  can remove latest software, if latest is defined in sls
293777         definition.
293778
293779       · Documentation was update for the execution module to match the  style
293780         in new versions, some corrections as well.
293781
293782       · All  install/remove commands are prefix with cmd.exe shell and cmdmod
293783         is called with a command line string instead  of  a  list.  Some  sls
293784         files  in  saltstack/salt-winrepo-ng expected the commands to be pre‐
293785         fixed with cmd.exe (i.e. the use of &).
293786
293787       · Some execution module functions results, now behavour more like their
293788         Unix/Linux versions.
293789
293790   Installer
293791   Changes to config handling
293792       Behavior with existing configuration has changed. With previous windows
293793       installers the existing config was used and the master  and  minion  id
293794       could  be  modified  via  the  installer. It was problematic in that it
293795       didn't account for configuration that may be defined  in  the  minion.d
293796       directory. This change gives you the option via a drop-down list to use
293797       one of the following:
293798
293799       · Default Config: Use the config that comes with the installer
293800
293801       · Existing Config: Use the current config without changes
293802
293803       · Custom Config: Select a custom config using the file picker
293804
293805       The existing config option will only  be  available  if  the  installer
293806       detects  an  existing  config.  If there is an existing config, and you
293807       choose Default or Custom, the existing config will be deleted,  includ‐
293808       ing the minion.d directory, and replaced by your selection.
293809
293810       The  Default  Config and Custom Config options will allow you to modify
293811       the Master and the Minion ID. Existing Config will leave  the  existing
293812       configuration unchanged.
293813
293814       These  settings  can be defined on the command line using the following
293815       switches:
293816
293817       · /default-config
293818
293819       · /custom-config=C:\Path\To\Custom\Config\minion
293820
293821       If neither option is passed  and  there  is  an  existing  config,  the
293822       default  is  to use the existing config. If there is no existing config
293823       (new install) the default config will be used.
293824
293825   Multi-master configuration
293826       The installer now has the ability to apply a multi-master configuration
293827       either  from  the  GUI or the command line. The master field in the GUI
293828       can accept either a single master or a comma-separated list of masters.
293829       The command-line switch (/master=) can accept the same.
293830
293831   Command-line help
293832       The  Windows  installer  will now display command-line help when a help
293833       switch (/?) is passed.
293834
293835   New utils module salt.utils.pkg.win
293836       A new utils module has been added, which gathers information about win‐
293837       dows  installed software. This is currently not used by any salt execu‐
293838       tion module or state at this time. Users are encouraged to run this and
293839       report  any issues.  Running the command with the detail option will be
293840       useful for anyone developing windows package  definitions.   With  salt
293841       installed  in the default location the following command will print the
293842       help message.
293843
293844          chcp 65001
293845          c:\salt\bin\python.exe c:\salt\bin\lib\site-packages\salt\utils\pkg\win.py
293846          c:\salt\bin\python.exe c:\salt\bin\lib\site-packages\salt\utils\pkg\win.py detail system
293847
293848   Salt Cloud Features
293849   OpenStack Revamp
293850       The OpenStack Driver has been rewritten mostly from scratch.   Salt  is
293851       now using the shade driver <https://docs.openstack.org/shade/latest/>.
293852
293853       With this, the nova driver is being deprecated.
293854
293855       openstack driver
293856
293857       There  have also been several new modules and states added for managing
293858       OpenStack setups using shade as well.
293859
293860       keystone keystone role grant keystone group keystone role keystone ser‐
293861       vice  keystone  user keystone domain keystone project keystone endpoint
293862       glance glance_image neutron neutron  subnet  neutron  secgroup  neutron
293863       secgroup rule neutron network
293864
293865   Pre-Flight Commands
293866       Support  has  been added for specified "preflight commands" to run on a
293867       VM before the deploy script is run. These must be defined as a list  in
293868       a cloud configuration file. For example:
293869
293870          my-cloud-profile:
293871            provider: linode-config
293872            image: Ubuntu 16.04 LTS
293873            size: Linode 2048
293874            preflight_cmds:
293875              - whoami
293876              - echo 'hello world!'
293877
293878       These commands will run in sequence before the bootstrap script is exe‐
293879       cuted.
293880
293881   New salt-cloud Grains
293882       When salt-cloud creates a new minion, it will now add grain information
293883       to  the minion configuration file, identifying the resources originally
293884       used to create it.
293885
293886       The generated grain information will appear similar to:
293887
293888          grains:
293889            salt-cloud:
293890              driver: ec2
293891              provider: my_ec2:ec2
293892              profile: ec2-web
293893
293894       The generation of salt-cloud grains can be  suppressed  by  the  option
293895       enable_cloud_grains: 'False' in the cloud configuration file.
293896
293897   Upgraded Saltify Driver
293898       The  salt-cloud  Saltify driver is used to provision machines which are
293899       not controlled by a dedicated cloud supervisor (such as  typical  hard‐
293900       ware  machines) by pushing a salt-bootstrap command to them and accept‐
293901       ing them on the salt master. Creation of a node has been its only func‐
293902       tion and no other salt-cloud commands were implemented.
293903
293904       With this upgrade, it can use the salt-api to provide advanced control,
293905       such as rebooting a machine, querying it along with conventional  cloud
293906       minions, and, ultimately, disconnecting it from its master.
293907
293908       After disconnection from ("destroying" on) one master, a machine can be
293909       re-purposed by connecting to ("creating" on) a subsequent master.
293910
293911   New Vagrant Driver
293912       The salt-cloud Vagrant driver brings virtual machines running in a lim‐
293913       ited  environment, such as a programmer's workstation, under salt-cloud
293914       control.  This can be useful for experimentation, instruction, or test‐
293915       ing salt configurations.
293916
293917       Using  salt-api  on  the  master, and a salt-minion running on the host
293918       computer, the Vagrant driver can create (vagrant up), restart  (vagrant
293919       reload), and destroy (vagrant destroy) VMs, as controlled by salt-cloud
293920       profiles which designate a Vagrantfile on the host machine.
293921
293922       The master can be a very limited machine, such as a Raspberry Pi, or  a
293923       small VagrantBox VM.
293924
293925   Python PyWinRM Module
293926       Versions  of  pywinrm>=0.2.1  are finally able to disable validation of
293927       self signed certificates.  Here for more information.
293928
293929   DigitalOcean
293930       The DigitalOcean driver has been renamed  to  conform  to  the  company
293931       name.  The new driver name is digitalocean.  The old name digital_ocean
293932       and a short one do will still be  supported  through  virtual  aliases,
293933       this is mostly cosmetic.
293934
293935   Azure Cloud
293936       The  azure  sdk  used  for  the  azurearm  cloud  driver now depends on
293937       azure-cli>=2.0.12
293938
293939   New saltclass pillar/master_tops modules
293940       This    module    clones    the     behaviour     of     reclass     (‐
293941       http://reclass.pantsfullofunix.net/),  without  the need of an external
293942       app, and add several features to improve flexibility.   Saltclass  lets
293943       you  define your nodes from simple yaml files (.yml) through hierarchi‐
293944       cal class inheritance with the possibility to override pillars down the
293945       tree.
293946
293947       Features
293948
293949       · Define your nodes through hierarchical class inheritance
293950
293951       · Reuse your reclass data with minimal modifications
293952
293953            · applications => states
293954
293955            · parameters => pillars
293956
293957       · Use Jinja templating in your yaml definitions
293958
293959       · Access to the following Salt objects in Jinja
293960
293961            · __opts__
293962
293963            · __salt__
293964
293965            · __grains__
293966
293967            · __pillars__
293968
293969            · minion_id
293970
293971       · Chose  how  to  merge  or  override your lists using ^ character (see
293972         examples)
293973
293974       · Expand variables ${} with possibility to escape them  if  needed  ${}
293975         (see examples)
293976
293977       · Ignores  missing  node/class  and  will  simply  return empty without
293978         breaking the pillar module completely - will be logged
293979
293980       An    example     subset     of     data     is     available     here:
293981       http://git.mauras.ch/salt/saltclass/src/master/examples
293982
293983              ┌───────────────────────────┬────────────────────────────┐
293984              │Terms usable in yaml files │ Description                │
293985              ├───────────────────────────┼────────────────────────────┤
293986              │classes                    │ A  list  of  classes  that │
293987              │                           │ will be processed in order │
293988              ├───────────────────────────┼────────────────────────────┤
293989              │states                     │ A list of states that will │
293990              │                           │ be returned by master_tops │
293991              │                           │ function                   │
293992              ├───────────────────────────┼────────────────────────────┤
293993              │pillars                    │ A  yaml  dictionary   that │
293994              │                           │ will  be  returned  by the │
293995              │                           │ ext_pillar function        │
293996              ├───────────────────────────┼────────────────────────────┤
293997              │environment                │ Node saltenv that will  be │
293998              │                           │ used by master_tops        │
293999              └───────────────────────────┴────────────────────────────┘
294000
294001       A class consists of:
294002
294003       · zero or more parent classes
294004
294005       · zero or more states
294006
294007       · any number of pillars
294008
294009       A  child class can override pillars from a parent class. A node defini‐
294010       tion is a class in itself  with  an  added  environment  parameter  for
294011       saltenv definition.
294012
294013       Class Names
294014
294015       Class  names  mimic salt way of defining states and pillar files.  This
294016       means that default.users class name will correspond to one of these:
294017
294018       · <saltclass_path>/classes/default/users.yml
294019
294020       · <saltclass_path>/classes/default/users/init.yml
294021
294022       Saltclass Tree
294023
294024       A saltclass tree would look like this:
294025
294026          <saltclass_path>
294027          ├── classes
294028          │   ├── app
294029          │   │   ├── borgbackup.yml
294030          │   │   └── ssh
294031          │   │       └── server.yml
294032          │   ├── default
294033          │   │   ├── init.yml
294034          │   │   ├── motd.yml
294035          │   │   └── users.yml
294036          │   ├── roles
294037          │   │   ├── app.yml
294038          │   │   └── nginx
294039          │   │       ├── init.yml
294040          │   │       └── server.yml
294041          │   └── subsidiaries
294042          │       ├── gnv.yml
294043          │       ├── qls.yml
294044          │       └── zrh.yml
294045          └── nodes
294046              ├── geneva
294047              │   └── gnv.node1.yml
294048              ├── lausanne
294049              │   ├── qls.node1.yml
294050              │   └── qls.node2.yml
294051              ├── node127.yml
294052              └── zurich
294053                  ├── zrh.node1.yml
294054                  ├── zrh.node2.yml
294055                  └── zrh.node3.yml
294056
294057       Examples
294058
294059       <saltclass_path>/nodes/lausanne/qls.node1.yml
294060
294061          environment: base
294062
294063          classes:
294064          {% for class in ['default'] %}
294065            - {{ class }}
294066          {% endfor %}
294067            - subsidiaries.{{ __grains__['id'].split('.')[0] }}
294068
294069       <saltclass_path>/classes/default/init.yml
294070
294071          classes:
294072            - default.users
294073            - default.motd
294074
294075          states:
294076            - openssh
294077
294078          pillars:
294079            default:
294080              network:
294081                dns:
294082                  srv1: 192.168.0.1
294083                  srv2: 192.168.0.2
294084                  domain: example.com
294085              ntp:
294086                srv1: 192.168.10.10
294087                srv2: 192.168.10.20
294088
294089       <saltclass_path>/classes/subsidiaries/gnv.yml
294090
294091          pillars:
294092            default:
294093              network:
294094                sub: Geneva
294095                dns:
294096                  srv1: 10.20.0.1
294097                  srv2: 10.20.0.2
294098                  srv3: 192.168.1.1
294099                  domain: gnv.example.com
294100              users:
294101                adm1:
294102                  uid: 1210
294103                  gid: 1210
294104                  gecos: 'Super user admin1'
294105                  homedir: /srv/app/adm1
294106                adm3:
294107                  uid: 1203
294108                  gid: 1203
294109                  gecos: 'Super user adm
294110
294111       Variable expansions:
294112
294113       Escaped variables are rendered as is - ${test}
294114
294115       Missing variables are rendered as is - ${net:dns:srv2}
294116
294117          pillars:
294118            app:
294119            config:
294120              dns:
294121                srv1: ${default:network:dns:srv1}
294122                srv2: ${net:dns:srv2}
294123              uri: https://application.domain/call?\${test}
294124              prod_parameters:
294125                - p1
294126                - p2
294127                - p3
294128            pkg:
294129              - app-core
294130              - app-backend
294131
294132       List override:
294133
294134       Not using ^ as the first entry will simply merge the lists
294135
294136          pillars:
294137            app:
294138              pkg:
294139                - ^
294140                - app-frontend
294141
294142       Known limitation
294143
294144       Currently you can't have both a variable and an escaped variable in the
294145       same string as the escaped one will not be correctly rendered - '${xx}'
294146       will stay as is instead of being rendered as '${xx}'
294147
294148   Lists of comments in state returns
294149       State functions can now return a list of strings for the comment field,
294150       as  opposed  to  only  a  single string.  This is meant to ease writing
294151       states with multiple or multi-part comments.
294152
294153   Beacon configuration changes
294154       In order to remain consistent and to align with other  Salt  components
294155       such  as states, support for configuring beacons using dictionary based
294156       configuration has been deprecated in favor of list based configuration.
294157       All  beacons have a validation function which will check the configura‐
294158       tion for the correct format and only load if the validation passes.
294159
294160   avahi_announce
294161       Old behavior:
294162
294163          beacons:
294164            avahi_announce:
294165              run_once: True
294166              servicetype: _demo._tcp
294167              port: 1234
294168              txt:
294169                ProdName: grains.productname
294170                SerialNo: grains.serialnumber
294171                Comments: 'this is a test'
294172
294173       New behavior:
294174
294175          beacons:
294176            avahi_announce:
294177              - run_once: True
294178              - servicetype: _demo._tcp
294179              - port: 1234
294180              - txt:
294181                  ProdName: grains.productname
294182                  SerialNo: grains.serialnumber
294183                  Comments: 'this is a test'
294184
294185   bonjour_announce
294186       Old behavior:
294187
294188          beacons:
294189            bonjour_announce:
294190              run_once: True
294191              servicetype: _demo._tcp
294192              port: 1234
294193              txt:
294194                ProdName: grains.productname
294195                SerialNo: grains.serialnumber
294196                Comments: 'this is a test'
294197
294198       New behavior:
294199
294200          beacons:
294201            bonjour_announce:
294202              - run_once: True
294203              - servicetype: _demo._tcp
294204              - port: 1234
294205              - txt:
294206                  ProdName: grains.productname
294207                  SerialNo: grains.serialnumber
294208                  Comments: 'this is a test'
294209
294210   btmp
294211       Old behavior:
294212
294213          beacons:
294214            btmp: {}
294215
294216       New behavior:
294217
294218          beacons:
294219            btmp: []
294220
294221   glxinfo
294222       Old behavior:
294223
294224          beacons:
294225            glxinfo:
294226              user: frank
294227              screen_event: True
294228
294229       New behavior:
294230
294231          beacons:
294232            glxinfo:
294233              - user: frank
294234              - screen_event: True
294235
294236   haproxy
294237       Old behavior:
294238
294239          beacons:
294240              haproxy:
294241                  - www-backend:
294242                      threshold: 45
294243                      servers:
294244                          - web1
294245                          - web2
294246                  - interval: 120
294247
294248       New behavior:
294249
294250          beacons:
294251            haproxy:
294252              - backends:
294253                  www-backend:
294254                    threshold: 45
294255                    servers:
294256                      - web1
294257                      - web2
294258              - interval: 120
294259
294260   inotify
294261       Old behavior:
294262
294263          beacons:
294264            inotify:
294265              /path/to/file/or/dir:
294266                  mask:
294267                    - open
294268                    - create
294269                    - close_write
294270                  recurse: True
294271                  auto_add: True
294272                  exclude:
294273                    - /path/to/file/or/dir/exclude1
294274                    - /path/to/file/or/dir/exclude2
294275                    - /path/to/file/or/dir/regex[a-m]*$:
294276                  regex: True
294277              coalesce: True
294278
294279       New behavior:
294280
294281          beacons:
294282            inotify:
294283              - files:
294284                  /path/to/file/or/dir:
294285                    mask:
294286                      - open
294287                      - create
294288                      - close_write
294289                    recurse: True
294290                    auto_add: True
294291                    exclude:
294292                      - /path/to/file/or/dir/exclude1
294293                      - /path/to/file/or/dir/exclude2
294294                      - /path/to/file/or/dir/regex[a-m]*$:
294295                    regex: True
294296              - coalesce: True
294297
294298   journald
294299       Old behavior:
294300
294301          beacons:
294302            journald:
294303              sshd:
294304                SYSLOG_IDENTIFIER: sshd
294305                PRIORITY: 6
294306
294307       New behavior:
294308
294309          beacons:
294310            journald:
294311              - services:
294312                  sshd:
294313                    SYSLOG_IDENTIFIER: sshd
294314                    PRIORITY: 6
294315
294316   load
294317       Old behavior:
294318
294319          beacons:
294320            load:
294321              1m:
294322                - 0.0
294323                - 2.0
294324              5m:
294325                - 0.0
294326                - 1.5
294327              15m:
294328                - 0.1
294329                - 1.0
294330              emitatstartup: True
294331              onchangeonly: False
294332
294333       New behavior:
294334
294335          beacons:
294336            load:
294337              - averages:
294338                  1m:
294339                    - 0.0
294340                    - 2.0
294341                  5m:
294342                    - 0.0
294343                    - 1.5
294344                  15m:
294345                    - 0.1
294346                    - 1.0
294347              - emitatstartup: True
294348              - onchangeonly: False
294349
294350   log
294351       Old behavior:
294352
294353          beacons:
294354              log:
294355                file: <path>
294356                <tag>:
294357                  regex: <pattern>
294358
294359       New behavior:
294360
294361          beacons:
294362              log:
294363                - file: <path>
294364                - tags:
294365                    <tag>:
294366                      regex: <pattern>
294367
294368   network_info
294369       Old behavior:
294370
294371          beacons:
294372            network_info:
294373              - eth0:
294374                  type: equal
294375                  bytes_sent: 100000
294376                  bytes_recv: 100000
294377                  packets_sent: 100000
294378                  packets_recv: 100000
294379                  errin: 100
294380                  errout: 100
294381                  dropin: 100
294382                  dropout: 100
294383
294384       New behavior:
294385
294386          beacons:
294387            network_info:
294388              - interfaces:
294389                  eth0:
294390                    type: equal
294391                    bytes_sent: 100000
294392                    bytes_recv: 100000
294393                    packets_sent: 100000
294394                    packets_recv: 100000
294395                    errin: 100
294396                    errout: 100
294397                    dropin: 100
294398                    dropout: 100
294399
294400   network_settings
294401       Old behavior:
294402
294403          beacons:
294404            network_settings:
294405              eth0:
294406                ipaddr:
294407                promiscuity:
294408                  onvalue: 1
294409              eth1:
294410                linkmode:
294411
294412       New behavior:
294413
294414          beacons:
294415            network_settings:
294416              - interfaces:
294417                  - eth0:
294418                      ipaddr:
294419                      promiscuity:
294420                        onvalue: 1
294421                  - eth1:
294422                      linkmode:
294423
294424   proxy_example
294425       Old behavior:
294426
294427          beacons:
294428            proxy_example:
294429              endpoint: beacon
294430
294431       New behavior:
294432
294433          beacons:
294434            proxy_example:
294435              - endpoint: beacon
294436
294437   ps
294438       Old behavior:
294439
294440          beacons:
294441            ps:
294442              - salt-master: running
294443              - mysql: stopped
294444
294445       New behavior:
294446
294447          beacons:
294448            ps:
294449              - processes:
294450                  salt-master: running
294451                  mysql: stopped
294452
294453   salt_proxy
294454       Old behavior:
294455
294456          beacons:
294457            salt_proxy:
294458              - p8000: {}
294459              - p8001: {}
294460
294461       New behavior:
294462
294463          beacons:
294464            salt_proxy:
294465              - proxies:
294466                  p8000: {}
294467                  p8001: {}
294468
294469   sensehat
294470       Old behavior:
294471
294472          beacons:
294473            sensehat:
294474              humidity: 70%
294475              temperature: [20, 40]
294476              temperature_from_pressure: 40
294477              pressure: 1500
294478
294479       New behavior:
294480
294481          beacons:
294482            sensehat:
294483              - sensors:
294484                  humidity: 70%
294485                  temperature: [20, 40]
294486                  temperature_from_pressure: 40
294487                  pressure: 1500
294488
294489   service
294490       Old behavior:
294491
294492          beacons:
294493            service:
294494              salt-master:
294495              mysql:
294496
294497       New behavior:
294498
294499          beacons:
294500            service:
294501              - services:
294502                  nginx:
294503                      onchangeonly: True
294504                      delay: 30
294505                      uncleanshutdown: /run/nginx.pid
294506
294507   sh
294508       Old behavior:
294509
294510          beacons:
294511            sh: {}
294512
294513       New behavior:
294514
294515          beacons:
294516            sh: []
294517
294518   status
294519       Old behavior:
294520
294521          beacons:
294522            status: {}
294523
294524       New behavior:
294525
294526          beacons:
294527            status: []
294528
294529   telegram_bot_msg
294530       Old behavior:
294531
294532          beacons:
294533            telegram_bot_msg:
294534              token: "<bot access token>"
294535              accept_from:
294536                - "<valid username>"
294537              interval: 10
294538
294539       New behavior:
294540
294541          beacons:
294542            telegram_bot_msg:
294543              - token: "<bot access token>"
294544              - accept_from:
294545                - "<valid username>"
294546              - interval: 10
294547
294548   twilio_txt_msg
294549       Old behavior:
294550
294551          beacons:
294552            twilio_txt_msg:
294553              account_sid: "<account sid>"
294554              auth_token: "<auth token>"
294555              twilio_number: "+15555555555"
294556              interval: 10
294557
294558       New behavior:
294559
294560          beacons:
294561            twilio_txt_msg:
294562              - account_sid: "<account sid>"
294563              - auth_token: "<auth token>"
294564              - twilio_number: "+15555555555"
294565              - interval: 10
294566
294567   wtmp
294568       Old behavior:
294569
294570          beacons:
294571            wtmp: {}
294572
294573       New behavior:
294574
294575          beacons:
294576            wtmp: []
294577
294578   New requisites available in state compiler
294579   require_any
294580       The use of require_any demands that one of the required states executes
294581       before the dependent state. The state containing the require_any requi‐
294582       site is defined as the dependent state. The  states  specified  in  the
294583       require_any  statement  are defined as the required states. If at least
294584       one of the required state's execution  succeeds,  the  dependent  state
294585       will  then  execute.  If  all  of the executions by the required states
294586       fail, the dependent state will not execute.
294587
294588   watch_any
294589       The state containing the watch_any requisite is defined as the watching
294590       state.  The  states specified in the watch_any statement are defined as
294591       the watched states. When the watched states execute, they will return a
294592       dictionary containing a key named "changes".
294593
294594       If  the  "result"  of  any  of the watched states is True, the watching
294595       state will execute normally, and if all of them are False, the watching
294596       state  will never run.  This part of watch mirrors the functionality of
294597       the require requisite.
294598
294599       If the "result" of any of the watched states is True and the  "changes"
294600       key  contains  a  populated dictionary (changes occurred in the watched
294601       state), then the watch requisite  can  add  additional  behavior.  This
294602       additional  behavior  is  defined  by the mod_watch function within the
294603       watching state module. If the mod_watch function exists in the watching
294604       state  module,  it  will  be  called in addition to the normal watching
294605       state. The return data from the mod_watch  function  is  what  will  be
294606       returned  to  the  master  in  this case; the return data from the main
294607       watching function is discarded.
294608
294609       If the "changes" key contains an empty dictionary, the watch  requisite
294610       acts  exactly  like the require requisite (the watching state will exe‐
294611       cute if "result" is True, and fail if "result" is False in the  watched
294612       state).
294613
294614   onchanges_any
294615       The  onchanges_any  requisite  makes  a  state  only  apply  one of the
294616       required states generates changes, and if one of  the  watched  state's
294617       "result" is True. This can be a useful way to execute a post hook after
294618       changing aspects of a system.
294619
294620   onfail_any
294621       The onfail_any requisite allows for reactions to happen strictly  as  a
294622       response  to  the failure of at least one other state. This can be used
294623       in a number of ways, such as executing a second attempt  to  set  up  a
294624       service  or  begin  to execute a separate thread of states because of a
294625       failure.
294626
294627       The onfail_any requisite is applied in the same way as require_any  and
294628       watch_any.
294629
294630   Basic Slots support in state compiler
294631       Slots  extend the state syntax and allows you to do things right before
294632       the state function is executed. So you can make a decision in the  last
294633       moment right before a state is executed.
294634
294635       Slot  syntax  looks close to the simple python function call. Here is a
294636       simple example:
294637
294638          copy-some-file:
294639            file.copy:
294640              - name: __slot__:salt:test.echo(text=/tmp/some_file)
294641              - source: __slot__:salt:test.echo(/etc/hosts)
294642
294643       Read more here.
294644
294645   Cryptographic layer changes
294646       M2Crypto is coming back. We are making the crypto backend  modular  but
294647       in  this  release  M2Crypto is enabled if it's importable by Python. If
294648       not Cryptodome or PyCrypto is used as it was in the previous  releases.
294649       M2Crypto  is used in the same way as PyCrypto so there would be no com‐
294650       patibility issues, different nodes could use different backends.
294651
294652   NaCL Module and Runner changes
294653       In addition to argument changes in both the NaCL module and runner  for
294654       future  removal in the 3000 release, the default "box_type" has changed
294655       from secretbox to sealedbox.  SecretBox is data encrypted using private
294656       key sk and Sealedbox is encrypted using public key pk.
294657
294658   utils functions reorganized into separate modules
294659       The  Salt  utility  functions  from salt.utils (typically used by those
294660       developing extension modules for Salt) have been moved  into  different
294661       modules,  grouped logically based on their functionality. The old func‐
294662       tion names will continue to work until the 3000 release  of  Salt  (due
294663       around Q1 2019).
294664
294665       The renamed functions are:
294666
294667       · salt.utils.appendproctitle:   use  salt.utils.process.appendproctitle
294668         instead.
294669
294670       · salt.utils.daemonize: use salt.utils.process.daemonize instead.
294671
294672       · salt.utils.daemonize_if: use salt.utils.process.daemonize_if instead.
294673
294674       · salt.utils.reinit_crypto: use salt.utils.crypt.reinit_crypto instead.
294675
294676       · salt.utils.pem_finger: use salt.utils.crypt.pem_finger instead.
294677
294678       · salt.utils.to_bytes: use salt.utils.stringutils.to_bytes instead.
294679
294680       · salt.utils.to_str: use salt.utils.stringutils.to_str instead.
294681
294682       · salt.utils.to_unicode: use salt.utils.stringutils.to_unicode instead.
294683
294684       · salt.utils.str_to_num: use salt.utils.stringutils.to_num instead.
294685
294686       · salt.utils.is_quoted: use salt.utils.stringutils.is_quoted instead.
294687
294688       · salt.utils.dequote: use salt.utils.stringutils.dequote instead.
294689
294690       · salt.utils.is_hex: use salt.utils.stringutils.is_hex instead.
294691
294692       · salt.utils.is_bin_str: use salt.utils.stringutils.is_bin_str instead.
294693
294694       · salt.utils.rand_string: use salt.utils.stringutils.random instead.
294695
294696       · salt.utils.contains_whitespace:    use    salt.utils.stringutils.con‐
294697         tains_whitespace instead.
294698
294699       · salt.utils.build_whitespace_split_regex:                          use
294700         salt.utils.stringutils.build_whitespace_split_regex instead.
294701
294702       · salt.utils.expr_match: use salt.utils.stringutils.expr_match instead.
294703
294704       · salt.utils.check_whitelist_blacklist:                             use
294705         salt.utils.stringutils.check_whitelist_blacklist instead.
294706
294707       · salt.utils.check_include_exclude:                                 use
294708         salt.utils.stringutils.check_include_exclude instead.
294709
294710       · salt.utils.print_cli: use salt.utils.stringutils.print_cli instead.
294711
294712       · salt.utils.clean_kwargs: use salt.utils.args.clean_kwargs instead.
294713
294714       · salt.utils.invalid_kwargs:     use     salt.utils.args.invalid_kwargs
294715         instead.
294716
294717       · salt.utils.shlex_split: use salt.utils.args.shlex_split instead.
294718
294719       · salt.utils.arg_lookup: use salt.utils.args.arg_lookup instead.
294720
294721       · salt.utils.argspec_report:     use     salt.utils.args.argspec_report
294722         instead.
294723
294724       · salt.utils.split_input: use salt.utils.args.split_input instead.
294725
294726       · salt.utils.test_mode: use salt.utils.args.test_mode instead.
294727
294728       · salt.utils.format_call: use salt.utils.args.format_call instead.
294729
294730       · salt.utils.which: use salt.utils.path.which instead.
294731
294732       · salt.utils.which_bin: use salt.utils.path.which_bin instead.
294733
294734       · salt.utils.path_join: use salt.utils.path.join instead.
294735
294736       · salt.utils.check_or_die: use salt.utils.path.check_or_die instead.
294737
294738       · salt.utils.sanitize_win_path_string:    use     salt.utils.path.sani‐
294739         tize_win_path instead.
294740
294741       · salt.utils.rand_str: use salt.utils.hashutils.random_hash instead.
294742
294743       · salt.utils.get_hash: use salt.utils.hashutils.get_hash instead.
294744
294745       · salt.utils.is_windows: use salt.utils.platform.is_windows instead.
294746
294747       · salt.utils.is_proxy: use salt.utils.platform.is_proxy instead.
294748
294749       · salt.utils.is_linux: use salt.utils.platform.is_linux instead.
294750
294751       · salt.utils.is_darwin: use salt.utils.platform.is_darwin instead.
294752
294753       · salt.utils.is_sunos: use salt.utils.platform.is_sunos instead.
294754
294755       · salt.utils.is_smartos: use salt.utils.platform.is_smartos instead.
294756
294757       · salt.utils.is_smartos_globalzone:   use  salt.utils.platform.is_smar‐
294758         tos_globalzone instead.
294759
294760       · salt.utils.is_smartos_zone:  use  salt.utils.platform.is_smartos_zone
294761         instead.
294762
294763       · salt.utils.is_freebsd: use salt.utils.platform.is_freebsd instead.
294764
294765       · salt.utils.is_netbsd: use salt.utils.platform.is_netbsd instead.
294766
294767       · salt.utils.is_openbsd: use salt.utils.platform.is_openbsd instead.
294768
294769       · salt.utils.is_aix: use salt.utils.platform.is_aix instead.
294770
294771       · salt.utils.safe_rm: use salt.utils.files.safe_rm instead.
294772
294773       · salt.utils.is_empty: use salt.utils.files.is_empty instead.
294774
294775       · salt.utils.fopen: use salt.utils.files.fopen instead.
294776
294777       · salt.utils.flopen: use salt.utils.files.flopen instead.
294778
294779       · salt.utils.fpopen: use salt.utils.files.fpopen instead.
294780
294781       · salt.utils.rm_rf: use salt.utils.files.rm_rf instead.
294782
294783       · salt.utils.mkstemp: use salt.utils.files.mkstemp instead.
294784
294785       · salt.utils.istextfile: use salt.utils.files.is_text_file instead.
294786
294787       · salt.utils.is_bin_file: use salt.utils.files.is_binary instead.
294788
294789       · salt.utils.list_files: use salt.utils.files.list_files instead.
294790
294791       · salt.utils.safe_walk: use salt.utils.files.safe_walk instead.
294792
294793       · salt.utils.st_mode_to_octal:   use  salt.utils.files.st_mode_to_octal
294794         instead.
294795
294796       · salt.utils.normalize_mode:    use     salt.utils.files.normalize_mode
294797         instead.
294798
294799       · salt.utils.human_size_to_bytes:                                   use
294800         salt.utils.files.human_size_to_bytes instead.
294801
294802       · salt.utils.backup_minion: use salt.utils.files.backup_minion instead.
294803
294804       · salt.utils.str_version_to_evr: use  salt.utils.pkg.rpm.version_to_evr
294805         instead.
294806
294807       · salt.utils.parse_docstring:     use    salt.utils.doc.parse_docstring
294808         instead.
294809
294810       · salt.utils.compare_versions: use salt.utils.versions.compare instead.
294811
294812       · salt.utils.version_cmp: use salt.utils.versions.version_cmp instead.
294813
294814       · salt.utils.warn_until: use salt.utils.versions.warn_until instead.
294815
294816       · salt.utils.kwargs_warn_until:           use           salt.utils.ver‐
294817         sions.kwargs_warn_until instead.
294818
294819       · salt.utils.get_color_theme:    use   salt.utils.color.get_color_theme
294820         instead.
294821
294822       · salt.utils.get_colors: use salt.utils.color.get_colors instead.
294823
294824       · salt.utils.gen_state_tag: use salt.utils.state.gen_tag instead.
294825
294826       · salt.utils.search_onfail_requisites:                              use
294827         salt.utils.state.search_onfail_requisites instead.
294828
294829       · salt.utils.check_state_result:    use   salt.utils.state.check_result
294830         instead.
294831
294832       · salt.utils.get_user: use salt.utils.user.get_user instead.
294833
294834       · salt.utils.get_uid: use salt.utils.user.get_uid instead.
294835
294836       · salt.utils.get_specific_user:  use  salt.utils.user.get_specific_user
294837         instead.
294838
294839       · salt.utils.chugid: use salt.utils.user.chugid instead.
294840
294841       · salt.utils.chugid_and_umask:   use   salt.utils.user.chugid_and_umask
294842         instead.
294843
294844       · salt.utils.get_default_group:  use  salt.utils.user.get_default_group
294845         instead.
294846
294847       · salt.utils.get_group_list:     use     salt.utils.user.get_group_list
294848         instead.
294849
294850       · salt.utils.get_group_dict:     use     salt.utils.user.get_group_dict
294851         instead.
294852
294853       · salt.utils.get_gid_list: use salt.utils.user.get_gid_list instead.
294854
294855       · salt.utils.get_gid: use salt.utils.user.get_gid instead.
294856
294857       · salt.utils.enable_ctrl_logoff_handler:    use    salt.utils.win_func‐
294858         tions.enable_ctrl_logoff_handler instead.
294859
294860       · salt.utils.traverse_dict: use salt.utils.data.traverse_dict instead.
294861
294862       · salt.utils.traverse_dict_and_list:      use      salt.utils.data.tra‐
294863         verse_dict_and_list instead.
294864
294865       · salt.utils.filter_by: use salt.utils.data.filter_by instead.
294866
294867       · salt.utils.subdict_match: use salt.utils.data.subdict_match instead.
294868
294869       · salt.utils.substr_in_list:     use     salt.utils.data.substr_in_list
294870         instead.
294871
294872       · salt.utils.is_dictlist: use salt.utils.data.is_dictlist.
294873
294874       · salt.utils.repack_dictlist:    use    salt.utils.data.repack_dictlist
294875         instead.
294876
294877       · salt.utils.compare_dicts: use salt.utils.data.compare_dicts instead.
294878
294879       · salt.utils.compare_lists: use salt.utils.data.compare_lists instead.
294880
294881       · salt.utils.decode_dict: use salt.utils.data.encode_dict instead.
294882
294883       · salt.utils.decode_list: use salt.utils.data.encode_list instead.
294884
294885       · salt.utils.exactly_n: use salt.utils.data.exactly_n instead.
294886
294887       · salt.utils.exactly_one: use salt.utils.data.exactly_one instead.
294888
294889       · salt.utils.is_list: use salt.utils.data.is_list instead.
294890
294891       · salt.utils.is_iter: use salt.utils.data.is_iter instead.
294892
294893       · salt.utils.isorted: use salt.utils.data.sorted_ignorecase instead.
294894
294895       · salt.utils.is_true: use salt.utils.data.is_true instead.
294896
294897       · salt.utils.mysql_to_dict: use salt.utils.data.mysql_to_dict instead.
294898
294899       · salt.utils.simple_types_filter: use salt.utils.data.simple_types_fil‐
294900         ter instead.
294901
294902       · salt.utils.ip_bracket: use salt.utils.zeromq.ip_bracket instead.
294903
294904       · salt.utils.gen_mac: use salt.utils.network.gen_mac instead.
294905
294906       · salt.utils.mac_str_to_bytes: use  salt.utils.network.mac_str_to_bytes
294907         instead.
294908
294909       · salt.utils.refresh_dns: use salt.utils.network.refresh_dns instead.
294910
294911       · salt.utils.dns_check: use salt.utils.network.dns_check instead.
294912
294913       · salt.utils.get_context:     use    salt.utils.stringutils.get_context
294914         instead.
294915
294916       · salt.utils.get_master_key:    use    salt.utils.master.get_master_key
294917         instead.
294918
294919       · salt.utils.get_values_of_matching_keys:      use      salt.utils.mas‐
294920         ter.get_values_of_matching_keys instead.
294921
294922       · salt.utils.date_cast: use salt.utils.dateutils.date_cast instead.
294923
294924       · salt.utils.date_format: use salt.utils.dateutils.strftime instead.
294925
294926       · salt.utils.total_seconds:   use    salt.utils.dateutils.total_seconds
294927         instead.
294928
294929       · salt.utils.find_json: use salt.utils.json.find_json instead.
294930
294931       · salt.utils.import_json: use salt.utils.json.import_json instead.
294932
294933       · salt.utils.namespaced_function:    use    salt.utils.functools.names‐
294934         paced_function instead.
294935
294936       · salt.utils.alias_function:  use   salt.utils.functools.alias_function
294937         instead.
294938
294939       · salt.utils.profile_func: use salt.utils.profile.profile_func instead.
294940
294941       · salt.utils.activate_profile:  use salt.utils.profile.activate_profile
294942         instead.
294943
294944       · salt.utils.output_profile:   use    salt.utils.profile.output_profile
294945         instead.
294946
294947   Deprecations
294948   Configuration Option Deprecations
294949       · The  requests_lib  configuration  option has been removed. Please use
294950         backend instead.
294951
294952   Profitbricks Cloud Updated Dependency
294953       The minimum version of the profitbrick python package for  the  profit‐
294954       bricks cloud driver has changed from 3.0.0 to 3.1.0.
294955
294956   Execution Module Deprecations
294957       · The  blockdev  execution  module has been removed. Its functions were
294958         merged with the disk module.
294959
294960       · The lxc execution module has been changed as follows:
294961
294962            · The dnsservers  option  to  lxc.cloud_init_interface  no  longer
294963              defaults to 4.4.4.4 and 8.8.8.8.
294964
294965            · The dns_via_dhcp option to lxc.cloud_init_interface now defaults
294966              to True instead of False.
294967
294968       · The win_psget module has been changed as follows:
294969
294970            · The   psget.psversion   function   was   removed.   Please   use
294971              cmd.shell_info instead.
294972
294973       · The  win_service module (which provides the service module on Windows
294974         platforms) has been changed as follows:
294975
294976            · The config  function  was  removed.  Please  use  service.modify
294977              instead.
294978
294979            · The following arguments to the service.create function have been
294980              renamed:
294981
294982                  · binpath has been renamed to bin_path
294983
294984                  · depend has been renamed to dependencies
294985
294986                  · DisplayName has been renamed to display_name
294987
294988                  · error has been renamed to error_control
294989
294990                  · group has been renamed to load_order_group
294991
294992                  · obj has been renamed to account_name
294993
294994                  · password has been renamed to account_password
294995
294996                  · start has been renamed to start_type
294997
294998                  · type has been renamed to service_type
294999
295000       · The nacl module has been changed as follows:
295001
295002            · The following arguments have been renamed  in  the  nacl.keygen,
295003              nacl.enc, and nacl.dec:
295004
295005                  · key_file has been renamed to sk_file
295006
295007                  · key has been renamed to sk
295008
295009   Runner Deprecations
295010       · The manage runner has been changed as follows:
295011
295012            · root_user  argument  was removed from the manage.bootstrap func‐
295013              tion. Please use salt-ssh roster entries for the host instead.
295014
295015       · The nacl runner has been changed as follows:
295016
295017            · The following arguments have been renamed  in  the  nacl.keygen,
295018              nacl.enc, and nacl.dec:
295019
295020                  · key_file has been renamed to sk_file
295021
295022                  · key has been renamed to sk
295023
295024   State Deprecations
295025       · In  the  archive  state, the tar_options and zip_options options were
295026         removed. Please use options instead.
295027
295028       · The cmd state had the following changes:
295029
295030            · The user and group options were removed from the following func‐
295031              tions (please use runas instead):
295032
295033                  · cmd.run
295034
295035                  · cmd.script
295036
295037                  · cmd.wait
295038
295039                  · cmd.wait_script
295040
295041       · In  the  file  states, the show_diff option was removed in all states
295042         where it was previously supported. Please use show_changes instead.
295043
295044   Grain Deprecations
295045       · For smartos, some grains have been deprecated. These grains  will  be
295046         removed in 3000:
295047
295048            · The    hypervisor_uuid    grain    has    been   replaced   with
295049              mdata:sdc:server_uuid
295050
295051            · The datacenter grain has been replaced  with  mdata:sdc:datacen‐
295052              ter_name
295053
295054   Pillar Deprecations
295055       The  legacy  configuration  for git_pillar has been removed. Please use
295056       the new configuration for git_pillar which was added in 2015.8.0, which
295057       is documented here.
295058
295059   Utils Deprecations
295060       · In  salt.utils.cloud, the fire_event function now requires a sock_dir
295061         argument. It was previously optional.
295062
295063   Other Miscellaneous Deprecations
295064       · In version.py, the rc_info function was removed. Please use  pre_info
295065         instead.
295066
295067       · Warnings  for  moving  away from the env option were removed. saltenv
295068         should be used instead. The removal of these warnings does not have a
295069         behavior change. Only the warning text was removed.
295070
295071   Minion Blackout
295072       During  a  blackout, minions will not execute any remote execution com‐
295073       mands, except for  saltutil.refresh_pillar.   Previously,  support  was
295074       added  so  that  blackouts are enabled using a special pillar key, min‐
295075       ion_blackout set to True  and  an  optional  pillar  key  minion_black‐
295076       out_whitelist to specify additional functions that are permitted during
295077       blackout. This release adds support  for  using  this  feature  in  the
295078       grains  as  well, by using special grains keys minion_blackout and min‐
295079       ion_blackout_whitelist.
295080
295081   Sentry Log Handler
295082       Configuring sentry raven python client via project, servers, public_key
295083       and  ``secret_key  is  deprecated  and won't work with sentry clients >
295084       3.0.  Instead, the dsn config param must be used.
295085
295086   RAET transport
295087       We haven't been doing development on  RAET  for  quite  some  time  and
295088       decided  that  2018.3.0  is  the time to announce the deprecation. RAET
295089       support will be removed in 3000. Please consider to move to  zeromq  or
295090       tcp transport instead of raet.
295091
295092   Salt 2018.3.1 Release Notes
295093       Version 2018.3.1 is a bugfix release for 2018.3.0.
295094
295095   Statistics
295096       · Total Merges: 525
295097
295098       · Total Issue References: 74
295099
295100       · Total PR References: 255
295101
295102       · Contributors:  55  (Ch3LL,  DmitryKuzmenko,  Giandom,  Kimol,  L4rS6,
295103         LukeCarrier,   OrlandoArcapix,    TamCore,    The-Loeki,    UtahDave,
295104         aesposito91,  bbinet,  bdrung, boltronics, bosatsu, clan, corywright,
295105         damon-atkins, dincamihai, dmurphy18, dnABic, douglasjreynolds,  dwoz,
295106         edgan,   ejparker12,  esell,  ezh,  femnad,  folti,  garethgreenaway,
295107         gtmanfred, isbm,  jasperla,  johnj,  mateiw,  mcalmer,  mirceaulinic,
295108         morganwillcock,   opdude,  pcn,  pruiz,  psagers,  psyer,  rallytime,
295109         robinro, s0undt3ch, samodid, shengis, skjaro, tankywoo, terminalmage,
295110         twangboy, vutny, yannj-fr, zmedico)
295111
295112       WARNING:
295113          If  you  are  using  Jinja to dump lists or dictionaries in your SLS
295114          files, this will now cause errors in Python 2 since Jinja  does  not
295115          produce  YAML-compatible  output when strings in the data structures
295116          contain unicode types. The dictionary must be passed through a Jinja
295117          filter to produce YAML-compatible strings.
295118
295119          The below is an example of invalid SLS:
295120
295121              /etc/foo.conf:
295122                file.mangaged:
295123                  - source: salt://foo.conf
295124                  - template: jinja
295125                  - defaults: {{ mydict }}
295126
295127          To make it valid, use either one of Salt's own json or yaml filters:
295128
295129              /etc/foo.conf:
295130                file.mangaged:
295131                  - source: salt://foo.conf
295132                  - template: jinja
295133                  - defaults: {{ mydict | json }}
295134
295135   Tornado 5.0 Support for Python 2 Only
295136       Tornado  5.0  moves to using asyncio for all python3 versions.  Because
295137       of this and changes in asyncio between python 3.4 and 3.5  to  only  be
295138       able to use one ioloop, which requires some rearchitecting, support for
295139       tornado 5.0 and python3 versions of salt has been delayed  to  a  later
295140       release.
295141
295142       For now, to use tornado 5.0, the python 2 version of salt must be used.
295143
295144   Changes to Slack Engine pillars
295145       When  using  groups_pillar_name for the slack engine, the engine should
295146       be used as part of a salt-minion process running on the  master.   This
295147       will  allow  the  minion to have pillars assigned to it, and will still
295148       allow the engine to create a LocalClient connection to the  master  ipc
295149       sockets to control environments.
295150
295151   Changes to Automatically Updating the Roster File
295152       In  2018.3.0  salt-ssh  was configured to automatically update the flat
295153       roster file if a minion was not found for salt-ssh. This was decided to
295154       be  undesireable as a default.  The --skip-roster flag has been removed
295155       and replaced  with --update-roster, which will enable salt-ssh  to  add
295156       minions  to the flat roster file.  This behavior can also be enabled by
295157       setting ssh_update_roster: True in the master config file.
295158
295159   Changes to file.blockreplace State
295160       The append_newline argument was added to this state.  Additionally,  to
295161       improve  idempotence,  if the string represented by marker_end is found
295162       in the middle of the line, the content preceding  the  marker  will  be
295163       removed  when  the  block  is  replaced.  This  allows  one  to  remove
295164       append_newline: False from the SLS and have the block properly replaced
295165       if  the  end  of  the  content  block  is  immediately  followed by the
295166       marker_end (i.e. no newline before the marker).
295167
295168       NOTE:
295169          This will require changes to your SLS if your  marker_end  does  not
295170          include the very beginning of the content you want to keep.
295171
295172       See the file.blockreplace state documentation for further information.
295173
295174   Changelog for v2018.3.0..v2018.3.1
295175       Generated at: 2018-06-06 17:43:01 UTC
295176
295177       · ISSUE #47955: (frogunder) 2018.3.1 Creating Windows machine in Amazon
295178         using salt-cloud fails. (refs: #47989)
295179
295180       · PR #47998: (rallytime) Back-port  #47989  to  2018.3.1  @  2018-06-06
295181         17:08:04 UTC
295182
295183         · PR  #47989: (dwoz) Properly decode password from aws using m2crypto
295184           (refs: #47998)
295185
295186         · 605463ca0d Merge pull request #47998 from rallytime/bp-47989
295187
295188         · 1b7e9ac2d3 Lint fixes
295189
295190         · 0545152ddd Properly decode password from aws using m2crypto
295191
295192       · PR #47965: (Ch3LL) Add PR  47924  from  2018.3  branch  @  2018-06-06
295193         13:54:09 UTC
295194
295195         · dbc798ac68 Merge pull request #47965 from Ch3LL/gitpy_mac_3.1
295196
295197         · bf608abd44 Catch all exceptions in git import for salt.utils.gitfs
295198
295199       · PR  #47973:  (terminalmage)  salt.modules.testinframod: fix TypeError
295200         invoking types.FunctionType @ 2018-06-06 13:53:46 UTC
295201
295202         · 864d640633 Merge pull request #47973 from  terminalmage/fix-testin‐
295203           fra
295204
295205         · 4518c89484 Lint: Remove unused six import
295206
295207         · c6816b2149   salt.modules.testinframod:   fix   TypeError  invoking
295208           types.FunctionType
295209
295210       · ISSUE #47236: (MorphBonehunter) x509.private_key_managed broken after
295211         upgrade to 2018.3.0 (refs: #47957)
295212
295213       · PR  #47967:  (rallytime)  Back-port  #47957  to 2018.3.1 @ 2018-06-06
295214         13:53:28 UTC
295215
295216         · PR #47957: (garethgreenaway) [2018.8] Ensure x509 passphrase  is  a
295217           string (refs: #47967)
295218
295219         · 5ddcfff420 Merge pull request #47967 from rallytime/bp-47957
295220
295221         · 9a55579af1 removing unnecessary change
295222
295223         · 329b2e5956  Ensuring  that  when  a  passphrase is passed in, it is
295224           returned as a string from the passphrase callback.
295225
295226       · PR #47902: (Ch3LL) Remove In Progress for 2018.3.1  Release  Notes  @
295227         2018-05-30 18:26:49 UTC
295228
295229         · 9c964fdbce Merge pull request #47902 from Ch3LL/rn_in_progress
295230
295231         · f560a151cd Remove In Progress for 2018.3.1 Release Notes
295232
295233       · PR  #47897:  (Ch3LL)  Add  changelog  to  2018.3.1  release  notes  @
295234         2018-05-30 15:04:42 UTC
295235
295236         · ea7b4fdc08 Merge pull request #47897 from Ch3LL/rn_2018
295237
295238         · e27ee273a7 Add == line to changelog line for release notes
295239
295240         · 61e56d275d Add changelog to 2018.3.1 release notes
295241
295242       · ISSUE #47784: (jpsv) win_lgpo.py line 5368; AttributeError: 'Ordered‐
295243         Dict' object has no attribute 'lower' (refs: #47848)
295244
295245       · PR  #47848:  (twangboy)  Fix some major issues with the LGPO module @
295246         2018-05-30 13:37:32 UTC
295247
295248         · f15e636d5e Merge pull request #47848 from twangboy/fix_47784
295249
295250         · 98facf8dc8 Remove log.debug statement in __virtual__
295251
295252         · f037fa4064 Fix some major issues with the LGPO module
295253
295254       · PR #47881: (gtmanfred) quote  python_version  in  requirements.txt  @
295255         2018-05-29 21:12:05 UTC
295256
295257         · 92b8c4c08e Merge pull request #47881 from gtmanfred/2018.3.1
295258
295259         · 3d874b5529 quote python_version in requirements.txt
295260
295261       · PR  #47874: (gtmanfred) Tornado 5.0 is only supported on python 2 for
295262         now @ 2018-05-29 19:45:44 UTC
295263
295264         · 705bf8172d Merge pull request #47874 from gtmanfred/2018.3.1
295265
295266         · 13f920415a add tornado5 note to 2018.3.1
295267
295268         · aeacd2b749 allow tornado 5.0 to be installed only for python2
295269
295270       · PR #47820: (Ch3LL) Remove  output_loglevel  in  mac_system  module  @
295271         2018-05-25 13:10:36 UTC
295272
295273         · 09e8c5f0cd Merge pull request #47820 from Ch3LL/mac_system
295274
295275         · 362414e53b Remove output_loglevel in mac_system module
295276
295277       · PR  #47798:  (rallytime)  Back-port  #47776  to 2018.3.1 @ 2018-05-23
295278         15:10:43 UTC
295279
295280         · PR #47776: (garethgreenaway) [2018.3] Fixes to failing _before_con‐
295281           nect tests (refs: #47798)
295282
295283         · 7e314c26c8 Merge pull request #47798 from rallytime/bp-47776
295284
295285         · ae881547d2     Fixing     unit.test_minion.MinionTestCase.test_bea‐
295286           cons_before_connect and unit.test_minion.MinionTestCase.test_sched‐
295287           uler_before_connect.
295288
295289       · PR  #47782:  (rallytime)  Back-port  #47775  to 2018.3.1 @ 2018-05-22
295290         20:56:37 UTC
295291
295292         · PR #47775: (gtmanfred) catch UnsupportedOperation  with  Assertion‐
295293           Error (refs: #47782)
295294
295295         · 9c610da0bc Merge pull request #47782 from rallytime/bp-47775
295296
295297         · bab9c966c5 catch UnsupportedOperation with AssertionError
295298
295299       · PR  #47770:  (rallytime)  Back-port  #47769  to 2018.3.1 @ 2018-05-22
295300         17:27:20 UTC
295301
295302         · PR #47769: (gtmanfred) skip test  that  breaks  test  suite  (refs:
295303           #47770)
295304
295305         · 4adf10b20b Merge pull request #47770 from rallytime/bp-47769
295306
295307         · 3cfb95c7bc skip test that breaks test suite
295308
295309       · PR  #47724: (terminalmage) 2 master_tops/ext_nodes fixes @ 2018-05-21
295310         15:59:04 UTC
295311
295312         · bbe8e62a98  Merge  pull  request  #47724   from   terminalmage/mas‐
295313           ter_tops_fixes
295314
295315         · 48b8c5acd1 Merge branch '2018.3.1' into master_tops_fixes
295316
295317         · 89b3070d4c Change deprecation warning to debug logging
295318
295319         · ceb6e10f87 Fix spurious "Malformed request" error
295320
295321       · ISSUE  #47484:  (whytewolf)  Windows:  pkg.latest  state not updating
295322         packages. (refs: #47702)
295323
295324       · PR #47739: (rallytime) Back-port  #47702  to  2018.3.1  @  2018-05-21
295325         15:37:03 UTC
295326
295327         · PR  #47702:  (damon-atkins) State pkg.latest called win pkg.install
295328           with list of pkgs and the required versions (refs: #47739)
295329
295330         · 97d6fe7434 Merge pull request #47739 from rallytime/bp-47702
295331
295332         · f79da64bb0 Update is_windows path to use platform
295333
295334         · f04b19b5b6 Ensure targeted_pkgs always contains value for  non-win‐
295335           dows.
295336
295337         · 14659f9cad Adjusted based on feed back.
295338
295339         · 9f18f7cdf5 Whitespace lint issues
295340
295341         · 2a29b28ee6  pkg.install  execution  module  on  windows ensures the
295342           software package is installed when no version is specified, it does
295343           not  upgrade  the  software  to the latest. This is per the design.
295344           pkg.latest must provide the versions to install to pkg.install
295345
295346       · PR #47730: (rallytime) Back-port  #47700  to  2018.3.1  @  2018-05-21
295347         15:36:16 UTC
295348
295349         · PR  #47700:  (yannj-fr)  fix  roots  modification time check (refs:
295350           #47730)
295351
295352         · cfbe0ba73e Merge pull request #47730 from rallytime/bp-47700
295353
295354         · 9bc35b88ea fix roots modification time check
295355
295356       · PR #47727:  (Ch3LL)  Fix  salt.utils.versions.warn_until  spelling  @
295357         2018-05-21 13:41:00 UTC
295358
295359         · 3614d3d83a Merge pull request #47727 from Ch3LL/spelling
295360
295361         · 47a8de5b73 Fix salt.utils.versions.warn_until spelling
295362
295363       · PR  #47736:  (Ch3LL)  mac_utils  test:  patch  __salt__['cmd.run*'] @
295364         2018-05-21 13:38:59 UTC
295365
295366         · bb45cdaefe Merge pull request #47736 from Ch3LL/fix_util_mac_test
295367
295368         · ee90c779a8 mac_utils test: patch __salt__['cmd.run*']
295369
295370       · PR  #47641:  (gtmanfred)  fix  _create_stream  and  tornado   5.0   @
295371         2018-05-18 14:25:36 UTC
295372
295373         · 43930f8bac Merge pull request #47641 from gtmanfred/2018.3.1
295374
295375         · 037fd92f59 fix pylint
295376
295377         · 75d42d8963 Fix last test for tornado
295378
295379         · a046512287 allow using tornado 5.0
295380
295381         · 05e651f038 fix _create_stream and tornado 5.0
295382
295383       · ISSUE  #47532:  (edgan)  roster auto-add feature in salt-ssh-2018.3.0
295384         (refs: #47541)
295385
295386       · PR  #47541:  (gtmanfred)  switch  skip-roster  to   update-roster   @
295387         2018-05-18 13:29:50 UTC
295388
295389         · 9f926bcd1a Merge pull request #47541 from gtmanfred/2018.3
295390
295391         · 8c5c780292 switch skip-roster to update-roster
295392
295393       · PR  #47719:  (rallytime)  Back-port  #47692  to 2018.3.1 @ 2018-05-18
295394         13:22:02 UTC
295395
295396         · PR #47692: (dwoz)  Default  windows  to  m1.small  for  ec2-classic
295397           (refs: #47719)
295398
295399         · a963f1b558 Merge pull request #47719 from rallytime/bp-47692
295400
295401         · 1d9f247fb7 Default windows to m1.small for ec2-classic
295402
295403       · PR  #47706: (Ch3LL) Add cmd._run_all_quiet to mac_utils and __utils__
295404         in mac_service @ 2018-05-18 01:11:46 UTC
295405
295406         · c9108893ab Merge pull request #47706 from Ch3LL/mac_service_util
295407
295408         · 3611af699f remove added space
295409
295410         · 9921caa143 fix pylint
295411
295412         · 317e41d3c0 use cmd._run_quiet  and  cmd._run_all_quiet  instead  of
295413           importing minion_mods in __salt__
295414
295415         · a78652515a Add __salt__ to mac_utils and __utils__ in mac_service
295416
295417       · PR  #47664:  (rallytime)  Back-port  #47645  to 2018.3.1 @ 2018-05-15
295418         18:25:27 UTC
295419
295420         · PR   #47645:   (Ch3LL)   query    the    pip    path    for    test
295421           test_issue_2087_missing_pip (refs: #47664)
295422
295423         · fb3bf1ff3e Merge pull request #47664 from rallytime/bp-47645
295424
295425         · 0a732d8e66 query the pip path for test test_issue_2087_missing_pip
295426
295427       · PR  #47647:  (rallytime)  Back-port  #47601  and #47643 to 2018.3.1 @
295428         2018-05-15 14:07:54 UTC
295429
295430         · PR #47643: (dwoz) Remove unwanted file (refs: #47647)
295431
295432         · PR #47601: (dwoz) Skip tests when  we  can  not  use  runas  (refs:
295433           #47647)
295434
295435         · 9039fee104     Merge    pull    request    #47647    from    rally‐
295436           time/bp-47601-and-47643-2018.3.1
295437
295438         · 7214fe17c8 Fix typo
295439
295440         · 506dceed17 Remove unwanted file
295441
295442         · b6a21dfda3 use ignore-undefined-variable
295443
295444         · 2429f9fe8a Ignore pylint WindowsError
295445
295446         · 2d63682fea Better doc string
295447
295448         · ec2adff699 Skip tests when we can not use runas
295449
295450       · PR #47596: (rallytime) Back-port  #47568  to  2018.3.1  @  2018-05-10
295451         22:09:09 UTC
295452
295453         · PR   #47568:  (terminalmage)  salt.serializers.yaml/yamlex:  remove
295454           invalid multi_constructor (refs: #47596)
295455
295456         · 17b5265d95 Merge pull request #47596 from rallytime/bp-47568
295457
295458         · ecf5dc8b9f Add exception logging  on  serialize/deserialize  excep‐
295459           tions
295460
295461         · 9659b19819  salt.serializers.yaml/yamlex: remove invalid multi_con‐
295462           structor
295463
295464       · PR #47595: (rallytime) Back-port  #47569  to  2018.3.1  @  2018-05-10
295465         22:08:53 UTC
295466
295467         · PR #47569: (Ch3LL) Update salt.utils.path mock in virtual core test
295468           (refs: #47595)
295469
295470         · c4c400f3e9 Merge pull request #47595 from rallytime/bp-47569
295471
295472         · 0763f96458 update salt.utils.platform path for virt core test
295473
295474         · 718252c1ef Update salt.utils.path mock in virtual core test
295475
295476       · PR #47599: (rallytime) Back-port  #47570  to  2018.3.1  @  2018-05-10
295477         22:06:44 UTC
295478
295479         · PR #47570: (gtmanfred) Update dependency to msgpack (refs: #47599)
295480
295481         · ec7de14be0 Merge pull request #47599 from rallytime/bp-47570
295482
295483         · 9334c03da9 Update dependency to msgpack
295484
295485       · PR  #47571:  (rallytime)  [2018.3.1]  Update  man  pages @ 2018-05-10
295486         16:21:57 UTC
295487
295488         · 2a10d92669 Merge pull request #47571 from rallytime/man-pages
295489
295490         · ade5e9f664 [2018.3.1] Update man pages
295491
295492       · PR #47550: (pcn) Fixes a bad deletion I did  that  only  surfaced  in
295493         2018.3 @ 2018-05-09 13:36:33 UTC
295494
295495         · 85284caaf9 Merge pull request #47550 from pcn/fix-disable-term-pro‐
295496           tect-in-2018.3
295497
295498         · d58a56877c Fixes a bad deletion I did that only surfaced in 2018.3
295499
295500       · ISSUE #47553: (douglasjreynolds) Unicode version error in lxc  (refs:
295501         #47554)
295502
295503       · PR #47554: (douglasjreynolds) Converted unicode str version to a Loo‐
295504         seVersion; matching line 2080.  @ 2018-05-09 13:34:13 UTC
295505
295506         · f9083ff77e Merge pull request #47554 from douglasjreynolds/lxc_uni‐
295507           code_fix
295508
295509         · e6bce581c6  Converted unicode str version to _LooseVersion to match
295510           line 2080.
295511
295512       · PR #47518: (Ch3LL) Fix 47364: ensure we are not  caching  zfs.is_sup‐
295513         ported @ 2018-05-09 13:29:07 UTC
295514
295515         · fe4e79f1de Merge pull request #47518 from Ch3LL/zfs_support
295516
295517         · d19fef963e remove unnecessary patch in zfs.is_supported test
295518
295519         · 58c4f29f96 Fix 47364: ensure we are not caching zfs.is_supported
295520
295521       · PR  #47159:  (terminalmage)  Fix for whitelist/blacklist checking for
295522         non-list iterables @ 2018-05-08 20:43:51 UTC
295523
295524         · 332e9f13a6   Merge   pull    request    #47159    from    terminal‐
295525           mage/whitelist_blacklist-iter-fix
295526
295527         · ca936de372  Treat  empty whitelist/blacklist as no whitelist/black‐
295528           list
295529
295530         · bcccaf2621  Raise  a  TypeError  when  invalid  input   passed   to
295531           check_whitelist_blacklist
295532
295533         · 2ae510ff2b Fix comment in test
295534
295535         · 17398efcf7  Fix for whitelist/blacklist checking for non-list iter‐
295536           ables
295537
295538       · PR #47514: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
295539         2018-05-08 18:36:54 UTC
295540
295541         · 21809ddc02 Merge pull request #47514 from rallytime/merge-2018.3
295542
295543         · e2616b605f Update the pip tests to use the parsing syntax generated
295544           in PR #47196
295545
295546         · b13b59791f Remove double instance of adding  --format=json  in  pip
295547           module
295548
295549         · 2ad60c7e81 Lint: remove duplicate function in helpers.py
295550
295551         · 75480158b3 Lint: cur_version should just be pip_version
295552
295553         · 5565d5e9b1 Update old utils paths with new utils paths
295554
295555         · 786076ac03 Merge branch '2017.7' into '2018.3'
295556
295557           · 611ca1fc03 Merge pull request #47476 from gtmanfred/2017.7
295558
295559             · 1f91a85587 specify cache dir for pip install
295560
295561             · 99e150e09c check for kitchen-vagrant gem before loading windows
295562               tests
295563
295564           · 7c3f2c56da Merge pull request #47412 from twangboy/fix_47125
295565
295566             · c9bab0b8e3 Merge branch '2017.7' into fix_47125
295567
295568             · 2600e404d5 Fix overly long line
295569
295570             · 5c8db05769 Fix issue where the cwd was being removed
295571
295572           · 4846e957c4 Merge pull request #47467  from  twangboy/cleanup_set‐
295573             tings
295574
295575             · 9d498293b1 Remove unused settings, update NSIS
295576
295577           · da9871d36b Merge pull request #47196 from twangboy/fix_47024
295578
295579             · 14ee5537b9 Add @with_tempdir helper
295580
295581             · 6c3b5fa6fa Fix typo
295582
295583             · f031710af2 Merge branch '2017.7' into fix_47024
295584
295585             · 7c46d9d0d4 Fix integration.modules.test_pip
295586
295587             · 22ac81df63 Fix integration.modules.test_pip
295588
295589             · 57d98224d4  Merge  pull  request  #9  from  terminalmage/twang‐
295590               boy/fix_47024
295591
295592               · 37a13d8004 Update pip unit tests to reflect changes
295593
295594               · 7f86779be0 Lint fix
295595
295596             · c48d8f4f61 DRY and other fixes in pip module
295597
295598             · b1117896a0 Change from global variable to __context__``
295599
295600             · 3e6e524eca Fix some tests``
295601
295602             · c94f0f20e4 Fix lint error
295603
295604             · fd47b21530 Fix merge conflict
295605
295606           · e8c4524bae Merge pull request #47455 from Ch3LL/unreleased_rn
295607
295608             · b6d0cc2ab7 Add In Progress Warning for 2017.7.6 Release Notes
295609
295610           · 2c7a4b6179 Merge pull request #47459 from gtmanfred/2017.7
295611
295612             · d228e72477 update ubuntu-rolling to 18.04
295613
295614           · 64a64c0ed7 Merge pull request #47462 from terminalmage/docs
295615
295616             · 6d7803ece0 Fix docs build on Sphinx 1.7+
295617
295618           · 6cd0d31c03  Merge   pull   request   #47438   from   lomeroe/dou‐
295619             ble_admx_test
295620
295621             · 4902f1e2ba  check  if  a  policy has either an enabled value or
295622               enabled list entry or a disabled value or disabled  list  entry
295623               when determining the state of the policy
295624
295625           · ed69821d19 Merge pull request #47433 from s0undt3ch/2017.7
295626
295627             · 5abadf25d6  Add  missing  requirements  files  not  commited in
295628               #47106
295629
295630       · ISSUE #47443: (skylerberg) Input validation does not raise  SaltInvo‐
295631         cationError in win_dsc.py (refs: #47505)
295632
295633       · PR  #47516:  (rallytime)  Back-port  #47505  to  2018.3  @ 2018-05-08
295634         13:32:33 UTC
295635
295636         · PR #47505: (dwoz) Raise proper invocation errors (refs: #47516)
295637
295638         · 9559ac7679 Merge pull request #47516 from rallytime/bp-47505
295639
295640         · 7c60e4071e Raise proper invocation errors
295641
295642       · ISSUE  #47502:  (psagers)  service.enable  (and  .disable)   destroys
295643         /etc/rc.conf on FreeBSD (refs: #47503)
295644
295645       · PR  #47515:  (rallytime)  Back-port  #47503  to  2018.3  @ 2018-05-08
295646         13:32:03 UTC
295647
295648         · PR #47503: (psagers) Fix #47502: Remove an extraneous (accidentally
295649           introduced?) call to rstrip() (refs: #47515)
295650
295651         · bf79acfbc8 Merge pull request #47515 from rallytime/bp-47503
295652
295653         · 821dbb88a0  Fix  #47502:  Remove an extraneous (accidentally intro‐
295654           duced?) call to rstrip.
295655
295656       · ISSUE #47511: (joesusecom) sshconfig salt-ssh roster  is  missing  in
295657         the documentation (refs: #47531)
295658
295659       · PR  #47531:  (gtmanfred)  add ssh config doc for rosters @ 2018-05-07
295660         22:26:30 UTC
295661
295662         · 779b3ed056 Merge pull request #47531 from gtmanfred/2018.3
295663
295664         · 92ded7162c add ssh config doc for rosters
295665
295666       · PR #47520: (rallytime) Cleanup weird spaces @ 2018-05-07 19:50:58 UTC
295667
295668         · 95b2f9db30 Merge pull request #47520 from rallytime/cleanup-spaces
295669
295670         · e9cb080a00 Cleanup weird spaces
295671
295672       · PR #47495: (dwoz) Fix crufty nssm.exe reference @ 2018-05-07 19:12:49
295673         UTC
295674
295675         · 05fc52f124 Merge pull request #47495 from dwoz/uninstall_wart
295676
295677         · caa36c9064 Merge branch '2018.3' into uninstall_wart
295678
295679       · ISSUE #47322: (masau) lxc clone not working (refs: #47494)
295680
295681       · PR  #47494:  (ejparker12)  Fixed  lxc.clone  unhandled  exception  in
295682         salt/modules/lxc.py @ 2018-05-07 19:03:58 UTC
295683
295684         · 3cc7d3ae7c Merge pull request #47494 from ejparker12/fix-lxc-clone
295685
295686         · e0e2c9782d  Fixed  lxc.clone  unhandled  exception   in   salt/mod‐
295687           ules/lxc.py
295688
295689       · ISSUE  #47496: (mateiw) salt-ssh --extra-filerefs doesn't include any
295690         files if no refs in state files (refs: #47497)
295691
295692       · PR #47497: (mateiw) Fix salt-ssh --extra-filerefs  to  include  files
295693         even if no refs in states to apply @ 2018-05-07 19:02:50 UTC
295694
295695         · adde83f639       Merge      pull      request      #47497      from
295696           mateiw/2018.3-fix-ssh-extra-files-refs-issue-47496
295697
295698         · d67239aae7 --extra-filerefs include files even if no refs in states
295699           to apply
295700
295701       · ISSUE  #47404:  (shengis) Localized version of yum breaks pkg.install
295702         (refs: #47441)
295703
295704       · PR #47441: (shengis) Fix  _run  to  reset  LANGUAGE  env  variable  @
295705         2018-05-07 18:29:25 UTC
295706
295707         · 34b1b1ee53 Merge pull request #47441 from shengis/fix-run-env-reset
295708
295709         · 62fc16b721 Merge branch '2018.3' into fix-run-env-reset
295710
295711         · 3b02b0bdc1 Merge branch '2018.3' into fix-run-env-reset
295712
295713         · ee2ab38c8c Fix _run to reset LANGUAGE env variable
295714
295715       · ISSUE  #47479:  (whytewolf)  win_task.info on py3 throwing error, but
295716         works in py2 (refs: #47507)
295717
295718       · PR #47507: (gtmanfred) fix win_task for py3 @ 2018-05-07 17:41:21 UTC
295719
295720         · 17cfd4f7cf Merge pull request #47507 from gtmanfred/2018.3
295721
295722         · 19db39f402 fix win_task for py3
295723
295724       · PR #47472: (terminalmage) salt.utils.hashutils: Fix  UnicodeEncodeEr‐
295725         ror in several funcs @ 2018-05-07 13:31:07 UTC
295726
295727         · a4c2df8fb2 Merge pull request #47472 from terminalmage/hashutils
295728
295729         · 7266c9984d  salt.utils.hashutils: Fix UnicodeEncodeError in several
295730           funcs
295731
295732       · PR #47485: (gtmanfred) add  openstack  modules  to  doc  index.rst  @
295733         2018-05-07 13:11:42 UTC
295734
295735         · 8b0a370189 Merge pull request #47485 from gtmanfred/2018.3
295736
295737         · c86163d79f add openstack modules to doc index.rst
295738
295739              · 3557fc5fa6 Fix crufty nssm.exe reference
295740
295741       · PR #47482: (gtmanfred) add all autodoc for new salt openstack modules
295742         @ 2018-05-04 21:03:38 UTC
295743
295744         · 8df37f734a Merge pull request #47482 from gtmanfred/2018.3
295745
295746         · 1f65d5cb73 add all autodoc for new salt openstack modules
295747
295748       · PR #47447: (dwoz) Fix failing test due to windows console encoding  @
295749         2018-05-04 16:41:29 UTC
295750
295751         · d20ca15c5d Merge pull request #47447 from dwoz/strv
295752
295753         · 8c01773833 Use the same non decodable bytes for all tests
295754
295755         · 983881a2a1 Add bytes that will not decode using cp1252
295756
295757       · PR #47466: (dwoz) bytes file that decodes the same utf-8 and cp1252 @
295758         2018-05-04 15:54:24 UTC
295759
295760         · 8c5b30b541 Merge pull request #47466 from dwoz/randbytes
295761
295762         · fd9bc06aab bytes file that decodes the same utf-8 and cp1252
295763
295764       · ISSUE #46660: (mruepp) top file merging same does produce conflicting
295765         ids with gitfs (refs: #47354, #46751)
295766
295767       · PR  #47465:  (rallytime)  Back-port  #47354  to  2018.3  @ 2018-05-04
295768         13:06:04 UTC
295769
295770         · PR #47354: (folti) fix forward port of #46751 (refs: #47465)
295771
295772         · PR #46751: (folti) top file merging  strategy  'same'  works  again
295773           (refs: #47354)
295774
295775         · 3658604c43 Merge pull request #47465 from rallytime/bp-47354
295776
295777         · 3df6fa7990 fix forward port of #46751
295778
295779       · PR #47435: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
295780         2018-05-04 13:05:32 UTC
295781
295782         · fa293f8fac Merge pull request #47435 from rallytime/merge-2018.3
295783
295784         · be0731da5f Add skipIfs back in for rest_tornado tests
295785
295786         · fd98ee3dc1 Lint: Add missing blank line
295787
295788         · 561718b20b Update old is_windows utils path to new utils path
295789
295790         · a94cdf8a0d Merge branch '2017.7' into '2018.3'
295791
295792           · 7ae3497b0c Merge pull request #47429 from gtmanfred/2017.7
295793
295794             · 8ae32033cc server_list_min should use state, not status
295795
295796           · 2f5fc4ecc5 Merge pull request #47399 from isbm/isbm-zeromq17-dep‐
295797             recationwarning-2017.7.2-v2
295798
295799             · a36e49fd27 fix pylint
295800
295801             · 98b5629b36 Fix imports
295802
295803             · d94c0f0152 Remove unnecessary variable
295804
295805             · 8e377b5653 Lintfix: E0203 and attribute access
295806
295807             · 2aab70b1b8 Install ZMQ handler if <15 version
295808
295809             · 296c589f4b Use ZMQ switch utility in the integration tests
295810
295811             · ab5fa34d7c Use ZMQ_VERSION_INFO constant everywhere
295812
295813             · 43b5558b82 Add trace logging on ZMQ sockets communication
295814
295815             · 164204a9fe Remove duplicate code for ZMQ monitor handling
295816
295817             · 834b1e4ff0 Remove obsolete ZMQIOLoop direct instance
295818
295819             · 1c90cbdb3c Remove an empty line
295820
295821             · ef2e0acd66 Add logging on ZMQ socket exception
295822
295823             · 38ceed371d Lintfix: ident
295824
295825             · 1ece6a5f52 Lintfix: line too long
295826
295827             · 4e650c0b44 Remove code duplicate by reusing utilities functions
295828
295829             · 57da54b676 Fix imports
295830
295831             · 948368e9a1 Add libzmq version info builder
295832
295833             · 0b4a17b859 Update log exception message
295834
295835             · 116e1809fc Put a message alongside the exception to the logs
295836
295837             · 4bc43124b7  Remove  unnecessary  ZMQ  import  and check for its
295838               presence
295839
295840             · 05f4d40269 Use utility for ZMQ import handling in SSH client
295841
295842             · 457ef7d9a5 Use utility for ZMQ import handling in flo/zero
295843
295844             · 08dee6f5bd Use utility for ZMQ import handling
295845
295846             · e2a353cfb0 Remove unnecessary ZMQ extra-check for cache utils
295847
295848             · c8f2cc271d Remove unnecessary ZMQ extra-check for master utils
295849
295850             · 3940667bb9 Remove old ZMQ import handling
295851
295852             · f34a53e029 Use ZMQ utility for version check
295853
295854             · cbb26dcb28 Use ZMQ installer for master
295855
295856             · 453e83210a Add ZMQ version build
295857
295858             · af9601e21d Use ZMQ importer utility in async
295859
295860             · d50b2b2023 Incorporate tornado-5 fixes
295861
295862             · 1fd9af0655 Add ZMQ backward-compatibility tornado installer for
295863               older versions
295864
295865             · ad4b40415c  Add one place for handling various ZMQ versions and
295866               IOLoop classes
295867
295868           · b14e974b5f Merge pull request #47343 from Ch3LL/win_srv_test
295869
295870             · 2173b6f549 ensure we are enabling/disabling before test
295871
295872             · d58be06751 Add additionatl service module integration tests and
295873               enable for windows
295874
295875           · b0f3fb577f Merge pull request #47375 from terminalmage/issue47310
295876
295877             · fa2bea52bb Remove extra blank line to appease linter
295878
295879             · f8ab2be81c Add debug logging if we fail to detect virtual pack‐
295880               ages
295881
295882             · 67c4fc56ac Warn on use of  virtual  packages  in  pkg.installed
295883               state
295884
295885           · 56235032f4      Merge      pull      request      #47415     from
295886             kstreee/fix-local-client-tgt-bug
295887
295888             · b8d37e0a1e To add a  test  case  for  the  syndic  environment,
295889               copies  the  test  case  which  was written by @mattp- that was
295890               already merged into develop branch, related pr is #46692.
295891
295892             · 4627bad1fd Realizes  'tgt'  field  into  actual  minions  using
295893               ckminions to subscribe results of the minions before publishing
295894               a payload.
295895
295896           · d65ceaee03 Merge pull request  #47286  from  baniobloom/vpc_peer‐
295897             ing_connection_name_fix
295898
295899             · a968965087   Merge  branch  '2017.7'  into  vpc_peering_connec‐
295900               tion_name_fix
295901
295902           · 8a5d4437bb Merge pull request #47270 from  meaksh/2017.7-fix-ret‐
295903             code-on-schedule-utils
295904
295905             · d299cf3385   Merge   branch   '2017.7'   into   2017.7-fix-ret‐
295906               code-on-schedule-utils
295907
295908             · b6da600fff Initialize __context__ retcode for functions handled
295909               via schedule util module
295910
295911           · 5b51075384 Merge pull request #47371 from rallytime/fix-47264
295912
295913             · a43485b49c  Fix "of pass" typo in grains.delval docs: change to
295914               "or pass"
295915
295916           · a86e53be66 Merge pull request #47389 from dwoz/moregittestfix
295917
295918             · 67745c1362 Older GitPython versions will not have close
295919
295920           · a5367eaf63 Merge pull request #47388 from dwoz/test_pip_fix
295921
295922             · eb26321e8b Fix missing import
295923
295924           · 9b59b991c2 Merge pull request #47380 from gtmanfred/2017.7
295925
295926             · 93d1445ec1 add io_loop handling to runtests engine
295927
295928           · 37822c0cbb Merge pull request #47384 from dwoz/test_pip_fix
295929
295930             · a37a9da1fb Fix py2 version of pip test
295931
295932           · eefd96732e Merge pull request #47382 from dwoz/gitfs_tests
295933
295934             · 1570708fac Close the repo and fix multiple tests
295935
295936           · 57c75ff660 Merge pull request #47369 from  terminalmage/ldap_pil‐
295937             lar
295938
295939             · 085883ae2d  Return  an  empty  dict  if no search_order in ldap
295940               ext_pillar config file
295941
295942           · bcc66dd9bf   Merge   pull   request   #47363   from   DSRCorpora‐
295943             tion/bugs/replace_exc_info_with_exception
295944
295945             · 3f7b93a23c Tornado5.0: Future.exc_info is dropped
295946
295947           · bcef34f7e1  Merge pull request #47334 from terminalmage/ldap_pil‐
295948             lar
295949
295950             · 0175a8687c pillar_ldap: Fix cryptic  errors  when  config  file
295951               fails to load
295952
295953             · 65c3ba7ff1 Remove useless documentation
295954
295955             · 5d67cb27de Remove unncessary commented line
295956
295957                  · 8de3d41adb fixed vpc_peering_connection_name option
295958
295959       · PR  #47464:  (dwoz) Skip tests not applicable to windows @ 2018-05-04
295960         13:04:38 UTC
295961
295962         · 51d21afd4f Merge pull request #47464 from dwoz/skiP_syslog_tests
295963
295964         · ca9393b7fb Skip tests not applicable to windows
295965
295966       · PR #47456: (dwoz) Sysname returns text type @ 2018-05-04 02:57:50 UTC
295967
295968         · 3219430dcc Merge pull request #47456 from dwoz/sysname
295969
295970         · 559ee1961f Sysname returns text type
295971
295972       · PR #47458: (Ch3LL) Add In Progress Warning for 2018.3.1 Release Notes
295973         @ 2018-05-03 20:40:46 UTC
295974
295975         · f3918514a7 Merge pull request #47458 from Ch3LL/unreleased_rn_2018
295976
295977         · 6a261e5e3a Add In Progress Warning for 2018.3.1 Release Notes
295978
295979       · PR  #47448:  (dwoz)  Fix  missing  import  in test suite @ 2018-05-03
295980         14:30:23 UTC
295981
295982         · 9fbdcbe994 Merge pull request #47448 from dwoz/transport_import
295983
295984         · 7e04eb82e1 Fix missing import in test suite
295985
295986       · ISSUE  #47260:  (mew1033)  disable_saltenv_mapping  not  working   as
295987         expected (refs: #47410)
295988
295989       · PR  #47410: (terminalmage) gitfs: Fix identification of base env when
295990         saltenv mapping is disabled @ 2018-05-03 14:12:27 UTC
295991
295992         · 157a32af7f Merge pull request #47410 from terminalmage/issue47260
295993
295994         · 3ab332ad0e Update tests to reflect bugfix
295995
295996         · 7b8127f336 gitfs: Fix identification of base env when saltenv  map‐
295997           ping is disabled
295998
295999       · PR  #47413:  (dmurphy18) Repobuild improvements for Ubuntu 18.04 lack
296000         of gpg2 and better error checking @ 2018-05-02 16:21:31 UTC
296001
296002         · 091e4cf9a6    Merge    pull    request    #47413     from     salt‐
296003           stack/repobuild_improv
296004
296005         · c064032110 Removed extra spaces for pylint
296006
296007         · 20c50b3331 Minor cleanup due to review comments
296008
296009         · c143b359e9  Update for Ubuntu 18.04 lack of gpg2 and enhanced error
296010           checking
296011
296012       · PR #47216: (twangboy) Reg docs @ 2018-05-02 13:33:27 UTC
296013
296014         · 5e5774fd37 Merge pull request #47216 from twangboy/reg_docs
296015
296016         · 0beeb58b16 Fix lint, add bytes
296017
296018         · bad441f8dc Fix some lint`
296019
296020         · af5139c2ff Add additional examples
296021
296022         · 24df6ec1b7 Additional docs formatting
296023
296024         · ff46b27a60 Update reg docs, fix formatting issues
296025
296026       · PR #47417: (gtmanfred) revert instantiating a Caller  Client  in  the
296027         engine @ 2018-05-01 18:58:06 UTC
296028
296029         · 63baf4c4f8 Merge pull request #47417 from gtmanfred/slack
296030
296031         · 5c8ea7f506 Update slack.py
296032
296033         · ee8a5eeb10 revert instantiating a Caller Client in the engine
296034
296035       · ISSUE  #45790:  (bdarnell)  Test  with  Tornado  5.0b1 (refs: #46066,
296036         #47106, #47433)
296037
296038       · PR #47368: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
296039         2018-05-01 18:56:20 UTC
296040
296041         · PR  #47106:  (DmitryKuzmenko)  Tornado50 compatibility fixes (refs:
296042           #47374, #47368, #47433)
296043
296044         · PR #46002: (isbm)  Pyzmq  17.0.0  proper  handling  (refs:  #47374,
296045           #47368)
296046
296047         · 0bdfaa5ffe Merge pull request #47368 from rallytime/merge-2018.3
296048
296049         · 46806e595b Update test assertion comment for pip pkgs
296050
296051         · d9d24de49e Lint: Add missing import
296052
296053         · c7b73d132e Merge branch '2017.7' into '2018.3'
296054
296055           · 31db8ca7ad      Merge      pull      request      #47347     from
296056             dwoz/test_mysql_fix_again
296057
296058             · add78fb618 Fix linter warnings
296059
296060             · 2644cc7553 Fix linter nits
296061
296062             · 799c601184 Proper fix for mysql tests
296063
296064         · fefc0cc3ca Update old utils paths to use new utils paths
296065
296066         · 13e8124031 Merge branch '2017.7' into '2018.3'
296067
296068           · e573236848 Merge pull request #47359 from gtmanfred/2017.7
296069
296070             · 6214ed8133 add mention of the formulas channel to the  formulas
296071               docs
296072
296073           · 629503b2a8 Merge pull request #47317 from dwoz/threadshutdown
296074
296075             · 6db2a0e4d3 Log exceptions at exception level
296076
296077             · d4ae787595 Do not join a thread that is stopped
296078
296079           · aacd5cefe3    Merge    pull    request    #47304   from   cached‐
296080             out/test_cli_timeout_arg
296081
296082             · 85025af83c Pass timeout to salt CLI for tests
296083
296084           · 55534fb659 Merge pull request #47311 from Ch3LL/firewall_windows
296085
296086             · 4e16c18c16 Add firewall module windows tests to whitelist
296087
296088             · 4b2fc4ec66 Add windows firewall execution  modules  integration
296089               tests
296090
296091           · 1667375a80 Merge pull request #47348 from dwoz/no_symlinks
296092
296093             · 94a70e847a Ignore gitfs tests when symlinks not enabled
296094
296095           · dac04261b5 Merge pull request #47342 from dwoz/test_mysql_fix
296096
296097             · 7496f4c5a8 Fix mysql test cases
296098
296099           · 34e78ef564 Merge pull request #47341 from dwoz/inet_pton_fix
296100
296101             · 85451f48d4 Fix python 3 support for inet_pton function
296102
296103           · e4779f3246 Merge pull request #47339 from dwoz/ssh_key_test_fix
296104
296105             · e37a93a1ca Remove redundent close call
296106
296107             · b2ae5889b7 Close the temporary file handle
296108
296109             · 9f7f83a975 Use salt.utils.fopen for line ending consistancy
296110
296111           · b221860151 Merge pull request #47335 from dwoz/pip_test_fix
296112
296113             · dcb6a22c00 Remove un-needed string-escape
296114
296115           · 1c527bfd3a Merge pull request #47331 from dwoz/py3_wingroup_fix
296116
296117             · cc154ef857 Do not encode usernames
296118
296119           · 708078b152 Merge pull request #47329 from cachedout/frank_credit
296120
296121             · 33c0644ac4 Credit Frank Spierings
296122
296123           · a545e55543 Merge pull request #47281 from Ch3LL/system_test
296124
296125             · c9181a75a6 Add destructivetest decorator on tests
296126
296127             · 0d0c8987fc Add win_system integration module tests
296128
296129           · b64d930df0 Merge pull request #47283 from Ch3LL/ntp_test
296130
296131             · ced7f86546 Add windows ntp integration module tests
296132
296133           · 910aff910f Merge pull request #47314 from Ch3LL/net_mac_test
296134
296135             · 67beb1451c Skip netstat test on macosx as its not supported
296136
296137           · 0549ef7c16 Merge pull request #47307 from rallytime/bp-47257
296138
296139             · 6c5b2f92bc Role is not a list but a dictionary
296140
296141           · d6ff4689f6  Merge pull request #47312 from rallytime/update-boot‐
296142             strap-release
296143
296144             · 765cce06a2  Update  bootstrap   script   to   latest   release:
296145               2018.04.25
296146
296147           · e0765f5719 Merge pull request #47279 from dwoz/py3_build_fix
296148
296149             · 21dc1bab91 Pep-8 line endings
296150
296151             · 717abedaf7 Fix comman wart
296152
296153             · 4100dcd64c Close might get called more than once
296154
296155             · dbe671f943 Stop socket before queue on delete
296156
296157             · 9587f5c69e Silence pylint import-error for six.moves
296158
296159             · 4b0c7d3b34 Fix typo
296160
296161             · 05adf7c2b1 Use six.moves for queue import
296162
296163             · fe340778fa Gracefully shutdown worker threads
296164
296165           · 44f19b2f94 Merge pull request #47113 from jfindlay/iptables_state
296166
296167             · 8bd08012ee modules,states.iptables support proto for policy ext
296168
296169           · b7a6206330 Merge pull request #47302 from Ch3LL/dead_code
296170
296171             · daa68b4877 Add virtual grains test for core grains
296172
296173             · a59dd2785d Remove dead code in core grains file for virt-what
296174
296175           · e29362acfc Merge pull request #47303 from baniobloom/bug_fix_doc
296176
296177             · b97c9df5f3  added clarity on how to figure out what is the old‐
296178               est supported main release branch
296179
296180           · 0d9d55e013   Merge   pull   request   #47106   from   DSRCorpora‐
296181             tion/bugs/tornado50
296182
296183             · 39e403b18d Merge branch '2017.7' into bugs/tornado50
296184
296185             · 6706b3a2d1 Run off of a temporary config
296186
296187             · d6873800d5 Allow running pytest>=3.5.0
296188
296189             · 2da3983740 Tornado 5.0 compatibility fixes
296190
296191           · 2e014f4746 Merge pull request #47271 from gtmanfred/amazon
296192
296193             · 8a53908908  Do not load rh_service module when booted with sys‐
296194               temd
296195
296196             · e4d1d5bf11 Revert "support amazon linux 2 for service module"
296197
296198           · 599b0ed1e9   Merge    pull    request    #47246    from    cloud‐
296199             flare/fix-44847-2017.7
296200
296201             · ad80028104  This  way, we can pass flags such as debug into the
296202               state, but also test.
296203
296204           · 4e2e1f0719   Merge   pull   request    #47220    from    benedik‐
296205             twerner/fix-pip-2017.7
296206
296207             · 0197c3e973 Fix pip test
296208
296209             · 34bf66c09f Fix pip.installed with pip>=10.0.0
296210
296211           · 92e606251f  Merge  pull  request  #47272  from rallytime/reg-win‐
296212             dows-codeowners
296213
296214             · 9445af0185 Add windows tests and reg module/state to CODEOWNERS
296215               file for team-windows
296216
296217           · 9dca5c0221  Merge  pull  request  #47252  from rallytime/codeown‐
296218             ers-fixes
296219
296220             · 204b6af92b Fix the matching patterns in the CODEOWNERS file  to
296221               use fnmatch patterns
296222
296223           · 3de1bb49c8     Merge    pull    request    #47177    from    fpi‐
296224             cot/fix_47173_pkg_normalize
296225
296226             · 149f846f34 fix normalize parameter in pkg.installed
296227
296228           · 10e30515dc Merge pull request #47251 from Ch3LL/pub_fix_rn
296229
296230             · fa4c2e6575 Update Docs to remove unnecessary + sign
296231
296232           · bb7850a431 Merge pull request #47249 from Ch3LL/pub_fix_rn
296233
296234             · 24dea24b7e Add CVE number to 2016.3.6 Release
296235
296236           · 56933eb0b2     Merge      pull      request      #47227      from
296237             pruiz/pruiz/zfs-dataset-present-slow-2017.7
296238
296239             · fded61f19b Fix issue #47225: avoid zfs.filesystem_present slow‐
296240               down when dataset has lots of snapshots
296241
296242           · 9825065048 Merge pull request #47167 from smitty42/vbox-skd-fix
296243
296244             · 5de53139cd Merge branch '2017.7' into vbox-skd-fix
296245
296246           · 976f031170 Merge pull request #47213 from dwoz/py3win
296247
296248             · ad9c7f63f0 Fix coverate on py3 windows builds
296249
296250             · 91252bac95 Adding updates for  python3  compatibility  and  new
296251               virtualbox SDK version support.
296252
296253           · cebcd6d069 Merge pull request #47197 from dwoz/testfix
296254
296255             · 25803c9176 Move process target to top level module namespace
296256
296257           · d4269c2b70 Merge pull request #47193 from Ch3LL/network_test
296258
296259             · bbf9987c19 Add network module integration tests
296260
296261           · c777248a78 Merge pull request #47189 from Ch3LL/autoruns
296262
296263             · 6a88bedb7a Add autoruns to windows whitelist
296264
296265             · e9e4d4af70 Add autoruns.list integration test for Windows
296266
296267       · PR  #47403:  (rallytime)  Back-port  #47356  to  2018.3  @ 2018-05-01
296268         15:19:06 UTC
296269
296270         · PR #47356: (robinro) Fix sysctl translate (refs: #47403)
296271
296272         · 4e6870305c Merge pull request #47403 from rallytime/bp-47356
296273
296274         · 9b682bc48e Fix sysctl translate
296275
296276       · PR #47407: (terminalmage) Reduce severity of missing  X_update_inter‐
296277         val key @ 2018-05-01 15:18:46 UTC
296278
296279         · 7e0cdd6145    Merge    pull    request    #47407   from   terminal‐
296280           mage/update-interval-log
296281
296282         · abc592bfff Reduce severity of missing X_update_interval key
296283
296284       · ISSUE #47042: (valentin2105) [ERROR] Unable to  manage  file:  'utf8'
296285         codec can't decode byte  (refs: #47061)
296286
296287       · PR  #47405:  (terminalmage)  Fix  file.get_diff  regression in 2018.3
296288         branch @ 2018-05-01 15:16:46 UTC
296289
296290         · PR #47061: (terminalmage) Fix diffing binary files in file.get_diff
296291           (refs: #47405)
296292
296293         · 1377942bcc Merge pull request #47405 from terminalmage/binary-diff
296294
296295         · 89ddb08026 Use a lambda instead of defining a one-line function
296296
296297         · b79ff04fda Remove no-longer-used enumerate
296298
296299         · e03b865359 Add unit test for file.get_diff
296300
296301         · 5bdc9e9bd5 Fix UnboundLocalError in file.get_diff
296302
296303       · ISSUE  #47325: (robertodocampo) docker_container.running creates con‐
296304         tainers using the image ID as the image name (refs: #47367)
296305
296306       · PR #47367: (terminalmage) Start docker  containers  with  image  name
296307         instead of ID @ 2018-04-30 18:46:13 UTC
296308
296309         · c267e6083e Merge pull request #47367 from terminalmage/issue47325
296310
296311         · 798134caa3  Add regression test for creating images with image name
296312           insead of ID
296313
296314         · 4ed47e839c Start docker containers with image name instead of ID
296315
296316       · ISSUE #47006: (cedwards) marathon & fx2 grain  modules  cause  master
296317         and minion failure (refs: #47401)
296318
296319       · PR  #47401: (gtmanfred) fix proxy virtual checks for marathon and fx2
296320         @ 2018-04-30 18:44:46 UTC
296321
296322         · 3bb00cbb55 Merge pull request #47401 from gtmanfred/proxy
296323
296324         · 99f9231759 fix proxy virtual checks for marathon and fx2
296325
296326       · PR #47397:  (rallytime)  Add  2018.3.1  Release  Notes  @  2018-04-30
296327         14:44:38 UTC
296328
296329         · c160fe36ce     Merge    pull    request    #47397    from    rally‐
296330           time/2018.3.1-release-notes
296331
296332         · 3b40cdad2a Add 2018.3.1 Release Notes
296333
296334       · ISSUE #45790: (bdarnell)  Test  with  Tornado  5.0b1  (refs:  #46066,
296335         #47106, #47433)
296336
296337       · PR  #47374:  (DmitryKuzmenko)  tornado50  merge  forward for 2018.3 @
296338         2018-04-29 16:29:12 UTC
296339
296340         · PR #47106: (DmitryKuzmenko) Tornado50  compatibility  fixes  (refs:
296341           #47374, #47368, #47433)
296342
296343         · PR  #46002:  (isbm)  Pyzmq  17.0.0  proper  handling (refs: #47374,
296344           #47368)
296345
296346         · 3400f829c4 Merge pull request #47374 from  DSRCorporation/bugs/tor‐
296347           nado50-2018.3
296348
296349         · 400999c54f fix pylint
296350
296351         · 47b6d409d1 add io_loop handling to runtests engine
296352
296353         · fd074fdb7d use salt.utils.zeromq
296354
296355         · 4ae33c5d9a Run off of a temporary config
296356
296357         · 7938b4906e Allow running pytest>=3.5.0
296358
296359         · 34058c181e Tornado 5.0 compatibility fixes
296360
296361       · ISSUE  #47124:  (mchugh19)  Vault  module  problem in 2018.3.0 (refs:
296362         #47379)
296363
296364       · PR #47379: (dwoz) Properly encode messages  when  creating/validating
296365         signatures with m2crypto @ 2018-04-28 08:38:23 UTC
296366
296367         · 2afe4bee95 Merge pull request #47379 from dwoz/m2crypto_regression
296368
296369         · 068f2d430d Always sign and verify bytes
296370
296371         · 7810ebaba9 Add sign regression tests
296372
296373         · f4441c3a1c Adding regression test for 47124
296374
296375       · PR  #47277:  (morganwillcock) Fix minion crash on NetBSD @ 2018-04-27
296376         15:02:21 UTC
296377
296378         · 7390b72808 Merge pull request #47277 from morganwillcock/netbsdswap
296379
296380         · 0bcb1a079a Merge branch '2018.3' into netbsdswap
296381
296382         · 30478e8c9c Use swapctl for NetBSD
296383
296384       · PR #47320: (twangboy) Change from NSSM to SSM @  2018-04-27  14:37:50
296385         UTC
296386
296387         · 2b7c7ef704 Merge pull request #47320 from twangboy/win_ssm
296388
296389         · 5549d83aae Use ssm instead of nssm
296390
296391       · PR  #47308:  (rallytime)  Back-port  #47287  to  2018.3  @ 2018-04-27
296392         13:50:49 UTC
296393
296394         · PR #47287: (esell) convert unicode ssh pass to str for azure (refs:
296395           #47308)
296396
296397         · b6df5facce Merge pull request #47308 from rallytime/bp-47287
296398
296399         · 5f392a23fe convert unicode ssh pass to str for azure
296400
296401       · ISSUE   #47324:   (rlschilperoort)   archive.extracted   keep  and/or
296402         keep_source not working (refs: #47332)
296403
296404       · PR #47332: (garethgreenaway) [2018.3] Removing  duplicate  code  from
296405         state/archive.py @ 2018-04-27 13:12:51 UTC
296406
296407         · efa3aab800 Merge pull request #47332 from garethgreenaway/47324_ar‐
296408           chive_extracted_keep_keep_source
296409
296410         · cc10bfec6b Removing  redundant  code  which  is  prevening  keep  &
296411           keep_source from being set.
296412
296413       · PR #47326: (The-Loeki) Some Redis fixes @ 2018-04-26 17:12:47 UTC
296414
296415         · 245d62ca16       Merge      pull      request      #47326      from
296416           The-Loeki/redis-cache-sockets
296417
296418         · d86fbe5bdd redis_return: add unix_socket_path to docs
296419
296420         · ee9f533765 redis_cache: document UNIX socket access
296421
296422         · 5337558a5a redis_return: Let redis handle pool creation,  add  UNIX
296423           socket support
296424
296425         · c90f83b0f9  redis_return:  cluster_mode  default to False in __vir‐
296426           tual__ to prevent KeyError stacktraces
296427
296428         · 71e3286829 redis_return: Fix code blocks in docs
296429
296430         · e6605f1c78 redis_cache fix code blox in docs
296431
296432         · 40e67747ee redis_cache: add socket to options
296433
296434       · PR #47319: (dwoz) Skip unix group tests  on  windows.   @  2018-04-26
296435         15:59:35 UTC
296436
296437         · 27a438f0ff Merge pull request #47319 from dwoz/skip_tests
296438
296439         · d9442d043e Skip tests not applicable to windows
296440
296441       · PR  #47293:  (dwoz)  The  grp  module  is  not available on windows @
296442         2018-04-25 20:22:34 UTC
296443
296444         · 057f668788 Merge pull request #47293 from dwoz/win_build_fix
296445
296446         · 0386216005 Fix sneaky indention
296447
296448         · 082b8d0b3d Use salt.utils.platform
296449
296450         · cc2538e08f The grp modules is not available on windows
296451
296452       · ISSUE #46862: (kivoli) Setting locale.system fails in  2018.3  (refs:
296453         #47280, #46869)
296454
296455       · PR  #47280:  (gtmanfred)  make sure not to send invalid information @
296456         2018-04-25 17:46:45 UTC
296457
296458         · fff4f8c1a5 Merge pull request #47280 from gtmanfred/localectl
296459
296460         · 7c212cbb2d fix pylint
296461
296462         · 6754787e8e update localemod tests
296463
296464         · 9075070573 make sure not to send invalid information
296465
296466       · ISSUE #46977: (gtmanfred) [2018.3.0] Backwards compatibilty  breaking
296467         change in 2018.3.0 (refs: #47038)
296468
296469       · PR   #47038:   (garethgreenaway)  [2018.3]  fix  to  fileclient.py  @
296470         2018-04-25 14:57:04 UTC
296471
296472         · 205701dcbe   Merge   pull   request   #47038   from    garethgreen‐
296473           away/46977_fixing_fileclient_forward_compatibilty
296474
296475         · ba01d2133a Updating version.py to include Magnesium.
296476
296477         · 10c823dd79 The _ext_nodes master function has been renamed to _mas‐
296478           ter_tops. To ensure compatibility when using older Salt masters  we
296479           continue  to  pass  the  function as _ext_nodes until the Magnesium
296480           release.
296481
296482       · ISSUE #47059: (OrlandoArcapix) Some states  incorrectly  return  None
296483         instead of an empty dict when there are no changes (refs: #47060)
296484
296485       · ISSUE     #46985:    (OrlandoArcapix)    grafana4_user.present    and
296486         grafana4_org.present states not working in 2018.3.0 (refs: #47048)
296487
296488       · PR #47060:  (OrlandoArcapix)  Return  an  empty  dict  for  'changes'
296489         instead of 'None' @ 2018-04-25 14:55:24 UTC
296490
296491         · PR  #47048:  (OrlandoArcapix)  Issue46985 fix grafana4 state (refs:
296492           #47060)
296493
296494         · 89daf4fdc7   Merge   pull   request    #47060    from    OrlandoAr‐
296495           capix/Issue47059-return_dict_from_state
296496
296497         · 5378e4fd07  Update  grafana_datasource test to check for empty dict
296498           being returned on no changes, rather than None
296499
296500         · f115452653 Return an empty dict for 'changes' instead of 'None'
296501
296502       · ISSUE #47089:  (syphernl)  UnicodeDecodeError:  'ascii'  codec  can't
296503         decode  byte  0xc3  in position 404: ordinal not in range(128) (refs:
296504         #47153)
296505
296506       · PR #47153: (terminalmage)  salt.modules.ssh:  properly  encode/decode
296507         I/O @ 2018-04-25 14:53:51 UTC
296508
296509         · 10cc0d312b Merge pull request #47153 from terminalmage/issue47089
296510
296511         · bdb52797f8 salt.modules.ssh: properly encode/decode I/O
296512
296513       · ISSUE  #47199:  (tkaehn)  Targeting  by  list (-L) broken for minions
296514         behind syndic? (refs: #47275)
296515
296516       · PR #47275: (terminalmage) Fix false failure events  sent  when  using
296517         syndic @ 2018-04-25 13:56:47 UTC
296518
296519         · b5d64f1a70 Merge pull request #47275 from terminalmage/issue47199
296520
296521         · 8012ad12f8 Fix false failure events sent when using syndic
296522
296523       · ISSUE #47267: (skjaro) Problem with beacon diskusage on windows plat‐
296524         form in 2018.3 (refs: #47284)
296525
296526       · PR #47284: (skjaro) Fix beacon diskusage documentation  for  the  new
296527         beahavior mentioned in issue #47267 @ 2018-04-25 13:52:30 UTC
296528
296529         · 6215a995d8    Merge    pull   request   #47284   from   skjaro/bea‐
296530           con_diskusage_doc_fix
296531
296532         · fcc042aa5f Fix beacon documentation for the new beahavior mentioned
296533           in issue #47267
296534
296535       · PR  #47291:  (bosatsu)  Fix  proxy  minion  beacon  doc  @ 2018-04-25
296536         13:42:36 UTC
296537
296538         · 3ef4fe6ed2 Merge pull request  #47291  from  bosatsu/fix-proxy-min‐
296539           ion-beacon-doc
296540
296541         · 01980b4c43  Fix  topics/releases/2018.3.0.rst  to  include  correct
296542           example of proxy_example beacon yaml configuration.
296543
296544         · 9682e26eec Fix  topics/proxyminion/beacon.rst  to  include  correct
296545           example of salt_proxy beacon yaml configuration.
296546
296547       · ISSUE #47239: (bosatsu) Unable to load salt_proxy beacon on minion in
296548         2018.3.0 (refs: #47255)
296549
296550       · PR #47255: (garethgreenaway) [2018.3] Fixes to salt_proxy beacon  and
296551         beacon tests @ 2018-04-25 13:41:51 UTC
296552
296553         · ea2d68b865    Merge   pull   request   #47255   from   garethgreen‐
296554           away/47239_fixes_to_salt_proxy_beacon
296555
296556         · a2a8d78cb0 Fixing status beacon tests.
296557
296558         · c87d6cae23 Ensure the salt_proxy is  returning  the  correct  tuple
296559           when  the configuration is valid.  Update various beacon unit tests
296560           to ensure they are testing the results of the validate function for
296561           a True result.
296562
296563       · PR #47292: (dwoz) Fix decorator wart @ 2018-04-25 04:25:23 UTC
296564
296565         · PR #47290: (dwoz) Run cache_master test in tmp dir (refs: #47292)
296566
296567         · 19f9e8258f Merge pull request #47292 from dwoz/cp_fix_again
296568
296569         · 7d045eb235 Fix decorator wart
296570
296571       · PR #47285: (dwoz) Fix reg grains test @ 2018-04-25 00:16:56 UTC
296572
296573         · da532aa1ac Merge pull request #47285 from dwoz/core_test_fix
296574
296575         · 884f4c1829 Fix extra space
296576
296577         · 8a9027c0c9 Fix reg grains test
296578
296579       · PR  #47290:  (dwoz) Run cache_master test in tmp dir (refs: #47292) @
296580         2018-04-24 23:37:21 UTC
296581
296582         · f591cff643 Merge pull request #47290 from dwoz/test_cp_fix
296583
296584         · 5ff51affbd Run cache_master test in tmp dir
296585
296586       · ISSUE #47092: (syphernl) [2018.3.0] pkg.installed breaks with virtual
296587         packages (refs: #47250)
296588
296589       · ISSUE #38838: (Zorlin) Failing to remove nginx (refs: #44455)
296590
296591       · PR  #47250: (terminalmage) Fix virtual package detection @ 2018-04-24
296592         19:22:24 UTC
296593
296594         · PR #44455: (samodid) Fix for #38838 (refs: #47250)
296595
296596         · 6d323aa8f0 Merge pull request #47250 from terminalmage/issue47092
296597
296598         · b8630a70be Fix virtual package detection
296599
296600       · ISSUE #47225:  (pruiz)  zfs.filesystem_present  takes  forever  on  a
296601         dataset with lots (10k+) of snapshots (refs: #47228, #47227, #47226)
296602
296603       · PR  #47228:  (pruiz)  Fix  issue #47225: avoid zfs.filesystem_present
296604         slowdown when  dataset  has  lots  of  snapshots  (2018.3  branch)  @
296605         2018-04-24 13:35:21 UTC
296606
296607         · PR  #47226:  (pruiz) Fix issue #47225: avoid zfs.filesystem_present
296608           slowdown when dataset has lots of snapshots (refs: #47228, #47227)
296609
296610         · 428e915d6a      Merge      pull      request      #47228       from
296611           pruiz/pruiz/zfs-dataset-present-slow-2018.3
296612
296613         · cfbf136ab2  Fix issue #47225: avoid zfs.filesystem_present slowdown
296614           when dataset has lots of snapshots
296615
296616       · ISSUE #46943: (Auha) Slack.Engine  could  not  start  (refs:  #47262,
296617         #47109)
296618
296619       · PR  #47262:  (garethgreenaway)  [2018.3]  Fixes to targeting in Slack
296620         engine @ 2018-04-24 13:18:36 UTC
296621
296622         · 0b836106b9   Merge   pull   request   #47262   from    garethgreen‐
296623           away/slack_engine_target_fix
296624
296625         · bcdef641e8  Removing  target  and tgt_type from the cmdline that is
296626           passed along to Salt, the target is used else where  and  including
296627           it  in  the cmdline causes problem when it is passed along.  Adding
296628           an additional test to ensure we are getting the right targt.
296629
296630       · ISSUE #47047: (Giandom) Pillars aren't evaluated when alias is passed
296631         in Slack Engine (refs: #47142)
296632
296633       · PR  #47142:  (garethgreenaway)  [2018.3] pillar and output formatting
296634         fixes to Slack engine @ 2018-04-23 19:55:07 UTC
296635
296636         · 2ed4b38b02   Merge   pull   request   #47142   from    garethgreen‐
296637           away/47047_passing_pillar_to_slack_aliases
296638
296639         · 6f183e1d80 Initial commmit for unit/engines/test_slack_engine
296640
296641         · a2840fc230  Only  include  the rest of the cmdline if the cmd is an
296642           alias.
296643
296644         · e846df7409 Fixing a bug when passing pillar values to  aliases  for
296645           the  Slack engine.  Cleaned up the formatting of the results, color
296646           codes don't translate well into Slack output.  For any state  runs,
296647           eg.  highstate. apply, sls, we run the output through the highstate
296648           formater.  For anything else run it though the yaml outputer.  Run‐
296649           ning  it  though highstate causes errors when the output does match
296650           what the highstate output is expecting.
296651
296652       · PR #47245: (terminalmage) Ensure we pass hexid as bytes when zmq_fil‐
296653         tering enabled @ 2018-04-23 16:54:57 UTC
296654
296655         · 42a0e655dc Merge pull request #47245 from terminalmage/zeromq-bytes
296656
296657         · a7accc0548 Ensure we pass hexid as bytes when zmq_filtering enabled
296658
296659       · PR  #47242:  (aesposito91) PY3 fix for zeromq setsockopt @ 2018-04-23
296660         16:38:09 UTC
296661
296662         · 73525d1460 Merge pull request #47242 from aesposito91/2018.3
296663
296664         · b225351e6d Update napalm_syslog.py
296665
296666       · ISSUE #47117: (prashanthtuttu) Napalm / Capirca Issue  (refs: #47241)
296667
296668       · PR #47241: (mirceaulinic) Fix the imports into the  netacl  execution
296669         and state modules @ 2018-04-23 14:56:32 UTC
296670
296671         · b78295aee9 Merge pull request #47241 from cloudflare/fix-47117
296672
296673         · 26c5583264  #47117: fix the napalm imports in the netacl state mod‐
296674           ule
296675
296676         · 48396467c1 #47117: fix the napalm imports in the  netacl  execution
296677           module
296678
296679       · PR #47219: (garethgreenaway) [2018.3] Fixing a backward compatibility
296680         issue with vault module & runner @ 2018-04-23 14:10:19 UTC
296681
296682         · 88557ea991   Merge   pull   request   #47219   from    garethgreen‐
296683           away/vault_backward_compatibility
296684
296685         · 1758081ffe When using the vault module on a 2018.3 minion against a
296686           2017.7 master, the 2018.3 minion is expecting a verify  element  in
296687           the  results  from  the  Salt  runner on the master.  The runner in
296688           2017.7 did not include a verify element, which results in an error.
296689           This  change accounts for this by using the default in 2018.3 which
296690           is not to verify if not configured.
296691
296692       · PR #47186: (dmurphy18) backport of issue 46933, updated ZFS  handling
296693         to Salt 2018.3.x @ 2018-04-23 14:07:06 UTC
296694
296695         · 370feadbd2  Merge  pull  request  #47186  from  dmurphy18/zfs_back‐
296696           port_46933
296697
296698         · 283359d315  Corrected  typo  in  comma-seprated  and  2018.3.0   ->
296699           2018.3.1
296700
296701         · b7f8d5a22f  Replace  use  of Fluorine with 2018.3.0 for comma-sepa‐
296702           rated warnings
296703
296704         · 3f30ab2ed6 ZFS backport of 46933 to 2018.3.1
296705
296706       · PR #47217: (twangboy) Remove installation of pywin32 from setup.py  @
296707         2018-04-23 13:32:54 UTC
296708
296709         · bf3a67d11b Merge pull request #47217 from twangboy/fix_setup
296710
296711         · eb3d45bb08 Remove installation of pywin32 from setup.py
296712
296713       · PR #47195: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
296714         2018-04-20 19:25:30 UTC
296715
296716         · 8e21703f13 Merge pull request #47195 from rallytime/merge-2018.3
296717
296718         · f90fd8c663 Test fix: file strings must be unicode in master config
296719
296720         · bee4948df1 Lint: use full path for event utils function
296721
296722         · 120c5446b7 Update old utils paths to new utils paths
296723
296724         · 4718d31e53 Merge branch '2017.7' into '2018.3'
296725
296726           · 65f344e371 Merge pull request #47184 from Ch3LL/status_test
296727
296728             · 25a84428b8 Add status module integration modules tests for Win‐
296729               dows
296730
296731           · 965600ad6c   Merge   pull  request  #47163  from  rallytime/jenk‐
296732             ins-autodoc
296733
296734             · 0039395017 Updage jenkins module  autodocs  to  use  jenkinsmod
296735               name instead
296736
296737           · 0a43dde5fc Merge pull request #47185 from twangboy/add_tests
296738
296739             · 345daa0423 Add additional integration tests to whitelist
296740
296741           · 1a600bb9a4   Merge  pull  request  #47172  from  dwoz/cover_with‐
296742             out_admin
296743
296744             · cadd759727 Use warnings to warn user
296745
296746             · 144c68e214 Allow non admin name based runs on windows
296747
296748           · d5997d2301 Merge  pull  request  #47110  from  kstreee/fix-misus‐
296749             ing-of-timeout
296750
296751             · 0624aee0ed Fixes misusing of the timeout option.
296752
296753           · 87ca2b4003 Merge pull request #40961 from terminalmage/issue40948
296754
296755             · 6ba66cca41 Fix incorrect logic in exception check
296756
296757             · fed5041c5f Make error more specific to aid in troubleshooting
296758
296759             · 8c67ab53b4 Fix path in log message
296760
296761             · 3198ca8b19  Make  error  more explicit when PKI dir not present
296762               for salt-call
296763
296764           · f5e63584d4 Merge pull request #47134 from Ch3LL/user_win_test
296765
296766             · e7c9bc4038 Add user integration tests for windows OS
296767
296768           · da2f6a3fac Merge pull request #47131 from gtmanfred/cli
296769
296770             · 1b1c29bf62 add __cli for master processes
296771
296772           · 9b8e6ffb8c Merge pull request #47129 from rallytime/bp-47121
296773
296774             · 11da526b21 add ImportError
296775
296776             · bd0c23396c fix pip.req import error in pip 10.0.0
296777
296778           · eb5ac51a48 Merge pull request #47102 from gtmanfred/2017.7
296779
296780             · 3dc93b310b fix tests
296781
296782             · 8497e08f8e fix pip module for 10.0.0
296783
296784             · 4c07a3d1e9 fix other tests
296785
296786             · b71e3d8a04 dont allow using  no_use_wheel  for  pip  10.0.0  or
296787               newer
296788
296789           · c1dc42e67e    Merge    pull    request    #47037    from   twang‐
296790             boy/fix_dev_scripts
296791
296792             · 990a24d7ed Fix build_env scripts
296793
296794       · ISSUE #46906:  (whytewolf)  Windows  failure  with  PR  46541  (refs:
296795         #47168)
296796
296797       · PR  #47168:  (gtmanfred)  fix  metadata  grain  for py3 and windows @
296798         2018-04-20 19:07:50 UTC
296799
296800         · a56eb7e05d Merge pull request #47168 from gtmanfred/metadata
296801
296802         · 396f7906e3 fix metadata grain for py3 and windows
296803
296804       · ISSUE #46918: (AmbicaY) napalm/capirca issue (refs: #47202)
296805
296806       · PR #47202: (mirceaulinic) Fix #46918: add the TTL field @  2018-04-20
296807         14:34:09 UTC
296808
296809         · 6135b76e2c Merge pull request #47202 from cloudflare/fix-46918
296810
296811         · 1e74141cc0 Fix #46918
296812
296813       · ISSUE  #47150: (srkunze) [Regression] ip_to_host and SSH._expand_tar‐
296814         get require missing reverse-lookup (refs: #47191)
296815
296816       · PR #47191: (terminalmage) salt-ssh: Do not attempt to  match  host/ip
296817         to minion ID if reverse lookup fails @ 2018-04-20 14:20:05 UTC
296818
296819         · 7f1115e611 Merge pull request #47191 from terminalmage/issue47150
296820
296821         · 95a6f075cb Add debug logging when ip_to_host fails
296822
296823         · 45696e622b  salt-ssh:  Do not attempt to match host/ip to minion ID
296824           if reverse lookup fails
296825
296826       · PR #47122: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
296827         2018-04-19 20:44:18 UTC
296828
296829         · 1947ffdf56 Merge pull request #47122 from rallytime/merge-2018.3
296830
296831         · 878fa06134 Test fix: remove tornado testing lib from class
296832
296833         · a40f007962 lint: get_context is in stringutils.py now
296834
296835         · 3416e398c6 Update old utils paths references to use new paths
296836
296837         · 94c2a12be6 Merge branch '2017.7' into '2018.3'
296838
296839           · 6a4c0b8a1a Merge pull request #47108 from dwoz/async_test_fix
296840
296841             · 3d85e30ce5 AsyncTestCase is required for AsyncEventPublisher
296842
296843           · 03892eaf0b    Merge    pull    request    #47068   from   cached‐
296844             out/catch_value_error_socket_test
296845
296846             · 7db5625632 Catch an operation on a closed socket in a test
296847
296848           · 1ea2885ec2 Merge pull request #47065 from dwoz/jinja_test_fix
296849
296850             · 673cd31c65 Merge branch '2017.7' into jinja_test_fix
296851
296852           · 5293b5b5ca Merge pull request #47077 from dwoz/test_state_fix
296853
296854             · 444da3f893 Fix py3 wart (chr vs bytesstring)
296855
296856             · e8acca01c2 Fix failing state test by normalizing line endings
296857
296858           · ca967de5da Merge pull request #47067 from gtmanfred/2017.7
296859
296860             · f913a7859c use the recommended opennebula lookup method
296861
296862           · 7fddad6cd9 Merge pull request #47064 from dwoz/roots_tests_fix
296863
296864             · 25fd7c0694 fix py3 wart, encode os.linesep
296865
296866             · d79f1a1961 Fix fileserver roots tests
296867
296868           · 977c6939c4 Merge pull request #47069  from  cachedout/match_time‐
296869             out_arg
296870
296871             · b8990f5258  Pass  the  timeout variable to the CLI when calling
296872               salt in tests
296873
296874           · 2c4c19c622 Merge pull request #47074 from dwoz/ignore_artifacts
296875
296876             · c3941efad0 Kitchn should ignore artifacts directory
296877
296878           · c484c0bd71 Merge pull request #47055 from bloomberg/GH-47000
296879
296880             · 8af3f5b874 GH-47000: add  proper  handling  of  full_return  in
296881               cmd_subset
296882
296883           · f3496030cc    Merge    pull    request    #47039    from   twang‐
296884             boy/win_fix_winrm_script
296885
296886             · 6635b9003f Fix winrm powershell script
296887
296888                  · 46fa2c04de Fix py3 os.linesep wart
296889
296890                  · 3c565d7e54 Use salt.utils.fopen
296891
296892                  · aa965310f1 Clean up cruft
296893
296894                  · efc9866580 Jinja test fixes
296895
296896       · PR #47162: (terminalmage) Partial backport of #47161 to 2018.3 branch
296897         @ 2018-04-19 19:28:47 UTC
296898
296899         · PR  #47161:  (terminalmage)  Fix  failing  pillar  unit test (refs:
296900           #47162)
296901
296902         · 291cca7ed8 Merge pull request #47162 from terminalmage/bp-47161
296903
296904         · d185f97a47 mocked file_roots and pillar_roots should be dicts
296905
296906       · ISSUE #47081: (sjorge) file.directory with recursion fails  if  there
296907         are non-ascii characters in the path (refs: #47165)
296908
296909       · PR #47165: (terminalmage) Make sure a str type is passed to os.walk @
296910         2018-04-19 14:59:16 UTC
296911
296912         · 2ee8006da3 Merge pull request #47165 from terminalmage/issue47081
296913
296914         · 9e29acb477 Make sure a str type is passed to os.walk
296915
296916       · PR #47070: (terminalmage) Use decorators for temp files/dirs in  test
296917         suite @ 2018-04-19 14:01:48 UTC
296918
296919         · 6257862bbb Merge pull request #47070 from terminalmage/with_tempdir
296920
296921         · 048728d2b7 Remove unused imports
296922
296923         · 879c557264 Use decorators for temp files/dirs in test suite
296924
296925       · PR  #47155:  (mcalmer)  Fix  patchinstall  for  yumpkg  @  2018-04-18
296926         19:24:17 UTC
296927
296928         · b46365614b Merge pull request #47155 from mcalmer/fix-patchinstall
296929
296930         · 382afba457 fix invalid string compare
296931
296932         · 8c19368938 provide kwargs to pkg_resource.parse_targets required to
296933           detect advisory type
296934
296935       · ISSUE  #47042:  (valentin2105)  [ERROR] Unable to manage file: 'utf8'
296936         codec can't decode byte  (refs: #47061)
296937
296938       · PR #47061: (terminalmage) Fix diffing binary files  in  file.get_diff
296939         (refs: #47405) @ 2018-04-18 18:52:10 UTC
296940
296941         · 13ae1a2413 Merge pull request #47061 from terminalmage/issue47042
296942
296943         · 87f6cefea3  Rewrite  flaky  utf8  state  to make it easier to trou‐
296944           bleshoot
296945
296946         · df6e535f05 Fix diffing binary files in file.get_diff
296947
296948       · PR #47058: (terminalmage) Fix calls to file.lsattr when lsattr is not
296949         installed @ 2018-04-18 16:30:12 UTC
296950
296951         · cba0f13cd9 Merge pull request #47058 from terminalmage/lsattr
296952
296953         · eeb067e910 Fix calls to file.lsattr when lsattr is not installed
296954
296955       · ISSUE #46929: (noelmcloughlin) 2018.3 regression file.managed.context
296956         parsing (refs: #47104)
296957
296958       · PR #47104:  (terminalmage)  yamlloader:  Properly  handle  colons  in
296959         inline dicts @ 2018-04-18 16:22:47 UTC
296960
296961         · b96ce23b3f Merge pull request #47104 from terminalmage/issue46929
296962
296963         · 33bf6643cd Add additional test for plain scalars
296964
296965         · 508659b682 yamlloader: Properly handle colons in inline dicts
296966
296967       · ISSUE  #46887:  (julientravelaer)  ldap.managed  broken with 2018.3.0
296968         (refs: #47029)
296969
296970       · ISSUE #46859: (cheribral) pillar_ldap causing TypeError exceptions in
296971         python-ldap with unicode objects (refs: #47029)
296972
296973       · PR  #47076:  (terminalmage)  pillar_ldap:  Load config options as str
296974         types @ 2018-04-18 16:16:22 UTC
296975
296976         · PR #47029: (terminalmage) ldapmod.py/ldap3.py:  Force  modlist  for
296977           search/modify/etc. to be str types (refs: #47076)
296978
296979         · c12697b173 Merge pull request #47076 from terminalmage/issue46859
296980
296981         · c06c859caf pillar_ldap: Load config options as str types
296982
296983       · PR  #47107:  (twangboy)  Fix  issues  with  reg  state,  add  tests @
296984         2018-04-18 15:53:02 UTC
296985
296986         · 50bd885ec7 Merge pull request #47107 from twangboy/fix_46932
296987
296988         · ae8ab2ab1a Fix tests for py3, enable tearDown
296989
296990         · 3cf4ac1475 Add integration tests for reg state
296991
296992         · cc259b146f Cast vdata to appropriate type in reg state
296993
296994       · ISSUE #46909: (epelc) Binary contents_pillar with file.managed raises
296995         UnicodeDecodeError (refs: #47041)
296996
296997       · PR  #47041:  (terminalmage)  Force  null  bytes  to  be  str  types @
296998         2018-04-18 14:08:25 UTC
296999
297000         · d6c59696be Merge pull request #47041 from terminalmage/issue46909
297001
297002         · e4182715be Special check specifically for bytes types
297003
297004         · ee90dd5d95 Merge branch '2018.3' into issue46909
297005
297006         · 0e99343a7f Use the same way of defining contents in both  file.man‐
297007           aged states
297008
297009         · 5741d287b5 Move back to using null byte check for contents
297010
297011         · 8e214c9fa9 file.managed: Add test to ensure binary contents work
297012
297013         · 7b7dc94610  Use  salt.utils.stringutils.is_binary  to check if con‐
297014           tents are binary
297015
297016         · e3c969da81 PY3: Ensure binary contents work with file.managed
297017
297018         · 5d98a8bedd   Make   salt.utils.stringutils.to_binary    work    for
297019           bytestrings
297020
297021         · 1024000369 Force null bytes to be str types
297022
297023       · PR #47007: (twangboy) Fix some issues with the win_servermanager mod‐
297024         ule @ 2018-04-17 20:57:04 UTC
297025
297026         · 9a9f6524f8 Merge pull request #47007 from twangboy/fix_46968
297027
297028         · 432db7c6ec Lint: Remove unused import
297029
297030         · 10341e8f8b Remove erroneous pop statement
297031
297032         · 56582f293a Remove redundant try/except block from state`
297033
297034         · 6ad2427279 Remove unnecessary try/except blocks
297035
297036         · 92eeaa51bd Put some error checking in the shell command
297037
297038       · ISSUE #46943: (Auha) Slack.Engine  could  not  start  (refs:  #47262,
297039         #47109)
297040
297041       · PR  #47109:  (garethgreenaway)  [2018.3]  fixes  to  Slack  engine  @
297042         2018-04-17 13:56:27 UTC
297043
297044         · a52137ee36   Merge   pull   request   #47109   from    garethgreen‐
297045           away/46943_slack_engine_fixes
297046
297047         · 02baa76595  Fixing a bug that occured when a comment was added to a
297048           message    sent    to    Slack    by     Salt.      Also     making
297049           slack_engine:groups_pillar optional.
297050
297051       · PR  #47045: (tankywoo) Fix ba7d00f5 for gentoo pkg.installed method @
297052         2018-04-17 13:55:45 UTC
297053
297054         · 6c16a34c44  Merge  pull  request  #47045   from   tankywoo/fix-gen‐
297055           too-pkg-installed
297056
297057         · 551f4e10cf Fix ba7d00f5 for gentoo pkg.installed
297058
297059       · PR  #47053:  (clan) handle jinja error in <module> level @ 2018-04-16
297060         22:47:54 UTC
297061
297062         · 86c7cfef56 Merge pull request #47053 from clan/jinja-error
297063
297064         · a847466946 handle jinja error in <module> level
297065
297066       · PR #47062: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
297067         2018-04-16 19:58:32 UTC
297068
297069         · 7bfa608e9f Merge pull request #47062 from rallytime/merge-2018.3
297070
297071         · 59f5880e72 lint fix
297072
297073         · 1ddf8c584b Update old utils files to new new utils files path
297074
297075         · 28a79ebba4 Merge branch '2017.7' into '2018.3'
297076
297077           · 1700a10ebe      Merge      pull      request      #46326     from
297078             kstreee/fix-client-local
297079
297080             · 0f358a9c9e Fixes a timing bug of saltnado's client local.
297081
297082           · c3c00316c5 Merge pull request #46913 from lomeroe/2017_7-fix46877
297083
297084             · 369a0645ed move exception for clarity
297085
297086             · 32ce5bfda5 Use configparser  serializer  object  to  read  pss‐
297087               cript.ini and script.ini startup/shutdown script files.
297088
297089           · 9e37cfc9d6    Merge    pull   request   #47025   from   terminal‐
297090             mage/fix-server_id-windows
297091
297092             · cb0cf89ed3 Fix server_id grain in PY3 on Windows
297093
297094           · 2e193cfb45 Merge pull request #47027 from rallytime/bp-44508
297095
297096             · 8e72f362f4 Add priority field to support the latest capirca.
297097
297098             · 112f92baab Add priority field to support the latest capirca.
297099
297100           · 385fe2bc1e Merge pull request #47020 from rallytime/bp-46970
297101
297102             · 9373dff52b Update test_pkgrepo.py
297103
297104             · 13cf9eb5b1 Removing debugging.
297105
297106             · a61a8593e5 Removing suse  from  pkgrepo  comments  tests.   the
297107               pkgrepo functions in SUSE pkg module do not support comments.
297108
297109       · PR  #47066:  (terminalmage)  Fix  regression  in handling of environ‐
297110         ment/saltenv @ 2018-04-16 19:57:12 UTC
297111
297112         · fa27e64a33 Merge pull request #47066 from terminalmage/issue46979
297113
297114         · 5c4c0468ad Fix regression in handling of environment/saltenv
297115
297116       · PR #47051: (rallytime) Simplify  LooseVersion  check  in  __virtual__
297117         check in mac_assistive module @ 2018-04-13 19:43:33 UTC
297118
297119         · 8761b81a69 Merge pull request #47051 from rallytime/fix-lint
297120
297121         · d52b3689d9  Simplify  LooseVersion  check  in  __virtual__ check in
297122           mac_assistive module
297123
297124       · PR #47057: (corywright) Fix copy/paste typo in  minionfs  tutorial  @
297125         2018-04-13 19:43:01 UTC
297126
297127         · bbb8018b55  Merge  pull  request  #47057  from  corywright/fix-min‐
297128           ionfs-whitelist-docs
297129
297130         · 9b7ee97d12 Fix copy/paste typo in minionfs tutorial
297131
297132       · ISSUE #46931: (anlutro) file.managed diff is switched when using tem‐
297133         plate in salt-ssh 2018.3 (refs: #47046)
297134
297135       · PR  #47046:  (clan)  switch  order  of file to be diffed @ 2018-04-13
297136         13:40:13 UTC
297137
297138         · d5afa4a2c5 Merge pull request #47046 from clan/file_diff
297139
297140         · bb58605c54 switch order of file to be diffed
297141
297142       · ISSUE    #46985:    (OrlandoArcapix)    grafana4_user.present     and
297143         grafana4_org.present states not working in 2018.3.0 (refs: #47048)
297144
297145       · PR  #47048:  (OrlandoArcapix)  Issue46985  fix  grafana4 state (refs:
297146         #47060) @ 2018-04-13 13:34:29 UTC
297147
297148         · ec9251ecd3   Merge   pull   request    #47048    from    OrlandoAr‐
297149           capix/Issue46985-fix-grafana4-state
297150
297151         · 259d747414 Remove accidentally added copy of a file
297152
297153         · 6c8c3da74d  Return  an  empty  dict instead of 'None' from grafana4
297154           states
297155
297156       · PR #47017: (opdude)  Don’t  encode  a  unicode  string  @  2018-04-13
297157         13:31:33 UTC
297158
297159         · d8c4c221cf  Merge  pull request #47017 from Unity-Technologies/hot‐
297160           fix/pip_windows
297161
297162         · 838670f626 Don’t encode a unicode string
297163
297164       · ISSUE #46917: (boltronics) mysql_grants.present broken with database:
297165         somedatabase.* (refs: #46919)
297166
297167       · PR  #47019:  (rallytime)  Back-port  #46919  to  2018.3  @ 2018-04-12
297168         19:43:01 UTC
297169
297170         · PR #46919: (boltronics) Replace failing is and is not tests with ==
297171           and != (refs: #47019)
297172
297173         · 5b7544eaa0 Merge pull request #47019 from rallytime/bp-46919
297174
297175         · 6837d6c138 Replace failing is and is not tests with == and !=
297176
297177       · ISSUE  #46887:  (julientravelaer)  ldap.managed  broken with 2018.3.0
297178         (refs: #47029)
297179
297180       · ISSUE #46859: (cheribral) pillar_ldap causing TypeError exceptions in
297181         python-ldap with unicode objects (refs: #47029)
297182
297183       · PR  #47029:  (terminalmage)  ldapmod.py/ldap3.py:  Force  modlist for
297184         search/modify/etc. to  be  str  types  (refs:  #47076)  @  2018-04-12
297185         19:41:29 UTC
297186
297187         · ac2d54d78a Merge pull request #47029 from terminalmage/issue46859
297188
297189         · ab6314247b   ldapmod.py/ldap3.py:  Force  modlist  for  search/mod‐
297190           ify/etc. to be str types
297191
297192         · 7691dee4ed Add to_str option to decode funcs
297193
297194       · ISSUE #46868: (tjyang)  2017.7.4  to  2018.3.0  upgrade  issue:  Salt
297195         request timed out. The master is not responding (refs: #46930)
297196
297197       · PR  #46930:  (dwoz)  Clean  up  bad  public  key headers @ 2018-04-12
297198         18:57:37 UTC
297199
297200         · e6e07720fa Merge pull request #46930 from dwoz/crptodomekeyfix
297201
297202         · f2e484ed54 Merge branch '2018.3' into crptodomekeyfix
297203
297204         · e1995a92ee Fix verify signature test
297205
297206         · 0ba32118d9 Add test for bad public key without m2crypto
297207
297208         · a44c356233 Clean up bad public key headers
297209
297210       · ISSUE #46951: (Giandom) Slack engine error using  aliases:  TypeError
297211         unhashable type (refs: #47008)
297212
297213       · PR  #47008: (garethgreenaway) [2018.3] Fixing aliases in slack engine
297214         @ 2018-04-12 15:24:40 UTC
297215
297216         · 0e43becc12   Merge   pull   request   #47008   from    garethgreen‐
297217           away/46951_fixing_slack_engine_aliases
297218
297219         · dc2a72d44f Fixing aliases in slack engine
297220
297221       · ISSUE #46947: (Giandom) Slack engine groups error (refs: #47009)
297222
297223       · PR  #47009: (garethgreenaway) [2018.3] fixes to slack engine documen‐
297224         tation @ 2018-04-12 15:20:54 UTC
297225
297226         · c33de7c82d   Merge   pull   request   #47009   from    garethgreen‐
297227           away/46947_slack_documentation_update_catch_non_dicts
297228
297229         · f0fadbb4ce   Fixing  indention  for  slack  documention.   Updating
297230           try..except to ensure we catch when groups aren't dicts.
297231
297232       · PR #47023:  (rallytime)  Back-port  #46997  to  2018.3  @  2018-04-12
297233         15:05:24 UTC
297234
297235         · PR  #46997:  (LukeCarrier)  Fix respository (=> repository) typo in
297236           sls_build (refs: #47023)
297237
297238         · PR #44638: (terminalmage) Many improvements to docker  network  and
297239           container states (refs: #46997)
297240
297241         · 68d17c71f1 Merge pull request #47023 from rallytime/bp-46997
297242
297243         · c2c60f4ffc Fix respository (=> repository) typo in sls_build
297244
297245       · PR #47026: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
297246         2018-04-12 14:39:41 UTC
297247
297248         · 9cf3c6406a Merge pull request #47026 from rallytime/merge-2018.3
297249
297250         · ba70df9d62 Use msgpack utils for loads  call,  import  msgpack  for
297251           UnpackValueError
297252
297253         · 34a478dfe5 Update old fopen path with new utils files path
297254
297255         · 590c7fc13f Merge branch '2017.7' into '2018.3'
297256
297257           · 8f994e7cf9 Merge pull request #46539 from jfoboss/patch-1
297258
297259             · 6890122e41 Merge pull request #1 from twangboy/pull_46539
297260
297261               · 19c3fadbe5 Fix unit test for win_ntp
297262
297263             · 826a8d3099 Fixing #46504
297264
297265           · 74d70e95a5 Merge pull request #46999 from gtmanfred/2017.7
297266
297267             · 791af8f6ce switch pip test package
297268
297269           · 8adaf7f526 Merge pull request #46023 from bloomberg/parallel-orch
297270
297271             · 0ac0b3ca29 Merge branch '2017.7' into parallel-orch
297272
297273           · 39d65a39cf    Merge   pull   request   #46613   from   myinitial‐
297274             sarepm/fix_puppet.fact_and_puppet.facts
297275
297276             · 44ecd13abc Update tests to use cmd.run_all
297277
297278             · 7d7d40f541 Merge branch '2017.7' into  fix_puppet.fact_and_pup‐
297279               pet.facts
297280
297281             · 0ce1520bd0  Merge branch '2017.7' into fix_puppet.fact_and_pup‐
297282               pet.facts
297283
297284             · 69e1f6f681 Fix puppet.fact and puppet.facts to use stdout.
297285
297286                  · 3d5e69600b address lint issues raised by @isbm
297287
297288                  · a9866c7a03 fix parallel mode py3 compatibility
297289
297290                  · 6d7730864a removing prereq from test orch
297291
297292                  · 6c8a25778f add integration test to  runners/test_state  to
297293                    exercise parallel
297294
297295                  · 2c86f16b39  cherry-pick  cdata  KeyError  prevention  from
297296                    #39832
297297
297298                  · 26a96e8933 record start/stop duration  for  parallel  pro‐
297299                    cesses separately
297300
297301                  · e4844bdf2b  revisit previous join() behavior in check_req‐
297302                    uisites
297303
297304                  · f00a359cdf join() parallel process instead of a  recursive
297305                    sleep
297306
297307                  · 6e7007a4dc add parallel support for orchestrations
297308
297309       · PR   #47021:   (garethgreenaway)   [2018.3]  Fixing  integration.mod‐
297310         ules.test_state_jinja_filters.StateModuleJinjaFilter‐
297311         sTest.test_path_which @ 2018-04-12 13:12:39 UTC
297312
297313         · d3be828696    Merge   pull   request   #47021   from   garethgreen‐
297314           away/920_state_module_jinja_filters_test_test_path_which
297315
297316         · 2ccf2c5fe0 Fixing test_path_which  to  check  that  the  filter  is
297317           available rather than results.
297318
297319       · PR  #47022:  (corywright)  Add auth.file module to auth documentation
297320         page @ 2018-04-11 21:11:10 UTC
297321
297322         · 66e8445b82    Merge    pull    request    #47022     from     cory‐
297323           wright/add-auth-file-module-to-docs
297324
297325         · bd0918fc40 Add auth.file module to auth documentation page
297326
297327       · PR  #45774:  (twangboy)  Fix  __virtual__  issue  in  mac_system.py @
297328         2018-04-11 14:26:13 UTC
297329
297330         · 12ecfdee93 Merge pull  request  #45774  from  twangboy/mac_add_ser‐
297331           vice_util
297332
297333         · 5796696617 Fix tests for Py3
297334
297335         · 7b40218790 Fix lint, remove sentence from docstring
297336
297337         · 781880f0fc Add _available_services function for testing
297338
297339         · 6080633613 Add assert_called_with
297340
297341         · 1bf70b2033 Add more tests for available_services
297342
297343         · b429fc3e74 Add tests for mac_utils
297344
297345         · b5f67130cc Used *args and **kwargs
297346
297347         · ed061617a2 Fix unicode_literal issue in mac_assistive
297348
297349         · 82e17e5fc8 Fix args/kwargs
297350
297351         · 455146500a Move some functions into mac_utils
297352
297353         · 125586264b Add utilsmac_service.py
297354
297355       · ISSUE  #46953: (cskowronnek) salt-cloud azurearm [ERROR   ] There was
297356         a profile error: Parameter  'subscription_id'  must  be  str.  (refs:
297357         #47012)
297358
297359       · PR #47012: (terminalmage) Azure: ensure subscription_id is a str type
297360         @ 2018-04-11 13:57:08 UTC
297361
297362         · 79347f108a Merge pull request #47012 from terminalmage/issue46953
297363
297364         · 5192622a32 Azure: ensure subscription_id is a str type
297365
297366       · PR #46526: (Ch3LL) Add  tests  for  new  source_*  minion  options  @
297367         2018-04-10 19:56:45 UTC
297368
297369         · 6503bf8dfa Merge pull request #46526 from Ch3LL/ip_conf
297370
297371         · c01180ff47 Patch ZMQ versions for master_uri test
297372
297373         · da38f332a5 Change comment and salt.utils.network import
297374
297375         · e972ebdf1a Add for new source_* minion options
297376
297377       · PR #46993: (L4rS6) Fix: tuple instead of string @ 2018-04-10 17:07:59
297378         UTC
297379
297380         · 03907d3fce Merge pull  request  #46993  from  L4rS6/fix-broken-key‐
297381           stone-auth/2018.3
297382
297383         · e33ba1b3d5 Fix: tuple instead of string
297384
297385       · PR #46990: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
297386         2018-04-10 17:07:33 UTC
297387
297388         · ffaee26540 Merge pull request #46990 from rallytime/merge-2018.3
297389
297390         · ccc5bad2df Merge branch '2017.7' into merge-2018.3
297391
297392           · ba5421d988 Merge pull request #46991 from gtmanfred/windows
297393
297394             · 98588c1dc5 use saltstack salt-jenkins
297395
297396         · 2f1cf3e511 Merge branch '2017.7' into '2018.3'
297397
297398           · 00c4067585 Merge pull request #46975 from gtmanfred/windows
297399
297400             · 1f69c0d7f8 make sure windows outputs xml junit files
297401
297402             · 4a2ec1bbb3 support new versions of winrm-fs
297403
297404             · b9efec8526 remove libnacl on windows
297405
297406             · 2edd5eaf9e fix path
297407
297408             · b03e272e44 windows work
297409
297410           · 3cf2353e41 Merge pull request #46945 from vutny/doc-faq-fix-jinja
297411
297412             · bfdf54e61d [DOC] Fix Jinja block in FAQ page
297413
297414           · fc2f728665   Merge   pull   request   #46925    from    terminal‐
297415             mage/fix-file.patch-docstring
297416
297417             · 97695657f0  Remove reference to directory support in file.patch
297418               state
297419
297420           · eef6c518e1 Merge pull request #46900 from rallytime/bp-46801
297421
297422             · 6a41e8b457 rename jenkins to jenkinsmod
297423
297424           · 71839b0303 Merge pull request #46899 from rallytime/bp-45116
297425
297426             · b92f908da4 fix adding parameters to http.query from sdb yaml
297427
297428       · PR #46339: (DmitryKuzmenko) SSH  State  test  failures  @  2018-04-10
297429         17:06:51 UTC
297430
297431         · a34b92ae82    Merge    pull   request   #46339   from   DSRCorpora‐
297432           tion/bugs/ssh_state_test_failures
297433
297434         · bd98c49dc7 Merge branch '2018.3' into bugs/ssh_state_test_failures
297435
297436         · 6fdc458a7f Increase timeout for run_run in ShellCase
297437
297438         · 8e60cccdfb Give background task more chance to start.
297439
297440         · e0b6878fac One more useful assert for better test results.
297441
297442         · 92a6c43c73 More logging and assertion fixes. Extended ssh ops time‐
297443           out.
297444
297445         · 6ebdd17ac4 Advanced logging in the failing SSH State tests.
297446
297447       · PR  #46989:  (Ch3LL)  Fix  redis  cache  log  debug line @ 2018-04-10
297448         16:35:12 UTC
297449
297450         · 9924100c44 Merge pull request #46989 from Ch3LL/redis_log
297451
297452         · 6160bc06c6 Fix redis cache log debug line
297453
297454       · ISSUE #46834: (oeuftete) strftime filter not found in 2018.3.0 (refs:
297455         #46848)
297456
297457       · ISSUE  #46668:  (anlutro)  Jinja2  filter strftime stopped working in
297458         salt-ssh 2018.3 (refs: #46848, #46744)
297459
297460       · PR #46848: (garethgreenaway) [2018.8] salt-ssh jinja filters tests  @
297461         2018-04-10 16:19:51 UTC
297462
297463         · c6431936cb  Merge  pull  request  #46848 from garethgreenaway/test‐
297464           ing_jinja_filters_avaiable_via_salt_ssh
297465
297466         · 5fcda3eff8 Merge branch  '2018.3'  into  testing_jinja_filters_ava‐
297467           iable_via_salt_ssh
297468
297469         · 0adfee9b11  Updating a couple tests.  Fixing check_whitelist_black‐
297470           list to work with PY3 when non-iterables are passed.  Adding  warn‐
297471           ing about lst_avg results being wrong and future updates in Neon.
297472
297473         · f3f42146ca  Removing expected from strftime and hashsum tests since
297474           the results are always different and we are  only  concerned  about
297475           the filter being available.
297476
297477         · 860234c045 Fixing lint.
297478
297479         · 0891c6b580 fixing docstring
297480
297481         · c8945e4b2e cleaning up some imports.
297482
297483         · 0599759e5b cleaning up some test doc strings.
297484
297485         · dceda5eb88  Moving  all  jinja filter tests into support/jinja_fil‐
297486           ters.py.   Updaitng  integration/ssh/test_jinja_filters.py  to  use
297487           those   tests.    Adding  integration/modules/test_state_jinja_fil‐
297488           ters.py to also use the common jinja filter tests.
297489
297490         · 07d7e3ca01 Adding a new integration test  and  corresponding  state
297491           files to test availabilty of jinja filters when using salt-ssh.
297492
297493       · ISSUE #46880: (liquidgecka) rabbitmq_policy broken in 2018.3.0 (refs:
297494         #46973)
297495
297496       · PR #46973: (rallytime) New "apply_to" kwarg in rabbitmq module should
297497         be added at the end @ 2018-04-10 14:42:32 UTC
297498
297499         · PR  #41233:  (dnABic)  added parameter apply_to for rabbitmq policy
297500           (refs: #46973)
297501
297502         · fbbcb7584c Merge pull request #46973 from rallytime/fix-46880
297503
297504         · 8ce21f982c New "apply_to" kwarg in rabbitmq module should be  added
297505           at the end
297506
297507       · ISSUE  #46934:  (d601) GPG encrypted binary data in pillars breaks in
297508         2018.3.0 (refs: #46966)
297509
297510       · PR #46966: (terminalmage) Fix traceback  when  attempting  to  decode
297511         binary data to unicode @ 2018-04-10 14:08:35 UTC
297512
297513         · 58f59cfbff Merge pull request #46966 from terminalmage/issue46934
297514
297515         · df43ffdb8f salt.payload.Serial: fix traceback when unpacking binary
297516           blob
297517
297518         · 40a49358c9 gpg renderer: fix tranceback when  decrypted  ciphertext
297519           contains binary data
297520
297521         · 17a88f6a71 Include exc_info in pillar render errors to aid in trou‐
297522           bleshooting
297523
297524       · ISSUE #46881: (SynPrime) Cron.file - source  file  not  found  (refs:
297525         #46944)
297526
297527       · PR  #46944: (garethgreenaway) [2018.3] cron.file with salt source URL
297528         @ 2018-04-10 13:34:03 UTC
297529
297530         · e33e792e2a   Merge   pull   request   #46944   from    garethgreen‐
297531           away/46881_Cron_file_source_file_not_found
297532
297533         · 438aafeb03 Adding kwargs to calls into file module functions
297534
297535         · 14d12b1d6b  Remove unused imports.  Gating tests so they do not run
297536           on Windows
297537
297538         · 623d96f21a Adding dummy cron file for integration/states/test_cron
297539
297540         · c8e01871d6 Adding an integration test to test cron.file.
297541
297542         · ddc55d8f9b Fixing bug that made cron.file unable to use a file  via
297543           a Salt URL.
297544
297545       · PR  #46937:  (gtmanfred) enable_ssh_minions does not work with subset
297546         yet @ 2018-04-07 02:54:56 UTC
297547
297548         · 08e8782f76 Merge pull request #46937 from gtmanfred/2018.3
297549
297550         · 3fb75e903c enable_ssh_minions does not work with subset yet
297551
297552       · PR #46936: (gtmanfred) don't  copy  __pycache__  or  .pyc  files  for
297553         kitchen @ 2018-04-06 19:15:46 UTC
297554
297555         · ac4e7cd73f Merge pull request #46936 from gtmanfred/2018.3
297556
297557         · 91474878fa don't copy __pycache__ or .pyc files for kitchen
297558
297559       · ISSUE #46659: (stamak) [salt-cloud] [new oxygen openstack driver ] no
297560         public_ips and floating_ips in salt-cloud output (refs: #46912)
297561
297562       · PR #46912: (gtmanfred) pull latest vm data after building  for  open‐
297563         stack shade driver @ 2018-04-06 13:46:42 UTC
297564
297565         · 8105fd9715 Merge pull request #46912 from gtmanfred/openstack
297566
297567         · 5ef538f8ad  pull  latest vm data after building for openstack shade
297568           driver
297569
297570       · PR #46908: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
297571         2018-04-05 21:27:03 UTC
297572
297573         · 735ea12960 Merge pull request #46908 from rallytime/merge-2018.3
297574
297575         · 102e966512 Remove redundant section in log setup
297576
297577         · 177c686b52 Update old utils paths to new utils paths
297578
297579         · 0a297e7319 Merge branch '2017.7' into '2018.3'
297580
297581           · d0f5b43753    Merge    pull    request    #44926   from   frogun‐
297582             der/whitelisted_acl
297583
297584             · 18e460fc30 Merge branch '2017.7' into whitelisted_acl
297585
297586             · 1ad4d7d988 fix assert errors
297587
297588             · e6a56016df update test
297589
297590             · 19a2244cb7 whitelist_acl_test
297591
297592           · 7d822f9cec Merge pull request #46464 from gtmanfred/orchestration
297593
297594             · 637cdc6b7b fix pylint
297595
297596             · 0151013ddb document cli option for cmd_subset
297597
297598             · 4a3ed6607d add test for subset in orchestration
297599
297600             · 3112359dd6 fix salt subset in orchestrator
297601
297602           · 805ed1c964 Merge pull request #46879 from dwoz/cloudtestfix
297603
297604             · dc54fc53c3 Fix multiple typos causing tests to fail
297605
297606           · f70f6de282   Merge    pull    request    #46647    from    twang‐
297607             boy/win_fix_test_grains
297608
297609             · c179388b0e  Fix  the  tear  down  function  in integration.mod‐
297610               ules.test_grains.GrainsAppendTestCase
297611
297612           · 91c078ce12  Merge   pull   request   #46756   from   nages13/bug‐
297613             fix-grain-virtual_subtype
297614
297615             · 781f5030a4   Merge   branch  'bugfix-grain-virtual_subtype'  of
297616               https://github.com/nages13/salt into  bugfix-grain-virtual_sub‐
297617               type
297618
297619               · cd1ac4b7f9   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
297620                 tual_subtype
297621
297622               · 0ace76c0e7  Merge  branch  '2017.7'  into   bugfix-grain-vir‐
297623                 tual_subtype
297624
297625               · 9eb6f5c0d0   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
297626                 tual_subtype
297627
297628               · 73d6d9d365  Merge  branch  '2017.7'  into   bugfix-grain-vir‐
297629                 tual_subtype
297630
297631               · a4a17eba6a   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
297632                 tual_subtype
297633
297634               · bf5034dbdb  Merge  branch  '2017.7'  into   bugfix-grain-vir‐
297635                 tual_subtype
297636
297637               · 8d12770951   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
297638                 tual_subtype
297639
297640             · 7e704c0e81 Moved down container check code below hypervisors to
297641               validate  containers type running in virtual environment. Fixes
297642               #46754 & #43405
297643
297644             · 710f74c4a6 fix grains['virtual_subtype'] to show Docker on  xen
297645               kernels
297646
297647           · 058bbed221   Merge   pull   request   #46799   from  garethgreen‐
297648             away/46762_prereq_shenanigans_tests
297649
297650             · 13875e78cf Fixing documention string for test.
297651
297652             · 3d288c44d4 Fixing test documentation
297653
297654             · 6cff02ef6a Adding tests for #46788
297655
297656           · d9770bf3f8  Merge  pull  request  #46867  from  terminalmage/uni‐
297657             code-logging-normalization
297658
297659             · 7652688e83 Backport string arg normalization to 2017.7 branch
297660
297661           · 9eb98b1f6e Merge pull request #46770 from twangboy/fix_46433
297662
297663             · 89af0a6222 Merge branch '2017.7' into fix_46433
297664
297665             · 67b4697578 Remove unused import (ling)
297666
297667             · 9302fa5ab0 Clean up code comments
297668
297669             · b383b9b330 Change the order of SID Lookup
297670
297671           · 9c776cffb7 Merge pull request #46839 from gtmanfred/tupletarget
297672
297673             · 3b7208ce27 match tuple for targets as well
297674
297675           · 7db251dc11 Merge pull request #46845 from rallytime/bp-46817
297676
297677             · 36a0f6d8ca address filehandle/event leak in async run_job invo‐
297678               cations
297679
297680           · e3d17ab7bc Merge pull request #46847 from dwoz/missing-strdup
297681
297682             · 55845f4846 strdup from libc is not available on windows
297683
297684           · f2dd79f9c4 Merge pull request #46776 from gtmanfred/2017.7
297685
297686             · edc1059ee0 fix shrinking list in for loop bug
297687
297688       · PR #46853: (terminalmage) Add back date_format  filter  @  2018-04-05
297689         20:33:50 UTC
297690
297691         · 9a47afc33b  Merge  pull  request #46853 from terminalmage/date_for‐
297692           mat_filter
297693
297694         · 266d13a665 Add back date_format filter
297695
297696       · PR #46882: (jasperla) Backport  #46280  #46849  #46852  to  2018.3  @
297697         2018-04-05 14:29:12 UTC
297698
297699         · PR  #46852: (jasperla) fix creating a nic tag on a link with double
297700           0 in the MAC (refs: #46882)
297701
297702         · PR #46849: (jasperla) Unbreak creating etherstubs on SmartOS (refs:
297703           #46882)
297704
297705         · PR  #46280: (jasperla) Remove unneeded checks for binaries in Smar‐
297706           tOS modules (refs: #46882)
297707
297708         · a064a3e695 Merge pull request  #46882  from  jasperla/smartos/back‐
297709           ports
297710
297711         · 47a66975ff  fix  creating  a nic tag on a link with double 0 in the
297712           MAC
297713
297714         · a3cb0e576e Unbreak creating etherstubs on SmartOS
297715
297716         · e703254990 Remove unneeded checks for binaries in SmartOS modules
297717
297718       · PR #46873: (terminalmage) Attempt UTF-8 first when  decoding/encoding
297719         @ 2018-04-05 14:16:28 UTC
297720
297721         · 4e5e291c99 Merge pull request #46873 from terminalmage/utf8-first
297722
297723         · cf28eb74aa Don't log command when output_loglevel == 'quiet'
297724
297725         · f59cee28db  Remove  hacky workarounds to get encode/decode tests to
297726           pass on Windows
297727
297728         · 76e5d81bb4 Remove hacky workaround to get Windows to decode deseri‐
297729           alized data properly
297730
297731         · 0b5729e58a  Remove hacky workaround to get git state/exec module to
297732           work properly on Windows
297733
297734         · 22ff48518f Attempt UTF-8 first when decoding/encoding
297735
297736       · ISSUE #43499: (tyeapple) zmq setsockopt need to adapt python3  (refs:
297737         #46874)
297738
297739       · PR  #46878:  (terminalmage)  Backport  #46874  to 2018.3 @ 2018-04-05
297740         13:26:04 UTC
297741
297742         · PR #46874: (johnj) Use bytestrings for PY3 compatibility when  run‐
297743           ning setsockopt for zmq.SUBSCRIBE (refs: #46878)
297744
297745         · 1518762465 Merge pull request #46878 from terminalmage/bp-46874
297746
297747         · d9511d04d4 #43499, zmq setsockopt need to adapt python3
297748
297749       · ISSUE  #46862:  (kivoli) Setting locale.system fails in 2018.3 (refs:
297750         #47280, #46869)
297751
297752       · PR #46869: (gtmanfred) Always return dictionary for _localectl_status
297753         @ 2018-04-05 13:25:14 UTC
297754
297755         · 67894e3ee9 Merge pull request #46869 from gtmanfred/2018.3
297756
297757         · 1496e985f7 fix pylint
297758
297759         · 75425dfd20 fix tests for localemod
297760
297761         · 2d7c7b5e33 Always return dictionary for _localectl_status
297762
297763       · PR #46870: (mirceaulinic) Correct the documentation for two new proxy
297764         modules @ 2018-04-04 21:48:41 UTC
297765
297766         · 58c8ff18e2 Merge pull request #46870 from cloudflare/proxy-doc
297767
297768         · f4b6184476 Corect and add the cimc proxy module to autodoc
297769
297770         · a99bc202b9 Correct & add Panos to autodoc
297771
297772       · PR #46729: (terminalmage) Performance improvement/error  catching  in
297773         expr_match @ 2018-04-04 20:25:57 UTC
297774
297775         · d7e4b9d755 Merge pull request #46729 from terminalmage/expr_match
297776
297777         · 70cfafe299 Add test case
297778
297779         · 250039b11f Restore original variable name
297780
297781         · ae0f112a49  Log  an  exception  when  non-string val/expr passed to
297782           expr_match
297783
297784         · dac42a672b Performance improvement/error catching in expr_match
297785
297786       · PR #46872: (terminalmage) Backport  #46863  to  2018.3  @  2018-04-04
297787         19:04:40 UTC
297788
297789         · PR #46863: (TamCore) fixed top function which was broken since com‐
297790           mit 002aa88a97e (refs: #46872)
297791
297792         · e0b383afb5 Merge pull request #46872 from terminalmage/bp-46863
297793
297794         · be284e5b99 Add skipIf when older mock present
297795
297796         · db8faaee56 Add unit tests for ext_nodes master_tops module
297797
297798         · ee437f7cbf  fixed  top  function  which  was  broken  since  commit
297799           002aa88a97e
297800
297801       · PR #46850: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
297802         2018-04-04 18:07:44 UTC
297803
297804         · 5c76d98d1a Merge pull request #46850 from rallytime/merge-2018.3
297805
297806         · a0fcd5c053 Fix test_cp failure: forgot to  add  tgt  to  test  when
297807           @with_tempfile is present
297808
297809         · d0202cab72   Resolve   bad   merge:   there   should  only  be  one
297810           test_get_file_from_env_in_url test
297811
297812         · e28f71b418 Lint: use full salt utils path
297813
297814         · 4ad50bbdee Update old utils paths to new paths
297815
297816         · 893196d3e6 Merge branch '2017.7' into '2018.3'
297817
297818           · 1941426218 Merge pull request #46838 from gtmanfred/npm
297819
297820             · bff61dd291 use http registry for npm
297821
297822           · e544254e7b Merge pull request #46823 from rallytime/fix-42312
297823
297824             · dafa820f93 Improve __virtual__ checks in sensehat module
297825
297826           · 37f6d2de35 Merge pull request #46641 from skizunov/develop3
297827
297828             · c624aa4827 Make LazyLoader thread safe
297829
297830           · 989508b100 Merge pull request #46837 from rallytime/merge-2017.7
297831
297832             · 8522c1d634 Merge branch '2016.11' into '2017.7'
297833
297834             · 3e844ed1df   Merge   pull   request    #46739    from    rally‐
297835               time/2016.11_update_version_doc
297836
297837               · 4d9fc5cc0f Update release versions for the 2016.11 branch
297838
297839           · 307e7f35f9    Merge    pull    request    #46740    from   rally‐
297840             time/2017.7_update_version_doc
297841
297842             · 7edf98d224 Update 2018.3.0 information  and  move  branch  from
297843               "latest" to "previous"
297844
297845             · 5336e866ac Update release versions for the 2017.7 branch
297846
297847           · ebf5dd276f Merge pull request #46783 from twangboy/fix_46680
297848
297849             · da5ce25ef3 Fix unit tests on Linux
297850
297851             · b7f4f377cd Add space I removed
297852
297853             · f1c68a09b5 Fix network.managed test=True on Windows
297854
297855           · f652f25cc1  Merge  pull  request  #46821  from rallytime/fix-man‐
297856             test-failures
297857
297858             · 209a8029c3 Fix the new test failures from the mantest changes
297859
297860           · c460f62081 Merge pull request #46800 from lomeroe/2017_7-46627
297861
297862             · 2bee383e9d correct create list item value  names  if  the  val‐
297863               uePrefix  attribute  does not exist on the list item, the value
297864               is the value name, other wise, the valuename a number with  the
297865               valuePrefix prepended to it
297866
297867           · df26f2641e Merge pull request #46675 from dwoz/inspectlib-tests
297868
297869             · d39f4852d8 Handle non-zero status exception
297870
297871             · 83c005802b Handle cases where git can not be found
297872
297873             · 628b87d5c4 Skip test when git symlinks are not configured
297874
297875           · 4083e7c460 Merge pull request #46815 from terminalmage/bp-46809
297876
297877             · 71d5601507 Fix sharedsecret authentication
297878
297879           · 3bac9717f4 Merge pull request #46769 from dwoz/wincloudtest
297880
297881             · eabc234e5d Fix config override name
297882
297883             · 5c22a0f88d Use aboslute imports
297884
297885             · 810042710d Set default cloud test timeout back to 500 seconds
297886
297887             · 5ac89ad307 Use winrm_verify_ssl option causing tests to pass
297888
297889             · 71858a709c allow not verifying ssl winrm saltcloud
297890
297891             · ba5f11476c Adding windows minion tests for salt cloud
297892
297893           · f1be939763 Merge pull request #46786 from twangboy/fix_46757
297894
297895             · b0053250ff Remove int(), just return -1
297896
297897             · 7d56126d74 Fixes some lint
297898
297899             · 49b3e937da Return int(-1) when pidfile contains invalid data
297900
297901           · 89bf24b15c Merge pull request #46814 from terminalmage/bp-46772
297902
297903             · a9f26f2ab8 avoid breaking if AutoRemove is not found
297904
297905             · 97779c965d fix container removal if auto_remove was enabled
297906
297907           · 5ea4ffbdb6    Merge    pull   request   #46813   from   terminal‐
297908             mage/event-debug-log
297909
297910             · 5d6de3a2eb Get rid of confusing debug logging
297911
297912           · e533b7182d   Merge    pull    request    #46766    from    twang‐
297913             boy/win_fix_test_git
297914
297915             · 5afc66452c Remove unused/redundant imports
297916
297917             · 88fd72c52c Use with_tempfile decorator where possible
297918
297919           · 69d450db84 Merge pull request #46778 from terminalmage/salt-jenk‐
297920             ins-906
297921
297922             · bbfd35d3ea Replace flaky SPM man test
297923
297924           · c935ffb740  Merge   pull   request   #46788   from   garethgreen‐
297925             away/46762_prereq_shenanigans
297926
297927             · fa7aed6424 Ensure failed tags are added to self.pre.
297928
297929           · 395b7f8fdc Merge pull request #46655 from dwoz/pyobjects-46350
297930
297931             · 5aabd442f2 Fix up import and docstring syntax
297932
297933             · 62d64c9230 Fix missing import
297934
297935             · 18b1730320 Skip test that requires pywin32 on *nix platforms
297936
297937             · 45dce1a485 Add reg module to globals
297938
297939             · 09f9322981 Fix pep8 wart
297940
297941             · 73d06f664b Fix linter error
297942
297943             · 009a8f56ea Fix up environ state tests for Windows
297944
297945             · b4be10b8fc Fixing cleanUp method to restore environment
297946
297947           · af45c49c42 Merge pull request #46632 from dwoz/file-recurse-36802
297948
297949             · 44db77ae79 Fix lint errors and typo
297950
297951             · cb5619537f Only change what is essential for test fix
297952
297953             · eb822f5a12 Fix file.recurse w/ clean=True #36802
297954
297955           · 6e9f504ed1 Merge pull request #46751 from folti/2017.7
297956
297957             · 7058f10381 same top merging strategy works again
297958
297959           · d3623e0815 Merge pull request #46691 from Ch3LL/win_group_test
297960
297961             · 7cda825e90 Add groupadd module integration tests for Windows
297962
297963           · 14ab50d3f4 Merge pull request #46696 from dwoz/win_test_client
297964
297965             · ec4634fc06 Better explanation in doc strings
297966
297967             · d9ae2abb34 Fix splling in docstring
297968
297969             · b40efc5db8 Windows test client fixes
297970
297971       · PR  #46851:  (rallytime)  Back-port  #46844  to  2018.3  @ 2018-04-04
297972         18:04:59 UTC
297973
297974         · PR #46844: (UtahDave) Fix warning format in 2018.3.0 release  notes
297975           (refs: #46851)
297976
297977         · b808ba7049 Merge pull request #46851 from rallytime/bp-46844
297978
297979         · ab2ccea1af Quick grammar fix in 2018.3.0 release notes
297980
297981         · af7bad3c7f Fix warning format in 2018.3.0 release notes
297982
297983       · ISSUE  #46864:  (femnad)  Attribute  Error When Invoking Vault Module
297984         Method (refs: #46865)
297985
297986       · PR #46865: (femnad) Fix Log Line for  Vault  Token  Generation  Debug
297987         Line @ 2018-04-04 14:52:00 UTC
297988
297989         · ea56778e03     Merge     pull     request    #46865    from    fem‐
297990           nad/fix-log-in-vault-runner
297991
297992         · 01a5b88e7b Fix Log Line for Vault Token Generation Debug Line
297993
297994       · PR #46836: (rallytime) [2018.3] Merge  forward  from  2018.3.0rc1  to
297995         2018.3 @ 2018-04-03 16:54:53 UTC
297996
297997         · a0e168ccee Merge pull request #46836 from rallytime/merge-2018.3
297998
297999         · e75ba1f502 Merge branch '2018.3.0rc1' into '2018.3'
298000
298001           · 39235715e6 Merge pull request #46792 from damon-atkins/patch-1
298002
298003           · db5b9464e6 provided an example
298004
298005           · 41e3e1e253 Update windows information in release notes
298006
298007           · 99447fbf49 Added more windows information
298008
298009           · d4241006f2 Update 2018.3.0.rst Windows Items, Group topics
298010
298011       · ISSUE  #46808:  (ezh)  Sharedsecret  authentication  is broken (refs:
298012         #46809)
298013
298014       · PR #46809: (ezh) Fix sharedsecret  authentication  (refs:  #46815)  @
298015         2018-04-03 16:53:24 UTC
298016
298017         · 4a358217a0 Merge pull request #46809 from ezh/2018.3-sharedsecret
298018
298019         · 20db8f03f7 Merge branch '2018.3' into 2018.3-sharedsecret
298020
298021         · 9df6d18ec7 Fix sharedsecret authentication
298022
298023       · PR #46820: (rallytime) [2018.3] Update the latest release information
298024         for docs @ 2018-04-03 14:36:31 UTC
298025
298026         · 1519d7d895    Merge    pull    request    #46820    from     rally‐
298027           time/2018.3_update_version_doc
298028
298029         · 274f8ee0dd [2018.3] Update the latest release information for docs
298030
298031       · PR  #46731:  (rallytime)  Back-port  #46024  to  2018.3  @ 2018-04-02
298032         19:00:42 UTC
298033
298034         · PR #46024: (zmedico) Trivial bug fixes  for  tagify  and  fire_args
298035           functions (refs: #46731)
298036
298037         · 07f1141722 Merge pull request #46731 from rallytime/bp-46024
298038
298039         · ee4ee5b619 fire_args: fix UnboundLocalError: local variable 'tag'
298040
298041         · 4ce2c21824 tagify: handle integer suffix list
298042
298043       · ISSUE #46779: (anlutro) salt-ssh 2018.3 states with "runas" fail with
298044         "Environment could not be retrieved for User" (refs: #46796)
298045
298046       · PR #46796: (terminalmage) Fix regression introduced in  merge-forward
298047         @ 2018-04-02 18:10:22 UTC
298048
298049         · PR  #46503: (psyer) Fixes stdout user environment corruption (refs:
298050           #46796)
298051
298052         · 4f31c1062d Merge pull request #46796 from terminalmage/issue46779
298053
298054         · f8f9d045ac Add regression test
298055
298056         · e0e4e19ba3 Include extra troubleshooting information
298057
298058         · dcb0c67309 Fix regression introduced in merge-forward
298059
298060       · PR #46690: (dincamihai) Fix unicode handling in pkg.info_installed  @
298061         2018-03-29 14:10:48 UTC
298062
298063         · 4609a7dd85 Merge pull request #46690 from dincamihai/2018.3
298064
298065         · 980adf8253 Fix unicode handling in pkg.info_installed
298066
298067       · PR #46746: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
298068         2018-03-28 21:13:07 UTC
298069
298070         · e5b3c8fa91 Merge pull request #46746 from rallytime/merge-2018.3
298071
298072         · e8864b7b0b Merge branch '2017.7' into '2018.3'
298073
298074           · 1222bdbc00 Merge pull request #46732 from rallytime/bp-46032
298075
298076             · bf0b962dc0 Workaroung python bug in traceback.format_exc()
298077
298078           · 50fe1e9480  Merge  pull  request  #46749  from   vutny/doc-depre‐
298079             cate-copr
298080
298081             · a1cc55da3d [DOC] Remove mentions of COPR repo from RHEL instal‐
298082               lation page
298083
298084           · bd1e8bcc7d Merge pull request #46734 from terminalmage/busybox
298085
298086             · 6502b6b4ff Make busybox image builder work with  newer  busybox
298087               releases
298088
298089           · c09c6f819c Merge pull request #46742 from gtmanfred/2017.7
298090
298091             · fd0e649d1e only use npm test work around on newer versions
298092
298093           · 3b6d5eca88 Merge pull request #46743 from Ch3LL/mac_auth
298094
298095             · 4f1c42c0e3 Workaround getpwnam in auth test for MacOSX
298096
298097         · d0278345fc Update old utils paths to new utils paths
298098
298099         · e312efb5e7 Merge branch '2017.7' into '2018.3'
298100
298101           · b548a3e742      Merge      pull      request      #46171     from
298102             amaclean199/fix_mysql_grants_comparison
298103
298104             · 97db3d9766 Merge branch '2017.7' into fix_mysql_grants_compari‐
298105               son
298106
298107             · 0565b3980e Merge branch '2017.7' into fix_mysql_grants_compari‐
298108               son
298109
298110             · 8af407173d Merge branch '2017.7' into fix_mysql_grants_compari‐
298111               son
298112
298113             · 00d13f05c4  Fix  mysql  grant  comparisons by stripping both of
298114               escape characters and quotes. Fixes #26920
298115
298116           · 554400e067 Merge  pull  request  #46709  from  vutny/doc-faq-min‐
298117             ion-master-restart
298118
298119             · d0929280fc [DOC] Update FAQ about Salt self-restarting
298120
298121           · 3f21e9cc65      Merge      pull      request      #46503     from
298122             psyer/fix-cmd-run-env-corrupt
298123
298124             · e8582e80f2 Python 3-compatibility fix to unit test
298125
298126             · 27f651906d   Merge   pull    request    #1    from    terminal‐
298127               mage/fix-cmd-run-env-corrupt
298128
298129               · 172d3b2e04  Allow  cases where no marker was found to proceed
298130                 without raising exception
298131
298132               · 35ad828ab8 Simplify the marker parsing logic
298133
298134             · a09f20ab45 fix repr for the linter
298135
298136             · 4ee723ac0f Rework how errors are output
298137
298138             · dc283940e0 Merge branch '2017.7' into fix-cmd-run-env-corrupt
298139
298140             · a91926561f Fix linting problems
298141
298142             · e8d3d017f9 fix bytes or str in find command
298143
298144             · 0877cfc38f Merge branch '2017.7' into fix-cmd-run-env-corrupt
298145
298146             · 86176d1252 Merge branch '2017.7' into fix-cmd-run-env-corrupt
298147
298148             · 3a7cc44ade Add python3 support for byte encoded markers
298149
298150             · 09048139c7 Do not show whole env in error
298151
298152             · ed94700255 fix missing raise statement
298153
298154             · 15868bc88c Fixes stdout user environment corruption
298155
298156           · ac2a6616a7   Merge    pull    request    #46432    from    twang‐
298157             boy/win_locales_utf8
298158
298159             · affa35c30d Revert passing encoding
298160
298161             · a0ab27ef15  Merge  remote-tracking branch 'dw/win_locales_utf8'
298162               into win_locales_utf8
298163
298164               · 9f95c50061 Use default SLS  encoding,  fall  back  to  system
298165                 encoding
298166
298167               · 6548d550d0 Use salt.utils.to_unicode
298168
298169               · 8c0164fb63 Add ability to specify encoding in sdecode
298170
298171               · 2e7985a81c Default to utf-8 on Windows
298172
298173             · 8017860dcc Use salt.utils.to_unicode
298174
298175             · c10ed26eab Add ability to specify encoding in sdecode
298176
298177             · 8d7e2d0058 Default to utf-8 on Windows
298178
298179           · fadc5e4ba4  Merge  pull  request  #46669  from  terminalmage/pil‐
298180             lar-merge-order
298181
298182             · b4a1d34b47 Add option to return to pre-2017.7.3 pillar  include
298183               merge order
298184
298185           · b90f0d1364  Merge  pull  request  #46711  from terminalmage/wild‐
298186             card-versions-info
298187
298188             · fc7d16f1af Add performance reminder for wildcard versions
298189
298190           · 6c80d90bb6 Merge pull request #46693 from dwoz/test_smtp_return
298191
298192             · 5bf850c67f File and Pillar roots are dictionaries
298193
298194           · 9a6bc1418c     Merge      pull      request      #46543      from
298195             dafenko/fix-add-saltenv-pillarenv-to-pillar-item
298196
298197             · 6d5b2068aa  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
298198               larenv-to-pillar-item
298199
298200             · 5219377313  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
298201               larenv-to-pillar-item
298202
298203             · b7d39caa86  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
298204               larenv-to-pillar-item
298205
298206             · 25f1074a85 Add docstring for added parameters
298207
298208             · 973bc13955  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
298209               larenv-to-pillar-item
298210
298211             · 164314a859  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
298212               larenv-to-pillar-item
298213
298214             · 267ae9f633 Fix missing saltenv and pillarenv in pillar.item
298215
298216           · f776040e25 Merge pull request #46679 from vutny/doc-state-pkg
298217
298218             · 4a730383bf [DOC] Correct examples in pkg state module
298219
298220           · 47409eaa6e   Merge    pull    request    #46646    from    twang‐
298221             boy/win_fix_test_local_cache
298222
298223             · 8d93156604 Fix unit.returners.test_local_cache for Windows
298224
298225           · 0c2dce0416 Merge pull request #46649 from terminalmage/issue46595
298226
298227             · e82a1aa1ec Make server_id consistent on Python 3
298228
298229           · 4e7466a21c  Merge pull request #46588 from UtahDave/no_crash_win‐
298230             shell
298231
298232             · b7842a1777 Update error message.
298233
298234             · 95dfdb91ca Don't stacktrace when salt-ssh w/o saltwinshell
298235
298236           · 33af3cfc7c Merge pull request #46631  from  rallytime/update-pil‐
298237             lar-unit-tests
298238
298239             · 0f728186aa  Fix  pillar unit test failures: file_roots and pil‐
298240               lar_roots environments should be lists
298241
298242           · d329e7af78   Merge   pull   request   #46640    from    terminal‐
298243             mage/file.copy-docs
298244
298245             · 480c5f8faa Clarify the docs for the file.copy state
298246
298247           · ff40590c06 Merge pull request #46642 from vutny/doc-cloud-index
298248
298249             · 51e6aa54a1 [DOC] Unify cloud modules index header
298250
298251           · 83ed40c06a Merge pull request #46619 from rallytime/merge-2017.7
298252
298253             · bcbddf5d07 Merge branch '2017.7.5' into '2017.7'
298254
298255               · 19bb725698 Merge pull request #46612 from Ch3LL/7.5_rn
298256
298257                 · 6076bfa2ee Add changelog to 2017.7.5 release
298258
298259               · 31c78aef11    Merge    pull   request   #46572   from   dmur‐
298260                 phy18/update_xxxbuild
298261
298262                 · c87511570d Merge branch '2017.7.5' into update_xxxbuild
298263
298264               · cdd768fa4d Merge pull request #46577 from gtmanfred/2017.7.5
298265
298266                 · 78cbf7b5cd Fix npm issue
298267
298268                 · c76f7eb028 enable debug logging on the minionlog
298269
298270               · e6682c660c  Merge  pull   request   #46551   from   terminal‐
298271                 mage/salt-jenkins-885
298272
298273                 · 703b5e7e65  Change  versionadded to show that 2018.3.0 will
298274                   not have this function
298275
298276                 · 010d260d06 Rewrite failing Suse pkg integration test
298277
298278                 · f3f5dec239 zypper.py: fix version argument being ignored
298279
298280                 · 214f2d6ad3 Add pkg.list_repo_pkgs to zypper.py
298281
298282                      · 0a541613f2 Additon of -sa flag to allow  for  revision
298283                        numbers other than -0 or -1
298284
298285               · bd62699ccb Merge pull request #46563 from gtmanfred/2017.7.5
298286
298287                 · 8d5ab72983 virtualenv version too old for python3.6
298288
298289               · 2916708124 Merge pull request #46561 from gtmanfred/2017.7.5
298290
298291                 · 2c39ac6dfb disable verbose
298292
298293               · ee3bff6e32 Merge pull request #46537 from rallytime/bp-46529
298294
298295                 · 289c7a228f retry if there is a segfault
298296
298297               · 1271536a89    Merge   pull   request   #46519   from   rally‐
298298                 time/man-pages-2017.7.5
298299
298300                 · 782a5584f5 Update man pages for 2017.7.5
298301
298302           · df12135439 Merge pull request #46584 from twangboy/lgpo-46568
298303
298304             · 661017104b Detect disabled reg_multi_sz elements properly
298305
298306           · 2fd3aa487c Merge pull request  #46624  from  twangboy/win_fix_in‐
298307             staller
298308
298309             · fa0b0efe46 Fix some installer script inconsistencies
298310
298311           · f038e3c452   Merge   pull   request   #46571   from  garethgreen‐
298312             away/46552_onfail_and_require
298313
298314             · 152c43c843 Accounting for a case when multiple onfails are used
298315               along  with  requires.   Previously if you have multiple states
298316               using 'onfail' and  two  of  those  states  using  a  'require'
298317               against  the first one state, the last two will run even if the
298318               'onfail' isn't met because the 'require'  is  met  because  the
298319               first  state  returns  true even though it didn't excute.  This
298320               change adds an additional hidden variable  that  is  used  when
298321               checking requisities to determine if the state actually ran.
298322
298323           · 2677330e19 Merge pull request #46520 from gtmanfred/2017.7
298324
298325             · caefedc095 make sure utils is empty for pickling for windows
298326
298327             · 2883548e6b pass utils to the scheduler for reloading in modules
298328
298329           · 7bc3c2e588 Merge pull request #46531 from terminalmage/issue44299
298330
298331             · b70c3389da Fix case where no comments specified
298332
298333             · ce391c53f4 Add regression test for #44299
298334
298335             · c3e36a6c94 Fix regression in yumpkg._parse_repo_file()
298336
298337             · f0c79e3da3   Slight   modification  to  salt.utils.pkg.rpm.com‐
298338               bine_comments()
298339
298340           · b80edb5d26 Merge pull request #46567 from dwoz/runtest-n-wart
298341
298342             · 3b6901e19d Honor named tests when running integration suites
298343
298344           · 1dcd22e767   Merge    pull    request    #46580    from    twang‐
298345             boy/win_update_docs_dism
298346
298347             · d52b99d7a3 Clarify some issues with msu files in win_dism.py
298348
298349           · 0a68c22332 Merge pull request #46541 from gtmanfred/metadata
298350
298351             · 19bd1d9db5 handle user-data for metadata grains
298352
298353       · ISSUE  #46668:  (anlutro)  Jinja2  filter strftime stopped working in
298354         salt-ssh 2018.3 (refs: #46848, #46744)
298355
298356       · PR #46744: (garethgreenaway) [2018.3] Ensure salt.utils.dateutils  is
298357         available for templates via salt-ssh @ 2018-03-28 21:09:46 UTC
298358
298359         · ef68df7f3a    Merge   pull   request   #46744   from   garethgreen‐
298360           away/46668_jinja2_filter_strftime_unavailable
298361
298362         · 0b30955c00 Including salt.utils.dateutils so various  jinja_filters
298363           are available when using salt-ssh.
298364
298365       · ISSUE  #46334:  (sjorge) [2018.3.0rc1] Stacktrace on call to nacl.dec
298366         (refs: #46426)
298367
298368       · PR #46720: (rallytime) Bump deprecation notices in nacl module & run‐
298369         ner to Neon @ 2018-03-27 21:15:46 UTC
298370
298371         · PR  #46426:  (garethgreenaway) [2018.3.0rc1] fixes to nacl module &
298372           runner (refs: #46639, #46720)
298373
298374         · 65bb37effd Merge pull request #46720 from  rallytime/bump-nacl-dep‐
298375           recation
298376
298377         · 5102c0310c Bump deprecation notices in nacl module & runner to Neon
298378
298379       · PR  #46733:  (rallytime)  [2018.3]  Merge forward from 2018.3.0rc1 to
298380         2018.3 @ 2018-03-27 18:46:43 UTC
298381
298382         · c83d9e66fe Merge pull request #46733 from rallytime/merge-2018.3
298383
298384         · 00d4eb26f3 Merge branch '2018.3.0rc1' into '2018.3'
298385
298386       · PR #46565: (twangboy) Create reg  salt  util  (2018.3)  @  2018-03-26
298387         22:03:33 UTC
298388
298389         · 0faced1d54 Merge pull request #46565 from twangboy/win_fix_cmd_pow‐
298390           ershell_2018.3
298391
298392         · 5ee64e9b0e Fix lint (spelling error)
298393
298394         · 0de54ed953 Additional tests
298395
298396         · fc9ecd75e2 Skip unit.state.test_reg unless on Windows
298397
298398         · aa98bdf250 Fix some lint
298399
298400         · e0d201a96f Make sure the docs are correct for the tests
298401
298402         · f15f92318d Add tests for salt.utils.win_reg
298403
298404         · f7112b19a2 Submit #46527 agains 2018.3
298405
298406       · ISSUE #46334: (sjorge) [2018.3.0rc1] Stacktrace on call  to  nacl.dec
298407         (refs: #46426)
298408
298409       · PR  #46639: (terminalmage) Use the correct path for nacl certificates
298410         in Windows @ 2018-03-26 19:20:10 UTC
298411
298412         · PR #46426: (garethgreenaway) [2018.3.0rc1] fixes to nacl  module  &
298413           runner (refs: #46639, #46720)
298414
298415         · dd52368f90    Merge    pull    request    #46639   from   terminal‐
298416           mage/nacl-default-path
298417
298418         · 2f7660fe35 Use the correct path for nacl certificates in Windows
298419
298420       · PR #46416: (dincamihai) Fix cp.push empty file @ 2018-03-26  17:52:47
298421         UTC
298422
298423         · 2efef52a3e    Merge    pull    request    #46416    from   dincami‐
298424           hai/fix-cp.push-empty-file
298425
298426         · 536ba0fa1e Fix cp.push empty file
298427
298428       · PR #46643: (mcalmer) fix docker return @ 2018-03-26 15:52:31 UTC
298429
298430         · 84579e7652 Merge pull request #46643 from mcalmer/fix-docker-return
298431
298432         · 3ceb63f607 fix checking test results
298433
298434         · af64632bf3 add unit test for failed login
298435
298436         · 0fc7989236 make it possible to use login, pull and push  from  mod‐
298437           ule.run and detect errors
298438
298439       · PR  #46650: (Ch3LL) Mirror libnacl imports in test from the nacl mod‐
298440         ule @ 2018-03-26 14:48:40 UTC
298441
298442         · c67afbeb36 Merge pull request #46650 from Ch3LL/nacl_test
298443
298444         · 9fef8bc431 Mirror libnacl imports in test from the nacl runner
298445
298446         · f11d58a8e9 Mirror libnacl imports in test from the nacl module
298447
298448       · PR #46645: (terminalmage) Add Unicode / Python 3 update  to  2018.3.0
298449         release notes @ 2018-03-26 14:43:53 UTC
298450
298451         · 03b58a01cf    Merge    pull    request    #46645   from   terminal‐
298452           mage/release-notes
298453
298454         · 986c7bcdae Rewrite unicode/py3 section
298455
298456         · 064bc83276 Add Unicode / Python 3 update to 2018.3.0 release notes
298457
298458       · ISSUE #46150:  (whytewolf)  With  chocolately.version  some  packages
298459         don't work with check_remote=True (refs: #46661)
298460
298461       · PR  #46661:  (Kimol)  Chocolatey  -  Lowered name of local and remote
298462         packages before comparing versions.  @ 2018-03-26 14:35:39 UTC
298463
298464         · 308c9ddfc3 Merge pull request #46661  from  Kimol/2018.3-fix_choco‐
298465           latey_check_remote_packages
298466
298467         · 52581e7918 Removed trailing whitespace
298468
298469         · 123a86947c  Chocolatey  - Added lowering local packages for unifing
298470           both local and remote names to lowercase for comparison.
298471
298472         · 4be1a991c2 Lowered name of available packages before comparing with
298473           local packages
298474
298475       · PR  #46569:  (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3
298476         (refs: #46631) @ 2018-03-21 20:57:04 UTC
298477
298478         · 2e1f7c37f7 Merge pull request #46569 from rallytime/merge-2018.3
298479
298480         · 46ba72fb1c Fix pillar  unit  test  failures:  file_roots  and  pil‐
298481           lar_roots environments should be lists
298482
298483         · fe2d46dd0c  Better  merge  conflict resolution for setup.py windows
298484           changes
298485
298486         · 8886b61576 Update old utils paths to new paths
298487
298488         · 8d1e1e7f94 Merge branch '2017.7' into '2018.3'
298489
298490           · 048b2ba3f6  Merge   pull   request   #46547   from   garethgreen‐
298491             away/46427_service_module_cumulus
298492
298493             · edd0b11447   Merge   branch  '2017.7'  into  46427_service_mod‐
298494               ule_cumulus
298495
298496             · ea3c16080e Disable the service module on Cumulus  since  it  is
298497               using systemd.
298498
298499           · 98e3260b9a Merge pull request #46548 from Ch3LL/profit_test
298500
298501             · db96c4e72e  check  for foo,bar username,password set in profit‐
298502               brick config
298503
298504           · 79f2a76609 Merge pull request #46549 from Ch3LL/dimension_test
298505
298506             · bb338c464c Fix dimensionsdata test random_name call
298507
298508           · 083846fe0e Merge pull request #46529 from gtmanfred/kitchen
298509
298510             · 50d6e2c7be retry if there is a segfault
298511
298512           · 5cc11129f1 Merge pull request #46511 from rallytime/bp-45769
298513
298514             · a8ffceda53 Surpress  boto  WARNING  during  decode,  reference:
298515               https://github.com/boto/boto/issues/2965
298516
298517           · 0e90c8ca6f Merge pull request #46493 from terminalmage/issue46207
298518
298519             · f06ff68f10  salt-call: don't re-use initial pillar if CLI over‐
298520               rides passed
298521
298522           · b11a8fc8e0 Merge pull request #46450 from gtmanfred/salt_runner
298523
298524             · 7974ff7264 load grains for salt.cmd runner
298525
298526           · 22d753364b Merge pull request #46337 from gtmanfred/2017.7
298527
298528             · d6d9e36359 add tests for names and listen/listen_in
298529
298530             · 3f8e0db572 let listen_in work with names
298531
298532             · 7161f4d4df fix listen to be able to handle names
298533
298534           · b7191b8782     Merge      pull      request      #46413      from
298535             meaksh/2017.7-explore-result-in-depth
298536
298537             · 885751634e  Add  new unit test to check state.apply within mod‐
298538               ule.run
298539
298540             · 9f19ad5264 Rename and fix recursive method
298541
298542             · 1476ace558 Fix Python3 and pylint issue
298543
298544             · 726ca3044d Explore 'module.run' response to catch the  'result'
298545               in depth
298546
298547           · 02a79a2014 Merge pull request #46496 from gtmanfred/kitchen
298548
298549             · da002f78d0 include virtualenv path for py3 windows
298550
298551             · fe2efe03ea remove duplicate setup
298552
298553           · 5c4c182d75  Merge  pull  request  #46330  from  bdrung/fix_kuber‐
298554             netes_test_create_deployments
298555
298556             · 5008c53c44 Fix ValueError for  template  in  AppsV1beta1Deploy‐
298557               mentSpec
298558
298559           · c7e05d3ff4  Merge pull request #46482 from rongshengfang/fix-key‐
298560             error-in-instance_present
298561
298562             · ed8c83e89a Fix KeyError in salt/states/boto_ec2.py when an  EIP
298563               is   being   associated   to  an  existing  instance  with  the
298564               instance_present state.
298565
298566           · 573d51afec Merge pull request #46463 from terminalmage/mock-2.0
298567
298568             · b958b4699c Update requirements files to depend on mock>=2.0.0
298569
298570           · a154d35fc7 Merge pull request #46422 from rallytime/bp-46300
298571
298572             · 829dfde8e8 Change stringutils path to old utils path for 2017.7
298573
298574             · 91db2e0782 Python 3 support
298575
298576           · 2afaca17a1 Merge pull request #46320 from mcalmer/warn-kubernetes
298577
298578             · c493ced415 add warning about future config option change
298579
298580           · c7f95581e3     Merge      pull      request      #46449      from
298581             bdrung/make-doc-theme-configurable
298582
298583             · 4a5da2d144 Make documentation theme configurable
298584
298585           · 10ce0e9e20    Merge    pull    request    #46162    from   rally‐
298586             time/team-suse-zypper-owner
298587
298588             · 13a295a3b7 Add pkg and snapper to team-suse
298589
298590             · 35c7b7b0d3 Add btrfs,  xfs,  yumpkg,  and  kubernetes  file  to
298591               team-suse
298592
298593             · 485d777ac0 Add team-suse to CODEOWNERS file for zypper files
298594
298595           · cac096b311   Merge   pull  request  #46434  from  gtmanfred/high‐
298596             state_return
298597
298598             · d18f1a55a7 fix pylint
298599
298600             · 9e2c3f7991 split return key value correctly
298601
298602           · 7dd71101ce   Merge    pull    request    #46455    from    whyte‐
298603             wolf/Issue_44452_unicode_cloud
298604
298605             · 5fe474b1a8 .format remove fix for #44452
298606
298607           · 4c8d9026d3 Merge pull request #46428 from twangboy/win_fix_reqs
298608
298609             · e7ab97cc17 Remove six as a hard dep for Salt
298610
298611             · cc67e5c2ef Set six to 1.11.0
298612
298613           · e834d9a63b Merge pull request #46454 from gtmanfred/kitchen
298614
298615             · b8ab8434a5 fix windows for kitchen
298616
298617           · 2886dca88f Merge pull request #46452 from gtmanfred/spm_cache_dir
298618
298619             · 169cf7a4e2 make spm cache_dir instead of all cachedirs
298620
298621           · a188984cd9 Merge pull request #46446 from bdrung/fix-typos
298622
298623             · 7e6e80be87 heat: Fix spelling mistake of environment
298624
298625             · a3c54b50f6 Fix various spelling mistakes
298626
298627           · e35fc5263c  Merge  pull  request  #46309 from bdrung/dynamic-pil‐
298628             larenv
298629
298630             · 584b451fd1 Support dynamic pillar_root environment
298631
298632           · 35fe9827fe Merge pull request #46430 from terminalmage/issue44032
298633
298634             · f9f187e915 Improve reliability/idempotence of file.blockreplace
298635               state
298636
298637           · 2bad0a21c0 Merge pull request #46429 from twangboy/win_fix_snmp
298638
298639             · 8995a9b8de Fix problem with __virtual__ in win_snmp
298640
298641           · 93a572f229 Merge pull request #46100 from jfindlay/resolv_scope
298642
298643             · d5561bedaf tests.unit.grains.core add scoped IPv6 nameserver
298644
298645             · 4e2e62d508 salt.utils.dns parse scope param for ipv6 servers
298646
298647           · 5acc1d5c54 Merge pull request #46420 from bdrung/2017.7
298648
298649             · e48c13d9e0 Fix SSH client exception if SSH is not found
298650
298651           · ca6a76e317 Merge pull request #46379 from angeloudy/2017.7
298652
298653             · 3acb59c74c Merge branch '2017.7' into 2017.7
298654
298655             · d971e0c08b Fix indent
298656
298657             · 269514683f Update http.py
298658
298659             · 908c040ac3 Update http.py
298660
298661             · 51ba3c135b Update http.py
298662
298663             · 14aba24111 fix bytes-object required error in python 3
298664
298665           · 73f9233557 Merge pull request #46404 from gtmanfred/kitchen
298666
298667             · c56baa95a8 clone .git for the version tests
298668
298669             · 3620611b5b fix unhold package for debian
298670
298671             · 5219f7d2ba fix minion log path
298672
298673           · ca28cfd4e4 Merge pull request #46310 from twangboy/win_update_in‐
298674             staller_build
298675
298676             · bcf8b19566 Update the installer build
298677
298678           · decccbeca3 Merge pull request #46316 from twangboy/win_fix_dsc
298679
298680             · 2042d33d59 Fix issues with the DSC module
298681
298682       · PR #46620: (rallytime)  [2018.3]  Merge  2018.3.0rc1  into  2018.3  @
298683         2018-03-20 22:45:00 UTC
298684
298685         · 8cdd56b9dc     Merge    pull    request    #46620    from    rally‐
298686           time/merge-2018.3.0rc1-into-2018.3
298687
298688         · b03cda3cea Merge branch '2018.3.0rc1' into '2018.3'
298689
298690       · PR #46606: (Ch3LL) add autodoc topics for infoblox  state  modules  @
298691         2018-03-19 21:35:46 UTC
298692
298693         · 2d2fe22ae2 Merge pull request #46606 from Ch3LL/infoblox_docs
298694
298695         · 6eab6a7dc4 add autodoc topics for infoblox state modules
298696
298697       · PR  #46540: (s0undt3ch) Some missing isinstance checks.  @ 2018-03-15
298698         16:17:19 UTC
298699
298700         · 1191d5b379 Merge pull request #46540 from s0undt3ch/2018.3
298701
298702         · fa1d668774 Some missing isinstance checks. Committed again  through
298703           a PR.
298704
298705       · PR  #46513:  (rallytime)  [2018.3]  Merge forward from 2018.3.0rc1 to
298706         2018.3 @ 2018-03-15 15:58:59 UTC
298707
298708         · 5429438e4b Merge pull request #46513 from rallytime/merge-2018.3
298709
298710         · aa760334a1 Merge branch '2018.3.0rc1' into '2018.3'
298711
298712       · ISSUE #43208: (mitar) Prevent user.present to change uid and  gid  of
298713         existing user (refs: #46502)
298714
298715       · PR  #46502:  (terminalmage) user.present: don't change uid/gid unless
298716         explicitly told to @ 2018-03-13 14:25:20 UTC
298717
298718         · 3e073c7e8a Merge pull request #46502 from terminalmage/issue43208
298719
298720         · 4106840deb user.present: don't  change  uid/gid  unless  explicitly
298721           told to
298722
298723       · PR #46398: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
298724         2018-03-12 20:25:19 UTC
298725
298726         · 7cdb00ca9c Merge pull request #46398 from rallytime/merge-2018.3
298727
298728         · d22e5ba442 Merge fix: return back wb+ mode in crypt.gen_keys.
298729
298730         · c7dddaf8ce Lint: Use log variable, not logger.
298731
298732         · ca1860cd91 Use new get_umask function in mask calls in virt.py
298733
298734         · 19ec7b6de1 Update old utils paths with new utils paths
298735
298736         · d83727fdf9 Merge branch '2017.7' into '2018.3'
298737
298738           · 95586678c3 Merge pull request #46394 from Ch3LL/mac_doc
298739
298740             · 158add6661 change oxdownload to oxdownload-{python_version}
298741
298742             · 21aa848c89 Add mac py2 and py3  packages  to  mac  installation
298743               docs
298744
298745           · 07b5d09ac1 Merge pull request #46338 from rallytime/fix-44831
298746
298747             · 90771da999 Remove cmd.wait deprecation reference in docs
298748
298749           · 3849e7a085 Merge pull request #46333 from danlsgiga/issue-42438
298750
298751             · 3b13f37b44 Revert changes in the code and change docs instead
298752
298753             · 38114a65d8  Fixes  color  parameter  mismatch  and  handles 204
298754               responses correctly
298755
298756           · a8f2f1b063 Merge pull request #46322 from terminalmage/issue44935
298757
298758             · 85ac6a9893 yamlify_arg: don't treat leading dashes as lists
298759
298760           · da5c282cb2    Merge    pull    request    #46327    from    sami‐
298761             laine/fix-vmware-cloud-fqdn
298762
298763             · 4b8dfb326f Modify the way a FQDN is handled in the vmware cloud
298764               provider.
298765
298766           · 78c45d3786   Merge   pull   request   #46318    from    terminal‐
298767             mage/squelch-warnings
298768
298769             · 5889b36646 Skip type-checking for several gitfs/git_pillar/win‐
298770               repo params
298771
298772           · bb0d6fc263 Merge pull request #46312 from gtmanfred/2017.7
298773
298774             · 749ae580ed add module_dirs to salt ssh thin tarball
298775
298776           · 88b5f7383d Merge pull request #46242 from redbaron4/fix-46127
298777
298778             · 06dba51617 Make changes from review
298779
298780             · 727ebe1056 Merge branch '2017.7' into fix-46127
298781
298782             · 08d1ee8baf Fix Python3 test errors
298783
298784             · aa9d709015 Pass env_vars to pip.freeze
298785
298786           · a0716643e4 Merge pull request #46265 from Ch3LL/profit_cloud
298787
298788             · d4893eab4c Add username/password to profitbricks conf for cloud
298789               tests
298790
298791           · ed7bffa7e0 Merge pull request #46306 from rallytime/bp-46256
298792
298793             · 6439bce4a8 Don't install msgpack 0.5.5
298794
298795           · 8c2c4e3316    Merge    pull   request   #46208   from   terminal‐
298796             mage/audit-umask-usage
298797
298798             · 9c92aadce8 Disable blacklisted-function  check  for  legitimate
298799               uses
298800
298801             · 58a11aaa26 Disable pylint check in salt-ssh shim
298802
298803             · ecadf67659 Blacklist os.umask
298804
298805             · 31b1d98fcb  Replace direct use of os.umask with use of existing
298806               context manager
298807
298808             · 82ce546e18 Prevent failed  os.makedirs  from  leaving  modified
298809               umask in place
298810
298811           · 978e869490      Merge      pull      request      #46293     from
298812             eliasp/2017.7-44624-py3-compat
298813
298814             · 2e08b0d9c8  Fix  Python3  comparison  TypeError  in   salt.mod‐
298815               ules.upstart
298816
298817           · bee4a66d0c Merge pull request #46264 from terminalmage/issue46128
298818
298819             · 68000b7211 Fix incorrect merge conflict resolution
298820
298821           · 1e0b3aa348 Merge pull request #46296 from vutny/doc-pillar-get
298822
298823             · 1faa8331e1 [DOC] Add missing params to pillar.get docstring
298824
298825           · c490a50452      Merge      pull      request      #45874     from
298826             GwiYeong/2017.7-local-client-hotfix
298827
298828             · 949aefc82b Merge branch '2017.7' into  2017.7-local-client-hot‐
298829               fix
298830
298831             · 45d663f435 fix for local client timeout bug
298832
298833           · 8e8a3a2897 Merge pull request #46261 from rallytime/merge-2017.7
298834
298835             · 8256ae5ee5 Merge branch '2016.11' into '2017.7'
298836
298837               · 140ef4d6b9  Merge pull request #46253 from rallytime/doc-ban‐
298838                 ners
298839
298840                 · 07ed8c7db3 Update docbanner for SaltConf18
298841
298842               · 9fe86ee520  Merge  pull  request   #46179   from   wedge-jar‐
298843                 rad/cifs-remount-fix
298844
298845                 · 9ca25c4313  Add credentials and secretfile to mount.mounted
298846                   mount_invisible_keys
298847
298848       · PR #46421: (bdrung) Skip SSHPasswordTests if ssh binary is not  found
298849         @ 2018-03-09 16:21:02 UTC
298850
298851         · 9c089aa4de       Merge      pull      request      #46421      from
298852           bdrung/skip-ssh-tests-if-ssh-is-missing
298853
298854         · 3d6f658309 Skip SSHPasswordTests if ssh binary is not found
298855
298856       · PR #46453:  (bdrung)  Fix  various  spelling  mistakes  in  2018.3  @
298857         2018-03-09 14:48:33 UTC
298858
298859         · PR #46446: (bdrung) Fix various typos (refs: #46453)
298860
298861         · 4cbfde5839 Merge pull request #46453 from bdrung/fix-typos-2018.3
298862
298863         · 3d37eca847 Fix various spelling mistakes
298864
298865       · ISSUE #44032: (PhilippeAB) blockreplace marker_end isn't applied with
298866         newline (refs: #46430)
298867
298868       · PR  #46437:   (terminalmage)   Improve   reliability/idempotence   of
298869         file.blockreplace state (2018.3 branch) @ 2018-03-08 15:38:53 UTC
298870
298871         · PR   #46430:   (terminalmage)  Improve  reliability/idempotence  of
298872           file.blockreplace state (refs: #46437)
298873
298874         · a43d999fb8   Merge   pull    request    #46437    from    terminal‐
298875           mage/issue44032-2018.3
298876
298877         · 4798187035  Improve  reliability/idempotence  of  file.blockreplace
298878           state (2018.3 branch)
298879
298880       · PR #46328: (dincamihai) Fix openscap push @ 2018-03-07 17:51:41 UTC
298881
298882         · 0c66507aff Merge pull request #46328 from dincamihai/2018.3.0rc1
298883
298884         · b5e508f339 Fix openscap push
298885
298886       · PR #46174: (twangboy) Fix a unicode issue with the git module on Win‐
298887         dows @ 2018-03-06 18:53:53 UTC
298888
298889         · 82cb2ea5a0     Merge    pull    request    #46174    from    twang‐
298890           boy/win_fix_test_git_2
298891
298892         · 80e3a47dd4 Add output_encoding argument to git state, and add docs
298893
298894         · 661a0687ec Fix git utf-8 issues for Windows
298895
298896       · PR  #46235:  (twangboy)  Fix  unit.modules.test_ssh  for  Windows   @
298897         2018-03-05 20:39:44 UTC
298898
298899         · 7690cf8564 Merge pull request #46235 from twangboy/win_fix_test_ssh
298900
298901         · 9ea02d7045 Use write instead of writelines for Windows
298902
298903       · PR  #46332: (terminalmage) Update the merge-forward docs to reference
298904         the 2018.3 branch @ 2018-03-05 19:39:56 UTC
298905
298906         · c4f366cdd9 Merge pull request #46332  from  terminalmage/merge-for‐
298907           ward-docs
298908
298909         · 0411845cec  Update  the  merge-forward docs to reference the 2018.3
298910           branch
298911
298912       · PR #46307: (rallytime) [2018.3] Merge  forward  from  2018.3.0rc1  to
298913         2018.3 @ 2018-03-03 12:56:07 UTC
298914
298915         · 241611aca5 Merge pull request #46307 from rallytime/merge-2018.3
298916
298917         · c9fa21f62c Merge branch '2018.3.0rc1' into '2018.3'
298918
298919       · PR   #46314:   (terminalmage)  Merge  2017.7  branch  into  2018.3  @
298920         2018-03-03 12:54:27 UTC
298921
298922         · 30c34f0c62   Merge   pull    request    #46314    from    terminal‐
298923           mage/merge-2017.7-2018.3
298924
298925         · 61ab47ee70 Merge branch '2017.7' into merge-2017.7-2018.3
298926
298927           · 88a3166589 Merge pull request #46276 from terminalmage/issue44046
298928
298929             · a14d4daf8c  salt.utils.docker.translate_input: operate on deep‐
298930               copy of kwargs
298931
298932           · da60399b8f     Merge      pull      request      #46183      from
298933             oeuftete/fix-docker-container-running-host-config-ulimits
298934
298935             · 5b09644429 Sort lists from Ulimits before comparing
298936
298937             · 0b80f02226 Update old dockerng doc ref
298938
298939           · 509429f08c Merge pull request #46260 from terminalmage/git_pillar
298940
298941             · b1ce2501fd Normalize global git_pillar/winrepo config items
298942
298943           · a97a3e6fb0 Merge pull request #46101 from jfindlay/openrc_ret
298944
298945             · 2eef3c65a6 tests.unit.modules.gentoo_service add retcode arg
298946
298947             · 81ec66fd8b modules.gentoo_service handle stopped retcode
298948
298949           · 1a17593c05   Merge  pull  request  #46254  from  rallytime/enter‐
298950             prise-banner
298951
298952             · f5fae3dedf Update enterprise banner
298953
298954           · 8c50ff32bd  Merge  pull  request  #46250  from  terminalmage/run‐
298955             ner-docs
298956
298957             · 91b4895087 Add documentation to the fileserver runner
298958
298959           · 53067cca43  Merge pull request #46243 from racker-markh/fix-open‐
298960             stack-private-network-issue
298961
298962             · 50c1e140f0 Don't check deny private_ips already in the original
298963               list of private_ips
298964
298965           · 15405c8760 Merge pull request #46239 from terminalmage/issue46109
298966
298967             · 586d8b0dcf  archive.extracted:  don't  check  source  file when
298968               if_missing path exists
298969
298970       · ISSUE #33177: (robnagler)  pillar.stack  should  not  continue  after
298971         errors (refs: #46287)
298972
298973       · PR  #46287:  (bbinet)  Update PillarStack stack.py to latest upstream
298974         version @ 2018-03-02 21:39:52 UTC
298975
298976         · 194b0317ac Merge  pull  request  #46287  from  bbinet/upstream-pil‐
298977           larstack
298978
298979         · b14b6f2c95 Update PillarStack stack.py to latest upstream version
298980
298981       · PR  #46227:  (Ch3LL)  Mock  file_client  call  in  smtp return test @
298982         2018-02-28 22:12:22 UTC
298983
298984         · 7382654c70 Merge pull request #46227 from Ch3LL/smtp_file_client
298985
298986         · 280dc9a2b6 Mock file_client call in smtp return test
298987
298988       · PR #46232: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
298989         2018-02-28 19:16:37 UTC
298990
298991         · 123625213e Merge pull request #46232 from rallytime/merge-2018.3
298992
298993         · 04f24c1794 Lint: fix from a bad merge
298994
298995         · aad61c77bd Update old utils paths to new paths
298996
298997         · 7243baf2c0 Merge branch '2017.7' into '2018.3'
298998
298999           · 633e1208e4 Merge pull request #46221 from terminalmage/salt-jenk‐
299000             ins-854
299001
299002             · 0eb012659c Fix hanging tests in integration suite
299003
299004           · 7917277345  Merge   pull   request   #46214   from   vutny/formu‐
299005             las-readme-formatting
299006
299007             · d702846961 [DOC] Replace note rST block for GitHub
299008
299009           · a2e099b744 Merge pull request #46203 from Ch3LL/7.5_release
299010
299011             · 6ddf3246ce Add 2017.7.5 Release Notes File
299012
299013           · 973b227818 Merge pull request #46201 from rallytime/merge-2017.7
299014
299015             · 9ac2101baa Merge branch '2016.11' into '2017.7'
299016
299017             · a4c5417d23    Merge    pull    request   #46132   from   rally‐
299018               time/2016.11_update_version_doc
299019
299020               · d2196b6df3 Update release versions for the 2016.11 branch
299021
299022           · 89cf2e5061 Merge pull request #46139 from bdrung/os-grains
299023
299024             · 0b445f2a37 tests: Add unit tests for _parse_os_release()
299025
299026             · f6069b77ed Fix osfinger grain on Debian
299027
299028             · 8dde55a761 tests: Add os_grains test cases for Debian
299029
299030             · ff02ab9937 tests: Add Ubuntu 17.10 (artful) os_grains test case
299031
299032             · 77d5356aba Fix incorrect oscodename grain on Ubuntu
299033
299034             · 7e62dc9fd2 tests: Support reading os-release files from disk
299035
299036             · a92ec0db1b Make _parse_os_release() always callable
299037
299038             · eee1fe5b38 tests: Dissolve _run_ubuntu_os_grains_tests
299039
299040             · 1d6ef731fe tests: Deduplicate _run_os_grains_tests()
299041
299042           · c8c71e75ca   Merge    pull    request    #46133    from    rally‐
299043             time/2017.7_update_version_doc
299044
299045             · 0ed338e643 Update release versions for the 2017.7 branch
299046
299047           · 390d592aa6 Merge pull request #46185 from terminalmage/issue46124
299048
299049             · 3b58dd0da0  gitfs:  Fix  detection  of base env when its ref is
299050               also mapped to a different env
299051
299052           · 705caa8cca Merge pull request #46148 from rallytime/merge-2017.7
299053
299054             · 25deebf7a6 Merge branch '2017.7.3' into '2017.7'
299055
299056               · b5b083fd26 Merge pull request #46074 from Ch3LL/update-7.4
299057
299058                 · 8d0eeeb059 Update 2017.7.4 Release Notes with new fixes
299059
299060               · 32f3d00e44 Merge pull request #46066 from  rallytime/pin-tor‐
299061                 nado
299062
299063                 · 6dc1a3b9dc Pin tornado version in requirements file
299064
299065               · 85761ee650   Merge   pull   request   #46036  from  terminal‐
299066                 mage/issue43769
299067
299068                 · e2140d9a84 Mock the ssh.key_is_encrypted utils func
299069
299070                 · 169924b3fe Move ssh.key_is_encrypted to a utils module tem‐
299071                   porarily
299072
299073                 · 54f4d78f7a Only keep ssh.py in the Windows installer
299074
299075                 · 5f04531e1b  Keep ssh state and execution modules in the in‐
299076                   staller
299077
299078                 · f2b69f703d git.latest: Fix regression  with  identity  file
299079                   usage
299080
299081           · 10a47dcbc4      Merge      pull      request      #46137     from
299082             damon-atkins/2017.7_fix_ec2_pillar2
299083
299084             · 99e7f6a7d3 update ec2 pillar arguments with better names
299085
299086           · d74cb14557 Merge pull request #46145 from terminalmage/issue46004
299087
299088             · 467ff841cd pillarenv argument should default to  None  and  not
299089               the value from opts
299090
299091             · 2a185855ea  Better solution for fixing the opts munging in pil‐
299092               lar.show_pillar runner
299093
299094             · e2c4702e0c Update tests to reflect changes  to  the  SaltCache‐
299095               Loader
299096
299097             · f9301fcc34 Document behavior when orchestration runnner invoked
299098               with non-orch states
299099
299100             · 9644579cd0 Instantiate the SaltCacheLoader's fileclient in  the
299101               __init__
299102
299103             · f9a6c86e21 salt.runners.pillar.show_pillar: don't modify master
299104               opts
299105
299106             · e0940a9fc4 Properly detect use of the state.orch alias and  add
299107               orch jid to kwargs
299108
299109       · ISSUE  #42932:  (bobrik)  cmd.run with bg: true doesn't fail properly
299110         (refs: #46172, #45932)
299111
299112       · PR #46172: (The-Loeki) cmdmod: reimplementation of #45932 for  Oxygen
299113         @ 2018-02-28 19:14:26 UTC
299114
299115         · PR #45932: (The-Loeki) Fix cmd run_all bg error (refs: #46172)
299116
299117         · PR #39980: (vutny) [2016.3] Allow to use bg kwarg for cmd.run state
299118           function (refs: #46172, #45932)
299119
299120         · 20d869c228      Merge      pull      request      #46172       from
299121           The-Loeki/fix_cmd_run_all_bg_oxygen
299122
299123         · 3ecf5018d0 Merge branch '2018.3' into fix_cmd_run_all_bg_oxygen
299124
299125         · b5315e817b Merge branch '2018.3' into fix_cmd_run_all_bg_oxygen
299126
299127         · beabf4f06b cmdmod: reimplementation of #45932 for Oxygen
299128
299129       · PR  #46238:  (terminalmage)  Don't  allow salt.utils.files.fopen() to
299130         open stdin/stdout/stderr @ 2018-02-28 19:08:23 UTC
299131
299132         · 687575b582 Merge pull request #46238 from terminalmage/fds-in-fopen
299133
299134         · fe1527a3c4 Don't allow salt.utils.files.fopen() to open  stdin/std‐
299135           out/stderr
299136
299137       · PR  #46219:  (twangboy)  Fix  unit.modules.test_network for Windows @
299138         2018-02-28 15:45:02 UTC
299139
299140         · 3da5dcb313    Merge    pull    request    #46219    from     twang‐
299141           boy/win_fix_inet_pton
299142
299143         · 46f1d2cc09 Use six.text_type instead of six.u
299144
299145       · PR   #46228:  (twangboy)  Fix  unit.modules.test_pip  for  Windows  @
299146         2018-02-28 15:37:49 UTC
299147
299148         · 44343f8063 Merge pull request #46228 from twangboy/win_fix_test_pip
299149
299150         · 415821eee9 Fix encoding issue
299151
299152       · PR #46198: (rallytime) [2018.3] Merge  forward  from  2018.3.0rc1  to
299153         2018.3 @ 2018-02-27 15:17:51 UTC
299154
299155         · adc8950bbe Merge pull request #46198 from rallytime/merge-2018.3
299156
299157         · 1b4dc71930 Lint fix
299158
299159         · 776f2ea5d7 Merge branch '2018.3.0rc1' into '2018.3'
299160
299161       · ISSUE  #45849:  (Epiclemonaid)  XenServer  Provisioning errors out on
299162         this line. removing it succeeds. (refs: #46168)
299163
299164       · PR #46168: (gtmanfred) driver and  provider  should  be  specified  @
299165         2018-02-26 16:17:13 UTC
299166
299167         · 06d2dff3ac Merge pull request #46168 from gtmanfred/2018.3
299168
299169         · ac99bd26db driver and provider should be specified
299170
299171       · PR #46161: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
299172         2018-02-26 15:29:39 UTC
299173
299174         · 605e5eff73 Merge pull request #46161 from rallytime/merge-2018.3
299175
299176         · 69ac94baca Update utils paths
299177
299178         · cffbf52c10 Lint fix: remove extra line
299179
299180         · 79bed6cff1 Merge branch '2017.7' into '2018.3'
299181
299182           · 0398ce0482 Merge pull request #46135 from rallytime/bp-46088
299183
299184             · 57a60f62a3 fix kernel subpackages install bug
299185
299186           · 1fcbbd1e02 Merge pull request #46136 from rallytime/bp-46115
299187
299188             · 0a481d707f update digitalocean salt-cloud driver
299189
299190           · 11e5e8eb86   Merge    pull    request    #45911    from    twang‐
299191             boy/win_fix_lgpo_unicode
299192
299193             · bcde5cc625 Update log statement
299194
299195             · e9fa53d3b7 Change the Invalid Data Message
299196
299197             · c818d4b791 Convert reg values to unicode for debug
299198
299199           · 524a6a72a0 Merge pull request #46123 from gtmanfred/2017.7
299200
299201             · 8d36730ef7 If no pubkey is passed in openmode fail
299202
299203           · e48fa58012  Merge pull request #46131 from vutny/doc-formula-for‐
299204             matting
299205
299206             · d8fb051e44 [DOC] Fix code-blocks for reStructuredText
299207
299208           · 6cea44ee95 Merge pull request #46118 from rallytime/bp-44603
299209
299210             · 2a2c23c66b Fix acme state to correctly return on test
299211
299212           · 16c382b55b Merge pull request #46121 from rallytime/merge-2017.7
299213
299214             · 4c2f504a85 Merge branch '2016.11' into '2017.7'
299215
299216               · e197a0fbc5 Merge pull request #46076 from rallytime/bp-46066
299217
299218                 · b94d73c53e Pin tornado version in requirements file
299219
299220               · c72c1bde5f Merge pull request #46093  from  wedge-jarrad/con‐
299221                 tributing-doc-typo
299222
299223                 · 5a0fe104f7 Fix contributing doc typo
299224
299225               · 3cb83ea87e    Merge   pull   request   #45992   from   bgrid‐
299226                 ley/fix-routes-present-state
299227
299228                 · 679787699c      Add      vpc_peering_connection_id       to
299229                   describe_route_tables route_keys
299230
299231               · 8a60635da0   Merge   pull   request   #46000  from  terminal‐
299232                 mage/issue45910
299233
299234                 · 8cf13325ee salt.states.reg.present: Prevent traceback  when
299235                   reg data is binary
299236
299237               · 1f44e285dc   Merge   pull   request   #46011  from  terminal‐
299238                 mage/fix-solaris-runas
299239
299240                 · 8ee0a3a28b Move Solaris USER workaround up a bit
299241
299242                 · 13cdb52690 cmdmod.py: runas workaround for  platforms  that
299243                   don't set a USER env var
299244
299245               · 30fb8f7be0    Merge   pull   request   #45467   from   twang‐
299246                 boy/win_exclude_hidden
299247
299248                 · ea41215646 Make the regex pattern less greedy
299249
299250                 · 6d223cffa7 Add tip about passing bogus saltenv
299251
299252                 · 1282ae3a93 Skip hidden first
299253
299254                 · 437a457911 Skip hidden dirs in genrepo
299255
299256                 · 87dc554dc3 Add final updates to docs
299257
299258                 · 3646d5c897 Fix some docs formatting, add some warnings
299259
299260                 · 35c81faf5a Log the source_dir when caching the files
299261
299262                 · 91c3da8dfd Improve docs for pkg.refresh_db
299263
299264                 · 4803d92707 Add some documentation
299265
299266                 · 08b82e0875 Fix lint error, use raw
299267
299268                 · 2f712691cf Exclude hidden directories in pkg.refresh_db
299269
299270           · b92346645b   Merge    pull    request    #46107    from    amend‐
299271             lik/yumpkg-assumeyes
299272
299273             · 8d9a432fb2    Add    --assumeyes   to   yum/dnf   commands   in
299274               yumpkg.refresh_db
299275
299276           · 14fe423e0c Merge pull request #46094 from kstreee/fix-memory-leak
299277
299278             · 48080a1bae Fixes memory leak,  saltclients  should  be  cleaned
299279               after used.
299280
299281             · aba00805f4  Adds  set_close_callback function to removes stream
299282               instance after closed from a set streams.
299283
299284           · 320c2037e1 Merge pull request #46097 from vutny/fix-https-link
299285
299286             · 2062fd0e5c [DOC] Put https link to the formulas doc page
299287
299288           · 0eb137fb4e Merge pull request #46103 from bdrung/2017.7
299289
299290             · dd3f936557 Fix skipping  Kubernetes  tests  if  client  is  not
299291               installed
299292
299293           · c3a938e994 Merge pull request #46070 from Ch3LL/fix-doc-dns
299294
299295             · 2a5d855d97 add required arg to dns_check jinja doc example
299296
299297           · 01042e9d77 Merge pull request #46067 from rallytime/bp-45994
299298
299299             · a07bb48726 Correct formatting for lint
299300
299301             · e8678f633d Fix Comment being None not '' and inject quotes into
299302               the TXT ChangeRecords
299303
299304           · 5e0e2a30e2     Merge      pull      request      #45932      from
299305             The-Loeki/fix_cmd_run_all_bg
299306
299307             · f83da27ca5 Merge branch '2017.7' into fix_cmd_run_all_bg
299308
299309             · 771758fbca Merge branch '2017.7' into fix_cmd_run_all_bg
299310
299311             · c54fcf7a2d  cmd:  move  separate  DRY logging blocks into _run,
299312               prevent logging on bg=True, don't use_vt on bg
299313
299314             · ebb1f81a9b cmd run:  when  running  in  bg,  force  ignore_ret‐
299315               code=True
299316
299317           · 45ace39961      Merge      pull      request      #46062     from
299318             vutny/pg-user-state-fix-typo
299319
299320             · a5fbe4e95e Fix typo in postgres_user.present state function
299321
299322           · edcb64de76   Merge    pull    request    #45763    from    twang‐
299323             boy/win_fix_path_rehash
299324
299325             · b9a2bc7b29 Fix hyperlinks
299326
299327             · 29912adc15 Move the test_rehash test to test_win_functions
299328
299329             · adc594c183 Remove duplicate link
299330
299331             · e84628c1eb Add some comments to the code
299332
299333             · d50d5f582f  Add  additional  info  to  docs  for broadcast_set‐
299334               ting_change
299335
299336             · 3a54e09cd9 Rename setting to message
299337
299338             · a3f9e99bc0 Change to a generic function to broadcast change
299339
299340             · 79299361c3 Create refresh_environment salt util
299341
299342             · 967b83940c Fix rehash function
299343
299344           · a46fbc546c Merge pull request #46042 from jfindlay/file_tree_doc
299345
299346             · 0ba4954a4b salt.pillar.file_tree revise module documentation
299347
299348             · 3c6a5bf967 salt.pillar.file_tree provide better debug info
299349
299350             · bb1cdc451e salt.pillar.file_tree no stack trace when nodegroups
299351               undefined
299352
299353           · de86126dd8 Merge pull request #46013 from rallytime/bp-45598
299354
299355             · 2ea3fef543 No lazy logging
299356
299357             · f427b0febc Change formatting style of logging lines per review
299358
299359             · ebb244396b  Patch  around ResourceRecords needing to be present
299360               for AliasTarget entries to work
299361
299362       · PR #46160: (rallytime) Mark 2 tests as flaky  @  2018-02-23  19:10:06
299363         UTC
299364
299365         · 05b771bfd7 Merge pull request #46160 from rallytime/flaky-tests
299366
299367         · 49e49ae51b Mark 2 tests as flaky
299368
299369       · PR   #46006:   (dincamihai)   Remove  obsolete  unicode  handling  in
299370         pkg.info_installed @ 2018-02-22 19:22:36 UTC
299371
299372         · 9b2bc1982c Merge pull request #46006 from dincamihai/oxygen.rc1
299373
299374         · 99079fc442 Remove obsolete unicode handling in pkg.info_installed
299375
299376       · PR #46078: (rallytime) [oxygen] Merge forward from oxygen.rc1 to oxy‐
299377         gen @ 2018-02-20 21:49:04 UTC
299378
299379         · 93dab45307 Merge pull request #46078 from rallytime/merge-oxygen
299380
299381         · 2d0f81fd1b Merge branch 'oxygen.rc1' into 'oxygen'
299382
299383       · ISSUE  #45938:  (edgan)  zookeeper.present state doesn't deal with an
299384         existing zode with no ACL specified (refs: #46043)
299385
299386       · PR #46071:  (rallytime)  Back-port  #46043  to  oxygen  @  2018-02-16
299387         19:56:36 UTC
299388
299389         · PR #46043: (edgan) Allow zookeeper znode creation to not require an
299390           ACL (refs: #46071)
299391
299392         · 8d99c3b8fe Merge pull request #46071 from rallytime/bp-46043
299393
299394         · b82c8bd630 Allow zookeeper znode creation to not require an ACL
299395
299396       · PR #46056: (Ch3LL) Fix mac_assistive module not loading @  2018-02-16
299397         14:57:46 UTC
299398
299399         · 5a31422432 Merge pull request #46056 from Ch3LL/ver_mac
299400
299401         · e44f5133c5 Fix mac_assistive module not loading
299402
299403       · PR #46041: (rallytime) [oxygen] Merge forward from 2017.7 to oxygen @
299404         2018-02-16 14:55:51 UTC
299405
299406         · cdca28f5da Merge pull request #46041 from rallytime/merge-oxygen
299407
299408         · e060a74fd8 Merge branch '2017.7' into 'oxygen'
299409
299410           · 07e5735471 Merge pull request #46016 from rallytime/bp-45826
299411
299412             · 1916e5c4a4 Fix selinux.fcontext_policy_present for Centos 6
299413
299414           · a1f4092811 Merge pull request #46015 from rallytime/bp-45785
299415
299416             · ef6ffb1492 Resolve linting errors
299417
299418             · 8047066c46 Remove unused import
299419
299420             · 8f7c45935a Add tests for salt.modules.selinux.fcontext_get_pol‐
299421               icy
299422
299423             · bafb7b4e6e Ensure parsed fields are stripped
299424
299425             · a830a6e819 m/selinux.fcontext_get_policy allow long filespecs
299426
299427           · 96097c037e Merge pull request #46012 from rallytime/bp-45462
299428
299429             · 9f76836a6c emit port cli version, variants as separate args
299430
299431           · 1279924f5f Merge pull request #45991 from terminalmage/fix-dupli‐
299432             cate-extra-opts
299433
299434             · 916766f651 yumpkg: Fix a couple issues with _get_extra_opts
299435
299436           · 8b9adc258e Merge pull request #46017 from rallytime/merge-2017.7
299437
299438             · a06645ce71 Merge branch '2017.7.3' into '2017.7'
299439
299440             · 6d534c6e7e Merge pull request #46009 from Ch3LL/rn_7.4
299441
299442               · ac0baf4b34 Add 2017.7.4 Release Notes with PRs
299443
299444             · ca76a0b328 Merge pull request #45981 from gtmanfred/2017.7.3
299445
299446               · 0d448457dc apparently local is not set by default
299447
299448               · 2a92f4bc16 use local config for vault when masterless
299449
299450             · 6530649dbc   Merge   pull   request    #45953    from    rally‐
299451               time/bp-45928-2017.7.3
299452
299453               · 85363189d1 Fixing vault when used with pillar over salt-ssh
299454
299455             · fb378cebb0 Merge pull request #45934 from rallytime/bp-45902
299456
299457               · bb83e8b345 Add regression test for issue 45893
299458
299459               · cdda66d759  Remove  duplicated  section  in docstring and fix
299460                 example
299461
299462               · 4b6351cda6 Check the effective saltenv for cached archive
299463
299464             · 0d74151c71 Merge pull request #45935 from rallytime/bp-45742
299465
299466               · 6a0b5f7af3 Removed the chained copy
299467
299468               · ad1150fad4 list.copy() is not compatible with python 2.7
299469
299470           · d20ff89414 Merge pull request #45988 from rallytime/bp-45797
299471
299472             · 953a400d79 follow symlinks
299473
299474           · b18087cee0  Merge  pull  request  #45711   from   bdrung/fix-uni‐
299475             code-tests
299476
299477             · b6181b5ed6 Fix Unicode tests when run with LC_ALL=POSIX
299478
299479           · 5271fb1d40      Merge      pull      request      #45878     from
299480             damon-atkins/2017.7_fix_ec2_pillar
299481
299482             · 0e74025714 Merge branch '2017.7' into 2017.7_fix_ec2_pillar
299483
299484             · b4d0b23891 py3 fix
299485
299486             · 75d9e20d8a Add ignoring 'terminated', 'stopped'  instances,  to
299487               improve changes of a single match
299488
299489             · 0093472a37   added   tag_key_list  and  tag_key_sep  to  create
299490               ec2_tags_list
299491
299492             · afb3968aa7 ec2_pillar could not find instance-id, resolved. add
299493               support to use any tag to compare minion id against.
299494
299495           · cf367dbd04    Merge    pull   request   #45942   from   terminal‐
299496             mage/issue45679-2017.7
299497
299498             · 89cbd72a0d Don't try to  sort  ports  when  translating  docker
299499               input
299500
299501             · 9cd47b39dd Fix incorrect translation of docker port_bindings ->
299502               ports
299503
299504           · dae41de7a8   Merge    pull    request    #45959    from    rally‐
299505             time/state-doc-update
299506
299507             · 6f781cb95d  A  couple of grammar updates for the state compiler
299508               docs
299509
299510           · 007214f7bf  Merge  pull  request  #45908  from   DimensionDataRe‐
299511             search/fix/issue/45884
299512
299513             · 1a75786b5a Fix linter warnings.
299514
299515             · 82ec0b589c Revert to using salt.utils.cloud.is_public_ip.
299516
299517             · 9b6b01873b Fix violations reported by flake8.
299518
299519             · a2bc155c73 Use __utils__['cloud.'] instead of salt.cloud.utils.
299520
299521             · 98907a32cb  Ensure  'auth'  parameter  is  correctly  passed to
299522               dimensiondata driver.
299523
299524             · de26b03e2c Fix copy/paste bug in dimensiondata  provider  inte‐
299525               gration test.
299526
299527             · 6b1b6be427   Add  integration  tests  for  dimensiondata  cloud
299528               provider.
299529
299530             · f6ea9fed7d Ensure that event data provided by the dimensiondata
299531               driver is serialisable.
299532
299533           · efcbfa868c   Merge   pull   request   #45985   from  garethgreen‐
299534             away/2017_7_fixing_mac_tests_again
299535
299536             · 7b8dc14433 Missing format in the call to write.
299537
299538           · bf03abd07c Merge pull request #45958  from  garethgreenaway/back‐
299539             port-fixing_mactests_queue_full
299540
299541             · 25dffaae91 Backporting #45935
299542
299543           · bab365d6c6 Merge pull request #45949 from rallytime/merge-2017.7
299544
299545             · f51687e903 Merge branch '2016.11' into '2017.7'
299546
299547             · 7779fea7ba    Merge    pull    request    #45940   from   dmur‐
299548               phy18/fix_aix_cmdmod
299549
299550               · dd2788419b Fix use of 'su' for AIX to use '-'
299551
299552           · 7fd00ec752  Merge   pull   request   #45928   from   garethgreen‐
299553             away/45915_fixing_vault_pillar_for_salt_ssh
299554
299555             · 259e60e5d4 Fixing vault when used with pillar over salt-ssh
299556
299557           · 9d14ad9ccf Merge pull request #45925 from terminalmage/fix-spell‐
299558             ing
299559
299560             · 7a143fe454 Fix spelling error in docstring
299561
299562       · PR #45972: (mcalmer) move log_file option to  changeable  defaults  @
299563         2018-02-15 18:57:24 UTC
299564
299565         · 057e895faf       Merge      pull      request      #45972      from
299566           mcalmer/allow-salt-ssh-define-log_file
299567
299568         · f89a20bf3e move log_file option to changeable defaults
299569
299570       · PR #46007: (rallytime) [oxygen] Merge forward from oxygen.rc1 to oxy‐
299571         gen @ 2018-02-13 18:50:09 UTC
299572
299573         · d4377d4678 Merge pull request #46007 from rallytime/merge-oxygen
299574
299575         · d6c2d0693a Merge branch 'oxygen.rc1' into 'oxygen'
299576
299577       · PR  #45944:  (mirceaulinic)  Add  NetBox  module autodoc @ 2018-02-13
299578         00:01:48 UTC
299579
299580         · 069f790b3c Merge pull request #45944 from cloudflare/netbox-autodoc
299581
299582         · ed69b987cf Add NetBox module autodoc
299583
299584       · PR #45984: (garethgreenaway) [oxygen] Missing format in the  call  to
299585         write.  @ 2018-02-12 19:06:04 UTC
299586
299587         · 2a6285d313  Merge  pull  request  #45984  from garethgreenaway/fix‐
299588           ing_mac_tests_again
299589
299590         · ae7791d30b Missing format in the call to write.
299591
299592       · PR #45922: (rallytime) [oxygen] Merge forward from 2017.7 to oxygen @
299593         2018-02-09 20:24:26 UTC
299594
299595         · 88f481a3df Merge pull request #45922 from rallytime/merge-oxygen
299596
299597         · 9c49c8d47c Remove extra patch
299598
299599         · b96f4cf8ad Remove duplicate import in cmdmod.py
299600
299601         · 34ecdffa71 Replace old utils paths with new paths
299602
299603         · d80547e0b8 Merge branch '2017.7' into 'oxygen'
299604
299605         · 0cbe93cd69 Merge pull request #45920 from rallytime/merge-2017.7
299606
299607           · e4e4744218 Merge branch '2016.11' into '2017.7'
299608
299609           · 27ff82f996    Merge    pull    request    #45864    from   rally‐
299610             time/release-note-fix
299611
299612             · 104a24f244 Remove extraneous ] in release notes for 2016.11.9
299613
299614           · 5fa010de2b   Merge    pull    request    #45787    from    rally‐
299615             time/2016.11.9_docs
299616
299617             · a38d4d44fa [2016.11] Bump latest and previous versions
299618
299619         · 643a8a5278 Merge pull request #45814 from gtmanfred/2017.7
299620
299621           · d8eec9aa97 fix cookies dict size changing in http.query
299622
299623         · 3a3f87c16d     Merge    pull    request    #45877    from    rally‐
299624           time/new-release-notes
299625
299626           · f937e8ba81 Add release notes file for 2017.7.4 release
299627
299628         · 1c3cc00670 Merge pull request #45904 from rallytime/bp-41017
299629
299630           · 80c56cdcea Fixed typo in pkg state documentation
299631
299632         · 317d35bd15   Merge   pull    request    #45907    from    terminal‐
299633           mage/fix-grains-backport
299634
299635           · 6cf7e50cc4 Fix backport of grains fix
299636
299637         · dade5f0cab Merge pull request #45906 from rallytime/bp-45548
299638
299639           · 1befa7386c Update x509.py
299640
299641         · 82c473a1fe Merge pull request #45902 from terminalmage/issue45893
299642
299643           · 9d200efc26 Add regression test for issue 45893
299644
299645           · 1468f1d0ff Remove duplicated section in docstring and fix example
299646
299647           · 6cc5cd9b8a Check the effective saltenv for cached archive
299648
299649         · fdedde3cfb Merge pull request #45862 from rallytime/bp-45830
299650
299651           · 1024856f9a Wrapping the put_nowait in a try...except and catching
299652             the exception when the multiprocessing queue is full.  This situ‐
299653             ation  is  happening when running the full testing suite on MacOS
299654             where the queue limit is 32767 vs on Linux where the queue  limit
299655             is unlimited.
299656
299657         · 43a45b42c3 Merge pull request #45779 from The-Loeki/patch-3
299658
299659           · 8575ae3d52 Merge branch '2017.7' into patch-3
299660
299661           · 47cf00d88e SSH shell shim: Don't use $() for optimal support
299662
299663         · cca997d0da Merge pull request #45788 from rallytime/2017.7.3_docs
299664
299665           · d5faf6126b [2017.7] Bump latest and previous versions
299666
299667         · 746206cebe Merge pull request #45842 from rallytime/bp-45827
299668
299669           · c631598a87  Fix  traceback  in  disks  grains when /sys/block not
299670             available
299671
299672         · 900aadcd67   Merge   pull   request   #45721   from    garethgreen‐
299673           away/44978_show_duration_when_no_state_run
299674
299675           · 359265869f  Adding  a  couple  tests  to  ensure that duration is
299676             included in state run results even when states do not run.
299677
299678           · 912347abc3 Include the duration when a state does  not  run,  for
299679             example when the onchanges requisite is not met.
299680
299681         · 80a2d009b4 Merge pull request #45517 from kstreee/fix-mkdir
299682
299683           · 24d41f2451  Fixes base dir making logic to ensure not raising the
299684             exception when base directory already exists.
299685
299686         · 7a4b1b2e77  Merge  pull  request  #45835   from   kstreee/fix-miss‐
299687           ing-return-statement
299688
299689           · 68c7f3dcba Adds a missing return statement.
299690
299691         · 0a04f118c2 Merge pull request #45840 from rallytime/bp-45603
299692
299693           · 9653363131 Fix for duplicate entries with pkrepo.managed
299694
299695         · bd2178cd5f       Merge      pull      request      #45716      from
299696           ciiqr/fix_cmd_script_quoting
299697
299698           · 217791079b some code cleanup (lint errors and escape_argument  as
299699             _cmd_quote)
299700
299701           · 1c29bc5a3d fixed quoting of script path in cmd.script
299702
299703         · 272f912c7c       Merge      pull      request      #45719      from
299704           bdrung/fix-python3-sphinx-build
299705
299706           · 179e8fbe73 doc: Do not mock non-existing __qualname__ attribute
299707
299708           · 971e59ebe2 Drop enforcing new-style object for SaltYamlSafeLoader
299709
299710         · fc04336c3b Merge pull request #45764 from mchugh19/2017.7
299711
299712           · 0a7f1a4d75 English better
299713
299714           · 37e067c7b5 support amazon linux 2 for service module
299715
299716       · PR #45861: (rallytime) [oxygen] Merge forward from oxygen.rc1 to oxy‐
299717         gen @ 2018-02-08 13:39:59 UTC
299718
299719         · 048c18ea42 Merge pull request #45861 from rallytime/merge-oxygen
299720
299721         · 6d812ac192 Merge branch 'oxygen.rc1' into 'oxygen'
299722
299723       · PR #45852: (Giandom) fix-missing-highstate-module-import @ 2018-02-05
299724         15:02:39 UTC
299725
299726         · 1bd38fb3b7 Merge pull request #45852 from Giandom/fix-missing-high‐
299727           state-module-import
299728
299729         · dc5a8f9233 fix-missing-highstate-module-import
299730
299731       · PR #45829: (rallytime) [oxygen] Merge forward from 2017.7 to oxygen @
299732         2018-02-02 20:20:32 UTC
299733
299734         · 5f54ce7b5f Merge pull request #45829 from rallytime/merge-oxygen
299735
299736         · 34a17819ca Add opts to salt.utils.jid.gen_jid call in minion.py
299737
299738         · 79d071df9c Merge branch '2017.7' into 'oxygen'
299739
299740         · f234bf52f4    Merge    pull    request    #45756    from     roald‐
299741           nefs/fix-grafana4-documentation
299742
299743           · 92979c0b57 Fix grafana4 states documentation
299744
299745         · 685b683db5 Merge pull request #45801 from rallytime/merge-2017.7
299746
299747           · 26e992e011 Merge branch '2016.11' into '2017.7'
299748
299749           · 746386d04c      Merge      pull      request      #45794     from
299750             vutny/doc-file-state-examples
299751
299752             · ddfeae6a29 [DOC] Fix code-block rST  directive  in  file  state
299753               module
299754
299755           · abc9ece214  Merge pull request #45780 from vutny/doc-pkgrepo-zyp‐
299756             per
299757
299758           · f80c7d8d69 [DOC] Add missing gpgautoimport for pkgrepo.managed
299759
299760         · c7d319f3bc    Merge    pull    request    #45802    from     rally‐
299761           time/merge-2017.7-from-2017.7.3
299762
299763           · eb48513ba0 Merge branch '2017.7.3' into '2017.7'
299764
299765           · 1439da8d76 Merge pull request #45755 from terminalmage/issue45743
299766
299767           · 8af1251c59 salt.crypt: Ensure message is encoded before signing
299768
299769         · 96e9232cc2 Merge pull request #45761 from gtmanfred/2017.7
299770
299771         · 280767ed57 generate a jid for cache_jobs on the minion
299772
299773       · PR  #45819: (Giandom) oxygen-added-highstate-output-to-slack-engine @
299774         2018-02-01 18:38:42 UTC
299775
299776         · 3471796c51   Merge   pull   request   #45819   from    Giandom/oxy‐
299777           gen-added-highstate-output-to-slack-engine
299778
299779         · 1af8899a9d oxygen-added-highstate-output-to-slack-engine
299780
299781   Salt 2018.3.2 Release Notes
299782       Version 2018.3.2 is a bugfix release for 2018.3.0.
299783
299784       The  2018.3.2  release contains only a small number of fixes, which are
299785       detailed below.
299786
299787       This release fixes two critical issues.
299788
299789       The first is Issue #48038, which is a critical bug  that  occurs  in  a
299790       multi-syndic  setup  where the same job is run multiple times on a min‐
299791       ion.
299792
299793       The second issue is #48130. This bug appears in  certain  setups  where
299794       the Master reports a Minion time-out, even though the job is still run‐
299795       ning on the Minion.
299796
299797       Both of these issues have been fixed with this release.
299798
299799   Statistics
299800       · Total Merges: 7
299801
299802       · Total Issue References: 2
299803
299804       · Total PR References: 10
299805
299806       · Contributors: 4 (cro, garethgreenaway, gtmanfred, rallytime)
299807
299808       WARNING:
299809          If you are using Jinja to dump lists or  dictionaries  in  your  SLS
299810          files,  this  will now cause errors in Python 2 since Jinja does not
299811          produce YAML-compatible output when strings in the  data  structures
299812          contain unicode types. The dictionary must be passed through a Jinja
299813          filter to produce YAML-compatible strings.
299814
299815          The below is an example of invalid SLS:
299816
299817              /etc/foo.conf:
299818                file.mangaged:
299819                  - source: salt://foo.conf
299820                  - template: jinja
299821                  - defaults: {{ mydict }}
299822
299823          To make it valid, use either one of Salt's own json or yaml filters:
299824
299825              /etc/foo.conf:
299826                file.mangaged:
299827                  - source: salt://foo.conf
299828                  - template: jinja
299829                  - defaults: {{ mydict | json }}
299830
299831   Changelog for v2018.3.1..v2018.3.2
299832       Generated at: 2018-06-17 19:17:16 UTC
299833
299834       · ISSUE #48130: (rmarchei) Minion timeouts with 2018.3.1 (refs: #48158)
299835
299836       · PR #48158: (gtmanfred)  always  listen  when  gathering  job  info  @
299837         2018-06-17 19:04:03 UTC
299838
299839         · 521e926458 Merge pull request #48158 from gtmanfred/2018.3.2
299840
299841         · cecf564433 always listen when gathering job info
299842
299843       · PR  #48138:  (rallytime)  Update  man pages for 2018.3.2 @ 2018-06-14
299844         21:22:34 UTC
299845
299846         · f154545aff    Merge    pull    request    #48138    from     rally‐
299847           time/man-pages-2018.3.2
299848
299849         · 8c340134f5 Update man pages for 2018.3.2
299850
299851       · PR #48137: (gtmanfred) [2018.3.2] bootstrap kitchen branch tests with
299852         2017.7.6 @ 2018-06-14 21:20:28 UTC
299853
299854         · b49271b76d Merge pull request #48137 from gtmanfred/2018.3.2
299855
299856         · 6128519e8b bootstrap kitchen branch tests with 2017.7.6
299857
299858       · PR #48129: (rallytime) Add release notes for  2018.3.2  @  2018-06-14
299859         15:48:36 UTC
299860
299861         · 21aaf1cbc4     Merge    pull    request    #48129    from    rally‐
299862           time/release-notes-2018.3.2
299863
299864         · 0b13be0111 Add release notes for 2018.3.2
299865
299866       · PR #48100: (rallytime) Back-port  #48014  to  2018.3.2  @  2018-06-14
299867         12:54:52 UTC
299868
299869         · PR #48014: (cro) Find job pause (refs: #48100)
299870
299871         · 36b99ae80a Merge pull request #48100 from rallytime/bp-48014
299872
299873         · 77feccc5c4 Lint: Add blank line
299874
299875         · 159b052962 One more case where returner doesn't respond
299876
299877         · 91b45b4cc4  Catch  two cases when a returner is not able to be con‐
299878           tacted--these would throw a stacktrace.
299879
299880       · PR #48099: (rallytime) Back-port  #47915  to  2018.3.2  @  2018-06-14
299881         12:54:23 UTC
299882
299883         · PR  #47915:  (garethgreenaway)  [2018.3]  state runner pause resume
299884           kill (refs: #48099)
299885
299886         · 40c1bfdec9 Merge pull request #48099 from rallytime/bp-47915
299887
299888         · 3556850058 fixing typo in alias_function call.
299889
299890         · 4b0ff496fa Some fixes to the set_pause and rm_pause function in the
299891           state  runner,  renaming to in line with the functions in the state
299892           module.  Including aliases to previous names for back-ward compati‐
299893           bility.   Including a soft_kill function to kill running orchestra‐
299894           tion states.  A new test to test soft_kill functionality.
299895
299896       · ISSUE #48038: (austinpapp) jobs are not dedup'ing minion side  (refs:
299897         #48075)
299898
299899       · PR  #48097:  (rallytime)  Back-port  #48075  to 2018.3.2 @ 2018-06-14
299900         12:52:44 UTC
299901
299902         · PR #48075: (garethgreenaway) [2017.7] Ensure that the  shared  list
299903           of jids is passed (refs: #48097)
299904
299905         · 074a97dcfa Merge pull request #48097 from rallytime/bp-48075
299906
299907         · e4c719b55f  Ensure that the shared list of jids is passed when cre‐
299908           ating the Minion.  Fixes an issue when minions are pointed at  mul‐
299909           tiple syndics.
299910
299911   Salt 2018.3.3 Release Notes
299912       Version 2018.3.3 is a security and bugfix release for 2018.3.0.
299913
299914   Statistics
299915       · Total Merges: 548
299916
299917       · Total Issue References: 69
299918
299919       · Total PR References: 341
299920
299921       · Contributors:   55   (Ch3LL,   FedericoCeratto,   KaiSforza,   L4rS6,
299922         Lutseslav, The-Loeki, Vaelatern, admd, aesposito91, asenci, astorath,
299923         azelezni, babs, bbczeuz, bbinet, brejoc, cro, daa, dmurphy18, dubb-b,
299924         dwoz,  eliasp,  ezh,  garethgreenaway,  gtmanfred,  isbm,   jeduardo,
299925         kt97679,  kuetrzi,  linoplt,  lomeroe,  lusche,  mateiw,  max-arnold,
299926         maxim-sermin,   meaksh,   mmulqueen,    morganwillcock,    mtorromeo,
299927         nullify005,   paulcollinsiii,   pritambaral,   rallytime,  rares-pop,
299928         rmarchei,   rosscdh,   sizgiyaev,   sjorge,   t0fik,    terminalmage,
299929         travispaul, twangboy, vinian, weswhet, zerthimon)
299930
299931       WARNING:
299932          If  you  are  using  Jinja to dump lists or dictionaries in your SLS
299933          files, this will now cause errors in Python 2 since Jinja  does  not
299934          produce  YAML-compatible  output when strings in the data structures
299935          contain unicode types. The dictionary must be passed through a Jinja
299936          filter to produce YAML-compatible strings.
299937
299938          The below is an example of invalid SLS:
299939
299940              /etc/foo.conf:
299941                file.mangaged:
299942                  - source: salt://foo.conf
299943                  - template: jinja
299944                  - defaults: {{ mydict }}
299945
299946          To make it valid, use either one of Salt's own json or yaml filters.
299947          Another option would be to use Jinja's tojson filter.
299948
299949              /etc/foo.conf:
299950                file.mangaged:
299951                  - source: salt://foo.conf
299952                  - template: jinja
299953                  - defaults: {{ mydict | tojson }}
299954
299955   Security Fix
299956       CVE-2018-15751 Remote command execution and  incorrect  access  control
299957       when using salt-api.
299958
299959       CVE-2018-15750  Directory  traversal vulnerability when using salt-api.
299960       Allows an attacker to determine what  files  exist  on  a  server  when
299961       querying /run or /events.
299962
299963       Credit  and thanks for discovery and responsible disclosure: nullbr4in,
299964       xcuter, koredge, loupos, blackcon, Naver Business Platform
299965
299966   Changes to win_timezone
299967       Improves timezone detection by using the pytz module.
299968
299969       timezone.get_offset and timezone.get_zonecode now work properly.
299970
299971       Adds timezone.list to list supported timezones  in  either  Windows  or
299972       Unix format.
299973
299974   New Jinja Filter
299975       The  tojson  filter (from Jinja 2.9 and later) has been ported to Salt,
299976       and will be used when this filter is not available. This  allows  older
299977       LTS releases such as CentOS 7 and Ubuntu 14.04 to use this filter.
299978
299979       You  can use this filter any time you wish to dump a list or dictionary
299980       into an SLS file, to ensure that the result is able to be loaded by the
299981       YAML renderer.  For example:
299982
299983          foo:
299984            bar.baz:
299985              - some_arg: {{ mydict | tojson }}
299986
299987   MacOSX escape characters with runas
299988       You  are  now  required  to escape quotes when using the runas argument
299989       with the cmd module on macosx.
299990
299991       Example:
299992
299993          cmd.run 'echo '\''h=\"baz\"'\''' runas=macuser
299994
299995   Changelog for v2018.3.2..v2018.3.3
299996       Generated at: 2018-09-21 17:45:27 UTC
299997
299998       · PR #49662: (dwoz) Fix another bad filename reference in  whitelist  @
299999         2018-09-14 22:20:49 UTC
300000
300001         · 9d8cc0b3f4 Merge pull request #49662 from dwoz/2018.3.3
300002
300003         · e109023013 Fix another bad filename reference in whitelist
300004
300005       · PR  #49655:  (dwoz)  Fix  windows  test whitelist errors @ 2018-09-14
300006         20:34:56 UTC
300007
300008         · 6391560d57 Merge pull request #49655 from dwoz/2018.3.3
300009
300010         · 8a4946478e Fix windows test whitelist errors
300011
300012       · PR #49641: (rallytime) Back-port  #49632  to  2018.3.3  @  2018-09-13
300013         16:46:02 UTC
300014
300015         · PR    #49632:    (garethgreenaway)    [2018.3]    Fixing   integra‐
300016           tion.states.test_file.FileTest.test_directory_max_depth      (refs:
300017           #49641)
300018
300019         · 3fb3ffdb37 Merge pull request #49641 from rallytime/bp-49632
300020
300021         · d11a400825  Fixing failing test under python 3.7 causaed by changes
300022           to how os.makedirs sets initial permissions.
300023
300024       · PR  #49633:  (garethgreenaway)  [2018.3.3]  Moving  test_build_white‐
300025         space_split_regex  to  TestBuildWhitespaceRegex @ 2018-09-13 06:57:01
300026         UTC
300027
300028         · 0096cf10b5 Merge  pull  request  #49633  from  garethgreenaway/mov‐
300029           ing_test_into_correct_class
300030
300031         · 370de07617 Lint: Add extra blank line
300032
300033         · 27b93fcc68  Moving  the test_build_whitespace_split_regex test into
300034           the TestBuildWhitespaceRegex class.
300035
300036       · PR #49594: (rallytime) Back-port  #49580  to  2018.3.3  @  2018-09-10
300037         19:59:41 UTC
300038
300039         · PR  #49580:  (garethgreenaway) [2018.3] Fixing tests for Python 3.7
300040           (refs: #49594)
300041
300042         · e3a14e3535 Merge pull request #49594 from rallytime/bp-49580
300043
300044         · 41a2586fc0 Add file coding line at top of file
300045
300046         · 7df3bebf53 Fixing lint.
300047
300048         · 5fee38d1db Fixes various tests that were failing under python 3.7.
300049
300050       · PR #49589: (rallytime) Update old utils paths to use new utils  paths
300051         @ 2018-09-10 16:51:31 UTC
300052
300053         · 39f9c9c952 Merge pull request #49589 from rallytime/utils-paths
300054
300055         · 5de2245c11 Update old utils paths to use new utils paths
300056
300057       · PR  #49550:  (rallytime)  Back-port  #49548  to 2018.3.3 @ 2018-09-07
300058         00:36:05 UTC
300059
300060         · PR #49548: (garethgreenaway) [2018.3] Disabling  State  boto  tests
300061           for Python 3.7+ (refs: #49550)
300062
300063         · 202da7a94f Merge pull request #49550 from rallytime/bp-49548
300064
300065         · 180692ccee  Disable  various  boto  tests when run under python 3.7
300066           because of //github.com/spulec/moto/issues/1706. which was  causing
300067           the  test  suite  to  hang on unit tests.  This PR is disabling the
300068           tests in the test_boto_vpc state tests.
300069
300070       · PR #49542: (twangboy) Update openssl @ 2018-09-06 16:11:34 UTC
300071
300072         · cae2d61568 Merge pull request #49542 from twangboy/fix_osx_build_3
300073
300074         · fe02b2276f Add 1.0.2p shasum file
300075
300076         · 5f06dc2762 Fix issues with osx build scripts on 2018.3.3
300077
300078       · PR #49536: (rallytime) Back-port  #49524  to  2018.3.3  @  2018-09-06
300079         16:00:00 UTC
300080
300081         · PR  #49524: (garethgreenaway) [2018.3] Disable boto tests under 3.7
300082           (refs: #49536)
300083
300084         · d9f09da5d9 Merge pull request #49536 from rallytime/bp-49524
300085
300086         · 9e7203e08a Disable various boto tests when  run  under  python  3.7
300087           because  of //github.com/spulec/moto/issues/1706. which was causing
300088           the test suite to hang on unit tests.
300089
300090       · PR #49535: (Ch3LL) Skip test_virt and pip_state requirements tests on
300091         macosx @ 2018-09-06 15:59:38 UTC
300092
300093         · cb934bf0b6 Merge pull request #49535 from Ch3LL/skip_pip_mac
300094
300095         · 50237e9daf  Skip  test_virt  and  pip_state  requirements  tests on
300096           macosx
300097
300098       · PR #49499: (rallytime) Pin CherryPy version to < 18.0.0  in  require‐
300099         ments files for PY2 @ 2018-09-04 18:52:44 UTC
300100
300101         · 87d3dfe085  Merge  pull  request  #49499  from  rallytime/pin-cher‐
300102           rypy-2018.3.3
300103
300104         · 9e274335a3 Pin CherryPy version to < 18.0.0 in  requirements  files
300105           for PY2
300106
300107       · ISSUE  saltstack/salt-jenkins#1075:  (Ch3LL)  [2018.3.3] arch python3
300108         tests do not finish (refs: #49303, #49451)
300109
300110       · PR #49467: (rallytime) Back-port  #49451  to  2018.3.3  @  2018-08-31
300111         17:38:09 UTC
300112
300113         · PR #49451: (gtmanfred) Handle thread shutdown on system exit (refs:
300114           #49467)
300115
300116         · 39fdacc434 Merge pull request #49467 from rallytime/bp-49451
300117
300118         · b891a0a8d3 add lock for proxy minion process too
300119
300120         · 72519878c0 start thread in try block
300121
300122         · b878f01662 use finally instead of catching baseexception
300123
300124         · de98be6093 use rlock so blocking can be passed in py2
300125
300126         · d346b42332 import Callable from collections.abc for python3.7
300127
300128         · d7a410070a Handle thread shutdown on system exit
300129
300130       · PR #49468: (rallytime) Back-port #49291  and  #49331  to  2018.3.3  @
300131         2018-08-31 17:37:30 UTC
300132
300133         · PR  #49331:  (dwoz)  Use  salt.utils  to  ensure string type (refs:
300134           #49468)
300135
300136         · PR #49291: (dwoz) Add dedent that sets line endings (refs: #49468)
300137
300138         · 37d1455d69    Merge    pull    request    #49468    from     rally‐
300139           time/bp-49291-and-49331
300140
300141         · 944f8e96c8 Use salt.utils to ensure string type
300142
300143         · 6c92ed2021 Fix review nits
300144
300145         · 0e18b157e3 Re-factor dedent to fix warts
300146
300147         · b5034067f8 Use salt.utils.to_* functions
300148
300149         · 6399d035a4 Add dedent that sets line endings
300150
300151       · PR  #49449:  (rallytime)  Mark  status  test  as  flaky  @ 2018-08-30
300152         18:10:44 UTC
300153
300154         · 0cda22e7a9 Merge pull request #49449 from rallytime/flaky-test
300155
300156         · 0f322bb39f Mark status test as flaky
300157
300158       · PR #49444: (rallytime) Back-port  #49299  to  2018.3.3  @  2018-08-30
300159         18:10:21 UTC
300160
300161         · PR  #49299:  (dwoz)  Work around cmd.run unicode issues in test for
300162           now (refs: #49444)
300163
300164         · bcc5f1a7c1 Merge pull request #49444 from rallytime/bp-49299
300165
300166         · b8c5a5bb91 Fix string formatting wart in file state tests
300167
300168         · 19756022be Fix wart in file state test
300169
300170         · ba68388342 Work around cmd.run unicode issues in test for now
300171
300172       · PR #49448: (rallytime) Back-port  #49400  to  2018.3.3  @  2018-08-30
300173         18:04:29 UTC
300174
300175         · PR  #49400:  (rallytime)  Mark  pillar refresh test as flaky (refs:
300176           #49448)
300177
300178         · 38713e2db9 Merge pull request #49448 from rallytime/bp-49400
300179
300180         · b953fe0079 Mark pillar refresh test as flaky
300181
300182       · PR #49446: (rallytime) Back-port  #49356  to  2018.3.3  @  2018-08-30
300183         18:04:01 UTC
300184
300185         · PR  #49356:  (dwoz)  Fix  tests  that  use timed_subprocess for py3
300186           (refs: #49446)
300187
300188         · d6ddcab351 Merge pull request #49446 from rallytime/bp-49356
300189
300190         · 8022b0c3d6 Fix tests that use timed_subprocess for py3
300191
300192       · PR #49445: (rallytime) Back-port  #49192  to  2018.3.3  @  2018-08-30
300193         18:03:44 UTC
300194
300195         · PR  #49192:  (dwoz)  Test  fixes flaky test and unicode environment
300196           key/value (refs: #49445)
300197
300198         · 1a67956c0f Merge pull request #49445 from rallytime/bp-49192
300199
300200         · 20148d4438 Test fixes
300201
300202       · PR #49443: (rallytime) Back-port  #49197  to  2018.3.3  @  2018-08-30
300203         18:03:10 UTC
300204
300205         · PR #49197: (dwoz) File state line ending fixes (refs: #49443)
300206
300207         · 33f59d44de Merge pull request #49443 from rallytime/bp-49197
300208
300209         · 5fe821978e File state line ending fixes
300210
300211       · PR #49442: (rallytime) Back-port #49180 and related fixes to 2018.3.3
300212         @ 2018-08-30 18:02:54 UTC
300213
300214         · PR #49186: (dwoz) Fix typo in #49180 (refs: #49442)
300215
300216         · PR #49180: (dwoz) Cherry-pick test fixes (refs: #49442, #49186)
300217
300218         · PR #49167: (dwoz) Fix remaining file state integration tests  (py3)
300219           (refs: #49173, #49442)
300220
300221         · 60758059c3 Merge pull request #49442 from rallytime/bp-49180
300222
300223         · e155568957 Fix typo
300224
300225         · 608a1ae7ba Account for file renames
300226
300227         · e8e6a46a2b Fix directory unit test
300228
300229         · 2f865c398e Fix is_windows checks
300230
300231         · 6460f7f217 Account for normalized dirs in unit tests
300232
300233         · f4b7101a35 Simplify dict keys lookup
300234
300235         · 942b68bfc8 Fix remaining file state integration tests (py3)
300236
300237       · PR  #49441:  (rallytime)  Back-port  #49240  to 2018.3.3 @ 2018-08-30
300238         18:02:40 UTC
300239
300240         · PR #49240: (dwoz) file state test fixes (refs: #49362, #49441)
300241
300242         · 1f4906346a Merge pull request #49441 from rallytime/bp-49240
300243
300244         · 22ed452479 Work around listdir encoding issues on py2 windows
300245
300246         · f5be275835 file state test fixes
300247
300248       · PR #49440: (rallytime) Back-port  #49258  to  2018.3.3  @  2018-08-30
300249         18:02:25 UTC
300250
300251         · PR #49258: (gtmanfred) flaky tests are flaky (refs: #49440)
300252
300253         · cc27b67a37 Merge pull request #49440 from rallytime/bp-49258
300254
300255         · 0191af1423 flaky tests are flaky yo
300256
300257         · 720b671dda mark orchestration state tests as flaky
300258
300259       · ISSUE #48880: (damntoken) Can't run cmd.run with UTF-8 chars as argu‐
300260         ments / parameters. With custom module. (refs: #49322)
300261
300262       · PR #49368: (rallytime) Back-port  #49322  to  2018.3.3  @  2018-08-28
300263         17:15:15 UTC
300264
300265         · PR #49322: (dwoz) Encode shell commands explicitly. (refs: #49368)
300266
300267         · af80e64569 Merge pull request #49368 from rallytime/bp-49322
300268
300269         · 238853b9ec Encode shell commands explicitly.
300270
300271       · PR  #49363:  (rallytime)  Back-port  #49245  to 2018.3.3 @ 2018-08-28
300272         17:14:18 UTC
300273
300274         · PR #49245: (dwoz) Skip grep unit tests on windows (refs: #49363)
300275
300276         · 0fee3e8786 Merge pull request #49363 from rallytime/bp-49245
300277
300278         · cc606509d0 Fix is_windows call - use the right path
300279
300280         · 5488fbea38 Skip grep unit tests on windows
300281
300282       · PR #49361: (rallytime) Back-port  #49244  to  2018.3.3  @  2018-08-28
300283         17:12:58 UTC
300284
300285         · PR  #49244:  (dwoz)  Test  fixes: unit.fileserver.test_gitfs (refs:
300286           #49361)
300287
300288         · dbcd2fc726 Merge pull request #49361 from rallytime/bp-49244
300289
300290         · e0909d3a25 Simplify by using to_unicode helper
300291
300292         · 4723c69092 Older GitPython version do not have a close method
300293
300294         · d5fecba716 Fix up fileserver.test_gitfs tests on windows
300295
300296         · 4b688f6347 Remove unicode filenames on windows python 2
300297
300298       · PR #49362: (rallytime) Back-port  #49240  to  2018.3.3  @  2018-08-28
300299         17:00:25 UTC
300300
300301         · PR #49240: (dwoz) file state test fixes (refs: #49362, #49441)
300302
300303         · b4a1e1d365 Merge pull request #49362 from rallytime/bp-49240
300304
300305         · 16ca5b9694 Work around listdir encoding issues on py2 windows
300306
300307         · 7650208dbc file state test fixes
300308
300309       · PR  #49365:  (rallytime)  Back-port  #49270  to 2018.3.3 @ 2018-08-28
300310         16:56:23 UTC
300311
300312         · PR #49270: (dwoz) Add async  helper  to  test_sock_path_len  (refs:
300313           #49365)
300314
300315         · 9ca9a775ff Merge pull request #49365 from rallytime/bp-49270
300316
300317         · 1b3f37a8b8 Add async helper to test_sock_path_len
300318
300319       · PR  #49364:  (rallytime)  Back-port  #49243  to 2018.3.3 @ 2018-08-28
300320         16:55:55 UTC
300321
300322         · PR #49243: (dwoz) Revert newline translation change (refs: #49364)
300323
300324         · bbff57da16 Merge pull request #49364 from rallytime/bp-49243
300325
300326         · 5db77c6229 Revert newline translation change
300327
300328       · PR #49347: (Ch3LL) [2018.3.3] Backport #49345 @  2018-08-28  01:54:00
300329         UTC
300330
300331         · PR  #49345:  (gtmanfred)  upgrade  including  linux  kernels (refs:
300332           #49347)
300333
300334         · 74b78835b3 Merge pull request #49347 from Ch3LL/bp_49345_2018.3.3
300335
300336         · 7bf5ba83c8 upgrade including linux kernels
300337
300338       · PR #49323: (Ch3LL) Skip nonexistent  branch  test  for  git  versions
300339         <1.7.10 @ 2018-08-25 19:52:48 UTC
300340
300341         · be6691d91b Merge pull request #49323 from Ch3LL/skip_git
300342
300343         · ee3d32f74e Skip nonexistent branch for git versions <1.7.10
300344
300345       · ISSUE #32737: (Lothiraldan) No support for compound matcher in exter‐
300346         nal auth configuration (refs: #49236)
300347
300348       · PR #49313: (rallytime) Back-port  #49236  to  2018.3.3  @  2018-08-24
300349         20:59:16 UTC
300350
300351         · PR  #49236:  (terminalmage) Allow compound matching in eauth config
300352           expressions (refs: #49313)
300353
300354         · 64d7b0e4c6 Merge pull request #49313 from rallytime/bp-49236
300355
300356         · 1a5ef996e3 Add 'minion_data_cache: True' to mocked opts for minions
300357           unit tests
300358
300359         · 549f5d5a86 Allow compound matching in eauth config expressions
300360
300361       · ISSUE  saltstack/salt-jenkins#1075:  (Ch3LL)  [2018.3.3] arch python3
300362         tests do not finish (refs: #49303, #49451)
300363
300364       · PR #49311: (rallytime) Back-port  #49303  to  2018.3.3  @  2018-08-24
300365         17:48:23 UTC
300366
300367         · PR #49303: (gtmanfred) use os._exit instead of sys.exit when daemo‐
300368           nizing (refs: #49311)
300369
300370         · 7a89a4c8aa Merge pull request #49311 from rallytime/bp-49303
300371
300372         · 3fe1387751 use os._exit instead of sys.exit when daemonizing
300373
300374       · PR #49294: (Ch3LL) Move run_function call from __init__  to  setup  @
300375         2018-08-24 12:41:35 UTC
300376
300377         · 7bb356f11e Merge pull request #49294 from Ch3LL/fed_28_tests
300378
300379         · 0a5d44a3db Move run_function call from __init__ to setup
300380
300381       · PR  #49302:  (twangboy)  Fix installer 2018.3.3 @ 2018-08-24 12:41:14
300382         UTC
300383
300384         · a607f9332f Merge pull  request  #49302  from  twangboy/fix_install‐
300385           er_2018.3.3
300386
300387         · 68fd37575e Fix erroneous NSSM reference
300388
300389         · 103f2c289e Remove delete vcredist line
300390
300391         · 007a16638e Bring installer updates from 2017.7.8 to 2018.3.3
300392
300393       · PR   #49241:   (terminalmage)   Don't  silently  catch  SystemExit  @
300394         2018-08-22 12:57:58 UTC
300395
300396         · bc0b4ac513 Merge pull request #49241  from  terminalmage/salt-jenk‐
300397           ins-1078
300398
300399         · 08d144f2c7 Don't silently catch SystemExit
300400
300401         · c0fdb818f7 Don't use a bare except!
300402
300403       · PR  #49239:  (Ch3LL)  Use  yaml's  safe_dump  in  windows ec2 tests @
300404         2018-08-22 08:48:13 UTC
300405
300406         · 0fb9ccf60a Merge pull request #49239 from Ch3LL/win_yaml_test
300407
300408         · f5b42dbb24 import salt.utils.yaml
300409
300410         · 67290eaff7 Use yaml's safe_dump in windows ec2 tests
300411
300412       · PR #49182:  (terminalmage)  Fix  hanging  syndic  test  @  2018-08-18
300413         12:10:32 UTC
300414
300415         · 134f125b96  Merge  pull request #49182 from terminalmage/salt-jenk‐
300416           ins-1078
300417
300418         · a2d2cd317b Fix hanging syndic test
300419
300420       · PR  #49172:  (Ch3LL)  [2018.3.3]  cherry  pick  #49118  @  2018-08-17
300421         20:54:05 UTC
300422
300423         · PR  #49118:  (dwoz) Multiple fixes for integration.states.test_file
300424           (refs: #49172)
300425
300426         · PR #49088: (dwoz) Multiple file state test fixes (refs: #49118)
300427
300428         · PR #49087: (dwoz) Filter out scheme's that  are  not  valid  (refs:
300429           #49118)
300430
300431         · b3a247bfbb Merge pull request #49172 from Ch3LL/bp-49118
300432
300433         · ce5e17bdbd update is_windows salt.utils to correct path
300434
300435         · 3fef112409 Multiple fixes for integration.states.test_file
300436
300437       · PR  #49173:  (Ch3LL)  [2018.3.3]  cherry  pick  #49167  @  2018-08-17
300438         20:30:27 UTC
300439
300440         · PR #49167: (dwoz) Fix remaining file state integration tests  (py3)
300441           (refs: #49173, #49442)
300442
300443         · 85ffc8db87 Merge pull request #49173 from Ch3LL/bp-49167
300444
300445         · a1a298a13c Simplify dict keys lookup
300446
300447         · 3d26affa10 Fix remaining file state integration tests (py3)
300448
300449       · PR  #49171:  (Ch3LL)  [2018.3.3]  cherry  pick  #49103  @  2018-08-17
300450         20:23:32 UTC
300451
300452         · PR #49103: (dwoz) Install the launcher so we can execute  py  files
300453           (refs: #49171)
300454
300455         · ee54ea5f73 Merge pull request #49171 from Ch3LL/bp-49103
300456
300457         · 05a2b91fb2 Install the launcher so we can execute py files
300458
300459       · PR  #49132:  (Ch3LL)  [2018.3.3]  backport  PR  #49062  @  2018-08-17
300460         14:51:50 UTC
300461
300462         · PR #49062: (weswhet) fix memoize on available macOS services (refs:
300463           #49132)
300464
300465         · 58034c9dc3 Merge pull request #49132 from Ch3LL/bp-49062
300466
300467         · 990fdb6a52  decorator  link fix, updating context names, as well as
300468           updating macutils tests for latest changes
300469
300470         · 3ab5d282be fixing an issue with memoize on macOS services,  switch‐
300471           ing to useing __context__ instead
300472
300473       · PR  #49142: (Ch3LL) Remove -Z script_arg for cloud tests @ 2018-08-16
300474         16:12:59 UTC
300475
300476         · 01f8f83cf0 Merge pull request #49142 from Ch3LL/rm_z_arg
300477
300478         · a1ef6a88a6 Remove -Z script_arg for cloud tests
300479
300480       · PR #49137: (Ch3LL)  [2018.3.3]  Update  bootstrap  script  to  latest
300481         release (2018.08.15) @ 2018-08-15 19:49:22 UTC
300482
300483         · a03828884b Merge pull request #49137 from Ch3LL/bootstrap_2018.3.3
300484
300485         · eb9a612096  [2018.3.3]  Update  bootstrap  script to latest release
300486           (2018.08.15)
300487
300488       · PR #49110: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
300489         2018-08-14 17:11:25 UTC
300490
300491         · b412bff534 Merge pull request #49110 from rallytime/merge-2018.3
300492
300493         · 4649f60209 Update old utils paths with new paths
300494
300495         · 49c2a784bb Merge branch '2017.7' into '2018.3'
300496
300497           · d46e23f4c2 Merge pull request #49109 from rallytime/merge-2017.7
300498
300499             · 3c5527f300 Merge branch '2017.7.8' into '2017.7'
300500
300501             · 01cf2c71ff Merge pull request #49051 from rallytime/bp-49046
300502
300503               · fc0817cb35 The osfullname grain differs when using Python2 vs
300504                 Python3, swapping this out for the "OS" grain which  is  con‐
300505                 sistent.
300506
300507           · 8954dd269f Merge pull request #49090 from dwoz/file_line_fix
300508
300509             · 0dca634e3c Search for (but do not include) CRLF line ending
300510
300511           · b99edc3dce Merge pull request #49088 from dwoz/file_hash_diffs
300512
300513             · 054afb8197 Multiple file state test fixes
300514
300515           · 274977b6c4      Merge      pull      request      #49087     from
300516             dwoz/url_file_test_fixes
300517
300518             · 632b65f975 Filter out scheme's that are not valid
300519
300520           · db5fb3232a Merge pull request #49086 from rallytime/new-doc-img
300521
300522             · 90954203cb Update the DOCBANNER image for saltconf
300523
300524           · af6ec1dce2 Merge pull request #49045 from twangboy/fix_43164
300525
300526             · 589456d08f Fix lint errors
300527
300528             · e79243566d Add rallytime's suggestions
300529
300530             · d1ae6b3d6d Fix docs for the registry module and state
300531
300532           · a840fea1a1  Merge  pull  request  #49083   from   rallytime/boot‐
300533             strap-2017.7
300534
300535             · 358e14cdac [2017.7] Update bootstrap script to latest release
300536
300537           · 9db6cd5654 Merge pull request #49059 from twangboy/fix_37984
300538
300539             · 7ed45b5b00 Remove import
300540
300541             · 7fb1edb469 Fix docs to clarify uptime output on Windows
300542
300543           · f9db72f00c    Merge    pull    request    #49061    from    salt‐
300544             stack/revert-48982-new_logo_2017.7
300545
300546             · 98a8da728b Revert "New logo 2017.7 (WIP)"
300547
300548           · bbcd1869ec   Merge    pull    request    #48982    from    newwe‐
300549             bash/new_logo_2017.7
300550
300551             · 5c1c311f77 Update Salt Conf ad
300552
300553             · 72dc63c426        Merge        branch        '2017.7'        of
300554               https://github.com/saltstack/salt into new_logo_2017.7
300555
300556             · 9f4e78a7b9 Revert "Update saltconf ad"
300557
300558             · 3ab8cdb882 Update saltconf ad
300559
300560       · ISSUE #48665: (dgengtek) salt-api auth ldap generates a  valid  token
300561         when using bindpw and an invalid request (refs: #48901)
300562
300563       · PR   #48901:   (garethgreenaway)   [2018.3]  fix  to  auth/ldap.py  @
300564         2018-08-14 16:10:19 UTC
300565
300566         · e78fc0e0eb   Merge   pull   request   #48901   from    garethgreen‐
300567           away/48665_auth_ldap_valid_token_failed_auth
300568
300569         · d4e4f2e803 Fixing a typo in a comment.
300570
300571         · 2eb167ea42  Fixing  issue when a valid token is generated even when
300572           invalid user credentials are passed.  This change verifies that the
300573           binddn  credentials  are  valid,  then verifies that the username &
300574           password (if not None) are also valid.
300575
300576       · ISSUE #49081: (frogunder) Fluorine - I see error/traceback when  run‐
300577         ning minion in debug mode  (refs: #49085)
300578
300579       · PR  #49099:  (rallytime)  Back-port  #49085  to  2018.3  @ 2018-08-14
300580         12:42:51 UTC
300581
300582         · PR #49085: (gtmanfred) fix async call  to  process  manager  (refs:
300583           #49099)
300584
300585         · 484c1e0123 Merge pull request #49099 from rallytime/bp-49085
300586
300587         · 024d9cb843 fix async call to process manager
300588
300589       · ISSUE #49018: (Ch3LL) add MasterPillarUtil tests (refs: #49034)
300590
300591       · PR  #49071:  (rallytime)  Back-port  #49034  to  2018.3  @ 2018-08-13
300592         20:15:31 UTC
300593
300594         · PR #49034: (garethgreenaway) [fluorine] Adding tests for MasterPil‐
300595           larUtil (refs: #49071)
300596
300597         · bc033da677 Merge pull request #49071 from rallytime/bp-49034
300598
300599         · 8108a4d31a  Adding some tests for the grains, pillar and mine func‐
300600           tions in the cache runner.  These will also ensure that  the  rele‐
300601           vant  functions in salt.utils.master.MasterPillarUtil are function‐
300602           ing properly.
300603
300604       · PR #49077:  (rallytime)  Back-port  #49075  to  2018.3  @  2018-08-13
300605         20:00:00 UTC
300606
300607         · PR #49075: (gtmanfred) fix last async issue (refs: #49077)
300608
300609         · 90c2f026b3 Merge pull request #49077 from rallytime/bp-49075
300610
300611         · 5e07b8306b fix last async issue
300612
300613       · PR  #49096:  (rallytime)  Update  the  DOCBANNER image for saltconf @
300614         2018-08-13 19:59:39 UTC
300615
300616         · 6942ef1102    Merge    pull    request    #49096    from     rally‐
300617           time/new-doc-img-2018.3
300618
300619         · 75080705ce Update the DOCBANNER image for saltconf
300620
300621       · PR #49055: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
300622         2018-08-13 19:20:11 UTC
300623
300624         · 0e1ed7b923 Merge pull request #49055 from rallytime/merge-2018.3
300625
300626         · 83a15cb623 Add optimization_order config to mocked opts
300627
300628         · ea6883ee55 Update old utils paths to new utils paths
300629
300630         · 201031fa8a Merge branch '2017.7' into '2018.3'
300631
300632           · 0d2a495378 Merge pull request #49050 from rallytime/merge-2017.7
300633
300634             · ed6fb8b739 Merge branch '2017.7.8' into '2017.7'
300635
300636             · 189e28691f Merge pull request #49044 from Ch3LL/vultr_test
300637
300638               · 0dedfae4d1 increase timeout on vultr cloud integration test
300639
300640             · c606a32cf2   Merge   pull   request    #49042    from    rally‐
300641               time/flaky-jinja-test
300642
300643               · a43d9b4ba6 Mark a jinja template test as flaky
300644
300645             · 6415b6f73b Merge pull request #49041 from Ch3LL/ec2_fix
300646
300647               · cf7f2459b8 [2017.7.8] backport PR #48212
300648
300649             · 1db036406b    Merge    pull    request   #49030   from   rally‐
300650               time/update-client-tests
300651
300652               · f08ee6c6ae Update netapi client tests
300653
300654           · 70be9ac9b1  Merge   pull   request   #49046   from   garethgreen‐
300655             away/1022_fixing_test_failing_py3_Debian_test
300656
300657             · fa2339bb91  The  osfullname grain differs when using Python2 vs
300658               Python3, swapping this out for the "OS" grain which is  consis‐
300659               tent.
300660
300661           · 69c9b0afb1    Merge    pull    request    #49036    from   cspei‐
300662             del/doc-fix-netyang
300663
300664             · f7ac085eb5 minor doc fix in netyang.py
300665
300666           · c5f3fd6b2b Merge pull request #48997 from AVeenstra/patch-1
300667
300668             · 0e535f2c8c Unpacking dict with the six iterator
300669
300670             · 5e82685b89 Python 3 related fix in highstate_return.py
300671
300672           · c06a3cf531 Merge pull request #49021 from rallytime/merge-2017.7
300673
300674             · ca82b3d57a Merge branch '2017.7.8' into merge-2017.7
300675
300676               · f73ba21bc7   Merge   pull   request   #49024   from    rally‐
300677                 time/fix-deb-test
300678
300679                 · a9c16d9137 Fix test error in test_compiler jinja check
300680
300681             · c6f8429e41 Merge branch '2017.7.8' into '2017.7'
300682
300683             · 6b6d68c615    Merge    pull    request   #49020   from   rally‐
300684               time/fix-grains-test
300685
300686               · f72a3ac6be Make grains integration test more robust
300687
300688             · 92d6c25c7f   Merge   pull   request    #49002    from    rally‐
300689               time/skip-jinja-deep-error-test
300690
300691               · 23b66ef8bb Skip test_jinja_deep_error on Debian 8
300692
300693             · 41d9f11eb3    Merge    pull    request   #48999   from   rally‐
300694               time/fix-boto-test
300695
300696               · d0136b1be5 Update expected return value in boto test
300697
300698           · 2ddba6391a Merge pull request #49010 from Ch3LL/univention
300699
300700             · c09bce9afe Add univention OS to debian os_family mapping
300701
300702           · 41bd36842e   Merge   pull   request   #48636    from    terminal‐
300703             mage/loader-fixes
300704
300705             · 0441cd56ef Add optimization_order to mocking
300706
300707             · 2256fad320 Process pycache files after .py files
300708
300709             · a78663a301 Lint
300710
300711             · 0728b5f8b6  Add  note  about Python 3.5+ only support for opti‐
300712               mization_order
300713
300714             · 764969ce08 Add a test to  confirm  that  .py  files  are  still
300715               loaded correctly
300716
300717             · 0f60beb6b6 Fix bad copypasta
300718
300719             · fbcd142ea2 Add configuration docs for optimization_order config
300720               option
300721
300722             · 8af2d580f3 Only compile the  suffix_order/map  once  per  Lazy‐
300723               Loader instance
300724
300725             · 4b95e5f313 Don't put __pycache__ dir in the file list
300726
300727             · e7c10196da Quiet the byte compiling for PY2
300728
300729             · 9338370477 Add unit tests for loader optimization levels
300730
300731             · c3622933c1 PY3: Support different optimization levels
300732
300733             · 6fc8da5bab  Add  optimization_order  config option with default
300734               value
300735
300736             · dfe423a1e0 Remove commented-out log message
300737
300738       · PR #49084: (rallytime) [2018.3] Update  bootstrap  script  to  latest
300739         release @ 2018-08-13 18:14:42 UTC
300740
300741         · db7ec46875   Merge   pull   request   #49084  from  rallytime/boot‐
300742           strap-2018.3
300743
300744         · 28dc8ce954 [2017.7] Update bootstrap script to latest release
300745
300746       · PR #49052: (isbm) Python 3.7 support (backport 2018.3)  @  2018-08-13
300747         13:06:51 UTC
300748
300749         · b0d5acbe0d  Merge  pull request #49052 from isbm/isbm-python37-sup‐
300750           port-2018.3
300751
300752         · 4386a9ca1f Merge branch '2018.3' into isbm-python37-support-2018.3
300753
300754         · bc85a5fa98 Fix configuration setting
300755
300756         · 47078a300f Remove async keyword, moving it into the kwargs.
300757
300758         · 31dccc4fdf fix unicode literals
300759
300760         · 990936992c Keep runner API unchanged
300761
300762         · 46bafcafef Fix nag-message
300763
300764         · 5c887ac2ae Support original API
300765
300766         · 2c22e794d4 Use kwargs instead of directly named parameters
300767
300768         · 7d095491d9 Update docstring
300769
300770         · 9807e8dbb7 Add 'async' backward compatibility
300771
300772         · e8608aa9be Revert api call: it is about  "functionname_async"  suf‐
300773           fix.
300774
300775         · 0543578336 Deprecate 'async' parameter in Mandrill API
300776
300777         · 1107de0dec Lintfix: PEP8 requires two empty lines
300778
300779         · 2a18e335af Fix function signatures in Cassandra module
300780
300781         · 603f94e2a3 Cleanup docstrings at module level
300782
300783         · b9718d3a09 Fix log error/info/warning and exception messages
300784
300785         · 6e77aff69a Fix local opts from CLI
300786
300787         · 493e48ddb5  Remove  internal variables/properties with the reserved
300788           words
300789
300790         · be07f64bc4 Change internal function signatures  to  avoid  reserved
300791           word
300792
300793         · 7d095e0b26 Rename async function to asynchronous
300794
300795         · 35eaebb8a4 Fix docstrings
300796
300797         · 7a597f19b5 Fix comments
300798
300799         · 69920366ae Fix CLI config
300800
300801         · 173f3d7aa8 Fix docstring typo
300802
300803         · b7da571624 Fix imports
300804
300805         · 7ec3954bef Rename module to full wording
300806
300807       · ISSUE  #48557: (whytewolf) file.line in python3 on windows 2012 r2 is
300808         adding extra CR line endings.  (refs: #49026)
300809
300810       · PR #49026: (dwoz) Fix file.line line endings  @  2018-08-13  13:05:43
300811         UTC
300812
300813         · 338ecb70ef Merge pull request #49026 from dwoz/issue_48557
300814
300815         · a4d22fda2f  Merge  remote-tracking branch 'origin/issue_48557' into
300816           issue_48557
300817
300818           · 702e76cfc9 Merge branch '2018.3' into issue_48557
300819
300820         · 6cf93e8fc4 Skip newline in binary mode
300821
300822         · 2cf80c1595 Fix linter errors
300823
300824         · baf291b4c8 Fix file.line line endings
300825
300826       · PR #49038: (gtmanfred) disable enable_ssh_minions to  see  if  it  is
300827         slowing down 2018.3 tests @ 2018-08-10 18:07:59 UTC
300828
300829         · 602fed7806 Merge pull request #49038 from gtmanfred/slowtest
300830
300831         · 6bc44c91c4 remove localhost from tests
300832
300833         · 7b168a5aac  disable enable_ssh_minions to see if it is slowing down
300834           2018.3 tests
300835
300836       · ISSUE #48996: (jils2013) file.get_diff not work  on  version:2018.3.2
300837         (refs: #49033)
300838
300839       · PR  #49033:  (terminalmage)  Fix  file.get_diff  for  remote  files @
300840         2018-08-09 21:06:53 UTC
300841
300842         · 4eeb75f028 Merge pull request #49033 from terminalmage/issue48996
300843
300844         · 163aea71c8 Lint
300845
300846         · d6e5038022 Fix file.get_diff for remote files
300847
300848       · ISSUE #48856: (travispaul) Salt fails to start  on  NetBSD  8  (refs:
300849         #48926)
300850
300851       · PR #48926: (travispaul) Handle ifconfig output differently for NetBSD
300852         >= 8.0 @ 2018-08-09 20:07:44 UTC
300853
300854         · b24c96a292  Merge  pull  request  #48926  from  travispaul/fix-net‐
300855           bsd-8-new-ifconfig
300856
300857         · d59b6d8269 Add unit test for NetBSD 8 ifconfig changes
300858
300859         · 80f8a667d1 Handle ifconfig output differently for NetBSD >= 8.0
300860
300861       · PR #48803: (dmurphy18) Support for execution modules and states mount
300862         on AIX @ 2018-08-09 17:51:55 UTC
300863
300864         · 7d6b9ed0a5 Merge pull request #48803 from dmurphy18/aix_filesystems
300865
300866         · 92818f816b Fixes for testing
300867
300868         · 77dd7a1743 Adjust unit tests
300869
300870         · eaed033cde Updated for review comments and  adjusted  locking  when
300871           writing files
300872
300873         · 5bf9e6085b Update due to review comments
300874
300875         · 9fb5641dc7 Mount unit tests for modules and states for AIX
300876
300877         · b28f427432 Save off work after laptop issue
300878
300879         · e5c2741fe7 module and states mount support for AIX
300880
300881         · b701e16ad0 Further updates to support for mount on AIX
300882
300883         · 210076276f Initial support for handling /etc/filesystems on AIX
300884
300885       · ISSUE  #48496:  (icy)  Salt-key  unable  to  delete  the  certificate
300886         Test=True (refs: #48929)
300887
300888       · PR #48929: (terminalmage) 2 salt-key fixes @ 2018-08-09 17:50:07 UTC
300889
300890         · 2a38905a8a Merge pull request #48929 from terminalmage/issue48496
300891
300892         · 7ac10f9eac 2 salt-key fixes
300893
300894       · ISSUE #47481: (whytewolf) Oxygen:  task.add_trigger  with  start_date
300895         stating strptime needs a string not int. (refs: #49022)
300896
300897       · PR  #49022:  (dwoz)  Document time format idiosyncrasies @ 2018-08-09
300898         17:47:12 UTC
300899
300900         · bb9d23bfa1 Merge pull request #49022 from dwoz/47481_docs
300901
300902         · 313a3d93d6 Document time format idiosyncrasies
300903
300904       · PR #48932: (twangboy) Fix pkg.install when pkg  already  installed  @
300905         2018-08-09 17:45:51 UTC
300906
300907         · 9b6a9ff4f1 Merge pull request #48932 from twangboy/fix_win_repo
300908
300909         · 075ea29d29 remove .lower(), fix debug messages
300910
300911         · d7c2f476ac Remove current: version for latest as well
300912
300913         · 522ac26459 Fix typo in code comment
300914
300915         · 47b2898a85 return empty dict on no changes
300916
300917         · 6532706d2f Make the tests run on Linux
300918
300919         · cfe55a391a Add tests for pkg.install output
300920
300921         · 8ec058f498 Clarify code comment
300922
300923         · 8af2cfd54a Fix issues where current is not returned
300924
300925       · PR #49011: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
300926         2018-08-09 17:34:18 UTC
300927
300928         · d7b7a92ef6 Merge pull request #49011 from rallytime/merge-2018.3
300929
300930         · 02670969d0 Apply fix to ssh init file that was there before merge
300931
300932         · 7e1f7915e4 Revert "Allow for not being prompted to supply  a  pass‐
300933           word to deploy keys to a minion with salt-ssh"
300934
300935         · 00416d54d1 Revert "add key-deploy test"
300936
300937         · c26fa0d6c4 Mark orchestration test as expensive
300938
300939         · fceb6d8d6f Update old utils paths to use new paths
300940
300941         · 3e6445a9d6 Merge branch '2017.7' into '2018.3'
300942
300943           · b49eeca6e9    Merge    pull    request    #49003    from   rally‐
300944             time/boto-test-2017.7
300945
300946             · 1a23bb233f Update expected return value in boto test
300947
300948           · 51eed1fdfb Merge pull request #48988 from rallytime/merge-2017.7
300949
300950             · df8699e2e7 Merge branch '2017.7.8' into '2017.7'
300951
300952             · a1e54634dc Merge pull request #48976 from rallytime/tornado
300953
300954               · 0bd838ab6c Skip unreliable tornado tests
300955
300956             · 22713be9c1 Merge pull request #48979 from rallytime/bp-48959
300957
300958             · 03aa0e49b0 Merge pull request #48970 from Ch3LL/back_48962
300959
300960               · 3ce1b8a3c9 Update the elif block to only be true for versions
300961                 below Debian 9.
300962
300963             · e6cea5e3c7 Merge pull request #48968 from rallytime/man-pages
300964
300965               · 64fe3be41a Update man pages for 2017.7.8 release
300966
300967           · 10fd4661ff Merge pull request #48978 from gtmanfred/2017.7
300968
300969             · 6108363f82 clean up gemfile
300970
300971           · 5b2423e527 Merge pull request #48959 from rallytime/flaky-tests
300972
300973             · aaf986d728  Mark  one  grains test as flaky & convert to pytest
300974               notation
300975
300976             · e7e5abcf48 Mark 2 matcher tests as flaky
300977
300978           · 79994ecab4  Merge   pull   request   #48962   from   garethgreen‐
300979             away/1022_test_service_disable_debian_part_deux
300980
300981             · 9e71551b36  Update  the elif block to only be true for versions
300982               below Debian 9.
300983
300984           · 1a1bda00cb     Merge      pull      request      #48960      from
300985             dwoz/block_replace_tests
300986
300987             · 94ac2b4fc7 Multiple block replace test fixes
300988
300989           · 93b862f350   Merge   pull   request  #48957  from  whytewolf/bea‐
300990             cons_log_doc_change
300991
300992             · a77fd16869 Update salt.beacons.log to reflect that re module is
300993               used for matching.
300994
300995           · 0245cffb07  Merge  pull  request  #48955  from  terminalmage/ser‐
300996             vice-systemd
300997
300998             · 23f87bd536  Don't  load  service.py  if  minion  is  running  a
300999               non-sysvinit init system
301000
301001           · 848d583438  Merge  pull  request  #48950  from KaiSforza/kitchen‐
301002             fix-2017.7
301003
301004             · 5242cb143a Added a quote to kitchen Jenkinsfiles
301005
301006           · 928d688d65 Merge pull request #48943 from rallytime/flaky-tests
301007
301008             · 668da57ab9 Mark some shell  and  runner  integration  tests  as
301009               flaky
301010
301011           · cd42510d3a Merge pull request #48940 from rallytime/bp-48852
301012
301013             · fa4ef92e79 Record all the artifacts from the build
301014
301015           · 43649a68be   Merge   pull   request   #48935   from  garethgreen‐
301016             away/1045_test_pkg_015_installed_held_centos
301017
301018             · 0bb10107b6       Merge       branch        '2017.7'        into
301019               1045_test_pkg_015_installed_held_centos
301020
301021             · 24d5e6a22f  Fixing  the  test_pkg_015_installed_held test to be
301022               able to successfully run on CentOS
301023
301024           · 2421e2a570 Merge pull request #47100 from gtmanfred/ssh
301025
301026             · 5b443af7ae add key-deploy test
301027
301028             · a131c9beeb Allow for not being prompted to supply a password to
301029               deploy keys to a minion with salt-ssh
301030
301031           · d541bd6446      Merge      pull      request      #48891     from
301032             damon-atkins/2017.7_win_pkg.list_pkgs_not_found
301033
301034             · a4af1dbfb1 Fix win_pkg issues  introduced  Jan  2018.  If  Dis‐
301035               playVersion  does  not  exist  it should return version as "Not
301036               Found"
301037
301038           · 5f6a56f5dc Merge pull request #48896 from rallytime/bp-48730
301039
301040             · 57aa204c9d Merge branch '2017.7' into bp-48730
301041
301042             · 4995922584 Forgot variable in signature
301043
301044             · 0503bc18b6 Fix batch install using pkgng
301045
301046           · 0c64bba865  Merge   pull   request   #48933   from   garethgreen‐
301047             away/1022_debian_8_failing_service-test
301048
301049             · 280d1d2ad2  Fixing  failing test, integration.modules.test_ser‐
301050               vice.ServiceModuleTest.test_service_disable_doesnot_exist,   on
301051               Debian 8 and higher.
301052
301053           · 0c3d2c6a09    Merge    pull    request    #48922    from   rally‐
301054             time/cache-doc-error
301055
301056             · 8ca89df7e8 Update backticks on job_cache docs
301057
301058           · 8d1fc4f8e5 Merge pull request #48866 from Ch3LL/cmd_win_tests
301059
301060             · 905da13653 Merge branch '2017.7' into cmd_win_tests
301061
301062           · 57d58e7541   Merge    pull    request    #48920    from    rally‐
301063             time/bp-48904-2017.7
301064
301065             · a55f92954a No rehashing in parallel
301066
301067             · 3be11e06fe Add docs for new escape kwarg
301068
301069             · 391bb8a411 use a specific path for just the cmd._run call
301070
301071             · 62c66ba489 make sure we lower the check on shell
301072
301073             · 9312a993a5 Add cmd module integration tests for windows and fix
301074               space in path issue
301075
301076       · ISSUE #48123: (c-wicklein) file.directory with recurse fails when  it
301077         encounters a broken symbolic link (refs: #48985)
301078
301079       · PR  #48985: (garethgreenaway)  [2018.3] Fix to salt/modules/file.py @
301080         2018-08-09 15:03:09 UTC
301081
301082         · 3325b7d4c0   Merge   pull   request   #48985   from    garethgreen‐
301083           away/48123_file_directory_recurse_fails_broken_symlink
301084
301085         · 10c4eca206    Merge    branch   '2018.3'   into   48123_file_direc‐
301086           tory_recurse_fails_broken_symlink
301087
301088         · a404cc030f Fixing the issue when  using  the  file.directory  state
301089           with recurse if the directory contains a broken symbolic link. This
301090           fix adds an additional conditional, is_link, before running  lsattr
301091           since  lsattr does not work on symlinks and causes issues when that
301092           symlink is broken.
301093
301094       · ISSUE #47695: (AmbicaY) Continuous error in  the  proxy  minion  logs
301095         (refs: #49019)
301096
301097       · PR  #49019:  (garethgreenaway)  [2018.3] Fix to scheduler when global
301098         enabled key is present @ 2018-08-09 13:06:26 UTC
301099
301100         · d353c02a8c   Merge   pull   request   #49019   from    garethgreen‐
301101           away/47695_fixing_scheduler_bug_when_enabled_is_present
301102
301103         · aff1b8f6d4 Lint.
301104
301105         · 8935c08141 Fixing a bug that occurs if the "enabled" key is present
301106           in the scheduler items dictionary.  Adding a test to ensure  sched‐
301107           uler runs as expected when that key is present.
301108
301109       · PR #49023: (The-Loeki) Salt SSH appends IdentityFile=agent-forwarding
301110         @ 2018-08-09 12:55:59 UTC
301111
301112         · a56bc7ffb9 Merge pull request #49023 from The-Loeki/patch-1
301113
301114         · 8b53571c70 Salt SSH appends IdentityFile=agent-forwarding
301115
301116       · PR #48981: (Ch3LL) Add warning to mac runas docs about escaping char‐
301117         acters @ 2018-08-08 19:43:43 UTC
301118
301119         · 4590494b50 Merge pull request #48981 from Ch3LL/mac_runas_quote
301120
301121         · 8269b55b84 remove unnecessary spaces in cmdmod.py docs
301122
301123         · 757daf7d7e add runas macosx warning in 2018.3.3 release notes
301124
301125         · 4e9e985b14 Add warning to mac runas docs about escaping characters
301126
301127       · PR  #49004:  (rallytime)  Port #48999 to 2018.3 @ 2018-08-08 15:32:46
301128         UTC
301129
301130         · PR #48999: (rallytime) Update expected return value  in  boto  test
301131           (refs: #49004, #49003)
301132
301133         · b87bf905c2     Merge    pull    request    #49004    from    rally‐
301134           time/boto-test-2018.3
301135
301136         · 9f0b9a1073 Update expected return value in boto test
301137
301138       · PR #48987: (twangboy) Fix issue  with  win_iis.create_cert_binding  @
301139         2018-08-08 13:29:06 UTC
301140
301141         · 630f61e625 Merge pull request #48987 from twangboy/fix_48786
301142
301143         · 86d0836f90 Fix issue with iterating over None
301144
301145       · ISSUE #48777: (jonasgit) file.recurse fails on file contents encoding
301146         not utf-8 (refs: #48934)
301147
301148       · PR #48934: (terminalmage) Properly handle latin-1  encoding  in  file
301149         diffs @ 2018-08-07 21:02:24 UTC
301150
301151         · ab1a713bc3 Merge pull request #48934 from terminalmage/issue48777
301152
301153         · 52c64e4d51 Fix to_unicode test
301154
301155         · e2d19f40b6 Only try latin-1 from get_diff instead of by default
301156
301157         · d39fa889f3 Add stringutils.get_diff to mocks
301158
301159         · 5b191c9120 Fix incorrect use of __salt__ when __utils__ is needed
301160
301161         · 53ba10ad5f Skip pylint false-positives
301162
301163         · f14f4dae22 Add unit test for latin-1 fallback, multi-encoding
301164
301165         · 906644a80f PY3 scoping fix
301166
301167         · 726dd4331f Add integration test for latin-1 file diffs
301168
301169         · 2dd1f31d23 Use BASE_FILES instead of redundant STATE_DIR
301170
301171         · 612ffb5fe8 Use new get_diff helper in file module
301172
301173         · c632265802 Make to_unicode/to_str/to_bytes helpers attempt latin-1
301174
301175         · 2a0cb49b01 Add get_diff to salt.utils.stringutils
301176
301177       · ISSUE  #47766:  (zerthimon)  salt-cloud:  openstack  driver: crash on
301178         instance creation (refs: #48956)
301179
301180       · PR #48956: (gtmanfred) if booted from volume, use string from image @
301181         2018-08-07 16:39:45 UTC
301182
301183         · bad995462c Merge pull request #48956 from gtmanfred/openstack
301184
301185         · 4cb1636c4b if booted from volume, use string from image
301186
301187       · ISSUE   #48306:  (davidscholberg)  Documentation  update  for  custom
301188         returners used for master job cache (refs: #48319)
301189
301190       · PR #48319: (gtmanfred)  don't  break  older  returners  right  now  @
301191         2018-08-06 13:19:43 UTC
301192
301193         · 71f587edd7 Merge pull request #48319 from gtmanfred/jid
301194
301195         · 084e7f0ef4 Merge branch '2018.3' into jid
301196
301197         · 60661b4cd0 document minions required on save_load
301198
301199         · a8c243071d document passing in minions
301200
301201         · d49381c0b6 don't break save_load backwards compat
301202
301203         · cfcacf953a don't break older returners right now
301204
301205       · PR  #48941:  (rallytime)  Back-port  #48912  to  2018.3  @ 2018-08-06
301206         13:09:38 UTC
301207
301208         · PR #48912: (maxim-sermin) make jboss7.py compatible  with  2018.3.0
301209           and later (refs: #48941)
301210
301211         · 1623e53ef4 Merge pull request #48941 from rallytime/bp-48912
301212
301213         · 3f55b2f89e make jboss7.py compatible with 2018.3.0 and later
301214
301215       · PR  #48897:  (rallytime)  Back-port  #48863  to  2018.3  @ 2018-08-05
301216         19:15:51 UTC
301217
301218         · PR #48863: (admd) Decode file contents for python2 as  well  (refs:
301219           #48897)
301220
301221         · 070af9d925 Merge pull request #48897 from rallytime/bp-48863
301222
301223         · 0ee1940232 Merge branch '2018.3' into bp-48863
301224
301225         · f40b966d99 decode file contents for python2 as well
301226
301227       · PR  #48928:  (Ch3LL)  fix  test_runas  integration  test for macosx @
301228         2018-08-05 14:24:13 UTC
301229
301230         · abd7f1312d Merge pull request #48928 from Ch3LL/mac_runas
301231
301232         · 3d6455dbcd remove unecessary comment in setup
301233
301234         · 8e30db0217 move destructivetest to testname
301235
301236         · 708dec8740 add destructivetest to setup and teardown for runas test
301237
301238         · c0730ff968 fix test_runas integration test for macosx
301239
301240       · PR #48899: (Ch3LL) remove base_top_file  file  in  teardown  and  add
301241         sleep @ 2018-08-05 14:23:42 UTC
301242
301243         · dbd300ff70 Merge pull request #48899 from Ch3LL/unit_state
301244
301245         · 0272cadff8 Merge branch '2018.3' into unit_state
301246
301247         · 5896c7fc36 remove base_top_file file in teardown and add sleep
301248
301249       · PR #48898: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
301250         2018-08-05 14:23:19 UTC
301251
301252         · ffa1fcc682 Merge pull request #48898 from rallytime/merge-2018.3
301253
301254         · 1f093cef4a Merge branch '2018.3' into merge-2018.3
301255
301256         · b3a5aa49d7 Merge branch '2017.7' into '2018.3'
301257
301258           · e79ccb35b1 Merge pull  request  #48876  from  Vaelatern/make-net‐
301259             work-learning-optional
301260
301261             · a4905b0e5d Make IP_LEARNING optional
301262
301263           · f8bfab4f9f Merge pull request #48890 from Ch3LL/cmd_test
301264
301265             · acda4ed9ab add sleep in test_cmd integration test
301266
301267           · 52722f6ded    Merge    pull    request    #48885    from   rally‐
301268             time/flaky-tests-shadow
301269
301270             · da871a2d57 Mark shadow module integration test as flaky
301271
301272           · bf0895656e   Merge    pull    request    #48884    from    rally‐
301273             time/flaky-tests-matchers
301274
301275             · 38d9eae537 Merge branch '2017.7' into flaky-tests-matchers
301276
301277           · a567666938    Merge    pull   request   #48868   from   terminal‐
301278             mage/fix-loader-race
301279
301280             · 5f1169b9a2 Fix race when SIGTERM/SIGINT  received  while  lazy‐
301281               loading a module
301282
301283           · 0ca0b6f2f2 Merge pull request #48883 from terminalmage/salt-jenk‐
301284             ins-1023
301285
301286             · c61f75cb50 Fix failing git worktree tests
301287
301288                  · 3660dff13c Separate compound matcher tests into individual
301289                    tests
301290
301291           · a84f5155a1 Merge pull request #48869 from Ch3LL/mac_shell_tests
301292
301293             · 3734b1ec89 Catch socket.error exception in testprogram
301294
301295           · 7f56b8bf44  Merge  pull  request  #48867 from rallytime/skip-tor‐
301296             nado-test
301297
301298             · 7320aa9104 Skip unreliable tornado test.
301299
301300       · PR #48893: (Ch3LL) handle when  ca_certs  is  None  in  utils.http  @
301301         2018-08-03 20:30:48 UTC
301302
301303         · 848e26ed0b Merge pull request #48893 from Ch3LL/http_tests
301304
301305         · 16d251f7ff Merge branch '2018.3' into http_tests
301306
301307         · 5674dddb2a handle when ca_certs is None in utils.http
301308
301309       · PR  #48903:  (Vaelatern)  Wrap ElementTree.tostring to make strs, not
301310         bytes @ 2018-08-03 19:12:34 UTC
301311
301312         · PR #48877: (Vaelatern) Wrap ElementTree.tostring to make strs,  not
301313           bytes (refs: #48903)
301314
301315         · f1adf56017     Merge     pull     request    #48903    from    Vae‐
301316           latern/improve-salt-cloud-python3-virt
301317
301318         · c45447fe0b Wrap ElementTree.tostring to make strs, not bytes
301319
301320       · PR #48900: (Ch3LL) skip getpwnam check on mac in unit  test_cmdmod  @
301321         2018-08-03 16:38:51 UTC
301322
301323         · d23471262d Merge pull request #48900 from Ch3LL/cmd_unit
301324
301325         · b82dd708be skip getpwnam check on mac in unit test_cmdmod
301326
301327       · PR  #48921:  (rallytime)  Back-port  #48904  to  2018.3  @ 2018-08-03
301328         15:17:15 UTC
301329
301330         · PR #48904: (KaiSforza) No  rehashing  in  parallel  (refs:  #48921,
301331           #48920)
301332
301333         · d622a49b58 Merge pull request #48921 from rallytime/bp-48904
301334
301335         · b504625f61 No rehashing in parallel
301336
301337       · PR  #48877:  (Vaelatern)  Wrap ElementTree.tostring to make strs, not
301338         bytes (refs: #48903) @ 2018-08-02 19:28:56 UTC
301339
301340         · 1e150923aa    Merge    pull    request     #48877     from     Vae‐
301341           latern/improve-salt-cloud-libvirt-python3-libvirt
301342
301343         · fb7885315c Wrap ElementTree.tostring to make strs, not bytes
301344
301345       · PR #48824: (rallytime) Bump deprecation in win_servermanager state to
301346         Neon @ 2018-08-02 18:01:34 UTC
301347
301348         · 1fb7d9431b Merge pull request #48824 from  rallytime/win_serverman‐
301349           ager_deprecations
301350
301351         · 6ef5412528 Bump deprecation in win_servermanager state to Neon
301352
301353       · ISSUE  #37512: (ChristianBeer) What's the precedence if multiple mas‐
301354         ter configurations are specified? (refs: #48888)
301355
301356       · PR #48888: (terminalmage) Explictly document the configuration  over‐
301357         ride priority @ 2018-08-02 16:57:18 UTC
301358
301359         · ec8e07e8ce Merge pull request #48888 from terminalmage/issue37512
301360
301361         · 7dce7cde14 Explictly document the configuration override priority
301362
301363       · PR  #48871: (dwoz) Remove unicode key pairs from environ after test @
301364         2018-08-01 22:33:41 UTC
301365
301366         · d4bb3a0963 Merge pull request #48871 from dwoz/test_cleanup
301367
301368         · f2e15e7f1d Do not re-define tearDown
301369
301370         · 4f8a191a69 Remove unicode key pairs from environ after test
301371
301372       · PR #48843: (isbm) Prevent u'something' to appear  in  help  info.   @
301373         2018-08-01 20:38:58 UTC
301374
301375         · bec79e83a3       Merge      pull      request      #48843      from
301376           isbm/isbm-log-level-names-fix-2
301377
301378         · a63686180d Merge branch '2018.3' into isbm-log-level-names-fix-2
301379
301380         · 783c96ac72 Prevent u'something' to appear in help info.
301381
301382       · PR #48855: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
301383         2018-08-01 17:44:59 UTC
301384
301385         · a8376b537a Merge pull request #48855 from rallytime/merge-2018.3
301386
301387         · 44998c208e Lint: Fix undefined logger variable
301388
301389         · 92c9317a25 Update old utils paths to use new paths
301390
301391         · 15bfba7143 Merge branch '2017.7' into '2018.3'
301392
301393           · 05f2d65de3 Merge pull request #48853 from rallytime/bp-48850
301394
301395             · 3c33ee554a Skip tests in integration.shell.test_master
301396
301397           · 8a1285239a   Merge   pull   request   #48426   from  garethgreen‐
301398             away/46689_fixing_pkg_held_when_package_is_installed
301399
301400             · 9b0f5dd212 Fixing identation, removing some unnecessary  condi‐
301401               tionals.
301402
301403             · 727964ab55 One last cleanup.
301404
301405             · 11cb86e6eb  General  cleanup  in  pkg state, reducing duplicate
301406               code.  Fixing the requires_salt_modules decorator, sys.doc  was
301407               returning  too  much information for the event to handle.  This
301408               change specifically calls sys.doc with the module name.
301409
301410             · 16fb6ae635 Make sure  pkg.hold  and  pkg.unhold  are  available
301411               before running the test.
301412
301413             · 998651102d  Fixing  a  situation  when  a  package  is  already
301414               installed via salt or manually and a state attempts to set that
301415               package to be held.  Previously the holding/unholding logic was
301416               only being run against  packages  that  were  being  installed.
301417               This change moves the holding logic outside and runs it against
301418               all desired packages.  Adding a new test to test holding logic.
301419
301420           · c8e69431ff   Merge   pull   request   #47734   from    OrlandoAr‐
301421             capix/Issue47689-pip-state-performance
301422
301423             · 662bd1f780 Merge branch '2017.7' into Issue47689-pip-state-per‐
301424               formance
301425
301426             · 66936b4f41 Changed string comparison in pip test to  match  new
301427               confirmation string - ref PR #47734.
301428
301429             · bb5939d6ef Merge branch '2017.7' into Issue47689-pip-state-per‐
301430               formance
301431
301432             · d6a49ae41c Merge branch '2017.7' into Issue47689-pip-state-per‐
301433               formance
301434
301435             · d4083fc9d1  Merge  branch 'Issue47689-pip-state-performance' of
301436               github.com:OrlandoArcapix/salt  into  Issue47689-pip-state-per‐
301437               formance
301438
301439               · 779b5fa785       Merge       branch       '2017.7'       into
301440                 Issue47689-pip-state-performance
301441
301442             · f3653349ab Removed whitespaces at end of added comments lines
301443
301444             · db11f2ff4b Merge branch '2017.7' into Issue47689-pip-state-per‐
301445               formance
301446
301447             · eac0178de2  Ref:  #47689  - document additional kwarg passed to
301448               pip._check_if_installed function
301449
301450             · 0d19803106 Merge branch '2017.7' into Issue47689-pip-state-per‐
301451               formance
301452
301453             · d3678bf2f3 #47689 fix lint errors
301454
301455             · 4fec8f6bcc #47698 improve run-speed of pip package state checks
301456               by only loading the current package  list  once  when  checking
301457               multiple packages
301458
301459           · 83a5b3cc47    Merge    pull    request    #48844    from   AVeen‐
301460             stra/fix-python3-incompatibility
301461
301462             · f238779a62 Merge branch '2017.7' into fix-python3-incompatibil‐
301463               ity
301464
301465             · 6b1805afc6   Fixed  Python  3  incompatibility  in  methods  in
301466               nilrt_ip and debian_ip.
301467
301468           · 136ff6735a  Merge  pull  request  #48662  from   slaws/fix-reten‐
301469             tion-schedule-48637
301470
301471             · 3c8f5f5b3d pylint fix
301472
301473             · 5539eff39e   Excluding   relative   dirs  in  state.file.reten‐
301474               tion_schedule
301475
301476           · 1fc04f281b Merge pull request #48840 from gtmanfred/docs
301477
301478             · 8d2d268c4a fix links in pkg doc.
301479
301480           · 0a19f845ea Merge pull request #48834 from gtmanfred/slsutil
301481
301482             · f9441d2bef read output of stringio if it is readable
301483
301484           · 2e00939a6e Merge pull request #48788 from Ch3LL/timezone_windows
301485
301486             · de95a6a215 add unused import to timezone test file
301487
301488             · 22e424859e add unused import to import
301489
301490             · 0840fc3117 disable pylint import error
301491
301492             · f09d1a2c7e  Add  timzeon  windows  integration  tests  and  fix
301493               get_zone
301494
301495       · ISSUE  #48659:  (dstoliker)  file.grep with glob (*) in path produces
301496         file not found error (refs: #48830)
301497
301498       · PR #48830: (garethgreenaway) [2018.3] Fixes to file.grep @ 2018-07-31
301499         21:30:04 UTC
301500
301501         · e23ba01cd2    Merge   pull   request   #48830   from   garethgreen‐
301502           away/48659_file_grep_glob_fix
301503
301504         · 0791b0a03c FileGrepTestCase tests back to 2018.3
301505
301506         · 2e01c55e7e Fixing a bug  that  prevents  specifying  wildcards  for
301507           filenames.
301508
301509       · PR  #48814:  (isbm)  dmidecode  race  conditions  check  @ 2018-07-31
301510         20:48:29 UTC
301511
301512         · 9fda70b3d0      Merge      pull      request      #48814       from
301513           isbm/isbm-2018.3-smbios-bugfix
301514
301515         · 5f1141dc05 Merge branch '2018.3' into isbm-2018.3-smbios-bugfix
301516
301517         · b00ee5feef Update clean clause
301518
301519         · b1b2e9c222  Remove  multiple  returns and combine logic to just one
301520           clause
301521
301522         · fd77f760ee Rephrase explanatory comment
301523
301524         · 1031e06443 Remove unnecessary code
301525
301526         · c379b7e4ed Get rid of global variable
301527
301528       · PR #48804: (Ch3LL) Use brew path from which cmd in mac_brew module  @
301529         2018-07-31 20:24:33 UTC
301530
301531         · 3d16a63ff2 Merge pull request #48804 from Ch3LL/mac_brew
301532
301533         · e818c752b3 Merge branch '2018.3' into mac_brew
301534
301535         · 41e3d17f29 Use brew path from which cmd in mac_brew module
301536
301537       · PR  #48836:  (dwoz) Fix unicode directory listing on py2 @ 2018-07-31
301538         20:22:53 UTC
301539
301540         · 950c1014aa Merge pull request #48836 from dwoz/unicode_names_py2
301541
301542         · 47e158b9f0 Optomize if statement
301543
301544         · 9b462394b2 Fix unicode directory listing on py2
301545
301546       · PR #48847: (terminalmage) Update file.blockreplace  docs  to  reflect
301547         changed functionality @ 2018-07-31 18:11:30 UTC
301548
301549         · baf8c5784a Merge pull request #48847 from terminalmage/issue48695
301550
301551         · e2bdf7fb92  Update  file.blockreplace docs to reflect changed func‐
301552           tionality
301553
301554       · PR #48587: (twangboy) Fix lgpo issue on Py3 @ 2018-07-31 18:05:58 UTC
301555
301556         · 644a1f4ff8 Merge pull request #48587 from twangboy/fix_lgpo
301557
301558         · a42621c817 Write file in normal mode
301559
301560         · bfcbdeca3b Fix lgpo issue on Py3
301561
301562       · PR #48796: (Ch3LL)  Remove  fake  su  used  in  integration  tests  @
301563         2018-07-31 17:08:54 UTC
301564
301565         · 2bacc23481 Merge pull request #48796 from Ch3LL/remove_su
301566
301567         · d3b7f2cb18 Remove fake su used in integration tests
301568
301569       · ISSUE  #38310:  (ghost)  Unable  to checkout external pillar git repo
301570         using its git tag (refs: #48689)
301571
301572       · PR  #48689:  (linoplt)  Fix  ext_pillar  remote  checkout  using  tag
301573         (pygit2) @ 2018-07-31 16:15:58 UTC
301574
301575         · 00d06bda76     Merge     pull    request    #48689    from    lino‐
301576           plt/fix_38310_pygit2_checkout_ext_pillar_remote_using_tag
301577
301578         · eb4361dcc2  Merge  branch  '2018.3'  into   fix_38310_pygit2_check‐
301579           out_ext_pillar_remote_using_tag
301580
301581         · c20977e3bc   Merge  branch  '2018.3'  into  fix_38310_pygit2_check‐
301582           out_ext_pillar_remote_using_tag
301583
301584         · b0157c215b Fix ext_pillar remote checkout using tag (pygit2)
301585
301586       · PR #48838: (sizgiyaev) Fixed: added additional return  code  200  for
301587         succeeded vault api request @ 2018-07-31 16:14:22 UTC
301588
301589         · 5e14e36195  Merge pull request #48838 from sizgiyaev/fix-vault-pol‐
301590           icy-state
301591
301592         · 02d09c6281 Fixed: added additional return code  200  for  succeeded
301593           api request
301594
301595       · PR  #48714:  (dwoz)  Always  transfer  bytes  from fileserver roots @
301596         2018-07-30 22:37:13 UTC
301597
301598         · 69f81214d1 Merge pull request #48714 from dwoz/state_echo_fix
301599
301600         · ce3ed43dab Always use unix line endings
301601
301602         · d5e60090bc Merge pull request #2 from terminalmage/state_echo_fix
301603
301604           · 52fc1c955d Simplify file contents in roots fileserver test
301605
301606           · b6f73e8e57 Remove trailing whitespace on what should be  a  blank
301607             line
301608
301609         · 95329acb1e Fileserver transfers bytes
301610
301611         · aa34a80997 Always trasfer bytes from fileserver roots
301612
301613       · PR  #48822: (Ch3LL) Fix salt-ssh state.sls_id TypeError key must be a
301614         string @ 2018-07-30 20:29:29 UTC
301615
301616         · 16ca4ec2eb Merge pull request #48822 from Ch3LL/ssh_2018_id
301617
301618         · 01f6a15da0 Fix salt-ssh state.sls_id TypeError key must be a string
301619
301620       · ISSUE  #47999:  (arthurlogilab)  Carbon  returner  failing  when  run
301621         through scheduler on log.trace (refs: #48757)
301622
301623       · PR  #48791:  (rallytime)  Back-port  #48757  to  2018.3  @ 2018-07-27
301624         21:30:44 UTC
301625
301626         · PR #48757: (kuetrzi) Update carbon_return.py (refs: #48791)
301627
301628         · 488f6716d4 Merge pull request #48791 from rallytime/bp-48757
301629
301630         · f440ebe91f Update carbon_return.py
301631
301632       · PR #48799: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
301633         2018-07-27 21:30:13 UTC
301634
301635         · fae29f4257 Merge pull request #48799 from rallytime/merge-2018.3
301636
301637         · 487458ad4b Update old utils paths to use new utils paths
301638
301639         · 436510796f Merge branch '2017.7' into '2018.3'
301640
301641           · 8e61f3dce0 Merge pull request #48742 from frogunder/45014
301642
301643             · f08058b043         Merge        branch        '45014'        of
301644               https://github.com/frogunder/salt into 45014
301645
301646               · 757fde70c6 Merge branch '2017.7' into 45014
301647
301648             · 33c20c1ec0 fix tests
301649
301650             · a7a914060d add windows integration tests for states.file
301651
301652           · d74f47b340 Merge pull request #48795 from rallytime/fix-48417
301653
301654             · 5123b17ffd Update linting docs to contain .testing.pylintrc use
301655
301656           · bbea9ae936 Merge pull request #48789 from rallytime/bp-48783
301657
301658             · 682a05bebe Threshold was wrong
301659
301660             · d4ca0e3a97 test: except for OSError only
301661
301662             · 4547231909 Only run lint checks against changed files
301663
301664           · 41464d4b39  Merge  pull  request  #48731  from  zer0def/virt-run‐
301665             ner-init-args
301666
301667             · a1fa081ad0  Documentation  to  missing  parameters in virt.init
301668               runner.
301669
301670             · 365ebdf539  Fixed  enable_vnc  runner  arg  being  passed  into
301671               seed_cmd module arg in virt.init.
301672
301673           · 169afea16a Merge pull request #48749 from Ch3LL/logo_docs
301674
301675             · 73b1fc29f0 Update Saltstack Logo banner on docs.saltstack.com
301676
301677       · ISSUE   #48020:   (calvinhp)   mine.get   not  returning  data  in  a
301678         state.orchestrate sls  (refs: #48765)
301679
301680       · PR #48765: (FedericoCeratto) [2018.3] Fix mine.get not returning data
301681         @ 2018-07-27 18:01:06 UTC
301682
301683         · bd67d2a805    Merge   pull   request   #48765   from   FedericoCer‐
301684           atto/fix_mine.get_not_returning_data
301685
301686         · 7183a6e0e8 Workaround for #48020
301687
301688       · PR #48747: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
301689         2018-07-26 18:14:34 UTC
301690
301691         · 6978ce5d1d Merge pull request #48747 from rallytime/merge-2018.3
301692
301693         · 4122da40b5 Merge branch '2017.7' into '2018.3'
301694
301695           · 781c6a6c36   Merge   pull  request  #48743  from  rallytime/salt‐
301696             conf-ad-2017.7
301697
301698             · 6df8fd8652 Update DOCBANNER with new SaltConf18 image
301699
301700           · ce4e22224e Merge pull request #48720 from Ch3LL/mac_file_path
301701
301702             · 01d25fae19  Fix  test_managed_source_hash_indifferent_case   on
301703               macosx to correct tmp path
301704
301705           · 4b9f037d43 Merge pull request #48719 from Ch3LL/service_mac_state
301706
301707             · f44a2fc349 Enable service if disabled before running state ser‐
301708               vice tests
301709
301710           · b2431eab10 Merge pull request #48715 from rallytime/flaky-tests
301711
301712             · 7332cce567 [2017.7] Mark some tornado tests as flaky
301713
301714           · 801eae3b8d Merge pull request #48672 from frogunder/45012
301715
301716             · 0747f2e58a add service enabled test
301717
301718       · ISSUE #48676: (djneades) salt-ssh should not target wrong minion from
301719         roster file as a result of reverse-DNS lookups (refs: #48771)
301720
301721       · PR #48771: (gtmanfred) only do reverse dns lookup on ips for salt-ssh
301722         @ 2018-07-26 15:41:40 UTC
301723
301724         · 5ea43817ab Merge pull request #48771 from gtmanfred/2018.3
301725
301726         · 535fb8f8e7 only do reverse dns lookup on ips for salt-ssh
301727
301728       · PR #48752: (garethgreenaway) [2018.3] Fix when state file is integers
301729         @ 2018-07-25 15:03:02 UTC
301730
301731         · f2ef2d3ef6    Merge   pull   request   #48752   from   garethgreen‐
301732           away/fix_state_file_all_integers
301733
301734         · 790801c67e Fixing a case where the state module would fail  if  the
301735           state  file  being  passed was all integers.  Added a new tests for
301736           this edge case.
301737
301738       · ISSUE #46896: (Poil) Proxy + file.managed => Comment: Failed to cache
301739         xxx invalid arguments to setopt (refs: #48754)
301740
301741       · PR  #48754:  (lomeroe)  send proxy/ca_cert parameters as strings (not
301742         unicode) to tornado httpclient @ 2018-07-25 14:55:42 UTC
301743
301744         · 030c921914 Merge pull request #48754 from lomeroe/fix-tornado-proxy
301745
301746         · d33056704b  pass  proxy_user,   proxy_password,   proxy_host,   and
301747           ca_certs through salt.utils.stringutils.to_str()
301748
301749       · PR #48769: (Ch3LL) Update Saltstack Logo banner on docs.saltstack.com
301750         @ 2018-07-25 14:47:19 UTC
301751
301752         · 1eee4b136b Merge pull request #48769 from Ch3LL/update_doc_2018.3
301753
301754         · 0cb4bac798 Update Saltstack Logo banner on docs.saltstack.com
301755
301756       · PR #48760: (dwoz) Multiple windows test fixes @  2018-07-25  11:55:27
301757         UTC
301758
301759         · 19afa3b023 Merge pull request #48760 from dwoz/test_file_fixes
301760
301761         · a89019e956 Multiple windows test fixes
301762
301763       · PR  #48753: (dwoz) Finally fix prepend for real @ 2018-07-25 00:07:15
301764         UTC
301765
301766         · e6dace3959 Merge pull request #48753 from dwoz/fix_prepend
301767
301768         · 0d1e8ab3f8 Merge branch '2018.3' into fix_prepend
301769
301770       · PR #48756:  (dwoz)  os.uname  is  not  available  on  py2  windows  @
301771         2018-07-24 23:38:32 UTC
301772
301773         · 8aef6d9960 Merge pull request #48756 from dwoz/core_grains_fix
301774
301775         · b7a37ecf11 os.uname is not available on py2 windows
301776
301777       · ISSUE  #48536:  (whytewolf) diskusage beacon does not recognize tmpfs
301778         disks in linux.  (refs: #48718)
301779
301780       · PR  #48718:  (garethgreenaway)  [2018.3]  beacon  diskusage  fixes  @
301781         2018-07-24 17:45:26 UTC
301782
301783         · 062fe7cccf    Merge   pull   request   #48718   from   garethgreen‐
301784           away/48536_beacon_diskusage_fixes
301785
301786         · 38a65e8fb3        Fixing         test_diskusage_nomatch         and
301787           test_diskusage_match_regex
301788
301789         · 6ecca166ff  Updating  psutil.disk_partitions  to pull in all mounts
301790           not just the physical ones.  Check to see if the mount  point  from
301791           the configuration ends with a $ (regular expression end of line) if
301792           not we add one in to ensure that a simple / does not end up  match‐
301793           ing all mount points.  Updating tests accordingly.
301794
301795       · PR #48711: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
301796         2018-07-24 17:38:58 UTC
301797
301798         · e873621009 Merge pull request #48711 from rallytime/merge-2018.3
301799
301800         · ea5c063237 Update old utils paths to use new paths
301801
301802         · e740d3b208 Merge branch '2017.7' into '2018.3'
301803
301804           · 689c231d2b Merge pull request #48691 from Ch3LL/win_repo_pkg_test
301805
301806             · 4b7d6d80c5 Remove unnecessary jinja in curl.sls file
301807
301808             · 2bedadfadb Add windows pkg module integration tests
301809
301810           · 83e4bba916 Merge pull request #48635 from nbraud/acme
301811
301812             · 3673bae9de modules/acme: explicitely ignore  the  perms  return
301813               value
301814
301815             · 1800a231e8 Fixup some schema expectations
301816
301817             · 8c718cb417 acme: Make the private key mode configurable
301818
301819             · 917dea6761 modules/acme: Use file.check_perms ret-morphing pow‐
301820               ers
301821
301822             · d2241ceb2d module/acme: Do not exit early when the  certificate
301823               already exists
301824
301825             · 98af0db826 modules/acme: Set the private key filemode to 0640
301826
301827           · 85991680c8 Merge pull request #48345 from twangboy/fix_48169
301828
301829             · ead19725b6 Merge branch '2017.7' into fix_48169
301830
301831             · 653fbcb383 Fix some docs errata
301832
301833             · 8898e5ff11 Add warn_until Fluorine
301834
301835             · 707906ac15 Fix unit.state.test_powercfg
301836
301837             · 32c5014eb6 Fix unit tests
301838
301839             · 0d9c56e540 Add some more logging
301840
301841             · b20453de9f Use minutes to set
301842
301843             · 7dc7eb11c2 Fix documentation to denote seconds when setting
301844
301845           · 96447ce541 Merge pull request #48656 from Ch3LL/windows_ip_mod
301846
301847             · 90c3f568b1 Add windows ip module integration tests
301848
301849           · 0c5fff3dc8 Merge pull request #48638 from twangboy/fix_vcredist
301850
301851             · e30d17099d Use goto instead of if statement
301852
301853             · e1042fa084 Remove vcredist for Py3
301854
301855           · 1ebd96d909 Merge pull request #48664 from Ch3LL/srv_disable_mac
301856
301857             · f1fbfad387 move the disable call up in try block
301858
301859             · f60d21bda4 reverse assertion order for service disable test
301860
301861             · 3727d1b3b9 switch try/except to match 2018.3
301862
301863             · fb953c2369 [2017.7] Fix service.disabled test for macosx
301864
301865           · 3da3cf2f3f Merge pull request #48625 from Ch3LL/ssh_state
301866
301867             · f590eb2b02 Update state.py
301868
301869             · 9790ee3d0d Follow up to PR #48555
301870
301871           · 33812f78f1 Merge pull request #48673 from Ch3LL/mac_port
301872
301873             · 87dd85a220  Use  different  pub  and  ret ports for testprogram
301874               integration tests
301875
301876           · 5f6a7c4d89 Merge pull request #48675 from Ch3LL/mac_disable
301877
301878             · c78efab828 Fix mac service.disable tests
301879
301880           · 93d2f51d2b  Merge  pull  request  #48658   from   wyardley/wyard‐
301881             ley-npm-json-output-2017
301882
301883             · 7ff3c9c5ff Improve handling of npm json output (#43138)
301884
301885           · 3e293b0513    Merge   pull   request   #48678   from   OrlandoAr‐
301886             capix/fix-npm-dryrun-test
301887
301888             · 851a404f6b Fix for issue #48677 - return True when  no  changes
301889               are to be made with npm.bootstrap with test=true
301890
301891           · 07a1f6520f Merge pull request #48580 from rallytime/fix-46884
301892
301893             · 736b382e91      Don't     error     on     retcode     0     in
301894               libcrypto.OPENSSL_init_crypto call
301895
301896           · 9874429741 Merge pull request #48628 from terminalmage/testinfra
301897
301898             · 5ace9f01ec Fix NameError in testinfra module
301899
301900           · 0d4c80205f Merge pull request #48651 from gtmanfred/pylint-2017.7
301901
301902             · b6ee52f859 handle pyzmq for python3.4
301903
301904           · 160ae29cf2 Merge pull request #48647 from gtmanfred/pylint-2017.7
301905
301906             · ff818c4ca2 disable checks on pylint
301907
301908           · 47b1032efa   Merge   pull    request    #48593    from    pritam‐
301909             baral/fix/2017.7-importlib-pyc-loading-order
301910
301911             · add7894dee loader: Fix suffix order when importlib is used
301912
301913           · 9da7b2ec8d Merge pull request #48630 from dubb-b/pipeline-updates
301914
301915             · 8594a8dd05 Adding PY_COLORS=1 as PY_COLORS = 1 instead
301916
301917             · 314b0e3599  Adding  PY_COLORS=1 for python programs to use ANSI
301918               Colors
301919
301920             · b705e8f7a5 Adding correct spacing to options section
301921
301922             · 9d8a7e07db Adding options to Jenkins pipline builds
301923
301924           · a8ae2adf64    Merge    pull    request    #48633    from    salt‐
301925             stack/revert-48610-2017.7
301926
301927             · bab4a769d4 Revert "only run pylint on files that change"
301928
301929           · 6e32bb7f74 Merge pull request #48614 from rallytime/bp-48562
301930
301931             · cb654bbf2c Add timeouts to all s3 queries
301932
301933           · 1b6e6388f8   Merge   pull   request   #48588   from  garethgreen‐
301934             away/48415_event_send_multi_master
301935
301936             · fab25af1a9 Adding some quick documention about why we are  set‐
301937               ting ret=True following the channel.send.
301938
301939             · bf78f4b188  If the channel send is sucessful and does not raise
301940               an exception, we set ret to True, in case a previous  exception
301941               from  a  previous channel send to another master has sent it to
301942               False.
301943
301944             · 8d1551c5fb When using Salt multi-master, if we encouter a  salt
301945               master  that  has not accepted the minion key yet we should not
301946               exit right away, rather continue on and try the next salt  mas‐
301947               ter available in the list.
301948
301949           · 24ffda49ba Merge pull request #48610 from gtmanfred/2017.7
301950
301951             · 779d1a3dcb only run pylint on files that change
301952
301953           · 5391dd0a8d Merge pull request #48584 from Ch3LL/mac_user_grp
301954
301955             · 585ee9db90 Fix grp import for mac in test_user integration test
301956
301957           · 61572b6780 Merge pull request #48555 from Ch3LL/ssh_id
301958
301959             · f69932f506 fix pylint
301960
301961             · 70e36764ee Add more tests for salt-ssh state.sls_id
301962
301963             · dab80e805c Fix state.sls_id to run on ssh minion and not master
301964
301965           · aa6dcf39e8 Merge pull request #48583 from Ch3LL/mac_flaky_tests
301966
301967             · 4ba2299a87 import flaky decorator on mac tests
301968
301969             · 811220b41e  Add  flaky decorator to mac_system and mac_timezone
301970               tests
301971
301972           · 6973152057 Merge pull request #48534  from  xetix/fix-zypper-lat‐
301973             est_version
301974
301975             · 9985f0b4c1 Lint: remove extra blank line
301976
301977             · 5fbead8a36 Merge branch '2017.7' into fix-zypper-latest_version
301978
301979             · 56ac449271    Merge   branch   'fix-zypper-latest_version'   of
301980               https://github.com/xetix/salt into fix-zypper-latest_version
301981
301982               · 44e87f5a0f Adding testcase for this fix.
301983
301984               · b354c6863c Fix behaviour of function latest_version in zypper
301985                 module  when  multiple packages are passed to function. Func‐
301986                 tion now properly return dict with empty string as version if
301987                 latest  packages  is already installed, and multiple packages
301988                 are passed to function
301989
301990             · db35d0c1e1 Adding testcase for this fix.
301991
301992             · d2513757ed Fix behaviour of function latest_version  in  zypper
301993               module  when multiple packages are passed to function. Function
301994               now properly return dict with empty string as version if latest
301995               packages is already installed, and multiple packages are passed
301996               to function
301997
301998           · 10124034cb Merge pull request #48582 from dwoz/test_prepend_fix
301999
302000             · f37571e0bd Merge branch '2017.7' into test_prepend_fix
302001
302002           · 13f67335f3 Merge pull request #48564 from dwoz/test_prepend_fix
302003
302004                · 136ddf5f54 Finally fix prepend for real
302005
302006             · 66b25e65bf Fix failing prepend test
302007
302008           · b8ce27729f Merge pull request #48558 from dwoz/test_file_fix
302009
302010             · c858bf477f Remove which mock to get the test passing
302011
302012           · a15c65202d  Merge  pull  request  #48552   from   KaiSforza/jenk‐
302013             ins-junit-2017
302014
302015             · 72b1830974 Set up junit in jenkins
302016
302017           · f73108026e Merge pull request #48550 from gtmanfred/2017.7
302018
302019             · d5c603d9b6 add posargs to tox pylint
302020
302021           · 113b0426f8 Merge pull request #48535 from asnell/asnell-patch-2
302022
302023             · d328f6e43d Update manage_file helptext
302024
302025       · PR  #48744: (rallytime) [2018.3] Update DOCBANNER with new SaltConf18
302026         image @ 2018-07-24 17:15:40 UTC
302027
302028         · 6c7f1c549d  Merge  pull   request   #48744   from   rallytime/salt‐
302029           conf-ad-2018.3
302030
302031         · dbc1f8b772 Update DOCBANNER with new SaltConf18 image
302032
302033       · PR  #48726:  (dwoz)  Skip test when syslog not available @ 2018-07-24
302034         16:12:44 UTC
302035
302036         · 04ab17a4d6 Merge pull request #48726 from dwoz/syslogtest
302037
302038         · 00f04cfd59 Skip test when syslog not available
302039
302040       · PR #48727: (dwoz) Windows compatible cp test  @  2018-07-24  14:41:34
302041         UTC
302042
302043         · af837424aa Merge pull request #48727 from dwoz/file_cp_test_fix
302044
302045         · 6e7824266b Windows compatible cp test
302046
302047       · ISSUE #40004: (te-af-github) svn changes report (refs: #47510)
302048
302049       · ISSUE  #21025:  (RobertFach)  svn.export  reports invalid change data
302050         (2014.7.x) (refs: #47510)
302051
302052       · PR #48710:  (rallytime)  Back-port  #47510  to  2018.3  @  2018-07-23
302053         21:11:18 UTC
302054
302055         · PR #47510: (daa) Fix svn export invalid changes data (refs: #48710)
302056
302057         · 04125b077d Merge pull request #48710 from rallytime/bp-47510
302058
302059         · ebcd3b1c6b fixed test for svn.export
302060
302061         · e79f4aa5cc  put name under "new" key in changes dictionary to be in
302062           line with svn.latest
302063
302064         · 163f99089c made svn.export changes data dictionary,  fixes  #21025,
302065           #40004
302066
302067              · 3a941055c1 Use salt.utils.platform.is_windows
302068
302069              · 33e48f7ad7 Finally fix prepend for real
302070
302071       · PR  #48699:  (terminalmage)  Add  missing  release  notes  mention of
302072         file.blockreplace changes @ 2018-07-23 13:34:32 UTC
302073
302074         · e1dd10be70 Merge pull request #48699 from terminalmage/issue48695
302075
302076         · 7ad832c901 Add missing release notes mention  of  file.blockreplace
302077           changes
302078
302079       · PR  #48700:  (dwoz)  Call  sync_modules  to  fix  Windows test case @
302080         2018-07-22 22:23:48 UTC
302081
302082         · ab44a05fe4 Merge pull request #48700 from dwoz/ext_mod_test
302083
302084         · d731e6bf8e Call sync_all to fix Windows test case
302085
302086       · PR #48653: (terminalmage) docker_container.running: Fix regression in
302087         test mode @ 2018-07-20 19:15:47 UTC
302088
302089         · 6a494205f2    Merge    pull    request    #48653   from   terminal‐
302090           mage/docker-unboundlocal
302091
302092         · b0440871a0 Merge branch '2018.3' into docker-unboundlocal
302093
302094         · 9515dd17ff docker_container.running: Fix regression in test mode
302095
302096       · ISSUE #47059: (OrlandoArcapix) Some states  incorrectly  return  None
302097         instead of an empty dict when there are no changes (refs: #48685)
302098
302099       · ISSUE     #46985:    (OrlandoArcapix)    grafana4_user.present    and
302100         grafana4_org.present states not working in 2018.3.0 (refs: #48685)
302101
302102       · PR #48685: (bbinet) Use empty dict for 'changes' instead  of  None  @
302103         2018-07-20 17:12:43 UTC
302104
302105         · PR  #48671:  (bbinet)  Few  fixes  to the grafana module and states
302106           (refs: #48685)
302107
302108         · 266c6f250e Merge pull request #48685 from bbinet/none-changes
302109
302110         · 842eb3da24 Use empty dict for 'changes' instead of None
302111
302112       · PR #48670: (bbinet) Add the  "traverse"  jinja  filter  @  2018-07-20
302113         16:36:21 UTC
302114
302115         · 5a6f7a085c Merge pull request #48670 from bbinet/traverse
302116
302117         · 32b6d22cf2 Fix RST syntax issue in doc
302118
302119         · 37a41226d5 Add the "traverse" jinja filter
302120
302121       · PR #48594: (pritambaral) Backport 48418 @ 2018-07-20 14:57:19 UTC
302122
302123         · PR  #48418: (pritambaral) Fix multi-sls salt.state orchestration in
302124           masterless systems (refs: #48594)
302125
302126         · ff11763fd3 Merge pull request #48594 from pritambaral/bp-48418
302127
302128         · adcee28b84 Fix multi-sls  salt.state  orchestration  in  masterless
302129           systems
302130
302131       · ISSUE  #48184: (mmulqueen) Invalid DMI prevents salt-minion from run‐
302132         ning (refs: #48440)
302133
302134       · PR #48440: (mmulqueen) Make core.py tolerant of invalid chars in  DMI
302135         data @ 2018-07-20 14:48:07 UTC
302136
302137         · PR  #48216:  (Ch3LL)  Fix  UnicodeDecodeError  when reading file to
302138           determine virtual grain (refs: #48440)
302139
302140         · 111908f519 Merge pull request #48440 from mmulqueen/patch-1
302141
302142         · 5bbbdc74cd Make core.py tolerant of invalid chars in DMI data
302143
302144       · PR #48663: (Ch3LL) [2018.3] Fix service.disabled test  for  macosx  @
302145         2018-07-20 14:32:22 UTC
302146
302147         · 4e77b242f2   Merge   pull   request   #48663   from  Ch3LL/srv_dis‐
302148           able_mac_2018
302149
302150         · bddfbd75d2 reverse assertion order for service disable test
302151
302152         · 2bfaf7fe89 Fix service.disabled test for macosx
302153
302154       · PR #48304: (Ch3LL) Fix macosx grains when swapusage returns  comma  @
302155         2018-07-20 14:30:59 UTC
302156
302157         · dfc1582475 Merge pull request #48304 from Ch3LL/swap_mac
302158
302159         · 5d6135e1e2 Fix macosx grains when swapusage returns comma
302160
302161       · PR #48671: (bbinet) Few fixes to the grafana module and states (refs:
302162         #48685) @ 2018-07-20 13:58:02 UTC
302163
302164         · 9d7eabd24e Merge pull request #48671 from bbinet/grafana-fixes
302165
302166         · 3c5083f550 Add support for dry run (test=True) of grafana states
302167
302168         · 7e7ae8ace7 influxdb: fix  conflicts  in  function  arg  names  with
302169           client_args
302170
302171         · 73a24b774a Ignore readOnly option when diffing
302172
302173         · 81f0cf8a3f Add missing profile argument to grafana4.get_user_data
302174
302175       · PR   #48650:  (gtmanfred)  [2018.3]  handle  pyzmq  for  python3.4  @
302176         2018-07-18 17:34:37 UTC
302177
302178         · e828167114 Merge pull request #48650 from gtmanfred/pylint-2018.3
302179
302180         · 3c1882077e handle pyzmq for python3.4
302181
302182       · PR #48648: (gtmanfred) [2018.3] disable checks on pylint @ 2018-07-18
302183         16:21:37 UTC
302184
302185         · a6f8acf4dc Merge pull request #48648 from gtmanfred/pylint-2018.3
302186
302187         · 7c34c2965e disable checks on pylint
302188
302189       · PR  #48634: (dwoz) Sync modules for state tests @ 2018-07-17 20:33:06
302190         UTC
302191
302192         · 01c9c59a97  Merge  pull   request   #48634   from   dwoz/state-mod‐
302193           ule-test-fix
302194
302195         · 9dfd2ae392 Sync modules for state tests
302196
302197       · PR #48585: (astorath) replaced meta tag @ 2018-07-16 14:11:02 UTC
302198
302199         · fb7bfc757c Merge pull request #48585 from astorath/fix-vault-meta
302200
302201         · 42fd3d5f67 replaced meta tag
302202
302203       · PR #48579: (Ch3LL) Fix python2 syslog returner expecting string bytes
302204         not unicode @ 2018-07-13 19:50:16 UTC
302205
302206         · 4b16537a29 Merge pull request #48579 from Ch3LL/fix_syslog
302207
302208         · d8288a0ffc add unicode type for syslog test for tag
302209
302210         · 17e69382d5 Fix python2 syslog returner expecting string  bytes  not
302211           unicode
302212
302213       · ISSUE  #48542:  (calvinhp)  Missing state git.cloned is listed in the
302214         docs as new for 2018.3.2 (refs: #48547)
302215
302216       · PR #48547: (gtmanfred) fix git.cloned doc versionadded  @  2018-07-13
302217         18:46:25 UTC
302218
302219         · 3549ce408d Merge pull request #48547 from gtmanfred/git.cloned
302220
302221         · b596a945ea Merge branch '2018.3' into git.cloned
302222
302223         · e41f4922a0 fix git.cloned doc versionadded
302224
302225       · ISSUE #48110: (whytewolf) file.line on windows not treating unix line
302226         endings correctly. (refs: #48503)
302227
302228       · PR #48503:  (rallytime)  Back-port  #46291  to  2018.3  @  2018-07-13
302229         17:14:47 UTC
302230
302231         · PR  #48380:  (twangboy)  Detect  and  preserve  line endings (refs:
302232           #48503)
302233
302234         · PR #46291: (t0fik) Line mixed line ends (refs: #48503)
302235
302236         · PR #45498: (t0fik) Added support for  mixed  line  ending  in  file
302237           (refs: #46291)
302238
302239         · ee257a1f91 Merge pull request #48503 from rallytime/bp-46291
302240
302241         · 8bc71688ea Remove /sr.* pattern from test
302242
302243         · 5e2e2a63fa Update file unit tests to handle "writelines" change
302244
302245         · 5d38aa8b33 Update file.line to use writelines instead of joining
302246
302247         · d0b6e82ecb   Add   'name'   as   the   passed   in   filepath   for
302248           test_line_insert_ensure_before_first_line test
302249
302250         · d8920cb61f Update test_line_insert_ensure_before_first_line to  use
302251           new mock_open methodologies
302252
302253         · 475f075d8e  Handle  list  of  lines instead of strings in file.line
302254           func
302255
302256         · b9ddd53b04 Added comments
302257
302258         · f3517a1852 List comprehension replaced
302259
302260         · adfa3aed0d Empty match on delete or replace not causing  IndexError
302261           exception
302262
302263         · 5169b1f7fd   Comprehensions   converting  to  unicode  replaced  by
302264           salt.utils.data.decode_list
302265
302266         · d3e8679e05 Removed regex compilation
302267
302268         · f29815b49b Fixed file permissions
302269
302270         · d2af81e9c7 Make integration  green.  Added  test  for  mode  ensure
302271           insert before first line
302272
302273         · 9b7df671a5 file.line function refactored
302274
302275         · 3af551ebe1 /sr.* pattern should raise exception
302276
302277         · 935a9b9d56 test_line_insert_end fixed
302278
302279         · 7d6e3ad2e2 Make tests green
302280
302281         · 75a7e368a6 Setting end of line
302282
302283         · 489e381100 Added _set_line_eol and _get_eol functions
302284
302285         · aacbb8c0e2 line function refactored to work on list
302286
302287         · de668166f9 _regex_to_static refactored to work on lists
302288
302289         · 464eef6fe1 _get_line_indent renamed to _set_line_indent
302290
302291       · ISSUE  #48507:  (emersonveenstra)  mysql_grants.present escape option
302292         incorrectly reports failure (refs: #48561)
302293
302294       · PR #48561: (garethgreenaway) [2018.3] fixes to grants in mysql module
302295         @ 2018-07-13 14:24:58 UTC
302296
302297         · 2d923f2943    Merge   pull   request   #48561   from   garethgreen‐
302298           away/48507_mysql_grants_incorrect_failure
302299
302300         · 14c59da72c Following a successful grant application  in  the  MySQL
302301           module,  the new grant and the desired grant are mismatched because
302302           the new grant from Mysql included hashmarks.  This change adds  the
302303           replace which is included for other items such as database name and
302304           username.
302305
302306       · PR #48529: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
302307         2018-07-12 17:59:35 UTC
302308
302309         · 5b5a930449 Merge pull request #48529 from rallytime/merge-2018.3
302310
302311         · f9b8c4b257 Use () when using with_tempfile decorator in tests
302312
302313         · d3190ca0c0 Update old utils paths to new utils paths
302314
302315         · 29b05ffdd1 Merge branch '2017.7' into '2018.3'
302316
302317           · 0c0c05c2bc    Merge    pull    request    #48527    from    salt‐
302318             stack/revert-48525-2017.7
302319
302320             · 18d06c1a93 Revert "add kazoo for testing zookeeper."
302321
302322           · 05bad3e71c Merge pull request #48526 from  twangboy/rollback_cer‐
302323             tifi-win32
302324
302325             · 361b3cdc2f Rollback python-certifi-win32
302326
302327           · db066effe4 Merge pull request #48521 from Martin819/2017.7
302328
302329             · d5d01f6698 Fix for GlusterFS 4.0 and above
302330
302331           · ed0bd2bbec Merge pull request #48525 from gtmanfred/2017.7
302332
302333             · d7a6bff2b2 add kazoo for testing zookeeper.
302334
302335           · ad5a959ab9   Merge   pull   request   #48388   from  garethgreen‐
302336             away/48277_2017_7_file_roots_wrong
302337
302338             · 6f11da35a7 Fixing a few things in the new test.
302339
302340             · cf747b14ec Fixing lint issue
302341
302342             · 16d36c79c8 When pillar items  are  compiled  a  new  render  is
302343               instantiated  but  the  file_roots  is  the pillar_roots.  This
302344               change forces the __opts__['file_roots'] to be set to  what  is
302345               set  in actual_file_roots for all renderers once compile_pillar
302346               has finished.  Adding a test when this situation is run  via  a
302347               orchestration runner.
302348
302349           · 38df812257 Merge pull request #48512 from gtmanfred/npm
302350
302351             · 9ba0f6b3a0 pin pm and grunt packages for npm tests
302352
302353           · 04ba31147f Merge pull request #48513 from rallytime/merge-2017.7
302354
302355             · a466a4880f Merge branch '2017.7.7' into '2017.7'
302356
302357               · cfd21ed22c    Merge   pull   request   #48172   from   rally‐
302358                 time/2017.7.7-release-notes
302359
302360                 · a0ad794132 Update release notes for 2017.7.7
302361
302362               · 8af4452134 Merge pull request #48157 from gtmanfred/2017.7.7
302363
302364                 · d8209e8a40 always listen when gathering job info
302365
302366               · b98c52ee51   Merge   pull   request   #48140   from    rally‐
302367                 time/man-pages-2017.7.7
302368
302369                 · 8893bf0d4c Update man pages for 2017.7.7
302370
302371               · baa0363336 Merge pull request #48136 from gtmanfred/2017.7.7
302372
302373                 · fce1c31146 bootstrap kitchen branch tests with 2017.7.6
302374
302375               · b0ba08f4d9    Merge   pull   request   #48134   from   rally‐
302376                 time/release-notes-2017.7.7
302377
302378                 · 217005b8f1 Add missing v for tag reference
302379
302380                 · d53569d1e3 Add release notes file for 2017.7.7
302381
302382               · 084de927fe   Merge   pull   request   #48098   from    rally‐
302383                 time/bp-48075-2017.7.7
302384
302385                 · e4e62e8b3a  Ensure  that  the shared list of jids is passed
302386                   when creating the Minion.  Fixes an issue when minions  are
302387                   pointed at multiple syndics.
302388
302389           · f0352ea95a Merge pull request #48514 from gtmanfred/2017.7
302390
302391             · 739bf92599 upgrade dependencies for pytest tests
302392
302393           · 5372b60137    Merge   pull   request   #48491   from   grokrecur‐
302394             sion/group-fix-v2
302395
302396             · 1556b37221 fixed pylint errors
302397
302398             · f6d9177dab fixed indentation for pep8
302399
302400             · b9556bf923 v2 try of gid converted to integer
302401
302402           · 16d3daab3c Merge pull request #48375 from Ch3LL/file_copy
302403
302404             · d16a790775 Add mode to _makedirs call in file.copy
302405
302406             · 2cbcb4fd26 Add user and group to makedirs cmd in file.copy
302407
302408           · d38951b1b3 Merge pull request #48490 from KaiSforza/cifixes
302409
302410             · 9fe7199af5 Mark failed if anything is found
302411
302412             · 6749a6bf19 Stop archiving the docs
302413
302414       · PR #48553: (KaiSforza) Set up junit in jenkins @ 2018-07-12  16:24:01
302415         UTC
302416
302417         · a95b8efd8a   Merge   pull   request   #48553  from  KaiSforza/jenk‐
302418           ins-junit-2018
302419
302420         · 412ffcc956 Set up junit in jenkins
302421
302422       · PR #48551:  (gtmanfred)  add  posargs  to  tox  pylint  @  2018-07-12
302423         14:35:25 UTC
302424
302425         · c4aed02740 Merge pull request #48551 from gtmanfred/2018.3
302426
302427         · a6a286af28 add posargs to tox pylint
302428
302429       · PR  #48533:  (terminalmage)  Fix  UnicodeDecodeError  in  sh beacon @
302430         2018-07-12 13:38:43 UTC
302431
302432         · 260da0d545 Merge pull request #48533 from terminalmage/sh-beacon
302433
302434         · 7ac5ac06c9 Fix UnicodeDecodeError in sh beacon
302435
302436       · ISSUE #48519: (Lutseslav) Mysql  module  alter_db  quotation  missing
302437         (refs: #48520)
302438
302439       · PR  #48520:  (Lutseslav) Add quotes to schema name in ALTER DATABASE.
302440         @ 2018-07-11 19:15:08 UTC
302441
302442         · 8761ac2589 Merge pull request #48520 from Lutseslav/fix-alter-data‐
302443           bases-with-special-symbols
302444
302445         · d088b00ff2 Merge branch '2018.3' into fix-alter-databases-with-spe‐
302446           cial-symbols
302447
302448         · 59629e9757 Merge branch '2018.3' into fix-alter-databases-with-spe‐
302449           cial-symbols
302450
302451         · da8336712e Add quotes to schema name in ALTER DATABASE.
302452
302453       · PR #48528: (gtmanfred) add 2018.3 requirements for tox/pytest tests @
302454         2018-07-11 18:13:40 UTC
302455
302456         · ad4f7efafd Merge pull request #48528 from gtmanfred/2018.3
302457
302458         · 221559358a add 2018.3 requirements for tox/pytest tests
302459
302460       · ISSUE #48336: (JuanManuelVizcainoAbad) file.directory (refs:  #48399,
302461         #48398)
302462
302463       · PR   #48508:   (rallytime)   [2018.3]   Fix   2  bugs  found  in  the
302464         file.check_perms function @ 2018-07-11 15:03:32 UTC
302465
302466         · PR  #48399:  (garethgreenaway)  [2017.7]  fixes  to  module/file.py
302467           (refs: #48508)
302468
302469         · PR  #48398:  (garethgreenaway)  [2018.3]  fixes  to  module/file.py
302470           (refs: #48508)
302471
302472         · 70e5fcb8a5 Merge pull request #48508 from rallytime/fix-file-bug
302473
302474         · 0747eb5476 Move comment string join and test/changes check to  bot‐
302475           tom of file.check_perms
302476
302477         · aefa1dbe21  Fix  up  bad  merge  -  remove  extra section of "mode"
302478           changes
302479
302480       · ISSUE #48277: (dvenckus) init.sls with  included  states  fails  with
302481         more  than  one,  'Template  was specified incorrectly: False' (refs:
302482         #48388, #48389)
302483
302484       · ISSUE #46986: (github-abcde) opts file_roots  gets  overwritten  with
302485         pillar_roots in orchestration run (refs: #48388, #48389)
302486
302487       · PR  #48389: (garethgreenaway) [2018.3] reset file_roots for renderers
302488         after compile_pillar @ 2018-07-11 13:13:33 UTC
302489
302490         · 5a0b274bf1   Merge   pull   request   #48389   from    garethgreen‐
302491           away/48277_2018_3_file_roots_wrong
302492
302493         · 4b492fa633 Removing unused start_time variable from test_orchestra‐
302494           tion_with_pillar_dot_items test.
302495
302496         · 30c5855d20 Fixing a few things in the new test.
302497
302498         · 36b7253418 Fixing lint issue
302499
302500         · ab6abfad31 When pillar items are compiled a new render is instanti‐
302501           ated  but  the  file_roots is the pillar_roots.  This change forces
302502           the  __opts__['file_roots']  to  be  set  to   what   is   set   in
302503           actual_file_roots  for  all  renderers once compile_pillar has fin‐
302504           ished.  Adding a test when this situation is run via  a  orchestra‐
302505           tion runner.
302506
302507       · ISSUE  #48342:  (jeffclay)  UnicodeDecodeError when using cache mysql
302508         (refs: #48495)
302509
302510       · PR #48495: (garethgreenaway) [2018.3] Fix to  mysql  cache  module  @
302511         2018-07-10 12:54:10 UTC
302512
302513         · f9fd1a889a    Merge   pull   request   #48495   from   garethgreen‐
302514           away/48342_mysql_cache_unicode
302515
302516         · 0029f19033 Ensure the query_string is a  bytestring,  otherwise  an
302517           attempt  will  be made to convert the msgpack data to unicode which
302518           will result in a UnicodeDecodeError error.
302519
302520       · PR #48487: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
302521         2018-07-09 18:38:00 UTC
302522
302523         · fc3eeef6b3 Merge pull request #48487 from rallytime/merge-2018.3
302524
302525         · 54341d1a8d Update old utils paths to use new utils paths
302526
302527         · 68aabff0cf Merge branch '2017.7' into '2018.3'
302528
302529         · 22cd4206c4 Merge pull request #48472 from gtmanfred/2017.7
302530
302531           · c7a3a7d8bd update jenkins tests to use tox for lint
302532
302533           · 44aaac1d33 use tox to run pylint
302534
302535         · 27ea8f35ea Merge pull request #48476 from twangboy/fix_dependencies
302536
302537           · b0087d425c Add license info
302538
302539           · 935f9b560c Fix dependencies
302540
302541         · acf42864aa    Merge   pull   request   #48399   from   garethgreen‐
302542           away/48336_2017_7_ensure_chmod_setuid_with_chown
302543
302544           · 8efd33320f Normalize the mode before we compare it.
302545
302546           · f894f0ecb8 Setting the mode with setuid or setgid bits  in  addi‐
302547             tion  to setting the owner and group will force the setuid & set‐
302548             gid bits to reset.  This change ensures  that  we  set  the  mode
302549             after setting the owner & group.
302550
302551         · 6166ff6b78 Merge pull request #48471 from gtmanfred/2017.7
302552
302553           · 392ab4e51f Add some configurations to tox
302554
302555         · 6234d9b15d     Merge    pull    request    #48433    from    disco‐
302556           gestalt/fix-redis.hmset
302557
302558           · 65817ac74d Use clean_kwargs method instead
302559
302560           · f7fa7f57c6 Found another issue with redismod.hmset
302561
302562           · 5624865f86 Fix issue with redismod.hmset method
302563
302564         · aacee0fe2c   Merge   pull    request    #48428    from    terminal‐
302565           mage/fix-jobs.lookup_jid
302566
302567           · 6509aa9089 Fix outputter detection in jobs.lookup_jid runner
302568
302569         · a7e52f0de2 Merge pull request #48429 from rallytime/bp-46824
302570
302571           · 8b4486248d Added ignore_retcode to mock unit tests
302572
302573           · f8beab71dd Regression to ignore retcodes on crontab calls
302574
302575         · 4576ef20bc Merge pull request #48432 from dwoz/file-prepend-again
302576
302577           · 349a2b279e Prepend test needs file.touch method
302578
302579       · PR  #48481: (terminalmage) Improve the slack engine docs @ 2018-07-09
302580         13:41:15 UTC
302581
302582         · 4d4d2eacce Merge pull request #48481 from terminalmage/slack-engine
302583
302584         · 56e8a1eb93 Improve the slack engine docs
302585
302586         · dde9c0640d Add information on creating bot users
302587
302588         · 513c6af975 Fix inaccurate docs
302589
302590       · PR #48348: (dwoz) Fix multiple git module tests @ 2018-07-06 20:35:58
302591         UTC
302592
302593         · 491b5b077c Merge pull request #48348 from dwoz/test_git
302594
302595         · 5ca5e060b3 Merge branch '2018.3' into test_git
302596
302597       · PR  #48454:  (terminalmage)  Improve error message when ext_pillar is
302598         incorrectly formatted @ 2018-07-06 18:03:44 UTC
302599
302600         · dd6a6a97c5 Merge pull request #48454 from terminalmage/issue48107
302601
302602         · 269dbab7f6 Improve error message  when  ext_pillar  is  incorrectly
302603           formatted
302604
302605       · ISSUE  #48336: (JuanManuelVizcainoAbad) file.directory (refs: #48399,
302606         #48398)
302607
302608       · PR #48398: (garethgreenaway) [2018.3] fixes to module/file.py  (refs:
302609         #48508) @ 2018-07-06 18:02:43 UTC
302610
302611         · a9dc758e73    Merge   pull   request   #48398   from   garethgreen‐
302612           away/48336_ensure_chmodd_setuid_with_chown
302613
302614         · 2454652914 Normalize the mode before we compare it.
302615
302616         · 08ad5665de Fixing test to ensure it works under py3
302617
302618         · 2b25d8c95b Setting the mode with setuid or setgid bits in  addition
302619           to  setting the owner and group will force the setuid & setgid bits
302620           to reset.  This change ensures that we set the mode  after  setting
302621           the owner & group.
302622
302623       · PR #48431: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
302624         2018-07-05 17:23:00 UTC
302625
302626         · 2baa7f189f Merge pull request #48431 from rallytime/merge-2018.3
302627
302628         · 3e59dda0b1 Merge branch '2017.7' into '2018.3'
302629
302630           · 422441505d Merge pull request #48422 from rallytime/fix-48230
302631
302632             · a6abf85621  Allow   file.managed   to   work   with   uppercase
302633               source_hash in test=true mode
302634
302635             · 4c691ac57a Add regression test for Issue #48230
302636
302637           · 83e387c951    Merge    pull   request   #48410   from   dwoz/ser‐
302638             vice_dead_test_fix
302639
302640             · 5c0923448d Fix service dead test on windows
302641
302642           · d3ba345da5 Merge pull request #48413 from twangboy/fix_47811
302643
302644             · c5aad04140 handle unc paths
302645
302646           · 827ef2aac4 Merge pull request #48416  from  dwoz/service_integra‐
302647             tion_fix
302648
302649             · c43f150dcd Fix service integration test (py3)
302650
302651           · 10fe7d2b9b  Merge  pull  request  #48385  from Ch3LL/1update_ver‐
302652             sion_doc_2017.7
302653
302654             · 3cf335b0b9 Update release versions for the 2017.7 branch
302655
302656           · f8a9a037e6 Merge pull request #48405 from Ch3LL/rm_inprog_2017.7
302657
302658             · 03ed5167fa [2017.7] Remove In Progress Warning on 2017.7.7
302659
302660           · 8ac867c168 Merge pull request #48409 from dwoz/test_prepend_fix
302661
302662             · 9c7085b70f Fix file state prepend test
302663
302664           · 10e93bff7f Merge pull request #48396 from dwoz/symlink_test_fix
302665
302666             · d3456d31e6 Fix file.symlink state test for windows
302667
302668       · PR  #48310:  (mtorromeo)  Backport  ini_manage  fixes  to  2018.3   @
302669         2018-07-05 16:27:19 UTC
302670
302671         · 432cbbb5ee   Merge  pull  request  #48310  from  mtorromeo/ini-man‐
302672           age-backports
302673
302674         · 88f80fdf77 Fixed pylint useless-super-delegation warning.
302675
302676         · e20f4cacd4  Uniformed  reports   between   ini.options_absent   and
302677           ini.options_present
302678
302679         · 2c3ae0b6c9 pylint cosmetics.
302680
302681         · 0c0d10d18f Fixes dry run false positive when option value is a num‐
302682           ber.
302683
302684         · 70144bccbb Fixes dry run in ini_manage + Fixes related bug  -  when
302685           working  with  options  which  are  not in section. + Fixes related
302686           tests + Fixes pylint warnings
302687
302688       · ISSUE #48402: (elsmorian) Running SaltStack master with no init  sys‐
302689         tem repeatedly logs "could not determine init system " (refs: #48441)
302690
302691       · PR  #48441:  (terminalmage) Switch init system log message to debug @
302692         2018-07-05 14:43:25 UTC
302693
302694         · 84fd3d2784 Merge pull request #48441 from terminalmage/issue48402
302695
302696         · d758995763 Switch init system log message to debug
302697
302698       · PR #48386: (Ch3LL) Update release versions for the  2018.3  branch  @
302699         2018-07-03 13:37:32 UTC
302700
302701         · 871c9e3b98   Merge  pull  request  #48386  from  Ch3LL/1update_ver‐
302702           sion_doc_2018.3
302703
302704         · 84a1994110 Update release versions for the 2018.3 branch
302705
302706       · PR #48404: (Ch3LL) [2018.3] Remove In Progress Warning on 2017.7.7  @
302707         2018-07-03 13:33:18 UTC
302708
302709         · ddb83ad4ce Merge pull request #48404 from Ch3LL/rm_inprog_2018.3
302710
302711         · ef288f2a74 [2018.3] Remove In Progress Warning on 2017.7.7
302712
302713       · PR  #48339:  (terminalmage)  Backport  tojson  filter  from #48309 to
302714         2018.3 @ 2018-07-02 17:52:53 UTC
302715
302716         · PR #48309: (terminalmage) Drop support for Python 2 unicode  string
302717           literals in YAML renderer (refs: #48339)
302718
302719         · 5b38019ca0   Merge  pull  request  #48339  from  terminalmage/back‐
302720           port-tojson-filter
302721
302722         · 4433bec891 Add release notes for tojson jinja filter
302723
302724         · ac36998801 Tweak docs to reflect backported filter
302725
302726         · c636b18cf0 Add unit test for tojson filter
302727
302728         · e34e39f0e2 Document filter deprecation
302729
302730         · b9a4f288b2 Deprecate json_encode_dict  and  json_encode_list  jinja
302731           filters
302732
302733         · 3896e3468c Use upstream tojson filter, if present
302734
302735         · 1499c6abcf  Implement  tojson  jinja filter for those using Jinja <
302736           2.9
302737
302738       · ISSUE #48274: (ipmb) s3.get signature failure with +  in  the  object
302739         name (refs: #48328)
302740
302741       · PR   #48328:   (garethgreenaway)  [2018.3]  Fixes  to  utils/s3.py  @
302742         2018-07-02 13:22:31 UTC
302743
302744         · 222c1d65db   Merge   pull   request   #48328   from    garethgreen‐
302745           away/48274_s3_get_signature_fail
302746
302747         · 22cafc8334 fixing lint issue
302748
302749         · 131486203e  Need  to  pass the URL path through quote to ensure any
302750           special  characters  are  being  quoted  properly.  if  we  include
302751           local_file  for  a  PUT,  read the file into data before passing it
302752           along to requests.requests.
302753
302754       · PR #48358: (Ch3LL) Fix corrupt public key  with  m2crypto  python3  @
302755         2018-07-02 13:10:32 UTC
302756
302757         · d3c658bdcf Merge pull request #48358 from Ch3LL/m2crypto_fix
302758
302759         · 8fdd34d430 m2crypto open file in rb mode for pub key
302760
302761         · a964db4663 Fix corrupt public key with m2crypto python3
302762
302763       · ISSUE #48367: (asenci) salt.proxy.fx2: dictionary changed size during
302764         iteration (refs: #48368)
302765
302766       · ISSUE #46765: (roskens) pkg.mod_repo fails with a python  error  when
302767         removing a dictionary key (refs: #46776)
302768
302769       · PR  #48384:  (rallytime)  Back-port  #48368  to  2018.3  @ 2018-07-01
302770         04:19:10 UTC
302771
302772         · PR #48368: (asenci) Fix issue #48367 using the same approach as  PR
302773           #46776 (refs: #48384)
302774
302775         · PR  #46776:  (gtmanfred)  fix shrinking list in for loop bug (refs:
302776           #48368)
302777
302778         · 2fd63d66dc Merge pull request #48384 from rallytime/bp-48368
302779
302780         · 430c462f34 Fix issue #48367 using the same approach as PR #46776
302781
302782       · PR #48394: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
302783         2018-07-01 04:13:03 UTC
302784
302785         · 3b53e2d206 Merge pull request #48394 from rallytime/merge-2018.3
302786
302787         · 047f5b5f39 Update old utils paths to new utils paths
302788
302789         · c4fd2a0930 Merge branch '2017.7' into '2018.3'
302790
302791         · 7e25f26837 Merge pull request #48362 from twangboy/fix_48276
302792
302793           · 77629f640a Fix module unit tests
302794
302795           · b5ca560b73 Fix lint error
302796
302797           · 210e280ecf Use explicit parameter names
302798
302799           · 776db98a5c Handle missing registry entries
302800
302801         · 80222b6b7c Merge pull request #48383 from rallytime/bp-48379
302802
302803           · 9fc7815594 Clean up the workspaces at the end for every job
302804
302805         · aa68aa774a Merge pull request #48382 from rallytime/bp-48346
302806
302807           · 6a70ba222e Use the right ssh key to destroy kitchen
302808
302809         · 9519f640e7 Merge pull request #48381 from rallytime/bp-48330
302810
302811           · 6857bedcc2 Add warnings plugin to replace violations
302812
302813         · 14db0aa35d Merge pull request #48363 from dubb-b/2017.7
302814
302815           · c0b962e28d Changing debug to info for logging
302816
302817         · 5b29cd326f Merge pull request #48352 from Ch3LL/wheel_doc
302818
302819           · 89ada68165 Add missing key to accept_dict function in wheel docs
302820
302821         · 02cf19ee3b Merge pull request #48329 from rallytime/codeowners-ros‐
302822           ter-files
302823
302824           · 5e56615e00 Trigger review requests for team-ssh for roster files
302825
302826         · 53cf1794be Merge pull request  #48349  from  ralex/fix-manjaro-ser‐
302827           vice-behaviour
302828
302829           · 6cafce547e  Disable  the  service  module  on Manjaro since it is
302830             using systemd
302831
302832         · 89dfcf3a4e  Merge  pull  request  #48324   from   Ch3LL/update_ver‐
302833           sion_doc_2017.7
302834
302835           · 47845ba810 Update release versions for the 2017.7 branch
302836
302837         · ece4c30aac Merge pull request #48331 from rallytime/bp-48215
302838
302839           · 9d6ba3e247 Set jobs to pending when they come in
302840
302841           · 727d2b4ffe Use proper creds with githubNotify
302842
302843           · d355861c5c Test using different credentials
302844
302845         · ab05e00d8c Merge pull request #48332 from rallytime/bp-48321
302846
302847           · d72af6ab4e Jenkins needs the / to get the directory
302848
302849         · 21ed5b97ce Merge pull request #48295 from rallytime/bp-48193
302850
302851           · 352fe33fd6  Separate  set_result()  to  a  new  line  apart  from
302852             Future() call
302853
302854           · c0180ff33d Properly configure syndic in test case
302855
302856           · d0a98534a9 Properly wait on returns in saltnado
302857
302858         · 9aa4687ab9 Merge pull request #48117 from twangboy/fix_48026
302859
302860           · dd37f8fbc2 Disable services that are set to manual
302861
302862         · caf630487c Merge pull request #48207 from rallytime/bp-48189
302863
302864           · e9d09e0375 Use old is_windows utils path on 2017.7
302865
302866           · b965d6c9b3 If pip binary is  passed  to  bin_env,  use  that  pip
302867             binary
302868
302869         · 06a927b2aa Merge pull request #48293 from rallytime/bp-47453
302870
302871           · e96ab6778e dont reset system locale when running rabbitmqctl com‐
302872             mands
302873
302874       · ISSUE  #45939:  (andygabby)  user.present  with  hash_password:  True
302875         detects change on every state.apply/highstate (refs: #47147)
302876
302877       · PR  #47147: (eliasp) states.user.present: Make usage of hash_password
302878         idempotent @ 2018-06-30 13:29:27 UTC
302879
302880         · 9b364e25cf      Merge      pull      request      #47147       from
302881           eliasp/2018.3-issue-45939-shadow-hash-salt
302882
302883         · dd3be1d76e  Add  warning  log  message  when  using MD5 for hashing
302884           shadow passwords
302885
302886         · 5451ab6b7a states.user.present: Make usage of hash_password idempo‐
302887           tent
302888
302889       · PR #48297: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
302890         2018-06-30 12:57:35 UTC
302891
302892         · 89857ea8b9 Merge pull request #48297 from rallytime/merge-2018.3
302893
302894         · 9498618418 Use saltenv opts instead of environment
302895
302896         · 1c8bd35f28 Update old utils paths to use new utils paths
302897
302898         · c7bb8a50b0 Merge branch '2017.7' into '2018.3'
302899
302900           · 95ef006e00  Merge  pull  request  #48219  from  zer0def/lxc-boot‐
302901             strap-fixes
302902
302903             · c77058560b Merge branch '2017.7' into lxc-bootstrap-fixes
302904
302905             · d63cf3f072 Fixes another case of legacy configuration key usage
302906               warning getting in the way of changing container's state.
302907
302908           · 3327181507 Merge pull request #48234 from dwoz/thin_dir
302909
302910             · 70c603451b Fix py2 thin dir issues
302911
302912           · 83d7d286c4 Merge pull request #48080 from lusche/2017.7
302913
302914             · 917dc985fc #47984 remove the line completly
302915
302916             · ba12ee947b        Merge        branch        '2017.7'        of
302917               https://github.com/saltstack/salt into 2017.7
302918
302919             · dfb13d5051 Bugfix #47984 messed up cert serial
302920
302921           · bccb4dcd46 Merge pull request #48232 from gtmanfred/cloud
302922
302923             · d108112e1a do not expand kwargs for cloud.action
302924
302925           · 056f43f663      Merge      pull      request      #48238     from
302926             mirceaulinic/fix-sdb-cache
302927
302928             · 51e5fbfa1d SDB cache module: AttributeError: 'Cache' object has
302929               no attribute 'set'
302930
302931           · 731ec0a11a  Merge  pull request #48037 from terminalmage/fix-cus‐
302932             tom-types-sync-docs
302933
302934             · 052ae83c4b Update versionchanged
302935
302936             · 8b1bd0eda2 Update test to reflect changed argument name
302937
302938             · 5e75936198 Change 2018.3.2 to 2018.3.3
302939
302940             · c53ad603fc Rename sync -> sync_mods per review suggestion
302941
302942             · e4d67c5fd8 Update docs to  include  references  to  new  "sync"
302943               argument
302944
302945             · cb8e6f9fb8 Remove redundant mocking
302946
302947             · bc3ad795e9 Add test for sync argument to state.sls
302948
302949             · f81ccd1fdd Add sync option to state.apply/state.sls
302950
302951             · 8289b07e24 Fix documentation on when custom types are synced
302952
302953           · 0bae927048    Merge    pull    request    #48249    from   rally‐
302954             time/2017.7.7-release-notes-update
302955
302956             · 36032c8ee7 Update release notes for 2017.7.7
302957
302958           · 8e06471817 Merge pull request #48242 from asnell/asnell-patch-1
302959
302960             · f66bf60073 Add sample list data via command line pillar
302961
302962       · PR #48364: (dubb-b) Changing debug to info for logging  @  2018-06-28
302963         20:48:24 UTC
302964
302965         · c5746deb5f Merge pull request #48364 from dubb-b/2018.3
302966
302967         · d8260b6628 Changing debug to info for logging
302968
302969       · PR #48354: (rallytime) [2018.3] Merge forward from 2018.3.2 to 2018.3
302970         @ 2018-06-28 20:26:31 UTC
302971
302972         · 0202493b60    Merge    pull    request    #48354    from     rally‐
302973           time/merge-2018.3.2-to-2018.3
302974
302975         · fface7cc74 Merge branch '2018.3.2' into '2018.3'
302976
302977       · PR  #48347:  (dwoz) Fixes fileserver maintenance process on Windows @
302978         2018-06-28 13:17:42 UTC
302979
302980         · bbabbbf76b Merge pull request #48347 from dwoz/sigfix
302981
302982         · ccdff5029f Remove unneeded attribute
302983
302984              · e8362adf71 fopen does not support encoding
302985
302986              · 487161ba8f Fix file encoding on windows
302987
302988              · fc760685ee Fix multiple git module tests
302989
302990       · PR #47975: (terminalmage) Add a new  git.cloned  state  @  2018-06-27
302991         20:53:42 UTC
302992
302993         · 67303d7901 Merge pull request #47975 from terminalmage/issue47937
302994
302995         · 34b24bb7fa Merge branch '2018.3' into issue47937
302996
302997       · PR  #48323:  (Ch3LL)  Update release versions for the 2018.3 branch @
302998         2018-06-27 13:44:58 UTC
302999
303000         · 5b8d55428e  Merge  pull  request  #48323   from   Ch3LL/update_ver‐
303001           sion_doc_2018.3
303002
303003         · b4548aca56 Update release versions for the 2018.3 branch
303004
303005       · PR  #48326: (Ch3LL) Remove In Progress Warning for 2018.3.2 Release @
303006         2018-06-27 13:43:16 UTC
303007
303008         · 7cf403e313 Merge pull request #48326 from Ch3LL/rn_remove_in_prog
303009
303010         · dfce1ad5ed Remove In Progress Warning for 2018.3.2 Release
303011
303012       · PR  #48301:  (terminalmage)  Fix  typos  in  new  mock_open  docs   @
303013         2018-06-25 19:08:14 UTC
303014
303015         · 60ffad5126 Merge pull request #48301 from terminalmage/docs
303016
303017         · 6c33345f05 Fix typos in new mock_open docs
303018
303019       · PR  #48292:  (rallytime)  Back-port  #48288  to  2018.3  @ 2018-06-25
303020         19:07:11 UTC
303021
303022         · PR #48288: (rmarchei) fix  lsattr.get  in  file.check_perms  (refs:
303023           #48292)
303024
303025         · 4760f87153 Merge pull request #48292 from rallytime/bp-48288
303026
303027         · d6620573bb fix lsattr.get in file.check_perms
303028
303029       · PR  #48296:  (rallytime)  Back-port  #48258  to  2018.3  @ 2018-06-25
303030         19:04:41 UTC
303031
303032         · PR #48258: (nullify005) preserve tuples for ldap modification oper‐
303033           ations (refs: #48296)
303034
303035         · 27207fc510 Merge pull request #48296 from rallytime/bp-48258
303036
303037         · 8b7f36f264 preserve tuples for ldap modification operations
303038
303039       · ISSUE  #48204:  (zerthimon)  State  mysql_user.present Exception with
303040         mysql 8.0.11 (refs: #48275, #48228)
303041
303042       · PR #48275: (garethgreenaway) [2018.3] Follow up fix to MySQL user for
303043         password management @ 2018-06-25 13:23:35 UTC
303044
303045         · d5265da945    Merge   pull   request   #48275   from   garethgreen‐
303046           away/mysql_fix_followup
303047
303048         · bb024b9115 Removing unnecessary code.
303049
303050         · 8b542e1745 With MySQL versions 8.0.11 and beyond, since  the  PASS‐
303051           WORD  function has been removed we need to hash the password string
303052           before comparing when checking if the user exists.
303053
303054       · PR #48286: (terminalmage) Don't load the grains again  when  printing
303055         them via salt-call -g @ 2018-06-25 13:19:18 UTC
303056
303057         · 1f306525a7   Merge  pull  request  #48286  from  terminalmage/call‐
303058           er-print_grains
303059
303060         · caa62c051f Don't load the  grains  again  when  printing  them  via
303061           salt-call -g
303062
303063       · PR  #48279:  (terminalmage) Add documentation/further enhancements to
303064         rewritten mock_open @ 2018-06-25 13:12:30 UTC
303065
303066         · 27a0e95174   Merge   pull    request    #48279    from    terminal‐
303067           mage/mock_open-docs
303068
303069         · 65c575ae9c Fix spelling error
303070
303071         · 830a624ce8  Ignore IOError when tearing down filehandles not opened
303072           for reading
303073
303074         · 3b6356f4b0 Raise TypeError when trying to read from filehandles not
303075           opened for reading
303076
303077         · 09aae0c82b Add more examples and information on strict string types
303078
303079         · 8c069d105d Add some mock_open docs
303080
303081         · a13d1fe1a0   Update  mock_open  usage  to  reflect  read_data  type
303082           enforcement
303083
303084         · 374a8ce31f Add more mock_open tests
303085
303086         · 0f06adb008 Improve code-reuse in mock_open tests
303087
303088         · 0e8c83bac6 2 MockFH enhancements:
303089
303090       · ISSUE #48141: (zerthimon) salt-api request  causes  exception  (refs:
303091         #48236)
303092
303093       · PR  #48236:  (garethgreenaway) [2018.3] Fix to cmd_batch @ 2018-06-25
303094         12:58:49 UTC
303095
303096         · 6ee856631b   Merge   pull   request   #48236   from    garethgreen‐
303097           away/48141_salt_api_local_batch
303098
303099         · aea4f7ae14 Fixing test_local_batch
303100
303101         · ce3e1eaf2c Removing sort.
303102
303103         · 83accf3b20 Fixing test_local_batch
303104
303105         · ff14b99752 Fixing a typo in the comment.
303106
303107         · 85cef126e0  Adding  note  about  why  salt.utils.versions  is being
303108           re-imported.  Adding a test for local_batch.
303109
303110         · 808805fd3d Fixing cmd_batch  to  work  correctly  when  called  via
303111           salt-api.
303112
303113       · ISSUE  #48204:  (zerthimon)  State  mysql_user.present Exception with
303114         mysql 8.0.11 (refs: #48275, #48228)
303115
303116       · PR  #48228:  (garethgreenaway)  [2018.3]  Fixes  to  mysql  module  @
303117         2018-06-22 15:44:00 UTC
303118
303119         · 09b036c26e    Merge   pull   request   #48228   from   garethgreen‐
303120           away/48204_mysql_user_password_exception
303121
303122         · 1b2ffcef1d Updating the mysql module to not use the  PASSWORD  when
303123           MySQL  is version 8.0.11 or higher, where the PASSWORD function has
303124           been removed.
303125
303126       · PR #48252: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
303127         2018-06-22 15:13:42 UTC
303128
303129         · 67cb5563ef Merge pull request #48252 from rallytime/merge-2018.3
303130
303131         · 84ec655c24 Merge branch '2017.7' into '2018.3'
303132
303133           · a172f9de84    Merge    pull   request   #48226   from   terminal‐
303134             mage/fix-alias-docstring
303135
303136             · fb237272f5 Don't display  "None"  in  SaltInvocationError  when
303137               Salt installed using -OO
303138
303139             · 90c90f5d5c  Fix  docstring  construction in alias_function when
303140               Salt installed using -OO
303141
303142           · c6a0207cae Merge pull request #48227 from Ch3LL/fix_win_tests
303143
303144             · 236773e3e9 Skip new sha256 files on repo.saltstack.com/windows
303145
303146           · 6929423528    Merge    pull    request    #48131    from     bow‐
303147             manjd-lms/fix-apk-python3
303148
303149             · f5d2835299 Merge branch '2017.7' into fix-apk-python3
303150
303151             · 022f9cba50 Fix py3-incompatible dict.keys()[x] call in apk.py
303152
303153           · 868c17377f   Merge   pull   request   #48185   from   DSRCorpora‐
303154             tion/bugs/47901_future_done_exception
303155
303156             · 5f63316311       Merge       branch        '2017.7'        into
303157               bugs/47901_future_done_exception
303158
303159             · 9f2dbf94cb Don't call .exception() on future unless it's done.
303160
303161           · 80a3e37c2e  Merge  pull request #48192 from twangboy/fix_pip_ver‐
303162             sion_2017.7
303163
303164             · 59ae2cc5fc Use --disable-pip-version-check for build_env_#.ps1
303165
303166           · 12e2b8882a  Merge  pull  request  #48201  from  zer0def/lxc-boot‐
303167             strap-fixes
303168
303169             · 6f6d3d40d4  Take  lxcpath  into  account when bootstrapping new
303170               containers. Version comparison fixes.
303171
303172           · e079fce38d   Merge   pull   request   #48190    from    terminal‐
303173             mage/fix-vfstab-test
303174
303175             · 8d70d14362 Fix mount.vfstab unit test
303176
303177           · c8b9cec986 Merge pull request #48115 from KaiSforza/pr-lint-2017
303178
303179             · 494727ab39 Add docs, kitchen tests
303180
303181             · 317023bb20 Move .jenkins to .ci for future
303182
303183             · dedc313cee Make it parallel so we don't fail right away
303184
303185             · cd13426726 Add a .jenkins file to run pylint
303186
303187           · fc1752b721    Merge    pull   request   #48174   from   terminal‐
303188             mage/docker-update-mine
303189
303190             · 9af09e0127    Mock    config.get    due    to    changes     in
303191               _refresh_mine_cache
303192
303193             · c5802ad465 Fix the version number in versionadded
303194
303195             · d403ae58d7 Add unit test for docker.update_mine
303196
303197             · 44c275698a Actually it's more than just add/remove that updates
303198               the mine
303199
303200             · 0cb6996b07 Add release notes mention of docker.update_mine con‐
303201               fig option
303202
303203             · de05097b20 Add docs for new config option
303204
303205             · 04c55a9178 Add note in mine.get_docker docstring about new con‐
303206               fig item
303207
303208             · 4e456255c0 Allow mine update to be disabled  using  new  config
303209               option
303210
303211       · ISSUE #48029: (vinian) syndic failed to auth when restart salt-master
303212         on syndic master (refs: #48034)
303213
303214       · PR #48034: (vinian) restart salt-syndic when  salt-master  restart  @
303215         2018-06-21 20:12:37 UTC
303216
303217         · 9f0bd90c5b  Merge pull request #48034 from vinian/restart-salt-syn‐
303218           dic-when-salt-master-retart
303219
303220         · f7652d8c8b restart salt-syndic when salt-master restart
303221
303222       · PR #48250: (rallytime) Update release notes for 2018.3.2 @ 2018-06-21
303223         18:30:21 UTC
303224
303225         · ab2ba942ad     Merge    pull    request    #48250    from    rally‐
303226           time/2018.3.2-release-notes-update
303227
303228         · 19c104b6cd Update release notes for 2018.3.2
303229
303230       · PR #48166: (terminalmage) Add trace logging and  optimize  file  han‐
303231         dling in grains.core.os_data @ 2018-06-21 18:02:33 UTC
303232
303233         · 51928ff050  Merge  pull request #48166 from terminalmage/salt-jenk‐
303234           ins-1000
303235
303236         · b73df0ab00 Change call_args to  call.args  to  reflect  changes  to
303237           MockFH
303238
303239         · 0c2cc07704 remove unused import
303240
303241         · b8c0a55cf3 Add test for tell()
303242
303243         · 1cbe89feee Implement tell() for filehandle iteration
303244
303245         · efb8f49d42  Add  tests  for  read_data being a list, and containing
303246           unicode or bytestrings
303247
303248         · 38df912fa6 Operate on a copy of the read_data
303249
303250         · 71eeae1240 Update mount module unit tests  to  reflect  changes  in
303251           mock_open
303252
303253         · 16c414e120 Update nfs3 module tests to reflect changes in mock_open
303254
303255         · b7eab25d6c  Update  grub_legacy  module tests to reflect changes in
303256           mock_open
303257
303258         · cc002b8fd7 Update new network  unit  test  to  reflect  changes  in
303259           mock_open
303260
303261         · a8f11594f1  Update  new  core  grains  tests  to reflect changes in
303262           mock_open
303263
303264         · 84ce18d956 Update crypt unit tests to reflect changes in mock_open
303265
303266         · 67c036dc2d Add MockCall to tests.support.mock to track calls
303267
303268         · 2556a1e13d Remove unused import
303269
303270         · fd9d700157 Add additional docs to MockOpen class
303271
303272         · 6acb4c83ec Update newly added test to reflect renaming  of  handles
303273           attribute
303274
303275         · 77e5288d42  Update fibre_channel grains tests to reflect changes in
303276           mock_open
303277
303278         · ed40371a06 Update timezone  module  tests  to  reflect  changes  in
303279           mock_open
303280
303281         · fc0aa9934f Track call_count in MockOpen
303282
303283         · 2598d2453a  Update  snapper  module  tests  to  reflect  changes in
303284           mock_open
303285
303286         · 51b3faa7b4 Add support for passing multiple  strings  for  a  given
303287           match in read_data
303288
303289         · 55487c175c Fix mock_open call to use new multifile syntax
303290
303291         · 7f516ef73a  Update  puppet  module  tests  to  reflect  changes  in
303292           mock_open
303293
303294         · 33a97c4ecc Update btmp beacon tests to reflect changes in mock_open
303295
303296         · bc027cfa94 Update wtmp beacon tests to reflect changes in mock_open
303297
303298         · f5823252bb Track call args/kwargs in MockFH
303299
303300         · 335591ca90 Mock the seek function in MockFH
303301
303302         · 7eb4b1ae1c Update cp.push test to reflect changes to mock_open
303303
303304         · 2be19cfa89 Report correct location when reading using explicit size
303305           and EOF reached
303306
303307         · 5ec95ba5ca On second thought, actually implement tell()
303308
303309         · 19022eb9e5 Add tell mock to MockFH
303310
303311         · 4b5a393445 Update junos tests to reflect changes to mock_open
303312
303313         · 278a222b09 Update dnsutil tests to reflect changes to mock_open
303314
303315         · 4e67955572 Replace the rest of mock_open with a class
303316
303317         · 75307a47c5   Update   linux_sysctl  tests  to  reflect  changes  to
303318           mock_open
303319
303320         · 05c68fd5d9 Use explicit config file and  fix  remaining  mac_sysctl
303321           tests
303322
303323         · 836fde9a30 Allow Python 2 to accept an exception as read_data
303324
303325         · 543385fd02 Add writelines_calls property
303326
303327         · 42fa842456 Make read funcs mocks so their calls can be tracked
303328
303329         · 675f03c58f  Update mac_sysctl tests to reflect new mock_open behav‐
303330           ior
303331
303332         · 3d2c41d395 Update file module tests to reflect new mock_open behav‐
303333           ior
303334
303335         · b9200dbc3e  add  a  dict  containing  the  handles to the mock_open
303336           return object
303337
303338         · 852ba4b982 Add mocked close() function to MockFH
303339
303340         · f6b46bc608 Remove unused import
303341
303342         · 20f60a769b Add blank lines to appease linter
303343
303344         · 48d7cfa6d3 Add multifile tests for mock_open
303345
303346         · 1861e9b944 mock_open: rewrite multi-file support
303347
303348         · 5e6b539770 Use function for empty string
303349
303350         · cb2620ad2b Update core grains tests to reflect EAFP changes
303351
303352         · 5d09b178d7 Separate mocked file contents per filename, not glob
303353
303354         · 875102f538 Modify mock_open to support multiple file paths
303355
303356         · 096ace74df Move lsb_release parsing into its own function
303357
303358         · 6a0828beed Add unit tests for mock_open
303359
303360         · 8ba6cadac7 More mock_open bugfixes
303361
303362         · 329dea218e Add a bunch of logging for linux os_data core grains
303363
303364         · 2c64b270df Add timestamp to the minion's log_fmt_console
303365
303366       · PR #48216: (Ch3LL) Fix UnicodeDecodeError when reading file to deter‐
303367         mine virtual grain (refs: #48440) @ 2018-06-20 16:53:41 UTC
303368
303369         · 6072d1ef9c Merge pull request #48216 from Ch3LL/grains_unicode
303370
303371         · c4334f3f14  Fix  UnicodeDecodeError  when reading file to determine
303372           virtual grain
303373
303374       · PR  #48212:  (Ch3LL)  Fix  python3  ec2  salt-cloud  TypeError   when
303375         installing salt (refs: #49041) @ 2018-06-20 16:00:21 UTC
303376
303377         · 77a75ebdcf Merge pull request #48212 from Ch3LL/py3_ec2
303378
303379         · b0d75f459a  Fix  python3  ec2  salt-cloud TypeError when installing
303380           salt
303381
303382       · ISSUE #47984: (jeduardo) x509 module/state writing wrong  certificate
303383         serial number to CRL  (refs: #47986, #48080)
303384
303385       · PR  #48209:  (rallytime)  Back-port  #47986  to  2018.3  @ 2018-06-20
303386         13:44:17 UTC
303387
303388         · PR #48080: (lusche) Bugfix #47984  messed  up  cert  serial  (refs:
303389           #48209)
303390
303391         · PR #47986: (jeduardo) Fix serial number writing into CRL files with
303392           the x509 module (refs: #48209)
303393
303394         · de614d31f5 Merge pull request #48209 from rallytime/bp-47986
303395
303396         · f4b3bd5d2c Changed salt.utils.fopen to salt.utils.files.fopen
303397
303398         · 8686872909 Fixed typos, removed repeated unit  tests,  and  applied
303399           code fixes suggested by linter.
303400
303401         · 382df48a72 Removed useless new line
303402
303403         · 5aa99d14c4  Added unit tests for CRL creation and certificate revo‐
303404           cation with CRL
303405
303406         · cc12844922 Fixed a problem where the  OpenSSL  bindings  refuse  to
303407           consume unicode strings.
303408
303409         · 399cf08860  Stopped  converting  the certificate hexadecimal serial
303410           number to an integer in order to avoid breaking CRLs.
303411
303412       · PR #48210: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
303413         @ 2018-06-20 13:43:19 UTC
303414
303415         · 1f88df6e89 Merge pull request #48210 from rallytime/merge-2018.3
303416
303417         · dae65da256 Merge branch '2018.3.1' into '2018.3'
303418
303419       · PR   #48186:  (rallytime)  Add  autodoc  module  for  saltcheck.py  @
303420         2018-06-19 19:03:55 UTC
303421
303422         · 5b4897f050 Merge pull request #48186 from rallytime/saltcheck-docs
303423
303424         · 314fc2d889 Clean up some doc references
303425
303426         · da7603d879 Add autodoc module for saltcheck.py
303427
303428       · PR #48191: (twangboy) Use the  --disable-pip-version-check  option  @
303429         2018-06-19 18:13:44 UTC
303430
303431         · 7274a33c80 Merge pull request #48191 from twangboy/fix_pip_check
303432
303433         · 5c00fce6bf Use the --disable-pip-version-check option
303434
303435       · ISSUE  #48122:  (pasmon) Salt minion 2017.7.6 disregards "bin_env" in
303436         pip state (refs: #48189)
303437
303438       · PR #48189: (gtmanfred) If pip binary is passed to bin_env,  use  that
303439         pip binary (refs: #48207) @ 2018-06-19 18:08:13 UTC
303440
303441         · 96f79b0674 Merge pull request #48189 from gtmanfred/pip
303442
303443         · 96c59f3d93 If pip binary is passed to bin_env, use that pip binary
303444
303445       · PR #48165: (terminalmage) Fix regression with top_file_merging_strat‐
303446         egy=same @ 2018-06-19 18:03:07 UTC
303447
303448         · 71e385501b Merge pull request #48165 from terminalmage/issue48144
303449
303450         · 92ac2a2d6a Remove unused imports
303451
303452         · 15a44d5dd4 Remove redundant top file merging tests
303453
303454         · 12100d9bd3 Add more top file merging tests
303455
303456         · 0ed686cb3f Add unit test for show_top with "same" merging strategy
303457
303458         · 35e5492fb7 Revert 7058f10 / 3df6fa7
303459
303460       · ISSUE #46806: (ezh) Lack of debug messages  on  authentication  fail.
303461         (refs: #46807, #48179)
303462
303463       · PR #48179: (ezh) 2018.3 auth @ 2018-06-19 14:16:40 UTC
303464
303465         · PR  #46807:  (ezh)  Reduce  initial authentication setup complexity
303466           (refs: #48179)
303467
303468         · 2a8e1c6539 Merge pull request #48179 from ezh/2018.3-auth
303469
303470         · 9ed2d2ec55    Fix    integration.shell.test_key    and     integra‐
303471           tion.shell.test_runner
303472
303473         · 26a6f79730   Fix   integration   tests   test_list_acc_wrong_eauth,
303474           test_salt_run_with_wrong_eauth
303475
303476         · b84c4321c4 Add more verbose debug messages for auth subsystem
303477
303478       · PR #48188: (gtmanfred) allow virtual  aliases  to  be  used  for  the
303479         driver name @ 2018-06-18 21:49:16 UTC
303480
303481         · 0231008cf8 Merge pull request #48188 from gtmanfred/2018.3
303482
303483         · 45249d3e10 allow virtual aliases to be used for the driver name
303484
303485       · PR  #48116:  (KaiSforza)  Add  jenkinsfiles to define tests in 2018 @
303486         2018-06-18 21:27:10 UTC
303487
303488         · 0f95238dca Merge pull request #48116 from KaiSforza/pr-lint-2018
303489
303490         · f158bed5bd Add docs, kitchen tests
303491
303492         · 904a70c187 Move .jenkins to .ci for future
303493
303494         · 365fa0e51f Make it parallel so we don't fail right away
303495
303496         · e594979745 Add a .jenkins file to run pylint
303497
303498       · ISSUE #48146: (rmarchei) mysql_query.run: exception on 2018.3  (refs:
303499         #48164)
303500
303501       · PR   #48164:  (garethgreenaway)  [2018.3]  Fixes  to  mysql  state  @
303502         2018-06-18 13:10:20 UTC
303503
303504         · 60c9490bdc   Merge   pull   request   #48164   from    garethgreen‐
303505           away/48146_mysql_output_to_file
303506
303507         · a040643a82  Accounting for certain situations when the query result
303508           is not a string, but actually a dictionary.
303509
303510       · ISSUE #48113: (gaetanquentin) state file.line has  error  and   erase
303511         file  content  completly,  while with mode  test=true it is ok (refs:
303512         #48156)
303513
303514       · PR #48156: (garethgreenaway) [2018.3] Unicode fixes for  file.line  @
303515         2018-06-17 19:34:08 UTC
303516
303517         · 85ebcbd3f2    Merge   pull   request   #48156   from   garethgreen‐
303518           away/48113_ensure_writing_strings_with_file_dot_line
303519
303520         · 5a9ef0d1ae Unless we're using py2 and Windows, ensure we're writing
303521           out a string when using file.line.
303522
303523       · PR #48161: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
303524         2018-06-17 19:33:29 UTC
303525
303526         · 33400e72db Merge pull request #48161 from rallytime/merge-2018.3
303527
303528         · 0733fa1b02 Update utils path for which function to new path
303529
303530         · 398cc78224 Merge branch '2017.7' into '2018.3'
303531
303532         · df2a156338   Merge   pull   request   #48061   from    garethgreen‐
303533           away/port_47049_2017_7
303534
303535           · 7c472fed51 Fixing failing test_set_hwclock_aix test.
303536
303537           · ccb0acc958 Porting #47049 to 2017.7.
303538
303539         · 5ec3cf2dd4 Merge pull request #48143 from Ch3LL/fix_long_job
303540
303541           · 48b5d2e9d3 Add timeout argument to run_salt for ShellCase
303542
303543         · e1e566d1f8     Merge    pull    request    #48135    from    rally‐
303544           time/release-notes-2017.7
303545
303546           · 7a97f157b3 Add missing v for tag reference
303547
303548           · 2f2b69ed37 Add "in progress" notation to 2017.7.7 release notes
303549
303550           · 06a1151a63 Add release notes file for 2017.7.7
303551
303552           · 885b2862ce Move 2017.7.7 release notes to 2017.7.8
303553
303554         · ac9dabbfaa Merge pull request #48105 from rallytime/merge-2017.7
303555
303556           · cdb45874de Merge branch '2017.7.6' into '2017.7'
303557
303558             · 16916d6bd2 Merge pull request #47880 from gtmanfred/2017.7.6
303559
303560               · 987ae6358b quote python_version in requirements.txt
303561
303562             · 27670168ea   Merge   pull   request    #47875    from    rally‐
303563               time/release-notes-dot-six
303564
303565               · 58dee4c829   Remove  sentence  about  the  release  being  in
303566                 progress
303567
303568               · b3dcb7330e Remove "in progress" too
303569
303570               · 99e1df7823 Update 2017.7.6 release notes: remove "unreleased"
303571                 text
303572
303573             · 1f0bada07c Merge pull request #47873 from gtmanfred/2017.7.6
303574
303575               · a1c1b5b5cf allow tornado 5.0 to be installed only for python2
303576
303577         · 2da56a69d9     Merge    pull    request    #48101    from    rally‐
303578           time/update-doc-refs-2017.7
303579
303580           · 7ba6f5fb36 Update 2017.7.7 reference to 2017.7.8
303581
303582         · 5a0e3d46e7   Merge   pull    request    #48091    from    terminal‐
303583           mage/fix-file_roots-monkeypatching
303584
303585           · 6fe711ad76  Reverse  monkeypatching  after test_symlink_list fin‐
303586             ishes
303587
303588         · 053b019a8f Merge pull  request  #48088  from  rallytime/update_ver‐
303589           sion_doc_2017.7
303590
303591           · 1b8d1c936b Remove "in progress" info for 2017.7.6 release notes
303592
303593           · 9a0f4d190a Update release versions for the 2017.7 branch
303594
303595         · d6d2c5ee18    Merge   pull   request   #48075   from   garethgreen‐
303596           away/48038_jobs_are_not_deduping_minion_side
303597
303598           · c537b3275b Ensure that the shared list of  jids  is  passed  when
303599             creating  the Minion.  Fixes an issue when minions are pointed at
303600             multiple syndics.
303601
303602         · aa33cc0b0c Merge pull request #48071 from terminalmage/gitfs-docs
303603
303604           · 24545204b3 Fix inaccurate gitfs_saltenv example  in  GitFS  Walk‐
303605             through
303606
303607         · fb4ceacb88 Merge pull request #48053 from rallytime/bp-48040
303608
303609           · 265b22b194 states/github.py fix for incorrect positional argument
303610
303611         · f37dcaac6d Merge pull request #48024 from gtmanfred/2017.7
303612
303613           · 56b074ab27 allow specifying a different state to run on converge
303614
303615           · cc9c4b4d5a add pytest coverage and xml junits
303616
303617       · ISSUE  #48145:  (max-arnold) Failed to load ext_pillar saltclass: can
303618         only assign an iterable (refs: #48155)
303619
303620       · PR #48155: (max-arnold) Do not fail on empty saltclass  classes  (fix
303621         for #48145) @ 2018-06-15 20:21:28 UTC
303622
303623         · 9aa9a83b10 Merge pull request #48155 from max-arnold/2018.3
303624
303625         · 63ab02c648  Do  not  fail  on  empty  saltclass classes declaration
303626           #48145
303627
303628         · 3d4fcbe3aa Add test for issue #48145
303629
303630       · PR #48104: (twangboy) Fix unit.modules.test_win_status  @  2018-06-15
303631         17:05:34 UTC
303632
303633         · 152c09cc0c     Merge    pull    request    #48104    from    twang‐
303634           boy/fix_test_win_status
303635
303636         · 1ec3f436ee Fix test_error_logged_if_process_get_owner_fails
303637
303638       · PR #48147: (brejoc) Fix  for  sorting  of  multi-version  packages  @
303639         2018-06-15 17:03:18 UTC
303640
303641         · 8cf03110d4  Merge pull request #48147 from brejoc/2018.3-multi-ver‐
303642           sion-fix
303643
303644         · 90ed25447d Swtiching to salt.utils.versions like linter suggested
303645
303646         · ed09574073 Fix for sorting of multi-version  packages  (bsc#1097174
303647           and bsc#1097413)
303648
303649       · PR #47956: (dmurphy18) Improved support for mount on AIX @ 2018-06-15
303650         13:40:01 UTC
303651
303652         · 2edc5f5442 Merge pull request #47956 from  dmurphy18/aix_mount_sup‐
303653           port
303654
303655         · f2a3e321db Improved support for mount on AIX
303656
303657       · ISSUE  #48012:  (Timandes)  Found  UnicodeDecodeError  when trying to
303658         start Salt Master (refs: #48081)
303659
303660       · PR #48081: (terminalmage) Fix UnicodeDecodeError when  parsing  hosts
303661         file with non-ascii @ 2018-06-15 12:41:13 UTC
303662
303663         · c05c176782 Merge pull request #48081 from terminalmage/issue48012
303664
303665         · 8d2fb0bf25 Fix cp.push test
303666
303667         · e230a7223f Fix definition of test data for wtmp/btmp beacon tests
303668
303669         · 82874a8c10 Import six like we do everywhere else
303670
303671         · 54f9a2ab54 Remove unused import
303672
303673         · 767cc7e87f fix tabs
303674
303675         · db19636f56 Get rid of additional newline append
303676
303677         · 7427e192ba Fix more crappy mocking
303678
303679         · 4eaa5789ce Fix crappy mocking
303680
303681         · 248467edac Add regression test for _generate_minion_id()
303682
303683         · 5e62d6d45f  Fix  UnicodeDecodeError  when  parsing  hosts file with
303684           non-ascii
303685
303686         · e6a4744f85 Use errno instead of hard-coding error 2
303687
303688         · ff63f36932 Fixes / enhancements for mock_open
303689
303690       · PR #48133: (rallytime) Updates  the  2018.3.2  and  2018.3.3  release
303691         notes files @ 2018-06-14 21:21:15 UTC
303692
303693         · PR  #48129:  (rallytime)  Add  release  notes  for  2018.3.2 (refs:
303694           #48133)
303695
303696         · 5d92e2763a    Merge    pull    request    #48133    from     rally‐
303697           time/release-notes-2018.3
303698
303699         · afe1e91972 Add "in progress" notation to 2018.3.2 release notes
303700
303701         · 3e4272ac09 Add release notes for 2018.3.2
303702
303703         · 88c584cb0d Move 2018.3.2 release notes to 2018.3.3
303704
303705       · PR #48103: (terminalmage) Fix for gitfs base env being pinned to com‐
303706         mit ID @ 2018-06-14 16:29:24 UTC
303707
303708         · 0e3f846836   Merge   pull    request    #48103    from    terminal‐
303709           mage/gitfs-base-pinned-to-commit
303710
303711         · 31ab2fe8de Fix for gitfs base env being pinned to commit ID
303712
303713       · PR  #48077: (twangboy) Fix issue with salt.utils.parsers on Windows @
303714         2018-06-14 16:22:57 UTC
303715
303716         · 4b6f1c7f75 Merge pull request #48077 from twangboy/fix_parsers
303717
303718         · 0f7d7691a2 Call logger in each case
303719
303720         · 0e99dd741c Fix logic for non-root
303721
303722         · 2d2534a688 Fix parsers for Windows, fix tests
303723
303724       · PR  #48096:  (twangboy)  Fix  unit.utils.test_which  on   Windows   @
303725         2018-06-14 13:15:14 UTC
303726
303727         · 80332b32a7 Merge pull request #48096 from twangboy/fix_test_which
303728
303729         · d26fc56f13 Use os.sep for paths
303730
303731       · PR   #48102:  (rallytime)  [2018.3]  Update  2018.3.2  references  to
303732         2018.3.3 @ 2018-06-14 13:14:26 UTC
303733
303734         · 66b2200913    Merge    pull    request    #48102    from     rally‐
303735           time/update-doc-refs-2018.3
303736
303737         · 1c9bcce3d8 Update 2018.3.2 references to 2018.3.3
303738
303739       · PR  #48109:  (rallytime)  Back-port  #47851  to  2018.3  @ 2018-06-14
303740         13:09:04 UTC
303741
303742         · PR  #47851:  (rares-pop)  Fixup!   add   master.py:FileserverUpdate
303743           **kwargs (refs: #48109)
303744
303745         · 2902ee0b14 Merge pull request #48109 from rallytime/bp-47851
303746
303747         · e9dc30bf8e Fixup! add master.py:FileserverUpdate **kwargs
303748
303749       · ISSUE  #47925:  (JonGriggs)  GitFS  looking  for  files in the master
303750         branch only (refs: #47943)
303751
303752       · PR #47943: (terminalmage) Make sure we set the effective  environment
303753         when lock_saltenv is True @ 2018-06-13 20:02:00 UTC
303754
303755         · 2529292568 Merge pull request #47943 from terminalmage/issue47925
303756
303757         · 534e1a7100 Merge branch '2018.3' into issue47925
303758
303759       · PR  #48089: (rallytime) Update release versions for the 2018.3 branch
303760         @ 2018-06-13 14:03:44 UTC
303761
303762         · 9e1d0040e4 Merge pull  request  #48089  from  rallytime/update_ver‐
303763           sion_doc_2018.3
303764
303765         · fad6a0991e Remove "in progress" info for 2018.3.1 release notes
303766
303767         · a3b3b0a0e1 Remove "in progress" info for 2017.7.6 release notes
303768
303769         · f9be1b9125 Update release versions for the 2018.3 branch
303770
303771       · PR #48054: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
303772         2018-06-13 12:58:46 UTC
303773
303774         · b10b7355a0 Merge pull request #48054 from rallytime/merge-2018.3
303775
303776         · 508d70fabf Update old utils paths to use new paths
303777
303778         · 3d2ea16c3a Merge branch '2017.7' into '2018.3'
303779
303780           · ffee3576ec   Merge    pull    request    #48044    from    twang‐
303781             boy/wua_add_fail_code
303782
303783             · d41d0c25eb Add faile code for WinHTTP send/receive error
303784
303785           · 871a910fcb Merge pull request #48009 from dwoz/winswarmfix
303786
303787             · 5027c7bb84 minionswarm runs on windows
303788
303789           · 0dcaead36d Merge pull request #47968 from gtmanfred/2017.7
303790
303791             · ae1b0d28bb pass LANG and HOME into tox commands
303792
303793             · 8d15b93d00 remove tox virtualenvs from doc tests
303794
303795             · e1872e2036 simplify tox.ini
303796
303797             · 81bd01f5af  add  tests.txt  for running tests with tox require‐
303798               ments
303799
303800             · 556a2067fc fix masterapi test to use testing directory for con‐
303801               figs
303802
303803             · 5a41f484ef add EXPENSIVE_TESTS
303804
303805             · 055cd5a6ba   set  DESTRUCTIVE_TESTS  environment  variable  for
303806               pytest
303807
303808           · 42dd6b83eb Merge pull request #47978 from twangboy/fix_test_pkg
303809
303810             · 8bb36b3a4b Add try/finally, fix typo in 7zip def file
303811
303812           · a67b21ef3d Merge pull request #47959 from  twangboy/fix_test_ser‐
303813             vice
303814
303815             · 0cd47aa81e Remove unused import
303816
303817             · d4b42540e3 Fix failing test when service doesn't exist
303818
303819           · b81d482067  Merge  pull request #47983 from garethgreenaway/back‐
303820             port_47843_2017_7
303821
303822             · 7b7fb1f5d5 Adding missing test sls file.
303823
303824             · 54e51bc627 Backporting #47843  to  2017.7,  updating  test  for
303825               2017.7.
303826
303827           · d56ddad22c Merge pull request #47533 from twangboy/fix_47178
303828
303829             · 24717cbc21 Change version added to 2017.7.7
303830
303831             · 0592f1bac2 Fix issues with functions that user makedirs on Win‐
303832               dows
303833
303834           · 5c56b8c755 Merge pull request #47827 from twangboy/fix_47791
303835
303836             · fbbd91f09e Add more descriptive debug message
303837
303838             · 365f81651b Fix deprecated exception handling
303839
303840             · 8dd6710b93 Use local instead of network
303841
303842             · 980d99d74b Fix issue when archive is on mapped drive
303843
303844       · PR #48060: (gtmanfred) mark test as expensive @  2018-06-13  12:58:21
303845         UTC
303846
303847         · c83818e4f9 Merge pull request #48060 from gtmanfred/2018.3
303848
303849         · 914935c4d4 Merge branch '2018.3' into 2018.3
303850
303851       · PR #48057: (terminalmage) Fix link without target in 2018.3.0 release
303852         notes @ 2018-06-11 18:50:17 UTC
303853
303854         · a4eb41623d Merge pull request #48057 from terminalmage/docs-2018.3
303855
303856         · 20f71ff6f6 Fix link without target in 2018.3.0 release notes
303857
303858         · d8c035e5e5 mark test as expensive
303859
303860       · PR #48042: (terminalmage) Switch to trace level logging  for  further
303861         test failure troubleshooting @ 2018-06-11 14:03:48 UTC
303862
303863         · 0f9a3122df  Merge  pull request #48042 from terminalmage/salt-jenk‐
303864           ins-1000
303865
303866         · b33a0b5eaa Switch to trace level logging for further  test  failure
303867           troubleshooting
303868
303869       · PR  #48041: (terminalmage) salt.utils.hashutils: Only decode to utf-8
303870         on Windows @ 2018-06-11 13:31:41 UTC
303871
303872         · 6c5389189a   Merge   pull    request    #48041    from    terminal‐
303873           mage/hashutils-fix-windows
303874
303875         · 58c7cd33d7 salt.utils.hashutils: Only decode to utf-8 on Windows
303876
303877       · PR #48014: (cro) Find job pause @ 2018-06-08 13:48:45 UTC
303878
303879         · dcae209951 Merge pull request #48014 from cro/find_job_pause
303880
303881         · 440aa67c4f Lint: Add blank line
303882
303883         · 7b0e99a511 One more case where returner doesn't respond
303884
303885         · 5abeedf882  Catch  two cases when a returner is not able to be con‐
303886           tacted--these would throw a stacktrace.
303887
303888       · PR #47915: (garethgreenaway) [2018.3] state runner pause resume  kill
303889         @ 2018-06-07 16:08:30 UTC
303890
303891         · ea85f882bc    Merge   pull   request   #47915   from   garethgreen‐
303892           away/state_runner_pause_resume_kill
303893
303894         · 2ecbe9c034 fixing typo in alias_function call.
303895
303896         · 4377e0cc08 Some fixes to the set_pause and rm_pause function in the
303897           state  runner,  renaming to in line with the functions in the state
303898           module.  Including aliases to previous names for back-ward compati‐
303899           bility.   Including a soft_kill function to kill running orchestra‐
303900           tion states.  A new test to test soft_kill functionality.
303901
303902       · PR #48002:  (rallytime)  Back-port  #47923  to  2018.3  @  2018-06-07
303903         15:25:39 UTC
303904
303905         · PR  #47923:  (isbm)  Prevent  crash if files in file.recurse (refs:
303906           #48002)
303907
303908         · 5c11fcde60 Merge pull request #48002 from rallytime/bp-47923
303909
303910         · 9465e5f1e9 Use to_unicode from stringutils avoid deprecation  warn‐
303911           ing
303912
303913         · 73d33cbfc3 Prevent crash if files in file.recurse
303914
303915       · PR #48003: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
303916         2018-06-07 15:25:19 UTC
303917
303918         · 3d0a087c71 Merge pull request #48003 from rallytime/merge-2018.3
303919
303920         · a6533a9332 Merge branch '2017.7' into '2018.3'
303921
303922           · 998a1c13d5  Merge  pull  request  #47966  from  mbunkus/fix-post‐
303923             fix-prefix-free-key-names-assumption
303924
303925             · 0ae402d1b5 Fix postfix.set_main's assumption of prefix-free key
303926               names
303927
303928           · df50ce7b1b Merge pull request #47824 from twangboy/fix_setup.py
303929
303930             · 4538b3abb3 Remove 'len-as-condition' disablement
303931
303932             · d4efcc3c8b Skip lint errors
303933
303934             · 1b3977f8d4 Remove m2crypto download for Windows
303935
303936           · 3e91a31134     Merge      pull      request      #47922      from
303937             damon-atkins/2017.7_win_pkg_keys_fix
303938
303939             · 7129203b1b Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
303940
303941           · 8008fca2f6  Merge  pull request #47933 from terminalmage/add-pil‐
303942             lar.get-docs
303943
303944             · 4eb022b675 Clarify pillar.get docs
303945
303946           · ab565bfaa3   Merge   pull   request   #47944    from    terminal‐
303947             mage/fix-git.detached-docs
303948
303949             · 1d082b4389   Replace   use   of  deprecated  argument  name  in
303950               git.detached docstring
303951
303952             · 6253793cb6 Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
303953
303954             · 4ce0fe6546 win_pkg under py3 keys returns a view instead  of  a
303955               list, wrap keys in list()
303956
303957       · PR #48022: (morganwillcock) win_wua state: fix function name in exam‐
303958         ples @ 2018-06-07 15:03:52 UTC
303959
303960         · 0a05212f60 Merge pull request #48022 from morganwillcock/patch-1
303961
303962         · 443f4d6f21 win_wua state: fix function name in examples
303963
303964       · ISSUE  #47546:  (ender8282)  archive.extracted  fails  when   archive
303965         includes  files  with  non-ascii  names  with 2018.3.0 (refs: #48015,
303966         #47572)
303967
303968       · PR #48015: (garethgreenaway) [2018.3] more unicode  nonsense  in  ar‐
303969         chive module @ 2018-06-07 14:44:55 UTC
303970
303971         · 406efb161e    Merge   pull   request   #48015   from   garethgreen‐
303972           away/47546_more_unicode_nonsense
303973
303974         · f457f9cb84 Adding a test to ensure archive.list returns  the  right
303975           results when a tar file contains a file with unicode in it's name.
303976
303977         · 9af49bc595 Ensure member names are decoded before adding to various
303978           lists.
303979
303980       · ISSUE #47955: (frogunder) 2018.3.1 Creating Windows machine in Amazon
303981         using salt-cloud fails. (refs: #47989)
303982
303983       · PR  #47989: (dwoz) Properly decode password from aws using m2crypto @
303984         2018-06-06 20:44:28 UTC
303985
303986         · 1ce7d6c38a Merge pull request #47989 from dwoz/awscloud
303987
303988         · 23ab2727be Fix linter errors
303989
303990         · 6c8daa2b85 Properly decode password from aws using m2crypto
303991
303992       · PR #47976: (terminalmage) Capture and log output  of  processes  that
303993         timed out and were killed @ 2018-06-06 19:17:08 UTC
303994
303995         · 76068c83f5  Merge  pull request #47976 from terminalmage/salt-jenk‐
303996           ins-1000
303997
303998         · 41e5a75027 Add catch_timeout to run_script
303999
304000         · 551ada8e4d Capture and log output of processes that timed  out  and
304001           were killed
304002
304003       · PR  #47990:  (terminalmage)  Docs  fixes  in  2018.3 release branch @
304004         2018-06-06 17:15:17 UTC
304005
304006         · f12a52736e Merge pull request #47990 from terminalmage/2018.3-docs
304007
304008         · f89d2ccd30 Clean up Sphinx warnings
304009
304010         · f5fc936865 Add clarifying comment so that we don't break this
304011
304012         · 94849780ac fix docs build error due to IndexError
304013
304014       · PR #47982: (twangboy) Fix  unit.modules.test_win_dns_client  tests  @
304015         2018-06-06 15:02:10 UTC
304016
304017         · 9d56af3cad     Merge    pull    request    #47982    from    twang‐
304018           boy/fix_test_win_dns_client
304019
304020         · 2dcdf6788c Force string to ModuleType
304021
304022       · PR  #47985:  (twangboy)  Fix  unit.states.test_reg  test  failure   @
304023         2018-06-06 14:56:03 UTC
304024
304025         · 1b4c72345b Merge pull request #47985 from twangboy/fix_test_reg
304026
304027         · 4ce551811f Remove the unnecessary to_unicode stuff
304028
304029         · 863ded39fa Mock reg.cast_vdata
304030
304031       · ISSUE #47236: (MorphBonehunter) x509.private_key_managed broken after
304032         upgrade to 2018.3.0 (refs: #47957)
304033
304034       · PR #47957: (garethgreenaway) [2018.8] Ensure  x509  passphrase  is  a
304035         string @ 2018-06-05 13:27:33 UTC
304036
304037         · 84100570f7    Merge   pull   request   #47957   from   garethgreen‐
304038           away/47236_ensure_passphrase_is_a_string
304039
304040         · 99bad3cca6 removing unnecessary change
304041
304042         · e22df8473d Ensuring that when a passphrase  is  passed  in,  it  is
304043           returned as a string from the passphrase callback.
304044
304045              · d0cf06a24d  Make  sure  we  set the effective environment when
304046                lock_saltenv is True
304047
304048                    · 8da6ce45dc Finish the docstring for git.cloned state
304049
304050                    · 4a8260a5e5 Add tests for git.cloned state
304051
304052                    · 311179da05 Add git.cloned state
304053
304054       · PR #47926: (dmurphy18) Backport  of  PR  47808  to  2018.3,  improved
304055         grains support for AIX @ 2018-06-04 19:31:24 UTC
304056
304057         · PR  #47808:  (dmurphy18)  Updated  AIX  support for grains reported
304058           (refs: #47926)
304059
304060         · c355da9e0d  Merge  pull   request   #47926   from   dmurphy18/back‐
304061           port_pr47808
304062
304063         · ac15d2093a  Backport of PR 47808 to 2018.3, improved grains support
304064           for AIX
304065
304066       · PR #47927: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
304067         2018-06-04 18:55:12 UTC
304068
304069         · a46e42ab11 Merge pull request #47927 from rallytime/merge-2018.3
304070
304071         · 5baab66f4b Lint: Whitespace fix
304072
304073         · 7e1d278d19 Update old utils paths to use new utils paths
304074
304075         · 3273bbdab7 Merge branch '2017.7' into '2018.3'
304076
304077           · a2b588299b    Merge    pull   request   #47860   from   terminal‐
304078             mage/state-writing-docs
304079
304080             · 8cb33d3dec Quiet the linter
304081
304082             · af51e16f23 Use more elegant RST syntax
304083
304084             · 91cd57d1e0 Update mocking to reflect changes in service module
304085
304086             · b9ace5a859 Fix crappy mocking
304087
304088             · bc9e3acef3 Lint fixes
304089
304090             · d37f7e4f04 Add 2017.7.6 release notes
304091
304092             · 9dddeeefab Improve documentation on syncing states
304093
304094             · f465fa3ca7 Add best practices docs for writing states
304095
304096             · 93ee5ee2b0 Fix all Sphinx warnings
304097
304098             · 64b9b4d0b8 Clarify that name would override the id declaration
304099
304100           · d2f3377b5b Merge pull request #47877 from dwoz/sleep_audit
304101
304102             · ebc7cde9cb Revert job chunk wait time change
304103
304104           · 735e92093e Merge pull request #47917 from dwoz/winsuite
304105
304106             · 118601ebd6 Fix windows tests suite breakage
304107
304108           · 63efb76d51 Merge pull request #47822 from Ch3LL/win_user_test
304109
304110             · 3a691b405f add user_home path for both windows and linux
304111
304112             · 788abf771e Add user state integration tests to windows
304113
304114           · b9da4f1221   Merge   pull    request    #47876    from    doesit‐
304115             blend/add-file-read-windows
304116
304117             · 3f7e7ec327 Add file.read function to Windows module
304118
304119           · cbe2ecfae8 Merge pull request #47882 from frogunder/45013
304120
304121             · 38d114a2d2 add whoami test
304122
304123       · PR  #47931:  (rallytime)  Back-port  #47913  to  2018.3  @ 2018-06-04
304124         14:39:16 UTC
304125
304126         · PR #47913:  (rares-pop)  Fixup!  beacons/avahi_announce.py  finding
304127           grains (refs: #47931)
304128
304129         · 4db1f8c603 Merge pull request #47931 from rallytime/bp-47913
304130
304131         · c51e732f4d Fixup! beacons/avahi_announce.py finding grains
304132
304133       · PR  #47930:  (rallytime)  Back-port  #47725  to  2018.3  @ 2018-06-04
304134         14:38:58 UTC
304135
304136         · PR #47725: (bbczeuz) network_settings  beacon:  Update  example  to
304137           follow new cfg convention (refs: #47930)
304138
304139         · d05a6c70d3 Merge pull request #47930 from rallytime/bp-47725
304140
304141         · 5c666409f3 Spelling fix
304142
304143         · cfe0a5bb42 network_settings: Fix doc using new list/dict syntax
304144
304145       · PR #47557: (L4rS6) fix broken rabbitmq list policies in rabbitmq ver‐
304146         sion 3.7 @ 2018-06-04 13:25:07 UTC
304147
304148         · 484d83014b Merge pull  request  #47557  from  L4rS6/fix-broken-rab‐
304149           bitmq-list-policies
304150
304151         · 6d7ef27557    Merge    branch    '2018.3'    into   fix-broken-rab‐
304152           bitmq-list-policies
304153
304154         · e043ea2833 refactored list_policies code and added more tests
304155
304156         · eea81feb7b fix broken rabbitmq list policies  in  rabbitmq  version
304157           3.7
304158
304159       · PR  #47949:  (terminalmage) Continued troubleshooting on salt-jenkins
304160         1000 @ 2018-06-04 13:17:14 UTC
304161
304162         · 866a2fbf5e Merge pull request #47949  from  terminalmage/salt-jenk‐
304163           ins-1000
304164
304165         · 9c369c6aa8 Remove temp logging from test
304166
304167         · af02d5ba7b Add result logging to run_script, make returns DRY
304168
304169       · PR  #47941:  (terminalmage)  Update  test  logging for salt-jenkins @
304170         2018-06-03 02:40:56 UTC
304171
304172         · 0b85d1273f Merge pull request #47941  from  terminalmage/salt-jenk‐
304173           ins-1000
304174
304175         · fb66368af9 Update test logging for salt-jenkins 1000
304176
304177       · PR   #47924:   (Ch3LL)   Catch  all  exceptions  in  git  import  for
304178         salt.utils.gitfs @ 2018-06-01 21:06:58 UTC
304179
304180         · 58b5f2b4dd Merge pull request #47924 from Ch3LL/mac_gitpy
304181
304182         · 75c51ad69b Catch all exceptions in git import for salt.utils.gitfs
304183
304184       · ISSUE #47269: (isdig) Reopen Windows Minion That Has IAM Role  Cannot
304185         Access to S3 (refs: #47879)
304186
304187       · PR  #47879:  (dwoz)  Fix  ami  role  usage  warts #47269 @ 2018-06-01
304188         14:11:55 UTC
304189
304190         · b88ec5258d Merge pull request #47879 from dwoz/ami_role_fix
304191
304192         · 3884c2cf5f Fix ami role usage warts #47269
304193
304194       · PR #47788: (twangboy) Use pytz to calculate  timezones  @  2018-05-31
304195         18:33:20 UTC
304196
304197         · b09596982b Merge pull request #47788 from twangboy/fix_47559
304198
304199         · 0d229c6182 Merge branch '2018.3' into fix_47559
304200
304201         · 9e612ec9e7 Fix markup in release notes
304202
304203         · 60499d18f0 Skip test if pytz not present
304204
304205         · 72cc361c7b Move pytz to 3rd party import, add to __virtual__
304206
304207         · b8a6488688 Update __virtual__ function
304208
304209         · 9923176b68 Use __utils__, fix unit tests
304210
304211         · 73e033f555 Return offset in the same format as Unix
304212
304213         · 5656183c5e Add timezone.list, add 2018.3.2 release notes
304214
304215         · 986f6c9b2a Use pytz to calculate timezones
304216
304217       · PR  #47899:  (terminalmage)  salt-jenkins  issue  1000  @  2018-05-31
304218         18:24:49 UTC
304219
304220         · ae73cb3947 Merge pull request #47899  from  terminalmage/salt-jenk‐
304221           ins-1000
304222
304223         · 25afc932f7 WIP salt-jenkins issue 1000
304224
304225       · PR  #47753: (Ch3LL) Add stderr launchctl helper class and fix service
304226         mac tests @ 2018-05-31 18:16:57 UTC
304227
304228         · 8f78e3aef6 Merge pull request #47753 from Ch3LL/service_mac
304229
304230         · 185c9e9ae2 only stop service if its running
304231
304232         · e15e674955 Add stderr launchctl helper class and  fix  service  mac
304233           tests
304234
304235       · PR  #47908:  (meaksh)  Align  SUSE salt-master.service 'LimitNOFILES'
304236         limit with upstream Salt @ 2018-05-31 18:13:27 UTC
304237
304238         · 828bf39695      Merge      pull      request      #47908       from
304239           meaksh/2018.3-align-suse-salt-master-service
304240
304241         · efe308013a Align SUSE salt-master.service 'LimitNOFILES' limit with
304242           upstream Salt
304243
304244       · PR #47868: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
304245         2018-05-30 21:20:38 UTC
304246
304247         · b4bac9b41b Merge pull request #47868 from rallytime/merge-2018.3
304248
304249         · e5d386e91c Update solaris core grains test
304250
304251         · 267f09c1a0 Lint: Remove unused import
304252
304253         · 120ee16b70 Replace old utils paths with new utils paths
304254
304255         · dc32b67c03 Merge branch '2017.7' into '2018.3'
304256
304257           · 4b28e510f1 Merge pull request #47853 from dwoz/py3-cloud-test
304258
304259             · c2f8aef7c5 Fix for py3 ec2 cloud tests
304260
304261           · 215efa6b73   Merge   pull   request   #47847   from  garethgreen‐
304262             away/47833_reactor_runner_documentation
304263
304264             · 03676712de Adding some addition documentation  to  the  reactor
304265               runner  indicating that the reactor system must be active prior
304266               to using it.
304267
304268           · 0bf651b470 Merge pull request #47846 from Ch3LL/p_refresh_test
304269
304270             · 019edad8e4 Fix flaky refresh pillar integration test
304271
304272           · 799fce979d Merge pull request #47552 from twangboy/fix_46981
304273
304274             · cffc9b7806 Merge branch '2017.7' into fix_46981
304275
304276             · 81308a4a44 Add release notes for 2017.7.7
304277
304278             · 008af0ac6b Fix unit tests
304279
304280             · 87097eefb6 Add comments about how get is returning data
304281
304282             · f1f1bfc5c1 Show GPO settings, raise error if trying to set  gpo
304283               managed settings
304284
304285           · ffc2ebc373  Merge  pull request #47691 from lomeroe/solaris_prod‐
304286             uct_grains
304287
304288             · 6889befc6b Merge branch '2017.7' into solaris_product_grains
304289
304290             · 49053bc106 lint fix
304291
304292             · 6f185c9179 another lint fix
304293
304294             · dbffba6876 fix tons of errors in my tests
304295
304296             · 8c9355d34c Lint fix
304297
304298             · b29ec75da7 Update regexes in  core  grains  for  detecting  the
304299               'product'  grain  on Solaris Sparc systems.  Additionally, copy
304300               the 'product' grain to  'productname'  to  be  consistent  with
304301               other OSes.
304302
304303           · 96b7c0cc76 Merge pull request #47778 from Ch3LL/win_state_pkg
304304
304305             · e1786de6b0 Merge branch '2017.7' into win_state_pkg
304306
304307             · f8c467d3e6 Fix text editor error
304308
304309             · 872e162137 Add test_pkg integration state tests to windows
304310
304311           · 6f934c2259 Merge pull request #47823 from Ch3LL/win_dns_test
304312
304313             · 7848114d6a Add win_dns module integration tests for windows
304314
304315           · e63e04602d Merge pull request #47838 from rallytime/bp-47810
304316
304317             · bd2b62fa66 better debug message
304318
304319             · 83565c55df Address PR feedback
304320
304321             · 50bce3a2f3 make decode_linode_plan_label a private function
304322
304323             · 2ba4fc4cea  fix raising when a 'GB' format invalid plan is sup‐
304324               plied
304325
304326             · 3afb50d5a2 slight cleanup
304327
304328             · 319fbd3406 match quotation mark types properly
304329
304330             · 95e0202223 more consistent use of parens in logged warning
304331
304332             · f52926ca87 log a warning when the  user  supplied  a  label  we
304333               could decode but was not in the proper format
304334
304335             · 121303d827  reduce complexity of get_plan_id by moving decoding
304336               of the user-supplied label to its own function
304337
304338             · cf534c7314 Fix Linode plan selection
304339
304340           · 9ef6e60617 Merge pull request #47805 from twangboy/add_sign.bat
304341
304342             · 66d8b0331a Add sign.bat script for signing packages
304343
304344           · 93420950d3 Merge pull request #47500 from dwoz/winuser
304345
304346             · 0ca5224cbf Merge branch '2017.7' into winuser
304347
304348             · e5948902af Use salt utils method for this_user
304349
304350             · a056a293f1 Centeralize test username lookup
304351
304352             · 6a6ab69722 Get the current username on windows
304353
304354           · 552526f309 Merge pull request #47802 from rallytime/bp-40892
304355
304356             · bb357da084 add minion function to reload beacon #35960
304357
304358           · c9cccf53b9 Merge pull request #47816 from Ch3LL/disable_windows
304359
304360             · 2509d36888 Add windows to service disable ERROR check in tests
304361
304362           · 2cb6634c6b Merge pull request #47773 from frogunder/45011
304363
304364             · 7c9b0bda33 add win_servermanager.list_available test
304365
304366           · e65dece202 Merge pull request #47807 from dwoz/winrmtests
304367
304368             · 1f1cc1357a Increase instance size for cloud tests
304369
304370             · be8dcd21f1 Try an even bigger timeout
304371
304372       · PR #47900: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
304373         @ 2018-05-30 18:09:41 UTC
304374
304375         · 21550dbd2d     Merge    pull    request    #47900    from    rally‐
304376           time/merge-2018.3.1-to-2018.3
304377
304378         · 2801eecb26 Merge branch '2018.3.1' into '2018.3'
304379
304380       · ISSUE #30367:  (paulfanelli)  salt-run  orchestration  via  state.sls
304381         always successful; it is ignoring state return value (refs: #47843)
304382
304383       · PR  #47843:  (garethgreenaway)  [2018.3]  orchestration results False
304384         when function is False (refs: #47983) @ 2018-05-30 17:21:54 UTC
304385
304386         · a0bf565741   Merge   pull   request   #47843   from    garethgreen‐
304387           away/30367_orch_return_false_when_function_fails
304388
304389         · 09242697b8         Merge         branch        '2018.3'        into
304390           30367_orch_return_false_when_function_fails
304391
304392       · PR #47866:  (rallytime)  Back-port  #47814  to  2018.3  @  2018-05-29
304393         19:55:24 UTC
304394
304395         · PR  #47814:  (travispaul)  Bugfixes and unit tests for pkgin module
304396           (refs: #47866)
304397
304398         · da6f7a5538 Merge pull request #47866 from rallytime/bp-47814
304399
304400         · d50c0ab96b Lint test_pkgin.py
304401
304402         · 4dac0b4a31 pkgin latest_version bugfix
304403
304404         · 4ae0313797 Bugfixes and unit tests for pkgin module
304405
304406       · PR #47865:  (rallytime)  Back-port  #47600  to  2018.3  @  2018-05-29
304407         19:54:44 UTC
304408
304409         · PR #47600: (travispaul) Prevent crash on NetBSD and OpenBSD when no
304410           swap is configured. (refs: #47865)
304411
304412         · d9e7f2b5b1 Merge pull request #47865 from rallytime/bp-47600
304413
304414         · f9f464fa51 Prevent crash on NetBSD and OpenBSD when no swap is con‐
304415           figured.
304416
304417       · PR  #47221:  (azelezni) Fix boto_ec2 unused parameter "network_inter‐
304418         faces" @ 2018-05-29 14:41:35 UTC
304419
304420         · 61561a8279      Merge      pull      request      #47221       from
304421           azelezni/fix-boto_ec2-network_interfaces
304422
304423         · 03ee0023eb Fix unused network_interfaces parameter
304424
304425         · 1ece61ddfa Fix unused network_interfaces parameter
304426
304427         · 3e074be9c3 Fixing lint
304428
304429         · 02609b6e61 Adding state files for new test.
304430
304431         · 377e34c689  Updating  function in saltmod to ensure that the result
304432           is a failure if the function being run returns as False.
304433
304434       · PR #47850: (rallytime) Fix autodoc for new swarm module @  2018-05-26
304435         01:53:16 UTC
304436
304437         · c4d828c986 Merge pull request #47850 from rallytime/swarm-autodoc
304438
304439         · 467c8fa45c Fix autodoc for new swarm module
304440
304441       · PR #47800: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
304442         2018-05-26 01:17:40 UTC
304443
304444         · 30b31c5db5 Merge pull request #47800 from rallytime/merge-2018.3
304445
304446         · 9e3ce39e8c Typo: test_type --> text_type
304447
304448         · 8877489386 Fix bad merge caught by test in zpool state
304449
304450         · c328450be2 Update old utils paths to new paths
304451
304452         · 4abfd26e86 Merge branch '2017.7' into '2018.3'
304453
304454           · 46618d2ce7 Merge pull request #47765 from  meaksh/2017.7-fix-zyp‐
304455             per-error-reading-repo
304456
304457             · 4475ba19b8  Prevent zypper from parsing repo configuration from
304458               not .repo files
304459
304460           · 0e87559ee3 Merge pull request #47781  from  rallytime/update-lin‐
304461             ode-sizes
304462
304463             · a90c1b760e Update cloud test profile and docs to use new Linode
304464               size lables
304465
304466           · 3ddc56cb9b Merge pull request #47748 from rallytime/merge-2017.7
304467
304468             · b75f5ae38e Merge branch '2017.7.6' into '2017.7'
304469
304470               · edf94c915e Merge pull request #47775 from gtmanfred/2017.7.6
304471
304472                 · 548f65d056 catch UnsupportedOperation with AssertionError
304473
304474             · 17596f3025 Merge branch '2017.7.6' into '2017.7'
304475
304476               · 8c38ecd75f Merge pull request #47769 from gtmanfred/2017.7.6
304477
304478                 · 3fdfc0fa82 skip test that breaks test suite
304479
304480             · e458f4a031 Merge branch '2017.7.6' into '2017.7'
304481
304482               · 0d5b473ce2 Merge pull request #47747 from Ch3LL/rn_2017.7.6
304483
304484                 · d4aa83b92d Add changelog to 2017.7.6 release notes
304485
304486               · 8a5b34f7d9     Merge     pull     request     #47702     from
304487                 damon-atkins/2017.7.6_fix_pkg.latest_state
304488
304489                 · adcc094e08      Merge      branch      '2017.7.6'      into
304490                   2017.7.6_fix_pkg.latest_state
304491
304492               · d610c192d9 Merge pull request #47700 from yannj-fr/2017.7.6
304493
304494                 · 961c1ef61e fix roots modification time check
304495
304496                   · 2a73e905df Merge branch '2017.7.6' into 2017.7.6
304497
304498               · 266749420f Merge pull request #47632 from gtmanfred/2017.7.6
304499
304500                 · 2c50c0d2f5 fix pylint
304501
304502                 · 4a29057b16 Fix last test for tornado
304503
304504                 · 550ef2e272 allow using tornado 5.0
304505
304506                 · 62e468448b handle new _create_stream in tornado 5.0
304507
304508               · 2643c356af   Merge   pull   request   #47720   from    rally‐
304509                 time/bp-47692-2017.7.6
304510
304511                 · 6e5cb36839 Default windows to m1.small for ec2-classic
304512
304513                   · 20d9785244 fix roots modification time check
304514
304515                 · aef37dd1ce fix roots modification time check
304516
304517                 · d51662e053  Ensure  targeted_pkgs always contains value for
304518                   non-windows.
304519
304520                 · 83b4224cf8 Adjusted based on feed back.
304521
304522                 · 12f983ce9f Whitespace lint issues
304523
304524                 · 075d3d3c49 pkg.install execution module on windows  ensures
304525                   the software package is installed when no version is speci‐
304526                   fied, it does not upgrade the software to the latest.  This
304527                   is  per the design. pkg.latest must provide the versions to
304528                   install to pkg.install
304529
304530           · 0ddc864f90 Merge pull request #47779 from dwoz/winrmtests
304531
304532             · d5eafe9d53 Use common timeout variable
304533
304534             · 7e948eb540 Increase ec2 cloud timeouts to 1000
304535
304536           · 17c4c8443c Merge pull request #47430 from baniobloom/vpc_associa‐
304537             tion_not_found
304538
304539             · 0f1d007f91 added catch for VPCAssociationNotFound
304540
304541           · 9c5dde1449  Merge  pull  request  #47525  from  baniobloom/dupli‐
304542             cate_sec_group_rule
304543
304544             · dcc35df489 if we are trying to add the same rule  then  we  are
304545               already in the desired state, return true
304546
304547           · 536ce2fa42 Merge pull request #47772 from gtmanfred/2017.7
304548
304549             · 67756a50fd lock down dependencies for kitchen-salt
304550
304551           · 12b330f049 Merge pull request #47749 from terminalmage/issue47717
304552
304553             · cd484bef69 Fix "dnf list upgrades" parsing
304554
304555           · 5cd18b9e70 Merge pull request #47755 from dwoz/winrmtests
304556
304557             · 57dd89e6c3 Default to ec2 classic compatible images
304558
304559             · f89668920a Be explicit about winrm setting
304560
304561           · f45a96ba1d Merge pull request #47668 from Ch3LL/win_pkg_test
304562
304563             · a8981024de Add pkg.latest_version windows test
304564
304565           · 7b12444dfa Merge pull request #47750 from dwoz/cloudtest
304566
304567             · 63b722ba21 Allow ssh_interface to default to public_ips
304568
304569           · 27fbb42210 Merge pull request #47737 from dwoz/win_timeout
304570
304571             · e88833a07d Cloud test fixup
304572
304573           · 1a93f060fb    Merge    pull    request    #47729    from    Utah‐
304574             Dave/fix_get_info_doc
304575
304576             · 443a2d72a2 fix cli example to match function name
304577
304578           · 00a13761c7 Merge pull request #47682 from terminalmage/issue47182
304579
304580             · d0243e8f23 Suppress spurious lint failure
304581
304582             · 3b449f11fc Add regression test for excludes issue
304583
304584             · 28a7d2b81c Skip __exclude__ in find_sls_ids
304585
304586           · 518f7bcc62    Merge    pull    request    #47708    from    dark‐
304587             pixel/47696-do-not-enumerate-none
304588
304589             · 54e9bf9ec9  Merge  branch  '2017.7'  into  47696-do-not-enumer‐
304590               ate-none
304591
304592           · cad062eaa7 Merge pull request #47681 from rallytime/merge-2017.7
304593
304594             · 6c06cb3ae3 Merge branch '2017.7.6' into '2017.7'
304595
304596           · fd2d45d9c2 Merge pull request #47683 from Ch3LL/mac_user_test
304597
304598             · 5a1b25b9c7 Remove unnecessary setUp  in  states.test_user  test
304599               for mac
304600
304601           · f323799c42 Merge pull request #47692 from dwoz/win_instance_type
304602
304603             · 20b6070d54 Default windows to m1.small for ec2-classic
304604
304605           · 990ece5cd5 Merge pull request #47665 from gtmanfred/cloud
304606
304607             · fd8a02decb  use  dictupdate  to update the providers dictionary
304608               and merge lists
304609
304610           · a2ed8cbb7f  Merge  pull  request  #47151   from   zer0def/config‐
304611             parser-defaultsect
304612
304613             · a8f2ad977e Merge branch '2017.7' into configparser-defaultsect
304614
304615             · cca2a806c9  Made  interaction with [DEFAULT] section in Config‐
304616               Parser as sane as upstream permits.
304617
304618           · e6fb8342ef Merge pull request #47673 from terminalmage/bp-45808
304619
304620             · 454291ad62 Fix errors when attempting to cache files with  long
304621               names or URLs
304622
304623           · b0446aab07 Merge pull request #47670 from gtmanfred/2017.7
304624
304625             · dfd5a8715f add a pytest.ini and update a dependency for kitchen
304626
304627           · 0d06da6944 Merge pull request #47626 from gtmanfred/2017.7
304628
304629             · 418364a533  make  dev_python27.txt  have  the  same  message as
304630               dev_python34.txt
304631
304632             · d53b44d10f remove lock file
304633
304634             · 493ed7f93d use the toml dict format
304635
304636             · e0f7cc1447 add proxy tests decorator to pytest conftest
304637
304638             · 0a621dd0ec add Pipfile for managing dependencies in salt
304639
304640             · f78b81db94 simplify dev and base.txt to single files
304641
304642           · a07a8906a0 Merge pull request #47578 from  Ch3LL/mac_service_dis‐
304643             abled
304644
304645             · 6032a01f55 change disable check for upstart service on ubuntu14
304646
304647             · 33b4cfbc5b Change service assertion check for systemd platforms
304648
304649             · 14896f9743 change codeauthor and class name
304650
304651             · 502c5bdff5  Ensure  mac_service.disabled  is correctly querying
304652               services
304653
304654                      · 95d4488f01    Merge     branch     '2017.7.6'     into
304655                        47696-do-not-enumerate-none
304656
304657                  · 16c2153385     Merge     pull    request    #47667    from
304658                    Ch3LL/mac_user_enable
304659
304660                    · ba40d3d1a1  Update  test_mac_user_enable_auto_login   to
304661                      test both py2 and py3
304662
304663                  · a4921e86c9 Merge pull request #47645 from Ch3LL/py3_rm_pip
304664
304665                    · 225d90ad4c    query    the    pip    path    for    test
304666                      test_issue_2087_missing_pip
304667
304668                  · e441733ac1  Merge  pull   request   #47646   from   rally‐
304669                    time/bp-47601-and-47643
304670
304671                    · 9e1d1a5ef8 Fix typo
304672
304673                    · 4e94609136 Remove unwanted file
304674
304675                    · 0109249c78 use ignore-undefined-variable
304676
304677                    · 37caecb7f4 Ignore pylint WindowsError
304678
304679                    · c1135d90c7 Better doc string
304680
304681                    · e53d6b9ed9 Skip tests when we can not use runas
304682
304683                    · 041e4c6ddb  Wrap  properties loop with a check for None.
304684                      Closes GH-47696
304685
304686       · PR  #47581:  (twangboy)  Add  get_encoding  salt  util  @  2018-05-25
304687         20:40:07 UTC
304688
304689         · da9eaa1825 Merge pull request #47581 from twangboy/fix_47274
304690
304691         · ff6600f25e Merge branch '2018.3' into fix_47274
304692
304693         · 6eff2f847b Add suggested changes
304694
304695         · e27e9fd1e7 Fix tests on Py3
304696
304697         · f398cbbdda Use os.linesep.join instead of textwrap.dedent
304698
304699         · 771392e299 Fix unit tests, add newline='' to io.open
304700
304701         · c0f735dde3 Remove comment
304702
304703         · 6d877bb48b Add comment
304704
304705         · 9f369d3f22 Remove to_encoding, create get_encoding
304706
304707         · 68be0f9ed2 Add is_encoding salt util
304708
304709       · ISSUE  #47694:  (thuhak) utils/boto and utils/boto3 load error (refs:
304710         #47726)
304711
304712       · PR #47726: (gtmanfred) rename boto to botomod @  2018-05-25  20:37:37
304713         UTC
304714
304715         · b860d95b2c Merge pull request #47726 from gtmanfred/2018.3
304716
304717         · 43997a466e fix tests
304718
304719         · 59180e09a8 switch all salt.utils.boto* calls to __utils__ calls
304720
304721         · 7e30f459c9 rename boto to botomod
304722
304723       · ISSUE  #47701: (babs) elasticsearch.index_template_present state with
304724         check_definition: True fails.  (refs: #47703)
304725
304726       · PR #47803:  (rallytime)  Back-port  #47703  to  2018.3  @  2018-05-23
304727         20:12:30 UTC
304728
304729         · PR  #47703:  (babs)  Fix  elasticsearch.index_template_present with
304730           check_definition (refs: #47803)
304731
304732         · 2a270162d0 Merge pull request #47803 from rallytime/bp-47703
304733
304734         · 8fce0c562d Fix elasticsearch with check_definition
304735
304736       · PR #47804:  (rallytime)  Back-port  #47761  to  2018.3  @  2018-05-23
304737         20:11:55 UTC
304738
304739         · PR  #47761:  (zerthimon) Fix userdata in openstack instances (refs:
304740           #47804)
304741
304742         · 780043e6fd Merge pull request #47804 from rallytime/bp-47761
304743
304744         · b7bc306333 Fix userdata in openstack instances
304745
304746       · PR #47776: (garethgreenaway) [2018.3] Fixes to  failing  _before_con‐
304747         nect tests @ 2018-05-23 15:10:35 UTC
304748
304749         · 1efe891c42    Merge   pull   request   #47776   from   garethgreen‐
304750           away/970_two_minion_unit_tests_failing
304751
304752         · a5011b49ab    Merge    branch    '2018.3'     into     970_two_min‐
304753           ion_unit_tests_failing
304754
304755         · ef24f72169     Fixing     unit.test_minion.MinionTestCase.test_bea‐
304756           cons_before_connect and unit.test_minion.MinionTestCase.test_sched‐
304757           uler_before_connect.
304758
304759       · PR #47783: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
304760         @ 2018-05-23 14:51:56 UTC
304761
304762         · 4a6ca67883 Merge pull request #47783 from rallytime/merge-2018.3
304763
304764         · 1adb8ea27f Merge branch '2018.3.1' into '2018.3'
304765
304766       · PR #47149: (meaksh) [2018.3] Strip trailing commas  on  Linux  user's
304767         GECOS fields @ 2018-05-22 21:18:49 UTC
304768
304769         · f8a6a85d28       Merge      pull      request      #47149      from
304770           meaksh/2018.3-remove-trailing-commas-on-linux-user-gecos-fields
304771
304772         · 60ec3230db Merge branch '2018.3'  into  2018.3-remove-trailing-com‐
304773           mas-on-linux-user-gecos-fields
304774
304775       · ISSUE  #46938:  (racooper)  Beacons  documentation  update for 2018.3
304776         (refs: #47740)
304777
304778       · PR  #47740:  (garethgreenaway)  [2018.3]  Updating  Beacon  topic  to
304779         include  list  based  configuration for Beacons @ 2018-05-21 13:58:01
304780         UTC
304781
304782         · 19f4137b63   Merge   pull   request   #47740   from    garethgreen‐
304783           away/46938_beacons_documentation
304784
304785         · 5d23ef4dd8  Updating  Beacon topic to include list based configura‐
304786           tion for Beacons
304787
304788       · PR  #47710:  (terminalmage)  salt.loader:  add  error  logging   when
304789         whitelist lookup fails @ 2018-05-18 16:56:18 UTC
304790
304791         · 22807ac756    Merge    pull    request    #47710   from   terminal‐
304792           mage/fix-loader-whitelist
304793
304794         · 6192391b7b Add additional missing modules to whitelist
304795
304796         · 7192c38f66 Change key -> function to make log message more clear
304797
304798         · 91f9fd38fd Fix loader whitelists in unit tests
304799
304800         · d4f2662e5b Add error logging when whitelist lookup fails
304801
304802       · PR #47680: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
304803         @ 2018-05-17 21:30:27 UTC
304804
304805         · b91c0f5647 Merge pull request #47680 from rallytime/merge-2018.3
304806
304807         · 9b1773a763 Merge branch '2018.3.1' into '2018.3'
304808
304809       · PR  #47545:  (dmurphy18) Fix non-root build and signing for rpm pack‐
304810         ages @ 2018-05-17 21:20:10 UTC
304811
304812         · dbf12f9be2  Merge  pull  request  #47545  from   dmurphy18/fix_non‐
304813           root_build
304814
304815         · 220f887fa6    Fixed   review   comment,   changed   file.chown   to
304816           file.makedirs_perms
304817
304818         · b15a1652b5 Changed  versionadded  from  2018.3.1  to  2018.3.2,  to
304819           reflect when change should be accepted
304820
304821         · 90eb03e375 Additional error checking and minor cleanup
304822
304823         · 40d77e03d2 Correct building rpms with non-root user
304824
304825       · ISSUE   #47546:  (ender8282)  archive.extracted  fails  when  archive
304826         includes files with non-ascii  names  with  2018.3.0  (refs:  #48015,
304827         #47572)
304828
304829       · PR  #47572: (garethgreenaway) [2018.3] archive module, filenames with
304830         Unicode characters @ 2018-05-17 20:41:11 UTC
304831
304832         · 69056e5b67 Merge pull request #47572 from garethgreenaway/47546_ar‐
304833           chive_non_ascii_filenames
304834
304835         · 5e97b8b44a Updating with requested changes.
304836
304837         · cc1aa75a2f only convert to bytes when using Python2
304838
304839         · 0fe32f4066  Updating  integration/modules/test_archive  to  include
304840           filenames with unicode characters.
304841
304842         · 5a9cadd125  Accounting  for  when  files  in  an  archive   contain
304843           non-ascii characters
304844
304845       · PR #47661: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
304846         2018-05-16 15:53:36 UTC
304847
304848         · cb04d9c37e Merge pull request #47661 from rallytime/merge-2018.3
304849
304850         · dd3e6f3f0a Merge branch '2017.7' into '2018.3'
304851
304852           · f63d801858 Merge pull request #47639 from rallytime/merge-2017.7
304853
304854             · 1503f1020f Merge branch '2017.7.6' into '2017.7'
304855
304856               · 6f178ca908 Merge pull request #47570 from gtmanfred/2017.7.6
304857
304858                 · 84aa034e03 Update dependency to msgpack
304859
304860               · 98bd598701 Merge pull request #47523 from rallytime/man-pages
304861
304862                 · 48ecb78dec [2017.7.6] Update man pages
304863
304864               · e608ea9617   Merge   pull   request   #47517   from    rally‐
304865                 time/bp-47505-2017.7.6
304866
304867               · 0734578533 Raise proper invocation errors
304868
304869           · db0eef3e8b Merge pull request #47643 from dwoz/runas_detect
304870
304871             · 8c5e54b8b3 Fix typo
304872
304873             · 69bc88f1c6 Remove unwanted file
304874
304875           · 6dd3ab9f06 Merge pull request #47601 from dwoz/runas_detect
304876
304877             · 3235ac08cb use ignore-undefined-variable
304878
304879             · 58911d510a Ignore pylint WindowsError
304880
304881             · 17987d3c5a Better doc string
304882
304883             · a48ac26573 Skip tests when we can not use runas
304884
304885           · f61ccae627 Merge pull request #47611 from Ch3LL/deb_doc
304886
304887             · 6d2ddd050f One more grammar fixup
304888
304889             · 2d5ff01261 Grammar fix
304890
304891             · 138847c9c4  Update  debian  install  docs to reflect new latest
304892               debian releases
304893
304894           · 9e2fe284e4   Merge    pull    request    #47598    from    rally‐
304895             time/bp-47568-2017.7
304896
304897             · 09458c65cf   Add  exception  logging  on  serialize/deserialize
304898               exceptions
304899
304900             · c62c855f9c   salt.serializers.yaml/yamlex:    remove    invalid
304901               multi_constructor
304902
304903           · 8a7913ccc3 Merge pull request #47548 from Ch3LL/syslog
304904
304905             · 31f13a4197 sysloghander: check for 3.5.4 python version
304906
304907             · a020352a03  Catch  Sysloghandler  errors when log file does not
304908               exist
304909
304910           · 82fb6ba366 Merge pull request #47508 from gtmanfred/2017.7
304911
304912             · 1a87e7455f allow pulling the mysql_query.run_file to pull  from
304913               the fileserver
304914
304915           · be29b58a09 Merge pull request #47562 from rallytime/bp-47513
304916
304917             · 357bc084b3 fix #46546
304918
304919           · d3121fcfa4      Merge      pull      request      #47471     from
304920             meaksh/2017.7-fix-inconsistent-scheduled-jid-with-returners
304921
304922             · f079939500 Do not override jid on returners, only sending  back
304923               to master
304924
304925           · 662f6086db Merge pull request #47313 from Circuitsoft/2017.7
304926
304927             · 237560b745 Merge branch '2017.7' into 2017.7
304928
304929             · cb674fb1cb Enable opkg as pkgrepo handler on Poky
304930
304931             · 7a58fd157e Enable opkg on non-NILinuxRT systems
304932
304933             · 139360c55f Add Poky to OS Information Grains
304934
304935             · d74057224d Un-normalize os_family in pkgrepo state
304936
304937       · PR  #47672:  (terminalmage)  Backport  #47487  to 2018.3 @ 2018-05-16
304938         13:55:40 UTC
304939
304940         · PR #47487: (rosscdh) bad ref to error fix (refs: #47672)
304941
304942         · d17a16b648 Merge pull request #47672 from terminalmage/bp-47487
304943
304944         · 12abbfdcf7 bad ref to error fix
304945
304946       · ISSUE #47501: (mateiw) salt-ssh doesn't propagate pillar  when  over‐
304947         riding pillar in module.run + state.apply (refs: #47504)
304948
304949       · PR  #47504: (mateiw) Fix pillar propagation in salt-ssh when overrid‐
304950         ing pillar in module.run + state.apply @ 2018-05-16 13:55:05 UTC
304951
304952         · 9d4f5203a7      Merge      pull      request      #47504       from
304953           mateiw/2018.3-salt-ssh-pillar-propagation-issue-47501
304954
304955         · 3ffa412ee5 Merge branch '2018.3' into 2018.3-salt-ssh-pillar-propa‐
304956           gation-issue-47501
304957
304958         · 2f1485e067 Option to merge current pillar with opts['pillar']  dur‐
304959           ing pillar compile
304960
304961       · PR  #47212:  (weswhet)  fix  macOS  running  as  user.   @ 2018-05-16
304962         13:54:23 UTC
304963
304964         · 4fe78bbb9b Merge pull request #47212 from weswhet/fix-macos-runas
304965
304966         · 8ee11d74af Merge branch '2018.3' into fix-macos-runas
304967
304968         · e78fa45927 adding in requested changes
304969
304970         · 33c1492099 Merge branch '2018.3' into fix-macos-runas
304971
304972         · 0ecabcae78 adding in a fix for running commands as a user on macos
304973
304974       · ISSUE #47587:  (FedericoOlivieri)  --out=table  broken  in   2018.3.0
304975         'str' object but received a 'unicode' (refs: #47674)
304976
304977       · PR  #47674:  (terminalmage)  Fix regression in table outputter due to
304978         unicode types @ 2018-05-16 13:41:04 UTC
304979
304980         · 0c7439a955 Merge pull request #47674 from terminalmage/issue47587
304981
304982         · 43e3dcd398 Fix Python 3 incompatibility in table outputter
304983
304984         · d729656703 Add unit tests for table outputter
304985
304986         · 907d182dea Fix regression in table outputter due to unicode strings
304987
304988       · PR #47617: (aesposito91) Update napalm.py @ 2018-05-15 15:44:35 UTC
304989
304990         · d1a1a594e9 Merge pull request #47617 from aesposito91/2018.3
304991
304992         · 9f5d201dd7 Update napalm.py
304993
304994       · ISSUE #46871: (guettli) Sentry Logging Handler (refs: #47649)
304995
304996       · PR #47649: (paulcollinsiii) Some additional details about Sentry  for
304997         the docs @ 2018-05-15 15:41:36 UTC
304998
304999         · 049abe2850  Merge  pull  request  #47649  from  paulcollinsiii/sen‐
305000           try_docs
305001
305002         · 2a8dfd65d7 Some additional details about Sentry for the docs
305003
305004       · PR #47642: (garethgreenaway)  [2018.3]  Updating  templates  used  by
305005         salt-extend for unicode goodness @ 2018-05-15 15:38:26 UTC
305006
305007         · 8a21b864df  Merge  pull  request  #47642  from garethgreenaway/uni‐
305008           code_update_salt_extend_templates
305009
305010         · 68d73f7afc Updating the templates that the salt-extend utility uses
305011           to include unicode_literals & print_function
305012
305013              · 0232a6e1ad Add 'other' as valid kwargs for 'user.add' method
305014
305015              · ff861d9089  Merge  branch  '2018.3'  into 2018.3-remove-trail‐
305016                ing-commas-on-linux-user-gecos-fields
305017
305018       · PR #47603: (terminalmage) Move/merge more test modules  @  2018-05-14
305019         20:48:43 UTC
305020
305021         · 99f53c0a9f    Merge    pull    request    #47603   from   terminal‐
305022           mage/more-test-renaming
305023
305024         · d612bd27e4 Move/merge more test modules
305025
305026       · PR #47640: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
305027         @ 2018-05-14 17:59:06 UTC
305028
305029         · cc3daa88f3 Merge pull request #47640 from rallytime/merge-2018.3
305030
305031         · 2827c56399 Merge branch '2018.3.1' into '2018.3'
305032
305033              · f1680f1d9b Do make comparisons in a single line
305034
305035              · 7dea455c12 Add unit test for new method 'user.chother'
305036
305037              · 694882632c  Add  'other'  attribute  to  GECOS fields to avoid
305038                inconsistencies with chfn
305039
305040              · 6c089c9de1 Fix unsupported chars checking on GECOS fields
305041
305042              · d5c9ca0fbc Add unit tests for GECOS fields
305043
305044              · ed940c4f58 Strip trailing commas on Linux user GECOS fields
305045
305046       · PR #47589: (Ch3LL) Remove duplicate file id in watch_any doc  example
305047         @ 2018-05-10 22:06:00 UTC
305048
305049         · 4ec63dd041 Merge pull request #47589 from Ch3LL/watch_any_doc
305050
305051         · 8cb97a48f5 Add additional state to watch_any doc example
305052
305053         · f7223a3bbf Remove duplicate file id in watch_any doc example
305054
305055       · PR #47564: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
305056         2018-05-10 19:13:36 UTC
305057
305058         · 9836a7e62b Merge pull request #47564 from rallytime/merge-2018.3
305059
305060         · 295e302fcf Lint: Fix syntax error from bad  merge-conflict  resolu‐
305061           tion
305062
305063         · 25f03ae425 Merge branch '2017.7' into '2018.3'
305064
305065         · 291d3d3bd8   Merge   pull  request  #47540  from  terminalmage/cmd‐
305066           mod-home-fix
305067
305068           · e4b277f82e Fix corner case where runas user's HOME env  value  is
305069             incorrect
305070
305071         · 49af577b3e  Merge pull request #47547 from terminalmage/gitfs-tuto‐
305072           rial
305073
305074           · 806ffb298a Add masterless mode docs to gitfs tutorial
305075
305076         · 476ba053d1 Merge pull request #47538 from terminalmage/pip-docs
305077
305078           · 98e8ffeba4 Fix/clarify some of the pip module documentation
305079
305080         · 7cc8d9d30a Merge pull request #47524 from dwoz/whitelistlines
305081
305082           · 2605ff8712 Gracefully handle blank lines in whitelist.txt
305083
305084         · f1a5b13072 Merge pull request #47527 from dwoz/test_file_name
305085
305086           · 4aea7ca571 Update doc string
305087
305088           · b3289e5a1c Fix test file name
305089
305090         · e9c1723175 Merge pull request #47408 from Ch3LL/skip_diskusage
305091
305092           · 068da8ad7d Merge branch '2017.7' into skip_diskusage
305093
305094           · 1a7ffb4e0d return error if diskusage not available
305095
305096           · 10bd63a976 Skip status.diskusage integration tests on macsox
305097
305098         · 2f50ff7bc8 Merge pull request #47480 from baniobloom/ConflictingDo‐
305099           mainExists
305100
305101           · d22ed7dffa  added handling for the aws error ConflictingDomainEx‐
305102             ists
305103
305104         · 7f53be6e92  Merge  pull  request  #47444   from   terminalmage/ren‐
305105           der_state-spurious-error
305106
305107           · a1e9fe00fd Skip trying to render a template for a nonexistant SLS
305108             file
305109
305110         · 50b9c4d79d   Merge   pull    request    #47478    from    terminal‐
305111           mage/rename-pip-state-test
305112
305113           · 9f7a9ebebd  Rename pip state test modules to match naming conven‐
305114             tion
305115
305116         · e78ac0f9b7 Merge pull request #47505 from dwoz/win_dsc_fixes
305117
305118           · d1fcb40d1c Raise proper invocation errors
305119
305120         · 0d4d5047d8  Merge  pull  request  #47499  from   dwoz/win_run_time‐
305121           out_again
305122
305123           · c6697b9f16 Move kill process tree and re-use it
305124
305125         · 6a4d0380b1 Merge pull request #47493 from dwoz/win_run_timeout
305126
305127         · fec1233dc4 Add support for windows timeout to run_salt
305128
305129       · PR  #47565:  (rallytime)  Back-port  #47440  to  2018.3  @ 2018-05-10
305130         18:15:50 UTC
305131
305132         · PR #47440: (kt97679) fix for the race condition, details are  here:
305133           https://github.com/salt… (refs: #47565)
305134
305135         · b22657ff9e Merge pull request #47565 from rallytime/bp-47440
305136
305137         · 7c43417d46 addressed feedback
305138
305139         · 1abe05207c   fix   for   the  race  condition,  details  are  here:
305140           https://github.com/saltstack/salt/issues/33223#issuecomment-386117236
305141
305142       · PR #47590: (Ch3LL) Fix firewalld prune_services deprecation warning @
305143         2018-05-10 17:01:48 UTC
305144
305145         · 17e0fdca6c Merge pull request #47590 from Ch3LL/firewall_warn
305146
305147         · d29b8e0ae2 Fix firewalld prune_services deprecation warning
305148
305149       · PR  #47568:   (terminalmage)   salt.serializers.yaml/yamlex:   remove
305150         invalid multi_constructor (refs: #47598) @ 2018-05-10 16:21:09 UTC
305151
305152         · 2fcb108d71  Merge  pull request #47568 from terminalmage/salt-jenk‐
305153           ins-971
305154
305155       · ISSUE #38671: (MikeSpaceG) zpool.get error (refs: #47224)
305156
305157       · PR #47563:  (rallytime)  Back-port  #47224  to  2018.3  @  2018-05-10
305158         16:18:07 UTC
305159
305160         · PR #47224: (sjorge) Zpool zol fixes (refs: #47563)
305161
305162         · e3ee7053fb Merge pull request #47563 from rallytime/bp-47224
305163
305164         · 1d191445a7 FIX #38671 - zpool.get should support older zfs version
305165
305166         · 23705b12cb  zpool.scub  docs  should  mention  pause  is not always
305167           available
305168
305169         · d73885aa5c Make sure the  docs  mention  that  createboot  is  only
305170           available on illumos
305171
305172       · PR #47569: (Ch3LL) Update salt.utils.path mock in virtual core test @
305173         2018-05-10 15:18:31 UTC
305174
305175         · 8e26624db3 Merge pull request #47569 from Ch3LL/core_virt
305176
305177       · PR  #47576:  (rallytime)  [2018.3]  Small   Documentation   Fixes   @
305178         2018-05-10 14:08:11 UTC
305179
305180         · fc93715eea Merge pull request #47576 from rallytime/doc-updates
305181
305182         · ca927fc14b  Add  extra  lines that are needed for proper code-block
305183           formatting
305184
305185         · b330d763a4 Remove infoblox state autodoc file
305186
305187   Salt 2018.3.4 Release Notes
305188       Version 2018.3.4 is a bugfix release for 2018.3.0.
305189
305190   State Changes
305191       · The host.present state can now remove the specified hostname from IPs
305192         not  specified  in  the  state.  This  can  be  done  by  setting the
305193         newly-added clean argument to True.
305194
305195   Statistics
305196       · Total Merges: 531
305197
305198       · Total Issue References: 111
305199
305200       · Total PR References: 412
305201
305202       · Contributors: 76 (5uper5hoot, Ch3LL, ClaudiuPID, Giandom,  KaiSforza,
305203         MTecknology, ManicoW, OrangeDog, ShantonRU, The-Loeki, Yxnt, aarnaud,
305204         amendlik,  angeloudy,   bartlaarhoven,   bbh-kmd,   bbinet,   bdrung,
305205         bergmannf, bluesliverx, bornwitbugs, brejoc, cachedout, casselt, cro,
305206         cstarke,   dgmorrisjr,   dmurphy18,    dubb-b,    dwoz,    frogunder,
305207         garethgreenaway,  gtmanfred, isbm, jacobweinstock, jgleissner, jodok,
305208         jpsv,  jyurdal,  kiemlicz,  kunal-bajpai,  lexvella,  lomeroe,   m03,
305209         madrisan,    mat813,    mattp-,    max-arnold,    mchugh19,   meaksh,
305210         michaelgibson, nhavens, pirogoeth,  rallytime,  rkrieger,  rmarcinik,
305211         rongzeng54,   rwaweber,  s0undt3ch,  sathieu,  sheagcraig,  silenius,
305212         sunyq,   t0fik,   terminalmage,   terrible-broom,    thebluesnevrdie,
305213         thetaurean,  tlemarchand,  tonybaloney,  twangboy,  waynew,  weswhet,
305214         whytewolf, yosnoop, zwo-bot)
305215
305216   Changelog for v2018.3.3..v2018.3.4
305217       Generated at: 2019-02-06 20:56:17 UTC
305218
305219       · PR  #51525:  (twangboy)  Backport  51095  to  2018.3.4  @  2019-02-06
305220         20:20:37 UTC
305221
305222         · a37fb7d    Merge    pull   request   #51525   from   twangboy/back‐
305223           port_51095_2018.3.4
305224
305225         · b6acc92 Backport 51095
305226
305227       · PR #51520: (frogunder) Update man pages  for  2018.3.4  @  2019-02-06
305228         18:42:13 UTC
305229
305230         · 602ddc8 Merge pull request #51520 from frogunder/man_pages
305231
305232         · 0cbe3f8 Update man pages for 2018.3.4
305233
305234       · ISSUE  #51428:  (yosnoop) salt.utils.dns.lookup fails with dig method
305235         on EL7 (refs: #51429)
305236
305237       · PR #51429: (yosnoop) The +nocl is supported much wider than  +noclass
305238         @ 2019-02-06 17:48:48 UTC
305239
305240         · 1f981c6     Merge     pull     request     #51429     from     yos‐
305241           noop/replace-noclass-with-nocl-for-dig
305242
305243         · 5231e73        Merge         branch         '2018.3.4'         into
305244           replace-noclass-with-nocl-for-dig
305245
305246         · 14e6fb7 In case the test machine can't resolve
305247
305248         · 95e8a2f The +nocl is supported much wider than +noclass
305249
305250         · a00d708 Test dig options for salt.utils.dns.lookup
305251
305252       · ISSUE #49226: (defanator) salt-cloud grains inheritance from provider
305253         to profile (2018 vs 2016) (refs: #51366)
305254
305255       · PR  #51441:  (Ch3LL)  Backport  #51366  into  2018.3.4  @  2019-02-06
305256         17:42:19 UTC
305257
305258         · PR  #51366:  (dwoz)  Cloud  provider and profile configs are merged
305259           [2018.3] (refs: #51441)
305260
305261         · 209ef32 Merge pull request #51441 from Ch3LL/bp-51366
305262
305263         · 5bc466e Fix python 3 path for shell test cases
305264
305265         · 5351e5c Add testing path to run_script commands
305266
305267         · 2d8a364 Fix linter issues
305268
305269         · 9b8718a Cloud provider and profile configs are merged
305270
305271       · PR #51458: (twangboy) Add Py2 Warning for Py2 Installer @  2019-02-06
305272         17:33:02 UTC
305273
305274         · 90a8682 Merge pull request #51458 from twangboy/add_py2_warning
305275
305276         · 05522c0 Merge branch '2018.3.4' into add_py2_warning
305277
305278       · PR  #51460:  (twangboy)  Update  installer  mac 2018.3.4 @ 2019-02-06
305279         17:31:18 UTC
305280
305281         · b492021 Merge pull  request  #51460  from  twangboy/update_install‐
305282           er_mac_2018.3.4
305283
305284         · 3c92688 Merge branch '2018.3.4' into update_installer_mac_2018.3.4
305285
305286       · PR  #51471:  (twangboy)  Fix  the  failing  dns  test  on  Windows  @
305287         2019-02-03 22:03:34 UTC
305288
305289         · 892d98c    Merge    pull     request     #51471     from     twang‐
305290           boy/fix_test_win_dns_client
305291
305292         · c9f6b01 Merge branch '2018.3.4' into fix_test_win_dns_client
305293
305294       · PR  #51462:  (ShantonRU)  Fix  insecure SQL queries in MySQL module @
305295         2019-02-01 21:19:20 UTC
305296
305297         · a05305d  Merge  pull  request   #51462   from   ShantonRU/fix-inse‐
305298           cure-sql-queries-in-mysql-module-1
305299
305300         · d3ef2cb      Merge     branch     '2018.3.4'     into     fix-inse‐
305301           cure-sql-queries-in-mysql-module-1
305302
305303         · f47dda6   Fix   improper   use   of   socket   authentication    in
305304           mysql.user_chpass
305305
305306         · ed62a2f Fix insecure SQL queries in mysql.user_chpass
305307
305308           · 33922c9 Fix the failing dns test on Windows
305309
305310       · PR  #51445:  (terminalmage)  Remove  custom grains module from 2018.3
305311         branch @ 2019-02-01 16:48:13 UTC
305312
305313         · 48936c2  Merge  pull  request  #51445  from   terminalmage/fix-cus‐
305314           tom-grains-traceback
305315
305316         · 191235d Remove custom grains module from 2018.3 branch
305317
305318         · 72fd1a2 Roll back icon change
305319
305320         · 7dd1704 Add welcome_py2.rtf
305321
305322         · c93e9e3 Add Py2 Warning to installer package
305323
305324         · b658900 Add Py2 Warning for Py2 Installer
305325
305326       · PR  #51438:  (twangboy)  Add  missing  raise  statement  @ 2019-01-30
305327         20:04:05 UTC
305328
305329         · a880e42 Merge pull request #51438 from twangboy/fix_raise_2018.3.4
305330
305331         · 5830fad Add missing raise statement
305332
305333       · PR  #51432:  (Ch3LL)  Backport  #51324  into  2018.3.4  @  2019-01-30
305334         17:51:50 UTC
305335
305336         · PR  #51324:  (garethgreenaway)   [2018.3]  Fixes to x509 module and
305337           test (refs: #51432)
305338
305339         · 28b898c Merge pull request #51432 from Ch3LL/bp-51324
305340
305341         · bd41ff0 Fixing various bits in x509 module and unit test to  ensure
305342           tests are passing on python2 & python3
305343
305344       · PR  #51377: (twangboy) Fix issue when directory doesn't exist in LGPO
305345         module (2018.3.4) @ 2019-01-29 17:33:25 UTC
305346
305347         · 01717d2  Merge  pull  request   #51377   from   twangboy/fix_audit‐
305348           pol_2018.3.4
305349
305350         · 19e5181 Fix issue when directory doesn't exist
305351
305352       · PR  #51338:  (Ch3LL)  Backport  #51207  into  2018.3.4  @  2019-01-27
305353         23:44:59 UTC
305354
305355         · PR #51207: (twangboy) Backport 50771 to 2018.3 (refs: #51338)
305356
305357         · PR #50771: (terminalmage) Fix failing opensuse tests (refs: #51207)
305358
305359         · 43a9d2f Merge pull request #51338 from Ch3LL/bp-51207
305360
305361         · 345ae67 Backport PR# 50771 to 2018.3 branch
305362
305363       · ISSUE #51158: (AndreiPashkin) saltmod.state doesn't respect  "roster"
305364         argument (refs: #51170)
305365
305366       · PR  #51337:  (Ch3LL)  Backport  #51170  into  2018.3.4  @  2019-01-27
305367         23:44:24 UTC
305368
305369         · PR #51170: (dwoz) Honor roster system for ssh orchestrations (refs:
305370           #51337)
305371
305372         · 3dcd11d Merge pull request #51337 from Ch3LL/bp-51170
305373
305374         · 4e85505 Merge branch '2018.3.4' into bp-51170
305375
305376       · ISSUE   #50221:   (tkaehn)  file.managed:  contents_pillar  and  pil‐
305377         lar.file_tree with keep_newline is broken in 2018.3.3 (refs: #51252)
305378
305379       · PR  #51340:  (Ch3LL)  Backport  #51252  into  2018.3.4  @  2019-01-27
305380         23:42:49 UTC
305381
305382         · PR  #51252:  (dwoz) Peserve newlines from pillar data for file.man‐
305383           aged [2018.3] (refs: #51340)
305384
305385         · 7656aa5 Merge pull request #51340 from Ch3LL/bp-51252
305386
305387         · e74a6c6 Fix py3 managed.file test failure
305388
305389         · 6f2c7cf Remoe un-needed log statement
305390
305391         · 824950c Fix 50221 regression test on Windows
305392
305393         · 1840af9 peserve newlines from pillar data for file.managed
305394
305395       · PR #51290: (s0undt3ch)  [2018.3.4]  Fix  minion  start  @  2019-01-25
305396         15:14:47 UTC
305397
305398         · e90ca1d Merge pull request #51290 from s0undt3ch/hotfix/fix-network
305399
305400         · da3aace Merge branch '2018.3.4' into hotfix/fix-network
305401
305402         · 04f16b8 Fix tests. We no longer get ipaddress instances back.
305403
305404         · c3fa82a Fix minion start issue
305405
305406           · c893dc4 Fix saltmod roster test
305407
305408           · b61854f Roster defines the roster system not a file
305409
305410           · 484bab4 Fix linter
305411
305412           · 5e2db2f Honor roster file for ssh orchestrations
305413
305414       · PR  #51317:  (terminalmage)  Fix  regression  in  dynamic pillarenv @
305415         2019-01-25 09:29:44 UTC
305416
305417         · c8db7e3 Merge pull request #51317 from terminalmage/fix-pr-50417
305418
305419         · 4be2891 Merge branch '2018.3.4' into fix-pr-50417
305420
305421       · PR #51311: (twangboy) Fix  failing  test  unit.states.test_file.Test‐
305422         FileState.test_managed on Windows @ 2019-01-24 21:09:35 UTC
305423
305424         · e246fdb     Merge     pull     request     #51311    from    twang‐
305425           boy/fix_test_file.test_managed
305426
305427         · f4177e0 Remove mode parameter on Windows
305428
305429         · 4c4ded3 Fix regression in dynamic pillarenv
305430
305431       · ISSUE #51195: (littleski) fstab improperly escaped  when  spaces  are
305432         used in options (refs: #51226)
305433
305434       · ISSUE  #27160:  (martinadolfi)  salt.states.mount  persistence  error
305435         using spaces in route (refs: #39593)
305436
305437       · PR  #51292:  (Ch3LL)  Backport  #51226  into  2018.3.4  @  2019-01-24
305438         11:11:34 UTC
305439
305440         · PR  #51226: (garethgreenaway) [2018.3] Handle spaces in fstab opts,
305441           similar fix to #39593 (refs: #51292)
305442
305443         · PR #39593: (zwo-bot) Fix issue #27160 - escape whitespaces in fstab
305444           entry in module mount when persist=True (refs: #51226)
305445
305446         · 40b20126 Merge pull request #51292 from Ch3LL/bp-51226
305447
305448         · aba114e Merge branch '2018.3.4' into bp-51226
305449
305450       · PR  #51295:  (Ch3LL)  Backport  #51279  into  2018.3.4  @  2019-01-24
305451         11:10:19 UTC
305452
305453         · PR #51279: (twangboy) Backport  __context__  support  from  develop
305454           (refs: #51295)
305455
305456         · fc0bec5 Merge pull request #51295 from Ch3LL/bp-51279
305457
305458         · 5c4a7a4 Merge branch '2018.3.4' into bp-51279
305459
305460       · PR  #51293:  (Ch3LL)  Backport  #51233  into  2018.3.4  @  2019-01-24
305461         09:17:49 UTC
305462
305463         · PR #51233: (Ch3LL) Backport #51105 to 2018.3 (refs: #51293)
305464
305465         · PR #51105: (garethgreenaway) [develop] Report permission changes in
305466           test mode (refs: #51233)
305467
305468         · dacd1ea Merge pull request #51293 from Ch3LL/bp-51233-2
305469
305470         · a155fd7  Accounting  for  when  permissions  are  not returned from
305471           file.check_perms, eg. windows systems.
305472
305473         · 53ba068 When test=True and there are  permissions  changes,  report
305474           it.
305475
305476         · d2eba77 Remove network.py patch
305477
305478         · d431c71 Add __context__ support
305479
305480           · de6c13d Handle spaces in fstab opts, similar fix to #39593
305481
305482       · ISSUE #51248: (johnnybubonic) "[WARNING ] The file_roots parameter is
305483         not properly formatted, using defaults" (refs: #51278)
305484
305485       · PR #51278: (dwoz) Warn about proper validation  option  @  2019-01-22
305486         22:13:13 UTC
305487
305488         · 1abffb2 Merge pull request #51278 from dwoz/issue51248
305489
305490         · c614198 Use pillar roots validation method
305491
305492         · 0d2b0c6 Fix linter warnings
305493
305494         · 5b98895 Fix wart in pillar_roots validation
305495
305496       · PR  #51230:  (Ch3LL)  [2018.3]  Merge forward from 2017.7 to 2018.3 @
305497         2019-01-18 19:50:10 UTC
305498
305499         · e53e9b1 Merge pull request #51230 from Ch3LL/merge-2018.3
305500
305501         · 0ef7675 Merge branch '2017.7' into '2018.3'
305502
305503         · 4a12c5f Merge pull request #50852 from mirceaulinic/fix-capirca
305504
305505           · fa91267 Merge branch '2017.7' into fix-capirca
305506
305507           · 71913ff Merge branch '2017.7' into fix-capirca
305508
305509           · 6fc3484 Lint?
305510
305511           · 3d56750 Extra newline for lint
305512
305513           · 5176cd8 Improve the Capirca and related modules  for  ACL  config
305514             generation
305515
305516         · 3f4759b Merge pull request #50923 from astronouth7303/patch-2
305517
305518           · 4f631a6 Document {% include %}
305519
305520         · 210e817 Merge pull request #51111 from s0undt3ch/2017.7
305521
305522           · 08e0ae7 Update to salt-bootstrap v2019.01.08
305523
305524       · ISSUE  #51211: (sathieu) file_roots envs with slash leads to "No such
305525         file          or           directory:           '/var/cache/salt/mas‐
305526         ter/file_lists/roots/.foo/bar.w' (refs: #51212)
305527
305528       · ISSUE #48132: (BenjaminSchiborr) Dynamic File Roots (refs: #51212)
305529
305530       · PR  #51212: (sathieu) Allow slashes in file_roots envs.  @ 2019-01-17
305531         17:29:18 UTC
305532
305533         · 26008ef Merge pull request #51212 from sathieu/file_roots_slash
305534
305535         · b769f18 Allow slash in file_roots envs
305536
305537         · f9437e2 Test for file_roots envs with slash leads to "No such  file
305538           or directory"
305539
305540       · PR #51209: (garethgreenaway) [2018.3] Back-port PR #51124 to 2018.3 @
305541         2019-01-17 13:28:32 UTC
305542
305543         · PR #51124: (Ch3LL) Handle  encoding  when  opening  file  for  both
305544           py2/py3 (refs: #51209)
305545
305546         · 5916282 Merge pull request #51209 from garethgreenaway/bp-51124
305547
305548         · 82acce4 Handle encoding when opening file for both py2/py3
305549
305550       · PR  #51184:  (twangboy)  Fix win_lgpo_auditpol salt util on Windows @
305551         2019-01-16 18:08:01 UTC
305552
305553         · 094bd33 Merge pull request #51184 from twangboy/fix_auditpol
305554
305555         · 2e68d35 directly call cmd.run_all
305556
305557       · PR #51191: (Ch3LL) Backport #50918 into 2018.3 @ 2019-01-16  18:02:19
305558         UTC
305559
305560         · PR #50918: (twangboy) Fix test_debian_ip on Windows (refs: #51191)
305561
305562         · ac71922 Merge pull request #51191 from Ch3LL/bp-50918
305563
305564         · 7300d84 Skip debian tests on Windows
305565
305566         · 4622433 Fix test_debian_ip on Windows
305567
305568       · ISSUE  #49883:  (kiemlicz)  salt-cloud azurearm is not working (refs:
305569         #51144)
305570
305571       · PR #51144: (jgleissner) 2018.3 azurearm py3 @ 2019-01-15 16:46:35 UTC
305572
305573         · e7f53a3    Merge    pull    request    #51144     from     jgleiss‐
305574           ner/2018.3-azurearm-py3
305575
305576         · 3178f1a msazure.py: remove unused imports
305577
305578         · 99a4b9d azurearm: fix list_locations
305579
305580         · aebe34b azurearm: fix show_instance function
305581
305582         · d80669f msazure: fix object_to_dict for python 3
305583
305584       · PR #51171: (twangboy) Add random sleep time to avoid overloading Win‐
305585         dows @ 2019-01-15 16:45:33 UTC
305586
305587         · 1206f92 Merge pull request #51171 from twangboy/fix_crypt
305588
305589         · 6caa93b Add random sleep time to avoid overloading Windows
305590
305591       · PR #51174: (jpsv) Update OpsGenie to use  their  V2  API  (2018.3)  @
305592         2019-01-15 16:44:54 UTC
305593
305594         · a96deed Merge pull request #51174 from jpsv/2018.3
305595
305596         · 055823e Update opsgenie.py
305597
305598         · 501c8df Merge branch '2018.3' into 2018.3
305599
305600         · 220aa8a Update opsgenie.py
305601
305602         · 5dc21cc Update to from V1 API to V2
305603
305604         · f93ce7c Update to V2 API
305605
305606       · ISSUE  #42280:  (michaelgibson)  make  ldap eauth 2 factor compatible
305607         (refs: #42426, #45347)
305608
305609       · PR #51010: (amendlik) Allow unauthenticated  bind  for  listing  LDAP
305610         groups @ 2019-01-15 16:43:42 UTC
305611
305612         · PR #45811: (gtmanfred) Fix ldap eauth (refs: #51010)
305613
305614         · PR #45347: (amendlik) LDAP group membership (refs: #51010)
305615
305616         · PR  #42426: (michaelgibson) adding 2-factor auth capability to ldap
305617           eauth module - #42280 (refs: #45347)
305618
305619         · 563d487 Merge pull request #51010 from amendlik/ldap-groups
305620
305621         · cd336ed Merge branch '2018.3' into ldap-groups
305622
305623         · 94f8ee4 Update unit tests for auth.ldap
305624
305625         · 08e36d0 Allow unauthenticated bind for listing LDAP groups
305626
305627       · PR #51112: (s0undt3ch)  [2018.3] Update to salt-bootstrap v2019.01.08
305628         @ 2019-01-15 16:42:09 UTC
305629
305630         · 6dc3752 Merge pull request #51112 from s0undt3ch/2018.3
305631
305632         · 4f1d846 Update to salt-bootstrap v2019.01.08
305633
305634       · PR  #51097:  (terminalmage)  Fix improper exception raises (2018.3) @
305635         2019-01-15 16:38:25 UTC
305636
305637         · b19c990 Merge  pull  request  #51097  from  terminalmage/fix-keyer‐
305638           ror-raise
305639
305640         · a3c0b49 Fix poorly-written test
305641
305642         · c0ff7b1 Fix more incorrect exception raises
305643
305644         · f11dbcc Fix improper KeyError raise
305645
305646       · PR  #51169:  (twangboy) More descriptive error when missing GitPython
305647         or PyGit2 @ 2019-01-15 16:37:44 UTC
305648
305649         · 8920a86 Merge pull request #51169 from twangboy/fix_git_state
305650
305651         · f2d1180 More descriptive error when missing GitPython or PyGit2
305652
305653       · ISSUE #51160: (amendlik) Minion  crashes  with  long  hostname  under
305654         Python 3 (refs: #51173, #51161)
305655
305656       · PR  #51173:  (dwoz)  Avoid  exceptions  by  passing  bytes  to idna @
305657         2019-01-15 16:32:31 UTC
305658
305659         · PR #51161: (amendlik) Ignore exceptions when generating the  minion
305660           ID (refs: #51173)
305661
305662         · 58eede6 Merge pull request #51173 from dwoz/issue51160
305663
305664         · 11cc7b3 Remove un-needed test
305665
305666         · 0f87812 Merge develop, Revert exception handling
305667
305668         · 7365a1a Pass bytes to idna
305669
305670       · PR  #51147:  (Ch3LL)  [2018.3]  Merge forward from 2017.7 to 2018.3 @
305671         2019-01-15 02:05:51 UTC
305672
305673         · 06854cf Merge pull request #51147 from Ch3LL/merge-2018.3
305674
305675         · d39d8b7 Merge branch '2018.3' into merge-2018.3
305676
305677       · ISSUE #51160: (amendlik) Minion  crashes  with  long  hostname  under
305678         Python 3 (refs: #51173, #51161)
305679
305680       · PR #51161: (amendlik) Ignore exceptions when generating the minion ID
305681         (refs: #51173) @ 2019-01-14 22:47:54 UTC
305682
305683         · b79c09e Merge pull request #51161 from amendlik/long-hostname
305684
305685         · 6fcc4ad Merge branch '2018.3' into long-hostname
305686
305687       · ISSUE #51067: (rkrieger) KeyError u'manufacturer' causes  salt-minion
305688         crash on start with OpenBSD arm64 system (refs: #51159)
305689
305690       · ISSUE #3: (thatch45) libvirt module (refs: #51159)
305691
305692       · PR  #51159: (rkrieger) Prevent crash by testing for 'manufacturer' in
305693         osdata on OpenBSD @ 2019-01-14 18:08:22 UTC
305694
305695         · 1424734 Merge pull request #51159 from rkrieger/fix-issue-51067
305696
305697         · 1440ccf Prevent crash by testing for 'manufacturer'  in  osdata  on
305698           OpenBSD
305699
305700         · 1a4e307 Ignore exceptions when generating the minion ID
305701
305702       · PR  #51146: (terminalmage) Fix invalid assignment in vsphere module @
305703         2019-01-12 21:44:33 UTC
305704
305705         · 5e37326    Merge    pull    request    #51146    from     terminal‐
305706           mage/fix-vsphere-tuple-issue
305707
305708         · 5d60022 Fix invalid assignment in vsphere module
305709
305710       · PR  #51154:  (twangboy)  Add  support  for  Advanced Audit policies @
305711         2019-01-12 21:43:27 UTC
305712
305713         · fad8621 Merge pull request #51154 from twangboy/auditpol
305714
305715         · 9064376 Add support for Advanced Audit policies
305716
305717       · PR #51151: (Ch3LL) Backport #51061 to 2018.3  @  2019-01-12  03:18:44
305718         UTC
305719
305720         · PR #51061: (garethgreenaway) [fluorine] fix to salt.utils.vt.Termi‐
305721           nal (refs: #51151)
305722
305723         · f7a100c Merge pull request #51151 from Ch3LL/bp_51061
305724
305725         · ffdae27 When writing output to stdout we want to  ensure  that  the
305726           data  is  a string not bytes.  Under py2 the salt.utils.data.encode
305727           function results in  a  string  but  under  py3  the  result  is  a
305728           bytestring.      Swapping     out     salt.utils.data.encode    for
305729           salt.utils.stringutils.to_str.
305730
305731       · PR #51150: (Ch3LL) Back-port #49508 to 2018.3 @  2019-01-12  03:18:19
305732         UTC
305733
305734         · PR  #49508:  (bergmannf)  Fix X509 remote signing on python3 (refs:
305735           #51150)
305736
305737         · 3a50a57 Merge pull request #51150 from Ch3LL/bp-49508
305738
305739         · 7ae53ad Do not silently ignore errors.
305740
305741         · deb0134 Convert to string before sending via 'publish'.
305742
305743         · 651c551 Use to_str salt.utils when writing to a file.
305744
305745       · ISSUE    #50433:    (zerthimon)    Wildcard    grant     fails     in
305746         mysql_grants.present in mysql 8.x (refs: #51152)
305747
305748       · PR #51152: (garethgreenaway) [2018.3] Fixes to mysql module to handle
305749         ALL PRIVILEGES grant @ 2019-01-12 03:17:15 UTC
305750
305751         · 8bb589d Merge pull request #51152  from  garethgreenaway/50433_han‐
305752           dle_grants_better
305753
305754         · f7caa4d Fixing lint
305755
305756         · e8c8c0f  Adding  some  tests  to ensure "ALL PRIVILEGES" is handled
305757           correctly in 8.0 and 5.6
305758
305759         · b4bfd9f Add additional grants.  Adding logic to handle when ALL  or
305760           ALL  PRIVILEGES  is  passed  for the grant, including some logic to
305761           handle the fact that the grants are split when show grants  is  run
305762           for a particular user.
305763
305764           · 74edfd9 Fix pylint
305765
305766           · 81a3d47 Merge branch '2017.7' into '2018.3'
305767
305768           · 8a76a19   Merge   pull   request   #50858  from  jasonarewhy/bug‐
305769             fix-2017.7/ubuntu-networking-searchdomain
305770
305771             · 3395a3d Merge branch  '2017.7'  into  bugfix-2017.7/ubuntu-net‐
305772               working-searchdomain
305773
305774             · 69d25aa update debian_ip test
305775
305776             · a6b896c get searchdomain in Ubuntu 12+
305777
305778       · ISSUE  #50849:  (5uper5hoot) MySQL version needs to be decoded (refs:
305779         #51133)
305780
305781       · PR #51133: (5uper5hoot) Fixes mysql  server  version  comparison.   @
305782         2019-01-10 16:45:38 UTC
305783
305784         · dda1ebb Merge pull request #51133 from 5uper5hoot/issue-#50849
305785
305786         · ec14e13 Fixes mysql server version comparison.
305787
305788       · PR  #50878:  (max-arnold)  Fix  profile  outputter  docs @ 2019-01-08
305789         18:32:40 UTC
305790
305791         · 9d4321d Merge pull request #50878 from max-arnold/output-docs
305792
305793         · d7403da Fix profile outputter docs
305794
305795       · PR #51076: (OrangeDog) Typos in index_template_present  documentation
305796         @ 2019-01-08 18:25:20 UTC
305797
305798         · ce87504 Merge pull request #51076 from OrangeDog/patch-1
305799
305800         · 568e4fb Revert add -> check
305801
305802         · 4d7ebe7 Typos in index_template_present documentation
305803
305804       · PR  #51081:  (garethgreenaway)  [2018.3] Merge forward from 2017.7 to
305805         2018.3 @ 2019-01-07 20:34:16 UTC
305806
305807         · d08abf4 Merge pull request #51081 from garethgreenaway/merge-2018.3
305808
305809         · 027804a Merge branch '2018.3' into merge-2018.3
305810
305811       · ISSUE #50966:  (klafkoff)  2018.3.3  missing  a  patch  to  salt/mod‐
305812         ules/nxos.py (refs: #51080)
305813
305814       · PR #51080: (garethgreenaway) [2018.3] Fix to nxos module @ 2019-01-07
305815         18:07:25 UTC
305816
305817         · 335088b   Merge   pull    request    #51080    from    garethgreen‐
305818           away/50966_nxos_ensure_kwargs_list
305819
305820         · 230a66b Merge branch '2018.3' into 50966_nxos_ensure_kwargs_list
305821
305822         · 629dc25  Ensure kwargs is a list before we attempt to loop through.
305823           Similar                           fix                            to
305824           https://github.com/rallytime/salt/commit/430c462f34eb4eedf2384e06fbee8dc19b8026f6
305825           in the proxy module.
305826
305827           · a20791b Merge branch '2018.3' into merge-2018.3
305828
305829       · PR #51079: (terminalmage)  Fix  shadow.set_date/shadow.set_expire  on
305830         F28 @ 2019-01-07 16:28:36 UTC
305831
305832         · c47b646  Merge  pull  request  #51079  from terminalmage/salt-jenk‐
305833           ins-1238
305834
305835         · ccd5c15 Fix shadow.set_date/shadow.set_expire on F28
305836
305837       · ISSUE #47043: (xBytez) lsattr slowing down  archive.extracted  (refs:
305838         #51044)
305839
305840       · PR  #51044:  (terminalmage)  archive.extracted: Don't run lsattr when
305841         enforcing user/group ownership @ 2019-01-03 19:26:03 UTC
305842
305843         · aeeb047 Merge pull request #51044 from terminalmage/issue47043
305844
305845         · 787b79a  archive.extracted:  Don't  run   lsattr   when   enforcing
305846           user/group ownership
305847
305848       · ISSUE  #50964: (gtmanfred) Add a long description to setup.py for the
305849         new pypi.org (refs: #51031)
305850
305851       · PR  #51034:  (garethgreenaway)  Back-port  PR  #51031  to  2018.3   @
305852         2019-01-03 15:42:22 UTC
305853
305854         · PR #51031: (waynew) Set long_description (refs: #51034)
305855
305856         · 04fdae5 Merge pull request #51034 from garethgreenaway/bp-51031
305857
305858         · cd310c2 Set long_description
305859
305860       · ISSUE  #50634:  (marek-obuchowicz)  Debian  pkg.managed gpg/tty issue
305861         (refs: #50972)
305862
305863       · PR #50972: (pirogoeth) Use gpg's --batch in apt-key adv  during  repo
305864         key add @ 2019-01-03 02:34:13 UTC
305865
305866         · 4685e0e     Merge     pull     request     #50972     from    piro‐
305867           goeth/sjohn/2018.3-apt-key-batch
305868
305869         · cd3d755 Merge branch '2018.3' into sjohn/2018.3-apt-key-batch
305870
305871       · PR #51028: (whytewolf) AIX lsattr fix for file module.  @  2019-01-03
305872         01:52:33 UTC
305873
305874         · 44bc862 Merge pull request #51028 from whytewolf/aix_lsattr_fix
305875
305876         · 1b733c6  Set  lsattr  functions  to return None if salt.utils.plat‐
305877           form.is_aix returns true.
305878
305879         · 7410008 Merge branch '2018.3' into sjohn/2018.3-apt-key-batch
305880
305881       · PR #51018: (garethgreenaway) [fluorine] Merge forward from 2017.7  to
305882         2018.3 @ 2019-01-01 23:11:02 UTC
305883
305884         · b4774a8 Merge pull request #51018 from garethgreenaway/merge-2018.3
305885
305886           · 773bf31 Use gpg's --batch in apt-key adv during repo key add
305887
305888             · 9386aab Merge branch '2017.7' into merge-2018.3
305889
305890             · 998feca Merge pull request #51030 from terminalmage/issue38502
305891
305892               · 6dbd81f Add unit test to ensure we don't diff bare repos
305893
305894         · 12f7583 Merge branch '2017.7' into merge-2018.3
305895
305896         · 4529150 Merge pull request #50977 from rallytime/config-docs
305897
305898           · 43c39e7   Add   documentation   to   master   config   docs   for
305899             job_cache_store_endtime
305900
305901           · 887cd07 Add some salt-api options to the master config docs
305902
305903           · 0d49746 Fix some formatting in master config docs
305904
305905         · 409594b Merge pull request #50991 from twangboy/requests_2017.7
305906
305907           · 32b9d2a Update requests for osx
305908
305909           · 413dc72         Merge         branch         '2017.7'          of
305910             https://github.com/saltstack/salt into requests_2017.7
305911
305912         · e053074 Merge pull request #50983 from garethgreenaway/bp-50885
305913
305914           · 09a8e6e  fix  a del in cloud vmware that crash when the key isn't
305915             there
305916
305917           · 4196690 Update requests to 2.21.0
305918
305919           · 23f78b0 Upgrade requests to 2.20.1
305920
305921       · PR #50990: (twangboy) Requests 2018.3 @ 2018-12-31 20:19:01 UTC
305922
305923         · c53723a Merge pull request #50990 from twangboy/requests_2018.3
305924
305925         · e8b9233 Update requests on osx
305926
305927         · b22856f Update requests to 2.21.0
305928
305929         · 242389b Merge branch '2018.3' of  https://github.com/saltstack/salt
305930           into requests_2018.3
305931
305932         · 0d4b799 Upgrade requests to 2.20.1
305933
305934       · PR  #51004:  (twangboy) Add tests for the win_wusa state and module @
305935         2018-12-31 20:03:30 UTC
305936
305937         · cecd108 Merge pull request #51004 from twangboy/win_wusa
305938
305939         · 0e92528 Merge branch '2018.3' into win_wusa
305940
305941         · c0d2495 Fix lint, add test docs
305942
305943         · 1750270 Add state tests for win_wusa
305944
305945         · 6285b64 Update win_wusa and add tests
305946
305947       · PR #51014: (madrisan) ssh module: missing space in  error  message  @
305948         2018-12-31 19:59:19 UTC
305949
305950         · 3e0515b Merge pull request #51014 from madrisan/patch-1
305951
305952         · ab980fb ssh module: missing space in error message
305953
305954       · PR   #50883:  (terminalmage)  Backport  #49622  to  2018.3  branch  @
305955         2018-12-31 19:58:11 UTC
305956
305957         · PR #49622: (angeloudy) fix command line options (refs: #50883)
305958
305959         · 582d6b4 Merge pull request #50883 from terminalmage/bp-49622
305960
305961         · c93dbfa Update archive.py
305962
305963         · 925a9c9 Update archive.py
305964
305965         · ed2bed3 fix command line options
305966
305967       · PR #50945: (garethgreenaway)  [2018.3] Merge forward from  2017.7  to
305968         2018.8 @ 2018-12-30 00:05:47 UTC
305969
305970         · fd9711b Merge pull request #50945 from garethgreenaway/merge-2017.7
305971
305972         · 43b3fa4 Merge branch '2018.3' into merge-2017.7
305973
305974       · ISSUE #50854: (Ch3LL) [fluorine] windows stops when cannot connect to
305975         master (refs: #50855)
305976
305977       · PR #51006: (dwoz) Let minions try to connect to master indefinitly  @
305978         2018-12-28 21:10:39 UTC
305979
305980         · PR  #50855: (dwoz) Let minions try to connect to master indefinitly
305981           (refs: #51006)
305982
305983         · b8615e1 Merge pull request #51006 from dwoz/backport_50855
305984
305985         · 5563631 Let minions try to connect to master indefinitly
305986
305987       · ISSUE #50989: (mpx8701) SLS error  (An  exception  occurred  in  this
305988         state: Traceback) (refs: #51005)
305989
305990       · PR  #51005:  (garethgreenaway) [2018.3] Fixes to junos state module @
305991         2018-12-28 20:51:31 UTC
305992
305993         · cfed697 Merge pull request #51005  from  garethgreenaway/50989_fix‐
305994           ing_junos_state_arguments
305995
305996         · d4ac180  Fixing the arguments accepted by cli function in the junos
305997           state module which are passed along to the cli  function  in  junos
305998           module, so they align.
305999
306000         · 3cfca8e Merge branch '2018.3' into merge-2017.7
306001
306002       · PR  #50982:  (twangboy) Fix issue with LGPO when returning empty dict
306003         (2018.3) @ 2018-12-26 19:58:12 UTC
306004
306005         · daa591b Merge pull request #50982 from twangboy/fix_lgpo_2018.3
306006
306007         · d942934 Get rid of requests import (CaseInsensitiveDict)
306008
306009           · 6170fa5 Merge branch '2018.3' into merge-2017.7
306010
306011       · ISSUE #46886: (bbh-kmd) Unable to get salt-minion to  call  salt-call
306012         with alternate configuration (refs: #50959)
306013
306014       · PR   #50984:  (garethgreenaway)  Back-port  PR  #50959  to  2018.3  @
306015         2018-12-26 19:29:54 UTC
306016
306017         · PR #50959: (bbh-kmd) #46886: Use correct path  to  config_dir  when
306018           running salt from alternate placement. (refs: #50984)
306019
306020         · 110bc66 Merge pull request #50984 from garethgreenaway/bp-50959
306021
306022         · 20fa5c9 Update sudo.py
306023
306024       · PR #50958: (bdrung) Fix twilio version checking @ 2018-12-25 10:46:15
306025         UTC
306026
306027         · 8fc89a0 Merge pull request #50958 from bdrung/fix-twilio
306028
306029         · df8d7b9 Fix twilio version checking
306030
306031           · d89c9b5 Merge branch '2018.3' into merge-2017.7
306032
306033       · ISSUE #50947: (cachedout) Log full of IPv6 warnings (refs: #50962)
306034
306035       · PR   #50962:   (terminalmage)   Remove   redundant   overrides    for
306036         ip_address/ip_interface @ 2018-12-21 22:04:34 UTC
306037
306038         · bb87822 Merge pull request #50962 from terminalmage/ipv6-warnings
306039
306040         · 773b983 Merge branch '2018.3' into ipv6-warnings
306041
306042         · f3b1254 Remove redundant overrides for ip_address/ip_interface
306043
306044           · cea01e7 Updating valigdate_tgt to ensure tests pass.
306045
306046           · cdc7825 yet another lint fix.
306047
306048           · f44a87e One last lint fix.
306049
306050           · 45f363b Fixing various lint errors.
306051
306052           · 6a65bf9 Merge branch '2017.7' into merge-2017.7
306053
306054           · 747dd69 Merge pull request #50876 from terminalmage/issue50153
306055
306056             · 676a12a Fix compound matching in eauth
306057
306058           · 07fca64   Merge   pull  request  #50909  from  damon-atkins/jenk‐
306059             ins_pylint
306060
306061             · da1fc32 change params.CHANGE_BRANCH to env.CHANGE_BRANCH
306062
306063           · e7f0ab6 Merge pull request #50873 from Ch3LL/bp-50740
306064
306065             · 5fd9ed9 Merge branch '2017.7' into bp-50740
306066
306067           · 2f77b2d   Merge   pull   request   #50869    from    garethgreen‐
306068             away/50848_mysql_exception_test
306069
306070             · 3767d4f Merge branch '2017.7' into 50848_mysql_exception_test
306071
306072             · af3e145 Cleanup.
306073
306074             · b85c5bf Adding a test to ensure exception handling is correct.
306075
306076               · 4242e64 Merge branch '2017.7' into bp-50740
306077
306078           · a5caab7 Merge pull request #50872 from Ch3LL/bp-50864
306079
306080             · fc9c64b fix typo in file.managed documentation
306081
306082             · fd73f86 Catch UnicodeDecodeErrors in id verification
306083
306084       · PR  #50937:  (Ch3LL)  Fix external_pillars documentation @ 2018-12-20
306085         19:15:20 UTC
306086
306087         · 49f2a35 Merge pull request #50937 from Ch3LL/pillar_doc
306088
306089         · 1f01489 Fix external_pillars documentation
306090
306091       · ISSUE #50919: (dpkirchner)  state.apply  test  documentation  unclear
306092         (refs: #50940)
306093
306094       · PR  #50940: (terminalmage) Fix confusing state module documentation @
306095         2018-12-20 18:29:26 UTC
306096
306097         · 4213527 Merge pull request #50940 from terminalmage/issue50919
306098
306099         · 3318927 Fix confusing state module documentation
306100
306101       · PR #50929: (twangboy) Fix unit.utils.test_lgpo_netsh on  Windows  for
306102         Py3 (2018.3) @ 2018-12-20 17:50:37 UTC
306103
306104         · 421e4f4     Merge     pull     request     #50929    from    twang‐
306105           boy/fix_test_lgpo_netsh_2018.3
306106
306107         · 01f9beb Fix failing lgpo netsh tests
306108
306109       · PR #50917: (dwoz) Cherry pick test fixes from fluorine  @  2018-12-19
306110         17:56:19 UTC
306111
306112         · b08b7e1 Merge pull request #50917 from dwoz/test_fixes
306113
306114         · 16d10fb Fix linter warnings
306115
306116         · b22f827 Increase and standardize ShellCase timeouts
306117
306118         · a5c8c18 Do not pass unicode in environment
306119
306120       · PR #50913: (bdrung) Fix documentation build @ 2018-12-19 16:03:55 UTC
306121
306122         · 59df6b4 Merge pull request #50913 from bdrung/fix-doc-build
306123
306124         · ecdb452 doc: Indroduce MOCK_MODULES_MAPPING
306125
306126         · cf64824 doc: Move mock_decorator_with_params up
306127
306128         · 08ef669 doc: Address pylint issues in conf.py
306129
306130         · 67a3e37 doc: Mark preamble variable as raw string
306131
306132         · b1e6080 doc: Fix reference to salt executors
306133
306134         · e48b324 doc: Replace xa0 (non-breaking space) by spaces
306135
306136         · b973e7a doc: Fix iterating over the Mock object in Python 3
306137
306138         · bb29948 doc: Do not mock non-existing __mro_entries__ attribute
306139
306140         · e6cf3c4 Do not mock json when building the documentation
306141
306142         · 4acaf45 Fix sphynx error about tornado.version_info
306143
306144       · ISSUE  #50892: (cruscio) archive.extracted source_hash is case sensi‐
306145         tive (refs: #50906)
306146
306147       · PR #50906: (garethgreenaway)  [2018.3]  Ensure  source_hash  returned
306148         from get_source_sum is lowercase.  @ 2018-12-19 04:22:23 UTC
306149
306150         · f4e6b88  Merge  pull  request #50906 from garethgreenaway/50892_ar‐
306151           chive_extracted_source_hash_case_sensitive
306152
306153         · bcf8f06 fixing lint
306154
306155         · 543ec7b Ensure source_hash returned from get_source_sum  is  lower‐
306156           case.
306157
306158       · PR  #50867:  (Ch3LL)  [2018.3]  Merge forward from 2017.7 to 2018.3 @
306159         2018-12-14 21:32:23 UTC
306160
306161         · b95b44f Merge pull request #50867 from Ch3LL/merge-2018.3
306162
306163         · 512293f Remove dunder_dictionaries.rst. Was added to modules/devel‐
306164           oping.rst
306165
306166         · 89b4e09 Merge branch '2017.7' into '2018.3'
306167
306168         · 858cfac Merge pull request #50863 from 5uper5hoot/fix-issue-50848
306169
306170           · c90d201 Unpack exception args in python3 compatible way.
306171
306172         · e28b2ba Merge pull request #50752 from kstreee/fix-memory-leak
306173
306174           · 98cc63a Fixes a memory leak un-cleared stream connections.
306175
306176         · 1f57602 Merge pull request #50837 from Ch3LL/pyren_doc
306177
306178           · a873019 Clarify py render docs when data context is available
306179
306180         · fdff675 Merge pull request #50844 from twangboy/fix_grains
306181
306182           · 473f4d7 Fix some unrelated lint
306183
306184           · fd1a072 Fix grains for future windows releases
306185
306186         · 32dfaba Merge pull request #50816 from dubb-b/2017.7
306187
306188           · dc7ff48 Pinning bootstrap to the tagged version of salt.
306189
306190         · b1e5f3f Merge pull request #50709 from mattLLVW/service_unmask
306191
306192           · b199255 Merge branch '2017.7' into service_unmask
306193
306194           · 38addd1 salt style guideline
306195
306196           · 823c4ad Implement unmask in states.services
306197
306198           · 91a6bf5 Functional unmask, must add tests
306199
306200         · e4e9563 Merge pull request #50633 from astronouth7303/loader-docs
306201
306202           · 03e3168  whitelist_modules is linked via enable_whitelist_modules
306203             for some reason? idk
306204
306205           · 5ca1f8e Typos
306206
306207           · 7cb1a87 Add a quick index of loader-related settings
306208
306209           · 318ca48 Make a note to not import modules
306210
306211           · 6294658  Merge  remote-tracking   branch   'origin/2017.7'   into
306212             loader-docs
306213
306214           · 678958e Editing
306215
306216           · 9d59629 Merge branch '2017.7' into loader-docs
306217
306218           · 374d0e9 Finish the last sections
306219
306220           · 98da110 Migrate Dynamic Module Distribution to Modular Systems.
306221
306222           · 1bdd49d Add more links and write some system summaries
306223
306224           · bd3796a Update TOC
306225
306226           · 3a9ab1b  Merge  dunders into developing, expand to cover all dun‐
306227             ders.
306228
306229           · d06739a Add short writeups for a bunch of systems.
306230
306231           · 705e7e4 Add a bunch of cross linking
306232
306233           · 40f9b16 Add missing module type sections
306234
306235           · 172d8c2 Refactor headings
306236
306237           · 53154a0 Oops, missed that
306238
306239           · 0dcd341 Possible horrific use of toctrees? maybe
306240
306241           · bed3509 Refactor, add a TOC
306242
306243           · f647c1d Fill in some missing modules
306244
306245           · 9d4b596 Merge branch '2017.7' into loader-docs
306246
306247           · 26468df Add missing blank line
306248
306249           · 205fea9 Some more revising
306250
306251           · d4a8f7e Remove some code from some links
306252
306253           · 65e4199 I feel like it should be up there
306254
306255           · d44f5ce Rephrase footnote
306256
306257           · 125e46e Add section on how modules get  loaded,  including  giant
306258             table of names
306259
306260           · 5bfc6c6 Update reference to modules/index
306261
306262           · 4b096c1 Move all the module-development documentation into a sin‐
306263             gle folder
306264
306265         · dcdb9b2 Merge pull request #50750 from bewing/pepa12
306266
306267           · 9931a41 Fix last key detection in pepa key_value_to_tree
306268
306269         · cb85d5d Merge pull request #50733 from marmarek/patch-3
306270
306271           · 1011421 Report salt-call exit code from ssh_py_shim.py
306272
306273         · b086ff3 Merge pull request #50756 from GwiYeong/local-client-fix
306274
306275           · c488092 fix local client missing minion return
306276
306277       · ISSUE #50850: (akrus) key_cache: sched prints error messages in  logs
306278         (refs: #50859)
306279
306280       · PR #50859: (garethgreenaway) [2018.3] Fixes for key_cache and python3
306281         @ 2018-12-13 23:57:07 UTC
306282
306283         · 216fa14   Merge   pull    request    #50859    from    garethgreen‐
306284           away/50850_python_key_cache_file_binary
306285
306286         · ebc9a01  When  reading  and  writing the key cache file, when using
306287           Python3, ensuring the file is read & written in binary mode.
306288
306289       · PR  #50828:  (twangboy)  Fix  issues  with  lgpo  state  and  util  @
306290         2018-12-13 16:37:33 UTC
306291
306292         · 6b45aad Merge pull request #50828 from twangboy/fix_lgpo
306293
306294         · 05baa95 Merge branch '2018.3' into fix_lgpo
306295
306296       · PR  #50843:  (bdrung) Fix RemoveCapacityFromDiskgroupTestCase require
306297         pyvmomi @ 2018-12-12 20:36:32 UTC
306298
306299         · 6ea059d Merge pull request #50843 from bdrung/fix-tests
306300
306301         · 0d00ae4 Fix RemoveCapacityFromDiskgroupTestCase require pyvmomi
306302
306303       · ISSUE  #50829:  (ghost)  process.absent   UnicodeDecodeError   (refs:
306304         #50839)
306305
306306       · PR  #50839:  (terminalmage)  Fix  UnicodeDecodeError  in  ps module @
306307         2018-12-12 19:59:12 UTC
306308
306309         · 14d7d1d Merge pull request #50839 from terminalmage/issue50829
306310
306311         · 3a3d9b7 Ensure that unicode types returned from compatibility funcs
306312
306313         · 1a00abc Add unit test for _get_proc_cmdline
306314
306315         · 9eaa2ed Remove extraneous comments
306316
306317       · ISSUE saltstack/salt#49393: (Poil) file.directory recurse not  always
306318         changing perms (refs: #50653)
306319
306320       · PR   #50653:   (lexvella)   Check  file_mode  in  file.directory  and
306321         _check_directory @ 2018-12-12 16:30:52 UTC
306322
306323         · 264a042 Merge pull request #50653 from lexvella/2018.3
306324
306325         · 4ea9386 Merge branch '2018.3' into 2018.3
306326
306327         · 42e4ab3 Merge branch '2018.3' into 2018.3
306328
306329         · 79f6b42 Check file_mode in file.directory and _check_directory
306330
306331              · 1233e2b Fix some lint
306332
306333              · 56c0e55 Fix issues with lgpo state and util
306334
306335       · ISSUE #45026: (angeloudy) bytes error in mysql module (refs: #50823)
306336
306337       · PR #50823: (terminalmage) salt.modules.mysql:  Decode  fetch  results
306338         before making string comparisons @ 2018-12-11 21:04:41 UTC
306339
306340         · a8ad17a Merge pull request #50823 from terminalmage/issue45026
306341
306342         · ec8e116 Decode fetch results before making string comparisons
306343
306344       · PR  #50817:  (dubb-b)  Adding  git  'v'  to  the  bootstrap options @
306345         2018-12-11 17:28:10 UTC
306346
306347         · e31e731 Merge pull request #50817 from dubb-b/2018.3
306348
306349         · 48fc01f Adding git 'v' to the bootstrap options
306350
306351       · PR #50780: (twangboy) Add  netsh  mechanism  in  the  LGPO  module  @
306352         2018-12-10 22:09:20 UTC
306353
306354         · 9b6b39c Merge pull request #50780 from twangboy/lgpo_netsh
306355
306356         · 5eea728 Fix some lint
306357
306358         · f077783 Add some tests
306359
306360         · 2dde12a Fix one more lint item
306361
306362         · c55b7b4 Fix some lint
306363
306364         · 1247598 Add more policies
306365
306366         · b2b9795 Fix overly long lines
306367
306368         · f18d1aa Add additional policies that use netsh
306369
306370         · cb50648 Add versionadded tags
306371
306372         · 00cbf26 Add the netsh mechanism to the lgpo module
306373
306374       · PR  #50783:  (sathieu) gitfs/git_pillar: Fix UnicodeDecodeError while
306375         cleaning stale refs @ 2018-12-10 20:34:53 UTC
306376
306377         · 0351296 Merge pull request #50783 from sathieu/gitfs_stalerefs_uni‐
306378           code
306379
306380         · ef160a6  gitfs/git_pillar:  Fix  UnicodeDecodeError  while cleaning
306381           stale refs
306382
306383       · ISSUE #45867: (Nick2253) Icinga2 Module uses incorrect  paths  (refs:
306384         #50615)
306385
306386       · PR  #50765:  (ClaudiuPID) Fix icinga2 cert path @ 2018-12-10 18:10:24
306387         UTC
306388
306389         · PR #50615: (ClaudiuPID) Fixes icinga2 certs path for newer versions
306390           2.8+ (refs: #50765)
306391
306392         · deadf9c     Merge     pull     request    #50765    from    Claudi‐
306393           uPID/fix-icinga2-cert-path
306394
306395         · ce1842e Merge branch '2018.3' into fix-icinga2-cert-path
306396
306397         · 31878d5 Pylint fixes
306398
306399         · 47bfba1 Migrated to cmd.run_all and tested on working srv
306400
306401         · a1dddce Fixes icinga2 certs path for newer versions 2.8+
306402
306403       · PR #50692:  (terminalmage)  Update  a  couple  test  modules  to  use
306404         with_tempdir/with_tempfile decorators @ 2018-12-10 17:24:02 UTC
306405
306406         · 9f8289b Merge pull request #50692 from terminalmage/update-tests
306407
306408         · 36a4a1a Merge branch '2018.3' into update-tests
306409
306410         · be14517 Make x509 tests use tempfiles instead of hard-coding them
306411
306412         · a394cd7 Update file integration tests to use decorator for tempdirs
306413
306414       · ISSUE #32245: (tkwilliams) git_pillar should permit automatic mapping
306415         of environment to branch a-la gitfs  (refs: #50768)
306416
306417       · PR #50768: (sathieu) git_pillar: Add support for all_saltenvs parame‐
306418         ter @ 2018-12-10 16:39:37 UTC
306419
306420         · 3a71567   Merge   pull   request   #50768   from   sathieu/git_pil‐
306421           lar_all_saltenvs
306422
306423         · e971412 git_pillar: Add support for all_saltenvs parameter
306424
306425       · ISSUE #48801: (dstoliker) salt.states.user.present -  mindays,  warn‐
306426         days,  and  inactdays  won't  return  to salt's default values (refs:
306427         #50796)
306428
306429       · PR #50796: (dwoz) Fix #48801 min, max,  inact,  and  warn  changes  @
306430         2018-12-10 16:30:14 UTC
306431
306432         · 12a8447 Merge pull request #50796 from dwoz/issue48801
306433
306434         · 6b95223 fix linter errors
306435
306436         · 87a04df Fix #48801 min, max, inact, and warn changes
306437
306438       · ISSUE  #46388:  (dynek)  IPv4  &  v6  network configuration on Debian
306439         (refs: #49355)
306440
306441       · ISSUE #40262: (pjediny) Salt enforces  configuration  from  /etc/net‐
306442         work/interfaces.d/* to /etc/network/interface (refs: #49355)
306443
306444       · ISSUE #38672: (valentin2105) IPv6 Network states is incomplete (refs:
306445         #49355)
306446
306447       · PR #50804: (Ch3LL) Back-port #49355 to 2018.3 @  2018-12-10  16:21:31
306448         UTC
306449
306450         · PR  #49355:  (MTecknology)  Improve  management  of  interfaces  in
306451           debian-based distributions (refs: #50804)
306452
306453         · PR #46980: (MTecknology)  Fix  broken  rendering  debian_eth.jinja.
306454           (refs: #49355)
306455
306456         · b266e8b Merge pull request #50804 from Ch3LL/bp-49355
306457
306458         · d34eade Use a temp file instead of /etc/network/interfaces for unit
306459           tests.
306460
306461         · 622c354 Support reading multiple addresses from interface files.
306462
306463         · 15c34fe Support unicode in space-delimited list; fixes  unit  tests
306464           in py2.
306465
306466         · 0b59561  Added  documentation  about debian interfaces.d/*. (Fixes:
306467           #40262)
306468
306469         · 1b096fb Removed python lint.
306470
306471         · 6e41225 Finished adding support for multiple IP addresses.
306472
306473         · 4c7df5f Cleaned up documentation/examples in states.network:
306474
306475         · 601f434  Added  support  for  -ipaddrs  and  -ipv6ipaddrs  to  mod‐
306476           ules.debian_ip().
306477
306478         · 638f899  Added support for loopback devices to modules.debian_ip().
306479           (Fixes: #38672)
306480
306481         · cf61c8d   Added    a    bunch    of    unit    tests    for    mod‐
306482           ules.debian_ip.build_interface().
306483
306484         · b905cf6  Added support for dns_{nameservers,search} being a list or
306485           string.
306486
306487       · PR #50767: (dwoz) Make sure ldap passwords are honored  @  2018-12-05
306488         22:59:17 UTC
306489
306490         · dc9414c Merge pull request #50767 from dwoz/ldap_no_pass
306491
306492         · 67aa591 Fix linter errors
306493
306494         · be3945a Remove crufty import
306495
306496         · 91f50a4 Add more ldap auth tests for ZD-2993
306497
306498         · 055a8d5 Make sure ldap passwords are honored
306499
306500       · ISSUE #50364: (sathieu) git_pillar mountpoint ignores the root param‐
306501         eter (refs: #50626)
306502
306503       · PR #50626: (sathieu) git_pillar: Allow root and mountpoint parameters
306504         together @ 2018-12-05 17:46:59 UTC
306505
306506         · 60aa0d5  Merge  pull  request #50626 from sathieu/git_pillar_mount‐
306507           point_and_root
306508
306509         · 5423c27 git_pillar: Allow root and mountpoint parameters together
306510
306511       · PR #50745: (bbinet) Fix grafana dashboard updating when  nothing  has
306512         changed @ 2018-12-04 19:26:32 UTC
306513
306514         · c02387e  Merge  pull  request  #50745 from bbinet/fix-grafana-dash‐
306515           board-update
306516
306517         · 7019d47 Fix grafana dashboard updating when nothing has changed
306518
306519       · PR #50737: (garethgreenaway) [develop] Merge forward from  2017.7  to
306520         2018.8 @ 2018-12-04 16:02:13 UTC
306521
306522         · ae81498 Merge pull request #50737 from garethgreenaway/merge-2017.7
306523
306524         · fde8db5 Merge branch '2017.7' into merge-2017.7
306525
306526         · 246c055 Merge pull request #50718 from dwoz/run_run_timeout
306527
306528           · ecd8486 Honor run_run timeout for shell tests
306529
306530         · 979b3aa Merge pull request #50702 from damon-atkins/jenkins_pylint
306531
306532           · 5936066   ensure   archiveArtifacts  are  always  collected.  Use
306533             CHANGE_BRANCH to detect merge-forward
306534
306535         · 22acaaa Merge pull request #50632 from astronouth7303/loader-excep‐
306536           tion-handler
306537
306538           · 0f72815 Merge branch '2017.7' into loader-exception-handler
306539
306540         · d9e7be1 Merge pull request #50670 from damon-atkins/jenkins_pylint
306541
306542           · b6d1605  ci/lint  corrected  filenames and test condition on full
306543             lint Also fix CODEOWNER team name
306544
306545             · 194801a    Merge    branch    'loader-exception-handler'     of
306546               github.com:astronouth7303/salt into loader-exception-handler
306547
306548               · dadeb0d Merge branch '2017.7' into loader-exception-handler
306549
306550             · 8697744 Use single quotes per style guide
306551
306552             · 07868f1 Improve logging output
306553
306554             · fb05bd5 Eat an exception from an entry point instead of letting
306555               it kill the system.
306556
306557       · PR #50685: (Ch3LL) [2018.3] Merge forward from  2017.7  to  2018.3  @
306558         2018-11-30 18:46:07 UTC
306559
306560         · edaa9fe Merge pull request #50685 from Ch3LL/merge_2018.3
306561
306562         · d46aff0 Merge branch 2017.7 into 2018.3
306563
306564           · 6dc3afc    Merge    pull   request   #50672   from   garethgreen‐
306565             away/49691_file_replace_search_only_return_false
306566
306567             · 7e7df06 lint
306568
306569             · 6b73c76 When using file.replace, with the  search_only  option,
306570               if the pattern does not exist in the file then we should return
306571               False.
306572
306573           · 1236b51   Merge   pull   request   #50659    from    garethgreen‐
306574             away/49954_gem_installed_less_than_greater_than_support
306575
306576             · 0ec8bcf When using the gem installed state, when passing a ver‐
306577               sion that includes greater than or less  than  symbols,  ensure
306578               that the installed versions meets that requirement.
306579
306580           · 6317f3a   Merge   pull  request  #50583  from  damon-atkins/jenk‐
306581             ins_pylint
306582
306583             · 2d1f51c Fix lint only changes, full lint on  merge  forwards  -
306584               lint  only  changes  previous diff picked up out of data files,
306585               when the branch was out of date. - full limit on merge  forward
306586               to  pick  up  changes  in  the  lint checks between versions. -
306587               update CODEOWNERS for .ci/*
306588
306589           · 15bf09a  Merge  pull  request  #50605  from  Oloremo/fix-supervi‐
306590             sord-dead-state-idempotency
306591
306592             · ba3f281     Merge    branch    '2017.7'    into    fix-supervi‐
306593               sord-dead-state-idempotency
306594
306595             · cf9ab84    Merge    branch    '2017.7'    into     fix-supervi‐
306596               sord-dead-state-idempotency
306597
306598             · af386a2 Fixed the supervisord.dead state idempotency
306599
306600       · ISSUE  #50016:  (abednarik)  State augeas.change do not update config
306601         file (refs: #50690)
306602
306603       · PR #50690: (garethgreenaway)  [2018.3] fixes to augeas_cfg  module  @
306604         2018-11-30 18:44:42 UTC
306605
306606         · 7cb2405    Merge    pull    request    #50690   from   garethgreen‐
306607           away/50016_ensure_path_is_str
306608
306609         · cec7cb4 Older versions of python-augeas need  the  path  passed  to
306610           aug.match to be a string.
306611
306612       · ISSUE  #49392:  (Poil)  hosts  not  replacing  existing  entry (refs:
306613         #50657)
306614
306615       · PR #50657: (terminalmage) Rewrite host.present  state  to  allow  for
306616         removal of entries not matching IP @ 2018-11-29 17:58:40 UTC
306617
306618         · a5c7639 Merge pull request #50657 from terminalmage/issue49392
306619
306620         · 2ddb587 Add release notes for new "clean" option
306621
306622         · e4946f9 Rename "remove" argument to "clean"
306623
306624         · 7fd3bce Add remove parameter to host.present state
306625
306626         · 2671a30 Add unit tests for host.present state
306627
306628         · 30f1b85 Remove non-matching IPs from hosts file
306629
306630         · ec297a0 Performance improvements in hosts module
306631
306632         · d1c2038 Add generic ip address validation function
306633
306634         · 9f54720 Add ignore ability to process_read_exception
306635
306636       · ISSUE  #48759:  (MyIgel)  acme.cert: Fail to update certificate after
306637         adding aliases / missing --expand (refs: #50683)
306638
306639       · PR #50683: (garethgreenaway)  [2018.3]  Fixes  to  acme  module  when
306640         adding aliases to existing certificate @ 2018-11-29 17:46:54 UTC
306641
306642         · b604785    Merge    pull    request    #50683   from   garethgreen‐
306643           away/48759_adding_aliases_include_expand
306644
306645         · 3940a0f When adding alises to an existing Certbot  certificate,  if
306646           we  see  a  message  about  expanding  in  the stderr returned from
306647           cmd.run_all we should rerun the cmd with --expand included.
306648
306649       · ISSUE #50406: (glkappe) salt-ssh  can't  use  Mongo  returner  (refs:
306650         #50664)
306651
306652       · PR  #50664:  (garethgreenaway)  [2018.3] Fix to logic for configuring
306653         returners @ 2018-11-28 05:24:30 UTC
306654
306655         · 15f9ae4   Merge   pull    request    #50664    from    garethgreen‐
306656           away/50406_salt_ssh_returner_configuration
306657
306658         · 3525411  When pulling values out of the available configuration for
306659           returners we should always default to using keys for those  return‐
306660           ers,  eg. mongo.user for the username.  Otherwise in certain situa‐
306661           tions, eg. when using salt-ssh we will end up with the wrong  value
306662           for the user.
306663
306664       · PR  #50652:  (twangboy)  Fix  unit.utils.test_mac_utils  on Windows @
306665         2018-11-27 20:45:41 UTC
306666
306667         · afbcf03 Merge pull request #50652 from twangboy/fix_test_mac_utils
306668
306669         · c4cb729 Fix path issues with the tests
306670
306671       · PR #50640: (garethgreenaway) [2018.3] Merge forward  from  2017.7  to
306672         2018.3 @ 2018-11-26 22:33:22 UTC
306673
306674         · 61a824f Merge pull request #50640 from garethgreenaway/merge-2017
306675
306676         · 409c98f Merge branch '2018.3' into merge-2017
306677
306678       · ISSUE  #50403:  (prometheanfire)  tornado 5.1.1 is not co-installable
306679         with salt on python2.7 (refs: #50639)
306680
306681       · PR  #50639:  (dwoz)  Handle  pipenv  like  version   restrictions   @
306682         2018-11-26 19:42:11 UTC
306683
306684         · 20a2de3 Merge pull request #50639 from dwoz/pipfix
306685
306686         · 9c6f653 Handle pipenv like version restrictions
306687
306688           · fced78b lint
306689
306690           · 45a1aa3 Merge branch '2017.7' into merge-2017
306691
306692           · b2cf134 Merge pull request #50463 from dwoz/zmqpubserv
306693
306694             · a289e3c Merge branch '2017.7' into zmqpubserv
306695
306696           · 6679242 Merge pull request #50590 from garethgreenaway/bp-50333
306697
306698             · 1f5aa4b  pkg.installed  currently  fails  when  sources is used
306699               along with hold: True.  This was due to a change in #48426 that
306700               swapped  out sending the pkgs variable for the desired variable
306701               instead.  This caused problems with  pkg.hold  because  desired
306702               and sources are always populated, and pkg.hold can only include
306703               one or the other.  This change just  includes  desired  in  the
306704               call to pkg.hold since desired has the same value for sources.
306705
306706               · 39e811b Add issue url to tests
306707
306708               · c4d7a43 Add debug log when connecting
306709
306710               · 4f81432 Set subscribe via sockopt for better compatibility
306711
306712               · 6882209 More reliable pub server publishing
306713
306714       · ISSUE  #49957: (whytewolf) salt-master scheduled items ignore maxrun‐
306715         ning. (refs: #50130)
306716
306717       · PR #50130: (garethgreenaway) [2018.3] Fixes to schedule maxrunning on
306718         master @ 2018-11-26 18:35:35 UTC
306719
306720         · 5b7ab35  Merge  pull request #50130 from garethgreenaway/49957_mas‐
306721           ter_schedule_ignoring_maxrunning
306722
306723         · 2f6dac9 Updating test_maxrunning_master to Mock get_running_jobs.
306724
306725         · abda0a4 Reverting changes to doc/conf.py.
306726
306727         · 6d072fc Some additional cleanup.
306728
306729         · 4bd0406  Adding  integration.scheduler.test_maxrunning  to   ignore
306730           list.
306731
306732         · 45e160d   Adding   integration.scheduler.test_maxrunning  to  file‐
306733           name_map.yml
306734
306735         · 2201a46 Fixing lint
306736
306737         · 6c0ee32 removing unused cache_jobs function from utils/master.py
306738
306739         · c2ed1d4 Adding some logging when the cache files are unable  to  be
306740           removed.
306741
306742         · 44940d6 Ensure minion tests using minion options.
306743
306744         · 722be43 Fixing lint
306745
306746         · 65b4421  Adding  some master specific functions to uitls/masters.py
306747           to determine if a Salt process is running.   Updating  utils/sched‐
306748           ule.py   to  use  the  appropriate  running  function  either  from
306749           utils/master.py or utils/minion.py depending on where the scheduled
306750           job  is running.  Adding tests to test maxrunning in scheduled jobs
306751           for both the minion and master.
306752
306753         · 0d65304 Swapping manual mocking to autodoc_mock_imports
306754
306755       · ISSUE #50542: (doug-stratoscale) mysql.user_exists doesn't work  with
306756         Mysql 8.0.13 (refs: #50551)
306757
306758       · PR  #50551: (garethgreenaway) [2018.3] Fixes to verify_login in mysql
306759         module @ 2018-11-26 17:44:25 UTC
306760
306761         · 26759c2   Merge   pull    request    #50551    from    garethgreen‐
306762           away/50542_mysql_ensure_verify_login_uses_connection_host
306763
306764         · 96742aed4   Merge   branch  '2018.3'  into  50542_mysql_ensure_ver‐
306765           ify_login_uses_connection_host
306766
306767         · eb510a6  Merge   branch   '2018.3'   into   50542_mysql_ensure_ver‐
306768           ify_login_uses_connection_host
306769
306770         · 6d2309d   Merge   branch   '2018.3'   into  50542_mysql_ensure_ver‐
306771           ify_login_uses_connection_host
306772
306773         · db89b27  Merge   branch   '2018.3'   into   50542_mysql_ensure_ver‐
306774           ify_login_uses_connection_host
306775
306776         · 0284323 Ensure that verify_login is using the host from the connec‐
306777           tion_args and not the host associated with the user.  Adding a test
306778           to ensure user_exists when the passed host is the MySQL wildcard %.
306779
306780       · PR  #50619:  (s0undt3ch)  Don't squash tracebacks and Unicode fixes @
306781         2018-11-26 17:04:31 UTC
306782
306783         · 14c4fd5 Merge pull request #50619 from s0undt3ch/2018.3
306784
306785         · a4771d2 UNICODE!
306786
306787         · 72205a5 DO! NOT! SQUASH! TRACEBACKS!
306788
306789       · ISSUE  #50562:  (soostdijck)  scheduled  highstate  ignores  blackout
306790         (refs: #50586)
306791
306792       · PR  #50586:  (garethgreenaway) [2018.3] minion_blackout for scheduled
306793         jobs @ 2018-11-23 11:15:38 UTC
306794
306795         · 59809a1 Merge pull request #50586  from  garethgreenaway/50562_min‐
306796           ion_blackout_scheduler
306797
306798         · 48673b7 Adding some defaults for minion_blackout code when pillar &
306799           grains are not available in opts.  Removing some debugging code.
306800
306801         · 9f422b2 Moving  the  minion_blackout  code  to  the  start  of  the
306802           try...except.   Adding a test to ensure we get a log.exception when
306803           minion_blackout is True.
306804
306805         · 2bf8fa5 Adding support for minion_blackout for jobs  that  are  run
306806           from the Salt scheduler.
306807
306808       · PR   #50576:  (garethgreenaway)  Back-port  PR  #50549  to  2018.3  @
306809         2018-11-21 14:39:55 UTC
306810
306811         · PR #50549: (cachedout) Add security credits to release notes (refs:
306812           #50576)
306813
306814         · 5c28179 Merge pull request #50576 from garethgreenaway/bp-50549
306815
306816         · 807068d Typo fix
306817
306818         · 2ef8307 Typo fix
306819
306820         · 7c8957a Typo fix
306821
306822         · c1ca603 Merge branch '2018.3' into bp-50549
306823
306824         · b163380 Add security credits to release notes
306825
306826       · PR  #50599: (terminalmage) Merge Sphinx fixes from 2017.7 to 2018.3 @
306827         2018-11-21 13:31:18 UTC
306828
306829         · c9531d8 Merge pull request #50599 from terminalmage/merge-2018.3
306830
306831         · ba82b07  Merge  remote-tracking   branch   'upstream/2017.7'   into
306832           merge-2018.3
306833
306834         · 1b8a8ac Merge pull request #50592 from terminalmage/docs-2017.7
306835
306836           · db15776 Remove overline from section title
306837
306838           · 8127dd5 Disable unused shorturls plugin
306839
306840       · ISSUE  #50254:  (jmcook1)  file.line  adding  line  every time (refs:
306841         #50366)
306842
306843       · PR #50366: (t0fik) 2018.3 fix issue50254 @ 2018-11-20 20:31:30 UTC
306844
306845         · 60b4622      Merge       pull       request       #50366       from
306846           jdsieci/2018.3-fix-issue50254
306847
306848         · a9b9fa2 Fixed pylint warnigs
306849
306850         · 342786b Issue #50254 fixed
306851
306852         · 1ab59e7 Added integration tests
306853
306854         · 110f74f Added unit tests reproducing issue
306855
306856       · ISSUE  #50558:  (angeloudy)  'test=True'  does not work with artifac‐
306857         tory.download (refs: #50580)
306858
306859       · ISSUE  #50155:  (mikemartino)  artifactory.downloaded  state  is  not
306860         respecting test=True (refs: #50580)
306861
306862       · PR  #50580:  (garethgreenaway)  [2018.3] Adding test=True to artifac‐
306863         tory.download.  @ 2018-11-20 16:37:14 UTC
306864
306865         · 735c9f4 Merge pull request #50580 from  garethgreenaway/50155_arti‐
306866           ficatory_download_state_test_true
306867
306868         · 7dd57d0 Lint.
306869
306870         · 3661ee0 Adding test=True to artifactory.download.
306871
306872       · ISSUE #46292: (asymetrixs) win_wua should have possibility to specify
306873         source file (refs: #50397)
306874
306875       · PR  #50577:  (garethgreenaway)  Back-port  PR  #50397  to  2018.3   @
306876         2018-11-19 21:28:42 UTC
306877
306878         · PR  #50397:  (tlemarchand) Add Win WUSA management, to install Win‐
306879           dows Update files (.msu). (refs: #50577)
306880
306881         · 015834d Merge pull request #50577 from garethgreenaway/bp-50397
306882
306883         · dd2d872 Documentation
306884
306885         · af6d21f Import unicode_literals from future  and  add  versionadded
306886           tag
306887
306888         · 09dc09d Disable powershell modules list Add list_kbs function
306889
306890         · 05852d0 pchanges to changes named parameters
306891
306892         · 16525e4  Add  Win  WUSA management, to install Windows Update files
306893           (.msu).
306894
306895       · PR #50570: (garethgreenaway) [2018.3] Merge forward  from  2017.7  to
306896         2018.3 @ 2018-11-19 20:04:05 UTC
306897
306898         · 12e0d80 Merge pull request #50570 from garethgreenaway/merge-2018.3
306899
306900         · 4c85119 merge-forward 2017.7 to 2018.3
306901
306902         · 02238a7 Merge pull request #50520 from dwoz/issue_50459
306903
306904           · 1aa2e34 Simplifie and portable homedir lookup
306905
306906           · f14f747 Fix windows home dir lookup
306907
306908           · d3620c3 Always set .gitconfig dir to user's home
306909
306910         · edd9738 Merge pull request #50532 from dubb-b/2017.7
306911
306912           · 009e52d Adding tag to ec2 cloud tests
306913
306914         · b0446f5 Merge pull request #50500 from terminalmage/2017.7-docs
306915
306916           · 870a364 Set docs jenkins job to treat warnings as errors
306917
306918           · e03bdcd Update docs references for states with func_alias
306919
306920           · 8a2c08f Disable custom sphinx automodule
306921
306922       · ISSUE  #50266:  (4815162342lost)  grains.virtual  show incorrect info
306923         (refs: #50519)
306924
306925       · PR #50519: (garethgreenaway) [2018.3] Fix to  virtual  core  grain  @
306926         2018-11-16 23:42:18 UTC
306927
306928         · 6fba83c    Merge    pull    request    #50519   from   garethgreen‐
306929           away/50266_core_virtual_grain_fixes
306930
306931         · dcae2f0 Merge branch '2018.3' into 50266_core_virtual_grain_fixes
306932
306933       · PR #50427:  (sathieu)  Backports  git_pillar  tests  improvements  to
306934         2018.3 @ 2018-11-16 16:37:29 UTC
306935
306936         · PR #50425: (sathieu) git_pillar: Add tests for mountpoint parameter
306937           (refs: #50427)
306938
306939         · PR #50407: (sathieu)  git_pillar:  Add  tests  for  root  parameter
306940           (refs: #50427)
306941
306942         · PR  #50378:  (sathieu) Don't fail on git_pillar tests when destruc‐
306943           tive tests are not enable (refs: #50427)
306944
306945         · 84edd62 Merge pull request #50427 from sathieu/bp-git_pillar_tests
306946
306947         · 12ea1cc git_pillar: Add tests for mountpoint parameter
306948
306949         · fce467e git_pillar: Add tests for root parameter
306950
306951         · ba150a5 Don't fail on git_pillar tests when destructive  tests  are
306952           not enable
306953
306954       · PR #50530: (terminalmage) Enable proxy/ssh daemons when filename map‐
306955         ping causes those tests to be run @ 2018-11-15 23:03:06 UTC
306956
306957         · 4651481 Merge  pull  request  #50530  from  terminalmage/salt-jenk‐
306958           ins-1209
306959
306960         · fbee11d Enable proxy/ssh daemons when filename mapping causes those
306961           tests to be run
306962
306963         · 4f30611 lint
306964
306965         · 4f9eb95 Fixing a typo in the _virtual function, should be  checking
306966           for  existing  grains in osdata not grains.  Updating the detection
306967           to look for /sys/bus/xen/drivers/xenconsole instead of specifically
306968           looking  for  any  files  under /sys/bus/xen/drivers.  Some systems
306969           that are not running as Xen PV hosts include files under that loca‐
306970           tion, particular Oracle Linux.
306971
306972       · ISSUE  #50224:  (mruepp)  Augeas  changes state with setm not working
306973         (refs: #50526)
306974
306975       · PR #50526: (terminalmage) Work around augeas' lack of unicode support
306976         @ 2018-11-15 17:33:26 UTC
306977
306978         · 6c07ba4 Merge pull request #50526 from terminalmage/issue50224
306979
306980         · ee246ed Work around augeas' lack of unicode support
306981
306982       · PR  #50503: (terminalmage) Set jenkins docs job to treat any warnings
306983         as errors (2018.3 branch) @ 2018-11-14 19:30:24 UTC
306984
306985         · d83da51d Merge pull request #50503 from terminalmage/2018.3-docs
306986
306987         · a4fc108 Fix docs configuration for renamed logstash engine
306988
306989         · 5b06464 Set docs jenkins job to treat warnings as errors
306990
306991         · 9b6c669 Update docs references for states with func_alias
306992
306993         · 62b5d40 Disable custom sphinx automodule
306994
306995       · ISSUE #48343: (bornwitbugs) CPU Beacon TypeError (refs: #50514)
306996
306997       · PR #50514: (bornwitbugs) Load beacon fix @ 2018-11-14 19:20:33 UTC
306998
306999         · fa2f4a5 Merge pull request #50514 from bornwitbugs/load_beacon_fix
307000
307001         · e59ced6 Merge branch  '2018.3'  of  github.com:saltstack/salt  into
307002           load_beacon_fix
307003
307004       · PR  #50509:  (Ch3LL)  [2018.3]  Merge forward from 2017.7 to 2018.3 @
307005         2018-11-14 17:52:06 UTC
307006
307007         · a50377b Merge pull request #50509 from Ch3LL/merge-2018.3
307008
307009         · 178dab3 Merge branch 2017.7 into 2018.3
307010
307011         · c00fd43 Merge pull request #50493 from rallytime/bp-50362
307012
307013           · 60559cf Remove flaky test
307014
307015           · a696a8f Fix test_matcher on Windows
307016
307017         · 3cac1d0 Merge pull request #50494 from terminalmage/2017.7-docs
307018
307019           · d561b26 Late import to fix docs build errors
307020
307021         · 0829944 Merge pull request #50479 from Ch3LL/digital_ocean_location
307022
307023           · 917781d Lint: Add blank line
307024
307025           · 3583519 Update digital ocean location for cloud tests
307026
307027         · accf681 Merge pull request #50480 from terminalmage/docs
307028
307029           · c34690e Don't import obsolete Directive class from Sphinx
307030
307031         · 2e9b3d2  Merge  pull  request  #50478  from  rallytime/update-boot‐
307032           strap-docs
307033
307034           · 66b078c  Update  the  bootstrap  script documentation to point to
307035             bootstrap repo
307036
307037       · PR  #50502:  (twangboy)  Add  definition  for   RestrictRemoteSAM   @
307038         2018-11-14 14:30:38 UTC
307039
307040         · 55b4914 Merge pull request #50502 from twangboy/lgpo_2018.3
307041
307042         · fe92a3a Add definition for RestrictRemoteSAM
307043
307044       · ISSUE   #48734:   (oddfellow)  salt-run  jobs.list_jobs  has  Target:
307045         unknown-target (refs: #50328)
307046
307047       · ISSUE #43453: (kunal-bajpai) Runner job load is never  saved  to  job
307048         cache (refs: #43454)
307049
307050       · PR  #50328:  (rallytime) Fix issue with salt-run jobs.list_jobs where
307051         Target: unknown-target @ 2018-11-13 19:49:58 UTC
307052
307053         · PR #43454: (kunal-bajpai) Fix save_load which is never  called  for
307054           returner jobs (refs: #50328)
307055
307056         · c1dde7e Merge pull request #50328 from rallytime/fix-48734
307057
307058         · 2c51cf9 Make target test job more specific to reduce test flakiness
307059
307060         · caace3f Rewrite job cache target test to be more robust
307061
307062         · b29fcfa New test must be py3 compatible...oops. :)
307063
307064         · c684c29 Fix issue #48734
307065
307066         · 6859e0e Add regression test for issue #48734
307067
307068       · PR #50499: (dwoz) Fix 2018.3 build @ 2018-11-13 18:46:54 UTC
307069
307070         · 351faeb Merge pull request #50499 from dwoz/build_fix
307071
307072         · 5754b4a Fix 2018.3 build
307073
307074       · PR #50496: (terminalmage) Fix 2018.3 docs build warnings @ 2018-11-13
307075         17:21:09 UTC
307076
307077         · 6f4b23f Merge pull request #50496 from terminalmage/2018.3-docs
307078
307079         · cb25641 Fix header underline length to avoid another sphinx warning
307080
307081         · 9272f7b Fix more sphinx build errors
307082
307083         · 18a8104 Late import to fix docs build errors
307084
307085         · d457132 Fix sphinx build warnings in 2018.3 branch
307086
307087       · ISSUE #50227: (sheagcraig) mac_utils  _available_services  will  fail
307088         with malformed launchd plists present (refs: #50228)
307089
307090       · PR  #50492:  (rallytime)  Back-port  #50228  and  #50443  to 2018.3 @
307091         2018-11-13 16:59:15 UTC
307092
307093         · PR #50443: (weswhet) fix when checking for service Label  on  macOS
307094           (refs: #50492)
307095
307096         · PR  #50228:  (sheagcraig) Fix 50227 malformed plists (refs: #50492,
307097           #50443)
307098
307099         · 6b272c1 Merge pull request #50492 from rallytime/bp-50228-and-50443
307100
307101         · 7879a2d Fix logging format
307102
307103         · f578392 Lint Fix: add mock_open import
307104
307105         · e5b999b add try/except when checking for service Label
307106
307107         · 3c36bdd Fix linting errors.
307108
307109         · fab57de Write tests to handle invalid launchd plist XML.
307110
307111         · bb429b0 Condense service result  assertions,  add  a  binary  plist
307112           test.
307113
307114         · a809fef  Factor  out another helper function, implement broken sym‐
307115           link test.
307116
307117         · 216f7ef Update testing for mac_utils services.
307118
307119         · 89d8267 Fix trailing-slash bug in User LaunchAgent appending.
307120
307121         · 0e23b6e Handle bad plists by ignoring them, with py2 and  py3  spe‐
307122           cific approaches
307123
307124         · fa44149 Avoid AttributeError when checking for exception types.
307125
307126         · fd62b33 Add secondary exception handler for malformed plists.
307127
307128         · ae6f49b Make test correctly generate a double exception.
307129
307130       · PR  #50486:  (twangboy)  Back  port  lgpo  from Fluorine @ 2018-11-13
307131         09:40:17 UTC
307132
307133         · da980d9 Merge pull request #50486 from twangboy/lgpo_2018.3
307134
307135         · bbbc07b Back port lgpo from Fluorine
307136
307137       · ISSUE #50218: (ata-sql) git.latest with unless  command  fails  after
307138         upgrade to 2018.3.3 (refs: #50456)
307139
307140       · PR #50456: (terminalmage) Two bugfixes @ 2018-11-13 06:06:52 UTC
307141
307142         · 7dd3438 Merge pull request #50456 from terminalmage/issue50218
307143
307144         · 6143408 Add unit test for TimedProc regression
307145
307146         · e234abd   Add   support   for  list  of  commands  in  git  states'
307147           onlyif/unless
307148
307149         · cbf05c8 TimedProc: Don't assume args is a string
307150
307151         · 87de250 Exit gracefully when mod_run_check raises exception
307152
307153       · PR #50455: (dubb-b) Adding the released version as the bootstrap min‐
307154         ion.  @ 2018-11-12 22:52:53 UTC
307155
307156         · d8514e6 Merge pull request #50455 from dubb-b/2018.3
307157
307158         · fb61482 adding git
307159
307160         · 181b8a4 removing stable
307161
307162         · fc93ad6 Adding the released version as the bootstrap minion.
307163
307164       · PR  #50483:  (rallytime)  Back-port  #50272  to  2018.3  @ 2018-11-12
307165         22:45:05 UTC
307166
307167         · PR #50272: (jyurdal) Fix out of order docker Env comparison  (refs:
307168           #50483)
307169
307170         · cfb3351 Merge pull request #50483 from rallytime/bp-50272
307171
307172         · 0f02da7 Remove unnecessary u prefix from string literals
307173
307174         · fc26ae8  Add  unit  test for comparing containers with the same env
307175           vars
307176
307177         · cf7cb4b extra blank line after function definition(pylint)
307178
307179         · 1de9ce3 Compare sorted docker environment
307180
307181       · PR #50481: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
307182         2018-11-12 22:44:15 UTC
307183
307184         · 360ae6a Merge pull request #50481 from rallytime/merge-2018.3
307185
307186         · 1517bb3 Update old utils paths to use new paths
307187
307188         · d8e7c47 Merge branch '2017.7' into '2018.3'
307189
307190         · e5f97cd Merge pull request #50467 from dwoz/test_kitchen_up
307191
307192           · 8c5e93e Use patched version of test-kitchen until next release
307193
307194         · b16ff9c Merge pull request #50469 from dwoz/minion_timeout_test
307195
307196           · 57f702d Fix linter warning
307197
307198           · 686153a Fix up integration.minion.test_timeout
307199
307200         · 45b438e Merge pull request #50470 from dwoz/set_time_flaky
307201
307202           · 794ba17 Reset date and time after changing
307203
307204         · c85561e Merge pull request #50442 from rallytime/replace-docbanner
307205
307206           · 193325d Update docbanner hyperlink
307207
307208         · 7200568  Merge  pull  request  #50439 from rallytime/bootstrap-con‐
307209           tributing-docs
307210
307211           · d2158aa Add bootstrap section to contributing docs
307212
307213         · cca7a36 Merge pull request #50441 from rallytime/replace-docbanner
307214
307215           · 2af92bd Update SaltConf doc banner
307216
307217         · 1e72d20 Merge pull request #50414 from flassman/backmerge-for-type‐
307218           error-windows-python3
307219
307220           · 20fff15 use exc.winerror not exc[0] to avoid python3 TypeError
307221
307222         · 93095cb     Merge     pull     request     #50415    from    flass‐
307223           man/pass-cwd-to-runas_system
307224
307225           · 0113137 cwd needs to be passed from runas() to runas_system()
307226
307227       · ISSUE #50461: (absolutejam) elementaryOS 'pkg'  __virtual__  returned
307228         false (refs: #50468)
307229
307230       · PR  #50468: (garethgreenaway)  [2018.3] Adding elementary override to
307231         grains/core.py @ 2018-11-12 16:41:57 UTC
307232
307233         · 3aaad17   Merge   pull    request    #50468    from    garethgreen‐
307234           away/50461_fix_elementary_os_family_grain
307235
307236         · 77e8dcc  On  later  versions  of elementary, the os_family is being
307237           populated as elementary.  In order for the aptpkg module  to  func‐
307238           tion, we need to override is to be Debian.
307239
307240       · ISSUE  #50311:  (marek-obuchowicz)  pkg.installed  state  fails  even
307241         though it suceeded (refs: #50590, #50333)
307242
307243       · ISSUE #46689: (mxork) pkg.installed: hold:  True  not  applied  to  a
307244         package which is already installed. (refs: #48426)
307245
307246       · PR  #50333:  (garethgreenaway)  [2018.3]  Fix  to  pkg.installed  for
307247         sources and hold: True (refs: #50590) @ 2018-11-08 18:02:33 UTC
307248
307249         · PR #48426: (garethgreenaway) [2017.7] fixes to states/pkg.py (refs:
307250           #50333)
307251
307252         · d9179fb    Merge    pull    request    #50333   from   garethgreen‐
307253           away/50311_pkg_installed_fails_sources_hold
307254
307255         · 7bc9b3d         Merge         branch         '2018.3'          into
307256           50311_pkg_installed_fails_sources_hold
307257
307258         · 6e96728  pkg.installed  currently  fails when sources is used along
307259           with hold: True.  This was due to a change in #48426  that  swapped
307260           out  sending  the  pkgs  variable for the desired variable instead.
307261           This caused problems with pkg.hold because desired and sources  are
307262           always  populated,  and pkg.hold can only include one or the other.
307263           This change just includes desired in the  call  to  pkg.hold  since
307264           desired has the same value for sources.
307265
307266       · PR #50434: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
307267         2018-11-08 17:40:39 UTC
307268
307269         · 193c80a Merge pull request #50434 from rallytime/merge-2018.3
307270
307271         · 83dfbb2 Merge branch '2017.7' into '2018.3'
307272
307273           · ef4509e Merge pull request #50370 from dwoz/pubd_msg_logs
307274
307275             · 58ced12 log jid to payload size
307276
307277             · 3c537b5 Log message flow to publish daemon
307278
307279       · PR #50417: (meaksh) Get the right target when using "__env__" on  git
307280         ext_pillar to avoid merging problems @ 2018-11-08 17:07:03 UTC
307281
307282         · 73ce80f  Merge  pull request #50417 from meaksh/2018.3-fix-git_pil‐
307283           lar-__env__-solving-for-merging
307284
307285         · 71af32d Remove unicode references
307286
307287         · b7af5e5 Test git ext_pillar across multiple repos using __env__
307288
307289         · 59894e2 Resolve target branch when using __env__
307290
307291       · ISSUE #50292: (dstoliker) sysctl in test=True mode results in  [ERROR
307292         ] Could not open sysctl file (refs: #50423)
307293
307294       · PR  #50423:  (garethgreenaway)  [2018.3]  Fixes to sysctl modules and
307295         state @ 2018-11-08 14:13:00 UTC
307296
307297         · e9464c9   Merge   pull    request    #50423    from    garethgreen‐
307298           away/50292_no_error_log_test_true
307299
307300         · 95a7f12   Adding   file  check  and  empty  list  return  to  free‐
307301           bsd_sysctl.py
307302
307303         · 469c090 Adding a check to see if the config  file  exists,  if  not
307304           then return an empty list so we get the would be changes.  Adding a
307305           test for this functionality.
307306
307307       · ISSUE #50420: (weswhet) mac_system virtual function fails to load  on
307308         2018.3.3 (refs: #50421)
307309
307310       · PR  #50421: (weswhet) fixing an issue on mac_system where the virtual
307311         function wouldnt load @ 2018-11-07 21:57:44 UTC
307312
307313         · fccf875  Merge  pull  request  #50421   from   weswhet/fix-mac_sys‐
307314           tem-loader
307315
307316         · 042445d  fixing  an  issue on mac_system where the virtual function
307317           wouldnt load
307318
307319       · PR  #50409:  (casselt)   Fix   test   mode   for   mount   state   if
307320         device_name_regex is used.  @ 2018-11-07 16:04:45 UTC
307321
307322         · d2fc910     Merge     pull     request     #50409     from     cas‐
307323           selt/mount-device_name_regex-test-mode-fix
307324
307325         · 56d5a32 Fix test mode for mount state if device_name_regex is used.
307326
307327       · PR #50383: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
307328         2018-11-06 15:51:53 UTC
307329
307330         · c2fda9d Merge pull request #50383 from rallytime/merge-2018.3
307331
307332         · e993692 Merge branch '2017.7' into '2018.3'
307333
307334           · cd7c95f    Merge    pull    request    #50128    from    mgomers‐
307335             bach/fix-py3-reload-compat
307336
307337             · e453e82 Satisfy pylint, use naming instead of W or E  classifi‐
307338               cation
307339
307340             · d20581c     Merge     branch     'fix-py3-reload-compat'     of
307341               github.com:mgomersbach/salt into fix-py3-reload-compat
307342
307343               · 48c6a4f Merge branch '2017.7' into fix-py3-reload-compat
307344
307345             · 5cd9741 Satisfy pylint
307346
307347             · a2838db Satisfy pylint checks
307348
307349             · 05c598c Fix import error by utilizing six  and  strict  version
307350               spec
307351
307352             · 95174e6 Merge branch '2017.7' into fix-py3-reload-compat
307353
307354             · ab8b5b4 Update workaround to root of file
307355
307356             · 37ab1f8 Update workaround to root of file
307357
307358             · 253ab11  Workaround for py2 builtin, =<3.3 imp and >=3.4 libim‐
307359               port quirks, solves #50127
307360
307361           · aa6b149 Merge pull request #50354 from rallytime/version_num_docs
307362
307363             · 0621f7d Add a few more feature release codenames  to  the  ver‐
307364               sion_numbers doc
307365
307366           · 6472100 Merge pull request #50359 from dwoz/clitest
307367
307368             · 18b5d43  Increase  cli  batch  test timeout for increased reli‐
307369               ablity
307370
307371           · 99c8f35 Merge pull request #50345 from dwoz/pub_d_logging
307372
307373             · fd58523 Fix linter warnings
307374
307375             · 5e1db3c Fix ZMQ PubServer daemon logging works on winndows
307376
307377             · 8899832 Configure logging for ZMQ PubServer daemon
307378
307379           · 44f7af4 Merge pull request #50350 from dubb-b/2017.7
307380
307381             · 346a831 Updating the AMI's and sizes for the test run.
307382
307383           · b947a18 Merge pull request #50274 from rallytime/bp-41472
307384
307385             · 0a1e607 When the minion key is denied by the master  then  exit
307386               status 77 (permission denied)
307387
307388           · 4725acd   Merge   pull  request  #50195  from  damon-atkins/jenk‐
307389             ins_pylint
307390
307391             · eb13407 capture some extra info
307392
307393           · ab8e845 Merge pull request #50329 from twangboy/fix_cloud_winrm
307394
307395             · cf5fb04 Check WinRM port before initiating connection
307396
307397           · e535b38 Merge pull request #50252 from dwoz/backport_fs_fix
307398
307399             · 59ac284 Do not allow age to be a negative number
307400
307401       · ISSUE #49523: (MTecknology) [salt-cloud]  Non-ascii  chars  cause  an
307402         exception in salt-cloud (refs: #50146, #50236)
307403
307404         · PR  saltstack/salt#50174:  (rallytime)  Back-port  #50146 to 2018.3
307405           (refs: #50231)
307406
307407       · PR #50236: (rallytime) Fix salt-cloud UnicodeEncodeError when writing
307408         to stdout @ 2018-11-05 22:04:18 UTC
307409
307410         · PR   #50235:   (rallytime)   Don't  encode  the  return  values  in
307411           utils/vt.py (refs: #50236)
307412
307413         · PR #50231: (rallytime) Revert "Back-port #50146 to  2018.3"  (refs:
307414           #50236)
307415
307416         · PR  #50230:  (rallytime)  Add  various ssh tests to the filemap for
307417           salt/utils/vt.py changes (refs: #50291, #50235)
307418
307419         · PR #50174: (rallytime) Back-port #50146 to 2018.3 (refs: #50236)
307420
307421         · PR #50146: (MTecknology) Improve handling of  non-ascii  characters
307422           in   terminal   output.  (Fixes:  #49523)  (refs:  #50235,  #`salt‐
307423           stack/salt`#50174`_`_, #50174, #50231, #50236)
307424
307425         · 46c7dc2d Merge pull request #50236 from rallytime/fix-cloud-vt
307426
307427         · c1984c9 Fix salt-cloud UnicodeEncodeError when writing to stdout
307428
307429       · ISSUE #50062: (whytewolf) max_event_size does not always  trim  large
307430         events.  (refs: #50382)
307431
307432       · PR  #50382:  (garethgreenaway)  [2018.3]  Fix to utils/dicttrim.py to
307433         honor max_event_size with nested dictionaries @  2018-11-05  20:04:06
307434         UTC
307435
307436         · ed4fa87    Merge    pull    request    #50382   from   garethgreen‐
307437           away/50062_max_event_size_does_not_always_trim_large_events
307438
307439         · 039f3d1 Increase limit for trimming.
307440
307441         · 7f77bfe Adding test for utils/dicttrim.py
307442
307443         · 9b55ac7 Adding _trim_dict_in_dict to utils/dictrim.py to be  called
307444           from  trim_dict  when data contains a nested dictionary.  This will
307445           ensure that values will still be trimmed correctly.
307446
307447       · PR #50387:  (rallytime)  Back-port  #50339  to  2018.3  @  2018-11-05
307448         20:03:15 UTC
307449
307450         · PR  #50339: (bartlaarhoven) The driver requires dependency, not the
307451           other way around. (refs: #50387)
307452
307453         · 493d653 Merge pull request #50387 from rallytime/bp-50339
307454
307455         · a3f264d Lint: Add extra blank line
307456
307457         · bd18412 The driver requires dependency, not the other way around.
307458
307459       · ISSUE #41342: (githubcdr) beacons.state does not save as list  (refs:
307460         #50347)
307461
307462       · PR  #50347: (garethgreenaway) [2018.3] Fixes to beacon state module @
307463         2018-11-05 14:19:41 UTC
307464
307465         · 3022b7d Merge pull request #50347  from  garethgreenaway/41342_bea‐
307466           con_state_module_fixes
307467
307468         · 8885d1f Merge branch '2018.3' into 41342_beacon_state_module_fixes
307469
307470         · c2354a9  Fixing beacon state test.  Adding a reset function to bea‐
307471           con module to clear out beacon  configuration.   Useful  for  tests
307472           runs to ensure bits are left over between runs.
307473
307474         · 2390f47 Adding SaltReturnAssertsMixin back in
307475
307476         · 677d090 Remove zookeeper reference.
307477
307478         · f3dee43  Updating the beacon state module to ensure that the format
307479           of the beacon data that is being sent along to the beacon execution
307480           module is in the right format.
307481
307482       · ISSUE  #41583: (seanjnkns) mount.swap for swap file test=True results
307483         wrong (refs: #50358)
307484
307485       · PR #50358: (garethgreenaway) [2018.3] fixes to function mount.swap in
307486         mount state @ 2018-11-05 14:16:50 UTC
307487
307488         · 929525a    Merge    pull    request    #50358   from   garethgreen‐
307489           away/41583_mount_swap_test_true_wrong_results
307490
307491         · b8ded8b Updating the swap function in the mount.swap function  also
307492           check the device name when checking the fstab data.  Updating tests
307493           to reflect new behavior.
307494
307495              · d07c84d reordering ret dictionary in load  test  to  ascending
307496                order
307497
307498              · f704128  fixing  type  in load beacon module and adding option
307499                validators to config check function along  with  mock  default
307500                values in test, fixes #48343
307501
307502              · 4114a4f  fixing  type  in load beacon module and adding option
307503                validators to config check function along  with  mock  default
307504                values in test
307505
307506       · ISSUE  #49225:  (onnodb)  [win_lgpo] lgpo_set always reports failure;
307507         Registry.pol corruption (refs: #50006)
307508
307509       · ISSUE #48782: (mike2523) [win_lgpo] Causes corrupt Registry.pol  file
307510         (refs: #50006)
307511
307512       · PR  #50006:  (lomeroe)  Correct  more  issues  in  lgpo  @ 2018-11-02
307513         16:32:29 UTC
307514
307515         · 3ffa392 Merge pull request #50006 from lomeroe/issue48782_2018.3
307516
307517         · dc58252 update to use a single line if statement when dealing  with
307518           prepended text
307519
307520         · 0e011ad add runTest method to class for PY2
307521
307522         · 377ec09 add a test for #47784
307523
307524         · 0a14505 change backslashes in comment string to fix lint error
307525
307526         · 02181d3 add fix/test for #50079
307527
307528         · 05f2951 more lint fixes
307529
307530         · 94b3335 lint fixes in test
307531
307532         · 2a79626 update test to actually work
307533
307534         · 42840ec add missing comma in function call
307535
307536         · c283f50  Log  a  warning message instead of an exception when a SID
307537           cannot be converted to a username (for user rights assignments)
307538
307539         · 271bd70 capture and print exception information
307540
307541         · bc94b8e update method for creating size field  of  **delvals  items
307542           for py3 compatibility
307543
307544         · d9fe28a  fix  clobbering  of  admx_search_results which was keeping
307545           some policies from being properly detected
307546
307547       · PR #50340: (garethgreenaway) [2018.3] Backporting #48087 to 2018.3  @
307548         2018-11-01 18:15:37 UTC
307549
307550         · PR  #48087:  (mat813)  Fix  patching sysctl.conf on FreeBSD. (refs:
307551           #50340)
307552
307553         · 12de4b9  Merge  pull  request  #50340  from   garethgreenaway/back‐
307554           port_48087_to_2018_3
307555
307556         · 56c87ff Backporting #48087 to 2018.3
307557
307558       · PR  #50275:  (rallytime)  Back-port  #49752  to  2018.3  @ 2018-11-01
307559         16:50:17 UTC
307560
307561         · PR #49752:  (jodok)  add  support  for  clonenum  parameter  (refs:
307562           #50275)
307563
307564         · 5e46434 Merge pull request #50275 from rallytime/bp-49752
307565
307566         · e463d99 Merge branch '2018.3' into bp-49752
307567
307568         · 1e10c6e add support for clonenum parameter
307569
307570       · ISSUE  #47425:  (raddessi) states/netyang.managed ignores models when
307571         passed as a kwarg (refs: #50301)
307572
307573       · PR #50316:  (rallytime)  Back-port  #50301  to  2018.3  @  2018-11-01
307574         16:32:04 UTC
307575
307576         · PR   #50301:  (tonybaloney)  Fixes  issues  raised  in  #47425  for
307577           states.netyang (refs: #50316)
307578
307579         · 51e333a Merge pull request #50316 from rallytime/bp-50301
307580
307581         · 367b689 Merge pull request #32 from tonybaloney/bp50301
307582
307583           · 529687a update test assertions
307584
307585         · ba526ad remove unused import
307586
307587         · 220e57f create 2 simple unit tests for the netyang state module and
307588           fix issue in #47425
307589
307590         · 20bf306 reproduce bug in 47425
307591
307592       · PR  #50290:  (twangboy)  Fix  test_state  for  Windows  @  2018-10-31
307593         19:28:34 UTC
307594
307595         · af1075b Merge pull request #50290 from twangboy/fix_test_state
307596
307597         · 69c02fc Fix some lint and some typos
307598
307599         · d184013 Fix typo
307600
307601         · 92b5ea0 Create salt util that copies file security info
307602
307603       · ISSUE #50050: (terminalmage) Backport runtests.py's  --from-filenames
307604         functionality to 2018.3 branch (refs: #50308, #50291)
307605
307606       · PR  #50291:  (rallytime)  Back-port  #50230  to  2018.3  @ 2018-10-31
307607         19:22:25 UTC
307608
307609         · PR #50230: (rallytime) Add various ssh tests  to  the  filemap  for
307610           salt/utils/vt.py changes (refs: #50291, #50235)
307611
307612         · 045d81c Merge pull request #50291 from rallytime/bp-50230
307613
307614         · 1aae681 Merge branch '2018.3' into bp-50230
307615
307616         · 1ef712a  Add  various ssh tests to the filemap for salt/utils/vt.py
307617           changes
307618
307619       · PR #50315: (rallytime) [2018.3] Merge forward from 2018.3.3 to 2018.3
307620         @ 2018-10-31 14:16:34 UTC
307621
307622         · 00437aa Merge pull request #50315 from rallytime/merge-2018.3
307623
307624         · 422465e Merge branch '2018.3.3' into '2018.3'
307625
307626         · 4d9e2a0 Merge pull request #50088 from vulnbe/fix-incorrect-id-han‐
307627           dling-2018-3-3
307628
307629         · 619f2f2 Fix incorrect id handling in file state
307630
307631       · PR #50309: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
307632         2018-10-30 16:07:25 UTC
307633
307634         · 84ee7a3 Merge pull request #50309 from rallytime/merge-2018.3
307635
307636         · 381a59d Merge branch '2017.7' into '2018.3'
307637
307638         · 11fa33e Merge pull request #50295 from dubb-b/remove-cloud-change
307639
307640           · 80982ad  Removing  an  un needed change and maybe fixing the lint
307641             error
307642
307643         · e00c507 Merge pull request #50287 from whytewolf/boto_vpc
307644
307645           · 5a39644 minor correction to boto_vpc.route_table_present example,
307646             subnet_names was on wrong indent level
307647
307648         · 37ae06c Merge pull request #50280 from gtmanfred/2017.7
307649
307650           · 5808074 fix InstallRequirement.from_line for pip 18.1
307651
307652       · ISSUE  #50050: (terminalmage) Backport runtests.py's --from-filenames
307653         functionality to 2018.3 branch (refs: #50308, #50291)
307654
307655       · PR #50308: (rallytime) Fix matcher grain file @  2018-10-30  15:27:47
307656         UTC
307657
307658         · PR  #50182:  (terminalmage) Backport runtests.py modifications from
307659           develop to 2018.3 (refs: #50308)
307660
307661         · b805bab Merge pull request #50308 from rallytime/test-fixes
307662
307663         · f238522 Fix matcher grain file
307664
307665       · PR #50270: (terrible-broom) apt:  speedup  installing  packages  with
307666         '>=' or '<=' and reduced memory… @ 2018-10-30 13:24:36 UTC
307667
307668         · 57fe6cd   Merge   pull   request  #50270  from  terrible-broom/fea‐
307669           ture/apt-cache-show-instead-of-dump
307670
307671         · 6c1b05a Lint: add extra blank line
307672
307673         · a4df706 fix review notes
307674
307675         · d059edd apt: speedup installing packages  with  '>='  or  '<='  and
307676           reduced memory consumption
307677
307678       · PR #50293: (gtmanfred) update jenkins version for 2018.3 @ 2018-10-29
307679         23:39:34 UTC
307680
307681         · 6a65402 Merge pull request #50293 from saltstack/jenkins
307682
307683         · fe6fbc4 update jenkins version for 2018.3
307684
307685         · PR saltstack/salt-jenkins#1182: (gtmanfred) clean up salt.utils for
307686           using 2018.3.3 (refs: #50289)
307687
307688       · PR #50289: (gtmanfred) ignore empty line in localectl status output @
307689         2018-10-29 21:39:07 UTC
307690
307691         · 935f181 Merge pull request #50289 from gtmanfred/2018.3
307692
307693         · fb43061 fix test
307694
307695         · 5eb0e37 add extra space to localemod test
307696
307697         · e8dc8ba if line in output of localectl is empty, ignore it
307698
307699       · PR #50276: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
307700         2018-10-29 19:05:15 UTC
307701
307702         · 10ba8b4 Merge pull request #50276 from rallytime/merge-2018.3
307703
307704         · f05abb0 Merge branch '2017.7' into '2018.3'
307705
307706           · 6ae8a33 Merge pull request #50281 from dubb-b/add_subnet
307707
307708             · 4fdcf7c Lint: Add extra blank line
307709
307710             · cebfd8a Fixing lint error
307711
307712             · 0da6301         Merge         branch         '2017.7'        of
307713               https://github.com/saltstack/salt into add_subnet
307714
307715             · 2df6115 Adding subnetID so it knows the right VPC to build  the
307716               node in.
307717
307718         · a0cfbdc Merge branch '2017.7' into '2018.3'
307719
307720           · b94a43b  Merge  pull  request  #50184  from  ethanculler/fix-min‐
307721             ion-return-exception-with-return
307722
307723             · 283d41c Merge  branch  '2017.7'  into  fix-minion-return-excep‐
307724               tion-with-return
307725
307726             · a4e54d7  Added handling for minion return exceptions containing
307727               the word "return"
307728
307729           · 6b009b4 Merge pull request #50258 from dubb-b/fix_cloud_ec2
307730
307731             · 6a1e9f0 Adding securitygroupname as the config instead of secu‐
307732               ritygroup
307733
307734           · 3e1aac9 Merge pull request #50251 from gtmanfred/2017.7
307735
307736             · 061e599 bump salt version to 2017.7.8
307737
307738           · fe9bc81 Merge pull request #50233 from Ch3LL/bp-50232
307739
307740             · f83460d change order of search engine ids
307741
307742             · bf3f217 Update search engine IDs for releases
307743
307744       · PR  #50282:  (twangboy)  Fix unit.beacons.test_diskusage on Windows @
307745         2018-10-29 18:37:13 UTC
307746
307747         · 0f1dc08 Merge pull request #50282 from twangboy/fix_test_diskusage
307748
307749         · fd369dd Mock is_windows = False
307750
307751       · PR #50182: (terminalmage)  Backport  runtests.py  modifications  from
307752         develop to 2018.3 (refs: #50308) @ 2018-10-29 16:25:07 UTC
307753
307754         · f7c2f04 Merge pull request #50182 from terminalmage/issue50050
307755
307756         · 113d76e    Revert    "Move   jinja   templating   tests   alongside
307757           salt/utils/jinja.py's tests"
307758
307759         · 3057ca4 Lint fix: add extra blank line in core.py
307760
307761         · 8968f9d Revert "Rename test_map_conf test file  to  respect  naming
307762           convention"
307763
307764         · 85a9395 Remove saltclass pillar unit test for list expansion
307765
307766         · 3d95673 Use get_config_dir() instead of self.config_dir
307767
307768         · e8b3a62 Add init file back in for unit/client pkg
307769
307770         · d527dd2 Rename states/test_libvirt.py into states/test_virt.py
307771
307772         · ab4a670 Remove pgjsonb returner unit tests
307773
307774         · 68ab3ee Remove "test_custom" from grains section of filename_map
307775
307776         · 6814698 Remove test_error from scheduler tests
307777
307778         · c55dcf0 Add init file back in for integration/cloud/clouds pkg
307779
307780         · f485b4a enable testing only filemaps
307781
307782         · dfa05b9 Remove test files for beacons that don't exist in 2018.3
307783
307784         · 85612cf runtests.py: Fix IndexError in --from-filenames
307785
307786         · 25097f9 Make sure from-filenames intersect with names-file
307787
307788         · ed864ce runtests.py: Accept modified file list from a text file
307789
307790         · 059754c  Add some doc tests to the filemap that should run on every
307791           PR
307792
307793         · b1ee2e5 Set a default value for the filename map path
307794
307795         · 5ea1024 Add documentation explaining  naming  convention  for  test
307796           files
307797
307798         · 8f790c0 Fix conflicting dict key in filename map
307799
307800         · f2e5512 Evan Moar Lint
307801
307802         · 65fef9a Moar Lint
307803
307804         · 39c2455 Lint
307805
307806         · dd20f12 Make sure we always run the module names test
307807
307808         · 2ac939e  Add  test  to  check  test module names and make sure they
307809           match the naming convention
307810
307811         · 785d298 Add  integration.netapi.rest_tornado.test_app  to  filename
307812           map
307813
307814         · 662ca0d Rename files to match naming convention
307815
307816         · 186d333 Add back changes lost in cherry-pick
307817
307818         · a236531 Add back test accidentally deleted when cherry-picking
307819
307820         · eaa4da3 Rename providers to clouds to respect naming convention
307821
307822         · 85b96de  Rename  some  files to avoid them being identified as test
307823           modules
307824
307825         · bfb6015 Rename/consolidate salt.utils unit tests to conform to nam‐
307826           ing convention
307827
307828         · 84749dd  Consolitdate  and move salt-ssh unit tests to proper loca‐
307829           tion
307830
307831         · 71825a5    Consolidate     and     move     loader     tests     to
307832           test/unit/test_loader.py
307833
307834         · 8326a09 Rename test_map_conf test file to respect naming convention
307835
307836         · 6d9c2eb Move jinja templating tests alongside salt/utils/jinja.py's
307837           tests
307838
307839         · 1ef43a3 Add additional paths to the filename map
307840
307841         · 75e6731 Use the new helper to get the test mods
307842
307843         · c3dc8ec Add function to get all of the test modules
307844
307845         · c5593bc Rename custom_grains.py so it's not identified  as  a  test
307846           module
307847
307848         · 330c211 Consolidate saltclass pillar unit tests into single module
307849
307850         · a642619 Rename test pgjsonb returner test file to match naming con‐
307851           vention
307852
307853         · 6433c48 Don't import old module name
307854
307855         · a97e032 Move helper outside of for loop
307856
307857         · 3f1b6fd Add more unit test mapping
307858
307859         · ac3406d Fill out the filename map a bit
307860
307861         · 07d6f2a Enhancements to --from-filenames, --filename-map options
307862
307863         · b851a41 Don't run unit or integration tests unnecessarily
307864
307865         · 569276b Add an initial filename_map
307866
307867         · 44199b1 Add --from-filenames and --filename-map options to parser
307868
307869       · PR #50267: (m03) Fix missing aptly config paths @ 2018-10-29 13:27:23
307870         UTC
307871
307872         · 1e8b092   Merge   pull   request   #50267  from  m03/fix-aptly-con‐
307873           fig-paths-20183
307874
307875         · 319bb31 Fix missing aptly config paths
307876
307877       · PR #50232: (Ch3LL) Update  search  engine  IDs  for  releases  (refs:
307878         #50233) @ 2018-10-25 20:15:08 UTC
307879
307880         · ab0b022 Merge pull request #50232 from Ch3LL/search_latest
307881
307882         · 3452d9b change order of search engine ids
307883
307884         · c9546df Update search engine IDs for releases
307885
307886       · ISSUE  #49523:  (MTecknology)  [salt-cloud]  Non-ascii chars cause an
307887         exception in salt-cloud (refs: #50146, #50236)
307888
307889         · PR saltstack/salt#50174: (rallytime)  Back-port  #50146  to  2018.3
307890           (refs: #50231)
307891
307892       · PR  #50231:  (rallytime)  Revert  "Back-port #50146 to 2018.3" (refs:
307893         #50236) @ 2018-10-25 20:12:15 UTC
307894
307895         · PR #50146: (MTecknology) Improve handling of  non-ascii  characters
307896           in   terminal   output.  (Fixes:  #49523)  (refs:  #50235,  #`salt‐
307897           stack/salt`#50174`_`_, #50174, #50231, #50236)
307898
307899         · 1c8cdf9    Merge     pull     request     #50231     from     salt‐
307900           stack/revert-50174-bp-50146
307901
307902         · c76ac1b Revert "Back-port #50146 to 2018.3"
307903
307904       · ISSUE  #50132:  (ManicoW)  XCP-ng  packages  and  services management
307905         (refs: #50140)
307906
307907       · PR #50172:  (rallytime)  Back-port  #50140  to  2018.3  @  2018-10-25
307908         14:00:32 UTC
307909
307910         · PR #50140: (ManicoW) Adding XCP-ng support (refs: #50172)
307911
307912         · 8dd4f43 Merge pull request #50172 from rallytime/bp-50140
307913
307914         · 02e0ea0 lint fix
307915
307916         · 819c46c fix lint errors and code factorization
307917
307918         · 8aa3598 Fix lint error
307919
307920         · 9092c4e Adding support for XCP-ng
307921
307922         · c516bc5 Adding XCP-ng to os family map
307923
307924       · PR  #50063:  (twangboy)  Use long when setting REG_QWORD @ 2018-10-25
307925         13:45:03 UTC
307926
307927         · 9ad43f2 Merge pull request #50063 from twangboy/fix_50039
307928
307929         · 5fdba7d Disable lint error
307930
307931         · 84b8dd6 Add tests
307932
307933         · 4644bb6 Use long when setting REG_QWORD
307934
307935       · ISSUE  #49965:  (nkrishnakishor)  Beacon:  Usage  in  windows  (refs:
307936         #50188)
307937
307938       · PR  #50188:  (garethgreenaway)  [2018.3]  fixes to diskusage beacon @
307939         2018-10-25 13:41:19 UTC
307940
307941         · 01b083e Merge pull request #50188  from  garethgreenaway/49965_bea‐
307942           con_diskusage_windows
307943
307944         · 1f0ab27 Merge branch '2018.3' into 49965_beacon_diskusage_windows
307945
307946         · 42b3203 Fixing lint
307947
307948         · f65fa57 Fixing a bug in the diskusage beacon that prevented it from
307949           working on Windows.  Adding a couple tests to test functionality on
307950           Windows.
307951
307952       · PR #50214: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
307953         2018-10-25 13:38:40 UTC
307954
307955         · 9ea51c0 Merge pull request #50214 from rallytime/merge-2018.3
307956
307957         · 897145c Merge branch '2017.7' into '2018.3'
307958
307959           · 017d394 Merge pull request #50202 from Ch3LL/_2017.7.8
307960
307961             · d520f9a Add tests with filname in token data
307962
307963             · d45f6c7 Add empty token salt-api integration tests
307964
307965             · 652dbf6 Ensure that tokens are hex to avoid  hanging/errors  in
307966               cherrypy
307967
307968           · f28a4fa  Merge  pull  request  #50211  from channias/fix-spm-mod‐
307969             ules-install
307970
307971             · 9b203d5 Fix broken install of additionnal modules in SPM  pack‐
307972               ages
307973
307974           · 6b4e07b Merge pull request #50212 from dwoz/test_no_fail
307975
307976             · 7f613ac Do not fail if process already ended
307977
307978           · 85e22d2   Merge   pull  request  #50207  from  Ch3LL/2update_ver‐
307979             sion_doc_2017.7
307980
307981             · 198d25c Add 2017.7.8 previous release
307982
307983             · d4e26ac Update release versions for the 2017.7 branch
307984
307985           · d035695 Merge pull request #50205 from Ch3LL/rn_2017.7.8
307986
307987             · 71ee68b [2017.7.8] remove in progress and add security details
307988
307989           · ce341f2 Merge pull request #50180 from max-arnold/2017.7
307990
307991             · 881a521 Revert curly braces example for nested dictionaries
307992
307993           · 622bb51  Merge  pull  request  #50026   from   damon-atkins/jenk‐
307994             ins_pylint
307995
307996             · aebce88 Merge branch '2017.7' into jenkins_pylint
307997
307998             · 5f708fa use awk to create the other files, so git does not need
307999               to search again
308000
308001             · 6b96a24 Adjust jenkins  linting  process,  only  run  stage  if
308002               required,  use  git diff to find files, instead of find, report
308003               on status, changed and deleted files, lint only changed files.
308004
308005           · aa66d1b      Merge      pull      request       #50158       from
308006             vutny/doc/2017.7/fix-http-tutorial
308007
308008             · fe2d70d [DOC] Fix JSON payload example in HTTP tutorial
308009
308010       · ISSUE #50162: (rbthomp) Scheduled job runs in endless loop when using
308011         when: and  splay: together.  (refs: #50216)
308012
308013       · PR #50216: (garethgreenaway) [2018.3] Fixes  to  scheduler,  list  of
308014         whens plus splay @ 2018-10-25 13:31:26 UTC
308015
308016         · 51b3fa4    Merge    pull    request    #50216   from   garethgreen‐
308017           away/50162_when_plus_splay_endless_loop
308018
308019         · 685509f Fixing an issue when a combination of the when parameter as
308020           a  list  plus using the splay parameter would cause the schedule to
308021           continuously run jobs in an endless loop, regardless  of  if  their
308022           scheduled  time  had  been  receached.  Also fixing a related issue
308023           where scheduled jobs that rely on _next_fire_time  were  not  being
308024           run  as the corrected splayed time but rather running at the origi‐
308025           nal scheduled time.  Adding new tests.
308026
308027       · PR #50190: (dwoz) Fix test_managed_file_with_grains_data on Windows @
308028         2018-10-24 22:43:35 UTC
308029
308030         · 43303fb Merge pull request #50190 from dwoz/grains_template_test
308031
308032         · b77db48 Fix test_managed_file_with_grains_data on Windows
308033
308034       · PR #50187: (garethgreenaway) [2018.3] Adding fixes to scheduler tests
308035         to 2018.3 @ 2018-10-24 19:45:32 UTC
308036
308037         · PR #49871: (garethgreenaway) [fluorine]  Updating  scheduler  tests
308038           for OS X (refs: #50187)
308039
308040         · 462314b    Merge    pull    request    #50187   from   garethgreen‐
308041           away/port_49871_to_2018_3
308042
308043         · 25e7cb6 Merge branch '2018.3' into port_49871_to_2018_3
308044
308045         · d232dfb Update test_eval.py
308046
308047         · d8d8559 Fixing lint
308048
308049         · 76e6232 Removing unnecessary debugging lines
308050
308051         · d2d0622 Back porting #49871  to  2018.3.   Adding  some  additional
308052           changes to ensure they are passing on OS X.
308053
308054       · PR #50201: (Ch3LL) [2018.3] Ensure that tokens are hex to avoid hang‐
308055         ing/errors in cherrypy @ 2018-10-24 19:44:23 UTC
308056
308057         · 8ad9a1b Merge pull request #50201 from Ch3LL/_2018.3.3
308058
308059       · PR #50208: (Ch3LL)  Update release versions for the 2018.3  branch  @
308060         2018-10-24 15:52:19 UTC
308061
308062         · 88673ad   Merge   pull   request   #50208  from  Ch3LL/2update_ver‐
308063           sion_doc_2018.3
308064
308065         · cdbf493 Add 2017.7.8 previous release
308066
308067         · 6f775e7 Update release versions for the 2018.3 branch
308068
308069       · PR #50206: (Ch3LL) [2018.3.3] remove in  progress  and  add  security
308070         details @ 2018-10-24 15:50:50 UTC
308071
308072         · db8ef1e Merge pull request #50206 from Ch3LL/rn_2018.3.3
308073
308074         · 896caa1 Add 2016.11.10 release notes to 2018.3 branch
308075
308076         · 1e34158 [2018.3.3] remove in progress and add security details
308077
308078       · PR  #50200:  (rallytime)  Back-port  #50181  to  2018.3  @ 2018-10-24
308079         15:49:59 UTC
308080
308081         · PR #50181: (cro) Testinfra has a python  packaging  issue  that  is
308082           making version 1.17.0 fail to install some places (refs: #50200)
308083
308084         · 3d3db70 Merge pull request #50200 from rallytime/bp-50181
308085
308086         · f3e5399 Ignore testinfra 1.17.0
308087
308088       · ISSUE  #49523:  (MTecknology)  [salt-cloud]  Non-ascii chars cause an
308089         exception in salt-cloud (refs: #50146, #50236)
308090
308091       · PR #50174: (rallytime) Back-port #50146 to 2018.3  (refs:  #50236)  @
308092         2018-10-23 18:16:45 UTC
308093
308094         · PR  #50146:  (MTecknology) Improve handling of non-ascii characters
308095           in  terminal  output.  (Fixes:  #49523)  (refs:   #50235,   #`salt‐
308096           stack/salt`#50174`_`_, #50174, #50231, #50236)
308097
308098         · 5f904dd Merge pull request #50174 from rallytime/bp-50146
308099
308100         · 601a5b8  Improve  handling of non-ascii characters in terminal out‐
308101           put. (Fixes: #49523)
308102
308103       · ISSUE  #50142:  (m03)  stringutils.to_none  AttributeError:  'module'
308104         object has no attribute 'tex_type' (refs: #50143)
308105
308106       · PR  #50173:  (rallytime)  Back-port  #50143  to  2018.3  @ 2018-10-23
308107         17:13:55 UTC
308108
308109         · PR #50143: (m03) Fix #50142, stringutils.to_none (refs: #50173)
308110
308111         · PR #45429: (terminalmage) [PY3] Add unicode_literals to  salt.utils
308112           modules (R-S) (refs: #50143)
308113
308114         · 1cd0339 Merge pull request #50173 from rallytime/bp-50143
308115
308116         · f5d6080 Add test_to_none
308117
308118         · c0ce36b Fix #50142, stringutils.to_none
308119
308120       · PR #50171: (terminalmage) Fix invalid RST link in docker_network docs
308121         @ 2018-10-23 13:40:36 UTC
308122
308123         · 9331f1e Merge pull request #50171 from terminalmage/docs
308124
308125         · 7ea1d6c Fix invalid RST link in docker_network docs
308126
308127       · PR  #50161:  (rmarcinik)  Add  a  missing  result  for  task.info   @
308128         2018-10-23 13:31:43 UTC
308129
308130         · 16eece3 Merge pull request #50161 from rmarcinik/patch-1
308131
308132         · 9848f06 Add a missing result for task.info
308133
308134       · PR  #50136:  (terminalmage)  Add  some debug logging before and after
308135         states gather pillar data @ 2018-10-22 14:40:38 UTC
308136
308137         · 28bc5e3 Merge pull request #50136 from terminalmage/debug-logging
308138
308139         · 8592a0b Add some debug logging before and after states gather  pil‐
308140           lar data
308141
308142       · ISSUE  #50129:  (kmatsoukas)  Call  to  network.get_route  fails when
308143         interface name contains a dash (refs: #50147)
308144
308145       · PR #50147: (garethgreenaway) [2018.3]  Fix  to  modules/network.py  @
308146         2018-10-22 14:31:03 UTC
308147
308148         · 593c7ff  Merge  pull request #50147 from garethgreenaway/50129_net‐
308149           work_get_route_fails_dash_in_name
308150
308151         · 8fa87e3 Update test_network.py
308152
308153         · 3117969 Fixing scenario where the interface for the  default  route
308154           has  a  dash  in it, regular expression used in get_route currently
308155           doesn't not account for this..  Adding some  additional  tests  for
308156           network.get_route.
308157
308158       · PR #50156: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
308159         2018-10-22 14:24:39 UTC
308160
308161         · 5c7a7d9 Merge pull request #50156 from rallytime/merge-2018.3
308162
308163         · 87e20fd Merge branch '2017.7' into '2018.3'
308164
308165         · 1a90c4f Merge pull request #50144 from dwoz/winrm_fs_release
308166
308167           · 0951d85 Use newest winrm-fs release
308168
308169         · e096560 Merge pull request #50113 from rallytime/bp-49989
308170
308171           · 27c7ac9 Increase centos7-py2 kitchen pr timeout to 8 hours
308172
308173       · PR #50148: (MTecknology) Proxmox fixups @ 2018-10-22 11:55:10 UTC
308174
308175         · ce375f4 Merge pull request #50148 from MTecknology/proxmox-fixups
308176
308177         · 4959947 Race condition still exists at one second timeout.
308178
308179         · 3a62f74 Add support for setting root ssh pubkey to proxmox contain‐
308180           ers.
308181
308182       · PR  #50085:  (dwoz)  Fix test_win_pkg yet again @ 2018-10-19 18:16:16
308183         UTC
308184
308185         · 0ece06e Merge pull request #50085 from dwoz/win_pkg_redux
308186
308187         · f22630e Merge branch '2018.3' into win_pkg_redux
308188
308189         · 0b033a6 Do not allow age to be a negative number
308190
308191         · a24d8b8 Debug file list cache
308192
308193         · 9f5722a The test is not a flush problem
308194
308195         · 071f8a0 Add cache file name to list cache log
308196
308197         · 128c2c5 Flush and sync file contents
308198
308199         · 7d361d8 Add debug log when file list is returned from cache
308200
308201       · PR #49980: (twangboy) Add support for AddPrinterDrivers @  2018-10-19
308202         13:19:41 UTC
308203
308204         · 0069247     Merge     pull     request     #49980    from    twang‐
308205           boy/lgpo_add_printer_drivers
308206
308207         · 76c9301 Add support for AddPrinterDrivers
308208
308209       · PR #50114:  (rallytime)  Back-port  #50061  to  2018.3  @  2018-10-19
308210         11:46:03 UTC
308211
308212         · PR #50061: (rongzeng54) pkg.install bugfix (refs: #50114)
308213
308214         · de23c83 Merge pull request #50114 from rallytime/bp-50061
308215
308216         · 1f09104 Add unit test for pkg.install with epoch
308217
308218         · af253c6 pkg.install bugfix
308219
308220       · ISSUE  #50074:  (bigpick)  Arista EOS Salt Minion - Debug Log Flooded
308221         with Repeated Message (refs: #50115)
308222
308223       · PR #50115: (garethgreenaway) [2018.3] Apply scheduler fixes and tests
308224         from #49104 to 2018.3 @ 2018-10-19 11:45:31 UTC
308225
308226         · PR #49104: (garethgreenaway) [fluorine] Fixes to scheduler for jobs
308227           with seconds, minutes, etc. (refs: #50115)
308228
308229         · 9188bec   Merge   pull    request    #50115    from    garethgreen‐
308230           away/apply_49104_to_2018_3
308231
308232         · adb1e79 Apply scheduler fixes and tests from #49104 to 2018.3
308233
308234       · PR  #50119:  (terminalmage)  Squelch  spurious  errors logged in unit
308235         tests @ 2018-10-19 11:42:31 UTC
308236
308237         · e892042 Merge pull request #50119 from terminalmage/boto-tests
308238
308239         · 91812ff Squelch spurious errors logged in unit tests
308240
308241       · PR  #50120:  (terminalmage)  Fix  bad  merge  conflict  resolution  @
308242         2018-10-19 11:38:35 UTC
308243
308244         · 35449b4  Merge  pull  request  #50120  from terminalmage/salt-jenk‐
308245           ins-1137
308246
308247         · 1ddfd26 Fix bad merge conflict resolution
308248
308249       · PR #50013: (Giandom) Passed kwargs to db_exists in db_remove method @
308250         2018-10-18 11:28:30 UTC
308251
308252         · 5123488 Merge pull request #50013 from Giandom/2018.3
308253
308254         · 9c91df3 Merge branch '2018.3' into 2018.3
308255
308256         · 06bb245 Merge branch '2018.3' into 2018.3
308257
308258         · 04a99e0 Passed kwargs to db_remove
308259
308260       · PR #50092: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
308261         2018-10-17 19:57:07 UTC
308262
308263         · aa94f60 Merge pull request #50092 from rallytime/merge-2018.3
308264
308265         · 8609064 Update old utils paths to use new paths
308266
308267         · a984ad8 Merge branch '2017.7' into '2018.3'
308268
308269           · 7ec3840 Merge pull request #49794 from twangboy/fix_groupadd_test
308270
308271             · 3d3b67d Gate for Windows
308272
308273             · decfa52 Check value of result instead of entire dict
308274
308275           · e562838 Merge pull request #50028  from  basseed/fix-windows-vir‐
308276             tual-grain
308277
308278             · 8129ac6 removed whitespaces
308279
308280             · 82fa866  Fix #50015, Windows grain defaults to physical as unix
308281               grain
308282
308283       · ISSUE #50073: (jorotenev) boto_cloudfront update  distribution  fails
308284         (refs: #50082)
308285
308286       · PR   #50082:   (garethgreenaway)   [2018.3]  Fixing  a  typo  in  the
308287         boto_cloudfront @ 2018-10-17 19:35:00 UTC
308288
308289         · d1f2c5d Merge pull request #50082  from  garethgreenaway/50073_fix‐
308290           ing_typo_boto_cloudfront
308291
308292         · b5b90a1 Fixing a typo in the boto_cloudfront.
308293
308294       · PR   #50090:  (garethgreenaway)  [2018.3]  Fix  to  utils/vault.py  @
308295         2018-10-17 13:57:30 UTC
308296
308297         · 05bd2a0   Merge   pull    request    #50090    from    garethgreen‐
308298           away/fix_vault_sdb_runner_test
308299
308300         · 444a4e5 Merge branch '2018.3' into fix_vault_sdb_runner_test
308301
308302       · ISSUE  #49275:  (dgengtek)  execution module cp.cache_file fails with
308303         error 'invalid arguments to setopt' (refs: #50080)
308304
308305       · PR #50080: (terminalmage) Ensure all string  kwargs  passed  to  Tor‐
308306         nado's httpclient are str types @ 2018-10-16 21:01:41 UTC
308307
308308         · 7092879 Merge pull request #50080 from terminalmage/issue49275
308309
308310         · 4a6c327 Ensure all string kwargs passed to Tornado's httpclient are
308311           str types
308312
308313       · ISSUE #44979: (hunkeelin) Firewalld state  cause  horrid  performance
308314         during saltrun.  (refs: #49811)
308315
308316       · PR  #49811:  (nhavens) Optimize firewalld state @ 2018-10-16 11:26:46
308317         UTC
308318
308319         · 45b6da3  Merge  pull  request  #49811  from  nhavens/optimize-fire‐
308320           walld-state
308321
308322         · 7d6e628 Merge branch '2018.3' into optimize-firewalld-state
308323
308324         · a718b0c Merge branch '2018.3' into optimize-firewalld-state
308325
308326         · f7299b9 Merge branch '2018.3' into optimize-firewalld-state
308327
308328         · f289618 Merge branch '2018.3' into optimize-firewalld-state
308329
308330         · 41af513 Merge branch '2018.3' into optimize-firewalld-state
308331
308332         · 7cebab4 Merge branch '2018.3' into optimize-firewalld-state
308333
308334         · c38bb7d Merge branch '2018.3' into optimize-firewalld-state
308335
308336         · abed058 Merge branch '2018.3' into optimize-firewalld-state
308337
308338         · 0ec1f82 Merge branch '2018.3' into optimize-firewalld-state
308339
308340         · db6b23b Merge branch '2018.3' into optimize-firewalld-state
308341
308342         · 4ca7e12 Merge branch '2018.3' into optimize-firewalld-state
308343
308344         · 4f7c914 fix invalid icmp type handling in firewalld state
308345
308346         · 2d2e2eb resolve lint error in firewalld state
308347
308348         · 081424d resolve indentation issues in updates to firewalld state
308349
308350         · c92c4fe optimize firewalld.present rich rule handling
308351
308352         · 25d1daf optimize firewalld.present source handling
308353
308354         · 5f62c14 optimize firewalld.present interface handling
308355
308356         · 69f2c6c optimize firewalld.present service handling
308357
308358         · 71ec8e7 optimize firewalld.present port forward handling
308359
308360         · f18e09e optimize firewalld.present open port handling
308361
308362         · 35193dc clean up firewalld.present masquerade code (DRY)
308363
308364         · 8c88784 optimize firewalld.present icmp block handling
308365
308366       · PR  #50055:  (rallytime)  Back-port  #50024  to  2018.3  @ 2018-10-16
308367         09:14:06 UTC
308368
308369         · PR #50024: (rwaweber) docs: Correct napalm topic  spelling  mistake
308370           and smooth out sentence (refs: #50055)
308371
308372         · b94e0a0 Merge pull request #50055 from rallytime/bp-50024
308373
308374         · 1ea72a0 docs: Correct spelling mistake and smooth out sentence
308375
308376       · PR  #50056:  (rallytime)  Back-port  #50029  to  2018.3  @ 2018-10-16
308377         09:12:59 UTC
308378
308379         · PR #50029: (thebluesnevrdie) Expose docs for Ansible modules (refs:
308380           #50056)
308381
308382         · 14f3fac Merge pull request #50056 from rallytime/bp-50029
308383
308384         · 2e46a78 Expose docs for Ansible modules
308385
308386       · PR  #50064:  (rallytime)  Back-port  #50022  to  2018.3  @ 2018-10-16
308387         09:09:47 UTC
308388
308389         · PR #50022: (bluesliverx) Make test check_pillar more lenient (refs:
308390           #50064)
308391
308392         · f3fe4b6 Merge pull request #50064 from rallytime/bp-50022
308393
308394         · 40da3ce Make test check_pillar more lenient
308395
308396       · ISSUE  #49988:  (whytewolf) currently http error logging of urls con‐
308397         tains full URL including passwords.  (refs: #50066)
308398
308399       · PR #50066:  (garethgreenaway)  [2018.3]  Redact  any  passwords  from
308400         source paths @ 2018-10-16 09:08:25 UTC
308401
308402         · c2a46ce    Merge    pull    request    #50066   from   garethgreen‐
308403           away/49988_redact_passwords_in_source
308404
308405         · 27ef1e0 Redact any passwords that are in  http/https  based  source
308406           paths.
308407
308408       · PR #50068: (garethgreenaway) [2018.3] Updating salt.utils.mac_utils @
308409         2018-10-16 09:07:10 UTC
308410
308411         · ab2cb51   Merge   pull    request    #50068    from    garethgreen‐
308412           away/1140_mac_system_tests_2018_3_failing
308413
308414         · eedeacb  Updating  another reference to salt.utils.mac_utils to use
308415           __utils__
308416
308417              · 6ef5ce4  Due  to  a  previous  PR   the   test_sdb_runner   in
308418                sdb.test_vault  was  failing  because  of a exception that was
308419                being swallowed in the test run_run function.  The  cause  was
308420                that when vault related functions were being run, if they were
308421                being run on the master then they were  being  forced  to  run
308422                through  the  _get_token_and_url_from_master() function, which
308423                is pull the id element out of the grains dictionary.  When the
308424                call was taking place from a runner, the exception was popping
308425                up since there is no id when called from a runner.   This  fix
308426                checks  to see if the id exists in the dictionary first, if it
308427                is there then _get_token_and_url_from_master() is called, oth‐
308428                erwise _use_local_config is called.
308429
308430       · PR  #49987:  (terminalmage)  Make Pillar no longer munge file_roots @
308431         2018-10-15 21:58:08 UTC
308432
308433         · 4c4bb5a Merge pull request #49987 from terminalmage/pillar_roots
308434
308435         · f59506d Update tests to reflect behavior changes
308436
308437         · 58f5fde Make Pillar no longer munge file_roots
308438
308439       · PR #50065:  (rallytime)  Back-port  #50044  to  2018.3  @  2018-10-15
308440         21:32:37 UTC
308441
308442         · PR #50044: (mchugh19) add saltclass info from release notes to docs
308443           (refs: #50065)
308444
308445         · 1e377ac Merge pull request #50065 from rallytime/bp-50044
308446
308447         · 1eaaab7 Doc title formatting must match doc name length
308448
308449         · 6ac26b6 add saltclass docs from release notes
308450
308451       · PR #50038:  (s0undt3ch)  Don't  squash  the  traceback  @  2018-10-15
308452         20:36:55 UTC
308453
308454         · 8a6b435 Merge pull request #50038 from s0undt3ch/2018.3
308455
308456         · 852257a Don't squash the traceback
308457
308458       · PR  #50054:  (rallytime)  Back-port  #50004  to  2018.3  @ 2018-10-15
308459         20:36:03 UTC
308460
308461         · PR                        #50004:                        (kiemlicz)
308462           https://github.com/saltstack/salt/issues/49883 (refs: #50054)
308463
308464         · dbfd7ee Merge pull request #50054 from rallytime/bp-50004
308465
308466         · 88e3202 https://github.com/saltstack/salt/issues/49883
308467
308468       · PR #50057: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
308469         2018-10-15 20:35:46 UTC
308470
308471         · a9e9974 Merge pull request #50057 from rallytime/merge-2018.3
308472
308473         · 1b5b018 Merge branch '2017.7' into '2018.3'
308474
308475           · 9eb17ea Merge pull request #50047 from rallytime/bp-49605
308476
308477             · e3a0f7b Add gce fix to 2017.7.9 release notes
308478
308479             · e6d86fc document GCE instance credentials configuration
308480
308481             · c3a0d1b allow empty service_account_private_key in GCE driver
308482
308483           · 6cdd390 Merge pull request #50017 from gtmanfred/iptables
308484
308485             · e552e4f Use parse_known_args when checking iptables rules
308486
308487           · a6a66b9 Merge pull request #50012 from dwoz/norm_log
308488
308489             · f96b29d Use normal log formatting and add jid
308490
308491           · 15f86b2 Merge pull request #50001 from kyentei/doc-fix-gpg
308492
308493             · 3d6ee3e Fix gpg state Documentation
308494
308495           · 7a235d7 Merge pull request #50000 from kyentei/doc-fix-lvm
308496
308497             · c2f3d87 Fix LVM state documentation
308498
308499           · 4edd094 Merge pull request #49999 from kyentei/doc-fix-proxy
308500
308501             · a180ed7 Fix proxy documentation
308502
308503           · 58d2302 Merge pull request #49998 from kyentei/doc-fix-process
308504
308505             · edd4f40 Fix documentation on process.py
308506
308507           · 411635b Merge pull request #49997 from kyentei/doc-fix-mysql
308508
308509             · 01059cc Fix documentation for mysql processlist
308510
308511       · PR #50060: (rallytime) [2018.3] Fix  some  pylint  issues  that  have
308512         popped up recently @ 2018-10-15 20:35:22 UTC
308513
308514         · f1bcb1f Merge pull request #50060 from rallytime/fix-lint
308515
308516         · a8f4f39 Merge branch '2018.3' into fix-lint
308517
308518       · ISSUE  #49927: (thetaurean) File Tree external pillar fails to render
308519         templates in python 3 (refs: #49943)
308520
308521       · PR #50052:  (rallytime)  Back-port  #49943  to  2018.3  @  2018-10-15
308522         20:06:20 UTC
308523
308524         · PR  #49943:  (thetaurean)  Coerce string  when calling compile_tem‐
308525           plate_str (refs: #50052)
308526
308527         · b26b21c Merge pull request #50052 from rallytime/bp-49943
308528
308529         · d336dec Handle non-ASCII chars during template data decode
308530
308531         · 435afb7 Adjusted import to expose stringutils namespace
308532
308533         · 958c630 Coerce string  when calling compile_template_str
308534
308535         · e73f13d [2018.3]  Fix  some  pylint  issues  that  have  popped  up
308536           recently
308537
308538       · PR  #49809:  (Ch3LL)  Add  additional  asserts  to  help  investigate
308539         test_win_pkg failure @ 2018-10-13 18:00:09 UTC
308540
308541         · fef7669 Merge pull request #49809 from Ch3LL/win_pkg_flaky
308542
308543         · f795b60 Merge pull request #7 from dwoz/win_pkg_flaky
308544
308545           · beaab2a Fix win_pkg test
308546
308547         · 75809b4 Merge pull request #6 from dwoz/win_pkg_flaky
308548
308549           · e5ea3f1 Try running fsync to avoid fs caching race condition
308550
308551         · fd5e842 Merge pull request #5 from dwoz/win_pkg_flaky
308552
308553           · c386826 Log results of cache_dir for now
308554
308555         · 2cd4058 Merge pull request #4 from dwoz/win_pkg_flaky
308556
308557           · 1005b91 Debug win_pkg
308558
308559         · 9dce5cc Fix the assertion message order
308560
308561         · 18e9a28 Add additional asserts  to  help  investigate  test_win_pkg
308562           failure
308563
308564       · PR #49983: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
308565         2018-10-11 13:27:34 UTC
308566
308567         · 8949873 Merge pull request #49983 from rallytime/merge-2018.3
308568
308569         · f8e73e8 Merge branch '2017.7' into '2018.3'
308570
308571           · a8a3811    Merge    pull    request    #49972     from     rally‐
308572             time/release-notes-2017.7.9
308573
308574             · 6c00003 Add 2017.7.9 release notes file
308575
308576           · 8de58d6 Merge pull request #49974 from rallytime/bp-49940
308577
308578             · a70358a Update mod_watch() description for all states.
308579
308580             · bf3d064  Another attempt to clean up service.mod_watch descrip‐
308581               tion.
308582
308583             · 165b799  Clean  up  documentation/language  in  service  state.
308584               (Fixes #40819)
308585
308586           · d68e5d3   Merge   pull   request   #49978   from   whytewolf/ino‐
308587             tify_doc_change
308588
308589             · b4d9523 using an exclude list that does not list every  operat‐
308590               ing  system  leaves  open the possability that it would work on
308591               those not listed
308592
308593           · 89cbbb6 Merge pull request #49934 from rallytime/fix-49925
308594
308595             · 216fd64 Remove event_publisher_pub_hwm  and  salt_event_pub_hwm
308596               from documentation
308597
308598       · PR  #49979:  (cachedout)  Update  license  date  and include NOTICE @
308599         2018-10-11 12:57:21 UTC
308600
308601         · c7d2482 Merge pull request #49979 from cachedout/license_update
308602
308603         · b4f148e Break out support and contributing docs into separate files
308604
308605         · 1dd0e34 Update license date and include NOTICE
308606
308607       · PR #49973: (rallytime) Add 2018.3.4 release notes file  @  2018-10-10
308608         17:46:04 UTC
308609
308610         · ef61fc6     Merge     pull     request     #49973    from    rally‐
308611           time/release-notes-2018.3.4
308612
308613         · 32e7d90 Add 2018.3.4 release notes file
308614
308615       · PR #49975:  (rallytime)  Back-port  #49958  to  2018.3  @  2018-10-10
308616         17:44:56 UTC
308617
308618         · PR  #49958:  (garethgreenaway)  [fluorine]  Fixes  to mac_system.py
308619           (refs: #49975)
308620
308621         · 7d8f10c Merge pull request #49975 from rallytime/bp-49958
308622
308623         · a229a50 Swap  the  call  for  mac_utils.available_services  to  use
308624           __utils__ so mac_utils.available_services has access to __context__
308625
308626       · PR   #49946:  (isbm)  osversion/osversion_info/osmajorrelease  grains
308627         fixes @ 2018-10-10 14:01:05 UTC
308628
308629         · c912d3a   Merge   pull   request   #49946   from   isbm/isbm-osver‐
308630           sion_info-fixes
308631
308632         · a17ba35 Fix proper part name in the string-bound CPE
308633
308634         · 9d49607 Expand unit test to verify part name
308635
308636         · a6b7d01 Remove linebreak
308637
308638         · 5376886 Keep CPE_NAME only for opensuse series
308639
308640         · 8af3904 Add part parsing
308641
308642         · e202b41  Prevent  possible  crash if CPE_NAME is wrongly written in
308643           the distro
308644
308645         · 712083d Add unit test for broken CPE_NAME
308646
308647         · 1306ddb Add unit test for v2.3 of CPE format
308648
308649         · 04b61d3 Add unit test for WFN format of CPE_NAME
308650
308651         · 035690f Override VERSION_ID from os-release, if CPE_NAME is given
308652
308653         · 08e235b Remove unnecessary linebreak
308654
308655         · 853e163 Add CPE_NAME parsing
308656
308657       · ISSUE #48204: (zerthimon)  State  mysql_user.present  Exception  with
308658         mysql 8.0.11 (refs: #49918)
308659
308660       · PR  #49918:  (garethgreenaway)  [2018.3]  Fixes  to  MySQL  module  @
308661         2018-10-10 14:00:11 UTC
308662
308663         · 18fb5df   Merge   pull    request    #49918    from    garethgreen‐
308664           away/48204_mysql_user_password_exception_part_deux
308665
308666         · 92c0680 Merge branch '2018.3' into 48204_mysql_user_password_excep‐
308667           tion_part_deux
308668
308669         · 71e53a3 Cleanup of debugging.
308670
308671         · dd96c13 Fixing lint.
308672
308673         · ac7da89 Tweaking a couple tests to account for new  scenarios  with
308674           later versions.
308675
308676         · 4320c43 Removing __mysql_hash_password, no longer needed.
308677
308678         · 0475acf Removing unnecessary empty line.
308679
308680         · 9265195  Updating  the  mysql  update  to handle changes in version
308681           8.0.11 where PASSWORD was removed.  Updating unit tests.
308682
308683       · PR #49961: (dmurphy18) Fix aix grains  test  for  prtconf  present  @
308684         2018-10-10 13:38:02 UTC
308685
308686         · 1c2e5be Merge pull request #49961 from dmurphy18/fix_aix_grains
308687
308688         · f38d543 Correct test for AIX grains prtconf
308689
308690       · ISSUE #49205: (ereslibre) Compound targeting includes unexpected tar‐
308691         gets in the result (refs: #49897, #49907)
308692
308693       · PR  #49907:  (brejoc)  2018.3  fix  for  list  compound  targeting  @
308694         2018-10-10 13:33:40 UTC
308695
308696         · PR  #49897:  (brejoc) 2017.7 fix for list compound targeting (refs:
308697           #49907)
308698
308699         · PR #49435: (brejoc) No  longer  passes  missing  in  list  compound
308700           engine (refs: #49897, #49907)
308701
308702         · e427306     Merge     pull     request     #49907     from     bre‐
308703           joc/2018.3-fix-for-list-compound-targeting
308704
308705         · 1bcadb9  Merge  branch   '2018.3'   into   2018.3-fix-for-list-com‐
308706           pound-targeting
308707
308708         · 649c46c  Adds  check for engine before adding the additional engine
308709           argument
308710
308711         · 7d0b20c Minor fix for def test_batch_run_grains_targeting
308712
308713         · 0d64716 Ignore missing minions only when excluding them with 'not'
308714
308715         · 6a5f3cd No longer passes missing in list compound engine
308716
308717       · ISSUE #48599: (angeloudy) module ldap3 'TypeError: ('expected a  byte
308718         string in the list'' (refs: #48666)
308719
308720       · PR  #49947:  (rallytime)  Back-port  #48666  to  2018.3  @ 2018-10-09
308721         17:48:20 UTC
308722
308723         · PR #48666: (angeloudy) values need to be bytes when writing back to
308724           ldap (refs: #49947)
308725
308726         · 143c723 Merge pull request #49947 from rallytime/bp-48666
308727
308728         · 5166917 Update ldap3.py
308729
308730         · 05e55bd values need to be bytes when writing to ldap
308731
308732         · 0d749e6 values need to be bytes when writing back to ldap
308733
308734       · PR #49948: (rallytime) Skip pillar refresh test @ 2018-10-09 15:20:52
308735         UTC
308736
308737         · dbf994e Merge pull request #49948 from rallytime/skip-flaky-test
308738
308739         · df11c39 Skip pillar refresh test
308740
308741       · PR  #49938:  (s0undt3ch)  Handle  missing  pkg_resources  package   @
308742         2018-10-09 13:41:09 UTC
308743
308744         · 614d172 Merge pull request #49938 from s0undt3ch/2018.3
308745
308746         · b1c2928 Handle missing pkg_resources package
308747
308748       · PR #49942: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
308749         2018-10-09 13:38:04 UTC
308750
308751         · bce12c3 Merge pull request #49942 from rallytime/merge-2018.3
308752
308753         · 91534ee Merge branch '2017.7' into '2018.3'
308754
308755           · 327796e Merge pull request #49911 from dubb-b/slack-pr
308756
308757             · 57e630c Adding failure messages for PR.
308758
308759           · cf1df79 Merge pull request #49900 from dwoz/presence_wart
308760
308761             · 7bd34f6 Connect before processing presence
308762
308763           · 8c4707d Merge pull request #49899 from twangboy/fix_49892
308764
308765             · a66765f Remove arrInstalled artifact
308766
308767       · PR #49930: (isbm) Get os_family for RPM distros from the RPM macros @
308768         2018-10-09 13:31:52 UTC
308769
308770         · a30c053 Merge pull request #49930 from isbm/isbm-osarch-bugfix
308771
308772         · f8a75f1 Fix imports
308773
308774         · 70d3de0 Strip and stringify the return for the osarch
308775
308776         · a248371 Get os_family for RPM distros from the RPM macros.
308777
308778       · PR #49868: (dwoz) windows shell tests @ 2018-10-08 17:32:20 UTC
308779
308780         · 99c5dba Merge pull request #49868 from dwoz/shelltests
308781
308782         · 9997f45 Merge branch '2018.3' into shelltests
308783
308784       · PR  #49875:  (dwoz)  Add  spm  tests  to  Windows  suite @ 2018-10-05
308785         18:13:07 UTC
308786
308787         · eee82d3 Merge pull request #49875 from dwoz/win_spm_tests
308788
308789         · e76a751 Use os.path.split for more consistancy
308790
308791         · bc54d15 Fix wart in spm on windows
308792
308793         · df5e271 Add spm tests for windows
308794
308795       · PR #49872: (twangboy) Fix issues with windows file  permissions  when
308796         using reset=True @ 2018-10-05 13:52:07 UTC
308797
308798         · c0e2404 Merge pull request #49872 from twangboy/fix_49861
308799
308800         · 01bd847 Gate the win_function a little better
308801
308802         · bcdb366 Skip on non-windows systems
308803
308804         · 02f6335 Fix some lint
308805
308806         · 8ecbe0e Add tests for check_perms
308807
308808         · d6e7512 Fix issues with file permissions
308809
308810       · ISSUE  #49582:  (UtahDave) lgpo doesn't seem to allow for unsetting a
308811         gpo setting (refs: #49902)
308812
308813       · ISSUE #48661: (mike2523) win_lgpo: User  Rights  Assignment  policies
308814         (refs: #49902)
308815
308816       · PR #49902: (lomeroe) lgpo better comments on user right assignments @
308817         2018-10-05 13:41:16 UTC
308818
308819         · d3a909f Merge pull request #49902 from lomeroe/issue48661_2018.3
308820
308821         · 760d8f4 Merge branch '2018.3' into issue48661_2018.3
308822
308823         · f72ca81 add comments on user right assignment  policies  when  they
308824           are  already  set  and note if cumulative_rights_assignment is True
308825           that the particular user is already granted the right
308826
308827              · 75dd5ab Merge branch '2018.3' into shelltests
308828
308829       · PR #49896: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
308830         2018-10-04 21:00:24 UTC
308831
308832         · 4eb43af Merge pull request #49896 from rallytime/merge-2018.3
308833
308834         · 41c8b31 Merge branch '2017.7' into '2018.3'
308835
308836         · b959033 Merge pull request #49739 from twangboy/fix_49660
308837
308838           · f3400ad Merge branch '2017.7' into fix_49660
308839
308840           · 0a4f5fc Merge branch '2017.7' into fix_49660
308841
308842           · 1f9bbc8 Populate changes dictionary
308843
308844         · 71669bd Merge pull request #49885 from dwoz/gemfile
308845
308846           · 791e3ff Use dwoz/winrm-fs for chunked downloads
308847
308848           · f3999e1 Move vagrant to it's own group
308849
308850         · 0662e37 Merge pull request #49870 from KaiSforza/ci_actually_fail
308851
308852           · 9ef9206 Actually catch the exception when we fail
308853
308854                · 19072f0 Use os.path.split for more consistancy
308855
308856                · 6c22459  Merge  remote-tracking  branch  'origin/shelltests'
308857                  into shelltests
308858
308859                  · 43b292f Merge branch '2018.3' into shelltests
308860
308861                  · 876c040 Fix wart in test_cp module
308862
308863                  · 9e6ff11 Add syndic tests to whitelist.txt for Windows
308864
308865                  · 9cab293 Fix wart in spm on windows
308866
308867                  · 58e9d1b Add spm tests to whitelist.txt for Windows
308868
308869                  · 7393610 Add more shell integration tests to whitelist
308870
308871                  · ce85d60 Add shell.test_key to whitelist and fix wart
308872
308873                  · 6fbadd7 Skip tests not valid on windows
308874
308875                  · 9debf29 Add shell cp tests and fix them
308876
308877                · 8bfa634 Fix warts in integration.shell.test_matcher
308878
308879                · 45d2142 Fix wart in test_cp module
308880
308881                · 0e4fbc5 Add syndic tests to whitelist.txt for Windows
308882
308883                · f72ad01 Fix wart in spm on windows
308884
308885                · 4141cc8 Add spm tests to whitelist.txt for Windows
308886
308887                · 02ad722 Add more shell integration tests to whitelist
308888
308889                · 48275c0 Add shell.test_key to whitelist and fix wart
308890
308891                · e5edff4 Skip tests not valid on windows
308892
308893                · a389729 Add shell cp tests and fix them
308894
308895       · ISSUE #49744: (MTecknology) Group state cannot force empty group mem‐
308896         bership (refs: #49745)
308897
308898       · PR  #49745:  (MTecknology)  Remove  all users from group when members
308899         list is empty.  @ 2018-10-03 13:48:40 UTC
308900
308901         · 85478cd Merge pull request #49745 from MTecknology/fix-49744
308902
308903         · 61afb5d Merge branch '2018.3' into fix-49744
308904
308905         · 269bde2 Merge branch '2018.3' into fix-49744
308906
308907         · 0b5d916 Modify if structure, as requested.
308908
308909         · f57ce67 Remove all users from group when  members  list  is  empty.
308910           (Fixes #49744)
308911
308912       · PR #49867: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
308913         2018-10-03 13:23:35 UTC
308914
308915         · 05cd56b Merge pull request #49867 from rallytime/merge-2018.3
308916
308917         · b53c3e6 Update old utils paths to use new utils paths
308918
308919         · a65c60d Merge branch '2017.7' into '2018.3'
308920
308921           · 7fa2043 Merge pull  request  #49858  from  Paulo-Nunes/fix-requi‐
308922             site-doc
308923
308924             · fb6f818 Edit requisite documentation
308925
308926           · 0587fbc Merge pull request #49828 from dwoz/testslogencoding
308927
308928             · 2b323df Merge branch '2017.7' into testslogencoding
308929
308930             · 7ce1b64 Use utf-8 encoding for salt-runtests.log
308931
308932           · 15ccffd  Merge  pull  request  #49848  from terminalmage/fix-ver‐
308933             sion-rst-2017.7
308934
308935             · af2dddb Fix badly formatted versionadded directive
308936
308937           · 297031b Merge pull request #49777 from terminalmage/issue49738
308938
308939             · 8a9945e Update test docstring to reflect switch to using SHA1
308940
308941             · 7ddfd72 Switch from base64 encoding to sha1 digest  for  unique
308942               cache filename
308943
308944             · 0e26dc6 Explicitly import salt.utils.hashutils
308945
308946             · dca90d7  Skip  parallel states test on Windows until we can get
308947               it to work
308948
308949             · 5a11067 Add additional info to  the  assert  to  aid  in  trou‐
308950               bleshooting
308951
308952             · cb19086 Remove/replace unnecessary setUp/tearDown
308953
308954             · b3e9678 Fix parallel states with long ID dec or name
308955
308956           · 98c9372 Merge pull request #49763 from twangboy/fix_49730
308957
308958             · 99bc8f1 Merge branch '2017.7' into fix_49730
308959
308960             · 7a9278b Fix broken tests, add new tests
308961
308962             · 2cd1509 Merge branch '2017.7' into fix_49730
308963
308964             · defba1c Merge branch '2017.7' into fix_49730
308965
308966             · af1ed1c Add/fix tests
308967
308968             · 5005a4d Only clear dns entries if you pass []
308969
308970             · 048561e Add ability to clear DNS entries on static DNS
308971
308972       · PR  #49876:  (KaiSforza)  Actually catch the exception when we fail @
308973         2018-10-03 12:26:58 UTC
308974
308975         · 42b540b  Merge  pull   request   #49876   from   KaiSforza/ci_actu‐
308976           ally_fail_2018
308977
308978         · c88a81d Actually catch the exception when we fail
308979
308980       · PR  #49852: (terminalmage) Rename logstash engine filename to make it
308981         work with the loader @ 2018-10-02 17:42:10 UTC
308982
308983         · 1c8def9 Merge pull request #49852 from terminalmage/issue49627
308984
308985         · 559cf1b Rename logstash engine filename to make it  work  with  the
308986           loader
308987
308988       · PR  #49850:  (rallytime)  Back-port  #49798  to  2018.3  @ 2018-10-02
308989         17:40:29 UTC
308990
308991         · PR #49798: (mattp-) saltnado: teach runner about full_return (refs:
308992           #49850)
308993
308994         · 675df25 Merge pull request #49850 from rallytime/bp-49798
308995
308996         · 4b6dcd7 saltnado: teach runner about full_return
308997
308998       · ISSUE #49204: (mchugh19) file.directory state fails if directory con‐
308999         tains an invalid symlink (refs: #49209, #49827)
309000
309001       · PR #49846: (rallytime)  Back-port  #49650  and  #49827  to  2018.3  @
309002         2018-10-01 20:05:24 UTC
309003
309004         · PR  #49827:  (dgmorrisjr) fixing mis-spelling of lattrs in file.py,
309005           referncing #49204  (refs: #49846)
309006
309007         · PR #49650: (Yxnt) fix aliyun cloud typeerror (refs: #49846)
309008
309009         · 93d064a Merge pull request #49846 from rallytime/bp-49650
309010
309011         · fb7fed7 referncing #49204, fixing mis-spelling of  lattrs  on  line
309012           4514 per request from @gtmanfred
309013
309014         · ec9fa92 use stringutils instead of hard code
309015
309016         · a307ae0 fix aliyun cloud typeerror
309017
309018       · ISSUE  #49520:  (doesitblend) Multi-master DNS Issue - minion connect
309019         fail (refs: #49764)
309020
309021       · PR #49764: (garethgreenaway) [2018.3] Adding retry_dns_count to  min‐
309022         ion @ 2018-10-01 14:20:03 UTC
309023
309024         · ec97806 Merge pull request #49764 from garethgreenaway/49520_multi‐
309025           master_dns_issue_fix
309026
309027         · 30ccc5e Merge branch '2018.3' into 49520_multimaster_dns_issue_fix
309028
309029         · 741928b Fixes per request from @rallytime.
309030
309031         · 04c5983  Moving  the  check  for  an  empty  self.minions  into   a
309032           io_loop.call_later call.
309033
309034         · 44ee2ec Updating default for retry_dns_count
309035
309036         · 75f64a6 Removing unneccesary code.
309037
309038         · e66dc18 Updating the resolve_dns function in minion.py to include a
309039           new  minion  configuration  option  which  will  control  how  many
309040           attempts  will  be  made  when  the master hostname is unable to be
309041           resolved before giving up.
309042
309043       · PR #49847: (terminalmage) Fix badly formatted versionadded  directive
309044         (2018.3 branch) @ 2018-10-01 14:04:27 UTC
309045
309046         · abdab68   Merge  pull  request  #49847  from  terminalmage/fix-ver‐
309047           sion-rst-2018.3
309048
309049         · a127548 Fix badly formatted versionadded directive
309050
309051       · ISSUE #49043: (awerner)  Unicode  broken  with  file.blockreplace  on
309052         Python2 (refs: #49782)
309053
309054       · PR #49782: (dwoz) Fix issue 49043 @ 2018-10-01 13:43:02 UTC
309055
309056         · aca87ab Merge pull request #49782 from dwoz/issue-49043
309057
309058         · b7d904f Merge branch '2018.3' into issue-49043
309059
309060         · ed35633 Revert diff newline change
309061
309062         · 2a901e9 Fix issue 49043
309063
309064       · ISSUE  #49671:  (mchugh19)  Vault  execution  module broken in pillar
309065         lookups (refs: #49820)
309066
309067       · PR #49820: (garethgreenaway) [2018.3] Fixing vault  when  being  used
309068         from Pillar @ 2018-10-01 13:40:25 UTC
309069
309070         · 1a41d1b  Merge  pull request #49820 from garethgreenaway/49671_fix‐
309071           ing_vault_pillar
309072
309073         · a57872f Merge branch '2018.3' into 49671_fixing_vault_pillar
309074
309075         · 5f13219 Merge branch '2018.3' into 49671_fixing_vault_pillar
309076
309077         · b0ba2ec Fixing the scenario when vault values are used  in  Pillar,
309078           but due to a previous change the minion was not being granted token
309079           based access.
309080
309081       · PR #49842: (rallytime) [2018.3] Merge forward from 2018.3.3 to 2018.3
309082         @ 2018-10-01 13:21:42 UTC
309083
309084         · bf9c175 Merge pull request #49842 from rallytime/merge-2018.3
309085
309086         · 81b0aa7  Add  "in  progress"  notation back to the 2018.3.3 release
309087           notes
309088
309089         · 0e76103 Merge branch '2018.3.3' into '2018.3'
309090
309091       · PR #49839: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309092         2018-09-30 16:32:53 UTC
309093
309094         · e6382cb Merge pull request #49839 from rallytime/merge-2018.3
309095
309096         · 179e4b1 Merge branch '2017.7' into '2018.3'
309097
309098         · fd46d35 Merge pull request #49823 from dubb-b/timeout_addition
309099
309100           · b25ac9f Adding some changes for the status
309101
309102           · f6d9679 Updating syntax to be better and with new lines
309103
309104           · 855ffe6 Adding timeout to all pipelines so that the build aborts
309105
309106       · PR  #49815: (isbm) Bugfix/rework: IPv6 scope errors (bp) @ 2018-09-28
309107         19:44:59 UTC
309108
309109         · fccc08c      Merge       pull       request       #49815       from
309110           isbm/isbm-ipv6-scope-errors-2018.3
309111
309112         · c14f26f Reverse skipping tests: if no ipaddress
309113
309114         · bb37ba0 Add IPv6 scoped test
309115
309116         · facb34a Add additional check
309117
309118         · 615b09a Lintfix: W0611
309119
309120         · 3ce265e  Remove unnecessary manipulation with IPv6 scope outside of
309121           the IPv6Address object instance
309122
309123         · c314e1c Revert method remapping with pylint updates
309124
309125         · 0a86112 Lintfix refactor: remove duplicate returns as not needed
309126
309127         · 5932a0d Lintfix
309128
309129         · f52ea0b Add Py3.4 old implementation's fix
309130
309131         · 1c02a31 Fix wrong type swap
309132
309133         · 54233ca Do not use introspection for method swap
309134
309135         · 12038ea Simplify checking clause
309136
309137         · 7f2208b Fix py2 case where the same class cannot initialise  itself
309138           on Python2 via super.
309139
309140         · cefb16b  Add  extra  detection  for  hexadecimal  packed  bytes  on
309141           Python2. This cannot be  detected  with  type  comparison,  because
309142           bytes  == str and at the same time bytes != str if compatibility is
309143           not around
309144
309145         · 379ead4 Lintfix: mute not called constructors
309146
309147         · 66ec29c Add scope on str
309148
309149         · f5644bf Add logging to the ip_interface
309150
309151         · 8bb5438 Add real exception message
309152
309153         · 693e4d4 Move docstrings to their native places
309154
309155         · 77f1c44 Remove duplicated code
309156
309157         · 40d0e6b Use ternary operator instead
309158
309159         · d05999e Remove multiple returns
309160
309161         · 3fde850 Remove unnecessary operator
309162
309163         · deb0b4e Remove duplicated code
309164
309165         · 8e62633 Remove unnecessary variable for import detection
309166
309167         · 7a6ea3b Remove multiple returns and add check for address syntax
309168
309169         · b40e1e1 Add debugging to the ip_address method (py2 and py3)
309170
309171         · cab5f62 Add logging
309172
309173         · eeab9f2 Isolate Py2 and Py3 mode
309174
309175         · 49b32b7 Check version via object
309176
309177         · 1ae94f1 Override standard IPv6Address class
309178
309179         · 5e970ea Fix unicode imports in compat
309180
309181         · bbeec4d Fix ipaddress import
309182
309183         · 561c99e Remove unused import
309184
309185         · 0498e94 Fix ipaddress imports
309186
309187         · b4f1a72 Add missing docstrings
309188
309189       · PR #49784: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309190         2018-09-28 17:29:30 UTC
309191
309192         · 804d52c Merge pull request #49784 from rallytime/merge-2018.3
309193
309194         · c6b9d18 Merge branch '2018.3' into merge-2018.3
309195
309196         · 26461f9 Add helper import comments
309197
309198         · 22f055c Merge branch '2017.7' into '2018.3'
309199
309200           · d2a193b Merge pull request #49792 from KaiSforza/fixscriptedpipes
309201
309202             · 5b16996 Fix the new pipelines
309203
309204         · dd27d80 Merge branch '2017.7' into '2018.3'
309205
309206           · 8a71a43  Merge  pull request #49774 from KaiSforza/declarativeTo‐
309207             Scripted
309208
309209             · cae88f2 Move all pipelines to be fully scripted
309210
309211           · 8fe8aac Merge pull request #49736 from mattLLVW/fix-file-touch
309212
309213             · 1da9f34 Fix test opts in append, prepend states/file.py
309214
309215       · PR #49790: (weswhet) fixing an issue where sentry logger  would  fail
309216         to get tags from grain… @ 2018-09-28 13:39:04 UTC
309217
309218         · d191b08  Merge  pull request #49790 from weswhet/fixing-sentry-log‐
309219           ger-2018.3
309220
309221         · 201697d fixing an issue where sentry logger would fail to get  tags
309222           from grains and some other lint fixes for this file
309223
309224       · ISSUE  #49626:  (PabloLemos)  target  grains  ip_interface  no return
309225         received (refs: #49791)
309226
309227       · PR #49791: (terminalmage) Fix 3 bugs in subdict matching @ 2018-09-28
309228         13:38:34 UTC
309229
309230         · 4d9fc7c Merge pull request #49791 from terminalmage/issue49626
309231
309232         · 6795472 Add clarifying comment
309233
309234         · ac0f800 Fix 3 bugs in subdict matching
309235
309236       · PR  #49806:  (isbm)  Bugfix:  zypper ZYPPER_EXIT_NO_REPOS exit code @
309237         2018-09-28 13:20:36 UTC
309238
309239         · 52b0472   Merge   pull   request   #49806    from    isbm/isbm-zyp‐
309240           per-errcode-6-bp
309241
309242         · 756ef77 Update error list for zypper
309243
309244         · 5b02548 Add error logging
309245
309246       · ISSUE  saltstack/salt-jenkins#1121:  (rallytime)  [2018.3]  4 related
309247         tests failing on 2018.3 Python 3 (refs: #49795)
309248
309249       · PR  #49795:  (gtmanfred)  fix  test_managed_file_with_grains_data   @
309250         2018-09-26 22:48:36 UTC
309251
309252         · fee6701 Merge pull request #49795 from gtmanfred/tests
309253
309254         · cf5c179 fix test_managed_file_with_grains_data
309255
309256       · PR  #49786:  (rallytime)  Back-port  #49759  to  2018.3  @ 2018-09-26
309257         18:22:01 UTC
309258
309259         · PR #49759: (mattp-) runners.state.orch:  generate  jid  if  missing
309260           (refs: #49786)
309261
309262         · 04e5869 Merge pull request #49786 from rallytime/bp-49759
309263
309264         · df3791c state.orch: generate jid if missing
309265
309266       · PR #49770: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309267         2018-09-25 19:03:25 UTC
309268
309269         · 4138683 Merge pull request #49770 from rallytime/merge-2018.3
309270
309271         · d9ed59b Merge branch '2017.7' into '2018.3'
309272
309273         · f664515 Merge pull request #49760 from Ch3LL/raid_docs
309274
309275           · 0eb90c1 Add mdadm as dependency in mdadm state docs
309276
309277         · d5a75bf Merge pull request #49749 from erwindon/docufix
309278
309279           · baee678 fixed link in documentation
309280
309281         · 5ef2def Merge pull request #49703 from twangboy/fix_49675_2017.7
309282
309283           · 9127222 Merge branch '2017.7' into fix_49675_2017.7
309284
309285           · 4f54422 Fix reboot needed detection
309286
309287         · b5726d2 Merge pull request #49718  from  vutny/doc/2017.7/add-miss‐
309288           ing-mock-kwarg
309289
309290           · 3e19176 [DOC] Add missing mock argument for state.apply
309291
309292       · PR   #49757:  (bbinet)  Fix  influxdb_user  state  when  test=True  @
309293         2018-09-24 19:14:22 UTC
309294
309295         · db6f68a     Merge     pull     request     #49757     from     bbi‐
309296           net/fix-influxdb_user-test
309297
309298         · 0d9ef4b Fix influxdb_user state when test=True
309299
309300       · PR  #49679:  (dwoz) Add more tests to whitelist @ 2018-09-22 17:46:50
309301         UTC
309302
309303         · ec2386e Merge pull request #49679 from dwoz/whitelist
309304
309305         · 0a3d95f Fix linter issues
309306
309307         · 4c457c9 Close handles only if they exist
309308
309309         · a44b37a  Merge  remote-tracking  branch   'saltstack/2018.3'   into
309310           whitelist
309311
309312       · PR  #49722:  (meaksh)  Fixes  some  issues  on  the  Zypper  module @
309313         2018-09-21 13:38:03 UTC
309314
309315         · 6a3e127  Merge  pull  request  #49722  from  meaksh/2018.3-fix-zyp‐
309316           per-issue-on-python3
309317
309318         · bb9cb6e Fix wrong queryformat for zypper list_provides
309319
309320         · d40c034 Fix index error when running on Python 3
309321
309322       · PR  #49720:  (cstarke) Seperate prlctl and prlsrvctl checks into each
309323         requiring function @ 2018-09-21 13:32:46 UTC
309324
309325         · e7bbb83 Merge pull request #49720 from cstarke/2018.3
309326
309327         · b0be6aa Add documentation for prlctl and prlsrvctl binary  require‐
309328           ment
309329
309330         · 4f8476b Fix tests; add test for CommandExecutionError
309331
309332         · 3c96dd2 Fix tests for parallels module
309333
309334         · 9034c4e Add import for CommandExecutionError
309335
309336         · 752b6f8  Seperate  prlctl  and prlsrvctl checks into each requiring
309337           function
309338
309339       · PR #49615: (terminalmage) ping_interval: use service.restart  instead
309340         of signaling @ 2018-09-21 13:26:41 UTC
309341
309342         · f745e43 Merge pull request #49615 from terminalmage/ping-interval
309343
309344         · b49b018 Move service name logic to a separate function
309345
309346         · 2fddba3 ping_interval: use service.restart instead of signaling
309347
309348       · PR  #49731:  (terminalmage)  Add warning about using jinja filters to
309349         dump dicts in Jinja @ 2018-09-21 13:16:04 UTC
309350
309351         · 0a530d2 Merge  pull  request  #49731  from  terminalmage/jinja-fil‐
309352           ter-warning
309353
309354         · 8393560  Add  warning  about  using  jinja filters to dump dicts in
309355           Jinja
309356
309357       · PR #49696: (jgleissner) loosen azure  sdk  dependencies  in  azurearm
309358         cloud driver @ 2018-09-20 19:17:15 UTC
309359
309360         · 91acb82     Merge     pull    request    #49696    from    jgleiss‐
309361           ner/2018.3-azurearm-deps
309362
309363         · 467e017 remove unused import from azurearm driver
309364
309365         · bad28b6 loosen azure sdk dependencies in azurearm cloud driver
309366
309367       · PR #49684: (twangboy) Detect when system needs  reboot  after  domain
309368         join @ 2018-09-20 16:17:50 UTC
309369
309370         · d434e36 Merge pull request #49684 from twangboy/fix_49675
309371
309372         · 3600467 Fix some try/except blocks, mark a lazy test
309373
309374         · 871c11a Fix other functions in the same manner
309375
309376         · 1b5bc66 Merge branch '2018.3' into fix_49675
309377
309378         · 95e6f54 Detect when system needs reboot after domain join
309379
309380              · 9048970 Add some debug info to assert
309381
309382              · 536fce6 Increase function timeout
309383
309384              · ed4de63 Fix file serialize test
309385
309386              · 5ac3738  Merge  remote-tracking branch 'saltstack/2018.3' into
309387                whitelist
309388
309389       · PR #49710: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309390         2018-09-19 18:05:50 UTC
309391
309392         · 936cae5 Merge pull request #49710 from rallytime/merge-2018.3
309393
309394         · d19c67f Merge branch '2017.7' into '2018.3'
309395
309396         · 6bd85b5    Merge    pull    request    #49706   from   garethgreen‐
309397           away/1120_remove_mock_os_path_join
309398
309399           · f4ccc75 Removing mocking of os.path.join from two tests,  one  of
309400             which was failing when used with coverage argument.  No reason we
309401             should be mocking os.path.join.
309402
309403         · c38dc61 Merge pull request #49692 from rallytime/bp-49688
309404
309405           · fde7575 Order the runtests suites
309406
309407                · 1f60753 Do not use close_fds on Windows OS
309408
309409                · 4a54c7c Fix file serialize test
309410
309411                · 0ec1e1e Increase timeout on flaky test
309412
309413                · 6ae924b Skip test that is not applicable on windows
309414
309415                · 5980200 Increase timeout on flaky test
309416
309417                · 1757edd Increase ModuleTest.run_function timeout
309418
309419                · 7c7353c Add more tests to whitelist
309420
309421       · PR #49708:  (rallytime)  Back-port  #49555  to  2018.3  @  2018-09-19
309422         13:12:12 UTC
309423
309424         · PR  #49555:  (bergmannf) Change StringIO and BytesIO imports (refs:
309425           #49708)
309426
309427         · b082f79 Merge pull request #49708 from rallytime/bp-49555
309428
309429         · ed25416 Change StringIO import in python2 to import the class.
309430
309431       · PR #49707:  (rallytime)  Back-port  #49702  to  2018.3  @  2018-09-19
309432         13:09:10 UTC
309433
309434         · PR  #49702: (rallytime) Mark orchestration test as expensive (refs:
309435           #49707)
309436
309437         · 0e97d9e Merge pull request #49707 from rallytime/bp-49702
309438
309439         · 7ff24e5 Mark orchestration test as expensive
309440
309441       · PR #49693: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309442         2018-09-18 20:05:28 UTC
309443
309444         · 0c4005d Merge pull request #49693 from rallytime/merge-2018.3
309445
309446         · b39dacf Merge branch '2017.7' into '2018.3'
309447
309448         · 37cbd27 Merge pull request #49685 from rallytime/pillar-headings
309449
309450           · 02b2d54  Split  intro  docs  for  cmd_yamlex  pillar into shorter
309451             lines.
309452
309453           · c4cbe5b Fix heading line-lengths
309454
309455         · 9bad295 Merge pull request #49689 from terminalmage/2017.7-docs
309456
309457           · 7e5bab7 Fix docs build errors (2017.7 branch)
309458
309459       · PR #49674: (rallytime) [2018.3] Merge forward from 2018.3.3 to 2018.3
309460         @ 2018-09-18 13:37:00 UTC
309461
309462         · a12176d Merge pull request #49674 from rallytime/merge-2018.3
309463
309464         · 7bcb809 Merge pull request #31 from dwoz/merge-2018.3
309465
309466           · cb35ebb Account for filename changes
309467
309468         · f3b122f Merge branch '2018.3.3' into '2018.3'
309469
309470       · PR  #49593:  (dwoz)  Add  more  tests  to  whitelist  for  Windows  @
309471         2018-09-17 14:57:44 UTC
309472
309473         · e636dac Merge pull request #49593 from dwoz/add_whitelist
309474
309475         · 2e1bf13 Merge branch '2018.3' into add_whitelist
309476
309477         · 2340a58 Fix runner returns test on Windows
309478
309479         · f908cde Merge branch '2018.3' into add_whitelist
309480
309481         · be5fccf Fix linter - blank lines
309482
309483         · e51b0f8 Fix binary file manage test
309484
309485         · 9e3b44d Fix linter issues
309486
309487         · ca1b05e Fix multiple issues in x509 module and state
309488
309489         · e603e7a Fix encoding issues in file and x509 states
309490
309491         · 7f93c7f Fix map file loading on windows
309492
309493         · 2959da0 Add some runners test files to whitelist
309494
309495         · bee2902 Make windows file remove return like others
309496
309497         · 5770b05 Fix hitelist file order
309498
309499         · 10ec8be Fix linter issues
309500
309501         · ccbcb55 Add more tests to whitelist for Windows
309502
309503       · PR #49639:  (isbm)  Retire  MD5  checksum  for  pkg  mgmt  plugins  @
309504         2018-09-17 14:51:54 UTC
309505
309506         · 7823839 Merge pull request #49639 from isbm/isbm-yumnotify-md5
309507
309508         · 11a94ca Remove an empty line
309509
309510         · adb8324 Use SHA256 algorithm for zyppnotify plugin
309511
309512         · 27001cf Use SHA256 algorithm for yumnotify plugin
309513
309514       · PR #49652: (rallytime) [2018.3] Merge forwrad from 2018.3.3 to 2018.3
309515         @ 2018-09-14 21:20:39 UTC
309516
309517         · aecbe12 Merge pull request #49652 from rallytime/merge-2018.3
309518
309519         · a8a3820 Merge branch '2018.3.3' into '2018.3'
309520
309521       · PR #49646: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309522         2018-09-14 13:30:22 UTC
309523
309524         · 530e281 Merge pull request #49646 from rallytime/merge-2018.3
309525
309526         · 186f57e Merge branch '2017.7' into '2018.3'
309527
309528         · 3c8ec8a Merge pull request #49644 from rallytime/mark-flaky-test
309529
309530           · be8a187 Mark grains test as flaky
309531
309532         · 8ac66f1 Merge pull request #49643 from rallytime/bp-49642
309533
309534           · accef8c Skip some unreliable tests
309535
309536         · 7a75d5e Merge pull request #49597 from rallytime/bp-47232
309537
309538           · c477b70 Fixed usage of ipaddress
309539
309540         · 2f6cdd9 Merge pull request #49614 from rallytime/bp-49546
309541
309542           · 0f3881a Skip flaky test on Python 3
309543
309544       · PR  #49642:  (rallytime)  Skip some unreliable tests (refs: #49643) @
309545         2018-09-13 18:24:43 UTC
309546
309547         · bb1dcdf Merge pull request #49642 from rallytime/flaky-tests
309548
309549         · 8e74d1c Skip some unreliable tests
309550
309551       · PR #49629: (rallytime) [2018.3] Merge forward from 2018.3.3 to 2018.3
309552         @ 2018-09-13 14:00:08 UTC
309553
309554         · e319ecc Merge pull request #49629 from rallytime/merge-2018.3
309555
309556         · b628ad7 Merge branch '2018.3.3' into '2018.3'
309557
309558       · PR     #49632:    (garethgreenaway)    [2018.3]    Fixing    integra‐
309559         tion.states.test_file.FileTest.test_directory_max_depth @  2018-09-13
309560         13:51:56 UTC
309561
309562         · 93d43fa Merge pull request #49632 from garethgreenaway/fixing_fail‐
309563           ing_test_python_3_7
309564
309565         · 588f744 Fixing failing test under python 3.7 causaed by changes  to
309566           how os.makedirs sets initial permissions.
309567
309568       · PR  #49580:  (garethgreenaway) [2018.3] Fixing tests for Python 3.7 @
309569         2018-09-12 16:33:35 UTC
309570
309571         · 7042fc0 Merge pull request #49580 from garethgreenaway/fixing_fail‐
309572           ing_test_python_3_7
309573
309574         · b6afdae Fixing lint.
309575
309576         · d2fb68c Fixes various tests that were failing under python 3.7.
309577
309578       · PR #49606: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309579         2018-09-12 14:26:33 UTC
309580
309581         · ab19082 Merge pull request #49606 from rallytime/merge-2018.3
309582
309583         · c168268 Update old utils paths to use new paths
309584
309585         · 19598d8 Merge branch '2017.7' into '2018.3'
309586
309587           · aa560c5 Merge pull request #49595 from rallytime/merge-2017.7
309588
309589             · 09247a3 Merge branch '2017.7.8' into '2017.7'
309590
309591               · 4d865b4 Merge pull request #49560 from rallytime/pkgng-fix
309592
309593                 · f3e1534 [2017.7.8] Use correct path for is_true function
309594
309595               · 92369f0   Merge   pull    request    #49541    from    twang‐
309596                 boy/fix_osx_build_2
309597
309598                 · 750d3fa Remove trusted host switches
309599
309600               · 397296f    Merge    pull    request    #49539   from   twang‐
309601                 boy/fix_osx_build_2
309602
309603                 · 6b42e73 Fix issues with build script on OSX
309604
309605           · e8171de   Merge    pull    request    #49596    from    terminal‐
309606             mage/kill-bare-excepts-with-fire
309607
309608             · 729dc08 Kill bare excepts with fire
309609
309610           · 63b6643 Merge pull request #49578 from twangboy/fix_49566
309611
309612             · 6a5a69c Merge branch '2017.7' into fix_49566
309613
309614           · f9a01b7    Merge    pull    request    #49584    from   terminal‐
309615             mage/squelch-varstack-error
309616
309617             · c79a823 Squelch error logging when varstack is not installed
309618
309619           · d4d2b36 Merge pull request #49579 from dwoz/flaky_test
309620
309621             · dbe40df Increase timeout for flaky git test
309622
309623           · 5cbe60b Merge pull request #49570 from rallytime/doc-fixes
309624
309625             · de80bda Fix docstring + import order, move  pylint  disable  to
309626               own line
309627
309628             · 393bc0f Fix doc build errors in saltnado documentation
309629
309630               · 6105ebb Use setup.py clean --all
309631
309632       · PR  #49620:  (dwoz)  Adding  passing  windows  nacl  runner  tests to
309633         whitelist @ 2018-09-12 14:19:11 UTC
309634
309635         · 0ce91d6 Merge pull request #49620 from dwoz/nacltest
309636
309637         · 51500ac Adding passing windows nacl runner tests to whitelist
309638
309639       · PR  #49532:  (meaksh)   Fix   wrong   'recurse'   behavior   on   for
309640         linux_acl.present/absent states @ 2018-09-12 14:16:15 UTC
309641
309642         · c1f97c4       Merge       pull       request       #49532      from
309643           meaksh/2018.3-fix-linux_acl-recursive-problems
309644
309645         · cf27069 Fix some pylint issues
309646
309647         · a0ed59d Fix recursive cases on linux_acl.absent state
309648
309649         · 4a01849 Add unit tests to cover recursive cases of linux_acl states
309650
309651         · f739b6f Fix typo on variable name
309652
309653         · dc6d1d7 Fix wrong recurse behavior on for linux_acl.present state
309654
309655       · ISSUE #49027: (lachlanmunro) x509.certificate_managed certificate  is
309656         mangled on process under py3 m2crypto (refs: #49561)
309657
309658       · ISSUE  #49008:  (lachlanmunro)  x509.certificate_managed  state fails
309659         under py3 m2crypto with "int too large" (refs: #49561)
309660
309661       · PR #49561: (dwoz) x509  module  and  state  bug  fixes  @  2018-09-11
309662         14:01:43 UTC
309663
309664         · 283e7d7 Merge pull request #49561 from dwoz/m2crypto_test
309665
309666         · 5e591ea Merge branch '2018.3' into m2crypto_test
309667
309668       · PR  #49592:  (dwoz) Fix binary file manage test @ 2018-09-10 23:03:18
309669         UTC
309670
309671         · 4478a44 Merge pull request #49592 from dwoz/bin_file_fix
309672
309673         · 8556c3d Fix binary file manage test
309674
309675       · PR #49571: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309676         2018-09-10 12:58:15 UTC
309677
309678         · 9004422 Merge pull request #49571 from rallytime/merge-2018.3
309679
309680         · a00aba9 Merge branch '2017.7' into '2018.3'
309681
309682           · 5d267a2 Merge pull request #49547 from rallytime/bp-49518
309683
309684             · 4bb09f7 Skip service module integration tests on CentOS 7
309685
309686           · 4948071   Merge   pull  request  #49549  from  rallytime/codeown‐
309687             ers-duplicate
309688
309689             · 4b257d2 Remove duplicate comment in CODEOWNERS file
309690
309691             · faafe74 Merge branch '2018.3' into m2crypto_test
309692
309693       · PR #49577: (dwoz) Multiple unittest fixes for 2018.3 Python 3 Windows
309694         @ 2018-09-08 05:53:38 UTC
309695
309696         · 4669a9a Merge pull request #49577 from dwoz/unit_test_fixes
309697
309698         · aa07b3f Multiple unittest fixes for 2018.3 Python 3 Windows
309699
309700       · PR  #49533: (silenius) [cherry-pick] Optimize postgres groups manage‐
309701         ment @ 2018-09-07 18:58:57 UTC
309702
309703         · 8b971e5 Merge pull request #49533 from silenius/2018.3.3
309704
309705         · 7eb8d6c Postgress module unit test fix.
309706
309707         · b56aedc Optimize postgres groups management
309708
309709       · PR #49543: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309710         2018-09-07 18:19:32 UTC
309711
309712         · 1a41b47 Merge pull request #49543 from rallytime/merge-2018.3
309713
309714         · cf508a4 Merge branch '2017.7' into '2018.3'
309715
309716           · 75a3b52  Merge  pull request #49527 from terminalmage/remove-spe‐
309717             cial-envs-handling
309718
309719             · 1478a76 Remove special handling for file_envs fileserver func
309720
309721           · 13f1d26 Merge pull request #49512 from rallytime/merge-2017.7
309722
309723             · de7ef3d Add "in progess"  notation  back  to  2017.7.8  release
309724               notes
309725
309726             · edad2dc Merge branch '2017.7.8' into '2017.7'
309727
309728               · d24c96f Merge pull request #49505 from Ch3LL/rn_7.8_2
309729
309730                 · d40b644 Update 2017.7.8 ChangeLog with new fixes
309731
309732               · 0d7b173  Merge  pull  request #49498 from rallytime/pin-cher‐
309733                 rypy-2017.7.8
309734
309735                 · 81a6155 Pin CherryPy version to <  18.0.0  in  requirements
309736                   files for PY2
309737
309738               · 52ab2c0 Merge pull request #49466 from rallytime/bp-49461
309739
309740                 · 5842800  Revert  "Allow  for not being prompted to supply a
309741                   password to deploy keys to a…"
309742
309743               · 1bbe7df Merge pull request #49284 from  twangboy/fix_install‐
309744                 er_osx
309745
309746                 · a112eaa Fix path to libsodium tarball
309747
309748               · e0e8779  Merge pull request #49272 from twangboy/fix_install‐
309749                 er_more
309750
309751                 · a8f054b Add 64bit binaries for KB2999226  to  the  x86  in‐
309752                   staller
309753
309754               · 0eb6ddf Merge pull request #49218 from twangboy/fix_installer
309755
309756                 · e8a1d2f Add more descriptive error when KB not found
309757
309758                 · 71737ea Suppress all ui on vcredist installation
309759
309760                 · 7dae9bb Fix Windows and OSX installers
309761
309762               · e484f26 Merge pull request #49116 from twangboy/fix_installer
309763
309764                 · 1227095 Add nonfatal switch to VCRedist
309765
309766               · 0b9f2f8 Merge pull request #49113 from Ch3LL/rn_7.8
309767
309768               · f6b70bb Add changelog to 2017.7.8 release notes
309769
309770           · 208cfe6  Merge pull request #49515 from rallytime/update-codeown‐
309771             ers
309772
309773             · 1faab8b Add some files to the CODEOWNERS files for team-core to
309774               own
309775
309776           · 34e5174 Merge pull request #49327 from twangboy/fix_win_service
309777
309778             · 74e944b Mark test_service_status_running as flaky
309779
309780             · c69560c Merge branch '2017.7' into fix_win_service
309781
309782             · 53e2e05 Merge branch '2017.7' into fix_win_service
309783
309784             · cf3d287 Merge branch '2017.7' into fix_win_service
309785
309786             · 1641851 Fix the name of the _cmd_quote test
309787
309788             · 97567af Skip tests on Linux systems
309789
309790             · 0ca9cd1 Fix some lint
309791
309792             · 3800966 Add tests
309793
309794             · b0d646d Add more details to the functioning of _cmd_quote
309795
309796             · a9856e2 Fix issues with win_service
309797
309798       · ISSUE #49452: (gtmanfred) [python3.7] remove usage of collections.abc
309799         stuff from the collections shim (refs: #49487)
309800
309801       · PR  #49487:  (garethgreenaway)  [2018.3]  Swapping  out   collections
309802         imports @ 2018-09-07 15:36:04 UTC
309803
309804         · baafd6e  Merge  pull request #49487 from garethgreenaway/49452_col‐
309805           lections_abc
309806
309807         · 2fb3ef7 Merge branch '2018.3' into 49452_collections_abc
309808
309809         · ebfd7f9 Merge branch '2018.3' into 49452_collections_abc
309810
309811         · b27e86b Swapping out the version check for a  try...except  on  the
309812           import  from collections.abc with a fallback to importing from col‐
309813           lections.
309814
309815         · d118a9f Updating various imports that have been moved from  collec‐
309816           tions  to  collections.abc,  and  will be deprecated in collections
309817           beginning in 3.8.
309818
309819              · abc9c1a Fix linter issues
309820
309821              · 8e42384 Fix multiple issues in x509 module and state
309822
309823              · 2a52158 Fix encoding issues in file and x509 states
309824
309825              · 49a6da7 Fix map file loading on windows
309826
309827       · PR #49528: (dwoz) Fix merge wart @ 2018-09-06 23:12:39 UTC
309828
309829         · 06935e9 Merge pull request #49528 from dwoz/mergetests
309830
309831         · 6a4f823 Fix merge wart
309832
309833       · PR #49548: (garethgreenaway) [2018.3] Disabling State boto tests  for
309834         Python 3.7+ @ 2018-09-06 21:50:10 UTC
309835
309836         · 3298e70  Merge  pull  request #49548 from garethgreenaway/1075_dis‐
309837           able_boto_tests_part_deux
309838
309839         · 0f5191e Disable various  boto  tests  when  run  under  python  3.7
309840           because  of //github.com/spulec/moto/issues/1706. which was causing
309841           the test suite to hang on unit tests.  This  PR  is  disabling  the
309842           tests in the test_boto_vpc state tests.
309843
309844       · PR   #49521:   (terminalmage)  Fix  _get_hash  in  splay  executor  @
309845         2018-09-06 14:06:54 UTC
309846
309847         · c346825    Merge    pull    request    #49521    from     terminal‐
309848           mage/fix-splay-executor
309849
309850         · bbb8fe8 Fix _get_hash in splay executor
309851
309852       · PR  #49526: (terminalmage) Prevent lookup error when trying to lookup
309853         fileserver function from LazyDict @ 2018-09-06 14:01:30 UTC
309854
309855         · 3f7c89c  Merge  pull  request  #49526  from  terminalmage/fix-back‐
309856           ends-error-logging
309857
309858         · 1f0288e Prevent lookup error when trying to lookup fileserver func‐
309859           tion from LazyDict
309860
309861       · PR #49524: (garethgreenaway) [2018.3] Disable boto tests under 3.7  @
309862         2018-09-06 13:35:18 UTC
309863
309864         · bf939f9  Merge  pull  request #49524 from garethgreenaway/1075_dis‐
309865           able_boto_tests
309866
309867         · 5ec5578 Disable various  boto  tests  when  run  under  python  3.7
309868           because  of //github.com/spulec/moto/issues/1706. which was causing
309869           the test suite to hang on unit tests.
309870
309871       · PR #49511: (rallytime) [2018.3] Merge forward from 2018.3.3 to 2018.3
309872         @ 2018-09-05 19:52:25 UTC
309873
309874         · f73f2e5 Merge pull request #49511 from rallytime/merge-2018.3
309875
309876         · 3ffc6c2 Merge branch '2018.3.3' into '2018.3'
309877
309878       · PR #49500: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309879         2018-09-04 19:02:31 UTC
309880
309881         · 81a49a8 Merge pull request #49500 from rallytime/merge-2018.3
309882
309883         · 2317b5e Merge branch '2017.7' into '2018.3'
309884
309885           · 1cdaea2 Merge pull request #49475 from dwoz/flaky_tests
309886
309887             · f214929 Fix a flaky test and mark another as flaky
309888
309889           · 4ac4305 Merge pull request #49457 from rallytime/labels-docs
309890
309891             · d1e51db Remove references to unused milestones in docs
309892
309893           · 41dcc3f Merge pull request #49461 from saltstack/revert-47100-ssh
309894
309895             · 0d7180a Revert "Allow for not being prompted to supply a  pass‐
309896               word to deploy keys to a…"
309897
309898       · PR  #49497:  (rallytime)  Back-port  #49473  to  2018.3  @ 2018-09-04
309899         18:44:25 UTC
309900
309901         · PR #49473: (rallytime) Use correct  and  explicit  paths  for  salt
309902           utils libs (refs: #49497)
309903
309904         · 16ca360 Merge pull request #49497 from rallytime/bp-49473
309905
309906         · 1aa3935 Lint: Add range import from six
309907
309908         · d06f6a5 Use correct and explicit paths for salt utils libs
309909
309910       · PR  #49474: (dwoz) Work around git-python resource leaks @ 2018-09-02
309911         19:42:32 UTC
309912
309913         · 93df5c4 Merge pull request #49474 from dwoz/gitfs_unit
309914
309915         · 56068e9 Merge branch '2018.3' into gitfs_unit
309916
309917         · e697ddc Work around git-python resource leaks
309918
309919       · PR #49471: (Ch3LL)  Remove  string  conversion  on  frame  object  in
309920         sigusr1 handler @ 2018-09-02 18:05:13 UTC
309921
309922         · 43ead5d Merge pull request #49471 from Ch3LL/debug_sigusr1
309923
309924         · 1631b2f Remove string conversion on frame object in sigusr1 handler
309925
309926       · PR #49454: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
309927         2018-08-31 21:36:34 UTC
309928
309929         · 764b816 Merge pull request #49454 from rallytime/merge-2018.3
309930
309931         · a97a7b0 Fix lint and test failures caused by bad merge
309932
309933         · f7226f4 Merge branch '2017.7' into '2018.3'
309934
309935           · 7a166bc Merge pull request #49376 from twangboy/fix_48608
309936
309937             · bf32e0c        Merge        branch        'fix_48608'        of
309938               https://github.com/twangboy/salt into fix_48608
309939
309940               · 9766f0d Merge branch '2017.7' into fix_48608
309941
309942             · fb97b00 Fix broken path to libsodium tarball
309943
309944             · 535d83e Fix test for list_users
309945
309946             · 40d3f2e Use dscl to get list of users
309947
309948             · e426459 Use a set to avoid duplicates
309949
309950           · 03d9750   Merge  pull  request  #49434  from  dwoz/cleanup_excep‐
309951             tion_handling
309952
309953             · 9daa992 Fix group remove test logic
309954
309955             · d74fab7 Clean up exception handling on py3
309956
309957           · 7099164 Merge pull request #49389 from gtmanfred/2017.7
309958
309959             · 6c01662 remove cmd key from load
309960
309961             · bdf3df3 add cli example
309962
309963             · 251f321 pass load on
309964
309965             · be7c041 add test
309966
309967             · 0ace5c1 make file envs compatible with transport format
309968
309969           · 24faa5e Merge pull request #49408 from terminalmage/issue49269
309970
309971             · d02ec34 Allow our custom yaml dumper  to  NamespacedDictWrapper
309972               objects
309973
309974           · 5746fc8 Merge pull request #49402 from rallytime/bp-49321
309975
309976             · 7dec9fc Add flaky decorator to serializer test
309977
309978           · 5c723b0 Merge pull request #49375 from terminalmage/revert-49185
309979
309980             · aaea274 Merge branch '2017.7' into revert-49185
309981
309982             · 7372e9d Add minion documentation for enable_gpu_grains
309983
309984             · ea1b53c Fix incorrect master docs for enable_gpu_grains
309985
309986             · 638210a  Add  validation  type  and  default  minion  value for
309987               enable_gpu_grains
309988
309989             · 49ed156 Add enable_gpu_grains to the minion config stub
309990
309991             · d1b7fb4  Revert  "Update  documentation  to   correctly   state
309992               enable_gpu_grains default"
309993
309994           · 11d87e4 Merge pull request #49387 from twangboy/fix_win_repo
309995
309996             · 2bf7eda Import GLOBAL_ONLY
309997
309998           · 651631d Merge pull request #49390 from dwoz/archive_module
309999
310000             · b332beb Fix archive tests for py3
310001
310002           · c591d2b Merge pull request #49385 from dwoz/sonofa
310003
310004             · f9d7dbd The autoruns module has not been renamed
310005
310006           · 5d2c9b6 Merge pull request #49371 from rallytime/bp-49064
310007
310008             · bc52f7c Stop running lint on all files when no changes
310009
310010           · f1c904e Merge pull request #49380 from twangboy/doc_48758
310011
310012             · 6cefbdf Add docs from a comment on issue 48758
310013
310014           · b22a43d Merge pull request #49324 from dwoz/windows_pr_builds
310015
310016             · 7abd9cd Merge branch '2017.7' into windows_pr_builds
310017
310018           · b2e4121 Merge pull request #49379 from dwoz/whitelistagain
310019
310020             · 56ea4ee Account for more tests that are not in 2017.7
310021
310022           · 7fa9120 Merge pull request #49366 from rallytime/bp-49232
310023
310024             · 74b05ef fix HTTP method for acl_info
310025
310026             · b9fa7db Merge branch '2017.7' into windows_pr_builds
310027
310028             · 77f5fd3 Merge branch '2017.7' into windows_pr_builds
310029
310030             · 7cdba27 Add ci scripts for windows PR builds
310031
310032       · PR  #49025:  (twangboy)  Fix  several  issues  with LGPO @ 2018-08-31
310033         18:25:34 UTC
310034
310035         · 4ea22e5 Merge pull request #49025 from twangboy/fix_48661
310036
310037         · c27fd18 Merge branch '2018.3' into fix_48661
310038
310039         · 222c503 Fix several issues with LGPO
310040
310041       · ISSUE #49281: (aarnaud) etcd_cache :  Not  working  for  mine  (refs:
310042         #49283)
310043
310044       · PR  #49283:  (aarnaud)  Fix  #49281  etcd_cache  with  mine  cache  @
310045         2018-08-31 18:24:23 UTC
310046
310047         · dd9ec94 Merge pull request #49283 from aarnaud/fix-etcd-cache
310048
310049         · 13e1a17 Merge branch '2018.3' into fix-etcd-cache
310050
310051         · 6c0fb9c Fix #49281 etcd_cache with mine cache
310052
310053       · PR #49459: (dwoz) Batch test fix cherry-pick  @  2018-08-30  23:02:12
310054         UTC
310055
310056         · 64227f9 Merge pull request #49459 from dwoz/batch_fix
310057
310058         · fc39dcf Simplify cli test fixes
310059
310060       · PR  #49453:  (dwoz) Fix up py3 git config tests @ 2018-08-30 22:00:19
310061         UTC
310062
310063         · 75285a3 Merge pull request #49453 from dwoz/conffix
310064
310065         · ac3c379 Fix up py3 git config tests
310066
310067       · PR #49411: (terminalmage) Allow our custom yaml dumper to Namespaced‐
310068         DictWrapper objects (2018.3 branch) @ 2018-08-30 13:05:37 UTC
310069
310070         · a962efc     Merge    pull    request    #49411    from    terminal‐
310071           mage/issue49269-2018.3
310072
310073         · a4cb35b Remove support for overriding the class name
310074
310075         · 82a8b73 Allow  our  custom  yaml  dumper  to  NamespacedDictWrapper
310076           objects
310077
310078       · PR  #49407:  (rallytime) Mark pkg module tests and flaky @ 2018-08-30
310079         13:01:31 UTC
310080
310081         · 8022a3b Merge pull request #49407 from rallytime/pkg-flaky
310082
310083         · 1609e11 Mark pkg module tests and flaky
310084
310085       · PR #49406: (rallytime) [2018.3] Merge forward from 2018.3.3 to 2018.3
310086         @ 2018-08-30 13:00:34 UTC
310087
310088         · 7f8c38a Merge pull request #49406 from rallytime/merge-2018.3
310089
310090         · 4939ee3 Merge branch '2018.3.3' into '2018.3'
310091
310092       · PR  #49401:  (rallytime) Mark output file permissions test as flaky @
310093         2018-08-29 18:13:12 UTC
310094
310095         · 68d630f Merge pull request #49401 from rallytime/flaky-output-test
310096
310097         · e13216b Mark output file permissions test as flaky
310098
310099       · PR #49400: (rallytime) Mark pillar refresh test as flaky @ 2018-08-29
310100         18:12:51 UTC
310101
310102         · 23610ed Merge pull request #49400 from rallytime/flaky-pillar-test
310103
310104         · fb62af6 Mark pillar refresh test as flaky
310105
310106       · ISSUE  #49150: (sunyq) hosts.rm_host changes /etc/hosts file with odd
310107         characters (refs: #49394)
310108
310109       · PR  #49394:  (sunyq)   fix   issue`#49150`_   hosts.rm_host   changes
310110         /etc/hosts with odd characters @ 2018-08-29 13:33:49 UTC
310111
310112         · 502e91c Merge pull request #49394 from sunyq/2018.3
310113
310114         · 76ba5b6  fix  issue`#49150`_  hosts.rm_host changes /etc/hosts with
310115           odd characters
310116
310117       · PR #49386: (dwoz) Cherry-pick whitelist fix.  @  2018-08-29  01:11:05
310118         UTC
310119
310120         · 2cf2e62 Merge pull request #49386 from dwoz/whitelistfix
310121
310122         · 2b08cf1 Account for more tests that are not in 2017.7
310123
310124       · PR #49372: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
310125         2018-08-28 19:03:53 UTC
310126
310127         · ec04282 Merge pull request #49372 from rallytime/merge-2018.3
310128
310129         · ab6cc1c Update old utils paths to use new paths
310130
310131         · ac406c4 Merge branch '2017.7' into '2018.3'
310132
310133         · dfa3861 Merge pull request #49354 from dwoz/fix_whitelist
310134
310135           · aeb0fa3 custom_grains tests do not exist
310136
310137         · 14b8094 Merge pull request #49346 from Ch3LL/bp-49345
310138
310139           · ce2733e upgrade including linux kernels
310140
310141         · d8f2945 Merge pull request #49344 from cachedout/test_matcher_flaky
310142
310143           · a34ef2e Matcher test marked flaky
310144
310145         · f08e720 Merge pull request #49353 from dwoz/boto_fix
310146
310147           · 376019f Do not raise exception if passed bytes
310148
310149         · 4690ad0 Merge pull request #49339 from dwoz/more_tests
310150
310151           · d50324b Merge branch '2017.7' into more_tests
310152
310153         · e371ad9 Merge pull request #49341 from terminalmage/issue48717
310154
310155           · 1971d09 Update dynamic git_pillar docs to  enclose  env  name  in
310156             quotes
310157
310158         · 00b58ee Merge pull request #49337 from dwoz/win_service_test_fix
310159
310160           · 1c1727e Fix broken service stop test
310161
310162         · 81428ed Merge pull request #49291 from dwoz/dedent
310163
310164           · 1991198 Fix review nits
310165
310166           · 6abc2da Re-factor dedent to fix warts
310167
310168           · 75b2e3d Use salt.utils.to_* functions
310169
310170           · fa78a7b Add dedent that sets line endings
310171
310172             · cd6706e Fix merge wart
310173
310174             · b9c344b Fix module.archive tests for win py3
310175
310176             · ac60fb8 Comment strange code
310177
310178             · 5fefd6f Simplify cli test fixes
310179
310180             · 1765d53 Fix archive tests on Windows platform
310181
310182             · 06f271f Add archive module tests to whitelist.txt
310183
310184             · 9cb8fe2 Add more tests to whitelist for windows
310185
310186             · b8af238 Fix indent wart
310187
310188             · bc971e4 add doc tests
310189
310190             · 8899a5e Add more client tests to whitelist
310191
310192             · 14cd7b48 Add cli tests to whitelist
310193
310194             · 3e55d10 Platform module doesn't exist in 2017.7
310195
310196             · 2733c02 Use double quotes on windows commands
310197
310198             · 0394ece The set command does not work like inline env vars
310199
310200         · 1fd5cf1 Merge pull request #49320 from rallytime/fix-48694
310201
310202           · 0964b5e Update documentation for #48694 and add deprecation warn‐
310203             ing
310204
310205         · c323096 Merge pull request #49314 from rallytime/bp-49277
310206
310207           · 6d691b2 Prepend current directory when path is just filename
310208
310209         · c7bae5e Merge pull request #49290 from rallytime/bp-44504
310210
310211           · 6224f7b calling range is going up to  the  upper  limit  but  not
310212             including it
310213
310214         · 7a44e59 Merge pull request #49289 from rallytime/bp-49170
310215
310216           · 4c29c17 forcing mine update in the proxy minion as well
310217
310218           · b1d581a force mine update on minion start
310219
310220         · 221ea22 Merge pull request #49278 from rallytime/bp-49253
310221
310222           · b331b5c skip ID 7 for vmware hard drives
310223
310224       · PR  #49356:  (dwoz)  Fix  tests  that  use timed_subprocess for py3 @
310225         2018-08-28 13:30:08 UTC
310226
310227         · 1faf6a7 Merge pull request #49356 from dwoz/cmdmod
310228
310229         · 6ffeaae Fix tests that use timed_subprocess for py3
310230
310231       · ISSUE #48299: (dosercz) git.latest reports  deleted  tags  in  remote
310232         repo as new_tags in changes (refs: #49305)
310233
310234       · PR   #49336:  (terminalmage)  Fix  half-baked  comment  @  2018-08-27
310235         00:07:55 UTC
310236
310237         · PR #49305: (terminalmage) Allow git.latest  to  remove  local  tags
310238           which have been removed remotely (refs: #49336)
310239
310240         · 2d8055e Merge pull request #49336 from terminalmage/issue48299
310241
310242         · 175e161 Fix half-baked comment
310243
310244       · PR  #49331:  (dwoz) Use salt.utils to ensure string type @ 2018-08-26
310245         01:42:08 UTC
310246
310247         · a2e7033 Merge pull request #49331 from dwoz/strfix
310248
310249         · 7513474 Use salt.utils to ensure string type
310250
310251       · PR #49312: (Ch3LL) Fix  keyerror  in  manage.bootstrap  @  2018-08-25
310252         19:55:44 UTC
310253
310254         · d70eda8 Merge pull request #49312 from Ch3LL/ssh_list_hosts
310255
310256         · da71c97 Fix keyerror in manage.bootstrap
310257
310258       · PR #49316: (rallytime) [2018.3] Merge forward from 2018.3.3 to 2018.3
310259         @ 2018-08-25 19:53:04 UTC
310260
310261         · 6b2eba7 Merge pull request #49316 from rallytime/merge-2018.3
310262
310263         · 39c442c Merge branch '2018.3.3' into '2018.3'
310264
310265       · ISSUE #48880: (damntoken) Can't run cmd.run with UTF-8 chars as argu‐
310266         ments / parameters. With custom module. (refs: #49322)
310267
310268       · PR  #49322:  (dwoz)  Encode  shell commands explicitly.  @ 2018-08-25
310269         04:43:26 UTC
310270
310271         · 5766e98 Merge pull request #49322 from dwoz/state_module_test_fix
310272
310273         · 1f7d50d Encode shell commands explicitly.
310274
310275       · PR #49299: (dwoz) Work around cmd.run unicode issues in test for  now
310276         @ 2018-08-25 04:43:03 UTC
310277
310278         · b47da0a Merge pull request #49299 from dwoz/test_fix
310279
310280         · f4bd644 Fix string formatting wart in file state tests
310281
310282         · e84e608 Fix wart in file state test
310283
310284         · 71d4465 Work around cmd.run unicode issues in test for now
310285
310286       · ISSUE  #48299:  (dosercz)  git.latest  reports deleted tags in remote
310287         repo as new_tags in changes (refs: #49305)
310288
310289       · PR #49305: (terminalmage) Allow git.latest to remove local tags which
310290         have been removed remotely (refs: #49336) @ 2018-08-24 17:29:03 UTC
310291
310292         · b65890c Merge pull request #49305 from terminalmage/issue48299
310293
310294         · 4a093d9 lint
310295
310296         · ed7b994 Gate tag manipulation behind a sync_tags argument
310297
310298         · 29de855 Add test for a removed tag
310299
310300         · eb9a459 Properly handle tags deleted from remote repository
310301
310302         · 916c15a Add git.tag function
310303
310304       · ISSUE  #49009:  (msciciel)  file_ignore_regex  / file_ignore_glob not
310305         working properly (refs: #49308)
310306
310307       · PR #49308: (terminalmage) Don't include ignored paths in mtime map  @
310308         2018-08-24 17:28:41 UTC
310309
310310         · 459354a Merge pull request #49308 from terminalmage/issue49009
310311
310312         · 2badd7f Don't include ignored paths in mtime map
310313
310314       · PR #49282: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
310315         2018-08-24 16:45:50 UTC
310316
310317         · 914bb09 Merge pull request #49282 from rallytime/merge-2018.3
310318
310319         · 21a51c9 Add 'minion_data_cache: True' to mocked  opts  for  minions
310320           unit tests
310321
310322         · 196ce3f Call the with_tempfile decorator correctly for 2018.3
310323
310324         · 37f24fd Fix unit test for file state
310325
310326         · 6f9a158 Update old utils paths with new paths
310327
310328         · c3ecefc Merge branch '2017.7' into '2018.3'
310329
310330           · 879c3ad Merge pull request #49262 from bloomberg/short-circuit
310331
310332             · a3594db extend #488588 to cover SyncAuth class
310333
310334           · 1900aff Merge pull request #49144 from twangboy/fix_48163
310335
310336             · ff5ec86 Work with seconds
310337
310338             · 7264008 Fix some lint (remove whitespace)`
310339
310340             · 4f9973d Improve timeout in delete
310341
310342             · a6ecb75 Remove testing debug stuff
310343
310344             · 7dd7953 Fix start/stop functions
310345
310346             · fade0a6 Merge pull request #10 from damon-atkins/patch-1
310347
310348               · 57c4b9f 2017_win_service_damon
310349
310350             · d44eaee Add timeout support to the state
310351
310352             · d579b3e Add timeout parameter
310353
310354           · 395bae6 Merge pull request #49259 from gtmanfred/flaky-2017.7
310355
310356             · 93a576e flaky tests are flaky yo
310357
310358             · f518bd3 mark orchestration state tests as flaky
310359
310360           · 62cc0df Merge pull request #49231 from minusf/mount-check-name
310361
310362             · eb5cab3 fix some underhanging indent while here...
310363
310364             · ec2a091 check for mandatory parameters to avoid false positives
310365
310366           · d55d484  Merge  pull  request  #49242 from dwoz/blockreplace_bet‐
310367             ter_fix
310368
310369             · 72c3727 Use six to make sure content is unicode
310370
310371             · 1bf0b18 Better blockfix replace
310372
310373             · dd4fcd3 Revert "Multiple block replace test fixes"
310374
310375             · d335842 Use os.linesep.join instead of textwrap.dedent
310376
310377           · 85f6d36 Merge pull request #49236 from terminalmage/issue32737
310378
310379             · 233bbae Allow compound matching in eauth config expressions
310380
310381           · 5ba7f60 Merge pull request #49187 from erwindon/py27fixnumberfor‐
310382             mat
310383
310384             · 12261a5 trailing whitespace removal
310385
310386             · 2149e22 Fix for #45620: "Salt CLI is rounding floats to 2 deci‐
310387               mal places" (actually: Salt CLI is using  only  12  digits  for
310388               precision)
310389
310390           · f8c55b8 Merge pull request #49184 from ralish/external_nodes_docs
310391
310392             · 4fe38dc Merge branch '2017.7' into external_nodes_docs
310393
310394             · 2e29b29 Remove obsolete documentation on external_nodes setting
310395
310396           · 65205a4     Merge     pull     request     #49185    from    ral‐
310397             ish/enable_gpus_grains_doc
310398
310399             · 2fe675c    Update    documentation    to    correctly     state
310400               enable_gpu_grains default
310401
310402           · 5aa282e Merge pull request #48032 from zer0def/parted-naming
310403
310404             · 563ad25 Merge branch '2017.7' into parted-naming
310405
310406             · 07f8631  Fixed partition names with spaces effectively contain‐
310407               ing only the first word.
310408
310409           · 0157eac Merge pull request #49164 from terminalmage/issue49154
310410
310411             · c2aba7a Merge branch '2017.7' into issue49154
310412
310413             · b4544d7 Add keep_source integration tests
310414
310415             · 82638c6 Fix bug in keep_source for non-templated  salt://  file
310416               sources
310417
310418           · b510441 Merge pull request #49179 from dwoz/test_unit_states_file
310419
310420             · 913ea5e Fix directory unit test
310421
310422             · 3363238 Account for normalized dirs in unit tests
310423
310424           · 7486fd5 Merge pull request #49162 from erwindon/wheel_error_error
310425
310426             · ca5df04 Merge branch '2017.7' into wheel_error_error
310427
310428             · 4335c5c Must have 2 lines between imports and code
310429
310430             · ec1f013 Improved solution as per @dwoz's suggestion
310431
310432             · 20f134e Fixed unknown 'exceptions' under Python3 (#49152)
310433
310434           · 7043286 Merge pull request #49143 from Ch3LL/bp-49142
310435
310436             · d2e73cc Remove -Z script_arg for cloud tests
310437
310438           · 8ab55f5 Merge pull request #49167 from dwoz/filefix
310439
310440             · b5ba073 Simplify dict keys lookup
310441
310442             · 6844251 Fix remaining file state integration tests (py3)
310443
310444           · 90bd560 Merge pull request #49163 from dwoz/tmp_dir
310445
310446             · 3384864 add Exception type
310447
310448             · 9da79dd0 Allow test suite to finish if tmp dir removal fails
310449
310450           · aa01a67 Merge pull request #49136 from Ch3LL/bootstrap_2017.7
310451
310452             · de40dfb  [2017.7]  Update  bootstrap  script  to latest release
310453               (2018.08.15)
310454
310455           · 29fccbf Merge pull request #49118 from dwoz/test_file_fixes
310456
310457             · c6b781e Multiple fixes for integration.states.test_file
310458
310459           · 133e400 Merge pull request #49103 from dwoz/cmd_test_fix
310460
310461           · 566a4ea Install the launcher so we can execute py files
310462
310463       · ISSUE saltstack/salt-jenkins#1075: (Ch3LL)  [2018.3.3]  arch  python3
310464         tests do not finish (refs: #49303)
310465
310466       · PR  #49303:  (gtmanfred) use os._exit instead of sys.exit when daemo‐
310467         nizing @ 2018-08-24 14:15:54 UTC
310468
310469         · 4c81c2e Merge pull request #49303 from gtmanfred/forking
310470
310471         · e06ce49 use os._exit instead of sys.exit when daemonizing
310472
310473       · PR #49276: (terminalmage) Fix paths to moved functions  @  2018-08-23
310474         16:38:55 UTC
310475
310476         · 158c1ca Merge pull request #49276 from terminalmage/fix-moved-funcs
310477
310478         · 322a988 Fix paths to moved functions
310479
310480       · PR #49270: (dwoz) Add async helper to test_sock_path_len @ 2018-08-23
310481         16:17:54 UTC
310482
310483         · ef39f85 Merge pull request #49270 from dwoz/test_event_fix
310484
310485         · 51bf79a Add async helper to test_sock_path_len
310486
310487       · PR  #49199:  (jacobweinstock)  Fix  typeerror  unicode  @  2018-08-23
310488         14:38:17 UTC
310489
310490         · 5da743a  Merge  pull request #49199 from jacobweinstock/fix-typeer‐
310491           ror-unicode
310492
310493         · 25608ef Merge branch '2018.3' into fix-typeerror-unicode
310494
310495         · 11ad11c add unicode_literals  back  to  handle  logging  and  other
310496           things.
310497
310498         · 6944baf  add  salt.utils.stringutils.to_bytes.  add comment on uni‐
310499           code_literals.
310500
310501       · ISSUE  #49174:  (rbthomp)  Beacon   diskusage   reporting   incorrect
310502         diskusage value.  (refs: #49264)
310503
310504       · PR #49264: (gtmanfred) fix diskusage beacon @ 2018-08-23 14:36:07 UTC
310505
310506         · e28f8f1 Merge pull request #49264 from gtmanfred/diskusage
310507
310508         · 15857c2c fix diskusage
310509
310510       · PR  #49253:  (gtmanfred)  skip  ID  7  for  vmware hard drives (refs:
310511         #49278) @ 2018-08-23 14:35:31 UTC
310512
310513         · f6b2b93 Merge pull request #49253 from gtmanfred/vmware
310514
310515         · 6e776ca skip ID 7 for vmware hard drives
310516
310517       · ISSUE #49159:  (wenxin-wang)  incorrect  default  value  of  minion's
310518         'ipv6' option  (refs: #49263)
310519
310520       · PR  #49263:  (terminalmage)  Revert  default value for ipv6 to None @
310521         2018-08-23 13:02:13 UTC
310522
310523         · 2a2bd48 Merge pull request #49263 from terminalmage/issue49159
310524
310525         · bf5d907 Revert default value for ipv6 to None
310526
310527       · PR #49244: (dwoz) Test fixes: unit.fileserver.test_gitfs @ 2018-08-22
310528         20:19:42 UTC
310529
310530         · ec32428 Merge pull request #49244 from dwoz/gitfs_fixes
310531
310532         · b533fa1 Simplify by using to_unicode helper
310533
310534         · 5a0cda5 Older GitPython version do not have a close method
310535
310536         · 7452715 Fix up fileserver.test_gitfs tests on windows
310537
310538         · 800aa25 Remove unicode filenames on windows python 2
310539
310540       · PR  #49265:  (terminalmage) Fix failing unit file module unit tests @
310541         2018-08-22 19:35:07 UTC
310542
310543         · 2d7f846  Merge  pull  request  #49265  from  terminalmage/fix-fail‐
310544           ing-file-tests
310545
310546         · 6b51f71 Fix failing unit file module unit tests
310547
310548       · PR #49240: (dwoz) file state test fixes @ 2018-08-22 18:16:42 UTC
310549
310550         · 4634752 Merge pull request #49240 from dwoz/state_tests
310551
310552         · 1679a19 Work around listdir encoding issues on py2 windows
310553
310554         · 07ed841 file state test fixes
310555
310556       · PR #49260: (gtmanfred) [2018.3] flaky tests @ 2018-08-22 16:40:39 UTC
310557
310558         · 55ded9f Merge pull request #49260 from gtmanfred/flaky-2018.3
310559
310560         · 41973ff flaky tests are flaky yo
310561
310562         · c927f1b mark orchestration state tests as flaky
310563
310564       · PR  #49245:  (dwoz)  Skip  grep  unit  tests  on windows @ 2018-08-22
310565         15:18:08 UTC
310566
310567         · 6d023ca Merge pull request #49245 from dwoz/skip_grep_windows
310568
310569         · e305891 Skip grep unit tests on windows
310570
310571       · PR #49243: (dwoz) Revert  newline  translation  change  @  2018-08-22
310572         15:12:26 UTC
310573
310574         · 75beede Merge pull request #49243 from dwoz/fileserver_tests
310575
310576         · 86e3c46 Revert newline translation change
310577
310578       · PR  #48545:  (bbinet)  Fix  unreachable  ssh-id-wrapper template when
310579         root_dir is relative @ 2018-08-21 15:12:01 UTC
310580
310581         · 60605f0     Merge     pull     request     #48545     from     bbi‐
310582           net/fix-unreacheable-ssh-id-wrapper
310583
310584         · 284dcf7  Fix  unreachable  ssh-id-wrapper template when root_dir is
310585           relative
310586
310587       · ISSUE #49204: (mchugh19) file.directory state fails if directory con‐
310588         tains an invalid symlink (refs: #49209, #49827)
310589
310590       · PR  #49209:  (gtmanfred)  don't  blow  up  check_perms if lsattr file
310591         doesn't exist @ 2018-08-20 19:02:42 UTC
310592
310593         · a4c51a9 Merge pull request #49209 from gtmanfred/lsattr
310594
310595         · ab918ca don't blow up check_perms if lsattr file doesn't exist
310596
310597       · ISSUE #49060: (The-Loeki) On Py3, redis job  cache  throws  TypeError
310598         bytes / str   (refs: #49190)
310599
310600       · PR  #49190:  (The-Loeki) decode_reponses=True on all Redis API inter‐
310601         faces @ 2018-08-20 18:57:26 UTC
310602
310603         · d29af00 Merge pull request #49190 from The-Loeki/redis-fix
310604
310605         · d126318 Merge branch '2018.3' into redis-fix
310606
310607         · 7ff72eb redis cache no utf8 of course
310608
310609         · bdaef39 decode_reponses=True on all Redis API interfaces
310610
310611       · PR #49197: (dwoz) File state line ending fixes @ 2018-08-20  18:45:04
310612         UTC
310613
310614         · 644ba3d Merge pull request #49197 from dwoz/test_fix
310615
310616         · a7cfe35 File state line ending fixes
310617
310618       · PR  #49192:  (dwoz)  Test  fixes  flaky  test and unicode environment
310619         key/value @ 2018-08-19 10:48:03 UTC
310620
310621         · aaa9e37 Merge pull request #49192 from dwoz/git_test_fix_ng
310622
310623         · 8ea89e9 Test fixes
310624
310625       · PR #49191: (The-Loeki) Make salt.utils.vault._get_connection publicly
310626         available @ 2018-08-19 10:39:35 UTC
310627
310628         · 63cc737 Merge pull request #49191 from The-Loeki/vault_publ_conn
310629
310630         · cab4192 publicize salt.utils.get_vault_connection()
310631
310632       · PR  #49189:  (dwoz)  Merge  pull request #49171 from Ch3LL/bp-49103 @
310633         2018-08-18 20:51:59 UTC
310634
310635         · PR #49171: (Ch3LL) [2018.3.3] cherry pick #49103  (refs: #49189)
310636
310637         · PR #49103: (dwoz) Install the launcher so we can execute  py  files
310638           (refs: #49189, #49171)
310639
310640         · 1d843d4 Merge pull request #49189 from dwoz/cmd_test_fix
310641
310642         · 8fd0c38 Merge pull request #49171 from Ch3LL/bp-49103
310643
310644       · PR #49188: (cachedout) Fix bug in test_pkg @ 2018-08-18 17:36:22 UTC
310645
310646         · 5f905d7 Merge pull request #49188 from cachedout/fix_test_pkg
310647
310648         · 2cd6519 Fix bug in test_pkg
310649
310650       · PR  #49056: (Ch3LL) Add orch runner with mine.get integration tests @
310651         2018-08-18 12:54:48 UTC
310652
310653         · 6fb8d4a Merge pull request #49056 from Ch3LL/test_mine
310654
310655         · 3a8fed5 Handle race condition when running mine.update in orch mine
310656           test
310657
310658         · b4e421c Add orch runner with mine.get integration tests
310659
310660       · PR #49126: (The-Loeki) TLS cert_info fixes @ 2018-08-18 12:19:33 UTC
310661
310662         · PR  #49123:  (The-Loeki)  Fix  return  of  tls.cert_info extensions
310663           (refs: #49126)
310664
310665         · 0d0e11d Merge pull request #49126 from The-Loeki/tls-impr
310666
310667         · 22240c0 Merge branch '2018.3' into tls-impr
310668
310669         · 3ce2c3e tls.cert_info: strip newlines/spaces from extensions
310670
310671         · d522d01 tls alt_names fix
310672
310673         · d435dbc Fix bytes-return of tls.cert_info extensions
310674
310675         · 9c7d3ea TLS cert_info: Accept IP Addresses as valid alt_names
310676
310677         · 7d6ecaf tls.check_info: Allow PEM as string input
310678
310679       · PR #49186: (dwoz) Fix typo in #49180 @ 2018-08-18 12:07:00 UTC
310680
310681         · PR #49180: (dwoz) Cherry-pick test fixes (refs: #49186)
310682
310683         · 7dd70eb Merge pull request #49186 from dwoz/test_fixes
310684
310685         · 95efc51 Fix typo
310686
310687       · PR #49180: (dwoz) Cherry-pick test fixes (refs: #49186) @  2018-08-18
310688         04:08:17 UTC
310689
310690         · 6d57ac1 Merge pull request #49180 from dwoz/test_fixes
310691
310692         · 3c49544 Account for file renames
310693
310694         · acc144d Fix directory unit test
310695
310696         · a7ee07a Fix is_windows checks
310697
310698         · 74b197f Account for normalized dirs in unit tests
310699
310700         · a18d937 Merge pull request #49167 from dwoz/filefix
310701
310702       · PR  #49091:  (terminalmage)  Rename/re-organize  test files in 2018.3
310703         branch @ 2018-08-17 12:26:44 UTC
310704
310705         · PR #47337: (terminalmage) Modify runtests.py to  run  a  subset  of
310706           tests based on filenames (refs: #49091)
310707
310708         · 8bda1e5     Merge    pull    request    #49091    from    terminal‐
310709           mage/rename-test-files
310710
310711         · 3d8523b Fix import for moved module
310712
310713         · 613f061 Lint
310714
310715         · 81f272f Rename outputter tests to match naming convention
310716
310717         · fba0336 Rename venafi test module to bring it closer to the  naming
310718           convention
310719
310720         · 9c14500 Rename exec module integration test files to respect naming
310721           convention
310722
310723         · 91fa09e Rename providers to clouds to respect naming convention
310724
310725         · d56dcdd Rename "providers" dir to "clouds" to respect  naming  con‐
310726           vention
310727
310728         · f1b7d54  Rename virtualenv state test module to respect naming con‐
310729           vention
310730
310731         · c1f94db Split ssh state tests into separate modules to respect nam‐
310732           ing convention
310733
310734         · 9c8ba4a Split mysql database tests into two modules to respect nam‐
310735           ing convention
310736
310737         · d51748e Rename some files to avoid them being  identified  as  test
310738           modules
310739
310740         · 1fccbf7 Rename acl unit test module to confirm to naming convention
310741
310742         · 160223d  Consolidate/move fileclient/fileserver tests to conform to
310743           naming convention
310744
310745         · 1aacf77 Rename/consolidate salt.utils unit tests to conform to nam‐
310746           ing convention
310747
310748         · 5a0990b  Rename  pillar unit test modules to reflect naming conven‐
310749           tion
310750
310751         · 516594b Consolidate netapi tests and move them  to  reflect  naming
310752           convention
310753
310754         · 8f5fef5  Consolitdate  and move salt-ssh unit tests to proper loca‐
310755           tion
310756
310757         · 9801ce3    Consolidate     and     move     loader     tests     to
310758           test/unit/test_loader.py
310759
310760         · f72bbc5 Rename beacon unit test modules to conform with naming con‐
310761           vention
310762
310763         · fa76cb6 Move inspectlib tests to conform with naming convention
310764
310765         · 81e3823 Move shared kernelpkg test cases to tests/support/
310766
310767         · e0d95b6 Consolidate misplaced tests into tests/unit/test_config.py
310768
310769         · 3a1ec12 Rename slack engine test file to respect naming convention
310770
310771         · c9c9d20 Rename test_map_conf test file to respect naming convention
310772
310773         · 5c936c0 Rename the aptpkg state module to respect naming convention
310774
310775         · ac50eb8 Remove redundant "test" from filename
310776
310777         · b03a563 Move jinja templating tests alongside salt/utils/jinja.py's
310778           tests
310779
310780         · b49d8df Fix bad copypasta in docstring
310781
310782         · 069102b Rename sentry returner test to match naming convention
310783
310784         · 2398083  Use  tests.support.paths instead of deprecated integration
310785           module
310786
310787         · ffb842d Move salt.utils.context tests to their proper location
310788
310789         · d69069b Move context cache tests to their proper location
310790
310791       · PR #49062: (weswhet)  fix  memoize  on  available  macOS  services  @
310792         2018-08-15 15:34:25 UTC
310793
310794         · c8510a6  Merge  pull  request  #49062  from  weswhet/fix-mac-avail‐
310795           able-services
310796
310797         · f1b40c4 decorator link fix, updating  context  names,  as  well  as
310798           updating macutils tests for latest changes
310799
310800         · 1e4497d  fixing  an issue with memoize on macOS services, switching
310801           to useing __context__ instead
310802
310803       · ISSUE  #49100:  (pruiz)  salt.utils.yamldumper.dump/safe_dump  incor‐
310804         rectly  return  'str' instead of unicode on python2.7 (centos) (refs:
310805         #49125)
310806
310807       · PR #49125: (terminalmage) Ensure that we don't feed jinja2.Markup() a
310808         str type @ 2018-08-15 04:02:30 UTC
310809
310810         · 21435be Merge pull request #49125 from terminalmage/issue49100
310811
310812         · ec258e2 Add integration tests for yaml and json filters
310813
310814         · f5f16cf Ensure that we don't feed jinja2.Markup() a str type
310815
310816   Salt 2018.3.5 Release Notes
310817       Version 2018.3.5 is a CVE-fix release for 2018.3.0.
310818
310819   Security Fix
310820       CVE-2019-17361
310821
310822       With  the  Salt  NetAPI  enabled  in  addition  to  having a SSH roster
310823       defined, unauthenticated access is possible when specifying the  client
310824       as SSH.  Additionally, when the raw_shell option is specified any arbi‐
310825       trary command may be  run  on  the  Salt  master  when  specifying  SSH
310826       options.
310827
310828   Salt 2017.7.0 Release Notes - Codename Nitrogen
310829   Python 3
310830       The 2017.7 Salt Release adds initial Python 3 support.
310831
310832       The  default  Python  version  of  Salt  will remain Python 2, although
310833       Python 3 packages will be supplied for users who want to help test this
310834       new feature.
310835
310836   Python 2.6 Deprecation
310837       Salt will no longer support Python 2.6. We will provide python2.7 pack‐
310838       ages on our repo for RedHat and CentOS 6 to ensure users can still  run
310839       Salt on these platforms.
310840
310841       As  this  will  impact  the installation of additional dependencies for
310842       salt modules please use pip packages if there is not a  package  avail‐
310843       able in a repository. You will need to install the python27-pip package
310844       to get access to the correct pip27 executable: yum install python27-pip
310845
310846   Known Issues
310847       The following salt-cloud drivers have known issues running with  Python
310848       3.  These drivers will not work with Python 3, and Python 2.7 should be
310849       used instead:
310850
310851       · Joyent
310852
310853       · When running under Python 3, users who require Unicode support should
310854         ensure  that  a  locale  is set on their machines.  Users using the C
310855         locale are advised to switch to a UTF-aware locale to  ensure  proper
310856         functionality with Salt with Python 3.
310857
310858   Remember to update the Salt Master first
310859       Salt's  policy  has  always been that when upgrading, the minion should
310860       never be on a newer version than the master.   Specifically  with  this
310861       update,  because  of  changes  in  the  fileclient,  the  2017.7 minion
310862       requires a 2017.7 master.
310863
310864       Backwards compatibility is still maintained, so older minions can still
310865       be used.
310866
310867       More information can be found in the Salt FAQ
310868
310869   States Added for Management of systemd Unit Masking
310870       The  service.masked and service.umasked states have been added to allow
310871       Salt to manage masking of systemd units.
310872
310873       Additionally, the following functions in the systemd  execution  module
310874       have  changed to accommodate the fact that indefinite and runtime masks
310875       can co-exist for the same unit:
310876
310877       · service.masked - The return from this function has changed from  pre‐
310878         vious  releases.  Before, False would be returned if the unit was not
310879         masked, and the output of systemctl is-enabled <unit name>  would  be
310880         returned  if  the unit was masked. However, since indefinite and run‐
310881         time masks can exist for the same unit at the same time,  this  func‐
310882         tion has been altered to accept a runtime argument. If True, the min‐
310883         ion will be checked for a runtime mask assigned to the named unit. If
310884         False, then the minion will be checked for an indefinite mask. If one
310885         is found, True will be returned. If not, then False will be returned.
310886
310887       · service.masked - This function used to just run systemctl  is-enabled
310888         <unit  name>  and  based  on the return from this function the corre‐
310889         sponding mask type would be removed. However,  if  both  runtime  and
310890         indefinite masks are set for the same unit, then systemctl is-enabled
310891         <unit name> would show just the indefinite mask. The indefinite  mask
310892         would be removed, but the runtime mask would remain. The function has
310893         been modified to accept a  runtime  argument,  and  will  attempt  to
310894         remove  a  runtime  mask  if  that argument is set to True. If set to
310895         False, it will attempt to remove an indefinite mask.
310896
310897       These new runtime arguments default to False.
310898
310899   Pillar Encryption
310900       Beginning in 2016.3.0 the CLI pillar data passed to  several  functions
310901       could  conditionally be passed through a renderer to be decrypted. This
310902       functionality has now been extended to pillar SLS files  as  well.  See
310903       here for detailed documentation on this feature.
310904
310905   Grains Changes
310906       · The  osmajorrelease  grain has been changed from a string to an inte‐
310907         ger.  State files, especially those using a templating language  like
310908         Jinja, may need to be adjusted to account for this change.
310909
310910       · Add  ability  to  specify  disk backing mode in the VMWare salt cloud
310911         profile.
310912
310913   State Module Changes
310914       · The service.running and service.dead states now  support  a  no_block
310915         argument  which, when set to True on systemd minions, will start/stop
310916         the service using the --no-block flag in the  systemctl  command.  On
310917         non-systemd minions, a warning will be issued.
310918
310919       · The  module.run  state has dropped its previous syntax with m_ prefix
310920         for reserved keywords. Additionally, it allows running several  func‐
310921         tions in a batch.
310922
310923         NOTE:
310924            It is necessary to explicitly turn on the new behavior (see below)
310925
310926            # Before
310927            run_something:
310928              module.run:
310929                - name: mymodule.something
310930                - m_name: 'some name'
310931                - kwargs: {
310932                  first_arg: 'one',
310933                  second_arg: 'two',
310934                  do_stuff: 'True'
310935                }
310936
310937            # After
310938            run_something:
310939              module.run:
310940                - mymodule.something:
310941                  - name: some name
310942                  - first_arg: one
310943                  - second_arg: two
310944                  - do_stuff: True
310945
310946         Since  a  lot  of users are already using module.run states, this new
310947         behavior must currently be explicitly turned on, to  allow  users  to
310948         take  their  time  updating  their SLS files. However, please keep in
310949         mind that the new syntax will take effect in the next feature release
310950         of  Salt  (Oxygen)  and  the old usage will no longer be supported at
310951         that time.
310952
310953         Another feature of the new module.run is that it allows calling  many
310954         functions in a single batch, such as:
310955
310956            run_something:
310957              module.run:
310958                - mymodule.function_without_parameters:
310959                - mymodule.another_function:
310960                  - myparam
310961                  - my_other_param
310962
310963         In  a rare case that you have a function that needs to be called sev‐
310964         eral times but with the different parameters, an  additional  feature
310965         of  "tagging"  is  to  the  rescue. In order to tag a function, use a
310966         colon delimiter. For example:
310967
310968            run_something:
310969              module.run:
310970                - mymodule.same_function:1:
310971                - mymodule.same_function:2:
310972                  - myparam
310973                  - my_other_param
310974                - mymodule.same_function:3:
310975                  - foo: bar
310976
310977         The example above will run mymodule.same_function  three  times  with
310978         the different parameters.
310979
310980         To  enable  the new behavior for module.run, add the following to the
310981         minion config file:
310982
310983            use_superseded:
310984              - module.run
310985
310986       · The default for the fingerprint_hash_type option used in the  present
310987         function in the ssh state changed from md5 to sha256.
310988
310989   Execution Module Changes
310990       · Several  functions  in  the  systemd  execution  module have gained a
310991         no_block argument, which when set to True will use --no-block in  the
310992         systemctl command.
310993
310994       · In the solarisips pkg module, the default value for the refresh argu‐
310995         ment to the list_upgrades function has been  changed  from  False  to
310996         True.  This  makes the function more consistent with all of the other
310997         pkg modules (The other pkg.list_upgrades functions all  defaulted  to
310998         True).
310999
311000       · The  functions  which  handle  masking  in  the  systemd  module have
311001         changed. These changes are described above alongside the  information
311002         on  the new states which have been added to manage masking of systemd
311003         units.
311004
311005       · The pkg.list_repo_pkgs function for yum/dnf-based distros has had its
311006         default  output  format changed.  In prior releases, results would be
311007         organized by repository. Now, the default for each package will be  a
311008         simple list of versions. To get the old behavior, pass byrepo=True to
311009         the function.
311010
311011       · A pkg.list_repo_pkgs function has been added for  both  Debian/Ubuntu
311012         and Arch Linux-based distros.
311013
311014       · The  system  module  changed  its return format from "HH:MM AM/PM" to
311015         "HH:MM:SS AM/PM" for get_system_time.
311016
311017       · The default for the fingerprint_hash_type option used in the ssh exe‐
311018         cution module changed from md5 to sha256.
311019
311020   Proxy Module Changes
311021       The  proxy_merge_grains_in_module  configuration variable introduced in
311022       2016.3, has been changed, defaulting to True.
311023
311024       The connection with the remote device is kept alive  by  default,  when
311025       the module implements the alive function and proxy_keep_alive is set to
311026       True. The polling interval is set using  the  proxy_keep_alive_interval
311027       option which defaults to 1 minute.
311028
311029       The  developers  are  also  able  to  use  the proxy_always_alive, when
311030       designing a proxy module flexible enough to open  the  connection  with
311031       the remote device only when required.
311032
311033   Wildcard Versions in pkg.installed States
311034       · The  pkg.installed  state now supports wildcards in package versions,
311035         for the following platforms:
311036
311037         · SUSE/openSUSE Leap/Thumbleweed
311038
311039         · Debian/Ubuntu
311040
311041         · RHEL/CentOS
311042
311043         · Arch Linux
311044
311045         This support also extends to any derivatives of these distros,  which
311046         use  the aptpkg, yumpkg, or pacman providers for the pkg virtual mod‐
311047         ule.
311048
311049         Using wildcards can be useful for packages where the release name  is
311050         built  into  the  version  in some way, such as for RHEL/CentOS which
311051         typically has version numbers like 1.2.34-5.el7. An  example  of  the
311052         usage for this would be:
311053
311054            mypkg:
311055              pkg.installed:
311056                - version: '1.2.34*'
311057
311058   Master Configuration Additions
311059       · syndic_forward_all_events  -  Option  on  multi-syndic or single when
311060         connected to multiple masters to be able to send events to  all  con‐
311061         nected masters.
311062
311063       · eauth_acl_module  -  In  case external auth is enabled master can get
311064         authenticate and get the authorization list from different auth  mod‐
311065         ules.
311066
311067       · keep_acl_in_token  -  Option that allows master to build ACL once for
311068         each user being authenticated and keep it in the token.
311069
311070   Minion Configuration Additions
311071       · pillarenv_from_saltenv - When set to True  (default  is  False),  the
311072         pillarenv  option  will  take the same value as the effective saltenv
311073         when running states.  This  would  allow  a  user  to  run  salt  '*'
311074         state.apply  mysls  saltenv=dev,  and  the SLS for both the state and
311075         pillar data would be sourced from the  dev  environment,  essentially
311076         the equivalent of running salt '*' state.apply mysls saltenv=dev pil‐
311077         larenv=dev. Note that if pillarenv is set in the minion config  file,
311078         or if pillarenv is provided on the CLI, it will override this option.
311079
311080   salt-api Changes
311081       The rest_cherrypy netapi module has received a few minor improvements:
311082
311083       · A CORS bugfix.
311084
311085       · A new /token convenience endpoint to generate Salt eauth tokens.
311086
311087       · A  proof-of-concept  JavaScript  single-page  application intended to
311088         demonstrate how to use the Server-Sent Events stream in  an  applica‐
311089         tion.  It  is available in a default install by visiting the /app URL
311090         in a browser.
311091
311092   Python API Changes
311093   expr_form Deprecation
311094       The LocalClient's expr_form argument has been deprecated and renamed to
311095       tgt_type.  This  change  was  made due to numerous reports of confusion
311096       among community members, since the targeting  method  is  published  to
311097       minions as tgt_type, and appears as tgt_type in the job cache as well.
311098
311099       While  expr_form  will  continue  to  be  supported  until the 2019.2.0
311100       release cycle (two major releases after this one), those who are  using
311101       the LocalClient (either directly, or implictly via a netapi module) are
311102       encouraged to update their code to use tgt_type.
311103
311104   full_return Argument in LocalClient and RunnerClient
311105       An full_return argument has been added to the cmd and cmd_sync  methods
311106       in  LocalClient and RunnerClient which causes the return data structure
311107       to include job meta data such as retcode.
311108
311109       This is useful at the Python API:
311110
311111          >>> import salt.client
311112          >>> client = salt.client.LocalClient()
311113          >>> client.cmd('*', 'cmd.run', ['return 1'], full_return=True)
311114          {'jerry': {'jid': '20170520151213898053', 'ret': '', 'retcode': 1}}
311115
311116       As well as from salt-api:
311117
311118          % curl -b /tmp/cookies.txt -sS http://localhost:8000 \
311119              -H 'Content-type: application/json' \
311120              -d '[{
311121                  "client": "local",
311122                  "tgt": "*",
311123                  "fun": "cmd.run",
311124                  "arg": ["return 1"],
311125                  "full_return": true
311126              }]'
311127
311128          {"return": [{"jerry": {"jid": "20170520151531477653", "retcode": 1, "ret": ""}}]}
311129
311130   Jinja
311131   Filters
311132       New filters in 2017.7.0:
311133
311134       · to_bool
311135
311136       · exactly_n_true
311137
311138       · exactly_one_true
311139
311140       · quote
311141
311142       · regex_search
311143
311144       · regex_match
311145
311146       · uuid
311147
311148       · is_list
311149
311150       · is_iter
311151
311152       · min
311153
311154       · max
311155
311156       · avg
311157
311158       · union
311159
311160       · intersect
311161
311162       · difference
311163
311164       · symmetric_difference
311165
311166       · is_sorted
311167
311168       · compare_lists
311169
311170       · compare_dicts
311171
311172       · is_hex
311173
311174       · contains_whitespace
311175
311176       · substring_in_list
311177
311178       · check_whitelist_blacklist
311179
311180       · date_format
311181
311182       · str_to_num
311183
311184       · to_bytes
311185
311186       · json_decode_list
311187
311188       · json_decode_dict
311189
311190       · rand_str
311191
311192       · md5
311193
311194       · sha256
311195
311196       · sha512
311197
311198       · base64_encode
311199
311200       · base64_decode
311201
311202       · hmac
311203
311204       · http_query
311205
311206       · is_ip
311207
311208       · is_ipv4
311209
311210       · is_ipv6
311211
311212       · ipaddr
311213
311214       · ipv4
311215
311216       · ipv6
311217
311218       · network_hosts
311219
311220       · network_size
311221
311222       · gen_mac
311223
311224       · mac_str_to_bytes
311225
311226       · dns_check
311227
311228       · is_text_file
311229
311230       · is_binary_file
311231
311232       · is_empty_file
311233
311234       · file_hashsum
311235
311236       · list_files
311237
311238       · path_join
311239
311240       · which
311241
311242   Logs
311243       Another new feature - although not limited to Jinja  only  -  is  being
311244       able to log debug messages directly from the template:
311245
311246          {%- do salt.log.error('logging from jinja') -%}
311247
311248       See the logs paragraph.
311249
311250   Network Automation
311251   NAPALM
311252       Introduced  in 2016.11, the modules for cross-vendor network automation
311253       have been improved, enhanced and widenened in scope:
311254
311255       · Manage network devices like servers: the  NAPALM  modules  have  been
311256         transformed  so  they can run in both proxy and regular minions. That
311257         means, if the operating system allows, the salt-minion package can be
311258         installed  directly  on  the  network  gear. Examples of such devices
311259         (also covered by NAPALM) include: Arista, Cumulus,  Cisco  IOS-XR  or
311260         Cisco Nexus.
311261
311262       · Not  always  alive: in certain less dynamic environments, maintaining
311263         the remote connection permanently open with the network device is not
311264         always  beneficial. In those particular cases, the user can select to
311265         initialize the connection only when needed, by specifying  the  field
311266         always_alive:   false   in  the  proxy  configuration  or  using  the
311267         proxy_always_alive option.
311268
311269       · Proxy keepalive: due to external factors,  the  connection  with  the
311270         remote  device  can be dropped, e.g.: packet loss, idle time (no com‐
311271         mands issued within a couple of minutes or seconds),  or  simply  the
311272         device  decides  to  kill the process. In 2017.7.0 we have introduced
311273         the functionality to re-establish the  connection.  One  can  disable
311274         this  feature  through  the  proxy_keep_alive  option  and adjust the
311275         polling    frequency     speciying     a     custom     value     for
311276         proxy_keep_alive_interval, in minutes.
311277
311278       New modules:
311279
311280       · Netconfig  state module - Manage the configuration of network devices
311281         using arbitrary templates and the Salt-specific  advanced  templating
311282         methodologies.
311283
311284       · Network  ACL execution module - Generate and load ACL (firewall) con‐
311285         figuration on network devices.
311286
311287       · Network ACL state  -  Manage  the  firewall  configuration.  It  only
311288         requires writing the pillar structure correctly!
311289
311290       · NAPALM YANG execution module - Parse, generate and load native device
311291         configuration in a standard way, using  the  OpenConfig/IETF  models.
311292         This module contains also helpers for the states.
311293
311294       · NAPALM  YANG  state  module - Manage the network device configuration
311295         according to the YANG models (OpenConfig or IETF).
311296
311297       · NET finder - Runner to find  details  easily  and  fast.  It's  smart
311298         enough  to  know  what  you  are  looking  for. It will search in the
311299         details of the network interfaces, IP addresses, MAC address  tables,
311300         ARP tables and LLDP neighbors.
311301
311302       · BGP finder - Runner to search BGP neighbors details.
311303
311304       · NAPALM  syslog - Engine to import events from the napalm-logs library
311305         into the Salt event bus. The events are based on the syslog  messages
311306         from the network devices and structured following the OpenConfig/IETF
311307         YANG models.
311308
311309       · NAPALM Helpers - Generic helpers for NAPALM-related  operations.  For
311310         example,  the Compliance report function can be used inside the state
311311         modules to compare the expected and the existing configuration.
311312
311313       New functions:
311314
311315       · Configuration getter - Return the whole configuration of the  network
311316         device.
311317
311318       · Optics  getter  - Fetches the power usage on the various transceivers
311319         installed on the network device (in dBm).
311320
311321       New grains: Host, Host DNS, Username and Optional args.
311322
311323   Custom Refspecs in GitFS / git_pillar / winrepo
311324       It is now possible to specify the refspecs to use  when  fetching  from
311325       remote  repositories  for GitFS, git_pillar, and winrepo. More informa‐
311326       tion on how this feature works can be found here  in  the  GitFS  Walk‐
311327       through.  The  git_pillar and winrepo versions of this feature work the
311328       same as their GitFS counterpart.
311329
311330   git_pillar mountpoints Feature Added
311331       See here for detailed documentation.
311332
311333   Big Improvements to Docker Support
311334       The  old  docker  state  and  execution  modules  have  been  moved  to
311335       salt-contrib.  The dockerng execution module has been renamed to docker
311336       and now serves as Salt's official Docker execution module.
311337
311338       The old dockerng state module has been split into 4 state modules:
311339
311340       · docker_container - States to manage Docker containers
311341
311342       · docker_image - States to manage Docker images
311343
311344       · docker_volume - States to manage Docker volumes
311345
311346       · docker_network - States to manage Docker networks
311347
311348       The reason for this change was  to  make  states  and  requisites  more
311349       clear. For example, imagine this SLS:
311350
311351          myuser/appimage:
311352            docker.image_present:
311353              - sls: docker.images.appimage
311354
311355          myapp:
311356            docker.running:
311357              - image: myuser/appimage
311358              - require:
311359                - docker: myuser/appimage
311360
311361       The new syntax would be:
311362
311363          myuser/appimage:
311364            docker_image.present:
311365              - sls: docker.images.appimage
311366
311367          myapp:
311368            docker_container.running:
311369              - image: myuser/appimage
311370              - require:
311371                - docker_image: myuser/appimage
311372
311373       This  is  similar to how Salt handles MySQL, MongoDB, Zabbix, and other
311374       cases where the same execution module is used to manage several differ‐
311375       ent kinds of objects (users, databases, roles, etc.).
311376
311377       NOTE:
311378          With  the  Moby announcement coming at this year's DockerCon, Salt's
311379          docker execution module (as well as the state modules)  work  inter‐
311380          changeably  when  docker  is  replaced  with  moby  (e.g.  moby_con‐
311381          tainer.running, moby_image.present, moby.inspect_container, etc.)
311382
311383       The old syntax will continue to work  until  the  2019.2.0  release  of
311384       Salt.   The  old  dockerng naming will also continue to work until that
311385       release, so no immediate changes need to be  made  to  your  SLS  files
311386       (unless you were still using the old docker states that have been moved
311387       to salt-contrib).
311388
311389       The docker_container.running state has undergone a  significant  change
311390       in  how  it determines whether or not a container needs to be replaced.
311391       Rather than comparing individual arguments to their corresponding  val‐
311392       ues  in  the named container, a temporary container is created (but not
311393       started) using the passed arguments. The two containers are  then  com‐
311394       pared  to each other to determine whether or not there are changes, and
311395       if so, the old container is stopped and destroyed,  and  the  temporary
311396       container is renamed and started.
311397
311398       Salt still needs to translate arguments into the format which docker-py
311399       expects, but if it does not properly do so, the skip_translate argument
311400       can be used to skip input translation on an argument-by-argument basis,
311401       and you can then format your SLS file to pass the data  in  the  format
311402       that  the docker-py expects. This allows you to work around any changes
311403       in Docker's API or issues with the input translation, and  continue  to
311404       manage  your  Docker  containers using Salt. Read the documentation for
311405       skip_translate for more information.
311406
311407       NOTE:
311408          When running the docker_container.running state for the  first  time
311409          after  upgrading to 2017.7.0, your container(s) may be replaced. The
311410          changes may show diffs for certain parameters which say that the old
311411          value was an empty string, and the new value is None. This is due to
311412          the fact that in prior releases Salt was passing empty  strings  for
311413          these  values  when creating the container if they were undefined in
311414          the SLS file, where now Salt simply does not pass any arguments  not
311415          explicitly  defined  in  the  SLS file. Subsequent runs of the state
311416          should not  replace  the  container  if  the  configuration  remains
311417          unchanged.
311418
311419   New SSH Cache Roster
311420       The  SSH  cache  Roster has been rewritten from scratch to increase its
311421       usefulness.  The new roster supports all minion matchers, so it is  now
311422       possible to target minions identically through salt and salt-ssh.
311423
311424       Using  the  new  roster_order configuration syntax it's now possible to
311425       compose a roster out of any combination of grains, pillar and mine data
311426       and  even  Salt  SDB URLs.  The new release is also fully IPv4 and IPv6
311427       enabled and even has support for CIDR ranges.
311428
311429   Salt-SSH Default Options
311430       Defaults for rosters can now be set, so that they don't have to be  set
311431       on every entry in a roster or specified from the commandline.
311432
311433       The new option is roster_defaults and is specified in the master config
311434       file:
311435
311436          roster_defaults:
311437            user: daniel
311438            sudo: True
311439            priv: /root/.ssh/id_rsa
311440            tty: True
311441
311442   Blacklist or Whitelist Extmod Sync
311443       The modules that are synced to minions can now be limited.
311444
311445       The following configuration options have been added for the master:
311446
311447       · extmod_whitelist
311448
311449       · extmod_blacklist
311450
311451       and for the minion:
311452
311453       · extmod_whitelist
311454
311455       · extmod_blacklist
311456
311457   Additional Features
311458       · The mine.update function has a new optional  argument  mine_functions
311459         that  can be used to refresh mine functions at a more specific inter‐
311460         val than scheduled using the  mine_interval  option.   However,  this
311461         argument  can  be used by explicit schedule.  For example, if we need
311462         the mines for net.lldp to be refreshed every 12 hours:
311463
311464            schedule:
311465              lldp_mine_update:
311466                function: mine.update
311467                kwargs:
311468                  mine_functions:
311469                    net.lldp: []
311470                hours: 12
311471
311472       · The salt runner has a new function: salt.execute.   It  is  mainly  a
311473         shortcut  to facilitate the execution of various functions from other
311474         runners, e.g.:
311475
311476            ret1 = __salt__['salt.execute']('*', 'mod.fun')
311477
311478   New Modules
311479   Beacons
311480       · salt.beacons.log
311481
311482   Cache
311483       · salt.cache.redis_cache
311484
311485   Engines
311486       · salt.engines.stalekey
311487
311488       · salt.engines.junos_syslog
311489
311490       · salt.engines.napalm_syslog
311491
311492   Execution modules
311493       · salt.modules.apk
311494
311495       · salt.modules.at_solaris
311496
311497       · salt.modules.boto_kinesis
311498
311499       · salt.modules.boto3_elasticache
311500
311501       · salt.modules.boto3_route53
311502
311503       · salt.modules.capirca_acl
311504
311505       · salt.modules.freebsd_update
311506
311507       · salt.modules.grafana4
311508
311509       · salt.modules.heat
311510
311511       · salt.modules.icinga2
311512
311513       · salt.modules.kubernetesmod
311514
311515       · salt.modules.logmod
311516
311517       · salt.modules.mattermost
311518
311519       · salt.modules.namecheap_dns
311520
311521       · salt.modules.namecheap_domains
311522
311523       · salt.modules.namecheap_ns
311524
311525       · salt.modules.namecheap_users
311526
311527       · salt.modules.namecheap_ssl
311528
311529       · salt.modules.napalm
311530
311531       · salt.modules.napalm_acl
311532
311533       · salt.modules.napalm_yang_mod
311534
311535       · salt.modules.pdbedit
311536
311537       · salt.modules.solrcloud
311538
311539       · salt.modules.statuspage
311540
311541       · salt.modules.zonecfg
311542
311543       · salt.modules.zoneadm
311544
311545   Grains
311546       · salt.grains.metadata
311547
311548       · salt.grains.mdata
311549
311550   Outputters
311551       · salt.output.table_out
311552
311553   Pillar
311554       · salt.pillar.postgres
311555
311556       · salt.pillar.vmware_pillar
311557
311558   Returners
311559       · salt.returners.mattermost_returner
311560
311561       · salt.returners.highstate_return
311562
311563   Roster
311564       · salt.roster.cache
311565
311566   Runners
311567       · salt.runners.bgp
311568
311569       · salt.runners.mattermost
311570
311571       · salt.runners.net
311572
311573   SDB
311574       · salt.sdb.yaml
311575
311576       · salt.sdb.tism
311577
311578       · salt.sdb.cache
311579
311580   States
311581       · salt.states.boto_kinesis
311582
311583       · salt.states.boto_efs
311584
311585       · salt.states.boto3_elasticache
311586
311587       · salt.states.boto3_route53
311588
311589       · salt.states.docker_container
311590
311591       · salt.states.docker_image
311592
311593       · salt.states.docker_network
311594
311595       · salt.states.docker_volume
311596
311597       · salt.states.elasticsearch
311598
311599       · salt.states.grafana4_dashboard
311600
311601       · salt.states.grafana4_datasource
311602
311603       · salt.states.grafana4_org
311604
311605       · salt.states.grafana4_user
311606
311607       · salt.states.heat
311608
311609       · salt.states.icinga2
311610
311611       · salt.states.influxdb_continuous_query
311612
311613       · salt.states.influxdb_retention_policy
311614
311615       · salt.states.kubernetes
311616
311617       · salt.states.logadm
311618
311619       · salt.states.logrotate
311620
311621       · salt.states.msteams
311622
311623       · salt.states.netacl
311624
311625       · salt.states.netconfig
311626
311627       · salt.states.netyang
311628
311629       · salt.states.nix
311630
311631       · salt.states.pdbedit
311632
311633       · salt.states.solrcloud
311634
311635       · salt.states.statuspage
311636
311637       · salt.states.vault
311638
311639       · salt.states.win_wua
311640
311641       · salt.states.zone
311642
311643   Deprecations
311644   General Deprecations
311645       · Removed support for aliasing cmd.run to cmd.shell.
311646
311647       · Removed support for Dulwich from GitFS.
311648
311649       · Beacon configurations should be lists instead of dictionaries.
311650
311651       · The PidfileMixin has been removed. Please use DaemonMixIn instead.
311652
311653       · The     use_pending     argument     was     removed     from     the
311654         salt.utils.event.get_event function.
311655
311656       · The     pending_tags     argument     was     removed     from    the
311657         salt.utils.event.get_event function.
311658
311659   Configuration Option Deprecations
311660       · The client_acl configuration option has been removed. Please use pub‐
311661         lisher_acl instead.
311662
311663       · The  client_acl_blacklist  configuration  option  has  been  removed.
311664         Please use publisher_acl_blacklist instead.
311665
311666       · The win_gitrepos configuration option has been  removed.  Please  use
311667         the winrepo_remotes option instead.
311668
311669       · The  win_repo  configuration option has been removed. Please use win‐
311670         repo_dir instead.
311671
311672       · The win_repo_mastercachefile configuration option has  been  removed.
311673         Please use the winrepo_cachefile option instead.
311674
311675   Module Deprecations
311676       The git execution module had the following changes:
311677
311678       · The  fmt  argument  was removed from the archive function. Please use
311679         format instead.
311680
311681       · The repository argument was removed from the clone function.   Please
311682         use url instead.
311683
311684       · The  is_global  argument  was  removed  from the config_set function.
311685         Please use global instead.
311686
311687       · The branch argument was removed from the merge function.  Please  use
311688         rev instead.
311689
311690       · The  branch  argument  was removed from the push function. Please use
311691         rev instead.
311692
311693       The glusterfs execution module had the following functions removed:
311694
311695       · create: Please use create_volume instead.
311696
311697       · delete: Please use delete_volume instead.
311698
311699       · list_peers: Please use peer_status instead.
311700
311701       The htpasswd execution module had the following function removed:
311702
311703       · useradd_all: Please use useradd instead.
311704
311705       The img execution module has been removed. All of its associated  func‐
311706       tions  were  marked  for removal in the 2017.7.0 release. The functions
311707       removed in this module are mapped as follows:
311708
311709       · mount_image/mnt_image: Please use mount.mount instead.
311710
311711       · umount_image: Please use mount.umount instead.
311712
311713       · bootstrap: Please use genesis.bootstrap instead.
311714
311715       The smartos_virt execution module had the following functions removed:
311716
311717       · create: Please use start instead.
311718
311719       · destroy Please use stop instead.
311720
311721       · list_vms: Please use list_domains instead.
311722
311723       The virt execution module had the following functions removed:
311724
311725       · create: Please use start instead.
311726
311727       · destroy Please use stop instead.
311728
311729       · list_vms: Please use list_domains instead.
311730
311731       The virtualenv_mod execution module had the following changes:
311732
311733       · The  package_or_requirement  argument  was  removed  from  both   the
311734         get_resource_path and the get_resource_content functions.  Please use
311735         package instead.
311736
311737       · The   resource_name   argument   was   removed    from    both    the
311738         get_resource_path  and  get_resource_content  functions.   Please use
311739         resource instead.
311740
311741       The win_repo execution module had the following changes:
311742
311743       · The win_repo_source_dir option was removed from the win_repo  module.
311744         Please use winrepo_source_dir instead.
311745
311746       The xapi execution module had the following functions removed:
311747
311748       · create: Please use start instead.
311749
311750       · destroy: Please use stop instead.
311751
311752       · list_vms: Please use list_domains instead.
311753
311754       The zypper execution module had the following function removed:
311755
311756       · info: Please use info_available instead.
311757
311758   Pillar Deprecations
311759       · Support  for  the  raw_data argument for the file_tree ext_pillar has
311760         been removed. Please use keep_newline instead.
311761
311762       · SQLite3 database connection configuration previously had  keys  under
311763         pillar. This legacy compatibility has been removed.
311764
311765   Proxy Minion Deprecations
311766       · The proxy_merge_grains_in_module default has been switched from False
311767         to True.
311768
311769   Salt-API Deprecations
311770       · The  SaltAPI.run()  function  has  been  removed.  Please   use   the
311771         SaltAPI.start() function instead.
311772
311773   Salt-Cloud Deprecations
311774       · Support  for using the keyword provider in salt-cloud provider config
311775         files has been removed. Please use driver instead. The provider  key‐
311776         word should now only be used in cloud profile config files.
311777
311778   Salt-SSH Deprecations
311779       · The  wipe_ssh  option  for  salt-ssh has been removed. Please use the
311780         ssh_wipe option instead.
311781
311782   State Deprecations
311783       The apache_conf state had the following functions removed:
311784
311785       · disable: Please use disabled instead.
311786
311787       · enable: Please use enabled instead.
311788
311789       The apache_module state had the following functions removed:
311790
311791       · disable: Please use disabled instead.
311792
311793       · enable: Please use enabled instead.
311794
311795       The apache_site state had the following functions removed:
311796
311797       · disable: Please use disabled instead.
311798
311799       · enable: Please use enabled instead.
311800
311801       The chocolatey state had the following functions removed:
311802
311803       · install: Please use installed instead.
311804
311805       · uninstall: Please use uninstalled instead.
311806
311807       The git state had the following changes:
311808
311809       · The config function was removed. Please use config_set instead.
311810
311811       · The is_global  option  was  removed  from  the  config_set  function.
311812         Please use global instead.
311813
311814       · The  always_fetch  option was removed from the latest function, as it
311815         no longer has any effect. Please see the 2015.8.0 release  notes  for
311816         more information.
311817
311818       · The  force  option  was  removed from the latest function. Please use
311819         force_clone instead.
311820
311821       · The remote_name option was removed from the latest function.   Please
311822         use remote instead.
311823
311824       The glusterfs state had the following function removed:
311825
311826       · created: Please use volume_present instead.
311827
311828       The openvswitch_port state had the following change:
311829
311830       · The  type  option  was  removed from the present function. Please use
311831         tunnel_type instead.
311832
311833   Build Notes
311834   Windows Installer Packages
311835       Windows Installer packages have been patched  with  the  following  PR:
311836       42347
311837
311838   Salt 2017.7.1 Release Notes
311839       Version 2017.7.1 is a bugfix release for 2017.7.0.
311840
311841   Statistics
311842       · Total Merges: 16
311843
311844       · Total Issue References: 12
311845
311846       · Total PR References: 31
311847
311848       · Contributors:  11  (Ch3LL, TiteiKo, garethgreenaway, gtmanfred, llua,
311849         rallytime, seedickcode, skizunov, terminalmage, twangboy, whiteinge)
311850
311851   Security Fix
311852       CVE-2017-12791 Maliciously crafted minion IDs can cause unwanted direc‐
311853       tory traversals on the Salt-master
311854
311855       Correct  a  flaw in minion id validation which could allow certain min‐
311856       ions to authenticate to a master despite not having the correct creden‐
311857       tials.  To  exploit  the  vulnerability,  an  attacker  must  create  a
311858       salt-minion with an ID containing characters that will cause  a  direc‐
311859       tory  traversal.  Credit  for  discovering  the  security flaw goes to:
311860       Vernhk@qq.com
311861
311862   Changelog for v2017.7.0..v2017.7.1
311863       Generated at: 2018-05-26 20:28:44 UTC
311864
311865       · ISSUE saltstack/salt-jenkins#460: (Ch3LL) decorator tests failing  on
311866         python3 (refs: #42548)
311867
311868       · PR  #42595:  (gtmanfred)  make  sure to pass arg as well @ 2017-07-28
311869         16:21:58 UTC
311870
311871         · PR #42548: (gtmanfred) pass  in  empty  kwarg  for  reactor  (refs:
311872           #42595)
311873
311874         · a50fe5433a Merge pull request #42595 from gtmanfred/2017.7.1
311875
311876         · 8f73804b24 make sure to pass arg as well
311877
311878       · PR  #42597:  (rallytime)  Back-port  #42590  to 2017.7.1 @ 2017-07-28
311879         00:20:01 UTC
311880
311881         · PR #42590: (TiteiKo) Fix missing tornado import (refs: #42597)
311882
311883         · 3b583330de Merge pull request #42597 from rallytime/bp-42590
311884
311885         · 8818b06f22 Fix missing tornado import
311886
311887       · ISSUE #42404: (gabekahen) [2017.7] file.managed  with  cmd_check  "No
311888         such file or directory" (refs: #42411)
311889
311890       · ISSUE  #33708:  (pepinje)  visudo  check command leaves cache file in
311891         /tmp (refs: #38063, #42411)
311892
311893       · PR #42598: (rallytime) Back-port  #42411  to  2017.7.1  @  2017-07-28
311894         00:19:13 UTC
311895
311896         · PR  #42411: (seedickcode) Fix file.managed check_cmd file not found
311897           - Issue #42404 (refs: #42598)
311898
311899         · PR #38063: (llua) tmp file clean up in file.manage - fix for #33708
311900           (refs: #42411)
311901
311902         · 76f1e53e10 Merge pull request #42598 from rallytime/bp-42411
311903
311904         · 190cdb8693 Fix file.managed check_cmd file not found - Issue #42404
311905
311906       · PR  #42564:  (rallytime)  Back-port  #42555  to 2017.7.1 @ 2017-07-26
311907         17:32:02 UTC
311908
311909         · PR #42555: (Ch3LL) add changelog to 2017.7.1 release  notes  (refs:
311910           #42564)
311911
311912         · 5c7def9a43 Merge pull request #42564 from rallytime/bp-42555
311913
311914         · 7bcaa5a4cc small markup fix for title
311915
311916         · d066b599ca add changelog to 2017.7.1 release notes
311917
311918       · ISSUE  saltstack/salt-jenkins#460: (Ch3LL) decorator tests failing on
311919         python3 (refs: #42548)
311920
311921       · PR #42548: (gtmanfred) pass in empty kwarg for reactor (refs: #42595)
311922         @ 2017-07-26 00:41:20 UTC
311923
311924         · 711b742c54 Merge pull request #42548 from gtmanfred/2017.7.1
311925
311926         · 0257c1dc32 pass in empty kwarg for reactor
311927
311928         · b948e980d2 update chunk, not kwarg in chunk
311929
311930       · ISSUE  #42519:  (xuhcc) Error when installing package from file under
311931         Arch Linux (refs: #42522)
311932
311933       · PR  #42522:  (gtmanfred)  pacman  wildcard  is  only  for  repository
311934         installs @ 2017-07-24 20:51:05 UTC
311935
311936         · 50c1635dcc Merge pull request #42522 from gtmanfred/2017.7.1
311937
311938         · 7787fb9e1b pacman wildcard is only for repository installs
311939
311940       · PR  #42508:  (rallytime)  Back-port  #42474  to 2017.7.1 @ 2017-07-24
311941         20:49:51 UTC
311942
311943         · PR #42474: (whiteinge) Cmd arg kwarg parsing test (refs: #42508)
311944
311945         · PR #39646: (terminalmage) Handle deprecation of passing string args
311946           to load_args_and_kwargs (refs: #42474)
311947
311948         · 05c07ac049 Merge pull request #42508 from rallytime/bp-42474
311949
311950         · 76fb074433  Add  a  test.arg  variant that cleans the pub kwargs by
311951           default
311952
311953         · 624f63648e Lint fixes
311954
311955         · d246a5fc61 Add back support for string kwargs
311956
311957         · 854e098aa0 Add LocalClient.cmd test for arg/kwarg parsing
311958
311959       · ISSUE #42427: (grichmond-salt) Issue Passing Variables  created  from
311960         load_json as Inline Pillar Between States (refs: #42435)
311961
311962       · PR  #42472:  (rallytime)  Back-port  #42435  to 2017.7.1 @ 2017-07-24
311963         15:11:13 UTC
311964
311965         · PR #42435: (terminalmage) Modify our custom YAML  loader  to  treat
311966           unicode literals as unicode strings (refs: #42472)
311967
311968         · 95fe2558e4 Merge pull request #42472 from rallytime/bp-42435
311969
311970         · 5c47af5b98  Modify our custom YAML loader to treat unicode literals
311971           as unicode strings
311972
311973       · ISSUE #42374: (tyhunt99) [2017.7.0]  salt-run  mange.versions  throws
311974         exception if minion is offline or unresponsive (refs: #42436)
311975
311976       · PR  #42473:  (rallytime)  Back-port  #42436  to 2017.7.1 @ 2017-07-24
311977         15:10:29 UTC
311978
311979         · PR #42436: (garethgreenaway) Fixes to versions function  in  manage
311980           runner (refs: #42473)
311981
311982         · 5b99d45f54 Merge pull request #42473 from rallytime/bp-42436
311983
311984         · 82ed919803  Updating the versions function inside the manage runner
311985           to account for when a minion is offline and we are unable to deter‐
311986           mine it's version.
311987
311988       · ISSUE  #42381:  (zebooka)  Git.detached  broken  in  2017.7.0  (refs:
311989         #42399)
311990
311991       · ISSUE  #38878:  (tomlaredo)  [Naming  consistency]  git.latest  "rev"
311992         option VS git.detached "ref" option (refs: #38898)
311993
311994       · PR  #42471:  (rallytime)  Back-port  #42399  to 2017.7.1 @ 2017-07-24
311995         15:09:50 UTC
311996
311997         · PR #42399: (rallytime) Update old  "ref"  references  to  "rev"  in
311998           git.detached state (refs: #42471)
311999
312000         · PR  #38898: (terminalmage) git.detached: rename ref to rev for con‐
312001           sistency (refs: #42399)
312002
312003         · 3d1a2d3f9f Merge pull request #42471 from rallytime/bp-42399
312004
312005         · b9a4669e5a Update old "ref" references  to  "rev"  in  git.detached
312006           state
312007
312008       · ISSUE  #42400: (Enquier) Conflict in execution of passing pillar data
312009         to orch/reactor event executions 2017.7.0 (refs: #42031)
312010
312011       · PR #42470: (rallytime) Back-port  #42031  to  2017.7.1  @  2017-07-24
312012         15:09:30 UTC
312013
312014         · PR  #42031:  (skizunov)  Fix:  Reactor  emits critical error (refs:
312015           #42470)
312016
312017         · 09766bccbc Merge pull request #42470 from rallytime/bp-42031
312018
312019         · 0a0c6287a4 Fix: Reactor emits critical error
312020
312021       · ISSUE #41949: (jrporcaro) Event returner doesn't  work  with  Windows
312022         Master (refs: #42027)
312023
312024       · PR  #42469:  (rallytime)  Back-port  #42027  to 2017.7.1 @ 2017-07-21
312025         22:41:02 UTC
312026
312027         · PR #42027: (gtmanfred) import salt.minion for EventReturn for  Win‐
312028           dows (refs: #42469)
312029
312030         · d7b172a15b Merge pull request #42469 from rallytime/bp-42027
312031
312032         · ed612b4ee7 import salt.minion for EventReturn for Windows
312033
312034       · PR  #42466:  (rallytime)  Back-port  #42452  to 2017.7.1 @ 2017-07-21
312035         19:41:24 UTC
312036
312037         · PR #42452: (Ch3LL) update windows urls to new py2/py3 naming scheme
312038           (refs: #42466)
312039
312040         · 8777b1a825 Merge pull request #42466 from rallytime/bp-42452
312041
312042         · c10196f68c update windows urls to new py2/py3 naming scheme
312043
312044       · PR  #42439:  (rallytime)  Back-port  #42409  to 2017.7.1 @ 2017-07-21
312045         17:38:10 UTC
312046
312047         · PR #42409: (twangboy) Add  Scripts  to  build  Py3  on  Mac  (refs:
312048           #42439)
312049
312050         · fceaaf41d0 Merge pull request #42439 from rallytime/bp-42409
312051
312052         · 8176964b41 Remove build and dist, sign pkgs
312053
312054         · 2c14d92a07 Fix hard coded pip path
312055
312056         · 82fdd7c2e1 Add support for Py3
312057
312058         · 2478447246 Update Python and other reqs
312059
312060       · ISSUE  #42403:  (astronouth7303)  [2017.7] Pillar empty when state is
312061         applied from orchestrate (refs: #42433)
312062
312063       · PR #42441: (rallytime) Back-port  #42433  to  2017.7.1  @  2017-07-21
312064         17:37:01 UTC
312065
312066         · PR  #42433:  (terminalmage)  Only  force  saltenv/pillarenv to be a
312067           string when not None (refs: #42441)
312068
312069         · 660400560b Merge pull request #42441 from rallytime/bp-42433
312070
312071         · 17f347123a Only force saltenv/pillarenv to be  a  string  when  not
312072           None
312073
312074   Salt 2017.7.2 Release Notes
312075       Version 2017.7.2 is a bugfix release for 2017.7.0.
312076
312077   Statistics
312078       · Total Merges: 329
312079
312080       · Total Issue References: 73
312081
312082       · Total PR References: 236
312083
312084       · Contributors:  47  (Ch3LL, CorvinM, DmitryKuzmenko, Giandom, Mapel88,
312085         Mareo, SuperPommeDeTerre, The-Loeki, abulford, amendlik, blarghmatey,
312086         brejoc,  cachedout, carsonoid, cro, damon-atkins, darcoli, dmurphy18,
312087         frankiexyz, garethgreenaway, gtmanfred, hibbert, isbm, ixs,  jettero,
312088         jmarinaro,   justincbeard,  kkoppel,  llua,  lomeroe,  m03,  mcalmer,
312089         mirceaulinic,   morganwillcock,   nhavens,   pabloh007,    rallytime,
312090         seedickcode,   shengis,   skizunov,  terminalmage,  the-glu,  thusoy,
312091         twangboy, vitaliyf, vutny, whiteinge)
312092
312093   Security Fix
312094       CVE-2017-14695 Directory traversal vulnerability in minion  id  valida‐
312095       tion  in SaltStack. Allows remote minions with incorrect credentials to
312096       authenticate to a master via a crafted minion ID. Credit for  discover‐
312097       ing the security flaw goes to: Julian Brost (julian@0x4a42.net)
312098
312099       CVE-2017-14696  Remote  Denial  of  Service  with  a  specially crafted
312100       authentication request. Credit for discovering the security  flaw  goes
312101       to: Julian Brost (julian@0x4a42.net)
312102
312103   Changelog for v2017.7.1..v2017.7.2
312104       Generated at: 2018-05-26 21:06:12 UTC
312105
312106       · PR  #43868:  (rallytime)  Back-port  #43847  to 2017.7.2 @ 2017-10-03
312107         12:00:52 UTC
312108
312109         · PR #43847: (cachedout) Fix to module.run  (refs: #43868)
312110
312111         · dd0b3388cf Merge pull request #43868 from rallytime/bp-43847
312112
312113         · e21d8e9583 Use six.iterkeys() instead of dict.keys()
312114
312115         · c297ae5557 Improve failures for module.run states
312116
312117         · 782e67c199 Lint
312118
312119         · a6c2d78518 Fix typo found by @s0undt3ch
312120
312121         · 0cac15e502 Fix to module.run [WIP]
312122
312123       · PR #43871: (rallytime) Add updated release notes to 2017.7.2 branch @
312124         2017-10-03 11:59:29 UTC
312125
312126         · 47af4ae38a     Merge    pull    request    #43871    from    rally‐
312127           time/update-release-notes
312128
312129         · 2337904656 Add updated release notes to 2017.7.2 branch
312130
312131       · PR #43756:  (gtmanfred)  split  build  and  install  for  pkg  osx  @
312132         2017-09-26 20:51:28 UTC
312133
312134         · 88414d5f73 Merge pull request #43756 from gtmanfred/2017.7.2
312135
312136         · f7df41fa94 split build and install for pkg osx
312137
312138       · ISSUE  #43077:  (Manoj2087) Issue with  deleting key via wheel (refs:
312139         #43330)
312140
312141       · PR #43585: (rallytime) Back-port  #43330  to  2017.7.2  @  2017-09-19
312142         17:33:34 UTC
312143
312144         · PR  #43330:  (terminalmage)  Fix reactor regression + unify reactor
312145           config schema (refs: #43585)
312146
312147         · 89f629233f Merge pull request #43585 from rallytime/bp-43330
312148
312149         · c4f693bae8 Merge branch '2017.7.2' into bp-43330
312150
312151       · ISSUE #43447: (UtahDave) When using Syndic with Multi Master the  top
312152         level  master  doesn't reliably get returns from lower minion. (refs:
312153         #43526)
312154
312155       · PR #43586: (rallytime) Back-port  #43526  to  2017.7.2  @  2017-09-19
312156         15:36:27 UTC
312157
312158         · PR  #43526:  (DmitryKuzmenko)  Forward events to all masters syndic
312159           connected to (refs: #43586)
312160
312161         · abb7fe4422 Merge pull request #43586 from rallytime/bp-43526
312162
312163         · e076e9b634 Forward events to all masters syndic connected to.
312164
312165         · 7abd07fa07 Simplify client logic
312166
312167         · b5f10696c2 Improve the reactor documentation
312168
312169         · 7a2f12b96a Include a better example for reactor in master conf file
312170
312171         · 531cac610e Rewrite the reactor unit tests
312172
312173         · 2a35ab7f39 Unify reactor configuration, fix caller reactors
312174
312175         · 4afb179bad Un-deprecate passing kwargs outside of 'kwarg' param
312176
312177       · PR #43551: (twangboy) Fix preinstall script on  OSX  for  2017.7.2  @
312178         2017-09-18 18:35:35 UTC
312179
312180         · 3d3b09302d  Merge  pull request #43551 from twangboy/osx_fix_prein‐
312181           stall_2017.7.2
312182
312183         · c3d9fb63f0 Merge branch '2017.7.2' into osx_fix_preinstall_2017.7.2
312184
312185       · PR #43509: (rallytime) Back-port  #43333  to  2017.7.2  @  2017-09-15
312186         21:21:40 UTC
312187
312188         · PR  #43333:  (damon-atkins)  Docs  are  wrong  cache_dir (bool) and
312189           cache_file (str) cannot be passed as params + 1 bug (refs: #43509)
312190
312191         · 24691da888    Merge    pull    request    #43509    from     rally‐
312192           time/bp-43333-2017.7.2
312193
312194         · b3dbafb035 Update doco
312195
312196         · 5cdcdbf428 Update win_pkg.py
312197
312198         · c3e16661c3  Docs  are  wrong  cache_dir (bool) and cache_file (str)
312199           cannot be passed on the cli (#2)
312200
312201         · f33395f1ee Fix logic in /etc/paths.d/salt detection
312202
312203       · PR #43440: (rallytime) Back-port  #43421  to  2017.7.2  @  2017-09-11
312204         20:59:53 UTC
312205
312206         · PR  #43421:  (gtmanfred) Revert "Reduce fileclient.get_file latency
312207           by merging _file_find and … (refs: #43440)
312208
312209         · 8964cacbf8 Merge pull request #43440 from rallytime/bp-43421
312210
312211         · ea6e661755 Revert "Reduce fileclient.get_file  latency  by  merging
312212           _file_find and _file_hash"
312213
312214       · PR  #43377:  (rallytime)  Back-port  #43193  to 2017.7.2 @ 2017-09-11
312215         15:32:23 UTC
312216
312217         · PR #43193: (jettero) Prevent spurious  "Template  does  not  exist"
312218           error (refs: #43377)
312219
312220         · PR  #39516:  (jettero)  Prevent  spurious "Template does not exist"
312221           error (refs: #43193)
312222
312223         · 7fda186b18 Merge pull request #43377 from rallytime/bp-43193
312224
312225         · 842b07fd25 Prevent spurious "Template does not exist" error
312226
312227       · ISSUE #42459: (iavael) Broken ldap groups retrieval in salt.auth.ldap
312228         after upgrade to 2017.7 (refs: #43283)
312229
312230       · PR  #43315:  (rallytime)  Back-port  #43283  to 2017.7.2 @ 2017-09-05
312231         20:04:25 UTC
312232
312233         · PR #43283: (DmitryKuzmenko) Fix  ldap  token  groups  auth.  (refs:
312234           #43315)
312235
312236         · 85dba1e898 Merge pull request #43315 from rallytime/bp-43283
312237
312238         · f29f5b0cce  Fix  for  tests:  don't  require  'groups' in the eauth
312239           token.
312240
312241         · 56938d5bf2 Fix ldap token groups auth.
312242
312243       · ISSUE #43259: (mahesh21) NameError: global  name  '__opts__'  is  not
312244         defined (refs: #43266)
312245
312246       · PR   #43266:  (gtmanfred)  switch  virtualbox  cloud  driver  to  use
312247         __utils__ @ 2017-08-30 18:36:20 UTC
312248
312249         · 26ff8088cb Merge pull request #43266 from gtmanfred/virtualbox
312250
312251         · 382bf92de7 switch virtualbox cloud driver to use __utils__
312252
312253       · ISSUE #42936:  (Mapel88)  bug  in  win_iis  module  &  state  -  con‐
312254         tainer_setting (refs: #43073)
312255
312256       · PR  #43073:  (Mapel88) Fix bug #42936 - win_iis module container set‐
312257         tings @ 2017-08-30 18:34:37 UTC
312258
312259         · ee209b144c Merge pull request #43073 from Mapel88/patch-2
312260
312261         · b1a3d15b28 Remove trailing whitespace for linter
312262
312263         · 25c8190e48 Fix pylint errors
312264
312265         · 1eba8c4b8e Fix pylint errors
312266
312267         · 290d7b54af Fix plint errors
312268
312269         · f4f32421ab Fix plint errors
312270
312271         · ec20e9a19a Fix bug #43110 - win_iis module
312272
312273         · 009ef6686b Fix dictionary keys from string to int
312274
312275         · dc793f9a05 Fix bug #42936 - win_iis state
312276
312277         · 13404a47b5 Fix bug #42936 - win_iis module
312278
312279       · PR #43254: (twangboy) Fix unit.modules.test_inspect_collector on Win‐
312280         dows @ 2017-08-30 15:46:07 UTC
312281
312282         · ec1bedc646     Merge    pull    request    #43254    from    twang‐
312283           boy/win_fix_test_inspect_collector
312284
312285         · b401340e6c Fix unit.modules.test_inspect_collector on Windows
312286
312287       · ISSUE #43241: (mirceaulinic) Error whilst  collecting  napalm  grains
312288         (refs: #43255)
312289
312290       · PR  #43255:  (gtmanfred)  always  return  a  dict object @ 2017-08-30
312291         14:47:15 UTC
312292
312293         · 1fc7307735 Merge pull request #43255 from gtmanfred/2017.7
312294
312295         · 83b0bab34b opt_args needs to be a dict
312296
312297       · PR  #43229:  (twangboy)  Bring  changes  from  #43228  to  2017.7   @
312298         2017-08-30 14:26:55 UTC
312299
312300         · PR #43228: (twangboy) Win fix pkg.install (refs: #43229)
312301
312302         · fa904ee225     Merge    pull    request    #43229    from    twang‐
312303           boy/win_fix_pkg.install-2017.7
312304
312305         · e007a1c26e Fix regex, add .
312306
312307         · 23ec47c74c Add _ to regex search
312308
312309         · b1788b1e5f Bring changes from #43228 to 2017.7
312310
312311       · PR #43251: (twangboy) Skips unit.modules.test_groupadd on  Windows  @
312312         2017-08-30 13:56:36 UTC
312313
312314         · 25666f88f7     Merge    pull    request    #43251    from    twang‐
312315           boy/win_skip_test_groupadd
312316
312317         · 5185071d5a Skips unit.modules.test_groupadd on Windows
312318
312319       · PR #43256: (twangboy) Skip mac tests for user and group @  2017-08-30
312320         13:18:13 UTC
312321
312322         · a8e09629b2     Merge    pull    request    #43256    from    twang‐
312323           boy/win_skip_mac_tests
312324
312325         · cec627a60b Skip mac tests for user and group
312326
312327       · ISSUE #42279: (dafyddj) win_lgpo matches  multiple  policies  due  to
312328         startswith() (refs: #43116, #43156, #43166, #43226)
312329
312330       · PR  #43226:  (lomeroe)  Fixes  for  issues  in PR #43166 @ 2017-08-29
312331         19:05:39 UTC
312332
312333         · PR #43166: (lomeroe) Backport #43116 to 2017.7 (refs: #43226)
312334
312335         · PR #43156: (lomeroe) Backport #43116 to 2017.7 (refs: #43166)
312336
312337         · PR #43116: (lomeroe) Fix 42279 in develop (refs: #43166, #43156)
312338
312339         · PR #39773: (twangboy) Make win_file  use  the  win_dacl  salt  util
312340           (refs: #43226)
312341
312342         · ac2189c870 Merge pull request #43226 from lomeroe/fix_43166
312343
312344         · 0c424dc4a3 Merge branch '2017.7' into fix_43166
312345
312346         · 324cfd8d1e  correcting bad format statement in search for policy to
312347           be disabled  (fix  for  #43166)  verify  that  file  exists  before
312348           attempting to remove (fix for commits from #39773)
312349
312350       · PR  #43227:  (twangboy)  Fix unit.fileserver.test_gitfs for Windows @
312351         2017-08-29 19:03:36 UTC
312352
312353         · 6199fb46dc    Merge    pull    request    #43227    from     twang‐
312354           boy/win_fix_unit_test_gitfs
312355
312356         · c956d24283 Fix is_windows detection when USERNAME missing
312357
312358         · 869e8cc603 Fix unit.fileserver.test_gitfs for Windows
312359
312360       · PR  #43217: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
312361         @ 2017-08-28 16:36:28 UTC
312362
312363         · 6adc03e4b4 Merge pull request #43217 from rallytime/merge-2017.7
312364
312365         · 3911df2f4b Merge branch '2016.11' into '2017.7'
312366
312367         · 5308c27f9f   Merge   pull   request   #43202   from    garethgreen‐
312368           away/42642_2016_11_augeas_module_revert_fix
312369
312370           · ef7e93eb3f Reverting this change due to it breaking other uses.
312371
312372         · f16b7246e4   Merge  pull  request  #43103  from  aogier/43101-gene‐
312373           sis-bootstrap
312374
312375           · db94f3bb1c better formatting
312376
312377           · e5cc667762 tests: fix a leftover and simplify some parts
312378
312379           · 13e5997457 lint
312380
312381           · 216ced69e5 allow comma-separated pkgs lists, quote args, test deb
312382             behaviour
312383
312384           · d8612ae006  fix  debootstrap and enhance packages selection/dele‐
312385             tion via cmdline
312386
312387         · 4863771428   Merge   pull   request   #42663    from    StreetHawk‐
312388           Inc/fix_git_tag_check
312389
312390           · 2b5af5b59d Remove refs/tags prefix from remote tags
312391
312392           · 3f2e96e561 Convert set to list for serializer
312393
312394           · 2728e5d977 Only include new tags in changes
312395
312396           · 4b1df2f223 Exclude annotated tags from checks
312397
312398           · 389c037285 Check remote tags before deciding to do a fetch #42329
312399
312400       · PR  #43201: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
312401         @ 2017-08-25 22:56:46 UTC
312402
312403         · a563a9422a Merge pull request #43201 from rallytime/merge-2017.7
312404
312405         · d40eba6b37 Merge branch '2016.11' into '2017.7'
312406
312407           · 4193e7f0a2 Merge pull request  #43199  from  corywright/disk-for‐
312408             mat-alias
312409
312410             · f00d3a9ddc Add disk.format alias for disk.format_
312411
312412           · 5471f9fe0c Merge pull request #43196 from gtmanfred/2016.11
312413
312414             · ccd2241777 Pin request install to version
312415
312416           · ace2715c60 Merge pull request #43178 from terminalmage/issue43143
312417
312418             · 2640833400 git.detached: Fix traceback when rev is a SHA and is
312419               not present locally
312420
312421           · 12e9507b9e Merge pull request #43179 from terminalmage/old-depre‐
312422             cation
312423
312424             · 3adf8ad04b Fix missed deprecation
312425
312426           · b595440d90    Merge    pull   request   #43171   from   terminal‐
312427             mage/salt-utils-warning
312428
312429             · 7b5943a31a  Add  warning  about   adding   new   functions   to
312430               salt/utils/__init__.py
312431
312432           · 4f273cac4f Merge pull request #43173 from Ch3LL/add_branch_docs
312433
312434             · 1b24244bd3 Add New Release Branch Strategy to Contribution Docs
312435
312436       · PR  #42997:  (twangboy) Fix unit.test_test_module_names for Windows @
312437         2017-08-25 21:19:11 UTC
312438
312439         · ce04ab4286    Merge    pull    request    #42997    from     twang‐
312440           boy/win_fix_test_module_names
312441
312442         · 2722e9521d Use os.path.join to create paths
312443
312444       · ISSUE #26995: (jbouse) Issue with artifactory.downloaded and snapshot
312445         artifacts (refs: #43006)
312446
312447       · PR  #43006:  (SuperPommeDeTerre)  Try  to  fix  #26995  @  2017-08-25
312448         21:16:07 UTC
312449
312450         · c0279e491e       Merge      pull      request      #43006      from
312451           SuperPommeDeTerre/SuperPommeDeTerre-patch-#26995
312452
312453         · 30dd6f5d12  Merge  remote-tracking  branch  'upstream/2017.7'  into
312454           SuperPommeDeTerre-patch-#26995
312455
312456         · f42ae9b8cd   Merge   branch   'SuperPommeDeTerre-patch-#26995'   of
312457           https://github.com/SuperPommeDeTerre/salt    into     SuperPommeDe‐
312458           Terre-patch-#26995
312459
312460           · 50ee3d5682  Merge  remote-tracking branch 'remotes/origin/2017.7'
312461             into SuperPommeDeTerre-patch-#26995
312462
312463           · 0b666e100b Fix typo.
312464
312465           · 1b8729b3e7 Fix for #26995
312466
312467         · e314102978 Fix typo.
312468
312469         · db11e1985b Fix for #26995
312470
312471       · ISSUE #43162: (MorphBonehunter) docker_container.running interference
312472         with restart_policy  (refs: #43184)
312473
312474       · PR  #43184:  (terminalmage) docker.compare_container: Perform boolean
312475         comparison when one side's value is null/None @  2017-08-25  18:42:11
312476         UTC
312477
312478         · b6c5314fe9 Merge pull request #43184 from terminalmage/issue43162
312479
312480         · 081f42ad71  docker.compare_container:  Perform  boolean  comparison
312481           when one side's value is null/None
312482
312483       · PR #43165: (mirceaulinic) Improve napalm state output in debug mode @
312484         2017-08-24 23:05:37 UTC
312485
312486         · 688125bb4f Merge pull request #43165 from cloudflare/fix-napalm-ret
312487
312488         · c10717dc89 Lint and fix
312489
312490         · 1cd33cbaa9 Simplify the loaded_ret logic
312491
312492         · 0bbea6b04c Document the new compliance_report arg
312493
312494         · 3a906109bd Include compliance reports
312495
312496         · 3634055e34 Improve napalm state output in debug mode
312497
312498       · PR  #43155: (terminalmage) Resolve image ID during container compari‐
312499         son @ 2017-08-24 22:09:47 UTC
312500
312501         · a6a327b1e5 Merge pull request #43155 from terminalmage/issue43001
312502
312503         · 0186835ebf Fix docstring in test
312504
312505         · a0bb654e46 Fixing lint issues
312506
312507         · d5b2a0be68 Resolve image ID during container comparison
312508
312509       · PR #43170: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
312510         @ 2017-08-24 19:22:26 UTC
312511
312512         · c071fd44c8 Merge pull request #43170 from rallytime/merge-2017.7
312513
312514         · 3daad5a3a2 Merge branch '2016.11' into '2017.7'
312515
312516           · 669b376abf Merge pull request #43151 from ushmodin/2016.11
312517
312518             · c5841e2ade  state.sls hangs on file.recurse with clean: True on
312519               windows
312520
312521       · ISSUE #43040: (darcoli) gitFS ext_pillar  with  branch  name  __env__
312522         results in empty pillars (refs: #43041)
312523
312524       · PR  #43168:  (rallytime)  Back-port  #43041  to  2017.7  @ 2017-08-24
312525         19:07:23 UTC
312526
312527         · PR #43041: (darcoli) Do not try to  match  pillarenv  with  __env__
312528           (refs: #43168)
312529
312530         · 034c325a09 Merge pull request #43168 from rallytime/bp-43041
312531
312532         · d010b74b87 Do not try to match pillarenv with __env__
312533
312534       · PR   #43172:   (rallytime)   Move   new  utils/__init__.py  funcs  to
312535         utils.files.py @ 2017-08-24 19:05:30 UTC
312536
312537         · PR  #43056:  (damon-atkins)  safe_filename_leaf(file_basename)  and
312538           safe_filepath(file_path_name) (refs: #43172)
312539
312540         · d48938e6b4     Merge    pull    request    #43172    from    rally‐
312541           time/move-utils-funcs
312542
312543         · 5385c7901e Move new utils/__init__.py funcs to utils.files.py
312544
312545       · ISSUE #43043: (pabloh007) docker.save and docker.load problem  (refs:
312546         #43061)
312547
312548       · PR #43061: (pabloh007) Have docker.save use the image name when valid
312549         if not use image id, i… @ 2017-08-24 16:32:02 UTC
312550
312551         · e60f586442      Merge      pull      request      #43061       from
312552           pabloh007/fix-save-image-name-id
312553
312554         · 0ffc57d1df  Have  docker.save  use the image name when valid if not
312555           use image id, issue when loading and image is savid with  id  issue
312556           #43043
312557
312558       · ISSUE  #42279:  (dafyddj)  win_lgpo  matches multiple policies due to
312559         startswith() (refs: #43116, #43156, #43166, #43226)
312560
312561       · PR #43166: (lomeroe) Backport  #43116  to  2017.7  (refs:  #43226)  @
312562         2017-08-24 15:01:23 UTC
312563
312564         · PR #43156: (lomeroe) Backport #43116 to 2017.7 (refs: #43166)
312565
312566         · PR #43116: (lomeroe) Fix 42279 in develop (refs: #43166, #43156)
312567
312568         · 9da57543f8 Merge pull request #43166 from lomeroe/bp-43116-2017.7
312569
312570         · af181b3257 correct fopen calls from salt.utils for 2017.7
312571
312572         · f74480f11e lint fix
312573
312574         · ecd446fd55  track  xml namespace to ensure policies w/duplicate IDs
312575           or Names do not conflict
312576
312577         · 9f3047c420 add additional checks for ADM  policies  that  have  the
312578           same ADMX policy ID (#42279)
312579
312580       · PR   #43056:   (damon-atkins)  safe_filename_leaf(file_basename)  and
312581         safe_filepath(file_path_name) (refs: #43172)  @  2017-08-23  17:35:02
312582         UTC
312583
312584         · 44b3caead1 Merge pull request #43056 from damon-atkins/2017.7
312585
312586         · 08ded1546e more lint
312587
312588         · 6e9c0957fb fix typo
312589
312590         · ee41171c9f lint fixes
312591
312592         · 8c864f02c7 fix missing imports
312593
312594         · 964cebd954           safe_filename_leaf(file_basename)          and
312595           safe_filepath(file_path_name)
312596
312597       · PR #43146: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
312598         @ 2017-08-23 16:56:10 UTC
312599
312600         · 6ca9131a23 Merge pull request #43146 from rallytime/merge-2017.7
312601
312602         · bcbe180fbc Merge branch '2016.11' into '2017.7'
312603
312604           · ae9d2b7985 Merge pull request #42986 from renner/systemd-notify
312605
312606             · 79c53f3f81   Fallback   to  systemd_notify_call()  in  case  of
312607               socket.error
312608
312609             · f1765472dd Notify systemd synchronously (via NOTIFY_SOCKET)
312610
312611           · b420fbe618   Merge    pull    request    #43037    from    mcarl‐
312612             ton00/fix-bhyve-grains
312613
312614             · 73315f0cf0 Issue #43036 Bhyve virtual grain in Linux VMs
312615
312616           · 0a86f2d884  Merge  pull  request  #43100 from vutny/doc-add-miss‐
312617             ing-utils-ext
312618
312619             · af743ff6c3 [DOCS] Add missing utils sub-dir listed  for  exten‐
312620               sion_modules
312621
312622       · PR   #43123:  (twangboy)  Fix  unit.utils.test_which  for  Windows  @
312623         2017-08-23 16:01:39 UTC
312624
312625         · 03f652159f    Merge    pull    request    #43123    from     twang‐
312626           boy/win_fix_test_which
312627
312628         · ed97cff5f6 Fix unit.utils.test_which for Windows
312629
312630       · ISSUE   #42505:  (ikogan)  selinux.fcontext_policy_present  exception
312631         looking for selinux.filetype_id_to_string (refs: #43068)
312632
312633       · PR #43142:  (rallytime)  Back-port  #43068  to  2017.7  @  2017-08-23
312634         15:56:48 UTC
312635
312636         · PR  #43068:  (ixs)  Mark  selinux._filetype_id_to_string  as public
312637           function (refs: #43142)
312638
312639         · 5a4fc07863 Merge pull request #43142 from rallytime/bp-43068
312640
312641         · efc1c8c506 Mark selinux._filetype_id_to_string as public function
312642
312643       · PR  #43038:  (twangboy)  Fix  unit.utils.test_url   for   Windows   @
312644         2017-08-23 13:35:25 UTC
312645
312646         · 0467a0e3bf     Merge    pull    request    #43038    from    twang‐
312647           boy/win_unit_utils_test_url
312648
312649         · 7f5ee55f57 Fix unit.utils.test_url for Windows
312650
312651       · PR #43097: (twangboy) Fix  group.present  for  Windows  @  2017-08-23
312652         13:19:56 UTC
312653
312654         · e9ccaa61d2 Merge pull request #43097 from twangboy/win_fix_group
312655
312656         · 43b0360763 Fix lint
312657
312658         · 9ffe315d7d Add kwargs
312659
312660         · 4f4e34c79f Fix group state for Windows
312661
312662       · PR  #43115:  (rallytime)  Back-port  #42067  to  2017.7  @ 2017-08-22
312663         20:09:52 UTC
312664
312665         · PR #42067: (vitaliyf) Removed several uses of name.split('.')[0] in
312666           SoftLayer driver. (refs: #43115)
312667
312668         · 8140855627 Merge pull request #43115 from rallytime/bp-42067
312669
312670         · 8a6ad0a9cf Fixed typo.
312671
312672         · 9a5ae2bba1  Removed several uses of name.split('.')[0] in SoftLayer
312673           driver.
312674
312675       · PR #42962: (twangboy) Fix unit.test_doc test for Windows @ 2017-08-22
312676         18:06:23 UTC
312677
312678         · 1e1a81036c     Merge    pull    request    #42962    from    twang‐
312679           boy/win_unit_test_doc
312680
312681         · 201ceae4c4 Fix lint, remove debug statement
312682
312683         · 37029c1a16 Fix unit.test_doc test
312684
312685       · PR  #42995:  (twangboy)  Fix  malformed  requisite  for   Windows   @
312686         2017-08-22 16:50:01 UTC
312687
312688         · d347d1cf8f     Merge    pull    request    #42995    from    twang‐
312689           boy/win_fix_invalid_requisite
312690
312691         · 93390de88b Fix malformed requisite for Windows
312692
312693       · PR #43108:  (rallytime)  Back-port  #42988  to  2017.7  @  2017-08-22
312694         16:49:27 UTC
312695
312696         · PR #42988: (thusoy) Fix broken negation in iptables (refs: #43108)
312697
312698         · 1c7992a832 Merge pull request #43108 from rallytime/bp-42988
312699
312700         · 1a987cb948 Fix broken negation in iptables
312701
312702       · PR  #43107: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
312703         @ 2017-08-22 16:11:25 UTC
312704
312705         · c6993f4a84 Merge pull request #43107 from rallytime/merge-2017.7
312706
312707         · 328dd6aa23 Merge branch '2016.11' into '2017.7'
312708
312709         · e2bf2f448e   Merge   pull   request   #42985    from    DSRCorpora‐
312710           tion/bugs/15171_recursion_limit
312711
312712           · 651b1bab09 Properly handle prereq having lost requisites.
312713
312714         · e51333306c Merge pull request #43092 from mitodl/2016.11
312715
312716           · d4b113acdf Fixed issue with silently passing all tests in Testin‐
312717             fra module
312718
312719         · 77a443ce8e    Merge    pull    request    #43060    from     twang‐
312720           boy/osx_update_pkg_scripts
312721
312722           · ef8a14cdf9 Remove /opt/salt instead of /opt/salt/bin
312723
312724           · 2dd62aa1da Add more information to the description
312725
312726           · f44f5b70dc Only stop services if they are running
312727
312728           · 3b62bf953c Remove salt from the path
312729
312730           · ebdca3a0f5 Update pkg-scripts
312731
312732         · 1b1b6da803 Merge pull request #43064 from terminalmage/issue42869
312733
312734           · 093c0c2f77 Fix race condition in git.latest
312735
312736         · 96e8e836d1    Merge    pull    request    #43054   from   lorengor‐
312737           don/fix/yumpkg/config-parser
312738
312739           · 3b2cb81a72 fix typo in salt.modules.yumpkg
312740
312741           · 38add0e4a2 break if leading comments are all fetched
312742
312743           · d7f65dc7a7 fix configparser import & log if error was raised
312744
312745           · ca1b1bb633 use configparser to parse yum repo file
312746
312747       · PR  #42996:  (twangboy)  Fix  unit.test_stateconf   for   Windows   @
312748         2017-08-21 22:43:58 UTC
312749
312750         · f9b4976c02     Merge    pull    request    #42996    from    twang‐
312751           boy/win_fix_test_stateconf
312752
312753         · 92dc3c0ece Use os.sep for path
312754
312755       · PR  #43024:  (twangboy)  Fix  unit.utils.test_find  for   Windows   @
312756         2017-08-21 22:38:10 UTC
312757
312758         · 19fc644c9b     Merge    pull    request    #43024    from    twang‐
312759           boy/win_unit_utils_test_find
312760
312761         · fbe54c9a33 Remove unused import six (lint)
312762
312763         · b04d1a2f18 Fix unit.utils.test_find for Windows
312764
312765       · PR  #43088:  (gtmanfred)  allow  docker  util  to  be  reloaded  with
312766         reload_modules @ 2017-08-21 22:14:37 UTC
312767
312768         · 1a531169fc Merge pull request #43088 from gtmanfred/2017.7
312769
312770         · 373a9a0be4 allow docker util to be reloaded with reload_modules
312771
312772       · PR  #43091: (blarghmatey) Fixed issue with silently passing all tests
312773         in Testinfra module @ 2017-08-21 22:06:22 UTC
312774
312775         · 83e528f0b3 Merge pull request #43091 from mitodl/2017.7
312776
312777         · b502560e61 Fixed issue with silently passing all tests in Testinfra
312778           module
312779
312780       · PR  #41994:  (twangboy)  Fix  unit.modules.test_cmdmod  on  Windows @
312781         2017-08-21 21:53:01 UTC
312782
312783         · 5482524270    Merge    pull    request    #41994    from     twang‐
312784           boy/win_unit_test_cmdmod
312785
312786         · a5f7288ad9 Skip test that uses pwd, not available on Windows
312787
312788       · ISSUE  #42873: (TheVakman) osquery Data Empty Upon Return / Reporting
312789         Not Installed (refs: #42933)
312790
312791       · PR #42933: (garethgreenaway) Fixes to  osquery  module  @  2017-08-21
312792         20:48:31 UTC
312793
312794         · b33c4abc15    Merge   pull   request   #42933   from   garethgreen‐
312795           away/42873_2017_7_osquery_fix
312796
312797         · 8915e62bd9 Removing an import that is not needed.
312798
312799         · 74bc377eb4 Updating the other function that uses cmd.run_all
312800
312801         · e6a4619ec1 Better approach without using python_shell=True.
312802
312803         · 5ac41f496d When running osquery commands through cmd.run we  should
312804           pass  python_shell=True  to  ensure  everything is formatted right.
312805           #42873
312806
312807       · PR #43093: (gtmanfred) Fix ec2 list_nodes_full to work  on  2017.7  @
312808         2017-08-21 20:21:21 UTC
312809
312810         · 53c2115769 Merge pull request #43093 from gtmanfred/ec2
312811
312812         · c7cffb5a04 This block isn't necessary
312813
312814         · b7283bcc6f _vm_provider_driver isn't needed anymore
312815
312816       · ISSUE  #43085:  (brejoc)  Patch  for  Kubernetes  module missing from
312817         2017.7 and 2017.7.1 (refs: #43087)
312818
312819       · PR #43087:  (rallytime)  Back-port  #42174  to  2017.7  @  2017-08-21
312820         18:40:18 UTC
312821
312822         · PR #42174: (mcalmer) kubernetes: provide client certificate authen‐
312823           tication (refs: #43087)
312824
312825         · 32f9ade4db Merge pull request #43087 from rallytime/bp-42174
312826
312827         · cf6563645b add support for certificate authentication to kubernetes
312828           module
312829
312830       · PR #43029: (terminalmage) Normalize the salt caching API @ 2017-08-21
312831         16:54:58 UTC
312832
312833         · 882fcd846f   Merge   pull    request    #43029    from    terminal‐
312834           mage/fix-func-alias
312835
312836         · f8f74a310c  Update  localfs  cache tests to reflect changes to func
312837           naming
312838
312839         · c4ae79b229 Rename other refs to cache.ls with cache.list
312840
312841         · ee59d127e8 Normalize the salt caching API
312842
312843       · ISSUE #42843: (brejoc) Kubernetes module won't work  with  Kubernetes
312844         Python client > 1.0.2 (refs: #42845)
312845
312846       · PR #43039: (gtmanfred) catch ImportError for kubernetes.client import
312847         @ 2017-08-21 14:32:38 UTC
312848
312849         · PR #42845: (brejoc) API changes for Kubernetes version 2.0.0 (refs:
312850           #43039)
312851
312852         · dbee735f6e Merge pull request #43039 from gtmanfred/kube
312853
312854         · 7e269cb368 catch ImportError for kubernetes.client import
312855
312856       · PR  #43058: (rallytime) Update release version number for jenkins.run
312857         function @ 2017-08-21 14:13:34 UTC
312858
312859         · c56a8499b3 Merge pull request #43058 from rallytime/fix-release-num
312860
312861         · d7eef70df0 Update release version number for jenkins.run function
312862
312863       · PR #43051: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
312864         @ 2017-08-18 17:05:57 UTC
312865
312866         · 7b0c94768a Merge pull request #43051 from rallytime/merge-2017.7
312867
312868         · 153a463b86 Lint: Add missing blank line
312869
312870         · 84829a6f8c Merge branch '2016.11' into '2017.7'
312871
312872         · 43aa46f512 Merge pull request #43048 from rallytime/bp-43031
312873
312874           · 35e45049e2 use a ruby gem that doesn't have dependencies
312875
312876         · ad89ff3104  Merge  pull  request #43023 from terminalmage/fix-jenk‐
312877           ins-xml-caching
312878
312879           · 33fd8ff939 Update jenkins.py
312880
312881           · fc306fc8c3 Add missing colon in if statement
312882
312883           · 822eabcc81 Catch exceptions raised when making changes to jenkins
312884
312885           · 91b583b493 Improve and correct exception raising
312886
312887           · f096917a0e Raise an exception if we fail to cache the config xml
312888
312889         · 2957467ed7 Merge pull request #43026 from rallytime/bp-43020
312890
312891           · 0eb15a1f67 test with gem that appears to be abandoned
312892
312893         · 4150b094fe Merge pull request #43033 from rallytime/bp-42760
312894
312895           · 3e3f7f5d8e Catch TypeError thrown by m2crypto when parsing  miss‐
312896             ing subjects in certificate files.
312897
312898         · b124d3667e Merge pull request #43032 from rallytime/bp-42547
312899
312900           · ea4d7f4176  Updated  testinfra  modules  to work with more recent
312901             versions
312902
312903         · a88386ad44      Merge      pull      request      #43027       from
312904           pabloh007/fix-docker-save-push-2016-11
312905
312906           · d0fd949f85  Fixes  ignore  push flag for docker.push module issue
312907             #42992
312908
312909         · 51d16840bb   Merge   pull   request   #42890    from    DSRCorpora‐
312910           tion/bugs/42627_salt-cp
312911
312912           · cfddbf1c75 Apply code review: update the doc
312913
312914           · afedd3b654 Typos and version fixes in the doc.
312915
312916           · 9fedf6012e Fixed 'test_valid_docs' test.
312917
312918           · 999388680c  Make  chunked  mode  in salt-cp optional (disabled by
312919             default).
312920
312921         · b3c253cdfa Merge pull request #43009 from rallytime/merge-2016.11
312922
312923           · 566ba4fe76 Merge branch '2016.3' into '2016.11'
312924
312925             · 13b8637d53 Merge pull request #42942  from  Ch3LL/2016.3.6_fol‐
312926               low_up
312927
312928               · f281e1795f  move additional minion config options to 2016.3.8
312929                 release notes
312930
312931               · 168604ba6b remove merge conflict
312932
312933               · 8a07d95212 update release notes with cve number
312934
312935               · 149633fdca Add release notes for 2016.3.7 release
312936
312937               · 7a4cddcd95 Add clean_id function to salt.utils.verify.py
312938
312939             · bbb1b29ccb Merge pull request #42954 from Ch3LL/latest_2016.3
312940
312941               · b551e66744 [2016.3] Bump latest and previous versions
312942
312943             · 5d5edc54b7 Merge pull request #42949 from Ch3LL/2016.3.7_docs
312944
312945               · d75d3741f8 Add Security Notice to 2016.3.7 Release Notes
312946
312947         · 37c63e7cf2 Merge pull  request  #43021  from  terminalmage/fix-net‐
312948           work-test
312949
312950           · 4089b7b1bc  Use  socket.AF_INET6 to get the correct value instead
312951             of doing an OS check
312952
312953         · 8f6423247c  Merge  pull   request   #43019   from   rallytime/boot‐
312954           strap_2017.08.17
312955
312956           · 2f762b3a17 Update bootstrap script to latest stable: v2017.08.17
312957
312958         · ff1caeee68 Merge pull request #43014 from Ch3LL/fix_network_mac
312959
312960           · b8eee4401e Change AF_INET6 family for mac in test_host_to_ips
312961
312962       · PR #43035: (rallytime) [2017.7] Merge forward from 2017.7.1 to 2017.7
312963         @ 2017-08-18 12:58:17 UTC
312964
312965         · PR  #42948:   (Ch3LL)   [2017.7.1]   Add   clean_id   function   to
312966           salt.utils.verify.py (refs: #43035)
312967
312968         · PR    #42945:   (Ch3LL)   [2017.7]   Add   clean_id   function   to
312969           salt.utils.verify.py (refs: #43035)
312970
312971         · d15b0ca937 Merge pull request #43035 from rallytime/merge-2017.7
312972
312973         · 756128a896 Merge branch '2017.7.1' into '2017.7'
312974
312975           · ab1b099730 Merge pull  request  #42948  from  Ch3LL/2017.7.0_fol‐
312976             low_up
312977
312978       · ISSUE  #42989:  (blbradley) GitFS GitPython performance regression in
312979         2017.7.1 (refs: #43002)
312980
312981       · PR #43034:  (rallytime)  Back-port  #43002  to  2017.7  @  2017-08-17
312982         23:18:16 UTC
312983
312984         · PR #43002: (the-glu) Try to fix #42989 (refs: #43034)
312985
312986         · bcbb973a71 Merge pull request #43034 from rallytime/bp-43002
312987
312988         · 350c0767dc  Try  to  fix #42989 by doing sslVerify and refspecs for
312989           origin remote only if there is no remotes
312990
312991       · ISSUE #42375: (dragonpaw) salt.modules.*.__virtualname__ doens't work
312992         as documented. (refs: #42523, #42958)
312993
312994       · PR  #42958: (gtmanfred) runit module should also be loaded as runit @
312995         2017-08-17 22:30:23 UTC
312996
312997         · 9182f55bbb Merge pull request #42958 from gtmanfred/2017.7
312998
312999         · fd6874668b runit module should also be loaded as runit
313000
313001       · PR #43031: (gtmanfred) use a ruby gem that doesn't have  dependencies
313002         (refs: #43048) @ 2017-08-17 22:26:25 UTC
313003
313004         · 5985cc4e8e Merge pull request #43031 from gtmanfred/test_gem
313005
313006         · ba80a7d4b5 use a ruby gem that doesn't have dependencies
313007
313008       · PR  #43030:  (rallytime) Small cleanup to dockermod.save @ 2017-08-17
313009         22:26:00 UTC
313010
313011         · 246176b1a6  Merge  pull  request  #43030   from   rallytime/docker‐
313012           mod-minor-change
313013
313014         · d6a5e85632 Small cleanup to dockermod.save
313015
313016       · ISSUE  #42992:  (pabloh007)  docker.save   flag  push does is ignored
313017         (refs: #42993, #43027)
313018
313019       · PR #42993: (pabloh007) Fixes ignored push flag for docker.push module
313020         issue #42992 @ 2017-08-17 18:50:37 UTC
313021
313022         · 160001120b       Merge      pull      request      #42993      from
313023           pabloh007/fix-docker-save-push
313024
313025         · fe7554cfeb Fixes ignored push flag  for  docker.push  module  issue
313026           #42992
313027
313028       · ISSUE  #42941:  (danlsgiga)  pkg.installed  fails  on installing from
313029         HTTPS rpm source (refs: #42967)
313030
313031       · PR #42967: (terminalmage) Fix bug in on_header callback when no  Con‐
313032         tent-Type is found in headers @ 2017-08-17 18:48:52 UTC
313033
313034         · 9009a971b1 Merge pull request #42967 from terminalmage/issue42941
313035
313036         · b838460816  Fix  bug  in on_header callback when no Content-Type is
313037           found in headers
313038
313039       · ISSUE #43008: (evelineraine) states.service.running  always  succeeds
313040         when watched state has changes (refs: #43016)
313041
313042       · PR  #43016:  (gtmanfred)  service  should return false on exception @
313043         2017-08-17 18:08:05 UTC
313044
313045         · 58f070d7a7 Merge pull request #43016 from gtmanfred/service
313046
313047         · 21c264fe55 service should return false on exception
313048
313049       · PR #43020: (gtmanfred) test with gem that  appears  to  be  abandoned
313050         (refs: #43026) @ 2017-08-17 16:40:41 UTC
313051
313052         · 973d288eca Merge pull request #43020 from gtmanfred/test_gem
313053
313054         · 0a1f40a664 test with gem that appears to be abandoned
313055
313056       · PR  #42999:  (garethgreenaway)  Fixes  to  slack  engine @ 2017-08-17
313057         15:46:24 UTC
313058
313059         · 9cd0607fd4   Merge   pull   request   #42999   from    garethgreen‐
313060           away/slack_engine_allow_editing_messages
313061
313062         · 0ece2a8f0c  Fixing  a bug that prevented editing Slack messages and
313063           having the commands resent to the Slack engine.
313064
313065       · PR #43010: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
313066         @ 2017-08-17 15:10:29 UTC
313067
313068         · 31627a9163 Merge pull request #43010 from rallytime/merge-2017.7
313069
313070         · 8a0f948e4a Merge branch '2016.11' into '2017.7'
313071
313072         · 1ee9499d28 Merge pull request #42968 from vutny/doc-salt-cloud-ref
313073
313074           · 44ed53b1df [DOCS] Fix link to Salt Cloud Feature Matrix
313075
313076         · 923f9741fe Merge pull request #42291 from vutny/fix-38839
313077
313078           · 5f8f98a01f Fix #38839: remove state from Reactor runner kwags
313079
313080         · c20bc7d515 Merge pull request #42940 from gtmanfred/2016.11
313081
313082           · 253e216a8d fix IP address spelling
313083
313084           · bd63074e7a  create  new  ip address before checking list of allo‐
313085             cated ips
313086
313087         · d6496eca72 Merge pull request #42959 from rallytime/bp-42883
313088
313089           · c6b9ca4b9e Lint fix: add missing space
313090
313091           · 5597b1a30e Skip 2 failing tests in Python 3 due to upstream bugs
313092
313093           · a0b19bdc27 Update account id value in boto_secgroup  module  unit
313094             test
313095
313096           · 60b406e088  @mock_elb needs to be changed to @mock_elb_deprecated
313097             as well
313098
313099           · 6ae1111295  Replace  @mock_ec2  calls  with  @mock_ec2_deprecated
313100             calls
313101
313102         · 6366e05d0d Merge pull request #42944 from Ch3LL/2016.11.6_follow_up
313103
313104           · 7e0a20afca Add release notes for 2016.11.7 release
313105
313106           · 63823f8c3e Add clean_id function to salt.utils.verify.py
313107
313108         · 49d339c976 Merge pull request #42952 from Ch3LL/latest_2016.11
313109
313110           · 74e7055d54 [2016.11] Bump latest and previous versions
313111
313112         · b0d2e05a79 Merge pull request #42950 from Ch3LL/2016.11.7_docs
313113
313114           · a6f902db40 Add Security Notice to 2016.11.77 Release Notes
313115
313116         · c0ff69f88c  Merge pull request #42836 from lyft/backport-utils.ver‐
313117           sions-to-2016.11
313118
313119           · 86ce7004a2 Backport salt.utils.versions from develop to 2016.11
313120
313121         · 64a79dd5ac Merge pull request #42919 from rallytime/bp-42871
313122
313123           · 4e46c968e6 Update joyent.rst
313124
313125         · bea8ec1098 Merge pull request #42918 from rallytime/bp-42848
313126
313127           · cdb48126f7 Make lint happier.
313128
313129           · 62eca9b00b Execute fire_master asynchronously in the main  minion
313130             thread.
313131
313132         · 52bce329cb     Merge    pull    request    #42861    from    twang‐
313133           boy/win_pkg_install_salt
313134
313135           · 0d3789f0c6 Fix pkg.install salt-minion using salt-call
313136
313137         · b9f4f87aa5 Merge pull request #42798 from s-sebastian/2016.11
313138
313139           · 1cc86592ed Update return data before calling returners
313140
313141       · ISSUE #42842: (Giandom) retreive  kwargs  passed  with  slack  engine
313142         (refs: #42884)
313143
313144       · PR  #42884:  (Giandom)  Convert  to dict type the pillar string value
313145         passed from slack @ 2017-08-16 22:30:43 UTC
313146
313147         · 82be9dceb6    Merge    pull    request    #42884     from     Gian‐
313148           dom/2017.7.1-fix-slack-engine-pillar-args
313149
313150         · 80fd733c99 Update slack.py
313151
313152       · PR   #42963:   (twangboy)  Fix  unit.test_fileclient  for  Windows  @
313153         2017-08-16 14:18:18 UTC
313154
313155         · 42bd553b98    Merge    pull    request    #42963    from     twang‐
313156           boy/win_unit_test_fileclient
313157
313158         · e9febe4893 Fix unit.test_fileclient
313159
313160       · PR  #42964:  (twangboy)  Fix  salt.utils.recursive_copy for Windows @
313161         2017-08-16 14:17:27 UTC
313162
313163         · 7dddeeea8d Merge pull request #42964  from  twangboy/win_fix_recur‐
313164           sive_copy
313165
313166         · 121cd4ef81 Fix salt.utils.recursive_copy for Windows
313167
313168       · ISSUE   #42943:   (mirceaulinic)   extension_modules   defaulting  to
313169         /var/cache/minion although running under proxy minion (refs: #42946)
313170
313171       · PR  #42946:  (mirceaulinic)  extension_modules  should   default   to
313172         $CACHE_DIR/proxy/extmods @ 2017-08-15 21:26:36 UTC
313173
313174         · 6da4d1d95e     Merge    pull    request    #42946    from    cloud‐
313175           flare/px_extmods_42943
313176
313177         · 73f9135340 extension_modules should default to /proxy/extmods
313178
313179       · PR #42945: (Ch3LL) [2017.7] Add clean_id function to  salt.utils.ver‐
313180         ify.py (refs: #43035) @ 2017-08-15 18:04:20 UTC
313181
313182         · 95645d49f9 Merge pull request #42945 from Ch3LL/2017.7.0_follow_up
313183
313184         · dcd92042e3 remove extra doc
313185
313186         · 693a504ef0 update release notes with cve number
313187
313188       · ISSUE  #42427:  (grichmond-salt) Issue Passing Variables created from
313189         load_json as Inline Pillar Between States (refs: #42435)
313190
313191       · PR #42812: (terminalmage) Update custom YAML loader tests to properly
313192         test unicode literals @ 2017-08-15 17:50:22 UTC
313193
313194         · PR  #42435:  (terminalmage)  Modify our custom YAML loader to treat
313195           unicode literals as unicode strings (refs: #42812)
313196
313197         · 47ff9d5627   Merge   pull    request    #42812    from    terminal‐
313198           mage/yaml-loader-tests
313199
313200         · 9d8486a894  Add  test  for  custom YAML loader with unicode literal
313201           strings
313202
313203         · a0118bcece Remove bytestrings and use textwrap.dedent for readabil‐
313204           ity
313205
313206       · PR  #42953:  (Ch3LL)  [2017.7]  Bump  latest  and previous versions @
313207         2017-08-15 17:23:28 UTC
313208
313209         · 5d0c2198ac Merge pull request #42953 from Ch3LL/latest_2017.7
313210
313211         · cbecf65823 [2017.7] Bump latest and previous versions
313212
313213       · PR #42951: (Ch3LL) Add Security Notice to 2017.7.1  Release  Notes  @
313214         2017-08-15 16:49:56 UTC
313215
313216         · 730e71db17 Merge pull request #42951 from Ch3LL/2017.7.1_docs
313217
313218         · 1d8f827c58 Add Security Notice to 2017.7.1 Release Notes
313219
313220       · PR  #42868:  (carsonoid) Stub out required functions in redis_cache @
313221         2017-08-15 14:33:54 UTC
313222
313223         · c1c8cb9bfa  Merge  pull  request  #42868  from  carsonoid/redisjob‐
313224           cachefix
313225
313226         · 885bee2a7d Stub out required functions for redis cache
313227
313228       · PR  #42810:  (amendlik) Ignore error values when listing Windows SNMP
313229         community strings @ 2017-08-15 03:55:15 UTC
313230
313231         · e192d6e0af Merge pull request #42810 from  amendlik/win-snmp-commu‐
313232           nity
313233
313234         · dc20e4651b  Ignore error values when listing Windows SNMP community
313235           strings
313236
313237       · PR #42920: (cachedout) pid_race @ 2017-08-15 03:49:10 UTC
313238
313239         · a1817f1de3 Merge pull request #42920 from cachedout/pid_race
313240
313241         · 5e930b8cbd If we catch the pid file in a transistory state,  return
313242           None
313243
313244       · PR  #42925:  (terminalmage)  Add  debug  logging to troubleshoot test
313245         failures @ 2017-08-15 03:47:51 UTC
313246
313247         · 11a33fe692   Merge   pull    request    #42925    from    terminal‐
313248           mage/f26-debug-logging
313249
313250         · 8165f46165 Add debug logging to troubleshoot test failures
313251
313252       · PR  #42913: (twangboy) Change service shutdown timeouts for salt-min‐
313253         ion service (Windows) @ 2017-08-14 20:55:24 UTC
313254
313255         · a537197030 Merge pull request #42913 from twangboy/win_change_time‐
313256           out
313257
313258         · ffb23fbe47 Remove the line that wipes out the cache
313259
313260         · a3becf8342 Change service shutdown timeouts
313261
313262       · PR  #42800:  (skizunov)  Fix  exception  when  master_type=disable  @
313263         2017-08-14 20:53:38 UTC
313264
313265         · ca0555f616 Merge pull request #42800 from skizunov/develop6
313266
313267         · fa5822009f Fix exception when master_type=disable
313268
313269       · PR #42679: (mirceaulinic) Add multiprocessing option for NAPALM proxy
313270         @ 2017-08-14 20:45:06 UTC
313271
313272         · 3af264b664  Merge pull request #42679 from cloudflare/napalm-multi‐
313273           processing
313274
313275         · 9c4566db0c multiprocessing option tagged for 2017.7.2
313276
313277         · 37bca1b902 Add multiprocessing option for NAPALM proxy
313278
313279         · a2565ba8e5 Add new napalm option: multiprocessing
313280
313281       · ISSUE #42611: (nhavens) selinux.boolean state does not return changes
313282         (refs: #42612)
313283
313284       · PR #42657: (nhavens) back-port #42612 to 2017.7 @ 2017-08-14 19:42:26
313285         UTC
313286
313287         · PR #42612: (nhavens) fix for issue #42611 (refs: #42657)
313288
313289         · 4fcdab3ae9 Merge pull request #42657 from nhavens/2017.7
313290
313291         · d73c4b55b7 back-port #42612 to 2017.7
313292
313293       · PR #42709: (whiteinge) Add token_expire_user_override  link  to  auth
313294         runner docstring @ 2017-08-14 19:03:06 UTC
313295
313296         · d2b6ce327a       Merge      pull      request      #42709      from
313297           whiteinge/doc-token_expire_user_override
313298
313299         · c7ea631558 Add more docs on the token_expire param
313300
313301         · 4a9f6ba44f Add token_expire_user_override link to auth runner  doc‐
313302           string
313303
313304       · ISSUE   #42803:   (gmcwhistler)  master_type:  str,  not  working  as
313305         expected, parent salt-minion process dies. (refs: #42848)
313306
313307       · ISSUE #42753: (grichmond-salt) SaltReqTimeout Error on  Some  Minions
313308         when One Master in a Multi-Master Configuration is Unavailable (refs:
313309         #42848)
313310
313311       · PR #42848: (DmitryKuzmenko) Execute fire_master asynchronously in the
313312         main minion thread. (refs: #42918) @ 2017-08-14 18:28:38 UTC
313313
313314         · c6a7bf02e9    Merge    pull   request   #42848   from   DSRCorpora‐
313315           tion/bugs/42753_mmaster_timeout
313316
313317         · 7f5412c19e Make lint happier.
313318
313319         · ff66b7aaf0 Execute fire_master asynchronously in  the  main  minion
313320           thread.
313321
313322       · PR  #42911:  (gtmanfred)  cloud  driver isn't a provider @ 2017-08-14
313323         17:47:16 UTC
313324
313325         · 6a3279ea50 Merge pull request #42911 from gtmanfred/2017.7
313326
313327         · 99046b441f cloud driver isn't a provider
313328
313329       · PR #42860: (skizunov) hash_and_stat_file should return  a  2-tuple  @
313330         2017-08-14 15:44:54 UTC
313331
313332         · 4456f7383d Merge pull request #42860 from skizunov/develop7
313333
313334         · 5f85a03636 hash_and_stat_file should return a 2-tuple
313335
313336       · PR  #42889: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
313337         @ 2017-08-14 14:16:20 UTC
313338
313339         · c6ca7d639f Merge pull request #42889 from rallytime/merge-2017.7
313340
313341         · fb7117f2ac Use salt.utils.versions.LooseVersion instead  of  distu‐
313342           tils
313343
313344         · 29ff19c587 Merge branch '2016.11' into '2017.7'
313345
313346           · c15d0034fe  Merge  pull  request  #41977 from redmatter/fix-dock‐
313347             erng-network-ignores-test
313348
313349             · 1cc2aa503a Fix dockerng.network_* ignoring of tests=True
313350
313351           · 3b9c3c5671  Merge   pull   request   #42886   from   sarcasticad‐
313352             min/adding_docs_salt_outputs
313353
313354             · 744bf954ff Adding missing output flags to salt cli
313355
313356           · e5b98c8a88 Merge pull request #42882 from gtmanfred/2016.11
313357
313358             · da3402a53d make sure cmd is not run when npm isn't installed
313359
313360           · 5962c9588b  Merge pull request #42788 from amendlik/saltify-time‐
313361             out
313362
313363             · 928b523797 Remove waits and retries from Saltify deployment
313364
313365           · 227ecddd13   Merge   pull   request   #42877    from    terminal‐
313366             mage/add-cron-state-virtual
313367
313368             · f1de196740 Add virtual func for cron state module
313369
313370           · ab9f6cef33  Merge  pull  request  #42859  from  terminalmage/git‐
313371             python-git-cli-note
313372
313373             · 35e05c9515 Add note about git CLI requirement for GitPython  to
313374               GitFS tutorial
313375
313376           · 682b4a8d14 Merge pull request #42856 from gtmanfred/2016.11
313377
313378             · b458b89fb8 skip cache_clean test if npm version is >= 5.0.0
313379
313380           · 01ea854029   Merge   pull   request  #42864  from  whiteinge/syn‐
313381             dic-log-root_dir
313382
313383             · 4b1f55da9c Make syndic_log_file respect root_dir setting
313384
313385       · PR #42898: (mirceaulinic)  Minor  eos  doc  correction  @  2017-08-14
313386         13:42:21 UTC
313387
313388         · 4b6fe2ee59 Merge pull request #42898 from mirceaulinic/patch-11
313389
313390         · 93be79a135 Index eos under the installation instructions list
313391
313392         · f903e7bc39 Minor eos doc correction
313393
313394       · PR  #42883:  (rallytime)  Fix  failing  boto  tests  (refs: #42959) @
313395         2017-08-11 20:29:12 UTC
313396
313397         · 1764878754 Merge pull request #42883 from rallytime/fix-boto-tests
313398
313399         · 6a7bf99848 Lint fix: add missing space
313400
313401         · 43643227c6 Skip 2 failing tests in Python 3 due to upstream bugs
313402
313403         · 7f46603e9c Update account id value  in  boto_secgroup  module  unit
313404           test
313405
313406         · 7c1d493fdd @mock_elb needs to be changed to @mock_elb_deprecated as
313407           well
313408
313409         · 3055e17ed5 Replace @mock_ec2 calls with @mock_ec2_deprecated calls
313410
313411       · PR #42885: (terminalmage) Move weird tearDown test to an actual tear‐
313412         Down @ 2017-08-11 19:14:42 UTC
313413
313414         · b21778efac    Merge    pull    request    #42885   from   terminal‐
313415           mage/fix-f26-tests
313416
313417         · 462d653082 Move weird tearDown test to an actual tearDown
313418
313419       · ISSUE #42870: (boltronics)  webutil.useradd  marked  as  deprecated::
313420         2016.3.0 by mistake? (refs: #42887)
313421
313422       · PR  #42887:  (rallytime)  Remove  extraneous  "deprecated" notation @
313423         2017-08-11 18:34:25 UTC
313424
313425         · 9868ab6f3b Merge pull request #42887 from rallytime/fix-42870
313426
313427         · 71e7581a2d Remove extraneous "deprecated" notation
313428
313429       · PR   #42881:   (gtmanfred)   fix   vmware   for   python   3.4.2   in
313430         salt.utils.vmware @ 2017-08-11 17:52:29 UTC
313431
313432         · da71f2a11b Merge pull request #42881 from gtmanfred/vmware
313433
313434         · 05ecc6ac8d fix vmware for python 3.4.2 in salt.utils.vmware
313435
313436       · ISSUE  #42843:  (brejoc) Kubernetes module won't work with Kubernetes
313437         Python client > 1.0.2 (refs: #42845)
313438
313439       · PR #42845: (brejoc) API changes for Kubernetes version  2.0.0  (refs:
313440         #43039) @ 2017-08-11 14:04:30 UTC
313441
313442         · c7750d5717 Merge pull request #42845 from brejoc/updates-for-kuber‐
313443           netes-2.0.0
313444
313445         · 81674aa88a Version info in :optdepends: not needed anymore
313446
313447         · 71995505bc Not depending on specific K8s version anymore
313448
313449         · d8f7d7a7c0 API changes for Kubernetes version 2.0.0
313450
313451       · PR #42678: (frankiexyz) Add  eos.rst  in  the  installation  guide  @
313452         2017-08-11 13:58:37 UTC
313453
313454         · 459fdedc67 Merge pull request #42678 from frankiexyz/2017.7
313455
313456         · 1598571f52 Add eos.rst in the installation guide
313457
313458       · ISSUE  #42646: (gmacon) SPM fails to install multiple packages (refs:
313459         #42778)
313460
313461       · PR #42778: (gtmanfred) make  sure  to  use  the  correct  out_file  @
313462         2017-08-11 13:44:48 UTC
313463
313464         · 4ce96eb1a1 Merge pull request #42778 from gtmanfred/spm
313465
313466         · 7ef691e8da make sure to use the correct out_file
313467
313468       · ISSUE  saltstack/salt-jenkins#480:  (rallytime) [2017.7] PY3 Debian 8
313469         has several vmware unit tests failing (refs: #42857)
313470
313471       · PR #42857: (gtmanfred) use older name  if  _create_unverified_context
313472         is unvailable @ 2017-08-11 13:37:59 UTC
313473
313474         · 3d05d89e09 Merge pull request #42857 from gtmanfred/vmware
313475
313476         · c1f673eca4  use older name if _create_unverified_context is unvail‐
313477           able
313478
313479       · PR #42866: (twangboy) Change to GitPython version 2.1.1 @  2017-08-11
313480         13:23:52 UTC
313481
313482         · 7e8cfff21c   Merge  pull  request  #42866  from  twangboy/osx_down‐
313483           grade_gitpython
313484
313485         · 28053a84a6 Change GitPython version to 2.1.1
313486
313487       · PR #42855: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
313488         @ 2017-08-10 21:40:39 UTC
313489
313490         · 3ce18637be Merge pull request #42855 from rallytime/merge-2017.7
313491
313492         · 08bbcf5790 Merge branch '2016.11' into '2017.7'
313493
313494         · 2dde1f77e9 Merge pull request #42851 from terminalmage/bp-42651
313495
313496           · a3da86eea8 fix syntax
313497
313498           · 6ecdbcec1d make sure names are correct
313499
313500           · f83b553d6e add py3 for versionlock
313501
313502           · 21934f61bb python2- prefix for fedora 26 packages
313503
313504         · c746f79a3a Merge pull request #42806 from rallytime/fix-42683
313505
313506           · 8c8640d6b8 Update doc references in glusterfs.volume_present
313507
313508         · 27a8a2695a     Merge    pull    request    #42829    from    twang‐
313509           boy/win_pkg_fix_install
313510
313511           · 83b9b230cd Add winrepo to docs about supporting versions in pkgs
313512
313513           · 81fefa6e67 Add ability to pass version in pkgs list
313514
313515         · 3c3ac6aeb2 Merge pull request #42838 from twangboy/win_doc_pki
313516
313517           · f0a1d06b46 Standardize PKI Client
313518
313519           · 7de687aa57 Document requirements for win_pki
313520
313521         · b3e2ae3c58 Merge pull request #42805 from rallytime/bp-42552
313522
313523           · 5a91c1f2d1 update  consul  module  following  this  documentation
313524             https://www.consul.io/api/acl.html
313525
313526         · d2ee7934ed Merge pull request #42804 from rallytime/bp-42784
313527
313528           · dbd29e4aaa only read file if it is not a string
313529
313530         · 4cbf8057b3 Merge pull request #42826 from terminalmage/fix-spelling
313531
313532           · 00f93142e4 Fix misspelling of "versions"
313533
313534         · de997edd90 Merge pull request #42786 from Ch3LL/fix_typo
313535
313536           · 90a2fb66a2 Fix typo for template_dict in http docs
313537
313538         · bf6153ebe5 Merge pull request #42795 from lomeroe/bp-42744_201611
313539
313540           · 695f8c1ae4 fix #42600 in develop
313541
313542         · 61fad97286       Merge      pull      request      #42748      from
313543           whiteinge/save-before-output
313544
313545           · de60b77c82 Workaround Orchestrate problem that highstate  output‐
313546             ter mutates data
313547
313548         · a4e3e7e786 Merge pull request #42764 from amendlik/cloud-win-loop
313549
313550           · f3dcfca4e0 Fix infinite loops on failed Windows deployments
313551
313552         · da85326ad4 Merge pull request #42694 from gtmanfred/2016.11
313553
313554           · 1a0457af51 allow adding extra remotes to a repository
313555
313556       · ISSUE #42774: (rossengeorgiev) pkg.installed succeeds, but fails when
313557         you specify package version (refs: #42808)
313558
313559       · PR #42808: (terminalmage) Fix regression in yum/dnf version  specifi‐
313560         cation @ 2017-08-10 15:59:22 UTC
313561
313562         · f954f4f33a Merge pull request #42808 from terminalmage/issue42774
313563
313564         · c69f17dd18 Add integration test for #42774
313565
313566         · 78d826dd14 Fix regression in yum/dnf version specification
313567
313568       · ISSUE  #42639:  (amnonbc) k8s module needs a way to manage configmaps
313569         (refs: #42807)
313570
313571       · PR #42807: (rallytime) Update modules --> states  in  kubernetes  doc
313572         module @ 2017-08-10 14:10:40 UTC
313573
313574         · d9b0f44885 Merge pull request #42807 from rallytime/fix-42639
313575
313576         · 152eb88d9f Update modules --> states in kubernetes doc module
313577
313578       · ISSUE #42818: (Mapel88) Bug in win_iis module - "create_cert_binding"
313579         (refs: #42841)
313580
313581       · PR #42841: (Mapel88) Fix bug #42818 in win_iis  module  @  2017-08-10
313582         13:44:21 UTC
313583
313584         · b8c7bda68d Merge pull request #42841 from Mapel88/patch-1
313585
313586         · 497241fbcb Fix bug #42818 in win_iis module
313587
313588       · ISSUE  #42697: (Ch3LL) [Python3] NameError when running salt-run man‐
313589         age.versions (refs: #42782)
313590
313591       · PR #42782: (rallytime) Add a cmp  compatibility  function  utility  @
313592         2017-08-09 22:37:29 UTC
313593
313594         · 135f9522d0 Merge pull request #42782 from rallytime/fix-42697
313595
313596         · d707f94863 Update all other calls to "cmp" function
313597
313598         · 5605104285 Add a cmp compatibility function utility
313599
313600       · PR  #42784:  (gtmanfred)  only  read  file  if ret is not a string in
313601         http.query (refs: #42804) @ 2017-08-08 17:20:13 UTC
313602
313603         · ac752223ad Merge pull request #42784 from gtmanfred/http
313604
313605         · d397c90e92 only read file if it is not a string
313606
313607       · ISSUE  #42600:  (twangboy)  Unable  to  set  'Not  Configured'  using
313608         win_lgpo execution module (refs: #42744, #42794, #42795)
313609
313610       · PR  #42794: (lomeroe) Backport #42744 to 2017.7 @ 2017-08-08 17:16:31
313611         UTC
313612
313613         · PR #42744: (lomeroe) fix #42600 in develop (refs: #42794, #42795)
313614
313615         · 44995b1abf Merge pull request #42794 from lomeroe/bp-42744
313616
313617         · 0acffc6df5 fix #42600 in develop
313618
313619       · ISSUE #42707: (cro) Service module and state fails on FreeBSD  (refs:
313620         #42708)
313621
313622       · PR  #42708:  (cro)  Do  not change the arguments of the function when
313623         memoizing @ 2017-08-08 13:47:01 UTC
313624
313625         · dcf474c47c Merge pull request #42708 from cro/dont_change_args_dur‐
313626           ing_memoize
313627
313628         · a260e913b5 Do not change the arguments of the function when memoiz‐
313629           ing
313630
313631       · PR #42783: (rallytime) Sort lists before comparing them in  python  3
313632         unit test @ 2017-08-08 13:25:15 UTC
313633
313634         · PR  #42206:  (rallytime)  [PY3]  Fix test that is flaky in Python 3
313635           (refs: #42783)
313636
313637         · ddb671b8fe    Merge    pull    request    #42783    from     rally‐
313638           time/fix-flaky-py3-test
313639
313640         · 998834fbac Sort lists before compairing them in python 3 unit test
313641
313642       · PR #42721: (hibbert) Allow no ip sg @ 2017-08-07 22:07:18 UTC
313643
313644         · d69822fe93 Merge pull request #42721 from hibbert/allow_no_ip_sg
313645
313646         · f58256802a  allow_no_ip_sg:  Allow  user to not supply ipaddress or
313647           securitygroups when running boto_efs.create_mount_target
313648
313649       · ISSUE  #42538:  (marnovdm)   docker_container.running   issue   since
313650         2017.7.0:  passing domainname gives Error 500: json: cannot unmarshal
313651         array into Go value of type string (refs: #42769)
313652
313653       · PR #42769: (terminalmage) Fix domainname parameter input  translation
313654         @ 2017-08-07 20:46:07 UTC
313655
313656         · bf7938fbe0 Merge pull request #42769 from terminalmage/issue42538
313657
313658         · 665de2d1f9 Fix domainname parameter input translation
313659
313660       · PR  #42388: (The-Loeki) pillar.items pillar_env & pillar_override are
313661         never used @ 2017-08-07 17:51:48 UTC
313662
313663         · 7bf2cdb363 Merge pull request #42388 from The-Loeki/patch-1
313664
313665         · 664f4b577b pillar.items pillar_env & pillar_override are never used
313666
313667       · PR #42770: (rallytime) [2017.7] Merge forward from 2017.7.1 to 2017.7
313668         @ 2017-08-07 16:21:45 UTC
313669
313670         · 9a8c9ebffc     Merge    pull    request    #42770    from    rally‐
313671           time/merge-2017.7.1-into-2017.7
313672
313673         · 6d17c9d227 Merge branch '2017.7.1' into '2017.7'
313674
313675       · PR #42768: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
313676         @ 2017-08-07 16:21:17 UTC
313677
313678         · c765e528d0 Merge pull request #42768 from rallytime/merge-2017.7
313679
313680         · 0f75482c37 Merge branch '2016.11' into '2017.7'
313681
313682           · 7b2119feee   Merge   pull   request   #42669   from  garethgreen‐
313683             away/42642_2016_11_augeas_module_fix
313684
313685             · 24413084e2  Updating  the  call  to  shlex_split  to  pass  the
313686               posix=False argument so that quotes are preserved.
313687
313688           · 30725769ed Merge pull request #42629 from xiaoanyunfei/tornadoapi
313689
313690             · 1e13383b95 tornado api
313691
313692           · f0f00fcee1  Merge  pull  request #42655 from whiteinge/rest_cher‐
313693             rypy-reenable-stats
313694
313695             · deb6316d67 Fix lint errors
313696
313697             · 6bd91c8b03 Reenable cpstats for rest_cherrypy
313698
313699           · 21cf15f9c3 Merge pull  request  #42693  from  gilbsgilbs/fix-rab‐
313700             bitmq-tags
313701
313702             · 78fccdc7e2 Cast to list in case tags is a tuple.
313703
313704             · 287b57b5c5 Fix RabbitMQ tags not properly set.
313705
313706           · f2b0c9b4fa     Merge    pull    request    #42574    from    sbo‐
313707             jarski/boto-cfn-error-reporting
313708
313709             · 5c945f10c2 Fix debug message in "boto_cfn._validate" function.
313710
313711             · 181a1beecc Fixed error reporting  in  "boto_cfn.present"  func‐
313712               tion.
313713
313714           · bc1effc4f2  Merge  pull request #42623 from terminalmage/fix-uni‐
313715             code-constructor
313716
313717             · fcf45889dd Fix unicode constructor in custom YAML loader
313718
313719       · PR #42651: (gtmanfred) python2- prefix for fedora 26 packages  (refs:
313720         #42851) @ 2017-08-07 14:35:04 UTC
313721
313722         · 3f5827f61e Merge pull request #42651 from gtmanfred/2017.7
313723
313724         · 8784899942 fix syntax
313725
313726         · 178cc1bd81 make sure names are correct
313727
313728         · f179b97b52 add py3 for versionlock
313729
313730         · 1958d18634 python2- prefix for fedora 26 packages
313731
313732       · ISSUE #42688: (hibbert) salt.modules.boto_efs module Invalid type for
313733         parameter Tags - type: <type 'dict'>,  valid  types:  <type  'list'>,
313734         <type 'tuple'> (refs: #42689)
313735
313736       · PR  #42689:  (hibbert) boto_efs_fix_tags: Fix #42688 invalid type for
313737         parameter tags @ 2017-08-06 17:47:07 UTC
313738
313739         · 791248e398 Merge pull request #42689 from hibbert/boto_efs_fix_tags
313740
313741         · 157fb28851 boto_efs_fix_tags: Fix #42688 invalid type for parameter
313742           tags
313743
313744       · ISSUE  #42705: (hbruch) salt.states.docker_container.running replaces
313745         container on subsequent runs if oom_kill_disable  unsupported  (refs:
313746         #42745)
313747
313748       · PR   #42745:   (terminalmage)  docker.compare_container:  treat  null
313749         oom_kill_disable as False @ 2017-08-05 15:28:20 UTC
313750
313751         · 1b3407649b Merge pull request #42745 from terminalmage/issue42705
313752
313753         · 710bdf6115 docker.compare_container: treat null oom_kill_disable as
313754           False
313755
313756       · ISSUE  #42649: (tehsu) local_batch no longer working in 2017.7.0, 500
313757         error (refs: #42704)
313758
313759       · PR #42704: (whiteinge) Add import to work around likely multiprocess‐
313760         ing scoping bug @ 2017-08-04 23:03:13 UTC
313761
313762         · 5d5b22021b       Merge      pull      request      #42704      from
313763           whiteinge/expr_form-warn-scope-bug
313764
313765         · 03b675a618 Add import to work around likely multiprocessing scoping
313766           bug
313767
313768       · ISSUE  #42741:  (kkoppel)  docker_container.running keeps re-creating
313769         containers with links to other containers (refs: #42743)
313770
313771       · PR #42743: (kkoppel) Fix docker.compare_container for containers with
313772         links @ 2017-08-04 16:00:33 UTC
313773
313774         · 888e954e73 Merge pull request #42743 from kkoppel/fix-issue-42741
313775
313776         · de6d3cc0cf Update dockermod.py
313777
313778         · 58b997c67f  Added  a  helper  function that removes container names
313779           from  container  HostConfig:Links  values  to  enable  compare_con‐
313780           tainer() to make the correct decision about differences in links.
313781
313782       · ISSUE  #42668:  (UtahDave) Minions under syndics don't respond to MoM
313783         (refs: #42710)
313784
313785       · ISSUE #42545: (paul-mulvihill) Salt-api failing to return results for
313786         minions connected via syndics. (refs: #42710)
313787
313788       · PR  #42710:  (gtmanfred)  use  subtraction instead of or @ 2017-08-04
313789         15:14:14 UTC
313790
313791         · 03a7f9bbee Merge pull request #42710 from gtmanfred/syndic
313792
313793         · 683561a711 use subtraction instead of or
313794
313795       · PR #42670: (gtmanfred) render kubernetes docs @  2017-08-03  20:30:56
313796         UTC
313797
313798         · 005182b6a1 Merge pull request #42670 from gtmanfred/kube
313799
313800         · bca17902f5 add version added info
313801
313802         · 4bbfc751ae render kubernetes docs
313803
313804       · PR  #42712: (twangboy) Remove master config file from minion-only in‐
313805         staller @ 2017-08-03 20:25:02 UTC
313806
313807         · df354ddabf Merge pull request #42712 from twangboy/win_build_pkg
313808
313809         · 8604312a7b Remove master conf in minion install
313810
313811       · PR  #42714:  (cachedout)  Set  fact  gathering  style  to  'old'  for
313812         test_junos @ 2017-08-03 13:39:40 UTC
313813
313814         · bb1dfd4a42   Merge   pull   request   #42714  from  cachedout/work‐
313815           around_jnpr_test_bug
313816
313817         · 834d6c605e Set fact gathering style to 'old' for test_junos
313818
313819       · PR #42481: (twangboy) Fix unit.test_crypt for  Windows  @  2017-08-01
313820         18:10:50 UTC
313821
313822         · 4c1d931654     Merge    pull    request    #42481    from    twang‐
313823           boy/win_unit_test_crypt
313824
313825         · 102509029e Remove chown mock, fix path seps
313826
313827       · PR #42654: (morganwillcock) Disable ZFS in the core grain for  NetBSD
313828         @ 2017-08-01 17:52:36 UTC
313829
313830         · 8bcefb5e67 Merge pull request #42654 from morganwillcock/zfsgrain
313831
313832         · 49023deb94 Disable ZFS grain on NetBSD
313833
313834       · ISSUE #42421: (bfilipek) archive.extracted on Windows failed when dir
313835         not exist (refs: #42453)
313836
313837       · PR #42453: (gtmanfred) don't pass  user  to  makedirs  on  windows  @
313838         2017-07-31 19:57:57 UTC
313839
313840         · 5baf2650fc Merge pull request #42453 from gtmanfred/makedirs
313841
313842         · 559d432930 fix tests
313843
313844         · afa7a13ce3 use logic from file.directory for makedirs
313845
313846       · PR  #42603:  (twangboy)  Add  runas_passwd  as  a global for states @
313847         2017-07-31 19:49:49 UTC
313848
313849         · fb81e78f71 Merge pull request #42603 from twangboy/win_fix_runas
313850
313851         · 0c9e40012b Remove deprecation, add logic to state.py
313852
313853         · 464ec34713 Fix another instance of runas_passwd
313854
313855         · 18d6ce4d55 Add global vars to cmd.call
313856
313857         · 6c71ab6f80 Remove runas and runas_password after state run
313858
313859         · 4ea264e3db Change to runas_password in docs
313860
313861         · 61aba35718 Deprecate password, make runas_password a named arg
313862
313863         · 41f0f75a06 Add new var to list, change to runas_password
313864
313865         · b9c91eba60 Add runas_passwd as a global for states
313866
313867       · PR #42541: (Mareo) Avoid confusing warning  when  using  file.line  @
313868         2017-07-31 19:41:58 UTC
313869
313870         · 75ba23c253 Merge pull request #42541 from epita/fix-file-line-warn‐
313871           ing
313872
313873         · 2fd172e07b Avoid confusing warning when using file.line
313874
313875       · PR #42625: (twangboy) Fix the list function in the win_wua  execution
313876         module @ 2017-07-31 19:27:16 UTC
313877
313878         · 3d328eba80 Merge pull request #42625 from twangboy/fix_win_wua
313879
313880         · 1340c15ce7 Add general usage instructions
313881
313882         · 19f34bda55 Fix docs, formatting
313883
313884         · b17495c9c8 Fix problem with list when install=True
313885
313886       · ISSUE  #42514:  (rickh563)  module.run  does  not work as expected in
313887         2017.7.0 (refs: #42602)
313888
313889       · PR #42602: (garethgreenaway) Use superseded and deprecated configura‐
313890         tion from pillar @ 2017-07-31 18:53:06 UTC
313891
313892         · 25094ad9b1    Merge   pull   request   #42602   from   garethgreen‐
313893           away/42514_2017_7_superseded_deprecated_from_pillar
313894
313895         · 2e132daa73 Slight update to formatting
313896
313897         · 74bae13939 Small update to something I missed in the first  commit.
313898           Updating tests to also test for pillar values.
313899
313900         · 928a4808dd  Updating  the  superseded  and deprecated decorators to
313901           work when specified as pillar values.
313902
313903       · PR #42621: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
313904         @ 2017-07-28 19:45:51 UTC
313905
313906         · b7cd30d3ee Merge pull request #42621 from rallytime/merge-2017.7
313907
313908         · 58dcb58a47 Merge branch '2016.11' into '2017.7'
313909
313910           · cbf752cd73 Merge pull request #42515 from gtmanfred/backslash
313911
313912             · cc4e45656d Allow not interpreting backslashes in the repl
313913
313914           · 549495831f Merge pull request #42586 from gdubroeucq/2016.11
313915
313916             · 9c0b5cc1d6 Remove extra newline
313917
313918             · d2ef4483e4 yumpkg.py: clean
313919
313920             · a96f7c09e0 yumpkg.py: add option to the command "check-update"
313921
313922           · 6b45debf28  Merge  pull  request  #41988 from redmatter/fix-dock‐
313923             erng-network-matching
313924
313925             · 9eea796da8 Add regression tests for #41982
313926
313927             · 3369f0072f Fix broken unit test test_network_absent
313928
313929             · 0ef6cf634c Add trace logging of dockerng.networks result
313930
313931             · 515c612808 Fix dockerng.network_* name matching
313932
313933       · ISSUE #34245:  (Talkless)  ini.options_present  always  report  state
313934         change (refs: #41690)
313935
313936       · PR  #42618:  (rallytime)  Back-port  #41690  to  2017.7  @ 2017-07-28
313937         19:27:11 UTC
313938
313939         · PR #41690: (m03) Fix issue #34245 with ini.options_present  report‐
313940           ing changes (refs: #42618)
313941
313942         · d48749b476 Merge pull request #42618 from rallytime/bp-41690
313943
313944         · 22c6a7c7ff Improve output precision
313945
313946         · ee4ea6b860 Fix #34245 ini.options_present reporting changes
313947
313948       · ISSUE  #42588:  (ixs)  salt-ssh  fails  when  using  scan  roster and
313949         detected minions are uncached (refs: #42589)
313950
313951       · PR #42619:  (rallytime)  Back-port  #42589  to  2017.7  @  2017-07-28
313952         19:26:36 UTC
313953
313954         · PR  #42589:  (ixs) Fix ssh-salt calls with scan roster for uncached
313955           clients (refs: #42619)
313956
313957         · e671242a4f Merge pull request #42619 from rallytime/bp-42589
313958
313959         · cd5eb93903 Fix ssh-salt calls with scan roster for uncached clients
313960
313961       · ISSUE #41982: (abulford) dockerng.network_* matches too easily (refs:
313962         #42006, #41988)
313963
313964       · PR   #42006:   (abulford)  Fix  dockerng.network_*  name  matching  @
313965         2017-07-28 15:52:52 UTC
313966
313967         · PR #41988: (abulford) Fix dockerng.network_* name  matching  (refs:
313968           #42006)
313969
313970         · 7d385f8bdc  Merge  pull  request  #42006  from  redmatter/fix-dock‐
313971           erng-network-matching-2017.7
313972
313973         · f83960c02a Lint: Remove extra line at end of file.
313974
313975         · c7d364ec56 Add regression tests for #41982
313976
313977         · d31f2913bd Fix broken unit test test_network_absent
313978
313979         · d42f781c64 Add trace logging of docker.networks result
313980
313981         · 8c00c63b55 Fix dockerng.network_* name matching
313982
313983       · ISSUE #12587: (Katafalkas) salt-cloud custom functions/actions (refs:
313984         #42616)
313985
313986       · PR #42616: (amendlik) Sync cloud modules @ 2017-07-28 15:40:36 UTC
313987
313988         · ee8aee1496 Merge pull request #42616 from amendlik/sync-clouds
313989
313990         · ab21bd9b5b Sync cloud modules when saltutil.sync_all is run
313991
313992       · PR  #42601: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
313993         @ 2017-07-27 22:32:07 UTC
313994
313995         · e2dd443002 Merge pull request #42601 from rallytime/merge-2017.7
313996
313997         · 36a1bcf8c5 Merge branch '2016.11' into '2017.7'
313998
313999           · 4b16109122 Merge pull request #42339  from  isbm/isbm-jobs-sched‐
314000             uled-in-a-future-bsc1036125
314001
314002             · bbba84ce2d  Bugfix: Jobs scheduled to run at a future time stay
314003               pending for Salt minions (bsc#1036125)
314004
314005           · 6c5a7c604a Merge pull request #42077  from  vutny/fix-jobs-sched‐
314006             uled-with-whens
314007
314008             · b1960cea44 Fix scheduled job run on Master if when parameter is
314009               a list
314010
314011           · f9cb536589     Merge      pull      request      #42414      from
314012             vutny/unify-hash-params-format
314013
314014             · d1f2a93368 DOCS: unify hash sum with hash type format
314015
314016           · 535c922511 Merge pull request #42523 from rallytime/fix-42375
314017
314018             · 685c2cced6  Add  information  about  returning  a tuple with an
314019               error message
314020
314021             · fa466519c4 Add a mention of the True/False returns with  __vir‐
314022               tual__()
314023
314024           · 0df0e7e749 Merge pull request #42527 from twangboy/win_wua
314025
314026             · 0373791f2a Correct capatlization
314027
314028             · af3bcc927b Document changes to Windows Update in 10/2016
314029
314030           · 69b06586da      Merge      pull      request      #42551     from
314031             binocvlar/fix-lack-of-align-check-output
314032
314033             · c4fabaa192 Remove '-s' (--script)  argument  to  parted  within
314034               align_check function
314035
314036           · 9e0b4e9faf Merge pull request #42573 from rallytime/bp-42433
314037
314038             · 0293429e24 Only force saltenv/pillarenv to be a string when not
314039               None
314040
314041           · e931ed2517   Merge    pull    request    #42571    from    twang‐
314042             boy/win_add_pythonpath
314043
314044             · d55a44dd1a Avoid loading user site packages
314045
314046             · 9af1eb2741  Ignore  any PYTHON* environment vars already on the
314047               system
314048
314049             · 4e2fb03a95 Add pythonpath to batch files and service
314050
314051           · de2f397041   Merge   pull   request   #42387   from   DSRCorpora‐
314052             tion/bugs/42371_KeyError_WeakValueDict
314053
314054             · e721c7eee2 Don't use key in weakvaluedict because it could lie.
314055
314056           · 641a9d7efd   Merge   pull  request  #41968  from  root360-Andrea‐
314057             sUlm/fix-rabbitmqctl-output-handler
314058
314059             · 76fd941d91 added tests for rabbitmq 3.6.10 output handler
314060
314061             · 3602af1e1b Fix rabbitmqctl output handler for 3.6.10
314062
314063           · 66fede378a Merge pull request #42479 from gtmanfred/interface
314064
314065             · c32c1b2803 fix pylint
314066
314067             · 99ec634c6b validate ssh_interface for ec2
314068
314069           · a925c7029a Merge pull request #42516 from rallytime/fix-42405
314070
314071             · e3a6717efa Add info about top file to pillar walk-through exam‐
314072               ple to include edit.vim
314073
314074       · ISSUE  #42148:  (sjorge)  [2017.7.0rc1] use_superseded and module.run
314075         changes from release notes do nothing? (refs: #42270)
314076
314077       · PR #42290: (isbm) Backport of #42270 @ 2017-07-27 22:30:05 UTC
314078
314079         · PR #42270: (The-Loeki) State module.run/wait misses args when look‐
314080           ing for kwargs (refs: #42290)
314081
314082         · 22eea389fa   Merge   pull   request   #42290   from  isbm/isbm-mod‐
314083           ule_run_parambug_42270_217
314084
314085         · e38d432f90 Fix docs
314086
314087         · 1e8a56eda5 Describe function tagging
314088
314089         · 1d7233224b Describe function batching
314090
314091         · 1391a05d5e Bugfix: syntax error in the example
314092
314093         · 8c71257a4b Call unnamed parameters properly
314094
314095         · 94c97a8f25 Update and correct the error message
314096
314097         · ea8351362c Bugfix: args gets ignored alongside named parameters
314098
314099         · 74689e3462 Add ability to use tagged functions in the same set
314100
314101       · PR #42251: (twangboy)  Fix  unit.modules.test_win_ip  for  Windows  @
314102         2017-07-27 19:22:03 UTC
314103
314104         · 4c20f1cfbb     Merge    pull    request    #42251    from    twang‐
314105           boy/unit_win_test_win_ip
314106
314107         · 97261bfe69 Fix win_inet_pton check for malformatted ip addresses
314108
314109       · PR #42255: (twangboy) Fix unit.modules.test_win_system for Windows  @
314110         2017-07-27 19:12:42 UTC
314111
314112         · 2985e4c0e6     Merge    pull    request    #42255    from    twang‐
314113           boy/win_unit_test_win_system
314114
314115         · acc0345bc8 Fix unit tests
314116
314117       · PR #42528: (twangboy) Namespace cmp_to_key in the pkg state for  Win‐
314118         dows @ 2017-07-27 18:30:23 UTC
314119
314120         · a573386260     Merge    pull    request    #42528    from    twang‐
314121           boy/win_fix_pkg_state
314122
314123         · a040443fa1 Move functools import inside pylint escapes
314124
314125         · 118d5134e2 Remove namespaced function cmp_to_key
314126
314127         · a02c91adda Namespace cmp_to_key in the pkg state for Windows
314128
314129       · ISSUE #42521:  (rickh563)  chocolatey.installed  broken  on  2017.7.0
314130         (refs: #42534)
314131
314132       · PR  #42534:  (jmarinaro)  Fixes  AttributeError  thrown by chocolatey
314133         state @ 2017-07-27 17:59:50 UTC
314134
314135         · 62ae12bcd9 Merge pull request #42534 from jmarinaro/2017.7
314136
314137         · b242d2d6b5 Fixes AttributeError thrown by  chocolatey  state  Fixes
314138           #42521
314139
314140       · ISSUE  #40354:  (exc414)  CentOS  6.8  Init Script - Sed unterminated
314141         address regex (refs: #42557)
314142
314143       · ISSUE #37312: (gtmanfred) CLI flags should take overload settings  in
314144         the config files (refs: #42557)
314145
314146       · PR   #42557:   (justincbeard)  Fixing  output  so  --force-color  and
314147         --no-color override master and min… @ 2017-07-27 17:07:33 UTC
314148
314149         · 52605c249d Merge pull request #42557 from justincbeard/bugfix_37312
314150
314151         · ee3bc6eb10 Fixing output so --force-color and  --no-color  override
314152           master and minion config color value
314153
314154       · PR   #42567:   (skizunov)  Fix  disable_<tag-name>  config  option  @
314155         2017-07-27 17:05:00 UTC
314156
314157         · ab33517efb Merge pull request #42567 from skizunov/develop3
314158
314159         · 0f0b7e3e0a Fix disable_<tag-name> config option
314160
314161       · PR #42577: (twangboy) Compile scripts with -E -s params for  Salt  on
314162         Mac @ 2017-07-26 22:44:37 UTC
314163
314164         · 30bb941179 Merge pull request #42577 from twangboy/mac_scripts
314165
314166         · 69d5973651 Compile scripts with -E -s params for python
314167
314168       · PR  #42524: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
314169         @ 2017-07-26 22:41:06 UTC
314170
314171         · 60cd078164 Merge pull request #42524 from rallytime/merge-2017.7
314172
314173         · 14d8d795f6 Merge branch '2016.11' into '2017.7'
314174
314175           · 1bd5bbccc2  Merge  pull   request   #42509   from   clem-compila‐
314176             tio/fix-42417
314177
314178             · 72924b06b8 Fix _assign_floating_ips in openstack.py
314179
314180           · 4bf35a74de   Merge   pull   request   #42464   from  garethgreen‐
314181             away/2016_11_remove_tmp_identity_file
314182
314183             · ff24102d51 Uncomment the line that removes the temporary  iden‐
314184               tity file.
314185
314186           · e2120dbd0e   Merge   pull   request   #42443   from  garethgreen‐
314187             away/42357_pass_args_kwargs_correctly
314188
314189             · 635810b3e3 Updating the slack engine in  2016.11  to  pass  the
314190               args and kwrags correctly to LocalClient
314191
314192           · 8262cc9054      Merge      pull      request      #42200     from
314193             shengis/sqlite3_fix_row_absent_2016.11
314194
314195             · 407b8f4bb3 Fix #42198 If where_args is not set, not using it in
314196               the delete request.
314197
314198           · d9df97e5a3 Merge pull request #42424 from goten4/2016.11
314199
314200             · 1c0574d05e  Fix  error  message  when  tornado or pycurl is not
314201               installed
314202
314203       · PR #42575: (rallytime) [2017.7] Merge forward from 2017.7.1 to 2017.7
314204         @ 2017-07-26 22:39:10 UTC
314205
314206         · 2acde837df     Merge    pull    request    #42575    from    rally‐
314207           time/merge-2017.7.1-into-2017.7
314208
314209         · 63bb0fb2c4 pass in empty kwarg for reactor
314210
314211         · 2868061ee4 update chunk, not kwarg in chunk
314212
314213         · 46715e9d94 Merge branch '2017.7.1' into '2017.7'
314214
314215       · PR  #42555:  (Ch3LL)  add  changelog  to  2017.7.1  release  notes  @
314216         2017-07-26 14:57:43 UTC
314217
314218         · 1d93e92194 Merge pull request #42555 from Ch3LL/7.1_add_changelog
314219
314220         · fb69e71093 add changelog to 2017.7.1 release notes
314221
314222       · PR   #42266:  (twangboy)  Fix  unit.states.test_file  for  Windows  @
314223         2017-07-25 20:26:32 UTC
314224
314225         · 07c2793e86    Merge    pull    request    #42266    from     twang‐
314226           boy/win_unit_states_test_file
314227
314228         · 669aaee10d Mock file exists properly
314229
314230         · a4231c9827 Fix ret mock for linux
314231
314232         · 0c484f8979 Fix unit tests on Windows
314233
314234       · PR #42484: (shengis) Fix a potential Exception with an explicit error
314235         message @ 2017-07-25 18:34:12 UTC
314236
314237         · df417eae17      Merge      pull      request      #42484       from
314238           shengis/fix-explicit-error-msg-x509-sign-remote
314239
314240         · 0b548c72e1 Fix a potential Exception with an explicit error message
314241
314242       · ISSUE   saltstack/salt-jenkins#396:   (Ch3LL)   Python3   Fix   Test:
314243         JoyentTest.test_instance (refs: #42529)
314244
314245       · ISSUE #41720: (rallytime) [Py3] Some salt-cloud drivers do  not  work
314246         using Python 3 (refs: #42529)
314247
314248       · PR  #42529:  (gtmanfred) Fix joyent for python3 @ 2017-07-25 16:37:48
314249         UTC
314250
314251         · 0f25ec76f9 Merge pull request #42529 from gtmanfred/2017.7
314252
314253         · b7ebb4d81a these drivers do not actually have an issue.
314254
314255         · e90ca7a114 use salt encoding for joyent on 2017.7
314256
314257       · PR #42465: (garethgreenaway) [2017.7] Small fix to  modules/git.py  @
314258         2017-07-24 17:24:55 UTC
314259
314260         · 488457c5a0    Merge   pull   request   #42465   from   garethgreen‐
314261           away/2017_7_remove_tmp_identity_file
314262
314263         · 1920dc6079 Uncomment the line that removes the  temporary  identity
314264           file.
314265
314266       · ISSUE  #23516:  (dkiser)  BUG:  cron job scheduler sporadically works
314267         (refs: #42077)
314268
314269       · PR #42107: (vutny) [2017.7] Fix scheduled jobs if when parameter is a
314270         list @ 2017-07-24 17:04:12 UTC
314271
314272         · PR  #42077: (vutny) Fix scheduled job run on Master if when parame‐
314273           ter is a list (refs: #42107)
314274
314275         · PR #41973: (vutny) Fix Master/Minion scheduled jobs based  on  Cron
314276           expressions (refs: #42077)
314277
314278         · 4f044999fa       Merge      pull      request      #42107      from
314279           vutny/2017.7-fix-jobs-scheduled-with-whens
314280
314281         · 905be493d4 [2017.7] Fix scheduled jobs if when parameter is a list
314282
314283       · PR #42506: (terminalmage) Add PER_REMOTE_ONLY to init_remotes call in
314284         git_pillar runner @ 2017-07-24 16:59:21 UTC
314285
314286         · 6eaa0763e1 Merge pull request #42506 from terminalmage/fix-git-pil‐
314287           lar-runner
314288
314289         · 6352f447ce Add PER_REMOTE_ONLY to init_remotes call  in  git_pillar
314290           runner
314291
314292       · PR  #42502:  (shengis)  Fix  azurerm  query  to show IPs @ 2017-07-24
314293         15:54:45 UTC
314294
314295         · b88e645f10  Merge  pull  request  #42502   from   shengis/fix_azur‐
314296           erm_request_ips
314297
314298         · 92f1890701 Fix azurerm query to show IPs
314299
314300       · PR  #42180:  (twangboy)  Fix unit.modules.test_timezone for Windows @
314301         2017-07-24 14:46:16 UTC
314302
314303         · c793d83d26    Merge    pull    request    #42180    from     twang‐
314304           boy/win_unit_test_timezone
314305
314306         · 832a3d86dd Skip tests that use os.symlink on Windows
314307
314308       · PR  #42474:  (whiteinge)  Cmd  arg  kwarg  parsing  test @ 2017-07-24
314309         14:13:30 UTC
314310
314311         · PR #39646: (terminalmage) Handle deprecation of passing string args
314312           to load_args_and_kwargs (refs: #42474)
314313
314314         · 083ff00410       Merge      pull      request      #42474      from
314315           whiteinge/cmd-arg-kwarg-parsing-test
314316
314317         · 0cc0c0967a Lint fixes
314318
314319         · 66093738c8 Add back support for string kwargs
314320
314321         · 622ff5be40 Add LocalClient.cmd test for arg/kwarg parsing
314322
314323         · 9f4eb80d90 Add a test.arg variant that cleans  the  pub  kwargs  by
314324           default
314325
314326       · PR  #42425: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
314327         @ 2017-07-21 22:43:41 UTC
314328
314329         · c91a5e539e Merge pull request #42425 from rallytime/merge-2017.7
314330
314331         · ea457aa0a5 Remove ALIASES block from template util
314332
314333         · c673b64583 Merge branch '2016.11' into '2017.7'
314334
314335           · 42bb1a64ca   Merge    pull    request    #42350    from    twang‐
314336             boy/win_fix_ver_grains_2016.11
314337
314338             · 8c048403d7 Detect Server OS with a desktop release name
314339
314340           · 0a72e56f6b Merge pull request #42356 from meaksh/2016.11-Aliases‐
314341             Loader-wrapper-fix
314342
314343             · 915d94219e Allow to check whether a function  is  available  on
314344               the AliasesLoader wrapper
314345
314346           · 10eb7b7a79    Merge    pull    request    #42368    from   twang‐
314347             boy/win_fix_build_2016.11
314348
314349             · a7c910c31e Remove build and dist directories before install
314350
314351           · 016189f62f Merge pull request #42370 from rallytime/merge-2016.11
314352
314353             · 0aa5dde1de Merge branch '2016.3' into '2016.11'
314354
314355             · e9b0f20f8a     Merge     pull     request      #42359      from
314356               Ch3LL/doc-update-2016.3
314357
314358               · dc85b5edbe  [2016.3] Update version numbers in doc config for
314359                 2017.7.0 release
314360
314361           · f06a6f1796     Merge      pull      request      #42360      from
314362             Ch3LL/doc-update-2016.11
314363
314364             · b90b7a7506  [2016.11]  Update version numbers in doc config for
314365               2017.7.0 release
314366
314367           · e0595b0a0f Merge pull request #42319 from rallytime/config-docs
314368
314369             · b40f980632 Add more documentation for config options  that  are
314370               missing from master/minion docs
314371
314372           · 78940400e3 Merge pull request #42352 from CorvinM/issue42333
314373
314374             · 526b6ee14d Multiple documentation fixes
314375
314376       · ISSUE  #42357:  (Giandom)  Salt  pillarenv  problem with slack engine
314377         (refs: #42443, #42444)
314378
314379       · PR  #42444:  (garethgreenaway)  [2017.7]  Fix  to  slack   engine   @
314380         2017-07-21 22:03:48 UTC
314381
314382         · 10e4d9234b    Merge   pull   request   #42444   from   garethgreen‐
314383           away/42357_2017_7_pass_args_kwargs_correctly
314384
314385         · f411cfc2a9 Updating the slack engine in 2017.7 to pass the args and
314386           kwrags correctly to LocalClient
314387
314388       · PR  #42461:  (rallytime) Bump warning version from Oxygen to Fluorine
314389         in roster cache @ 2017-07-21 21:33:25 UTC
314390
314391         · 723be49fac  Merge  pull  request  #42461  from  rallytime/bump-ros‐
314392           ter-cache-deprecations
314393
314394         · c0df0137f5  Bump  warning version from Oxygen to Fluorine in roster
314395           cache
314396
314397       · ISSUE #42374: (tyhunt99) [2017.7.0]  salt-run  mange.versions  throws
314398         exception if minion is offline or unresponsive (refs: #42436)
314399
314400       · PR  #42436:  (garethgreenaway)  Fixes  to versions function in manage
314401         runner @ 2017-07-21 19:41:07 UTC
314402
314403         · 09521602c1   Merge   pull   request   #42436   from    garethgreen‐
314404           away/42374_manage_runner_minion_offline
314405
314406         · 0fd39498c0  Updating the versions function inside the manage runner
314407           to account for when a minion is offline and we are unable to deter‐
314408           mine it's version.
314409
314410       · ISSUE  #42427:  (grichmond-salt) Issue Passing Variables created from
314411         load_json as Inline Pillar Between States (refs: #42435)
314412
314413       · PR #42435: (terminalmage) Modify our custom YAML loader to treat uni‐
314414         code literals as unicode strings (refs: #42812) @ 2017-07-21 19:40:34
314415         UTC
314416
314417         · 54193ea543 Merge pull request #42435 from terminalmage/issue42427
314418
314419         · 31273c7ec1 Modify our custom YAML loader to treat unicode  literals
314420           as unicode strings
314421
314422       · ISSUE  #42381:  (zebooka)  Git.detached  broken  in  2017.7.0  (refs:
314423         #42399)
314424
314425       · ISSUE  #38878:  (tomlaredo)  [Naming  consistency]  git.latest  "rev"
314426         option VS git.detached "ref" option (refs: #38898)
314427
314428       · PR  #42399:  (rallytime)  Update  old  "ref"  references  to "rev" in
314429         git.detached state @ 2017-07-21 19:38:59 UTC
314430
314431         · PR #38898: (terminalmage) git.detached: rename ref to rev for  con‐
314432           sistency (refs: #42399)
314433
314434         · 0b3179135c Merge pull request #42399 from rallytime/fix-42381
314435
314436         · d9d94fe02f  Update  old  "ref"  references to "rev" in git.detached
314437           state
314438
314439       · ISSUE #42400: (Enquier) Conflict in execution of passing pillar  data
314440         to orch/reactor event executions 2017.7.0 (refs: #42031)
314441
314442       · PR  #42031: (skizunov) Fix: Reactor emits critical error @ 2017-07-21
314443         19:38:34 UTC
314444
314445         · bd4adb483d Merge pull request #42031 from skizunov/develop3
314446
314447         · 540977b4b1 Fix: Reactor emits critical error
314448
314449       · ISSUE #41949: (jrporcaro) Event returner doesn't  work  with  Windows
314450         Master (refs: #42027)
314451
314452       · PR #42027: (gtmanfred) import salt.minion for EventReturn for Windows
314453         @ 2017-07-21 19:37:03 UTC
314454
314455         · 3abf7ad7d7 Merge pull request #42027 from gtmanfred/2017.7
314456
314457         · fd4458b6c7 import salt.minion for EventReturn for Windows
314458
314459       · PR #42454: (terminalmage) Document future renaming  of  new  rand_str
314460         jinja filter @ 2017-07-21 18:47:51 UTC
314461
314462         · 994d3dc74a    Merge    pull    request    #42454   from   terminal‐
314463           mage/jinja-docs-2017.7
314464
314465         · 98b661406e Document future renaming of new rand_str jinja filter
314466
314467       · PR #42452: (Ch3LL) update windows urls to new py2/py3 naming scheme @
314468         2017-07-21 17:20:47 UTC
314469
314470         · 4480075129 Merge pull request #42452 from Ch3LL/fix_url_windows
314471
314472         · 3f4a918f73 update windows urls to new py2/py3 naming scheme
314473
314474       · ISSUE  #42404:  (gabekahen)  [2017.7] file.managed with cmd_check "No
314475         such file or directory" (refs: #42411)
314476
314477       · ISSUE #33708: (pepinje) visudo check command  leaves  cache  file  in
314478         /tmp (refs: #42411, #38063)
314479
314480       · PR  #42411: (seedickcode) Fix file.managed check_cmd file not found -
314481         Issue #42404 @ 2017-07-20 21:59:17 UTC
314482
314483         · PR #38063: (llua) tmp file clean up in file.manage - fix for #33708
314484           (refs: #42411)
314485
314486         · 33e90be1fe Merge pull request #42411 from seedickcode/check_cmd_fix
314487
314488         · 4ae3911f01 Fix file.managed check_cmd file not found - Issue #42404
314489
314490       · PR  #42409:  (twangboy)  Add Scripts to build Py3 on Mac @ 2017-07-20
314491         21:36:34 UTC
314492
314493         · edde31376a Merge pull request #42409 from twangboy/mac_py3_scripts
314494
314495         · ac0e04af72 Remove build and dist, sign pkgs
314496
314497         · 9d66e273c4 Fix hard coded pip path
314498
314499         · 7b8d6cbbd2 Add support for Py3
314500
314501         · aa4eed93c8 Update Python and other reqs
314502
314503       · ISSUE #42403: (astronouth7303) [2017.7] Pillar empty  when  state  is
314504         applied from orchestrate (refs: #42433)
314505
314506       · PR #42433: (terminalmage) Only force saltenv/pillarenv to be a string
314507         when not None (refs: #42573) @ 2017-07-20 21:32:24 UTC
314508
314509         · 82982f940d Merge pull request #42433 from terminalmage/issue42403
314510
314511       · PR    #42408:    (CorvinM)    Fix    documentation    misformat    in
314512         salt.states.file.replace @ 2017-07-20 00:45:43 UTC
314513
314514         · a71938cefe     Merge     pull    request    #42408    from    Corv‐
314515           inM/file-replace-doc-fix
314516
314517         · 246a2b3e74 Fix documentation misformat in salt.states.file.replace
314518
314519       · PR #42347: (twangboy) Fixes  problem  with  Version  and  OS  Release
314520         related  grains  on  certain versions of Python @ 2017-07-19 17:05:43
314521         UTC
314522
314523         · d385dfd19d    Merge    pull    request    #42347    from     twang‐
314524           boy/win_fix_ver_grains
314525
314526         · ef1f663fc9 Detect server OS with a desktop release name
314527
314528       · PR  #42366:  (twangboy)  Remove  build  and  dist  directories before
314529         install @ 2017-07-19 16:37:41 UTC
314530
314531         · eb9e4206c9 Merge pull request #42366 from twangboy/win_fix_build
314532
314533         · 0946002713 Add blank line after delete
314534
314535         · f7c0bb4f46 Remove build and dist directories before install
314536
314537       · PR  #42373:  (Ch3LL)  Add  initial  2017.7.1  Release  Notes  File  @
314538         2017-07-19 16:28:46 UTC
314539
314540         · af7820f25d Merge pull request #42373 from Ch3LL/add_2017.7.1
314541
314542         · ce1c1b6d28 Add initial 2017.7.1 Release Notes File
314543
314544       · PR   #42150:  (twangboy)  Fix  unit.modules.test_pip  for  Windows  @
314545         2017-07-19 16:01:17 UTC
314546
314547         · 59e012b485    Merge    pull    request    #42150    from     twang‐
314548           boy/win_unit_test_pip
314549
314550         · 4ee24202fc Fix unit tests for test_pip
314551
314552       · PR  #42154:  (twangboy)  Fix  unit.modules.test_reg_win for Windows @
314553         2017-07-19 16:00:38 UTC
314554
314555         · ade25c6b34    Merge    pull    request    #42154    from     twang‐
314556           boy/win_unit_test_reg
314557
314558         · 00d9a52802 Fix problem with handling REG_QWORD in list values
314559
314560       · PR  #42182:  (twangboy)  Fix  unit.modules.test_useradd for Windows @
314561         2017-07-19 15:55:33 UTC
314562
314563         · 07593675e2    Merge    pull    request    #42182    from     twang‐
314564           boy/win_unit_test_useradd
314565
314566         · 8260a71c07 Disable tests that require pwd in Windows
314567
314568       · PR #42364: (twangboy) Windows Package notes for 2017.7.0 @ 2017-07-18
314569         19:24:45 UTC
314570
314571         · a175c40c1d    Merge    pull    request    #42364    from     twang‐
314572           boy/release_notes_2017.7.0
314573
314574         · 96517d1355 Add note about patched windows packages
314575
314576       · PR  #42361: (Ch3LL) [2017.7] Update version numbers in doc config for
314577         2017.7.0 release @ 2017-07-18 19:23:22 UTC
314578
314579         · 4dfe50e558 Merge pull request #42361 from Ch3LL/doc-update-2017.7
314580
314581         · dc5bb301f7 [2017.7]  Update  version  numbers  in  doc  config  for
314582           2017.7.0 release
314583
314584       · PR  #42363: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
314585         @ 2017-07-18 18:40:48 UTC
314586
314587         · 587138d771 Merge pull request #42363 from rallytime/merge-2017.7
314588
314589         · 7aa31ff030 Merge branch '2016.11' into '2017.7'
314590
314591           · b256001760   Merge   pull   request   #42353    from    terminal‐
314592             mage/fix-git-test
314593
314594             · 14cf6ce322 is_windows is a function, not a propery/attribute
314595
314596           · 866a1febb4 Merge pull request #42264 from rallytime/fix-41116
314597
314598             · bd638880e3  Add  mono-spacing to salt-minion reference for con‐
314599               sistency
314600
314601             · 30d62f43da Update minion restart section in FAQ doc for windows
314602
314603           · 9a707088ad Merge pull request #42275 from terminalmage/issue42194
314604
314605             · 663874908a pkg.installed: pack name/version into pkgs argument
314606
314607           · e588f235e0 Merge pull request #42269 from rallytime/fix-41721
314608
314609             · f2250d474a Add a note about using different styles of quotes.
314610
314611             · 38d9b3d553 Add some clarity to  "multiple  quotes"  section  of
314612               yaml docs
314613
314614           · 5aaa214a75 Merge pull request #42282 from rallytime/fix-42152
314615
314616             · f032223843 Handle libcloud objects that throw RepresenterErrors
314617               with --out=yaml
314618
314619           · fb5697a4bc     Merge      pull      request      #42308      from
314620             lubyou/42295-fix-file-absent-windows
314621
314622             · 026ccf401a Force file removal on Windows. Fixes #42295
314623
314624           · da2a8a518f Merge pull request #42314 from rallytime/fix-42267
314625
314626             · c406046940  Add  clarification  to  salt  ssh  docs  about  key
314627               auto-generation.
314628
314629           · acadd54013  Merge   pull   request   #41945   from   garethgreen‐
314630             away/41936_allow_identity_files_with_user
314631
314632             · 44841e5626 Moving the call to cp.get_file inside the with block
314633               to ensure the umask is preserved when we grab the file.
314634
314635             · f9ba60eed8 Merge pull request #1 from terminalmage/pr-41945
314636
314637               · 1b6026177c Restrict set_umask to mkstemp call only
314638
314639             · 68549f3496 Fixing umask to we can set files as executable.
314640
314641             · 4949bf3ff3     Updating     to     swap     on     the      new
314642               salt.utils.files.set_umask context_manager
314643
314644             · 8faa9f6d92 Updating PR with requested changes.
314645
314646             · 494765e939 Updating the git module to allow an identity file to
314647               be used when passing the user parameter
314648
314649           · f90e04a2bc Merge pull request #42289 from CorvinM/bp-41543
314650
314651             · 357dc22f05 Fix user creation with empty password
314652
314653           · a91a3f81b1  Merge  pull  request   #42123   from   vutny/fix-mas‐
314654             ter-utils-import
314655
314656             · 6bb8b8f98c Add missing doc for utils_dirs Minion config option
314657
314658             · f1bc58f6d5 Utils: add example of module import
314659
314660           · e2aa5114e4 Merge pull request #42261 from rallytime/minor-doc-fix
314661
314662             · 8c76bbb53d  Some  minor doc fixes for dnsutil module so they'll
314663               render correctly
314664
314665           · 3e9dfbc9cc Merge pull request #42262 from rallytime/bp-42224
314666
314667             · c31ded341c Remove duplicate instruction in Openstack  Rackspace
314668               config example
314669
314670           · 7780579c36   Merge   pull   request   #42181   from  garethgreen‐
314671             away/42137_backport_fix_from_2017_7
314672
314673             · a34970b45b Back porting the fix for  2017.7  that  ensures  the
314674               order of the names parameter.
314675
314676           · 72537868a6 Merge pull request #42253 from gtmanfred/2016.11
314677
314678             · 53e25760be Only use unassociated ips when unable to allocate
314679
314680           · b2a4698b5d Merge pull request #42252 from UtahDave/2016.11local
314681
314682             · e6a9563d47 simple doc updates
314683
314684           · 781fe13be7      Merge      pull      request      #42235     from
314685             astronouth7303/patch-1-2016.3
314686
314687             · 4cb51bd03a Make note of dig partial requirement.
314688
314689             · 08e7d8351a Abolish references to dig in examples.
314690
314691           · 83cbd76f16 Merge pull request #42215 from twangboy/win_iis_docs
314692
314693             · c07e22041a Add missing config to example
314694
314695           · 274946ab00 Merge pull request #42211 from terminalmage/issue40928
314696
314697             · 22a18fa2ed Only pass a saltenv  in  orchestration  if  one  was
314698               explicitly passed (2016.11)
314699
314700           · 89261cf06c Merge pull request #42173 from rallytime/bp-37424
314701
314702             · 01addb6053 Avoid Early Convert ret['comment'] to String
314703
314704           · 3b17fb7f83 Merge pull request #42175 from rallytime/bp-39366
314705
314706             · 53f7b987e8 Pass sig to service.status in after_toggle
314707
314708           · ea16f47f0a Merge pull request #42172 from rallytime/merge-2016.11
314709
314710             · b1fa332a11 Merge branch '2016.3' into '2016.11'
314711
314712               · 8fa1fa5bb1     Merge     pull     request     #42155     from
314713                 phsteve/doc-fix-puppet
314714
314715               · fb2cb78a31 Fix docs for puppet.plugin_sync so code-block ren‐
314716                 ders properly and sync is spelled consistently
314717
314718           · 6307b9873f Merge pull request #42176 from rallytime/bp-42109
314719
314720             · 686926daf7 Update aws.rst - add Debian default username
314721
314722           · 28c4e4c3b7    Merge    pull   request   #42095   from   terminal‐
314723             mage/docker-login-debugging
314724
314725             · bd27870a71 Add debug logging to dockerng.login
314726
314727           · 2b754bc5af Merge pull request #42119 from terminalmage/issue42116
314728
314729             · 9a268949e3 Add integration test for 42116
314730
314731             · 1bb42bb609 Fix regression when CLI pillar override is used with
314732               salt-call
314733
314734           · 8c0a83cbb5 Merge pull request #42121 from terminalmage/issue42114
314735
314736             · d14291267f Fix pillar.get when saltenv is passed
314737
314738           · 687992c240    Merge    pull   request   #42094   from   terminal‐
314739             mage/quiet-exception
314740
314741             · 47d61f4edf Prevent command from showing in exception when  out‐
314742               put_loglevel=quiet
314743
314744           · dad255160c Merge pull request #42163 from vutny/fix-42115
314745
314746             · b27b1e340a Fix #42115: parse libcloud "rc" version correctly
314747
314748           · 2a8ae2b3b6 Merge pull request #42164 from Ch3LL/fix_kerb_doc
314749
314750             · 7c0fb248ec Fix kerberos create_keytab doc
314751
314752           · 678d4d4098 Merge pull request #42141 from rallytime/bp-42098
314753
314754             · bd80243233 Change repo_ng to repo-ng
314755
314756           · c8afd7a3c9 Merge pull request #42140 from rallytime/bp-42097
314757
314758             · 9c4e132540 Import datetime
314759
314760             · 1435bf177e require large timediff for ipv6 warning
314761
314762           · c239664c8b Merge pull request #42142 from Ch3LL/change_builds
314763
314764             · e1694af39c Update builds available for rc1
314765
314766       · PR #42340: (isbm) Bugfix: Jobs scheduled to run at a future time stay
314767         pending for Salt … @ 2017-07-18 18:13:36 UTC
314768
314769         · 55b7a5cb4a Merge pull  request  #42340  from  isbm/isbm-jobs-sched‐
314770           uled-in-a-future-2017.7-bsc1036125
314771
314772         · 774d204d65  Bugfix:  Jobs  scheduled  to  run at a future time stay
314773           pending for Salt minions (bsc#1036125)
314774
314775       · PR #42327: (mirceaulinic) Default skip_verify to False  @  2017-07-18
314776         18:04:36 UTC
314777
314778         · e72616c5f1 Merge pull request #42327 from mirceaulinic/patch-10
314779
314780         · c830573a2c Trailing whitespaces
314781
314782         · c83e6fc696 Default skip_verify to False
314783
314784       · ISSUE  #42151:  (sjorge)  Doc  errors in jinja doc for develop branch
314785         (refs: #42179)
314786
314787       · PR #42179: (rallytime) Fix some documentation issues found  in  jinja
314788         filters doc topic @ 2017-07-18 18:01:57 UTC
314789
314790         · ba799b2831 Merge pull request #42179 from rallytime/fix-42151
314791
314792         · 798d29276e Add note about "to_bytes" jinja filter issues when using
314793           yaml_jinja renderer
314794
314795         · 1bbff572ab Fix some documentation issues found in jinja filters doc
314796           topic
314797
314798       · ISSUE #42076: (abulford) dockerng.volume_present test looks as though
314799         it would cause a change (refs: #42087, #42086)
314800
314801       · PR #42087: (abulford)  Make  result=true  if  Docker  volume  already
314802         exists @ 2017-07-17 18:41:47 UTC
314803
314804         · PR  #42086:  (abulford)  Make  result=true if Docker volume already
314805           exists (refs: #42087)
314806
314807         · 8dbb93851d  Merge  pull  request  #42087  from  redmatter/fix-dock‐
314808           erng-volume-present-result-2017.7
314809
314810         · 2e1dc95500 Make result=true if Docker volume already exists
314811
314812       · ISSUE #42166: (sjorge) [2017.7.0rc1] jinja filter network_hosts fails
314813         on large IPv6 networks (refs: #42186)
314814
314815       · PR  #42186:  (rallytime)  Use  long_range  function  for  IPv6Network
314816         hosts() function @ 2017-07-17 18:39:35 UTC
314817
314818         · c84d6db548 Merge pull request #42186 from rallytime/fix-42166
314819
314820         · b8bcc0d599  Add  note  to various network_hosts docs about long_run
314821           for IPv6 networks
314822
314823         · 11862743c2 Use long_range function for IPv6Network hosts() function
314824
314825       · PR #42210: (terminalmage) Only pass a saltenv in orchestration if one
314826         was explicitly passed (2017.7) @ 2017-07-17 18:22:39 UTC
314827
314828         · e7b79e0fd2    Merge    pull    request    #42210   from   terminal‐
314829           mage/issue40928-2017.7
314830
314831         · 771ade5d73 Only pass a saltenv in orchestration if one was  explic‐
314832           itly passed (2017.7)
314833
314834       · PR   #42236:  (mirceaulinic)  New  option  for  napalm  proxy/minion:
314835         provider @ 2017-07-17 18:19:56 UTC
314836
314837         · 0e49021b0e    Merge    pull    request    #42236    from     cloud‐
314838           flare/napalm-provider
314839
314840         · 1ac69bd737 Document the provider option and rearrange the doc
314841
314842         · 4bf4b14161 New option for napalm proxy/minion: provider
314843
314844       · PR   #42257:   (twangboy)  Fix  unit.pillar.test_git  for  Windows  @
314845         2017-07-17 17:51:42 UTC
314846
314847         · 3ec5bb1c2f Merge pull request  #42257  from  twangboy/win_unit_pil‐
314848           lar_test_git
314849
314850         · 45be32666a Add error-handling function to shutil.rmtree
314851
314852       · PR  #42258:  (twangboy)  Fix  unit.states.test_environ  for Windows @
314853         2017-07-17 17:50:38 UTC
314854
314855         · 36395625c2    Merge    pull    request    #42258    from     twang‐
314856           boy/win_unit_states_tests_environ
314857
314858         · 55b278c478 Mock the reg.read_value function
314859
314860       · PR  #42265: (rallytime) Gate boto_elb tests if proper version of moto
314861         isn't installed @ 2017-07-17 17:47:52 UTC
314862
314863         · 894bdd2b19 Merge pull request #42265 from  rallytime/gate-moto-ver‐
314864           sion
314865
314866         · 78cdee51d5  Gate  boto_elb  tests  if  proper version of moto isn't
314867           installed
314868
314869       · PR #42277: (twangboy)  Fix  unit.states.test_winrepo  for  Windows  @
314870         2017-07-17 17:37:07 UTC
314871
314872         · baf04f2a2d     Merge    pull    request    #42277    from    twang‐
314873           boy/win_unit_states_test_winrepo
314874
314875         · ed89cd0b93 Use os.sep for path seps
314876
314877       · PR #42309: (terminalmage) Change "TBD" in versionadded to  "2017.7.0"
314878         @ 2017-07-17 17:11:45 UTC
314879
314880         · be6b211683 Merge pull request #42309 from terminalmage/fix-version‐
314881           added
314882
314883         · 603f5b7de6 Change "TBD" in versionadded to "2017.7.0"
314884
314885       · PR #42206: (rallytime) [PY3] Fix test  that  is  flaky  in  Python  3
314886         (refs: #42783) @ 2017-07-17 17:09:53 UTC
314887
314888         · acd29f9b38 Merge pull request #42206 from rallytime/fix-flaky-test
314889
314890         · 2be4865f48 [PY3] Fix test that is flaky in Python 3
314891
314892       · PR  #42126: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
314893         @ 2017-07-17 17:07:19 UTC
314894
314895         · 8f1cb287cf Merge pull request #42126 from rallytime/merge-2017.7
314896
314897       · PR #42078: (damon-atkins) pkg.install and pkg.remove fix version num‐
314898         ber input.  @ 2017-07-05 06:04:57 UTC
314899
314900         · 4780d7830a  Merge  pull  request  #42078 from damon-atkins/fix_con‐
314901           vert_flt_str_version_on_cmd_line
314902
314903         · 09d37dd892 Fix comment typo
314904
314905         · 7167549425 Handle version=None   when  converted  to  a  string  it
314906           becomes  'None'  parm  should  default  to empty string rather than
314907           None, it would fix better with existing code.
314908
314909         · 4fb2bb1856 Fix typo
314910
314911         · cf55c3361c pkg.install and pkg.remove on the command line take num‐
314912           ber  version numbers, store them within a float. However version is
314913           a string, to support versions numbers like 1.3.4
314914
314915       · PR #42105: (Ch3LL) Update releasecanddiate doc with  new  2017.7.0rc1
314916         Release @ 2017-07-04 03:14:42 UTC
314917
314918         · 46d575acbc Merge pull request #42105 from Ch3LL/update_rc
314919
314920         · d4e7b91608 Update releasecanddiate doc with new 2017.7.0rc1 Release
314921
314922       · ISSUE #41885: (astronouth7303) Recommended pip installation outdated?
314923         (refs: #42099)
314924
314925       · PR #42099: (rallytime) Remove  references  in  docs  to  pip  install
314926         salt-cloud @ 2017-07-03 22:13:44 UTC
314927
314928         · d38548bbbd Merge pull request #42099 from rallytime/fix-41885
314929
314930         · c2822e05ad Remove references in docs to pip install salt-cloud
314931
314932       · ISSUE #42076: (abulford) dockerng.volume_present test looks as though
314933         it would cause a change (refs: #42087, #42086)
314934
314935       · PR #42086: (abulford)  Make  result=true  if  Docker  volume  already
314936         exists (refs: #42087) @ 2017-07-03 15:48:33 UTC
314937
314938         · 81d606a8cb  Merge  pull  request  #42086  from  redmatter/fix-dock‐
314939           erng-volume-present-result
314940
314941         · 8d549685a7 Make result=true if Docker volume already exists
314942
314943       · ISSUE #25842: (shikhartanwar) Running salt-minion as non-root user to
314944         execute sudo commands always returns an error (refs: #42021)
314945
314946       · PR  #42021:  (gtmanfred)  Set  concurrent to True when running states
314947         with sudo @ 2017-06-30 21:02:15 UTC
314948
314949         · 7160697123 Merge pull request #42021 from gtmanfred/2016.11
314950
314951         · 26beb18aa5 Set concurrent to True when running states with sudo
314952
314953       · PR #42029: (terminalmage) Mock socket.getaddrinfo in  unit.utils.net‐
314954         work_test.NetworkTestCase.test_host_to_ips @ 2017-06-30 20:58:56 UTC
314955
314956         · b784fbbdf8 Merge pull request #42029 from terminalmage/host_to_ips
314957
314958         · 26f848e111  Mock socket.getaddrinfo in unit.utils.network_test.Net‐
314959           workTestCase.test_host_to_ips
314960
314961       · PR #42055: (dmurphy18) Upgrade support for gnupg v2.1  and  higher  @
314962         2017-06-30 20:54:02 UTC
314963
314964         · e067020b9b Merge pull request #42055 from dmurphy18/handle_gnupgv21
314965
314966         · e20cea6350 Upgrade support for gnupg v2.1 and higher
314967
314968       · PR  #42048:  (Ch3LL) Add initial 2016.11.7 Release Notes @ 2017-06-30
314969         16:00:05 UTC
314970
314971         · 74ba2abc48 Merge pull request #42048 from Ch3LL/add_11.7
314972
314973         · 1de5e008a0 Add initial 2016.11.7 Release Notes
314974
314975   Salt 2017.7.3 Release Notes
314976       Version 2017.7.3 is a bugfix release for 2017.7.0.
314977
314978   Statistics
314979       · Total Merges: 501
314980
314981       · Total Issue References: 94
314982
314983       · Total PR References: 423
314984
314985       · Contributors: 86 (3add3287, BenoitKnecht,  Ch3LL,  CorvinM,  Da-Juan,
314986         DmitryKuzmenko,  Giandom,  The-Loeki,  UtahDave,  adelcast, amendlik,
314987         angeloudy, anlutro, arthurlogilab,  basepi,  benediktwerner,  brejoc,
314988         cachedout,   campbellmc,   chnrxn,  clan,  corywright,  damon-atkins,
314989         dincamihai,  dmurphy18,  eliasp,   eradman,   forksaber,   frogunder,
314990         gaborn57,  garethgreenaway,  golmaal,  gracinet,  gtmanfred,  haam3r,
314991         isbm, jettero, jf, jubrad, keesbos, kris-anderson,  lomeroe,  mateiw,
314992         mattLLVW, mephi42, mirceaulinic, mkurtak, morganwillcock, msummers42,
314993         mtorromeo,    multani,    mvivaldi,     mz-bmcqueen,     nasenbaer13,
314994         nicholasmhughes,  oarmstrong,  pkruk,  pratik705, psagers, rallytime,
314995         rbjorklin,  rcallphin,   renner,   rhoths,   richardsimko,   rklaren,
314996         roaldnefs,   s0undt3ch,   samodid,   skizunov,  skjaro,  steverweber,
314997         sumeetisp,   t0fik,   techhat,   terminalmage,   timfreund,    timka,
314998         tkwilliams,  twangboy,  unthought,  vernondcole, vutny, wedge-jarrad,
314999         whytewolf, xuhcc)
315000
315001   Windows Changes
315002   pkg Execution Module`
315003       Significate changes (PR #43708 & #45390, damon-atkins) have  been  made
315004       to  the  pkg  execution  module. Users should test this release against
315005       their existing package sls definition files.
315006
315007       · pkg.list_available no longer defaults to refreshing the winrepo  meta
315008         database.
315009
315010       · pkg.install  without  a version parameter no longer upgrades software
315011         if the software is already installed.  Use pkg.install version=latest
315012         (or simply use a pkg.latest state to get the old behavior.
315013
315014       · pkg.list_pkgs  now  returns  multiple  versions if software installed
315015         more than once.
315016
315017       · pkg.list_pkgs now returns Not Found when the  version  is  not  found
315018         instead of (value not set) which matches the contents of the sls def‐
315019         initions.
315020
315021       · pkg.remove will wait up to 3 seconds (normally  about  a  second)  to
315022         detect  changes  in  the  registry after removing software, improving
315023         reporting of version changes.
315024
315025       · pkg.remove can remove latest software, if latest is  defined  in  sls
315026         definition.
315027
315028       · Documentation  was update for the execution module to match the style
315029         in new versions, some corrections as well.
315030
315031       · All install/remove commands are prefix with cmd.exe shell and  cmdmod
315032         is  called  with  a  command  line string instead of a list. Some sls
315033         files in saltstack/salt-winrepo-ng expected the commands to  be  pre‐
315034         fixed with cmd.exe (i.e. the use of &).
315035
315036       · Some  execution  module functions results, now behave more like their
315037         Unix/Linux versions.
315038
315039   cmd Execution Module
315040       Due to a difference in how Python's subprocess.Popen() spawns processes
315041       on  Windows,  passing  the command as a list of arguments can result in
315042       problems.  This is because Windows' CreateProcess requires the  command
315043       to  be passed as a single string. Therefore, subprocess will attempt to
315044       re-assemble the list of arguments into as string. Some escaped  charac‐
315045       ters and quotes can cause the resulting string to be incorrectly-assem‐
315046       bled, resulting in a failure to execute the command.
315047
315048       Salt now deals with these cases by joining the list of  arguments  cor‐
315049       rectly and ensuring that the command is passed to subprocess.Popen() as
315050       a string.
315051
315052   Changelog for v2017.7.2..v2017.7.3
315053       Generated at: 2018-05-26 21:36:50 UTC
315054
315055       · ISSUE #45743: (frogunder) Multi-master PKI not working on Py3  (refs:
315056         #45755)
315057
315058       · PR  #45755:  (terminalmage)  salt.crypt:  Ensure  message  is encoded
315059         before signing @ 2018-01-29 19:04:50 UTC
315060
315061         · 1439da8d76 Merge pull request #45755 from terminalmage/issue45743
315062
315063         · 8af1251c59 salt.crypt: Ensure message is encoded before signing
315064
315065       · PR #45700: (Ch3LL) Add PRs to 2017.7.3  Release  Notes  @  2018-01-25
315066         20:56:45 UTC
315067
315068         · fe194d755f Merge pull request #45700 from Ch3LL/7.3_rn
315069
315070         · 84c8216901 Add PRs to 2017.7.3 Release Notes
315071
315072       · PR  #45681:  (damon-atkins)  2017.7.3  Release  notes  for  Windows @
315073         2018-01-25 15:13:18 UTC
315074
315075         · ce41f6a6ee      Merge      pull      request      #45681       from
315076           damon-atkins/2017.7.3_win_release_notes
315077
315078         · 1d21f86228 Update 2017.7.3.rst
315079
315080       · PR  #45672:  (rallytime)  Back-port  #45667  to 2017.7.3 @ 2018-01-25
315081         14:04:54 UTC
315082
315083         · PR #45667: (gtmanfred) default  to  upgrading  when  refreshing  on
315084           archlinux (refs: #45672)
315085
315086         · 2f303439b7 Merge pull request #45672 from rallytime/bp-45667
315087
315088         · 74bbaeb7ce  we should default to upgrading when refreshing on arch‐
315089           linux
315090
315091       · PR #45669: (rallytime)  Update  man  pages  for  2017.7.3  release  @
315092         2018-01-24 21:04:59 UTC
315093
315094         · 23ff1264e0     Merge    pull    request    #45669    from    rally‐
315095           time/man-pages-2017.7.3
315096
315097         · d31b41adeb Update man pages for 2017.7.3 release
315098
315099       · PR #45666: (terminalmage)  Fix  failing  pkg  integration  tests  for
315100         releases with no '.' @ 2018-01-24 17:19:10 UTC
315101
315102         · 9a17405ba6  Merge  pull request #45666 from terminalmage/salt-jenk‐
315103           ins-793
315104
315105         · 4a6ab729dd Fix failing pkg integration tests for releases  with  no
315106           '.'
315107
315108       · PR  #45664:  (rallytime)  Back-port  #45452  to 2017.7.3 @ 2018-01-24
315109         15:33:13 UTC
315110
315111         · PR #45452: (adelcast) opkg.py: make  owner  fuction  return  value,
315112           instead of iterator (refs: #45664)
315113
315114         · 0717f7a578 Merge pull request #45664 from rallytime/bp-45452
315115
315116         · 369720677b  opkg.py:  make  owner function return value, instead of
315117           iterator
315118
315119       · PR #45649: (rallytime) Back-port  #45634  to  2017.7.3  @  2018-01-24
315120         14:59:43 UTC
315121
315122         · PR  #45634:  (Ch3LL)  Add different service name for Mac 10.13 test
315123           (refs: #45649)
315124
315125         · 7934372b7b Merge pull request #45649 from rallytime/bp-45634
315126
315127         · 1c78fc23ea Add different service name for Mac 10.13 test
315128
315129       · PR #45654: (twangboy) Merge forward #45638 @ 2018-01-24 14:59:14 UTC
315130
315131         · PR #45638: (twangboy) Win fix shell info (refs: #45654)
315132
315133         · 770f0c4664    Merge    pull    request    #45654    from     twang‐
315134           boy/win_fix_shell_info_2017.7.3
315135
315136         · 5bb01aeb8c Merge forward #45638
315137
315138       · PR  #45653:  (rallytime)  Back-port  #45611  to 2017.7.3 @ 2018-01-24
315139         05:20:11 UTC
315140
315141         · PR  #45611:  (terminalmage)  Fix  unnecessary/incorrect  usage   of
315142           six.binary_type (refs: #45653)
315143
315144         · 6fc293da46 Merge pull request #45653 from rallytime/bp-45611
315145
315146         · 0a6b06d8ea Fix unnecessary/incorrect usage of six.binary_type
315147
315148       · PR  #45642:  (rallytime)  Back-port  #45636  to 2017.7.3 @ 2018-01-23
315149         22:00:30 UTC
315150
315151         · PR #45636: (Ch3LL)  Fix mac service and pkg tests for 10.13  (refs:
315152           #45642)
315153
315154         · 0a07e0d259 Merge pull request #45642 from rallytime/bp-45636
315155
315156         · df0ad54c9a remove unnecessary variable for test
315157
315158         · acb14fd43d fix pylint
315159
315160         · a9b12cd1ea Fix mac service and pkg tests for 10.13
315161
315162       · PR  #45645:  (rallytime)  Back-port  #45606  to 2017.7.3 @ 2018-01-23
315163         21:54:45 UTC
315164
315165         · PR #45606: (terminalmage) Fix bug affecting salt-ssh when  root_dir
315166           differs from the default (refs: #45645)
315167
315168         · f37a5b6d8d Merge pull request #45645 from rallytime/bp-45606
315169
315170         · d52d96f30a  Fix  bug  affecting salt-ssh when root_dir differs from
315171           the default
315172
315173       · PR #45641: (rallytime) Back-port  #45508  to  2017.7.3  @  2018-01-23
315174         21:18:39 UTC
315175
315176         · PR  #45508:  (frogunder)  fix  test_archive  test for mac on 2017.7
315177           branch (refs: #45641)
315178
315179         · e659793c09 Merge pull request #45641 from rallytime/bp-45508
315180
315181         · e6917a291e fix test_archive test for mac on 2017.7 branch
315182
315183       · PR #45604: (rallytime) Back-port  #45582  to  2017.7.3  @  2018-01-22
315184         16:54:15 UTC
315185
315186         · PR #45582: (terminalmage) Two salt-ssh fixes (refs: #45604)
315187
315188         · ced3269ae8 Merge pull request #45604 from rallytime/bp-45582
315189
315190         · bc8a450cc7 Remove state.py utils file from thin list
315191
315192         · 629e6c9674 Further fixes to for salt-ssh test under heavy load
315193
315194         · 0dff596b59 Add salt/utils/state.py to thin tarball
315195
315196         · a61afda100 Pass on OSError if thin tarball already removed
315197
315198       · PR   #45591:  (gtmanfred)  mark  minion_blackout  tests  as  flaky  @
315199         2018-01-22 00:14:31 UTC
315200
315201         · 4672baa6c8 Merge pull request #45591 from gtmanfred/2017.7.3
315202
315203         · f7fd35fc4a test updating the minion blackout timeout to 10 seconds
315204
315205       · PR #45585: (rallytime) Back-port  #45579  to  2017.7.3  @  2018-01-22
315206         00:13:59 UTC
315207
315208         · PR #45579: (terminalmage) Test suite stability fixes (refs: #45585)
315209
315210         · 2a992f9017 Merge pull request #45585 from rallytime/bp-45579
315211
315212         · 0292c8345b Lint fix: use six's map
315213
315214         · 108d8cbeef Use correct utils path for 2017.7
315215
315216         · a38f4cb6d6 Restrict pyzmq optimizations to pyzmq >= 14.3.0
315217
315218         · 58ad558346 Fix event unpack
315219
315220       · PR  #45573:  (gtmanfred)  update 2017.7.3 tests @ 2018-01-20 20:05:13
315221         UTC
315222
315223         · 19cd97ed3b Merge pull request #45573 from gtmanfred/2017.7.3
315224
315225         · bd3cb47fa7 fix mock for opensuse
315226
315227         · 808e26e69a test simple website
315228
315229       · PR #45570: (gtmanfred) Fix tests for 2017.7.3 @  2018-01-20  15:01:21
315230         UTC
315231
315232         · e72d81ef22 Merge pull request #45570 from gtmanfred/2017.7.3
315233
315234         · 1f71f301ba specify checking man page path
315235
315236         · 2ddbcb45c1 fix pkg_resources for usage with testing pip
315237
315238         · 0ba39a7108 switch systemd-journald for sshd for arch service test
315239
315240       · PR  #45538:  (gtmanfred) Backport test fixes to 2017.7.3 @ 2018-01-19
315241         14:39:44 UTC
315242
315243         · 7bc60c56d4 Merge pull request #45538 from gtmanfred/2017.7.3
315244
315245         · 801e0639b6 Merge branch '2017.7.3' into 2017.7.3
315246
315247       · PR #45533: (rallytime) Back-port  #45529  to  2017.7.3  @  2018-01-18
315248         22:52:29 UTC
315249
315250         · PR  #45529:  (Ch3LL)  Fix UnboundLocalError for pacman pkg installs
315251           (refs: #45533)
315252
315253         · 8ad65e3359 Merge pull request #45533 from rallytime/bp-45529
315254
315255         · 6d56c64d88 Fix UnboundLocalError for pacman pkg installs
315256
315257           · 8d907ee1a0 fix moto version
315258
315259           · 1241ab5fc6 fix test boto imports
315260
315261           · f4b6367cf9 fix fedora pkg test
315262
315263       · ISSUE #45394: (dmurphy18) git.latest fails when "depth"  is used with
315264         a non-default branch (refs: #45399)
315265
315266       · PR  #45442:  (rallytime)  Back-port  #45399  to 2017.7.3 @ 2018-01-17
315267         17:20:48 UTC
315268
315269         · PR #45399: (terminalmage) Fix git.latest failure when  rev  is  not
315270           the default branch (refs: #45442)
315271
315272         · 7379f9e3e5 Merge pull request #45442 from rallytime/bp-45399
315273
315274         · 590a6db626  Lint:  use  support TMP path instead of integration TMP
315275           path
315276
315277         · c081b2c62c Fix git.latest failure  when  rev  is  not  the  default
315278           branch
315279
315280       · PR  #45468:  (twangboy)  Fix  some  issues  with  reg.py @ 2018-01-16
315281         22:23:47 UTC
315282
315283         · ee5090f69b Merge pull request #45468 from twangboy/win_reg
315284
315285         · a0d21c6354 Fix some issues with reg.py
315286
315287       · ISSUE #44913: (ari) FreeBSD packaging install performance  regression
315288         (refs: #45174)
315289
315290       · PR  #45434:  (rallytime)  Back-port  #45174  to 2017.7.3 @ 2018-01-14
315291         12:43:16 UTC
315292
315293         · PR #45174: (eradman) Do not force pkg reinstall on  FreeBSD  (refs:
315294           #45434)
315295
315296         · ef7a896eb6 Merge pull request #45434 from rallytime/bp-45174
315297
315298         · b310ff7ab8 Do not force pkg reinstall on FreeBSD
315299
315300       · PR  #45395:  (rallytime)  Back-port  #45380  to 2017.7.3 @ 2018-01-12
315301         18:49:20 UTC
315302
315303         · PR #45380: (twangboy) Backport changes from #45308 (refs: #45395)
315304
315305         · PR #45308: (twangboy) Fix integration.modules.test_state  for  Win‐
315306           dows (refs: #45380)
315307
315308         · c3fdd1dcc4 Merge pull request #45395 from rallytime/bp-45380
315309
315310         · 0356b3d56f Backport changes from #45308
315311
315312       · ISSUE  #44107:  (anlutro) salt-ssh 2017.7 doesn't work with Python 3,
315313         missing backports_abc (refs: #45294)
315314
315315       · PR #45294: (gtmanfred) include backports_abc  @  2018-01-11  18:18:16
315316         UTC
315317
315318         · f7da716d32 Merge pull request #45294 from gtmanfred/2017.7
315319
315320         · 3633ceeaa7 Merge branch '2017.7' into 2017.7
315321
315322         · 29806e4496 ignore salt.ext in pylint
315323
315324         · 8b597a4890 include backports_abc
315325
315326       · ISSUE  #43130:  (boltronics)  module.run  documentation issues (refs:
315327         #45381)
315328
315329       · PR #45381: (gtmanfred) fix module.run docs @ 2018-01-11 18:02:38 UTC
315330
315331         · f77a3e9cd4 Merge pull request #45381 from gtmanfred/module.run
315332
315333         · 230e899192 fix module.run docs
315334
315335       · ISSUE #43995: (dragonpaw) Using zmq built with --enable-draft  breaks
315336         Salt (refs: #45368)
315337
315338       · PR   #45368:   (DmitryKuzmenko)   Fixes   to  work  with  pyzmq  with
315339         --enable-drafts @ 2018-01-11 17:53:16 UTC
315340
315341         · 8efd29f4d9   Merge   pull   request   #45368    from    DSRCorpora‐
315342           tion/bugs/zmq_draft
315343
315344         · 7622e355cf Minor: removed a stale comment.
315345
315346         · 00f31bf9b5 Fixes to work with pyzmq with --enable-drafts
315347
315348       · PR  #45371:  (rallytime)  Back-port  #45158  to  2017.7  @ 2018-01-11
315349         17:51:38 UTC
315350
315351         · PR #45158: (terminalmage) Fix integration.modules.test_state.State‐
315352           ModuleTest.test_exclude (refs: #45371)
315353
315354         · 22c3efda06 Merge pull request #45371 from rallytime/bp-45158
315355
315356         · 3565bc2bf2 Don't use include-test SLS in orch tests
315357
315358         · 8bc17e0d7a       Fix       integration.modules.test_state.StateMod‐
315359           uleTest.test_exclude
315360
315361       · PR #45387: (renner)  Set  SHELL  environment  variable  @  2018-01-11
315362         16:23:21 UTC
315363
315364         · PR #40630: (mateiw) develop: SUSE specific changes to salt-api.ser‐
315365           vice (refs: #45387)
315366
315367         · PR #40620:  (mateiw)  SUSE  specific  changes  to  salt-api.service
315368           (refs: #40630, #45387)
315369
315370         · 3a0e2de995 Merge pull request #45387 from renner/patch-2
315371
315372         · 530ddd2d29 Set SHELL environment variable
315373
315374       · PR  #45388:  (terminalmage)  Fix  loader  error  in  2017.7  tests  @
315375         2018-01-11 16:13:53 UTC
315376
315377         · dcf98a2260   Merge   pull    request    #45388    from    terminal‐
315378           mage/fix-test-loader-error
315379
315380         · 5473c085d9 Fix loader error in 2017.7 tests
315381
315382       · PR  #45382:  (terminalmage)  Skip  flaky  test  on  2017.7  branch  @
315383         2018-01-11 14:23:05 UTC
315384
315385         · d15f9e1020 Merge pull request #45382  from  terminalmage/salt-jenk‐
315386           ins-686
315387
315388         · ff3039db6c Skip flaky test on 2017.7 branch
315389
315390       · PR  #45369: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
315391         @ 2018-01-10 22:14:05 UTC
315392
315393         · dbe21b2c0d Merge pull request #45369 from rallytime/merge-2017.7
315394
315395         · f65e091df8 Merge branch '2016.11' into '2017.7'
315396
315397           · 0959ae4ea3    Merge    pull    request    #45327    from     lom‐
315398             eroe/bp-44861_2016.11
315399
315400             · 784139f734 Check for values other than 0 or 1
315401
315402           · a6db5f95f0      Merge      pull      request      #45268     from
315403             damon-atkins/2016.11_win_pkg_pkg_install_latest
315404
315405             · 325a9f0f66 Update 2016.11.9.rst
315406
315407             · 4da9200b9c Update 2016.11.9.rst
315408
315409             · 126aee36ac Update 2016.11.9.rst
315410
315411             · 1c01967943 Update 2016.11.9.rst
315412
315413             · a0d89882b8 Fix pkg.install packagename version=latest  i.e.  if
315414               on an old version upgrade to the latest
315415
315416       · PR  #45379:  (rhoths)  Minor  spelling/grammar fixes in the highstate
315417         returner documentation @ 2018-01-10 20:09:52 UTC
315418
315419         · 55979b3a48 Merge pull request #45379  from  rhoths/rhoths-doc-high‐
315420           state-1
315421
315422         · afbbd492cd Minor spelling/grammar fixes in highstate returner
315423
315424       · PR  #45358:  (UtahDave) gate the minion data cache refresh events.  @
315425         2018-01-10 17:21:05 UTC
315426
315427         · PR  #45299:  (garethgreenaway)  [2017.7]  config  gate  auth_events
315428           (refs: #45358)
315429
315430         · 541e59fa75     Merge     pull    request    #45358    from    Utah‐
315431           Dave/gate_data_cache_refresh
315432
315433         · 379b6cd23e should be self, not salt
315434
315435         · a82e158f2d gate the minion data cache refresh events.
315436
315437       · PR #45297: (Ch3LL) Allow macosx service state tests to check for  pid
315438         return @ 2018-01-09 20:47:24 UTC
315439
315440         · fb87010461 Merge pull request #45297 from Ch3LL/mac_service_state
315441
315442         · 4e569b5802 Allow macosx service state tests to check for pid return
315443
315444       · PR  #45351:  (dmurphy18) Update debbuild to explicitly include source
315445         code for Debian, Ubuntu @ 2018-01-09 17:21:51 UTC
315446
315447         · beedf6e815 Merge pull request #45351 from dmurphy18/upd_debbuild
315448
315449         · 478dc70092 Update debbuild flags
315450
315451       · PR #45299: (garethgreenaway) [2017.7] config gate auth_events  (refs:
315452         #45358) @ 2018-01-09 15:00:30 UTC
315453
315454         · 66da9b47bc  Merge  pull  request  #45299  from garethgreenaway/con‐
315455           fig_gate_auth_events
315456
315457         · 9a15ec3430 Updating versionadded string.  Fixing typo.
315458
315459         · edfc3dc078 Adding  in  documention  for  auth_events  configuration
315460           option
315461
315462         · 3ee4eabffd Fixing small typo
315463
315464         · 6a28bddcc9 Adding some code to config gate if auth_events are sent
315465
315466       · PR   #44856:   (Ch3LL)  Add  state.running  ssh  integration  test  @
315467         2018-01-08 21:40:50 UTC
315468
315469         · 8d04c2b3d4 Merge pull request #44856 from Ch3LL/running_test
315470
315471         · 9a35a73711 add time limit to while loop
315472
315473         · aeb5f4e248 Add state.running ssh integration test
315474
315475       · ISSUE      saltstack/salt-jenkins#675:      (rallytime)      [2017.7]
315476         unit.states.test_file.TestFileState.test_directory   is   failing  on
315477         Fedora 27 and CentOS 6 (refs: #45295)
315478
315479       · PR #45295: (gtmanfred) test directory that doesn't exist @ 2018-01-08
315480         20:59:53 UTC
315481
315482         · d0e5e70277 Merge pull request #45295 from gtmanfred/test_directory
315483
315484         · e6178fe6d4 Merge branch '2017.7' into test_directory
315485
315486         · 24114e91c1 test was different slightly on 2017.7
315487
315488         · d20fc93625 test directory that doesn't exist
315489
315490       · ISSUE  saltstack/salt-jenkins#678:  (rallytime) [2017.7] Proxy Minion
315491         Tests for Py3 are failing (refs: #45302)
315492
315493       · PR #45302: (gtmanfred) fix proxy tests for py3 on 2017.7 @ 2018-01-08
315494         17:41:58 UTC
315495
315496         · f49b204b75 Merge pull request #45302 from gtmanfred/proxyp3
315497
315498         · b295ec0429 make dummy proxy module py3 compatible
315499
315500         · 8736e21f65 fix starting proxy minion on py3
315501
315502         · e2824a7253 fix py3 tests
315503
315504       · PR  #45279: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
315505         @ 2018-01-08 17:26:49 UTC
315506
315507         · eea7158e82 Merge pull request #45279 from rallytime/merge-2017.7
315508
315509         · 8025b14584 Merge branch '2016.11' into '2017.7'
315510
315511           · 1c5e905b61 Merge pull request #45256 from rallytime/bp-45034
315512
315513             · 68f971b38f Apply test fixes from #45034 to parsers_test.py
315514
315515             · 9454236694 Fix for pidfile removal logging
315516
315517       · PR #44853: (gtmanfred) remove  not  from  vault  utils  @  2018-01-05
315518         17:43:18 UTC
315519
315520         · dab4a8cff3 Merge pull request #44853 from gtmanfred/vault
315521
315522         · bfee1cead6 set role for loading minion config
315523
315524         · c5af2e5048 if utils is not loaded, load it
315525
315526         · 6a5e0f9ac1 remove not from vault utils
315527
315528       · PR  #45277:  (rallytime)  Back-port  #45025  to  2017.7  @ 2018-01-05
315529         15:35:53 UTC
315530
315531         · PR #45025: (steverweber) Fix  pillar  include  merge  order  (refs:
315532           #45277)
315533
315534         · f09d0e5fdb Merge pull request #45277 from rallytime/bp-45025
315535
315536         · 942c14bb29 pillar body overrides includes
315537
315538         · 1152202fdc  fix  pillar  includes from merging over the current sls
315539           defines
315540
315541       · PR #45276:  (rallytime)  Back-port  #45260  to  2017.7  @  2018-01-05
315542         14:45:40 UTC
315543
315544         · PR  #45260:  (gtmanfred)  Make  some kitchen-salt tests blue (refs:
315545           #45276)
315546
315547         · fc84f1104f Merge pull request #45276 from rallytime/bp-45260
315548
315549         · 9ab1af738f switch kitchen-salt to use rsync transport  to  preserve
315550           symlinks
315551
315552         · cf98ed472e fix up symlinks
315553
315554       · ISSUE  #43340:  (syphernl)  Upgrading  Salt via Salt results in dying
315555         minions and broken dpkg (refs: #45255)
315556
315557       · PR #45255:  (rallytime)  Back-port  #44427  to  2017.7  @  2018-01-04
315558         21:46:17 UTC
315559
315560         · PR  #44427:  (samodid) use KillMode=process for salt-minion.service
315561           (refs: #45255)
315562
315563         · ff9880c498 Merge pull request #45255 from rallytime/bp-44427
315564
315565         · 6ceafbbf3a use KillMode=process for salt-minion.service
315566
315567       · ISSUE  #23454:  (HontoNoRoger)  SLS  rendering  error  with  Salt-SSH
315568         (pydsl) (refs: #45251)
315569
315570       · PR  #45251:  (forksaber) Fix #23454 : make pydsl work with salt-ssh @
315571         2018-01-04 21:33:09 UTC
315572
315573         · e715eb603f Merge pull request #45251 from forksaber/salt-ssh-pydsl
315574
315575         · b3660d5190 [#23454] make pydsl work with salt-ssh
315576
315577       · PR #45254: (Ch3LL) Add darwin value for  ssh  grain  items  tests  on
315578         MacOSX @ 2018-01-04 21:31:35 UTC
315579
315580         · 2934b60d53 Merge pull request #45254 from Ch3LL/fix_mac_grain_ssh
315581
315582         · b4b59b89cd remove platform from salt.utils call for 2017.7
315583
315584         · 85e853a63d Add darwin value for ssh grain items tests on MacOSX
315585
315586       · PR  #45135:  (twangboy)  Fix win_dacl problems with SIDs @ 2018-01-04
315587         21:01:48 UTC
315588
315589         · af2d880303 Merge pull request #45135 from twangboy/win_fix_dacl
315590
315591         · b31e08946a Merge branch '2017.7' into win_fix_dacl
315592
315593         · 35a417f510 Fix win_dacl problems with SIDs
315594
315595       · ISSUE #43806: (Ch3LL) Add spm man Test  to  Auto  Test  Suite  (refs:
315596         #44930)
315597
315598       · PR #44930: (frogunder) man_spm_test @ 2018-01-04 20:58:02 UTC
315599
315600         · d0a3770035 Merge pull request #44930 from frogunder/man_spm
315601
315602         · 48e6953e1f fix_string_error
315603
315604         · c9fa4ed2a7 man_spm_test
315605
315606       · PR  #45259:  (Ch3LL)  Fix MacOSX Service Status Check and integration
315607         test @ 2018-01-04 14:25:01 UTC
315608
315609         · 543eebf411  Merge  pull  request  #45259  from   Ch3LL/fix-mac-ser‐
315610           vice-test
315611
315612         · 74e6ed60ea Fix MacOSX Service Status Check and integration test
315613
315614       · PR   #45263:   (sumeetisp)  Updating  python  version  for  2017.7  @
315615         2018-01-04 14:16:26 UTC
315616
315617         · bbbd1872a7 Merge pull request #45263 from sumeetisp/2017.7
315618
315619         · e3a5ee3a08 Merge branch '2017.7' into 2017.7
315620
315621         · 71aea9a3bc       Merge       pull       request       #1       from
315622           sumeetisp/sumeetisp-python-version
315623
315624           · 1b4806e2b9 Updating python version
315625
315626       · PR #45244: (twangboy) Fix search/replace in Py3 @ 2018-01-04 14:02:22
315627         UTC
315628
315629         · d46e1197be Merge pull request #45244  from  twangboy/win_fix_porta‐
315630           ble.py
315631
315632         · e3a8279c01 Get path to python binary based on executable
315633
315634         · 03aec37040 Fix search/replace in Py3
315635
315636       · PR  #45233: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
315637         @ 2018-01-03 15:34:00 UTC
315638
315639         · eba360870a Merge pull request #45233 from rallytime/merge-2017.7
315640
315641         · a3d251b2cd Merge branch '2016.11' into '2017.7'
315642
315643           · b75f50afe3 Merge pull request #45235 from rallytime/bp-45209
315644
315645             · 2d0a9bbf7e enable UsePAM for ssh tests
315646
315647         · 5d9a1e91e9 Merge branch '2016.11' into '2017.7'
315648
315649           · 3ab962b01a Merge pull request #44965 from gtmanfred/2016.11
315650
315651             · a5d8a6340e check if VALUE is a string_type
315652
315653           · 40fb30f63f Merge pull request #45232 from rasathus/2016.11
315654
315655             · 7a2bd8f49b Merge branch '2016.11' into 2016.11
315656
315657             · de53c45c29 Backport #27160 to 2016.11
315658
315659       · PR #45175: (amendlik) Pkg uptodate @ 2018-01-02 17:38:36 UTC
315660
315661         · 693cc807e8 Merge pull request #45175 from amendlik/pkg-uptodate
315662
315663         · 4f514a29a7 Merge branch '2017.7' into pkg-uptodate
315664
315665       · PR #45226: (gtmanfred) Update kitchen to  use  runtests  verifier  on
315666         2017.7 @ 2017-12-31 18:13:28 UTC
315667
315668         · 1b3f3ba1be Merge pull request #45226 from gtmanfred/2017.7
315669
315670         · 4f3b089e0e fix copying back
315671
315672         · f56f062a6a download xml for junit
315673
315674         · 7cc342a5d6 use new runtests verifier
315675
315676       · PR  #45221: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
315677         @ 2017-12-30 18:08:29 UTC
315678
315679         · 7d3a6cbc65 Merge pull request #45221 from rallytime/merge-2017.7
315680
315681         · 508599e159 Merge branch '2016.11' into '2017.7'
315682
315683         · 707ef55175 Merge pull request #45161 from lomeroe/bp-44944_2016.11
315684
315685           · 0a4c6b5a83 remove references to six.unichr
315686
315687           · f3196d795d lint fixes for static regexes
315688
315689           · 11b637d108 lint fixes
315690
315691           · c14d6282ad do not decode registry.pol file wholesale, but instead
315692             decode individual elements of the file
315693
315694         · 6f52034e08 Merge pull request #45199 from gtmanfred/status
315695
315696           · fb07f9ea7d status.pid returns pid ids not process names
315697
315698       · ISSUE  #45176:  (thuhak)  osquery  execution  module does't work with
315699         attrs parameter (refs: #45204)
315700
315701       · PR #45204: (garethgreenaway) [2017.7] Fixes to osquery module & addi‐
315702         tion of unit tests @ 2017-12-30 13:25:38 UTC
315703
315704         · abed378981    Merge   pull   request   #45204   from   garethgreen‐
315705           away/45176_fixes_to_osquery_module
315706
315707         · dc933e9e24 Fixing typo
315708
315709         · d834bd1b6f Fixing some minor lint issues.
315710
315711         · 4738205154 Fixing a bug  when  attributes  are  passed  to  various
315712           osquery module functions.
315713
315714              · 66884334d9 Update states.pkg for Python3 compatibility
315715
315716              · 2a7d76ad6e  Fail  pkg.uptodate  if  expected  packages are not
315717                upgraded
315718
315719              · 29ef67bac2 Test pkg.uptodate with failed upgrades
315720
315721              · 23ab93353b Produce changes dict for pkg.uptodate dry-run mode
315722
315723              · 7c67ec39d9 Add tests for pkg.uptodate state
315724
315725       · PR #45203: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
315726         @ 2017-12-29 01:11:03 UTC
315727
315728         · 5991d8ca15 Merge pull request #45203 from rallytime/merge-2017.7
315729
315730         · 430c913c8c Merge branch '2016.11' into '2017.7'
315731
315732           · d3381e27d0   Merge   pull   request   #45118   from  garethgreen‐
315733             away/44728_nodegroups_seq
315734
315735             · 0ff811de70 Swapping import to be the old path for 2016.11
315736
315737             · b3e2f388f5 Fix to allow nodegroups to include sequences
315738
315739           · f969aca3a3 Merge pull request #45127 from twangboy/win_fix_pkg
315740
315741             · 14639739f2 Fix issue with 1641 return code
315742
315743           · dc357b39f0   Merge    pull    request    #45137    from    twang‐
315744             boy/win_fix_reg_tests
315745
315746             · b6f4ef8d73  Catch correct error type in list_keys and list_val‐
315747               ues
315748
315749           · 0aa1662731 Merge pull request #45130 from rallytime/api-groups
315750
315751             · 2dcc8df845 Resolve groups for salt api
315752
315753           · 7dc3cc4641 Merge pull request #45114 from twangboy/win_fix_pam
315754
315755             · cf5eae1f77 Move pam library load to try/except block
315756
315757       · PR #45201: (rallytime) [2017.7] Check for running on  python3  before
315758         decoding bytes @ 2017-12-28 22:59:14 UTC
315759
315760         · PR #45090: (angeloudy) fix TypeError in python 3 (refs: #45201)
315761
315762         · 882267314f  Merge pull request #45201 from rallytime/fix-jinja-tem‐
315763           plate-test-failure
315764
315765         · b4af3bdff8 Check for running on python3 before decoding bytes
315766
315767       · PR #45200: (rallytime) [2017.7] Fix docstring integration test  fail‐
315768         ure @ 2017-12-28 22:58:34 UTC
315769
315770         · PR #44552: (Da-Juan) pip_state: Check if available upgrades fulfill
315771           version requirements. (refs: #45200)
315772
315773         · 2e18398f12  Merge  pull  request  #45200  from   rallytime/fix-doc‐
315774           string-test-failure
315775
315776         · a26d4795bd [2017.7] Fix docstring integration test failure
315777
315778       · PR  #45186:  (rallytime)  Back-port  #44922  to  2017.7  @ 2017-12-28
315779         19:02:51 UTC
315780
315781         · PR #44922: (dincamihai)  Fix  salt-master  for  old  psutil  (refs:
315782           #45186)
315783
315784         · 67d97303b5 Merge pull request #45186 from rallytime/bp-44922
315785
315786         · 6970fe8103 Fix salt-master for old psutil
315787
315788       · PR  #44624:  (eliasp)  Fix  Traceback  when using the service.enabled
315789         state on non-booted systems @ 2017-12-28 10:58:43 UTC
315790
315791         · 30d7f7257a      Merge      pull      request      #44624       from
315792           eliasp/fix-upstart-utmp-exception
315793
315794         · 43d44e051a  Do  not blindly assume presence of either /var/run/utmp
315795           or /run/utmp, none of both might be available (e.g.  on  non-booted
315796           systems).
315797
315798       · PR  #45183:  (twangboy)  Add libnacl dependency @ 2017-12-27 22:08:32
315799         UTC
315800
315801         · 3832e7b227 Merge pull  request  #45183  from  twangboy/win_add_lib‐
315802           nacl_2017.7
315803
315804         · b46845888d Add libnacl dependency
315805
315806       · ISSUE  #44928: (rcallphin) Duplicating master token when no match for
315807         Minion policy (Vault Module) (refs: #44966)
315808
315809       · PR #44966: (rcallphin) Fix bug with vault runner  creating  token  on
315810         empty policy @ 2017-12-22 20:30:37 UTC
315811
315812         · fbbf33574e     Merge    pull    request    #44966    from    rcall‐
315813           phin/fix-bug-vault-empty-policy
315814
315815         · 7f327ab760 Lint: Remove extra whitespace
315816
315817         · 04ab6a5e9d Merge branch '2017.7' into fix-bug-vault-empty-policy
315818
315819         · 5be463bb46 Merge branch '2017.7' into fix-bug-vault-empty-policy
315820
315821         · 48d9cc3674 Fix bug with vault runner creating token on empty policy
315822
315823       · PR #44552: (Da-Juan) pip_state: Check if available  upgrades  fulfill
315824         version requirements. (refs: #45200) @ 2017-12-22 19:25:17 UTC
315825
315826         · 487207f61d       Merge      pull      request      #44552      from
315827           Da-Juan/avoid_unneeded_pip_install
315828
315829         · 49a6a8f02e Merge branch '2017.7' into avoid_unneeded_pip_install
315830
315831         · 3a8e62493d pip_state: Check if available upgrades  fulfill  version
315832           requirements
315833
315834         · 62252d74d9       pip_state:       Compare       versions      using
315835           pkg_resources.parse_version
315836
315837         · 5219ab974c Add list_all_versions function to pip module
315838
315839       · PR #45090: (angeloudy) fix TypeError in python  3  (refs:  #45201)  @
315840         2017-12-22 18:11:13 UTC
315841
315842         · 5ae26f0c09 Merge pull request #45090 from angeloudy/2017.7
315843
315844         · cf411f8984 Merge branch '2017.7' into 2017.7
315845
315846         · 177fd18671 fix TypeError in python 3
315847
315848       · ISSUE  #44315: (whytewolf) cmd.* cwd does not escape spaces. 2017.7.2
315849         (refs: #45134)
315850
315851       · PR #45134: (garethgreenaway) [2017.7] fix to cmd.script for cwd  with
315852         space @ 2017-12-22 15:31:24 UTC
315853
315854         · a1946730a9    Merge   pull   request   #45134   from   garethgreen‐
315855           away/44315_cmd_script_cwd_with_space
315856
315857         · 48eafe3206 Adding some tests to tests cmd.script with cwd
315858
315859         · 8dfcf71b08 Adding _cmd_quote to handle cases when the current work‐
315860           ing directory for cmd.script might have a space in it.
315861
315862       · PR   #44964:   (Giandom)   added-highstate-output-to-slack-engine   @
315863         2017-12-21 21:32:01 UTC
315864
315865         · f41adfc913    Merge    pull    request    #44964     from     Gian‐
315866           dom/2017.7-added-highstate-output-to-slack-engine
315867
315868         · 4526c158f1 added-highstate-output-to-slack-engine
315869
315870         · 573a0a4143 added-highstate-output-to-slack-engine
315871
315872         · 9a6e03ce6e added-highstate-output-to-slack-engine
315873
315874       · PR #45124: (gtmanfred) enable using kitchen-salt with ec2 on 2017.7 @
315875         2017-12-21 19:11:27 UTC
315876
315877         · b49ee97938 Merge pull request #45124 from gtmanfred/2017.7
315878
315879         · d0586013eb fix pylint
315880
315881         · 59e2e56d13 chmod the xml files before trying to copy
315882
315883         · a5c1410e23 catch IOError when copying xml files back
315884
315885         · 23bd38ad66 enable using kitchen-salt on ec2
315886
315887       · PR #45087: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
315888         @ 2017-12-20 22:24:51 UTC
315889
315890         · 42e894570d Merge pull request #45087 from rallytime/merge-2017.7
315891
315892         · fe81e2d39a Merge branch '2016.11' into '2017.7'
315893
315894           · 7e128e8f15 Merge pull request #45100 from rallytime/bp-45070
315895
315896             · 0bdb46dab9 add clouds modules to index
315897
315898           · bdf93f339d Merge pull request #45098 from rallytime/bp-45092
315899
315900             · 80b6bd6813         Fix         integration.states.test_pip.Pip‐
315901               StateTest.test_pip_installed_weird_install
315902
315903         · 4f21a2bbfd Merge branch '2016.11' into '2017.7'
315904
315905           · 324b7d4058   Merge   pull   request   #44078    from    rossenge‐
315906             orgiev/fix-41044
315907
315908             · a81a6fe23c fix #41044; allow for date param to be 0
315909
315910           · 48a59761df  Merge pull request #44970 from rallytime/update-boot‐
315911             strap-script
315912
315913             · b2c8057427  Update  bootstrap   script   to   latest   release:
315914               2017.12.13
315915
315916           · 637fdaed58 Merge pull request #45069 from rallytime/bp-45040
315917
315918             · aa438e1605 Installation Fails on headless machines.
315919
315920           · 4d6d640381 Merge pull request #44969 from rallytime/bp-41305
315921
315922             · 5c4bee43dc correct accept_vpc_peering_connection
315923
315924           · 10de468f13    Merge    pull   request   #45031   from   terminal‐
315925             mage/fix-mysql-returner
315926
315927             · f3bd12c27c Fix invalid exception class in mysql returner
315928
315929           · 9a7406207f Merge pull request #44972 from terminalmage/bp-44958
315930
315931             · a416bf0112 No need to manually do connect_pub, use  listen=True
315932               in run_job
315933
315934             · 3ec004bd2e Fix a race condition in manage runner
315935
315936           · 1032ca3290 Merge pull request #44385 from gtmanfred/schedule
315937
315938             · 9e15c38da2 add comma
315939
315940             · 855d933cb7 schedule should be a dict
315941
315942       · PR  #45112:  (Ch3LL)  Fix  spm  big  file  build test to check /tmp @
315943         2017-12-20 22:09:21 UTC
315944
315945         · 9550e742ac Merge pull request #45112 from Ch3LL/fix-arch
315946
315947         · 1bd7110a14 Fix spm big file build test to check /tmp
315948
315949       · ISSUE #44303: (mwerickso) boto3_route53 module times out  on  retries
315950         (refs: #44976)
315951
315952       · PR  #45068:  (rallytime)  Back-port  #44976  to  2017.7  @ 2017-12-20
315953         16:31:22 UTC
315954
315955         · PR #44976: (tkwilliams) Fix bad variable name in boto3_route53 mod‐
315956           ule - resolves #44303 (refs: #45068)
315957
315958         · 71f9c7ee49 Merge pull request #45068 from rallytime/bp-44976
315959
315960         · 0ca0f37805 44303 - resolves #44303
315961
315962       · ISSUE  #44961: (golmaal) The archive tar function fails to untar file
315963         when dest argument is passed (refs: #44983)
315964
315965       · PR #45099:  (rallytime)  Back-port  #44983  to  2017.7  @  2017-12-20
315966         14:41:22 UTC
315967
315968         · PR  #44983:  (golmaal) Ref:44961 - Modified archive.tar to add dest
315969           at the end of the tar cmd (refs: #45099)
315970
315971         · 54a33c0e1d Merge pull request #45099 from rallytime/bp-44983
315972
315973         · 23361de8a2 Ref:44961 - Modified archive.tar to add dest argument at
315974           the end of the tar cmd.
315975
315976       · ISSUE  #43533:  (Ch3LL) Add status.pid Test to Auto Test Suite (refs:
315977         #44650)
315978
315979       · PR #44650: (frogunder) add status.pid test @ 2017-12-19 16:21:09 UTC
315980
315981         · e0d7b330fa Merge pull request #44650 from frogunder/status
315982
315983         · 904c0da893 Merge branch '2017.7' into status
315984
315985         · 619bd2be1e fix lint error
315986
315987         · d406cb07a3 add status.pid test
315988
315989       · ISSUE #44516: (doesitblend) Windows PY3  Minion  Returns  UTF16  Uni‐
315990         codeError (refs: #45161, #44944)
315991
315992       · PR  #44944:  (lomeroe)  win_lgpo registry.pol encoding updates (refs:
315993         #45161) @ 2017-12-19 14:42:49 UTC
315994
315995         · 422d8b8f1b  Merge  pull  request  #44944  from  lomeroe/update_reg‐
315996           pol_encoding
315997
315998         · 07d04c7bc7 lint fixes for static regexes
315999
316000         · d17c46ce41 lint fixes
316001
316002         · ab8e431729  do  not decode registry.pol file wholesale, but instead
316003           decode individual elements of the file
316004
316005       · PR #44938: (The-Loeki) Libcloud dns fixes @ 2017-12-18 15:47:18 UTC
316006
316007         · d9a4b9681e  Merge   pull   request   #44938   from   The-Loeki/lib‐
316008           cloud_dns_fixes
316009
316010         · 276e8828ae libcloud_dns: pylint fix
316011
316012         · c994423286 Merge branch '2017.7' into libcloud_dns_fixes
316013
316014       · PR  #44951: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
316015         @ 2017-12-16 13:16:24 UTC
316016
316017         · 5137be01ec Merge pull request #44951 from rallytime/merge-2017.7
316018
316019         · a0d2dd2069 Lint fix
316020
316021         · 9db4179462 Merge branch '2016.11' into '2017.7'
316022
316023           · 68d901b12c Merge pull request #44770 from cruscio/2016.11
316024
316025             · e2682bf441 Fix minion ping_interval documentation
316026
316027           · d4ab55ec47 Merge pull request #44335 from gtmanfred/2016.11
316028
316029             · 3f1268d67f fix patching for python 2.6
316030
316031             · 1d0bd5bb32 Merge branch '2016.11' into 2016.11
316032
316033             · f02b02032d Merge pull request #4 from terminalmage/pr-44335
316034
316035               · b4eb1527a6 Add test for PR 44335
316036
316037             · a30af3252e add docker-ce to docker subtype grains check
316038
316039       · PR  #44995:  (twangboy)  Fix  unit.modules.test_file  for  Windows  @
316040         2017-12-15 17:05:49 UTC
316041
316042         · 698b04779e  Merge pull request #44995 from twangboy/win_fix_atomic‐
316043           file
316044
316045         · 8316481944 Comment the salt import
316046
316047         · fe34f0c877 Set owner properly on Windows
316048
316049       · ISSUE #44934: (vernondcole) http.wait_for_successful_query  does  not
316050         pause for documented intervals (refs: #44968)
316051
316052       · PR  #44968: (gtmanfred) fix http wait for state @ 2017-12-14 20:06:01
316053         UTC
316054
316055         · 2e1a57b9bc Merge pull request #44968 from gtmanfred/http
316056
316057         · ca6936f6eb fix http wait for state
316058
316059              · c72db283d5 libcloud_dns: Further fixes to state output, pylint
316060                fixes
316061
316062              · e9bbc23b11 Merge branch '2017.7' into libcloud_dns_fixes
316063
316064       · ISSUE  #44811:  (xuhcc)  rbenv.installed  fails  when rbenv installed
316065         globally (refs: #44900)
316066
316067       · PR #44900: (xuhcc) Fix TypeError during rbenv ruby installation  when
316068         rbenv is not found @ 2017-12-14 17:37:14 UTC
316069
316070         · c4f0894689 Merge pull request #44900 from xuhcc/rbenv-ret-fix
316071
316072         · fdd8310c31 Merge branch '2017.7' into rbenv-ret-fix
316073
316074         · bfd0972d25  Fix TypeError during rbenv ruby installation when rbenv
316075           is not found
316076
316077       · PR #44974: (twangboy) Skip test_log_created on Windows  @  2017-12-14
316078         13:59:25 UTC
316079
316080         · f0c2cf3cec     Merge    pull    request    #44974    from    twang‐
316081           boy/win_skip_test_parsers
316082
316083         · 40665d7b08 Skip test_log_created on Windows
316084
316085       · ISSUE #44820: (msteed) Custom returner breaks  manage  runner  (refs:
316086         #44958)
316087
316088       · PR  #44958:  (terminalmage)  Fix  a  race  condition in manage runner
316089         (refs: #44972) @ 2017-12-13 15:20:36 UTC
316090
316091         · dad2d723ca Merge pull request #44958 from terminalmage/issue44820
316092
316093         · ef749abfc6 No need to manually do connect_pub, use  listen=True  in
316094           run_job
316095
316096         · 2ac70cfab5 Fix a race condition in manage runner
316097
316098       · PR #44956: (terminalmage) Avoid traceback when bogus value in pidfile
316099         @ 2017-12-13 14:30:12 UTC
316100
316101         · db58345abb Merge pull request #44956 from terminalmage/fix-get_pid‐
316102           file
316103
316104         · d66f3a98d7 Avoid traceback when bogus value in pidfile
316105
316106       · ISSUE #44932: (knine) ACLs Not Completely Verified (refs: #44945)
316107
316108       · PR  #44945:  (gtmanfred)  Fix handling of effective acls @ 2017-12-12
316109         21:49:34 UTC
316110
316111         · e8e3b3c8ff Merge pull request #44945 from gtmanfred/2017.7
316112
316113         · 66bb755751 add test for effective acls
316114
316115         · 0ff52a93dd use last entry in acl
316116
316117       · PR  #44942:  (rallytime)  Update  README  with  SaltConf18   info   @
316118         2017-12-12 21:47:23 UTC
316119
316120         · 47dc7b7afb  Merge  pull  request #44942 from rallytime/readme-salt‐
316121           conf-update
316122
316123         · d1317c44e2 Update README with SaltConf18 info
316124
316125       · ISSUE #44665: (mvivaldi) Documentation of salt renders  jinja  (refs:
316126         #44943, #44895)
316127
316128       · PR  #44943:  (mvivaldi)  Fix for the jinja documentation @ 2017-12-12
316129         20:20:41 UTC
316130
316131         · 7572982419 Merge pull request #44943 from mvivaldi/filters-doc
316132
316133         · d23ac4eabc Fix for the jinja documentation
316134
316135       · ISSUE #43417: (damon-atkins)  win_pkg:   pkg.install  and  pkg.remove
316136         general issues (refs: #44832, #43708)
316137
316138       · PR  #44832:  (damon-atkins)  win_pkg: Merge full copy of 2016.11 with
316139         many fixes and improvements to 2017.7 @ 2017-12-12 18:30:06 UTC
316140
316141         · 465cacad83      Merge      pull      request      #44832       from
316142           damon-atkins/2017.7_replace_with_newer_2016.11_win_pkg
316143
316144         · a4f0b41ba2  Should be a smaller change set since recent update from
316145           2016.11
316146
316147         · 695334b201 Merge branch '2017.7_replace_with_newer_2016.11_win_pkg'
316148           of                 github.com:damon-atkins/salt                into
316149           2017.7_replace_with_newer_2016.11_win_pkg
316150
316151           · 843e204582        Merge        branch        '2017.7'        into
316152             2017.7_replace_with_newer_2016.11_win_pkg
316153
316154         · 4b60b1ec84  Merge remote branch 'refs/remotes/upstream/2017.7' into
316155           2017.7_replace_with_newer_2016.11_win_pkg
316156
316157         · b46f818a57 Raise a PR to  fix  2016  issues  commited  here,  fixed
316158           issues with merge.
316159
316160         · 32ef1e12ae         Merge         branch        '2017.7'        into
316161           2017.7_replace_with_newer_2016.11_win_pkg
316162
316163         · 494835c3f2 I backported develop and applied a long list of fixes to
316164           2016.11  this  brings  these  fixes  into 2017.7 - Software was not
316165           always being removed, general if & was in the  string  or  msi  was
316166           downloaded  to  uninstall  the software - pkg.list_upgrades failed.
316167           Added support for 'latest' and 'Not Found' for version_cmp() to fix
316168           this.  -  output  fixes  -  pkg.list_available  no  longer forces a
316169           pkg.refresh_db this is no longer required, as by  default  it  will
316170           update  if  older than 6 hours - cmd /s /c is prefixed for all com‐
316171           mands i.e. installs and removes. - cmd are now strings, instead  of
316172           a  list  when  using cmd.run. As windows only supports strings. And
316173           the " were being broken
316174
316175       · PR #44754: (twangboy) Fix inet_pton for Windows on Py3  @  2017-12-12
316176         14:04:20 UTC
316177
316178         · a811a92b17     Merge    pull    request    #44754    from    twang‐
316179           boy/win_fix_inet_pton
316180
316181         · 25a20109fe Merge branch '2017.7' into win_fix_inet_pton
316182
316183         · 849b99eb34 Merge branch '2017.7' into win_fix_inet_pton
316184
316185         · df1e6a202b Use salt.ext.six
316186
316187         · 5ac8112585 Use six to ensure unicode value
316188
316189         · 9b5d8c421b Handle unicode values
316190
316191       · PR #44931: (pkruk) add missing parenthis  to  keep  integration  with
316192         python3 @ 2017-12-12 13:49:39 UTC
316193
316194         · 53b34e24cd  Merge pull request #44931 from pkruk/fix-missing-paren‐
316195           this
316196
316197         · b1ed739b44 Merge branch '2017.7' into fix-missing-parenthis
316198
316199         · 4f1b1f12d2     Merge     branch     'fix-missing-parenthis'      of
316200           https://github.com/pkruk/salt into fix-missing-parenthis
316201
316202           · 3475d3fa01 add missing parenthis to keep integration with python3
316203
316204         · adf38cacfb add missing parenthis to keep integration with python3
316205
316206              · ad55e33f57 libcloud_dns: fix state output
316207
316208              · a68d594e3a libcloud_dns: copy args before deleting from them
316209
316210       · PR  #44891:  (twangboy) Fix issue with unsafe path in Windows jenkins
316211         tests @ 2017-12-11 21:10:43 UTC
316212
316213         · ba6146250a Merge pull request #44891 from twangboy/win_fix_verify
316214
316215         · 7232579167 Allow test suite file_roots as a safe path
316216
316217       · PR #44921: (Ch3LL)  Add test  to  ensure  log  files  are  created  @
316218         2017-12-11 18:24:16 UTC
316219
316220         · 85160fd297 Merge pull request #44921 from Ch3LL/log_test
316221
316222         · 3bb58fb577 skip salt-key log creation test
316223
316224         · 6a379195bc Add test to ensure log files are created
316225
316226       · PR  #44787: (rallytime) GroupAdd test: Add destructive test decorator
316227         to entire class @ 2017-12-11 18:14:18 UTC
316228
316229         · 54d29a61cb    Merge    pull    request    #44787    from     rally‐
316230           time/groupadd-destructive-clean
316231
316232         · 817ac002b0 Add destructive test decorator to test class
316233
316234       · ISSUE  #44665:  (mvivaldi) Documentation of salt renders jinja (refs:
316235         #44943, #44895)
316236
316237       · PR #44895: (mvivaldi) Jinja Filters doc @ 2017-12-11 15:32:07 UTC
316238
316239         · 0292e3612a Merge pull request #44895 from mvivaldi/filters-doc
316240
316241         · 62409d608a Added Escape Filters and Set  Theory  Filters  in  jinja
316242           documentation
316243
316244       · PR  #44879: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
316245         @ 2017-12-10 16:53:44 UTC
316246
316247         · PR #44855: (rallytime)  [2017.7]  Merge  forward  from  2016.11  to
316248           2017.7 (refs: #44879)
316249
316250         · df28f312ac Merge pull request #44879 from rallytime/merge-2017.7
316251
316252         · 23c5a4ca3e Merge branch '2016.11' into '2017.7'
316253
316254           · bb1f8dceaf    Merge    pull    request    #44579    from   roald‐
316255             nefs/fix-cron-identifier
316256
316257             · df73a4c051 Merge branch '2016.11' into fix-cron-identifier
316258
316259           · af0131fa1f     Merge      pull      request      #44852      from
316260             damon-atkins/2016.11_win_pkg_typo_n_fix
316261
316262             · 0e7c19084f Lint: Remove extra whitespace
316263
316264             · 7c7e21f94d Fix spelling typo, and fix backwards campatible min‐
316265               ion option for repo location
316266
316267           · 88c0d66b4e Merge pull request #44794 from terminalmage/issue44365
316268
316269             · 3b8b6f25e6 Remove debugging line
316270
316271             · 153bf45b03 Fix regression in file.managed when source_hash used
316272               with local file
316273
316274           · c8bb9dfbbb  Merge  pull  request  #44738 from rallytime/bump-oxy‐
316275             gen-warnings
316276
316277             · ead3c569e1 Bump deprecation warnings from Oxygen to Fluorine
316278
316279           · 88e3aab00d Merge pull request #44741 from gtmanfred/rhip
316280
316281             · 439dc8dce6 if gateway is not specified use iface
316282
316283               · 3ec4329307 Merge branch '2016.11' into fix-cron-identifier
316284
316285               · 99fa05a456 Fix for bug in cron state
316286
316287               · 97328faeac Fix for bug in cron module
316288
316289       · PR #44880: (UtahDave) Determine windows  hardware  arch  correctly  @
316290         2017-12-08 22:24:09 UTC
316291
316292         · 8e14bc3941 Merge pull request #44880 from UtahDave/2017.7local
316293
316294         · 6e3c7ac1ac Merge branch '2017.7' into 2017.7local
316295
316296       · PR  #44861: (twangboy) Fix win_lgpo for unknown values (refs: #45327)
316297         @ 2017-12-08 18:52:05 UTC
316298
316299         · dc51174670    Merge    pull    request    #44861    from     twang‐
316300           boy/win_fix_lgpo_invalid_value
316301
316302         · 89f65e19ff Check for values other than 0 or 1
316303
316304       · PR  #44621:  (isbm)  Bugfix:  errors in external pillar causes crash,
316305         instead of report of them @ 2017-12-08 18:46:56 UTC
316306
316307         · f5a143f8c5      Merge      pull      request      #44621       from
316308           isbm/isbm-bsc1068446-2017.7
316309
316310         · 0d2675c4fe Use variable, instead of direct value
316311
316312         · 1ddc47da0a  Add unit test for _get_pillar_errors when external pil‐
316313           lar is clean and internal contains errors
316314
316315         · 68480d5dc9 Add unit test for _get_pillar_errors when both  external
316316           and internal pillars contains errors
316317
316318         · 218a59e93b  Add unit test for _get_pillar_errors when external pil‐
316319           lar has errors and internal is clean
316320
316321         · 3ce19356c2 Add unit test for _get_pillar_errors when  external  and
316322           internal pillars are clean
316323
316324         · 67034139d9 Fix unit test: wrong error types in side effect
316325
316326         · d9359bca13  Bugfix: unit test mistakenly expects pillar errors as a
316327           string, while it is a list
316328
316329         · 8c2bdc696b Bugfix: do not pull '_errors' from unchecked objects
316330
316331         · d5e30999c7  Remove  unused  variable  (no  exception,  within   the
316332           try/finally block)
316333
316334         · aad668d559 Fix and clarify docstring.
316335
316336         · c2c47e4e71 Rename function from ambiguous name
316337
316338         · 265de8e61c  Bugfix  the logic according to the exact described pur‐
316339           pose of the function.
316340
316341              · dae9c6aa5c Determine windows hardware arch correctly
316342
316343       · PR #43379: (twangboy) Fix file.managed on Windows  with  test=True  @
316344         2017-12-07 21:10:43 UTC
316345
316346         · abe089ad54     Merge    pull    request    #43379    from    twang‐
316347           boy/win_fix_file.managed
316348
316349         · edcd581ca5 Merge branch '2017.7' into win_fix_file.managed
316350
316351         · a27bb6993a Fix py3 error
316352
316353         · 0ff9fa498a Fix test_directory
316354
316355         · 187bc1e61e Add back the try/finally blocks
316356
316357         · d7241d004f Fix 2 more tests
316358
316359         · d5dd42aebe Fix integration tests for Windows
316360
316361         · d56bc9aae9 Fix typo
316362
316363         · af5565859e Use file functions for symlink and remove
316364
316365         · 72ac59c991 Fix some more integration tests for Linux
316366
316367         · 3f0499cbc4 Fix some integration tests
316368
316369         · a24b964ea5 Fix unit test to handle new Exception
316370
316371         · e3c3845f73 Raise CommandExecutionError when file doesn't exist
316372
316373         · 4602f499a2 Remove loader module mixin, add linux paths
316374
316375         · 99b27c037f Add tests to avoid future regression
316376
316377         · 5c215ed8c2 Fix documentation formatting
316378
316379         · 6a4e77e4b9 Return empty or unmodified dict on file not found
316380
316381       · ISSUE #44565: (arthurlogilab) NameError: global name  '__jid_event__'
316382         is not defined when running a runner in the scheduler (refs: #44570)
316383
316384       · PR  #44570: (gtmanfred) Include client mixin globals in scheduler for
316385         runner modules @ 2017-12-07 20:23:33 UTC
316386
316387         · cf4cbcd340 Merge pull request #44570 from gtmanfred/2017.7
316388
316389         · 7b17f9f63c Merge branch '2017.7' into 2017.7
316390
316391       · PR #44494: (skizunov) Fix  broken  beacons_before_connect  feature  @
316392         2017-12-07 18:24:49 UTC
316393
316394         · PR #38289: (skizunov) Add config options for running beacons/sched‐
316395           uler before connect (refs: #44494)
316396
316397         · febb913743 Merge pull request #44494 from skizunov/develop2
316398
316399         · 7adcfbf8ec Merge branch '2017.7' into develop2
316400
316401       · ISSUE #44298: (skjaro) ipset state check problem (refs: #44356)
316402
316403       · ISSUE #39552: (Xiami2012) ipset.check new implementation by  @lingonl
316404         has countless critical bugs (refs: #44356)
316405
316406       · PR  #44512:  (rallytime)  Back-port  #44356  to  2017.7  @ 2017-12-07
316407         14:44:50 UTC
316408
316409         · PR #44356: (skjaro) Fix ipset state with multiple entries and  sub‐
316410           types separated with comma (refs: #44512)
316411
316412         · 284a817565 Merge pull request #44512 from rallytime/bp-44356
316413
316414         · 6f92c71834 Merge branch '2017.7' into bp-44356
316415
316416         · 9a325146df Fix lint violation
316417
316418         · 5aac729855  Fix check multiple entries with subtypes separated with
316419           comma
316420
316421       · PR #44748: (twangboy) Fix auto login support  for  OSX  @  2017-12-07
316422         14:22:23 UTC
316423
316424         · 74ee7ce541     Merge    pull    request    #44748    from    twang‐
316425           boy/osx_fix_auto_login
316426
316427         · 068e463870 Fix lint, add integration tests
316428
316429         · 3df886df75 Fix lint, add gtmanfreds change
316430
316431         · 16cb24614f Add kcpassword functionality
316432
316433       · PR #44842: (twangboy) Win fix lgpo unicode on Py3 issue @  2017-12-07
316434         14:21:14 UTC
316435
316436         · b60cca174c Merge pull request #44842 from twangboy/win_fix_lgpo
316437
316438         · efe77999d1 Gate log.debug statement behind successful pop
316439
316440         · 1c0ec79cd1 Fix py3 issue
316441
316442       · PR  #44843:  (twangboy)  Fix  2  typos  in  lgpo  module @ 2017-12-06
316443         17:56:44 UTC
316444
316445         · bb58e2fec0    Merge    pull    request    #44843    from     twang‐
316446           boy/win_fix_lgpo_typo
316447
316448         · c8f93e6dd7 Fix 2 types, shorten line lengths for spellchecking
316449
316450       · PR #44827: (mz-bmcqueen) add more clone options to virtualbox and add
316451         better dhcp handling @ 2017-12-06 15:02:23 UTC
316452
316453         · d6c37ea19c Merge pull request #44827 from mz-bmcqueen/2017.7
316454
316455         · 4ead3014b7 Merge branch '2017.7' into 2017.7
316456
316457         · b7ce154014         Merge         branch         '2017.7'         of
316458           https://github.com/mz-bmcqueen/salt into 2017.7
316459
316460           · 2f80f431b3 Merge branch '2017.7' into 2017.7
316461
316462         · c2018c9021 fix pylint complaints
316463
316464         · c38ff74261 add more clone options to virtualbox and add better dhcp
316465           handling
316466
316467       · PR #44824: (Ch3LL)  Add  spm  -y  and  -f  arg  integration  tests  @
316468         2017-12-05 21:49:32 UTC
316469
316470         · 019169ed61 Merge pull request #44824 from Ch3LL/spm_args
316471
316472         · d8f81d2e4d fix pylint
316473
316474         · 61ac5cf157 Add spm -y and -f arg integration tests
316475
316476       · PR  #44742:  (Ch3LL)  Add salt-cloud action rename integration test @
316477         2017-12-05 17:44:50 UTC
316478
316479         · 59b930668c Merge pull request #44742 from Ch3LL/cloud_action_test
316480
316481         · 951d09ca2f remove unnecessary try/except block
316482
316483         · c329ced7ee Add salt-cloud action rename integration test
316484
316485       · ISSUE #42676: (mind-code) Changes  in  Pillar  defined  Beacons  only
316486         apply after Minion restart (refs: #44771)
316487
316488       · PR   #44771:   (garethgreenaway)   [2017.7]  Back  porting  #44071  @
316489         2017-12-05 17:16:06 UTC
316490
316491         · PR #44071: (garethgreenaway) [develop]  Various  fixes  to  beacons
316492           (refs: #44771)
316493
316494         · 10442d9211    Merge   pull   request   #44771   from   garethgreen‐
316495           away/42676_backport_44071
316496
316497         · ec2a8b2032 Merge branch '2017.7' into 42676_backport_44071
316498
316499         · 180971203e Updating minion to respond to list_available events  for
316500           beacons
316501
316502         · db6fcefe62  Adding list_available which is used by the add function
316503           to verify that a becaon exists.
316504
316505         · e9e0318bc6 Backporting fixes related to having  beacons  in  pillar
316506           from #44071
316507
316508       · PR  #44784: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
316509         @ 2017-12-05 17:13:49 UTC
316510
316511         · PR #44732: (rallytime)  [2017.7]  Merge  forward  from  2016.11  to
316512           2017.7 (refs: #44784)
316513
316514         · 23d151b40a Merge pull request #44784 from rallytime/merge-2017.7-1
316515
316516         · 3d9eafc4bd Lint: Remove extra empty lines at end of files
316517
316518         · 239f3511bf Merge branch '2016.11' into '2017.7'
316519
316520           · 97e0cf569c Merge pull request #44699 from jfindlay/attr_file
316521
316522             · 9e5a40ea7c Merge branch '2016.11' into attr_file
316523
316524             · 5c34607f6c utils/files remove temp file upon move failure
316525
316526           · 7434e0afdf Merge pull request #44714 from rallytime/fix-44556
316527
316528             · 1bbe1abeb2  Allow  --static  option  to display state runs with
316529               highstate output
316530
316531           · 998d714ee7  Merge  pull  request   #44517   from   whytewolf/pub‐
316532             lish_port_doc_missing
316533
316534             · 4b5855283a  missed  one place where i didnt chanbge master_port
316535               from my copy to publish_port
316536
316537             · e4610baea5 update doc to have publish port
316538
316539           · 6169b52749 Merge pull request #41279 from Ch3LL/add_grain_tests
316540
316541             · 1b64f15692 Merge branch '2016.11' into add_grain_tests
316542
316543           · dc6de050a9 Merge pull request #44563 from creideiki/pgjsonb-time‐
316544             stamps-44544
316545
316546             · 231e412ca4 Merge branch '2016.11' into pgjsonb-timestamps-44544
316547
316548           · 4369df020b Merge pull request #44602 from rallytime/fix-44601
316549
316550             · ff303fd060  Handle  timeout_monitor/TimeoutError issues for new
316551               versions of CherryPy
316552
316553           · 4a4756fc37 Merge pull request #44604 from lorengordon/doc-exclude
316554
316555             · c4a6c40eb3 Documents the exclude argument  in  state  execution
316556               module
316557
316558             · 15c445e6b9 Send Unix timestamps to database in pgjsonb
316559
316560             · 095f1b7d7a Merge branch '2016.11' into add_grain_tests
316561
316562           · 91d46d4cfc Merge pull request #44434 from whytewolf/1837
316563
316564             · d148e39dda change from md to rst for code reference
316565
316566             · 955e305bda fix bad english, as requested by cachedout
316567
316568             · 7256fcc1c9 update note to take into account grains_cache
316569
316570             · 7a2981585e Merge branch '2016.11' into 1837
316571
316572             · aca0405b26  add  a  note  that  describes  grain  rebuilding on
316573               restart and refresh
316574
316575                  · 9ea4db4224 mock socket.getaddrinfo
316576
316577                  · 78a07e30f4 add more fqdn tests  and  remove  some  of  the
316578                    mocking
316579
316580                  · 5dbf4144ce add ipv6 in opts
316581
316582                  · eabc1b4f9c Add fqdn and dns core grain tests
316583
316584           · a3bd99317f    Merge    pull    request    #44321    from    gven‐
316585             gel/fix-file-line-diff-output
316586
316587             · 69a50204a6 Add newline for lint.
316588
316589             · ef7b6bbb81 Fixed issue with file.line on Windows running Python
316590               2.
316591
316592             · 8f89c99fa5  Fix  FileModuleTest  setUp  and tearDown to work on
316593               Windows.
316594
316595             · 3ac5391f5f Namespace missing functions for  file.line  on  Win‐
316596               dows.
316597
316598             · b2b8f075b9 Fixed test to work on Windows.
316599
316600             · 5a5a2dd026 Added integration test for issue #41474
316601
316602             · 24d7315f1a Fix file.line diff formatting.
316603
316604           · 9ca563718d      Merge      pull      request      #43708     from
316605             damon-atkins/2016.11_43417_Backport_and_Fixes
316606
316607             · 04d03ea6b8 Updated comment
316608
316609             · 1dd565e585  Merge   remote   branch   'upstream/2016.11'   into
316610               2016.11_43417_Backport_and_Fixes
316611
316612             · dd48ba2616   Merge   remote   branch   'upstream/2016.11'  into
316613               2016.11_43417_Backport_and_Fixes
316614
316615             · a0d08598bf dco fix
316616
316617             · 9467899fc6  Merge   remote   branch   'upstream/2016.11'   into
316618               2016.11_43417_Backport_and_Fixes
316619
316620             · 6dc180fd0e doco fixes
316621
316622             · 2496a42ea4 lint fix
316623
316624             · 2c937fbe19   Merge   remote   branch   'upstream/2016.11'  into
316625               2016.11_43417_Backport_and_Fixes
316626
316627             · c9c8c48a4d all remove/install commands are passed to cmd.exe /s
316628               /c and commands are passed as strings to cmdmod
316629
316630             · 350244bd93 typo in comments and doc strings.
316631
316632             · ec31f5a9bd  2017.11/develop version() was ignoring saltenv set‐
316633               ting.
316634
316635             · b314549a32 Backport of devlop to 2016.11  with  additional  bug
316636               fixes
316637
316638           · 68ea22188e Merge pull request #44477 from rallytime/bp-44424
316639
316640             · 4a9f8dcc96 Fix #44423: Handle index=None and index=0 distinctly
316641
316642           · 2c89050a24 Merge pull request #44483 from terminalmage/issue44034
316643
316644             · a9db8becea salt-call: account for instances where __pillar__ is
316645               empty
316646
316647           · b5c2028680   Merge    pull    request    #44489    from    whyte‐
316648             wolf/1956_log-granular-levels
316649
316650             · 9cdeb4e903 update log-granular-levels to describe what they are
316651               filtering on
316652
316653           · ea07f9c54c Merge pull request #44193 from twangboy/win_fix_reg
316654
316655             · 44d6d9f46d Remove unused import (lint)
316656
316657             · f7502436bd Fix various issues
316658
316659             · 221e6e3b91 make salt.utils.to_unicode return none  when  passed
316660               none
316661
316662             · ce41acc788 Fix many issues with reg.py
316663
316664             · 4a19df1f7f Use six.text_type instead of str
316665
316666             · 1b12acd303 Check type before casting
316667
316668             · 03fa37b445 Cast vdata to it's proper type
316669
316670           · ed8da2450b      Merge      pull      request      #43863     from
316671             nicholasmhughes/fix-atomicfile-permission-copy
316672
316673             · ea852ec5d3 remove index use with stat module attributes
316674
316675             · dbeeb0e917 fixes #38452 atomicfile only  copies  mode  and  not
316676               user/group perms
316677
316678       · PR  #44788:  (kris-anderson)  Example  yaml  of influxdb_user state @
316679         2017-12-04 14:28:45 UTC
316680
316681         · 4643a112e7  Merge  pull  request  #44788  from  kris-anderson/exam‐
316682           ple-yaml-of-influxdb-user-state
316683
316684         · afd23d058c converted yaml example to use 2 spaces
316685
316686         · 29e410c1ea  added  a  code-block  example of how the yaml should be
316687           formatted
316688
316689       · ISSUE #42713: (boltronics) 2017.7.0 master upgrade breaks  mine  data
316690         on non-glob matching on minions (refs: #44735)
316691
316692       · PR  #44735: (gracinet) Backported issue #42713 to 2017.7 @ 2017-12-04
316693         01:43:23 UTC
316694
316695         · 4ebac09f60 Merge  pull  request  #44735  from  gracinet/42713_back‐
316696           port_2017.7
316697
316698         · 6806d83314 Merge branch '2017.7' into 42713_backport_2017.7
316699
316700         · fb586c6dce Backported issue #42713 to 2017.7
316701
316702       · PR  #44766:  (twangboy)  Fix  unit.utils.test_process  for  Windows @
316703         2017-12-02 13:15:53 UTC
316704
316705         · 06ce7b7328    Merge    pull    request    #44766    from     twang‐
316706           boy/win_fix_test_process
316707
316708         · a5737e8fc3 Fix lint errors
316709
316710         · be96de09cc Fix pickling error by decorating
316711
316712       · ISSUE  #44083:  (ari)  timezone.system  fails  when /etc/localtime is
316713         missing on FreeBSD (refs: #44605)
316714
316715       · PR #44716:  (rallytime)  Back-port  #44605  to  2017.7  @  2017-12-01
316716         23:12:24 UTC
316717
316718         · PR   #44605:   (campbellmc)  Add  handling  for  FreeBSD  in  time‐
316719           zone.zone_compare (refs: #44716)
316720
316721         · f8b8a8966d Merge pull request #44716 from rallytime/bp-44605
316722
316723         · 9d43221422 Correct indentation
316724
316725         · d6e28ebed1 Add handling for FreeBSD in method zone_compare to avoid
316726           exception  when  /etc/localtime file does is absent.  This is valid
316727           configuration on FreeBSD and represents UTC.
316728
316729       · ISSUE #41869:  (mirceaulinic)  Thorium:  unable  to  execute  runners
316730         (refs: #44781)
316731
316732       · PR  #44781:  (mirceaulinic)  Correct  the thorium runner @ 2017-12-01
316733         22:55:52 UTC
316734
316735         · 8ed6287762  Merge  pull   request   #44781   from   cloudflare/tho‐
316736           rium-fix-41869
316737
316738         · 83c73a69cb Instance the Runner class instead of the RunnerClient as
316739           we're running on the Master
316740
316741         · b72b7c5402 Correct the thorium runner
316742
316743       · PR  #44466:  (twangboy)  Fix  unit.modules.test_disk  for  Windows  @
316744         2017-12-01 22:31:42 UTC
316745
316746         · 52596be102     Merge    pull    request    #44466    from    twang‐
316747           boy/win_fix_test_disk
316748
316749         · 5615862f23 Fix some lint
316750
316751         · 627d5ab0c9 Mock salt.utils.which
316752
316753         · e5a96fe00f Skip test_fstype on Windows
316754
316755       · ISSUE #42763: (xuhcc) acme.cert state falsely reports  about  renewed
316756         certificate (refs: #44667)
316757
316758       · PR  #44719:  (rallytime)  Back-port  #44667  to  2017.7  @ 2017-12-01
316759         15:20:49 UTC
316760
316761         · PR #44667: (oarmstrong) Fix acme.cert to run  certbot  non-interac‐
316762           tively (refs: #44719)
316763
316764         · b9ad4bba2d Merge pull request #44719 from rallytime/bp-44667
316765
316766         · 3d85a260c4 Fix acme.cert to run certbot non-interactively
316767
316768       · ISSUE  #44744:  (brmzkw)  roster_defaults  breaks  salt-ssh  globbing
316769         (refs: #44747)
316770
316771       · PR #44747: (gtmanfred) use a copy so roster_defaults doesn't mangle @
316772         2017-12-01 15:13:48 UTC
316773
316774         · d23192c492 Merge pull request #44747 from gtmanfred/roster_defaults
316775
316776         · 911411ed8f add unit test
316777
316778         · eefcfc719c use a copy so roster_defaults doesn't mangle
316779
316780       · ISSUE  #44694:  (thuhak)  state  module  at.absent does't work (refs:
316781         #44717)
316782
316783       · PR #44717: (garethgreenaway) [2017.7] Fixes to at module @ 2017-12-01
316784         14:37:05 UTC
316785
316786         · 20f20ad9e1    Merge   pull   request   #44717   from   garethgreen‐
316787           away/44694_at_absent_failing_to_find_jobs
316788
316789         · 1f2b3c5f46  Merge  branch   '2017.7'   into   44694_at_absent_fail‐
316790           ing_to_find_jobs
316791
316792         · 3bb385b44e removing debugging logging
316793
316794         · 7f0ff5a8b0  When  passing  IDs on the command line convert them all
316795           the strings for later comparision.
316796
316797         · 99e436add4 When looking for job ids to remove based on the tag_name
316798           the  comparision  was comparing an INT to a STR, so the correct job
316799           id was not being returned.
316800
316801       · ISSUE #44136: (dupsatou) KeyError: 'runas' after updating  to  latest
316802         salt in yum repo. (refs: #44695)
316803
316804       · PR  #44695:  (gtmanfred)  pop  None  for  runas  and runas_password @
316805         2017-12-01 14:35:01 UTC
316806
316807         · 6e61aa787f Merge pull request #44695 from gtmanfred/pop
316808
316809         · 0efb90b6f7 Merge branch '2017.7' into pop
316810
316811       · PR #44725: (whytewolf) document note suggesting  systemd-run  --scope
316812         with cmd.run_bg @ 2017-11-30 19:18:06 UTC
316813
316814         · 20391c54c0     Merge    pull    request    #44725    from    whyte‐
316815           wolf/1919_cmd.run_no_daemons
316816
316817         · 4b11f8d66d add quick documentation suggesting  systemd-run  --scope
316818           if using cmd.run_bg with systemd
316819
316820       · ISSUE  #42300:  (mirceaulinic)  Grains state doesn't work (fine) with
316821         proxy minions (refs: #44760)
316822
316823       · ISSUE #42074: (mirceaulinic) How to configure static grains for proxy
316824         minions (refs: #44549)
316825
316826       · PR  #44760:  (mirceaulinic) Fix the grains.setvals execution function
316827         when working with proxy minions @ 2017-11-30 18:27:02 UTC
316828
316829         · PR #44549: (mirceaulinic) Allow proxy minions to load static grains
316830           (refs: #44760)
316831
316832         · 85451ae977     Merge    pull    request    #44760    from    cloud‐
316833           flare/px-grains-set-42300
316834
316835         · 655139d01c Different path to the static grains  file  when  running
316836           under a proxy minion
316837
316838         · 3eec8dbc63 Dummy proxy: catch EOFError instead of IOError
316839
316840       · ISSUE  #44583: (creideiki) Using splay in cron schedule throws excep‐
316841         tion "unsupported operand type(s) for +: 'NoneType' and 'int'" (refs:
316842         #44640)
316843
316844       · PR  #44640: (vutny) Fix #44583: splay with cron-like scheduled jobs @
316845         2017-11-30 15:30:41 UTC
316846
316847         · 06fb80b69c Merge pull  request  #44640  from  vutny/fix-cron-sched‐
316848           ule-splay
316849
316850         · d1f247e49e Add basic unit tests for schedule util eval func
316851
316852         · 6ff8e75ac6 Fix #44583: splay with cron-like scheduled jobs
316853
316854       · PR  #44712:  (Ch3LL)  Add  pillar  ssh integration tests @ 2017-11-30
316855         15:29:33 UTC
316856
316857         · e5a1401b82 Merge pull request #44712 from Ch3LL/ssh_pillar_items
316858
316859         · 97ec0e6ea0 Merge branch '2017.7' into ssh_pillar_items
316860
316861         · c7f5af1274 Add pillar ssh integration tests
316862
316863       · PR #44763: (mirceaulinic) Just a small  improvement  to  the  Thorium
316864         documentation @ 2017-11-30 14:38:03 UTC
316865
316866         · 2e1c946990 Merge pull request #44763 from cloudflare/thorium-doc
316867
316868         · f8d69dd0ba Add thorium_roots configuration example
316869
316870         · 4610fb4e62 thorium_roots not thorium_roots_dir
316871
316872       · PR #44531: (mirceaulinic) Add deprecation notes for the NAPALM native
316873         templates @ 2017-11-30 14:18:56 UTC
316874
316875         · 8ba2df1ea0  Merge  pull  request  #44531   from   cloudflare/depre‐
316876           cate-napalm-tpl
316877
316878         · b462776d8b Add deprecation notes for the NAPALM native templates
316879
316880       · PR  #44737:  (twangboy)  Skip  unit.transport.test_ipc  for Windows @
316881         2017-11-29 19:18:21 UTC
316882
316883         · 7bde48282e    Merge    pull    request    #44737    from     twang‐
316884           boy/win_skip_test_ipc
316885
316886         · 4e0359b603 Skip IPC transport tests in Windows, not supported
316887
316888       · PR  #44629: (Ch3LL) Add masterless state.highstate integration test @
316889         2017-11-29 19:05:23 UTC
316890
316891         · c5206113ce Merge pull request #44629 from Ch3LL/high_masterless
316892
316893         · 9b7421b261 Change check to the state id
316894
316895         · 9cc853e3d5 Add masterless state.highstate integration test
316896
316897       · PR #44613: (Ch3LL) Add pillar.items test for masterless @  2017-11-29
316898         14:43:11 UTC
316899
316900         · 2dc3e5c42a Merge pull request #44613 from Ch3LL/pillar_masterless
316901
316902         · 2c2e1e2332 Merge branch '2017.7' into pillar_masterless
316903
316904         · 69134e83ca Change order of local kwarg in run_call method
316905
316906         · b3b5ecc6ff Add pillar.items test for masterless
316907
316908       · PR  #44659:  (Ch3LL)  Add  state.sls_id  to  ssh  wrapper and tests @
316909         2017-11-29 14:41:47 UTC
316910
316911         · cc05481026 Merge pull request #44659 from Ch3LL/ssh_sls_id
316912
316913         · 04b5a3dd4e Add state.sls_id to ssh wrapper and tests
316914
316915       · PR  #44698:  (Ch3LL)  Add  salt-ssh  mine.get  integration   test   @
316916         2017-11-28 22:15:29 UTC
316917
316918         · 642eed11e1 Merge pull request #44698 from Ch3LL/mine_ssh
316919
316920         · f6a72acfe3 Merge branch '2017.7' into mine_ssh
316921
316922         · 9e67babf85 Add teardown to remove ssh dir
316923
316924         · f90b4f7653 Add salt-ssh mine.get integration test
316925
316926       · PR  #44697: (Ch3LL) Sort the show_top results for test_state_show_top
316927         test @ 2017-11-28 20:35:41 UTC
316928
316929         · 5d82df5667 Merge pull request #44697 from Ch3LL/show_top_test
316930
316931         · 974db59dc1 convert the assert to a union set instead
316932
316933         · add43c4cfe Sort the show_top results for test_state_show_top test
316934
316935       · PR #44608: (Ch3LL) Add jinja  to  ssh  sls  test  file  @  2017-11-27
316936         22:00:28 UTC
316937
316938         · f2f6817e86 Merge pull request #44608 from Ch3LL/ssh_jinja
316939
316940         · df669b551d Merge branch '2017.7' into ssh_jinja
316941
316942         · ca97517795 Add jinja to ssh sls test file
316943
316944       · ISSUE   #33957:  (ghost)  grains.setval  doesn't  setval  if  set  in
316945         /etc/salt/minion (refs: #44663)
316946
316947       · PR  #44663:  (whytewolf)  Update  notes  around  grains  topic,   and
316948         salt.modules.grains and salt.state.grains @ 2017-11-27 21:33:38 UTC
316949
316950         · 04b97bcfad     Merge    pull    request    #44663    from    whyte‐
316951           wolf/ZD1777_ensure_understanding_of_minion_config_over_grains_file
316952
316953         · c9122e4b85 fixed pylint error, and updated description  on  at  the
316954           top the the module and state.
316955
316956         · 7fb208b5ad  Update  note  in  topics/grains to reflect that not all
316957           grains are ignored. only those set in the minion config
316958
316959       · PR #44332: (mirceaulinic) Improve the net.load_config execution func‐
316960         tion @ 2017-11-27 21:22:18 UTC
316961
316962         · 364deee6ac     Merge    pull    request    #44332    from    cloud‐
316963           flare/improve-net-load
316964
316965         · cd0bac87e6 Merge branch '2017.7' into improve-net-load
316966
316967         · 6d861f9a74 Disable pylint warning
316968
316969         · 3a0945ce3d Merge pull request #11 from tonybaloney/gh_44332_clone
316970
316971           · 88ef9f18fc ignore lint error on import
316972
316973           · 25427d845e convert key iterator to list as python 3 wont index an
316974             iterator
316975
316976         · bce50154e5 Merge branch '2017.7' into improve-net-load
316977
316978         · ba4a62769c Fix trailing spaces
316979
316980         · 0a47a7acbf Merge pull request #10 from tonybaloney/gh_44332_clone
316981
316982           · ba0280e727 linting updates
316983
316984           · 78b90f3d0c add remaining tests
316985
316986           · 386c4e5791 add tests for all the getters
316987
316988         · f3d2d1aaaa Merge pull request #9 from tonybaloney/gh_44332_clone
316989
316990           · c63222358b  update tests with correct assertions and mock methods
316991             on device instance
316992
316993           · b69c559c52 fix kwargs typo
316994
316995         · edea76d3f3 Improve the net.load_config function
316996
316997       · PR #44664: (mvivaldi) Patch 1 @ 2017-11-27 21:17:20 UTC
316998
316999         · b6a1ed06b8 Merge pull request #44664 from mvivaldi/patch-1
317000
317001         · 4551999ec7 Update jinja.py
317002
317003         · ae13d57307 Update file.py
317004
317005       · ISSUE #42074: (mirceaulinic) How to configure static grains for proxy
317006         minions (refs: #44549)
317007
317008       · PR  #44549:  (mirceaulinic) Allow proxy minions to load static grains
317009         (refs: #44760) @ 2017-11-27 20:57:09 UTC
317010
317011         · 9ea4ee1479    Merge    pull    request    #44549    from     cloud‐
317012           flare/fix-proxy-grains
317013
317014         · 7b03574ab6 Merge branch '2017.7' into fix-proxy-grains
317015
317016         · 0320174ea4 Add doc note regarding static grains on proxy minions
317017
317018         · 509d1af832 Allow proxy minions to load static grains
317019
317020       · PR  #44572:  (Ch3LL)  Add  watch_in  integration  test  @  2017-11-27
317021         20:52:31 UTC
317022
317023         · 5ec7ea0bb5 Merge pull request #44572 from Ch3LL/watchin_test
317024
317025         · 0a54584ddb Merge branch '2017.7' into watchin_test
317026
317027         · 898c28e6d9 Merge branch '2017.7' into watchin_test
317028
317029         · 3df70f3fed remove iter for watch_in failure test
317030
317031         · ac437ddf90 add order check and remove iter
317032
317033         · 5f2b4f434e Add watch_in integration test
317034
317035              · c6733ac1ee pop None
317036
317037       · PR #44616: (Ch3LL) Add Non Base Environement salt:// source  integra‐
317038         tion test @ 2017-11-22 16:13:54 UTC
317039
317040         · d6ccf4bb30 Merge pull request #44616 from Ch3LL/nonbase_test
317041
317042         · 80b71652e3 Merge branch '2017.7' into nonbase_test
317043
317044         · c9ba33432e  Add  Non  Base  Environement salt:// source integration
317045           test
317046
317047       · PR #44617: (Ch3LL) Add ssh thin_dir  integration  test  @  2017-11-22
317048         16:12:51 UTC
317049
317050         · 3ace504c8c Merge pull request #44617 from Ch3LL/thindir_ssh
317051
317052         · 071a1bd65b Merge branch '2017.7' into thindir_ssh
317053
317054       · PR  #44625:  (Ch3LL)  Add  salt-key  -d integration test @ 2017-11-22
317055         03:15:23 UTC
317056
317057         · 2cd618f99b Merge pull request #44625 from Ch3LL/delete_key_test
317058
317059         · 443dc1e16b Merge branch '2017.7' into delete_key_test
317060
317061       · ISSUE  #44601:  (rallytime)  CherryPy  12.0   removed   support   for
317062         "engine.timeout_monitor.on" config option (refs: #44602)
317063
317064       · PR  #44614:  (rallytime)  [2017.7] Move PR #44602 forward to 2017.7 @
317065         2017-11-21 21:21:06 UTC
317066
317067         · PR #44602: (rallytime) Handle timeout_monitor attribute  error  for
317068           new versions of CherryPy (refs: #44614)
317069
317070         · 4f30e845ee Merge pull request #44614 from rallytime/44602-2017.7
317071
317072         · 628f015c1b Move TimoutError check lower down in exception list
317073
317074         · d26d9ff5e4  Handle timeout_monitor/TimeoutError issues for new ver‐
317075           sions of CherryPy
317076
317077         · 359a59dd64 Add salt-key -d integration test
317078
317079         · 74ededafa7 Add ssh thin_dir integration test
317080
317081              · 4d0806e28c Merge branch '2017.7' into develop2
317082
317083              · 4d0d023115 Fix broken beacons_before_connect feature
317084
317085                · 98536110d9 Merge branch '2017.7' into 2017.7
317086
317087       · PR #44571:  (rallytime)  Back-port  #43822  to  2017.7  @  2017-11-20
317088         19:01:26 UTC
317089
317090         · PR  #43822:  (chnrxn)  check_result: Correctly check the __extend__
317091           state. (refs: #44571)
317092
317093         · 136b9e3bc4 Merge pull request #44571 from rallytime/bp-43822
317094
317095         · f81bb61f2d check_result: Correctly check the __extend__ state.
317096
317097       · PR #44588: (rallytime) Add documentation about logging before modules
317098         are loaded @ 2017-11-20 18:43:18 UTC
317099
317100         · PR  #44576: (rallytime) Remove logging from top of napalm util file
317101           (refs: #44588)
317102
317103         · PR #44439: (mirceaulinic)  Adapt napalm modules to the new  library
317104           structure (refs: #44576)
317105
317106         · bea7f65291 Merge pull request #44588 from rallytime/logging-in-vir‐
317107           tual-funcs
317108
317109         · 90d1cb221d Add  documentation  about  logging  before  modules  are
317110           loaded
317111
317112       · PR  #44513:  (rallytime)  Back-port  #44472  to  2017.7  @ 2017-11-20
317113         16:09:02 UTC
317114
317115         · PR #44472:  (mephi42)  nova:  fix  endpoint  URL  determination  in
317116           _v3_setup() (refs: #44513)
317117
317118         · a8044b73c3 Merge pull request #44513 from rallytime/bp-44472
317119
317120         · 6e00e415d3 nova: fix endpoint URL determination in _v3_setup()
317121
317122       · PR  #44596:  (roaldnefs)  Fixed  Mattermost  module  documentation  @
317123         2017-11-19 23:30:53 UTC
317124
317125         · f55b9daa63 Merge pull  request  #44596  from  roaldnefs/fix-matter‐
317126           most-doc
317127
317128         · 549f4806ce Fixed documentation in Mattermost module
317129
317130       · PR      #44528:     (tkwilliams)     INFRA-5978     -     fix     for
317131         https://github.com/saltstack/salt/issues/44290 @ 2017-11-17  17:35:44
317132         UTC
317133
317134         · f84a2b5ab1 Merge pull request #44528 from bodhi-space/infra5978
317135
317136         · ba1d57f5eb Merge branch '2017.7' into infra5978
317137
317138         · 021692b6c9 INFRA-5978 - pylint / whitespace fix
317139
317140         · c2210aaf7c          INFRA-5978          -          fix          for
317141           https://github.com/saltstack/salt/issues/44290
317142
317143       · PR #44537: (Ch3LL) Add multiple salt-ssh state  integration  tests  @
317144         2017-11-17 17:17:48 UTC
317145
317146         · 7f2dd0382c Merge pull request #44537 from Ch3LL/ssh_highlow
317147
317148         · b98df6de24 Add known_hosts_file to salt-ssh opts_pkg in wfuncs
317149
317150         · 913eedc699 Add multiple salt-ssh state integration tests
317151
317152       · PR  #44576:  (rallytime)  Remove logging from top of napalm util file
317153         (refs: #44588) @ 2017-11-17 14:55:13 UTC
317154
317155         · PR #44439: (mirceaulinic)  Adapt napalm modules to the new  library
317156           structure (refs: #44576)
317157
317158         · 1975fb41bc     Merge    pull    request    #44576    from    rally‐
317159           time/remove-napalm-logging
317160
317161         · eb91af999e Remove logging from top of napalm util file
317162
317163       · PR #44575: (Ch3LL)  Add  service.running  integration  state  test  @
317164         2017-11-16 22:27:57 UTC
317165
317166         · c2c3048f46 Merge pull request #44575 from Ch3LL/ser_run_test
317167
317168         · 7536150567 Add service.running integration state test
317169
317170       · PR  #44518: (twangboy) Pass root_dir to the win_verify_env function @
317171         2017-11-16 20:57:49 UTC
317172
317173         · 24b1d7af31 Merge pull  request  #44518  from  twangboy/win_fix_ver‐
317174           ify_env
317175
317176         · 47114fdb30 Pass root_dirs to the win_verify_env function
317177
317178              · 3385f7faf3 fix pylint
317179
317180              · a2af3cb857  Include client mixin globals in scheduler for run‐
317181                ner modules
317182
317183       · PR #44551: (mirceaulinic) Removes  proxy  minions  false  alarms  and
317184         security risks @ 2017-11-16 15:09:14 UTC
317185
317186         · 1643bb7fd4  Merge pull request #44551 from cloudflare/annoying-tmp‐
317187           nam
317188
317189         · ce1882943d Use salt.utils.files.mkstemp() instead
317190
317191         · 6689bd3b2d Dont use dangerous os.tmpnam
317192
317193         · 2d6176b0bc Fx2 proxy minion: clean return, like all the other  mod‐
317194           ules
317195
317196       · ISSUE #30454: (favoretti) Using yaml serializer inside jinja template
317197         results in  unicode  being  prepended  by  '!!python/unicode'  (refs:
317198         #30481, #42064, #38554)
317199
317200       · PR  #44541: (terminalmage) Fix test to reflect changes in YAML dumper
317201         @ 2017-11-15 13:23:58 UTC
317202
317203         · PR #42064: (The-Loeki) utils.jinja: use utils.yamldumper  for  safe
317204           yaml dumping (refs: #44541)
317205
317206         · PR  #38554:  (multani)  Fix  YAML deserialization of unicode (refs:
317207           #42064)
317208
317209         · PR #30481: (basepi) Add yaml_safe jinja filter (refs: #38554)
317210
317211         · 60083ac27b   Merge   pull    request    #44541    from    terminal‐
317212           mage/fix-yaml-test
317213
317214         · 5b8f54084b Merge branch '2017.7' into fix-yaml-test
317215
317216       · PR  #44538:  (gtmanfred)  Fix up some test kitchen stuff @ 2017-11-14
317217         20:36:56 UTC
317218
317219         · 5c123eb551 Merge pull request #44538 from gtmanfred/kitchen
317220
317221         · 3e04d2d44c use kitchen-sync for copying files
317222
317223         · 9bc70fd31b back up to 2017.7.1 for kitchen tests
317224
317225         · 3b93ea058b ubuntu 14 and centos 6 should not have py3 tests
317226
317227         · 958e1aeb8d Fix test to reflect changes in YAML dumper
317228
317229       · ISSUE #30454: (favoretti) Using yaml serializer inside jinja template
317230         results  in  unicode  being  prepended  by  '!!python/unicode' (refs:
317231         #30481, #42064, #38554)
317232
317233       · PR #42064: (The-Loeki) utils.jinja:  use  utils.yamldumper  for  safe
317234         yaml dumping (refs: #44541) @ 2017-11-13 19:45:14 UTC
317235
317236         · PR  #38554:  (multani)  Fix  YAML deserialization of unicode (refs:
317237           #42064)
317238
317239         · PR #30481: (basepi) Add yaml_safe jinja filter (refs: #38554)
317240
317241         · 27a7b607b1 Merge pull request #42064 from The-Loeki/jinja_unicode
317242
317243         · b1cf43c02d Merge branch '2017.7' into jinja_unicode
317244
317245         · 8c2ac58523 Merge branch '2017.7' into jinja_unicode
317246
317247         · 57dc6226a2 Merge branch '2017.7' into jinja_unicode
317248
317249         · 0a8346b585 Merge branch '2017.7' into jinja_unicode
317250
317251         · 393fe061b2 jinja utils: yaml import still necessary
317252
317253         · 3c9130f9f0 utils.jinja: use utils.yamldumper for safe yaml dumping
317254
317255       · PR #43692: (mirceaulinic) Addressing a bug in the network find runner
317256         @ 2017-11-13 19:42:24 UTC
317257
317258         · b1f14c7518 Merge pull request #43692 from cloudflare/fix-net-runner
317259
317260         · 02ffb4f38e Merge branch '2017.7' into fix-net-runner
317261
317262         · 4b2f791bd2 Check if addr is short IPv6
317263
317264         · 765504c137 Add all the possible keys to the result
317265
317266       · ISSUE  #42393:  (The-Loeki)  pillarenv  ignored with Salt Master pil‐
317267         lar_cache: True (refs: #43689)
317268
317269       · ISSUE #36153: (krcroft) Pillarenv doesn't allow using separate pillar
317270         environments (refs: #43689)
317271
317272       · PR  #43689: (The-Loeki) make cached pillars use pillarenv rather than
317273         saltenv @ 2017-11-13 19:30:00 UTC
317274
317275         · 1e94a5bd5f Merge pull request #43689 from The-Loeki/cached_pilarenv
317276
317277         · 395c0c424d Merge branch '2017.7' into cached_pilarenv
317278
317279         · 60e001733b make cached pillars use pillarenv rather than saltenv
317280
317281       · PR #43837: (twangboy)  Fix  unit.states.test_archive  for  Windows  @
317282         2017-11-13 19:12:19 UTC
317283
317284         · f9b273a894     Merge    pull    request    #43837    from    twang‐
317285           boy/win_unit_test_archive
317286
317287         · 5505a8819a Merge branch '2017.7' into win_unit_test_archive
317288
317289         · b1dfe9c3c8 Format patching with statements for easier reading
317290
317291         · ba2f2eb788 Add Erik's changes
317292
317293         · 4ef1e3eb97 Fix unit.states.test_archive for Windows
317294
317295       · PR #44507: (Ch3LL) Increase sleep timeout for pillar refresh  test  @
317296         2017-11-13 18:29:06 UTC
317297
317298         · caa81728a0 Merge pull request #44507 from Ch3LL/pillar_time
317299
317300         · ffa4bddcad Increase sleep timeout for pillar refresh test
317301
317302       · PR  #44302: (morganwillcock) Fix traceback and incorrect message when
317303         resolving an unresolvable SID @ 2017-11-13 18:19:01 UTC
317304
317305         · cffea5ac71 Merge pull request #44302 from morganwillcock/badsid
317306
317307         · f3af106e33         Merge         branch         'badsid'         of
317308           https://github.com/morganwillcock/salt into badsid
317309
317310           · 95733fbb3b Merge branch '2017.7' into badsid
317311
317312           · facc2cd16e Merge branch '2017.7' into badsid
317313
317314         · c7cf5f6f70 Format pywintypes.error
317315
317316         · 9572aabb67  Fix  traceback  and incorrect message when resolving an
317317           unresolvable SID
317318
317319       · PR #44439: (mirceaulinic)  Adapt napalm modules to  the  new  library
317320         structure (refs: #44576) @ 2017-11-13 17:43:24 UTC
317321
317322         · 32fc952000 Merge pull request #44439 from cloudflare/fix-napalm
317323
317324         · f45378af04 Lint: remove extra spaces
317325
317326         · c6a38258a3 Add napalm>2.0.0 note and update URLs
317327
317328         · 52f73835b8 Adapt napalm modules to the new library structure
317329
317330       · PR #44457: (twangboy) Remove wmi monkeypatching @ 2017-11-13 17:38:52
317331         UTC
317332
317333         · ebbe5949ea    Merge    pull    request    #44457    from     twang‐
317334           boy/win_remove_wmi_monkeypatching
317335
317336         · 6c872e95e6 Add back the setup_loader_modules function
317337
317338         · 20273e3697  No  need  for setup_loader_modules since we're actually
317339           importing wmi
317340
317341         · 8c107873cd Remove wmi monkeypatching
317342
317343       · PR #44490: (Ch3LL) Enable test_deploy ssh test @ 2017-11-13  17:12:48
317344         UTC
317345
317346         · 1da1a97d7d Merge pull request #44490 from Ch3LL/ssh_ping
317347
317348         · e952cd6712 Enable test_deploy ssh test
317349
317350       · PR  #44491:  (Ch3LL)  Add salt-ssh raw integration tests @ 2017-11-13
317351         15:47:12 UTC
317352
317353         · 18624d6798 Merge pull request #44491 from Ch3LL/ssh_raw
317354
317355         · 3dc8673417 change class name to raw
317356
317357         · 308596ac8d Add salt-ssh raw integration tests
317358
317359       · PR  #44492:  (twangboy)  Fix  unit.utils.test_cloud  for  Windows   @
317360         2017-11-13 15:44:31 UTC
317361
317362         · aa17bfa8e7     Merge    pull    request    #44492    from    twang‐
317363           boy/win_skip_mode_check
317364
317365         · 2f30ad93b1 Skips mode check in Windows
317366
317367       · PR #44484: (Ch3LL) Add orchestration tests when target exists or  not
317368         @ 2017-11-10 19:24:22 UTC
317369
317370         · 5b95495e75 Merge pull request #44484 from Ch3LL/orch_test
317371
317372         · f3ec6df76e Add orchestration tests when target exists or not
317373
317374       · PR  #44480:  (Ch3LL)  Add  integration  pillar  command  line  test @
317375         2017-11-10 19:14:31 UTC
317376
317377         · 62c42ca6fb Merge pull request #44480 from Ch3LL/override_pillar
317378
317379         · 12fed1b4d8 Add integration pillar command line test
317380
317381       · PR #44317: (Ch3LL) Add  state  tests  and  state  request  system  to
317382         salt-ssh @ 2017-11-10 18:28:43 UTC
317383
317384         · cc08ad2edc Merge pull request #44317 from Ch3LL/ssh_test
317385
317386         · 46bce3bd5e add additional parser argument for ssh integration tests
317387
317388         · e9231430b5 remove logic similar to cloud/proxy tests
317389
317390         · c731eb8ea6 add ssh dir to test runner when --ssh-tests set
317391
317392         · 8089a885c2 add wipe function to other run_ssh method
317393
317394         · 200b12ae6a change versionadded salt version
317395
317396         · e3ebb5e9b3 fix comment and variables
317397
317398         · faef0886a7 Add state tests and state request system to salt-ssh
317399
317400       · PR  #44478: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
317401         @ 2017-11-10 18:00:56 UTC
317402
317403         · 6669035a30 Merge pull request #44478 from rallytime/merge-2017.7
317404
317405         · 9fcc2a70b5 Merge branch '2016.11' into '2017.7'
317406
317407           · a66cd67d15 Merge pull request #44260 from seanjnkns/issue-39901
317408
317409             · ed8cccf457 #39901: Fix pylint
317410
317411             · 43c81dfdee #39901: Add unit tests
317412
317413             · 613d500876 Merge branch '2016.11' into issue-39901
317414
317415             · b97e8046ca      Utilize      salt.utils.validate.net.*      and
317416               _raise_error_iface
317417
317418             · 6818f3631d Fixes #39901 for RH/CentOS 7
317419
317420       · PR  #44444:  (twangboy)  LGPO:  Issue  with  Maximum  Password  Age @
317421         2017-11-10 17:26:53 UTC
317422
317423         · 60719d0683    Merge    pull    request    #44444    from     twang‐
317424           boy/win_lgpo_non_zero
317425
317426         · de6b394445 Remove unneeded functions
317427
317428         · ee0914f7e9 Fix some lint, remove unnecessary function
317429
317430         · d52a7c12db Fix typo in PasswordComplexity policy
317431
317432         · 44f8f43812 Fix problem where 0 isn't 0
317433
317434       · PR  #44467:  (twangboy)  Fix  unit.test_doc  for Windows @ 2017-11-10
317435         15:21:58 UTC
317436
317437         · 4f3a79df07 Merge pull request #44467 from twangboy/win_fix_test_doc
317438
317439         · 0a9e862bf4 Use regex to split
317440
317441       · PR #44443:  (Ch3LL)  Add  salt-ssh  grains.items  test  @  2017-11-09
317442         00:42:11 UTC
317443
317444         · ff4f13877f Merge pull request #44443 from Ch3LL/ssh_grains
317445
317446         · 5d1a9af4b5 Add salt-ssh grains.items test
317447
317448       · PR  #44429:  (Ch3LL)  Fix  orch  doc  from pillat.get to pillar.get @
317449         2017-11-07 23:06:38 UTC
317450
317451         · dcdf2d4c90 Merge pull request #44429 from Ch3LL/orch_doc
317452
317453         · 38ca5520f0 Fix orch doc from pillat.get to pillar.get
317454
317455       · ISSUE #42568: (clallen) Orchestration runner doesn't populate  __pil‐
317456         lar__ based on pillarenv (refs: #43817)
317457
317458       · PR  #43817:  (The-Loeki)  Orchestrate  runner  forces  pillarenv  and
317459         saltenv to None @ 2017-11-07 06:00:16 UTC
317460
317461         · 62c4addef8 Merge pull request #43817 from The-Loeki/orch-pillarenv
317462
317463         · 3fd652623c orchestrate runner: retain default envs
317464
317465       · PR #44408: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
317466         @ 2017-11-06 15:53:00 UTC
317467
317468         · 9e4708b7b9 Merge pull request #44408 from rallytime/merge-2017.7
317469
317470         · edbbd5fc2b Merge branch '2016.11' into '2017.7'
317471
317472         · 5e289f42ba Merge pull request #44383 from gtmanfred/2016kitchen
317473
317474           · b65f4ea4ea switch salt-jenkins over to saltstack
317475
317476         · cab54e34b5 Merge pull request #44173 from twangboy/win_system_docs
317477
317478           · 8e111b413d Fix some of the wording and grammer errors
317479
317480           · a12bc5ae41 Use google style docstrings
317481
317482         · 7aaea1d179 Merge pull request #44304 from jfindlay/cron_id
317483
317484           · cc038c5bec states.cron identifier defaults to name
317485
317486         · e4dbbde734    Merge    pull    request    #44322   from   rossenge‐
317487           orgiev/saltssh-docs-update
317488
317489           · b18f2e5a6d fix program name and description for --static
317490
317491           · 5b10918f02 updated CLI docs for salt-ssh
317492
317493       · PR #44358: (The-Loeki) Kubernetes client certificate file usage fix @
317494         2017-11-03 21:51:27 UTC
317495
317496         · b11da0d2da       Merge      pull      request      #44358      from
317497           The-Loeki/kube-client-cert-file
317498
317499         · 35a8b0bb38 Kubernetes client certificate file usage fix
317500
317501       · PR #44347: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
317502         @ 2017-11-03 21:48:21 UTC
317503
317504         · 1974e52c06 Merge pull request #44347 from rallytime/merge-2017.7
317505
317506         · 9bad04b94b Merge branch '2016.11' into '2017.7'
317507
317508           · 4e6f09e3eb Merge pull request #44345 from gtmanfred/2016kitchen
317509
317510             · 79b8b2d0bf remove binding
317511
317512           · 209847c8c2 Merge pull request #44342 from gtmanfred/2016kitchen
317513
317514             · c50508f0b7 render template files platforms.yml and driver.yml
317515
317516           · 1be65224cb    Merge    pull    request    #44339    from    cory‐
317517             wright/issue-44336-fix-archive-tar-docs-2016-11
317518
317519             · 9c1c35a59f Remove leading dash (-) from options in  archive.tar
317520               documentation
317521
317522           · bebc33daf5   Merge   pull   request   #44295   from  HeinleinSup‐
317523             port/issue44272
317524
317525             · f972715a45 fixes issue #44272
317526
317527           · e7ca9f8407 Merge pull request #44286 from gtmanfred/2016.11
317528
317529             · 193e715e37 use our git repo for kitchen-salt
317530
317531       · PR    #44364:    (Ch3LL)    Include    disk    size     check     for
317532         test_spm_build_big_file test @ 2017-11-01 13:57:24 UTC
317533
317534         · aea9f4a115 Merge pull request #44364 from Ch3LL/fix_size_test
317535
317536         · 952c6bfea4 Include file size check for test_spm_build_big_file test
317537
317538       · ISSUE  #44239:  (boltronics)  --progress  fails when hosts routed via
317539         syndic (refs: #44273)
317540
317541       · PR #44273: (DmitryKuzmenko) Workaround progressbar failure if  minion
317542         is behind syndic.  @ 2017-10-31 17:07:17 UTC
317543
317544         · 609de9367a    Merge    pull   request   #44273   from   DSRCorpora‐
317545           tion/bugs/44239_syndic_progress
317546
317547         · e1a7605623 Workaround progressbar failure if minion is behind  syn‐
317548           dic.
317549
317550       · PR   #44350:   (gtmanfred)  update  salt-jenkins  repo  to  2017.7  @
317551         2017-10-30 21:31:30 UTC
317552
317553         · eef6dbfa58 Merge pull request #44350 from gtmanfred/2017.7
317554
317555         · cf71e3d9f2 update salt-jenkins repo to 2017.7
317556
317557       · PR #44346: (gtmanfred) remove binding  from  erb  template  rendering
317558         (2017.7) @ 2017-10-30 20:57:19 UTC
317559
317560         · d586b3bf97 Merge pull request #44346 from gtmanfred/2017.7
317561
317562         · bf577c3d8b remove binding
317563
317564       · PR  #44343:  (gtmanfred)  render  template  files  platforms.yml  and
317565         driver.yml (2017.7) @ 2017-10-30 20:04:22 UTC
317566
317567         · 547aac6658 Merge pull request #44343 from gtmanfred/2017.7
317568
317569         · ec24fbc0c2 render template files platforms.yml and driver.yml
317570
317571       · ISSUE #44336: (corywright) Docs for archive.tar should not use  lead‐
317572         ing dash for tar options (refs: #44339, #44338)
317573
317574       · PR  #44338:  (corywright)  Remove  leading  dash  from options in ar‐
317575         chive.tar docs (2017.7 and develop) @ 2017-10-30 18:59:33 UTC
317576
317577         · 6e2a74c18b    Merge    pull    request    #44338     from     cory‐
317578           wright/issue-44336-fix-archive-tar-docs-2017-7-and-newer
317579
317580         · 49b0abc284 Remove leading dash (-) from options in archive.tar doc‐
317581           umentation
317582
317583       · PR #44265: (Ch3LL)  Add service.status integration test @  2017-10-30
317584         15:00:12 UTC
317585
317586         · 71923bed97 Merge pull request #44265 from Ch3LL/service_test
317587
317588         · 716aabc0bf Merge branch '2017.7' into service_test
317589
317590         · dd5c823210 remove skipIf import
317591
317592         · ff92f31cbe remove skipif for docker
317593
317594         · c13f37eee4 change service name depending on os
317595
317596         · 980c43ebc9 change skip message check to docker
317597
317598         · 3955537609 change skip if check to docker
317599
317600         · aa8875a0e2 change service name to docker
317601
317602         · 654071028b change service to crond
317603
317604         · 7911b4b3eb Add service.status integration test
317605
317606       · PR  #44294:  (nasenbaer13)  Boto  asg  fixes,  Backport  of  #43858 @
317607         2017-10-30 14:48:52 UTC
317608
317609         · PR #43858: (nasenbaer13) Boto_ASG fixes  for  scaling  policy  rate
317610           limiting and tag conversion (refs: #44294)
317611
317612         · 8ae9769bfb Merge pull request #44294 from eyj/boto_asg
317613
317614         · f5ad6aeb70 Debug log added when throttled by API
317615
317616         · c05d9aeced Encode tags as utf-8, retry policy readout
317617
317618       · PR  #44312:  (rallytime)  Back-port  #44287  to  2017.7  @ 2017-10-30
317619         14:25:56 UTC
317620
317621         · PR #44287: (jf) Fix utils.files.guess_archive_type to recognize the
317622           "tbz" extension as well (refs: #44312)
317623
317624         · 68a9bebf90 Merge pull request #44312 from rallytime/bp-44287
317625
317626         · 4d02e61f97 Merge branch '2017.7' into bp-44287
317627
317628         · ba0eaae95e  Fix  utils.files.guess_archive_type  to  recognize  the
317629           "tbz" extension as well (also tidy up list of extensions)
317630
317631       · ISSUE #44258: (oarmstrong)  docker_container.running  recreates  con‐
317632         tainers with multiple links (refs: #44262)
317633
317634       · PR  #44311:  (rallytime)  Back-port  #44262  to  2017.7  @ 2017-10-30
317635         14:25:35 UTC
317636
317637         · PR #44262: (oarmstrong) docker_container.running sort list of links
317638           (refs: #44311)
317639
317640         · b8854e27c0 Merge pull request #44311 from rallytime/bp-44262
317641
317642         · 72d617cfbe Merge branch '2017.7' into bp-44262
317643
317644         · ae34a15503 docker_container.running sort list of links
317645
317646       · PR  #44314:  (gtmanfred)  update  .kitchen.yml to run py3 tests too @
317647         2017-10-30 14:23:15 UTC
317648
317649         · 48df79ef77 Merge pull request #44314 from gtmanfred/2017.7
317650
317651         · 54265769c4 Merge branch '2017.7' into 2017.7
317652
317653       · PR #44316: (rallytime) Fix lint failure on 2017.7 branch @ 2017-10-27
317654         18:36:08 UTC
317655
317656         · dbc5e224e9 Merge pull request #44316 from rallytime/fix-lint
317657
317658         · 6d2490f6a0 Fix lint failure on 2017.7 branch
317659
317660         · 39262b625e update .kitchen.yml to run py3 tests too
317661
317662       · PR  #44279: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
317663         @ 2017-10-27 16:17:19 UTC
317664
317665         · b2b0c770a4 Merge pull request #44279 from rallytime/merge-2017.7
317666
317667         · 8237f45a46 Add print_function to __future__ import list
317668
317669         · 055b0701de Lint fix from sloppy merge conflict resolution
317670
317671         · 1c3cb5c6a4 Merge branch '2016.11' into '2017.7'
317672
317673           · 8a1ea165af Merge pull request #44259 from gtmanfred/2016.11
317674
317675             · 56a3ad8f68 fix pylint comments
317676
317677             · 4add666db1 add comment to Gemfile and move copyartifacts
317678
317679             · b4c8f7eb57 fix pylint
317680
317681             · 392fd4f837 try newest salttesting
317682
317683             · 79251287d0 add logging
317684
317685             · 38963d5a82 use transport if not set in state_file
317686
317687             · 10e309a64f which vagrant should go to stderr
317688
317689             · 9307564de0 fix output columns
317690
317691             · 2da22f87e1 test opennebula
317692
317693             · 9f38f16905 add opennebula to Gemfile
317694
317695             · 7465f9b27a add script for copying back artifacts
317696
317697             · 255118cfd7 run tests with kitchen
317698
317699           · 9d6bc8509b   Merge    pull    request    #44268    from    twang‐
317700             boy/win_fix_lgpo_typo
317701
317702             · a6a4c10a77 Fix typo
317703
317704           · 0beb65a283    Merge    pull   request   #44269   from   terminal‐
317705             mage/fix-log-message
317706
317707             · bc9cd65496 Fix log message in salt.utils.gitfs
317708
317709           · 304dd2529d Merge pull request #44160 from gtmanfred/directory
317710
317711             · a7d3d668f4 missed removing changes in the next test
317712
317713             · ac0b5ec440 fix test
317714
317715             · d3d00c3e62 add changes to test return
317716
317717           · e10395483d Merge pull request #44205 from rallytime/bp-44177
317718
317719             · b9940f8521 Fixing default redis.host in documentation
317720
317721       · PR #44291: (Ch3LL)  add  saltutil.refresh_pillar  test  @  2017-10-27
317722         15:19:43 UTC
317723
317724         · bd5b9dd0aa Merge pull request #44291 from Ch3LL/pillar_test
317725
317726         · 34e2955445 add saltutil.refresh_pillar test
317727
317728       · PR  #44267:  (twangboy)  Fix  type  and  Py3  issues in LGPO module @
317729         2017-10-27 14:27:50 UTC
317730
317731         · ba17a1c4d0 Merge pull request #44267 from twangboy/win_fix_lgpo
317732
317733         · 5d22d34cac Use unicode_literals
317734
317735         · 40636397d8 Fix set for Py3
317736
317737         · 8f8c706426 Fix typo
317738
317739       · PR #44285: (Ch3LL) add spm integration tests for remove and  build  @
317740         2017-10-26 21:20:10 UTC
317741
317742         · e16707c403 Merge pull request #44285 from Ch3LL/all_spm
317743
317744         · 1f77f3e6a3 add skipif logic for fallocate cmd
317745
317746         · 03b5c4bc6d add spm integration tests for remove and build
317747
317748       · PR #44301: (twangboy) Fix test_pydsl on Windows @ 2017-10-26 21:14:21
317749         UTC
317750
317751         · 6392896a22    Merge    pull    request    #44301    from     twang‐
317752           boy/win_fix_test_pydsl
317753
317754         · 6db23757bc Fix test_pydsl on Windows
317755
317756       · PR #44293: (UtahDave) Fix documentation grammar and spelling errors @
317757         2017-10-26 13:05:31 UTC
317758
317759         · 8787d02688    Merge    pull    request    #44293     from     Utah‐
317760           Dave/fix_unittest_docs
317761
317762         · c919648ab4 Fix documentation grammar and spelling errors
317763
317764       · PR  #44248:  (Ch3LL)  SPM  tests:  use _spm_build_files method during
317765         test_build setup @ 2017-10-25 19:45:03 UTC
317766
317767         · 6e33743c1a Merge pull request #44248 from Ch3LL/spm_create_repo
317768
317769         · 0a387c2ecd fix pylint
317770
317771         · f383f05a93 Add SPM create_repo integration test
317772
317773       · PR #44253: (Ch3LL) Add multiple spm integration  tests  @  2017-10-25
317774         13:36:03 UTC
317775
317776         · bd75be24ca Merge pull request #44253 from Ch3LL/spm_install
317777
317778         · 9e2e785034 add spm tests to test runner
317779
317780         · 4729ccd32b Add multiple spm integration tests
317781
317782       · PR  #44254: (twangboy) Fix unit.modules.test_win_groupadd for Windows
317783         @ 2017-10-25 13:33:40 UTC
317784
317785         · 75ee1ebc50    Merge    pull    request    #44254    from     twang‐
317786           boy/win_fix_test_win_groupadd
317787
317788         · 609361bf48 Fix some lint errors
317789
317790         · 1f44d8d5e6 Document helper functions
317791
317792         · b0caec320e Move _get_all_groups up to the top
317793
317794         · 7a3ff9387d Mock the rest of the tests
317795
317796         · 5ce14df82c Change how members are retrieved in win_groupadd
317797
317798         · 6ab82394be Set up mocking
317799
317800       · PR  #44266:  (Ch3LL)  Add  state,  grains  and  service proxy tests @
317801         2017-10-25 13:08:50 UTC
317802
317803         · 4c23fa63bb Merge pull request #44266 from Ch3LL/proxy_tests
317804
317805         · e5701b472d Add state, grains and service proxy tests
317806
317807       · ISSUE #43187: (mirceaulinic) How to point from  an  execution  module
317808         that a certain function failed (refs: #44244)
317809
317810       · PR  #44244:  (mirceaulinic)  Add  explicit non-zero retcode to napalm
317811         config functions @ 2017-10-24 09:23:40 UTC
317812
317813         · c849f350ba Merge pull request #44244 from cloudflare/add-retcode
317814
317815         · a1f27c9f00 Add explicit non-zero retcode to napalm config functions
317816
317817       · ISSUE #44227: (rklaren) salt-cloud leaves a broken vm around when the
317818         salt bootstrap fails (refs: #44228)
317819
317820       · PR  #44228:  (rklaren)  Fixes #44227, make salt-cloud/libvirt cleanup
317821         after errors more robust @ 2017-10-23 17:09:35 UTC
317822
317823         · 195b225540      Merge      pull      request      #44228       from
317824           rklaren/fix-salt-cloud-libvirt-cleanup-after-errors
317825
317826         · 7917d1e61e Incorporate review comments.
317827
317828         · 3a10b6aef1  Fixes  #44227,  make  salt-cloud/libvirt  cleanup after
317829           errors more robust
317830
317831       · ISSUE #19532: (stolendog) salt-ssh running git clone  with  not  root
317832         user (refs: #43769)
317833
317834       · ISSUE  #10582:  (mtorromeo)  Git  ssh helper may be unable run (refs:
317835         #43769)
317836
317837       · PR  #44008:  (mtorromeo)  Backport  #43769  to  2017.7  @  2017-10-23
317838         14:19:57 UTC
317839
317840         · PR #43769: (mtorromeo) Copy git ssh-id-wrapper to /tmp only if nec‐
317841           essary (Fixes #10582, #19532) (refs: #44008)
317842
317843         · 01e7bab990 Merge pull request #44008 from mtorromeo/git-noexec-fix
317844
317845         · a7a841d9d2 Merge branch '2017.7' into git-noexec-fix
317846
317847         · d177240cfc Merge branch '2017.7' into git-noexec-fix
317848
317849         · a63e6ca963 Copy git ssh-id-wrapper to /tmp only if necessary (Fixes
317850           #10582, Fixes #19532)
317851
317852       · PR  #44202: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
317853         @ 2017-10-23 14:18:30 UTC
317854
317855         · 85c0ef493f Merge pull request #44202 from rallytime/merge-2017.7
317856
317857         · 99ff7a5c12 Merge branch '2016.11' into '2017.7'
317858
317859           · 09ddfd0c08  Merge   pull   request   #44167   from   garethgreen‐
317860             away/44140_debian_ip_fixes
317861
317862             · 5f7555846f  When  looping through the various pre, post, up and
317863               down commands put them into the interface dict using the  right
317864               internet family variable.
317865
317866           · 9f9e936b52 Merge pull request #43830 from rallytime/bp-43644
317867
317868             · 12845ae802 Several fixes for RDS DB parameter group management
317869
317870           · 07db6a3d8b  Merge  pull  request  #43994  from  oeuftete/fix-man‐
317871             age-runner-presence
317872
317873             · f3980d7d83 Fix manage.present to show lost minions
317874
317875           · a07537e258 Merge pull request #44188 from terminalmage/issue44150
317876
317877             · 0692f442db yumpkg: Check pkgname instead of name to see  if  it
317878               is a kernel pkg
317879
317880           · 715edc0cea Merge pull request #44158 from rallytime/bp-44089
317881
317882             · 534faf0b7a Catch on empty Virtualbox network addr #43427
317883
317884       · PR  #44208:  (twangboy)  Fix  some  lint  in  PR:  44080 @ 2017-10-20
317885         16:42:02 UTC
317886
317887         · d7dc2bd0e8    Merge    pull    request    #44208    from     twang‐
317888           boy/win_fix_group.present
317889
317890         · 61e2e9ccda Fix some lint
317891
317892       · PR  #43843:  (twangboy)  Fix  unit.states.test_mount  for  Windows  @
317893         2017-10-20 14:27:25 UTC
317894
317895         · c6d27ada51    Merge    pull    request    #43843    from     twang‐
317896           boy/win_unit_test_mount
317897
317898         · a862e0bf2d Remove unneeded import
317899
317900         · d78f27466d Fix unit.states.test_mount for Windows
317901
317902       · PR  #44111:  (anlutro)  Try  to  correctly parse debian codename from
317903         /etc/os-release @ 2017-10-19 22:23:26 UTC
317904
317905         · 372820ea38 Merge pull request #44111 from  alprs/fix-deb8-py3-osco‐
317906           dename
317907
317908         · 1e1e5a3ff6   try   to   correctly   parse   debian   codename  from
317909           /etc/os-release
317910
317911       · PR #44187: (twangboy) Fix pickling errors  on  Windows  @  2017-10-19
317912         20:36:51 UTC
317913
317914         · 75136152c1     Merge    pull    request    #44187    from    twang‐
317915           boy/win_fix_unit_test_daemons.py
317916
317917         · 64d2e4f732 Fix pickling errors on Windows
317918
317919       · ISSUE #44181: (jonans) Scheduler with multiple  when  values  doesn't
317920         run (refs: #44186)
317921
317922       · PR  #44186:  (garethgreenaway)  [2017.7] scheduler fixes @ 2017-10-19
317923         20:36:04 UTC
317924
317925         · 7a89cd8697   Merge   pull   request   #44186   from    garethgreen‐
317926           away/44181_scheduler_multiple_whens
317927
317928         · 7eef3b3571  Adding  a  copy.deepcopy to the for loop that looks for
317929           old jobs to avoid stale jobs ending up in the list.
317930
317931       · PR #43896: (twangboy) Fix  win_lgpo  execution  module  @  2017-10-19
317932         20:13:18 UTC
317933
317934         · 1d16ae8ba7     Merge    pull    request    #43896    from    twang‐
317935           boy/win_fix_lgpo_scom
317936
317937         · 648d1b8d99 Catch CommandExecutionError
317938
317939         · 0040082d0a Fix pylint error
317940
317941         · 91258cd6a8 Fix typo
317942
317943         · 261dba347d Put the file.remove in a try/except/else block
317944
317945         · 020c2a2b85 Fix syntax error
317946
317947         · d5bec99126 Fix some lint
317948
317949         · b96186d60d Fix INSTALL_LANGUAGE
317950
317951         · 5471bd521f Fix problem with file handle
317952
317953         · 5ec58c6200 Use System Install Language as default fallback
317954
317955         · f9ad446019 Fix win_lgpo execution module
317956
317957       · PR #44080: (twangboy) Fix a regression in group.present in Windows  @
317958         2017-10-19 20:10:44 UTC
317959
317960         · 98356b86af     Merge    pull    request    #44080    from    twang‐
317961           boy/win_fix_group.present
317962
317963         · 29bc80ff87 Improve get_sam_name
317964
317965         · ef759a3875 Fix example in function docs for get_sam_name
317966
317967         · 43740c5fed Document 15 character limit
317968
317969         · 83f36cc2ef Account for 15 character limit in hostname
317970
317971         · aa278966de Remove *args, pass gid as a keyword
317972
317973         · 5230ecd7e1 Accept *args
317974
317975       · PR #44171: (Ch3LL) Add  SPM  Build  Integration  Tests  @  2017-10-19
317976         19:49:14 UTC
317977
317978         · 5ef124bf2d Merge pull request #44171 from Ch3LL/spm_int
317979
317980         · cd79e9444e remove unneded kwarg
317981
317982         · 1541376c4f Add spm build test
317983
317984       · PR  #44157:  (benediktwerner)  Added  'versionadded' tags to sensehat
317985         modules @ 2017-10-19 14:13:31 UTC
317986
317987         · 34a843252d Merge pull request #44157 from benediktwerner/2017.7
317988
317989         · bd825b51cc Changed sensehat versionadded from 2017.7 to 2017.7.0
317990
317991         · f1d3c5bbcf Added 'versionadded' tags to sensehat modules
317992
317993       · PR   #44164:   (terminalmage)    Fix    examples    in    docker_con‐
317994         tainer.{stopped,absent} docstrings @ 2017-10-19 14:12:37 UTC
317995
317996         · 1427c72e1e    Merge    pull    request    #44164   from   terminal‐
317997           mage/fix-docker-docstring
317998
317999         · 7b46489e33 Fix examples in  docker_container.{stopped,absent}  doc‐
318000           strings
318001
318002       · PR  #44168:  (twangboy)  Fix  unit.test_auth for Windows @ 2017-10-19
318003         14:12:22 UTC
318004
318005         · 77969c4161    Merge    pull    request    #44168    from     twang‐
318006           boy/win_skip_pam_eath
318007
318008         · bb1d2eb85b Skip tests that are failing on PAM eauth
318009
318010       · PR  #44151: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
318011         @ 2017-10-18 16:52:30 UTC
318012
318013         · 88a776d9d2 Merge pull request #44151 from rallytime/merge-2017.7
318014
318015         · 6aa8f03a4a Merge branch '2016.11' into '2017.7'
318016
318017           · 0cd493b691 Merge pull request #44131 from rallytime/bp-44029
318018
318019             · bebf301976 fixed test addressing issue #43307, disk.format_  to
318020               disk.format
318021
318022             · b4ba7ae2fc addresses issue #43307, disk.format_ to disk.format
318023
318024           · 3a68e356f8 Merge pull request #44093 from gtmanfred/fix-44087
318025
318026             · 5455c5053b fix pylint
318027
318028             · f749cafa25 don't filter if return is not a dict
318029
318030           · c785d7a847  Merge  pull request #44122 from cachedout/gpg_pr_tem‐
318031             plate
318032
318033             · e41e3d76be Typo fix
318034
318035             · 37c7980880 Add note about GPG signing to PR template
318036
318037           · bf90ea1f51 Merge pull request #44124 from rallytime/merge-2016.11
318038
318039             · 59861291c8 Merge branch '2016.11.8' into '2016.11'
318040
318041               · 57623e2abe Merge pull request #44028 from rallytime/bp-44011
318042
318043                 · 89e084bda3 Do not allow IDs with null bytes in decoded pay‐
318044                   loads
318045
318046                 · 206ae23f15 Don't allow path separators in minion ID
318047
318048           · 13f3ffa83a Merge pull request #44097 from gtmanfred/openneb
318049
318050             · c29655b2c2 Merge branch '2016.11' into openneb
318051
318052             · bd2490b149  OpenNebula  does  not require the template_id to be
318053               specified
318054
318055           · ac3e4df964   Merge    pull    request    #44110    from    roald‐
318056             nefs/fix-doc-local-returner
318057
318058             · efd58f7594 Merge branch '2016.11' into fix-doc-local-returner
318059
318060             · 881f1822f2 Format fix code example local returner doc
318061
318062       · ISSUE  #43918:  (mwerickso)  subset argument does not work with salt‐
318063         mod.state (refs: #43933)
318064
318065       · PR #43933: (gtmanfred) if expect_minions is passed use that instead @
318066         2017-10-18 16:43:39 UTC
318067
318068         · 0b47eb7242 Merge pull request #43933 from gtmanfred/2017.7
318069
318070         · 272dcc6ba5 add inline comment about popping expect_minions
318071
318072         · b615ce1762 if expect_minions is passed use that instead
318073
318074       · PR   #44081:  (skizunov)  Windows:  Fix  usage  of  pkgrepo  state  @
318075         2017-10-18 16:16:46 UTC
318076
318077         · 36da1a7fac Merge pull request #44081 from skizunov/develop3
318078
318079         · 351d16840b Move strip_uri to salt/utils/pkg/deb.py
318080
318081         · f54c7a6f01 Windows: Fix usage of pkgrepo state
318082
318083       · PR #43913: (twangboy) Fix  unit.templates.test_jinja  for  Windows  @
318084         2017-10-17 21:09:05 UTC
318085
318086         · afcaa0c591     Merge    pull    request    #43913    from    twang‐
318087           boy/win_fix_test_jinja
318088
318089         · a4e2d8059d Fix unit.templates.test_jinja for Windows
318090
318091       · PR #43917: (twangboy) Fix unit.test_pillar for Windows  @  2017-10-17
318092         21:06:46 UTC
318093
318094         · fc5754c6a1     Merge    pull    request    #43917    from    twang‐
318095           boy/win_unit_test_pillar
318096
318097         · 00dbba5712 Fix unit.test_pillar for Windows
318098
318099       · PR #44133: (cachedout) Fix typos in parallel states docs @ 2017-10-17
318100         15:24:19 UTC
318101
318102         · 6252f82f58   Merge  pull  request  #44133  from  cachedout/fix_par‐
318103           alell_docs
318104
318105         · 8d1c1e21f0 Fix typos in paralell states docs
318106
318107       · PR #44135: (timfreund) Insert missing verb  in  gitfs  walkthrough  @
318108         2017-10-17 14:32:13 UTC
318109
318110         · 0d3f5db867  Merge  pull  request #44135 from timfreund/insert_miss‐
318111           ing_verb
318112
318113         · 9557504b75 Insert missing verb in gitfs walkthrough
318114
318115       · PR #44055: (nasenbaer13) Activate jid_queue also for SingleMinions to
318116         workaround (Backport) @ 2017-10-16 20:14:52 UTC
318117
318118         · PR  #43860: (nasenbaer13) Activate jid_queue also for SingleMinions
318119           (occurs on reconnect) (refs: #44055)
318120
318121         · a9700f6061 Merge pull request #44055 from eyj/jid_queue
318122
318123         · 4bdd5bbf6b Merge branch '2017.7' into jid_queue
318124
318125         · facef2227d Merge branch '2017.7' into jid_queue
318126
318127         · 2fedcec6bb Merge branch '2017.7' into jid_queue
318128
318129         · 255aa94c64 Activate jid_queue also for SingleMinions to  workaround
318130           0mq reconnection issues
318131
318132       · PR #44125: (rallytime) [2017.7] Merge forward from 2017.7.2 to 2017.7
318133         @ 2017-10-16 20:02:25 UTC
318134
318135         · 2fba45cd3f Merge pull request #44125 from rallytime/merge-2017.7
318136
318137         · c4ae4a6b50 Merge branch '2017.7.2' into '2017.7'
318138
318139           · 5d719a2219 Merge pull request #44027 from rallytime/bp-44012
318140
318141           · f7824e41f3 Don't allow path separators in minion ID
318142
318143           · 44060dc9c1 Do not allow IDs with null bytes in decoded payloads
318144
318145       · ISSUE #43307: (marek-knappe) Filesystem creation is failing on  newly
318146         created LV (refs: #44029)
318147
318148       · PR  #44029:  (msummers42)  addresses  issue  #43307,  disk.format_ to
318149         disk.format (refs: #44131) @ 2017-10-16 19:59:20 UTC
318150
318151         · 68974aa74d Merge pull request #44029 from msummers42/2017.7
318152
318153         · 16e1c1dfc8 fixed test  addressing  issue  #43307,  disk.format_  to
318154           disk.format
318155
318156         · 3d597db51c Merge branch '2017.7' into 2017.7
318157
318158         · 18fb0be96a addresses issue #43307, disk.format_ to disk.format
318159
318160       · PR   #44079:  (skizunov)  opkg:  Fix  usage  with  pkgrepo.managed  @
318161         2017-10-16 19:58:13 UTC
318162
318163         · d0bbe65ffa Merge pull request #44079 from skizunov/develop2
318164
318165         · 0614d1af30 Merge branch '2017.7' into develop2
318166
318167         · b6b12fe495 opkg: Fix usage with pkgrepo.managed
318168
318169       · PR #44090: (pratik705) Fix  create_attach_volumes  salt-cloud  action
318170         for gcp @ 2017-10-16 19:04:22 UTC
318171
318172         · 22a8253595   Merge  pull  request  #44090  from  pratik705/fix-cre‐
318173           ate_attach_volumes_salt-cloud_action-GCP
318174
318175         · 3eefd334c5 Fixed "create_attach_volumes" salt-cloud action for GCP
318176
318177       · PR #44121: (benediktwerner) Fixed code snippet in unit testing  docu‐
318178         mentation @ 2017-10-16 18:28:36 UTC
318179
318180         · 888e5f51a2 Merge pull request #44121 from benediktwerner/2017.7
318181
318182         · 1319c822bd Fixed code snippet in unit testing doc
318183
318184       · PR  #44098:  (twangboy)  Return multiprocessing queue in LogSetupMock
318185         class @ 2017-10-16 18:14:30 UTC
318186
318187         · 9fe94d7843    Merge    pull    request    #44098    from     twang‐
318188           boy/win_mock_test_parsers
318189
318190         · cc43ca27af Return multiprocessing queue in LogSetupMock class
318191
318192       · PR  #44118: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
318193         @ 2017-10-16 17:01:38 UTC
318194
318195         · 0ee04eaf1d Merge pull request #44118 from rallytime/merge-2017.7
318196
318197         · bbec47afbc Merge branch '2016.11' into '2017.7'
318198
318199           · c960ca32c2 Merge pull request #44092 from techhat/awsunicode
318200
318201             · bbd9db4d00 One more encoding
318202
318203             · 0e8b325667 Apparently __salt_system_encoding__ is a thing
318204
318205             · 1e7211838d Use system encoding
318206
318207             · 1af21bbe5e Made sure that unicoded data is sent to sha256()
318208
318209           · d89c317d96     Merge      pull      request      #44021      from
318210             whiteinge/cpstats-attribute-error
318211
318212             · bf14e5f578  Also  catch cpstats AttributeError for bad CherryPy
318213               release ~5.6.0
318214
318215           · bbdabe242a Merge pull request #44025 from dayid/lover_typo
318216
318217             · 385980c21a       Merge        branch        '2016.11'        of
318218               https://github.com/saltstack/salt into lover_typo
318219
318220             · 266dc00a23 Typo correction of lover to lower
318221
318222           · d8f3891a5e Merge pull request #44030 from rallytime/merge-2016.11
318223
318224             · 53eaf0d75c Merge branch '2016.3' into '2016.11'
318225
318226             · 64fd839377  Merge  pull request #44010 from Ch3LL/2016.3.7_fol‐
318227               low_up
318228
318229               · 9a00302cd8 fix 2016.3.7 release notes merge conflict
318230
318231               · 63da1214db Do not allow IDs with null bytes in  decoded  pay‐
318232                 loads
318233
318234               · ee792581fc Don't allow path separators in minion ID
318235
318236               · 8aab65c718 fix 2016.3.7 release notes merge conflict
318237
318238             · bd73dcb02c Merge pull request #43977 from Ch3LL/3.8_sec
318239
318240             · 5fb3f5f6b1 Add Security Notes to 2016.3.8 Release Notes
318241
318242       · PR  #44099: (twangboy) Skip Master, Minion, and Syndic parser tests @
318243         2017-10-16 16:07:00 UTC
318244
318245         · 28fa097b9b    Merge    pull    request    #44099    from     twang‐
318246           boy/win_skip_test_parsers
318247
318248         · caf086c05a Skip Master, Minion, and Syndic parser tests
318249
318250       · PR  #44106:  (roaldnefs)  Fix  mattermost  returner  documentation  @
318251         2017-10-16 13:12:23 UTC
318252
318253         · dbf112ead7 Merge pull request #44106 from roaldnefs/fix-doc-matter‐
318254           most_returner
318255
318256         · b3761a0401 Fix doc indentation in mattermost_returner
318257
318258       · PR  #44054: (nasenbaer13) Backport of missing delete_on_termination @
318259         2017-10-13 15:45:25 UTC
318260
318261         · PR  #43859:   (nasenbaer13)   Add   missing   delete_on_termination
318262           passthrough. Adapt docs. (refs: #44054)
318263
318264         · fd2c51b76c Merge pull request #44054 from eyj/boto_lc
318265
318266         · 34d4629a64 Merge branch '2017.7' into boto_lc
318267
318268         · 9efd63526a Adapted documentation of delete_on_termination parameter
318269
318270         · eb2bfd047b  Add  missing  delete_on_termination  passthrough. Adapt
318271           docs.
318272
318273       · PR #44076: (Ch3LL) Add spm shell tests @ 2017-10-13 14:32:19 UTC
318274
318275         · b61ed96268 Merge pull request #44076 from Ch3LL/spm_test
318276
318277         · d2e91c33bd Add spm shell tests
318278
318279       · PR #44051: (twangboy) Fix some documentation formatting issues in the
318280         win_dacl state @ 2017-10-12 15:40:17 UTC
318281
318282         · e38f313ac0     Merge    pull    request    #44051    from    twang‐
318283           boy/win_fix_docs_dacl
318284
318285         · 377d6b6171 Fix some docs in the win_dacl state module
318286
318287       · PR #44066: (Ch3LL) Add Known CherryPy Issue to 2017.7.2 Release Notes
318288         @ 2017-10-12 15:18:25 UTC
318289
318290         · a85837d72b Merge pull request #44066 from Ch3LL/cherry_release
318291
318292         · 8e597fcce9 Add Known CherryPy Issue to 2017.7.2 Release Notes
318293
318294       · ISSUE  #43643:  (doublez13)  salt-ssh:  multiple  targets fails after
318295         upgrade to 2017.7 (refs: #43889)
318296
318297       · ISSUE #43449: (ecgg) salt-ssh  -L  with  hosts  down  or  unreachable
318298         returns wrong results (refs: #43889)
318299
318300       · PR  #43889:  (CorvinM) Fix issue with using roster_defaults with flat
318301         or cloud rosters.  @ 2017-10-11 23:22:11 UTC
318302
318303         · fcab77ac7b Merge pull request #43889 from CorvinM/issue43449
318304
318305         · fefd28d896 Add futureproofing to roster_defaults to support  roster
318306           dictionary options
318307
318308         · aebe76b6f8  Fix issue with using roster_defaults with flat or cloud
318309           rosters. fixes #43449 fixes #43643
318310
318311       · PR #44031: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
318312         @ 2017-10-11 22:03:31 UTC
318313
318314         · 3ad1c6d1d9 Merge pull request #44031 from rallytime/merge-2017.7
318315
318316         · 1d4a6c3949 Lint: Fixup undefined variable errors
318317
318318         · 788ad0609a Merge branch '2016.11' into '2017.7'
318319
318320           · 0dbf41e79e  Merge  pull  request #44011 from Ch3LL/2016.11.7_fol‐
318321             low_up
318322
318323             · c0149101c0 Do not allow IDs with null bytes in decoded payloads
318324
318325             · 19481423dd Don't allow path separators in minion ID
318326
318327           · d61300df20 Merge pull request #44023 from Ch3LL/11.9rn
318328
318329             · 7f9015eb41 Add 2016.11.9 Release Note File
318330
318331           · 9ff53bf63a Merge pull request #44019 from benediktwerner/2016.11
318332
318333             · bc53598027 Fixed spelling mistake in salt_bootstrap tutorial
318334
318335             · 6c30344824 Added missing tutorial docs to the tutorial index
318336
318337           · 364523f5f8 Merge pull request #43955 from meaksh/2016.11-fix-2291
318338
318339             · a81b78381b Merge branch '2016.11' into 2016.11-fix-2291
318340
318341             · 44bc91bb98 Enable '--with-salt-version' parameter for  setup.py
318342               script
318343
318344           · fec714b91d Merge pull request #43962 from bobrik/kmod-built-in
318345
318346             · 95ab901553  Report  built-in  modiles  in kmod.available, fixes
318347               #43945
318348
318349           · e434c39c4e Merge pull request #43960 from cro/ldap_nopw_bind2
318350
318351             · 962a20cf4b Require that bindpw be non-empty if auth.ldap.anony‐
318352               mous=False
318353
318354             · 9df3d91d8f  Release  notes  blurb for change to bindpw require‐
318355               ments
318356
318357           · e9dfda2177 Merge pull request #43991 from Ch3LL/3.8_sec_2
318358
318359             · 1977df8462 Add Security Notes to 2016.3.8 Release Notes
318360
318361           · 2346d2691e   Merge   pull   request   #43968    from    rossenge‐
318362             orgiev/fix-zenoss-prod_state
318363
318364             · e6d31c1ea6 fix zenoss state module not respecting test=true
318365
318366           · 8d56a5ac45 Merge pull request #43776 from Ch3LL/2016.11.8_docs
318367
318368             · f72bc00000 [2016.11] Bump latest and previous versions
318369
318370           · 21bf71c3f5 Merge pull request #43976 from Ch3LL/11.8_sec
318371
318372             · f0c3184288 Add Security Notes to 2016.11.8 Release Notes
318373
318374           · 1d5397ab5b    Merge    pull   request   #43973   from   terminal‐
318375             mage/fix-grains.has_value
318376
318377             · bf45ae6e6a Fix grains.has_value when value is False
318378
318379           · 9ac3f2ea7b Merge pull request #43888 from rallytime/bp-43841
318380
318381             · 87d676f08a add -n with netstat so we don't resolve
318382
318383           · f880ac4c08   Merge   pull    request    #43916    from    dereck‐
318384             son/fix-typo-cloud-scaleway
318385
318386             · 15b8b8a9f4 Fix typo in salt-cloud scaleway documentation
318387
318388       · PR  #44045:  (isbm)  Bugfix: always return a string "list" on unknown
318389         job target type.  @ 2017-10-11 21:58:12 UTC
318390
318391         · 5db1e8c6ca  Merge   pull   request   #44045   from   isbm/isbm-tgt‐
318392           type-fix-2017-port
318393
318394         · 471ff35c2f  Bugfix:  always  return  a string "list" on unknown job
318395           target type.
318396
318397       · ISSUE  #43949:  (arthurlogilab)  [logger]  [sentry]  KeyError:  'SEN‐
318398         TRY_PROJECT' (refs: #43950)
318399
318400       · PR  #44026:  (rallytime)  Back-port  #43950  to  2017.7  @ 2017-10-11
318401         15:27:49 UTC
318402
318403         · PR  #43950:  (arthurlogilab)  [log/sentry]  avoid  KeyError:  'SEN‐
318404           TRY_PROJECT' (refs: #44026)
318405
318406         · 6c8f7fd5ec Merge pull request #44026 from rallytime/bp-43950
318407
318408         · a37e0bad62 [log/sentry] avoid KeyError: 'SENTRY_PROJECT'
318409
318410       · PR  #44012:  (Ch3LL)  Security  Fixes  for  2017.7.2 (refs: #44027) @
318411         2017-10-10 20:04:08 UTC
318412
318413         · 369ee8a132 Merge pull request #44012 from Ch3LL/2017.7.1_follow_up
318414
318415         · 92e05cf1c0 Don't allow path separators in minion ID
318416
318417         · 70133aa305 Do not allow IDs with null bytes in decoded payloads
318418
318419       · PR #44024: (Ch3LL)  Add  2017.7.3  Release  Note  File  @  2017-10-10
318420         20:03:12 UTC
318421
318422         · 4fe029a0ab Merge pull request #44024 from Ch3LL/7.3rn
318423
318424         · 027f509368 Add 2017.7.3 Release Note File
318425
318426       · ISSUE  #43997: (unthought) gce cloud provider breaks for make_master:
318427         True (refs: #43998)
318428
318429       · PR #43998: (unthought) Fix gce make_master @ 2017-10-10 20:01:25 UTC
318430
318431         · e484d16817      Merge      pull      request      #43998       from
318432           unthought/fix-gce-make_master
318433
318434         · 6e9f0fa24e Fix GCE provider: #create returns bootstrap result
318435
318436       · ISSUE  #44013:  (DenisBY)  pkgrepo.managed  broken in 2017.7.2 (refs:
318437         #44016)
318438
318439       · PR #44016: (terminalmage) Fix on_header callback when not redirecting
318440         and no Content-Type present @ 2017-10-10 19:59:24 UTC
318441
318442         · 82b92d54b3 Merge pull request #44016 from terminalmage/issue44013
318443
318444         · d594b95f92  No  need  to set a specific encoding if one hasn't been
318445           provided via the headers
318446
318447         · 425ede4b84 Fix on_header callback when not redirecting and no  Con‐
318448           tent-Type present
318449
318450       · PR  #43952:  (t0fik) add requisites to stateconf ( backport #43920) @
318451         2017-10-10 13:03:31 UTC
318452
318453         · PR #43920: (t0fik) Added missing requisites to  stateconf  renderer
318454           (refs: #43952)
318455
318456         · bd879eb66e Merge pull request #43952 from jdsieci/2017.7_add_requi‐
318457           sites_to_stateconf
318458
318459         · 9994c64670   Merge   branch   '2017.7'    into    2017.7_add_requi‐
318460           sites_to_stateconf
318461
318462       · PR  #43777:  (Ch3LL)  [2017.7]  Bump  latest  and previous versions @
318463         2017-10-09 17:21:57 UTC
318464
318465         · a4358dfa36 Merge pull request #43777 from Ch3LL/2017.7.2_docs
318466
318467         · 410c624f7a [2017.7] Bump latest and previous versions
318468
318469       · PR #43978: (Ch3LL) Add Security Notes to  2017.7.2  Release  Notes  @
318470         2017-10-09 17:20:04 UTC
318471
318472         · 2a064c1a72 Merge pull request #43978 from Ch3LL/7.2_sec
318473
318474         · 57fd6f7bcb Add Security Notes to 2017.7.2 Release Notes
318475
318476       · PR  #43932:  (techhat) Don't try to modify dict while looping through
318477         it @ 2017-10-06 21:20:54 UTC
318478
318479         · d9530e3c52 Merge pull request #43932 from techhat/moddict
318480
318481         · 4a77560646 Don't try to modify dict while looping through it
318482
318483       · PR #43956: (terminalmage) Fix fileclient's get_url  when  redirecting
318484         to a redirect @ 2017-10-06 21:19:41 UTC
318485
318486         · 39893a1dab    Merge    pull    request    #43956   from   terminal‐
318487           mage/fix-get_url-redirects
318488
318489         · 9a4f6a260f Fix fileclient's get_url when redirecting to a redirect
318490
318491       · PR  #43943:  (twangboy)  Fix  unit.utils.test_utils  for  Windows   @
318492         2017-10-06 19:35:24 UTC
318493
318494         · 1baf286719     Merge    pull    request    #43943    from    twang‐
318495           boy/win_unit_test_utils
318496
318497         · 254dac7723 Fix unit.utils.test_utils for Windows
318498
318499              · 89200ff28e rebase from 2017.7.2
318500
318501       · PR #43939: (terminalmage)  Fix  typo  in  log  message  @  2017-10-05
318502         23:20:04 UTC
318503
318504         · a8f1750323 Merge pull request #43939 from terminalmage/fix-typo
318505
318506         · 29d8cf4f26 Fix typo in log message
318507
318508       · ISSUE  #43909:  (frogunder)  state.highstate not working on py3 setup
318509         (refs: #43910)
318510
318511       · ISSUE #43605:  (cruscio)  Module.Run:  Passed  invalid  arguments  to
318512         state.apply:  can't  serialize dict_keys(['task.create_task']) (refs:
318513         #43910)
318514
318515       · PR #43910: (terminalmage) Don't put unserializable  dict.keys()  into
318516         state return @ 2017-10-05 20:33:47 UTC
318517
318518         · 1a718eb1ed Merge pull request #43910 from terminalmage/issue43605
318519
318520         · 042e092ac8 Don't put unserializable dict.keys() into state return
318521
318522       · ISSUE  #41894:  (DR3EVR8u8c) Salt-cloud can't resize root volume with
318523         public ami images (refs: #43907)
318524
318525       · ISSUE  #39257:  (aig787)  Using  del_root_vol_on_destroy  option   in
318526         salt-cloud gives IndexError (refs: #43907)
318527
318528       · PR  #43927:  (rallytime)  Back-port  #43907  to  2017.7  @ 2017-10-05
318529         20:10:16 UTC
318530
318531         · PR #43907: (richardsimko) Make sure EBS volume exists before query‐
318532           ing (refs: #43927)
318533
318534         · PR  #33115:  (rbjorklin)  Fix  override  of  ec2  volumetype (refs:
318535           #43907)
318536
318537         · a7a59868c8 Merge pull request #43927 from rallytime/bp-43907
318538
318539         · f62e8ca87f Make sure volume exists before querying
318540
318541       · PR #43934: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
318542         @ 2017-10-05 20:07:36 UTC
318543
318544         · 4fcd4709ea Merge pull request #43934 from rallytime/merge-2017.7
318545
318546         · eaca3291e2 Merge branch '2016.11' into '2017.7'
318547
318548           · 2ab7549d48 Merge pull request #43884 from UtahDave/2016.11local
318549
318550             · e3b2857285 Merge branch '2016.11' into 2016.11local
318551
318552           · 4b882d4272 Merge pull request #43869 from terminalmage/issue43522
318553
318554             · fe28b0d4fb Only join cmd if it's not a string
318555
318556             · 8c671fd0c1 Update SaltConf banner per Rhett's request
318557
318558           · a2161efda3 Merge pull request #43707 from terminalmage/issue43373
318559
318560             · 3ebde1895f Merge branch '2016.11' into issue43373
318561
318562             · e580ed4caa Merge branch '2016.11' into issue43373
318563
318564             · 5b3be6e8af Fix failing unit test
318565
318566             · f73764481b  Add  missing  support  for use/use_in requisites to
318567               state.sls_id
318568
318569       · ISSUE #43658: (kvnaveen) KeyError: 'as_dict'  [DEBUG    ]  LazyLoaded
318570         nested.output (refs: #43886)
318571
318572       · PR  #43886:  (techhat)  Fix  object_to_dict  in  azure  @  2017-10-05
318573         19:33:56 UTC
318574
318575         · 7d174172a0 Merge pull request #43886 from techhat/azuredict
318576
318577         · 223a1eea83 Fix object_to_dict in azure
318578
318579       · PR #43899: (gtmanfred) enable tox for tests @ 2017-10-04 15:08:16 UTC
318580
318581         · 7038248820 Merge pull request #43899 from gtmanfred/2017.7
318582
318583         · 51eca1a6bd enable tox for tests
318584
318585       · PR #43828: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
318586         @ 2017-10-04 13:10:13 UTC
318587
318588         · a5abe33e1c Merge pull request #43828 from rallytime/merge-2017.7
318589
318590         · 2ff02e4320 Merge branch '2016.11' into '2017.7'
318591
318592           · 85b3aa332a Merge pull request #43807 from terminalmage/issue43522
318593
318594             · d8708bf698 cmdmod: Don't list-ify string commands on Windows
318595
318596           · ea8d273c2b Merge pull request #43768 from vutny/fix-pylint-depre‐
318597             cation-warnings
318598
318599             · f8b3fa9da1  Merge  branch  '2016.11'  into  fix-pylint-depreca‐
318600               tion-warnings
318601
318602             · 651ed16ad3 Fix Pylint deprecated option warnings
318603
318604       · PR #43854: (keesbos) Map __env__ in git_pillar before sanity checks @
318605         2017-10-02 20:44:53 UTC
318606
318607         · PR #43656: (keesbos) Git pillar fixes (refs: #43854)
318608
318609         · 36b0b1174b Merge pull request #43854 from keesbos/2017.7
318610
318611         · fba9c9a935 Map __env__ in git_pillar before sanity checks
318612
318613       · PR #43847: (cachedout) Fix to module.run @ 2017-10-02 19:25:03 UTC
318614
318615         · c81e8457b8 Merge pull request #43847 from cachedout/module_run_com‐
318616           pare
318617
318618         · b11f8c8f29 Merge pull request #17 from terminalmage/pr-43847
318619
318620           · 93eaba7c54 Use six.iterkeys() instead of dict.keys()
318621
318622           · 5d56a03a67 Improve failures for module.run states
318623
318624         · 71780beb5a Merge branch '2017.7' into module_run_compare
318625
318626       · ISSUE  #43819: (mephi42) archive.extracted shows the http password in
318627         the comment field on failure (refs: #43844)
318628
318629       · PR #43844: (garethgreenaway) [2017.7] Changes to  states/file.py  and
318630         states/archived.py @ 2017-10-01 09:08:48 UTC
318631
318632         · dd01e0ce67    Merge   pull   request   #43844   from   garethgreen‐
318633           away/43819_redact_url_additions
318634
318635         · c58c72aff9 When using URLs in  archive.extracted,  on  failure  the
318636           username    &    password    is    in   the   exception.    Calling
318637           salt.utils.url.redact_http_basic_auth to ensure the credentials are
318638           redacted.
318639
318640           · f0b985cbbe      Merge      branch     'module_run_compare'     of
318641             ssh://github.com/cachedout/salt into module_run_compare
318642
318643             · aefc773c2f Merge branch '2017.7' into module_run_compare
318644
318645       · PR #43840:  (twangboy)  Fix  unit.states.test_augeas  for  Windows  @
318646         2017-09-29 21:53:21 UTC
318647
318648         · 1f52546eab     Merge    pull    request    #43840    from    twang‐
318649           boy/win_fix_test_augeas
318650
318651         · fd1d6c31de Fix unit.states.test_augeas for Windows
318652
318653       · ISSUE #43553: (dafyddj)  Vagrant  setup  (Windows  guest)  broken  on
318654         upgrade to 2017.7 (refs: #43801)
318655
318656       · PR    #43801:   (terminalmage)   Properly   handle   UNC   paths   in
318657         salt.utils.path.readlink() @ 2017-09-29 09:58:02 UTC
318658
318659         · c6fd2cd452 Merge pull request #43801 from terminalmage/issue43553
318660
318661         · 66e6e89dc7 Properly handle UNC paths in salt.utils.path.readlink()
318662
318663       · PR #43800: (Ch3LL) Add note to nitrogen release notes about  pip  for
318664         cent6 @ 2017-09-28 17:36:49 UTC
318665
318666         · 7304907db6 Merge pull request #43800 from Ch3LL/update_7.0
318667
318668         · 50779c3b1c Add note to nitrogen release notes about pip for cent6
318669
318670       · PR  #43779:  (twangboy)  Fix  unit.modules.test_state  for  Windows @
318671         2017-09-28 14:27:03 UTC
318672
318673         · 6f687fdcff    Merge    pull    request    #43779    from     twang‐
318674           boy/win_fix_test_state
318675
318676         · a64fe75816 Use os agnostic paths
318677
318678       · PR  #43782:  (twangboy)  Fix  unit.modules.test_virt  for  Windows  @
318679         2017-09-28 14:25:16 UTC
318680
318681         · db0f569f7a    Merge    pull    request    #43782    from     twang‐
318682           boy/win_fix_test_virt
318683
318684         · 7192332758 Fix unit.modules.test_virt for Windows
318685
318686       · PR #43723: (nicholasmhughes) Fix ini_manage error and change handling
318687         @ 2017-09-28 09:52:09 UTC
318688
318689         · dd4fc52f1e Merge pull request #43723 from  nicholasmhughes/ini_man‐
318690           age-error-handling
318691
318692         · d68c5c4be0 prevent exception when test=True
318693
318694         · cfe37916c3 handling changes per section
318695
318696         · 1c484f6ad5 prevent exception when test=True
318697
318698       · PR  #43781:  (twangboy)  Fix  unit.modules.test_status  for Windows @
318699         2017-09-28 09:06:19 UTC
318700
318701         · 5e29507c21    Merge    pull    request    #43781    from     twang‐
318702           boy/win_fix_test_status
318703
318704         · 16ae8253c1 Mock which, use os.linesep for cmd.run return
318705
318706       · PR   #43785:  (twangboy)  Fix  unit.modules.test_znc  for  Windows  @
318707         2017-09-28 08:56:11 UTC
318708
318709         · 05c78ae649 Merge pull request #43785 from twangboy/win_fix_test_znc
318710
318711         · 7d90721f6b Merge branch '2017.7' into win_fix_test_znc
318712
318713         · 228e74c8e3 Fix unit.modules.test_znc for Windows
318714
318715       · PR #43786: (twangboy)  Fix  unit.modules.test_zypper  for  Windows  @
318716         2017-09-28 08:51:59 UTC
318717
318718         · 10ddb8491c     Merge    pull    request    #43786    from    twang‐
318719           boy/win_fix_test_zypper
318720
318721         · 1c05e37a66 Merge branch '2017.7' into win_fix_test_zypper
318722
318723         · aafec7ab0e Fix unit.modules.test_zypper for Windows
318724
318725       · PR #43773: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
318726         @ 2017-09-28 08:48:39 UTC
318727
318728         · 9615ca32d5 Merge pull request #43773 from rallytime/merge-2017.7
318729
318730         · f7035ed7da Merge branch '2017.7' into merge-2017.7
318731
318732         · dfef4a722c Merge branch '2016.11' into '2017.7'
318733
318734           · 1a8cc60bb4 Merge pull request #43772 from gtmanfred/2016.11
318735
318736             · 0194c60960 dont print Minion not responding with quiet
318737
318738           · 9dee896fb9 Merge pull request #43747 from rallytime/gpg-verifica‐
318739             tion
318740
318741             · 7a70de19f4 Merge branch '2016.11' into gpg-verification
318742
318743             · 23bb4a5dde Add GPG Verification section to Contributing Docs
318744
318745       · PR #43784: (twangboy) Fix unit.modules.test_win_service @  2017-09-28
318746         03:14:39 UTC
318747
318748         · 9a9cc69d55     Merge    pull    request    #43784    from    twang‐
318749           boy/win_fix_test_win_service
318750
318751         · 058e50e530 Fix unit.modules.test_win_service
318752
318753       · PR #43774:  (The-Loeki)  typo  fix  aka  what  is  a  'masterarpi'  @
318754         2017-09-27 18:52:19 UTC
318755
318756         · 1254da1df5 Merge pull request #43774 from The-Loeki/patch-1
318757
318758         · 84bbe85e60 typo fix aka what is a 'masterarpi'
318759
318760       · PR  #43732: (twangboy) Skip unit.stats.test_mac_packages on Windows @
318761         2017-09-27 14:48:08 UTC
318762
318763         · 3f888753d4    Merge    pull    request    #43732    from     twang‐
318764           boy/win_skip_mac_pkg_tests
318765
318766         · 1c01e06097 Only skip test on Windows
318767
318768         · ec99a3ce3c Fix lint error
318769
318770         · 61f8a2f7ff Skip mac specific tests
318771
318772       · PR  #43761:  (Ch3LL) Release Notes for 2017.7.2 @ 2017-09-27 14:34:52
318773         UTC
318774
318775         · fb86935d99 Merge pull request #43761 from Ch3LL/release_2017.7.2
318776
318777         · caf5795856 add mac patch notes
318778
318779         · 3d5fce0955 Add 2017.7.2 Release Notes
318780
318781       · PR #43767: (twangboy) Skip  unit.modules.test_snapper  on  Windows  @
318782         2017-09-27 14:10:27 UTC
318783
318784         · 5ea603cf16     Merge    pull    request    #43767    from    twang‐
318785           boy/win_skip_test_snapper
318786
318787         · b41b9c8378 Skip snapper tests on Windows
318788
318789       · PR #43759: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
318790         @ 2017-09-27 13:30:38 UTC
318791
318792         · 77c2c7cbf7 Merge pull request #43759 from rallytime/merge-2017.7
318793
318794         · 120f49f2c4 Merge branch '2016.11' into '2017.7'
318795
318796           · 1cc3ad1c8d Merge pull request #43733 from terminalmage/issue43729
318797
318798             · 6e5c99bda0  Allow  docker_events  engine  to  work  with  newer
318799               docker-py
318800
318801           · 5d38be4ff7 Merge pull request #43458 from terminalmage/issue42082
318802
318803             · 5f90812b12 Fix missing PER_REMOTE_ONLY in  cache.clear_git_lock
318804               runner
318805
318806           · 023a563657 Merge pull request #43727 from rallytime/fix-43650
318807
318808             · babad12d83  Revise  "Contributing" docs: merge-forwards/release
318809               branches explained!
318810
318811       · ISSUE #43737:  (syedaali)  salt.loaded.int.module.boto_kinesis.__vir‐
318812         tual__()  is  wrongly  returning  None. It should either return True,
318813         False  or  a  new  name.  If  you're  the  developer  of  the  module
318814         'boto_kinesis', please fix this. (refs: #43748)
318815
318816       · PR  #43748:  (rallytime)  Add message to boto_kinesis modules if boto
318817         libs are missing @ 2017-09-27 13:19:33 UTC
318818
318819         · 5c203df056 Merge pull request #43748 from rallytime/fix-43737
318820
318821         · 5a2593dbd3 Add message to boto_kinesis modules  if  boto  libs  are
318822           missing
318823
318824       · PR  #43731:  (twangboy)  Fix  unit.beacons.test_status  for Windows @
318825         2017-09-26 16:25:12 UTC
318826
318827         · 2581098595 Merge pull request  #43731  from  twangboy/win_unit_bea‐
318828           cons_test_status
318829
318830         · dc1b36b7e2 Change expected return for Windows
318831
318832       · PR  #43724:  (brejoc)  Improved delete_deployment test for kubernetes
318833         module @ 2017-09-26 16:19:31 UTC
318834
318835         · 10f3d47498 Merge  pull  request  #43724  from  brejoc/2017.7.kuber‐
318836           netes_delete_test
318837
318838         · 85b0a8c401 Improved delete_deployment test for kubernetes module
318839
318840       · PR  #43734:  (twangboy) Fix unit.modules.test_poudriere for Windows @
318841         2017-09-26 14:13:47 UTC
318842
318843         · 13cc27bdab    Merge    pull    request    #43734    from     twang‐
318844           boy/win_unit_test_poudriere
318845
318846         · 922e60fa67 Add os agnostic paths
318847
318848       · PR   #43742:  (terminalmage)  Fix  incorrect  value  in  docstring  @
318849         2017-09-26 13:55:00 UTC
318850
318851         · 41aeee7ac8 Merge pull  request  #43742  from  terminalmage/fix-doc‐
318852           string
318853
318854         · 553335b1c9 Fix incorrect value in docstring
318855
318856       · PR  #41998:  (twangboy)  Fix  unit.modules.test_environ for Windows @
318857         2017-09-26 12:25:48 UTC
318858
318859         · d78b9a3294    Merge    pull    request    #41998    from     twang‐
318860           boy/win_unit_test_environ
318861
318862         · d73ef44cf6 Mock with uppercase KEY
318863
318864         · 048e16883f Use uppercase KEY
318865
318866       · PR  #42036:  (twangboy)  Fix  unit.modules.test_file  for  Windows  @
318867         2017-09-26 12:23:10 UTC
318868
318869         · 7fbbea3806    Merge    pull    request    #42036    from     twang‐
318870           boy/win_unit_test_file
318871
318872         · 056f3bb4c0 Use with to open temp file
318873
318874         · 352fe69e35 Clarify the purpose of the for loop
318875
318876         · b55172d5dc Split by Windows and Linux style line endings
318877
318878         · e20aa5c39b Fix line, use os.sep instead of os.linesep
318879
318880         · d5f27901e3 Fix additional bytestring issue
318881
318882         · 716e99c453 Fix py3 bytestring problems
318883
318884         · 543610570c Fix bytestring issues, fix errored tests
318885
318886         · 9fe83a34a5 Remove old variable declaration
318887
318888         · c5cf5e92c1 Fix many tests
318889
318890       · PR  #43557:  (clan)  disable  modify  yaml  constructor  @ 2017-09-25
318891         14:03:47 UTC
318892
318893         · a81d4b8d8d Merge pull request #43557 from clan/yaml
318894
318895         · 485471c8a7 Merge branch '2017.7' into yaml
318896
318897         · da15658304 remove modify yaml constructor
318898
318899       · PR        #43566:        (damon-atkins)         2017.7         update
318900         salt.utils.files.safe_filepath func @ 2017-09-25 13:58:29 UTC
318901
318902         · b5beec16e8       Merge      pull      request      #43566      from
318903           damon-atkins/2017.7_update_safe_filename_func
318904
318905         · c7a652784a remove blank line at end of file
318906
318907         · e97651d49b  Merge  branch  '2017.7'  into  2017.7_update_safe_file‐
318908           name_func
318909
318910         · 3b4c1bbf7f  Merge  branch  '2017.7'  into  2017.7_update_safe_file‐
318911           name_func
318912
318913         · 4c88c80ef9  Merge  branch  '2017.7'  into  2017.7_update_safe_file‐
318914           name_func
318915
318916         · 4171d11838 utils.files.safe_filepath add support to override the os
318917           default directory separator
318918
318919       · ISSUE #43711: (wedge-jarrad) fcontext_get_policy emits command  error
318920         if policy doesn't exist (refs: #43712)
318921
318922       · PR   #43712:  (wedge-jarrad)  Ignore  retcode  on  call  to  grep  in
318923         selinux.py module @ 2017-09-25 13:56:17 UTC
318924
318925         · 3bb337cf6a Merge pull request #43712 from wedge-jarrad/fix-43711
318926
318927         · 96c1ef48e6 Ignore retcode on call to grep in selinux.py module
318928
318929       · ISSUE #43659: (gaborn57) unable to retrieve pillar data  in  postgres
318930         db (refs: #43716)
318931
318932       · PR  #43716:  (gaborn57)  Corrected  custom port handling @ 2017-09-25
318933         13:44:58 UTC
318934
318935         · 5b7411e335 Merge pull request #43716 from gaborn57/2017.7
318936
318937         · 78137c0860 Corrected custom port handling
318938
318939       · PR #43700: (rklaren) Ensure salt-cloud with libvirt provider does not
318940         write low level errors to stderr @ 2017-09-25 01:47:25 UTC
318941
318942         · PR #43684: (rklaren) salt-cloud libvirt updates (refs: #43700)
318943
318944         · 6bbd50c453   Merge   pull   request  #43700  from  rklaren/fix-lib‐
318945           virt-stderr-spam
318946
318947         · 88530c4cb6 Lint fixes
318948
318949         · 235bec492e salt-cloud + libvirt: Mention Fedora 26 support
318950
318951         · 9aecf5f847 Remove stderr spam when using salt-cloud with libvirt
318952
318953       · PR #43702: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
318954         @ 2017-09-25 01:26:20 UTC
318955
318956         · 437ac03801 Merge pull request #43702 from rallytime/merge-2017.7
318957
318958         · 132b1b343b Merge branch '2017.7' into merge-2017.7
318959
318960       · ISSUE #38971: (morganwillcock) archive.extracted: lots of unnecessary
318961         file transferring, copying, and hashing (refs: #43681, #43518)
318962
318963       · PR #43681: (terminalmage) Backport the non-fileclient changes from PR
318964         43518 to 2017.7 @ 2017-09-22 19:27:25 UTC
318965
318966         · PR  #43518:  (terminalmage)  Reduce unnecessary file downloading in
318967           archive/file states (refs: #43681)
318968
318969         · 47cd8723c6   Merge   pull    request    #43681    from    terminal‐
318970           mage/issue38971-2017.7
318971
318972         · 91edf865e2 Merge branch '2017.7' into issue38971-2017.7
318973
318974         · 84f34c93be  Backport  the  non-fileclient  changes from PR 43518 to
318975           2017.7
318976
318977       · ISSUE #43396: (mkurtak) yumpkg pkg.installed slowed down due to wild‐
318978         card namig support (refs: #43687)
318979
318980       · PR  #43687: (mkurtak) yumpkg.py: install calls list_repo_pkgs only if
318981         wildcard is used in pkg name @ 2017-09-22 19:23:18 UTC
318982
318983         · 0a1c5185f5 Merge pull request #43687 from mkurtak/fix-43396
318984
318985         · b1e64b11fb yumpkg.py: install calls list_repo_pkgs only if wildcard
318986           in pkg name is used
318987
318988       · ISSUE  #43124:  (UtahDave)  publisher_acl  with regex on username not
318989         working and has no documentation (refs: #43467)
318990
318991       · PR #43467:  (DmitryKuzmenko)  Bugs/43124  users  regex  @  2017-09-22
318992         19:21:09 UTC
318993
318994         · 3a79549af4    Merge    pull   request   #43467   from   DSRCorpora‐
318995           tion/bugs/43124_users_regex
318996
318997         · 14bf2dd8ff Support regex in publisher_acl.
318998
318999         · 9fe32f8b6e Regex support for user names in external_auth config.
319000
319001       · ISSUE #43381: (V3XATI0N)  Sharing  minion  data  cache  causes  false
319002         errors in returns (refs: #43670)
319003
319004       · PR  #43670:  (DmitryKuzmenko)  Fix  for list and contains redis cache
319005         logic.  @ 2017-09-22 17:56:58 UTC
319006
319007         · 0e86266b93   Merge   pull   request   #43670    from    DSRCorpora‐
319008           tion/bugs/43381_redis_cache_fix
319009
319010         · 1c979d5809  Update redis cache contains logic to use more efficient
319011           sismember.
319012
319013         · 039d236948 Fixed list and contains redis cache logic.
319014
319015              · 6e5cf65d65 Merge branch '2016.11' into '2017.7'
319016
319017              · f46c858f25  Merge  pull  request  #43648  from  rallytime/han‐
319018                dle-boto-vpc-errors
319019
319020                · 54842b5012 Handle VPC/Subnet ID not found errors in boto_vpc
319021                  module
319022
319023       · PR #43697: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
319024         @ 2017-09-22 17:31:09 UTC
319025
319026         · aa47da35dd Merge pull request #43697 from rallytime/merge-2017.7
319027
319028         · cbae45bec4 Lint: Remove extra line at end of file
319029
319030         · fca4e5563a Merge branch '2016.11' into '2017.7'
319031
319032         · 9dba34aa06 Merge pull request #43575 from akissa/fix-csr-not-recre‐
319033           ated-if-key-changes
319034
319035           · b1b4dafd39 Fix CSR not recreated if key changes
319036
319037         · 1d4fa48209 Merge pull request #43672 from rallytime/bp-43415
319038
319039           · 3fb42bc238 Fix env_order in state.py
319040
319041         · ff832ee607 Merge pull request #43673 from rallytime/bp-43652
319042
319043           · d91c47c6f0 Salt Repo has Deb 9 and 8
319044
319045         · 365cb9fba8  Merge  pull  request  #43677   from   terminalmage/run‐
319046           ners-docs-2016.11
319047
319048           · 2fd88e94fa Fix RST headers for runners (2016.11 branch)
319049
319050         · be38239e5d     Merge    pull    request    #43534    from    twang‐
319051           boy/win_fix_pkg.install_2016.11
319052
319053           · 1546c1ca04 Add posix=False to call to salt.utils.shlex_split
319054
319055         · 0d3fd3d374 Merge pull request  #43661  from  moio/2016.11-multipro‐
319056           cessing-doc-fix
319057
319058           · 625eabb83f multiprocessing minion option: documentation fixes
319059
319060         · 6b4516c025  Merge  pull  request  #43646 from brejoc/2016.11.4-pid‐
319061           file-tests
319062
319063           · 96f39a420b Fixed linting
319064
319065           · 08fba98735 Fixed several issues with the test
319066
319067           · 3a089e450f Added tests for pid-file deletion in DaemonMixIn
319068
319069         · cfb1625741 Merge pull request #43591 from rallytime/merge-2016.11
319070
319071           · 57b9d642c2 Merge branch '2016.11.8' into '2016.11'
319072
319073             · e83421694f Merge pull request #43550 from twangboy/osx_fix_pre‐
319074               install_2016.11.8
319075
319076               · 1b0a4d39d2 Fix logic in /etc/paths.d/salt detection
319077
319078             · a648f75949 Merge pull request #43508 from rallytime/bp-43333
319079
319080               · d4981a2717 Update doco
319081
319082               · a7c8b9e048 Update win_pkg.py
319083
319084               · 1d6dc6fb72  Docs  are  wrong  cache_dir (bool) and cache_file
319085                 (str) cannot be passed on the cli (#2)
319086
319087             · e7009877bc   Merge   pull   request    #43434    from    rally‐
319088               time/2016.11.8-release-notes
319089
319090               · 68f529ee5e Add 2016.11.8 release notes
319091
319092         · 8671b91f62       Merge      pull      request      #43572      from
319093           vutny/fix-salt-cloud-list-min-instance-set
319094
319095           · 21966e7ce8 cloud.action: list_nodes_min returns all instances
319096
319097       · PR  #43314:  (twangboy)  Fix  unit.utils.test_verify  for  Windows  @
319098         2017-09-21 22:26:13 UTC
319099
319100         · e6dc4d64df     Merge    pull    request    #43314    from    twang‐
319101           boy/win_fix_unit.utils.test_verify
319102
319103         · 9ada7f626c Merge branch '2017.7' into  win_fix_unit.utils.test_ver‐
319104           ify
319105
319106         · c0dc3f73ef Use sys.platform instead of salt.utils to detect Windows
319107
319108         · e496d28cbf Fix unit.utils.test_verify for Windows
319109
319110       · ISSUE  #43599: (vernondcole) Incorrect default for salt.cache.Cache()
319111         if opts does not define "cache" (refs: #43680)
319112
319113       · PR #43680: (vernondcole) correct default value for salt.cache.Cache @
319114         2017-09-21 20:09:36 UTC
319115
319116         · ec34df2c27    Merge    pull    request    #43680    from   vernond‐
319117           cole/fix-salt.cache.Cache-default
319118
319119         · 292f8c79b8 correct default value for salt.cache.Cache
319120
319121       · PR #43530: (twangboy) Fixes removal of double-quotes  by  shlex_split
319122         in winrepo @ 2017-09-21 18:04:48 UTC
319123
319124         · 99d9d784b1     Merge    pull    request    #43530    from    twang‐
319125           boy/win_fix_pkg.install
319126
319127         · 7f59119f95 Merge branch '2017.7' into win_fix_pkg.install
319128
319129         · f146399f7a Use posix=False for shlex.split
319130
319131       · PR #43671: (rallytime) [2017.7] Merge forward from 2017.7.2 to 2017.7
319132         @ 2017-09-21 16:39:49 UTC
319133
319134         · 12b5e62d81 Merge pull request #43671 from rallytime/merge-2017.7
319135
319136         · a401166bd5 Merge branch '2017.7.2' into '2017.7'
319137
319138       · PR #43676: (terminalmage) Fix RST headers for runners (2017.7 branch)
319139         @ 2017-09-21 16:36:21 UTC
319140
319141         · e3a2fbc2a3  Merge  pull  request  #43676   from   terminalmage/run‐
319142           ners-docs-2017.7
319143
319144         · 9b74634b23 Fix badly-formatted RST in mattermost runner docstring
319145
319146         · c0a79c70a4 Fix RST headers for runners (2017.7 branch)
319147
319148       · PR  #43235:  (brejoc) Improve delete_deployment handling @ 2017-09-20
319149         21:33:33 UTC
319150
319151         · d02953ce6a    Merge    pull    request     #43235     from     bre‐
319152           joc/improve-async-operation-handling-in-kubernetes-module
319153
319154         · 4e8da3045f Fixed logic for windows fallback
319155
319156         · 3b1cb884b9  Merge branch '2017.7' into improve-async-operation-han‐
319157           dling-in-kubernetes-module
319158
319159         · d1b5ec098c Merge branch '2017.7' into  improve-async-operation-han‐
319160           dling-in-kubernetes-module
319161
319162         · 35cf69bc50 Moved exception Salt core
319163
319164         · 7431ec64e3 Removed unused sys import
319165
319166         · 0c71da95f6 Using salt method to identify MS Windows, single instead
319167           of double quotes
319168
319169         · 20619b24c4 Fixed test for delete_deployment
319170
319171         · 91076bbafa Merge branch '2017.7' into  improve-async-operation-han‐
319172           dling-in-kubernetes-module
319173
319174         · 7b600e2832   Added   pylint-disable   statements   and  import  for
319175           salt.ext.six.moves.range
319176
319177         · 99fe138325 Code styling and added log message for timeout
319178
319179         · dcd8d4f639 Merge branch '2017.7' into  improve-async-operation-han‐
319180           dling-in-kubernetes-module
319181
319182         · 702a058c38 Fixed linting
319183
319184         · 3fe623778e Added Windows fallback
319185
319186         · 52b1cb8147 Compatibility with Python3.6
319187
319188         · 767af9bb4f Added timeout for checking the deployment
319189
319190         · 32d7d34fe5 First simple draft for the deletion verification
319191
319192       · PR #43554: (twangboy) Win fix chocolatey @ 2017-09-20 16:06:18 UTC
319193
319194         · 73cb0c27b5  Merge  pull request #43554 from twangboy/win_fix_choco‐
319195           latey
319196
319197         · e04acb6216 Merge branch '2017.7' into win_fix_chocolatey
319198
319199         · 56be5c35eb Improve logic for handling chocolatey states
319200
319201         · bcbf7b4e68 Add logic for test=True
319202
319203       · ISSUE   #43598:    (davidvon)    Passed    invalid    arguments    to
319204         mysql.file_query:  unsupported  operand  type(s)  for  +=:  'int' and
319205         'tuple' (refs: #43625)
319206
319207       · PR #43625: (gtmanfred)  results  and  columns  are  lists  for  mysql
319208         returns @ 2017-09-20 15:42:59 UTC
319209
319210         · ed7eeaaafb Merge pull request #43625 from gtmanfred/2017.7
319211
319212         · f84b50a06b results and columns are lists for mysql returns
319213
319214       · ISSUE   #43560:   (smitelli)   salt.states.linux_acl   requires  set‐
319215         facl/getacl binaries but this is not obvious (refs: #43587, #43580)
319216
319217       · PR #43587: (rallytime) Add reason to linux_acl state loading  failure
319218         @ 2017-09-19 16:26:51 UTC
319219
319220         · PR  #43580:  (garethgreenaway) Updating ACL module and state module
319221           documentation (refs: #43587)
319222
319223         · 1bda4832ef Merge pull request #43587 from rallytime/fix-virtual
319224
319225         · e5297e3869 Add reason to linux_acl state loading failure
319226
319227       · PR #43584: (cachedout) Enhance engines docs @ 2017-09-18 20:40:57 UTC
319228
319229         · 2e19533e3c    Merge    pull    request    #43584    from    cached‐
319230           out/engines_doc_clarification
319231
319232         · 634536b0ff Merge branch '2017.7' into engines_doc_clarification
319233
319234         · 1a619708c1 Enhance engines docs
319235
319236       · PR  #43519:  (terminalmage) Fix incorrect handling of pkg virtual and
319237         os_family grain @ 2017-09-18 20:35:01 UTC
319238
319239         · 50b134ef4c Merge pull request #43519 from terminalmage/fix-aptpkg
319240
319241         · 0e3c447567 Fix incorrect handling  of  pkg  virtual  and  os_family
319242           grain
319243
319244       · PR  #43520:  (clan)  _search_name  is  ''  if  acl  type  is  other @
319245         2017-09-18 20:33:51 UTC
319246
319247         · dd953f36ae Merge pull request #43520 from clan/acl
319248
319249         · 54216177c1 _search_name is '' if acl type is other
319250
319251       · PR #43561: (wedge-jarrad) Clean up doc formatting in selinux state  &
319252         module @ 2017-09-18 20:28:47 UTC
319253
319254         · ad9663a7fc    Merge    pull    request   #43561   from   wedge-jar‐
319255           rad/selinux-doc-cleanup
319256
319257         · 1bd263cd51 Clean up doc formatting in selinux state & module
319258
319259       · ISSUE  #43560:   (smitelli)   salt.states.linux_acl   requires   set‐
319260         facl/getacl binaries but this is not obvious (refs: #43587, #43580)
319261
319262       · PR  #43580:  (garethgreenaway)  Updating  ACL module and state module
319263         documentation (refs: #43587) @ 2017-09-18 20:11:26 UTC
319264
319265         · cc3d9c1a01   Merge   pull   request   #43580   from    garethgreen‐
319266           away/43560_update_linux_acl_documentation
319267
319268         · e63fae4c91  Merge branch '2017.7' into 43560_update_linux_acl_docu‐
319269           mentation
319270
319271       · PR #43523: (skizunov) Add back lost  logic  for  multifunc_ordered  @
319272         2017-09-18 17:46:16 UTC
319273
319274         · PR  #38168:  (skizunov) Add support for a multi-func job using same
319275           func more than once (refs: #43523)
319276
319277         · bf7b23316f Merge pull request #43523 from skizunov/develop2
319278
319279         · fb579321a9 Add back lost logic for multifunc_ordered
319280
319281           · 117a0ddbbc Updating the documentation to call out the requirement
319282             for the getfacl and setfacl binaries
319283
319284                · 49f25b9f19 Lint
319285
319286                · 31d17c0124 Fix typo found by @s0undt3ch
319287
319288                · 5dba74d2cb Fix to module.run [WIP]
319289
319290       · ISSUE  #43447: (UtahDave) When using Syndic with Multi Master the top
319291         level master doesn't reliably get returns from lower  minion.  (refs:
319292         #43526)
319293
319294       · PR #43526: (DmitryKuzmenko) Forward events to all masters syndic con‐
319295         nected to @ 2017-09-18 16:54:46 UTC
319296
319297         · e29efecf4f   Merge   pull   request   #43526    from    DSRCorpora‐
319298           tion/bugs/43447_syndic_events_forwarding
319299
319300         · 64d6109654 Merge branch '2017.7' into bugs/43447_syndic_events_for‐
319301           warding
319302
319303         · 3b2a529385 Merge branch '2017.7' into bugs/43447_syndic_events_for‐
319304           warding
319305
319306         · 0e4a744d95 Forward events to all masters syndic connected to.
319307
319308       · ISSUE  #43077:  (Manoj2087) Issue with  deleting key via wheel (refs:
319309         #43330)
319310
319311       · PR #43330: (terminalmage) Fix reactor regression + unify reactor con‐
319312         fig schema @ 2017-09-18 16:46:11 UTC
319313
319314         · 56b671e087 Merge pull request #43330 from terminalmage/issue43077
319315
319316         · a7b4e1f782 Simplify client logic
319317
319318         · b85c8510c7 Improve the reactor documentation
319319
319320         · 20f6f3cc39 Include a better example for reactor in master conf file
319321
319322         · 4243a2211d Rewrite the reactor unit tests
319323
319324         · 9db3f5ae6d Unify reactor configuration, fix caller reactors
319325
319326         · 34b6c3b65f Un-deprecate passing kwargs outside of 'kwarg' param
319327
319328       · ISSUE  #33793: (mstarostik) states.ssh_auth adds bogus newline before
319329         newly added keys (refs: #43483)
319330
319331       · PR #43505:  (rallytime)  Back-port  #43483  to  2017.7  @  2017-09-15
319332         21:22:12 UTC
319333
319334         · PR  #43483: (3add3287) Handle bogus newline before newly added keys
319335           (refs: #43505)
319336
319337         · 078d5d17de Merge pull request #43505 from rallytime/bp-43483
319338
319339         · c68dd5b8a4 Lint: fix spacing
319340
319341         · 406f61ac9a Fix indentation from tabs to spaces
319342
319343         · 923ec62771 Copy paste typo
319344
319345         · 6f6619242f Fix checking for newline on  end  of  file  by  properly
319346           checking the last byte of the file if the file is non empty.
319347
319348       · ISSUE #43464: (psagers) acme.cert state: IOError on failure to create
319349         a new certificate (refs: #43465)
319350
319351       · PR #43491:  (rallytime)  Back-port  #43465  to  2017.7  @  2017-09-15
319352         18:24:47 UTC
319353
319354         · PR  #43465:  (psagers)  acme.cert: avoid IOError on failure. (refs:
319355           #43491)
319356
319357         · a6df3f2acc Merge pull request #43491 from rallytime/bp-43465
319358
319359         · 3118faca0a acme.cert: avoid IOError on failure.
319360
319361       · PR #43492: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
319362         @ 2017-09-15 18:23:49 UTC
319363
319364         · 3620c15c9a Merge pull request #43492 from rallytime/merge-2017.7
319365
319366         · 4251ce5a27 Merge branch '2016.11' into '2017.7'
319367
319368           · f2b86fa2db Merge pull request #43461 from twangboy/win_norestart
319369
319370             · 2d269d1a76 Change all comment markers to '#'
319371
319372             · d80aea16cb Handle ErrorCodes returned by VCRedist installer
319373
319374             · fb31e9a530 Add /norestart switch to vcredist install
319375
319376           · 90e8ca9c36  Merge  pull  request  #43366 from brejoc/2016.11.pid‐
319377             file-fix
319378
319379             · 6e3eb76c79 Removed unused format argument
319380
319381             · daf4948b3d Catching error when PIDfile cannot be deleted
319382
319383           · a6c458607a  Merge   pull   request   #43442   from   garethgreen‐
319384             away/43386_2016_11_schedule_kwargs_pub
319385
319386             · e637ecbe86  Merge  branch  '2016.11'  into 43386_2016_11_sched‐
319387               ule_kwargs_pub
319388
319389             · 6114df8dc3 Adding a small check to ensure we do not continue to
319390               populate kwargs with __pub_ items from the kwargs item.
319391
319392           · 3c429299f9  Merge  pull  request #43456 from rallytime/43445_fol‐
319393             low_up
319394
319395             · 35c1d8898d Add Neon to version list
319396
319397           · 6db7a721c0     Merge      pull      request      #43441      from
319398             meaksh/2016.11-salt-bash-completion-fix
319399
319400             · be4f26ab21  Use  $HOME  to  get the user home directory instead
319401               using '~' char
319402
319403           · 05fff44a50 Merge pull request #43445 from rallytime/bump-depreca‐
319404             tion-warning
319405
319406             · c91cd1c6d9       Bump       deprecation       warning       for
319407               boto_vpc.describe_route_table
319408
319409           · c57dc5f0e3 Merge pull request #43432 from rallytime/bp-43419
319410
319411             · c471a29527 make cache dirs when spm starts
319412
319413       · ISSUE #43479: (haam3r) Mattermost runner failing to  retrieve  config
319414         values due to unavailable config runner   (refs: #43513)
319415
319416       · PR #43513: (haam3r) Issue #43479 No runners.config in 2017.7 branch @
319417         2017-09-15 14:58:27 UTC
319418
319419         · 8a90c7059b Merge pull request #43513 from haam3r/2017.7
319420
319421         · 58f7d051c9 Issue #43479 No runners.config in 2017.7 branch
319422
319423       · ISSUE #42926: (nixjdm) network.system not setting hostname  in  hosts
319424         file, preventing sudo. (refs: #43431)
319425
319426       · PR #43431: (mattLLVW) Fix /etc/hosts not being modified when hostname
319427         is changed @ 2017-09-13 18:35:55 UTC
319428
319429         · c3d9e2d9b2 Merge pull request #43431 from mattLLVW/fix-hosts-deb
319430
319431         · c6320b1dff Merge branch '2017.7' into fix-hosts-deb
319432
319433         · a3b2e19149 Fix /etc/hosts  not  being  modified  when  hostname  is
319434           changed
319435
319436       · PR #43403: (twangboy) Proper timestamp conversion in redis.lastsave @
319437         2017-09-12 21:18:06 UTC
319438
319439         · a09f289fbb Merge pull request #43403 from twangboy/win_fix_redismod
319440
319441         · f6da23e1aa Properly handle timestamp conversion
319442
319443       · PR #43463: (twangboy) Add /norestart switch to vcredist  installer  @
319444         2017-09-12 20:29:27 UTC
319445
319446         · 0eaa5acb72     Merge    pull    request    #43463    from    twang‐
319447           boy/win_norestart_2017.7
319448
319449         · 6984b8fd60 Add /norestart to vcredist installer
319450
319451       · ISSUE #43386: (rajvidhimar) Scheduler's  job_kwargs  not  working  as
319452         expected. (refs: #43443, #43442)
319453
319454       · PR #43443: (garethgreenaway) [2017.7] Fixes to scheduler __pub values
319455         in kwargs @ 2017-09-12 18:14:46 UTC
319456
319457         · 2fc237a806   Merge   pull   request   #43443   from    garethgreen‐
319458           away/43386_2017_7_schedule_kwargs_pub
319459
319460         · a29a9855a6 Fixing typo.
319461
319462         · 2681b7d3fa   Merge   branch   '2017.7'   into   43386_2017_7_sched‐
319463           ule_kwargs_pub
319464
319465       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
319466         (refs: #41547)
319467
319468       · PR #41547: (mirceaulinic) Override proxy minion opts with pillar data
319469         @ 2017-09-11 21:47:51 UTC
319470
319471         · 5378ac7756 Merge pull request #41547 from  cloudflare/px_merge_pil‐
319472           lar_opts
319473
319474         · aad39ba665 Document the new opts
319475
319476         · cdc0d9674a Allow disabling the mines details merge
319477
319478         · 732b63b0b9 Merge mine details whenever possible
319479
319480         · 96b31d5643 Override proxy opts with pillar data when required
319481
319482         · fd499887f9 Define new proxy merge pillar in opts... opts
319483
319484         · abab6fd91c Override minion opts with pillar data
319485
319486       · PR #41943: (twangboy) Fix unit.returners.test_local_cache for Windows
319487         @ 2017-09-11 21:34:03 UTC
319488
319489         · 08d102c869    Merge    pull    request    #41943    from     twang‐
319490           boy/win_unit_test_local_cache
319491
319492         · 3777b34572 Merge branch '2017.7' into win_unit_test_local_cache
319493
319494         · 35b79ecde6 Remove cur variable, use time.time() in comparison
319495
319496         · 9b61533b09 Get more accurate currnet time in local_cache
319497
319498         · 844e3f65bc Fix unit tests for Windows
319499
319500       · PR  #43424:  (twangboy)  Fix  unit.modules.test_hosts  for  Windows @
319501         2017-09-11 21:28:41 UTC
319502
319503         · 50ab79f0cb    Merge    pull    request    #43424    from     twang‐
319504           boy/win_unit_test_hosts
319505
319506         · 90dcf8287c Fix unit.modules.test_hosts for Windows
319507
319508       · PR #42652: (skizunov) Fix loader.py's raw_mod() to look in all module
319509         dirs @ 2017-09-11 19:43:48 UTC
319510
319511         · 0f0ed5a093 Merge pull request #42652 from skizunov/develop3
319512
319513         · d82e406f15 Fix loader.py's raw_mod() to look in all module dirs
319514
319515       · PR #43438: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
319516         @ 2017-09-11 18:33:39 UTC
319517
319518         · ca091bc8a4 Merge pull request #43438 from rallytime/merge-2017.7
319519
319520         · ef7b4242c3 Merge branch '2016.11' into '2017.7'
319521
319522           · 57cccd75d0  Merge  pull  request  #43390  from aogier/43387-gene‐
319523             sis-qemu
319524
319525             · 496f14a7e7 forgot to mock the proper one
319526
319527             · 51c7a1ba00 only check if static_qemu is_executable()
319528
319529             · 70642e495d better qemu_static parameter  mangle  in  deboostrap
319530               management, tests
319531
319532           · 6106aec696 Merge pull request #43356 from gtmanfred/2016.11
319533
319534             · 3f19b247f3 Add handler.messages back in for test comparison
319535
319536             · 9911b04208 fix test
319537
319538             · 3c6ae99a77 never-download got readded
319539
319540           · e638fac54e    Merge    pull    request    #43325   from   doesit‐
319541             blend/salt-mine-doc-fix
319542
319543             · 1e94d0ac3a Lint: Remove trailing whitespace
319544
319545             · 51af8f8757 Fix mine_interval phrasing in default file
319546
319547             · ba0cdd4536 Fix phrasing for mine_interval description
319548
319549             · 9ff03c2d43 Update Salt Mine  documentation  to  show  that  the
319550               mine_interval option is configured in minutes.
319551
319552           · fc587f784a Merge pull request #43105 from aogier/43086-no-member
319553
319554             · 5111cf8bad Merge branch '2016.11' into 43086-no-member
319555
319556           · d97a680372 Merge pull request #43333 from damon-atkins/2016.11
319557
319558             · 92de2bb498 Update doco
319559
319560             · fc9c61d12e Update win_pkg.py
319561
319562             · c91fc14704 Merge branch '2016.11' into 2016.11
319563
319564             · cb3af2bbbd Docs are wrong cache_dir (bool) and cache_file (str)
319565               cannot be passed on the cli (#2)
319566
319567                  · 42a118ff56 fixed cmd composition and  unified  his  making
319568                    across module
319569
319570                        · 3fd59ed369  Adding a small check to ensure we do not
319571                          continue to populate kwargs with __pub_  items  from
319572                          the kwargs item.
319573
319574       · PR  #43320: (twangboy) Fix unit.modules.test_alternatives for Windows
319575         @ 2017-09-11 17:28:00 UTC
319576
319577         · a9592dd3e2 Merge pull request #43320 from twangboy/win_fix_alterna‐
319578           tives
319579
319580         · a909813fa5 Remove unused import (lint)
319581
319582         · 3ef8d714cb Fix unit tests to mock salt.utils.path.readlink
319583
319584         · c0d81aa1ce Use salt.utils.path.readlink
319585
319586         · 7c4460164b Fix alternatives for Windows
319587
319588       · PR  #43363: (twangboy) Fix unit.modules.test_ini_manage for Windows @
319589         2017-09-11 17:10:31 UTC
319590
319591         · 9b89e49846    Merge    pull    request    #43363    from     twang‐
319592           boy/scratch_ini_tests
319593
319594         · a94319a082 Make sure formatting of TEST_FILE_CONTENT matches origi‐
319595           nal
319596
319597         · 6263bc8983 Remove print statement
319598
319599         · 79cd3831ae Fix empty value preserved test
319600
319601         · 85997391f1 Is this handled the same on Linux and Windows
319602
319603       · PR #43421: (gtmanfred) Revert "Reduce fileclient.get_file latency  by
319604         merging _file_find and … @ 2017-09-11 17:07:18 UTC
319605
319606         · 673ce387c1 Merge pull request #43421 from gtmanfred/compat
319607
319608         · f85bf8c18f  Revert  "Reduce  fileclient.get_file latency by merging
319609           _file_find and _file_hash"
319610
319611       · ISSUE #42165:  (arount)  top_file_merging_strategy:  merge  does  not
319612         works (refs: #43415)
319613
319614       · PR  #43415:  (mattLLVW)  Fix  env_order  in state.py (refs: #43672) @
319615         2017-09-11 15:18:08 UTC
319616
319617         · 47d982fd37 Merge pull request #43415 from mattLLVW/fix-env-order
319618
319619         · f6313a1b2c Merge branch '2017.7' into fix-env-order
319620
319621         · e93a962980 Fix env_order in state.py
319622
319623       · PR #43422: (twangboy) Fix unit.cloud.clouds.test_ec2  for  Windows  @
319624         2017-09-11 15:17:20 UTC
319625
319626         · e89e23a32e     Merge    pull    request    #43422    from    twang‐
319627           boy/win_unit_cloud_ec2
319628
319629         · 1379627334 Fix unit.cloud.clouds.test_ec2 for Windows
319630
319631       · PR  #43423:  (twangboy)  Fix  unit.modules.test_gem  for  Windows   @
319632         2017-09-11 15:15:28 UTC
319633
319634         · 54f833ac59     Merge    pull    request    #43423    from    twang‐
319635           boy/win_unit_test_gem
319636
319637         · b2cea18d13 Fix unit.modules.test_gem for Windows
319638
319639       · PR #43419: (gtmanfred) make cache dirs when spm starts (refs: #43432)
319640         @ 2017-09-11 13:42:50 UTC
319641
319642         · b3116109e5 Merge pull request #43419 from gtmanfred/2017.7
319643
319644         · 58378866e5 make cache dirs when spm starts
319645
319646       · PR  #43371: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
319647         @ 2017-09-08 15:39:12 UTC
319648
319649         · 9b27473763 Merge pull request #43371 from rallytime/merge-2017.7
319650
319651         · 7b07b58396 Merge branch '2016.11' into '2017.7'
319652
319653           · 0c986f5eba Merge pull request #43361 from rallytime/bp-43329
319654
319655             · b09e5b4379 Fix #43295, better handling of consul initialization
319656               issues
319657
319658           · 22287439e6      Merge      pull      request      #42903     from
319659             junovitch/issue-35840-fix-preserve-minion-cache-2016.11
319660
319661             · c9d4fdbd45 Merge  branch  '2016.11'  into  issue-35840-fix-pre‐
319662               serve-minion-cache-2016.11
319663
319664             · 93a68e32a5  Merge  branch  '2016.11'  into issue-35840-fix-pre‐
319665               serve-minion-cache-2016.11
319666
319667             · 079f097985  Fix  'preserve_minion_cache:  True'   functionality
319668               (fixes #35840)
319669
319670           · 4860e10757 Merge pull request #43360 from terminalmage/sj-496
319671
319672             · 433bca14b1 Fix KeyError in yumpkg configparser code on Python 3
319673
319674             · f6c16935d8 Move --showduplicates before repository-packages
319675
319676           · 4ba2dbe41e    Merge    pull    request    #43244    from   rally‐
319677             time/release-branch-clarifications
319678
319679             · 0d5a46dbaa Update  release  branch  section  with  a  few  more
319680               details
319681
319682           · 1a012eb3d7 Merge pull request #43359 from gtmanfred/ipaddr
319683
319684             · 23d9abb560 ipaddr_start ipaddr_end for el7
319685
319686           · 8f88111be8  Merge  pull  request  #43247  from rallytime/mention‐
319687             bot-backports
319688
319689             · 2b85757d73 Always notify tkwilliams when changes occur on  boto
319690               files
319691
319692             · 40b5a29f90 Add basepi to userBlacklist for mention bot
319693
319694             · bad8f56969  Always  notify ryan-lane when changes occur on boto
319695               files
319696
319697       · PR #43398:  (twangboy)  Fix  unit.modules.test_mount  for  Windows  @
319698         2017-09-08 13:39:29 UTC
319699
319700         · 97f05ff603     Merge    pull    request    #43398    from    twang‐
319701           boy/win_fix_test_mount
319702
319703         · 4a8d7e522c Fix tests, Use full path to salt.utils.which
319704
319705       · PR  #43399:  (twangboy)  Fix  unit.modules.test_pam  for  Windows   @
319706         2017-09-08 13:37:50 UTC
319707
319708         · 6a4cc5c1b0 Merge pull request #43399 from twangboy/win_fix_test_pam
319709
319710         · 6257aa964a Fix unit.modules.test_pam for Windows
319711
319712       · PR  #43400:  (twangboy)  Fix  unit.modules.test_parted  for Windows @
319713         2017-09-08 13:37:00 UTC
319714
319715         · 2b5cfae3f8    Merge    pull    request    #43400    from     twang‐
319716           boy/win_unit_test_parted
319717
319718         · 8e3e897ee2 Fix unit.modules.test_parted for Windows
319719
319720       · PR  #43401:  (twangboy)  Fix unit.modules.test_pw_group for Windows @
319721         2017-09-08 13:35:45 UTC
319722
319723         · 332deeb013    Merge    pull    request    #43401    from     twang‐
319724           boy/win_unit_test_pw_group
319725
319726         · 78e39a1b9d Fix unit.modules.test_pw_group for Windows
319727
319728       · PR  #43402:  (twangboy)  Fix unit.modules.test_qemu_nbd for Windows @
319729         2017-09-08 13:34:58 UTC
319730
319731         · c0f54bfef1    Merge    pull    request    #43402    from     twang‐
319732           boy/win_unit_test_qemu_nbd
319733
319734         · 531ce8022b Fix unit.modules.test_qemu_nbd for Windows
319735
319736       · PR  #43404:  (twangboy)  Fix  unit.modules.test_seed  for  Windows  @
319737         2017-09-08 13:32:41 UTC
319738
319739         · be88fbb45f    Merge    pull    request    #43404    from     twang‐
319740           boy/win_unit_test_seed
319741
319742         · 6ceb895a84 Use os.path.join for paths
319743
319744       · PR  #43301:  (twangboy)  Fix  unit.test_spm  for Windows @ 2017-09-08
319745         13:24:35 UTC
319746
319747         · 612c6a8756    Merge    pull    request    #43301    from     twang‐
319748           boy/win_fix_unit_test_spm
319749
319750         · 8608a6b303 Merge branch '2017.7' into win_fix_unit_test_spm
319751
319752         · b8da04c04d Add Mike's changes
319753
319754         · f36efbd6a7 Fix unit.test_spm for Windows
319755
319756       · PR  #43372: (skizunov) Fix system.set_system_time when no hw clock is
319757         present @ 2017-09-07 17:45:33 UTC
319758
319759         · f959113694 Merge pull request #43372 from skizunov/develop5
319760
319761         · 281e471853 Fix system.set_system_time when no hw clock is present
319762
319763       · PR #43193: (jettero) Prevent spurious "Template does not exist" error
319764         @ 2017-09-06 20:16:58 UTC
319765
319766         · PR  #39516:  (jettero)  Prevent  spurious "Template does not exist"
319767           error (refs: #43193)
319768
319769         · 6d13535ed0   Merge   pull   request   #43193   from    jettero/tem‐
319770           plate-dne-again
319771
319772         · cde8aed2cf Merge branch '2017.7' into template-dne-again
319773
319774       · ISSUE  #42706:  (blarghmatey)  Parallel  Cache Failure (refs: #43018,
319775         #43159)
319776
319777       · PR #43159: (jubrad) Bp 43018 @ 2017-09-05 22:29:16 UTC
319778
319779         · PR  #43056:  (damon-atkins)  safe_filename_leaf(file_basename)  and
319780           safe_filepath(file_path_name) (refs: #43159, #43172)
319781
319782         · PR #43018: (jubrad) Update state.py (refs: #43159, #43727)
319783
319784         · 015cbc57d9 Merge pull request #43159 from jubrad/bp-43018
319785
319786         · 25419a56db Merge branch '2017.7' into bp-43018
319787
319788         · 971b4c0890 Merge branch '2017.7' into bp-43018
319789
319790         · 4f8e6c65e5  access  safe_filename_leaf through utils.files, changed
319791           in #43172
319792
319793         · 42064883ea state.py remove unused urllib import
319794
319795         · 4957268b37 update state.py to use safe_filename_leaf
319796
319797         · b8ead879ed Fixing lint issues
319798
319799         · 446457d017 Swapping from for import
319800
319801         · fb80e17400 state.py: fix import and utf8 encode before quote
319802
319803         · 1dcf167bb7 Update state.py
319804
319805       · PR #43232: (terminalmage) Improve inheritance in  salt.utils.gitfs  @
319806         2017-09-05 20:37:06 UTC
319807
319808         · 6e1b541b46 Merge pull request #43232 from terminalmage/gitfs-inher‐
319809           itance
319810
319811         · 53bd3a3e23 Improve inheritance in salt.utils.gitfs
319812
319813       · PR #43238: (s0undt3ch) Include the line number by default on the  log
319814         file format @ 2017-09-05 20:31:54 UTC
319815
319816         · 086b220091 Merge pull request #43238 from s0undt3ch/2017.7
319817
319818         · 630a1db3ab  Include the line number by default on the log file for‐
319819           mat
319820
319821       · PR #43294: (twangboy) Win build scripts @ 2017-09-05 20:12:54 UTC
319822
319823         · 09dc58cde5    Merge    pull    request    #43294    from     twang‐
319824           boy/win_build_scripts
319825
319826         · 9979ccb613 Remove Py2 and Py3 in the same run
319827
319828         · a5d9f85db6 Modifications to build scripts
319829
319830       · PR  #43322: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
319831         @ 2017-09-05 18:21:26 UTC
319832
319833         · 21ab306ef4 Merge pull request #43322 from rallytime/merge-2017.7
319834
319835         · b1062f8c15 Merge branch '2016.11' into '2017.7'
319836
319837           · 02867fdcd2 Merge pull request #43277 from rallytime/owners-file
319838
319839             · 2b4da0f0e7 Add CODEOWNERS file
319840
319841           · 1c1c484479 Merge pull request #43312 from lordcirth/fix-cron-docs
319842
319843             · ec94a13750 cron docs: Remind user to  use  quotes  for  special
319844               strings
319845
319846           · 0d1ed4b750    Merge    pull    request    #43290    from    lord‐
319847             cirth/fix-file-path-docs
319848
319849             · 14a4591854 file.py docs: correct group and mode
319850
319851             · d4214ca283 file.py docs: specify absolute paths
319852
319853           · 26ff89539e   Merge   pull   request   #43274    from    terminal‐
319854             mage/fix-int-types
319855
319856             · d533877743 Use six.integer_types instead of int
319857
319858           · cf21f91fb2    Merge    pull    request    #43271    from   twang‐
319859             boy/win_fix_pkg.install
319860
319861             · 91b062f564 Fix formatting issue, spaces surrounding +
319862
319863       · PR  #43324:  (twangboy)  Fix  unit.modules.test_chef  for  Windows  @
319864         2017-09-05 16:40:11 UTC
319865
319866         · 62429c547d  Merge  pull  request #43324 from twangboy/fix_unit.mod‐
319867           ules.test_chef
319868
319869         · 5bd5ea042a Fix unit.modules.test_chef for Windows
319870
319871       · PR #43268:  (rallytime)  Back-port  #43237  to  2017.7  @  2017-09-01
319872         18:17:13 UTC
319873
319874         · PR  #43237: (timka) .utils.aws.get_location() expects a dict (refs:
319875           #43268)
319876
319877         · 367668a0a3 Merge pull request #43268 from rallytime/bp-43237
319878
319879         · 047ad07da4 .utils.aws.get_location() expects a dict
319880
319881       · PR #43270: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
319882         @ 2017-09-01 18:09:46 UTC
319883
319884         · 02504dd363 Merge pull request #43270 from rallytime/merge-2017.7
319885
319886         · f8b025f6dc Merge branch '2016.11' into '2017.7'
319887
319888         · 3a0b02f3ae     Merge    pull    request    #43228    from    twang‐
319889           boy/win_fix_pkg.install
319890
319891           · 13dfabb1ce Fix regex statement, add .
319892
319893           · 31ff69f0ad Add underscore to regex search
319894
319895           · 3cf2b6575c Fix spelling
319896
319897           · ed030a35a5 Use regex to detect salt-minion install
319898
319899           · e5daff495a Fix pkg.install
319900
319901         · b4c689dff5   Merge   pull   request    #43191    from    viktorkri‐
319902           vak/fix-apache-config-multi-entity
319903
319904           · c15bcbe1cc  Merge  remote-tracking branch 'upstream/2016.11' into
319905             fix-apache-config-multi-entity
319906
319907           · 4164047951 Fix apache.config  with  multiple  statement  At  this
319908             moment  when you post more than one statement in config only last
319909             is used. Also file is rewrited multiple times until  last  state‐
319910             ment    is    written.    Example:    salt    '*'   apache.config
319911             /etc/httpd/conf.d/ports.conf     config="[{'Listen':     '8080'},
319912             {'Proxy':  "Something"}]"  Ends  only with    Proxy Something and
319913             ignore Listen 8080, This patch fix this issue.
319914
319915         · b90e59ede9 Merge pull request #43154 from lomeroe/bp-43116-2016.11
319916
319917         · 8f593b0b02 verify that files exist before trying  to  remove  them,
319918           win_file.remove raises an exception if the file does not exist
319919
319920         · 33a30bac06  correcting bad format statement in search for policy to
319921           be disabled
319922
319923         · acc3d7ac82 correct fopen calls from salt.utils for 2016.11's  utils
319924           function
319925
319926         · 2da1cdd109 lint fix
319927
319928         · 61bd12c0de  track  xml namespace to ensure policies w/duplicate IDs
319929           or Names do not conflict
319930
319931         · f232bed9f9 add additional checks for ADM  policies  that  have  the
319932           same ADMX policy ID (#42279)
319933
319934       · ISSUE #42459: (iavael) Broken ldap groups retrieval in salt.auth.ldap
319935         after upgrade to 2017.7 (refs: #43283)
319936
319937       · PR #43283: (DmitryKuzmenko) Fix ldap token groups auth.  @ 2017-09-01
319938         17:49:46 UTC
319939
319940         · ece0e393ef    Merge    pull   request   #43283   from   DSRCorpora‐
319941           tion/bugs/42459_broken_ldap_groups
319942
319943         · 3ad6911210 Fix for tests:  don't  require  'groups'  in  the  eauth
319944           token.
319945
319946         · 1f104cf85b Fix ldap token groups auth.
319947
319948       · PR  #43149:  (BenoitKnecht) Fix iptables.get_rules when rules contain
319949         --nfmask or --ctmask @ 2017-09-01 15:57:05 UTC
319950
319951         · 4f023c4cb6 Merge pull request #43149 from BenoitKnecht/2017.7.1
319952
319953         · 3c1ddc9bde modules: iptables: correctly parse --nfmask/--ctmask
319954
319955       · ISSUE  #43258:  (nomeelnoj)  metadata_server_grains  problems  (refs:
319956         #43265)
319957
319958       · PR  #43265:  (gtmanfred)  make  sure  meta-data  grains work on ec2 @
319959         2017-09-01 15:31:12 UTC
319960
319961         · cf2b75bb86 Merge pull request #43265 from gtmanfred/2017.7
319962
319963         · 04dd8ebedb make sure meta-data grains work on ec2
319964
319965       · PR #43299: (twangboy)  Fix  unit.netapi.rest_cherrypy.test_tools  for
319966         Windows @ 2017-09-01 15:13:43 UTC
319967
319968         · 618b221895     Merge    pull    request    #43299    from    twang‐
319969           boy/win_fix_netapi_cherrypy
319970
319971         · fd74acb603 Merge branch '2017.7' into win_fix_netapi_cherrypy
319972
319973       · PR #43300: (twangboy) Fix unit.netapi.rest_tornado.test_handlers  for
319974         Windows @ 2017-09-01 13:10:11 UTC
319975
319976         · aee654da92     Merge    pull    request    #43300    from    twang‐
319977           boy/win_fix_netapi_rest_tornado
319978
319979         · c93d2ed386 Use os.sep instead of '/'
319980
319981         · 3fbf24b91a Use os.sep instead of '/'
319982
319983       · ISSUE #43259: (mahesh21) NameError: global  name  '__opts__'  is  not
319984         defined (refs: #43266)
319985
319986       · PR  #43278:  (gtmanfred) bootstrap can come from dunders @ 2017-08-31
319987         13:31:20 UTC
319988
319989         · PR #43266:  (gtmanfred)  switch  virtualbox  cloud  driver  to  use
319990           __utils__ (refs: #43278)
319991
319992         · aed2975979 Merge pull request #43278 from gtmanfred/virtualbox
319993
319994         · c4ae2de30f bootstrap can come from dunders
319995
319996       · PR  #42975:  (brejoc)  Added  unit  tests  for  Kubernetes  module  @
319997         2017-08-30 20:30:16 UTC
319998
319999         · 479e0e06ac Merge pull request #42975  from  brejoc/tests-for-kuber‐
320000           netes-module
320001
320002         · fdad9177b5 Merge branch '2017.7' into tests-for-kubernetes-module
320003
320004         · c227cb25ad Skipping test on ImportError
320005
320006         · bd76a870ce Dunder vars are now defined via setup_loader_modules
320007
320008         · 3c99e61637 Renamed test to match new convention
320009
320010         · caf78d206d Fixed imports for pytest
320011
320012         · c8e98c8d8a Added unit tests for Kubernetes module
320013
320014       · ISSUE  #42935: (BenjaminSchubert) docker_image.present always ends up
320015         failing even on correct result. (refs: #43176)
320016
320017       · PR #43176: (terminalmage) docker_image states: Handle Hub images pre‐
320018         fixed with "docker.io/" @ 2017-08-30 20:08:13 UTC
320019
320020         · ca7df1d4cf Merge pull request #43176 from terminalmage/issue42935
320021
320022         · df18a89836 Lint: Remove unused import
320023
320024         · 7279f98e92  docker_image  states:  Handle  Hub images prefixed with
320025           "docker.io/"
320026
320027         · f7c945f6e4 Prevent spurious "Template does not exist" error
320028
320029   Salt 2017.7.4 Release Notes
320030       Version 2017.7.4 is a bugfix release for 2017.7.0.
320031
320032   Statistics
320033       · Total Merges: 8
320034
320035       · Total Issue References: 4
320036
320037       · Total PR References: 11
320038
320039       · Contributors: 6  (Ch3LL,  garethgreenaway,  gtmanfred,  marccardinal,
320040         rallytime, terminalmage)
320041
320042   Changelog for v2017.7.3..v2017.7.4
320043       Generated at: 2018-05-26 21:48:28 UTC
320044
320045       · PR  #46074:  (Ch3LL)  Update  2017.7.4 Release Notes with new fixes @
320046         2018-02-16 16:47:56 UTC
320047
320048         · b5b083fd26 Merge pull request #46074 from Ch3LL/update-7.4
320049
320050         · 8d0eeeb059 Update 2017.7.4 Release Notes with new fixes
320051
320052       · ISSUE #45790: (bdarnell) Test with Tornado 5.0b1 (refs: #46066)
320053
320054       · PR #46066: (rallytime) Pin tornado version  in  requirements  file  @
320055         2018-02-16 16:40:05 UTC
320056
320057         · 32f3d00e44 Merge pull request #46066 from rallytime/pin-tornado
320058
320059         · 6dc1a3b9dc Pin tornado version in requirements file
320060
320061       · PR  #46036:  (terminalmage)  git.latest: Fix regression with identity
320062         file usage @ 2018-02-16 13:57:23 UTC
320063
320064         · 85761ee650 Merge pull request #46036 from terminalmage/issue43769
320065
320066         · e2140d9a84 Mock the ssh.key_is_encrypted utils func
320067
320068         · 169924b3fe Move ssh.key_is_encrypted to a utils module temporarily
320069
320070         · 54f4d78f7a Only keep ssh.py in the Windows installer
320071
320072         · 5f04531e1b Keep ssh state and execution modules in the installer
320073
320074         · f2b69f703d git.latest: Fix regression with identity file usage
320075
320076       · PR #46009: (Ch3LL) Add 2017.7.4 Release Notes with PRs  @  2018-02-13
320077         16:40:30 UTC
320078
320079         · 6d534c6e7e Merge pull request #46009 from Ch3LL/rn_7.4
320080
320081         · ac0baf4b34 Add 2017.7.4 Release Notes with PRs
320082
320083       · ISSUE #45976: (ghost) 6a5e0f9 introduces regression that breaks Vault
320084         module for salt masterless (refs: #45981)
320085
320086       · PR #45981: (gtmanfred) use local config for vault when  masterless  @
320087         2018-02-13 15:22:01 UTC
320088
320089         · ca76a0b328 Merge pull request #45981 from gtmanfred/2017.7.3
320090
320091         · 0d448457dc apparently local is not set by default
320092
320093         · 2a92f4bc16 use local config for vault when masterless
320094
320095       · ISSUE  #45915:  (MatthiasKuehneEllerhold)  2017.7.3: Salt-SSH & Vault
320096         Pillar: Permission denied "minion.pem" (refs: #45928)
320097
320098       · PR #45953: (rallytime) Back-port  #45928  to  2017.7.3  @  2018-02-09
320099         22:29:10 UTC
320100
320101         · PR  #45928:  (garethgreenaway) [2017.7] Fixing vault when used with
320102           pillar over salt-ssh (refs: #45953)
320103
320104         · 6530649dbc    Merge    pull    request    #45953    from     rally‐
320105           time/bp-45928-2017.7.3
320106
320107         · 85363189d1 Fixing vault when used with pillar over salt-ssh
320108
320109       · ISSUE #45893: (CrackerJackMack) archive.extracted ValueError "No path
320110         specified" in 2017.7.3 (refs: #45902)
320111
320112       · PR #45934: (rallytime) Back-port  #45902  to  2017.7.3  @  2018-02-09
320113         16:31:08 UTC
320114
320115         · PR  #45902:  (terminalmage)  Check the effective saltenv for cached
320116           archive (refs: #45934)
320117
320118         · fb378cebb0 Merge pull request #45934 from rallytime/bp-45902
320119
320120         · bb83e8b345 Add regression test for issue 45893
320121
320122         · cdda66d759 Remove duplicated section in docstring and fix example
320123
320124         · 4b6351cda6 Check the effective saltenv for cached archive
320125
320126       · PR #45935: (rallytime) Back-port  #45742  to  2017.7.3  @  2018-02-09
320127         14:02:26 UTC
320128
320129         · PR #45742: (marccardinal) list.copy() is not compatible with python
320130           2.7 (refs: #45935)
320131
320132         · 0d74151c71 Merge pull request #45935 from rallytime/bp-45742
320133
320134         · 6a0b5f7af3 Removed the chained copy
320135
320136         · ad1150fad4 list.copy() is not compatible with python 2.7
320137
320138   Salt 2017.7.5 Release Notes
320139       Version 2017.7.5 is a bugfix release for 2017.7.0.
320140
320141   Statistics
320142       · Total Merges: 213
320143
320144       · Total Issue References: 58
320145
320146       · Total PR References: 202
320147
320148       · Contributors:   52   (Ch3LL,   DmitryKuzmenko,    GwiYeong,    L4rS6,
320149         SteffenKockel,  The-Loeki,  amendlik,  andreaspe,  angeloudy,  aphor,
320150         bdrung, cebe,  ciiqr,  damon-atkins,  danlsgiga,  ddoh94,  dmurphy18,
320151         dwoz,   eliasp,   frogunder,   garethgreenaway,  gclinch,  gtmanfred,
320152         jfindlay,   kstreee,   marccardinal,   mcalmer,   mchugh19,   meaksh,
320153         michelsen,  nullify005,  oarmstrong, oeuftete, philpep, racker-markh,
320154         rallytime, redbaron4, roaldnefs,  rongshengfang,  rongzeng54,  rrroo,
320155         samilaine,   samodid,   skizunov,   terminalmage,  tintoy,  twangboy,
320156         viktordaniel, vutny, while0pass, whytewolf, zer0def)
320157
320158   Changes to file.blockreplace State
320159       The append_newline argument was added to this state.  Additionally,  to
320160       improve  idempotence,  if the string represented by marker_end is found
320161       in the middle of the line, the content preceding  the  marker  will  be
320162       removed  when  the  block  is  replaced.  This  allows  one  to  remove
320163       append_newline: False from the SLS and have the block properly replaced
320164       if  the  end  of  the  content  block  is  immediately  followed by the
320165       marker_end (i.e. no newline before the marker).
320166
320167       NOTE:
320168          This will require changes to your SLS if your  marker_end  does  not
320169          include the very beginning of the content you want to keep.
320170
320171       See the file.blockreplace state documentation for further information.
320172
320173   Changelog for v2017.7.4..v2017.7.5
320174       Generated at: 2018-05-26 21:50:00 UTC
320175
320176       · PR  #46612:  (Ch3LL)  Add  changelog  to  2017.7.5  release  notes  @
320177         2018-03-19 20:47:38 UTC
320178
320179         · 19bb725698 Merge pull request #46612 from Ch3LL/7.5_rn
320180
320181         · 6076bfa2ee Add changelog to 2017.7.5 release
320182
320183       · PR #46572: (dmurphy18) Addition of -sa flag  to  allow  for  revision
320184         numbers other than -0 or -1 @ 2018-03-19 20:07:26 UTC
320185
320186         · 31c78aef11 Merge pull request #46572 from dmurphy18/update_xxxbuild
320187
320188         · c87511570d Merge branch '2017.7.5' into update_xxxbuild
320189
320190       · ISSUE   saltstack/salt-jenkins#884:   (gtmanfred)   [2017.7.5][Fedora
320191         27][py2/py3]                         integration.states.test_npm.Npm‐
320192         StateTest.test_npm_install_url_referenced_package (refs: #46577)
320193
320194       · PR #46577: (gtmanfred) Fix npm issue @ 2018-03-19 11:51:04 UTC
320195
320196         · cdd768fa4d Merge pull request #46577 from gtmanfred/2017.7.5
320197
320198         · 78cbf7b5cd Fix npm issue
320199
320200         · c76f7eb028 enable debug logging on the minionlog
320201
320202       · PR  #46551:  (terminalmage) Fix failing pkg integration test on Open‐
320203         SUSE @ 2018-03-19 11:50:12 UTC
320204
320205         · e6682c660c Merge pull request #46551  from  terminalmage/salt-jenk‐
320206           ins-885
320207
320208         · 703b5e7e65  Change versionadded to show that 2018.3.0 will not have
320209           this function
320210
320211         · 010d260d06 Rewrite failing Suse pkg integration test
320212
320213         · f3f5dec239 zypper.py: fix version argument being ignored
320214
320215         · 214f2d6ad3 Add pkg.list_repo_pkgs to zypper.py
320216
320217              · 0a541613f2 Additon of -sa flag to allow for  revision  numbers
320218                other than -0 or -1
320219
320220       · ISSUE   saltstack/salt-jenkins#886:   (gtmanfred)   [2017.7.5][Fedora
320221         26/Ubuntu        17.10][py3]         integration.states.test_pip.Pip‐
320222         StateTest.test_46127_pip_env_vars (refs: #46563)
320223
320224       · PR  #46563:  (gtmanfred)  virtualenv  version too old for python3.6 @
320225         2018-03-15 20:17:16 UTC
320226
320227         · bd62699ccb Merge pull request #46563 from gtmanfred/2017.7.5
320228
320229         · 8d5ab72983 virtualenv version too old for python3.6
320230
320231       · PR #46561: (gtmanfred) disable verbose @ 2018-03-15 16:36:41 UTC
320232
320233         · 2916708124 Merge pull request #46561 from gtmanfred/2017.7.5
320234
320235         · 2c39ac6dfb disable verbose
320236
320237       · PR #46537: (rallytime) Back-port  #46529  to  2017.7.5  @  2018-03-14
320238         14:47:28 UTC
320239
320240         · PR #46529: (gtmanfred) retry if there is a segfault (refs: #46537)
320241
320242         · ee3bff6e32 Merge pull request #46537 from rallytime/bp-46529
320243
320244         · 289c7a228f retry if there is a segfault
320245
320246       · PR  #46519:  (rallytime)  Update  man pages for 2017.7.5 @ 2018-03-13
320247         20:00:51 UTC
320248
320249         · 1271536a89    Merge    pull    request    #46519    from     rally‐
320250           time/man-pages-2017.7.5
320251
320252         · 782a5584f5 Update man pages for 2017.7.5
320253
320254       · ISSUE  #46207:  (seanjnkns)  Issue  #44034  still  unresolved  (refs:
320255         #46493)
320256
320257       · ISSUE  #44034:  (seanjnkns)  salt-call  pillar  overrides  broken  in
320258         2016.11.8 and 2017.7.2 (refs: #44483)
320259
320260       · PR  #46493:  (terminalmage) salt-call: don't re-use initial pillar if
320261         CLI overrides passed @ 2018-03-12 20:41:52 UTC
320262
320263         · PR #44483: (terminalmage) salt-call: account  for  instances  where
320264           __pillar__ is empty (refs: #46493)
320265
320266         · 0e90c8ca6f Merge pull request #46493 from terminalmage/issue46207
320267
320268         · f06ff68f10  salt-call: don't re-use initial pillar if CLI overrides
320269           passed
320270
320271       · PR #46450: (gtmanfred) load grains for salt.cmd runner  @  2018-03-12
320272         18:52:22 UTC
320273
320274         · b11a8fc8e0 Merge pull request #46450 from gtmanfred/salt_runner
320275
320276         · 7974ff7264 load grains for salt.cmd runner
320277
320278       · ISSUE #30115: (gtmanfred) [BUG] listen does not appear to respect the
320279         special names directive (refs: #46337)
320280
320281       · PR #46337: (gtmanfred) Fix using names with listen  and  listen_in  @
320282         2018-03-12 18:50:00 UTC
320283
320284         · 22d753364b Merge pull request #46337 from gtmanfred/2017.7
320285
320286         · d6d9e36359 add tests for names and listen/listen_in
320287
320288         · 3f8e0db572 let listen_in work with names
320289
320290         · 7161f4d4df fix listen to be able to handle names
320291
320292       · PR #46413: (meaksh) Explore 'module.run' state module output in depth
320293         to catch "result" properly @ 2018-03-12 18:49:07 UTC
320294
320295         · b7191b8782      Merge      pull      request      #46413       from
320296           meaksh/2017.7-explore-result-in-depth
320297
320298         · 885751634e Add new unit test to check state.apply within module.run
320299
320300         · 9f19ad5264 Rename and fix recursive method
320301
320302         · 1476ace558 Fix Python3 and pylint issue
320303
320304         · 726ca3044d  Explore  'module.run' response to catch the 'result' in
320305           depth
320306
320307       · PR #46496: (gtmanfred)  more  test  kitchen  clean  up  @  2018-03-12
320308         18:28:34 UTC
320309
320310         · 02a79a2014 Merge pull request #46496 from gtmanfred/kitchen
320311
320312         · da002f78d0 include virtualenv path for py3 windows
320313
320314         · fe2efe03ea remove duplicate setup
320315
320316       · ISSUE    #46329:    (bdrung)   test_create_deployments   fails   with
320317         python-kubernetes 4.0.0 (refs: #46330)
320318
320319       · PR #46330: (bdrung) Fix ValueError for template in AppsV1beta1Deploy‐
320320         mentSpec @ 2018-03-12 16:56:18 UTC
320321
320322         · 5c4c182d75   Merge   pull  request  #46330  from  bdrung/fix_kuber‐
320323           netes_test_create_deployments
320324
320325         · 5008c53c44 Fix ValueError for template in AppsV1beta1DeploymentSpec
320326
320327       · ISSUE #46479: (rongshengfang) boto_ec2.instance_present throwing Key‐
320328         Error  exception  when associating EIP to an existing instance (refs:
320329         #46482)
320330
320331       · PR #46482: (rongshengfang) Fix KeyError in salt/states/boto_ec2.py  @
320332         2018-03-12 15:13:13 UTC
320333
320334         · c7e05d3ff4  Merge pull request #46482 from rongshengfang/fix-keyer‐
320335           ror-in-instance_present
320336
320337         · ed8c83e89a Fix KeyError in salt/states/boto_ec2.py when an  EIP  is
320338           being  associated to an existing instance with the instance_present
320339           state.
320340
320341       · PR #46463: (terminalmage) Update  requirements  files  to  depend  on
320342         mock>=2.0.0 @ 2018-03-09 19:24:41 UTC
320343
320344         · 573d51afec Merge pull request #46463 from terminalmage/mock-2.0
320345
320346         · b958b4699c Update requirements files to depend on mock>=2.0.0
320347
320348       · ISSUE  #46299:  (gclinch)  debconf  module  fails  on Python 3 (refs:
320349         #46300)
320350
320351       · PR #46422:  (rallytime)  Back-port  #46300  to  2017.7  @  2018-03-09
320352         19:19:25 UTC
320353
320354         · PR #46300: (gclinch) Python 3 support for debconfmod (fixes #46299)
320355           (refs: #46422)
320356
320357         · a154d35fc7 Merge pull request #46422 from rallytime/bp-46300
320358
320359         · 829dfde8e8 Change stringutils path to old utils path for 2017.7
320360
320361         · 91db2e0782 Python 3 support
320362
320363       · PR #46320: (mcalmer) add warning about future config option change  @
320364         2018-03-09 17:48:29 UTC
320365
320366         · 2afaca17a1 Merge pull request #46320 from mcalmer/warn-kubernetes
320367
320368         · c493ced415 add warning about future config option change
320369
320370       · PR   #46449:   (bdrung)   Make  documentation  theme  configurable  @
320371         2018-03-09 17:47:15 UTC
320372
320373         · c7f95581e3      Merge      pull      request      #46449       from
320374           bdrung/make-doc-theme-configurable
320375
320376         · 4a5da2d144 Make documentation theme configurable
320377
320378       · PR  #46162:  (rallytime)  Add team-suse to CODEOWNERS file for zypper
320379         files @ 2018-03-09 17:46:13 UTC
320380
320381         · 10ce0e9e20 Merge pull request #46162 from  rallytime/team-suse-zyp‐
320382           per-owner
320383
320384         · 13a295a3b7 Add pkg and snapper to team-suse
320385
320386         · 35c7b7b0d3 Add btrfs, xfs, yumpkg, and kubernetes file to team-suse
320387
320388         · 485d777ac0 Add team-suse to CODEOWNERS file for zypper files
320389
320390       · PR  #46434: (gtmanfred) split return key value correctly @ 2018-03-09
320391         17:45:21 UTC
320392
320393         · cac096b311  Merge  pull   request   #46434   from   gtmanfred/high‐
320394           state_return
320395
320396         · d18f1a55a7 fix pylint
320397
320398         · 9e2c3f7991 split return key value correctly
320399
320400       · ISSUE  #44452:  (konstest) salt-cloud can't create snapshots, because
320401         there is a bug in the Unicode name  of  the  virtual  machine  (refs:
320402         #46455)
320403
320404       · PR  #46455:  (whytewolf)  .format  remove fix for #44452 @ 2018-03-09
320405         17:37:19 UTC
320406
320407         · 7dd71101ce    Merge    pull    request    #46455    from     whyte‐
320408           wolf/Issue_44452_unicode_cloud
320409
320410         · 5fe474b1a8 .format remove fix for #44452
320411
320412       · PR  #46428:  (twangboy)  Fix  issue with dev env install on Windows @
320413         2018-03-09 14:52:46 UTC
320414
320415         · 4c8d9026d3 Merge pull request #46428 from twangboy/win_fix_reqs
320416
320417         · e7ab97cc17 Remove six as a hard dep for Salt
320418
320419         · cc67e5c2ef Set six to 1.11.0
320420
320421       · PR #46454: (gtmanfred) fix windows for kitchen @ 2018-03-08  21:19:31
320422         UTC
320423
320424         · e834d9a63b Merge pull request #46454 from gtmanfred/kitchen
320425
320426         · b8ab8434a5 fix windows for kitchen
320427
320428       · ISSUE #46451: (gmacon) SPM fails to start with customized cache loca‐
320429         tion (refs: #46452)
320430
320431       · PR #46452: (gtmanfred) make spm cache_dir instead of all cachedirs  @
320432         2018-03-08 21:12:20 UTC
320433
320434         · 2886dca88f Merge pull request #46452 from gtmanfred/spm_cache_dir
320435
320436         · 169cf7a4e2 make spm cache_dir instead of all cachedirs
320437
320438       · PR #46446: (bdrung) Fix various typos @ 2018-03-08 21:11:47 UTC
320439
320440         · a188984cd9 Merge pull request #46446 from bdrung/fix-typos
320441
320442         · 7e6e80be87 heat: Fix spelling mistake of environment
320443
320444         · a3c54b50f6 Fix various spelling mistakes
320445
320446       · ISSUE #20581: (notpeter) Many environments: one pillar_root (all your
320447         envs are belong to base) (refs: #46309)
320448
320449       · PR  #46309:  (bdrung)  Support  dynamic  pillar_root  environment   @
320450         2018-03-08 19:15:35 UTC
320451
320452         · e35fc5263c Merge pull request #46309 from bdrung/dynamic-pillarenv
320453
320454         · 584b451fd1 Support dynamic pillar_root environment
320455
320456       · ISSUE #44032: (PhilippeAB) blockreplace marker_end isn't applied with
320457         newline (refs: #46430)
320458
320459       · PR  #46430:   (terminalmage)   Improve   reliability/idempotence   of
320460         file.blockreplace state @ 2018-03-08 15:41:38 UTC
320461
320462         · 35fe9827fe Merge pull request #46430 from terminalmage/issue44032
320463
320464         · f9f187e915  Improve  reliability/idempotence  of  file.blockreplace
320465           state
320466
320467       · PR #46429: (twangboy) Fix problem  with  __virtual__  in  win_snmp  @
320468         2018-03-07 23:26:46 UTC
320469
320470         · 2bad0a21c0 Merge pull request #46429 from twangboy/win_fix_snmp
320471
320472         · 8995a9b8de Fix problem with __virtual__ in win_snmp
320473
320474       · PR  #46100:  (jfindlay)  Handle IPv6 scope parameter in resolv.conf @
320475         2018-03-07 19:51:20 UTC
320476
320477         · 93a572f229 Merge pull request #46100 from jfindlay/resolv_scope
320478
320479         · d5561bedaf tests.unit.grains.core add scoped IPv6 nameserver
320480
320481         · 4e2e62d508 salt.utils.dns parse scope param for ipv6 servers
320482
320483       · PR #46420: (bdrung) Fix SSH client exception if SSH is  not  found  @
320484         2018-03-07 17:49:00 UTC
320485
320486         · 5acc1d5c54 Merge pull request #46420 from bdrung/2017.7
320487
320488         · e48c13d9e0 Fix SSH client exception if SSH is not found
320489
320490       · PR  #46379:  (angeloudy)  TypeError: a bytes-like object is required,
320491         not 'str' @ 2018-03-07 15:00:47 UTC
320492
320493         · ca6a76e317 Merge pull request #46379 from angeloudy/2017.7
320494
320495         · 3acb59c74c Merge branch '2017.7' into 2017.7
320496
320497         · d971e0c08b Fix indent
320498
320499         · 269514683f Update http.py
320500
320501         · 908c040ac3 Update http.py
320502
320503         · 51ba3c135b Update http.py
320504
320505         · 14aba24111 fix bytes-object required error in python 3
320506
320507       · PR #46404: (gtmanfred) get 2017.7 ready to switch  over  to  the  new
320508         jenkins @ 2018-03-07 14:29:30 UTC
320509
320510         · 73f9233557 Merge pull request #46404 from gtmanfred/kitchen
320511
320512         · c56baa95a8 clone .git for the version tests
320513
320514         · 3620611b5b fix unhold package for debian
320515
320516         · 5219f7d2ba fix minion log path
320517
320518       · ISSUE  #46192: (asymetrixs) salt-log-setup: AttributeError 'NoneType'
320519         object has no attribute 'flush' (refs: #46310)
320520
320521       · PR #46310: (twangboy) Update the Windows installer  build  scripts  @
320522         2018-03-06 20:21:58 UTC
320523
320524         · ca28cfd4e4  Merge  pull request #46310 from twangboy/win_update_in‐
320525           staller_build
320526
320527         · bcf8b19566 Update the installer build
320528
320529       · PR #46316: (twangboy) Fix issues with the  DSC  module  @  2018-03-06
320530         20:16:18 UTC
320531
320532         · decccbeca3 Merge pull request #46316 from twangboy/win_fix_dsc
320533
320534         · 2042d33d59 Fix issues with the DSC module
320535
320536       · PR  #46394:  (Ch3LL) Add mac py2 and py3 packages to mac installation
320537         docs @ 2018-03-06 16:45:30 UTC
320538
320539         · 95586678c3 Merge pull request #46394 from Ch3LL/mac_doc
320540
320541         · 158add6661 change oxdownload to oxdownload-{python_version}
320542
320543         · 21aa848c89 Add mac py2 and py3 packages to mac installation docs
320544
320545       · ISSUE #44831: (kivoli) cmd.wait deprecated but cannot replicate  con‐
320546         ditional execution with onchanges (refs: #46338)
320547
320548       · PR  #46338: (rallytime) Remove cmd.wait deprecation reference in docs
320549         @ 2018-03-05 21:48:52 UTC
320550
320551         · 07b5d09ac1 Merge pull request #46338 from rallytime/fix-44831
320552
320553         · 90771da999 Remove cmd.wait deprecation reference in docs
320554
320555       · ISSUE #42438: (ajoaugustine) Failed to send message:  hipchat-message
320556         (refs: #46333)
320557
320558       · PR #46333: (danlsgiga) Fixes color parameter mismatch and handles 204
320559         responses correctly @ 2018-03-05 19:42:26 UTC
320560
320561         · 3849e7a085 Merge pull request #46333 from danlsgiga/issue-42438
320562
320563         · 3b13f37b44 Revert changes in the code and change docs instead
320564
320565         · 38114a65d8 Fixes color parameter mismatch and handles 204 responses
320566           correctly
320567
320568       · ISSUE  #44935:  (grinapo)  module.file.replace  string  seems  to  be
320569         mutated into arrays (refs: #46322)
320570
320571       · PR #46322: (terminalmage) yamlify_arg: don't treat leading dashes  as
320572         lists @ 2018-03-05 15:40:17 UTC
320573
320574         · a8f2f1b063 Merge pull request #46322 from terminalmage/issue44935
320575
320576         · 85ac6a9893 yamlify_arg: don't treat leading dashes as lists
320577
320578       · PR #46327: (samilaine) Modify the way a FQDN is handled in the vmware
320579         cloud provider.  @ 2018-03-05 15:35:37 UTC
320580
320581         · da5c282cb2    Merge    pull    request    #46327     from     sami‐
320582           laine/fix-vmware-cloud-fqdn
320583
320584         · 4b8dfb326f  Modify  the  way  a FQDN is handled in the vmware cloud
320585           provider.
320586
320587       · PR   #46318:   (terminalmage)   Skip   type-checking   for    several
320588         gitfs/git_pillar/winrepo params @ 2018-03-05 15:04:27 UTC
320589
320590         · 78c45d3786    Merge    pull    request    #46318   from   terminal‐
320591           mage/squelch-warnings
320592
320593         · 5889b36646 Skip type-checking for several  gitfs/git_pillar/winrepo
320594           params
320595
320596       · ISSUE #45535: (whytewolf) module_dirs left out salt-ssh, leaving cus‐
320597         tom ext_pillars and modules out of salt-ssh (refs: #46312)
320598
320599       · PR #46312: (gtmanfred) add module_dirs to salt  ssh  thin  tarball  @
320600         2018-03-05 15:00:48 UTC
320601
320602         · bb0d6fc263 Merge pull request #46312 from gtmanfred/2017.7
320603
320604         · 749ae580ed add module_dirs to salt ssh thin tarball
320605
320606       · ISSUE  #46127:  (redbaron4) pip.installed does not pass env_vars when
320607         calling freeze to  check  if  package  is  already  installed  (refs:
320608         #46242)
320609
320610       · PR  #46242:  (redbaron4)  Pass  env_vars  to  pip.freeze @ 2018-03-05
320611         14:53:13 UTC
320612
320613         · 88b5f7383d Merge pull request #46242 from redbaron4/fix-46127
320614
320615         · 06dba51617 Make changes from review
320616
320617         · 727ebe1056 Merge branch '2017.7' into fix-46127
320618
320619         · 08d1ee8baf Fix Python3 test errors
320620
320621         · aa9d709015 Pass env_vars to pip.freeze
320622
320623       · PR #46265: (Ch3LL) Add username/password  to  profitbricks  conf  for
320624         cloud tests @ 2018-03-02 21:40:22 UTC
320625
320626         · a0716643e4 Merge pull request #46265 from Ch3LL/profit_cloud
320627
320628         · d4893eab4c  Add  username/password  to  profitbricks conf for cloud
320629           tests
320630
320631       · PR #46306:  (rallytime)  Back-port  #46256  to  2017.7  @  2018-03-02
320632         21:37:26 UTC
320633
320634         · PR #46256: (rallytime) Don't install msgpack 0.5.5 (refs: #46306)
320635
320636         · ed7bffa7e0 Merge pull request #46306 from rallytime/bp-46256
320637
320638         · 6439bce4a8 Don't install msgpack 0.5.5
320639
320640       · PR  #46208:  (terminalmage)  Blacklist os.umask @ 2018-03-02 18:46:07
320641         UTC
320642
320643         · 8c2c4e3316   Merge   pull    request    #46208    from    terminal‐
320644           mage/audit-umask-usage
320645
320646         · 9c92aadce8 Disable blacklisted-function check for legitimate uses
320647
320648         · 58a11aaa26 Disable pylint check in salt-ssh shim
320649
320650         · ecadf67659 Blacklist os.umask
320651
320652         · 31b1d98fcb Replace direct use of os.umask with use of existing con‐
320653           text manager
320654
320655         · 82ce546e18 Prevent failed os.makedirs from leaving  modified  umask
320656           in place
320657
320658       · PR  #46293:  (eliasp)  Fix  Python3 comparison TypeError in salt.mod‐
320659         ules.upstart @ 2018-03-02 16:36:10 UTC
320660
320661         · PR #44624: (eliasp) Fix Traceback when  using  the  service.enabled
320662           state on non-booted systems (refs: #46293)
320663
320664         · 978e869490       Merge      pull      request      #46293      from
320665           eliasp/2017.7-44624-py3-compat
320666
320667         · 2e08b0d9c8 Fix Python3 comparison TypeError in salt.modules.upstart
320668
320669       · ISSUE #46128: (Boulet-) Mountpoint in git_pillar (refs: #46264)
320670
320671       · PR #46264: (terminalmage) Fix incorrect merge conflict  resolution  @
320672         2018-03-02 14:21:13 UTC
320673
320674         · bee4a66d0c Merge pull request #46264 from terminalmage/issue46128
320675
320676         · 68000b7211 Fix incorrect merge conflict resolution
320677
320678       · PR #46296: (vutny) [DOC] Add missing params to pillar.get docstring @
320679         2018-03-02 14:19:41 UTC
320680
320681         · 1e0b3aa348 Merge pull request #46296 from vutny/doc-pillar-get
320682
320683         · 1faa8331e1 [DOC] Add missing params to pillar.get docstring
320684
320685       · PR #45874: (GwiYeong) fix for local client timeout bug  @  2018-03-01
320686         19:39:35 UTC
320687
320688         · c490a50452       Merge      pull      request      #45874      from
320689           GwiYeong/2017.7-local-client-hotfix
320690
320691         · 949aefc82b Merge branch '2017.7' into 2017.7-local-client-hotfix
320692
320693         · 45d663f435 fix for local client timeout bug
320694
320695       · PR #46261: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
320696         @ 2018-03-01 17:55:23 UTC
320697
320698         · 8e8a3a2897 Merge pull request #46261 from rallytime/merge-2017.7
320699
320700         · 8256ae5ee5 Merge branch '2016.11' into '2017.7'
320701
320702           · 140ef4d6b9 Merge pull request #46253 from rallytime/doc-banners
320703
320704             · 07ed8c7db3 Update docbanner for SaltConf18
320705
320706           · 9fe86ee520    Merge   pull   request   #46179   from   wedge-jar‐
320707             rad/cifs-remount-fix
320708
320709             · 9ca25c4313 Add  credentials  and  secretfile  to  mount.mounted
320710               mount_invisible_keys
320711
320712       · ISSUE #44046: (t2b) docker_container.running states fail if the argu‐
320713         ment ulimits is set and a watch requisite is triggered (refs: #46276)
320714
320715       · PR #46276: (terminalmage) salt.utils.docker.translate_input:  operate
320716         on deepcopy of kwargs @ 2018-03-01 15:37:44 UTC
320717
320718         · 88a3166589 Merge pull request #46276 from terminalmage/issue44046
320719
320720         · a14d4daf8c  salt.utils.docker.translate_input:  operate on deepcopy
320721           of kwargs
320722
320723       · ISSUE #46182: (oeuftete)  docker_container.running  is  sensitive  to
320724         HostConfig Ulimits ordering (refs: #46183)
320725
320726       · PR #46183: (oeuftete) Fix docker_container.running HostConfig Ulimits
320727         comparison @ 2018-02-28 22:22:11 UTC
320728
320729         · da60399b8f Merge pull request #46183 from  oeuftete/fix-docker-con‐
320730           tainer-running-host-config-ulimits
320731
320732         · 5b09644429 Sort lists from Ulimits before comparing
320733
320734         · 0b80f02226 Update old dockerng doc ref
320735
320736       · ISSUE   #46259:  (terminalmage)  git_pillar_branch  overrides  branch
320737         defined in git_pillar configuration (refs: #46260)
320738
320739       · ISSUE #46258: (terminalmage) git_pillar_base doesn't work for  values
320740         when PyYAML loads them as int/float (refs: #46260)
320741
320742       · PR  #46260: (terminalmage) Normalize global git_pillar/winrepo config
320743         items @ 2018-02-28 22:05:26 UTC
320744
320745         · 509429f08c Merge pull request #46260 from terminalmage/git_pillar
320746
320747         · b1ce2501fd Normalize global git_pillar/winrepo config items
320748
320749       · PR #46101: (jfindlay) In OpenRC exec module, make sure to ignore ret‐
320750         code on status @ 2018-02-28 20:01:37 UTC
320751
320752         · a97a3e6fb0 Merge pull request #46101 from jfindlay/openrc_ret
320753
320754         · 2eef3c65a6 tests.unit.modules.gentoo_service add retcode arg
320755
320756         · 81ec66fd8b modules.gentoo_service handle stopped retcode
320757
320758       · PR #46254: (rallytime) Update enterprise banner @ 2018-02-28 19:54:03
320759         UTC
320760
320761         · 1a17593c05 Merge pull request #46254 from rallytime/enterprise-ban‐
320762           ner
320763
320764         · f5fae3dedf Update enterprise banner
320765
320766       · PR  #46250: (terminalmage) Add documentation to the fileserver runner
320767         @ 2018-02-28 18:53:49 UTC
320768
320769         · 8c50ff32bd Merge pull request #46250 from terminalmage/runner-docs
320770
320771         · 91b4895087 Add documentation to the fileserver runner
320772
320773       · ISSUE #46215:  (racker-markh)  salt-cloud  will  only  intermittently
320774         build  rackspace  cloud instances with purely private networks (refs:
320775         #46243)
320776
320777       · PR #46243: (racker-markh) Don't ignore 'private_ips' unnecessarily  @
320778         2018-02-28 15:28:29 UTC
320779
320780         · 53067cca43  Merge  pull  request #46243 from racker-markh/fix-open‐
320781           stack-private-network-issue
320782
320783         · 50c1e140f0 Don't check deny private_ips  already  in  the  original
320784           list of private_ips
320785
320786       · ISSUE #46109: (rombert) archive.extracted takes a long time (> 4 min‐
320787         utes) even though directory exists (refs: #46239)
320788
320789       · PR #46239: (terminalmage) archive.extracted: don't check source  file
320790         when if_missing path exists @ 2018-02-28 15:01:36 UTC
320791
320792         · 15405c8760 Merge pull request #46239 from terminalmage/issue46109
320793
320794         · 586d8b0dcf archive.extracted: don't check source file when if_miss‐
320795           ing path exists
320796
320797       · PR #46221: (terminalmage) Fix hanging tests in  integration  suite  @
320798         2018-02-27 21:32:25 UTC
320799
320800         · 633e1208e4  Merge  pull request #46221 from terminalmage/salt-jenk‐
320801           ins-854
320802
320803         · 0eb012659c Fix hanging tests in integration suite
320804
320805       · PR #46214:  (vutny)  [DOC]  Replace  note  rST  block  for  GitHub  @
320806         2018-02-27 17:42:37 UTC
320807
320808         · 7917277345    Merge   pull   request   #46214   from   vutny/formu‐
320809           las-readme-formatting
320810
320811         · d702846961 [DOC] Replace note rST block for GitHub
320812
320813       · PR #46203: (Ch3LL) Add  2017.7.5  Release  Notes  File  @  2018-02-26
320814         21:17:48 UTC
320815
320816         · a2e099b744 Merge pull request #46203 from Ch3LL/7.5_release
320817
320818         · 6ddf3246ce Add 2017.7.5 Release Notes File
320819
320820       · PR  #46201: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
320821         @ 2018-02-26 18:56:47 UTC
320822
320823         · 973b227818 Merge pull request #46201 from rallytime/merge-2017.7
320824
320825         · 9ac2101baa Merge branch '2016.11' into '2017.7'
320826
320827         · a4c5417d23    Merge    pull    request    #46132    from     rally‐
320828           time/2016.11_update_version_doc
320829
320830           · d2196b6df3 Update release versions for the 2016.11 branch
320831
320832       · ISSUE  #34423:  (bdrung) oscodename wrong on Debian 8 (jessie) (refs:
320833         #46139)
320834
320835       · PR #46139: (bdrung) Add os grains test cases  for  Debian/Ubuntu  and
320836         fix oscodename on Ubuntu @ 2018-02-26 16:44:04 UTC
320837
320838         · 89cf2e5061 Merge pull request #46139 from bdrung/os-grains
320839
320840         · 0b445f2a37 tests: Add unit tests for _parse_os_release()
320841
320842         · f6069b77ed Fix osfinger grain on Debian
320843
320844         · 8dde55a761 tests: Add os_grains test cases for Debian
320845
320846         · ff02ab9937 tests: Add Ubuntu 17.10 (artful) os_grains test case
320847
320848         · 77d5356aba Fix incorrect oscodename grain on Ubuntu
320849
320850         · 7e62dc9fd2 tests: Support reading os-release files from disk
320851
320852         · a92ec0db1b Make _parse_os_release() always callable
320853
320854         · eee1fe5b38 tests: Dissolve _run_ubuntu_os_grains_tests
320855
320856         · 1d6ef731fe tests: Deduplicate _run_os_grains_tests()
320857
320858       · PR  #46133: (rallytime) Update release versions for the 2017.7 branch
320859         @ 2018-02-26 16:42:43 UTC
320860
320861         · c8c71e75ca    Merge    pull    request    #46133    from     rally‐
320862           time/2017.7_update_version_doc
320863
320864         · 0ed338e643 Update release versions for the 2017.7 branch
320865
320866       · ISSUE  #46124:  (moremo) GitFS  saltenv ref won't pick up multiple of
320867         the same ref (refs: #46185)
320868
320869       · PR #46185: (terminalmage) gitfs: Fix detection of base env  when  its
320870         ref is also mapped to a different env @ 2018-02-26 14:52:16 UTC
320871
320872         · 390d592aa6 Merge pull request #46185 from terminalmage/issue46124
320873
320874         · 3b58dd0da0  gitfs:  Fix  detection of base env when its ref is also
320875           mapped to a different env
320876
320877       · PR #46148: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
320878         @ 2018-02-23 19:21:38 UTC
320879
320880         · 705caa8cca Merge pull request #46148 from rallytime/merge-2017.7
320881
320882         · 25deebf7a6 Merge branch '2017.7.3' into '2017.7'
320883
320884       · PR  #46137:  (damon-atkins) [2017.7] update ec2 pillar arguments with
320885         better names @ 2018-02-23 13:32:04 UTC
320886
320887         · PR  #45878:  (damon-atkins)  ec2_pillar  update  to   fix   finding
320888           instance-id (refs: #46137)
320889
320890         · 10a47dcbc4       Merge      pull      request      #46137      from
320891           damon-atkins/2017.7_fix_ec2_pillar2
320892
320893         · 99e7f6a7d3 update ec2 pillar arguments with better names
320894
320895       · ISSUE #46004: (github-abcde) opts file_roots  gets  overwritten  with
320896         pillar_roots in orchestration run (refs: #46145)
320897
320898       · PR  #46145:  (terminalmage) 3 small fixes for runners/orchestration @
320899         2018-02-22 22:11:11 UTC
320900
320901         · d74cb14557 Merge pull request #46145 from terminalmage/issue46004
320902
320903         · 467ff841cd pillarenv argument should default to None  and  not  the
320904           value from opts
320905
320906         · 2a185855ea  Better  solution  for  fixing  the opts munging in pil‐
320907           lar.show_pillar runner
320908
320909         · e2c4702e0c Update tests to reflect changes to the SaltCacheLoader
320910
320911         · f9301fcc34 Document behavior  when  orchestration  runnner  invoked
320912           with non-orch states
320913
320914         · 9644579cd0  Instantiate  the  SaltCacheLoader's  fileclient  in the
320915           __init__
320916
320917         · f9a6c86e21  salt.runners.pillar.show_pillar:  don't  modify  master
320918           opts
320919
320920         · e0940a9fc4 Properly detect use of the state.orch alias and add orch
320921           jid to kwargs
320922
320923       · PR #46135:  (rallytime)  Back-port  #46088  to  2017.7  @  2018-02-22
320924         15:11:14 UTC
320925
320926         · PR  #46088:  (rongzeng54) fix kernel subpackages install bug (refs:
320927           #46135)
320928
320929         · 0398ce0482 Merge pull request #46135 from rallytime/bp-46088
320930
320931         · 57a60f62a3 fix kernel subpackages install bug
320932
320933       · ISSUE #45837: (johje349) Salt Cloud does not recognise all  Digitalo‐
320934         cean sizes (refs: #46115)
320935
320936       · PR  #46136:  (rallytime)  Back-port  #46115  to  2017.7  @ 2018-02-21
320937         19:17:23 UTC
320938
320939         · PR #46115: (samodid) update digitalocean salt-cloud  driver  (refs:
320940           #46136)
320941
320942         · 1fcbbd1e02 Merge pull request #46136 from rallytime/bp-46115
320943
320944         · 0a481d707f update digitalocean salt-cloud driver
320945
320946       · PR  #45911: (twangboy) LGPO Module: Convert reg values to unicode for
320947         debug @ 2018-02-21 19:02:17 UTC
320948
320949         · 11e5e8eb86    Merge    pull    request    #45911    from     twang‐
320950           boy/win_fix_lgpo_unicode
320951
320952         · bcde5cc625 Update log statement
320953
320954         · e9fa53d3b7 Change the Invalid Data Message
320955
320956         · c818d4b791 Convert reg values to unicode for debug
320957
320958       · ISSUE  #46085:  (zmedico) 2017.7.3 salt master with "open_mode: True"
320959         becomes unresponsive  if  minion  submits  empty  public  key  (refs:
320960         #46123)
320961
320962       · PR  #46123:  (gtmanfred)  If  no  pubkey is passed in openmode fail @
320963         2018-02-21 19:01:47 UTC
320964
320965         · 524a6a72a0 Merge pull request #46123 from gtmanfred/2017.7
320966
320967         · 8d36730ef7 If no pubkey is passed in openmode fail
320968
320969       · PR #46131: (vutny)  [DOC]  Fix  code-blocks  for  reStructuredText  @
320970         2018-02-21 15:47:05 UTC
320971
320972         · e48fa58012 Merge pull request #46131 from vutny/doc-formula-format‐
320973           ting
320974
320975         · d8fb051e44 [DOC] Fix code-blocks for reStructuredText
320976
320977       · ISSUE #42763: (xuhcc) acme.cert state falsely reports  about  renewed
320978         certificate (refs: #44603)
320979
320980       · ISSUE  #40208:  (bewing)  Inconsistent  state  return  when test=True
320981         (refs: #44603)
320982
320983       · PR #46118:  (rallytime)  Back-port  #44603  to  2017.7  @  2018-02-21
320984         15:21:42 UTC
320985
320986         · PR  #44603: (oarmstrong) Fix acme state to correctly return on test
320987           (refs: #46118)
320988
320989         · 6cea44ee95 Merge pull request #46118 from rallytime/bp-44603
320990
320991         · 2a2c23c66b Fix acme state to correctly return on test
320992
320993       · PR #46121: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
320994         @ 2018-02-21 10:07:18 UTC
320995
320996         · 16c382b55b Merge pull request #46121 from rallytime/merge-2017.7
320997
320998         · 4c2f504a85 Merge branch '2016.11' into '2017.7'
320999
321000           · e197a0fbc5 Merge pull request #46076 from rallytime/bp-46066
321001
321002             · b94d73c53e Pin tornado version in requirements file
321003
321004           · c72c1bde5f Merge pull request #46093 from wedge-jarrad/contribut‐
321005             ing-doc-typo
321006
321007             · 5a0fe104f7 Fix contributing doc typo
321008
321009           · 3cb83ea87e   Merge    pull    request    #45992    from    bgrid‐
321010             ley/fix-routes-present-state
321011
321012             · 679787699c        Add        vpc_peering_connection_id       to
321013               describe_route_tables route_keys
321014
321015           · 8a60635da0 Merge pull request #46000 from terminalmage/issue45910
321016
321017             · 8cf13325ee salt.states.reg.present: Prevent traceback when  reg
321018               data is binary
321019
321020           · 1f44e285dc    Merge    pull   request   #46011   from   terminal‐
321021             mage/fix-solaris-runas
321022
321023             · 8ee0a3a28b Move Solaris USER workaround up a bit
321024
321025             · 13cdb52690 cmdmod.py: runas workaround for platforms that don't
321026               set a USER env var
321027
321028           · 30fb8f7be0    Merge    pull    request    #45467    from   twang‐
321029             boy/win_exclude_hidden
321030
321031             · ea41215646 Make the regex pattern less greedy
321032
321033             · 6d223cffa7 Add tip about passing bogus saltenv
321034
321035             · 1282ae3a93 Skip hidden first
321036
321037             · 437a457911 Skip hidden dirs in genrepo
321038
321039             · 87dc554dc3 Add final updates to docs
321040
321041             · 3646d5c897 Fix some docs formatting, add some warnings
321042
321043             · 35c81faf5a Log the source_dir when caching the files
321044
321045             · 91c3da8dfd Improve docs for pkg.refresh_db
321046
321047             · 4803d92707 Add some documentation
321048
321049             · 08b82e0875 Fix lint error, use raw
321050
321051             · 2f712691cf Exclude hidden directories in pkg.refresh_db
321052
321053       · ISSUE #46106: (amendlik) yumpkg.refresh_db hangs (refs: #46107)
321054
321055       · PR  #46107:  (amendlik)  Add  --assumeyes  on  YUM/DNF   commands   @
321056         2018-02-20 22:52:06 UTC
321057
321058         · b92346645b Merge pull request #46107 from amendlik/yumpkg-assumeyes
321059
321060         · 8d9a432fb2 Add --assumeyes to yum/dnf commands in yumpkg.refresh_db
321061
321062       · PR #46094: (kstreee) Fix memory leak @ 2018-02-20 21:36:02 UTC
321063
321064         · 14fe423e0c Merge pull request #46094 from kstreee/fix-memory-leak
321065
321066         · 48080a1bae  Fixes  memory leak, saltclients should be cleaned after
321067           used.
321068
321069         · aba00805f4  Adds  set_close_callback  function  to  removes  stream
321070           instance after closed from a set streams.
321071
321072       · ISSUE #13: (thatch45) Expand the stats module (refs: #46097)
321073
321074       · PR  #46097:  (vutny)  [DOC] Put https link to the formulas doc page @
321075         2018-02-20 17:07:39 UTC
321076
321077         · 320c2037e1 Merge pull request #46097 from vutny/fix-https-link
321078
321079         · 2062fd0e5c [DOC] Put https link to the formulas doc page
321080
321081       · PR #46103: (bdrung) Fix skipping Kubernetes tests if  client  is  not
321082         installed @ 2018-02-20 16:33:42 UTC
321083
321084         · 0eb137fb4e Merge pull request #46103 from bdrung/2017.7
321085
321086         · dd3f936557 Fix skipping Kubernetes tests if client is not installed
321087
321088       · PR  #46070: (Ch3LL) add required arg to dns_check jinja doc example @
321089         2018-02-16 20:00:44 UTC
321090
321091         · c3a938e994 Merge pull request #46070 from Ch3LL/fix-doc-dns
321092
321093         · 2a5d855d97 add required arg to dns_check jinja doc example
321094
321095       · PR #46067:  (rallytime)  Back-port  #45994  to  2017.7  @  2018-02-16
321096         19:55:27 UTC
321097
321098         · PR #45994: (nullify005) Fix hosted zone Comment updates & quote TXT
321099           entries correctly (refs: #46067)
321100
321101         · 01042e9d77 Merge pull request #46067 from rallytime/bp-45994
321102
321103         · a07bb48726 Correct formatting for lint
321104
321105         · e8678f633d Fix Comment being None not '' and inject quotes into the
321106           TXT ChangeRecords
321107
321108       · ISSUE  #42932:  (bobrik)  cmd.run with bg: true doesn't fail properly
321109         (refs: #45932)
321110
321111       · PR #45932: (The-Loeki) Fix cmd run_all bg error @ 2018-02-16 14:53:15
321112         UTC
321113
321114         · PR #39980: (vutny) [2016.3] Allow to use bg kwarg for cmd.run state
321115           function (refs: #45932)
321116
321117         · 5e0e2a30e2      Merge      pull      request      #45932       from
321118           The-Loeki/fix_cmd_run_all_bg
321119
321120         · f83da27ca5 Merge branch '2017.7' into fix_cmd_run_all_bg
321121
321122         · 771758fbca Merge branch '2017.7' into fix_cmd_run_all_bg
321123
321124         · c54fcf7a2d cmd: move separate DRY logging blocks into _run, prevent
321125           logging on bg=True, don't use_vt on bg
321126
321127         · ebb1f81a9b cmd run: when running in bg, force ignore_retcode=True
321128
321129       · PR #46062: (vutny) Fix typo in postgres_user.present state function @
321130         2018-02-16 14:44:29 UTC
321131
321132         · 45ace39961       Merge      pull      request      #46062      from
321133           vutny/pg-user-state-fix-typo
321134
321135         · a5fbe4e95e Fix typo in postgres_user.present state function
321136
321137       · PR #45763: (twangboy) Fix rehash function in win_path.py @ 2018-02-15
321138         20:05:16 UTC
321139
321140         · edcb64de76     Merge    pull    request    #45763    from    twang‐
321141           boy/win_fix_path_rehash
321142
321143         · b9a2bc7b29 Fix hyperlinks
321144
321145         · 29912adc15 Move the test_rehash test to test_win_functions
321146
321147         · adc594c183 Remove duplicate link
321148
321149         · e84628c1eb Add some comments to the code
321150
321151         · d50d5f582f Add additional info to docs for broadcast_setting_change
321152
321153         · 3a54e09cd9 Rename setting to message
321154
321155         · a3f9e99bc0 Change to a generic function to broadcast change
321156
321157         · 79299361c3 Create refresh_environment salt util
321158
321159         · 967b83940c Fix rehash function
321160
321161       · PR #46042: (jfindlay) Revise file_tree pillar module documentation  @
321162         2018-02-15 19:29:52 UTC
321163
321164         · PR  #46027: (jfindlay) Revise file_tree pillar module documentation
321165           (refs: #46042)
321166
321167         · a46fbc546c Merge pull request #46042 from jfindlay/file_tree_doc
321168
321169         · 0ba4954a4b salt.pillar.file_tree revise module documentation
321170
321171         · 3c6a5bf967 salt.pillar.file_tree provide better debug info
321172
321173         · bb1cdc451e salt.pillar.file_tree no  stack  trace  when  nodegroups
321174           undefined
321175
321176       · PR  #46013:  (rallytime)  Back-port  #45598  to  2017.7  @ 2018-02-15
321177         16:11:05 UTC
321178
321179         · PR #45598: (nullify005) Patch around ResourceRecords needing to  be
321180           present for AliasTarget (refs: #46013)
321181
321182         · de86126dd8 Merge pull request #46013 from rallytime/bp-45598
321183
321184         · 2ea3fef543 No lazy logging
321185
321186         · f427b0febc Change formatting style of logging lines per review
321187
321188         · ebb244396b  Patch  around ResourceRecords needing to be present for
321189           AliasTarget entries to work
321190
321191       · ISSUE #45825: (philpep) selinux.fcontext_policy_present doesn't  work
321192         on Centos 6 with filetype = all files (refs: #45826)
321193
321194       · PR  #46016:  (rallytime)  Back-port  #45826  to  2017.7  @ 2018-02-14
321195         18:16:24 UTC
321196
321197         · PR #45826: (philpep) Fix selinux.fcontext_policy_present for Centos
321198           6 (refs: #46016)
321199
321200         · 07e5735471 Merge pull request #46016 from rallytime/bp-45826
321201
321202         · 1916e5c4a4 Fix selinux.fcontext_policy_present for Centos 6
321203
321204       · ISSUE  #45784:  (oarmstrong) SELinux module fcontext_get_policy fails
321205         with long regex (refs: #45785)
321206
321207       · PR #46015:  (rallytime)  Back-port  #45785  to  2017.7  @  2018-02-14
321208         18:16:09 UTC
321209
321210         · PR  #45785:  (oarmstrong)  m/selinux.fcontext_get_policy allow long
321211           filespecs (refs: #46015)
321212
321213         · a1f4092811 Merge pull request #46015 from rallytime/bp-45785
321214
321215         · ef6ffb1492 Resolve linting errors
321216
321217         · 8047066c46 Remove unused import
321218
321219         · 8f7c45935a Add tests for salt.modules.selinux.fcontext_get_policy
321220
321221         · bafb7b4e6e Ensure parsed fields are stripped
321222
321223         · a830a6e819 m/selinux.fcontext_get_policy allow long filespecs
321224
321225       · PR #46012:  (rallytime)  Back-port  #45462  to  2017.7  @  2018-02-14
321226         18:14:56 UTC
321227
321228         · PR #45462: (aphor) emit port cli version, variants as separate args
321229           (refs: #46012)
321230
321231         · 96097c037e Merge pull request #46012 from rallytime/bp-45462
321232
321233         · 9f76836a6c emit port cli version, variants as separate args
321234
321235       · PR  #45991:  (terminalmage)  yumpkg:  Fix  a   couple   issues   with
321236         _get_extra_opts @ 2018-02-14 16:48:28 UTC
321237
321238         · 1279924f5f  Merge  pull request #45991 from terminalmage/fix-dupli‐
321239           cate-extra-opts
321240
321241         · 916766f651 yumpkg: Fix a couple issues with _get_extra_opts
321242
321243       · PR #46017: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
321244         @ 2018-02-13 21:43:15 UTC
321245
321246         · 8b9adc258e Merge pull request #46017 from rallytime/merge-2017.7
321247
321248         · a06645ce71 Merge branch '2017.7.3' into '2017.7'
321249
321250       · ISSUE  #45796:  (L4rS6) aliases module doesn't follow symlinks (refs:
321251         #45797)
321252
321253       · PR #45988:  (rallytime)  Back-port  #45797  to  2017.7  @  2018-02-13
321254         17:49:02 UTC
321255
321256         · PR #45797: (L4rS6) follow symlinks in aliases module (close #45796)
321257           (refs: #45988)
321258
321259         · d20ff89414 Merge pull request #45988 from rallytime/bp-45797
321260
321261         · 953a400d79 follow symlinks
321262
321263       · PR #45711: (bdrung) Fix Unicode tests when run  with  LC_ALL=POSIX  @
321264         2018-02-13 17:42:07 UTC
321265
321266         · b18087cee0 Merge pull request #45711 from bdrung/fix-unicode-tests
321267
321268         · b6181b5ed6 Fix Unicode tests when run with LC_ALL=POSIX
321269
321270       · PR   #45878:   (damon-atkins)   ec2_pillar   update  to  fix  finding
321271         instance-id (refs: #46137) @ 2018-02-13 17:34:14 UTC
321272
321273         · 5271fb1d40      Merge      pull      request      #45878       from
321274           damon-atkins/2017.7_fix_ec2_pillar
321275
321276         · 0e74025714 Merge branch '2017.7' into 2017.7_fix_ec2_pillar
321277
321278         · b4d0b23891 py3 fix
321279
321280         · 75d9e20d8a  Add  ignoring  'terminated',  'stopped'  instances,  to
321281           improve changes of a single match
321282
321283         · 0093472a37   added   tag_key_list   and   tag_key_sep   to   create
321284           ec2_tags_list
321285
321286         · afb3968aa7  ec2_pillar  could  not  find instance-id, resolved. add
321287           support to use any tag to compare minion id against.
321288
321289       · PR  #45942:  (terminalmage)  Fix  incorrect  translation  of   docker
321290         port_bindings -> ports (2017.7 branch) @ 2018-02-13 16:10:03 UTC
321291
321292         · cf367dbd04    Merge    pull    request    #45942   from   terminal‐
321293           mage/issue45679-2017.7
321294
321295         · 89cbd72a0d Don't try to sort ports when translating docker input
321296
321297         · 9cd47b39dd Fix incorrect translation  of  docker  port_bindings  ->
321298           ports
321299
321300       · PR #45959: (rallytime) A couple of grammar updates for the state com‐
321301         piler docs @ 2018-02-12 22:17:49 UTC
321302
321303         · dae41de7a8    Merge    pull    request    #45959    from     rally‐
321304           time/state-doc-update
321305
321306         · 6f781cb95d A couple of grammar updates for the state compiler docs
321307
321308       · ISSUE  saltstack/salt#45884:  (tintoy)  "TypeError:  can't  serialize
321309         <NodeImage" when calling salt-cloud  with  the  dimensiondata  driver
321310         (refs: #45908)
321311
321312       · ISSUE  #45884:  (tintoy) "TypeError: can't serialize <NodeImage" when
321313         calling salt-cloud with the dimensiondata driver (refs: #45908)
321314
321315       · PR #45908: (tintoy)  Fix  for  #45884  ("TypeError:  can't  serialize
321316         <NodeImage"  when calling salt-cloud with the dimensiondata driver) @
321317         2018-02-12 22:05:29 UTC
321318
321319         · 007214f7bf  Merge  pull  request   #45908   from   DimensionDataRe‐
321320           search/fix/issue/45884
321321
321322         · 1a75786b5a Fix linter warnings.
321323
321324         · 82ec0b589c Revert to using salt.utils.cloud.is_public_ip.
321325
321326         · 9b6b01873b Fix violations reported by flake8.
321327
321328         · a2bc155c73 Use __utils__['cloud.'] instead of salt.cloud.utils.
321329
321330         · 98907a32cb  Ensure  'auth'  parameter is correctly passed to dimen‐
321331           siondata driver.
321332
321333         · de26b03e2c Fix copy/paste bug in dimensiondata provider integration
321334           test.
321335
321336         · 6b1b6be427 Add integration tests for dimensiondata cloud provider.
321337
321338         · f6ea9fed7d  Ensure  that  event  data provided by the dimensiondata
321339           driver is serialisable.
321340
321341       · PR #45985: (garethgreenaway) [2017.7] Backport #45894 - Missing  for‐
321342         mat in the call to write.  @ 2018-02-12 20:22:31 UTC
321343
321344         · PR  #45894:  (while0pass)  Fix inconcistencies in param description
321345           (refs: #45985)
321346
321347         · efcbfa868c   Merge   pull   request   #45985   from    garethgreen‐
321348           away/2017_7_fixing_mac_tests_again
321349
321350         · 7b8dc14433 Missing format in the call to write.
321351
321352       · PR   #45958:   (garethgreenaway)   Backporting  #45935  to  2017.7  @
321353         2018-02-12 16:25:07 UTC
321354
321355         · PR   #45936:   (garethgreenaway)   [oxygen]   Fix    to    log/han‐
321356           dlers/__init__.py (refs: #45958)
321357
321358         · PR #45935: (rallytime) Back-port #45742 to 2017.7.3 (refs: #45958)
321359
321360         · PR #45742: (marccardinal) list.copy() is not compatible with python
321361           2.7 (refs: #45935)
321362
321363         · bf03abd07c Merge pull  request  #45958  from  garethgreenaway/back‐
321364           port-fixing_mactests_queue_full
321365
321366         · 25dffaae91 Backporting #45935
321367
321368       · PR  #45949: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
321369         @ 2018-02-09 22:32:09 UTC
321370
321371         · bab365d6c6 Merge pull request #45949 from rallytime/merge-2017.7
321372
321373         · f51687e903 Merge branch '2016.11' into '2017.7'
321374
321375         · 7779fea7ba Merge pull request #45940 from dmurphy18/fix_aix_cmdmod
321376
321377           · dd2788419b Fix use of 'su' for AIX to use '-'
321378
321379       · ISSUE #45915: (MatthiasKuehneEllerhold) 2017.7.3:  Salt-SSH  &  Vault
321380         Pillar: Permission denied "minion.pem" (refs: #45928)
321381
321382       · PR  #45928:  (garethgreenaway)  [2017.7]  Fixing vault when used with
321383         pillar over salt-ssh @ 2018-02-09 16:32:35 UTC
321384
321385         · 7fd00ec752   Merge   pull   request   #45928   from    garethgreen‐
321386           away/45915_fixing_vault_pillar_for_salt_ssh
321387
321388         · 259e60e5d4 Fixing vault when used with pillar over salt-ssh
321389
321390       · PR   #45925:   (terminalmage)  Fix  spelling  error  in  docstring  @
321391         2018-02-08 21:52:35 UTC
321392
321393         · 9d14ad9ccf Merge pull request #45925 from terminalmage/fix-spelling
321394
321395         · 7a143fe454 Fix spelling error in docstring
321396
321397       · PR #45920: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
321398         @ 2018-02-08 15:43:49 UTC
321399
321400         · 0cbe93cd69 Merge pull request #45920 from rallytime/merge-2017.7
321401
321402         · e4e4744218 Merge branch '2016.11' into '2017.7'
321403
321404         · 27ff82f996     Merge    pull    request    #45864    from    rally‐
321405           time/release-note-fix
321406
321407           · 104a24f244 Remove extraneous ] in release notes for 2016.11.9
321408
321409         · 5fa010de2b Merge pull request #45787 from rallytime/2016.11.9_docs
321410
321411           · a38d4d44fa [2016.11] Bump latest and previous versions
321412
321413       · ISSUE #45805: (bgridley) Execution module victorops throws  an  error
321414         "RuntimeError:  dictionary  changed  size  during  iteration"  (refs:
321415         #45814)
321416
321417       · PR #45814: (gtmanfred) fix cookies dict size changing in http.query @
321418         2018-02-08 15:35:30 UTC
321419
321420         · 643a8a5278 Merge pull request #45814 from gtmanfred/2017.7
321421
321422         · d8eec9aa97 fix cookies dict size changing in http.query
321423
321424       · PR  #45877: (rallytime) Add release notes file for 2017.7.4 release @
321425         2018-02-08 14:07:43 UTC
321426
321427         · 3a3f87c16d    Merge    pull    request    #45877    from     rally‐
321428           time/new-release-notes
321429
321430         · f937e8ba81 Add release notes file for 2017.7.4 release
321431
321432       · PR  #45904:  (rallytime)  Back-port  #41017  to  2017.7  @ 2018-02-08
321433         13:57:45 UTC
321434
321435         · PR #41017: (cebe) Fixed typo  in  pkg  state  documentation  (refs:
321436           #45904)
321437
321438         · 1c3cc00670 Merge pull request #45904 from rallytime/bp-41017
321439
321440         · 80c56cdcea Fixed typo in pkg state documentation
321441
321442       · PR  #45907:  (terminalmage)  Fix  backport of grains fix @ 2018-02-08
321443         13:57:26 UTC
321444
321445         · 317d35bd15   Merge   pull    request    #45907    from    terminal‐
321446           mage/fix-grains-backport
321447
321448         · 6cf7e50cc4 Fix backport of grains fix
321449
321450       · PR  #45906:  (rallytime)  Back-port  #45548  to  2017.7  @ 2018-02-08
321451         13:57:07 UTC
321452
321453         · PR #45548: (viktordaniel) Update x509.py - documentation fix (refs:
321454           #45906)
321455
321456         · dade5f0cab Merge pull request #45906 from rallytime/bp-45548
321457
321458         · 1befa7386c Update x509.py
321459
321460       · ISSUE #45893: (CrackerJackMack) archive.extracted ValueError "No path
321461         specified" in 2017.7.3 (refs: #45902)
321462
321463       · PR #45902: (terminalmage) Check the effective saltenv for cached  ar‐
321464         chive @ 2018-02-08 13:42:00 UTC
321465
321466         · 82c473a1fe Merge pull request #45902 from terminalmage/issue45893
321467
321468         · 9d200efc26 Add regression test for issue 45893
321469
321470         · 1468f1d0ff Remove duplicated section in docstring and fix example
321471
321472         · 6cc5cd9b8a Check the effective saltenv for cached archive
321473
321474       · PR  #45862:  (rallytime)  Back-port  #45830  to  2017.7  @ 2018-02-08
321475         13:22:26 UTC
321476
321477         · PR #45830: (garethgreenaway)  [oxygen] Catch exception when logging
321478           queue is full (refs: #45862)
321479
321480         · fdedde3cfb Merge pull request #45862 from rallytime/bp-45830
321481
321482         · 1024856f9a  Wrapping  the put_nowait in a try...except and catching
321483           the exception when the multiprocessing queue is full.  This  situa‐
321484           tion  is  happening  when  running  the full testing suite on MacOS
321485           where the queue limit is 32767 vs on Linux where the queue limit is
321486           unlimited.
321487
321488       · PR #45779: (The-Loeki) SSH shell shim: Don't use $() for optimal sup‐
321489         port @ 2018-02-05 18:35:21 UTC
321490
321491         · 43a45b42c3 Merge pull request #45779 from The-Loeki/patch-3
321492
321493         · 8575ae3d52 Merge branch '2017.7' into patch-3
321494
321495         · 47cf00d88e SSH shell shim: Don't use $() for optimal support
321496
321497       · PR #45788: (rallytime) [2017.7] Bump latest and previous  versions  @
321498         2018-02-05 15:30:46 UTC
321499
321500         · cca997d0da Merge pull request #45788 from rallytime/2017.7.3_docs
321501
321502         · d5faf6126b [2017.7] Bump latest and previous versions
321503
321504       · PR  #45842:  (rallytime)  Back-port  #45827  to  2017.7  @ 2018-02-05
321505         15:04:11 UTC
321506
321507         · PR #45827:  (terminalmage)  Fix  traceback  in  disks  grains  when
321508           /sys/block not available (refs: #45842)
321509
321510         · 746206cebe Merge pull request #45842 from rallytime/bp-45827
321511
321512         · c631598a87 Fix traceback in disks grains when /sys/block not avail‐
321513           able
321514
321515       · ISSUE #44978: (doesitblend)  State  duration  not  always  calculated
321516         (refs: #45721)
321517
321518       · PR #45721: (garethgreenaway)  [2017.7] Ensure duration and start time
321519         exist @ 2018-02-05 14:59:33 UTC
321520
321521         · 900aadcd67   Merge   pull   request   #45721   from    garethgreen‐
321522           away/44978_show_duration_when_no_state_run
321523
321524         · 359265869f  Adding  a  couple  tests  to  ensure  that  duration is
321525           included in state run results even when states do not run.
321526
321527         · 912347abc3 Include the duration when a  state  does  not  run,  for
321528           example when the onchanges requisite is not met.
321529
321530       · PR  #45517: (kstreee) Fixes base dir making logic to ensure not rais‐
321531         ing the exception when base directory already exists.   @  2018-02-05
321532         14:56:23 UTC
321533
321534         · 80a2d009b4 Merge pull request #45517 from kstreee/fix-mkdir
321535
321536         · 24d41f2451  Fixes  base  dir making logic to ensure not raising the
321537           exception when base directory already exists.
321538
321539       · PR #45835: (kstreee) Adds a missing return statement.   @  2018-02-02
321540         22:51:41 UTC
321541
321542         · 7a4b1b2e77   Merge   pull  request  #45835  from  kstreee/fix-miss‐
321543           ing-return-statement
321544
321545         · 68c7f3dcba Adds a missing return statement.
321546
321547       · PR #45840:  (rallytime)  Back-port  #45603  to  2017.7  @  2018-02-02
321548         20:17:32 UTC
321549
321550         · PR  #45603:  (andreaspe) Fix for duplicate entries with pkrepo.man‐
321551           aged (refs: #45840)
321552
321553         · 0a04f118c2 Merge pull request #45840 from rallytime/bp-45603
321554
321555         · 9653363131 Fix for duplicate entries with pkrepo.managed
321556
321557       · ISSUE #44315: (whytewolf) cmd.* cwd does not escape spaces.  2017.7.2
321558         (refs: #45134)
321559
321560       · PR  #45716:  (ciiqr)  fixed  quoting  of  script path in cmd.script @
321561         2018-02-02 14:36:49 UTC
321562
321563         · PR #45134: (garethgreenaway) [2017.7] fix  to  cmd.script  for  cwd
321564           with space (refs: #45716)
321565
321566         · bd2178cd5f       Merge      pull      request      #45716      from
321567           ciiqr/fix_cmd_script_quoting
321568
321569         · 217791079b some code cleanup (lint errors  and  escape_argument  as
321570           _cmd_quote)
321571
321572         · 1c29bc5a3d fixed quoting of script path in cmd.script
321573
321574       · ISSUE  #45684: (bdrung) salt documentation fails to build with Python
321575         3 version of sphinx (refs: #45719)
321576
321577       · PR #45719: (bdrung) Fix python3 sphinx build  @  2018-02-02  14:20:37
321578         UTC
321579
321580         · 272f912c7c       Merge      pull      request      #45719      from
321581           bdrung/fix-python3-sphinx-build
321582
321583         · 179e8fbe73 doc: Do not mock non-existing __qualname__ attribute
321584
321585         · 971e59ebe2 Drop enforcing new-style object for SaltYamlSafeLoader
321586
321587       · PR #45764: (mchugh19) support amazon linux 2  for  service  module  @
321588         2018-02-02 14:12:07 UTC
321589
321590         · PR  #45758:  (mchugh19)  support  amazon linux 2 for service module
321591           (refs: #45764)
321592
321593         · fc04336c3b Merge pull request #45764 from mchugh19/2017.7
321594
321595         · 0a7f1a4d75 English better
321596
321597         · 37e067c7b5 support amazon linux 2 for service module
321598
321599       · PR #45756: (roaldnefs) Fix Grafana4 states documentation @ 2018-01-31
321600         19:01:33 UTC
321601
321602         · f234bf52f4     Merge    pull    request    #45756    from    roald‐
321603           nefs/fix-grafana4-documentation
321604
321605         · 92979c0b57 Fix grafana4 states documentation
321606
321607       · PR #45801: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
321608         @ 2018-01-31 18:55:52 UTC
321609
321610         · 685b683db5 Merge pull request #45801 from rallytime/merge-2017.7
321611
321612         · 26e992e011 Merge branch '2016.11' into '2017.7'
321613
321614           · 746386d04c      Merge      pull      request      #45794     from
321615             vutny/doc-file-state-examples
321616
321617             · ddfeae6a29 [DOC] Fix code-block rST  directive  in  file  state
321618               module
321619
321620           · abc9ece214  Merge pull request #45780 from vutny/doc-pkgrepo-zyp‐
321621             per
321622
321623             · f80c7d8d69 [DOC] Add missing gpgautoimport for pkgrepo.managed
321624
321625       · PR #45802: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
321626         @ 2018-01-31 18:55:35 UTC
321627
321628         · c7d319f3bc     Merge    pull    request    #45802    from    rally‐
321629           time/merge-2017.7-from-2017.7.3
321630
321631         · eb48513ba0 Merge branch '2017.7.3' into '2017.7'
321632
321633       · ISSUE #45738: (UtahCampusD) minion cache  overwritten  for  scheduled
321634         jobs (refs: #45761)
321635
321636       · PR  #45761: (gtmanfred) generate a jid for cache_jobs on the minion @
321637         2018-01-31 18:01:53 UTC
321638
321639         · 96e9232cc2 Merge pull request #45761 from gtmanfred/2017.7
321640
321641         · 280767ed57 generate a jid for cache_jobs on the minion
321642
321643       · ISSUE #45301: (twangboy) Ctl+C causes stack trace on  Windows  (refs:
321644         #45707)
321645
321646       · PR  #45707:  (skizunov) Fix exception when shutting down logging lis‐
321647         tener @ 2018-01-30 13:28:10 UTC
321648
321649         · 38ed46a61a Merge pull request #45707 from skizunov/develop2
321650
321651         · e84801a381 Ensure we have at least one logging root handler
321652
321653         · 3da9b8dd33 Fix exception when shutting down logging listener
321654
321655       · PR #45773: (terminalmage) Fix misspellings @ 2018-01-30 13:24:52 UTC
321656
321657         · 53008ffec7 Merge pull  request  #45773  from  terminalmage/fix-mis‐
321658           spelling
321659
321660         · 0a45f998fe Fix misspellings
321661
321662       · ISSUE  #45489:  (ipmb)  cache.grains  runner returns all minions when
321663         match is not found (refs: #45588)
321664
321665       · PR #45751:  (rallytime)  Back-port  #45588  to  2017.7  @  2018-01-29
321666         17:12:25 UTC
321667
321668         · PR  #45588:  (samodid)  update   MasterPillarUtil get_minion_grains
321669           method (refs: #45751)
321670
321671         · 454ed23f62 Merge pull request #45751 from rallytime/bp-45588
321672
321673         · aa149a0e7a fix typo
321674
321675         · 3e794a043d  fix copy-paste error in  get_minion_grains  method  doc
321676           string
321677
321678         · 1fb94a08e0 update MasterPillarUtil
321679
321680       · PR  #45753: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
321681         @ 2018-01-29 17:11:11 UTC
321682
321683         · 860e21955c Merge pull request #45753 from rallytime/merge-2017.7
321684
321685         · cb50cce181 Merge branch '2016.11' into '2017.7'
321686
321687         · d7e09e2649 Merge pull request #45749 from vutny/fix-typo
321688
321689           · e80bfb20c6 The zypper.mod_repo: fix typo in the docstring
321690
321691         · cb6ce378ea      Merge      pull      request      #45459       from
321692           vutny/salt-cloud-fix-loading-utf-cache
321693
321694           · b370796e9d Salt Cloud: write/read cached data in UTF-8 explicitly
321695
321696           · cd999201be [2016.11] Salt Cloud: fix loading UTF-8 cached data
321697
321698       · ISSUE  #40173:  (gtmanfred) Document the Open File limit issue better
321699         (refs: #45688)
321700
321701       · PR #45688: (bdrung) Raise LimitNOFILE to default  max  open  files  @
321702         2018-01-29 14:26:57 UTC
321703
321704         · 9fb4d4a528       Merge      pull      request      #45688      from
321705           bdrung/raise-max-open-files
321706
321707         · bbedeec756 Raise LimitNOFILE to default max open files
321708
321709       · PR #45686: (bdrung) Use dbus-run-session  instead  of  dbus-launch  @
321710         2018-01-29 14:24:11 UTC
321711
321712         · 79da49ec8b Merge pull request #45686 from bdrung/2017.7
321713
321714         · f49d0a0eec Use dbus-run-session instead of dbus-launch
321715
321716       · PR  #45740:  (terminalmage) Fix incorrect attempt at version compari‐
321717         son.  @ 2018-01-29 14:12:05 UTC
321718
321719         · 7fb666bcd2 Merge pull request #45740  from  terminalmage/fix-incor‐
321720           rect-version-comparison
321721
321722         · 1e0b38dcaa Fix incorrect attempt at version comparison.
321723
321724       · PR #45747: (SteffenKockel) Fix typos @ 2018-01-29 13:53:27 UTC
321725
321726         · fe636f53f8 Merge pull request #45747 from SteffenKockel/2017.7
321727
321728         · 319b513183 Fix typos
321729
321730       · PR  #45734:  (terminalmage) Fix traceback in CLI output when value is
321731         trimmed @ 2018-01-28 13:35:56 UTC
321732
321733         · eb91ae8b6e   Merge   pull    request    #45734    from    terminal‐
321734           mage/fix-trimmed-output
321735
321736         · 966ad07452 Fix traceback in CLI output when value is trimmed
321737
321738       · PR  #45712:  (bdrung) Decode git call output in Python 3 @ 2018-01-28
321739         02:03:21 UTC
321740
321741         · 7516bfbffe Merge pull request #45712 from bdrung/fix-version-decode
321742
321743         · 217183405a Decode git call output in Python 3
321744
321745       · ISSUE #44449: (brianthelion) salt-ssh + salt-cloud: cloud roster  not
321746         working and/or update_cachedir is broken (refs: #45720)
321747
321748       · PR  #45720:  (dwoz) Salt cloud adds newly created insances to cache @
321749         2018-01-26 22:45:43 UTC
321750
321751         · 91b848debb Merge pull request #45720 from dwoz/issue-44449-prod-fix
321752
321753         · 4a4bd6119d Salt cloud adds newly created insances to cache
321754
321755       · PR #45724: (eliasp) Typo (HelliumHelium) @ 2018-01-26 22:37:44 UTC
321756
321757         · 831698f066      Merge      pull      request      #45724       from
321758           eliasp/2017.7-typo-from-hell
321759
321760         · bec78276f3 Replace left-over mistyped codename reference (Hellium
321761           2014.7.0)
321762
321763       · PR #45722: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
321764         @ 2018-01-26 22:15:40 UTC
321765
321766         · cdb21a0186 Merge pull request #45722 from rallytime/merge-2017.7
321767
321768         · 8e3a2e25fe Merge branch '2016.11' into '2017.7'
321769
321770         · e4047a1234 Merge pull request #45511 from twangboy/win_fix_git
321771
321772           · 160dd7c6ce Pull the first item in the list
321773
321774           · 52d6d78150 Only keep ssh.py in the Windows installer
321775
321776           · 54eb0db2c4 Keep ssh state and execution modules in the installer
321777
321778           · 0fa801a329 Add additional path to find ssh.exe
321779
321780         · a550e8d25d Merge pull request #45694 from twangboy/win_reg_add_keys
321781
321782           · 8f53cd2d68 Add new keys to subkey_slash_check
321783
321784           · 62050c711c Add support for additional reg keys
321785
321786         · 7ceebf62f0       Merge      pull      request      #45577      from
321787           zer0def/fix-git-detached-31363
321788
321789           · a924b971ef Applied PR #40524 to git.detached state  module  func‐
321790             tion. (refs #31363)
321791
321792       · PR #45718: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
321793         @ 2018-01-26 16:49:44 UTC
321794
321795         · 3a413e96c5 Merge pull request #45718 from rallytime/merge-2017.7
321796
321797         · f10c7ee92d Merge branch '2017.7.3' into '2017.7'
321798
321799       · PR #45690: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
321800         @ 2018-01-26 14:41:44 UTC
321801
321802         · d0955519cf Merge pull request #45690 from rallytime/merge-2017.7
321803
321804         · d4dac9f7cc Merge branch '2016.11' into '2017.7'
321805
321806           · 3a6837e232 Merge pull request #45675 from Ch3LL/rn_2016.11.9
321807
321808             · 7b5bed36d9 Add new commits to 2016.11.9 release notes
321809
321810           · 915e259bad    Merge    pull    request    #45663    from   rally‐
321811             time/bp-45452-2016.11
321812
321813             · ae94fb61d9 opkg.py: make owner function return  value,  instead
321814               of iterator
321815
321816           · ecd75c137f Merge pull request #45651 from rallytime/merge-2016.11
321817
321818             · 1583e1edbe Merge branch '2016.11.9' into '2016.11'
321819
321820             · 10812969f0    Merge    pull    request   #45638   from   twang‐
321821               boy/win_fix_shell_info
321822
321823               · 872da3ffba Only convert text types in the  list_values  func‐
321824                 tion
321825
321826               · 0e41535cdb Fix reg.py to only convert text types to unicode
321827
321828               · 3579534ea5 Fix issue with detecting powershell
321829
321830             · 2d1dd1186e Merge pull request #45564 from Ch3LL/r-notes-2016
321831
321832             · 28e4398150 Merge pull request #45563 from Ch3LL/man_2016
321833
321834           · 22bcd3d110  Merge  pull  request #45600 from vutny/doc-fix-refer‐
321835             ences
321836
321837             · 35675fe6b3 [DOC] Fix references on Salt Formulas page
321838
321839           · 0d622f92a9    Merge    pull    request    #45542    from    Utah‐
321840             Dave/doc_mixed_transports
321841
321842             · b5b5054ec2 capitalize masters and minions
321843
321844             · f542bdf566 Add warning about using mixed transports
321845
321846           · c70b9dc20b Merge pull request #45565 from Ch3LL/r-notes-2016
321847
321848             · 325f4cbcda Add PR changes to 2016.11.9 Release Notes
321849
321850           · d8526062c1 Merge pull request #45562 from Ch3LL/man_2016
321851
321852             · 529bc0c680   update  release  number  for  salt-call  man  page
321853               2016.11.9
321854
321855             · 11b7222148 Update man pages for 2016.11.9
321856
321857       · PR #45710: (michelsen) Added  source  argument  to  function  call  @
321858         2018-01-26 14:30:48 UTC
321859
321860         · 9c92e93834  Merge  pull  request  #45710  from michelsen/fix-choco‐
321861           latey-state-bug
321862
321863         · 8accc0ce5c Added source argument to function call
321864
321865       · PR #45667: (gtmanfred) default to upgrading when refreshing on  arch‐
321866         linux @ 2018-01-25 14:05:24 UTC
321867
321868         · 693f72d5a7 Merge pull request #45667 from gtmanfred/syu
321869
321870         · 44c601102a  we should default to upgrading when refreshing on arch‐
321871           linux
321872
321873       · PR #45674: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
321874         @ 2018-01-24 22:46:31 UTC
321875
321876         · bec946b080 Merge pull request #45674 from rallytime/merge-2017.7
321877
321878         · 9f78e53d4b Merge branch '2017.7.3' into '2017.7'
321879
321880       · ISSUE  #45590:  (viq) webhook engine does not work with tornado 4.5.2
321881         (refs: #45589)
321882
321883       · PR #45589: (gtmanfred) change webhook headers to  dict  @  2018-01-24
321884         22:32:37 UTC
321885
321886         · 50de847191 Merge pull request #45589 from gtmanfred/2017.7
321887
321888         · 395d6f5c91 change webhook headers to dict
321889
321890       · ISSUE  #45072:  (vernondcole)  cannot  build  documentation on Ubuntu
321891         17.10 (refs: #45662)
321892
321893       · PR  #45662:  (bdrung)  Fix  documentation  generation  @   2018-01-24
321894         17:14:22 UTC
321895
321896         · e21088c1a4 Merge pull request #45662 from bdrung/2017.7
321897
321898         · 71076afbcc doc: Define fake version for msgpack and psutil
321899
321900         · b6a5b745b1 doc: Mock keyring module import
321901
321902       · PR  #45650:  (rallytime)  Back-port  #45555  to  2017.7  @ 2018-01-24
321903         14:47:54 UTC
321904
321905         · PR  #45555:  (ddoh94)  update  winrepo_source_dir  document  (refs:
321906           #45650)
321907
321908         · da82f190d2 Merge pull request #45650 from rallytime/bp-45555
321909
321910         · e474d0416b update winrepo_source_dir document
321911
321912       · PR   #45611:   (terminalmage)   Fix  unnecessary/incorrect  usage  of
321913         six.binary_type @ 2018-01-23 22:53:20 UTC
321914
321915         · 79ee24c0c7   Merge   pull    request    #45611    from    terminal‐
321916           mage/tests-log-level
321917
321918         · 6aa865cf54 Fix unnecessary/incorrect usage of six.binary_type
321919
321920       · PR #45652: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
321921         @ 2018-01-23 22:45:22 UTC
321922
321923         · 634d8dbcc0 Merge pull request #45652 from rallytime/merge-2017.7
321924
321925         · 4e907dc84b Merge branch '2017.7.3' into '2017.7'
321926
321927       · ISSUE #45627: (bdrung) Failing unit tests  in  Debian  package  build
321928         (refs: #45630)
321929
321930       · PR #45630: (bdrung) Fix tests @ 2018-01-23 21:56:46 UTC
321931
321932         · dbdef8230e Merge pull request #45630 from bdrung/2017.7
321933
321934         · 76d44e9490 Fix skipping test when boto is not installed
321935
321936         · 2b9b262357 Fix unit.modules.test_cmdmod.CMDMODTestCase.test_run
321937
321938       · PR        #45619:       (garethgreenaway)       [2017.7]       Fixing
321939         test_mac_user_enable_auto_login @ 2018-01-23 21:56:03 UTC
321940
321941         · e5c9cd91e8   Merge   pull   request   #45619   from    garethgreen‐
321942           away/2017_7_test_mac_user_enable_auto_login
321943
321944         · f5f03e1e6c   Fixing   integration.modules.test_mac_user.MacUserMod‐
321945           uleTest.test_mac_user_disable_auto_login
321946
321947       · PR #45644: (twangboy) Add missing  space  to  deprecation  warning  @
321948         2018-01-23 21:55:11 UTC
321949
321950         · 8a95fc4257     Merge    pull    request    #45644    from    twang‐
321951           boy/win_fix_dep_warns
321952
321953         · de9bc384cc Add missing space to deprecation warning
321954
321955       · PR #45634: (Ch3LL) Add different service name for Mac  10.13  test  @
321956         2018-01-23 21:51:56 UTC
321957
321958         · c290b6320b Merge pull request #45634 from Ch3LL/mac-service
321959
321960         · 31b712e27d Add different service name for Mac 10.13 test
321961
321962       · PR  #45606:  (terminalmage)  Fix bug affecting salt-ssh when root_dir
321963         differs from the default @ 2018-01-23 20:03:49 UTC
321964
321965         · c28151f5f7   Merge   pull    request    #45606    from    terminal‐
321966           mage/salt-ssh-root-dir-fix
321967
321968         · 3f9309521b  Fix  bug  affecting salt-ssh when root_dir differs from
321969           the default
321970
321971       · PR #45636: (Ch3LL)  Fix  mac  service  and  pkg  tests  for  10.13  @
321972         2018-01-23 18:44:56 UTC
321973
321974         · 0931b6417d Merge pull request #45636 from Ch3LL/mac-tests
321975
321976       · PR #45609: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
321977         @ 2018-01-22 20:24:36 UTC
321978
321979         · 63a294f498 Merge pull request #45609 from rallytime/merge-2017.7
321980
321981         · a5fc3b3363 Merge branch '2017.7.3' into '2017.7'
321982
321983       · ISSUE #45431: (zer0def) boto3_route53.hosted_zone_present  state  can
321984         fail due to related execution module function's typo (refs: #45576)
321985
321986       · PR  #45576:  (zer0def)  Fixed boto3_route53 execution module function
321987         signature diSassociate_vpc_from_hosted_zone  typo.  (refs  #45431)  @
321988         2018-01-22 19:37:13 UTC
321989
321990         · 59329957ca       Merge      pull      request      #45576      from
321991           zer0def/boto3-route53-typo
321992
321993         · 21e1e9e226 Fixed boto3_route53 execution module function  signature
321994           diSassociate_vpc_from_hosted_zone typo. (refs #45431)
321995
321996       · PR #45552: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
321997         @ 2018-01-19 19:12:49 UTC
321998
321999         · 42b0d27f71    Merge    pull    request    #45552    from     rally‐
322000           time/merge-2017.7-from-.3
322001
322002         · dba7410b80 Merge branch '2017.7.3' into '2017.7'
322003
322004       · PR  #45551: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
322005         @ 2018-01-19 18:21:27 UTC
322006
322007         · 879cfcb889 Merge pull request #45551 from rallytime/merge-2017.7
322008
322009         · e0ffa32b49 Merge branch '2016.11' into '2017.7'
322010
322011         · 18e814a7bb Merge pull request #45540 from rallytime/merge-2016.11
322012
322013           · 441f819b7b Merge branch '2016.11.9' into '2016.11'
322014
322015           · 654df0f526 Merge pull request #45532 from gtmanfred/2016.11.9
322016
322017             · 6c26025664 fix mock for opensuse
322018
322019         · 4f3b9b57fa Merge pull request #45522 from rallytime/merge-2016.11
322020
322021           · 36c038c92a Merge branch '2016.11.9' into '2016.11'
322022
322023           · 571c33aa39 Merge pull request #45518 from gtmanfred/2016.11.9
322024
322025             · 5455d2dee6 fix centos 6 pip test
322026
322027             · 40255194b0 fix fedora pkg test
322028
322029         · 0638638fb9 Merge pull request #45504 from rallytime/merge-2016.11
322030
322031           · d72fc74e8c Merge branch '2016.11.9' into '2016.11'
322032
322033             · 4e0a0eec1f   Merge   pull   request    #45443    from    rally‐
322034               time/bp-45399-2016.11.9
322035
322036               · 919e92c911 Fix git.latest failure when rev is not the default
322037                 branch
322038
322039             · ebd4db66b8     Merge     pull     request      #45493      from
322040               damon-atkins/2016.11_fix_sls_defintion_wrong_type
322041
322042               · af108440df win_pkg lint space after ,
322043
322044               · c6e922a236 win_pkg lint issues
322045
322046               · f4627d7a80 fix quote i.e. change ` to '
322047
322048               · 6938a4c099  pkg.refresh_db report an issue if a sls pkg defi‐
322049                 nition id not a dict instead of aborting.
322050
322051         · 5a2a31bfff      Merge      pull      request      #45495       from
322052           vutny/doc-rhel-pygit2-compat
322053
322054           · 0d79b9eaff [DOC] Suggest to upgrade pygit2 and deps
322055
322056         · 9c4fb42e5f Merge pull request #45481 from twangboy/fix_aptpkg
322057
322058           · fd67b086b4 Fix if statement in __init__()
322059
322060       · ISSUE  #42626:  (UtahDave)  new  args  and  kwargs  options  for pub‐
322061         lisher_acl are not documented at  all  and  very  little  for  exter‐
322062         nal_auth (refs: #45389)
322063
322064       · PR  #45389:  (DmitryKuzmenko)  Docs update for function args limit in
322065         pub acl.  @ 2018-01-18 22:56:10 UTC
322066
322067         · 28554ca935   Merge   pull   request   #45389    from    DSRCorpora‐
322068           tion/bugs/42626_pub_acl_doc
322069
322070         · f33ebcada0  Doc note about user names regex matching in pub acl and
322071           eauth.
322072
322073         · e29c0ff19e Docs update for function args limit in pub acl.
322074
322075       · PR #45483: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
322076         @ 2018-01-18 22:54:12 UTC
322077
322078         · b3dc758ab0 Merge pull request #45483 from rallytime/merge-2017.7
322079
322080         · de6d85959a Lint fix
322081
322082         · 9f547a31f0 Merge branch '2016.11' into '2017.7'
322083
322084           · b756760415 Merge pull request #45482 from rallytime/merge-2016.11
322085
322086             · 3b38c77159 Merge branch '2016.11.9' into '2016.11'
322087
322088             · 7322efba92 Merge pull request #45446 from rallytime/bp-45390
322089
322090           · 96ae237d37    Merge    pull    request    #45448    from   rally‐
322091             time/merge-2016.11.9
322092
322093             · 646379d981 Merge branch '2016.11' into '2016.11.9'
322094
322095           · 1ed323a3ee Merge pull request #45437  from  terminalmage/fix-doc‐
322096             string
322097
322098             · c11b16dc29 Fix incorrect wording in jboss7 docstrings
322099
322100           · 600fa3939f      Merge      pull      request      #45390     from
322101             damon-atkins/2016.11_win_pkg_remove_final_fixes
322102
322103             · 69f045ea24 lint too-many-blank-lines
322104
322105             · 10a7501ede Update release notes
322106
322107             · 6f2affe01c fix pkg.remove, pkg.list_pkgs
322108
322109           · 057df44a4a   Merge   pull   request   #45399    from    terminal‐
322110             mage/fix-git.latest-depth
322111
322112           · 0cbc6767bf  Fix  git.latest  failure  when rev is not the default
322113             branch
322114
322115           · b0ece9f4d4 Merge pull request #45424 from twangboy/win_reg
322116
322117           · 30f06205f7 Fix some issues with reg.py
322118
322119       · PR #45529: (Ch3LL) Fix UnboundLocalError for pacman  pkg  installs  @
322120         2018-01-18 19:01:49 UTC
322121
322122         · 5e26282843 Merge pull request #45529 from Ch3LL/pacman-sources
322123
322124         · e619d49ef3 Fix UnboundLocalError for pacman pkg installs
322125
322126       · PR #45508: (frogunder) fix test_archive test for mac on 2017.7 branch
322127         @ 2018-01-18 16:04:36 UTC
322128
322129         · 840c97417d Merge pull  request  #45508  from  frogunder/fix_mac_ar‐
322130           chive_tests_2017.7_branch
322131
322132         · ccf062d62e fix test_archive test for mac on 2017.7 branch
322133
322134       · PR  #45444:  (rallytime)  Back-port  #45343  to  2017.7  @ 2018-01-17
322135         17:17:59 UTC
322136
322137         · PR #45343: (rrroo) Support  expr_form  for  manage.up,  manage.down
322138           (refs: #45444)
322139
322140         · e1403b6813 Merge pull request #45444 from rallytime/bp-45343
322141
322142         · c7d2081390 Support expr_form for manage.up, manage.down
322143
322144       · PR   #45465:  (terminalmage)  Backport  #45095  to  2017.7  branch  @
322145         2018-01-17 15:13:05 UTC
322146
322147         · PR #45095: (terminalmage) PY3: Make loader ignore .pyc files not in
322148           __pycache__ (refs: #45465)
322149
322150         · 4b2c88e2e6 Merge pull request #45465 from terminalmage/bp-45095
322151
322152         · 2f63a6dbf4 Optimization: don't allocate a new list to concatenate
322153
322154         · 5074741130 EAFP
322155
322156         · 85dbdc6a39 PY3: Make loader ignore .pyc files not in __pycache__
322157
322158       · PR  #45365:  (meaksh) Return an error when "gid_from_name" is set but
322159         group does not exist @ 2018-01-16 18:31:50 UTC
322160
322161         · 5f58a87e84 Merge pull request #45365 from meaksh/2017.7-issue-45345
322162
322163         · da23067f80 Refactor to prevent logical bug when gid is 0
322164
322165         · 9fdaa0d5e9 Update documentation for 'gid_from_name' parameter
322166
322167         · 52f9c06908 Fix integration tests for 'user.present' state.
322168
322169         · e2c32dc6dc Make pylint happy
322170
322171         · a18dbe0c11 Return error  when  gid_from_name  and  group  does  not
322172           exist.
322173
322174         · ce7b1f4baf Ensure empty string gid is set to None
322175
322176       · ISSUE  #43535: (Ch3LL) Add pkg.latest_version Test to Auto Test Suite
322177         (refs: #44822)
322178
322179       · PR #44822:  (frogunder)  add  pkg_latest_version  test  @  2018-01-16
322180         14:16:54 UTC
322181
322182         · de080983e3  Merge pull request #44822 from frogunder/pkg_latestver‐
322183           sion
322184
322185         · 08644e02a0 skip if mac
322186
322187         · dfb68f32d2 fix if statements and string
322188
322189         · 3504083849 add pkg_latest_version test
322190
322191       · ISSUE saltstack/salt-jenkins#603: (rallytime) [oxygen]  CentOS  7  is
322192         failing several boto tests with module import failures (refs: #45401)
322193
322194       · PR  #45435:  (rallytime)  Back-port  #45401  to  2017.7  @ 2018-01-14
322195         12:43:48 UTC
322196
322197         · PR #45401: (gtmanfred) fix boto import failures (refs: #45435)
322198
322199         · cb3e0cffb3 Merge pull request #45435 from rallytime/bp-45401
322200
322201         · b9761971c2 fix moto version
322202
322203         · 0cd95d1cc6 fix test boto imports
322204
322205       · PR #45380: (twangboy)  Backport  changes  from  #45308  @  2018-01-11
322206         19:45:21 UTC
322207
322208         · PR  #45308:  (twangboy) Fix integration.modules.test_state for Win‐
322209           dows (refs: #45380)
322210
322211         · 2340f0b487 Merge pull request #45380 from twangboy/backport_45308
322212
322213         · 419be8a9b5 Backport changes from #45308
322214
322215   Salt 2017.7.6 Release Notes
322216       Version 2017.7.6 is a bugfix release for 2017.7.0.
322217
322218   Statistics
322219       · Total Merges: 182
322220
322221       · Total Issue References: 60
322222
322223       · Total PR References: 217
322224
322225       · Contributors:   47   (Ch3LL,   DmitryKuzmenko,   GwiYeong,   Quarky9,
322226         RichardW42,  UtahDave,  amaclean199,  arif-ali,  baniobloom,  bdrung,
322227         benediktwerner, bmiguel-teixeira, cachedout,  dafenko,  damon-atkins,
322228         dwoz,  ezh,  folti,  fpicot,  frogunder,  garethgreenaway, gtmanfred,
322229         isbm, jeroennijhof,  jfindlay,  jfoboss,  kstreee,  lomeroe,  mattp-,
322230         meaksh,  mirceaulinic,  myinitialsarepm,  mzbroch,  nages13,  paclat,
322231         pcjeff,  pruiz,  psyer,  rallytime,  s0undt3ch,  skizunov,  smitty42,
322232         terminalmage, twangboy, vutny, yagnik, yannj-fr)
322233
322234   Tornado 5.0 Support for Python 2 Only
322235       Tornado  5.0  moves to using asyncio for all python3 versions.  Because
322236       of this and changes in asyncio between python 3.4 and 3.5  to  only  be
322237       able to use one ioloop, which requires some rearchitecting, support for
322238       tornado 5.0 and python3 versions of salt has been delayed  to  a  later
322239       release.
322240
322241       For now, to use tornado 5.0, the python 2 version of salt must be used.
322242
322243   Tornado 5.0 Support for Python 2 Only
322244       Tornado  5.0  moves to using asyncio for all python3 versions.  Because
322245       of this and changes in asyncio between python 3.4 and 3.5  to  only  be
322246       able to use one ioloop, which requires some rearchitecting, support for
322247       tornado 5.0 and python3 versions of salt has been delayed  to  a  later
322248       release.
322249
322250       For now, to use tornado 5.0, the python 2 version of salt must be used.
322251
322252   Option to Return to Previous Pillar Include Behavior
322253       Prior to version 2017.7.3, keys from pillar includes would be merged on
322254       top of the pillar SLS. Since 2017.7.3, the includes are merged together
322255       and then the pillar SLS is merged on top of that.
322256
322257       The  pillar_includes_override_sls  option has been added allow users to
322258       switch back to the pre-2017.7.3 behavior.
322259
322260   Changelog for v2017.7.5..v2017.7.6
322261       Generated at: 2018-05-29 14:05:53 UTC
322262
322263       · PR #47775: (gtmanfred) catch UnsupportedOperation with AssertionError
322264         @ 2018-05-22 19:04:13 UTC
322265
322266         · edf94c915e Merge pull request #47775 from gtmanfred/2017.7.6
322267
322268         · 548f65d056 catch UnsupportedOperation with AssertionError
322269
322270       · PR  #47769: (gtmanfred) skip test that breaks test suite @ 2018-05-22
322271         15:12:54 UTC
322272
322273         · 8c38ecd75f Merge pull request #47769 from gtmanfred/2017.7.6
322274
322275         · 3fdfc0fa82 skip test that breaks test suite
322276
322277       · PR  #47747:  (Ch3LL)  Add  changelog  to  2017.7.6  release  notes  @
322278         2018-05-21 14:25:00 UTC
322279
322280         · 0d5b473ce2 Merge pull request #47747 from Ch3LL/rn_2017.7.6
322281
322282         · d4aa83b92d Add changelog to 2017.7.6 release notes
322283
322284       · ISSUE  #47484:  (whytewolf)  Windows:  pkg.latest  state not updating
322285         packages. (refs: #47702)
322286
322287       · PR #47702: (damon-atkins) State  pkg.latest  called  win  pkg.install
322288         with list of pkgs and the required versions @ 2018-05-19 11:21:23 UTC
322289
322290         · 8a5b34f7d9       Merge      pull      request      #47702      from
322291           damon-atkins/2017.7.6_fix_pkg.latest_state
322292
322293         · adcc094e08  Merge  branch  '2017.7.6'  into   2017.7.6_fix_pkg.lat‐
322294           est_state
322295
322296       · PR  #47700: (yannj-fr) fix roots modification time check @ 2018-05-18
322297         18:42:17 UTC
322298
322299         · d610c192d9 Merge pull request #47700 from yannj-fr/2017.7.6
322300
322301         · 961c1ef61e fix roots modification time check
322302
322303           · 2a73e905df Merge branch '2017.7.6' into 2017.7.6
322304
322305       · PR #47632: (gtmanfred) handle new _create_stream  in  tornado  5.0  @
322306         2018-05-18 14:25:17 UTC
322307
322308         · 266749420f Merge pull request #47632 from gtmanfred/2017.7.6
322309
322310         · 2c50c0d2f5 fix pylint
322311
322312         · 4a29057b16 Fix last test for tornado
322313
322314         · 550ef2e272 allow using tornado 5.0
322315
322316         · 62e468448b handle new _create_stream in tornado 5.0
322317
322318       · PR  #47720:  (rallytime)  Back-port  #47692  to 2017.7.6 @ 2018-05-18
322319         13:23:03 UTC
322320
322321         · PR #47692: (dwoz)  Default  windows  to  m1.small  for  ec2-classic
322322           (refs: #47720)
322323
322324         · 2643c356af     Merge    pull    request    #47720    from    rally‐
322325           time/bp-47692-2017.7.6
322326
322327         · 6e5cb36839 Default windows to m1.small for ec2-classic
322328
322329           · 20d9785244 fix roots modification time check
322330
322331         · aef37dd1ce fix roots modification time check
322332
322333         · d51662e053 Ensure targeted_pkgs always contains value for  non-win‐
322334           dows.
322335
322336         · 83b4224cf8 Adjusted based on feed back.
322337
322338         · 12f983ce9f Whitespace lint issues
322339
322340         · 075d3d3c49  pkg.install  execution  module  on  windows ensures the
322341           software package is installed when no version is specified, it does
322342           not  upgrade  the  software  to the latest. This is per the design.
322343           pkg.latest must provide the versions to install to pkg.install
322344
322345       · PR #47667: (Ch3LL)  Update  test_mac_user_enable_auto_login  to  test
322346         both py2 and py3 @ 2018-05-16 15:54:49 UTC
322347
322348         · 16c2153385 Merge pull request #47667 from Ch3LL/mac_user_enable
322349
322350         · ba40d3d1a1  Update test_mac_user_enable_auto_login to test both py2
322351           and py3
322352
322353       · PR #47645: (Ch3LL) query the pip path for test  test_issue_2087_miss‐
322354         ing_pip @ 2018-05-15 17:16:10 UTC
322355
322356         · a4921e86c9 Merge pull request #47645 from Ch3LL/py3_rm_pip
322357
322358         · 225d90ad4c query the pip path for test test_issue_2087_missing_pip
322359
322360       · PR  #47646:  (rallytime)  Back-port  #47601  and #47643 to 2017.7.6 @
322361         2018-05-15 14:04:45 UTC
322362
322363         · PR #47643: (dwoz) Remove unwanted file (refs: #47646)
322364
322365         · PR #47601: (dwoz) Skip tests when  we  can  not  use  runas  (refs:
322366           #47646)
322367
322368         · e441733ac1     Merge    pull    request    #47646    from    rally‐
322369           time/bp-47601-and-47643
322370
322371         · 9e1d1a5ef8 Fix typo
322372
322373         · 4e94609136 Remove unwanted file
322374
322375         · 0109249c78 use ignore-undefined-variable
322376
322377         · 37caecb7f4 Ignore pylint WindowsError
322378
322379         · c1135d90c7 Better doc string
322380
322381         · e53d6b9ed9 Skip tests when we can not use runas
322382
322383       · PR #47570: (gtmanfred) Update  dependency  to  msgpack  @  2018-05-10
322384         13:23:09 UTC
322385
322386         · 6f178ca908 Merge pull request #47570 from gtmanfred/2017.7.6
322387
322388         · 84aa034e03 Update dependency to msgpack
322389
322390       · PR  #47523:  (rallytime)  [2017.7.6]  Update  man  pages @ 2018-05-08
322391         13:31:19 UTC
322392
322393         · 98bd598701 Merge pull request #47523 from rallytime/man-pages
322394
322395         · 48ecb78dec [2017.7.6] Update man pages
322396
322397       · ISSUE #47443: (skylerberg) Input validation does not raise  SaltInvo‐
322398         cationError in win_dsc.py (refs: #47505)
322399
322400       · PR  #47517:  (rallytime)  Back-port  #47505  to 2017.7.6 @ 2018-05-07
322401         19:42:37 UTC
322402
322403         · PR #47505: (dwoz) Raise proper invocation errors (refs: #47517)
322404
322405         · e608ea9617    Merge    pull    request    #47517    from     rally‐
322406           time/bp-47505-2017.7.6
322407
322408         · 0734578533 Raise proper invocation errors
322409
322410       · PR  #47476:  (gtmanfred)  Specify  the cache directory for newer vir‐
322411         tualenv modules @ 2018-05-04 19:20:45 UTC
322412
322413         · 611ca1fc03 Merge pull request #47476 from gtmanfred/2017.7
322414
322415         · 1f91a85587 specify cache dir for pip install
322416
322417         · 99e150e09c check for kitchen-vagrant  gem  before  loading  windows
322418           tests
322419
322420       · PR  #47412:  (twangboy)  Fix  issue where the cwd was being removed @
322421         2018-05-04 17:28:11 UTC
322422
322423         · 7c3f2c56da Merge pull request #47412 from twangboy/fix_47125
322424
322425         · c9bab0b8e3 Merge branch '2017.7' into fix_47125
322426
322427         · 2600e404d5 Fix overly long line
322428
322429         · 5c8db05769 Fix issue where the cwd was being removed
322430
322431       · PR  #47467:  (twangboy)  Remove  unused  settings,  update   NSIS   @
322432         2018-05-04 17:11:37 UTC
322433
322434         · 4846e957c4 Merge pull request #47467 from twangboy/cleanup_settings
322435
322436         · 9d498293b1 Remove unused settings, update NSIS
322437
322438       · PR #47196: (twangboy) Fix issues with pip @ 2018-05-04 14:23:04 UTC
322439
322440         · da9871d36b Merge pull request #47196 from twangboy/fix_47024
322441
322442         · 14ee5537b9 Add @with_tempdir helper
322443
322444         · 6c3b5fa6fa Fix typo
322445
322446         · f031710af2 Merge branch '2017.7' into fix_47024
322447
322448         · 7c46d9d0d4 Fix integration.modules.test_pip
322449
322450         · 22ac81df63 Fix integration.modules.test_pip
322451
322452         · 57d98224d4   Merge   pull   request   #9  from  terminalmage/twang‐
322453           boy/fix_47024
322454
322455           · 37a13d8004 Update pip unit tests to reflect changes
322456
322457           · 7f86779be0 Lint fix
322458
322459         · c48d8f4f61 DRY and other fixes in pip module
322460
322461         · b1117896a0 Change from global variable to __context__``
322462
322463         · 3e6e524eca Fix some tests``
322464
322465         · c94f0f20e4 Fix lint error
322466
322467         · fd47b21530 Fix merge conflict
322468
322469       · PR #47455: (Ch3LL) Add In Progress Warning for 2017.7.6 Release Notes
322470         @ 2018-05-04 13:44:54 UTC
322471
322472         · e8c4524bae Merge pull request #47455 from Ch3LL/unreleased_rn
322473
322474         · b6d0cc2ab7 Add In Progress Warning for 2017.7.6 Release Notes
322475
322476       · PR  #47459:  (gtmanfred)  update ubuntu-rolling to 18.04 @ 2018-05-03
322477         20:39:20 UTC
322478
322479         · 2c7a4b6179 Merge pull request #47459 from gtmanfred/2017.7
322480
322481         · d228e72477 update ubuntu-rolling to 18.04
322482
322483       · PR #47462: (terminalmage) Fix docs build on Sphinx 1.7+ @  2018-05-03
322484         20:06:57 UTC
322485
322486         · 64a64c0ed7 Merge pull request #47462 from terminalmage/docs
322487
322488         · 6d7803ece0 Fix docs build on Sphinx 1.7+
322489
322490       · ISSUE #47436: (lomeroe) Some Administrative Template policies are not
322491         properly set by lgpo (refs: #47438)
322492
322493       · ISSUE #44516: (doesitblend) Windows PY3  Minion  Returns  UTF16  Uni‐
322494         codeError (refs: #44944)
322495
322496       · PR  #47438: (lomeroe) lgpo fix for issue #47436 @ 2018-05-03 14:40:27
322497         UTC
322498
322499         · PR #44944: (lomeroe) win_lgpo registry.pol encoding updates  (refs:
322500           #46913, #47438)
322501
322502         · 6cd0d31c03 Merge pull request #47438 from lomeroe/double_admx_test
322503
322504         · 4902f1e2ba check if a policy has either an enabled value or enabled
322505           list entry or a disabled value or disabled list entry  when  deter‐
322506           mining the state of the policy
322507
322508       · ISSUE  #45790:  (bdarnell)  Test  with  Tornado  5.0b1 (refs: #47106,
322509         #47433)
322510
322511       · PR #47433: (s0undt3ch) Add missing requirements files not commited in
322512         #47106 @ 2018-05-02 20:57:14 UTC
322513
322514         · PR  #47106:  (DmitryKuzmenko)  Tornado50 compatibility fixes (refs:
322515           #47433)
322516
322517         · ed69821d19 Merge pull request #47433 from s0undt3ch/2017.7
322518
322519         · 5abadf25d6 Add missing requirements files not commited in #47106
322520
322521       · ISSUE #47424: (bcharron) "salt-cloud  -m"  fails  with  nova  driver:
322522         "There was a query error: u'state'" (refs: #47429)
322523
322524       · PR #47429: (gtmanfred) server_list_min should use state, not status @
322525         2018-05-02 16:27:56 UTC
322526
322527         · 7ae3497b0c Merge pull request #47429 from gtmanfred/2017.7
322528
322529         · 8ae32033cc server_list_min should use state, not status
322530
322531       · PR #47399: (isbm) zeromq 17 deprecation warning backport from  2018.3
322532         + tornado 5 fixes @ 2018-05-02 15:11:16 UTC
322533
322534         · 2f5fc4ecc5 Merge pull request #47399 from isbm/isbm-zeromq17-depre‐
322535           cationwarning-2017.7.2-v2
322536
322537         · a36e49fd27 fix pylint
322538
322539         · 98b5629b36 Fix imports
322540
322541         · d94c0f0152 Remove unnecessary variable
322542
322543         · 8e377b5653 Lintfix: E0203 and attribute access
322544
322545         · 2aab70b1b8 Install ZMQ handler if <15 version
322546
322547         · 296c589f4b Use ZMQ switch utility in the integration tests
322548
322549         · ab5fa34d7c Use ZMQ_VERSION_INFO constant everywhere
322550
322551         · 43b5558b82 Add trace logging on ZMQ sockets communication
322552
322553         · 164204a9fe Remove duplicate code for ZMQ monitor handling
322554
322555         · 834b1e4ff0 Remove obsolete ZMQIOLoop direct instance
322556
322557         · 1c90cbdb3c Remove an empty line
322558
322559         · ef2e0acd66 Add logging on ZMQ socket exception
322560
322561         · 38ceed371d Lintfix: ident
322562
322563         · 1ece6a5f52 Lintfix: line too long
322564
322565         · 4e650c0b44 Remove code duplicate by reusing utilities functions
322566
322567         · 57da54b676 Fix imports
322568
322569         · 948368e9a1 Add libzmq version info builder
322570
322571         · 0b4a17b859 Update log exception message
322572
322573         · 116e1809fc Put a message alongside the exception to the logs
322574
322575         · 4bc43124b7 Remove unnecessary ZMQ import and check for its presence
322576
322577         · 05f4d40269 Use utility for ZMQ import handling in SSH client
322578
322579         · 457ef7d9a5 Use utility for ZMQ import handling in flo/zero
322580
322581         · 08dee6f5bd Use utility for ZMQ import handling
322582
322583         · e2a353cfb0 Remove unnecessary ZMQ extra-check for cache utils
322584
322585         · c8f2cc271d Remove unnecessary ZMQ extra-check for master utils
322586
322587         · 3940667bb9 Remove old ZMQ import handling
322588
322589         · f34a53e029 Use ZMQ utility for version check
322590
322591         · cbb26dcb28 Use ZMQ installer for master
322592
322593         · 453e83210a Add ZMQ version build
322594
322595         · af9601e21d Use ZMQ importer utility in async
322596
322597         · d50b2b2023 Incorporate tornado-5 fixes
322598
322599         · 1fd9af0655 Add ZMQ  backward-compatibility  tornado  installer  for
322600           older versions
322601
322602         · ad4b40415c  Add  one  place  for  handling various ZMQ versions and
322603           IOLoop classes
322604
322605       · PR #47343: (Ch3LL) Add additional service  module  integration  tests
322606         and enable for windows @ 2018-05-02 13:39:46 UTC
322607
322608         · b14e974b5f Merge pull request #47343 from Ch3LL/win_srv_test
322609
322610         · 2173b6f549 ensure we are enabling/disabling before test
322611
322612         · d58be06751  Add  additionatl  service  module integration tests and
322613           enable for windows
322614
322615       · PR  #47375:  (terminalmage)  Warn  on  use  of  virtual  packages  in
322616         pkg.installed state @ 2018-05-01 21:12:18 UTC
322617
322618         · b0f3fb577f Merge pull request #47375 from terminalmage/issue47310
322619
322620         · fa2bea52bb Remove extra blank line to appease linter
322621
322622         · f8ab2be81c Add debug logging if we fail to detect virtual packages
322623
322624         · 67c4fc56ac Warn on use of virtual packages in pkg.installed state
322625
322626       · PR  #47415:  (kstreee)  Fixes a bug of rest_tornado's 'local' client,
322627         complement fix of #46326 @ 2018-05-01 21:11:25 UTC
322628
322629         · PR #47200: (kstreee) Resolve a conflict with syndic timeout and bug
322630           fixes of the local client in rest_tornado (refs: #47415)
322631
322632         · PR  #47123:  (rallytime)  [develop]  Merge  forward  from 2018.3 to
322633           develop (refs: #47200)
322634
322635         · PR #47110: (kstreee) Fixes misusing of the timeout  option.  (refs:
322636           #47200)
322637
322638         · PR  #46692:  (mattp-)  saltnado  bugfixes for ldap & syndics (refs:
322639           #47123, #47200)
322640
322641         · PR #46326: (kstreee) Fixes a timing bug of saltnado's client local.
322642           (refs: #47110, #47123, #47200, #47415)
322643
322644         · PR  #45874:  (GwiYeong)  fix  for  local  client timeout bug (refs:
322645           #46326)
322646
322647         · 56235032f4      Merge      pull      request      #47415       from
322648           kstreee/fix-local-client-tgt-bug
322649
322650         · b8d37e0a1e  To  add  a test case for the syndic environment, copies
322651           the test case which was written by @mattp- that was already  merged
322652           into develop branch, related pr is #46692.
322653
322654         · 4627bad1fd Realizes 'tgt' field into actual minions using ckminions
322655           to subscribe results of the minions before publishing a payload.
322656
322657       · PR #47286: (baniobloom) fixed  vpc_peering_connection_name  option  @
322658         2018-05-01 19:02:10 UTC
322659
322660         · d65ceaee03  Merge  pull  request  #47286  from baniobloom/vpc_peer‐
322661           ing_connection_name_fix
322662
322663         · a968965087   Merge   branch   '2017.7'   into   vpc_peering_connec‐
322664           tion_name_fix
322665
322666       · PR  #47270:  (meaksh)  Fix  minion scheduler to return 'retcode' from
322667         executed functions @ 2018-04-30 18:21:55 UTC
322668
322669         · 8a5d4437bb Merge pull request  #47270  from  meaksh/2017.7-fix-ret‐
322670           code-on-schedule-utils
322671
322672         · d299cf3385  Merge branch '2017.7' into 2017.7-fix-retcode-on-sched‐
322673           ule-utils
322674
322675         · b6da600fff Initialize __context__ retcode for functions handled via
322676           schedule util module
322677
322678       · ISSUE                 #47264:                (jf)                doc:
322679         https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.grains.html#salt.modules.grains.delval
322680         s/of pass/or pass/ (refs: #47371)
322681
322682       · PR  #47371:  (rallytime)  Fix  "of  pass" typo in grains.delval docs:
322683         change to "or pass" @ 2018-04-30 18:18:46 UTC
322684
322685         · 5b51075384 Merge pull request #47371 from rallytime/fix-47264
322686
322687         · a43485b49c Fix "of pass" typo in grains.delval docs: change to  "or
322688           pass"
322689
322690       · PR  #47389:  (dwoz)  Older  GitPython  versions will not have close @
322691         2018-04-29 16:42:06 UTC
322692
322693         · a86e53be66 Merge pull request #47389 from dwoz/moregittestfix
322694
322695         · 67745c1362 Older GitPython versions will not have close
322696
322697       · PR #47388: (dwoz) Fix missing import @ 2018-04-28 18:33:14 UTC
322698
322699         · a5367eaf63 Merge pull request #47388 from dwoz/test_pip_fix
322700
322701         · eb26321e8b Fix missing import
322702
322703       · PR #47380: (gtmanfred) add io_loop  handling  to  runtests  engine  @
322704         2018-04-28 17:25:28 UTC
322705
322706         · 9b59b991c2 Merge pull request #47380 from gtmanfred/2017.7
322707
322708         · 93d1445ec1 add io_loop handling to runtests engine
322709
322710       · PR  #47384:  (dwoz) Fix py2 version of pip test @ 2018-04-28 15:13:28
322711         UTC
322712
322713         · 37822c0cbb Merge pull request #47384 from dwoz/test_pip_fix
322714
322715         · a37a9da1fb Fix py2 version of pip test
322716
322717       · PR #47382: (dwoz) Close the repo and fix multiple tests @  2018-04-28
322718         15:09:17 UTC
322719
322720         · eefd96732e Merge pull request #47382 from dwoz/gitfs_tests
322721
322722         · 1570708fac Close the repo and fix multiple tests
322723
322724       · PR  #47369: (terminalmage) Return an empty dict if no search_order in
322725         ldap ext_pillar config file @ 2018-04-27 20:58:52 UTC
322726
322727         · 57c75ff660 Merge pull request #47369 from terminalmage/ldap_pillar
322728
322729         · 085883ae2d Return an empty dict if no search_order in ldap ext_pil‐
322730           lar config file
322731
322732       · PR  #47363: (DmitryKuzmenko) Tornado5.0: Future.exc_info is dropped @
322733         2018-04-27 18:30:18 UTC
322734
322735         · bcc66dd9bf   Merge   pull   request   #47363    from    DSRCorpora‐
322736           tion/bugs/replace_exc_info_with_exception
322737
322738         · 3f7b93a23c Tornado5.0: Future.exc_info is dropped
322739
322740       · PR #47334: (terminalmage) pillar_ldap: Fix cryptic errors when config
322741         file fails to load @ 2018-04-27 17:53:51 UTC
322742
322743         · bcef34f7e1 Merge pull request #47334 from terminalmage/ldap_pillar
322744
322745         · 0175a8687c pillar_ldap: Fix cryptic errors when config  file  fails
322746           to load
322747
322748         · 65c3ba7ff1 Remove useless documentation
322749
322750         · 5d67cb27de Remove unncessary commented line
322751
322752       · PR  #47347:  (dwoz)  Proper fix for mysql tests @ 2018-04-27 17:27:53
322753         UTC
322754
322755         · 31db8ca7ad Merge pull request #47347 from dwoz/test_mysql_fix_again
322756
322757         · add78fb618 Fix linter warnings
322758
322759         · 2644cc7553 Fix linter nits
322760
322761         · 799c601184 Proper fix for mysql tests
322762
322763       · PR #47359: (gtmanfred) add mention of the  formulas  channel  to  the
322764         formulas docs @ 2018-04-27 16:56:13 UTC
322765
322766         · e573236848 Merge pull request #47359 from gtmanfred/2017.7
322767
322768         · 6214ed8133 add mention of the formulas channel to the formulas docs
322769
322770       · PR  #47317:  (dwoz) Do not join a thread that is stopped @ 2018-04-27
322771         13:15:09 UTC
322772
322773         · PR #47279: (dwoz) Gracefully shutdown worker threads (refs: #47317)
322774
322775         · 629503b2a8 Merge pull request #47317 from dwoz/threadshutdown
322776
322777         · 6db2a0e4d3 Log exceptions at exception level
322778
322779         · d4ae787595 Do not join a thread that is stopped
322780
322781       · PR  #47304:  (cachedout)  Pass  timeout  to  salt  CLI  for  tests  @
322782         2018-04-27 13:11:58 UTC
322783
322784         · aacd5cefe3  Merge pull request #47304 from cachedout/test_cli_time‐
322785           out_arg
322786
322787         · 85025af83c Pass timeout to salt CLI for tests
322788
322789       · PR #47311: (Ch3LL) Add firewall execution modules tests for windows @
322790         2018-04-27 13:10:54 UTC
322791
322792         · 55534fb659 Merge pull request #47311 from Ch3LL/firewall_windows
322793
322794         · 4e16c18c16 Add firewall module windows tests to whitelist
322795
322796         · 4b2fc4ec66 Add windows firewall execution modules integration tests
322797
322798       · PR  #47348:  (dwoz)  Ignore  gitfs  tests when symlinks not enabled @
322799         2018-04-27 13:08:27 UTC
322800
322801         · 1667375a80 Merge pull request #47348 from dwoz/no_symlinks
322802
322803         · 94a70e847a Ignore gitfs tests when symlinks not enabled
322804
322805       · PR #47342: (dwoz) Fix mysql test cases @ 2018-04-27 00:50:53 UTC
322806
322807         · dac04261b5 Merge pull request #47342 from dwoz/test_mysql_fix
322808
322809         · 7496f4c5a8 Fix mysql test cases
322810
322811       · PR #47341: (dwoz) Fix python  3  support  for  inet_pton  function  @
322812         2018-04-26 23:35:45 UTC
322813
322814         · 34e78ef564 Merge pull request #47341 from dwoz/inet_pton_fix
322815
322816         · 85451f48d4 Fix python 3 support for inet_pton function
322817
322818       · PR  #47339: (dwoz) Use salt.utils.fopen for line ending consistancy @
322819         2018-04-26 22:39:56 UTC
322820
322821         · e4779f3246 Merge pull request #47339 from dwoz/ssh_key_test_fix
322822
322823         · e37a93a1ca Remove redundent close call
322824
322825         · b2ae5889b7 Close the temporary file handle
322826
322827         · 9f7f83a975 Use salt.utils.fopen for line ending consistancy
322828
322829       · PR  #47335:  (dwoz)  Remove  un-needed  string-escape  @   2018-04-26
322830         21:49:27 UTC
322831
322832         · b221860151 Merge pull request #47335 from dwoz/pip_test_fix
322833
322834         · dcb6a22c00 Remove un-needed string-escape
322835
322836       · PR #47331: (dwoz) Do not encode usernames @ 2018-04-26 19:57:28 UTC
322837
322838         · 1c527bfd3a Merge pull request #47331 from dwoz/py3_wingroup_fix
322839
322840         · cc154ef857 Do not encode usernames
322841
322842       · PR  #47329:  (cachedout) Credit Frank Spierings @ 2018-04-26 16:37:59
322843         UTC
322844
322845         · 708078b152 Merge pull request #47329 from cachedout/frank_credit
322846
322847         · 33c0644ac4 Credit Frank Spierings
322848
322849       · PR  #47281:  (Ch3LL)  Add  win_system  integration  module  tests   @
322850         2018-04-26 16:07:41 UTC
322851
322852         · a545e55543 Merge pull request #47281 from Ch3LL/system_test
322853
322854         · c9181a75a6 Add destructivetest decorator on tests
322855
322856         · 0d0c8987fc Add win_system integration module tests
322857
322858       · PR  #47283:  (Ch3LL)  Add  windows  ntp  integration  module  tests @
322859         2018-04-26 16:04:44 UTC
322860
322861         · b64d930df0 Merge pull request #47283 from Ch3LL/ntp_test
322862
322863         · ced7f86546 Add windows ntp integration module tests
322864
322865       · PR #47314: (Ch3LL) Skip netstat test on macosx as its not supported @
322866         2018-04-26 16:00:37 UTC
322867
322868         · 910aff910f Merge pull request #47314 from Ch3LL/net_mac_test
322869
322870         · 67beb1451c Skip netstat test on macosx as its not supported
322871
322872       · PR  #47307:  (rallytime)  Back-port  #47257  to  2017.7  @ 2018-04-26
322873         15:16:23 UTC
322874
322875         · PR #47257: (jeroennijhof) Role is  not  a  list  but  a  dictionary
322876           (refs: #47307)
322877
322878         · 0549ef7c16 Merge pull request #47307 from rallytime/bp-47257
322879
322880         · 6c5b2f92bc Role is not a list but a dictionary
322881
322882       · PR  #47312:  (rallytime)  Update  bootstrap script to latest release:
322883         2018.04.25 @ 2018-04-26 15:15:13 UTC
322884
322885         · d6ff4689f6 Merge pull request  #47312  from  rallytime/update-boot‐
322886           strap-release
322887
322888         · 765cce06a2 Update bootstrap script to latest release: 2018.04.25
322889
322890       · PR #47279: (dwoz) Gracefully shutdown worker threads (refs: #47317) @
322891         2018-04-25 21:15:43 UTC
322892
322893         · e0765f5719 Merge pull request #47279 from dwoz/py3_build_fix
322894
322895         · 21dc1bab91 Pep-8 line endings
322896
322897         · 717abedaf7 Fix comman wart
322898
322899         · 4100dcd64c Close might get called more than once
322900
322901         · dbe671f943 Stop socket before queue on delete
322902
322903         · 9587f5c69e Silence pylint import-error for six.moves
322904
322905         · 4b0c7d3b34 Fix typo
322906
322907         · 05adf7c2b1 Use six.moves for queue import
322908
322909         · fe340778fa Gracefully shutdown worker threads
322910
322911       · PR #47113: (jfindlay) Support proto for  IPSec  policy  extension  in
322912         iptables state @ 2018-04-25 18:01:19 UTC
322913
322914         · 44f19b2f94 Merge pull request #47113 from jfindlay/iptables_state
322915
322916         · 8bd08012ee modules,states.iptables support proto for policy ext
322917
322918       · PR  #47302:  (Ch3LL) Remove unnecessary code from core grains and add
322919         test @ 2018-04-25 17:58:48 UTC
322920
322921         · b7a6206330 Merge pull request #47302 from Ch3LL/dead_code
322922
322923         · daa68b4877 Add virtual grains test for core grains
322924
322925         · a59dd2785d Remove dead code in core grains file for virt-what
322926
322927       · PR #47303:  (baniobloom)  Added  clarity  on  oldest  supported  main
322928         release branch @ 2018-04-25 17:52:39 UTC
322929
322930         · e29362acfc Merge pull request #47303 from baniobloom/bug_fix_doc
322931
322932         · b97c9df5f3  added  clarity  on how to figure out what is the oldest
322933           supported main release branch
322934
322935       · ISSUE #45790: (bdarnell)  Test  with  Tornado  5.0b1  (refs:  #47106,
322936         #47433)
322937
322938       · PR  #47106:  (DmitryKuzmenko)  Tornado50  compatibility  fixes (refs:
322939         #47433) @ 2018-04-25 15:32:37 UTC
322940
322941         · 0d9d55e013 Merge pull request #47106 from  DSRCorporation/bugs/tor‐
322942           nado50
322943
322944         · 39e403b18d Merge branch '2017.7' into bugs/tornado50
322945
322946         · 6706b3a2d1 Run off of a temporary config
322947
322948         · d6873800d5 Allow running pytest>=3.5.0
322949
322950         · 2da3983740 Tornado 5.0 compatibility fixes
322951
322952       · ISSUE  #47258: (drewmat) service state no longer working after kernel
322953         upgrade (refs: #47271)
322954
322955       · PR #47271: (gtmanfred) load rh_service for amazon  linux  not  booted
322956         with systemd @ 2018-04-25 14:47:06 UTC
322957
322958         · 2e014f4746 Merge pull request #47271 from gtmanfred/amazon
322959
322960         · 8a53908908 Do not load rh_service module when booted with systemd
322961
322962         · e4d1d5bf11 Revert "support amazon linux 2 for service module"
322963
322964       · ISSUE  #44847:  (malbertus)  netconfig.managed state.apply unexpected
322965         behaviour of test & debug variables (refs: #47246)
322966
322967       · PR #47246: (mirceaulinic) Attempting to fix #44847: allow a different
322968         way  to  get  the  test  and  debug  flags into the netconfig state @
322969         2018-04-25 14:44:02 UTC
322970
322971         · 599b0ed1e9    Merge    pull    request    #47246    from     cloud‐
322972           flare/fix-44847-2017.7
322973
322974         · ad80028104  This  way,  we  can  pass  flags such as debug into the
322975           state, but also test.
322976
322977       · PR  #47220:  (benediktwerner)  Fix  pip.installed  when  no   changes
322978         occurred with pip >= 1.0.0 @ 2018-04-25 14:23:50 UTC
322979
322980         · PR  #47207:  (benediktwerner) Fix pip_state with pip3 if no changes
322981           occourred (refs: #47220)
322982
322983         · PR #47102: (gtmanfred) dont allow using no_use_wheel for pip 10.0.0
322984           or newer (refs: #47220)
322985
322986         · 4e2e1f0719    Merge    pull    request    #47220    from   benedik‐
322987           twerner/fix-pip-2017.7
322988
322989         · 0197c3e973 Fix pip test
322990
322991         · 34bf66c09f Fix pip.installed with pip>=10.0.0
322992
322993       · PR #47272: (rallytime) Add windows  tests  and  reg  module/state  to
322994         CODEOWNERS file for team-windows @ 2018-04-25 13:25:29 UTC
322995
322996         · 92e606251f   Merge  pull  request  #47272  from  rallytime/reg-win‐
322997           dows-codeowners
322998
322999         · 9445af0185 Add windows tests and  reg  module/state  to  CODEOWNERS
323000           file for team-windows
323001
323002              · 8de3d41adb fixed vpc_peering_connection_name option
323003
323004       · PR  #47252:  (rallytime)  Fix the matching patterns in the CODEOWNERS
323005         file to use fnmatch patterns @ 2018-04-24 14:10:42 UTC
323006
323007         · 9dca5c0221  Merge  pull  request  #47252  from   rallytime/codeown‐
323008           ers-fixes
323009
323010         · 204b6af92b  Fix the matching patterns in the CODEOWNERS file to use
323011           fnmatch patterns
323012
323013       · ISSUE #47173:  (fpicot)  pkg.installed  ignores  normalize  parameter
323014         (refs: #47177)
323015
323016       · PR  #47177:  (fpicot)  fix  normalize  parameter  in  pkg.installed @
323017         2018-04-24 13:37:54 UTC
323018
323019         · 3de1bb49c8 Merge pull request #47177 from fpicot/fix_47173_pkg_nor‐
323020           malize
323021
323022         · 149f846f34 fix normalize parameter in pkg.installed
323023
323024       · PR  #47251:  (Ch3LL)  Update  Docs  to  remove  unnecessary  + sign @
323025         2018-04-23 19:37:04 UTC
323026
323027         · 10e30515dc Merge pull request #47251 from Ch3LL/pub_fix_rn
323028
323029         · fa4c2e6575 Update Docs to remove unnecessary + sign
323030
323031       · PR #47249: (Ch3LL) Add CVE number to 2016.3.6  Release  @  2018-04-23
323032         19:05:42 UTC
323033
323034         · bb7850a431 Merge pull request #47249 from Ch3LL/pub_fix_rn
323035
323036         · 24dea24b7e Add CVE number to 2016.3.6 Release
323037
323038       · ISSUE  #47225:  (pruiz)  zfs.filesystem_present  takes  forever  on a
323039         dataset with lots (10k+) of snapshots (refs: #47226, #47227)
323040
323041       · PR #47227: (pruiz) Fix  issue  #47225:  avoid  zfs.filesystem_present
323042         slowdown  when  dataset  has  lots  of  snapshots  (2017.7  branch) @
323043         2018-04-23 14:05:58 UTC
323044
323045         · PR #47226: (pruiz) Fix issue #47225:  avoid  zfs.filesystem_present
323046           slowdown when dataset has lots of snapshots (refs: #47227)
323047
323048         · 56933eb0b2       Merge      pull      request      #47227      from
323049           pruiz/pruiz/zfs-dataset-present-slow-2017.7
323050
323051         · fded61f19b Fix issue #47225: avoid zfs.filesystem_present  slowdown
323052           when dataset has lots of snapshots
323053
323054       · PR  #47167:  (smitty42)  Adding updates for python3 compatibility and
323055         new virtualbox SDK versi… @ 2018-04-23 13:20:42 UTC
323056
323057         · 9825065048 Merge pull request #47167 from smitty42/vbox-skd-fix
323058
323059         · 5de53139cd Merge branch '2017.7' into vbox-skd-fix
323060
323061       · PR #47213: (dwoz) Fix coverage on py3  windows  builds  @  2018-04-20
323062         22:09:57 UTC
323063
323064         · 976f031170 Merge pull request #47213 from dwoz/py3win
323065
323066         · ad9c7f63f0 Fix coverate on py3 windows builds
323067
323068         · 91252bac95  Adding updates for python3 compatibility and new virtu‐
323069           albox SDK version support.
323070
323071       · PR #47197: (dwoz) Move process target to top level module namespace @
323072         2018-04-20 15:41:06 UTC
323073
323074         · cebcd6d069 Merge pull request #47197 from dwoz/testfix
323075
323076         · 25803c9176 Move process target to top level module namespace
323077
323078       · PR  #47193: (Ch3LL) Add network module integration tests @ 2018-04-20
323079         13:37:19 UTC
323080
323081         · d4269c2b70 Merge pull request #47193 from Ch3LL/network_test
323082
323083         · bbf9987c19 Add network module integration tests
323084
323085       · PR #47189: (Ch3LL) Add autoruns.list integration test for  Windows  @
323086         2018-04-19 21:16:34 UTC
323087
323088         · c777248a78 Merge pull request #47189 from Ch3LL/autoruns
323089
323090         · 6a88bedb7a Add autoruns to windows whitelist
323091
323092         · e9e4d4af70 Add autoruns.list integration test for Windows
323093
323094       · PR  #47184:  (Ch3LL)  Add status module integration modules tests for
323095         Windows @ 2018-04-19 19:38:56 UTC
323096
323097         · 65f344e371 Merge pull request #47184 from Ch3LL/status_test
323098
323099         · 25a84428b8 Add status module integration modules tests for Windows
323100
323101       · PR #47163: (rallytime) Updage jenkins module autodocs to use jenkins‐
323102         mod name instead @ 2018-04-19 19:35:00 UTC
323103
323104         · PR  #46801:  (yagnik)  rename  jenkins to jenkinsmod (refs: #46900,
323105           #47163)
323106
323107         · 965600ad6c Merge pull request #47163 from rallytime/jenkins-autodoc
323108
323109         · 0039395017 Updage jenkins module autodocs to  use  jenkinsmod  name
323110           instead
323111
323112       · PR #47185: (twangboy) Add additional integration tests to whitelist @
323113         2018-04-19 18:20:25 UTC
323114
323115         · 0a43dde5fc Merge pull request #47185 from twangboy/add_tests
323116
323117         · 345daa0423 Add additional integration tests to whitelist
323118
323119       · PR #47172: (dwoz) Allow non  admin  name  based  runs  on  windows  @
323120         2018-04-19 17:26:42 UTC
323121
323122         · 1a600bb9a4 Merge pull request #47172 from dwoz/cover_without_admin
323123
323124         · cadd759727 Use warnings to warn user
323125
323126         · 144c68e214 Allow non admin name based runs on windows
323127
323128       · PR  #47110:  (kstreee)  Fixes  misusing of the timeout option. (refs:
323129         #47200) @ 2018-04-18 17:16:20 UTC
323130
323131         · PR #46326: (kstreee) Fixes a timing bug of saltnado's client local.
323132           (refs: #47110, #47123, #47200, #47415)
323133
323134         · PR  #45874:  (GwiYeong)  fix  for  local  client timeout bug (refs:
323135           #46326)
323136
323137         · d5997d2301  Merge  pull  request  #47110  from   kstreee/fix-misus‐
323138           ing-of-timeout
323139
323140         · 0624aee0ed Fixes misusing of the timeout option.
323141
323142       · ISSUE #40948: (ScoreUnder) salt-call falsely reports a master as down
323143         if it does not have PKI directories created (refs: #40961)
323144
323145       · PR #40961: (terminalmage) Make error more explicit when PKI  dir  not
323146         present for salt-call @ 2018-04-18 16:08:17 UTC
323147
323148         · 87ca2b4003 Merge pull request #40961 from terminalmage/issue40948
323149
323150         · 6ba66cca41 Fix incorrect logic in exception check
323151
323152         · fed5041c5f Make error more specific to aid in troubleshooting
323153
323154         · 8c67ab53b4 Fix path in log message
323155
323156         · 3198ca8b19  Make  error  more explicit when PKI dir not present for
323157           salt-call
323158
323159       · PR #47134: (Ch3LL) Add  user  integration  tests  for  windows  OS  @
323160         2018-04-18 14:29:40 UTC
323161
323162         · f5e63584d4 Merge pull request #47134 from Ch3LL/user_win_test
323163
323164         · e7c9bc4038 Add user integration tests for windows OS
323165
323166       · PR #47131: (gtmanfred) add __cli opts variable for master processes @
323167         2018-04-17 21:33:57 UTC
323168
323169         · da2f6a3fac Merge pull request #47131 from gtmanfred/cli
323170
323171         · 1b1c29bf62 add __cli for master processes
323172
323173       · ISSUE #47116: (pcjeff) pip  10.0.0  can  not  import  pip.req  (refs:
323174         #47121)
323175
323176       · PR  #47129:  (rallytime)  Back-port  #47121  to  2017.7  @ 2018-04-17
323177         20:45:11 UTC
323178
323179         · PR #47121: (pcjeff) fix pip  import  error  in  pip  10.0.0  (refs:
323180           #47129)
323181
323182         · 9b8e6ffb8c Merge pull request #47129 from rallytime/bp-47121
323183
323184         · 11da526b21 add ImportError
323185
323186         · bd0c23396c fix pip.req import error in pip 10.0.0
323187
323188       · PR  #47102:  (gtmanfred) dont allow using no_use_wheel for pip 10.0.0
323189         or newer (refs: #47220) @ 2018-04-17 20:44:58 UTC
323190
323191         · eb5ac51a48 Merge pull request #47102 from gtmanfred/2017.7
323192
323193         · 3dc93b310b fix tests
323194
323195         · 8497e08f8e fix pip module for 10.0.0
323196
323197         · 4c07a3d1e9 fix other tests
323198
323199         · b71e3d8a04 dont allow using no_use_wheel for pip 10.0.0 or newer
323200
323201       · PR #47037: (twangboy) Fix build_env scripts @ 2018-04-17 18:54:17 UTC
323202
323203         · c1dc42e67e Merge pull request #47037 from twangboy/fix_dev_scripts
323204
323205         · 990a24d7ed Fix build_env scripts
323206
323207       · PR  #47108:   (dwoz)   Fix   unit.utils.test_event.TestAsyncEventPub‐
323208         lisher.test_event_subscription @ 2018-04-17 00:25:07 UTC
323209
323210         · 6a4c0b8a1a Merge pull request #47108 from dwoz/async_test_fix
323211
323212         · 3d85e30ce5 AsyncTestCase is required for AsyncEventPublisher
323213
323214       · PR  #47068:  (cachedout)  Catch  an operation on a closed socket in a
323215         test @ 2018-04-16 19:56:03 UTC
323216
323217         · 03892eaf0b    Merge    pull    request    #47068    from    cached‐
323218           out/catch_value_error_socket_test
323219
323220         · 7db5625632 Catch an operation on a closed socket in a test
323221
323222       · PR #47065: (dwoz) Jinja test fix @ 2018-04-16 16:16:42 UTC
323223
323224         · 1ea2885ec2 Merge pull request #47065 from dwoz/jinja_test_fix
323225
323226         · 673cd31c65 Merge branch '2017.7' into jinja_test_fix
323227
323228       · PR  #47077: (dwoz) Fix failing state test by normalizing line endings
323229         @ 2018-04-16 15:48:39 UTC
323230
323231         · 5293b5b5ca Merge pull request #47077 from dwoz/test_state_fix
323232
323233         · 444da3f893 Fix py3 wart (chr vs bytesstring)
323234
323235         · e8acca01c2 Fix failing state test by normalizing line endings
323236
323237       · ISSUE #46538: (HenriWahl) salt-cloud gives "FutureWarning: The behav‐
323238         ior of this method will change in future versions." (refs: #47067)
323239
323240       · PR #47067: (gtmanfred) use the recommended opennebula lookup method @
323241         2018-04-16 15:48:15 UTC
323242
323243         · ca967de5da Merge pull request #47067 from gtmanfred/2017.7
323244
323245         · f913a7859c use the recommended opennebula lookup method
323246
323247       · PR #47064: (dwoz) Fix fileserver roots tests  @  2018-04-14  21:30:23
323248         UTC
323249
323250         · 7fddad6cd9 Merge pull request #47064 from dwoz/roots_tests_fix
323251
323252         · 25fd7c0694 fix py3 wart, encode os.linesep
323253
323254         · d79f1a1961 Fix fileserver roots tests
323255
323256       · PR  #47069:  (cachedout)  Pass  the  timeout variable to the CLI when
323257         calling salt in tests @ 2018-04-14 15:20:25 UTC
323258
323259         · 977c6939c4 Merge pull  request  #47069  from  cachedout/match_time‐
323260           out_arg
323261
323262         · b8990f5258  Pass  the timeout variable to the CLI when calling salt
323263           in tests
323264
323265       · PR  #47074:  (dwoz)  Kitchn  should  ignore  artifacts  directory   @
323266         2018-04-14 13:06:19 UTC
323267
323268         · 2c4c19c622 Merge pull request #47074 from dwoz/ignore_artifacts
323269
323270         · c3941efad0 Kitchn should ignore artifacts directory
323271
323272       · ISSUE  #47000:  (mvintila) Client API: full_return paramenter missing
323273         from cmd_subset function (refs: #47055)
323274
323275       · PR #47055: (mattp-) #47000 - add proper handling  of  full_return  in
323276         cmd_subset @ 2018-04-13 20:17:10 UTC
323277
323278         · c484c0bd71 Merge pull request #47055 from bloomberg/GH-47000
323279
323280         · 8af3f5b874 GH-47000: add proper handling of full_return in cmd_sub‐
323281           set
323282
323283       · PR #47039:  (twangboy)  Fix  winrm  powershell  script  @  2018-04-13
323284         18:09:56 UTC
323285
323286         · f3496030cc     Merge    pull    request    #47039    from    twang‐
323287           boy/win_fix_winrm_script
323288
323289         · 6635b9003f Fix winrm powershell script
323290
323291              · 46fa2c04de Fix py3 os.linesep wart
323292
323293              · 3c565d7e54 Use salt.utils.fopen
323294
323295              · aa965310f1 Clean up cruft
323296
323297              · efc9866580 Jinja test fixes
323298
323299       · PR #46326: (kstreee) Fixes a timing bug of saltnado's  client  local.
323300         (refs: #47110, #47123, #47200, #47415) @ 2018-04-13 13:59:28 UTC
323301
323302         · PR  #45874:  (GwiYeong)  fix  for  local  client timeout bug (refs:
323303           #46326)
323304
323305         · 1700a10ebe Merge pull request #46326 from kstreee/fix-client-local
323306
323307         · 0f358a9c9e Fixes a timing bug of saltnado's client local.
323308
323309       · ISSUE #46877: (trudesea) Unable to apply GPO  (Windows  2016)  (refs:
323310         #46913)
323311
323312       · ISSUE  #44516:  (doesitblend)  Windows  PY3 Minion Returns UTF16 Uni‐
323313         codeError (refs: #44944)
323314
323315       · PR #46913: (lomeroe) 2017.7 Fix  #46877  --  win_lgpo  start/shutdown
323316         script reading @ 2018-04-12 15:10:50 UTC
323317
323318         · PR  #44944: (lomeroe) win_lgpo registry.pol encoding updates (refs:
323319           #46913, #47438)
323320
323321         · c3c00316c5 Merge pull request #46913 from lomeroe/2017_7-fix46877
323322
323323         · 369a0645ed move exception for clarity
323324
323325         · 32ce5bfda5 Use configparser serializer object to read  psscript.ini
323326           and script.ini startup/shutdown script files.
323327
323328       · PR  #47025:  (terminalmage)  Fix  server_id grain in PY3 on Windows @
323329         2018-04-12 15:08:00 UTC
323330
323331         · 9e37cfc9d6   Merge   pull    request    #47025    from    terminal‐
323332           mage/fix-server_id-windows
323333
323334         · cb0cf89ed3 Fix server_id grain in PY3 on Windows
323335
323336       · PR  #47027:  (rallytime)  Back-port  #44508  to  2017.7  @ 2018-04-12
323337         15:05:51 UTC
323338
323339         · PR #44508: (mzbroch) Capirca integration (refs: #47027)
323340
323341         · 2e193cfb45 Merge pull request #47027 from rallytime/bp-44508
323342
323343         · 8e72f362f4 Add priority field to support the latest capirca.
323344
323345         · 112f92baab Add priority field to support the latest capirca.
323346
323347       · PR #47020:  (rallytime)  Back-port  #46970  to  2017.7  @  2018-04-11
323348         21:48:25 UTC
323349
323350         · PR #46970: (garethgreenaway)  [2017.7] fix to pkgrepo comments test
323351           (refs: #47020)
323352
323353         · 385fe2bc1e Merge pull request #47020 from rallytime/bp-46970
323354
323355         · 9373dff52b Update test_pkgrepo.py
323356
323357         · 13cf9eb5b1 Removing debugging.
323358
323359         · a61a8593e5 Removing suse from pkgrepo comments tests.  the  pkgrepo
323360           functions in SUSE pkg module do not support comments.
323361
323362       · ISSUE  #46504:  (jfoboss)  ntp.managed  fails  on non-english systems
323363         (refs: #46539)
323364
323365       · PR #46539: (jfoboss) #46504 Fix @ 2018-04-11 14:13:24 UTC
323366
323367         · 8f994e7cf9 Merge pull request #46539 from jfoboss/patch-1
323368
323369         · 6890122e41 Merge pull request #1 from twangboy/pull_46539
323370
323371           · 19c3fadbe5 Fix unit test for win_ntp
323372
323373         · 826a8d3099 Fixing #46504
323374
323375       · PR #46999: (gtmanfred) switch pip test package @ 2018-04-10  21:18:33
323376         UTC
323377
323378         · 74d70e95a5 Merge pull request #46999 from gtmanfred/2017.7
323379
323380         · 791af8f6ce switch pip test package
323381
323382       · PR  #46023:  (mattp-)  add  parallel  support  for  orchestrations  @
323383         2018-04-10 19:26:04 UTC
323384
323385         · 8adaf7f526 Merge pull request #46023 from bloomberg/parallel-orch
323386
323387         · 0ac0b3ca29 Merge branch '2017.7' into parallel-orch
323388
323389       · ISSUE #46581: (qcpeter) puppet.fact tries to parse output  to  stderr
323390         (refs: #46613)
323391
323392       · PR  #46613: (myinitialsarepm) Fix puppet.fact and puppet.facts to use
323393         stdout.  @ 2018-04-10 15:18:07 UTC
323394
323395         · 39d65a39cf Merge pull request #46613 from  myinitialsarepm/fix_pup‐
323396           pet.fact_and_puppet.facts
323397
323398         · 44ecd13abc Update tests to use cmd.run_all
323399
323400         · 7d7d40f541  Merge  branch  '2017.7'  into  fix_puppet.fact_and_pup‐
323401           pet.facts
323402
323403         · 0ce1520bd0  Merge  branch  '2017.7'  into  fix_puppet.fact_and_pup‐
323404           pet.facts
323405
323406         · 69e1f6f681 Fix puppet.fact and puppet.facts to use stdout.
323407
323408       · PR  #46991:  (gtmanfred)  use  saltstack  salt-jenkins  @  2018-04-10
323409         14:19:00 UTC
323410
323411         · ba5421d988 Merge pull request #46991 from gtmanfred/windows
323412
323413         · 98588c1dc5 use saltstack salt-jenkins
323414
323415       · PR #46975: (gtmanfred) Make windows work for test runs in jenkinsci @
323416         2018-04-10 13:41:18 UTC
323417
323418         · 00c4067585 Merge pull request #46975 from gtmanfred/windows
323419
323420         · 1f69c0d7f8 make sure windows outputs xml junit files
323421
323422         · 4a2ec1bbb3 support new versions of winrm-fs
323423
323424         · b9efec8526 remove libnacl on windows
323425
323426         · 2edd5eaf9e fix path
323427
323428         · b03e272e44 windows work
323429
323430       · PR  #46945:  (vutny)  [DOC]  Fix Jinja block in FAQ page @ 2018-04-09
323431         13:05:28 UTC
323432
323433         · 3cf2353e41 Merge pull request #46945 from vutny/doc-faq-fix-jinja
323434
323435         · bfdf54e61d [DOC] Fix Jinja block in FAQ page
323436
323437       · PR #46925: (terminalmage) Remove reference to  directory  support  in
323438         file.patch state @ 2018-04-06 13:54:47 UTC
323439
323440         · fc2f728665    Merge    pull    request    #46925   from   terminal‐
323441           mage/fix-file.patch-docstring
323442
323443         · 97695657f0 Remove reference  to  directory  support  in  file.patch
323444           state
323445
323446       · PR  #46900:  (rallytime)  Back-port  #46801  to  2017.7  @ 2018-04-06
323447         13:47:44 UTC
323448
323449         · PR #46801: (yagnik) rename jenkins  to  jenkinsmod  (refs:  #46900,
323450           #47163)
323451
323452         · eef6c518e1 Merge pull request #46900 from rallytime/bp-46801
323453
323454         · 6a41e8b457 rename jenkins to jenkinsmod
323455
323456       · PR  #46899:  (rallytime)  Back-port  #45116  to  2017.7  @ 2018-04-06
323457         13:47:17 UTC
323458
323459         · PR #45116: (arif-ali) fix adding parameters to http.query from  sdb
323460           yaml (refs: #46899)
323461
323462         · 71839b0303 Merge pull request #46899 from rallytime/bp-45116
323463
323464         · b92f908da4 fix adding parameters to http.query from sdb yaml
323465
323466              · 3d5e69600b address lint issues raised by @isbm
323467
323468              · a9866c7a03 fix parallel mode py3 compatibility
323469
323470              · 6d7730864a removing prereq from test orch
323471
323472              · 6c8a25778f add integration test to runners/test_state to exer‐
323473                cise parallel
323474
323475              · 2c86f16b39 cherry-pick cdata KeyError prevention from #39832
323476
323477              · 26a96e8933 record start/stop duration for  parallel  processes
323478                separately
323479
323480              · e4844bdf2b  revisit  previous  join() behavior in check_requi‐
323481                sites
323482
323483              · f00a359cdf join() parallel  process  instead  of  a  recursive
323484                sleep
323485
323486              · 6e7007a4dc add parallel support for orchestrations
323487
323488       · ISSUE  #43529:  (Ch3LL)  Add  publisher_acl  Test  to Auto Test Suite
323489         (refs: #44926)
323490
323491       · PR #44926: (frogunder) whitelist_acl_test @ 2018-04-05 15:09:26 UTC
323492
323493         · d0f5b43753 Merge pull request #44926 from frogunder/whitelisted_acl
323494
323495         · 18e460fc30 Merge branch '2017.7' into whitelisted_acl
323496
323497         · 1ad4d7d988 fix assert errors
323498
323499         · e6a56016df update test
323500
323501         · 19a2244cb7 whitelist_acl_test
323502
323503       · ISSUE #46456: (vitaliyf) "ValueError" when running orch with "subset"
323504         (refs: #46464)
323505
323506       · PR  #46464:  (gtmanfred) fix salt subset in orchestrator @ 2018-04-05
323507         14:52:01 UTC
323508
323509         · 7d822f9cec Merge pull request #46464 from gtmanfred/orchestration
323510
323511         · 637cdc6b7b fix pylint
323512
323513         · 0151013ddb document cli option for cmd_subset
323514
323515         · 4a3ed6607d add test for subset in orchestration
323516
323517         · 3112359dd6 fix salt subset in orchestrator
323518
323519       · ISSUE #46523: (dwoz) Add a test to the cloud suite for Windows minion
323520         on EC2 (refs: #46879)
323521
323522       · PR  #46879:  (dwoz)  Fix  multiple  typos  causing  tests  to  fail @
323523         2018-04-05 13:59:28 UTC
323524
323525         · 805ed1c964 Merge pull request #46879 from dwoz/cloudtestfix
323526
323527         · dc54fc53c3 Fix multiple typos causing tests to fail
323528
323529       · PR #46647: (twangboy) Fix the tear down function in  integration.mod‐
323530         ules.test_grains @ 2018-04-04 21:14:06 UTC
323531
323532         · f70f6de282     Merge    pull    request    #46647    from    twang‐
323533           boy/win_fix_test_grains
323534
323535         · c179388b0e  Fix  the  tear  down   function   in   integration.mod‐
323536           ules.test_grains.GrainsAppendTestCase
323537
323538       · ISSUE  #46754:  (nages13)  grain  item  virtual_subtype shows 'Xen PV
323539         DomU' on Docker containers (refs: #46756)
323540
323541       · ISSUE #43405: (kfix) LXD-created LXC container is detected as  a  Xen
323542         domU (refs: #46756)
323543
323544       · PR  #46756: (nages13) fix grains['virtual_subtype'] to show Docker on
323545         xen kernels @ 2018-04-04 20:53:49 UTC
323546
323547         · 91c078ce12 Merge pull request #46756 from nages13/bugfix-grain-vir‐
323548           tual_subtype
323549
323550         · 781f5030a4    Merge    branch   'bugfix-grain-virtual_subtype'   of
323551           https://github.com/nages13/salt into bugfix-grain-virtual_subtype
323552
323553           · cd1ac4b7f9 Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
323554             type
323555
323556           · 0ace76c0e7  Merge  branch '2017.7' into bugfix-grain-virtual_sub‐
323557             type
323558
323559           · 9eb6f5c0d0 Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
323560             type
323561
323562           · 73d6d9d365  Merge  branch '2017.7' into bugfix-grain-virtual_sub‐
323563             type
323564
323565           · a4a17eba6a Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
323566             type
323567
323568           · bf5034dbdb  Merge  branch '2017.7' into bugfix-grain-virtual_sub‐
323569             type
323570
323571           · 8d12770951 Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
323572             type
323573
323574         · 7e704c0e81  Moved  down  container  check code below hypervisors to
323575           validate containers type  running  in  virtual  environment.  Fixes
323576           #46754 & #43405
323577
323578         · 710f74c4a6 fix grains['virtual_subtype'] to show Docker on xen ker‐
323579           nels
323580
323581       · ISSUE #46762:  (ScoreUnder)  prereq  stack  overflow  (refs:  #46788,
323582         #46799)
323583
323584       · PR  #46799:  (garethgreenaway)  [2017.7]  Adding test for PR #46788 @
323585         2018-04-04 20:41:23 UTC
323586
323587         · PR #46788: (garethgreenaway) [2017.7] Ensure failed tags are  added
323588           to self.pre (refs: #46799)
323589
323590         · 058bbed221    Merge   pull   request   #46799   from   garethgreen‐
323591           away/46762_prereq_shenanigans_tests
323592
323593         · 13875e78cf Fixing documention string for test.
323594
323595         · 3d288c44d4 Fixing test documentation
323596
323597         · 6cff02ef6a Adding tests for #46788
323598
323599       · PR #46867: (terminalmage) Backport string arg normalization to 2017.7
323600         branch @ 2018-04-04 18:06:57 UTC
323601
323602         · d9770bf3f8 Merge pull request #46867 from terminalmage/unicode-log‐
323603           ging-normalization
323604
323605         · 7652688e83 Backport string arg normalization to 2017.7 branch
323606
323607       · PR #46770: (twangboy) Change the order of  SID  Lookup  @  2018-04-04
323608         17:33:10 UTC
323609
323610         · 9eb98b1f6e Merge pull request #46770 from twangboy/fix_46433
323611
323612         · 89af0a6222 Merge branch '2017.7' into fix_46433
323613
323614         · 67b4697578 Remove unused import (ling)
323615
323616         · 9302fa5ab0 Clean up code comments
323617
323618         · b383b9b330 Change the order of SID Lookup
323619
323620       · ISSUE  #46826:  (robgott) grain modules using tuples affect targeting
323621         (refs: #46839)
323622
323623       · PR #46839: (gtmanfred) match tuple for targets as well  @  2018-04-04
323624         14:07:12 UTC
323625
323626         · 9c776cffb7 Merge pull request #46839 from gtmanfred/tupletarget
323627
323628         · 3b7208ce27 match tuple for targets as well
323629
323630       · ISSUE  #40245:  (czhong111)  salt-api automatically restart caused by
323631         "opening too many files" (refs: #46817)
323632
323633       · ISSUE #36374: (szjur) Descriptor leaks in  multithreaded  environment
323634         (refs: #46817)
323635
323636       · ISSUE #20639: (GrizzlyV) salt.client.LocalClient leaks connections to
323637         local salt master (refs: #46817)
323638
323639       · PR #46845:  (rallytime)  Back-port  #46817  to  2017.7  @  2018-04-03
323640         19:52:29 UTC
323641
323642         · PR  #46817: (mattp-) address filehandle/event leak in async run_job
323643           invocations (refs: #46845)
323644
323645         · PR #32145: (paclat) fixes 29817 (refs: #46817)
323646
323647         · 7db251dc11 Merge pull request #46845 from rallytime/bp-46817
323648
323649         · 36a0f6d8ca address filehandle/event leak in async  run_job  invoca‐
323650           tions
323651
323652       · PR  #46847:  (dwoz)  strdup  from  libc is not available on windows @
323653         2018-04-03 19:51:33 UTC
323654
323655         · e3d17ab7bc Merge pull request #46847 from dwoz/missing-strdup
323656
323657         · 55845f4846 strdup from libc is not available on windows
323658
323659       · ISSUE #46765: (roskens) pkg.mod_repo fails with a python  error  when
323660         removing a dictionary key (refs: #46776)
323661
323662       · PR  #46776:  (gtmanfred)  fix  shrinking  list  in  for  loop  bug  @
323663         2018-04-03 17:32:16 UTC
323664
323665         · f2dd79f9c4 Merge pull request #46776 from gtmanfred/2017.7
323666
323667         · edc1059ee0 fix shrinking list in for loop bug
323668
323669       · PR #46838:  (gtmanfred)  use  http  registry  for  npm  @  2018-04-03
323670         17:02:32 UTC
323671
323672         · 1941426218 Merge pull request #46838 from gtmanfred/npm
323673
323674         · bff61dd291 use http registry for npm
323675
323676       · ISSUE  #42312:  (frogunder)  salt-call  --local  sys.doc  none  gives
323677         error/traceback in raspberry pi (refs: #46823)
323678
323679       · PR #46823: (rallytime) Improve __virtual__ checks in sensehat  module
323680         @ 2018-04-03 16:56:08 UTC
323681
323682         · e544254e7b Merge pull request #46823 from rallytime/fix-42312
323683
323684         · dafa820f93 Improve __virtual__ checks in sensehat module
323685
323686       · PR  #46641:  (skizunov)  Make  LazyLoader  thread  safe  @ 2018-04-03
323687         16:09:17 UTC
323688
323689         · 37f6d2de35 Merge pull request #46641 from skizunov/develop3
323690
323691         · c624aa4827 Make LazyLoader thread safe
323692
323693       · PR #46837: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
323694         @ 2018-04-03 14:54:10 UTC
323695
323696         · 989508b100 Merge pull request #46837 from rallytime/merge-2017.7
323697
323698         · 8522c1d634 Merge branch '2016.11' into '2017.7'
323699
323700         · 3e844ed1df     Merge    pull    request    #46739    from    rally‐
323701           time/2016.11_update_version_doc
323702
323703         · 4d9fc5cc0f Update release versions for the 2016.11 branch
323704
323705       · PR #46740: (rallytime) Update release versions for the 2017.7  branch
323706         @ 2018-04-03 14:36:07 UTC
323707
323708         · 307e7f35f9     Merge    pull    request    #46740    from    rally‐
323709           time/2017.7_update_version_doc
323710
323711         · 7edf98d224 Update 2018.3.0 information and move branch  from  "lat‐
323712           est" to "previous"
323713
323714         · 5336e866ac Update release versions for the 2017.7 branch
323715
323716       · PR  #46783:  (twangboy)  Fix  network.managed  test=True on Windows @
323717         2018-04-03 12:54:56 UTC
323718
323719         · ebf5dd276f Merge pull request #46783 from twangboy/fix_46680
323720
323721         · da5ce25ef3 Fix unit tests on Linux
323722
323723         · b7f4f377cd Add space I removed
323724
323725         · f1c68a09b5 Fix network.managed test=True on Windows
323726
323727       · PR #46821: (rallytime) Fix the new test  failures  from  the  mantest
323728         changes @ 2018-04-03 12:40:51 UTC
323729
323730         · PR #46778: (terminalmage) Replace flaky SPM man test (refs: #46821)
323731
323732         · f652f25cc1   Merge  pull  request  #46821  from  rallytime/fix-man‐
323733           test-failures
323734
323735         · 209a8029c3 Fix the new test failures from the mantest changes
323736
323737       · ISSUE #46627: (vangourd) Win_LGPO  fails  on  writing  Administrative
323738         Template for Remote Assistance (refs: #46800)
323739
323740       · PR  #46800:  (lomeroe) fix win_lgpo to correctly create valuenames of
323741         list item types @ 2018-04-03 12:38:45 UTC
323742
323743         · c460f62081 Merge pull request #46800 from lomeroe/2017_7-46627
323744
323745         · 2bee383e9d correct create list item value names if the  valuePrefix
323746           attribute  does  not exist on the list item, the value is the value
323747           name, other wise, the  valuename  a  number  with  the  valuePrefix
323748           prepended to it
323749
323750       · ISSUE  #46347: (twangboy) Buid 449: unit.modules.test_inspect_collec‐
323751         tor (refs: #46675)
323752
323753       · PR #46675: (dwoz) Skip test when git symlinks are  not  configured  @
323754         2018-04-03 12:19:19 UTC
323755
323756         · df26f2641e Merge pull request #46675 from dwoz/inspectlib-tests
323757
323758         · d39f4852d8 Handle non-zero status exception
323759
323760         · 83c005802b Handle cases where git can not be found
323761
323762         · 628b87d5c4 Skip test when git symlinks are not configured
323763
323764       · ISSUE  #46808:  (ezh)  Sharedsecret  authentication  is broken (refs:
323765         #46809)
323766
323767       · PR #46815: (terminalmage) Backport  #46809  to  2017.7  @  2018-04-02
323768         20:05:15 UTC
323769
323770         · PR #46809: (ezh) Fix sharedsecret authentication (refs: #46815)
323771
323772         · 4083e7c460 Merge pull request #46815 from terminalmage/bp-46809
323773
323774         · 71d5601507 Fix sharedsecret authentication
323775
323776       · PR  #46769:  (dwoz)  Adding  windows  minion  tests  for salt cloud @
323777         2018-04-02 18:51:49 UTC
323778
323779         · 3bac9717f4 Merge pull request #46769 from dwoz/wincloudtest
323780
323781         · eabc234e5d Fix config override name
323782
323783         · 5c22a0f88d Use aboslute imports
323784
323785         · 810042710d Set default cloud test timeout back to 500 seconds
323786
323787         · 5ac89ad307 Use winrm_verify_ssl option causing tests to pass
323788
323789         · 71858a709c allow not verifying ssl winrm saltcloud
323790
323791         · ba5f11476c Adding windows minion tests for salt cloud
323792
323793       · PR #46786: (twangboy) Return int(-1) when  pidfile  contains  invalid
323794         data @ 2018-04-02 18:42:12 UTC
323795
323796         · f1be939763 Merge pull request #46786 from twangboy/fix_46757
323797
323798         · b0053250ff Remove int(), just return -1
323799
323800         · 7d56126d74 Fixes some lint
323801
323802         · 49b3e937da Return int(-1) when pidfile contains invalid data
323803
323804       · PR  #46814:  (terminalmage)  Backport  #46772  to 2017.7 @ 2018-04-02
323805         18:39:37 UTC
323806
323807         · PR #46772: (bmiguel-teixeira) fix container removal if  auto_remove
323808           was enabled (refs: #46814)
323809
323810         · 89bf24b15c Merge pull request #46814 from terminalmage/bp-46772
323811
323812         · a9f26f2ab8 avoid breaking if AutoRemove is not found
323813
323814         · 97779c965d fix container removal if auto_remove was enabled
323815
323816       · PR  #46813:  (terminalmage)  Get  rid  of  confusing  debug logging @
323817         2018-04-02 18:19:27 UTC
323818
323819         · 5ea4ffbdb6   Merge   pull    request    #46813    from    terminal‐
323820           mage/event-debug-log
323821
323822         · 5d6de3a2eb Get rid of confusing debug logging
323823
323824       · PR  #46766:  (twangboy)  Change  the way we're cleaning up after some
323825         tests @ 2018-03-30 18:01:03 UTC
323826
323827         · e533b7182d Merge pull request #46766 from twangboy/win_fix_test_git
323828
323829         · 5afc66452c Remove unused/redundant imports
323830
323831         · 88fd72c52c Use with_tempfile decorator where possible
323832
323833       · PR #46778: (terminalmage) Replace flaky SPM man test (refs: #46821) @
323834         2018-03-30 17:55:14 UTC
323835
323836         · 69d450db84  Merge  pull request #46778 from terminalmage/salt-jenk‐
323837           ins-906
323838
323839         · bbfd35d3ea Replace flaky SPM man test
323840
323841       · ISSUE #46762:  (ScoreUnder)  prereq  stack  overflow  (refs:  #46788,
323842         #46799)
323843
323844       · PR #46788: (garethgreenaway) [2017.7] Ensure failed tags are added to
323845         self.pre (refs: #46799) @ 2018-03-30 17:11:38 UTC
323846
323847         · c935ffb740   Merge   pull   request   #46788   from    garethgreen‐
323848           away/46762_prereq_shenanigans
323849
323850         · fa7aed6424 Ensure failed tags are added to self.pre.
323851
323852       · ISSUE #46354: (twangboy) Build 449: unit.test_state (refs: #46655)
323853
323854       · ISSUE #46350: (twangboy) Build 449: unit.test_pyobjects.RendererTests
323855         (refs: #46655)
323856
323857       · ISSUE #46349: (twangboy) Build 449: unit.test_pydsl (refs: #46655)
323858
323859       · ISSUE  #46345:  (twangboy)  Build  449:  unit.test_pyobjects.MapTests
323860         (Manual Pass) (refs: #46655)
323861
323862       · PR  #46655:  (dwoz)  Fixing  cleanUp  method to restore environment @
323863         2018-03-29 18:31:48 UTC
323864
323865         · 395b7f8fdc Merge pull request #46655 from dwoz/pyobjects-46350
323866
323867         · 5aabd442f2 Fix up import and docstring syntax
323868
323869         · 62d64c9230 Fix missing import
323870
323871         · 18b1730320 Skip test that requires pywin32 on *nix platforms
323872
323873         · 45dce1a485 Add reg module to globals
323874
323875         · 09f9322981 Fix pep8 wart
323876
323877         · 73d06f664b Fix linter error
323878
323879         · 009a8f56ea Fix up environ state tests for Windows
323880
323881         · b4be10b8fc Fixing cleanUp method to restore environment
323882
323883       · ISSUE #36802: (rmarcinik) using clean=True parameter in  file.recurse
323884         causes python process to spin out of control (refs: #46632)
323885
323886       · PR  #46632: (dwoz) Fix file.recurse w/ clean=True #36802 @ 2018-03-29
323887         18:30:42 UTC
323888
323889         · af45c49c42 Merge pull request #46632 from dwoz/file-recurse-36802
323890
323891         · 44db77ae79 Fix lint errors and typo
323892
323893         · cb5619537f Only change what is essential for test fix
323894
323895         · eb822f5a12 Fix file.recurse w/ clean=True #36802
323896
323897       · ISSUE #46660: (mruepp) top file merging same does produce conflicting
323898         ids with gitfs (refs: #46751)
323899
323900       · PR  #46751:  (folti)  top  file merging strategy 'same' works again @
323901         2018-03-28 21:12:27 UTC
323902
323903         · 6e9f504ed1 Merge pull request #46751 from folti/2017.7
323904
323905         · 7058f10381 same top merging strategy works again
323906
323907       · PR #46691: (Ch3LL) Add groupadd module integration tests for  Windows
323908         @ 2018-03-28 18:01:46 UTC
323909
323910         · d3623e0815 Merge pull request #46691 from Ch3LL/win_group_test
323911
323912         · 7cda825e90 Add groupadd module integration tests for Windows
323913
323914       · ISSUE #46352: (twangboy) Build 449: unit.test_client (refs: #46696)
323915
323916       · PR   #46696:  (dwoz)  Windows  unit.test_client  fixes  @  2018-03-28
323917         17:55:47 UTC
323918
323919         · 14ab50d3f4 Merge pull request #46696 from dwoz/win_test_client
323920
323921         · ec4634fc06 Better explanation in doc strings
323922
323923         · d9ae2abb34 Fix splling in docstring
323924
323925         · b40efc5db8 Windows test client fixes
323926
323927       · ISSUE #45956: (frogunder) CTRL-C gives traceback on py3 setup  (refs:
323928         #46032)
323929
323930       · PR  #46732:  (rallytime)  Back-port  #46032  to  2017.7  @ 2018-03-28
323931         13:43:17 UTC
323932
323933         · PR #46032: (DmitryKuzmenko) Workaroung python bug in traceback.for‐
323934           mat_exc() (refs: #46732)
323935
323936         · 1222bdbc00 Merge pull request #46732 from rallytime/bp-46032
323937
323938         · bf0b962dc0 Workaroung python bug in traceback.format_exc()
323939
323940       · ISSUE  #28142:  (zmalone)  Deprecate  or  update the copr repo (refs:
323941         #46749)
323942
323943       · PR #46749: (vutny) [DOC] Remove  mentions  of  COPR  repo  from  RHEL
323944         installation page @ 2018-03-28 13:20:50 UTC
323945
323946         · 50fe1e9480 Merge pull request #46749 from vutny/doc-deprecate-copr
323947
323948         · a1cc55da3d  [DOC]  Remove mentions of COPR repo from RHEL installa‐
323949           tion page
323950
323951       · PR #46734: (terminalmage) Make busybox image builder work with  newer
323952         busybox releases @ 2018-03-27 21:14:28 UTC
323953
323954         · bd1e8bcc7d Merge pull request #46734 from terminalmage/busybox
323955
323956         · 6502b6b4ff  Make  busybox  image  builder  work  with newer busybox
323957           releases
323958
323959       · ISSUE saltstack/salt-jenkins#902: (rallytime) [2017.7/.5] Test  fail‐
323960         ures for NPM on CentOS 6/7, Ubuntu 14, and OpenSUSE (refs: #46742)
323961
323962       · PR  #46742:  (gtmanfred)  only use npm test work around on newer ver‐
323963         sions @ 2018-03-27 21:13:28 UTC
323964
323965         · c09c6f819c Merge pull request #46742 from gtmanfred/2017.7
323966
323967         · fd0e649d1e only use npm test work around on newer versions
323968
323969       · PR #46743: (Ch3LL) Workaround getpwnam in  auth  test  for  MacOSX  @
323970         2018-03-27 21:10:47 UTC
323971
323972         · 3b6d5eca88 Merge pull request #46743 from Ch3LL/mac_auth
323973
323974         · 4f1c42c0e3 Workaround getpwnam in auth test for MacOSX
323975
323976       · ISSUE  #26920:  (david-fairbanks42)  MySQL  grant with underscore and
323977         wildcard (refs: #46171)
323978
323979       · PR #46171: (amaclean199) Fix mysql  grant  comparisons  @  2018-03-27
323980         17:54:48 UTC
323981
323982         · b548a3e742       Merge      pull      request      #46171      from
323983           amaclean199/fix_mysql_grants_comparison
323984
323985         · 97db3d9766 Merge branch '2017.7' into fix_mysql_grants_comparison
323986
323987         · 0565b3980e Merge branch '2017.7' into fix_mysql_grants_comparison
323988
323989         · 8af407173d Merge branch '2017.7' into fix_mysql_grants_comparison
323990
323991         · 00d13f05c4 Fix mysql grant comparisons by stripping both of  escape
323992           characters and quotes. Fixes #26920
323993
323994       · ISSUE  #5721:  (ozgurakan)  salt-minion  can't  restart itself (refs:
323995         #46709)
323996
323997       · PR #46709: (vutny) [DOC] Update  FAQ  about  Salt  self-restarting  @
323998         2018-03-27 14:34:58 UTC
323999
324000         · 554400e067 Merge pull request #46709 from vutny/doc-faq-minion-mas‐
324001           ter-restart
324002
324003         · d0929280fc [DOC] Update FAQ about Salt self-restarting
324004
324005       · PR  #46503:  (psyer)  Fixes  stdout  user  environment  corruption  @
324006         2018-03-27 14:20:15 UTC
324007
324008         · 3f21e9cc65       Merge      pull      request      #46503      from
324009           psyer/fix-cmd-run-env-corrupt
324010
324011         · e8582e80f2 Python 3-compatibility fix to unit test
324012
324013         · 27f651906d    Merge    pull    request    #1     from     terminal‐
324014           mage/fix-cmd-run-env-corrupt
324015
324016           · 172d3b2e04 Allow cases where no marker was found to proceed with‐
324017             out raising exception
324018
324019           · 35ad828ab8 Simplify the marker parsing logic
324020
324021         · a09f20ab45 fix repr for the linter
324022
324023         · 4ee723ac0f Rework how errors are output
324024
324025         · dc283940e0 Merge branch '2017.7' into fix-cmd-run-env-corrupt
324026
324027         · a91926561f Fix linting problems
324028
324029         · e8d3d017f9 fix bytes or str in find command
324030
324031         · 0877cfc38f Merge branch '2017.7' into fix-cmd-run-env-corrupt
324032
324033         · 86176d1252 Merge branch '2017.7' into fix-cmd-run-env-corrupt
324034
324035         · 3a7cc44ade Add python3 support for byte encoded markers
324036
324037         · 09048139c7 Do not show whole env in error
324038
324039         · ed94700255 fix missing raise statement
324040
324041         · 15868bc88c Fixes stdout user environment corruption
324042
324043       · PR  #46432:  (twangboy)  Default  to  UTF-8  for  templated  files  @
324044         2018-03-26 19:02:14 UTC
324045
324046         · ac2a6616a7 Merge pull request #46432 from twangboy/win_locales_utf8
324047
324048         · affa35c30d Revert passing encoding
324049
324050         · a0ab27ef15  Merge remote-tracking branch 'dw/win_locales_utf8' into
324051           win_locales_utf8
324052
324053           · 9f95c50061 Use default SLS encoding, fall back to system encoding
324054
324055           · 6548d550d0 Use salt.utils.to_unicode
324056
324057           · 8c0164fb63 Add ability to specify encoding in sdecode
324058
324059           · 2e7985a81c Default to utf-8 on Windows
324060
324061         · 8017860dcc Use salt.utils.to_unicode
324062
324063         · c10ed26eab Add ability to specify encoding in sdecode
324064
324065         · 8d7e2d0058 Default to utf-8 on Windows
324066
324067       · PR #46669: (terminalmage) Add option to return to pre-2017.7.3 pillar
324068         include merge order @ 2018-03-26 19:00:28 UTC
324069
324070         · fadc5e4ba4   Merge   pull  request  #46669  from  terminalmage/pil‐
324071           lar-merge-order
324072
324073         · b4a1d34b47 Add option to  return  to  pre-2017.7.3  pillar  include
324074           merge order
324075
324076       · PR  #46711: (terminalmage) Add performance reminder for wildcard ver‐
324077         sions @ 2018-03-26 18:07:31 UTC
324078
324079         · b90f0d1364  Merge  pull  request  #46711  from   terminalmage/wild‐
324080           card-versions-info
324081
324082         · fc7d16f1af Add performance reminder for wildcard versions
324083
324084       · ISSUE  #46353:  (twangboy) Build 449: unit.returners.test_smtp_return
324085         (refs: #46693)
324086
324087       · PR #46693: (dwoz) File and Pillar roots are dictionaries @ 2018-03-26
324088         15:15:38 UTC
324089
324090         · 6c80d90bb6 Merge pull request #46693 from dwoz/test_smtp_return
324091
324092         · 5bf850c67f File and Pillar roots are dictionaries
324093
324094       · ISSUE #36153: (krcroft) Pillarenv doesn't allow using separate pillar
324095         environments (refs: #46543)
324096
324097       · PR #46543: (dafenko) Fix missing saltenv and pillarenv in pillar.item
324098         @ 2018-03-26 15:05:13 UTC
324099
324100         · 9a6bc1418c       Merge      pull      request      #46543      from
324101           dafenko/fix-add-saltenv-pillarenv-to-pillar-item
324102
324103         · 6d5b2068aa  Merge   branch   '2017.7'   into   fix-add-saltenv-pil‐
324104           larenv-to-pillar-item
324105
324106         · 5219377313   Merge   branch   '2017.7'   into  fix-add-saltenv-pil‐
324107           larenv-to-pillar-item
324108
324109         · b7d39caa86  Merge   branch   '2017.7'   into   fix-add-saltenv-pil‐
324110           larenv-to-pillar-item
324111
324112         · 25f1074a85 Add docstring for added parameters
324113
324114         · 973bc13955   Merge   branch   '2017.7'   into  fix-add-saltenv-pil‐
324115           larenv-to-pillar-item
324116
324117         · 164314a859  Merge   branch   '2017.7'   into   fix-add-saltenv-pil‐
324118           larenv-to-pillar-item
324119
324120         · 267ae9f633 Fix missing saltenv and pillarenv in pillar.item
324121
324122       · PR  #46679:  (vutny)  [DOC]  Correct  examples  in pkg state module @
324123         2018-03-26 14:40:07 UTC
324124
324125         · f776040e25 Merge pull request #46679 from vutny/doc-state-pkg
324126
324127         · 4a730383bf [DOC] Correct examples in pkg state module
324128
324129       · PR #46646: (twangboy) Fix unit.returners.test_local_cache for Windows
324130         @ 2018-03-26 14:16:23 UTC
324131
324132         · 47409eaa6e     Merge    pull    request    #46646    from    twang‐
324133           boy/win_fix_test_local_cache
324134
324135         · 8d93156604 Fix unit.returners.test_local_cache for Windows
324136
324137       · ISSUE #46595: (aboe76) saltstack server_id changes with each  run  on
324138         python3 (refs: #46649)
324139
324140       · PR  #46649:  (terminalmage)  Make  server_id consistent on Python 3 @
324141         2018-03-26 13:58:59 UTC
324142
324143         · 0c2dce0416 Merge pull request #46649 from terminalmage/issue46595
324144
324145         · e82a1aa1ec Make server_id consistent on Python 3
324146
324147       · PR #46588: (UtahDave) Don't crash  when  saltwinshell  is  missing  @
324148         2018-03-21 20:26:31 UTC
324149
324150         · 4e7466a21c  Merge  pull  request #46588 from UtahDave/no_crash_win‐
324151           shell
324152
324153         · b7842a1777 Update error message.
324154
324155         · 95dfdb91ca Don't stacktrace when salt-ssh w/o saltwinshell
324156
324157       · ISSUE #22063: (jeanpralo) Wildcard inside  top.sls  file  for  pillar
324158         (refs: #41423)
324159
324160       · ISSUE #20581: (notpeter) Many environments: one pillar_root (all your
324161         envs are belong to base) (refs: #46309)
324162
324163       · PR #46631: (rallytime) Fix pillar unit test failures: file_roots  and
324164         pillar_roots environments should be lists @ 2018-03-21 19:22:49 UTC
324165
324166         · PR  #46629:  (terminalmage)  Fix  symlink loop when file_roots/pil‐
324167           lar_roots is a string instead of a list (refs: #46631)
324168
324169         · PR #46569: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3
324170           (refs: #46631)
324171
324172         · PR  #46309: (bdrung) Support dynamic pillar_root environment (refs:
324173           #46631)
324174
324175         · PR #41423: (RichardW42) pillar: target's state list  support  wild‐
324176           card in top.sls (refs: #46631)
324177
324178         · 33af3cfc7c  Merge  pull  request  #46631 from rallytime/update-pil‐
324179           lar-unit-tests
324180
324181         · 0f728186aa Fix pillar  unit  test  failures:  file_roots  and  pil‐
324182           lar_roots environments should be lists
324183
324184       · ISSUE  #26450:  (typeshige)  file.copy:  source  file is not present.
324185         (refs: #46640)
324186
324187       · PR #46640: (terminalmage) Clarify the docs for the file.copy state  @
324188         2018-03-21 19:14:50 UTC
324189
324190         · d329e7af78    Merge    pull    request    #46640   from   terminal‐
324191           mage/file.copy-docs
324192
324193         · 480c5f8faa Clarify the docs for the file.copy state
324194
324195       · PR  #46642:  (vutny)  [DOC]  Unify  cloud  modules  index  header   @
324196         2018-03-21 19:13:28 UTC
324197
324198         · ff40590c06 Merge pull request #46642 from vutny/doc-cloud-index
324199
324200         · 51e6aa54a1 [DOC] Unify cloud modules index header
324201
324202       · PR #46619: (rallytime) [2017.7] Merge forward from 2017.7.5 to 2017.7
324203         @ 2018-03-20 19:03:30 UTC
324204
324205         · 83ed40c06a Merge pull request #46619 from rallytime/merge-2017.7
324206
324207         · bcbddf5d07 Merge branch '2017.7.5' into '2017.7'
324208
324209       · PR #46584: (twangboy) Fix issue LGPO issue @ 2018-03-20 17:48:33 UTC
324210
324211         · df12135439 Merge pull request #46584 from twangboy/lgpo-46568
324212
324213         · 661017104b Detect disabled reg_multi_sz elements properly
324214
324215       · PR #46624: (twangboy) Fix  a  few  inconsitencies  in  the  installer
324216         script @ 2018-03-20 17:47:44 UTC
324217
324218         · 2fd3aa487c Merge pull request #46624 from twangboy/win_fix_install‐
324219           er
324220
324221         · fa0b0efe46 Fix some installer script inconsistencies
324222
324223       · ISSUE #46552: (JeffLee123)  State  with  require  requisite  executes
324224         despite onfail requisite on another state.   (refs: #46571)
324225
324226       · PR  #46571: (garethgreenaway) [2017.7] fixes to state.py @ 2018-03-20
324227         13:40:04 UTC
324228
324229         · f038e3c452   Merge   pull   request   #46571   from    garethgreen‐
324230           away/46552_onfail_and_require
324231
324232         · 152c43c843  Accounting  for  a  case when multiple onfails are used
324233           along with requires.  Previously if you have multiple states  using
324234           'onfail'  and  two  of  those  states using a 'require' against the
324235           first one state, the last two will run even if the  'onfail'  isn't
324236           met  because  the  'require' is met because the first state returns
324237           true even though it didn't excute.  This change adds an  additional
324238           hidden variable that is used when checking requisities to determine
324239           if the state actually ran.
324240
324241       · ISSUE #46512: (blarghmatey) git.pull failing when run from  the  salt
324242         scheduler (refs: #46520)
324243
324244       · PR  #46520:  (gtmanfred) pass utils to the scheduler for reloading in
324245         modules @ 2018-03-20 13:35:49 UTC
324246
324247         · 2677330e19 Merge pull request #46520 from gtmanfred/2017.7
324248
324249         · caefedc095 make sure utils is empty for pickling for windows
324250
324251         · 2883548e6b pass utils to the scheduler for reloading in modules
324252
324253       · ISSUE #44299: (nhavens) 2017.7.2 breaks pkgrepo.managed yum repo com‐
324254         ments (refs: #46531)
324255
324256       · PR #46531: (terminalmage) Fix regression in yumpkg._parse_repo_file()
324257         @ 2018-03-20 13:34:59 UTC
324258
324259         · 7bc3c2e588 Merge pull request #46531 from terminalmage/issue44299
324260
324261         · b70c3389da Fix case where no comments specified
324262
324263         · ce391c53f4 Add regression test for #44299
324264
324265         · c3e36a6c94 Fix regression in yumpkg._parse_repo_file()
324266
324267         · f0c79e3da3 Slight modification  to  salt.utils.pkg.rpm.combine_com‐
324268           ments()
324269
324270       · ISSUE #46521: (dwoz) --name argument not honored for cloud test suite
324271         (refs: #46567)
324272
324273       · PR #46567: (dwoz) Honor named tests when running integration suites @
324274         2018-03-20 13:24:42 UTC
324275
324276         · b80edb5d26 Merge pull request #46567 from dwoz/runtest-n-wart
324277
324278         · 3b6901e19d Honor named tests when running integration suites
324279
324280       · PR   #46580:  (twangboy)  Clarify  some  issues  with  msu  files  in
324281         win_dism.py @ 2018-03-16 18:57:55 UTC
324282
324283         · 1dcd22e767    Merge    pull    request    #46580    from     twang‐
324284           boy/win_update_docs_dism
324285
324286         · d52b99d7a3 Clarify some issues with msu files in win_dism.py
324287
324288       · ISSUE #46073: (layer3switch) salt 2017.7.3 grains metadata collection
324289         in AWS EC2 cause failure and nested iteration (refs: #46541)
324290
324291       · PR  #46541:  (gtmanfred)  handle  user-data  for  metadata  grains  @
324292         2018-03-15 17:21:31 UTC
324293
324294         · 0a68c22332 Merge pull request #46541 from gtmanfred/metadata
324295
324296         · 19bd1d9db5 handle user-data for metadata grains
324297
324298       · ISSUE  #46427:  (wasabi222)  cumulus  linux  should  use systemd as a
324299         default service pkg instead of debian_service (refs: #46547)
324300
324301       · PR #46547: (garethgreenaway)  [2017.7]  Disable  service  module  for
324302         Cumulus @ 2018-03-15 16:15:00 UTC
324303
324304         · 048b2ba3f6    Merge   pull   request   #46547   from   garethgreen‐
324305           away/46427_service_module_cumulus
324306
324307         · edd0b11447 Merge branch '2017.7' into 46427_service_module_cumulus
324308
324309         · ea3c16080e Disable the service module on Cumulus since it is  using
324310           systemd.
324311
324312       · PR #46548: (Ch3LL) profitbrick test: check for foo,bar username,pass‐
324313         word set in profitbrick config @ 2018-03-15 14:25:27 UTC
324314
324315         · 98e3260b9a Merge pull request #46548 from Ch3LL/profit_test
324316
324317         · db96c4e72e check for foo,bar username,password set  in  profitbrick
324318           config
324319
324320       · PR  #46549:  (Ch3LL)  Fix  dimensionsdata  test  random_name  call  @
324321         2018-03-15 14:23:41 UTC
324322
324323         · 79f2a76609 Merge pull request #46549 from Ch3LL/dimension_test
324324
324325         · bb338c464c Fix dimensionsdata test random_name call
324326
324327       · PR #46529: (gtmanfred) retry if there  is  a  segfault  @  2018-03-13
324328         22:41:54 UTC
324329
324330         · 083846fe0e Merge pull request #46529 from gtmanfred/kitchen
324331
324332         · 50d6e2c7be retry if there is a segfault
324333
324334       · PR  #46511:  (rallytime)  Back-port  #45769  to  2017.7  @ 2018-03-13
324335         17:08:52 UTC
324336
324337         · PR #45769: (Quarky9) Surpress boto WARNING during SQS msg decode in
324338           sqs_engine (refs: #46511)
324339
324340         · 5cc11129f1 Merge pull request #46511 from rallytime/bp-45769
324341
324342         · a8ffceda53   Surpress   boto   WARNING  during  decode,  reference:
324343           https://github.com/boto/boto/issues/2965
324344
324345   Salt 2017.7.7 Release Notes
324346       Version 2017.7.7 is a bugfix release for 2017.7.0.
324347
324348       The 2017.7.7 release contains only a small number of fixes,  which  are
324349       detailed below.
324350
324351       This release fixes two critical issues.
324352
324353       The  first  is  Issue  #48038, which is a critical bug that occurs in a
324354       multi-syndic setup where the same job is run multiple times on  a  min‐
324355       ion.
324356
324357       The  second  issue  is #48130. This bug appears in certain setups where
324358       the Master reports a Minion time-out, even though the job is still run‐
324359       ning on the Minion.
324360
324361       Both of these issues have been fixed with this release.
324362
324363   Statistics
324364       · Total Merges: 5
324365
324366       · Total Issue References: 2
324367
324368       · Total PR References: 6
324369
324370       · Contributors: 3 (garethgreenaway, gtmanfred, rallytime)
324371
324372   Changelog for v2017.7.6..v2017.7.7
324373       Generated at: 2018-06-17 19:26:52 UTC
324374
324375       · ISSUE #48130: (rmarchei) Minion timeouts with 2018.3.1 (refs: #48157)
324376
324377       · PR  #48157:  (gtmanfred)  always  listen  when  gathering  job info @
324378         2018-06-17 19:04:09 UTC
324379
324380         · 8af4452134 Merge pull request #48157 from gtmanfred/2017.7.7
324381
324382         · d8209e8a40 always listen when gathering job info
324383
324384       · PR #48140: (rallytime) Update man pages  for  2017.7.7  @  2018-06-14
324385         21:22:43 UTC
324386
324387         · b98c52ee51     Merge    pull    request    #48140    from    rally‐
324388           time/man-pages-2017.7.7
324389
324390         · 8893bf0d4c Update man pages for 2017.7.7
324391
324392       · PR #48136: (gtmanfred) [2017.7.7] bootstrap kitchen branch tests with
324393         2017.7.6 @ 2018-06-14 21:20:16 UTC
324394
324395         · baa0363336 Merge pull request #48136 from gtmanfred/2017.7.7
324396
324397         · fce1c31146 bootstrap kitchen branch tests with 2017.7.6
324398
324399       · PR  #48134:  (rallytime)  Add  release  notes  file  for  2017.7.7  @
324400         2018-06-14 16:31:34 UTC
324401
324402         · b0ba08f4d9    Merge    pull    request    #48134    from     rally‐
324403           time/release-notes-2017.7.7
324404
324405         · 217005b8f1 Add missing v for tag reference
324406
324407         · d53569d1e3 Add release notes file for 2017.7.7
324408
324409       · ISSUE  #48038: (austinpapp) jobs are not dedup'ing minion side (refs:
324410         #48075)
324411
324412       · PR #48098: (rallytime) Back-port  #48075  to  2017.7.7  @  2018-06-14
324413         12:53:42 UTC
324414
324415         · PR  #48075:  (garethgreenaway) [2017.7] Ensure that the shared list
324416           of jids is passed (refs: #48098)
324417
324418         · 084de927fe    Merge    pull    request    #48098    from     rally‐
324419           time/bp-48075-2017.7.7
324420
324421         · e4e62e8b3a  Ensure that the shared list of jids is passed when cre‐
324422           ating the Minion.  Fixes an issue when minions are pointed at  mul‐
324423           tiple syndics.
324424
324425   Salt 2017.7.8 Release Notes
324426       Version 2017.7.8 is a security and bugfix release for 2017.7.0.
324427
324428   Statistics
324429       · Total Merges: 237
324430
324431       · Total Issue References: 48
324432
324433       · Total PR References: 279
324434
324435       · Contributors:  52  (AVeenstra,  Ch3LL,  Circuitsoft,  DmitryKuzmenko,
324436         KaiSforza, Martin819, OrlandoArcapix, UtahDave, Vaelatern, abednarik,
324437         asnell,  b1naryth1ef,  baniobloom,  basepi, bdrung, beornf, bmcorser,
324438         bowmanjd-lms,  damon-atkins,  darkpixel,  discogestalt,  doesitblend,
324439         dqminh,  dubb-b, dwoz, frankiexyz, frogunder, fzipi, garethgreenaway,
324440         grokrecursion,  gtmanfred,  jacksontj,  jagguli,  lejambon,  lomeroe,
324441         lordcirth,    lusche,    mbunkus,   meaksh,   mirceaulinic,   nbraud,
324442         pritambaral,  ralex,  rallytime,  rmcintosh,   slaws,   terminalmage,
324443         twangboy, twellspring, wyardley, xetix, zer0def)
324444
324445   Security Fix
324446       CVE-2018-15751  Remote  command  execution and incorrect access control
324447       when using salt-api.
324448
324449       CVE-2018-15750 Directory traversal vulnerability when  using  salt-api.
324450       Allows  an  attacker  to  determine  what  files exist on a server when
324451       querying /run or /events.
324452
324453       Credit and thanks for discovery and responsible disclosure:  nullbr4in,
324454       xcuter, koredge, loupos, blackcon, Naver Business Platform
324455
324456   New win_snmp behavior
324457       · win_snmp.get_community_names  now  returns the SNMP settings actually
324458         in effect on the box. If settings are managed via GroupPolicy,  those
324459         settings will be returned. Otherwise, normal settings are returned.
324460
324461       · win_snmp.set_community_names  now  raises an error when SNMP settings
324462         are being managed by GroupPolicy.
324463
324464   Option Added to Disable Docker Mine Updates
324465       When a docker container is added, removed, started, stopped, etc.,  the
324466       results  of a docker.ps verbose=True all=True host=True are sent to the
324467       mine, to be used by mine.get_docker.
324468
324469       A new config option (docker.update_mine) has been added.  When  set  to
324470       False,  Salt will not send this information to the mine. This is useful
324471       in cases where sensitive information is stored in the container's envi‐
324472       ronment.
324473
324474   Changelog for v2017.7.7..v2017.7.8
324475       Generated at: 2018-09-04 21:09:41 UTC
324476
324477       · PR  #49498:  (rallytime) Pin CherryPy version to < 18.0.0 in require‐
324478         ments files for PY2 @ 2018-09-04 17:55:02 UTC
324479
324480         · 0d7b173b24  Merge  pull  request  #49498  from  rallytime/pin-cher‐
324481           rypy-2017.7.8
324482
324483         · 81a6155b6b  Pin  CherryPy version to < 18.0.0 in requirements files
324484           for PY2
324485
324486       · ISSUE #47087: (darkpixel) How do I stop the prompt "Permission denied
324487         for  host  <hostname>, do you want to deploy the salt-ssh key? (pass‐
324488         word required):"? (refs: #47100, #`saltstack/salt`#47100`_`_)
324489
324490         · PR saltstack/salt#47100: (gtmanfred) Allow for not  being  prompted
324491           to supply a password to deploy keys to a… (refs: #49461)
324492
324493       · PR  #49466:  (rallytime)  Back-port  #49461  to 2017.7.8 @ 2018-08-31
324494         15:44:11 UTC
324495
324496         · PR #49461: (gtmanfred) Revert "Allow for not being prompted to sup‐
324497           ply a password to deploy keys to a…" (refs: #49466)
324498
324499         · 52ab2c0574 Merge pull request #49466 from rallytime/bp-49461
324500
324501         · 58428003b1  Revert  "Allow for not being prompted to supply a pass‐
324502           word to deploy keys to a…"
324503
324504       · PR #49284: (twangboy) Fix path  to  libsodium  tarball  @  2018-08-23
324505         17:19:24 UTC
324506
324507         · 1bbe7df6c4  Merge  pull  request  #49284 from twangboy/fix_install‐
324508           er_osx
324509
324510         · a112eaa597 Fix path to libsodium tarball
324511
324512       · PR #49272: (twangboy) Add 64 bit binaries for KB2999226  to  the  x86
324513         installer @ 2018-08-23 14:27:09 UTC
324514
324515         · e0e8779985  Merge  pull  request  #49272 from twangboy/fix_install‐
324516           er_more
324517
324518         · a8f054b2d2 Add 64bit binaries for KB2999226 to the x86 installer
324519
324520       · PR #49218: (twangboy) Fix Windows and  OSX  installers  @  2018-08-21
324521         01:10:30 UTC
324522
324523         · 0eb6ddf0e8 Merge pull request #49218 from twangboy/fix_installer
324524
324525         · e8a1d2f772 Add more descriptive error when KB not found
324526
324527         · 71737ea687 Suppress all ui on vcredist installation
324528
324529         · 7dae9bb2a1 Fix Windows and OSX installers
324530
324531       · PR  #49116:  (twangboy)  Fix  windows  installer  script @ 2018-08-14
324532         17:09:35 UTC
324533
324534         · e484f261ee Merge pull request #49116 from twangboy/fix_installer
324535
324536         · 1227095c5d Add nonfatal switch to VCRedist
324537
324538       · PR  #49113:  (Ch3LL)  Add  changelog  to  2017.7.8  release  notes  @
324539         2018-08-14 15:03:16 UTC
324540
324541         · 0b9f2f8884 Merge pull request #49113 from Ch3LL/rn_7.8
324542
324543         · f6b70bb653 Add changelog to 2017.7.8 release notes
324544
324545       · PR  #49051:  (rallytime)  Back-port  #49046  to 2017.7.8 @ 2018-08-10
324546         17:19:18 UTC
324547
324548         · PR #49046: (garethgreenaway) [2017.7] Another fix to tests/integra‐
324549           tion/modules/test_service.py (refs: #49051)
324550
324551         · 01cf2c71ff Merge pull request #49051 from rallytime/bp-49046
324552
324553         · fc0817cb35  The  osfullname  grain  differs  when  using Python2 vs
324554           Python3, swapping this out for the "OS" grain which is consistent.
324555
324556       · PR #49044: (Ch3LL) increase timeout on vultr cloud integration test @
324557         2018-08-10 01:28:17 UTC
324558
324559         · 189e28691f Merge pull request #49044 from Ch3LL/vultr_test
324560
324561         · 0dedfae4d1 increase timeout on vultr cloud integration test
324562
324563       · PR  #49042:  (rallytime)  Mark  a  jinja  template  test  as  flaky @
324564         2018-08-09 21:05:54 UTC
324565
324566         · c606a32cf2    Merge    pull    request    #49042    from     rally‐
324567           time/flaky-jinja-test
324568
324569         · a43d9b4ba6 Mark a jinja template test as flaky
324570
324571       · PR  #49041:  (Ch3LL)  [2017.7.8]  backport  PR  #48212  @  2018-08-09
324572         21:05:27 UTC
324573
324574         · PR #48212:  (Ch3LL)  Fix  python3  ec2  salt-cloud  TypeError  when
324575           installing salt (refs: #49041)
324576
324577         · 6415b6f73b Merge pull request #49041 from Ch3LL/ec2_fix
324578
324579         · cf7f2459b8 [2017.7.8] backport PR #48212
324580
324581       · PR  #49030:  (rallytime)  Update  netapi  client  tests  @ 2018-08-09
324582         17:11:14 UTC
324583
324584         · 1db036406b    Merge    pull    request    #49030    from     rally‐
324585           time/update-client-tests
324586
324587         · f08ee6c6ae Update netapi client tests
324588
324589       · PR  #49024: (rallytime) Fix test error in test_compiler jinja check @
324590         2018-08-09 12:43:23 UTC
324591
324592         · PR #49002:  (rallytime)  Skip  test_jinja_deep_error  on  Debian  8
324593           (refs: #49024)
324594
324595         · f73ba21bc7 Merge pull request #49024 from rallytime/fix-deb-test
324596
324597         · a9c16d9137 Fix test error in test_compiler jinja check
324598
324599       · PR  #49020:  (rallytime)  Make  grains integration test more robust @
324600         2018-08-08 20:59:18 UTC
324601
324602         · 6b6d68c615 Merge pull request #49020 from rallytime/fix-grains-test
324603
324604         · f72a3ac6be Make grains integration test more robust
324605
324606       · PR #49002: (rallytime) Skip test_jinja_deep_error on Debian 8  (refs:
324607         #49024) @ 2018-08-08 19:18:39 UTC
324608
324609         · 92d6c25c7f     Merge    pull    request    #49002    from    rally‐
324610           time/skip-jinja-deep-error-test
324611
324612         · 23b66ef8bb Skip test_jinja_deep_error on Debian 8
324613
324614       · PR #48999: (rallytime) Update expected return value in  boto  test  @
324615         2018-08-08 14:42:15 UTC
324616
324617         · 41d9f11eb3 Merge pull request #48999 from rallytime/fix-boto-test
324618
324619         · d0136b1be5 Update expected return value in boto test
324620
324621       · PR  #48976:  (rallytime)  Skip  unreliable tornado tests @ 2018-08-07
324622         18:55:25 UTC
324623
324624         · a1e54634dc Merge pull request #48976 from rallytime/tornado
324625
324626         · 0bd838ab6c Skip unreliable tornado tests
324627
324628       · PR #48979: (rallytime) Back-port  #48959  to  2017.7.8  @  2018-08-07
324629         18:11:53 UTC
324630
324631         · PR #48959: (rallytime) Mark some more tests as flaky (refs: #48979)
324632
324633         · 22713be9c1 Merge pull request #48979 from rallytime/bp-48959
324634
324635         · aaf986d728  Mark one grains test as flaky & convert to pytest nota‐
324636           tion
324637
324638         · e7e5abcf48 Mark 2 matcher tests as flaky
324639
324640       · PR #48970: (Ch3LL) [2017.7.8] Backport #48962 @  2018-08-07  15:01:57
324641         UTC
324642
324643         · PR #48962: (garethgreenaway) [2017.7] Fixing tests/integration/mod‐
324644           ules/test_service.py (refs: #48970)
324645
324646         · 03aa0e49b0 Merge pull request #48970 from Ch3LL/back_48962
324647
324648         · 3ce1b8a3c9 Update the elif block to only be true for versions below
324649           Debian 9.
324650
324651       · PR  #48968:  (rallytime)  Update  man  pages  for  2017.7.8 release @
324652         2018-08-07 14:29:08 UTC
324653
324654         · e6cea5e3c7 Merge pull request #48968 from rallytime/man-pages
324655
324656         · 64fe3be41a Update man pages for 2017.7.8 release
324657
324658       · PR #48950: (KaiSforza)  Added  a  quote  to  kitchen  Jenkinsfiles  @
324659         2018-08-06 14:29:08 UTC
324660
324661         · 848d583438   Merge  pull  request  #48950  from  KaiSforza/kitchen‐
324662           fix-2017.7
324663
324664         · 5242cb143a Added a quote to kitchen Jenkinsfiles
324665
324666       · PR #48943: (rallytime) Mark some shell and runner  integration  tests
324667         as flaky @ 2018-08-06 13:08:14 UTC
324668
324669         · 928d688d65 Merge pull request #48943 from rallytime/flaky-tests
324670
324671         · 668da57ab9 Mark some shell and runner integration tests as flaky
324672
324673       · PR  #48940:  (rallytime)  Back-port  #48852  to  2017.7  @ 2018-08-05
324674         21:32:26 UTC
324675
324676         · PR #48852: (KaiSforza) Record all  the  artifacts  from  the  build
324677           (refs: #48940)
324678
324679         · cd42510d3a Merge pull request #48940 from rallytime/bp-48852
324680
324681         · fa4ef92e79 Record all the artifacts from the build
324682
324683       · PR      #48935:      (garethgreenaway)      [2017.7]      Fix      to
324684         test_pkg.test_pkg_015_installed_held @ 2018-08-05 19:47:39 UTC
324685
324686         · 43649a68be   Merge   pull   request   #48935   from    garethgreen‐
324687           away/1045_test_pkg_015_installed_held_centos
324688
324689         · 0bb10107b6         Merge         branch        '2017.7'        into
324690           1045_test_pkg_015_installed_held_centos
324691
324692         · 24d5e6a22f Fixing the test_pkg_015_installed_held test to  be  able
324693           to successfully run on CentOS
324694
324695       · ISSUE #47087: (darkpixel) How do I stop the prompt "Permission denied
324696         for host <hostname>, do you want to deploy the salt-ssh  key?  (pass‐
324697         word required):"? (refs: #47100)
324698
324699       · PR #47100: (gtmanfred) Allow for not being prompted to supply a pass‐
324700         word to deploy keys to a… @ 2018-08-05 19:12:58 UTC
324701
324702         · 2421e2a570 Merge pull request #47100 from gtmanfred/ssh
324703
324704         · 5b443af7ae add key-deploy test
324705
324706         · a131c9beeb Allow for not being prompted to  supply  a  password  to
324707           deploy keys to a minion with salt-ssh
324708
324709       · ISSUE #48865: (mts-avco) Windows packages are hidden in pkg.list_pkgs
324710         if they have no DisplayVersion (refs: #48891)
324711
324712       · PR #48891: (damon-atkins) win_pkg: Fix issue introduced in  Jan  2018
324713         DisplayVersion missing should result… @ 2018-08-05 18:53:47 UTC
324714
324715         · d541bd6446       Merge      pull      request      #48891      from
324716           damon-atkins/2017.7_win_pkg.list_pkgs_not_found
324717
324718         · a4af1dbfb1 Fix win_pkg issues introduced Jan 2018.  If  DisplayVer‐
324719           sion does not exist it should return version as "Not Found"
324720
324721       · ISSUE  #27056:  (oogali)  pkgng  provider  on  FreeBSD  does  not  do
324722         BATCH=yes (refs: #48730, #29909)
324723
324724       · PR #48896:  (rallytime)  Back-port  #48730  to  2017.7  @  2018-08-05
324725         18:20:40 UTC
324726
324727         · PR  #48730: (fzipi) Fix batch install on FreeBSD using pkgng (refs:
324728           #48896)
324729
324730         · PR  #29909:  (abednarik)  FreeBSD  pkgng  fix  for  non-interactive
324731           install. (refs: #48730)
324732
324733         · PR #29907: (bmcorser) Presumably what was meant (refs: #48730)
324734
324735         · 5f6a56f5dc Merge pull request #48896 from rallytime/bp-48730
324736
324737         · 57aa204c9d Merge branch '2017.7' into bp-48730
324738
324739         · 4995922584 Forgot variable in signature
324740
324741         · 0503bc18b6 Fix batch install using pkgng
324742
324743       · PR   #48933:  (garethgreenaway)  [2017.7]  Fix  to  test_service_dis‐
324744         able_doesnot_exist @ 2018-08-05 14:29:43 UTC
324745
324746         · 0c64bba865   Merge   pull   request   #48933   from    garethgreen‐
324747           away/1022_debian_8_failing_service-test
324748
324749         · 280d1d2ad2   Fixing   failing  test,  integration.modules.test_ser‐
324750           vice.ServiceModuleTest.test_service_disable_doesnot_exist,       on
324751           Debian 8 and higher.
324752
324753       · PR   #48922:   (rallytime)  Update  backticks  on  job_cache  docs  @
324754         2018-08-03 21:05:46 UTC
324755
324756         · 0c3d2c6a09 Merge pull request #48922 from rallytime/cache-doc-error
324757
324758         · 8ca89df7e8 Update backticks on job_cache docs
324759
324760       · PR #48866: (Ch3LL) Add cmd module integration tests for  windows  and
324761         fix space in path issue @ 2018-08-03 21:03:33 UTC
324762
324763         · 8d1fc4f8e5 Merge pull request #48866 from Ch3LL/cmd_win_tests
324764
324765         · 905da13653 Merge branch '2017.7' into cmd_win_tests
324766
324767       · PR  #48920:  (rallytime)  Back-port  #48904  to  2017.7  @ 2018-08-03
324768         15:17:07 UTC
324769
324770         · PR #48904: (KaiSforza) No rehashing in parallel (refs: #48920)
324771
324772         · 57d58e7541 Merge pull request #48920 from rallytime/bp-48904-2017.7
324773
324774         · a55f92954a No rehashing in parallel
324775
324776       · PR  #48876:  (Vaelatern)  Make  IP_LEARNING  optional  @   2018-08-02
324777         19:30:24 UTC
324778
324779         · e79ccb35b1  Merge  pull  request  #48876  from  Vaelatern/make-net‐
324780           work-learning-optional
324781
324782         · a4905b0e5d Make IP_LEARNING optional
324783
324784       · PR  #48890:  (Ch3LL)  add  sleep  in  test_cmd  integration  test   @
324785         2018-08-02 19:15:08 UTC
324786
324787         · f8bfab4f9f Merge pull request #48890 from Ch3LL/cmd_test
324788
324789         · acda4ed9ab add sleep in test_cmd integration test
324790
324791       · PR #48885: (rallytime) Mark shadow module integration test as flaky @
324792         2018-08-02 19:04:35 UTC
324793
324794         · 52722f6ded    Merge    pull    request    #48885    from     rally‐
324795           time/flaky-tests-shadow
324796
324797         · da871a2d57 Mark shadow module integration test as flaky
324798
324799       · PR  #48884: (rallytime) Separate compound matcher tests into individ‐
324800         ual tests @ 2018-08-02 19:04:03 UTC
324801
324802         · bf0895656e    Merge    pull    request    #48884    from     rally‐
324803           time/flaky-tests-matchers
324804
324805         · 38d9eae537 Merge branch '2017.7' into flaky-tests-matchers
324806
324807       · PR #48868: (terminalmage) Fix race when SIGTERM/SIGINT received while
324808         lazyloading a module @ 2018-08-02 17:13:34 UTC
324809
324810         · a567666938   Merge   pull    request    #48868    from    terminal‐
324811           mage/fix-loader-race
324812
324813         · 5f1169b9a2  Fix race when SIGTERM/SIGINT received while lazyloading
324814           a module
324815
324816       · PR #48883: (terminalmage) Fix failing git worktree tests @ 2018-08-02
324817         16:51:40 UTC
324818
324819         · 0ca0b6f2f2  Merge  pull request #48883 from terminalmage/salt-jenk‐
324820           ins-1023
324821
324822         · c61f75cb50 Fix failing git worktree tests
324823
324824              · 3660dff13c Separate compound  matcher  tests  into  individual
324825                tests
324826
324827       · PR  #48869:  (Ch3LL)  Catch  socket.error  exception in testprogram @
324828         2018-08-02 14:19:22 UTC
324829
324830         · a84f5155a1 Merge pull request #48869 from Ch3LL/mac_shell_tests
324831
324832         · 3734b1ec89 Catch socket.error exception in testprogram
324833
324834       · PR #48867: (rallytime) Skip unreliable tornado  test.   @  2018-08-01
324835         21:07:07 UTC
324836
324837         · 7f56b8bf44  Merge  pull  request  #48867  from  rallytime/skip-tor‐
324838           nado-test
324839
324840         · 7320aa9104 Skip unreliable tornado test.
324841
324842         · 3be11e06fe Add docs for new escape kwarg
324843
324844         · 391bb8a411 use a specific path for just the cmd._run call
324845
324846         · 62c66ba489 make sure we lower the check on shell
324847
324848         · 9312a993a5 Add cmd module integration tests  for  windows  and  fix
324849           space in path issue
324850
324851       · PR  #48853:  (rallytime)  Back-port  #48850  to  2017.7  @ 2018-07-31
324852         20:21:49 UTC
324853
324854         · PR #48850: (rallytime) Skip tests in  integration.shell.test_master
324855           (refs: #48853)
324856
324857         · 05f2d65de3 Merge pull request #48853 from rallytime/bp-48850
324858
324859         · 3c33ee554a Skip tests in integration.shell.test_master
324860
324861       · ISSUE  #46689:  (mxork)  pkg.installed:  hold:  True not applied to a
324862         package which is already installed. (refs: #48426)
324863
324864       · PR  #48426:  (garethgreenaway)  [2017.7]  fixes  to  states/pkg.py  @
324865         2018-07-31 20:18:05 UTC
324866
324867         · 8a1285239a    Merge   pull   request   #48426   from   garethgreen‐
324868           away/46689_fixing_pkg_held_when_package_is_installed
324869
324870         · 9b0f5dd212 Fixing identation, removing some unnecessary  condition‐
324871           als.
324872
324873         · 727964ab55 One last cleanup.
324874
324875         · 11cb86e6eb  General  cleanup in pkg state, reducing duplicate code.
324876           Fixing the requires_salt_modules decorator, sys.doc  was  returning
324877           too much information for the event to handle.  This change specifi‐
324878           cally calls sys.doc with the module name.
324879
324880         · 16fb6ae635 Make sure pkg.hold and pkg.unhold are  available  before
324881           running the test.
324882
324883         · 998651102d  Fixing  a situation when a package is already installed
324884           via salt or manually and a state attempts to set that package to be
324885           held.   Previously  the  holding/unholding logic was only being run
324886           against packages that were being installed.  This change moves  the
324887           holding  logic  outside  and  runs it against all desired packages.
324888           Adding a new test to test holding logic.
324889
324890       · ISSUE #47689: (OrlandoArcapix) Poor performance of pip.installed when
324891         given a list of packages (refs: #47734)
324892
324893       · PR  #47734:  (OrlandoArcapix) #47689 improve run-speed of pip package
324894         state @ 2018-07-31 19:15:35 UTC
324895
324896         · c8e69431ff   Merge   pull   request    #47734    from    OrlandoAr‐
324897           capix/Issue47689-pip-state-performance
324898
324899         · 662bd1f780  Merge branch '2017.7' into Issue47689-pip-state-perfor‐
324900           mance
324901
324902         · 66936b4f41 Changed string comparison in pip test to match new  con‐
324903           firmation string - ref PR #47734.
324904
324905         · bb5939d6ef  Merge branch '2017.7' into Issue47689-pip-state-perfor‐
324906           mance
324907
324908         · d6a49ae41c Merge branch '2017.7' into  Issue47689-pip-state-perfor‐
324909           mance
324910
324911         · d4083fc9d1   Merge   branch  'Issue47689-pip-state-performance'  of
324912           github.com:OrlandoArcapix/salt  into   Issue47689-pip-state-perfor‐
324913           mance
324914
324915           · 779b5fa785  Merge  branch '2017.7' into Issue47689-pip-state-per‐
324916             formance
324917
324918         · f3653349ab Removed whitespaces at end of added comments lines
324919
324920         · db11f2ff4b Merge branch '2017.7' into  Issue47689-pip-state-perfor‐
324921           mance
324922
324923         · eac0178de2  Ref:  #47689  -  document  additional  kwarg  passed to
324924           pip._check_if_installed function
324925
324926         · 0d19803106 Merge branch '2017.7' into  Issue47689-pip-state-perfor‐
324927           mance
324928
324929         · d3678bf2f3 #47689 fix lint errors
324930
324931         · 4fec8f6bcc  #47698 improve run-speed of pip package state checks by
324932           only loading the current package list once when  checking  multiple
324933           packages
324934
324935       · PR  #48844:  (AVeenstra) Fixed Python 3 incompatibility in methods in
324936         nilrt_ip and debian_ip.  @ 2018-07-31 17:20:27 UTC
324937
324938         · 83a5b3cc47    Merge    pull    request    #48844    from     AVeen‐
324939           stra/fix-python3-incompatibility
324940
324941         · f238779a62 Merge branch '2017.7' into fix-python3-incompatibility
324942
324943         · 6b1805afc6  Fixed  Python  3 incompatibility in methods in nilrt_ip
324944           and debian_ip.
324945
324946       · ISSUE #48637: (slaws) state.file.retention_schedule does  not  ignore
324947         relative directory when using getmtime() (refs: #48662)
324948
324949       · PR  #48662:  (slaws)  Excluding  relative  dirs  in state.file.reten‐
324950         tion_schedule @ 2018-07-31 16:15:09 UTC
324951
324952         · 136ff6735a  Merge  pull  request   #48662   from   slaws/fix-reten‐
324953           tion-schedule-48637
324954
324955         · 3c8f5f5b3d pylint fix
324956
324957         · 5539eff39e Excluding relative dirs in state.file.retention_schedule
324958
324959       · ISSUE #48818: (guettli) Broken Link in Docs (refs: #48840)
324960
324961       · PR  #48840:  (gtmanfred) fix links in pkg doc.  @ 2018-07-31 16:13:00
324962         UTC
324963
324964         · 1fc04f281b Merge pull request #48840 from gtmanfred/docs
324965
324966         · 8d2d268c4a fix links in pkg doc.
324967
324968       · PR #48834: (gtmanfred) read output of stringio if it  is  readable  @
324969         2018-07-31 13:40:48 UTC
324970
324971         · 0a19f845ea Merge pull request #48834 from gtmanfred/slsutil
324972
324973         · f9441d2bef read output of stringio if it is readable
324974
324975       · PR  #48788:  (Ch3LL)  Add  timzeone windows integration tests and fix
324976         get_zone @ 2018-07-27 20:14:30 UTC
324977
324978         · 2e00939a6e Merge pull request #48788 from Ch3LL/timezone_windows
324979
324980         · de95a6a215 add unused import to timezone test file
324981
324982         · 22e424859e add unused import to import
324983
324984         · 0840fc3117 disable pylint import error
324985
324986         · f09d1a2c7e Add timzeon windows integration tests and fix get_zone
324987
324988       · PR #48742: (frogunder) add windows integration tests for  states.file
324989         @ 2018-07-27 13:57:27 UTC
324990
324991         · 8e61f3dce0 Merge pull request #48742 from frogunder/45014
324992
324993         · f08058b043          Merge         branch         '45014'         of
324994           https://github.com/frogunder/salt into 45014
324995
324996           · 757fde70c6 Merge branch '2017.7' into 45014
324997
324998         · 33c20c1ec0 fix tests
324999
325000         · a7a914060d add windows integration tests for states.file
325001
325002       · ISSUE #48417: (samilaine) Contribution Documentation Refers to Incor‐
325003         rect Pylintrc (refs: #48795)
325004
325005       · PR #48795: (rallytime) Update linting docs to contain .testing.pylin‐
325006         trc use @ 2018-07-27 13:34:13 UTC
325007
325008         · d74f47b340 Merge pull request #48795 from rallytime/fix-48417
325009
325010         · 5123b17ffd Update linting docs to contain .testing.pylintrc use
325011
325012       · PR #48789:  (rallytime)  Back-port  #48783  to  2017.7  @  2018-07-26
325013         21:47:49 UTC
325014
325015         · PR  #48783:  (KaiSforza) Only run lint checks against changed files
325016           (refs: #48789)
325017
325018         · PR #48610: (gtmanfred) only run pylint on files that change  (refs:
325019           #48783)
325020
325021         · bbea9ae936 Merge pull request #48789 from rallytime/bp-48783
325022
325023         · 682a05bebe Threshold was wrong
325024
325025         · d4ca0e3a97 test: except for OSError only
325026
325027         · 4547231909 Only run lint checks against changed files
325028
325029       · PR  #48731:  (zer0def)  Fixed enable_vnc runner arg being passed into
325030         seed_cmd module arg in virt.init.  @ 2018-07-26 21:13:59 UTC
325031
325032         · 41464d4b39  Merge  pull  request  #48731   from   zer0def/virt-run‐
325033           ner-init-args
325034
325035         · a1fa081ad0 Documentation to missing parameters in virt.init runner.
325036
325037         · 365ebdf539  Fixed  enable_vnc runner arg being passed into seed_cmd
325038           module arg in virt.init.
325039
325040       · PR #48749: (Ch3LL) Update Saltstack Logo banner on docs.saltstack.com
325041         @ 2018-07-25 13:05:04 UTC
325042
325043         · 169afea16a Merge pull request #48749 from Ch3LL/logo_docs
325044
325045         · 73b1fc29f0 Update Saltstack Logo banner on docs.saltstack.com
325046
325047       · PR  #48743:  (rallytime) Update DOCBANNER with new SaltConf18 image @
325048         2018-07-24 16:46:19 UTC
325049
325050         · 781c6a6c36  Merge  pull   request   #48743   from   rallytime/salt‐
325051           conf-ad-2017.7
325052
325053         · 6df8fd8652 Update DOCBANNER with new SaltConf18 image
325054
325055       · PR  #48720:  (Ch3LL) Fix test_managed_source_hash_indifferent_case on
325056         macosx to correct tmp path @ 2018-07-23 22:32:56 UTC
325057
325058         · ce4e22224e Merge pull request #48720 from Ch3LL/mac_file_path
325059
325060         · 01d25fae19 Fix test_managed_source_hash_indifferent_case on  macosx
325061           to correct tmp path
325062
325063       · PR  #48719:  (Ch3LL)  Enable service if disabled before running state
325064         service tests @ 2018-07-23 21:01:14 UTC
325065
325066         · 4b9f037d43 Merge pull request #48719 from Ch3LL/service_mac_state
325067
325068         · f44a2fc349 Enable service if disabled before running state  service
325069           tests
325070
325071       · PR  #48715:  (rallytime)  [2017.7] Mark some tornado tests as flaky @
325072         2018-07-23 17:27:13 UTC
325073
325074         · b2431eab10 Merge pull request #48715 from rallytime/flaky-tests
325075
325076         · 7332cce567 [2017.7] Mark some tornado tests as flaky
325077
325078       · PR #48672: (frogunder) add service enabled test @ 2018-07-23 15:38:49
325079         UTC
325080
325081         · 801eae3b8d Merge pull request #48672 from frogunder/45012
325082
325083         · 0747f2e58a add service enabled test
325084
325085       · PR  #48691:  (Ch3LL)  Add  windows  pkg  module  integration  tests @
325086         2018-07-22 20:01:30 UTC
325087
325088         · 689c231d2b Merge pull request #48691 from Ch3LL/win_repo_pkg_test
325089
325090         · 4b7d6d80c5 Remove unnecessary jinja in curl.sls file
325091
325092         · 2bedadfadb Add windows pkg module integration tests
325093
325094       · ISSUE #48627: (nbraud) acme module's  group  parameter  is  non-func‐
325095         tional (refs: #48635)
325096
325097       · ISSUE  #48626:  (nbraud) acme module fails to set file permissions if
325098         the certificate is already present (refs: #48635)
325099
325100       · PR #48635: (nbraud) Bug fixes in the acme module & state @ 2018-07-22
325101         19:53:49 UTC
325102
325103         · 83e4bba916 Merge pull request #48635 from nbraud/acme
325104
325105         · 3673bae9de modules/acme: explicitely ignore the perms return value
325106
325107         · 1800a231e8 Fixup some schema expectations
325108
325109         · 8c718cb417 acme: Make the private key mode configurable
325110
325111         · 917dea6761 modules/acme: Use file.check_perms ret-morphing powers
325112
325113         · d2241ceb2d  module/acme:  Do  not  exit  early when the certificate
325114           already exists
325115
325116         · 98af0db826 modules/acme: Set the private key filemode to 0640
325117
325118       · PR #48345: (twangboy) Fix behavior of powercfg  module  and  state  @
325119         2018-07-20 17:37:13 UTC
325120
325121         · 85991680c8 Merge pull request #48345 from twangboy/fix_48169
325122
325123         · ead19725b6 Merge branch '2017.7' into fix_48169
325124
325125         · 653fbcb383 Fix some docs errata
325126
325127         · 8898e5ff11 Add warn_until Fluorine
325128
325129         · 707906ac15 Fix unit.state.test_powercfg
325130
325131         · 32c5014eb6 Fix unit tests
325132
325133         · 0d9c56e540 Add some more logging
325134
325135         · b20453de9f Use minutes to set
325136
325137         · 7dc7eb11c2 Fix documentation to denote seconds when setting
325138
325139       · PR  #48656:  (Ch3LL)  Add  windows  ip  module  integration  tests  @
325140         2018-07-20 14:57:45 UTC
325141
325142         · 96447ce541 Merge pull request #48656 from Ch3LL/windows_ip_mod
325143
325144         · 90c3f568b1 Add windows ip module integration tests
325145
325146       · PR #48638: (twangboy) Remove  vcredist  2015  from  Py3  installer  @
325147         2018-07-20 14:56:40 UTC
325148
325149         · 0c5fff3dc8 Merge pull request #48638 from twangboy/fix_vcredist
325150
325151         · e30d17099d Use goto instead of if statement
325152
325153         · e1042fa084 Remove vcredist for Py3
325154
325155       · PR  #48664:  (Ch3LL)  [2017.7] Fix service.disabled test for macosx @
325156         2018-07-20 14:32:56 UTC
325157
325158         · 1ebd96d909 Merge pull request #48664 from Ch3LL/srv_disable_mac
325159
325160         · f1fbfad387 move the disable call up in try block
325161
325162         · f60d21bda4 reverse assertion order for service disable test
325163
325164         · 3727d1b3b9 switch try/except to match 2018.3
325165
325166         · fb953c2369 [2017.7] Fix service.disabled test for macosx
325167
325168       · PR #48625: (Ch3LL) Follow up to PR #48555 @ 2018-07-20 14:27:55 UTC
325169
325170         · PR #48555: (Ch3LL) Fix  state.sls_id  not  running  on  ssh  minion
325171           (refs: #48625)
325172
325173         · 3da3cf2f3f Merge pull request #48625 from Ch3LL/ssh_state
325174
325175         · f590eb2b02 Update state.py
325176
325177         · 9790ee3d0d Follow up to PR #48555
325178
325179       · PR  #48673:  (Ch3LL)  Use different pub and ret ports for testprogram
325180         integration tests @ 2018-07-20 14:11:51 UTC
325181
325182         · 33812f78f1 Merge pull request #48673 from Ch3LL/mac_port
325183
325184         · 87dd85a220 Use different pub and ret ports for testprogram integra‐
325185           tion tests
325186
325187       · PR  #48675:  (Ch3LL)  Fix  mac  service.disable  tests  @  2018-07-20
325188         14:09:41 UTC
325189
325190         · 5f6a7c4d89 Merge pull request #48675 from Ch3LL/mac_disable
325191
325192         · c78efab828 Fix mac service.disable tests
325193
325194       · ISSUE #43138: (F30) npm.installed mistakenly throws error  for  pack‐
325195         ages which are "installed via remote" (refs: #48492, #48658)
325196
325197       · PR  #48658:  (wyardley)  Improve  handling  of json output (#43138) @
325198         2018-07-20 14:08:34 UTC
325199
325200         · PR #48492: (wyardley) Improve identifying json out in npm module (‐
325201           #43138) (refs: #48658)
325202
325203         · 93d2f51d2b   Merge   pull   request   #48658  from  wyardley/wyard‐
325204           ley-npm-json-output-2017
325205
325206         · 7ff3c9c5ff Improve handling of npm json output (#43138)
325207
325208       · ISSUE #48677: (OrlandoArcapix) npm.bootstrap  does  not  return  True
325209         (clean) with test=true and no changes (refs: #48678)
325210
325211       · PR  #48678:  (OrlandoArcapix)  Fix  for  issue  #48677 - return clean
325212         npm.bootstrap on no changes @ 2018-07-20 14:07:22 UTC
325213
325214         · 3e293b0513   Merge   pull   request    #48678    from    OrlandoAr‐
325215           capix/fix-npm-dryrun-test
325216
325217         · 851a404f6b  Fix  for issue #48677 - return True when no changes are
325218           to be made with npm.bootstrap with test=true
325219
325220       · ISSUE #46884:  (alexandergraul)  salt.utils.rsax931._init_libcrypto()
325221         fails to initialize libopenssl1_1-1.1.0h (refs: #48580)
325222
325223       · PR    #48580:    (rallytime)    Don't   error   on   retcode   0   in
325224         libcrypto.OPENSSL_init_crypto call @ 2018-07-19 19:21:13 UTC
325225
325226         · PR #37772: (bdrung) Support initializing OpenSSL 1.1 (refs: #48580)
325227
325228         · 07a1f6520f Merge pull request #48580 from rallytime/fix-46884
325229
325230         · 736b382e91     Don't      error      on      retcode      0      in
325231           libcrypto.OPENSSL_init_crypto call
325232
325233       · PR  #48628:  (terminalmage)  Fix  NameError  in  testinfra  module  @
325234         2018-07-18 21:34:03 UTC
325235
325236         · 9874429741 Merge pull request #48628 from terminalmage/testinfra
325237
325238         · 5ace9f01ec Fix NameError in testinfra module
325239
325240       · PR  #48651:  (gtmanfred)  [2017.7]  handle  pyzmq  for  python3.4   @
325241         2018-07-18 17:34:41 UTC
325242
325243         · 0d4c80205f Merge pull request #48651 from gtmanfred/pylint-2017.7
325244
325245         · b6ee52f859 handle pyzmq for python3.4
325246
325247       · PR #48647: (gtmanfred) [2017.7] disable checks on pylint @ 2018-07-18
325248         16:21:22 UTC
325249
325250         · 160ae29cf2 Merge pull request #48647 from gtmanfred/pylint-2017.7
325251
325252         · ff818c4ca2 disable checks on pylint
325253
325254       · ISSUE #46924: (chschmitt) Stale custom roster from  __pycache__  exe‐
325255         cuted instead of changed .py file (refs: #48593)
325256
325257       · PR #48593: (pritambaral) Fix importlib pyc loading order @ 2018-07-17
325258         21:06:28 UTC
325259
325260         · 47b1032efa    Merge    pull    request    #48593    from    pritam‐
325261           baral/fix/2017.7-importlib-pyc-loading-order
325262
325263         · add7894dee loader: Fix suffix order when importlib is used
325264
325265       · PR  #48630:  (dubb-b)  Adding  options  to  Jenkins  pipline builds @
325266         2018-07-17 20:16:23 UTC
325267
325268         · 9da7b2ec8d Merge pull request #48630 from dubb-b/pipeline-updates
325269
325270         · 8594a8dd05 Adding PY_COLORS=1 as PY_COLORS = 1 instead
325271
325272         · 314b0e3599 Adding PY_COLORS=1 for python programs to use ANSI  Col‐
325273           ors
325274
325275         · b705e8f7a5 Adding correct spacing to options section
325276
325277         · 9d8a7e07db Adding options to Jenkins pipline builds
325278
325279         · PR  saltstack/salt#48610: (gtmanfred) only run pylint on files that
325280           change (refs: #48633)
325281
325282       · PR #48633: (gtmanfred) Revert "only run pylint on files that  change"
325283         @ 2018-07-17 18:44:03 UTC
325284
325285         · a8ae2adf64     Merge     pull    request    #48633    from    salt‐
325286           stack/revert-48610-2017.7
325287
325288         · bab4a769d4 Revert "only run pylint on files that change"
325289
325290       · PR #48614:  (rallytime)  Back-port  #48562  to  2017.7  @  2018-07-17
325291         15:04:04 UTC
325292
325293         · PR #48562: (basepi) Add timeouts to all s3 queries (refs: #48614)
325294
325295         · 6e32bb7f74 Merge pull request #48614 from rallytime/bp-48562
325296
325297         · cb654bbf2c Add timeouts to all s3 queries
325298
325299       · ISSUE #48415: (doesitblend) Event.send short-circuiting in multi-mas‐
325300         ter mode (refs: #48588)
325301
325302       · PR #48588: (garethgreenaway)  [2017.7]  event  send  multi  master  @
325303         2018-07-17 10:31:20 UTC
325304
325305         · 1b6e6388f8    Merge   pull   request   #48588   from   garethgreen‐
325306           away/48415_event_send_multi_master
325307
325308         · fab25af1a9 Adding some quick documention about why we  are  setting
325309           ret=True following the channel.send.
325310
325311         · bf78f4b188  If  the channel send is sucessful and does not raise an
325312           exception, we set ret to True, in case a previous exception from  a
325313           previous channel send to another master has sent it to False.
325314
325315         · 8d1551c5fb When using Salt multi-master, if we encouter a salt mas‐
325316           ter that has not accepted the minion key yet  we  should  not  exit
325317           right  away, rather continue on and try the next salt master avail‐
325318           able in the list.
325319
325320       · PR #48610: (gtmanfred) only run pylint on files  that  change  (refs:
325321         #48783) @ 2018-07-17 01:36:50 UTC
325322
325323         · 24ffda49ba Merge pull request #48610 from gtmanfred/2017.7
325324
325325         · 779d1a3dcb only run pylint on files that change
325326
325327       · PR  #48584:  (Ch3LL)  Fix grp import for mac in test_user integration
325328         test @ 2018-07-16 19:28:13 UTC
325329
325330         · 5391dd0a8d Merge pull request #48584 from Ch3LL/mac_user_grp
325331
325332         · 585ee9db90 Fix grp import for mac in test_user integration test
325333
325334       · PR #48555: (Ch3LL) Fix state.sls_id not running on ssh minion  (refs:
325335         #48625) @ 2018-07-16 13:24:41 UTC
325336
325337         · 61572b6780 Merge pull request #48555 from Ch3LL/ssh_id
325338
325339         · f69932f506 fix pylint
325340
325341         · 70e36764ee Add more tests for salt-ssh state.sls_id
325342
325343         · dab80e805c Fix state.sls_id to run on ssh minion and not master
325344
325345       · PR #48583: (Ch3LL) Add flaky decorator to mac_system and mac_timezone
325346         tests @ 2018-07-13 19:56:40 UTC
325347
325348         · aa6dcf39e8 Merge pull request #48583 from Ch3LL/mac_flaky_tests
325349
325350         · 4ba2299a87 import flaky decorator on mac tests
325351
325352         · 811220b41e Add flaky decorator to mac_system and mac_timezone tests
325353
325354       · PR #48534: (xetix) Fix behaviour of function latest_version in zypper
325355         module when multip… @ 2018-07-13 19:56:05 UTC
325356
325357         · 6973152057  Merge  pull  request  #48534 from xetix/fix-zypper-lat‐
325358           est_version
325359
325360         · 9985f0b4c1 Lint: remove extra blank line
325361
325362         · 5fbead8a36 Merge branch '2017.7' into fix-zypper-latest_version
325363
325364         · 56ac449271    Merge    branch    'fix-zypper-latest_version'     of
325365           https://github.com/xetix/salt into fix-zypper-latest_version
325366
325367           · 44e87f5a0f Adding testcase for this fix.
325368
325369           · b354c6863c  Fix  behaviour  of  function latest_version in zypper
325370             module when multiple packages are passed  to  function.  Function
325371             now  properly  return dict with empty string as version if latest
325372             packages is already installed, and multiple packages  are  passed
325373             to function
325374
325375         · db35d0c1e1 Adding testcase for this fix.
325376
325377         · d2513757ed  Fix behaviour of function latest_version in zypper mod‐
325378           ule when multiple packages are passed  to  function.  Function  now
325379           properly  return  dict with empty string as version if latest pack‐
325380           ages is already installed, and  multiple  packages  are  passed  to
325381           function
325382
325383       · PR  #48582: (dwoz) Finally fix prepend for real @ 2018-07-13 18:45:35
325384         UTC
325385
325386         · 10124034cb Merge pull request #48582 from dwoz/test_prepend_fix
325387
325388         · f37571e0bd Merge branch '2017.7' into test_prepend_fix
325389
325390       · PR #48564: (dwoz) Fix failing prepend test @ 2018-07-13 14:12:47 UTC
325391
325392         · 13f67335f3 Merge pull request #48564 from dwoz/test_prepend_fix
325393
325394           · 136ddf5f54 Finally fix prepend for real
325395
325396         · 66b25e65bf Fix failing prepend test
325397
325398       · PR #48558: (dwoz) Remove  which  mock  to  get  the  test  passing  @
325399         2018-07-12 19:04:12 UTC
325400
325401         · b8ce27729f Merge pull request #48558 from dwoz/test_file_fix
325402
325403         · c858bf477f Remove which mock to get the test passing
325404
325405       · PR  #48552: (KaiSforza) Set up junit in jenkins @ 2018-07-12 16:23:33
325406         UTC
325407
325408         · a15c65202d  Merge  pull   request   #48552   from   KaiSforza/jenk‐
325409           ins-junit-2017
325410
325411         · 72b1830974 Set up junit in jenkins
325412
325413       · PR  #48550:  (gtmanfred)  add  posargs  to  tox  pylint  @ 2018-07-12
325414         14:34:25 UTC
325415
325416         · f73108026e Merge pull request #48550 from gtmanfred/2017.7
325417
325418         · d5c603d9b6 add posargs to tox pylint
325419
325420       · PR #48535: (asnell) Update manage_file helptext @ 2018-07-12 13:34:47
325421         UTC
325422
325423         · 113b0426f8 Merge pull request #48535 from asnell/asnell-patch-2
325424
325425         · d328f6e43d Update manage_file helptext
325426
325427         · PR   saltstack/salt#48525:   (gtmanfred)   add  kazoo  for  testing
325428           zookeeper. (refs: #48527)
325429
325430       · PR #48527: (gtmanfred) Revert "add kazoo for testing  zookeeper."   @
325431         2018-07-11 17:29:16 UTC
325432
325433         · 0c0c05c2bc     Merge     pull    request    #48527    from    salt‐
325434           stack/revert-48525-2017.7
325435
325436         · 18d06c1a93 Revert "add kazoo for testing zookeeper."
325437
325438       · PR #48526:  (twangboy)  Rollback  python-certifi-win32  @  2018-07-11
325439         17:26:56 UTC
325440
325441         · 05bad3e71c  Merge  pull  request #48526 from twangboy/rollback_cer‐
325442           tifi-win32
325443
325444         · 361b3cdc2f Rollback python-certifi-win32
325445
325446       · PR #48521:  (Martin819)  Back-port  #48222  to  2017.7  @  2018-07-11
325447         16:42:51 UTC
325448
325449         · PR  #48222:  (Martin819)  Fix  GlusterFS module for version 4.0 and
325450           above (refs: #48521)
325451
325452         · db066effe4 Merge pull request #48521 from Martin819/2017.7
325453
325454         · d5d01f6698 Fix for GlusterFS 4.0 and above
325455
325456       · PR #48525: (gtmanfred) add kazoo for testing zookeeper.  @ 2018-07-11
325457         16:09:40 UTC
325458
325459         · ed0bd2bbec Merge pull request #48525 from gtmanfred/2017.7
325460
325461         · d7a6bff2b2 add kazoo for testing zookeeper.
325462
325463       · ISSUE  #48277:  (dvenckus)  init.sls  with included states fails with
325464         more than one, 'Template was  specified  incorrectly:  False'  (refs:
325465         #48388)
325466
325467       · ISSUE  #46986:  (github-abcde)  opts file_roots gets overwritten with
325468         pillar_roots in orchestration run (refs: #48388)
325469
325470       · PR #48388: (garethgreenaway) [2017.7] reset file_roots for  renderers
325471         after compile_pillar @ 2018-07-11 13:13:45 UTC
325472
325473         · ad5a959ab9    Merge   pull   request   #48388   from   garethgreen‐
325474           away/48277_2017_7_file_roots_wrong
325475
325476         · 6f11da35a7 Fixing a few things in the new test.
325477
325478         · cf747b14ec Fixing lint issue
325479
325480         · 16d36c79c8 When pillar items are compiled a new render is instanti‐
325481           ated  but  the  file_roots is the pillar_roots.  This change forces
325482           the  __opts__['file_roots']  to  be  set  to   what   is   set   in
325483           actual_file_roots  for  all  renderers once compile_pillar has fin‐
325484           ished.  Adding a test when this situation is run via  a  orchestra‐
325485           tion runner.
325486
325487       · PR  #48512:  (gtmanfred)  pin  pm  and grunt packages for npm tests @
325488         2018-07-11 13:06:06 UTC
325489
325490         · 38df812257 Merge pull request #48512 from gtmanfred/npm
325491
325492         · 9ba0f6b3a0 pin pm and grunt packages for npm tests
325493
325494       · PR #48513: (rallytime) [2017.7] Merge forward from 2017.7.7 to 2017.7
325495         @ 2018-07-11 13:04:01 UTC
325496
325497         · 04ba31147f Merge pull request #48513 from rallytime/merge-2017.7
325498
325499         · a466a4880f Merge branch '2017.7.7' into '2017.7'
325500
325501       · PR  #48514:  (gtmanfred)  upgrade  dependencies  for  pytest  tests @
325502         2018-07-10 20:53:55 UTC
325503
325504         · f0352ea95a Merge pull request #48514 from gtmanfred/2017.7
325505
325506         · 739bf92599 upgrade dependencies for pytest tests
325507
325508       · PR #48491: (grokrecursion) Group gid fixed as  integer  @  2018-07-10
325509         19:31:40 UTC
325510
325511         · 5372b60137    Merge    pull    request   #48491   from   grokrecur‐
325512           sion/group-fix-v2
325513
325514         · 1556b37221 fixed pylint errors
325515
325516         · f6d9177dab fixed indentation for pep8
325517
325518         · b9556bf923 v2 try of gid converted to integer
325519
325520       · PR #48375: (Ch3LL) Add user and group to makedirs cmd in file.copy  @
325521         2018-07-10 12:35:10 UTC
325522
325523         · 16d3daab3c Merge pull request #48375 from Ch3LL/file_copy
325524
325525         · d16a790775 Add mode to _makedirs call in file.copy
325526
325527         · 2cbcb4fd26 Add user and group to makedirs cmd in file.copy
325528
325529       · PR #48490: (KaiSforza) Cifixes @ 2018-07-09 15:20:46 UTC
325530
325531         · d38951b1b3 Merge pull request #48490 from KaiSforza/cifixes
325532
325533         · 9fe7199af5 Mark failed if anything is found
325534
325535         · 6749a6bf19 Stop archiving the docs
325536
325537       · PR  #48472:  (gtmanfred)  use tox to run pylint @ 2018-07-07 02:46:46
325538         UTC
325539
325540         · 22cd4206c4 Merge pull request #48472 from gtmanfred/2017.7
325541
325542         · c7a3a7d8bd update jenkins tests to use tox for lint
325543
325544         · 44aaac1d33 use tox to run pylint
325545
325546       · PR #48476: (twangboy) Fix dependencies @ 2018-07-06 23:43:26 UTC
325547
325548         · 27ea8f35ea Merge pull request #48476 from twangboy/fix_dependencies
325549
325550         · b0087d425c Add license info
325551
325552         · 935f9b560c Fix dependencies
325553
325554       · ISSUE #48336: (JuanManuelVizcainoAbad) file.directory (refs: #48399)
325555
325556       · PR #48399:  (garethgreenaway)  [2017.7]  fixes  to  module/file.py  @
325557         2018-07-06 18:02:29 UTC
325558
325559         · acf42864aa    Merge   pull   request   #48399   from   garethgreen‐
325560           away/48336_2017_7_ensure_chmod_setuid_with_chown
325561
325562         · 8efd33320f Normalize the mode before we compare it.
325563
325564         · f894f0ecb8 Setting the mode with setuid or setgid bits in  addition
325565           to  setting the owner and group will force the setuid & setgid bits
325566           to reset.  This change ensures that we set the mode  after  setting
325567           the owner & group.
325568
325569       · PR  #48471:  (gtmanfred)  Add some configurations to tox @ 2018-07-06
325570         17:45:55 UTC
325571
325572         · 6166ff6b78 Merge pull request #48471 from gtmanfred/2017.7
325573
325574         · 392ab4e51f Add some configurations to tox
325575
325576       · PR #48433: (discogestalt) Fix  issue  with  redismod.hmset  method  @
325577         2018-07-06 15:55:44 UTC
325578
325579         · 6234d9b15d     Merge    pull    request    #48433    from    disco‐
325580           gestalt/fix-redis.hmset
325581
325582         · 65817ac74d Use clean_kwargs method instead
325583
325584         · f7fa7f57c6 Found another issue with redismod.hmset
325585
325586         · 5624865f86 Fix issue with redismod.hmset method
325587
325588       · PR #48428: (terminalmage) Fix outputter detection in  jobs.lookup_jid
325589         runner @ 2018-07-06 14:37:37 UTC
325590
325591         · aacee0fe2c    Merge    pull    request    #48428   from   terminal‐
325592           mage/fix-jobs.lookup_jid
325593
325594         · 6509aa9089 Fix outputter detection in jobs.lookup_jid runner
325595
325596       · PR #48429:  (rallytime)  Back-port  #46824  to  2017.7  @  2018-07-03
325597         21:45:36 UTC
325598
325599         · PR  #46824: (beornf) Regression to ignore retcodes on crontab calls
325600           (refs: #48429)
325601
325602         · a7e52f0de2 Merge pull request #48429 from rallytime/bp-46824
325603
325604         · 8b4486248d Added ignore_retcode to mock unit tests
325605
325606         · f8beab71dd Regression to ignore retcodes on crontab calls
325607
325608       · PR #48432: (dwoz) Prepend test needs file.touch method  @  2018-07-03
325609         21:32:48 UTC
325610
325611         · 4576ef20bc Merge pull request #48432 from dwoz/file-prepend-again
325612
325613         · 349a2b279e Prepend test needs file.touch method
325614
325615       · ISSUE #48230: (whytewolf) file.managed source_hash case-sensitive for
325616         test=true (refs: #48422)
325617
325618       · ISSUE #38914: (hgfischer) Uppercase checksums are not accepted by ar‐
325619         chive.extracted (refs: #40754, #48422)
325620
325621       · PR  #48422:  (rallytime)  Allow  file.managed  to work with uppercase
325622         source_hash in test=true mode @ 2018-07-03 16:40:59 UTC
325623
325624         · PR #40754: (lordcirth) file.manage_file:  uppercase  checksums  now
325625           work (refs: #48422)
325626
325627         · 422441505d Merge pull request #48422 from rallytime/fix-48230
325628
325629         · a6abf85621 Allow file.managed to work with uppercase source_hash in
325630           test=true mode
325631
325632         · 4c691ac57a Add regression test for Issue #48230
325633
325634       · PR #48410: (dwoz) Fix service  dead  test  on  windows  @  2018-07-03
325635         14:17:29 UTC
325636
325637         · 83e387c951    Merge    pull    request    #48410   from   dwoz/ser‐
325638           vice_dead_test_fix
325639
325640         · 5c0923448d Fix service dead test on windows
325641
325642       · PR #48413: (twangboy) Fix archive.extracted to  handle  UNC  paths  @
325643         2018-07-03 14:14:46 UTC
325644
325645         · d3ba345da5 Merge pull request #48413 from twangboy/fix_47811
325646
325647         · c5aad04140 handle unc paths
325648
325649       · PR  #48416:  (dwoz)  Fix  service integration test (py3) @ 2018-07-03
325650         14:08:45 UTC
325651
325652         · 827ef2aac4 Merge pull  request  #48416  from  dwoz/service_integra‐
325653           tion_fix
325654
325655         · c43f150dcd Fix service integration test (py3)
325656
325657       · PR  #48385:  (Ch3LL)  Update release versions for the 2017.7 branch @
325658         2018-07-03 13:39:29 UTC
325659
325660         · 10fe7d2b9b  Merge  pull  request  #48385  from   Ch3LL/1update_ver‐
325661           sion_doc_2017.7
325662
325663         · 3cf335b0b9 Update release versions for the 2017.7 branch
325664
325665       · PR  #48405: (Ch3LL) [2017.7] Remove In Progress Warning on 2017.7.7 @
325666         2018-07-03 13:32:10 UTC
325667
325668         · f8a9a037e6 Merge pull request #48405 from Ch3LL/rm_inprog_2017.7
325669
325670         · 03ed5167fa [2017.7] Remove In Progress Warning on 2017.7.7
325671
325672       · PR #48409: (dwoz) Fix file state prepend test @  2018-07-02  23:21:08
325673         UTC
325674
325675         · 8ac867c168 Merge pull request #48409 from dwoz/test_prepend_fix
325676
325677         · 9c7085b70f Fix file state prepend test
325678
325679       · PR   #48396:  (dwoz)  Fix  file.symlink  state  test  for  windows  @
325680         2018-07-02 18:10:32 UTC
325681
325682         · 10e93bff7f Merge pull request #48396 from dwoz/symlink_test_fix
325683
325684         · d3456d31e6 Fix file.symlink state test for windows
325685
325686       · PR #48362: (twangboy) Fix stacktrace when registry entries are  miss‐
325687         ing @ 2018-06-30 13:20:01 UTC
325688
325689         · 7e25f26837 Merge pull request #48362 from twangboy/fix_48276
325690
325691         · 77629f640a Fix module unit tests
325692
325693         · b5ca560b73 Fix lint error
325694
325695         · 210e280ecf Use explicit parameter names
325696
325697         · 776db98a5c Handle missing registry entries
325698
325699       · PR  #48383:  (rallytime)  Back-port  #48379  to  2017.7  @ 2018-06-29
325700         19:48:38 UTC
325701
325702         · PR #48379: (KaiSforza) Clean up the workspaces at the end for every
325703           job (refs: #48383)
325704
325705         · 80222b6b7c Merge pull request #48383 from rallytime/bp-48379
325706
325707         · 9fc7815594 Clean up the workspaces at the end for every job
325708
325709       · PR  #48382:  (rallytime)  Back-port  #48346  to  2017.7  @ 2018-06-29
325710         19:45:12 UTC
325711
325712         · PR #48346: (KaiSforza) Use the right ssh  key  to  destroy  kitchen
325713           (refs: #48382)
325714
325715         · aa68aa774a Merge pull request #48382 from rallytime/bp-48346
325716
325717         · 6a70ba222e Use the right ssh key to destroy kitchen
325718
325719       · PR  #48381:  (rallytime)  Back-port  #48330  to  2017.7  @ 2018-06-29
325720         19:43:46 UTC
325721
325722         · PR #48330: (KaiSforza) Add warnings plugin  to  replace  violations
325723           (refs: #48381)
325724
325725         · 9519f640e7 Merge pull request #48381 from rallytime/bp-48330
325726
325727         · 6857bedcc2 Add warnings plugin to replace violations
325728
325729       · PR  #48363:  (dubb-b) Changing debug to info for logging @ 2018-06-28
325730         20:45:17 UTC
325731
325732         · 14db0aa35d Merge pull request #48363 from dubb-b/2017.7
325733
325734         · c0b962e28d Changing debug to info for logging
325735
325736       · PR #48352: (Ch3LL) Add missing key to accept_dict function  in  wheel
325737         docs @ 2018-06-28 13:54:37 UTC
325738
325739         · 5b29cd326f Merge pull request #48352 from Ch3LL/wheel_doc
325740
325741         · 89ada68165 Add missing key to accept_dict function in wheel docs
325742
325743       · PR  #48329: (rallytime) Trigger review requests for team-ssh for ros‐
325744         ter files @ 2018-06-28 13:53:42 UTC
325745
325746         · 02cf19ee3b Merge pull request #48329 from rallytime/codeowners-ros‐
325747           ter-files
325748
325749         · 5e56615e00 Trigger review requests for team-ssh for roster files
325750
325751       · ISSUE  #48316: (ralex) Wrong init system used in virtual module "ser‐
325752         vice" on Manjaro (refs: #48349)
325753
325754       · PR #48349: (ralex) Disable the "service" module on Manjaro  since  it
325755         is using systemd @ 2018-06-28 13:32:37 UTC
325756
325757         · 53cf1794be  Merge  pull  request #48349 from ralex/fix-manjaro-ser‐
325758           vice-behaviour
325759
325760         · 6cafce547e Disable the service module on Manjaro since it is  using
325761           systemd
325762
325763       · PR  #48324:  (Ch3LL)  Update release versions for the 2017.7 branch @
325764         2018-06-27 13:44:22 UTC
325765
325766         · 89dfcf3a4e  Merge  pull  request  #48324   from   Ch3LL/update_ver‐
325767           sion_doc_2017.7
325768
325769         · 47845ba810 Update release versions for the 2017.7 branch
325770
325771       · PR  #48331:  (rallytime)  Back-port  #48215  to  2017.7  @ 2018-06-27
325772         13:12:35 UTC
325773
325774         · PR #48215: (KaiSforza) Notify during tests using different  creden‐
325775           tials (refs: #48331)
325776
325777         · ece4c30aac Merge pull request #48331 from rallytime/bp-48215
325778
325779         · 9d6ba3e247 Set jobs to pending when they come in
325780
325781         · 727d2b4ffe Use proper creds with githubNotify
325782
325783         · d355861c5c Test using different credentials
325784
325785       · PR  #48332:  (rallytime)  Back-port  #48321  to  2017.7  @ 2018-06-27
325786         13:12:15 UTC
325787
325788         · PR #48321: (KaiSforza) Jenkins needs the /  to  get  the  directory
325789           (refs: #48332)
325790
325791         · ab05e00d8c Merge pull request #48332 from rallytime/bp-48321
325792
325793         · d72af6ab4e Jenkins needs the / to get the directory
325794
325795       · ISSUE  #42659:  (szin2012)  rest_tornado is not able to return normal
325796         result  (refs: #48193, #48295)
325797
325798       · PR #48295:  (rallytime)  Back-port  #48193  to  2017.7  @  2018-06-26
325799         23:42:18 UTC
325800
325801         · PR  #48193: (jacksontj) Properly wait on returns in saltnado (refs:
325802           #48295)
325803
325804         · 21ed5b97ce Merge pull request #48295 from rallytime/bp-48193
325805
325806         · 352fe33fd6 Separate set_result() to a new line apart from  Future()
325807           call
325808
325809         · c0180ff33d Properly configure syndic in test case
325810
325811         · d0a98534a9 Properly wait on returns in saltnado
325812
325813       · PR  #48117:  (twangboy)  service.disabled  on  Windows  @  2018-06-26
325814         23:35:59 UTC
325815
325816         · 9aa4687ab9 Merge pull request #48117 from twangboy/fix_48026
325817
325818         · dd37f8fbc2 Disable services that are set to manual
325819
325820       · ISSUE #48122: (pasmon) Salt minion 2017.7.6 disregards  "bin_env"  in
325821         pip state (refs: #48189)
325822
325823       · PR  #48207:  (rallytime)  Back-port  #48189  to  2017.7  @ 2018-06-25
325824         19:26:56 UTC
325825
325826         · PR #48189: (gtmanfred) If pip binary is passed to bin_env, use that
325827           pip binary (refs: #48207)
325828
325829         · caf630487c Merge pull request #48207 from rallytime/bp-48189
325830
325831         · e9d09e0375 Use old is_windows utils path on 2017.7
325832
325833         · b965d6c9b3 If pip binary is passed to bin_env, use that pip binary
325834
325835       · ISSUE  #45383:  (jodok)  RabbitMQ  commands  fail due to wrong locale
325836         (refs: #47453)
325837
325838       · PR #48293:  (rallytime)  Back-port  #47453  to  2017.7  @  2018-06-25
325839         19:06:42 UTC
325840
325841         · PR  #47453:  (dqminh) dont reset system locale when running rabbit‐
325842           mqctl commands (refs: #48293)
325843
325844         · 06a927b2aa Merge pull request #48293 from rallytime/bp-47453
325845
325846         · e96ab6778e dont reset system locale when running  rabbitmqctl  com‐
325847           mands
325848
325849       · PR  #48219:  (zer0def)  Fix:  LXC  legacy  configuration key warnings
325850         falsely report errors during state change @ 2018-06-25 13:46:07 UTC
325851
325852         · 95ef006e00  Merge  pull  request  #48219   from   zer0def/lxc-boot‐
325853           strap-fixes
325854
325855         · c77058560b Merge branch '2017.7' into lxc-bootstrap-fixes
325856
325857         · d63cf3f072  Fixes  another  case  of legacy configuration key usage
325858           warning getting in the way of changing container's state.
325859
325860       · ISSUE #46507: (nkv16786) Failed to return clean data (refs: #48234)
325861
325862       · PR #48234: (dwoz) Fix py2 thin dir issues @ 2018-06-25 13:33:02 UTC
325863
325864         · 3327181507 Merge pull request #48234 from dwoz/thin_dir
325865
325866         · 70c603451b Fix py2 thin dir issues
325867
325868       · ISSUE #47984: (jeduardo) x509 module/state writing wrong  certificate
325869         serial number to CRL  (refs: #48080)
325870
325871       · PR  #48080: (lusche) Bugfix #47984 messed up cert serial @ 2018-06-22
325872         18:00:14 UTC
325873
325874         · 83d7d286c4 Merge pull request #48080 from lusche/2017.7
325875
325876         · 917dc985fc #47984 remove the line completly
325877
325878         · ba12ee947b         Merge         branch         '2017.7'         of
325879           https://github.com/saltstack/salt into 2017.7
325880
325881         · dfb13d5051 Bugfix #47984 messed up cert serial
325882
325883       · PR  #48232:  (gtmanfred)  do  not  expand  kwargs  for cloud.action @
325884         2018-06-22 15:49:21 UTC
325885
325886         · bccb4dcd46 Merge pull request #48232 from gtmanfred/cloud
325887
325888         · d108112e1a do not expand kwargs for cloud.action
325889
325890       · PR #48238: (mirceaulinic) SDB cache module:  AttributeError:  'Cache'
325891         object has no attribute 'set' @ 2018-06-22 15:37:22 UTC
325892
325893         · 056f43f663       Merge      pull      request      #48238      from
325894           mirceaulinic/fix-sdb-cache
325895
325896         · 51e5fbfa1d SDB cache module: AttributeError: 'Cache' object has  no
325897           attribute 'set'
325898
325899       · ISSUE #48025: (onmeac) Autoloading Utility Modules? (refs: #48037)
325900
325901       · PR    #48037:    (terminalmage)    Add    "sync_mods"   argument   to
325902         state.apply/state.sls @ 2018-06-21 19:57:03 UTC
325903
325904         · 731ec0a11a Merge pull  request  #48037  from  terminalmage/fix-cus‐
325905           tom-types-sync-docs
325906
325907         · 052ae83c4b Update versionchanged
325908
325909         · 8b1bd0eda2 Update test to reflect changed argument name
325910
325911         · 5e75936198 Change 2018.3.2 to 2018.3.3
325912
325913         · c53ad603fc Rename sync -> sync_mods per review suggestion
325914
325915         · e4d67c5fd8 Update docs to include references to new "sync" argument
325916
325917         · cb8e6f9fb8 Remove redundant mocking
325918
325919         · bc3ad795e9 Add test for sync argument to state.sls
325920
325921         · f81ccd1fdd Add sync option to state.apply/state.sls
325922
325923         · 8289b07e24 Fix documentation on when custom types are synced
325924
325925       · PR #48249: (rallytime) Update release notes for 2017.7.7 @ 2018-06-21
325926         18:30:39 UTC
325927
325928         · 0bae927048    Merge    pull    request    #48249    from     rally‐
325929           time/2017.7.7-release-notes-update
325930
325931         · 36032c8ee7 Update release notes for 2017.7.7
325932
325933       · PR  #48242:  (asnell)  Add sample list data via command line pillar @
325934         2018-06-21 18:27:41 UTC
325935
325936         · 8e06471817 Merge pull request #48242 from asnell/asnell-patch-1
325937
325938         · f66bf60073 Add sample list data via command line pillar
325939
325940       · PR #48226: (terminalmage) 2 fixes for when Salt  is  installed  using
325941         -OO @ 2018-06-20 20:12:34 UTC
325942
325943         · a172f9de84    Merge    pull    request    #48226   from   terminal‐
325944           mage/fix-alias-docstring
325945
325946         · fb237272f5 Don't display "None" in  SaltInvocationError  when  Salt
325947           installed using -OO
325948
325949         · 90c90f5d5c  Fix  docstring construction in alias_function when Salt
325950           installed using -OO
325951
325952       · PR #48227: (Ch3LL) Skip new sha256 files  on  repo.saltstack.com/win‐
325953         dows @ 2018-06-20 20:12:09 UTC
325954
325955         · c6a0207cae Merge pull request #48227 from Ch3LL/fix_win_tests
325956
325957         · 236773e3e9 Skip new sha256 files on repo.saltstack.com/windows
325958
325959       · ISSUE  #48128:  (bowmanjd-lms)  apk.py  Python 3 compatibility (refs:
325960         #48131)
325961
325962       · PR #48131: (bowmanjd-lms) Fix py3-incompatible dict.keys()[x] call in
325963         apk.py @ 2018-06-19 18:19:02 UTC
325964
325965         · 6929423528     Merge     pull     request    #48131    from    bow‐
325966           manjd-lms/fix-apk-python3
325967
325968         · f5d2835299 Merge branch '2017.7' into fix-apk-python3
325969
325970         · 022f9cba50 Fix py3-incompatible dict.keys()[x] call in apk.py
325971
325972       · ISSUE #47901: (frogunder) 2017.7.6  -  Exiting  command  with  CTRL-C
325973         gives Error/Traceback (refs: #48185)
325974
325975       · PR  #48185: (DmitryKuzmenko) Don't call .exception() on future unless
325976         it's done.  @ 2018-06-19 18:16:27 UTC
325977
325978         · 868c17377f   Merge   pull   request   #48185    from    DSRCorpora‐
325979           tion/bugs/47901_future_done_exception
325980
325981         · 5f63316311 Merge branch '2017.7' into bugs/47901_future_done_excep‐
325982           tion
325983
325984         · 9f2dbf94cb Don't call .exception() on future unless it's done.
325985
325986       · PR #48192:  (twangboy)  Use  the  --disable-pip-version-check  option
325987         (2017.7) @ 2018-06-19 18:13:12 UTC
325988
325989         · 80a3e37c2e  Merge  pull  request  #48192 from twangboy/fix_pip_ver‐
325990           sion_2017.7
325991
325992         · 59ae2cc5fc Use --disable-pip-version-check for build_env_#.ps1
325993
325994       · PR #48201: (zer0def) Fixes to LXC bootstrap when alternate lxcpath is
325995         provided.  @ 2018-06-19 12:56:40 UTC
325996
325997         · 12e2b8882a   Merge   pull  request  #48201  from  zer0def/lxc-boot‐
325998           strap-fixes
325999
326000         · 6f6d3d40d4 Take lxcpath into account when  bootstrapping  new  con‐
326001           tainers. Version comparison fixes.
326002
326003       · PR  #48190:  (terminalmage)  Fix  mount.vfstab unit test @ 2018-06-18
326004         21:47:54 UTC
326005
326006         · e079fce38d   Merge   pull    request    #48190    from    terminal‐
326007           mage/fix-vfstab-test
326008
326009         · 8d70d14362 Fix mount.vfstab unit test
326010
326011       · PR  #48115:  (KaiSforza)  Add  jenkinsfiles to define tests in 2017 @
326012         2018-06-18 21:27:40 UTC
326013
326014         · c8b9cec986 Merge pull request #48115 from KaiSforza/pr-lint-2017
326015
326016         · 494727ab39 Add docs, kitchen tests
326017
326018         · 317023bb20 Move .jenkins to .ci for future
326019
326020         · dedc313cee Make it parallel so we don't fail right away
326021
326022         · cd13426726 Add a .jenkins file to run pylint
326023
326024       · PR #48174: (terminalmage)  Add  docker.update_mine  config  option  @
326025         2018-06-18 19:04:54 UTC
326026
326027         · fc1752b721    Merge    pull    request    #48174   from   terminal‐
326028           mage/docker-update-mine
326029
326030         · 9af09e0127 Mock config.get due to changes in _refresh_mine_cache
326031
326032         · c5802ad465 Fix the version number in versionadded
326033
326034         · d403ae58d7 Add unit test for docker.update_mine
326035
326036         · 44c275698a Actually it's more than just add/remove that updates the
326037           mine
326038
326039         · 0cb6996b07  Add  release notes mention of docker.update_mine config
326040           option
326041
326042         · de05097b20 Add docs for new config option
326043
326044         · 04c55a9178 Add note in mine.get_docker docstring about  new  config
326045           item
326046
326047         · 4e456255c0 Allow mine update to be disabled using new config option
326048
326049       · ISSUE #47031: (lejambon) Cannot set hwclock on UTC on CentOS 7 (refs:
326050         #47049, #48061)
326051
326052       · PR #48061: (garethgreenaway) [2017.7] Porting #47049  to  2017.7.   @
326053         2018-06-15 17:15:50 UTC
326054
326055         · PR #47049: (lejambon) Centos set utc hwclock (refs: #48061)
326056
326057         · df2a156338    Merge   pull   request   #48061   from   garethgreen‐
326058           away/port_47049_2017_7
326059
326060         · 7c472fed51 Fixing failing test_set_hwclock_aix test.
326061
326062         · ccb0acc958 Porting #47049 to 2017.7.
326063
326064       · PR #48143: (Ch3LL) Add timeout argument to run_salt for  ShellCase  @
326065         2018-06-15 17:04:57 UTC
326066
326067         · 5ec3cf2dd4 Merge pull request #48143 from Ch3LL/fix_long_job
326068
326069         · 48b5d2e9d3 Add timeout argument to run_salt for ShellCase
326070
326071       · PR #48135: (rallytime) Update the 2017.7.7 and 2017.7.8 release notes
326072         @ 2018-06-14 21:22:06 UTC
326073
326074         · PR #48134: (rallytime) Add release notes file for  2017.7.7  (refs:
326075           #48135)
326076
326077         · e1e566d1f8     Merge    pull    request    #48135    from    rally‐
326078           time/release-notes-2017.7
326079
326080         · 7a97f157b3 Add missing v for tag reference
326081
326082         · 2f2b69ed37 Add "in progress" notation to 2017.7.7 release notes
326083
326084         · 06a1151a63 Add release notes file for 2017.7.7
326085
326086         · 885b2862ce Move 2017.7.7 release notes to 2017.7.8
326087
326088       · PR #48105: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
326089         @ 2018-06-14 17:00:09 UTC
326090
326091         · ac9dabbfaa Merge pull request #48105 from rallytime/merge-2017.7
326092
326093         · cdb45874de Merge branch '2017.7.6' into '2017.7'
326094
326095       · PR #48101: (rallytime) [2017.7] Update 2017.7.7 reference to 2017.7.8
326096         @ 2018-06-14 13:14:09 UTC
326097
326098         · 2da56a69d9    Merge    pull    request    #48101    from     rally‐
326099           time/update-doc-refs-2017.7
326100
326101         · 7ba6f5fb36 Update 2017.7.7 reference to 2017.7.8
326102
326103       · PR  #48091:  (terminalmage)  Reverse  monkeypatching  after test_sym‐
326104         link_list finishes @ 2018-06-13 18:02:53 UTC
326105
326106         · 5a0e3d46e7   Merge   pull    request    #48091    from    terminal‐
326107           mage/fix-file_roots-monkeypatching
326108
326109         · 6fe711ad76 Reverse monkeypatching after test_symlink_list finishes
326110
326111       · PR  #48088: (rallytime) Update release versions for the 2017.7 branch
326112         @ 2018-06-13 14:03:03 UTC
326113
326114         · 053b019a8f Merge pull  request  #48088  from  rallytime/update_ver‐
326115           sion_doc_2017.7
326116
326117         · 1b8d1c936b Remove "in progress" info for 2017.7.6 release notes
326118
326119         · 9a0f4d190a Update release versions for the 2017.7 branch
326120
326121       · ISSUE  #48038: (austinpapp) jobs are not dedup'ing minion side (refs:
326122         #48075)
326123
326124       · PR #48075: (garethgreenaway) [2017.7] Ensure that the shared list  of
326125         jids is passed @ 2018-06-13 13:25:35 UTC
326126
326127         · d6d2c5ee18    Merge   pull   request   #48075   from   garethgreen‐
326128           away/48038_jobs_are_not_deduping_minion_side
326129
326130         · c537b3275b Ensure that the shared list of jids is passed when  cre‐
326131           ating  the Minion.  Fixes an issue when minions are pointed at mul‐
326132           tiple syndics.
326133
326134       · PR #48071: (terminalmage) Fix  inaccurate  gitfs_saltenv  example  in
326135         GitFS Walkthrough @ 2018-06-12 20:34:13 UTC
326136
326137         · aa33cc0b0c Merge pull request #48071 from terminalmage/gitfs-docs
326138
326139         · 24545204b3  Fix  inaccurate  gitfs_saltenv  example  in GitFS Walk‐
326140           through
326141
326142       · ISSUE #48039: (twellspring) github.repo_present  returns  stacktrace,
326143         got multiple values for keyword argument profile (refs: #48040)
326144
326145       · PR  #48053:  (rallytime)  Back-port  #48040  to  2017.7  @ 2018-06-12
326146         14:46:12 UTC
326147
326148         · PR #48040: (twellspring) states/github.py fix for  incorrect  posi‐
326149           tional argument (refs: #48053)
326150
326151         · fb4ceacb88 Merge pull request #48053 from rallytime/bp-48040
326152
326153         · 265b22b194 states/github.py fix for incorrect positional argument
326154
326155       · PR   #48024:  (gtmanfred)  add  pytest  coverage  and  xml  junits  @
326156         2018-06-12 14:03:26 UTC
326157
326158         · f37dcaac6d Merge pull request #48024 from gtmanfred/2017.7
326159
326160         · 56b074ab27 allow specifying a different state to run on converge
326161
326162         · cc9c4b4d5a add pytest coverage and xml junits
326163
326164       · PR #48044: (twangboy) Add fail code for WinHTTP send/receive error  @
326165         2018-06-11 13:49:29 UTC
326166
326167         · ffee3576ec     Merge    pull    request    #48044    from    twang‐
326168           boy/wua_add_fail_code
326169
326170         · d41d0c25eb Add faile code for WinHTTP send/receive error
326171
326172       · PR #48009: (dwoz) minionswarm runs on windows @  2018-06-08  13:52:36
326173         UTC
326174
326175         · 871a910fcb Merge pull request #48009 from dwoz/winswarmfix
326176
326177         · 5027c7bb84 minionswarm runs on windows
326178
326179       · PR  #47968:  (gtmanfred)  Clean up tox + pytest @ 2018-06-06 21:23:52
326180         UTC
326181
326182         · 0dcaead36d Merge pull request #47968 from gtmanfred/2017.7
326183
326184         · ae1b0d28bb pass LANG and HOME into tox commands
326185
326186         · 8d15b93d00 remove tox virtualenvs from doc tests
326187
326188         · e1872e2036 simplify tox.ini
326189
326190         · 81bd01f5af add tests.txt for running tests with tox requirements
326191
326192         · 556a2067fc fix masterapi test to use testing directory for configs
326193
326194         · 5a41f484ef add EXPENSIVE_TESTS
326195
326196         · 055cd5a6ba set DESTRUCTIVE_TESTS environment variable for pytest
326197
326198       · PR #47978: (twangboy) Add try/finally, fix typo in 7zip  def  file  @
326199         2018-06-06 19:06:04 UTC
326200
326201         · 42dd6b83eb Merge pull request #47978 from twangboy/fix_test_pkg
326202
326203         · 8bb36b3a4b Add try/finally, fix typo in 7zip def file
326204
326205       · PR  #47959:  (twangboy) Fix failing test when service doesn't exist @
326206         2018-06-06 19:05:43 UTC
326207
326208         · a67b21ef3d Merge pull request #47959 from twangboy/fix_test_service
326209
326210         · 0cd47aa81e Remove unused import
326211
326212         · d4b42540e3 Fix failing test when service doesn't exist
326213
326214       · ISSUE #30367:  (paulfanelli)  salt-run  orchestration  via  state.sls
326215         always successful; it is ignoring state return value (refs: #47843)
326216
326217       · PR #47983: (garethgreenaway) [2017.7] Backporting #47843 @ 2018-06-06
326218         19:03:15 UTC
326219
326220         · PR #47843: (garethgreenaway) [2018.3] orchestration  results  False
326221           when function is False (refs: #47983)
326222
326223         · b81d482067  Merge  pull  request  #47983 from garethgreenaway/back‐
326224           port_47843_2017_7
326225
326226         · 7b7fb1f5d5 Adding missing test sls file.
326227
326228         · 54e51bc627 Backporting #47843 to 2017.7, updating test for 2017.7.
326229
326230       · PR #47533: (twangboy) Fix issues with functions that use makedirs  on
326231         Windows @ 2018-06-06 17:20:51 UTC
326232
326233         · d56ddad22c Merge pull request #47533 from twangboy/fix_47178
326234
326235         · 24717cbc21 Change version added to 2017.7.7
326236
326237         · 0592f1bac2 Fix issues with functions that user makedirs on Windows
326238
326239       · PR  #47827:  (twangboy)  Fix  issue when archive is on mapped drive @
326240         2018-06-06 17:18:00 UTC
326241
326242         · 5c56b8c755 Merge pull request #47827 from twangboy/fix_47791
326243
326244         · fbbd91f09e Add more descriptive debug message
326245
326246         · 365f81651b Fix deprecated exception handling
326247
326248         · 8dd6710b93 Use local instead of network
326249
326250         · 980d99d74b Fix issue when archive is on mapped drive
326251
326252       · ISSUE #47888: (mbunkus) postfix.set_main overwrites wrong keys (refs:
326253         #47966)
326254
326255       · PR #47966: (mbunkus) Fix postfix.set_main's assumption of prefix-free
326256         key names @ 2018-06-06 15:43:24 UTC
326257
326258         · 998a1c13d5 Merge pull request #47966 from  mbunkus/fix-postfix-pre‐
326259           fix-free-key-names-assumption
326260
326261         · 0ae402d1b5  Fix  postfix.set_main's  assumption  of prefix-free key
326262           names
326263
326264       · PR  #47824:  (twangboy)  Fix  issues  with  setup.py  in  Windows   @
326265         2018-06-05 17:39:53 UTC
326266
326267         · df50ce7b1b Merge pull request #47824 from twangboy/fix_setup.py
326268
326269         · 4538b3abb3 Remove 'len-as-condition' disablement
326270
326271         · d4efcc3c8b Skip lint errors
326272
326273         · 1b3977f8d4 Remove m2crypto download for Windows
326274
326275       · PR  #47922:  (damon-atkins)  win_pkg: pkg.refresh_db verbose=True PY3
326276         compatibility fix @ 2018-06-05 13:31:49 UTC
326277
326278         · 3e91a31134      Merge      pull      request      #47922       from
326279           damon-atkins/2017.7_win_pkg_keys_fix
326280
326281         · 7129203b1b Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
326282
326283       · PR  #47933:  (terminalmage)  Clarify  pillar.get  docs  @  2018-06-04
326284         14:07:58 UTC
326285
326286         · 8008fca2f6 Merge pull  request  #47933  from  terminalmage/add-pil‐
326287           lar.get-docs
326288
326289         · 4eb022b675 Clarify pillar.get docs
326290
326291       · PR  #47944: (terminalmage) Replace use of deprecated argument name in
326292         git.detached docstring @ 2018-06-04 13:53:34 UTC
326293
326294         · ab565bfaa3   Merge   pull    request    #47944    from    terminal‐
326295           mage/fix-git.detached-docs
326296
326297         · 1d082b4389  Replace use of deprecated argument name in git.detached
326298           docstring
326299
326300         · 6253793cb6 Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
326301
326302       · PR #47860: (terminalmage) Clean up doc build warnings, add best prac‐
326303         tices for writing states @ 2018-06-01 14:42:55 UTC
326304
326305         · a2b588299b  Merge pull request #47860 from terminalmage/state-writ‐
326306           ing-docs
326307
326308         · 8cb33d3dec Quiet the linter
326309
326310         · af51e16f23 Use more elegant RST syntax
326311
326312         · 91cd57d1e0 Update mocking to reflect changes in service module
326313
326314         · b9ace5a859 Fix crappy mocking
326315
326316         · bc9e3acef3 Lint fixes
326317
326318         · d37f7e4f04 Add 2017.7.6 release notes
326319
326320         · 9dddeeefab Improve documentation on syncing states
326321
326322         · f465fa3ca7 Add best practices docs for writing states
326323
326324         · 93ee5ee2b0 Fix all Sphinx warnings
326325
326326         · 64b9b4d0b8 Clarify that name would override the id declaration
326327
326328       · PR #47877: (dwoz) Revert job chunk  wait  time  change  @  2018-06-01
326329         14:11:46 UTC
326330
326331         · d2f3377b5b Merge pull request #47877 from dwoz/sleep_audit
326332
326333         · ebc7cde9cb Revert job chunk wait time change
326334
326335              · 4ce0fe6546  win_pkg under py3 keys returns a view instead of a
326336                list, wrap keys in list()
326337
326338       · PR #47917: (dwoz) Fix  windows  tests  suite  breakage  @  2018-06-01
326339         11:42:15 UTC
326340
326341         · PR  #47500:  (dwoz)  Get  the  current  username  on windows (refs:
326342           #47917)
326343
326344         · 735e92093e Merge pull request #47917 from dwoz/winsuite
326345
326346         · 118601ebd6 Fix windows tests suite breakage
326347
326348       · PR #47822: (Ch3LL) Add user state  integration  tests  to  windows  @
326349         2018-05-30 21:13:07 UTC
326350
326351         · 63efb76d51 Merge pull request #47822 from Ch3LL/win_user_test
326352
326353         · 3a691b405f add user_home path for both windows and linux
326354
326355         · 788abf771e Add user state integration tests to windows
326356
326357       · PR  #47876: (doesitblend) Add file read windows @ 2018-05-30 14:03:55
326358         UTC
326359
326360         · b9da4f1221    Merge    pull    request    #47876    from    doesit‐
326361           blend/add-file-read-windows
326362
326363         · 3f7e7ec327 Add file.read function to Windows module
326364
326365       · PR #47882: (frogunder) add whoami test @ 2018-05-30 13:47:13 UTC
326366
326367         · cbe2ecfae8 Merge pull request #47882 from frogunder/45013
326368
326369         · 38d114a2d2 add whoami test
326370
326371       · PR  #47853:  (dwoz) Fix for py3 ec2 cloud tests @ 2018-05-28 23:08:09
326372         UTC
326373
326374         · 4b28e510f1 Merge pull request #47853 from dwoz/py3-cloud-test
326375
326376         · c2f8aef7c5 Fix for py3 ec2 cloud tests
326377
326378       · ISSUE #47833: (blefeuvr) reactor.add | list | delete -> python excep‐
326379         tion (refs: #47847)
326380
326381       · PR  #47847: (garethgreenaway) [2017.7] reactor runner documentation @
326382         2018-05-25 23:23:31 UTC
326383
326384         · 215efa6b73   Merge   pull   request   #47847   from    garethgreen‐
326385           away/47833_reactor_runner_documentation
326386
326387         · 03676712de Adding some addition documentation to the reactor runner
326388           indicating that the reactor system must be active  prior  to  using
326389           it.
326390
326391       · PR  #47846:  (Ch3LL)  Fix  flaky  refresh  pillar  integration test @
326392         2018-05-25 20:50:48 UTC
326393
326394         · 0bf651b470 Merge pull request #47846 from Ch3LL/p_refresh_test
326395
326396         · 019edad8e4 Fix flaky refresh pillar integration test
326397
326398       · PR #47552: (twangboy) Show GPO settings, raise error if trying to set
326399         gpo managed settings @ 2018-05-25 20:41:22 UTC
326400
326401         · 799fce979d Merge pull request #47552 from twangboy/fix_46981
326402
326403         · cffc9b7806 Merge branch '2017.7' into fix_46981
326404
326405         · 81308a4a44 Add release notes for 2017.7.7
326406
326407         · 008af0ac6b Fix unit tests
326408
326409         · 87097eefb6 Add comments about how get is returning data
326410
326411         · f1f1bfc5c1 Show GPO settings, raise error if trying to set gpo man‐
326412           aged settings
326413
326414       · ISSUE #47690: (lomeroe) productname grain missing on  Solaris  (refs:
326415         #47691)
326416
326417       · PR  #47691:  (lomeroe) Update regexes for Solaris 'product' grain and
326418         copy to 'productname' grain @ 2018-05-25 20:38:18 UTC
326419
326420         · ffc2ebc373 Merge pull  request  #47691  from  lomeroe/solaris_prod‐
326421           uct_grains
326422
326423         · 6889befc6b Merge branch '2017.7' into solaris_product_grains
326424
326425         · 49053bc106 lint fix
326426
326427         · 6f185c9179 another lint fix
326428
326429         · dbffba6876 fix tons of errors in my tests
326430
326431         · 8c9355d34c Lint fix
326432
326433         · b29ec75da7  Update  regexes in core grains for detecting the 'prod‐
326434           uct' grain on Solaris Sparc systems.  Additionally, copy the 'prod‐
326435           uct' grain to 'productname' to be consistent with other OSes.
326436
326437       · PR  #47778: (Ch3LL) Add test_pkg integration state tests to windows @
326438         2018-05-25 20:36:47 UTC
326439
326440         · 96b7c0cc76 Merge pull request #47778 from Ch3LL/win_state_pkg
326441
326442         · e1786de6b0 Merge branch '2017.7' into win_state_pkg
326443
326444         · f8c467d3e6 Fix text editor error
326445
326446         · 872e162137 Add test_pkg integration state tests to windows
326447
326448       · PR #47823: (Ch3LL) Add win_dns module integration tests for windows @
326449         2018-05-25 20:34:03 UTC
326450
326451         · 6f934c2259 Merge pull request #47823 from Ch3LL/win_dns_test
326452
326453         · 7848114d6a Add win_dns module integration tests for windows
326454
326455       · PR  #47838:  (rallytime)  Back-port  #47810  to  2017.7  @ 2018-05-25
326456         20:33:44 UTC
326457
326458         · PR #47810: (rmcintosh) Fix Linode plan selection (refs: #47838)
326459
326460         · e63e04602d Merge pull request #47838 from rallytime/bp-47810
326461
326462         · bd2b62fa66 better debug message
326463
326464         · 83565c55df Address PR feedback
326465
326466         · 50bce3a2f3 make decode_linode_plan_label a private function
326467
326468         · 2ba4fc4cea fix raising when a 'GB' format invalid plan is supplied
326469
326470         · 3afb50d5a2 slight cleanup
326471
326472         · 319fbd3406 match quotation mark types properly
326473
326474         · 95e0202223 more consistent use of parens in logged warning
326475
326476         · f52926ca87 log a warning when the user supplied a  label  we  could
326477           decode but was not in the proper format
326478
326479         · 121303d827  reduce  complexity of get_plan_id by moving decoding of
326480           the user-supplied label to its own function
326481
326482         · cf534c7314 Fix Linode plan selection
326483
326484       · PR #47805: (twangboy) Add sign.bat  script  for  signing  packages  @
326485         2018-05-25 13:53:58 UTC
326486
326487         · 9ef6e60617 Merge pull request #47805 from twangboy/add_sign.bat
326488
326489         · 66d8b0331a Add sign.bat script for signing packages
326490
326491       · PR  #47500: (dwoz) Get the current username on windows (refs: #47917)
326492         @ 2018-05-24 19:14:07 UTC
326493
326494         · 93420950d3 Merge pull request #47500 from dwoz/winuser
326495
326496         · 0ca5224cbf Merge branch '2017.7' into winuser
326497
326498         · e5948902af Use salt utils method for this_user
326499
326500         · a056a293f1 Centeralize test username lookup
326501
326502         · 6a6ab69722 Get the current username on windows
326503
326504       · ISSUE #35960: (basepi) Beacons cannot be  reloaded/refreshed  without
326505         minion restart (refs: #40892)
326506
326507       · PR  #47802:  (rallytime)  Back-port  #40892  to  2017.7  @ 2018-05-24
326508         16:34:35 UTC
326509
326510         · PR #40892: (jagguli) add minion function to  reload  beacon  #35960
326511           (refs: #47802)
326512
326513         · 552526f309 Merge pull request #47802 from rallytime/bp-40892
326514
326515         · bb357da084 add minion function to reload beacon #35960
326516
326517       · PR  #47816:  (Ch3LL)  Add  windows  to service disable ERROR check in
326518         tests @ 2018-05-24 15:31:36 UTC
326519
326520         · c9cccf53b9 Merge pull request #47816 from Ch3LL/disable_windows
326521
326522         · 2509d36888 Add windows to service disable ERROR check in tests
326523
326524       · PR #47773: (frogunder) add  win_servermanager.list_available  test  @
326525         2018-05-23 19:44:14 UTC
326526
326527         · 2cb6634c6b Merge pull request #47773 from frogunder/45011
326528
326529         · 7c9b0bda33 add win_servermanager.list_available test
326530
326531       · PR  #47807:  (dwoz)  Try an even bigger timeout @ 2018-05-23 19:38:21
326532         UTC
326533
326534         · e65dece202 Merge pull request #47807 from dwoz/winrmtests
326535
326536         · 1f1cc1357a Increase instance size for cloud tests
326537
326538         · be8dcd21f1 Try an even bigger timeout
326539
326540       · PR #47765: (meaksh) Prevent zypper from  parsing  repo  configuration
326541         from not .repo files @ 2018-05-23 14:45:04 UTC
326542
326543         · 46618d2ce7  Merge  pull  request #47765 from meaksh/2017.7-fix-zyp‐
326544           per-error-reading-repo
326545
326546         · 4475ba19b8 Prevent zypper from parsing repo configuration from  not
326547           .repo files
326548
326549       · PR  #47781: (rallytime) Update cloud test profile and docs to use new
326550         Linode size lables @ 2018-05-23 13:09:13 UTC
326551
326552         · 0e87559ee3 Merge pull  request  #47781  from  rallytime/update-lin‐
326553           ode-sizes
326554
326555         · a90c1b760e  Update  cloud  test  profile and docs to use new Linode
326556           size lables
326557
326558       · PR #47748: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
326559         @ 2018-05-22 20:53:02 UTC
326560
326561         · 3ddc56cb9b Merge pull request #47748 from rallytime/merge-2017.7
326562
326563         · b75f5ae38e Merge branch '2017.7.6' into '2017.7'
326564
326565         · 17596f3025 Merge branch '2017.7.6' into '2017.7'
326566
326567         · e458f4a031 Merge branch '2017.7.6' into '2017.7'
326568
326569       · PR  #47779:  (dwoz)  Increase ec2 cloud timeouts to 1000 @ 2018-05-22
326570         20:35:45 UTC
326571
326572         · 0ddc864f90 Merge pull request #47779 from dwoz/winrmtests
326573
326574         · d5eafe9d53 Use common timeout variable
326575
326576         · 7e948eb540 Increase ec2 cloud timeouts to 1000
326577
326578       · PR  #47430:  (baniobloom)  Add  catch  for  VPCAssociationNotFound  @
326579         2018-05-22 14:54:01 UTC
326580
326581         · 17c4c8443c  Merge  pull request #47430 from baniobloom/vpc_associa‐
326582           tion_not_found
326583
326584         · 0f1d007f91 added catch for VPCAssociationNotFound
326585
326586       · PR #47525: (baniobloom) Trying to add a duplicate sec group rule true
326587         @ 2018-05-22 14:51:09 UTC
326588
326589         · 9c5dde1449   Merge   pull  request  #47525  from  baniobloom/dupli‐
326590           cate_sec_group_rule
326591
326592         · dcc35df489 if we are trying to  add  the  same  rule  then  we  are
326593           already in the desired state, return true
326594
326595       · PR  #47772:  (gtmanfred)  lock  down  dependencies for kitchen-salt @
326596         2018-05-22 14:21:49 UTC
326597
326598         · 536ce2fa42 Merge pull request #47772 from gtmanfred/2017.7
326599
326600         · 67756a50fd lock down dependencies for kitchen-salt
326601
326602       · ISSUE #47717: (server-monitoring) Invalid output of pkg.list_upgrades
326603         on Fedora 27 Server (refs: #47749)
326604
326605       · PR   #47749:   (terminalmage)  Fix  "dnf  list  upgrades"  parsing  @
326606         2018-05-22 12:51:29 UTC
326607
326608         · 12b330f049 Merge pull request #47749 from terminalmage/issue47717
326609
326610         · cd484bef69 Fix "dnf list upgrades" parsing
326611
326612       · PR #47755: (dwoz)  Be  explicit  about  winrm  setting  @  2018-05-21
326613         22:39:24 UTC
326614
326615         · 5cd18b9e70 Merge pull request #47755 from dwoz/winrmtests
326616
326617         · 57dd89e6c3 Default to ec2 classic compatible images
326618
326619         · f89668920a Be explicit about winrm setting
326620
326621       · PR  #47668:  (Ch3LL) Add pkg.latest_version windows test @ 2018-05-21
326622         20:26:45 UTC
326623
326624         · f45a96ba1d Merge pull request #47668 from Ch3LL/win_pkg_test
326625
326626         · a8981024de Add pkg.latest_version windows test
326627
326628       · PR #47750: (dwoz) Allow ssh_interface  to  default  to  public_ips  @
326629         2018-05-21 17:14:11 UTC
326630
326631         · 7b12444dfa Merge pull request #47750 from dwoz/cloudtest
326632
326633         · 63b722ba21 Allow ssh_interface to default to public_ips
326634
326635       · PR #47737: (dwoz) Cloud test fixup @ 2018-05-21 14:19:49 UTC
326636
326637         · 27fbb42210 Merge pull request #47737 from dwoz/win_timeout
326638
326639         · e88833a07d Cloud test fixup
326640
326641       · PR  #47729:  (UtahDave)  fix  cli  example  to  match function name @
326642         2018-05-19 11:31:21 UTC
326643
326644         · 1a93f060fb Merge pull request #47729 from UtahDave/fix_get_info_doc
326645
326646         · 443a2d72a2 fix cli example to match function name
326647
326648       · ISSUE #47182: (MartinEmrich) state.highstate error  with  require_in:
326649         sls:  (refs: #47682)
326650
326651       · PR  #47682: (terminalmage) Fix traceback when excludes are present in
326652         an included SLS file @ 2018-05-18 16:47:47 UTC
326653
326654         · 00a13761c7 Merge pull request #47682 from terminalmage/issue47182
326655
326656         · d0243e8f23 Suppress spurious lint failure
326657
326658         · 3b449f11fc Add regression test for excludes issue
326659
326660         · 28a7d2b81c Skip __exclude__ in find_sls_ids
326661
326662       · ISSUE #47696: (darkpixel) 2017.7.5 zpool.present does not  check  for
326663         properties=None  before  attempting  to  enumerate  properties (refs:
326664         #47708)
326665
326666       · PR #47708: (darkpixel) Wrap properties loop with a  check  for  None.
326667         Closes GH-47696 @ 2018-05-18 15:25:44 UTC
326668
326669         · 518f7bcc62     Merge     pull    request    #47708    from    dark‐
326670           pixel/47696-do-not-enumerate-none
326671
326672         · 54e9bf9ec9 Merge branch '2017.7' into 47696-do-not-enumerate-none
326673
326674       · PR #47681: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
326675         @ 2018-05-17 21:30:02 UTC
326676
326677         · cad062eaa7 Merge pull request #47681 from rallytime/merge-2017.7
326678
326679         · 6c06cb3ae3 Merge branch '2017.7.6' into '2017.7'
326680
326681       · PR  #47683: (Ch3LL) Remove unnecessary setUp in states.test_user test
326682         for mac @ 2018-05-17 21:28:26 UTC
326683
326684         · fd2d45d9c2 Merge pull request #47683 from Ch3LL/mac_user_test
326685
326686         · 5a1b25b9c7 Remove unnecessary setUp in  states.test_user  test  for
326687           mac
326688
326689       · PR  #47692:  (dwoz)  Default  windows  to  m1.small for ec2-classic @
326690         2018-05-17 14:44:10 UTC
326691
326692         · f323799c42 Merge pull request #47692 from dwoz/win_instance_type
326693
326694         · 20b6070d54 Default windows to m1.small for ec2-classic
326695
326696       · ISSUE #45125: (wes-novack) salt-cloud no  longer  picking  up  master
326697         setting from provider file (refs: #47665)
326698
326699       · PR #47665: (gtmanfred) use dictupdate to update the providers dictio‐
326700         nary and merge lists @ 2018-05-16 15:59:17 UTC
326701
326702         · 990ece5cd5 Merge pull request #47665 from gtmanfred/cloud
326703
326704         · fd8a02decb use dictupdate to update the  providers  dictionary  and
326705           merge lists
326706
326707       · PR  #47151:  (zer0def) Allow interaction with default section in Con‐
326708         figParser serializer @ 2018-05-16 13:53:44 UTC
326709
326710         · a2ed8cbb7f  Merge  pull   request   #47151   from   zer0def/config‐
326711           parser-defaultsect
326712
326713         · a8f2ad977e Merge branch '2017.7' into configparser-defaultsect
326714
326715         · cca2a806c9  Made interaction with [DEFAULT] section in ConfigParser
326716           as sane as upstream permits.
326717
326718       · ISSUE #40846: (ghost) file.managed fails for long URLs (refs: #45808)
326719
326720       · PR #47673: (terminalmage) Backport  #45808  to  2017.7  @  2018-05-16
326721         13:52:06 UTC
326722
326723         · PR  #45808:  (b1naryth1ef)  [bugfix] Fix for oversized filenames in
326724           fileclient (refs: #47673)
326725
326726         · e6fb8342ef Merge pull request #47673 from terminalmage/bp-45808
326727
326728         · 454291ad62 Fix errors when attempting  to  cache  files  with  long
326729           names or URLs
326730
326731       · PR  #47670:  (gtmanfred) add a pytest.ini and update a dependency for
326732         kitchen @ 2018-05-16 01:56:17 UTC
326733
326734         · b0446aab07 Merge pull request #47670 from gtmanfred/2017.7
326735
326736         · dfd5a8715f add a pytest.ini and update a dependency for kitchen
326737
326738       · PR #47626: (gtmanfred) Implement Pipfile and  remove  extra  require‐
326739         ments.txt files @ 2018-05-16 00:03:12 UTC
326740
326741         · 0d06da6944 Merge pull request #47626 from gtmanfred/2017.7
326742
326743         · 418364a533   make   dev_python27.txt   have  the  same  message  as
326744           dev_python34.txt
326745
326746         · d53b44d10f remove lock file
326747
326748         · 493ed7f93d use the toml dict format
326749
326750         · e0f7cc1447 add proxy tests decorator to pytest conftest
326751
326752         · 0a621dd0ec add Pipfile for managing dependencies in salt
326753
326754         · f78b81db94 simplify dev and base.txt to single files
326755
326756       · PR #47578: (Ch3LL) Ensure mac_service.disabled is correctly  querying
326757         services @ 2018-05-15 18:26:37 UTC
326758
326759         · a07a8906a0  Merge  pull  request #47578 from Ch3LL/mac_service_dis‐
326760           abled
326761
326762         · 6032a01f55 change disable check for upstart service on ubuntu14
326763
326764         · 33b4cfbc5b Change service assertion check for systemd platforms
326765
326766         · 14896f9743 change codeauthor and class name
326767
326768         · 502c5bdff5 Ensure mac_service.disabled is correctly  querying  ser‐
326769           vices
326770
326771       · PR #47639: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
326772         @ 2018-05-14 17:58:25 UTC
326773
326774         · f63d801858 Merge pull request #47639 from rallytime/merge-2017.7
326775
326776         · 1503f1020f Merge branch '2017.7.6' into '2017.7'
326777
326778       · PR #47643: (dwoz) Remove unwanted file @ 2018-05-14 17:53:57 UTC
326779
326780         · db0eef3e8b Merge pull request #47643 from dwoz/runas_detect
326781
326782         · 8c5e54b8b3 Fix typo
326783
326784         · 69bc88f1c6 Remove unwanted file
326785
326786       · PR #47601: (dwoz) Skip tests when we can not use runas  @  2018-05-14
326787         15:26:36 UTC
326788
326789         · 6dd3ab9f06 Merge pull request #47601 from dwoz/runas_detect
326790
326791         · 3235ac08cb use ignore-undefined-variable
326792
326793         · 58911d510a Ignore pylint WindowsError
326794
326795         · 17987d3c5a Better doc string
326796
326797         · a48ac26573 Skip tests when we can not use runas
326798
326799       · PR  #47611:  (Ch3LL) Update debian install docs to reflect new latest
326800         debian releases @ 2018-05-11 16:32:53 UTC
326801
326802         · f61ccae627 Merge pull request #47611 from Ch3LL/deb_doc
326803
326804         · 6d2ddd050f One more grammar fixup
326805
326806         · 2d5ff01261 Grammar fix
326807
326808         · 138847c9c4 Update debian install docs to reflect new latest  debian
326809           releases
326810
326811       · PR  #47598:  (rallytime)  Back-port  #47568  to  2017.7  @ 2018-05-10
326812         22:06:20 UTC
326813
326814         · PR  #47568:  (terminalmage)  salt.serializers.yaml/yamlex:   remove
326815           invalid multi_constructor (refs: #47598)
326816
326817         · 9e2fe284e4 Merge pull request #47598 from rallytime/bp-47568-2017.7
326818
326819         · 09458c65cf  Add  exception  logging on serialize/deserialize excep‐
326820           tions
326821
326822         · c62c855f9c salt.serializers.yaml/yamlex: remove invalid  multi_con‐
326823           structor
326824
326825       · PR  #47548: (Ch3LL) Catch Sysloghandler errors when log file does not
326826         exist @ 2018-05-10 20:23:25 UTC
326827
326828         · 8a7913ccc3 Merge pull request #47548 from Ch3LL/syslog
326829
326830         · 31f13a4197 sysloghander: check for 3.5.4 python version
326831
326832         · a020352a03 Catch Sysloghandler errors when log file does not exist
326833
326834       · ISSUE  #47491:  (doc987)  mysql_query.run_file  Doesn't   Work   when
326835         query_file = salt://... (refs: #47508)
326836
326837       · PR #47508: (gtmanfred) allow pulling the mysql_query.run_file to pull
326838         from the fileserver @ 2018-05-10 18:12:28 UTC
326839
326840         · 82fb6ba366 Merge pull request #47508 from gtmanfred/2017.7
326841
326842         · 1a87e7455f allow pulling the mysql_query.run_file to pull from  the
326843           fileserver
326844
326845       · ISSUE #47203: (aesposito91) NAPALM grains not updating (refs: #47513)
326846
326847       · ISSUE #46546: (ppalmieri) salt-minion installed on vEOS does not give
326848         vendor grain (refs: #47513)
326849
326850       · PR #47562:  (rallytime)  Back-port  #47513  to  2017.7  @  2018-05-10
326851         15:19:04 UTC
326852
326853         · PR  #47513:  (frankiexyz)  Fix  #46546  eos  napalm's  grains issue
326854           (refs: #47562)
326855
326856         · be29b58a09 Merge pull request #47562 from rallytime/bp-47513
326857
326858         · 357bc084b3 fix #46546
326859
326860       · PR #47471: (meaksh) Fix inconsistency with "jid" on minion  scheduled
326861         jobs and the returners output @ 2018-05-09 18:20:00 UTC
326862
326863         · d3121fcfa4  Merge pull request #47471 from meaksh/2017.7-fix-incon‐
326864           sistent-scheduled-jid-with-returners
326865
326866         · f079939500 Do not override jid on returners, only sending  back  to
326867           master
326868
326869       · PR #47313: (Circuitsoft) Add Poky/Yocto support @ 2018-05-09 17:31:59
326870         UTC
326871
326872         · 662f6086db Merge pull request #47313 from Circuitsoft/2017.7
326873
326874         · 237560b745 Merge branch '2017.7' into 2017.7
326875
326876       · PR #47540: (terminalmage) Fix corner case where runas user's HOME env
326877         value is incorrect @ 2018-05-08 20:31:40 UTC
326878
326879         · 291d3d3bd8   Merge   pull  request  #47540  from  terminalmage/cmd‐
326880           mod-home-fix
326881
326882         · e4b277f82e Fix corner case where runas user's  HOME  env  value  is
326883           incorrect
326884
326885       · ISSUE  #24148:  (abng88) Update gitfs docs to include tutorial on how
326886         to configure gitfs for salt-call (masterless) (refs: #47547)
326887
326888       · PR #47547: (terminalmage) Add masterless mode docs to gitfs  tutorial
326889         @ 2018-05-08 20:24:29 UTC
326890
326891         · 49af577b3e  Merge pull request #47547 from terminalmage/gitfs-tuto‐
326892           rial
326893
326894         · 806ffb298a Add masterless mode docs to gitfs tutorial
326895
326896       · PR #47538: (terminalmage) Fix/clarify some of the pip module documen‐
326897         tation @ 2018-05-08 15:24:18 UTC
326898
326899         · 476ba053d1 Merge pull request #47538 from terminalmage/pip-docs
326900
326901         · 98e8ffeba4 Fix/clarify some of the pip module documentation
326902
326903       · PR  #47524:  (dwoz)  Gracefully handle blank lines in whitelist.txt @
326904         2018-05-08 15:04:23 UTC
326905
326906         · 7cc8d9d30a Merge pull request #47524 from dwoz/whitelistlines
326907
326908         · 2605ff8712 Gracefully handle blank lines in whitelist.txt
326909
326910       · PR #47527: (dwoz) Test file name @ 2018-05-07 22:02:04 UTC
326911
326912         · f1a5b13072 Merge pull request #47527 from dwoz/test_file_name
326913
326914         · 4aea7ca571 Update doc string
326915
326916         · b3289e5a1c Fix test file name
326917
326918       · PR #47408: (Ch3LL) Skip status.diskusage integration tests on  macsox
326919         @ 2018-05-07 19:06:57 UTC
326920
326921         · e9c1723175 Merge pull request #47408 from Ch3LL/skip_diskusage
326922
326923         · 068da8ad7d Merge branch '2017.7' into skip_diskusage
326924
326925         · 1a7ffb4e0d return error if diskusage not available
326926
326927         · 10bd63a976 Skip status.diskusage integration tests on macsox
326928
326929       · PR #47480: (baniobloom) added handling for the aws error Conflicting‐
326930         DomainExists @ 2018-05-07 19:05:28 UTC
326931
326932         · 2f50ff7bc8 Merge pull request #47480 from baniobloom/ConflictingDo‐
326933           mainExists
326934
326935         · d22ed7dffa added handling for the aws error ConflictingDomainExists
326936
326937       · PR  #47444:  (terminalmage)  Skip  trying  to render a template for a
326938         nonexistant SLS file @ 2018-05-07 13:48:24 UTC
326939
326940         · 7f53be6e92  Merge  pull  request  #47444   from   terminalmage/ren‐
326941           der_state-spurious-error
326942
326943         · a1e9fe00fd  Skip  trying to render a template for a nonexistant SLS
326944           file
326945
326946       · PR #47478: (terminalmage) Rename pip state test modules to match nam‐
326947         ing convention @ 2018-05-07 13:13:13 UTC
326948
326949         · 50b9c4d79d    Merge    pull    request    #47478   from   terminal‐
326950           mage/rename-pip-state-test
326951
326952         · 9f7a9ebebd Rename pip state test modules to match naming convention
326953
326954       · ISSUE #47443: (skylerberg) Input validation does not raise  SaltInvo‐
326955         cationError in win_dsc.py (refs: #47505)
326956
326957       · PR  #47505:  (dwoz)  Raise  proper  invocation  errors  @  2018-05-07
326958         13:05:22 UTC
326959
326960         · e78ac0f9b7 Merge pull request #47505 from dwoz/win_dsc_fixes
326961
326962         · d1fcb40d1c Raise proper invocation errors
326963
326964       · PR #47499: (dwoz) Move kill process tree and re-use it  @  2018-05-06
326965         20:54:22 UTC
326966
326967         · 0d4d5047d8   Merge  pull  request  #47499  from  dwoz/win_run_time‐
326968           out_again
326969
326970         · c6697b9f16 Move kill process tree and re-use it
326971
326972       · PR #47493: (dwoz) Add support  for  windows  timeout  to  run_salt  @
326973         2018-05-06 05:34:31 UTC
326974
326975         · 6a4d0380b1 Merge pull request #47493 from dwoz/win_run_timeout
326976
326977         · fec1233dc4 Add support for windows timeout to run_salt
326978
326979         · cb674fb1cb Enable opkg as pkgrepo handler on Poky
326980
326981         · 7a58fd157e Enable opkg on non-NILinuxRT systems
326982
326983         · 139360c55f Add Poky to OS Information Grains
326984
326985         · d74057224d Un-normalize os_family in pkgrepo state
326986
326987         · 95d4488f01 Merge branch '2017.7.6' into 47696-do-not-enumerate-none
326988
326989         · 041e4c6ddb  Wrap  properties  loop  with  a check for None.  Closes
326990           GH-47696
326991
326992   In Progress: Salt 2017.7.9 Release Notes
326993       Version 2017.7.9 is an unreleased bugfix release  for  2017.7.0.   This
326994       release is still in progress and has not been released yet.
326995
326996   Salt Cloud Features
326997   GCE Driver
326998       The GCE salt cloud driver can now be used with GCE instance credentials
326999       by setting the configuration paramaters service_account_private_key and
327000       service_account_private_email to an empty string.
327001
327002   Salt 2016.11.0 Release Notes - Codename Carbon
327003   New Features
327004   Docker Introspection and Configuration
327005       Major  additions have been made to the Docker support in 2016.11.0. The
327006       new addition allows Salt to be executed within a Docker container with‐
327007       out  a minion running or installed in the container. This allows states
327008       to be run inside a container, but also all of Salt's  remote  execution
327009       commands  to  be  run inside docker containers as well. This makes con‐
327010       tainer introspection simple and powerful. See  the  tutorial  on  using
327011       this new feature here:
327012
327013       See Salt in Docker Containers.
327014
327015   Advanced Ceph Control
327016       Our friends over at SUSE have delivered a powerful new tool to make the
327017       deployment of Ceph storage systems using Salt very easy. These new Ceph
327018       tools  allow  for  a  storage system to be easily defined using the new
327019       ceph.quorum state.
327020
327021   Thorium Additions and Improvements
327022       The Thorium  advanced  reactor  has  undergone  extensive  testing  and
327023       updates.   These updates include many more Thorium states, a system for
327024       automating key management, the ability to use Thorium to easily replace
327025       old reactors and a great deal of stability and bug fixes.
327026
327027   State Rollback Using Snapper
327028       Rollback  has been one of the most prevalent requests for Salt. We have
327029       researched it extensively and concluded that the only way to accomplish
327030       truly reliable rollback would be to execute it at the filesystem layer.
327031       To accomplish this we have introduced  Snapper  integration  into  Salt
327032       States.
327033
327034       Snapper is a tool which allows for simple and reliable snapshots of the
327035       filesystem to be made. With the new snapper_states option set  to  True
327036       in  the  minion  config  a snapshot will be made before and after every
327037       Salt State run.
327038
327039       These snapshots can be viewed, managed and rolled back to via the snap‐
327040       per execution module.
327041
327042   Preserve File Perms in File States
327043       This  feature  has  been requested for years, the ability to set a flag
327044       and use the same file permissions for files deployed to a minion as the
327045       permissions  set  to  the  file  on  the master. Just set the keep_mode
327046       option on any file management state to True.
327047
327048   Ponies!
327049       We all agreed that cowsay was just not good enough, install the ponysay
327050       command and the new pony outputter will work. Fun for the whole family!
327051
327052   Additional Features
327053       · Minions  can run in stand-alone mode to use beacons and engines with‐
327054         out having to connect to a master. (Thanks @adelcast!)
327055
327056       · Added a salt runner to allow running salt modules via salt-run.
327057
327058                salt-run salt.cmd test.ping
327059                # call functions with arguments and keyword arguments
327060                salt-run salt.cmd test.arg 1 2 3 a=1
327061
327062       · Added SSL support to Cassandra CQL returner.  SSL can be  enabled  by
327063         setting  ssl_options for the returner.  Also added support for speci‐
327064         fying protocol_version when establishing cluster connection.
327065
327066       · The mode parameter in  the  file.managed  state,  and  the  file_mode
327067         parameter  in the file.recurse state, can both now be set to keep and
327068         the minion will keep the mode of the file from the  Salt  fileserver.
327069         This works only with files coming from sources prefixed with salt://,
327070         or files local to the minion (i.e. those which are absolute paths, or
327071         are prefixed with file://). For example:
327072
327073            /etc/myapp/myapp.conf:
327074              file.managed:
327075                - source: salt://conf/myapp/myapp.conf
327076                - mode: keep
327077
327078            /var/www/myapp:
327079              file.recurse:
327080                - source: salt://path/to/myapp
327081                - dir_mode: 755
327082                - file_mode: keep
327083
327084       · The  junos  state  module  is now available. It has all the functions
327085         that are present in the junos execution module.
327086
327087       · The junos state module is now available. It  has  all  the  functions
327088         that are present in the junos execution module.
327089
327090       · The  minion  data  cache  is a pluggable data store now. It's config‐
327091         urable with cache option. Default is localfs.
327092
327093       · User names in client_acl support glob matching now.
327094
327095   New Top File Merging Strategy for States
327096       A new strategy called merge_all has been added to provide a new way  of
327097       merging   top  file  matches  when  executing  a  highstate.   See  the
327098       top_file_merging_strategy documentation for further information.
327099
327100       In addition, the same merging strategy was  not  functioning  as  docu‐
327101       mented.   This has now been corrected. While this is technically a bug‐
327102       fix, we decided to hold a change in top file merging  until  a  feature
327103       release to minimize user impact.
327104
327105   Improved Archive Extraction Support
327106       The  archive.extracted  state  has  been  overhauled.  Notable  changes
327107       include the following:
327108
327109       · When enforcing ownership (with the user and/or group arguments),  the
327110         if_missing  argument  no  longer  has any connection to which path(s)
327111         have ownership enforced. Instead, the paths are determined using  the
327112         either  the  newly-added  archive.list  function,  or the newly-added
327113         enforce_ownership_on argument.
327114
327115       · if_missing also is no longer required to skip extraction, as Salt  is
327116         now  able  to  tell  which paths would be present if the archive were
327117         extracted. It should, in most cases, only be necessary in cases where
327118         a  semaphore file is used to conditionally skip extraction of the ar‐
327119         chive.
327120
327121       · Password-protected ZIP archives are now detected  before  extraction,
327122         and  the  state fails without attempting to extract the archive if no
327123         password was specified.
327124
327125       · By default, a  single  top-level  directory  is  enforced,  to  guard
327126         against  'tar-bombs'.  This  enforcement  can  be disabled by setting
327127         enforce_toplevel to False.
327128
327129       · The tar_options and zip_options arguments  have  been  deprecated  in
327130         favor of a single options argument.
327131
327132       · The archive_format argument is now optional. The ending of the source
327133         argument is used to guess whether it is a tar, zip or  rar  file.  If
327134         the  archive_format cannot be guessed, then it will need to be speci‐
327135         fied, but in many cases it can now be omitted.
327136
327137       · Ownership enforcement is now performed irrespective of whether or not
327138         the  archive needed to be extracted. This means that the state can be
327139         re-run after the archive has been fully extracted to  repair  changes
327140         to ownership.
327141
327142       A  number  of  new arguments were also added. See the docs py:func:docs
327143       for the  archive.extracted  state  <salt.states.archive.extracted>  for
327144       more information.
327145
327146       Additionally,  the following changes have been made to the archive exe‐
327147       cution module:
327148
327149       · A new function (archive.list) has been added. This function lists the
327150         files/directories in an archive file, and supports a verbose argument
327151         that gives a more detailed breakdown of which paths are files,  which
327152         are directories, and which paths are at the top level of the archive.
327153
327154       · A  new  function (archive.is_encrypted) has been added. This function
327155         will return True if the archive is  a  password-protected  ZIP  file,
327156         False  if  not.  If  the  archive is not a ZIP file, an error will be
327157         raised.
327158
327159       · archive.cmd_unzip now supports passing a  password,  bringing  it  to
327160         feature  parity  with archive.unzip. Note that this is still not con‐
327161         sidered to be secure, and archive.unzip is  recommended  for  dealing
327162         with password-protected ZIP archives.
327163
327164       · The default value for the extract_perms argument to archive.unzip has
327165         been changed to True.
327166
327167   Improved Checksum Handling in file.managed, archive.extracted States
327168       When the source_hash argument for these states refers to  a  file  con‐
327169       taining  checksums,  Salt  now looks for checksums matching the name of
327170       the source URI, as well as the file being managed. Prior releases  only
327171       looked for checksums matching the filename being managed. Additionally,
327172       a new argument (source_hash_name) has been added, which allows the user
327173       to  disambiguate ambiguous matches when more than one matching checksum
327174       is found in the source_hash file.
327175
327176       A more detailed explanation of this functionality can be found  in  the
327177       file.managed documentation, in the section for the new source_hash_name
327178       argument.
327179
327180       NOTE:
327181          This improved functionality is also available in the 2016.3  (Boron)
327182          release cycle, starting with the 2016.3.5 release.
327183
327184   Config Changes
327185       The following default config values were changed:
327186
327187       · gitfs_ssl_verify: Changed from False to True
327188
327189       · git_pillar_ssl_verify: Changed from False to True
327190
327191       · winrepo_ssl_verify: Changed from False to True
327192
327193   Grains Changes
327194       · All  core grains containing VMWare have been changed to VMware, which
327195         is the official  capitalization.   Additionally,  all  references  to
327196         VMWare in the documentation have been changed to VMware issue #30807.
327197         Environments using versions of Salt before and after  Salt  2016.11.0
327198         should employ case-insensitive grain matching on these grains.
327199
327200            {% set on_vmware = grains['virtual'].lower() == 'vmware' %}
327201
327202       · On Windows the cpu_model grain has been changed to provide the actual
327203         cpu model name and not the cpu family.
327204
327205         Old behavior:
327206
327207            root@master:~# salt 'testwin200' grains.item cpu_model
327208            testwin200:
327209                ----------
327210                cpu_model:
327211                    Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
327212
327213         New behavior:
327214
327215            root@master:~# salt 'testwin200' grains.item cpu_model
327216            testwin200:
327217                ----------
327218                cpu_model:
327219                    Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
327220
327221   Beacons Changes
327222       · The loadavg beacon  now  outputs  averages  as  integers  instead  of
327223         strings.  (Via issue #31124.)
327224
327225   Runner Changes
327226       · Runners can now call out to utility modules via __utils__.
327227
327228       · ref:Utility     modules    <writing-utility-modules>    (placed    in
327229         salt://_utils/) are now able to be synced to the  master,  making  it
327230         easier  to use them in custom runners. A saltutil.sync_utils function
327231         has been added to the saltutil runner to facilitate  the  syncing  of
327232         utility modules to the master.
327233
327234   Pillar Changes
327235       · Thanks to the new saltutil.sync_utils runner, it is now easier to get
327236         ref:utility modules <writing-utility-modules> synced to  the  correct
327237         location  on  the Master so that they are available in execution mod‐
327238         ules called from Pillar SLS files.
327239
327240   Junos Module Changes
327241       · The following new functionalities were added to the junos module
327242
327243         · facts - Displays the facts gathered during the connection.
327244
327245         · shutdown - Shut down or reboot a device running Junos OS.
327246
327247         · install_config - Modify the configuration of a Junos device.
327248
327249         · install_os - Install Junos OS software package.
327250
327251         · zeroize - Remove  all  configuration  information  on  the  Routing
327252           Engines and reset all key values on a device.
327253
327254         · file_copy - Copy file from proxy to the Junos device.
327255
327256   Network Automation: NAPALM
327257       Beginning  with 2016.11.0, network automation is included by default in
327258       the core of Salt. It is based on a  the  NAPALM  library  and  provides
327259       facilities  to  manage the configuration and retrieve data from network
327260       devices running widely used operating systems such: JunOS, IOS-XR, eOS,
327261       IOS, NX-OS etc.
327262
327263       · see the complete list of supported devices.
327264
327265       The connection is established via the NAPALM proxy.
327266
327267       In the current release, the following modules were included:
327268
327269       · NAPALM grains - Select network devices based on their characteristics
327270
327271       · NET execution module - Networking basic features
327272
327273       · NTP execution module
327274
327275       · BGP execution module
327276
327277       · Routes execution module
327278
327279       · SNMP execution module
327280
327281       · Users execution module
327282
327283       · Probes execution module
327284
327285       · NTP peers management state
327286
327287       · SNMP configuration management state
327288
327289       · Users management state
327290
327291   Cisco NXOS Proxy Minion
327292       Beginning  with  2016.11.0, there is a proxy minion that can be used to
327293       configure nxos cisco devices over ssh.
327294
327295       · Proxy Minion
327296
327297       · Execution Module
327298
327299       · State Module
327300
327301   Cisco Network Services Orchestrator Proxy Minion
327302       Beginning with 2016.11.0, there is a proxy minion to use the Cisco Net‐
327303       work Services Orchestrator as a proxy minion.
327304
327305       · Proxy Minion
327306
327307       · Execution Module
327308
327309       · State Module
327310
327311   Junos Module Changes
327312       · The following new functionalities were added to the junos module
327313
327314         · facts - Displays the facts gathered during the connection.
327315
327316         · shutdown - Shut down or reboot a device running Junos OS.
327317
327318         · install_config - Modify the configuration of a Junos device.
327319
327320         · install_os - Install Junos OS software package.
327321
327322         · zeroize  -  Remove  all  configuration  information  on the Routing
327323           Engines and reset all key values on a device.
327324
327325         · file_copy - Copy file from proxy to the Junos device.
327326
327327   Returner Changes
327328       · Any returner which implements a save_load function is now required to
327329         accept a minions keyword argument. All returners which ship with Salt
327330         have been modified to do so.
327331
327332   Renderer Changes
327333       Added the ability to restrict allowed renderers. Two new config parame‐
327334       ters, renderer_whitelist and renderer_blacklist are introduced for this
327335       purpose.
327336
327337   eAuth Changes
327338       · External auth modules' auth method can return an  ACL  list  for  the
327339         given  username instead of True. This list should be in the same for‐
327340         mat as described in the eAuth documentation. It will be used for  the
327341         user instead of one set in master config.
327342
327343         Example of the auth method return that allows a user to execute func‐
327344         tions in the test and network modules on the minions that  match  the
327345         web* target and allow access to wheel and runner modules:
327346
327347            [{'web*': ['test.*',
327348                       'network.*']},
327349             '@wheel',
327350             '@runner']
327351
327352       · External  auth  is  supported by salt-run and salt-key now. Note that
327353         master must be started to use them with eAuth.
327354
327355   External Module Packaging
327356       Modules may now be packaged via entry-points in setuptools. See  exter‐
327357       nal module packaging tutorial for more information.
327358
327359   Functionality Changes
327360       · The  onfail  requisite now uses OR logic instead of AND logic.  issue
327361         #22370
327362
327363       · The consul external pillar now strips  leading  and  trailing  white‐
327364         space.  issue #31165
327365
327366       · The  win_system.py  state  is  now case sensitive for computer names.
327367         Previously computer names set with a  state  were  converted  to  all
327368         caps. If you have a state setting computer names with lower case let‐
327369         ters in the name that has been applied, the  computer  name  will  be
327370         changed again to apply the case sensitive name.
327371
327372       · The  mac_user.list_groups  function  in the mac_user execution module
327373         now lists all groups for the specified user, including groups  begin‐
327374         ning  with an underscore. In previous releases, groups beginning with
327375         an underscore were excluded from the list of groups.
327376
327377       · The junos.call_rpc function in the junos execution module can now  be
327378         used  to  call any valid rpc. Earlier it used to call only "get_soft‐
327379         ware_information".
327380
327381       · A new option for minions called master_tries  has  been  added.  This
327382         specifies  the  number  of times a minion should attempt to contact a
327383         master to attempt a connection.  This allows better handling of occa‐
327384         sional master downtime in a multi-master topology.
327385
327386       · The  default hash_type is now sha256 instead of md5. You will need to
327387         make sure both your master and minion share the same hash_type.
327388
327389       · Nodegroups consisting of a simple list of minion IDs can now also  be
327390         declared as a yaml list. The below two examples are equivalent:
327391
327392            # Traditional way
327393            nodegroups:
327394              - group1: L@host1,host2,host3
327395
327396            # New way (optional)
327397            nodegroups:
327398              - group1:
327399                - host1
327400                - host2
327401                - host3
327402
327403   New Azure ARM Cloud Driver
327404       A  new  cloud  driver  has  been  added  for  Azure ARM, aka, the Azure
327405       Resource Manager. The older Azure driver is still required to work with
327406       the  older  Azure  API.  This  new driver works with the newer ARM API,
327407       which is managed via the newer Azure Portal website.
327408
327409   New Modules
327410   Beacons
327411       · salt.beacons.avahi_announce
327412
327413       · salt.beacons.bonjour_announce
327414
327415       · salt.beacons.haproxy
327416
327417       · salt.beacons.status
327418
327419   Clouds
327420       · salt.cloud.clouds.azurearm
327421
327422   Engines
327423       · salt.engines.hipchat
327424
327425       · salt.engines.http_logstash
327426
327427   Modules
327428       · salt.modules.boto_cloudwatch_event
327429
327430       · salt.modules.celery
327431
327432       · salt.modules.ceph
327433
327434       · salt.modules.influx08
327435
327436       · salt.modules.inspectlib.entities
327437
327438       · salt.modules.inspectlib.fsdb
327439
327440       · salt.modules.inspectlib.kiwiproc
327441
327442       · salt.modules.inspector
327443
327444       · salt.modules.libcloud_dns
327445
327446       · salt.modules.openstack_mng
327447
327448       · salt.modules.servicenow
327449
327450       · salt.modules.testinframod
327451
327452       · salt.modules.win_lgpo
327453
327454       · salt.modules.win_pki
327455
327456       · salt.modules.win_psget
327457
327458       · salt.modules.win_snmp
327459
327460       · salt.modules.xbpspkg
327461
327462   Outputters
327463       · salt.output.pony
327464
327465   Pillar
327466       · salt.pillar.csvpillar
327467
327468       · salt.pillar.http_json
327469
327470       · salt.pillar.makostack
327471
327472   Returners
327473       · salt.returners.zabbix_return
327474
327475   Runners
327476       · salt.runners.auth
327477
327478       · salt.runners.event
327479
327480       · salt.runners.smartos_vmadm
327481
327482       · salt.runners.vistara
327483
327484   SDB
327485       · salt.sdb.env
327486
327487   States
327488       · salt.states.boto_cloudwatch_event
327489
327490       · salt.states.csf
327491
327492       · salt.states.ethtool
327493
327494       · salt.states.influxdb08_database
327495
327496       · salt.states.influxdb08_user
327497
327498       · salt.states.libcloud_dns
327499
327500       · salt.states.snapper
327501
327502       · salt.states.testinframod
327503
327504       · salt.states.win_lgpo
327505
327506       · salt.states.win_pki
327507
327508       · salt.states.win_snmp
327509
327510   Thorium
327511       · salt.thorium.calc
327512
327513       · salt.thorium.key
327514
327515       · salt.thorium.runner
327516
327517       · salt.thorium.status
327518
327519       · salt.thorium.wheel
327520
327521   Deprecations
327522   General Deprecations
327523       · env to saltenv
327524
327525         All occurrences of env and some occurrences  of  __env__  marked  for
327526         deprecation  in Salt 2016.11.0 have been removed.  The new way to use
327527         the salt environment setting is with a variable called saltenv:
327528
327529            def fcn(msg='', env='base', refresh=True, saltenv='base', **kwargs):
327530
327531         has been changed to
327532
327533            def fcn(msg='', refresh=True, saltenv='base', **kwargs):
327534
327535         · If env (or __env__) is supplied as a keyword argument to a function
327536           that  also  accepts arbitrary keyword arguments, then a new warning
327537           informs the user that env is no longer used if it is  found.   This
327538           new warning will be removed in Salt 2017.7.0.
327539
327540              def fcn(msg='', refresh=True, saltenv='base', **kwargs):
327541
327542              # will result in a warning log message
327543              fcn(msg='add more salt', env='prod', refresh=False)
327544
327545         · If env (or __env__) is supplied as a keyword argument to a function
327546           that does not accept arbitrary keyword arguments, then python  will
327547           issue an error.
327548
327549              def fcn(msg='', refresh=True, saltenv='base'):
327550
327551              # will result in a python TypeError
327552              fcn(msg='add more salt', env='prod', refresh=False)
327553
327554         · If env (or __env__) is supplied as a positional argument to a func‐
327555           tion, then undefined behavior will occur, as the removal of env and
327556           __env__  from  the  function's argument list changes the function's
327557           signature.
327558
327559              def fcn(msg='', refresh=True, saltenv='base'):
327560
327561              # will result in refresh evaluating to True and saltenv likely not being a string at all
327562              fcn('add more salt', 'prod', False)
327563
327564       · Deprecations in minion.py:
327565
327566         · The salt.minion.parse_args_and_kwargs function  has  been  removed.
327567           Please use the salt.minion.load_args_and_kwargs function instead.
327568
327569   Cloud Deprecations
327570       · The  vsphere  cloud  driver  has  been removed. Please use the vmware
327571         cloud driver instead.
327572
327573       · The private_ip option in the linode cloud driver  is  deprecated  and
327574         has been removed. Use the assign_private_ip option instead.
327575
327576       · The  create_dns_record and delete_dns_record functions are deprecated
327577         and  have  been  removed  from  the  digital_ocean  driver.  Use  the
327578         post_dns_record function instead.
327579
327580   Execution Module Deprecations
327581       · The blockdev execution module had four functions removed:
327582
327583         · dump
327584
327585         · tune
327586
327587         · resize2fs
327588
327589         · wipe
327590
327591         The disk module should be used instead with the same function names.
327592
327593       · The boto_vpc execution module had two functions removed, boto_vpc.as‐
327594         sociate_new_dhcp_options_to_vpc    and    boto_vpc.associate_new_net‐
327595         work_acl_to_subnet   in   favor   of  more  concise  function  names,
327596         boto_vpc.create_dhcp_options and boto_vpc.create_network_acl, respec‐
327597         tively.
327598
327599       · The data execution module had getval and getvals functions removed in
327600         favor of one function, get, which combines the functionality  of  the
327601         removed functions.
327602
327603       · File module deprecations:
327604
327605         · The  contains_regex_multiline function was removed. Use file.search
327606           instead.
327607
327608         · Additional command line options for file.grep should be passed  one
327609           at a time.  Please do not pass more than one in a single argument.
327610
327611       · The lxc execution module has the following changes:
327612
327613         · The run_cmd function was removed. Use lxc.run instead.
327614
327615         · The  nic  argument was removed from the lxc.init function. Use net‐
327616           work_profile instead.
327617
327618         · The clone argument was removed  from  the  lxc.init  function.  Use
327619           clone_from instead.
327620
327621         · passwords  passed  to  the  lxc.init function will be assumed to be
327622           hashed, unless password_encrypted=False.
327623
327624         · The restart argument for lxc.start  was  removed.  Use  lxc.restart
327625           instead.
327626
327627         · The  old  style of defining lxc containers has been removed. Please
327628           use keys under which LXC profiles  should  be  configured  such  as
327629           lxc.container_profile.profile_name.
327630
327631       · The  env  and  activate  keyword arguments have been removed from the
327632         install function in the pip execution  module.  The  use  of  bin_env
327633         replaces both of these options.
327634
327635       · reg execution module
327636
327637         Functions  in  the  reg execution module had misleading and confusing
327638         names for dealing with the Windows registry. They failed  to  clearly
327639         differentiate  between  hives,  keys, and name/value pairs. Keys were
327640         treated like value names.  There was no way to delete a key.
327641
327642         New functions were added in 2015.5 to properly  work  with  the  reg‐
327643         istry.  They also made it possible to edit key default values as well
327644         as delete an entire key tree recursively. With the new  functions  in
327645         place, the following functions have been deprecated:
327646
327647         · read_key
327648
327649         · set_key
327650
327651         · create_key
327652
327653         · delete_key
327654
327655         Use the following functions instead:
327656
327657         · for read_key use read_value
327658
327659         · for set_key use set_value
327660
327661         · for create_key use set_value with no vname and no vdata
327662
327663         · for  delete_key  use  delete_key_recursive.  To delete a value, use
327664           delete_value.
327665
327666       · The hash_hostname option was removed from the salt.modules.ssh execu‐
327667         tion module. The hash_known_hosts option should be used instead.
327668
327669       · The human_readable option was removed from the uptime function in the
327670         status execution module. The function was also updated in 2015.8.9 to
327671         return  a  more complete offering of uptime information, formatted as
327672         an easy-to-read dictionary. This updated function replaces  the  need
327673         for the human_readable option.
327674
327675       · The  persist kwarg was removed from the win_useradd execution module.
327676         This option is no longer supported for Windows. persist is only  sup‐
327677         ported as part of user management in UNIX/Linux.
327678
327679       · The  zpool_list  function  in the zpool execution module was removed.
327680         Use list instead.
327681
327682   Outputter Module Deprecations
327683       · The compact outputter has been removed. Set  state_verbose  to  False
327684         instead.
327685
327686   Runner Module Deprecations
327687       · The grains.cache runner no longer accepts outputter or minion as key‐
327688         word arguments.  Users will need to specify an  outputter  using  the
327689         --out option. tgt is replacing the minion kwarg.
327690
327691       · The  fileserver  runner no longer accepts the outputter keyword argu‐
327692         ment. Users will need to specify an outputter using the --out option.
327693
327694       · The jobs runner no longer accepts  the  outputter  keyword  argument.
327695         Users will need to specify an outputter using the --out option.
327696
327697       · virt runner module:
327698
327699         · The  hyper  kwarg  was removed from the init, list, and query func‐
327700           tions.  Use the host option instead.
327701
327702         · The next_hyper function was removed.  Use  the  next_host  function
327703           instead.
327704
327705         · The  hyper_info  function  was  removed. Use the host_info function
327706           instead.
327707
327708   State Module Deprecations
327709       · The  env  and  activate  keyword  arguments  were  removed  from  the
327710         installed  function  in  the  pip  state  module.  The use of bin_env
327711         replaces both of these options.
327712
327713       · reg state module
327714
327715         The reg state module was modified to work with the new  functions  in
327716         the  execution module. Some logic was left in the reg.present and the
327717         reg.absent functions to handle existing state  files  that  used  the
327718         final  key in the name as the value name. That logic has been removed
327719         so you now must specify value name (vname) and, if needed, value data
327720         (vdata).
327721
327722         For  example,  a  state file that adds the version value/data pair to
327723         the Software\Salt key in the HKEY_LOCAL_MACHINE  hive  used  to  look
327724         like this:
327725
327726            HKEY_LOCAL_MACHINE\\Software\\Salt\\version:
327727              reg.present:
327728                - value: 2016.3.1
327729
327730         Now it should look like this:
327731
327732            HKEY_LOCAL_MACHINE\\Software\\Salt
327733              reg.present:
327734                - vname: version
327735                - vdata: 2016.3.1
327736
327737         A  state  file  for  removing  the  same value added above would have
327738         looked like this:
327739
327740            HKEY_LOCAL_MACHINE\\Software\\Salt\\version:
327741              reg.absent:
327742
327743         Now it should look like this:
327744
327745            HKEY_LOCAL_MACHINE\\Software\\Salt
327746              reg.absent:
327747                - vname: version
327748
327749         This new structure is important as it allows salt to  deal  with  key
327750         default values which was not possible before. If vname is not passed,
327751         salt will work with the default value for that hivekey.
327752
327753         Additionally, since you could only delete a value from  a  the  state
327754         module,  a  new  function (key_absent) has been added to allow you to
327755         delete a registry key and all subkeys  and  name/value  pairs  recur‐
327756         sively. It uses the new delete_key_recursive function.
327757
327758         For  additional  information see the documentation for the reg execu‐
327759         tion and state modules.
327760
327761       · lxc state module: The following functions were removed from  the  lxc
327762         state module:
327763
327764         · created: replaced by the present state.
327765
327766         · started: replaced by the running state.
327767
327768         · cloned:  replaced by the present state. Use the clone_from argument
327769           to set the name of the clone source.
327770
327771       · The     hash_hostname     option     was     removed     from     the
327772         salt.states.ssh_known_hosts state. The hash_known_hosts option should
327773         be used instead.
327774
327775       · The always kwarg used in the built function  of  the  pkgbuild  state
327776         module was removed. Use force instead.
327777
327778   Utils Module Deprecations
327779       · The use of jid_dir and jid_load were removed from the salt.utils.jid.
327780         jid_dir functionality for  job_cache  management  was  moved  to  the
327781         local_cache  returner.  jid_load  data is now retrieved from the mas‐
327782         ter_job_cache.
327783
327784       · ip_in_subnet function in salt.utils.network.py has been removed.  Use
327785         the in_subnet function instead.
327786
327787       · The     iam    utils    module    had    two    functions    removed:
327788         salt.utils.iam.get_iam_region and salt.utils.iam.get_iam_metadata  in
327789         favor of the aws utils functions salt.utils.aws.get_region_from_meta‐
327790         data and salt.utils.aws.creds, respectively.
327791
327792   Salt 2016.11.1 Release Notes
327793       Version 2016.11.1 is a bugfix release for 2016.11.0.
327794
327795   Statistics
327796       · Total Merges: 89
327797
327798       · Total Issue References: 29
327799
327800       · Total PR References: 83
327801
327802       · Contributors:  30  (Ch3LL,  Da-Juan,   DmitryKuzmenko,   MTecknology,
327803         adelcast,  attiasr,  bbinet,  cachedout,  cro,  dmurphy18, gtmanfred,
327804         isbm, jeanpralo, kraney, kstreee, lorengordon, mateiw,  mirceaulinic,
327805         morsik,   mschneider82,   rallytime,   rbjorklin,   scott-w,  sjorge,
327806         skizunov, techhat, terminalmage, thatch45, ticosax, whiteinge)
327807
327808   Changelog for v2016.11.0..v2016.11.1
327809       Generated at: 2018-05-27 14:25:03 UTC
327810
327811       · PR #38186: (Ch3LL) add 2016.11.1 changelog to release notes
327812
327813       · PR #38182: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
327814         @ 2016-12-09 21:25:47 UTC
327815
327816         · 23c039347e Merge pull request #38182 from rallytime/merge-2016.11
327817
327818         · 627242ab5d Merge branch '2016.3' into '2016.11'
327819
327820           · 65b2ad7b14 Merge pull request #38163 from Ch3LL/enabled_ec2_cloud
327821
327822             · be74c45463 enabled ec2 cloud tests
327823
327824           · b63f74e034      Merge      pull      request      #38177     from
327825             vutny/fix-cp-get-file-str
327826
327827             · a449980672 Correct cp.get_file_str docstring and  add  integra‐
327828               tion tests
327829
327830           · 7596313be0    Merge   pull   request   #38153   from   vutny/mas‐
327831             ter-includes-error-tolerance
327832
327833             · cd0154ee93 Master config includes may  contain  errors  and  be
327834               safely skipped
327835
327836       · ISSUE  #38094:  (bfilipek)  TypeError:  object of type 'float' has no
327837         len() in grains.filter_by (refs: #38158)
327838
327839       · PR  #38158:  (cachedout)  Fix  type  problem  in  grains.filter_by  @
327840         2016-12-09 21:24:40 UTC
327841
327842         · 8355adc535 Merge pull request #38158 from cachedout/issue_38094
327843
327844         · e8196e23c2 Lint, remove set literal
327845
327846         · 9f4ebb3c18 Fix type problem in grains.filter_by
327847
327848       · ISSUE  #38090:  (jf)  pkg.installed does not seem to refresh the repo
327849         database, no matter what (refs: #38113, #38156)
327850
327851       · PR #38156: (terminalmage) Remove rtag when windows  minion  refreshes
327852         early in state @ 2016-12-09 21:15:01 UTC
327853
327854         · 31a157d902  Merge  pull  request  #38156 from terminalmage/fix-win‐
327855           dows-refresh
327856
327857         · 258bd4c2aa Remove rtag when windows minion refreshes early in state
327858
327859       · ISSUE #37981: (tazaki)  Salt-cloud  ec2  vpc  securitygroupid  always
327860         returning default (refs: #38183)
327861
327862       · PR  #38183:  (cro)  Fix  bad set operations when setting up security‐
327863         groups in AWS.  @ 2016-12-09 21:12:10 UTC
327864
327865         · c638952684 Merge pull request #38183 from cro/fix_37891
327866
327867         · 0527d6f25e Fix bad set operations when setting up securitygroups in
327868           AWS.  Fixes #37891.
327869
327870         · PR  #38181: (rallytime) Reset socket default timeout to None (fixes
327871           daemons_tests failures)
327872
327873       · PR #38148: (whiteinge) Remove ssh_async from NetapiClient clients; it
327874         is not implemented @ 2016-12-09 18:49:42 UTC
327875
327876         · 7ccbedd2cc       Merge      pull      request      #38148      from
327877           whiteinge/no-ssh-async-client
327878
327879         · cb58cd4795 Remove ssh_async from NetapiClient clients;  it  is  not
327880           implemented
327881
327882       · PR  #38160:  (terminalmage)  Update information about xz-utils in ar‐
327883         chive state/module docs @ 2016-12-09 18:34:03 UTC
327884
327885         · 8d4e194400 Merge pull request #38160  from  terminalmage/update-ar‐
327886           chive-docs
327887
327888         · 8e4ad3cff3  Update information about xz-utils in archive state/mod‐
327889           ule docs
327890
327891       · ISSUE #38024: (Ch3LL) 2016.11.0 release notes missing azure arm  ref‐
327892         erence (refs: #38164)
327893
327894       · PR  #38164:  (techhat)  Add Azure ARM docs for 2016.11.0 @ 2016-12-09
327895         18:00:22 UTC
327896
327897         · 05136f0d8c Merge pull request #38164 from techhat/azuredocs
327898
327899         · 71b787e250 Add Azure ARM docs for 2016.11.0
327900
327901       · PR #38173: (rallytime) Bump some win* module deprecations from Nitro‐
327902         gen to Oxygen @ 2016-12-09 16:57:29 UTC
327903
327904         · e3c858cc28 Merge pull request #38173 from rallytime/update-win-dep‐
327905           recation-versions
327906
327907         · 09a50b25e7 Bump some win* module deprecations from Nitrogen to Oxy‐
327908           gen
327909
327910       · PR  #38036: (terminalmage) archive.extracted: fix problems with over‐
327911         write arg @ 2016-12-08 19:08:41 UTC
327912
327913         · PR  #37889:  (isbm)  Allow  overwrite  archives  extraction  (refs:
327914           #38036)
327915
327916         · 827bf59999   Merge   pull   request  #38036  from  terminalmage/ar‐
327917           chive-extracted-override
327918
327919         · a1c70c7b95 archive.extracted: fix problems with overwrite arg
327920
327921       · PR #38133: (terminalmage) Fix edge case in creation of trans tar  for
327922         salt-thin @ 2016-12-08 17:47:26 UTC
327923
327924         · 50773a5f96 Merge pull request #38133 from terminalmage/zd1067
327925
327926         · 71e0bd023f Fix edge case in creation of trans tar for salt-thin
327927
327928       · PR #38138: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
327929         @ 2016-12-07 20:15:56 UTC
327930
327931         · 6026cb23b2 Merge pull request #38138 from rallytime/merge-2016.11
327932
327933         · 28b56ea3b4 Merge branch '2016.3' into '2016.11'
327934
327935         · 86091db647 Skip daemon unit tests when running  on  Python  2.6  (‐
327936           #38134)
327937
327938       · PR #38130: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
327939         @ 2016-12-07 20:11:19 UTC
327940
327941         · 90478ef25e Merge pull request #38130 from rallytime/merge-2016.11
327942
327943         · 4d7d9abb41 Merge branch '2016.3' into '2016.11'
327944
327945           · d3d98fd4eb Merge pull request #38102 from rallytime/fix-38091
327946
327947             · 4f79d5a0d1 Add False + msg tuple return if requests is  missing
327948               for zenoss module
327949
327950           · 8c8cbc2734 Merge pull request #38104 from rallytime/bp-36794
327951
327952             · c906c8a0d5 Pylint fixes
327953
327954             · da3ebf83e6 FreeBSD sysctl module now handels config_file param‐
327955               eter in show method
327956
327957         · PR #38129: (Ch3LL) Fix beacon index
327958
327959         · PR #38127: (rallytime) Add versionadded  tags  for  network  module
327960           funcs
327961
327962       · ISSUE  #38042: (MTecknology) [2016.11.0] Invalid interfaces file pro‐
327963         duced by debian_ip module (refs: #38043)
327964
327965       · PR #38043: (MTecknology) Debian networking fix @ 2016-12-07  17:32:18
327966         UTC
327967
327968         · fd06bab673 Merge pull request #38043 from MTecknology/2016.11
327969
327970         · 6d5e132e44 Removing trailing whitespace from previous commit
327971
327972         · f882674acf Adding some options that are valid for inet6 blocks.
327973
327974         · 81cb688d4c Better check for dual stack.
327975
327976         · 525c746274 May Cthulhu take mercy on my soul for this commit.
327977
327978         · 300ca6047e  I guess this makes the previous commit a bit redundant,
327979           but I'm not sure if I want to remove it.
327980
327981         · 6e7fc39c68 This now seems absurdly obvious, but I'm not ruling  out
327982           that I'll break everything.
327983
327984         · 82d2b89e0c Rolling back unit test.
327985
327986         · b3edbcfd05 Adding larger and more complete debian_ip unit test.
327987
327988         · 3afd7b6cf4 Adding the valid/documented 'slaves' option.
327989
327990         · b6b1adc091 Typo: missing closing parenthesis
327991
327992         · 756e41caf2 Fixing a typo; line should not be commented
327993
327994         · 32a1374748 Corrects expected return value
327995
327996         · 88f9d9f22c Mostly whitespace & comment changes
327997
327998         · 41ffb8d805 Removing redundant line
327999
328000         · 3a8168667b Ensure iface_dict not being populated will not produce a
328001           stacktrace
328002
328003         · 4de2cb2805 Corrects regression in debian_ip/debian_eth.jinja
328004
328005       · PR #38107: (cachedout) Status beacon should raise proper exception  @
328006         2016-12-07 17:21:49 UTC
328007
328008         · PR  #38088:  (dmurphy18)  Updated  to  match formulas and allow for
328009           missing functions (refs: #38107)
328010
328011         · 4b9a7f2295 Merge pull request #38107 from cachedout/supercede_38088
328012
328013         · 73d724845d Change to log.debug per Tom
328014
328015         · da135b1b59 Fix docs
328016
328017         · 792b422dc2 Pylint fix
328018
328019         · 88e03bba6d Fix typo
328020
328021         · a8ce153252 Status beacon should raise proper exception
328022
328023       · PR #38101: (lorengordon) Clarifies file.replace behavior on  symlinks
328024         @ 2016-12-07 13:27:11 UTC
328025
328026         · da8f5ac0c6    Merge    pull    request    #38101   from   lorengor‐
328027           don/file-replace-note
328028
328029         · 345990f2b0 Clarifies file.replace behavior on symlinks
328030
328031       · ISSUE #38090: (jf) pkg.installed does not seem to  refresh  the  repo
328032         database, no matter what (refs: #38113, #38156)
328033
328034       · PR  #38113:  (terminalmage)  Revert  changes  to  refresh tag for pkg
328035         states @ 2016-12-07 13:11:14 UTC
328036
328037         · d47761f349 Merge pull request #38113 from terminalmage/issue38090
328038
328039         · 9f347df012 Revert changes to refresh tag for pkg states
328040
328041       · ISSUE #37976: (t0nyhays) Error when status beacon  fires  (2016.11.0)
328042         (refs: #38120)
328043
328044       · PR  #38120:  (Da-Juan)  Fix  status  beacon  config  default values @
328045         2016-12-07 13:08:33 UTC
328046
328047         · d4c34e0a58 Merge pull request #38120 from Da-Juan/2016.11
328048
328049         · 7e4a35e8ad Fix status beacon config default values
328050
328051       · PR #38114: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328052         @ 2016-12-07 12:45:04 UTC
328053
328054         · 6868089a87 Merge pull request #38114 from rallytime/merge-2016.11
328055
328056         · fec9dec23a Merge branch '2016.3' into '2016.11'
328057
328058           · fbc87769b9 Merge pull request #38083 from twangboy/fix_refresh_db
328059
328060             · 978af6d83c Remove only .sls files from the cached winrepo-ng
328061
328062           · 9dcfdeef6b   Merge   pull   request  #38059  from  rallytime/dae‐
328063             mons-test-fix
328064
328065             · eb372b27d8 Add missing "not" statement: The  last  syndic  test
328066               should assertFalse()
328067
328068             · 4e10f8e018   Call   exec_test   for   the   Syndic   daemon  in
328069               tests.unit.daemons_test.py
328070
328071           · 9cd42b9b3f Merge pull request #38039 from rallytime/fix-37939
328072
328073             · 1da7aacfbe  Update  unit  tests  to  account   for   additional
328074               file.search call
328075
328076             · 8a685b1820  Check  to see if a line is already commented before
328077               moving on
328078
328079             · f2c045520d Write an integration test demonstrating the issue
328080
328081           · a34a763984 Merge pull request #38045 from terminalmage/issue38037
328082
328083             · 65289503d9 Simplify logic for matching desired  pkg  arch  with
328084               actual pkg arch
328085
328086             · 3babbcda94  yumpkg.py: don't include non-upgrade versions found
328087               by "yum list available"
328088
328089       · PR #38109: (gtmanfred) mode needs  to  be  an  integer  @  2016-12-07
328090         11:58:24 UTC
328091
328092         · b9920e54ee Merge pull request #38109 from gtmanfred/2016.11
328093
328094         · 7546760eb3 mode needs to be an integer
328095
328096       · PR  #38103:  (rallytime)  Back-port  #37283  to  2016.11 @ 2016-12-06
328097         23:12:59 UTC
328098
328099         · PR #37283: (jeanpralo) Handle docker-compose up  to  version  1.9.0
328100           (refs: #38103)
328101
328102         · PR #37215: (mschneider82) removed version check (refs: #37283)
328103
328104         · fd77dcbd0f Merge pull request #38103 from rallytime/bp-37283
328105
328106         · 11944df69b handle up to version 1.9.0
328107
328108       · PR #38057: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328109         (refs: #38059) @ 2016-12-06 23:11:41 UTC
328110
328111         · 5d9d6b9280 Merge pull request #38057 from rallytime/merge-2016.11
328112
328113         · 342884018b Fix SaltKeyOptionParserTestCase test failures
328114
328115         · 186e2d0d03  Don't  allow  libcloud   mock   module   injection   in
328116           unit/states/libcloud_dns_test.py either
328117
328118         · d513a60189  Do not allow libcloud to be injected as a mock value in
328119           the libcloud_dns_test
328120
328121         · 74a417e527 Update the mocked cloud configs to also  include  master
328122           configs
328123
328124         · f2c8cb13d0 Better merge conflict resolution from the initial merge
328125
328126         · 8fd53a4808 Merge branch '2016.3' into '2016.11'
328127
328128           · 6724fe4871 Modify daemons test to use multiprocessing (#38034)
328129
328130           · 6942d5d95b Merge pull request #37995 from rallytime/merge-2016.3
328131
328132             · b44e17921c Merge branch '2015.8' into '2016.3'
328133
328134               · 7a7e36728f   Merge   pull   request   #37978  from  terminal‐
328135                 mage/ext_pillar_first-docs
328136
328137                 · 61ed9a8657 Add clarifying language to ext_pillar_first docs
328138
328139           · cd66c179cb fix broken yaml code block (#38002)
328140
328141           · 3dd45fbedf    Merge    pull    request    #37912    from    atti‐
328142             asr/fix_aws_response_encoding
328143
328144             · ba4ec4e7f1 use Requests result encoding to encode the text
328145
328146             · abe4eb3b98 fix encoding problem aws responses
328147
328148           · 69a74a4d2d   Merge  pull  request  #37950  from  vutny/fix-start‐
328149             ing-up-syndic
328150
328151             · 7d9bc9abce syndic_master: correct default value,  documentation
328152               and example config
328153
328154             · 92a7c7ed1b  Set  default Salt Master address for a Syndic (like
328155               for a Minion)
328156
328157           · 7f269bc7f9 Add clarification on expr_form usage and future depre‐
328158             cation (#37964)
328159
328160           · 1001987f64 Catch possible exception from lsb_release (#37962)
328161
328162           · 330021cd8b Handle empty tokens safely (#37961)
328163
328164           · ea46639ce7   Merge   pull   request  #37272  from  vutny/fix-get‐
328165             ting-default-logging-opts
328166
328167             · e5ce52388a Fix description in the Salt Syndic usage info
328168
328169             · 518a3dd7ee Add unit tests for Salt parsers  processing  logging
328170               options
328171
328172             · 83d6a44254  Add  ssh_log_file option to master config and docu‐
328173               mentation
328174
328175             · c8a0915460 Fix configuration example and documentation for syn‐
328176               dic_log_file option
328177
328178             · e64dd3ed6b   Correct  default  attributes  for  various  parser
328179               classes
328180
328181             · 82a2e216b3 Fix default usage string for Salt command line  pro‐
328182               grams
328183
328184             · 45dffa292f Fix readding and updating logfile and pidfile config
328185               options for Salt API
328186
328187             · f47253c21b Fix reading and applying Salt Cloud default configu‐
328188               ration
328189
328190             · fad5bec936 Work with a copy of default opts dictionaries
328191
328192             · b7c24811e5 Fix log_level_logfile config value type
328193
328194             · 1bd76a1d96  Fix setting temporary log level if CLI option omit‐
328195               ted
328196
328197             · 121848cc77 Fix obtaining log_granular_levels config setting
328198
328199             · 44cf07fec2 Make CLI options take precedence for setting up log‐
328200               file_logger
328201
328202             · 61afaf1792   Fix  setting  option  attributes  when  processing
328203               log_level and log_file
328204
328205             · 3c60e2388e Fix processing of log_level_logfile config setting
328206
328207             · 55a0af5bbd Use attribute functions for getting/setting  options
328208               and config values
328209
328210             · c25f2d091e Fix getting Salt API default logfile option
328211
328212             · f2422373c1   Remove   processing  of  unused  and  undocumented
328213               cli_*_log_* config options
328214
328215             · 2065e8311c Get default logging level and file from default opts
328216               dict
328217
328218           · f2f957da6c Merge pull request #37925 from kontrolld/add-ipv6-cen‐
328219             tos-network
328220
328221             · ac2b477412 Adding IPv6 functionality  for  CentOS  /etc/syscon‐
328222               fig/network
328223
328224           · c07ad11279   Merge   pull   request   #37899   from   DSRCorpora‐
328225             tion/bugs/37059_schedule_task_hang
328226
328227             · 9497748546  Clear  functions  context  in  schedule  tasks  for
328228               ZeroMQ.
328229
328230           · a55519db40 Merge pull request #37928 from techhat/issue37737
328231
328232             · a09a60e89b Don't modify self.opts directly
328233
328234           · 9d17f1ce90 Merge pull request #37929 from gtmanfred/2016.3
328235
328236             · c7d2c73503 add list_nodes_min to nova driver
328237
328238           · 3bb743b59f Merge pull request #37926 from kontrolld/fix-ipv6-cen‐
328239             tos-network
328240
328241             · 3ed42e5b44 updated
328242
328243             · 3b3bc4f239 Fixes no IPv6 functionality  in  /etc/sysconfig/net‐
328244               work
328245
328246           · 271170a9f3 Merge pull request #37921 from rallytime/merge-2016.3
328247
328248             · 523a67c422 Merge branch '2015.8' into '2016.3'
328249
328250               · 4cdc6cf5ec  Update earlier release channels' docs with Carbon
328251                 release notes (#37914)
328252
328253               · d31491a7fe [2015.8] Update version numbers in doc config  for
328254                 2016.11.0 release (#37918)
328255
328256           · 6cd6429ac0    Merge    pull    request    #37924   from   cached‐
328257             out/fix_gem_states
328258
328259             · 894cca3427 Update test for new gem ver
328260
328261         · PR #38112: (rallytime) Account for case where vim  install  already
328262           exists and is at an older version
328263
328264       · ISSUE  #19502:  (kt97679)  salt-ssh fails to run state.highstate with
328265         custom master_tops (refs: #38021)
328266
328267       · PR #38021: (mateiw) Add master_tops support in salt-ssh @  2016-12-06
328268         14:26:22 UTC
328269
328270         · f8c67a9598  Merge  pull  request  #38021  from mateiw/salt-ssh_mas‐
328271           ter_tops
328272
328273         · 65a0f102fd Add/remove newlines
328274
328275         · 7037fa116d Add master_tops support in salt-ssh
328276
328277         · PR #38084: (rallytime)  Start  release  notes  file  for  2016.11.1
328278           release
328279
328280       · PR  #37878: (kstreee) Makes threads avoid blocking waiting while com‐
328281         municating using Zeromq.  @ 2016-12-05 19:50:46 UTC
328282
328283         · 78295516e7 Merge pull request #37878 from kstreee/2016.11
328284
328285         · 9103878c4f Fixes blocking waiting  through  implementing  a  socket
328286           pool class.
328287
328288       · PR  #37987:  (rbjorklin)  consul_pillar  support  for limiting pillar
328289         exposure via minion targeting @ 2016-12-05 19:48:20 UTC
328290
328291         · PR #37985: (rbjorklin) consul_pillar support  for  limiting  pillar
328292           exposure via minion targeting (refs: #37987)
328293
328294         · 0809ccd429  Merge  pull  request  #37987 from rbjorklin/consul-pil‐
328295           lar-target
328296
328297         · 5d0454a7ca Ignore W1401 (anomalous-backslash-in-string)
328298
328299         · 2e929a5ecc Linting fixes
328300
328301         · 171cab1726 Fixed possible incorrect behavior if  target  wasn't  on
328302           start/end of str
328303
328304         · 7440582ce8  consul_pillar  support for limiting pillar exposure via
328305           minion targeting
328306
328307       · ISSUE #38062: (UtahDave) archive execution module not loading on Win‐
328308         dows in 2016.11.0 (refs: #38067)
328309
328310       · PR #38067: (terminalmage) Remove virtual funcs for archive state/mod‐
328311         ule @ 2016-12-05 16:37:23 UTC
328312
328313         · 83dcfe81ea Merge pull request #38067 from terminalmage/issue38062
328314
328315         · 2e0f26a084 Remove virtual funcs for archive state/module
328316
328317       · ISSUE  #38001:  (tomlaredo)  Regression   on   postgres_group.present
328318         ('postgres_group' __virtual__ returned False) (refs: #38023)
328319
328320       · ISSUE  #37986:  (marek-obuchowicz)  Module  postgres  -  wrong  docs,
328321         doesn't work with debian 8.5 (refs: #38023)
328322
328323       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
328324         #37946, #37993, #38023, #38058)
328325
328326       · PR  #38058: (rallytime) Remove initdb dependency in postgres module @
328327         2016-12-04 04:19:02 UTC
328328
328329         · PR #38023: (gtmanfred) Expand error  message  for  postgres  states
328330           (refs: #38058)
328331
328332         · PR  #37993:  (ticosax) Remove initdb dependency to consume postgres
328333           module. (refs: #38058)
328334
328335         · c9933670f9    Merge    pull    request    #38058    from     rally‐
328336           time/remove-init-db-dep
328337
328338         · c1ceeca3d3 Remove initdb dependency in postgres module
328339
328340       · ISSUE  #37969:  (lordcirth) Archive.extracted fails if -user: root is
328341         specified (refs: #38004)
328342
328343       · PR #38004: (terminalmage) Fix regression in user/group mgmt  for  ar‐
328344         chive.extracted @ 2016-12-02 18:28:49 UTC
328345
328346         · 1ac53e5196 Merge pull request #38004 from terminalmage/issue37969
328347
328348         · 23bb90a7ce   Add   integration   test  for  archive.extracted  with
328349           user/group set to root
328350
328351         · e5ee721696 Don't use simple boolean check on uid/gid
328352
328353       · ISSUE #37941: (L4rS6) Outdated  documentation  for  2016.11.x  (refs:
328354         #38051)
328355
328356       · PR  #38051:  (Ch3LL)  add  docs  for  hash_type  change  to  sha256 @
328357         2016-12-02 18:11:36 UTC
328358
328359         · e90cbbef08 Merge pull request #38051 from Ch3LL/fix_hash_docs
328360
328361         · e95f88fbe3 add docs for hash_type change to sha256
328362
328363       · ISSUE #38000: (morganwillcock) 2016.11.0: saltutil.runner  returns  a
328364         different dict structure and breaks template rendering (refs: #38028)
328365
328366       · PR  #38028:  (terminalmage)  Pass  full_return  to  saltutil.runner @
328367         2016-12-02 09:49:31 UTC
328368
328369         · 1b52289508 Merge pull request #38028 from terminalmage/issue38000
328370
328371         · 9bf13d55b4 Pass full_return to saltutil.runner
328372
328373       · ISSUE #37980: (tveastman) Having 'git' in fileserver_backends and  no
328374         gitfs_remotes defined causes a crash (refs: #38044)
328375
328376       · PR #38044: (terminalmage) Remove debugging code @ 2016-12-02 09:43:44
328377         UTC
328378
328379         · 41c44ff684 Merge pull request #38044 from terminalmage/issue37980
328380
328381         · f70a0409b3 Remove debugging code
328382
328383       · PR #38035: (dmurphy18) Updated to return status from make_repo  simi‐
328384         lar to rpmbuild.py @ 2016-12-01 22:30:53 UTC
328385
328386         · 9661258f22 Merge pull request #38035 from dmurphy18/fix_debbuild
328387
328388         · 3bca96e7f2  Updated to return status from make_repo similar to rpm‐
328389           build.py
328390
328391       · ISSUE  #38001:  (tomlaredo)  Regression   on   postgres_group.present
328392         ('postgres_group' __virtual__ returned False) (refs: #38023)
328393
328394       · ISSUE  #37986:  (marek-obuchowicz)  Module  postgres  -  wrong  docs,
328395         doesn't work with debian 8.5 (refs: #38023)
328396
328397       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
328398         #37946, #37993, #38023, #38058)
328399
328400       · PR  #38023:  (gtmanfred)  Expand  error  message  for postgres states
328401         (refs: #38058) @ 2016-12-01 22:05:06 UTC
328402
328403         · 141b5c5656 Merge pull request #38023 from gtmanfred/2016.11
328404
328405         · 1aa43eba80 Expand error message for postgres states
328406
328407         · ac72ee600e Revert  "Updated  the  bins_dir  to  default  to  pg_bin
328408           #37935"
328409
328410       · PR  #38026:  (rallytime)  Back-port  #38015  to  2016.11 @ 2016-12-01
328411         19:16:15 UTC
328412
328413         · PR #38015: (morsik) Typo fix (refs: #38026)
328414
328415         · 79486421f5 Merge pull request #38026 from rallytime/bp-38015
328416
328417         · 11becf3e68 Typo fix
328418
328419         · PR #38022:  (DmitryKuzmenko)  Added  Carbon  release  notes.  Fixed
328420           sphinx errors in the file.
328421
328422         · PR #38011: (rallytime) Adjust code examples to use the actual boot‐
328423           strap-salt.sh file name
328424
328425       · ISSUE #37940: (alex-zel) dockerng.sls_build fails on  some  distribu‐
328426         tions (refs: #37954)
328427
328428       · PR  #37954:  (gtmanfred)  use  sleep from path for docker.sls_build @
328429         2016-11-30 18:08:45 UTC
328430
328431         · 0a041277ea Merge pull request #37954 from gtmanfred/2016.11
328432
328433         · 9caf0b406d use sleep from path for docker.sls_build
328434
328435       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
328436         #37946, #37993, #38023, #38058)
328437
328438       · PR  #37993:  (ticosax)  Remove  initdb dependency to consume postgres
328439         module. (refs: #38058) @ 2016-11-30 18:08:13 UTC
328440
328441         · 4ef5c98845      Merge      pull      request      #37993       from
328442           ticosax/remove-initdb-requirement
328443
328444         · c5c7a53d72 Remove initdb dependency to consume postgres module.
328445
328446       · PR  #37997:  (cachedout)  Update  gem  test  for 2016.11 @ 2016-11-30
328447         17:13:45 UTC
328448
328449         · 2e5565685c Merge pull request #37997 from cachedout/gem_test_carbon
328450
328451         · 1d221aa91c Update gem test for 2016.11
328452
328453       · ISSUE #36723: (white-hat) ext_pillar_first option is broken in 2016.3
328454         (refs: #36807)
328455
328456       · ISSUE  #24501:  (astehlik) Order in top.sls file is not respected for
328457         pillar data in local mode (refs: #31316)
328458
328459       · ISSUE #19332: (QuinnyPig) Nondeterminism in Pillar (refs: #31316)
328460
328461       · PR  #37979:  (terminalmage)  Revert  addition  of  pillar_roots_over‐
328462         ride_ext_pillar @ 2016-11-30 14:34:24 UTC
328463
328464         · PR  #36807: (terminalmage) Fix pillar merging when ext_pillar_first
328465           is enabled (refs: #37979)
328466
328467         · PR #31316: (kraney) Let  ext_pillar_first  determine  the  override
328468           order (refs: #37979)
328469
328470         · ca3a9488f1  Merge pull request #37979 from terminalmage/revert-pil‐
328471           lar-change
328472
328473         · 6135dfa4dd Revert addition of pillar_roots_override_ext_pillar
328474
328475         · PR #37970: (rallytime) Back-port #37958 to 2016.11
328476
328477         · PR #37958: (mirceaulinic) Fix RST link  format  in  Carbon  release
328478           notes (refs: #37970)
328479
328480         · PR #37971: (rallytime) Lint 2016.11 sooner rather than later
328481
328482         · PR  #37955:  (rallytime)  [2016.11]  Merge  forward  from 2016.3 to
328483           2016.11 (refs: #37971)
328484
328485       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
328486         #37946, #37993, #38023, #38058)
328487
328488       · PR  #37946:  (scott-w)  Updated  the  bins_dir to default to pg_bin @
328489         2016-11-29 16:48:27 UTC
328490
328491         · 36f91408c5 Merge pull request #37946 from scott-w/37935-fix-bin-dir
328492
328493         · d33d403969 Restored missing initdb #37935
328494
328495         · a041b9f8e8 Use Salt deprecation warning #37935
328496
328497         · a96789353f Updated the bins_dir to default to pg_bin #37935
328498
328499       · PR #37889: (isbm) Allow overwrite archives extraction (refs:  #38036)
328500         @ 2016-11-29 16:18:57 UTC
328501
328502         · d8650c5474  Merge  pull  request  #37889  from isbm/isbm-states-ar‐
328503           chive-fix
328504
328505         · e67706bd29 Document the behaviour.
328506
328507         · 1970814111 Prevent crash during externally changed archive  permis‐
328508           sions
328509
328510         · 91b42578b2  Add  overwrite  option so the extraction of the archive
328511           can be always performed.
328512
328513         · e6958f7f15 Remove nonsense comment and react  on  generally  absent
328514           path name
328515
328516       · PR #37869: (isbm) Input sanitation (16.11) @ 2016-11-29 16:17:16 UTC
328517
328518         · e2b9e58d30  Merge  pull request #37869 from isbm/isbm-input-sanita‐
328519           tion-16.11
328520
328521         · f9ec5d68af Use six instead of builtins
328522
328523         · 203dfcb238 Use American spelling instead
328524
328525         · 91ed307af9 Sanitise input for the keys and IDs
328526
328527         · 86623f913d Add a stub for ID sanitiser (at the moment same as host‐
328528           name)
328529
328530         · 637144c841 Rename "general.py" to "sanitisers.py"
328531
328532         · f2571fc8bf Add hostname sanitiser
328533
328534         · 3ae086aff4 Add filename sanitiser
328535
328536         · 816b1d1977 Add general sanitisers
328537
328538       · PR  #37884: (isbm) Do not include "gpg-pubkey" packages, filtering by
328539         their name @ 2016-11-28 21:11:37 UTC
328540
328541         · e539a94a56  Merge   pull   request   #37884   from   isbm/isbm-zyp‐
328542           per-gpgkey-pkg-filter
328543
328544         · 038374a586 Do not include "gpg-pubkey" packages, filtering by their
328545           name
328546
328547       · PR #37882: (attiasr) multiple issues in boto_rds state and  module  @
328548         2016-11-28 21:09:11 UTC
328549
328550         · eb3d81a1de Merge pull request #37882 from attiasr/fix_missing_tags
328551
328552         · 73b3c5fa1a Add newline
328553
328554         · 166c42bc51 fix boto_rds.describe
328555
328556         · ddd88ba047    fix   boto_rds.describe    parameters   and   subnet‐
328557           group_present
328558
328559         · bfe7f92cb4 fix missing tags in call to boto_rds.exists
328560
328561         · PR #37931:  (rallytime)  Remove  release  candidate  doc  ref  from
328562           2016.11.0 release notes
328563
328564       · PR  #37930: (cachedout) Remove dictionary comprehension in netusers @
328565         2016-11-28 20:27:06 UTC
328566
328567         · 3d2dabc7b7 Merge pull request #37930 from cachedout/fix_comp
328568
328569         · 670e83200b Remove dictionary comprehension in netusers
328570
328571       · PR #37923: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328572         @ 2016-11-28 19:55:03 UTC
328573
328574         · 0f8b187d15 Merge pull request #37923 from rallytime/merge-2016.11
328575
328576         · da7f5518eb  Don't  let  2016.3  doc  config  changes  overwrite the
328577           2016.11 changes
328578
328579         · dfedd1185a Merge branch '2016.3' into '2016.11'
328580
328581           · c35ba1f390   Merge    pull    request    #37916    from    rally‐
328582             time/doc-update-2016.3
328583
328584             · bd40592289  [2016.3]  Update  version numbers in doc config for
328585               2016.11.0 release
328586
328587           · e13a2488c8     Merge      pull      request      #37785      from
328588             Cloudtek/ddns-respect-trailing-dot
328589
328590             · 262e3b3697 respect trailing dot in ddns name parameter
328591
328592           · c03b389422      Merge      pull      request      #37895     from
328593             fj40crawler/fix-augeas-return-for-test
328594
328595             · ddc238df36 Fixed augeas_test.py to match  True  v.s.  None  for
328596               test_change_in_test_mode
328597
328598             · ef75c459c0  Merge  branch '2016.3' of github.com:saltstack/salt
328599               into fix-augeas-return-for-test
328600
328601             · b0fe0cd256 Change return value for salt/states/augeas.py to  be
328602               True  instead  of  None  for  cases  where  salt  is  run  with
328603               test=True. Fixes #37870
328604
328605           · fdbc31e8d8 Merge pull request #37907 from Talkless/patch-2
328606
328607             · 072a319490 Fix server trust in test run of svn.latest
328608
328609           · f39fdf443f Merge pull request #37896 from toanju/2016.3
328610
328611             · c95304188e rh networking: add missing values
328612
328613           · ea935c5a91 Merge pull request #37886 from bdrung/fix-typos
328614
328615             · 9a51ba5c5b Fix various spelling mistakes
328616
328617           · 371b0a86d9 Merge pull request #37736 from dhaines/issue-37732
328618
328619             · 7ef590a505 Update selinux.py
328620
328621             · 516a67e6a3 fix indexing error
328622
328623             · 4e49c1e991 fix typo
328624
328625             · b16f2d8400 handle semodule version >=2.4 (#37732) and fix typo
328626
328627           · 87aeb66fbf Merge pull request #37797 from clan/extfs
328628
328629             · acf0f960ef check count of columns after split
328630
328631           · f7c7109152 Merge pull  request  #37762  from  twangboy/fix_choco‐
328632             latey_state
328633
328634             · 9696b6dfa5 Use keyword args instead of relying on ordering
328635
328636             · 398eaa074d Add pre_versions to the available arguments
328637
328638           · 56baa92d55      Merge      pull      request      #37866     from
328639             meaksh/2016.3-bp-37149-36938-36784
328640
328641             · 9d8d578109 Fix pkg.latest_version when latest already installed
328642
328643             · ffca0d491c - acl.delfacl: fix position of -X option to setfacl
328644
328645             · 3dfed6b841 Adjust linux_acl unit test argument ordering
328646
328647             · f185ecdde1 core.py: quote style fixed
328648
328649             · 8404d13424 Setting up  OS  grains  for  SLES  Expanded  Support
328650               (SUSE's Red Hat compatible platform)
328651
328652           · d0cc7f0d56 Merge pull request #37863 from rallytime/bp-36893
328653
328654             · 4c70534991 Add versionadded to reauth option in dockerng module
328655
328656             · 5ca2c388c2  added  documentation  for  the  new reuth option in
328657               docker registry configuration
328658
328659             · 5b0c11ab47 add option to force a reauth for a docker registry
328660
328661           · b17a118e72 add multiline  encryption  documentation  to  nacl  (‐
328662             #37847)
328663
328664         · PR  #37927:  (thatch45)  Add  a  release  notes  reference  to  the
328665           docker-sls tutorial
328666
328667         · PR #37917: (rallytime) [2016.11] Update version numbers in doc con‐
328668           fig for 2016.11.0 release
328669
328670       · PR  #37890: (bbinet) Fix support for extra_mods='six' to add six mod‐
328671         ule to a thin.tgz tarball @ 2016-11-28 13:53:06 UTC
328672
328673         · ee00592995 Merge pull request #37890 from bbinet/fix-genthin-six
328674
328675         · 7fceaa3476 Fix support for extra_mods='six' to add six module to  a
328676           thin.tgz tarball
328677
328678       · ISSUE  #37713: (aboe76) masterless minion can't call pillar.item from
328679         pillar stack (development branch) (refs: #37843)
328680
328681         · PR #37843: (terminalmage) Don't skip pillar compilation  when  mas‐
328682           ter_type=='disable'
328683
328684         · PR  #32521:  (adelcast)  Fix  salt-call  on  standalone minion case
328685           (refs: #37843)
328686
328687       · ISSUE #37449: (thatch45) Allow TLS connections  in  the  Tornado  TCP
328688         transport (refs: #37776, #37859)
328689
328690         · PR #37849: (skizunov) Eliminate warning when 'ssl' not set
328691
328692         · PR  #37776:  (DmitryKuzmenko)  Full TLS/SSL options support as pro‐
328693           vided by Tornado TCPServer. (refs: #37849)
328694
328695       · ISSUE #37449: (thatch45) Allow TLS connections  in  the  Tornado  TCP
328696         transport (refs: #37776, #37859)
328697
328698         · PR #37859: (DmitryKuzmenko) TLS example config
328699
328700         · PR #37841: (terminalmage) Clarify the master_type docs
328701
328702         · PR  #37831:  (skizunov)  PY3:  Fix  exception when handling connect
328703           exception in TCP transport
328704
328705       · PR #37829: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328706         @ 2016-11-22 15:26:00 UTC
328707
328708         · dd81d2fa67 Merge pull request #37829 from rallytime/merge-2016.11
328709
328710         · 3d6d32edc5 Merge branch '2016.3' into '2016.11'
328711
328712         · aa3748744c add missing chloginclass (#37827)
328713
328714         · 0e74bad284 Update branch refs to more relevant branch (#37826)
328715
328716         · 6a9b49c782  Add  "names"  option to file state docs: point users to
328717           highstate doc examples (#37823)
328718
328719         · aaf587de63 Clarify keystone.user_present password state  docs  with
328720           default behavior (#37821)
328721
328722         · c300863159  Add  some  dependency  documentation to libvirt docs (‐
328723           #37820)
328724
328725         · 485270f74e Merge pull request #37772 from bdrung/openssl1.1
328726
328727           · 819c9658ed Support initializing OpenSSL 1.1
328728
328729         · 4910912ffa Update orchestrate runner file.copy doc example (#37817)
328730
328731         · c5d3d8b66a Merge pull request #37816 from rallytime/bp-32157
328732
328733           · d9c297119e Add quotes to cron doc
328734
328735         · 97e6b6aabe Merge pull request #37812 from rallytime/bp-37790
328736
328737           · ca3b6e7874 Update proxmox.rst with more options and LXC
328738
328739         · 27703c54bc Merge pull request #37811 from rallytime/bp-37789
328740
328741           · ba3fef48e1  fix comment
328742
328743           · a021f76a9b issue: 37751 Add documentation for option privileged
328744
328745         · adac9d7c0c Merge pull request #37810 from rallytime/bp-37775
328746
328747           · 2bed91437b Document python argument in salt.states.virtualenv_mod
328748
328749         · PR #37794: (sjorge) network.routes should not raise exception if no
328750           interface
328751
328752       · PR #37815: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328753         @ 2016-11-21 20:22:49 UTC
328754
328755         · 628c4a3d27 Merge pull request #37815 from rallytime/merge-2016.11
328756
328757         · c6b5fd3715 Merge branch '2016.3' into '2016.11'
328758
328759           · 7de784411d Add nodegroup check to ckminions (#37763)
328760
328761           · d674369efc Fix ip/port issue with salt-call (#37766)
328762
328763       · ISSUE #37449: (thatch45) Allow TLS connections  in  the  Tornado  TCP
328764         transport (refs: #37776, #37859)
328765
328766       · PR  #37776: (DmitryKuzmenko) Full TLS/SSL options support as provided
328767         by Tornado TCPServer. (refs: #37849) @ 2016-11-21 20:11:52 UTC
328768
328769         · 0b30b93dbb  Merge  pull  request  #37776  from  DSRCorporation/fea‐
328770           tures/37449_tls
328771
328772         · 6857b9b8b1 Documented new TLS/SSL settings.
328773
328774         · e42898f2e3  Full  TLS/SSL  options  support  as provided by Tornado
328775           TCPServer.
328776
328777       · PR #37773: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328778         @ 2016-11-18 19:18:42 UTC
328779
328780         · 3835f91d99 Merge pull request #37773 from rallytime/merge-2016.11
328781
328782         · c859fc9ec1 Merge branch '2016.3' into '2016.11'
328783
328784         · c62ff6b023 Add thorium path to syspaths (#37767)
328785
328786         · bff949f4e9 Merge pull request #37760 from hu-dabao/fix_cb_returner
328787
328788           · de372f277e  1.  returner  no need to check whether the jid exists
328789             for external job cache setup 2. add full_ret  to  return  doc  so
328790             that  the  document  will  be informative 3. make ttl as a config
328791             attribute because salt-minion does not have  keep_jobs  attribute
328792             4.  add  password  into  config attribute 5. update the documents
328793             accordingly
328794
328795         · 1f976ac212 Merge pull request #37738 from terminalmage/issue36629
328796
328797           · da46678c51 Allow pillar.get to retrieve fresh  pillar  data  when
328798             saltenv passed
328799
328800         · 7aee7fc63c  Switch  default  filter tag for ONE resources from user
328801           only to all resources (#37745)
328802
328803       · PR #37764: (mirceaulinic) Doc fixes and replace feature @  2016-11-18
328804         03:15:31 UTC
328805
328806         · 6f0f70c9a3 Merge pull request #37764 from cloudflare/NET-UPDATE
328807
328808         · c3f0202fdd Replace feature and doc fixes
328809
328810   Salt 2016.11.10 Release Notes
328811       Version 2016.11.10 is a security release for 2016.11.0.
328812
328813   Changes for v2016.11.9..v2016.11.10
328814   Security Fix
328815       CVE-2018-15751  Remote  command  execution and incorrect access control
328816       when using salt-api.
328817
328818       CVE-2018-15750 Directory traversal vulnerability when  using  salt-api.
328819       Allows  an  attacker  to  determine  what  files exist on a server when
328820       querying /run or /events.
328821
328822       Credit and thanks for discovery and responsible disclosure:  nullbr4in,
328823       xcuter, koredge, loupos, blackcon, Naver Business Platform
328824
328825   Salt 2016.11.2 Release Notes
328826       Version 2016.11.2 is a bugfix release for 2016.11.0.
328827
328828   Statistics
328829       · Total Merges: 157
328830
328831       · Total Issue References: 34
328832
328833       · Total PR References: 116
328834
328835       · Contributors:   45   (Ch3LL,   Cybolic,   DmitryKuzmenko,   UtahDave,
328836         Vaelatern, alex-zel, alxwr,  amendlik,  anlutro,  aosagie,  basdusee,
328837         bbinet,    benediktwerner,   cachedout,   clinta,   cro,   dereckson,
328838         disaster123,  ewapptus,  ezh,  folti,  gmacon,  gqgunhed,  gtmanfred,
328839         kkoppel,  lorengordon,  martintamare,  mcalmer, meaksh, mirceaulinic,
328840         mostafahussein,  mvdwalle,  rallytime,  rbjorklin,   scthi,   sjorge,
328841         techhat,  terminalmage,  tsaridas,  twangboy,  vutny,  wolfpackmars2,
328842         yhekma, yopito, yue9944882)
328843
328844   Security Fixes
328845       CVE-2017-5192 local_batch client external authentication not respected
328846
328847       The LocalClient.cmd_batch() method client does not accept external_auth
328848       credentials and so access to it from salt-api has been removed for now.
328849       This vulnerability  allows  code  execution  for  already-authenticated
328850       users and is only in effect when running salt-api as the root user.
328851
328852       CVE-2017-5200   Salt-api   allows  arbitrary  command  execution  on  a
328853       salt-master via Salt's ssh_client
328854
328855       Users of Salt-API and salt-ssh could execute a command on the salt mas‐
328856       ter via a hole when both systems were enabled.
328857
328858       We recommend everyone upgrade to 2016.11.2 as soon as possible.
328859
328860   Changelog for v2016.11.1..v2016.11.2
328861       Generated at: 2018-05-27 19:28:11 UTC
328862
328863       · PR  #38859:  (alxwr) fix parsing of sockstat -4 @ 2017-01-23 16:47:22
328864         UTC
328865
328866         · ec59ae67c8 Merge pull request #38859 from alxwr/2016.11
328867
328868         · 30fe5641c7 fix parsing of sockstat -4
328869
328870       · PR #38850: (techhat) Strip .p from  cache  file  names  @  2017-01-23
328871         16:28:46 UTC
328872
328873         · 5fe6db6201 Merge pull request #38850 from techhat/stripcache
328874
328875         · 109cb62e76 Remove .p from test
328876
328877         · 534aa3f527 Strip .p from cache file names
328878
328879         · PR #38848: (Ch3LL) add 2016.11.2 changelog to release notes
328880
328881       · PR  #38819:  (twangboy)  Remove Users from c:\salt [DO NOT MERGE FOR‐
328882         WARD] @ 2017-01-20 20:17:35 UTC
328883
328884         · 4913c4f90c    Merge    pull    request    #38819    from     twang‐
328885           boy/salt_perms_2016.11
328886
328887         · eb04ed7eef Remove User from c:salt
328888
328889       · PR #38815: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328890         @ 2017-01-20 18:53:01 UTC
328891
328892         · a275b9714e Merge pull request #38815 from rallytime/merge-2016.11
328893
328894         · ce6d1b103d  Make  sure  we're  using  the  opts  dict  mocking   in
328895           parsers_test
328896
328897         · 315b2c8712 Merge branch '2016.3' into '2016.11'
328898
328899           · d14f0c64eb   Merge   pull  request  #38812  from  rallytime/pyob‐
328900             jects-test
328901
328902             · f3e84c1ab7 Update pyobjects test to be a list
328903
328904           · 50f03f8057 Merge pull request #38813 from gtmanfred/2016.3
328905
328906             · ce3472cec2 catch SIGPIPE in vmware connection
328907
328908           · 23b8b47258 Merge  pull  request  #38809  from  twangboy/fix_host‐
328909             name_2016.3
328910
328911             · d57a51f9f9 Fix tests for get_hostname
328912
328913             · 7ca3fd7484 Fix get_hostname to handle longer computer names
328914
328915           · 1033bbdde8 Merge pull request #38808 from vutny/fix-38388
328916
328917             · 9bd203ffcc Fix #38388
328918
328919           · f3ae3cd5c8 Merge pull request #38668 from terminalmage/issue38604
328920
328921             · 0ea97cdad9 Merge pull request #10 from cachedout/pr-38668
328922
328923               · db81afc035 Munge retcode into return data for batching
328924
328925             · a642a995dc  Return the ret data from batch execution instead of
328926               raw data
328927
328928           · c6a19a9e5a Merge pull request #38789 from rallytime/fix-38622
328929
328930             · af41fe0c6e Update some saltenv refs to environment in salt.mod‐
328931               ules.state docs
328932
328933           · e0bf700020  Merge  pull  request  #38790 from cachedout/fix_pyob‐
328934             jects_test_typo
328935
328936             · a66afb5f0f Fix typo in pyobjects test
328937
328938           · 6e9785edea Merge pull request #38792 from rallytime/fix-38629
328939
328940             · 1e125e2844 Update pillar tutorial lanuage regarding pillar_opts
328941               settings
328942
328943       · PR  #38832:  (terminalmage) archive.extracted: Identify symlinks when
328944         checking for incorrect types @ 2017-01-20 18:36:15 UTC
328945
328946         · efe1bf10e8 Merge pull request #38832 from terminalmage/issue38711
328947
328948         · d10c068e25 Update archive state unit tests to reflect  symlinks  in
328949           archive.list
328950
328951         · d6adfb6d12 Identify symlinks when looking for incorrect types
328952
328953         · 09b9e95f7c archive.list: organize symlinks separately from files in
328954           verbose mode
328955
328956         · e6483f096d Support removing symlinks in salt.utils.rm_rf
328957
328958       · PR #38726: (twangboy) Add VC Redist  2008  SP1  MFC  to  installer  @
328959         2017-01-19 19:13:42 UTC
328960
328961         · 10a3d8b8dd Merge pull request #38726 from twangboy/vcredist
328962
328963         · f00a65355d change extensions .ext to .exe
328964
328965         · 98c40e278c Add VC Redist 2008 SP1 MFC to installer
328966
328967       · PR #38810: (UtahDave) Fix beacon doc @ 2017-01-18 21:37:21 UTC
328968
328969         · d5f2d92a4e   Merge   pull  request  #38810  from  UtahDave/fix_bea‐
328970           con_doc_zd1035
328971
328972         · dbe9edb806 fix reactor example.
328973
328974       · PR #38811: (techhat) Show a lot less data  when  requesting  a  VM  @
328975         2017-01-18 21:08:03 UTC
328976
328977         · 88faf08a71 Merge pull request #38811 from techhat/sanvm
328978
328979         · 47c19325cf Show a lot less data when requesting a VM
328980
328981         · PR #38807: (Ch3LL) refine the os detection in archive test
328982
328983       · PR #38799: (aosagie) Parse ansible dynamic inventory output correctly
328984         @ 2017-01-18 15:32:47 UTC
328985
328986         · e3ca6881c8  Merge  pull  request  #38799   from   aosagie/fix-ansi‐
328987           ble-dynamic-roster
328988
328989         · 26d6f699a7 Parse ansible dynamic inventory output correctly
328990
328991       · PR #38787: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
328992         @ 2017-01-18 08:39:08 UTC
328993
328994         · 76df6a43f3 Merge pull request #38787 from rallytime/merge-2016.11
328995
328996         · 2aad54c49f Merge branch '2016.3' into '2016.11'
328997
328998           · 3417adc617    Merge    pull    request    #38796    from    salt‐
328999             stack/revert-38707-root_dir_fix-gh
329000
329001             · cb080f3bbe Revert "Fixed prepending of root_dir override to the
329002               other paths"
329003
329004         · 64d866f7ab Merge branch '2016.3' into '2016.11'
329005
329006         · bab3479a3c Merge pull request #38585 from rallytime/follow-up-38527
329007
329008           · 05587201b6 Pylint fix: add line at end of file
329009
329010           · fa01367599 Keep a copy of the DEFAULT_API_OPTS and  restore  them
329011             after the test run
329012
329013           · 2ad07634d9 Test clean up
329014
329015           · fd2ee7db30  Add some simple unit tests for salt.config.api_config
329016             function
329017
329018           · 3d2fefc83b Make sure the pidfile and log_file values are  overri‐
329019             den by api opts
329020
329021           · 1f6b540e46  Make sure the pidfile and log_file values are overri‐
329022             den by api opts
329023
329024           · 04d307f917 salt-api no longer forces the default timeout
329025
329026         · 0fb6bb7b77      Merge      pull      request      #38707       from
329027           alexbleotu/root_dir_fix-gh
329028
329029           · 0bac8c8be3  Fixed  prepending  of  root_dir override to the other
329030             paths
329031
329032         · 96c9dc10f7 Merge pull request #38774 from vutny/dev-test-docs
329033
329034           · 4620dc4afa DOCS: add C++ compiler installation on  RHEL  required
329035             for bundled 0mq
329036
329037         · aedfbb7a43  Merge  pull  request  #38749  from vutny/pkg-build-bet‐
329038           ter-exception-msg
329039
329040           · 53f2be5b21 pkg build modules throw better  exception  message  if
329041             keyid wasn't found
329042
329043       · PR #38660: (techhat) Don't force salt.cache to use cachedir from opts
329044         @ 2017-01-17 18:38:35 UTC
329045
329046         · 4e6146f65f Merge pull request #38660 from techhat/cachedir
329047
329048         · be55b57abf One last fix
329049
329050         · fc24b24998 Add correct function name
329051
329052         · 9bbecf7960 Typo fix
329053
329054         · 436ba28f08 Change getlist back to list (using _list)
329055
329056         · ff734fe93b Default to CACHE_DIR in syspaths
329057
329058         · 380abd3744 Add cachedir args to tests
329059
329060         · deb08c0587 Not every module will need cachedir
329061
329062         · 4489f7cac0 Don't force salt.cache to use cachedir from opts
329063
329064       · ISSUE #37948: (djacobs2016) ssh_known_hosts.present is  failing  when
329065         checking key/host (refs: #37982)
329066
329067       · ISSUE  #33932:  (folti) ssh_known_hosts.present: hashing global known
329068         hosts file makes it readable by root only (refs: #33933)
329069
329070       · PR #38667: (rallytime)  Back-port  #37982  to  2016.11  @  2017-01-17
329071         15:42:13 UTC
329072
329073         · PR #37982: (wolfpackmars2) Update ssh.py (refs: #38667)
329074
329075         · PR  #33933:  (folti)  ssh:  keep original permissions, when hashing
329076           known_hosts (refs: #38667)
329077
329078         · 89dc86e2bc Merge pull request #38667 from rallytime/bp-37982
329079
329080         · be91e46a93 Update ssh.py
329081
329082       · PR #38759: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329083         @ 2017-01-17 15:22:01 UTC
329084
329085         · 751e14c523 Merge pull request #38759 from rallytime/merge-2016.11
329086
329087         · 30e8a66fb0 Merge branch '2016.3' into '2016.11'
329088
329089           · 8466b34e82 Merge pull request #38743 from rallytime/merge-2016.3
329090
329091             · d24776f5e9 Merge branch '2015.8' into '2016.3'
329092
329093             · 6869621ed1    Merge    pull    request   #38731   from   rally‐
329094               time/merge-2015.8
329095
329096               · 9eb191b6ac Pylint fix
329097
329098               · b910499dbe Various follow up fixes
329099
329100               · e8309a6bbf Add release notes for 2015.8.13
329101
329102               · f881f366b7   Merge   pull    request    #20    from    rally‐
329103                 time/2015.8.12_follow_up-batch-tests
329104
329105                 · 34282322c0 Clean up tests and docs for batch execution
329106
329107               · c80b20b957 Merge pull request #19 from whiteinge/batchclient
329108
329109                 · 3d8f3d18f6  Remove  batch  execution  from NetapiClient and
329110                   Saltnado
329111
329112               · 97b0f64923 Lintfix
329113
329114               · d1516664f7 Add explanation comment
329115
329116               · 62f2c87080 Add docstring
329117
329118               · 9b0a786aeb Explain what it is about and how to configure that
329119
329120               · 5ea3579e10 Pick up a specified roster file from  the  config‐
329121                 ured locations
329122
329123               · 3a8614c5df Disable custom rosters in API
329124
329125               · c0e5a1171d Add roster disable flag
329126
329127             · e9c59e9b8f   Merge   pull   request   #38602   from   terminal‐
329128               mage/fix-boto-test
329129
329130             · 3424a108ac                     Fix                      failing
329131               unit.states.boto_vpc_test.BotoVpcRouteTableTest‐
329132               Case.test_present_with_routes
329133
329134           · a642cdef79 Merge pull request #38723 from rallytime/fix-38674
329135
329136             · 706c885f55      Remove      "event_publisher_pub_hwm"       and
329137               "salt_event_pub_hwm" from config/__init__.py
329138
329139           · fc545af10b  Merge pull request #38669 from rallytime/update-boot‐
329140             strap-script
329141
329142             · 78ba76e34c Update bootstrap script verstion to latest release
329143
329144           · 50d417f267 Merge pull request #38693 from twangboy/update_jinja
329145
329146             · e0c7e5549b Update jinja2 to 2.9.4
329147
329148           · f4233bb18d Merge pull request #38739 from vutny/fix-runtests-doc
329149
329150             · b872bb63f6 DOCS: correct examples of running test suite
329151
329152           · 51d4707071 DOCS: add links to File State Backups page where  nec‐
329153             essary (#38735)
329154
329155           · 6d3717b9ee Proofread jinja_to_execution_module tutorial (#38720)
329156
329157       · ISSUE #38775: (charburns) Error using napalm netusers (refs: #38778)
329158
329159       · PR  #38778:  (mirceaulinic)  Fix  "Error  using  napalm  netusers"  @
329160         2017-01-17 15:20:27 UTC
329161
329162         · bb6291d93a Merge pull request #38778 from cloudflare/fix-38775
329163
329164         · b3388f7162 Fix #38775
329165
329166       · ISSUE #38528: (MorphBonehunter) x509  make  permissions  configurable
329167         (refs: #38664)
329168
329169       · ISSUE  #38081:  (haraldrudell)  x509  state or module cannot generate
329170         password protected private keys (refs: #38664)
329171
329172       · PR #38664: (clinta) X509 Improvements.  Expose  setting  permissions,
329173         encrypted  private  keys, and combined key and cert management in one
329174         state @ 2017-01-17 02:20:18 UTC
329175
329176         · 6663107021 Merge pull request #38664 from clinta/x509-passphrase2
329177
329178         · 77c78723fe pep8
329179
329180         · a2b20ee518 No mutable default args, remove unneeded import
329181
329182         · b48b85cc70 bug fixes
329183
329184         · f62393b864 pep8
329185
329186         · c8613243a1 change documentation
329187
329188         · 9a0abde9ac expose passphrase functionality to state
329189
329190         · e47a93d496 add passphrase to execution module
329191
329192         · a4d6598f1e preserve detailed change reports
329193
329194         · d0ad251778 combine private key and cert management
329195
329196         · 3d1474d911 cross call file.managed to get permissions options
329197
329198       · PR #38682: (mirceaulinic)  [2016.11.2/napalm]  Better  error  message
329199         when NotImplementedError raised @ 2017-01-15 18:34:25 UTC
329200
329201         · bf6d74c98e  Merge pull request #38682 from cloudflare/NotImplement‐
329202           edError-MSG
329203
329204         · f847639dee Better error message when NotImplementedError raised
329205
329206       · ISSUE  #37996:  (stefan-as)  influxdb_user.present  does   not   pass
329207         client_args (refs: #38695)
329208
329209       · PR #38695: (rallytime) Pass in client_args when calling influxdb exe‐
329210         cution module funcs @ 2017-01-15 18:33:48 UTC
329211
329212         · df12e49d80 Merge pull request #38695 from rallytime/fix-37996
329213
329214         · 05b0975888 Pass in client_args when calling influxdb execution mod‐
329215           ule funcs
329216
329217       · ISSUE  #38521:  (vladvasiliu)  State cloud.present on AWS: TypeError:
329218         'NoneType' object is not iterable (refs: #38651)
329219
329220       · ISSUE #37981: (tazaki)  Salt-cloud  ec2  vpc  securitygroupid  always
329221         returning default (refs: #38183)
329222
329223       · PR #38651: (rallytime) Don't lose the set reference for ec2 security‐
329224         group ids @ 2017-01-15 18:06:25 UTC
329225
329226         · PR #38183: (cro) Fix bad set operations when setting  up  security‐
329227           groups in AWS. (refs: #38651)
329228
329229         · 834e5469fc Merge pull request #38651 from rallytime/fix-38521
329230
329231         · 830c03cec6 Don't lose the set reference for ec2 securitygroup ids
329232
329233       · ISSUE  #38216:  (pgrishin)  salt-run:  can't  get cache.grains (refs:
329234         #38659)
329235
329236       · PR #38659: (techhat) Turn None  into  an  empty  string  (for  minion
329237         matching) @ 2017-01-15 18:02:03 UTC
329238
329239         · 8b38cfea8d Merge pull request #38659 from techhat/issue38216
329240
329241         · 4073c91584 Turn None into an empty string (for minion matching)
329242
329243       · PR #38703: (yhekma) The test option is only valid for the minion, not
329244         the master @ 2017-01-15 17:56:22 UTC
329245
329246         · 0ad5d22ad4 Merge pull request #38703 from yhekma/docfix
329247
329248         · 57df3bf148 The test option is only valid for the  minion,  not  the
329249           master
329250
329251       · PR  #38718:  (terminalmage) Fix for dynamic git_pillar when pillarenv
329252         is used @ 2017-01-15 14:37:30 UTC
329253
329254         · 8c1222e7db Merge pull request #38718 from terminalmage/zd909
329255
329256         · 12bbea5a24 Fix for dynamic git_pillar when pillarenv is used
329257
329258       · ISSUE #38677: (yhekma) consul cache backend broken (refs: #38676)
329259
329260       · PR #38676:  (yhekma)  Removed  overloading  of  list()  @  2017-01-15
329261         05:42:13 UTC
329262
329263         · aae8b54860 Merge pull request #38676 from yhekma/2016.11
329264
329265         · 3237d23e1c Localfs should also be changed of course
329266
329267         · 9d9de67219 We do not want to overload the list() type because if we
329268           do, we turn this function into a recursive one, which results in an
329269           exception because set() cannot be concatenated with str ('/')
329270
329271       · ISSUE  #38684:  (rukender) 2016.11.1 :[ERROR][11182] Failed to import
329272         beacons avahi_announce (refs: #38713)
329273
329274       · PR #38713: (rallytime) Add NameError to exception  in  avahi_announce
329275         beacon @ 2017-01-15 05:33:04 UTC
329276
329277         · c246ab41c5 Merge pull request #38713 from rallytime/fix-38684
329278
329279         · db60bed24c Add NameError to exception in avahi_announce beacon
329280
329281       · PR #38729: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329282         @ 2017-01-13 23:15:33 UTC
329283
329284         · 6c14774c04 Merge pull request #38729 from rallytime/merge-2016.11
329285
329286         · 4e1e45d640 Merge branch '2016.3' into '2016.11'
329287
329288         · 7b850d472d Merge pull request #38647 from gtmanfred/nova
329289
329290           · 5be9b60851 add documentation about using keystoneauth for v3
329291
329292           · 7b657ca4ae add the ability to use keystone v2 and v3
329293
329294           · 5646ae1b34 add ability to use  keystoneauth  to  authenitcate  in
329295             nova driver
329296
329297         · 383768d838     Merge    pull    request    #38650    from    rally‐
329298           time/remove-ubuntu-ppa-docs
329299
329300           · 30429b2e44 Remove the installation instructions  for  out-of-date
329301             community ppa
329302
329303         · 7d9f56e3b5    Merge    pull   request   #38657   from   DSRCorpora‐
329304           tion/bugs/38087_syndic_event_format_fix
329305
329306           · 594c33f396 Publish the 'data' field content for Syndic evets
329307
329308         · 83987511fd Merge pull request #38649 from Ch3LL/test_apply_template
329309
329310           · 47f8b68e0b fix unit.modules.file_test
329311
329312       · ISSUE #38631: (doitian) In Orchestration, kwargs are  not  passed  to
329313         state.sls in masterless mode (refs: #38635)
329314
329315       · PR  #38635: (lorengordon) Sends pass-through params to state module @
329316         2017-01-10 20:01:59 UTC
329317
329318         · cfd82d1631 Merge pull request #38635 from lorengordon/issue-38631
329319
329320         · 14666138b9 Sends pass-through params to state module
329321
329322       · PR #38640: (mirceaulinic) Import  napalm_base  instead  of  napalm  @
329323         2017-01-10 19:58:01 UTC
329324
329325         · 017094a207 Merge pull request #38640 from cloudflare/NAPALM-IMPORTS
329326
329327         · 8f13f63880 Import napalm_base instead of napalm
329328
329329       · PR  #38661:  (techhat) Add sane cache defaults for minion and cloud @
329330         2017-01-10 19:55:15 UTC
329331
329332         · 79663132dd Merge pull request #38661 from techhat/sanedefault
329333
329334         · aee40648ec Add a sane cache default for cloud
329335
329336         · c9e01a36e7 Add a sane cache default for minions
329337
329338       · PR #38645: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329339         @ 2017-01-10 19:54:06 UTC
329340
329341         · b0ed91ce2d Merge pull request #38645 from rallytime/merge-2016.11
329342
329343         · 7a668e9749 Merge branch '2016.3' into '2016.11'
329344
329345         · 74ddc71be3     Merge     pull    request    #38626    from    salt‐
329346           stack/revert-37358-2016.3.3_issue37355
329347
329348           · e912ac99c2 Revert "Fix/workaround for issue #37355"
329349
329350         · 5e58b32934      Merge      pull      request      #37358       from
329351           Firewire2002/2016.3.3_issue37355
329352
329353           · 910da18bfd fixed typo
329354
329355           · 4fbc5ddd06 fixed wrong renamed variable and spaces
329356
329357           · 92366e646c issue #37355
329358
329359           · 7dc87ab7b8 issue #37355
329360
329361           · 2878180405 issue #37355
329362
329363         · 6c2fe615aa Merge pull request #35390 from alexandr-orlov/2016.3
329364
329365           · cd5ae17e8d fxd missed proper grains dictionary
329366
329367         · 2579cfa42d Merge pull request #38618 from rallytime/bp-38579
329368
329369           · 2052ecee2c Add copy import
329370
329371           · 2c8845aaa0 add test for pillar.get() + default value
329372
329373           · c2f98d2f04 ticket 38558: add unit test, deepcopy() only if neces‐
329374             sary
329375
329376           · 30ae0a1958 added deepcopy of default if merge=True
329377
329378       · PR #38627: (cachedout) Pr 38476 @ 2017-01-06 22:05:45 UTC
329379
329380         · PR #38476: (amendlik) Key fingerprints (refs: #38627)
329381
329382         · d67f6937d7 Merge pull request #38627 from cachedout/pr-38476
329383
329384         · 2a423ffedd Add changes to raetkey
329385
329386         · 55ad9d6c6c Add hash_type argument to  MultiKeyCLI.finger_all  func‐
329387           tion
329388
329389         · c8681269a4  Add  hash_type argument to key module fingerprint func‐
329390           tions
329391
329392         · d0f4c300b7 Add hash_type argument to wheel fingerprint functions
329393
329394         · e558ddcb18 Add finger_master function to wheel.key module
329395
329396       · ISSUE #38595: (yue9944882) Redis ext job cache occurred error  (refs:
329397         #38610)
329398
329399       · PR  #38610: (yue9944882) Fix #38595 - Unexpected error log from redis
329400         retuner in master's log @ 2017-01-06 21:47:21 UTC
329401
329402         · b13cd1370f Merge pull request #38610 from yue9944882/2016.11
329403
329404         · 54325cf293 Fix #38595 - Unexpected error log from redis retuner  in
329405           master's log
329406
329407       · ISSUE  #36148:  (alex-zel)  Eauth  error  with openLDAP groups (refs:
329408         #38406)
329409
329410       · PR #38406: (alex-zel) Fix eauth  error  with  openLDAP/389  directory
329411         server groups @ 2017-01-06 21:40:30 UTC
329412
329413         · 179d385003       Merge      pull      request      #38406      from
329414           alex-zel/fix-eauth-groups-permissions
329415
329416         · 6b9e9d8f89 Fix  eauth  error  with  openLDAP/389  directory  server
329417           groups
329418
329419       · PR #38619: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329420         @ 2017-01-06 17:51:19 UTC
329421
329422         · 82e9b3d1a1 Merge pull request #38619 from rallytime/merge-2016.11
329423
329424         · 0efb2d844e Merge branch '2016.3' into '2016.11'
329425
329426           · da676cebd6 Merge pull request #38601 from terminalmage/pillar-get
329427
329428             · 8613d7254d pillar.get:  Raise  exception  when  merge=True  and
329429               default is not a dict
329430
329431           · 224fc7712a    Merge    pull   request   #38600   from   terminal‐
329432             mage/issue38459-2016.3
329433
329434             · 8a45b13e76 Avoid errors when sudo_user is set
329435
329436           · a376970f88     Merge      pull      request      #38589      from
329437             tobithiel/fix_rvm_rbenv_warning
329438
329439             · 9ec470b4a5  State  Gem:  fix  incorrect  warning  about missing
329440               rvm/rbenv
329441
329442           · 02e6a78254 Merge  pull  request  #38567  from  pass-by-value/pgj‐
329443             sonb_queue_changes_2016.3
329444
329445             · 67879ebe65 Create queue if one doesn't exist
329446
329447           · 0889cbdb31 Merge pull request #38587 from rallytime/fix-37498
329448
329449             · 2a5880966f  Change  daemontools __virtualname__ from service to
329450               daemontools
329451
329452       · PR  #38612:  (sjorge)  network.ifacestartswith  throws  exception  on
329453         Solaris-like platforms @ 2017-01-06 17:20:32 UTC
329454
329455         · f64e003a69       Merge      pull      request      #38612      from
329456           sjorge/2016.11-solaris-ifacestartswith
329457
329458         · 26fae54f5b network.ifacestartswith throws exception on Solaris-like
329459           platforms
329460
329461       · ISSUE  #37027:  (sjorge)  Solaris FQDN/UQDN and documentation/consis‐
329462         tancy (refs: #38615)
329463
329464       · PR #38615: (sjorge) add note related to  issue  #37027  @  2017-01-06
329465         16:38:34 UTC
329466
329467         · 5820ceee16  Merge  pull request #38615 from sjorge/2016.11-solaris‐
329468           docs
329469
329470         · fbdd32f46b add note related to issue #37027
329471
329472       · PR #38598: (terminalmage) Avoid errors when sudo_user is  set  (refs:
329473         #38600, #38599) @ 2017-01-05 23:16:22 UTC
329474
329475         · a27fdb46a7 Merge pull request #38598 from terminalmage/issue38459
329476
329477         · b37f7ffa38 Avoid errors when sudo_user is set
329478
329479       · PR  #38599:  (terminalmage) archive.extracted: Prevent traceback when
329480         state.single cannot be run @ 2017-01-05 23:16:11 UTC
329481
329482         · PR #38598: (terminalmage) Avoid errors when sudo_user is set (refs:
329483           #38600, #38599)
329484
329485         · d6b7019df6   Merge   pull   request  #38599  from  terminalmage/ar‐
329486           chive-results-handling
329487
329488         · 9aceb8186d archive.extracted: Prevent traceback  when  state.single
329489           cannot be run
329490
329491       · ISSUE #38517: (basdusee) Slack.py engine 100% CPU load due to missing
329492         time.sleep(1) (refs: #38520)
329493
329494       · PR #38520: (basdusee) Fix issue #38517, added time.sleep(1)  at  line
329495         227 in slack.py @ 2017-01-05 20:35:08 UTC
329496
329497         · d486b42ceb Merge pull request #38520 from basdusee/fix-issue-38517
329498
329499         · e3a883c915 Small fix on the fix regarding indentation
329500
329501         · 8adeae6f81  Fix  issue  #38517,  added time.sleep(1) at line 227 in
329502           slack.py engine.
329503
329504       · ISSUE #38485: (wasabi222) bgp.config not working (refs: #38499)
329505
329506       · PR #38577: (mirceaulinic)  Fix  function  headers  as  per  #38499  @
329507         2017-01-05 18:41:33 UTC
329508
329509         · PR #38499: (mirceaulinic) Fix #38485 (refs: #38577)
329510
329511         · 0706cde626 Merge pull request #38577 from cloudflare/PREP-2016.11.2
329512
329513         · 62bee3c793 Fix function headers as per #38499
329514
329515       · PR  #38578:  (mirceaulinic)  [2016.11] Port 5123f11 from develop into
329516         2016.11.2 @ 2017-01-05 18:11:12 UTC
329517
329518         · 55d1747792 Merge pull request #38578 from cloudflare/PORT-5123f1
329519
329520         · dea7866d57 Update net.load_template doc: 2016.11.2
329521
329522       · ISSUE #38462: (g-shockfx) Can`t add beacon memusage on Windows (refs:
329523         #38584)
329524
329525       · PR  #38584:  (rallytime)  Allow  memusage beacon to load on Windows @
329526         2017-01-05 18:08:30 UTC
329527
329528         · be69bafe6e Merge pull request #38584 from rallytime/fix-38462
329529
329530         · 1fe945df5e Allow memusage beacon to load on Windows
329531
329532       · PR #38570: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329533         (refs: #38585) @ 2017-01-05 14:28:38 UTC
329534
329535         · 14b643fd48 Merge pull request #38570 from rallytime/merge-2016.11
329536
329537         · 30f14d15df Merge branch '2016.3' into '2016.11'
329538
329539         · 7b74436d13     Merge    pull    request    #38562    from    rally‐
329540           time/arch-install-docs
329541
329542           · 8b1897ace9 Update arch installation  docs  with  correct  package
329543             name
329544
329545         · 01860702cb Merge pull request #38560 from Ch3LL/fix_api_log
329546
329547           · 1b45e9670b fix api logfile
329548
329549         · 0056620a53 Merge pull request #38531 from rallytime/bp-33601
329550
329551           · c36cb39825 remove the unnecessary double trigger
329552
329553           · 38414493bf fix spacing lint error
329554
329555           · 8c1defc710 Remove uncessary type from alias commands. Deduplicate
329556             alias  handling  to  autodetect  function  selection.  Add  error
329557             reporting  to slack connectivty problems. Cleanup slack's unicode
329558             conversion
329559
329560           · c2f23bc45e Fix slack engine to run on python2.6
329561
329562         · 50242c7f17 Merge pull request #38541 from techhat/issue38187
329563
329564           · eae3a435dd Strip user:pass from cached URLs
329565
329566         · 325dc56e59 Merge pull request #38554 from multani/fix/30454
329567
329568           · 2e7f743371 yaml: support unicode serialization/deserialization
329569
329570           · df76113c5c jinja: test the "yaml" filter with ordered dicts
329571
329572           · f7712d417f Revert "Add yaml_safe filter"
329573
329574         · 4ddbc2ecaa add note about pyVmomi locale workaround (#38536)
329575
329576         · 1c951d152b fix gce image bug (#38542)
329577
329578       · PR #38509: (mostafahussein) Stop request from being processed if  bad
329579         ip @ 2017-01-04 20:05:44 UTC
329580
329581         · 9a1550d336 Merge pull request #38509 from mostafahussein/2016.11
329582
329583         · 8847289c3e remove commented code
329584
329585         · 420817a963 Stop request from being processed if bad ip
329586
329587       · ISSUE  #38518:  (kkoppel)  slack_notify.call_hook  returns tracebacks
329588         (refs: #38522)
329589
329590       · PR  #38522:  (kkoppel)  Fix   usage   of   salt.utils.http.query   in
329591         slack_notify.call_hook @ 2017-01-04 20:04:57 UTC
329592
329593         · bc07d420e9 Merge pull request #38522 from kkoppel/fix-issue-38518
329594
329595         · ff1e7f0c71     Fix     usage     of     salt.utils.http.query    in
329596           slack_notify.call_hook
329597
329598       · ISSUE #38524: (rbjorklin) salt-api seems to ignore rest_timeout since
329599         2016.11.0 (refs: #38585, #38527)
329600
329601       · PR  #38527: (rbjorklin) salt-api no longer forces the default timeout
329602         (refs: #38585) @ 2017-01-04 17:10:15 UTC
329603
329604         · 42fef270ee Merge pull request #38527 from rbjorklin/api-timeout-fix
329605
329606         · 0202f68820 salt-api no longer forces the default timeout
329607
329608       · PR #38529: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329609         @ 2017-01-04 17:06:57 UTC
329610
329611         · 1895eb7533 Merge pull request #38529 from rallytime/merge-2016.11
329612
329613         · 85f470207c Merge branch '2016.3' into '2016.11'
329614
329615           · ec60f9c721 Merge pull request #38487 from gtmanfred/2016.3
329616
329617             · 048b9f6b9d add test
329618
329619             · c480c11528 allow spaces in cron env
329620
329621             · c529ec8c34 allow crons to have multiple spaces
329622
329623           · c5ba11b5e0 Merge pull request #38491 from gtmanfred/timing
329624
329625             · 79368c7528 Use UTC for timing in case timezone changes
329626
329627           · 86f0aa0bb3 Merge pull request #38503 from jinm/issue_38472_jinm
329628
329629             · 0cd9df299f Hash type fallback for file management
329630
329631           · ed2ba4bd1b  Merge  pull  request #38457 from bshelton229/git-lat‐
329632             est-head-bug
329633
329634             · 558e7a771a Stops git.latest checking for  local  changes  in  a
329635               bare repo
329636
329637           · 36e21b22cb  Merge  pull request #38385 from dragon788/2016.3-dou‐
329638             ble-dash
329639
329640             · 86c4b56f47 Newline for lint compat
329641
329642             · 9d9b686057 Address review comments, consistency of quotes
329643
329644             · df9bd5e7f9 Use unambigous long names with double dashes
329645
329646           · 59f2560d88 Merge pull request #38474 from cachedout/key_loop
329647
329648             · de504538e1 Allow an existing ioloop to be passed to salt-key
329649
329650           · 3d0c752acd Merge pull request #38467 from gtmanfred/2016.3
329651
329652             · 7b7c6b3878 file.line fail with mode=delete
329653
329654           · 940025d5c4     Merge      pull      request      #38434      from
329655             slinn0/issue_38433_fixes
329656
329657             · 22af87a3fc                       Fixes                      for
329658               https://github.com/saltstack/salt/issues/38433
329659
329660           · e5eb51255b Update deprecation notices to the correct  version  (‐
329661             #38421)
329662
329663           · 9ce53318df  file.managed: Fix failure when filename contains uni‐
329664             code chars (#38415)
329665
329666           · 2cdb59d055 Merge pull request #38419 from Ch3LL/fix_doc_scsi
329667
329668             · 234043b8bb fix scsci docs example
329669
329670       · PR #38539: (twangboy) Fix DSC LCM  Config  int  checks  @  2017-01-04
329671         16:56:27 UTC
329672
329673         · ec4f118ca2 Merge pull request #38539 from twangboy/dsc_int_checks
329674
329675         · 5657fd1956 Add repr flag for str
329676
329677         · aea4219502 Fix DSC LCM Config int checks
329678
329679       · PR  #38549: (meaksh) Adding multiple SUBVOLUME support and some fixes
329680         to the Snapper module @ 2017-01-04 15:32:30 UTC
329681
329682         · 53449c89a5 Merge  pull  request  #38549  from  meaksh/2016.11-snap‐
329683           per-multiple-subvolumen-support
329684
329685         · ef26e93bb7 Some fixes and pylint
329686
329687         · 1e6ba45db4 Fixes pre/post snapshot order to get the inverse status
329688
329689         · 68d5475c1f Fixing Snapper unit tests for SUBVOLUME support
329690
329691         · e9919a913f Removing posible double '/' from the file paths
329692
329693         · 8b4f87f226 Updating and fixing the documentation
329694
329695         · edea45272a Raises "CommandExecutionError" if snapper command fails
329696
329697         · 3841e1143b  Only include diff in the state response if include_diff
329698           is True
329699
329700         · 7803e7716c Adds multiple SUBVOLUME support to the Snapper module
329701
329702         · PR #38545: (rallytime) Move boto_vpc.describe_route_table  depreca‐
329703           tion version to Oxygen
329704
329705       · PR   #38471:   (twangboy)  Fix  Problem  with  win_service  module  @
329706         2017-01-01 20:30:21 UTC
329707
329708         · 5e80104a70 Merge pull request #38471 from twangboy/fix_win_service
329709
329710         · 810471b9cd Fix problem with some services getting access denied
329711
329712       · ISSUE #38485: (wasabi222) bgp.config not working (refs: #38499)
329713
329714       · PR #38499: (mirceaulinic) Fix  #38485  (refs:  #38577)  @  2017-01-01
329715         17:42:15 UTC
329716
329717         · 0a09049a2d Merge pull request #38499 from cloudflare/FIX-38485
329718
329719         · 18018139f3 Fix #38485
329720
329721       · PR  #38501:  (mvdwalle)  Do  not  assume  every  object is a server @
329722         2017-01-01 17:37:57 UTC
329723
329724         · 13f0b809df    Merge    pull    request     #38501     from     mvd‐
329725           walle/fix-gogrid-list-password
329726
329727         · bd7dee9a10 Do not assume every object is a server
329728
329729       · PR  #38461:  (anlutro)  Improvements/fixes  to  kapacitor task change
329730         detection @ 2016-12-29 17:08:47 UTC
329731
329732         · aa0c843553  Merge  pull  request  #38461   from   alprs/fix-kapaci‐
329733           tor_changes
329734
329735         · 52721e97d6 clean up and fix tests
329736
329737         · 8648775c2a if task is not defined, it's not up to date
329738
329739         · c3ab954c6e improvements/fixes to kapacitor task change detection
329740
329741       · PR  #38473:  (twangboy)  Change  OSX/OS  X  to macOS where possible @
329742         2016-12-29 16:35:11 UTC
329743
329744         · 2c51eb9d16 Merge pull request #38473 from twangboy/osx_to_macos
329745
329746         · e96bfe8fa2 Change OSX/OS X to macOS where possible
329747
329748       · PR #38412: (bbinet) Update PillarStack stack.py  to  latest  upstream
329749         version @ 2016-12-28 19:28:40 UTC
329750
329751         · 2497fb547e    Merge    pull   request   #38412   from   bbinet/pil‐
329752           larstack-updates
329753
329754         · b66b4bd060 Fix lint violations in stack.py
329755
329756         · 6a30fe6aeb Update PillarStack stack.py to latest upstream version
329757
329758       · PR #38456: (twangboy) Gate Windows Specific Salt Utils  @  2016-12-28
329759         18:44:33 UTC
329760
329761         · 5395d3210a Merge pull request #38456 from twangboy/gate_win_utils
329762
329763         · d34d110a84 Fix lint, fix boto module
329764
329765         · c20111142f Gate Windows Utils
329766
329767       · PR #38428: (gqgunhed) fixed typo: lq command-line syntax @ 2016-12-27
329768         15:42:02 UTC
329769
329770         · 7c7799162b Merge pull request #38428 from gqgunhed/fix_lq_typo
329771
329772         · d79d682e8b fixed typo: lq command-line syntax
329773
329774       · ISSUE #38443: (lorengordon) 2016.11 breaks  file.managed  on  Windows
329775         (refs: #38444)
329776
329777       · ISSUE  #34101:  (windoverwater)  archive.extracted  breakage  due  to
329778         2016.3.0 upgrade from 2015.8.10 (refs: #37368)
329779
329780       · PR #38444: (lorengordon) Adds new import required for extract_hash  @
329781         2016-12-27 15:37:20 UTC
329782
329783         · PR  #37368:  (terminalmage) Overhaul archive.extracted state (refs:
329784           #38444)
329785
329786         · f5984d0f81 Merge pull request #38444 from lorengordon/issue-38443
329787
329788         · b2925ad7b7 Adds new import required for extract_hash
329789
329790       · ISSUE #38071: (luochun-95) remote execute is very slow (refs: #38167)
329791
329792       · PR #38167: (cachedout) Kill  pkg_resources  for  CLI  tools  [DO  NOT
329793         MERGE] @ 2016-12-22 22:11:22 UTC
329794
329795         · 4c4f07ca4c    Merge    pull    request    #38167    from    cached‐
329796           out/no_pkg_resources
329797
329798         · ec6901720a Remove debugging
329799
329800         · f28e33b9b6 Remove from all but salt cli
329801
329802         · bb3af72317 Remove from salt-call
329803
329804         · c676846066 Kill pkg_resources for CLI tools
329805
329806       · PR #38417: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329807         @ 2016-12-22 19:00:44 UTC
329808
329809         · 2fc8c154af Merge pull request #38417 from rallytime/merge-2016.11
329810
329811         · efb8a8ddf5 Merge branch '2016.3' into '2016.11'
329812
329813         · 27253522c8 Improve pillar documentation (#38407)
329814
329815         · 423b1fddff Merge pull request #38398 from terminalmage/issue38372
329816
329817           · c80dbaa914 Fix call to file.get_managed in cron.file state
329818
329819         · 5a33d1e697 Fix http.query when result has no text (#38382)
329820
329821         · b74b5c7d38       Merge      pull      request      #38390      from
329822           meaksh/2016.3-fix-try-restart-for-autorestarting-on-SUSE-systems
329823
329824           · de6ec05ec0 add try-restart to fix autorestarting on SUSE systems
329825
329826         · 2c3a39760a    Merge    pull    request    #38221     from     Utah‐
329827           Dave/fix_default_returner
329828
329829           · 385640765b remove a blank line to satisfy linter
329830
329831           · 9c248aa14c validate return opt, remove default.
329832
329833           · 8bb37f9fe7 specify allowed types and default for "returner"
329834
329835           · 11863a4bfe add examples of default minion returners
329836
329837           · e7c6012655 add support for default returners using return
329838
329839       · PR #38342: (scthi) Bugfix ext pillar nodegroups @ 2016-12-22 16:47:42
329840         UTC
329841
329842         · bbc149c67f Merge pull  request  #38342  from  scthi/bugfix-ext-pil‐
329843           lar-nodegroups
329844
329845         · dba315c4b6 ext-pillar nodegroups works for all minions now.
329846
329847       · PR  #38403:  (terminalmage)  git_pillar: Document the transition from
329848         env to saltenv in the jinja context @ 2016-12-22 16:34:48 UTC
329849
329850         · 453476d982  Merge  pull  request  #38403  from   terminalmage/docu‐
329851           ment-saltenv
329852
329853         · 0a72e0f0be  git_pillar: Document the transition from env to saltenv
329854           in the jinja context
329855
329856       · ISSUE #38253: (gmacon) There was no error installing package  'setup‐
329857         tools'  although  it  does not show when calling 'pip.freeze'. (refs:
329858         #38354)
329859
329860       · PR #38354: (gmacon)  Use  --all  when  calling  pip.py  @  2016-12-20
329861         20:40:21 UTC
329862
329863         · 12436efb54 Merge pull request #38354 from gmacon/pip-freeze-all
329864
329865         · dca24b270e Use --all when calling pip.py
329866
329867       · PR #38348: (rallytime) Update autodoc topics for new modules added in
329868         2016.11 @ 2016-12-20 20:36:20 UTC
329869
329870         · 68430b1fa6    Merge    pull    request    #38348    from     rally‐
329871           time/mod-docs-2016.11
329872
329873         · b31c2412ca Add __iter__ and next options to doc/conf.py
329874
329875         · b8c16094c4  Revert  "Move  import/error messaging logic for snapper
329876           module into __virtual__()"
329877
329878         · 640db5b5ac Move import/error messaging  logic  for  snapper  module
329879           into __virtual__()
329880
329881         · 366271f459 Add snapper to state index doc module list
329882
329883         · 135d254c80 Remove netapi autodoc files: they should not be added as
329884           their doc structure is different
329885
329886         · 0006139aca Update autodoc topics for new modules added in 2016.11
329887
329888       · PR  #38377:  (DmitryKuzmenko)  Implementation  and  docs  for  Consul
329889         key-value  store plugin for minion data cache.  @ 2016-12-20 20:36:02
329890         UTC
329891
329892         · 6ee7b2bae7  Merge  pull  request  #38377  from  DSRCorporation/fea‐
329893           tures/consul_cache
329894
329895         · 6fb4430ae3  Configuration options and documentation for Consul data
329896           cache plugin.
329897
329898         · dad748f57a Data cache plugin configuration documentation.
329899
329900         · c7209cd90c Consul data cache plugin.
329901
329902       · PR #38373: (rallytime)  Back-port  #38212  to  2016.11  @  2016-12-20
329903         20:35:09 UTC
329904
329905         · PR #38212: (disaster123) ZMQ: add an option for zmq.BACKLOG to salt
329906           master (zmq_backlog) (refs: #38373)
329907
329908         · f6d1b559bc Merge pull request #38373 from rallytime/bp-38212
329909
329910         · 52fc6daac0 ZMQ: add  an  option  for  zmq.BACKLOG  to  salt  master
329911           (zmq_backlog)
329912
329913       · PR  #38374: (mirceaulinic) NAPALM proxy module: Fix optional_args key
329914         issue @ 2016-12-20 20:34:59 UTC
329915
329916         · 69c3f19fc1    Merge    pull    request    #38374    from     cloud‐
329917           flare/FIX-NAPALM-PROXY
329918
329919         · 44169315d8 Fix optional_args key issue
329920
329921       · ISSUE #38048: (ezh) [2016.11.0] Salt-cloud throws TypeError exception
329922         (refs: #38073)
329923
329924       · PR #38073: (ezh) 2016.11 @ 2016-12-20 14:51:11 UTC
329925
329926         · 530f495955 Merge pull request #38073 from doublescoring/2016.11
329927
329928         · 42d3d26f28 [38073] Fix test assertion
329929
329930         · 9b37ead913 Fix broken os.write without string.encode
329931
329932       · PR #38344: (bbinet) Fix influxdb_database.present state @  2016-12-20
329933         13:57:45 UTC
329934
329935         · 67908d5aba  Merge pull request #38344 from bbinet/fix-influx-creat‐
329936           edb
329937
329938         · c6b075d6f4 Fix influxdb_database.present state
329939
329940       · PR #38358: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
329941         @ 2016-12-20 00:11:48 UTC
329942
329943         · 04d6898958 Merge pull request #38358 from rallytime/merge-2016.11
329944
329945         · c6e191ad0d Remove doc markup references from 2016.11 branch
329946
329947         · 513058945c Merge branch '2016.3' into '2016.11'
329948
329949         · 09d9cff992   Merge   pull   request  #38288  from  terminalmage/ar‐
329950           chive-extracted-local-source-2016.3
329951
329952           · 845e3d0e75 Update tests to reflect change in cache behavior
329953
329954           · 5a08d7c70a archive.extracted: don't try to  cache  local  sources
329955             (2016.3 branch)
329956
329957         · bf37667f8a Merge pull request #38312 from cro/proxy_config_in_cfg
329958
329959           · 2006c4000e Typo
329960
329961           · 689d95b10f Backport feature allowing proxy config to live in pil‐
329962             lar OR /etc/salt/proxy.
329963
329964         · c83db5a785    Merge    pull    request    #38320    from     rally‐
329965           time/cleanup-doc-refs
329966
329967           · 62978cb7a0 Don't check the doc/conf.py file for doc markup refs
329968
329969           · 770e732d76 Add a unit test to search for new doc markup refs
329970
329971           · 5c42a361a0  Remove ":doc:" references from all doc/topics/instal‐
329972             lation/* files
329973
329974           · 23bce1c929  Remove   ":doc:"   references   from   all   doc/top‐
329975             ics/releases/* files
329976
329977           · 4aafa41d22 Remove ":doc:" references from a bunch of doc/* files
329978
329979           · 02bfe7912c Remove more ":doc:" references from doc/* files
329980
329981           · 6e32267d0c Remove ":doc:" references in salt/* files
329982
329983         · PR  #38285:  (terminalmage)  archive.extracted:  don't try to cache
329984           local sources
329985
329986       · PR #37947: (vutny) Fix salt-minion initscript  for  RHEL5  (SysV)  to
329987         pick up proper python version @ 2016-12-19 21:03:50 UTC
329988
329989         · 13414949e3  Merge  pull  request  #37947  from vutny/fix-rhel5-min‐
329990           ion-init
329991
329992         · c94e798b8a SysV init script for rpm: get and show unique PIDs only
329993
329994         · 8ff68c4128 Fix initscript for RHEL5 (SysV) to pick up proper python
329995           version
329996
329997       · PR #38106: (techhat) "test" is not necessarily in opts, for thorium @
329998         2016-12-19 14:40:32 UTC
329999
330000         · 4d072ca689 Merge pull request #38106 from techhat/stateget
330001
330002         · 5edc16f606 "test" is not necessarily in opts, for thorium
330003
330004       · PR #38333: (amendlik) Suppress errors when checking if an alternative
330005         exists @ 2016-12-19 13:40:49 UTC
330006
330007         · a01fade604  Merge pull request #38333 from amendlik/states-alterna‐
330008           tives
330009
330010         · 8bfcd5bcd5 Adjust alternatives test for updated error message
330011
330012         · 09dee3c611 Suppress errors when checking if an alternative exists
330013
330014       · PR #38340: (ewapptus) Backport PR #38251:  Fixed  nested  orchestrate
330015         not respecting failures @ 2016-12-19 13:31:16 UTC
330016
330017         · PR #38251: (ewapptus) Fixed nested orchestrate not respecting fail‐
330018           ures (refs: #38340)
330019
330020         · 15d3b476e9 Merge pull request #38340 from ewapptus/bp-38251
330021
330022         · 266e0a465c Fixed nested orchestrate not respecting failures
330023
330024       · PR #38229: (mcalmer) provide kwargs of sls_build to dockerng.create @
330025         2016-12-18 13:13:10 UTC
330026
330027         · ecd441d090   Merge   pull   request   #38229   from   mcalmer/dock‐
330028           erng-sls_build-kwargs
330029
330030         · e7292fabb7 make it explicit that we want to delete these keys
330031
330032         · 4c710139b5 use default values for pop() to prevent KeyError raised
330033
330034         · 455c18325c provide kwargs to dockerng.create to  provide  all  fea‐
330035           tures to sls_build as well
330036
330037       · ISSUE  #36204:  (stanvarlamov)  Salt-Cloud: salt.runners.cloud.create
330038         exits with True on Python process (ec2.py) exception (refs: #37333)
330039
330040       · PR #38309: (ewapptus) Backport PR #37333:  Fixed  state.salt.runner()
330041         reporting success on exceptions @ 2016-12-18 12:39:53 UTC
330042
330043         · PR  #37333:  (benediktwerner)  Fixed  state.salt.runner() reporting
330044           success on exceptions (refs: #38309)
330045
330046         · d2ce9c3e71 Merge pull request #38309 from ewapptus/bp-37333
330047
330048         · a2b1259671 Fixed display of errors
330049
330050         · 14a39f914e Fixed state.salt.runner return value on exceptions
330051
330052       · PR #38323: (rallytime) Update the Cloud Provider Specifics  links  in
330053         cloud docs @ 2016-12-18 12:30:49 UTC
330054
330055         · ebb9f6cbbc     Merge    pull    request    #38323    from    rally‐
330056           time/update-cloud-provider-links
330057
330058         · 022caf23e9 Update the Cloud Provider Specifics links in cloud docs
330059
330060       · PR #38324: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330061         @ 2016-12-18 12:30:26 UTC
330062
330063         · 5bd7471e30 Merge pull request #38324 from rallytime/merge-2016.11
330064
330065         · 5940db5b3f Merge branch '2016.3' into '2016.11'
330066
330067           · 6367ca7d2a Add nick to args for create_multi (#38281)
330068
330069           · 235682b1e6 Merge pull request #38313 from dragon788/2016.3-choco‐
330070             latey-fix
330071
330072             · 1f5fc17551 Use machine readable output for list
330073
330074             · cdbd2fbe3c Added limit-output to eliminate false packages
330075
330076           · 9e78ddc80e Merge pull request #38279 from rallytime/fix-38174
330077
330078             · 4a62d01577 Add docs for syndic_wait setting
330079
330080       · ISSUE #38246: (martintamare) Windows Minion unable to start via  nssm
330081         (refs: #38247)
330082
330083       · PR  #38325:  (rallytime)  Back-port  #38247  to  2016.11 @ 2016-12-18
330084         12:28:41 UTC
330085
330086         · PR #38247: (martintamare) fix(win_function): handle other  language
330087           (refs: #38325)
330088
330089         · 83523d2f73 Merge pull request #38325 from rallytime/bp-38247
330090
330091         · 4b6c5438e3 fix(win_functions): syntax
330092
330093         · e602f17e3d fix(win_function): handle other language
330094
330095       · ISSUE  #30195:  (Vaelatern)  Add  Void  Linux  support in Salt (refs:
330096         #31262, #38326)
330097
330098       · PR #38326: (yopito) fix runit init support (grain init) in 2016.11  @
330099         2016-12-18 12:07:25 UTC
330100
330101         · PR #31262: (Vaelatern) Add support for Void Linux (refs: #38326)
330102
330103         · 54a2bb95de       Merge      pull      request      #38326      from
330104           yopito/fix-runit-init-support
330105
330106         · 25b91bb686 fix detection of runit as init system (grain init)
330107
330108         · PR #38322: (rallytime) Add azurearm module to doc index
330109
330110       · PR #38305: (dereckson) Avoid normalization call for  normalized  mode
330111         value @ 2016-12-16 17:31:25 UTC
330112
330113         · 1e4f299e7d Merge pull request #38305 from dereckson/fix-mode-extra‐
330114           neous-normalization
330115
330116         · 573ac3565e Avoid normalization call for normalized mode value
330117
330118         · PR   #38291:   (terminalmage)   Improve   documentation   for   ar‐
330119           chive.extracted in 2016.11
330120
330121       · ISSUE  #37966:  (Cybolic)  salt-cloud EC2 instance can't be initiated
330122         (refs: #37967)
330123
330124       · PR #38298: (rallytime)  Back-port  #37967  to  2016.11  @  2016-12-16
330125         15:20:04 UTC
330126
330127         · PR  #37967:  (Cybolic)  Fixed faulty logic preventing instance ini‐
330128           tialisation. (refs: #38298)
330129
330130         · 3cf0135d50 Merge pull request #38298 from rallytime/bp-37967
330131
330132         · 42d367f39d Fixed faulty logic preventing instance initialisation.
330133
330134       · ISSUE #38070: (ezh) [2016.11.0] Salt-cloud throws  UnicodeDecodeError
330135         exception (refs: #38076)
330136
330137       · PR  #38076: (ezh) Fix decoding of broken string from remote sources @
330138         2016-12-15 19:05:25 UTC
330139
330140         · f4f0036f30   Merge   pull   request   #38076    from    doublescor‐
330141           ing/fix-2016.11-38070
330142
330143         · 70c8db5489 Fix decoding of broken string from remote sources
330144
330145       · PR  #38278:  (rallytime)  Back-port  #38207  to  2016.11 @ 2016-12-15
330146         18:09:27 UTC
330147
330148         · PR #38207: (tsaridas) remove empty strings from list but  not  ones
330149           with one empty space char (refs: #38278)
330150
330151         · PR  #38188:  (tsaridas)  fix  for  push_dir  in different OS (refs:
330152           #38203, #38207)
330153
330154         · 2ccab22c19 Merge pull request #38278 from rallytime/bp-38207
330155
330156         · 5e8bf571d8 python3 compatibility and fix pylint
330157
330158         · e0df047000 remove empty strings from list but  not  ones  with  one
330159           empty space char
330160
330161       · PR #38277: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330162         @ 2016-12-15 18:09:10 UTC
330163
330164         · a748e842a8 Merge pull request #38277 from rallytime/merge-2016.11
330165
330166         · 49a3355915 Merge branch '2016.3' into '2016.11'
330167
330168         · fc9e1dff35 Merge pull request #38248 from  meaksh/salt-api-success‐
330169           fully-close-child-processes
330170
330171           · ee6eae9855  Successfully  exit  of  salt-api child processes when
330172             SIGTERM.
330173
330174         · 3c718ed35e Merge pull request #38254  from  terminalmage/check-pil‐
330175           larenv
330176
330177           · fa9ad311c6 Also check if pillarenv is in opts
330178
330179         · 6b9060c38f  [2016.3]  Bump  latest  release version to 2016.11.1 (‐
330180           #38256)
330181
330182       · ISSUE #38231: (tjuup) Typo: salt-key deleteed (refs: #38232)
330183
330184       · PR #38232: (rallytime) Strip final 'e' in key cmd to  correct  "dele‐
330185         teed" misspelling @ 2016-12-15 10:38:49 UTC
330186
330187         · 0af343e71f Merge pull request #38232 from rallytime/fix-38231
330188
330189         · 26e1ee3650  Strip  final  'e' in key cmd to correct "deleteed" mis‐
330190           spelling
330191
330192       · ISSUE #38200: (sebw)  selinux.mode  doesn't  return  any  output  and
330193         doesn't persist (refs: #38236)
330194
330195       · PR #38236: (gtmanfred) SELINUXTYPE should not be changed @ 2016-12-15
330196         10:37:06 UTC
330197
330198         · 6c1ca9dae7 Merge pull request #38236 from gtmanfred/2016.11
330199
330200         · d1b070c894 clean up selinux unit test
330201
330202         · 96eabd4939 SELINUXTYPE should not be changed
330203
330204       · ISSUE  #38228:  (vquiering)  archive.extracted   with   options   and
330205         user/group (refs: #38262)
330206
330207       · PR  #38262:  (terminalmage)  Fix  archive.extracted  when  --strip or
330208         --strip-components is in the options @ 2016-12-15 08:57:18 UTC
330209
330210         · fd32dc3e9b Merge pull request #38262 from terminalmage/issue38228
330211
330212         · 6442f8a7b5 Add tests for --strip/--strip-components
330213
330214         · c502e68f12 Detect --strip/--strip-components  in  tar  options  and
330215           handle properly
330216
330217         · e95770594d Add strip_components arg to archive.list
330218
330219       · PR  #38264:  (mirceaulinic)  Port  #37862  into  2016.11 @ 2016-12-15
330220         08:51:20 UTC
330221
330222         · PR #37862: (mirceaulinic) [2016.11.1] Docstring fixes and new  fea‐
330223           tures for napalm_network (refs: #38264)
330224
330225         · b232bd8ce8 Merge pull request #38264 from cloudflare/PORT-37862
330226
330227         · 28bbb73151 Import from napalm_base instead of napalm
330228
330229         · 0a675afc40 Vice-versa docstring
330230
330231         · 09c50176e2 More docfix
330232
330233         · 215b8f38e2 Lint cleanup
330234
330235         · PR #38260: (rallytime) Add 2016.11.2 release notes
330236
330237         · PR  #38257:  (rallytime)  [2016.11]  Bump latest release version to
330238           2016.11.1
330239
330240         · PR  #38233:  (terminalmage)  Correct  an  inaccurate  warning  when
330241           top_file_merging_strategy == merge_all
330242
330243       · PR #38234: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330244         @ 2016-12-13 18:28:02 UTC
330245
330246         · ba62fcf2ec Merge pull request #38234 from rallytime/merge-2016.11
330247
330248         · 6a327d1367 Merge branch '2016.3' into '2016.11'
330249
330250         · 004e46afe7      Merge      pull      request      #38198       from
330251           vutny/unit-tests-require-libcloud-boto3
330252
330253           · a6098bac1a  Remove note about SaltTesting installation, now it is
330254             in the requirements
330255
330256           · 004bff113e Add missing requirements for running unit tests:  lib‐
330257             cloud and boto3
330258
330259         · 9d497bc74c Merge pull request #38213 from rallytime/skip-tls-test
330260
330261           · bdb807fc7c   Skip  test_cert_info  tls  unit  test  on  pyOpenSSL
330262             upstream errors
330263
330264         · 203109dd17      Merge      pull      request      #38224       from
330265           whiteinge/cors-options-unauthed
330266
330267           · de4d3227ab Allow CORS OPTIONS requests to be unauthenticated
330268
330269         · 721a5feccd       Merge      pull      request      #38223      from
330270           whiteinge/salt-api-root_dirs
330271
330272           · bfbf390c0e Add root_dir to salt-api file paths
330273
330274       · PR #38205: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330275         @ 2016-12-12 18:13:18 UTC
330276
330277         · 7ead1ed336 Merge pull request #38205 from rallytime/merge-2016.11
330278
330279         · e31f97cf71 Merge branch '2016.3' into '2016.11'
330280
330281         · 70f7d22ad6 Merge pull request #38191 from terminalmage/issue38162
330282
330283           · 1ae543a98a  Clarify  the  fact  that  git_pillar.update  does not
330284             fast-forward
330285
330286         · 28171cbfc5  Merge   pull   request   #38194   from   vutny/integra‐
330287           tion-test-requirements-doc
330288
330289           · e9f419ff64  Document  the  requirements  for running ZeroMQ-based
330290             integration tests
330291
330292         · a4ef037ab1 Merge pull request #38185 from rallytime/bp-38181
330293
330294         · 609f814454  Reset  socket  default  timeout  to  None  (fixes  dae‐
330295           mons_tests failures)
330296
330297       · PR  #38203:  (rallytime)  Back-port  #38188  to  2016.11 @ 2016-12-12
330298         17:48:51 UTC
330299
330300         · PR #38188: (tsaridas) fix  for  push_dir  in  different  OS  (refs:
330301           #38203, #38207)
330302
330303         · 669409d681 Merge pull request #38203 from rallytime/bp-38188
330304
330305         · 50d3200b12 removing not needed join
330306
330307         · 7af708e1e7 fix for push_dir in different OS
330308
330309   Salt 2016.11.3 Release Notes
330310       Version 2016.11.3 is a bugfix release for 2016.11.0.
330311
330312   Statistics
330313       · Total Merges: 137
330314
330315       · Total Issue References: 49
330316
330317       · Total PR References: 130
330318
330319       · Contributors:  47  (Ch3LL,  DmitryKuzmenko,  MTecknology,  The-Loeki,
330320         UtahDave, anlutro, arthru, axmetishe,  bailsman,  bobrik,  cachedout,
330321         clinta,  corywright,  cro,  dmaziuk,  dmitrievav,  dmurphy18, eliasp,
330322         eradman,  ezh,   gtmanfred,   hu-dabao,   hujunya,   isbm,   jak3kaj,
330323         janhorstmann, joe-niland, kevinanderson1, kstreee, l2ol33rt, lomeroe,
330324         mcalmer,   meaksh,   mirceaulinic,    morganwillcock,    nasenbaer13,
330325         nicholasmhughes,  rallytime,  sakateka,  sergeizv,  sjorge,  techhat,
330326         terminalmage, thatch45, toanju, twangboy, vutny)
330327
330328   Changelog for v2016.11.2..v2016.11.3
330329       Generated at: 2018-05-27 19:39:56 UTC
330330
330331       · PR #39536: (twangboy) Namespace 'status' functions in 'win_status'  @
330332         2017-02-21 23:45:31 UTC
330333
330334         · PR  #39005: (cro) Ungate the status.py module and raise unsupported
330335           errors in functions not executable on Windows. (refs: #39536)
330336
330337         · 40f72db53e Merge pull request #39536 from twangboy/fix_win_status
330338
330339         · d5453e2f9e Remove unused import (lint)
330340
330341         · 837c32e673 Remove list2cmdline
330342
330343         · c258cb3f73 Streamline wmic command returns for easier parsing
330344
330345         · 6d2cf8171e Fix 'ping_master' function
330346
330347         · d946d10597 Namespace 'status' functions in 'win_status'
330348
330349       · PR #39534: (rallytime) Fix breakage in aptpkg and dpkg execution mod‐
330350         ules @ 2017-02-21 20:31:15 UTC
330351
330352         · PR  #39418:  (anlutro) Allow aptpkg.info_installed on package names
330353           that aren't installed (refs: #39534)
330354
330355         · dc8f578447 Merge pull request #39534  from  rallytime/fix-pkg-func‐
330356           tion-specs
330357
330358         · d34a8fe9dc Fix breakage in aptpkg and dpkg execution modules
330359
330360       · ISSUE #34712: (richardscollin) Salt Test Suite Error - develop (refs:
330361         #37366)
330362
330363         · PR #39521: (vutny)  Upgrade  SaltTesting  to  run  test  suite  for
330364           2016.11 and add SaltPyLint
330365
330366         · PR  #37366:  (eradman) dev_python*.txt: use current SaltTesting and
330367           SaltPyLint modules (refs: #39521)
330368
330369       · PR #39370: (twangboy) Gate win_osinfo  and  winservice  @  2017-02-17
330370         23:53:58 UTC
330371
330372         · e4c71683d9 Merge pull request #39370 from twangboy/gate_win_utils
330373
330374         · 167cdb3447 Gate windows specific imports, add __virtual__
330375
330376         · e67387deb7 Add option to return a Non instantiated class
330377
330378         · 315b0cc105 Clarify return value for win_osinfo
330379
330380         · 994314ed3d Fix more docs
330381
330382         · 2bbe3cbf49 Fix some docs
330383
330384         · 4103563ee1       Merge       branch       'gate_win_utils'       of
330385           https://github.com/twangboy/salt into gate_win_utils
330386
330387           · 24c1bd079d Remove extra newlines
330388
330389         · 82a86ced55 Add helper function for winservice
330390
330391         · 0051b5a5e2 Put the win_osinfo classes in a helper function
330392
330393         · 4e08534877 Gate win_osinfo and winservice better
330394
330395       · PR  #39486:  (twangboy)   Remove   orphaned   function   list_config‐
330396         urable_policies @ 2017-02-17 22:21:50 UTC
330397
330398         · a3e71b6cce     Merge    pull    request    #39486    from    twang‐
330399           boy/win_remove_orphaned
330400
330401         · 1328055c4d Remove orphaned function list_configurable_policies
330402
330403       · PR #39418: (anlutro) Allow  aptpkg.info_installed  on  package  names
330404         that aren't installed (refs: #39534) @ 2017-02-17 18:34:19 UTC
330405
330406         · 87b269fc80       Merge      pull      request      #39418      from
330407           alprs/fix-aptpkg_info_nonexistent_pkg
330408
330409         · 246bf1e938 add failhard argument to various apt pkg functions
330410
330411       · PR #39438: (mirceaulinic) file.get_managed: refetch source when  file
330412         hashsum is changed @ 2017-02-17 17:58:29 UTC
330413
330414         · e816d6c23e Merge pull request #39438 from cloudflare/fix_39422
330415
330416         · 8453800639  file.get_managed:  refetch  cached  file  when  hashsum
330417           chnaged
330418
330419       · ISSUE #39203: (dmaziuk) salt.users gecos field (refs: #39432)
330420
330421       · PR #39432: (dmaziuk) Quick and dirty fix for GECOS fields  with  more
330422         than 3 commas @ 2017-02-17 17:57:30 UTC
330423
330424         · a5fe8f0fa6 Merge pull request #39432 from dmaziuk/issue39203
330425
330426         · 41c046308c Remove #
330427
330428         · 4f877c6b6f  Quick  and  dirty fix for GECOS fields with more than 3
330429           commas
330430
330431       · PR #39484: (corywright)  The  Reactor  docs  should  use  pillar='{}'
330432         instead of 'pillar={}' @ 2017-02-17 17:50:57 UTC
330433
330434         · 3665229a5a  Merge  pull  request  #39484  from corywright/fix-reac‐
330435           tor-docs-pillar-keyword-args
330436
330437         · cc90d0d53f The Reactor docs should use pillar='{}' instead of 'pil‐
330438           lar={}'
330439
330440       · PR   #39456:  (twangboy)  Add  salt  icon  to  buildenv  directory  @
330441         2017-02-16 22:47:58 UTC
330442
330443         · 2e3a9c5e58 Merge pull request #39456 from twangboy/win_fix_icon
330444
330445         · 8dd915dae4 Add salt icon to buildenv directory
330446
330447       · PR  #39462:  (twangboy)  Use  url_path  instead  of  url_data.path  @
330448         2017-02-16 22:44:18 UTC
330449
330450         · 63adc03484  Merge  pull  request #39462 from twangboy/win_fix_file‐
330451           client
330452
330453         · a96bc13133 Use url_path instead of url_data.path
330454
330455       · PR #39458: (rallytime) Fix more warnings in doc  build  @  2017-02-16
330456         21:45:52 UTC
330457
330458         · e9b034f02f     Merge    pull    request    #39458    from    rally‐
330459           time/fixup-more-doc-build-warnings
330460
330461         · e698bc3508 Fix more warnings in doc build
330462
330463       · PR #39437: (sakateka) Fixes about saltfile @ 2017-02-16 20:32:15 UTC
330464
330465         · e4f8c2bfb0      Merge      pull      request      #39437       from
330466           sakateka/fixes_about_saltfile
330467
330468         · ab68524d7a less pylint: salt/utils/parsers.py
330469
330470         · 9e7d9dcc78 Revert "pylint: salt/utils/parsers.py"
330471
330472         · f3f129c8f1 document ~/.salt/Saltfile
330473
330474         · 33f3614b1e pylint: salt/utils/parsers.py
330475
330476         · 0f36e10e7d expand config_dir and '~/.salt/Saltfile' as last resort
330477
330478         · PR #39451: (Ch3LL) add 2016.11.3 changelog to release notes
330479
330480       · ISSUE #38032: (meggiebot) Add missing Carbon docs (refs: #39448)
330481
330482       · PR  #39448:  (gtmanfred)  Add  release  notes for cisco proxy minions
330483         added in Carbon @ 2017-02-16 17:29:48 UTC
330484
330485         · 8e2cbd2307 Merge pull request #39448 from gtmanfred/2016.11
330486
330487         · 3172e88700 Add release notes for cisco proxy minions added in  Car‐
330488           bon
330489
330490       · PR #39428: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330491         @ 2017-02-16 00:01:15 UTC
330492
330493         · 070904b719 Merge pull request #39428 from rallytime/merge-2016.11
330494
330495         · 2acb188ac9 Change path value from a tuple to a list
330496
330497         · 6d78adbf08 Merge branch '2016.3' into '2016.11'
330498
330499           · 4ff13acf8b salt.fileserver.roots: Fix regression in  symlink_list
330500             (#39409)
330501
330502           · 8b8ab8ef8e    Merge    pull    request   #39362   from   dincami‐
330503             hai/cp-push-test-2016.3
330504
330505             · 91383c5a19 Add cp.push test
330506
330507           · 4b726f955b     Merge      pull      request      #39380      from
330508             joe-niland/quote-numeric-usernames
330509
330510             · c2edfdd464  Quote  numeric  user  names so pwd.getpwnam handles
330511               them properly
330512
330513           · 1116d32df9     Merge      pull      request      #39400      from
330514             meaksh/2016.3-fix-local-cache-issue
330515
330516             · e7e559ef5c  Prevents  'OSError'  exception in case path doesn't
330517               exist
330518
330519           · 6c854da1d4   Merge   pull   request   #39300    from    terminal‐
330520             mage/loader-optimization
330521
330522             · d3e5d1525e Replace more usage of str.format in the loader
330523
330524           · 5286b5ff1b Merge pull request #39337 from terminalmage/issue34428
330525
330526             · a7d2135dc2 Don't re-walk the roots fileserver in symlink_list()
330527
330528           · ce781deeb5 Merge pull request #39339 from cro/pillar_filetree_doc
330529
330530             · 410810cea2 Clarification on external pillar usage.
330531
330532           · fa3014393c  Document  the  upstream  RedHat bug with their pygit2
330533             package (#39316)
330534
330535       · ISSUE #39360: (bbinet) file.symlink should not try to  set  ownership
330536         to root:root (refs: #39364)
330537
330538       · PR  #39429:  (rallytime)  Back-port  #39364  to  2016.11 @ 2017-02-15
330539         21:27:21 UTC
330540
330541         · PR #39364: (gtmanfred) set default user variable to  the  user  cmd
330542           runs as (refs: #39429)
330543
330544         · 54a572e50c Merge pull request #39429 from rallytime/bp-39364
330545
330546         · 157f4dcdf9 set default user variable to the user cmd runs as
330547
330548       · PR  #39424:  (twangboy) Fix problem with too many connection attempts
330549         in Windows @ 2017-02-15 18:51:35 UTC
330550
330551         · 881ebf2e93 Merge pull request #39424 from twangboy/win_fix_dos
330552
330553         · d3f7dd7f50 Add sleep to eval_master
330554
330555       · ISSUE #30561: (jfindlay) salt-ssh  fails  with  IPv6  address  (refs:
330556         #39419, #38831)
330557
330558       · ISSUE #22984: (tomasfejfar) salt-ssh problem possibly related to ipv6
330559         (refs: #39419, #38831)
330560
330561       · PR #39419: (The-Loeki) Backport Salt-SSH  IPv6  fixes  to  2016.11  @
330562         2017-02-15 17:33:13 UTC
330563
330564         · PR  #38877:  (The-Loeki) Salt-SSH client: Don't overwrite self.host
330565           w/IPv6 brackets (refs: #39419)
330566
330567         · PR #38831: (The-Loeki) Salt-SSH deal with raw IPv6 addresses (refs:
330568           #39419, #38877)
330569
330570         · 47872355a8 Merge pull request #39419 from The-Loeki/bp-ssh-ipv6
330571
330572         · 4fc5626f16 Don't overwrite self.host w/IPv6 brackets
330573
330574         · dd1223468b Salt-SSH deal with raw IPv6 addresses
330575
330576       · PR #39379: (terminalmage) win_pkg: remove all installed versions when
330577         no explicit version passed @ 2017-02-14 18:41:28 UTC
330578
330579         · 878946d0f8 Merge pull request #39379 from terminalmage/issue34821
330580
330581         · fd9ab8e4e3 Remove extra newline
330582
330583         · 5871825b9e win_pkg: remove all installed versions when no  explicit
330584           version passed
330585
330586       · PR  #39392:  (anlutro)  Make  sure  OrderedDict order is preserved in
330587         nested output @ 2017-02-14 17:50:15 UTC
330588
330589         · caffef88cf Merge pull  request  #39392  from  alprs/fix-nested_out‐
330590           put_ordered_dict
330591
330592         · 625a770a23 make sure OrderedDict order is preserved in output
330593
330594       · PR #39378: (dmurphy18) Update make_repo in debbuild.py execution mod‐
330595         ule to utilize timeout @ 2017-02-14 17:10:15 UTC
330596
330597         · f2459e3ce8 Merge pull request #39378 from dmurphy18/deb_pkg_fix
330598
330599         · 4bd47cc18a Updated all make_repo loops to  use  timeout  value  for
330600           retries
330601
330602       · ISSUE  #39358:  (Kimamisa)  Backport  the  RDS fix  in  Carbon (refs:
330603         #39369)
330604
330605       · PR #39369: (rallytime)  Back-port  #37338  to  2016.11  @  2017-02-13
330606         21:41:19 UTC
330607
330608         · PR  #37338:  (bailsman) Fix wait_status in boto_rds.create() (refs:
330609           #39369)
330610
330611         · 99554d9d72 Merge pull request #39369 from rallytime/bp-37338
330612
330613         · 2e7f6e8e37 Fix wait_status in boto_rds.create()
330614
330615       · PR #39303: (kstreee) Removes a  redundant  test  case  after  removed
330616         'batch' in 'netapi'.  @ 2017-02-13 19:55:46 UTC
330617
330618         · 03ab8b1b5a   Merge   pull  request  #39303  from  kstreee/fix-test‐
330619           case-rm-batch-in-netapi
330620
330621         · 51972d0724 Removes a redundant test case after removed  'batch'  in
330622           'netapi'.
330623
330624       · PR  #39315:  (Ch3LL)  improve  salt-run  salt.cmd  test  @ 2017-02-13
330625         19:00:14 UTC
330626
330627         · 60640f77d7 Merge pull request #39315 from Ch3LL/fix_run_salt_test
330628
330629         · b3cbc5a408 improve salt-run salt.cmd test
330630
330631       · ISSUE #39243: (morganwillcock)  win_system.reboot:  can  return  True
330632         without rebooting (refs: #39311)
330633
330634       · PR  #39311:  (morganwillcock) win_system: return False from a skipped
330635         reboot @ 2017-02-13 18:59:11 UTC
330636
330637         · 2ca63a93cd   Merge   pull   request   #39311    from    morganwill‐
330638           cock/skip-reboot
330639
330640         · 0f3abb613d Clarify success for shutdown function
330641
330642         · dcb4d05275 win_system: return False from a skipped reboot
330643
330644       · PR  #39346:  (joe-niland)  Ignore  non-HTTP IIS bindings @ 2017-02-13
330645         18:18:36 UTC
330646
330647         · 082105fa84  Merge  pull   request   #39346   from   joe-niland/han‐
330648           dle-iis-bindings
330649
330650         · 8d5afdb0ae  win_iis  module: list_sites - when retrieving bindings,
330651           ignore bindigs whose protocols do not have host headers
330652
330653       · ISSUE #39321: (mgresser) Grain matching failing where grain value  is
330654         an INT (refs: #39361)
330655
330656       · PR  #39361:  (gtmanfred)  make  sure  both  variables are strings.  @
330657         2017-02-13 17:20:17 UTC
330658
330659         · a3a9a8e1ed Merge pull request #39361 from gtmanfred/2016.11
330660
330661         · ee2275ad67 make sure both variables are strings.
330662
330663         · PR #39341: (eliasp) Add creation/configuration of Salt PKI dirs  to
330664           hacking docs
330665
330666       · PR #39317: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330667         @ 2017-02-10 23:07:32 UTC
330668
330669         · ce1f01f81a Merge pull request #39317 from rallytime/merge-2016.11
330670
330671         · c1df446b7a Merge branch '2016.3' into '2016.11'
330672
330673         · 9de559ff4e Merge pull request #39313 from rallytime/merge-2016.3
330674
330675           · 0b8dddf12b Merge branch '2015.8' into '2016.3'
330676
330677           · fc551bcf5d Merge pull request #39293 from sergeizv/grammar-fix
330678
330679             · 70f2b586d3 Rewrap paragraph
330680
330681             · e6ab5178ea Grammar fix
330682
330683           · 8a1b45632a Merge pull request #39295 from sergeizv/typo-fix
330684
330685             · 5d9f36d58d Fix typo
330686
330687           · cfaafece34 Merge pull request #39296 from sergeizv/whitespace-fix
330688
330689             · 1d4c1dc140 Whitespace fix in docs Makefile
330690
330691           · 0b4dcf4a47 Merge pull request #39294 from sergeizv/fix-link
330692
330693             · 04bde6eed2 Fix link in proxyminion guide
330694
330695         · dd3ca0ecb0 Fix #38595 - Unexpected error log from redis retuner  in
330696           master's log (#39299)
330697
330698         · f16027d30e Merge pull request #39297 from cro/pg_returner_docs
330699
330700           · 28bac649ae Typo
330701
330702           · 19fedcdd23 Add doc to recommend pgjsonb for master job caches
330703
330704         · 77e50ed8b7  Merge  pull  request  #39286 from terminalmage/fix-pil‐
330705           larenv-precedence
330706
330707           · 3cb9833e57 Allow minion/CLI saltenv/pillarenv to override  master
330708             when compiling pillar
330709
330710         · 52440416ca Merge pull request #39221 from lvg01/fix-bug-39220
330711
330712           · e8a41d6341  Removes to early content stripping (stripping is all‐
330713             ready done when needed with ident:true), fixes #39220
330714
330715           · a4b169e0bd Fixed wrong logic, fixes #39220
330716
330717         · 5a27207c57 Add warning for Dulwich removal (#39280)
330718
330719       · ISSUE #38451: (ezh) 2016.11 file.replace has  multiple  errors  under
330720         python 3 (refs: #38464)
330721
330722       · PR  #38464:  (ezh)  [38451]  Fix  file.replace  2016.11  @ 2017-02-09
330723         23:07:49 UTC
330724
330725         · c3c621aab0   Merge   pull   request   #38464    from    doublescor‐
330726           ing/fix-2016.11-38451
330727
330728         · 81f0337338 [38451] Fix few bugs after review
330729
330730         · 1bdab253ad [38451] Fix pylint W1699(incompatible-py3-code)
330731
330732         · 3bfc6547da [38451] Fix file.replace to make it suitable to python 3
330733
330734       · PR  #39291:  (terminalmage) Add note about using saltenv jinja var in
330735         pillar top files @ 2017-02-09 21:43:50 UTC
330736
330737         · 6365211a6f Merge pull request #39291 from terminalmage/pillar-docs
330738
330739         · fbd551e069 Add note about using saltenv jinja  var  in  pillar  top
330740           files
330741
330742       · PR #39281: (twangboy) Require VCRedist on 2008R2 and below instead of
330743         2008 @ 2017-02-09 17:59:57 UTC
330744
330745         · a496ec2a16 Merge pull request #39281 from twangboy/win_installer
330746
330747         · ef5078729a Capitalize the 'r' for 2008R2
330748
330749         · 1b6bd634ac Require VCRedist on 2008R2 and below instead of 2008
330750
330751       · PR #39264: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330752         @ 2017-02-09 17:10:14 UTC
330753
330754         · db6140aa83 Merge pull request #39264 from rallytime/merge-2016.11
330755
330756         · a9c2c106c1 Pylint fix
330757
330758         · f6aad99db2 Merge branch '2016.3' into '2016.11'
330759
330760           · 1b9217d636  Update  jsonschema  tests  to reflect change in json‐
330761             schema 2.6.0 (#39260)
330762
330763           · c1d16cc3d0  Better  handling  of  enabled/disabled  arguments  in
330764             pkgrepo.managed (#39251)
330765
330766           · 8e88f71dd9    Merge    pull   request   #39227   from   terminal‐
330767             mage/loader-optimization
330768
330769             · c750662946 Loader optimzation
330770
330771           · bc89b297f8 Merge pull request #39228 from gtmanfred/2016.3
330772
330773             · afee047b08 default to utf8 encoding if not specified
330774
330775           · d9b0671dbd Merge  pull  request  #39231  from  terminalmage/clar‐
330776             ify-jenkins-depends
330777
330778             · ad1b1255f2 Add clarification for jenkins execution module
330779
330780           · ddcff89a84 Merge pull request #39232 from terminalmage/issue21342
330781
330782             · c88896c277 Avoid recursion in s3/svn ext_pillars
330783
330784           · ef4e437bbc Fix the win_ip_test failures (#39230)
330785
330786           · df5f934c34 Merge pull request #39199 from rallytime/bp-39170
330787
330788             · c129905310  Added missing source_hash_name argument in get_man‐
330789               aged function Additional fix to  #33187 Customer was still see‐
330790               ing  errors,  this  should  now work. Tested with 2015.8.13 and
330791               2016.11.2
330792
330793           · 2621c119fd   Merge   pull    request    #39206    from    cached‐
330794             out/issue_issue_37174
330795
330796             · be31e0559c Ignore empty dicts in highstate outputter
330797
330798           · dd440452ea    Merge    pull   request   #39209   from   terminal‐
330799             mage/sorted-envs
330800
330801             · e6dda4a625 Sort the return list from the fileserver.envs runner
330802
330803           · 7bed68743e [2016.3] Pylint fix (#39202)
330804
330805           · ab76054127 Merge pull request #39197 from cachedout/pr-38793
330806
330807             · f3d35fb5c6 Lint fixes
330808
330809             · 624f25b78d Fix for #38697
330810
330811       · ISSUE #39269: (alexharrington)  Remount  forced  with  lizardfs  fuse
330812         filesystem due to device missmatch (refs: #39276)
330813
330814       · ISSUE  #39106:  (carsten-AEI)  CVMFS  fuse mount gets remounted every
330815         time (refs: #39276)
330816
330817       · PR #39276: (gtmanfred) _device_mismatch_ignored will never be True  @
330818         2017-02-09 17:05:28 UTC
330819
330820         · 304eb19b18 Merge pull request #39276 from gtmanfred/2016.11
330821
330822         · 6635a9fd3b _device_mismatch_ignored will never be True
330823
330824       · PR  #39238:  (dmurphy18)  Update disk fstype, inodeusage, percent and
330825         mount.active functions for AIX support @ 2017-02-08 21:53:32 UTC
330826
330827         · 7611698474    Merge    pull    request    #39238     from     dmur‐
330828           phy18/fix_aix_disk_mount
330829
330830         · a8a519c493 Removed space for pylint
330831
330832         · 8fa0ffa427 Updates due to code review comments
330833
330834         · 97c59a8d1c Updated mount functionality for active on AIX
330835
330836         · 1a32b2cc89  Updated  disk  functionality  for fstype, inodeuage and
330837           percent on AIX
330838
330839       · PR #39233: (rallytime) Various doc updates to  fix  warnings  in  doc
330840         build @ 2017-02-08 19:29:53 UTC
330841
330842         · 99bfa7dfee     Merge    pull    request    #39233    from    rally‐
330843           time/fixup-more-doc-build-warnings
330844
330845         · 2f74dcf685 Various doc updates to fix warnings in doc build
330846
330847       · PR #39237: (axmetishe) fix rds subnet  group  creation  @  2017-02-08
330848         19:04:31 UTC
330849
330850         · 59e927b520 Merge pull request #39237 from axmetishe/2016.11
330851
330852         · 6f4be8b69c fix rds subnet group creation
330853
330854         · PR  #39234:  (rallytime)  [2016.11]  Merge  forward  from 2016.3 to
330855           2016.11
330856
330857         · PR #39225: (terminalmage) Put legacy git_pillar  on  a  deprecation
330858           path for Oxygen
330859
330860       · ISSUE  #39078: (morganwillcock) setup.py: cannot install without set‐
330861         ting global options (refs: #39180)
330862
330863       · PR #39180: (morganwillcock)  setup.py:  Remove  global  options  from
330864         install command @ 2017-02-07 16:20:49 UTC
330865
330866         · 19c3d90a32 Merge pull request #39180 from morganwillcock/setup
330867
330868         · d7e05091a2 Remove global options from Install
330869
330870       · PR  #38863:  (hujunya) fix django auth not work @ 2017-02-07 15:43:00
330871         UTC
330872
330873         · a0907bc861 Merge pull request #38863 from hujunya/fix_django_auth
330874
330875         · 2a99ff46d3 check if django_auth_path has been in sys.path
330876
330877         · 933ebf15d7 fix pylint violations
330878
330879         · 6b5a7f4b64 fix django auth not work
330880
330881       · PR #39198: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
330882         @ 2017-02-06 21:01:56 UTC
330883
330884         · c3e541e0a2 Merge pull request #39198 from rallytime/merge-2016.11
330885
330886         · 7ea5f7f82f Merge branch '2016.3' into '2016.11'
330887
330888           · fa45cbc359 Merge pull request #39166 from Ch3LL/fix_boto_ec2_docs
330889
330890             · 90af696331 fix boto ec2 module create_image doc
330891
330892           · a40cb46249  Merge pull request #39173 from rallytime/restore-com‐
330893             munity-docs
330894
330895             · 5aeddf42a0 Restore "Salt Community" doc section
330896
330897       · ISSUE #39059: (mirceaulinic) KeyError: 'multiprocessing' in the  mas‐
330898         ter logs (proxy minions) (refs: #39063)
330899
330900       · PR  #39063:  (mirceaulinic)  Avoid KeyError: 'multiprocessing' in the
330901         master logs @ 2017-02-06 19:37:35 UTC
330902
330903         · 2a85d73f59 Merge pull request #39063 from cloudflare/ISS-39059
330904
330905         · 7118eff034 Avoid KeyError: 'multiprocessing'
330906
330907       · ISSUE #38782: (lomeroe) win_lgpo unable to find  some  Administrative
330908         Template policies (refs: #38783, #39083, #39090)
330909
330910       · ISSUE  #38761: (DaveOHenry) Cannot apply state that contains lgpo.set
330911         (refs: #39083, #39088)
330912
330913       · ISSUE #38689: (lomeroe) win_lgpo state fails to set single policy due
330914         to case sensitive check (refs: #39083, #39084, #38690)
330915
330916       · ISSUE  #38100:  (skjaro)  Problem  with win_lgpo.py in salt 2016.11.0
330917         (refs: #39083, #39089, #38779)
330918
330919       · ISSUE #21485: (lorengordon) Feature  Request:  Manage  Windows  Local
330920         Security Policy Settings (refs: #36336)
330921
330922       · PR #39083: (lomeroe) Backport #36336 to 2016.11 @ 2017-02-06 18:50:52
330923         UTC
330924
330925         · PR #36336: (lomeroe) add additional  static  policies  to  computer
330926           configuration policy class (refs: #39083)
330927
330928         · 91c25bd651 Merge pull request #39083 from lomeroe/bp-36336
330929
330930         · 03e5319124 Merge branch '2016.11' into bp-36336
330931
330932         · 981ec89a4d update command line example to correct policy name
330933
330934         · e2574da0b8 Fix/Add documentation, 80 char line lengths
330935
330936         · 5e94a30a34 add additional static policies to computer configuration
330937           policy class duplicate code cleanup/misc code efficiencies
330938
330939       · PR #39153: (nicholasmhughes) Fix selinux.mode state config file  han‐
330940         dling @ 2017-02-06 18:37:34 UTC
330941
330942         · 30455079fe       Merge      pull      request      #39153      from
330943           nicholasmhughes/fix-selinux.mode-config-predictability
330944
330945         · 8d8ba9c7d2 added the new getconfig function to the test
330946
330947         · a6a24e1a1b Addressed edge case when attempting to  set  the  config
330948           file to 'Disabled'. The state should only check the file, since the
330949           in-memory setting won't disappear until after reboot.
330950
330951         · 6858658cc2 The selinux.mode state only checked the  current  status
330952           of  SELinux  in  memory  (getenforce)  when  determining if changes
330953           needed to be made. The /etc/selinux/config file could have  a  dif‐
330954           ferent  value,  and  it  would not be changed. This commit enhances
330955           idempotency of the state in regards to both the in-memory and  con‐
330956           figuration file enforcement of SELinux.
330957
330958       · ISSUE  #38081:  (haraldrudell)  x509  state or module cannot generate
330959         password protected private keys (refs: #39159)
330960
330961       · PR #39159: (clinta) Csr crl passphrase @ 2017-02-06 18:36:05 UTC
330962
330963         · 7b5eb17cbe Merge pull request #39159 from clinta/csr-crl-passphrase
330964
330965         · cf548ac717 Remove unnecessary pass
330966
330967         · 4ebf7a3df4 Remove unnecessary pass statement
330968
330969         · 6a8046970e fix csr bugs and pep8
330970
330971         · 36dcf5f3da only overwrite if overwrite option is specified
330972
330973         · 403000d375 recreate cert on bad password
330974
330975         · 6497094ba7 passphrase for crl
330976
330977         · 3ef809fb0f passphrase for csr
330978
330979       · PR  #39162:  (meaksh)  Adding  more  function  to  Snapper  module  @
330980         2017-02-06 18:33:53 UTC
330981
330982         · b240468525  Merge  pull  request  #39162  from  meaksh/snapper-mod‐
330983           ule-improvements
330984
330985         · f950732fa0 pylint fixes
330986
330987         · aa2f9906e0 Removing extra spaces
330988
330989         · 9d6a33f257 Adds 'snapper.create_config' unit tests
330990
330991         · d38ed505f8 Adds 'snapper.modify_snapshots' unit tests
330992
330993         · d5496ccc99 Adds 'snapper.delete_snapshots' unit tests
330994
330995         · 3eecb6076b Snapper: Adding support for creating configurations
330996
330997         · 041e54d42a Snapper: Adding support for snapshot metadata  modifica‐
330998           tion
330999
331000         · eaf5de9dce Snapper: Adding support for deleting snapshots
331001
331002       · ISSUE  #38370: (tjyang) Salt-Cloud: There was a query error: Required
331003         field "deviceChange" not provided (not @optional) (refs: #39171)
331004
331005       · PR #39171: (techhat) Raise an error for a disk size that is too small
331006         @ 2017-02-06 18:19:46 UTC
331007
331008         · 6f9251ebed Merge pull request #39171 from techhat/issue38370
331009
331010         · ec57a39c00 Typo
331011
331012         · 2ed2932387 Clean up debug logs
331013
331014         · 671282656a Raise an error for a disk size that is too small
331015
331016       · PR #39179: (mcalmer) fix error parsing @ 2017-02-06 17:57:00 UTC
331017
331018         · 036f36dc9b   Merge   pull  request  #39179  from  mcalmer/fix-dock‐
331019           erng-error-parsing
331020
331021         · 6750ccd78e fix error parsing
331022
331023       · PR #39189: (morganwillcock) Fix NetBSD sockstat parsing @  2017-02-06
331024         17:28:08 UTC
331025
331026         · 30f83156cb Merge pull request #39189 from morganwillcock/sockstat
331027
331028         · 344d13eff5 Fix NetBSD sockstat example
331029
331030         · 64b693195c Fix NetBSD sockstat parsing
331031
331032       · ISSUE  #38003:  (morganwillcock) salt.runners.cache functions seem to
331033         ignore minion targeting parameter (refs: #39141)
331034
331035       · PR #39141: (UtahDave) Don't overwrite the  minion_ids  var  that  was
331036         passed @ 2017-02-03 20:56:25 UTC
331037
331038         · 6a9704189f     Merge     pull    request    #39141    from    Utah‐
331039           Dave/fix_cache_lookup_ZD1187
331040
331041         · 0340614d15 return all minions' grains if no tgt
331042
331043         · f833bf3a79 Don't overwrite the minion_ids var that was passed
331044
331045       · PR #39164: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
331046         @ 2017-02-03 17:57:07 UTC
331047
331048         · d19cee716f Merge pull request #39164 from rallytime/merge-2016.11
331049
331050         · 6504bb6b02 Merge branch '2016.3' into '2016.11'
331051
331052           · 9de08af950 Apply fix from #38705 to 2016.3 branch (#39077)
331053
331054           · da3053ea9b update vmware getting started doc (#39146)
331055
331056           · e78ca0f575  Fixing  a weird edge case when using salt syndics and
331057             targetting via pillar.  Without this fix the  master  of  masters
331058             ends up in an infinite loop since the data returned from the min‐
331059             ions is differently structured than if a sync was not in use.  (‐
331060             #39145)
331061
331062           · cd8077ab81      Merge      pull      request      #38804     from
331063             alexbleotu/root_dir_fix-2016.3-gh
331064
331065             · b3bdd3b04a Add missing whiteline
331066
331067             · c7715acd53 Merge pull request #3 from cro/ab_rootdirfix
331068
331069               · e8cbafaaf1 When running testsuite, salt.syspaths.ROOT_DIR  is
331070                 often empty.
331071
331072             · b12dd44a26 Merge pull request #1 from cro/ab_rootdirfix
331073
331074               · bffc537aca  Remove extra if statements (rstrip will check for
331075                 the presence anyway).
331076
331077             · 97521b3468 Second attempt to  fix  prepending  of  root_dir  to
331078               paths
331079
331080           · 6ffeda3ee5  Clarify  ipv6 option for minion and inteface for mas‐
331081             ter, closes #39118 (#39131)
331082
331083           · 646b9ea4e5 Don't abort pillar.get with merge=True if  default  is
331084             None (#39116)
331085
331086       · PR  #39152:  (twangboy)  Remove  files  not  needed  by salt-minion @
331087         2017-02-03 17:11:11 UTC
331088
331089         · ed12512045 Merge pull request #39152 from twangboy/win_installer
331090
331091         · 5ff8a14317 Fix problem deleting files
331092
331093         · 4524dd49d4 Remove files not needed by salt-minion
331094
331095       · ISSUE #38691: (lomeroe) win_lgpo module throws a key error  when  run
331096         with return_not_configured=True (refs: #39085, #38666)
331097
331098         · PR #39085: (lomeroe) Backport #38666 to 2016.11
331099
331100         · PR  #38666:  (lomeroe)  correct  issue  when  running lgpo.get with
331101           return_not_configured=True (refs: #39085)
331102
331103         · PR #39086: (lomeroe) Backport #38165 to 2016.11
331104
331105         · PR #38165: (lomeroe) have _in_range_inclusive function  attempt  to
331106           convert a string to an i… (refs: #39086)
331107
331108       · ISSUE  #38241:  (frogunder) mine.get and salt-ssh gives error message
331109         (refs: #38970)
331110
331111       · PR #38970: (gtmanfred) when using local_cache we  have  to  pass  the
331112         list of minions @ 2017-02-02 19:24:39 UTC
331113
331114         · 4eec641b65 Merge pull request #38970 from gtmanfred/2016.11
331115
331116         · ebb9df3ec7  when using local_cache we have to pass the list of min‐
331117           ions
331118
331119       · ISSUE #39110: (morganwillcock) archive.extracted:  2016.11.2  returns
331120         state  failure  for  some  zip  formats,  if already extracted (refs:
331121         #39128)
331122
331123         · PR #39128: (terminalmage) Fix archive.list on Windows
331124
331125       · ISSUE saltstack/salt#36712: (dmitrievav)  s3.put  function  does  not
331126         create s3 bucket (refs: #36714)
331127
331128         · PR #39133: (rallytime) Back-port #36714 to 2016.11
331129
331130         · PR  #36714:  (dmitrievav)  s3.put  can't  create  s3  bucket (refs:
331131           #39133)
331132
331133       · ISSUE #38689: (lomeroe) win_lgpo state fails to set single policy due
331134         to case sensitive check (refs: #39083, #39084, #38690)
331135
331136         · PR #39084: (lomeroe) Backport #38690 to 2016.11
331137
331138         · PR  #38690:  (lomeroe)  correct checking of policy_class to compare
331139           with lower() version of t… (refs: #39084)
331140
331141       · ISSUE #38100: (skjaro) Problem with  win_lgpo.py  in  salt  2016.11.0
331142         (refs: #39083, #39089, #38779)
331143
331144         · PR #39089: (lomeroe) Backport #38779 to 2016.11
331145
331146         · PR  #38779:  (lomeroe)  win_lgpo handle errors when 'encoding="uni‐
331147           code"' exists in ADMX file (refs: #39089)
331148
331149       · ISSUE #38782: (lomeroe) win_lgpo unable to find  some  Administrative
331150         Template policies (refs: #38783, #39083, #39090)
331151
331152         · PR #39090: (lomeroe) Backport  #38783 to 2016.11
331153
331154         · PR  #38783:  (lomeroe) Perform a "starts-with" search to match ADML
331155           text names (refs: #39090)
331156
331157       · ISSUE #38761: (DaveOHenry) Cannot apply state that contains  lgpo.set
331158         (refs: #39083, #39088)
331159
331160         · PR #39088: (lomeroe) Backport  #37262 to 2016.11
331161
331162         · PR  #37262:  (lomeroe)  correct  issues  in  win_lgpo module (refs:
331163           #39088)
331164
331165       · PR #39122: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
331166         @ 2017-02-01 21:41:59 UTC
331167
331168         · 50d72da3f6 Merge pull request #39122 from rallytime/merge-2016.11
331169
331170         · a782b00ee1 Merge branch '2016.3' into '2016.11'
331171
331172         · cc9b69b6bc    Merge    pull    request    #39091   from   terminal‐
331173           mage/update-test-valid-docs
331174
331175           · d76f0380d0 add debug logging for batch vars
331176
331177           · b4afea2a25 Don't fail test if data is empty
331178
331179           · b3a5d549c1 Account for trimmed value in 'salt -d' output
331180
331181           · 909916c78e Run test_valid_docs in batches
331182
331183         · bcee3d1ef6  Move  fileclient   tests   to   tests/integration/file‐
331184           server/fileclient_test.py (#39081)
331185
331186         · 122422bc08 Bump openstack deprecation notice to Oxygen (#39067)
331187
331188       · PR #39087: (lomeroe) Backport #37375 to 2016.11 @ 2017-02-01 19:02:58
331189         UTC
331190
331191         · PR #37375: (lomeroe) add updating gpt.ini file  when  ADM  template
331192           policies are modified (gp… (refs: #39087)
331193
331194         · f8a6863d98 Merge pull request #39087 from lomeroe/bp-37375
331195
331196         · c3aaa536f3  _in_range_inclusive  class  method  incorrectly  called
331197           isinstance
331198
331199         · ce263f9372 set_computer_policy and set_user_policy  call  "set"  by
331200           the  original  function  name (set) instead of the aliased function
331201           name set_
331202
331203         · ff7d74bfb0 correct tool extension guid for user registry policies
331204
331205         · 08f0078ef3 spelling correction
331206
331207         · 5fc40485f7 add updating gpt.ini file when ADM template policies are
331208           modified (gpt.ini file must exist with proper data for ADM policies
331209           to apply)
331210
331211       · PR #39094: (rallytime) Add a bunch of missing doc module references @
331212         2017-02-01 18:56:27 UTC
331213
331214         · c4c6e701af Merge pull request #39094 from rallytime/doc-build-warn‐
331215           ings
331216
331217         · b866427f59 Add a bunch of missing doc module references
331218
331219       · PR #39108:  (janhorstmann)  [Bugfix]  Fix  state  x509.crl_managed  @
331220         2017-02-01 18:32:43 UTC
331221
331222         · d302bb747e     Merge     pull     request    #39108    from    jan‐
331223           horstmann/fix-x509-state
331224
331225         · 9f5c532510 [Bugfix] Fix state x509.crl_managed
331226
331227       · ISSUE #39100: (whytewolf) salt-run fileserver.update Exception (refs:
331228         #39107)
331229
331230       · ISSUE  #39098:  (FraaJad)  state.event  runner  fails with TypeError:
331231         argument of type 'NoneType' is not iterable  (refs: #39107)
331232
331233       · ISSUE #38638: (mirceaulinic) salt.cmd runner  raises  TypeError  when
331234         function returns bool (refs: #39107)
331235
331236       · PR  #39107:  (mirceaulinic)  Check  if  data['return'] is dict type @
331237         2017-02-01 18:21:46 UTC
331238
331239         · bf61ec9515 Merge pull request #39107 from cloudflare/FIX-38638
331240
331241         · 7c34815979 Check if data['return'] is dict type
331242
331243       · ISSUE #39065: (jak3kaj) primary bonding option is not applied  (refs:
331244         #39068, #39069)
331245
331246         · PR #39069: (jak3kaj) Update primary bonding option in rh_ip.py
331247
331248       · ISSUE  #39065: (jak3kaj) primary bonding option is not applied (refs:
331249         #39068, #39069)
331250
331251         · PR #39068: (jak3kaj) Update primary bonding option in debian_ip.py
331252
331253       · ISSUE #38704: (nasenbaer13)  Archive  extracted  fails  when  another
331254         state run is queued (refs: #38705)
331255
331256       · PR  #39076: (terminalmage) Re-submit PR #38705 against 2016.11 branch
331257         @ 2017-01-31 20:11:55 UTC
331258
331259         · PR #38705: (nasenbaer13) Fix for #38704 archive extracted and dock‐
331260           erio states (refs: #39077, #39076)
331261
331262         · 9836d7dd29 Merge pull request #39076 from terminalmage/pr-38705
331263
331264         · 15db8d47ed Fix for #38704 archive extracted and dockerio states
331265
331266       · ISSUE   #39057:   (sergeizv)  modules.linux_lvm.fullversion  provides
331267         incomplete info (refs: #39058)
331268
331269       · PR  #39058:  (sergeizv)  Fix   salt.modules.linux_lvm.fullversion   @
331270         2017-01-31 19:01:12 UTC
331271
331272         · 86b4b77bfe Merge pull request #39058 from sergeizv/fix-lvm-fullver‐
331273           sion
331274
331275         · e46c89f9ed Fix salt.modules.linux_lvm.fullversion
331276
331277         · fb7ef99838 Fix mock emulating lvm version
331278
331279       · ISSUE #39051: (afletch) salt.roster.cache / salt.utils.cloud  is_pub‐
331280         lic_ip - incorrect public IP address (refs: #39066)
331281
331282       · PR  #39066:  (techhat)  127.0.0.0/8  is  all  loopback  @  2017-01-31
331283         18:43:22 UTC
331284
331285         · 721b245f90 Merge pull request #39066 from techhat/issue39051
331286
331287         · ea43bb8101 127.0.0.0/8 is all loopback
331288
331289       · ISSUE #39070: (sergeizv) modules.linux_lvm.pvcreate misbehaves if all
331290         submitted devices are already LVM PVs (refs: #39071)
331291
331292       · PR  #39071: (sergeizv) Fix modules.linux_lvm.pvcreate on existing LVM
331293         PVs @ 2017-01-31 18:36:54 UTC
331294
331295         · c54d9f4e2a Merge pull request #39071 from sergeizv/fix-lvm-pvcreate
331296
331297         · f1e3e86e6a Fix modules.linux_lvm.pvcreate on existing LVM PVs
331298
331299         · 0f84ca2487 Add test for modules.linux_lvm.pvcreate on existing  LVM
331300           PVs
331301
331302         · 3967992bfd Fix test for modules.linux_lvm.pvcreate
331303
331304       · PR #39048: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
331305         @ 2017-01-31 15:55:49 UTC
331306
331307         · 88b171f863 Merge pull request #39048 from rallytime/merge-2016.11
331308
331309         · b2b3989773 Merge branch '2016.3' into '2016.11'
331310
331311           · a24af5ac46 Merge pull request #39047 from rallytime/merge-2016.3
331312
331313             · b732a1f646 Merge branch '2015.8' into '2016.3'
331314
331315             · 56ccae6ff7 Add 2015.8.14 release notes file (#39046)
331316
331317             · 5943fe65d3 Update 2015.8.13 release notes (#39037)
331318
331319           · fef1b1133d Add 2016.3.6 release notes file (#39045)
331320
331321           · 7c43f4ac32 [2016.3] Update release numbers for doc build (#39042)
331322
331323           · ff324599d5 Update 2016.3.5 release notes (#39038)
331324
331325           · 5b09dc4198 Merge  pull  request  #39028  from  terminalmage/clar‐
331326             ify-delimiter-argument
331327
331328             · f29ef071f3 Clarify delimiter argument
331329
331330           · 1ff359fa58  Add CLI Example for rest_sample_utils.get_test_string
331331             function (#39030)
331332
331333           · f13fb9ef1e Enable __proxy__ availability  in  states,  highstate,
331334             and utils. Enable __utils__ availability in proxies. (#38899)
331335
331336         · PR #39035: (cro) Add CLI Examples so tests will pass
331337
331338         · PR #39044: (rallytime) Add 2016.11.3 release notes file
331339
331340         · PR  #39040:  (rallytime)  [2016.11]  Update release numbers for doc
331341           build
331342
331343         · PR #39039: (rallytime) Update 2016.11.2 release notes
331344
331345         · PR #39005: (cro) Ungate the status.py module and raise  unsupported
331346           errors in functions not executable on Windows. (refs: #39536)
331347
331348       · PR  #39012: (terminalmage) Fix "invalid lexer" errors in docs build @
331349         2017-01-28 06:47:45 UTC
331350
331351         · e70904c480   Merge   pull    request    #39012    from    terminal‐
331352           mage/invalid-lexer
331353
331354         · 868001baac Fix "invalid lexer" errors in docs build
331355
331356       · PR #39003: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
331357         @ 2017-01-28 00:09:09 UTC
331358
331359         · cea0f32936 Merge pull request #39003 from rallytime/merge-2016.11
331360
331361         · 76e95087fd Merge branch '2016.3' into '2016.11'
331362
331363         · da96221741   Merge   pull   request   #38951    from    DSRCorpora‐
331364           tion/bugs/37938_fix_depends_decorator_memleak
331365
331366           · 0b18f34678  Keep  the  only  one  record  per  module-function in
331367             depends decorator.
331368
331369         · 85165edb70 Merge pull request #38982 from rallytime/fix-34780
331370
331371           · 1583c5579a Set response when using "GET" method in s3 utils
331372
331373         · cfdbc99e12   Merge   pull   request    #38989    from    alprs/doc‐
331374           fix-state_pt3_environ
331375
331376           · 52a9ad1c60 fix SLS in environment variable examples
331377
331378         · 55e4d2572e  Merge  pull  request  #39000  from  rallytime/skip-bad‐
331379           load-test
331380
331381           · 4b3ff0fe0f Skip the test_badload test until Jenkins move is  com‐
331382             plete
331383
331384         · fe054eb772  Merge  pull  request  #38995 from terminalmage/fix-pil‐
331385           lar.item-docstring
331386
331387           · 06d094dd8f Fix pillar.item docstring
331388
331389       · ISSUE #38853: (bobrik) file.serialize still expects show_diff instead
331390         of show_changes (refs: #38908)
331391
331392       · PR  #38908:  (bobrik) Deprecate show_diff for file.serialize to mimic
331393         file.managed, closes #38853 @ 2017-01-27 17:15:37 UTC
331394
331395         · 58543d5cbf      Merge      pull      request      #38908       from
331396           bobrik/show-changes-for-serialize
331397
331398         · e0af212c1b Remove unnecessary blank lines
331399
331400         · a08c1ca530   Deprecate   show_diff   for  file.serialize  to  mimic
331401           file.managed, closes #38853
331402
331403       · ISSUE saltstack/salt-bootstrap#1021: (sjorge) salt-bootstrap  missing
331404         salt-api.xml on smartos (refs: #38978)
331405
331406       · PR  #38978: (sjorge) fixes saltstack/salt-bootstrap#1021 @ 2017-01-27
331407         17:05:10 UTC
331408
331409         · 4b75dfac95 Merge pull request #38978 from sjorge/2016.11-bootstrap
331410
331411         · 26eb35f99d fixes salt/salt-bootstrap`#1021`_
331412
331413       · PR #38991: (isbm) Isbm zypper state unknown pkg  crash  @  2017-01-27
331414         16:59:38 UTC
331415
331416         · b40f369d98   Merge   pull   request   #38991   from  isbm/isbm-zyp‐
331417           per-state-unknown-pkg-crash
331418
331419         · 35f620e1c8 Prevent crash on unknown to the repo package
331420
331421       · PR #38979: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
331422         @ 2017-01-26 22:56:13 UTC
331423
331424         · 3e76662166 Merge pull request #38979 from rallytime/merge-2016.11
331425
331426         · fdaa5ac1b0 Merge branch '2016.3' into '2016.11'
331427
331428         · b66b6f6423 Merge pull request #38950 from mbom2004/2016.3
331429
331430           · c09f39d6c9 Remove unused json import
331431
331432           · 249efa3068 Fixed Logstash Engine in file logstash.py
331433
331434         · a6c6e47842  Handle  changing "is_default" value in moto package for
331435           boto test mock (#38973)
331436
331437         · b965b5dcc2 Merge pull request #38952 from terminalmage/zd1168
331438
331439           · 6b014e53fc Rename on_demand_pillar to on_demand_ext_pillar
331440
331441           · d216f90c63 Document new on_demand_pillar option and add to config
331442             template
331443
331444           · 426b20f02f  Add  documentation for on-demand pillar to pillar.ext
331445             docstring
331446
331447           · 7b10274b6b Make on-demand ext_pillars tunable
331448
331449           · d54723ccae Add on_demand_pillar config option
331450
331451         · 2c4ad85a78  Merge  pull  request  #38948  from  rallytime/bump-tem‐
331452           plate-context-deprecation
331453
331454           · 749e0031d7  Bump the template context deprecation version to Oxy‐
331455             gen
331456
331457         · e4514ca7d8 Merge pull request #38946 from rallytime/bp-37632
331458
331459           · ee37cdace9 Fix some lint
331460
331461           · c08071e182 Fix versions report for server OSs
331462
331463         · 953a20350a Merge pull request #38913 from Adaephon-GH/patch-1
331464
331465           · e2f4a16fdd Removing trailing whitespace
331466
331467           · 616292c6b1 Ignore plist files without Label key
331468
331469         · 826dce1059 Merge pull request #38917 from twangboy/update_jinja_mac
331470
331471           · 62e608b627 Update Jinja2 to 2.9.4
331472
331473         · b27733cc33 Merge pull request #38925 from terminalmage/issue38540
331474
331475           · 76392fc6ad Fix traceback when a netapi module uses wheel_async
331476
331477           · bd4474fa62 Fix 'success' value for wheel commands
331478
331479         · 618596f0cc Merge pull request #38926 from gtmanfred/2016.3
331480
331481           · 9cae953c93 add note about pysss for pam eauth
331482
331483       · PR #38937: (arthru) Fix smtp ret require gnupg @ 2017-01-26  20:08:16
331484         UTC
331485
331486         · 0660cc3cf2     Merge     pull    request    #38937    from    Hash‐
331487           BangDev/fix-smtp-ret-require-gnupg
331488
331489         · 399556b9fe Remove trailing whitespace
331490
331491         · f308d13a17 log an error on gnupg  absence  instead  of  raising  an
331492           exception
331493
331494         · 0427879d19 fails if gpgowner is set in smtp returner config but the
331495           installation lacks gnupg module
331496
331497         · 27449c5a9b smtp returner does not require gnupg to be installed
331498
331499       · ISSUE #38816: (grichmond-salt) Errors in cloud runners are not  reli‐
331500         ably being captured as failures. (refs: #38955)
331501
331502       · PR  #38955: (techhat) Do a better job at error detection in runners @
331503         2017-01-26 20:00:18 UTC
331504
331505         · d947c5c449 Merge pull request #38955 from techhat/issue38816
331506
331507         · ea8654f400 Typo
331508
331509         · 94050ff716 Watch out for bools
331510
331511         · 0142b0bcb3 Do a better job at error detection in runners
331512
331513       · PR #38953: (thatch45) fix an issue where thorium would remove keys of
331514         reattaching minions @ 2017-01-26 19:15:59 UTC
331515
331516         · 04a5b05c36 Merge pull request #38953 from thatch45/thorium_keyfix
331517
331518         · 68e96b11ac This is faster and cleaner
331519
331520         · 13d28a34a6  fix  an  issue where thorium would remove keys of reat‐
331521           taching minions
331522
331523         · PR   #38972:   (rallytime)   Add   CLI   Example   for    rest_sam‐
331524           ple_utils.get_test_string function (refs: #39030)
331525
331526       · PR  #38957:  (mcalmer)  Fix  timezone  handling for rpm installtime @
331527         2017-01-26 18:41:15 UTC
331528
331529         · 27166fad4e      Merge      pull      request      #38957       from
331530           mcalmer/fix-rpm-install_date-timezone
331531
331532         · c7da9f87b6 Fix timezone handling for rpm installtime
331533
331534       · PR  #38965:  (toanju) salt-cloud will use list_floating_ips for Open‐
331535         Stack @ 2017-01-26 16:44:12 UTC
331536
331537         · PR #34280: (kevinanderson1) salt-cloud will  use  list_floating_ips
331538           for Openstack (refs: #38965)
331539
331540         · ec690a0a12 Merge pull request #38965 from toanju/2016.11
331541
331542         · 1253ce9b63 salt-cloud will use list_floating_ips for OpenStack
331543
331544       · PR  #38949: (clinta) Use signing passphrase as public passphrase when
331545         generating self-sign… @ 2017-01-25 20:20:58 UTC
331546
331547         · d906e8fadb      Merge      pull      request      #38949       from
331548           clinta/x509-passphrase-bug
331549
331550         · c8697e38a8  Use signing passphrase as public passphrase when gener‐
331551           ating self-signed certificates
331552
331553       · PR  #38929:  (MTecknology)  Fix  psutil  regressions  in  2016.11   @
331554         2017-01-25 20:17:41 UTC
331555
331556         · de3b2cc97b Merge pull request #38929 from MTecknology/2016.11
331557
331558         · 73a8c6d121 Load core grains only if required.
331559
331560         · 4966011cb5 Modules might still be needed, even if psutil loads.
331561
331562         · fb0432fd21 Fixes a regression with old versions of python-psutil.
331563
331564       · PR  #38940:  (isbm)  Isbm  sanitizers  fix and unit test @ 2017-01-25
331565         20:15:56 UTC
331566
331567         · 3ec806c003  Merge  pull  request  #38940  from   isbm/isbm-sanitiz‐
331568           ers-fix-and-unit-test
331569
331570         · a112b790fe Fix typo
331571
331572         · 47a16916c3 Add unit test
331573
331574         · 046c5436eb Fix leading dots on sanitized hostname
331575
331576       · PR #38944: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
331577         @ 2017-01-25 19:44:42 UTC
331578
331579         · e420763285 Merge pull request #38944 from rallytime/merge-2016.11
331580
331581         · ee33a53a64 Merge branch '2016.3' into '2016.11'
331582
331583           · 405d86a2ca Merge pull request #38847 from terminalmage/issue38825
331584
331585             · 11a47803ce Use log.exception() instead
331586
331587             · e40fac589a Catch MinionError in file.source_list
331588
331589           · b5df104fc2 Merge pull request #38875 from terminalmage/issue36121
331590
331591             · fbc4d2a2c4 reactor: ensure glob_ref is a string
331592
331593             · 2e443d79a3 cp.cache_file: add note re: return  for  nonexistant
331594               salt:// path
331595
331596           · e9ebec4d80      Merge      pull      request      #38890     from
331597             cro/vmware_reset_vm_20163
331598
331599             · 0146562fb4 Call correct function for resetting a VM
331600
331601           · c3fbfcd231 Merge pull request #38883 from techhat/dontrequire
331602
331603             · 67bc4d6687 Don't require text_out path to exist
331604
331605           · 6430a45196   Merge   pull   request   #38851    from    terminal‐
331606             mage/docker-py-2.0
331607
331608             · 3c061b21fe Support docker-py 2.0 in dockerng
331609
331610           · ac8008d843  Merge  pull  request  #38844 from cachedout/http_mem‐
331611             ory_leak
331612
331613             · c46bf85518 Fix memory leak in HTTP client
331614
331615           · dfe6dfe963 Merge pull request #38823 from gtmanfred/2016.3
331616
331617             · f0a71e8707 pass pillar to compound matcher in match module
331618
331619           · a04ab86da1     Merge      pull      request      #38833      from
331620             Ch3LL/add_release_notes_2016.3.5
331621
331622           · 374dc1ab88 skip 2016.3.5 due to :doc: references
331623
331624           · 31f324c4ff add 2016.3.5 changelog to release notes
331625
331626       · ISSUE  #38753:  (alexbleotu)  __proxy__  dunder  is not injected when
331627         invoking the salt  variable  in  sls  files  (refs:  #38899,  #38900,
331628         #38829)
331629
331630       · ISSUE  #38557:  (alexbleotu)  Proxy  not  working  on  develop (refs:
331631         #38829)
331632
331633       · ISSUE #38265: (mirceaulinic) __utils__ object not available in  proxy
331634         module (refs: #38899, #38900, #38829)
331635
331636       · ISSUE   #32918:  (mirceaulinic)  Proxy  minions  reconnection  (refs:
331637         #38829)
331638
331639       · PR #38900: (cro) Enable __proxy__ availability in states,  highstate,
331640         and utils. Enable __utils__ for proxies.  @ 2017-01-25 19:36:48 UTC
331641
331642         · PR  #38899:  (cro)  Enable  __proxy__ availability in states, high‐
331643           state, and utils. Enable __utils__ for proxies. (refs: #38900)
331644
331645         · PR #38829: (cro) MANY dunder variable fixes  for  proxies  +  proxy
331646           keepalive from @mirceaulinic (refs: #38899, #38900)
331647
331648         · PR #37864: (mirceaulinic) Proxy keepalive feature (refs: #38829)
331649
331650         · bd4889ac73 Merge pull request #38900 from cro/px_dunder_201611
331651
331652         · 9a86fddfa1 Remove extra call to salt.loader.utils.
331653
331654         · f4ba89735c Resolve merge conflict
331655
331656       · PR #38918: (thatch45) Thorium typos @ 2017-01-25 19:00:40 UTC
331657
331658         · f94b8798b6 Merge pull request #38918 from thatch45/thorium_typos
331659
331660         · 0b4aca9145 fix some minor typos in the thorium docs
331661
331662         · 58a18e2b58  Add  test=  True to the master so that thorium does not
331663           stack trace
331664
331665       · ISSUE #38543: (amendlik) salt --subset returns wrong number  of  min‐
331666         ions (refs: #38919)
331667
331668       · PR   #38919:  (cachedout)  Correctly  pass  subset  to  cmd_subset  @
331669         2017-01-25 18:59:16 UTC
331670
331671         · 32fbb945b7 Merge pull request #38919 from cachedout/issue_38543
331672
331673         · a555de7c56 Correctly pass subset to cmd_subset
331674
331675       · PR #38922: (twangboy) Fix 64bit detection, vcredist only on <= 2008 @
331676         2017-01-25 18:47:41 UTC
331677
331678         · 6b3c738bfd Merge pull request #38922 from twangboy/fix_vcredist
331679
331680         · 214e1cc598 Fix 64bit detection, vcredist only on <= 2008
331681
331682       · ISSUE #38371: (syphernl) [2016.11.1] Scheduled highstates not return‐
331683         ing to master (refs: #38923)
331684
331685       · PR #38923: (DmitryKuzmenko) Fixed broken  __schedule_return  handler.
331686         @ 2017-01-25 18:45:30 UTC
331687
331688         · PR  #36202:  (hu-dabao) for 36049, log current connected master and
331689           make status module more useful and efficient (refs: #38923)
331690
331691         · 954658523b   Merge   pull   request   #38923    from    DSRCorpora‐
331692           tion/bugs/38371_fix_schedule_return
331693
331694         · b18f675486 Fixed broken __schedule_return handler.
331695
331696       · PR  #38927:  (l2ol33rt)  Adding explicit install of python-systemd in
331697         jessie-backports on Debian Guide @ 2017-01-25 18:21:18 UTC
331698
331699         · 828e9bd8f9 Merge pull request #38927 from l2ol33rt/debian_doc_fix
331700
331701         · 9cc9c6110d Adding explicit call to python-systemd  in  jessie-back‐
331702           ports
331703
331704       · ISSUE #37413: (Snarfingcode666) Salt-cloud vmware missing reboot com‐
331705         mand (refs: #38890, #38887, #38889)
331706
331707       · PR #38889: (cro) Backport #38887 to 2016.11:  Call  correct  function
331708         for resetting a VM @ 2017-01-24 15:20:29 UTC
331709
331710         · PR  #38887:  (cro)  Enable  resetting  a VM via salt-cloud & VMware
331711           driver (refs: #38890, #38889)
331712
331713         · 5ff5e97598      Merge      pull      request      #38889       from
331714           cro/vmware_reset_vm_201611
331715
331716         · 76a9920a6b Call correct function for resetting a VM
331717
331718       · PR  #38891: (UtahDave) Proper function parameter default @ 2017-01-24
331719         15:06:09 UTC
331720
331721         · 53d0aa8855 Merge  pull  request  #38891  from  UtahDave/fix_cassan‐
331722           dra_protocol_version
331723
331724         · c475609683 Proper function parameter default
331725
331726       · PR  #38904:  (terminalmage)  Add  top file merging docs to the master
331727         config file documentation @ 2017-01-24 14:59:26 UTC
331728
331729         · c680ee3174 Merge pull request #38904 from terminalmage/docs
331730
331731         · 42a3652620 Add top file merging docs to the master config file doc‐
331732           umentation
331733
331734       · PR  #38885:  (meaksh)  Increasing  timeouts  for running integrations
331735         tests @ 2017-01-23 18:59:50 UTC
331736
331737         · 41a3055213      Merge      pull      request      #38885       from
331738           meaksh/2016.11-fix-tests-issues
331739
331740         · 4311b0b6de Increasing timeouts for running integrations tests
331741
331742       · PR  #38639:  (isbm)  Isbm  disable  custom  roster  for api 2016.11 @
331743         2017-01-23 18:59:11 UTC
331744
331745         · bde6d3eee7 Merge pull request  #38639  from  isbm/isbm-disable-cus‐
331746           tom-roster-for-api-2016.11
331747
331748         · ffbd45062e Explain what it is about and how to configure that
331749
331750   Salt 2016.11.4 Release Notes
331751       Version 2016.11.4 is a bugfix release for 2016.11.0.
331752
331753   Statistics
331754       · Total Merges: 276
331755
331756       · Total Issue References: 63
331757
331758       · Total PR References: 223
331759
331760       · Contributors:   62   (Ch3LL,   DennisHarper,  DmitryKuzmenko,  L4rS6,
331761         MasterNayru, Seb-Solon,  The-Loeki,  UtahDave,  aabognah,  alankrita,
331762         amontalban,  ardakuyumcu,  attiasr,  bdrung,  bewing, cachedout, cro,
331763         defanator,    discountbin,    dmurphy18,    drawsmcgraw,     eldadru,
331764         garethgreenaway,   githubcdr,   gtmanfred,   hkrist,  isbm,  jbadson,
331765         jeanpralo, jettero, jinm, joe-niland, kaszuba, lomeroe,  lorengordon,
331766         mateiw,    mcalmer,    mchugh19,   meaksh,   mirceaulinic,   mlalpho,
331767         narendraingale2, nmadhok, rallytime, redbaron4, roaldnefs, s0undt3ch,
331768         skazi0,  skizunov,  smarsching,  sofixa,  sp1r,  sthrasher,  techhat,
331769         terminalmage, thatch45, thor, ticosax,  twangboy,  vutny,  whiteinge,
331770         zer0def)
331771
331772   AIX Support Expanded
331773       AIX support has been added for the following execution modules:
331774
331775       · user
331776
331777       · group
331778
331779       · network
331780
331781       · status
331782
331783       · timezone
331784
331785       Additionally,  AIX is now supported in the disk.iostat remote-execution
331786       function, and the status beacon is now supported.
331787
331788   Minion Data Cache Enhancement
331789       Memcache is now supported as a data store for the minion data cache.
331790
331791       Memcache is an additional cache layer that keeps a  limited  amount  of
331792       data fetched from the minion data cache for a limited period of time in
331793       memory that makes cache operations faster. It doesn't make  much  sense
331794       for  the  localfs  cache driver but helps for more complex drivers like
331795       consul.
331796
331797       For more  details  see  memcache_expire_seconds  and  other  memcache_*
331798       options in the master config reverence.
331799
331800   Docker Fixes
331801       · Docker  authentication has been re-organized. Instead of attempting a
331802         login for each push/pull (which  was  unnecessary),  a  new  function
331803         called dockerng.login has been added, which authenticates to the reg‐
331804         istry and adds the credential  token  to  the  ~/.docker/config.json.
331805         After  upgrading, if you have not already performed a docker login on
331806         the minion using the docker CLI, you will need to run  dockerng.login
331807         to login. This only needs to be done once.
331808
331809       · A  bug  in  resolving  the  tag  name for images in a custom registry
331810         (where  a  colon  can  appear  in  the  image  name,   e.g.    myreg‐
331811         istry.com:5000/image:tagname)  has  been fixed. In previous releases,
331812         Salt would use the colon to separate the  tag  name  from  the  image
331813         name, and if there was no colon, the default tag name of latest would
331814         be assumed.  However,  this  caused  custom  registry  images  to  be
331815         misidentified  when  no  explicit  tag  name  was passed (e.g. myreg‐
331816         istry.com:5000/image). To work around this in earlier releases,  sim‐
331817         ply specify the tag name.
331818
331819   Salt-Cloud Fixes
331820       2016.11.0  added  support  for  templating  userdata  files for the ec2
331821       driver, using the renderer option from the master config file. However,
331822       as  the  default renderer first evaluates jinja templating, followed by
331823       loading the data as a YAML dictionary, this  results  in  unpredictable
331824       results  when userdata files are comprised of non-YAML data (which they
331825       generally are).
331826
331827       2016.11.4 fixes this by only templating the userdata_file  when  it  is
331828       explicitly  configured  to do so. This is done by adding a new optional
331829       parameter to the cloud profile called userdata_template. This option is
331830       used  in  the same way as the template argument in file.managed states,
331831       it is simply set to the desired templating renderer:
331832
331833          my-ec2-config:
331834            # Pass userdata to the instance to be created
331835            userdata_file: /etc/salt/my-userdata-file
331836            userdata_template: jinja
331837
331838       If no userdata_template  option is  set  in  the  cloud  profile,  then
331839       salt-cloud  will  check  for  the  presence of the master configuration
331840       parameter userdata_renderer. If this is also not set, then no  templat‐
331841       ing will be performed on the userdata_file.
331842
331843       In  addition,  the  other  cloud  drivers which support setting a user‐
331844       data_file (azurearm, nova, and openstack) have had  templating  support
331845       added to bring them to feature parity with the ec2 driver's implementa‐
331846       tion of the userdata_file option.
331847
331848   Changelog for v2016.11.3..v2016.11.4
331849       Generated at: 2018-05-27 19:46:47 UTC
331850
331851       · PR #40708: (Ch3LL) Add 2016.11.4 Release Note ChangeLog @  2017-04-14
331852         22:12:57 UTC
331853
331854         · e5cd6086a7 Merge pull request #40708 from Ch3LL/2016.11.4_release
331855
331856         · d228fb6e02 Add 2016.11.4 Release Note ChangeLog
331857
331858       · PR  #40685: (Ch3LL) Fix errno code for filecache test for other oper‐
331859         ating systems.  @ 2017-04-14 16:54:25 UTC
331860
331861         · 77028a6c4e Merge pull request #40685 from Ch3LL/fix_mac_file
331862
331863         · 9ea6e8b456 remove io and change to EROFS
331864
331865         · 688791ff60 remove try-except and change errno
331866
331867         · e30afc4c01 add exception type
331868
331869         · acf333df08 change errno code for fileclient test
331870
331871       · ISSUE #40688: (jbadson) Syslog returner does not work with Python 2.6
331872         (refs: #40689)
331873
331874       · PR  #40689:  (jbadson)  Fixes  bug that prevents syslog returner from
331875         working under Python 2.6 @ 2017-04-14 10:45:13 UTC
331876
331877         · bc70772f9d  Merge  pull  request   #40689   from   jbadson/fix-sys‐
331878           log-returner
331879
331880         · e5a3a7d217  Fixes  bug  that  prevents syslog returner from working
331881           under Python 2.6
331882
331883       · ISSUE #40658: (sebw) State tomcat.war_deployed  regression  when  WAR
331884         filename contains version (refs: #40690)
331885
331886       · PR  #40690:  (thor)  Fixes #40658: even clearer and working(!) Tomcat
331887         version handling @ 2017-04-14 10:44:02 UTC
331888
331889         · 983d35ad38 Merge pull request #40690 from thor/2016.11-tomcat
331890
331891         · 09145ea1a5 Fixes unindexed strfmt curly braces for python 2.6
331892
331893         · b78fc46b91 Fixes #40658: clearer version handling
331894
331895       · PR #40686: (twangboy) Fix 'salt-minion' service for Win  10  Creators
331896         Update 1703 @ 2017-04-13 20:00:12 UTC
331897
331898         · 3cd9a50b22 Merge pull request #40686 from twangboy/fix_service
331899
331900         · b6ac4aa86d Fix service for win10 update
331901
331902       · PR   #40675:  (gtmanfred)  use  loader  for  getting  war  version  @
331903         2017-04-13 19:58:30 UTC
331904
331905         · ad4d6839fd Merge pull request #40675 from gtmanfred/2016.11
331906
331907         · a61fc824c4 use loader for war extraction
331908
331909       · ISSUE #38497: (chrisLeeTW) local_batch client  ignore  external  auth
331910         (refs: #40598)
331911
331912       · PR  #40680:  (rallytime)  Back-port  #40598  to  2016.11 @ 2017-04-13
331913         19:58:16 UTC
331914
331915         · PR #40598: (mchugh19) Ensure batch uses passed eauth token or  cre‐
331916           dentials (refs: #40680)
331917
331918         · 7ea526f59e Merge pull request #40680 from rallytime/bp-40598
331919
331920         · cc1643eb1f Fix netapi lint
331921
331922         · e790930f5a re-add batch support to cherrypy saltapi
331923
331924         · 6eec04b2db pop out of kwargs
331925
331926         · 260dd84758 Create eauth dict for passing into batch class
331927
331928         · 5fb8190d44 Ensure batch uses passed eauth token or credentials
331929
331930       · PR  #40681:  (cachedout)  Allow status beacon to run on all operating
331931         systems @ 2017-04-13 19:33:10 UTC
331932
331933         · db68df23dd Merge pull request #40681 from cachedout/status_beacon
331934
331935         · ecbb0d186f Allow status beacon to run on all operating systems
331936
331937       · PR #40678: (Ch3LL) fix test_fstype test for mac @ 2017-04-13 19:20:32
331938         UTC
331939
331940         · 39dd6e284d Merge pull request #40678 from Ch3LL/fix_mac_fstype
331941
331942         · 60724980ec fix test_fstype test for mac
331943
331944       · PR  #40665:  (rallytime)  Back-port  #35665  to  2016.11 @ 2017-04-12
331945         21:06:36 UTC
331946
331947         · PR #35665: (sthrasher) Speed up /jobs for salt-api when  run  under
331948           cherrypy. (refs: #40665)
331949
331950         · 6df76f6687 Merge pull request #40665 from rallytime/bp-35665
331951
331952         · 0f897b2426  Switch from comprehension to logic used in jobs runner.
331953           This makes it easier to deal with potential unicode in returns.
331954
331955         · 78dd629f09 Fix compat issues with /jobs return values.
331956
331957         · 4778bc7365 Speed up /jobs for salt-api when run under cherrypy.
331958
331959       · PR #40666: (gtmanfred) make sure userdata is always defined in ec2  @
331960         2017-04-12 21:06:00 UTC
331961
331962         · 3e41a248a5 Merge pull request #40666 from gtmanfred/userdata
331963
331964         · 5e92fd0948 make sure userdata is always defined in ec2
331965
331966       · PR  #40662:  (twangboy)  Backport  msi-conformant-version  function @
331967         2017-04-12 18:49:23 UTC
331968
331969         · b245abbea5  Merge   pull   request   #40662   from   twangboy/back‐
331970           port_msi_versioning
331971
331972         · 825832812b Backport msi-conformant-version function
331973
331974       · ISSUE    #39868:    (amontalban)    archive.extracted    issue   when
331975         source_hash_update=True and extracted files  does  not  exist  (refs:
331976         #40551)
331977
331978       · PR  #40551: (terminalmage) Fix four issues in archive.extracted state
331979         @ 2017-04-12 18:37:52 UTC
331980
331981         · 92b5f03beb Merge pull request #40551 from terminalmage/issue39868
331982
331983         · a722ca9ccf  archive.extracted:  also  cleanup  fileclient's  cached
331984           location
331985
331986         · 5ea1f607b0 Fix mocking in unit tests
331987
331988         · 8dfa51f31f Moar fixes for source_hash_update
331989
331990         · 7103707d49 Remove unnecessary versionadded lines
331991
331992         · a717881f53 Just get a hash for the source archive
331993
331994         · 9da4eb18bf  Check  hash of cached source against source_hash before
331995           downloading archive
331996
331997         · ad24faa59d Fix three issues in archive.extracted state
331998
331999       · PR  #40637:  (twangboy)  Add  unicode_literals  import  @  2017-04-12
332000         16:55:03 UTC
332001
332002         · 0638418d22   Merge   pull  request  #40637  from  twangboy/fix_uni‐
332003           code_issues
332004
332005         · 021783dbae Add unicode_literals import
332006
332007       · PR #40651: (twangboy) Fix  status.diskusage  for  Windows  on  Py3  @
332008         2017-04-12 16:21:29 UTC
332009
332010         · 491661f323     Merge    pull    request    #40651    from    twang‐
332011           boy/fix_diskusage_py3
332012
332013         · 7c5079ec91 Correct capitalization problem with api call
332014
332015       · ISSUE #40624: (sumeetisp) Issue - grains.append (refs: #40631)
332016
332017       · PR #40631: (gtmanfred) if grain is defined as None still  convert  in
332018         append @ 2017-04-12 16:19:16 UTC
332019
332020         · 3aabd85e53 Merge pull request #40631 from gtmanfred/grains
332021
332022         · b0bd99c26d add comment and unit test
332023
332024         · b21bc7528f if grain is defined as None still convert in append
332025
332026       · ISSUE  #40167:  (alias454)  file.replace  diff results output showing
332027         additional characters (refs: #40629)
332028
332029       · PR #40629: (aabognah) Fixing issue # 40167 @ 2017-04-11 22:45:08 UTC
332030
332031         · 3737289bee Merge pull request #40629 from aabognah/fix-bug-40167
332032
332033         · 28f7744cb6 Fixing issue # 40167 with file.replace  where  the  diff
332034           output does not display correctly.
332035
332036       · PR  #40646:  (twangboy) Keep network.py execution module @ 2017-04-11
332037         22:03:02 UTC
332038
332039         · 2a22bea290 Merge pull request #40646 from twangboy/fix_win_network
332040
332041         · 0f7a81cd34 Keep network.py execution module
332042
332043       · PR #40645: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332044         @ 2017-04-11 20:59:13 UTC
332045
332046         · e1f5a5dfc3 Merge pull request #40645 from rallytime/merge-2016.11
332047
332048         · 8de6497933 Merge branch '2016.3' into '2016.11'
332049
332050           · 2ae9eaa176 Merge pull request #40638 from rallytime/bp-40571
332051
332052             · 2d1c4be2df pkgrepo.managed: properly handle comments for debian
332053
332054       · ISSUE  #40594: (anlutro) salt-ssh file.recurse adds a lot of unwanted
332055         directories (refs: #40642)
332056
332057       · ISSUE #38458: (duk3luk3) salt-ssh uses  sudo  to  create  cache  dir,
332058         later fails to access it (refs: #40442)
332059
332060       · PR  #40642: (DmitryKuzmenko) Correctly resolve relative cache path to
332061         absolute.  @ 2017-04-11 20:43:57 UTC
332062
332063         · PR #40442: (gtmanfred) allow file_client  to  figure  out  cachedir
332064           (refs: #40642)
332065
332066         · 6c4ae3c914    Merge    pull   request   #40642   from   DSRCorpora‐
332067           tion/bugs/40594_ssh_cachedir
332068
332069         · 055256c518 Correctly resolve relative cache path to absolute.
332070
332071       · ISSUE #40075: (afletch) salt-ssh temporary files -  insecure  permis‐
332072         sions (refs: #40609)
332073
332074       · PR #40609: (gtmanfred) stat_file when keep is set, instead of mirror‐
332075         ing all file permissions @ 2017-04-11 18:48:47 UTC
332076
332077         · 8492cef7a5 Merge pull request #40609 from gtmanfred/2016.11
332078
332079         · 6e34c2b5e5 stat file when placing it on server instead of caching
332080
332081       · PR #40620: (mateiw)  SUSE  specific  changes  to  salt-api.service  @
332082         2017-04-11 14:45:00 UTC
332083
332084         · 05ac613ecf       Merge      pull      request      #40620      from
332085           mateiw/2016.11-suse-saltapi-service
332086
332087         · ee911a74b4 suse specific changes to salt-api.service
332088
332089       · ISSUE  #39463:  (githubcdr)  Transport  TCP  minions   don't   recon‐
332090         nect/recover (refs: #40614)
332091
332092       · PR  #40614:  (gtmanfred)  add  retries on authentications of the salt
332093         minion reconnecting @ 2017-04-10 22:42:16 UTC
332094
332095         · b0a2414d68 Merge pull request #40614 from gtmanfred/tcp
332096
332097         · a86b101ae6 add retries on authentications of the salt minion recon‐
332098           necting
332099
332100       · PR #40606: (kaszuba) Use correct exec_driver in dockerng.sls module @
332101         2017-04-10 22:25:31 UTC
332102
332103         · f7e121a9ee Merge pull request #40606 from kaszuba/fix-dockerng-sls
332104
332105         · 3a0d61f108 Use correct exec_driver in dockerng.sls module
332106
332107       · ISSUE #39863: (daswathn) Salt-Master not responding when the list  of
332108         minions are high after upgrade to 2016.11.2 (refs: #40615)
332109
332110       · PR  #40615:  (rallytime) Call out to _pki_minions() once, rather than
332111         in a loop in _check_list_minions() @ 2017-04-10 22:22:18 UTC
332112
332113         · PR #34920: (cachedout) Key cache (refs: #40615)
332114
332115         · b6cf948afe Merge pull request #40615 from rallytime/fix-39863
332116
332117         · 1a9f03ab92 Call out to _pki_minions() once, rather than in  a  loop
332118           in _check_list_minions()
332119
332120       · PR #40588: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332121         @ 2017-04-07 19:30:14 UTC
332122
332123         · 4fa58be222 Merge pull request #40588 from rallytime/merge-2016.11
332124
332125         · 5a419b8aae Merge branch '2016.3' into '2016.11'
332126
332127         · 83f6d3d3bb Merge pull  request  #40567  from  terminalmage/fix-pil‐
332128           lar-get-merge-lists
332129
332130           · cb4db56eb5 Allow pillar.get to merge list as well as dictionaries
332131
332132         · a8304cd5a1    Merge    pull    request    #40552   from   terminal‐
332133           mage/fix-hash-type-refs
332134
332135           · 8c61f333ae Don't use __opts__.get() for hash_type
332136
332137         · 705e1d8a08   Merge   pull    request    #40562    from    terminal‐
332138           mage/fix-get-client
332139
332140           · 7f1ef72f83 Fix dockerng _get_client() regression
332141
332142         · 00f8ef0c55 Merge pull request #40548 from Ch3LL/fix_vultrpy
332143
332144           · 7710355e3a check for salt install fail on vultur test
332145
332146           · aae3d14ea4 fix vultr cloud race condition to match on 0*
332147
332148       · PR  #40575:  (rallytime)  Back-port  #40559  to  2016.11 @ 2017-04-07
332149         15:42:26 UTC
332150
332151         · PR        #40559:         (jinm)         Fix         v3         for
332152           https://github.com/saltstack/salt/issues/38472 (refs: #40575)
332153
332154         · 3d07f637ca Merge pull request #40575 from rallytime/bp-40559
332155
332156         · 8280e5256e                 Fix                v3                for
332157           https://github.com/saltstack/salt/issues/38472
332158
332159       · PR #40576: (rallytime)  Back-port  #40573  to  2016.11  @  2017-04-07
332160         15:20:11 UTC
332161
332162         · PR #40573: (ardakuyumcu) Fix typo in IAM state for managed policies
332163           (refs: #40576)
332164
332165         · 9041ca2ba5 Merge pull request #40576 from rallytime/bp-40573
332166
332167         · 12180808ee Fix typo in IAM state for managed policies
332168
332169       · PR  #40563:  (terminalmage)  Merge-forward  2016.3   ->   2016.11   @
332170         2017-04-07 15:08:20 UTC
332171
332172         · PR  #40562:  (terminalmage)  Fix  dockerng _get_client() regression
332173           (refs: #40563)
332174
332175         · PR #40481: (terminalmage) Backport auth and custom  registry  fixes
332176           from #40480 to 2016.3 branch (refs: #40563, #40562)
332177
332178         · PR  #40480:  (terminalmage) Improved Docker auth handling and other
332179           misc. Docker improvements (refs: #40481)
332180
332181         · f8bc423ef9   Merge   pull    request    #40563    from    terminal‐
332182           mage/merge-2016.3-2016.11
332183
332184         · 0c608d7417 Add client_args_mock back to test
332185
332186         · a7a78da984 remove unused imports
332187
332188         · a6d68f50fe  Merge  remote-tracking  branch  'upstream/2016.3'  into
332189           merge-2016.3-2016.11
332190
332191           · 0918311330 Don't mark files that already were deleted as errors
332192
332193           · 51d88a16c8 Merge branch 'zer0def-fix-31363' into 2016.3
332194
332195             · 7f3cbd5cf9       Merge       branch       'fix-31363'        of
332196               https://github.com/zer0def/salt into zer0def-fix-31363
332197
332198             · 3c750c2b24 Changed rm_rf's argument to actually remove intended
332199               file. (refs #31363)
332200
332201             · 9ed85f3c59 Remove directory content instead of directory itself
332202               when using force_clone in git.latest state. (refs #31363)
332203
332204           · cfba4cb422 Merge pull request #40534 from terminalmage/issue39892
332205
332206             · ad88c58a09 Check master's ssh_minion_opts for fileserver/pillar
332207               values and ignore them
332208
332209           · 8da27c9e1d Merge pull request #40306 from terminalmage/issue40279
332210
332211             · 57ace1f336       Merge       branch       'issue40279'       of
332212               https://github.com/terminalmage/salt into issue40279
332213
332214               · 8bcdf1a761 Remove unused import for lint
332215
332216             · 808ad76419  systemd.py: when getting all services, don't repeat
332217               gathering of systemd services
332218
332219             · 2d219af67a Don't use context caching for gathering systemd ser‐
332220               vices
332221
332222           · 97caac4c0a    Merge    pull   request   #40481   from   terminal‐
332223             mage/docker-auth-handling-2016.3
332224
332225             · dcef1e0d4b Make sure we keep the cached  client  when  clearing
332226               context
332227
332228             · 1e2a04cfc5  Backport auth and custom registry fixes from #40480
332229               to 2016.3 branch
332230
332231           · e62603d5eb Merge pull request #40505 from gtmanfred/2016.3
332232
332233             · 6e2f9080ca update docs for logging handlers
332234
332235       · ISSUE #39778: (Talkless) pkgrepo.managed state always report  changes
332236         with test=True on APT system (refs: #40571)
332237
332238       · PR  #40571:  (terminalmage) pkgrepo.managed: properly handle comments
332239         for debian (refs: #40638) @ 2017-04-06 21:55:46 UTC
332240
332241         · fd757fffa3 Merge pull request #40571 from terminalmage/issue39778
332242
332243         · 191610482d pkgrepo.managed: properly handle comments for debian
332244
332245       · ISSUE #40278: (UtahDave)  cloud.action  giving  errors  on  2016.11.1
332246         (refs: #40572)
332247
332248       · PR  #40572:  (rallytime) Clean out kwargs dict in cloud.action before
332249         calling cloud driver function @ 2017-04-06 21:53:40 UTC
332250
332251         · b1698e830e Merge pull request #40572 from rallytime/fix-40278
332252
332253         · c978486452 Clean out kwargs dict  in  cloud.action  before  calling
332254           cloud driver function
332255
332256       · ISSUE  #39842:  (smarsching)  File module removes trailing newline on
332257         Windows (refs: #39882)
332258
332259       · PR #39882: (smarsching) Fix handling of trailing newlines on  Windows
332260         @ 2017-04-06 21:12:24 UTC
332261
332262         · 62d8ad2b4b Merge pull request #39882 from smarsching/issue-39842
332263
332264         · d485d1af44 Fix context for _splitlines_preserving_trailing_newline.
332265
332266         · 76cb7bf612 Fix trailing newlines on Windows (#39842).
332267
332268       · PR #40451: (isbm) Fileclient testcase (2016.11) @ 2017-04-06 19:53:31
332269         UTC
332270
332271         · ae13de622a  Merge  pull   request   #40451   from   isbm/isbm-file‐
332272           client-testcase-2016.11
332273
332274         · 74c65557dd Add space before in-lint comment for lint
332275
332276         · 35fcb8b52d Fix race condition on cache directory creation
332277
332278         · aba94495a5 Lintfix (Py3 code compat)
332279
332280         · 9f9dc6e4e7 Add unit test case for fileclient
332281
332282       · ISSUE  #40084:  (podstava) profile fields in azurearm salt-cloud need
332283         to be actualized to sources (refs: #40564)
332284
332285       · PR #40564: (techhat) Update Azure ARM docs @ 2017-04-06 18:17:32 UTC
332286
332287         · 74366c57a4 Merge pull request #40564 from techhat/azuredocs
332288
332289         · 08d071bc68 Update Azure ARM docs
332290
332291       · ISSUE #40005: (vutny) ssh_known_hosts.present does not support SHA256
332292         key fingerprints (refs: #40543)
332293
332294       · PR  #40543: (rallytime) Add the "fingerprint_hash_type" option to ssh
332295         state and module @ 2017-04-05 21:21:16 UTC
332296
332297         · cb9dcb1e1b Merge pull request #40543 from rallytime/fix-40005
332298
332299         · 1ef81e6a55 Add the "fingerprint_hash_type" option to ssh state  and
332300           module
332301
332302       · PR  #40540:  (DmitryKuzmenko)  A  quick  fix  for Cache has no 'list'
332303         attribute.  @ 2017-04-05 18:50:18 UTC
332304
332305         · PR #40494: (rallytime) [develop]  Merge  forward  from  2016.11  to
332306           develop (refs: #40540)
332307
332308         · 3f0695575a    Merge    pull   request   #40540   from   DSRCorpora‐
332309           tion/bugs/40494_merge_forward_cache_list_fix
332310
332311         · c0fd5634cf A quick fix for Cache has no 'list' attribute.
332312
332313       · ISSUE #32662: (anlutro) salt-cloud: allow templating of EC2 userdata,
332314         similar to deploy script (refs: #32698)
332315
332316       · PR  #40464:  (terminalmage)  salt-cloud:  Do  not  pass userdata_file
332317         through yaml renderer @ 2017-04-05 17:32:07 UTC
332318
332319         · PR #32698: (techhat) Allow EC2  userdata  to  be  templated  (refs:
332320           #40464)
332321
332322         · 28fc048030   Merge  pull  request  #40464  from  terminalmage/user‐
332323           data-renderer
332324
332325         · 84ee693006 Nova and openstack don't accept base64-encoded userdata
332326
332327         · 73f4c43e2a  Allow  for  userdata_template  to  be  disabled  in   a
332328           cloud_profile
332329
332330         · 78b4798b1b Update compile_template test to use StringIO
332331
332332         · 5f7c5613ce Properly handle renderers which return StringIO objects
332333
332334         · d551b0d857 Bring in salt.utils.stringio from develop branch
332335
332336         · 6a6ef0adf8 Move userdata templating to salt.utils.cloud
332337
332338         · b440d0c679  Update 2016.11.4 release notes for userdata_renderer ->
332339           userdata_template
332340
332341         · a6183d93d3 Preserve windows newlines in  salt.template.compile_tem‐
332342           plate()
332343
332344         · 04f02df5fe Try to read compiled template as StringIO
332345
332346         · 79cc253bbf Only template the userdata_file if explicitly configured
332347           to do so
332348
332349         · b580654f85 Update cloud docs to reflect userdata_renderer ->  user‐
332350           data_template
332351
332352         · a6064fb2e4  Rename userdata_renderer -> userdata_template in master
332353           config docs
332354
332355         · 50f2b2831f Remove userdata_renderer value
332356
332357         · cc2186f35a Add templating support for other cloud drivers that sup‐
332358           port userdata_file
332359
332360         · be8d34c59b ec2: Add support for using userdata_renderer to template
332361           userdata_file
332362
332363         · eddbd41265 Openstack did not  have  templating  support  for  user‐
332364           data_file before 2016.11.4
332365
332366         · a85a416c72  Add  userdata_renderer  fix  info  to 2016.11.4 release
332367           notes
332368
332369         · 111188742a Add documentation for userdata_renderer
332370
332371         · 9ee2dcfc2d Add userdata_renderer master config param
332372
332373       · PR #40530: (dmurphy18) Update release information for  2016.11.4  for
332374         additional AIX support @ 2017-04-05 16:20:22 UTC
332375
332376         · 990bde4c07 Merge pull request #40530 from dmurphy18/aix_docupd
332377
332378         · fd93caf206  Added  further  support  for  functionality  on AIX for
332379           2016.11.4
332380
332381         · 17b58917f2 Update release information for new AIX support
332382
332383       · PR #40528: (dmurphy18) Allow for nightly build designations  in  Salt
332384         versions @ 2017-04-04 20:34:26 UTC
332385
332386         · 4d932691f1  Merge  pull request #40528 from dmurphy18/salt_nightly‐
332387           build
332388
332389         · d62a119fc1 Allow for nightly build designations in Salt versions
332390
332391       · ISSUE #37699:  (gstachowiak)  Artifactory  state.  Incorrect  timeout
332392         error reporting. (refs: #40465)
332393
332394       · PR  #40465:  (rallytime)  Artifactory Execution & State Module: Fixup
332395         Error Handling @ 2017-04-04 20:12:21 UTC
332396
332397         · 0ed385210f Merge pull request #40465 from rallytime/fix-37699
332398
332399         · 8f084f7056 Update unit test to look for actual string comment
332400
332401         · ef664b46ae Artifactory State: Only wrap main function call to  mod‐
332402           ule in try/except and wrap exc comment in str()
332403
332404         · f1015e3900  Artifactory  Module: catch URLErrors as well as HTTPEr‐
332405           rors
332406
332407       · ISSUE #39275: (yhekma) Cache backend gets hit a  lot  (refs:  #40497,
332408         #40429)
332409
332410       · PR #40497: (DmitryKuzmenko) Memcache documentation and minor updates.
332411         @ 2017-04-04 19:55:18 UTC
332412
332413         · PR #40429: (DmitryKuzmenko) MemCache - a minion data cache booster.
332414           (refs: #40497, #40468)
332415
332416         · 7a04ed2439  Merge  pull  request  #40497  from  DSRCorporation/fea‐
332417           tures/39275_memcache
332418
332419         · 82c45b1a52 Memcache documentation and minor updates.
332420
332421       · ISSUE #38683: (gstachowiak) require/order/failhard combination  error
332422         (refs: #40504)
332423
332424       · PR  #40504:  (rallytime)  Group  checks for failhard setting in () in
332425         state.check_failhard function @ 2017-04-04 19:53:48 UTC
332426
332427         · d654de52ed Merge pull request #40504 from rallytime/fix-38683
332428
332429         · ede4c28887  Group  checks   for   failhard   setting   in   ()   in
332430           state.check_failhard function
332431
332432       · PR  #40503:  (thatch45) first pass at adding support for pycryptodome
332433         installed as @ 2017-04-04 19:39:02 UTC
332434
332435         · 4d5d7d9712 Merge pull request #40503 from thatch45/2016.11
332436
332437         · e21fd54d1b fix lint on the lint ignores...
332438
332439         · 60113248b1 pycryptodome adds  RSA  to  the  key  header  which  the
332440           openssl
332441
332442         · 206dec63ff  fix  the  cryptodome  version  lookup  for the versions
332443           report
332444
332445         · d3b77092b5 good catch
332446
332447         · 31c6a10d1b first pass at adding support for pycryptodome  installed
332448           as
332449
332450       · PR   #40525:  (dmurphy18)  Add  support  for  disk.iostat  on  AIX  @
332451         2017-04-04 19:31:41 UTC
332452
332453         · 0dd92c63ea Merge pull request #40525 from dmurphy18/aix_dskiostat
332454
332455         · 712537272b Added support on AIX for disk.iostat
332456
332457       · PR #40496: (rallytime)  Back-port  #40415  to  2016.11  @  2017-04-04
332458         17:19:39 UTC
332459
332460         · PR  #40415:  (defanator)  Fix  boto_vpc.create_route() to work with
332461           interface_id (refs: #40496)
332462
332463         · a6291b17c1 Merge pull request #40496 from rallytime/bp-40415
332464
332465         · f8b3006898 Fix boto_vpc.create_route() to work with interface_id
332466
332467       · ISSUE #39275: (yhekma) Cache backend gets hit a  lot  (refs:  #40497,
332468         #40429)
332469
332470       · PR #40468: (techhat) Add __func_alias__ back in @ 2017-04-04 17:02:43
332471         UTC
332472
332473         · PR #40429: (DmitryKuzmenko) MemCache - a minion data cache booster.
332474           (refs: #40497, #40468)
332475
332476         · 3eb8e0baf1 Merge pull request #40468 from techhat/cachealias
332477
332478         · 6ec0baa9a0 Swap around aliases
332479
332480         · 76e54a2900 Add __func_alias__ back in
332481
332482       · ISSUE #29104: (adithep) Merging Order warning (refs: #39109)
332483
332484       · PR   #39109:   (bdrung)   Fix  top_file_merging_strategy  warning  if
332485         env_order is set @ 2017-04-04 14:20:56 UTC
332486
332487         · 8c0befaa8b      Merge      pull      request      #39109       from
332488           bdrung/fix-merge-order-warning
332489
332490         · fbf8fcfa98 Simplify _get_envs() by using list comprehensions
332491
332492         · 74a3b066ea  Fix  top_file_merging_strategy  warning if env_order is
332493           set
332494
332495         · ec219b5f42 Remove duplicate client_envs variable definitions
332496
332497         · 6279f7c120 fix do to pre correct on python randome function
332498
332499         · 66b9515af7 Fix up the doc for failover clarity
332500
332501       · PR #40495: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332502         @ 2017-04-03 18:36:16 UTC
332503
332504         · 02a1f642ab Merge pull request #40495 from rallytime/merge-2016.11
332505
332506         · 8111909bb1 Merge branch '2016.3' into '2016.11'
332507
332508         · 3d45a004b0 Merge pull request #40427 from terminalmage/clarify-mas‐
332509           ter-tops-docs
332510
332511           · bda781d8f9 Grammar fix
332512
332513           · 0d7b0c4ef0 Improve the master_tops documentation
332514
332515           · d27340a9f2 Add saltutil.sync_tops runner func
332516
332517       · PR #40466: (dmurphy18) Support for execution module status on  AIX  @
332518         2017-04-01 00:28:51 UTC
332519
332520         · ac82972cb3 Merge pull request #40466 from dmurphy18/aix_status
332521
332522         · 7c0b30d9a4 Support for AIX
332523
332524       · ISSUE  #39275:  (yhekma)  Cache backend gets hit a lot (refs: #40497,
332525         #40429)
332526
332527       · PR #40429: (DmitryKuzmenko) MemCache - a minion data  cache  booster.
332528         (refs: #40497, #40468) @ 2017-03-31 20:21:00 UTC
332529
332530         · fdb0250c95  Merge  pull  request  #40429  from  DSRCorporation/fea‐
332531           tures/39275_memcache
332532
332533         · 4475d1757d In-memory minion data cache.
332534
332535       · ISSUE #38458: (duk3luk3) salt-ssh uses  sudo  to  create  cache  dir,
332536         later fails to access it (refs: #40442)
332537
332538       · PR  #40442:  (gtmanfred)  allow  file_client  to  figure out cachedir
332539         (refs: #40642) @ 2017-03-31 20:14:27 UTC
332540
332541         · 31d4e6949c Merge pull request #40442 from gtmanfred/salt-ssh
332542
332543         · 8367735063 allow file_client to figure out cachedir
332544
332545       · PR #40456: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332546         @ 2017-03-31 17:51:11 UTC
332547
332548         · 0cfcd188a9 Merge pull request #40456 from rallytime/merge-2016.11
332549
332550         · 0da4c46b68 Merge branch '2016.3' into '2016.11'
332551
332552         · c26f4cc76c Merge pull request #40371 from terminalmage/pr-40344
332553
332554           · a8bcaa73d7  Force  use  of posixpath when joining salt fileserver
332555             paths in gitfs
332556
332557           · cafa08d8e0 Add ability for salt.utils.path_join to force the  use
332558             of posixpath
332559
332560         · df9df82959 Merge pull request #40379 from rallytime/tests-for-39855
332561
332562           · 96259d6c63 Lint fix
332563
332564           · 4f7ac1431e  Create a unit test for the _replace_auth_key function
332565             in the ssh module
332566
332567       · PR  #40443:  (gtmanfred)  prepend  ssh_log_file   with   root_dir   @
332568         2017-03-31 09:23:46 UTC
332569
332570         · 8617be9c6d Merge pull request #40443 from gtmanfred/sshlog
332571
332572         · 7f6046deec prepend ssh_log_file with root_dir
332573
332574       · PR  #40376: (nmadhok) Backporting changes in vmware cloud driver from
332575         develop branch to 2016.11 branch @ 2017-03-30 22:35:13 UTC
332576
332577         · 132d8b7b88 Merge pull request #40376 from nmadhok/2016.11
332578
332579         · dd62310941 Adding unit tests for vmware_test
332580
332581         · 36edf0af64 Add additional VMware related exceptions
332582
332583         · 034ef30f7c Remove old vmware unit tests
332584
332585         · 7c144888da Backporting changes in vmware cloud driver from  develop
332586           branch to 2016.11 branch
332587
332588       · ISSUE  #39692: (djsly) tuned module and state are broken on 7.3 fami‐
332589         lies.  (refs: #40387, #39719, #39768)
332590
332591       · PR #40387: (redbaron4) More  complete  fix  for  39692  @  2017-03-30
332592         22:29:05 UTC
332593
332594         · dfaa670b66 Merge pull request #40387 from redbaron4/fix-39692
332595
332596         · 77a40a0c44 Lint fixes
332597
332598         · 8c1adfafd5 More complete fix for 39692
332599
332600       · ISSUE  #7287: (dragozov) django.loaddata treats fixture list as argu‐
332601         ments and prepends "--" for each (refs: #40404)
332602
332603       · PR #40404: (roaldnefs) Fix for fixtures in  the  djangomod  module  @
332604         2017-03-30 22:26:09 UTC
332605
332606         · 313d21626f  Merge  pull  request  #40404 from roaldnefs/fix-django‐
332607           mod-loaddata
332608
332609         · 92285cb045 Fix for fixtures in the djangomod module
332610
332611       · PR #40416: (lorengordon) Adds some missing file functions on  Windows
332612         @ 2017-03-30 22:22:44 UTC
332613
332614         · 5379899442    Merge    pull    request    #40416   from   lorengor‐
332615           don/win-file-funcs
332616
332617         · 8edaf25e10 Adds some missing file functions on Windows
332618
332619       · ISSUE #40417: (lorengordon) temp.file does not close the file  handle
332620         (refs: #40418)
332621
332622       · PR  #40418:  (lorengordon)  Closes  handle  to  temporary file before
332623         returning the path @ 2017-03-30 22:22:03 UTC
332624
332625         · 1f5d6b88f9   Merge   pull    request    #40418    from    lorengor‐
332626           don/close-temp-file
332627
332628         · 7baf2809cf  Closes  handle  to  temporary file before returning the
332629           path
332630
332631       · PR #40430: (twangboy)  Fix  logic  for  __virtual__  in  win_dsc  and
332632         win_psget @ 2017-03-30 22:06:16 UTC
332633
332634         · 5c78d55eab Merge pull request #40430 from twangboy/fix_virtual
332635
332636         · 08e95ce4f0 Add logging on __virtual__ failures
332637
332638         · 43ecb1a597 Fix logic for __virtual__
332639
332640       · PR #40431: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332641         @ 2017-03-30 21:37:39 UTC
332642
332643         · b855f29928 Merge pull request #40431 from rallytime/merge-2016.11
332644
332645         · d5576d75e7 Merge branch '2016.3' into '2016.11'
332646
332647         · b6770fd81f Merge pull request #40407 from aesdana/fix_rabbitmq_ver‐
332648           sion_check
332649
332650           · 4c0763fa2f  Added  split  to  cut  off  debian_revision from rab‐
332651             bitmq-server version Fixes #40396
332652
332653         · d4fb45d9f8   Merge   pull    request    #40424    from    terminal‐
332654           mage/fix-open-filehandle
332655
332656           · 66251263cf Fix open filehandles
332657
332658         · 8708096365    Merge    pull    request    #40399   from   terminal‐
332659           mage/docker-py_version
332660
332661           · 14c6575655 Add docker-py version to the versions report
332662
332663         · ff1266b3a6      Merge      pull      request      #40391       from
332664           Ch3LL/2016.3.7_release_notes
332665
332666           · f532ec5288 initial 2016.3.7 release notes
332667
332668         · 96bf9427b0 Merge pull request #40368 from Ch3LL/bump_version_3
332669
332670           · a02fa7dd1f [2016.3] Bump previous version to 2016.3.6
332671
332672       · PR   #40401:  (roaldnefs)  fix  Ubuntu  notation  in  docs/faq.rst  @
332673         2017-03-29 20:28:31 UTC
332674
332675         · 7d900d31ea Merge pull request #40401 from roaldnefs/fix-doc-faq
332676
332677         · 21f161fecc fix Ubuntu notation in docs/faq.rst
332678
332679       · ISSUE #29028: (kevins9) state.sls fails to render state  with  pillar
332680         data: Jinja variable 'dict object' has no attribute (refs: #37795)
332681
332682       · PR  #40390:  (rallytime)  Back-port  #37795  to  2016.11 @ 2017-03-29
332683         19:05:12 UTC
332684
332685         · PR #37795: (jettero) please tell me where  is  the  “error:  'dict'
332686           object has no …” (refs: #40390)
332687
332688         · 70a3f963ec Merge pull request #40390 from rallytime/bp-37795
332689
332690         · 1ba15577bd Pylint fix
332691
332692         · ec65924659 please tell me where is the "error: 'dict' object has no
332693           attribute 'seek'" ??
332694
332695       · PR #40395: (rallytime) Handle AttributeError for  dockerng_mod.docker
332696         attempt fails and docker is installed @ 2017-03-29 17:47:11 UTC
332697
332698         · f8fbfff7dc     Merge    pull    request    #40395    from    rally‐
332699           time/catch-attribute-error-docker-test
332700
332701         · 99c8dcc18e Handle AttributeError  for  dockerng_mod.docker  attempt
332702           fails and docker is installed
332703
332704       · PR #40362: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332705         @ 2017-03-28 22:50:32 UTC
332706
332707         · d7d3d68035 Merge pull request #40362 from rallytime/merge-2016.11
332708
332709         · 4f1543c2a1 Merge branch '2016.3' into '2016.11'
332710
332711           · 1381f97292     Merge      pull      request      #40264      from
332712             meaksh/2016.3-gather_job_timeout-fix
332713
332714             · 68dccae5b4 Makes sure "gather_job_timeout" is an integer
332715
332716       · PR  #40372:  (zer0def)  Fixes  related  to  cache  directory argument
332717         changes in pip>=6.  @ 2017-03-28 22:48:41 UTC
332718
332719         · 2febd05896 Merge pull request #40372 from zer0def/pip-cache-fixes
332720
332721         · d68067f1d7  Merge  remote-tracking   branch   'main/2016.11'   into
332722           pip-cache-fixes
332723
332724         · 4f23a23ca8      Fixed     the     test_install_download_cache_argu‐
332725           ment_in_resulting_command to accomodate introduced cache  directory
332726           argument    fixes    and    renamed    it   to   test_install_down‐
332727           load_cache_dir_arguments_in_resulting_command.
332728
332729         · 9d0f94eeba Fixed unnecessary API changes introduced with  suggested
332730           changes.
332731
332732       · PR  #40369:  (Ch3LL)  [2016.11]  Bump  previous version to 2016.3.6 @
332733         2017-03-28 18:50:39 UTC
332734
332735         · 6162698c87 Merge pull request #40369 from Ch3LL/bump_version_11
332736
332737         · 7597d96edb [2016.11] Bump previous version to 2016.3.6
332738
332739       · ISSUE #40322: (Whissi) ssh_auth.absent: Wrong comment when  test=True
332740         (refs: #40333)
332741
332742       · ISSUE   #40321:   (Whissi)  state.alternatives:  Wrong  comment  when
332743         test=True (refs: #40333)
332744
332745       · PR #40333: (gtmanfred)  fix  some  test=True  comments  @  2017-03-28
332746         16:11:01 UTC
332747
332748         · 2d2cb5b837 Merge pull request #40333 from gtmanfred/2016.11
332749
332750         · 5596620dfb fix some test=True comments
332751
332752       · PR #40347: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332753         @ 2017-03-28 02:39:31 UTC
332754
332755         · bb37f133fc Merge pull request #40347 from rallytime/merge-2016.11
332756
332757         · e77e86db3a Merge branch '2016.3' into '2016.11'
332758
332759         · 17ab1da0ab Merge pull request #40345 from twangboy/fix_osx_build
332760
332761           · 3207d670c5 Fix osx build
332762
332763         · 7ab10491ab  Merge  pull  request  #40338  from   UtahDave/fix_cher‐
332764           rypy_ssl_error_link
332765
332766           · 280b501950 Upstream cherrypy moved to Github from Bitbucket
332767
332768         · PR saltstack/salt#40332: (zer0def) Fixes related to cache directory
332769           argument changes in pip>=6. (refs: #40346)
332770
332771       · PR #40346: (cachedout) Revert "Fixes related to cache directory argu‐
332772         ment changes in pip>=6."  @ 2017-03-27 23:17:29 UTC
332773
332774         · a572b46183     Merge     pull    request    #40346    from    salt‐
332775           stack/revert-40332-pip-cache-fixes
332776
332777         · b4753d1a5a  Revert  "Fixes  related  to  cache  directory  argument
332778           changes in pip>=6."
332779
332780       · ISSUE  #40296:  (L4rS6)  Wrong  documentation in mount.mounted (refs:
332781         #40326)
332782
332783       · PR #40326: (L4rS6) Update mount state documentation (Fixes: #40296) @
332784         2017-03-27 23:15:53 UTC
332785
332786         · a91bab867e       Merge      pull      request      #40326      from
332787           L4rS6/update-mount-state-doc
332788
332789         · a717c527a1 Update mount state documentation (Fixes: #40296)
332790
332791       · PR #40328: (L4rS6) Fixes  wrong  compared  extra_mount_ignore_fs_keys
332792         key.  @ 2017-03-27 23:14:22 UTC
332793
332794         · ca2980cfb0       Merge      pull      request      #40328      from
332795           L4rS6/fix-mount-state-extra-ignore-fs-key
332796
332797         · f0f68b9033 Fixes wrong compared extra_mount_ignore_fs_keys key.
332798
332799       · PR #40329: (isbm) Merge tops (backport) @ 2017-03-27 23:13:47 UTC
332800
332801         · 3a6c5d0297      Merge      pull      request      #40329       from
332802           isbm/isbm-merge-tops-201611
332803
332804         · a762c9edda Merge output from master_tops
332805
332806       · PR  #40285:  (rallytime)  Dockerng  unit  tests fixes: isolate global
332807         variables @ 2017-03-27 23:05:03 UTC
332808
332809         · 2b7b2f1cb4    Merge    pull    request    #40285    from     rally‐
332810           time/docker-test-fixes
332811
332812         · 0f263a52e0  Mock out the get_client_args mocks in the dockerng mod‐
332813           ule tests more aggressively
332814
332815         · f1352fe253 Add one more dockerng.version mock that was missed  pre‐
332816           viously
332817
332818         · 0d31d2c4d1 Add a couple more patches for docker.version information
332819
332820         · a9c5eebaf0  Clean  up dockerng unit tests to avoid global variables
332821           and fixup some patching
332822
332823       · PR #40341: (twangboy)  Fix  service.create,  fix  docs  @  2017-03-27
332824         21:46:19 UTC
332825
332826         · 01efc842c1 Merge pull request #40341 from twangboy/fix_win_service
332827
332828         · 6736457ec8 Docs for create
332829
332830         · 652cf08f8a Fix service.create, fix docs
332831
332832       · PR  #40332:  (zer0def)  Fixes  related  to  cache  directory argument
332833         changes in pip>=6.  @ 2017-03-27 21:01:15 UTC
332834
332835         · 8eabcca6dc Merge pull request #40332 from zer0def/pip-cache-fixes
332836
332837         · 7976840100 Fixes related to cache directory changes in pip>=6.
332838
332839       · PR #40337: (Ch3LL) Add archive.extracted with use_cmd_unzip  argument
332840         @ 2017-03-27 21:00:23 UTC
332841
332842         · ceba1b9bc6 Merge pull request #40337 from Ch3LL/add_unzip_test
332843
332844         · 8b21b4c8bb add use_cmd_unzip test
332845
332846       · PR  #40312:  (rallytime)  Update  minion  data  cache documentation @
332847         2017-03-27 20:56:55 UTC
332848
332849         · a192597ec2 Merge pull request #40312 from rallytime/cache-docs
332850
332851         · 5363e0b58b Update minion data cache documentation
332852
332853       · PR #40315: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332854         @ 2017-03-27 15:11:25 UTC
332855
332856         · 7f16754619 Merge pull request #40315 from rallytime/merge-2016.11
332857
332858         · c65d602f60 Merge branch '2016.3' into '2016.11'
332859
332860           · 7c21153d3a      Merge      pull      request      #40300     from
332861             meaksh/2016.3-adding-timeouts-parameters-to-cmd_batch
332862
332863             · 9174e6f281 Fixes testing opts dict for batch unit tests
332864
332865             · b1de79abcf Adds custom 'timeout'  and  'gather_job_timeout'  to
332866               'local_batch' client
332867
332868       · PR  #40313:  (techhat)  Add  minimum  and  maximum to calls to calc @
332869         2017-03-27 14:54:15 UTC
332870
332871         · a9a73bf8dc Merge pull request #40313 from techhat/calcref
332872
332873         · 7106a86258 Use named kwargs
332874
332875         · 822f3b81c3 Add minimum and maximum to calls to calc
332876
332877       · ISSUE #40247: (eldadru) boto_rds.delete wait_for_deletion checks  rds
332878         status incorrectly and always loop until timeout (refs: #40277)
332879
332880       · PR  #40277:  (eldadru) Fixing boto_rds.py delete() wait_for_deletion,
332881         if statement was inco… @ 2017-03-24 22:29:25 UTC
332882
332883         · 9d0762deca      Merge      pull      request      #40277       from
332884           eldadru/Fix-40247-boto_rds-delete-wait-for-deletion-failure
332885
332886         · 3c15a32764   Fixing  boto_rds.py  delete()  wait_for_deletion,   if
332887           statement was incorrectly checking the return value of  boto_rds.py
332888           exists() method.
332889
332890       · PR  #40280:  (bewing)  Clean up temporary file in net.load_template @
332891         2017-03-24 22:27:04 UTC
332892
332893         · PR #40273: (bewing) Clean up temporary  file  in  net.load_template
332894           (refs: #40280)
332895
332896         · 6c29c81d01 Merge pull request #40280 from bewing/bp_40273
332897
332898         · f028e939f5 Clean up temporary file in net.load_template
332899
332900       · ISSUE  #37972:  (ebauman)  salt-run execution for master with no AAAA
332901         record adds significant execution time (refs: #40310)
332902
332903       · PR #40310: (gtmanfred) add warning when no host/dns record  is  found
332904         for fqdn_ip @ 2017-03-24 21:55:20 UTC
332905
332906         · 839b620f32 Merge pull request #40310 from gtmanfred/2016.11
332907
332908         · cff027ddc6 add warning when no host/dns record is found for fqdn
332909
332910       · PR  #40288:  (dmurphy18)  Execution  module network support for AIX @
332911         2017-03-24 20:10:36 UTC
332912
332913         · eb86d55478 Merge pull request #40288 from dmurphy18/aix_network
332914
332915         · b53a95dab1 Further update to us in  similar to review comments
332916
332917         · 59c0bdc14d Updated for review comments
332918
332919         · 031c9457ba Execution module network support for AIX
332920
332921       · PR #40308: (rallytime)  Back-port  #38835  to  2016.11  @  2017-03-24
332922         19:00:46 UTC
332923
332924         · PR #38835: (UtahDave) Cache docs (refs: #40308)
332925
332926         · 4928026253 Merge pull request #40308 from rallytime/bp-38835
332927
332928         · 3ba50d3c52 add info about what is cached
332929
332930         · 77e8f6aff9 fix config example
332931
332932         · 61f2fa9339 Add documentation for the Minion data cache
332933
332934       · PR #40287: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
332935         @ 2017-03-24 16:50:23 UTC
332936
332937         · 12a9fc43c9 Merge pull request #40287 from rallytime/merge-2016.11
332938
332939         · 77415369cc Merge branch '2016.3' into '2016.11'
332940
332941         · 0e2d52c3ea Merge pull request #40260 from lubyou/fix-join_domain
332942
332943           · 1cb15d1ea8 use win32api.FormatMessage() to get the error  message
332944             for the system code
332945
332946         · 0c62bb37d3 Merge pull request #40275 from UtahDave/2016.3local
332947
332948           · 9f0c9802c2 remove reference to auth_minion.
332949
332950         · 57ce474d73 Merge pull request #40265 from terminalmage/issue40219
332951
332952           · 1a731e0216 Pop off the version when aggregating pkg states
332953
332954           · 0055fda3e9 Properly aggregate version when passed with name
332955
332956           · 62d76f50fc  Don't  aggregate  both  name/pkgs  and sources in pkg
332957             states
332958
332959         · b208630d85  Merge  pull  request  #40201  from  sergeizv/cloud-ros‐
332960           ter-fixes-2016.3
332961
332962           · d87b377ad2  cloud  roster:  Don't  stop if minion wasn't found in
332963             cloud cache index
332964
332965           · a6865e0283 cloud roster: Check whether show_instance succeeded on
332966             node
332967
332968           · 1b45c8e8c2  cloud  roster: Check provider and profile configs for
332969             ssh_username
332970
332971           · a18250b2e4 cloud roster: Return proper target name
332972
332973           · 637930b2b3 cloud roster: Fix extracting instance's info
332974
332975           · dd1d3aac74 cloud roster: Work with custom conf dir
332976
332977       · PR #40250: (techhat) Add wait_for_fun() to  set_tags()  @  2017-03-23
332978         16:42:13 UTC
332979
332980         · PR  #40225:  (techhat)  Add  wait_for_fun()  to  set_tags()  (refs:
332981           #40250)
332982
332983         · b7f9100e6d Merge pull request #40250 from techhat/settags
332984
332985         · baff7a046d Add wait_for_fun() to set_tags()
332986
332987       · ISSUE #39976: (peterhirn) win_lgpo missing policies, eg. Prevent  the
332988         usage of OneDrive for file storage (refs: #40255, #40253)
332989
332990       · PR #40255: (lomeroe) backport #40253 @ 2017-03-23 16:36:44 UTC
332991
332992         · PR  #40253:  (lomeroe)  correct method of getting 'text' of the XML
332993           object to compare to the … (refs: #40255)
332994
332995         · 904e144ae4 Merge pull request #40255 from lomeroe/fix_39976_2016.11
332996
332997         · 0e9f5820cc backport #40253
332998
332999       · PR #40240: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333000         @ 2017-03-23 14:14:11 UTC
333001
333002         · PR  #40237:  (rallytime)  [2016.11]  Merge  forward  from 2016.3 to
333003           2016.11 (refs: #40240)
333004
333005         · 720a362c7a Merge pull request #40240 from rallytime/merge-2016.11
333006
333007         · 5c5b74b09a Merge branch '2016.3' into '2016.11'
333008
333009           · 35ced607dd Merge pull request #40226 from terminalmage/issue40149
333010
333011             · 2a8df9384c Fix wrong errno in systemd.py
333012
333013           · 24c4ae9c21   Merge    pull    request    #40232    from    rally‐
333014             time/update-release-notes
333015
333016             · 2ead188b4f Update release notes for 2016.3.6
333017
333018           · c59ae9a82c     Merge    pull    request    #39855    from    Fox‐
333019             lik/use_regex_to_compare_authorized_keys
333020
333021             · d46845a5b6 Add newline at end of file
333022
333023             · d4a3c8a66a Use regular expression instead of split when replac‐
333024               ing authorized_keys
333025
333026           · fd10430018 Merge pull request #40221 from rallytime/bp-39179
333027
333028             · 07dc2de084 fix error parsing
333029
333030           · a27a2cc3bb Merge pull request #40206 from cro/sign_pub_take2
333031
333032             · 01048de83f leave sign_pub_messages off on minion by default.
333033
333034             · a82b005507 Leave sign_pub_messages off by default.
333035
333036           · d1abb4cbaa Merge pull request #40193 from rallytime/bp-40117
333037
333038             · cf1857904b More optimization.
333039
333040             · 5a08266814 Removed debug statemnt
333041
333042             · f557f7c6bb Added fix for issue 39393
333043
333044             · bb62278b73 Reverting changes.
333045
333046             · a9107cde44 Added if condition for broken link.
333047
333048           · 0f1ff4d4a8 Merge pull request #40196 from twangboy/win_fix_deps
333049
333050             · 6761527793 Update dependencies for PyOpenSSL
333051
333052           · b0501515cb Merge pull request #40184 from terminalmage/link-reac‐
333053             tor-example
333054
333055             · a42be82993 Link to minion start reactor example from FAQ.
333056
333057       · ISSUE #39445: (systemtrap) state file.copy for directories  does  not
333058         set ownership recursively (refs: #40030)
333059
333060       · PR  #40231:  (rallytime)  Back-port  #40030  to  2016.11 @ 2017-03-22
333061         23:14:40 UTC
333062
333063         · PR #40030: (narendraingale2) Added  changes  for  fix_39445  (refs:
333064           #40231)
333065
333066         · c40376250f Merge pull request #40231 from rallytime/bp-40030
333067
333068         · 4d1c687cbd Using lchown insted of chown.
333069
333070         · 52b3d986b5 Added changes for fix_39445
333071
333072         · PR saltstack/salt#40225: (techhat) Add wait_for_fun() to set_tags()
333073           (refs: #40239)
333074
333075       · PR #40239: (cachedout) Revert "Add wait_for_fun()  to  set_tags()"  @
333076         2017-03-22 22:59:16 UTC
333077
333078         · e39f5cbf40     Merge     pull    request    #40239    from    salt‐
333079           stack/revert-40225-waitforfun
333080
333081         · 95bdab87b4 Revert "Add wait_for_fun() to set_tags()"
333082
333083       · PR #40225: (techhat) Add wait_for_fun() to set_tags() (refs:  #40250)
333084         @ 2017-03-22 18:15:35 UTC
333085
333086         · 11d2f5abec Merge pull request #40225 from techhat/waitforfun
333087
333088         · 89b5010883 Add wait_for_fun() to set_tags()
333089
333090       · PR #40172: (dmurphy18) Fix solaris network @ 2017-03-22 17:41:56 UTC
333091
333092         · c8cfbb7df6     Merge     pull    request    #40172    from    dmur‐
333093           phy18/fix_solaris_network
333094
333095         · a6218b9484 Updated use of tail on Solaris and Sun-like OS
333096
333097         · 90e6a1d8f6 Further update to support correct tail  in  network  for
333098           Solaris
333099
333100         · 5b6d33dd70 Fix use of correct tail on Solaris for active_tcp
333101
333102       · PR  #40210: (rallytime) Skip flaky test for now @ 2017-03-22 16:34:41
333103         UTC
333104
333105         · e9a4e8548b Merge pull request #40210 from rallytime/test-skip
333106
333107         · 0ba773d86b Skip flaky test for now
333108
333109       · ISSUE  #40204:  (sofixa)  InfluxDB  returner  present  on   salt-min‐
333110         ion(installed  via  salt-bootstrap and updated via apt-get) has a bug
333111         (refs: #40209)
333112
333113       · PR #40209: (sofixa) change InfluxDB get_version to expect status code
333114         204 @ 2017-03-21 21:42:26 UTC
333115
333116         · 0b00489eb2 Merge pull request #40209 from sofixa/2016.11
333117
333118         · e1cc7234ff change InfluxDB get_version to expect status code 204
333119
333120       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
333121         (refs: #39935, #saltstack/salt`#39935`_, #39776)
333122
333123         · PR saltstack/salt#39935: (cro) Add special token to insert the min‐
333124           ion id into the default_include path (refs: #40202)
333125
333126       · PR  #40202:  (cro)  Revert "Add special token to insert the minion id
333127         into the default_include path" @ 2017-03-21 21:37:33 UTC
333128
333129         · 66bc680d0a    Merge    pull    request    #40202     from     salt‐
333130           stack/revert-39935-namespace_proxy_cfg
333131
333132         · bb71710747  Revert  "Add special token to insert the minion id into
333133           the default_include path"
333134
333135       · PR #40199: (whiteinge) Ponysay emergency hotfix @ 2017-03-21 21:10:21
333136         UTC
333137
333138         · d8f0b79997  Merge  pull request #40199 from whiteinge/ponysay-emer‐
333139           gency-hotfix
333140
333141         · 85ea61b544 Add depends note
333142
333143         · 5a271acfdc Fix ponysay outputter hardcoded path
333144
333145       · PR  #40194:  (terminalmage)  Change  imports  for  dockerng  tests  @
333146         2017-03-21 19:34:55 UTC
333147
333148         · 82cee58e72    Merge    pull    request    #40194   from   terminal‐
333149           mage/fix-docker-test-imports
333150
333151         · 6caedb0de8 Change imports for dockerng tests
333152
333153       · PR #40189: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333154         @ 2017-03-21 18:02:51 UTC
333155
333156         · 0b512f9ffb Merge pull request #40189 from rallytime/merge-2016.11
333157
333158         · a55c4138a8 Merge branch '2016.3' into '2016.11'
333159
333160           · d4e6c58526  Merge  pull  request  #40182  from terminalmage/dock‐
333161             erng-mod_watch-stopped
333162
333163             · 4629a26fb7  Add  support  for  "stopped"  state  to  dockerng's
333164               mod_watch
333165
333166           · a0b4082484 Merge pull request #40171 from Ch3LL/2016.3.6_release
333167
333168             · 9c6d8d892f additional PRs/issues for 2016.3.6 release notes
333169
333170           · 33ba7821f7      Merge      pull      request      #40120     from
333171             sergeizv/gce-expand-node-fix
333172
333173             · 9d0fbe7e01 gce: Exclude GCENodeDriver objects from _expand_node
333174               result
333175
333176           · 48843977c3 Merge pull request #40122 from meaksh/2016.3-yum-down‐
333177             loadonly-support
333178
333179             · 067f3f77c2 Adding downloadonly support to yum/dnf module
333180
333181           · 60e1d4e2f3 Merge pull request #40159 from cro/sign_pub
333182
333183             · e663b761fb Fix small syntax error
333184
333185             · 0a0f46fb14 Turn on sign_pub_messages  by  default.   Make  sure
333186               messages   with   no   'sig'   are   dropped  with  error  when
333187               sign_pub_messages is True.
333188
333189       · ISSUE #39779: (sp1r) Pillar scheduling is broken (refs: #40034)
333190
333191       · ISSUE #38523: (MorphBonehunter) schedule not changed on pillar update
333192         after minion restart (refs: #40034)
333193
333194       · ISSUE  #36134:  (Ch3LL)  carbon:  multi-master with failover does not
333195         failover when master goes down (refs: #36437)
333196
333197       · PR #40034: (sp1r) Disallow modification  of  jobs  from  pillar  with
333198         schedule execution module @ 2017-03-21 16:36:34 UTC
333199
333200         · PR  #36437:  (DmitryKuzmenko)  Keep the schedule jobs in ONE place.
333201           (refs: #40034)
333202
333203         · d9cb222aa8 Merge pull request #40034 from  sp1r/fix-pillar-schedul‐
333204           ing
333205
333206         · 595f786327 fix evaluating jobs when "pillar" is missing in opts
333207
333208         · 9d5db1910c fix initial data structure for schedule tests
333209
333210         · d3a2489c9c schedule tests to ensure pillar jobs are not modified
333211
333212         · 27385ff49c added a check ensuring schedule is a dict before merging
333213
333214         · 14d71918b2 Fixes #39779
333215
333216       · PR        #40160:        (eldadru)        Fix       this       issue:
333217         https://github.com/saltstack/salt/issues/40073, descr…  @  2017-03-20
333218         21:37:43 UTC
333219
333220         · 257c862c52       Merge      pull      request      #40160      from
333221           eldadru/fix-issue-40073-boto-rds-describe-empty-dict
333222
333223         · 954c871332              Fix               this               issue:
333224           https://github.com/saltstack/salt/issues/40073,   describe   return
333225           dictionary returned empty , probably as result  of  incorrect  past
333226           merge (see discussion on issue)
333227
333228       · PR #40162: (rallytime) Make sure the tornado web server is stopped at
333229         the end of the test class @ 2017-03-20 20:35:21 UTC
333230
333231         · aec504173a Merge pull request #40162  from  rallytime/archive-inte‐
333232           gration-test-fixes
333233
333234         · dd193cc740  Make  sure the tornado web server is stopped at the end
333235           of the test class
333236
333237       · PR #40158: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333238         @ 2017-03-20 20:34:23 UTC
333239
333240         · 461e15f0f4 Merge pull request #40158 from rallytime/merge-2016.11
333241
333242         · 88f3ebd7e9 Remove extra "connect" kwarg caught by linter
333243
333244         · f4d4768a6d Merge branch '2016.3' into '2016.11'
333245
333246           · 28e4fc17b6  Merge  pull request #40123 from twangboy/win_fix_net‐
333247             work
333248
333249             · 06dfd55ef9 Adds support for inet_pton  in  Windows  to  network
333250               util
333251
333252           · 35ddb79f59 Merge pull request #40141 from bobrik/fallback-resolve
333253
333254             · af1545deed Use the first address if cannot connect to any
333255
333256       · PR  #40165:  (rallytime)  Don't try to run the dockerng unit tests if
333257         docker-py is missing @ 2017-03-20 20:33:19 UTC
333258
333259         · b235f0953f    Merge    pull    request    #40165    from     rally‐
333260           time/gate-docker-unit-tests
333261
333262         · f32d8a8683 Don't try to run the dockerng unit tests if docker-py is
333263           missing
333264
333265       · PR #40085: (mirceaulinic) VRF arg and better doc for ping and tracer‐
333266         oute @ 2017-03-20 19:48:57 UTC
333267
333268         · db9fb58b82 Merge pull request #40085 from cloudflare/fix-ping-tr
333269
333270         · 6cbdd61b54 Strip trailing whitespaces
333271
333272         · 897a2a37c3 VRF arg and better doc for ping and traceroute
333273
333274       · PR  #40095:  (skizunov) dns_check should not try to connect when con‐
333275         nect=False @ 2017-03-17 17:31:42 UTC
333276
333277         · 3bac06f099 Merge pull request #40095 from skizunov/develop2
333278
333279         · 880790f743 dns_check should not try to connect when connect=False
333280
333281       · PR #40096: (skizunov) When building up the 'master_uri_list', do  not
333282         try to connect @ 2017-03-17 17:13:41 UTC
333283
333284         · 31da90edd9 Merge pull request #40096 from skizunov/develop3
333285
333286         · eb9a0a6fd1  When  building  up the 'master_uri_list', do not try to
333287           connect
333288
333289       · PR #40111: (eldadru) Fixing simple issue 40081 - the key parameter of
333290         the method create ov… @ 2017-03-17 17:00:03 UTC
333291
333292         · 5303386d93       Merge      pull      request      #40111      from
333293           eldadru/fix-issue-40081-boto-rds-create-overwritten-key-parameter
333294
333295         · 78b5d112d7 Fixing simple issue 40081 - the  key  parameter  of  the
333296           method create overwritten by internal loop.
333297
333298       · PR #40118: (rallytime) Add CLI Example for dockerng.get_client_args @
333299         2017-03-17 16:34:13 UTC
333300
333301         · d2e376e8f2 Merge pull request #40118 from rallytime/cli-example
333302
333303         · bb496bb7f4 Add CLI Example for dockerng.get_client_args
333304
333305       · PR #40097: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333306         @ 2017-03-17 15:17:08 UTC
333307
333308         · baef5009aa Merge pull request #40097 from rallytime/merge-2016.11
333309
333310         · ef1ff38f8d Merge branch '2016.3' into '2016.11'
333311
333312         · 116201f345  Merge  pull  request  #40059 from terminalmage/fix-vir‐
333313           tualenv-traceback
333314
333315           · e3cfd29d6b Fix traceback when virtualenv.managed is invoked  with
333316             nonexistant user
333317
333318         · a01b52b9a3 Merge pull request #40090 from rallytime/bp-40056
333319
333320           · ae012db87a update mention bot blacklist
333321
333322         · d1570bba4c Merge pull request #40057 from cachedout/ollie_blacklist
333323
333324           · 0ac2e83d37 Merge branch '2016.3' into ollie_blacklist
333325
333326           · 5592c680b5 More mentionbot blacklists
333327
333328       · ISSUE  #39771: (mirceaulinic) Empty __proxy__ dunder inside scheduler
333329         (refs: #40077)
333330
333331       · PR #40077: (mirceaulinic) Fix #39771 (Empty __proxy__  dunder  inside
333332         scheduler) @ 2017-03-16 20:56:02 UTC
333333
333334         · 9ef3e070c2 Merge pull request #40077 from cloudflare/fix-39771
333335
333336         · cd319e7e39 Add proxy kwarg to scheduler
333337
333338         · c6e6dd1a04 ProxyMinion: correctly build the scheduler
333339
333340       · PR #40088: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333341         @ 2017-03-16 19:58:44 UTC
333342
333343         · b12720a56f Merge pull request #40088 from rallytime/merge-2016.11
333344
333345         · 626bd03885 Merge branch '2016.3' into '2016.11'
333346
333347         · d36bdb1a6e Merge pull request #40070 from Ch3LL/2016.3.6_release
333348
333349           · a1f8b49bd1 update 2016.3.6 release notes with additional PR's
333350
333351         · 8dcffc7751  Merge  pull  request  #40018  from   meaksh/2016.3-han‐
333352           dling-timeouts-for-manage.up-runner
333353
333354           · 9f5c3b7dcd  Allows  to  set  custom  timeouts for 'manage.up' and
333355             'manage.status'
333356
333357           · 2102d9c75c Allows to set 'timeout' and  'gather_job_timeout'  via
333358             kwargs
333359
333360         · 22fc5299a2       Merge      pull      request      #40038      from
333361           velom/fix-pip-freeze-parsing
333362
333363           · 3fae91d879 correctly parse "pkg_name===version" from pip freeze
333364
333365         · 3584f935fa Merge pull request #40053 from saltstack/rh_ip_patch
333366
333367           · 219947acdb Update rh_ip.py
333368
333369         · 837432d3d2 Merge pull request #40041 from terminalmage/issue40011
333370
333371           · 5b5d1b375c Fix transposed lines in salt.utils.process
333372
333373       · PR #40055:  (rallytime)  Update  "yaml"  code-block  references  with
333374         "jinja" where needed @ 2017-03-16 16:30:38 UTC
333375
333376         · 703ab23953 Merge pull request #40055 from rallytime/doc-build-warn‐
333377           ings
333378
333379         · 72d16c9fa9 Update "yaml" code-block references with  "jinja"  where
333380           needed
333381
333382       · PR   #40072:  (meaksh)  [2016.11]  Allows  overriding  'timeout'  and
333383         'gather_job_timeout' to 'manage.up' runner call @ 2017-03-16 15:31:46
333384         UTC
333385
333386         · PR    #40018:    (meaksh)    Allows    overriding   'timeout'   and
333387           'gather_job_timeout' to 'manage.up' runner call (refs: #40072)
333388
333389         · e73a1d0e54  Merge  pull  request  #40072  from  meaksh/2016.11-han‐
333390           dling-timeouts-for-manage.up-runner
333391
333392         · 40246d3723  Allows to set custom timeouts for 'manage.up' and 'man‐
333393           age.status'
333394
333395         · ad232fdc01 Allows to set  'timeout'  and  'gather_job_timeout'  via
333396           kwargs
333397
333398       · PR  #40045:  (terminalmage)  Fix  error  when  chhome  is  invoked by
333399         user.present state in Windows @ 2017-03-15 19:00:41 UTC
333400
333401         · 2f28ec26ee Merge pull  request  #40045  from  terminalmage/fix-win‐
333402           dows-user-present
333403
333404         · 359af3bb2b  Fix  error when chhome is invoked by user.present state
333405           in Windows
333406
333407       · PR #40047: (rallytime)  Back-port  #40000  to  2016.11  @  2017-03-15
333408         17:47:37 UTC
333409
333410         · PR  #40000:  (skizunov) Fix exception in salt-call when master_type
333411           is 'disable' (refs: #40047)
333412
333413         · 4067625676 Merge pull request #40047 from rallytime/bp-40000
333414
333415         · 11766c7259 Fix exception in salt-call when master_type is 'disable'
333416
333417       · PR #40023: (jeanpralo) We need to match on .p  not  just  strip  '.p'
333418         otherwise it will remove a… @ 2017-03-14 23:14:56 UTC
333419
333420         · 86f7195e0e   Merge  pull  request  #40023  from  jeanpralo/fix-min‐
333421           ions-cant-finish-by-char-p
333422
333423         · d7b0c8ae88 We need to match on .p not just strip '.p' otherwise  it
333424           will remove any p from the string even if we have no dot
333425
333426       · PR #40025: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333427         @ 2017-03-14 23:14:33 UTC
333428
333429         · 277bd17ff2 Merge pull request #40025 from rallytime/merge-2016.11
333430
333431         · 029f28bbd5 Merge branch '2016.3' into '2016.11'
333432
333433         · ee7f3b1200 Merge pull request #40021 from Ch3LL/2016.3.6_release
333434
333435           · f3e7e4fb2a Add 2016.3.6 Release Notes
333436
333437         · 26895b7be2   Merge   pull    request    #40016    from    terminal‐
333438           mage/fix-grains-test
333439
333440           · 0ec81a4cde Fixup a syntax error
333441
333442           · 5d84b40bfd Attempt to fix failing grains tests in 2016.3
333443
333444         · 0c61d064ad Merge pull request #39980 from vutny/cmd-run-state-bg
333445
333446           · a81dc9dfc1 [2016.3] Allow to use bg kwarg for cmd.run state func‐
333447             tion
333448
333449         · b042484455 Merge pull request #39994  from  rallytime/ulimits-dock‐
333450           erng-version
333451
333452           · 37bd800fac Add a versionadded tag for dockerng ulimits addition
333453
333454         · e125c94ba5   Merge  pull  request  #39988  from  terminalmage/dock‐
333455           erng-timeout
333456
333457           · bd2519ed1b Add comment explaining change from #39973
333458
333459       · PR #40020: (dmurphy18) Full support for execution module timezone  on
333460         AIX @ 2017-03-14 21:05:31 UTC
333461
333462         · 8db74fb275 Merge pull request #40020 from dmurphy18/aix_timezone
333463
333464         · aabbbffd45 Full support to execution module timezone on AIX
333465
333466         · 16d5c7ce4a WIP: timezone support for AIX
333467
333468       · PR  #39924:  (dmurphy18) Add AIX support for user and group execution
333469         modules @ 2017-03-14 21:04:02 UTC
333470
333471         · 60066da614 Merge pull request #39924 from dmurphy18/salt_aix_fixMar
333472
333473         · 5077c989bb Updated changes file for added AIX support
333474
333475         · 8e107bd43e WIP: support for useradd on AIX
333476
333477         · 2f87d727d6 WIP: group support for AIX
333478
333479       · PR #40010: (jettero) S3 bucket path broken @ 2017-03-14 19:01:01 UTC
333480
333481         · cd73eafec8    Merge    pull    request     #40010     from     jet‐
333482           tero/s3-bucket-path-broken
333483
333484         · acee5bf7c8 clarify this, because it messes people up in the mailing
333485           lists, and myself briefly before I thought about it
333486
333487         · 8102ac8e3c same here
333488
333489         · 21b79e00be In order for the heredoc to be correct, bucket and  path
333490           have to default to '', not None
333491
333492       · PR  #39991:  (terminalmage)  Document the fact that the checksum type
333493         can be omitted in file.managed states @ 2017-03-14 15:58:11 UTC
333494
333495         · 61f1fb04c5   Merge   pull    request    #39991    from    terminal‐
333496           mage/source_hash-docs
333497
333498         · 537fc36029  Document the fact that the checksum type can be omitted
333499           in file.managed states
333500
333501       · PR #39984: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333502         @ 2017-03-13 18:30:16 UTC
333503
333504         · 53d14d8ad9 Merge pull request #39984 from rallytime/merge-2016.11
333505
333506         · ef6f4b15ca Merge branch '2016.3' into '2016.11'
333507
333508         · cd0336e868   Merge  pull  request  #39973  from  terminalmage/dock‐
333509           erng-timeout
333510
333511           · 869416e7db Don't use docker.Client instance from context if miss‐
333512             ing attributes
333513
333514       · PR #39967: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333515         @ 2017-03-10 23:45:33 UTC
333516
333517         · 31c00740e7 Merge pull request #39967 from rallytime/merge-2016.11
333518
333519         · 3022466615 Merge branch '2016.3' into '2016.11'
333520
333521         · 282c607d26 Merge pull request  #39962  from  cachedout/disable_men‐
333522           tionbot_delay_3
333523
333524           · 7a638f204b Disable mention bot delay on 2016.3
333525
333526         · 1e0c88ae08 Merge pull request #39937 from cachedout/gpg_zypper
333527
333528           · 13ed0d1209 Fix --non-gpg-checks in zypper module
333529
333530       · PR  #39963:  (cachedout)  Mention  bot  delay  disable  for 2016.11 @
333531         2017-03-10 20:25:25 UTC
333532
333533         · 269a2fd739 Merge pull request  #39963  from  cachedout/disable_men‐
333534           tionbot_delay_11
333535
333536         · 5fcea05691 Mention bot delay disable for 2016.11
333537
333538       · ISSUE  #7997:  (shantanub)  Proper  way  to  upgrade  salt-minions  /
333539         salt-master  packages  without  losing  minion  connectivity   (refs:
333540         #39952)
333541
333542       · PR  #39952: (vutny) Fix #7997: describe how to upgrade Salt Minion in
333543         a proper way @ 2017-03-10 18:41:57 UTC
333544
333545         · 6350b07384  Merge  pull  request  #39952  from   vutny/doc-faq-min‐
333546           ion-upgrade-restart
333547
333548         · d989d749d6  Fix  #7997:  describe  how  to upgrade Salt Minion in a
333549           proper way
333550
333551       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
333552         (refs: #39935, #saltstack/salt`#39935`_, #39776)
333553
333554       · PR  #39935:  (cro) Add special token to insert the minion id into the
333555         default_include path @ 2017-03-10 17:51:55 UTC
333556
333557         · dc7d4f4224 Merge pull request #39935 from cro/namespace_proxy_cfg
333558
333559         · e4aef54c73 Add special token to  insert  the  minion  id  into  the
333560           default_include path
333561
333562       · PR #39936: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333563         @ 2017-03-10 17:05:04 UTC
333564
333565         · 9503a1d0c6 Merge pull request #39936 from rallytime/merge-2016.11
333566
333567         · c8b5d390b5 Merge branch '2016.3' into '2016.11'
333568
333569           · 4526fc6e08   Merge   pull   request   #39929    from    terminal‐
333570             mage/pr-39770-2016.3
333571
333572             · cf0100dabe Scrap event-based approach for refreshing grains
333573
333574           · 111110caf8 Merge pull request #39919 from The-Loeki/patch-1
333575
333576             · 170cbadc54 CIDR matching supports IPv6, update docs
333577
333578           · caf10e9988 Merge pull request #39899 from techhat/cleanupdisks
333579
333580             · baf4579e63 Update cleanup function for azure
333581
333582           · fcf95f3654    Merge    pull   request   #39871   from   terminal‐
333583             mage/squelch-import-warning
333584
333585             · 2b2ec69d04 Squelch warning for pygit2 import
333586
333587           · f223fa8906 Merge pull request #39794  from  cachedout/clean_moni‐
333588             tor_socket_shutdown
333589
333590             · 2e683e788b Clean up errors which might be thrown when the moni‐
333591               tor socket shuts down
333592
333593           · 4002dc1947   Merge   pull   request   #39819    from    terminal‐
333594             mage/top-file-matching-docs
333595
333596             · 7178e77eee Improve the Top File matching docs
333597
333598           · c08aaeb7fd   Merge   pull   request   #39820  from  ni3mm4nd/bea‐
333599             cons_topic_doc_typo
333600
333601             · 804b12048c Add missing apostrophe
333602
333603           · cbd2a4e3cc Merge pull request #39826 from cachedout/yubikey_fix
333604
333605             · 6125eff02d Add group func to yubikey auth
333606
333607           · f575ef459f Merge pull request #39624 from drawsmcgraw/39622
333608
333609             · 13da50be33 Fix indention lint errors
333610
333611             · 545026352f Address issue 39622
333612
333613           · 1f3619c1e5 Merge pull request #39796 from  cachedout/master_shut‐
333614             down
333615
333616             · e31d46c1b8  Stop the process manager when it no longer has pro‐
333617               cesses to manage
333618
333619           · 53341cf152 Merge pull request #39791 from gtmanfred/2016.3
333620
333621             · 3ab4f843bf load runners if role is master
333622
333623           · c234c25092 Merge pull request #39784 from sergeizv/fix-39782
333624
333625             · b71c3fe13c Revert "cloud.clouds.ec2: cache each named  node  (‐
333626               #33164)"
333627
333628           · 4ee59be22c Merge pull request #39766 from rallytime/fix-ipv6-con‐
333629             nection
333630
333631             · 65b239664e Restore ipv6 connectivity and "master:  <ip>:<port>"
333632               support
333633
333634       · ISSUE  #38121:  (Da-Juan) Beacon configuration doesn't work as a list
333635         (refs: #39932, #39930)
333636
333637       · PR #39932: (rallytime) Cherry-pick the beacon fixes made in #39930 to
333638         2016.11 @ 2017-03-10 00:21:09 UTC
333639
333640         · PR #39930: (s0undt3ch) Moar Py3 and a fix for #38121 (refs: #39932)
333641
333642         · 899e037f0a Merge pull request #39932 from rallytime/cp-beacon-fixes
333643
333644         · 4a52cca926 Pylint fixes
333645
333646         · 4627c4ea6d  Code  cleanup  and make sure the beacons config file is
333647           deleted after testing
333648
333649         · c7fc09f97d Support the new list configuration format.
333650
333651         · be06df9b64 Remove *args, **kwargs. Not needed, not useful.
333652
333653         · 4a242829ee These tests aren't even using mock!
333654
333655         · 6408b123e7 These tests are not destructive
333656
333657         · 50e51b5b9d The beacons configuration is now a list. Handle it!
333658
333659       · PR #39933: (hkrist) Fixed rawfile_json  returner  output  format.   @
333660         2017-03-10 00:20:52 UTC
333661
333662         · 2e68edee4a   Merge   pull   request   #39933  from  hkrist/fix-raw‐
333663           file_json_returner-format
333664
333665         · 4d0ddcd110 Fixed rawfile_json returner output format. It  outputted
333666           python object instead of standard json.
333667
333668       · PR  #39934:  (dmurphy18)  Correct comment lines output from execution
333669         module's host.list_hosts @ 2017-03-10 00:20:14 UTC
333670
333671         · fb0dc33c42 Merge pull request #39934 from dmurphy18/fix_host_list
333672
333673         · e7b9a45079 Correct comment lines output got list_hosts
333674
333675       · PR  #39900:  (twangboy)  Namespace  the  line  function  properly  in
333676         win_file @ 2017-03-09 22:19:12 UTC
333677
333678         · a6f88d03df Merge pull request #39900 from twangboy/win_fix_line
333679
333680         · 462bdecd33 Namespace the line function properly in win_file
333681
333682       · ISSUE   #37741:   (discountbin)   Check  in  file.replace  state  for
333683         ignore_if_missing (refs: #37743, #39910)
333684
333685       · PR #39910: (rallytime)  Back-port  #37743  to  2016.11  @  2017-03-09
333686         22:16:58 UTC
333687
333688         · PR  #37743:  (discountbin) Adding check for ignore_if_missing param
333689           when calling _check_file. (refs: #39910)
333690
333691         · 77ecff4e02 Merge pull request #39910 from rallytime/bp-37743
333692
333693         · ca306c0860 Replace pass with updated comment for return
333694
333695         · 1a78878b47 Adding check for ignore_if_missing  param  when  calling
333696           _check_file.
333697
333698       · PR #39770: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333699         @ 2017-03-09 22:00:17 UTC
333700
333701         · c2d4d17589 Merge pull request #39770 from rallytime/merge-2016.11
333702
333703         · dbaea3de73 Remove extra refresh reference that snuck in
333704
333705         · d9f48ac6ea Don't shadow refresh_pillar
333706
333707         · d86b03dc90 Remove manual refresh code from minion.py
333708
333709         · a7e419e35f Scrap event-based approach for refreshing grains
333710
333711         · 776a9431b9 Merge branch '2016.3' into '2016.11'
333712
333713           · a24da31131 Merge pull request #39761 from cachedout/issue_33187
333714
333715             · c2df29edb2 Properly display error in jboss7 state
333716
333717           · 0888bc32ef   Merge    pull    request    #39728    from    rally‐
333718             time/update-release-ver-2016.3
333719
333720             · c9bc8af8f2 [2016.3] Bump latest release version to 2016.11.3
333721
333722           · b52dbeec68 Merge pull request #39619 from terminalmage/zd1207
333723
333724             · c7dfb494a6 Fix mocking for grains refresh
333725
333726             · 7e0ced3b45 Properly hand proxy minions
333727
333728             · 692c456da3 Add a function to simply refresh the grains
333729
333730       · PR  #39872:  (techhat)  Add  installation  tips for azurearm driver @
333731         2017-03-07 23:18:04 UTC
333732
333733         · 801ff28053 Merge pull request #39872 from techhat/fixdocs
333734
333735         · 35440c5936 Add installation tips for azure
333736
333737         · 2a1ae0bf2e Change example master in azure docs
333738
333739       · PR #39837: (terminalmage) Fix regression in archive.extracted when it
333740         runs file.directory @ 2017-03-07 04:09:51 UTC
333741
333742         · 6d0f15c31a    Merge    pull    request    #39837   from   terminal‐
333743           mage/more-issue39751
333744
333745         · 0285ff3c7d  Fix  regression  in  archive.extracted  when  it   runs
333746           file.directory
333747
333748       · PR  #39858:  (techhat)  Reorder  keys that were being declared in the
333749         wrong place @ 2017-03-07 03:51:56 UTC
333750
333751         · 68752a2a18 Merge pull request #39858 from techhat/statuskey
333752
333753         · 507a4f7f93 Reorder keys that were being declared in the wrong place
333754
333755       · ISSUE #38830: (danielmotaleite) salt-ssh: vault fails to  use  config
333756         (refs: #38943)
333757
333758       · PR  #39862:  (rallytime)  Back-port  #38943  to  2016.11 @ 2017-03-07
333759         03:34:40 UTC
333760
333761         · PR #38943: (thatch45) When we generate the pillar we should send in
333762           the master opts (refs: #39862)
333763
333764         · 49c8faa141 Merge pull request #39862 from rallytime/bp-38943
333765
333766         · e21b16c002 try it with a different init sequence
333767
333768         · 92cac0ff8b make it a deepcopy
333769
333770         · 58cb8cd4f5  make  sure  to copy the top dict reference since we are
333771           moding it
333772
333773         · a0b671ea43 When we generate the pillar we should send in the master
333774           opts
333775
333776       · PR  #39852:  (rallytime)  Back-port  #39651  to  2016.11 @ 2017-03-06
333777         21:18:34 UTC
333778
333779         · PR #39651: (DennisHarper) Checking Instance when calling a function
333780           that can return None (refs: #39852)
333781
333782         · 8ecc719f90 Merge pull request #39852 from rallytime/bp-39651
333783
333784         · bb5ddbe18c  Checking  instance  exists  in  master._get_cached_min‐
333785           ion_data when cache.fetch returns None
333786
333787         · 79f2a7cbb7 Update __init__.py
333788
333789         · e2a232921d  Checking  instance  exists  in  master._get_cached_min‐
333790           ion_data when cache.fetch returns None
333791
333792         · 838774291d Update __init__.py
333793
333794         · ff6f63e9dd  Checking  instance  exists  in  master._get_cached_min‐
333795           ion_data when cache.fetch returns None
333796
333797         · 855f87554c  Checking  instance  exists  in  master._get_cached_min‐
333798           ion_data when cache.fetch returns None
333799
333800       · ISSUE  #39052:  (githubcdr)  Minion restart very slow since 2016.11.2
333801         (refs: #39104)
333802
333803       · PR #39851: (rallytime)  Back-port  #39104  to  2016.11  @  2017-03-06
333804         21:17:43 UTC
333805
333806         · PR #39104: (githubcdr) Do not use name resolving for --notrim check
333807           (refs: #39851)
333808
333809         · 897275ae5f Merge pull request #39851 from rallytime/bp-39104
333810
333811         · 6539dbdbca Do not use name resolving for --notrim check
333812
333813       · ISSUE #38231: (tjuup) Typo: salt-key deleteed (refs: #39799)
333814
333815       · PR #39799: (Ch3LL)  Fix  deleteed  message  when  key  is  deleted  @
333816         2017-03-03 05:17:43 UTC
333817
333818         · d0440e2a2a Merge pull request #39799 from Ch3LL/fix_salt_key_msg
333819
333820         · 8346682cf7 Fix deleteed message when key is deleted
333821
333822       · ISSUE   #38962:  (gstachowiak)  Broken  /jobs  in  salt-api  in  salt
333823         2016.11.1 (Carbon) (refs: #39472)
333824
333825       · PR #39472: (whiteinge) Update _reformat_low to not  run  kwarg  dicts
333826         through parse_input @ 2017-03-02 17:46:20 UTC
333827
333828         · 9f70ad7164   Merge   pull  request  #39472  from  whiteinge/_refor‐
333829           mat_low-update
333830
333831         · d11f5381a4 Add RunnerClient test for old/new-style arg/kwarg  pars‐
333832           ing
333833
333834         · ec377ab379 Reenable skipped RunnerClient tests
333835
333836         · 27f7fd9ad4 Update _reformat_low to run arg through parse_input
333837
333838         · 5177153459 Revert parse_input change from #32005
333839
333840       · PR  #39727:  (terminalmage) salt.modules.state: check gathered pillar
333841         for errors instead of in-memory pillar @ 2017-03-02 17:06:43 UTC
333842
333843         · 7dfc4b572a Merge pull request #39727 from terminalmage/issue39627
333844
333845         · 3bb0ebd872 Update tests for PR 39727
333846
333847         · c334b59c96 salt.modules.state: check  gathered  pillar  for  errors
333848           instead of in-memory pillar
333849
333850         · 97dd8a13d9  Ensure  that  ext_pillar begins with pillar_override if
333851           ext_pillar_first is True
333852
333853         · f951266944 Add log message for successful makostack processing
333854
333855       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
333856         (refs: #39935, #saltstack/salt`#39935`_, #39776)
333857
333858       · PR  #39776:  (mirceaulinic) WIP: Save _schedule.conf under <proxy ID>
333859         dir @ 2017-03-02 16:27:45 UTC
333860
333861         · 965f474316 Merge pull request #39776 from cloudflare/proxy-schedule
333862
333863         · 35b8b8fd64 Save _schedule.conf under <minion ID> dir
333864
333865       · PR  #39788:  (cachedout)  Disable  one  API  test  that  is  flaky  @
333866         2017-03-02 16:17:31 UTC
333867
333868         · 555f1473f6   Merge   pull   request   #39788   from  cachedout/dis‐
333869           able_api_test
333870
333871         · 523e377b33 Disable one API test that is flaky
333872
333873       · PR  #39762:  (terminalmage)  Fix  regression  in  file.get_managed  @
333874         2017-03-02 02:59:34 UTC
333875
333876         · 793979cbe6 Merge pull request #39762 from terminalmage/issue39751
333877
333878         · 64db0b8563 Add integration tests for remote file sources
333879
333880         · f9f894d981 Fix regression in file.get_managed when skip_verify=True
333881
333882         · 28651a6699 Remove next(iter()) extraction
333883
333884       · ISSUE  #35088:  (Modulus) salt/cloud/ec2.py encoding problems. (refs:
333885         #37912)
333886
333887       · PR #39767: (rallytime)  Back-port  #38316  to  2016.11  @  2017-03-02
333888         02:54:57 UTC
333889
333890         · PR #38316: (mlalpho) salt utils aws encoding fix (refs: #39767)
333891
333892         · PR  #37912:  (attiasr)  fix  encoding  problem aws responses (refs:
333893           #38316)
333894
333895         · 91a9337ab3 Merge pull request #39767 from rallytime/bp-38316
333896
333897         · 1dcf018df7 requests api says  Response.encoding  can  sometimes  be
333898           None
333899           http://docs.python-requests.org/en/master/api/#requests.Response.encoding
333900           and result.text.encode() doesn't accept None and expects a string.
333901
333902       · ISSUE  #39692: (djsly) tuned module and state are broken on 7.3 fami‐
333903         lies.  (refs: #40387, #39719, #39768)
333904
333905       · PR #39768: (rallytime)  Back-port  #39719  to  2016.11  @  2017-03-02
333906         02:54:40 UTC
333907
333908         · PR  #39719:  (Seb-Solon)  Support  new  version of tuned-adm binary
333909           (refs: #39768)
333910
333911         · 4a01bd64ea Merge pull request #39768 from rallytime/bp-39719
333912
333913         · d7cb70f203 Enh: Support new version of tuned-adm binary
333914
333915       · PR #39760: (Ch3LL) Initial 2016.11.4 Release Notes Doc  @  2017-03-01
333916         18:43:39 UTC
333917
333918         · 780457f934 Merge pull request #39760 from Ch3LL/2016.11.4_notes
333919
333920         · 1853c998c4 add initial 2016.11.4 release notes
333921
333922       · PR  #39731:  (twangboy)  Add  docs  for  Kwargs  in  pkg.refresh_db @
333923         2017-02-28 22:02:59 UTC
333924
333925         · 0147f78ab5 Merge pull request #39731 from twangboy/win_pkg_docs
333926
333927         · 423e6f7448 Add docs for Kwargs in pkg.refresh_db
333928
333929       · ISSUE  #39710:  (huangfupeng)  schedule.add  parameter  can  not  use
333930         “after“ (refs: #39734)
333931
333932       · PR  #39734:  (garethgreenaway)  Missing parameter in the schedule.add
333933         function @ 2017-02-28 20:43:08 UTC
333934
333935         · fce2d184f3   Merge   pull   request   #39734   from    garethgreen‐
333936           away/39710_missing_schedule_add_parameter
333937
333938         · 63eb610245  Per #39710, missing parameter in the schedule.add func‐
333939           tion
333940
333941       · PR #39729: (rallytime)  [2016.11]  Bump  latest  release  version  to
333942         2016.11.3 @ 2017-02-28 18:08:25 UTC
333943
333944         · 7b4865c058     Merge    pull    request    #39729    from    rally‐
333945           time/update-release-ver-2016.11
333946
333947         · b5a7111ad9 [2016.11] Bump latest release version to 2016.11.3
333948
333949       · PR #39721: (vutny) DOCS: add 2nd level header for advanced  targeting
333950         methods @ 2017-02-28 17:57:46 UTC
333951
333952         · 47e494fe07 Merge pull request #39721 from vutny/doc-targeting
333953
333954         · 1d86cf1161  DOCS: add 2nd level header for advanced targeting meth‐
333955           ods
333956
333957       · ISSUE #39683: (alankrita) Error in Saltstack's rest auth "Authentica‐
333958         tion module threw 'status' " (refs: #39711)
333959
333960       · PR  #39711: (alankrita) Fix error in Saltstack's rest auth "Authenti‐
333961         cation module threw 'status' " @ 2017-02-28 15:56:09 UTC
333962
333963         · d39b679d82 Merge pull request #39711 from alankrita/fix-rest-eauth
333964
333965         · ee426562a7 Fix error in Saltstack's rest auth "Authentication  mod‐
333966           ule threw 'status' "
333967
333968       · PR  #39699:  (techhat)  Strip  shabang line from rendered HTTP data @
333969         2017-02-28 00:05:01 UTC
333970
333971         · 3940321462 Merge pull request #39699 from techhat/httpshabang
333972
333973         · 559eb93576 Strip shabang line from rendered HTTP data
333974
333975       · PR #39694: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
333976         @ 2017-02-27 22:13:49 UTC
333977
333978         · 00f121eade Merge pull request #39694 from rallytime/merge-2016.11
333979
333980         · 756f1de2d2 Merge branch '2016.3' into '2016.11'
333981
333982           · 3f8b5e6733 Merge pull request #39487 from bobrik/mode-docs
333983
333984             · 41ef69b3ca Document default permission modes for file module
333985
333986           · f7389bf1f5      Merge      pull      request      #39641     from
333987             smarsching/issue-39169-2016.3
333988
333989             · 88c2d9a540 Fix return data structure for runner (issue #39169).
333990
333991           · fc970b6a16 Merge pull request #39633  from  terminalmage/fix-sys‐
333992             temd-typo
333993
333994             · ca54541abe Add missing unit test for disable func
333995
333996             · 17109e1522 Fix misspelled argument in salt.modules.systemd.dis‐
333997               able()
333998
333999           · 53e78d67f6 Merge pull request #39613 from terminalmage/fix-docs
334000
334001             · 9342eda377 Fix inaccurate documentation
334002
334003       · ISSUE #39642:  (drawsmcgraw)  boto_vpc.nat_gateway_present  does  not
334004         honor the allocation_id parameter like the module does (refs: #39643)
334005
334006       · PR  #39643:  (drawsmcgraw) issue 39642 - boto_vpc.nat_gateway_present
334007         should accept parameter al… @ 2017-02-27 20:19:09 UTC
334008
334009         · 2c919e31d6 Merge pull request #39643 from drawsmcgraw/39642
334010
334011         · 56d9adfbf6 issue 39642 - boto_vpc.nat_gateway_present should accept
334012           parameter allocation_id.
334013
334014       · PR   #39666:   (terminalmage)  Rewrite  the  test_valid_docs  test  @
334015         2017-02-26 20:14:33 UTC
334016
334017         · df013c5f31   Merge   pull    request    #39666    from    terminal‐
334018           mage/test_valid_docs
334019
334020         · 5a3c099e4f Rewrite the tests_valid_docs test
334021
334022       · PR  #39662:  (The-Loeki)  Py3  compat: Force minions to be a list for
334023         local serialized caches @ 2017-02-26 02:36:46 UTC
334024
334025         · a29a7be7f8 Merge pull request #39662 from The-Loeki/py3cachefix
334026
334027         · b02ef984f7 Add comment
334028
334029         · 0fe5c90a05 Py3 compat: Force minions to be a list for local serial‐
334030           ized caches
334031
334032       · PR #39644: (vutny) Improve and align dockerng execution module docs @
334033         2017-02-25 04:16:28 UTC
334034
334035         · bd6efd18b1 Merge pull request #39644 from vutny/dockerng-docs
334036
334037         · c4988e874e Improve and align dockerng execution module docs
334038
334039       · PR #39516: (jettero) Prevent spurious "Template does not exist" error
334040         @ 2017-02-24 23:41:36 UTC
334041
334042         · fffab54078   Merge   pull  request  #39516  from  jettero/give-pil‐
334043           larenv-tops-similar-treatment
334044
334045         · 8fe48fa5c4 prevent billions of inexplicable lines of this:
334046
334047       · PR #39654: (skizunov) Fix issue where compile_pillar  failure  causes
334048         minion to exit @ 2017-02-24 22:47:52 UTC
334049
334050         · be9629b180 Merge pull request #39654 from skizunov/develop2
334051
334052         · 9f80bbce07  Fix issue where compile_pillar failure causes minion to
334053           exit
334054
334055       · PR #39653:  (cachedout)  Use  salt's  ordereddict  for  comparison  @
334056         2017-02-24 22:46:24 UTC
334057
334058         · e63cbbaab9 Merge pull request #39653 from cachedout/26_odict
334059
334060         · 91eb7210bb Use salt's ordereddict for comparison
334061
334062       · ISSUE  #38836:  (toanctruong)  file.managed with S3 Source errors out
334063         with obscure message (refs: #39609, #39589)
334064
334065       · PR #39609: (gtmanfred) intialize  the  Client  stuff  in  FSClient  @
334066         2017-02-24 18:50:55 UTC
334067
334068         · 0bc6027e68 Merge pull request #39609 from gtmanfred/2016.11
334069
334070         · 0820620ef8 intialize the Client stuff in FSClient
334071
334072       · PR  #39615:  (skizunov)  Bonjour/Avahi  beacons: Make sure TXT record
334073         length is valid @ 2017-02-24 18:47:05 UTC
334074
334075         · 28035c07b3 Merge pull request #39615 from skizunov/develop2
334076
334077         · b1c7e9b505 Bonjour/Avahi beacons: Make sure TXT  record  length  is
334078           valid
334079
334080       · PR #39617: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334081         @ 2017-02-24 16:07:55 UTC
334082
334083         · e9410fb669 Merge pull request #39617 from rallytime/merge-2016.11
334084
334085         · 13622899d2 Merge branch '2016.3' into '2016.11'
334086
334087         · 4e2b852f83 Merge pull request #39600 from vutny/state-file-docs
334088
334089           · 9b0427c27a state.file: drop non-relevant examples for source_hash
334090             parameter
334091
334092         · ed83420417 Merge pull request #39584 from cachedout/mentionbot_docs
334093
334094           · 652044b18f A note in the docs about mentionbot
334095
334096         · d3e50b4f2f   Merge  pull  request  #39583  from  cachedout/mention‐
334097           bot_blacklist
334098
334099           · 62491c900d Add empty blacklist to mention bot
334100
334101       · ISSUE #38758: (bobrik) Remote  state  execution  is  much  slower  on
334102         2016.11.1 compared to 2016.3.4 (refs: #39505)
334103
334104       · ISSUE #33575: (anlutro) File states seem slower in 2016.3, especially
334105         on first cache retrieval (refs: #33896)
334106
334107       · ISSUE #29643: (matthayes) Can't get batch mode and --failhard to work
334108         as expected (refs: #31164)
334109
334110       · ISSUE #28569: (andrejohansson) Reactor alert on highstate fail (refs:
334111         #31164)
334112
334113       · PR #39505: (cachedout) Threadsafety option for context dictionaries @
334114         2017-02-23 19:38:13 UTC
334115
334116         · PR  #37378:  (skizunov)  Fix __context__ to properly sandbox (refs:
334117           #39505)
334118
334119         · PR #33896: (DmitryKuzmenko) Don't deep copy  context  dict  values.
334120           (refs: #39505)
334121
334122         · PR #31164: (DmitryKuzmenko) Issues/29643 fix invalid retcode (refs:
334123           #33896)
334124
334125         · 0d31201e08 Merge pull request #39505 from cachedout/issue_38758
334126
334127         · 1dba2f9cb0 Add warning in docs
334128
334129         · 9cf654b72c Threadsafety option for context dictionaries
334130
334131       · PR #39507: (joe-niland) Detect IIS version and vary certificate asso‐
334132         ciation command depending on version @ 2017-02-23 19:15:40 UTC
334133
334134         · c0d4357f46       Merge      pull      request      #39507      from
334135           joe-niland/iis-7-cert-binding
334136
334137         · c94f0b8c62 Fix additional issue whereby existing certificate  bind‐
334138           ings  were  not  found in IIS 7.5, due to the fact that IIS earlier
334139           than 8 doesn't support SNI
334140
334141         · 18effe0103 Detect IIS version and vary certificate association com‐
334142           mand depending on version
334143
334144       · PR  #39565: (terminalmage) states.file.patch/modules.file.check_hash:
334145         use hash length to determine type @ 2017-02-23 19:14:28 UTC
334146
334147         · e6f5e8a474 Merge pull request #39565 from terminalmage/issue39512
334148
334149         · cbdf905b9f Update test to reflect new state comment
334150
334151         · 650dbaca4e  states.file.patch/modules.file.check_hash:   use   hash
334152           length to determine type
334153
334154       · PR  #39591:  (mcalmer)  fix  case  in os_family for Suse @ 2017-02-23
334155         19:07:17 UTC
334156
334157         · 53e22b8f15      Merge      pull      request      #39591       from
334158           mcalmer/fix-case-in-os_family
334159
334160         · 81bd96e32d fix case in os_family for Suse
334161
334162       · ISSUE  #38452: (jf) file.line with mode=delete does not preserve own‐
334163         ership of a file (refs: #39592)
334164
334165       · PR #39592: (skazi0) Ensure user/group/file_mode  after  line  edit  @
334166         2017-02-23 18:40:05 UTC
334167
334168         · aee43f7fa4 Merge pull request #39592 from skazi0/line-user-fix
334169
334170         · baf84b4430 Ensure user/group/file_mode after line edit
334171
334172       · PR  #39596:  (ticosax) Reduce scope of try except StopIteration wrap‐
334173         ping @ 2017-02-23 18:16:17 UTC
334174
334175         · 6ab4151213      Merge      pull      request      #39596       from
334176           ticosax/reduce-scope-catehed-exception
334177
334178         · 54cdacb680 Reduce scope of try except StopIteration wrapping
334179
334180       · ISSUE  #38836:  (toanctruong)  file.managed with S3 Source errors out
334181         with obscure message (refs: #39609, #39589)
334182
334183       · PR #39610: (rallytime)  Back-port  #39589  to  2016.11  @  2017-02-23
334184         17:48:03 UTC
334185
334186         · PR  #39589:  (MasterNayru)  Allow  masterless minions to pull files
334187           from S3 (refs: #39610)
334188
334189         · b1c3b84862 Merge pull request #39610 from rallytime/bp-39589
334190
334191         · 83ec174d44 Set utils property explicitly for FSClient
334192
334193         · 3889006149 Allow masterless minions to pull files from S3
334194
334195       · PR  #39606:  (rallytime)  [2016.11]  Pylint:  add  missing  import  @
334196         2017-02-23 16:39:55 UTC
334197
334198         · fe15ed9b92 Merge pull request #39606 from rallytime/lint-2016.11
334199
334200         · 71164348e7 [2016.11] Pylint: add missing import
334201
334202       · PR  #39573:  (thatch45)  Added  a few more comments to the ssl docs @
334203         2017-02-23 02:17:13 UTC
334204
334205         · PR #39554: (DmitryKuzmenko) Cosmetic: support bool value for  'ssl'
334206           config option. (refs: #39573)
334207
334208         · PR #39528: (thatch45) Add better ssl option docs (refs: #39554)
334209
334210         · 5987c4e30e Merge pull request #39573 from thatch45/ssl_docs
334211
334212         · b230c35eac This should be good to go now
334213
334214       · PR #39577: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334215         @ 2017-02-23 02:10:12 UTC
334216
334217         · b8e321cbec Merge pull request #39577 from rallytime/merge-2016.11
334218
334219         · 397c756a01 Merge branch '2016.3' into '2016.11'
334220
334221           · 8352e6b44b Merge pull request #39579 from rallytime/fix-lint
334222
334223             · 65889e1f30 [2016.3] Pylint: Remove unused import
334224
334225           · 43dba3254c Merge pull request #39578 from cachedout/2016.3
334226
334227             · 344499eef7 Add mention-bot configuration
334228
334229         · c52cecd856 Fix syntax error leftover from incomplete merge-conflict
334230           resolution
334231
334232         · 7b9b3f700d Merge branch '2016.3' into '2016.11'
334233
334234           · 8f7a0f9d96    Merge    pull    request    #39542    from   twang‐
334235             boy/gate_ssh_known_hosts
334236
334237             · c90a52ef27 Remove expensive check
334238
334239             · 6d645cae0e Add __virtual__ function
334240
334241           · c10965833a Merge pull request #39289 from bobrik/autodetect-ipv6
334242
334243             · 2761a1b244 Move new kwargs to the end of argument list
334244
334245             · 0df6b922e7 Narrow down connection exception to socket.error
334246
334247             · e8a2cc0488 Do no try to connect to salt master in syndic config
334248               test
334249
334250             · af9578631e  Properly log address that failed to resolve or pass
334251               connection check
334252
334253             · 9a34fbeba9 Actually connect to master instead of checking route
334254               availability
334255
334256             · c494839c65 Avoid bare exceptions in dns_check
334257
334258             · 29f376676d Rewrite dns_check to try to connect to address
334259
334260             · 55965ce505 Autodetect IPv6 connectivity from minion to master
334261
334262           · 3fb928b63a Merge pull request #39569 from s0undt3ch/2016.3
334263
334264             · 49da135abd  Don't  use  our  own  six  dictionary fixes in this
334265               branch
334266
334267           · 91e3319df8 Merge pull request #39508 from dincamihai/openscap
334268
334269             · 9fedb84607 Always return oscap's stderr
334270
334271             · 0ecde2cd02 Include oscap returncode in response
334272
334273           · fbe2194a93 Merge pull request #39562 from terminalmage/issue30802
334274
334275             · c50374041d Add ulimits to dockerng state/exec module
334276
334277             · da42040c1a Try the docker-py 2.0 client name first
334278
334279           · 01d4a84a2f dockerng.get_client_args: Fix path for endpoint config
334280             for some versions of docker-py (#39544)
334281
334282       · PR  #39574:  (Ch3LL)  Update  2016.11.3  release  notes  @ 2017-02-23
334283         00:10:23 UTC
334284
334285         · cff9334929      Merge      pull      request      #39574       from
334286           Ch3LL/update_release_notes
334287
334288         · c0f8c35df7 fix reference to set in docs
334289
334290         · 663f6f159d add additional PRs to 2016.11.3 release notes
334291
334292       · PR  #39528:  (thatch45)  Add  better ssl option docs (refs: #39554) @
334293         2017-02-22 18:29:47 UTC
334294
334295         · b492f7094c Merge pull request #39528 from thatch45/ssl_docs
334296
334297         · c357e37831 Add minion config
334298
334299         · 539bb2aa80 Add better ssl option docs
334300
334301       · ISSUE saltstack/salt#35869: (amontalban) timezone.system state  fails
334302         on FreeBSD when /etc/localtime does not exists (refs: #39532)
334303
334304       · PR #39532: (amontalban) Fix case when /etc/localtime is a file and it
334305         is not updated @ 2017-02-22 18:28:54 UTC
334306
334307         · 0dad49cdff  Merge  pull   request   #39532   from   amontalban/cor‐
334308           ner_case_35869
334309
334310         · f0d3c16547  Fix  case  when  /etc/localtime is a file and it is not
334311           updated
334312
334313       · PR #39540: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334314         @ 2017-02-22 18:24:01 UTC
334315
334316         · 9cfaf3b599 Merge pull request #39540 from rallytime/merge-2016.11
334317
334318         · 49fe4e891e Merge branch '2016.11' into '2016.11'
334319
334320         · c613d19e76 Merge branch '2016.3' into '2016.11'
334321
334322         · dff35b58f8 Merge pull request #39498 from terminalmage/pr-39483
334323
334324           · 20b097a745  dockerng:  compare  sets  instead  of  lists of secu‐
334325             rity_opt
334326
334327         · 6418e725ed Merge pull request #39497 from  terminalmage/docker-com‐
334328           pat-fixes
334329
334330           · cbd0270bac docker: make docker-exec the default execution driver
334331
334332           · a6a17d58aa Handle docker-py 2.0's new host_config path
334333
334334         · 9c4292fb4e Merge pull request #39423 from dincamihai/openscap
334335
334336           · 9d13422ac1 OpenSCAP module
334337
334338         · 7dd2502360 Merge pull request #39464 from gtmanfred/2016.3
334339
334340           · f829d6f9fc skip false values from preferred_ip
334341
334342         · db359ff2c3    Merge    pull    request    #39460    from    cached‐
334343           out/win_dism_test_fix
334344
334345           · e652a45592 Fix mocks in win_disim tests
334346
334347         · 9dbfba9b57 Merge pull request #39426 from morganwillcock/dism
334348
334349           · a7d5118262 Return failure when package path does not exist
334350
334351         · 56162706e3 Merge pull request #39431 from  UtahDave/fix_grains.set‐
334352           val_performance
334353
334354           · 391bbecd90 add docs
334355
334356           · 709c197f84 allow sync_grains to be disabled on grains.setval
334357
334358         · 239e16e612 Merge pull request #39405 from rallytime/fix-39304
334359
334360           · bd1fe03ce7 Update :depends: docs for boto states and modules
334361
334362         · 415102f346 Merge pull request #39411 from rallytime/fix-38762
334363
334364           · e13febe58d  Update  external_cache  docs with other configuration
334365             options
334366
334367         · 7e1803b617 Update docs on upstream EPEL7 pygit2/libgit2  issues  (‐
334368           #39421)
334369
334370       · PR  #39554:  (DmitryKuzmenko)  Cosmetic: support bool value for 'ssl'
334371         config option. (refs: #39573) @ 2017-02-22 16:59:03 UTC
334372
334373         · PR #39528: (thatch45) Add better ssl option docs (refs: #39554)
334374
334375         · 56fe2f198e   Merge   pull   request   #39554    from    DSRCorpora‐
334376           tion/bugs/ssl_bool
334377
334378         · 7a6fc11291 Cosmetic: support bool value for 'ssl' config option.
334379
334380       · PR  #39560:  (vutny) [CLOUD] Log error when private/public IP was not
334381         detected @ 2017-02-22 16:49:46 UTC
334382
334383         · cf37f83565 Merge pull request #39560 from vutny/cloud-detect-ips
334384
334385         · 567bb50884  [CLOUD]  Log  error  when  private/public  IP  was  not
334386           detected
334387
334388   Salt 2016.11.5 Release Notes
334389       Version 2016.11.5 is a bugfix release for 2016.11.0.
334390
334391   Statistics
334392       · Total Merges: 82
334393
334394       · Total Issue References: 23
334395
334396       · Total PR References: 80
334397
334398       · Contributors:   32  (BenoitKnecht,  Ch3LL,  DmitryKuzmenko,  Enquier,
334399         SolarisYan,  UtahDave,  alexproca,   benediktwerner,   bobrik,   brd,
334400         cachedout,  clinta,  corywright,  cro,  danlsgiga,  drawsmcgraw, ezh,
334401         gtmanfred, isbm,  jf,  jleproust,  lorengordon,  nevins-b,  oeuftete,
334402         peter-funktionIT,   rallytime,   rkgrunt,   senthilkumar-e,   sjorge,
334403         skizunov, terminalmage, twangboy)
334404
334405   Patched Packages
334406       Due to the critical nature of issue issue #41230  we  have  decided  to
334407       patch  the  2016.11.5  packages  with PR #41244. This issue affects all
334408       calls to a salt-minion if there is an ipv6 nameserver set on  the  min‐
334409       ion's host. The patched packages on repo.saltstack.com will divert from
334410       the v2016.11.5 tag and pypi packages due to the patches applied to  the
334411       packages.
334412
334413   Changelog for v2016.11.4..v2016.11.5
334414       Generated at: 2018-05-27 20:12:47 UTC
334415
334416       · PR  #41134:  (twangboy)  Fix  pkg.install  on  Windows  on  2016.11 @
334417         2017-05-09 15:10:19 UTC
334418
334419         · a10f0146a4 Merge pull request #41134 from twangboy/fix_get_msiexec
334420
334421         · d808a60129 Remove redundant if statement
334422
334423         · b4d6d5a927 Fix for version_num of None and Latest
334424
334425         · 0f31822a83 Fix problem when use_msiexec is a bool
334426
334427       · ISSUE #41100: (frogunder) Exception occurred in runner jobs.list_jobs
334428         (refs: #41102)
334429
334430       · PR  #41102:  (gtmanfred)  don't  pass  jid  to list_jobs @ 2017-05-08
334431         17:45:40 UTC
334432
334433         · 4ecab68bb9 Merge pull request #41102 from gtmanfred/2016.11
334434
334435         · 83057d0f0f don't pass jid to list_jobs
334436
334437         · 505cb45722 Merge  branch  'fix-file-blockreplace-diff-in-test-mode'
334438           of   https://github.com/L4rS6/salt   into   L4rS6-fix-file-blockre‐
334439           place-diff-in-test-mode
334440
334441         · de9f66b448 show chanages in file.blockreplace function  in  testing
334442           mode. also used same programming style as in file.managed function:
334443           (ret['changes']['diff'] = ret['pchanges']['diff'])
334444
334445       · PR #41103: (lorengordon) Adds  a  get_route()  function  to  win_net‐
334446         work.py @ 2017-05-06 06:19:42 UTC
334447
334448         · 2af89beb53 Merge pull request #41103 from lorengordon/win.get_route
334449
334450         · 93ce5644ea Adds test for win_network.get_route
334451
334452         · b9cbbc0290 Adds a get_route() function to win_network.py
334453
334454       · PR  #41098:  (rallytime)  Back-port  #41088  to  2016.11 @ 2017-05-05
334455         19:04:03 UTC
334456
334457         · PR #41088: (sjorge) Fix docs for zfs state module (refs: #41098)
334458
334459         · 2f9b5a4074 Merge pull request #41098 from rallytime/bp-41088
334460
334461         · dc6cd2ea45 Fix docs for zfs state module
334462
334463       · PR #41097: (rallytime)  Back-port  #41079  to  2016.11  @  2017-05-05
334464         19:03:43 UTC
334465
334466         · PR  #41079:  (brd)  Remove an extra colon that is causing rendering
334467           issues (refs: #41097)
334468
334469         · 2123001f32 Merge pull request #41097 from rallytime/bp-41079
334470
334471         · 845b49c304 Remove and extra colon that is causing rendering issues
334472
334473       · PR #41093: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334474         @ 2017-05-05 17:22:09 UTC
334475
334476         · ff6fa2b120 Merge pull request #41093 from rallytime/merge-2016.11
334477
334478         · a670eaa1db Merge branch '2016.3' into '2016.11'
334479
334480         · 247400c44e Merge pull request #41083 from rallytime/git-state-fix
334481
334482           · b85ee48ff4  Git  state:  head_ref  should be head_rev in "latest"
334483             function
334484
334485       · PR  #41084:  (rallytime)   Skip   the   test_salt_documentation_argu‐
334486         ments_not_assumed test for Arch @ 2017-05-04 21:56:29 UTC
334487
334488         · PR   #41074:   (rallytime)  Skip  integration.shell.matcher.MatchT‐
334489           est.test_salt_documentation test for Arch (refs: #41084)
334490
334491         · 4c2e636cd1  Merge   pull   request   #41084   from   rallytime/dis‐
334492           able-matcher-test-arch
334493
334494         · da811fe505 Skip the correct test for the matcher tests in Arch
334495
334496         · b9d1ce9aed     Revert    "Skip    integration.shell.matcher.MatchT‐
334497           est.test_salt_documentation test for Arch"
334498
334499       · PR #41069: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334500         @ 2017-05-04 20:34:58 UTC
334501
334502         · 1179720327 Merge pull request #41069 from rallytime/merge-2016.11
334503
334504         · 08c58919cb Merge branch '2016.3' into '2016.11'
334505
334506           · 69418092bd Merge pull request #41070 from rallytime/lint-2016.3
334507
334508             · 486e2ba62e Pylint: remove extra line in mac_system module
334509
334510         · db70b2d42e Pylint: remove extra line in mac_system module
334511
334512         · 855d157aa6 Merge branch '2016.3' into '2016.11'
334513
334514           · 3101694d71   Merge  pull  request  #41048  from  willkil/mac_sys‐
334515             tem_non_root
334516
334517             · b65b82a750 mac_system: return False for non-root user
334518
334519       · PR   #41074:   (rallytime)   Skip   integration.shell.matcher.MatchT‐
334520         est.test_salt_documentation test for Arch (refs: #41084) @ 2017-05-04
334521         19:26:16 UTC
334522
334523         · 9d638abc62  Merge   pull   request   #41074   from   rallytime/dis‐
334524           able-matcher-test-arch
334525
334526         · 9eb482d5c7 Skip integration.shell.matcher.MatchTest.test_salt_docu‐
334527           mentation test for Arch
334528
334529       · PR #41078: (Ch3LL) Add 2016.11.5  release  notes  and  change  log  @
334530         2017-05-04 19:00:58 UTC
334531
334532         · 72c854d9ac       Merge      pull      request      #41078      from
334533           Ch3LL/add_2016.11.5_release
334534
334535         · 96ed815687 Add 2016.11.5 release notes and change log
334536
334537       · PR #40879: (peter-funktionIT) Update win_pki.py @ 2017-05-04 16:12:00
334538         UTC
334539
334540         · eac8401e90 Merge pull request #40879 from peter-funktionIT/2016.11
334541
334542         · 80fa9e5b76 Update win_pki.py
334543
334544         · a48b05f158 Update win_pki.py
334545
334546         · 3a4e6d9d91 Update win_pki.py
334547
334548       · ISSUE  #40928:  (sokratisg) Orchestration runner, highstate and envi‐
334549         ronment question (refs: #41036)
334550
334551       · PR #41036: (terminalmage) Do not force effective saltenv when running
334552         states via orchestration @ 2017-05-04 15:44:14 UTC
334553
334554         · 547a9738db Merge pull request #41036 from terminalmage/issue40928
334555
334556         · 72ef34c420  Do  not force effective saltenv when running states via
334557           orchestration
334558
334559       · PR #41039: (terminalmage) Look  for  currently-running  python's  pip
334560         first @ 2017-05-04 15:43:52 UTC
334561
334562         · 6e2458e171    Merge    pull    request    #41039   from   terminal‐
334563           mage/improve-pip-bin
334564
334565         · effe8b9432 Look for currently-running python's pip first
334566
334567       · PR #41049: (Ch3LL) fix integration wheel test_gen test  @  2017-05-04
334568         15:33:59 UTC
334569
334570         · ff39613a53 Merge pull request #41049 from Ch3LL/fix_wheel_test
334571
334572         · ba223827b9 fix integration wheel test_gen test
334573
334574       · PR #41054: (terminalmage) Update package targets for Arch pkg tests @
334575         2017-05-04 14:59:42 UTC
334576
334577         · 4e4b3514b4 Merge pull request #41054  from  terminalmage/salt-jenk‐
334578           ins-315
334579
334580         · ee493bae47 Update package targets for Arch pkg tests
334581
334582       · PR #41046: (twangboy) Fix pkg.remove @ 2017-05-04 14:58:57 UTC
334583
334584         · 62dff52820 Merge pull request #41046 from twangboy/fix_pkg_remove
334585
334586         · 2af38e5564 Use target instead of version_num
334587
334588       · PR  #41045:  (terminalmage)  Clarify gitfs docs @ 2017-05-03 22:24:55
334589         UTC
334590
334591         · 2b47b7bec6  Merge  pull  request  #41045  from   terminalmage/clar‐
334592           ify-gitfs-docs
334593
334594         · c757eda331 Clarify gitfs docs
334595
334596       · PR #41032: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334597         @ 2017-05-03 19:31:58 UTC
334598
334599         · 819007cd00 Merge pull request #41032 from rallytime/merge-2016.11
334600
334601         · d26fd0bbf4 Merge branch '2016.3' into '2016.11'
334602
334603           · b00acb0034   Merge   pull   request   #41011    from    terminal‐
334604             mage/docker-refresh-credentials
334605
334606             · b8d1dcc307 Use proposed docker-py reload_config() func
334607
334608       · ISSUE  #35699:  (jleproust) LVM state fails to add new device, volume
334609         group name is empty string (refs: #41007)
334610
334611       · PR #41007: (jleproust) Recognize LVM2 pv with empty vg  as  orphan  @
334612         2017-05-03 18:24:51 UTC
334613
334614         · d7fbd38474       Merge      pull      request      #41007      from
334615           jleproust/fix_lvm_empty_vg
334616
334617         · 3b9a845145 Recognize LVM2 pv with empty vg as orphan
334618
334619       · PR #41029: (rallytime)  Back-port  #38565  to  2016.11  @  2017-05-03
334620         17:05:10 UTC
334621
334622         · PR #38565: (drawsmcgraw) Update management of ip addresses for salt
334623           cloud azurearm module (refs: #41029)
334624
334625         · 4eab962e9e Merge pull request #41029 from rallytime/bp-38565
334626
334627         · 2df93ae3ab Update management of ip addresses. - Assign static, pri‐
334628           vate IP addresses. - Ability to not assign a public IP to a VM.
334629
334630       · PR #41012: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334631         @ 2017-05-02 22:06:40 UTC
334632
334633         · 97500f078d Merge pull request #41012 from rallytime/merge-2016.11
334634
334635         · fc756c595c Merge branch '2016.3' into '2016.11'
334636
334637         · 19894f68ca Merge pull request #40724 from cro/minion_key_revoke_cfg
334638
334639           · cbc70195c0 Change message level when minion requests  key  revoke
334640             and feature is turned off.
334641
334642           · 65ea8997b7 Add allow_minion_key_revoke config option
334643
334644           · 8920495943  Add  config  option  to prevent minions from revoking
334645             their own keys.
334646
334647         · 129859f79b Merge pull request  #40952  from  terminalmage/fix-dock‐
334648           erng.login-docs
334649
334650           · dfbbeb5946   Fix  documentation  for  docker  login  function  in
334651             pre-nitrogen release branches
334652
334653       · PR #40726: (benediktwerner) Fixed minion keys remaining pending after
334654         auto  signing  and  fixed  typo  (Resubmitted to 2016.3) @ 2017-05-02
334655         16:57:34 UTC
334656
334657         · e210eaead4 Merge pull request #40726  from  benediktwerner/fix-min‐
334658           ions-remain-pending-after-autosign-and-typo
334659
334660         · 82c144e960  Fixed  minion keys remaining pending after auto signing
334661           and fixed typo
334662
334663       · PR #40960: (danlsgiga)  Fix  consul  module  "AttributeError:  'dict'
334664         object has no attribute 'json'" @ 2017-05-02 16:16:57 UTC
334665
334666         · 4f342e2fe5 Merge pull request #40960 from danlsgiga/2016.11
334667
334668         · 6e4cc6db47  Fix consul module "AttributeError: 'dict' object has no
334669           attribute 'json'"
334670
334671       · PR #40963: (twangboy) Fix  fullname  parameter  for  add  function  @
334672         2017-05-02 16:08:59 UTC
334673
334674         · c3b329b398 Merge pull request #40963 from twangboy/fix_win_useradd
334675
334676         · 5371b6b85e Fix fullname parameter for add function
334677
334678       · PR  #40995:  (twangboy)  Remove  unused  code  fragments @ 2017-05-02
334679         15:31:58 UTC
334680
334681         · d79c033239 Merge pull request #40995 from twangboy/remove_utils
334682
334683         · 8c01aacd9b Remove unused code fragments
334684
334685       · ISSUE #40981: (ezh) docker-events engine is broken with modern docker
334686         (refs: #40982)
334687
334688       · PR  #40991:  (rallytime)  Back-port  #40982  to  2016.11 @ 2017-05-01
334689         22:31:30 UTC
334690
334691         · PR #40982: (ezh) Fix docker_events field handling (refs: #40991)
334692
334693         · c6162876d6 Merge pull request #40991 from rallytime/bp-40982
334694
334695         · 8fcb7205db Fix docker_events field handling
334696
334697       · ISSUE #40965: (weirdbricks) salt-cloud sudo failing (refs: #40987)
334698
334699       · PR #40987:  (gtmanfred)  get  sudo_password  correctly  @  2017-05-01
334700         19:39:55 UTC
334701
334702         · 3fb24929c6 Merge pull request #40987 from gtmanfred/2016.11
334703
334704         · 2ed694cac6 get sudo_password correctly
334705
334706       · ISSUE  #40988:  (santzi) status.netdev tx_bytes is always zero (refs:
334707         #40992)
334708
334709       · PR #40992: (gtmanfred) fix bug in status.netdev @ 2017-05-01 19:38:35
334710         UTC
334711
334712         · ecbac138d1 Merge pull request #40992 from gtmanfred/netdev
334713
334714         · a9eed7f1c9 fix bug in status.netdev
334715
334716       · ISSUE #40976: (sjorge) smtp.send_msg state oddities (refs: #40993)
334717
334718       · PR  #40993:  (gtmanfred)  smtp  state  can  use  profile  or sender @
334719         2017-05-01 19:35:47 UTC
334720
334721         · d852320d34 Merge pull request #40993 from gtmanfred/smtp
334722
334723         · 068ebfd9ec smtp state can use profile or sender
334724
334725       · PR #40958: (rallytime)  Back-port  #40939  to  2016.11  @  2017-04-28
334726         18:01:17 UTC
334727
334728         · PR  #40939:  (Ch3LL)  Allow  vmware  to  query deploy arg from opts
334729           (refs: #40958)
334730
334731         · fc26fb8a05 Merge pull request #40958 from rallytime/bp-40939
334732
334733         · 3e9394862f allow vmware to query deploy arg from opts
334734
334735       · ISSUE  saltstack/salt#34640:  (nevins-b)  utils.shlex_split  removing
334736         quotes which are required for augeas (refs: #`saltstack/salt#34643`_)
334737
334738         · PR  saltstack/salt#34643:  (nevins-b)  fix  augeas  module so shlex
334739           doesn't strip quotes (refs: #38115)
334740
334741       · PR #40957: (rallytime)  Back-port  #38115  to  2016.11  @  2017-04-28
334742         18:01:02 UTC
334743
334744         · PR  #38115:  (cro) Revert "fix augeas module so shlex doesn't strip
334745           quotes" (refs: #40957)
334746
334747         · a586e12180 Merge pull request #40957 from rallytime/bp-38115
334748
334749         · eb889173b0 Revert "fix augeas module so shlex doesn't strip quotes"
334750
334751       · ISSUE #40635: (promorphus) Orchestrate + Batches returns false failed
334752         information (refs: #40905)
334753
334754       · PR  #40905:  (rkgrunt)  Fixed  issue  with  parsing  of master minion
334755         returns when batching is en… @ 2017-04-28 17:52:32 UTC
334756
334757         · 00a15eba60 Merge pull request #40905 from rkgrunt/40635
334758
334759         · 4f9c92a012 Fixed issue with parsing of master minion  returns  when
334760           batching is enabled.
334761
334762       · PR #40954: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334763         @ 2017-04-28 16:41:49 UTC
334764
334765         · bb50d4f646 Merge pull request #40954 from rallytime/merge-2016.11
334766
334767         · 7f31e41aa6 Merge branch '2016.3' into '2016.11'
334768
334769         · 55a399583e Merge pull request #40930 from rallytime/bp-40811
334770
334771           · 3ccb553f9f get config_dir based off conf_file
334772
334773         · 7bc01be859 Merge pull request #40927 from terminalmage/docs
334774
334775           · 8c078f144c Add additional note about quoting within load_yaml
334776
334777           · 123b5cdc11 Add documentation for PyYAML's loading of time expres‐
334778             sions
334779
334780         · 7eab9c6cf4    Merge    pull    request    #40891   from   terminal‐
334781           mage/pip-installed
334782
334783           · 75e6bc0aa3 Fix two issues with pip.install
334784
334785       · ISSUE #39531: (ypid) Use yaml.safe_* instaed of yaml.load / yaml.dump
334786         / … (refs: #40751)
334787
334788       · PR #40751: (rallytime) Use Salt's SaltYamlSafeLoader and SafeOrdered‐
334789         Dumper classes for yaml.load/dump @ 2017-04-28 12:56:06 UTC
334790
334791         · 909d519ddb Merge pull request #40751 from rallytime/fix-39531
334792
334793         · 85dc4164f5 Don't change the salt.utils.jinja yaml Dumper class
334794
334795         · 4fe6ac93c6 Add extra line for lint
334796
334797         · 55cfa12975 Use salt.utils.yamldumper with SafeOderedDumper  as  the
334798           Dumper in yaml.dump
334799
334800         · 62c4d37c2f Use salt.utils.yamlloader with SaltYamlSafeLoader as the
334801           Loader with yaml.load
334802
334803       · ISSUE #37307: (szjur) Minions run every job twice and open 2  connec‐
334804         tions to the same syndic - apparently after reconnection between mas‐
334805         ters (refs: #40861)
334806
334807       · PR #40861: (DmitryKuzmenko) Don't run status.master while  minion  is
334808         failing-over.  @ 2017-04-28 12:14:56 UTC
334809
334810         · 18fdd8cc34    Merge    pull   request   #40861   from   DSRCorpora‐
334811           tion/bugs/37307_minion_run_jobs_twice
334812
334813         · f0d46d04af Don't run status.master while minion is failing-over.
334814
334815       · PR #40923: (terminalmage) aptpkg: fix temp pkg unhold when version is
334816         specified @ 2017-04-28 11:59:54 UTC
334817
334818         · 62cb7b1ae6    Merge    pull    request    #40923   from   terminal‐
334819           mage/aptpkg-install-fix-unhold
334820
334821         · 6dda4f2bc3 aptpkg: fix temp pkg unhold when version is specified
334822
334823       · ISSUE #40908: (nicksloan) If master_port is a string the minion  can‐
334824         not connect and prints an unhelpful error message (refs: #40933)
334825
334826       · ISSUE  #39118:  (bobrik)  Minion ipv6 option is not documented (refs:
334827         #39289)
334828
334829       · PR #40933: (gtmanfred) allow master_port to be a string @  2017-04-28
334830         11:54:58 UTC
334831
334832         · PR  #39289:  (bobrik)  Autodetect  IPv6 connectivity from minion to
334833           master (refs: #40933)
334834
334835         · 9d92ba7878 Merge pull request #40933 from gtmanfred/2016.11
334836
334837         · 194423c08e allow master_port to be a string
334838
334839       · ISSUE #40912: (razed11) IPV6 Warning when ipv6 set  to  False  (refs:
334840         #40934)
334841
334842       · PR  #40934: (gtmanfred) Only display IPvX warning if role is master @
334843         2017-04-28 11:53:50 UTC
334844
334845         · d5e0b8b655 Merge pull request #40934 from gtmanfred/ipv6
334846
334847         · 7855cd6ce6 Only display IPvX warning if role is master
334848
334849       · ISSUE #40881: (stamak) 2016.11 SoftLayer salt-cloud  driver  connects
334850         on private IP instead of public IP (refs: #40935)
334851
334852       · PR  #40935:  (gtmanfred)  Attempt  to connect to public ip address in
334853         softlayer @ 2017-04-28 11:43:57 UTC
334854
334855         · 8fdfe4ece6 Merge pull request #40935 from gtmanfred/softlayer
334856
334857         · d6eb11410f Attempt to connect to public ip address in softlayer
334858
334859       · PR #40936: (terminalmage) Add dockerng  fixes  to  2016.11.4  release
334860         notes @ 2017-04-27 19:54:16 UTC
334861
334862         · 7404309bec    Merge    pull    request    #40936   from   terminal‐
334863           mage/release_notes
334864
334865         · e494ae43e5 Add dockerng fixes to 2016.11.4 release notes
334866
334867       · ISSUE #33093:  (gtmanfred)  [salt-cloud][nova]  race  condition  when
334868         assigning floating ips to cloud servers (refs: #37696)
334869
334870       · PR  #40929:  (rallytime)  Back-port  #37696  to  2016.11 @ 2017-04-27
334871         17:43:26 UTC
334872
334873         · PR #37696: (SolarisYan) if vm state is not  ACTIVE,  it  will  fail
334874           (refs: #40929)
334875
334876         · a622518ad2 Merge pull request #40929 from rallytime/bp-37696
334877
334878         · 1a28722c5a Pylint fix
334879
334880         · 8e0a9864c5  if  vm state is not ACTIVE, associate floating ip to it
334881           will fail.So we should wait for state of vm  is  ACTIVE,then  asso‐
334882           ciate the assigned floating ip to it
334883
334884       · PR  #40921:  (corywright) Make salt.auth.rest heading consistent with
334885         all other salt.auth documentation @ 2017-04-27 17:36:47 UTC
334886
334887         · f88ce8e4de  Merge  pull  request  #40921  from   corywright/consis‐
334888           tent-salt-auth-headings
334889
334890         · 2995a05c2b  Make  salt.auth.rest  heading consistent with all other
334891           salt.auth documentation
334892
334893       · ISSUE #37824: (dxiri) SSLError Trying to use v3 API of Openstack New‐
334894         ton as provider. (refs: #40752)
334895
334896       · PR  #40752: (Enquier) Add ability to specify a custom SSL certificate
334897         or disable SSL verification in KeystoneAuth v3 @ 2017-04-27  17:29:09
334898         UTC
334899
334900         · 26be306b5c Merge pull request #40752 from Enquier/nova_ssl_2
334901
334902         · 817f49296e fixing lint errors in keystone auth error
334903
334904         · f683636c61 fix trailing whitespace
334905
334906         · 4a70b8c0cc  fixing  minor  error in security_groups security groups
334907           parser had incorrect split action which caused errors
334908
334909         · c9d6f8e5ed adding note in documentation
334910
334911         · c24dfe3fba adding support for cacert verification
334912
334913         · bfaf5e322d Merge pull request #5 from saltstack/2016.11
334914
334915       · ISSUE #40845: (e-senthilkumar) /jobs  call  is  broken  in  2016.11.4
334916         (refs: #40894)
334917
334918       · PR #40894: (senthilkumar-e) Fix for broken /jobs/<jid> in 2016.11.4 @
334919         2017-04-27 11:33:00 UTC
334920
334921         · 0f2ec1e1db  Merge  pull  request  #40894  from  senthilkumar-e/bro‐
334922           ken_jobs_api_fix
334923
334924         · 2f55b26e08 Fixing the pylint issue
334925
334926         · fb607bab75 Fix for broken /jobs/<jid> in 2016.11.4
334927
334928       · PR  #40876:  (BenoitKnecht)  states:  sqlite3: fix table_present with
334929         multi-line schema @ 2017-04-26 15:21:19 UTC
334930
334931         · ea55c15367      Merge      pull      request      #40876       from
334932           BenoitKnecht/fix-sqlite3-table-present-with-multiline-schema
334933
334934         · 2ca627d02d  states:  sqlite3:  fix  table_present  with  multi-line
334935           schema
334936
334937       · ISSUE #40741: (clinta) Regression in  2016.11.3.  File.managed  down‐
334938         loads every time. (refs: #40742)
334939
334940       · PR #40742: (clinta) Fix #40741 @ 2017-04-25 22:52:06 UTC
334941
334942         · e09bafdceb Merge pull request #40742 from clinta/40741
334943
334944         · 72bf5af9e6 Set sfn if cached_sum == source_sum
334945
334946       · PR  #40859:  (skizunov)  Fix TCP Transport to work with Tornado 4.5 @
334947         2017-04-25 04:29:00 UTC
334948
334949         · 5249496f74 Merge pull request #40859 from skizunov/develop2
334950
334951         · 958ecdace8 Fix TCP Transport to work with Tornado 4.5
334952
334953       · PR #40862: (gtmanfred) status should be an int @ 2017-04-24  23:11:31
334954         UTC
334955
334956         · ca80f287af Merge pull request #40862 from gtmanfred/2016.11
334957
334958         · 87ec1da771 status should be an int
334959
334960       · PR #40865: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
334961         @ 2017-04-24 23:06:28 UTC
334962
334963         · c95341959d Merge pull request #40865 from rallytime/merge-2016.11
334964
334965         · 53ad3159cc Merge branch '2016.3' into '2016.11'
334966
334967         · 2a71dc3552 Merge pull request #40854 from Ch3LL/11.4_release_2016.3
334968
334969           · 889540a313 [2016.3] Bump latest release version to 2016.11.4
334970
334971         · b5f67f0750    Merge    pull    request    #40822     from     lord‐
334972           cirth/fix-rsync-changes
334973
334974           · 1b304bb476 Extra space before inline comment
334975
334976           · ea4592de91 rsync.py: Don't return changes when clean
334977
334978       · PR #40855: (Ch3LL) [2016.11] Bump latest release version to 2016.11.4
334979         @ 2017-04-24 17:37:47 UTC
334980
334981         · 7861f12df8      Merge      pull      request      #40855       from
334982           Ch3LL/11.4_release_2016.11
334983
334984         · e7b604339d [2016.11] Bump latest release version to 2016.11.4
334985
334986       · PR #40817: (isbm) Some UT for cloud @ 2017-04-23 10:01:40 UTC
334987
334988         · 25b62aee47 Merge pull request #40817 from isbm/isbm-skip-false-val‐
334989           ues-from-preferred-ip-201611
334990
334991         · 7c5714b90b Describe debug information
334992
334993         · e0210ff8cb Reformat idents, fix typos
334994
334995         · fb777e3f3e PEP8: fix unused variable
334996
334997         · b2e85de85d Fix lint, typos and readability
334998
334999         · 116c96a4b7 Fix UT parameter changes
335000
335001         · 61558f08e7 Lintfix E0602
335002
335003         · ed84420df0 Add unit test for node ip filtering
335004
335005         · 82582cff77 Skip test, if libcloud is not around
335006
335007         · f005d53c56 Fix name error exception
335008
335009         · b668e60b4c Move out nested function for testing purposes
335010
335011         · 5e574a24d9 Add unit test for nova connector
335012
335013         · 181d0780d0 Lintfix
335014
335015         · 8e9ce1a68d Move out nested function to be unit-testable
335016
335017         · cd43805770 Add initial unit test for openstack cloud module
335018
335019         · 177f31446d Add fake preferred IP function for testing
335020
335021         · d1aeb13ac7 Move out openstack's nested function to be testable
335022
335023       · PR #40824: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
335024         @ 2017-04-21 20:03:10 UTC
335025
335026         · 50ddf219a6 Merge pull request #40824 from rallytime/merge-2016.11
335027
335028         · f31f9512b8 Merge branch '2016.3' into '2016.11'
335029
335030           · 3b9ebeb98f  Merge  pull  request #40754 from lordcirth/fix-upper‐
335031             case-checksums
335032
335033             · c80c792704 remove too many newlines for lint
335034
335035             · a7d8f375e8 file.manage_file: uppercase checksums now work
335036
335037       · PR  #40811:  (UtahDave)  get  config_dir  based  off   conf_file   if
335038         __opts__['config_dir']  doesn't  exist  (refs:  #40930)  @ 2017-04-21
335039         17:44:42 UTC
335040
335041         · d6e26d18cb Merge pull request #40811 from UtahDave/2016.11local
335042
335043         · 9f6e2e9c92 get config_dir based off conf_file
335044
335045       · PR #40820: (gtmanfred) remove  deprecated  firstgen  rackspace  cloud
335046         driver @ 2017-04-21 17:42:19 UTC
335047
335048         · ddedf05b7d Merge pull request #40820 from gtmanfred/2016.11
335049
335050         · b60a8d013a remove rackspace from index
335051
335052         · 559aa1d8b6 remove deprecated firstgen rackspace cloud driver
335053
335054       · PR #40797: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
335055         @ 2017-04-20 19:42:04 UTC
335056
335057         · 2ab42489df Merge pull request #40797 from rallytime/merge-2016.11
335058
335059         · 22500a7261 Merge branch '2016.3' into '2016.11'
335060
335061           · 623e2eb61f   Merge    pull    request    #40791    from    a-pow‐
335062             ell/s3-util-get-memory-fix
335063
335064             · 36f6521014  Merge remote-tracking branch 'upstream/2016.3' into
335065               s3-util-get-memory-fix
335066
335067             · 04637cd4eb Fixing objects being loaded into  memory  when  per‐
335068               forming a GET request with a local file specified.
335069
335070       · PR  #40800:  (rallytime)  Back-port  #40720  to  2016.11 @ 2017-04-20
335071         19:41:41 UTC
335072
335073         · PR #40720: (oeuftete) Call  tornado.httputil.url_concat  compatibly
335074           (refs: #40800)
335075
335076         · ced839f841 Merge pull request #40800 from rallytime/bp-40720
335077
335078         · 6c0124ae21 Call tornado.httputil.url_concat compatibly
335079
335080       · ISSUE  #19137:  (jeffclay) MSI installer(s) for windows minion (refs:
335081         #40716)
335082
335083       · PR #40785: (alexproca) win_pkg: backport 2016.11 add msiexec override
335084         to enable selection of 32 or 64 msiexec.exe @ 2017-04-20 16:45:14 UTC
335085
335086         · PR  #40716:  (alexproca)  win_pkg:  add  msiexec override to enable
335087           selection of 32 or 64 msiexec.exe (refs: #40785)
335088
335089         · 5388ffa7a2  Merge  pull   request   #40785   from   alexproca/back‐
335090           port-winexec-selection
335091
335092         · 91cafd5094 Add option to select 32 or 64 version of msiexec
335093
335094       · PR  #40796: (terminalmage) Fix inaccurate nodegroup docs @ 2017-04-20
335095         16:08:22 UTC
335096
335097         · f0f135c71d Merge pull request  #40796  from  terminalmage/fix-node‐
335098           group-docs
335099
335100         · f99259a6eb Fix inaccurate nodegroup docs
335101
335102       · ISSUE  #40737:  (jf)  Fix consul_pillar documentation: 'root=' canNOT
335103         start with a slash (refs: #40760)
335104
335105       · PR #40769: (rallytime)  Back-port  #40760  to  2016.11  @  2017-04-19
335106         20:23:22 UTC
335107
335108         · PR  #40760:  (jf) Fix 'root=/...' references in consul_pillar docu‐
335109           mentation: 'keys should not start with  a  forward  slash'!  (refs:
335110           #40769)
335111
335112         · d8f78550d9 Merge pull request #40769 from rallytime/bp-40760
335113
335114         · 71ac15fc4c  Fix  'root=/...' references in consul_pillar documenta‐
335115           tion: 'keys should not start with a forward slash'!
335116
335117       · PR #40756: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
335118         @ 2017-04-19 17:47:51 UTC
335119
335120         · 61f8de43df Merge pull request #40756 from rallytime/merge-2016.11
335121
335122         · 0e087323f1 Merge branch '2016.3' into '2016.11'
335123
335124         · f4f3ee69ba Merge pull request #40721 from gtmanfred/2016.3
335125
335126           · 58b88859b3 unset the bitwise instead of toggle
335127
335128       · ISSUE  #29602: (multani) cloud.action start raises "got an unexpected
335129         keyword argument 'kwargs'" (refs: #40735)
335130
335131       · PR #40735: (rallytime) Handle stacktraces in cloud.action function in
335132         module and runner @ 2017-04-18 20:05:06 UTC
335133
335134         · 3557b5140e   Merge   pull   request   #40735   from  rallytime/han‐
335135           dle-cloud-traces
335136
335137         · 87154a95a4 Use log.error instead of log.err
335138
335139         · b35bf919a3 Handle stacktraces in cloud.action  function  in  module
335140           and runner
335141
335142       · PR  #40745: (cro) Backport Add support for specifying a datastore for
335143         new disks. PR #36457 @ 2017-04-18 20:00:51 UTC
335144
335145         · PR #36457: (cro) Add support for specifying  a  datastore  for  new
335146           disks. (refs: #40745)
335147
335148         · e700d8183b  Merge  pull  request #40745 from cro/vmware_disk_datas‐
335149           tore_bp
335150
335151         · 1460f82ce4 Remove leftover conflict markers (oops! :-/ )
335152
335153         · b26be652dd Remove leftover conflict markers (oops! :-/ )
335154
335155         · 096f063464 Remove leftover conflict markers (oops! :-/ )
335156
335157         · d24078d1a0 Add docs for "datastore" param for disks
335158
335159         · 500d6b281d Document validity of a datastore key inside a disk defi‐
335160           nition.
335161
335162         · 7608b10225 Add support for specifying a datastore for new disks.
335163
335164       · PR  #40740:  (cro)  Backport  pr #39802 to add random_startup_delay @
335165         2017-04-18 19:47:55 UTC
335166
335167         · PR #39802: (cachedout) A random startup delay  option  for  minions
335168           (refs: #40740)
335169
335170         · 78dbab01dc Merge pull request #40740 from cro/minion_delay_start
335171
335172         · 2ab95b7dd5 Set minion test to use default opts
335173
335174         · 785e6060a9 Add requested docs
335175
335176         · 8ab321f934 A random startup delay option for minions
335177
335178       · PR #40728: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
335179         @ 2017-04-17 21:13:15 UTC
335180
335181         · a48ecc4a5c Merge pull request #40728 from rallytime/merge-2016.11
335182
335183         · 0a5e05a6e5 Merge branch '2016.3' into '2016.11'
335184
335185         · bf8bb0fde6 Merge pull request #40719 from rallytime/bp-40714
335186
335187           · d6c436246b Make salt.modules.pw_user.get_loginclass return string
335188             rather than dict
335189
335190         · 4145d33e46  Merge  pull  request  #40718 from terminalmage/fix-doc‐
335191           string
335192
335193         · 14e8b85da5 Fix copypasta in the pw_user docstring
335194
335195       · ISSUE #36967: (gmykhailiuta) S3fs objects list gets truncated  (refs:
335196         #40707)
335197
335198       · PR #40707: (gtmanfred) Use markers when s3 bucket list is truncated @
335199         2017-04-17 16:45:21 UTC
335200
335201         · c5cbfc2e63 Merge pull request #40707 from gtmanfred/2016.11
335202
335203         · 1932f7265d Use markers when s3 bucket list is truncated
335204
335205   Salt 2016.11.6 Release Notes
335206       Version 2016.11.6 is a bugfix release for 2016.11.0.
335207
335208   Statistics
335209       · Total Merges: 137
335210
335211       · Total Issue References: 58
335212
335213       · Total PR References: 153
335214
335215       · Contributors:  49  (BenoitKnecht,  Ch3LL,   Enquier,   F30,   Foxlik,
335216         The-Loeki,      UtahDave,      abednarik,     alex-zel,     arif-ali,
335217         automate-solutions, axmetishe, bdrung, cachedout,  cro,  darenjacobs,
335218         dmurphy18,    dschaller,    epcim,   garethgreenaway,   github-abcde,
335219         gtmanfred, isbm,  jettero,  jmarinaro,  kiorky,  lomeroe,  lordcirth,
335220         lorengordon,  lubyou,  mcalmer,  moio,  onlyanegg,  peter-funktionIT,
335221         pkazmierczak,  pprkut,   rallytime,   ricohouse,   seanjnkns,   sebw,
335222         skizunov,   svinota,   t0fik,   terminalmage,  tmeneau,  tonybaloney,
335223         twangboy, whiteinge, yannj-fr)
335224
335225   Changelog for v2016.11.5..v2016.11.6
335226       Generated at: 2018-05-27 20:18:17 UTC
335227
335228       · PR #41861: (twangboy) Fix problems with get_rule  and  delete_rule  @
335229         2017-06-20 20:37:23 UTC
335230
335231         · afc61ffe63 Merge pull request #41861 from twangboy/fix_win_firewall
335232
335233         · 78892074f5 Fix problems with get_rule and delete_rule
335234
335235       · ISSUE  #41778:  (frogunder) 2016.11.6 - TCP Transport gives Exception
335236         (refs: #41787)
335237
335238       · PR #41787: (skizunov) Fix #41778 @ 2017-06-20 20:11:23 UTC
335239
335240         · PR #41436: (skizunov) TCP transport:  Fix  occasional  errors  when
335241           using salt command (refs: #41787)
335242
335243         · 938d4fddf1 Merge pull request #41787 from skizunov/develop3
335244
335245         · 2ffd20cede Fix #41778
335246
335247       · PR  #41812:  (skizunov)  TCP:  Fix salt-master in bad state if remote
335248         side closed connection @ 2017-06-20 19:46:53 UTC
335249
335250         · 03b6ae5ea8 Merge pull request #41812 from skizunov/develop4
335251
335252         · 736420eb83 TCP: Fix salt-master in bad state if remote side  closed
335253           connection
335254
335255       · PR  #41857: (dmurphy18) Modified support for deprecated netstat being
335256         removed by utilizing ss @ 2017-06-20 18:46:27 UTC
335257
335258         · cf2252bcea Merge pull request #41857 from dmurphy18/netstat_fix
335259
335260         · 017fbdbc53 Modified support for deprecated netstat being removed by
335261           utilizing ss
335262
335263       · ISSUE  #40878: (joewreschnig) SSH modules spam warning about MD5 fin‐
335264         gerprints when there aren't any (refs: #41837)
335265
335266       · ISSUE #40005: (vutny) ssh_known_hosts.present does not support SHA256
335267         key fingerprints (refs: #40543)
335268
335269       · PR  #41837:  (rallytime)  Add fingerpint_hash_type option to ssh_auth
335270         state and related functions @ 2017-06-20 18:14:53 UTC
335271
335272         · PR #40543: (rallytime) Add the  "fingerprint_hash_type"  option  to
335273           ssh state and module (refs: #41837)
335274
335275         · 12ec5f9f23 Merge pull request #41837 from rallytime/fix-40878
335276
335277         · 48ff5d2a62  Add  fingerpint_hash_type  option to ssh_auth state and
335278           related functions
335279
335280       · PR #41839: (cro) Extend proxy to jinja @ 2017-06-19 23:03:00 UTC
335281
335282         · e7fc30f482 Merge pull request #41839 from cro/extend_proxy_to_jinja
335283
335284         · 172d3520ea     Merge     branch     'extend_proxy_to_jinja'      of
335285           github.com:cro/salt into extend_proxy_to_jinja
335286
335287           · 2e4a0633da   Extend   __proxy__   to   jinja   as   proxy   (like
335288             __salt__->salt)
335289
335290         · 2ffad2af35 Extend __proxy__ to jinja as proxy (like __salt__->salt)
335291
335292       · ISSUE #41733: (sumeetisp) Salt Rest Api call (refs: #41786)
335293
335294       · ISSUE #40845: (e-senthilkumar) /jobs  call  is  broken  in  2016.11.4
335295         (refs: #41786)
335296
335297       · ISSUE   #38962:  (gstachowiak)  Broken  /jobs  in  salt-api  in  salt
335298         2016.11.1 (Carbon) (refs: #39472)
335299
335300       · PR #41786: (whiteinge) Runner arg parsing  regressions  @  2017-06-19
335301         23:00:07 UTC
335302
335303         · PR  #39472: (whiteinge) Update _reformat_low to not run kwarg dicts
335304           through parse_input (refs: #41786)
335305
335306         · 58387b127a  Merge   pull   request   #41786   from   whiteinge/run‐
335307           ner-arg-parsing-regressions
335308
335309         · bf15c0bb5f  Restore  sending __current_eauth_* through to the func‐
335310           tion
335311
335312         · 6be975da2c Fix regressions from not calling load_args_and_kwargs
335313
335314         · 9d1cc1a176 Add test to check that runners ignore invalid kwargs
335315
335316       · PR #41776: (gtmanfred) npm 5.0.0 added a second line after fsevents @
335317         2017-06-19 16:53:43 UTC
335318
335319         · be0e9abedb Merge pull request #41776 from gtmanfred/2016.11
335320
335321         · 733a2279ca npm 5.0.0 added a second line after fsevents
335322
335323       · ISSUE  #32400:  (rallytime)  Document  Default  Config  Values (refs:
335324         #41783)
335325
335326       · PR #41783: (rallytime) Add a bunch of config options to  the  various
335327         master/minion files that are missing @ 2017-06-19 16:42:54 UTC
335328
335329         · d94d4e4d19   Merge   pull   request   #41783   from  rallytime/con‐
335330           fig-doc-updates
335331
335332         · c828ad803a Add a bunch of config options to the various master/min‐
335333           ion files that are missing
335334
335335       · PR  #41816:  (twangboy)  Upgrade psutil to version 5.2.2 @ 2017-06-17
335336         01:51:29 UTC
335337
335338         · 2c681887d3 Merge  pull  request  #41816  from  twangboy/update_psu‐
335339           til_req
335340
335341         · 8b4e3ad77d Upgrade psutil to version 5.2.2
335342
335343       · ISSUE  #41785:  (UtahDave)  Using  master tops without a top.sls file
335344         causes extra errors in minion log (refs: #41803)
335345
335346       · PR #41803: (terminalmage) Don't log an error when no top.sls is found
335347         @ 2017-06-16 22:49:08 UTC
335348
335349         · 3e5fe7ca4b Merge pull request #41803 from terminalmage/issue41785
335350
335351         · f9f4d49f05 Don't log an error when no top.sls is found
335352
335353       · PR  #41801:  (terminalmage)  Don't take hostname from name param when
335354         creating docker container (2016.11 branch) @ 2017-06-16 17:02:02 UTC
335355
335356         · d12bc4ee68   Merge   pull    request    #41801    from    terminal‐
335357           mage/issue41781-2016.11
335358
335359         · 8236d3e1c3 Don't take hostname from name param when creating docker
335360           container (2016.11 branch)
335361
335362       · PR #41768: (rallytime) Manually back-port the changes in PR #41615  @
335363         2017-06-15 20:41:45 UTC
335364
335365         · PR  #41615:  (Ch3LL)  Fix  get_hwclock_aix  test  on  MacOSX (refs:
335366           #41768)
335367
335368         · 87e2e72d94 Merge pull request #41768 from rallytime/bp-41615
335369
335370         · b6cc0b6bf0 Manually backport the changes in PR #41615
335371
335372       · PR #41740: (terminalmage) Fix spurious error when glob/regex used  in
335373         publisher_acl @ 2017-06-15 15:14:56 UTC
335374
335375         · 36cb223ab2 Merge pull request #41740 from terminalmage/zd1532
335376
335377         · e5f3d08751 Fix spurious error when glob/regex used in publisher_acl
335378
335379       · PR  #41749: (terminalmage) Fix bug in pkg_resource.parse_targets when
335380         version passed @ 2017-06-15 15:05:52 UTC
335381
335382         · 126a36747b Merge pull request #41749  from  terminalmage/parse_tar‐
335383           gets
335384
335385         · 698806fb09 No need to manually create pkg_params dict when name and
335386           version passed
335387
335388         · 7484bcc6c6 parse_targets: include version in packed return data
335389
335390       · PR #41753: (rallytime)  Back-port  #41449  to  2016.11  @  2017-06-14
335391         22:16:10 UTC
335392
335393         · PR  #41449:  (sebw) Fix state "svn.latest" diff output in test mode
335394           (refs: #41753)
335395
335396         · 2c24012ded Merge pull request #41753 from rallytime/bp-41449
335397
335398         · fae41c2875 Adjusting SVN unit test
335399
335400         · eac6b151eb Improved SVN output in test mode
335401
335402       · PR #41750: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
335403         @ 2017-06-14 22:15:41 UTC
335404
335405         · e685858269 Merge pull request #41750 from rallytime/merge-2016.11
335406
335407         · 89834e49c2 Merge branch '2016.3' into '2016.11'
335408
335409           · c5a79a1ea6  Merge pull request #41695 from xiaoanyunfei/fixRecur‐
335410             sion
335411
335412             · c54fde69a0 fix spell error
335413
335414             · bc855b4711 fix swallow exception
335415
335416             · c0b1f57fc0 add exception
335417
335418             · aacf9f0a44 fix  maximum recursion depth exceeded
335419
335420           · 4b43ba3366 Merge pull request  #41585  from  cro/sign_minion_mes‐
335421             sages
335422
335423             · 628f709c3c Correct test--caching requires files on disk but the
335424               test just supplies what would have been read from disk.
335425
335426             · 687872a488 Lint
335427
335428             · dadf4b851c Add documentation to the example master  and  minion
335429               configuration  files.  Move  minion  event  signing  to a saner
335430               place. Enable dropping messages when signature does not  verify
335431               or when minion is not adding the signature to its payloads.
335432
335433             · e44673cdae Add caching of key.
335434
335435             · c3917d1e91 Fat finger fix.
335436
335437             · 3b9326fda7 Sign_minion_messages support
335438
335439       · PR  #41756:  (Ch3LL)  Add  Change  Log  to  2016.11.6 Release Notes @
335440         2017-06-14 20:57:08 UTC
335441
335442         · 36cc8f1e35 Merge pull request #41756 from Ch3LL/2016.11.6_release
335443
335444         · fa368f21ac Add Change Log to 2016.11.6 Release Notes
335445
335446       · ISSUE #40155: (grichmond-salt) State module boto_vpc not working with
335447         boto 2 (refs: #41692)
335448
335449       · PR  #41692:  (rallytime)  Add  boto and boto3 version dependencies to
335450         boto_vpc state docs @ 2017-06-14 19:05:07 UTC
335451
335452         · edcafc6a26 Merge pull request #41692 from rallytime/fix-40155
335453
335454         · 539c1b0692 Add boto and  boto3  version  dependencies  to  boto_vpc
335455           state docs
335456
335457       · ISSUE  #39918: (kivoli) Enabling list merging leads to multiplying of
335458         unique list items (refs: #40902)
335459
335460       · PR #40902: (lorengordon) Removes duplicates when merging pillar lists
335461         and  adds  pillar.get  override  for  pillar_merge_lists @ 2017-06-14
335462         18:39:09 UTC
335463
335464         · bdaeb55a77  Merge  pull  request   #40902   from   lorengordon/pil‐
335465           lar-get-merge-lists
335466
335467         · 6e35673fe3 Preserves order when removing duplicates
335468
335469         · 18eda7084c  Updates  list  merge  tests to check for sorted, unique
335470           lists
335471
335472         · 74bf91f99e Sorts the list when removing duplicates
335473
335474         · 26a4b1b17f Adds pillar.get param to  control  list  merge/overwrite
335475           behavior
335476
335477         · ed04bae94c Removes duplicate values when merging lists
335478
335479       · ISSUE  #32743: (tonybaloney) Issue with salt-cloud on OpenSUSE (refs:
335480         #41723)
335481
335482       · PR #41723: (rallytime) Support apache-libcloud work-around for  issue
335483         #32743 for versions older than 2.0.0 @ 2017-06-14 17:13:38 UTC
335484
335485         · PR #40837: (tonybaloney) Upgrade apache-libcloud package dependency
335486           for 2.0 (refs: #41723)
335487
335488         · 203ec6730f Merge pull request #41723  from  rallytime/libcloud-sup‐
335489           port
335490
335491         · 1e9a06000b  Bump version check down to 1.4.0 and use distutils.ver‐
335492           sion lib
335493
335494         · a30f654b04 Support apache-libcloud work-around for issue #32743 for
335495           versions older than 2.0.0
335496
335497       · ISSUE   #41654:   (Enquier)   Nova  Cloud  module  doesn't  work  for
335498         python-novaclient 8.0.0+ (refs: #41655)
335499
335500       · PR #41655: (Enquier) Allow Nova cloud module to set a specific float‐
335501         ing ip address @ 2017-06-14 16:44:05 UTC
335502
335503         · 62dbf5083c       Merge      pull      request      #41655      from
335504           Enquier/nova-cloud-set_ip_address
335505
335506         · 293bc64158 Removed empty debug log
335507
335508         · 3d9871fe11 Cleaning up, removing debugging tests
335509
335510         · c78e5feea9 Fixing error message
335511
335512         · 404dffb6b8 Debugging variable format
335513
335514         · 6fa3b976a5 removing string call
335515
335516         · 005995e1b0 modifying variable calls
335517
335518         · 9e5e7a38ec Testing variable changes
335519
335520         · 05e240f37f Debugging Format of floating_ip variable
335521
335522         · 366aca00a8 Adding Max version check for Nova since Cloud no  longer
335523           operates at higher versions
335524
335525         · 6f66c9d10c Fixing response of  floating_ip_show to align with other
335526           floating ip's. Spelling fix
335527
335528         · 58459adbe8 Adding ability to set a Floating IP  by  a  specific  IP
335529           address
335530
335531       · PR  #41731:  (terminalmage)  Clarify  that archive_format is required
335532         pre-2016.11.0 @ 2017-06-14 15:05:21 UTC
335533
335534         · 82eab84883 Merge pull request #41731 from terminalmage/docs
335535
335536         · d3f4ea1a84 Clarify that archive_format is required pre-2016.11.0
335537
335538       · PR #41663: (skizunov) Don't invoke lspci if enable_lspci is  False  @
335539         2017-06-13 21:19:42 UTC
335540
335541         · b6d27beac2 Merge pull request #41663 from skizunov/develop3
335542
335543         · 154d6ce59e Don't invoke lspci if enable_lspci is False
335544
335545       · ISSUE  #40446: (sumeetisp) [Documentation] include list of kwargs for
335546         ec2.create_volume in cloud driver (refs: #41693)
335547
335548       · PR #41693: (rallytime) Document available kwargs for  ec2.create_vol‐
335549         ume function @ 2017-06-13 19:51:10 UTC
335550
335551         · 46b8d5dc4b Merge pull request #41693 from rallytime/fix-40446
335552
335553         · 569eb2bf7e Document available kwargs for ec2.create_volume function
335554
335555       · ISSUE  #41691: (jdonofrio728) Can't pass integers as cmd.run environ‐
335556         ment variables (refs: #41696)
335557
335558       · PR  #41696:  (terminalmage)  Handle  a  few  edge/corner  cases  with
335559         non-string input to cmd.run @ 2017-06-13 18:48:56 UTC
335560
335561         · aab55d304a Merge pull request #41696 from terminalmage/issue41691
335562
335563         · 0623e40d33 Apparently some funcs are passing tuples to cmd.run_*
335564
335565         · cdbfb94cfe  Handle a few edge/corner cases with non-string input to
335566           cmd.run
335567
335568       · PR #41697: (terminalmage) Resubmit #41545 against  2016.11  branch  @
335569         2017-06-13 16:10:37 UTC
335570
335571         · PR #41545: (kiorky) Make print_cli resilient on slow systems (refs:
335572           #41697)
335573
335574         · 97897d7a7a Merge pull request #41697 from terminalmage/pr-41545
335575
335576         · faaacf88bf Use error name instead of error number
335577
335578         · 7eacda5cbf Make print_cli resilient on slow systems
335579
335580       · ISSUE #40605: (sumeetisp) Salt-run manage.bootstrap (refs: #41711)
335581
335582       · PR #41711: (rallytime) Update deprecated version info in manage.boot‐
335583         strap func for root_user @ 2017-06-13 16:04:32 UTC
335584
335585         · 09260d7c08 Merge pull request #41711 from rallytime/fix-40605
335586
335587         · 903c2ffca5  Update deprecated version info in manage.bootstrap fucn
335588           for root_user
335589
335590       · ISSUE #39668: (mirceaulinic) Master scheduled job not recorded on the
335591         event bus (refs: #41658)
335592
335593       · PR #41658: (garethgreenaway) Fixes to the salt scheduler @ 2017-06-13
335594         16:00:57 UTC
335595
335596         · d563b3e345   Merge   pull   request   #41658   from    garethgreen‐
335597           away/39668_schedule_runners_fire_events
335598
335599         · d688a1cd88 Enable jobs scheduled on the master to fire their return
335600           data to the event bus
335601
335602       · PR #41706: (twangboy) Add missing batch files @  2017-06-13  15:32:53
335603         UTC
335604
335605         · 3c3b9343b7 Merge pull request #41706 from twangboy/batch_files
335606
335607         · 0d4be0220b Add batch files for master
335608
335609       · PR #41710: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
335610         @ 2017-06-13 15:11:38 UTC
335611
335612         · 1afc4adc5a Merge pull request #41710 from rallytime/merge-2016.11
335613
335614         · 5150916556 Merge branch '2016.3' into '2016.11'
335615
335616         · 5058b0de1f  Merge  pull  request  #41707   from   terminalmage/mas‐
335617           ter-tops-docs
335618
335619           · 6ec9dfb7f3 Update version in master-tops docs
335620
335621         · 1c1964d807 Merge pull request #41689 from yannj-fr/fix-41688
335622
335623           · a47eddccd2 Fix #41688 : fix mkfs command linux-swap support
335624
335625       · PR  #41702:  (gtmanfred) npm 5 and greater requires --force for cache
335626         clean @ 2017-06-12 23:21:56 UTC
335627
335628         · 5d763b9b7f Merge pull request #41702 from gtmanfred/2016.11
335629
335630         · 8bd19fcc17 fix version number
335631
335632         · 0fa380f75c npm 5 and greater requires --force for cache clean
335633
335634       · ISSUE #41668: (yannj-fr) Parted modules mkfs command  does  not  work
335635         with NTFS (refs: #41670)
335636
335637       · PR  #41704:  (rallytime)  Back-port  #41670  to  2016.11 @ 2017-06-12
335638         23:20:31 UTC
335639
335640         · PR #41670: (yannj-fr) fixes #41668 ntfs case problem in parted mod‐
335641           ule (refs: #41704)
335642
335643         · f6519e7f80 Merge pull request #41704 from rallytime/bp-41670
335644
335645         · 8afc8792d1 fixes #41668 ntfs case problem in parted module
335646
335647       · ISSUE  #39939:  (martinschipper)  Relative  symlinks are changed with
335648         file.recurse 2016.11.3 (refs: #41700)
335649
335650       · PR #41700: (terminalmage) roots: return actual link destination  when
335651         listing symlinks @ 2017-06-12 22:07:03 UTC
335652
335653         · 0b89377dce Merge pull request #41700 from terminalmage/issue39939
335654
335655         · bdbb265a0b  roots: return actual link destination when listing sym‐
335656           links
335657
335658       · PR #41699: (rallytime) Remove note about version incompatibility with
335659         salt-cloud @ 2017-06-12 19:44:28 UTC
335660
335661         · 7cf47f9651  Merge  pull request #41699 from rallytime/troubleshoot‐
335662           ing-doc-update
335663
335664         · c91ca5f809  Remove  note   about   version   incompatibility   with
335665           salt-cloud
335666
335667       · ISSUE  #40410:  (DarrenDai) Targeting Minions by IP Range via restful
335668         API doesn't work (refs: #41694)
335669
335670       · PR #41694: (rallytime) Add ipcidr options to "Allowed Values" list in
335671         LocalClient expr_form docs @ 2017-06-12 19:06:16 UTC
335672
335673         · d68a6316b8 Merge pull request #41694 from rallytime/fix-40410
335674
335675         · 6de9da1d5d  Add  ipcidr  options to "Allowed Values" list in Local‐
335676           Client expr_form docs
335677
335678       · ISSUE #41365: (lubyou) file.managed  chokes  on  windows  paths  when
335679         source_hash  is  set  to  the URI of a file that contains source hash
335680         strings (refs: #41659)
335681
335682       · PR #41659: (lubyou) Use re.escape to escape paths before handing them
335683         to re.match @ 2017-06-12 18:10:53 UTC
335684
335685         · 80d4a3ab98       Merge      pull      request      #41659      from
335686           lubyou/41365-fix-file-managed
335687
335688         · d49a1579b0 Use re.escape to escape paths, before  handing  them  to
335689           re.match
335690
335691         · ac240facca use correct variable
335692
335693         · c777eba2c1  Use  re.escape  to escape paths, before handing them to
335694           re.match
335695
335696       · PR #41661: (whiteinge) Add note about avoiding the -i  flag  for  the
335697         /keys endpoint @ 2017-06-09 15:03:40 UTC
335698
335699         · 564d5fd9d3  Merge  pull  request  #41661  from whiteinge/rest_cher‐
335700           rypy-keys-headers
335701
335702         · a66ffc9d3e Add note about avoiding the -i flag for the  /keys  end‐
335703           point
335704
335705       · ISSUE  #41651:  (Sakorah)  pkg.installed  fails  when  unholding  and
335706         test=true (refs: #41660)
335707
335708       · PR #41660: (garethgreenaway) Fix to modules/aptpkg.py  for  unheld  @
335709         2017-06-09 14:53:23 UTC
335710
335711         · 38424f3e3e    Merge   pull   request   #41660   from   garethgreen‐
335712           away/41651_fixing_aptpkg_held_unheld_with_test
335713
335714         · 30da2370a4 Fix when  test=True  and  packages  were  being  set  to
335715           unheld.
335716
335717       · PR  #41656:  (rallytime)  Back-port  #41575  to  2016.11 @ 2017-06-08
335718         22:43:23 UTC
335719
335720         · PR #41575: (dschaller) Fix 41562 (refs: #41656)
335721
335722         · a308b960d8 Merge pull request #41656 from rallytime/bp-41575
335723
335724         · 4374e6b034 Replace "tbd" with release version information
335725
335726         · 81413896d1 Lint: Add index numbers to format {} calls
335727
335728         · 384570384e only list top level npm modules during {un)install
335729
335730       · PR #41456: (bdrung) Fix pkgrepo.managed  always  return  changes  for
335731         test=true @ 2017-06-08 18:21:05 UTC
335732
335733         · e6d37b5f3e  Merge  pull request #41456 from bdrung/fix-pkgrepo.man‐
335734           aged-changes-check
335735
335736         · d3ce7bf05f Fix pkgrepo.managed always return changes for test=true
335737
335738         · 1592687294 Document aptpkg architectures parameter
335739
335740       · ISSUE #41478: (jf) security / information  leak  with  consul  pillar
335741         when subsitution values are not present (refs: #41530)
335742
335743       · PR  #41530:  (gtmanfred)  Set  default  for  consul_pillar  to None @
335744         2017-06-08 18:13:15 UTC
335745
335746         · 721e5b6cb9 Merge pull request #41530 from gtmanfred/2016.11
335747
335748         · 2a4633ce16 Set default for consul_pillar to None
335749
335750       · ISSUE #41629: (lubyou) salt.states.cmd.script:  Parameter  "args"  is
335751         overwritten if "name/id" contains spaces (refs: #41638)
335752
335753       · PR #41638: (gtmanfred) don't overwrite args if they are passed to the
335754         script @ 2017-06-08 17:48:48 UTC
335755
335756         · 8926d1c731 Merge pull request #41638 from gtmanfred/cmdscript
335757
335758         · 6c7d68b97d don't overwrite args if they are passed to the script
335759
335760       · PR #41639: (dmurphy18) Update notrim check, netstat takes minutes  if
335761         large number connections @ 2017-06-07 23:03:24 UTC
335762
335763         · ecb09b8694  Merge  pull  request  #41639 from dmurphy18/minion_net‐
335764           stat_check
335765
335766         · 7ab3319090 Update notrim check, netstat takes minutes if large num‐
335767           ber connections - 260K
335768
335769       · ISSUE  #38894: (amendlik) salt.runner and salt.wheel ignore test=True
335770         (refs: #41309, #41611)
335771
335772       · PR #41611: (garethgreenaway) Additional fixes to states/saltmod.py  @
335773         2017-06-07 22:58:24 UTC
335774
335775         · 2913a33b27    Merge   pull   request   #41611   from   garethgreen‐
335776           away/41309_right_return_res
335777
335778         · fda41ede76 Updating result values to be None for test cases.
335779
335780         · 003f2d9323 Following the documentation, when passed  the  test=True
335781           argument  the  runner  and  wheel  functions should return a result
335782           value of False.
335783
335784       · ISSUE #41626: (ruiaylin) When onlyif and bg  are  used  together  the
335785         (refs: #41637)
335786
335787       · PR #41637: (gtmanfred) never run bg for onlyif or unless cmd states @
335788         2017-06-07 17:37:47 UTC
335789
335790         · 334a5fc2a0 Merge pull request #41637 from gtmanfred/cmd
335791
335792         · 40fb6c6249 never run bg for onlyif or unless cmd states
335793
335794       · PR  #41255:  (lordcirth)  linux_syctl.default_config():  only  return
335795         path, don't create it @ 2017-06-07 14:13:07 UTC
335796
335797         · 34dd9ea862     Merge     pull    request    #41255    from    lord‐
335798           cirth/fix-sysctl-test-11
335799
335800         · 0089be4440 linux_sysctl: use dirname() as suggested
335801
335802         · 262d95e41d linux_syctl.default_config(): only  return  path,  don't
335803           create it
335804
335805         · 277232b3ac linux_sysctl.persist(): create config dir if needed
335806
335807       · ISSUE  #35481:  (giany)  global_identifier  does  not work when using
335808         Softlayer driver (refs: #41551)
335809
335810       · PR #41616: (rallytime)  Back-port  #41551  to  2016.11  @  2017-06-06
335811         22:44:09 UTC
335812
335813         · PR #41551: (darenjacobs) Update __init__.py (refs: #41616)
335814
335815         · 4cf577771b Merge pull request #41616 from rallytime/bp-41551
335816
335817         · 53bca96328 Update __init__.py
335818
335819       · PR  #41552: (Enquier) Adding logic so that update_floatingip can dis‐
335820         sassociate floatingip's @ 2017-06-06 18:25:56 UTC
335821
335822         · 846ca54688 Merge pull request  #41552  from  Enquier/neutron-float‐
335823           ingip-remove
335824
335825         · aeed51c1e3 Adding port=None default and documentation
335826
335827         · fcce05e1e4 Adding logic so that update_floatingip can dissassociate
335828           floatingip's Previously update_floatingip would cause an  error  if
335829           port is set to None.
335830
335831       · PR  #41569:  (gtmanfred)  Check  all  entries  in result @ 2017-06-06
335832         18:18:17 UTC
335833
335834         · b720ecb732    Merge    pull    request    #41569    from     gtman‐
335835           fred/fix_test_result_check
335836
335837         · 19ea5481b6 remove test that never passed
335838
335839         · e2a4d5e1e2 Check all entries in result
335840
335841       · ISSUE #41540: (UtahDave) archive.extracted fails on second run (refs:
335842         #41599)
335843
335844       · PR #41599: (garethgreenaway) Fixes to modules/archive.py @ 2017-06-06
335845         18:02:14 UTC
335846
335847         · d9546c6283    Merge   pull   request   #41599   from   garethgreen‐
335848           away/41540_fixes_to_archive_module
335849
335850         · 66a136e6d8 Fixing issues raised in #41540 when a zip file  is  cre‐
335851           ated  on a Windows system.  The issue has two parts, first directo‐
335852           ries that  end  up  in  the  archive  end  up  in  the  results  of
335853           aarchive.list  twice  as they show up as both files and directories
335854           because of the logic to handle the fact that Windows  doesn't  mark
335855           them as directories.  This issue shows up when an extraction is run
335856           a second time since the module verified the file types and the sub‐
335857           directory  is  not  a file.  The second issue is related to permis‐
335858           sions, if Salt  is  told  to  extract  permissions  (which  is  the
335859           default) then the directory and files end up being unreadable since
335860           the permissions are not available.  This change  sets  the  permis‐
335861           sions to what the default umask for the user running Salt is.
335862
335863       · ISSUE #40950: (idokaplan) Import certificate (refs: #41453, #41383)
335864
335865       · PR #41453: (peter-funktionIT) Update win_pki.py @ 2017-06-06 17:15:55
335866         UTC
335867
335868         · PR #41383: (peter-funktionIT) Update win_pki.py (refs: #41453)
335869
335870         · 10ac80ee96   Merge   pull   request   #41453    from    peter-funk‐
335871           tionIT/fix_win_pki_state_import_cert
335872
335873         · d146fd029c Update win_pki.py
335874
335875         · ef8e3ef569 Update win_pki.py
335876
335877       · PR #41557: (dmurphy18) Add symbolic link for salt-proxy service simi‐
335878         lar to other serivce files @ 2017-06-06 17:13:52 UTC
335879
335880         · 3335fcbc7d Merge pull request #41557 from  dmurphy18/fix-proxy-ser‐
335881           vice
335882
335883         · ffe492d6a9  Add  symbolic  link salt-proxy service similar to other
335884           service files
335885
335886       · PR #41597: (rallytime)  Back-port  #41533  to  2016.11  @  2017-06-06
335887         15:15:09 UTC
335888
335889         · PR  #41533:  (svinota) unit tests: add pyroute2 interface dict test
335890           (refs: #41597)
335891
335892         · 65ed230f45 Merge pull request #41597 from rallytime/bp-41533
335893
335894         · 535b8e8d8e Update new pyroute2 unit test to  conform  with  2016.11
335895           branch standards
335896
335897         · 5c86dee73c unit tests: test_pyroute2 -- add skipIf
335898
335899         · 026b39493f unit tests: add encoding clause into test_pyroute2
335900
335901         · 9ab203d54b unit tests: fix absolute imports in test_pyroute2
335902
335903         · 1f507cfa7a unit tests: add pyroute2 interface dict test
335904
335905       · PR  #41596:  (rallytime)  Back-port  #41487  to  2016.11 @ 2017-06-06
335906         02:44:17 UTC
335907
335908         · PR #41487: (svinota) clean up change attribute from interface  dict
335909           (refs: #41596)
335910
335911         · bf8aed153d Merge pull request #41596 from rallytime/bp-41487
335912
335913         · 7b497d9ec6 clean up change attribute from interface dict
335914
335915       · ISSUE  #41435:  (seanjnkns)  2016.11: Keystone.endpoint_present over‐
335916         writes all interfaces (refs: #41509)
335917
335918       · PR #41509: (seanjnkns) Add keystone V3 API support for  keystone.end‐
335919         point_present|absent @ 2017-06-03 03:01:05 UTC
335920
335921         · cc6c98a8d8   Merge  pull  request  #41509  from  seanjnkns/fix-key‐
335922           stone-v3-endpoint_present
335923
335924         · 095e5949a3 Fix unit tests for PR #41509
335925
335926         · eb7ef3c856  Add  keystone  V3   API   support   for   keystone.end‐
335927           point_present|get, endpoint_absent|delete.
335928
335929       · ISSUE  #38061: (Ch3LL) x509.crl_managed ValueError when digest is not
335930         specified in the module (refs: #41539)
335931
335932       · PR #41539: (gtmanfred) allow digest  to  be  empty  in  create_crl  @
335933         2017-06-02 17:00:04 UTC
335934
335935         · 0a08649637 Merge pull request #41539 from gtmanfred/x509
335936
335937         · 0989be8919 allow digest to be empty in create_crl
335938
335939       · ISSUE  #41154:  (mephi42) archive.extracted outputs password embedded
335940         in archive URL (refs: #41561)
335941
335942       · PR #41561: (terminalmage) Redact HTTP  basic  authentication  in  ar‐
335943         chive.extracted @ 2017-06-02 15:33:14 UTC
335944
335945         · 3ae8336895 Merge pull request #41561 from terminalmage/issue41154
335946
335947         · cbf8acbafc Redact HTTP basic authentication in archive.extracted
335948
335949       · PR #41436: (skizunov) TCP transport: Fix occasional errors when using
335950         salt command (refs: #41787) @ 2017-06-01 16:37:43 UTC
335951
335952         · 39840bfe4e Merge pull request #41436 from skizunov/develop2
335953
335954         · 07d5862773 unit.transport.tcp_test: Clean up channel after use
335955
335956         · 4b6aec7154 Preserve original IO Loop on cleanup
335957
335958         · 892c6d4d24 TCP transport: Fix occasional  errors  when  using  salt
335959           command
335960
335961       · ISSUE  #41335:  (syphernl)  [2016.11.5] ssh_auth.present: IndexError:
335962         list index out of range (refs: #41337)
335963
335964       · PR #41337: (Foxlik) Fix #41335 - list index out  of  range  on  empty
335965         line in authorized_keys @ 2017-05-31 19:59:17 UTC
335966
335967         · 06ed4f077b Merge pull request #41337 from Foxlik/2016.11
335968
335969         · 916fecb64f modify ssh_test.py, to check empty lines and comments in
335970           authorized_keys #41335
335971
335972         · 011d6d65e7 Fix #41335 - list index out of range on  empty  line  in
335973           authorized_keys
335974
335975       · PR  #41512:  (twangboy)  Use psutil where possible in win_status.py @
335976         2017-05-31 19:56:00 UTC
335977
335978         · 1ace72d871 Merge pull request #41512 from twangboy/fix_win_status
335979
335980         · 582d09b484 Get psutil import
335981
335982         · fd88bb277f Remove unused imports (lint)
335983
335984         · 41a39dff00 Use psutil where possible
335985
335986       · PR #41490:  (t0fik)  Backport  of  SELinux  module  installation  and
335987         removal @ 2017-05-31 19:38:00 UTC
335988
335989         · 683cc5f414 Merge pull request #41490 from jdsieci/2016.11_selinux
335990
335991         · e2fbada1c1 Backport of SELinux module installation and removal
335992
335993       · PR #41522: (jettero) Sadly, you can't have '.'s and '$'s in dict keys
335994         in a mongodb doc.  @ 2017-05-31 15:55:24 UTC
335995
335996         · 2e7e84b8f2   Merge   pull   request   #41522   from    jettero/mon‐
335997           godb-keys-are-stupid
335998
335999         · 12648f5439  dang,  thought  I already got that. Apparently only got
336000           the bottom one. This should do it.
336001
336002         · 7c4a763518 ugh, forgot about this lint too. This  one  looks  espe‐
336003           cially terrible.
336004
336005         · c973988d8d forgot about the linter pass … fixed
336006
336007         · da0d9e4045  Sadly,  you  can't have '.'s and '$'s in dict keys in a
336008           mongodb doc.
336009
336010       · ISSUE #41504: (mtkennerly) Can't set REG_DWORD registry value  larger
336011         than 0x7FFFFFFF (refs: #41506)
336012
336013       · PR  #41506: (gtmanfred) check for integer types @ 2017-05-31 00:48:21
336014         UTC
336015
336016         · 30ad4fd9a0 Merge pull request #41506 from gtmanfred/2016.11
336017
336018         · 5fe2e9bbf5 check for integer types
336019
336020       · PR #41469:  (Ch3LL)  Fix  keep_jobs  keyerror  in  redis  returner  @
336021         2017-05-30 18:37:42 UTC
336022
336023         · 06ef17dec3 Merge pull request #41469 from Ch3LL/fix_redis_error
336024
336025         · 8ee1251a3a Fix keep_jobs keyerror in redis returner
336026
336027       · PR  #41473: (twangboy) Fix win_firewall execution and state modules @
336028         2017-05-30 18:35:24 UTC
336029
336030         · 7a09b2b678 Merge pull request #41473 from twangboy/fix_win_firewall
336031
336032         · e503b455c3 Fix lint error
336033
336034         · d3f0f8bcd2 Fix win_firewall execution and state modules
336035
336036       · PR #41499: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
336037         @ 2017-05-30 18:06:03 UTC
336038
336039         · f635cb11c4 Merge pull request #41499 from rallytime/merge-2016.11
336040
336041         · 20d893d397 Merge branch '2016.3' into '2016.11'
336042
336043         · 964b1ee027    Merge    pull    request    #41439   from   terminal‐
336044           mage/salt-cp-base64
336045
336046           · ebf6cc78c7 base64 encode binary data sent using salt-cp
336047
336048       · PR #41464: (rallytime)  Back-port  #39850  to  2016.11  @  2017-05-26
336049         21:22:44 UTC
336050
336051         · PR #39850: (epcim) Fix endpoint handling per region (refs: #41464)
336052
336053         · 83f1e48241 Merge pull request #41464 from rallytime/bp-39850
336054
336055         · 9b84b751b2 Pylint fixes
336056
336057         · 6db8915021  Endpoint  handling  per  region,  fixes #35874 - extend
336058           tests for multiple regions - region arg by default set  to  None  -
336059           print verbose changes to be exec.
336060
336061       · PR #41443: (UtahDave) use proper arg number @ 2017-05-26 20:36:37 UTC
336062
336063         · 960c5767fa  Merge  pull  request #41443 from UtahDave/fix_args_mas‐
336064           terpy
336065
336066         · dfbdc275ca use proper arg number
336067
336068       · ISSUE #41341: (lorengordon)  TypeError  traceback  in  network.system
336069         with retain_settings=True (refs: #41350)
336070
336071       · PR  #41350:  (lorengordon)  Supports  quoted  values  in /etc/syscon‐
336072         fig/network @ 2017-05-26 16:22:03 UTC
336073
336074         · 88c28c18c3 Merge pull request #41350 from lorengordon/issue-41341
336075
336076         · f2f6da7039 Supports quoted values in /etc/sysconfig/network
336077
336078       · PR #41398: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
336079         @ 2017-05-26 15:17:49 UTC
336080
336081         · 824f2d3b69 Merge pull request #41398 from rallytime/merge-2016.11
336082
336083         · 2941e9c923 Merge pull request #22 from terminalmage/merge-2016.11
336084
336085           · 087a958afc base64 encode binary data sent using salt-cp
336086
336087         · 503f925275 Add missing import
336088
336089         · d2d9a3d29f Merge branch '2016.3' into '2016.11'
336090
336091           · d617c9fe72 Merge pull request #41265 from terminalmage/issue41234
336092
336093             · edf552fe9a Update PKG_TARGETS for RHEL-based distros
336094
336095             · 0ecc7b9b20  yumpkg:  fix latest_version() when showdupesfromre‐
336096               pos=1 set in /etc/yum.conf
336097
336098           · 26bd914580  Merge  pull  request  #41316  from  Ch3LL/update_lat‐
336099             est_2016.3
336100
336101             · 520740d862 [2016.13] Bump latest release version to 2016.11.5
336102
336103           · 18898b7d1f Merge pull request #41216 from terminalmage/issue16592
336104
336105             · 0e15fdbb1a  Update  salt-cp  integration test to reflect recent
336106               changes
336107
336108             · 10dc695cc4 Make salt-cp work with larger files
336109
336110             · c078180539  Make  KeyErrors  more  specific  when  interpreting
336111               returns
336112
336113             · fc401c9eb4 Add generator functions for reading files
336114
336115       · PR #41442: (UtahDave) use proper arg number @ 2017-05-26 13:42:50 UTC
336116
336117         · ec08064b99 Merge pull request #41442 from UtahDave/fix_args
336118
336119         · 0324833c9e use proper arg number
336120
336121       · ISSUE #37824: (dxiri) SSLError Trying to use v3 API of Openstack New‐
336122         ton as provider. (refs: #41397, #40752)
336123
336124       · ISSUE #36548: (abonillasuse) openstack auth with nova  driver  (refs:
336125         #38647)
336126
336127       · PR  #41397:  (Enquier)  Updating Nova/Neutron modules to support Key‐
336128         stoneAuth and SSLVerify @ 2017-05-25 21:16:14 UTC
336129
336130         · PR #40752: (Enquier) Add ability to specify a custom  SSL  certifi‐
336131           cate or disable SSL verification in KeystoneAuth v3 (refs: #41397)
336132
336133         · PR  #38647:  (gtmanfred) Allow novaclient to use keystoneauth1 ses‐
336134           sions for authentication (refs: #41397)
336135
336136         · 22096d9213 Merge pull request #41397 from  Enquier/neutron-ssl-ver‐
336137           ify
336138
336139         · d25dcf61d5 Small error in nova that was preventing execution
336140
336141         · 0e7a1009ed Updated module docs to include changes made
336142
336143         · 05e0192665 Adding missing os_auth_system
336144
336145         · 4e0f4981e4  allow service_type to be specified default is now 'net‐
336146           work'
336147
336148         · 991e84343f Added non-profile and defaults for Neutron
336149
336150         · c93f112c9b Updating Nova Module to include use_keystone Auth
336151
336152         · 66ab1e5184 Re-adding neutron dependency check
336153
336154         · cce07eefc2 Updating Neutron module to suport KeystoneAuth
336155
336156       · ISSUE #34460: (Ch3LL) Receive an error when using salt-api to call  a
336157         runner (refs: #41409)
336158
336159       · PR  #41409:  (garethgreenaway)  Fixes  to  ipc transport @ 2017-05-25
336160         21:06:27 UTC
336161
336162         · 14a58cf536   Merge   pull   request   #41409   from    garethgreen‐
336163           away/34460_fixes_ipc_transport
336164
336165         · 5613b72dfe  Updating the exception variable to be more in line with
336166           the rest of the exception code
336167
336168         · 41eee8b333 Fixing a potential lint issue
336169
336170         · 760d561dfa Fixing a potential lint issue
336171
336172         · c11bcd0d12 Changing the approaching and including an except for the
336173           action  socket.error  exception,  then logging a trace log if error
336174           number is 0 and an error log otherwise.
336175
336176         · 3f950596f4 Fixing lint issues.
336177
336178         · f3a6531a69 On occasion an exception will occur which results in the
336179           event  not  returning properly, even though the wire_bytes  is cor‐
336180           rectly populated. In this situation, we log to trace  and continue.
336181           #34460
336182
336183       · PR  #41421:  (UtahDave)  Correct doc to actually blacklist a module @
336184         2017-05-25 21:01:46 UTC
336185
336186         · 824428700d  Merge  pull  request  #41421  from  UtahDave/fix_black‐
336187           list_docs
336188
336189         · 5eb27571a0 Correct doc to actually blacklist a module
336190
336191       · ISSUE   #41353:   (rmarchei)  Orchestrate  runner  needs  saltenv  on
336192         2016.11.5 (refs: #41431)
336193
336194       · PR #41431: (terminalmage) Fix regression  in  state  orchestration  @
336195         2017-05-25 18:44:53 UTC
336196
336197         · b98d5e00d4 Merge pull request #41431 from terminalmage/issue41353
336198
336199         · 16eae64cca Fix regression in state orchestration
336200
336201       · ISSUE  #41338:  (ricohouse)  Exception not raised when running config
336202         compare and the device (Juniper) returns error (refs: #41429)
336203
336204       · PR #41429: (ricohouse) Issue #41338: Return false when compare config
336205         fails @ 2017-05-25 17:18:02 UTC
336206
336207         · eeff3dd7fb Merge pull request #41429 from ricohouse/fix-compare-bug
336208
336209         · 9b61665c4c Issue #41338: Return false when compare config fails
336210
336211       · PR  #41414:  (Ch3LL)  Update  bootstrap  script  verstion  to  latest
336212         release(v2017.05.24) @ 2017-05-24 19:51:49 UTC
336213
336214         · 561a416cf3 Merge pull request #41414 from Ch3LL/update_bootstrap
336215
336216         · d8c03eef60   Update   bootstrap   script   verstion    to    latest
336217           release(v2017.05.24)
336218
336219       · PR #41336: (mcalmer) fix setting and getting locale on SUSE systems @
336220         2017-05-24 17:46:08 UTC
336221
336222         · 88fd3c0ed9      Merge      pull      request      #41336       from
336223           mcalmer/fix-locale-on-SUSE
336224
336225         · f30f5c8a25 fix unit tests
336226
336227         · 428baa9bce fix setting and getting locale on SUSE systems
336228
336229       · PR  #41393:  (rallytime)  Back-port  #41235  to  2016.11 @ 2017-05-24
336230         16:08:56 UTC
336231
336232         · PR #41235: (moio) rest_cherrypy: remove sleep call (refs: #41393)
336233
336234         · 4265959647 Merge pull request #41393 from rallytime/bp-41235
336235
336236         · c79c0e3f43 rest_cherrypy: remove sleep call
336237
336238       · PR #41394: (rallytime)  Back-port  #41243  to  2016.11  @  2017-05-24
336239         16:00:17 UTC
336240
336241         · PR  #41243:  (arif-ali) Remove the keys that don't exist in the new
336242           change (refs: #41394)
336243
336244         · 83f54694f9 Merge pull request #41394 from rallytime/bp-41243
336245
336246         · a5351302af Lint fix
336247
336248         · 05fadc0af3 Remove the keys that don't exist in the new change
336249
336250       · PR #41401: (bdrung) Add documentation key to systemd service files  @
336251         2017-05-24 15:49:54 UTC
336252
336253         · 3a45ac30f0  Merge  pull  request  #41401  from  bdrung/systemd-ser‐
336254           vice-documentation-key
336255
336256         · 3f7f30895d Add documentation key to systemd service files
336257
336258       · PR #41404: (bdrung) Fix typos @ 2017-05-24 14:42:44 UTC
336259
336260         · d34333c30b Merge pull request #41404 from bdrung/fix-typos
336261
336262         · 33a7f8b2ec Fix typos
336263
336264       · PR #41388: (bdrung) Do not require sphinx-build for cleaning  docs  @
336265         2017-05-23 19:32:41 UTC
336266
336267         · 3083764195  Merge  pull  request #41388 from bdrung/clean-doc-with‐
336268           out-sphinx
336269
336270         · 5b79a0a9f8 Do not require sphinx-build for cleaning docs
336271
336272       · ISSUE  #41362:  (automate-solutions)  On  AWS  EC2:   salt-cloud   -f
336273         delete_keypair  ec2  keyname=mykeypair  doesn't  delete  the  keypair
336274         (refs: #41364)
336275
336276       · PR #41364: (automate-solutions) Fix issue  #41362  invalid  parameter
336277         used: KeyName.1 instead of KeyName @ 2017-05-23 17:32:10 UTC
336278
336279         · 842875e590   Merge   pull   request   #41364   from  automate-solu‐
336280           tions/fix-issue-41362
336281
336282         · cfd8eb7a87 Set DescribeKeyPairs back to KeyName.1 according to doc‐
336283           umentation
336284
336285         · 6a82ddc6fc  Fix  issue  #41362  invalid  parameter  used: KeyName.1
336286           instead of KeyName
336287
336288       · ISSUE #40950: (idokaplan) Import certificate (refs: #41453, #41383)
336289
336290       · PR #41383: (peter-funktionIT)  Update  win_pki.py  (refs:  #41453)  @
336291         2017-05-23 17:26:43 UTC
336292
336293         · 92f94e66bc    Merge    pull   request   #41383   from   peter-funk‐
336294           tionIT/fix-win_pki-get_cert_file
336295
336296         · 4d9bd06176 Update win_pki.py
336297
336298       · PR #41113: (cro) Rescue proxy_auto_tests PR from git  rebase  hell  @
336299         2017-05-22 17:05:07 UTC
336300
336301         · PR  #39575: (cro) WIP: Proxy auto test, feedback appreciated (refs:
336302           #41113)
336303
336304         · 1ba95684a9 Merge pull request #41113 from cro/proxy_auto_test2
336305
336306         · 19db038b99 Fix test--use proxy_config instead of minion_config
336307
336308         · 7749ceadb6 Change default proxy minion opts so only the  proxy-spe‐
336309           cific  ones  are  listed,  and the rest are taken from DEFAULT_MIN‐
336310           ION_OPTS.
336311
336312         · 106394c80c Lint.
336313
336314         · 3be90cc9f4 Rescue proxy_auto_tests PR from git rebase hell
336315
336316       · PR #41360: (cro) Sysrc on FreeBSD, YAML overeager to coerce  to  bool
336317         and int @ 2017-05-22 15:54:31 UTC
336318
336319         · 375892d910 Merge pull request #41360 from cro/sysrc_fix
336320
336321         · 6db31ce52a  Fix  problem  with  sysrc on FreeBSD, YAML overeager to
336322           coerce to bool and int.
336323
336324       · ISSUE #41190: (jheidbrink) Cannot  extract  tar.xz  archive  when  it
336325         exceeds size of /tmp (refs: #41372)
336326
336327       · PR  #41372:  (terminalmage)  Don't use intermediate file when listing
336328         contents of tar.xz file @ 2017-05-22 15:36:45 UTC
336329
336330         · 01b71c75c1 Merge pull request #41372 from terminalmage/issue41190
336331
336332         · 1f08936d9c Remove unused import
336333
336334         · 68cb897520 Replace reference to fileobj
336335
336336         · 788874408a Remove '*' from mode
336337
336338         · 3d4b833627 Don't use intermediate file  when  listing  contents  of
336339           tar.xz file
336340
336341       · PR  #41373: (alex-zel) Allow HTTP authentication to ES.  @ 2017-05-22
336342         15:32:09 UTC
336343
336344         · 5edfcf972c Merge pull request #41373 from alex-zel/patch-3
336345
336346         · 3192eab128 Allow HTTP authentication to ES.
336347
336348       · ISSUE #40748: (djhaskin987) Consul backend minion cache does not work
336349         (refs: #41287)
336350
336351       · PR  #41287:  (garethgreenaway)  Fix  to  consul  cache  @  2017-05-19
336352         18:32:56 UTC
336353
336354         · 29bd7f48b7   Merge   pull   request   #41287   from    garethgreen‐
336355           away/40748_2016_11_consul
336356
336357         · 5039fe12fb Removing chdir as it is no needed with this change
336358
336359         · 4550c3ce49  Updating the code that is pulling in the list of cached
336360           minions to use self.cache.list instead of relying on  checking  the
336361           local  file  system, which only works for the localfs cache method.
336362           #40748
336363
336364       · ISSUE #38894: (amendlik) salt.runner and salt.wheel ignore  test=True
336365         (refs: #41309, #41611)
336366
336367       · PR #41309: (garethgreenaway) Adding test argument for runners & wheel
336368         orchestration modules @ 2017-05-19 18:26:09 UTC
336369
336370         · 672aaa88d3   Merge   pull   request   #41309   from    garethgreen‐
336371           away/38894_allowing_test_argument
336372
336373         · e1a88e8bf7  Allowing  test=True  to  be  passed for salt.runner and
336374           salt.wheel when used with orchestration
336375
336376       · ISSUE #41306: (lomeroe) win_lgpo does not properly pack group  policy
336377         version number in gpt.ini (refs: #41319, #41307)
336378
336379       · PR  #41319:  (lomeroe) backport #41307 to 2016.11, properly pack ver‐
336380         sion numbers into single @ 2017-05-19 18:25:00 UTC
336381
336382         · PR #41307: (lomeroe) properly pack/unpack the verison numbers  into
336383           a number (refs: #41319)
336384
336385         · 140b0427e1 Merge pull request #41319 from lomeroe/bp_41307
336386
336387         · 4f0aa577a5 backport 41307 to 2016.11, properly pack version numbers
336388           into single number
336389
336390       · PR #41327: (Ch3LL) Add 2016.11.6 Release Notes @ 2017-05-19  18:05:09
336391         UTC
336392
336393         · 6bdb7cca7d       Merge      pull      request      #41327      from
336394           Ch3LL/add_2016.11.6_release
336395
336396         · e5fc0aeb9c Add 2016.11.6 Release Notes
336397
336398       · PR  #41329:  (lorengordon)   Corrects   versionadded   for   win_net‐
336399         work.get_route @ 2017-05-19 17:47:57 UTC
336400
336401         · 1faffd3932 Merge pull request #41329 from lorengordon/doc-fix
336402
336403         · 3c471247f0 Corrects versionadded for win_network.get_route
336404
336405       · PR  #41322: (Ch3LL) Add patched packages warning to 2016.11.5 release
336406         notes @ 2017-05-18 21:53:26 UTC
336407
336408         · 6ca65592da      Merge      pull      request      #41322       from
336409           Ch3LL/fix_release_2016.11.5_notes
336410
336411         · 9a1bf4205f fix url refs in rst
336412
336413         · cde008ff77 Add patched packages warning to 2016.11.5 release notes
336414
336415       · PR  #41208:  (pkazmierczak)  Fix: zypper handling of multiple version
336416         packages @ 2017-05-18 15:44:26 UTC
336417
336418         · 9f359d841f Merge pull request  #41208  from  pkazmierczak/pkazmier‐
336419           czak-zypper-multiple-ver-pkgs
336420
336421         · d411a91676  Reverted  back  to cascading with statements for python
336422           2.6 compat
336423
336424         · 7204013653 Compacted with statements in the unit test.
336425
336426         · 6c4c08042c Added unit tests and copied  the  behavior  to  .upgrade
336427           method, too.
336428
336429         · 5f952007f6 Fix: zypper handling of multiple version packages
336430
336431       · PR #41317: (Ch3LL) [2016.11] Bump latest release version to 2016.11.5
336432         @ 2017-05-18 15:34:13 UTC
336433
336434         · bcef99adb6  Merge  pull  request  #41317   from   Ch3LL/update_lat‐
336435           est_2016.11
336436
336437         · cdb072c207 [2016.11] Bump latest release version to 2016.11.5
336438
336439       · PR  #41232:  (axmetishe) Add basic auth for SPM @ 2017-05-17 19:08:56
336440         UTC
336441
336442         · b8ddd7ee08 Merge pull request #41232 from axmetishe/2016.11
336443
336444         · 76104f23b4 Add basic auth for SPM
336445
336446       · PR #41236: (BenoitKnecht) states: cron:  show  correct  changes  when
336447         using special @ 2017-05-17 18:51:58 UTC
336448
336449         · 7bdb66d969 Merge pull request #41236 from BenoitKnecht/2016.11
336450
336451         · 33211d032e states: cron: show correct changes when using special
336452
336453       · PR  #41269:  (isbm)  Bugfix:  Unable to use "127" as hostname for the
336454         Minion ID @ 2017-05-17 18:31:15 UTC
336455
336456         · 1c1e092f56  Merge   pull   request   #41269   from   isbm/isbm-min‐
336457           ion-id-127-name
336458
336459         · 5168ef8959 Add unit test for hostname can be started from 127
336460
336461         · 0d0354198b Harden to 127. IP part
336462
336463         · d9c8324a6b Unit test for accepting hosts names as 127
336464
336465         · 65b03c667b Bugfix: unable to use 127 as hostname
336466
336467       · PR   #41289:  (garethgreenaway)  Fixing  consul  cache  @  2017-05-17
336468         16:54:12 UTC
336469
336470         · d0fa31d4ca   Merge   pull   request   #41289   from    garethgreen‐
336471           away/2016_11_5_fix_consul_cache_ls
336472
336473         · 780a28c9a0  Swapping the order in the func_alias so the ls function
336474           is available.
336475
336476       · ISSUE #41291: (lomeroe) win_lgpo does not properly convert large dec‐
336477         imal values in regpol data (refs: #41301, #41303)
336478
336479       · PR  #41303:  (lomeroe)  backport  #41301  --  properly convert packed
336480         string to decimal values @ 2017-05-17 16:32:22 UTC
336481
336482         · PR #41301: (lomeroe) properly convert packed string to decimal val‐
336483           ues (refs: #41303)
336484
336485         · 6566648948 Merge pull request #41303 from lomeroe/bp-41301
336486
336487         · f4b93f9d9a properly convert packed string to decimal values
336488
336489       · ISSUE  #41231: (kaihowl) PR #30777 misses an update to the documenta‐
336490         tion for pkg.installed and hold:true (refs: #41251)
336491
336492       · ISSUE #30733: (ealphonse) version-controlled packages with hold: True
336493         can no longer be upgraded by salt (refs: #30777)
336494
336495       · PR  #41283:  (terminalmage)  Backport  #41251 to 2016.11 @ 2017-05-16
336496         18:01:17 UTC
336497
336498         · PR #41251: (abednarik) Update apt module regarding upgrade  against
336499           hold packages. (refs: #41283)
336500
336501         · PR #30777: (abednarik) Fix update apt hold pkgs (refs: #41251)
336502
336503         · 44598617be Merge pull request #41283 from terminalmage/bp-41251
336504
336505         · ed03ca534f  Update  apt module regarding upgrade against hold pack‐
336506           ages.
336507
336508       · PR #41181: (gtmanfred) add resolving extra flags  to  yum  upgrade  @
336509         2017-05-16 04:07:47 UTC
336510
336511         · d8e9676fcf Merge pull request #41181 from gtmanfred/2016.11
336512
336513         · 2ca71713b1 use six and clean_kwargs
336514
336515         · c9bf09a5a1 add resolving extra flags to yum upgrade
336516
336517       · ISSUE #40177: (eldadru) libcloud_dns state "global name '__salt__' is
336518         not defined" in salt.cmd runner (refs: #40246)
336519
336520       · PR #41220: (rallytime)  Back-port  #40246  to  2016.11  @  2017-05-15
336521         17:59:38 UTC
336522
336523         · PR  #40246:  (tonybaloney) Fix libcloud_dns state module bug (refs:
336524           #41220)
336525
336526         · 75942235f0 Merge pull request #41220 from rallytime/bp-40246
336527
336528         · 79f1bb2bba Remove unused/duplicate imports leftover from merge-con‐
336529           flict resolution
336530
336531         · 2f610680e5 remove unused imports
336532
336533         · 9b7de2e7d7 fix unit tests
336534
336535         · 49d94559ab linting
336536
336537         · 4b260a4594 linting
336538
336539         · 41d1adab5f fix up tests
336540
336541         · b3822e03fc  add  fixes  for  incorrectly importing modules directly
336542           instead of using __salt__
336543
336544       · ISSUE #41230: (RealKelsar) 2016.11.5 IPv6 nameserver  in  resolv.conf
336545         leads to minion exception (refs: #41244)
336546
336547       · ISSUE  #40912:  (razed11)  IPV6 Warning when ipv6 set to False (refs:
336548         #40934)
336549
336550       · PR #41244:  (cachedout)  Fix  ipv6  nameserver  grains  @  2017-05-15
336551         17:55:39 UTC
336552
336553         · PR  #40934: (gtmanfred) Only display IPvX warning if role is master
336554           (refs: #41244)
336555
336556         · 53d5b3e816 Merge pull request #41244 from  cachedout/fix_ipv6_name‐
336557           server_grains
336558
336559         · f745db1a43 Lint
336560
336561         · 6e1ab69710 Partial revert of #40934
336562
336563         · 88f49f9146 Revert "Only display IPvX warning if role is master"
336564
336565       · PR  #41242: (pprkut) Fix changing a mysql user to unix socket authen‐
336566         tication.  @ 2017-05-15 17:00:06 UTC
336567
336568         · 895fe582eb Merge pull request #41242 from M2Mobi/mysql_socket_auth
336569
336570         · 7d8359766d Fix changing a mysql user to unix socket authentication.
336571
336572       · ISSUE #40940: (djhaskin987) When state_aggregate is set to True,  the
336573         latest keyword doesn't work with pkg.installed (refs: #41101)
336574
336575       · PR #41101: (terminalmage) Fix "latest" keyword for version specifica‐
336576         tion when used with aggregation @ 2017-05-15 16:52:35 UTC
336577
336578         · 50d8fde123 Merge pull request #41101 from terminalmage/issue40940
336579
336580         · 7fe64219ae Add rtag check to integration test for pkg.refresh_db
336581
336582         · 88a08aa3bf Add comments to explain  what  removing  the  rtag  file
336583           actually does
336584
336585         · 92011dbe5f Fix "latest" keyword for version specification when used
336586           with aggregation
336587
336588       · ISSUE #34775: (babilen) Please allow users to disable branch environ‐
336589         ment mapping in GitFS (refs: #41144)
336590
336591       · PR  #41146: (terminalmage) gitfs: Backport performance fixes for get‐
336592         ting tree objects @ 2017-05-12 17:35:47 UTC
336593
336594         · PR #41144: (terminalmage) gitfs: Add  two  new  options  to  affect
336595           saltenv mapping (refs: #41146)
336596
336597         · 049712ba53   Merge  pull  request  #41146  from  terminalmage/back‐
336598           port-get_tree-performance-improvement
336599
336600         · f9d6734afe gitfs:  Backport  performance  fixes  for  getting  tree
336601           objects
336602
336603       · ISSUE  #41135:  (shallot)  gpg  renderer  doesn't  seem  to work with
336604         salt-ssh, tries to execute gpg on the minion? (refs: #41161)
336605
336606       · PR #41161: (The-Loeki) gpg renderer: fix gpg_keydir always  reverting
336607         to default @ 2017-05-12 17:19:07 UTC
336608
336609         · 4215a0b99d Merge pull request #41161 from The-Loeki/2016.11
336610
336611         · 24946fef18 gpg renderer: fix gpg_keydir always reverting to default
336612
336613       · ISSUE  #41162: (onlyanegg) Elasticsearch module functions should pass
336614         hosts and profile to index_exists() (refs: #41163)
336615
336616       · PR #41163: (onlyanegg) Elasticsearch -  pass  hosts  and  profile  to
336617         index_exists() @ 2017-05-12 17:18:06 UTC
336618
336619         · 5b10fc58ba   Merge  pull  request  #41163  from  onlyanegg/elastic‐
336620           search-pass_profile_to_index_exists
336621
336622         · 7f512c701b Pass hosts and profile to index_exists() method
336623
336624       · ISSUE #41185: (jmarinaro) package name collisions in chocolatey state
336625         (refs: #41186)
336626
336627       · PR  #41186:  (jmarinaro)  Fix  package  name collisions in chocolatey
336628         state @ 2017-05-12 17:01:31 UTC
336629
336630         · d433cf850d Merge  pull  request  #41186  from  jmarinaro/fix-choco‐
336631           latey-package-collision
336632
336633         · 229f3bf9f3 apply changes to uninstalled function
336634
336635         · ffd4c7ef04 Fix package name collisions in chocolatey state
336636
336637       · PR  #41189: (github-abcde) utils/minions.py: Fixed case where data is
336638         an empty dict resulting in… @ 2017-05-12 16:32:25 UTC
336639
336640         · bb5ef41ce0 Merge pull request #41189  from  github-abcde/utils-min‐
336641           ions-fix
336642
336643         · 853dc5406c utils/minions.py: Fixed case where data is an empty dict
336644           resulting in errors.
336645
336646       · PR #41104: (Ch3LL) Add test to query results of /jobs call in  api  @
336647         2017-05-10 20:11:08 UTC
336648
336649         · b136b15330 Merge pull request #41104 from Ch3LL/add_jobs_test
336650
336651         · dac16583b7 add test to query results of /jobs call in api
336652
336653       · PR #41170: (lomeroe) Backport #41081 to 2016.11 @ 2017-05-10 19:58:52
336654         UTC
336655
336656         · PR #41081: (lomeroe) Update win_dns_client  to  use  reg.read_value
336657           and set_value (refs: #41170)
336658
336659         · ca18b4df93 Merge pull request #41170 from lomeroe/bp-41081
336660
336661         · 2af89f2165 update mock data
336662
336663         · b7fa115a59 update win_dns_client tests with correct module names
336664
336665         · 4d05a22675   Update   win_dns_client   to  use  reg.read_value  and
336666           set_value
336667
336668       · PR #41173: (twangboy) Add silent action to MsgBox for Path Actions  @
336669         2017-05-10 19:57:06 UTC
336670
336671         · d7ec37b003 Merge pull request #41173 from twangboy/fix_installer
336672
336673         · 24b11ffdc2 Add release notes
336674
336675         · 96918dcfa6 Add silent action to MsgBox for Path Actions
336676
336677       · PR  #41158: (Ch3LL) 2016.11.5 release notes: add additional commits @
336678         2017-05-09 22:41:40 UTC
336679
336680         · 88e93b7fe5 Merge pull request #41158 from Ch3LL/update_2016.11.5
336681
336682         · 28371aa035 2016.11.5 release notes: add additional commits
336683
336684       · PR #41148: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
336685         @ 2017-05-09 20:23:28 UTC
336686
336687         · d2ae7deff2 Merge pull request #41148 from rallytime/merge-2016.11
336688
336689         · aba35e20dd Merge branch '2016.3' into '2016.11'
336690
336691           · 2969153097  Merge  pull  request #41122 from terminalmage/master‐
336692             less-env_cache-fix
336693
336694             · be732f0577 gitfs: refresh env cache during update in masterless
336695
336696           · b8f0a4f108   Merge   pull   request   #41123    from    terminal‐
336697             mage/gitfs-vsts-note
336698
336699             · f6a16956a0  Add  note on lack of support for VSTS in older lib‐
336700               ssh2 releases.
336701
336702           · 8f79b6f537 Merge pull request #41090 from bbinet/rdurations_float
336703
336704           · fd48a63653 rdurations should be floats so that they can be summed
336705             when profiling
336706
336707       · PR  #41147:  (rallytime)  Back-port  #39676  to  2016.11 @ 2017-05-09
336708         18:40:44 UTC
336709
336710         · PR #39676: (F30) Fix comments about the "hash_type"  option  (refs:
336711           #41147)
336712
336713         · 2156395b2e Merge pull request #41147 from rallytime/bp-39676
336714
336715         · 5b55fb2452 Fix comments about the "hash_type" option
336716
336717       · PR  #40852:  (isbm)  Isbm  fix  coregrains  constants  bsc#1032931  @
336718         2017-05-09 18:35:46 UTC
336719
336720         · a2f359fa13  Merge  pull  request  #40852  from  isbm/isbm-fix-core‐
336721           grains-constants-bsc#1032931
336722
336723         · f3b12a3f5b  Do not use multiple variables in "with" statement as of
336724           lint issues
336725
336726         · 35a8d99934 Disable the test for a while
336727
336728         · 76cb1b7150 Rewrite test case for using no patch decorators
336729
336730         · f71af0b625 Fix lint issues
336731
336732         · 0e6abb3e37 Add UT on set_hw_clock on Gentoo
336733
336734         · a2b1d4638c Add UT for set_hwclock on Debian
336735
336736         · 5356a0821a Bugfix: use correct grain name for SUSE platform
336737
336738         · 88e8184702 Add UT set_hwclock on SUSE
336739
336740         · 0cd590f927 Fix UT names
336741
336742         · bee94ade63 Add UT for set_hwclock on RedHat
336743
336744         · dfe2610d05 Add UT for set_hwclock on Arch
336745
336746         · d000a8a6f5 Add UT for set_hwclock on solaris
336747
336748         · d2614aedaa Fix docstrings
336749
336750         · 6d782191dc Add UT for set_hwclock on AIX
336751
336752         · d303e0dd8a Add UT for AIX on get_hwclock
336753
336754         · 86f2d83781 Add UT on Solaris
336755
336756         · c3cafed6d5 Add UT for Debian on get_hwclock
336757
336758         · d337c09357 Add UT for RedHat/SUSE platforms on get_hwclock
336759
336760         · 501a59ca7e Bugfix: use correct grain for SUSE and RedHat platform
336761
336762         · f25dc5c56c Add UT for get_hwclock on SUSE platform
336763
336764         · 08e00c865c Remove dead code
336765
336766         · 1216a0bf12 Add UT for get_hwclock on UTC/localtime
336767
336768         · 39332c71d3 Remove duplicate code
336769
336770         · 58676c568d Add UT for Debian on set_zone
336771
336772         · 1b9ce37b1b Add UT for gentoo on set_zone
336773
336774         · cf7f766a68 Bugfix: use  correct  os_family  grain  value  for  SUSE
336775           series
336776
336777         · 6ed9be985e Adjust UT to use correct grain for SUSE series
336778
336779         · ce4c836a60 Add UT for set_zone on SUSE series
336780
336781         · 155a498b49 Doc fix
336782
336783         · a40876cdac Remove unnecessary mock patch
336784
336785         · ffab2db213 Fix doc for RH UT
336786
336787         · 72388f7ae2 Add UT for RedHat's set_zone
336788
336789         · 11595d3a42 Refactor with setup/teardown
336790
336791         · ce6a06de98 Bugfix: use correct grain constant for platform
336792
336793         · 28072c9e41  Adjust the test so it is using the right grain for SUSE
336794           systems
336795
336796         · 7a0e4be4f8 Add unit test for get_zone and various platforms
336797
336798       · ISSUE #41105: (terminalmage) ssl_verify gitfs/git_pillar option  does
336799         not work with pygit2 (refs: #41111)
336800
336801       · PR  #41111:  (terminalmage)  Allow  "ssl_verify:  False" to work with
336802         pygit2 @ 2017-05-09 17:56:12 UTC
336803
336804         · 6fa41dc89d Merge pull request #41111 from terminalmage/issue41105
336805
336806         · 8c6410e3cd Add notices about ssl_verify only working in 0.23.2  and
336807           newer
336808
336809         · 98ce829729 Support ssl_verify in pygit2
336810
336811         · f73c4b7167 Add http(s) auth config docs for GitPython
336812
336813       · PR  #41008: (cro) Look in /opt//lib instead of just /opt/local/lib on
336814         Illumos distros.  @ *2017-05-09 16:56:00 UTC
336815
336816         · 81add1b944 Merge pull request #41008 from cro/rsax_smos
336817
336818         · a4f7aa145e Look for libcrypto in both /opt/tools and /opt/local  on
336819           Illumos-based distros.
336820
336821       · PR  #41124:  (gtmanfred)  add  user_data to digitalocean @ 2017-05-09
336822         16:47:42 UTC
336823
336824         · c649725e9b Merge pull request #41124 from gtmanfred/do
336825
336826         · 2370d9316b add user_data to digital ocean
336827
336828       · ISSUE #41125: (tmeneau) service.running returns True  if  enable=None
336829         and init script returns 0 (refs: #41127)
336830
336831       · PR  #41127:  (tmeneau)  Fix  incorrect service.running state response
336832         when enable=None and init script returns 0 @ 2017-05-09 16:43:35 UTC
336833
336834         · d0a3fcf33a Merge pull request #41127 from  xetus-oss/fix-41125-ser‐
336835           vice-running
336836
336837         · d8766562c9 fix incorrect service.running success response
336838
336839   Salt 2016.11.7 Release Notes
336840       Version 2016.11.7 is a bugfix release for 2016.11.0.
336841
336842   Security Fix
336843       CVE-2017-12791 Maliciously crafted minion IDs can cause unwanted direc‐
336844       tory traversals on the Salt-master
336845
336846       This release corrects a flaw in minion ID validation which could  allow
336847       certain minions to authenticate to a master despite not having the cor‐
336848       rect credentials.  To exploit the vulnerability, an attacker must  cre‐
336849       ate  a  salt-minion  with an ID containing characters that will cause a
336850       directory traversal. Credit for discovering the security flaw goes  to:
336851       Vernhk@qq.com
336852
336853   Salt 2016.11.8 Release Notes
336854       Version 2016.11.8 is a bugfix release for 2016.11.0.
336855
336856   Statistics
336857       · Total Merges: 171
336858
336859       · Total Issue References: 68
336860
336861       · Total PR References: 202
336862
336863       · Contributors: 61 (AFriemann, Ch3LL, CorvinM, Da-Juan, DmitryKuzmenko,
336864         UtahDave, abulford, amalleo25, amendlik, aneeshusa,  aogier,  arount,
336865         arthurlogilab,  astronouth7303,  binocvlar,  blarghmatey,  cachedout,
336866         clem-compilatio,  corywright,   cri-epita,   damon-atkins,   davidjb,
336867         dglloyd,    dmurphy18,    ferringb,    garethgreenaway,   gdubroeucq,
336868         gilbsgilbs,  goten4,  gtmanfred,   isbm,   jagguli,   kevinanderson1,
336869         kojiromike,   kstreee,   leeclemens,  lomeroe,  lorengordon,  lubyou,
336870         mcarlton00, meaksh, morganwillcock,  nhavens,  pabloh007,  rallytime,
336871         remijouannet,      renner,      root360-AndreasUlm,      s-sebastian,
336872         sarcasticadmin, sbojarski, shengis, tdutrion,  terminalmage,  toanju,
336873         twangboy, ushmodin, viktorkrivak, vutny, whiteinge, xiaoanyunfei)
336874
336875   Security Fix
336876       CVE-2017-14695  Directory  traversal vulnerability in minion id valida‐
336877       tion in SaltStack. Allows remote minions with incorrect credentials  to
336878       authenticate  to a master via a crafted minion ID. Credit for discover‐
336879       ing the security flaw goes to: Julian Brost (julian@0x4a42.net)
336880
336881       CVE-2017-14696 Remote  Denial  of  Service  with  a  specially  crafted
336882       authentication  request.  Credit for discovering the security flaw goes
336883       to: Julian Brost (julian@0x4a42.net)
336884
336885   Anonymous Binds and LDAP/Active Directory
336886       When auth.ldap.anonymous is set to False,  the  bind  password  can  no
336887       longer be empty.
336888
336889   Changelog for v2016.11.7..v2016.11.8
336890       Generated at: 2018-05-27 20:23:07 UTC
336891
336892       · PR  #43508:  (rallytime)  Back-port  #43333 to 2016.11.8 @ 2017-09-14
336893         21:40:19 UTC
336894
336895         · PR #43333: (damon-atkins)  Docs  are  wrong  cache_dir  (bool)  and
336896           cache_file (str) cannot be passed as params + 1 bug (refs: #43508)
336897
336898         · a648f75949 Merge pull request #43508 from rallytime/bp-43333
336899
336900         · d4981a2717 Update doco
336901
336902         · a7c8b9e048 Update win_pkg.py
336903
336904         · 1d6dc6fb72  Docs  are  wrong  cache_dir (bool) and cache_file (str)
336905           cannot be passed on the cli (#2)
336906
336907       · PR #43434: (rallytime)  Add  2016.11.8  release  notes  @  2017-09-11
336908         17:06:29 UTC
336909
336910         · e7009877bc     Merge    pull    request    #43434    from    rally‐
336911           time/2016.11.8-release-notes
336912
336913         · 68f529ee5e Add 2016.11.8 release notes
336914
336915       · PR  #43271:  (twangboy)  Fix  minor  formatting  issue  @  2017-08-30
336916         18:35:12 UTC
336917
336918         · cf21f91fb2     Merge    pull    request    #43271    from    twang‐
336919           boy/win_fix_pkg.install
336920
336921         · 91b062f564 Fix formatting issue, spaces surrounding +
336922
336923       · PR #43228: (twangboy) Win fix pkg.install @ 2017-08-30 14:26:21 UTC
336924
336925         · 3a0b02f3ae    Merge    pull    request    #43228    from     twang‐
336926           boy/win_fix_pkg.install
336927
336928         · 13dfabb1ce Fix regex statement, add .
336929
336930         · 31ff69f0ad Add underscore to regex search
336931
336932         · 3cf2b6575c Fix spelling
336933
336934         · ed030a35a5 Use regex to detect salt-minion install
336935
336936         · e5daff495a Fix pkg.install
336937
336938       · PR #43191: (viktorkrivak) Fix apache.config with multiple statement @
336939         2017-08-28 18:13:44 UTC
336940
336941         · b4c689dff5   Merge   pull   request    #43191    from    viktorkri‐
336942           vak/fix-apache-config-multi-entity
336943
336944         · c15bcbe1cc  Merge  remote-tracking  branch  'upstream/2016.11' into
336945           fix-apache-config-multi-entity
336946
336947         · 4164047951 Fix apache.config with multiple statement At this moment
336948           when  you post more than one statement in config only last is used.
336949           Also file is rewrited multiple times until last statement is  writ‐
336950           ten.  Example:  salt '*' apache.config /etc/httpd/conf.d/ports.conf
336951           config="[{'Listen': '8080'},  {'Proxy':  "Something"}]"  Ends  only
336952           with    Proxy Something and ignore Listen 8080, This patch fix this
336953           issue.
336954
336955       · ISSUE #42279: (dafyddj) win_lgpo matches  multiple  policies  due  to
336956         startswith() (refs: #43154, #43116)
336957
336958       · PR #43154: (lomeroe) Backport #43116 to 2016.11 @ 2017-08-28 16:40:41
336959         UTC
336960
336961         · PR #43116: (lomeroe) Fix 42279 in develop (refs: #43154)
336962
336963         · b90e59ede9 Merge pull request #43154 from lomeroe/bp-43116-2016.11
336964
336965         · 8f593b0b02 verify that files exist before trying  to  remove  them,
336966           win_file.remove raises an exception if the file does not exist
336967
336968         · 33a30bac06  correcting bad format statement in search for policy to
336969           be disabled
336970
336971         · acc3d7ac82 correct fopen calls from salt.utils for 2016.11's  utils
336972           function
336973
336974         · 2da1cdd109 lint fix
336975
336976         · 61bd12c0de  track  xml namespace to ensure policies w/duplicate IDs
336977           or Names do not conflict
336978
336979         · f232bed9f9 add additional checks for ADM  policies  that  have  the
336980           same ADMX policy ID (#42279)
336981
336982       · ISSUE #42642: (githubcdr) state.augeas (refs: #42669, #43202)
336983
336984       · PR #43202: (garethgreenaway) Reverting previous augeas module changes
336985         @ 2017-08-28 13:14:27 UTC
336986
336987         · 5308c27f9f   Merge   pull   request   #43202   from    garethgreen‐
336988           away/42642_2016_11_augeas_module_revert_fix
336989
336990         · ef7e93eb3f Reverting this change due to it breaking other uses.
336991
336992       · ISSUE   #43101:  (aogier)  genesis.bootstrap  fails  if  no  pkg  AND
336993         exclude_pkgs (which can't be a string) (refs: #43103)
336994
336995       · PR #43103: (aogier) genesis.bootstrap  deboostrap  fix  @  2017-08-25
336996         20:48:23 UTC
336997
336998         · f16b7246e4   Merge  pull  request  #43103  from  aogier/43101-gene‐
336999           sis-bootstrap
337000
337001         · db94f3bb1c better formatting
337002
337003         · e5cc667762 tests: fix a leftover and simplify some parts
337004
337005         · 13e5997457 lint
337006
337007         · 216ced69e5 allow comma-separated pkgs lists, quote args,  test  deb
337008           behaviour
337009
337010         · d8612ae006  fix debootstrap and enhance packages selection/deletion
337011           via cmdline
337012
337013       · ISSUE #42329: (jagguli) State git.latest does not  pull  latest  tags
337014         (refs: #42663)
337015
337016       · PR  #42663: (jagguli) Check remote tags before deciding to do a fetch
337017         #42329 @ 2017-08-25 20:14:32 UTC
337018
337019         · 4863771428   Merge   pull   request   #42663    from    StreetHawk‐
337020           Inc/fix_git_tag_check
337021
337022         · 2b5af5b59d Remove refs/tags prefix from remote tags
337023
337024         · 3f2e96e561 Convert set to list for serializer
337025
337026         · 2728e5d977 Only include new tags in changes
337027
337028         · 4b1df2f223 Exclude annotated tags from checks
337029
337030         · 389c037285 Check remote tags before deciding to do a fetch #42329
337031
337032       · ISSUE  #43198:  (corywright)  disk.format_  needs  to  be  aliased to
337033         disk.format (refs: #43199)
337034
337035       · PR #43199: (corywright) Add  disk.format  alias  for  disk.format_  @
337036         2017-08-25 19:21:07 UTC
337037
337038         · 4193e7f0a2  Merge  pull  request  #43199  from corywright/disk-for‐
337039           mat-alias
337040
337041         · f00d3a9ddc Add disk.format alias for disk.format_
337042
337043       · ISSUE saltstack/salt-jenkins#495: (Ch3LL) npm  tests  failing  (refs:
337044         #43196)
337045
337046       · PR #43196: (gtmanfred) Pin request install to version for npm tests @
337047         2017-08-25 18:43:06 UTC
337048
337049         · 5471f9fe0c Merge pull request #43196 from gtmanfred/2016.11
337050
337051         · ccd2241777 Pin request install to version
337052
337053       · ISSUE #43143: (abulford) git.detached does not fetch if rev is  miss‐
337054         ing from local (refs: #43178)
337055
337056       · PR  #43178:  (terminalmage) git.detached: Fix traceback when rev is a
337057         SHA and is not present locally @ 2017-08-25 13:58:37 UTC
337058
337059         · ace2715c60 Merge pull request #43178 from terminalmage/issue43143
337060
337061         · 2640833400 git.detached: Fix traceback when rev is a SHA and is not
337062           present locally
337063
337064       · PR   #43179:  (terminalmage)  Fix  missed  deprecation  @  2017-08-24
337065         22:52:34 UTC
337066
337067         · 12e9507b9e Merge pull request #43179 from terminalmage/old-depreca‐
337068           tion
337069
337070         · 3adf8ad04b Fix missed deprecation
337071
337072       · PR  #43171:  (terminalmage) Add warning about adding new functions to
337073         salt/utils/__init__.py @ 2017-08-24 19:10:23 UTC
337074
337075         · b595440d90   Merge   pull    request    #43171    from    terminal‐
337076           mage/salt-utils-warning
337077
337078         · 7b5943a31a    Add   warning   about   adding   new   functions   to
337079           salt/utils/__init__.py
337080
337081       · PR #43173: (Ch3LL) Add New Release Branch  Strategy  to  Contribution
337082         Docs @ 2017-08-24 19:04:56 UTC
337083
337084         · 4f273cac4f Merge pull request #43173 from Ch3LL/add_branch_docs
337085
337086         · 1b24244bd3 Add New Release Branch Strategy to Contribution Docs
337087
337088       · PR  #43151:  (ushmodin)  state.sls  hangs on file.recurse with clean:
337089         True on windows @ 2017-08-23 17:25:33 UTC
337090
337091         · PR #42969: (ushmodin) state.sls hangs on file.recurse  with  clean:
337092           True on windows (refs: #43151)
337093
337094         · 669b376abf Merge pull request #43151 from ushmodin/2016.11
337095
337096         · c5841e2ade state.sls hangs on file.recurse with clean: True on win‐
337097           dows
337098
337099       · PR #42986: (renner) Notify systemd synchronously (via  NOTIFY_SOCKET)
337100         @ 2017-08-22 16:52:56 UTC
337101
337102         · ae9d2b7985 Merge pull request #42986 from renner/systemd-notify
337103
337104         · 79c53f3f81   Fallback   to   systemd_notify_call()   in   case   of
337105           socket.error
337106
337107         · f1765472dd Notify systemd synchronously (via NOTIFY_SOCKET)
337108
337109       · ISSUE #43036: (mcarlton00) Linux VMs in Bhyve aren't displayed  prop‐
337110         erly in grains (refs: #43037)
337111
337112       · PR #43037: (mcarlton00) Issue #43036 Bhyve virtual grain in Linux VMs
337113         @ 2017-08-22 16:43:40 UTC
337114
337115         · b420fbe618    Merge    pull    request    #43037    from     mcarl‐
337116           ton00/fix-bhyve-grains
337117
337118         · 73315f0cf0 Issue #43036 Bhyve virtual grain in Linux VMs
337119
337120       · PR #43100: (vutny) [DOCS] Add missing utils sub-dir listed for exten‐
337121         sion_modules @ 2017-08-22 15:40:09 UTC
337122
337123         · 0a86f2d884  Merge  pull  request  #43100  from  vutny/doc-add-miss‐
337124           ing-utils-ext
337125
337126         · af743ff6c3  [DOCS]  Add  missing  utils  sub-dir  listed for exten‐
337127           sion_modules
337128
337129       · ISSUE #15171: (JensRantil) Maximum recursion  limit  hit  related  to
337130         requisites (refs: #42985)
337131
337132       · PR #42985: (DmitryKuzmenko) Properly handle prereq having lost requi‐
337133         sites.  @ 2017-08-21 22:49:39 UTC
337134
337135         · e2bf2f448e   Merge   pull   request   #42985    from    DSRCorpora‐
337136           tion/bugs/15171_recursion_limit
337137
337138         · 651b1bab09 Properly handle prereq having lost requisites.
337139
337140       · PR  #43092: (blarghmatey) Fixed issue with silently passing all tests
337141         in Testinfra module @ 2017-08-21 20:22:08 UTC
337142
337143         · e51333306c Merge pull request #43092 from mitodl/2016.11
337144
337145         · d4b113acdf Fixed issue with silently passing all tests in Testinfra
337146           module
337147
337148       · PR  #43060:  (twangboy)  Osx update pkg scripts @ 2017-08-21 20:06:12
337149         UTC
337150
337151         · 77a443ce8e    Merge    pull    request    #43060    from     twang‐
337152           boy/osx_update_pkg_scripts
337153
337154         · ef8a14cdf9 Remove /opt/salt instead of /opt/salt/bin
337155
337156         · 2dd62aa1da Add more information to the description
337157
337158         · f44f5b70dc Only stop services if they are running
337159
337160         · 3b62bf953c Remove salt from the path
337161
337162         · ebdca3a0f5 Update pkg-scripts
337163
337164       · ISSUE  #42869:  (abednarik)  Git Module : Failed to update repository
337165         (refs: #43064)
337166
337167       · PR  #43064:  (terminalmage)  Fix  race  condition  in  git.latest   @
337168         2017-08-21 14:29:52 UTC
337169
337170         · 1b1b6da803 Merge pull request #43064 from terminalmage/issue42869
337171
337172         · 093c0c2f77 Fix race condition in git.latest
337173
337174       · ISSUE  #42041:  (lorengordon)  pkg.list_repo_pkgs  fails to find pkgs
337175         with spaces around yum repo enabled value (refs: #43054)
337176
337177       · PR #43054: (lorengordon) Uses ConfigParser to read yum config files @
337178         2017-08-18 20:49:44 UTC
337179
337180         · PR  #42045: (arount) Fix: salt.modules.yumpkg: ConfigParser to read
337181           ini like files. (refs: #43054)
337182
337183         · 96e8e836d1   Merge   pull    request    #43054    from    lorengor‐
337184           don/fix/yumpkg/config-parser
337185
337186         · 3b2cb81a72 fix typo in salt.modules.yumpkg
337187
337188         · 38add0e4a2 break if leading comments are all fetched
337189
337190         · d7f65dc7a7 fix configparser import & log if error was raised
337191
337192         · ca1b1bb633 use configparser to parse yum repo file
337193
337194       · PR  #43048:  (rallytime)  Back-port  #43031  to  2016.11 @ 2017-08-18
337195         12:56:04 UTC
337196
337197         · PR #43031: (gtmanfred) use a ruby gem that doesn't  have  dependen‐
337198           cies (refs: #43048)
337199
337200         · 43aa46f512 Merge pull request #43048 from rallytime/bp-43031
337201
337202         · 35e45049e2 use a ruby gem that doesn't have dependencies
337203
337204       · PR  #43023: (terminalmage) Fixes/improvements to Jenkins state/module
337205         @ 2017-08-18 01:33:10 UTC
337206
337207         · ad89ff3104 Merge pull request  #43023  from  terminalmage/fix-jenk‐
337208           ins-xml-caching
337209
337210         · 33fd8ff939 Update jenkins.py
337211
337212         · fc306fc8c3 Add missing colon in if statement
337213
337214         · 822eabcc81 Catch exceptions raised when making changes to jenkins
337215
337216         · 91b583b493 Improve and correct exception raising
337217
337218         · f096917a0e Raise an exception if we fail to cache the config xml
337219
337220       · PR  #43026:  (rallytime)  Back-port  #43020  to  2016.11 @ 2017-08-17
337221         23:19:46 UTC
337222
337223         · PR #43020: (gtmanfred) test with gem that appears to  be  abandoned
337224           (refs: #43026)
337225
337226         · 2957467ed7 Merge pull request #43026 from rallytime/bp-43020
337227
337228         · 0eb15a1f67 test with gem that appears to be abandoned
337229
337230       · ISSUE  #40490: (alxwr) saltstack x509 incompatible to m2crypto 0.26.0
337231         (refs: #42760)
337232
337233       · PR #43033: (rallytime)  Back-port  #42760  to  2016.11  @  2017-08-17
337234         22:24:43 UTC
337235
337236         · PR  #42760:  (AFriemann)  Catch  TypeError  thrown by m2crypto when
337237           parsing missing subjects in c… (refs: #43033)
337238
337239         · 4150b094fe Merge pull request #43033 from rallytime/bp-42760
337240
337241         · 3e3f7f5d8e Catch TypeError thrown by m2crypto when parsing  missing
337242           subjects in certificate files.
337243
337244       · PR  #43032:  (rallytime)  Back-port  #42547  to  2016.11 @ 2017-08-17
337245         21:53:50 UTC
337246
337247         · PR #42547: (blarghmatey) Updated testinfra  modules  to  work  with
337248           more recent versions (refs: #43032)
337249
337250         · b124d3667e Merge pull request #43032 from rallytime/bp-42547
337251
337252         · ea4d7f4176  Updated testinfra modules to work with more recent ver‐
337253           sions
337254
337255       · ISSUE #42992: (pabloh007) docker.save   flag  push  does  is  ignored
337256         (refs: #43027)
337257
337258       · PR  #43027: (pabloh007) Fixes ignore push flag for docker.push module
337259         issue #42992 @ 2017-08-17 19:55:37 UTC
337260
337261         · a88386ad44      Merge      pull      request      #43027       from
337262           pabloh007/fix-docker-save-push-2016-11
337263
337264         · d0fd949f85  Fixes  ignore  push  flag  for docker.push module issue
337265           #42992
337266
337267       · ISSUE #42627: (taigrrr8) salt-cp no longer works.  Was working a  few
337268         months back. (refs: #42890)
337269
337270       · PR  #42890:  (DmitryKuzmenko) Make chunked mode in salt-cp optional @
337271         2017-08-17 18:37:44 UTC
337272
337273         · 51d16840bb   Merge   pull   request   #42890    from    DSRCorpora‐
337274           tion/bugs/42627_salt-cp
337275
337276         · cfddbf1c75 Apply code review: update the doc
337277
337278         · afedd3b654 Typos and version fixes in the doc.
337279
337280         · 9fedf6012e Fixed 'test_valid_docs' test.
337281
337282         · 999388680c  Make  chunked  mode  in  salt-cp  optional (disabled by
337283           default).
337284
337285       · PR #43009: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
337286         @ 2017-08-17 18:00:09 UTC
337287
337288         · b3c253cdfa Merge pull request #43009 from rallytime/merge-2016.11
337289
337290         · 566ba4fe76 Merge branch '2016.3' into '2016.11'
337291
337292           · 13b8637d53  Merge  pull  request  #42942 from Ch3LL/2016.3.6_fol‐
337293             low_up
337294
337295             · f281e1795f move additional minion config  options  to  2016.3.8
337296               release notes
337297
337298             · 168604ba6b remove merge conflict
337299
337300             · 8a07d95212 update release notes with cve number
337301
337302             · 149633fdca Add release notes for 2016.3.7 release
337303
337304             · 7a4cddcd95 Add clean_id function to salt.utils.verify.py
337305
337306           · bbb1b29ccb Merge pull request #42954 from Ch3LL/latest_2016.3
337307
337308             · b551e66744 [2016.3] Bump latest and previous versions
337309
337310           · 5d5edc54b7 Merge pull request #42949 from Ch3LL/2016.3.7_docs
337311
337312             · d75d3741f8 Add Security Notice to 2016.3.7 Release Notes
337313
337314       · PR  #43021:  (terminalmage)  Use  socket.AF_INET6  to get the correct
337315         value instead of doing an OS check @ 2017-08-17 17:57:09 UTC
337316
337317         · PR  #43014:   (Ch3LL)   Change   AF_INET6   family   for   mac   in
337318           test_host_to_ips (refs: #43021)
337319
337320         · 37c63e7cf2  Merge  pull  request  #43021 from terminalmage/fix-net‐
337321           work-test
337322
337323         · 4089b7b1bc Use socket.AF_INET6 to get the correct value instead  of
337324           doing an OS check
337325
337326       · PR  #43019:  (rallytime)  Update  bootstrap  script to latest stable:
337327         v2017.08.17 @ 2017-08-17 17:56:41 UTC
337328
337329         · 8f6423247c  Merge  pull   request   #43019   from   rallytime/boot‐
337330           strap_2017.08.17
337331
337332         · 2f762b3a17 Update bootstrap script to latest stable: v2017.08.17
337333
337334       · PR #43014: (Ch3LL) Change AF_INET6 family for mac in test_host_to_ips
337335         (refs: #43021) @ 2017-08-17 16:17:51 UTC
337336
337337         · ff1caeee68 Merge pull request #43014 from Ch3LL/fix_network_mac
337338
337339         · b8eee4401e Change AF_INET6 family for mac in test_host_to_ips
337340
337341       · PR #42968: (vutny) [DOCS] Fix link to Salt  Cloud  Feature  Matrix  @
337342         2017-08-16 13:16:16 UTC
337343
337344         · 1ee9499d28 Merge pull request #42968 from vutny/doc-salt-cloud-ref
337345
337346         · 44ed53b1df [DOCS] Fix link to Salt Cloud Feature Matrix
337347
337348       · ISSUE  #38839:  (DaveOHenry) Invoking runner.cloud.action via reactor
337349         sls fails (refs: #42291)
337350
337351       · PR #42291: (vutny) Fix #38839: remove state from Reactor runner kwags
337352         @ 2017-08-15 23:01:08 UTC
337353
337354         · 923f9741fe Merge pull request #42291 from vutny/fix-38839
337355
337356         · 5f8f98a01f Fix #38839: remove state from Reactor runner kwags
337357
337358       · ISSUE  #42644:  (stamak)    nova salt-cloud -P  Private IPs returned,
337359         but not public. Checking for misidentified IPs (refs: #42940)
337360
337361       · PR #42940: (gtmanfred) create new ip address before checking list  of
337362         allocated ips @ 2017-08-15 21:47:18 UTC
337363
337364         · c20bc7d515 Merge pull request #42940 from gtmanfred/2016.11
337365
337366         · 253e216a8d fix IP address spelling
337367
337368         · bd63074e7a  create new ip address before checking list of allocated
337369           ips
337370
337371       · PR #42959: (rallytime)  Back-port  #42883  to  2016.11  @  2017-08-15
337372         21:25:48 UTC
337373
337374         · PR #42883: (rallytime) Fix failing boto tests (refs: #42959)
337375
337376         · d6496eca72 Merge pull request #42959 from rallytime/bp-42883
337377
337378         · c6b9ca4b9e Lint fix: add missing space
337379
337380         · 5597b1a30e Skip 2 failing tests in Python 3 due to upstream bugs
337381
337382         · a0b19bdc27  Update  account  id  value in boto_secgroup module unit
337383           test
337384
337385         · 60b406e088 @mock_elb needs to be changed to @mock_elb_deprecated as
337386           well
337387
337388         · 6ae1111295 Replace @mock_ec2 calls with @mock_ec2_deprecated calls
337389
337390       · PR #42944: (Ch3LL) [2016.11] Add clean_id function to salt.utils.ver‐
337391         ify.py @ 2017-08-15 18:06:12 UTC
337392
337393         · 6366e05d0d Merge pull request #42944 from Ch3LL/2016.11.6_follow_up
337394
337395         · 7e0a20afca Add release notes for 2016.11.7 release
337396
337397         · 63823f8c3e Add clean_id function to salt.utils.verify.py
337398
337399       · PR #42952: (Ch3LL) [2016.11] Bump  latest  and  previous  versions  @
337400         2017-08-15 17:23:02 UTC
337401
337402         · 49d339c976 Merge pull request #42952 from Ch3LL/latest_2016.11
337403
337404         · 74e7055d54 [2016.11] Bump latest and previous versions
337405
337406       · PR  #42950:  (Ch3LL) Add Security Notice to 2016.11.7 Release Notes @
337407         2017-08-15 16:50:23 UTC
337408
337409         · b0d2e05a79 Merge pull request #42950 from Ch3LL/2016.11.7_docs
337410
337411         · a6f902db40 Add Security Notice to 2016.11.77 Release Notes
337412
337413       · PR #42836: (aneeshusa) Backport salt.utils.versions from  develop  to
337414         2016.11 @ 2017-08-14 20:56:54 UTC
337415
337416         · PR  #42835: (aneeshusa) Fix typo in utils/versions.py module (refs:
337417           #42836)
337418
337419         · c0ff69f88c Merge pull request #42836 from  lyft/backport-utils.ver‐
337420           sions-to-2016.11
337421
337422         · 86ce7004a2 Backport salt.utils.versions from develop to 2016.11
337423
337424       · PR  #42919:  (rallytime)  Back-port  #42871  to  2016.11 @ 2017-08-14
337425         20:44:00 UTC
337426
337427         · PR #42871: (amalleo25) Update joyent.rst (refs: #42919)
337428
337429         · 64a79dd5ac Merge pull request #42919 from rallytime/bp-42871
337430
337431         · 4e46c968e6 Update joyent.rst
337432
337433       · ISSUE  #42803:  (gmcwhistler)  master_type:  str,  not   working   as
337434         expected, parent salt-minion process dies. (refs: #42848)
337435
337436       · ISSUE  #42753:  (grichmond-salt) SaltReqTimeout Error on Some Minions
337437         when One Master in a Multi-Master Configuration is Unavailable (refs:
337438         #42848)
337439
337440       · PR  #42918:  (rallytime)  Back-port  #42848  to  2016.11 @ 2017-08-14
337441         20:43:43 UTC
337442
337443         · PR #42848: (DmitryKuzmenko) Execute fire_master  asynchronously  in
337444           the main minion thread. (refs: #42918)
337445
337446         · bea8ec1098 Merge pull request #42918 from rallytime/bp-42848
337447
337448         · cdb48126f7 Make lint happier.
337449
337450         · 62eca9b00b  Execute  fire_master  asynchronously in the main minion
337451           thread.
337452
337453       · PR #42861: (twangboy) Fix pkg.install salt-minion using  salt-call  @
337454         2017-08-14 19:07:22 UTC
337455
337456         · 52bce329cb     Merge    pull    request    #42861    from    twang‐
337457           boy/win_pkg_install_salt
337458
337459         · 0d3789f0c6 Fix pkg.install salt-minion using salt-call
337460
337461       · PR #42798: (s-sebastian) Update return data before calling  returners
337462         @ 2017-08-14 15:51:30 UTC
337463
337464         · b9f4f87aa5 Merge pull request #42798 from s-sebastian/2016.11
337465
337466         · 1cc86592ed Update return data before calling returners
337467
337468       · ISSUE  #41976:  (abulford)  dockerng  network  states  do not respect
337469         test=True (refs: #41977)
337470
337471       · PR #41977: (abulford) Fix dockerng.network_* ignoring of tests=True @
337472         2017-08-11 18:37:20 UTC
337473
337474         · c15d0034fe  Merge  pull  request  #41977  from  redmatter/fix-dock‐
337475           erng-network-ignores-test
337476
337477         · 1cc2aa503a Fix dockerng.network_* ignoring of tests=True
337478
337479       · PR #42886: (sarcasticadmin) Adding missing output flags to  salt  cli
337480         docs @ 2017-08-11 18:35:19 UTC
337481
337482         · 3b9c3c5671    Merge   pull   request   #42886   from   sarcasticad‐
337483           min/adding_docs_salt_outputs
337484
337485         · 744bf954ff Adding missing output flags to salt cli
337486
337487       · PR #42882: (gtmanfred) make sure  cmd  is  not  run  when  npm  isn't
337488         installed @ 2017-08-11 17:53:14 UTC
337489
337490         · e5b98c8a88 Merge pull request #42882 from gtmanfred/2016.11
337491
337492         · da3402a53d make sure cmd is not run when npm isn't installed
337493
337494       · PR  #42788:  (amendlik) Remove waits and retries from Saltify deploy‐
337495         ment @ 2017-08-11 15:38:05 UTC
337496
337497         · 5962c9588b Merge pull request #42788 from amendlik/saltify-timeout
337498
337499         · 928b523797 Remove waits and retries from Saltify deployment
337500
337501       · PR #42877: (terminalmage) Add virtual func for cron  state  module  @
337502         2017-08-11 15:33:09 UTC
337503
337504         · 227ecddd13    Merge    pull    request    #42877   from   terminal‐
337505           mage/add-cron-state-virtual
337506
337507         · f1de196740 Add virtual func for cron state module
337508
337509       · PR #42859: (terminalmage) Add note about git CLI requirement for Git‐
337510         Python to GitFS tutorial @ 2017-08-11 14:53:03 UTC
337511
337512         · ab9f6cef33   Merge   pull  request  #42859  from  terminalmage/git‐
337513           python-git-cli-note
337514
337515         · 35e05c9515 Add note about git  CLI  requirement  for  GitPython  to
337516           GitFS tutorial
337517
337518       · ISSUE  saltstack/salt-jenkins#475:  (rallytime)  Arch  is failing npm
337519         cache test (refs: #42856)
337520
337521       · ISSUE  #41770:   (Ch3LL)   NPM   v5   incompatible   with   salt.mod‐
337522         ules.cache_list (refs: #42856)
337523
337524       · PR  #42856:  (gtmanfred)  skip  cache_clean test if npm version is >=
337525         5.0.0 @ 2017-08-11 13:39:20 UTC
337526
337527         · 682b4a8d14 Merge pull request #42856 from gtmanfred/2016.11
337528
337529         · b458b89fb8 skip cache_clean test if npm version is >= 5.0.0
337530
337531       · PR #42864: (whiteinge) Make syndic_log_file respect root_dir  setting
337532         @ 2017-08-11 13:28:21 UTC
337533
337534         · 01ea854029   Merge   pull   request   #42864   from  whiteinge/syn‐
337535           dic-log-root_dir
337536
337537         · 4b1f55da9c Make syndic_log_file respect root_dir setting
337538
337539       · PR #42851: (terminalmage) Backport #42651  to  2016.11  @  2017-08-10
337540         18:02:39 UTC
337541
337542         · PR  #42651:  (gtmanfred)  python2-  prefix  for  fedora 26 packages
337543           (refs: #42851)
337544
337545         · 2dde1f77e9 Merge pull request #42851 from terminalmage/bp-42651
337546
337547         · a3da86eea8 fix syntax
337548
337549         · 6ecdbcec1d make sure names are correct
337550
337551         · f83b553d6e add py3 for versionlock
337552
337553         · 21934f61bb python2- prefix for fedora 26 packages
337554
337555       · ISSUE #42683:  (rgcosma)  Gluster  module  broken  in  2017.7  (refs:
337556         #42806)
337557
337558       · PR  #42806:  (rallytime)  Update  doc  references  in  glusterfs.vol‐
337559         ume_present @ 2017-08-10 14:10:16 UTC
337560
337561         · c746f79a3a Merge pull request #42806 from rallytime/fix-42683
337562
337563         · 8c8640d6b8 Update doc references in glusterfs.volume_present
337564
337565       · PR #42829: (twangboy) Fix passing version in pkgs as shown in docs  @
337566         2017-08-10 14:07:24 UTC
337567
337568         · 27a8a2695a     Merge    pull    request    #42829    from    twang‐
337569           boy/win_pkg_fix_install
337570
337571         · 83b9b230cd Add winrepo to docs about supporting versions in pkgs
337572
337573         · 81fefa6e67 Add ability to pass version in pkgs list
337574
337575       · PR #42838: (twangboy) Document requirements for win_pki @  2017-08-10
337576         13:59:46 UTC
337577
337578         · 3c3ac6aeb2 Merge pull request #42838 from twangboy/win_doc_pki
337579
337580         · f0a1d06b46 Standardize PKI Client
337581
337582         · 7de687aa57 Document requirements for win_pki
337583
337584       · PR  #42805:  (rallytime)  Back-port  #42552  to  2016.11 @ 2017-08-09
337585         22:37:56 UTC
337586
337587         · PR #42552: (remijouannet) update consul module following this docu‐
337588           mentation https://www.consul.… (refs: #42805)
337589
337590         · b3e2ae3c58 Merge pull request #42805 from rallytime/bp-42552
337591
337592         · 5a91c1f2d1   update  consul  module  following  this  documentation
337593           https://www.consul.io/api/acl.html
337594
337595       · ISSUE #42731: (infoveinx) http.query template_data  render  exception
337596         (refs: #42804)
337597
337598       · PR  #42804:  (rallytime)  Back-port  #42784  to  2016.11 @ 2017-08-09
337599         22:37:40 UTC
337600
337601         · PR #42784: (gtmanfred) only read file if ret is  not  a  string  in
337602           http.query (refs: #42804)
337603
337604         · d2ee7934ed Merge pull request #42804 from rallytime/bp-42784
337605
337606         · dbd29e4aaa only read file if it is not a string
337607
337608       · PR  #42826: (terminalmage) Fix misspelling of "versions" @ 2017-08-09
337609         19:39:43 UTC
337610
337611         · 4cbf8057b3 Merge pull request #42826 from terminalmage/fix-spelling
337612
337613         · 00f93142e4 Fix misspelling of "versions"
337614
337615       · PR #42786:  (Ch3LL)  Fix  typo  for  template_dict  in  http  docs  @
337616         2017-08-08 18:14:50 UTC
337617
337618         · de997edd90 Merge pull request #42786 from Ch3LL/fix_typo
337619
337620         · 90a2fb66a2 Fix typo for template_dict in http docs
337621
337622       · ISSUE  #42600:  (twangboy)  Unable  to  set  'Not  Configured'  using
337623         win_lgpo execution module (refs: #42795, #42744)
337624
337625       · PR #42795: (lomeroe) backport #42744 to 2016.11 @ 2017-08-08 17:17:15
337626         UTC
337627
337628         · PR #42744: (lomeroe) fix #42600 in develop (refs: #42795)
337629
337630         · bf6153ebe5 Merge pull request #42795 from lomeroe/bp-42744_201611
337631
337632         · 695f8c1ae4 fix #42600 in develop
337633
337634       · ISSUE #42747: (whiteinge) Outputters mutate data which can be a prob‐
337635         lem for Runners and perhaps other things (refs: #42748)
337636
337637       · PR #42748: (whiteinge) Workaround Orchestrate problem that  highstate
337638         outputter mutates data @ 2017-08-07 21:11:33 UTC
337639
337640         · 61fad97286       Merge      pull      request      #42748      from
337641           whiteinge/save-before-output
337642
337643         · de60b77c82 Workaround Orchestrate problem that highstate  outputter
337644           mutates data
337645
337646       · PR  #42764:  (amendlik) Fix infinite loop with salt-cloud and Windows
337647         nodes @ 2017-08-07 20:47:07 UTC
337648
337649         · a4e3e7e786 Merge pull request #42764 from amendlik/cloud-win-loop
337650
337651         · f3dcfca4e0 Fix infinite loops on failed Windows deployments
337652
337653       · ISSUE #42690: (ChristianBeer) git.latest state with remote set  fails
337654         on first try (refs: #42694)
337655
337656       · PR  #42694:  (gtmanfred) allow adding extra remotes to a repository @
337657         2017-08-07 18:08:11 UTC
337658
337659         · da85326ad4 Merge pull request #42694 from gtmanfred/2016.11
337660
337661         · 1a0457af51 allow adding extra remotes to a repository
337662
337663       · ISSUE #42642: (githubcdr) state.augeas (refs: #42669, #43202)
337664
337665       · PR #42669: (garethgreenaway)  [2016.11]  Fixes  to  augeas  module  @
337666         2017-08-06 17:58:03 UTC
337667
337668         · 7b2119feee    Merge   pull   request   #42669   from   garethgreen‐
337669           away/42642_2016_11_augeas_module_fix
337670
337671         · 24413084e2 Updating the call to shlex_split to pass the posix=False
337672           argument so that quotes are preserved.
337673
337674       · PR #42629: (xiaoanyunfei) tornado api @ 2017-08-03 22:21:20 UTC
337675
337676         · 30725769ed Merge pull request #42629 from xiaoanyunfei/tornadoapi
337677
337678         · 1e13383b95 tornado api
337679
337680       · PR   #42655:   (whiteinge)   Reenable  cpstats  for  rest_cherrypy  @
337681         2017-08-03 20:44:10 UTC
337682
337683         · PR #33806: (cachedout) Work around  upstream  cherrypy  bug  (refs:
337684           #42655)
337685
337686         · f0f00fcee1  Merge  pull  request  #42655  from whiteinge/rest_cher‐
337687           rypy-reenable-stats
337688
337689         · deb6316d67 Fix lint errors
337690
337691         · 6bd91c8b03 Reenable cpstats for rest_cherrypy
337692
337693       · ISSUE #42686: (gilbsgilbs)  Unable  to  set  multiple  RabbitMQ  tags
337694         (refs: #42693)
337695
337696       · PR  #42693:  (gilbsgilbs)  Fix  RabbitMQ  tags  not  properly set.  @
337697         2017-08-03 20:23:08 UTC
337698
337699         · 21cf15f9c3  Merge  pull  request  #42693  from  gilbsgilbs/fix-rab‐
337700           bitmq-tags
337701
337702         · 78fccdc7e2 Cast to list in case tags is a tuple.
337703
337704         · 287b57b5c5 Fix RabbitMQ tags not properly set.
337705
337706       · ISSUE #41433: (sbojarski) boto_cfn.present fails when reporting error
337707         for failed state (refs: #42574)
337708
337709       · PR #42574: (sbojarski) Fixed error  reporting  in  "boto_cfn.present"
337710         function.  @ 2017-08-01 17:55:29 UTC
337711
337712         · f2b0c9b4fa     Merge     pull     request    #42574    from    sbo‐
337713           jarski/boto-cfn-error-reporting
337714
337715         · 5c945f10c2 Fix debug message in "boto_cfn._validate" function.
337716
337717         · 181a1beecc Fixed error reporting in "boto_cfn.present" function.
337718
337719       · PR #42623: (terminalmage) Fix  unicode  constructor  in  custom  YAML
337720         loader @ 2017-07-31 19:25:18 UTC
337721
337722         · bc1effc4f2  Merge  pull  request  #42623 from terminalmage/fix-uni‐
337723           code-constructor
337724
337725         · fcf45889dd Fix unicode constructor in custom YAML loader
337726
337727       · PR #42515: (gtmanfred) Allow not interpreting backslashes in the repl
337728         @ 2017-07-28 16:00:09 UTC
337729
337730         · cbf752cd73 Merge pull request #42515 from gtmanfred/backslash
337731
337732         · cc4e45656d Allow not interpreting backslashes in the repl
337733
337734       · ISSUE #42456: (gdubroeucq) Use yum lib  (refs: #42586)
337735
337736       · PR  #42586:  (gdubroeucq)  [Fix] yumpkg.py: add option to the command
337737         "check-update" @ 2017-07-27 23:52:00 UTC
337738
337739         · 549495831f Merge pull request #42586 from gdubroeucq/2016.11
337740
337741         · 9c0b5cc1d6 Remove extra newline
337742
337743         · d2ef4483e4 yumpkg.py: clean
337744
337745         · a96f7c09e0 yumpkg.py: add option to the command "check-update"
337746
337747       · ISSUE #41982: (abulford) dockerng.network_* matches too easily (refs:
337748         #41988)
337749
337750       · PR   #41988:   (abulford)  Fix  dockerng.network_*  name  matching  @
337751         2017-07-27 21:25:06 UTC
337752
337753         · 6b45debf28  Merge  pull  request  #41988  from  redmatter/fix-dock‐
337754           erng-network-matching
337755
337756         · 9eea796da8 Add regression tests for #41982
337757
337758         · 3369f0072f Fix broken unit test test_network_absent
337759
337760         · 0ef6cf634c Add trace logging of dockerng.networks result
337761
337762         · 515c612808 Fix dockerng.network_* name matching
337763
337764       · PR #42339: (isbm) Bugfix: Jobs scheduled to run at a future time stay
337765         pending for Salt minions (bsc#1036125) @ 2017-07-27 19:05:51 UTC
337766
337767         · 4b16109122 Merge pull  request  #42339  from  isbm/isbm-jobs-sched‐
337768           uled-in-a-future-bsc1036125
337769
337770         · bbba84ce2d  Bugfix:  Jobs  scheduled  to  run at a future time stay
337771           pending for Salt minions (bsc#1036125)
337772
337773       · ISSUE #23516: (dkiser) BUG: cron  job  scheduler  sporadically  works
337774         (refs: #42077)
337775
337776       · PR  #42077: (vutny) Fix scheduled job run on Master if when parameter
337777         is a list @ 2017-07-27 19:04:23 UTC
337778
337779         · PR #41973: (vutny) Fix Master/Minion scheduled jobs based  on  Cron
337780           expressions (refs: #42077)
337781
337782         · 6c5a7c604a  Merge  pull  request  #42077 from vutny/fix-jobs-sched‐
337783           uled-with-whens
337784
337785         · b1960cea44 Fix scheduled job run on Master if when parameter  is  a
337786           list
337787
337788       · PR  #42414:  (vutny)  DOCS:  unify  hash  sum with hash type format @
337789         2017-07-27 18:48:40 UTC
337790
337791         · f9cb536589      Merge      pull      request      #42414       from
337792           vutny/unify-hash-params-format
337793
337794         · d1f2a93368 DOCS: unify hash sum with hash type format
337795
337796       · ISSUE #42375: (dragonpaw) salt.modules.*.__virtualname__ doens't work
337797         as documented. (refs: #42523)
337798
337799       · PR #42523: (rallytime) Add a mention of the True/False  returns  with
337800         __virtual__() @ 2017-07-27 18:13:07 UTC
337801
337802         · 535c922511 Merge pull request #42523 from rallytime/fix-42375
337803
337804         · 685c2cced6  Add  information  about returning a tuple with an error
337805           message
337806
337807         · fa466519c4 Add a mention of  the  True/False  returns  with  __vir‐
337808           tual__()
337809
337810       · PR  #42527:  (twangboy) Document changes to Windows Update in Windows
337811         10/Server 2016 @ 2017-07-27 17:45:38 UTC
337812
337813         · 0df0e7e749 Merge pull request #42527 from twangboy/win_wua
337814
337815         · 0373791f2a Correct capatlization
337816
337817         · af3bcc927b Document changes to Windows Update in 10/2016
337818
337819       · PR #42551: (binocvlar) Remove  '-s'  (--script)  argument  to  parted
337820         within align_check function @ 2017-07-27 17:35:31 UTC
337821
337822         · 69b06586da       Merge      pull      request      #42551      from
337823           binocvlar/fix-lack-of-align-check-output
337824
337825         · c4fabaa192  Remove  '-s'  (--script)  argument  to  parted   within
337826           align_check function
337827
337828       · ISSUE  #42403:  (astronouth7303)  [2017.7] Pillar empty when state is
337829         applied from orchestrate (refs: #42433)
337830
337831       · PR #42573: (rallytime)  Back-port  #42433  to  2016.11  @  2017-07-27
337832         13:51:21 UTC
337833
337834         · PR  #42433:  (terminalmage)  Only  force  saltenv/pillarenv to be a
337835           string when not None (refs: #42573)
337836
337837         · 9e0b4e9faf Merge pull request #42573 from rallytime/bp-42433
337838
337839         · 0293429e24 Only force saltenv/pillarenv to be  a  string  when  not
337840           None
337841
337842       · PR #42571: (twangboy) Avoid loading system PYTHON* environment vars @
337843         2017-07-26 22:48:55 UTC
337844
337845         · e931ed2517 Merge pull request #42571 from  twangboy/win_add_python‐
337846           path
337847
337848         · d55a44dd1a Avoid loading user site packages
337849
337850         · 9af1eb2741  Ignore any PYTHON* environment vars already on the sys‐
337851           tem
337852
337853         · 4e2fb03a95 Add pythonpath to batch files and service
337854
337855       · ISSUE #42371: (tsaridas) Minion unresponsive after trying to failover
337856         (refs: #42387)
337857
337858       · PR #42387: (DmitryKuzmenko) Fix race condition in usage of weakvalue‐
337859         dict @ 2017-07-25 20:57:42 UTC
337860
337861         · de2f397041   Merge   pull   request   #42387    from    DSRCorpora‐
337862           tion/bugs/42371_KeyError_WeakValueDict
337863
337864         · e721c7eee2 Don't use key in weakvaluedict because it could lie.
337865
337866       · ISSUE  #41955: (root360-AndreasUlm) rabbitmq 3.6.10 changed output =>
337867         rabbitmq-module broken (refs: #41968)
337868
337869       · PR #41968: (root360-AndreasUlm) Fix rabbitmqctl output sanitizer  for
337870         version 3.6.10 @ 2017-07-25 19:12:36 UTC
337871
337872         · 641a9d7efd   Merge   pull   request   #41968  from  root360-Andrea‐
337873           sUlm/fix-rabbitmqctl-output-handler
337874
337875         · 76fd941d91 added tests for rabbitmq 3.6.10 output handler
337876
337877         · 3602af1e1b Fix rabbitmqctl output handler for 3.6.10
337878
337879       · ISSUE #42477: (aikar) Invalid ssh_interface value prevents salt-cloud
337880         provisioning without reason of why (refs: #42479)
337881
337882       · PR  #42479:  (gtmanfred)  validate ssh_interface for ec2 @ 2017-07-25
337883         18:37:18 UTC
337884
337885         · 66fede378a Merge pull request #42479 from gtmanfred/interface
337886
337887         · c32c1b2803 fix pylint
337888
337889         · 99ec634c6b validate ssh_interface for ec2
337890
337891       · ISSUE #42405: (felrivero) The documentation is  incorrectly  compiled
337892         (PILLAR section) (refs: #42516)
337893
337894       · PR #42516: (rallytime) Add info about top file to pillar walk-through
337895         example to include edit.vim @ 2017-07-25 17:01:12 UTC
337896
337897         · a925c7029a Merge pull request #42516 from rallytime/fix-42405
337898
337899         · e3a6717efa Add info about top file to pillar  walk-through  example
337900           to include edit.vim
337901
337902       · ISSUE  #42417:  (clem-compilatio)  salt-cloud  - openstack - "no more
337903         floating IP addresses" error - but public_ip in node (refs: #42509)
337904
337905       · PR #42509: (clem-compilatio) Fix _assign_floating_ips in openstack.py
337906         @ 2017-07-24 17:14:13 UTC
337907
337908         · 1bd5bbccc2 Merge pull request #42509 from clem-compilatio/fix-42417
337909
337910         · 72924b06b8 Fix _assign_floating_ips in openstack.py
337911
337912       · PR  #42464: (garethgreenaway) [2016.11] Small fix to modules/git.py @
337913         2017-07-21 21:28:57 UTC
337914
337915         · 4bf35a74de   Merge   pull   request   #42464   from    garethgreen‐
337916           away/2016_11_remove_tmp_identity_file
337917
337918         · ff24102d51  Uncomment  the line that removes the temporary identity
337919           file.
337920
337921       · ISSUE #42357: (Giandom) Salt  pillarenv  problem  with  slack  engine
337922         (refs: #42443)
337923
337924       · PR   #42443:  (garethgreenaway)  [2016.11]  Fix  to  slack  engine  @
337925         2017-07-21 15:48:57 UTC
337926
337927         · e2120dbd0e   Merge   pull   request   #42443   from    garethgreen‐
337928           away/42357_pass_args_kwargs_correctly
337929
337930         · 635810b3e3  Updating  the  slack engine in 2016.11 to pass the args
337931           and kwrags correctly to LocalClient
337932
337933       · ISSUE #42198: (shengis) state sqlite3.row_absent fail  with  "parame‐
337934         ters are of unsupported type" (refs: #42200)
337935
337936       · PR #42200: (shengis) Fix #42198 @ 2017-07-21 14:47:29 UTC
337937
337938         · 8262cc9054       Merge      pull      request      #42200      from
337939           shengis/sqlite3_fix_row_absent_2016.11
337940
337941         · 407b8f4bb3 Fix #42198 If where_args is not set, not using it in the
337942           delete request.
337943
337944       · ISSUE  #42413:  (goten4) Invalid error message when proxy_host is set
337945         and tornado not installed (refs: #42424)
337946
337947       · PR #42424: (goten4) Fix error message when tornado or pycurl  is  not
337948         installed @ 2017-07-20 21:53:40 UTC
337949
337950         · d9df97e5a3 Merge pull request #42424 from goten4/2016.11
337951
337952         · 1c0574d05e  Fix  error  message  when  tornado  or  pycurl  is  not
337953           installed
337954
337955       · PR #42350: (twangboy) Fixes  problem  with  Version  and  OS  Release
337956         related  grains  on certain versions of Python (2016.11) @ 2017-07-19
337957         17:07:26 UTC
337958
337959         · 42bb1a64ca    Merge    pull    request    #42350    from     twang‐
337960           boy/win_fix_ver_grains_2016.11
337961
337962         · 8c048403d7 Detect Server OS with a desktop release name
337963
337964       · PR #42356: (meaksh) Allow to check whether a function is available on
337965         the AliasesLoader wrapper @ 2017-07-19 16:56:41 UTC
337966
337967         · 0a72e56f6b Merge pull request #42356  from  meaksh/2016.11-Aliases‐
337968           Loader-wrapper-fix
337969
337970         · 915d94219e  Allow  to  check whether a function is available on the
337971           AliasesLoader wrapper
337972
337973       · PR #42368:  (twangboy)  Remove  build  and  dist  directories  before
337974         install (2016.11) @ 2017-07-19 16:47:28 UTC
337975
337976         · 10eb7b7a79     Merge    pull    request    #42368    from    twang‐
337977           boy/win_fix_build_2016.11
337978
337979         · a7c910c31e Remove build and dist directories before install
337980
337981       · PR #42370: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
337982         @ 2017-07-18 22:39:41 UTC
337983
337984         · 016189f62f Merge pull request #42370 from rallytime/merge-2016.11
337985
337986         · 0aa5dde1de Merge branch '2016.3' into '2016.11'
337987
337988         · e9b0f20f8a Merge pull request #42359 from Ch3LL/doc-update-2016.3
337989
337990           · dc85b5edbe  [2016.3]  Update  version  numbers  in doc config for
337991             2017.7.0 release
337992
337993       · PR #42360: (Ch3LL) [2016.11] Update version numbers in doc config for
337994         2017.7.0 release @ 2017-07-18 19:23:30 UTC
337995
337996         · f06a6f1796 Merge pull request #42360 from Ch3LL/doc-update-2016.11
337997
337998         · b90b7a7506  [2016.11]  Update  version  numbers  in  doc config for
337999           2017.7.0 release
338000
338001       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
338002         #42319)
338003
338004       · PR #42319: (rallytime) Add more documentation for config options that
338005         are missing from master/minion docs @ 2017-07-18 18:02:32 UTC
338006
338007         · e0595b0a0f Merge pull request #42319 from rallytime/config-docs
338008
338009         · b40f980632 Add more documentation for config options that are miss‐
338010           ing from master/minion docs
338011
338012       · ISSUE  #42333:  (b3hni4)  Getting  "invalid  type  of dict, a list is
338013         required" when trying to configure  engines  in  master  config  file
338014         (refs: #42352)
338015
338016       · PR  #42352:  (CorvinM)  Multiple  documentation  fixes  @  2017-07-18
338017         15:10:37 UTC
338018
338019         · 78940400e3 Merge pull request #42352 from CorvinM/issue42333
338020
338021         · 526b6ee14d Multiple documentation fixes
338022
338023       · PR #42353: (terminalmage) is_windows  is  a  function,  not  a  prop‐
338024         ery/attribute @ 2017-07-18 14:38:51 UTC
338025
338026         · b256001760 Merge pull request #42353 from terminalmage/fix-git-test
338027
338028         · 14cf6ce322 is_windows is a function, not a propery/attribute
338029
338030       · ISSUE  #41116: (hrumph) FAQ has wrong instructions for upgrading Win‐
338031         dows minion. (refs: #42264)
338032
338033       · PR #42264: (rallytime) Update minion restart section in FAQ  doc  for
338034         windows @ 2017-07-17 17:40:40 UTC
338035
338036         · 866a1febb4 Merge pull request #42264 from rallytime/fix-41116
338037
338038         · bd638880e3  Add  mono-spacing  to salt-minion reference for consis‐
338039           tency
338040
338041         · 30d62f43da Update minion restart section in FAQ doc for windows
338042
338043       · ISSUE #42194: (jryberg) pkg version: latest are now broken, appending
338044         <package>-latest to filename (refs: #42275)
338045
338046       · PR  #42275: (terminalmage) pkg.installed: pack name/version into pkgs
338047         argument @ 2017-07-17 17:38:39 UTC
338048
338049         · 9a707088ad Merge pull request #42275 from terminalmage/issue42194
338050
338051         · 663874908a pkg.installed: pack name/version into pkgs argument
338052
338053       · ISSUE #41721: (sazaro) state.sysrc broken when setting the  value  to
338054         YES or NO (refs: #42269)
338055
338056       · PR  #42269: (rallytime) Add some clarity to "multiple quotes" section
338057         of yaml docs @ 2017-07-17 17:38:18 UTC
338058
338059         · e588f235e0 Merge pull request #42269 from rallytime/fix-41721
338060
338061         · f2250d474a Add a note about using different styles of quotes.
338062
338063         · 38d9b3d553 Add some clarity to "multiple quotes"  section  of  yaml
338064           docs
338065
338066       · ISSUE  #42152:  (dubb-b)  salt-cloud errors on Rackspace driver using
338067         -out=yaml  (refs: #42282)
338068
338069       · PR #42282: (rallytime) Handle libcloud objects that  throw  Represen‐
338070         terErrors with --out=yaml @ 2017-07-17 17:36:35 UTC
338071
338072         · 5aaa214a75 Merge pull request #42282 from rallytime/fix-42152
338073
338074         · f032223843  Handle  libcloud  objects  that throw RepresenterErrors
338075           with --out=yaml
338076
338077       · ISSUE #42295: (lubyou) file.absent fails on windows if the file to be
338078         removed has the "readonly" attribute set (refs: #42308)
338079
338080       · PR  #42308:  (lubyou)  Force  file removal on Windows. Fixes #42295 @
338081         2017-07-17 17:12:13 UTC
338082
338083         · fb5697a4bc      Merge      pull      request      #42308       from
338084           lubyou/42295-fix-file-absent-windows
338085
338086         · 026ccf401a Force file removal on Windows. Fixes #42295
338087
338088       · ISSUE  #42267:  (gzcwnk) salt-ssh not creating ssh keys automatically
338089         as per documentation (refs: #42314)
338090
338091       · PR #42314: (rallytime) Add clarification to salt ssh docs  about  key
338092         auto-generation.  @ 2017-07-17 14:07:49 UTC
338093
338094         · da2a8a518f Merge pull request #42314 from rallytime/fix-42267
338095
338096         · c406046940 Add clarification to salt ssh docs about key auto-gener‐
338097           ation.
338098
338099       · ISSUE #41936: (michaelkarrer81) git.latest identity does not set  the
338100         correct user for the private key file on the minion (refs: #41945)
338101
338102       · PR  #41945:  (garethgreenaway)  Fixes  to modules/git.py @ 2017-07-14
338103         17:46:10 UTC
338104
338105         · acadd54013   Merge   pull   request   #41945   from    garethgreen‐
338106           away/41936_allow_identity_files_with_user
338107
338108         · 44841e5626  Moving the call to cp.get_file inside the with block to
338109           ensure the umask is preserved when we grab the file.
338110
338111         · f9ba60eed8 Merge pull request #1 from terminalmage/pr-41945
338112
338113           · 1b6026177c Restrict set_umask to mkstemp call only
338114
338115         · 68549f3496 Fixing umask to we can set files as executable.
338116
338117         · 4949bf3ff3 Updating to swap on the  new  salt.utils.files.set_umask
338118           context_manager
338119
338120         · 8faa9f6d92 Updating PR with requested changes.
338121
338122         · 494765e939  Updating the git module to allow an identity file to be
338123           used when passing the user parameter
338124
338125       · ISSUE #42240: (casselt) empty_password in user.present always changes
338126         password, even with test=True (refs: #42289)
338127
338128       · PR  #42289:  (CorvinM) Multiple empty_password fixes for state.user @
338129         2017-07-14 16:14:02 UTC
338130
338131         · PR #41543: (cri-epita) Fix user creation with empty password (refs:
338132           #42289)
338133
338134         · f90e04a2bc Merge pull request #42289 from CorvinM/bp-41543
338135
338136         · 357dc22f05 Fix user creation with empty password
338137
338138       · PR  #42123:  (vutny)  DOCS:  describe importing custom util classes @
338139         2017-07-12 15:53:24 UTC
338140
338141         · a91a3f81b1  Merge   pull   request   #42123   from   vutny/fix-mas‐
338142           ter-utils-import
338143
338144         · 6bb8b8f98c Add missing doc for utils_dirs Minion config option
338145
338146         · f1bc58f6d5 Utils: add example of module import
338147
338148       · PR  #42261:  (rallytime)  Some  minor doc fixes for dnsutil module so
338149         they'll render correctly @ 2017-07-11 23:14:53 UTC
338150
338151         · e2aa5114e4 Merge pull request #42261 from rallytime/minor-doc-fix
338152
338153         · 8c76bbb53d Some minor doc fixes for dnsutil module so they'll  ren‐
338154           der correctly
338155
338156       · PR  #42262:  (rallytime)  Back-port  #42224  to  2016.11 @ 2017-07-11
338157         23:14:25 UTC
338158
338159         · PR #42224: (tdutrion) Remove  duplicate  instruction  in  Openstack
338160           Rackspace config example (refs: #42262)
338161
338162         · 3e9dfbc9cc Merge pull request #42262 from rallytime/bp-42224
338163
338164         · c31ded341c Remove duplicate instruction in Openstack Rackspace con‐
338165           fig example
338166
338167       · ISSUE #42137: (kiemlicz) cmd.run  with  multiple  commands  -  random
338168         order of execution (refs: #42181)
338169
338170       · PR  #42181: (garethgreenaway) fixes to state.py for names parameter @
338171         2017-07-11 21:21:32 UTC
338172
338173         · 7780579c36   Merge   pull   request   #42181   from    garethgreen‐
338174           away/42137_backport_fix_from_2017_7
338175
338176         · a34970b45b  Back  porting the fix for 2017.7 that ensures the order
338177           of the names parameter.
338178
338179       · PR #42253: (gtmanfred) Only use unassociated ips when unable to allo‐
338180         cate @ 2017-07-11 20:53:51 UTC
338181
338182         · PR #38965: (toanju) salt-cloud will use list_floating_ips for Open‐
338183           Stack (refs: #42253)
338184
338185         · PR #34280: (kevinanderson1) salt-cloud will  use  list_floating_ips
338186           for Openstack (refs: #38965)
338187
338188         · 72537868a6 Merge pull request #42253 from gtmanfred/2016.11
338189
338190         · 53e25760be Only use unassociated ips when unable to allocate
338191
338192       · PR  #42252: (UtahDave) simple docstring updates @ 2017-07-11 20:48:33
338193         UTC
338194
338195         · b2a4698b5d Merge pull request #42252 from UtahDave/2016.11local
338196
338197         · e6a9563d47 simple doc updates
338198
338199       · ISSUE #42232: (astronouth7303) Half of dnsutil refers to  dig  (refs:
338200         #42235)
338201
338202       · PR #42235: (astronouth7303) Abolish references to dig in examples.  @
338203         2017-07-10 20:06:11 UTC
338204
338205         · 781fe13be7      Merge      pull      request      #42235       from
338206           astronouth7303/patch-1-2016.3
338207
338208         · 4cb51bd03a Make note of dig partial requirement.
338209
338210         · 08e7d8351a Abolish references to dig in examples.
338211
338212       · PR  #42215:  (twangboy)  Add  missing  config to example @ 2017-07-07
338213         20:18:44 UTC
338214
338215         · 83cbd76f16 Merge pull request #42215 from twangboy/win_iis_docs
338216
338217         · c07e22041a Add missing config to example
338218
338219       · PR #42211: (terminalmage) Only pass a saltenv in orchestration if one
338220         was explicitly passed (2016.11) @ 2017-07-07 20:16:35 UTC
338221
338222         · 274946ab00 Merge pull request #42211 from terminalmage/issue40928
338223
338224         · 22a18fa2ed  Only pass a saltenv in orchestration if one was explic‐
338225           itly passed (2016.11)
338226
338227       · PR #42173: (rallytime)  Back-port  #37424  to  2016.11  @  2017-07-07
338228         16:39:59 UTC
338229
338230         · PR  #37424:  (kojiromike)  Avoid  Early  Convert  ret['comment'] to
338231           String (refs: #42173)
338232
338233         · 89261cf06c Merge pull request #42173 from rallytime/bp-37424
338234
338235         · 01addb6053 Avoid Early Convert ret['comment'] to String
338236
338237       · ISSUE #39365: (dglloyd) service.running fails if sysv script  has  no
338238         status command and enable: True (refs: #39366)
338239
338240       · PR  #42175:  (rallytime)  Back-port  #39366  to  2016.11 @ 2017-07-06
338241         19:51:47 UTC
338242
338243         · PR #39366: (dglloyd) Pass sig  to  service.status  in  after_toggle
338244           (refs: #42175)
338245
338246         · 3b17fb7f83 Merge pull request #42175 from rallytime/bp-39366
338247
338248         · 53f7b987e8 Pass sig to service.status in after_toggle
338249
338250       · PR #42172: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
338251         @ 2017-07-06 18:16:29 UTC
338252
338253         · ea16f47f0a Merge pull request #42172 from rallytime/merge-2016.11
338254
338255         · b1fa332a11 Merge branch '2016.3' into '2016.11'
338256
338257           · 8fa1fa5bb1 Merge pull request #42155 from phsteve/doc-fix-puppet
338258
338259             · fb2cb78a31 Fix docs for puppet.plugin_sync so  code-block  ren‐
338260               ders properly and sync is spelled consistently
338261
338262       · PR  #42176:  (rallytime)  Back-port  #42109  to  2016.11 @ 2017-07-06
338263         18:15:35 UTC
338264
338265         · PR #42109:  (arthurlogilab)  [doc]  Update  aws.rst  -  add  Debian
338266           default username (refs: #42176)
338267
338268         · 6307b9873f Merge pull request #42176 from rallytime/bp-42109
338269
338270         · 686926daf7 Update aws.rst - add Debian default username
338271
338272       · PR  #42095:  (terminalmage)  Add  debug  logging  to dockerng.login @
338273         2017-07-06 17:13:05 UTC
338274
338275         · 28c4e4c3b7   Merge   pull    request    #42095    from    terminal‐
338276           mage/docker-login-debugging
338277
338278         · bd27870a71 Add debug logging to dockerng.login
338279
338280       · ISSUE  #42116:  (terminalmage)  CLI  pillar  override  regression  in
338281         2017.7.0rc1 (refs: #42119)
338282
338283       · PR #42119: (terminalmage) Fix regression in CLI pillar  override  for
338284         salt-call @ 2017-07-06 17:02:52 UTC
338285
338286         · 2b754bc5af Merge pull request #42119 from terminalmage/issue42116
338287
338288         · 9a268949e3 Add integration test for 42116
338289
338290         · 1bb42bb609  Fix  regression  when  CLI pillar override is used with
338291           salt-call
338292
338293       · ISSUE #42114: (clallen) saltenv bug in  pillar.get  execution  module
338294         function (refs: #42121)
338295
338296       · PR  #42121:  (terminalmage)  Fix  pillar.get when saltenv is passed @
338297         2017-07-06 16:52:34 UTC
338298
338299         · 8c0a83cbb5 Merge pull request #42121 from terminalmage/issue42114
338300
338301         · d14291267f Fix pillar.get when saltenv is passed
338302
338303       · PR #42094: (terminalmage) Prevent command from showing  in  exception
338304         when output_loglevel=quiet @ 2017-07-06 16:18:09 UTC
338305
338306         · 687992c240 Merge pull request #42094 from terminalmage/quiet-excep‐
338307           tion
338308
338309         · 47d61f4edf Prevent command from  showing  in  exception  when  out‐
338310           put_loglevel=quiet
338311
338312       · ISSUE  #42115:  (nomeelnoj)  Installing  EPEL  repo breaks salt-cloud
338313         (refs: #42163)
338314
338315       · PR #42163: (vutny) Fix #42115: parse libcloud "rc" version  correctly
338316         @ 2017-07-06 16:15:07 UTC
338317
338318         · dad255160c Merge pull request #42163 from vutny/fix-42115
338319
338320         · b27b1e340a Fix #42115: parse libcloud "rc" version correctly
338321
338322       · PR  #42164:  (Ch3LL)  Fix  kerberos  create_keytab  doc  @ 2017-07-06
338323         15:55:33 UTC
338324
338325         · 2a8ae2b3b6 Merge pull request #42164 from Ch3LL/fix_kerb_doc
338326
338327         · 7c0fb248ec Fix kerberos create_keytab doc
338328
338329       · PR #42141: (rallytime)  Back-port  #42098  to  2016.11  @  2017-07-06
338330         15:11:49 UTC
338331
338332         · PR #42098: (twangboy) Change repo_ng to repo-ng (refs: #42141)
338333
338334         · 678d4d4098 Merge pull request #42141 from rallytime/bp-42098
338335
338336         · bd80243233 Change repo_ng to repo-ng
338337
338338       · PR  #42140:  (rallytime)  Back-port  #42097  to  2016.11 @ 2017-07-06
338339         15:11:29 UTC
338340
338341         · PR #42097: (gtmanfred) require  large  timediff  for  ipv6  warning
338342           (refs: #42140)
338343
338344         · c8afd7a3c9 Merge pull request #42140 from rallytime/bp-42097
338345
338346         · 9c4e132540 Import datetime
338347
338348         · 1435bf177e require large timediff for ipv6 warning
338349
338350       · PR  #42142:  (Ch3LL)  Update  builds  available  for rc1 @ 2017-07-05
338351         21:11:56 UTC
338352
338353         · c239664c8b Merge pull request #42142 from Ch3LL/change_builds
338354
338355         · e1694af39c Update builds available for rc1
338356
338357       · PR #42078: (damon-atkins) pkg.install and pkg.remove fix version num‐
338358         ber input.  @ 2017-07-05 06:04:57 UTC
338359
338360         · 4780d7830a  Merge  pull  request  #42078 from damon-atkins/fix_con‐
338361           vert_flt_str_version_on_cmd_line
338362
338363         · 09d37dd892 Fix comment typo
338364
338365         · 7167549425 Handle version=None   when  converted  to  a  string  it
338366           becomes  'None'  parm  should  default  to empty string rather than
338367           None, it would fix better with existing code.
338368
338369         · 4fb2bb1856 Fix typo
338370
338371         · cf55c3361c pkg.install and pkg.remove on the command line take num‐
338372           ber  version numbers, store them within a float. However version is
338373           a string, to support versions numbers like 1.3.4
338374
338375       · PR #42105: (Ch3LL) Update releasecanddiate doc with  new  2017.7.0rc1
338376         Release @ 2017-07-04 03:14:42 UTC
338377
338378         · 46d575acbc Merge pull request #42105 from Ch3LL/update_rc
338379
338380         · d4e7b91608 Update releasecanddiate doc with new 2017.7.0rc1 Release
338381
338382       · ISSUE #41885: (astronouth7303) Recommended pip installation outdated?
338383         (refs: #42099)
338384
338385       · PR #42099: (rallytime) Remove  references  in  docs  to  pip  install
338386         salt-cloud @ 2017-07-03 22:13:44 UTC
338387
338388         · d38548bbbd Merge pull request #42099 from rallytime/fix-41885
338389
338390         · c2822e05ad Remove references in docs to pip install salt-cloud
338391
338392       · ISSUE #42076: (abulford) dockerng.volume_present test looks as though
338393         it would cause a change (refs: #42086)
338394
338395       · PR #42086: (abulford)  Make  result=true  if  Docker  volume  already
338396         exists @ 2017-07-03 15:48:33 UTC
338397
338398         · 81d606a8cb  Merge  pull  request  #42086  from  redmatter/fix-dock‐
338399           erng-volume-present-result
338400
338401         · 8d549685a7 Make result=true if Docker volume already exists
338402
338403       · ISSUE #25842: (shikhartanwar) Running salt-minion as non-root user to
338404         execute sudo commands always returns an error (refs: #42021)
338405
338406       · PR  #42021:  (gtmanfred)  Set  concurrent to True when running states
338407         with sudo @ 2017-06-30 21:02:15 UTC
338408
338409         · 7160697123 Merge pull request #42021 from gtmanfred/2016.11
338410
338411         · 26beb18aa5 Set concurrent to True when running states with sudo
338412
338413       · PR #42029: (terminalmage) Mock socket.getaddrinfo in  unit.utils.net‐
338414         work_test.NetworkTestCase.test_host_to_ips @ 2017-06-30 20:58:56 UTC
338415
338416         · b784fbbdf8 Merge pull request #42029 from terminalmage/host_to_ips
338417
338418         · 26f848e111  Mock socket.getaddrinfo in unit.utils.network_test.Net‐
338419           workTestCase.test_host_to_ips
338420
338421       · PR #42055: (dmurphy18) Upgrade support for gnupg v2.1  and  higher  @
338422         2017-06-30 20:54:02 UTC
338423
338424         · e067020b9b Merge pull request #42055 from dmurphy18/handle_gnupgv21
338425
338426         · e20cea6350 Upgrade support for gnupg v2.1 and higher
338427
338428       · PR  #42048:  (Ch3LL) Add initial 2016.11.7 Release Notes @ 2017-06-30
338429         16:00:05 UTC
338430
338431         · 74ba2abc48 Merge pull request #42048 from Ch3LL/add_11.7
338432
338433         · 1de5e008a0 Add initial 2016.11.7 Release Notes
338434
338435       · PR #42024: (leeclemens) doc: Specify versionadded for SELinux  policy
338436         install/uninstall @ 2017-06-29 23:29:50 UTC
338437
338438         · ca4e619edb Merge pull request #42024 from leeclemens/doc/selinux
338439
338440         · b63a3c0fae   doc:   Specify   versionadded   for   SELinux   policy
338441           install/uninstall
338442
338443         · PR saltstack/salt#41961: (cachedout) Allow docs to be  built  under
338444           Python 3 (refs: #42028)
338445
338446       · PR  #42030: (whiteinge) Re-add msgpack to mocked imports @ 2017-06-29
338447         20:47:59 UTC
338448
338449         · PR #42028: (whiteinge) Revert "Allow docs to be built under  Python
338450           3" (refs: #42030)
338451
338452         · 50856d0e28       Merge      pull      request      #42030      from
338453           whiteinge/revert-py3-doc-chagnes-pt-2
338454
338455         · 18dfa9893c Re-add msgpack to mocked imports
338456
338457         · PR saltstack/salt#41961: (cachedout) Allow docs to be  built  under
338458           Python 3 (refs: #42028)
338459
338460       · PR #42028: (whiteinge) Revert "Allow docs to be built under Python 3"
338461         (refs: #42030) @ 2017-06-29 19:47:46 UTC
338462
338463         · 53031d2f55    Merge    pull    request    #42028     from     salt‐
338464           stack/revert-41961-py3_doc
338465
338466         · 5592e6e5d4 Revert "Allow docs to be built under Python 3"
338467
338468       · ISSUE  #42013: (dusto) Misspelled nozeroconf in salt/modules/rh_ip.py
338469         (refs: #42017)
338470
338471       · PR #42017: (lorengordon) Fixes typo  "nozerconf"  ->  "nozeroconf"  @
338472         2017-06-29 17:30:48 UTC
338473
338474         · 1416bf70b9 Merge pull request #42017 from lorengordon/issue-42013
338475
338476         · b6cf5f2528 Fixes typo nozerconf -> nozeroconf
338477
338478       · PR  #41906:  (terminalmage)  Better  support  for  numeric saltenvs @
338479         2017-06-29 17:19:33 UTC
338480
338481         · 0ebb50b601   Merge   pull    request    #41906    from    terminal‐
338482           mage/numeric-saltenv
338483
338484         · 2d798de982 Better support for numeric saltenvs
338485
338486       · PR #41995: (terminalmage) Temporarily set the umask before writing an
338487         auth token @ 2017-06-29 01:09:48 UTC
338488
338489         · 6a3c03c2d5 Merge pull request #41995 from terminalmage/token-umask
338490
338491         · 4f54b0069f Temporarily set the umask before writing an auth token
338492
338493       · PR #41999:  (terminalmage)  Update  IP  address  for  unit.utils.net‐
338494         work_test.NetworkTestCase.test_host_to_ips @ 2017-06-29 01:01:31 UTC
338495
338496         · e3801b0e78  Merge  pull  request  #41999 from terminalmage/fix-net‐
338497           work-test
338498
338499         · fb6a93314f Update IP address  for  unit.utils.network_test.Network‐
338500           TestCase.test_host_to_ips
338501
338502       · ISSUE  #18659:  (whiteinge)  mod_aggregate  not working for list-form
338503         configuration (refs: #41991)
338504
338505       · PR #41991: (Da-Juan) Accept a list for state_aggregate global setting
338506         @ 2017-06-29 00:58:59 UTC
338507
338508         · a7f38929cb  Merge pull request #41991 from Da-Juan/fix-state_aggre‐
338509           gate-list
338510
338511         · c9075b8f84 Accept a list for state_aggregate setting
338512
338513       · PR #41993: (UtahDave) change out salt support link to SaltConf link @
338514         2017-06-29 00:55:20 UTC
338515
338516         · 7424f879a3 Merge pull request #41993 from UtahDave/2016.11local
338517
338518         · bff050ad52 change out salt support link to SaltConf link
338519
338520       · PR #41987: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
338521         @ 2017-06-28 20:19:11 UTC
338522
338523         · 3b9ccf09d7 Merge pull request #41987 from rallytime/merge-2016.11
338524
338525         · 48867c4a82 Merge branch '2016.3' into '2016.11'
338526
338527           · c589eae03f Merge pull request #41981 from Ch3LL/11.6_3
338528
338529           · 2516ae1349 [2016.3] Bump latest release version to 2016.11.6
338530
338531       · PR #41985: (rallytime)  Back-port  #41780  to  2016.11  @  2017-06-28
338532         20:18:57 UTC
338533
338534         · PR  #41780:  (ferringb)  Fix  salt.util.render_jinja_tmpl usage for
338535           when not used in an environmnet (refs: #41985)
338536
338537         · 768339d734 Merge pull request #41985 from rallytime/bp-41780
338538
338539         · 8f8d3a473a Fix salt.util.render_jinja_tmpl usage for when not  used
338540           in an environment.
338541
338542       · ISSUE  #34963:  (craigafinch) Incorrect behavior or documentation for
338543         comments in salt.states.pkgrepo.managed (refs: #41820)
338544
338545       · PR #41986: (rallytime)  Back-port  #41820  to  2016.11  @  2017-06-28
338546         20:18:43 UTC
338547
338548         · PR  #41820:  (nhavens)  Fix yum repo file comments to work as docu‐
338549           mented in pkgrepo.managed (refs: #41986)
338550
338551         · bd9090c0bf Merge pull request #41986 from rallytime/bp-41820
338552
338553         · 72320e35b9 Fix yum repo file comments  to  work  as  documented  in
338554           pkgrepo.managed
338555
338556       · PR  #41973:  (vutny)  Fix  Master/Minion scheduled jobs based on Cron
338557         expressions (refs: #42077) @ 2017-06-28 16:39:02 UTC
338558
338559         · a31da52635 Merge pull request #41973 from vutny/fix-croniter-sched‐
338560           uled-jobs
338561
338562         · 148788e652  Fix  Master/Minion scheduled jobs based on Cron expres‐
338563           sions
338564
338565       · PR #41980: (Ch3LL) [2016.11] Bump latest release version to 2016.11.6
338566         @ 2017-06-28 15:35:11 UTC
338567
338568         · 689ff93349 Merge pull request #41980 from Ch3LL/11.6_11
338569
338570         · fe4f5711d5 [2016.11] Bump latest release version to 2016.11.6
338571
338572       · PR  #41961:  (cachedout)  Allow  docs  to  be  built under Python 3 @
338573         2017-06-27 21:11:54 UTC
338574
338575         · 82b1eb28ab Merge pull request #41961 from cachedout/py3_doc
338576
338577         · 7aacddf6ef Allow docs to be built under Python 3
338578
338579       · PR #41948: (davidjb) Fix Composer state's  name  docs;  formatting  @
338580         2017-06-27 17:51:29 UTC
338581
338582         · PR  #41933:  (davidjb)  Fix  Composer state's name docs and improve
338583           formatting (refs: #41948)
338584
338585         · f0eb51df17 Merge pull request #41948 from davidjb/patch-9
338586
338587         · 0e4b3d9a42 Fix Composer state's name docs; formatting
338588
338589       · PR #41914: (vutny) archive.extracted: fix hash sum  verification  for
338590         local archives @ 2017-06-26 17:59:27 UTC
338591
338592         · e28e10ded2   Merge   pull   request   #41914   from   vutny/fix-ar‐
338593           chive-extracted-local-file-hash
338594
338595         · 54910fe55f archive.extracted: fix hash sum verification  for  local
338596           archives
338597
338598       · PR #41912: (Ch3LL) Allow pacman module to run on Manjaro @ 2017-06-26
338599         15:35:20 UTC
338600
338601         · 76ad6ff064 Merge pull request #41912 from Ch3LL/fix_manjaro
338602
338603         · e4dd72a3e7 Update os_name_map in core grains for new  manjaro  sys‐
338604           tems
338605
338606         · aa7c839fc5 Allow pacman module to run on Manjaro
338607
338608       · ISSUE  #38093:  (DmitryKuzmenko)  Make threads avoid blocking waiting
338609         while communicating using TCP transport. (refs: #41516)
338610
338611       · PR #41516: (kstreee) Implements MessageClientPool to  avoid  blocking
338612         waiting for zeromq and tcp communications.  @ 2017-06-26 14:41:38 UTC
338613
338614         · PR  #37878:  (kstreee)  Makes  threads avoid blocking waiting while
338615           communicating using Zeromq. (refs: #41516)
338616
338617         · ff67d47a2e  Merge  pull  request  #41516  from   kstreee/fix-block‐
338618           ing-waiting-tcp-connection
338619
338620         · df96969959 Removes redundant closing statements.
338621
338622         · 94b9ea51eb  Implements  MessageClientPool to avoid blocking waiting
338623           for zeromq and tcp communications.
338624
338625       · PR #41888: (Ch3LL) Add additional commits to 2016.11.6 release  notes
338626         @ 2017-06-22 16:19:00 UTC
338627
338628         · c90cb6798a Merge pull request #41888 from Ch3LL/change_release
338629
338630         · 4e1239d980 Add additional commits to 2016.11.6 release notes
338631
338632       · PR  #41882:  (Ch3LL)  Add  pycryptodome  to  crypt_test  @ 2017-06-21
338633         19:51:10 UTC
338634
338635         · 4a326444fe Merge pull request #41882 from Ch3LL/fix_crypt_test
338636
338637         · 6f70dbd0e1 Add pycryptodome to crypt_test
338638
338639       · PR #41877: (Ch3LL) Fix netstat and routes test @ 2017-06-21  16:16:58
338640         UTC
338641
338642         · 13df29ed9b Merge pull request #41877 from Ch3LL/fix_netstat_test
338643
338644         · d2076a6c93 Patch salt.utils.which for test_route test
338645
338646         · 51f7e107dc Patch salt.utils.which for test_netstat test
338647
338648       · ISSUE  #41367:  (lubyou) certutil.add_store does not work on non eng‐
338649         lish windows versions or on Windows 10 (localised or English)  (refs:
338650         #41566)
338651
338652       · PR  #41566:  (morganwillcock)  win_certutil:  workaround  for reading
338653         serial numbers with non-English languages @ 2017-06-21 15:40:29 UTC
338654
338655         · 66f8c83c93 Merge pull request #41566 from morganwillcock/certutil
338656
338657         · c337d52d0c Fix test data for test_get_serial, and a typo
338658
338659         · 7f6961378e test and lint fixes
338660
338661         · 8ee48432f4 Suppress output of crypt context  and  be  more  specifc
338662           with whitespace vs. serial
338663
338664         · 61f817d172 Match serials based on output position (fix for non-Eng‐
338665           lish languages)
338666
338667       · PR #41679: (terminalmage) Prevent unnecessary duplicate pillar compi‐
338668         lation @ 2017-06-21 15:32:42 UTC
338669
338670         · 4d0f5c433d    Merge    pull    request    #41679   from   terminal‐
338671           mage/get-top-file-envs
338672
338673         · a916e8da49 Improve normalization  of  saltenv/pillarenv  usage  for
338674           states
338675
338676         · 02f293a19c Update state unit tests to reflect recent changes
338677
338678         · b7e5c11165 Don't compile pillar data when getting top file envs
338679
338680         · 8d6fdb7c9a Don't compile pillar twice for salt-call
338681
338682         · d2abfbf4ed Add initial_pillar argument to salt.state
338683
338684         · 70186de532  salt.pillar:  rename  the  "pillar"  argument  to "pil‐
338685           lar_override"
338686
338687       · ISSUE #39668: (mirceaulinic) Master scheduled job not recorded on the
338688         event bus (refs: #41658)
338689
338690       · ISSUE #12653: (pengyao) salt schedule doesn't return jobs result info
338691         to master (refs: #41853)
338692
338693       · PR #41853: (vutny) Fix master side scheduled jobs to return events  @
338694         2017-06-20 22:06:29 UTC
338695
338696         · PR  #41695:  (xiaoanyunfei) fix max RecursionError, Ellipsis (refs:
338697           #41853)
338698
338699         · PR #41658: (garethgreenaway) Fixes to  the  salt  scheduler  (refs:
338700           #41853)
338701
338702         · 29b0acc3a2  Merge  pull request #41853 from vutny/fix-master-sched‐
338703           ule-event
338704
338705         · e206c381c6 Fix master side scheduled jobs to return events
338706
338707   Salt 2016.11.9 Release Notes
338708       Version 2016.11.9 is a bugfix release for 2016.11.0.
338709
338710   Statistics
338711       · Total Merges: 143
338712
338713       · Total Issue References: 60
338714
338715       · Total PR References: 167
338716
338717       · Contributors:  54  (Ch3LL,  UtahDave,  VertigoRay,  akissa,   aogier,
338718         arthtux,   austinpapp,   basepi,   benediktwerner,   bobrik,  brejoc,
338719         cachedout, cetanu, corywright, creideiki, cro, cruscio, damon-atkins,
338720         dayid,  defanator,  dereckson,  dijit,  doesitblend, garethgreenaway,
338721         gtmanfred, gurubert, gvengel,  jfindlay,  johnj,  jubrad,  junovitch,
338722         lomeroe,  lordcirth, lorengordon, mattLLVW, meaksh, moio, msummers42,
338723         mtkennerly,   nicholasmhughes,   oeuftete,    rallytime,    rasathus,
338724         roaldnefs,   rossengeorgiev,   seanjnkns,   senthilkumar-e,  techhat,
338725         terminalmage, twangboy, vernondcole, vutny, whiteinge, whytewolf)
338726
338727   Windows Changes
338728   pkg Execution Module`
338729       Significate changes (PR #43708 & #45390, damon-atkins) have  been  made
338730       to  the  pkg  execution  module. Users should test this release against
338731       their existing package sls definition files.
338732
338733       · pkg.list_available no longer defaults to refreshing the winrepo  meta
338734         database.
338735
338736       · pkg.install  without  a version parameter no longer upgrades software
338737         if the software is already installed.  Use pkg.install version=latest
338738         (or simply use a pkg.latest state to get the old behavior.
338739
338740       · pkg.list_pkgs  now  returns  multiple  versions if software installed
338741         more than once.
338742
338743       · pkg.list_pkgs now returns Not Found when the  version  is  not  found
338744         instead of (value not set) which matches the contents of the sls def‐
338745         initions.
338746
338747       · pkg.remove will wait up to 3 seconds (normally  about  a  second)  to
338748         detect  changes  in  the  registry after removing software, improving
338749         reporting of version changes.
338750
338751       · pkg.remove can remove latest software, if latest is  defined  in  sls
338752         definition.
338753
338754       · Documentation  was update for the execution module to match the style
338755         in new versions, some corrections as well.
338756
338757       · All install/remove commands are prefix with cmd.exe shell and  cmdmod
338758         is  called  with  a  command  line string instead of a list. Some sls
338759         files in saltstack/salt-winrepo-ng expected the commands to  be  pre‐
338760         fixed with cmd.exe (i.e. the use of &).
338761
338762       · Some  execution  module functions results, now behave more like their
338763         Unix/Linux versions.
338764
338765   cmd Execution Module
338766       Due to a difference in how Python's subprocess.Popen() spawns processes
338767       on  Windows,  passing  the command as a list of arguments can result in
338768       problems.  This is because Windows' CreateProcess requires the  command
338769       to  be passed as a single string. Therefore, subprocess will attempt to
338770       re-assemble the list of arguments into as string. Some escaped  charac‐
338771       ters and quotes can cause the resulting string to be incorrectly-assem‐
338772       bled, resulting in a failure to execute the command.
338773
338774       Salt now deals with these cases by joining the list of  arguments  cor‐
338775       rectly and ensuring that the command is passed to subprocess.Popen() as
338776       a string.
338777
338778   Changelog for v2016.11.8..v2016.11.9
338779       Generated at: 2018-05-27 20:28:05 UTC
338780
338781       · PR #45638: (twangboy) Win fix shell info @ 2018-01-23 22:38:22 UTC
338782
338783         · 10812969f0    Merge    pull    request    #45638    from     twang‐
338784           boy/win_fix_shell_info
338785
338786         · 872da3ffba Only convert text types in the list_values function
338787
338788         · 0e41535cdb Fix reg.py to only convert text types to unicode
338789
338790         · 3579534ea5 Fix issue with detecting powershell
338791
338792       · PR  #45564:  (Ch3LL)  Add  PR  changes  to  2016.11.9 Release Notes @
338793         2018-01-19 21:36:05 UTC
338794
338795         · 2d1dd1186e Merge pull request #45564 from Ch3LL/r-notes-2016
338796
338797         · 325f4cbcda Add PR changes to 2016.11.9 Release Notes
338798
338799       · PR #45563: (Ch3LL)  Update  man  pages  for  2016.11.9  @  2018-01-19
338800         21:19:00 UTC
338801
338802         · 28e4398150 Merge pull request #45563 from Ch3LL/man_2016
338803
338804         · 529bc0c680 update release number for salt-call man page 2016.11.9
338805
338806         · 11b7222148 Update man pages for 2016.11.9
338807
338808       · PR  #45532:  (gtmanfred)  fix mock for opensuse @ 2018-01-18 22:48:30
338809         UTC
338810
338811         · 654df0f526 Merge pull request #45532 from gtmanfred/2016.11.9
338812
338813         · 6c26025664 fix mock for opensuse
338814
338815       · PR #45518: (gtmanfred) fix last 2016.11.9 failing tests @  2018-01-18
338816         12:03:50 UTC
338817
338818         · 571c33aa39 Merge pull request #45518 from gtmanfred/2016.11.9
338819
338820         · 5455d2dee6 fix centos 6 pip test
338821
338822         · 40255194b0 fix fedora pkg test
338823
338824       · ISSUE #45394: (dmurphy18) git.latest fails when "depth"  is used with
338825         a non-default branch (refs: #45399)
338826
338827       · PR #45443: (rallytime) Back-port #45399  to  2016.11.9  @  2018-01-17
338828         14:53:58 UTC
338829
338830         · PR  #45399:  (terminalmage)  Fix git.latest failure when rev is not
338831           the default branch (refs: #45443)
338832
338833         · 4e0a0eec1f    Merge    pull    request    #45443    from     rally‐
338834           time/bp-45399-2016.11.9
338835
338836         · 919e92c911  Fix  git.latest  failure  when  rev  is not the default
338837           branch
338838
338839       · ISSUE #45432: (TheBigBear) winrepo-ng  fault  pkg.refresh_db  doesn't
338840         work  -  it  processes ANY stray .git metadata *.sls files present on
338841         minion (refs: #45493)
338842
338843       · PR #45493: (damon-atkins) win_pkg: pkg.refresh_db report an issue  if
338844         a  sls  pkg  definition does not contain a dict instead of aborting @
338845         2018-01-17 14:52:03 UTC
338846
338847         · ebd4db66b8      Merge      pull      request      #45493       from
338848           damon-atkins/2016.11_fix_sls_defintion_wrong_type
338849
338850         · af108440df win_pkg lint space after ,
338851
338852         · c6e922a236 win_pkg lint issues
338853
338854         · f4627d7a80 fix quote i.e. change ` to '
338855
338856         · 6938a4c099  pkg.refresh_db  report an issue if a sls pkg definition
338857           id not a dict instead of aborting.
338858
338859       · PR #45446: (rallytime) Back-port #45390  to  2016.11.9  @  2018-01-16
338860         20:08:38 UTC
338861
338862         · PR  #45390:  (damon-atkins)  win_pkg: fix pkg.remove, pkg.list_pkgs
338863           (refs: #45446)
338864
338865         · 7322efba92 Merge pull request #45446 from rallytime/bp-45390
338866
338867         · 69f045ea24 lint too-many-blank-lines
338868
338869         · 10a7501ede Update release notes
338870
338871         · 6f2affe01c fix pkg.remove, pkg.list_pkgs
338872
338873       · PR #45424: (twangboy)  Fix  some  issues  with  reg.py  @  2018-01-13
338874         19:34:47 UTC
338875
338876         · b0ece9f4d4 Merge pull request #45424 from twangboy/win_reg
338877
338878         · 30f06205f7 Fix some issues with reg.py
338879
338880       · PR #45327: (lomeroe) Backport #44861 to 2016.11 @ 2018-01-08 21:10:41
338881         UTC
338882
338883         · PR #44861:  (twangboy)  Fix  win_lgpo  for  unknown  values  (refs:
338884           #45327)
338885
338886         · 0959ae4ea3 Merge pull request #45327 from lomeroe/bp-44861_2016.11
338887
338888         · 784139f734 Check for values other than 0 or 1
338889
338890       · PR  #45268: (damon-atkins) Fix pkg.install packagename version=latest
338891         i.e. if on an old version is installed @ 2018-01-08 17:34:15 UTC
338892
338893         · a6db5f95f0      Merge      pull      request      #45268       from
338894           damon-atkins/2016.11_win_pkg_pkg_install_latest
338895
338896         · 325a9f0f66 Update 2016.11.9.rst
338897
338898         · 4da9200b9c Update 2016.11.9.rst
338899
338900         · 126aee36ac Update 2016.11.9.rst
338901
338902         · 1c01967943 Update 2016.11.9.rst
338903
338904         · a0d89882b8 Fix pkg.install packagename version=latest i.e. if on an
338905           old version upgrade to the latest
338906
338907       · PR #45256: (rallytime)  Back-port  #45034  to  2016.11  @  2018-01-04
338908         14:25:42 UTC
338909
338910         · PR #45034: (brejoc) Fix for pidfile removal logging (refs: #45256)
338911
338912         · 1c5e905b61 Merge pull request #45256 from rallytime/bp-45034
338913
338914         · 68f971b38f Apply test fixes from #45034 to parsers_test.py
338915
338916         · 9454236694 Fix for pidfile removal logging
338917
338918       · ISSUE  saltstack/salt-jenkins#598:  (rallytime)  [oxygen] CentOS 7 is
338919         failing ~ 20  tests  in  the  integration.ssh.test_state.SSHStateTest
338920         (refs: #45209)
338921
338922       · PR  #45235:  (rallytime)  Back-port  #45209  to  2016.11 @ 2018-01-02
338923         20:20:15 UTC
338924
338925         · PR #45209: (gtmanfred) enable UsePAM for ssh tests (refs: #45235)
338926
338927         · b75f50afe3 Merge pull request #45235 from rallytime/bp-45209
338928
338929         · 2d0a9bbf7e enable UsePAM for ssh tests
338930
338931       · PR #44965: (gtmanfred) check if VALUE is a string_type  @  2018-01-02
338932         16:42:39 UTC
338933
338934         · 3ab962b01a Merge pull request #44965 from gtmanfred/2016.11
338935
338936         · a5d8a6340e check if VALUE is a string_type
338937
338938       · ISSUE  #27160:  (martinadolfi)  salt.states.mount  persistence  error
338939         using spaces in route (refs: #45232)
338940
338941       · PR  #45232:  (rasathus)  Backport  #27160  to  2016.11  @  2018-01-02
338942         15:48:22 UTC
338943
338944         · 40fb30f63f Merge pull request #45232 from rasathus/2016.11
338945
338946         · 7a2bd8f49b Merge branch '2016.11' into 2016.11
338947
338948       · ISSUE  #44516:  (doesitblend)  Windows  PY3 Minion Returns UTF16 Uni‐
338949         codeError (refs: #44944, #45161)
338950
338951       · PR #45161: (lomeroe) Backport #44944 to 2016.11 @ 2017-12-30 13:19:35
338952         UTC
338953
338954         · PR  #44944: (lomeroe) win_lgpo registry.pol encoding updates (refs:
338955           #45161)
338956
338957         · 707ef55175 Merge pull request #45161 from lomeroe/bp-44944_2016.11
338958
338959         · 0a4c6b5a83 remove references to six.unichr
338960
338961         · f3196d795d lint fixes for static regexes
338962
338963         · 11b637d108 lint fixes
338964
338965         · c14d6282ad do not decode registry.pol file wholesale,  but  instead
338966           decode individual elements of the file
338967
338968       · ISSUE  #45188:  (jak3kaj)  salt  state  status.process always returns
338969         false (refs: #45199)
338970
338971       · PR #45199: (gtmanfred) status.pid returns pid ids not process names @
338972         2017-12-28 19:06:11 UTC
338973
338974         · 6f52034e08 Merge pull request #45199 from gtmanfred/status
338975
338976         · fb07f9ea7d status.pid returns pid ids not process names
338977
338978       · ISSUE  #44728: (casselt) Nodegroups can not be defined by glob with ?
338979         or seq (refs: #45118)
338980
338981       · PR #45118: (garethgreenaway) [2016.11] Fix  to  allow  nodegroups  to
338982         include sequences @ 2017-12-27 18:49:10 UTC
338983
338984         · d3381e27d0    Merge   pull   request   #45118   from   garethgreen‐
338985           away/44728_nodegroups_seq
338986
338987         · 0ff811de70 Swapping import to be the old path for 2016.11
338988
338989         · b3e2f388f5 Fix to allow nodegroups to include sequences
338990
338991       · PR #45127: (twangboy) Fix issue with 1641 return  code  @  2017-12-22
338992         15:18:28 UTC
338993
338994         · f969aca3a3 Merge pull request #45127 from twangboy/win_fix_pkg
338995
338996         · 14639739f2 Fix issue with 1641 return code
338997
338998       · PR  #45137:  (twangboy)  Catch  correct  error  type in list_keys and
338999         list_values @ 2017-12-22 14:45:22 UTC
339000
339001         · dc357b39f0    Merge    pull    request    #45137    from     twang‐
339002           boy/win_fix_reg_tests
339003
339004         · b6f4ef8d73 Catch correct error type in list_keys and list_values
339005
339006       · PR  #45130:  (rallytime)  Resolve  groups  for  salt api @ 2017-12-21
339007         20:38:32 UTC
339008
339009         · 0aa1662731 Merge pull request #45130 from rallytime/api-groups
339010
339011         · 2dcc8df845 Resolve groups for salt api
339012
339013       · PR #45114: (twangboy) Move pam library load  to  try/except  block  @
339014         2017-12-21 14:37:17 UTC
339015
339016         · 7dc3cc4641 Merge pull request #45114 from twangboy/win_fix_pam
339017
339018         · cf5eae1f77 Move pam library load to try/except block
339019
339020       · ISSUE  #45049: (vernondcole) salt cloud module documentation is miss‐
339021         ing from the index. (refs: #45070)
339022
339023       · PR #45100: (rallytime)  Back-port  #45070  to  2016.11  @  2017-12-20
339024         14:55:01 UTC
339025
339026         · PR  #45070:  (vernondcole)  insert  clouds  modules in index (refs:
339027           #45100)
339028
339029         · 7e128e8f15 Merge pull request #45100 from rallytime/bp-45070
339030
339031         · 0bdb46dab9 add clouds modules to index
339032
339033       · PR #45098: (rallytime)  Back-port  #45092  to  2016.11  @  2017-12-20
339034         14:40:51 UTC
339035
339036         · PR   #45092:  (terminalmage)  Fix  integration.states.test_pip.Pip‐
339037           StateTest.test_pip_installed_weird_install (refs: #45098)
339038
339039         · bdf93f339d Merge pull request #45098 from rallytime/bp-45092
339040
339041         · 80b6bd6813           Fix           integration.states.test_pip.Pip‐
339042           StateTest.test_pip_installed_weird_install
339043
339044       · ISSUE  #41044:  (pirxthepilot)  user.present  'date' parameter is not
339045         applying (refs: #44078)
339046
339047       · PR #44078: (rossengeorgiev) user.present: allow date param to be 0  @
339048         2017-12-19 15:59:29 UTC
339049
339050         · 324b7d4058 Merge pull request #44078 from rossengeorgiev/fix-41044
339051
339052         · a81a6fe23c fix #41044; allow for date param to be 0
339053
339054       · PR  #44970:  (rallytime)  Update  bootstrap script to latest release:
339055         2017.12.13 @ 2017-12-19 15:49:05 UTC
339056
339057         · 48a59761df Merge pull request  #44970  from  rallytime/update-boot‐
339058           strap-script
339059
339060         · b2c8057427 Update bootstrap script to latest release: 2017.12.13
339061
339062       · ISSUE  #45036:  (dijit)  Quiet installation of packaged minions fails
339063         due to redistributable not being quietly  installed  [py3]  [Windows]
339064         (refs: #45040)
339065
339066       · PR  #45069:  (rallytime)  Back-port  #45040  to  2016.11 @ 2017-12-19
339067         14:25:57 UTC
339068
339069         · PR #45040: (dijit) Installation Fails on headless machines.  (refs:
339070           #45069)
339071
339072         · 637fdaed58 Merge pull request #45069 from rallytime/bp-45040
339073
339074         · aa438e1605 Installation Fails on headless machines.
339075
339076              · de53c45c29 Backport #27160 to 2016.11
339077
339078       · ISSUE #41286: (arthtux) boto_vpc.accept_vpc_peering_connection wait a
339079         object  (refs: #41305)
339080
339081       · PR #44969: (rallytime)  Back-port  #41305  to  2016.11  @  2017-12-15
339082         17:22:18 UTC
339083
339084         · PR  #41305:  (arthtux) correct accept_vpc_peering_connection (refs:
339085           #44969)
339086
339087         · 4d6d640381 Merge pull request #44969 from rallytime/bp-41305
339088
339089         · 5c4bee43dc correct accept_vpc_peering_connection
339090
339091       · PR #45031:  (terminalmage)  Fix  invalid  exception  class  in  mysql
339092         returner @ 2017-12-15 15:00:15 UTC
339093
339094         · 10de468f13    Merge    pull    request    #45031   from   terminal‐
339095           mage/fix-mysql-returner
339096
339097         · f3bd12c27c Fix invalid exception class in mysql returner
339098
339099       · ISSUE #44820: (msteed) Custom returner breaks  manage  runner  (refs:
339100         #44958)
339101
339102       · PR  #44972:  (terminalmage)  Backport  #44958  to  2016.11  branch  @
339103         2017-12-14 16:56:02 UTC
339104
339105         · PR #44958: (terminalmage) Fix a race  condition  in  manage  runner
339106           (refs: #44972)
339107
339108         · 9a7406207f Merge pull request #44972 from terminalmage/bp-44958
339109
339110         · a416bf0112  No  need to manually do connect_pub, use listen=True in
339111           run_job
339112
339113         · 3ec004bd2e Fix a race condition in manage runner
339114
339115       · ISSUE #44378: (llua) minion: infinite loop during start when schedule
339116         key is null  (refs: #44385)
339117
339118       · PR #44385: (gtmanfred) schedule should be a dict in opts @ 2017-12-12
339119         20:44:02 UTC
339120
339121         · 1032ca3290 Merge pull request #44385 from gtmanfred/schedule
339122
339123         · 9e15c38da2 add comma
339124
339125         · 855d933cb7 schedule should be a dict
339126
339127       · ISSUE  #44734:  (cruscio)  Documentation  inconsistency  for   minion
339128         ping_interval timing (refs: #44770)
339129
339130       · PR   #44770:  (cruscio)  Fix  minion  ping_interval  documentation  @
339131         2017-12-11 19:50:19 UTC
339132
339133         · 68d901b12c Merge pull request #44770 from cruscio/2016.11
339134
339135         · e2682bf441 Fix minion ping_interval documentation
339136
339137       · ISSUE #44292: (andrew-regan) grains['virtual_subtype'] assignment for
339138         Docker broken on Mac (refs: #44335)
339139
339140       · PR #44335: (gtmanfred) add docker-ce to docker subtype grains check @
339141         2017-12-10 17:17:49 UTC
339142
339143         · d4ab55ec47 Merge pull request #44335 from gtmanfred/2016.11
339144
339145         · 3f1268d67f fix patching for python 2.6
339146
339147         · 1d0bd5bb32 Merge branch '2016.11' into 2016.11
339148
339149         · f02b02032d Merge pull request #4 from terminalmage/pr-44335
339150
339151           · b4eb1527a6 Add test for PR 44335
339152
339153         · a30af3252e add docker-ce to docker subtype grains check
339154
339155       · ISSUE #44530: (roaldnefs) Identifier not working in  salt.states.cron
339156         when special is used (refs: #44579)
339157
339158       · PR  #44579:  (roaldnefs)  Fix  bug  in  cron module and state - Fixes
339159         #44530 @ 2017-12-07 20:18:27 UTC
339160
339161         · bb1f8dceaf Merge pull request #44579 from  roaldnefs/fix-cron-iden‐
339162           tifier
339163
339164         · df73a4c051 Merge branch '2016.11' into fix-cron-identifier
339165
339166       · PR  #44852:  (damon-atkins)  win_pkg  fix  spelling  typos and minion
339167         option 2016.11 @ 2017-12-06 16:49:17 UTC
339168
339169         · af0131fa1f      Merge      pull      request      #44852       from
339170           damon-atkins/2016.11_win_pkg_typo_n_fix
339171
339172         · 0e7c19084f Lint: Remove extra whitespace
339173
339174         · 7c7e21f94d  Fix  spelling typo, and fix backwards campatible minion
339175           option for repo location
339176
339177       · ISSUE #44365: (icycle77) file.managed appears to  ignore  source_hash
339178         check (refs: #44794)
339179
339180       · PR   #44794:  (terminalmage)  Fix  regression  in  file.managed  when
339181         source_hash used with local file @ 2017-12-04 14:23:29 UTC
339182
339183         · 88c0d66b4e Merge pull request #44794 from terminalmage/issue44365
339184
339185         · 3b8b6f25e6 Remove debugging line
339186
339187         · 153bf45b03 Fix regression in  file.managed  when  source_hash  used
339188           with local file
339189
339190       · ISSUE #35777: (rallytime) Properly deprecate template context data in
339191         Fluorine (refs: #44738)
339192
339193       · ISSUE #35523: (rallytime) Come up with a reasonable  alternative  for
339194         lxc.edited_conf (refs: #44738)
339195
339196       · PR  #44738: (rallytime) Bump some deprecation warnings from Oxygen to
339197         Fluorine @ 2017-12-01 23:10:08 UTC
339198
339199         · c8bb9dfbbb  Merge  pull  request  #44738  from  rallytime/bump-oxy‐
339200           gen-warnings
339201
339202         · ead3c569e1 Bump deprecation warnings from Oxygen to Fluorine
339203
339204       · ISSUE  #44730:  (msciciel)  State  network.routes could not add route
339205         without gateway on centos7 (refs: #44741)
339206
339207       · PR #44741: (gtmanfred) if  gateway  is  not  specified  use  iface  @
339208         2017-12-01 23:09:03 UTC
339209
339210         · 88e3aab00d Merge pull request #44741 from gtmanfred/rhip
339211
339212         · 439dc8dce6 if gateway is not specified use iface
339213
339214       · ISSUE  #31405:  (SEJeff)  Salt leaves tmp file when file.managed dest
339215         file is immutable (refs: #44699)
339216
339217       · PR #44699: (jfindlay) utils/files.py remove temp file upon move fail‐
339218         ure @ 2017-12-01 15:03:54 UTC
339219
339220         · 97e0cf569c Merge pull request #44699 from jfindlay/attr_file
339221
339222         · 9e5a40ea7c Merge branch '2016.11' into attr_file
339223
339224         · 5c34607f6c utils/files remove temp file upon move failure
339225
339226       · ISSUE  #44556: (doesitblend) --static option doesn't return highstate
339227         output (refs: #44714)
339228
339229       · PR #44714: (rallytime) Allow --static option to  display  state  runs
339230         with highstate output @ 2017-12-01 14:31:19 UTC
339231
339232         · 7434e0afdf Merge pull request #44714 from rallytime/fix-44556
339233
339234         · 1bbe1abeb2  Allow  --static option to display state runs with high‐
339235           state output
339236
339237       · PR #44517: (whytewolf) Publish port doc missing @ 2017-11-28 21:50:19
339238         UTC
339239
339240         · 998d714ee7   Merge   pull   request   #44517   from  whytewolf/pub‐
339241           lish_port_doc_missing
339242
339243         · 4b5855283a missed one place where i didnt chanbge master_port  from
339244           my copy to publish_port
339245
339246         · e4610baea5 update doc to have publish port
339247
339248       · PR  #41279:  (Ch3LL)  Add  fqdn and dns core grain tests @ 2017-11-27
339249         21:28:10 UTC
339250
339251         · 6169b52749 Merge pull request #41279 from Ch3LL/add_grain_tests
339252
339253         · 1b64f15692 Merge branch '2016.11' into add_grain_tests
339254
339255         · 095f1b7d7a Merge branch '2016.11' into add_grain_tests
339256
339257         · 9ea4db4224 mock socket.getaddrinfo
339258
339259         · 78a07e30f4 add more fqdn tests and remove some of the mocking
339260
339261         · 5dbf4144ce add ipv6 in opts
339262
339263         · eabc1b4f9c Add fqdn and dns core grain tests
339264
339265              · 3ec4329307 Merge branch '2016.11' into fix-cron-identifier
339266
339267       · ISSUE #44544: (creideiki) pgjsonb returner  sets  wrong  timezone  on
339268         timestamps in database when using Python 2 (refs: #44563)
339269
339270       · PR  #44563:  (creideiki)  Send Unix timestamps to database in pgjsonb
339271         returner @ 2017-11-21 17:44:32 UTC
339272
339273         · dc6de050a9 Merge pull request #44563  from  creideiki/pgjsonb-time‐
339274           stamps-44544
339275
339276         · 231e412ca4 Merge branch '2016.11' into pgjsonb-timestamps-44544
339277
339278       · ISSUE   #44601:   (rallytime)   CherryPy  12.0  removed  support  for
339279         "engine.timeout_monitor.on" config option (refs: #44602)
339280
339281       · PR #44602: (rallytime) Handle timeout_monitor attribute error for new
339282         versions of CherryPy @ 2017-11-20 21:38:40 UTC
339283
339284         · 4369df020b Merge pull request #44602 from rallytime/fix-44601
339285
339286         · ff303fd060  Handle timeout_monitor/TimeoutError issues for new ver‐
339287           sions of CherryPy
339288
339289       · PR #44604: (lorengordon) Documents the exclude argument in state exe‐
339290         cution module @ 2017-11-20 18:19:18 UTC
339291
339292         · 4a4756fc37 Merge pull request #44604 from lorengordon/doc-exclude
339293
339294         · c4a6c40eb3 Documents the exclude argument in state execution module
339295
339296         · 15c445e6b9 Send Unix timestamps to database in pgjsonb
339297
339298              · 99fa05a456 Fix for bug in cron state
339299
339300              · 97328faeac Fix for bug in cron module
339301
339302       · PR  #44434: (whytewolf) add a note that describes grain rebuilding on
339303         restart and refresh @ 2017-11-14 11:21:54 UTC
339304
339305         · 91d46d4cfc Merge pull request #44434 from whytewolf/1837
339306
339307         · d148e39dda change from md to rst for code reference
339308
339309         · 955e305bda fix bad english, as requested by cachedout
339310
339311         · 7256fcc1c9 update note to take into account grains_cache
339312
339313         · 7a2981585e Merge branch '2016.11' into 1837
339314
339315         · aca0405b26 add a note that describes grain  rebuilding  on  restart
339316           and refresh
339317
339318       · ISSUE #41474: (dmaziuk) state.file.* line endings (refs: #44321)
339319
339320       · PR  #44321:  (gvengel)  Fix  file.line diff formatting.  @ 2017-11-13
339321         19:36:39 UTC
339322
339323         · a3bd99317f    Merge    pull    request    #44321     from     gven‐
339324           gel/fix-file-line-diff-output
339325
339326         · 69a50204a6 Add newline for lint.
339327
339328         · ef7b6bbb81 Fixed issue with file.line on Windows running Python 2.
339329
339330         · 8f89c99fa5  Fix  FileModuleTest  setUp and tearDown to work on Win‐
339331           dows.
339332
339333         · 3ac5391f5f Namespace missing functions for file.line on Windows.
339334
339335         · b2b8f075b9 Fixed test to work on Windows.
339336
339337         · 5a5a2dd026 Added integration test for issue #41474
339338
339339         · 24d7315f1a Fix file.line diff formatting.
339340
339341       · ISSUE #43417: (damon-atkins)  win_pkg:   pkg.install  and  pkg.remove
339342         general issues (refs: #43708)
339343
339344       · PR  #43708:  (damon-atkins) Merge Ready : Backport develop win_pkg to
339345         2016.11 with additional bug fixes @ 2017-11-13 19:33:41 UTC
339346
339347         · 9ca563718d      Merge      pull      request      #43708       from
339348           damon-atkins/2016.11_43417_Backport_and_Fixes
339349
339350         · 04d03ea6b8 Updated comment
339351
339352         · 1dd565e585    Merge    remote    branch   'upstream/2016.11'   into
339353           2016.11_43417_Backport_and_Fixes
339354
339355         · dd48ba2616   Merge   remote    branch    'upstream/2016.11'    into
339356           2016.11_43417_Backport_and_Fixes
339357
339358         · a0d08598bf dco fix
339359
339360         · 9467899fc6    Merge    remote    branch   'upstream/2016.11'   into
339361           2016.11_43417_Backport_and_Fixes
339362
339363         · 6dc180fd0e doco fixes
339364
339365         · 2496a42ea4 lint fix
339366
339367         · 2c937fbe19   Merge   remote    branch    'upstream/2016.11'    into
339368           2016.11_43417_Backport_and_Fixes
339369
339370         · c9c8c48a4d  all remove/install commands are passed to cmd.exe /s /c
339371           and commands are passed as strings to cmdmod
339372
339373         · 350244bd93 typo in comments and doc strings.
339374
339375         · ec31f5a9bd 2017.11/develop version() was ignoring saltenv setting.
339376
339377         · b314549a32 Backport of devlop to 2016.11 with additional bug fixes
339378
339379       · ISSUE #44423: (mtkennerly) The win_path.exists state  cannot  prepend
339380         to the very start of the PATH (refs: #44424)
339381
339382       · PR  #44477:  (rallytime)  Back-port  #44424  to  2016.11 @ 2017-11-13
339383         17:33:29 UTC
339384
339385         · PR #44424: (mtkennerly) Fix #44423: Handle index=None  and  index=0
339386           distinctly in the win_path.exists state (refs: #44477)
339387
339388         · 68ea22188e Merge pull request #44477 from rallytime/bp-44424
339389
339390         · 4a9f8dcc96 Fix #44423: Handle index=None and index=0 distinctly
339391
339392       · ISSUE  #44034:  (seanjnkns)  salt-call  pillar  overrides  broken  in
339393         2016.11.8 and 2017.7.2 (refs: #44483)
339394
339395       · PR #44483: (terminalmage)  salt-call:  account  for  instances  where
339396         __pillar__ is empty @ 2017-11-13 17:30:36 UTC
339397
339398         · 2c89050a24 Merge pull request #44483 from terminalmage/issue44034
339399
339400         · a9db8becea  salt-call:  account  for  instances where __pillar__ is
339401           empty
339402
339403       · PR #44489: (whytewolf) update log-granular-levels  to  describe  what
339404         they are filtering on @ 2017-11-13 17:27:37 UTC
339405
339406         · b5c2028680 Merge pull request #44489 from whytewolf/1956_log-granu‐
339407           lar-levels
339408
339409         · 9cdeb4e903 update log-granular-levels to  describe  what  they  are
339410           filtering on
339411
339412       · PR  #44193:  (twangboy)  Fix  reg.py  for  use  with  LGPO  module  @
339413         2017-11-10 19:01:17 UTC
339414
339415         · ea07f9c54c Merge pull request #44193 from twangboy/win_fix_reg
339416
339417         · 44d6d9f46d Remove unused import (lint)
339418
339419         · f7502436bd Fix various issues
339420
339421         · 221e6e3b91 make salt.utils.to_unicode return none when passed none
339422
339423         · ce41acc788 Fix many issues with reg.py
339424
339425         · 4a19df1f7f Use six.text_type instead of str
339426
339427         · 1b12acd303 Check type before casting
339428
339429         · 03fa37b445 Cast vdata to it's proper type
339430
339431       · PR #43863: (nicholasmhughes) Atomicfile  only  copies  mode  and  not
339432         user/group perms @ 2017-11-10 18:47:55 UTC
339433
339434         · ed8da2450b Merge pull request #43863 from nicholasmhughes/fix-atom‐
339435           icfile-permission-copy
339436
339437         · ea852ec5d3 remove index use with stat module attributes
339438
339439         · dbeeb0e917  fixes  #38452  atomicfile  only  copies  mode  and  not
339440           user/group perms
339441
339442       · ISSUE  #39901:  (seanjnkns)  network.managed  ipaddrs  ignored (refs:
339443         #44260)
339444
339445       · PR #44260: (seanjnkns) Fixes #39901  for  RH/CentOS  7  @  2017-11-07
339446         23:14:59 UTC
339447
339448         · a66cd67d15 Merge pull request #44260 from seanjnkns/issue-39901
339449
339450         · ed8cccf457 #39901: Fix pylint
339451
339452         · 43c81dfdee #39901: Add unit tests
339453
339454         · 613d500876 Merge branch '2016.11' into issue-39901
339455
339456         · b97e8046ca Utilize salt.utils.validate.net.* and _raise_error_iface
339457
339458         · 6818f3631d Fixes #39901 for RH/CentOS 7
339459
339460       · PR  #44383:  (gtmanfred)  switch  salt-jenkins  over to saltstack for
339461         kitchen-salt tests @ 2017-11-03 19:56:48 UTC
339462
339463         · 5e289f42ba Merge pull request #44383 from gtmanfred/2016kitchen
339464
339465         · b65f4ea4ea switch salt-jenkins over to saltstack
339466
339467       · PR #44173: (twangboy) Use google style docstrings in win_system.py  @
339468         2017-10-31 17:56:34 UTC
339469
339470         · cab54e34b5 Merge pull request #44173 from twangboy/win_system_docs
339471
339472         · 8e111b413d Fix some of the wording and grammer errors
339473
339474         · a12bc5ae41 Use google style docstrings
339475
339476       · PR  #44304:  (jfindlay)  states.cron  identifier  defaults  to name @
339477         2017-10-31 16:39:47 UTC
339478
339479         · 7aaea1d179 Merge pull request #44304 from jfindlay/cron_id
339480
339481         · cc038c5bec states.cron identifier defaults to name
339482
339483       · ISSUE #44313: (rossengeorgiev) salt-ssh: --user option  missing  from
339484         the cli documentation (refs: #44322)
339485
339486       · PR   #44322:   (rossengeorgiev)  updated  CLI  docs  for  salt-ssh  @
339487         2017-10-30 21:39:23 UTC
339488
339489         · e4dbbde734   Merge   pull    request    #44322    from    rossenge‐
339490           orgiev/saltssh-docs-update
339491
339492         · b18f2e5a6d fix program name and description for --static
339493
339494         · 5b10918f02 updated CLI docs for salt-ssh
339495
339496       · PR  #44345:  (gtmanfred) remove binding from erb template rendering @
339497         2017-10-30 20:57:43 UTC
339498
339499         · 4e6f09e3eb Merge pull request #44345 from gtmanfred/2016kitchen
339500
339501         · 79b8b2d0bf remove binding
339502
339503       · PR  #44342:  (gtmanfred)  render  template  files  platforms.yml  and
339504         driver.yml @ 2017-10-30 20:04:00 UTC
339505
339506         · 209847c8c2 Merge pull request #44342 from gtmanfred/2016kitchen
339507
339508         · c50508f0b7 render template files platforms.yml and driver.yml
339509
339510       · ISSUE  #44336: (corywright) Docs for archive.tar should not use lead‐
339511         ing dash for tar options (refs: #44339)
339512
339513       · PR #44339: (corywright) Remove  leading  dash  from  options  in  ar‐
339514         chive.tar docs (2016.11) @ 2017-10-30 19:00:34 UTC
339515
339516         · 1be65224cb     Merge     pull    request    #44339    from    cory‐
339517           wright/issue-44336-fix-archive-tar-docs-2016-11
339518
339519         · 9c1c35a59f Remove leading dash (-) from options in archive.tar doc‐
339520           umentation
339521
339522       · ISSUE  #44272:  (gurubert)  [patch]  win_service.stop()  fails (refs:
339523         #44295)
339524
339525       · PR #44295: (gurubert) fixes issue #44272 @ 2017-10-27 14:28:57 UTC
339526
339527         · bebc33daf5   Merge   pull   request   #44295   from    HeinleinSup‐
339528           port/issue44272
339529
339530         · f972715a45 fixes issue #44272
339531
339532       · PR #44286: (gtmanfred) use our git repo for kitchen-salt @ 2017-10-25
339533         19:27:32 UTC
339534
339535         · e7ca9f8407 Merge pull request #44286 from gtmanfred/2016.11
339536
339537         · 193e715e37 use our git repo for kitchen-salt
339538
339539       · PR #44259: (gtmanfred) begin switching in  kitchen-salt  for  running
339540         the test suite @ 2017-10-25 13:30:35 UTC
339541
339542         · 8a1ea165af Merge pull request #44259 from gtmanfred/2016.11
339543
339544         · 56a3ad8f68 fix pylint comments
339545
339546         · 4add666db1 add comment to Gemfile and move copyartifacts
339547
339548         · b4c8f7eb57 fix pylint
339549
339550         · 392fd4f837 try newest salttesting
339551
339552         · 79251287d0 add logging
339553
339554         · 38963d5a82 use transport if not set in state_file
339555
339556         · 10e309a64f which vagrant should go to stderr
339557
339558         · 9307564de0 fix output columns
339559
339560         · 2da22f87e1 test opennebula
339561
339562         · 9f38f16905 add opennebula to Gemfile
339563
339564         · 7465f9b27a add script for copying back artifacts
339565
339566         · 255118cfd7 run tests with kitchen
339567
339568       · PR #44268: (twangboy) Fix typo @ 2017-10-25 13:01:35 UTC
339569
339570         · 9d6bc8509b     Merge    pull    request    #44268    from    twang‐
339571           boy/win_fix_lgpo_typo
339572
339573         · a6a4c10a77 Fix typo
339574
339575       · PR #44269: (terminalmage)  Fix  log  message  in  salt.utils.gitfs  @
339576         2017-10-25 13:00:58 UTC
339577
339578         · 0beb65a283 Merge pull request #44269 from terminalmage/fix-log-mes‐
339579           sage
339580
339581         · bc9cd65496 Fix log message in salt.utils.gitfs
339582
339583       · ISSUE #44155: (rhoths) file.directory with clean not triggering  lis‐
339584         tener in test mode (refs: #44160)
339585
339586       · PR  #44160:  (gtmanfred)  add  changes  to  test  return @ 2017-10-23
339587         14:35:21 UTC
339588
339589         · 304dd2529d Merge pull request #44160 from gtmanfred/directory
339590
339591         · a7d3d668f4 missed removing changes in the next test
339592
339593         · ac0b5ec440 fix test
339594
339595         · d3d00c3e62 add changes to test return
339596
339597       · PR #44205: (rallytime)  Back-port  #44177  to  2016.11  @  2017-10-23
339598         14:09:07 UTC
339599
339600         · PR #44177: (senthilkumar-e) Fixing default redis.host in documenta‐
339601           tion (refs: #44205)
339602
339603         · e10395483d Merge pull request #44205 from rallytime/bp-44177
339604
339605         · b9940f8521 Fixing default redis.host in documentation
339606
339607       · ISSUE #44140: (vtolstov) incorrect network interfaces  settings  with
339608         network.managed under debian jessie (refs: #44167)
339609
339610       · PR  #44167: (garethgreenaway) Fixes to modules/debian_ip @ 2017-10-20
339611         14:25:39 UTC
339612
339613         · 09ddfd0c08   Merge   pull   request   #44167   from    garethgreen‐
339614           away/44140_debian_ip_fixes
339615
339616         · 5f7555846f  When looping through the various pre, post, up and down
339617           commands put them into the interface dict using the right  internet
339618           family variable.
339619
339620       · PR  #43830:  (rallytime)  Back-port  #43644  to  2016.11 @ 2017-10-19
339621         22:57:51 UTC
339622
339623         · PR #43644: (defanator) Several fixes for  RDS  DB  parameter  group
339624           management (refs: #43830)
339625
339626         · 9f9e936b52 Merge pull request #43830 from rallytime/bp-43644
339627
339628         · 12845ae802 Several fixes for RDS DB parameter group management
339629
339630       · ISSUE  #43936:  (oeuftete)  manage.present  still reports lost minion
339631         (refs: #43994)
339632
339633       · ISSUE #38367: (tyeapple) logic error in  connected_ids   function  of
339634         salt/utils/minions.py   when   using   include_localhost=True  (refs:
339635         #43994)
339636
339637       · PR #43994: (oeuftete) Fix  manage.present  to  show  lost  minions  @
339638         2017-10-19 22:27:59 UTC
339639
339640         · 07db6a3d8b  Merge pull request #43994 from oeuftete/fix-manage-run‐
339641           ner-presence
339642
339643         · f3980d7d83 Fix manage.present to show lost minions
339644
339645       · ISSUE #44150: (rossengeorgiev) version param in pkg.installed  broken
339646         in 2016.11.8/2017.7.2 in EL6-7 (refs: #44188)
339647
339648       · PR  #44188:  (terminalmage)  yumpkg: Check pkgname instead of name to
339649         see if it is a kernel pkg @ 2017-10-19 22:20:35 UTC
339650
339651         · a07537e258 Merge pull request #44188 from terminalmage/issue44150
339652
339653         · 0692f442db yumpkg: Check pkgname instead of name to see if it is  a
339654           kernel pkg
339655
339656       · ISSUE #43427: (tylerjones4508) Salt-Cloud  There was a profile error:
339657         invalid literal for int() with base 10: (refs: #44089)
339658
339659       · PR #44158: (rallytime)  Back-port  #44089  to  2016.11  @  2017-10-19
339660         20:38:15 UTC
339661
339662         · PR  #44089:  (cetanu) Catch on empty Virtualbox network addr #43427
339663           (refs: #44158)
339664
339665         · 715edc0cea Merge pull request #44158 from rallytime/bp-44089
339666
339667         · 534faf0b7a Catch on empty Virtualbox network addr #43427
339668
339669       · ISSUE #43307: (marek-knappe) Filesystem creation is failing on  newly
339670         created LV (refs: #44029)
339671
339672       · PR  #44131:  (rallytime)  Back-port  #44029  to  2016.11 @ 2017-10-17
339673         15:05:39 UTC
339674
339675         · PR #44029: (msummers42) addresses  issue  #43307,  disk.format_  to
339676           disk.format (refs: #44131)
339677
339678         · 0cd493b691 Merge pull request #44131 from rallytime/bp-44029
339679
339680         · bebf301976  fixed  test  addressing  issue  #43307, disk.format_ to
339681           disk.format
339682
339683         · b4ba7ae2fc addresses issue #43307, disk.format_ to disk.format
339684
339685       · ISSUE #44087: (mfussenegger) Using  state.highstate  with  terse=true
339686         prevents useful error output  (refs: #44093)
339687
339688       · PR  #44093:  (gtmanfred)  don't  filter  if  return  is  not a dict @
339689         2017-10-16 19:13:19 UTC
339690
339691         · 3a68e356f8 Merge pull request #44093 from gtmanfred/fix-44087
339692
339693         · 5455c5053b fix pylint
339694
339695         · f749cafa25 don't filter if return is not a dict
339696
339697       · PR #44122: (cachedout) Add note about GPG signing to  PR  template  @
339698         2017-10-16 19:09:38 UTC
339699
339700         · c785d7a847 Merge pull request #44122 from cachedout/gpg_pr_template
339701
339702         · e41e3d76be Typo fix
339703
339704         · 37c7980880 Add note about GPG signing to PR template
339705
339706       · PR  #44124:  (rallytime)  [2016.11]  Merge  forward from 2016.11.8 to
339707         2016.11 @ 2017-10-16 19:07:14 UTC
339708
339709         · bf90ea1f51 Merge pull request #44124 from rallytime/merge-2016.11
339710
339711         · 59861291c8 Merge branch '2016.11.8' into '2016.11'
339712
339713           · 57623e2abe Merge pull request #44028 from rallytime/bp-44011
339714
339715             · 89e084bda3 Do not allow IDs with null bytes in decoded payloads
339716
339717             · 206ae23f15 Don't allow path separators in minion ID
339718
339719       · PR #44097: (gtmanfred) OpenNebula does not require the template_id to
339720         be specified @ 2017-10-16 18:36:17 UTC
339721
339722         · 13f3ffa83a Merge pull request #44097 from gtmanfred/openneb
339723
339724         · c29655b2c2 Merge branch '2016.11' into openneb
339725
339726         · bd2490b149 OpenNebula does not require the template_id to be speci‐
339727           fied
339728
339729       · PR #44110: (roaldnefs) Format fix code example local returner  doc  @
339730         2017-10-16 15:57:50 UTC
339731
339732         · ac3e4df964     Merge    pull    request    #44110    from    roald‐
339733           nefs/fix-doc-local-returner
339734
339735         · efd58f7594 Merge branch '2016.11' into fix-doc-local-returner
339736
339737       · PR #44092: (techhat) Made sure that unicoded data is sent to sha256()
339738         @ 2017-10-13 21:20:12 UTC
339739
339740         · c960ca32c2 Merge pull request #44092 from techhat/awsunicode
339741
339742         · bbd9db4d00 One more encoding
339743
339744         · 0e8b325667 Apparently __salt_system_encoding__ is a thing
339745
339746         · 1e7211838d Use system encoding
339747
339748         · 1af21bbe5e Made sure that unicoded data is sent to sha256()
339749
339750       · ISSUE #43581: (jcourington) cherrypy stats issue (refs: #44021)
339751
339752       · PR  #44021:  (whiteinge)  Also  catch  cpstats AttributeError for bad
339753         CherryPy release ~5.6.0 @ 2017-10-12 18:11:41 UTC
339754
339755         · PR #42655: (whiteinge) Reenable cpstats  for  rest_cherrypy  (refs:
339756           #44021)
339757
339758         · PR  #33806:  (cachedout)  Work  around upstream cherrypy bug (refs:
339759           #42655)
339760
339761         · d89c317d96      Merge      pull      request      #44021       from
339762           whiteinge/cpstats-attribute-error
339763
339764         · bf14e5f578  Also  catch  cpstats  AttributeError  for  bad CherryPy
339765           release ~5.6.0
339766
339767       · PR #44025: (dayid) Typo correction of lover  to  lower  @  2017-10-11
339768         17:31:45 UTC
339769
339770         · bbdabe242a Merge pull request #44025 from dayid/lover_typo
339771
339772         · 385980c21a         Merge         branch         '2016.11'        of
339773           https://github.com/saltstack/salt into lover_typo
339774
339775         · 266dc00a23 Typo correction of lover to lower
339776
339777       · PR #44030: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
339778         @ 2017-10-11 13:01:42 UTC
339779
339780         · d8f3891a5e Merge pull request #44030 from rallytime/merge-2016.11
339781
339782         · 53eaf0d75c Merge branch '2016.3' into '2016.11'
339783
339784         · 64fd839377 Merge pull request #44010 from Ch3LL/2016.3.7_follow_up
339785
339786           · 9a00302cd8 fix 2016.3.7 release notes merge conflict
339787
339788           · 63da1214db Do not allow IDs with null bytes in decoded payloads
339789
339790           · ee792581fc Don't allow path separators in minion ID
339791
339792           · 8aab65c718 fix 2016.3.7 release notes merge conflict
339793
339794         · bd73dcb02c Merge pull request #43977 from Ch3LL/3.8_sec
339795
339796         · 5fb3f5f6b1 Add Security Notes to 2016.3.8 Release Notes
339797
339798       · PR  #44011:  (Ch3LL)  Security  Fixes  for 2016.11.8 (refs: #44028) @
339799         2017-10-10 20:04:36 UTC
339800
339801         · 0dbf41e79e Merge pull request #44011 from Ch3LL/2016.11.7_follow_up
339802
339803         · c0149101c0 Do not allow IDs with null bytes in decoded payloads
339804
339805         · 19481423dd Don't allow path separators in minion ID
339806
339807       · PR #44023: (Ch3LL) Add  2016.11.9  Release  Note  File  @  2017-10-10
339808         20:03:03 UTC
339809
339810         · d61300df20 Merge pull request #44023 from Ch3LL/11.9rn
339811
339812         · 7f9015eb41 Add 2016.11.9 Release Note File
339813
339814       · PR  #44019: (benediktwerner) Added missing docs to the tutorial index
339815         and fixed  spelling mistake @ 2017-10-10 19:57:06 UTC
339816
339817         · 9ff53bf63a Merge pull request #44019 from benediktwerner/2016.11
339818
339819         · bc53598027 Fixed spelling mistake in salt_bootstrap tutorial
339820
339821         · 6c30344824 Added missing tutorial docs to the tutorial index
339822
339823       · PR #43955: (meaksh) Enable a new '--with-salt-version' parameter  for
339824         the "setup.py" script @ 2017-10-10 17:36:52 UTC
339825
339826         · 364523f5f8 Merge pull request #43955 from meaksh/2016.11-fix-2291
339827
339828         · a81b78381b Merge branch '2016.11' into 2016.11-fix-2291
339829
339830         · 44bc91bb98  Enable  '--with-salt-version'  parameter  for  setup.py
339831           script
339832
339833       · ISSUE #43945: (bobrik) kmod.present  doesn't  work  with  compiled-in
339834         modules (refs: #43962)
339835
339836       · PR  #43962: (bobrik) Report built-in modiles in kmod.available, fixes
339837         #43945 @ 2017-10-10 16:31:39 UTC
339838
339839         · fec714b91d Merge pull request #43962 from bobrik/kmod-built-in
339840
339841         · 95ab901553 Report built-in modiles in kmod.available, fixes #43945
339842
339843       · PR  #43960:   (cro)   Require   that   bindpw   be   non-empty   when
339844         auth.ldap.anonymous is False @ 2017-10-09 23:09:02 UTC
339845
339846         · e434c39c4e Merge pull request #43960 from cro/ldap_nopw_bind2
339847
339848         · 962a20cf4b  Require  that  bindpw  be non-empty if auth.ldap.anony‐
339849           mous=False
339850
339851         · 9df3d91d8f Release notes blurb for change to bindpw requirements
339852
339853       · PR #43991: (Ch3LL) Add Security Notes to  2016.3.8  Release  Notes  @
339854         2017-10-09 22:00:25 UTC
339855
339856         · e9dfda2177 Merge pull request #43991 from Ch3LL/3.8_sec_2
339857
339858         · 1977df8462 Add Security Notes to 2016.3.8 Release Notes
339859
339860       · ISSUE  #42947: (rossengeorgiev) Zenoss state changes production state
339861         even when test=true (refs: #43968)
339862
339863       · PR #43968: (rossengeorgiev) fix zenoss state  module  not  respecting
339864         test=true @ 2017-10-09 21:27:31 UTC
339865
339866         · 2346d2691e    Merge    pull    request    #43968   from   rossenge‐
339867           orgiev/fix-zenoss-prod_state
339868
339869         · e6d31c1ea6 fix zenoss state module not respecting test=true
339870
339871       · PR #43776: (Ch3LL) [2016.11] Bump  latest  and  previous  versions  @
339872         2017-10-09 17:22:15 UTC
339873
339874         · 8d56a5ac45 Merge pull request #43776 from Ch3LL/2016.11.8_docs
339875
339876         · f72bc00000 [2016.11] Bump latest and previous versions
339877
339878       · PR  #43976:  (Ch3LL)  Add Security Notes to 2016.11.8 Release Notes @
339879         2017-10-09 17:20:54 UTC
339880
339881         · 21bf71c3f5 Merge pull request #43976 from Ch3LL/11.8_sec
339882
339883         · f0c3184288 Add Security Notes to 2016.11.8 Release Notes
339884
339885       · PR #43973: (terminalmage) Fix grains.has_value when value is False  @
339886         2017-10-09 14:59:20 UTC
339887
339888         · 1d5397ab5b    Merge    pull    request    #43973   from   terminal‐
339889           mage/fix-grains.has_value
339890
339891         · bf45ae6e6a Fix grains.has_value when value is False
339892
339893       · PR #43888: (rallytime)  Back-port  #43841  to  2016.11  @  2017-10-05
339894         20:09:58 UTC
339895
339896         · PR #43841: (austinpapp) add -n with netstat so we don't resolve IPs
339897           (refs: #43888)
339898
339899         · 9ac3f2ea7b Merge pull request #43888 from rallytime/bp-43841
339900
339901         · 87d676f08a add -n with netstat so we don't resolve
339902
339903       · PR #43916: (dereckson) Fix typo in salt-cloud scaleway  documentation
339904         @ 2017-10-05 18:58:00 UTC
339905
339906         · f880ac4c08    Merge    pull    request    #43916    from    dereck‐
339907           son/fix-typo-cloud-scaleway
339908
339909         · 15b8b8a9f4 Fix typo in salt-cloud scaleway documentation
339910
339911       · PR #43884: (UtahDave) Update SaltConf banner per  Rhett's  request  @
339912         2017-10-04 13:08:30 UTC
339913
339914         · 2ab7549d48 Merge pull request #43884 from UtahDave/2016.11local
339915
339916         · e3b2857285 Merge branch '2016.11' into 2016.11local
339917
339918       · PR  #43869:  (terminalmage)  Only  join  cmd  if  it's not a string @
339919         2017-10-03 16:25:07 UTC
339920
339921         · 4b882d4272 Merge pull request #43869 from terminalmage/issue43522
339922
339923         · fe28b0d4fb Only join cmd if it's not a string
339924
339925         · 8c671fd0c1 Update SaltConf banner per Rhett's request
339926
339927       · ISSUE #43373: (rgcosma) use keyword breaks sls_id (refs: #43707)
339928
339929       · PR #43707: (terminalmage) Add missing support for  use/use_in  requi‐
339930         sites to state.sls_id @ 2017-10-01 14:07:53 UTC
339931
339932         · a2161efda3 Merge pull request #43707 from terminalmage/issue43373
339933
339934         · 3ebde1895f Merge branch '2016.11' into issue43373
339935
339936         · e580ed4caa Merge branch '2016.11' into issue43373
339937
339938         · 5b3be6e8af Fix failing unit test
339939
339940         · f73764481b   Add  missing  support  for  use/use_in  requisites  to
339941           state.sls_id
339942
339943       · PR #43807: (terminalmage) cmdmod: Don't list-ify string  commands  on
339944         Windows @ 2017-09-29 02:48:36 UTC
339945
339946         · 85b3aa332a Merge pull request #43807 from terminalmage/issue43522
339947
339948         · d8708bf698 cmdmod: Don't list-ify string commands on Windows
339949
339950       · PR #43768: (vutny) Fix Pylint deprecated option warnings @ 2017-09-28
339951         12:27:36 UTC
339952
339953         · ea8d273c2b Merge pull request #43768 from vutny/fix-pylint-depreca‐
339954           tion-warnings
339955
339956         · f8b3fa9da1 Merge branch '2016.11' into fix-pylint-deprecation-warn‐
339957           ings
339958
339959       · ISSUE #40311: (cralston0)  --hide-timeout  used  with  --output  json
339960         --static produces unparseable JSON (refs: #43772)
339961
339962       · PR  #43772: (gtmanfred) dont print Minion not responding with quiet @
339963         2017-09-27 15:39:18 UTC
339964
339965         · 1a8cc60bb4 Merge pull request #43772 from gtmanfred/2016.11
339966
339967         · 0194c60960 dont print Minion not responding with quiet
339968
339969       · PR #43747: (rallytime) Add GPG Verification section  to  Contributing
339970         Docs @ 2017-09-26 21:25:37 UTC
339971
339972         · 9dee896fb9  Merge  pull request #43747 from rallytime/gpg-verifica‐
339973           tion
339974
339975         · 7a70de19f4 Merge branch '2016.11' into gpg-verification
339976
339977       · ISSUE #43729:  (The-Loeki)  Docker  events  engine  broken  on  newer
339978         docker.py  (refs: #43733)
339979
339980       · PR  #43733:  (terminalmage)  Allow  docker_events engine to work with
339981         newer docker-py @ 2017-09-26 16:47:40 UTC
339982
339983         · 1cc3ad1c8d Merge pull request #43733 from terminalmage/issue43729
339984
339985         · 6e5c99bda0 Allow docker_events engine to work with newer docker-py
339986
339987       · ISSUE #42082: (stamak) [salt.utils.gitfs  ][CRITICAL]  Invalid  gitfs
339988         configuration  parameter  'saltenv'  in  remote git+ssh://git@ourgit‐
339989         server/ourgitrepo.git. (refs: #43458)
339990
339991       · PR   #43458:   (terminalmage)   Fix   missing   PER_REMOTE_ONLY    in
339992         cache.clear_git_lock runner @ 2017-09-26 14:39:01 UTC
339993
339994         · 5d38be4ff7 Merge pull request #43458 from terminalmage/issue42082
339995
339996         · 5f90812b12 Fix missing PER_REMOTE_ONLY in cache.clear_git_lock run‐
339997           ner
339998
339999              · 23bb4a5dde Add GPG Verification section to Contributing Docs
340000
340001       · ISSUE #43650: (rallytime) Review contributing documentation  and  the
340002         merge-forward process (refs: #43727)
340003
340004       · ISSUE #42706: (blarghmatey) Parallel Cache Failure (refs: #43018)
340005
340006       · PR   #43727:   (rallytime)  Revise  "Contributing"  docs:  merge-for‐
340007         wards/release branches explained!  @ 2017-09-26 12:43:16 UTC
340008
340009         · PR #43018: (jubrad) Update state.py (refs: #43727)
340010
340011         · 023a563657 Merge pull request #43727 from rallytime/fix-43650
340012
340013         · babad12d83  Revise  "Contributing"   docs:   merge-forwards/release
340014           branches explained!
340015
340016       · PR  #43648:  (rallytime)  Handle  VPC/Subnet  ID  not found errors in
340017         boto_vpc module @ 2017-09-22 17:40:43 UTC
340018
340019         · f46c858f25  Merge   pull   request   #43648   from   rallytime/han‐
340020           dle-boto-vpc-errors
340021
340022         · 54842b5012 Handle VPC/Subnet ID not found errors in boto_vpc module
340023
340024           · 651ed16ad3 Fix Pylint deprecated option warnings
340025
340026       · PR #43575: (akissa) Fix CSR not recreated if key changes @ 2017-09-21
340027         17:52:01 UTC
340028
340029         · 9dba34aa06 Merge pull request #43575 from akissa/fix-csr-not-recre‐
340030           ated-if-key-changes
340031
340032         · b1b4dafd39 Fix CSR not recreated if key changes
340033
340034       · ISSUE  #42165:  (arount)  top_file_merging_strategy:  merge  does not
340035         works (refs: #43415)
340036
340037       · PR #43672: (rallytime)  Back-port  #43415  to  2016.11  @  2017-09-21
340038         16:38:56 UTC
340039
340040         · PR #43415: (mattLLVW) Fix env_order in state.py (refs: #43672)
340041
340042         · 1d4fa48209 Merge pull request #43672 from rallytime/bp-43415
340043
340044         · 3fb42bc238 Fix env_order in state.py
340045
340046       · PR  #43673:  (rallytime)  Back-port  #43652  to  2016.11 @ 2017-09-21
340047         16:37:36 UTC
340048
340049         · PR #43652: (VertigoRay) Salt Repo has Deb 9 and 8 (refs: #43673)
340050
340051         · ff832ee607 Merge pull request #43673 from rallytime/bp-43652
340052
340053         · d91c47c6f0 Salt Repo has Deb 9 and 8
340054
340055       · PR #43677:  (terminalmage)  Fix  RST  headers  for  runners  (2016.11
340056         branch) @ 2017-09-21 16:35:57 UTC
340057
340058         · 365cb9fba8   Merge   pull  request  #43677  from  terminalmage/run‐
340059           ners-docs-2016.11
340060
340061         · 2fd88e94fa Fix RST headers for runners (2016.11 branch)
340062
340063       · PR #43534: (twangboy) Fixes removal of double-quotes  by  shlex_split
340064         in winrepo for 2016.11 @ 2017-09-21 14:39:42 UTC
340065
340066         · be38239e5d     Merge    pull    request    #43534    from    twang‐
340067           boy/win_fix_pkg.install_2016.11
340068
340069         · 1546c1ca04 Add posix=False to call to salt.utils.shlex_split
340070
340071         · PR #43663:  (moio)  multiprocessing  minion  option:  documentation
340072           fixes (develop) (refs: #43661)
340073
340074       · PR  #43661: (moio) multiprocessing minion option: documentation fixes
340075         (2016.11) @ 2017-09-21 13:02:27 UTC
340076
340077         · 0d3fd3d374 Merge pull request  #43661  from  moio/2016.11-multipro‐
340078           cessing-doc-fix
340079
340080         · 625eabb83f multiprocessing minion option: documentation fixes
340081
340082       · PR  #43646: (brejoc) Added tests for pid-file deletion in DaemonMixIn
340083         @ 2017-09-20 19:21:54 UTC
340084
340085         · 6b4516c025 Merge pull  request  #43646  from  brejoc/2016.11.4-pid‐
340086           file-tests
340087
340088         · 96f39a420b Fixed linting
340089
340090         · 08fba98735 Fixed several issues with the test
340091
340092         · 3a089e450f Added tests for pid-file deletion in DaemonMixIn
340093
340094       · PR  #43591:  (rallytime)  [2016.11]  Merge  forward from 2016.11.8 to
340095         2016.11 @ 2017-09-19 16:18:34 UTC
340096
340097         · cfb1625741 Merge pull request #43591 from rallytime/merge-2016.11
340098
340099         · 57b9d642c2 Merge branch '2016.11.8' into '2016.11'
340100
340101           · e83421694f Merge pull request #43550 from twangboy/osx_fix_prein‐
340102             stall_2016.11.8
340103
340104           · 1b0a4d39d2 Fix logic in /etc/paths.d/salt detection
340105
340106       · PR  #43572:  (vutny)  cloud.action:  list_nodes_min  returns  all EC2
340107         instances @ 2017-09-18 20:36:44 UTC
340108
340109         · 8671b91f62      Merge      pull      request      #43572       from
340110           vutny/fix-salt-cloud-list-min-instance-set
340111
340112         · 21966e7ce8 cloud.action: list_nodes_min returns all instances
340113
340114       · PR  #43461:  (twangboy)  Add  /norestart switch to vcredist install @
340115         2017-09-12 20:33:46 UTC
340116
340117         · f2b86fa2db Merge pull request #43461 from twangboy/win_norestart
340118
340119         · 2d269d1a76 Change all comment markers to '#'
340120
340121         · d80aea16cb Handle ErrorCodes returned by VCRedist installer
340122
340123         · fb31e9a530 Add /norestart switch to vcredist install
340124
340125       · ISSUE #43267: (brejoc) OSError - Can't delete PIDfile when  not  root
340126         (refs: #43366)
340127
340128       · PR  #43366:  (brejoc) Catching error when PIDfile cannot be deleted @
340129         2017-09-12 15:31:16 UTC
340130
340131         · 90e8ca9c36  Merge  pull  request  #43366  from  brejoc/2016.11.pid‐
340132           file-fix
340133
340134         · 6e3eb76c79 Removed unused format argument
340135
340136         · daf4948b3d Catching error when PIDfile cannot be deleted
340137
340138       · ISSUE  #43386:  (rajvidhimar)  Scheduler's  job_kwargs not working as
340139         expected. (refs: #43442)
340140
340141       · PR #43442: (garethgreenaway)  [2016.11] Fixes to scheduler __pub val‐
340142         ues in kwargs @ 2017-09-12 15:16:20 UTC
340143
340144         · a6c458607a    Merge   pull   request   #43442   from   garethgreen‐
340145           away/43386_2016_11_schedule_kwargs_pub
340146
340147         · e637ecbe86  Merge  branch   '2016.11'   into   43386_2016_11_sched‐
340148           ule_kwargs_pub
340149
340150         · 6114df8dc3  Adding  a  small  check to ensure we do not continue to
340151           populate kwargs with __pub_ items from the kwargs item.
340152
340153       · ISSUE #43223:  (rallytime)  Properly  deprecate  describe_route_table
340154         function in boto_vpc module (refs: #43445)
340155
340156       · PR #43456: (rallytime) Add Neon to version list @ 2017-09-12 15:00:27
340157         UTC
340158
340159         · PR   #43445:   (rallytime)    Bump    deprecation    warning    for
340160           boto_vpc.describe_route_table (refs: #43456)
340161
340162         · 3c429299f9 Merge pull request #43456 from rallytime/43445_follow_up
340163
340164         · 35c1d8898d Add Neon to version list
340165
340166       · PR  #43441: (meaksh) Use $HOME to get the user home directory instead
340167         using '~' char @ 2017-09-11 21:25:20 UTC
340168
340169         · 6db7a721c0      Merge      pull      request      #43441       from
340170           meaksh/2016.11-salt-bash-completion-fix
340171
340172         · be4f26ab21  Use  $HOME to get the user home directory instead using
340173           '~' char
340174
340175       · ISSUE #43223:  (rallytime)  Properly  deprecate  describe_route_table
340176         function in boto_vpc module (refs: #43445)
340177
340178       · PR    #43445:    (rallytime)    Bump    deprecation    warning    for
340179         boto_vpc.describe_route_table (refs: #43456)  @  2017-09-11  21:23:28
340180         UTC
340181
340182         · 05fff44a50  Merge  pull request #43445 from rallytime/bump-depreca‐
340183           tion-warning
340184
340185         · c91cd1c6d9 Bump deprecation warning for boto_vpc.describe_route_ta‐
340186           ble
340187
340188       · PR  #43432:  (rallytime)  Back-port  #43419  to  2016.11 @ 2017-09-11
340189         17:36:37 UTC
340190
340191         · PR #43419: (gtmanfred) make  cache  dirs  when  spm  starts  (refs:
340192           #43432)
340193
340194         · c57dc5f0e3 Merge pull request #43432 from rallytime/bp-43419
340195
340196         · c471a29527 make cache dirs when spm starts
340197
340198       · ISSUE #43387: (aogier) genesis.bootstrap debootstrap fails if no qemu
340199         specified (refs: #43390)
340200
340201       · PR #43390: (aogier) better qemu_static parameter mangle in deboostrap
340202         management, tests @ 2017-09-11 13:18:30 UTC
340203
340204         · 57cccd75d0 Merge pull request #43390 from aogier/43387-genesis-qemu
340205
340206         · 496f14a7e7 forgot to mock the proper one
340207
340208         · 51c7a1ba00 only check if static_qemu is_executable()
340209
340210         · 70642e495d  better  qemu_static parameter mangle in deboostrap man‐
340211           agement, tests
340212
340213       · ISSUE #43338: (LEMNX) virtualenv never-download (refs: #43356)
340214
340215       · PR  #43356:  (gtmanfred)  never-download  got  readded  @  2017-09-07
340216         17:46:05 UTC
340217
340218         · 6106aec696 Merge pull request #43356 from gtmanfred/2016.11
340219
340220         · 3f19b247f3 Add handler.messages back in for test comparison
340221
340222         · 9911b04208 fix test
340223
340224         · 3c6ae99a77 never-download got readded
340225
340226       · PR  #43325: (doesitblend) mine_interval option is minutes not seconds
340227         @ 2017-09-07 16:58:11 UTC
340228
340229         · e638fac54e    Merge    pull    request    #43325    from    doesit‐
340230           blend/salt-mine-doc-fix
340231
340232         · 1e94d0ac3a Lint: Remove trailing whitespace
340233
340234         · 51af8f8757 Fix mine_interval phrasing in default file
340235
340236         · ba0cdd4536 Fix phrasing for mine_interval description
340237
340238         · 9ff03c2d43   Update  Salt  Mine  documentation  to  show  that  the
340239           mine_interval option is configured in minutes.
340240
340241       · ISSUE #43086: (aogier) pylint: Instance of 'tuple'  has  no  'extend'
340242         member (no-member) (refs: #43105)
340243
340244       · PR  #43105:  (aogier) groupadd module: string does not have attribute
340245         'extend', plus homogeneous cmd parm building  @  2017-09-06  15:49:44
340246         UTC
340247
340248         · fc587f784a Merge pull request #43105 from aogier/43086-no-member
340249
340250         · 5111cf8bad Merge branch '2016.11' into 43086-no-member
340251
340252       · PR  #43333:  (damon-atkins)  Docs  are  wrong  cache_dir  (bool)  and
340253         cache_file (str) cannot be passed as params  +  1  bug  @  2017-09-06
340254         14:21:35 UTC
340255
340256         · d97a680372 Merge pull request #43333 from damon-atkins/2016.11
340257
340258         · 92de2bb498 Update doco
340259
340260         · fc9c61d12e Update win_pkg.py
340261
340262         · c91fc14704 Merge branch '2016.11' into 2016.11
340263
340264         · cb3af2bbbd  Docs  are  wrong  cache_dir (bool) and cache_file (str)
340265           cannot be passed on the cli (#2)
340266
340267       · ISSUE #43295: (V3XATI0N)  salt.cache.redis_cache  does  not  actually
340268         work. (refs: #43329)
340269
340270       · PR  #43361:  (rallytime)  Back-port  #43329  to  2016.11 @ 2017-09-05
340271         23:23:01 UTC
340272
340273         · PR #43329: (johnj) Fix #43295, better handling of  consul  initial‐
340274           ization (refs: #43361)
340275
340276         · 0c986f5eba Merge pull request #43361 from rallytime/bp-43329
340277
340278         · b09e5b4379  Fix  #43295,  better  handling of consul initialization
340279           issues
340280
340281       · ISSUE #35840: (junovitch) preserve_minion_cache is broken in  2016.3+
340282         (refs: #42903)
340283
340284       · PR  #42903: (junovitch) Fix 'preserve_minion_cache: True' functional‐
340285         ity (fixes #35840) @ 2017-09-05 22:57:14 UTC
340286
340287         · 22287439e6      Merge      pull      request      #42903       from
340288           junovitch/issue-35840-fix-preserve-minion-cache-2016.11
340289
340290         · c9d4fdbd45   Merge   branch   '2016.11'  into  issue-35840-fix-pre‐
340291           serve-minion-cache-2016.11
340292
340293         · 93a68e32a5  Merge  branch   '2016.11'   into   issue-35840-fix-pre‐
340294           serve-minion-cache-2016.11
340295
340296         · 079f097985  Fix  'preserve_minion_cache: True' functionality (fixes
340297           #35840)
340298
340299       · PR #43360: (terminalmage) Fix failing tests in  Fedora  @  2017-09-05
340300         22:23:13 UTC
340301
340302         · 4860e10757 Merge pull request #43360 from terminalmage/sj-496
340303
340304         · 433bca14b1 Fix KeyError in yumpkg configparser code on Python 3
340305
340306         · f6c16935d8 Move --showduplicates before repository-packages
340307
340308       · PR  #43244: (rallytime) Update release branch section with a few more
340309         details @ 2017-09-05 20:27:59 UTC
340310
340311         · 4ba2dbe41e    Merge    pull    request    #43244    from     rally‐
340312           time/release-branch-clarifications
340313
340314         · 0d5a46dbaa Update release branch section with a few more details
340315
340316       · ISSUE  #43348:  (9maf4you)  network.managed  doesn't work on CentOS 7
340317         (refs: #43359)
340318
340319       · PR #43359: (gtmanfred) ipaddr_start ipaddr_end for el7  @  2017-09-05
340320         19:44:24 UTC
340321
340322         · 1a012eb3d7 Merge pull request #43359 from gtmanfred/ipaddr
340323
340324         · 23d9abb560 ipaddr_start ipaddr_end for el7
340325
340326       · PR  #43247:  (rallytime)  Back-port  various  mention bot settings to
340327         2016.11 @ 2017-09-05 18:17:54 UTC
340328
340329         · PR #43206: (rallytime) Always notify tkwilliams when changes  occur
340330           on boto files (refs: #43247)
340331
340332         · PR  #43183:  (basepi)  Add  basepi to userBlacklist for mention bot
340333           (refs: #43247)
340334
340335         · PR #42923: (rallytime) Always notify ryan-lane when  changes  occur
340336           on boto files (refs: #43247)
340337
340338         · 8f88111be8   Merge  pull  request  #43247  from  rallytime/mention‐
340339           bot-backports
340340
340341         · 2b85757d73 Always notify tkwilliams  when  changes  occur  on  boto
340342           files
340343
340344         · 40b5a29f90 Add basepi to userBlacklist for mention bot
340345
340346         · bad8f56969 Always notify ryan-lane when changes occur on boto files
340347
340348       · PR #43277: (rallytime) Add CODEOWNERS file @ 2017-09-01 16:56:53 UTC
340349
340350         · 02867fdcd2 Merge pull request #43277 from rallytime/owners-file
340351
340352         · 2b4da0f0e7 Add CODEOWNERS file
340353
340354       · PR  #43312: (lordcirth) cron docs: Remind user to use quotes for spe‐
340355         cial strings @ 2017-09-01 16:24:15 UTC
340356
340357         · 1c1c484479 Merge pull request #43312 from lordcirth/fix-cron-docs
340358
340359         · ec94a13750 cron docs: Remind user to use quotes for special strings
340360
340361       · PR #43290: (lordcirth) Clarify file.py docs @ 2017-09-01 14:30:04 UTC
340362
340363         · 0d1ed4b750    Merge    pull    request    #43290     from     lord‐
340364           cirth/fix-file-path-docs
340365
340366         · 14a4591854 file.py docs: correct group and mode
340367
340368         · d4214ca283 file.py docs: specify absolute paths
340369
340370       · PR  #43274:  (terminalmage)  Use  six.integer_types  instead of int @
340371         2017-08-30 21:32:42 UTC
340372
340373         · 26ff89539e   Merge   pull    request    #43274    from    terminal‐
340374           mage/fix-int-types
340375
340376         · d533877743 Use six.integer_types instead of int
340377
340378         · 42a118ff56 fixed cmd composition and unified his making across mod‐
340379           ule
340380
340381         · 881f1822f2 Format fix code example local returner doc
340382
340383   Salt 2016.3.0 Release Notes - Codename Boron
340384   Known Issues
340385       WARNING:
340386          Some Salt Masters may need to apply a patch for Default Job Cache to
340387          prevent a possible crash
340388
340389          An  issue  exists  that  prevents  the Salt master from cleaning the
340390          default job cache.  This  issue  can  cause  an  overconsumption  of
340391          resources  resulting  in a crash. 2016.3.0 Salt masters should apply
340392          the patch in PR #33555. This issue will be addressed in 2016.3.1.
340393
340394       · issue #33516: When upgrading  from  2015.8.10  to  2016.3.0  on  cen‐
340395         tos7/redhat7 salt-minion must be restarted twice.
340396
340397       · issue #33517: SPM does not work on amazon linux 2015 in 2016.3.0.
340398
340399   Backwards-incompatible Changes
340400       · The  default  path for the extension_modules master config option has
340401         been changed.  Prior to this release, the location  was  a  directory
340402         named extmods in the Salt cachedir. On most platforms, this would put
340403         the extension_modules directory in /var/cache/salt/extmods.   It  has
340404         been  moved  one  directory  down,  into the master cachedir. On most
340405         platforms, this is /var/cache/salt/master/extmods. Most  users  won't
340406         have  to  worry  about this, but those who have been manually placing
340407         custom runners into  /var/cache/salt/extmods/runners,  or  outputters
340408         into  /var/cache/salt/extmods/output,  etc. will be affected by this.
340409         To transition, it is recommended  not  to  simply  move  the  extmods
340410         directory into /var/cache/salt/master, but to copy the custom modules
340411         into the salt fileserver under salt://_runners, salt://_output,  etc.
340412         and sync them using the functions in the new saltutil runner.
340413
340414       · The pkg.check_db function has been removed for yum/dnf.
340415
340416   Core Changes
340417       · The onchanges requisite now fires if any watched state changes. issue
340418         #19592.
340419
340420       · The ext_pillar functions must now accept a minion  ID  as  the  first
340421         argument.  This  stops  the  deprecation path started in Salt 0.17.x.
340422         Before this minion ID first argument was introduced,  the  minion  ID
340423         could  be  retrieved accessing __opts__['id'] losing the reference to
340424         the master ID initially set in opts. This  is  no  longer  the  case,
340425         __opts__['id'] will be kept as the master ID.
340426
340427       · Custom  types  can now be synced to the master using the new saltutil
340428         runner. Before, these needed to manually be placed under  the  exten‐
340429         sion_modules  directory.  This  allows  custom  modules  to easily be
340430         synced to the master to make them  available  when  compiling  Pillar
340431         data.  Just place custom runners into salt://_runners, custom output‐
340432         ters into  salt://_output,  etc.  and  use  the  functions  from  the
340433         saltutil runner to sync them.
340434
340435       · The client_acl configuration options were renamed to publisher_acl.
340436
340437       · Added a new --config-dump option (issue #26639).
340438
340439       · TCP  Transport  presence  events  were updated to work with a NAT (PR
340440         #30629).
340441
340442       · A minion_pillar_cache setting was added to save rendered pillar  data
340443         to  cachedir  for  later  use  when  file_client  is set to local (PR
340444         #30428).
340445
340446       · Added the ability for binary data (such as a license key) to be  dis‐
340447         tributed via pillar using the file.managed (issue #9569).
340448
340449       · Scheduled jobs now include success and retcode (issue #24237).
340450
340451       · The  saltversioninfo  grain  was  changed  from a string to a list to
340452         enable reading values by index. (PR #30082).
340453
340454       · A pillar_merge_lists option was added to enable  recursively  merging
340455         pillar  lists  by  aggregating  them  instead  of  replacing them (PR
340456         #30062).
340457
340458       · Grain values reported  by  Debian  8  (jessie)  when  lsb-release  is
340459         installed were updated for consistency (PR #28649).
340460
340461       · A  new  option  for  minions called master_tries has been added. This
340462         specifies the number of times a minion should attempt  to  contact  a
340463         master  to attempt a connection. This allows better handling of occa‐
340464         sional master downtime in a multi-master topology.
340465
340466       · The default directory for deploying the salt-thin tarball has changed
340467         for salt-ssh. It is now /var/tmp instead of /tmp. Users may also wish
340468         to delete any directories in /tmp ending with _salt/. (issue #32771)
340469
340470   External Module Packaging
340471       Modules may now be packaged via entry-points in setuptools. See  exter‐
340472       nal module packaging tutorial for more information.
340473
340474   Cloud Changes
340475       · Refactored  the  OpenNebula  driver and added numerous --function and
340476         --action commands to enhance Salt support for image, template,  secu‐
340477         rity  group,  virtual network and virtual machine management in Open‐
340478         Nebula.
340479
340480       · Added execution/state modules to support the deployment of  AWS  cog‐
340481         nito identity pools (PR #31094).
340482
340483       · Added  ability  to  set  tags  and listener policies on a AWS ELB (PR
340484         #27552).
340485
340486   Platform Changes
340487       · Renamed modules related to macOS. The following module filenames were
340488         changed.  The virtual name remained unchanged.
340489
340490       · PR ##30558: renamed osxdesktop.py to mac_desktop.py
340491
340492       · PR ##30557: renamed macports.py to mac_ports.py
340493
340494       · PR ##30556: renamed darwin_sysctl.py to mac_sysctl.py
340495
340496       · PR ##30555: renamed brew.py to mac_brew.py
340497
340498       · PR ##30552: renamed darwin_pkgutil.py to mac_pkgutil.py
340499
340500   Package Support
340501       · Ubuntu  Xenial:  Packages for Ubuntu Xenial (16.04) are available for
340502         2016.3.0 and onwards. See repo.saltstack.com  for  more  information.
340503         Note  that  Xenial  comes  with  Debian's  packaged  version  of Salt
340504         2015.8.8 and official repo.saltstack.com packages are  available  for
340505         2015.8 releases beginning with Salt 2015.8.11.
340506
340507   Proxy Minion Changes
340508       The deprecated config option enumerate_proxy_minions has been removed.
340509
340510       As mentioned in earlier documentation, the add_proxymodule_to_opts con‐
340511       figuration variable defaults to False in this release.  This  means  if
340512       you  have proxymodules or other code looking in __opts__['proxymodule']
340513       you will need to set this variable in  your  /etc/salt/proxy  file,  or
340514       modify your code to use the __proxy__ injected variable.
340515
340516       The  __proxyenabled__  directive  now  only applies to grains and proxy
340517       modules themselves.  Standard execution modules and state  modules  are
340518       not prevented from loading for proxy minions.
340519
340520       Support has been added to Salt's loader allowing custom proxymodules to
340521       be placed in salt://_proxy.  Proxy minions that need these modules will
340522       need  to  be restarted to pick up any changes.  A corresponding utility
340523       function, saltutil.sync_proxymodules, has been added to sync these mod‐
340524       ules to minions.
340525
340526       Enhancements in grains processing have made the __proxyenabled__ direc‐
340527       tive somewhat redundant in dynamic grains code.  It is still  required,
340528       but  best  practices  for the __virtual__ function in grains files have
340529       changed.  It is now recommended that the __virtual__ functions check to
340530       make  sure  they  are  being  loaded for the correct proxytype, example
340531       below:
340532
340533          def __virtual__():
340534              '''
340535              Only work on proxy
340536              '''
340537              try:
340538                  if salt.utils.is_proxy() and \
340539                     __opts__['proxy']['proxytype'] == 'ssh_sample':
340540                      return __virtualname__
340541              except KeyError:
340542                  pass
340543
340544              return False
340545
340546       NOTE:
340547          salt.utils.is_proxy()   has   been   renamed   to   salt.utils.plat‐
340548          form.is_proxy as of the Oxygen release.
340549
340550       The  try/except  block  above  exists because grains are processed very
340551       early in the proxy minion startup process, sometimes earlier  than  the
340552       proxy key in the __opts__ dictionary is populated.
340553
340554       Grains  are  loaded so early in startup that no dunder dictionaries are
340555       present, so __proxy__, __salt__, etc. are not available.  Custom grains
340556       located  in  /srv/salt/_grains and in the salt install grains directory
340557       can now take a single argument, proxy, that is identical to  __proxy__.
340558       This enables patterns like
340559
340560          def get_ip(proxy):
340561              '''
340562              Ask the remote device what IP it has
340563              '''
340564              return {'ip':proxy['proxymodulename.get_ip']()}
340565
340566       Then the grain ip will contain the result of calling the get_ip() func‐
340567       tion in the proxymodule called proxymodulename.
340568
340569       Proxy modules now benefit from including  a  function  called  initial‐
340570       ized().   This  function should return True if the proxy's init() func‐
340571       tion has been successfully called.  This is needed to make grains  pro‐
340572       cessing easier.
340573
340574       Finally,  if  there  is a function called grains in the proxymodule, it
340575       will be executed on proxy-minion  startup  and  its  contents  will  be
340576       merged  with the rest of the proxy's grains.  Since older proxy-minions
340577       might have used other methods to call  such  a  function  and  add  its
340578       results  to  grains,  this is config-gated by a new proxy configuration
340579       option called proxy_merge_grains_in_module.  This defaults to False  in
340580       this  release.  It will default to True in the release after next.  The
340581       next release is codenamed Carbon, the following is Nitrogen.
340582
340583       The example proxy minions rest_sample and ssh_sample have been  updated
340584       to reflect these changes.
340585
340586   Syndic Updates
340587       A  major  performance  and  management issue was found and fixed in the
340588       syndic. This makes the Salt Syndic substantially more reliable and per‐
340589       formant.  Please  make  sure  that the syndic and the master of masters
340590       which syndics attach to are updated, otherwise the syndic  fixes  alone
340591       can  cause  minor  performance  issues  with  older  master of masters.
340592       Please update masters first, then syndics.  Minions do not need  to  be
340593       updated for this fix to work.
340594
340595   Module Changes
340596       · file   execution   module:   show_diff  is  deprecated  in  favor  of
340597         show_changes. (PR #30988)
340598
340599       · reg execution module:
340600
340601         · Removed the following deprecated functions from the reg module  (PR
340602           #30956):
340603
340604           · read_key
340605
340606           · set_key
340607
340608           · create_key
340609
340610           · delete_key
340611
340612         · Removed force parameter from reg state module
340613
340614         · Fixed virtual function in state
340615
340616         · Improved error information for reg.delete_value function
340617
340618       · jboss7  execution  module: deployed function was decoupled from Arti‐
340619         factory by removing Artifactory-specific  functionality.   Note  that
340620         the  changes  in  some of the function arguments break existing state
340621         files, see issue #30515 and PR #3080 for details.
340622
340623       · pkg state module: The wait function was  removed,  the  functionality
340624         was replaced with the onchanges requisite (PR #30297).
340625
340626       · firewalld state module: A permanent argument was added add_port. Note
340627         that permanent defaults to True, which changes previous behavior  (PR
340628         #30275).  A bind function was also added that allows binding zones to
340629         interfaces and sources (PR #29497).
340630
340631       · journald beacon module: The event string was  updated  to  include  a
340632         tag.  Note  this might impact existing reactors based on this beacon.
340633         (PR #30116).
340634
340635       · postgres_privileges state module: The default value  of  the  prepend
340636         argument was changed from None to public.
340637
340638       · zenoss  execution  module: The add_device function was updated with a
340639         default value of 1000 for prod_state to match the  documentation  (PR
340640         #28924).
340641
340642       · The  etcd  execution  module, state module, returner module, and util
340643         module were refactor (PR #28599). This refactor changes error returns
340644         for several functions (primarily edge cases):
340645
340646         · get: Used to return '' on key-not-found. Now returns None.
340647
340648         · set: Used to return '' on issues setting keys. Now returns None.
340649
340650         · ls: Used to return {path: {}} on key-not-found. Now returns None.
340651
340652         · Tree: Used to return {} on key-not-found. Now returns None.
340653
340654       · smartos_virt  execution  module: Updated to use most of the new smar‐
340655         tos_vmadm (PR #28284).
340656
340657       · apache_conf state module, apache_module state module, and apache_site
340658         state  module:  the  enable  and  disable  functions  were renamed to
340659         enabled and disabled, respectively.  In PR  #33562,  these  functions
340660         were  readded  and  properly  deprecated  and will be removed in Salt
340661         2017.7.0.  This fix will be available in 2016.3.1.  As a  workaround,
340662         try
340663
340664            apache_module.enable{{ 'd' if grains.saltversioninfo == [2016, 3, 0] else '' }}
340665
340666   New Features
340667   Thorium - Provisional New Reactor
340668       The  2016.3 release introduces the new Thorium Reactor. This reactor is
340669       an experimental new feature that implements a flow  programming  inter‐
340670       face  using  the  salt  state system as the engine. This means that the
340671       Thorium reactor uses a classic state tree approach to create a  reactor
340672       that  can aggregate event data from multiple sources and make aggregate
340673       decisions about executing reactions.
340674
340675       This feature is both experimental and provisional, it  may  be  removed
340676       and  APIs may be changed. This system should be considered as ambitious
340677       as the Salt State System in that the scope  of  adding  a  programmable
340678       logic engine of this scale into the event systems is non trivial.
340679
340680       See Thorium Complex Reactor.
340681
340682   Improved Mac OS Support
340683   Improved Solaris Support
340684       A  lot  of work was done to improve support for SmartOS. This work also
340685       resulted in improvements for Solaris and illumos as SmartOS.
340686
340687       · rewrite of vmadm module (SmartOS)
340688
340689       · rewrite of imgadm module (SmartOS)
340690
340691       · deprecation of virt module in favor of vmadm (SmartOS)
340692
340693       · implemented smartos state (SmartOS)
340694
340695       · improved zpool module add SmartOS, illumos and Solaris support
340696
340697       · improved zfs module add SmartOS, illumos and Solaris support
340698
340699       · implemented zpool state
340700
340701       · implemented zfs state implemented  solaris_system  system  module  to
340702         provide better Solaris support (PR #30519)
340703
340704       · other minor fixes to grains, localmod, ...
340705
340706   Tornado Transport
340707       IMPORTANT:
340708          The Tornado Transport wire protocol was changed in 2016.3, making it
340709          incompatible with 2015.8 (PR #29339).
340710
340711   Windows DSC Integration (Experiemental)
340712   Dimension Data Cloud Support
340713       A SaltStack Cloud driver for Dimension Data Public Cloud, provides  the
340714       driver  functionality  to  service  automation for any of the Dimension
340715       Data Public Cloud locations:
340716
340717       · Deploy new virtual machines
340718
340719       · List and query virtual machine images
340720
340721       · Destroy and query virtual machines
340722
340723       Documentation of the Dimension Data SaltStack integration is  found  on
340724       developer.dimensiondata.com
340725
340726   Minion Blackout
340727       During  a  blackout, minions will not execute any remote execution com‐
340728       mands, except for saltutil.refresh_pillar. Blackouts are enabled  using
340729       a special pillar key, minion_blackout set to True.
340730
340731       See Minion Blackout.
340732
340733   Splunk Returner
340734       A  Splunk  Returner that uses HTTP Event Collector is now available (PR
340735       #30718).
340736
340737   SQLCipher Pillar Module
340738       Support was added for retrieving pillar data via  queries  to  SQLCiper
340739       databases (PR #29782).
340740
340741   New Modules
340742       The  following  list  contains  a link to the new modules added in this
340743       release.
340744
340745   Beacons
340746       · beacons.adb
340747
340748       · beacons.glxinfo
340749
340750       · beacons.memusage
340751
340752       · beacons.network_settings
340753
340754       · beacons.proxy_example
340755
340756       · beacons.salt_proxy
340757
340758   Engines
340759       · engines.docker_events
340760
340761       · engines.redis_sentinel
340762
340763       · engines.slack
340764
340765       · engines.sqs_events
340766
340767       · engines.thorium
340768
340769   Execution Modules
340770       · modules.bcache
340771
340772       · modules.beacons
340773
340774       · modules.boto_cloudtrail
340775
340776       · modules.boto_datapipeline
340777
340778       · modules.boto_iot
340779
340780       · modules.boto_lambda
340781
340782       · modules.boto_s3_bucket
340783
340784       · modules.chronos
340785
340786       · modules.cytest
340787
340788       · modules.dockercompose
340789
340790       · modules.dsc
340791
340792       · modules.ethtool
340793
340794       · modules.github
340795
340796       · modules.infoblox
340797
340798       · modules.iwtools
340799
340800       · modules.jenkins
340801
340802       · modules.linux_ip
340803
340804       · modules.mac_assistive
340805
340806       · modules.mac_brew
340807
340808       · modules.mac_defaults
340809
340810       · modules.mac_desktop
340811
340812       · modules.mac_keychain
340813
340814       · modules.mac_pkgutil
340815
340816       · modules.mac_ports
340817
340818       · modules.mac_power
340819
340820       · modules.mac_service
340821
340822       · modules.mac_shadow
340823
340824       · modules.mac_softwareupdate
340825
340826       · modules.mac_sysctl
340827
340828       · modules.mac_system
340829
340830       · modules.mac_timezone
340831
340832       · modules.mac_xattr
340833
340834       · modules.marathon
340835
340836       · modules.minion
340837
340838       · modules.openvswitch
340839
340840       · modules.opkg
340841
340842       · modules.philips_hue
340843
340844       · modules.proxy
340845
340846       · modules.pushbullet
340847
340848       · modules.restartcheck
340849
340850       · modules.s6
340851
340852       · modules.salt_proxy
340853
340854       · modules.ssh_package
340855
340856       · modules.ssh_service
340857
340858       · modules.sysfs
340859
340860       · modules.vboxmanage
340861
340862       · modules.win_certutil
340863
340864       · modules.win_dism
340865
340866       · modules.win_dism
340867
340868       · modules.win_license
340869
340870       · modules.win_iis
340871
340872       · modules.win_task
340873
340874       · modules.zabbix
340875
340876   Pillar
340877       · pillar.http_yaml
340878
340879       · pillar.stack
340880
340881   Proxy
340882       · proxy.chronos
340883
340884       · proxy.junos
340885
340886       · proxy.marathon
340887
340888       · proxy.phillips_hue
340889
340890       · proxy.ssh_sample
340891
340892   Roster
340893       · roster.range
340894
340895   States
340896       · states.apache_conf
340897
340898       · states.apache_site
340899
340900       · states.boto_cloudtrail
340901
340902       · states.boto_datapipeline
340903
340904       · states.boto_iot
340905
340906       · states.boto_lamda
340907
340908       · states.boto_s3_bucket
340909
340910       · states.chocolatey
340911
340912       · states.chronos_job
340913
340914       · states.firewall
340915
340916       · states.github
340917
340918       · states.gpg
340919
340920       · states.grafana_dashboard
340921
340922       · states.grafana_datasource
340923
340924       · states.infoblox
340925
340926       · states.jenkins
340927
340928       · states.mac_assistive
340929
340930       · states.mac_defaults
340931
340932       · states.mac_keychain
340933
340934       · states.mac_xattr
340935
340936       · states.marathon_app
340937
340938       · states.openvswitch_bridge
340939
340940       · states.openvswitch_port
340941
340942       · states.postgres_cluster
340943
340944       · states.proxy
340945
340946       · states.salt_proxy
340947
340948       · states.virt
340949
340950       · states.win_certutil
340951
340952       · states.win_dism
340953
340954       · states.win_license
340955
340956       · states.zabbix_host
340957
340958       · states.zabbix_hostgroup
340959
340960       · states.zabbix_user
340961
340962       · states.zabbix_usergroup
340963
340964   Salt 2016.3.1 Release Notes
340965       Version 2016.3.1 is a bugfix release for 2016.3.0.
340966
340967   Statistics
340968       · Total Merges: 87
340969
340970       · Total Issue References: 23
340971
340972       · Total PR References: 58
340973
340974       · Contributors: 25 (abednarik, amontalban, anlutro, babilen, cachedout,
340975         clburlison,  danslimmon,  eliasp,  glomium,  jacobhammons,  jfindlay,
340976         kev009,  lomeroe,  michalsuba,   neil-williamson,   onorua,   opdude,
340977         rallytime,   sjorge,   terminalmage,  thatch45,  ticosax,  tomlaredo,
340978         twangboy, zigarn)
340979
340980   Final Release of Debian 7 Packages
340981       Regular security support for Debian 7 ended on April 25th, 2016.  As  a
340982       result, 2016.3.1 and 2015.8.10 will be the last Salt releases for which
340983       Debian 7 packages are created.
340984
340985   Changelog for v2016.3.0..v2016.3.1
340986       Generated at: 2018-05-27 04:31:54 UTC
340987
340988          · PR #33883: (jfindlay) add 2016.3.1 release notes
340989
340990       · PR #33866: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
340991         2016-06-08 19:49:56 UTC
340992
340993         · be20ce1bbf Merge pull request #33866 from rallytime/merge-2016.3
340994
340995         · 595d4f2ac3 Fixup new groupadd tests for syntax change in 2016.3
340996
340997         · c5b4ec0b0f Merge branch '2015.8' into '2016.3'
340998
340999           · ec09095c45 Merge pull request #33827 from cachedout/issue_33810
341000
341001             · 9d36f1e474 Fix broken locate.locate function
341002
341003           · f7b3d0eda0  Merge  pull  request #33839 from cachedout/fix_pkgre‐
341004             source_test_stacktrace
341005
341006             · 435547a747 Fix another unit test stacktrace in pkg_resource
341007
341008           · 5f081ef31c   Merge   pull    request    #33840    from    cached‐
341009             out/remove_matcher_unit_tests
341010
341011             · 6297448377 Remove matcher tests
341012
341013           · cda032dab2  Merge  pull  request  #33836  from cachedout/fix_win‐
341014             server_manager_test
341015
341016             · 453fb1ac91 Fixing more stupid unit tests
341017
341018           · 1db559afe9 Merge pull request #33805 from jfindlay/pkg_tests
341019
341020             · 0c069ddc95 states.pkg int tests: skip if pkg mgr unavailable
341021
341022           · 3984b65486 Merge pull request #33808 from jfindlay/gem_tests
341023
341024             · f7c19a1a58 modules.gem int tests: relax version checks
341025
341026             · 6af47d2ba7 modules.gem int tests: remove  pkgs  before  testing
341027               install
341028
341029           · c30d8a8c61 Merge pull request #33770 from jfindlay/service_tests
341030
341031             · f13f914755 states.service: add integration tests
341032
341033             · 90aee79c39 states.service.mod_watch: update unit test
341034
341035             · d210a92f09 states.service.mod_watch: update sfun and force docs
341036
341037           · 7fdfbe9a28  Merge  pull  request  #33691  from jtand/gem_integra‐
341038             tion_test
341039
341040             · ff2dae103d ubuntu doesn't install default  gems  when  ruby  is
341041               installed
341042
341043             · 504df9a65a Fixed lint error
341044
341045             · 0cb1bfa0d3 Removed extra :
341046
341047             · 86f59b3e80 Made more pythonic
341048
341049             · 2f36f34981  Fixed  salt.util import. Added status check to make
341050               sure external resource is available
341051
341052             · 400a71ec33 Removed redundancies
341053
341054             · 91db411bea A couple lint fixes
341055
341056             · c97f3319b9 Add check for gem binary
341057
341058             · 210aceb402 Refactored tests to not use return messages
341059
341060             · 9d437bd45d Removed artifact from testing
341061
341062             · 134e1fa888 Fixed typos, and added destructiveTest decorator
341063
341064             · 37bc3ad8fd Fixed typo, uninstalled to uninstall
341065
341066             · 5b23b91ac6 Integration test for gem module
341067
341068           · bb4194bb79  Merge   pull   request   #33777   from   sodium-chlo‐
341069             ride/2015.8-2016-0604-1939
341070
341071             · c1fd830a1a Fix minor docstring issue of arg being missing
341072
341073           · c749aea409 Merge pull request #33759 from cachedout/issue_31219
341074
341075             · 15a39f8646 Catch no minions exception in batch mode
341076
341077           · 47d668e071 Merge pull request #33719 from cachedout/fixup_33653
341078
341079             · 635efa248b Change to just surround the mkdir
341080
341081             · 21b7123a60 Catch oserror for race condition
341082
341083           · 11e39e7203      Merge      pull      request      #33712     from
341084             meaksh/fix-for-groupadd-module-failures-in-SLE11-2015.8
341085
341086             · ab738416ba pylint fix
341087
341088             · bf27e5d36e test_members cleanup
341089
341090             · ba815dbf76 improvements on groupadd unit tests
341091
341092             · 3bbc5ae0d9 one line is better
341093
341094             · a53dc192c9 fix groupadd module for sles11 systems
341095
341096           · 2c450a7494 Merge pull request #33718 from rallytime/bp-33700
341097
341098             · a6a446121a Fix speed issue
341099
341100             · a41146730a Fix incorrect args passed to timezone.set_hwclock
341101
341102           · b07701f0a0 Merge pull request #33727 from terminalmage/issue33725
341103
341104             · d8ba7ed5a5 Fix git_pillar edge case for remote repos without  a
341105               master branch
341106
341107           · 015e50cec8    Merge    pull    request    #33728    from   jfind‐
341108             lay/test_state_test
341109
341110             · 87e018af2a states.test.configurable_test_state: add unit tests
341111
341112             · c2d0679c4b    states.test.configurable_test_state:     refactor
341113               change_data
341114
341115             · f06ff1af1f states.test.configurable_test_state test mode
341116
341117           · 1cf8fe3f1d    Merge    pull    request    #33729    from   twang‐
341118             boy/fix_win_servermanager
341119
341120             · 2de91d166f Fix docstring
341121
341122             · 9870479d99 Add exclude option to state
341123
341124             · 50bd76e206 Add exclude option
341125
341126           · 6c150d840d Merge pull request #33743 from  vutny/drop-debian-com‐
341127             munity-repo-doc
341128
341129             · 8621f5be54  Debian installation docs: drop section about commu‐
341130               nity-maintained repository
341131
341132           · 56c0a42e12 Create missing jid dir if it doesn't exist (#33653)
341133
341134           · 8a566ff4b9   Merge    pull    request    #33654    from    twang‐
341135             boy/fix_win_servermanager
341136
341137             · 6c7b21676a Fix lint and tests
341138
341139             · 4775e6bdf0 Add additional params to state
341140
341141             · b0af32346d Add additional params to install and remove
341142
341143           · 996ff56dd4 Merge pull request #33679 from terminalmage/issue33424
341144
341145             · 9da40c4437  Append  empty dictionaries for saltenvs with no top
341146               file
341147
341148             · 5eb1b3ca62 Only compile the template contents if they  evaluate
341149               to True
341150
341151       · ISSUE  #33843:  (richardscollin)  2016.3  Test Suite TCP Error (refs:
341152         #33860)
341153
341154       · PR #33860: (cachedout) Allow socket closes when the socket is discon‐
341155         nected @ 2016-06-08 18:26:16 UTC
341156
341157         · 669aa92d59 Merge pull request #33860 from cachedout/issue_33843
341158
341159         · 2c88e22c07 Use errno
341160
341161         · e7de99dd0e Correct silly mistake
341162
341163         · 7a46360a13 Allow socket closes when the socket is disconnected
341164
341165       · ISSUE  #33818:  (saltuser)  2016.3.0  minion  default  log level INFO
341166         (refs: #33821, #33861)
341167
341168         · PR #33861: (cachedout) Set master and cloud to log level warning
341169
341170         · PR #33821: (cachedout) Restore deafault log level to warning (refs:
341171           #33861)
341172
341173       · PR #33698: (opdude) Vsphere fixes @ 2016-06-08 14:12:17 UTC
341174
341175         · a3202f1ad6   Merge   pull   request   #33698  from  Unity-Technolo‐
341176           gies/vsphere-fixes
341177
341178         · 8ff5906fad Revert "Fix a bug when creating a new  VM  and  changing
341179           the network info"
341180
341181         · 636f4c00f0  Make  sure  we only use GetConnection if we are using a
341182           proxy salt minion
341183
341184         · 64e9334d56 Fix a bug with self signed certificates and  creating  a
341185           new VM
341186
341187         · 7834aeda7d  Fix a  bug when creating a new VM and changing the net‐
341188           work info
341189
341190       · PR #33771:  (twangboy)  Additional  functionality  to  win_dism.py  @
341191         2016-06-08 13:58:20 UTC
341192
341193         · 01aaf3e2a9 Merge pull request #33771 from twangboy/win_dism
341194
341195         · 9be45fe37a Fix some more lint
341196
341197         · 421dc97957 Fix/add unit tests for state
341198
341199         · 8d66fac74c Add missing unit tests
341200
341201         · 60f856f73d Fix unit tests for module
341202
341203         · b574947afe Fix some lint errors
341204
341205         · a32774c07d Add salt.utils.compare_lists
341206
341207         · 7ff7050705 Fix incorrect parameters in the state
341208
341209         · b8ee89f18e Fix typos
341210
341211         · 10458d8a70 Remove multiple lookups, faster
341212
341213         · d9b848c0d9 Change to dict instead of error
341214
341215         · 6510e0a5b0 Add restart option
341216
341217         · da8562dbc8 Add quiet and norestart options
341218
341219         · 946371bf1f Handle errors, ensure add/remove
341220
341221         · 7e6382a8b2 Use list instead of string for cmd
341222
341223         · fbdd28f144 Add state functions
341224
341225         · 90a4ee3d96         Merge         branch         '2016.3'         of
341226           https://github.com/saltstack/salt into win_dism
341227
341228         · 00c24abe1f Add get functions
341229
341230         · c6621053fd Add additional functions
341231
341232         · 36507845b6 Update documentation
341233
341234       · ISSUE #33649: (tyhunt99) 2016.3.0 dockerng state fails comparing  cmd
341235         configuration (refs: #33851)
341236
341237       · PR  #33851:  (ticosax)  [dockerng] Add support for edge case when Cmd
341238         and Entrypoint can't be blanked @ 2016-06-08 13:52:40 UTC
341239
341240         · f546e47552  Merge  pull  request  #33851  from   ticosax/fix-entry‐
341241           point-support
341242
341243         · 0d40e1c4f3  Add support for edge case when Cmd and Entrypoint can't
341244           be blanked
341245
341246       · ISSUE #33818: (saltuser)  2016.3.0  minion  default  log  level  INFO
341247         (refs: #33821, #33861)
341248
341249       · PR  #33821:  (cachedout) Restore deafault log level to warning (refs:
341250         #33861) @ 2016-06-07 16:51:46 UTC
341251
341252         · 3f6d06a060 Merge pull request #33821 from cachedout/issue_33818
341253
341254         · 52f1f77a38 Restore deafault log level to warning
341255
341256       · ISSUE #33578: (ohauer) 2016.3.0 FreeBSD Failed to load grains defined
341257         in   grain   file   disks.disks   in   function  <function  disks  at
341258         0x80cff9320>, error: (refs: #33604, #33767)
341259
341260       · PR #33767: (amontalban) Fix #33604  implementation  when  'geom  disk
341261         list' does not output rotat… @ 2016-06-07 14:41:56 UTC
341262
341263         · PR #33604: (kev009) Fix #33578 disks grain (refs: #33767)
341264
341265         · 3e48b701e3 Merge pull request #33767 from amontalban/2016.3
341266
341267         · b8c0dd5b4c Fix #33604 implementation when 'geom disk list' does not
341268           output rotationrate. #33578
341269
341270       · PR #33806: (cachedout) Work around upstream cherrypy bug @ 2016-06-07
341271         14:39:57 UTC
341272
341273         · a84588c788 Merge pull request #33806 from cachedout/cherrypy_1444
341274
341275         · 1b537d41b6 Work around upstream cherrypy bug
341276
341277       · ISSUE  #33754:  (zerthimon)  boto_s3_bucket.present is not idempotent
341278         (refs: #33776)
341279
341280       · PR #33776: (danslimmon) Fixed ACL user comparison.  Resolves  #33754.
341281         @ 2016-06-06 11:11:15 UTC
341282
341283         · 94f98b4ab8    Merge    pull    request    #33776    from   danslim‐
341284           mon/s3-bucket-idempotency-33754
341285
341286         · 35b84f1877 Fixed bug where _prep_acl_for_compare() would  edit  but
341287           not return
341288
341289         · f87bc347fd Fixed ACL user comparison. Resolves #33754.
341290
341291       · ISSUE  #33741:  (jopohl)  pkg.install: ERROR: Zypper command failure:
341292         Unknown option '--no-refresh' (refs: #33763)
341293
341294       · PR #33763: (abednarik) Insert --no-refresh before install in  Zypper.
341295         @ 2016-06-06 10:53:27 UTC
341296
341297         · a92e155a04  Merge pull request #33763 from abednarik/abednarik_zyp‐
341298           per_no_refresh_fix
341299
341300         · 7c909a1d7f Insert --no-refresh before install in Zypper.
341301
341302       · ISSUE #33647: (closepin) Pillars passed  from  command-line  override
341303         pillar subtrees instead of merging (refs: #33764)
341304
341305       · PR  #33764: (terminalmage) Merge instead of update pillar overrides @
341306         2016-06-06 10:52:22 UTC
341307
341308         · 306848a2d7 Merge pull request #33764 from terminalmage/issue33647
341309
341310         · 914003c995 Merge instead of update pillar overrides
341311
341312       · PR #33772: (danslimmon) Fixed  spelling  of  "through"  @  2016-06-06
341313         10:50:54 UTC
341314
341315         · b37a862b70 Merge pull request #33772 from danslimmon/trough-through
341316
341317         · ea3498aedc Fixed spelling of "through"
341318
341319       · ISSUE  #33614:  (knuta)  grains.has_key()   always  returns  false in
341320         2016.3.0 (refs: #33651)
341321
341322       · PR  #33651:  (cachedout)  Restore  grains  context  to  renderers   @
341323         2016-06-03 20:48:44 UTC
341324
341325         · a8d9221631 Merge pull request #33651 from cachedout/issue_33614
341326
341327         · 5518e1dd14 Fix whitespace
341328
341329         · 7b50e1766e Better fix
341330
341331         · 4e18ff7000 Restore grains context to renderers
341332
341333       · PR  #33757:  (cachedout) Reminder not to return non-serializable data
341334         from states @ 2016-06-03 19:23:54 UTC
341335
341336         · daf462e430 Merge pull request #33757 from cachedout/state_set_doc
341337
341338         · 500d4ccec2 Reminder not to return non-serializable data from states
341339
341340       · ISSUE #33605: (morganwillcock) win_pkg: UnicodeEncodeError where Dis‐
341341         playName includes "Español" (refs: #33670)
341342
341343       · PR  #33670:  (rallytime) Handle non-ascii package names in state.for‐
341344         mat_log @ 2016-06-03 16:16:53 UTC
341345
341346         · a5684ed123 Merge pull request #33670 from rallytime/fix-33605
341347
341348         · 59bd51f4c8 Update test to correct iteration
341349
341350         · a580d1c6e0 Add unit test for format_log change
341351
341352         · e68097445c Revert "Track down more  unicode  instances  and  add  a
341353           test"
341354
341355         · 9729aed262 Track down more unicode instances and add a test
341356
341357         · ae332d1f88 Handle non-ascii package names in state.format_log
341358
341359       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #33641)
341360
341361       · PR  #33723:  (rallytime)  Back-port  #33641  to  2016.3  @ 2016-06-03
341362         16:07:53 UTC
341363
341364         · PR #33641: (glomium) check rabbitmq version and use  different  api
341365           to validate a users pass… (refs: #33723)
341366
341367         · 56eab363ff Merge pull request #33723 from rallytime/bp-33641
341368
341369         · 77a51a00a3 pylint W0141, W0702
341370
341371         · f8518939a7 check rabbitmq version and use different api to validate
341372           a users password
341373
341374       · ISSUE #32059: (fuzzy-id) dockerng fails with: create_container()  got
341375         an unexpected keyword argument 'binds' (refs: #33748)
341376
341377       · PR  #33748:  (ticosax)  HostConfig  has been introduced by docker api
341378         version 1.15 @ 2016-06-03 15:28:40 UTC
341379
341380         · c2b970789c Merge pull request #33748  from  ticosax/adjust-api-ver‐
341381           sion-host-config
341382
341383         · 134e4a9abf  HostConfig  has  been intoriduced by docker api version
341384           1.15
341385
341386       · PR #33745: (eliasp)  Typo  (privilagesprivileges)  @  2016-06-03
341387         15:14:37 UTC
341388
341389         · e08c685a6c Merge pull request #33745 from eliasp/2016.3-typo-privi‐
341390           lages-privileges
341391
341392         · 646bc426c6 Typo (privilagesprivileges)
341393
341394       · ISSUE #33537: (anlutro) apache_module state functions  changed  names
341395         with no deprecation warning or backward compatibility (refs: #33562)
341396
341397       · PR #33562: (jfindlay) states.apache_*: readd and deprecate enable and
341398         disable @ 2016-06-02 19:51:37 UTC
341399
341400         · PR #29651: (zigarn) Deb apache fixes (refs: #33562)
341401
341402         · 5f4c6902aa Merge pull request #33562 from jfindlay/apache_funcs
341403
341404         · 9b0eb858a6 add note and workaround to release notes
341405
341406         · 17306bfc69 states.apache_*: readd and deprecate enable and disable
341407
341408       · ISSUE #33632: (rbjorklin) dockerng.volume_present: Dryrun  isn't  dry
341409         (refs: #33659)
341410
341411       · PR  #33659: (danslimmon) Added test mode to states.dockerng. Resolves
341412         #33632.  @ 2016-06-02 17:45:49 UTC
341413
341414         · d3253effe9  Merge  pull  request   #33659   from   danslimmon/dock‐
341415           erng-dryrun-33632
341416
341417         · ef885c1b7e  Added  test  mode  to dockerng.volume_present. Resolves
341418           #33632.
341419
341420       · PR #33696:  (clburlison)  Update  mac  native  package  for  upcoming
341421         release @ 2016-06-02 17:44:01 UTC
341422
341423         · 1d6582b659 Merge pull request #33696 from clburlison/2016.3-pkg-fix
341424
341425         · b483d1d8a6 Update mac native package for upcoming release
341426
341427       · PR #33710: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
341428         2016-06-02 16:19:00 UTC
341429
341430         · 78966f5f30 Merge pull request #33710 from rallytime/merge-2016.3
341431
341432         · b7accb0b3b Merge branch '2015.8' into '2016.3'
341433
341434         · c8dc70b96a Merge pull request #33685 from jfindlay/get_url_test
341435
341436           · 2b5035fdc0 modules.cp.get_url: add test for https://
341437
341438         · 5e022ff29c Merge pull request #33581 from dincamihai/2015.8
341439
341440           · 788730ea72 DRY test
341441
341442           · 1d3769ccfa Improve zypper_patcher_config looks
341443
341444           · 42d8d4195c Assert only gpgautoimport: True works
341445
341446           · ced75e8e62 Reverse if conditions and rename variable
341447
341448           · 80bfbe5c52 Reduce dicts and lists to one line where possible
341449
341450           · 1d5d6d7d60 Update test method names to pass pylint
341451
341452           · c7ae5907ee Call zypper refresh after adding/modifying  a  reposi‐
341453             tory
341454
341455         · 069ee15b7c Merge pull request #33681 from rallytime/bp-33599
341456
341457           · 45143a599b  use  requests streaming for uploads/downloads to file
341458             (return_bin  unchanged)  allows  downloading  files  larger  than
341459             amount  of memory (non-stream reads into memory before writing to
341460             disk or uploading)
341461
341462           · 4a9b23f03f first go at having requests use streaming for  get/put
341463             requests
341464
341465         · 13537c4891 Merge pull request #33396 from babilen/issue-33393
341466
341467           · 57e0475cd4 Make pip InstallationError import more robust
341468
341469           · 291a3e21fa Remove duplicated code.
341470
341471         · 7bce4ece1a Merge pull request #33652 from terminalmage/zh723
341472
341473           · 411841603a Lower the log level for failed auths
341474
341475         · 504989388a  Merge  pull request #33615 from danslimmon/mysql-trace‐
341476           back-33582
341477
341478           · 180099ae9f Wrote test for broken server connection
341479
341480           · c6c3ff02e3 Added some error checking to resolve #33582.
341481
341482       · ISSUE #32916: (giannello) file.managed memory usage with  s3  sources
341483         (refs: #33599, #33682)
341484
341485         · PR #33682: (lomeroe) backport #33599 to 2016.3
341486
341487         · PR  #33599:  (lomeroe)  Fix  s3  large file download (refs: #33681,
341488           #33682)
341489
341490       · ISSUE #33532: (Routhinator) 2016.3 breaks existing formulas that work
341491         on 2015.8 (refs: #33688)
341492
341493         · PR  #33688:  (terminalmage)  Undo __repr__() and __str__() parts of
341494           d5a7dcc
341495
341496       · ISSUE #29265: (mbochenk) mysql_user.present does not work with  MySQL
341497         5.7 (refs: #33690, #32440, #30603)
341498
341499         · PR #33690: (neil-williamson) Remove explicit PW column default from
341500           mysql_user
341501
341502         · PR #32440: (neil-williamson)  Automatically  detect  correct  MySQL
341503           password column for 5.7 and fix setting passwords (refs: #33690)
341504
341505         · PR #30603: (michalsuba) addressing #29265 (refs: #32440)
341506
341507       · PR  #33680:  (rallytime)  Back-port  #32942  to  2016.3  @ 2016-06-01
341508         22:14:20 UTC
341509
341510         · PR #32942: (onorua) Make tornado raise  error  configurable  (refs:
341511           #33680)
341512
341513         · c725854596 Merge pull request #33680 from rallytime/bp-32942
341514
341515         · 09751ecb04 Make tornado raise error configurable (#32942)
341516
341517       · PR  #33677:  (twangboy)  Pass kwargs to cmd.run @ 2016-06-01 20:20:08
341518         UTC
341519
341520         · 9571dad678 Merge pull request #33677 from twangboy/fix_runas
341521
341522         · 4272afe0d5 Pass kwargs to cmd.run
341523
341524       · ISSUE #33529: (djneades) pkg.latest completely broken on  FreeBSD  in
341525         salt-ssh 2016.3 (refs: #33648)
341526
341527       · PR  #33648: (terminalmage) salt.modules.pkgng: Fix incorrect usage of
341528         _pkg() @ 2016-06-01 16:37:46 UTC
341529
341530         · d566ec4b31 Merge pull request #33648 from terminalmage/issue33529
341531
341532         · 4ad80d29b6 salt.modules.pkgng: Fix incorrect usage of _pkg()
341533
341534       · PR #33646: (jfindlay) Fix  more  tmp  paths  on  MacOS  @  2016-06-01
341535         16:36:33 UTC
341536
341537         · e92d6e214f Merge pull request #33646 from jfindlay/mac_tests
341538
341539         · c53a727c18 tests.runtests: use globally-determined tempdir
341540
341541         · 8295b48459 test.integration: use hard /tmp on MacOS
341542
341543       · PR   #33656:   (cachedout)  Fix  indentation  error  in  minion.py  @
341544         2016-06-01 16:23:20 UTC
341545
341546         · PR #33076: (cachedout) Avoid second grains load on  windows  multi‐
341547           processing (refs: #33656)
341548
341549         · 9603cd3c0d Merge pull request #33656 from cachedout/fix_33076
341550
341551         · 8259d4091f Fix indentation error in minion.py
341552
341553       · PR #33637: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
341554         2016-05-31 18:43:17 UTC
341555
341556         · b379dc57fd Merge pull request #33637 from rallytime/merge-2016.3
341557
341558         · cd05d2bed1 Fix zypper test
341559
341560         · 74a7b78e00 Merge branch '2015.8' into '2016.3'
341561
341562           · b47182e47c   Merge    pull    request    #33558    from    twang‐
341563             boy/fix_win_servermanager
341564
341565             · 62a6bde0ea Fix comment when already installed
341566
341567             · 79bc7195dc Fix unit tests
341568
341569             · 56a6f6bb83 Fix changes
341570
341571             · 8ebe99ec5e Fix restart_needed
341572
341573             · 6e478cbda0 Add restart needed
341574
341575             · 72ebf26616 Add missing import
341576
341577             · 193583be96 Use dictionary compare for changes in remove
341578
341579             · 1ae7dd76c1 Use dictionary compare for changes
341580
341581           · 58d89d66e3 Merge pull request #33555 from cachedout/issue_33544
341582
341583             · fe7ee7a470 Fix crashing Maintenence process
341584
341585           · d052908729  Merge  pull  request  #33501 from meaksh/zypper-down‐
341586             load-check-signature-2015.8
341587
341588             · eaaef25c79 lint issue fixed
341589
341590             · 6b6febb211 unit tests for rpm.checksum() and zypper.download()
341591
341592           · e2d0c4abb1 Merge pull request #33513 from rallytime/fix-33319
341593
341594             · 81c1471209 Add a section to the jinja docs about escaping jinja
341595
341596           · fabc15e616   Merge   pull   request   #33520    from    jacobham‐
341597             mons/release-notes.8
341598
341599             · 42e358af7d Updated version numbers in the docs for the 2016.3.0
341600               release
341601
341602         · PR #33638: (rallytime) Back-port #33613 to 2016.3
341603
341604         · PR #33613: (abednarik) Updated apache_module for backward  compati‐
341605           ble. (refs: #33638)
341606
341607       · ISSUE  #33590: (morganwillcock) ini_manage.options_absent: only works
341608         in test mode (TypeError: unhashable type: 'list') (refs: #33606)
341609
341610       · PR #33606: (danslimmon) Fixed ini.options_absent. Resolves #33590.  @
341611         2016-05-31 15:51:35 UTC
341612
341613         · 23506f8279 Merge pull request #33606 from danslimmon/ini-optionsab‐
341614           sent-33590
341615
341616         · fb13852102 Fixed ini.options_absent. Resolves #33590.
341617
341618       · ISSUE #33578: (ohauer) 2016.3.0 FreeBSD Failed to load grains defined
341619         in   grain   file   disks.disks   in   function  <function  disks  at
341620         0x80cff9320>, error: (refs: #33604, #33767)
341621
341622       · PR  #33604:  (kev009)  Fix  #33578  disks  grain  (refs:  #33767)   @
341623         2016-05-31 15:17:37 UTC
341624
341625         · 44e8c9e720 Merge pull request #33604 from kev009/fix-33578
341626
341627         · e452ec514e Ignore cdroms in disks grain
341628
341629         · 8bf0290024 Make disks grain datatyper more resilient
341630
341631         · PR  #33631:  (babilen)  Fix  'virt' state names in cloud controller
341632           tutorial
341633
341634       · PR #33603: (sjorge) allow esky packages to be build on base64  2015Q4
341635         @ 2016-05-29 00:36:02 UTC
341636
341637         · e9a0c9304a  Merge  pull  request  #33603  from  sjorge/2016.3-smar‐
341638           tos-esky
341639
341640         · 1064102394 add no-wheel,  instructions  were  failing  for  someone
341641           testing due to wheel being used nog producing an egg
341642
341643         · c85e03ecf7 allow for newer pyzmq in esky packages
341644
341645         · 1620b8c0fa allow esky packages to be build on base64 2015Q4
341646
341647       · ISSUE  #33565:  (jamesp9)  Typo  in  states/virtualenv_mod.py  (refs:
341648         #33576)
341649
341650       · PR #33576: (tomlaredo) Fix #33565  (typo  causes  invalid  syntax)  @
341651         2016-05-27 16:46:35 UTC
341652
341653         · afd3c1b9bd Merge pull request #33576 from rodacom/2016.3
341654
341655         · 9f7d81e0cc Fix #33565
341656
341657       · ISSUE  #33530:  (kluoto) Centos7 pkg.upgrade failure on 2016.3 (refs:
341658         #33549)
341659
341660       · PR #33549: (thatch45) Fix for #33530 @ 2016-05-26 19:26:01 UTC
341661
341662         · 71145ddda7 Merge pull request #33549 from thatch45/33530
341663
341664         · b906859fce Fix for #33530
341665
341666       · PR #33538: (anlutro) Fix a KeyError if group is provided but not user
341667         in cmd states @ 2016-05-26 17:58:05 UTC
341668
341669         · 4831c6a353       Merge      pull      request      #33538      from
341670           alprs/fix-cmd_user_runas_deprecation_bug
341671
341672         · c738a0de76 fix a KeyError if group is provided but not user
341673
341674       · ISSUE #33543: (arthurlogilab) Thorium  documentation  is  incorrectly
341675         formated and appears partially on docs.saltstack.com (refs: #33550)
341676
341677       · PR  #33550: (jacobhammons) Fixes display of thorium docs @ 2016-05-26
341678         17:57:05 UTC
341679
341680         · 5287a1b8c8  Merge  pull  request  #33550  from  saltstack/jacobham‐
341681           mons-patch-1
341682
341683         · 65df3a6fa2 Refs #33543
341684
341685       · PR  #33509:  (twangboy)  Detect  System  Architecture for Mac Build @
341686         2016-05-26 14:40:54 UTC
341687
341688         · 3a95f8a977 Merge pull request #33509 from twangboy/fix_arch
341689
341690         · 7844059dcf Handle system architecture
341691
341692       · PR #33522: (jfindlay) rework modules.mac_brew.latest_version to  work
341693         around brew version inconsistency @ 2016-05-26 14:19:25 UTC
341694
341695         · 0bc881b4da Merge pull request #33522 from jfindlay/mac_pkg
341696
341697         · 2781377b17 modules.mac_brew: update unit tests
341698
341699         · 0ed3598fc9 modules.mac_brew int tests: add latest_version test
341700
341701         · 8789c2d06d        modules.mac_brew       int       tests:       add
341702           list_upgrades,info_installed
341703
341704         · be381e0fc9 modules.mac_brew int tests: move decorators to class
341705
341706         · fa3ec8a2bf modules.mac_brew.latest_version: refactor to  use  stan‐
341707           dard methods
341708
341709         · 58492c29cf modules.mac_brew: add info_installed function
341710
341711         · 9abf8f4832 modules.mac_brew.list_upgrades: use brew's json output
341712
341713         · 77a4f5b01e modules.mac_brew: move retcode check to _call_brew
341714
341715       · PR  #33519: (jacobhammons) New doc site layout, 2016.3.0 release note
341716         known issue additions @ 2016-05-26 13:53:21 UTC
341717
341718         · 518713f5e5 Merge pull request #33519 from jacobhammons/2016.3.0rel
341719
341720         · a424c38f5d New doc site layout, 2016.3.0 release note  known  issue
341721           additions
341722
341723       · PR #33508: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
341724         2016-05-25 20:34:49 UTC
341725
341726         · 9199101ef2 Merge pull request #33508 from rallytime/merge-2016.3
341727
341728         · a5e0141eda Merge branch '2015.8' into '2106.3'
341729
341730         · 5a6b037cbd Merge pull request #33507 from rallytime/merge-2015.8
341731
341732           · 03b0c97520 Merge branch '2015.5' into '2015.8'
341733
341734           · 6f7fda0354 Merge pull request #33486 from jtand/2015.5
341735
341736             · d1e210fff8        Merge        branch        '2015.5'        of
341737               https://github.com/saltstack/salt into 2015.5
341738
341739             · ee2ae0ea8a  Added docstring examples to glance.image_schema and
341740               schema_get
341741
341742             · 59e90064e6 modules.swift.head does not have a body. Should  not
341743               be checked for a docstring right now.
341744
341745           · f72ec1479b   Merge   pull   request  #33482  from  rallytime/pil‐
341746             lar-opts-docs
341747
341748             · 087564528d Add pillar_opts docs to master.rst
341749
341750           · dc644b145d Merge pull request #33488 from rallytime/fix-18752
341751
341752             · b0a9f4181f Add docs for the syndic_finger config
341753
341754           · a4e84aa7d2 Merge pull request #33454 from scubahub/2015.5
341755
341756             · df3c0b8e78 Correct (and make consistent) determination  of  the
341757               test flag.
341758
341759           · 3a52ace673 manage account information for pam (#33473)
341760
341761         · ee76be3b0b Merge pull request #33503 from rallytime/fix-15252
341762
341763           · cfc07f7641 Add docs about minion config file in standalone minion
341764             docs
341765
341766         · e9b648e461 Merge pull request #33474 from cachedout/issue_29451
341767
341768           · aa2bac3a0d Remove debugging
341769
341770           · 68d8050cb8 Fix diskusage beacon
341771
341772         · 3bfb6bf719      Merge      pull      request      #33465       from
341773           meaksh/check-if-job-returns-successfully-2015.8
341774
341775           · 9deb70fd8e  jobs.exit_success()  now works parsing the results of
341776             jobs.lookup_id()
341777
341778           · 7ba40c4f31 jobs.exit_success allow to check if a job has executed
341779             and exit successfully
341780
341781         · 70eb7b66f3 Merge pull request #33487 from jtand/glance_doc_fixes
341782
341783           · 0b1cae05d9   Added  docstring  examples  to  glance  methods  and
341784             nova.list
341785
341786           · ebf1256545 Don't need to check swift.head due  to  it  having  no
341787             body
341788
341789         · 56ea979916 Merge pull request #33481 from rallytime/fix-33423
341790
341791           · 7fd3e8f361 Fix docs about etcd config options and add pillar_opts
341792             doc
341793
341794         · 2394cdc4bf Merge pull request #33490 from rallytime/fix-16319
341795
341796           · 0c5548f9d1 Document the postgres.psql_query function
341797
341798         · ede232f0f1 Merge pull request #33480 from jfindlay/service_doc
341799
341800           · 29c00a1b1b states.service: clarify function description language
341801
341802           · 6a9ae09e79 states.service.__virtual__: add load fail reason
341803
341804         · 4f96cc1f54 Return full pending computer name (#33483)
341805
341806         · a89be5e9d4 Use six.string_types in jobs runner (#33499)
341807
341808         · 2e24a04565 Merge pull request #33491 from BlaineAtAffirm/2015.8
341809
341810           · 7599b18995 fix jobs.list_jobs failing with search_target
341811
341812         · 1861af427e Merge pull request #33478 from rallytime/bp-32484
341813
341814           · 042f17efa4 Only unsub if we have a jid
341815
341816         · b8154b678e Merge pull request #33457 from rallytime/doc-formatting
341817
341818           · 82f8f3efff Make doc formatting consistent and  use  correct  ver‐
341819             sionadded
341820
341821         · 1dfa95651c Don't allow a "repo" kwarg for pkgrepo.managed (#33477)
341822
341823         · b4071b07f1  Allow  for config entry to be a list in a dict for bea‐
341824           cons (#33476)
341825
341826         · 9f56ab4c45  Merge  pull  request  #33469  from  meaksh/zypper-down‐
341827           load-check-signature-2015.8
341828
341829           · a65071a6d1 simpler rpm.checksum function
341830
341831           · 80fe303e38 Renamed check_sig to checksum and some refactoring
341832
341833           · d56e3f4258  bugfix:  showing errors when a package download fails
341834             using zypper pkg.download
341835
341836           · 8a21b9149e check the signature of downloaded RPM files
341837
341838         · 00f9090928 Add docs about PyYAML's 1024 character  limitations  for
341839           simple keys (#33459)
341840
341841         · 3b12f396b4  Prevent several minion processes on the same machine (‐
341842           #33464)
341843
341844         · c8b4f338d8 Make --gpg-auto-import-keys a global param when  calling
341845           zypper (#33432)
341846
341847         · 0c4e38ced4  Fix  the  saltutil.wheel  function  and add integration
341848           tests  (#33414)
341849
341850       · PR #33505: (twangboy) Fix  build  script  where  pip  didn't  work  @
341851         2016-05-25 18:15:27 UTC
341852
341853         · a43ffadcb7 Merge pull request #33505 from twangboy/fix_build_script
341854
341855         · 7d78e5d612 Fix build script where pip wouldn't work
341856
341857       · PR  #33076: (cachedout) Avoid second grains load on windows multipro‐
341858         cessing (refs: #33656) @ 2016-05-25 17:10:06 UTC
341859
341860         · 4cf40da7d7 Merge pull request #33076 from cachedout/win_grains
341861
341862         · dab9825c88 Fix indentation error
341863
341864         · b14e2cce9e Avoid second grains load on windows multiprocessing
341865
341866   Salt 2016.3.2 Release Notes
341867       Version 2016.3.2 is a bugfix release for 2016.3.0.
341868
341869   Statistics
341870       · Total Merges: 200
341871
341872       · Total Issue References: 66
341873
341874       · Total PR References: 177
341875
341876       · Contributors: 52 (Ch3LL,  DarkKnightCZ,  DmitryKuzmenko,  Inveracity,
341877         abalashov,  abednarik, adelcast, ajacoutot, amendlik, anlutro, aphor,
341878         artxki,  bbinet,  bensherman,  cachedout,  christoe,   clinta,   cro,
341879         dmurphy18,  dongweiming, eliasp, eradman, farcaller, garethgreenaway,
341880         glomium, gtmanfred,  isbm,  jacobhammons,  jacobweinstock,  jfindlay,
341881         jmacfar,  jnhmcknight,  justinta,  l2ol33rt, lomeroe, meaksh, nulfox,
341882         opdude, peterdemin,  rallytime,  s0undt3ch,  secumod,  sjmh,  sjorge,
341883         terminalmage,  thatch45,  themalkolm,  ticosax, tmehlinger, twangboy,
341884         vutny, whiteinge)
341885
341886   Returner Changes
341887       · Any returner which implements a save_load function is now required to
341888         accept a minions keyword argument. All returners which ship with Salt
341889         have been modified to do so.
341890
341891   Changelog for v2016.3.1..v2016.3.2
341892       Generated at: 2018-05-27 04:37:58 UTC
341893
341894       · PR #34988: (rallytime)  Update  release  notes  with  new  changes  @
341895         2016-07-27 15:54:16 UTC
341896
341897         · 721e6dcce8     Merge    pull    request    #34988    from    rally‐
341898           time/release-notes-update
341899
341900         · a2aae987a6 Update release notes with new changes
341901
341902       · PR #34946: (anlutro) Fix virtualenv behavior when requirements  files
341903         are in subdirectories @ 2016-07-27 14:43:27 UTC
341904
341905         · d63ac1671c  Merge pull request #34946 from alprs/fix-venv_reqs_sub‐
341906           dir
341907
341908         · f773d63cbb normalize requirements path to be absolute
341909
341910         · bdec73bb03 remove unnecessary os.path.basename logic
341911
341912       · PR #34957: (sjmh) Don't fall  through  to  checking  auth  entries  @
341913         2016-07-26 22:16:17 UTC
341914
341915         · f765faa3aa Merge pull request #34957 from sjmh/2016.3
341916
341917         · 0095dbe530 Don't fall through to checking auth entries
341918
341919       · PR  #34971: (cachedout) Increase timeout for grains test @ 2016-07-26
341920         22:11:29 UTC
341921
341922         · 2d3b95dec9 Merge pull request #34971 from  cachedout/increase_time‐
341923           out_grains_test
341924
341925         · 82d271b43a Increase timeout for grains test
341926
341927       · ISSUE  saltstack/salt#34873:  (Cashwini) Scheduler on master does not
341928         recognize the  date  strings  supported  by  python  dateutil  (refs:
341929         #34951)
341930
341931       · ISSUE  #34873:  (Cashwini) Scheduler on master does not recognize the
341932         date strings supported by python dateutil (refs: #34951)
341933
341934       · PR #34951: (vutny) Fix #34873 @ 2016-07-26 17:07:48 UTC
341935
341936         · f23e8c525e Merge pull request #34951 from vutny/fix-schedule-dateu‐
341937           til
341938
341939         · 0faa490991   Fix   job   scheduling   using   when   parameter  (by
341940           python-dateutil)
341941
341942       · PR #34935: (rallytime) Avoid UnboundLocalError in  beacons  module  @
341943         2016-07-26 17:01:23 UTC
341944
341945         · PR  #34894:  (rallytime)  [develop]  Merge  forward  from 2016.3 to
341946           develop (refs: #34935)
341947
341948         · deb1331601  Merge   pull   request   #34935   from   rallytime/bea‐
341949           cons-mod-cleanup
341950
341951         · 97a36ef367 Avoid UnboundLocalError in beacons module
341952
341953         · PR #34956: (cachedout) Increase all run_script timeouts to 30s
341954
341955       · PR #34933: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
341956         2016-07-25 22:09:05 UTC
341957
341958         · 5d194f2d17 Merge pull request #34933 from rallytime/merge-2016.3
341959
341960         · 8b295fe4ea Merge branch '2015.8' into '2016.3'
341961
341962         · ec8fc058d4 Master performance improvement (#34916)
341963
341964         · 34dc2fd792 Merge pull request #34911 from cachedout/backport_34906
341965
341966           · 8becec2f4f Backport #34906
341967
341968         · 6ccc27f697      Merge      pull      request      #34898       from
341969           hrumph/list_upgrades_refresh
341970
341971           · acd4b1a23b Fixes #33620
341972
341973         · 5c13ee0e72  Merge  pull  request #34606 from isbm/isbm-config-read‐
341974           ing-exit-2015.8
341975
341976           · 5f5b802c0c Add option to master config reader on ignoring  system
341977             exit for wrong configuration
341978
341979           · 6fc677f177  Ignore minion config errors everywhere but the minion
341980             itself
341981
341982           · 8699194647 Remove deprecation:  BaseException.message  deprecated
341983             as of 2.6
341984
341985           · 0e65cfec91 Fix lint: E8302
341986
341987           · 67faa56bf1 Use Salt default exit codes instead of hard-coded val‐
341988             ues
341989
341990           · a84556e596 Exit immediately on configuration error
341991
341992           · 43d965907c Raise an exception on any  found  wrong  configuration
341993             file
341994
341995           · 30ed728d05 Cover exception handling in the utils.parsers
341996
341997           · 5e8c0c6bdb Introduce configuration error exception
341998
341999       · ISSUE  #34760: (nate-byrnes) XenServer 7 needs correct provider setup
342000         for services. (refs: #34915)
342001
342002         · PR  #34915:  (abednarik)  Update  service_rh  provider  to  exclude
342003           XenServer >= 7.
342004
342005       · PR #34926: (rallytime) Lint #34923 @ 2016-07-25 14:53:42 UTC
342006
342007         · PR #34923: (eliasp) Handle exception when no Slack API key was pro‐
342008           vided (refs: #34926)
342009
342010         · a7e7ec6d25 Merge pull request #34926 from rallytime/lint-34923
342011
342012         · b3514abf1b Lint fixes for #34923
342013
342014         · 69afcc4060 Handle exception when no Slack API key was provided
342015
342016       · ISSUE saltstack/salt#34908: (Ch3LL) Cannot start proxy minion due  to
342017         keyerror in grains (refs: #34910)
342018
342019       · PR #34910: (cachedout) Fix grains error on proxy minions @ 2016-07-22
342020         23:05:46 UTC
342021
342022         · c663c8bb5b Merge pull request #34910 from cachedout/proxy_grains
342023
342024         · 0970ebace8 Fix grains error on proxy minions
342025
342026         · PR #34864: (jmacfar) Check for version in list  of  installed  ver‐
342027           sions
342028
342029       · ISSUE saltstack/salt#34816: (msdogado) VirtuozzoLinux not realized as
342030         RedHat by pkg (refs: #`saltstack/salt`#34878`_`_, #34878)
342031
342032         · PR saltstack/salt#34878: (abednarik) Add VirtuozzoLinux  is  yumpkg
342033           enable list. (refs: #34902)
342034
342035         · PR #34902: (rallytime) Back-port #34878 to 2016.3
342036
342037         · PR  #34878:  (abednarik)  Add VirtuozzoLinux is yumpkg enable list.
342038           (refs: #34902)
342039
342040       · ISSUE saltstack/salt#34893: (msdogado) rpm VirtuozzoLinux not working
342041         (refs: #34901)
342042
342043       · PR #34901: (rallytime) Add VirtuozzoLinux to the list of enabled dis‐
342044         tros for rpm.py @ 2016-07-22 22:23:48 UTC
342045
342046         · ad640cc046 Merge pull request #34901 from rallytime/fix-34893
342047
342048         · 45e2ce10a4 Add VirtuozzoLinux to the list of  enabled  distros  for
342049           rpm.py
342050
342051       · ISSUE  saltstack/salt#34890:  (msdogado) VirtuozzoLinux enabling ser‐
342052         vices not working (refs: #34900)
342053
342054       · PR #34900: (rallytime) Add VirtuozzoLinux to enabled  platforms  list
342055         in rh_service.py @ 2016-07-22 22:21:20 UTC
342056
342057         · 5aa532f98b Merge pull request #34900 from rallytime/fix-34890
342058
342059         · 12824487cc  Add VirtuozzoLinux to enabled platforms list in rh_ser‐
342060           vice.py
342061
342062       · PR #34887: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342063         2016-07-22 18:04:47 UTC
342064
342065         · ebebfa647f Merge pull request #34887 from rallytime/merge-2016.3
342066
342067         · 109b368d19 Merge branch '2015.8' into '2016.3'
342068
342069           · fb223e1bd4 Invalidate the target cache very quickly (#34862)
342070
342071           · 1ca1367289  Fail  git.latest states with uncommitted changes when
342072             force_reset=False (#34869)
342073
342074           · 4f4381e5b9   Merge   pull    request    #34859    from    cached‐
342075             out/fix_wheel_test
342076
342077             · b4be66dedf Fix wheel test
342078
342079       · PR  #34632: (eliasp) Try to create the log directory when not present
342080         yet @ 2016-07-22 17:34:31 UTC
342081
342082         · eba34f7f4c  Merge  pull  request  #34632  from   eliasp/2016.3-cre‐
342083           ate-logdir-when-needed
342084
342085         · 9c89470661 Try to create the log directory when not present yet
342086
342087       · PR #34854: (rallytime) Remove string_types import from state compiler
342088         @ 2016-07-22 17:20:15 UTC
342089
342090         · 965f517889    Merge    pull    request    #34854    from     rally‐
342091           time/cleanup-state-imports
342092
342093         · 73d3075ce9 Remove string_types import from state compiler
342094
342095       · ISSUE  saltstack/salt#26171: (HG00) salt-ssh from python2.6 master to
342096         python2.7 minion fails on "from _elementtree import *" (refs: #34865)
342097
342098       · PR #34865: (thatch45) This needs discussion, since this breaks SUSE @
342099         2016-07-22 17:19:34 UTC
342100
342101         · 584d7606d4 Merge pull request #34865 from thatch45/break_suse
342102
342103         · 6c5f363921 This needs discussion, since this breaks SUSE
342104
342105       · PR #34858: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342106         2016-07-21 21:01:17 UTC
342107
342108         · aaede31f66 Merge pull request #34858 from rallytime/merge-2016.3
342109
342110         · 9227c3dd26 Merge branch '2015.8' into '2016.3'
342111
342112         · acc9e31c02 Merge pull request #34822 from thatch45/ssh_fixes
342113
342114           · b5de492143 fix #34798
342115
342116           · 5ad6bd7307 fix #34796
342117
342118         · 5d91139bc9 Merge pull request #34847 from cachedout/pwall
342119
342120           · 2c8298dc6e Profile logging
342121
342122           · 3affafa2e9 Add an option to skip the verification  of  client_acl
342123             users
342124
342125         · 07d1d36653 Merge pull request #34827 from thatch45/34691
342126
342127           · 1ccf35eca4 fix beacon list to include all beacons being processed
342128
342129         · b375720251 Merge pull request #34833 from rallytime/bp-28521
342130
342131           · e50a6783ce SPM: packaging doesn't work in Python 2.6. Fixed.
342132
342133         · 042646582f Merge pull request #34823 from rallytime/bp-25276
342134
342135           · a028796eff copy spm.1 man page during setup Refs #25213
342136
342137         · 6c35d88268 Fix #34648 (#34828)
342138
342139       · PR  #34852:  (rallytime)  Skip  GCE unit tests - causes test suite to
342140         hang @ 2016-07-21 17:52:31 UTC
342141
342142         · b3d8143d36 Merge pull request #34852 from rallytime/skip-gce-tests
342143
342144         · 15b4f5a8b3 Skip GCE unit tests - causes test suite to hang
342145
342146         · PR #34850: (rallytime) Update 2016.3.2 release notes
342147
342148       · ISSUE #34215: (rvora)  salt-master  crashes  every  few  days  (refs:
342149         #34683)
342150
342151       · PR  #34844: (vutny) Fix getting total available memory without psutil
342152         installed @ 2016-07-21 17:12:38 UTC
342153
342154         · PR #34683: (cachedout) Fix publisher leak (refs: #34844)
342155
342156         · 650674d14a      Merge      pull      request      #34844       from
342157           vutny/fix-grains-load-in-config-init
342158
342159         · 4dc7827020  Fix comment in master config, prevents the service from
342160           starting
342161
342162         · b4cfebb107 Fix Salt failure after merge of #34683
342163
342164         · PR #34848: (rallytime) Update release notes for 2016.3.2
342165
342166       · ISSUE saltstack/salt#34345: (edgan) Salt master mode's  and  salt-ssh
342167         mode's top.sls processing aren't the same (refs: #34837)
342168
342169       · ISSUE  #34345: (edgan) Salt master mode's and salt-ssh mode's top.sls
342170         processing aren't the same (refs: #34837)
342171
342172       · PR #34837: (thatch45) Fix #34345 @ 2016-07-21 14:36:15 UTC
342173
342174         · 52a95b2ea3 Merge pull request #34837 from thatch45/34345
342175
342176         · 1e8c585cd3 Fix #34345
342177
342178       · ISSUE saltstack/salt#32591:  (AndrewPashkin)  "RuntimeError:  maximum
342179         recursion  depth  exceeded"  in  salt/utils/lazy.py,  using  Salt-SSH
342180         (refs: #34838)
342181
342182       · PR  #34838:  (thatch45)  Check  if  a  valid  value  is   passed   to
342183         unlyif/unless @ 2016-07-21 14:34:29 UTC
342184
342185         · 96450ac74d Merge pull request #34838 from thatch45/unless_valid
342186
342187         · 1f34299a84 Check if a valid value is passed to unlyif/unless
342188
342189       · ISSUE  saltstack/salt#32525: (anlutro) state.show_low_sls not working
342190         in salt-ssh (refs: #34840)
342191
342192       · PR  #34840:  (thatch45)  update  the   state   wrapper   to   include
342193         show_low_sls @ 2016-07-21 14:34:02 UTC
342194
342195         · 3a5ef86d58 Merge pull request #34840 from thatch45/state_update_ssh
342196
342197         · 77dce3920c update the state wrapper to include show_low_sls
342198
342199       · ISSUE  #34762: (aphor) zpool state module needs support for disk vdev
342200         (refs: #34791, #34770)
342201
342202       · PR #34842: (sjorge) 2016.3  zpool  cleanup  and  fixes  @  2016-07-21
342203         14:32:56 UTC
342204
342205         · PR  #34770:  (aphor) zpool state module needs support for disk vdev
342206           #34762 (refs: #34842)
342207
342208         · 5f67318fd7 Merge pull request #34842 from  sjorge/2016.3-zpool-sim‐
342209           plifaction
342210
342211         · a7ff9524b0 drop parsing of vdevs, error passthrough from zpool cli
342212
342213         · 25d6c8139b eliminate hardcoded vdev type from zpool state
342214
342215         · 47b8dc946c salt.states.zpool - work with updates exec module
342216
342217         · a5a98845c7 salt.module.zpool - fix bug with properties on/off being
342218           parsed as true/false
342219
342220         · dd64494a19 salt.modules.zpool - drop vdev types  to  make  it  more
342221           future proof, fallback to zpool cli error messages
342222
342223         · PR  #34825:  (thatch45)  keep this beacon from stack tracing at the
342224           loader
342225
342226       · PR #34824: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342227         2016-07-20 20:54:35 UTC
342228
342229         · b9db0b0036 Merge pull request #34824 from rallytime/merge-2016.3
342230
342231         · 094731f4b6 Merge branch '2015.8' into '2016.3'
342232
342233         · 98fa4a404e  Merge  pull request #34818 from jtand/mysql_state_inte‐
342234           gration_test_cleanup
342235
342236           · 9abb6f91bb Skip mysql state test if mysqladmin is not available
342237
342238         · 6636f2b449 Merge pull request #34803 from junovitch/issue_24744
342239
342240           · 64c850410f salt/state.py: set 'chunk['order'] = 0'  with  'order:
342241             first'; fixes #24744
342242
342243       · PR  #34670:  (isbm)  Add "osmajorrelease" grain (2016.3) @ 2016-07-20
342244         14:39:38 UTC
342245
342246         · 62ef8fdb35 Merge  pull  request  #34670  from  isbm/isbm-osmajorre‐
342247           lease-grain-suse
342248
342249         · a6bcbd615f Lintfix PEP8: E262
342250
342251         · 110a422d5a Keep osmajorrelease as a string type for 2016.3 release
342252
342253         · 208fd33b48 Add unit test for osmajorrelease grain
342254
342255         · 9a6b2175c6 Implement "osmajorrelease" by killing spaghetti
342256
342257       · ISSUE  #34215:  (rvora)  salt-master  crashes  every  few days (refs:
342258         #34683)
342259
342260       · PR #34683: (cachedout) Fix publisher leak (refs: #34844) @ 2016-07-20
342261         13:57:10 UTC
342262
342263         · 6ca9ffa7c7 Merge pull request #34683 from cachedout/issue_34215
342264
342265         · ccd53e9214 Lint
342266
342267         · 76eb46fb08 Document master setting
342268
342269         · 0dfe3aaf31 Set up dynamic config
342270
342271         · 3cfb82cdd4 Fix silly error
342272
342273         · 35a845fff5 Only set IPC with write buffer if set
342274
342275         · b2d636017d Add IPC to minion opts
342276
342277         · 2c1c92c48e Lint
342278
342279         · c4395ae84e Dial down default buffer and apply to just write buffer
342280
342281         · 3e3e2a997e Typo
342282
342283         · 78f6251c09 Correct issues with config
342284
342285         · c138cc03e3 Configuration settings for IPC buffers
342286
342287       · ISSUE  #34762: (aphor) zpool state module needs support for disk vdev
342288         (refs: #34791, #34770)
342289
342290       · PR #34791: (sjorge) salt.state.zpool tweaks @ 2016-07-19 20:56:47 UTC
342291
342292         · 49ab3fd2b5 Merge pull request #34791 from sjorge/zpool-state-tweaks
342293
342294         · d48c6d2dcb accomidate use of "fake" vdev type disk,  this  behavior
342295           may  be  broken  later  if  a  disk vdev ever gets added to the cli
342296           tools. improve documentation explaining how  to  create  a  striped
342297           pool without the "fake" vdev type
342298
342299       · PR #34784: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342300         2016-07-19 16:30:18 UTC
342301
342302         · 1617a7058a Merge pull request #34784 from rallytime/merge-2016.3
342303
342304         · 3e032dc397 Merge branch '2015.8' into '2016.3'
342305
342306         · 58021035a9    Merge    pull    request     #34773     from     ran‐
342307           domed/mysql-returner-startup/2015.8
342308
342309           · 0cd55eb7d7  Add  jid=req  handling  for mysql returner. It should
342310             also store the return jid into the jid list table.
342311
342312         · 10a1af9949 Remove unnedeed config test (#34751)
342313
342314         · f19caac8e4  Merge   pull   request   #34754   from   cachedout/dis‐
342315           able_mid_test
342316
342317           · 46901c6e65 Disable test
342318
342319         · 81f29006f2 Merge pull request #34741 from rallytime/bp-34726
342320
342321           · d949110993  Loop over updated keys in non recursive update
342322
342323       · ISSUE  saltstack/salt#34630:  (bdrung) Spelling errors (refs: #34756,
342324         #34722)
342325
342326       · ISSUE saltstack/salt#33923:  (pavankumar2203)  Salt  module  certutil
342327         install doesnt work (refs: #34756)
342328
342329         · PR #34756: (jacobhammons) Rebuild man pages
342330
342331       · ISSUE   saltstack/salt#27980:   (rayba)   salt-cloud  2015.5.0  azure
342332         provider could not be loaded (refs: #34746)
342333
342334       · PR #34746: (rallytime) Update azure lib  dep  to  match  the  one  in
342335         cloud.clouds.msazure @ 2016-07-18 18:54:40 UTC
342336
342337         · 2a9738f00d Merge pull request #34746 from rallytime/azure-version
342338
342339         · ead3eb1606   Update   azure   lib   dep   to   match   the  one  in
342340           cloud.clouds.msazure
342341
342342       · PR #34744: (justinta) Test valid docs fix @ 2016-07-18 18:22:47 UTC
342343
342344         · c0e2657c8e Merge pull request #34744 from jtand/test_valid_docs_fix
342345
342346         · 4fe33a7695 add directives example to ldap3.modify
342347
342348         · 6fa40a0d46 Add cli examples for ldap3 module
342349
342350         · b94e0dd95a ipset.long_range doesn't need a docstring
342351
342352       · PR #34740: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342353         2016-07-18 16:28:56 UTC
342354
342355         · d4adf98b85 Merge pull request #34740 from rallytime/merge-2016.3
342356
342357         · 7d106c78f0 Merge branch '2015.8' into '2016.3'
342358
342359           · e9e5bbe38b Merge pull request #34721 from rallytime/fix-34703
342360
342361             · 9c803d05a5 Add output_file option to master config docs
342362
342363       · PR  #34607:  (isbm)  Bugfix:  Exit on configuration read (backport) @
342364         2016-07-18 15:15:21 UTC
342365
342366         · efc7599f85 Merge pull request  #34607  from  isbm/isbm-config-read‐
342367           ing-exit-2016.3
342368
342369         · fb7542f920  Add  option  to master config reader on ignoring system
342370           exit for wrong configuration
342371
342372         · abd10b5782 Ignore minion config errors everywhere  but  the  minion
342373           itself
342374
342375         · e5f43e6711  Remove deprecation: BaseException.message deprecated as
342376           of 2.6
342377
342378         · 23d1031a09 Fix lint: E8302
342379
342380         · 6b660678fa Use Salt default exit codes instead of hard-coded values
342381
342382         · 0c2d3511c9 Exit immediately on configuration error
342383
342384         · c5de6c8c4a Raise an exception on any found wrong configuration file
342385
342386         · 575767022b Cover exception handling in the utils.parsers
342387
342388         · 2cf696671f Introduce configuration error exception
342389
342390         · PR saltstack/salt#34607: (isbm) Bugfix: Exit on configuration  read
342391           (backport) (refs: #34739)
342392
342393       · PR  #34739:  (cachedout)  Remove  unnedeed  config  test @ 2016-07-18
342394         15:15:15 UTC
342395
342396         · d0e0c0186b Merge pull  request  #34739  from  cachedout/remove_con‐
342397           fig_test
342398
342399         · 4625ee65b8 Remove unnedeed config test
342400
342401       · ISSUE  saltstack/salt#34630:  (bdrung) Spelling errors (refs: #34756,
342402         #34722)
342403
342404       · PR #34722: (rallytime) Various spelling fixes @  2016-07-16  19:49:54
342405         UTC
342406
342407         · abf5b976ed Merge pull request #34722 from rallytime/fix-34630
342408
342409         · cca9446c37 Various spelling fixes
342410
342411       · PR  #34714:  (sjmh)  Fix  ldap auth for function matches @ 2016-07-16
342412         19:49:12 UTC
342413
342414         · 922cc5a8a7 Merge pull request #34714 from sjmh/fix/ldap_auth
342415
342416         · d4144039bc Fix ldap auth for function matches
342417
342418       · PR #34720: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342419         2016-07-16 19:22:28 UTC
342420
342421         · 40626d786a Merge pull request #34720 from rallytime/merge-2016.3
342422
342423         · c2130d5a04 Merge branch '2015.8' into '2016.3'
342424
342425         · 08d00f3a61 Merge pull request #34689 from Azidburn/fix_pkg_sources
342426
342427           · 2c0fc919b3  fix  second  run  problems  with  pkg.installed using
342428             sources
342429
342430         · 4cb1ded520 Merge pull request  #34695  from  isbm/isbm-zypper-prod‐
342431           uct-boolean-values
342432
342433           · 5ed5142fbc  Update  test data for 'registerrelease' and 'product‐
342434             line' fields
342435
342436           · 21444ee240  Bugfix:  return  boolean  only   for   'isbase'   and
342437             'installed' attributes
342438
342439         · aaa6f7d80a update 2015.8.11 release notes (#34682)
342440
342441       · ISSUE  #34661: (chrimi) Cron State documentation lacks information of
342442         "New in" for special parameter in cron.present (refs: #34707)
342443
342444         · PR #34707: (rallytime) Add  versionadded  to  "special"  option  in
342445           cron.present state
342446
342447       · PR  #34696:  (isbm) Bugfix: Zypper pkg.list_products returns False on
342448         some empty values (2016.3) @ 2016-07-15 21:18:21 UTC
342449
342450         · 51fce770a5 Merge pull request  #34696  from  isbm/isbm-zypper-prod‐
342451           uct-boolean-values-2016.3
342452
342453         · 96021e257c Update test data for 'registerrelease' and 'productline'
342454           fields
342455
342456         · 337eee33ac Bugfix: return boolean only for 'isbase' and 'installed'
342457           attributes
342458
342459       · PR #34702: (farcaller) Fixed dockerng.list_tags @ 2016-07-15 20:50:35
342460         UTC
342461
342462         · 45045f6900 Merge pull request #34702 from farcaller/fixtags
342463
342464         · 032e35a28e Fixed dockerng.list_tags
342465
342466       · ISSUE saltstack/salt#34548: (Inveracity) win_dsc.set_lcm_config  does
342467         not  set  multiple  values,  missing  semicolon (refs: #34549, #salt‐
342468         stack/salt`#34549`_)
342469
342470         · PR saltstack/salt#34549: (Inveracity) fixes multiple values in  mof
342471           configuration (refs: #34681)
342472
342473         · PR #34681: (rallytime) Back-port #34549 to 2016.3
342474
342475         · PR  #34549: (Inveracity) fixes multiple values in mof configuration
342476           (refs: #34681)
342477
342478       · PR #34679: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342479         2016-07-14 20:59:45 UTC
342480
342481         · d57507dde8 Merge pull request #34679 from rallytime/merge-2016.3
342482
342483         · 0c566dce89 Merge branch '2015.8' into '2016.3'
342484
342485         · 3192e1674b   Merge   pull   request   #34676   from  cachedout/par‐
342486           tial_revert_34644
342487
342488           · 64a154826a Revert "Modify lodaer global  test  to  use  populated
342489             dunders"
342490
342491         · 3b6f1089b2 Merge pull request #34601 from lorengordon/clarify-doc
342492
342493           · bfe0dd0b8a Clarifies the proper way to reference states
342494
342495         · bc63f25a6f Lint 34644 (#34651)
342496
342497         · 50360263c5  Adjust  the  mine test a little bit to give it a better
342498           chance of success (#34647)
342499
342500         · 8a0209101e Merge  pull  request  #34642  from  jtand/mysql_integra‐
342501           tion_cleanup
342502
342503           · dd1559a599  Check  that  mysqladmin  exists  before running mysql
342504             integration tests.
342505
342506         · 3e612c3794 Merge pull request  #34618  from  jtand/network_integra‐
342507           tion_fix
342508
342509           · 34bcf9ccfc Changed network state test to use test=True
342510
342511           · b2616833b0 Some small changes
342512
342513           · ed59113e94 Change network state integration test to use test=True
342514
342515       · ISSUE  saltstack/salt#33452:  (Ch3LL)  Digital  Ocean does not return
342516         anything on deletion (refs: #34605)
342517
342518       · PR #34605:  (gtmanfred)  catch  error  if  no  dns  domains  exist  @
342519         2016-07-14 15:20:46 UTC
342520
342521         · b88c39e1d2 Merge pull request #34605 from gtmanfred/2016.3
342522
342523         · 37b0943539 catch error if no dns domains exist
342524
342525       · PR  #34557:  (jacobweinstock) handle jboss cli expression type in the
342526         parsing of output @ 2016-07-14 15:09:49 UTC
342527
342528         · b3dc6031fe   Merge   pull   request    #34557    from    jacobwein‐
342529           stock/jboss7_cli-handle-expression-type
342530
342531         · 1945153399  handle  jboss cli expression type in the parsing of the
342532           output
342533
342534         · PR #34652: (rallytime) Spelling fixes found in sqlite3 pillar docs
342535
342536       · ISSUE saltstack/salt#34382: (amontalban) Exception: unsupported oper‐
342537         and type(s) for -: 'str' and 'int' (refs: #34565)
342538
342539       · ISSUE #34554: (stjack99) num_cpus grain missing with Salt 2016.3.1 on
342540         FreeBSD 10.x (refs: #34565)
342541
342542         · PR #34565: (Ch3LL) add num_cpus grain to freebsd
342543
342544         · PR #34621: (justinta) Suse Leap doesn't have 'man'
342545
342546       · PR #34619: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342547         2016-07-12 21:52:01 UTC
342548
342549         · 61f5045a0d Merge pull request #34619 from rallytime/merge-2016.3
342550
342551         · f734afd0b0 Merge branch '2015.8' into '2016.3'
342552
342553         · 9f123543e5 Merge pull request #34617 from rallytime/merge-2015.8
342554
342555           · 3026df346f Merge branch '2015.5' into '2015.8'
342556
342557           · 57df38e685  Update  github  IP for ssh state integration tests (‐
342558             #34592)
342559
342560           · 2e1007254b Avoid circular imports when calling  salt.utils  func‐
342561             tions (#34584)
342562
342563         · b90ae407f9  Add support for edge case when Cmd and Entrypoint can't
342564           be blanked (#34593)
342565
342566         · 12b579c4e3 When sorting list actual_data, make it a list (#34590)
342567
342568         · 7dd8035c62 Gate docker unit test to check for docker (#34591)
342569
342570         · ae38c874da Add a bunch of documentation on getting files from other
342571           environments (#34560)
342572
342573         · 91e0656d44 Merge pull request #34531 from terminalmage/issue34397
342574
342575           · d0fec1b8f6 salt/modules/zypper.py: accept ignore_epoch argument
342576
342577           · 5ae9463c1f salt/modules/yumpkg.py: accept ignore_epoch argument
342578
342579           · c2791117af salt/modules/rpm.py: accept ignore_epoch argument
342580
342581           · c5de8b880d salt/modules/ebuild.py: accept ignore_epoch argument
342582
342583           · 4ee8e8f037 salt/modules/aptpkg.py: accept ignore_epoch argument
342584
342585           · 5b123b403c Pass ignore_epoch to salt.utils.compare_versions()
342586
342587           · 07368fac40   Accept  ignore_epoch  argument  for  salt.utils.com‐
342588             pare_versions()
342589
342590         · e99befad47   Merge   pull    request    #34545    from    terminal‐
342591           mage/docker-exec-driver
342592
342593           · dd5838e242  Handle cases where Docker Remote API returns an empty
342594             ExecutionDriver
342595
342596         · PR #34585: (rallytime) [2016.3] Avoid salt.utils  circular  imports
342597           when using "from"
342598
342599       · PR  #34616:  (jacobhammons) Adds a mock required for the network set‐
342600         tings beacon @ 2016-07-12 19:09:30 UTC
342601
342602         · c8bdfb272d Merge pull request #34616 from jacobhammons/network-set‐
342603           tings-mock
342604
342605         · 5e2ddb5eb0 Adds a mock required for the network settings beacon
342606
342607       · PR #34553: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342608         2016-07-11 19:36:26 UTC
342609
342610         · d8c8b4ac6f Merge pull request #34553 from rallytime/merge-2016.3
342611
342612         · 815c8b38d5 Merge branch '2015.8' into '2016.3'
342613
342614           · 7120d43df0   Merge    pull    request    #34546    from    rally‐
342615             time/rename-boto-secgroup-test
342616
342617             · f8a3622be7       Rename       unit.states.boto_secgroup      to
342618               unit.states.boto_secgroup_test
342619
342620           · ca92061821 Merge pull request #34537  from  rallytime/rename-sim‐
342621             ple-test
342622
342623             · ceefb6e34c Rename tests.unit.simple to tests.unit.simple_test
342624
342625           · fbab2f8c2b  [2015.8]  Update bootstrap script to latest stable (‐
342626             #34527)
342627
342628           · 6b8c76af83 Prevent many errors in the test suite in loader  tests
342629             (#34521)
342630
342631           · c2f296c95b Fix wrong order of retention_policy_exists (#34507)
342632
342633           · 685df80929    Merge    pull   request   #34518   from   terminal‐
342634             mage/fix-pkg.latest-test
342635
342636             · 4aef44ecdf Fix pkg.latest integration test for non-LTS ubuntu
342637
342638       · PR  #34569:  (eliasp)  Minor  doc  fixes  for  PostgreSQL  states   @
342639         2016-07-11 14:02:13 UTC
342640
342641         · 5b002e11b4  Merge  pull  request  #34569  from  eliasp/2016.3-post‐
342642           gres-doc
342643
342644         · 221da29ef5 Typo (defauldefault)
342645
342646         · ba3d7c624b Add code formatting
342647
342648         · b3409c97a2 Fix typo (seensseen)
342649
342650       · PR  #34524:  (terminalmage)  yumpkg:  Avoid   spurious   logging   in
342651         pkg.upgrade @ 2016-07-07 22:06:01 UTC
342652
342653         · 7e1abd77ba    Merge    pull    request    #34524   from   terminal‐
342654           mage/yumpkg-upgrade-logging
342655
342656         · 40992f0790 yumpkg: Avoid spurious logging in pkg.upgrade
342657
342658       · ISSUE #34439: (edgan) Fast memory leak on ctrl-c  out  of   salt  '*'
342659         state.highstate (refs: #34490)
342660
342661         · PR  #34490:  (cachedout) Fix master crash on ctl-c for long-running
342662           job
342663
342664       · PR #34520: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342665         2016-07-07 19:22:40 UTC
342666
342667         · b9e87620f5 Merge pull request #34520 from rallytime/merge-2016.3
342668
342669         · 27988dde48 Merge branch '2015.8' into '2016.3'
342670
342671         · a516f116d1    Merge    pull    request    #34513    from    cached‐
342672           out/lower_loader_log
342673
342674           · 733c5d00c0 Lower the log level for modules which cannot be loaded
342675             to trace
342676
342677         · 63f0451041 Merge pull request #34498 from rallytime/bootstrap-tuto‐
342678           rial-doc-fix
342679
342680           · 23c5739c3b Use -O in wget develop example in bootstrap tutorial
342681
342682         · 3ebba020b6 Rename some unit test files by adding _test (#34503)
342683
342684         · 8722257b82 Improve top file merging documentation (#34505)
342685
342686         · 6ce7cb9616 Gracefully handle non-XML output in GlusterFS  execution
342687           module. (#34492)
342688
342689         · 75299456be Use skipTest for network state integration test (#34489)
342690
342691         · 0f3f87fbc5  Update  dnsmasq.get_config  docs  to  use  correct con‐
342692           fig_file param. (#34488)
342693
342694       · ISSUE #34224: (tehsu) salt-cloud to rackspace uses public ip  instead
342695         of private (refs: #34499)
342696
342697       · PR  #34499: (gtmanfred) remove unnecessary block parsing ip addrs for
342698         nova @ 2016-07-07 16:23:46 UTC
342699
342700         · 58f46eae15 Merge pull request #34499 from gtmanfred/2016.3
342701
342702         · 019671d4c2 remove unnecessary block parsing ip addrs for nova
342703
342704         · PR #34468: (twangboy) Use Python 2.7.12 for Windows Build
342705
342706         · PR #34493: (twangboy) Use Python 2.7.12 for Mac Build
342707
342708       · PR #34486: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342709         2016-07-06 17:28:31 UTC
342710
342711         · 95094c73ff Merge pull request #34486 from rallytime/merge-2016.3
342712
342713         · 2b307b7ea1 Merge branch '2015.8' into '2016.3'
342714
342715         · e2f576e847    Merge    pull    request    #34462   from   terminal‐
342716           mage/git-describe-always
342717
342718           · 6ef7ee198e Restrict use of --always to git 1.5.6 and newer
342719
342720           · c554b22fc8   modules/git:   added    --always    parameter    for
342721             git.describe().
342722
342723         · 85f1f18239 Merge pull request #34467 from rallytime/bp-34457
342724
342725           · 746883741f Only access key metadata if we found key metadata
342726
342727         · 9e15337b74 Merge pull request #34432 from twangboy/fix_file.append
342728
342729           · 13f11fddce Remove refactoring code
342730
342731           · 78f7c530bb Remove unit tests, integration tests written
342732
342733           · b83392edea Remove len() in favor of boolean test
342734
342735           · 4373408163 Fix line error
342736
342737           · 2479b53e2f Fix erroneous report on newline code
342738
342739           · 75b6ed1fd5 Change back to binary read
342740
342741           · 65753cff6d Use os.linesep instead of n
342742
342743           · a55d63f086 Fix object names
342744
342745           · 3e2fe12e5e Add new line if missing
342746
342747           · 0b7821c8db Fix file.append state
342748
342749         · 91e095bb41  Merge  pull  request  #34429 from terminalmage/pkg-lat‐
342750           est-versioncheck
342751
342752           · 667f31a72a  Skip  version  checking  for  targeted  packages   in
342753             pkg.latest state
342754
342755         · 0a264597ca Forgot reference to inotify (#34455)
342756
342757       · ISSUE  #33915:  (mattglv)  Orchestration  runner output on Success vs
342758         Failures in 2016.3.0 (refs: #34459)
342759
342760       · PR #34459: (terminalmage) Ignore retcode  when  formatting  highstate
342761         output @ 2016-07-06 03:59:23 UTC
342762
342763         · 7867d49193 Merge pull request #34459 from terminalmage/issue33915
342764
342765         · 82a70e015f Ignore retcode when formatting highstate output
342766
342767       · ISSUE  #34371:  (erikgrinaker) git.detached does not work with commit
342768         ID as ref (refs: #34463)
342769
342770       · PR #34463: (terminalmage) states/git: pass required cwd parameter  to
342771         git.describe.  @ 2016-07-06 03:59:05 UTC
342772
342773         · ae6902290a Merge pull request #34463 from terminalmage/issue34371
342774
342775         · f981a5646a states/git: pass required cwd parameter to git.describe.
342776
342777       · ISSUE    #34395:    (artxki)   Nonfunctioning   default_password   in
342778         states.postgres_user.present (refs: #34436)
342779
342780       · PR #34466:  (rallytime)  Back-port  #34436  to  2016.3  @  2016-07-06
342781         03:57:15 UTC
342782
342783         · PR  #34436:  (artxki)  Fix #34395 Nonfunctional default_password in
342784           states.postgres_user.present (refs: #34466)
342785
342786         · 8f8a6d2f68 Merge pull request #34466 from rallytime/bp-34436
342787
342788         · e97c00b018   Fix   #34395   Nonfunctional    default_password    in
342789           states.postgres_user.present
342790
342791         · PR  #34453:  (justinta) Arch linux does not have osrelease or osma‐
342792           jorrelease grains
342793
342794       · ISSUE #33697:  (asloboda-cisco)  Client  clash  with  Tornado  IOLoop
342795         (refs: #34456)
342796
342797       · PR  #34456:  (thatch45)  Be  more  careful  when making the SMinion @
342798         2016-07-05 18:41:57 UTC
342799
342800         · fc67a4e216 Merge pull request #34456 from thatch45/2016.3
342801
342802         · edd6b95c60 we need to be more careful when making the SMinion
342803
342804       · PR #34452: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342805         2016-07-05 17:49:19 UTC
342806
342807         · 72b4d6b52c Merge pull request #34452 from rallytime/merge-2016.3
342808
342809         · 91120dba01 Merge branch '2015.8' into '2016.3'
342810
342811         · 7bb0868c66 Merge pull request #34451 from rallytime/merge-2015.8
342812
342813           · 55a91e22be Merge branch '2015.5' into '2015.8'
342814
342815           · 8c72ee56e4 Merge pull request #34435 from cachedout/backport_con‐
342816             fig_dir_integration
342817
342818             · 0e2c71a537 Backport change to integraiton test suite
342819
342820         · e65d1ae374 Merge pull  request  #34401  from  terminalmage/rpm-ver‐
342821           sion_cmp
342822
342823           · 7cefd4182d Use rpmdev-vercmp as a fallback for version comparison
342824             on RHEL5
342825
342826         · 5ddf417432 Merge pull request #34366 from steverweber/fix_servicer‐
342827           estart
342828
342829           · 7847c39024 Update service.py
342830
342831         · 485454febb Merge pull request #34426 from cro/inotify-linux-only
342832
342833           · 54a02f25ba Document that inotify is Linux only
342834
342835       · PR  #34427:  (twangboy)  Automated  signing  fixes  for Ubuntu 16.04,
342836         14.04, 12.04 (for dmurphy) @ 2016-07-05 15:18:46 UTC
342837
342838         · 7508d291d2 Merge pull request #34427 from twangboy/sign_fx
342839
342840         · c804480982 Add changes suggested by @cachedout
342841
342842         · 494deda074 Automated signing fixes for Ubuntu 16.04, 14.04, 12.04
342843
342844       · ISSUE #34379: (UtahDave) variable referenced before assignment (refs:
342845         #34400)
342846
342847       · PR  #34400: (cachedout) Fix uninitialized value @ 2016-07-01 17:42:55
342848         UTC
342849
342850         · b3875f397d Merge pull request #34400 from cachedout/issue_34379
342851
342852         · b413f05a4f Fix uninitialized value
342853
342854       · PR #34404: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342855         2016-07-01 15:02:09 UTC
342856
342857         · d1cd36ab2b Merge pull request #34404 from rallytime/merge-2016.3
342858
342859         · 8398de0baf Merge branch '2015.8' into '2016.3'
342860
342861         · fe18bbb527  Merge pull request #34392 from cro/salt-cloud-doc-clar‐
342862           ify
342863
342864           · 6cce575d40 Clarify that salt-cloud doesn't get installed by boot‐
342865             strap
342866
342867         · 45b8fb10d7 Merge pull request #34373 from jtand/network_state_inte‐
342868           gration_test
342869
342870           · 1d24053e36 network.system sls file
342871
342872           · 4a9e6af542 network.routes sls file
342873
342874           · 76c90b2ef6 network.managed sls file
342875
342876           · 84a36369fa Added network state integration test
342877
342878         · d6af1de0b7 Optimize pkg integration tests  and  add  a  couple  new
342879           tests (#34377)
342880
342881       · PR  #34292:  (twangboy)  Fix  runas  function  for  System  Account @
342882         2016-06-30 18:25:09 UTC
342883
342884         · ad63b1d3d3 Merge pull request #34292 from twangboy/fix_runas
342885
342886         · 433f300eba Enable all privileges
342887
342888         · 5584cc2c6f Handle users that aren't admin
342889
342890         · e9d2402c0b Fix runas function for System Account
342891
342892       · PR #34388:  (rallytime)  Back-port  #34378  to  2016.3  @  2016-06-30
342893         17:50:48 UTC
342894
342895         · PR #34378: (adelcast) network_settings.py: fix documentation (refs:
342896           #34388)
342897
342898         · be9a831ef6 Merge pull request #34388 from rallytime/bp-34378
342899
342900         · 2040dbeca5 network_settings.py: fix documentation
342901
342902         · PR #34352: (cro) Esxi dvs
342903
342904         · PR #34386: (rallytime) Beacon network docs
342905
342906       · PR #34376: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342907         2016-06-30 14:31:28 UTC
342908
342909         · 5a44b077a0 Merge pull request #34376 from rallytime/merge-2016.3
342910
342911         · 3149da1bcc Merge branch '2015.8' into '2016.3'
342912
342913         · af8ef1e461 Merge pull request #34368 from rallytime/merge-2015.8
342914
342915           · 3bce0cb510 Merge branch '2015.5' into '2015.8'
342916
342917           · 970aaa46d4 Merge pull request #34252 from gtmanfred/2015.5
342918
342919             · 82183f1572  return  list  of  nodes  for lxc driver when called
342920               directly
342921
342922         · 94e094652c Back-port #34324 to 2015.8 (#34344)
342923
342924         · 11dc0203b0 Making salt-ssh pass proper return codes for jinja  ren‐
342925           dering errors (#34342)
342926
342927       · PR  #34365:  (sjorge)  fixes  computenode_* grains on SmartOS compute
342928         nodes @ 2016-06-29 17:55:24 UTC
342929
342930         · 3808d849fe Merge pull request  #34365  from  sjorge/2016.3-fix-bro‐
342931           ken-smartos-grains
342932
342933         · 3ff895cacf fixes computenode_* grains on SmartOS compute nodes
342934
342935       · PR  #34353:  (cro)  Remove  proxy  check  and  additional  GetConnec‐
342936         tion--this makes the proxy… @ 2016-06-29 14:54:47 UTC
342937
342938         · 65efb55917 Merge pull request #34353 from cro/pyvmomi-ssl-fail
342939
342940         · 14ea29f446 Remove proxy check  and  additional  GetConnection--this
342941           makes  the proxy fail to start.  Need to check to see if proxy mem‐
342942           ory leak is back.
342943
342944       · PR #34348: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
342945         2016-06-28 23:28:45 UTC
342946
342947         · c89d1ad27f Merge pull request #34348 from rallytime/merge-2016.3
342948
342949         · c87a108a12 Don't forget the pylint disables for range
342950
342951         · 359e8ca2ce Pylint fixes
342952
342953         · f9ab8ba46d Merge branch '2015.8' into '2016.3'
342954
342955           · f6bd1ad47e Revert py3modernize lint changes (#34339)
342956
342957           · 046bdaa9f2   Merge   pull   request   #34306   from   ghedo/ipta‐
342958             bles_flush_table
342959
342960             · 882c6c9c86 Do not force 'filter' table when flushing
342961
342962           · 0c60feac02 Doc clarifications to file modules,  addition  of  new
342963             profile log level to docs, fixed example in dnsmasq (#34323)
342964
342965           · b793426c23 Remove unnecessarily-disabled sanity check (#34325)
342966
342967           · c5890a0eca Merge pull request #34335 from rallytime/merge-2015.8
342968
342969             · 2296587536 Merge branch '2015.5' into '2015.8'
342970
342971             · 6cce545d92  Merge  pull  request  #34313  from  rallytime/boot‐
342972               strap-2015.5
342973
342974               · c7db73be92  [2015.5]  Update  to  latest   bootstrap   script
342975                 v2016.06.27
342976
342977           · a6d3cc637b Typo in dockerio doc (#34319)
342978
342979           · dd4c937009   Merge   pull  request  #34312  from  rallytime/boot‐
342980             strap-2015.8
342981
342982             · 944a393f89  [2015.8]  Update   to   latest   bootstrap   script
342983               v2016.06.27
342984
342985           · 91703d2dc4    Merge    pull    request    #34307    from   rally‐
342986             time/fix-test-example
342987
342988             · f44a0543fe Fix test example in integration testing docs
342989
342990       · ISSUE #34255: (tmehlinger) fire_event  requisite  does  not  work  in
342991         orchestration states (refs: #34256, #34343)
342992
342993         · PR #34343: (rallytime) Back-port #34256 to 2016.3
342994
342995         · PR  #34256:  (tmehlinger) detect running from master in State.event
342996           method (refs: #34343)
342997
342998       · PR #34338: (themalkolm) Add listen/listen_in support to  stateconf.py
342999         @ 2016-06-28 21:50:14 UTC
343000
343001         · 0b9cb602fe Merge pull request #34338 from themalkolm/patch-2
343002
343003         · cd63541325 Add listen/listen_in support to stateconf.py
343004
343005       · PR #34283: (sjorge) 2016.3 mount vfstab support @ 2016-06-28 19:23:39
343006         UTC
343007
343008         · 80a659bb51 Merge pull request #34283 from sjorge/2016.3-mount-fstab
343009
343010         · b8c6948cd5 fixes broken rm_fstab test due to missing __grain__.ker‐
343011           nel
343012
343013         · d633e774ea actually do the cleanup, oops
343014
343015         · 987c240850 minor cleanup
343016
343017         · c3667203bf add test for vfstab
343018
343019         · 80e9d1d278 set __grains__ for fstab unit test
343020
343021         · f0f5d449c3 mount.vfstab implemented on Solaris like platforms
343022
343023         · 4398e8841b  undo  some  changes  to mount.fstab and mount.rm_fstab,
343024           create mount.vfstab and mount.rm_vfstab
343025
343026         · 133d3bb2bb mount.set_fstab errors out on Solaris like platforms
343027
343028         · c0863fb024 mount.rm_fstab works with Solaris like platforms
343029
343030         · 151799ea74 initial vfstab support (Solaris like platforms)
343031
343032       · ISSUE #34321: (Ch3LL) Raspberry Pi salt-minion missing osmajorrelease
343033         grain (refs: #34322)
343034
343035       · PR #34322: (Ch3LL) add osmajorrelease grain for raspbian @ 2016-06-28
343036         19:08:39 UTC
343037
343038         · 75aad073a9 Merge pull request #34322 from Ch3LL/add_grains_majorre‐
343039           lease_test
343040
343041         · 693cc61aa4 add osmajorrelease to ubuntu and fix pylint
343042
343043         · 2fc3e8a54b add osmajorrelease grain for raspbian
343044
343045       · PR  #34337:  (clinta) Change merge-if-exists logic to properly report
343046         changes @ 2016-06-28 18:41:56 UTC
343047
343048         · 81547f413d Merge pull request #34337 from clinta/serialize-merge
343049
343050         · ebe7def2fb Change merge-if-exists logic to properly report changes
343051
343052       · PR #34300: (vutny) Make apache.configfile state  handle  the  Options
343053         list correctly @ 2016-06-28 18:34:45 UTC
343054
343055         · affc65dc79       Merge      pull      request      #34300      from
343056           vutny/fix-apache-vhost-options
343057
343058         · 52001afdde Fix apache.configfile state example
343059
343060         · 64a9442e38 apache.config: correctly output a list of the Options
343061
343062       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #34333)
343063
343064         · PR #34333: (rallytime) Back-port #33734 to 2016.3
343065
343066         · PR #34304: (rallytime) Back-port #33734 to 2016.3 (refs: #34333)
343067
343068         · PR #33734: (glomium) modules/rabbitmq.py  version  checking  had  a
343069           logical error (refs: #34333, #34304)
343070
343071       · ISSUE  #34329: (clinta) file.serialize merge_if_exists fails:  'func‐
343072         tion' object has no attribute 'deserialize' (refs: #34330)
343073
343074         · PR #34330: (clinta) fix #34329
343075
343076       · ISSUE #34170: (rodoyle) ps.top raises ValueError "too many values  to
343077         unpack" when psutil > 4.1.0 (refs: #34318)
343078
343079         · PR #34318: (rallytime) Back-port #32182 to 2016.3
343080
343081         · PR  #32182:  (dongweiming) Fix psutil.cpu_times unpack error (refs:
343082           #34318)
343083
343084       · PR #34311: (rallytime) [2016.3] Update  to  latest  bootstrap  script
343085         v2016.06.27 @ 2016-06-27 18:59:27 UTC
343086
343087         · 1398b1c51e   Merge   pull   request   #34311  from  rallytime/boot‐
343088           strap-2016.3
343089
343090         · 75aa7047bc [2016.3] Update to latest bootstrap script v2016.06.27
343091
343092       · ISSUE #34129: (onorua) fqdn_ip4 and fqdn_ip6  are  empty  on  2016.3+
343093         (refs: #34284)
343094
343095       · PR  #34284:  (rallytime)  Don't require 'domain' to be present before
343096         checking fqdn_ip* grains @ 2016-06-27 17:06:17 UTC
343097
343098         · dc8462451d Merge pull request #34284 from rallytime/fix-34129
343099
343100         · 5f45a8ff73 Don't require 'domain' to  be  present  before  checking
343101           fqdn_ip* grains
343102
343103       · ISSUE  #30493:  (sjorge) salt.modules.status mostly broken on solaris
343104         like operating systems. (refs: #34296)
343105
343106       · PR #34296: (sjorge) 2016.3 status module now works  on  Solaris  like
343107         platforms @ 2016-06-27 16:49:41 UTC
343108
343109         · 259935d6d2 Merge pull request #34296 from sjorge/2016.3-module.sta‐
343110           tus
343111
343112         · a26340c555 make status.all_status work on Solaris like platforms
343113
343114         · 33e24fa697 make status.cpustats work on Solaris like platforms
343115
343116         · d214e9c776 correctly cast to int for status.netdevs on Solaris like
343117           platforms
343118
343119         · b74761b52d  make  status.cpuinfo support Solaris like platforms and
343120           OpenBSD
343121
343122         · 2cd76d5ab5 make status.diskstats work on Solaris like platforms
343123
343124         · 3211538830 make status.diskusage work on Solaris like platforms
343125
343126         · a12b311a62 make status.netdev compatible with  Solaris  like  plat‐
343127           forms
343128
343129         · 3bc01458aa  make status.netstats compatible with Solaris like plat‐
343130           forms
343131
343132         · 25678901fa avoid KeyError in ping_master
343133
343134         · 81d7fc98d8 make status.vmstats work on Solaris like  platforms  and
343135           OpenBSD
343136
343137       · PR #34281: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343138         2016-06-24 21:51:43 UTC
343139
343140         · 376bec0455 Merge pull request #34281 from rallytime/merge-2016.3
343141
343142         · ae8ad9329c Merge branch '2015.8' into '2016.3'
343143
343144         · d235b1245b   Merge    pull    request    #34233    from    thegood‐
343145           duke/for_2015.8_ipset
343146
343147           · 4da5e35bf4 ipset: fix the comment containing blank
343148
343149         · 65c5675a3f Merge pull request #34257 from rallytime/fix-34037
343150
343151           · d7a5e9b10e Remove test that doesn't actually test anything
343152
343153           · c4c037d600  Use 'config_dir' setting instead of CONFIG_DIR in gpg
343154             renderer
343155
343156         · 203870f147 Merge pull request #34274 from clinta/2015.8
343157
343158           · 6572454918 Don't escape source before calling managed
343159
343160         · a59dc85a15 Merge pull request #34258 from rallytime/merge-2015.8
343161
343162           · ea914b67cd Merge branch '2015.5' into '2015.8'
343163
343164           · 8d5ed91980   Merge   pull   request    #34225    from    richard‐
343165             scollin/fix-win-set-datetime
343166
343167             · 6286771ef7 Fix win_system.set_system_date_time
343168
343169           · cb1e8bf082    Merge    pull    request   #34232   from   thegood‐
343170             duke/for_2015.5_ipset
343171
343172             · 344eb60762 ipset: fix commont containing blank
343173
343174       · PR #34271: (opdude) Fixed symlinks on windows where the slashes don't
343175         match @ 2016-06-24 17:05:25 UTC
343176
343177         · 805171c949  Merge  pull request #34271 from Unity-Technologies/hot‐
343178           fix/windows_symlinks
343179
343180         · e0a1a55431 Fixed symlinks on windows where the slashes don't match
343181
343182       · ISSUE #14915:  (johngrasty)  SmartOS/OmniOS  -  mount  module  fails.
343183         (refs: #34254)
343184
343185         · PR #34254: (sjorge) Fix for #14915
343186
343187       · PR #34259: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343188         2016-06-24 14:27:30 UTC
343189
343190         · 39579ce5f6 Merge pull request #34259 from rallytime/merge-2016.3
343191
343192         · eeaf3cc1e7 Merge branch '2015.8' into '2016.3'
343193
343194         · 92962957c8 Merge pull request #34093 from terminalmage/issue33873
343195
343196           · 5edb45d746 win_pkg: refresh pkg database if  refresh=True  passed
343197             to version() or list_pkgs()
343198
343199           · 0078adee35 Catch CommandExecutionError in pkg states
343200
343201         · cb5399787c       Merge      pull      request      #34136      from
343202           meaksh/salt-suse-os-detection-2015.8
343203
343204           · 97f1958863 some cleanup and renaming
343205
343206           · 72c8e5d78f better way to check for openSUSE Leap
343207
343208           · 548971bdc9 Fix for SUSE OS grains in 2015.8
343209
343210       · PR #34134: (meaksh) Fixed behavior  for  SUSE  OS  grains  in  2016.3
343211         (refs: #34136) @ 2016-06-23 20:24:51 UTC
343212
343213         · PR  #33903:  (meaksh) Fetching grains['os'] from /etc/os-release on
343214           SUSE systems if it is possible (refs: #34134)
343215
343216         · 3acda896f2      Merge      pull      request      #34134       from
343217           meaksh/salt-suse-os-detection
343218
343219         · 23ce0b431b some cleanup and renaming
343220
343221         · 516bbc454d better way to check for openSUSE Leap
343222
343223         · 44eda2ad9f Fix for openSUSE Tumbleweed
343224
343225         · 0d4a710d86  fixes  for  fopen  mock  and  some  os_release_map  for
343226           SLES11SP3
343227
343228         · d6410a03b8 unit tests for SUSE os grains detection
343229
343230         · 47ecb7013b Normalization of osfullname grain for openSUSE
343231
343232         · 9c81f434fa one clause to set OS grain from CPE_NAME
343233
343234         · d78d57b717 Test fixed: get OS grain from /etc/os-release if  possi‐
343235           ble
343236
343237         · d80e0532ff fix: osarch_mock
343238
343239         · db00ec756d osarch mock for unit test
343240
343241         · dabc5cab7e lint fix
343242
343243         · 9ac514724b testing if SUSE os grain is set from /etc/os-release
343244
343245         · bc671336a7   Getting   the   'os'   grain   from   CPE_NAME  inside
343246           /etc/os-release for SUSE and openSUSE
343247
343248         · 64af4d4145 Adding SLES_SAP to OS_FAMILY_MAP
343249
343250       · ISSUE #34137: (christoe) Win_task info function broken (refs: #34159)
343251
343252       · ISSUE #34135: (christoe) Arguments to Windows  task  creation  module
343253         are not used (refs: #34159)
343254
343255       · PR  #34159:  (christoe)  Fixes  to  the  win_task module @ 2016-06-23
343256         17:54:53 UTC
343257
343258         · 5f42fd4486 Merge pull request #34159 from christoe/2016.3
343259
343260         · f4143669db Fixes #34135, Fixes #34137
343261
343262       · PR #34223: (peterdemin) Fixed typo in filtering LDAP's  potential_ous
343263         @ 2016-06-23 17:26:31 UTC
343264
343265         · 0a0267149f   Merge   pull   request   #34223  from  peterdemin/bug‐
343266           fix-eauth-ldap-expanding
343267
343268         · 8bb03ec109 Fixed typo in filtering LDAP's potential_ous
343269
343270       · PR #34239: (vutny) file.find module: fix handling of broken  symlinks
343271         @ 2016-06-23 17:25:17 UTC
343272
343273         · f74f176bd5  Merge  pull  request  #34239  from vutny/file-find-bro‐
343274           ken-symlinks
343275
343276         · 7e164c4f86 file.find module: fix handling of broken symlinks
343277
343278       · PR #34229: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343279         2016-06-22 22:57:00 UTC
343280
343281         · 4157f6fd39 Merge pull request #34229 from rallytime/merge-2016.3
343282
343283         · 940ac86d4e Merge branch '2015.8' into '2016.3'
343284
343285         · 56c7267631  fix  regression from #33681 which causes pulling a list
343286           of s3 objects via s3.query to fail (#34208)
343287
343288         · 02eb331494 Fix a pair of gitfs bugs (#34218)
343289
343290         · 6d643cd528 Merge pull request #34182 from rallytime/fix-34043
343291
343292           · b7d49c5052 Handle child PIDs differently depending on the  avail‐
343293             ability of psutils
343294
343295         · 5d3ec31564  Clarify  pkg.list_repo_pkgs docstring for held packages
343296           (#34188)
343297
343298         · 5bca5c42f1 Change target for dockerng assuming  default  status  to
343299           Nitrogen release (#34206)
343300
343301       · ISSUE  #33879:  (Ch3LL)  saltutil.wheel  minions.connected  does  not
343302         return anything with remote minions (refs: #34214)
343303
343304       · PR #34214: (rallytime) Update saltutil.wheel docs to  specify  remote
343305         vs local minion behavior @ 2016-06-22 19:22:30 UTC
343306
343307         · b5ea1495af Merge pull request #34214 from rallytime/fix-33879
343308
343309         · 1be05f6a87  Update  saltutil.wheel  docs to specify remote vs local
343310           minion behavior
343311
343312       · ISSUE #34074: (fooka03) Unable to use S3 file backend  with  2016.3.1
343313         on Ubuntu 14.04 or 16.04 (refs: #34209, #34208)
343314
343315       · ISSUE  #32916:  (giannello) file.managed memory usage with s3 sources
343316         (refs: #33599, #33682)
343317
343318       · PR #34209:  (lomeroe)  fix  regression  in  s3.query  from  #33682  @
343319         2016-06-22 18:50:19 UTC
343320
343321         · PR #33682: (lomeroe) backport #33599 to 2016.3 (refs: #34209)
343322
343323         · PR  #33599:  (lomeroe)  Fix  s3  large file download (refs: #33681,
343324           #33682)
343325
343326         · 4205fd605c    Merge    pull    request     #34209     from     lom‐
343327           eroe/fix_s3_utils_regression_33682
343328
343329         · a2b99703b1 fix regression in s3.query from #33682
343330
343331       · PR #34222: (cachedout) Lint 34200 @ 2016-06-22 18:48:54 UTC
343332
343333         · PR  #34200:  (secumod)  Fix  parted  module  set CLI example (refs:
343334           #34222)
343335
343336         · 05a4785c8c Merge pull request #34222 from cachedout/lint_34200
343337
343338         · eadf80a56f Linted #34200
343339
343340         · 2cd0433f8d Fix parted module set CLI example
343341
343342       · PR #34197: (eliasp) Make module.ssh.recv_known_host() more  resilient
343343         against hosts not returning a key @ 2016-06-22 17:26:02 UTC
343344
343345         · 0cbdb73fc5  Merge  pull request #34197 from eliasp/2016.3-salt.mod‐
343346           ules.ssh.recv_known_host-empty_results
343347
343348         · 82c4b1229e Make module.ssh.recv_known_host() more resilient against
343349           hosts not returning a key
343350
343351       · ISSUE  #34199:  (DarkKnightCZ) cmdmod.exec_all doesn't work with Win‐
343352         dows PowerShell (refs: #34201)
343353
343354       · ISSUE #34196: (DarkKnightCZ) Salt call cmdmod.exec_code_all fails  on
343355         Windows minion due to invalid file mode (refs: #34198)
343356
343357       · PR  #34201:  (DarkKnightCZ) Suffix temp file with .sr1 and add manda‐
343358         tory argument when executing PowerShell script @ 2016-06-22  17:21:24
343359         UTC
343360
343361         · PR   #34198:   (DarkKnightCZ)   Don't  use  binary  mode  for  cmd‐
343362           mod.exec_code (refs: #34201)
343363
343364         · 606ae3c886 Merge pull request #34201 from DarkKnightCZ/cmdmod-34199
343365
343366         · 05748743bc Suffix temp file with .sr1 and add -File  argument  when
343367           executing PowerShell code via cmdmod.exec_code
343368
343369       · ISSUE  #34196: (DarkKnightCZ) Salt call cmdmod.exec_code_all fails on
343370         Windows minion due to invalid file mode (refs: #34198)
343371
343372       · PR #34198: (DarkKnightCZ) Don't use binary mode for  cmdmod.exec_code
343373         (refs: #34201) @ 2016-06-22 17:14:06 UTC
343374
343375         · cb704b780b Merge pull request #34198 from DarkKnightCZ/cmdmod-34196
343376
343377         · 04553cd3de Don't use binary mode for cmdmod.exec_code
343378
343379       · PR  #34172:  (dmurphy18)  Support for building with local packages on
343380         Debian and Ubuntu @ 2016-06-22 16:36:44 UTC
343381
343382         · 0578a2f87d Merge pull request #34172 from dmurphy18/debbuild_deps
343383
343384         · f7f8a5d33f Fixed pylint issues
343385
343386         · 82fa276141 Support for building with local packages on  Debian  and
343387           Ubuntu
343388
343389         · PR  #34194:  (vutny)  Correct the docstrings formatting in pkgbuild
343390           modules and state
343391
343392         · PR #34056: (vutny) Make  rpmbuild  module  work  on  non-RPM  based
343393           GNU/Linux systems (refs: #34194)
343394
343395       · PR #34186: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343396         2016-06-21 23:26:34 UTC
343397
343398         · a8429c2595 Merge pull request #34186 from rallytime/merge-2016.3
343399
343400         · 318c2ed6a1 Merge branch '2015.8' into '2016.3'
343401
343402         · 1c4369d093 Merge pull request #34184 from rallytime/merge-2015.8
343403
343404           · 8e36e90966 Merge branch '2015.5' into '2015.8'
343405
343406           · 5411ebb3b4 Merge pull request #34141 from jtand/boto_vpc_test_fix
343407
343408             · b7ac6c735a Moved imports to top, out of _get_moto_version func‐
343409               tion
343410
343411             · 02f9ba99ba  Updated  version  check.  Moved check into it's own
343412               function
343413
343414             · d445026c56 Updated test to work with new moto version.  Changed
343415               strings to unicode
343416
343417         · c059d6c08c Merge pull request #34176 from rallytime/bp-34103
343418
343419           · 2e5e7ed03c Fix diskusage beacon
343420
343421         · 5cbaaed167 Merge pull request #34179 from terminalmage/issue34114
343422
343423           · 86d1b8e864  Raise  the  correct  exception when gitfs lockfile is
343424             empty
343425
343426         · 67deded119 Merge pull request #34178 from  terminalmage/remove-com‐
343427           ment
343428
343429           · 4965be72b1 Remove unnecesssary comment
343430
343431         · 6387d1636e  fix salt --summary to count not responding minions cor‐
343432           rectly (#34165)
343433
343434         · e5949ea6f1 doc: add missing dot (#34175)
343435
343436         · 47595d6795 Typo fix (#34174)
343437
343438         · 3669048654 Merge pull request #34077 from rallytime/grains-tests
343439
343440           · 2199bb8a78 Add integration tests for grains.append
343441
343442           · 37cfe70724 Add some grains targeting tests
343443
343444       · ISSUE #34162:  (ryanwalder)  salt-call  default  loglevel  regression
343445         (refs: #34173)
343446
343447       · PR  #34173:  (rallytime)  Update  docs  to  match log_level default @
343448         2016-06-21 17:15:53 UTC
343449
343450         · 3413c494bd Merge pull request #34173 from rallytime/fix-34162
343451
343452         · f577681f0b Update docs to match log_level warning default
343453
343454       · ISSUE #34094: (avandendorpe) cron.file is broken (refs: #34095)
343455
343456       · PR #34095:  (rallytime)  Back-port  #32396  to  2016.3  @  2016-06-21
343457         16:12:39 UTC
343458
343459         · PR #32396: (eradman) Unbreak cron.file (refs: #34095)
343460
343461         · c596bf5744 Merge pull request #34095 from rallytime/bp-32396
343462
343463         · 074b6ab5c2 Correct pylint error
343464
343465         · 20ff5c879a Unbreak cron.file
343466
343467       · PR  #34108:  (l2ol33rt)  Make dockerng.absent state honor test=true @
343468         2016-06-21 15:55:29 UTC
343469
343470         · b98687875f      Merge      pull      request      #34108       from
343471           l2ol33rt/docker_absent_dryrun
343472
343473         · 5598cb4a21 Make docker.absent honor test=true
343474
343475       · ISSUE  #34012:  (viq)  States  mount.* fail on OpenBSD's tmpfs (refs:
343476         #34133)
343477
343478       · PR #34133:  (rallytime)  Back-port  #34057  to  2016.3  @  2016-06-21
343479         15:53:46 UTC
343480
343481         · PR  #34057:  (ajacoutot) _active_mounts_openbsd: unbreak output for
343482           special filesystems (refs: #34133)
343483
343484         · a75386a669 Merge pull request #34133 from rallytime/bp-34057
343485
343486         · f7be5e182b  _active_mounts_openbsd:  unbreak  output  for   special
343487           filesystems
343488
343489       · PR #34156: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343490         2016-06-21 15:52:59 UTC
343491
343492         · dd989dac78 Merge pull request #34156 from rallytime/merge-2016.3
343493
343494         · b061b86946 Merge branch '2015.8' into '2016.3'
343495
343496           · 65fba5b4d7     Merge      pull      request      #34142      from
343497             isbm/isbm-getid-loglevel-shift
343498
343499             · 236a67b702 Move log message from INFO to DEBUG.
343500
343501           · 79a719b719  Update  documentation  on  "refresh"  behavior in pkg
343502             states (#34100)
343503
343504           · 6d0d52fa86 modules.pkg int tests: skip refresh_db upon  error  (‐
343505             #34072)
343506
343507       · PR  #34110:  (garethgreenaway)  Fixes  to  git  module & state module
343508         related to identity file @ 2016-06-21 15:52:17 UTC
343509
343510         · b302cb03ef   Merge   pull   request   #34110   from    garethgreen‐
343511           away/git_needs_saltenv_for_identity
343512
343513         · 68092cdc8c  When  specifying  the SSH identity to use with Git as a
343514           salt URL, eg. salt://files/identity, if that file exists outside of
343515           the  default  base  environment  the file won't be accessible so we
343516           need to include the saltenv.
343517
343518       · ISSUE #34120: (rmohta) Correct package  name  to  systemd-python  for
343519         RHEL 7 in docs.saltstack.com (refs: #34138)
343520
343521       · ISSUE #31402: (vutny) [repo] systemd-python required package is miss‐
343522         ing from RHEL7 archive (refs: #34138)
343523
343524       · PR #34138: (rallytime) Update package dep note to systemd-python  for
343525         RHEL7 install @ 2016-06-21 15:51:24 UTC
343526
343527         · 6c3405755a Merge pull request #34138 from rallytime/fix-34120
343528
343529         · 73f3e12ce6  Update  package  dep  note  to systemd-python for RHEL7
343530           install
343531
343532         · PR #34166: (vutny) Fix YAML indentation in Apache state docstrings
343533
343534         · PR #34098: (terminalmage) Restore old refresh logic
343535
343536         · PR #34087: (bbinet) Encourage to report  issues  to  upstream  Pil‐
343537           larStack project
343538
343539       · PR #34075: (jfindlay) modules.inspectlib.kiwiproc: import gate lxml @
343540         2016-06-17 15:36:08 UTC
343541
343542         · 9da592a297 Merge pull request #34075 from jfindlay/import_xml
343543
343544         · f882a72348 modules.inspectlib.kiwiproc: import gate lxml
343545
343546       · PR #34056:  (vutny)  Make  rpmbuild  module  work  on  non-RPM  based
343547         GNU/Linux systems (refs: #34194) @ 2016-06-17 15:14:51 UTC
343548
343549         · 52b852216a  Merge  pull  request  #34056  from  vutny/rpmbuild-sup‐
343550           port-debian
343551
343552         · 8ff36d4f2b Expose virtual pkgbuild module as  rpmbuild  on  non-RPM
343553           based systems if all required utilities are in place
343554
343555         · 758f5cd77c Make rpmbuild module work on Debian GNU/Linux and deriv‐
343556           atives
343557
343558       · PR #34073: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343559         2016-06-16 23:02:32 UTC
343560
343561         · f2a2c2bf53 Merge pull request #34073 from rallytime/merge-2016.3
343562
343563         · f6bfaede21 Merge branch '2015.8' into '2016.3'
343564
343565         · 1b76de1557  Merge  pull  request  #34069  from  rallytime/test-min‐
343566           ion-return-message
343567
343568           · 60561ac6fc Add a test to check for disconnected minion messaging
343569
343570         · 3119693dac Merge pull request #34048 from terminalmage/issue30100
343571
343572           · 715e7af8a4 Ensure only one fileserver update in a masterless run
343573
343574         · dd03024931 Merge pull request #34011 from rallytime/bp-33948-2015.8
343575
343576           · a4660d1ff7 Warn when custom returners don't have minions kwarg in
343577             save_load
343578
343579           · 78befde62f Add note to release notes about returner minions kwarg
343580             change
343581
343582           · 4e7f35fa36 Fix loop over cache in auth checking!
343583
343584           · 06963e0505 Save an entire minion cache traversal on  each  master
343585             pub
343586
343587         · bca437128e  Fixed a bug in the consul.py module that was preventing
343588           services (#34051)
343589
343590         · 8ba117c7f6 Merge pull request #34045 from jacobhammons/release-prev
343591
343592           · 43b4a12aa2 Updated latest release version
343593
343594         · f9bfcde61f Always make changes to minion config if set (#34020)
343595
343596         · e25dba49e2 More YAML indentation fixes in state module examples  (‐
343597           #34030)
343598
343599         · 5b5eae4ca9 Merge pull request #34018 from rallytime/merge-2015.8
343600
343601           · 77f44f3087 Merge branch '2015.5' into '2015.8'
343602
343603           · 871f7966ce Lint fix for #34000 (#34005)
343604
343605           · f758e42172 Fix incorrectly written test (#34000)
343606
343607           · cf6281b4cf  Add  loader.utils() example to calling minion_mods (‐
343608             #33953)
343609
343610           · 6b98e8a9ea Merge pull request #33880 from terminalmage/zh744
343611
343612             · ea726d11c8 pkg.uptodate: Pass kwargs to pkg.list_upgrades
343613
343614             · de90b35d2b  salt/modules/zypper.py:  add  fromrepo  support  to
343615               list_upgrades
343616
343617             · 35fbb06df5 salt/modules/win_pkg.py: add kwargs to list_upgrades
343618
343619             · bf5505f425    salt/modules/solarisips.py:    add    kwargs   to
343620               list_upgrades
343621
343622             · 6e89a8be98 salt/modules/pkgutil.py: add kwargs to list_upgrades
343623
343624             · 5179dbcec4 salt/modules/pacman.py: add kwargs to list_upgrades
343625
343626             · 46e5a52784    salt/modules/macports.py:    add    kwargs     to
343627               list_upgrades
343628
343629             · 76143b76ca salt/modules/ebuild.py: add kwargs to list_upgrades
343630
343631             · b40fc9bc62 salt/modules/brew.py: add kwargs to list_upgrades
343632
343633             · 4f11c16d86  salt/modules/aptpkg.py:  add  fromrepo  support  to
343634               list_upgrades
343635
343636           · cb88960ed1 Merge pull request #33904 from rallytime/bp-33806
343637
343638             · 638ccf501d Work around upstream cherrypy bug
343639
343640         · 7d940aed1f states.file: fix indentation in YAML examples (#34003)
343641
343642         · 4c7fac0aaa Remove loader test for pam module (#34002)
343643
343644         · c4dab6a074  Merge  pull  request  #33990  from  jacobhammons/commu‐
343645           nity-projects
343646
343647           · b20213fd79  Adds  links  to several current Salt-related projects
343648             Removes the salt_projects.rst file which hasn't been updated in a
343649             long    time,    this   is   replaced   by   the   updated   top‐
343650             ics/projects/index.rst file Adds a note about Salt  Pack  to  the
343651             installation doc
343652
343653         · 444c15792c     Merge    pull    request    #33983    from    twang‐
343654           boy/fix_docs_join_domain
343655
343656           · b057be04b4 Fix typo, more documentation
343657
343658           · d8c2f3e57a Clarify the account_exists parameter
343659
343660         · 9bd2317992 Merge pull request #33951 from jfindlay/gem_tests
343661
343662           · 2eb633ccad modules.gem int tests: only check known installed gems
343663
343664           · 9f3e18b037 modules.gem int tests: (un)install a non-core gem
343665
343666         · 53baae6eb1 Merge pull request #33984 from jfindlay/disk_capacity
343667
343668           · 6cbe31e6c2 states.disk: rewrite unit tests
343669
343670           · 82c77b533f states.disk.status: validate percent values
343671
343672           · aedc4e15e5 states.disk: add documentation
343673
343674         · fa5efb6a69    Merge    pull    request    #33985    from     rally‐
343675           time/more-batch-tests
343676
343677           · 3e7ab8c7b3 Write some more simple batch command tests
343678
343679         · 6080846cce acl.ClientACL: add unit tests (#33684)
343680
343681       · ISSUE  #33831:  (astehlik)  file.managed  state should not download a
343682         file if the checksum did not change (refs: #34010)
343683
343684       · PR #34010: (terminalmage) Do not  cache  remote  files  if  they  are
343685         already cached @ 2016-06-16 21:03:47 UTC
343686
343687         · 790384f413 Merge pull request #34010 from terminalmage/issue33831
343688
343689         · 636d081ae0 Do not cache remote files if they are already cached
343690
343691       · PR  #34009:  (rallytime) Back-port #33948 to 2016.3 + add log message
343692         (refs: #34011) @ 2016-06-16 21:01:09 UTC
343693
343694         · PR #33948: (cachedout) Save an entire  minion  cache  traversal  on
343695           each master pub (refs: #34011, #34009)
343696
343697         · dd26d6fd74 Merge pull request #34009 from rallytime/bp-33948
343698
343699         · 239af9ae5e  Warn  when custom returners don't have minions kwarg in
343700           save_load
343701
343702         · c776d2d795 Add note to release notes about returner  minions  kwarg
343703           change
343704
343705         · 5f696082e3 Fix loop over cache in auth checking!
343706
343707         · 180c312715 Save an entire minion cache traversal on each master pub
343708
343709       · ISSUE  #33927:  (phil123456) Salt - windows minion cannot do anything
343710         (refs: #33941)
343711
343712       · PR  #33941:  (cachedout)  Don't  call  os.getppid()  on   Windows   @
343713         2016-06-16 20:56:17 UTC
343714
343715         · 5f4ef46d2f Merge pull request #33941 from cachedout/issue_33927
343716
343717         · 5fe889c7f1 Don't call os.getppid() on Windows
343718
343719       · PR  #34067: (jacobhammons) Fixes doc refresh bug on chrome mobile.  @
343720         2016-06-16 18:44:12 UTC
343721
343722         · fa253aa62b Merge pull request #34067 from jacobhammons/mobile-fix
343723
343724         · ce027fd769 Fixes doc refresh bug on chrome mobile.
343725
343726         · PR #34050: (rallytime) Back-port #34026 to 2016.3
343727
343728         · PR #34026: (bensherman) removed method that  doesn't  exist  (refs:
343729           #34050)
343730
343731       · PR #33987: (isbm) inspectlib cleanup @ 2016-06-15 22:09:31 UTC
343732
343733         · 73ff11585e       Merge      pull      request      #33987      from
343734           isbm/isbm-inspectlib-cleanup
343735
343736         · e36821510f Fix documentation: add an example how to  export  system
343737           to the Kiwi
343738
343739         · fe300ccf73 Lintfix
343740
343741         · 96423076b1 Add unit test for file tree
343742
343743         · 8975036b27 Add get_unmanaged_files test
343744
343745         · be5f12fcaf Add initial unit test for inspectlib.collector.Inspector
343746
343747         · 652c96d7e7 Stop build (not implemented yet)
343748
343749         · 58e85ea0ab Refactor class caller
343750
343751         · 878f67674a Sort package names
343752
343753         · c31818b4aa Fix lint: PEP8 multiplication of 4.
343754
343755         · c87fff3680 Add root-only warning when exporting system with Kiwi
343756
343757         · 9bd80f02fc Implement users Kiwi export
343758
343759         · e191f338c7 Cleanup code
343760
343761         · 80f45defae Implement packages and patterns gathering
343762
343763         · ad45a265f5 Add Debian support for the repo generator
343764
343765         · 6280ad137e  Semifix:  sometimes  SQLite3  is locked. TODO: a proper
343766           handling required.
343767
343768         · 51567ab61d Implement SUSE repositories export
343769
343770         · e4ac113927 Add Kiwi support to the collector/inspector
343771
343772         · eceeb4ecf2 Add ability to specify an additional PID file
343773
343774         · f522a91ac6 Add ISO/image build (stub) and export to the Kiwi
343775
343776         · bb19684606 Add Kiwi processor exception
343777
343778         · 805e2ce204 Add Kiwi exported (initial)
343779
343780         · a52f9f7107 Add default configuration
343781
343782       · ISSUE #34038: (Ch3LL) user.list_users does not work on smartos (refs:
343783         #34042)
343784
343785         · PR #34042: (sjorge) fix #34038
343786
343787       · PR #34025: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343788         2016-06-15 19:41:00 UTC
343789
343790         · f546a00dc9 Merge pull request #34025 from rallytime/merge-2016.3
343791
343792       · PR #34044:  (jacobhammons)  Updated  latest  release  to  2016.3.1  @
343793         2016-06-15 19:20:28 UTC
343794
343795         · 3035520594 Merge pull request #34044 from jacobhammons/3.1
343796
343797         · a4b67fd1e9 Updated latest release to 2016.3.1 Clean up installation
343798           instructions code-block type updates Add link to jinja tutorial
343799
343800         · PR #34014: (jnhmcknight) fix launch config creation params
343801
343802         · PR #34021: (twangboy) Always make changes to minion config  if  set
343803           (2016.3)
343804
343805       · PR  #34031:  (eliasp) states.postgres_privileges expects a real list,
343806         not a comma-separated string @ 2016-06-15 16:34:04 UTC
343807
343808         · 5f90717fd3      Merge      pull      request      #34031       from
343809           eliasp/2016.3-salt.states.postgres_privileges-doc-priv-list
343810
343811         · d3198ea538  states.postgres_privileges  expects  a real list, not a
343812           comma-separated string for privileges
343813
343814       · ISSUE #33023: (cmclaughlin) rest_cherrypy  eauth  can't  handle  some
343815         characters (refs: #33995)
343816
343817       · ISSUE  #23522:  (nbirnel)  Update the best practices documentation to
343818         include simpler examples of of jinja dictionaries (refs: #33995)
343819
343820       · ISSUE #12470: (whiteinge) Document how to (and not NOT to) use  Jinja
343821         in states (refs: #33995)
343822
343823       · ISSUE #10480: (gravyboat) Create documentation that talks about using
343824         Jinja specifically for Salt. (refs: #33995)
343825
343826       · ISSUE #10206: (rabits) Jinja import: Jinja variable 'salt'  is  unde‐
343827         fined (refs: #33995)
343828
343829       · PR  #33995:  (jacobhammons)  Understanding  Jinja  topic,  Jinja  doc
343830         issues.  @ 2016-06-14 02:00:29 UTC
343831
343832         · 1132bc5d0b Merge pull request #33995 from jacobhammons/doc-fixes
343833
343834         · 887a415138 Adds new Understanding Jinja topic,  and  fixes  several
343835           Jinja  doc issues. Removes the "Full list of builtin ..." from each
343836           module reference list, leaving just the module type  for  scanabil‐
343837           ity.
343838
343839       · PR  #33900:  (amendlik)  Document  sudo policy for gitfs post-recieve
343840         hook @ 2016-06-14 01:04:35 UTC
343841
343842         · a400f6a6c3 Merge pull request #33900 from amendlik/gitfs-hook-doc
343843
343844         · b4a28e2684 Add clarifying documentation about the need for sudo  in
343845           the git hook
343846
343847         · 1046279cb7 Document sudo policy for gitfs post-recieve hook
343848
343849       · PR  #33980:  (twangboy)  Use  full  path  to  python.exe @ 2016-06-14
343850         00:46:14 UTC
343851
343852         · 28c886edd0 Merge pull request #33980 from twangboy/fix_build
343853
343854         · dd7d55afb9 Use full path to python.exe
343855
343856       · PR #33993: (s0undt3ch) Call sys.exit() instead of exit() @ 2016-06-14
343857         00:30:46 UTC
343858
343859         · 26fee377ec Merge pull request #33993 from s0undt3ch/2016.3
343860
343861         · 34f7d90d9f Call sys.exit() instead of exit()
343862
343863       · PR #33976: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343864         2016-06-13 19:29:40 UTC
343865
343866         · 2e934cffef Merge pull request #33976 from rallytime/merge-2016.3
343867
343868         · 19d49d94f2 Merge branch '2015.8' into '2016.3'
343869
343870           · a74f1b8077 ZD 762 (#33942)
343871
343872           · 0281d491c6 Merge pull request #33946 from rallytime/bp-33698
343873
343874             · 5fdfed1cb9 Make sure we only use GetConnection if we are  using
343875               a proxy salt minion
343876
343877             · 1505c5724b Fix a bug with self signed certificates and creating
343878               a new VM
343879
343880           · dff3f51955 Merge pull request #33952 from rallytime/fix-33911
343881
343882             · 03b7cbbd2c Add base argument to  salt-ssh  grains  wrapper  for
343883               filter_by func
343884
343885           · 4a8064918a  Adds  a "Generated on <timestamp>" line to the footer
343886             of each doc html page in the doc (#33962)
343887
343888       · ISSUE #33868: (abalashov)  Returner  configuration  override  options
343889         don't work for scheduled jobs (schedule module) (refs: #33912)
343890
343891       · PR  #33912:  (abalashov)  utils/schedule.py:handle_func()  -  Fix for
343892         accessing returner configur… @ 2016-06-13 17:18:04 UTC
343893
343894         · 8d8ed59b85  Merge  pull   request   #33912   from   abalashov/abal‐
343895           ashov/fix-schedule-returner-config
343896
343897         · b5a4f8b313  utils/schedule.py:handle_func()  -  Fix  for  accessing
343898           returner    configuration    attributes     'return_config'     and
343899           'return_kwargs'.
343900
343901       · PR #33945: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
343902         2016-06-13 15:44:30 UTC
343903
343904         · 81e16bb93f Merge pull request #33945 from rallytime/merge-2016.3
343905
343906         · b4ab322ce1 Merge branch '2015.8' into '2016.3'
343907
343908           · b3ec39d644 Correct issue with ping on rotate with minion cache (‐
343909             #33765)
343910
343911           · 378dd7ca06 Merge pull request #33888 from jfindlay/random_check
343912
343913             · 6acee3cc30   modules.random_org._query:  only  return  text  if
343914               present
343915
343916             · 82f95429db modules.random_org unit tests:  skip  if  random.org
343917               down
343918
343919             · 1f9422e0cd utils.http.query: also except gaierror with tornado
343920
343921           · 2dc1914e7c  Add  connecting_settings to boto_elb state attributes
343922             list (#33936)
343923
343924           · 91a2184f2d Wait for up to  a  minute  for  sync_after_install  (‐
343925             #33917)
343926
343927           · ef6da0be5d Merge pull request #33877 from rallytime/merge-2015.8
343928
343929           · 398534a9e7 Fix ret return from merge-conflict resolution
343930
343931           · b8e4706074 Merge branch '2015.5' into '2015.8'
343932
343933           · cdda593c50    Merge    pull   request   #33829   from   terminal‐
343934             mage/update-versionchanged
343935
343936             · f7028eb1c6 Update versionchanged directive
343937
343938           · b8e6c144d8 Merge pull request #33833 from terminalmage/issue33645
343939
343940             · 91745c2a67 Support syncing pillar modules to masterless minions
343941
343942           · e061788e81  Merge  pull  request  #33814  from   terminalmage/ar‐
343943             chive-extracted-xz
343944
343945             · 897a716df2   Support   extraction   of   XZ   archives  in  ar‐
343946               chive.extracted state
343947
343948           · fa983e91cf  Merge   pull   request   #33778   from   sodium-chlo‐
343949             ride/2015.5-2016-0604-1938
343950
343951             · a5fb6d7a69 Fix minor docstring issues
343952
343953           · b9133326c8    Merge   pull   request   #33726   from   jtand/sys‐
343954             mod_skip_valid_docs_glance
343955
343956             · ebee8a89af glance.warn_until shouldn't be  checked  for  a  doc
343957               string
343958
343959           · 137f0b19f3 Merge pull request #33611 from TargetHolding/2015.5
343960
343961           · 1dd15a603b  solve'  TypeError:  expected  string  or  buffer'  in
343962             json/decoder.py
343963
343964           · eaf42ca892 solve AttributeError: 'module' object has no attribute
343965             'exception'
343966
343967       · PR  #33960:  (nulfox)  Fix mongo get_load to return full mongo record
343968         instead of non-existant 'load' key @ 2016-06-13 15:37:46 UTC
343969
343970         · 68d261fe5b Merge pull request #33960 from mecarus/2016.3
343971
343972         · d622133a49 The jid load comes  in  directly,  not  as  'load'  key.
343973           Should return the mongo record directly without accessing keys
343974
343975       · PR  #33961:  (jacobhammons) 2016.3.0 known issues update @ 2016-06-13
343976         02:59:21 UTC
343977
343978         · 8f56406507 Merge pull request #33961 from jacobhammons/release
343979
343980         · 2cf787d4ba 2016.3.0 known issues update
343981
343982         · PR #33908:  (ticosax)  [boto_lambda]  handle  ommitted  Permissions
343983           parameter
343984
343985       · ISSUE #33575: (anlutro) File states seem slower in 2016.3, especially
343986         on first cache retrieval (refs: #33896)
343987
343988       · ISSUE #29643: (matthayes) Can't get batch mode and --failhard to work
343989         as expected (refs: #31164)
343990
343991       · ISSUE #28569: (andrejohansson) Reactor alert on highstate fail (refs:
343992         #31164)
343993
343994       · PR #33896: (DmitryKuzmenko) Don't deep copy context dict  values.   @
343995         2016-06-10 15:32:54 UTC
343996
343997         · PR #31164: (DmitryKuzmenko) Issues/29643 fix invalid retcode (refs:
343998           #33896)
343999
344000         · 16b5e9dcc1    Merge    pull    request    #33896    from    DSRCom‐
344001           pany/issues/33575_do_not_deep_copy_context
344002
344003         · 8e34d0a9c3 Don't deep copy context dict values.
344004
344005       · ISSUE #3077: (torhve) Client ACL and external auth system should have
344006         support for limiting functions to certain arguments (refs: #29153)
344007
344008       · PR #33905:  (rallytime)  Back-port  #33847  to  2016.3  @  2016-06-10
344009         15:22:34 UTC
344010
344011         · PR #33847: (whiteinge) Add docs for arg/kwarg eauth matching (refs:
344012           #33905)
344013
344014         · PR #29153: (DmitryKuzmenko) ACL limit args (refs: #33847)
344015
344016         · 01323322b0 Merge pull request #33905 from rallytime/bp-33847
344017
344018           · b6ebd7b6ef Add docs for arg/kwarg eauth matching
344019
344020         · 261baeb5b5 Ensure tht pillar have freshest grains (#33910)
344021
344022         · 00e016ecfc Add note about Xenial packages to 2016.3.0 release notes
344023           (#33870)
344024
344025   Salt 2016.3.3 Release Notes
344026       Version 2016.3.3 is a bugfix release for 2016.3.0.
344027
344028   Statistics
344029       · Total Merges: 108
344030
344031       · Total Issue References: 26
344032
344033       · Total PR References: 115
344034
344035       · Contributors:  36  (The-Loeki,  abednarik,  cachedout,  cro, deniszh,
344036         dkruger, dmurphy18, eliasp, farcaller,  galet,  gtmanfred,  hu-dabao,
344037         isbm,  jacobhammons,  jacobweinstock,  jfindlay,  justinta,  kstreee,
344038         lubyou,  markuskramerIgitt,  meaksh,  miihael,   mzupan,   nishigori,
344039         rallytime,  s0undt3ch,  skizunov,  tankywoo,  terminalmage, thatch45,
344040         theredcat, ticosax, tonybaloney, twangboy, vutny, whiteinge)
344041
344042   Known Issues
344043       issue #36055: Salt Cloud events (salt/cloud) are not generated  on  the
344044       master event bus when provisioning cloud systems.
344045
344046       Bootstrap  Issue  #973: python-futures is not installed when installing
344047       from a git tag on RedHat-based distributions. Python futures is  needed
344048       when
344049
344050       running  Salt  with  the  TCP  transport.  This is fixed on the develop
344051       branch of the salt-bootstrap repo and the fix will be included  in  the
344052       upcoming  release  of  salt-bootstrap,  but  is  a bug in the bootstrap
344053       release  that  ships  with  this  version  of  Salt.  Please  see   the
344054       salt-bootstrap  repo  for  more information on how to update your boot‐
344055       strap version.
344056
344057   Changelog for v2016.3.2..v2016.3.3
344058       Generated at: 2018-05-27 04:47:36 UTC
344059
344060       · PR #35603: (rallytime) Make sure version label is correct in header
344061
344062       · PR #35602: (rallytime) Update release notes for 2016.3.3
344063
344064       · ISSUE #35102: (TheBigBear) Exception raised  when  processing  __vir‐
344065         tual__  function  for  mac_system  - (mac os x installation relies on
344066         un-installed 'mac_service_helper.sh') (refs: #35580)
344067
344068       · PR #35580: (twangboy) Fix mac_service  attempts  to  parse  non-plist
344069         files @ 2016-08-19 09:24:38 UTC
344070
344071         · 9683bb3c58 Merge pull request #35580 from twangboy/fix_35102
344072
344073         · 4122e66ed5 Handle malformed plist files
344074
344075         · 52feff9309 Fix mac_service attempts to parse non-plist files
344076
344077       · PR  #35586:  (hu-dabao)  Fix 35420,  add run_on_start in build_sched‐
344078         ule_item @ 2016-08-19 09:23:32 UTC
344079
344080         · c4ec94d6e8 Merge pull request #35586 from hu-dabao/fix-35420
344081
344082         · 2d3a882cc2 fix  35420,  add  run_on_start  in  build_schedule_item,
344083           remove redundancy of enabled
344084
344085         · PR #35583: (terminalmage) Fix localemod tests
344086
344087       · PR #35579: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344088         2016-08-18 22:00:41 UTC
344089
344090         · d1339fd9f5 Merge pull request #35579 from rallytime/merge-2016.3
344091
344092         · 00dff9dcbd Merge branch '2015.8' into '2016.3'
344093
344094         · 26a7f7d9f7   Merge   pull    request    #35577    from    terminal‐
344095           mage/unit-file-changes
344096
344097           · 6cb0fb47f3 pkg/salt-syndic.service: change Type to notify
344098
344099           · 175ba99e0e  pkg/salt-minion.service: remove KillMode, change Type
344100             to notify
344101
344102           · 540ec28954 pkg/salt-master.service: remove KillMode
344103
344104           · 69fad464ab pkg/salt-api.service: change Type to notify
344105
344106       · PR #35571: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344107         2016-08-18 19:50:03 UTC
344108
344109         · f7a18234db Merge pull request #35571 from rallytime/merge-2016.3
344110
344111         · 2930df924e  Update  localemod_test  systemd.sd_booted  mock  to use
344112           salt.utils.systemd.booted
344113
344114         · e61b04a707 Merge branch '2015.8' into '2016.3'
344115
344116           · 2a5d1a0eee fix-35384, fix the logic caused  by  wrong  indent  (‐
344117             #35566)
344118
344119           · feb852f8c0 Clarify config.get docstring (#35492)
344120
344121           · 205d8e2e7b Merge pull request #35483 from gtmanfred/2015.8
344122
344123             · 2d8ec1e9db use __opts__ in salt.utils.cloud for cache functions
344124
344125           · 70fa2d0901      Merge      pull      request      #35546     from
344126             whiteinge/salt-api-eauth-fail-gracefully
344127
344128             · eb3574adae Don't fail hard if the user's permissions cannot  be
344129               found
344130
344131             · ec597bd54c Change groups check in token to look for truthy val‐
344132               ues
344133
344134           · 61fec6caa9 add missing glob import (#35525)
344135
344136           · 0e3f2fc6cb Whitespace fix for 2015.8 (#35540)
344137
344138           · fd3274c800 Merge pull request #35510 from terminalmage/issue33516
344139
344140             · 5b5f19d269 Update zypper unit test  to  reflect  call  to  con‐
344141               fig.get
344142
344143             · 2730edb516 Add note about systemd-run usage in package states
344144
344145             · e2d9e87e10  salt/modules/systemd.py:  Use  systemd-run  --scope
344146               where needed
344147
344148             · 22919a25bc Notify systemd on salt-api start
344149
344150             · a40b3f8a08 Notify systemd on syndic start
344151
344152             · e847d3af30 Notify systemd on minion start
344153
344154             · d648887afc  salt/modules/zypper.py:  Use  systemd-run   --scope
344155               where needed
344156
344157             · 2e17976722   salt/modules/yumpkg.py:  Use  systemd-run  --scope
344158               where needed
344159
344160             · 86b59c1e74  salt/modules/pacman.py:  Use  systemd-run   --scope
344161               where needed
344162
344163             · e32d92c6d5   salt/modules/ebuild.py:  Use  systemd-run  --scope
344164               where needed
344165
344166             · c7d21d3ae3  salt/modules/aptpkg.py:  Use  systemd-run   --scope
344167               where needed
344168
344169             · f83e0ef242 Add unit tests for salt.utils.systemd
344170
344171             · 5b12f030c6 Add func to salt.utils.systemd to tell if scopes are
344172               available
344173
344174         · PR #35573: (rallytime) Back-port #33337 to 2016.3
344175
344176         · PR #33337: (mzupan) adding the  ()  to  make  changes  work  (refs:
344177           #35573)
344178
344179       · PR  #35572:  (terminalmage)  Fix  poor formatting in pkg state docs @
344180         2016-08-18 18:15:52 UTC
344181
344182         · 73b549ed00 Merge pull request #35572 from terminalmage/docs
344183
344184         · 7d7a7de9e6 Fix poor formatting in pkg state docs
344185
344186         · PR #35545: (hu-dabao) fix-35384, fix cmd.run unless (refs: #35566)
344187
344188         · PR saltstack/salt#35463: (skizunov) Make auth_timeout user  config‐
344189           urable again (refs: #35489)
344190
344191       · PR  #35489:  (rallytime)  Back-port  #35463  to  2016.3  @ 2016-08-18
344192         07:16:03 UTC
344193
344194         · PR #35463: (skizunov) Make  auth_timeout  user  configurable  again
344195           (refs: #35489)
344196
344197         · f2eb3dc105 Merge pull request #35489 from rallytime/bp-35463
344198
344199         · bbf7ce121b Remove final self.MINION_CONNECT_TIMEOUT ref
344200
344201         · cf2e2daab9 Make auth_timeout user configurable again
344202
344203         · PR #35538: (thatch45) Treat python XML as an optdep
344204
344205       · PR #35526: (thatch45) Always deploy the thin to /var/tmp @ 2016-08-17
344206         19:44:26 UTC
344207
344208         · e2bd575461 Merge pull request #35526 from thatch45/ssh_W_tmp
344209
344210         · a381f02cfe Always deploy the thin to /var/tmp
344211
344212       · PR #35522: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344213         2016-08-17 18:07:16 UTC
344214
344215         · 8b770869e4 Merge pull request #35522 from rallytime/merge-2016.3
344216
344217         · ff212d8976 Whitespace fix
344218
344219         · c305d8d99b Merge branch '2015.8' into '2016.3'
344220
344221         · b3b28cb760 Might be a good idea to be able to download the software
344222           we make (#35513)
344223
344224         · 9f87081cef Merge pull request #35302 from Ch3LL/add_job_cache_test
344225
344226           · ccb2a5cadf remove unused imports
344227
344228           · 512ae81dfd remove TMP and add integration.TMP
344229
344230           · c9b7c3cf80 need to add returners option in other places
344231
344232           · 7316df7a02 fix pylint
344233
344234           · 50a4f0fe6a fix comment
344235
344236           · 6837acf742 add job cache integration tests
344237
344238         · 1c82c6bee5 Merge pull request #35512 from cachedout/fixup_35419
344239
344240           · 253662541a Fix import
344241
344242           · f16a30786b Fixes consul.agent_service_register which  was  broken
344243             for registering service checks.
344244
344245         · e1a373fa4c Merge pull request #35497 from deepakhj/2015.8
344246
344247           · 685db4ab88 Fix spacing
344248
344249         · 4048255ed6  Merge pull request #35508 from terminalmage/update-doc‐
344250           string
344251
344252           · 67c945fce0 Add Carbon to versionadded for git.diff
344253
344254       · PR #35516:  (rallytime)  Back-port  #34441  to  2016.3  @  2016-08-17
344255         15:47:23 UTC
344256
344257         · PR  #34441:  (markuskramerIgitt)  Copy  and delete silently, do not
344258           list each file (refs: #35516)
344259
344260         · e86a39a115 Merge pull request #35516 from rallytime/bp-34441
344261
344262         · e47c661cb0 Copy and delete silently, do not list each file
344263
344264         · PR  saltstack/salt#34502:  (markuskramerIgitt)  Windows   installer
344265           build scripts will exit on error (refs: #35517)
344266
344267       · PR  #35517:  (rallytime)  Back-port  #34502  to  2016.3  @ 2016-08-17
344268         15:47:10 UTC
344269
344270         · PR #34502: (markuskramerIgitt) Windows installer build scripts will
344271           exit on error (refs: #35517)
344272
344273         · 45080d9860 Merge pull request #35517 from rallytime/bp-34502
344274
344275         · 32da48df08 setup.py will not print each individual file
344276
344277         · 698a076a39 Completely remove Python and verify
344278
344279         · 7406bd22a6 Errors will stop the scripts
344280
344281       · PR #35429: (tankywoo) Fix iptables target options with no arguments @
344282         2016-08-17 10:05:17 UTC
344283
344284         · c1deb945d7  Merge  pull  request  #35429  from   tankywoo/fix-ipta‐
344285           bles-target-options
344286
344287         · 914eb60d51 Fix iptables target options with no arguments
344288
344289       · ISSUE  #35458: (iggy) SALT.STATES.APACHE_MODULE needs version annota‐
344290         tions (refs: #35495)
344291
344292       · PR #35495: (rallytime) Use correct deprecated notation instead  of  a
344293         warning   for  apache_module.enable  state  function.   @  2016-08-17
344294         09:36:40 UTC
344295
344296         · 678759ba6c Merge pull request #35495 from rallytime/fix-35458
344297
344298         · 9bae3d09a6 Use correct deprecated notation instead of a warning.
344299
344300       · ISSUE #35336: (Sylvain303) documentation state.file.managed parameter
344301         template  not  reflecting  TEMPLATE_REGISTRY  (refs:  #35360, #35498,
344302         #35406, #saltstack/salt`#35360`_)
344303
344304         · PR saltstack/salt#35360: (rallytime)  Add  all  template  registery
344305           templates to file.managed docs (refs: #35406)
344306
344307       · PR  #35498:  (rallytime) Add supported templates list to all template
344308         doc references in file state @ 2016-08-17 09:33:36 UTC
344309
344310         · PR #35406: (rallytime) Provide links to the renderers in  the  tem‐
344311           plate docs (refs: #35498)
344312
344313         · PR  #35360:  (rallytime)  Add  all  template registery templates to
344314           file.managed docs (refs: #35498)
344315
344316         · 5bd44b10a7 Merge pull request #35498 from rallytime/file-state-docs
344317
344318         · 6190b2d738 Add supported templates list to all template doc  refer‐
344319           ences in file state
344320
344321       · PR #35487: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344322         2016-08-16 18:36:21 UTC
344323
344324         · 6df4648765 Merge pull request #35487 from rallytime/merge-2016.3
344325
344326         · c6c82be1de Merge branch '2015.8' into '2016.3'
344327
344328         · bfe7107a87 Update bootstrap script to latest stable (2016.08.16) (‐
344329           #35486)
344330
344331         · 240fc12863 Merge pull request #35413 from cachedout/issue_35296
344332
344333           · fb8a12d677 Fix silly error
344334
344335           · 3646cf1afa Additional checks on master and integration test
344336
344337           · 09efde7634 Splat the list into os.path.join
344338
344339           · fc0d5878bc Set file_recv on test master
344340
344341           · 81c4d136c5 Transition file push paths to lists
344342
344343         · c3319b2a8b Merge pull request #35476 from cachedout/issue_35380
344344
344345           · c05fcf33d1 Fixup SSH bug where sudo without sudo user would break
344346
344347         · 004778c966 Merge pull request #35471 from terminalmage/issue34479
344348
344349           · e243c63e43 win_pkg: Fix traceback when package is not installed
344350
344351         · 5c9428c32d Merge pull request #35448 from isbm/isbm-zypper-106-fix
344352
344353           · dd82e6a848  Add  ignore_repo_failure  option to suppress zypper's
344354             exit code 106 on unavailable repos
344355
344356         · 1473474b04  Merge   pull   request   #35451   from   isbm/isbm-zyp‐
344357           per-mod_repo-unchanged
344358
344359           · 8790197d86 Fix Unit test for suppressing the exception removal on
344360             non-modified repos
344361
344362           · 3f00c6997a Remove zypper's raise exception  if  mod_repo  has  no
344363             arguments and/or no changes
344364
344365         · a8c4f17f50    Merge   pull   request   #35453   from   theothergra‐
344366           ham/fix_CacheDisk
344367
344368           · ae5b233d51 fixes #34279
344369
344370         · d8c35b5260 Merge pull request #35459 from thatch45/shim_fix
344371
344372           · 10037b00cb Some environments refuse to return the command output
344373
344374         · 38b60a32e5  [2015.8]  Update  bootstrap  script  to  latest  stable
344375           (2016.08.15) (#35460)
344376
344377       · ISSUE  #34161:  (bobrik) Salt command can hang forever because of one
344378         broken minion (refs: #35446)
344379
344380         · PR #35446: (cachedout) Make salt-client aware  of  edge-case  where
344381           saltutil might be broken
344382
344383       · ISSUE  #35422:  (ViaviSolutions)  aptpkg.py: install_recommends: True
344384         does not force "--install-recommends" (refs: #35449)
344385
344386       · PR #35449: (dkruger)  aptpkg  will  specify  --install-recommends  if
344387         enabled by the SLS @ 2016-08-16 01:38:56 UTC
344388
344389         · f90ecbb15e Merge pull request #35449 from dkruger/fix-35422
344390
344391         · f54bf445b5  aptpkg  will specify --install-recommends if enabled by
344392           the SLS
344393
344394       · ISSUE #33367: (supertom) [salt-cloud] libcloud >= 1.0.0  incompatible
344395         regarding node_state (refs: #33518)
344396
344397       · PR  #35467:  (rallytime)  Back-port  #33518  to  2016.3  @ 2016-08-16
344398         01:17:01 UTC
344399
344400         · PR #35235: (rallytime) Back-port #33518 to 2016.3 (refs: #35467)
344401
344402         · PR #33518: (tonybaloney) Fix libcloud  bug  #33367  (refs:  #35235,
344403           #35467)
344404
344405         · d2dd78e25b Merge pull request #35467 from rallytime/bp-33518
344406
344407         · e427815caf fix clrf
344408
344409         · be41a400fa commit fix
344410
344411         · 06530b5461 add a test to check existing functionality is broken
344412
344413         · PR  #35461:  (rallytime) [2016.3] Update bootstrap script to latest
344414           stable (2016.08.15)
344415
344416       · PR #35456: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344417         2016-08-15 19:16:23 UTC
344418
344419         · 9b2c075611 Merge pull request #35456 from rallytime/merge-2016.3
344420
344421         · 6a86a12294 Merge branch '2015.8' into '2016.3'
344422
344423         · d75005c519 Fix cp.push_dir pushing empty dirs (#35442)
344424
344425         · 09925ba353 Minor doc fixup (#35436)
344426
344427         · a0b128a85a Merge pull request #35132 from sjorge/2015.8-35121
344428
344429           · 5cb38c8ae0  switch  to fpread().splitlines(), as per @lorengordon
344430             suggestion
344431
344432           · 634f1dded5 fixes #35121, causing lots of mayham  (onchange)  with
344433             2016.3.2 for me
344434
344435         · PR   saltstack/salt#35308:   (farcaller)   Actually   fixed   dock‐
344436           erng.list_tags (refs: #35447)
344437
344438         · PR  saltstack/salt#34702:  (farcaller)   Fixed   dockerng.list_tags
344439           (refs: #35447)
344440
344441         · PR  #35447:  (ticosax) [dockerng] RepoTags can be also be None with
344442           docker 1.12
344443
344444         · PR #34702:  (farcaller)  Fixed  dockerng.list_tags  (refs:  #`salt‐
344445           stack/salt#35308`_)
344446
344447       · ISSUE  saltstack/salt#35403:  (randomed) Setting ext_job_cache breaks
344448         on salt-master (refs: #35427)
344449
344450         · PR #35427: (cachedout) Correct errant call to argspec from  master.
344451           Fix ext_job_cache.
344452
344453       · ISSUE  #35423:  (Ch3LL)  Stacktrace when running state.sls against an
344454         sls does not exist (refs: #35428)
344455
344456         · PR #35428: (cachedout) Resolve stacktrace logged by highstate  out‐
344457           putter if sls cannot be found
344458
344459       · PR  #35412: (s0undt3ch) Only allow one sync read to happen at a time.
344460         @ 2016-08-12 23:57:29 UTC
344461
344462         · 607169a01b Merge pull request #35412 from s0undt3ch/2016.3
344463
344464         · f54b3cc514 Only allow one sync read to happen at a time.
344465
344466       · ISSUE #35336: (Sylvain303) documentation state.file.managed parameter
344467         template  not  reflecting  TEMPLATE_REGISTRY  (refs:  #35360, #35498,
344468         #35406, #saltstack/salt`#35360`_)
344469
344470         · PR saltstack/salt#35360: (rallytime)  Add  all  template  registery
344471           templates to file.managed docs (refs: #35406)
344472
344473         · PR  #35406:  (rallytime) Provide links to the renderers in the tem‐
344474           plate docs (refs: #35498)
344475
344476       · PR #35393: (deniszh)  No  need  to  run  ddns  update  every  time  @
344477         2016-08-12 12:40:36 UTC
344478
344479         · b3e9e98b40 Merge pull request #35393 from deniszh/2016.3_fix35350
344480
344481         · 6f2f080f4a No need to run dns update every time
344482
344483       · PR  #35407:  (hu-dabao)  [Fix-35094] None will not be added to grains
344484         which generate [none] @ 2016-08-12 12:34:05 UTC
344485
344486         · a5fe05b7f9 Merge pull request #35407 from hu-dabao/fix-35094
344487
344488         · a23108f795 None will not be added to grains which generate [none]
344489
344490       · PR #35411: (eliasp) modules.event.send(): Prevent backtrace for  mas‐
344491         terless Minions @ 2016-08-12 12:29:02 UTC
344492
344493         · 4dc776ffbf   Merge  pull  request  #35411  from  eliasp/2016.3-mod‐
344494           ules.event-handle-file_client-opt
344495
344496         · 8d7244bdd9 modules.event.send(): Also  check  for  file_client  and
344497           use_master_when_local opts
344498
344499       · PR #35395: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344500         2016-08-11 20:59:37 UTC
344501
344502         · c032506e6b Merge pull request #35395 from rallytime/merge-2016.3
344503
344504         · 0d1aa630f1 Lint fix
344505
344506         · cf038ee3fe Merge branch '2015.8' into '2016.3'
344507
344508         · d9c20c0456 Update freebsd.rst (#35394)
344509
344510         · a375dd7e1f Clean up open filehandles (#35359)
344511
344512         · 9ea7a34c30 Merge pull  request  #35339  from  isbm/isbm-2015.8-min‐
344513           ion-importerror-fix
344514
344515           · 12af60b7be  Fix  continuous minion restart if a dependency wasn't
344516             installed
344517
344518         · fd9b05ace4    Merge    pull    request    #35357    from     twang‐
344519           boy/file.recurse.clean.2015.8
344520
344521           · d328ec0157 Fix file.recurse with clean: True
344522
344523       · ISSUE  #35226:  (mathieubouchard)  Do  not throw an exception when an
344524         invalid requisite is set (refs: #35373)
344525
344526         · PR #35373: (cachedout) Raise SaltRenderError on bad requisite
344527
344528       · PR #35352: (twangboy) Fix file.recurse with clean: True   on  Windows
344529         (2016.3) @ 2016-08-11 00:46:11 UTC
344530
344531         · 72f3548671     Merge    pull    request    #35352    from    twang‐
344532           boy/file.recurse.clean
344533
344534         · ecad616d08 Fix file.recurse with clean: True
344535
344536       · PR #35356: (jfindlay) document log levels and  warn  on  all  logging
344537         below info @ 2016-08-11 00:45:56 UTC
344538
344539         · 0fcfc70cc8 Merge pull request #35356 from jfindlay/log_levels
344540
344541         · 2fc3a55338  utils.verify.verify_log:  warn  at all levels less than
344542           info
344543
344544         · 72a3f18a2e log.setup: minor optimization
344545
344546         · 66332510c6 doc.ref.configuration.logging: document log levels
344547
344548         · 93616eff3e doc.ref.configuration.logging: fix formatting
344549
344550         · 472a2d31de doc.ref.configuration.logging: cleanup formatting
344551
344552       · PR #35358: (twangboy) Update libsodium deps @ 2016-08-11 00:36:30 UTC
344553
344554         · 2f7be03053 Merge  pull  request  #35358  from  twangboy/update_lib‐
344555           sodium_deps
344556
344557         · d120a8906f Add vcredist 14 dlls
344558
344559       · ISSUE #35336: (Sylvain303) documentation state.file.managed parameter
344560         template not  reflecting  TEMPLATE_REGISTRY  (refs:  #35360,  #35498,
344561         #35406, #saltstack/salt`#35360`_)
344562
344563       · PR  #35360:  (rallytime)  Add  all  template  registery  templates to
344564         file.managed docs (refs: #35498) @ 2016-08-11 00:35:20 UTC
344565
344566         · f9e03b9c59 Merge pull request #35360 from rallytime/fix-35336
344567
344568         · 30badb5402 Add all template  registery  templates  to  file.managed
344569           docs
344570
344571       · ISSUE #24745: (The-Loeki) RFC: disk versus blockdev (refs: #24893)
344572
344573         · PR saltstack/salt#25267: (jfindlay) Disk module improvements (refs:
344574           #35361)
344575
344576       · PR #35362: (rallytime) Correct deprecation version tags @  2016-08-11
344577         00:34:38 UTC
344578
344579         · PR #35361: (rallytime) Blockdev deprecations (refs: #35362)
344580
344581         · PR #25267: (jfindlay) Disk module improvements (refs: #35362)
344582
344583         · PR  #24893:  (The-Loeki)  Contribution:  Disk  module  improvements
344584           (refs: #`saltstack/salt`#25267`_`_, #25267)
344585
344586         · 3c628d3cbc Merge pull request #35362 from  rallytime/correct-depre‐
344587           cated-tag
344588
344589         · 507827a014 Correct deprecation version tags
344590
344591       · PR #35347: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344592         2016-08-10 20:07:42 UTC
344593
344594         · 87e29188c0 Merge pull request #35347 from rallytime/merge-2016.3
344595
344596         · a651962e95 Merge branch '2015.8' into '2016.3'
344597
344598         · 4618b433e9 Merge pull request #35323 from thatch45/ssh_crazy
344599
344600           · 8a5b47b5d7 Collect all error data from the wfuncs call
344601
344602           · 11864c31b7 supress a stack trace to show clean ssh error
344603
344604           · 9fbfa282fa wow this solves an issue!
344605
344606         · cfae862972 Merge pull request #35325 from kev009/fbsd-netstat-route
344607
344608           · 0d49dd3c29 Fix fbsd netstat route on fbsd 10+
344609
344610         · 244c3bd495 Pass port  to  ssh.check_known_host,  closes  #35264  (‐
344611           #35301)
344612
344613         · 243909f39d file.recurse: Do not convert octal mode string to int (‐
344614           #35309)
344615
344616         · PR #35334: (cachedout) Restore random_master functionality
344617
344618       · PR #35331: (hu-dabao) fix 35165, salt-run  jobs.exit_success  jid  is
344619         broken @ 2016-08-10 11:50:10 UTC
344620
344621         · 78dfd18ec6 Merge pull request #35331 from hu-dabao/fix-35165
344622
344623         · 4dcce18d01 fix 35165, salt-run jobs.exit_success jid is broken
344624
344625       · PR  #35318:  (rallytime)  Remove  legacy  compat docs in mysql pillar
344626         since the code was removed already @ 2016-08-10 11:34:48 UTC
344627
344628         · PR #30913: (justinta) Deprecated code removed.  (refs: #35318)
344629
344630         · fcca0b9333 Merge pull request #35318 from rallytime/remove-depreca‐
344631           tion-docs
344632
344633         · 75f205e485 Remove legacy compat docs in mysql pillar since the code
344634           was removed already
344635
344636       · PR #35329: (hu-dabao) sys.doc will skip all not connected  minions  @
344637         2016-08-10 11:18:22 UTC
344638
344639         · 3446dc9ec6       Merge      pull      request      #35329      from
344640           hu-dabao/fix-tiny-salt-cli
344641
344642         · 4b806a70ea sys.doc will skip all not connected minions
344643
344644       · PR #35306: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344645         2016-08-09 18:50:44 UTC
344646
344647         · 31f7d307a7 Merge pull request #35306 from rallytime/merge-2016.3
344648
344649         · 2d3eadfe49 Merge branch '2015.8' into '2016.3'
344650
344651         · 2efc1b333b Merge pull request #35290 from terminalmage/issue35051
344652
344653           · d621aa7b61  Update  runner/wheel unit tests to reflect new key in
344654             ret dict
344655
344656           · 90c12a9c7b Add __orchestration__ key to  orch  returns  for  run‐
344657             ner/wheel funcs
344658
344659           · 7b8c3b86e7  Suppress error about invalid changes data for orches‐
344660             tration jobs
344661
344662           · 54a1704d6c Suppress event for wheel/runner  funcs  executed  from
344663             orchestration
344664
344665           · f409f62bf2 Accept print_event option in WheelClient.cmd()
344666
344667           · b42b25ccce Add cmd func for RunnerClient
344668
344669           · 480065fe00 Add print_event option to client mixins
344670
344671       · PR  #35229: (lubyou) Ignore import error for pwd module in mac_shadow
344672         @ 2016-08-09 15:48:16 UTC
344673
344674         · 94529d0578 Merge pull request #35229 from lubyou/fix-mac_shadow
344675
344676         · b45039c240 Do not blindly ignore import failures
344677
344678         · c1d5670b79 Ignore import error for pwd module
344679
344680       · PR #35227: (isbm) Isbm osfinger ubuntu fix @ 2016-08-09 15:38:31 UTC
344681
344682         · ce7aeb6ca4  Merge  pull  request   #35227   from   isbm/isbm-osfin‐
344683           ger-ubuntu-fix
344684
344685         · fe5da97283 Lintfix: E8303
344686
344687         · 6eea62d4ec Add a deprecation warning
344688
344689         · 4dc45f2509 Add grains unit test for Ubuntu systems
344690
344691         · 3904e4b81c  Bugfix:  Ubuntu osfinger should contain also minor ver‐
344692           sion
344693
344694         · a69f97f9ad  Bugfix:  use  oscodename  if  lsb_distrib_codename  key
344695           exists empty.
344696
344697       · PR  #35286:  (hu-dabao)  fix  34425, a bug that sys.doc cannot output
344698         format @ 2016-08-09 09:50:12 UTC
344699
344700         · 47e328f755 Merge pull request #35286 from hu-dabao/fix-34425
344701
344702         · 86fb359f58 fix 34425, a bug that sys.doc cannot output format
344703
344704       · ISSUE #27294: (stenstad) salt-cloud should support Openstack  Identi‐
344705         tiy v3 for authentication (refs: #35213)
344706
344707       · PR  #35275:  (rallytime)  Back-port  #35213  to  2016.3  @ 2016-08-09
344708         00:02:43 UTC
344709
344710         · PR #35213: (gtmanfred) add identity v3 support to openstack  driver
344711           (refs: #35275)
344712
344713         · d79cb1b4ec Merge pull request #35275 from rallytime/bp-35213
344714
344715         · 9b9fc508cc add identity v3 support to openstack driver
344716
344717         · PR  #35278:  (dmurphy18)  Increase timeout for siging to 10 seconds
344718           when signing rpm packages
344719
344720       · PR #35276: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344721         2016-08-08 18:20:29 UTC
344722
344723         · 959a00e4b7 Merge pull request #35276 from rallytime/merge-2016.3
344724
344725         · 2b4c156df1 Merge branch '2015.8' into '2016.3'
344726
344727         · f8158124d5 Merge pull request #35211 from cachedout/issue_31074
344728
344729           · 6f53232e6d  Better error handling and a workaround for group mis‐
344730             match.
344731
344732           · 5b56a4acf7 Docs
344733
344734           · ae04e7aaeb Initial POC
344735
344736         · 3e4eb13daa  Merge  pull  request  #35271  from  bobrik/default-out‐
344737           put-profile
344738
344739           · 6cdee21036   Default  state_output_profile  to  True  everywhere,
344740             closes #35166
344741
344742         · 673e1aa1aa Merge pull request #35233 from terminalmage/issue32719
344743
344744           · 730a077041  Do  not  attempt  to  get  fqdn_ip{4,6}  grains  when
344745             ipv{4,6} grains are empty
344746
344747         · cdf3c0fe73 Merge pull request #35202 from multani/fix/test-doc
344748
344749           · 1642dba5d1 doc: fix broken links in the test documentation page
344750
344751         · e1331cd2a3 Merge pull request #35236 from rallytime/bp-35119
344752
344753           · 9ade78de7b Revise unnecessary code duplication
344754
344755           · 7c15f5b20a Fix formatting
344756
344757           · 64f93f8938 Assume two EVRs are equal if E and V are equal but one
344758             R is missing.
344759
344760         · 4f2b8aa5b6 Merge pull request #35240 from derekmaciel/bp-35225
344761
344762           · 9ed47f713a Add missing documentation for pkg.installed
344763
344764         · 4bcfaa97d0 Merge pull request #35241 from terminalmage/gitfs-fixes
344765
344766           · e05648cc2d Break from loop when file is found
344767
344768           · 6764a88601 Ensure that failed recursion results in no blob object
344769             being returned
344770
344771         · f6d7360e0b Merge pull request #35245 from rallytime/bp-35039
344772
344773           · 51ab9cd6d4 Add saltenv support to module.run
344774
344775         · d65a5c7134 Merge pull request #35249 from terminalmage/issue35214
344776
344777           · bcd5129e9f  Fix regression in git.latest when update is fast-for‐
344778             ward
344779
344780           · e2e8bbbfde Add integration test for #35214
344781
344782       · ISSUE #35003: (edgan) rabbitmq_user.present broken  on  Ubuntu  16.04
344783         Xenial (refs: #35232)
344784
344785       · ISSUE  #34481:  (L4rS6)  rabbitmq_user.present  with password keyword
344786         throws exception (refs: #35232)
344787
344788       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #35232)
344789
344790       · PR #35274: (rallytime) Lint fixes  for  2016.3  branch  @  2016-08-08
344791         16:45:41 UTC
344792
344793         · PR #35232: (theredcat) fix rabbitmq version detection using a pack‐
344794           age-agnostic version (refs: #35274)
344795
344796         · 157939d5b0 Merge pull request #35274 from rallytime/lint-2016.3
344797
344798         · 0d3d711e9c Lint fixes for 2016.3 branch
344799
344800       · PR #35269: (meaksh) Checksum validation for  zypper  pkg.download  in
344801         2016.3 and develop @ 2016-08-08 14:45:16 UTC
344802
344803         · c58bb18624  Merge  pull  request  #35269  from meaksh/checksum-dur‐
344804           ing-zypper-pkg-download-for-2016.3-and-develop
344805
344806         · 18700e821e unit tests for rpm.checksum() and zypper.download()
344807
344808         · c3f29ab205 checksum validation during zypper pkg.download
344809
344810       · PR #35197: (vutny) Make pkgbuild.repo state recognize createrepo com‐
344811         mand return code @ 2016-08-06 23:20:47 UTC
344812
344813         · d3f2ce2a1a Merge pull request #35197 from vutny/pkgbuild-repo-fail‐
344814           ure-detection
344815
344816         · a5f6630e97 Make pkgbuild.repo state  recognize  createrepo  command
344817           return code
344818
344819       · ISSUE  #34446:  (mirceaulinic)  Proxy minions & straight minion using
344820         the same caching directory (refs: #35178)
344821
344822       · PR #35178: (cro) Add append_minionid_config_dirs option @  2016-08-06
344823         22:21:14 UTC
344824
344825         · f004b831d2 Merge pull request #35178 from cro/proxy_cache_fix2
344826
344827         · 84cc7d67c0 Add documentation for append_minionid_config_dirs.
344828
344829         · f0961e741e Merge with 2016.3
344830
344831       · ISSUE  #35234:  (Sylvain303)  Bug:  module  disk.wipe  dont  wipe the
344832         filesystem information (refs: #35253)
344833
344834       · PR #35259: (cachedout) Fixup 35253 @ 2016-08-06 21:59:48 UTC
344835
344836         · PR #35253: (abednarik) Fix disk.wipe missing option. (refs: #35259)
344837
344838         · 6eb1c48469 Merge pull request #35259 from cachedout/fixup_35253
344839
344840         · 104116f464 Add release notes and include entry about disk.wipe fix
344841
344842         · 6714e8f386 Fix mock call in disk wipe test
344843
344844       · ISSUE #35234:  (Sylvain303)  Bug:  module  disk.wipe  dont  wipe  the
344845         filesystem information (refs: #35253)
344846
344847       · PR #35253: (abednarik) Fix disk.wipe missing option. (refs: #35259) @
344848         2016-08-06 21:55:01 UTC
344849
344850         · 4e7d7f8e4c Merge pull request #35253 from abednarik/disk_wipe_fix
344851
344852         · ff33df4ba1 Fix disk.wipe missing option.
344853
344854       · PR #35206: (hu-dabao) Make the log level back to warning for  unclas‐
344855         sified exc @ 2016-08-06 21:40:38 UTC
344856
344857         · eeede82109 Merge pull request #35206 from hu-dabao/fix-exc-log
344858
344859         · 676be7d711 Make the log level back to warning for unclassified exc
344860
344861       · PR  #35196:  (isbm)  Deprecate  status.uptime  one  version  later  @
344862         2016-08-06 08:39:40 UTC
344863
344864         · 21808e27d5      Merge      pull      request      #35196       from
344865           isbm/isbm-too-fast-uptime-deprecation
344866
344867         · 6f3a32dace Deprecate status.uptime one version later
344868
344869       · PR  #35207:  (eliasp)  Handle  exceptions  in  _get_virtual()  and in
344870         _get_virtual() consumers @ 2016-08-06 08:29:08 UTC
344871
344872         · 100645e557  Merge  pull  request  #35207  from   eliasp/2016.3-mod‐
344873           ules.aptpkg-handle-exceptions
344874
344875         · 2f11df98ca  Handle  exceptions  in  _get_virtual() and in _get_vir‐
344876           tual() consumers
344877
344878       · ISSUE #35003: (edgan) rabbitmq_user.present broken  on  Ubuntu  16.04
344879         Xenial (refs: #35232)
344880
344881       · ISSUE  #34481:  (L4rS6)  rabbitmq_user.present  with password keyword
344882         throws exception (refs: #35232)
344883
344884       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #35232)
344885
344886       · PR #35232: (theredcat) fix rabbitmq version detection using  a  pack‐
344887         age-agnostic version (refs: #35274) @ 2016-08-06 08:13:02 UTC
344888
344889         · 7302a8a6e5   Merge  pull  request  #35232  from  theredcat/fix-rab‐
344890           bitmq-version-detection
344891
344892         · f75eb2ecc7 Fix runas in code order and make the check_password work
344893           with the new >3.5.7 version
344894
344895         · 4d8119b88b  fix rabbitmq version detection using a package-agnostic
344896           version
344897
344898       · PR #35244:  (rallytime)  Back-port  #31677  to  2016.3  @  2016-08-06
344899         07:53:28 UTC
344900
344901         · PR #31677: (miihael) Return correct value for services that must be
344902           enabled in Systemd (refs: #35244)
344903
344904         · 2e9fa3799c Merge pull request #35244 from rallytime/bp-31677
344905
344906         · 45d563d5ac Return correct value for services that must  be  enabled
344907           in Systemd, not in SysV
344908
344909       · PR #35182: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344910         2016-08-03 20:57:29 UTC
344911
344912         · bd0496eef5 Merge pull request #35182 from rallytime/merge-2016.3
344913
344914         · c35974f78f Merge branch '2015.8' into '2016.3'
344915
344916         · 67d8dd0fd0  Don't  discard  running  beacons  config  when  listing
344917           becaons (#35174)
344918
344919         · 3754550dd2  Add  missing  CLI  Examples  to aws_sqs module funcs (‐
344920           #35173)
344921
344922         · 4967ed275f doc version update  to  2015.8.11,  updates  to  release
344923           notes (#35145)
344924
344925       · PR  #35150: (rallytime) Start release notes for 2016.3.3 @ 2016-08-03
344926         13:46:31 UTC
344927
344928         · f9f92ad326    Merge    pull    request    #35150    from     rally‐
344929           time/2016.3.3-release-notes
344930
344931         · a64026fc99 Start release notes for 2016.3.3
344932
344933       · PR #35157: (hu-dabao) master returned from func should be a string as
344934         designed so far @ 2016-08-03 13:29:16 UTC
344935
344936         · 518ecf897a      Merge      pull      request      #35157       from
344937           hu-dabao/func-return-string
344938
344939         · a7506af4c9 master returned from func should be a string as designed
344940           so far
344941
344942         · PR #35147: (jacobhammons) doc version updated to 2016.3.2
344943
344944       · PR #35136: (s0undt3ch) Don't restart processes if the manager is  not
344945         set to restart them @ 2016-08-02 18:40:05 UTC
344946
344947         · dc7d7db3d5 Merge pull request #35136 from s0undt3ch/2016.3
344948
344949         · 7b8bf2d2b4  Don't  restart  processes  if the manager is not set to
344950           restart them
344951
344952       · PR #35133: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
344953         2016-08-02 18:06:18 UTC
344954
344955         · bf04bd3316 Merge pull request #35133 from rallytime/merge-2016.3
344956
344957         · 0d5f0b6016 Merge branch '2015.8' into '2016.3'
344958
344959         · 81845ee31d  Merge  pull  request  #35114 from terminalmage/git_pil‐
344960           lar-env-remap-docs
344961
344962           · 5951554e9f Add clarification docs on a common git_pillar  miscon‐
344963             figuration
344964
344965         · 88a9fb1b31       Merge      pull      request      #34768      from
344966           hrumph/bad-installed-state
344967
344968           · e1fcb8311d Put pkg.latest_version in  try/except  structure  Move
344969             refreshed or refresh to different spot (just for code tidyness)
344970
344971           · e0b6261659    changed    name    of   varibale   'refreshed'   to
344972             'was_refreshed'
344973
344974           · 340110b4b4 Move check for rtag to outermost-nesting in function
344975
344976           · ac67c6b493 Lint fix
344977
344978           · 0435a1375e Get rid of repetition in code by using new "refreshed"
344979             variable instead
344980
344981           · 3b1dc978e2 Lint fix
344982
344983           · a9bd1b92b9 lint fixes
344984
344985           · 71d69343ef Fixes #34767
344986
344987         · 343576408f     Merge    pull    request    #35043    from    rally‐
344988           time/new-release-notes
344989
344990           · bdcc81a384 Start release notes file for 2015.8.12
344991
344992       · PR #35120: (kstreee) The '_handle_event_socket_recv' function in Salt
344993         Api is missing first data of stream.  @ 2016-08-02 16:22:50 UTC
344994
344995         · dd91006ed7   Merge   pull  request  #35120  from  kstreee/fix-miss‐
344996           ing-first-stream-data
344997
344998         · 28f793caac Fix missing first data in stream when subscribing stream
344999           using a function 'read_async'.
345000
345001         · PR  saltstack/salt#35011:  (nishigori) Fix docstring for code-block
345002           of rst (refs: #35131)
345003
345004         · PR #35131: (rallytime) Back-port #35011 to 2016.3
345005
345006         · PR #35011: (nishigori) Fix docstring for code-block of  rst  (refs:
345007           #35131)
345008
345009       · PR  #35110:  (hu-dabao)  Do  not return job status back to master for
345010         master_alive and master_failback schedules @ 2016-08-02 07:49:46 UTC
345011
345012         · 77b1f43b0d   Merge   pull   request   #35110   from   hu-dabao/mas‐
345013           ter-check-lighter
345014
345015         · 3a3b66e27d  dont  return job status back to master for master_alive
345016           and master_failback schedules
345017
345018       · PR #35104: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345019         2016-08-01 18:56:43 UTC
345020
345021         · 94a983f129 Merge pull request #35104 from rallytime/merge-2016.3
345022
345023         · dda2c32325 Merge branch '2015.8' into '2016.3'
345024
345025           · 848bf0272f  Merge pull request #35050 from terminalmage/fix-salt‐
345026             dev-arg
345027
345028             · 40cfa7cf17   Avoid   needlessly   running   2    argspecs    in
345029               salt.utils.format_call()
345030
345031             · fd186b7e4c  Pass  environment as 'saltdev' if runner/wheel func
345032               accepts a saltdev argument
345033
345034             · 951b52ab93  Pass  __env__  from  saltmod  orch  states  to   to
345035               saltutil.{runner,wheel}
345036
345037           · 2144178ae0 Merge pull request #35066 from jfindlay/postgres_log
345038
345039             · c2c442234f returners.postgres_local_cache: do not log in __vir‐
345040               tual__
345041
345042           · 7121618142   Merge   pull   request   #35024   from   bobrik/dae‐
345043             mon-reload-fix
345044
345045             · c300615e9d  Cache  systemd  unit  update check per unit, closes
345046               #34927
345047
345048           · 865c29f126 Expressly deny a minion  if  a  key  cannot  be  found
345049             instead of raising stacktrace (#35026)
345050
345051       · ISSUE  #32761:  (notpeter)  Ubuntu  16.04 Xenial Xerus Support (refs:
345052         #`saltstack/salt#33870`_)
345053
345054         · PR saltstack/salt#33870: (rallytime) Add note about Xenial packages
345055           to 2016.3.0 release notes (refs: #35105)
345056
345057       · PR  #35105: (rallytime) Update 2016.3.0 release notes with repo.salt‐
345058         stack.com Xenial pkg availability @ 2016-08-01 17:26:55 UTC
345059
345060         · 6c056a829e    Merge    pull    request    #35105    from     rally‐
345061           time/update-2016.3.0-release-notes
345062
345063         · fbaff3e98e  Update  2016.3.0  release notes with repo.saltstack.com
345064           Xenial pkg availability
345065
345066       · PR #35059: (vutny) Add fun_args field to events generated  by  execu‐
345067         tion of Master modules @ 2016-08-01 13:01:42 UTC
345068
345069         · 1f8a0fd1e7 Merge pull request #35059 from vutny/event-function-args
345070
345071         · 19d080445b  Add  fun_args field to events generated by execution of
345072           Master modules
345073
345074       · PR #34955: (lubyou) force  dism  to  always  output  english  text  @
345075         2016-08-01 12:54:03 UTC
345076
345077         · d137c4b986       Merge      pull      request      #34955      from
345078           lubyou/fix-dism-on-non-english-systems
345079
345080         · 63c974a3d0 add missing comma
345081
345082         · 775ea73578 fix unit tests
345083
345084         · 51869807f1 force dism to always output english text
345085
345086       · PR  #35078:  (jacobweinstock)  added  missing  non-keyword   argument
345087         skip_verify to __get_artifact func… @ 2016-08-01 12:22:47 UTC
345088
345089         · ff7ddf0b68  Merge pull request #35078 from jacobweinstock/fix-miss‐
345090           ing-non-keyword-argument
345091
345092         · c40314ba80  added  missing  non-keyword  argument  skip_verify   to
345093           __get_artifact function
345094
345095       · PR  #35008: (hu-dabao) Fix multimaster failover on more than two mas‐
345096         ters and failback behaviour @ 2016-07-29 16:34:37 UTC
345097
345098         · 878e200cd9 Merge pull request #35008 from hu-dabao/fix-multimaster
345099
345100         · 12da890910 Fix multimaster failover on more than  two  masters  and
345101           failback behaviour
345102
345103       · ISSUE  saltstack/salt#33536:  (murzick) pkgrepo.managed does not dis‐
345104         able a yum repo with "disabled: True" (refs: #35055)
345105
345106       · ISSUE #33536: (murzick) pkgrepo.managed does not disable a  yum  repo
345107         with "disabled: True" (refs: #35055)
345108
345109       · PR #35055: (galet) #33536 pkgrepo.managed does not disable a yum repo
345110         with "disabled: True" @ 2016-07-29 15:40:15 UTC
345111
345112         · 11ed147448 Merge pull request #35055 from galet/2016.3
345113
345114         · d70796bbfe #33536 pkgrepo.managed does not disable a yum repo  with
345115           "disabled: True"
345116
345117       · PR  #35039:  (whiteinge)  Add  saltenv  support  to module.run (refs:
345118         #35245) @ 2016-07-29 14:01:03 UTC
345119
345120         · ebaee39b2b  Merge   pull   request   #35039   from   whiteinge/mod‐
345121           ule-run-saltenv
345122
345123         · 7ef287e09e Add saltenv support to module.run
345124
345125       · PR  #35046:  (eliasp)  Prevent  backtrace  in  salt.states.network  @
345126         2016-07-29 13:59:09 UTC
345127
345128         · 32ed78a399      Merge      pull      request      #35046       from
345129           eliasp/2016.3-salt.states.network-prevent-backtrace
345130
345131         · 1542cd5124 Prevent backtrace in salt.states.network
345132
345133       · PR  #35054:  (lubyou)  Only fail user lookup is the user parameter is
345134         required @ 2016-07-29 13:58:41 UTC
345135
345136         · f34bb7a8de Merge pull request #35054 from  lubyou/fix-win_dacl-dis‐
345137           able_inheritance
345138
345139         · 1e4e856fb2 Only fail user lookup is the user parameter is required
345140
345141       · PR #35029: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345142         2016-07-28 18:01:35 UTC
345143
345144         · bee303db51 Merge pull request #35029 from rallytime/merge-2016.3
345145
345146         · 65f9365ee0 Merge branch '2015.8' into '2016.3'
345147
345148         · 2b511f3013 Merge pull request #35000 from rallytime/bp-33875
345149
345150           · 35696ad637 Pylint fix
345151
345152           · f9fd6ddd8a Fixup #33875
345153
345154           · 56b1f6c651 Fix naive fileserver map diff algorithm
345155
345156         · 837bc6ba7d Merge pull request #34994 from rallytime/bp-34835
345157
345158           · 9268a793de same thing for the mine in salt-ssh
345159
345160           · 3e11e19714 Fix the mine in salt ssh
345161
345162         · PR #35021: (terminalmage) Don't add '.'  to  strerror  when  passed
345163           string ends in ? or !
345164
345165         · PR  #34983: (eliasp) modules.slack.post_message: Allow sending mes‐
345166           sages to direct-message …
345167
345168       · PR #34996: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345169         2016-07-27 19:03:04 UTC
345170
345171         · 05cfb1cefc Merge pull request #34996 from rallytime/merge-2016.3
345172
345173         · a7d4f93697 Merge branch '2015.8' into '2016.3'
345174
345175           · b58c663d8d Merge pull request #34991 from cachedout/ssh_timeout
345176
345177             · 39cd8da399 Lint diff against salt-testing
345178
345179             · 443e5cdde2 Add timeout to ssh tests
345180
345181           · 5f8370ae8d Refine errors in client (#34976)
345182
345183           · a83cdf9339 Merge pull request #34831 from thatch45/recoverssh
345184
345185           · fa73041a49 If the thin does not match, then redeploy, don't error
345186
345187         · PR   #34987:   (eliasp)  salt.states.slack:  check  correct  result
345188           attribute
345189
345190       · ISSUE saltstack/salt#34526: (danielmotaleite) salt-ssh + mine = weird
345191         error (refs: #34835, #saltstack/salt`#34835`_)
345192
345193       · PR  #34835:  (thatch45)  Make the mine and publish combine minion and
345194         master opts in salt-ssh (refs: #34994) @ 2016-07-27 17:25:26 UTC
345195
345196         · edeb0eda36 Merge pull request #34835 from thatch45/34526_
345197
345198         · 1d2477df05 same thing for the mine in salt-ssh
345199
345200         · 6b6c5ff278 Fix the mine in salt ssh
345201
345202   Salt 2016.3.4 Release Notes
345203       Version 2016.3.4 is a bugfix release for 2016.3.0.
345204
345205   Statistics
345206       · Total Merges: 275
345207
345208       · Total Issue References: 119
345209
345210       · Total PR References: 374
345211
345212       · Contributors: 80 (BenoitKnecht, Ch3LL, DavidWittman,  DmitryKuzmenko,
345213         Jlin317,  Kimamisa,  UtahDave,  aaronm-cloudtek, abednarik, ahammond,
345214         alertedsnake, alexander-bauer, amontalban, basepi, bl4ckcontact, bx2,
345215         cachedout,   clarkperkins,   clinta,  cro,  damon-atkins,  danlsgiga,
345216         darkalia, dmurphy18, do3meli,  edhgoose,  efficks,  eliasp,  eradman,
345217         fix7,  galet,  goestin,  gtmanfred,  hrumph, hu-dabao, isbm, jackywu,
345218         jacobhammons, jbonachera, jf, jfindlay, jizhilong, justinta, kstreee,
345219         l2ol33rt,  lomeroe,  lorengordon,  maximeguillet,  meaksh, mikeadamz,
345220         mirceaulinic, morganwillcock, mrproper, multani,  nvtkaszpir,  oba11,
345221         onorua, opdude, orymate, oz123, pass-by-value, pbdeuchler, rallytime,
345222         roosri, silenius, skizunov, slinn0, stanislavb,  swiftgist,  techhat,
345223         terminalmage,   thatch45,   theredcat,   ticosax,   twangboy,  vutny,
345224         whiteinge, xbglowx, xiaoanyunfei, yhekma)
345225
345226   Known Issues
345227       The Salt Minion does not clean up files in  /tmp  when  rendering  tem‐
345228       plates.   This  potentially results in either running out of disk space
345229       or running out of inodes. Please see issue #37541 for more information.
345230       This  bug  was  fixed  with  PR  #37540, which will be available in the
345231       2016.3.5 release of Salt.
345232
345233       The release of the  bootstrap-salt.sh  script  that  is  included  with
345234       2016.3.4  release  has a bug in it that fails to install salt correctly
345235       for git installs using tags in the 2015.5 branch.   This  bug  has  not
345236       been fixed in the salt-bootstrap repository yet, but the previous boot‐
345237       strap release (v2016.08.16) does not contain this bug.
345238
345239   Changes
345240       · The disk.wipe execution module function has been modified so that  it
345241         correctly wipes a disk.
345242
345243       · Add ability to clone from a snapshot to the VMWare salt-cloud driver.
345244
345245       · Add  ability  to  specify  disk backing mode in the VMWare salt cloud
345246         profile.
345247
345248   Changelog for v2016.3.3..v2016.3.4
345249       Generated at: 2018-05-27 04:56:54 UTC
345250
345251       · PR #37285: (rallytime) Update 2016.3.4 release notes
345252
345253       · ISSUE #37281: (frogunder) 2016.3.4: Raet Transport not working (refs:
345254         #37282)
345255
345256       · PR  #37282: (thatch45) add cpub to raet event for compat @ 2016-10-27
345257         21:33:48 UTC
345258
345259         · 3b62a89e45 Merge pull request #37282 from thatch45/raet_cpub
345260
345261         · 90f778dbc1 Add func for compat with main event system
345262
345263         · 8e52f425e4 add cpub to raet event for compat
345264
345265         · PR #37278: (jfindlay) update 2016.3.4 release notes
345266
345267       · PR #37252: (vutny) Set logging level to 'info' for message about init
345268         system detection @ 2016-10-27 06:15:01 UTC
345269
345270         · d0ce3de50c    Merge    pull    request   #37252   from   vutny/sup‐
345271           press-init-grain-error
345272
345273         · 3f20cc01ed Set logging level to 'info' for message about init  sys‐
345274           tem detection
345275
345276         · PR  #37259:  (rallytime)  [2016.3]  Update man pages for the 2016.3
345277           branch
345278
345279       · PR #37257: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345280         2016-10-26 17:32:36 UTC
345281
345282         · 2087cfce90 Merge pull request #37257 from rallytime/merge-2016.3
345283
345284         · 2066f10d7b Merge branch '2015.8' into '2016.3'
345285
345286           · f49ccdf30f Merge pull request #37234 from rallytime/bp-37167
345287
345288             · a7dbb5bfc9 fixes pkgrepo for fedora>22 saltstack/salt#31240
345289
345290       · ISSUE  #37238:  (cmclaughlin) Restarting master causes minion to hang
345291         (refs: #37254)
345292
345293       · ISSUE #37192: (Ch3LL) 2016.3.4: Windows minion does not kill  process
345294         running in foreground (refs: #37254)
345295
345296       · ISSUE  #37191:  (Ch3LL)  2016.3.4: Multi-Master Failover minion hangs
345297         when masters not running (refs: #37254)
345298
345299       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
345300         (refs: #36184, #36555, #37254)
345301
345302       · PR  #37254:  (DmitryKuzmenko)  Bugs/37191  minion  hangs @ 2016-10-26
345303         16:28:41 UTC
345304
345305         · ea6155c3f4   Merge   pull   request   #37254    from    DSRCorpora‐
345306           tion/bugs/37191_minion_hangs
345307
345308         · 9ee24b2d70  Revert  "Don't  set  the  daemon  flag for LoggingQueue
345309           process."
345310
345311       · ISSUE #37187: (darkalia) Supervisord is considered  as  "systemd"  in
345312         grains (refs: #37218)
345313
345314       · PR #37218: (darkalia) Issue #37187 Do not parse first /proc/1/cmdline
345315         binary if it's not b… @ *2016-10-26 01:41:03 UTC
345316
345317         · d1a6bb72ac Merge pull request #37218  from  darkalia/37187_supervi‐
345318           sor_2016.3
345319
345320         · a8dfc6bb96  Issue  #37187 Do not parse first /proc/1/cmdline binary
345321           if it's not *bin/init and set supervisord
345322
345323       · PR #37239: (Ch3LL) Fix cloud tests timeout @ 2016-10-26 01:11:52 UTC
345324
345325         · 760ed9f56d Merge pull request #37239 from Ch3LL/fix_cloud_timeout
345326
345327         · 394fccf556 fix run_cloud timeout
345328
345329         · 23947c5944 change timeout for cloud tests
345330
345331       · PR #37244: (rallytime)  Update  bootstrap  release  to  2016.10.25  @
345332         2016-10-26 00:46:29 UTC
345333
345334         · 6c5f619398  Merge  pull  request #37244 from rallytime/update-boot‐
345335           strap
345336
345337         · f728a5bc7b Update bootstrap release to 2016.10.25
345338
345339         · PR saltstack/salt#36334: (pass-by-value)  Add  ability  to  specify
345340           disk backing mode for VMware cloud profile (refs: #37245)
345341
345342       · PR  #37245:  (rallytime)  Back-port  #36334  to  2016.3  @ 2016-10-26
345343         00:41:00 UTC
345344
345345         · PR #36334: (pass-by-value) Add ability to specify disk backing mode
345346           for VMware cloud profile (refs: #37245)
345347
345348         · bb7caf8c42 Merge pull request #37245 from rallytime/bp-36334
345349
345350         · f64ca3c442 Update release notes and version added
345351
345352         · 0a3d266d6b  Add  ability  to  specify  disk backing mode for VMware
345353           cloud profile
345354
345355       · ISSUE #37132: (bl4ckcontact) Incorrect flag defined for disabling  AD
345356         computer account in win_system.py (refs: #37154)
345357
345358       · PR  #37233:  (rallytime)  Back-port  #37154  to  2016.3  @ 2016-10-25
345359         18:32:56 UTC
345360
345361         · PR #37154: (bl4ckcontact) modules.win_system.py: Fix flag disabling
345362           AD Computer objects (refs: #37233)
345363
345364         · 3c94315d35 Merge pull request #37233 from rallytime/bp-37154
345365
345366         · 849af162f1  modules.win_system.py:  Fix  flag disabling AD Computer
345367           objects
345368
345369       · PR #37232:  (rallytime)  Back-port  #37153  to  2016.3  @  2016-10-25
345370         18:32:41 UTC
345371
345372         · PR  #37153:  (eradman)  Update  configuration  examples  for Joyent
345373           (refs: #37232)
345374
345375         · 94852f2eb1 Merge pull request #37232 from rallytime/bp-37153
345376
345377         · 3829b7592f Update configuration examples for Joyent
345378
345379       · PR #37228: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345380         2016-10-25 18:22:57 UTC
345381
345382         · a913eed92a Merge pull request #37228 from rallytime/merge-2016.3
345383
345384         · b99d6733b6 Merge branch '2015.8' into '2016.3'
345385
345386         · d608465d77       Merge      pull      request      #37178      from
345387           isbm/isbm-fix-saltapi-ssh-crash
345388
345389           · 44da411c3a Do not prematurily raise an exception,  let  the  main
345390             loop take care of it instead
345391
345392           · ee48deeded Do not restart the whole thing if roster is not around
345393
345394           · b8f4e46920 Fix PEP8
345395
345396       · PR  #37213:  (cachedout) More salttesting fixes @ 2016-10-25 07:53:33
345397         UTC
345398
345399         · 6aaf6bf399 Merge pull request #37213 from  cachedout/more_salttest‐
345400           ing_fixes
345401
345402         · 0bbf06bd86 Lint fix
345403
345404         · f609917760 Workaround for utils
345405
345406         · a6a24c2b3b Workaround for tornado test startup error
345407
345408         · 88bcfa2c0a Fix TCP test
345409
345410       · ISSUE  #37194:  (sjorge)  function_cache in modules.mine docs? (refs:
345411         #37207)
345412
345413       · PR #37207: (cachedout) Correct  documentation  for  mine_functions  @
345414         2016-10-25 07:25:09 UTC
345415
345416         · b448455c31 Merge pull request #37207 from cachedout/issue_37194
345417
345418         · 9fcdf6da94 Correct documentation for mine_functions
345419
345420       · ISSUE  #37182: (Ch3LL) 2016.3.4: multi-master minion stack trace when
345421         killed with ctrl+c (refs: #37208)
345422
345423       · PR #37208: (cachedout) Give multimion a process manager and  its  own
345424         destroy method @ 2016-10-25 07:24:52 UTC
345425
345426         · a5e1c041cc Merge pull request #37208 from cachedout/issue_37182
345427
345428         · 1449770b0b  Give  multimion  a  process manager and its own destroy
345429           method
345430
345431       · PR #37206: (cachedout)  Address  transport  test  hang  @  2016-10-25
345432         05:25:55 UTC
345433
345434         · e19ee88b6b   Merge   pull   request  #37206  from  cachedout/trans‐
345435           port_test_hang
345436
345437         · c4393d5e9e Address transport test hang
345438
345439       · PR #37179: (isbm)  Fix  Salt-API  ssh  crash  (2016.3)  @  2016-10-25
345440         04:52:19 UTC
345441
345442         · 6737fd3ad9       Merge      pull      request      #37179      from
345443           isbm/isbm-fix-saltapi-ssh-crash-2016-3
345444
345445         · 28edda457e Do not prematurily raise an exception, let the main loop
345446           take care of it instead
345447
345448         · 372f2bbd93 Do not restart the whole thing if roster is not around
345449
345450         · 8d1450cc47 Fix PEP8
345451
345452       · ISSUE  saltstack/salt#37176:  (guettli) docs for "load tags" explains
345453         "import_yaml" (refs: #37183)
345454
345455       · PR #37183: (gtmanfred) load tags should  reference  the  actual  load
345456         tags @ 2016-10-25 04:38:00 UTC
345457
345458         · 815dfd1c04 Merge pull request #37183 from gtmanfred/2016.3
345459
345460         · 1b7b4b1a0c load tags should reference the actual load tags
345461
345462       · PR #37188: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345463         2016-10-25 04:37:26 UTC
345464
345465         · ca63376c97 Merge pull request #37188 from rallytime/merge-2016.3
345466
345467         · ccb664050d Merge branch '2015.8' into '2016.3'
345468
345469         · b3e79dcd51 Merge pull  request  #37139  from  awerner/fix-spm-down‐
345470           load-remote-download
345471
345472           · a606a42575 Minor style change
345473
345474           · e3916813bb  Download  spm package from remote repository and save
345475             it to cache directory
345476
345477         · 35b4494157 Merge pull request #37162 from rallytime/bp-36823
345478
345479           · 3032a542d9 Use NotifyAccess=all in all unit files
345480
345481           · 4826995973 Remove EnvironmentFile and  Restart  lines  from  unit
345482             files
345483
345484           · 3be15694d2 Use Type=notify for debian systemd units
345485
345486           · d58fda6f67 Use control-group default for killmode
345487
345488         · PR #37186: (rallytime) Pylint fix for 2016.3
345489
345490         · PR #37175: (cachedout) Fix test hang (refs: #37186)
345491
345492       · PR  #37175:  (cachedout)  Fix  test  hang (refs: #37186) @ 2016-10-24
345493         09:55:37 UTC
345494
345495         · 0d7af935e5 Merge pull request #37175 from cachedout/fix_test_hange
345496
345497         · 0fecb5ff2e Remove sleep. Thanks @s0undt3ch
345498
345499         · cedc609503 Fix test suite hang on salt testing
345500
345501       · ISSUE #36866: (sjorge) [2016.11.0rc1] salt-master <> salt-minion com‐
345502         munication borken due to master_alive_interval (refs: #37144, #37117,
345503         #37142)
345504
345505       · PR #37144: (DmitryKuzmenko) Bugs/36866 salt minion communication bro‐
345506         ken 2016.3 @ 2016-10-24 03:19:06 UTC
345507
345508         · PR   #37142:   (DmitryKuzmenko)   status.master:   don't   fail  if
345509           host_to_ips returns None (refs: #37144)
345510
345511         · PR #37117: (DmitryKuzmenko) Updated host_to_ip to  return  all  the
345512           IPs instead of the first one. (refs: #37144, #37142)
345513
345514         · 334313ec64    Merge    pull   request   #37144   from   DSRCorpora‐
345515           tion/bugs/36866_salt-minion_communication_broken_2016.3
345516
345517         · 87c2e93e40 Don't fail if host_to_ips returns None.
345518
345519         · f625e6d3a9 Updated host_to_ip to return all the IPs instead of  the
345520           first one.
345521
345522       · PR  #37158:  (jfindlay)  add  mock for status.uptime unit test (refs:
345523         #37157) @ 2016-10-24 03:13:53 UTC
345524
345525         · PR #37157:  (jfindlay)  Implement  status.uptime  on  macOS  (refs:
345526           #37158)
345527
345528         · c5d81a8ade Merge pull request #37158 from jfindlay/mac_skip_uptime
345529
345530         · 094eac06eb modules.status.uptime unit test: mock on linux
345531
345532       · ISSUE  #37037: (mikeadamz) schedule state always reports changed when
345533         running in highstate (refs: #37098)
345534
345535       · PR #37161:  (rallytime)  Back-port  #37098  to  2016.3  @  2016-10-24
345536         03:13:14 UTC
345537
345538         · PR  #37098:  (mikeadamz)  Add  run_on_start to SCHEDULE_CONF (refs:
345539           #37161)
345540
345541         · e51f90b459 Merge pull request #37161 from rallytime/bp-37098
345542
345543         · 36bc2a1ded Add run_on_start to SCHEDULE_CONF
345544
345545       · PR #37159:  (rallytime)  Back-port  #37107  to  2016.3  @  2016-10-22
345546         13:55:47 UTC
345547
345548         · PR  #37107:  (do3meli)  use versionadded and deprecated warnings in
345549           apache_module (refs: #37159)
345550
345551         · b5025c044e Merge pull request #37159 from rallytime/bp-37107
345552
345553         · c63126a2f0 removed trailing whitespaces in apache_module.py
345554
345555         · a812cbfea7 use versionadded and deprecated warnings in  apache_mod‐
345556           ule
345557
345558       · PR #37163: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345559         2016-10-22 13:52:37 UTC
345560
345561         · 1e520b3f48 Merge pull request #37163 from rallytime/merge-2016.3
345562
345563         · 8fff95b3b4 Merge branch '2015.8' into '2016.3'
345564
345565         · a5335a2f15 Merge pull request #37137 from awerner/fix-spm-msgpack
345566
345567           · 52d47cece9 SPM-METADATA are now loaded as yaml from remote URLs
345568
345569         · 8c46d69251 Merge pull  request  #37109  from  meaksh/zypper-distup‐
345570           grade-support-2015.8
345571
345572           · 330f830c9b Disables 'novendorchange' for old SLEs versions
345573
345574           · 01b0a6917c Minor pylint fixes
345575
345576           · 7dbb0bd252 Unit tests fixes
345577
345578           · e89982b6d2 Improves 'dryrun' outputting. Setting 'novendorchange'
345579             as not supported for SLE11
345580
345581           · c5a34cbadf  Adds  multiple  repositories  support  to  'fromrepo'
345582             parameter
345583
345584         · 38fdd28962 Merge pull request #37087 from vutny/gpg-fix-short-keyid
345585
345586           · c589cba8a9 salt.modules.gpg: allow getting keys by short key ID
345587
345588         · 3a37a22366  Merge  pull  request  #37088 from meaksh/zypper-distup‐
345589           grade-support-2015.8
345590
345591           · c0641a4027 Fix in log message
345592
345593           · a092a974da Refactor: Cleanup and pylint fixes
345594
345595           · 1331ae5c72 Unit tests for zypper upgrade and dist-upgrade
345596
345597           · 4bcfef2ba2 Adding 'dist-upgrade' support to zypper module
345598
345599         · 2f29e9e956 Merge  pull  request  #37090  from  zer0def/silence-pre‐
345600           req-supervisord-warnings
345601
345602           · 6a4bfbb485  Silence  warnings  about  "__prerequired__"  being an
345603             invalid kwarg when using prereq. (no refs)
345604
345605         · PR #37150: (rallytime) Allow the minion test daemons  a  couple  of
345606           tries to connect to the master
345607
345608         · PR  #37152:  (rallytime)  Add note about salt-bootstrap known issue
345609           for 2016.3.4
345610
345611       · PR  #37135:  (aaronm-cloudtek)  Fix   example   signing   policy   in
345612         salt.states.x509 docs @ 2016-10-21 11:45:24 UTC
345613
345614         · 8de7b39b5e Merge pull request #37135 from Cloudtek/x509-docs-fix
345615
345616         · ce87f7311b Fix example signing policy in salt.states.x509 docs
345617
345618       · PR    #37140:   (vutny)   pkgbuild.repo:   fix   GPG   signing   with
345619         use_passphrase=False @ 2016-10-21 09:37:54 UTC
345620
345621         · 41ae90d3c3   Merge   pull   request    #37140    from    vutny/pkg‐
345622           build-repo-sign-with-no-passphrase
345623
345624         · 409a3100a7 pkgbuild.repo: fix GPG signing with use_passphrase=False
345625
345626       · PR  #37071:  (vutny) pkgbuild.repo: add timeout parameter for waiting
345627         passphrase prompt @ 2016-10-21 05:20:26 UTC
345628
345629         · 96a1292a7e   Merge   pull   request    #37071    from    vutny/pkg‐
345630           build-repo-gpg-sign-timeout
345631
345632         · cfc3a0ed92   pkgbuild.repo:   add  timeout  parameter  for  waiting
345633           passphrase prompt
345634
345635       · ISSUE saltstack/salt#31454: (johje349) Salt Mine memory  leak  (refs:
345636         #36024)
345637
345638       · ISSUE #37018: (tsaridas) get events from python (refs: #37115)
345639
345640       · ISSUE #31454: (johje349) Salt Mine memory leak (refs: #36720)
345641
345642       · PR  #37115:  (DmitryKuzmenko)  Backport/36720  fix  race  condition @
345643         2016-10-21 05:16:15 UTC
345644
345645         · PR #36720: (skizunov) Fix race condition when returning events from
345646           commands (refs: #37115)
345647
345648         · PR  #36024:  (DmitryKuzmenko) Don't subscribe to events if not sure
345649           it would read them. (refs: #36720)
345650
345651         · 274120300d Merge  pull  request  #37115  from  DSRCorporation/back‐
345652           port/36720_fix_race_condition
345653
345654         · d7e3209e13 For IPCClient, remove entry from instance map on close
345655
345656         · 82e27634a7 Fix race condition when returning events from commands
345657
345658       · PR  #37119:  (jfindlay)  log.setup:  only  assign  user  if defined @
345659         2016-10-21 05:14:55 UTC
345660
345661         · PR #36203: (xiaoanyunfei) fix owner of  MultiprocessingLoggingQueue
345662           (refs: #37119)
345663
345664         · 169a82e62b Merge pull request #37119 from jfindlay/log_proc_user
345665
345666         · 8c29949a0e log.setup: only assign user if defined
345667
345668         · 1d503f032c tests.integration: pass opts as a dict
345669
345670         · PR #37126: (Ch3LL) fix digital ocean image name in profile
345671
345672         · PR #37125: (jfindlay) add 2016.3.4 release notes
345673
345674       · PR  #37120:  (rallytime)  Back-port  #36246  to  2016.3  @ 2016-10-20
345675         19:38:32 UTC
345676
345677         · PR #36418: (rallytime) Back-port #36246 to 2016.3 (refs: #37120)
345678
345679         · PR #36246: (twangboy) Fix test_issue_6833_pip_upgrade_pip  test  on
345680           OS X (refs: #36418, #37120)
345681
345682         · 2a35f57be8 Merge pull request #37120 from rallytime/bp-36246
345683
345684         · f1c8d98119 Skip weird_install test on Mac OS X
345685
345686         · 90de794290 Fix test_issue_6833_pip_upgrade_pip test on OSX
345687
345688       · PR    #37103:    (cachedout)    Remove    unnecessary    sleep   from
345689         unit.utils.process_test.TestProcessMana… @ 2016-10-20 08:45:07 UTC
345690
345691         · 0b87e7890a Merge pull request #37103 from cachedout/fix_proc_test
345692
345693         · d7aebd1877       Remove        unnecessary        sleep        from
345694           unit.utils.process_test.TestProcessManager.test_restarting
345695
345696       · PR  #36823:  (terminalmage)  Update  debian systemd unit files to use
345697         default KillMode, Type=notify (refs: #37162)  @  2016-10-20  05:54:42
345698         UTC
345699
345700         · PR  #36806: (l2ol33rt) Deb systemd should use control-group default
345701           for killmode (refs: #36823)
345702
345703         · 326bbd5e30 Merge pull request #36823 from terminalmage/pr-36806
345704
345705         · fb6e545f78 Use NotifyAccess=all in all unit files
345706
345707         · 0ccf789172 Remove EnvironmentFile and Restart lines from unit files
345708
345709         · ddd44e9b13 Use Type=notify for debian systemd units
345710
345711         · 036d73f31b Use control-group default for killmode
345712
345713       · PR #37030: (isbm) Fix status.uptime for Solaris  9,  10  and  11.   @
345714         2016-10-20 05:52:53 UTC
345715
345716         · 0c40e71e17  Merge  pull  request #37030 from isbm/isbm-solaris-sta‐
345717           tus-fix
345718
345719         · 7d7b5ef9a9 Lintfix: E8303 too many blank lines
345720
345721         · c11940d14c Fix status.uptime for Solaris 9, 10 and 11.
345722
345723       · PR #37101: (rallytime) [2016.3] Merge forward from 2016.3 to carbon @
345724         2016-10-20 05:39:24 UTC
345725
345726         · eb88c73222 Merge pull request #37101 from rallytime/merge-2016.3
345727
345728         · b445a5e579 Merge branch '2015.8' into '2016.3'
345729
345730         · 68eeb29783  Add  warning about GitPython 2.0.9 incompatibility with
345731           Python 2.6 (#37099)
345732
345733         · 39d59ab0df Merge pull request #36880 from vutny/cp-get-salt-url
345734
345735           · d1ab98b459 cp.get_url: update usage doc and add tests for file://
345736             URL with dest=None
345737
345738           · c7cf79e959  cp.get_url:  add  note and test for https:// URL with
345739             dest=None
345740
345741           · ff55f77179 cp.get_url: write more verbose docstring
345742
345743           · 94a34a08ba cp.get_url: add integration tests
345744
345745           · 983f82fcf4 cp.get_url: fix variable type check
345746
345747           · b33f4d7b93 cp.get_url: log error message  if  no  file  could  be
345748             fetched from salt:// URL
345749
345750           · 99cf3038cc cp.get_url: fix dest=None behaviour with salt:// URL
345751
345752       · PR  #36958: (twangboy) Fix bug where cmd.powershell fails to return @
345753         2016-10-19 16:03:58 UTC
345754
345755         · 8d44efed78 Merge pull request #36958  from  twangboy/fix_cmd_power‐
345756           shell
345757
345758         · 427be7b422 Add versionadded
345759
345760         · d8e0e0e482 Fix missing comma
345761
345762         · 7b46d04a84 Add note about increased completion times
345763
345764         · 9365581a36 Clarify docs, add depth option
345765
345766       · PR  #37086:  (cachedout)  Make  salt-call  a  first-class citizen for
345767         multi-master @ 2016-10-19 15:19:09 UTC
345768
345769         · beb54b3ffa Merge pull request #37086 from cachedout/mm_req
345770
345771         · 7dc15c1a48 Lint utils
345772
345773         · 9bbe3c998b Lint error in publish
345774
345775         · e22a3d2be6 Add multi-master support to publish.publish
345776
345777         · 7f141ba38c Add function to search for substr in list
345778
345779         · 007eef84d7 Extend support to event.fire_master
345780
345781         · 8171c73b00 Multi-master support for salt-call
345782
345783       · ISSUE #36814: (martin-helmich) x509.create_csr  creates  invalid  CSR
345784         (refs: #36898)
345785
345786       · PR #36898: (clinta) X509 fixes @ 2016-10-19 03:03:43 UTC
345787
345788         · 6b94153ea6 Merge pull request #36898 from clinta/x509-fixes
345789
345790         · e732fe7725 fix docs on CSR state
345791
345792         · 9b6f1a336c fix quotes and remove dependency on pkg_resources
345793
345794         · eb4433d1ae return early if there are no requested extensions in the
345795           csr
345796
345797         · d00cf8ef87 allow specifying digest for crl
345798
345799         · dd50705e58 fix #36814
345800
345801       · ISSUE #34872: (cbuechler) "Minion did  not  return"  executing  state
345802         with long running command, 2016.3 regression (refs: #37025)
345803
345804       · PR  #37025:  (cro) Make salt.utils.minion._check_cmdline work on OSes
345805         without /proc.  @ 2016-10-19 03:00:10 UTC
345806
345807         · a32b8cd741 Merge pull request #37025 from cro/freebsd_no_proc
345808
345809         · 1ac87e0efd Make salt.utils.minion._check_cmdline work on OSes with‐
345810           out /proc.
345811
345812       · PR  #37050:  (twangboy)  Fix  service state for Windows (DO NOT MERGE
345813         FORWARD) @ 2016-10-19 02:46:27 UTC
345814
345815         · PR #36923: (twangboy) Fix service state for Windows (refs: #37050)
345816
345817         · e09d9f85c5 Merge pull  request  #37050  from  twangboy/fix_win_ser‐
345818           vice_state
345819
345820         · b3b688e298 Fix tests
345821
345822         · 1e1ee786c9 Set service to manual if disabled on start
345823
345824         · PR saltstack/salt#29322: (mrproper) add http proxy support for tor‐
345825           nado (refs: #37076)
345826
345827       · PR #37076: (jfindlay) Document proxy settings @  2016-10-19  02:30:27
345828         UTC
345829
345830         · 5e998638a4 Merge pull request #37076 from jfindlay/proxy_doc
345831
345832         · 7328df68f5 doc.topic.tutorials.http.query: add proxy section
345833
345834         · 331072b35d doc.topic.tutorials.http.query: add subheadings
345835
345836         · 478def4923 doc.ref.configuration.minion: add proxy vars
345837
345838       · ISSUE  #37001:  (phil123456) URGENT : archive.extracted does not work
345839         anymore (refs: #37081)
345840
345841       · PR #37081: (terminalmage) Fix  archive.extracted  remote  source_hash
345842         verification @ 2016-10-19 02:22:22 UTC
345843
345844         · 9ec366833e Merge pull request #37081 from terminalmage/issue37001
345845
345846         · a3c4deeb82 Fix archive.extracted remote source_hash verification
345847
345848       · ISSUE #35097: (jwhite530) Minions die with "un-handled exception from
345849         the multiprocessing process" (refs: #37064)
345850
345851       · PR #37064: (cachedout) Unify job  check  in  scheduler  @  2016-10-19
345852         02:08:06 UTC
345853
345854         · 67faee1f94 Merge pull request #37064 from cachedout/issue_35097
345855
345856         · 980ba892c9 Unify job check in scheduler
345857
345858       · PR #37072: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345859         2016-10-18 15:23:17 UTC
345860
345861         · 7ef10f6de6 Merge pull request #37072 from rallytime/merge-2016.3
345862
345863         · 78a144f19a Merge branch '2015.8' into '2016.3'
345864
345865         · 7dd91c2880    Merge    pull    request    #37053    from     rally‐
345866           time/update-fedora-install-docs
345867
345868           · 24e0f5e024 Update the Fedora installation docs
345869
345870         · 4eb0a89b7c remove options from pylint (#37054)
345871
345872       · PR  #37049:  (terminalmage)  Further clarification on new grains docs
345873         from #37028 @ 2016-10-18 01:47:57 UTC
345874
345875         · PR #37028: (damon-atkins) Update topics/grains doco, about  consid‐
345876           erations before adding a Grain (refs: #37049)
345877
345878         · 71fd01ab8d Merge pull request #37049 from terminalmage/grains-docs
345879
345880         · 854586c6a4 Add one more paragraph
345881
345882         · a0502a7b90 Restructure grain writing docs
345883
345884         · 4e419e90ac Further clarification on new grains docs from #37028
345885
345886       · ISSUE  saltstack/salt#18419:  (jasonrm)  salt-cloud  fails  to run as
345887         non-root user (refs: #35483)
345888
345889       · ISSUE #34806: (jerrykan)  salt-cloud  ignores  sock_dir  when  firing
345890         event (refs: #35483)
345891
345892       · PR #37057: (rallytime) [2016.3] Update salt.utils.cloud references to
345893         __utils__ for cache funcs @ 2016-10-18 01:31:43 UTC
345894
345895         · PR #35483: (gtmanfred) use __utils__ in salt.cloud  (refs:  #35855,
345896           #37057, #36070)
345897
345898         · 9a6671ce69     Merge    pull    request    #37057    from    rally‐
345899           time/cloud-utils-cleanup
345900
345901         · d0dc7d4e55 [2016.3] Update salt.utils.cloud references to __utils__
345902           for cache funcs
345903
345904       · PR  #36977:  (twangboy)  Remove  whitespace  from  string  commands @
345905         2016-10-17 22:32:03 UTC
345906
345907         · f8cd7b7b28 Merge pull request #36977 from twangboy/fix_cmd_run
345908
345909         · 6586050736 Move strip to powershell block, add -NoProfile
345910
345911       · PR #37048: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345912         2016-10-17 16:05:48 UTC
345913
345914         · 9378b22d80 Merge pull request #37048 from rallytime/merge-2016.3
345915
345916         · 5efd6d3df9 Merge branch '2015.8' into '2016.3'
345917
345918         · 7f5aced50e   Merge   pull   request  #36972  from  zer0def/supervi‐
345919           sor-state-fixes
345920
345921           · 53801c6e80 Mitigates failure reports when making sure an existing
345922             supervisor process group is running, despite success.
345923
345924         · 4e2ad07b0f  Prevent  source  files  in  /tmp  from being deleted by
345925           file.managed states (#37023)
345926
345927         · 4e9824a65e args does not always exist (#37019)
345928
345929       · PR #37028: (damon-atkins) Update topics/grains doco, about considera‐
345930         tions before adding a Grain (refs: #37049) @ 2016-10-17 09:54:21 UTC
345931
345932         · 104a153a1f  Merge pull request #37028 from damon-atkins/update_top‐
345933           ics_grains_doco
345934
345935         · 01e83a715e doc/topics/grains Update doco on when a grain should  be
345936           created
345937
345938         · a0e1fcc951  Add  information  to  consider before adding a Grain to
345939           doco's for Grains
345940
345941       · PR #37012: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
345942         2016-10-14 18:07:03 UTC
345943
345944         · c30656814d Merge pull request #37012 from rallytime/merge-2016.3
345945
345946         · a7c9a72104 Merge branch '2015.8' into '2016.3'
345947
345948         · c6254d59fd Merge pull request #36807 from terminalmage/issue36723
345949
345950           · 7d60e73308 Fix pillar merging when ext_pillar_first is enabled
345951
345952         · e2bc94b029 cp.get_file_str: do not fail if file not found (#36936)
345953
345954       · ISSUE #34397: (jaredhanson11) ignore_epoch needs to be passed through
345955         to version_cmp functions (refs: #34531)
345956
345957         · PR #37007: (skizunov) opkg: Support ignore_epoch argument  in  ver‐
345958           sion comparisons
345959
345960         · PR  #34531: (terminalmage) Support ignore_epoch argument in version
345961           comparisons (refs: #37007)
345962
345963       · PR #36808: (gtmanfred) allow for  closing  stuff  in  beacons  (refs:
345964         #36835) @ 2016-10-14 15:50:09 UTC
345965
345966         · 8b3e65448d Merge pull request #36808 from gtmanfred/beacons
345967
345968         · 727d4f309a allow for closing stuff in beacons
345969
345970         · PR #36993: (terminalmage) Make helper funcs private
345971
345972       · ISSUE  #27316:  (efficks)  Extracted  state with zip format failed on
345973         Windows (refs: #27317)
345974
345975       · ISSUE #27207: (PredatorVI)  archive.extracted  state  not  preserving
345976         file permissions (refs: #33906)
345977
345978       · ISSUE  #26569: (ssgward) Add support for password-protected zip files
345979         in archive.extracted on Windows (refs: #31116)
345980
345981       · ISSUE #23822: (sidcarter) Zip file extracted permissions  are  incor‐
345982         rect (refs: #25128)
345983
345984         · PR saltstack/salt#36539: (jfindlay) Prefer archive.cmd_unzip (refs:
345985           #`saltstack/salt`#36648`_`_, #36648)
345986
345987       · PR #36986: (jfindlay)  modules.archive.unzip:  zipfile  is  stdlib  @
345988         2016-10-13 21:38:00 UTC
345989
345990         · PR  #36648: (jfindlay) Integration tests for archive execution mod‐
345991           ule (refs: #36986)
345992
345993         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
345994           #saltstack/salt`#36539`_)
345995
345996         · PR #31116: (UtahDave) Add password support for zip files in archive
345997           module and state (refs: #36539, #saltstack/salt`#36539`_)
345998
345999         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
346000           #36539, #saltstack/salt`#36539`_)
346001
346002         · PR  #27317:  (efficks) State unzip should use unzip command instead
346003           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
346004
346005         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
346006           (refs: #36539, #saltstack/salt`#36539`_)
346007
346008         · a75761de87 Merge pull request #36986 from jfindlay/arch_test
346009
346010         · 2ec2684860 modules.archive.unzip: zipfile is stdlib
346011
346012       · ISSUE  #36422:  (rippiedoos)  No error Reporting for (yum)pkg.upgrade
346013         (refs: #`saltstack/salt#36450`_)
346014
346015         · PR saltstack/salt#36980: (rallytime) Skip pkg.upgrade test  if  pkg
346016           install/upgrade has problems (refs: #36981)
346017
346018         · PR  saltstack/salt#36450:  (terminalmage) Normalize pkg.upgrade and
346019           raise  CommandExecutionError  on  failure  (refs:  #36981,  #`salt‐
346020           stack/salt#36980`_)
346021
346022       · PR  #36981:  (rallytime) Skip pkg.upgrades test on distros other that
346023         Suse in 2016.3 @ 2016-10-13 21:29:36 UTC
346024
346025         · c7595b84a7    Merge    pull    request    #36981    from     rally‐
346026           time/upgrades-test-fix
346027
346028         · a5ae737057  Skip  pkg.upgrades  test  on distros other that Suse in
346029           2016.3
346030
346031       · ISSUE #36671:  (wrigtim)  systemd.py  available()  breaks  on  latest
346032         LSB-compliant versions of systemd (refs: #36755)
346033
346034       · PR  #36755:  (terminalmage)  systemd.py:  check  retcode  for service
346035         availability in systemd >= 231 @ 2016-10-13 19:41:50 UTC
346036
346037         · 6b782c15e1 Merge pull request #36755 from terminalmage/issue36671
346038
346039         · d916c2b49c Handle cases where retcode/output feature is backported
346040
346041         · b3364646ad Update systemd module unit tests
346042
346043         · a2439acbc9 systemd.py: check retcode for  service  availability  in
346044           systemd >= 231
346045
346046       · ISSUE  #36746:  (Ch3LL) Carbon: When killing a job jid output missing
346047         (refs: #36750)
346048
346049       · PR #36750: (terminalmage) Add the CLI client and  pub_data  as  class
346050         attributes @ 2016-10-13 19:38:33 UTC
346051
346052         · 10d255c511 Merge pull request #36750 from terminalmage/issue36746
346053
346054         · 0e7c600e02 Only display Ctrl-c message on SIGINT
346055
346056         · 9025be48c5  Include  the jid (when available) in SystemExit message
346057           on Ctrl-c
346058
346059         · 9c9f1f620b Add the CLI client and pub_data as class attributes
346060
346061       · ISSUE #36240: (hrumph) win_certutil add_store  state  not  installing
346062         certificates (refs: #36241)
346063
346064       · PR #36241: (hrumph) Fixes #36240 @ 2016-10-12 23:28:35 UTC
346065
346066         · 3ac9ced202 Merge pull request #36241 from hrumph/cert_problem
346067
346068         · 51230fc263 Merge pull request #1 from rallytime/pr-36241
346069
346070           · 32846794c8 Update mocks for failing tests in win_certutil_test
346071
346072         · b26578d1ac Fixes #36240
346073
346074       · PR #36950: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346075         2016-10-12 20:57:41 UTC
346076
346077         · c1f84388d6 Merge pull request #36950 from rallytime/merge-2016.3
346078
346079         · 1d3ce45ac0 Merge branch '2015.8' into '2016.3'
346080
346081           · 2ccc44f314   Merge    pull    request    #36914    from    rally‐
346082             time/suse_show_link
346083
346084             · b8ffd9f53f  Allow  alternatives.show_link  function  to work on
346085               Suse distros
346086
346087         · 5362e5183e Merge branch '2015.8' into '2016.3'
346088
346089         · fe2f094838 salt.modules.gpg: initialize GnuPG home dir with correct
346090           ownership (#36824)
346091
346092         · 4b21cca909  Fix race condition in which files were removed during a
346093           file.directory (#36928)
346094
346095         · 7838d8d3f9 Remove "Targeting with Executions" section from docs  (‐
346096           #36925)
346097
346098         · a56bf8bd2d  Update  references  to future default value change that
346099           was reverted (#36924)
346100
346101       · PR #36948:  (rallytime)  Back-port  #36943  to  2016.3  @  2016-10-12
346102         18:33:02 UTC
346103
346104         · PR #36943: (orymate) doc: document what the argument of salt --sub‐
346105           set means (refs: #36948)
346106
346107         · 7e2128c05d Merge pull request #36948 from rallytime/bp-36943
346108
346109         · d2f8f18430 doc: document what the argument of salt --subset means
346110
346111       · PR #36946:  (rallytime)  Back-port  #36892  to  2016.3  @  2016-10-12
346112         18:32:35 UTC
346113
346114         · PR #36892: (nvtkaszpir) Update tutorial.rst (refs: #36946)
346115
346116         · f43a10252d Merge pull request #36946 from rallytime/bp-36892
346117
346118         · 94c97ee726 Update tutorial.rst
346119
346120       · ISSUE #35198: (goestin) beacons modules: service fails (refs: #35199)
346121
346122       · PR  #36945:  (rallytime)  Back-port  #35199  to  2016.3  @ 2016-10-12
346123         18:31:16 UTC
346124
346125         · PR #35199: (goestin) fix for issue #35198 (refs: #36945)
346126
346127         · 5c70669ac0 Merge pull request #36945 from rallytime/bp-35199
346128
346129         · 390b906c2f adhere pep8 e713
346130
346131         · 79c9905fc5 Re-added accidentally removed line 85
346132
346133         · 8bba13896a Fixed issue #35198 now without deprecated code.
346134
346135         · 1241d87f1d fix for issue #35198
346136
346137         · PR #36949: (terminalmage) Fix versionadded
346138
346139         · PR #36930: (jfindlay) return opennebula errors to user
346140
346141       · PR  #36929:  (rallytime)  [yumpkg]  Skip   test_pkg_upgrade_has_pend‐
346142         ing_upgrades if there are no upgrades @ 2016-10-11 22:55:49 UTC
346143
346144         · 6ea1f59058  Merge  pull  request  #36929  from  rallytime/fix-pend‐
346145           ing-upgrade-test
346146
346147         · 32829b9474 [yumpkg] Skip  test_pkg_upgrade_has_pending_upgrades  if
346148           there are no upgrades
346149
346150       · ISSUE  #36906:  (sjorge)  [docs]  comments about targetting execution
346151         still correct? (refs: #36926, #`saltstack/salt`#36925`_`_, #36925)
346152
346153         · PR saltstack/salt#36925: (rallytime) Remove "Targeting with  Execu‐
346154           tions" section from docs (refs: #36926)
346155
346156         · PR  #36926: (rallytime) [2016.3] Remove "Targeting with Executions"
346157           section from docs
346158
346159       · PR #36915: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346160         2016-10-11 19:49:42 UTC
346161
346162         · b7f87e0aed Merge pull request #36915 from rallytime/merge-2016.3
346163
346164         · 971c27cba2 Merge branch '2015.8' into '2016.3'
346165
346166         · f3443fb992  Properly  handle  "shared" arg in git.init when it is a
346167           bool (#36912)
346168
346169         · bdbf1619cb Check for test=True in salt.wait_for_event orchestration
346170           events (#36897)
346171
346172         · PR  #36820:  (BenoitKnecht) Fix diff output of test runs for Debian
346173           slave interfaces
346174
346175       · ISSUE #36855: (edwardsdanielj) Issue with setting up schedule job via
346176         state.apply (refs: #36894)
346177
346178         · PR #36894: (jfindlay) states.schedule: splay is not ordereddict
346179
346180       · PR #36885: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346181         2016-10-10 19:30:25 UTC
346182
346183         · 86ac8bd680 Merge pull request #36885 from rallytime/merge-2016.3
346184
346185         · c09b9d6e6a Merge branch '2015.8' into '2016.3'
346186
346187           · 3ce4897b97  Merge  pull  request  #36857  from  terminalmage/sys‐
346188             temd-unit-tests
346189
346190             · 7c78d6f419 Add unit tests for systemd scope usage
346191
346192         · PR #36889: (terminalmage) salt-ssh: Try "command -v" before falling
346193           back to "which"
346194
346195       · ISSUE #36804: (Ch3LL) CARBON: error when using pkg.installed with url
346196         source (refs: #36830)
346197
346198         · PR  #36830:  (terminalmage)  fileclient: Change queryarg comparison
346199           from None to simple boolean check
346200
346201       · PR #36853:  (rallytime)  Back-port  #33939  to  2016.3  @  2016-10-07
346202         21:44:33 UTC
346203
346204         · PR  #33939:  (bx2)  Removed  !-password  check for salt-cloud vultr
346205           provider (refs: #36853)
346206
346207         · 6a6bdf3e3f Merge pull request #36853 from rallytime/bp-33939
346208
346209         · efbc09c1a6 Removed !-password check
346210
346211       · PR #36852:  (rallytime)  Back-port  #36743  to  2016.3  @  2016-10-07
346212         21:35:43 UTC
346213
346214         · PR  #36743:  (do3meli)  corrected  OS Name in openbsd_sysctl module
346215           load error message (refs: #36852)
346216
346217         · 01348bde18 Merge pull request #36852 from rallytime/bp-36743
346218
346219         · 899130d11f corrected OS Name in module load error message
346220
346221       · PR #36844: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346222         2016-10-07 19:20:31 UTC
346223
346224         · 0b7661244d Merge pull request #36844 from rallytime/merge-2016.3
346225
346226         · 1c3a9a3ee9 Merge branch '2015.8' into '2016.3'
346227
346228           · 3e6b16de2b Merge pull request #36786 from cachedout/fixup_36676
346229
346230             · 3c93134e57 Typo
346231
346232             · 13eb463bd9 Fixup alterernatives module
346233
346234           · c126f2e132 Merge pull request #36757 from cachedout/issue_33841
346235
346236             · 4bce452500  Resolve  issue  with  minion  failing to restart on
346237               failure
346238
346239           · 89f9fc8c0d Merge pull request #36749 from jacobhammons/file-dict
346240
346241             · 71f91b3a50 Fixes the cli  examples  to  reference  the  correct
346242               function
346243
346244           · 804a2a1ab0 Merge pull request #36730 from rallytime/bp-36028
346245
346246             · 4be4f900ee Back-port #36028 to 2015.8
346247
346248       · PR  #36835:  (jfindlay)  unify  and  expand  beacon  documentation  @
346249         2016-10-07 15:59:34 UTC
346250
346251         · PR #36808: (gtmanfred) allow for closing stuff  in  beacons  (refs:
346252           #36835)
346253
346254         · dc5d821be6 Merge pull request #36835 from jfindlay/beacon_doc
346255
346256         · b2eccdefd5 doc.topics.beacons: reflow text at 80 chars
346257
346258         · b181f9890d doc.topics.{reactor|beacons}: unify examples, many minor
346259           edits
346260
346261         · 28b4e30009 doc.glossary: use parenthesis
346262
346263         · 82cf39db00 doc.glossary: add JID
346264
346265         · cc071b75cb doc.glossary: add idempotent
346266
346267       · ISSUE #36787: (maximeguillet) postgres.* calls fail  with  postgresql
346268         9.6 and .psqlrc custom file (refs: #36789)
346269
346270       · PR  #36789: (maximeguillet) Fix behavior of psql -c option with post‐
346271         gresql 9.6 @ 2016-10-06 11:24:51 UTC
346272
346273         · 1284de27fc   Merge   pull   request   #36789    from    maximeguil‐
346274           let/fix-psqlrc-pg9.6
346275
346276         · b59c23bef1 Fix one remaining postgresql tests linked to #36787.
346277
346278         · 8b92ae2061 Fix postgresql tests using position in the argument list
346279           of psql.
346280
346281         · 21f2a17a07 Fix postgresql tests by adding --no-psqlrc option intro‐
346282           duced by #36787.
346283
346284         · 574e30e915 Fix behavior of psql -c option with postgresql 9.6
346285
346286       · ISSUE  #36579:  (scubahub)  No error generated when reactor file does
346287         not exist. (refs: #36797)
346288
346289       · PR #36797: (cachedout) Error on reaction  with  missing  SLS  file  @
346290         2016-10-06 11:19:27 UTC
346291
346292         · a1d59f4d2f Merge pull request #36797 from cachedout/issue_36579
346293
346294         · 6ce4653fa3 Error on reaction with missing SLS file
346295
346296       · ISSUE  saltstack/salt#36788:  (damon-atkins) pillar/libvirt.py assume
346297         certtool is available and works everytime (refs: #36803)
346298
346299       · PR #36803: (gtmanfred) do not load  libvirt  pillar  if  certtool  is
346300         unavailable @ 2016-10-06 11:15:14 UTC
346301
346302         · b75130be2d Merge pull request #36803 from gtmanfred/2016.3
346303
346304         · 2183737085 do not load libvirt pillar if certtool is unavailable
346305
346306       · PR #36815: (BenoitKnecht) Fix glance.image_present state @ 2016-10-06
346307         10:29:44 UTC
346308
346309         · 39148dc711      Merge      pull      request      #36815       from
346310           BenoitKnecht/fix-glance-image-present-state-2016.3
346311
346312         · 342eee444d states: glance: handle image list instead of dict
346313
346314         · 02b91ecf15  states:  glance:  import  keystone  exceptions from new
346315           location
346316
346317       · ISSUE #36738: (edhgoose) rpmdev-vercmp throws  lots  of  warnings  on
346318         Amazon Linux (refs: #36739)
346319
346320       · PR  #36754:  (terminalmage)  Base  rpmdev-vercmp comparison result on
346321         retcode @ 2016-10-05 12:50:23 UTC
346322
346323         · PR #36739: (edhgoose) Add support for rpmdevtools returning < / > /
346324           == (refs: #36754)
346325
346326         · 81c935f210 Merge pull request #36754 from terminalmage/issue36738
346327
346328         · 928c99d2f7 Base rpmdev-vercmp comparison result on retcode
346329
346330         · PR  saltstack/salt#36728:  (rallytime)  [2016.3] Merge forward from
346331           2015.8 to 2016.3 (refs: #36785)
346332
346333       · PR #36785:  (cachedout)  Fixup  merge  forward  #36728  @  2016-10-05
346334         11:02:16 UTC
346335
346336         · PR #36728: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3
346337           (refs: #36785)
346338
346339         · 4bdb997dae Merge pull request #36785 from cachedout/pr-36728
346340
346341         · 118ba8a772 Update alternatives module to strip newline chars
346342
346343         · 24b8bba145 Merge branch '2015.8' into '2016.3'
346344
346345           · a01a68d4be Merge pull request #36676  from  vutny/redhat-alterna‐
346346             tives-detect-fail
346347
346348             · bba9d0d105 alternatives.install state: detect alternatives com‐
346349               mand failed
346350
346351           · eab4fd563a Merge pull request #36700 from terminalmage/update-faq
346352
346353             · 3d15eedfe0      Add      additional      information      about
346354               onchanges/onchanges_in
346355
346356             · 57ecbe6c53  Update  minion  restart  example  to  use onchanges
346357               instead of cmd.wait
346358
346359       · ISSUE #36766: (bx2) salt-cloud (vultr) throws NameError: global  name
346360         '__opts__' is not defined (refs: #36768)
346361
346362       · PR  #36768:  (gtmanfred)  add  __utils__  to  vultr  cloud provider @
346363         2016-10-05 06:59:27 UTC
346364
346365         · 90cca6b135 Merge pull request #36768 from gtmanfred/2016.3
346366
346367         · 9df2fd11dd add __utils__ to vultr cloud provider
346368
346369       · PR #36764: (cachedout) Another bit of detection for failed pip  tests
346370         @ 2016-10-04 13:05:29 UTC
346371
346372         · 8ff69bf0c7    Merge    pull    request    #36764    from    cached‐
346373           out/more_pip_test_fixing
346374
346375         · b9f5343449 Another bit of detection for failed pip tests
346376
346377       · ISSUE #27316: (efficks) Extracted state with  zip  format  failed  on
346378         Windows (refs: #27317)
346379
346380       · ISSUE  #27207:  (PredatorVI)  archive.extracted  state not preserving
346381         file permissions (refs: #33906)
346382
346383       · ISSUE #26569: (ssgward) Add support for password-protected zip  files
346384         in archive.extracted on Windows (refs: #31116)
346385
346386       · ISSUE  #23822:  (sidcarter) Zip file extracted permissions are incor‐
346387         rect (refs: #25128)
346388
346389         · PR  saltstack/salt#36722:  (rallytime)  Skip  cmd_unzip   test   if
346390           salt.utils.which('zip') isn't available (refs: #36747)
346391
346392         · PR  saltstack/salt#36648:  (jfindlay) Integration tests for archive
346393           execution module (refs: #36747)
346394
346395         · PR saltstack/salt#36539: (jfindlay) Prefer archive.cmd_unzip (refs:
346396           #`saltstack/salt`#36648`_`_, #36648)
346397
346398       · PR  #36747:  (jfindlay)  modules.archive integration tests: check for
346399         gzip, rar @ 2016-10-04 11:47:32 UTC
346400
346401         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
346402           #saltstack/salt`#36539`_)
346403
346404         · PR #31116: (UtahDave) Add password support for zip files in archive
346405           module and state (refs: #36539, #saltstack/salt`#36539`_)
346406
346407         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
346408           #36539, #saltstack/salt`#36539`_)
346409
346410         · PR  #27317:  (efficks) State unzip should use unzip command instead
346411           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
346412
346413         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
346414           (refs: #36539, #saltstack/salt`#36539`_)
346415
346416         · 5c0cbfc4c6 Merge pull request #36747 from jfindlay/arch_test
346417
346418         · b5fcca9983 modules.archive int tests: check for gzip, rar
346419
346420       · PR #36744: (cachedout) Fix issue where test suite could hang on shut‐
346421         down @ 2016-10-03 15:37:00 UTC
346422
346423         · 93f1daa4ce Merge pull request #36744 from  cachedout/fix_test_shut‐
346424           down
346425
346426         · cdf2a56564 Fix issue where test suite could hang on shutdown
346427
346428       · ISSUE  saltstack/salt#32490: (davegiles) __proxy__ not available when
346429         called from state.sls_id, fine from state.highstate (refs: #36696)
346430
346431       · PR #36696: (cro) pass __proxy__ in state.sls_id @ 2016-10-01 09:37:50
346432         UTC
346433
346434         · 6fa9ec36d2 Merge pull request #36696 from cro/proxy_in_sls_id
346435
346436         · 891004f3be try/except for when __proxy__ is not injected.
346437
346438         · e8e53d60be pass __proxy__ in state.sls_id
346439
346440       · PR  #36716:  (vutny) salt.modules.ini_manage: fix creating options in
346441         empty file @ 2016-10-01 09:35:11 UTC
346442
346443         · e0b288feb3 Merge pull request #36716 from vutny/fix-ini-manage
346444
346445         · 73eb773fb0 salt.modules.ini_manage: fix creating options  in  empty
346446           file
346447
346448       · ISSUE  #29421: (scbunn) pillar data leaks through environments (refs:
346449         #36435, #saltstack/salt`#36435`_)
346450
346451         · PR saltstack/salt#36628: (yhekma) Update doc to reflect the version
346452           where 'none' was added as a pillar_… (refs: #36724)
346453
346454         · PR  saltstack/salt#36435:  (yhekma)  Add "none" as a pillar merging
346455           strategy (refs: #`saltstack/salt`#36628`_`_, #36628)
346456
346457       · PR #36724:  (rallytime)  Back-port  #36628  to  2016.3  @  2016-10-01
346458         09:33:43 UTC
346459
346460         · PR  #36628: (yhekma) Update doc to reflect the version where 'none'
346461           was added as a pillar_… (refs: #36724)
346462
346463         · 97713b09f5 Merge pull request #36724 from rallytime/bp-36628
346464
346465         · 3bb2cb6379 Update doc to reflect the version where 'none' was added
346466           as a pillar_source_merging_strategy
346467
346468         · PR  saltstack/salt#36643:  (roosri)  a small, and unfortunate error
346469           (refs: #36725)
346470
346471       · PR #36725:  (rallytime)  Back-port  #36643  to  2016.3  @  2016-10-01
346472         09:33:13 UTC
346473
346474         · PR #36643: (roosri) a small, and unfortunate error (refs: #36725)
346475
346476         · 8e7529764b Merge pull request #36725 from rallytime/bp-36643
346477
346478         · c5b8e442f9 a small, and unfortunate error
346479
346480       · PR  #36726:  (rallytime)  Back-port  #36722  to  2016.3  @ 2016-10-01
346481         09:32:53 UTC
346482
346483         · PR    #36722:    (rallytime)     Skip     cmd_unzip     test     if
346484           salt.utils.which('zip') isn't available (refs: #36726)
346485
346486         · cf32c59b6a Merge pull request #36726 from rallytime/bp-36722
346487
346488         · 5904cc04c6  Skip  cmd_unzip  test  if salt.utils.which('zip') isn't
346489           available
346490
346491       · ISSUE saltstack/salt#36718: (Ch3LL) Error when using archive.zip   on
346492         python2.6  (refs: #36719)
346493
346494         · PR #36719: (Ch3LL) fix python26 archive zip module
346495
346496         · PR saltstack/salt#36616: (cro) Zypper fix test (refs: #36699)
346497
346498       · PR #36699: (cachedout) Fix error in test @ 2016-09-30 11:28:18 UTC
346499
346500         · 7d022a3f39 Merge pull request #36699 from cachedout/fixup_36616
346501
346502         · 16f5bb70ec Remove line that checks against unordered keys
346503
346504         · 0e9148293a Fix error in test
346505
346506       · ISSUE #36669: (jackywu) fix bug of including loopback addr will never
346507         work (refs: #36670)
346508
346509       · PR #36670: (jackywu) fix bug for including loopback addr @ 2016-09-30
346510         10:21:53 UTC
346511
346512         · 0aa35596c0 Merge pull request #36670 from jackywu/2016.3
346513
346514         · 48d2d512d8 fix bug for including loopback addr
346515
346516       · ISSUE  #36692:  (lorengordon)  Expose  ignore_if_missing param to the
346517         file.replace state (refs: #36694)
346518
346519       · PR #36694: (lorengordon) Exposes  ignore_if_missing  to  file.replace
346520         state module @ 2016-09-30 10:12:27 UTC
346521
346522         · 0e8c9abe8d Merge pull request #36694 from lorengordon/issue-36692
346523
346524         · 35f3bb3a8a Exposes ignore_if_missing to file.replace state module
346525
346526         · PR saltstack/salt#35356: (jfindlay) document log levels and warn on
346527           all logging below info (refs: #36686)
346528
346529       · PR  #36686:  (jfindlay)  log  levels  doc:  try  long  form  table  @
346530         2016-09-29 18:21:47 UTC
346531
346532         · c089ac6c67 Merge pull request #36686 from jfindlay/log_levels
346533
346534         · 4dd4fc94dc log levels doc: try long form table
346535
346536       · PR #36690: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346537         2016-09-29 17:46:24 UTC
346538
346539         · e0a851b2f1 Merge pull request #36690 from rallytime/merge-2016.3
346540
346541         · 7fc38c9aca Merge branch '2015.8' into '2016.3'
346542
346543         · 7d1972bd5c Merge pull request #36684 from rallytime/merge-2015.8
346544
346545           · 838722d225 Merge branch '2015.5' into '2015.8'
346546
346547           · 8f1ba2fa26 Merge pull request #36678 from rallytime/merge-2015.5
346548
346549           · 51240ecb13 Merge branch '2014.7' into '2015.5'
346550
346551           · 86dc3dc9f7     Merge      pull      request      #36641      from
346552             fuzzy-id/fix-lvm-thin-argument
346553
346554           · 740516aace fix thin argument for 'lvm.lv_create'
346555
346556       · PR #36680: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346557         2016-09-29 16:49:16 UTC
346558
346559         · f95dd696e5 Merge pull request #36680 from rallytime/merge-2016.3
346560
346561         · 3e4ac617d3 Merge branch '2015.8' into '2016.3'
346562
346563         · e4c5d0bfd6 Merge pull  request  #36664  from  cachedout/remove_use‐
346564           less_size_check
346565
346566           · 3d098c64ef Remove possible race between grains dumps in test
346567
346568         · 8cfe371a5a    Merge    pull    request    #36663    from    cached‐
346569           out/skip_pip_tests_on_download_fail
346570
346571           · 0c7fb91dc5 Fix error
346572
346573         · e3f8618982    Merge    pull    request    #36662    from    cached‐
346574           out/skip_pip_tests_on_download_fail
346575
346576           · 0bbc60ccd7 Skip over tests where upstream pip isn't there
346577
346578         · 3249a11e71    Merge    pull    request    #36661    from    cached‐
346579           out/fix_grain_test_race
346580
346581           · 2dcb92134d Fix race between minion job timeout and cli test time‐
346582             out
346583
346584         · b0190f248e    Merge    pull    request    #36660    from    cached‐
346585           out/fix_2068_issue_test
346586
346587           · f4906fe771 Fix test not to rely on external resources
346588
346589       · ISSUE #28125: (peter-slovak) [2015.8]  support  for  __env__  in  Git
346590         external pillar (refs: #36659)
346591
346592       · PR #36659: (terminalmage) Support dynamic env in new-style git_pillar
346593         @ 2016-09-29 05:04:38 UTC
346594
346595         · eab1680f3f Merge pull request #36659 from terminalmage/issue28125
346596
346597         · 45352b36bd Support dynamic env in new-style git_pillar
346598
346599       · ISSUE #34927: (bobrik) Salt does not run "systemd  daemon-reload"  on
346600         unit override (refs: #36538)
346601
346602       · PR  #36538:  (clinta)  daemon-reload  on  call to service.avaliable @
346603         2016-09-29 02:28:00 UTC
346604
346605         · 0c2bd4b66b Merge pull request #36538 from clinta/daemon-reload
346606
346607         · 833beb9b36 Merge pull request #1 from terminalmage/pr-36538
346608
346609           · c4060ba2c1 Move check for service availability to a helper  func‐
346610             tion
346611
346612         · 20c2c91bba daemon-reload on call to service.avaliable
346613
346614       · PR #36616: (cro) Zypper fix test @ 2016-09-29 02:26:22 UTC
346615
346616         · d8a61eb9f6 Merge pull request #36616 from cro/zypper_fix_test
346617
346618         · b618a5c07d Remove debugging
346619
346620         · 3870589462  Test  for  pkg.upgrade.  Most robust on Suse but better
346621           than nothing elsewhere
346622
346623         · 867638ff48 Test for pkg.upgrade.  Most robust on  Suse  but  better
346624           than nothing elsewhere
346625
346626       · PR #36621: (terminalmage) Fix shadowed builtins @ 2016-09-29 02:25:54
346627         UTC
346628
346629         · ccd92d22d2 Merge pull request  #36621  from  terminalmage/fix-shad‐
346630           owed-builtins
346631
346632         · 62729eff8d Update tests to include fix for renamed function
346633
346634         · 283aca8f2a Update test to reflect new function signature
346635
346636         · 0f158b5edd Fix shadowed builtins
346637
346638         · PR saltstack/salt#36618: (onorua) Fix memory leak for 0mq transport
346639           in case of TCP DDOS (refs: #36636)
346640
346641       · PR #36636:  (rallytime)  Back-port  #36618  to  2016.3  @  2016-09-29
346642         02:23:09 UTC
346643
346644         · PR  #36618:  (onorua)  Fix memory leak for 0mq transport in case of
346645           TCP DDOS (refs: #36636)
346646
346647         · 24f82b2809 Merge pull request #36636 from rallytime/bp-36618
346648
346649         · 275845c3d2 Fix memory leak for 0mq transport
346650
346651       · ISSUE #27316: (efficks) Extracted state with  zip  format  failed  on
346652         Windows (refs: #27317)
346653
346654       · ISSUE  #27207:  (PredatorVI)  archive.extracted  state not preserving
346655         file permissions (refs: #33906)
346656
346657       · ISSUE #26569: (ssgward) Add support for password-protected zip  files
346658         in archive.extracted on Windows (refs: #31116)
346659
346660       · ISSUE  #23822:  (sidcarter) Zip file extracted permissions are incor‐
346661         rect (refs: #25128)
346662
346663         · PR saltstack/salt#36539: (jfindlay) Prefer archive.cmd_unzip (refs:
346664           #`saltstack/salt`#36648`_`_, #36648)
346665
346666       · PR  #36648: (jfindlay) Integration tests for archive execution module
346667         (refs: #36986) @ 2016-09-29 02:16:54 UTC
346668
346669         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
346670           #saltstack/salt`#36539`_)
346671
346672         · PR #31116: (UtahDave) Add password support for zip files in archive
346673           module and state (refs: #36539, #saltstack/salt`#36539`_)
346674
346675         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
346676           #36539, #saltstack/salt`#36539`_)
346677
346678         · PR  #27317:  (efficks) State unzip should use unzip command instead
346679           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
346680
346681         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
346682           (refs: #36539, #saltstack/salt`#36539`_)
346683
346684         · 750ff8220c Merge pull request #36648 from jfindlay/arch_test
346685
346686         · cc4d958557 modules.archive: add integration tests
346687
346688         · 99bf89447b modules.archive: add opts arg to g(un)zip
346689
346690         · c1219e68c5 modules.archive.unzip: depend on zipfile module
346691
346692         · 315b031de9 modules.archive: use less redundant message
346693
346694         · PR saltstack/salt#36389: (cachedout) Pr 36386 (refs: #36650)
346695
346696       · PR #36650: (rallytime) Revert "Pr 36386" @ 2016-09-29 02:11:15 UTC
346697
346698         · PR  #36386: (xiaoanyunfei) fix salt-api's default opts were covered
346699           by   salt-master   #35734    (refs:    #36389,    #36650,    #salt‐
346700           stack/salt`#36389`_)
346701
346702         · PR  #35734: (xiaoanyunfei) fix salt-api's default opts were covered
346703           by salt-master (refs: #36386)
346704
346705         · 91aa464d5d    Merge    pull    request    #36650     from     salt‐
346706           stack/revert-36389-pr-36386
346707
346708         · 33ef5bffe6 Revert "Pr 36386"
346709
346710       · ISSUE  #36304:  (Ch3LL) stack trace when transport is not a currently
346711         supported transport (refs: #36646)
346712
346713       · PR #36646: (rallytime) Provide an error message when  invalid  trans‐
346714         port is set @ 2016-09-28 22:52:11 UTC
346715
346716         · ab5c0e9e65 Merge pull request #36646 from rallytime/fix-36304
346717
346718         · ae021d6dec Provide an error message when invalid transport is set
346719
346720       · PR #36635: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346721         2016-09-28 21:10:25 UTC
346722
346723         · 6d9b28506c Merge pull request #36635 from rallytime/merge-2016.3
346724
346725         · 787c1f557e Pylint fix
346726
346727         · da574e5b03 Merge branch '2015.8' into '2016.3'
346728
346729         · f0d561a229  Merge  pull  request  #36632  from  isbm/isbm-thin-mod‐
346730           ules-config-15.8
346731
346732           · 975f8bb27d Add extra-mods options to the Salt-Thin via SSH CLI
346733
346734           · a441b35588 Add documentation about Salt Thin configuration
346735
346736           · 3bfb17ee62  Add  a  description of the thin/min parameters to the
346737             master config
346738
346739           · 3d878f9da5 Get the thin Salt with configured extra modules on SSH
346740
346741           · 2be9330be6 Add thin options to the master config.
346742
346743           · 58577d342e Generate thin with configured extrta modules
346744
346745       · ISSUE #36553: (nilliams) states.hg.latest claims to  succeed  despite
346746         errors (refs: #36620)
346747
346748       · PR  #36620:  (rallytime)  Don't allow mercurial states to return True
346749         with errors @ 2016-09-28 05:50:50 UTC
346750
346751         · 83da81cdfd Merge pull request #36620 from rallytime/fix-36553
346752
346753         · a828bdd0b8 Update test mocks for cmd.run_all dicts
346754
346755         · 3904dfc5a8 Don't allow mercurial states to return True with errors
346756
346757       · PR #36622: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346758         2016-09-28 05:39:43 UTC
346759
346760         · 1c001d0ee1 Merge pull request #36622 from rallytime/merge-2016.3
346761
346762         · 90c66ef756 Merge branch '2015.8' into '2016.3'
346763
346764           · 9b9e167b47 Merge pull request #36562 from kiorky/s2015.8
346765
346766             · 47c3d03035 Fix pkg.latest_version using localized output
346767
346768           · 4ab52ae0f6  Merge  pull  request  #36607  from  vutny/detect-ser‐
346769             vice-fail
346770
346771             · c4f899b3b3 salt.states.service: detect that service  failed  to
346772               start/stop
346773
346774           · 5de036b56c Merge pull request #36611 from multani/2015.8
346775
346776             · 79fdc12395 jinja: fix YAML terminator removal in Jinja's "yaml"
346777               filter
346778
346779           · 6e36191fc4 Fix trust key 2015.8 (#36540)
346780
346781       · PR #36520: (twangboy) Fix cmd.script runas for Windows  @  2016-09-28
346782         04:07:00 UTC
346783
346784         · e7def534b1     Merge    pull    request    #36520    from    twang‐
346785           boy/fix_cmd.script_runas
346786
346787         · 377ced5c24 Remove directory in Windows with runas
346788
346789         · 25d52efeac Fix mkdir
346790
346791         · 18d41f7711 Add mkdir
346792
346793         · 9d55bff914 Use cachedir for Windows
346794
346795       · ISSUE saltstack/salt#32368:  (vitaliyf)  Low  timeout  values  causes
346796         duplicate commands to execute (refs: #36564)
346797
346798       · PR  #36564:  (DmitryKuzmenko)  Improve and fix _check_cache_minions @
346799         2016-09-28 02:50:54 UTC
346800
346801         · 798bf3086b   Merge   pull   request   #36564    from    DSRCorpora‐
346802           tion/bugs/32368_grains_match_bug
346803
346804         · be61f97db3 Minor: syntax error fixes.
346805
346806         · 29660ed672 Improve and fix _check_cache_minions
346807
346808       · PR  #36606:  (danlsgiga)  Add support for ACL Tokens in consul_pillar
346809         with the option consul.token @ 2016-09-28 02:46:03 UTC
346810
346811         · 133705d567 Merge pull  request  #36606  from  danlsgiga/consul_pil‐
346812           lar_token
346813
346814         · a5907c9c89  Add  support  for  ACL Tokens in consul_pillar with the
346815           option consul.token
346816
346817       · PR  #36613:  (slinn0)  Remove  file.check_managed_changes   when  not
346818         needed (backport of PR #36589 to 2016.3) @ 2016-09-28 02:35:56 UTC
346819
346820         · PR #36589: (slinn0) Do not generate pchanges in file.managed unless
346821           test=True (refs: #36613)
346822
346823         · b365f1e34d Merge pull request #36613 from slinn0/2016.3_36588_fixes
346824
346825         · d9da5cb2d4 Backport of PR #36589 / Issue #36588 to 2016.3 branch.
346826
346827       · PR #36609: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346828         2016-09-27 18:34:22 UTC
346829
346830         · e23af98d97 Merge pull request #36609 from rallytime/merge-2016.3
346831
346832         · f15d4a38bd Merge branch '2015.8' into '2016.3'
346833
346834         · 57ec792f6b Merge pull request #36550 from rickyninja/2015.8
346835
346836           · f9ef30aabe Add version_cmp for FreeBSD pkg.
346837
346838       · PR   #36595:  (cachedout)  Remove  tests  which  no  longer  apply  @
346839         2016-09-27 07:38:15 UTC
346840
346841         · 25fa754d94 Merge pull request #36595 from cachedout/issue_7754_fix
346842
346843         · 3a83b0bd16 Remove tests which no longer apply
346844
346845       · ISSUE #36586: (gehzumteufel) Documentation update (refs: #36594)
346846
346847       · PR #36594: (cachedout) Update boostrap docs  to  recent  versions  of
346848         Ubuntu @ 2016-09-27 06:18:49 UTC
346849
346850         · aed98f47de Merge pull request #36594 from cachedout/issue_36586
346851
346852         · 1e6a60ab01 Update boostrap docs to recent versions of Ubuntu
346853
346854       · PR  #36585:  (twangboy)  Add  pyOpenSSL  to  req  file  for Windows @
346855         2016-09-27 05:49:42 UTC
346856
346857         · c79f525863 Merge pull request #36585 from twangboy/add_pyopenssl
346858
346859         · 5fc63a1054 Add pyOpenSSL to req file for Windows
346860
346861       · ISSUE #36568: (lkx007) cp.push remove_source problem (refs: #36572)
346862
346863         · PR #36572: (cachedout) Fix salt.utils.rm_rf to delete files too
346864
346865       · ISSUE #36491: (cro) pkg.upgrade does not upgrade on Leap 42.1 or Tum‐
346866         bleweed (refs: #36495)
346867
346868       · PR #36495: (cro) Fix pkg.upgrade for zypper @ 2016-09-26 10:02:39 UTC
346869
346870         · d0dd92b037 Merge pull request #36495 from cro/zypper_fix
346871
346872         · 6c5807c4be Fix pkg.upgrade for zypper
346873
346874       · ISSUE  #27316:  (efficks)  Extracted  state with zip format failed on
346875         Windows (refs: #27317)
346876
346877       · ISSUE #27207: (PredatorVI)  archive.extracted  state  not  preserving
346878         file permissions (refs: #33906)
346879
346880       · ISSUE  #26569: (ssgward) Add support for password-protected zip files
346881         in archive.extracted on Windows (refs: #31116)
346882
346883       · ISSUE #23822: (sidcarter) Zip file extracted permissions  are  incor‐
346884         rect (refs: #25128)
346885
346886       · PR  #36539: (jfindlay) Prefer archive.cmd_unzip @ 2016-09-26 10:02:11
346887         UTC
346888
346889         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
346890           #saltstack/salt`#36539`_)
346891
346892         · PR #31116: (UtahDave) Add password support for zip files in archive
346893           module and state (refs: #36539, #saltstack/salt`#36539`_)
346894
346895         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
346896           #36539, #saltstack/salt`#36539`_)
346897
346898         · PR  #27317:  (efficks) State unzip should use unzip command instead
346899           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
346900
346901         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
346902           (refs: #36539, #saltstack/salt`#36539`_)
346903
346904         · 4bca246a27 Merge pull request #36539 from jfindlay/arch_perms
346905
346906         · d64ae48783 states.archive: use archive.cmd_unzip when possible
346907
346908         · 928a7891b4 modules.archive.unzip: log a warning about perms
346909
346910       · ISSUE  #36514: (nilliams) salt.stages.hg errors when -identity option
346911         is used (refs: #36546)
346912
346913       · PR #36546: (rallytime) Mercurial Module: Pass the identity_path  por‐
346914         tion as own arg @ 2016-09-26 09:44:30 UTC
346915
346916         · ab50cde391 Merge pull request #36546 from rallytime/fix-36514
346917
346918         · 9afe76759e  Mercurial Module: Pass the identity_path portion as own
346919           arg
346920
346921       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
346922         (refs: #36184, #36555, #37254)
346923
346924       · PR  #36555:  (DmitryKuzmenko) Bugs/35480 master shutdown @ 2016-09-26
346925         09:25:43 UTC
346926
346927         · aea55fce61   Merge   pull   request   #36555    from    DSRCorpora‐
346928           tion/bugs/35480_master_shutdown
346929
346930         · 6ad2998715  Wait  for  kill  in ProcessManager should be greater in
346931           main process than in subprocess.
346932
346933         · c9c45a5d79 Don't set the daemon flag for LoggingQueue process.
346934
346935       · PR #36542: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346936         2016-09-23 22:47:26 UTC
346937
346938         · a1e0afe1c7 Merge pull request #36542 from rallytime/merge-2016.3
346939
346940         · 861a001749 Merge branch '2015.8' into '2016.3'
346941
346942         · 07c9d040c0 Fixup the rabbitmq_user state test failure (#36541)
346943
346944       · ISSUE  #29421: (scbunn) pillar data leaks through environments (refs:
346945         #36435, saltstack/salt#36435)
346946
346947         · PR #36532: (rallytime) Back-port #36435 to 2016.3
346948
346949         · PR #36435: (yhekma) Add "none" as a pillar merging strategy  (refs:
346950           #36532)
346951
346952         · PR  #36535:  (rallytime) Be explicit about the salt.utils.templates
346953           import
346954
346955         · PR #36537: (rallytime) Wrap the entire  GrainsAppendTestCase  class
346956           with destructiveTest
346957
346958       · PR #36529: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
346959         2016-09-23 16:42:42 UTC
346960
346961         · 55cf4d6a04 Merge pull request #36529 from rallytime/merge-2016.3
346962
346963         · 52cf40db8c Merge branch '2015.8' into '2016.3'
346964
346965         · 1c3758544c Merge pull request #36441 from twangboy/update_setup
346966
346967           · fc4a03a75d Check for existing library on Windows
346968
346969       · PR #36483: (dmurphy18)  Isolate  sun  IPv6  fix  to  Sun  OS  only  @
346970         2016-09-23 09:24:54 UTC
346971
346972         · 03491634ff Merge pull request #36483 from dmurphy18/aix_fix_ipv6
346973
346974         · b68f982c6a Updated check as per code review
346975
346976         · cbcdb472fe Isolate SUN IPv6 fix to Sun Os only
346977
346978       · ISSUE  #36279:  (alertedsnake) state.postgres_privileges should allow
346979         grants to ALL tables/sequences. (refs: #36280)
346980
346981       · PR #36280: (alertedsnake) Feature/2016.3 better postgresql  grants  @
346982         2016-09-23 07:55:32 UTC
346983
346984         · PR  #36249:  (alertedsnake)  Quote  postgres privilege target names
346985           (refs: #36280)
346986
346987         · 654fa8d770   Merge   pull   request   #36280   from   jwplayer/fea‐
346988           ture/2016.3-better-postgresql-grants
346989
346990         · e7a597da00 Bugfix: don't concatenate when not needed
346991
346992         · ba60b7972a Additional documentation.
346993
346994         · 8b877f014d 'All' grants for PostgreSQL.
346995
346996       · PR #36508: (twangboy) Fix chocolatey @ 2016-09-23 07:36:03 UTC
346997
346998         · 8104d5c92a Merge pull request #36508 from twangboy/fix_chocolatey
346999
347000         · a7c858d9ab Fix retcodes
347001
347002         · feadd827a7 Add additional functionality to upgrade
347003
347004         · fb5eb4dc03 Fix retcodes, add upgrade function
347005
347006       · PR  #36519:  (terminalmage) Rewrite minionfs walkthrough @ 2016-09-23
347007         05:19:59 UTC
347008
347009         · 364f74dfc9 Merge pull request #36519 from terminalmage/docs
347010
347011         · 2df51ce3e9 Rewrite minionfs walkthrough
347012
347013         · cc9d41fb0e Change items in minionfs blacklist/whitelist example
347014
347015       · PR #36505: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347016         2016-09-22 17:37:33 UTC
347017
347018         · 6f54e16cdf Merge pull request #36505 from rallytime/merge-2016.3
347019
347020         · 5bd4d6430b Merge branch '2015.8' into '2016.3'
347021
347022         · bf6195b9a6  postgres_extension  state:  small  corrections  in doc‐
347023           strings (#36500)
347024
347025         · b021ea5d40   Merge   pull   request   #36464    from    vutny/post‐
347026           gres-tablespace-options
347027
347028           · 580aed87b9    Fix   options   parameter   processing   in   post‐
347029             gres_tablespace.present
347030
347031       · ISSUE  #35813:   (UtahCampusD)   Empty   dictionary   returned   from
347032         grains.items command within local client (refs: #36496)
347033
347034       · PR  #36496:  (cachedout)  Add  repr  to  namespacedict  @  2016-09-22
347035         04:34:11 UTC
347036
347037         · 464c4305f9 Merge pull request #36496 from cachedout/namespace_repr
347038
347039         · 333842c319 Add repr to namespacedict
347040
347041       · PR #36474: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347042         2016-09-22 04:16:58 UTC
347043
347044         · a0f838af36 Merge pull request #36474 from rallytime/merge-2016.3
347045
347046         · 8805b57a1e Merge branch '2015.8' into '2016.3'
347047
347048           · 41d3c09857 Merge pull request #35433 from terminalmage/issue34790
347049
347050             · 71b51f49ba Add integration tests for PR #35433
347051
347052             · 82515eccde Add an additional hint for cases where rev == 'HEAD'
347053
347054             · 4b7e2f9475  git.latest:  Add  a  hint  for possible rev changes
347055               resulting in non-fast-forward failures
347056
347057           · 87263b9387    Merge    pull    request    #36445    from     not‐
347058             peter/salt_cloud_iam_role
347059
347060             · 469d1a61fe Remove (required).
347061
347062             · 98449e66f5 Better docs for use-instance-role-credentials.
347063
347064       · ISSUE #36475: (amendlik) GitFS online documentation is missing a sec‐
347065         tion present in the code (refs: #36478)
347066
347067       · PR   #36478:   (rallytime)   Add   the   "bash"   option    to    the
347068         "code-block"directive.  @ 2016-09-22 04:15:14 UTC
347069
347070         · ec4f4f49ca Merge pull request #36478 from rallytime/fix-36475
347071
347072         · 7be7d5832f Add the "bash" option to the "code-block"directive.
347073
347074       · PR  #36484:  (terminalmage)  Fix  for  temp  files being left over by
347075         salt-cloud execution @ 2016-09-22 04:11:58 UTC
347076
347077         · PR #36482: (clarkperkins) Have salt-cloud clean up tmp files (refs:
347078           #36484)
347079
347080         · 4c6e7bf873    Merge    pull    request    #36484   from   terminal‐
347081           mage/salt-cloud-tmp-files
347082
347083         · 0bf520e089 Ensure temp file is actually removed
347084
347085         · 072fd823f7 Use os.write() on file descriptor instead of  opening  a
347086           filehandle
347087
347088         · f61e8d6366  Fix for temp files being left over by salt-cloud execu‐
347089           tion
347090
347091       · PR #36486: (terminalmage) Improve the  rebase  docs  in  contributing
347092         guidelines @ 2016-09-21 19:21:10 UTC
347093
347094         · 9005a87635 Merge pull request #36486 from terminalmage/rebase-docs
347095
347096         · 4839c325ae Improve the rebase docs in contributing guidelines
347097
347098       · PR  #36455:  (twangboy) Update docs for Windows @ 2016-09-21 14:28:28
347099         UTC
347100
347101         · bc5ac9adae Merge pull request #36455 from  twangboy/windows_instal‐
347102           lation_docs
347103
347104         · ec67a9bb2f Add cachedout's recommendations
347105
347106         · 26a40dadbe Update docs for Windows
347107
347108       · PR #36459: (cachedout) Pr 36426 @ 2016-09-21 06:34:29 UTC
347109
347110         · 3d23371ca2 Merge pull request #36459 from cachedout/pr-36426
347111
347112         · bb5c01ae9d Lint
347113
347114         · 85d2068326 Refactor for testing and adding related engine tests
347115
347116         · 266adae2fd Make sqs_events engine support owner_acct_id
347117
347118       · PR #36442: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347119         2016-09-20 23:16:30 UTC
347120
347121         · c8e15dcdca Merge pull request #36442 from rallytime/merge-2016.3
347122
347123         · 2740fb7bfd Merge branch '2015.8' into '2016.3'
347124
347125         · 266dd7c00a Merge pull request #36379 from twangboy/windows_grains
347126
347127           · 6138390da7 Fix typo
347128
347129           · cf045e5c03 Remove comment
347130
347131           · ddb6e11bcb Remove refactoring
347132
347133           · 45dc920db0 Clarify comments
347134
347135           · 211fd3b47e Improve version checking
347136
347137           · 88be5a3761 Check for Python 2.7.12 and 3.5.2
347138
347139           · 6f80f0062a Add osservicepack grain
347140
347141           · 04c4ec4f81 Fix lint
347142
347143           · 5789ea99cf Force string
347144
347145           · 6c5bd7664b Fix join syntax
347146
347147           · ac8610d523 Add ServicePack to osrelease
347148
347149           · 92034936c1 Fix windows grains for os
347150
347151         · 5625827ee2 Merge pull request #36378 from terminalmage/issue36321
347152
347153           · 7b1f621206 Fix git.latest test  with  local  changes  to  reflect
347154             changes in state
347155
347156           · 0364fedb76 Use a single conditional
347157
347158           · 0dd1e7b53e  git.latest  Treat  an  up-to-date checkout with local
347159             changes as up-to-date
347160
347161       · PR #36310: (thatch45) Fix bug where the client will destroy the  loop
347162         @ 2016-09-20 13:14:23 UTC
347163
347164         · d0a495f08b Merge pull request #36310 from thatch45/keep_loop
347165
347166         · a3c0d4a0ab Add docstring
347167
347168         · 083f1d998a Fix bug where the client will destroy the loop
347169
347170       · PR  #36394:  (oba11)  fix  accound_id  in  boto_iam and get_region in
347171         boto_sns @ 2016-09-20 13:11:28 UTC
347172
347173         · 6e16ca46ed Merge pull request #36394 from oba11/module-fixes
347174
347175         · 966685020c fix accound_id in boto_iam and get_region in boto_sns
347176
347177       · PR #36424: (jfindlay)  skip  some  mac_timezone  tests  @  2016-09-20
347178         06:43:47 UTC
347179
347180         · PR #36194: (jfindlay) skip some mac_timezone tests (refs: #36424)
347181
347182         · ae1fc430c2 Merge pull request #36424 from jfindlay/bp-36194
347183
347184         · a20a2148bf skip some mac_timezone tests
347185
347186       · ISSUE  #36388:  (qurczak)  pkg.list_upgrades return debug information
347187         rather than packages list (refs: #36428)
347188
347189       · PR #36428:  (terminalmage)  A  couple  fixes  for  Antergos  Linux  @
347190         2016-09-20 06:42:16 UTC
347191
347192         · 6319e3419a Merge pull request #36428 from terminalmage/issue36388
347193
347194         · b0069ad0d8  pacman.py: use os_family grain to assign as pkg virtual
347195           module
347196
347197         · 5d632dbfca Properly set os grain for Antergos
347198
347199         · 0ae8dca2d0 pkg.list_upgrades: Ignore "downloading" lines in  pacman
347200           output
347201
347202       · ISSUE  #36373:  (frioux)  Salt-API  does  not validate input properly
347203         (refs: #36425)
347204
347205       · PR #36425: (whiteinge) Check for dictionary  explicitly  since  we're
347206         accessing it as one @ 2016-09-20 06:41:40 UTC
347207
347208         · 155bd14b5e       Merge      pull      request      #36425      from
347209           whiteinge/salt-api-dict-payload
347210
347211         · 0b63ed258f Check for dictionary explicitly since we're accessing it
347212           as one
347213
347214       · ISSUE  saltstack/salt#18341: (falzm) Dry-running state.highstate only
347215         returns the first change  (refs: #36199)
347216
347217       · PR #36199: (thatch45) skip all failhards if  test=True  @  2016-09-20
347218         05:38:32 UTC
347219
347220         · 420be364ee Merge pull request #36199 from thatch45/fix_18341
347221
347222         · e13d61f06a skip all failhards if test=True
347223
347224       · PR  #36418:  (rallytime)  Back-port #36246 to 2016.3 (refs: #37120) @
347225         2016-09-19 21:56:52 UTC
347226
347227         · PR #36246: (twangboy) Fix test_issue_6833_pip_upgrade_pip  test  on
347228           OS X (refs: #36418, #37120)
347229
347230         · b2365f553e Merge pull request #36418 from rallytime/bp-36246
347231
347232         · aab02f28b4  Ensure  we  have a test venv created using virtualenv <
347233           13.0
347234
347235       · PR #36419:  (rallytime)  Back-port  #36329  to  2016.3  @  2016-09-19
347236         21:56:33 UTC
347237
347238         · PR #36329: (oz123) Fix a minor typo in docs (refs: #36419)
347239
347240         · bc703e2062 Merge pull request #36419 from rallytime/bp-36329
347241
347242         · ffdebf7a25 Fix a minor typo in docs
347243
347244       · PR  #36420:  (rallytime)  Back-port  #36365  to  2016.3  @ 2016-09-19
347245         21:56:17 UTC
347246
347247         · PR #36365: (Kimamisa) Fix a minor typo in docs (refs: #36420)
347248
347249         · fbfa0657fc Merge pull request #36420 from rallytime/bp-36365
347250
347251         · 864e513fca Fix a minor typo in docs
347252
347253       · PR #36413: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347254         2016-09-19 18:59:31 UTC
347255
347256         · 3dd2590e28 Merge pull request #36413 from rallytime/merge-2016.3
347257
347258         · c64e489f6f Merge branch '2015.8' into '2016.3'
347259
347260           · 9bc4eeb71e Fix typo (#36409)
347261
347262           · ac5c812e4b Fix OS identification for CloudLinux (#36408)
347263
347264           · bb4d69f58a  git.latest:  fail gracefully for misconfigured remote
347265             repo (#36391)
347266
347267           · ad7045ad3b Merge pull request #36315 from puneetk/patch-6
347268
347269             · 3ac308ac76 Update aptpkg.py
347270
347271             · 892cc4cd48 Update aptpkg.py
347272
347273             · cbe98d97a3 Fix pylint whitespace errors
347274
347275             · e5371ac720  No force_yes parameter to pkg.upgrade #21248
347276
347277           · 2aa6df859a Merge pull request #36381  from  twangboy/fix_win_ser‐
347278             vice
347279
347280             · 04edea5c59 Add '/y' switch to the net stop and start commands
347281
347282           · 373c5db180  Merge  pull  request #36384 from twangboy/update_set‐
347283             up_req
347284
347285             · a817aef1c2 Add windows requirements file
347286
347287       · ISSUE #36371: (nasenbaer13)  _extern_path  in  fileclient  is  broken
347288         (refs: #36305)
347289
347290       · PR #36305: (gtmanfred) cache query args with url as well @ 2016-09-19
347291         18:30:51 UTC
347292
347293         · a8a3a9f021 Merge pull request #36305 from gtmanfred/2016.3
347294
347295         · 70e7f6d58b cache query args with url as well
347296
347297       · PR #36389: (cachedout) Pr 36386 @ 2016-09-17 11:54:37 UTC
347298
347299         · PR #36386: (xiaoanyunfei) fix salt-api's default opts were  covered
347300           by    salt-master    #35734    (refs:    #36389,   #36650,   #salt‐
347301           stack/salt`#36389`_)
347302
347303         · PR #35734: (xiaoanyunfei) fix salt-api's default opts were  covered
347304           by salt-master (refs: #36386)
347305
347306         · 602bd2d1ef Merge pull request #36389 from cachedout/pr-36386
347307
347308         · f5d63d93cc Lint
347309
347310         · 93269cfb65 fix salt-api log and pid
347311
347312         · PR #36352: (pass-by-value) Update versionadded and release notes
347313
347314       · PR #36369: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347315         2016-09-16 16:31:14 UTC
347316
347317         · 495d365e54 Merge pull request #36369 from rallytime/merge-2016.3
347318
347319         · 37aea4188a Merge branch '2015.8' into '2016.3'
347320
347321         · 40b2e3d189    Merge    pull    request    #36353    from     rally‐
347322           time/refresh-db-cleanup
347323
347324           · 275319193a   Check  for  Ign/Hit  membership  instead  of  ==  in
347325             aptpkg.refresh_db
347326
347327         · df9d9b3624 Merge pull request #36355 from rallytime/bp-36288
347328
347329           · 70ffdafbf0 Schema test requires jsonschema 2.5.0 or above
347330
347331         · 3f308d7694 postgres_extension: report changes when an extension was
347332           installed (#36335)
347333
347334         · d2a583bc22 Merge pull request #36337 from cachedout/conduct
347335
347336           · 2fb61b9c9f SaltStack's code of conduct
347337
347338         · ef128ad0b0  Return  None  when  find_file  identifies the path as a
347339           directory (#36342)
347340
347341         · PR #36249: (alertedsnake) Quote  postgres  privilege  target  names
347342           (refs: #36280)
347343
347344         · PR #36330: (silenius) set __virtualname__ to 'service'
347345
347346       · ISSUE  #36338:  (jbonachera)  infoblox.present  state  does  not  use
347347         "infoblox_server", "infoblox_user" or  "infoblox_password"  arguments
347348         (refs: #36339)
347349
347350         · PR  #36339:  (jbonachera) Use infoblox_* values if present in argu‐
347351           ments
347352
347353         · PR #36345: (gtmanfred) remove help message from glance module
347354
347355         · PR #36346: (rallytime) Add resize2fs unit test  from  blockdev_test
347356           to disk_test
347357
347358         · PR #36344: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3
347359           (refs: #36346)
347360
347361       · ISSUE #36292: (lorengordon) pkg.check_db is  not  available  in  salt
347362         2016.3? (refs: #36350)
347363
347364       · PR  #36350:  (terminalmage) Add note about yumpkg.check_db removal in
347365         Boron @ 2016-09-15 20:32:32 UTC
347366
347367         · f09c3e499f Merge pull request #36350 from terminalmage/docs
347368
347369         · b815c98577 Add note about yumpkg.check_db removal in Boron
347370
347371       · PR #36344: (rallytime) [2016.3] Merge forward from 2015.8  to  2016.3
347372         (refs: #36346) @ 2016-09-15 17:38:57 UTC
347373
347374         · a33da842c0 Merge pull request #36344 from rallytime/merge-2016.3
347375
347376         · d1f560147d Merge branch '2015.8' into '2016.3'
347377
347378         · dc518c5340  Skip  test_resize2fs  if  resize2fs  does not exists (‐
347379           #36325)
347380
347381       · ISSUE #36308: (ahammond) salt-cloud defaults to IPv6 rather than IPv6
347382         (refs: #36312)
347383
347384         · PR  #36312: (ahammond) merge error overwrites correct ssh_host with
347385           stale data in ip_address
347386
347387       · ISSUE #35819: (cable2999) pkg.group_installed doesn't handle  missing
347388         package group (refs: #`saltstack/salt`#35907`_`_, #35907)
347389
347390         · PR  saltstack/salt#35907:  (rallytime)  Catch CommandExecutionError
347391           when the group in group_installed doesn't exist (refs: #36299)
347392
347393       · PR #36299: (rallytime) Gate the pkg.group_installed state  test:  not
347394         all pkg modules have group_install @ 2016-09-14 19:04:26 UTC
347395
347396         · 6a3019bbf1     Merge    pull    request    #36299    from    rally‐
347397           time/gate-pkg-group-installed-test
347398
347399         · 9e15df9b23 Switch the order of the decorator
347400
347401         · ee997be6d8 Fix pkg group test by passing a list instead of str
347402
347403         · c7d8867096 Gate the pkg.group_installed state  test:  not  all  pkg
347404           modules have group_install
347405
347406       · ISSUE #33686: (BretFisher) blockreplace marker_end isn't applied with
347407         newline (refs: #`saltstack/salt`#36273`_`_, #36273)
347408
347409         · PR saltstack/salt#36273:  (techhat)  Add  append_newline  flag  for
347410           #33686 (refs: #36295)
347411
347412         · PR #36295: (rallytime) Back-port #36273 to 2016.3
347413
347414         · PR  #36273:  (techhat)  Add  append_newline  flag for #33686 (refs:
347415           #36295)
347416
347417         · PR #36296: (rallytime) Back-port #36124 to 2016.3
347418
347419         · PR #36124: (twangboy) Skip  test  on  all  OS's  but  linux  (refs:
347420           #36296)
347421
347422       · PR #36297: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347423         2016-09-14 16:07:30 UTC
347424
347425         · a8a72c985f Merge pull request #36297 from rallytime/merge-2016.3
347426
347427         · e2f1cf6025 Merge branch '2015.8' into '2016.3'
347428
347429           · b9b8e45362   Merge   pull   request   #36272    from    terminal‐
347430             mage/improved-gitfs-logging
347431
347432             · 223a20e987 Improved gitfs/git_pillar error logging
347433
347434           · abb6aacb4b    Merge    pull   request   #36277   from   terminal‐
347435             mage/gitfs-check-key-path
347436
347437             · 4fee18c820 salt.utils.gitfs: Check for existence of ssh keys
347438
347439           · ed2d2bd331 Integration tests fixes for 2015.8 (#36262)
347440
347441           · 297a12c387 Fix misspelling of "occurred" in  log  messages/excep‐
347442             tions (#36270)
347443
347444         · PR #36178: (cachedout) Filter out pub kwargs from cloud runner
347445
347446       · PR  #36238:  (pass-by-value)  Add ability to clone from a snapshot to
347447         salt-cloud vmware driver @ 2016-09-14 05:31:51 UTC
347448
347449         · fc7a1d536f      Merge      pull      request      #36238       from
347450           pass-by-value/vmware_clone_from_snapshot
347451
347452         · dd670bd18f Fix lint error and add try except
347453
347454         · d96981639b  Add  ability  to  clone  from  a snapshot to salt-cloud
347455           vmware driver
347456
347457         · PR #36263: (meaksh) Integration tests fixes for 2016.3
347458
347459       · PR #36264: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347460         2016-09-13 18:25:41 UTC
347461
347462         · d634fd8628 Merge pull request #36264 from rallytime/merge-2016.3
347463
347464         · f603757b55 Merge branch '2015.8' into '2016.3'
347465
347466         · 931486ba35 Merge pull request #36096 from twangboy/update_setup
347467
347468           · dc1988add5 fix download when requests not present
347469
347470           · b4479bff5f Add additional required dll's
347471
347472         · b0dd6ff5c8 Merge pull request #36244 from terminalmage/gen-back-bug
347473
347474           · 363b21fd9b  salt.fileserver.Fileserver: Don't try to split a list
347475             in _gen_back
347476
347477         · dcc9380996 Merge pull request #36245 from terminalmage/roots-bug
347478
347479           · 75d4997b70 roots backend: Don't include '.' or '..' in empty_dirs
347480
347481         · fdf40907b7 Some unit tests fixes (#36227)
347482
347483       · ISSUE     #33525:     (anlutro)     file.serialize     no      longer
347484         indents/pretty-prints in 2016.3 (refs: #35688)
347485
347486       · PR  #35688:  (cachedout)  Splat  serializer  default configs into the
347487         serializer kwargs @ 2016-09-13 09:21:46 UTC
347488
347489         · de06116075 Merge pull request #35688 from cachedout/issue_33525
347490
347491         · 4910e8191c Provide fallback for serializers without opts
347492
347493         · a238666aba Add serializer test
347494
347495         · 345fd2a9e5 Splat serializer default  configs  into  the  serializer
347496           kwargs
347497
347498       · ISSUE  #36021:  (mirceaulinic)  Scheduled  runners  not executed (for
347499         proxy minions, at least) (refs: #36025)
347500
347501       · PR #36025: (mirceaulinic)  Potential  fix  for  #36021  @  2016-09-13
347502         07:46:41 UTC
347503
347504         · d9d477ed45 Merge pull request #36025 from cloudflare/CF-FIX-36021
347505
347506         · 03007be6b1 Potential fix for #36021
347507
347508         · PR #36183: (opdude) Fix timezones states on OS X
347509
347510       · PR #36235: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347511         2016-09-12 17:40:42 UTC
347512
347513         · fcbebb40c3 Merge pull request #36235 from rallytime/merge-2016.3
347514
347515         · 99dcf84b62 Merge branch '2015.8' into '2016.3'
347516
347517           · 4e9490eebe Merge pull request #36214  from  vutny/postgres-exten‐
347518             sion-doc
347519
347520             · 5fe548f043 postgres_extension state module: fix docstrings
347521
347522           · 5b7b96c0b7   Merge   pull   request   #36205   from   vutny/post‐
347523             gres-tablespace-doc
347524
347525             · 78296b90d8  Add   missing   maintenance_db   kwarg   to   post‐
347526               gres_tablespace.present docstring
347527
347528           · 6a5f7cb346  Ignore  states  that  do not have a numeric jid, i.e.
347529             'req' (#36185)
347530
347531       · ISSUE #35423: (Ch3LL) Stacktrace when running  state.sls  against  an
347532         sls does not exist (refs: #36137)
347533
347534       · ISSUE  #33915:  (mattglv)  Orchestration  runner output on Success vs
347535         Failures in 2016.3.0 (refs: #36137)
347536
347537       · ISSUE   #25664:   (sdm24)   2015.5.2    MySQL   Returner:    salt-run
347538         jobs.lookup_jid  doesn't  return  full  result  for  highstate output
347539         (refs: #35559)
347540
347541       · PR #36137: (cachedout) Allow highstate outputter to show all  results
347542         @ 2016-09-12 16:37:49 UTC
347543
347544         · PR #35559: (Jlin317) Fix highstate outputter when it's given multi‐
347545           ple results (refs: #36137)
347546
347547         · 7b96197c5e Merge pull request #36137 from cachedout/issue_35423
347548
347549         · 1e8431f2b8 Allow highstate outputter to show all results
347550
347551       · ISSUE #35340: (dqminh) Custom modules are only resynced to minions at
347552         highstate (refs: #36217)
347553
347554         · PR  #36217:  (cachedout)  Docs  clarification  for  module sync and
347555           state.apply
347556
347557       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
347558         (refs: #36184, #36555, #37254)
347559
347560       · PR  #36184:  (DmitryKuzmenko)  Disable signal handling while handling
347561         signal @ 2016-09-11 22:59:08 UTC
347562
347563         · 6ebe655e17   Merge   pull   request   #36184    from    DSRCorpora‐
347564           tion/bugs/35480_master_shutdown
347565
347566         · 229504efef Removed unused import.
347567
347568         · ca8eb7e076  Don't  run the same signal handler twice. Catch os.kill
347569           errors.
347570
347571       · PR #36203: (xiaoanyunfei) fix  owner  of  MultiprocessingLoggingQueue
347572         (refs: #37119) @ 2016-09-11 09:15:15 UTC
347573
347574         · f11f093f8c Merge pull request #36203 from xiaoanyunfei/logowner
347575
347576         · 74dc90c7bb cancle pr last
347577
347578         · 90e4a25dd0         Merge         branch        'logowner'        of
347579           https://github.com/xiaoanyunfei/salt into logowner
347580
347581           · bd61b88fc8 fix log owner
347582
347583           · 58160ed6c0 Merge  branch  '2016.3'  of  github.com:saltstack/salt
347584             into 2016.3
347585
347586           · f2de71782b move back
347587
347588           · b8214824fd add simplify code
347589
347590           · aec9385c6b  Merge  branch  '2016.3'  of github.com:saltstack/salt
347591             into 2016.3
347592
347593           · 1074b3355d Merge  branch  '2016.3'  of  github.com:saltstack/salt
347594             into 2016.3
347595
347596           · ea0d74cd27 fix salt-api opts
347597
347598         · ffd87b2f2f fix logqueue owner
347599
347600         · PR #36193: (thatch45) Fix stack trace in salt-ssh gitfs
347601
347602       · PR #36188: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347603         2016-09-09 18:59:20 UTC
347604
347605         · f035121291 Merge pull request #36188 from rallytime/merge-2016.3
347606
347607         · 521a7b2470 Merge branch '2015.8' into '2016.3'
347608
347609         · d4628f3c6b Allow additional kwargs in states.dockerng.image_present
347610           (#36156)
347611
347612         · 24b0387b92 Back-port #36070 to 2015.8 (#36169)
347613
347614         · 116d7ac3e5  If  windows pkg db hasn't been created yet, refresh the
347615           db instead of stacktracing (#36008)
347616
347617       · ISSUE #35819: (cable2999) pkg.group_installed doesn't handle  missing
347618         package group (refs: #`saltstack/salt`#35907`_`_, #35907)
347619
347620       · PR  #35907: (rallytime) Catch CommandExecutionError when the group in
347621         group_installed doesn't exist @ 2016-09-09 10:14:16 UTC
347622
347623         · 1d5f97d36b Merge pull request #35907 from rallytime/fix-35819
347624
347625         · d7380d83be requires_system_grains  decorator  needs  a  grains=None
347626           kwarg
347627
347628         · b20f6b9384 Catch CommandExecutionError when group_installed doesn't
347629           exist
347630
347631       · ISSUE saltstack/salt#35972: (tjyang) DeprecationWarning:  The  "osma‐
347632         jorrelease" will be a type of an integer. (refs: #36068)
347633
347634         · PR  saltstack/salt#35637:  (cachedout)  Add  Nitrogen release notes
347635           (refs: #36068)
347636
347637       · PR #36068: (rallytime) Remove grains type  deprecation  warning  from
347638         2016.3 @ 2016-09-09 10:00:50 UTC
347639
347640         · 40127b6bf3 Merge pull request #36068 from rallytime/fix-35972
347641
347642         · 2b7679c9f6 Remove grains type deprecation warning from 2016.3
347643
347644       · ISSUE  #36094:  (UtahDave)  Windows  stacktraces on msgpack on Carbon
347645         (refs: #36152)
347646
347647       · PR  #36152:  (cachedout)  Remove  unnecessary  unpack  @   2016-09-09
347648         09:13:47 UTC
347649
347650         · 24bd03734d Merge pull request #36152 from cachedout/issue_36094
347651
347652         · 95eb95a0f8 Remove unnecessary unpack
347653
347654       · PR #36158: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347655         2016-09-08 21:53:50 UTC
347656
347657         · dc3a68ed8c Merge pull request #36158 from rallytime/merge-2016.3
347658
347659         · 7f955bda0a Merge branch '2015.8' into '2016.3'
347660
347661           · 6242702288 Fix issue with cp.push (#36136)
347662
347663           · 0e13118f6e Document owner kwarg for postgres_schema.present state
347664             function (#36147)
347665
347666           · 4cc8ea9577      Merge      pull      request      #36146     from
347667             meaksh/tests-fixes-for-2015.8
347668
347669             · 9f9aa4779c rename darwin_sysctl.py to mac_sysctl.py
347670
347671             · 2cf6f36d89 modules.darwin_sysctl: __virtual__ return err msg.
347672
347673             · f74ca15f50 Remove test for file dir behavior
347674
347675             · c65aefee20 Fix tests that assert CommandExecutionError (#32485)
347676
347677             · f8c0b439b8 Fixed more lint
347678
347679             · 63ff731009 Fixed tests
347680
347681             · 04b1a4a9ca Fixed use of assert_has_calls in tests.
347682
347683             · 46e4bb58e5 Fixed LoadAuthTestCase
347684
347685             · 4e9733ad6d Rename dockerio.py unit tests to dockerio_test.py
347686
347687             · ec0cc943e0 Make sure spm tests are picked up by runtests.
347688
347689             · 2605f34849 Fix missing first data in  stream  when  subscribing
347690               stream using a function 'read_async'.
347691
347692             · 305bab8be0 Fixed _interfaces_ifconfig output for SunOS test
347693
347694             · b5ca02c867 Fix tests that assert CommandExecutionError (#32485)
347695
347696             · 1fb6340fef Fix tests (#35693)
347697
347698             · 5977f1f54c Skip utils_test if timelib is not installed (#32699)
347699
347700             · d1b9a4061e Fixing skipped boto tests to prevent errors if boto3
347701               does not exists.
347702
347703           · c4ddfe3887   Merge   pull   request   #35954   from   morganwill‐
347704             cock/upgrade-on-batteries
347705
347706             · 108f9470f2  win_pkg: report failure for failed launch of Sched‐
347707               uled Task
347708
347709             · e0978220f7 win_pkg: allow minion upgrade when using batteries
347710
347711           · 94b7659304   Merge   pull   request   #36129    from    terminal‐
347712             mage/pygit2-ssl_verify
347713
347714             · 640f0c17c6 pygit2: Prevent traceback on initial gitfs setup
347715
347716           · 7cdbc546f1 Back-port #36062 to 2015.8 (#36118)
347717
347718         · PR #36170: (rallytime) Back-port #36154 to 2016.3
347719
347720         · PR  #36154: (DavidWittman) Remove unclosed backticks in walkthrough
347721           doc (refs: #36170)
347722
347723       · ISSUE #36055: (gladiatr72) 2016.3.3 -- missing salt-cloud  events  on
347724         the master event bus (refs: #36161)
347725
347726       · PR  #36161:  (jacobhammons) Adds #36055 to release notes @ 2016-09-08
347727         17:11:36 UTC
347728
347729         · 4ccf8a841f Merge pull request #36161 from jacobhammons/relnotes
347730
347731         · ecb0979be7 Adds #36055 to release notes
347732
347733       · PR #36139:  (meaksh)  Fixing  unit  tests  for  2016.3  @  2016-09-08
347734         13:20:21 UTC
347735
347736         · 1f909038f0       Merge      pull      request      #36139      from
347737           meaksh/tests-fixes-for-2016.3
347738
347739         · 52a7ed605e Fixed _interfaces_ifconfig output for SunOS test
347740
347741         · 158bcbff65 Fix tests that assert CommandExecutionError (#32485)
347742
347743         · 8b480167e1 Fix tests (#35693)
347744
347745         · 29814f9d43 Skip utils_test if timelib is not installed (#32699)
347746
347747         · d1d806f893 Fix PortageConfigTestCase in  case  of  portage  is  not
347748           present
347749
347750         · 1c260e4bd0 Fix tests to prevent errors when libcloud is not present
347751
347752         · 71ebf2c8cd  Fixing  skipped  boto  tests to prevent errors if boto3
347753           does not exists.
347754
347755       · PR #36143: (multani) doc: fix doc formatting for salt.states.mount  @
347756         2016-09-08 13:11:03 UTC
347757
347758         · 3eb3df55ad     Merge     pull     request    #36143    from    mul‐
347759           tani/fix-doc-state-mount
347760
347761         · 035a212a9b doc: fix doc formatting for salt.states.mount
347762
347763       · ISSUE saltstack/salt#18419: (jasonrm)  salt-cloud  fails  to  run  as
347764         non-root user (refs: #35483)
347765
347766       · ISSUE  #36057:  (Inveracity)  Regression in opennebula cloud provider
347767         (refs: #36070)
347768
347769       · ISSUE #34806: (jerrykan)  salt-cloud  ignores  sock_dir  when  firing
347770         event (refs: #35483)
347771
347772       · PR  #36070:  (rallytime) Use __utils__ instead of salt.utils.cloud in
347773         opennebula driver (refs: #36169) @ 2016-09-08 01:18:45 UTC
347774
347775         · PR #35483: (gtmanfred) use __utils__ in salt.cloud  (refs:  #35855,
347776           #37057, #36070)
347777
347778         · 70da628018 Merge pull request #36070 from rallytime/fix-36057
347779
347780         · de4f77cb68  Fixup  failing  test: need to mock __utils__ instead of
347781           salt.utils.cloud call
347782
347783         · 25e3f2b4b8 Use __utils__ instead of salt.utils.cloud in  opennebula
347784           driver
347785
347786       · PR  #36089:  (terminalmage)  Support running git states / remote exec
347787         funcs as a different user in Windows @ 2016-09-08 01:17:23 UTC
347788
347789         · b7556a2aeb Merge pull request #36089 from terminalmage/issue35565
347790
347791         · 796156c5f5 Add attribution
347792
347793         · 2e56527ead Move command logging to before win_runas
347794
347795         · 91eafddda6 Pass the "password" param to git module functions
347796
347797         · 7871065d32 Use "user" instead of "runas" in _git_run() helper
347798
347799         · 5943b4662c Add "password" param to funcs  which  support  the  user
347800           parameter
347801
347802         · 5c7b9f0341 Make "password" an explicit argument, not a kwarg
347803
347804       · PR #35923: (kstreee) Fixes a bug that Ctrl-c not working on Salt CLI.
347805         @ 2016-09-07 11:47:50 UTC
347806
347807         · 45ba2e806b Merge pull request #35923 from kstreee/fix-cli-stalling
347808
347809         · 6569267afc Fixes a bug that Ctrl-c not working on Salt CLI.
347810
347811       · ISSUE #18341: (falzm) Dry-running state.highstate  only  returns  the
347812         first change  (refs: #36078)
347813
347814       · PR  #36078:  (thatch45)  Failhard test=True fix @ 2016-09-07 05:10:35
347815         UTC
347816
347817         · 48dc5ad4ee Merge pull request #36078 from thatch45/failhard_test
347818
347819         · 9b36904149 Fix failhard causing test=True to failhard too soon
347820
347821       · ISSUE #34515: (vernondcole) Please actually implement skip_verify for
347822         archive.extracted (refs: #34529)
347823
347824       · PR #34529: (Ch3LL) Add skip_verify for archive.extracted @ 2016-09-06
347825         21:05:31 UTC
347826
347827         · 40081176af Merge pull request #34529 from Ch3LL/add_skip_verify_ar‐
347828           chive
347829
347830         · 38203e3d2c add tornado web app to serve up static file for test
347831
347832         · 617f5680e4 add windows path and add custom tar
347833
347834         · c5035118bf add skip_verify option to archive.extracted
347835
347836       · PR #36073: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347837         2016-09-06 19:45:48 UTC
347838
347839         · fc41c744a0 Merge pull request #36073 from rallytime/merge-2016.3
347840
347841         · e9c634685b Merge branch '2015.8' into '2016.3'
347842
347843         · fa09050150 consul: fix formatting of consul.agent_join (#36061)
347844
347845         · PR saltstack/salt#36030: (whiteinge) Add include_*  kwargs  to  the
347846           *_dict key functions (refs: #36040)
347847
347848         · PR  #36040:  (rallytime) Add docs for new kwargs added to the wheel
347849           key module
347850
347851         · PR #36047: (whiteinge) Doc cherrypy deemphasize urlencoded
347852
347853       · PR #36039: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347854         2016-09-02 21:50:47 UTC
347855
347856         · 74143999d3 Merge pull request #36039 from rallytime/merge-2016.3
347857
347858         · 5f499cfd41 Merge branch '2015.8' into '2016.3'
347859
347860         · 1b39c7ed48    Merge    pull   request   #35978   from   DSRCorpora‐
347861           tion/bugs/28462_update_auth_data_on_reauth
347862
347863           · 778ae9a9ff Update auth data on reauth.
347864
347865         · b652271ddc Fix type error in networkfbsd osmajorrelease compare  (‐
347866           #36016)
347867
347868         · bc81818075 Merge pull request #36018 from meaksh/bp-36000-to-2015.8
347869
347870           · 8c05d2aac5 Lint for #35916
347871
347872           · b5fe6100ee  Check  for  single  quote  before splitting on single
347873             quote
347874
347875       · ISSUE saltstack/salt#35683: (JensRantil) Salt wheel key documentation
347876         improvements (refs: #35824, #saltstack/salt`#35824`_)
347877
347878         · PR  saltstack/salt#35824: (rallytime) Add more documentation to the
347879           wheel key module (refs: #36038)
347880
347881         · PR #36038: (rallytime) Back-port #35824 to 2016.3
347882
347883         · PR #35824: (rallytime) Add more documentation to the wheel key mod‐
347884           ule (refs: #36038)
347885
347886         · PR  #36033:  (gtmanfred) catch unicode encoding errors in json out‐
347887           putter
347888
347889         · PR #36010: (eliasp) modules.service: Do not default  to  OpenRC  on
347890           Gentoo, also allow systemd
347891
347892       · ISSUE    #33969:    (Inveracity)   Redis   returner   stacktrace   in
347893         clean_old_jobs 2016.3.0 (refs: #33998)
347894
347895         · PR #36014: (rallytime) Back-port #33998 to 2016.3
347896
347897         · PR #33998: (jizhilong) fix  redis_return's  clean_old_jobs.  (refs:
347898           #36014)
347899
347900       · ISSUE #35618: (komljen) [salt-cloud] With 'make_master: True' minions
347901         are configured with the masters  public  IP  address  on  AWS  (refs:
347902         #35919, #saltstack/salt`#35919`_)
347903
347904         · PR   saltstack/salt#35919:   (rallytime)  Add  documentation  about
347905           salt_interface to EC2 docs (refs: #36015)
347906
347907         · PR #36015: (rallytime) Back-port #35919 to 2016.3
347908
347909         · PR #35919: (rallytime) Add documentation  about  salt_interface  to
347910           EC2 docs (refs: #36015)
347911
347912         · PR  saltstack/salt#36000:  (rallytime)  Lint  #35916 (refs: #36019,
347913           #36018)
347914
347915         · PR saltstack/salt#35916: (swiftgist) Check for single quote  before
347916           splitting on single quote (refs: #36019, #36018)
347917
347918       · PR  #36019: (meaksh) Back-port #36000 to 2016.3 @ 2016-09-02 20:34:30
347919         UTC
347920
347921         · PR #36000: (rallytime) Lint #35916 (refs: #36019, #36018)
347922
347923         · PR #35916: (swiftgist) Check for single quote before  splitting  on
347924           single quote (refs: #`saltstack/salt`#36000`_`_, #36000)
347925
347926         · e88df5845d Merge pull request #36019 from meaksh/bp-36000-to-2016.3
347927
347928         · 1b2abeabd1 Lint for #35916
347929
347930         · 8b4f46fbd0 Check for single quote before splitting on single quote
347931
347932         · PR  #36028:  (thatch45)  Fix  error when profiling is turned on and
347933           minions don't return (refs: #36730)
347934
347935         · PR #36030: (whiteinge) Add include_* kwargs to the *_dict key func‐
347936           tions
347937
347938       · ISSUE  saltstack/salt#31454:  (johje349) Salt Mine memory leak (refs:
347939         #36024)
347940
347941       · PR #36024: (DmitryKuzmenko) Don't subscribe to events if not sure  it
347942         would read them. (refs: #36720) @ 2016-09-02 15:41:01 UTC
347943
347944         · cd60ec5d57    Merge    pull   request   #36024   from   DSRCorpora‐
347945           tion/bugs/31454_local_client_memleak
347946
347947         · 01911c530e Don't subscribe to events if  not  sure  it  would  read
347948           them.
347949
347950       · PR #36023: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347951         2016-09-02 15:37:59 UTC
347952
347953         · 32d5f896d4 Merge pull request #36023 from rallytime/merge-2016.3
347954
347955         · a63c9dfc6a Merge branch '2015.8' into '2016.3'
347956
347957         · e6b93c2380    Merge    pull    request    #36022     from     salt‐
347958           stack/revert-33770-service_tests
347959
347960           · 6cf56843d4 Revert "service state integration tests"
347961
347962       · PR #36004: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347963         2016-09-01 21:11:06 UTC
347964
347965         · d248ab0120 Merge pull request #36004 from rallytime/merge-2016.3
347966
347967         · 318bffed1d Merge branch '2015.8' into '2016.3'
347968
347969         · 678f10cf8b Avoid  traceback  in  mac_user.py  when  user.chhome  is
347970           invoked from a user state (#35901)
347971
347972         · 2da501071e     Merge    pull    request    #35967    from    twang‐
347973           boy/improve_show_sls_2015.8
347974
347975           · 2ed9a82ef8 Allow full path to be passed to show_sls
347976
347977         · d86fba15b3  Merge  pull  request  #35981   from   cachedout/cptest‐
347978           case_license
347979
347980           · dd562dd200 Update Salt's licensing information to include cptest‐
347981             case
347982
347983       · PR #35952: (twangboy) Load UserProfile when using  RunAs  (2016.3)  @
347984         2016-09-01 15:18:15 UTC
347985
347986         · f7b85cb70b     Merge    pull    request    #35952    from    twang‐
347987           boy/fix_win_runas_2016.3
347988
347989         · 3721a09ea3 Load UserProfile on RunAs
347990
347991       · PR #35959: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
347992         2016-08-31 22:14:54 UTC
347993
347994         · b8ca3f5e4d Merge pull request #35959 from rallytime/merge-2016.3
347995
347996         · bb4605ffee Merge branch '2015.8' into '2016.3'
347997
347998         · 0f0f15d048 Merge pull request #35956 from jacobhammons/dot12
347999
348000           · 3e21e35933 Version docs to 2015.8.12
348001
348002         · d2db4ea7a2 cachedir should be /cloud not /master (#35897)
348003
348004         · f4cdcc0d66  Better  logging  when file_recv_max_size is exceeded (‐
348005           #35914)
348006
348007       · PR #35955: (jacobhammons)  Version  docs  to  2016.3.3  @  2016-08-31
348008         20:35:55 UTC
348009
348010         · a87b91a8ea Merge pull request #35955 from jacobhammons/dot3
348011
348012         · ac8fe6ff9e Version docs to 2016.3.3
348013
348014       · ISSUE  #875:  (dhoffutt)  state pkg won't install package nscd (refs:
348015         #35865)
348016
348017         · PR #35865: (jacobhammons) Fix incremental doc builds - OS X,  post‐
348018           gres returner, tcp transport doc updates
348019
348020       · ISSUE  #35829:  (amontalban)  FreeBSD  pkg.latest  speed  improvement
348021         (refs: #35904)
348022
348023         · PR #35904: (amontalban) Fixes #35829 for branch 2016.3
348024
348025         · PR #35931: (vutny) Salt Cloud: add centos default user for official
348026           CentOS AMIs
348027
348028         · PR  saltstack/salt#35892:  (cachedout)  Fixup  Docker  test  (refs:
348029           #35926)
348030
348031         · PR saltstack/salt#35581: (pbdeuchler) Correctly check if  image  is
348032           in current tags (refs: #35926)
348033
348034         · PR  #35926:  (ticosax)  [dockerng]  Mention that docker image names
348035           must be given with repository
348036
348037         · PR #35581: (pbdeuchler) Correctly check if image is in current tags
348038           (refs: #35926)
348039
348040       · ISSUE  #35825:  (tjyang)  "'drac'  __virtual__  returned  False" from
348041         salt-run   drac.version host (refs: #35868)
348042
348043       · PR #35868: (rallytime) Add more helpful return messages for drac run‐
348044         ner @ 2016-08-31 01:33:27 UTC
348045
348046         · ca06c62900 Merge pull request #35868 from rallytime/fix-35825
348047
348048         · 00ae17248e Update error message to be more helpful and fix doc for‐
348049           matting
348050
348051         · 30a422bfe0 Add more helpful return messages for drac runner
348052
348053       · PR #35903: (rallytime) [2016.3] Merge forward from 2015.8 into 2016.3
348054         @ 2016-08-30 17:15:36 UTC
348055
348056         · 95b89dbce9 Merge pull request #35903 from rallytime/merge-2016.3
348057
348058         · 9e55bee5d5 Merge branch '2015.8' into '2016.3'
348059
348060         · 08e10f69eb Clarifies how to create aliased functions (#35891)
348061
348062         · 6dd5f68a08 Merge pull request #35856 from vutny/2015.8
348063
348064           · eceedadfa5 salt-cloud: fix path to Salt Master socket dir
348065
348066         · 336d1a700d Merge pull request #35880 from terminalmage/issue35747
348067
348068           · 123a611066 pacman.py: Fix incorrect return in pkg.latest_version
348069
348070         · 6383451c99   Merge  pull  request  #35884  from  terminalmage/clar‐
348071           ify-pkg-latest-logic
348072
348073           · b0b419d1d8 Fix condition for Gentoo USE flag update
348074
348075           · 1542fd4716 Add clarifying comments to the pkg.latest state
348076
348077       · ISSUE saltstack/salt#18419: (jasonrm)  salt-cloud  fails  to  run  as
348078         non-root user (refs: #35483)
348079
348080       · ISSUE  #34806:  (jerrykan)  salt-cloud  ignores  sock_dir when firing
348081         event (refs: #35483)
348082
348083       · PR #35855: (vutny) [REGRESSION] salt-cloud: fix path to  Salt  Master
348084         socket dir (refs: #35856) @ 2016-08-30 07:09:04 UTC
348085
348086         · PR  #35483:  (gtmanfred) use __utils__ in salt.cloud (refs: #35855,
348087           #37057, #36070)
348088
348089         · cf8f081401      Merge      pull      request      #35855       from
348090           vutny/salt-cloud-fix-sock_dir
348091
348092         · a662ea5337 salt-cloud: fix path to Salt Master socket dir
348093
348094       · PR  #35881:  (whiteinge)  Add fail-safe in case Salt gives us data we
348095         can't serialize @ 2016-08-30 06:43:11 UTC
348096
348097         · f0987cf27a      Merge      pull      request      #35881       from
348098           whiteinge/salt-api-catch-serializer-error
348099
348100         · 6e27fad21f  Add fail-safe in case Salt gives us data we can't seri‐
348101           alize
348102
348103       · ISSUE #35837: (JensRantil)  Doc  improvement:  Mention  engine  under
348104         extension modules (refs: #35864)
348105
348106         · PR  #35864:  (rallytime)  Add  engines  to list of extension module
348107           options in master config docs
348108
348109       · ISSUE #35835: (JensRantil) Incorrect SQS config documentation  state‐
348110         ment (refs: #35861)
348111
348112         · PR  #35861:  (rallytime) Fix IAM roles statement to be boto version
348113           specific in sqs_events
348114
348115       · ISSUE #35834: (JensRantil) Incorrect SQS engine config (refs: #35860)
348116
348117         · PR #35860: (rallytime) Fix doc  formatting  for  sqs_events  engine
348118           example config
348119
348120       · PR #35859: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348121         2016-08-29 18:21:04 UTC
348122
348123         · 96747bc3bb Merge pull request #35859 from rallytime/merge-2016.3
348124
348125         · 5f93d682aa Merge branch '2015.8' into '2016.3'
348126
348127         · eda2ae0add Merge pull request #35781 from thatch45/ssh_deploy_more
348128
348129           · 2558dcc100 follow up on the re-deploy  if  there  is  a  checksum
348130             missmatch
348131
348132         · 165237412c Merge pull request #35815 from gtmanfred/2015.8
348133
348134           · 805d43598e list_nodes_min should return a minimum dictionary
348135
348136         · b12c6577d2    Merge    pull    request    #35833   from   terminal‐
348137           mage/2015.8-top-file-merging-docs
348138
348139           · c534d88280 More clarification/correction in minion docs
348140
348141           · e9e6ea8485 One more tweak to top file merging docs
348142
348143       · ISSUE #34478: (hujunya) makedir bug in the file module (refs: #35849)
348144
348145       · PR #35849: (theredcat) Fix potential infinite loop with no error when
348146         using recursive makedirs @ 2016-08-29 11:37:19 UTC
348147
348148         · dc705ff675    Merge    pull    request    #35849    from    thered‐
348149           cat/fix_file_makedirs_infinite_loop
348150
348151         · 86d5398b28 Fix potential infinite loop with  no  error  when  using
348152           recursive makedirs
348153
348154       · PR  #35682:  (vutny)  [BACKPORT]  Fix empty fun_agrs field in Reactor
348155         generated events @ 2016-08-29 04:11:06 UTC
348156
348157         · PR #35659: (vutny) Fix empty fun_agrs field  in  Reactor  generated
348158           events (refs: #35682)
348159
348160         · PR #35059: (vutny) Add fun_args field to events generated by execu‐
348161           tion of Master modules (refs: #35659, #35682)
348162
348163         · 433743f609 Merge pull request #35682 from vutny/backport-35659
348164
348165         · 78d16a8057 [BACKPORT] Fix empty fun_agrs field in Reactor generated
348166           events
348167
348168       · ISSUE  #34973:  (szjur)  Syndic  stops  forwarding job results if the
348169         local salt-master is restarted (refs: #35792)
348170
348171       · PR #35792: (DmitryKuzmenko) Reconnect syndic to event bus  if  master
348172         disappeared.  @ 2016-08-29 02:13:19 UTC
348173
348174         · 30c2db7b09    Merge    pull   request   #35792   from   DSRCorpora‐
348175           tion/bugs/34973_syndic_reconnect_master_2016.3
348176
348177         · 9afdbb0e97 Reconnect syndic to master event bus  if  master  disap‐
348178           pears.
348179
348180         · ab1afd002e Fixed syndic event bus connection.
348181
348182         · ea8e1385c1  Fixed  syndic  unhandled  future exception if master is
348183           stopped.
348184
348185       · PR #35817: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348186         2016-08-26 20:44:18 UTC
348187
348188         · 43c08ae431 Merge pull request #35817 from rallytime/merge-2016.3
348189
348190         · e8e73b55ac Merge branch '2015.8' into '2016.3'
348191
348192         · d285fe64b7 Merge pull request #35811 from rallytime/bp-35576
348193
348194           · 04c063b315 Updated user.py to redact password when test=true
348195
348196         · e212c55b7a Schedule documentation update (#35745)
348197
348198         · eb4d2f299b Better unicode handling in gitfs (#35802)
348199
348200         · 0ee237a9cb Remove extra "to" in top.rst docs (#35808)
348201
348202         · 2fc61763d8  Correct  the top_file_merging_strategy documentation (‐
348203           #35774)
348204
348205         · PR #35788: (hu-dabao) fix 34241, webutil.useradd_all is deprecated
348206
348207       · ISSUE saltstack/salt#33536: (murzick) pkgrepo.managed does  not  dis‐
348208         able a yum repo with "disabled: True" (refs: #35055)
348209
348210       · ISSUE  #33536:  (murzick) pkgrepo.managed does not disable a yum repo
348211         with "disabled: True" (refs: #35055, #35806)
348212
348213         · PR #35810: (rallytime) Back-port #35806 to 2016.3
348214
348215         · PR #35806: (rallytime) Bump  the  deprecation  warning  in  pkgrepo
348216           state to Nitrogen (refs: #35810)
348217
348218         · PR  #35055:  (galet)  #33536 pkgrepo.managed does not disable a yum
348219           repo with "disabled: True" (refs: #35806)
348220
348221       · ISSUE #35741: (fix7) modjk: use of auth credentials to access jk-sta‐
348222         tus broken (refs: #35796)
348223
348224         · PR #35796: (fix7) Fix #35741
348225
348226         · PR #35807: (jacobhammons) Adds mock for tornado.locks
348227
348228         · PR #35800: (alexander-bauer) Trivial documentation spelling fix
348229
348230       · PR #35763: (isbm) Sphinx crash: documentation config fix @ 2016-08-25
348231         21:12:39 UTC
348232
348233         · 9b5ee2155e      Merge      pull      request      #35763       from
348234           isbm/isbm-doc-conf-sphinx-crashfix
348235
348236         · a56ae4e8f5  Configure  importing Mock to handle 'total' method from
348237           psutils properly
348238
348239         · 9c057d0266 Return psutil back to the list of mocked imports
348240
348241         · 3d7758461e Improve Mock to be flexible and  able  to  mock  methods
348242           from the mocked modules
348243
348244       · ISSUE  #35771:  (bdrung)  Spelling  errors  in  salt  2016.3.2 (refs:
348245         #35773)
348246
348247         · PR #35773: (rallytime) Documentation spelling fixes
348248
348249       · PR #35767: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348250         2016-08-25 16:09:37 UTC
348251
348252         · e355c1cf90 Merge pull request #35767 from rallytime/merge-2016.3
348253
348254         · 8ad6a12c80 Merge branch '2015.8' into '2016.3'
348255
348256         · 2a12795bac Fixes Windows download paths (#35742)
348257
348258       · ISSUE  #20575:  (starchy)  "salt --subset=n" appears to always choose
348259         the same nodes (refs: #35753)
348260
348261       · PR #35753: (rallytime)  Fixup  the  unit.client_test.LocalClientTest‐
348262         Case.test_cmd_subset from #35720 @ 2016-08-25 15:55:23 UTC
348263
348264         · PR  #35720:  (hu-dabao) fix 20575, make subset really return random
348265           subset (refs: #35753)
348266
348267         · b3f6367621    Merge    pull    request    #35753    from     rally‐
348268           time/fix-client-unit-test
348269
348270         · 92f8c836e8 Add cmd_mock back in to function spec
348271
348272         · a671f0a092      Fixup     the     unit.client_test.LocalClientTest‐
348273           Case.test_cmd_subset from #35720
348274
348275       · ISSUE #35458: (iggy) SALT.STATES.APACHE_MODULE needs version  annota‐
348276         tions (refs: #35732)
348277
348278         · PR  #35732:  (rallytime)  Add  versionadded for enabled function in
348279           apache_module state
348280
348281       · PR #35737: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348282         2016-08-24 19:48:45 UTC
348283
348284         · bab0e3d449 Merge pull request #35737 from rallytime/merge-2016.3
348285
348286         · 61e37d5956 Merge branch '2015.8' into '2106.3'
348287
348288         · 06a75be8bd Merge pull request #35701 from gtmanfred/2015.8
348289
348290           · 2d2bc1ffea use aws.get_location in s3 modules
348291
348292         · 79bc01b88c Make test runs behave better (#35708)
348293
348294       · PR  #35729:  (cachedout)  Remove docs mocks for msgpack and psutils @
348295         2016-08-24 14:42:06 UTC
348296
348297         · 7877ff1d5e Merge pull request #35729 from cachedout/fix_docs_build
348298
348299         · fdbf01d5ad Remove docs mocks for msgpack and psutils
348300
348301       · PR #35628: (jf) Fix user.present  state  reporting  for  groups  when
348302         remove_groups=false @ 2016-08-24 08:15:31 UTC
348303
348304         · 962e493304       Merge      pull      request      #35628      from
348305           jf/fix_user.present_reporting_when_remove_groups=false
348306
348307         · 1f818c832e  Fix  user.present  state  reporting  for  groups   when
348308           remove_groups=false
348309
348310       · PR   #35696:   (xiaoanyunfei)  fix  maximum  recursion  depth  bug  @
348311         2016-08-24 08:01:16 UTC
348312
348313         · 02d86c6550 Merge pull request #35696 from xiaoanyunfei/2016.3
348314
348315         · 5db9255926 fix maximum recursion depth
348316
348317       · PR #35720: (hu-dabao) fix 20575, make  subset  really  return  random
348318         subset (refs: #35753) @ 2016-08-24 07:03:58 UTC
348319
348320         · 79d10aea2d Merge pull request #35720 from hu-dabao/fix-20575
348321
348322         · 70af980c01 fix 20575, make subset really return random subset
348323
348324       · PR #35700: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348325         2016-08-23 17:23:40 UTC
348326
348327         · 5d0b9a248e Merge pull request #35700 from rallytime/merge-2016.3
348328
348329         · 9e9923c3f4 Merge branch '2015.8' into '2016.3'
348330
348331         · aee5b62542 Merge pull request #35680 from terminalmage/issue35630
348332
348333           · d76659a63a Don't use six.text_type() in salt.utils.gitfs
348334
348335         · 74678923b8 Fixup doc formatting for the sqs_events engine (#35663)
348336
348337       · PR #35634: (hu-dabao)  fix  34922,  StopIteration  should  not  throw
348338         exception out @ 2016-08-23 08:13:08 UTC
348339
348340         · f305389172 Merge pull request #35634 from hu-dabao/fix-34922
348341
348342         · fe338ff41f fix 34922, StopIteration should not throw exception out
348343
348344       · PR  #35679:  (twangboy)  Revert  to  vcredist  12 (2013) @ 2016-08-23
348345         08:05:40 UTC
348346
348347         · e45aa55d79 Merge pull  request  #35679  from  twangboy/change.vcre‐
348348           dist.version.2016.3
348349
348350         · 3d6d473d48 Revert to vcredist 12 (2013)
348351
348352       · PR #35662: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348353         2016-08-22 19:03:43 UTC
348354
348355         · 9fe0972761 Merge pull request #35662 from rallytime/merge-2016.3
348356
348357         · 1d819d7cc2 Merge branch '2015.8' into '2016.3'
348358
348359           · 399e9f57cc Update release notes for 2015.8.12 (#35614)
348360
348361           · f7f8221169 Everything in the sample master config file should  be
348362             commented out (#35611)
348363
348364           · c9070c212f    Merge    pull    request    #35569    from   rally‐
348365             time/test-for-35384
348366
348367             · 30f42d5352 Write test for multiple unless  commands  where  1st
348368               cmd passes and 2nd fails
348369
348370         · PR #35661: (justinta) Backport #35627 to 2016.3
348371
348372         · PR #35627: (cachedout) Comment boto lambda test (refs: #35661)
348373
348374       · PR  #35615:  (hu-dabao)  fix  35591, verify the acl file exist before
348375         proceed @ 2016-08-21 04:41:32 UTC
348376
348377         · 67692f868c Merge pull request #35615 from hu-dabao/fix-35591
348378
348379         · 402b83e4d3 change file verification to exist
348380
348381         · 7355eb4ecd move python lib import after absolute_import
348382
348383         · 69a2427670 fix 35591, verify the acl file exist before proceed
348384
348385       · PR #35485: (cro) Cassandra returner bugfixes  and  documentation.   @
348386         2016-08-20 02:42:28 UTC
348387
348388         · de6fca3909 Merge pull request #35485 from cro/jpmc_cass_return
348389
348390         · 0b01a7a266 Six import for range.
348391
348392         · 7e87d4170d Fix Py3 lint?
348393
348394         · d4336d011c [1,2,3] -> range(1,4)
348395
348396         · cec7f6a7ec remove unneeded import
348397
348398         · e31555345f Add timeout documentation.
348399
348400         · 901ab8b74c Remove unnecessary log statements
348401
348402         · 1954c1a3f3 Update cassandra returner for JPMC
348403
348404       · ISSUE #35519: (morganwillcock) win_dism state doesn't handle all suc‐
348405         cess return codes (refs: #35520)
348406
348407       · PR #35520: (morganwillcock) Check for all  success  return  codes  in
348408         win_dism state @ 2016-08-20 02:35:01 UTC
348409
348410         · edefff51d4    Merge    pull   request   #35520   from   morganwill‐
348411           cock/dism-return-codes
348412
348413         · 0b95b85e69 Check for all success return codes in dism state
348414
348415       · PR #35616: (xbglowx) Remove duplicate auth_tries  in  minion  docs  @
348416         2016-08-20 02:32:50 UTC
348417
348418         · 27211dbd64 Merge pull request #35616 from xbglowx/2016.3
348419
348420         · 2801f0fdcc Remove duplicate auth_tries in minion docs
348421
348422       · ISSUE  #34992:  (szjur)  Syndic strips vital parts of events (such as
348423         'retcode' and 'success') (refs: #35552)
348424
348425       · PR #35552: (DmitryKuzmenko) Syndic fix:  don't  strip  'retcode'  and
348426         'success' from events.  @ 2016-08-20 02:00:40 UTC
348427
348428         · 25ac9bacc6    Merge    pull   request   #35552   from   DSRCorpora‐
348429           tion/bugs/34992_syndic_strip_retcode
348430
348431         · d036299f6f Syndic fix: don't strip  'retcode'  and  'success'  from
348432           events.
348433
348434       · ISSUE    #25664:   (sdm24)   2015.5.2    MySQL   Returner:   salt-run
348435         jobs.lookup_jid doesn't  return  full  result  for  highstate  output
348436         (refs: #35559)
348437
348438       · PR #35559: (Jlin317) Fix highstate outputter when it's given multiple
348439         results (refs: #36137) @ 2016-08-20 01:56:25 UTC
348440
348441         · bec8322e13  Merge  pull  request  #35559   from   Jlin317/fix_high‐
348442           state_outputter
348443
348444         · 27aa038cc6 Fix highstate outputter when it's given multiple results
348445
348446       · ISSUE #32478: (oliver-dungey) rsync.synchronized - user/group options
348447         required (refs: #32739)
348448
348449       · PR #35605:  (rallytime)  Back-port  #32739  to  2016.3  @  2016-08-20
348450         01:39:38 UTC
348451
348452         · PR #32739: (abednarik) Rsync synchronized updates. (refs: #35605)
348453
348454         · 4153aeba29 Merge pull request #35605 from rallytime/bp-32739
348455
348456         · 36d8b4a409 Rsync synchronized updates.
348457
348458       · PR #35606: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348459         2016-08-19 22:19:05 UTC
348460
348461         · 6eabe6356f Merge pull request #35606 from rallytime/merge-2016.3
348462
348463         · f2eb625778 Merge branch '2015.8' into '2016.3'
348464
348465         · 0c7aa802f5 Update release notes for 2015.8.12 (#35600)
348466
348467         · dd12b48239 Update release notes for 2015.8.12 (#35599)
348468
348469         · beb6ca8ef9 Update linux_sysctl tests to reflect new context key  (‐
348470           #35584)
348471
348472         · fd08d33597 Add warning about AWS flagging of nmap usage (#35575)
348473
348474   Salt 2016.3.5 Release Notes
348475       Version 2016.3.5 is a bugfix release for 2016.3.0.
348476
348477   Statistics
348478       · Total Merges: 190
348479
348480       · Total Issue References: 112
348481
348482       · Total PR References: 281
348483
348484       · Contributors:   74   (Ch3LL,   DmitryKuzmenko,  Firewire2002,  Mrten,
348485         Talkless,    TronPaul,    UtahDave,    aaronm-cloudtek,     alex-zel,
348486         alexandr-orlov,  alexbleotu,  attiasr,  basepi,  bdrung, bshelton229,
348487         cachedout,  calve,  clan,  clinta,  cro,  dere,  dereckson,  dhaines,
348488         dincamihai,  do3meli, dragon788, edgan, fedusia, fj40crawler, genuss,
348489         gtmanfred,  haeac,  heewa,  hu-dabao,  jeanpralo,   jfindlay,   jinm,
348490         kevinquinnyo,   kontrolld,   laleocen,   lorengordon,  m03,  mcalmer,
348491         mchugh19, meaksh, mikejford, moio, multani, nevins-b,  pass-by-value,
348492         rallytime,  rbjorklin,  siccrusher, silenius, sjmh, sjorge, skizunov,
348493         slinn0, sofixa,  techhat,  tedski,  terminalmage,  thatch45,  thusoy,
348494         toanju,  tobithiel,  twangboy,  tyhunt99,  vutny, wanparo, whiteinge,
348495         xiaoanyunfei, yhekma, zwo-bot)
348496
348497   Security Fixes
348498       CVE-2017-5192 local_batch client external authentication not respected
348499
348500       The LocalClient.cmd_batch() method client does not accept external_auth
348501       credentials and so access to it from salt-api has been removed for now.
348502       This vulnerability  allows  code  execution  for  already-authenticated
348503       users and is only in effect when running salt-api as the root user.
348504
348505       CVE-2017-5200   Salt-api   allows  arbitrary  command  execution  on  a
348506       salt-master via Salt's ssh_client
348507
348508       Users of Salt-API and salt-ssh could execute a command on the salt mas‐
348509       ter via a hole when both systems were enabled.
348510
348511       We recommend everyone on the 2016.3 branch upgrade to a patched release
348512       as soon as possible.
348513
348514   Improved Checksum Handling in file.managed, archive.extracted States
348515       When the source_hash argument for these states refers to  a  file  con‐
348516       taining  checksums,  Salt  now looks for checksums matching the name of
348517       the source URI, as well as the file being managed. Prior releases  only
348518       looked for checksums matching the filename being managed. Additionally,
348519       a new argument (source_hash_name) has been added, which allows the user
348520       to  disambiguate ambiguous matches when more than one matching checksum
348521       is found in the source_hash file.
348522
348523       A more detailed explanation of this functionality can be found  in  the
348524       file.managed documentation, in the section for the new source_hash_name
348525       argument.
348526
348527   Changelog for v2016.3.4..v2016.3.5
348528       Generated at: 2018-05-27 05:09:33 UTC
348529
348530       · PR  #38833:  (Ch3LL)  add  2016.3.5  changelog  to  release  notes  @
348531         2017-01-19 23:27:26 UTC
348532
348533         · a04ab86da1       Merge      pull      request      #38833      from
348534           Ch3LL/add_release_notes_2016.3.5
348535
348536         · 374dc1ab88 skip 2016.3.5 due to :doc: references
348537
348538         · 31f324c4ff add 2016.3.5 changelog to release notes
348539
348540       · PR  #38812:  (rallytime)  Update  pyobjects  test  to  be  a  list  @
348541         2017-01-18 21:06:01 UTC
348542
348543         · d14f0c64eb Merge pull request #38812 from rallytime/pyobjects-test
348544
348545         · f3e84c1ab7 Update pyobjects test to be a list
348546
348547       · ISSUE  #36598:  (ikkaro)  CloudClient  vmware  driver  reusing SI bug
348548         (refs: #38813)
348549
348550       · PR  #38813:  (gtmanfred)  catch  SIGPIPE  in  vmware   connection   @
348551         2017-01-18 21:05:42 UTC
348552
348553         · 50f03f8057 Merge pull request #38813 from gtmanfred/2016.3
348554
348555         · ce3472cec2 catch SIGPIPE in vmware connection
348556
348557       · PR  #38809:  (twangboy)  Fix  get_hostname  to handle longer computer
348558         names @ 2017-01-18 19:32:00 UTC
348559
348560         · 23b8b47258  Merge  pull  request  #38809  from   twangboy/fix_host‐
348561           name_2016.3
348562
348563         · d57a51f9f9 Fix tests for get_hostname
348564
348565         · 7ca3fd7484 Fix get_hostname to handle longer computer names
348566
348567       · ISSUE  #38388:  (johje349)  No  INFO  logs  in minion log file (refs:
348568         #38808)
348569
348570       · PR #38808: (vutny) Fix #38388 @ 2017-01-18 18:19:36 UTC
348571
348572         · 1033bbdde8 Merge pull request #38808 from vutny/fix-38388
348573
348574         · 9bd203ffcc Fix #38388
348575
348576       · ISSUE #38604: (jsandas) Using "batch" with saltmod errors with  "Val‐
348577         ueError: need more than 2 values to unpack" (refs: #38668)
348578
348579       · PR  #38668:  (terminalmage)  Fix  proposal  for  #38604  @ 2017-01-18
348580         17:53:09 UTC
348581
348582         · f3ae3cd5c8 Merge pull request #38668 from terminalmage/issue38604
348583
348584         · 0ea97cdad9 Merge pull request #10 from cachedout/pr-38668
348585
348586           · db81afc035 Munge retcode into return data for batching
348587
348588         · a642a995dc Return the ret data from batch execution instead of  raw
348589           data
348590
348591       · ISSUE #38622: (mikejford) Incorrect saltenv argument documentation in
348592         salt.modules.state (refs: #38789)
348593
348594       · PR #38789: (rallytime) Update some saltenv  refs  to  environment  in
348595         salt.modules.state docs @ 2017-01-18 15:39:22 UTC
348596
348597         · c6a19a9e5a Merge pull request #38789 from rallytime/fix-38622
348598
348599         · af41fe0c6e  Update  some  saltenv  refs to environment in salt.mod‐
348600           ules.state docs
348601
348602       · PR #38790: (cachedout)  Fix  typo  in  pyobjects  test  @  2017-01-18
348603         15:38:57 UTC
348604
348605         · e0bf700020  Merge  pull  request  #38790  from  cachedout/fix_pyob‐
348606           jects_test_typo
348607
348608         · a66afb5f0f Fix typo in pyobjects test
348609
348610       · ISSUE #38629: (Arabus) Conflicting documentation about default  value
348611         of pillar_opts (refs: #38792)
348612
348613       · PR  #38792: (rallytime) Update pillar tutorial lanuage regarding pil‐
348614         lar_opts settings @ 2017-01-18 15:38:19 UTC
348615
348616         · 6e9785edea Merge pull request #38792 from rallytime/fix-38629
348617
348618         · 1e125e2844 Update pillar  tutorial  lanuage  regarding  pillar_opts
348619           settings
348620
348621         · PR  saltstack/salt#38707: (alexbleotu) Fixed prepending of root_dir
348622           override to the other paths (refs: #38796)
348623
348624       · PR #38796: (cachedout) Revert "Fixed prepending of root_dir  override
348625         to the other paths" @ 2017-01-17 23:18:18 UTC
348626
348627         · 3417adc617     Merge     pull    request    #38796    from    salt‐
348628           stack/revert-38707-root_dir_fix-gh
348629
348630         · cb080f3bbe Revert "Fixed prepending of  root_dir  override  to  the
348631           other paths"
348632
348633       · ISSUE #38524: (rbjorklin) salt-api seems to ignore rest_timeout since
348634         2016.11.0 (refs: #38585, #38527)
348635
348636       · ISSUE #38479: (tyeapple) api_logfile setting takes no  effect  (refs:
348637         #38585)
348638
348639       · PR  #38585:  (rallytime) Follow up to PR #38527 @ 2017-01-17 18:40:01
348640         UTC
348641
348642         · PR #38570: (rallytime)  [2016.11]  Merge  forward  from  2016.3  to
348643           2016.11 (refs: #38585)
348644
348645         · PR #38560: (Ch3LL) fix api logfile (refs: #38585)
348646
348647         · PR  #38527: (rbjorklin) salt-api no longer forces the default time‐
348648           out (refs: #38585)
348649
348650         · bab3479a3c Merge pull request #38585 from rallytime/follow-up-38527
348651
348652         · 05587201b6 Pylint fix: add line at end of file
348653
348654         · fa01367599 Keep a copy of the  DEFAULT_API_OPTS  and  restore  them
348655           after the test run
348656
348657         · 2ad07634d9 Test clean up
348658
348659         · fd2ee7db30  Add  some  simple unit tests for salt.config.api_config
348660           function
348661
348662         · 3d2fefc83b Make sure the pidfile and log_file values are  overriden
348663           by api opts
348664
348665         · 1f6b540e46  Make sure the pidfile and log_file values are overriden
348666           by api opts
348667
348668         · 04d307f917 salt-api no longer forces the default timeout
348669
348670       · PR #38707: (alexbleotu) Fixed prepending of root_dir override to  the
348671         other paths @ 2017-01-17 15:40:13 UTC
348672
348673         · 0fb6bb7b77       Merge      pull      request      #38707      from
348674           alexbleotu/root_dir_fix-gh
348675
348676         · 0bac8c8be3 Fixed prepending of root_dir override to the other paths
348677
348678       · PR #38774: (vutny)  DOCS:  add  C++  compiler  installation  on  RHEL
348679         required for bundled 0mq @ 2017-01-17 15:21:00 UTC
348680
348681         · 96c9dc10f7 Merge pull request #38774 from vutny/dev-test-docs
348682
348683         · 4620dc4afa DOCS: add C++ compiler installation on RHEL required for
348684           bundled 0mq
348685
348686       · PR #38749: (vutny) pkg build modules throw better  exception  message
348687         if keyid wasn't found @ 2017-01-17 02:13:08 UTC
348688
348689         · aedfbb7a43  Merge  pull  request  #38749  from vutny/pkg-build-bet‐
348690           ter-exception-msg
348691
348692         · 53f2be5b21 pkg build modules  throw  better  exception  message  if
348693           keyid wasn't found
348694
348695       · PR #38743: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
348696         2017-01-17 01:46:01 UTC
348697
348698         · 8466b34e82 Merge pull request #38743 from rallytime/merge-2016.3
348699
348700         · d24776f5e9 Merge branch '2015.8' into '2016.3'
348701
348702         · 6869621ed1 Merge pull request #38731 from rallytime/merge-2015.8
348703
348704           · 9eb191b6ac Pylint fix
348705
348706           · b910499dbe Various follow up fixes
348707
348708           · e8309a6bbf Add release notes for 2015.8.13
348709
348710           · f881f366b7 Merge pull request #20  from  rallytime/2015.8.12_fol‐
348711             low_up-batch-tests
348712
348713             · 34282322c0 Clean up tests and docs for batch execution
348714
348715           · c80b20b957 Merge pull request #19 from whiteinge/batchclient
348716
348717             · 3d8f3d18f6  Remove  batch execution from NetapiClient and Salt‐
348718               nado
348719
348720           · 97b0f64923 Lintfix
348721
348722           · d1516664f7 Add explanation comment
348723
348724           · 62f2c87080 Add docstring
348725
348726           · 9b0a786aeb Explain what it is about and how to configure that
348727
348728           · 5ea3579e10 Pick up a specified roster file  from  the  configured
348729             locations
348730
348731           · 3a8614c5df Disable custom rosters in API
348732
348733           · c0e5a1171d Add roster disable flag
348734
348735         · e9c59e9b8f    Merge    pull    request    #38602   from   terminal‐
348736           mage/fix-boto-test
348737
348738           · 3424a108ac                      Fix                       failing
348739             unit.states.boto_vpc_test.BotoVpcRouteTableTest‐
348740             Case.test_present_with_routes
348741
348742       · ISSUE #38674: (jackywu) There is no code to use parameter 'event_pub‐
348743         lisher_pub_hwm' in saltstack-2016.3 (refs: #38723)
348744
348745       · PR   #38723:   (rallytime)   Remove   "event_publisher_pub_hwm"   and
348746         "salt_event_pub_hwm" from config/__init__.py  @  2017-01-15  18:36:14
348747         UTC
348748
348749         · PR  #29294:  (skizunov) ZeroMQ no longer required when transport is
348750           TCP (refs: #38723)
348751
348752         · a642cdef79 Merge pull request #38723 from rallytime/fix-38674
348753
348754         · 706c885f55       Remove        "event_publisher_pub_hwm"        and
348755           "salt_event_pub_hwm" from config/__init__.py
348756
348757       · PR  #38669:  (rallytime)  Update  bootstrap script verstion to latest
348758         release @ 2017-01-15 18:03:27 UTC
348759
348760         · fc545af10b Merge pull request  #38669  from  rallytime/update-boot‐
348761           strap-script
348762
348763         · 78ba76e34c Update bootstrap script verstion to latest release
348764
348765       · PR  #38693:  (twangboy)  Update jinja2 to 2.9.4 @ 2017-01-15 14:40:46
348766         UTC
348767
348768         · 50d417f267 Merge pull request #38693 from twangboy/update_jinja
348769
348770         · e0c7e5549b Update jinja2 to 2.9.4
348771
348772       · PR #38739: (vutny) DOCS: correct examples of  running  test  suite  @
348773         2017-01-15 14:35:47 UTC
348774
348775         · f4233bb18d Merge pull request #38739 from vutny/fix-runtests-doc
348776
348777         · b872bb63f6 DOCS: correct examples of running test suite
348778
348779         · PR #38735: (vutny) DOCS: add links to File State Backups page where
348780           necessary
348781
348782         · PR #38720: (dereckson) Proofread jinja_to_execution_module tutorial
348783
348784       · ISSUE #36548: (abonillasuse) openstack auth with nova  driver  (refs:
348785         #38647)
348786
348787       · PR #38647: (gtmanfred) Allow novaclient to use keystoneauth1 sessions
348788         for authentication @ 2017-01-10 17:48:26 UTC
348789
348790         · 7b850d472d Merge pull request #38647 from gtmanfred/nova
348791
348792         · 5be9b60851 add documentation about using keystoneauth for v3
348793
348794         · 7b657ca4ae add the ability to use keystone v2 and v3
348795
348796         · 5646ae1b34 add ability to use keystoneauth to authenitcate in  nova
348797           driver
348798
348799       · ISSUE  #38648:  (ericuldall) No release file error from PPA on Ubuntu
348800         (refs: #38650)
348801
348802       · ISSUE #38572: (COLABORATI) ppa:saltstack/salt failure (refs: #38650)
348803
348804       · ISSUE #34504: (AvinashDeluxeVR) Installation documentation for Ubuntu
348805         server  and  Windows minion leads the user to use different salt ver‐
348806         sions. (refs: #38650)
348807
348808       · PR #38650:  (rallytime)  Remove  the  installation  instructions  for
348809         out-of-date community ppa @ 2017-01-10 17:47:45 UTC
348810
348811         · 383768d838     Merge    pull    request    #38650    from    rally‐
348812           time/remove-ubuntu-ppa-docs
348813
348814         · 30429b2e44 Remove the  installation  instructions  for  out-of-date
348815           community ppa
348816
348817       · ISSUE #38087: (UtahDave) The 'data' field in the return from a minion
348818         below a syndic is wrapped in an extra 'data' field. (refs: #38657)
348819
348820       · PR #38657: (DmitryKuzmenko) Publish the 'data' field content for Syn‐
348821         dic evets @ 2017-01-10 16:59:33 UTC
348822
348823         · 7d9f56e3b5    Merge    pull   request   #38657   from   DSRCorpora‐
348824           tion/bugs/38087_syndic_event_format_fix
348825
348826         · 594c33f396 Publish the 'data' field content for Syndic evets
348827
348828       · PR #38649: (Ch3LL) fix unit.modules.file_test @  2017-01-10  16:44:45
348829         UTC
348830
348831         · 83987511fd Merge pull request #38649 from Ch3LL/test_apply_template
348832
348833         · 47f8b68e0b fix unit.modules.file_test
348834
348835       · ISSUE  #37355: (Firewire2002) salt-ssh - ImportError: No module named
348836         backports.ssl_match_hostname       (refs:       #38626,       #`salt‐
348837         stack/salt`#37358`_`_, #37358)
348838
348839       · ISSUE  #34600:  (davidpsv17) Error trying a salt-ssh test.ping (refs:
348840         #`saltstack/salt`#37358`_`_, #37358)
348841
348842       · ISSUE #27355: (jerob) salt ssh error with debian 7 on  target  (refs:
348843         #`saltstack/salt`#37358`_`_, #37358)
348844
348845         · PR  saltstack/salt#37358:  (Firewire2002)  Fix/workaround for issue
348846           #37355 (refs: #38626)
348847
348848       · PR #38626: (cachedout) Revert "Fix/workaround  for  issue  #37355"  @
348849         2017-01-06 21:28:09 UTC
348850
348851         · 74ddc71be3     Merge     pull    request    #38626    from    salt‐
348852           stack/revert-37358-2016.3.3_issue37355
348853
348854         · e912ac99c2 Revert "Fix/workaround for issue #37355"
348855
348856       · ISSUE #37355: (Firewire2002) salt-ssh - ImportError: No module  named
348857         backports.ssl_match_hostname       (refs:       #38626,       #`salt‐
348858         stack/salt`#37358`_`_, #37358)
348859
348860       · ISSUE #34600: (davidpsv17) Error trying a salt-ssh  test.ping  (refs:
348861         #`saltstack/salt`#37358`_`_, #37358)
348862
348863       · ISSUE  #27355:  (jerob) salt ssh error with debian 7 on target (refs:
348864         #`saltstack/salt`#37358`_`_, #37358)
348865
348866       · PR  #37358:  (Firewire2002)  Fix/workaround  for   issue   #37355   @
348867         2017-01-06 18:58:47 UTC
348868
348869         · 5e58b32934       Merge      pull      request      #37358      from
348870           Firewire2002/2016.3.3_issue37355
348871
348872         · 910da18bfd fixed typo
348873
348874         · 4fbc5ddd06 fixed wrong renamed variable and spaces
348875
348876         · 92366e646c issue #37355
348877
348878         · 7dc87ab7b8 issue #37355
348879
348880         · 2878180405 issue #37355
348881
348882       · PR #35390: (alexandr-orlov) Returns back missed proper grains dictio‐
348883         nary for file module @ 2017-01-06 18:02:13 UTC
348884
348885         · 6c2fe615aa Merge pull request #35390 from alexandr-orlov/2016.3
348886
348887         · cd5ae17e8d fxd missed proper grains dictionary
348888
348889       · ISSUE  #38558:  (multani)  pillar.get("...", default=var, merge=true)
348890         updates default value (refs: #38579)
348891
348892       · PR #38618:  (rallytime)  Back-port  #38579  to  2016.3  @  2017-01-06
348893         17:37:56 UTC
348894
348895         · PR   #38579:  (zwo-bot)  Fix  #38558  -  pillar.get  with  default=
348896           ...,merge=true influence  subsequent  calls  of  pillar.get  (refs:
348897           #38618)
348898
348899         · 2579cfa42d Merge pull request #38618 from rallytime/bp-38579
348900
348901         · 2052ecee2c Add copy import
348902
348903         · 2c8845aaa0 add test for pillar.get() + default value
348904
348905         · c2f98d2f04  ticket  38558: add unit test, deepcopy() only if neces‐
348906           sary
348907
348908         · 30ae0a1958 added deepcopy of default if merge=True
348909
348910       · PR #38601: (terminalmage) pillar.get: Raise exception when merge=True
348911         and default is not a dict @ 2017-01-05 23:15:51 UTC
348912
348913         · da676cebd6 Merge pull request #38601 from terminalmage/pillar-get
348914
348915         · 8613d7254d  pillar.get: Raise exception when merge=True and default
348916           is not a dict
348917
348918       · PR #38600: (terminalmage) Avoid errors when sudo_user is set  (2016.3
348919         branch) @ 2017-01-05 20:57:09 UTC
348920
348921         · PR #38598: (terminalmage) Avoid errors when sudo_user is set (refs:
348922           #38600)
348923
348924         · 224fc7712a   Merge   pull    request    #38600    from    terminal‐
348925           mage/issue38459-2016.3
348926
348927         · 8a45b13e76 Avoid errors when sudo_user is set
348928
348929       · PR #38589: (tobithiel) State Gem: fix incorrect warning about missing
348930         rvm/rbenv @ 2017-01-05 20:12:15 UTC
348931
348932         · a376970f88      Merge      pull      request      #38589       from
348933           tobithiel/fix_rvm_rbenv_warning
348934
348935         · 9ec470b4a5 State Gem: fix incorrect warning about missing rvm/rbenv
348936
348937       · PR  #38567:  (pass-by-value)  Create  queue  if  one  doesn't exist @
348938         2017-01-05 18:46:11 UTC
348939
348940         · 02e6a78254  Merge  pull  request  #38567  from   pass-by-value/pgj‐
348941           sonb_queue_changes_2016.3
348942
348943         · 67879ebe65 Create queue if one doesn't exist
348944
348945       · ISSUE #37498: (githubcdr) service.restart salt-minion fails on Ubuntu
348946         14.04.5 LTS (refs: #37748, #38587)
348947
348948       · PR #38587: (rallytime) Change daemontools __virtualname__  from  ser‐
348949         vice to daemontools @ 2017-01-05 18:06:01 UTC
348950
348951         · 0889cbdb31 Merge pull request #38587 from rallytime/fix-37498
348952
348953         · 2a5880966f  Change daemontools __virtualname__ from service to dae‐
348954           montools
348955
348956       · PR #38562: (rallytime) Update arch  installation  docs  with  correct
348957         package name @ 2017-01-04 20:04:28 UTC
348958
348959         · 7b74436d13     Merge    pull    request    #38562    from    rally‐
348960           time/arch-install-docs
348961
348962         · 8b1897ace9 Update arch installation docs with correct package name
348963
348964       · PR #38560: (Ch3LL)  fix  api  logfile  (refs:  #38585)  @  2017-01-04
348965         19:03:17 UTC
348966
348967         · 01860702cb Merge pull request #38560 from Ch3LL/fix_api_log
348968
348969         · 1b45e9670b fix api logfile
348970
348971       · PR  #38531:  (rallytime)  Back-port  #33601  to  2016.3  @ 2017-01-04
348972         16:56:53 UTC
348973
348974         · PR #33601: (mchugh19) Fix slack engine to run on  python2.6  (refs:
348975           #38531)
348976
348977         · 0056620a53 Merge pull request #38531 from rallytime/bp-33601
348978
348979         · c36cb39825 remove the unnecessary double trigger
348980
348981         · 38414493bf fix spacing lint error
348982
348983         · 8c1defc710  Remove  uncessary type from alias commands. Deduplicate
348984           alias handling to autodetect function selection. Add error  report‐
348985           ing  to slack connectivty problems. Cleanup slack's unicode conver‐
348986           sion
348987
348988         · c2f23bc45e Fix slack engine to run on python2.6
348989
348990       · ISSUE #38187: (curiositycasualty) username/password saved as  cleart‐
348991         ext when using URIs with user:pass@ format (refs: #38541)
348992
348993       · PR  #38541:  (techhat)  Strip user:pass from cached URLs @ 2017-01-04
348994         15:39:57 UTC
348995
348996         · 50242c7f17 Merge pull request #38541 from techhat/issue38187
348997
348998         · eae3a435dd Strip user:pass from cached URLs
348999
349000       · ISSUE #30454: (favoretti) Using yaml serializer inside jinja template
349001         results  in  unicode  being  prepended  by  '!!python/unicode' (refs:
349002         #30481, #38554)
349003
349004       · PR #38554: (multani) Fix YAML deserialization of unicode @ 2017-01-04
349005         15:31:16 UTC
349006
349007         · PR #30481: (basepi) Add yaml_safe jinja filter (refs: #38554)
349008
349009         · 325dc56e59 Merge pull request #38554 from multani/fix/30454
349010
349011         · 2e7f743371 yaml: support unicode serialization/deserialization
349012
349013         · df76113c5c jinja: test the "yaml" filter with ordered dicts
349014
349015         · f7712d417f Revert "Add yaml_safe filter"
349016
349017         · PR #38536: (UtahDave) add note about pyVmomi locale workaround
349018
349019       · ISSUE #38353: (Ch3LL) salt-cloud gce specifying  (refs: #38542)
349020
349021         · PR #38542: (Ch3LL) fix gce image bug
349022
349023       · ISSUE  #38449:  (swalladge)  Parsing  issues  in  list_tab (salt/mod‐
349024         ules/cron.py) (refs: #38487)
349025
349026       · PR #38487: (gtmanfred) Fix crontab issues with  spaces  @  2017-01-01
349027         20:33:29 UTC
349028
349029         · ec60f9c721 Merge pull request #38487 from gtmanfred/2016.3
349030
349031         · 048b9f6b9d add test
349032
349033         · c480c11528 allow spaces in cron env
349034
349035         · c529ec8c34 allow crons to have multiple spaces
349036
349037       · ISSUE #37684: (thusoy) State execution duration is timezone-dependent
349038         (refs: #38491)
349039
349040       · PR #38491: (gtmanfred) Use UTC for timing in case timezone changes  @
349041         2017-01-01 20:30:57 UTC
349042
349043         · c5ba11b5e0 Merge pull request #38491 from gtmanfred/timing
349044
349045         · 79368c7528 Use UTC for timing in case timezone changes
349046
349047       · ISSUE  #38472: (jinm) file.managed Unable to manage file: 'hash_type'
349048         (2016.3.4) (refs: #38503)
349049
349050       · PR #38503: (jinm) Hash type fallback for file management @ 2017-01-01
349051         17:36:51 UTC
349052
349053         · 86f0aa0bb3 Merge pull request #38503 from jinm/issue_38472_jinm
349054
349055         · 0cd9df299f Hash type fallback for file management
349056
349057       · PR  #38457: (bshelton229) Stops git.latest checking for local changes
349058         in a bare repo @ 2016-12-30 14:28:47 UTC
349059
349060         · ed2ba4bd1b Merge  pull  request  #38457  from  bshelton229/git-lat‐
349061           est-head-bug
349062
349063         · 558e7a771a  Stops  git.latest  checking for local changes in a bare
349064           repo
349065
349066       · PR #38385: (dragon788) Use unambigous long names with double dashes @
349067         2016-12-29 17:10:48 UTC
349068
349069         · 36e21b22cb  Merge  pull  request  #38385 from dragon788/2016.3-dou‐
349070           ble-dash
349071
349072         · 86c4b56f47 Newline for lint compat
349073
349074         · 9d9b686057 Address review comments, consistency of quotes
349075
349076         · df9bd5e7f9 Use unambigous long names with double dashes
349077
349078       · ISSUE #38209: (limited) Accepting a minion  causes  tornado  to  exit
349079         (refs: #38474)
349080
349081       · PR  #38474:  (cachedout)  Allow  an  existing  ioloop to be passed to
349082         salt-key @ 2016-12-29 16:28:51 UTC
349083
349084         · 59f2560d88 Merge pull request #38474 from cachedout/key_loop
349085
349086         · de504538e1 Allow an existing ioloop to be passed to salt-key
349087
349088       · ISSUE #38438: (jf) file.line with mode=delete breaks  on  empty  file
349089         (refs: #38467)
349090
349091       · PR  #38467:  (gtmanfred) file.line fail with mode=delete @ 2016-12-28
349092         20:00:33 UTC
349093
349094         · 3d0c752acd Merge pull request #38467 from gtmanfred/2016.3
349095
349096         · 7b7c6b3878 file.line fail with mode=delete
349097
349098       · PR #38434: (slinn0) Make sysctl.persist fail when failing  to  set  a
349099         value into the running kernel @ 2016-12-27 15:37:53 UTC
349100
349101         · 940025d5c4 Merge pull request #38434 from slinn0/issue_38433_fixes
349102
349103         · 22af87a3fc Fixes for https://github.com/saltstack/salt/issues/38433
349104
349105         · PR  #38421:  (rallytime)  Update deprecation notices to the correct
349106           version
349107
349108         · PR #38420: (rallytime) Removed  various  deprecation  notices  from
349109           salt/modules/* files (refs: #38421)
349110
349111       · ISSUE #38282: (sash-kan) file.managed fails when file (which contains
349112         utf-characters in the name) exists (refs: #38415)
349113
349114         · PR #38415: (terminalmage) file.managed: Fix failure  when  filename
349115           contains unicode chars
349116
349117       · PR #38419: (Ch3LL) fix scsci docs example @ 2016-12-22 18:57:51 UTC
349118
349119         · 2cdb59d055 Merge pull request #38419 from Ch3LL/fix_doc_scsi
349120
349121         · 234043b8bb fix scsci docs example
349122
349123         · PR #38407: (terminalmage) Improve pillar documentation
349124
349125       · ISSUE    #38372:    (fanirama)    Issue   with   cron.file.   Source:
349126         salt://path/to/crontab_file not found (refs: #38398)
349127
349128       · PR #38398: (terminalmage) Fix call to file.get_managed  in  cron.file
349129         state @ 2016-12-22 16:46:14 UTC
349130
349131         · 423b1fddff Merge pull request #38398 from terminalmage/issue38372
349132
349133         · c80dbaa914 Fix call to file.get_managed in cron.file state
349134
349135         · PR #38382: (heewa) Fix http.query when result has no text
349136
349137       · PR  #38390:  (meaksh) Add "try-restart" to fix autorestarting on SUSE
349138         systems @ 2016-12-21 16:06:24 UTC
349139
349140         · b74b5c7d38      Merge      pull      request      #38390       from
349141           meaksh/2016.3-fix-try-restart-for-autorestarting-on-SUSE-systems
349142
349143         · de6ec05ec0 add try-restart to fix autorestarting on SUSE systems
349144
349145       · PR #38221: (UtahDave) Fix default returner @ 2016-12-20 20:34:36 UTC
349146
349147         · 2c3a39760a     Merge     pull    request    #38221    from    Utah‐
349148           Dave/fix_default_returner
349149
349150         · 385640765b remove a blank line to satisfy linter
349151
349152         · 9c248aa14c validate return opt, remove default.
349153
349154         · 8bb37f9fe7 specify allowed types and default for "returner"
349155
349156         · 11863a4bfe add examples of default minion returners
349157
349158         · e7c6012655 add support for default returners using return
349159
349160       · PR #38288: (terminalmage) archive.extracted: don't try to cache local
349161         sources (2016.3 branch) @ 2016-12-18 13:07:11 UTC
349162
349163         · 09d9cff992   Merge   pull   request  #38288  from  terminalmage/ar‐
349164           chive-extracted-local-source-2016.3
349165
349166         · 845e3d0e75 Update tests to reflect change in cache behavior
349167
349168         · 5a08d7c70a archive.extracted: don't  try  to  cache  local  sources
349169           (2016.3 branch)
349170
349171       · PR  #38312:  (cro)  Backport feature allowing proxy config to live in
349172         pillar OR /etc/salt/proxy @ 2016-12-18 12:39:01 UTC
349173
349174         · bf37667f8a Merge pull request #38312 from cro/proxy_config_in_cfg
349175
349176         · 2006c4000e Typo
349177
349178         · 689d95b10f Backport feature allowing proxy config to live in pillar
349179           OR /etc/salt/proxy.
349180
349181       · ISSUE  #12788:  (whiteinge)  Comb through docs to replace :doc: roles
349182         with :ref: (refs: #38320)
349183
349184       · PR #38320: (rallytime)  Cleanup  doc  internal  markup  references  @
349185         2016-12-18 12:31:28 UTC
349186
349187         · c83db5a785     Merge    pull    request    #38320    from    rally‐
349188           time/cleanup-doc-refs
349189
349190         · 62978cb7a0 Don't check the doc/conf.py file for doc markup refs
349191
349192         · 770e732d76 Add a unit test to search for new doc markup refs
349193
349194         · 5c42a361a0 Remove ":doc:" references from all  doc/topics/installa‐
349195           tion/* files
349196
349197         · 23bce1c929 Remove ":doc:" references from all doc/topics/releases/*
349198           files
349199
349200         · 4aafa41d22 Remove ":doc:" references from a bunch of doc/* files
349201
349202         · 02bfe7912c Remove more ":doc:" references from doc/* files
349203
349204         · 6e32267d0c Remove ":doc:" references in salt/* files
349205
349206         · PR #38281: (mikejford) Add nick to args for create_multi
349207
349208       · ISSUE #38290: (dragon788) Need to  use  machine  automation  friendly
349209         output (refs: #38313)
349210
349211       · PR  #38313:  (dragon788)  2016.3 chocolatey fix @ 2016-12-16 17:20:39
349212         UTC
349213
349214         · 235682b1e6 Merge pull request #38313  from  dragon788/2016.3-choco‐
349215           latey-fix
349216
349217         · 1f5fc17551 Use machine readable output for list
349218
349219         · cdbd2fbe3c Added limit-output to eliminate false packages
349220
349221       · ISSUE  #38174: (NickDubelman) [syndic] Why can't a syndic node signal
349222         when all of it's minions have returned? (refs: #38279)
349223
349224       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
349225         #38279)
349226
349227       · PR  #38279: (rallytime) Add docs for syndic_wait setting @ 2016-12-15
349228         18:30:31 UTC
349229
349230         · 9e78ddc80e Merge pull request #38279 from rallytime/fix-38174
349231
349232         · 4a62d01577 Add docs for syndic_wait setting
349233
349234       · PR #38248: (meaksh) Successfully exit  of  salt-api  child  processes
349235         when SIGTERM is received @ 2016-12-15 09:16:27 UTC
349236
349237         · fc9e1dff35  Merge pull request #38248 from meaksh/salt-api-success‐
349238           fully-close-child-processes
349239
349240         · ee6eae9855 Successfully  exit  of  salt-api  child  processes  when
349241           SIGTERM.
349242
349243       · PR  #38254:  (terminalmage)  Also  check  if  pillarenv  is in opts @
349244         2016-12-15 09:10:24 UTC
349245
349246         · 3c718ed35e Merge pull request #38254  from  terminalmage/check-pil‐
349247           larenv
349248
349249         · fa9ad311c6 Also check if pillarenv is in opts
349250
349251         · PR  #38256:  (rallytime)  [2016.3]  Bump  latest release version to
349252           2016.11.1
349253
349254       · PR #38198: (vutny) Add missing requirements for running  unit  tests:
349255         libcloud and boto3 @ 2016-12-13 14:12:20 UTC
349256
349257         · 004e46afe7       Merge      pull      request      #38198      from
349258           vutny/unit-tests-require-libcloud-boto3
349259
349260         · a6098bac1a Remove note about SaltTesting installation, now it is in
349261           the requirements
349262
349263         · 004bff113e  Add  missing  requirements for running unit tests: lib‐
349264           cloud and boto3
349265
349266       · PR #38213: (rallytime) Skip test_cert_info tls unit test on pyOpenSSL
349267         upstream errors @ 2016-12-13 12:05:01 UTC
349268
349269         · 9d497bc74c Merge pull request #38213 from rallytime/skip-tls-test
349270
349271         · bdb807fc7c  Skip test_cert_info tls unit test on pyOpenSSL upstream
349272           errors
349273
349274       · PR #38224: (whiteinge) Allow CORS OPTIONS requests to be  unauthenti‐
349275         cated @ 2016-12-13 12:02:30 UTC
349276
349277         · 203109dd17       Merge      pull      request      #38224      from
349278           whiteinge/cors-options-unauthed
349279
349280         · de4d3227ab Allow CORS OPTIONS requests to be unauthenticated
349281
349282       · PR  #38223:  (whiteinge)  Add  root_dir  to  salt-api  file  paths  @
349283         2016-12-13 07:44:19 UTC
349284
349285         · PR  #37272:  (vutny)  Get  default  logging level and log file from
349286           default opts dict (refs: #38223)
349287
349288         · 721a5feccd      Merge      pull      request      #38223       from
349289           whiteinge/salt-api-root_dirs
349290
349291         · bfbf390c0e Add root_dir to salt-api file paths
349292
349293       · ISSUE  #38162:  (747project)  git_pillar  does  not detect changes to
349294         remote repository when told to update (refs: #38191)
349295
349296       · PR #38191: (terminalmage) Clarify  the  fact  that  git_pillar.update
349297         does not fast-forward @ 2016-12-12 09:45:48 UTC
349298
349299         · 70f7d22ad6 Merge pull request #38191 from terminalmage/issue38162
349300
349301         · 1ae543a98a   Clarify  the  fact  that  git_pillar.update  does  not
349302           fast-forward
349303
349304       · PR #38194: (vutny) Document the requirements for running ZeroMQ-based
349305         integration tests @ 2016-12-12 09:42:11 UTC
349306
349307         · 28171cbfc5   Merge   pull   request   #38194   from  vutny/integra‐
349308           tion-test-requirements-doc
349309
349310         · e9f419ff64 Document the requirements for running ZeroMQ-based inte‐
349311           gration tests
349312
349313       · PR  #38185:  (rallytime)  Back-port  #38181  to  2016.3  @ 2016-12-09
349314         22:27:44 UTC
349315
349316         · PR #38181: (rallytime) Reset socket default timeout to None  (fixes
349317           daemons_tests failures) (refs: #38185)
349318
349319         · a4ef037ab1 Merge pull request #38185 from rallytime/bp-38181
349320
349321         · 609f814454  Reset  socket  default  timeout  to  None  (fixes  dae‐
349322           mons_tests failures)
349323
349324       · PR #38163: (Ch3LL) enabled ec2 cloud tests @ 2016-12-09 18:01:57 UTC
349325
349326         · 65b2ad7b14 Merge pull request #38163 from Ch3LL/enabled_ec2_cloud
349327
349328         · be74c45463 enabled ec2 cloud tests
349329
349330       · PR #38177: (vutny) Correct cp.get_file_str docstring and add integra‐
349331         tion tests @ 2016-12-09 16:55:35 UTC
349332
349333         · b63f74e034 Merge pull request #38177 from vutny/fix-cp-get-file-str
349334
349335         · a449980672  Correct  cp.get_file_str  docstring and add integration
349336           tests
349337
349338       · PR #38153: (vutny) Master config includes may contain errors  and  be
349339         safely skipped @ 2016-12-08 17:43:34 UTC
349340
349341         · 7596313be0    Merge    pull    request   #38153   from   vutny/mas‐
349342           ter-includes-error-tolerance
349343
349344         · cd0154ee93 Master config includes may contain errors and be  safely
349345           skipped
349346
349347         · PR  #38134:  (rallytime)  Skip  daemon  unit  tests when running on
349348           Python 2.6
349349
349350       · ISSUE    #38091:    (tjyang)    [WARNING    ]    salt.loaded.int.mod‐
349351         ule.zenoss.__virtual__() is wrongly returning None.  (refs: #38102)
349352
349353       · PR  #38102:  (rallytime)  Add False + msg tuple return if requests is
349354         missing for zenoss module @ 2016-12-07 13:24:37 UTC
349355
349356         · d3d98fd4eb Merge pull request #38102 from rallytime/fix-38091
349357
349358         · 4f79d5a0d1 Add False + msg tuple return if requests is missing  for
349359           zenoss module
349360
349361       · ISSUE  #36707:  (do3meli)  slow  FreeBSD sysctl module with test=true
349362         (refs: #36794)
349363
349364       · PR #38104:  (rallytime)  Back-port  #36794  to  2016.3  @  2016-12-07
349365         13:23:48 UTC
349366
349367         · PR  #36794: (do3meli) FreeBSD sysctl module now handels config_file
349368           parameter in show method (refs: #38104)
349369
349370         · 8c8cbc2734 Merge pull request #38104 from rallytime/bp-36794
349371
349372         · c906c8a0d5 Pylint fixes
349373
349374         · da3ebf83e6 FreeBSD sysctl module now handels config_file  parameter
349375           in show method
349376
349377       · ISSUE  #35342:  (morganwillcock)  win_pkg:  refresh_db doesn't remove
349378         cached items which have been renamed or removed (refs: #38083)
349379
349380       · PR #38083: (twangboy) Only delete .sls files from winrepo-ng [DO  NOT
349381         MERGE FORWARD] @ 2016-12-06 14:13:35 UTC
349382
349383         · fbc87769b9 Merge pull request #38083 from twangboy/fix_refresh_db
349384
349385         · 978af6d83c Remove only .sls files from the cached winrepo-ng
349386
349387       · PR  #38059:  (rallytime)  Call  exec_test  for  the  Syndic daemon in
349388         tests.unit.daemons_test.py @ 2016-12-04 04:18:41 UTC
349389
349390         · PR #38057: (rallytime)  [2016.11]  Merge  forward  from  2016.3  to
349391           2016.11 (refs: #38059)
349392
349393         · PR  #38034:  (cachedout) Modify daemons test to use multiprocessing
349394           (refs: #38059)
349395
349396         · 9dcfdeef6b  Merge   pull   request   #38059   from   rallytime/dae‐
349397           mons-test-fix
349398
349399         · eb372b27d8 Add missing "not" statement: The last syndic test should
349400           assertFalse()
349401
349402         · 4e10f8e018 Call exec_test for the Syndic daemon in  tests.unit.dae‐
349403           mons_test.py
349404
349405       · ISSUE  #37939:  (Talkless)  file.comment  always  report  changes  in
349406         test=True mode (refs: #38039)
349407
349408       · PR #38039: (rallytime) Check to see if a line  is  already  commented
349409         before moving on @ 2016-12-02 20:08:35 UTC
349410
349411         · 9cd42b9b3f Merge pull request #38039 from rallytime/fix-37939
349412
349413         · 1da7aacfbe  Update unit tests to account for additional file.search
349414           call
349415
349416         · 8a685b1820 Check to see if a line is already commented before  mov‐
349417           ing on
349418
349419         · f2c045520d Write an integration test demonstrating the issue
349420
349421       · ISSUE #38037: (dmurphy18) pkg.latest and yumpkg.latest_version return
349422         incorrect package versions 2016.3 and 2016.11 (refs: #38045)
349423
349424       · PR #38045: (terminalmage) yumpkg.py: don't include  non-upgrade  ver‐
349425         sions found by "yum list available" @ 2016-12-02 20:07:38 UTC
349426
349427         · a34a763984 Merge pull request #38045 from terminalmage/issue38037
349428
349429         · 65289503d9 Simplify logic for matching desired pkg arch with actual
349430           pkg arch
349431
349432         · 3babbcda94 yumpkg.py: don't include non-upgrade versions  found  by
349433           "yum list available"
349434
349435         · PR  #38034:  (cachedout) Modify daemons test to use multiprocessing
349436           (refs: #38059)
349437
349438       · PR #37995: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
349439         2016-11-30 20:12:55 UTC
349440
349441         · 6942d5d95b Merge pull request #37995 from rallytime/merge-2016.3
349442
349443         · b44e17921c Merge branch '2015.8' into '2016.3'
349444
349445           · 7a7e36728f  Merge  pull request #37978 from terminalmage/ext_pil‐
349446             lar_first-docs
349447
349448             · 61ed9a8657 Add clarifying language to ext_pillar_first docs
349449
349450         · PR #38002: (laleocen) fix broken yaml code block
349451
349452       · ISSUE #35088: (Modulus) salt/cloud/ec2.py encoding  problems.  (refs:
349453         #37912)
349454
349455       · PR  #37912: (attiasr) fix encoding problem aws responses @ 2016-11-30
349456         18:10:30 UTC
349457
349458         · 3dd45fbedf    Merge    pull    request    #37912     from     atti‐
349459           asr/fix_aws_response_encoding
349460
349461         · ba4ec4e7f1 use Requests result encoding to encode the text
349462
349463         · abe4eb3b98 fix encoding problem aws responses
349464
349465       · PR #37950: (vutny) Set default Salt Master address for a Syndic (like
349466         for a Minion) @ 2016-11-30 18:09:04 UTC
349467
349468         · 69a74a4d2d  Merge  pull  request   #37950   from   vutny/fix-start‐
349469           ing-up-syndic
349470
349471         · 7d9bc9abce  syndic_master: correct default value, documentation and
349472           example config
349473
349474         · 92a7c7ed1b Set default Salt Master address for a Syndic (like for a
349475           Minion)
349476
349477         · PR  #37964: (terminalmage) Add clarification on expr_form usage and
349478           future deprecation
349479
349480       · ISSUE #37867: (tobiasBora)  Bug  into  lsb_release  that  crash  salt
349481         (refs: #37962)
349482
349483         · PR #37962: (cachedout) Catch possible exception from lsb_release
349484
349485       · ISSUE  #37945:  (gstachowiak) Missing exception handling in salt.mas‐
349486         ter.Maintenance. Process never completes. (refs: #37961)
349487
349488         · PR #37961: (cachedout) Handle empty tokens safely
349489
349490       · PR #37272: (vutny) Get  default  logging  level  and  log  file  from
349491         default opts dict (refs: #38223) @ 2016-11-28 23:04:20 UTC
349492
349493         · ea46639ce7   Merge   pull   request   #37272   from  vutny/fix-get‐
349494           ting-default-logging-opts
349495
349496         · e5ce52388a Fix description in the Salt Syndic usage info
349497
349498         · 518a3dd7ee Add unit  tests  for  Salt  parsers  processing  logging
349499           options
349500
349501         · 83d6a44254  Add ssh_log_file option to master config and documenta‐
349502           tion
349503
349504         · c8a0915460 Fix configuration example  and  documentation  for  syn‐
349505           dic_log_file option
349506
349507         · e64dd3ed6b Correct default attributes for various parser classes
349508
349509         · 82a2e216b3 Fix default usage string for Salt command line programs
349510
349511         · 45dffa292f  Fix  readding  and  updating logfile and pidfile config
349512           options for Salt API
349513
349514         · f47253c21b Fix reading and applying Salt Cloud  default  configura‐
349515           tion
349516
349517         · fad5bec936 Work with a copy of default opts dictionaries
349518
349519         · b7c24811e5 Fix log_level_logfile config value type
349520
349521         · 1bd76a1d96 Fix setting temporary log level if CLI option omitted
349522
349523         · 121848cc77 Fix obtaining log_granular_levels config setting
349524
349525         · 44cf07fec2  Make  CLI  options  take precedence for setting up log‐
349526           file_logger
349527
349528         · 61afaf1792 Fix setting option attributes when processing  log_level
349529           and log_file
349530
349531         · 3c60e2388e Fix processing of log_level_logfile config setting
349532
349533         · 55a0af5bbd  Use attribute functions for getting/setting options and
349534           config values
349535
349536         · c25f2d091e Fix getting Salt API default logfile option
349537
349538         · f2422373c1 Remove processing of unused and undocumented cli_*_log_*
349539           config options
349540
349541         · 2065e8311c  Get  default  logging  level and file from default opts
349542           dict
349543
349544       · PR #37925: (kontrolld) Fix missing  ipv6  options  centos  network  @
349545         2016-11-28 22:38:43 UTC
349546
349547         · f2f957da6c  Merge  pull request #37925 from kontrolld/add-ipv6-cen‐
349548           tos-network
349549
349550         · ac2b477412 Adding IPv6 functionality for CentOS /etc/sysconfig/net‐
349551           work
349552
349553       · ISSUE  #37059:  (basepi) Beacon fileserver operations cause scheduled
349554         jobs with fileserver operations to hang (refs: #37899)
349555
349556       · PR #37899: (DmitryKuzmenko) Clear functions context in schedule tasks
349557         for ZeroMQ.  @ 2016-11-28 22:23:45 UTC
349558
349559         · c07ad11279    Merge    pull   request   #37899   from   DSRCorpora‐
349560           tion/bugs/37059_schedule_task_hang
349561
349562         · 9497748546 Clear functions context in schedule tasks for ZeroMQ.
349563
349564       · ISSUE #37737: (b-harper) python client api CloudClient multiple calls
349565         needed (refs: #37928)
349566
349567       · PR  #37928:  (techhat)  Don't  modify self.opts directly @ 2016-11-28
349568         21:07:40 UTC
349569
349570         · a55519db40 Merge pull request #37928 from techhat/issue37737
349571
349572         · a09a60e89b Don't modify self.opts directly
349573
349574       · PR #37929: (gtmanfred) add list_nodes_min to nova driver @ 2016-11-28
349575         21:05:40 UTC
349576
349577         · 9d17f1ce90 Merge pull request #37929 from gtmanfred/2016.3
349578
349579         · c7d2c73503 add list_nodes_min to nova driver
349580
349581       · PR  #37926:  (kontrolld)  Fixes no IPv6 functionality in /etc/syscon‐
349582         fig/network @ 2016-11-28 20:40:00 UTC
349583
349584         · 3bb743b59f Merge pull request #37926  from  kontrolld/fix-ipv6-cen‐
349585           tos-network
349586
349587         · 3ed42e5b44 updated
349588
349589         · 3b3bc4f239 Fixes no IPv6 functionality in /etc/sysconfig/network
349590
349591       · PR #37921: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
349592         2016-11-28 19:54:40 UTC
349593
349594         · 271170a9f3 Merge pull request #37921 from rallytime/merge-2016.3
349595
349596         · 523a67c422 Merge branch '2015.8' into '2016.3'
349597
349598           · 4cdc6cf5ec Update earlier  release  channels'  docs  with  Carbon
349599             release notes (#37914)
349600
349601           · d31491a7fe  [2015.8]  Update  version  numbers  in doc config for
349602             2016.11.0 release (#37918)
349603
349604       · PR #37924: (cachedout) Update test  for  new  gem  ver  @  2016-11-28
349605         18:17:53 UTC
349606
349607         · 6cd6429ac0 Merge pull request #37924 from cachedout/fix_gem_states
349608
349609         · 894cca3427 Update test for new gem ver
349610
349611       · PR  #37916: (rallytime) [2016.3] Update version numbers in doc config
349612         for 2016.11.0 release @ 2016-11-28 17:09:08 UTC
349613
349614         · c35ba1f390    Merge    pull    request    #37916    from     rally‐
349615           time/doc-update-2016.3
349616
349617         · bd40592289  [2016.3]  Update  version  numbers  in  doc  config for
349618           2016.11.0 release
349619
349620       · ISSUE #37287: (aaronm-cloudtek) salt.states.ddns.present: 'NS' record
349621         type always returns as changed (refs: #37785)
349622
349623       · PR #37785: (aaronm-cloudtek) respect trailing dot in ddns name param‐
349624         eter @ 2016-11-28 14:02:10 UTC
349625
349626         · e13a2488c8      Merge      pull      request      #37785       from
349627           Cloudtek/ddns-respect-trailing-dot
349628
349629         · 262e3b3697 respect trailing dot in ddns name parameter
349630
349631       · ISSUE  #37870:  (fj40crawler)  salt.states.augeas.change returns None
349632         when test=True (refs: #37895)
349633
349634       · PR    #37895:    (fj40crawler)    Change     return     value     for
349635         salt/states/augeas.py  to be True instead of N… @ 2016-11-28 13:49:27
349636         UTC
349637
349638         · c03b389422      Merge      pull      request      #37895       from
349639           fj40crawler/fix-augeas-return-for-test
349640
349641         · ddc238df36  Fixed  augeas_test.py  to  match  True  v.s.  None  for
349642           test_change_in_test_mode
349643
349644         · ef75c459c0 Merge branch '2016.3' of github.com:saltstack/salt  into
349645           fix-augeas-return-for-test
349646
349647         · b0fe0cd256 Change return value for salt/states/augeas.py to be True
349648           instead of None for cases where salt is run with  test=True.  Fixes
349649           #37870
349650
349651       · PR  #37907:  (Talkless)  Fix server trust in test run of svn.latest @
349652         2016-11-28 13:47:39 UTC
349653
349654         · fdbc31e8d8 Merge pull request #37907 from Talkless/patch-2
349655
349656         · 072a319490 Fix server trust in test run of svn.latest
349657
349658       · PR #37896: (toanju) rh networking: add missing  values  @  2016-11-27
349659         10:30:35 UTC
349660
349661         · f39fdf443f Merge pull request #37896 from toanju/2016.3
349662
349663         · c95304188e rh networking: add missing values
349664
349665       · PR  #37886:  (bdrung)  Fix  various  spelling  mistakes  @ 2016-11-25
349666         02:59:36 UTC
349667
349668         · ea935c5a91 Merge pull request #37886 from bdrung/fix-typos
349669
349670         · 9a51ba5c5b Fix various spelling mistakes
349671
349672       · ISSUE #37732: (dhaines) list_semod() (from modules/selinux.py) incom‐
349673         patible with policycoreutils-2.5 (RHEL 7.3) (refs: #37736)
349674
349675       · PR  #37736:  (dhaines) handle semodule version >=2.4 (#37732) and fix
349676         typo @ 2016-11-24 01:44:20 UTC
349677
349678         · 371b0a86d9 Merge pull request #37736 from dhaines/issue-37732
349679
349680         · 7ef590a505 Update selinux.py
349681
349682         · 516a67e6a3 fix indexing error
349683
349684         · 4e49c1e991 fix typo
349685
349686         · b16f2d8400 handle semodule version >=2.4 (#37732) and fix typo
349687
349688       · PR #37797: (clan) check count of columns  after  split  @  2016-11-24
349689         01:28:59 UTC
349690
349691         · 87aeb66fbf Merge pull request #37797 from clan/extfs
349692
349693         · acf0f960ef check count of columns after split
349694
349695       · PR  #37762:  (twangboy)  Add  pre_versions  to chocolatey.installed @
349696         2016-11-24 01:27:29 UTC
349697
349698         · f7c7109152  Merge  pull  request  #37762  from  twangboy/fix_choco‐
349699           latey_state
349700
349701         · 9696b6dfa5 Use keyword args instead of relying on ordering
349702
349703         · 398eaa074d Add pre_versions to the available arguments
349704
349705       · PR  #37866:  (meaksh)  Backport  #37149 #36938 and #36784 to 2016.3 @
349706         2016-11-23 21:54:17 UTC
349707
349708         · PR #37857: (meaksh) Backport #37149 and  #36938  to  2015.8  (refs:
349709           #37866)
349710
349711         · PR #37856: (meaksh) Backport #36784 to 2015.8 (refs: #37866)
349712
349713         · PR  #37149: (dincamihai) Fix pkg.latest_version when latest already
349714           installed (refs: #37857, #37866)
349715
349716         · PR #36938: (wanparo) acl.delfacl: fix position of -X option to set‐
349717           facl (refs: #37857, #37866)
349718
349719         · PR  #36784:  (moio)  OS  grains  for  SLES  Expanded Support (refs:
349720           #37856, #37866)
349721
349722         · 56baa92d55      Merge      pull      request      #37866       from
349723           meaksh/2016.3-bp-37149-36938-36784
349724
349725         · 9d8d578109 Fix pkg.latest_version when latest already installed
349726
349727         · ffca0d491c - acl.delfacl: fix position of -X option to setfacl
349728
349729         · 3dfed6b841 Adjust linux_acl unit test argument ordering
349730
349731         · f185ecdde1 core.py: quote style fixed
349732
349733         · 8404d13424  Setting  up OS grains for SLES Expanded Support (SUSE's
349734           Red Hat compatible platform)
349735
349736       · ISSUE #32829: (tyhunt99) Dockerng appears to not be using docker reg‐
349737         istries pillar data (refs: #36893)
349738
349739       · PR  #37863:  (rallytime)  Back-port  #36893  to  2016.3  @ 2016-11-23
349740         17:09:09 UTC
349741
349742         · PR #36893: (tyhunt99) add option to force a  reauth  for  a  docker
349743           registry (refs: #37863)
349744
349745         · d0cc7f0d56 Merge pull request #37863 from rallytime/bp-36893
349746
349747         · 4c70534991 Add versionadded to reauth option in dockerng module
349748
349749         · 5ca2c388c2  added  documentation for the new reuth option in docker
349750           registry configuration
349751
349752         · 5b0c11ab47 add option to force a reauth for a docker registry
349753
349754         · PR #37847: (laleocen) add  multiline  encryption  documentation  to
349755           nacl
349756
349757       · ISSUE #37787: (elyulka) user.present state fails to change loginclass
349758         on FreeBSD (refs: #37827)
349759
349760         · PR #37827: (silenius) add missing chloginclass
349761
349762         · PR #37826: (rallytime) Update branch refs to more relevant branch
349763
349764         · PR #37822: (laleocen) add  documenation  for  multiline  encryption
349765           using nacl (refs: #37826)
349766
349767       · ISSUE  #19269:  (markuskramerIgitt)  Undocumented   feature names: of
349768         file.directory (refs: #37823)
349769
349770         · PR #37823: (rallytime) Add "names" option to file state docs: point
349771           users to highstate doc examples
349772
349773       · ISSUE #15697: (arthurlogilab) keystone.user_present should not re-set
349774         the password when user exists (refs: #37821)
349775
349776         · PR #37821: (rallytime) Clarify keystone.user_present password state
349777           docs with default behavior
349778
349779       · ISSUE #5999: (pille) libvirt.keys does not work (refs: #37820)
349780
349781         · PR #37820: (rallytime) Add some dependency documentation to libvirt
349782           docs
349783
349784       · PR #37772: (bdrung) Support initializing  OpenSSL  1.1  @  2016-11-21
349785         20:28:51 UTC
349786
349787         · 485270f74e Merge pull request #37772 from bdrung/openssl1.1
349788
349789         · 819c9658ed Support initializing OpenSSL 1.1
349790
349791       · ISSUE  #37383:  (edwardsdanielj)  Orchestration arguments (kwarg) not
349792         being interperted / How I learned to stop worrying  about  documenta‐
349793         tion and love experimenting (refs: #37817)
349794
349795         · PR  #37817:  (rallytime)  Update  orchestrate  runner file.copy doc
349796           example
349797
349798       · ISSUE #37653: (gravyboat)  Salt.cron  docs  don't  wrap  @hourly  and
349799         @daily correctly in quotes for the examples (refs: #37816)
349800
349801       · ISSUE  #31953:  (sjorge) Documentation for salt.states.cron is incor‐
349802         rect (refs: #32157)
349803
349804       · PR #37816:  (rallytime)  Back-port  #32157  to  2016.3  @  2016-11-21
349805         20:22:27 UTC
349806
349807         · PR #32157: (cachedout) Add quotes to cron doc (refs: #37816)
349808
349809         · c5d3d8b66a Merge pull request #37816 from rallytime/bp-32157
349810
349811         · d9c297119e Add quotes to cron doc
349812
349813       · PR  #37812:  (rallytime)  Back-port  #37790  to  2016.3  @ 2016-11-21
349814         18:46:40 UTC
349815
349816         · PR #37790: (sofixa) Update cloud/proxmox.rst with more options  and
349817           LXC (refs: #37812)
349818
349819         · 97e6b6aabe Merge pull request #37812 from rallytime/bp-37790
349820
349821         · ca3b6e7874 Update proxmox.rst with more options and LXC
349822
349823       · ISSUE  #37751:  (freach)  Documentation salt.states.dockerng.running:
349824         "privileged" property undocumented (refs: #37789)
349825
349826       · PR #37811:  (rallytime)  Back-port  #37789  to  2016.3  @  2016-11-21
349827         18:46:21 UTC
349828
349829         · PR #37789: (fedusia) issue: 37751 (refs: #37811)
349830
349831         · 27703c54bc Merge pull request #37811 from rallytime/bp-37789
349832
349833         · ba3fef48e1  fix comment
349834
349835         · a021f76a9b issue: 37751 Add documentation for option privileged
349836
349837       · PR  #37810:  (rallytime)  Back-port  #37775  to  2016.3  @ 2016-11-21
349838         18:45:53 UTC
349839
349840         · PR #37775: (calve) Document  python  argument  in  salt.states.vir‐
349841           tualenv_mod (refs: #37810)
349842
349843         · adac9d7c0c Merge pull request #37810 from rallytime/bp-37775
349844
349845         · 2bed91437b Document python argument in salt.states.virtualenv_mod
349846
349847       · ISSUE  #37742: (blaketmiller) Cannot match on nodegroup when checking
349848         minions (refs: #37763)
349849
349850         · PR #37763: (cachedout) Add nodegroup check to ckminions
349851
349852       · ISSUE #37725: (secumod) salt-call  incorrectly  parses  master  host‐
349853         name:port from minion config (refs: #37766)
349854
349855         · PR #37766: (cachedout) Fix ip/port issue with salt-call
349856
349857       · ISSUE  #33709:  (msummers42) Any/All Salt-SSH invocations in 2016.3.0
349858         Fails  with  AttributeError:  'module'  object   has   no   attribute
349859         'BASE_THORIUM_ROOTS_DIR' (refs: #37767)
349860
349861         · PR #37767: (cachedout) Add thorium path to syspaths
349862
349863       · PR  #37760:  (hu-dabao) Fix couchbase returner and add couple of more
349864         features @ 2016-11-18 00:28:23 UTC
349865
349866         · bff949f4e9 Merge pull request #37760 from hu-dabao/fix_cb_returner
349867
349868         · de372f277e 1. returner no need to check whether the jid exists  for
349869           external  job cache setup 2. add full_ret to return doc so that the
349870           document will be informative 3. make  ttl  as  a  config  attribute
349871           because  salt-minion does not have keep_jobs attribute 4. add pass‐
349872           word into config attribute 5. update the documents accordingly
349873
349874       · ISSUE #36629: (yhekma) The pillar run module does not  honor  saltenv
349875         (refs: #37738)
349876
349877       · PR  #37738:  (terminalmage) Allow pillar.get to retrieve fresh pillar
349878         data when saltenv passed @ 2016-11-17 23:13:04 UTC
349879
349880         · 1f976ac212 Merge pull request #37738 from terminalmage/issue36629
349881
349882         · da46678c51 Allow pillar.get to  retrieve  fresh  pillar  data  when
349883           saltenv passed
349884
349885         · PR  #37745:  (cro) Switch default filter tag for ONE resources from
349886           user only to all resources
349887
349888       · ISSUE #37498: (githubcdr) service.restart salt-minion fails on Ubuntu
349889         14.04.5 LTS (refs: #37748, #38587)
349890
349891         · PR  #37748:  (silenius)  check  for  SERVICE_DIR  in __virtual__ in
349892           salt.modules.daemontools
349893
349894       · ISSUE #37734: (Ch3LL) Joyent Cloud Size Issue (refs: #37735)
349895
349896       · PR #37735:  (Ch3LL)  change  size  and  image  of  joyent  profile  @
349897         2016-11-16 21:07:52 UTC
349898
349899         · fa7883115e Merge pull request #37735 from Ch3LL/fix_joyent_profile
349900
349901         · 9ef41dcdfc change size and image of joyent profile
349902
349903       · PR #37731: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
349904         2016-11-16 17:13:02 UTC
349905
349906         · 98e25c68aa Merge pull request #37731 from rallytime/merge-2016.3
349907
349908         · ec1389711f Merge branch '2015.8' into '2016.3'
349909
349910           · f417dbbe99 Merge pull request #37718 from terminalmage/docs
349911
349912             · 23b8b2a3f4 Fix incorrectly-formatted RST
349913
349914         · PR #37724: (cachedout) Warn on AES test for systems with > 1 core
349915
349916       · PR #37721: (terminalmage) Fix for pillar setting 'environment' key in
349917         __gen_opts() @ 2016-11-16 16:04:53 UTC
349918
349919         · 35655d521f Merge pull request #37721 from terminalmage/zd909
349920
349921         · acdd5513da Update git_pillar docs to reflect info from bugfix
349922
349923         · 433737d2dc Fix for pillar setting 'environment' key in __gen_opts()
349924
349925       · PR  #37719:  (terminalmage)  Fix  incorrectly-formatted  RST  (2016.3
349926         branch) @ 2016-11-16 08:20:53 UTC
349927
349928         · 99cda7c003 Merge pull request #37719 from terminalmage/docs-2016.3
349929
349930         · f163b4c724 Fix incorrectly-formatted RST
349931
349932       · PR #37694: (cachedout) Catch differences in git URLs in npm  state  @
349933         2016-11-16 01:56:18 UTC
349934
349935         · 8dea695c7c Merge pull request #37694 from cachedout/npm_git
349936
349937         · 0e3bc2366a Catch differences in git URLs in npm state
349938
349939       · ISSUE  #37665: (kluoto) boto_elb state fails as key is overwritten by
349940         the code (refs: #37705)
349941
349942       · PR #37705: (rallytime) Don't overwrite the "key" variable  passed  in
349943         to _listeners_present func @ 2016-11-15 21:26:37 UTC
349944
349945         · 329448ccd7 Merge pull request #37705 from rallytime/fix-37665
349946
349947         · 3b7e9c5e3b Don't overwrite the "key" variable passed in to _listen‐
349948           ers_present func
349949
349950       · PR #37707: (Ch3LL) add timeout increase on azure tests  @  2016-11-15
349951         21:24:25 UTC
349952
349953         · PR #37239: (Ch3LL) Fix cloud tests timeout (refs: #37707)
349954
349955         · ac9a316b50 Merge pull request #37707 from Ch3LL/fix_timeout_azure
349956
349957         · 363122c675 add timeout increase on azure tests
349958
349959       · PR #37704: (twangboy) Fix test disabled 2016.3 [DO NOT MERGE FORWARD]
349960         @ 2016-11-15 16:48:52 UTC
349961
349962         · 1ece265354 Merge pull request  #37704  from  twangboy/fix_test_dis‐
349963           abled_2016.3
349964
349965         · a0429cf839 Use nfsd instead of apsd for test_disabled
349966
349967       · PR #37690: (twangboy) Update pyzmq to 15.3.0 for 2016.3 [DO NOT MERGE
349968         FORWARD] @ 2016-11-15 03:10:36 UTC
349969
349970         · 44f05acbff    Merge    pull    request    #37690    from     twang‐
349971           boy/update_pyzmq_2016.3
349972
349973         · cf55342150 Update pyzmq to version 15.3.0
349974
349975       · PR  #37680:  (rallytime)  Back-port  #32965  to  2016.3  @ 2016-11-15
349976         02:56:46 UTC
349977
349978         · PR #32965: (kevinquinnyo) Fix 'present' option  when  used  without
349979           'key_type' (refs: #37680)
349980
349981         · a743d8b5e6 Merge pull request #37680 from rallytime/bp-32965
349982
349983         · 1865b13645 Fix 'present' option when used without 'key_type'
349984
349985       · ISSUE  #35964:  (edgan)  salt-ssh  doesn't  set  the  return  code to
349986         non-zero on highstate rendering error (refs: #35965)
349987
349988       · PR #37681:  (rallytime)  Back-port  #35965  to  2016.3  @  2016-11-14
349989         21:19:22 UTC
349990
349991         · PR  #35965:  (edgan) Set the return code to 1 on salt-ssh highstate
349992           errors (refs: #37681)
349993
349994         · 1c2d6ff293 Merge pull request #37681 from rallytime/bp-35965
349995
349996         · 700f3fa57f Set the return code to 1 on salt-ssh highstate errors
349997
349998       · PR #37668: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
349999         2016-11-14 15:43:25 UTC
350000
350001         · 1b456b55dc Merge pull request #37668 from rallytime/merge-2016.3
350002
350003         · ef684c6b02 Merge branch '2015.8' into '2016.3'
350004
350005         · a01b66556f Add docs for rotate_aes_key (#37641)
350006
350007       · ISSUE  #37492:  (JensRantil) Failing salt -b 1 minion state.highstate
350008         has wrong exit code (refs: #37625)
350009
350010       · PR #37625: (cachedout) Return with proper retcodes in  batch  mode  @
350011         2016-11-12 20:29:09 UTC
350012
350013         · 305e51d1c0 Merge pull request #37625 from cachedout/issue_37492
350014
350015         · b6031524e5 Return with proper retcodes in batch mode
350016
350017       · ISSUE  #34547:  (sebw)  salt-cloud deployment fails when deploy: True
350018         (refs: #37607)
350019
350020       · PR #37639:  (rallytime)  Back-port  #37607  to  2016.3  @  2016-11-11
350021         20:29:20 UTC
350022
350023         · PR  #37607:  (techhat)  Try the connection again, in case it's been
350024           reset (refs: #37639)
350025
350026         · PR #35673: (cro) Proxies  don't  handle  reusing  the  SmartConnect
350027           instances very well.  D… (refs: #37607)
350028
350029         · PR #34059: (alexbleotu) Vmware common gh (refs: #37607)
350030
350031         · 7510cd4da9 Merge pull request #37639 from rallytime/bp-37607
350032
350033         · 9914c93bc4 Pylint: Remove kwargs that are not in the 2016.3 branch
350034
350035         · d941e9354d Disable pylint warning
350036
350037         · 940ee49a0b Lint fix
350038
350039         · 69893f0c38 Try the connection again, in case it's been reset
350040
350041       · ISSUE  saltstack/salt#37118:  (gtmanfred)  group  in file.find module
350042         unable to be a list (refs: #37349)
350043
350044       · ISSUE #37118: (gtmanfred) group in file.find module unable  to  be  a
350045         list (refs: #37349)
350046
350047       · PR  #37638:  (rallytime)  Back-port  #37349  to  2016.3  @ 2016-11-11
350048         20:29:01 UTC
350049
350050         · PR #37349: (haeac) Pull request for Bug #37118 (refs: #37638)
350051
350052         · 24ca96010d Merge pull request #37638 from rallytime/bp-37349
350053
350054         · ba2105bc39 Fix for Bug #37118, the wrong parameter was  being  used
350055           to convert the group name to group id.
350056
350057       · ISSUE  #37643:  (Ch3LL) digital ocean list_keypairs limits to 20 keys
350058         (refs: #37644)
350059
350060       · PR #37644: (Ch3LL) digital ocean list_keypairs:  increase  limit  for
350061         ssh keys parsed @ 2016-11-11 20:28:46 UTC
350062
350063         · e1e8b81d16 Merge pull request #37644 from Ch3LL/fix_37643
350064
350065         · c02961a2f5 list_keypairs: increase limit for ssh keys parsed
350066
350067       · ISSUE  #37541:  (yhekma) salt-minion does not clean up temp files for
350068         templates (refs: #37540, #37640)
350069
350070       · PR #37640: (rallytime) Add known issue  #37541  to  2016.3.4  release
350071         notes @ 2016-11-11 20:28:12 UTC
350072
350073         · a97c2ad34b     Merge    pull    request    #37640    from    rally‐
350074           time/update-release-notes
350075
350076         · 6d6de12aff Grammatical fix
350077
350078         · 24d7f20e16 Add known issue #37541 to 2016.3.4 release notes
350079
350080       · PR #37642: (cro) Forward-port change from 2015.8 adding release  note
350081         for rotate_aes_key @ 2016-11-11 20:27:07 UTC
350082
350083         · fab3eaa237 Merge pull request #37642 from cro/rotate_aes_doc
350084
350085         · 1ca5b958c6  Forward-port change from 2015.8 adding release note for
350086           rotate_aes_key
350087
350088       · ISSUE #37628: (TronPaul) [git 2016.3] Refreshing of an s3 file server
350089         results in an exception (refs: #37629)
350090
350091       · PR  #37629:  (TronPaul)  fix  __opts__  and  provider  being  None in
350092         salt.utils.aws:get_location @ 2016-11-11 09:49:47 UTC
350093
350094         · 4c07b3534a Merge pull request #37629 from TronPaul/fix-s3fs-opts
350095
350096         · a452cded20 fix __opts__ and provider being None issue
350097
350098       · PR #37481: (thatch45) Raet internal client reference fix @ 2016-11-11
350099         04:39:41 UTC
350100
350101         · 200d9fcb6e Merge pull request #37481 from thatch45/raet_client
350102
350103         · 50d911160b Attempted fix, needs user verification
350104
350105       · PR #37611: (jeanpralo) Fix cmd batch raw @ 2016-11-11 02:53:58 UTC
350106
350107         · b14faf1c68     Merge     pull    request    #37611    from    jean‐
350108           pralo/fix-cmd-batch-raw
350109
350110         · 4f16840ef1   add   integration    test    for    salt.client.Local‐
350111           Client.cmd_batch
350112
350113         · ead47e4bba update ret dict to avoid hanging
350114
350115         · 0a2f153b6e fix dict key for raw support to avoid exception
350116
350117       · PR  #37614:  (gtmanfred)  remove redundant code @ 2016-11-11 02:49:13
350118         UTC
350119
350120         · 35c8333d04 Merge pull request #37614 from gtmanfred/2016.3
350121
350122         · 71c2df89a9 remove redundent code
350123
350124       · PR #37627: (cachedout) Exempt pip.iteritems from test_valid_docs test
350125         @ 2016-11-11 02:48:37 UTC
350126
350127         · 4fab707bdd Merge pull request #37627 from cachedout/pr-36706
350128
350129         · 94df2f8e6f Exempt pip.iteritems from test_valid_docs test
350130
350131       · ISSUE #36644: (b1naryth1ef) env_vars not properly validated/casted to
350132         strings w/ virtualenv.manage/pip.install (refs: #36706)
350133
350134       · PR #36706: (siccrusher) Add  basic  sanity  checks  for  env_vars  in
350135         pip.install function @ 2016-11-11 02:47:16 UTC
350136
350137         · ee74f3116e     Merge     pull     request    #36706    from    sic‐
350138           crusher/fix_env_var_validation
350139
350140         · fb27f8b69e Revert change
350141
350142         · 79f3e83f8d Use fully-qualified path for six
350143
350144         · 0ca1222833 Update pip.py
350145
350146         · b15de371c1 * Ensure src is python3 compatible
350147
350148         · 0976a2d1ae * Before passing on the env_vars dictionary  ensure  all
350149           values are   strings. Fixes #36644
350150
350151       · ISSUE #37491: (JensRantil) "Failed to authenticate! ..." error should
350152         exit non-zero (refs: #37626)
350153
350154       · PR #37626: (cachedout) Exit with proper retcode on hard client  fail‐
350155         ures @ 2016-11-11 02:38:47 UTC
350156
350157         · 902a97575e Merge pull request #37626 from cachedout/issue_37491
350158
350159         · bab9a729b1 Exit with proper retcode on hard client failures
350160
350161       · PR  #37617:  (terminalmage)  Clarify  docs for git_pillar dynamic env
350162         feature @ 2016-11-11 01:52:52 UTC
350163
350164         · 845f835177 Merge pull  request  #37617  from  terminalmage/git_pil‐
350165           lar-docs
350166
350167         · 8cdf5dbb51 Clarify docs for git_pillar dynamic env feature
350168
350169       · PR #36627: (sjmh) Skip rest of loop on failed func match @ 2016-11-10
350170         23:47:12 UTC
350171
350172         · 3079d78332      Merge      pull      request      #36627       from
350173           sjmh/fix/auth_skip_nomatch
350174
350175         · b3baaf30d0 Skip rest of loop on failed func match
350176
350177       · PR  #37600: (mcalmer) change TIMEZONE on SUSE systems (bsc#1008933) @
350178         2016-11-10 21:54:04 UTC
350179
350180         · a71e7c77b3  Merge  pull  request  #37600   from   mcalmer/fix-time‐
350181           zone-on-SUSE
350182
350183         · 3530b542f0 change TIMEZONE on SUSE systems (bsc#1008933)
350184
350185       · ISSUE  #37238:  (cmclaughlin) Restarting master causes minion to hang
350186         (refs: #37438, #37602)
350187
350188       · ISSUE #37018:  (tsaridas)  get  events  from  python  (refs:  #37438,
350189         #37602)
350190
350191       · PR  #37602:  (DmitryKuzmenko)  Handle  master  restart in appropriate
350192         places using salt.event listener.  @ 2016-11-10 21:53:20 UTC
350193
350194         · PR #37438: (DmitryKuzmenko) Fix for  #37238  salt  hang  on  master
350195           restart (refs: #37602)
350196
350197         · 39b75878cf    Merge    pull   request   #37602   from   DSRCorpora‐
350198           tion/bugs/37238_salt_hang_on_master_restart
350199
350200         · d3d987b19c  Handle  master  restart  in  appropriate  places  using
350201           salt.event listener.
350202
350203       · PR  #37608: (gtmanfred) allow multiline returns from docker for mac @
350204         2016-11-10 21:48:59 UTC
350205
350206         · 019e1a721b Merge pull request #37608 from gtmanfred/2016.3
350207
350208         · 74aee1e372 allow multiline returns from docker for mac
350209
350210       · ISSUE #37592: (craigafinch) State git.latest does not work  with  SSH
350211         (refs: #37604)
350212
350213       · ISSUE  #37551:  (viict)  git.latest  "Not a valid commit name" (refs:
350214         #37604, #37571)
350215
350216         · PR #37604: (terminalmage) Documentation  improvements  and  correc‐
350217           tions
350218
350219         · PR #37579: (pass-by-value) Use existing VM's VDD size if not speci‐
350220           fied in the cloud profile
350221
350222       · ISSUE #37541: (yhekma) salt-minion does not clean up temp  files  for
350223         templates (refs: #37540, #37640)
350224
350225       · PR   #37540:  (yhekma)  Added  prefix  to  tempfile  for  template  @
350226         2016-11-10 00:37:18 UTC
350227
350228         · fdd13b4145 Merge pull request #37540 from yhekma/2016.3
350229
350230         · 93a59f8034 Added prefix to tempfile for template
350231
350232       · ISSUE #37084:  (aaronm-cloudtek)  x509.certificate_managed  does  not
350233         work with m2crypto >=0.25 (refs: #37578)
350234
350235         · PR #37578: (clinta) Update for m2crypto changes removing lhash
350236
350237         · PR #37584: (clinta) Fix eauth example for limiting args
350238
350239       · ISSUE  #37551:  (viict)  git.latest  "Not a valid commit name" (refs:
350240         #37604, #37571)
350241
350242         · PR #37571: (terminalmage) Add a test to ensure we don't  check  for
350243           fast-forward before fetching
350244
350245       · ISSUE  #33645:  (ketzacoatl)  saltutil.sync_all  does not sync custom
350246         pillar modules to masterless minions (refs: #33833)
350247
350248       · ISSUE #25297: (Akilesh1597) perform 'refresh_pillar'  as  a  part  of
350249         'sync_all' (refs: #25361, #37521)
350250
350251       · PR  #37553:  (rallytime)  Back-port  #37521  to  2016.3  @ 2016-11-08
350252         23:11:07 UTC
350253
350254         · PR #37521: (genuss) refresh_pillar() should be called  always  with
350255           refresh=True during saltutil.sync_all (refs: #37553)
350256
350257         · PR #33833: (terminalmage) Support syncing pillar modules to master‐
350258           less minions (refs: #37521)
350259
350260         · PR #25361: (tedski) perform refresh_pillar as part of sync_all when
350261           refresh=True (refs: #37521)
350262
350263         · b01c247ea9 Merge pull request #37553 from rallytime/bp-37521
350264
350265         · 30f92b05f4 refresh_pillar() should be called always
350266
350267         · PR  saltstack/salt#37549:  (Mrten)  sqlite  is  not found in 2015.8
350268           (refs: #37565)
350269
350270       · PR #37565:  (rallytime)  Back-port  #37549  to  2016.3  @  2016-11-08
350271         23:10:25 UTC
350272
350273         · PR #37549: (Mrten) sqlite is not found in 2015.8 (refs: #37565)
350274
350275         · 694df30d40 Merge pull request #37565 from rallytime/bp-37549
350276
350277         · c92a90b8e5 Update sqlite3.py
350278
350279         · fb76557a2a sqlite is not found in 2015.8
350280
350281       · ISSUE  #37511: (jdelic) service.dead now only operates if the service
350282         file exists (refs: #37562)
350283
350284         · PR #37562: (terminalmage) Fix regression in service.dead state
350285
350286       · ISSUE #37554: (sjmh) salt-api doesn't dynamically re-read  nodegroups
350287         configuration (refs: #37560)
350288
350289         · PR #37560: (whiteinge) Skip config type checking for sdb values
350290
350291         · PR  #37556:  (rallytime)  Don't  pass  the  vpc id to boto.vpc.cre‐
350292           ate_internet_gateway func
350293
350294         · PR #37543: (multani) Documentation rendering fixes
350295
350296       · ISSUE saltstack/salt#31081: (JensRantil) salt.modules.file.line docu‐
350297         mentation unclarities (refs: #37457)
350298
350299       · PR #37457: (rallytime) Fixup file.line docs to be more clear and con‐
350300         sistent @ 2016-11-08 00:29:20 UTC
350301
350302         · 96b8b9a849 Merge pull request #37457 from rallytime/fix-31081
350303
350304         · 25821bb8db Clarify which modes use "before", "after", and  "indent"
350305           options
350306
350307         · 8b2d2b9e7b Clarify file.line state docs as well
350308
350309         · b2615892eb  Move note about using mode=insert with location options
350310           to mode section
350311
350312         · db0b0cefb8 Fixup file.line docs to be more clear and consistent
350313
350314       · ISSUE #35799: (davegiles) dsc.apply_config hangs (no error) on  empty
350315         directory on target (refs: #37526)
350316
350317       · PR  #37526: (twangboy) Remove loop from dsc.apply_config @ 2016-11-08
350318         00:23:11 UTC
350319
350320         · 7de790ffed Merge pull request #37526 from twangboy/fix_35799
350321
350322         · fc4260911c Remove unnecessary format
350323
350324         · c934a2bfa7 Remove the loop from apply_config
350325
350326         · PR saltstack/salt#37515: (rallytime) [carbon]  Merge  forward  from
350327           2016.3 to carbon (refs: #37534)
350328
350329       · PR  #37534: (rallytime) Back-port fix needed from #37515 @ 2016-11-08
350330         00:14:46 UTC
350331
350332         · PR #37515: (rallytime) [carbon] Merge forward from 2016.3 to carbon
350333           (refs: #37534)
350334
350335         · 94811df2ea     Merge    pull    request    #37534    from    rally‐
350336           time/bp-merge-foward-fix
350337
350338         · d1b2af1d69 Add missing source_hash_name args to a couple funcs
350339
350340       · PR #37533: (whiteinge) Return a 504 response instead of 500 for  Salt
350341         timeouts @ 2016-11-08 00:14:15 UTC
350342
350343         · 17adbb0c9f       Merge      pull      request      #37533      from
350344           whiteinge/salt-api-504-timeouts
350345
350346         · 63226aeda6 Return a 504 response instead of 500 for Salt timeouts
350347
350348       · ISSUE  saltstack/salt#36679:  (lorengordon)  Command   'Import-Module
350349         ServerManager'   failed   with   return   code:   1   (refs:  #`salt‐
350350         stack/salt`#36736`_`_, #36736)
350351
350352         · PR saltstack/salt#36736: (m03) Fix  issue  36679  win_servermanager
350353           error (refs: #37529)
350354
350355       · PR  #37529:  (lorengordon)  Backport: PR 36736 to 2016.3 @ 2016-11-08
350356         00:04:10 UTC
350357
350358         · PR #36736: (m03) Fix issue 36679 win_servermanager error
350359
350360         · a9f03eee6f Merge pull request #37529 from lorengordon/bp-36736
350361
350362         · 21c2664b6a Fix issue 36679 win_servermanager failure
350363
350364       · ISSUE #37444: (Tanoti) Returning False from __virtual__ in a returner
350365         does  not  return  expected error (refs: #`saltstack/salt`#37502`_`_,
350366         #37519, #37502)
350367
350368         · PR saltstack/salt#37502: (cachedout) Log proper message on  return‐
350369           ers that cannot be loaded (refs: #37519)
350370
350371       · PR  #37519: (rallytime) Update returner __virtual__() return messages
350372         for loader @ 2016-11-07 23:06:23 UTC
350373
350374         · 19475aada6    Merge    pull    request    #37519    from     rally‐
350375           time/returner-load-errors
350376
350377         · fb261a31f3 Update returner __virtual__() return messages for loader
350378
350379       · ISSUE #35016: (pingangit) TypeError: save_minions() got an unexpected
350380         keyword argument 'syndic_id' (refs: #37527)
350381
350382       · PR #37527: (rallytime) Add syndic_id=None kwarg to save_minions funcs
350383         in returners @ 2016-11-07 23:04:03 UTC
350384
350385         · fefdfab850 Merge pull request #37527 from rallytime/fix-35016
350386
350387         · 2944b244aa  Add  syndic_id=None  kwarg  to  save_minions  funcs  in
350388           returners
350389
350390         · PR #37530: (gtmanfred) fix Lithium to 2015.5.0
350391
350392       · PR #37514: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
350393         2016-11-07 16:51:06 UTC
350394
350395         · 743164844d Merge pull request #37514 from rallytime/merge-2016.3
350396
350397         · 41166aede4 Merge branch '2015.8' into '2016.3'
350398
350399         · c505a059ef [2015.8] Doc version updated to 2016.3.4 (#37482)
350400
350401       · ISSUE #36713: (Tanoti) ExtraData: unpack(b) received extra data after
350402         upgrading to 2016.3.3 (refs: #37503)
350403
350404       · PR #37503:  (cachedout)  Catch  loader  error  on  returners  without
350405         save_load @ 2016-11-07 09:33:57 UTC
350406
350407         · 2d924d0820 Merge pull request #37503 from cachedout/issue_36713
350408
350409         · 5f7f971b2c Catch loader error on returners without save_load
350410
350411       · ISSUE  #37448:  (alisson276) In 'salt/key' events there are acts that
350412         never happen (refs: #37499)
350413
350414       · PR #37499: (cachedout) Clarify docs on salt-key events  @  2016-11-07
350415         09:33:20 UTC
350416
350417         · d95bf59f97  Merge pull request #37499 from cachedout/key_docs_clar‐
350418           ify
350419
350420         · 2758e74785 Clarify docs on salt-key events
350421
350422       · PR #37500: (cachedout) Remove unused flag @ 2016-11-07 09:33:04 UTC
350423
350424         · 1dd1408ae6    Merge    pull    request    #37500    from    cached‐
350425           out/remove_include_errors
350426
350427         · 6c705b11e0 Remove unused flag
350428
350429       · ISSUE #37444: (Tanoti) Returning False from __virtual__ in a returner
350430         does not return expected  error  (refs:  #`saltstack/salt`#37502`_`_,
350431         #37519, #37502)
350432
350433       · PR #37502: (cachedout) Log proper message on returners that cannot be
350434         loaded @ 2016-11-07 09:32:45 UTC
350435
350436         · 4b6f1ab1c4 Merge pull request #37502 from cachedout/issue_37444
350437
350438         · 4c5ab057ce Remove debugging
350439
350440         · 17d01e4f4c Log proper message on returners that cannot be loaded
350441
350442       · ISSUE #37389: (d101nelson) Some core grains are inaccurate or  incom‐
350443         plete for Solaris (refs: #37472)
350444
350445       · PR  #37494:  (sjorge)  Forgot  to  update  os_family  map in #37472 @
350446         2016-11-06 22:18:54 UTC
350447
350448         · PR #37472:  (sjorge)  2016.3  solaris  grains  improvements  (refs:
350449           #37494)
350450
350451         · 2422dafd52 Merge pull request #37494 from sjorge/2016.3-osfam_map
350452
350453         · 96ba545492 Forgot to update os_family map in #37472
350454
350455       · PR  #37496:  (mcalmer)  fix  status  handling  in sysv init scripts @
350456         2016-11-06 22:18:00 UTC
350457
350458         · 41bd8e3f52 Merge pull request #37496  from  mcalmer/fix-status-han‐
350459           dling-in-sysv-init-scripts
350460
350461         · 1fb2c4dfcf fix status handling in sysv init scripts
350462
350463       · PR   #37497:   (terminalmage)  Update  2016.3.5  release  notes  with
350464         source_hash_name explanation @ 2016-11-06 22:17:40 UTC
350465
350466         · e741a773a5   Merge   pull    request    #37497    from    terminal‐
350467           mage/release_notes
350468
350469         · c08038d9ea  Update  2016.3.5  release  notes  with source_hash_name
350470           explanation
350471
350472       · PR #37486: (twangboy) Add requirement for PowerShell 3 on  Windows  @
350473         2016-11-06 06:01:07 UTC
350474
350475         · f4426c2233 Merge pull request #37486 from twangboy/fix_win_docs
350476
350477         · 9e0631a1ae  Add  docs  denoting the requirement for at least Power‐
350478           Shell 3
350479
350480       · PR #37493: (cachedout) Add sdb support to minion and master configs @
350481         2016-11-06 06:00:18 UTC
350482
350483         · a1f355a569  Merge  pull  request  #37493 from cachedout/minion_mas‐
350484           ter_sdb
350485
350486         · 9761a462c2 Add sdb support to minion and master configs
350487
350488       · ISSUE #31135: (jeffreyctang) file.line   mode=replace breaks on empty
350489         file. (refs: #37452)
350490
350491       · PR  #37452:  (rallytime) file.line with mode=replace on an empty file
350492         should return False, not stacktrace @ 2016-11-06 01:55:11 UTC
350493
350494         · be93710fee Merge pull request #37452 from rallytime/fix-31135
350495
350496         · c792f76d2f Bump log level from debug to warning on empty file
350497
350498         · 5f181cf00d file.line with mode=replace  on  an  empty  file  should
350499           return False
350500
350501         · 94a00c66eb Write a unit test demonstrating stack trace in #31135
350502
350503       · ISSUE  #37001:  (phil123456) URGENT : archive.extracted does not work
350504         anymore (refs: #37081, #saltstack/salt`#37081`_)
350505
350506       · ISSUE #29010:  (The-Loeki)  file.managed  download  failing  checksum
350507         testing for Ubuntu initrd w/source_hash (refs: #37469)
350508
350509         · PR   saltstack/salt#37081:   (terminalmage)  Fix  archive.extracted
350510           remote source_hash verification (refs: #37469)
350511
350512       · PR #37469: (terminalmage) Rewrite file.extract_hash  to  improve  its
350513         matching ability @ 2016-11-06 01:50:01 UTC
350514
350515         · PR  #37081: (terminalmage) Fix archive.extracted remote source_hash
350516           verification (refs: #37469)
350517
350518         · 129b0387e6 Merge pull request #37469 from terminalmage/issue29010
350519
350520         · a3f38e5a9f Update file.extract_hash unit tests
350521
350522         · b26b528f79 Add the source_hash_name param to file.managed states
350523
350524         · 52fe72d402 Rewrite file.extract_hash
350525
350526       · ISSUE #37389: (d101nelson) Some core grains are inaccurate or  incom‐
350527         plete for Solaris (refs: #37472)
350528
350529       · PR #37472: (sjorge) 2016.3 solaris grains improvements (refs: #37494)
350530         @ 2016-11-06 01:46:10 UTC
350531
350532         · 9426b9d5c4      Merge      pull      request      #37472       from
350533           sjorge/2016.3-solaris-grains
350534
350535         · 2958f5ce52 detect and properly handle OmniOS
350536
350537         · 37c3a7f5ab handle Oracle Solaris better
350538
350539         · 69706d32be parse minorrelease if it has a / in it
350540
350541         · d1cf4a0e56  improve regex for parsing /etc/release using files from
350542           Solaris 8 SPARC and Solaris 10
350543
350544         · 88eddef765 some more cleanup for smartos
350545
350546         · d3ff39f09c improve smartos os version grains
350547
350548       · PR #37478: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
350549         2016-11-04 20:30:08 UTC
350550
350551         · 4ba63aba48 Merge pull request #37478 from rallytime/merge-2016.3
350552
350553         · 3483a445f2 Merge branch '2015.8' into '2016.3'
350554
350555           · 35888c2e30 Merge pull request #37408 from terminalmage/issue37286
350556
350557             · 4e4a05731e Strip slashes from gitfs mountpoints
350558
350559           · b6c57c6c8d Merge pull request #37418 from terminalmage/issue36849
350560
350561             · 740bc54239   Do  not  use  compression  in  tornado  httpclient
350562               requests
350563
350564           · 7fba8aaa7e Merge pull request #37441 from rallytime/bp-37428
350565
350566             · 6fe3ef49de Fix incorrect reference of __utils__ in salt.utils
350567
350568         · PR #37485: (rallytime) Get release notes started for 2016.3.5
350569
350570         · PR #37483: (rallytime) [2016.3] Doc version updated to 2016.3.4
350571
350572       · ISSUE #37123: (nevins-b) file.recurse state doesn't  support  pulling
350573         from other environments (refs: #37121)
350574
350575       · PR #37121: (nevins-b) allow the file.recurse state to support saltenv
350576         @ 2016-11-04 05:59:28 UTC
350577
350578         · 580eca709b Merge pull request #37121 from nevins-b/2016.3
350579
350580         · 99d2c360ed making messaging in tests match new return
350581
350582         · bc4b0e7cda adding test for saltenv in file.recurse source url
350583
350584         · 3315b67075 fixing saltenv if not set in url
350585
350586         · a9683cbbd8  allow  the  file.recurse  state  to   support   saltenv
350587           (salt://example/dir?saltenv=dev)
350588
350589       · PR  #37426:  (jfindlay)  Wait  for  macOS to change system settings @
350590         2016-11-04 04:35:52 UTC
350591
350592         · PR #37351: (jfindlay) modules.mac_power: give macOS time to  change
350593           setting (refs: #37426)
350594
350595         · 766b1437c2 Merge pull request #37426 from jfindlay/mac_sleep
350596
350597         · 43a8e199bf modules.mac_power: wait for system to make change
350598
350599         · feabca6e0b modules.mac_system: wait for system to make change
350600
350601         · 0213eb9a07 utils.mac_utils: add confirm_updated
350602
350603       · ISSUE  #37238:  (cmclaughlin) Restarting master causes minion to hang
350604         (refs: #37438, #37602)
350605
350606       · ISSUE #37018:  (tsaridas)  get  events  from  python  (refs:  #37438,
350607         #37602)
350608
350609       · PR  #37438:  (DmitryKuzmenko)  Fix  for  #37238  salt  hang on master
350610         restart (refs: #37602) @ 2016-11-04 04:10:51 UTC
350611
350612         · 9eab5c8f71   Merge   pull   request   #37438    from    DSRCorpora‐
350613           tion/bugs/37238_salt_hang_on_master_restart
350614
350615         · f253d3ce4a  Auto  reconnect  salt  to  master if the connection was
350616           lost.
350617
350618         · PR saltstack/salt#31207: (thusoy) Remove error logging  of  missing
350619           boto libraries (refs: #37440)
350620
350621       · PR  #37440:  (rallytime)  Back-port  #31207  to  2016.3  @ 2016-11-04
350622         04:09:33 UTC
350623
350624         · PR #31207: (thusoy) Remove error logging of missing boto  libraries
350625           (refs: #37440)
350626
350627         · 9aa7073f70 Merge pull request #37440 from rallytime/bp-31207
350628
350629         · c71ae61271 Remove error logging of missing boto libraries
350630
350631       · PR  #37442: (twangboy) Create paths.d directory @ 2016-11-04 04:07:19
350632         UTC
350633
350634         · edbfadca21 Merge pull request #37442 from  twangboy/fix_osx_postin‐
350635           stall
350636
350637         · 8091a3065e Create paths.d directory
350638
350639       · PR  #37445:  (twangboy)  Check  for Server os before checking [DO NOT
350640         MERGE FORWARD] @ 2016-11-04 04:04:49 UTC
350641
350642         · afb1b3cee5    Merge    pull    request    #37445    from     twang‐
350643           boy/fix_import_error_2016.3
350644
350645         · c0d5ebdd8a Check for Server os before checking
350646
350647       · PR  #37446:  (twangboy)  Detect VC++ for Python on Win32 @ 2016-11-04
350648         04:04:02 UTC
350649
350650         · 7a9f95ab3b Merge pull request #37446 from twangboy/fix_build_32
350651
350652         · 2de69f48f8 Detect VC for Python correctly on 32bit Windows
350653
350654       · ISSUE  saltstack/salt#36961:  (nullify005)  boto_secgroup  assumes  a
350655         string  when  checking  ip_protocol  validity when not tcp|udp|all|-1
350656         (refs: #37447)
350657
350658       · PR #37447: (rallytime) Cast ip_protocol rule as a str() in  boto_sec‐
350659         group.present @ 2016-11-04 04:03:45 UTC
350660
350661         · 651e0f728f Merge pull request #37447 from rallytime/fix-36961
350662
350663         · 6b930ac7aa   Cast   ip_protocol   rule  as  a  str()  in  boto_sec‐
350664           group.present
350665
350666       · ISSUE #36446:  (whiteinge)  Custom  salt-api  config  problem  (refs:
350667         #37455)
350668
350669         · PR saltstack/salt#36386: (xiaoanyunfei) fix salt-api's default opts
350670           were covered by salt-master #35734 (refs: #37455)
350671
350672       · PR #37455:  (techhat)  Make  api  opts  respect  correct  root_dir  @
350673         2016-11-04 03:25:40 UTC
350674
350675         · PR  #35734: (xiaoanyunfei) fix salt-api's default opts were covered
350676           by salt-master (refs: #`saltstack/salt#36386`_)
350677
350678         · a51d944c7c Merge pull request #37455 from techhat/issue36446
350679
350680         · 7eff90d61d Make api opts respect correct root_dir
350681
350682       · PR #37459: (twangboy) Fix error message when ConvertTo-Json not  sup‐
350683         ported [DO NOT MERGE FORWARD] @ 2016-11-04 03:22:31 UTC
350684
350685         · 3591bf0f58     Merge    pull    request    #37459    from    twang‐
350686           boy/fix_dsc_json_msg_2016.3
350687
350688         · 949b70913d Use cmd.run_all instead of cmd.shell
350689
350690       · PR #37430: (meaksh) Including resolution  parameters  in  the  Zypper
350691         debug-solver call during a dry-run dist-upgrade (2016.3) @ 2016-11-03
350692         14:35:46 UTC
350693
350694         · PR #37353: (meaksh) Including resolution parameters in  the  Zypper
350695           debug-solver call during a dry-run dist-upgrade (refs: #37430)
350696
350697         · 80a99c4cc5    Merge    pull   request   #37430   from   meaksh/zyp‐
350698           per-dist-upgrade-debug-solver-fix-2016.3
350699
350700         · ffc596f215 Including resolver params for Zypper debug-solver
350701
350702       · ISSUE #37388: (tyhunt99) [2016.3.4] Refreshing of an s3  file  server
350703         results in an exception.  (refs: #37428)
350704
350705         · PR  #37428:  (cachedout)  Fix  incorrect  reference of __utils__ in
350706           salt.utils (refs: #37441)
350707
350708       · PR #37419: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
350709         2016-11-02 21:40:04 UTC
350710
350711         · 7864f9b79d Merge pull request #37419 from rallytime/merge-2016.3
350712
350713         · bce47c9175 Merge branch '2015.8' into '2016.3'
350714
350715           · 7b1d3b5562 Merge pull request #37392 from rallytime/bp-33190
350716
350717           · 4063bae5de catch None cases for comments in jboss7 state module
350718
350719         · PR  #37416:  (terminalmage)  Fix regression in output for Ctrl-c'ed
350720           CLI jobs
350721
350722         · PR #37414: (pass-by-value) Add unit tests for cloning from snapshot
350723
350724         · PR #37350: (pass-by-value) Add handling for full and  linked  clone
350725           (refs: #37414)
350726
350727         · PR  saltstack/salt#37401:  (cachedout)  Bootstrap  delay option for
350728           salt-cloud (refs: #37404)
350729
350730       · PR #37404: (cachedout) Revert "Bootstrap delay option for salt-cloud"
350731         @ 2016-11-02 09:48:53 UTC
350732
350733         · ecd794a233     Merge     pull    request    #37404    from    salt‐
350734           stack/revert-37401-bootstrap_delay
350735
350736         · e864de8f03 Revert "Bootstrap delay option for salt-cloud"
350737
350738       · PR #37401:  (cachedout)  Bootstrap  delay  option  for  salt-cloud  @
350739         2016-11-02 09:02:13 UTC
350740
350741         · 2eb44fbd11 Merge pull request #37401 from cachedout/bootstrap_delay
350742
350743         · 6e42b0e157 Bootstrap delay option for salt-cloud
350744
350745       · PR  #37350:  (pass-by-value)  Add  handling for full and linked clone
350746         (refs: #37414) @ 2016-11-02 08:02:29 UTC
350747
350748         · 9446e48da0      Merge      pull      request      #37350       from
350749           pass-by-value/full_and_linked_clone_v1
350750
350751         · d8b1c9c777  Add  handling for full and linked clone and commit disk
350752           mode additions
350753
350754       · ISSUE #34841: (Ch3LL) Wrong return when using user.chgroups  on  win‐
350755         dows (refs: #37386)
350756
350757       · PR   #37386:   (rallytime)   Fix   win_useradd.chgroups  return  when
350758         cmd.run_all retcode != 0 @ 2016-11-02 06:34:12 UTC
350759
350760         · c7f4d7f76a Merge pull request #37386 from rallytime/fix-34841
350761
350762         · c70492a1fe Fix win_useradd.chgroups return when cmd.run_all retcode
350763           != 0
350764
350765       · ISSUE  #34263:  (vernondcole) Use of dnsmasq.set_config injects unin‐
350766         tentional text into the configuration file. (refs: #37390)
350767
350768       · PR #37390: (rallytime) Don't insert __pub* keys into  dnsmasq  config
350769         file with set_config function @ 2016-11-02 06:31:53 UTC
350770
350771         · 34b6c6459a Merge pull request #37390 from rallytime/fix-34263
350772
350773         · e082ff538b  Fix failing test now that we're raising a CommandExecu‐
350774           tionError
350775
350776         · c6a3476abb Filter out the __pub keys passed via **kwargs  for  dns‐
350777           masq.set_config
350778
350779         · fd380c79b9 Add test case to reproduce dnsmasq.set_config failure in
350780           #34263
350781
350782       · ISSUE #35163: (SolarisYan) salt file.mkdir (refs: #35287, #35189)
350783
350784       · PR #37391:  (rallytime)  Back-port  #35287  to  2016.3  @  2016-11-02
350785         06:18:26 UTC
350786
350787         · PR #35287: (dere) 2016.3 (refs: #37391)
350788
350789         · PR  #35189:  (dere)  return  value  for  file.mkdir instead of None
350790           (refs: #35287)
350791
350792         · 798b2acbe3 Merge pull request #37391 from rallytime/bp-35287
350793
350794         · 0e1ebea5a4 Simplify return value to "True".
350795
350796         · 13022c5cc4 return value for mkdir instead of None
350797
350798       · ISSUE #37264: (junster1) Parsing __grains__ with json.dumps in a mod‐
350799         ule is returning an empty dict in 2016.3.3 (refs: #37279)
350800
350801       · PR  #37279: (gtmanfred) initialize super class of NamespacedDictWrap‐
350802         per @ 2016-11-01 15:12:49 UTC
350803
350804         · 1a4833b3a1 Merge pull request #37279 from gtmanfred/2016.3
350805
350806         · 597f346d57 initialize super class of NamespacedDictWrapper
350807
350808       · PR #37351: (jfindlay) modules.mac_power: give macOS  time  to  change
350809         setting (refs: #37426) @ 2016-10-31 19:15:40 UTC
350810
350811         · 351175931c Merge pull request #37351 from jfindlay/mac_set
350812
350813         · 0c58056d84 modules.mac_power: give macOS time to change setting
350814
350815       · PR #37340: (cachedout) SIGILL -> SIGKILL in process test @ 2016-10-31
350816         08:50:10 UTC
350817
350818         · 25c987e33a Merge pull request #37340 from cachedout/ill_kill_3
350819
350820         · a6b7417fe9 SIGILL -> SIGKILL in process test
350821
350822       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
350823         (refs: #37306)
350824
350825       · PR  #37306: (DmitryKuzmenko) Don't use os.wait() on subprocesses man‐
350826         aged by multiprocessing.  @ 2016-10-31 06:55:30 UTC
350827
350828         · 7f1654894d   Merge   pull   request   #37306    from    DSRCorpora‐
350829           tion/bugs/35480_master_shutdown_no_process_error
350830
350831         · b6937ebaa8 Don't use os.wait() on subprocesses managed by multipro‐
350832           cessing.
350833
350834       · ISSUE #34998: (exowaucka) placementgroup parameter for salt-cloud  is
350835         undocumented (refs: #37314)
350836
350837       · PR  #37314:  (rallytime)  Document  the  existence  of placementgroup
350838         option in ec2 driver @ 2016-10-31 06:42:33 UTC
350839
350840         · bf8ba97d54 Merge pull request #37314 from rallytime/fix-34998
350841
350842         · 39459ed30b Document the existence of placementgroup option  in  ec2
350843           driver
350844
350845       · ISSUE  #36148:  (alex-zel)  Eauth  error  with openLDAP groups (refs:
350846         #37219)
350847
350848       · PR #37219: (alex-zel) Fix freeipa ldap groups @  2016-10-28  04:33:37
350849         UTC
350850
350851         · e0baf4b193       Merge      pull      request      #37219      from
350852           alex-zel/fix-freeipa-ldap-groups
350853
350854         · b5b2e7e097 Remove trailing whitespaces
350855
350856         · 32f906b020 Add support for FreeIPA
350857
350858   Salt 2016.3.6 Release Notes
350859       Version 2016.3.6 is a bugfix release for 2016.3.0.
350860
350861   Statistics
350862       · Total Merges: 119
350863
350864       · Total Issue References: 52
350865
350866       · Total PR References: 163
350867
350868       · Contributors:  43  (Adaephon-GH,   Ch3LL,   DmitryKuzmenko,   Foxlik,
350869         GideonRed-zz,   The-Loeki,  UtahDave,  alexbleotu,  anlutro,  bobrik,
350870         cachedout,   cro,   dincamihai,   drawsmcgraw,   fboismenu,    galet,
350871         garethgreenaway,   grep4linux,   gtmanfred,  jacobhammons,  jfindlay,
350872         joe-niland, lvg01, mbom2004, mcalmer, mchugh19, meaksh, mirceaulinic,
350873         morganwillcock,  narendraingale2,  nasenbaer13,  ni3mm4nd, rallytime,
350874         s0undt3ch, sergeizv,  smarsching,  techhat,  terminalmage,  thatch45,
350875         twangboy, velom, vutny, yue9944882)
350876
350877   Security Fix
350878       CVE-2017-7893 Compromised salt-minions can impersonate the salt-master.
350879       (Discovery credit: Frank Spierings)
350880
350881   Changelog for v2016.3.5..v2016.3.6
350882       Generated at: 2018-05-27 13:45:07 UTC
350883
350884       · PR #40232: (rallytime) Update release notes for 2016.3.6 @ 2017-03-22
350885         21:09:35 UTC
350886
350887         · 24c4ae9c21     Merge    pull    request    #40232    from    rally‐
350888           time/update-release-notes
350889
350890         · 2ead188b4f Update release notes for 2016.3.6
350891
350892       · ISSUE #39854:  (Foxlik)  quoted  space  in  authorized_keys  confuses
350893         ssh.py (refs: #39855)
350894
350895       · PR  #39855:  (Foxlik)  Use  regular  expression instead of split when
350896         replacing authorized_keys @ 2017-03-22 18:28:32 UTC
350897
350898         · c59ae9a82c Merge pull request #39855 from  Foxlik/use_regex_to_com‐
350899           pare_authorized_keys
350900
350901         · d46845a5b6 Add newline at end of file
350902
350903         · d4a3c8a66a  Use  regular expression instead of split when replacing
350904           authorized_keys
350905
350906       · PR #40221:  (rallytime)  Back-port  #39179  to  2016.3  @  2017-03-22
350907         17:40:34 UTC
350908
350909         · PR #39179: (mcalmer) fix error parsing (refs: #40221)
350910
350911         · fd10430018 Merge pull request #40221 from rallytime/bp-39179
350912
350913         · 07dc2de084 fix error parsing
350914
350915       · ISSUE  #40203:  (frogunder)  2016.3.6.  Minion don't connect to older
350916         master. (refs: #40206)
350917
350918       · PR  #40206:  (cro)  Leave  sign_pub_messages  off  by   default.    @
350919         2017-03-22 16:43:03 UTC
350920
350921         · a27a2cc3bb Merge pull request #40206 from cro/sign_pub_take2
350922
350923         · 01048de83f leave sign_pub_messages off on minion by default.
350924
350925         · a82b005507 Leave sign_pub_messages off by default.
350926
350927       · PR  #40193:  (rallytime)  Back-port  #40117  to  2016.3  @ 2017-03-22
350928         16:42:21 UTC
350929
350930         · PR #40117: (narendraingale2) Fix force remove (refs: #40193)
350931
350932         · d1abb4cbaa Merge pull request #40193 from rallytime/bp-40117
350933
350934         · cf1857904b More optimization.
350935
350936         · 5a08266814 Removed debug statemnt
350937
350938         · f557f7c6bb Added fix for issue 39393
350939
350940         · bb62278b73 Reverting changes.
350941
350942         · a9107cde44 Added if condition for broken link.
350943
350944       · PR #40196: (twangboy) Update dependencies for PyOpenSSL @  2017-03-22
350945         16:40:46 UTC
350946
350947         · 0f1ff4d4a8 Merge pull request #40196 from twangboy/win_fix_deps
350948
350949         · 6761527793 Update dependencies for PyOpenSSL
350950
350951       · PR  #40184:  (terminalmage) Link to minion start reactor example from
350952         FAQ.  @ 2017-03-21 17:33:09 UTC
350953
350954         · b0501515cb Merge pull request #40184  from  terminalmage/link-reac‐
350955           tor-example
350956
350957         · a42be82993 Link to minion start reactor example from FAQ.
350958
350959       · PR  #40182:  (terminalmage)  Add support for "stopped" state to dock‐
350960         erng's mod_watch @ 2017-03-21 15:40:29 UTC
350961
350962         · d4e6c58526  Merge  pull  request  #40182  from   terminalmage/dock‐
350963           erng-mod_watch-stopped
350964
350965         · 4629a26fb7 Add support for "stopped" state to dockerng's mod_watch
350966
350967       · PR #40171: (Ch3LL) additional PRs/issues for 2016.3.6 release notes @
350968         2017-03-20 22:14:17 UTC
350969
350970         · a0b4082484 Merge pull request #40171 from Ch3LL/2016.3.6_release
350971
350972         · 9c6d8d892f additional PRs/issues for 2016.3.6 release notes
350973
350974       · PR  #40120:  (sergeizv)  gce:  Exclude  GCENodeDriver  objects   from
350975         _expand_node result @ 2017-03-20 21:44:42 UTC
350976
350977         · 33ba7821f7       Merge      pull      request      #40120      from
350978           sergeizv/gce-expand-node-fix
350979
350980         · 9d0fbe7e01 gce: Exclude  GCENodeDriver  objects  from  _expand_node
350981           result
350982
350983       · PR #40122: (meaksh) Adding "pkg.install downloadonly=True" support to
350984         yum/dnf execution module @ 2017-03-20 21:44:15 UTC
350985
350986         · 48843977c3 Merge pull request #40122  from  meaksh/2016.3-yum-down‐
350987           loadonly-support
350988
350989         · 067f3f77c2 Adding downloadonly support to yum/dnf module
350990
350991       · PR  #40159: (cro) Turn on sign_pub_messages by default.  @ 2017-03-20
350992         21:00:49 UTC
350993
350994         · 60e1d4e2f3 Merge pull request #40159 from cro/sign_pub
350995
350996         · e663b761fb Fix small syntax error
350997
350998         · 0a0f46fb14 Turn on sign_pub_messages by default.   Make  sure  mes‐
350999           sages  with  no 'sig' are dropped with error when sign_pub_messages
351000           is True.
351001
351002       · PR #40123: (twangboy) Adds support for inet_pton in Windows  to  net‐
351003         work util @ 2017-03-20 16:25:47 UTC
351004
351005         · 28e4fc17b6 Merge pull request #40123 from twangboy/win_fix_network
351006
351007         · 06dfd55ef9 Adds support for inet_pton in Windows to network util
351008
351009       · ISSUE #39995: (frogunder) Head of Develop -  Multimaster error (refs:
351010         #40141)
351011
351012       · ISSUE #39118: (bobrik) Minion ipv6 option is  not  documented  (refs:
351013         #39289, #39131)
351014
351015       · PR  #40141: (bobrik) Use the first address if cannot connect to any @
351016         2017-03-20 15:06:57 UTC
351017
351018         · PR #39289: (bobrik) Autodetect IPv6  connectivity  from  minion  to
351019           master (refs: #39766, #40141)
351020
351021         · 35ddb79f59 Merge pull request #40141 from bobrik/fallback-resolve
351022
351023         · af1545deed Use the first address if cannot connect to any
351024
351025       · PR  #40059:  (terminalmage)  Fix traceback when virtualenv.managed is
351026         invoked with nonexistant user @ 2017-03-16 20:46:43 UTC
351027
351028         · 116201f345 Merge pull  request  #40059  from  terminalmage/fix-vir‐
351029           tualenv-traceback
351030
351031         · e3cfd29d6b  Fix  traceback  when virtualenv.managed is invoked with
351032           nonexistant user
351033
351034       · PR #40090:  (rallytime)  Back-port  #40056  to  2016.3  @  2017-03-16
351035         19:42:58 UTC
351036
351037         · PR #40056: (thatch45) update mention bot blacklist (refs: #40090)
351038
351039         · a01b52b9a3 Merge pull request #40090 from rallytime/bp-40056
351040
351041         · ae012db87a update mention bot blacklist
351042
351043       · PR  #40057:  (cachedout)  More  mentionbot  blacklists  @  2017-03-16
351044         18:10:11 UTC
351045
351046         · d1570bba4c Merge pull request #40057 from cachedout/ollie_blacklist
351047
351048         · 0ac2e83d37 Merge branch '2016.3' into ollie_blacklist
351049
351050       · PR #40070: (Ch3LL) update 2016.3.6 release notes with additional PR's
351051         @ 2017-03-16 15:43:22 UTC
351052
351053         · d36bdb1a6e Merge pull request #40070 from Ch3LL/2016.3.6_release
351054
351055         · a1f8b49bd1 update 2016.3.6 release notes with additional PR's
351056
351057       · PR #40018: (meaksh) Allows overriding 'timeout' and 'gather_job_time‐
351058         out' to 'manage.up' runner call @ 2017-03-15 19:43:01 UTC
351059
351060         · 8dcffc7751  Merge  pull  request  #40018  from   meaksh/2016.3-han‐
351061           dling-timeouts-for-manage.up-runner
351062
351063         · 9f5c3b7dcd  Allows to set custom timeouts for 'manage.up' and 'man‐
351064           age.status'
351065
351066         · 2102d9c75c Allows to set  'timeout'  and  'gather_job_timeout'  via
351067           kwargs
351068
351069       · PR  #40038:  (velom)  correctly  parse  "pkg_name===version" from pip
351070         freeze @ 2017-03-15 19:30:03 UTC
351071
351072         · 22fc5299a2      Merge      pull      request      #40038       from
351073           velom/fix-pip-freeze-parsing
351074
351075         · 3fae91d879 correctly parse "pkg_name===version" from pip freeze
351076
351077       · ISSUE #40036: (oogali) UnboundLocalError: local variable 'ifcfg' ref‐
351078         erenced before assignment (refs: #40053)
351079
351080       · PR #40053: (gtmanfred) Update rh_ip.py @ 2017-03-15 18:57:32 UTC
351081
351082         · 3584f935fa Merge pull request #40053 from saltstack/rh_ip_patch
351083
351084         · 219947acdb Update rh_ip.py
351085
351086       · ISSUE #40011:  (tsaridas)  salt-minion  does  not  shutdown  properly
351087         2016.11.3 rh6 (refs: #40041)
351088
351089       · PR  #40041: (terminalmage) Fix transposed lines in salt.utils.process
351090         @ 2017-03-15 17:58:24 UTC
351091
351092         · 837432d3d2 Merge pull request #40041 from terminalmage/issue40011
351093
351094         · 5b5d1b375c Fix transposed lines in salt.utils.process
351095
351096       · PR  #40021:  (Ch3LL)  2016.3.6  release  notes  with  change  log   @
351097         2017-03-14 21:06:18 UTC
351098
351099         · ee7f3b1200 Merge pull request #40021 from Ch3LL/2016.3.6_release
351100
351101         · f3e7e4fb2a Add 2016.3.6 Release Notes
351102
351103       · PR  #40016:  (terminalmage)  Attempt  to  fix failing grains tests in
351104         2016.3 @ 2017-03-14 18:34:32 UTC
351105
351106         · 26895b7be2   Merge   pull    request    #40016    from    terminal‐
351107           mage/fix-grains-test
351108
351109         · 0ec81a4cde Fixup a syntax error
351110
351111         · 5d84b40bfd Attempt to fix failing grains tests in 2016.3
351112
351113       · PR  #39980:  (vutny) [2016.3] Allow to use bg kwarg for cmd.run state
351114         function @ 2017-03-14 17:16:14 UTC
351115
351116         · 0c61d064ad Merge pull request #39980 from vutny/cmd-run-state-bg
351117
351118         · a81dc9dfc1 [2016.3] Allow to use bg kwarg for cmd.run  state  func‐
351119           tion
351120
351121       · ISSUE  #39942:  (Foxlik)  Web  Documentation not in sync with release
351122         2016.11.3 (refs: #39994)
351123
351124       · PR #39994: (rallytime) Add a versionadded tag  for  dockerng  ulimits
351125         addition @ 2017-03-13 20:58:02 UTC
351126
351127         · b042484455  Merge  pull request #39994 from rallytime/ulimits-dock‐
351128           erng-version
351129
351130         · 37bd800fac Add a versionadded tag for dockerng ulimits addition
351131
351132       · PR #39988: (terminalmage) Add comment explaining change from #39973 @
351133         2017-03-13 18:37:29 UTC
351134
351135         · PR  #39973:  (terminalmage)  Don't  use docker.Client instance from
351136           context if missing attributes (refs: #39988)
351137
351138         · e125c94ba5  Merge  pull  request  #39988  from   terminalmage/dock‐
351139           erng-timeout
351140
351141         · bd2519ed1b Add comment explaining change from #39973
351142
351143       · PR  #39973: (terminalmage) Don't use docker.Client instance from con‐
351144         text if missing attributes (refs: #39988) @ 2017-03-11 14:57:50 UTC
351145
351146         · cd0336e868  Merge  pull  request  #39973  from   terminalmage/dock‐
351147           erng-timeout
351148
351149         · 869416e7db Don't use docker.Client instance from context if missing
351150           attributes
351151
351152       · PR  #39962:  (cachedout)  Disable  mention  bot  delay  on  2016.3  @
351153         2017-03-10 20:24:08 UTC
351154
351155         · 282c607d26  Merge  pull  request #39962 from cachedout/disable_men‐
351156           tionbot_delay_3
351157
351158         · 7a638f204b Disable mention bot delay on 2016.3
351159
351160           · 5592c680b5 More mentionbot blacklists
351161
351162       · PR #39937:  (cachedout)  Fix  --non-gpg-checks  in  zypper  module  @
351163         2017-03-10 18:02:51 UTC
351164
351165         · 1e0c88ae08 Merge pull request #39937 from cachedout/gpg_zypper
351166
351167         · 13ed0d1209 Fix --non-gpg-checks in zypper module
351168
351169       · PR  #39929:  (terminalmage) Scrap event-based approach for refreshing
351170         grains (2016.3 branch) @ 2017-03-09 22:03:16 UTC
351171
351172         · 4526fc6e08   Merge   pull    request    #39929    from    terminal‐
351173           mage/pr-39770-2016.3
351174
351175         · cf0100dabe Scrap event-based approach for refreshing grains
351176
351177       · ISSUE  #22080: (The-Loeki) CIDR matching for IPv6 / improve IPv6 sup‐
351178         port in utils.network (refs: #39919)
351179
351180       · PR #39919: (The-Loeki) CIDR matching supports  IPv6,  update  docs  @
351181         2017-03-09 16:03:00 UTC
351182
351183         · 111110caf8 Merge pull request #39919 from The-Loeki/patch-1
351184
351185         · 170cbadc54 CIDR matching supports IPv6, update docs
351186
351187       · PR  #39899:  (techhat) Update cleanup function for azure @ 2017-03-08
351188         23:28:33 UTC
351189
351190         · caf10e9988 Merge pull request #39899 from techhat/cleanupdisks
351191
351192         · baf4579e63 Update cleanup function for azure
351193
351194       · PR  #39871:  (terminalmage)  Squelch  warning  for  pygit2  import  @
351195         2017-03-07 20:40:18 UTC
351196
351197         · fcf95f3654    Merge    pull    request    #39871   from   terminal‐
351198           mage/squelch-import-warning
351199
351200         · 2b2ec69d04 Squelch warning for pygit2 import
351201
351202       · PR #39794: (cachedout) Clean up errors which might be thrown when the
351203         monitor socket shuts down @ 2017-03-04 16:12:37 UTC
351204
351205         · f223fa8906  Merge  pull  request  #39794 from cachedout/clean_moni‐
351206           tor_socket_shutdown
351207
351208         · 2e683e788b Clean up errors which might be thrown when  the  monitor
351209           socket shuts down
351210
351211       · PR  #39819:  (terminalmage)  Improve  the  Top  File  matching docs @
351212         2017-03-04 16:06:40 UTC
351213
351214         · 4002dc1947   Merge   pull    request    #39819    from    terminal‐
351215           mage/top-file-matching-docs
351216
351217         · 7178e77eee Improve the Top File matching docs
351218
351219       · PR  #39820:  (ni3mm4nd) Add missing apostrophe in Beacons topic docu‐
351220         mentation @ 2017-03-04 16:05:29 UTC
351221
351222         · c08aaeb7fd   Merge   pull   request   #39820   from   ni3mm4nd/bea‐
351223           cons_topic_doc_typo
351224
351225         · 804b12048c Add missing apostrophe
351226
351227       · PR  #39826:  (cachedout)  Add group func to yubikey auth @ 2017-03-04
351228         16:02:14 UTC
351229
351230         · cbd2a4e3cc Merge pull request #39826 from cachedout/yubikey_fix
351231
351232         · 6125eff02d Add group func to yubikey auth
351233
351234       · ISSUE #39622: (drawsmcgraw) boto_vpc.create_subnet does not  properly
351235         assign tags (refs: #39624)
351236
351237       · PR  #39624:  (drawsmcgraw)  Address issue 39622 @ 2017-03-03 15:59:04
351238         UTC
351239
351240         · f575ef459f Merge pull request #39624 from drawsmcgraw/39622
351241
351242         · 13da50be33 Fix indention lint errors
351243
351244         · 545026352f Address issue 39622
351245
351246       · ISSUE #39119: (frogunder) Head of 2016.3 - Salt-Master uses  90  sec‐
351247         onds to restart (refs: #39796)
351248
351249       · PR #39796: (cachedout) Stop the process manager when it no longer has
351250         processes to manage @ 2017-03-02 23:03:13 UTC
351251
351252         · 1f3619c1e5 Merge pull request #39796 from cachedout/master_shutdown
351253
351254         · e31d46c1b8 Stop the process manager when it no longer has processes
351255           to manage
351256
351257       · ISSUE  #39333: (jagguli) Not Available error - Scheduling custom run‐
351258         ner functions  (refs: #39791)
351259
351260       · ISSUE #38514: (githubcdr) Unable to schedule runners (refs: #39791)
351261
351262       · PR #39791: (gtmanfred) load runners if role is  master  @  2017-03-02
351263         19:43:41 UTC
351264
351265         · 53341cf152 Merge pull request #39791 from gtmanfred/2016.3
351266
351267         · 3ab4f843bf load runners if role is master
351268
351269       · ISSUE #39782: (sergeizv) salt-cloud show_instance action fails on EC2
351270         instances (refs: #39784)
351271
351272       · ISSUE #33162: (jfindlay) Key error  with  salt.utils.cloud.cache_node
351273         and EC2 (refs: #39784, #33164)
351274
351275       · PR #39784: (sergeizv) Fix 39782 @ 2017-03-02 16:08:51 UTC
351276
351277         · PR  #33164:  (jfindlay)  cloud.clouds.ec2:  cache  each  named node
351278           (refs: #39784)
351279
351280         · c234c25092 Merge pull request #39784 from sergeizv/fix-39782
351281
351282         · b71c3fe13c Revert  "cloud.clouds.ec2:  cache  each  named  node  (‐
351283           #33164)"
351284
351285       · ISSUE  #39336:  (GevatterGaul)  salt-minion  fails  with  IPv6 (refs:
351286         #39766)
351287
351288       · ISSUE #39118: (bobrik) Minion ipv6 option is  not  documented  (refs:
351289         #39289, #39131)
351290
351291       · PR   #39766:  (rallytime)  Restore  ipv6  connectivity  and  "master:
351292         <ip>:<port>" support @ 2017-03-02 02:55:55 UTC
351293
351294         · PR #39289: (bobrik) Autodetect IPv6  connectivity  from  minion  to
351295           master (refs: #39766, #40141)
351296
351297         · PR  #25021:  (GideonRed-zz)  Introduce ip:port minion config (refs:
351298           #39766)
351299
351300         · 4ee59be22c Merge pull request #39766  from  rallytime/fix-ipv6-con‐
351301           nection
351302
351303         · 65b239664e Restore ipv6 connectivity and "master: <ip>:<port>" sup‐
351304           port
351305
351306       · ISSUE #33187: (usbportnoy) Deploy to jboss TypeError at  boss7.py:469
351307         (refs: #39761, #39170)
351308
351309       · PR  #39761:  (cachedout)  Properly  display  error  in jboss7 state @
351310         2017-03-01 18:43:23 UTC
351311
351312         · a24da31131 Merge pull request #39761 from cachedout/issue_33187
351313
351314         · c2df29edb2 Properly display error in jboss7 state
351315
351316       · PR #39728:  (rallytime)  [2016.3]  Bump  latest  release  version  to
351317         2016.11.3 @ 2017-02-28 18:07:44 UTC
351318
351319         · 0888bc32ef     Merge    pull    request    #39728    from    rally‐
351320           time/update-release-ver-2016.3
351321
351322         · c9bc8af8f2 [2016.3] Bump latest release version to 2016.11.3
351323
351324       · PR #39619: (terminalmage) Add a function to simply refresh the grains
351325         @ 2017-02-28 00:20:27 UTC
351326
351327         · b52dbeec68 Merge pull request #39619 from terminalmage/zd1207
351328
351329         · c7dfb494a6 Fix mocking for grains refresh
351330
351331         · 7e0ced3b45 Properly hand proxy minions
351332
351333         · 692c456da3 Add a function to simply refresh the grains
351334
351335       · ISSUE  #39482:  (bobrik)  file.managed  and  file  mode don't mention
351336         default mode (refs: #39487)
351337
351338       · PR #39487: (bobrik) Document default permission modes for file module
351339         @ 2017-02-24 23:49:00 UTC
351340
351341         · 3f8b5e6733 Merge pull request #39487 from bobrik/mode-docs
351342
351343         · 41ef69b3ca Document default permission modes for file module
351344
351345       · ISSUE  #39169:  (blueyed) Using batch-mode with salt.state in orches‐
351346         tration runner considers all minions to have failed (refs: #39641)
351347
351348       · PR #39641: (smarsching) Return runner return code in a way compatible
351349         with check_state_result @ 2017-02-24 23:07:11 UTC
351350
351351         · f7389bf1f5       Merge      pull      request      #39641      from
351352           smarsching/issue-39169-2016.3
351353
351354         · 88c2d9a540 Fix return data structure for runner (issue #39169).
351355
351356       · PR  #39633:  (terminalmage)  Fix  misspelled  argument  in  salt.mod‐
351357         ules.systemd.disable() @ 2017-02-24 18:21:36 UTC
351358
351359         · fc970b6a16  Merge  pull  request  #39633 from terminalmage/fix-sys‐
351360           temd-typo
351361
351362         · ca54541abe Add missing unit test for disable func
351363
351364         · 17109e1522 Fix  misspelled  argument  in  salt.modules.systemd.dis‐
351365           able()
351366
351367       · PR  #39613:  (terminalmage) Fix inaccurate documentation @ 2017-02-24
351368         06:07:35 UTC
351369
351370         · 53e78d67f6 Merge pull request #39613 from terminalmage/fix-docs
351371
351372         · 9342eda377 Fix inaccurate documentation
351373
351374       · PR  #39600:  (vutny)  state.file:  drop  non-relevant  examples   for
351375         source_hash parameter @ 2017-02-23 16:55:27 UTC
351376
351377         · 4e2b852f83 Merge pull request #39600 from vutny/state-file-docs
351378
351379         · 9b0427c27a  state.file:  drop non-relevant examples for source_hash
351380           parameter
351381
351382       · PR #39584:  (cachedout)  A  note  in  the  docs  about  mentionbot  @
351383         2017-02-23 15:12:13 UTC
351384
351385         · ed83420417 Merge pull request #39584 from cachedout/mentionbot_docs
351386
351387         · 652044b18f A note in the docs about mentionbot
351388
351389       · PR   #39583:  (cachedout)  Add  empty  blacklist  to  mention  bot  @
351390         2017-02-23 02:22:57 UTC
351391
351392         · d3e50b4f2f  Merge  pull  request  #39583  from   cachedout/mention‐
351393           bot_blacklist
351394
351395         · 62491c900d Add empty blacklist to mention bot
351396
351397       · PR  #39579:  (rallytime)  [2016.3]  Pylint:  Remove  unused  import @
351398         2017-02-22 23:46:33 UTC
351399
351400         · 8352e6b44b Merge pull request #39579 from rallytime/fix-lint
351401
351402         · 65889e1f30 [2016.3] Pylint: Remove unused import
351403
351404       · PR #39578: (cachedout) Add  mention-bot  configuration  @  2017-02-22
351405         23:39:24 UTC
351406
351407         · 43dba3254c Merge pull request #39578 from cachedout/2016.3
351408
351409         · 344499eef7 Add mention-bot configuration
351410
351411       · PR  #39542:  (twangboy)  Gate ssh_known_hosts state against Windows @
351412         2017-02-22 20:16:41 UTC
351413
351414         · 8f7a0f9d96    Merge    pull    request    #39542    from     twang‐
351415           boy/gate_ssh_known_hosts
351416
351417         · c90a52ef27 Remove expensive check
351418
351419         · 6d645cae0e Add __virtual__ function
351420
351421       · ISSUE  #39118:  (bobrik)  Minion ipv6 option is not documented (refs:
351422         #39289, #39131)
351423
351424       · PR #39289: (bobrik) Autodetect IPv6 connectivity from minion to  mas‐
351425         ter (refs: #39766, #40141) @ 2017-02-22 19:05:32 UTC
351426
351427         · c10965833a Merge pull request #39289 from bobrik/autodetect-ipv6
351428
351429         · 2761a1b244 Move new kwargs to the end of argument list
351430
351431         · 0df6b922e7 Narrow down connection exception to socket.error
351432
351433         · e8a2cc0488  Do  no  try  to connect to salt master in syndic config
351434           test
351435
351436         · af9578631e Properly log address that failed to resolve or pass con‐
351437           nection check
351438
351439         · 9a34fbeba9  Actually  connect  to  master instead of checking route
351440           availability
351441
351442         · c494839c65 Avoid bare exceptions in dns_check
351443
351444         · 29f376676d Rewrite dns_check to try to connect to address
351445
351446         · 55965ce505 Autodetect IPv6 connectivity from minion to master
351447
351448       · PR #39569: (s0undt3ch) Don't use our own six dictionary fixes in this
351449         branch @ 2017-02-22 18:59:49 UTC
351450
351451         · 3fb928b63a Merge pull request #39569 from s0undt3ch/2016.3
351452
351453         · 49da135abd Don't use our own six dictionary fixes in this branch
351454
351455       · PR #39508: (dincamihai) Openscap @ 2017-02-22 18:36:36 UTC
351456
351457         · 91e3319df8 Merge pull request #39508 from dincamihai/openscap
351458
351459         · 9fedb84607 Always return oscap's stderr
351460
351461         · 0ecde2cd02 Include oscap returncode in response
351462
351463       · ISSUE  #30802:  (kjelle)  Missing  ulimits  on docker.running / dock‐
351464         erng.running (refs: #39562)
351465
351466       · PR #39562: (terminalmage) Add ulimits to dockerng state/exec module @
351467         2017-02-22 16:31:49 UTC
351468
351469         · fbe2194a93 Merge pull request #39562 from terminalmage/issue30802
351470
351471         · c50374041d Add ulimits to dockerng state/exec module
351472
351473         · da42040c1a Try the docker-py 2.0 client name first
351474
351475         · PR  #39544:  (terminalmage)  dockerng.get_client_args: Fix path for
351476           endpoint config for some versions of docker-py
351477
351478       · ISSUE #39447: (Foxlik) dockerng keeps restarting privileged container
351479         (refs: #39483)
351480
351481       · PR  #39498: (terminalmage) Resubmit PR #39483 against 2016.3 branch @
351482         2017-02-20 19:35:33 UTC
351483
351484         · PR #39483: (Foxlik) dockerng: compare  sets  instead  of  lists  of
351485           security_opt (refs: #39498)
351486
351487         · dff35b58f8 Merge pull request #39498 from terminalmage/pr-39483
351488
351489         · 20b097a745 dockerng: compare sets instead of lists of security_opt
351490
351491       · PR   #39497:   (terminalmage)  Two  dockerng  compatibility  fixes  @
351492         2017-02-19 17:43:36 UTC
351493
351494         · 6418e725ed Merge pull request #39497 from  terminalmage/docker-com‐
351495           pat-fixes
351496
351497         · cbd0270bac docker: make docker-exec the default execution driver
351498
351499         · a6a17d58aa Handle docker-py 2.0's new host_config path
351500
351501       · PR #39423: (dincamihai) Openscap module @ 2017-02-17 18:31:04 UTC
351502
351503         · 9c4292fb4e Merge pull request #39423 from dincamihai/openscap
351504
351505         · 9d13422ac1 OpenSCAP module
351506
351507       · ISSUE  #39444:  (clem-compilatio)  salt-cloud  -  IPv6  and IPv4 pri‐
351508         vate_ips  - preferred_ip sends False to is_public_ip (refs: #39464)
351509
351510       · PR  #39464:  (gtmanfred)  skip  false  values  from  preferred_ip   @
351511         2017-02-16 22:48:32 UTC
351512
351513         · 7dd2502360 Merge pull request #39464 from gtmanfred/2016.3
351514
351515         · f829d6f9fc skip false values from preferred_ip
351516
351517       · PR  #39460:  (cachedout)  Fix  mocks  in win_disim tests @ 2017-02-16
351518         19:27:48 UTC
351519
351520         · db359ff2c3    Merge    pull    request    #39460    from    cached‐
351521           out/win_dism_test_fix
351522
351523         · e652a45592 Fix mocks in win_disim tests
351524
351525       · PR  #39426:  (morganwillcock)  win_dism:  Return failure when package
351526         path does not exist @ 2017-02-16 00:09:22 UTC
351527
351528         · 9dbfba9b57 Merge pull request #39426 from morganwillcock/dism
351529
351530         · a7d5118262 Return failure when package path does not exist
351531
351532       · PR #39431: (UtahDave)  Fix  grains.setval  performance  @  2017-02-15
351533         23:56:30 UTC
351534
351535         · 56162706e3  Merge pull request #39431 from UtahDave/fix_grains.set‐
351536           val_performance
351537
351538         · 391bbecd90 add docs
351539
351540         · 709c197f84 allow sync_grains to be disabled on grains.setval
351541
351542       · ISSUE #39304: (Auha) boto_s3_bucket documentation dependency clarifi‐
351543         cation (refs: #39405)
351544
351545       · PR #39405: (rallytime) Update :depends: docs for boto states and mod‐
351546         ules @ 2017-02-15 17:32:08 UTC
351547
351548         · 239e16e612 Merge pull request #39405 from rallytime/fix-39304
351549
351550         · bd1fe03ce7 Update :depends: docs for boto states and modules
351551
351552       · ISSUE #38762: (oz123) Configuration information for custom  returners
351553         (refs: #39411)
351554
351555       · PR #39411: (rallytime) Update external_cache docs with other configu‐
351556         ration options @ 2017-02-15 17:30:40 UTC
351557
351558         · 415102f346 Merge pull request #39411 from rallytime/fix-38762
351559
351560         · e13febe58d Update  external_cache  docs  with  other  configuration
351561           options
351562
351563         · PR   #39421:   (terminalmage)   Update   docs   on  upstream  EPEL7
351564           pygit2/libgit2 issues
351565
351566         · PR #39409: (terminalmage) salt.fileserver.roots: Fix regression  in
351567           symlink_list
351568
351569         · PR  #39337:  (terminalmage)  Don't  re-walk the roots fileserver in
351570           symlink_list() (refs: #39409)
351571
351572       · PR #39362: (dincamihai) Add cp.push test @ 2017-02-14 18:42:11 UTC
351573
351574         · 8b8ab8ef8e   Merge    pull    request    #39362    from    dincami‐
351575           hai/cp-push-test-2016.3
351576
351577         · 91383c5a19 Add cp.push test
351578
351579       · PR #39380: (joe-niland) Quote numeric user names so pwd.getpwnam han‐
351580         dles them properly @ 2017-02-14 18:33:33 UTC
351581
351582         · 4b726f955b      Merge      pull      request      #39380       from
351583           joe-niland/quote-numeric-usernames
351584
351585         · c2edfdd464  Quote  numeric  user names so pwd.getpwnam handles them
351586           properly
351587
351588       · PR #39400: (meaksh) Prevents 'OSError' exception in case certain  job
351589         cache path doesn't exist @ 2017-02-14 18:27:04 UTC
351590
351591         · 1116d32df9       Merge      pull      request      #39400      from
351592           meaksh/2016.3-fix-local-cache-issue
351593
351594         · e7e559ef5c Prevents 'OSError' exception in case path doesn't exist
351595
351596       · PR #39300: (terminalmage) Replace more usage  of  str.format  in  the
351597         loader @ 2017-02-13 19:01:19 UTC
351598
351599         · PR #39227: (terminalmage) Loader optimzation (refs: #39300)
351600
351601         · 6c854da1d4 Merge pull request #39300 from terminalmage/loader-opti‐
351602           mization
351603
351604         · d3e5d1525e Replace more usage of str.format in the loader
351605
351606       · PR #39337: (terminalmage) Don't re-walk the roots fileserver in  sym‐
351607         link_list() (refs: #39409) @ 2017-02-13 18:41:17 UTC
351608
351609         · 5286b5ff1b Merge pull request #39337 from terminalmage/issue34428
351610
351611         · a7d2135dc2 Don't re-walk the roots fileserver in symlink_list()
351612
351613       · PR #39339: (cro) Add link to external pillar documentation for clari‐
351614         fication.  @ 2017-02-13 18:40:13 UTC
351615
351616         · ce781deeb5 Merge pull request #39339 from cro/pillar_filetree_doc
351617
351618         · 410810cea2 Clarification on external pillar usage.
351619
351620         · PR #39316: (terminalmage) Document the  upstream  RedHat  bug  with
351621           their pygit2 package
351622
351623       · PR #39313: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
351624         2017-02-10 16:23:23 UTC
351625
351626         · 9de559ff4e Merge pull request #39313 from rallytime/merge-2016.3
351627
351628         · 0b8dddf12b Merge branch '2015.8' into '2016.3'
351629
351630         · fc551bcf5d Merge pull request #39293 from sergeizv/grammar-fix
351631
351632           · 70f2b586d3 Rewrap paragraph
351633
351634           · e6ab5178ea Grammar fix
351635
351636         · 8a1b45632a Merge pull request #39295 from sergeizv/typo-fix
351637
351638           · 5d9f36d58d Fix typo
351639
351640         · cfaafece34 Merge pull request #39296 from sergeizv/whitespace-fix
351641
351642           · 1d4c1dc140 Whitespace fix in docs Makefile
351643
351644         · 0b4dcf4a47 Merge pull request #39294 from sergeizv/fix-link
351645
351646           · 04bde6eed2 Fix link in proxyminion guide
351647
351648       · ISSUE #38595: (yue9944882) Redis ext job cache occurred error  (refs:
351649         #38610)
351650
351651         · PR #39299: (rallytime) Back-port #38610 to 2016.3
351652
351653         · PR  #38610:  (yue9944882)  Fix  #38595  - Unexpected error log from
351654           redis retuner in master's log (refs: #39299)
351655
351656       · PR #39297: (cro) Add doc to recommend pgjsonb for master job caches @
351657         2017-02-09 22:49:59 UTC
351658
351659         · f16027d30e Merge pull request #39297 from cro/pg_returner_docs
351660
351661         · 28bac649ae Typo
351662
351663         · 19fedcdd23 Add doc to recommend pgjsonb for master job caches
351664
351665       · PR #39286: (terminalmage) Allow minion/CLI saltenv/pillarenv to over‐
351666         ride master when compiling pillar @ 2017-02-09 21:22:46 UTC
351667
351668         · 77e50ed8b7 Merge pull  request  #39286  from  terminalmage/fix-pil‐
351669           larenv-precedence
351670
351671         · 3cb9833e57  Allow  minion/CLI  saltenv/pillarenv to override master
351672           when compiling pillar
351673
351674       · ISSUE #39220: (lvg01) state file.line skips leading spaces in content
351675         with mode:ensure and indent:False (refs: #39221)
351676
351677       · PR #39221: (lvg01) Fix bug 39220 @ 2017-02-09 18:12:29 UTC
351678
351679         · 52440416ca Merge pull request #39221 from lvg01/fix-bug-39220
351680
351681         · e8a41d6341  Removes  to  early content stripping (stripping is all‐
351682           ready done when needed with ident:true), fixes #39220
351683
351684         · a4b169e0bd Fixed wrong logic, fixes #39220
351685
351686       · ISSUE #36913: (terminalmage) Support custom refspecs in GitFS  (refs:
351687         #39210)
351688
351689         · PR #39280: (terminalmage) Add warning for Dulwich removal
351690
351691         · PR #39210: (terminalmage) salt.utils.gitfs: remove dulwich support,
351692           make refspecs configurable (refs: #39280)
351693
351694         · PR #39260: (terminalmage) Update jsonschema tests to reflect change
351695           in jsonschema 2.6.0
351696
351697       · ISSUE  saltstack/salt#33536:  (murzick) pkgrepo.managed does not dis‐
351698         able a yum repo with "disabled: True" (refs: #35055)
351699
351700       · ISSUE #33536: (murzick) pkgrepo.managed does not disable a  yum  repo
351701         with "disabled: True" (refs: #35055)
351702
351703         · PR #39251: (terminalmage) Better handling of enabled/disabled argu‐
351704           ments in pkgrepo.managed
351705
351706         · PR #35055: (galet) #33536 pkgrepo.managed does not  disable  a  yum
351707           repo with "disabled: True" (refs: #39251)
351708
351709       · PR   #39227:  (terminalmage)  Loader  optimzation  (refs:  #39300)  @
351710         2017-02-08 19:38:21 UTC
351711
351712         · 8e88f71dd9 Merge pull request #39227 from terminalmage/loader-opti‐
351713           mization
351714
351715         · c750662946 Loader optimzation
351716
351717       · ISSUE  #38856: (fhaynes) salt-cloud throws an exception when ec2 does
351718         not return encoding (refs: #39228)
351719
351720       · PR #39228: (gtmanfred) default to utf8 encoding if  not  specified  @
351721         2017-02-08 19:36:57 UTC
351722
351723         · bc89b297f8 Merge pull request #39228 from gtmanfred/2016.3
351724
351725         · afee047b08 default to utf8 encoding if not specified
351726
351727       · PR  #39231:  (terminalmage)  Add  clarification for jenkins execution
351728         module @ 2017-02-08 19:34:45 UTC
351729
351730         · d9b0671dbd  Merge  pull  request  #39231  from   terminalmage/clar‐
351731           ify-jenkins-depends
351732
351733         · ad1b1255f2 Add clarification for jenkins execution module
351734
351735       · PR  #39232:  (terminalmage)  Avoid  recursion in s3/svn ext_pillars @
351736         2017-02-08 19:33:28 UTC
351737
351738         · ddcff89a84 Merge pull request #39232 from terminalmage/issue21342
351739
351740         · c88896c277 Avoid recursion in s3/svn ext_pillars
351741
351742       · ISSUE #38697: (fboismenu) On Windows,  ip.get_all_interfaces  returns
351743         at most 2 DNS/WINS Servers (refs: #38793)
351744
351745         · PR #39230: (rallytime) Fix the win_ip_test failures
351746
351747         · PR #38793: (fboismenu) Fix for #38697 (refs: #39197, #39230)
351748
351749       · ISSUE  #33187: (usbportnoy) Deploy to jboss TypeError at boss7.py:469
351750         (refs: #39761, #39170)
351751
351752       · PR #39199:  (rallytime)  Back-port  #39170  to  2016.3  @  2017-02-07
351753         16:19:32 UTC
351754
351755         · PR  #39170: (grep4linux) Added missing source_hash_name argument in
351756           get_managed function (refs: #39199)
351757
351758         · df5f934c34 Merge pull request #39199 from rallytime/bp-39170
351759
351760         · c129905310 Added missing source_hash_name argument  in  get_managed
351761           function  Additional  fix  to   #33187  Customer  was  still seeing
351762           errors, this should now work. Tested with 2015.8.13 and 2016.11.2
351763
351764       · ISSUE #37174: (mikeadamz) The State execution failed  to  record  the
351765         order   in   which  all  states  were  executed  spam  while  running
351766         pkg.upgrade from orchestration runner (refs: #39206)
351767
351768       · PR #39206: (cachedout) Ignore empty dicts in  highstate  outputter  @
351769         2017-02-07 16:11:36 UTC
351770
351771         · 2621c119fd    Merge    pull    request    #39206    from    cached‐
351772           out/issue_issue_37174
351773
351774         · be31e0559c Ignore empty dicts in highstate outputter
351775
351776       · PR #39209:  (terminalmage)  Sort  the  return  list  from  the  file‐
351777         server.envs runner @ 2017-02-07 16:07:08 UTC
351778
351779         · dd440452ea Merge pull request #39209 from terminalmage/sorted-envs
351780
351781         · e6dda4a625 Sort the return list from the fileserver.envs runner
351782
351783         · PR #39202: (rallytime) [2016.3] Pylint fix
351784
351785       · ISSUE  #38697:  (fboismenu) On Windows, ip.get_all_interfaces returns
351786         at most 2 DNS/WINS Servers (refs: #38793)
351787
351788       · PR #39197: (cachedout) Pr 38793 @ 2017-02-06 19:23:12 UTC
351789
351790         · PR #38793: (fboismenu) Fix for #38697 (refs: #39197, #39230)
351791
351792         · ab76054127 Merge pull request #39197 from cachedout/pr-38793
351793
351794         · f3d35fb5c6 Lint fixes
351795
351796         · 624f25b78d Fix for #38697
351797
351798       · PR #39166: (Ch3LL) fix boto ec2 module create_image doc @  2017-02-06
351799         18:27:17 UTC
351800
351801         · fa45cbc359 Merge pull request #39166 from Ch3LL/fix_boto_ec2_docs
351802
351803         · 90af696331 fix boto ec2 module create_image doc
351804
351805       · PR  #39173:  (rallytime)  Restore  "Salt  Community"  doc  section  @
351806         2017-02-06 18:19:11 UTC
351807
351808         · PR #30770:  (jacobhammons)  Doc  restructuring,  organization,  and
351809           cleanup (refs: #39173)
351810
351811         · PR #10792: (cachedout) Documentation overhaul (refs: #39173)
351812
351813         · a40cb46249  Merge pull request #39173 from rallytime/restore-commu‐
351814           nity-docs
351815
351816         · 5aeddf42a0 Restore "Salt Community" doc section
351817
351818       · ISSUE #38704: (nasenbaer13)  Archive  extracted  fails  when  another
351819         state run is queued (refs: #38705)
351820
351821         · PR #39077: (terminalmage) Apply fix from #38705 to 2016.3 branch
351822
351823         · PR #38705: (nasenbaer13) Fix for #38704 archive extracted and dock‐
351824           erio states (refs: #39077)
351825
351826         · PR #39146: (gtmanfred) update vmware getting started doc
351827
351828         · PR #39145: (garethgreenaway) [2016.3] Fix when targeting via pillar
351829           with Salt syndic
351830
351831       · PR  #38804: (alexbleotu) Second attempt to fix prepending of root_dir
351832         to paths @ 2017-02-02 16:10:37 UTC
351833
351834         · cd8077ab81      Merge      pull      request      #38804       from
351835           alexbleotu/root_dir_fix-2016.3-gh
351836
351837         · b3bdd3b04a Add missing whiteline
351838
351839         · c7715acd53 Merge pull request #3 from cro/ab_rootdirfix
351840
351841           · e8cbafaaf1  When  running  testsuite,  salt.syspaths.ROOT_DIR  is
351842             often empty.
351843
351844         · b12dd44a26 Merge pull request #1 from cro/ab_rootdirfix
351845
351846           · bffc537aca Remove extra if statements (rstrip will check for  the
351847             presence anyway).
351848
351849         · 97521b3468 Second attempt to fix prepending of root_dir to paths
351850
351851       · ISSUE  #39118:  (bobrik)  Minion ipv6 option is not documented (refs:
351852         #39289, #39131)
351853
351854         · PR #39131: (bobrik) Clarify ipv6 option for minion and inteface for
351855           master, closes #39118
351856
351857         · PR #39116: (terminalmage) Don't abort pillar.get with merge=True if
351858           default is None
351859
351860       · PR #39091: (terminalmage) Run test_valid_docs in batches @ 2017-02-01
351861         19:09:05 UTC
351862
351863         · cc9b69b6bc    Merge    pull    request    #39091   from   terminal‐
351864           mage/update-test-valid-docs
351865
351866         · d76f0380d0 add debug logging for batch vars
351867
351868         · b4afea2a25 Don't fail test if data is empty
351869
351870         · b3a5d549c1 Account for trimmed value in 'salt -d' output
351871
351872         · 909916c78e Run test_valid_docs in batches
351873
351874         · PR #39081: (terminalmage) Move fileclient tests  to  tests/integra‐
351875           tion/fileserver/fileclient_test.py
351876
351877         · PR #39067: (rallytime) Bump openstack deprecation notice to Oxygen
351878
351879       · PR #39047: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
351880         2017-01-30 23:48:14 UTC
351881
351882         · a24af5ac46 Merge pull request #39047 from rallytime/merge-2016.3
351883
351884         · b732a1f646 Merge branch '2015.8' into '2016.3'
351885
351886         · 56ccae6ff7 Add 2015.8.14 release notes file (#39046)
351887
351888         · 5943fe65d3 Update 2015.8.13 release notes (#39037)
351889
351890         · PR #39045: (rallytime) Add 2016.3.6 release notes file
351891
351892         · PR #39042: (rallytime) [2016.3]  Update  release  numbers  for  doc
351893           build
351894
351895         · PR #39038: (rallytime) Update 2016.3.5 release notes
351896
351897       · PR  #39028:  (terminalmage)  Clarify  delimiter argument @ 2017-01-30
351898         18:20:26 UTC
351899
351900         · 5b09dc4198  Merge  pull  request  #39028  from   terminalmage/clar‐
351901           ify-delimiter-argument
351902
351903         · f29ef071f3 Clarify delimiter argument
351904
351905         · PR #39030: (rallytime) Back-port #38972 to 2016.3
351906
351907         · PR    #38972:   (rallytime)   Add   CLI   Example   for   rest_sam‐
351908           ple_utils.get_test_string function (refs: #39030)
351909
351910       · ISSUE #38753: (alexbleotu) __proxy__  dunder  is  not  injected  when
351911         invoking the salt variable in sls files (refs: #38899, #38829)
351912
351913       · ISSUE  #38557:  (alexbleotu)  Proxy  not  working  on  develop (refs:
351914         #38829)
351915
351916       · ISSUE #38265: (mirceaulinic) __utils__ object not available in  proxy
351917         module (refs: #38899, #38829)
351918
351919       · ISSUE   #32918:  (mirceaulinic)  Proxy  minions  reconnection  (refs:
351920         #38829)
351921
351922         · PR #38899: (cro) Enable __proxy__  availability  in  states,  high‐
351923           state, and utils. Enable __utils__ for proxies.
351924
351925         · PR  #38829:  (cro)  MANY  dunder variable fixes for proxies + proxy
351926           keepalive from @mirceaulinic (refs: #38899)
351927
351928         · PR #37864: (mirceaulinic) Proxy keepalive feature (refs: #38829)
351929
351930       · ISSUE #37938: (johje349) Memory leak in Reactor (refs: #38951)
351931
351932       · ISSUE #33890:  (hvnsweeting)  salt  memleak  when  running  state.sls
351933         (refs: #38951)
351934
351935       · PR #38951: (DmitryKuzmenko) Keep the only one record per module-func‐
351936         tion in depends decorator.  @ 2017-01-27 17:05:42 UTC
351937
351938         · da96221741   Merge   pull   request   #38951    from    DSRCorpora‐
351939           tion/bugs/37938_fix_depends_decorator_memleak
351940
351941         · 0b18f34678  Keep the only one record per module-function in depends
351942           decorator.
351943
351944       · ISSUE #34780: (joehoyle) S3fs broken in 2016.3.1 (refs: #38982)
351945
351946       · PR #38982: (rallytime) Set response when using  "GET"  method  in  s3
351947         utils @ 2017-01-27 17:04:48 UTC
351948
351949         · 85165edb70 Merge pull request #38982 from rallytime/fix-34780
351950
351951         · 1583c5579a Set response when using "GET" method in s3 utils
351952
351953       · PR  #38989:  (anlutro) Documentation: fix SLS in environment variable
351954         examples @ 2017-01-27 17:00:08 UTC
351955
351956         · cfdbc99e12   Merge   pull   request    #38989    from    alprs/doc‐
351957           fix-state_pt3_environ
351958
351959         · 52a9ad1c60 fix SLS in environment variable examples
351960
351961       · PR  #39000: (rallytime) Skip the test_badload test until Jenkins move
351962         is complete @ 2017-01-27 16:58:21 UTC
351963
351964         · 55e4d2572e  Merge  pull  request  #39000  from  rallytime/skip-bad‐
351965           load-test
351966
351967         · 4b3ff0fe0f  Skip  the  test_badload test until Jenkins move is com‐
351968           plete
351969
351970       · PR #38995: (terminalmage)  Fix  pillar.item  docstring  @  2017-01-27
351971         16:58:00 UTC
351972
351973         · fe054eb772  Merge  pull  request  #38995 from terminalmage/fix-pil‐
351974           lar.item-docstring
351975
351976         · 06d094dd8f Fix pillar.item docstring
351977
351978       · ISSUE #34551: (mbom2004)  salt.engines.logstash  not  loading  (refs:
351979         #38950)
351980
351981       · PR  #38950:  (mbom2004)  Fixed  Logstash Engine in file logstash.py @
351982         2017-01-26 19:10:07 UTC
351983
351984         · b66b6f6423 Merge pull request #38950 from mbom2004/2016.3
351985
351986         · c09f39d6c9 Remove unused json import
351987
351988         · 249efa3068 Fixed Logstash Engine in file logstash.py
351989
351990         · PR #38973: (rallytime) Handle changing "is_default" value  in  moto
351991           package for boto test mock
351992
351993       · PR  #38952:  (terminalmage)  Make  the  ext_pillars available to pil‐
351994         lar.ext tunable @ 2017-01-26 19:01:56 UTC
351995
351996         · b965b5dcc2 Merge pull request #38952 from terminalmage/zd1168
351997
351998         · 6b014e53fc Rename on_demand_pillar to on_demand_ext_pillar
351999
352000         · d216f90c63 Document new on_demand_pillar option and add  to  config
352001           template
352002
352003         · 426b20f02f  Add  documentation  for  on-demand pillar to pillar.ext
352004           docstring
352005
352006         · 7b10274b6b Make on-demand ext_pillars tunable
352007
352008         · d54723ccae Add on_demand_pillar config option
352009
352010       · ISSUE #35777: (rallytime) Properly deprecate template context data in
352011         Fluorine (refs: #38948)
352012
352013       · PR  #38948: (rallytime) Bump the template context deprecation version
352014         to Oxygen @ 2017-01-25 19:45:59 UTC
352015
352016         · 2c4ad85a78  Merge  pull  request  #38948  from  rallytime/bump-tem‐
352017           plate-context-deprecation
352018
352019         · 749e0031d7 Bump the template context deprecation version to Oxygen
352020
352021       · PR  #38946:  (rallytime)  Back-port  #37632  to  2016.3  @ 2017-01-25
352022         19:40:40 UTC
352023
352024         · PR #37632: (twangboy) Fix versions report for Windows Server  plat‐
352025           forms (refs: #38946)
352026
352027         · e4514ca7d8 Merge pull request #38946 from rallytime/bp-37632
352028
352029         · ee37cdace9 Fix some lint
352030
352031         · c08071e182 Fix versions report for server OSs
352032
352033       · PR  #38913:  (Adaephon-GH)  Ignore  plist  files  without Label key @
352034         2017-01-25 19:07:27 UTC
352035
352036         · 953a20350a Merge pull request #38913 from Adaephon-GH/patch-1
352037
352038         · e2f4a16fdd Removing trailing whitespace
352039
352040         · 616292c6b1 Ignore plist files without Label key
352041
352042       · PR #38917: (twangboy) Update Jinja2 to 2.9.4  @  2017-01-25  19:05:38
352043         UTC
352044
352045         · 826dce1059 Merge pull request #38917 from twangboy/update_jinja_mac
352046
352047         · 62e608b627 Update Jinja2 to 2.9.4
352048
352049       · ISSUE  #38540:  (amendlik) API wheel client throws exception and suc‐
352050         cess=true (refs: #38925)
352051
352052       · ISSUE #38537: (amendlik) API client wheel_async always returns status
352053         500 (refs: #38925)
352054
352055       · PR #38925: (terminalmage) Fix two wheel issues in netapi @ 2017-01-25
352056         18:28:52 UTC
352057
352058         · b27733cc33 Merge pull request #38925 from terminalmage/issue38540
352059
352060         · 76392fc6ad Fix traceback when a netapi module uses wheel_async
352061
352062         · bd4474fa62 Fix 'success' value for wheel commands
352063
352064       · PR  #38926:  (gtmanfred)  add  note  about  pysss  for  pam  eauth  @
352065         2017-01-25 18:12:20 UTC
352066
352067         · 618596f0cc Merge pull request #38926 from gtmanfred/2016.3
352068
352069         · 9cae953c93 add note about pysss for pam eauth
352070
352071       · ISSUE #38825: (IshMalik) file.managed multiple sources for redundency
352072         failure (refs: #38847)
352073
352074       · PR #38847: (terminalmage) Catch  MinionError  in  file.source_list  @
352075         2017-01-24 16:03:10 UTC
352076
352077         · 405d86a2ca Merge pull request #38847 from terminalmage/issue38825
352078
352079         · 11a47803ce Use log.exception() instead
352080
352081         · e40fac589a Catch MinionError in file.source_list
352082
352083       · ISSUE  #36121:  (Ashald) TemplateNotFound/Unable to cache file (refs:
352084         #38875)
352085
352086       · PR #38875: (terminalmage) Reactor: fix traceback when salt:// path is
352087         nonexistant @ 2017-01-24 15:23:39 UTC
352088
352089         · b5df104fc2 Merge pull request #38875 from terminalmage/issue36121
352090
352091         · fbc4d2a2c4 reactor: ensure glob_ref is a string
352092
352093         · 2e443d79a3  cp.cache_file:  add  note  re:  return  for nonexistant
352094           salt:// path
352095
352096       · ISSUE #37413: (Snarfingcode666) Salt-cloud vmware missing reboot com‐
352097         mand (refs: #38887, #38890)
352098
352099       · PR  #38890:  (cro)  Backport  #38887 to 2016.3: Enable resetting a VM
352100         via salt-cloud & VMware driver @ 2017-01-24 15:15:35 UTC
352101
352102         · PR #38887: (cro) Enable resetting a  VM  via  salt-cloud  &  VMware
352103           driver (refs: #38890)
352104
352105         · e9ebec4d80 Merge pull request #38890 from cro/vmware_reset_vm_20163
352106
352107         · 0146562fb4 Call correct function for resetting a VM
352108
352109       · PR   #38883:  (techhat)  Don't  require  text_out  path  to  exist  @
352110         2017-01-23 18:20:42 UTC
352111
352112         · PR #38867: (mchugh19) Touch deploy.sh before use (refs: #38883)
352113
352114         · PR #32026: (techhat) Don't require the decode_out file  to  already
352115           exist (refs: #38883)
352116
352117         · c3fbfcd231 Merge pull request #38883 from techhat/dontrequire
352118
352119         · 67bc4d6687 Don't require text_out path to exist
352120
352121       · PR  #38851:  (terminalmage)  Support  docker-py  2.0  in  dockerng  @
352122         2017-01-23 16:48:12 UTC
352123
352124         · 6430a45196   Merge   pull    request    #38851    from    terminal‐
352125           mage/docker-py-2.0
352126
352127         · 3c061b21fe Support docker-py 2.0 in dockerng
352128
352129       · PR  #38844:  (cachedout)  Fix memory leak in HTTP client @ 2017-01-20
352130         20:59:14 UTC
352131
352132         · ac8008d843  Merge  pull  request  #38844  from  cachedout/http_mem‐
352133           ory_leak
352134
352135         · c46bf85518 Fix memory leak in HTTP client
352136
352137       · ISSUE  #38798: (ripta) match.compound fails to match when pillar data
352138         is used (refs: #38823)
352139
352140       · PR #38823: (gtmanfred) pass pillar to compound matcher in match  mod‐
352141         ule @ 2017-01-20 19:19:09 UTC
352142
352143         · dfe6dfe963 Merge pull request #38823 from gtmanfred/2016.3
352144
352145         · f0a71e8707 pass pillar to compound matcher in match module
352146
352147   Salt 2016.3.7 Release Notes
352148       Version 2016.3.7 is a bugfix release for 2016.3.0.
352149
352150   Security Fix
352151       CVE-2017-12791 Maliciously crafted minion IDs can cause unwanted direc‐
352152       tory traversals on the Salt-master
352153
352154       This release corrects a flaw in minion ID validation which could  allow
352155       certain minions to authenticate to a master despite not having the cor‐
352156       rect credentials. To exploit the vulnerability, an attacker must create
352157       a salt-minion with an ID containing characters that will cause a direc‐
352158       tory traversal. Credit for  discovering  the  security  flaw  goes  to:
352159       Vernhk@qq.com
352160
352161   Changelog for v2016.3.6..v2016.3.7
352162       Generated at: 2018-05-27 14:09:17 UTC
352163
352164       · 11d176ff1b Add release notes for 2016.3.7 release
352165
352166       · dc649ded51 Add clean_id function to salt.utils.verify.py
352167
352168   Salt 2016.3.8 Release Notes
352169       Version 2016.3.8 is a bugfix release for 2016.3.0.
352170
352171   Security Fix
352172       CVE-2017-14695  Directory  traversal vulnerability in minion id valida‐
352173       tion in SaltStack. Allows remote minions with incorrect credentials  to
352174       authenticate  to a master via a crafted minion ID. Credit for discover‐
352175       ing the security flaw goes to: Julian Brost (julian@0x4a42.net)
352176
352177       CVE-2017-14696 Remote  Denial  of  Service  with  a  specially  crafted
352178       authentication  request.  Credit for discovering the security flaw goes
352179       to: Julian Brost (julian@0x4a42.net)
352180
352181   Changelog for v2016.3.7..v2016.3.8
352182       Generated at: 2018-05-27 14:11:36 UTC
352183
352184       · 8cf08bd7be Update 2016.3.7 Release Notes
352185
352186       · 0425defe84 Do not allow IDs with null bytes in decoded payloads
352187
352188       · 31b38f50eb Don't allow path separators in minion ID
352189
352190   Salt 2016.3.9 Release Notes
352191       Version 2016.3.9 is a bugfix release for 2016.3.0.
352192
352193   Master Changes
352194       The following options have been added to the master config file:
352195
352196       · allow_minion_key_revoke - This option controls whether a  minion  can
352197         request  that  the  master  revoke  its  key. When True, a minion can
352198         request a key revocation and the master will comply. If it is  False,
352199         the key will not be revoked by the msater.
352200
352201       · require_minion_sign_messages  -  This  requires  that minions crypto‐
352202         graphically sign the messages they publish to the master. If  minions
352203         are  not signing, then log this information at loglevel INFO and drop
352204         the message without acting on it.
352205
352206       · drop_messages_signature_fail - Drop messages from minions when  their
352207         signatures  do  not validate. Note that when this option is False but
352208         require_minion_sign_messages is True, minions MUST  sign  their  mes‐
352209         sages, but the validity of their signatures is ignored.
352210
352211       · minion_sign_messages  -  Causes  the minion to cryptographically sign
352212         the payload of messages it places on the event bus  for  the  master.
352213         The  payloads  are signed with the minion's private key so the master
352214         can verify the signature with its public key.
352215
352216   Salt 2015.8.0 Release Notes - Codename Beryllium
352217   2015.8.0 Detailed Change List
352218       Extended     changelog     courtesy     of     Todd     Stansell     (‐
352219       https://github.com/tjstansell/salt-changelogs)
352220
352221       Generated at: 2015-09-09T18:15:43Z
352222
352223       This  list  includes  all  pull  requests merged into the 2015.8 branch
352224       between the forking of the branch  from  develop  and  the  release  of
352225       2015.8.0.
352226
352227       Statistics:
352228
352229       · Total Merges: 682
352230
352231       · Total Issue references: 342
352232
352233       · Total PR references: 866
352234
352235       Pull Requests:
352236
352237       · #26993: (whiteinge) Backport #26975
352238
352239       · #26970: (cachedout) Revert "better path query parsing in fileserver"
352240
352241       · #26980:  (terminalmage) Use human-readable cachedirs for gitfs-backed
352242         winrepo
352243
352244       · #26969: (TheBigBear) URL of salt windows downloads has changed
352245
352246       · #26968: (TheBigBear) URL of salt windows downloads has changed
352247
352248       · #26958: (s0undt3ch)  Bradthurber  bootstrap  command  line  help  doc
352249         update
352250
352251       · #26949: (rallytime) Back-port #25148 to 2015.8
352252
352253       · #26914:  (cro)  Add salt-proxy script and manpage to setup.py so they
352254         will get installed.
352255
352256       · #26909: (terminalmage) Don't try to git clone from /tmp on Windows
352257
352258       · #26910: (s0undt3ch) Sometimes the event system is just too fast
352259
352260       · #26905: (s0undt3ch) Exit the loop if run_once is true
352261
352262       · #26897: (msteed) spm file hash part deux
352263
352264       · #26900: (s0undt3ch) If no tag is passed, don't actually subscribe  to
352265         anything.
352266
352267       · #26880:    (s0undt3ch)    Restore    backwards    compatibility    to
352268         salt.utils.event
352269
352270       · #26896: (msteed) spm remove: use pkgfiles to calculate file hashes
352271
352272       · #26891: (jtand) Fixed an unboundlocalerror
352273
352274       · #26892: (cachedout) Make the testing ioloop the current one
352275
352276       · #26886: (jtand) Gets the  azure  version  correctly  on  python-azure
352277         1.0.0
352278
352279       · #26870: (rallytime) Back-port #26834 to 2015.8
352280
352281       · #26865:  (dmurphy18) Fix apt preferences for apts, repos for pbuilder
352282         building for Debian
352283
352284       · #26873: (terminalmage) Properly handle getting local config values in
352285         older git versions
352286
352287       · #26869: (rallytime) Fix provider --> driver change for salt-cloud lxc
352288
352289       · #26858:  (terminalmage) Fix a couple version checks for git state and
352290         execution module
352291
352292       · #26853: (UtahDave) Fix salt-cloud on windows
352293
352294       · #26852: (basepi) [2015.8] Only reference msgpack if it imported  suc‐
352295         cessfully
352296
352297       · #26835: (terminalmage) Backport #26572 to 2015.8
352298
352299       · #26836:  (jacobhammons)  Added  rst  source  for salt-proxy man page,
352300         added build and copy lines …
352301
352302       · #26818: (terminalmage) Support empty repositories in git.latest
352303
352304       · #26819: (rallytime) Make sure we're  calling  _validate_name  in  the
352305         correct place in 2015.8 Linode driver
352306
352307       · #26841: (l2ol33rt) Fix reference before assignment in sqs engine
352308
352309       · #26822:  (terminalmage)  Add some missing imports for masterless win‐
352310         repo
352311
352312       · #26831: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352313
352314       · #26826: (techhat) Pass a package name to unregister_file()
352315
352316       · #26757: (cachedout) Fix various filehandle leaks
352317
352318       · #26816: (gtmanfred) rev defaults to HEAD
352319
352320       · #26801: (jacobhammons) Added doc for  dockerng  minion  configuration
352321         options
352322
352323       · #26808: (anlutro) Fix git init argument formatting
352324
352325       · #26807:     (terminalmage)     Move     salt.utils.itersplit()     to
352326         salt.utils.itertools.split()
352327
352328       · #26796: (jacobhammons) Add doc for __states__
352329
352330       · #26764: (sjorge) salt.utils.is_proxy() is no longer  always  true  on
352331         SunOS/Illumos/SmartOS
352332
352333       · #26772: (sjorge) pull in smartos 'virt' module from develop
352334
352335       · #26726:  (terminalmage) Redact HTTPS Basic Auth in states/funcs which
352336         deal with git remotes
352337
352338       · #26769: (terminalmage) Use --track to set tracking  branch  on  older
352339         git versions
352340
352341       · #26765: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352342
352343       · #26761: (sjorge) fix SPM paths on smartos/illumos esky
352344
352345       · #26751: (terminalmage) Fixes for masterless winrepo
352346
352347       · #26745:  (rallytime)  Make  sure  pyrax  configs  are in place before
352348         checking for deps
352349
352350       · #26746: (rallytime) Make sure nova configs are  set  before  checking
352351         for dependencies
352352
352353       · #26750: (basepi) [2015.8] Add __utils__ to state modules
352354
352355       · #26752: (cro) Fix typo in some diagram labels
352356
352357       · #26747:  (basepi)  [2015.8]  Add  __states__  to  state  modules, for
352358         cross-calling states
352359
352360       · #26744: (basepi) [2015.8] Fix issue from #26717
352361
352362       · #26737: (dmurphy18)  Fix to allow for package naming other than  just
352363         salt
352364
352365       · #26742: (rallytime) Only warn about vsphere deprecation if vsphere is
352366         configured
352367
352368       · #26733: (sjorge) Refactor of smartos_vmadm module
352369
352370       · #26735: (s0undt3ch) Add .hg and .cvs to spm_build_exclude
352371
352372       · #26720: (UtahDave) Updates for winrepo in 2015.8  to  support  jinja,
352373         while maintaining backwards compat
352374
352375       · #26719: (jodv) Backport 26532 to 2015.8
352376
352377       · #26721: (rallytime) Linode Driver Cleanup
352378
352379       · #26707: (techhat) Add top_level_dir to FORMULAs
352380
352381       · #26723: (s0undt3ch) Handle SPM paths in the setup script
352382
352383       · #26717: (basepi) [2015.8] Revert loader changes from #26645
352384
352385       · #26712: (techhat) Move SPM paths around
352386
352387       · #26680: (TheBigBear) add more python libs info in '--versions-report'
352388
352389       · #26716: (terminalmage) Allow git identity to be a list
352390
352391       · #26691: (garethgreenaway) Fixes to ipset module for 2015.8
352392
352393       · #26701:  (kev009) Ignore the first element of kern.disks split, which
352394         is the sysctl name (new disks grain)
352395
352396       · #26678: (terminalmage) Restructure git.latest rewrite to work  better
352397         when following HEAD
352398
352399       · #26679: (rallytime) Back-port #26661 to 2015.8
352400
352401       · #26684: (techhat) Add reactor formulas to spm
352402
352403       · #26682: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352404
352405       · #26671: (rallytime) Warn users if cloud driver dependencies are miss‐
352406         ing.
352407
352408       · #26674: (rallytime) Back-port #26583 to 2015.8
352409
352410       · #26670: (techhat) Set up SPM to install -conf packages
352411
352412       · #26657: (jfindlay) top file compilation fixes
352413
352414       · #26659: (TheBigBear) minor doc edits - spelling
352415
352416       · #26654: (jfindlay) merge #26650
352417
352418       · #26567: (jtand) Added git version check to git module
352419
352420       · #26649: (twangboy) Fixed Lint for real in win_repo.py
352421
352422       · #26608: (jacobhammons) 2015.8.0 release notes and doc/conf.py updates
352423
352424       · #26646: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352425
352426       · #26645: (rallytime) Back-port #26390 to 2015.8
352427
352428       · #26642: (twangboy) Added function to render winrepo Jinja
352429
352430       · #26625: (twangboy) Correctly detect packages with no version, docs
352431
352432       · #26575: (msteed) Update spm for integration into raas
352433
352434       · #26635: (cro) Don't report windows as a proxy.
352435
352436       · #26622: (rallytime) [2015.8] Also add -Z to  script  args  for  cloud
352437         tests
352438
352439       · #26619: (rallytime) Apply cloud test fixes from 2015.5 to 2015.8
352440
352441       · #26603:  (terminalmage)  Fixes for git.latest, git module integration
352442         tests, etc.
352443
352444       · #26577: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352445
352446       · #26534: (cachedout) Bump required Tornado version to 4.2.1
352447
352448       · #26566: (cachedout) Don't stacktrace trying to publish without a mas‐
352449         ter
352450
352451       · #26541:  (terminalmage)  Make  winrepo  execution module use the same
352452         code as the runner
352453
352454       · #26530: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352455
352456       · #26570: (cachedout) Fix haproxy docs to be valid
352457
352458       · #26562: (cachedout) Fix suprious error message with systemd-detect
352459
352460       · #26557: (jfindlay) add docs to #26550
352461
352462       · #26544: (nmadhok) Do not raise KeyError when calling avail_images  if
352463         VM/template is in disconnected state
352464
352465       · #26501: (terminalmage) Update git_pillar docs, add git.list_worktrees
352466         function
352467
352468       · #26521: (terminalmage) Work around upstream git bug when cloning repo
352469         as root
352470
352471       · #26518: (krak3n) Fix for #25492
352472
352473       · #26514: (evverx) Unmask a runtime masked services too
352474
352475       · #26529: (mnalt) bugfix: fix service.enable for missing rc.conf
352476
352477       · #26516: (techhat) Move more path operations into SPM loader
352478
352479       · #26533: (cachedout) Fix too aggressive even init check
352480
352481       · #26522: (cro) Do not load package provider if its not a proxy
352482
352483       · #26531: (cachedout) Fix failing event tests and modify event init
352484
352485       · #26433:  (cro)  Add  support for default proxy config options, change
352486         default location of proxy  config  and  log  to  /etc/salt/proxy  and
352487         /var/log/proxy
352488
352489       · #26504:  (nmadhok)  [Backport]  Adding ability to specify the virtual
352490         hardware version when creating VM
352491
352492       · #26517: (cachedout) Better fix for opensuse tornado httpclient
352493
352494       · #26479: (rallytime) Don't allow VMs with duplicate names to  be  cre‐
352495         ated in EC2/AWS
352496
352497       · #26488: (cachedout) Don't pass unsupported kwarg to tornado
352498
352499       · #26451:  (terminalmage)  Use  'rpm  -qa' instead of repoquery to list
352500         installed packages
352501
352502       · #26491: (jacobhammons) doc site css fix for tiny fonts that  appeared
352503         in code or pre tags in …
352504
352505       · #26442: (rallytime) Hide API Key from debug logs for Linode Driver
352506
352507       · #26441: (rallytime) Refactor a few linode functions to be useful with
352508         salt-cloud command
352509
352510       · #26485: (s0undt3ch) One more missed typo
352511
352512       · #26495: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352513
352514       · #26492: (cachedout) Fix schedule test error on py26
352515
352516       · #26489: (cachedout) Fixing more tarfile tests on py2.6
352517
352518       · #26475: (cachedout) Better object checking on asyncreq cleanup
352519
352520       · #26477:     (cachedout)      Fix      integration.modules.git.GitMod‐
352521         uleTest.test_archive on py26
352522
352523       · #26469:  (jtand)  --annotate  and  --message  aren't valid options in
352524         older versions of git.
352525
352526       · #26439: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352527
352528       · #26464: (rallytime) Back-port #26456 to 2015.8
352529
352530       · #26463: (rallytime) Back-port #26455 to 2015.8
352531
352532       · #26449: (s0undt3ch) The CLI options are not meant to  include  under‐
352533         scores.
352534
352535       · #26270:  (sjorge) salt.modules.network now supports SmartOS and SunOS
352536         < Solaris 11
352537
352538       · #26436: (TheBigBear) minor edits
352539
352540       · #26410: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352541
352542       · #26427: (anlutro) git.latest with no  rev:  fix  concatenation  error
352543         (NoneType and str)
352544
352545       · #26307: (cachedout) Fix bug in top file ordering
352546
352547       · #26428: (cro) Update docs to reflect new pillar structure
352548
352549       · #26429: (cachedout) Add release note regarding tcp transport on free‐
352550         bsd
352551
352552       · #26418: (driskell) Fix forward-merged caching from 2015.5 into 2015.8
352553         to be compatible with the new match_func
352554
352555       · #26252: (DmitryKuzmenko) Issues/24048 http client 2015.8
352556
352557       · #26413:  (evverx) Fix service.{start,restart,reload,force-reload} for
352558         masked services
352559
352560       · #26393: (dmurphy18) Added option parameters to make_repo to allow for
352561         configuration settings
352562
352563       · #26422:  (TheBigBear) no dots in SLS filename __AND__ any directories
352564         (incl git repos)
352565
352566       · #26323: (0xf10e) Fix Credentials used in glance Exec Module
352567
352568       · #26341: (terminalmage) Rewrite git state and execution modules
352569
352570       · #26419: (terminalmage) Only use pygit2.errors if it exists
352571
352572       · #26423: (eliasp) doc - Correct function name for peer configuration
352573
352574       · #26401: (cachedout) Adapt proxy minion to tornado (w/lint)
352575
352576       · #26400: (rallytime) Back-port #26318 to 2015.8
352577
352578       · #26397: (s0undt3ch) A single isinstance()  check  for  all  types  is
352579         enough
352580
352581       · #26385: (gtmanfred) don't require volume endpoint in nova driver
352582
352583       · #26287: (techhat) Break out SPM components into loaders
352584
352585       · #26384: (TheBigBear)  Fix shell quoting for cmd.run
352586
352587       · #26391: (rallytime) Back-port #26367 to 2015.8
352588
352589       · #26383: (rallytime) Allow the creation of a VM without a profile
352590
352591       · #26375: (s0undt3ch) [2015.8] Schema DictItem required attribute fixes
352592
352593       · #26363: (garethgreenaway) Fixes to mount state 2015.8
352594
352595       · #26347:   (0xf10e)   Load   'pkgng'   as  'pkg'  on  FreeBSD  9  when
352596         providers:pkg == 'pkgng'
352597
352598       · #26361: (TronPaul) sign security token
352599
352600       · #26346: (TronPaul) Fix s3 using IAM credentials
352601
352602       · #26331: (mnalt) fix bug in sysrc to allow for empty rc variables
352603
352604       · #26334: (rallytime) Call  salt.utils.cloud.bootstrap  in  GCE  Driver
352605         provisioning
352606
352607       · #26308:  (dmurphy18) Support for environment overrides building pack‐
352608         ages
352609
352610       · #26279:  (TheScriptSage)  Merge   changes   for   pull`#26083`_   and
352611         pull`#25632`_ into 2015.8
352612
352613       · #26224:   (cachedout)   Cleanup   of   a   few   cases   to  move  to
352614         salt.utils.fopen
352615
352616       · #26260: (nmadhok) Correct spelling of integration in docs
352617
352618       · #26226: (rallytime) Fix #25463
352619
352620       · #26248: (nmadhok) Initial commit  of  unit  tests  for  vmware  cloud
352621         driver
352622
352623       · #26228: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352624
352625       · #26244:  (nmadhok)  Backport  additions  to  VMware cloud driver from
352626         develop to 2015.8 branch
352627
352628       · #26235:  (sjorge)  salt.utils.is_smartos_zone,  inverse  of  is_smar‐
352629         tos_globalzone
352630
352631       · #26221: (sjorge) SmartOS grain fixes
352632
352633       · #26218:  (terminalmage) Add warning about file.recurse unicode errors
352634         with vim swap files.
352635
352636       · #26214: (rallytime) Back-port #24878 to 2015.8
352637
352638       · #26211: (techhat) Move SPM to its own directory
352639
352640       · #26197: (TronPaul) Fix GitFS when whitelisting base
352641
352642       · #26200: (anlutro) Make it possible to run salt-cloud as current user
352643
352644       · #26201: (kev009) Avoid VBOX storage emulation bugs in  FreeBSD  disks
352645         grain
352646
352647       · #26188: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352648
352649       · #26194:  (basepi)  Allow  virtual  grains  to  be  generated  even if
352650         virt-what is not available
352651
352652       · #26176: (rallytime) Back-port #26165 to 2015.8
352653
352654       · #26169: (terminalmage) Fix attribute error in gitfs' find_file  func‐
352655         tions
352656
352657       · #26170:  (nmadhok)  [Backport]  Make  sure  variable  is a dictionary
352658         before popping something from it.
352659
352660       · #26143: (nmadhok) VMware cloud driver fixes [forward port from 2015.5
352661         into 2015.8]
352662
352663       · #26173:  (jacobhammons)  Updates  to  cloud  docs  for the provider >
352664         driver change
352665
352666       · #26125: (evverx) Use timedatectl set-timezone to tzsetting if  avail‐
352667         able
352668
352669       · #26145: (sjorge) smartos_imgadm cleanup
352670
352671       · #26148: (terminalmage) Refactor winrepo support
352672
352673       · #26128: (sjorge) imgadm.avail should return multiple results
352674
352675       · #26109: (jfindlay) fix quote indent
352676
352677       · #26089: (anlutro) User state/module: fix coercing of None into string
352678         "None" in GECOS
352679
352680       · #26081: (cachedout) Move invocation routine up
352681
352682       · #26086: (rallytime) Back-port #26019 to 2015.8
352683
352684       · #26087: (rallytime) Back-port #26059 to 2015.8
352685
352686       · #26052: (jtand) Rh_ip fix
352687
352688       · #26078: (cachedout) Fix missing key in error return
352689
352690       · #26074: (basepi) [2015.8] Re-apply #25358 in 2015.8
352691
352692       · #26069: (jfindlay) fix win_firewall.delete_rule
352693
352694       · #26066:  (s0undt3ch)  [2015.8]  Update  to  latest  bootstrap  stable
352695         release v2015.06.08
352696
352697       · #26049: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352698
352699       · #26026: (anlutro) Fix httpasswd result false positive in test mode
352700
352701       · #26037: (rallytime) Back-port #25489 to 2015.8
352702
352703       · #26004: (techhat) Allow updating a single SPM repo at a time
352704
352705       · #26012: (cachedout) Merge kwargs into opts for tcp client
352706
352707       · #26007:  (anlutro)  file.managed:  wrap os.remove in if isfile, don't
352708         remove on success
352709
352710       · #26009:  (terminalmage)  Add  winrepo  and  dockerng  information  to
352711         2015.8.0 release notes
352712
352713       · #26006: (basepi) Revert #25727 in favor of #25645
352714
352715       · #26001: (cachedout) Fix failing tests
352716
352717       · #25978: (anlutro) Correct service state changes in test mode
352718
352719       · #25982: (sjorge) salt.modules.smartos_* limit to global zone only
352720
352721       · #25989: (rallytime) Back-port #25832 to 2015.8
352722
352723       · #25988: (cachedout) Move #25642 to 2015.8
352724
352725       · #25999: (s0undt3ch) Include subschema defaults
352726
352727       · #25997:  (s0undt3ch)  Allow getting a defaults dictionary from schema
352728         defaults
352729
352730       · #25979: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352731
352732       · #25902: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352733
352734       · #25956: (anlutro) Fix user argument to cron functions
352735
352736       · #25946: (sjorge) Fix for salt.utils.decorators under esky
352737
352738       · #25957: (anlutro)  Remove  temporary  file  after  file.managed  with
352739         checkcmd
352740
352741       · #25874: (rallytime) Back-port #25668 to 2015.8
352742
352743       · #25929:  (sjorge) salt.module.pkgin's __virtual__() should not return
352744         None if pkg_info is not present
352745
352746       · #25952: (garethgreenaway) Log when event.fire  and  event.fire_master
352747         fail 2015.8
352748
352749       · #25944: (sjorge) Smartos libcrypto nonesky fix
352750
352751       · #25906:  (dmurphy18)  Cherry-pick  of  pkgbuild  changes from develop
352752         branch
352753
352754       · #25925: (sjorge) Create default log location in smartos  esky  build‐
352755         script
352756
352757       · #25928: (cachedout) Fix stacktrace for non-existant states
352758
352759       · #25922: (jacksontj) Correct max_wait -> max_auth_wait in MultiMinion
352760
352761       · #25907: (rallytime) Back-port #25892 to 2015.8
352762
352763       · #25910: (terminalmage) Pass osarch to check_32()
352764
352765       · #25849:  (basepi) Repress template error for GPG renderer (can't seek
352766         an OrderedDict)
352767
352768       · #25868: (rallytime) Back-port #25404 to 2015.8
352769
352770       · #25896: (cachedout) Lint
352771
352772       · #25876: (jacksontj) Fixes for 2015.8
352773
352774       · #25867: (rallytime) Back-port #25370 to 2015.8
352775
352776       · #25845: (jacobhammons) updated versionadded
352777
352778       · #25836: (jacksontj) Keep track of SyncWrapper's IOLoop usage
352779
352780       · #25859: (0xf10e) warn_until(Carbon,...) instead of Boron
352781
352782       · #25505: (0xf10e) Glance state module for 2015.8 "Beryllium"
352783
352784       · #25843: (jtand) Fixed a lint error in parsers.py
352785
352786       · #25835: (techhat) spm update_repo doesn't always require arguments
352787
352788       · #25837: (jacobhammons) regenerated man pages
352789
352790       · #25830: (sjorge) Loading of libcrypto on smartos esky fixed
352791
352792       · #25808: (jfindlay) add highstate opts to  config/__init__.py,  update
352793         docs
352794
352795       · #25820: (sjorge) Prerequisite to fix the smartos libcrypto loading
352796
352797       · #25781: (anlutro) Fix iptables.build_rule
352798
352799       · #25764: (gtmanfred) allow use of cloudnetworks in ssh_interface
352800
352801       · #25736: (jfindlay) insert explicit formatter number
352802
352803       · #25742: (rallytime) Back-port #25731 to 2015.8
352804
352805       · #25741: (rallytime) Back-port #25727 to 2015.8
352806
352807       · #25712: (cachedout) Fix outputter for state.apply
352808
352809       · #25698: (rallytime) Back-port #25659 to 2015.8
352810
352811       · #25690: (anlutro) Fix highstate duration alignment (again)
352812
352813       · #25684: (davidjb) Fix doc around Include/Exclude for states
352814
352815       · #25549: (techhat) Switch Scaleway to salt.utils.cloud.bootstrap()
352816
352817       · #25667: (jfindlay) add 2015.8.0rc2 autogenerated changelog
352818
352819       · #25653: (anlutro) Properly align highstate duration sum
352820
352821       · #25663: (rallytime) Back-port #25638 to 2015.8
352822
352823       · #25639:  (terminalmage) Don't do pre-flight check on git_pillar if it
352824         is not configured
352825
352826       · #25587: (cachedout) Fix prereq in salt.state
352827
352828       · #25628: (anlutro) Highstate output: show duration in seconds  instead
352829         of milliseconds when appropriate
352830
352831       · #25631: (basepi) Remove trailing whitespace
352832
352833       · #25627: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352834
352835       · #25626:  (basepi)  Fix  the  highstate outputter if 'duration' is not
352836         present
352837
352838       · #25601: (terminalmage) Fix error message when local bin pkg  path  is
352839         not absolute
352840
352841       · #25595:  (terminalmage)  Bring  git_pillar  up to feature parity with
352842         gitfs
352843
352844       · #25619: (cachedout) Lint stateconf changes
352845
352846       · #25578: (davidjb) Allow parent relative includes in state files
352847
352848       · #25610: (s0undt3ch) [2015.8] Update the bootstrap  script  to  latest
352849         release v2015.07.22
352850
352851       · #25599: (jfindlay) fix transport settings in #25596
352852
352853       · #25596: (jfindlay) Tcp test
352854
352855       · #25591:  (garethgreenaway)  Return  data for scheduled jobs in 2015.8
352856         default to True.
352857
352858       · #25588: (basepi) Fix some of the retcode work from #23105
352859
352860       · #25583: (jtand) Fixed lint error where pprint wasn't imported.
352861
352862       · #25572: (rallytime) Back-port #25570 to 2015.8
352863
352864       · #25575: (rallytime) Make Sure Scaleway driver works with  deprecation
352865         paths
352866
352867       · #25564: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352868
352869       · #25566: (techhat) Fix download process for SPM repo updates
352870
352871       · #25553: (techhat) Switch SoftLayer to salt.utils.cloud.bootstrap()
352872
352873       · #25552: (techhat) Update pricing for SoftlayerHW
352874
352875       · #25547: (techhat) Switch Parallels to salt.utils.cloud.bootstrap()
352876
352877       · #25548: (techhat) Switch Proxmox to salt.utils.cloud.bootstrap()
352878
352879       · #25543: (techhat) Switch GCE to salt.utils.cloud.bootstrap()
352880
352881       · #25546: (techhat) Switch CloudStack to salt.utils.cloud.bootstrap()
352882
352883       · #25558: (cachedout) Lint config_test
352884
352885       · #25515: (s0undt3ch) salt.utils.schema fixes
352886
352887       · #25514:  (garethgreenaway)  fixes  to  schedule.add  documentation in
352888         2015.8
352889
352890       · #25508: (s0undt3ch) [2015.8] Update bootstrap script to latest stable
352891         release, v2015.07.17
352892
352893       · #25501:  (basepi)  Add  optional  job  end  time  to  the local_cache
352894         returner
352895
352896       · #25491: (s0undt3ch) Let's call it for what it is!
352897
352898       · #25462: (rallytime) Wrap is_profile_configrured calls  in  try/except
352899         block
352900
352901       · #25439: (rallytime) Reduce digital_ocean API call frequency
352902
352903       · #25451: (s0undt3ch) Salt-SSH Scan roster bugfixes (And Py3 support)
352904
352905       · #25449: (ruzarowski) Exclude dotfiles and directories from minion key
352906         lists (Fixes #25448)
352907
352908       · #25421: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352909
352910       · #25412: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352911
352912       · #25415: (bechtoldt) [docs] declare YAML as code block
352913
352914       · #25407: (rallytime) Back-port #23236 to 2015.8
352915
352916       · #25409: (rallytime) Back-port #24422 to 2015.8
352917
352918       · #25394: (rallytime) Back-port #25355 to 2015.8
352919
352920       · #25393: (rallytime) Back-port #25289 to 2015.8
352921
352922       · #25387: (cachedout) Lint #25319
352923
352924       · #25319:   (ruzarowski)   [cloud:EC2]   Move   SourceDest   logic   to
352925         _update_enis and add  alias for delete_interface_on_terminate
352926
352927       · #25310: (anlutro) Add an "is list" test to the jinja environment
352928
352929       · #25264: (ruzarowski) Fix AttributeError in fileserver update_opts
352930
352931       · #25372: (rallytime) Don't stacktrace when provisioning instances with
352932         softlayer* drivers
352933
352934       · #25315: (ruzarowski) [cloud:EC2] Move handling  of  AssociatePublicI‐
352935         pAddress  to  associate_eip/allocate_new_eip logic depending on value
352936         type
352937
352938       · #25312: (ruzarowski) [cloud:EC2] Introduce eni Name property  to  set
352939         name tag value after its creation
352940
352941       · #25311:  (ruzarowski)  [cloud:EC2]  Add ability to attach an existing
352942         eni
352943
352944       · #25280: (rallytime) Remove deprecation warnings for Beryllium
352945
352946       · #25329: (twangboy) Fixed some documentation errors
352947
352948       · #25300: (s0undt3ch) Fix ordering issue & Added requirements support
352949
352950       · #25283: (jfindlay) ensure ret is always defined
352951
352952       · #25252:  (jfindlay)  make  args  optional  with  default  values   in
352953         win_firewall.delete_rule
352954
352955       · #25257: (notpeter) Document SourceDestCheck added in #25242.
352956
352957       · #25298: (twangboy) Continue if profile not found
352958
352959       · #25296: (twangboy) Fixed file.comment for windows
352960
352961       · #25254:   (rallytime)  Change  versionadded/changed  references  from
352962         Beryllium to 2015.8.0
352963
352964       · #25285: (thusoy) Remove error logging of missing victorops keys
352965
352966       · #25266: (ruzarowski) cloud: EC2 eni  property  SourceDestCheck  is  a
352967         AttributeBooleanValue
352968
352969       · #25216: (jfindlay) replace shell code with native python code
352970
352971       · #25278:  (rallytime)  Don't  require  size for all cloud drivers when
352972         checking profile configs
352973
352974       · #25271: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
352975
352976       · #25263: (techhat) Allow non-standard HTTP requests on tornado
352977
352978       · #25253: (s0undt3ch) Remove the deprecation warning.  The  driver  has
352979         been renamed.
352980
352981       · #25248: (techhat) Do not resize while iterating
352982
352983       · #25244: (rallytime) Remove parted deprecations and fix failing tests
352984
352985       · #25242:  (ruzarowski)  Make SourceDestCheck flag available to network
352986         interface definition
352987
352988       · #25226: (nmadhok) Backporting fix for issue #25223 on 2015.8 branch
352989
352990       · #25234: (krak3n) Fix: Bug  in  boto_asg  state  argument  passing  to
352991         boto_asg module
352992
352993       · #25222: (rallytime) Back-port #25219 to 2015.8
352994
352995       · #25188:  (rallytime)  Use  linode status descriptions instead of ints
352996         when logging status to CLI
352997
352998       · #25203: (s0undt3ch) Added DictConfig with tests & More tests
352999
353000       · #25189: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
353001
353002       · #25184: (rallytime) Back-port #25126 to 2015.8
353003
353004       · #25172: (s0undt3ch) Comment out imports while the YAML and  RST  ren‐
353005         dering is not in-place.
353006
353007       · #25158: (s0undt3ch) Comment out not implemented code
353008
353009       · #25145:  (s0undt3ch)  Implement oneOf, anyOf, allOf and not with unit
353010         tests
353011
353012       · #25140: (s0undt3ch) Make the detection code work under Python 3.4
353013
353014       · #25131: (s0undt3ch) Array support in salt.utils.config
353015
353016       · #25130: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
353017
353018       The 2015.8.0 feature release of Salt contains several  major  new  fea‐
353019       tures.  As  usual  the  release  notes are not exhaustive and primarily
353020       include the most notable additions and improvements. Hundreds  of  bugs
353021       have  been  fixed  and many modules have been substantially updated and
353022       added.
353023
353024   New SaltStack Installation Repositories
353025       SaltStack now provides installation repositories for several platforms,
353026       with more to come.  See the following links for instructions:
353027
353028       · Red Hat / CentOS 5, 6, 7
353029
353030       · Debian 8
353031
353032       · Windows
353033
353034   Send Event on State Completion
353035       A  fire_event  global  state keyword argument was added that allows any
353036       state to send an event upon completion. Useful for custom progress bars
353037       and checking in on long state runs. See fire_event.
353038
353039   ZeroMQ socket monitoring
353040       If  zmq_monitor  is  enabled,  log all ZMQ events for socket monitoring
353041       purposes. Verbose, but useful.
353042
353043   SPM (Salt Package Manager)
353044       Allows Salt formulas to be packaged for ease of deployment. See spm.
353045
353046       NOTE:
353047          The spm executable was not included in the Debian or Ubuntu packages
353048          for  the  2015.8.0 or the 2015.8.1 releases. This executable will be
353049          included in an upcoming release.  As  a  workaround,  copy  the  SPM
353050          script  from  the  salt  library installation into /usr/local/bin or
353051          your local equivalent.
353052
353053   Specify a Single Environment for Top Files
353054       A new default_top option was added to load the state top  file  from  a
353055       single,  specific  environment, rather than merging top data across all
353056       environments. Additionally, new top_file_merge_strategy  and  env_order
353057       options  were added for more control over top file merging. See The Top
353058       File.
353059
353060   Tornado TCP Transport
353061       Implemented a pure-TCP transport, in addition to ZeroMQ and  RAET.  The
353062       new transport uses Tornado, which allows Salt to use a standardized set
353063       of libraries for asynchronous behavior, which  should  greatly  improve
353064       reliability and performance.
353065
353066       NOTE:
353067          Tornado  is  considered  expiremental in this release. The following
353068          known issues were being investigated at the time of release:
353069
353070          · TCP tests show performance degredation over time (issue #26051)
353071
353072          · TCP transport stacktrace on windows minion: Future  exception  was
353073            never retrieved (issue #25718)
353074
353075          · [freebsd] TCP transport not working in 2015.8.0rc3 (issue #26364)
353076
353077   Proxy Minion Enhancements
353078       Proxy  Minions  have  undergone  a  significant overhaul in 2015.8, see
353079       Proxy Minion Enhancements.
353080
353081   Engines
353082       Salt engines are long-running, external processes that  leverage  Salt.
353083       See Salt Engines.
353084
353085   Core Changes
353086       · Add  system  version  info  to versions_report, which appears in both
353087         salt --versions-report and salt '*' test.versions_report. Also  added
353088         is an alias test.versions to test.versions_report. (issue #21906)
353089
353090       · Add  colorized  console  logging support.  This is activated by using
353091         %(colorlevel)s,  %(colorname)s,  %(colorprocess)s,  %(colormsg)s   in
353092         log_fmt_console  in the config file for any of salt-master, salt-min‐
353093         ion, and salt-cloud.
353094
353095   Git Pillar
353096       The git external pillar has been rewritten to bring it  up  to  feature
353097       parity  with gitfs. Support for pygit2 has been added, bringing with it
353098       the ability to access authenticated repositories.
353099
353100       Using the new features will require updates to the git ext_pillar  con‐
353101       figuration, further details can be found in the pillar.git_pillar docs.
353102
353103   Salt Cloud Improvements
353104       · Pricing  data  from several cloud providers (GCE, DigitalOcean, Soft‐
353105         Layer_HW, EC2)
353106
353107       · All cloud providers now use standardized bootstrapping code.
353108
353109       · Modified the Linode Salt Cloud driver  to  use  Linode's  native  API
353110         instead of depending on apache-libcloud or linode-python.
353111
353112   Salt Cloud Changes
353113       · Changed  the  default behavior of rename_on_destroy to be set to True
353114         in the EC2 and AWS drivers.
353115
353116       · Changed the default behavior of the EC2 and  AWS  drivers  to  always
353117         check  for  duplicate  names of VMs before trying to create a new VM.
353118         Will now throw an error similarly to other  salt-cloud  drivers  when
353119         trying to create a VM of the same name, even if the VM is in the ter‐
353120         minated state.
353121
353122       · When querying for VMs in  digital_ocean.py,  the  number  of  VMs  to
353123         include  in a page was changed from 20 (default) to 200 to reduce the
353124         number of API calls to Digital Ocean.Ocean.
353125
353126   State and Execution Module Improvements
353127       · New and improved Docker state and execution modules (state and execu‐
353128         tion module).
353129
353130   Git State and Execution Modules Rewritten
353131       The  git  state  and  execution  modules have gone through an extensive
353132       overhaul.
353133
353134   Changes in the git.latest State
353135       · The branch argument has been added, allowing for a custom branch name
353136         to  be used in the local checkout maintained by the git.latest state.
353137         This can be helpful in avoiding ambiguous refs in the local  checkout
353138         when  a  tag  is used as the rev argument. If no branch is specified,
353139         then the state uses the value of rev as the branch name.
353140
353141       · The always_fetch argument no longer  has  any  effect,  and  will  be
353142         removed  in  a future release. The state now detects whether or not a
353143         fetch is needed based on  comparisons  made  between  the  local  and
353144         remote repositories.
353145
353146       · The force_fetch argument has been added to force a fetch if the fetch
353147         is not a fast-forward (for instance, if someone has done a reset  and
353148         force-pushed to the remote repository).
353149
353150       · The remote_name argument has been deprecated and renamed to remote.
353151
353152       · The  force argument has been deprecated and renamed to force_clone to
353153         reduce ambiguity with the other "force" arguments.
353154
353155       · Using SHA1 hashes (full or shortened) in  the  rev  argument  is  now
353156         properly supported.
353157
353158       · Non-fast-forward  merges  are  now  detected before the repository is
353159         updated, and the state will not update the repository if  the  change
353160         is  not  a  fast-forward. Non-fast-forward updates must be overridden
353161         with the force_reset argument. If force_reset is  set  to  True,  the
353162         state  will only reset the repository if it cannot be fast-forwarded.
353163         This is in contrast to the earlier behavior, in  which  a  hard-reset
353164         would  be  performed  every time the state was run if force_reset was
353165         set to True.
353166
353167       · A git pull is no longer performed by this state, dropped in favor  of
353168         a fetch-and-merge (or fetch-and-reset) workflow.
353169
353170   git.config_unset state added
353171       This  state  allows  for  configuration  values  (or entire keys) to be
353172       unset. See here for more information and example SLS.
353173
353174   git.config State Renamed to git.config_set
353175       To  reduce  confusion  after  the  addition  of  git.config_unset,  the
353176       git.config state has been renamed to git.config_set. The old config.get
353177       name will still work for a couple releases, allowing time for SLS files
353178       to be updated.
353179
353180       In  addition,  this state now supports managing multivar git configura‐
353181       tion values. See here for more information and example SLS.
353182
353183   Initial Support for Git Worktrees in Execution Module
353184       Several functions have been added to the  execution  module  to  manage
353185       worktrees  (a  feature  new to Git 2.5.0). State support does not exist
353186       yet, but will follow soon.
353187
353188   New Functions in Git Execution Module
353189       · git.config_get_regexp
353190
353191       · git.config_unset
353192
353193       · git.is_worktree
353194
353195       · git.list_branches
353196
353197       · git.list_tags
353198
353199       · git.list_worktrees
353200
353201       · git.merge_base
353202
353203       · git.merge_tree
353204
353205       · git.rev_parse
353206
353207       · git.version
353208
353209       · git.worktree_rm
353210
353211       · git.worktree_add
353212
353213       · git.worktree_prune
353214
353215   Changes to Functions in Git Execution Module
353216   git.add
353217       · --verbose is now implied when running the git add command, to provide
353218         a list of the files added in the return data.
353219
353220   git.archive
353221       · Now  returns  True  when  the git archive command was successful, and
353222         otherwise raises an error.
353223
353224       · The overwrite argument has been added to prevent an existing  archive
353225         from being overwritten by this function.
353226
353227       · The fmt argument has been deprecated and renamed to format.
353228
353229       · Trailing slash no longer implied in prefix argument, must be included
353230         if this argument is passed.
353231
353232   git.checkout
353233       · The rev argument is now optional when using -b or -B in opts,  allow‐
353234         ing  for a branch to be created (or reset) using HEAD as the starting
353235         point.
353236
353237   git.clone
353238       · The name argument has been added to specify the name of the directory
353239         in  which  to clone the repository. If this option is specified, then
353240         the clone will be made within the directory  specified  by  the  cwd,
353241         instead of at that location.
353242
353243       · The repository argument has been deprecated and renamed to url.
353244
353245   git.config_get
353246       · The setting_name argument has been deprecated and renamed to key.
353247
353248       · The  global argument has been added, to query the global git configu‐
353249         ration
353250
353251       · The all argument has been added to return a list of  all  values  for
353252         the  specified  key,  allowing  for  all  values  in a multivar to be
353253         returned.
353254
353255       · The cwd argument is now optional if global is set to True
353256
353257   git.config_set
353258       · The value(s) of the key being set are now returned
353259
353260       · The setting_name argument has been deprecated and renamed to key.
353261
353262       · The setting_value argument has been deprecated and renamed to value.
353263
353264       · The is_global argument has been deprecated and renamed to global.
353265
353266       · The multivar argument has been added to specify a list of  values  to
353267         set  for the specified key. The value argument is not compatible with
353268         multivar.
353269
353270       · The add argument has been added to add a value to a key (this  essen‐
353271         tially  just  adds  an --add to the git config command that is run to
353272         set the value).
353273
353274   git.fetch
353275       · The force argument has been added to force the fetch when it is not a
353276         fast-forward. This could have been achieved in previous Salt versions
353277         by including --force in the opts argument, this argument is just  for
353278         convenience  and  to  match  the  usage of other functions with force
353279         arguments.
353280
353281       · The refspecs argument has been added to allow for one  or  more  ref‐
353282         specs  to  be  provided  which  override  the one(s) specified by the
353283         remote.remote_name.fetch git configuration option.
353284
353285   git.ls_remote
353286       · The repository argument has been deprecated and renamed to remote.
353287
353288       · The branch argument has been deprecated and renamed to ref.
353289
353290       · The opts argument has been added to allow for additional CLI  options
353291         to be passed to the git ls-remote command.
353292
353293   git.merge
353294       · The branch argument has been deprecated and renamed to rev.
353295
353296   git.status
353297       · Return  data  has  been  changed from a list of lists to a dictionary
353298         containing lists of  files  in  the  modified,  added,  deleted,  and
353299         untracked states.
353300
353301   git.submodule
353302       · Added  the command argument to allow for operations other than update
353303         to be run on submodules, and deprecated the init argument.  To  do  a
353304         submodule  update  with  init=True moving forward, use command=update
353305         opts='--init'.
353306
353307       · OpenStack Glance API V2 execution module
353308
353309       · Amazon VPC state module
353310
353311       · RallyDev execution module
353312
353313       · BambooHR execution module
353314
353315       · Stormpath execution, state modules
353316
353317       · Remove unused argument timeout in jboss7.status.
353318
353319       · Deprecate enabled argument in pkgrepo.managed in favor of disabled.
353320
353321       · Archive module changes: In the archive.tar and archive.cmd_unzip mod‐
353322         ule  functions,  remove the arbitrary prefixing of the options string
353323         with -. An options string beginning with a --long-option, would  have
353324         uncharacteristically  needed  its  first  -  removed under the former
353325         scheme.  Also, tar  will  parse  its  options  differently  if  short
353326         options  are  used  with or without a preceding -, so it is better to
353327         not confuse the user into thinking they're using the non-  -  format,
353328         when really they are using the with- - format.
353329
353330       · Added  __states__  to  state  modules, for cross-calling states. This
353331         enables using existing states when writing custom states.  See  cross
353332         calling states.
353333
353334   Windows Improvements
353335       · Enhanced  the  windows  minion  silent installation with command line
353336         parameters to configure the salt master and minion name.  See  Silent
353337         Installer Options.
353338
353339       · Improved  user  management  with  additional capabilities in the user
353340         module for Windows.
353341
353342       · Improved patch management with a  new  module  for  managing  windows
353343         updates (win_wua).
353344
353345       · Turned  on multi-processing by default for windows in minion configu‐
353346         ration.
353347
353348   Windows Software Repo Changes
353349       A next-generation (ng) windows software repo is available for  2015.8.0
353350       and  later  minions.  When using this new repository, the repo cache is
353351       compiled on the Salt Minion, which enables  pillar,  grains  and  other
353352       things to be available during compilation time.
353353
353354       See the Windows Software Repository documentation for more information.
353355
353356   Changes to legacy Windows repository
353357       If  you  have pre 2015.8 Windows minions connecting to your 2015.8 Salt
353358       master, you can continue to use the legacy Windows repository for these
353359       Salt minions.
353360
353361       If  you  were previously using this repository and have customized set‐
353362       tings, be aware that several config options have been renamed  to  make
353363       their naming more consistent.
353364
353365       See the Windows Software Repository documentation for more information.
353366
353367   Win System Module
353368       The  unit of the timeout parameter in the system.halt, system.poweroff,
353369       system.reboot,  and system.shutdown functions  has  been  changed  from
353370       seconds  to  minutes  in  order to be consistent with the linux timeout
353371       setting. (issue #24411)  Optionally, the unit can be reverted  to  sec‐
353372       onds by specifying in_seconds=True.
353373
353374   Other Improvements
353375       · Sanitize sensitive fields in http.query
353376
353377       · Allow authorization to be read from Django and eauth
353378
353379       · Add templating to SMTP returner
353380
353381       · New REST module for SDB
353382
353383       · Added  rest_timeout  config  option  and timeout argument to jobs api
353384         call
353385
353386       · Provide config options for Raet lane and road buffer  count.  (Useful
353387         for BSD kernels)
353388
353389       · Implemented ZeroMQ socket monitor for master and minion
353390
353391       · Add end time to master job cache for jobs (optional, off by default)
353392
353393       · Tornado is now the default backend for http.request
353394
353395       · Support pillarenv selection as it's done for saltenv
353396
353397       · salt  was  updated  to use python-crypto version 2.6.1, which removes
353398         the dependency on python-m2crypto.
353399
353400   Deprecations
353401       · The digital_ocean.py Salt Cloud driver was removed in  favor  of  the
353402         digital_ocean_v2.py  driver  as  DigitalOcean has removed support for
353403         APIv1.  The digital_ocean_v2.py was renamed to  digital_ocean.py  and
353404         supports DigitalOcean's APIv2.
353405
353406       · The  vsphere.py Salt Cloud driver has been deprecated in favor of the
353407         vmware.py driver.
353408
353409       · The openstack.py Salt Cloud driver has been deprecated  in  favor  of
353410         the nova.py driver.
353411
353412       · The  use  of  provider  in  Salt Cloud provider files to define cloud
353413         drivers has been deprecated in favor of using driver. Both terms will
353414         work until the 2017.7.0 release of Salt. Example provider file:
353415
353416          my-ec2-cloud-config:
353417            id: 'HJGRYCILJLKJYG'
353418            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
353419            private_key: /etc/salt/my_test_key.pem
353420            keyname: my_test_key
353421            securitygroup: default
353422            driver: ec2
353423
353424       · The  use  of  lock  has  been  deprecated  and from salt.utils.fopen.
353425         salt.utils.flopen should be used instead.
353426
353427       · The   following   args   have   been   deprecated   from   the   rab‐
353428         bitmq_vhost.present state: user, owner, conf, write, read, and runas.
353429
353430       · The  use  of runas has been deprecated from the rabbitmq_vhost.absent
353431         state.
353432
353433       · Support for output in mine.get was  removed.  --out  should  be  used
353434         instead.
353435
353436       · The  use  of  delim  was  removed from the following functions in the
353437         match execution module: pillar_pcre, pillar, grain_pcre,
353438
353439   Security Fixes
353440       CVE-2015-6918 - Git modules leaking HTTPS auth credentials to debug log
353441
353442       Updated the Git state and execution modules to no longer display  HTTPS
353443       basic  authentication  credentials in loglevel debug output on the Salt
353444       master. These credentials are now replaced with REDACTED in  the  debug
353445       output. Thanks to Andreas Stieger <asteiger@suse.com> for bringing this
353446       to our attention.
353447
353448   Major Bug Fixes
353449       · Fixed minion failover to next master on DNS errors (issue #21082)
353450
353451       · Fixed memory consumption in SaltEvents (issue #25557)
353452
353453       · Don't lookup outside system path in which() util (issue #24085)
353454
353455       · Fixed broken jobs rest api call (issue #23408)
353456
353457       · Fixed stale grains data using in modules (issue #24073)
353458
353459       · Added ssh_identities_only config flag for ssh-agent configured  envi‐
353460         ronments (issue #24096)
353461
353462       · Fixed  "object  has  no  attribute"  errors for Raet transport (issue
353463         #21640)
353464
353465       · Flush event returners before master exit (issue #22814)
353466
353467       · Fix CommandExecutionError in grains generation with lspci missing  (‐
353468         issue #23342)
353469
353470       · Fix  salt-ssh  against  CentOS 7 when python-zmq not installed (issue
353471         #23503)
353472
353473       · Fix salt-ssh issues related to out-of-date six module (issue #20949)
353474
353475       · Fix salt-ssh thin generation after previous run  was  interrupted  (‐
353476         issue #24376)
353477
353478       · Use  proper line endings on Windows with "file.managed" w/contents (‐
353479         issue #25675)
353480
353481       · Fixed broken comment/uncomment functions in file.py (issue #24620)
353482
353483       · Fixed problem with unicode when changing computer description  (issue
353484         #12255)
353485
353486       · Fixed problem with chocolatey module not loading (issue #25717)
353487
353488       · Fixed  problem  adding users to groups with spaces in the name (issue
353489         #25144)
353490
353491       · Fixed problem adding full name to user account (issue #25206)
353492
353493       · Fixed gem module stack trace (issue #21041)
353494
353495       · Fixed problem with file.managed when test=True (issue #20441)
353496
353497       · Fixed problem with powershell hanging while waiting for user input (‐
353498         issue #13943)
353499
353500       · Fixed  problem  where  the salt-minion service would not consistently
353501         start (issue #25272)
353502
353503       · Fixed problem where pkg.refresh_db would return True even  when  win‐
353504         repo.p was not found (issue #18919)
353505
353506       · Could someone please provide end to end example for Proxy Minion with
353507         REST (issue #25500)
353508
353509       · Proxy minions  stopped  working  between  2014.7  and  2015.5  (issue
353510         #25053)
353511
353512       · Proxy  minion  documentation  includes  outdated  code  sample (issue
353513         #24018)
353514
353515       · Proxy Minion documentation missing grains example (issue #18273)
353516
353517       · Improve process management in proxy minion (issue #12024)
353518
353519       · Proxy minion never comes up with message ' I am XXX and I am not sup‐
353520         posed to start any proxies.' (issue #25908)
353521
353522       · Fixed  an  issue  that  caused an exception when using Salt mine from
353523         pillar. (issue #11509)
353524
353525   Salt 2015.8.1 Release Notes
353526       Version 2015.8.1 is a bugfix release for 2015.8.0.
353527
353528   Statistics
353529       · Total Merges: 201
353530
353531       · Total Issue References: 39
353532
353533       · Total PR References: 135
353534
353535       · Contributors:  40  (DmitryKuzmenko,  The-Loeki,  TheBigBear,  basepi,
353536         bechtoldt,  bernieke,  blueyed,  cachedout,  cedwards,  clinta,  cro,
353537         deuscapturus,  dmurphy18,   dsumsky,   eliasp,   flowhamster,   isbm,
353538         jacksontj,  jacobhammons,  jfindlay,  justinta, l2ol33rt, macgyver13,
353539         meggiebot,   msteed,   multani,   nasenbaer13,   perfinion,   pprkut,
353540         rallytime,    rhealitycheck,    ruzarowski,   ryan-lane,   s0undt3ch,
353541         systembell, techhat, terminalmage, ticosax, twangboy, whiteinge)
353542
353543   Security Fixes
353544       CVE-2015-6941 The Windows user module and salt-cloud display  passwords
353545       in log when log level is set to debug or more verbose.
353546
353547       For  the  Windows  user  module,  the password is now replaced with the
353548       string XXX-REDACTED-XXX.
353549
353550       For salt-cloud, debug  logging  no  longer  displays  win_password  and
353551       sudo_password authentication credentials.
353552
353553       CVE-2015-6918  Git  state/execution  modules log HTTPS auth credentials
353554       when log level is set to debug or more verbose.
353555
353556       These credentials are now replaced with REDACTED in the  debug  output.
353557       Thanks  to Andreas Stieger <asteiger@suse.com> for bringing this to our
353558       attention.
353559
353560   Major Bug Fixes
353561       · Add support for spm.d/*.conf configuration of SPM (issue #27010)
353562
353563       · Fix proxy grains breakage for non-proxy minions (issue #27039)
353564
353565       · Fix global key management for git state
353566
353567       · Fix passing http auth to util.http from state.file (issue #21917)
353568
353569       · Fix multiprocessing: True in windows (on by default`)
353570
353571       · Add pkg.info to pkg modules
353572
353573       · Fix name of serial grain (this was accidentally renamed in 2015.8.0`)
353574
353575       · Merge config values from master.d/minion.d conf  files  (rather  than
353576         flat update`)
353577
353578       · Clean grains cache on grains sync (issue #19853)
353579
353580       · Remove  streamed  response  for  fileclient to avoid HTTP redirection
353581         problems (issue #27093)
353582
353583       · Fixed incorrect warning about osrelease grain (issue #27065)
353584
353585       · Fix authentication via Salt-API with tokens (issue #27270)
353586
353587       · Fix winrepo downloads from https locations (issue #27081)
353588
353589       · Fix potential error with salt-call as non-root user (issue #26889)
353590
353591       · Fix global minion provider overrides (issue #27209)
353592
353593       · Fix backward compatibility issues for pecl modules
353594
353595       · Fix Windows  uninstaller  to  only  remove  ./bin,  salt*,  nssm.exe,
353596         uninst.exe (issue #27383)
353597
353598       · Fix misc issues with mongo returner.
353599
353600       · Add sudo option to cloud config files (issue #27398)
353601
353602       · Fix regression in RunnerClient argument handling (issue #25107)
353603
353604       · Fix dockerng.running replacing creation hostconfig with runtime host‐
353605         config (issue #27265)
353606
353607       · Fix dockerng.running replacing creation hostconfig with runtime host‐
353608         config (issue #27265)
353609
353610       · Increased  performance on boto asg/elb states due to __states__ inte‐
353611         gration
353612
353613       · Windows minion  no  longer  requires  powershell  to  restart  (issue
353614         #26629)
353615
353616       · Fix x509 module to support recent versions of OpenSSL (issue #27326)
353617
353618       · Some issues with proxy minions were corrected.
353619
353620   Known Issues
353621       · Proxy minions currently cannot execute a highstate because of the way
353622         the proxymodule is being loaded internally.  This will be fixed in  a
353623         future release.
353624
353625   Changelog for v2015.8.0..v2015.8.1
353626       Generated at: 2018-05-27 22:48:32 UTC
353627
353628       · PR  #27588:  (jfindlay)  add  autogenerated  2015.8.1 release notes @
353629         2015-10-01 04:52:32 UTC
353630
353631         · 87d86e4b3e Merge pull request #27588 from jfindlay/2015.8
353632
353633         · f2eb20f26b add autogenerated 2015.8.1 release notes
353634
353635       · PR #27584: (jacobhammons) added  changes  list  to  2015.8.1  release
353636         notes @ 2015-10-01 04:32:47 UTC
353637
353638         · f7510baf33    Merge    pull    request    #27584   from   jacobham‐
353639           mons/release-notes
353640
353641         · ee4a3b3549 added changes list for 2015.8.1
353642
353643       · ISSUE #27532: (centromere) salt-cloud does not  recognize  terminated
353644         instances (refs: #27575)
353645
353646       · PR  #27575:  (rallytime)  Don't  report existing instances as running
353647         only if they're actually terminated in EC2 @ 2015-09-30 22:17:24 UTC
353648
353649         · 1a31b19f15 Merge pull request #27575 from rallytime/fix-27532
353650
353651         · 57c6535fc2 Make sure message is the most accurate. Instance may  be
353652           stopped or shutting down.
353653
353654         · da6b4b3604  Don't  report  existing  instances  as  running only if
353655           they're actually terminated
353656
353657       · ISSUE #27290: (pirogoeth) Grains set in minion_opts do not appear  in
353658         a call to grains.items. (refs: #27573)
353659
353660       · PR  #27573: (basepi) [2015.8] Use the custom yaml serializer for min‐
353661         ion_opts for salt-ssh @ 2015-09-30 21:16:22 UTC
353662
353663         · bee78a4e5c      Merge      pull      request      #27573       from
353664           basepi/salt-ssh.grains.minion_opts.27290
353665
353666         · 0785438b3f  Use  the  custom  yaml  serializer  for minion_opts for
353667           salt-ssh
353668
353669       · ISSUE #27326: (ralphvanetten) Signing the X509  CA  certificate  does
353670         not work on Debian 8 (refs: #27514)
353671
353672       · PR  #27514: (clinta) Recent Versions of OpenSSL don't allow importing
353673         incomplete PEMs @ 2015-09-30 19:33:12 UTC
353674
353675         · a4a53ecff5 Merge pull request #27514 from clinta/2015.8-27326
353676
353677         · 515e62bfa7 change "None" to empty string
353678
353679         · 2989f24169 fix 27326 and fix minor errors in docs.
353680
353681       · PR #27564: (jacobhammons) Man pages @ 2015-09-30 19:29:37 UTC
353682
353683         · 6cf0228adc Merge pull request #27564 from jacobhammons/man-pages
353684
353685         · cc37dc1087 updated version in salt.7
353686
353687         · a9dcb23a13 regenerated man pages for 2015.8.1
353688
353689       · ISSUE #26629: (efficks) Windows minion: Remove  powershell  dependen‐
353690         cies (refs: #27522)
353691
353692       · PR  #27522:  (twangboy)  Removed  dependency on powershell to restart
353693         salt-minion @ 2015-09-30 16:19:29 UTC
353694
353695         · fd11e0cd95 Merge pull request #27522 from twangboy/fix_26629
353696
353697         · 163c54505d Fixed tests... hopefully
353698
353699         · dc8c01ed07 Fixed some lint
353700
353701         · 2cb0f12696 Removed dependency on powershell to restart salt-minion
353702
353703       · PR #27550: (rallytime) [2015.8] Clean up salt-cloud logging and  make
353704         it more useful @ 2015-09-30 15:48:53 UTC
353705
353706         · eb76531e96 Merge pull request #27550 from rallytime/cloud-logging
353707
353708         · 9e0fccd543  Don't  commit  private-ip  changes from testing another
353709           bug...
353710
353711         · 78c85fbb31 Add unit tests for new recursive function
353712
353713         · d9a2dc6bc5 [2015.8] Clean up salt-cloud logging and  make  it  more
353714           useful
353715
353716       · ISSUE   #27281:  (lrhazi)  Wrong  path  for  yum  repo  in  installa‐
353717         tion-rhel-repo (refs: #27517)
353718
353719       · ISSUE #27179: (samhamilton) Debian  Install  Instructions  Shows  Two
353720         Different Repos (refs: #27517)
353721
353722       · PR  #27517: (jacobhammons) Updated install docs @ 2015-09-30 15:19:51
353723         UTC
353724
353725         · 1f7ea7c764 Merge pull request #27517 from jacobhammons/install-docs
353726
353727         · 167fd2304e Fixed a duplicated link ID
353728
353729         · c05fa71f91 Updated install docs Refs #27281 Refs #27179
353730
353731       · PR #27526: (eliasp) Add missing newlines before param listing to  fix
353732         doc rendering @ 2015-09-30 15:19:04 UTC
353733
353734         · 2a4c11ae24   Merge  pull  request  #27526  from  eliasp/2015.8-mod‐
353735           ules.slack_notify-doc-params
353736
353737         · 204e66943f Add missing newlines before param  listing  to  fix  doc
353738           rendering
353739
353740       · PR  #27525:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
353741         2015-09-30 03:38:22 UTC
353742
353743         · e5de9409c2  Merge  pull  request  #27525   from   basepi/merge-for‐
353744           ward-2015.8
353745
353746         · 1f3eb1c526 Remove useless mocked unit test
353747
353748         · 73b90f155e  Merge  remote-tracking  branch  'upstream/2015.5'  into
353749           merge-forward-2015.8
353750
353751           · 6d773f66c3  Merge  pull  request  #27516  from  basepi/merge-for‐
353752             ward-2015.5
353753
353754             · a08951f0fa  Merge remote-tracking branch 'upstream/2014.7' into
353755               merge-forward-2015.5
353756
353757             · 5262f01325 Merge pull request #27335 from  rallytime/cloud-log‐
353758               ging-7
353759
353760               · adeb1dcad4 Pylint Fix
353761
353762               · 588c13783c Salt-cloud logging clean up for windows functions
353763
353764               · 9b6000135c [2014.7] Fixup salt-cloud logging
353765
353766           · 68d784c3dd Merge pull request #27472 from cachedout/fix_27447
353767
353768             · 5e745ad6da  Change  recommeded  schema  for data field in mysql
353769               event table
353770
353771           · ee6e0ed057 Merge pull request #27468 from cachedout/fix_27351
353772
353773             · 0bc37c0d41 Fix test
353774
353775             · f9a19720de fix sysctl truncating newline on os x
353776
353777           · a214c7f84e Merge pull request #27479 from aboe76/fix_locale_suse
353778
353779             · a8f2dad1be fix locale on opensuse and suse #27438
353780
353781           · 931f593b51 Merge pull request #27483 from rallytime/fix-17103
353782
353783             · 441241eb90 Change sync_outputters to  sync_output  for  consis‐
353784               tency, but alias sync_outputters
353785
353786             · 105528720b Outputters should sync to output, not outputters, on
353787               the minion.
353788
353789           · 9c2c028953   Merge    pull    request    #27484    from    rally‐
353790             time/bp-27434-and-27470
353791
353792             · 5de2ee35ab Minor doc fixup.
353793
353794             · af656c7e87 Doc: copy key to server via ssh-copy-id
353795
353796           · 927874d316 Merge pull request #27469 from twangboy/fix_27433
353797
353798             · a996ea46e2 Added quotes to version numbers example
353799
353800           · 382a53403f Merge pull request #27467 from cachedout/lint_27375
353801
353802             · 4e54a98f5e Lint #27375
353803
353804             · 278ade52d2 file.managed: check contents_{pillar|grain} result
353805
353806           · ed6207a438 Merge pull request #27419 from rallytime/fix-9856
353807
353808             · 551396564a  Ammend error log to include multiple tips for trou‐
353809               bleshooting.
353810
353811           · 73fa89edf7 Merge pull request #27426 from rallytime/fix-16753
353812
353813             · f6cbd81e66 Don't stacktrace if there are conflicting id  errors
353814               in highstate
353815
353816           · 5dd1b70475    Merge    pull    request    #27408    from   rally‐
353817             time/fix-27406-for-2015.5
353818
353819             · 39a4ae5a6c Remove hdd: 19 refs from SL docs - no longer  avail‐
353820               able from SoftLayer.
353821
353822             · de2f9234d3 Use correct default for bandwith
353823
353824             · 42d8127f79  Don't  set the optional_products default to a bool‐
353825               ean, and then try to loop.
353826
353827             · 9d8a3d8303 Fix avail_locations function  for  the  softlayer_hw
353828               driver in 2015.5
353829
353830           · 8f9a3cfbaf    Merge    pull   request   #27410   from   jacobham‐
353831             mons/doc-updates
353832
353833             · a9fdecada1 Fix css  layout  Refs  #27389  sample  typo  fix  in
353834               linux_acl additional module folders listed in dynamic-modules
353835
353836           · 3746085587  Merge  pull  request #27336 from rallytime/cloud-log‐
353837             ging-five
353838
353839             · 7956b36076 [2015.5] Fixup salt-cloud logging
353840
353841           · 5a3be10a3e   Merge   pull   request   #27358    from    lorengor‐
353842             don/escape-search-replacement-text
353843
353844             · 88bb1fbfff Escape search replacement text, fixes #27356
353845
353846           · 6759f79d6d    Merge    pull    request    #27345    from   rally‐
353847             time/docs-for-19236
353848
353849             · 1d3925bbfb Added version tag for ex_disk_type option
353850
353851             · f23369300c Allow use of rst header links by separating  options
353852               out from yaml example
353853
353854           · c2efb291e2      Merge      pull      request      #26903     from
353855             bersace/fix-defaults-modules
353856
353857             · 474d7afc95 fixup! Review defaults loading
353858
353859             · 36141d226e fixup! Review defaults loading
353860
353861             · 62b6495358 fixup! Review defaults loading
353862
353863             · cf0624e8b8 fixup! Review defaults loading
353864
353865             · 2c58bab977 fixup! Review defaults loading
353866
353867             · 82c5b1d8fd Review defaults loading
353868
353869           · a372466922 Merge pull request #27317 from efficks/fix27316
353870
353871             · bf216c101e State unzip should  use  unzip  command  instead  of
353872               unzip_cmd. Issue #27316
353873
353874           · bd3771e80f Merge pull request #27309 from rallytime/fix-15514
353875
353876             · 9383d91ff8  Change  a value list to a comma-separated string in
353877               boto_route53.present
353878
353879           · b5fe944875 Merge pull request #27311 from jfindlay/maxoc
353880
353881             · 8ec2e921bd discuss replacement occurrences in file doc
353882
353883       · PR #27513: (terminalmage) Fix integration tests for worktree addition
353884         in git >= 2.6 @ 2015-09-29 18:39:19 UTC
353885
353886         · 0e37fb3bd3  Merge  pull  request #27513 from terminalmage/fix-work‐
353887           tree-tests
353888
353889         · 519bdd6438 Fix integration tests for worktree addition  in  git  >=
353890           2.6
353891
353892       · PR  #27510:  (rallytime)  Merge  #27475  with test fixes @ 2015-09-29
353893         18:34:32 UTC
353894
353895         · PR #27475: (ryan-lane) Use  __states__  for  calls  to  other  boto
353896           states (refs: #27510)
353897
353898         · e974a3c8aa     Merge    pull    request    #27510    from    rally‐
353899           time/ryan-lane-test-fix
353900
353901         · cae2c4e715 Syntax fix
353902
353903         · 458547ba03 Fix test failures for boto __state__ changes
353904
353905         · 5e25454fc1 Followups for using __states__
353906
353907         · a01f8ac62c Use __states__ for calls to other boto states
353908
353909       · ISSUE #27265: (Arabus) State: dockerng.running;  creation  hostconfig
353910         replaced  with  runtime  hostconfig when using runtime options (refs:
353911         #27451)
353912
353913       · PR #27451: (ticosax) [dockerng]  Enforce  usage  of  host_config  and
353914         require docker-py>=1.4.0 @ 2015-09-29 15:51:28 UTC
353915
353916         · d85b0cbd69   Merge   pull   request   #27451   from   ticosax/dock‐
353917           erng-host-config-support
353918
353919         · b184faa55b   Enforce   usage    of    host_config    and    require
353920           docker-py>=1.4.0
353921
353922       · PR  #27461:  (cachedout) Only clean context if it exists @ 2015-09-29
353923         15:49:52 UTC
353924
353925         · e8f58a6a3f Merge  pull  request  #27461  from  cachedout/clean_con‐
353926           text_ioloop
353927
353928         · 7367a4e32b Only clean context if it exists
353929
353930       · ISSUE  #27220:  (TheBigBear)  [ERROR    ] Exception 'close_fds is not
353931         supported on Windows platforms if you  redirect  stdin/stdout/stderr'
353932         (refs: #27473)
353933
353934       · PR  #27473: (terminalmage) salt.utils.gitfs: Don't use close_fds=True
353935         on Windows @ 2015-09-29 15:34:03 UTC
353936
353937         · 25a30a5621 Merge pull request #27473 from terminalmage/issue27220
353938
353939         · fa70ef2e31 salt.utils.gitfs: Don't use close_fds=True on Windows
353940
353941       · PR #27496: (blueyed) Fix version reporting of gitpython @  2015-09-29
353942         15:31:48 UTC
353943
353944         · 3807cd5c4e   Merge   pull   request  #27496  from  blueyed/fix-git‐
353945           python-version
353946
353947         · d8969363c8 Fix version reporting of gitpython
353948
353949       · PR #27502: (ticosax) Add test to check we don't call inspect_image on
353950         absent images.  @ 2015-09-29 15:15:09 UTC
353951
353952         · PR  #25162:  (ticosax)  [dockerng]  Do not call inspect_image if we
353953           know the image is not downloaded (refs: #27502)
353954
353955         · 057fd0729d   Merge   pull   request   #27502   from   ticosax/back‐
353956           port-test-from-develop
353957
353958         · fadd9bd43e  Add test to check we don't call inspect_image on absent
353959           images.
353960
353961       · PR  #27497:  (blueyed)  dockerng:  fix  image_present   for   forced,
353962         non-existent image @ 2015-09-29 13:49:46 UTC
353963
353964         · f3da6e4bb3   Merge   pull   request   #27497   from   blueyed/dock‐
353965           erng-fix-404-private-forced
353966
353967         · e3c66cea3a dockerng: fix  image_present  for  forced,  non-existent
353968           image
353969
353970       · ISSUE  #27205: (msummers42) In git.config_set state CommandExecution‐
353971         Error occurs when global=True when using salt 2015.8.0 (refs: #27411)
353972
353973       · PR  #27411:  (terminalmage)  Fix  invocation  of  git.config_get  and
353974         git.config_set @ 2015-09-28 22:53:01 UTC
353975
353976         · 284984e6ba Merge pull request #27411 from terminalmage/issue27205
353977
353978         · c3a17ae992 add missing commas
353979
353980         · f2751ef7c4 Fix shadowed outer-scope attributes
353981
353982         · 81a6c27010 Fix invocation of git.config_get and git.config_set
353983
353984       · ISSUE  #27217: (nasenbaer13) Gitfs cleans up wrong directories (refs:
353985         #27218, #27477, #27276, #27382)
353986
353987       · PR #27477:  (terminalmage)  Don't  append  role  to  hash_cachedir  @
353988         2015-09-28 22:26:34 UTC
353989
353990         · cbcb5475b6 Merge pull request #27477 from terminalmage/issue27217
353991
353992         · c185e99970 Second attempt to fix #27217
353993
353994       · PR  #27474:  (whiteinge)  Add  fake pymongo version attribute for the
353995         docs @ 2015-09-28 21:49:25 UTC
353996
353997         · 2f71833260      Merge      pull      request      #27474       from
353998           whiteinge/docs-pymongo-fix
353999
354000         · 64b54e668a Add fake pymongo version attribute for the docs
354001
354002       · PR  #27466:  (blueyed)  Fix  version  reporting  of  python-gnupg and
354003         mysql-python @ 2015-09-28 20:25:01 UTC
354004
354005         · 9202f956f3 Merge pull request #27466 from blueyed/fix-gnupg-version
354006
354007         · 9c1454fe59 Fix version reporting of mysql-python
354008
354009         · 437fb4407e Fix version reporting of python-gnupg
354010
354011       · PR #27465: (ticosax)  Fix  usage  of  dockerng  "cmd"  was  #27459  @
354012         2015-09-28 19:27:41 UTC
354013
354014         · PR  #27459:  (terminalmage)  Fix  usage  of  dockerng  "cmd" (refs:
354015           #27465)
354016
354017         · PR #27444: (ticosax) docker-py expect only command argument not cmd
354018           (refs: #27459)
354019
354020         · PR  #27331:  (terminalmage) dockerng: Allow both cmd and command to
354021           be used to specify command (refs: #27459, #27444)
354022
354023         · 6d8e9af297 Merge pull request #27465 from ticosax/fix-dockerng-cmd
354024
354025         · a1ed6cda56 Skip test if docker-py is not installed
354026
354027         · 6f7769aa94 Correct log messages/docstrings
354028
354029         · cc8471bd1b dockerpy expect only command argument not cmd
354030
354031       · ISSUE #27409: (pcn) 2015.8.0 API (cherrypy) fails to  lookup  job  id
354032         via pepper (refs: #27417)
354033
354034       · ISSUE  #25107:  (whiteinge)  Regression in RunnerClient argument han‐
354035         dling (refs: #25243)
354036
354037       · PR #27417: (whiteinge)  Backport  #25243  into  2015.8  @  2015-09-28
354038         19:15:53 UTC
354039
354040         · PR  #25243:  (DmitryKuzmenko)  Runnerclient  regression  fix (refs:
354041           #27417)
354042
354043         · aefe6d794a Merge pull request #27417 from whiteinge/bp-25243
354044
354045         · 53e7a6b7c5 RunnerClient support old style commands with  kwargs  on
354046           top level.
354047
354048         · 10b522b86c Revert "Fixed GET /jobs/<id> requests"
354049
354050       · PR #27423: (dmurphy18) Changes to support configurable repository for
354051         Debian / Ubuntu @ 2015-09-28 17:34:22 UTC
354052
354053         · a07411a4d9 Merge pull request #27423 from dmurphy18/dgm_envfix
354054
354055         · 63407fd2a9 Changes to support configurable repository for Debian  /
354056           Ubuntu
354057
354058       · ISSUE  #26689:  (double-yaya)  Salt - SSH using machine IP to execute
354059         commands, without having to write a roster file (refs: #27398)
354060
354061       · PR #27428:  (rallytime)  Back-port  #27398  to  2015.8  @  2015-09-28
354062         15:03:16 UTC
354063
354064         · PR  #27398:  (flowhamster)  Allow  cloud  roster to use sudo (refs:
354065           #27428)
354066
354067         · d4d96bb3fc Merge pull request #27428 from rallytime/bp-27398
354068
354069         · 6969326ae2 doc: added  documentation  to  cloud  roster  and  fixed
354070           whitespace
354071
354072         · b4334649d5 Allow cloud roster to use sudo
354073
354074       · PR  #27429:  (rallytime)  Back-port  #27344  to  2015.8  @ 2015-09-28
354075         15:01:20 UTC
354076
354077         · PR #27344: (rhealitycheck) Mongo returners patch 1 (refs: #27429)
354078
354079         · 668c69bd7e Merge pull request #27429 from rallytime/bp-27344
354080
354081         · e39a57afe1 Update mongo_return.py
354082
354083         · f796c9a44b Update mongo_return.py
354084
354085         · 30d07cbb27 Update mongo_return.py
354086
354087         · 44ef4b48fb Update mongo_future_return.py
354088
354089         · 34b160b841 Update mongo_return.py
354090
354091         · b2b5623da3 Update mongo_future_return.py
354092
354093         · 07f9a8b95b Update mongo_return.py
354094
354095         · b7ddc83b4d Update mongo_future_return.py
354096
354097         · 540b3f2690 Update mongo_return.py
354098
354099         · 405edd0718 Update mongo_future_return.py
354100
354101         · 5c753a54ff Update mongo_return.py
354102
354103         · 06e05befa7 Update mongo_future_return.py
354104
354105       · PR #27450: (ticosax) [dockerng] Fix typo in  docstring  @  2015-09-28
354106         14:27:35 UTC
354107
354108         · c639931340 Merge pull request #27450 from ticosax/fix-typo
354109
354110         · 9cea62de67 Fix typo in docstring
354111
354112       · PR      #27430:     (jacksontj)     Fix     bug     introduced     in
354113         eee0291ff8b65ff1e22f4dc2447a74aa28a3ce7f @ 2015-09-26 01:09:40 UTC
354114
354115         · 333c305ba0 Merge pull request #27430 from jacksontj/2015.8
354116
354117         · d2aff12f8f         Fix          bug          introduced          in
354118           eee0291ff8b65ff1e22f4dc2447a74aa28a3ce7f
354119
354120       · PR   #27418:   (terminalmage)   Don't  always  remove  dest  path  in
354121         salt.utils.files.rename() @ 2015-09-25 23:09:59 UTC
354122
354123         · 1f4ca089a2 Merge pull request #27418 from terminalmage/file-rename
354124
354125         · 7bc0949d48     Don't     always     remove     dest     path     in
354126           salt.utils.files.rename()
354127
354128       · ISSUE #27032: (lorengordon) Windows Installer: Please be more kind to
354129         existing configurations (refs: #27383)
354130
354131       · PR #27383: (twangboy) Uninstaller only  removes  specific  files  and
354132         dirs @ 2015-09-25 22:47:24 UTC
354133
354134         · ec5faf1829 Merge pull request #27383 from twangboy/fix_27032
354135
354136         · 63a7305ae9 Uninstaller only removes specific files and dirs
354137
354138       · PR  #27416:  (rallytime)  Back-port  #27399  to  2015.8  @ 2015-09-25
354139         22:39:07 UTC
354140
354141         · PR #27399: (multani) Various documentation fixes (refs: #27416)
354142
354143         · 9ab3c6dc5d Merge pull request #27416 from rallytime/bp-27399
354144
354145         · 1d848118c9 doc: fixed indentation in  salt.renderers.jinja's  docu‐
354146           mentation
354147
354148         · f5d053a033 doc: fixed indentation in salt.modules.consul's documen‐
354149           tation
354150
354151         · 06beea6b2f doc: fix etcd state documentation typos
354152
354153         · 97e69ebb97 doc: fix state's top documentation typo
354154
354155         · b411730d60 doc: fix documentation formatting for state blockdev
354156
354157         · ce91bb9446 doc: fix formatting in state boto_elb
354158
354159         · c69229875e doc: fix links in Docker state documentation
354160
354161         · 15b751d6e2 doc: Docker state use ports and not  port_bindings  any‐
354162           more
354163
354164         · 880b6e0944 doc: fix link to docker-py documentation
354165
354166         · 33db0c27f8 doc: fix RAET links
354167
354168         · e69ba2f943 doc: fix rendering of salt.states.hipchat
354169
354170       · ISSUE  #27093: (TheBigBear) 2015.8.0 winrepo downloader corrupts some
354171         installers (refs: #27394, #27163)
354172
354173       · PR #27394: (jacksontj) Remove streamed  response  for  fileclient  to
354174         avoid HTTP redirection problems @ 2015-09-25 21:55:31 UTC
354175
354176         · PR #27163: (terminalmage) Workaround upstream tornado bug affecting
354177           redirects (refs: #27394)
354178
354179         · 9842d9728b Merge pull request #27394 from jacksontj/2015.8
354180
354181         · 01132c305c Re-add files.rename call instead of os.rename
354182
354183         · acf2d51440 Remove streamed response for fileclient  to  avoid  HTTP
354184           redirection problems
354185
354186         · a6ecf35f25 Revert "Remove unused import"
354187
354188         · 66c73a3996  Revert "Workaround upstream tornado bug affecting redi‐
354189           rects"
354190
354191       · PR #27415: (ryan-lane) Backwards  compat  fixes  for  pecl  module  @
354192         2015-09-25 19:40:55 UTC
354193
354194         · 44b246bf93 Merge pull request #27415 from lyft/fix-pecl
354195
354196         · 8be8ef585c Backwards compat fixes for pecl module
354197
354198       · PR  #27407:  (meggiebot) Adding stretch label definition @ 2015-09-25
354199         18:10:46 UTC
354200
354201         · d76a77c911  Merge   pull   request   #27407   from   saltstack/meg‐
354202           giebot-patch-1
354203
354204         · 1c779700f6 Adding stretch label definition
354205
354206       · ISSUE  #27209:  (justinta)  Provider  overrides  appear  to be broken
354207         (refs: #27388)
354208
354209       · PR  #27388:  (basepi)  [2015.8]  Fix  global  provider  overrides   @
354210         2015-09-25 16:49:03 UTC
354211
354212         · db6acfd832  Merge  pull  request  #27388 from basepi/provider.over‐
354213           rides.27209
354214
354215         · d87147e14b Don't use ret.items(), forces load of all modules
354216
354217         · a5ee33a9ad pack __salt__ before loading provider overrides
354218
354219       · ISSUE #27354:  (gravyboat)  salt-ssh  roster  docs  should  note  the
354220         requiretty option (refs: #27386)
354221
354222       · PR  #27386:  (rallytime)  Document tty: True usage in salt-ssh roster
354223         file @ 2015-09-25 15:44:12 UTC
354224
354225         · b72e0b1133 Merge pull request #27386 from rallytime/fix-27354
354226
354227         · 08c04da48b Document tty: True usage in salt-ssh roster file
354228
354229       · PR #27380: (justinta) Skipping Async tests @ 2015-09-25 15:13:04 UTC
354230
354231         · 51e765078a Merge pull request #27380 from jtand/async_tests
354232
354233         · fd0dedeb99 Skipping Async tests
354234
354235       · ISSUE #27217: (nasenbaer13) Gitfs cleans up wrong directories  (refs:
354236         #27218, #27477, #27276, #27382)
354237
354238       · PR  #27382:  (terminalmage)  Revert  "fixes  #27217 clear_old_remotes
354239         clears wrong directory (gitfs)" @ 2015-09-24 22:54:23 UTC
354240
354241         · 633af56517 Merge pull request #27382 from terminalmage/revert-27218
354242
354243         · 2379748f9e Revert  "fixes  #27217  clear_old_remotes  clears  wrong
354244           directory (gitfs)"
354245
354246       · PR  #27361: (cro) Correct some issues with proxy minions @ 2015-09-24
354247         16:03:38 UTC
354248
354249         · 12a021da11 Merge pull request #27361 from cro/pxm_doc
354250
354251         · 1a2c41c9e3 Add versionadded.
354252
354253         · 93a6397598 func_alias should be list_ and should have a correspond‐
354254           ing list_ fn.
354255
354256         · 0221f7ee4e Pylint
354257
354258         · 3a297d8036 Add release notes for proxy fixes.
354259
354260         · 39df44b841 Pylint
354261
354262         · e3ebff9bce  Fix some problems with the rest_sample, remove unneces‐
354263           sary file and make sure that rest_service has the right contents.
354264
354265         · f4944fe68a Fix typo in docs
354266
354267       · PR #27364: (ruzarowski) SaltCloud[EC2]  Fix  missing  credentials  in
354268         modify_eni_properties api call @ 2015-09-24 13:55:39 UTC
354269
354270         · cff74510de  Merge  pull  request #27364 from ruzarowski/2015.8-mod‐
354271           ify-eni-properties-api-call
354272
354273         · 100eea46d5 Issue #27121 - Remove leftover code comment
354274
354275         · c58e7a00f3 Issue #27121 - Attempt to fix missing  credentials  when
354276           modifying eni properties
354277
354278         · 5d292a221e  Merge  remote-tracking  branch  'upstream/2015.8'  into
354279           2015.8
354280
354281         · 4dbd9ebb30  Merge  remote-tracking  branch  'upstream/2015.8'  into
354282           2015.8
354283
354284       · PR  #27349:  (jfindlay)  add  freebsd install docs to release notes @
354285         2015-09-24 13:51:02 UTC
354286
354287         · 928ef59a8a Merge pull request #27349 from jfindlay/doc_typos
354288
354289         · e509cfca17 fix typo in 2015.8.0 pull list
354290
354291         · 7137e731d3 add FreeBSD documentation to 2015.8.0 notes
354292
354293       · ISSUE #26889: (UtahDave) salt-call w/non root user outputs  repeating
354294         error (refs: #27343)
354295
354296       · PR  #27343:  (cachedout)  Close  io  loop before deleting attribute @
354297         2015-09-24 13:49:55 UTC
354298
354299         · 331230ea4f Merge pull request #27343 from cachedout/issue_26889
354300
354301         · 2b648e51af Close io loop before deleting attribute
354302
354303       · PR #27337: (rallytime) [2015.8] Fixup salt-cloud logging @ 2015-09-24
354304         13:49:17 UTC
354305
354306         · cd82ead005  Merge  pull  request  #27337  from rallytime/cloud-log‐
354307           ging-eight
354308
354309         · ed18384108 Merge pull request #7 from jtand/cloud-logging-eight
354310
354311           · a6c1d0b408 Fixed a bug where logging_command wasnt set as  a  key
354312             in a couple spots
354313
354314         · 8bb7cb7ff4 Use correct indexes
354315
354316         · c3483002b0 [2015.8] Fixup salt-cloud logging
354317
354318       · PR  #27332:  (terminalmage)  Adjust  dockerng/dockerio  docstrings  @
354319         2015-09-24 13:45:34 UTC
354320
354321         · b2f8418ffc Merge pull request #27332 from terminalmage/adjust-dock‐
354322           erng-docstring
354323
354324         · bdbf4d8e5c Add deprecation notice to dockerio state module
354325
354326         · 17829ab38d Fix name of dockerng module in dockerio docstring
354327
354328         · ed5ae75180 Adjust dockerng docstrings
354329
354330       · PR  #27353:  (cachedout)  Fix  case  where  var  not  set in config @
354331         2015-09-23 21:45:32 UTC
354332
354333         · ac9e6c2532 Merge pull request #27353 from cachedout/fix_retry_get
354334
354335         · ea286e1874 Fix case where var not set in config
354336
354337       · ISSUE #21390:  (fyatzeck)  Having  trouble  with  GCE  cloud  profile
354338         assigning static IP and enabling IP forward (refs: #27350)
354339
354340       · PR #27350: (rallytime) Allow IP-forwarding in GCE driver @ 2015-09-23
354341         21:36:41 UTC
354342
354343         · 3f6b06116f Merge pull request #27350 from rallytime/fix-21390
354344
354345         · 2bf566d934 Allow IP-forwarding in GCE driver
354346
354347         · 484015a7a3 Added version tag for ex_disk_type option
354348
354349         · a71ebc97b2 Allow use of rst header links by separating options  out
354350           from yaml example
354351
354352       · ISSUE  #27103:  (twangboy)  Salt-Minion  doesn't display logs for new
354353         processes with multiprocessing on (refs: #27305)
354354
354355       · PR #27305: (cachedout) Re-init logging system on Windows  when  using
354356         multiprocessing @ 2015-09-23 15:32:32 UTC
354357
354358         · 6f3da863fc Merge pull request #27305 from cachedout/issue_27103
354359
354360         · 7a7492d186 Fix typo
354361
354362         · 22c653482c  Re-init  logging system on Windows when using multipro‐
354363           cessing
354364
354365       · PR #27331: (terminalmage) dockerng: Allow both cmd and command to  be
354366         used  to specify command (refs: #27459, #27444) @ 2015-09-23 15:27:43
354367         UTC
354368
354369         · 684e33aeb2 Merge pull request #27331 from terminalmage/dockerng-cmd
354370
354371         · 7d4eaac8ae dockerng: Allow both cmd and command to be used to spec‐
354372           ify command
354373
354374       · PR  #27327: (isbm) Fix a typo in the RPM output @ 2015-09-23 14:27:42
354375         UTC
354376
354377         · a3f4fa1106      Merge      pull      request      #27327       from
354378           isbm/isbm-pkg-info-typofix
354379
354380         · 7912f8c13b Fix typo
354381
354382       · PR  #27312:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
354383         2015-09-22 22:52:14 UTC
354384
354385         · a789303d75  Merge  pull  request  #27312   from   basepi/merge-for‐
354386           ward-2015.8
354387
354388         · 647080d064 Add missing import
354389
354390         · 95e70f0bef  Merge  remote-tracking  branch  'upstream/2015.5'  into
354391           merge-forward-2015.8
354392
354393         · ca4597b93a  Merge  pull  request  #27310   from   basepi/merge-for‐
354394           ward-2015.5
354395
354396           · 7b75e4aed1  Merge  remote-tracking  branch 'upstream/2014.7' into
354397             merge-forward-2015.5
354398
354399           · e90412d3b8 Merge pull request #27252 from jfindlay/version.2014.7
354400
354401             · 3d28307a00 2014.7 -> 2014.7.0
354402
354403         · 982c21c79f   Merge   pull    request    #27308    from    terminal‐
354404           mage/fix-refresh_db-regression
354405
354406           · 77686fb7ce Fix refresh_db regression in yumpkg.py
354407
354408         · 775a4f9ad0    Merge    pull    request    #27286   from   terminal‐
354409           mage/return_retry_timer
354410
354411           · 540a7dfcf1 Add default values for new minion config options
354412
354413           · 453b883820 Add a configurable timer for minion return retries
354414
354415         · 02482c0572 Merge pull request #27278 from rallytime/bp-27256
354416
354417           · 1beddf6311 Fix error handling in salt.modules.file.statvfs
354418
354419         · e36c019c37 Merge pull request #27277 from rallytime/bp-27230
354420
354421           · 3ce77db1bc Fix typo in AWS doc config
354422
354423         · b22286476e Merge pull request #27253 from jfindlay/version.2015.5
354424
354425           · 967e3bb72a 2015.5 -> 2015.5.0
354426
354427         · 51a0193b54 Merge pull request #27244 from  garethgreenaway/ec2_cre‐
354428           ate_snapshot_no_return_data_exception
354429
354430           · 820fd576b9  Fixing  the  cause  when the r_data from aws.query is
354431             empty and an exception happens when looking for the snapshotID
354432
354433         · 26540f15bc Merge pull request #27231 from jfindlay/cronchange
354434
354435           · 1e335297e2 only write cron file if it is changed
354436
354437       · PR  #27303:   (jacobhammons)   Updated   module   doc   index   using
354438         https://github.com/saltstack/salt/pull… @ 2015-09-22 19:29:04 UTC
354439
354440         · c3b690273b Merge pull request #27303 from jacobhammons/ref-updates
354441
354442         · 7ac98a03b6       Updated      module      doc      index      using
354443           https://github.com/saltstack/salt/pull/27203
354444
354445       · ISSUE #27081: (TheBigBear) winrepo - SSLError: [Errno 1]  _ssl.c:510:
354446         error:14090086:SSL   routines:SSL3_GET_SERVER_CERTIFICATE:certificate
354447         verify failed (refs: #27301)
354448
354449       · PR #27301: (twangboy) Pass ca_bundle for windows (fixes SSL Error)  @
354450         2015-09-22 19:00:45 UTC
354451
354452         · aaa2db9943 Merge pull request #27301 from twangboy/fix_27081
354453
354454         · 5c4f5f8944 Changed windows gate to check for verify_ssl option
354455
354456         · e2fe5a60b5 Pass ca_bundle for windows (fixes SSL Error)
354457
354458       · PR  #27300:  (rallytime)  Back-port  #27287  to  2015.8  @ 2015-09-22
354459         16:59:07 UTC
354460
354461         · PR #27287: (rhealitycheck) Mongo returners patch 1 (refs: #27300)
354462
354463         · 55f4050146 Merge pull request #27300 from rallytime/bp-27287
354464
354465         · e49a6dc449 Update mongo_return.py
354466
354467         · 63153322b9 Update mongo_future_return.py
354468
354469       · PR #27288: (rallytime) Filter  on  'name',  not  'id',  when  listing
354470         images @ 2015-09-21 22:37:26 UTC
354471
354472         · d96462af48 Merge pull request #27288 from rallytime/do-cleanup
354473
354474         · 6e16fad760 Use name in all places, not id.
354475
354476         · 9b34542cb0 Filter on 'name', not 'id', when listing images
354477
354478       · PR  #27283:  (justinta)  __grains__['osrelease']  returns  a string @
354479         2015-09-21 19:18:44 UTC
354480
354481         · 688f24e9e4 Merge pull request #27283 from jtand/yumpkg_yum_fix
354482
354483         · b73f5289b4 __grains__['osrelease'] returns a string.  Cast  to  int
354484           for correct comparison
354485
354486       · ISSUE  #27217: (nasenbaer13) Gitfs cleans up wrong directories (refs:
354487         #27218, #27477, #27276, #27382)
354488
354489       · PR #27276:  (rallytime)  Back-port  #27218  to  2015.8  @  2015-09-21
354490         19:05:54 UTC
354491
354492         · PR  #27218:  (nasenbaer13)  fixes  #27217  clear_old_remotes clears
354493           wrong directory (gitfs) (refs: #27276)
354494
354495         · 78d44a5c74 Merge pull request #27276 from rallytime/bp-27218
354496
354497         · 8c0991d527 fixes #27217 clear_old_remotes  clears  wrong  directory
354498           (gitfs)
354499
354500       · PR  #27275:  (rallytime)  Back-port  #27213  to  2015.8  @ 2015-09-21
354501         19:05:18 UTC
354502
354503         · PR #27213: (macgyver13) Make get_event compatible with  salt/client
354504           (refs: #27275)
354505
354506         · d5ce81e8e7 Merge pull request #27275 from rallytime/bp-27213
354507
354508         · 5d4c90c479 Make get_event compatible with salt/client
354509
354510       · PR  #27274:  (rallytime)  Back-port  #27272  to  2015.8  @ 2015-09-21
354511         18:54:48 UTC
354512
354513         · PR #27272: (techhat) Make  sure  list_nodes_full  contains  a  name
354514           attribute (refs: #27274)
354515
354516         · 2be21d6451 Merge pull request #27274 from rallytime/bp-27272
354517
354518         · f3ea3259a5 Make sure list_nodes_full contains a name attribute
354519
354520       · PR  #27271:  (isbm)  Bugfix:  crash on token authentication via API @
354521         2015-09-21 15:53:09 UTC
354522
354523         · c0943dd4d1 Merge pull request #27271 from isbm/isbm-bufix-27270
354524
354525         · fc524c17b9 Reduce the criteria that would match empty iterables  as
354526           well as None or False values
354527
354528         · 3152af78b5   Fix   the   crash   on   token   auth   via   API   (‐
354529           http://git.io/vn4tx)
354530
354531       · ISSUE #19947: (gczuczy) Unable to supply provisioning script to soft‐
354532         layer create() (refs: #27251)
354533
354534       · PR  #27251:  (rallytime)  Add support for post_uri in SoftLayer cloud
354535         drivers @ 2015-09-21 15:43:16 UTC
354536
354537         · b11ce6ac2a Merge pull request #27251 from rallytime/fix-19947
354538
354539         · aafb776808 Add support for post_uri in SoftLayer cloud drivers
354540
354541       · ISSUE #21879: (bechtoldt) Reference pages in documentation  are  out‐
354542         dated again (refs: #27260, #25019, #21880)
354543
354544       · ISSUE #19262: (bechtoldt) salt.pillar.file_tree doesn't appear in the
354545         documentation (refs: #27260, #25019)
354546
354547       · PR #27260: (bechtoldt) add missing module doc references @ 2015-09-21
354548         05:48:38 UTC
354549
354550         · PR  #25019:  (bechtoldt) add missing module documentation to refer‐
354551           ences (refs: #27260)
354552
354553         · PR #24421: (bechtoldt) add  missing  module  documentation   (refs:
354554           #27260, #25019)
354555
354556         · PR  #21880:  (bechtoldt)  update  references,  fixes  #21879 (refs:
354557           #27260, #25019)
354558
354559         · PR  #20039:  (bechtoldt)  completing  some  doc  references  (refs:
354560           #27260, #25019)
354561
354562         · de6e5abe6c Merge pull request #27260 from bechtoldt/missing_refs
354563
354564         · 3a7d31a91c add missing module references
354565
354566       · PR   #27254:   (jfindlay)   2015.2,2015.8,Beryllium   ->  2015.8.0  @
354567         2015-09-18 23:44:46 UTC
354568
354569         · 1a32b9f778 Merge pull request #27254 from jfindlay/version.2015.8
354570
354571         · 8ea15f498e 2015.2,2015.8,Beryllium -> 2015.8.0
354572
354573       · ISSUE #25079: (jondonas) Salt-cloud does not check for duplicate  ssh
354574         keys when using provider such as DigitalOcean (refs: #27245)
354575
354576       · PR #27245: (rallytime) If two ssh keynames are found in DigitalOcean,
354577         abort and warn the user.  @ 2015-09-18 21:42:36 UTC
354578
354579         · f3a847823b Merge pull request #27245 from rallytime/fix-25079
354580
354581         · 4b0f7cce1d If two ssh keynames are found in DigitalOcean, abort.
354582
354583       · ISSUE #27065: (lorengordon) 2015.8.0:  yumpkg  reporting  "Unexpected
354584         osrelease grain '6.7'" (refs: #27241)
354585
354586       · PR  #27241:  (jfindlay)  osrelease  is  only  an integer for fedora @
354587         2015-09-18 21:40:50 UTC
354588
354589         · e4a5b004ae Merge pull request #27241 from jfindlay/yumwarn
354590
354591         · 1f7570250f osrelease is only an integer for fedora
354592
354593       · PR #27234: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
354594         2015-09-18 20:41:38 UTC
354595
354596         · f8e71f6d7d   Merge   pull  request  #27234  from  basepi/merge-for‐
354597           ward-2015.8
354598
354599         · be2b0fc497  Merge  remote-tracking  branch  'upstream/2015.5'  into
354600           merge-forward-2015.8
354601
354602           · 579f375f74      Merge      pull      request      #27233     from
354603             basepi/release.notes.stubs
354604
354605             · f4563ea9b7 Add stub release notes for 2015.5.6
354606
354607           · f5a322e3f2 Merge pull request #27208 from basepi/nop.state.25423
354608
354609             · 9414b05b2c Add test.nop example
354610
354611             · a84ce67b8f Add test.nop state
354612
354613           · 59a07cae68 Merge pull request #27201 from jfindlay/sshhash
354614
354615             · 1b620b77cd rename hash_host arg to hash_known_hosts
354616
354617             · 12f14ae37c update hash_known_hosts docs in ssh module
354618
354619           · 560545c4c5 Merge pull request #27214 from jacksontj/2015.5
354620
354621             · e7526bdb44 Correctly support https, port 443 is not a  require‐
354622               ment
354623
354624           · 7a34c7742d Merge pull request #27172 from rallytime/bp-27150
354625
354626             · 0d7ee4b209  Merge  config  values  from  master.d/minion.d conf
354627               files
354628
354629       · PR #27240: (isbm) Backport of the fix of 'pkg.info*' for Beryllium  @
354630         2015-09-18 20:02:15 UTC
354631
354632         · 2d6c75cbd7       Merge      pull      request      #27240      from
354633           isbm/isbm-pkg.info-tz-bugfix-backport-2015.8
354634
354635         · 19a361851a Return install date only if possible.
354636
354637         · ff857bc8aa Return RPM package time in UTC timezone
354638
354639         · eaa0f370bf Remove time fraction and return ISO in UTC
354640
354641         · ce9570fce6 Return UTC timestamp for modification of path.
354642
354643       · ISSUE #27222: (pprkut) Support firewalld zone configuration  in  net‐
354644         work.managed state for rh7 systems (refs: #27223)
354645
354646       · PR  #27223:  (pprkut)  Support firewalld per interface zone config on
354647         rh7 systems @ 2015-09-18 19:44:45 UTC
354648
354649         · 80a45b74ed Merge pull request #27223 from M2Mobi/zone
354650
354651         · 48023669e7 Support permanent per interface firewalld zone  configu‐
354652           ration on rh7 systems.
354653
354654         · PR  #27239: (bechtoldt) test #27238 prevent keyerror when partition
354655           doesn't exist (refs: #27238)
354656
354657       · PR #27238: (bechtoldt)  salt.modules.disk.percent()  throws  KeyError
354658         when partition doesn't exist (refs: #27239) @ 2015-09-18 19:37:00 UTC
354659
354660         · 652b2998af  Merge  pull request #27238 from bechtoldt/fix_disk_per‐
354661           cent_keyerror
354662
354663         · 0511f611bb prevent KeyError  by  checking  whether  partition  even
354664           exists
354665
354666       · PR  #27232:  (basepi)  [2015.8] Add stub release notes for 2015.8.1 @
354667         2015-09-18 16:53:01 UTC
354668
354669         · 253ac5e0c3      Merge      pull      request      #27232       from
354670           basepi/release.notes.stubs
354671
354672         · 25410706ee Add stub release notes for 2015.8.1
354673
354674       · ISSUE   #24573:  (bailsman)  cloud.profile  RuntimeError:  dictionary
354675         changed size during iteration (refs: #27199)
354676
354677       · PR #27199: (rallytime) Avoid RunTimeError  (dictionary  changed  size
354678         during iteration) with keys() @ 2015-09-18 15:44:27 UTC
354679
354680         · c542cd49d0 Merge pull request #27199 from rallytime/fix-24573
354681
354682         · 6b2a00e947 Avoid RunTimeError (dictionary changed size during iter‐
354683           ation) with keys()
354684
354685       · PR #27206: (rallytime) Don't repeat GCE setup instructions, and  make
354686         the use of .json files clearer @ 2015-09-18 14:38:40 UTC
354687
354688         · 6b79ad69a9 Merge pull request #27206 from rallytime/gce-doc-cleanup
354689
354690         · cced6e9031 Don't repeat GCE setup instructions, and make the use of
354691           .json files clearer
354692
354693       · PR #27210:  (rallytime)  Refactor  some  digital  ocean  functions  @
354694         2015-09-18 14:38:01 UTC
354695
354696         · 1d022eb5de Merge pull request #27210 from rallytime/do-clean-up
354697
354698         · 808a5b3b81 Make sure we set the full data to the ret variable
354699
354700         · 9b635004e2  Refactor  some digital_ocean functions to help simplify
354701           the driver
354702
354703       · PR #27197: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
354704         2015-09-17 19:53:22 UTC
354705
354706         · 8c204a45ab   Merge   pull  request  #27197  from  basepi/merge-for‐
354707           ward-2015.8
354708
354709         · 2c2a5f85ac  Merge  remote-tracking  branch  'upstream/2015.5'  into
354710           merge-forward-2015.8
354711
354712           · e956d88f5f Merge pull request #27194 from rallytime/bp-27180
354713
354714             · 327d343fef file copy ret result True if no change in test mode
354715
354716           · a02d043309  Merge  pull  request  #27176  from  basepi/merge-for‐
354717             ward-2015.5
354718
354719             · 66f4641be3 Merge remote-tracking branch 'upstream/2014.7'  into
354720               merge-forward-2015.5
354721
354722             · c186e51764   Merge   pull   request   #27117   from   jacobham‐
354723               mons/release-docs-2014.7
354724
354725               · b69e11e0a4 made 2014.7 an archived  release  minor  doc  site
354726                 updates
354727
354728             · 69d758ee2b    Merge    pull   request   #27114   from   cached‐
354729               out/warn_on_insecure_log
354730
354731               · 507fb04683 Issue warning that some  log  levels  may  contain
354732                 sensitive data
354733
354734             · aa71bae8aa  Merge  pull  request #27075 from twangboy/fix_pass‐
354735               word_2014.7
354736
354737             · c0689e3215 Replaced password with redacted when displayed
354738
354739           · de2027426e Merge pull request #27170 from rallytime/gce-docs
354740
354741             · a07db909bd  Update  Getting  Started  with  GCE  docs  to   use
354742               cloud.profiles or cloud.profiles.d examples
354743
354744           · 28cfdfd067 Merge pull request #27167 from rallytime/bp-27148
354745
354746             · d12be52355 Pass filepointers to the serialize load functions.
354747
354748           · 4495f4f4d0 Merge pull request #27168 from techhat/gateimpacket
354749
354750             · cc448bfdc1 Add further gating of impacket library
354751
354752           · 3e5ef0dc30 Merge pull request #27166 from rallytime/fix-27100
354753
354754             · 50fb3a489a  Allow  a  full-query  for EC2, even if there are no
354755               profiles defined
354756
354757           · f1c9de7ed9  Merge  pull  request  #27162   from   rallytime/soft‐
354758             layer-service
354759
354760             · d281068c70 Be explicit in using "SoftLayer" for service queries
354761               in SoftLayer drivers
354762
354763           · 59e9dfd8de Merge pull request #27149 from twangboy/fix_27133
354764
354765             · 7992b7e20a Fixed some tests...  hopefully...
354766
354767             · d4c8e30f5d Fixed problem with add/remove path
354768
354769           · 097fcd1017 Merge pull request #27147 from rallytime/fix-11669
354770
354771             · 55312ea03f Provide a more friendly error message.
354772
354773             · 36555856c7 Enforce bounds in the GCE Regex
354774
354775           · f5c3f157dd    Merge    pull    request    #27128    from     egu‐
354776             ven/2015.5-fix-test-diff
354777
354778             · ec2d68a84a don't show diff for test run if show_diff=False
354779
354780           · 088b1dbb3e    Merge    pull   request   #27116   from   jacobham‐
354781             mons/release-docs-2015.5
354782
354783             · 6e323b6dd3 Update latest to  2015.8,  2015.5  is  now  previous
354784               Assorted style and minor updates
354785
354786           · 440855b182 Merge pull request #27033 from jfindlay/n0ne
354787
354788             · 3334b9d548 fix comment and unit test for reg state
354789
354790             · 391a09d5ac update reg state unit tests
354791
354792             · ebbf2b05ca Fixed reg state module for None, 0, and '' values
354793
354794           · 35fc74132a Merge pull request #26942 from Arabus/fix-docker.run
354795
354796             · e61e1de1f5 Fixes value typo for dockerio.loaded state
354797
354798             · 39fa11b696 further linting
354799
354800             · 4aec37397c Further Linting to quiet the linter
354801
354802             · 7eff8ad070 Code Linting and cmd call fix
354803
354804             · a51676e0eb  Fixes   #17088  olyif  and unless should run on the
354805               host
354806
354807             · d0c6128b8f Fixes #17088 retcode now returns True or False based
354808               on return status
354809
354810             · 8b2e7cc4f5 Syntax clarification
354811
354812       · PR  #27195:  (jacobhammons)  Fixed  sphinx / latex build warnings and
354813         errors @ 2015-09-17 17:28:37 UTC
354814
354815         · 430c48c5ea Merge pull request #27195 from jacobhammons/doc-build
354816
354817         · fad87e34a2 Fixed lint errors
354818
354819         · e56f02b025 re-add cheatsheet do-over
354820
354821         · 60a8330561 re-added cheatsheet.tex
354822
354823         · f7a9e25d52 Fixed sphinx / latex build  warnings  and  errors  Added
354824           missing modules to contents
354825
354826       · PR #27182: (bernieke) fix restart_on_error @ 2015-09-17 17:24:01 UTC
354827
354828         · 8f8e75c5ff Merge pull request #27182 from Awingu/2015.8
354829
354830         · 693b81f7e4 fix restart_on_error #27127
354831
354832       · ISSUE  #27093: (TheBigBear) 2015.8.0 winrepo downloader corrupts some
354833         installers (refs: #27394, #27163)
354834
354835       · PR #27163: (terminalmage) Workaround upstream tornado  bug  affecting
354836         redirects (refs: #27394) @ 2015-09-17 16:09:01 UTC
354837
354838         · 97d2a5fddc Merge pull request #27163 from terminalmage/issue27093
354839
354840         · 80b396db73 Handle potential ValueError when checking content length
354841
354842         · a89c987943 Remove unused import
354843
354844         · 469e18f74c Workaround upstream tornado bug affecting redirects
354845
354846         · f2a562ac60  Add salt.utils.files.rename() for cross-platform renam‐
354847           ing
354848
354849       · ISSUE #19954: (gczuczy) Multiple disks on softlayer (refs: #27173)
354850
354851       · PR #27177: (rallytime) Remove note  -  incorrect  info  @  2015-09-17
354852         01:34:04 UTC
354853
354854         · PR #27173: (rallytime) Add the ability to specify multiple disks on
354855           the SoftLayer driver (refs: #27177)
354856
354857         · 65c59ec2ea Merge pull request #27177 from rallytime/fix-19954
354858
354859         · 531b44243d Remove note - incorrect info
354860
354861       · ISSUE #19954: (gczuczy) Multiple disks on softlayer (refs: #27173)
354862
354863       · PR #27173: (rallytime) Add the ability to specify multiple  disks  on
354864         the SoftLayer driver (refs: #27177) @ 2015-09-17 00:32:57 UTC
354865
354866         · cbb7e7f1a5 Merge pull request #27173 from rallytime/fix-19954
354867
354868         · 45c6aabde9  DeviceID  '1' is reserved for the SWAP disk; let's skip
354869           it.
354870
354871         · 54e104cf5b Don't stacktrace if local_disk isn't set
354872
354873         · fe74d203f5 Add the ability to specify multiple disks on  the  Soft‐
354874           Layer driver
354875
354876       · ISSUE  #22724:  (ty2u)  digital_ocean_v2.py  doesn't restore snapshot
354877         (refs: #26824)
354878
354879       · PR #27164:  (rallytime)  Make  sure  changes  from  #26824  to  digi‐
354880         tal_ocean_v2.py  driver  make  it  to  digital_ocean.py  in  2015.8 @
354881         2015-09-16 18:55:17 UTC
354882
354883         · PR #26824: (systembell)  [salt-cloud]  Fix  creating  droplet  from
354884           snapshot in digital_ocean provider  (refs: #27164)
354885
354886         · 0e04588d58     Merge    pull    request    #27164    from    rally‐
354887           time/add-26824-changes-to-2015.8
354888
354889         · a44bd763dd Make sure changes  from  #26824  to  digital_ocean_v2.py
354890           driver make it to digital_ocean.py in 2015.8
354891
354892       · ISSUE  #19853:  (ksalman)  master needs a way to invalidate grains on
354893         the minion (refs: #27143)
354894
354895       · PR #27143: (cachedout) Clean grains cache on grains sync @ 2015-09-16
354896         16:27:06 UTC
354897
354898         · 38d93a96fe    Merge    pull    request    #27143    from    cached‐
354899           out/clean_grains_cache_on_sync
354900
354901         · 0a660a9f80 Break apart long line
354902
354903         · 6de2c2a50c Better error checking
354904
354905         · 252f7c7ea9 Clean grains cache on grains sync
354906
354907       · ISSUE #18582: (mainframe) Allow merging file_roots  and  pillar_roots
354908         from different config files included from master.d (refs: #27150)
354909
354910       · PR  #27150:  (cachedout)  Merge  config values from master.d/minion.d
354911         conf files (refs: #27172) @ 2015-09-16 15:36:41 UTC
354912
354913         · 626cbe61ce Merge pull request #27150 from cachedout/issue_18582
354914
354915         · 6351a94d08 Merge config values from master.d/minion.d conf files
354916
354917       · ISSUE #27135: (SEJeff) Regression in core grains in the  latest  ver‐
354918         sion of salt (refs: #27137)
354919
354920       · PR  #27137:  (jfindlay)  revert  serial grain regression @ 2015-09-15
354921         21:52:25 UTC
354922
354923         · PR #22267: (The-Loeki) modify _hw core grains to use the new smbios
354924           module, add system uuid (refs: #27137)
354925
354926         · 72fad569b0 Merge pull request #27137 from jfindlay/serial
354927
354928         · 78c9687f0e revert serial grain regression
354929
354930       · PR     #27144:     (rallytime)     Don't    stacktrace    on    soft‐
354931         layer_hw.show_all_prices  if  a  code  isn't  supplied  @  2015-09-15
354932         21:52:09 UTC
354933
354934         · 58b56b9d78 Merge pull request #27144 from rallytime/softlayer-fixes
354935
354936         · 3963a5cf0f  Don't  stacktrace  on softlayer_hw.show_all_prices if a
354937           code isn't supplied
354938
354939       · PR  #27139:  (jacobhammons)  Updated  key  instruction  on  rhel7   @
354940         2015-09-15 16:06:14 UTC
354941
354942         · b71de75c1c Merge pull request #27139 from jacobhammons/rhel-doc
354943
354944         · 7ed9f6260f Updated key instruction on rhel7
354945
354946       · PR  #27134:  (isbm)  Backport  to  2015.8:  "pkg.info"  @  2015-09-15
354947         15:57:46 UTC
354948
354949         · 0d8248930e Merge pull request #27134 from  isbm/isbm-pkg.info-back‐
354950           port-2015.8
354951
354952         · b60e6a37a7 Lintfix: E7801, C0321
354953
354954         · cb4706c7e8 Add license extraction for Dpkg.
354955
354956         · 38753fe8b2  Enhance  filter for the "technical" fields that are not
354957           generally needed as a package information for the CMDB
354958
354959         · ffe8f14dae Implement additional package information merger
354960
354961         · 2aafc469d0 Fix the size and installed-size keys
354962
354963         · 3fc389435b Add homepage translator key
354964
354965         · 25040c9c71 Docfix
354966
354967         · 911bae1baf Add alias for 'info' of deprecation in v. Boron
354968
354969         · 306958dad0 Fix renamed method
354970
354971         · 6ba269fbc6 Remove 'N/A' when no data.
354972
354973         · 137eb75ca2 Rename existing 'info' to 'info_available'
354974
354975         · 7b376fd5c3 Implement compatible 'info_installed'. Returned keys are
354976           common to other systems with other package managers
354977
354978         · ca7d0d5025 Implement compatible 'info_installed'. Returned keys are
354979           common to other systems with other package managers
354980
354981         · c1faebf0b5 Implement compatible 'info_installed'. Returned keys are
354982           common to other systems with other package managers
354983
354984         · f14f4036df Lint: regexp as a string
354985
354986         · cabe863b81 Implement package info function
354987
354988         · 0668f1da53 Implement getting package installation time
354989
354990         · e03716e5b5 Implement getting general packages information
354991
354992         · 8737d690fe Extract package description
354993
354994         · a283d53737 Lintfix the regexp string
354995
354996         · fc9c959678 Convert time to ISO 8601
354997
354998         · 9fb9296276 Return a detailed information about package(s)
354999
355000       · PR  #27119:  (l2ol33rt)  Boto dynamodb module should be using layer 2
355001         abstractions @ 2015-09-15 14:09:57 UTC
355002
355003         · 7f512852ef Merge pull request #27119 from l2ol33rt/boto_dynamo_mod‐
355004           ule_fix
355005
355006         · 46c7aee367 Boto dynamodb util should be using layer 2 abstractions
355007
355008       · PR  #27092:  (perfinion)  salt/master:  chdir  to  root not homedir @
355009         2015-09-15 14:09:24 UTC
355010
355011         · 100e340111    Merge    pull    request    #27092    from    perfin‐
355012           ion/chdir-fix-2015.8
355013
355014         · 284d268855 salt/master: chdir to root not homedir
355015
355016       · PR #27131: (jacobhammons) Install docs @ 2015-09-15 12:34:38 UTC
355017
355018         · 7483556b5f Merge pull request #27131 from jacobhammons/install-docs
355019
355020         · d1e8af9be6 added command to remove key from rhel6
355021
355022         · 69d64f177d moved rhel5 commands to separate lines
355023
355024         · 90431278ea Install instruction updates for rhel6 and debian
355025
355026       · PR #27124: (jfindlay) Backport #27123 @ 2015-09-15 08:37:43 UTC
355027
355028         · PR #27123: (cedwards) update for freebsd installation documentation
355029           (refs: #27124)
355030
355031         · fc8afcc9f9 Merge pull request #27124 from jfindlay/bp-27123
355032
355033         · 016fb5fafe Update freebsd.rst
355034
355035         · 026fc9a884 update for freebsd installation documentation
355036
355037       · PR #27111: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
355038         2015-09-15 07:29:30 UTC
355039
355040         · 0d62d3470c   Merge   pull  request  #27111  from  basepi/merge-for‐
355041           ward-2015.8
355042
355043         · ab519fb5ff Remove heavily-mocked unit tests
355044
355045         · 274464a85b  Merge  remote-tracking  branch  'upstream/2015.5'  into
355046           merge-forward-2015.8
355047
355048           · 59f2a0c7ae Merge pull request #26977 from abh/2015.5-ntppeer
355049
355050             · df3d6e817f Add support for PEERNTP network interface configura‐
355051               tion on RH derived systems
355052
355053           · e05b1f3951 Merge pull request #27023 from jfindlay/htwebutilpass
355054
355055             · 9f3d7890a6 add test support for htpasswd state mod
355056
355057           · 9f999c0027 Merge  pull  request  #27074  from  twangboy/fix_pass‐
355058             word_2015.5
355059
355060             · fdd3537456 Replaced password with redacted when displayed
355061
355062           · 46b44f85ed    Merge    pull    request    #27073    from   rally‐
355063             time/remove-lxc-warning
355064
355065             · 76c056d02b Remove "use develop branch" warning from  LXC  tuto‐
355066               rial now that 2015.5.0 has been released
355067
355068           · caab21d99c Merge pull request #27054 from rallytime/bp-27029
355069
355070             · 0be393be22 Removed check for no package name
355071
355072           · 0227e1cb57 Merge pull request #27053 from rallytime/bp-26992
355073
355074             · 83798aff3c Do not use full return for documentation.
355075
355076             · d9d5bbaa68 Summary requires full return information.
355077
355078           · b72a0ef86d Merge pull request #27052 from rallytime/bp-26930
355079
355080             · d9787aa318 aptpkg.mod_repo: Raise when key_url doesn't exist
355081
355082           · 8b554dd16f   Merge   pull   request   #27049  from  johanek/repo‐
355083             query-dedupe
355084
355085             · c113916a23 When running repoquery to check for  available  ver‐
355086               sions  of  packages, run once for all packages rather than once
355087               per package
355088
355089           · cc2cbf9869 Merge pull request #27070 from stanislavb/2015.5
355090
355091             · 1e6e5ddc9c Deprecate salt.utils.iam in Carbon
355092
355093           · e23caa8ccf Merge pull request #27030 from jfindlay/winreg
355094
355095             · 120fbe78e0 remove trailing line in win_path exec module
355096
355097             · b36a7107b2 update win_path exec module unit tests
355098
355099             · a2dc6f2dd7    Fixes    win_path    module,    migrates     from
355100               reg.(set|get)_key to reg.(set|get)_value
355101
355102           · 843c28b435 Merge pull request #27025 from cachedout/issue_25581
355103
355104             · ecc09d9b93 Lint
355105
355106             · bfcaab9ef4 Better try and error handling for prep_jid
355107
355108           · b9baa0b39a  Merge  pull  request  #27035  from terminalmage/user‐
355109             add-contextmanager
355110
355111             · e430e97f6c Update user states to reflect changes to login class
355112               handling
355113
355114             · f24b979c7c  useradd.py:  Use  contextmanager  to prevent leaked
355115               filehandles
355116
355117           · 1cdfdf7a92  Merge  pull  request  #27034   from   rallytime/soft‐
355118             layer-doc-fix
355119
355120             · cb641f8145 Update softlayer docs for where to find apikey
355121
355122           · 9e06d3f01a Merge pull request #27024 from rallytime/bp-27004
355123
355124             · 54d6fcf4c7 Fix 'dict' object has no attribute split
355125
355126             · bb29d73c71 Fix 'dict' object has no attribute split
355127
355128             · 5f1a9c46aa Fix 'dict' object has no attribute split
355129
355130             · 2bfdd9724e Fix 'dict' object has no attribute split
355131
355132           · 9ab2cae1e4 Merge pull request #27027 from rallytime/bp-27013
355133
355134             · 19a6e9cb1c Remove unwanted debug statement.
355135
355136           · 2c8beb238f Merge pull request #27026 from rallytime/bp-27011
355137
355138             · f8518d545f   Move  giant  eventlisten.sh  example  out  of  the
355139               state.event docstring
355140
355141           · e8cdcc62f7 Merge pull request #26972 from twangboy/fix_20522
355142
355143             · 0110786fa9 Catch the 404 error from fileclient
355144
355145           · fbc95f4685 Merge pull request #26951 from  terminalmage/fix-time‐
355146             zone
355147
355148             · 30a4915762 Update tests to reflect changes to timezone module
355149
355150             · b6f926919f Fix timezone module for CentOS
355151
355152           · f2ad3c333c Merge pull request #26875 from marccardinal/patch-2
355153
355154             · 36d5a62262 LXC gateway provisioned only when IP is provided
355155
355156           · 7b2e7b1b37  Merge  pull  request  #26997  from  twangboy/fix_sym‐
355157             link_windows
355158
355159             · 89cc02d4e0 Added versionadded
355160
355161             · 835177b0c8 Fixed symlinks for windows (don't use user root)
355162
355163           · 5389a85894 Merge pull request #27001 from twangboy/fix_reg_docs
355164
355165             · 2980bbda17 Minor clarification
355166
355167             · 4684b2ddd1 Added CLI example for reg.delete_key_recursive
355168
355169           · 37814f5dff Merge pull request #26996 from jacobhammons/beacon-doc
355170
355171             · e475ea688e Fixed typo
355172
355173             · 2401533d9e New content added to beacon docs.
355174
355175           · 4ba7eed711   Merge    pull    request    #26868    from    joeju‐
355176             lian/2015.5_lvm_vg_symlink_fix
355177
355178             · 3dfb33849a Use the actual device name when checking vgdisplay
355179
355180           · 1537e945be  Merge pull request #26955 from dsumsky/s3-pillar-mod‐
355181             ule-cache-fix-2015.5
355182
355183             · 8219acffe7 - fixed pylint warnings
355184
355185             · a3b10e8ab1  - fixed broken  caching  in  S3  ext_pillar  module
355186               (file_md5  was  a  list)   - added debugging messages  - static
355187               parameters are available as module parameters now
355188
355189           · 3e902e86b1 Merge pull request #26987 from rallytime/bp-26966
355190
355191             · 6a29eac003 URL has changed
355192
355193           · eddb532713 Merge pull request #26915 from rallytime/joyent-tests
355194
355195             · d4ad42d697 Update Joyent Cloud Tests
355196
355197           · f86814b2a4  Merge  pull  request  #26971   from   rallytime/reac‐
355198             tor-doc-fix
355199
355200             · 0214daad19 Fix a couple of typos in reactor docs
355201
355202           · 57b1080f94    Merge    pull    request    #26976    from    salt‐
355203             stack/revert-26899-fix_26730
355204
355205             · 6dd54e6bec Revert "file.symlink gets windows account instead of
355206               root"
355207
355208           · 67be01f5fe  Merge  pull  request #26975 from whiteinge/rest_cher‐
355209             rypy-integration
355210
355211             · 9a0989585b Add additional 'groups' check  to  rest_cherrypy  if
355212               groups are not used
355213
355214             · d68aefcfde Remove mocks from rest_cherrypy integration tests
355215
355216             · 2aa3da8911  Rename  the  rest_cherrypy  tests to conform to our
355217               convention
355218
355219           · 20a48f7f2e Merge pull request #26899 from twangboy/fix_26730
355220
355221             · 9d9b3bb47a file.symlink gets windows account instead of root
355222
355223           · dbc6b862f4 Merge pull request #26960 from rallytime/cherrypy-docs
355224
355225             · c1420711db Fix bash code block formatting
355226
355227           · f733e048c9 Merge pull request #26940 from rallytime/api-doc-fix
355228
355229             · 00fe6a225c Fix minor doc typo in client api
355230
355231           · de9350466e Merge pull request #26871 from rallytime/bp-26852
355232
355233             · 5a4c8dd2f5 Only reference msgpack if it imported successfully
355234
355235           · a563af29d3 Merge pull request #26851 from jacobhammons/doc-bugs
355236
355237             · ac3bd47440 states/pkgrepo examples, suse  installation  updates
355238               Refs #26644 Refs #26638
355239
355240           · 5b1b934192 Merge pull request #26817 from jfindlay/grouparg
355241
355242             · 82d33939f3 modify groupadd for rhel 5
355243
355244           · cdc0ea2fe3 Merge pull request #26824 from pravka/fix-droplet-cre‐
355245             ation-from-snapshot-in-dov2
355246
355247             · 00e3192536 removing log
355248
355249             · e4a82d78d9 removing stringification of every value in the image
355250               dict
355251
355252             · cdc2b4584a fixing condition for slug check
355253
355254           · 4af6951a4c Merge pull request #26823 from joejulian/ctlfix
355255
355256             · a9928cb143 pep8 fixes
355257
355258             · 6108ec4280 Gated dbus for os families that use it
355259
355260             · e154c7b16f remove trailing spaces
355261
355262             · c1c1266cc3 fix indent change
355263
355264             · 0a35320aa7 Use dbus directly
355265
355266           · a1749b76b8 Merge pull request #26820 from jfindlay/ctlfix
355267
355268             · 3a2c0d5fbb add default param in _parse_localectl in locale mod
355269
355270           · ff733547c4 Merge pull request #26821 from twangboy/fix_26788
355271
355272             · cf979e4877 Fixed user.rename function in windows
355273
355274           · c892be3255 Merge pull request #26803 from twangboy/fix_26754
355275
355276             · 23576c65eb Added check for PyMySQL if MySQLdb import fails
355277
355278           · 6edfa36083 Merge pull request #26815 from jfindlay/linstr
355279
355280           · 2ff5823944 stringify linode id before performing str actions
355281
355282       · PR  #27122:  (terminalmage)  Fix  broken link to git-config(1) docs @
355283         2015-09-15 07:25:05 UTC
355284
355285         · 886e7bc234 Merge pull  request  #27122  from  terminalmage/fix-bro‐
355286           ken-link
355287
355288         · 0b212ea5b3 Fix broken link to git-config(1) docs
355289
355290       · PR #27115: (jacobhammons) Release docs @ 2015-09-14 22:19:18 UTC
355291
355292         · 551bbe70af Merge pull request #27115 from jacobhammons/release-docs
355293
355294         · 42eaa80997 Restored missing css
355295
355296         · 9ab642295e Fixed a release notes typo and bad file rename
355297
355298         · daa3f4eee0  Updated  release notes, change 2015.8 to latest release
355299           for doc site
355300
355301         · d939a38c8c release notes updates
355302
355303       · ISSUE #11993: (UtahDave) salt-cloud -Q output not  consistent  across
355304         providers (refs: #27110)
355305
355306       · PR  #27110:  (rallytime)  Make  sure  -Q  output is consistent across
355307         salt-cloud drivers @ 2015-09-14 21:48:40 UTC
355308
355309         · 89c90df909 Merge pull request #27110 from rallytime/fix-11993
355310
355311         · c1abc5a19f Remove implied Nones
355312
355313         · 5d7d357cdd digital_ocean list_nodes function should list public and
355314           private ips like other drivers
355315
355316         · 4b27aef406  Add  'name'  to  the  output of salt-cloud -Q commands,
355317           where needed, for consistency.
355318
355319       · PR #27050: (twangboy) Turned multiprocessing on @ 2015-09-14 17:34:18
355320         UTC
355321
355322         · 860de8d877 Merge pull request #27050 from twangboy/fix_minion_conf
355323
355324         · 7e35b13022 Turned multiprocessing on
355325
355326       · PR  #27086:  (techhat)  Document  develoment  of SPM loader modules @
355327         2015-09-13 04:52:55 UTC
355328
355329         · c78d833540 Merge pull request #27086 from techhat/spmdevdocs
355330
355331         · ee0c8955dd Document develoment of SPM loader modules
355332
355333       · ISSUE #23125: (bemeyert)  Elasticsearch  as  master_job_cache  throws
355334         critical (refs: #26941)
355335
355336       · PR  #26941:  (msteed)  Make  elasticsearch work as master job cache @
355337         2015-09-12 17:13:44 UTC
355338
355339         · 25b11759f9 Merge pull request #26941 from msteed/issue-23125
355340
355341         · ff88fe402c add versionadded info to save_load() & get_load()
355342
355343         · 5d2fae8a89 make master job cache index configurable
355344
355345         · bc041fa4a7 Merge  branch  'issue-23125'  of  github.com:msteed/salt
355346           into issue-23125
355347
355348           · 9aedc2662e issue-23125
355349
355350         · 593c4d6b2f issue-23125
355351
355352       · PR  #27080:  (bechtoldt) [Proposal] Add Github SPM label for issues @
355353         2015-09-12 14:32:58 UTC
355354
355355         · b763d0ba52 Merge pull request #27080 from bechtoldt/spm_doc
355356
355357         · b9e5095bf5 add GH issue label SPM to docs
355358
355359       · PR #27064: (twangboy) Fixed user docs @ 2015-09-11 22:37:19 UTC
355360
355361         · cf59a03432 Merge pull request #27064 from twangboy/user_docs
355362
355363         · db03ca198e Fixed user docs
355364
355365       · PR #27072:  (rallytime)  Back-port  #26840  to  2015.8  @  2015-09-11
355366         22:35:52 UTC
355367
355368         · PR #26840: (deuscapturus) Update http.py (refs: #27072)
355369
355370         · 71c12cbf46 Merge pull request #27072 from rallytime/bp-26840
355371
355372         · d0b9ececa4 Update http.py
355373
355374       · PR  #27060:  (cro) Fix grains breakage when hosts are not Linux, Win‐
355375         dows, or SunOS @ 2015-09-11 17:28:49 UTC
355376
355377         · 0e7555089f Merge pull request #27060 from cro/proxy_grains_breakage
355378
355379         · e697326f1b Don't check for proxy in the individual is_linux/is_win‐
355380           dows/etc functions.  This breaks too many things.
355381
355382       · PR  #27051:  (rallytime)  Back-port  #26953  to  2015.8  @ 2015-09-11
355383         16:28:20 UTC
355384
355385         · PR #26953: (dsumsky) S3 ext_pillar module has broken caching mecha‐
355386           nism (refs: #27051)
355387
355388         · 8ee87b9f61 Merge pull request #27051 from rallytime/bp-26953
355389
355390         · eac9d9aba9 Pylint Fix
355391
355392         · 453440753c - fixed pylint warnings
355393
355394         · b40dfa459e - fixed broken caching in S3 ext_pillar module (file_md5
355395           was a list) - added debugging  messages  -  static  parameters  are
355396           available as module parameters now
355397
355398       · PR  #26864:  (terminalmage)  Only  do  git_pillar preflight checks on
355399         new-style git_pillar configs @ 2015-09-11 07:47:12 UTC
355400
355401         · 249f55cd8c Merge pull request #26864 from terminalmage/fix-git_pil‐
355402           lar-tests
355403
355404         · 0b5a653f7c   Only  do  git_pillar  preflight  checks  on  new-style
355405           git_pillar configs
355406
355407       · PR  #26967:  (TheBigBear)  new  URL  for  windows  salt  downloads  @
355408         2015-09-10 20:51:33 UTC
355409
355410         · efaedb8aea Merge pull request #26967 from TheBigBear/patch-4
355411
355412         · 8d2c042cf7 new URL for windows salt downloads
355413
355414       · PR  #26921: (terminalmage) Get rid of error in legacy git pillar when
355415         using branch mapping notation @ 2015-09-10 20:06:29 UTC
355416
355417         · 757d3c4eab   Merge   pull    request    #26921    from    terminal‐
355418           mage/legacy_git_pillar_tests
355419
355420         · 28e07d5d06  Get rid of error in legacy git pillar when using branch
355421           mapping notation
355422
355423       · PR #26923: (rallytime) Code clean up of cloud  drivers  and  files  @
355424         2015-09-10 16:37:26 UTC
355425
355426         · 68eb508e6c Merge pull request #26923 from rallytime/cloud-cleanup
355427
355428         · bf33c99b08 Remove redundant parentheses
355429
355430         · 5045989be7 Make sure function names comply
355431
355432         · e327d9a8a4 Remove redundant parens
355433
355434         · eee0291ff8 Code clean up of cloud drivers and files
355435
355436       · PR  #27010:  (rallytime)  Back-port  #26988  to  2015.8  @ 2015-09-10
355437         16:30:30 UTC
355438
355439         · PR #26988: (s0undt3ch) Process spm.d/*.conf and add prefix root dir
355440           support to SPM directories (refs: #27010)
355441
355442         · 590c46f4e3 Merge pull request #27010 from rallytime/bp-26988
355443
355444         · 93b30b5ba8 Whitespace
355445
355446         · 685fa911e7 Version Added for new apply_spm_config function
355447
355448         · 9612a6c7ad  Process spm.d/*.conf and add prefix root dir support to
355449           SPM directories
355450
355451       · PR #26985: (rallytime) Fix versionadded tag @ 2015-09-10 16:29:38 UTC
355452
355453         · ec185d77fa  Merge  pull  request  #26985  from   rallytime/version‐
355454           added-fix
355455
355456         · 79eb606cb7 Fix versionadded tag
355457
355458   Salt 2015.8.10 Release Notes
355459       Version 2015.8.10 is a bugfix release for 2015.8.0.
355460
355461       This release includes fixes for two issues discovered in 2015.8.9:
355462
355463       · Pip state broken in 2015.8.9 with pip <6.0 (issue #33376)
355464
355465       · Fix traceback in logging for config validation (PR #33386)
355466
355467   Final Release of Debian 7 Packages
355468       Regular  security  support  for Debian 7 ended on April 25th 2016. As a
355469       result, 2016.3.1 and 2015.8.10 will be the last Salt releases for which
355470       Debian 7 packages are created.
355471
355472   Important Post-Upgrade Instructions for Linux Mint
355473       As a result of some upstream changes, the os grain on Mint Linux is now
355474       being detected as LinuxMint (issue #33295). Run the  following  command
355475       after  you  upgrade  to 2015.8.10 to reset the os grain to Mint and the
355476       os_family grain to Debian:
355477
355478          salt -G 'os:LinuxMint' grains.setvals "{'os': 'Mint', 'os_family': 'Debian'}"
355479
355480   Changelog for v2015.8.9..v2015.8.10
355481       Generated at: 2018-05-28 00:51:57 UTC
355482
355483       · c3d2c4eaae Fix traceback in logging for config validation (#33386)
355484
355485       · 2a060ea1e8 restore whitespace
355486
355487       · aa1f45d664 blast, put the try/except int he right place
355488
355489       · be1a7659a3 maintain the fallabck because I am totally  sick  of  this
355490         crap
355491
355492   Salt 2015.8.11 Release Notes
355493       Version 2015.8.11 is a bugfix release for 2015.8.0.
355494
355495   Statistics
355496       · Total Merges: 122
355497
355498       · Total Issue References: 70
355499
355500       · Total PR References: 221
355501
355502       · Contributors:    48   (AAbouZaid,   BlaineAtAffirm,   DmitryKuzmenko,
355503         The-Loeki,   abednarik,   babilen,   bebehei,   cachedout,    clinta,
355504         complexsplit,    cro,   danslimmon,   dcolish,   dincamihai,   edgan,
355505         gerhardqux, ghedo,  isbm,  jacobhammons,  jfindlay,  jodv,  justinta,
355506         l13t,  lomeroe,  lorengordon, lvg01, mcalmer, meaksh, morganwillcock,
355507         oeuftete, opdude, phistrom, rallytime, rmarcinik, ryan-lane,  sacren,
355508         steverweber,   techhat,  tegbert,  terminalmage,  thatch45,  the-glu,
355509         thegoodduke, ticosax, tveastman, twangboy, vutny, zer0def)
355510
355511   Ubuntu 16.04 Packages
355512       SaltStack is now providing official Salt  2015.8  packages  for  Ubuntu
355513       16.04.
355514
355515   Returner Changes
355516       · Any returner which implements a save_load function is now required to
355517         accept a minions keyword argument. All returners which ship with Salt
355518         have been modified to do so.
355519
355520   New Master Configuration Parameter
355521       · rotate_aes_key - if True, causes Salt to generate a new AES key when‐
355522         ever a minion key is deleted.  This  eliminates  the  chance  that  a
355523         deleted minion could continue to eavesdrop on communications with the
355524         master if it continues to run after its key is deleted.
355525
355526   Changelog for v2015.8.10..v2015.8.11
355527       Generated at: 2018-05-28 01:16:12 UTC
355528
355529       · PR #34682: (jfindlay) update 2015.8.11 release notes
355530
355531       · PR #34676: (cachedout) Revert "Modify lodaer global test to use popu‐
355532         lated dunders" @ 2016-07-14 18:12:55 UTC
355533
355534         · 3192e1674b   Merge   pull   request   #34676   from  cachedout/par‐
355535           tial_revert_34644
355536
355537         · 64a154826a Revert "Modify lodaer global test to use populated  dun‐
355538           ders"
355539
355540       · PR #34601: (lorengordon) Clarifies the proper way to reference states
355541         @ 2016-07-14 14:20:41 UTC
355542
355543         · 3b6f1089b2 Merge pull request #34601 from lorengordon/clarify-doc
355544
355545         · bfe0dd0b8a Clarifies the proper way to reference states
355546
355547         · PR saltstack/salt#34644: (cachedout) Cleanup loader  errors  (refs:
355548           #34651)
355549
355550         · PR #34651: (rallytime) Lint 34644
355551
355552         · PR #34647: (cachedout) Adjust the mine test a little bit to give it
355553           a better chance of success
355554
355555       · PR #34642: (justinta) Check that  mysqladmin  exists  before  running
355556         mysql integration tests @ 2016-07-13 18:12:44 UTC
355557
355558         · 8a0209101e  Merge  pull  request  #34642  from jtand/mysql_integra‐
355559           tion_cleanup
355560
355561         · dd1559a599 Check that mysqladmin exists before running mysql  inte‐
355562           gration tests.
355563
355564       · PR  #34618:  (justinta)  Network  state  integration test test=True @
355565         2016-07-13 16:30:15 UTC
355566
355567         · 3e612c3794 Merge pull request  #34618  from  jtand/network_integra‐
355568           tion_fix
355569
355570         · 34bcf9ccfc Changed network state test to use test=True
355571
355572         · b2616833b0 Some small changes
355573
355574         · ed59113e94 Change network state integration test to use test=True
355575
355576       · PR #34617: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
355577         2016-07-12 20:11:40 UTC
355578
355579         · 9f123543e5 Merge pull request #34617 from rallytime/merge-2015.8
355580
355581         · 3026df346f Merge branch '2015.5' into '2015.8'
355582
355583         · 57df38e685 Update github IP for  ssh  state  integration  tests  (‐
355584           #34592)
355585
355586         · 2e1007254b Avoid circular imports when calling salt.utils functions
355587           (#34584)
355588
355589       · ISSUE #33649: (tyhunt99) 2016.3.0 dockerng state fails comparing  cmd
355590         configuration (refs: #saltstack/salt`#33851`_, #33851)
355591
355592         · PR  saltstack/salt#33851: (ticosax) [dockerng] Add support for edge
355593           case when Cmd and Entrypoint can't be blanked (refs: #34593)
355594
355595         · PR #34593: (rallytime) Back-port #33851 to 2015.8
355596
355597         · PR #33851: (ticosax) [dockerng] Add support for edge case when  Cmd
355598           and Entrypoint can't be blanked (refs: #34593)
355599
355600         · PR   #34590:   (oeuftete)  [2015.8]  dockerng:  When  sorting  list
355601           actual_data, make it a list
355602
355603         · PR #34591: (justinta) Gate docker unit test to check for docker
355604
355605         · PR #34560: (terminalmage) Add a bunch of documentation  on  getting
355606           files from other environments
355607
355608       · ISSUE #34397: (jaredhanson11) ignore_epoch needs to be passed through
355609         to version_cmp functions (refs: #34531)
355610
355611       · PR #34531: (terminalmage) Support ignore_epoch  argument  in  version
355612         comparisons @ 2016-07-08 16:43:36 UTC
355613
355614         · 91e0656d44 Merge pull request #34531 from terminalmage/issue34397
355615
355616         · d0fec1b8f6 salt/modules/zypper.py: accept ignore_epoch argument
355617
355618         · 5ae9463c1f salt/modules/yumpkg.py: accept ignore_epoch argument
355619
355620         · c2791117af salt/modules/rpm.py: accept ignore_epoch argument
355621
355622         · c5de8b880d salt/modules/ebuild.py: accept ignore_epoch argument
355623
355624         · 4ee8e8f037 salt/modules/aptpkg.py: accept ignore_epoch argument
355625
355626         · 5b123b403c Pass ignore_epoch to salt.utils.compare_versions()
355627
355628         · 07368fac40 Accept ignore_epoch argument for salt.utils.compare_ver‐
355629           sions()
355630
355631       · PR #34545:  (terminalmage)  Handle  cases  where  Docker  Remote  API
355632         returns an empty ExecutionDriver @ 2016-07-08 16:34:30 UTC
355633
355634         · e99befad47    Merge    pull    request    #34545   from   terminal‐
355635           mage/docker-exec-driver
355636
355637         · dd5838e242 Handle cases where Docker Remote API  returns  an  empty
355638           ExecutionDriver
355639
355640       · PR    #34546:   (rallytime)   Rename   unit.states.boto_secgroup   to
355641         unit.states.boto_secgroup_test @ 2016-07-08 16:16:42 UTC
355642
355643         · 7120d43df0    Merge    pull    request    #34546    from     rally‐
355644           time/rename-boto-secgroup-test
355645
355646         · f8a3622be7        Rename        unit.states.boto_secgroup        to
355647           unit.states.boto_secgroup_test
355648
355649       · PR #34537: (rallytime) Rename  tests.unit.simple  to  tests.unit.sim‐
355650         ple_test @ 2016-07-08 00:08:36 UTC
355651
355652         · ca92061821  Merge  pull  request  #34537 from rallytime/rename-sim‐
355653           ple-test
355654
355655         · ceefb6e34c Rename tests.unit.simple to tests.unit.simple_test
355656
355657         · PR #34527: (rallytime) [2015.8] Update bootstrap script  to  latest
355658           stable
355659
355660         · PR  #34521:  (cachedout)  Prevent  many errors in the test suite in
355661           loader tests
355662
355663         · PR #34507: (AAbouZaid) Fix wrong order of retention_policy_exists.
355664
355665       · PR #34518: (terminalmage) Fix pkg.latest integration test for non-LTS
355666         ubuntu @ 2016-07-07 19:29:13 UTC
355667
355668         · 685df80929 Merge pull request #34518 from terminalmage/fix-pkg.lat‐
355669           est-test
355670
355671         · 4aef44ecdf Fix pkg.latest integration test for non-LTS ubuntu
355672
355673       · PR #34513: (cachedout) Lower the log level for modules  which  cannot
355674         be loaded to trace @ 2016-07-07 17:00:48 UTC
355675
355676         · a516f116d1    Merge    pull    request    #34513    from    cached‐
355677           out/lower_loader_log
355678
355679         · 733c5d00c0 Lower the log level for modules which cannot  be  loaded
355680           to trace
355681
355682       · PR  #34498:  (rallytime)  Use -O in the wget example in the bootstrap
355683         tutorial for the develop branch @ 2016-07-07 16:30:46 UTC
355684
355685         · 63f0451041 Merge pull request #34498 from rallytime/bootstrap-tuto‐
355686           rial-doc-fix
355687
355688         · 23c5739c3b Use -O in wget develop example in bootstrap tutorial
355689
355690         · PR #34503: (rallytime) Rename some unit test files by adding _test
355691
355692       · ISSUE  #34302:  (ghost)  Salt gitfs loads top files from all branches
355693         and tags (refs: #34505)
355694
355695         · PR #34505: (terminalmage) Improve top file merging documentation
355696
355697         · PR #34492: (zer0def) Gracefully handle non-XML output in  GlusterFS
355698           execution module.
355699
355700         · PR  #34489:  (justinta)  Use skipTest for network state integration
355701           test
355702
355703       · ISSUE #34261: (vernondcole) salt.modules.dnsmasq documentation errors
355704         (refs: #34488, #34323)
355705
355706         · PR  #34488:  (rallytime) Update dnsmasq.get_config docs to use cor‐
355707           rect config_file param.
355708
355709       · PR #34462: (terminalmage) Use --always when available to git describe
355710         @ 2016-07-06 03:59:33 UTC
355711
355712         · e2f576e847    Merge    pull    request    #34462   from   terminal‐
355713           mage/git-describe-always
355714
355715         · 6ef7ee198e Restrict use of --always to git 1.5.6 and newer
355716
355717         · c554b22fc8    modules/git:    added    --always    parameter    for
355718           git.describe().
355719
355720       · PR  #34467:  (rallytime)  Back-port  #34457  to  2015.8  @ 2016-07-06
355721         03:56:58 UTC
355722
355723         · PR #34457: (ryan-lane) Only access key metadata  if  we  found  key
355724           metadata (refs: #34467)
355725
355726         · 85f1f18239 Merge pull request #34467 from rallytime/bp-34457
355727
355728         · 746883741f Only access key metadata if we found key metadata
355729
355730       · PR #34432: (twangboy) Fix file.append @ 2016-07-05 23:14:22 UTC
355731
355732         · 9e15337b74 Merge pull request #34432 from twangboy/fix_file.append
355733
355734         · 13f11fddce Remove refactoring code
355735
355736         · 78f7c530bb Remove unit tests, integration tests written
355737
355738         · b83392edea Remove len() in favor of boolean test
355739
355740         · 4373408163 Fix line error
355741
355742         · 2479b53e2f Fix erroneous report on newline code
355743
355744         · 75b6ed1fd5 Change back to binary read
355745
355746         · 65753cff6d Use os.linesep instead of n
355747
355748         · a55d63f086 Fix object names
355749
355750         · 3e2fe12e5e Add new line if missing
355751
355752         · 0b7821c8db Fix file.append state
355753
355754       · PR #34429: (terminalmage) Skip version checking for targeted packages
355755         in pkg.latest state @ 2016-07-05 17:50:41 UTC
355756
355757         · 91e095bb41 Merge pull  request  #34429  from  terminalmage/pkg-lat‐
355758           est-versioncheck
355759
355760         · 667f31a72a  Skip version checking for targeted packages in pkg.lat‐
355761           est state
355762
355763         · PR #34455: (cro) Forgot reference to inotify
355764
355765       · PR #34451: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
355766         2016-07-05 15:57:54 UTC
355767
355768         · 7bb0868c66 Merge pull request #34451 from rallytime/merge-2015.8
355769
355770         · 55a91e22be Merge branch '2015.5' into '2015.8'
355771
355772         · 8c72ee56e4  Merge  pull request #34435 from cachedout/backport_con‐
355773           fig_dir_integration
355774
355775           · 0e2c71a537 Backport change to integraiton test suite
355776
355777       · ISSUE #34390: (mgresser) Use rpmdev-vercmp to determine correct  ver‐
355778         sion of rpms in CentOS5 (refs: #34401)
355779
355780       · PR #34401: (terminalmage) Use rpmdev-vercmp as a fallback for version
355781         comparison on RHEL5 @ 2016-07-01 17:42:24 UTC
355782
355783         · e65d1ae374 Merge pull  request  #34401  from  terminalmage/rpm-ver‐
355784           sion_cmp
355785
355786         · 7cefd4182d  Use  rpmdev-vercmp as a fallback for version comparison
355787           on RHEL5
355788
355789       · PR #34366: (steverweber) Update service.py @ 2016-07-01 17:40:31 UTC
355790
355791         · 5ddf417432 Merge pull request #34366 from steverweber/fix_servicer‐
355792           estart
355793
355794         · 7847c39024 Update service.py
355795
355796       · PR  #34426:  (cro)  Document  that inotify is Linux only @ 2016-07-01
355797         17:04:38 UTC
355798
355799         · 485454febb Merge pull request #34426 from cro/inotify-linux-only
355800
355801         · 54a02f25ba Document that inotify is Linux only
355802
355803       · PR #34392: (cro) Clarify that salt-cloud  doesn't  get  installed  by
355804         bootstrap @ 2016-06-30 18:16:23 UTC
355805
355806         · fe18bbb527  Merge pull request #34392 from cro/salt-cloud-doc-clar‐
355807           ify
355808
355809         · 6cce575d40 Clarify that salt-cloud doesn't get installed  by  boot‐
355810           strap
355811
355812       · PR  #34373:  (justinta)  Network  state integration test @ 2016-06-30
355813         15:05:44 UTC
355814
355815         · 45b8fb10d7 Merge pull request #34373 from jtand/network_state_inte‐
355816           gration_test
355817
355818         · 1d24053e36 network.system sls file
355819
355820         · 4a9e6af542 network.routes sls file
355821
355822         · 76c90b2ef6 network.managed sls file
355823
355824         · 84a36369fa Added network state integration test
355825
355826         · PR  #34377: (terminalmage) Optimize pkg integration tests and add a
355827           couple new tests
355828
355829       · PR #34368: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
355830         2016-06-29 17:54:49 UTC
355831
355832         · af8ef1e461 Merge pull request #34368 from rallytime/merge-2015.8
355833
355834         · 3bce0cb510 Merge branch '2015.5' into '2015.8'
355835
355836         · 970aaa46d4 Merge pull request #34252 from gtmanfred/2015.5
355837
355838           · 82183f1572  return  list  of  nodes  for  lxc  driver when called
355839             directly
355840
355841         · PR #34344: (rallytime) Back-port #34324 to 2015.8
355842
355843         · PR #34324: (cachedout) Test custom grains matcher (refs: #34344)
355844
355845       · ISSUE #33674: (edgan) salt-ssh returns a zero code on jinja  template
355846         failure. (refs: #34316)
355847
355848       · ISSUE #28300: (srkunze) [salt-ssh] Does not return non-zero exit code
355849         (refs: #34316)
355850
355851         · PR #34342: (rallytime) Back-port #34316 to 2015.8
355852
355853         · PR #34316: (edgan) Making salt-ssh pass  proper  return  codes  for
355854           jinja rendering errors (refs: #34342)
355855
355856         · PR #34339: (terminalmage) Revert py3modernize lint changes
355857
355858       · PR  #34306:  (ghedo)  Fix iptables.flush state: Do not force 'filter'
355859         table when flushing @ 2016-06-28 19:03:14 UTC
355860
355861         · 046bdaa9f2 Merge pull request #34306 from  ghedo/iptables_flush_ta‐
355862           ble
355863
355864         · 882c6c9c86 Do not force 'filter' table when flushing
355865
355866       · ISSUE #34261: (vernondcole) salt.modules.dnsmasq documentation errors
355867         (refs: #34488, #34323)
355868
355869       · ISSUE #34249: (ssgward) Clarify doc on file.copy (refs: #34323)
355870
355871       · ISSUE #34247: (gravyboat) Update  logging  docs  to  mention  profile
355872         level (refs: #34323)
355873
355874       · ISSUE #33694: (hjc) Document That Local Files Can Be Used as a Source
355875         for File States (refs: #34323)
355876
355877         · PR #34323: (jacobhammons) Doc clarifications to file modules, addi‐
355878           tion of new profile log lev…
355879
355880         · PR  #34325:  (terminalmage)  Remove  unnecessarily-disabled  sanity
355881           check
355882
355883       · PR #34335: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
355884         2016-06-28 15:07:15 UTC
355885
355886         · c5890a0eca Merge pull request #34335 from rallytime/merge-2015.8
355887
355888         · 2296587536 Merge branch '2015.5' into '2015.8'
355889
355890         · 6cce545d92   Merge   pull   request   #34313  from  rallytime/boot‐
355891           strap-2015.5
355892
355893           · c7db73be92 [2015.5] Update to latest bootstrap script v2016.06.27
355894
355895         · PR #34319: (rallytime) Back-port #34244 to 2015.8
355896
355897         · PR #34244: (the-glu) Typo in dockerio doc (refs: #34319)
355898
355899       · PR #34312: (rallytime) [2015.8] Update  to  latest  bootstrap  script
355900         v2016.06.27 @ 2016-06-27 18:59:59 UTC
355901
355902         · dd4c937009   Merge   pull   request   #34312  from  rallytime/boot‐
355903           strap-2015.8
355904
355905         · 944a393f89 [2015.8] Update to latest bootstrap script v2016.06.27
355906
355907       · PR #34307: (rallytime) Fix test example in integration testing docs @
355908         2016-06-27 17:41:24 UTC
355909
355910         · 91703d2dc4  Merge pull request #34307 from rallytime/fix-test-exam‐
355911           ple
355912
355913         · f44a0543fe Fix test example in integration testing docs
355914
355915       · PR #34233: (thegoodduke) ipset: fix the comment  containing  blank  @
355916         2016-06-24 19:28:34 UTC
355917
355918         · d235b1245b    Merge    pull    request    #34233    from   thegood‐
355919           duke/for_2015.8_ipset
355920
355921         · 4da5e35bf4 ipset: fix the comment containing blank
355922
355923       · ISSUE #34037: (bobrik) salt-call ignores  --config-dir  resulting  in
355924         failing gpg renderer (refs: #34257)
355925
355926       · PR #34257: (rallytime) Use 'config_dir' setting instead of CONFIG_DIR
355927         in gpg renderer @ 2016-06-24 17:25:04 UTC
355928
355929         · 65c5675a3f Merge pull request #34257 from rallytime/fix-34037
355930
355931         · d7a5e9b10e Remove test that doesn't actually test anything
355932
355933         · c4c037d600 Use 'config_dir' setting instead of  CONFIG_DIR  in  gpg
355934           renderer
355935
355936       · ISSUE  #34273:  (clinta)  file.recurse does not properly cache files,
355937         adds a pipe to path (refs: #34274)
355938
355939       · PR #34274: (clinta) Don't escape  source  before  calling  managed  @
355940         2016-06-24 17:23:35 UTC
355941
355942         · 203870f147 Merge pull request #34274 from clinta/2015.8
355943
355944         · 6572454918 Don't escape source before calling managed
355945
355946       · PR #34258: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
355947         2016-06-24 14:27:06 UTC
355948
355949         · a59dc85a15 Merge pull request #34258 from rallytime/merge-2015.8
355950
355951         · ea914b67cd Merge branch '2015.5' into '2015.8'
355952
355953         · 8d5ed91980   Merge    pull    request    #34225    from    richard‐
355954           scollin/fix-win-set-datetime
355955
355956           · 6286771ef7 Fix win_system.set_system_date_time
355957
355958         · cb1e8bf082    Merge    pull    request    #34232    from   thegood‐
355959           duke/for_2015.5_ipset
355960
355961           · 344eb60762 ipset: fix commont containing blank
355962
355963       · ISSUE #33873: (hrumph) refresh: True not working  with  pkg.installed
355964         state (refs: #34093)
355965
355966       · PR #34093: (terminalmage) Catch CommandExecutionError in pkg states @
355967         2016-06-23 21:00:13 UTC
355968
355969         · 92962957c8 Merge pull request #34093 from terminalmage/issue33873
355970
355971         · 5edb45d746 win_pkg: refresh pkg database if refresh=True passed  to
355972           version() or list_pkgs()
355973
355974         · 0078adee35 Catch CommandExecutionError in pkg states
355975
355976       · PR  #34136:  (meaksh)  Fixed  behavior for SUSE OS grains in 2015.8 @
355977         2016-06-23 20:24:58 UTC
355978
355979         · PR #34134: (meaksh) Fixed behavior for SUSE  OS  grains  in  2016.3
355980           (refs: #34136)
355981
355982         · PR  #33903:  (meaksh) Fetching grains['os'] from /etc/os-release on
355983           SUSE systems if it is possible (refs: #34134)
355984
355985         · cb5399787c      Merge      pull      request      #34136       from
355986           meaksh/salt-suse-os-detection-2015.8
355987
355988         · 97f1958863 some cleanup and renaming
355989
355990         · 72c8e5d78f better way to check for openSUSE Leap
355991
355992         · 548971bdc9 Fix for SUSE OS grains in 2015.8
355993
355994       · ISSUE  #34074:  (fooka03) Unable to use S3 file backend with 2016.3.1
355995         on Ubuntu 14.04 or 16.04 (refs: #34208)
355996
355997       · ISSUE #32916: (giannello) file.managed memory usage with  s3  sources
355998         (refs: #33599)
355999
356000         · PR  #34208:  (lomeroe)  fix  regression  from  #33681  which causes
356001           pulling a list of s3 objects …
356002
356003         · PR #33681: (rallytime) Back-port #33599 to 2015.8 (refs: #34208)
356004
356005         · PR #33599: (lomeroe) Fix s3 large file download (refs: #33681)
356006
356007       · ISSUE #34213: (terminalmage) gitfs w/pygit2 - corner case,  traceback
356008         with short hexidecimal environment names (refs: #34218)
356009
356010       · ISSUE  #34212:  (terminalmage) gitfs: commit SHAs no longer available
356011         as fileserver environments (refs: #34218)
356012
356013         · PR #34218: (terminalmage) Fix a pair of gitfs bugs
356014
356015       · ISSUE #34043: (rallytime) state  execution  stacktraces  when  psutil
356016         isn't installed (refs: #34182)
356017
356018       · PR #34182: (rallytime) Handle child PIDs differently depending on the
356019         availability of psutils @ 2016-06-22 19:22:06 UTC
356020
356021         · PR #33942: (cachedout) ZD 762 (refs: #34182)
356022
356023         · 6d643cd528 Merge pull request #34182 from rallytime/fix-34043
356024
356025         · b7d49c5052 Handle child PIDs differently depending  on  the  avail‐
356026           ability of psutils
356027
356028         · PR  #34188: (terminalmage) Clarify pkg.list_repo_pkgs docstring for
356029           held packages
356030
356031         · PR #34206:  (terminalmage)  Change  target  for  dockerng  assuming
356032           default status to Nitrogen release
356033
356034       · PR #34184: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
356035         2016-06-21 21:43:46 UTC
356036
356037         · 1c4369d093 Merge pull request #34184 from rallytime/merge-2015.8
356038
356039         · 8e36e90966 Merge branch '2015.5' into '2015.8'
356040
356041         · 5411ebb3b4 Merge pull request #34141 from jtand/boto_vpc_test_fix
356042
356043           · b7ac6c735a Moved imports to top, out of  _get_moto_version  func‐
356044             tion
356045
356046           · 02f9ba99ba Updated version check. Moved check into it's own func‐
356047             tion
356048
356049           · d445026c56 Updated test to work with new  moto  version.  Changed
356050             strings to unicode
356051
356052       · ISSUE  #33972:  (morganwillcock)  2016.3.1  breaks  diskusage  beacon
356053         (refs: #34176, #34103)
356054
356055       · PR #34176:  (rallytime)  Back-port  #34103  to  2015.8  @  2016-06-21
356056         20:01:46 UTC
356057
356058         · PR #34103: (morganwillcock) Fix diskusage beacon (refs: #34176)
356059
356060         · PR #33474: (cachedout) Fix diskusage beacon (refs: #34103)
356061
356062         · c059d6c08c Merge pull request #34176 from rallytime/bp-34103
356063
356064         · 2e5e7ed03c Fix diskusage beacon
356065
356066       · ISSUE #34114: (onorua) can't read PID from lock file due to exception
356067         if gitfs_global_lock is enabled (refs: #34179)
356068
356069       · PR #34179: (terminalmage) Raise  the  correct  exception  when  gitfs
356070         lockfile is empty @ 2016-06-21 20:00:59 UTC
356071
356072         · 5cbaaed167 Merge pull request #34179 from terminalmage/issue34114
356073
356074         · 86d1b8e864 Raise the correct exception when gitfs lockfile is empty
356075
356076       · PR  #34178:  (terminalmage)  Remove unnecesssary comment @ 2016-06-21
356077         19:15:37 UTC
356078
356079         · 67deded119 Merge pull request #34178 from  terminalmage/remove-com‐
356080           ment
356081
356082         · 4965be72b1 Remove unnecesssary comment
356083
356084         · PR  #34165:  (mcalmer)  fix  salt --summary to count not responding
356085           minions correctly
356086
356087         · PR #34175: (rallytime) Back-port #34128 to 2015.8
356088
356089         · PR #34128: (bebehei) doc: add missing dot (refs: #34175)
356090
356091         · PR #34174: (rallytime) Back-port #34066 to 2015.8
356092
356093         · PR #34066: (complexsplit) Typo fix (refs: #34174)
356094
356095       · PR #34077: (rallytime) Add some grains targeting tests  @  2016-06-21
356096         16:06:30 UTC
356097
356098         · 3669048654 Merge pull request #34077 from rallytime/grains-tests
356099
356100         · 2199bb8a78 Add integration tests for grains.append
356101
356102         · 37cfe70724 Add some grains targeting tests
356103
356104       · PR  #34142: (isbm) Move log message from INFO to DEBUG.  @ 2016-06-20
356105         18:57:34 UTC
356106
356107         · 65fba5b4d7      Merge      pull      request      #34142       from
356108           isbm/isbm-getid-loglevel-shift
356109
356110         · 236a67b702 Move log message from INFO to DEBUG.
356111
356112         · PR  #34100: (terminalmage) Update documentation on "refresh" behav‐
356113           ior in pkg states
356114
356115         · PR #34072: (jfindlay) modules.pkg int tests: skip  refresh_db  upon
356116           error
356117
356118       · PR  #34069:  (rallytime)  Add a test to check for disconnected minion
356119         messaging @ 2016-06-16 21:18:38 UTC
356120
356121         · 1b76de1557  Merge  pull  request  #34069  from  rallytime/test-min‐
356122           ion-return-message
356123
356124         · 60561ac6fc Add a test to check for disconnected minion messaging
356125
356126       · ISSUE #30100: (armooo) Masterless gitfs performance (refs: #34048)
356127
356128       · PR  #34048:  (terminalmage) RFC: proposed fix for multiple fileserver
356129         updates in masterless runs @ 2016-06-16 21:10:59 UTC
356130
356131         · 3119693dac Merge pull request #34048 from terminalmage/issue30100
356132
356133         · 715e7af8a4 Ensure only one fileserver update in a masterless run
356134
356135       · PR #34011: (rallytime)  Back-port  #33948  and  #34009  to  2015.8  @
356136         2016-06-16 15:41:02 UTC
356137
356138         · PR #34009: (rallytime) Back-port #33948 to 2016.3 + add log message
356139           (refs: #34011)
356140
356141         · PR #33948: (cachedout) Save an entire  minion  cache  traversal  on
356142           each master pub (refs: #34011, #34009)
356143
356144         · dd03024931 Merge pull request #34011 from rallytime/bp-33948-2015.8
356145
356146         · a4660d1ff7  Warn  when custom returners don't have minions kwarg in
356147           save_load
356148
356149         · 78befde62f Add note to release notes about returner  minions  kwarg
356150           change
356151
356152         · 4e7f35fa36 Fix loop over cache in auth checking!
356153
356154         · 06963e0505 Save an entire minion cache traversal on each master pub
356155
356156         · PR  #34051:  (tegbert) Fixed a bug in the consul.py module that was
356157           preventing services
356158
356159       · PR #34045: (jacobhammons) Updated latest release version @ 2016-06-15
356160         19:22:43 UTC
356161
356162         · 8ba117c7f6 Merge pull request #34045 from jacobhammons/release-prev
356163
356164         · 43b4a12aa2 Updated latest release version
356165
356166         · PR  #34020:  (twangboy) Always make changes to minion config if set
356167           (2015.8)
356168
356169         · PR #34030: (vutny) More YAML  indentation  fixes  in  state  module
356170           examples
356171
356172         · PR  #34003:  (vutny)  states.file: fix indentation in YAML examples
356173           (refs: #34030)
356174
356175       · PR #34018: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
356176         2016-06-14 22:53:19 UTC
356177
356178         · 5b5eae4ca9 Merge pull request #34018 from rallytime/merge-2015.8
356179
356180         · 77f44f3087 Merge branch '2015.5' into '2015.8'
356181
356182         · 871f7966ce Lint fix for #34000 (#34005)
356183
356184         · f758e42172 Fix incorrectly written test (#34000)
356185
356186         · cf6281b4cf  Add  loader.utils()  example  to calling minion_mods (‐
356187           #33953)
356188
356189         · 6b98e8a9ea Merge pull request #33880 from terminalmage/zh744
356190
356191           · ea726d11c8 pkg.uptodate: Pass kwargs to pkg.list_upgrades
356192
356193           · de90b35d2b  salt/modules/zypper.py:  add  fromrepo   support   to
356194             list_upgrades
356195
356196           · 35fbb06df5 salt/modules/win_pkg.py: add kwargs to list_upgrades
356197
356198           · bf5505f425     salt/modules/solarisips.py:    add    kwargs    to
356199             list_upgrades
356200
356201           · 6e89a8be98 salt/modules/pkgutil.py: add kwargs to list_upgrades
356202
356203           · 5179dbcec4 salt/modules/pacman.py: add kwargs to list_upgrades
356204
356205           · 46e5a52784 salt/modules/macports.py: add kwargs to list_upgrades
356206
356207           · 76143b76ca salt/modules/ebuild.py: add kwargs to list_upgrades
356208
356209           · b40fc9bc62 salt/modules/brew.py: add kwargs to list_upgrades
356210
356211           · 4f11c16d86  salt/modules/aptpkg.py:  add  fromrepo   support   to
356212             list_upgrades
356213
356214         · cb88960ed1 Merge pull request #33904 from rallytime/bp-33806
356215
356216           · 638ccf501d Work around upstream cherrypy bug
356217
356218         · PR  #34003:  (vutny)  states.file: fix indentation in YAML examples
356219           (refs: #34030)
356220
356221       · ISSUE #20809: (lorengordon) Function pam.read_file is not  available?
356222         (refs: #34002)
356223
356224         · PR #34002: (lorengordon) Remove loader test for pam module
356225
356226       · PR  #33990: (jacobhammons) Adds links to several current Salt-related
356227         projects @ 2016-06-14 01:15:20 UTC
356228
356229         · c4dab6a074  Merge  pull  request  #33990  from  jacobhammons/commu‐
356230           nity-projects
356231
356232         · b20213fd79  Adds  links  to  several  current Salt-related projects
356233           Removes the salt_projects.rst file which hasn't been updated  in  a
356234           long    time,    this    is    replaced   by   the   updated   top‐
356235           ics/projects/index.rst file Adds a note  about  Salt  Pack  to  the
356236           installation doc
356237
356238       · PR   #33983:   (twangboy)  Clarify  the  account_exists  parameter  @
356239         2016-06-14 01:11:48 UTC
356240
356241         · 444c15792c    Merge    pull    request    #33983    from     twang‐
356242           boy/fix_docs_join_domain
356243
356244         · b057be04b4 Fix typo, more documentation
356245
356246         · d8c2f3e57a Clarify the account_exists parameter
356247
356248       · PR  #33951: (jfindlay) modules.gem int tests: more fixes @ 2016-06-14
356249         00:46:43 UTC
356250
356251         · 9bd2317992 Merge pull request #33951 from jfindlay/gem_tests
356252
356253         · 2eb633ccad modules.gem int tests: only check known installed gems
356254
356255         · 9f3e18b037 modules.gem int tests: (un)install a non-core gem
356256
356257       · PR #33984: (jfindlay) Add docs and tests to disk state  @  2016-06-14
356258         00:43:38 UTC
356259
356260         · 53baae6eb1 Merge pull request #33984 from jfindlay/disk_capacity
356261
356262         · 6cbe31e6c2 states.disk: rewrite unit tests
356263
356264         · 82c77b533f states.disk.status: validate percent values
356265
356266         · aedc4e15e5 states.disk: add documentation
356267
356268       · PR  #33985:  (rallytime) Write some more simple batch command tests @
356269         2016-06-14 00:38:05 UTC
356270
356271         · fa5efb6a69    Merge    pull    request    #33985    from     rally‐
356272           time/more-batch-tests
356273
356274         · 3e7ab8c7b3 Write some more simple batch command tests
356275
356276         · PR #33684: (jfindlay) add acl unit tests
356277
356278         · PR #33942: (cachedout) ZD 762 (refs: #34182)
356279
356280       · PR  #33946:  (rallytime)  Back-port  #33698  to  2015.8  @ 2016-06-13
356281         15:55:22 UTC
356282
356283         · PR #33698: (opdude) Vsphere fixes (refs: #33946)
356284
356285         · 0281d491c6 Merge pull request #33946 from rallytime/bp-33698
356286
356287         · 5fdfed1cb9 Make sure we only use GetConnection if we  are  using  a
356288           proxy salt minion
356289
356290         · 1505c5724b  Fix  a bug with self signed certificates and creating a
356291           new VM
356292
356293       · ISSUE #33911: (xlotlu) salt-ssh + grains.filter_by Type  error:  fil‐
356294         ter_by() got an unexpected keyword argument 'base' (refs: #33952)
356295
356296       · PR  #33952:  (rallytime) Add base argument to salt-ssh grains wrapper
356297         for filter_by func @ 2016-06-13 15:51:33 UTC
356298
356299         · dff3f51955 Merge pull request #33952 from rallytime/fix-33911
356300
356301         · 03b7cbbd2c Add base argument to salt-ssh grains  wrapper  for  fil‐
356302           ter_by func
356303
356304         · PR #33962: (jacobhammons) Adds a "Generated on <timestamp>" line to
356305           the html footer
356306
356307       · ISSUE #29525: (apergos) master config setting ping_on_rotate is  bro‐
356308         ken if minion_data_cache is disabled (refs: #33765)
356309
356310         · PR  #33765: (cachedout) Correct issue with ping on rotate with min‐
356311           ion cache
356312
356313       · PR #33888: (jfindlay) random.org checks @ 2016-06-10 15:45:07 UTC
356314
356315         · 378dd7ca06 Merge pull request #33888 from jfindlay/random_check
356316
356317         · 6acee3cc30 modules.random_org._query: only return text if present
356318
356319         · 82f95429db modules.random_org unit tests: skip if random.org down
356320
356321         · 1f9422e0cd utils.http.query: also except gaierror with tornado
356322
356323       · ISSUE #31499: (Reiner030)  FeatureRequest:  boto_elb  misses  connec‐
356324         tion_settings - idle_timeout (refs: #33936)
356325
356326         · PR  #33936:  (rallytime)  Add connecting_settings to boto_elb state
356327           attributes list
356328
356329       · ISSUE #29249: (timcharper) salt-cloud  sync_after_install:  all  does
356330         not seem to sync anything at all (refs: #33917)
356331
356332         · PR #33917: (techhat) Wait for up to a minute for sync_after_install
356333
356334       · PR #33877: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
356335         2016-06-09 14:50:42 UTC
356336
356337         · ef6da0be5d Merge pull request #33877 from rallytime/merge-2015.8
356338
356339         · 398534a9e7 Fix ret return from merge-conflict resolution
356340
356341         · b8e4706074 Merge branch '2015.5' into '2015.8'
356342
356343         · cdda593c50 Merge pull request #33829 from  terminalmage/update-ver‐
356344           sionchanged
356345
356346           · f7028eb1c6 Update versionchanged directive
356347
356348         · b8e6c144d8 Merge pull request #33833 from terminalmage/issue33645
356349
356350           · 91745c2a67 Support syncing pillar modules to masterless minions
356351
356352         · e061788e81   Merge   pull   request  #33814  from  terminalmage/ar‐
356353           chive-extracted-xz
356354
356355           · 897a716df2 Support extraction of XZ archives in archive.extracted
356356             state
356357
356358         · fa983e91cf    Merge   pull   request   #33778   from   sodium-chlo‐
356359           ride/2015.5-2016-0604-1938
356360
356361           · a5fb6d7a69 Fix minor docstring issues
356362
356363         · b9133326c8   Merge   pull   request    #33726    from    jtand/sys‐
356364           mod_skip_valid_docs_glance
356365
356366           · ebee8a89af  glance.warn_until  shouldn't  be  checked  for  a doc
356367             string
356368
356369         · 137f0b19f3 Merge pull request #33611 from TargetHolding/2015.5
356370
356371           · 1dd15a603b  solve'  TypeError:  expected  string  or  buffer'  in
356372             json/decoder.py
356373
356374           · eaf42ca892 solve AttributeError: 'module' object has no attribute
356375             'exception'
356376
356377       · ISSUE #33810: (chiro79) locate.locate fails always (refs: #33827)
356378
356379       · PR #33827: (cachedout) Fix broken locate.locate function @ 2016-06-08
356380         13:49:57 UTC
356381
356382         · ec09095c45 Merge pull request #33827 from cachedout/issue_33810
356383
356384         · 9d36f1e474 Fix broken locate.locate function
356385
356386       · PR   #33839:   (cachedout)   Fix  another  unit  test  stacktrace  in
356387         pkg_resource @ 2016-06-08 13:32:55 UTC
356388
356389         · f7b3d0eda0 Merge  pull  request  #33839  from  cachedout/fix_pkgre‐
356390           source_test_stacktrace
356391
356392         · 435547a747 Fix another unit test stacktrace in pkg_resource
356393
356394       · PR #33840: (cachedout) Remove matcher tests @ 2016-06-08 13:31:41 UTC
356395
356396         · 5f081ef31c    Merge    pull    request    #33840    from    cached‐
356397           out/remove_matcher_unit_tests
356398
356399         · 6297448377 Remove matcher tests
356400
356401       · PR #33836: (cachedout) Fixing more stupid  unit  tests  @  2016-06-07
356402         21:34:04 UTC
356403
356404         · cda032dab2   Merge  pull  request  #33836  from  cachedout/fix_win‐
356405           server_manager_test
356406
356407         · 453fb1ac91 Fixing more stupid unit tests
356408
356409       · PR #33805: (jfindlay) states.pkg int tests: skip if pkg mgr  unavail‐
356410         able @ 2016-06-07 14:40:47 UTC
356411
356412         · 1db559afe9 Merge pull request #33805 from jfindlay/pkg_tests
356413
356414         · 0c069ddc95 states.pkg int tests: skip if pkg mgr unavailable
356415
356416       · PR  #33808: (jfindlay) fix some problems with the gem module integra‐
356417         tion tests @ 2016-06-07 14:40:25 UTC
356418
356419         · 3984b65486 Merge pull request #33808 from jfindlay/gem_tests
356420
356421         · f7c19a1a58 modules.gem int tests: relax version checks
356422
356423         · 6af47d2ba7  modules.gem  int  tests:  remove  pkgs  before  testing
356424           install
356425
356426       · PR  #33770:  (jfindlay)  service state integration tests @ 2016-06-07
356427         14:37:54 UTC
356428
356429         · c30d8a8c61 Merge pull request #33770 from jfindlay/service_tests
356430
356431         · f13f914755 states.service: add integration tests
356432
356433         · 90aee79c39 states.service.mod_watch: update unit test
356434
356435         · d210a92f09 states.service.mod_watch: update sfun and force docs
356436
356437       · PR #33691: (justinta) Gem integration test @ 2016-06-06 11:13:23 UTC
356438
356439         · 7fdfbe9a28  Merge  pull  request  #33691  from   jtand/gem_integra‐
356440           tion_test
356441
356442         · ff2dae103d  ubuntu  doesn't  install  default  gems  when  ruby  is
356443           installed
356444
356445         · 504df9a65a Fixed lint error
356446
356447         · 0cb1bfa0d3 Removed extra :
356448
356449         · 86f59b3e80 Made more pythonic
356450
356451         · 2f36f34981 Fixed salt.util import. Added status check to make  sure
356452           external resource is available
356453
356454         · 400a71ec33 Removed redundancies
356455
356456         · 91db411bea A couple lint fixes
356457
356458         · c97f3319b9 Add check for gem binary
356459
356460         · 210aceb402 Refactored tests to not use return messages
356461
356462         · 9d437bd45d Removed artifact from testing
356463
356464         · 134e1fa888 Fixed typos, and added destructiveTest decorator
356465
356466         · 37bc3ad8fd Fixed typo, uninstalled to uninstall
356467
356468         · 5b23b91ac6 Integration test for gem module
356469
356470       · PR  #33777: (sacren) Fix minor docstring issue of arg being missing @
356471         2016-06-06 10:44:59 UTC
356472
356473         · bb4194bb79   Merge   pull   request   #33777   from    sodium-chlo‐
356474           ride/2015.8-2016-0604-1939
356475
356476         · c1fd830a1a Fix minor docstring issue of arg being missing
356477
356478       · ISSUE   #31219:   (gladiatr72)   when   the  minions  have  all  been
356479         destroyed... (refs: #33759)
356480
356481       · PR #33759: (cachedout) Catch no minions exception  in  batch  mode  @
356482         2016-06-03 21:22:49 UTC
356483
356484         · c749aea409 Merge pull request #33759 from cachedout/issue_31219
356485
356486         · 15a39f8646 Catch no minions exception in batch mode
356487
356488       · ISSUE  #33554:  (jfindlay) local cache missing directories while run‐
356489         ning test suite (refs: #33653)
356490
356491       · PR #33719: (cachedout) Catch oserror for race condition @  2016-06-03
356492         17:25:26 UTC
356493
356494         · PR  #33653:  (cachedout) Create missing jid dir if it doesn't exist
356495           (refs: #33719)
356496
356497         · 47d668e071 Merge pull request #33719 from cachedout/fixup_33653
356498
356499         · 635efa248b Change to just surround the mkdir
356500
356501         · 21b7123a60 Catch oserror for race condition
356502
356503       · PR #33712: (meaksh) Fix for groupadd  execution  module  failures  in
356504         SLES11 systems @ 2016-06-03 16:13:06 UTC
356505
356506         · 11e39e7203       Merge      pull      request      #33712      from
356507           meaksh/fix-for-groupadd-module-failures-in-SLE11-2015.8
356508
356509         · ab738416ba pylint fix
356510
356511         · bf27e5d36e test_members cleanup
356512
356513         · ba815dbf76 improvements on groupadd unit tests
356514
356515         · 3bbc5ae0d9 one line is better
356516
356517         · a53dc192c9 fix groupadd module for sles11 systems
356518
356519       · PR #33718:  (rallytime)  Back-port  #33700  to  2015.8  @  2016-06-03
356520         16:10:44 UTC
356521
356522         · PR   #33700:   (sacren)   Fix   incorrect   args  passed  to  time‐
356523           zone.set_hwclock (refs: #33718)
356524
356525         · 2c450a7494 Merge pull request #33718 from rallytime/bp-33700
356526
356527         · a6a446121a Fix speed issue
356528
356529         · a41146730a Fix incorrect args passed to timezone.set_hwclock
356530
356531       · ISSUE #33725: (terminalmage) git_pillar w/pygit2 fails to checkout  a
356532         non-master  branch  when  remote  repo  has  no  master branch (refs:
356533         #33727)
356534
356535       · PR #33727: (terminalmage) Fix git_pillar edge case for  remote  repos
356536         without a master branch @ 2016-06-03 16:03:59 UTC
356537
356538         · b07701f0a0 Merge pull request #33727 from terminalmage/issue33725
356539
356540         · d8ba7ed5a5 Fix git_pillar edge case for remote repos without a mas‐
356541           ter branch
356542
356543       · PR #33728: (jfindlay) Make  configurable_test_state  configurable  in
356544         test mode @ 2016-06-03 16:02:57 UTC
356545
356546         · 015e50cec8 Merge pull request #33728 from jfindlay/test_state_test
356547
356548         · 87e018af2a states.test.configurable_test_state: add unit tests
356549
356550         · c2d0679c4b       states.test.configurable_test_state:      refactor
356551           change_data
356552
356553         · f06ff1af1f states.test.configurable_test_state test mode
356554
356555       · PR #33729: (twangboy)  Add  exclude  option  to  win_servermanager  @
356556         2016-06-03 15:53:13 UTC
356557
356558         · 1cf8fe3f1d  Merge pull request #33729 from twangboy/fix_win_server‐
356559           manager
356560
356561         · 2de91d166f Fix docstring
356562
356563         · 9870479d99 Add exclude option to state
356564
356565         · 50bd76e206 Add exclude option
356566
356567       · ISSUE     #31816:     (vutny)     Deprecate     or     update     the
356568         http://debian.saltstack.com/ (refs: #33743)
356569
356570       · PR  #33743: (vutny) Debian installation docs: drop section about com‐
356571         munity-maintained repo @ 2016-06-03 15:29:45 UTC
356572
356573         · 6c150d840d Merge pull request #33743 from  vutny/drop-debian-commu‐
356574           nity-repo-doc
356575
356576         · 8621f5be54  Debian  installation  docs:  drop  section about commu‐
356577           nity-maintained repository
356578
356579       · ISSUE #33554: (jfindlay) local cache missing directories  while  run‐
356580         ning test suite (refs: #33653)
356581
356582         · PR  #33653:  (cachedout) Create missing jid dir if it doesn't exist
356583           (refs: #33719)
356584
356585       · PR #33654: (twangboy) Fix win servermanager @ 2016-06-02 17:55:45 UTC
356586
356587         · 8a566ff4b9 Merge pull request #33654 from  twangboy/fix_win_server‐
356588           manager
356589
356590         · 6c7b21676a Fix lint and tests
356591
356592         · 4775e6bdf0 Add additional params to state
356593
356594         · b0af32346d Add additional params to install and remove
356595
356596       · ISSUE #33424: (thusoy) Error logging with non-environment branches in
356597         gitfs (refs: #33679)
356598
356599       · PR #33679: (terminalmage) Only compile the template contents if  they
356600         evaluate to True @ 2016-06-02 17:20:00 UTC
356601
356602         · 996ff56dd4 Merge pull request #33679 from terminalmage/issue33424
356603
356604         · 9da40c4437 Append empty dictionaries for saltenvs with no top file
356605
356606         · 5eb1b3ca62  Only  compile the template contents if they evaluate to
356607           True
356608
356609       · PR #33685: (jfindlay) modules.cp.get_url: add  test  for  https://  @
356610         2016-06-01 22:25:41 UTC
356611
356612         · c8dc70b96a Merge pull request #33685 from jfindlay/get_url_test
356613
356614         · 2b5035fdc0 modules.cp.get_url: add test for https://
356615
356616       · PR  #33581: (dincamihai) Call zypper refresh after adding/modifying a
356617         repository @ 2016-06-01 22:25:11 UTC
356618
356619         · 5e022ff29c Merge pull request #33581 from dincamihai/2015.8
356620
356621         · 788730ea72 DRY test
356622
356623         · 1d3769ccfa Improve zypper_patcher_config looks
356624
356625         · 42d8d4195c Assert only gpgautoimport: True works
356626
356627         · ced75e8e62 Reverse if conditions and rename variable
356628
356629         · 80bfbe5c52 Reduce dicts and lists to one line where possible
356630
356631         · 1d5d6d7d60 Update test method names to pass pylint
356632
356633         · c7ae5907ee Call zypper refresh after adding/modifying a repository
356634
356635       · ISSUE #32916: (giannello) file.managed memory usage with  s3  sources
356636         (refs: #33599)
356637
356638       · PR  #33681:  (rallytime)  Back-port #33599 to 2015.8 (refs: #34208) @
356639         2016-06-01 21:14:29 UTC
356640
356641         · PR #33599: (lomeroe) Fix s3 large file download (refs: #33681)
356642
356643         · 069ee15b7c Merge pull request #33681 from rallytime/bp-33599
356644
356645         · 45143a599b use requests streaming  for  uploads/downloads  to  file
356646           (return_bin  unchanged) allows downloading files larger than amount
356647           of memory (non-stream reads into memory before writing to  disk  or
356648           uploading)
356649
356650         · 4a9b23f03f  first  go  at having requests use streaming for get/put
356651           requests
356652
356653       · ISSUE #33393: (babilen) pip.installed does not work with ancient  pip
356654         versions (refs: #33396)
356655
356656       · PR #33396: (babilen) Issue 33393 @ 2016-06-01 21:12:03 UTC
356657
356658         · 13537c4891 Merge pull request #33396 from babilen/issue-33393
356659
356660         · 57e0475cd4 Make pip InstallationError import more robust
356661
356662         · 291a3e21fa Remove duplicated code.
356663
356664       · PR  #33652:  (terminalmage)  Lower  the  log level for failed auths @
356665         2016-06-01 16:37:09 UTC
356666
356667         · 7bce4ece1a Merge pull request #33652 from terminalmage/zh723
356668
356669         · 411841603a Lower the log level for failed auths
356670
356671       · ISSUE #33582: (waxie) mysql module  gives  traceback  if  no  working
356672         authentication (refs: #33615)
356673
356674       · PR  #33615:  (danslimmon)  Fix  crash  on  unconnectable MySQL server
356675         (resolves #33582) @ 2016-05-31 16:03:51 UTC
356676
356677         · 504989388a Merge pull request #33615  from  danslimmon/mysql-trace‐
356678           back-33582
356679
356680         · 180099ae9f Wrote test for broken server connection
356681
356682         · c6c3ff02e3 Added some error checking to resolve #33582.
356683
356684       · PR #33558: (twangboy) Fix win servermanager @ 2016-05-27 22:05:43 UTC
356685
356686         · b47182e47c  Merge pull request #33558 from twangboy/fix_win_server‐
356687           manager
356688
356689         · 62a6bde0ea Fix comment when already installed
356690
356691         · 79bc7195dc Fix unit tests
356692
356693         · 56a6f6bb83 Fix changes
356694
356695         · 8ebe99ec5e Fix restart_needed
356696
356697         · 6e478cbda0 Add restart needed
356698
356699         · 72ebf26616 Add missing import
356700
356701         · 193583be96 Use dictionary compare for changes in remove
356702
356703         · 1ae7dd76c1 Use dictionary compare for changes
356704
356705       · ISSUE #33544: (tjuup)  Salt  2016.3.0  (Boron)  clean_old_jobs  fails
356706         (refs: #33555)
356707
356708       · PR  #33555: (cachedout) Fix crashing Maintenence process @ 2016-05-26
356709         19:25:39 UTC
356710
356711         · 58d89d66e3 Merge pull request #33555 from cachedout/issue_33544
356712
356713         · fe7ee7a470 Fix crashing Maintenence process
356714
356715       · PR #33501: (meaksh) unit tests for  rpm.checksum()  and  zypper.down‐
356716         load() @ 2016-05-26 14:34:27 UTC
356717
356718         · d052908729  Merge  pull  request  #33501  from  meaksh/zypper-down‐
356719           load-check-signature-2015.8
356720
356721         · eaaef25c79 lint issue fixed
356722
356723         · 6b6febb211 unit tests for rpm.checksum() and zypper.download()
356724
356725       · ISSUE #33319: (ghost) Salt interpets jinja syntax in contents  pillar
356726         (refs: #33513)
356727
356728       · PR #33513: (rallytime) Add a section to the jinja docs about escaping
356729         jinja @ 2016-05-26 14:24:58 UTC
356730
356731         · e2d0c4abb1 Merge pull request #33513 from rallytime/fix-33319
356732
356733         · 81c1471209 Add a section to the jinja docs about escaping jinja
356734
356735       · PR #33520: (jacobhammons) Updated version numbers in the docs for the
356736         2016.3.0 release @ 2016-05-26 14:15:00 UTC
356737
356738         · fabc15e616    Merge    pull    request    #33520   from   jacobham‐
356739           mons/release-notes.8
356740
356741         · 42e358af7d Updated version numbers in the  docs  for  the  2016.3.0
356742           release
356743
356744       · PR #33507: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
356745         2016-05-25 19:14:41 UTC
356746
356747         · 5a6b037cbd Merge pull request #33507 from rallytime/merge-2015.8
356748
356749         · 03b0c97520 Merge branch '2015.5' into '2015.8'
356750
356751         · 6f7fda0354 Merge pull request #33486 from jtand/2015.5
356752
356753           · d1e210fff8        Merge        branch         '2015.5'         of
356754             https://github.com/saltstack/salt into 2015.5
356755
356756           · ee2ae0ea8a  Added  docstring  examples to glance.image_schema and
356757             schema_get
356758
356759           · 59e90064e6 modules.swift.head does not have a body. Should not be
356760             checked for a docstring right now.
356761
356762         · f72ec1479b   Merge   pull   request   #33482   from  rallytime/pil‐
356763           lar-opts-docs
356764
356765           · 087564528d Add pillar_opts docs to master.rst
356766
356767         · dc644b145d Merge pull request #33488 from rallytime/fix-18752
356768
356769           · b0a9f4181f Add docs for the syndic_finger config
356770
356771         · a4e84aa7d2 Merge pull request #33454 from scubahub/2015.5
356772
356773           · df3c0b8e78 Correct (and make  consistent)  determination  of  the
356774             test flag.
356775
356776         · 3a52ace673 manage account information for pam (#33473)
356777
356778       · ISSUE  #15252:  (gravyboat) Standalone minion docs don't explain what
356779         file is being modified. (refs: #33503)
356780
356781       · PR #33503: (rallytime) Add docs about minion config  file  in  stand‐
356782         alone minion docs @ 2016-05-25 17:23:08 UTC
356783
356784         · ee76be3b0b Merge pull request #33503 from rallytime/fix-15252
356785
356786         · cfc07f7641  Add  docs about minion config file in standalone minion
356787           docs
356788
356789       · PR  #33474:  (cachedout)  Fix  diskusage  beacon  (refs:  #34103)   @
356790         2016-05-25 17:10:54 UTC
356791
356792         · e9b648e461 Merge pull request #33474 from cachedout/issue_29451
356793
356794         · aa2bac3a0d Remove debugging
356795
356796         · 68d8050cb8 Fix diskusage beacon
356797
356798       · PR  #33465:  (meaksh)  jobs.exit_success  allow to check if a job has
356799         executed and exit successfully @ 2016-05-25 16:52:53 UTC
356800
356801         · 3bfb6bf719      Merge      pull      request      #33465       from
356802           meaksh/check-if-job-returns-successfully-2015.8
356803
356804         · 9deb70fd8e  jobs.exit_success()  now  works  parsing the results of
356805           jobs.lookup_id()
356806
356807         · 7ba40c4f31 jobs.exit_success allow to check if a job  has  executed
356808           and exit successfully
356809
356810         · PR saltstack/salt-jenkins#175: (justinta) Adding back shade to set‐
356811           up states (refs: #33487)
356812
356813       · PR #33487: (justinta) Add docstring examples to glance.py and nova.py
356814         [2015.8] @ 2016-05-25 16:47:25 UTC
356815
356816         · 70eb7b66f3 Merge pull request #33487 from jtand/glance_doc_fixes
356817
356818         · 0b1cae05d9 Added docstring examples to glance methods and nova.list
356819
356820         · ebf1256545 Don't need to check swift.head due to it having no body
356821
356822       · ISSUE  #33423: (warden) etcd profile doesn't work when used in master
356823         conf file (refs: #33481)
356824
356825       · PR #33481: (rallytime) Fix docs about etcd  config  options  and  add
356826         pillar_opts doc (refs: #33482) @ 2016-05-25 16:41:56 UTC
356827
356828         · 56ea979916 Merge pull request #33481 from rallytime/fix-33423
356829
356830         · 7fd3e8f361  Fix  docs about etcd config options and add pillar_opts
356831           doc
356832
356833       · ISSUE #16319: (lsh-0)  create  a  postgresql  query  function  (refs:
356834         #33490)
356835
356836       · PR  #33490:  (rallytime)  Document the postgres.psql_query function @
356837         2016-05-25 16:41:22 UTC
356838
356839         · 2394cdc4bf Merge pull request #33490 from rallytime/fix-16319
356840
356841         · 0c5548f9d1 Document the postgres.psql_query function
356842
356843       · PR #33480: (jfindlay) states.service: minor doc updates @  2016-05-25
356844         16:38:14 UTC
356845
356846         · ede232f0f1 Merge pull request #33480 from jfindlay/service_doc
356847
356848         · 29c00a1b1b states.service: clarify function description language
356849
356850         · 6a9ae09e79 states.service.__virtual__: add load fail reason
356851
356852         · PR #33483: (twangboy) Return full pending computer name (2015.8)
356853
356854       · ISSUE  #32444: (justindesilets) Feature Request - jobs runner list by
356855         target (refs: #33491)
356856
356857         · PR #33499: (cachedout) Use six.string_types in jobs runner
356858
356859         · PR  #33491:  (BlaineAtAffirm)  fix  jobs.list_jobs   failing   with
356860           search_target (refs: #33499)
356861
356862       · ISSUE  #32444: (justindesilets) Feature Request - jobs runner list by
356863         target (refs: #33491)
356864
356865       · PR  #33491:  (BlaineAtAffirm)   fix   jobs.list_jobs   failing   with
356866         search_target (refs: #33499) @ 2016-05-25 15:11:22 UTC
356867
356868         · 2e24a04565 Merge pull request #33491 from BlaineAtAffirm/2015.8
356869
356870         · 7599b18995 fix jobs.list_jobs failing with search_target
356871
356872       · ISSUE  #33467: (beelit94) Orchestration gives exception when a target
356873         does not exist (refs: #33478)
356874
356875       · ISSUE #32479: (ssgward) Orchestration gives exception when  a  target
356876         does not exist (refs: #32484, #33478)
356877
356878       · PR  #33478:  (rallytime)  Back-port  #32484  to  2015.8  @ 2016-05-24
356879         19:14:23 UTC
356880
356881         · PR #32484: (cachedout) Only unsub if we have a jid (refs: #33478)
356882
356883         · 1861af427e Merge pull request #33478 from rallytime/bp-32484
356884
356885         · 042f17efa4 Only unsub if we have a jid
356886
356887       · PR #33457: (rallytime) Make doc formatting consistent and use correct
356888         versionadded @ 2016-05-24 17:52:34 UTC
356889
356890         · b8154b678e Merge pull request #33457 from rallytime/doc-formatting
356891
356892         · 82f8f3efff  Make doc formatting consistent and use correct version‐
356893           added
356894
356895         · PR  #33477:  (terminalmage)  Don't  allow  a   "repo"   kwarg   for
356896           pkgrepo.managed
356897
356898       · ISSUE  #29451:  (githubcdr)  2015.8.3  pillar  beacons bugged? (refs:
356899         #33476)
356900
356901         · PR #33476: (cachedout) Allow for config entry to be  a  list  in  a
356902           dict for beacons
356903
356904       · PR  #33469:  (meaksh)  check the RPM signature of zypper pkg.download
356905         packages and report errors @ 2016-05-24 16:09:05 UTC
356906
356907         · 9f56ab4c45  Merge  pull  request  #33469  from  meaksh/zypper-down‐
356908           load-check-signature-2015.8
356909
356910         · a65071a6d1 simpler rpm.checksum function
356911
356912         · 80fe303e38 Renamed check_sig to checksum and some refactoring
356913
356914         · d56e3f4258  bugfix:  showing  errors  when a package download fails
356915           using zypper pkg.download
356916
356917         · 8a21b9149e check the signature of downloaded RPM files
356918
356919       · ISSUE #33389: (DaveQB) Too many hostnames in pillar? (refs: #33459)
356920
356921         · PR #33459: (rallytime) Add docs about PyYAML's 1024 character limi‐
356922           tations for simple keys
356923
356924         · PR  #33464:  (isbm)  Prevent  several  minion processes on the same
356925           machine
356926
356927         · PR #33432: (dincamihai) Make --gpg-auto-import-keys a global  param
356928           when calling zypper
356929
356930       · ISSUE  #32446: (sel-fish) " salt '*' saltutil.wheel minions.connected
356931         " not work (refs: #33414)
356932
356933         · PR #33414: (rallytime) Fix  the  saltutil.wheel  function  and  add
356934           integration tests
356935
356936       · ISSUE #29286: (harlanbarnes) Can't disable Job Cache? (refs: #33328)
356937
356938         · PR #33440: (rallytime) Make sure the path we're removing is present
356939           first - avoid an OSError
356940
356941         · PR #33328: (rallytime) Update job_cache and keep_jobs  docs  to  be
356942           more specific to their behavior (refs: #33440)
356943
356944       · ISSUE  #26913: (imchairmanm) manage.bootstrap runner quotation escape
356945         bug (refs: #33443)
356946
356947         · PR #33443: (rallytime) Avoid a syntax error by using "  instead  of
356948           escaped '
356949
356950         · PR #33436: (rmarcinik) Fix virtual function
356951
356952       · PR #33438: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
356953         2016-05-23 17:50:51 UTC
356954
356955         · 6e94a4a03b Merge pull request #33438 from rallytime/merge-2015.8
356956
356957         · 7c41c34528 Merge branch '2015.5' into '2015.8'
356958
356959           · 2cc650965a update 2015.5.11 release notes (#33412)
356960
356961           · dc8ce2d8b1 Fix traceback in  logging  for  config  validation  (‐
356962             #33386) (#33405)
356963
356964       · ISSUE #33395: (fmnisme) salt doc error (refs: #33421)
356965
356966         · PR #33421: (abednarik) Documentation update in file.serialize.
356967
356968         · PR  #33398: (lvg01) Fix LVM parameter devices as a pure list. Comma
356969           seperated lists are c…
356970
356971         · PR #33406: (rallytime) Back-port #33387 to 2015.8
356972
356973         · PR #33387: (tveastman) Spelling correction. (refs: #33406)
356974
356975       · ISSUE #33298: (lorengordon) Windows: pkg.install returns  failed  for
356976         msiexec/instmsi exit code 3010 (ERROR_SUCCESS_REBOOT_REQUIRED) (refs:
356977         #33321)
356978
356979         · PR #33321: (lorengordon) Update windows pkg.[install|remove]  error
356980           logic
356981
356982       · ISSUE  #29252:  (mitar)  reload_modules is not documented for the pkg
356983         state (refs: #33374)
356984
356985         · PR #33374: (rallytime) Add note about reload_modules  functionality
356986           for pkg.installed
356987
356988       · ISSUE   #31430:   (The-Loeki)   Salt  Coding  Style  regarding  abso‐
356989         lute_imports (refs: #33377)
356990
356991         · PR #33377: (rallytime) Add note to absolute_imports practice  about
356992           __future__ import
356993
356994       · ISSUE   #21720:  (kaithar)  Revisiting  aliases.file  option.  (refs:
356995         #33380)
356996
356997         · PR #33380: (rallytime) Document how to set the alias file  location
356998           for alias state
356999
357000       · PR  #33403:  (jacobhammons)  2015.8.10  release  notes  @  2016-05-20
357001         16:02:50 UTC
357002
357003         · 3c9def310c Merge pull request #33403 from jacobhammons/dot10
357004
357005         · e850c298a9 2015.8.10 release notes
357006
357007       · PR #33381: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
357008         2016-05-20 15:58:11 UTC
357009
357010         · 91059224f6 Merge pull request #33381 from rallytime/merge-2015.8
357011
357012         · 5aec32b20f Merge branch '2015.5' into '2015.8'
357013
357014           · d15f5e2cef Merge pull request #33383 from thatch45/2015.5
357015
357016             · f5ebcba21c restore whitespace
357017
357018             · 1d8b289db1 blast, put the try/except int he right place
357019
357020             · 081e6c5b83  maintain  the fallabck because I am totally sick of
357021               this crap
357022
357023           · 755acfb97e Improve doc clarity for disable_modules  documentation
357024             (#33379)
357025
357026         · 8ef7697806 Merge branch '2015.5' into '2015.8'
357027
357028           · 2b5ad128bf Better YAML syntax error handling (#33375)
357029
357030           · bb3e98cad2    Merge    pull   request   #33372   from   jacobham‐
357031             mons/release-update
357032
357033             · 5ce502160b revved 2015.8 branch to .9 in version selector
357034
357035         · PR #33386: (terminalmage) Fix traceback in logging for config vali‐
357036           dation (refs: #33405)
357037
357038       · ISSUE #27737: (mpaolini) name param never mentioned in pillar_ext git
357039         documentation (refs: #33369)
357040
357041         · PR #33369: (rallytime) Add note about name parameter in  git_pillar
357042           docs
357043
357044       · ISSUE      #32913:      (hrumph)      Possible      problem      with
357045         salt.states.pkg.installed documentation (refs: #33362)
357046
357047         · PR #33362: (rallytime) Add win_pkg to list of modules that  support
357048           "version" in pkg.installed
357049
357050       · ISSUE  #27779:  (jbouse)  [Doc] Hipchat returner documentation update
357051         (refs: #33365)
357052
357053         · PR #33365: (rallytime) Add note to  docs  about  api  settings  for
357054           Hipchat API v2
357055
357056         · PR saltstack/salt-bootstrap#828: (vutny) Fix bootstrapping from git
357057           on Debian 8 by installing latest tornado via pip (refs: #32857)
357058
357059         · PR #820:  (dcolish)  Refactor  of  cli  parsers,  normalize  around
357060           conf_file (refs: #`saltstack/salt-bootstrap#828`_)
357061
357062         · PR #32857: (vutny) Add initscripts, SystemD service units and envi‐
357063           ronment files for Debian
357064
357065       · PR  #33370:  (jacobhammons)  Update  docs  version  to   2015.8.9   @
357066         2016-05-19 19:59:15 UTC
357067
357068         · 80f52a658e Merge pull request #33370 from jacobhammons/2015.8.9
357069
357070         · 146b4df6be Updates docs version to 2015.8.9 Adds note regarding the
357071           os grain on Mint Linux Adds an FAQ regarding grains that change due
357072           to upstream changes
357073
357074       · PR #33366: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
357075         2016-05-19 19:41:40 UTC
357076
357077         · 3e5689abbf Merge pull request #33366 from rallytime/merge-2015.8
357078
357079         · 52b3128678 Merge branch '2015.5' into '2015.8'
357080
357081         · 55be0abf4d Expanded documentation for boto_elb state and module  (‐
357082           #33341)
357083
357084       · ISSUE  #33313:  (morganwillcock) pkg.py: pkgs parameter documented as
357085         not supported on Windows (refs: #33361)
357086
357087       · ISSUE #3313: (mou) If no fileserver backend initialized there  should
357088         be  warning  or  error  message on performing various file operations
357089         (refs: #33361)
357090
357091         · PR #33361: (rallytime) Remove mentions of  windows  not  supporting
357092           pkgs param
357093
357094       · ISSUE #29286: (harlanbarnes) Can't disable Job Cache? (refs: #33328)
357095
357096         · PR  #33328:  (rallytime)  Update job_cache and keep_jobs docs to be
357097           more specific to their behavior (refs: #33440)
357098
357099       · ISSUE #33295: (andrew-vant) Linux Mint service module  not  correctly
357100         detected. (refs: #33359)
357101
357102         · PR #33359: (terminalmage) Properly detect newer Linux Mint distros
357103
357104       · ISSUE  #32260: (jagguli) git.latest UnboundLocalError: local variable
357105         'desired_upstream' referenced before assignmen (refs: #33340)
357106
357107         · PR #33340: (terminalmage) Fix UnboundLocalError in git.latest
357108
357109         · PR #33339: (phistrom) states.boto_elb Describe parameters in regis‐
357110           ter_instances function
357111
357112         · PR  #33347:  (rallytime)  Fix  some link errors in the test writing
357113           tutorial
357114
357115         · PR #33312: (twangboy) Fix network.managed for windows
357116
357117         · PR #33327: (cro) Bp 28467 calm mine
357118
357119         · PR #28467: (jodv) Make mine.update more manageable for large  envi‐
357120           ronments (refs: #33327)
357121
357122         · PR #33334: (jfindlay) import ps from psutil_compat in beacons
357123
357124       · ISSUE #21520: (jfindlay) sudo.salt_call is broken (refs: #25089)
357125
357126         · PR #33318: (jfindlay) remove redundant, incorrect sudo_runas config
357127           documentation
357128
357129         · PR #25089: (jfindlay) fix minion sudo (refs: #33318)
357130
357131         · PR #22480: (thatch45) Add sudo user docs into salt (refs: #33318)
357132
357133         · PR #20226: (thatch45) Allow sudo  priv  escalation  (refs:  #25089,
357134           #33318)
357135
357136       · ISSUE  #33323:  (terminalmage)  Overeager  globbing in systemd.py for
357137         sysv service detection (refs: #33324)
357138
357139         · PR  #33324:  (terminalmage)  Disambiguate  non-exact  matches  when
357140           checking if sysv service is enabled
357141
357142       · ISSUE #30130: (dreampuf) Non-root minion not work with state.sls mod‐
357143         ule (refs: #33325)
357144
357145         · PR #33325: (cachedout) Allow concurrency  mode  in  state  runs  if
357146           using sudo
357147
357148       · ISSUE #29674: (jakehilton) Salt Master Hang (refs: #33333)
357149
357150         · PR #33333: (DmitryKuzmenko) Fix master hanging after a request from
357151           minion with removed key.
357152
357153       · ISSUE #33266: (Timandes) Method grains.items returns unexpected manu‐
357154         facturer information (refs: #33302)
357155
357156         · PR #33306: (rallytime) Back-port #33302 to 2015.8
357157
357158         · PR #33302: (The-Loeki) Cleanup comments in smbios.get output (fixes
357159           #33266) (refs: #33306)
357160
357161       · ISSUE #23643: (falzm) Error in iptables module: argument --match-set:
357162         expected 2 argument(s) (refs: #33314, #33301, #28325)
357163
357164         · PR #33314: (gerhardqux) Fix iptables --match-set (#23643)
357165
357166         · PR  #33301:  (gerhardqux)  Fix iptables --match-set (#23643) (refs:
357167           #33314)
357168
357169         · PR #28325: (l13t) Fix issue wiith --match-set option. #23643 (refs:
357170           #33314)
357171
357172       · PR #33308: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
357173         2016-05-17 19:26:05 UTC
357174
357175         · d0ed1616b0 Merge pull request #33308 from rallytime/merge-2015.8
357176
357177         · 1c43a62f85 Merge branch '2015.5' into '2015.8'
357178
357179           · 9b42a05519 Added some more docs for master and minion config set‐
357180             tings (#33292)
357181
357182         · 5004d2fa61 Merge branch '2015.5' into '2015.8'
357183
357184         · 8acee5e06c Fix iptables --match-set (#23643) (#33301)
357185
357186         · 757ef20a31 fix "loose" typo (#33290)
357187
357188         · b7d98da64d Add auth_tries config option to minion.rst docs (#33287)
357189
357190         · 061851bcbf Document minion_id_caching config value (#33282)
357191
357192   Salt 2015.8.12 Release Notes
357193       Version 2015.8.12 is a bugfix release for 2015.8.0.
357194
357195   Statistics
357196       · Total Merges: 58
357197
357198       · Total Issue References: 43
357199
357200       · Total PR References: 117
357201
357202       · Contributors:  29  (Azidburn,  Ch3LL,  UtahDave,  bobrik,  cachedout,
357203         cedwards, deepakhj, dere, gongled, gtmanfred, hrumph, hu-dabao, isbm,
357204         jacobhammons,   jfindlay,  jmesquita,  junovitch,  justinta,  kev009,
357205         martinhoefling, multani, rallytime, randomed,  sjorge,  terminalmage,
357206         thatch45, theothergraham, twangboy, whiteinge)
357207
357208   Changelog for v2015.8.11..v2015.8.12
357209       Generated at: 2018-05-28 01:19:12 UTC
357210
357211       · PR #35614: (rallytime) Update release notes for 2015.8.12
357212
357213       · PR  #35611:  (rallytime)  Everything in the sample master config file
357214         should be commented out
357215
357216       · ISSUE #35384: (ghost) The unless requisite stops at first  successful
357217         command (refs: #35569)
357218
357219         · PR  saltstack/salt#35545:  (hu-dabao) fix-35384, fix cmd.run unless
357220           (refs: #35566)
357221
357222       · PR #35569: (rallytime) Write test for multiple unless commands  where
357223         1st cmd passes and 2nd fails @ 2016-08-19 19:28:01 UTC
357224
357225         · PR #35566: (rallytime) Back-port #35545 to 2015.8 (refs: #35569)
357226
357227         · PR  #35545: (hu-dabao) fix-35384, fix cmd.run unless (refs: #35569,
357228           #35566)
357229
357230         · c9070c212f Merge pull request #35569 from rallytime/test-for-35384
357231
357232         · 30f42d5352 Write test for multiple unless commands  where  1st  cmd
357233           passes and 2nd fails
357234
357235         · PR #35600: (rallytime) Update release notes for 2015.8.12
357236
357237         · PR #35599: (rallytime) Update release notes for 2015.8.12
357238
357239         · PR  #35584: (terminalmage) Update linux_sysctl tests to reflect new
357240           context key
357241
357242         · PR #35575: (terminalmage) Add warning about AWS  flagging  of  nmap
357243           usage
357244
357245       · PR #35577: (terminalmage) Unit file changes for 2015.8.12, 2016.3.3 @
357246         2016-08-18 20:36:25 UTC
357247
357248         · 26a7f7d9f7   Merge   pull    request    #35577    from    terminal‐
357249           mage/unit-file-changes
357250
357251         · 6cb0fb47f3 pkg/salt-syndic.service: change Type to notify
357252
357253         · 175ba99e0e pkg/salt-minion.service: remove KillMode, change Type to
357254           notify
357255
357256         · 540ec28954 pkg/salt-master.service: remove KillMode
357257
357258         · 69fad464ab pkg/salt-api.service: change Type to notify
357259
357260         · PR saltstack/salt#35545: (hu-dabao) fix-35384, fix  cmd.run  unless
357261           (refs: #35566)
357262
357263         · PR #35566: (rallytime) Back-port #35545 to 2015.8 (refs: #35569)
357264
357265         · PR  #35545: (hu-dabao) fix-35384, fix cmd.run unless (refs: #35569,
357266           #35566)
357267
357268         · PR #35492: (terminalmage) Clarify config.get docstring
357269
357270       · ISSUE saltstack/salt#18419: (jasonrm)  salt-cloud  fails  to  run  as
357271         non-root user (refs: #35483)
357272
357273       · ISSUE  #34806:  (jerrykan)  salt-cloud  ignores  sock_dir when firing
357274         event (refs: #35483)
357275
357276       · PR #35483: (gtmanfred)  use  __utils__  in  salt.cloud  @  2016-08-18
357277         13:32:22 UTC
357278
357279         · 205d8e2e7b Merge pull request #35483 from gtmanfred/2015.8
357280
357281         · 2d8ec1e9db use __opts__ in salt.utils.cloud for cache functions
357282
357283       · PR  #35546:  (whiteinge)  Salt api eauth fail gracefully @ 2016-08-18
357284         07:21:55 UTC
357285
357286         · 70fa2d0901      Merge      pull      request      #35546       from
357287           whiteinge/salt-api-eauth-fail-gracefully
357288
357289         · eb3574adae  Don't  fail  hard  if  the user's permissions cannot be
357290           found
357291
357292         · ec597bd54c Change groups check in token to look for truthy values
357293
357294         · PR #35525: (UtahDave) add missing glob import
357295
357296         · PR #35540: (rallytime) Whitespace fix for 2015.8
357297
357298       · ISSUE #33803: (dmurphy18) systemd notification is not fully supported
357299         by Salt  (refs: #35510)
357300
357301       · ISSUE  #33516:  (Ch3LL)  When upgrading from 2015.8.10 to 2016.3.0 on
357302         centos7/redhat7 I have  to  restart  the  salt-minion  twice   (refs:
357303         #35510)
357304
357305       · PR  #35510:  (terminalmage)  Better  systemd integration @ 2016-08-17
357306         18:54:11 UTC
357307
357308         · fd3274c800 Merge pull request #35510 from terminalmage/issue33516
357309
357310         · 5b5f19d269 Update zypper unit test to reflect call to config.get
357311
357312         · 2730edb516 Add note about systemd-run usage in package states
357313
357314         · e2d9e87e10 salt/modules/systemd.py: Use systemd-run  --scope  where
357315           needed
357316
357317         · 22919a25bc Notify systemd on salt-api start
357318
357319         · a40b3f8a08 Notify systemd on syndic start
357320
357321         · e847d3af30 Notify systemd on minion start
357322
357323         · d648887afc  salt/modules/zypper.py:  Use  systemd-run --scope where
357324           needed
357325
357326         · 2e17976722 salt/modules/yumpkg.py: Use  systemd-run  --scope  where
357327           needed
357328
357329         · 86b59c1e74  salt/modules/pacman.py:  Use  systemd-run --scope where
357330           needed
357331
357332         · e32d92c6d5 salt/modules/ebuild.py: Use  systemd-run  --scope  where
357333           needed
357334
357335         · c7d21d3ae3  salt/modules/aptpkg.py:  Use  systemd-run --scope where
357336           needed
357337
357338         · f83e0ef242 Add unit tests for salt.utils.systemd
357339
357340         · 5b12f030c6 Add func to salt.utils.systemd to  tell  if  scopes  are
357341           available
357342
357343         · PR  #35513: (cachedout) Might be a good idea to be able to download
357344           the software we make
357345
357346       · PR #35302: (Ch3LL) Add job cache test @ 2016-08-17 10:45:28 UTC
357347
357348         · 9f87081cef Merge pull request #35302 from Ch3LL/add_job_cache_test
357349
357350         · ccb2a5cadf remove unused imports
357351
357352         · 512ae81dfd remove TMP and add integration.TMP
357353
357354         · c9b7c3cf80 need to add returners option in other places
357355
357356         · 7316df7a02 fix pylint
357357
357358         · 50a4f0fe6a fix comment
357359
357360         · 6837acf742 add job cache integration tests
357361
357362       · PR #35512: (cachedout) Fixup 35419 @ 2016-08-17 10:11:17 UTC
357363
357364         · 1c82c6bee5 Merge pull request #35512 from cachedout/fixup_35419
357365
357366         · 253662541a Fix import
357367
357368         · f16a30786b Fixes consul.agent_service_register which was broken for
357369           registering service checks.
357370
357371       · PR   #35497:   (deepakhj)  Fixes  spacing  in  requirements  files  @
357372         2016-08-17 09:34:15 UTC
357373
357374         · e1a373fa4c Merge pull request #35497 from deepakhj/2015.8
357375
357376         · 685db4ab88 Fix spacing
357377
357378       · PR #35508: (terminalmage) Add Carbon to versionadded for  git.diff  @
357379         2016-08-17 06:17:12 UTC
357380
357381         · 4048255ed6  Merge pull request #35508 from terminalmage/update-doc‐
357382           string
357383
357384         · 67c945fce0 Add Carbon to versionadded for git.diff
357385
357386         · PR #35486: (rallytime) Update bootstrap  script  to  latest  stable
357387           (2016.08.16)
357388
357389       · ISSUE   #35296:   (szjur)   cp.push_dir   gets  confused  when  using
357390         upload_path and is probably insecure too (refs: #35413)
357391
357392       · PR #35413: (cachedout) Resolve path issues with cp.push @  2016-08-16
357393         16:40:39 UTC
357394
357395         · 240fc12863 Merge pull request #35413 from cachedout/issue_35296
357396
357397         · fb8a12d677 Fix silly error
357398
357399         · 3646cf1afa Additional checks on master and integration test
357400
357401         · 09efde7634 Splat the list into os.path.join
357402
357403         · fc0d5878bc Set file_recv on test master
357404
357405         · 81c4d136c5 Transition file push paths to lists
357406
357407       · ISSUE  saltstack/salt#35380:  (anlutro)  salt-ssh  with  sudo stopped
357408         working (refs: #35476)
357409
357410       · PR #35476: (cachedout) Fixup SSH bug where  sudo  without  sudo  user
357411         would break @ 2016-08-16 15:41:25 UTC
357412
357413         · c3319b2a8b Merge pull request #35476 from cachedout/issue_35380
357414
357415         · c05fcf33d1 Fixup SSH bug where sudo without sudo user would break
357416
357417       · PR  #35471: (terminalmage) win_pkg: Fix traceback when package is not
357418         installed @ 2016-08-16 02:02:00 UTC
357419
357420         · 004778c966 Merge pull request #35471 from terminalmage/issue34479
357421
357422         · e243c63e43 win_pkg: Fix traceback when package is not installed
357423
357424       · PR #35448: (isbm) Add ignore_repo_failure option to suppress zypper's
357425         exit code 106 on … @ 2016-08-16 01:39:43 UTC
357426
357427         · 5c9428c32d Merge pull request #35448 from isbm/isbm-zypper-106-fix
357428
357429         · dd82e6a848 Add ignore_repo_failure option to suppress zypper's exit
357430           code 106 on unavailable repos
357431
357432       · PR #35451: (isbm) Bugfix: zypper  mod  repo  unchanged  @  2016-08-16
357433         01:38:25 UTC
357434
357435         · 1473474b04   Merge   pull   request   #35451   from  isbm/isbm-zyp‐
357436           per-mod_repo-unchanged
357437
357438         · 8790197d86 Fix Unit test for suppressing the exception  removal  on
357439           non-modified repos
357440
357441         · 3f00c6997a Remove zypper's raise exception if mod_repo has no argu‐
357442           ments and/or no changes
357443
357444       · ISSUE saltstack/salt#34279: (vmadura) Salt  2016.3.1  -  Master  Side
357445         Pillar Cache (backend: Disk) never Expires. (refs: #35453)
357446
357447       · ISSUE  #34279:  (vmadura)  Salt  2016.3.1  - Master Side Pillar Cache
357448         (backend: Disk) never Expires. (refs: #35453)
357449
357450       · PR #35453: (theothergraham) fixes #34279 - disk cache  ttl  expiry  @
357451         2016-08-16 01:34:33 UTC
357452
357453         · a8c4f17f50    Merge   pull   request   #35453   from   theothergra‐
357454           ham/fix_CacheDisk
357455
357456         · ae5b233d51 fixes #34279
357457
357458       · PR #35459: (thatch45) Ensure that output for  salt-ssh  gets  back  @
357459         2016-08-16 01:29:16 UTC
357460
357461         · d8c35b5260 Merge pull request #35459 from thatch45/shim_fix
357462
357463         · 10037b00cb Some environments refuse to return the command output
357464
357465         · PR  #35460:  (rallytime) [2015.8] Update bootstrap script to latest
357466           stable (2016.08.15)
357467
357468       · ISSUE saltstack/salt#35010: (vchav73) cp.push_dir  returns  incorrect
357469         result for non-existent directories (refs: #35442)
357470
357471         · PR #35442: (cachedout) Fix cp.push_dir pushing empty dirs
357472
357473       · ISSUE  saltstack/salt#35387:  (mzealey)  Document  reload_grains  and
357474         reload_pillar (refs: #35436)
357475
357476         · PR #35436: (cachedout) Minor doc fixup
357477
357478       · ISSUE saltstack/salt#35121: (sjorge) file.append  always  results  in
357479         change (refs: #35132)
357480
357481       · PR  #35132:  (sjorge)  fixes , causing lots of mayham (onchange) with
357482         2016.3.2 for me @ 2016-08-15 07:11:22 UTC
357483
357484         · a0b128a85a Merge pull request #35132 from sjorge/2015.8-35121
357485
357486         · 5cb38c8ae0 switch to  fpread().splitlines(),  as  per  @lorengordon
357487           suggestion
357488
357489         · 634f1dded5  fixes  #35121,  causing  lots of mayham (onchange) with
357490           2016.3.2 for me
357491
357492         · PR  saltstack/salt#34573:  (cedwards)  Update  freebsd.rst   (refs:
357493           #35394)
357494
357495         · PR #35394: (rallytime) Back-port #34573 to 2015.8
357496
357497         · PR #34573: (cedwards) Update freebsd.rst (refs: #35394)
357498
357499         · PR #35359: (terminalmage) Clean up open filehandles
357500
357501       · PR #35339: (isbm) Bugfix: Prevent continuous restart, if a dependency
357502         wasn't installed @ 2016-08-11 16:15:17 UTC
357503
357504         · 9ea7a34c30 Merge pull  request  #35339  from  isbm/isbm-2015.8-min‐
357505           ion-importerror-fix
357506
357507         · 12af60b7be  Fix  continuous  minion  restart if a dependency wasn't
357508           installed
357509
357510       · PR #35357: (twangboy) Fix file.recurse with clean: True   on  Windows
357511         (2015.8) @ 2016-08-11 00:44:14 UTC
357512
357513         · fd9b05ace4     Merge    pull    request    #35357    from    twang‐
357514           boy/file.recurse.clean.2015.8
357515
357516         · d328ec0157 Fix file.recurse with clean: True
357517
357518       · PR #35323: (thatch45) Fix issue with bad error  check  in  salt-vt  @
357519         2016-08-10 11:33:49 UTC
357520
357521         · 4618b433e9 Merge pull request #35323 from thatch45/ssh_crazy
357522
357523         · 8a5b47b5d7 Collect all error data from the wfuncs call
357524
357525         · 11864c31b7 supress a stack trace to show clean ssh error
357526
357527         · 9fbfa282fa wow this solves an issue!
357528
357529       · PR  #35325:  (kev009)  Fix  freebsd  netstat  route  on  fbsd  10+  @
357530         2016-08-10 11:33:12 UTC
357531
357532         · cfae862972 Merge pull request #35325 from kev009/fbsd-netstat-route
357533
357534         · 0d49dd3c29 Fix fbsd netstat route on fbsd 10+
357535
357536       · ISSUE #35264: (bobrik) ssh_known_hosts.present is not  idempotent  in
357537         test=true with port (refs: #35301)
357538
357539         · PR  #35301:  (bobrik)  Pass  port  to  ssh.check_known_host, closes
357540           #35264
357541
357542       · ISSUE #34945: (babilen)  file.recurse  breaks  directory  permissions
357543         (refs: #35309)
357544
357545         · PR  #35309:  (terminalmage) file.recurse: Do not convert octal mode
357546           string to int
357547
357548       · ISSUE #35051: (terminalmage) Runner/Wheel funcs  still  print  return
357549         data to console when invoked from orchestration (refs: #35290)
357550
357551       · PR #35290: (terminalmage) Resolve a couple bugs in orchestration out‐
357552         put @ 2016-08-09 15:27:00 UTC
357553
357554         · 2efc1b333b Merge pull request #35290 from terminalmage/issue35051
357555
357556         · d621aa7b61 Update runner/wheel unit tests to reflect new key in ret
357557           dict
357558
357559         · 90c12a9c7b  Add  __orchestration__  key  to  orch  returns for run‐
357560           ner/wheel funcs
357561
357562         · 7b8c3b86e7 Suppress error about invalid changes data for orchestra‐
357563           tion jobs
357564
357565         · 54a1704d6c  Suppress  event  for  wheel/runner  funcs executed from
357566           orchestration
357567
357568         · f409f62bf2 Accept print_event option in WheelClient.cmd()
357569
357570         · b42b25ccce Add cmd func for RunnerClient
357571
357572         · 480065fe00 Add print_event option to client mixins
357573
357574       · ISSUE #31074: (turtletraction) salt-ssh sudo_user execution not  run‐
357575         ning as sudo_user (refs: #35211)
357576
357577       · PR   #35211:  (cachedout)  Alternative  sudo  users  for  salt-ssh  @
357578         2016-08-08 15:40:55 UTC
357579
357580         · f8158124d5 Merge pull request #35211 from cachedout/issue_31074
357581
357582         · 6f53232e6d Better error handling and a workaround  for  group  mis‐
357583           match.
357584
357585         · 5b56a4acf7 Docs
357586
357587         · ae04e7aaeb Initial POC
357588
357589       · ISSUE  #35166:  (bobrik)  state_output_profile defaults are confusing
357590         (refs: #35271)
357591
357592       · PR #35271: (bobrik) Default state_output_profile to True  everywhere,
357593         closes #35166 @ 2016-08-08 14:36:24 UTC
357594
357595         · 3e4eb13daa  Merge  pull  request  #35271  from  bobrik/default-out‐
357596           put-profile
357597
357598         · 6cdee21036 Default state_output_profile to True everywhere,  closes
357599           #35166
357600
357601       · ISSUE #32719: (azweb76) Salt-Call Hangs when IPv6 is disabled on Sys‐
357602         tem (refs: #35233)
357603
357604       · PR #35233: (terminalmage) Do not attempt to get  fqdn_ip{4,6}  grains
357605         when ipv{4,6} grains are empty @ 2016-08-06 22:58:32 UTC
357606
357607         · 673e1aa1aa Merge pull request #35233 from terminalmage/issue32719
357608
357609         · 730a077041  Do not attempt to get fqdn_ip{4,6} grains when ipv{4,6}
357610           grains are empty
357611
357612       · PR #35202: (multani) doc: fix broken links in the test  documentation
357613         page @ 2016-08-06 08:29:41 UTC
357614
357615         · cdf3c0fe73 Merge pull request #35202 from multani/fix/test-doc
357616
357617         · 1642dba5d1 doc: fix broken links in the test documentation page
357618
357619       · ISSUE saltstack/salt#34861: (dere) minion incorrectly reports package
357620         cannot be installed (refs: #35119)
357621
357622       · PR #35236:  (rallytime)  Back-port  #35119  to  2015.8  @  2016-08-06
357623         08:10:54 UTC
357624
357625         · PR  #35119:  (dere)  Assume two EVRs are equal if E and V are equal
357626           but one R is missing. (refs: #35236)
357627
357628         · e1331cd2a3 Merge pull request #35236 from rallytime/bp-35119
357629
357630         · 9ade78de7b Revise unnecessary code duplication
357631
357632         · 7c15f5b20a Fix formatting
357633
357634         · 64f93f8938 Assume two EVRs are equal if E and V are equal but one R
357635           is missing.
357636
357637       · ISSUE  saltstack/salt#29785: (paul-mulvihill) pkg.installed to accept
357638         'latest' as a version keyword (refs: #35225)
357639
357640       · ISSUE #29785: (paul-mulvihill) pkg.installed to accept 'latest' as  a
357641         version keyword (refs: #35240)
357642
357643       · PR #35240: (dere) Backport #35225 to 2015.8 @ 2016-08-06 07:54:19 UTC
357644
357645         · PR  #35225:  (dere)  Add  missing  documentation  for pkg.installed
357646           (refs: #35240)
357647
357648         · 4f2b8aa5b6 Merge pull request #35240 from derekmaciel/bp-35225
357649
357650         · 9ed47f713a Add missing documentation for pkg.installed
357651
357652       · PR #35241: (terminalmage) Ensure max recursion in gitfs results in no
357653         blob object being returned.  @ 2016-08-06 07:53:49 UTC
357654
357655         · 4bcfaa97d0 Merge pull request #35241 from terminalmage/gitfs-fixes
357656
357657         · e05648cc2d Break from loop when file is found
357658
357659         · 6764a88601  Ensure  that failed recursion results in no blob object
357660           being returned
357661
357662         · PR saltstack/salt#35039: (whiteinge) Add saltenv  support  to  mod‐
357663           ule.run (refs: #35245)
357664
357665       · PR  #35245:  (rallytime)  Back-port  #35039  to  2015.8  @ 2016-08-06
357666         07:52:44 UTC
357667
357668         · PR #35039: (whiteinge) Add saltenv  support  to  module.run  (refs:
357669           #35245)
357670
357671         · f6d7360e0b Merge pull request #35245 from rallytime/bp-35039
357672
357673         · 51ab9cd6d4 Add saltenv support to module.run
357674
357675       · ISSUE  #35214:  (tdenny)  git.latest fails on non-fast-forward when a
357676         fast-forward is possible (refs: #35249)
357677
357678       · PR #35249: (terminalmage) Fix regression in git.latest  @  2016-08-06
357679         07:52:15 UTC
357680
357681         · d65a5c7134 Merge pull request #35249 from terminalmage/issue35214
357682
357683         · bcd5129e9f Fix regression in git.latest when update is fast-forward
357684
357685         · e2e8bbbfde Add integration test for #35214
357686
357687       · ISSUE saltstack/salt#34691: (dmacvicar) beacons.list does not include
357688         beacons  configured  from   the   pillar/ext_pillar   (refs:   #salt‐
357689         stack/salt`#34827`_, #34827)
357690
357691         · PR  saltstack/salt#35146: (cachedout) Don't discard running beacons
357692           config when listing becaons (refs: #35174)
357693
357694         · PR saltstack/salt#34827: (thatch45) fix beacon list to include  all
357695           beacons being processed (refs: #35146, #`saltstack/salt`#35146`_`_)
357696
357697         · PR #35174: (rallytime) Back-port #35146 to 2015.8
357698
357699         · PR  #35146:  (cachedout)  Don't discard running beacons config when
357700           listing becaons (refs: #35174)
357701
357702         · PR saltstack/salt#35135: (rallytime) Add missing  CLI  Examples  to
357703           aws_sqs module funcs (refs: #35173)
357704
357705         · PR #35173: (rallytime) Back-port #35135 to 2015.8
357706
357707         · PR  #35135:  (rallytime) Add missing CLI Examples to aws_sqs module
357708           funcs (refs: #35173)
357709
357710         · PR #35145: (jacobhammons) doc version update to 2015.8.11,  updates
357711           to release notes
357712
357713       · PR #35114: (terminalmage) Add clarification docs on a common git_pil‐
357714         lar misconfiguration @ 2016-08-02 00:30:48 UTC
357715
357716         · 81845ee31d Merge pull  request  #35114  from  terminalmage/git_pil‐
357717           lar-env-remap-docs
357718
357719         · 5951554e9f Add clarification docs on a common git_pillar misconfig‐
357720           uration
357721
357722       · ISSUE saltstack/salt#34767: (hrumph) Ensure that pkg.installed  func‐
357723         tion refreshes properly with windows. (refs: #34768)
357724
357725       · ISSUE  #34767:  (hrumph) Ensure that pkg.installed function refreshes
357726         properly with windows. (refs: #34768)
357727
357728       · PR #34768: (hrumph) Fixes #34767 @ 2016-08-01 21:46:16 UTC
357729
357730         · 88a9fb1b31      Merge      pull      request      #34768       from
357731           hrumph/bad-installed-state
357732
357733         · e1fcb8311d  Put  pkg.latest_version  in  try/except  structure Move
357734           refreshed or refresh to different spot (just for code tidyness)
357735
357736         · e0b6261659 changed name of varibale 'refreshed' to 'was_refreshed'
357737
357738         · 340110b4b4 Move check for rtag to outermost-nesting in function
357739
357740         · ac67c6b493 Lint fix
357741
357742         · 0435a1375e Get rid of repetition in code by using  new  "refreshed"
357743           variable instead
357744
357745         · 3b1dc978e2 Lint fix
357746
357747         · a9bd1b92b9 lint fixes
357748
357749         · 71d69343ef Fixes #34767
357750
357751       · PR  #35043:  (rallytime)  Start  release  notes  file for 2015.8.12 @
357752         2016-08-01 17:22:04 UTC
357753
357754         · 343576408f    Merge    pull    request    #35043    from     rally‐
357755           time/new-release-notes
357756
357757         · bdcc81a384 Start release notes file for 2015.8.12
357758
357759       · PR   #35050:  (terminalmage)  [orchestration]  Properly  handle  run‐
357760         ner/wheel funcs  which  accept  a  'saltdev'  argument  @  2016-08-01
357761         15:48:08 UTC
357762
357763         · 848bf0272f  Merge  pull  request #35050 from terminalmage/fix-salt‐
357764           dev-arg
357765
357766         · 40cfa7cf17 Avoid needlessly running 2 argspecs  in  salt.utils.for‐
357767           mat_call()
357768
357769         · fd186b7e4c  Pass  environment  as  'saltdev'  if  runner/wheel func
357770           accepts a saltdev argument
357771
357772         · 951b52ab93  Pass  __env__  from   saltmod   orch   states   to   to
357773           saltutil.{runner,wheel}
357774
357775       · PR  #35066:  (jfindlay) returners.postgres_local_cache: do not log in
357776         __virtual__ @ 2016-07-30 01:32:17 UTC
357777
357778         · 2144178ae0 Merge pull request #35066 from jfindlay/postgres_log
357779
357780         · c2c442234f returners.postgres_local_cache: do  not  log  in  __vir‐
357781           tual__
357782
357783       · ISSUE  #34927:  (bobrik) Salt does not run "systemd daemon-reload" on
357784         unit override (refs: #35024)
357785
357786       · PR #35024: (bobrik) Cache systemd unit update check per unit,  closes
357787         #34927 @ 2016-07-28 17:56:29 UTC
357788
357789         · 7121618142 Merge pull request #35024 from bobrik/daemon-reload-fix
357790
357791         · c300615e9d Cache systemd unit update check per unit, closes #34927
357792
357793         · PR  #35026:  (cachedout) Expressly deny a minion if a key cannot be
357794           found
357795
357796         · PR saltstack/salt#33875: (jmesquita) Fix naive fileserver map  diff
357797           algorithm (refs: #35000)
357798
357799       · PR  #35000:  (rallytime)  Back-port  #33875  and  #34999  to 2015.8 @
357800         2016-07-27 21:55:58 UTC
357801
357802         · PR #34999: (cachedout) Fixup #33875 (refs: #35000)
357803
357804         · PR #33875: (jmesquita) Fix  naive  fileserver  map  diff  algorithm
357805           (refs: #35000, #34999)
357806
357807         · 2b511f3013 Merge pull request #35000 from rallytime/bp-33875
357808
357809         · 35696ad637 Pylint fix
357810
357811         · f9fd6ddd8a Fixup #33875
357812
357813         · 56b1f6c651 Fix naive fileserver map diff algorithm
357814
357815       · ISSUE saltstack/salt#34526: (danielmotaleite) salt-ssh + mine = weird
357816         error (refs: #34835, #`saltstack/salt`#34835`_`_)
357817
357818         · PR saltstack/salt#34835: (thatch45) Make the mine and publish  com‐
357819           bine minion and master opts in salt-ssh (refs: #34994)
357820
357821       · PR  #34994:  (rallytime)  Back-port  #34835  to  2015.8  @ 2016-07-27
357822         18:21:10 UTC
357823
357824         · PR #34835: (thatch45) Make the mine and publish combine minion  and
357825           master opts in salt-ssh (refs: #34994)
357826
357827         · 837bc6ba7d Merge pull request #34994 from rallytime/bp-34835
357828
357829         · 9268a793de same thing for the mine in salt-ssh
357830
357831         · 3e11e19714 Fix the mine in salt ssh
357832
357833       · PR #34991: (cachedout) SSH timeout @ 2016-07-27 17:24:38 UTC
357834
357835         · b58c663d8d Merge pull request #34991 from cachedout/ssh_timeout
357836
357837         · 39cd8da399 Lint diff against salt-testing
357838
357839         · 443e5cdde2 Add timeout to ssh tests
357840
357841         · PR #34976: (cachedout) Refine errors in client
357842
357843       · ISSUE #34509: (srkunze) No atomic  thin.tgz deploy (refs: #34831)
357844
357845       · PR  #34831:  (thatch45)  If  the  thin does not match, then redeploy,
357846         don't error @ 2016-07-26 22:27:01 UTC
357847
357848         · a83cdf9339 Merge pull request #34831 from thatch45/recoverssh
357849
357850         · fa73041a49 If the thin does not match, then redeploy, don't error
357851
357852         · PR #34916: (cachedout) Master performance improvement
357853
357854       · PR #34911: (cachedout) Backport #34906 @ 2016-07-22 23:23:24 UTC
357855
357856         · PR #34906: (cachedout) Set  timeout  for  run_salt  in  test  suite
357857           (refs: #34911)
357858
357859         · 34dc2fd792 Merge pull request #34911 from cachedout/backport_34906
357860
357861         · 8becec2f4f Backport #34906
357862
357863       · ISSUE    saltstack/salt#33620:   (TheBigBear)   [2016.3.0]   win_pkg:
357864         pkg.list_upgrades loops (almost) endlessly  -  cmds  take  VERY  long
357865         (refs: #34898)
357866
357867       · PR   #34898:   (hrumph)   Stop  multiple  refreshes  during  call  to
357868         pkg.list_upgrades @ 2016-07-22 22:28:42 UTC
357869
357870         · 6ccc27f697      Merge      pull      request      #34898       from
357871           hrumph/list_upgrades_refresh
357872
357873         · acd4b1a23b Fixes #33620
357874
357875       · PR  #34606:  (isbm)  Bugfix:  Exit  on  configuration read (backport)
357876         (refs: #34751) @ 2016-07-22 17:35:18 UTC
357877
357878         · 5c13ee0e72 Merge pull request  #34606  from  isbm/isbm-config-read‐
357879           ing-exit-2015.8
357880
357881         · 5f5b802c0c  Add  option  to master config reader on ignoring system
357882           exit for wrong configuration
357883
357884         · 6fc677f177 Ignore minion config errors everywhere  but  the  minion
357885           itself
357886
357887         · 8699194647  Remove deprecation: BaseException.message deprecated as
357888           of 2.6
357889
357890         · 0e65cfec91 Fix lint: E8302
357891
357892         · 67faa56bf1 Use Salt default exit codes instead of hard-coded values
357893
357894         · a84556e596 Exit immediately on configuration error
357895
357896         · 43d965907c Raise an exception on any found wrong configuration file
357897
357898         · 30ed728d05 Cover exception handling in the utils.parsers
357899
357900         · 5e8c0c6bdb Introduce configuration error exception
357901
357902       · ISSUE saltstack/salt#27783: (anlutro) salt-ssh not properly  updating
357903         file_lists, causing file.recurse to fail (refs: #34862)
357904
357905         · PR #34862: (thatch45) Fix salt-ssh cacheing issue
357906
357907       · ISSUE  #34725:  (akoumjian)  git.latest  with force_reset set to True
357908         does not reset local changes, causing it to fail. (refs: #34869)
357909
357910         · PR #34869: (terminalmage) Fail git.latest states  with  uncommitted
357911           changes when force_reset=False
357912
357913       · PR #34859: (cachedout) Fix wheel test @ 2016-07-21 19:55:25 UTC
357914
357915         · 4f4381e5b9 Merge pull request #34859 from cachedout/fix_wheel_test
357916
357917         · b4be66dedf Fix wheel test
357918
357919       · ISSUE  saltstack/salt#34798: (Ch3LL) exception when running state.low
357920         over salt-ssh (refs: #34822)
357921
357922       · ISSUE saltstack/salt#34796: (Ch3LL) exception when running state.high
357923         over salt-ssh (refs: #34822)
357924
357925       · PR  #34822:  (thatch45)  Fix  salt-ssh  state.high  and  state.low  @
357926         2016-07-21 19:16:19 UTC
357927
357928         · acc9e31c02 Merge pull request #34822 from thatch45/ssh_fixes
357929
357930         · b5de492143 fix #34798
357931
357932         · 5ad6bd7307 fix #34796
357933
357934       · PR #34847: (cachedout) Add an option  to  skip  the  verification  of
357935         client_acl users @ 2016-07-21 17:55:55 UTC
357936
357937         · 5d91139bc9 Merge pull request #34847 from cachedout/pwall
357938
357939         · 2c8298dc6e Profile logging
357940
357941         · 3affafa2e9  Add  an  option  to skip the verification of client_acl
357942           users
357943
357944       · ISSUE saltstack/salt#34691: (dmacvicar) beacons.list does not include
357945         beacons   configured   from   the   pillar/ext_pillar  (refs:  #salt‐
357946         stack/salt`#34827`_, #34827)
357947
357948       · PR #34827: (thatch45) fix beacon list to include  all  beacons  being
357949         processed @ 2016-07-21 14:49:56 UTC
357950
357951         · 07d1d36653 Merge pull request #34827 from thatch45/34691
357952
357953         · 1ccf35eca4 fix beacon list to include all beacons being processed
357954
357955         · PR  saltstack/salt#28521:  (gongled) SPM: packaging doesn't work in
357956           Python 2.6. Fixed. (refs: #34833)
357957
357958       · PR #34833:  (rallytime)  Back-port  #28521  to  2015.8  @  2016-07-21
357959         14:37:24 UTC
357960
357961         · PR  #28521:  (gongled)  SPM:  packaging doesn't work in Python 2.6.
357962           Fixed. (refs: #34833)
357963
357964         · b375720251 Merge pull request #34833 from rallytime/bp-28521
357965
357966         · e50a6783ce SPM: packaging doesn't work in Python 2.6. Fixed.
357967
357968       · ISSUE #25213: (aboe76) Add spm man page  to  setup.py  (refs:  #salt‐
357969         stack/salt`#25276`_, #25276)
357970
357971         · PR  saltstack/salt#25276: (jacobhammons) copy spm.1 man page during
357972           setup (refs: #34823)
357973
357974       · PR #34823:  (rallytime)  Back-port  #25276  to  2015.8  @  2016-07-20
357975         20:56:04 UTC
357976
357977         · PR  #25276:  (jacobhammons) copy spm.1 man page during setup (refs:
357978           #34823)
357979
357980         · 042646582f Merge pull request #34823 from rallytime/bp-25276
357981
357982         · a028796eff copy spm.1 man page during setup Refs #25213
357983
357984       · ISSUE saltstack/salt#34648: (bortels) Error that % cannot start token
357985         (refs: #34828)
357986
357987       · ISSUE  #34648:  (bortels)  Error  that  %  cannot  start token (refs:
357988         #34828)
357989
357990         · PR #34828: (thatch45) Fix #34648
357991
357992         · PR saltstack/salt#34642: (justinta) Check  that  mysqladmin  exists
357993           before running mysql integration tests (refs: #34818)
357994
357995       · PR  #34818:  (justinta)  Skip  mysql  state test if mysqladmin is not
357996         available @ 2016-07-20 16:10:35 UTC
357997
357998         · 98fa4a404e Merge pull request #34818  from  jtand/mysql_state_inte‐
357999           gration_test_cleanup
358000
358001         · 9abb6f91bb Skip mysql state test if mysqladmin is not available
358002
358003       · ISSUE  saltstack/salt#26278:  (jiahua-h) "order: first" doesn't work?
358004         (refs: #34803)
358005
358006       · ISSUE saltstack/salt#24744: (anlutro) Allow states to  define  order:
358007         first (refs: #34803)
358008
358009       · ISSUE  #24744:  (anlutro)  Allow states to define order: first (refs:
358010         #34803)
358011
358012       · PR #34803: (junovitch) salt/state.py: set 'chunk['order'] =  0'  with
358013         'order: first'; fixes #24744 @ 2016-07-20 13:56:20 UTC
358014
358015         · 6636f2b449 Merge pull request #34803 from junovitch/issue_24744
358016
358017         · 64c850410f  salt/state.py:  set  'chunk['order']  = 0' with 'order:
358018           first'; fixes #24744
358019
358020       · PR #34773: (randomed) Bugfix: Startup states on minions are not being
358021         written to mysql returner @ 2016-07-19 12:39:53 UTC
358022
358023         · 58021035a9     Merge     pull     request    #34773    from    ran‐
358024           domed/mysql-returner-startup/2015.8
358025
358026         · 0cd55eb7d7 Add jid=req handling for mysql returner. It should  also
358027           store the return jid into the jid list table.
358028
358029         · PR #34751: (cachedout) Remove unnedeed config test
358030
358031         · PR  #34606:  (isbm)  Bugfix:  Exit on configuration read (backport)
358032           (refs: #34751)
358033
358034       · PR #34754: (cachedout) Disable test @ 2016-07-18 18:40:50 UTC
358035
358036         · f19caac8e4  Merge   pull   request   #34754   from   cachedout/dis‐
358037           able_mid_test
358038
358039         · 46901c6e65 Disable test
358040
358041       · ISSUE  saltstack/salt#34678:  (martinhoefling)  config.get  module is
358042         broken  due  to  bug  in   dictupdate.py   (refs:   #34726,   #`salt‐
358043         stack/salt`#34726`_`_, #34741)
358044
358045         · PR  saltstack/salt#34726: (martinhoefling) Always loop over updated
358046           keys in non recursive update (refs: #34741)
358047
358048       · PR #34741:  (rallytime)  Back-port  #34726  to  2015.8  @  2016-07-18
358049         18:00:23 UTC
358050
358051         · PR  #34726:  (martinhoefling)  Always loop over updated keys in non
358052           recursive update (refs: #34741)
358053
358054         · 81f29006f2 Merge pull request #34741 from rallytime/bp-34726
358055
358056         · d949110993  Loop over updated keys in non recursive update
358057
358058       · ISSUE saltstack/salt#34703: (Cashwini) Is it possible to return  out‐
358059         put  from  python  execution  module to a file on salt master? (refs:
358060         #34721)
358061
358062       · PR #34721: (rallytime) Add output_file option to master config docs @
358063         2016-07-16 20:04:03 UTC
358064
358065         · e9e5bbe38b Merge pull request #34721 from rallytime/fix-34703
358066
358067         · 9c803d05a5 Add output_file option to master config docs
358068
358069       · ISSUE   saltstack/salt#32276:   (javicacheiro)   pkg.installed  using
358070         sources from master fails with file not found after  first  succesful
358071         run (refs: #34689)
358072
358073       · PR  #34689:  (Azidburn)  fix  second  run problems with pkg.installed
358074         using sources @ 2016-07-15 21:19:39 UTC
358075
358076         · 08d00f3a61 Merge pull request #34689 from Azidburn/fix_pkg_sources
358077
358078         · 2c0fc919b3 fix second run problems with pkg.installed using sources
358079
358080       · PR #34695: (isbm) Bugfix: Zypper pkg.list_products returns  False  on
358081         some empty values (2015.8) @ 2016-07-15 21:08:00 UTC
358082
358083         · 4cb1ded520  Merge  pull  request #34695 from isbm/isbm-zypper-prod‐
358084           uct-boolean-values
358085
358086         · 5ed5142fbc Update test data for 'registerrelease' and 'productline'
358087           fields
358088
358089         · 21444ee240 Bugfix: return boolean only for 'isbase' and 'installed'
358090           attributes
358091
358092   Salt 2015.8.13 Release Notes
358093       Version 2015.8.13 is a bugfix release for 2015.8.0.
358094
358095   Security Fixes
358096       CVE-2017-5192 local_batch client external authentication not respected
358097
358098       The LocalClient.cmd_batch() method client does not accept external_auth
358099       credentials and so access to it from salt-api has been removed for now.
358100       This vulnerability  allows  code  execution  for  already-authenticated
358101       users and is only in effect when running salt-api as the root user.
358102
358103       CVE-2017-5200   Salt-api   allows  arbitrary  command  execution  on  a
358104       salt-master via Salt's ssh_client
358105
358106       Users of Salt-API and salt-ssh could execute a command on the salt mas‐
358107       ter via a hole when both systems were enabled.
358108
358109       We recommend everyone on the 2015.8 branch upgrade to a patched release
358110       as soon as possible.
358111
358112   Salt 2015.8.2 Release Notes
358113       Version 2015.8.2 is a bugfix release for 2015.8.0.
358114
358115   Statistics
358116       · Total Merges: 379
358117
358118       · Total Issue References: 138
358119
358120       · Total PR References: 351
358121
358122       · Contributors: 83 (DmitryKuzmenko, JaseFace, LoveIsGrief, MasterNayru,
358123         Oro, SmithSamuelM, The-Loeki, TheBigBear, aboe76, ajacoutot, anlutro,
358124         avinassh, basepi, bdrung, bechtoldt,  bernieke,  blueyed,  cachedout,
358125         cbuechler,  cedwards,  clarkperkins, cro, dkiser, douglas-vaz, dr4Ke,
358126         eguven,  eliasp,  erchn,  eyj,   favadi,   flavio,   garethgreenaway,
358127         gravyboat,   gtmanfred,   hedinfaok,  hexedpackets,  hyn-salt,  isbm,
358128         itsamenathan,  jacksontj,   jacobhammons,   jeffreyctang,   jejenone,
358129         jfindlay,  johnsocp,  justinta,  keesbos,  lathama, ldobson, lomeroe,
358130         martinhoefling,  mbarrien,  mbologna,   merll,   mrosedale,   msteed,
358131         multani,   nasenbaer13,   nmadhok,   notpeter,  opdude,  papertigers,
358132         pass-by-value, plastikos, quantonganh, rallytime,  redmcg,  rowillia,
358133         ruzarowski,  ryan-lane, s0undt3ch, sdm24, sjansen, skizunov, srkunze,
358134         techhat, terminalmage, ticosax, tkwilliams, toddtomkinson,  twangboy,
358135         twellspring, whiteinge)
358136
358137       IMPORTANT:
358138          A  significant orchestrate issue (issue ##29110) was discovered dur‐
358139          ing the release process of 2015.8.2, so it has not  been  officially
358140          released.  Please use 2015.8.3 instead.
358141
358142   Changelog for v2015.8.1..v2015.8.2
358143       Generated at: 2018-05-27 23:17:44 UTC
358144
358145       · PR  #28865:  (jfindlay)  add  2015.8.2  release  notes  @  2015-11-13
358146         17:30:18 UTC
358147
358148         · af297bb0ae Merge pull request #28865 from jfindlay/2015.8
358149
358150         · 1f847fc9ba add 2015.8.2 release notes
358151
358152       · ISSUE #27392: (ahammond)  schedule  running  state.orchestrate  fails
358153         (refs: #28730)
358154
358155       · PR  #28730:  (garethgreenaway)  Fixes to how return_job is handled in
358156         the scheduler for the salt master.  @ 2015-11-13 16:58:20 UTC
358157
358158         · 15672a3faa   Merge   pull   request   #28730   from    garethgreen‐
358159           away/27392_2015_8_scheduler_return_job_master
358160
358161         · 882350a543  Fixing  the  salt scheduler so that it only attempts to
358162           return the job data to the master if the scheduled job  is  running
358163           from a minion's scheduler.
358164
358165       · PR #28848: (cro) Lint @ 2015-11-13 13:46:36 UTC
358166
358167         · 5560cb662b Merge pull request #28848 from cro/fx2_multi_creds
358168
358169         · f032bffd7c Lint
358170
358171         · 6bb6703c3e       Merge       branch       'fx2_multi_creds'      of
358172           git://github.com/cro/salt into cro
358173
358174         · 3b7d22248c  Fix  fallback  credentials,   add   grains   based   on
358175           dracr.server_info and dracr.inventory, fix short-circuited for loop
358176           that was preventing retrieval  of  most  data  from  CMC  and  DRAC
358177           devices, format responses from racadm more clearly.
358178
358179         · b86c614564 Better logic around fallback credentials.
358180
358181         · 2701826a99 Update fx2.py, fix typos in new fallback parameters.
358182
358183         · 8ce5348808 Better variable name.
358184
358185         · 92038b8718 Default configuration file for proxy minions.
358186
358187       · PR  #28842:  (cachedout)  Add  transport  setting  to  shell  test  @
358188         2015-11-12 21:43:11 UTC
358189
358190         · 778ace3ca5 Merge pull request #28842 from cachedout/tcp_shell_test
358191
358192         · 785bf94f55 Add transport setting to shell test
358193
358194       · PR #28837: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
358195         2015-11-12 21:17:14 UTC
358196
358197         · 5639971744   Merge   pull  request  #28837  from  basepi/merge-for‐
358198           ward-2015.8
358199
358200         · 1c91ad6765 fix lint
358201
358202         · 4b706ac76a  Merge  remote-tracking  branch  'upstream/2015.5'  into
358203           merge-forward-2015.8
358204
358205           · eb904665dc Merge pull request #28832 from basepi/backport.28826
358206
358207             · 57be72eb91 Add backports_abc and singledispatch_helpers to thin
358208               as well
358209
358210             · 897cad627b Add singledispatch to the thin
358211
358212           · eff811a0ad     Merge      pull      request      #28833      from
358213             basepi/increase.gather_job_timeout.8647
358214
358215             · c09243dd01 Increase the default gather_job_timeout
358216
358217           · e4a036365d  Merge  pull  request  #28829  from  basepi/merge-for‐
358218             ward-2015.5
358219
358220             · f8b8441485 Merge remote-tracking branch 'upstream/2014.7'  into
358221               merge-forward-2015.5
358222
358223             · 76e69b4bff    Merge    pull    request   #28777   from   rally‐
358224               time/bp-28740-2014.7
358225
358226               · da5fac2b36 Back-port #28740 to 2014.7
358227
358228             · 45c73ebf2f Merge pull request #28716 from rallytime/bp-28705
358229
358230               · 32e7bd3ea0 Account for new headers class in tornado 4.3
358231
358232             · f4fe921965 Merge pull request #28717 from cachedout/umask_note
358233
358234               · 1874300e08 Add note about recommended umask
358235
358236         · 5aeab71f76  Merge  remote-tracking  branch  'upstream/2015.5'  into
358237           merge-forward-2015.8
358238
358239           · 93562631aa Merge pull request #28756 from MrCitron/fix-25775
358240
358241             · 82075c809c Add logs and correct pylint error
358242
358243             · e31e22d96a Fix 25775
358244
358245           · 30cc48e37f Merge pull request #28786 from chrigl/fix-28783
358246
358247             · ba6d814553 closes #28783
358248
358249           · 8f1d0b636e    Merge    pull    request    #28776    from   rally‐
358250             time/bp-28740-2015.5
358251
358252             · 49256b7d90 Back-port #28740 to 2015.5
358253
358254           · 77d4b980f1   Merge    pull    request    #28760    from    dmyer‐
358255             scough/28732-Fix-cherrypi-api-keys-endpoint
358256
358257             · 206d1684b2 Fixing CherryPy key bug
358258
358259           · 6f8f04975f Merge pull request #28746 from rallytime/bp-28718
358260
358261             · 092f441cad Account for no POST data
358262
358263       · ISSUE #28549: (ldelossa) dockerng module issue (refs: #28827)
358264
358265       · PR  #28827:  (jacksontj) Cleanup virtual_timer in loader @ 2015-11-12
358266         19:39:29 UTC
358267
358268         · c4fb185147 Merge pull request #28827 from jacksontj/2015.8
358269
358270         · f49502fd48 __modules__ isn't a global, although __salt__ is
358271
358272         · c734cb8876 Fix virtual_timer branch such that it will catch  excep‐
358273           tions.
358274
358275       · PR  #28836:  (cachedout)  Cast  to  dict  to fix wheel tests in tcp @
358276         2015-11-12 19:22:44 UTC
358277
358278         · 21520c6c1d    Merge    pull    request    #28836    from    cached‐
358279           out/fix_tcp_wheel_tests
358280
358281         · 8d3244166b Cast to dict to fix wheel tests in tcp
358282
358283       · PR  #28834:  (cachedout)  Fix  breakage  in  tcp  server @ 2015-11-12
358284         18:57:18 UTC
358285
358286         · 560671a170 Merge pull request #28834 from cachedout/tcp_revert_mas‐
358287           ter_uri
358288
358289         · 755d493bed Fix breakage in tcp server
358290
358291       · PR #28804: (cachedout) TCP test fixes @ 2015-11-12 18:39:25 UTC
358292
358293         · 224602437a Merge pull request #28804 from cachedout/tcp_test_fixes
358294
358295         · f799971280 Change logic
358296
358297         · 52ed06500a Fix typo
358298
358299         · 9b18f372e6 Normalize IPC check among transports
358300
358301         · e8ead2bfed Allow for tcp transport in publish
358302
358303         · e33b903e7b Allow for tcp transport in mine
358304
358305         · 3d80e67a2d Allow for tcp transport in auth
358306
358307       · ISSUE #28828: (basepi) salt-ssh doesn't package tornado's new deps in
358308         the thin (refs: #28826)
358309
358310       · PR #28826: (basepi) [2015.8] Add new tornado deps  to  salt-ssh  thin
358311         (refs: #28832) @ 2015-11-12 18:14:43 UTC
358312
358313         · 49992070db  Merge  pull  request  #28826  from basepi/salt-ssh.sin‐
358314           gledispatch.thin
358315
358316         · 1e1a74fd61 Add backports_abc and singledispatch_helpers to thin  as
358317           well
358318
358319         · da1a2773dd Add singledispatch to the thin
358320
358321       · PR #28759: (jfindlay) simplify stdin use of stdin in at.present state
358322         @ 2015-11-12 18:11:55 UTC
358323
358324         · PR #28187: (sjansen) fix at.present (refs: #28759)
358325
358326         · af52c3272f Merge pull request #28759 from jfindlay/at
358327
358328         · 987d1fee7c simplify stdin use of stdin in at.present state
358329
358330       · PR #28824: (rallytime)  Back-port  #28778  and  #28820  to  2015.8  @
358331         2015-11-12 18:06:31 UTC
358332
358333         · PR  #28820:  (cro)  Add  versionadded  directives  for  chronos and
358334           marathon proxy grains. (refs: #28824)
358335
358336         · PR #28778:  (toddtomkinson)  marathon  and  chronos  proxy  minions
358337           (refs: #28824)
358338
358339         · 08891cb210     Merge    pull    request    #28824    from    rally‐
358340           time/bp-28778-and-28820
358341
358342         · ab5943995b Change versionaddeds to 2015.8.2 from Boron
358343
358344         · da7ad0df99 Add versionadded directives.
358345
358346         · 4bdd10fdf5 documentation updates
358347
358348         · 675bc2acce more pylint fixes
358349
358350         · 8e19b5c518 pylint fixes
358351
358352         · ba94878f45 marathon and chronos proxy minions
358353
358354       · ISSUE #23271: (twisty7867) Unicode paths break file states with  mas‐
358355         terless minion on Vagrant/Ubuntu 14.04 (refs: #28803)
358356
358357       · PR  #28803:  (jfindlay) decode strings to utf-8 @ 2015-11-12 04:59:38
358358         UTC
358359
358360         · 30ea94439c Merge pull request #28803 from jfindlay/sdecodes
358361
358362         · 11163380cf sdecode chunk name in state compiler
358363
358364         · 7f95c483e1 sdecode strings in file state
358365
358366         · fe4d08526d sdecode strings in highstate outputter
358367
358368       · ISSUE #25363: (syphernl) rabbitmq_{user|vhost}.present  in  test=True
358369         reports unnecessary changes (refs: #28269)
358370
358371       · ISSUE   #24856:   (pruiz)  rabbitmq_user  state  incorrectly  reports
358372         result=True when using test=true (refs: #28269)
358373
358374       · PR #28782: (rallytime) Fixes to  rabbitmq  user  state  @  2015-11-12
358375         00:59:57 UTC
358376
358377         · PR   #28269:   (rallytime)  Refactor  rabbitmq_user  state  to  use
358378           test=True correctly (refs: #28782, #28772)
358379
358380         · 59b505ff7c  Merge   pull   request   #28782   from   rallytime/rab‐
358381           bitmq-user-state
358382
358383         · e2b0fee57e Don't change perms list, only existing perms should be a
358384           dictionary.
358385
358386         · 7601647d69 Revert "rabbitmq.list_user_permissions returns  a  dict,
358387           not a list. Don't expect a list."
358388
358389       · ISSUE  #28429: (cbuechler) salt-cloud VMware driver fails with uncus‐
358390         tomizable guest when not customizing guest (refs: #28789)
358391
358392       · PR #28789: (nmadhok) Provide ability to enable/disable  customization
358393         for  newly  create  VMs  using  VMware salt-cloud driver @ 2015-11-11
358394         22:48:57 UTC
358395
358396         · 098d48ad26 Merge pull request #28789 from nmadhok/2015.8-customiza‐
358397           tion-fix
358398
358399         · 9294ebd984  Provide ability to enable/disable customization for new
358400           VMs. Fixes #28429
358401
358402       · ISSUE #28692: (mrosedale)  puppet.run  fails  with  arguments  (refs:
358403         #28768)
358404
358405       · PR #28768: (mrosedale) 2015.8 @ 2015-11-11 19:29:11 UTC
358406
358407         · 1e510be55b Merge pull request #28768 from mrosedale/2015.8
358408
358409         · fbbbdcc02e Update puppet.py
358410
358411         · 1c1a4b4410 Update puppet.py
358412
358413         · 59bd6aef5c Merge pull request #1 from mrosedale/mrosedale-patch-1
358414
358415           · c26ea916aa Update puppet.py
358416
358417       · ISSUE  #25363:  (syphernl) rabbitmq_{user|vhost}.present in test=True
358418         reports unnecessary changes (refs: #28269)
358419
358420       · ISSUE  #24856:  (pruiz)  rabbitmq_user  state   incorrectly   reports
358421         result=True when using test=true (refs: #28269)
358422
358423       · PR #28772: (rallytime) rabbitmq.list_user_permissions returns a dict,
358424         not a list. Don't expect a list.  @ 2015-11-11 18:17:09 UTC
358425
358426         · PR  #28269:  (rallytime)  Refactor  rabbitmq_user  state   to   use
358427           test=True correctly (refs: #28782, #28772)
358428
358429         · a6cad46301   Merge   pull   request   #28772   from  rallytime/rab‐
358430           bitmq-user-state
358431
358432         · 07482211eb rabbitmq.list_user_permissions returns  a  dict,  not  a
358433           list. Don't expect a list.
358434
358435       · ISSUE   #28724:   (quantonganh)   Exception   occurred  when  calling
358436         boto_vpc.route_table_present with test=True (refs: #28725)
358437
358438       · PR #28774:  (rallytime)  Back-port  #28725  to  2015.8  @  2015-11-11
358439         18:16:27 UTC
358440
358441         · PR  #28725:  (quantonganh)  boto_vpc:  return an empty dict in case
358442           cannot get the route tables (refs: #28774)
358443
358444         · d570ac48f4 Merge pull request #28774 from rallytime/bp-28725
358445
358446         · c3420461c3 boto_vpc: return an empty dict in case  cannot  get  the
358447           route tables
358448
358449       · PR  #28775:  (rallytime)  Back-port  #28740  to  2015.8  @ 2015-11-11
358450         17:57:24 UTC
358451
358452         · PR #28740:  (MasterNayru)  Add  missing  S3  module  import  (refs:
358453           #28777, #28775, #28776)
358454
358455         · 806d1b3669 Merge pull request #28775 from rallytime/bp-28740
358456
358457         · 8a2780da18 Add missing S3 module import
358458
358459       · PR  #28755:  (rallytime)  Move most vmware driver list_* functions to
358460         use salt.utils.vmware functions @ 2015-11-11 17:49:16 UTC
358461
358462         · f273c46f07 Merge pull request #28755 from rallytime/vmware-utils
358463
358464         · 5abe010023  Move  most  vmware  driver  list_*  functions  to   use
358465           salt.utils.vmware functions
358466
358467       · ISSUE   #28655:   (sjorge)   possible   issue   with   state   module
358468         boto_cfn/docker/... (refs: #28744)
358469
358470       · PR #28744: (jfindlay) import gate elementtree @  2015-11-11  16:29:12
358471         UTC
358472
358473         · 0d912bf0d4 Merge pull request #28744 from jfindlay/elementttree
358474
358475         · e321d60002 import gate elementtree in artifactory module
358476
358477         · f20f3f697b import gate elementtree in boto_iam state
358478
358479         · 9845d2f2c6 import gate elementtree in boto_cfn state
358480
358481       · ISSUE  #28726: (feigenblatt) user.present ignores "createhome: False"
358482         (refs: #28758)
358483
358484       · PR #28758: (jfindlay) remove redundant  logic  in  useradd  execution
358485         module @ 2015-11-11 16:22:21 UTC
358486
358487         · b65e786351 Merge pull request #28758 from jfindlay/user
358488
358489         · dbd582cd8d fix doc formatting in user.present state
358490
358491         · 3824d2e9fc only change/report new home when createhome is True
358492
358493         · 3fbf81611f remove redundant logic in useradd execution module
358494
358495       · PR #28757: (mbarrien) Bug fix: pip command to not quote spaces in cmd
358496         line args @ 2015-11-11 16:08:46 UTC
358497
358498         · 6eced26013 Merge pull request #28757 from mbarrien/fix-pip-cmd
358499
358500         · 6df6cb82a6 Fix pip command to not quote spaces in cmd line args
358501
358502       · PR  #28764:  (multani)  Various  documentation  fixes  @   2015-11-11
358503         16:06:10 UTC
358504
358505         · 356bf2987d Merge pull request #28764 from multani/fix/docs
358506
358507         · 1a31b69763 doc: fix documentation formatting in salt.utils.jinja
358508
358509         · 59c105b4b9     doc:     fix     documentation     formatting     in
358510           salt.states.boto_iam*
358511
358512         · cbb167c8ee doc: fix documentation formatting in in salt.modules.lxc
358513
358514         · cb03a89e52 doc: fix documentation formatting in salt.modules.aptpkg
358515
358516       · PR #28752: (aboe76) Update openSUSE grain for tumbleweed @ 2015-11-11
358517         03:54:37 UTC
358518
358519         · d77c24e70d  Merge  pull  request  #28752  from  aboe76/suse_tumble‐
358520           weed_grain
358521
358522         · 764cb16ef0 Update openSUSE grain for tumbleweed
358523
358524       · ISSUE #28712: (hexedpackets) Service registration in the Consul  mod‐
358525         ule is broken (refs: #28713)
358526
358527       · PR  #28713: (hexedpackets) Rename consul.list to consul.list_keys.  @
358528         2015-11-11 00:57:23 UTC
358529
358530         · a620bc5596 Merge pull  request  #28713  from  hexedpackets/fix-con‐
358531           sul-module
358532
358533         · 0889907b3c Make consul.list a function alias.
358534
358535       · PR  #28719:  (jacobhammons)  removed  dependencies  info  from docs @
358536         2015-11-10 00:04:53 UTC
358537
358538         · decc31a766 Merge pull request #28719 from jacobhammons/spm
358539
358540         · d7017be031 removed dependencies info from docs
358541
358542       · PR #28709: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
358543         2015-11-09 23:38:27 UTC
358544
358545         · 989069f44a   Merge   pull  request  #28709  from  basepi/merge-for‐
358546           ward-2015.8
358547
358548         · 2d04ddc108  Merge  remote-tracking  branch  'upstream/2015.5'  into
358549           merge-forward-2015.8
358550
358551           · f40c617bad   Merge   pull   request  #28705  from  cachedout/tor‐
358552             nado_http_headers
358553
358554             · 7ac6cde1ee Account for new headers class in tornado 4.3
358555
358556         · c90431eddc Rip out unit test that doesn't apply anymore
358557
358558         · aeeaa7c90d  Merge  remote-tracking  branch  'upstream/2015.5'  into
358559           merge-forward-2015.8
358560
358561           · 604a7b4199 Merge pull request #28699 from rallytime/bp-28670
358562
358563             · e436b23296  psutil can fail to look-up a uid and raise a KeyEr‐
358564               ror
358565
358566           · 7bd3eb8370 Merge pull request #28703 from rallytime/bp-28690
358567
358568             · a0988dab58 Fix 28689 : Check s3 ext pillar  cache  file  before
358569               calculating expiration
358570
358571           · 2a40f57b93 Merge pull request #28694 from s0undt3ch/2015.5
358572
358573             · 0910c6ffe4 Update to latest bootstrap script v2015.11.09
358574
358575           · 3249b322e8 Merge pull request #28669 from rallytime/fix-26592
358576
358577             · 098fb815af  Use  the  -q  argument to strip extraneous messages
358578               from rabbitmq
358579
358580           · 29e8250d0c Merge pull request #28645 from jacksontj/2015.5
358581
358582             · f63c2d70a7 Rework minion return_retry_timer
358583
358584           · 1bbaea8aad Merge pull request #28668 from twangboy/fix_15177
358585
358586             · 745b8f75f6 Fixed some lint
358587
358588             · a43eb53f28 Added version added notes in docs
358589
358590             · 6b537c8640 Fixed join_domain and unjoin_domain for Windows
358591
358592           · 4ad5056066 Merge pull request #28666 from jfindlay/r_data
358593
358594             · 29228f445f define r_data before using it in file module
358595
358596           · e129e889ad Merge pull request #28662 from cachedout/issue_24758
358597
358598             · 78f4894333 Add note about disabling master_alive_interval
358599
358600           · df121d0cec  Merge  pull  request   #28627   from   twangboy/back‐
358601             port_win_useradd
358602
358603             · 87282b6354 Backport win_useradd
358604
358605       · ISSUE  #28469:  (mlalpho)  state  boto_secgroup.present fails to find
358606         vpc_name (refs: #28710, #28534)
358607
358608       · PR #28710: (rallytime)  Pass  kwargs  correctly  to  _get_group  from
358609         get_group_id @ 2015-11-09 22:29:09 UTC
358610
358611         · 8d5ab15c16 Merge pull request #28710 from rallytime/fix-28469
358612
358613         · 0571608f5d Pass kwargs correctly to _get_group from get_group_id
358614
358615       · PR  #28698:  (rallytime)  Back-port  #28530  to  2015.8  @ 2015-11-09
358616         18:11:51 UTC
358617
358618         · PR #28530: (skizunov) AsyncTCPReqChannel will fail  after  10  uses
358619           (refs: #28614, #28698)
358620
358621         · cfa0cec19c Merge pull request #28698 from rallytime/bp-28530
358622
358623         · d94d0db805 AsyncTCPReqChannel will fail after 10 uses
358624
358625       · ISSUE  #28678:  (johnsocp) Error in netapi/rest_tornado preventing it
358626         from starting (refs: #28679)
358627
358628       · PR #28700:  (rallytime)  Back-port  #28679  to  2015.8  @  2015-11-09
358629         18:07:44 UTC
358630
358631         · PR  #28679:  (johnsocp) Adding err variable definition to fix error
358632           that is preventing rest_tornado from initializing (refs: #28700)
358633
358634         · 2fe9e2e7c5 Merge pull request #28700 from rallytime/bp-28679
358635
358636         · 4e0870e636 Adding variable definition for issue #28678
358637
358638         · PR saltstack/salt-bootstrap#868:  (cachedout)  Always  refresh  the
358639           Arch Linux keyring if needed (refs: #28695, #28694)
358640
358641       · PR  #28695:  (s0undt3ch)  [2015.8]  Update to latest bootstrap script
358642         v2015.11.09 @ 2015-11-09 17:50:15 UTC
358643
358644         · 8ccea2a855 Merge pull request #28695 from s0undt3ch/2015.8
358645
358646         · bb6c60a330 Update to latest bootstrap script v2015.11.09
358647
358648       · ISSUE  #28526:  (clarkperkins)  yumpkg.installed   broken   in   salt
358649         v2015.8.1 on CentOS 6 minions (refs: #28656)
358650
358651       · PR  #28656:  (clarkperkins)  #28526  fixed  yumpkg  module issue with
358652         pkg.installed @ 2015-11-09 05:16:00 UTC
358653
358654         · 61ba00b1c3  Merge  pull  request  #28656   from   clarkperkins/bug‐
358655           fix/fix-yumpkg-module
358656
358657         · e11f87be93 #28526 fixed yumpkg module
358658
358659       · ISSUE  #28588:  (aboe76)  openSUSE  Leap  not recognized as 'Suse' os
358660         grain and os_family grain (2015.8.1 )  (refs: #28672)
358661
358662       · PR #28672: (jfindlay) add OS grain support for SuSE Leap @ 2015-11-08
358663         01:05:51 UTC
358664
358665         · 54484e4e29 Merge pull request #28672 from jfindlay/suse_grain
358666
358667         · b44ba6fa9c add OS grain support for SuSE Leap
358668
358669       · ISSUE  #28603:  (alexharrington) MooseFS/LizardFS mount options force
358670         remount (refs: #28673)
358671
358672       · PR #28673: (jfindlay) add hidden_opts to mount.mounted  @  2015-11-08
358673         00:51:19 UTC
358674
358675         · 476f55ebc0 Merge pull request #28673 from jfindlay/mount_hide
358676
358677         · 1dcaa8e1d7 add hidden_opts to mount.mounted
358678
358679         · d3aff8f6b8 minor refactor of mount state
358680
358681       · PR  #28667:  (cro) saltutil.sync_all should sync proxymodules as well
358682         as the rest.  @ 2015-11-07 01:09:28 UTC
358683
358684         · 24d75709fa Merge pull request #28667 from cro/proxy_sync_all
358685
358686         · 08e53b317f Sync proxymodules with sync_all
358687
358688       · PR #28665: (jfindlay) fixes to windows execution and state modules  @
358689         2015-11-07 00:47:38 UTC
358690
358691         · 019c13948a Merge pull request #28665 from jfindlay/win_fixorz
358692
358693         · e8c7371b56 fix minor doc issues in win_system module
358694
358695         · 5828f391b9 handle error on nonexistent net dev in win_network
358696
358697         · d1560f9ea9 check for wua time setting as a str
358698
358699       · ISSUE  #28542:  (Ch3LL)  s3.get execution module returns error (refs:
358700         #28660)
358701
358702       · PR #28660: (techhat) Don't sign empty regions @  2015-11-06  20:49:25
358703         UTC
358704
358705         · ce3ce7ddf2 Merge pull request #28660 from techhat/emptyregion
358706
358707         · a52518494a Don't sign empty regions
358708
358709       · PR  #28632:  (terminalmage) Fixes/improvements to pkgbuild state/mod‐
358710         ules @ 2015-11-06 20:48:07 UTC
358711
358712         · 0583575f82  Merge  pull  request  #28632   from   terminalmage/pkg‐
358713           build-fixes
358714
358715         · 59f31b4dca Initialize logging in pkgbuild state
358716
358717         · af0b2c4a33 Fix false-positives for pkgbuild.built state
358718
358719         · d83e779eac  rpmbuild: Change return data to include a list of pack‐
358720           ages built
358721
358722         · 03d9321379 debbuild: Change return data to include a list of  pack‐
358723           ages built
358724
358725       · ISSUE #28591: (ssgward) SPM package install error (refs: #28658)
358726
358727       · PR  #28658:  (techhat)  Remove  _pkgdb_fun()  references @ 2015-11-06
358728         20:25:59 UTC
358729
358730         · b82abadd9b Merge pull request #28658 from techhat/issue28591
358731
358732         · 4f2b175467 Remove _pkgdb_fun() references
358733
358734       · ISSUE #28470: (mlalpho) salt boto_rds.present fails to  execute,  too
358735         many arguments (refs: #28612, #28653)
358736
358737       · PR    #28653:    (rallytime)    Provide   possible   parameters   for
358738         boto_rds.present engine values @ 2015-11-06 18:58:35 UTC
358739
358740         · e59d160120    Merge    pull    request    #28653    from     rally‐
358741           time/boto_rds_engine_docs
358742
358743         · 7b30d7e002  Provide possible parameters for boto_rds.present engine
358744           values
358745
358746       · PR #28649: (bdrung) Fix OS related  grains  on  Debian  @  2015-11-06
358747         18:25:46 UTC
358748
358749         · 911761d8bc Merge pull request #28649 from bdrung/2015.8
358750
358751         · 92a17d4cae Fix OS related grains on Debian
358752
358753       · ISSUE  #26889: (UtahDave) salt-call w/non root user outputs repeating
358754         error (refs: #28113, #27343)
358755
358756       · PR #28646:  (rallytime)  Back-port  #28614  to  2015.8  @  2015-11-06
358757         18:19:08 UTC
358758
358759         · PR  #28614:  (skizunov)  Fixed  memory  leak  in AsyncTCPReqChannel
358760           (refs: #28646)
358761
358762         · PR #28530: (skizunov) AsyncTCPReqChannel will fail  after  10  uses
358763           (refs: #28614, #28698)
358764
358765         · PR  #28113:  (skizunov) 'RuntimeError: IOLoop is closing' thrown in
358766           Minion on TCP transport (refs: #28614)
358767
358768         · PR #27343: (cachedout) Close  io  loop  before  deleting  attribute
358769           (refs: #28614)
358770
358771         · 7531bc7334 Merge pull request #28646 from rallytime/bp-28614
358772
358773         · 034cf28e57 Fixed memory leak in AsyncTCPReqChannel
358774
358775       · PR  #28647:  (rallytime)  Back-port  #28624  to  2015.8  @ 2015-11-06
358776         18:18:32 UTC
358777
358778         · PR #28624: (hyn-salt) Added reasoning why boto_cloudwatch.py cannot
358779           be loaded. (refs: #28647)
358780
358781         · a829120746 Merge pull request #28647 from rallytime/bp-28624
358782
358783         · 3b59cfae5f Added reasoning why boto_cloudwatch.py cannot be loaded.
358784
358785       · PR   #28648:  (rallytime)  Merge  branch  '2015.5'  into  '2015.8'  @
358786         2015-11-06 17:46:59 UTC
358787
358788         · 52d70c986d Merge pull request #28648 from rallytime/merge-2015.8
358789
358790         · 81c4974fde Merge branch '2015.5' into '2015.8'
358791
358792           · 64a20228c6 Merge pull request  #28617  from  cachedout/umask_mod‐
358793             ule_sync
358794
358795             · 227792e158 Set restrictive umask on module sync
358796
358797           · 065f8c7fb3  Merge  pull request #28622 from gravyboat/update_pup‐
358798             pet_module_docs
358799
358800             · 4ea28bed30 Update puppet module wording
358801
358802       · PR #28638: (anlutro) Salt-SSH: Return more  concise  error  when  SSH
358803         command fails @ 2015-11-06 16:54:46 UTC
358804
358805         · 4722e41787   Merge  pull  request  #28638  from  alprs/saltssh-han‐
358806           dle_ssh_errors
358807
358808         · 5419b98363 return concise error when ssh fails
358809
358810       · PR #28644: (pass-by-value) Make  sure  versionchanged  is  correct  @
358811         2015-11-06 16:53:31 UTC
358812
358813         · e72e60d4b4 Merge pull request #28644 from pass-by-value/update_ver‐
358814           sionchanged
358815
358816         · f4c297e794 Make sure versionchanged is correct
358817
358818       · ISSUE #8: (thatch45) Network persistence (refs: #28615)
358819
358820       · ISSUE #64: (thatch45) State file rendering system (refs: #28615)
358821
358822       · ISSUE #54: (thatch45) Release items (refs: #28615)
358823
358824       · PR #28615: (The-Loeki) Fixes to FreeBSD pkg @ 2015-11-05 23:43:33 UTC
358825
358826         · PR #198: (techhat) Basic salt support for Tomcat (refs: #28615)
358827
358828         · cf79722260 Merge pull request #28615 from The-Loeki/patch-1
358829
358830         · a9ee178e0d rehash is a shell builtin, needs cmd.shell to work
358831
358832         · 17f3852bdd environ.get has no output_loglevel
358833
358834       · PR #28613: (cachedout) Add facility  to  deepcopy  bound  methods  in
358835         Py2.6 and apply to grains @ 2015-11-05 23:28:50 UTC
358836
358837         · PR  #28587:  (cachedout)  Reset yaml rendering hooks to avoid leaks
358838           (refs: #28613)
358839
358840         · 9196c57e3f    Merge    pull    request    #28613    from    cached‐
358841           out/py26_method_deepcopy
358842
358843         · 0935fcf4fc Spelling is hard
358844
358845         · 2435b45195  Move  to compat module to avoid namespace collisions in
358846           salt.utils
358847
358848         · f519661875 Add facility to deepcopy  bound  methods  in  Py2.6  and
358849           apply to grains
358850
358851       · ISSUE  #28527:  (Oro)  boto_rds.create needs storage_type, which does
358852         not exist in boto.rds2 create_db_instance (refs: #28561)
358853
358854       · ISSUE #28470: (mlalpho) salt boto_rds.present fails to  execute,  too
358855         many arguments (refs: #28612, #28653)
358856
358857       · PR  #28612:  (rallytime) Remove unsupported storage_type argument for
358858         parity with boto_rds module @ 2015-11-05 19:07:42 UTC
358859
358860         · PR #28561: (Oro) Issue #28527 boto_rds.create does not work  (refs:
358861           #28612)
358862
358863         · 2032d61e68 Merge pull request #28612 from rallytime/fix-28470
358864
358865         · 8fd26a5488 Remove unsupported storage_type argument for parity with
358866           boto_rds module
358867
358868       · PR #28611: (rallytime) [2015.8] Be explicit  about  salt.utils.vmware
358869         function calls @ 2015-11-05 18:43:36 UTC
358870
358871         · d81330ac7f     Merge    pull    request    #28611    from    rally‐
358872           time/vmware-utils-fix
358873
358874         · f46547eb56 [2015.8] Be explicit  about  salt.utils.vmware  function
358875           calls and avoid namespacing
358876
358877       · PR #28610: (pass-by-value) Lxc config additions @ 2015-11-05 18:43:05
358878         UTC
358879
358880         · 35dbca24e7 Merge pull request  #28610  from  pass-by-value/lxc_con‐
358881           fig_additions
358882
358883         · 83193641ca Add doc about cloud lxc options
358884
358885         · 8977ddad59 Add argument to init
358886
358887         · 2be3f8b5bb Add bootstrap delay and systemd check options
358888
358889       · ISSUE #28601: (nasenbaer13) boto_asg.present overwrites custom dimen‐
358890         sions in alarms (refs: #28602)
358891
358892       · PR #28602: (nasenbaer13) Allow setting of custom  dimensions  in  asg
358893         alarm specification @ 2015-11-05 15:00:24 UTC
358894
358895         · 464aa6b062 Merge pull request #28602 from eyj/fix-28601
358896
358897         · 963ad4250a Allow setting of custom dimensions in asg alarm specifi‐
358898           cation
358899
358900       · PR  #28596:  (rallytime)  Merge  branch  '2015.5'  into  '2015.8'   @
358901         2015-11-05 14:25:09 UTC
358902
358903         · 572d95b3e1 Merge pull request #28596 from rallytime/merge-2015.8
358904
358905         · eec9d69387 Merge branch '2015.5' into '2015.8'
358906
358907           · 08295de5a5 Merge pull request #28563 from s0undt3ch/2015.5
358908
358909             · 16f4db79a0 Update to latest bootstrap script v2015.11.04
358910
358911           · 1e09f186ce Merge pull request #28541 from twangboy/fix_28173
358912
358913             · 7edf5ce370 Fixed problem with system.set_computer_name
358914
358915           · f44ed780b5    Merge    pull    request    #28537    from   jfind‐
358916             lay/decode_state_2015.5
358917
358918             · 06e514940c decode filename to utf-8 in file.recurse state
358919
358920           · 6acf87593f Merge pull request #28529 from rallytime/fix-28272
358921
358922             · a959681858 Add link to Sending a GH PR to documentation docs
358923
358924             · 1c612e2772 Update contributing and documentation pages to  rec‐
358925               ommend submitting against branches
358926
358927           · 025bff2bf0    Merge    pull    request    #28548    from    nmad‐
358928             hok/2015.5-task-error
358929
358930             · 804a0a6537 Tasks can be in queued  state  instead  of  running.
358931               Fixes #28511
358932
358933           · 63bd3e52b3 Merge pull request #28531 from rallytime/fix-24585
358934
358935             · bc577b2531   Add   versionadded  directives  to  virtualenv_mod
358936               state/module
358937
358938           · ea3bf972c4   Merge    pull    request    #28508    from    twang‐
358939             boy/fix_unit_tests_windows
358940
358941             · 0da6ff7c50 Fixed some logic
358942
358943             · cf1e059be5 Fixed windows tests
358944
358945           · 73c5735fc1 Merge pull request #28525 from rallytime/route53_spac‐
358946             ing
358947
358948             · 6ab2ce615c Fix spacing in doc examples for  boto_route53  state
358949               and module
358950
358951           · 2d7f934f67 Merge pull request #28517 from rallytime/fix-28243
358952
358953             · be8f650901 Punctuation.
358954
358955             · fd846822c1 Add state_auto_order defaults to True note to order‐
358956               ing docs
358957
358958       · PR #28593: (blueyed) doc:  fix  typo  with  salt.states.file:  s/pre‐
358959         seve/preserve/ @ 2015-11-04 22:33:25 UTC
358960
358961         · 73c33e0b4a Merge pull request #28593 from blueyed/fix-typo-preserve
358962
358963         · eaf27d6ee7 doc: fix typo with salt.states.file: s/preseve/preserve/
358964
358965       · PR  #28578:  (twangboy) Fixed the script... something got broke...  @
358966         2015-11-04 22:00:18 UTC
358967
358968         · 8b483ee354 Merge pull request #28578 from  twangboy/fix_windows_in‐
358969           staller_script
358970
358971         · 90b19a3279 Fixed the script... something got broke...
358972
358973       · PR  #28579:  (jfindlay)  fix  __virtual__  returns: tls,uptime mods @
358974         2015-11-04 22:00:02 UTC
358975
358976         · 7ca7ed4b37 Merge pull request #28579 from jfindlay/virt_ret
358977
358978         · 333c132378 fix __virtual__ returns: tls,uptime mods
358979
358980       · ISSUE #27574: (jgill) salt-cloud:  Could  not  associate  elastic  ip
358981         address <None> with network interface <eni-xxxxxxxx> (refs: #28584)
358982
358983       · PR  #28584:  (rallytime)  If AssociatePublicIpAddress is set to True,
358984         don't auto-assign eip.  @ 2015-11-04 21:59:38 UTC
358985
358986         · PR #25315: (ruzarowski) [cloud:EC2] Move handling of  AssociatePub‐
358987           licIpAddress  to  associate_eip/allocate_new_eip logic depending on
358988           value type (refs: #28584)
358989
358990         · ae764c6b5c Merge pull request #28584 from rallytime/fix-27574
358991
358992         · 490e1bd5bb  If  AssociatePublicIpAddress  is  set  to  True,  don't
358993           auto-assign eip.
358994
358995       · ISSUE  #28392:  (jacksontj)  AsyncZeroMQReqChannel does not implement
358996         tries (2015.8) (refs: #28410)
358997
358998       · PR #28576: (jacksontj) Only encode the zmq message once @  2015-11-04
358999         21:59:20 UTC
359000
359001         · PR  #28410:  (jacksontj) Add retries to the zeromq.AsyncReqMessage‐
359002           Client (refs: #28576)
359003
359004         · 231cdd4316 Merge pull request #28576 from jacksontj/transport
359005
359006         · b29fc676a3 Only encode the zmq message once
359007
359008       · PR #28587: (cachedout) Reset yaml  rendering  hooks  to  avoid  leaks
359009         (refs: #28613) @ 2015-11-04 21:37:11 UTC
359010
359011         · ab62f5cd12  Merge  pull request #28587 from cachedout/fix_yaml_ren‐
359012           der_leak
359013
359014         · 2da64bd736 Reset yaml rendering hooks to avoid leaks
359015
359016       · ISSUE #3436: (madduck) Pillar does not  handle  Unicode  data  (refs:
359017         #28134, #saltstack/salt`#28134`_)
359018
359019         · PR saltstack/salt#28134: (bernieke) fix unicode pillar values #3436
359020           (refs: #28581)
359021
359022       · PR #28581: (basepi) Revert b4875e585a165482c4c1ddc8987d76b0a71ef1b0 @
359023         2015-11-04 19:28:20 UTC
359024
359025         · 69081d00e0     Merge     pull    request    #28581    from    salt‐
359026           stack/revert-28134-2015.8
359027
359028         · 0a07c90d5e Revert b4875e585a165482c4c1ddc8987d76b0a71ef1b0
359029
359030       · ISSUE #28477:  (anlutro)  KeyError  with  file.managed  HTTPS  source
359031         (refs: #28573)
359032
359033       · PR  #28573:  (jacksontj)  Add body to salt.utils.http.query returns @
359034         2015-11-04 17:18:19 UTC
359035
359036         · ea3658eac8 Merge pull request #28573 from jacksontj/2015.8
359037
359038         · d55ea7550b Add body to salt.utils.http.query returns
359039
359040       · ISSUE #655: (thatch45) Add  general  command  management  to  service
359041         (refs: #`saltstack/salt-bootstrap#656`_)
359042
359043         · PR   saltstack/salt-bootstrap#674:   (jfindlay)   add  support  for
359044           repo.saltstack.com (refs: #28564, #28563)
359045
359046         · PR saltstack/salt-bootstrap#665:  (mbologna)  Change  to  'dnf'  as
359047           package manager for Fedora 22-> (refs: #28564, #28563)
359048
359049         · PR saltstack/salt-bootstrap#656: (eyj) Add bootstrap -b flag (don't
359050           install dependencies) (refs: #28564, #28563)
359051
359052         · PR saltstack/salt-bootstrap#654: (hedinfaok)  Fixes  error  finding
359053           python-jinja2 in RHEL 7 (refs: #28564, #28563)
359054
359055         · PR  saltstack/salt-bootstrap#653:  (cbuechler)  Make bootstrap work
359056           with FreeBSD 11-CURRENT. (refs: #28564, #28563)
359057
359058       · PR #28564: (s0undt3ch) [2015.8] Update  to  latest  bootstrap  script
359059         v2015.11.04 @ 2015-11-04 15:29:46 UTC
359060
359061         · 3a729c2b40 Merge pull request #28564 from s0undt3ch/2015.8
359062
359063         · b6a53a6bfb Update to latest bootstrap script v2015.11.04
359064
359065       · ISSUE  #28527:  (Oro)  boto_rds.create needs storage_type, which does
359066         not exist in boto.rds2 create_db_instance (refs: #28561)
359067
359068       · PR #28561: (Oro) Issue #28527 boto_rds.create does  not  work  (refs:
359069         #28612) @ 2015-11-04 15:13:09 UTC
359070
359071         · fed4c6f482 Merge pull request #28561 from Oro/fix-boto-rds-create
359072
359073         · 54782b6fd9 Removed exception message where there is no exception
359074
359075         · e08f45c824 Issue #28527 boto_rds.create does not work
359076
359077       · PR #28560: (bdrung) Fix various typos @ 2015-11-04 15:06:36 UTC
359078
359079         · ec924e8410 Merge pull request #28560 from bdrung/2015.8
359080
359081         · 89dcb66310 Fix the wrong "allow to do" phrase
359082
359083         · 859b6b46a6 Fix typo an nonexistant -> nonexistent
359084
359085         · 66921cc61e Fix typo an succesfully -> successfully
359086
359087         · c1e3ef7c8d Fix typo an explicitely -> explicitly
359088
359089         · 029a95398c Fix typo an superflous -> superfluous
359090
359091         · 026c215933 Fix typo an unecessary -> unnecessary
359092
359093         · 5f7fc5f94b Fix typo an edditable -> editable
359094
359095         · 0b768944c2 Fix typo an deamon -> daemon
359096
359097         · 5af49881d7 Fix typo an completly -> completely
359098
359099         · 14d2a16f74 Fix typos of compatibility
359100
359101         · 46a5a9b073 Fix typo an suppored -> supported
359102
359103         · abc490a78e Fix typo an usefull -> useful
359104
359105         · ddd412180c Fix typo an targetting -> targeting
359106
359107         · 610a6a77ae Fix typo an verison -> version
359108
359109         · e0a5d46a1e Fix typo an seperated -> separated
359110
359111         · 7f11cfd5e1 Fix typo an helpfull -> helpful
359112
359113         · 2e9b520d84 Fix typos of omitted
359114
359115         · 3029f64481 Fix typo an compatbility -> compatibility
359116
359117         · 470e82f17f Fix typo an dictionnary -> dictionary
359118
359119         · 5843c7aa24 Fix typo an optionnal -> optional
359120
359121         · 730d0f95e7 Fix typo an transfered -> transferred
359122
359123         · c7e7884de2 Fix typo an recieved -> received
359124
359125         · 50eea287f3 Fix typo an managment -> management
359126
359127         · cb01da81c6 Fix typos of parameter
359128
359129         · 45fcc7d339 Fix typo an dont -> don't
359130
359131         · 3624935d32 Fix typo an other -> another
359132
359133         · d16afe2607 Fix typo sofwares -> software
359134
359135         · b9b7cbe525 Fix typo sofware -> software
359136
359137         · 8edd2c1add Fix typos of dependency
359138
359139         · 3a5e2e3437 Fix typo documention -> documentation
359140
359141       · ISSUE  #28528:  (schlagify) timezone.system error:  CommandExecution‐
359142         Error: Failed to parse timedatectl  output,  this  is  likely  a  bug
359143         (refs: #28550)
359144
359145       · PR  #28550:  (jfindlay)  check timedatectl errno and return stdout on
359146         failure @ 2015-11-04 15:00:24 UTC
359147
359148         · bd0b291b63 Merge pull request #28550 from jfindlay/ctl_err
359149
359150         · 11a9a5868f simplify timezone module unit test mocks
359151
359152         · 476b651c94 update timezone module unit tests for timedatectl
359153
359154         · 5c0e5dacc0 check timedatectl errno and return stdout on failure
359155
359156       · ISSUE #19249: (ahetmanski) Cannot create cache_dir salt master excep‐
359157         tion. (refs: #28545)
359158
359159       · PR  #28545:  (jfindlay)  pass  on  concurrent  create  of  jid_dir in
359160         local_cache @ 2015-11-04 14:54:11 UTC
359161
359162         · e048667c91 Merge pull request #28545 from jfindlay/concurrent_dir
359163
359164         · 58ad699331 pass on concurrent create of cache_dir in roots fs
359165
359166         · e456184b04 pass on concurrent create of jid_dir in local_cache
359167
359168       · PR #28544: (rallytime) Start moving some  vmware.py  cloud  funcs  to
359169         utils/vmware.py @ 2015-11-04 14:52:59 UTC
359170
359171         · 082ffd5734 Merge pull request #28544 from rallytime/vmware-utils
359172
359173         · 403fe37704 Pylint.
359174
359175         · d9301eea95 Don't move _set_cd_or_dvd_backing_type yet
359176
359177         · 8d69639230   Start   moving   some   vmware.py   cloud   funcs   to
359178           utils/vmware.py
359179
359180       · PR #28543: (gtmanfred) clean up changes for pkg.uptodate and supervi‐
359181         sord.dead @ 2015-11-04 14:49:46 UTC
359182
359183         · bf4f7cdc4b Merge pull request #28543 from gtmanfred/2015.8
359184
359185         · 3d57b392cb return changes if supervisord stopped process
359186
359187         · 5547a34acc return empty changes if server is uptodate
359188
359189       · ISSUE  #28524:  (bmcorser)  UnicodeDecodeError  in states.file (refs:
359190         #28537, #28538)
359191
359192       · PR #28538: (jfindlay) decode path and  url  to  utf-8  in  url.create
359193         (refs: #28537) @ 2015-11-04 14:48:34 UTC
359194
359195         · d345768b81 Merge pull request #28538 from jfindlay/decode_state
359196
359197         · b05dfc5c58 decode path and url to utf-8 in url.create
359198
359199       · ISSUE   #28476:   (ColorFuzzy)  state.sls  UnicodeDecodeError  (refs:
359200         #28533)
359201
359202       · PR #28533: (jfindlay) decode highstate  error  messages  to  utf-8  @
359203         2015-11-04 14:47:55 UTC
359204
359205         · 2e0c8264db Merge pull request #28533 from jfindlay/decode_err
359206
359207         · 9c9bb75c37 decode highstate error messages to utf-8
359208
359209       · PR #28547: (nmadhok) [Backport] [2015.8] Tasks can be in queued state
359210         instead of running @ 2015-11-04 04:13:30 UTC
359211
359212         · cfc3146b2d Merge pull request #28547 from nmadhok/2015.8-task-error
359213
359214         · 3fb1f9ee6b Tasks can be in queued state instead of  running.  Fixes
359215           #28511
359216
359217       · PR  #28535:  (techhat)  Fail gracefully if 169.254* isn't available @
359218         2015-11-03 22:39:38 UTC
359219
359220         · 7e22e7cf24 Merge pull request #28535 from techhat/fixcreds
359221
359222         · 8d9224bd09 Catch timeouts too
359223
359224         · fa46dbb2a3 Lint
359225
359226         · f05a5e0936 Fail gracefully if 169.254* isn't available
359227
359228       · PR #28536: (cro) Default configuration file  for  proxy  minions.   @
359229         2015-11-03 21:26:27 UTC
359230
359231         · 9a5208e8aa Merge pull request #28536 from cro/proxyconf
359232
359233         · 1e031c4940 Default configuration file for proxy minions.
359234
359235       · ISSUE  #28469:  (mlalpho)  state  boto_secgroup.present fails to find
359236         vpc_name (refs: #28710, #28534)
359237
359238       · PR #28534: (rallytime) Add versionadded directive for vpc_name arg in
359239         boto_secgroup.present @ 2015-11-03 19:30:04 UTC
359240
359241         · 2bc78a32ef Merge pull request #28534 from rallytime/fix-28469
359242
359243         · ebe3b34ae7 Add versionadded directive for vpc_name arg in boto_sec‐
359244           group.present
359245
359246       · PR #28516:  (rallytime)  Back-port  #28489  to  2015.8  @  2015-11-03
359247         14:05:54 UTC
359248
359249         · PR  #28489:  (TheBigBear) Update windows-package-manager.rst (minor
359250           edit) adding missing single quote pairs. (refs: #28516)
359251
359252         · c6a6fe0089 Merge pull request #28516 from rallytime/bp-28489
359253
359254         · 2e5684a1e4 Update windows-package-manager.rst
359255
359256       · PR #28506: (basepi) [2015.8] Log minion  list  for  all  rosters,  at
359257         debug level @ 2015-11-03 14:05:22 UTC
359258
359259         · 36a217acbd  Merge  pull  request  #28506  from basepi/salt-ssh.min‐
359260           ions.log.debug
359261
359262         · 06cdb50494 Log minion list for all rosters, at debug level
359263
359264       · PR #28514: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
359265         2015-11-03 01:19:33 UTC
359266
359267         · 8cbea63e40   Merge   pull  request  #28514  from  basepi/merge-for‐
359268           ward-2015.8
359269
359270         · 463a03b2a9  Merge  remote-tracking  branch  'upstream/2015.5'  into
359271           merge-forward-2015.8
359272
359273         · 63ce8f78d5   Merge   pull  request  #28512  from  basepi/merge-for‐
359274           ward-2015.5
359275
359276           · 61c382133a Merge remote-tracking  branch  'upstream/2014.7'  into
359277             merge-forward-2015.5
359278
359279           · 4bf56cad3f Merge pull request #28461 from cachedout/issue_28455
359280
359281             · 097838ec0c Wrap all cache calls in state.sls in correct umask
359282
359283           · f3e61db045    Merge    pull    request    #28407   from   DSRCom‐
359284             pany/issues/24910_token_auth_fix_2014
359285
359286             · b7b5bec309 Don't request creds if auth with key.
359287
359288       · PR #28502: (cachedout) Lint #28427 @ 2015-11-02 21:09:20 UTC
359289
359290         · PR #28427: (cro) More updates (refs: #28502)
359291
359292         · b919f55f8d Merge pull request #28502 from cachedout/lint_28427
359293
359294         · 459a342102 Lint #28427
359295
359296         · d354885c3d Lint
359297
359298         · dbb1f0899e Lint
359299
359300         · 749383c413 Lint
359301
359302         · 0fa067ea30 Add datacenter getter/setter,  change  'dell_switch'  to
359303           just 'switch', trap call to change_password.
359304
359305         · 4bcb5a508b  Add  datacenter  getter/setter, change 'dell_switch' to
359306           just 'switch', trap call to change_password.
359307
359308       · PR #28464: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
359309         2015-11-02 20:18:21 UTC
359310
359311         · 238411c8ce   Merge   pull  request  #28464  from  basepi/merge-for‐
359312           ward-2015.8
359313
359314         · 6f6e687cb4 Mock master_uri for even tests
359315
359316         · 3286a5250f  Merge  remote-tracking  branch  'upstream/2015.5'  into
359317           merge-forward-2015.8
359318
359319           · 37ceae1e88   Merge  pull  request  #28448  from  gwaters/add-red‐
359320             hat-notes
359321
359322             · e70990704a added a note to the tutorial for those  that  redhat
359323               so they can use the state file too.
359324
359325           · 5ef50d60cd Merge pull request #28406 from rallytime/bp-28381
359326
359327             · e5322d2c44 Add FreeBSD detection for VirtualBox
359328
359329           · 30d5f7bbae Merge pull request #28413 from rallytime/bp-28400
359330
359331             · ae1921b922  Do  not  execute  _preflight_check if not_installed
359332               list is empty in _find_install_targets. Calling with empty list
359333               on  rhel/centos  cause  execution  of  repoquery --whatprovides
359334               without pkg list which is memory consumptive task for host  and
359335               also for red hat satellite server.
359336
359337           · 045d540aff      Merge      pull      request      #28366     from
359338             erchn/fix_yumpkg_mod_repo_disabled
359339
359340             · 8187a4ce20 re-arrange things a bit to have less overall changes
359341
359342             · f1d570ff18 move todelete above disabled check, add comment
359343
359344             · 64feec413f also remove disabled key from repo_opts
359345
359346             · 2f2ebb7bb6 mark repo not enabled when pkgrepo state  passes  in
359347               disable: True
359348
359349           · 3923f4a569  Merge  pull request #28373 from beverlcl/fix-use_car‐
359350             rier-28372
359351
359352             · 32cffeceb6 Fixing bug #28372 for use_carrier option on  bonding
359353               network interfaces.
359354
359355           · e07e3f257b Merge pull request #28359 from rallytime/bp-28358
359356
359357             · 9cacbf582b docstring typo fix - list returners not runners
359358
359359           · 282be7ba5a Merge pull request #28346 from twangboy/fix_installer
359360
359361             · f65e3e5275 Updated documentation to reflect the new parameter
359362
359363             · a0c5223554 Fixes #27923 and #28000
359364
359365           · 7858f04ebc  Merge  pull  request  #28315 from gwaters/update-pil‐
359366             lar-doc
359367
359368             · b15285c0b4 adding a working example of setting pillar  data  on
359369               the cli
359370
359371           · 45305ccf29    Merge    pull   request   #28211   from   terminal‐
359372             mage/legacy_git_pillar-2015.5
359373
359374             · 0d6a4ac115 Remove non-functional test
359375
359376             · ab991d61d9 Fix for ext_pillar being compiled  twice  in  legacy
359377               git_pillar code (2015.5 branch)
359378
359379           · a6cc84c407 Merge pull request #28263 from cachedout/issue_26411-1
359380
359381             · 3b880a5f07 New channel for event.fire_master
359382
359383             · 29e9533aab Stand up a new channel if using salt-call
359384
359385           · 788e1463d8 Merge pull request #28293 from cachedout/fix_28271
359386
359387             · 499ed8519b Minor grammar changes to #28271
359388
359389           · e178af0b90  Merge  pull  request #28271 from gwaters/update-tuto‐
359390             rial-documentation
359391
359392             · f96d39483d updated the tutorial with gravyboat's suggestions
359393
359394             · b1f4a2bdf4 i think i changed the wrong header, updated to fix
359395
359396             · 846b3aece1 I found you can not run the cp.push  commands  until
359397               after  enabling  the feature in the conf, so I wanted to update
359398               the docs so others who try these commands wont  bump  into  the
359399               same issue I had.
359400
359401           · e3eff9b909 Merge pull request #28280 from 0xf10e/patch-1
359402
359403             · 6d4316b0ac Correct Jinja function load_* to import_*
359404
359405           · 909fa3dc97 Merge pull request #28255 from cachedout/cli_opt
359406
359407             · a2408157de Add __cli opt
359408
359409           · 0fa094ae11    Merge    pull    request    #28213    from   rally‐
359410             time/boto_route53_state
359411
359412             · 237d64ff11 If record returned None,  don't  continue  with  the
359413               state. Something went wrong.
359414
359415           · 1768014705  Merge  pull  request  #28238  from  basepi/fix.sched‐
359416             ule.present.28217
359417
359418             · 087a8dc3c2 Only insert enabled if it's a dict
359419
359420             · 5b49f41fab Fix schedule  comparison  to  adjust  for  'enabled'
359421               being added in schedule.list
359422
359423             · 2dc1226ab8 Build new item with 'enabled' if available
359424
359425           · bdd48c92de    Merge    pull   request   #28174   from   lorengor‐
359426             don/file-replace-multiline
359427
359428             · acdef2da60 Update docstrings with new guidance
359429
359430             · 0835b005b7 Use a test that makes the extra file  read  unneces‐
359431               sary
359432
359433             · 6d6121a6e5  Use  flags  when checking whether content was added
359434               previously
359435
359436             · b25e609e9e Set flags=8 since now the file is read as  a  MULTI‐
359437               LINE string by default
359438
359439             · 89e8dcdffd Use finally block to ensure mmap object is closed
359440
359441             · 5aea6647c9 Add support for multiline regex in file.replace
359442
359443           · 2225925fb5 Merge pull request #28175 from twangboy/fix_19673
359444
359445             · ae8fbb208f Fixes #19673
359446
359447       · ISSUE  #15583:  (dr4Ke) state grain.present should accept dict values
359448         (isn't it?) (refs: #26945)
359449
359450       · ISSUE #11870:  (gpkvt)  Nested  Grain-Support  for  grains.present  /
359451         grains.absent (refs: #26945)
359452
359453       · PR  #28486:  (rallytime)  Back-port  #26945  to  2015.8  @ 2015-11-02
359454         18:43:35 UTC
359455
359456         · PR #26945: (dr4Ke) Feature state grains  support  nested  and  dict
359457           (refs: #28486)
359458
359459         · a25ce38fda Merge pull request #28486 from rallytime/bp-26945
359460
359461         · 8d26bbd777 grains module and state: documentation fixes
359462
359463         · df7e936910 grains module and state: use a unique object...
359464
359465         · df8ec1184c grains module documentation fixes
359466
359467         · 25e9a5c9ad grains state and module: fix version strings
359468
359469         · eee2318873 grains state: allow deleting grain with 'False' value
359470
359471         · c92326f5ea grains module: yaml representer for OrderedDict
359472
359473         · 2c9c8d4073 grains state doc update
359474
359475         · 576252da05  grains  state: list_present, list_absent support nested
359476           grain
359477
359478         · 62a1f37d86 grains state: nested support for grains.append
359479
359480         · 3019a055c9 grains state: rewrite doc + example
359481
359482         · c19cff517a grains state: more tests
359483
359484         · cc844e4a2c grains state tests: test the grain file content as well
359485
359486         · 1c5cd4c82d grains state: changes comment more accurate
359487
359488         · 563fd2b56c grains state: use DEFAULT_TARGET_DELIM
359489
359490         · c63913e602 grains module: simpler comment for already set key
359491
359492         · 2000180791 grains.present uses grains.set
359493
359494         · a03c79b13b module grains.set default comment is a string
359495
359496         · 64e9e2c3b3 grains.absent uses set(None)
359497
359498         · 6b8c245b87 grains state: new tests for nested grains
359499
359500       · PR #28472: (gtmanfred) overwrite more than one  value  with  names  @
359501         2015-11-02 17:56:53 UTC
359502
359503         · f3640b3ad6 Merge pull request #28472 from gtmanfred/2015.8
359504
359505         · 8b90ccedf5 overwrite more than one value with names
359506
359507       · PR  #28493:  (rallytime)  Back-port  #28492  to  2015.8  @ 2015-11-02
359508         17:54:09 UTC
359509
359510         · PR #28492: (cedwards)  Updated  FreeBSD  installation  docs  (refs:
359511           #28493)
359512
359513         · e31ef51053 Merge pull request #28493 from rallytime/bp-28492
359514
359515         · ffc77259c9 Updated FreeBSD installation docs:
359516
359517       · PR  #28494: (whiteinge) Fix filter_by passing incorrect parameters to
359518         match functions @ 2015-11-02 17:53:55 UTC
359519
359520         · 38c77206db Merge  pull  request  #28494  from  whiteinge/match-fil‐
359521           ter_by-argfix
359522
359523         · e61ac75d6f  Fix  filter_by  passing  incorrect  parameters to match
359524           functions
359525
359526       · ISSUE #23685: (Snergster) inotify beacon on file. 'change'  event  to
359527         reactor to reset file to known state will cause loop (refs: #28388)
359528
359529       · PR  #28491:  (rallytime)  Back-port  #28388  to  2015.8  @ 2015-11-02
359530         17:13:23 UTC
359531
359532         · PR #28388: (cachedout) Beacon state disable (refs: #28491)
359533
359534         · d19affd44d Merge pull request #28491 from rallytime/bp-28388
359535
359536         · f740a19477 Working right now
359537
359538         · 700eaebad0 Disable starting to come to life
359539
359540         · f8b17748ef More fixing
359541
359542         · 04585a2878 Documentation for disable_during_state_run
359543
359544         · dbbd53689d Add documentation note in inotify beacon
359545
359546         · 40217fe813 More refactoring and add new option  to  disable  during
359547           state run
359548
359549         · 19af5e5ed3 Starting on refactor of beacon config parsing
359550
359551       · ISSUE  #12363: (joehealy) unable to manage password expiry of windows
359552         users (refs: #28465)
359553
359554       · PR #28465: (twangboy) Fix #12363: Password Expiration  in  Windows  @
359555         2015-11-02 17:01:18 UTC
359556
359557         · f7042ba967 Merge pull request #28465 from twangboy/fix_12363
359558
359559         · bcf7d58dbb Fixed array if there's a problem with user.info
359560
359561         · 4b36cb8b6e Added documentation to win_shadow
359562
359563         · fc8f197f69 Fix #12363
359564
359565       · ISSUE #28484: (nasenbaer13) Elasticcache subnet group creation raises
359566         TypeError (refs: #28485)
359567
359568       · PR #28485: (nasenbaer13)  Fix  invalid  usage  of  _get_conn  causing
359569         #28484 @ 2015-11-02 16:47:52 UTC
359570
359571         · ec0cbec00b Merge pull request #28485 from eyj/fix_28484
359572
359573         · 9d80fb6070 Fix invalid usage of _get_conn causing #28484
359574
359575       · ISSUE  #28453:  (sdm24)  Fix Formatting for Nodegroup Targetting Docs
359576         (refs: #28454)
359577
359578       · ISSUE #28268: (gravyboat) Update nodegroup docs  to  explain  how  to
359579         target via nodegroups (refs: #28306)
359580
359581       · PR  #28454:  (sdm24) Fixed nodegroup doc formatting to correctly link
359582         to pillar_opts in the master config @ 2015-11-02 15:14:40 UTC
359583
359584         · PR #28306: (sdm24) Updated the Nodegroup docs  to  include  how  to
359585           target nodegroups in SLS Jinja (refs: #28454)
359586
359587         · 1116798f21   Merge   pull  request  #28454  from  sdm24/fix-format‐
359588           ting-in-nodegroup-docs
359589
359590         · b968581eb1 Fixed nodegroup doc formatting to correctly link to pil‐
359591           lar_opts in the master config
359592
359593       · PR #28487: (cachedout) Lint 28456 @ 2015-11-02 14:52:27 UTC
359594
359595         · fac7803a59 Merge pull request #28487 from cachedout/lint_28456
359596
359597         · 58fe15437a Lint #28456
359598
359599         · 322a28bb06  updated  states.virtualenv_mod comments to reflect that
359600           some kwargs need 'distribute: True'
359601
359602       · ISSUE #24775: (ymote) jinja returned  host  ip  address  with  square
359603         bracket (refs: #28457)
359604
359605       · PR   #28457:   (sdm24)  Clarified  comments  for  grains/core.py  for
359606         ip_interfaces, ip4_interfac… @ 2015-11-02 14:47:59 UTC
359607
359608         · 22a4f14625      Merge      pull      request      #28457       from
359609           sdm24/update-grain-ip-interfaces-comments
359610
359611         · eb92afe238 Clarified comments for grains/core.py for ip_interfaces,
359612           ip4_interfaces, and ip6_interfaces, to explicitly  state  that  the
359613           ips for each interface are passed as a list
359614
359615       · PR  #28473:  (anlutro)  Show check_cmd output on failure @ 2015-11-02
359616         14:15:30 UTC
359617
359618         · 5818b28c85   Merge   pull   request    #28473    from    alprs/fea‐
359619           ture-cmd_check_output
359620
359621         · a772ce330a fix tests
359622
359623         · 90b01e9e0d show check_cmd output on failure
359624
359625       · PR #28460: (justinta) Skipped wipefs test if wipefs does not exist on
359626         OS @ 2015-10-31 04:09:32 UTC
359627
359628         · cfe39df7ac Merge pull request #28460 from jtand/wipe_fs_fix
359629
359630         · 7ca79f1f7b Skipped wipefs test if wipefs does not exist on OS
359631
359632       · PR  #28426:  (terminalmage)  pkgbuild.built:  make  template   engine
359633         optional @ 2015-10-30 17:13:36 UTC
359634
359635         · 9b44b5e347   Merge   pull  request  #28426  from  terminalmage/pkg‐
359636           build-template
359637
359638         · 6d32497848 pkgbuild.built: make template engine optional
359639
359640       · ISSUE #28123: (hrumph) local.cmd  not  working  for  windows  minions
359641         (refs: #28422)
359642
359643       · PR #28422: (cachedout) Handle windows logging on thread_multi [WIP] @
359644         2015-10-30 17:12:26 UTC
359645
359646         · 31777cb4e9 Merge pull request #28422 from cachedout/issue_28123
359647
359648         · fd3b2a9e20 Handle windows logging on thread_multi
359649
359650       · ISSUE #13513: (ironwilliamcash) Windows Registry Key Problem on 64bit
359651         Machine (refs: #28425)
359652
359653       · PR  #28425:  (twangboy) Fix #13513 - Reflection @ 2015-10-30 17:07:23
359654         UTC
359655
359656         · f9992fc948 Merge pull request #28425 from twangboy/fix_13513
359657
359658         · beb141df69 Fixed some lint
359659
359660         · 0d747355c4 Fix #13513
359661
359662       · ISSUE #27980: (rayba) salt-cloud 2015.5.0 azure provider could not be
359663         loaded (refs: #28417)
359664
359665       · PR  #28417:  (rallytime)  Add note about azure sdk version to getting
359666         started docs @ 2015-10-29 19:47:05 UTC
359667
359668         · 4c8cd064a4 Merge  pull  request  #28417  from  rallytime/azure-ver‐
359669           sion-warning
359670
359671         · 8e3a2ba7e7 Add note about azure sdk version to getting started docs
359672
359673       · ISSUE  #28392:  (jacksontj)  AsyncZeroMQReqChannel does not implement
359674         tries (2015.8) (refs: #28410)
359675
359676       · PR #28410: (jacksontj) Add  retries  to  the  zeromq.AsyncReqMessage‐
359677         Client (refs: #28576) @ 2015-10-29 18:05:50 UTC
359678
359679         · 7ead823731 Merge pull request #28410 from jacksontj/2015.8
359680
359681         · 70b5ae9b1d Add retries to the zeromq.AsyncReqMessageClient
359682
359683       · ISSUE  #28382: (cedwards) [FreeBSD] user state option empty_password:
359684         True fails with Traceback (refs: #28395)
359685
359686       · PR #28404:  (rallytime)  Back-port  #28395  to  2015.8  @  2015-10-29
359687         16:09:20 UTC
359688
359689         · PR  #28395: (cedwards) Updating bsd_shadow to match mainline shadow
359690           (refs: #28404)
359691
359692         · 50845a1e91 Merge pull request #28404 from rallytime/bp-28395
359693
359694         · badcb677e9 Use correct version release number
359695
359696         · c5c66b8bab Updating bsd_shadow to match mainline shadow
359697
359698       · PR #28405: (opdude) Detect legacy versions of chocolatey correctly  @
359699         2015-10-29 15:57:30 UTC
359700
359701         · e746b564b4  Merge  pull request #28405 from Unity-Technologies/hot‐
359702           fix/choco-version-detect
359703
359704         · 0076d73872 Make sure we exit out correctly when checking for  choco
359705           version
359706
359707         · 157e0f446d Detect legacy versions of chocolatey correctly
359708
359709       · PR  #28187:  (sjansen)  fix  at.present  (refs:  #28759) @ 2015-10-29
359710         15:49:18 UTC
359711
359712         · 4304001a8f Merge pull request #28187 from sjansen/patch-1
359713
359714         · 52c915e29d fix at.present
359715
359716       · PR #28375: (merll)  Merge  pillar  includes  correctly  @  2015-10-29
359717         15:12:48 UTC
359718
359719         · 5efac26c10   Merge   pull   request   #28375  from  Precis/fix-pil‐
359720           lar-include-loop
359721
359722         · f8e2c26473 Variable err is from previous loop, too.
359723
359724         · 042314246f Unit test for merging included pillars.
359725
359726         · a42c51f9bf Do not merge previous values in pillar include loop.
359727
359728       · PR #28376: (ryan-lane) Support update of route53 records with  multi‐
359729         ple values @ 2015-10-29 14:54:47 UTC
359730
359731         · PR  #28374: (ryan-lane) Support update of route53 records with mul‐
359732           tiple values (refs: #28376)
359733
359734         · a69b124aaa   Merge   pull   request   #28376    from    lyft/multi‐
359735           value-route53-values-2015.8
359736
359737         · cd221515a1 Support update of route53 records with multiple values
359738
359739       · PR  #28377:  (terminalmage) Deprecate 'always' in favor of 'force' in
359740         pkgbuild.built @ 2015-10-29 14:42:22 UTC
359741
359742         · 9e5a510e73 Merge pull request #28377  from  terminalmage/force-pkg‐
359743           build
359744
359745         · f18305e19e Add versionadded directive
359746
359747         · 7046d0d896 Deprecate 'always' in favor of 'force' in pkgbuild.built
359748
359749       · PR  #28380:  (cro) Add missing call for service provider @ 2015-10-29
359750         14:26:55 UTC
359751
359752         · cd632f798d Merge pull request #28380 from cro/sshprox_fix
359753
359754         · 7bcc275dce Lint + logic error.
359755
359756         · 92d712a54b Add a missing call for the service provider
359757
359758       · ISSUE #28202: (guettli) Docs: Difference between  modules.cron.rm_job
359759         and modules.cron.rm (refs: #28348)
359760
359761       · PR  #28348: (jfindlay) salt.utils.alias informs user they are using a
359762         renamed function @ 2015-10-28 20:46:36 UTC
359763
359764         · e7571e6d61 Merge pull request #28348 from jfindlay/alias
359765
359766         · 7915d7e5e8 use alias util to formally alias module functions
359767
359768         · 6a8b61bd12 create function alias to improve api documentation
359769
359770       · PR #28364: (justinta) In CentOS 5 the .split() causes  a  stacktrace.
359771         @ 2015-10-28 20:46:02 UTC
359772
359773         · 072eb98a26 Merge pull request #28364 from jtand/blockdev_test_fix
359774
359775         · 3b4d03ff1a  In  CentOS  5  the  .split()  causes a stacktrace. Con‐
359776           firmed.split() appears to be unneeded in other OSs.
359777
359778       · ISSUE #26415: (CaesarC) salt.wheel.WheelClient  doesn't  work  follow
359779         the  python  api(AttributeError:  'NoneType'  object has no attribute
359780         'get') (refs: #28087)
359781
359782       · PR #28361:  (rallytime)  Back-port  #28087  to  2015.8  @  2015-10-28
359783         20:44:32 UTC
359784
359785         · PR  #28087:  (DmitryKuzmenko)  Revert  "Update  __init__.py" (refs:
359786           #28361)
359787
359788         · 06b928cfdb Merge pull request #28361 from rallytime/bp-28087
359789
359790         · 41536e55b9 Revert "Update __init__.py"
359791
359792       · PR  #28360:  (multani)  Various  documentation  fixes  @   2015-10-28
359793         20:43:20 UTC
359794
359795         · d9e5fba9b5 Merge pull request #28360 from multani/fix/docs
359796
359797         · ed4a54f839 doc: fix warnings in clouds.linode
359798
359799         · 5a9c4c2d60 doc: simplified states.postgres_tablespace introduction
359800
359801         · cf38ff1384  doc:  fix  rendering  of titles in the /ref/states/all/
359802           index page
359803
359804       · PR #28370:  (rallytime)  Back-port  #28276  to  2015.8  @  2015-10-28
359805         20:37:49 UTC
359806
359807         · PR  #28276: (plastikos) Correct state pkg.updtodate to succeed when
359808           packages are up-to-date (refs: #28370)
359809
359810         · 4157c8331b Merge pull request #28370 from rallytime/bp-28276
359811
359812         · 227ddbcb24 Simplify setting success when there are no pkg updates.
359813
359814         · cd58165138 Correct state pkg.updtodate to succeed when packages are
359815           up-to-date
359816
359817       · ISSUE #27890: (dkiser) pillar recurse list strategy (refs: #27891)
359818
359819       · ISSUE  #25954: (tbaker57) [2015.8.0rc2] pillar merge strategy default
359820         behaviour change (refs: #28353)
359821
359822       · PR  #28353:  (merll)  Consider  each  pillar  match  only  once.    @
359823         2015-10-28 15:05:21 UTC
359824
359825         · PR  #27891:  (dkiser)  introduce  recurse_list  pillar_source_merg‐
359826           ing_strategy (refs: #28353, #28013)
359827
359828         · 3942b4d0e6  Merge  pull   request   #28353   from   Precis/fix-pil‐
359829           lar-sls-matches
359830
359831         · 2f3f2d6f29 Consider each pillar match only once.
359832
359833       · PR  #28334: (anlutro) iptables needs -m comment for --comment to work
359834         @ 2015-10-28 14:24:52 UTC
359835
359836         · 0d8bea6c43 Merge pull request #28334  from  alprs/fix-iptables_com‐
359837           ment
359838
359839         · 170ea7c50d iptables needs -m comment for --comment to work
359840
359841       · ISSUE  #27789:  (eduherraiz)  UnicodeDecodeError: 'ascii' codec can't
359842         decode byte in 2015.8.0 (refs: #28340, #27833)
359843
359844       · PR #28340: (jfindlay) sdecode file and  dir  lists  in  fileclient  @
359845         2015-10-28 14:23:10 UTC
359846
359847         · 7000b6ee8f Merge pull request #28340 from jfindlay/decode_client
359848
359849         · bd9151b5e3 sdecode file and dir lists in fileclient
359850
359851       · PR  #28344:  (ryan-lane)  Fix  iptables state for non-filter tables @
359852         2015-10-28 14:21:54 UTC
359853
359854         · 48448c9a48  Merge   pull   request   #28344   from   lyft/fix-ipta‐
359855           bles-non-filter
359856
359857         · 21ba070b3d Fix iptables state for non-filter tables
359858
359859       · PR  #28343:  (rallytime)  Back-port  #28342  to  2015.8  @ 2015-10-28
359860         13:58:28 UTC
359861
359862         · PR #28342: (gravyboat) Fix up a dup doc entry for the  file  state.
359863           (refs: #28343)
359864
359865         · 72f0c106cf Merge pull request #28343 from rallytime/bp-28342
359866
359867         · 03d15dd090 Fix up a dup doc entry.
359868
359869       · PR  #28330:  (rallytime)  Back-port  #28305  to  2015.8  @ 2015-10-27
359870         17:20:35 UTC
359871
359872         · PR #28305: (rowillia) Fix Cabal states. (refs: #28330)
359873
359874         · 64d5c2362a Merge pull request #28330 from rallytime/bp-28305
359875
359876         · a46dbcb62b Fix Cabal states.
359877
359878       · ISSUE #21216: (syphernl) State rabbitmq_plugin missing  proper  error
359879         handling (refs: #28270)
359880
359881       · PR  #28270:  (rallytime)  Refactor RabbitMQ Plugin State to correctly
359882         use test=true and format errors @ 2015-10-27 17:18:35 UTC
359883
359884         · a44c8d8dab Merge pull request #28270  from  rallytime/refactor_rab‐
359885           bitmq_plugin_state
359886
359887         · 9e40c3a6a6 Fine tuning and fix tests
359888
359889         · d50916ccdd Pylint fix
359890
359891         · 196b18146d   Refactor   RabbitMQ  Plugin  State  to  correctly  use
359892           test=true and format errors
359893
359894       · ISSUE #25363: (syphernl) rabbitmq_{user|vhost}.present  in  test=True
359895         reports unnecessary changes (refs: #28269)
359896
359897       · ISSUE   #24856:   (pruiz)  rabbitmq_user  state  incorrectly  reports
359898         result=True when using test=true (refs: #28269)
359899
359900       · PR #28269: (rallytime) Refactor rabbitmq_user state to use  test=True
359901         correctly (refs: #28782, #28772) @ 2015-10-27 17:17:42 UTC
359902
359903         · 4efd07eba5  Merge  pull request #28269 from rallytime/refactor_rab‐
359904           bitmq_user_state
359905
359906         · aebbcb88ea Pylint fix
359907
359908         · 19b8b868a3 Clean-up/fixes to rabbitmq_user state and  test  adjust‐
359909           ments
359910
359911         · 3e0e8fc8c6 Refactor rabbitmq_user state to use test=True correctly
359912
359913       · ISSUE  #27855: (dverbeek84) boto_vpc is not reading availability_zone
359914         (refs: #28299, #28168)
359915
359916       · PR #28299:  (rallytime)  Add  test  for  availability_zone  check  to
359917         boto_vpc_tests @ 2015-10-27 14:17:11 UTC
359918
359919         · PR  #28168:  (rallytime) Make sure availability zone gets passed in
359920           boto_vpc module when creating subnet (refs: #28299)
359921
359922         · 93a930615e Merge pull request #28299 from rallytime/tests-for-28168
359923
359924         · 65fdb50246 Get the list indice to compart before looking at keys
359925
359926         · 95defb87c5 Add test for availability_zone check to boto_vpc_tests
359927
359928       · ISSUE #28268: (gravyboat) Update nodegroup docs  to  explain  how  to
359929         target via nodegroups (refs: #28306)
359930
359931       · PR  #28306: (sdm24) Updated the Nodegroup docs to include how to tar‐
359932         get nodegroups in SLS Jinja (refs: #28454) @ 2015-10-27 14:07:12 UTC
359933
359934         · 0ab7c0053d  Merge  pull  request  #28306  from   sdm24/update-node‐
359935           group-docs-with-state-targeting
359936
359937         · 02cac9d8c0 Update nodegroups.rst
359938
359939         · b2c3307c2e Update nodegroups.rst
359940
359941         · e79a930f57 updated nodegroups.rst
359942
359943         · f2a6bc94df  Updated  the  Nodegroup  docs  to include how to target
359944           nodegroups in SLS Jinja
359945
359946       · ISSUE #27435: (LukeCarrier) firewalld state: firewalld.prepare  calls
359947         new_service, not add_service (refs: #28308)
359948
359949       · PR #28308: (rallytime) Firewalld state services should use --add-ser‐
359950         vice, not --new-service @ 2015-10-27 14:02:45 UTC
359951
359952         · bba26ffeca Merge pull request #28308 from rallytime/fix-27435
359953
359954         · d37298f973 Don't forget to pass the zone!
359955
359956         · fcafe6f355 Firewalld state services should use  --add-service,  not
359957           --new-service
359958
359959       · ISSUE  #21744:  (rallytime)  [2015.5]  Multi-Master  Minions Block on
359960         Authentication (refs: #28302)
359961
359962       · PR #28302: (DmitryKuzmenko) Always close socket even if there  is  no
359963         stream.  @ 2015-10-27 01:08:41 UTC
359964
359965         · 044737ba6e    Merge    pull    request    #28302    from    DSRCom‐
359966           pany/issues/21744_fix_context_term
359967
359968         · b0fc66fa68 Always close socket even if there is no stream.
359969
359970       · PR  #28282:  (keesbos)  Fix  for  __env__  in  legacy  git_pillar   @
359971         2015-10-26 21:20:25 UTC
359972
359973         · 2f2f51906d   Merge   pull   request  #28282  from  keesbos/git-pil‐
359974           lar-env-fix
359975
359976         · d46e09afc6 Fix for __env__ in legacy git_pillar
359977
359978       · PR #28258: (pass-by-value) Add service module for ssh proxy example @
359979         2015-10-26 14:57:47 UTC
359980
359981         · 6a92bfbd42 Merge pull request #28258 from pass-by-value/ssh_service
359982
359983         · 04bc1c64ad Add versionadded information
359984
359985         · 76d8d859f1 Add service module for ssh proxy example
359986
359987       · PR  #28294: (bechtoldt) correct a bad default value in http utility @
359988         2015-10-26 14:45:27 UTC
359989
359990         · PR #25668: (techhat)  Sanitize  sensitive  fields  in  http.query()
359991           (refs: #28294)
359992
359993         · 25778cf1ba     Merge     pull    request    #28294    from    bech‐
359994           toldt/fix_bad_param_default_val
359995
359996         · 4852c03d08 don't iterate over var that is NoneType
359997
359998       · PR #28185: (justinta) Added single package return for latest_version,
359999         fixed other bug.  @ 2015-10-26 14:09:40 UTC
360000
360001         · 0245820b73 Merge pull request #28185 from jtand/zypper_pkg
360002
360003         · 457ff5d085  Added  back  nfo.get lines after finding the problem in
360004           them
360005
360006         · 5cdb15c9e3 Added single package return  for  latest_version,  fixed
360007           other bug.
360008
360009       · PR #28297: (cachedout) Lint fix proxy junos @ 2015-10-26 13:59:44 UTC
360010
360011         · PR #28116: (jejenone) converted junos proxy minion to new __proxy__
360012           global (refs: #28297)
360013
360014         · 443b486c22    Merge    pull    request    #28297    from    cached‐
360015           out/lint_fix_proxy_junos
360016
360017         · 5194d9a2ef Lint
360018
360019         · 28eff3caf2  converted  junos  proxy  minion to new __proxy__ global
360020           added cli() in junos.py module to execute arbitrary command
360021
360022       · ISSUE #28209: (basepi)  Legacy  git_pillar  configs  cause  duplicate
360023         ext_pillar calls (refs: #28210)
360024
360025       · PR  #28210: (terminalmage) Fix for ext_pillar being compiled twice in
360026         legacy git_pillar code (refs: #28211) @ 2015-10-26 12:36:58 UTC
360027
360028         · c8dd79d683   Merge   pull    request    #28210    from    terminal‐
360029           mage/legacy_git_pillar
360030
360031         · 86f00e71bf Remove non-functional test
360032
360033         · b80da6e23a  Fix  for  ext_pillar  being  compiled  twice  in legacy
360034           git_pillar code
360035
360036       · ISSUE #28203: (edhgoose)  blockdev.formatted  failing  on  2nd+  run,
360037         despite disk already being formatted  (refs: #28265)
360038
360039       · PR  #28265:  (jfindlay)  fix  blockdev  execution and state modules @
360040         2015-10-26 12:27:36 UTC
360041
360042         · 62485e567f Merge pull request #28265 from jfindlay/blockdev
360043
360044         · 0dc72135de update blockdev exec and state module unit tests
360045
360046         · 07253cb5fb move fstype checks to blockdev execution module
360047
360048         · 20ec4a1dc6 move fs create logic from blockdev state to module
360049
360050         · 613671a85c safer examples in blockdev exec module docs
360051
360052         · 359df1bcf7 refactor dump in blockdev exec module
360053
360054         · 88acc9356d check, notify for deps in blockdev exec/state mods
360055
360056       · PR #28266:  (rallytime)  Back-port  #28260  to  2015.8  @  2015-10-26
360057         12:20:56 UTC
360058
360059         · PR #28260: (justinta) Ioflo lint (refs: #28266)
360060
360061         · 556d7d583e Merge pull request #28266 from rallytime/bp-28260
360062
360063         · 03509e60b2 Removed unnecessary blank line
360064
360065         · 2d06c97879 Moved lint disable to end of offending line
360066
360067         · d13fe0cf53 Disabled lint check for ioflo
360068
360069       · PR  #28253:  (rallytime)  Back-port  #28063  to  2015.8  @ 2015-10-23
360070         18:10:56 UTC
360071
360072         · PR #28063: (SmithSamuelM) Fixes broken Salt Raet.  master.flo  file
360073           path broken (refs: #28253)
360074
360075         · acd2214c9d Merge pull request #28253 from rallytime/bp-28063
360076
360077         · db4aa58f7b  Changed  reference to reflect refactor of ioflo package
360078           locations as of ioflo 1.2.3 Deprecated package locations still sup‐
360079           ported in ioflo for now
360080
360081         · 87abf84b54  Changed  reference to reflect refactor of ioflo package
360082           locations as of ioflo 1.2.3 Deprecated package locations still sup‐
360083           ported in ioflo for now
360084
360085         · 19a81dcb77 Fixed exception in loader when no file extension
360086
360087         · 2afbe6803c  Raet Salt broken when config moved to package directory
360088           The path to the master.flo file no longer worked This fixes
360089
360090         · a177bf8f47 fixed unittests missing close of roadstack caused  error
360091           on other tests
360092
360093       · ISSUE  #28227:  (jfindlay)  DigitalOcean  FreeBSD  profile fails with
360094         image: 10.2 (refs: #28231)
360095
360096       · PR #28231: (rallytime) Make sure we're compairing strings  when  get‐
360097         ting images in the DO driver @ 2015-10-23 13:49:37 UTC
360098
360099         · 570e7faa3b Merge pull request #28231 from rallytime/fix-28227
360100
360101         · 0985780f12  Make  sure we're compairing strings when getting images
360102           in the DO driver
360103
360104       · PR #28224:  (techhat)  Optimize  create_repo  for  large  packages  @
360105         2015-10-23 13:40:06 UTC
360106
360107         · 1c55513ce3 Merge pull request #28224 from techhat/spmoptimize
360108
360109         · faeef55d2f Optimize create_repo for large packages
360110
360111       · ISSUE  #27374:  (mool)  boto_route53  state  doesn't  create a record
360112         (refs: #28214, #28213)
360113
360114       · PR #28214: (rallytime) Don't stacktrace if  invalid  credentials  are
360115         passed to boto_route53 state @ 2015-10-23 13:37:30 UTC
360116
360117         · PR #28213: (rallytime) If record returned None, don't continue with
360118           the state. Something went wrong (refs: #28214)
360119
360120         · f269f40905    Merge    pull    request    #28214    from     rally‐
360121           time/fix_boto_route53_stacktrace
360122
360123         · cdeb8caabe Pylint Fix
360124
360125         · 11c475b0ad  Don't  stacktrace  if invalid credentials are passed to
360126           boto_route53 state
360127
360128       · PR #28228:  (rallytime)  Back-port  #27562  to  2015.8  @  2015-10-23
360129         13:34:42 UTC
360130
360131         · PR  #27562:  (techhat)  Add  dependency  resolution  to  SPM (refs:
360132           #28228)
360133
360134         · 0775d159f8 Merge pull request #28228 from rallytime/bp-27562
360135
360136         · 847809541e Updates as per @s0undt3ch
360137
360138         · cf5fefdf5f Add dependency resolution to SPM
360139
360140       · ISSUE #28230: (jfindlay) DigitalOcean  FreeBSD  fails  to  bootstrap:
360141         Please use the freebsd@ user to access this droplet. (refs: #28232)
360142
360143       · PR  #28232: (rallytime) Add documentation to supply the ssh_username:
360144         freebsd config to DO docs @ 2015-10-23 13:31:52 UTC
360145
360146         · af241dc054 Merge pull request #28232 from rallytime/fix-28230
360147
360148         · 8b06ab4335 Add documentation to supply  the  ssh_username:  freebsd
360149           config to DO docs
360150
360151       · PR  #28198:  (jacobhammons)  Added  note regarding missing spm exe on
360152         Debian/Ubuntu @ 2015-10-22 04:40:18 UTC
360153
360154         · 36dc12c62c Merge pull request #28198 from jacobhammons/docs
360155
360156         · cfadda0c0c Added note regarding missing spm  exe  on  Debian/Ubuntu
360157           Minor fixes to spm docs
360158
360159       · PR  #28182:  (erchn)  Some  fixes  for  nova  driver  for Rackspace @
360160         2015-10-21 21:26:18 UTC
360161
360162         · fbad88fb99 Merge pull request #28182 from erchn/fix_nova_rackspace
360163
360164         · 7b54f04ba2 wrap  server_list[_detailed]  in  try/except  block  for
360165           TypeError
360166
360167         · b7f8487615  rackconnectv3  default  to  False, not 'False' get pri‐
360168           vate_ips in rackconnectv2 environment and populate data object  get
360169           public_ips  and put in data object before returning "result" struc‐
360170           ture
360171
360172       · ISSUE #27454: (MrFishFinger)  firewalld returns a  dictionary  rather
360173         than a string in the ret['comment'] (refs: #28181)
360174
360175       · PR #28181: (rallytime) Revamp firewalld state to be more stateful.  @
360176         2015-10-21 21:19:18 UTC
360177
360178         · a1a924f170 Merge pull request #28181 from rallytime/fix-27454
360179
360180         · 3e13880af8 Make sure we catch all potential exceptions
360181
360182         · cb4efa87e8 Make sure state  returns  False  when  execution  module
360183           calls fail
360184
360185         · 232b2825e4 Revamp firewalld state to be more stateful.
360186
360187       · PR #28176: (cro) Add ping function @ 2015-10-21 20:49:54 UTC
360188
360189         · d93ad103c7 Merge pull request #28176 from cro/ssh_no_ping
360190
360191         · 3e05437f15 Add ping function
360192
360193       · PR #28167: (The-Loeki) file.serialize needs to add a final newline to
360194         serialized files @ 2015-10-21 17:12:33 UTC
360195
360196         · 8e08f39381 Merge pull request #28167 from The-Loeki/patch-1
360197
360198         · 46bf6d4fa3 Update file.serialize test for Python serialized
360199
360200         · 66831fd087 file.serialize needs to add a final newline  to  serial‐
360201           ized files
360202
360203       · ISSUE  #27855: (dverbeek84) boto_vpc is not reading availability_zone
360204         (refs: #28299, #28168)
360205
360206       · PR #28168: (rallytime) Make sure availability  zone  gets  passed  in
360207         boto_vpc  module  when  creating  subnet  (refs: #28299) @ 2015-10-21
360208         14:48:03 UTC
360209
360210         · 559a517ad6 Merge pull request #28168 from rallytime/fix-27855
360211
360212         · 50fb77dc50 Make sure availability zone gets passed in boto_vpc mod‐
360213           ule when creating subnet
360214
360215       · ISSUE  #26107:  (thecosmicfrog)  Issue targeting nodegroups - Invalid
360216         compound target: ( L@ ... ) (refs: #28148)
360217
360218       · ISSUE #24660: (Mrten)  nodegroups  not  backwards  compatible  (refs:
360219         #28148)
360220
360221       · PR #28148: (basepi) [2015.8] Only expand nodegroups to lists if there
360222         is a nested nodegroup @ 2015-10-21 13:20:06 UTC
360223
360224         · dcd90363fe  Merge  pull  request   #28148   from   basepi/fix.node‐
360225           group.backwards.compat.24660
360226
360227         · 11d6a2b6ac Add some docs
360228
360229         · 036d767a98  Keep track of recursive nodegroup_comp calls, keep list
360230           format if it's recursing
360231
360232         · 155634a0aa Finish thought
360233
360234         · 528b16756b Only expand nodegroups to lists if  there  is  a  nested
360235           nodegroup
360236
360237       · PR  #28155:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
360238         2015-10-20 23:48:41 UTC
360239
360240         · 053ad408c7  Merge  pull  request  #28155   from   basepi/merge-for‐
360241           ward-2015.8
360242
360243         · c4c889f97b  Merge  remote-tracking  branch  'upstream/2015.5'  into
360244           merge-forward-2015.8
360245
360246         · ab18dcf637 Merge pull request #28140  from  rallytime/bsd-installa‐
360247           tion-doc
360248
360249           · 458a544d83  Add  OpenBSD  installation  documentation  to  2015.5
360250             branch
360251
360252         · fad38eb3c3    Merge    pull    request    #28138    from     rally‐
360253           time/bp-28130-sizes-only
360254
360255           · 6ab31e1886 Pylint
360256
360257           · 37e4ed58a9 Added missing comma
360258
360259           · 667f5e669f  Added a bunch of instance sizes and updated some out‐
360260             dated ones
360261
360262         · ce8f858536 Merge pull request #28097 from jacksontj/2015.5
360263
360264           · 75e04bcbbc For all multi-part messages, check the headers. If the
360265             header is not your minion_id, skip the message
360266
360267         · 9cdb970289 Merge pull request #28117 from rallytime/fix-23655
360268
360269           · dfb908e405  Clean  up  stacktrace when master can't be reached in
360270             lxc cloud driver
360271
360272         · bf7ed0a397 Merge  pull  request  #28110  from  terminalmage/master‐
360273           less-mode
360274
360275           · ed90103124  Add explanation of file_client: local setting master‐
360276             less mode
360277
360278         · a569ef4980 Merge pull request #28109 from rallytime/fix-27940
360279
360280           · 18b2245611 Add created reactor event to lxc cloud driver
360281
360282         · d4604fdb26 Merge pull request #27996 from rallytime/fix-21845
360283
360284           · f8380d751e Provide empty string as default stdout instead of None
360285
360286           · f9406b5828 Don't fail if pip package is already present and  pip1
360287             is installed
360288
360289         · 28b97c514f Merge pull request #28056 from rallytime/bp-28033
360290
360291           · af2c5ab759 Fixed win_useradd.py
360292
360293         · dfc3aaec74 Merge pull request #28059 from rallytime/bp-28040
360294
360295           · 76a0d4937b  Revert  "Allow passing in auth_version, defaulting to
360296             2."
360297
360298           · 63d5675d34 default auth_version = 2
360299
360300           · 8072716888 remove extra spaces
360301
360302           · 9770f56f04 cleanup whitespace, default to None to  be  consistent
360303             with profile
360304
360305           · f4adfe98c0 Allow passing in auth_version, defaulting to 2.
360306
360307           · fab1ad39af Rackspace support for switft module.
360308
360309         · d1fa036b55 Merge pull request #28047 from cachedout/issue_27534
360310
360311           · 6ea37ddbca Context manager
360312
360313           · 4d6f6bb371 Lint
360314
360315           · 59018289dc Restore FTP functionality to file client
360316
360317         · fd2ca2df1b Merge pull request #28032 from twangboy/fix_win_path
360318
360319           · 2bcac93314 Fixed win_path.py
360320
360321         · 88c1770be4 Merge pull request #28037 from rallytime/bp-28003
360322
360323           · 4fcf51fb1e Fix PR #26336
360324
360325         · de727d8bd2 Merge pull request #28031 from jacobhammons/relnotes6
360326
360327           · 05927bb6f0 Updated release notes with additional CVE information
360328
360329         · 16c0272849 Merge pull request #28008 from jfindlay/host_path
360330
360331           · 9f7047dd3c platform independent line endings in hosts mod
360332
360333         · d41018fa8e Merge pull request #28012 from rallytime/fix-28010
360334
360335           · 0d7059e0c2  Clean  up  stack trace when something goes wrong with
360336             minion output
360337
360338         · f728307001 Merge pull request #27995 from jacobhammons/pillar-doc
360339
360340           · 2870af2ba3 added link to grains security  FAQ  to  targeting  and
360341             pillar topics.
360342
360343         · efede904a7 Merge pull request #27986 from jacobhammons/dot6
360344
360345           · bb61c68c11  Changed  current  release  to  5.6  and  added CVE to
360346             release notes
360347
360348         · 831ec680d9  Merge  pull  request  #27913  from  pass-by-value/prox‐
360349           mox_verify_ssl
360350
360351           · 0b721efe37 Set default
360352
360353         · 41cccb3a30  Merge  pull  request  #27876 from terminalmage/git_pil‐
360354           lar-AttributeError-2015.5
360355
360356           · 07794c837a 2015.5 branch: Fix traceback when 2015.8 git  ext_pil‐
360357             lar config schema used
360358
360359       · PR  #28149:  (pass-by-value)  Add  clarification to cloud profile doc
360360         about host @ 2015-10-20 19:46:05 UTC
360361
360362         · 53dd01fc24  Merge  pull  request  #28149  from  pass-by-value/prox‐
360363           mox_profile_doc_change
360364
360365         · bc371c55cd Add clarification to cloud profile doc about host
360366
360367       · PR #28146: (cachedout) Lint dracr.py @ 2015-10-20 17:55:07 UTC
360368
360369         · 7badd634ae Merge pull request #28146 from cachedout/lint_dracr
360370
360371         · 8b057f39e8 Lint dracr.py
360372
360373       · ISSUE  #28118: (basepi) Salt-cloud Linode driver using RAM number for
360374         disk size (refs: #28141)
360375
360376       · PR #28141: (rallytime) Don't use RAM for root disk size in  linode.py
360377         @ 2015-10-20 17:32:29 UTC
360378
360379         · 5f99bd4dc6 Merge pull request #28141 from rallytime/fix-28118
360380
360381         · 59f8e41554 Don't use RAM for root disk size in linode.py
360382
360383       · PR  #28143:  (justinta)  Removed  blank  line  at end of chassis.py @
360384         2015-10-20 16:39:35 UTC
360385
360386         · 7cd0440c33 Merge pull request #28143 from jtand/lint_fix
360387
360388         · 427df95515 removed extraneous file
360389
360390         · 1a58283f23 Removed blank line at end of chassis.py
360391
360392       · PR #28021: (blueyed) Handle includes in include_config recursively  @
360393         2015-10-20 16:19:37 UTC
360394
360395         · 858875e9fd Merge pull request #28021 from blueyed/recursive-include
360396
360397         · 1d80520958 Handle includes in include_config recursively
360398
360399       · ISSUE #27998: (papertigers) pkgin install broken (refs: #28001)
360400
360401       · PR  #28095:  (rallytime)  Back-port  #28001  to  2015.8  @ 2015-10-20
360402         16:18:11 UTC
360403
360404         · PR #28001: (papertigers) #27998 Cleanup pkgin  isatty  mess  (refs:
360405           #28095)
360406
360407         · 4dbaec6b0c Merge pull request #28095 from rallytime/bp-28001
360408
360409         · ddf8a8d2bb Cleanup pkgin isatty mess
360410
360411       · ISSUE #28060: (LoveIsGrief) Default paths for test environment (refs:
360412         #28061)
360413
360414       · PR #28096:  (rallytime)  Back-port  #28061  to  2015.8  @  2015-10-20
360415         16:15:34 UTC
360416
360417         · PR  #28061: (LoveIsGrief) Fix #28060 - Default paths for test envi‐
360418           ronment (refs: #28096)
360419
360420         · 572487073c Merge pull request #28096 from rallytime/bp-28061
360421
360422         · cb8a72d580 Fix #28060
360423
360424       · PR #28139:  (rallytime)  Back-port  #28103  to  2015.8  @  2015-10-20
360425         16:15:05 UTC
360426
360427         · PR  #28103: (ajacoutot) OpenBSD salt package: update list of depen‐
360428           dencies. (refs: #28140, #28139)
360429
360430         · 9ce526260b Merge pull request #28139 from rallytime/bp-28103
360431
360432         · bc9159a126 OpenBSD salt package: update list of dependencies.
360433
360434       · ISSUE #26844: (double-yaya) The function "state.sls"  is  running  as
360435         PID  XXXX and was started at .... with jid XXXX always shows the cur‐
360436         rent jid (refs: #28098, #28097)
360437
360438       · PR #28098: (jacksontj) For all multi-part messages, check  the  head‐
360439         ers. If the header is not … @ 2015-10-20 15:00:08 UTC
360440
360441         · 97dfb00a68 Merge pull request #28098 from jacksontj/2015.8
360442
360443         · 6d26842925  For  all multi-part messages, check the headers. If the
360444           header is not your minion-id or a broadcast, drop the message.
360445
360446       · ISSUE #3436: (madduck) Pillar does not  handle  Unicode  data  (refs:
360447         #28134, #saltstack/salt`#28134`_)
360448
360449       · PR  #28134:  (bernieke)  fix unicode pillar values #3436 @ 2015-10-20
360450         14:51:10 UTC
360451
360452         · b4875e585a Merge pull request #28134 from Awingu/2015.8
360453
360454         · 53285f7781 fix unicode pillar values #3436
360455
360456       · PR #28076: (redmcg) Replace option 'i' with an explicit queryformat @
360457         2015-10-20 13:59:57 UTC
360458
360459         · f990a21029 Merge pull request #28076 from redmcg/2015.8
360460
360461         · 07413ec162 Remove unnecessary padding from rpm.info
360462
360463         · 4987530986 Replace option 'i' with an explicit queryformat
360464
360465       · PR #28119: (jacksontj) Check if the remote exists before casting to a
360466         string.  @ 2015-10-20 12:34:10 UTC
360467
360468         · 3fdb52d1bf Merge pull request #28119 from jacksontj/fetch_issue
360469
360470         · c012dcc2f6 Check if the remote exists before casting to a string.
360471
360472       · ISSUE #28080: (githubcdr) Salt minion locale module missing on  Arch‐
360473         linux (refs: #28105)
360474
360475       · PR  #28105:  (jfindlay)  add  reason  for  not  loading  localemod  @
360476         2015-10-20 12:25:40 UTC
360477
360478         · 69ab1d30e2 Merge pull request #28105 from jfindlay/locale_msg
360479
360480         · 1e75665a9a add reason for not loading localemod
360481
360482       · ISSUE #28074:  (eliasp)  Salt  logfiles  are  created  world-readable
360483         (refs: #28108)
360484
360485       · PR   #28108:   (cachedout)   Set  logfile  permsissions  correctly  @
360486         2015-10-20 12:25:22 UTC
360487
360488         · 8db7e016ec Merge pull request #28108 from cachedout/issue_28074
360489
360490         · b416dcc07b Set logfile permsissions correctly
360491
360492       · PR #27922: (cro) WIP States/Modules for managing Dell FX2 chassis via
360493         salt-proxy @ 2015-10-19 23:29:21 UTC
360494
360495         · 1085eeab2b Merge pull request #27922 from cro/fx2
360496
360497         · 6ccafa2ae5 Lint
360498
360499         · 104c3cbe7f Lint
360500
360501         · fe75594737 Lint
360502
360503         · 479137cef8 Lint
360504
360505         · 3712066fc9 More docs.
360506
360507         · 2a3ebf5688 More Documentation.
360508
360509         · 4ce2f8bb11 Documentation.
360510
360511         · 18663306fb Cleanup, add blade_idrac stub
360512
360513         · 0957beea46 Lint fixes and some changes by @rallytime
360514
360515         · cca310eee0 WIP modules and states for managing Dell FX2 chassis via
360516           salt-proxy
360517
360518       · PR #28104: (pass-by-value) Add documentation for proxy minion  ssh  @
360519         2015-10-19 19:30:20 UTC
360520
360521         · a715803c92       Merge      pull      request      #28104      from
360522           pass-by-value/proxy_ssh_docs
360523
360524         · 7c8f236115 Add documentation for proxy minion ssh
360525
360526       · ISSUE #27130: (githubcdr) salt-run broken in 2015.8? (refs: #28020)
360527
360528       · PR #28020: (DmitryKuzmenko) LazyLoader deepcopy  fix.   @  2015-10-19
360529         13:17:57 UTC
360530
360531         · 07cac0b434    Merge    pull    request    #28020    from    DSRCom‐
360532           pany/issues/27130_loader_deepcopy_fix
360533
360534         · 5353518623 Fix lint errors
360535
360536         · 8c256c94f4 LazyLoader deepcopy fix.
360537
360538       · ISSUE #27932: (eliasp) Can't  include  Pillar  SLS  across  GitPillar
360539         repositories (refs: #27933)
360540
360541       · PR #27933: (eliasp) Provide all git pillar dirs in opts[pillar_roots]
360542         @ 2015-10-19 13:05:54 UTC
360543
360544         · f884df5d78 Merge pull request #27933 from eliasp/fix-27932
360545
360546         · 05782aa78f Provide all git pillar dirs in opts[pillar_roots]
360547
360548       · ISSUE #27890: (dkiser) pillar recurse list strategy (refs: #27891)
360549
360550       · PR #28013:  (rallytime)  Back-port  #27891  to  2015.8  @  2015-10-19
360551         12:57:51 UTC
360552
360553         · PR  #27891:  (dkiser)  introduce  recurse_list  pillar_source_merg‐
360554           ing_strategy (refs: #28353, #28013)
360555
360556         · 1db6406bef Merge pull request #28013 from rallytime/bp-27891
360557
360558         · 9ea33bf0e4 Pylint fixes
360559
360560         · 4af5b5c33f introduce recurse_list pillar_source_merging_strategy
360561
360562       · ISSUE #27938: (mostafahussein) Grains  are  not  rendering  correctly
360563         (refs: #28018)
360564
360565       · PR  #28018:  (rallytime)  Add example to Writing Grains of how grains
360566         can be loaded twice @ 2015-10-19 12:47:10 UTC
360567
360568         · 26b3e01dda Merge pull request #28018 from rallytime/fix-27938
360569
360570         · c23af0d8e2 Clarify loading  vs  rendering  the  final  grains  data
360571           structure
360572
360573         · a4d7fb7e60  Add  example  to  Writing  Grains  of how grains can be
360574           loaded twice
360575
360576       · PR #28084: (cachedout) #28069 with lint @ 2015-10-19 12:18:38 UTC
360577
360578         · PR #28069: (blueyed) dockerng: use error from  modules.dockerng  in
360579           states' __virtual__ (refs: #28084)
360580
360581         · c6e7dd4812 Merge pull request #28084 from cachedout/lint_28069
360582
360583         · 8026212733 Lint
360584
360585         · 7a2c80cf6f  dockerng:  use  error  from modules.dockerng in states'
360586           __virtual__
360587
360588       · PR #28079: (The-Loeki) Fix for trace  dump  on  failing  imports  for
360589         win32com & pythoncom 4 win_task @ 2015-10-19 12:12:11 UTC
360590
360591         · 428e64e24d       Merge      pull      request      #28079      from
360592           The-Loeki/fix-trace-on-windows-tasks
360593
360594         · 869e212e81 Fix for trace dump on failing  imports  for  win32com  &
360595           pythoncom 4 win_task
360596
360597       · PR  #28081:  (The-Loeki)  fix  for glance state trace error on import
360598         failure @ 2015-10-19 12:08:47 UTC
360599
360600         · 2ac8fd793d      Merge      pull      request      #28081       from
360601           The-Loeki/fix-trace-on-keystone-state
360602
360603         · 258e11f754 fix for glance state trace error on import failure
360604
360605       · ISSUE #27794: (The-Loeki) Requests backend for HTTP fetches is broken
360606         after removing streamed response handlers (refs: #28066)
360607
360608       · PR #28066: (jacksontj) Use the generic text attribute, not  .body  of
360609         the handler @ 2015-10-18 16:17:12 UTC
360610
360611         · a2128c8f80 Merge pull request #28066 from jacksontj/issue_27794
360612
360613         · b1bf79821d Use the generic text attribute, not .body of the handler
360614
360615       · ISSUE  #27828:  (cubranic)  Note  the version when 'user' and 'group'
360616         became available in docs for archive.extracted (refs: #28019)
360617
360618       · PR #28019: (rallytime) Clean up version added and deprecated msgs  to
360619         be accurate @ 2015-10-17 17:31:50 UTC
360620
360621         · 9c974c9a41 Merge pull request #28019 from rallytime/fix-27828
360622
360623         · aca864643f  Clean  up version added and deprecated msgs to be accu‐
360624           rate
360625
360626       · PR #28058:  (rallytime)  Back-port  #28041  to  2015.8  @  2015-10-17
360627         17:27:19 UTC
360628
360629         · PR  #28041:  (gtmanfred) use the correct discover_extensions (refs:
360630           #28058)
360631
360632         · 9adcd3b90d Merge pull request #28058 from rallytime/bp-28041
360633
360634         · 04ad8dc521 use the correct discover_extensions
360635
360636       · PR #28055:  (rallytime)  Back-port  #28043  to  2015.8  @  2015-10-17
360637         17:26:37 UTC
360638
360639         · PR  #28043:  (gtmanfred)  the nova driver does not require libcloud
360640           (refs: #28055)
360641
360642         · 6db970c93a Merge pull request #28055 from rallytime/bp-28043
360643
360644         · 744e556be7 the nova driver does not require libcloud
360645
360646       · PR #28046: (pass-by-value) Add pkg install  and  remove  functions  @
360647         2015-10-17 14:56:24 UTC
360648
360649         · d7263d2a8e  Merge pull request #28046 from pass-by-value/proxy_min‐
360650           ion_ssh_example_additions
360651
360652         · 3435d28fc9 Add pkg install and remove functions
360653
360654       · PR #28050: (ryan-lane) Use a better method for checking dynamodb  ta‐
360655         ble existence @ 2015-10-17 14:55:52 UTC
360656
360657         · dd0fdd827e    Merge    pull    request    #28050   from   lyft/bet‐
360658           ter-dynamo-exists-check-2015.8
360659
360660         · 24fff4ea12 Use a better method for checking  dynamodb  table  exis‐
360661           tence
360662
360663       · ISSUE  #28038: (gtmanfred) [Docs] the ubuntu repo documentation needs
360664         to be fixed (refs: #28042)
360665
360666       · PR #28042: (jfindlay) fix repo path in ubuntu installation documenta‐
360667         tion @ 2015-10-16 19:30:52 UTC
360668
360669         · 027092e2fb Merge pull request #28042 from jfindlay/ubuntu_docs
360670
360671         · ae92a8a1dc fix repo path in ubuntu installation documentation
360672
360673       · PR   #28033:   (twangboy)   Fixed  win_useradd.py  (refs:  #28056)  @
360674         2015-10-16 19:19:44 UTC
360675
360676         · a3390cfbe6 Merge pull request #28033 from twangboy/fix_win_useradd
360677
360678         · 2137b5f79a Fixed win_useradd.py
360679
360680       · PR #28027: (cro) Make ssh conn persistent.  @ 2015-10-16 18:50:51 UTC
360681
360682         · 4f81358e9a Merge pull request #28027 from cro/persistent_ssh
360683
360684         · 8b4067b6db Spelling, lint.
360685
360686         · 76a93d5922 Spelling.
360687
360688         · c800f60338 Default multiprocessing to  False  since  anything  that
360689           needs salt.vt will have trouble with our forking model.
360690
360691         · cc0ad81b3d Lint, remove debug.
360692
360693         · e41b677450  Make  SSH connection 'persistent'.  Note that right now
360694           this requires 'multiprocessing: False' in /etc/salt/proxy.
360695
360696       · PR #28029: (jacobhammons) Updated release notes with  additional  CVE
360697         information @ 2015-10-16 16:19:33 UTC
360698
360699         · 4dec2f9307 Merge pull request #28029 from jacobhammons/relnotes8
360700
360701         · 0d1b691549 Updated release notes with additional CVE information
360702
360703       · PR  #28022:  (jacobhammons) Updated Debian and Ubuntu repo paths with
360704         new structure for 2015.8.1 @ 2015-10-16 15:31:36 UTC
360705
360706         · 5286c01f39 Merge pull request #28022 from jacobhammons/install
360707
360708         · e4d7df8695 Updated Debian and Ubuntu repo paths with new  structure
360709           for 2015.8.1
360710
360711       · ISSUE  #27971:  (srkunze)  pip.installed returned Result: None (refs:
360712         #27983)
360713
360714       · PR #27983: (rallytime) Pip state run  result  should  be  False,  not
360715         None, if installation error occurs.  @ 2015-10-16 13:37:42 UTC
360716
360717         · 340229355c Merge pull request #27983 from rallytime/fix-27971
360718
360719         · 9855290b99 Maintain stateful output if something went wrong running
360720           the pip command
360721
360722         · 5bcc89bb8e Pip state run result  should  be  False,  not  None,  if
360723           installation error occurs.
360724
360725       · ISSUE  #20678:  (damon-atkins)  Windows  Installer  (Separation/Down‐
360726         loader/Contains VC++) (refs: #27991)
360727
360728       · PR #27991: (twangboy) Fix for #20678 @ 2015-10-16 13:33:48 UTC
360729
360730         · 97d473af0d Merge pull request #27991 from twangboy/fix_20678
360731
360732         · 5254ba18b3 Fix for #20678
360733
360734       · ISSUE #21845: (kitsemets) pip.install: fails in v2015.2.0rc1 when the
360735         package is already installed (pip v1.0) (refs: #27996)
360736
360737       · PR  #27997:  (rallytime) Remove note about pip bug with pip v1 vs pip
360738         v2 return codes @ 2015-10-16 13:23:58 UTC
360739
360740         · PR #27996: (rallytime) Don't fail if pip package is already present
360741           and pip1 is installed (refs: #27997)
360742
360743         · bd7b39bc18     Merge    pull    request    #27997    from    rally‐
360744           time/remove-pip-bug-note
360745
360746         · f08d488313 Remove note about pip bug with pip v1 vs pip  v2  return
360747           codes
360748
360749       · PR #27994: (justinta) Fix schedule_test failure @ 2015-10-16 13:20:56
360750         UTC
360751
360752         · 3256e38932 Merge pull request #27994 from jtand/schedule_test-fix
360753
360754         · cd67843bd0 Fix schedule_test failure
360755
360756       · ISSUE #27949: (itsamenathan) Error enabling or disabling a beacon  on
360757         a minion  (refs: #27992)
360758
360759       · PR #27992: (cachedout) Make load beacon config into list @ 2015-10-16
360760         12:43:53 UTC
360761
360762         · 4a7a25eef7 Merge pull request #27992 from cachedout/issue_27949
360763
360764         · 8944e1395a Make load beacon config into list
360765
360766       · ISSUE #26336: (jfindlay) windows user.present broken (refs: #28003)
360767
360768       · PR #28003: (twangboy) Fix #26336 (refs: #28037) @ 2015-10-16 12:43:07
360769         UTC
360770
360771         · bae81d3a8d Merge pull request #28003 from twangboy/fix_26336
360772
360773         · 6c94146d86 Fix PR #26336
360774
360775       · PR #27984: (rallytime) Versionadded for clean_file option for pkgrepo
360776         @ 2015-10-15 18:57:54 UTC
360777
360778         · PR #19561: (favadi) add pkgrepo.managed  clean_file  option  (refs:
360779           #27984)
360780
360781         · e15eeee2d3   Merge   pull   request   #27984   from  rallytime/ver‐
360782           sion-clean-file
360783
360784         · b094c8843e Versionadded for clean_file option for pkgrepo
360785
360786       · PR #27989: (ryan-lane) Do not try to  remove  the  main  route  table
360787         association @ 2015-10-15 18:57:42 UTC
360788
360789         · 6efa71a482       Merge      pull      request      #27989      from
360790           lyft/boto_vpc-main-route-association2-2015.8
360791
360792         · 296931d29f Do not try to remove the main route table association
360793
360794       · PR #27982: (pass-by-value) Add example  for  salt-proxy  over  SSH  @
360795         2015-10-15 17:27:57 UTC
360796
360797         · 7169fad02d       Merge      pull      request      #27982      from
360798           pass-by-value/proxy_ssh_sample
360799
360800         · b85f6ab339 Add example for salt-proxy over SSH
360801
360802       · PR #27985: (jacobhammons) Changed current release to  8.1  and  added
360803         CVEs to release notes @ 2015-10-15 17:27:05 UTC
360804
360805         · d0be1ab98e Merge pull request #27985 from jacobhammons/dot1
360806
360807         · 236992b2be Changed current release to 8.1 and added CVEs to release
360808           notes
360809
360810       · ISSUE #27750: (justyns) Salt-master too sensitive  to  whitespace  in
360811         public keys (again) (refs: #27979)
360812
360813       · ISSUE  #21910:  (justyns)  Salt-master  too whitespace-sensitive when
360814         dealing with minion pub keys (refs: #22115)
360815
360816       · PR  #27979:  (cachedout)  Fix  regression  with  key   whitespace   @
360817         2015-10-15 15:26:08 UTC
360818
360819         · PR  #22115: (douglas-vaz) Strip whitespace characters using strip()
360820           for pub key check (refs: #27979)
360821
360822         · 7e4058605d Merge pull request #27979 from cachedout/issue_27750
360823
360824         · 12c6bf4358 Fix regression with key whitespace
360825
360826       · ISSUE #27712: (eduherraiz) saltutil.sync_all can't sync with the min‐
360827         ion (refs: #27977)
360828
360829       · PR  #27977:  (cachedout)  Decode unicode names in fileclient/server @
360830         2015-10-15 15:17:01 UTC
360831
360832         · 6f8925ee84 Merge pull request #27977 from cachedout/issuse_27712
360833
360834         · 5173ef43c8 Decode unicode names in fileclient/server
360835
360836       · PR #27981: (justinta) Fixed trailing  whitespace  lint  @  2015-10-15
360837         15:10:15 UTC
360838
360839         · fc1375fc39 Merge pull request #27981 from jtand/cloudstack-lint
360840
360841         · 5dfad190c2 Fixed trailing whitespace lint
360842
360843       · PR  #27969:  (jeffreyctang)  fix parse of { on next line @ 2015-10-15
360844         15:04:33 UTC
360845
360846         · 1ae302b202  Merge  pull  request  #27969  from  jeffreyctang/logro‐
360847           tate_parse
360848
360849         · 2c9b2bc367 lint fixes
360850
360851         · 8c6197d42e fix parse of { on next line
360852
360853       · PR #27978: (terminalmage) Add note about dockerng.inspect_image usage
360854         @ 2015-10-15 14:54:10 UTC
360855
360856         · a4ba982b1d  Merge  pull  request  #27978  from   terminalmage/dock‐
360857           erng-inspect_image-docstring
360858
360859         · 595f4a6939 Add note about dockerng.inspect_image usage
360860
360861       · PR #27955: (pass-by-value) Bp 27868 @ 2015-10-15 12:43:37 UTC
360862
360863         · PR #27868: (pass-by-value) Add SSHConnection object
360864
360865         · bd9d1ed8b5 Merge pull request #27955 from pass-by-value/bp-27868
360866
360867         · c02ec8b943 Fix pylint errors
360868
360869         · 6553d135d0 Add SSHConnection object
360870
360871       · PR #27953: (The-Loeki) Fix CloudStack cloud for new 'driver' syntax @
360872         2015-10-15 12:38:58 UTC
360873
360874         · c50802a80f Merge pull request #27953 from The-Loeki/patch-1
360875
360876         · f0d5c9f375 Pop deprecated 'provider' into new 'driver' key
360877
360878         · 4e6b09edd1 Fix CloudStack cloud for new 'driver' syntax
360879
360880       · PR #27965: (ryan-lane) Fail in  boto_asg.present  if  alarms  fail  @
360881         2015-10-15 12:32:53 UTC
360882
360883         · 7006c37627 Merge pull request #27965 from lyft/HOTFIX-boto-asg-fix
360884
360885         · b8f4079c33 Fail in boto_asg.present if alarms fail
360886
360887       · PR  #27958:  (twangboy)  Added  new  functionality  to  win_task.py @
360888         2015-10-15 12:30:31 UTC
360889
360890         · 6624ec1f48 Merge pull request #27958 from twangboy/update_win_task
360891
360892         · 6ecbdba246 Added run_wait function
360893
360894         · 5731bdcadb Clarified an error
360895
360896         · 23b9c1c199 Added new functionality
360897
360898       · ISSUE #27956: (The-Loeki) Salt-cloud CLI 2015.8 borks out with global
360899         name '__opts__' is not defined   (refs: #27959)
360900
360901       · PR  #27959:  (techhat)  Change  __opts__  to  self.opts  @ 2015-10-14
360902         22:29:13 UTC
360903
360904         · 1efa87a964 Merge pull request #27959 from techhat/issue27956
360905
360906         · bc01c48122 Change __opts__ to self.opts
360907
360908       · PR #27943:  (rallytime)  Back-port  #27910  to  2015.8  @  2015-10-14
360909         20:27:20 UTC
360910
360911         · PR  #27910:  (twellspring)  htpasswd state add comment about depen‐
360912           dency on apache2-utils (refs: #27943)
360913
360914         · 877e217388 Merge pull request #27943 from rallytime/bp-27910
360915
360916         · 33b3d8f5b3 Clarify that apache2-utils is for Debian-based distros
360917
360918         · 8ca0bc823c Add dependency on apache2-utils
360919
360920       · PR #27944:  (rallytime)  Back-port  #27909  to  2015.8  @  2015-10-14
360921         20:26:52 UTC
360922
360923         · PR  #27909:  (twellspring) htpasswd module add comment about depen‐
360924           dency on apache2-utils (refs: #27944)
360925
360926         · 5f6edc8ac2 Merge pull request #27944 from rallytime/bp-27909
360927
360928         · a3401c11b1 Clarify that apache2-utils is for Debian-based distros
360929
360930         · 08b7bdeb97 Add dependency on apache2-utils
360931
360932       · PR #27946: (justinta) Changed grain to look at osmajorrelease instead
360933         of osrelease @ 2015-10-14 19:54:08 UTC
360934
360935         · f29ca5f87b Merge pull request #27946 from jtand/pkgrepo-fix
360936
360937         · d88ac2589f Changed grain to look at osmajorrelease instead of osre‐
360938           lease
360939
360940       · ISSUE #27815: (tbaker57) Documentation  regarding  associate_eip  for
360941         EC2 profiles (refs: #27914)
360942
360943       · PR  #27914:  (rallytime) Use eipalloc instead of eni in EC2 interface
360944         properties example @ 2015-10-14 14:37:52 UTC
360945
360946         · bb900d428b Merge pull request #27914 from rallytime/fix-27815
360947
360948         · 13a9bc9053 Use eipalloc instead of eni in EC2 interface  properties
360949           example
360950
360951       · PR  #27926:  (rallytime)  Back-port  #27905  to  2015.8  @ 2015-10-14
360952         14:35:37 UTC
360953
360954         · PR #27905: (itsamenathan) Small documentation error for beacon dis‐
360955           able (refs: #27926)
360956
360957         · 679e603905 Merge pull request #27926 from rallytime/bp-27905
360958
360959         · 30e6b055ec Small documentation error fixed
360960
360961       · ISSUE  #27911:  (ryan-lane)  rules_egress in boto_secgroup should not
360962         manage egress rules, if set to None (refs: #27927)
360963
360964       · PR #27927: (ryan-lane) Do not manage ingress or egress rules  if  set
360965         to None @ 2015-10-14 14:03:17 UTC
360966
360967         · 3b4d86467b   Merge   pull   request   #27927   from  lyft/boto_sec‐
360968           group-fixes-2015.8
360969
360970         · 0fedcc9a0b Update docs
360971
360972         · 9cc65bba76 Do not manage ingress or egress rules if set to None
360973
360974       · PR #27928:  (rallytime)  Back-port  #27908  to  2015.8  @  2015-10-14
360975         14:00:50 UTC
360976
360977         · PR  #27908:  (lathama)  Documentation  note  kwargs for mdadm state
360978           already mentioned in module (refs: #27928)
360979
360980         · b0f9db409d Merge pull request #27928 from rallytime/bp-27908
360981
360982         · 7febb06223 Sneaky white space
360983
360984         · 31d54bbe63 Note kwags for mdadm in state
360985
360986       · ISSUE #27661: (alf)  The  dockerng  module  uses  deprecated  API  in
360987         docker-py (refs: #27676)
360988
360989       · PR  #27676:  (ticosax)  [dockerng] WIP No more runtime args passed to
360990         docker.start() @ 2015-10-14 13:38:41 UTC
360991
360992         · 2d0b16559e      Merge      pull      request      #27676       from
360993           ticosax/no-more-arg-to-docker-start
360994
360995         · a1d0ba392f fixup! Do not pass any argument to docker.start
360996
360997         · 8cddbb15c4  prevent  potential  error while reporting mismatch ver‐
360998           sions to user.
360999
361000         · 65c8762e1f Do not pass any argument to docker.start
361001
361002         · d8cca2a009 docker.version_info is now provided.
361003
361004       · PR #27885: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
361005         2015-10-13 22:44:20 UTC
361006
361007         · 722327ee5f   Merge   pull  request  #27885  from  basepi/merge-for‐
361008           ward-2015.8
361009
361010         · 5ecd5615f2 Remove failing heavily-mocked test
361011
361012         · 3b5e16db67  Merge  remote-tracking  branch  'upstream/2015.5'  into
361013           merge-forward-2015.8
361014
361015           · c9c3b7760e Merge pull request #27726 from jfindlay/hashhosts
361016
361017             · ebce47de7c add docs to ssh.recv_known_host exec module fcn
361018
361019             · b6ee16b1e5 deprecate hash_hostname in favor of hash_known_hosts
361020
361021           · 18e31584b0 Merge pull request #27776 from jfindlay/local_msg
361022
361023             · 03afa3cffa return message when local jobs_cache not found
361024
361025           · 86cc7b5537 Merge pull request #27766 from jfindlay/debmail
361026
361027             · ee78da2c27 better check for debian userdel error
361028
361029           · c224386c9a Merge pull request #27758 from iggy/patch-1
361030
361031             · 0994fb6a8c Remove redundant text from syslog returner
361032
361033           · 34a005041f Merge pull request #27841 from terminalmage/issue27832
361034
361035             · 8e09fbd6a3 Detect Manjaro Linux as Arch derivative
361036
361037           · 3944a498ad Merge pull request #27852 from rallytime/bp-27806
361038
361039             · a84bf18bc4 Empty string is falsy
361040
361041           · 7508a1c474 Merge pull request #27838 from basepi/fix.runner.high‐
361042             state.outputter.27831
361043
361044             · 8ae9b66fd9 Don't pop 'outputter', we expect it further down
361045
361046           · d178315f93 Merge pull  request  #27791  from  eguven/2015.5-post‐
361047             gres-user-groups-backport
361048
361049             · 2caf1d21d6 fix test
361050
361051             · bc90c5bffe improve change reporting for postgres_user groups
361052
361053             · 8712bce91a backport postgres_user groups
361054
361055       · ISSUE  #26908:  (twangboy)  Fix service.restart salt-minion for other
361056         locales (refs: #27882)
361057
361058       · ISSUE #26906: (mblixter) Bug fix #22020 causes a new bug due  to  the
361059         expected  date  format  for  the  /SD parameter in schtask.exe (refs:
361060         #27882)
361061
361062       · PR  #27882:  (twangboy)  Created  win_task.py  module  @   2015-10-13
361063         16:54:13 UTC
361064
361065         · 36f05fb526 Merge pull request #27882 from twangboy/win_task_module
361066
361067         · 56c3f3ebb2 Fixed an egregious error with an import
361068
361069         · 07939ea29c More lint
361070
361071         · 14e060ed9c Fixed some tests
361072
361073         · 1e1bd29426 Fixed some lint
361074
361075         · 082277a727 Win_service.py to use the new task module
361076
361077         · 2212b52620 Created win_task.py module
361078
361079       · ISSUE  #27738:  (fphhotchips)  Git  Pillar locks not managed by file‐
361080         server runner (refs: #27802)
361081
361082       · PR #27802: (terminalmage) Correct warning logging when update lock is
361083         present  for  git_pillar/winrepo,  add  runner  function for clearing
361084         git_pillar/winrepo locks @ 2015-10-13 15:09:11 UTC
361085
361086         · 577191696d Merge pull request #27802 from terminalmage/issue27738
361087
361088         · 1dbc3b5489 Fix comment in docstring that trailed off mid-sentence
361089
361090         · 94b5fc572f Process both old and ng winrepo  configs  when  clearing
361091           git locks
361092
361093         · 7f4366d42e Add CLI example
361094
361095         · 3952c66888 Change log message to reflect new runner function
361096
361097         · c00ef718bf Add cache.clear_git_lock runner function
361098
361099         · d7ca297f7b Add salt.fileserver.clear_lock()
361100
361101         · 947ed5f739 Clarify docstring
361102
361103       · ISSUE  #26632:  (ryanwalder) postgres_user crashes when trying to add
361104         groups formed in a list (refs: #27886)
361105
361106       · PR #27886: (rallytime) Handle group lists as well as  comma-separated
361107         group strings.  @ 2015-10-13 15:00:10 UTC
361108
361109         · d655bb3616 Merge pull request #27886 from rallytime/fix-26632
361110
361111         · d235abf907  Handle  group  lists  as  well as comma-separated group
361112           strings.
361113
361114       · ISSUE #26313: (anlutro) Timezone module error when timedatectl  fails
361115         to query server (refs: #27746)
361116
361117       · PR  #27746:  (anlutro)  timezone  module: handle timedatectl errors @
361118         2015-10-13 14:55:27 UTC
361119
361120         · a158cd50e6  Merge  pull  request  #27746  from  alprs/fix-timedate‐
361121           ctl_failure
361122
361123         · f616b550b2 lint - use indexed curly brace formatting
361124
361125         · bc0f167850 update timezone mod unit tests for errors
361126
361127         · ef26f067b2 timezone module: handle timedatectl errors
361128
361129       · ISSUE  #27710:  (anlutro)  salt-ssh and system.reboot/shutdown (refs:
361130         #27816)
361131
361132       · PR #27816: (anlutro) Make system.reboot use shutdown -r  when  avail‐
361133         able @ 2015-10-13 14:52:06 UTC
361134
361135         · 9dc19caa79 Merge pull request #27816 from alprs/fix-reboot_delay
361136
361137         · 04ef51e524 make system.reboot use shutdown -r when available
361138
361139       · PR #27874: (rallytime) Add mention of Periodic Table naming scheme to
361140         deprecation docs @ 2015-10-13 14:51:45 UTC
361141
361142         · dd92b8a2e3  Merge  pull  request  #27874  from   rallytime/depreca‐
361143           tion-docs
361144
361145         · 8c056ba501  Add mention of Periodic Table naming scheme to depreca‐
361146           tion docs
361147
361148       · PR #27883: (terminalmage) Work around --is-ancestor not being present
361149         in git-merge-base before git 1.8.0 @ 2015-10-13 14:51:27 UTC
361150
361151         · 7f96ebd69e    Merge    pull    request    #27883   from   terminal‐
361152           mage/git-merge_base-is_ancestor
361153
361154         · 45c666e8dd  Work  around  --is-ancestor  not   being   present   in
361155           git-merge-base before git 1.8.0
361156
361157         · 38d715ec0a Remove redundant SaltInvocationError raises
361158
361159       · ISSUE  #24111:  (yermulnik)  cli  option '--summary' got broken after
361160         upgrade to 2015.5.1 (refs: #24732)
361161
361162       · PR #27877:  (rallytime)  Back-port  #27774  to  2015.8  @  2015-10-13
361163         14:50:45 UTC
361164
361165         · PR  #27774:  (plastikos) Summary is not correctly inspecting return
361166           data to identify not responding|connected minions (refs: #27877)
361167
361168         · PR  #27099:  (plastikos)   Fix   access   to   ret   parameter   of
361169           _print_returns_summary()   (reverts   54b33dd35948  #24732)  (refs:
361170           #27774)
361171
361172         · PR #24732: (msteed) Fix stacktrace when --summary  is  used  (refs:
361173           #27099)
361174
361175         · 4fb20d9b4f Merge pull request #27877 from rallytime/bp-27774
361176
361177         · d940d87306 Summary is not correctly inspecting return data to iden‐
361178           tify not responding|connected minions.
361179
361180       · ISSUE #26284: (storner) apache_module.enable fails on SUSE  (SLES  11
361181         SP3) (refs: #27878)
361182
361183       · PR #27878: (rallytime) Use apache2ctl binary on SUSE in apache module
361184         @ 2015-10-13 14:45:56 UTC
361185
361186         · 97da0a87e3 Merge pull request #27878 from rallytime/fix-26284
361187
361188         · 87f0d987a3 Use apache2ctl binary on SUSE in apache module
361189
361190       · PR #27879:  (cro)  Add  docs  for  2015.8.2+  changes  to  proxies  @
361191         2015-10-13 14:45:30 UTC
361192
361193         · 067968c0e4 Merge pull request #27879 from cro/proxydoc
361194
361195         · 5b33df9d19 Add docs for 2015.8.2+ changes
361196
361197       · PR  #27731:  (cro)  Add  __proxy__  to  replace opts['proxymodule'] @
361198         2015-10-12 20:41:22 UTC
361199
361200         · 922e2018ef Merge pull request #27731 from cro/dunder_proxy
361201
361202         · ba3e423b87 Missing object  item  throws  an  AttributeError  not  a
361203           NameError.
361204
361205         · 4cf2b56d5f Lint.
361206
361207         · dc07245df2  @rallytime  is awesome.  Moved proxy=None to end of def
361208           minion_mods
361209
361210         · 3152d8ee3f Minor loader fix
361211
361212         · b15083d719 Flip sense of test for grains load  at  end  of  regular
361213           minion startup
361214
361215         · 37c145bcd5  More places where salt.state.State needs a proxy param,
361216           sysmod had wrong __proxyenabled__, core grains  were  checking  for
361217           proxy the wrong way.
361218
361219         · ed23f36279 One more check for presence of __proxy__
361220
361221         · 62d9f5092e what was I thinking?
361222
361223         · ccf366e1a5 Lint
361224
361225         · 8aef6e8aa9 Fix comment
361226
361227         · 48f9755103 Oops, forgot temp var.
361228
361229         · f0360ca00e  More  cleanup, found another spot where proxy needed to
361230           be passed to a load_modules.
361231
361232         · 81a4abfe5a __proxy__ is getting nuked somewhere
361233
361234         · f9461ff298 Add config option so old-style  proxymodules  will  keep
361235           loading
361236
361237         · 3d6ed5b7ff Remove debug statement.
361238
361239         · b5a19a9740  Enable syncing proxymodules from the master.  Proxymod‐
361240           ules can go in /srv/salt/_proxy.
361241
361242         · f878011543 Lint, and some parameter fixes to  add  proxy=  to  some
361243           overridden load_modules fns.
361244
361245         · 22f035d8eb Remove debug statement
361246
361247         · 4432499b45 More progress toward __proxy__
361248
361249         · 1a229c17b2 Further work on __proxy__
361250
361251         · 85fd6a41c7 One more check for presence of __proxy__
361252
361253         · 15e1d3e3df Forgot absolute_import.
361254
361255         · c5d9d54f19 Fix py3 lint
361256
361257         · dd50c33543  This  module  was  accidentally overwriting core grains
361258           during tests.
361259
361260         · 525256fa68 Some calls to highstate won't have __proxy__ in scope
361261
361262         · a615e5a876 what was I thinking?
361263
361264         · fae3f3ca83 Lint
361265
361266         · b049377cbe Remove rest_sample_test, it wasn't testing anything
361267
361268         · 42188480d4 Fix comment
361269
361270         · 4112c583e4 Oops, forgot temp var.
361271
361272         · e9b281041c More cleanup, found another spot where proxy  needed  to
361273           be passed to a load_modules.
361274
361275         · 64f967d731 __proxy__ is getting nuked somewhere
361276
361277         · bdffb9f57b  Add  config  option so old-style proxymodules will keep
361278           loading
361279
361280         · b79b6a39dd Remove debug statement.
361281
361282         · 02fc2d9323 Enable syncing proxymodules from the master.   Proxymod‐
361283           ules can go in /srv/salt/_proxy.
361284
361285         · 72032650b8 Add __proxy__ to the list of builtins.
361286
361287         · db4c034596  Lint,  and  some  parameter fixes to add proxy= to some
361288           overridden load_modules fns.
361289
361290         · 1032ad28fc Remove debug statement
361291
361292         · c41e49d8e5 Make sure that the __proxy__ gets  passed  all  the  way
361293           into the state system.
361294
361295         · 4a20d48b35 More progress toward __proxy__
361296
361297         · d337f4329e Further work on __proxy__
361298
361299       · ISSUE  #26904:  (anlutro)  pip install --upgrade with virtualenv.man‐
361300         aged? (refs: #27745)
361301
361302       · PR #27745: (anlutro) Add pip_upgrade arg to virtualenv.managed  state
361303         @ 2015-10-12 16:11:02 UTC
361304
361305         · 644f003fb2   Merge   pull   request   #27745   from  alprs/fix-vir‐
361306           tualenv_pip_upgrade
361307
361308         · 4bd219f8d4 add pip_upgrade arg to virtualenv.managed  state,  clean
361309           up docstring
361310
361311       · PR   #27809:   (ticosax)  [dockerng]  Remove  dockerng.ps  caching  @
361312         2015-10-12 16:07:48 UTC
361313
361314         · 698f477336 Merge  pull  request  #27809  from  ticosax/remove-dock‐
361315           erng.ps-caching
361316
361317         · 0eb1145856  Remove  caching  to  prevent  returning stale data from
361318           dockerng.ps
361319
361320       · PR  #27859:  (ticosax)  [dockerng]  Clarify  doc  port   bindings   @
361321         2015-10-12 16:06:27 UTC
361322
361323         · e96d06d71a   Merge   pull   request   #27859   from   ticosax/clar‐
361324           ify-doc-port-bindings
361325
361326         · 75f7a3ec55 Must be a string
361327
361328       · ISSUE  #8646:  (micahhausler)  Make  the  clean  parameter   in   the
361329         file.directory state respect foreign require_in (refs: #27748)
361330
361331       · PR #27748: (multani) Fix #8646 @ 2015-10-12 15:55:57 UTC
361332
361333         · ba2a39d4b7 Merge pull request #27748 from multani/fix-8646
361334
361335         · 6d95cbc998 Fix lint errors
361336
361337         · 4ff9f4be2a  Fix  file.directory with clean=true and require_in with
361338           states ID
361339
361340         · 0d391275de Test cases to demonstrate bug #8646
361341
361342       · ISSUE #27721: (ldobson) boto_cloudwatch_alarm.present returns diff on
361343         no change (refs: #27722)
361344
361345       · PR  #27850:  (rallytime)  Back-port  #27722  to  2015.8  @ 2015-10-12
361346         15:31:58 UTC
361347
361348         · PR #27722:  (ldobson)  Sorted  compare  for  alarm  actions  (refs:
361349           #27850)
361350
361351         · ce1493e06b Merge pull request #27850 from rallytime/bp-27722
361352
361353         · 33936605a0 Sorted compare for alarm actions
361354
361355       · PR  #27851:  (rallytime)  Back-port  #27771  to  2015.8  @ 2015-10-12
361356         15:31:06 UTC
361357
361358         · PR #27771: (srkunze) [VIRTUALENV_MOD] added docs strings to explain
361359           parameters (refs: #27851)
361360
361361         · c95437a710 Merge pull request #27851 from rallytime/bp-27771
361362
361363         · 144a743503 added docs strings to explain parameters
361364
361365       · ISSUE  #27789:  (eduherraiz)  UnicodeDecodeError: 'ascii' codec can't
361366         decode byte in 2015.8.0 (refs: #28340, #27833)
361367
361368       · PR #27833: (jfindlay) decode path before string ops in  fileclient  @
361369         2015-10-12 15:26:39 UTC
361370
361371         · a41b59bf6e Merge pull request #27833 from jfindlay/path_decode
361372
361373         · 66c74e591e decode path before string ops in fileclient
361374
361375       · ISSUE  #27804: (chrismcmacken) cmd.run/cmd.run_all documentation con‐
361376         tradictory for python_shell argument (refs: #27837)
361377
361378       · PR #27837: (jfindlay) reverse truth in python_shell  documentation  @
361379         2015-10-12 15:25:13 UTC
361380
361381         · e264db7702 Merge pull request #27837 from jfindlay/true_shell
361382
361383         · 1c9708a457 reverse truth in python_shell documentation
361384
361385       · PR  #27860: (flavio) Fix OS related grains on openSUSE and SUSE Linux
361386         Enterprise @ 2015-10-12 15:22:59 UTC
361387
361388         · faec838744      Merge      pull      request      #27860       from
361389           flavio/fix-os-grains-on-suse-and-opensuse
361390
361391         · fc8d296d72  Fix OS related grains on openSUSE and SUSE Linux Enter‐
361392           prise
361393
361394       · PR #27768: (rallytime) Clean up bootstrap  function  to  be  slightly
361395         cleaner @ 2015-10-12 15:06:54 UTC
361396
361397         · 4ac5344c31  Merge  pull request #27768 from rallytime/cleanup_boot‐
361398           strap
361399
361400         · 9df6e106c3 Clean up bootstrap function to be slightly cleaner
361401
361402       · PR #27797: (isbm) Zypper module clusterfix @ 2015-10-12 15:06:02 UTC
361403
361404         · e1bd91e392 Merge pull request #27797 from isbm/isbm-zypper-fixes
361405
361406         · 36281f6b06 Bugfix: crash if no package specified on adding a lock
361407
361408         · 29806a1af9 Bugfix: crash if no package specified on removing lock
361409
361410         · 453a18ea15 Return an actual amount of removed locks.
361411
361412         · eaa6af9898 Bugfix: sometimes error goes to the  STDOUT  instead  of
361413           STDERR in the RPM
361414
361415         · 350340dafa Bugfix: use boolean type instead of string "Yes" or "No"
361416           (NOTE: this was forgotten)
361417
361418         · decb989eb4 Bugfix and refactor due to the crash on unknown  package
361419           and incorrect return value
361420
361421         · a6c285bd12 Initialization fix
361422
361423         · 510dedd29f   Bugfix:  newer  Zypper  includes  also  a  version  of
361424           installed package
361425
361426         · f9bef516de Bugfix: broken  "upgrade_available"  and  should  always
361427           return dict.
361428
361429       · ISSUE  #27821: (leodus) Deploy VM on Proxmox requires 'size' configu‐
361430         ration setting? Not according the docs! (refs: #27849)
361431
361432       · PR #27849: (rallytime) Don't require a  size  parameter  for  proxmox
361433         profiles @ 2015-10-11 01:33:28 UTC
361434
361435         · 286b08a0f5 Merge pull request #27849 from rallytime/fix-27821
361436
361437         · 1bf17c7d48 Don't require a size parameter for proxmox profiles
361438
361439       · PR   #27827:  (techhat)  Add  additional  error  checking  to  SPM  @
361440         2015-10-09 18:23:09 UTC
361441
361442         · 4a69db27cd Merge pull request #27827 from techhat/spmfixes
361443
361444         · ffc8df223b Add additional error checking to SPM
361445
361446       · ISSUE #27825: (martinhoefling) Salt-api is not adding cors headers if
361447         auth fails (refs: #27826)
361448
361449       · PR #27826: (martinhoefling) Fixes #27825 @ 2015-10-09 16:08:05 UTC
361450
361451         · 9bc19ba7d2 Merge pull request #27826 from martinhoefling/fix-27825
361452
361453         · 401e7de33d Fixes #27825
361454
361455       · PR #27824: (techhat) Update Azure errors @ 2015-10-09 15:25:14 UTC
361456
361457         · 1e2dede122 Merge pull request #27824 from techhat/azureerrors
361458
361459         · 5b23ac7099 Update Azure errors
361460
361461       · PR  #27795: (eguven) better change reporting for postgres_user groups
361462         @ 2015-10-08 23:56:53 UTC
361463
361464         · ec35666ff2  Merge  pull  request  #27795  from  eguven/2015.8-post‐
361465           gres_user-group-change
361466
361467         · ffffede412 better change reporting for postgres_user groups
361468
361469       · ISSUE  #27703:  (ryan-lane) git.latest seems to ignore the user argu‐
361470         ment in 2015.8 (refs: #27799)
361471
361472       · PR #27799: (terminalmage) Fix usage of identity file in git.latest  @
361473         2015-10-08 23:36:19 UTC
361474
361475         · 5420006209 Merge pull request #27799 from terminalmage/issue27703
361476
361477         · 75d2b07b0c Pass user in calls to git.rev_parse
361478
361479         · 786786a245 Fix wrong argument name for _git_run()
361480
361481       · PR #27717: (pass-by-value) Proxy beacon example @ 2015-10-08 22:58:49
361482         UTC
361483
361484         · 0533a2b1dd Merge pull request #27717 from  pass-by-value/proxy_bea‐
361485           con_example
361486
361487         · cac3da1ffa Fix pylint error
361488
361489         · 7fef5ea08c Make a call to beacon end point
361490
361491         · 497f965c33 Comment
361492
361493         · 8ad7082913 Add example beacon that works with salt-proxy
361494
361495       · PR  #27793:  (anlutro) update code that changes log level of salt-ssh
361496         shim command @ 2015-10-08 19:20:12 UTC
361497
361498         · dd9dba8f59      Merge      pull      request      #27793       from
361499           alprs/fix-salt_ssh_b64_log
361500
361501         · 2597d13fc8 update code that changes log level of salt-ssh shim com‐
361502           mand
361503
361504       · ISSUE #27714: (The-Loeki) 2015.8 git_pillar  merge  inconsistency/bug
361505         (refs: #27761)
361506
361507       · PR  #27761:  (terminalmage)  Merge  git  pillar data instead of using
361508         dict.update() @ 2015-10-08 15:00:18 UTC
361509
361510         · bccb74ffc5 Merge pull request #27761 from terminalmage/issue27714
361511
361512         · d149095bb0 Merge git pillar data instead of using dict.update()
361513
361514       · PR #27741: (ticosax) [dockerng] pass filters argument to  dockerng.ps
361515         @ 2015-10-08 03:40:14 UTC
361516
361517         · 2ae7ada3c9  Merge  pull request #27741 from ticosax/docker.contain‐
361518           ers-filters
361519
361520         · 821ed72f37 pass filters argument to dockerng.ps
361521
361522       · PR #27760: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
361523         2015-10-07 19:11:17 UTC
361524
361525         · 82a51cebde   Merge   pull  request  #27760  from  basepi/merge-for‐
361526           ward-2015.8
361527
361528         · 35425b14ad  Merge  remote-tracking  branch  'upstream/2015.5'  into
361529           merge-forward-2015.8
361530
361531         · b2937b6a16   Merge   pull  request  #27759  from  basepi/merge-for‐
361532           ward-2015.5
361533
361534           · 792ee084bb Merge remote-tracking  branch  'upstream/2014.7'  into
361535             merge-forward-2015.5
361536
361537           · d284eb165b Merge pull request #27390 from JaseFace/schedule-miss‐
361538             ing-enabled
361539
361540           · 563db71bfd Ensure we pass on the enable setting  if  present,  or
361541             use  the default of True if not in build_schedule_item() Prior to
361542             this, when schedule.present compares the existing schedule to the
361543             one crafted by this function, enabled will actually be removed at
361544             each run.  schedule.present sees a modification needs to be made,
361545             and  invokes  schedule.modify,  which does so with enabled: True,
361546             creating and endless loop of an 'enabled' removal and addition.
361547
361548         · 4b9128b491 Merge pull request #27732 from jacobhammons/26673
361549
361550           · 75cc07cf10 noted that __virtual__ can return False and  an  error
361551             string
361552
361553           · b928e1afa8  update  docs for __virtual__ and __virtualname__ Refs
361554             #26673
361555
361556         · a130896d1c Merge pull request #27747 from Sacro/fix-chocolatey-ver‐
361557           sion
361558
361559           · 8f1fa9e78e Chocolatey doesn't have a help command.
361560
361561         · 4e48651de0 Merge pull request #27733 from jacobhammons/bug-fixes
361562
361563           · cbecd4f553 Updated saltstack2 theme to add SaltConf16 banner
361564
361565           · 117e0c2bcc Added hardening topic based on the information in Refs
361566             #27088
361567
361568         · c58da846bf Merge pull request #27706 from jacobhammons/bug-fixes
361569
361570           · 76dc8de71b Assorted doc bugs Refs #9051 Refs #13407  Refs  #21475
361571             Refs #14876 Refs #27005
361572
361573         · 43fba89865 Merge pull request #27695 from rallytime/bp-27671
361574
361575           · 2a88028595  Added  skip test_ext_pillar_env_mapping if git module
361576             does not exist.
361577
361578         · cb3d92676e Merge pull request #27524 from jfindlay/pkgng_quiet
361579
361580           · 5e9107b970 parse pkgng output in quiet mode for >= 1.6.0
361581
361582         · 5b88c55cc3 Merge pull request #27686 from rallytime/bp-27476
361583
361584           · 3e08d3de8a                        fix                        for:
361585             https://github.com/saltstack/salt/issues/27373
361586
361587         · f9ddd4647f Merge pull request #27684 from rallytime/bp-27656
361588
361589           · d3780cba00   Fix   #27655:   handling   of   success   in   post‐
361590             gres_local_cache
361591
361592         · 7ca6f854ff Merge pull request #27683 from rallytime/bp-27659
361593
361594           · 84b6ee0c58 .pub as public key is what we should send to remote
361595
361596         · a0f3e34656 Merge pull request #27682 from rallytime/bp-27566
361597
361598           · 2a44255748     minor:     fix/format     doc     for      return‐
361599             ers.local_cache.prep_jid
361600
361601           · fd485e2396 returners.local_cache: fix endless loop on OSError
361602
361603         · 0b9ba911c4 Merge pull request #27681 from rallytime/bp-25928
361604
361605           · 17e1ddf137 Fix stacktrace for non-existant states
361606
361607         · 23da0d316a Merge pull request #27680 from rallytime/bp-27535
361608
361609           · 04aed5e105  Versionadded  change  since 2015.5.6 has already been
361610             tagged
361611
361612           · 579f2646ba .. versionadded:: 2015.5.6
361613
361614           · cbaf46e066 python <2.7 compability (pylint issue)
361615
361616           · ecde499478 s/bin/b to avoid confusion with bin()
361617
361618           · 4237c5db80  add  a  __virtual__  to  check  that  daemontools  is
361619             installed properly
361620
361621           · 623935a1bc fix doc
361622
361623           · 573de3abd6 fix pylint issue
361624
361625           · 5eb6a30d40 fix pep8 issues
361626
361627           · 298cf4f5c0 import missing logging module
361628
361629           · fe0ad36609 log was missing
361630
361631           · e457083465 s/systemd/FreeBSD
361632
361633           · 3512712e89 forgot service name..
361634
361635           · 8f193a7bcc fixes #27505
361636
361637         · 7d7b97eab6     Merge     pull    request    #27442    from    Jase‐
361638           Face/fix-27391-for-2015.5
361639
361640           · bfbf63e1cc Ensure we pass on the enable setting  if  present,  or
361641             use  the default of True if not in build_schedule_item() Prior to
361642             this, when schedule.present compares the existing schedule to the
361643             one crafted by this function, enabled will actually be removed at
361644             each run.  schedule.present sees a modification needs to be made,
361645             and  invokes  schedule.modify,  which does so with enabled: True,
361646             creating and endless loop of an 'enabled' removal and addition.
361647
361648         · ccbba8656b  Merge  pull  request  #27641  from  rallytime/gate-psu‐
361649           til-diskusage
361650
361651           · da2d93a3dd  Gate  the  psutil  import  and  add  depends  doc for
361652             diskusage beacon
361653
361654         · 09183994f9 Merge pull request #27644 from rallytime/bp-27640
361655
361656           · a9063a9745 fix typo in default pillar path
361657
361658         · 27fcecccbe Merge pull request #27612 from rallytime/fix-27609
361659
361660           · 8dc047dc18 If external_up is set to None, don't stacktrace,  just
361661             use the private ip.
361662
361663           · 2ebf790f9f  [salt-cloud]  gce:  don't  stacktrace if Ephemeral is
361664             given instead of ephemeral
361665
361666         · c84a1edc1b   Merge   pull    request    #27568    from    jacobham‐
361667           mons/man-pages-five
361668
361669           · b59c03d20d regenerated man pages
361670
361671         · 304dc68f7f Merge pull request #27582 from jfindlay/2015.5
361672
361673           · 4f0d55cda6 add 2015.5.6 release notes
361674
361675         · 7201ce71e4 Merge pull request #27557 from jfindlay/mine_doc
361676
361677           · 3727d79bad edit mine doc for style and markup
361678
361679           · 7e037a4666 add doc motivating mine vs grains
361680
361681         · 59c3d5f93e Merge pull request #27515 from jfindlay/suse_fire
361682
361683           · 4460ad2785 save iptables rules on SuSE
361684
361685         · 9b26357b19 Merge pull request #27509 from jfindlay/gluster_reason
361686
361687           · 1ccda538d2 tell the user why the gluster module does not work
361688
361689         · 989733ea86 Merge pull request #27379 from jfindlay/pip_vars
361690
361691         · aee51ffdef document and check dict type for pip env_vars
361692
361693       · ISSUE  #27643:  (blueyed)  Please  document extended return values of
361694         __virtual__ (refs: #27724)
361695
361696       · ISSUE #26755: (lorengordon) Associate package  dependencies  to  mod‐
361697         ules/states? (refs: #27724)
361698
361699       · PR  #27757:  (jfindlay)  fix  virtual  fcn  return  doc indentation @
361700         2015-10-07 17:50:18 UTC
361701
361702         · PR  #27724:  (jfindlay)  update  __virtual__  return  documentation
361703           (refs: #27757)
361704
361705         · PR  #27116:  (jacobhammons)  Update latest to 2015.8, 2015.5 is now
361706           previous (refs: #27724)
361707
361708         · aced4229cb Merge pull request #27757 from jfindlay/virtret
361709
361710         · 03400ef45b fix virtual fcn return doc indentation
361711
361712       · ISSUE #27636: (brian-bk) Salt-ssh cannot do simple state  'test.nop':
361713         "'test.nop' is not available." (refs: #27754)
361714
361715       · PR  #27754: (rallytime) Change test.nop version directive to 2015.8.1
361716         @ 2015-10-07 15:59:55 UTC
361717
361718         · 57b5b594bd Merge pull request #27754 from rallytime/fix-27636
361719
361720         · 31b9852d9a Change test.nop version directive to 2015.8.1
361721
361722       · PR #27734: (jacobhammons) Updated saltstack2 theme to add  SaltConf16
361723         banner @ 2015-10-07 01:43:53 UTC
361724
361725         · 9a0171089d    Merge    pull    request    #27734   from   jacobham‐
361726           mons/theme-updates
361727
361728         · 3a52d3606b Updated saltstack2 theme to add SaltConf16 banner
361729
361730       · ISSUE #27595: (ralphvanetten)  Debian  package  does  not  depend  on
361731         python-m2crypto  which  is  required  by the x509 state/module (refs:
361732         #27719)
361733
361734       · PR  #27727:  (rallytime)  Merge  #27719  w/pylint  fix  @  2015-10-06
361735         21:13:37 UTC
361736
361737         · PR  #27719:  (jfindlay) tell user when x509 exec/state module can't
361738           load (refs: #27727)
361739
361740         · d3f2dfe835 Merge pull request #27727 from rallytime/merge-27719
361741
361742         · a7fd156162 Pylint
361743
361744         · 6bf2ee2751 tell user when x509 exec/state module can't load
361745
361746       · ISSUE #27643: (blueyed) Please document  extended  return  values  of
361747         __virtual__ (refs: #27724)
361748
361749       · ISSUE  #26755:  (lorengordon)  Associate package dependencies to mod‐
361750         ules/states? (refs: #27724)
361751
361752       · PR #27724: (jfindlay) update __virtual__ return documentation  (refs:
361753         #27757) @ 2015-10-06 21:06:47 UTC
361754
361755         · PR  #27116:  (jacobhammons)  Update latest to 2015.8, 2015.5 is now
361756           previous (refs: #27724)
361757
361758         · f26bcd2d21 Merge pull request #27724 from jfindlay/virtret
361759
361760         · 6bddf80546 update __virtual__ return documentation
361761
361762       · ISSUE #27481: (basepi) Fix issues with  cross-calling  states  (refs:
361763         #27725)
361764
361765       · PR  #27725:  (basepi)  Fix  global  injection for state cross calls @
361766         2015-10-06 21:02:15 UTC
361767
361768         · d67e8c5c2c      Merge      pull      request      #27725       from
361769           basepi/states.cross.call.27481
361770
361771         · e12269d871 Remove unused import
361772
361773         · 4e6505b2e7 Return the wrapper (whoops)
361774
361775         · fadb954676  Use  new  method for injecting globals into state func‐
361776           tions
361777
361778         · 17b267470a Add decorator for injecting globals  into  functions  in
361779           the loader
361780
361781       · PR  #27628:  (ticosax) [dockerng] Add support of labels parameter for
361782         dockerng @ 2015-10-06 13:58:40 UTC
361783
361784         · 06e67d25f8 Merge pull  request  #27628  from  ticosax/dockerng-con‐
361785           tainer-label
361786
361787         · edf625c8b4 Add support of labels parameter for dockerng
361788
361789       · ISSUE #26604: (ari) Poor compound matcher documentation (2015.8 docs)
361790         (refs: #27704)
361791
361792       · PR #27704: (jacobhammons) Update compound matcher docs to clarify the
361793         usage of alternate delimi… @ 2015-10-06 05:36:55 UTC
361794
361795         · e47d849af6 Merge pull request #27704 from jacobhammons/26604
361796
361797         · 1c51ce28a9  Update  compound  matcher  docs to clarify the usage of
361798           alternate delimiters Refs #26604
361799
361800       · PR  #27705:  (rallytime)  Merge  #27602  with  final  pylint  fix   @
361801         2015-10-05 23:36:50 UTC
361802
361803         · PR  #27602:  (blueyed)  dockerng:  fix/enhance  version  warning in
361804           __virtual__ (refs: #27705)
361805
361806         · 2491ce40f1 Merge pull request #27705 from rallytime/merge-27602
361807
361808         · 81aad83386 Ignore import error
361809
361810         · 561dc4cf94 dockerng: fix/enhance version warning in __virtual__
361811
361812       · ISSUE #13850: (ryan-lane) s3://  urls  in  file.managed  (and  likely
361813         elsewhere)  require s3.key and s3.keyid to be in minion config (refs:
361814         #27691)
361815
361816       · PR #27691: (notpeter) Faster timeout (3s vs 2min) for instance  meta‐
361817         data lookups. #13850.  @ 2015-10-05 22:55:52 UTC
361818
361819         · b76eb08c68 Merge pull request #27691 from notpeter/iam_fail_faster
361820
361821         · 3d9483b4e2  Faster  timeout  (3s  vs  2min)  for  instance metadata
361822           lookups. #13850.
361823
361824       · PR #27696: (blueyed) loader.proxy: call  _modules_dirs  only  once  @
361825         2015-10-05 22:42:32 UTC
361826
361827         · fc78f49dc5       Merge      pull      request      #27696      from
361828           blueyed/load-proxy-call-_module_dirs-only-once
361829
361830         · 55a76be6c1 loader.proxy: call _modules_dirs only once
361831
361832       · PR  #27630:  (ticosax)  Expose  container_id  in  mine.get_docker   @
361833         2015-10-05 21:56:53 UTC
361834
361835         · 77516912fa  Merge  pull  request  #27630  from ticosax/include-con‐
361836           tainer-id-docker-mine
361837
361838         · 7293ded2f6 fixup! Expose container_id in mine.get_docker
361839
361840         · 9e56a7e9db Expose container_id in mine.get_docker
361841
361842       · PR #27600: (blueyed) dockerng: use docker.version=auto by  default  @
361843         2015-10-05 21:29:14 UTC
361844
361845         · 8453cb3eb1   Merge   pull   request   #27600   from   blueyed/dock‐
361846           erng-auto-version
361847
361848         · 53c6e3b3de dockerng: use docker.version=auto by default
361849
361850       · PR #27689: (rallytime) Merge #27448  with  test  fixes  @  2015-10-05
361851         21:17:41 UTC
361852
361853         · PR  #27448:  (JaseFace)  Ensure  we  pass  on the enable setting if
361854           present, or use the default of True if not in build_schedule_item()
361855           (refs: #27689)
361856
361857         · 7a4291008e Merge pull request #27689 from rallytime/fix-tests-27448
361858
361859         · 05a506ec9f Use correct comment in test
361860
361861         · 8296fefb31 Merge #27448 with test fixes
361862
361863         · d9f5e9fd2f  Ensure we pass on the enable setting if present, or use
361864           the default of True if not in build_schedule_item() Prior to  this,
361865           when  schedule.present  compares  the  existing schedule to the one
361866           crafted by this function, enabled will actually be removed at  each
361867           run.   schedule.present  sees  a modification needs to be made, and
361868           invokes schedule.modify, which does so with enabled: True, creating
361869           and endless loop of an 'enabled' removal and addition.
361870
361871       · ISSUE  #27520:  (rmarcinik)  winrepo  is unavailable in 2015.8 (refs:
361872         #27616, #27693)
361873
361874       · ISSUE  #23239:  (cachedout)  [RFC]  Deprecate  ext_processses  (refs:
361875         #27693)
361876
361877       · PR  #27693:  (jacobhammons) initial engines topic, updates to windows
361878         repo docs @ 2015-10-05 21:05:26 UTC
361879
361880         · 4ddc87157a Merge pull request #27693 from jacobhammons/doc-updates
361881
361882         · 5a3e72fc8e __ops__ to __opts__
361883
361884         · 5a9867aad1 initial engines topic, updates to windows repo docs Refs
361885           #23239 Refs #27520
361886
361887       · PR  #27601:  (blueyed)  dockerng:  handle  None  in container.Names @
361888         2015-10-05 20:32:19 UTC
361889
361890         · f7f48d1eef   Merge   pull   request   #27601   from   blueyed/dock‐
361891           erng-none-names
361892
361893         · b1442ac904 dockerng: handle None in container.Names
361894
361895       · PR  #27596:  (blueyed)  gitfs:  fix  UnboundLocalError  for  'msg'  @
361896         2015-10-05 20:18:00 UTC
361897
361898         · 3ffb5a3369      Merge      pull      request      #27596       from
361899           blueyed/fix-gitfs-UnboundLocalError
361900
361901         · e70cbda490 gitfs: fix UnboundLocalError for 'msg'
361902
361903       · PR  #27651:  (eliasp) Check for existence of 'subnetId' key in subnet
361904         dict @ 2015-10-05 17:01:34 UTC
361905
361906         · 4d7be3f972      Merge      pull      request      #27651       from
361907           eliasp/2015.8-cloud.clouds.ec2-check-for-subnetId-before-using-it
361908
361909         · f21a763809 Check for existence of 'subnetId' key in subnet dict
361910
361911       · ISSUE  #23370:  (lisa2lisa) salt artifactory.downloaded module ignore
361912         classifier  (refs: #27639)
361913
361914       · PR #27639: (rallytime) Docement version  added  for  new  artifactory
361915         options @ 2015-10-05 17:01:21 UTC
361916
361917         · d9266505a7 Merge pull request #27639 from rallytime/fix-23370
361918
361919         · 6de99bd5b7 Docement version added for new artifactory options
361920
361921       · PR  #27677:  (rallytime)  Back-port  #27675  to  2015.8  @ 2015-10-05
361922         15:47:34 UTC
361923
361924         · PR #27675: (avinassh) Fix a typo (refs: #27677)
361925
361926         · 771e5136f1 Merge pull request #27677 from rallytime/bp-27675
361927
361928         · bfa0acfbfe Fix a typo
361929
361930       · PR #27637:  (rallytime)  Back-port  #27604  to  2015.8  @  2015-10-05
361931         14:54:59 UTC
361932
361933         · PR  #27604:  (plastikos)  Fix  module path to SaltCacheError (refs:
361934           #27637)
361935
361936         · 6bc5ddc561 Merge pull request #27637 from rallytime/bp-27604
361937
361938         · 3d2ee4297d Fix module path to SaltCacheError
361939
361940       · ISSUE #19291: (gfa) pkg module could accept  version:  latest  (refs:
361941         #27657)
361942
361943       · PR  #27657:  (garethgreenaway)  Fix  to pkg state module @ 2015-10-03
361944         23:56:02 UTC
361945
361946         · 905acc6229   Merge   pull   request   #27657   from    garethgreen‐
361947           away/19291_pkg_state_latest_fix
361948
361949         · c950527b24  When  latest  is  passed in the state as the version to
361950           install, once the package is installed the state  runs  will  fail.
361951           pkg.latest_version  returned  an  empty  string once the package is
361952           installed so we need to grab the installed version in that case  to
361953           avoid passing an empty string to the pkg module in question.
361954
361955       · ISSUE  #27538:  (lomeroe) boto_iam is not passing parameters properly
361956         on a handful of function calls (refs: #27539)
361957
361958       · PR #27632:  (rallytime)  Back-port  #27539  to  2015.8  @  2015-10-02
361959         19:28:39 UTC
361960
361961         · PR  #27539:  (lomeroe) boto_iam updates to function calls that were
361962           not passing arguments properly (refs: #27632)
361963
361964         · 83ae6a1432 Merge pull request #27632 from rallytime/bp-27539
361965
361966         · 2b0afd0230 Add versionadded to new path option
361967
361968         · e54afed73a moving path kwarg to end of function definition
361969
361970       · ISSUE #27545: (lomeroe) boto_asg allow removing launch  configuration
361971         with 'absent' state (refs: #27546)
361972
361973       · ISSUE  #27544:  (lomeroe) boto_asg state incorrectly processes return
361974         from boto_vpc.get_subnet_association (refs: #27559, #27546)
361975
361976       · PR #27633:  (rallytime)  Back-port  #27559  to  2015.8  @  2015-10-02
361977         19:22:07 UTC
361978
361979         · PR #27559: (lomeroe) vpc_id fix for boto_vpc.get_subnet_association
361980           (refs: #27633)
361981
361982         · PR #27546: (lomeroe) boto_asg state updates (refs: #27559)
361983
361984         · 888e9bdf5d Merge pull request #27633 from rallytime/bp-27559
361985
361986         · 3f03815ada rebasing
361987
361988       · ISSUE #27463:  (ryan-lane)  boto_route53  module  should  default  to
361989         region universal, rather then None (refs: #27579)
361990
361991       · PR #27579: (rallytime) Change boto_route53 region default to 'univer‐
361992         sal' to avoid problems with boto library @ 2015-10-02 18:56:17 UTC
361993
361994         · 8b7da5e469 Merge pull request #27579 from rallytime/fix-27463
361995
361996         · d5956132ef Change boto_route53 region  default  to  'universal'  to
361997           avoid problems with boto library
361998
361999       · PR  #27581:  (tkwilliams) Add support for 'vpc_name' tag in boto_sec‐
362000         group module and state @ 2015-10-02 15:40:40 UTC
362001
362002         · ce4c64a2e3 Merge  pull  request  #27581  from  tkwilliams/boto_sec‐
362003           group_add_vpc_name
362004
362005         · 159cccf43f Faulty check logic around optional params
362006
362007         · 84ab0bbd74  One last bug to squash.  Seriously.  It's the last one.
362008           Ever!  -  fixed  param  vpc_id  being  passed  where  vpc_name  was
362009           intended.
362010
362011         · 002cbf5cde  Grrr.   Add back the import of SaltInvocationError that
362012           pylint wanted me to remove :)
362013
362014         · 0671c0d8d9 Consolidate some redundant code - thanks @ryan-lane !
362015
362016         · fae1199276 Followed @ryan-lane's suggestion  to  remove  duplicated
362017           code from boto_vpc and instead call into that module
362018
362019         · 3a38a440b7  Merge  remote-tracking  branch  'upstream/2015.8'  into
362020           boto_secgroup_add_vpc_name
362021
362022         · f7ef0bcd4c Fixups for picayune pylint pedantery :)
362023
362024         · 35b66e28a3  Merge  remote-tracking  branch  'upstream/2015.8'  into
362025           boto_secgroup_add_vpc_name
362026
362027         · 6770f721f8  Add  support for 'vpc_name' tag in boto_secgroup module
362028           and state
362029
362030       · PR #27624: (nasenbaer13) Wait for sync is not passed to  boto_route53
362031         state @ 2015-10-02 15:37:44 UTC
362032
362033         · fb6f6b9ce4 Merge pull request #27624 from eyj/fix_wait_for_sync
362034
362035         · ed6a8c0aa6 Wait for sync is not passed to boto_route53 state
362036
362037       · PR  #27614:  (blueyed)  doc:  minor  fixes  to  doc  and  comments  @
362038         2015-10-02 15:34:02 UTC
362039
362040         · eb59cb8d1c Merge pull request #27614 from blueyed/doc-minor
362041
362042         · 98a8c0f055 doc: minor fixes to doc and comments
362043
362044       · PR #27627: (eyj) Fix crash in boto_asg.get_instances if the requested
362045         attribute is None @ 2015-10-02 15:33:32 UTC
362046
362047         · 61f8a6f39f Merge pull request #27627 from eyj/pr-instance-attribute
362048
362049         · 03d7c6af3d  Fix  crash  in  boto_asg.get_instances if the requested
362050           attribute may be None
362051
362052       · ISSUE #27549: (carlpett) Document winrepo_remotes_ng (refs: #27616)
362053
362054       · ISSUE #27520: (rmarcinik) winrepo is  unavailable  in  2015.8  (refs:
362055         #27616, #27693)
362056
362057       · PR  #27616: (jacobhammons) Updated windows software repository docs @
362058         2015-10-02 05:04:37 UTC
362059
362060         · 764d70af79   Merge   pull    request    #27616    from    jacobham‐
362061           mons/win-repo-docs
362062
362063         · 1c8b32ce26 Updated windows software repository docs
362064
362065       · ISSUE  #27543:  (lomeroe)  boto_elb incorrectly processes return from
362066         boto_vpc.get_subnet_assocaition (refs: #27569)
362067
362068       · PR #27569: (lomeroe) boto_vpc.get_subnet_association  now  returns  a
362069         dict w/key of vpc_id, a… @ 2015-10-01 16:03:06 UTC
362070
362071         · db963b7864 Merge pull request #27569 from lomeroe/fix_boto_elb
362072
362073         · ae09a0fb61 boto_vpc.get_subnet_association now returns a dict w/key
362074           of vpc_id, adding code to handle the dict now
362075
362076       · ISSUE #25441:  (ahammond)  modules.ps  documentation  missing  (refs:
362077         #27567)
362078
362079       · PR  #27567:  (whiteinge)  Use  getattr to fetch psutil.version_info @
362080         2015-10-01 15:39:59 UTC
362081
362082         · b269cd4754 Merge pull  request  #27567  from  whiteinge/psutil-ver‐
362083           sion-fix
362084
362085         · 7ebe9acc44 Use getattr to fetch psutil.version_info
362086
362087       · PR #27583: (tkwilliams) Fixup zypper module @ 2015-10-01 15:38:53 UTC
362088
362089         · 9cc69e2440 Merge pull request #27583 from tkwilliams/fix_zypper
362090
362091         · cdd44e4128 Fixup zypper module - expected return type of pkg.latest
362092           was changed without updating zypper module - unchecked  list  deref
362093           fixed  -  "zypper  info  -t"  out-of-date  status  field format has
362094           changed
362095
362096       · PR    #27597:    (blueyed)    gitfs:    remove    unused     variable
362097         "bad_per_remote_conf" @ 2015-10-01 15:38:15 UTC
362098
362099         · 5ca7e72c70       Merge      pull      request      #27597      from
362100           blueyed/gitfs-remove-unused-bad_per_remote_conf
362101
362102         · 58af4d68f0 gitfs: remove unused variable "bad_per_remote_conf"
362103
362104       · PR #27585: (ryan-lane) Fix undefined variable in cron state module  @
362105         2015-10-01 05:05:58 UTC
362106
362107         · 9805bdeddf Merge pull request #27585 from lyft/cron-fix
362108
362109         · 5474666b61 Fix undefined variable in cron state module
362110
362111   Salt 2015.8.3 Release Notes
362112       Version 2015.8.3 is a bugfix release for 2015.8.0.
362113
362114   Statistics
362115       · Total Merges: 74
362116
362117       · Total Issue References: 26
362118
362119       · Total PR References: 64
362120
362121       · Contributors:  30  (DmitryKuzmenko,  RealKelsar,  alexproca, anlutro,
362122         basepi,  bogdanr,  cachedout,   cedwards,   chrigl,   cro,   fcrozat,
362123         gtmanfred,  isbm,  jfindlay,  kiorky,  kt97679, lomeroe, lorengordon,
362124         mhoogendoorn, nmadhok, optix2000, paulnivin, quantonganh,  rallytime,
362125         s0undt3ch, schwing, sjorge, tampakrap, terminalmage, ticosax)
362126
362127   Security Fix
362128       CVE-2015-8034 Saving state.sls cache data to disk with insecure permis‐
362129       sions
362130
362131       This affects users of the state.sls function. The state  run  cache  on
362132       the  minion  was  being  created  with incorrect permissions. This file
362133       could potentially contain sensitive data that was  inserted  via  jinja
362134       into  the  state SLS files. The permissions for this file are now being
362135       set correctly. Thanks to zmalone for bringing this issue to our  atten‐
362136       tion.
362137
362138   Changelog for v2015.8.2..v2015.8.3
362139       Generated at: 2018-05-27 23:24:21 UTC
362140
362141       · PR  #29173:  (jfindlay)  add  2015.8.3  release  notes  @  2015-11-25
362142         00:07:51 UTC
362143
362144         · 345206b68e Merge pull request #29173 from jfindlay/2015.8
362145
362146         · 212f7dd281 add 2015.8.3 release notes
362147
362148         · cafbb49cb6 add note on 2015.8.2 release notes
362149
362150       · PR #29172: (basepi) [2015.8] Backport new philips_hue proxy  features
362151         from develop @ 2015-11-24 23:52:55 UTC
362152
362153         · 5e88e9e9c0 Merge pull request #29172 from basepi/philips_backport
362154
362155         · 1df6c3083b Backport new philips_hue proxy features from develop
362156
362157       · PR  #29167:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
362158         2015-11-24 21:40:34 UTC
362159
362160         · 2fb1ca0eac  Merge  pull  request  #29167   from   basepi/merge-for‐
362161           ward-2015.8
362162
362163         · 525f9fbbbb  Merge  remote-tracking  branch  'upstream/2015.5'  into
362164           merge-forward-2015.8
362165
362166         · a26c10a811 Merge pull request #29164 from jfindlay/bp-29113
362167
362168           · 50fab35188 kill unneeded import
362169
362170         · 4f03196e7d Merge pull request #29138 from jfindlay/2015.5
362171
362172           · be045f5cb1 add 2015.5.8 release notes
362173
362174       · PR #29141: (optix2000) Add test  case  for  require:  sls  with  only
362175         import statements @ 2015-11-24 16:17:57 UTC
362176
362177         · 68d6c454b8 Merge pull request #29141 from optix2000/full_sls_import
362178
362179         · 596843e8d6   Add   test   case  for  sls  with  only  import  Tests
362180           https://github.com/saltstack/salt/issues/10852
362181
362182       · ISSUE #29015: (jakehilton) git_pillar  not  honoring  git_pillar_base
362183         (refs: #29072)
362184
362185       · ISSUE #28311: (strocknar) git_pillar conflicts (refs: #29072)
362186
362187       · ISSUE  #27432:  (mafrosis)  Using specific tag as GitFS remote (refs:
362188         #29072)
362189
362190       · PR #29072: (terminalmage) Several gitfs/git_pillar fixes @ 2015-11-24
362191         16:04:39 UTC
362192
362193         · 732f5364a2 Merge pull request #29072 from terminalmage/issue28311
362194
362195         · dae738fda3 Use common code to detect envs
362196
362197         · a9c0cacb77 Don't add head ref if head red matches desired ref
362198
362199         · e7540e956b  pygit2: Don't clean local heads along with stale remote
362200           refs
362201
362202         · 1e6c46f554 pygit2: Properly resolve base saltenv from tag ref
362203
362204         · 0c592ab552 Support string whitelist/blacklist
362205
362206         · 744487864d Fix base branch detection for git_pillar
362207
362208         · 1cd9a4d1b4 Add some debug logging for git_pillar
362209
362210         · fac588c0bb Add HEAD ref in git_pillar/winrepo checkout
362211
362212       · PR  #29118:  (ticosax)  [dockerng]  Add  networking  capabilities   @
362213         2015-11-24 15:47:36 UTC
362214
362215         · 95689ee1a4 Merge pull request #29118 from ticosax/dockerng-network
362216
362217         · e98d18ba41 Expose docker networking as state
362218
362219         · 94135d91c3 cosmetic
362220
362221         · 17ff5c1ab5 Add expose networking to modules.dockerng
362222
362223       · ISSUE  #29144: (anlutro) Error in fileclient with file.managed (refs:
362224         #29145)
362225
362226       · PR #29145: (anlutro)  Remove  duplicate  import  of  salt.utils.s3  @
362227         2015-11-24 15:36:05 UTC
362228
362229         · 4b4f212d2d   Merge   pull   request  #29145  from  alprs/fix-dupli‐
362230           cate_import
362231
362232         · e1101bea19 Remove duplicate import of salt.utils.s3
362233
362234       · ISSUE #29147: (lomeroe) boto_route53 unexpected keyword arguments  in
362235         create_zone() (refs: #29148)
362236
362237       · PR #29148: (lomeroe) correcting parameter calls to boto get_zone/cre‐
362238         ate_zone functions in … @ 2015-11-24 15:33:53 UTC
362239
362240         · 6079569580 Merge pull request #29148 from lomeroe/boto_route53_cre‐
362241           ate_zone_fix-backport
362242
362243         · 75408ccf99  correcting parameter calls to boto get_zone/create_zone
362244           functions in create_zone parameter check  on  create_zone  on  pri‐
362245           vate_zone=True add boto version requirement
362246
362247       · ISSUE  #29107:  (lorengordon) Salt hangs when passing a string repre‐
362248         sentation as the length parameter to random.get_str() (refs: #29108)
362249
362250       · PR #29108: (lorengordon) Enforce length as an  int,  fixes  #29107  @
362251         2015-11-23 19:06:52 UTC
362252
362253         · 17638c734b    Merge    pull    request    #29108   from   lorengor‐
362254           don/type-enforce-length
362255
362256         · c71825d3b0 Enforce length as an int, fixes #29107
362257
362258       · PR #29125: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
362259         2015-11-23 18:48:46 UTC
362260
362261         · 233ab8a474   Merge   pull  request  #29125  from  basepi/merge-for‐
362262           ward-2015.8
362263
362264         · 1432cc806d  Merge  remote-tracking  branch  'upstream/2015.5'  into
362265           merge-forward-2015.8
362266
362267           · 219367a23d Merge pull request #29128 from cachedout/tweak_29122
362268
362269             · b08858b040 Missed check
362270
362271             · 584efe81ee Set a safer default value for ret in saltmod
362272
362273         · 8d86bc3056  Merge  remote-tracking  branch  'upstream/2015.5'  into
362274           merge-forward-2015.8
362275
362276           · 2250a36647 Merge pull request #29122 from cachedout/issue_29110
362277
362278             · 4b9302d794 Fix broken state orchestration
362279
362280           · 200e771efb Merge pull request #29096 from rallytime/bp-29093
362281
362282             · f5734423a4 Compare gem versions as a string.
362283
362284           · d8a2018bc8 Merge pull request #29084 from rallytime/bp-29055
362285
362286             · 52e650aed9 Add section to style guide
362287
362288           · b5cff1a351 Merge pull request #29083 from rallytime/bp-29053
362289
362290             · f1884de0e7 Update rabbitmq_user.py
362291
362292           · b3e3bebef0 Merge pull request #28932 from twangboy/fix_28928
362293
362294             · 0653a04887 Fixed user.present / user.absent in windows
362295
362296           · a2e4a227e0 Merge pull request #29011 from rallytime/bp-28630
362297
362298             · 7baccc1b05 Lint - newline before def
362299
362300             · 9e5c16d4da Reading S3 credentials from Pillar
362301
362302             · a3216f813d Fixed requests HTTPError handler, it  was  still  in
362303               urllib2 style
362304
362305           · 1a4cd6002f  Merge  pull  request  #28982  from  basepi/merge-for‐
362306             ward-2015.5
362307
362308             · bfbb109fbd Merge remote-tracking branch 'upstream/2014.7'  into
362309               merge-forward-2015.5
362310
362311             · 4b8bdd0afb    Merge    pull   request   #28839   from   cached‐
362312               out/revert_28740
362313
362314             · 215b26c06f Revert #28740
362315
362316       · ISSUE #29005: (fcrozat) non-standard umask breaks salt-call  call  in
362317         salt-ssh (refs: #29126)
362318
362319       · ISSUE  #28830:  (fcrozat) non-standard umask breaks salt-ssh deploye‐
362320         ment (refs: #29126)
362321
362322       · PR #29126: (fcrozat) Fix deployment  when  umask  is  non-standard  @
362323         2015-11-23 17:53:46 UTC
362324
362325         · dc0d47fa2e Merge pull request #29126 from fcrozat/2015.8
362326
362327         · 4da11a5f3c Fix deployment when umask is non-standard. Fixes #29005
362328
362329         · bbccb752f9 Fix deployment when umask is non-standard. Fixes #28830
362330
362331       · PR  #29124:  (rallytime)  Back-port  #28130  to  2015.8  @ 2015-11-23
362332         17:31:00 UTC
362333
362334         · PR #29120: (alexproca) Import keypair (refs: #29124)
362335
362336         · PR #28130: (bogdanr) Ec2 upload public key  and  updated  instances
362337           size list (refs: #29124)
362338
362339         · 994d8bd71a Merge pull request #29124 from rallytime/bp-28130
362340
362341         · e290ea4a3f Pylint Fix
362342
362343         · 9d8e5c8b4d Added missing comma
362344
362345         · 4a7eee08a8 Documented import_keypair for the ec2 driver
362346
362347         · 715c12014c  Added  a  bunch of instance sizes and updated some out‐
362348           dated ones
362349
362350         · 506ff01f65 Import public key
362351
362352       · PR #29076: (RealKelsar) We can't query installed use flags for a  non
362353         installed pkg @ 2015-11-23 16:19:40 UTC
362354
362355         · d9c32011b4 Merge pull request #29076 from RealKelsar/2015.8
362356
362357         · f3d1ba1509  We  can't query installed use flags for a non installed
362358           pkg. Also one if is enough...
362359
362360         · 96566d3060 We can't query installed use flags for a  non  installed
362361           pkg
362362
362363       · ISSUE  #29100: (quantonganh) boto_ec2.exists does not use region when
362364         checking? (refs: #29070)
362365
362366       · PR #29097:  (rallytime)  Back-port  #29070  to  2015.8  @  2015-11-22
362367         17:03:04 UTC
362368
362369         · PR  #29070:  (quantonganh)  boto_ec2:  missing region when checking
362370           existence of an EC2 instance (refs: #29097)
362371
362372         · 1931870f26 Merge pull request #29097 from rallytime/bp-29070
362373
362374         · 3b202efadc boto_ec2: missing region when checking existence  of  an
362375           EC2 instance
362376
362377       · PR  #29090:  (gtmanfred)  clean  up  novaclient  module  @ 2015-11-21
362378         15:43:58 UTC
362379
362380         · bb28b9186b Merge pull request #29090 from gtmanfred/2015.8
362381
362382         · 2aab45f9d2 clean up novaclient module
362383
362384       · PR #29095: (terminalmage) Add warning about pygit2 API instability  @
362385         2015-11-21 15:38:59 UTC
362386
362387         · 4ff54c6429 Merge pull request #29095 from terminalmage/pygit2-warn‐
362388           ing
362389
362390         · 139f5ba4c3 Add warning about pygit2 API instability
362391
362392       · PR #28919: (cro) Update Philips Hue proxy minion to support __proxy__
362393         instead of proxymodule stored in __opts__ @ 2015-11-21 15:31:36 UTC
362394
362395         · 27160b0454 Merge pull request #28919 from cro/hue_proxy_backport
362396
362397         · 8823225c81 Add 'versionadded'
362398
362399         · 6bdf98d2c6   Backport  philips_hue  proxy  module  to  2015.8,  use
362400           __proxy__ instead of opts['proxymodule']
362401
362402         · 0945d3b5b2 Add the license
362403
362404         · a8be2d7382 Fix the docstring
362405
362406         · 13a8973f94 Validate if "requests" are around. NOTE:  this  will  be
362407           changed soon!
362408
362409         · 835e84181b Fix the documentation
362410
362411         · 68accf6180 Allow view status from all lamps, if not specified
362412
362413         · 96adc9cca9 Fix lint issues
362414
362415         · cd00c5d99f Remove dead code
362416
362417         · 6a08d2b6b5 Implement static grains for the Philips HUE
362418
362419         · 5d3c3e09fc Bugfix: show all devices, if no specific IDs were passed
362420
362421         · 76e86d2d7d Implement color temperature
362422
362423         · a2d87a18cc Fix the documentation
362424
362425         · adeecb49d4 Implement brightness
362426
362427         · a2b1a71e01 Fix crash if the controller is down
362428
362429         · a7d5aafbe3 Update documentation for the color settings
362430
362431         · 15f83e180d Add more preset colors
362432
362433         · 44339f3dc1 Impement color setter with transition
362434
362435         · 0f4d5b9eac Implement effects method
362436
362437         · f341910174 Implement alert function
362438
362439         · e0c95b4c7f Separate device (lamps) getter
362440
362441         · 37ed834a63 Implement lamp rename
362442
362443         · 66b155c3db  Enhance _set method so it can set more than just lights
362444           status
362445
362446         · 8e94aad5c1 Enhance internal ping report on failures (device is  not
362447           reachable)
362448
362449         · 3bf79e6920 Implement blink function
362450
362451         · 334371d660 Use blink on internal ping
362452
362453         · a8e4c2162c Fix bug: call in a proper order, if all devices
362454
362455         · a98d5187f8 Remove the debug
362456
362457         · a1244223bf Enhance switch method
362458
362459         · e902764e25 Switch all lamps if IDs are not passed
362460
362461         · 1e508e9155 Fix bug: crash, if only one lamp ID is passed
362462
362463         · c0e6706d9a Implement status
362464
362465         · 6d8e6d6e23 Fix lint
362466
362467         · db053fbd8b Add licence
362468
362469         · 2abdb19934 Implement proxy minion configuration
362470
362471         · 1a75be3f71 Cleanup code
362472
362473         · 1a46a180bc Implement light switch ON/OFF
362474
362475         · cc5ee382c5 Implement lights method.
362476
362477         · bfbe4160b2 Add constants class-struct
362478
362479         · 7a8d72de3f Implement device state change
362480
362481         · d769bc85a7 Implement available device listing
362482
362483         · c9e7f4dc18 Cleanup code
362484
362485         · 5503b6f20e Implement Philips HUE wrapper caller for Minion Proxy
362486
362487         · 1b11d1ec74 Initial implementation of Philips HUE proxy
362488
362489       · ISSUE #28810: (syedaali) test.ping is not available (refs: #29065)
362490
362491       · ISSUE   #28761:   (syedaali)   Numerous   module   import  errors  in
362492         /var/log/salt/minion (test,oracle,archive) (refs: #29065)
362493
362494       · ISSUE #25756: (nshalman) Esky builds  on  SmartOS  broken  in  2015.5
362495         branch (refs: #25946, #25923)
362496
362497       · PR  #29065:  (cachedout) Handle failures inside python's inspect if a
362498         module is reloaded @ 2015-11-20 18:10:42 UTC
362499
362500         · PR #25946: (sjorge) Fix for salt.utils.decorators under esky (refs:
362501           #29065)
362502
362503         · PR   #25923:   (sjorge)  Fix  for  salt.utils.decorators  and  mod‐
362504           ule.__name__ under esky (refs: #25946)
362505
362506         · 88c0354c0c Merge pull request #29065 from cachedout/issue_28810
362507
362508         · 4767503eb2 Remove trailing whitespace
362509
362510         · c5b667f048 Handle failures inside python's inspect if a  module  is
362511           reloaded
362512
362513       · PR #29057: (paulnivin) Add local file support for file.managed source
362514         list @ 2015-11-19 21:57:34 UTC
362515
362516         · 714ef8ff27  Merge   pull   request   #29057   from   lyft/file-man‐
362517           age-local-source-list
362518
362519         · 3d7aa19cd8 Support local files in list of sources
362520
362521         · d175061c5d Add tests for file.source_list with local files
362522
362523         · 4f8e2a30fe Update documentation to clarify URL support for lists of
362524           sources with file.managed
362525
362526       · ISSUE #28981: (mimianddaniel) 2015.8.2 import pagerduty error  (refs:
362527         #29017)
362528
362529       · PR #29017: (jfindlay) pagerduty runner: add missing salt.utils import
362530         @ 2015-11-19 19:28:35 UTC
362531
362532         · f4f43381fc Merge pull request #29017 from jfindlay/pager_util
362533
362534         · 5cc06207fe pagerduty runner: add missing salt.utils import
362535
362536       · PR #29039: (anlutro) Allow passing  list  of  pip  packages  to  vir‐
362537         tualenv.managed @ 2015-11-19 19:13:50 UTC
362538
362539         · 1c61bce0a6   Merge  pull  request  #29039  from  alprs/feature-vir‐
362540           tualenv_pip_pkgs
362541
362542         · f9bff51382 allow passing list of pip packages to virtualenv.managed
362543
362544       · PR  #29047:  (schwing)  Fix  salt.modules.gpg.import_key   exception:
362545         'GPG_1_3_1 referenced before assignment' @ 2015-11-19 19:07:36 UTC
362546
362547         · b692ab1cfb Merge pull request #29047 from schwing/fix-gpg-exception
362548
362549         · 813f6e6808 Fix 'GPG_1_3_1 referenced before assignment'
362550
362551       · PR  #29050:  (terminalmage) Make git_pillar global config option docs
362552         more prominent @ 2015-11-19 19:06:38 UTC
362553
362554         · b4fc2f28a4 Merge pull request #29050 from terminalmage/issue29015
362555
362556         · 20da057a94 Make git_pillar global config option docs more prominent
362557
362558       · PR #29048: (nmadhok) Fix incorrect debug log statement  @  2015-11-19
362559         19:04:10 UTC
362560
362561         · 4b3b2fe1e7 Merge pull request #29048 from nmadhok/patch-1
362562
362563         · 9489d6c3b6 Update vmware.py
362564
362565       · PR  #29024:  (jfindlay)  cache  runner  test:  add  new  unit tests @
362566         2015-11-19 19:02:54 UTC
362567
362568         · e52c117368 Merge pull request #29024 from jfindlay/run_test
362569
362570         · 0c0bce3ea6 cache runner test: add new unit tests
362571
362572       · PR #28967: (cro) Fix some issues with password changes  @  2015-11-19
362573         18:57:39 UTC
362574
362575         · bcec8d8608 Merge pull request #28967 from cro/fx2_switch
362576
362577         · 67b5b9b8d2 Add docs on automatic lockout on failed auth attempts.
362578
362579         · 8a3cea4d95 Lint.
362580
362581         · 04095e3b74  Prevent  stacktrace  if something goes wrong retrieving
362582           inventory
362583
362584         · e7cbce15a5 Don't need to get grains at init time here now  that  we
362585           are confirming username and password differently.
362586
362587         · e42100cf8a  Switch  from admin_password and fallback_admin_password
362588           to a list of passwords to try.
362589
362590         · 4b382e977d Add 'versionadded'
362591
362592       · ISSUE #8516: (xoJIog) salt-ssh not working with nodegroups and  lists
362593         (refs: #29020)
362594
362595       · PR  #29020: (basepi) [2015.8] Add special list-only nodegroup support
362596         to salt-ssh @ 2015-11-18 21:15:50 UTC
362597
362598         · 14b5d0ed0f Merge pull  request  #29020  from  basepi/salt-ssh.node‐
362599           groups.8516
362600
362601         · 6433abf36f Rename ssh_nodegroups to ssh_list_nodegroups
362602
362603         · bd8487b3b9 Properly save minion list in local_cache for ssh jobs
362604
362605         · 4b1bf7d5e2  Add  support  for  comma  separated  list  matching  in
362606           salt-ssh
362607
362608         · 65c6528cbc Add "nodegroup" matching to salt-ssh
362609
362610         · 688a78c08c Add new ssh_nodegroups config
362611
362612       · ISSUE #28911: (ccmills) GitFS numeric tags cause errors with environ‐
362613         ments (refs: #28970)
362614
362615       · PR  #28970:  (terminalmage)  Properly  handle  non-string  saltenvs @
362616         2015-11-18 20:38:41 UTC
362617
362618         · 89801b172a Merge pull request #28970 from terminalmage/issue28911
362619
362620         · ec64ec85d6 Force file_roots environments to be strings
362621
362622         · b2690140c7 Properly handle non-string saltenvs
362623
362624       · ISSUE #28945: (rallytime) Dell  Chassis  State  Example  Improvements
362625         (refs: #28959)
362626
362627       · PR  #28959:  (rallytime)  Add blade password example and make note of
362628         timeout @ 2015-11-18 19:39:04 UTC
362629
362630         · 83c54351c9 Merge pull request #28959 from rallytime/fix-28945
362631
362632         · 2f326b57bf Clarify chassis password functionality
362633
362634         · 3614a88811 Add blade password example and make note of timeout
362635
362636       · PR #29000: (kiorky) [Mergeable] Fix up LXC @ 2015-11-18 18:02:47 UTC
362637
362638         · d8dc81bb2c Merge pull request #29000 from kiorky/2015.8_lxc
362639
362640         · a4d197821a LXC: doc
362641
362642         · 43fb0eff02 lxc: remove useless and error prone uses_systemd knob
362643
362644         · 7ec08cd41c Fix bootstrap delay kwarg exchange
362645
362646       · ISSUE #28995: (timcharper) systemd.get_all broken on non-bsd  systems
362647         / salt-bootstrap failure (refs: #29014)
362648
362649       · PR  #29014:  (jfindlay) systemd module: remove unneeded col command @
362650         2015-11-18 17:58:59 UTC
362651
362652         · eedd50e7c3 Merge pull request #29014 from jfindlay/sysctl_col
362653
362654         · d75e4d5d21 systemd module: line wrap function comment
362655
362656         · 960d2b936d systemd module: remove unneeded col command
362657
362658       · PR #28983: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
362659         2015-11-18 00:49:36 UTC
362660
362661         · ac85cfdbd0   Merge   pull  request  #28983  from  basepi/merge-for‐
362662           ward-2015.8
362663
362664         · f1c80ab943  Merge  remote-tracking  branch  'upstream/2015.5'  into
362665           merge-forward-2015.8
362666
362667         · edd26d763a Merge pull request #28949 from whiteinge/sync-sdb
362668
362669           · b0ec9ab25b Add sync_sdb execution function
362670
362671         · 43da1bc4ce Merge pull request #28930 from twangboy/fix_28888
362672
362673           · f5c489eaad Added missing import mmap required by file.py
362674
362675         · 2488b873b8  Merge  pull  request  #28908 from rallytime/doc-conven‐
362676           tion-spelling
362677
362678           · 60e6eddb77 A couple of spelling fixes for doc conventions page.
362679
362680         · 827a1ae020 Merge pull request #28902 from whiteinge/json-keys
362681
362682           · 9745903301 Fix missing JSON support for /keys endpoint
362683
362684         · d23bd49130 Merge pull request #28897 from rallytime/bp-28873
362685
362686           · 077e671ead Fix salt-cloud help output typo
362687
362688         · a9dc8b6ca6 Merge pull request #28871 from basepi/mdadm.fix.28870
362689
362690           · 323bc2d2ac Fix command generation for mdadm.assemble
362691
362692         · ec7fdc539b Merge pull request #28864 from jfindlay/2015.5
362693
362694           · 648b697951 add 2015.5.7 release notes
362695
362696         · bed45f4208   Merge   pull   request   #28731   from    garethgreen‐
362697           away/27392_2015_5_scheduler_return_job_master
362698
362699           · 771e9f7b6f  Fixing the salt scheduler so that it only attempts to
362700             return the job data to the master if the scheduled job is running
362701             from a minion's scheduler.
362702
362703         · 06f4932876 Merge pull request #28857 from rallytime/bp-28851
362704
362705           · aa4b193f87 [states/schedule] docstring: args, kwargs -> job_args,
362706             job_kwargs
362707
362708         · 0934a52b34 Merge pull request #28856 from rallytime/bp-28853
362709
362710         · 37eeab2683 Typo (with → which)
362711
362712       · PR #28969:  (rallytime)  Back-port  #28825  to  2015.8  @  2015-11-17
362713         20:43:30 UTC
362714
362715         · PR  #28825:  (s0undt3ch)  Take  into  account  a  pygit2 bug (refs:
362716           #28969)
362717
362718         · f172a0ee03 Merge pull request #28969 from rallytime/bp-28825
362719
362720         · 40f4ac5b21 Add missing import
362721
362722         · 2c43da1578 Take into account a pygit2 bug
362723
362724       · ISSUE #28784: (chrigl)  iptables.get_saved_rules  tests  pretty  much
362725         useless (refs: #28787)
362726
362727       · ISSUE  #28783: (chrigl) iptables.get_saved_rules does not handle fam‐
362728         ily=ipv6 (refs: #28787)
362729
362730       · PR #28787: (chrigl) closes #28784 @ 2015-11-17 15:54:04 UTC
362731
362732         · 1e9214f4e4 Merge pull request #28787 from chrigl/fix-28784
362733
362734         · 8639e3e9c3 closes #28784
362735
362736       · PR #28944: (rallytime) The ret result must contain 'name', not 'chas‐
362737         sis_name' for the state compiler.  @ 2015-11-17 15:34:21 UTC
362738
362739         · d63344575a  Merge  pull  request  #28944  from  rallytime/dellchas‐
362740           sis-state-name-fix
362741
362742         · f3ea01bbfa Make sure dellchassis.blade_idrac has a name arg  and  a
362743           ret['name']
362744
362745         · fb718539e9  The  ret result must contain 'name', not 'chassis_name'
362746           for the state compiler
362747
362748       · PR #28957: (terminalmage) Fix version number for new state  option  @
362749         2015-11-17 15:33:50 UTC
362750
362751         · fcef9f8995  Merge  pull  request  #28957 from terminalmage/fix-doc‐
362752           string
362753
362754         · f159000de2 Fix version number for new state option
362755
362756       · PR #28950: (DmitryKuzmenko) PR 28812  which  test  fix  @  2015-11-17
362757         15:32:16 UTC
362758
362759         · PR  #28812:  (isbm)  Enhance  'which'  decorator reliability (refs:
362760           #28950)
362761
362762         · 5b680c938a Merge pull request #28950 from DSRCompany/pr/28812_which
362763
362764         · 18571000c5 Fix which test in PR`#28812`_
362765
362766       · PR  #28812:  (isbm)  Enhance  'which'  decorator  reliability  (refs:
362767         #28950) @ 2015-11-17 15:32:10 UTC
362768
362769         · 73719928f9  Merge  pull request #28812 from isbm/isbm-which-decora‐
362770           tor-enhancement
362771
362772         · 20033eeeb7 Save modified environment path
362773
362774         · 2d43199d20 Preserve 'first found first win' ordering
362775
362776         · 1c59eedec2 Enhance 'which' decorator reliability for peculiar envi‐
362777           ronments
362778
362779       · PR  #28934: (terminalmage) git.latest: Add update_head option to pre‐
362780         vent local HEAD from being updated @ 2015-11-17 15:15:16 UTC
362781
362782         · facc34efed Merge pull request #28934 from terminalmage/issue27883
362783
362784         · 6a35a39ca5 Add update_head option to git.latest
362785
362786         · 3787f7ed00 Change return output of git.fetch to a dict
362787
362788         · 9ca0f8f440 Add redirect_stderr argument to cmd.run_all
362789
362790       · PR #28937: (rallytime) Update dellchassis state example to  use  cor‐
362791         rect jinja syntax @ 2015-11-17 15:12:28 UTC
362792
362793         · 7da93aad5b Merge pull request #28937 from rallytime/chassis-doc-fix
362794
362795         · d53713ddba  We  only  need  one  fancy  pillar example to match our
362796           state.
362797
362798         · e2926b1996 Update dellchassis state example to  use  correct  jinja
362799           syntax
362800
362801       · ISSUE  #27961: (ahammond) aggregate: False should disable aggregation
362802         even when state_aggregate: True enabled (refs: #28889)
362803
362804       · PR #28889: (jfindlay) state  compiler:  relax  aggregate  conditional
362805         check @ 2015-11-16 17:39:24 UTC
362806
362807         · 16ebda999e Merge pull request #28889 from jfindlay/aggregate
362808
362809         · eb9970019a state compiler: relax aggregate conditional check
362810
362811       · ISSUE #24803: (cachedout) Rewrite GPG renderer tests (refs: #25470)
362812
362813       · PR  #28921:  (rallytime)  Back-port  #25470  to  2015.8  @ 2015-11-16
362814         17:38:59 UTC
362815
362816         · PR #25470: (jfindlay) #24314 with tests (refs: #28921)
362817
362818         · PR #24314: (cedwards) refactor gpg renderer; removing dependency on
362819           python-gnupg (refs: #28921, #25470)
362820
362821         · 91a327bbce Merge pull request #28921 from rallytime/bp-25470
362822
362823         · a5eee74c20 Change Beryllium to 2015.8.3 release
362824
362825         · 5ce61abf57 rewrite GPG unit tests
362826
362827         · 7aa424209e reduce globals in GPG renderer for easier testing
362828
362829         · de5b6682ef log error and return ciphered txt on decrypt error
362830
362831         · 6afb344fe3 updated logic to properly detect GPG_KEYDIR path
362832
362833         · bc9750b85e   refactor   gpg   renderer;   removing   dependency  on
362834           python-gnupg
362835
362836       · PR #28922: (rallytime) Change 2015.8.2 release note title to  reflect
362837         proper version @ 2015-11-16 16:47:33 UTC
362838
362839         · 3707eb1e7c     Merge    pull    request    #28922    from    rally‐
362840           time/release-notes-ver
362841
362842         · 61029f8db1 Change 2015.8.2 release note  title  to  reflect  proper
362843           version
362844
362845       · ISSUE  #23971:  (dumol)  Problems  disabling a service in SLES11 SP3.
362846         (refs: #28891)
362847
362848       · PR #28891:  (jfindlay)  rh_service  module:  fix  logic  in  _chkcon‐
362849         fig_is_enabled @ 2015-11-16 02:44:14 UTC
362850
362851         · 23eae0d9e0 Merge pull request #28891 from jfindlay/chkconfig_check
362852
362853         · e32a9aab85 rh_service._chkconfig_is_enabled unit tests
362854
362855         · 5a93b7e53c rh_service module: fix logic in _chkconfig_is_enabled
362856
362857       · ISSUE  #24019:  (dumol)  SUSE  Linux  Enterprise  Server  11  SP3 not
362858         detected as SLES. (refs: #28892)
362859
362860       · PR #28892: (jfindlay) grains.core: correctly identify  SLES  11  dis‐
362861         trib_id @ 2015-11-16 02:30:30 UTC
362862
362863         · 8e6acd97ae Merge pull request #28892 from jfindlay/sles_grain
362864
362865         · 1cfdc500c9 grains.core: correctly identify SLES 11 distrib_id
362866
362867       · PR  #28910: (lorengordon) Fix winrepo command in windows pkg mgmt doc
362868         @ 2015-11-16 02:29:12 UTC
362869
362870         · cf929c3847 Merge pull request #28910 from lorengordon/patch-1
362871
362872         · 64655398b3 Fix winrepo command in windows pkg mgmt doc
362873
362874       · PR #28896:  (rallytime)  Back-port  #28855  to  2015.8  @  2015-11-15
362875         00:43:15 UTC
362876
362877         · PR  #28855:  (tampakrap)  fix  the  os grain in sle11sp4 to be SUSE
362878           instead of SLES (refs: #28896)
362879
362880         · 7a4fb9a790 Merge pull request #28896 from rallytime/bp-28855
362881
362882         · baf238f270 fix the os grain in sle11sp4 to be SUSE instead of SLES
362883
362884       · PR #28895:  (rallytime)  Back-port  #28823  to  2015.8  @  2015-11-15
362885         00:43:07 UTC
362886
362887         · PR  #28823:  (tampakrap)  Add support for priority and humanname in
362888           pkrepo zypper backend (refs: #28895)
362889
362890         · 64dc3c23e0 Merge pull request #28895 from rallytime/bp-28823
362891
362892         · d167a6b83d Add support for priority and humanname in pkrepo  zypper
362893           backend
362894
362895       · ISSUE  #28754:  (kt97679)  service.enabled fails on xen server (refs:
362896         #28885)
362897
362898       · PR #28885: (kt97679) fix for: service.enabled  fails  on  xen  server
362899         #28754 @ 2015-11-14 04:55:38 UTC
362900
362901         · a45ce78e20 Merge pull request #28885 from kt97679/2015.8
362902
362903         · 7d0f1f11cb fix for: service.enabled fails on xen server #28754
362904
362905       · PR   #28880:  (terminalmage)  Add  "profile"  loglevel  @  2015-11-14
362906         02:07:25 UTC
362907
362908         · 58b57e77be Merge pull request #28880 from terminalmage/profile-log‐
362909           ging
362910
362911         · a62852d407 Add @wraps decorator
362912
362913         · cac9f17307 Add profile logging for template rendering
362914
362915         · c625725f70 Add decorator to do profile-level logging for a function
362916
362917         · 5a2b94ce39 Add "profile" loglevel
362918
362919       · ISSUE  #28881:  (basepi)  salt-ssh  stacktraces  on  first run (refs:
362920         #28882)
362921
362922       · PR #28882: (basepi) [2015.8] salt-ssh: Check return type to make sure
362923         it's an error @ 2015-11-14 00:14:46 UTC
362924
362925         · 5dc7fccb07  Merge  pull  request #28882 from basepi/salt-ssh.stack‐
362926           trace.28881
362927
362928         · f1a1cad607 Check return type to make sure it's actually an error
362929
362930       · PR #28867: (rallytime) [fx2 grains] Grains  functions  should  return
362931         dictionaries @ 2015-11-13 21:14:13 UTC
362932
362933         · 430e9376f6     Merge    pull    request    #28867    from    rally‐
362934           time/fx2-grains-patch
362935
362936         · 022cf5d230 [fx2 grains] Grains functions should return dictionaries
362937
362938       · ISSUE #28859: (mhoogendoorn) ebuild.install  runs  refresh_db()  when
362939         refresh=False is given. (refs: #28863)
362940
362941       · PR #28863: (mhoogendoorn) Fix ebuild.install causing extra refresh_db
362942         calls.  @ 2015-11-13 18:46:03 UTC
362943
362944         · 304072456e   Merge    pull    request    #28863    from    mhoogen‐
362945           doorn/fix-issue-28859
362946
362947         · eca09b89a4 Fix ebuild.install causing extra refresh_db calls.
362948
362949   Salt 2015.8.4 Release Notes
362950       Version 2015.8.4 is a bugfix release for 2015.8.0.
362951
362952   Statistics
362953       · Total Merges: 322
362954
362955       · Total Issue References: 120
362956
362957       · Total PR References: 312
362958
362959       · Contributors:  78 (AkhterAli, DmitryKuzmenko, MadsRC, Oro, The-Loeki,
362960         abednarik, akissa, anlutro,  basepi,  bastiaanb,  bdrung,  borgstrom,
362961         cachedout,   clan,   clinta,   cournape,   cro,  ctrlrsf,  dmacvicar,
362962         dmurphy18,   dnd,   dr4Ke,   eliasp,    fcrozat,    frioux,    galet,
362963         garethgreenaway,  gqgunhed, gtmanfred, hexedpackets, isbm, jacksontj,
362964         jacobhammons,  jfindlay,  jleimbach,  job,  joejulian,   julianbrost,
362965         justinta,  kingsquirrel152,  kiorky,  l2ol33rt, lagesag, lorengordon,
362966         mbarrien, mpreziuso, multani, nmadhok, oeuftete,  opdude,  optix2000,
362967         pass-by-value,    paulnivin,   plastikos,   pritambaral,   rallytime,
362968         rasathus, rmatulat, ruxandraburtica, ryan-lane, s0undt3ch, seanjnkns,
362969         serge-p,   sjorge,   stanislavb,   tbaker57,  techhat,  terminalmage,
362970         thatch45,   thegoodduke,   thomaso-mirodin,   ticosax,    timcharper,
362971         tkunicki, trevor-h, twangboy, whiteinge, whytewolf)
362972
362973   Known Issues
362974       · *_in requisites (issue #30820)
362975
362976         This  issue  affects  all  users targeting an explicit - name: <name>
362977         with a _in requisite (such as watch_in or require_in). If you are not
362978         using explicit - name: <name> arguments, are targeting with the state
362979         ID instead of the name, or are not using  _in  requisites,  then  you
362980         should be safe to upgrade to 2015.8.4.
362981
362982         This issue is resolved in the 2015.8.5 release.
362983
362984   Security Fix
362985       CVE-2016-1866  Improper handling of clear messages on the minion, which
362986       could result in executing commands not sent by the master.
362987
362988       This issue affects only the 2015.8.x releases of Salt. In order for  an
362989       attacker  to  use this attack vector, they would have to execute a suc‐
362990       cessful attack on an existing TCP connection between minion and  master
362991       on  the  pub port. It does not allow an external attacker to obtain the
362992       shared secret or decrypt any encrypted traffic between minion and  mas‐
362993       ter.  Thank  you  to  Sebastian Krahmer <krahmer@suse.com> for bringing
362994       this issue to our attention.
362995
362996       We recommend everyone upgrade to 2015.8.4 as soon as possible.
362997
362998   Core Changes
362999       · Support for IAM roles added to S3 module
363000
363001       · Added option mock=True for state.sls and state.highstate. This allows
363002         the  state  compiler to process sls data in a state run without actu‐
363003         ally calling the state functions,  thus  providing  feedback  on  the
363004         validity  of  the arguments used for the functions beyond the prepro‐
363005         cessing validation provided by state.show_sls (issue #30118 and issue
363006         #30189).
363007
363008            salt '*' state.sls core,edit.vim mock=True
363009            salt '*' state.highstate mock=True
363010            salt '*' state.apply edit.vim mock=True
363011
363012   Changelog for v2015.8.3..v2015.8.4
363013       Generated at: 2018-05-27 23:28:18 UTC
363014
363015       · PR  #30615:  (jfindlay)  add  2015.8.4  release  notes  @  2016-01-25
363016         18:11:02 UTC
363017
363018         · 1c6c394d0e Merge pull request #30615 from jfindlay/2015.8
363019
363020         · e4043403e4 add 2015.8.4 release notes
363021
363022       · PR #30612:  (rallytime)  Back-port  #29940  to  2015.8  @  2016-01-25
363023         17:52:43 UTC
363024
363025         · PR #29940: (dr4Ke) file.line: better diff (refs: #30612)
363026
363027         · ec50581aad Merge pull request #30612 from rallytime/bp-29940
363028
363029         · 3ebb8249d7 file.line: better diff
363030
363031       · PR   #30613:  (basepi)  Fix  minion/syndic  clearfuncs  @  2016-01-25
363032         17:40:59 UTC
363033
363034         · 48373e0ea9 Merge  pull  request  #30613  from  basepi/minion_clear‐
363035           funcs_2015.8
363036
363037         · a3c3182f39 Correctly handle clearfuncs on the syndic
363038
363039         · 098ce4335d Correct handle clearfuncs on the minion
363040
363041       · ISSUE  #29601: (seanjnkns) pillars not merging properly with 2015.8.3
363042         (refs: #30062)
363043
363044       · PR #30609: (seanjnkns) Fix documentation for pillar_merge_lists which
363045         default is False, not … @ 2016-01-25 17:15:45 UTC
363046
363047         · PR #30062: (seanjnkns) Remove recurse_list from pillar_source_merg‐
363048           ing_strategy and add pilla… (refs: #30609, #30458)
363049
363050         · 89b4f3de1b Merge pull request #30609 from seanjnkns/backport_30602
363051
363052         · 9924acdc43 Fix documentation for pillar_merge_lists  which  default
363053           is False, not True.  From PR #30062
363054
363055       · PR  #30584:  (julianbrost) file.line state: add missing colon in doc‐
363056         string @ 2016-01-25 16:37:38 UTC
363057
363058         · 24ead62c41    Merge    pull    request    #30584    from    julian‐
363059           brost/fix-doc-file-line-missing-colon
363060
363061         · 2ab367f95b file.line state: add missing colon in docstring
363062
363063       · PR  #30589:  (terminalmage)  Merge  2015.5  into  2015.8 @ 2016-01-25
363064         16:20:41 UTC
363065
363066         · a7ba2df5e2   Merge   pull    request    #30589    from    terminal‐
363067           mage/2015.5-2015.8
363068
363069         · d649551fbf Merge branch '2015.5' into 2015.5-2015.8
363070
363071           · a823e21428  Merge pull request #30582 from terminalmage/dnf-repo‐
363072             query-multiple-targets
363073
363074             · 410da789f9 yumpkg.check_db:  run  separate  repoquery  commands
363075               when multiple names passed
363076
363077           · 8e56be7f4c Merge pull request #30548 from jacobhammons/doc-fixes
363078
363079             · 03c51bb54d   Added  placeholder  release  notes  for  2015.5.10
363080               Changed old doc links  from  docs.saltstack.org  to  docs.salt‐
363081               stack.com
363082
363083           · 1aafd4c5b5    Merge    pull   request   #30530   from   terminal‐
363084             mage/yumpkg-dnf-cleanup
363085
363086             · 2586f71bcf 2015.5 tweaks from #30529
363087
363088       · PR #30599: (multani)  Documentation  formatting  fixes  @  2016-01-25
363089         15:37:46 UTC
363090
363091         · 3a55d11916 Merge pull request #30599 from multani/fix/docs
363092
363093         · 038ecc4acd For doc formatting of salt.states.module
363094
363095         · 4062c63b9f Fix doc formatting for yaml_idiosyncrasies
363096
363097         · 6efb77bc04 Fix doc formatting of salt.modules.parted
363098
363099         · a329adfb21 Add missing salt.queues.* documentation
363100
363101         · 2465cf4ba5 Remove non-existing documentation
363102
363103         · 814e64c304 Fix documentation markup in salt.modules.osquery
363104
363105         · d2614d6169 Fix documentation markup for salt.modules.ipmi
363106
363107         · 276eb3a843 Fix GCE documentation
363108
363109       · ISSUE  #10157:  (martinb3)  salt-cloud actions don't have very useful
363110         error messages (refs: #30554)
363111
363112       · PR #30554: (rallytime) Make the salt-cloud actions output  more  ver‐
363113         bose and helpful @ 2016-01-22 20:23:18 UTC
363114
363115         · b1e604add3 Merge pull request #30554 from rallytime/fix-10157
363116
363117         · 6fa952f16d  Make  the  salt-cloud  actions  output more verbose and
363118           helpful
363119
363120       · PR #30549: (techhat) Salt Virt cleanup @ 2016-01-22 18:45:18 UTC
363121
363122         · 2eb5a3803d Merge pull request #30549 from techhat/virtcleanup
363123
363124         · 9baab73cd0 Fix copy pasta
363125
363126         · 6413c11f29 Salt Virt cleanup
363127
363128       · PR #30553: (techhat)  AWS:  Support  17-character  IDs  @  2016-01-22
363129         18:41:46 UTC
363130
363131         · f63b183e43 Merge pull request #30553 from techhat/awsid
363132
363133         · a95fbff4bc Support 17-character IDs
363134
363135       · PR  #30532: (whiteinge) Add execution module for working in sls files
363136         @ 2016-01-22 17:25:16 UTC
363137
363138         · 05d05263ab Merge pull request #30532 from whiteinge/slsutil-mod
363139
363140         · a57d9984e4 Add slsutil to doc index
363141
363142         · 155966c9d2 Add execution module for working in sls files
363143
363144       · PR #30529: (terminalmage) Merge 2015.5 into 2015.8 (refs:  #30530)  @
363145         2016-01-22 17:19:39 UTC
363146
363147         · 1da1bb9afc    Merge    pull    request    #30529   from   terminal‐
363148           mage/2015.5-2015.8
363149
363150         · e85ad690fb Lint fixes
363151
363152         · 43829ecee6 Docstring tweaks
363153
363154         · 92d5a2a49c Fix spelling
363155
363156         · fdc60fc04a  Modify  pkg.group_installed  to  reflect   changes   in
363157           yumpkg.py
363158
363159         · a118eb5d2e Merge branch '2015.5' into 2015.5-2015.8
363160
363161         · 7798d42272    Merge    pull    request    #30484   from   terminal‐
363162           mage/dnf-yumpkg-2015.5
363163
363164           · 330e26d1da Hide get_locked_packages
363165
363166           · 5a637420e8 Backport DNF support to 2015.5 branch
363167
363168       · PR #30526: (twangboy) Added FlushKey to make sure  it's  changes  are
363169         saved to disk @ 2016-01-22 02:33:13 UTC
363170
363171         · e366f6a7fd Merge pull request #30526 from twangboy/reg_flushkey
363172
363173         · 23085ffbbb  Added  FlushKey  to make sure it's changes are saved to
363174           disk
363175
363176       · PR #30521: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
363177         2016-01-21 23:05:03 UTC
363178
363179         · cdc731b8c5   Merge   pull  request  #30521  from  basepi/merge-for‐
363180           ward-2015.8
363181
363182         · f22f5ff851 Fix lint
363183
363184         · 117fb205de  Merge  remote-tracking  branch  'upstream/2015.5'  into
363185           merge-forward-2015.8
363186
363187           · b348f804b1 Merge pull request #30512 from jfindlay/repo_test
363188
363189             · 66f06f2bd3 disable pkgrepo test for ubuntu 15.10+
363190
363191           · a9348dfef8 Merge pull request #30478 from jtand/pip_8_update
363192
363193             · 6227368830 Convert version to int, instead of comparing strings
363194               to ints
363195
363196             · 20384a4810 Added InstallationError to except block
363197
363198             · baa274bca9 Updated pip_state to work with pip 8.0
363199
363200           · a30147c64f  Merge  pull  request  #30482   from   borgstrom/pyob‐
363201             jects_recursive
363202
363203             · 2c55a7580b Fixup lint errors
363204
363205             · b46df0e4b5 Allow recursive salt:// imports
363206
363207             · 51bfa16173  Add  test  to prove that recursive imports are cur‐
363208               rently broken
363209
363210           · 5c7cc51937 Merge pull request #30459 from jfindlay/pkg_tests
363211
363212             · fb9972f590 modules.pkg: disable repo int test for ubuntu 15.10
363213
363214           · dd2ceb4c07 Merge pull request #30443 from jtand/boto_vpc_5
363215
363216             · 2f77152479 Boto uses False for is_default instead of None
363217
363218           · 62d9dddced Merge pull request #30420 from attiasr/patch-1
363219
363220             · 4de343c5a1 Backport #26853
363221
363222       · PR #30485: (justinta) Updated pip_state  to  work  with  pip  8.0  on
363223         2015.8 @ 2016-01-21 22:55:38 UTC
363224
363225         · 019af349af Merge pull request #30485 from jtand/pip_8_update_2015.8
363226
363227         · 9cb17332fa Updated pip_state to work with pip 8.0 on 2015.8
363228
363229       · PR  #30494:  (isbm)  Zypper: info_installed — 'errors' flag change to
363230         type 'boolean' @ 2016-01-21 22:55:05 UTC
363231
363232         · 3259fde362  Merge   pull   request   #30494   from   isbm/isbm-zyp‐
363233           per-nfoinst-bool-fix
363234
363235         · 4d7659270e Place the boolean check
363236
363237         · 58db1c3b16 Fix typo
363238
363239         · 43254aa993 Update docstring according to the boolean flag
363240
363241         · a7d3e0d5ad Change 'errors' flag to boolean.
363242
363243       · PR  #30506:  (jacksontj)  Properly  remove newlines after reading the
363244         file @ 2016-01-21 22:53:57 UTC
363245
363246         · 596892326d Merge pull request #30506 from jacksontj/2015.8
363247
363248         · e1dea6f843 Properly remove newlines after reading the file
363249
363250       · ISSUE #30444: (dnd) Cloning linode server with salt-cloud fails  try‐
363251         ing to create disk config (refs: #30508)
363252
363253       · ISSUE  #30432:  (dnd)  Cloning linode server with salt-cloud requires
363254         payment term (refs: #30508)
363255
363256       · PR #30508: (rallytime) Fix  Linode  driver  cloning  functionality  @
363257         2016-01-21 22:53:36 UTC
363258
363259         · 15c7aedd46   Merge   pull   request   #30508   from  rallytime/lin‐
363260           ode-clone-fixes
363261
363262         · d26ed74bde Make sure  the  correct  profile  parameters  are  being
363263           checked when cloning
363264
363265         · 1d7e229377 Fix Linode driver cloning functionality.
363266
363267       · PR  #30522:  (terminalmage) Update git.list_worktree tests to reflect
363268         new return data @ 2016-01-21 22:34:20 UTC
363269
363270         · 79528c59c3 Merge pull request  #30522  from  terminalmage/fix-work‐
363271           tree-tests
363272
363273         · ea0ca70187 Add git.list_worktrees unit test
363274
363275         · 393015edbb Remove git.list_worktrees tests
363276
363277       · ISSUE  #30465:  (alandrees)  Nested  imports  with  pyobjects  (refs:
363278         #30483, #30482)
363279
363280       · PR  #30483:  (borgstrom)  Pyobjects  recursive  import  support  (for
363281         2015.8) @ 2016-01-21 15:55:27 UTC
363282
363283         · 119f025073   Merge   pull   request   #30483  from  borgstrom/pyob‐
363284           jects_recursive-2015.8
363285
363286         · 788b672e3a Fixup lint errors
363287
363288         · e148ea2d52 Allow recursive salt:// imports
363289
363290         · 6bbac64d3a Add test to prove that recursive imports  are  currently
363291           broken
363292
363293       · PR  #30491:  (jacksontj)  Add  multi-IP  support  to  network state @
363294         2016-01-21 15:51:42 UTC
363295
363296         · d8d19cf75d Merge pull request #30491 from jacksontj/2015.8
363297
363298         · 82213555ca Normalize yaml spacing to 2 space
363299
363300         · 3d1469b8d9 Add example of multiple addrs/ipv6addrs to docs
363301
363302         · 91c8a1b4e4 Add support for multiple IP addresses per  interface  to
363303           rh_ip
363304
363305       · PR  #30496:  (anlutro)  Fix  KeyError  when  adding ignored pillars @
363306         2016-01-21 15:51:03 UTC
363307
363308         · 56332ca504 Merge pull request  #30496  from  alprs/fix-ignored_pil‐
363309           lars_keyerror
363310
363311         · bbcb783621 fix KeyError when adding ignored pillars
363312
363313       · PR  #30359:  (kingsquirrel152) Removes suspected copy/paste error for
363314         zmq_filtering functionailty @ 2016-01-20 18:42:42 UTC
363315
363316         · e425cbd654  Merge  pull  request  #30359  from   distil/zmq_filter‐
363317           ing_bug_fix
363318
363319         · 44bfbbf15b Removes suspected copy/paste error.
363320
363321       · PR  #30448: (cournape) Fix osx scripts location @ 2016-01-20 17:59:29
363322         UTC
363323
363324         · 13add7d142    Merge    pull    request    #30448     from     cour‐
363325           nape/fix-osx-scripts-location
363326
363327         · 3c27ab5310  BUG:  fix osx .pkg script locations to match the .plist
363328           files.
363329
363330         · ed9ab68d3b BUG: fix missing sudo when linking certify cert.
363331
363332       · ISSUE #22820: (VynceMontgomery) some docs missing again  (cf  #22720)
363333         (refs: #30457)
363334
363335       · PR  #30457: (rallytime) Remove fsutils references from modules list @
363336         2016-01-20 16:43:50 UTC
363337
363338         · 2b7d20cee7 Merge pull request #30457 from rallytime/fix-22820
363339
363340         · 3288ff104d Remove fsutils references from modules list
363341
363342       · ISSUE #30442: (ssplatt) salt-cloud linode query only lists private or
363343         public IP, not both (refs: #30453)
363344
363345       · PR  #30453:  (rallytime)  Make sure private AND public IPs are listed
363346         for Linode driver @ 2016-01-20 16:41:51 UTC
363347
363348         · e706b71871 Merge pull request #30453 from rallytime/fix-30442
363349
363350         · a1f882f4fe Make sure private AND public IPs are listed  for  Linode
363351           driver
363352
363353       · ISSUE  #29601: (seanjnkns) pillars not merging properly with 2015.8.3
363354         (refs: #30062)
363355
363356       · PR #30458:  (rallytime)  Back-port  #30062  to  2015.8  @  2016-01-20
363357         16:40:23 UTC
363358
363359         · PR #30062: (seanjnkns) Remove recurse_list from pillar_source_merg‐
363360           ing_strategy and add pilla… (refs: #30609, #30458)
363361
363362         · 73f372dc98 Merge pull request #30458 from rallytime/bp-30062
363363
363364         · 9665d9655f Set (pillar_)merge_lists to default for PR #30062
363365
363366         · 7ea4dbf478 Fix lint for PR30062
363367
363368         · e44a30620b Remove recurse_list from  pillar_source_merging_strategy
363369           and add pillar_merge_list (bool) instead
363370
363371       · PR  #30468:  (timcharper) make note of s3 role assumption in upcoming
363372         changelog @ 2016-01-20 16:28:04 UTC
363373
363374         · c3fb4006b0 Merge pull request #30468 from timcharper/2015.8
363375
363376         · 721c1c871b make note of s3 role assumption in upcoming changelog
363377
363378       · PR #30470: (whiteinge)  Add  example  of  the  match_dict  format  to
363379         accept_dict wheel function @ 2016-01-20 16:26:16 UTC
363380
363381         · c611541916 Merge pull request #30470 from whiteinge/match_dict
363382
363383         · 5034e13f5d  Add  example  of  the  match_dict format to accept_dict
363384           wheel function
363385
363386       · ISSUE #28017: (ThomasZhou) Using salt-cloud nova driver, raise error:
363387         SaltNova'  object  has  no  attribute  '_discover_extensions'  (refs:
363388         #30450)
363389
363390       · PR  #30450:  (gtmanfred)  fix  extension  loading  in  novaclient   @
363391         2016-01-19 21:16:32 UTC
363392
363393         · d70e6b312a Merge pull request #30450 from gtmanfred/2015.8
363394
363395         · 4aa6faaf48 fix extension loading in novaclient
363396
363397       · ISSUE  #30150:  (rapenne-s) file.line reset permissions to 600 (refs:
363398         #30212, #30168)
363399
363400       · PR #30212: (abednarik) Fix incorrect file permissions in file.line  @
363401         2016-01-19 21:15:48 UTC
363402
363403         · 0af5e16809     Merge     pull    request    #30212    from    abed‐
363404           narik/fix_file_line_permissions
363405
363406         · dec15d1357 Fix incorrect file permissions in file.line
363407
363408       · ISSUE     #29918:     (WangWenchao)      UnicodeDecodeError      when
363409         saltutil.sync_modules   for  Windows   salt-minion   2015.8.3  (refs:
363410         #29947)
363411
363412       · PR #29947: (jfindlay) fileclient: decode  file  list  from  master  @
363413         2016-01-19 20:36:32 UTC
363414
363415         · 3c12b451fe Merge pull request #29947 from jfindlay/remote_decode
363416
363417         · b9241fb6b0 state: use simple string formatting for messages
363418
363419         · f6162f168c fileclient: decode file list from master
363420
363421       · ISSUE #30203: (terminalmage) Update salt.modules.git.list_worktrees()
363422         to use 'git worktree list' for Git >= 2.7.0 (refs: #30363)
363423
363424       · PR #30363: (terminalmage) Use native "list" subcommand  to  list  git
363425         worktrees @ 2016-01-19 20:35:41 UTC
363426
363427         · 6e8b1e89a5 Merge pull request #30363 from terminalmage/issue30203
363428
363429         · ee40491166 Fix redefined variable
363430
363431         · 5f95851987 Use native "list" subcommand to list git worktrees
363432
363433         · 911105f27c Fix incorrect missing gitdir file detection
363434
363435       · PR  #30445: (justinta) Boto uses False for is_default instead of None
363436         @ 2016-01-19 18:28:18 UTC
363437
363438         · dfb9dec84f Merge pull request #30445 from jtand/boto_vpc_8
363439
363440         · 00943ff1e6 Boto uses False for is_default instead of None
363441
363442       · PR  #30406:  (frioux)  Add  an  example  of  how  to  use   file.man‐
363443         aged/check_cmd @ 2016-01-19 18:23:49 UTC
363444
363445         · f9b3f3f038       Merge      pull      request      #30406      from
363446           ZipRecruiter/check-cmd-example
363447
363448         · 92e0d77a9a Add an example of how to use file.managed/check_cmd
363449
363450       · PR #30424: (isbm) Check if byte strings are properly encoded in UTF-8
363451         @ 2016-01-19 17:52:25 UTC
363452
363453         · 05ad3dcc94   Merge   pull   request   #30424   from  isbm/isbm-zyp‐
363454           per-utf-8-errors
363455
363456         · a0f263f411 Clarify the error message
363457
363458         · 12f8e93247 Update documentation accordingly.
363459
363460         · 1d384b6abd Add error handling to the RPM broken strings
363461
363462         · cf0dad3a6c Rename keywords arguments variable to a default name.
363463
363464         · 26aa801342 Check if byte strings are properly encoded in UTF-8
363465
363466       · ISSUE #30051: (joejulian) glusterfs.status fails with  glusterfs  3.7
363467         (refs: #30075)
363468
363469       · PR  #30405: (justinta) Updated glusterfs.py for python2.6 compatibil‐
363470         ity.  @ 2016-01-15 22:50:06 UTC
363471
363472         · PR #30075: (joejulian) Convert glusterfs module to use  xml  (refs:
363473           #30405)
363474
363475         · 1bace55e45 Merge pull request #30405 from jtand/glusterfs_py26
363476
363477         · a332e06c4a Fixed lint error
363478
363479         · 522b4990ef  Updated the rest of glusterfs.py for python2.6 compati‐
363480           bility
363481
363482         · 971ce58cd6 updated list_peers to be python2.6 compatible
363483
363484       · PR #30396: (pass-by-value) Remove hardcoded val @ 2016-01-15 22:03:53
363485         UTC
363486
363487         · cb1c0958bd       Merge      pull      request      #30396      from
363488           pass-by-value/remove_hardcoded_val
363489
363490         · dd90b325e7 Get vm info
363491
363492         · 9430ad1465 Remove hardcoded value
363493
363494       · PR #30391: (justinta) Added else statements @ 2016-01-15 19:17:55 UTC
363495
363496         · PR #30389: (justinta) Older versions of ipset  don't  support  com‐
363497           ments (refs: #30391)
363498
363499         · 60737c970e Merge pull request #30391 from jtand/ipset
363500
363501         · 345b056406 Fixed lint error
363502
363503         · c20f9b6a87 Added else statements
363504
363505       · ISSUE  #30277:  (webtrekker)  [salt-cloud]  Error actioning machines:
363506         'ascii' codec can't encode character u'\\xa0' in position  20  (refs:
363507         #30374)
363508
363509       · PR  #30375: (rallytime) Wrap formatted log statements with six.u() in
363510         cloud/__init__.py @ 2016-01-15 18:41:55 UTC
363511
363512         · PR #30374: (rallytime) Wrap formatted log statements  with  six.u()
363513           in the VMware module (refs: #30375)
363514
363515         · 6ac1f6cf54     Merge    pull    request    #30375    from    rally‐
363516           time/fix-cloud-log-formatting
363517
363518         · 5e7fb0c428  Wrap  formatted  log   statements   with   six.u()   in
363519           cloud/__init__.py
363520
363521       · PR  #30384:  (isbm) Bugfix: info_available does not work correctly on
363522         SLE 11 series @ 2016-01-15 18:31:57 UTC
363523
363524         · c478148b60  Merge   pull   request   #30384   from   isbm/isbm-zyp‐
363525           per-info-avaiable-fix
363526
363527         · c7bc20e865  Split information, that is compatible with the Zypper's
363528           output on SLE11.
363529
363530       · PR #30376: (pritambaral) Fix FLO_DIR  path  in  2015.8  @  2016-01-15
363531         18:25:49 UTC
363532
363533         · 9fe2df82bd Merge pull request #30376 from pritambaral/fix/flo-dir
363534
363535         · 534879e79f  Revert  "Raet  Salt broken when config moved to package
363536           directory"
363537
363538       · PR #30389: (justinta) Older versions of ipset don't support  comments
363539         (refs: #30391) @ 2016-01-15 17:41:02 UTC
363540
363541         · 3ac3804ddc Merge pull request #30389 from jtand/ipset
363542
363543         · fac6c3f6ae Fixed some typos from testing
363544
363545         · 67d4997316 Older versions of ipset don't support comments
363546
363547       · PR  #30373:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
363548         2016-01-15 16:23:38 UTC
363549
363550         · 4cc9422bf8  Merge  pull  request  #30373   from   basepi/merge-for‐
363551           ward-2015.8
363552
363553         · 5b53bf2597  Merge  remote-tracking  branch  'upstream/2015.5'  into
363554           merge-forward-2015.8
363555
363556           · 5a923b3aa9 Merge pull request #30364 from rallytime/fix-30341
363557
363558             · 79bcf151cb Add TLS version imports and add linode driver  docu‐
363559               mentation notices
363560
363561           · f037fd9c27 Merge pull request #30184 from rallytime/bp-30166
363562
363563             · fa6b1b3022  adding  split_env  call  to cp.hash_file to pick up
363564               saltenv in file query parameter
363565
363566           · 1d8413fd2f   Merge   pull   request    #30291    from    thegood‐
363567             duke/for_fix_ipset
363568
363569             · 62d6ccf561 ipset: fix test=true & add comment for every entry
363570
363571           · 92889db638 Merge pull request #30248 from jfindlay/2015.5
363572
363573             · 741f7aba31 add 2015.5.9 release notes
363574
363575           · 7a329d89d7    Merge    pull   request   #30237   from   jacobham‐
363576             mons/man-pages-prev
363577
363578             · 2431c4c5c3 Updated man page and doc conf.py copyright  year  to
363579               2016
363580
363581             · fe3da1c174 Updated man pages and doc version for 2015.5.9
363582
363583           · 2c0b725924   Merge   pull   request  #30207  from  rallytime/rab‐
363584             bitmq_states_doc_fix
363585
363586             · 8d48c24182 Use correct spacing in rabbitmq state examples
363587
363588           · b49cf910f4  Merge  pull  request  #30191  from  jacobhammons/ban‐
363589             ner-prev
363590
363591             · c3390955b0 Updated doc site banners
363592
363593       · PR  #30372:  (jacobhammons)  Updated  man pages for 2015.8.4, updated
363594         copyright to 2016 @ 2016-01-14 23:18:40 UTC
363595
363596         · a9edb194a4 Merge pull request #30372 from jacobhammons/man-pages
363597
363598         · 891ddafcba Updated man pages for  2015.8.4,  updated  copyright  to
363599           2016
363600
363601       · PR  #30370:  (rallytime)  Remove  incomplete  function  @  2016-01-14
363602         22:49:45 UTC
363603
363604         · e77585de17 Merge pull request #30370  from  rallytime/remove-incom‐
363605           plete-func
363606
363607         · e220fa5125 Remove incomplete function
363608
363609       · ISSUE  #23215:  (lichtamberg)  Rbenv: gem.installed not using correct
363610         ruby version if it's not default on 2015.02  (refs: #28702)
363611
363612       · PR #30366:  (rallytime)  Back-port  #28702  to  2015.8  @  2016-01-14
363613         21:10:03 UTC
363614
363615         · PR  #28702:  (dnd)  Pass  RBENV_VERSION  in  env  dict, and protect
363616           shlex.split (refs: #30366)
363617
363618         · eb1ecd9732 Merge pull request #30366 from rallytime/bp-28702
363619
363620         · 4f2274a275 Remove extra line
363621
363622         · 048b13cf73 Pass RBENV_VERSION in env dict, and protect shlex.split
363623
363624       · PR #30361: (cro) Flip the sense of the test for proxymodule  imports,
363625         add more fns for esxi proxy @ 2016-01-14 20:54:08 UTC
363626
363627         · 40594efc0b Merge pull request #30361 from cro/esxi-proxy2
363628
363629         · 8f7490ca98 Missed return statement.
363630
363631         · 389ede9e3e Lint
363632
363633         · 9db34d6ffe Lint
363634
363635         · b5c7a46f7a Lint
363636
363637         · 1a3b1f2626 Don't use short variables
363638
363639         · b80577182a Remove stub functions.
363640
363641         · 58f7fc3285 Don't use single character variables.
363642
363643         · e712664bcf Better comment.
363644
363645         · 9e9a37d0d4 Indentation.
363646
363647         · 6c9bf76e19 Revert earlier vmware change for ssl cert checking.
363648
363649         · db8a281ab8  Flip  the  sense  of  the test for items (modules, etc)
363650           loaded by the proxy.  Now load everything a  regular  minion  would
363651           load,  and  only check to make sure __proxyenabled__ is present for
363652           proxymodules and grains
363653
363654         · 00c4ef6ec2 Need a list
363655
363656         · 0da7a6d6d1 Recreate the pr
363657
363658       · PR #30267: (isbm) Fix RPM issues with the date/time and  add  package
363659         attributes filtering @ 2016-01-14 18:00:01 UTC
363660
363661         · f4118be6e4 Merge pull request #30267 from isbm/isbm-zypper-isotime‐
363662           fix
363663
363664         · 18281e7e0b Add "*time_t" as a separate attributes
363665
363666         · 4105157cfd Add *time_t to the docs
363667
363668         · 78e16a7b00 Construct RPM query dynamically
363669
363670         · 6992d74806 Update documentation for the valid package attributes
363671
363672         · 6710e4900d Use renamed variable (filter_attrs to attr)
363673
363674         · b68e1228e9 Remove unnecessary check for the "name" key
363675
363676         · e5b3e77186 Remove key transformations
363677
363678         · 9ac52c9123 Add zone to the ISO from unix time
363679
363680         · d352c08305 Fix lint: unused import
363681
363682         · d571381f76 Update the documentation for the Zypper module
363683
363684         · 5651a043e6 Update documentation for lowpkg
363685
363686         · 7edb0e8f3f Replace "*_date_iso" with "*_date" and use Unix time  as
363687           "*_date_time_t"
363688
363689         · b2b21f877a Add epoch (note: this is empty on SUSE systems)
363690
363691         · 0eebe10d9a Clarify description
363692
363693         · a745d9ecdf Fix syntax for the documentation in zypper module
363694
363695         · c95c2d24db Fix the documentation syntax
363696
363697         · 1fb84538b1 Update documentation
363698
363699         · 43ebff4dd7 Return build date in Unix ticks
363700
363701         · bdaa1e4d6e Add package architecture attribute
363702
363703         · ba64df4def Update documentation
363704
363705         · 6e3743dce6 Incorporate lowpkg.info into info_installed
363706
363707         · b72b8d5323 Fix the documentation
363708
363709         · 181314b20e Add filtering per attributes feature
363710
363711         · 39e70ef762  Fix ISO and Unix time of the package for RPM systems on
363712           C locale.
363713
363714       · ISSUE #30330: (JensRantil)  salt.state.file.absent  doesn't  document
363715         recursiveness (refs: #30360)
363716
363717       · PR #30360: (jfindlay) file.remove, file.absent: mention recursive dir
363718         removal @ 2016-01-14 17:30:26 UTC
363719
363720         · b61cb7a238 Merge pull request #30360 from jfindlay/remove_doc
363721
363722         · a21ccd2700 file.remove, file.absent: mention recursive dir removal
363723
363724       · ISSUE #26845: (maio) Postgres module (user_exists) doesn't work  with
363725         PostgreSQL 9.5 (refs: #30221)
363726
363727       · PR #30221: (mbarrien) No rolcatupdate for user_exist in Postgres>=9.5
363728         #26845 @ 2016-01-14 16:52:49 UTC
363729
363730         · ba8d128025 Merge pull request #30221 from mbarrien/postgres-9.5
363731
363732         · a8f2bc7998 No rolcatupdate for user_exist in Postgres>=9.5 #26845
363733
363734       · PR #30358: (terminalmage) Add libgit2 version  to  versions-report  @
363735         2016-01-14 16:37:28 UTC
363736
363737         · 4787c2c9ad Merge pull request #30358 from terminalmage/libgit2-ver‐
363738           sion
363739
363740         · 89fe571791 Add libgit2 version to versions-report
363741
363742       · PR #30346: (pass-by-value)  Prevent  orphaned  volumes  @  2016-01-14
363743         16:37:08 UTC
363744
363745         · af2ddfd31c       Merge      pull      request      #30346      from
363746           pass-by-value/aws_vols_attach
363747
363748         · 19fce03ee2 Prevent orphaned volumes
363749
363750       · PR #30349:  (rallytime)  Back-port  #30347  to  2015.8  @  2016-01-14
363751         16:26:37 UTC
363752
363753         · PR #30347: (rallytime) Merge #30231 with updates to dependency doc‐
363754           umentation (refs: #30349)
363755
363756         · PR #30231: (nmadhok) Fix issue where pyVmomi 6.0.0 raises SSL Error
363757           for systems using Python2.7+ (refs: #30347)
363758
363759         · bccb8f3b5b Merge pull request #30349 from rallytime/bp-30347
363760
363761         · df70afdaa3 Merge #30231 with updates to dependency documentation
363762
363763         · a7c2ad5505  Fix issue where pyVmomi 6.0.0 raises SSL Error for sys‐
363764           tems using Python2.7+
363765
363766       · PR #30354: (anlutro) Make sure all ignore_missing SLSes are catched @
363767         2016-01-14 16:24:19 UTC
363768
363769         · PR  #19429: (ryan-lane) Add new ignore_missing option to pillar top
363770           (refs: #30354)
363771
363772         · 7ee61f0d62  Merge   pull   request   #30354   from   alprs/fix-pil‐
363773           lar_ignore_missing
363774
363775         · 2f662bbc8d make sure all ignore_missing slses are catched
363776
363777       · PR #30356: (nmadhok) Adding code author @ 2016-01-14 16:23:08 UTC
363778
363779         · 4bdade6010 Merge pull request #30356 from nmadhok/patch-1
363780
363781         · 581e4f5dc7 Adding code author
363782
363783       · PR  #30340:  (justinta) Updated seed_test.py for changes made to seed
363784         module @ 2016-01-13 22:50:34 UTC
363785
363786         · d5b8776355 Merge pull request #30340 from jtand/seed_test_fix
363787
363788         · ee764ee952 Updated seed_test.py for changes made to seed module
363789
363790       · ISSUE #26478: (rasathus) nested upstart services  are  not  supported
363791         (refs: #26511)
363792
363793       · PR #30339: (jfindlay) Backport #26511 @ 2016-01-13 22:35:17 UTC
363794
363795         · PR  #26511:  (rasathus)  Adds support for nested upstart scripts in
363796           the form of subfolder/serv… (refs: #30339)
363797
363798         · 3bbed62d07 Merge pull request #30339 from jfindlay/bp-26511
363799
363800         · 89d9cd5e38 Adds support for nested upstart scripts in the  form  of
363801           subfolder/service.   This is implemented via an os.walk through the
363802           /etc/init folder, rather than the previous glob for *.conf method.
363803
363804       · ISSUE #28339: (boboli) salt-call state.highstate fails with  ZMQError
363805         when minion has no id set in /etc/salt/minion (refs: #28423, #28431)
363806
363807       · PR  #30343:  (rallytime)  Fix  2015.8  from  incomplete  back-port  @
363808         2016-01-13 21:56:26 UTC
363809
363810         · PR #30187: (rallytime) Back-port #27606 to 2015.8 (refs: #30343)
363811
363812         · PR #28431: (plastikos) Use a broader test  for  unset  "id"  (refs:
363813           #30343)
363814
363815         · PR  #28423:  (cachedout) Fix issue with empty str as default minion
363816           id (refs: #28431)
363817
363818         · PR #28189: (plastikos) Always  get  default  option  settings  from
363819           salt.config (refs: #30343, #28431)
363820
363821         · PR #28131: (cachedout) Set a fallback HWM (refs: #30343)
363822
363823         · PR  #27606:  (plastikos)  RFC: Add additional ZMQ tuning parameters
363824           necessary for 1k+ minions per master [WIP] (refs: #30343, #30187)
363825
363826         · 6079a96e6e Merge pull request #30343 from rallytime/fix-2015.8
363827
363828         · 5eef9d5067 Use a broader test for unset "id"
363829
363830         · 460a3c98cc Additional corrections to use option  defaults  directly
363831           from salt.config
363832
363833         · 4e53ef0bf6 Always get default option settings from salt.config
363834
363835         · 94ee6f88af Set a fallback HWM
363836
363837       · PR  #30342:  (eliasp) Correct whitespace placement in error message @
363838         2016-01-13 21:32:26 UTC
363839
363840         · 7276d808ff Merge pull request  #30342  from  eliasp/2015.8-log-mes‐
363841           sage-format
363842
363843         · 8e37e36ac7 Correct whitespace placement in error message
363844
363845       · ISSUE #30250: (mbarrien) npm.bootstrap state runs even when test=True
363846         (refs: #30257)
363847
363848       · PR #30308:  (rallytime)  Back-port  #30257  to  2015.8  @  2016-01-13
363849         19:20:13 UTC
363850
363851         · PR #30257: (abednarik) Add test in npm state. (refs: #30308)
363852
363853         · 10b5728f84 Merge pull request #30308 from rallytime/bp-30257
363854
363855         · 0b0d73756e Fix typos in nmp module.
363856
363857         · deeeb71dda Add test in npm state.
363858
363859       · PR  #30187:  (rallytime)  Back-port #27606 to 2015.8 (refs: #30343) @
363860         2016-01-13 19:03:11 UTC
363861
363862         · PR #27606: (plastikos) RFC: Add additional  ZMQ  tuning  parameters
363863           necessary for 1k+ minions per master [WIP] (refs: #30343, #30187)
363864
363865         · afa61c03db Merge pull request #30187 from rallytime/bp-27606
363866
363867         · 8ef6d6c6fd  Add  additional  ZMQ  tuning  parameters  necessary for
363868           1,000+ minions  per  server.  Start  collecting  tuning  parameters
363869           together in the master config file.
363870
363871       · PR  #30223:  (serge-p)  adding support for DragonFly BSD @ 2016-01-13
363872         18:24:29 UTC
363873
363874         · 7e89a460e4 Merge pull request #30223 from serge-p/patch-11
363875
363876         · ec798acbcd Update pkgng.py
363877
363878         · 45206dfe3d adding support for DragonFly BSD
363879
363880       · ISSUE #28396: (ymote) salt-cloud parallel  provisioning  (-P  option)
363881         failed on 2015.8.1 (refs: #30238)
363882
363883       · ISSUE #23824: (kiorky) salt.crypt broken in develop (refs: #23825)
363884
363885       · PR #30238: (rallytime) Reinit crypto before calling RSA.generate when
363886         generating keys.  @ 2016-01-13 18:22:11 UTC
363887
363888         · PR #23825: (kiorky) Fix crypto (refs: #30238)
363889
363890         · 5a8da62008 Merge pull request #30238 from rallytime/fix-28396
363891
363892         · 41d9df45bb Reinit crypto before calling RSA.generate when  generat‐
363893           ing keys.
363894
363895       · ISSUE  #24237:  (Grokzen)  Minion  schedule  return data missing some
363896         fields (refs: #30246)
363897
363898       · PR #30246: (dmacvicar) Add missing return data to scheduled  jobs  (‐
363899         #24237) @ 2016-01-13 17:51:49 UTC
363900
363901         · 15707e0ac8       Merge      pull      request      #30246      from
363902           dmacvicar/dmacvicar-2015.8-24237
363903
363904         · c462139dbb lint: E8713(test-for-membership-should-be-not-in)
363905
363906         · 5a1b2ca486 include the 'success' field  in  scheduled  jobs  return
363907           data (part of #24237)
363908
363909         · f72a4ca42d  add  retcode  to  scheduled  jobs  return data (part of
363910           #24237)
363911
363912       · PR #30292: (thegoodduke) ipset: fix test=true & add comment for every
363913         entry @ 2016-01-13 17:49:16 UTC
363914
363915         · PR #30170: (thegoodduke) ipset: fix comment and test (refs: #30291,
363916           #30292)
363917
363918         · 8706720148 Merge pull request #30292 from thegoodduke/fix_ipset
363919
363920         · 49d70bff16 ipset: fix test=true & add comment for every entry
363921
363922       · ISSUE #30240: (snw1968) firewalld inconsistent permanent option  used
363923         for services but not ports - other options required (refs: #30275)
363924
363925       · PR  #30275:  (abednarik)  Add  permanent  argument  in  firewalld.  @
363926         2016-01-13 17:44:43 UTC
363927
363928         · ea607675f5  Merge  pull  request  #30275  from  abednarik/fix_fire‐
363929           walld_ports_permanent
363930
363931         · e3d4bf51da Add permanent argument in firewalld.
363932
363933       · PR #30328: (cachedout) Fix file test @ 2016-01-13 17:42:22 UTC
363934
363935         · f02db44757 Merge pull request #30328 from cachedout/fix_file_test
363936
363937         · dcfba51556 Lint
363938
363939         · b9921128af Kill pointless tests
363940
363941         · 63c157d0a3 Fix test_managed
363942
363943       · PR #30310: (pass-by-value) Empty bucket fix @ 2016-01-13 17:30:45 UTC
363944
363945         · edd94aea2c       Merge      pull      request      #30310      from
363946           pass-by-value/empty_bucket_fix
363947
363948         · aef5a8898c Add fix for else code path
363949
363950         · 9398c44945 Check and report empty S3 bucket
363951
363952       · PR #30211: (techhat) Execute choot on the correct path  @  2016-01-13
363953         16:53:40 UTC
363954
363955         · f23f0f30d4 Merge pull request #30211 from techhat/tmppath
363956
363957         · 11ac2ff0bf  Revert  "We're  putting  the keys directly in place; -c
363958           isn't used"
363959
363960         · e75b48f5ff We're putting the keys directly in place; -c isn't used
363961
363962         · 5d7a0f6d81 Execute choot on the correct path
363963
363964       · ISSUE #30286: (tkunicki) salt-cloud ec2 spot requests fail with user‐
363965         data_file in config or profile (refs: #30304)
363966
363967       · PR  #30309:  (rallytime)  Back-port  #30304  to  2015.8  @ 2016-01-13
363968         16:41:53 UTC
363969
363970         · PR #30304: (tkunicki) add  spot_prefix  to  UserData  param  (refs:
363971           #30309)
363972
363973         · 5154c71127 Merge pull request #30309 from rallytime/bp-30304
363974
363975         · 4a8cc87b47 add spot_prefix to UserData param
363976
363977       · PR  #30278:  (nmadhok) If datacenter is specified in the config, then
363978         look for managed objects under it @ 2016-01-13 15:29:36 UTC
363979
363980         · 1624d6cebd Merge  pull  request  #30278  from  nmadhok/2015.8-same‐
363981           name-objects-fix
363982
363983         · b0e86afa00  get_mor_by_property  needs  container_ref to be a posi‐
363984           tional parameter
363985
363986         · 56dfc63f91 If datacenter is specified,  start  all  searches  under
363987           datacenter
363988
363989         · fcf77b738e If datacenter is specified then look under it instead of
363990           looking under inventory root folder
363991
363992       · PR #30305: (jacobhammons) Changed examples to use  the  "example.com"
363993         domain instead of "mycompan… @ 2016-01-12 20:42:10 UTC
363994
363995         · fc9304f7f8   Merge  pull  request  #30305  from  jacobhammons/exam‐
363996           ple-domain
363997
363998         · 53d17f1f85 Changed examples to use the "example.com" domain instead
363999           of "mycompany.com" or "company.com"
364000
364001       · PR  #30249:  (mpreziuso)  Fixes  performance  and  timeout  issues on
364002         win_pkg.install @ 2016-01-12 20:14:54 UTC
364003
364004         · 3bd02a898f Merge pull request #30249 from mpreziuso/patch-2
364005
364006         · d6e6e10534 Fixes lint issues
364007
364008         · 3251424838 Fixes performance and timeout issues on win_pkg.install
364009
364010       · PR #30217: (pass-by-value) Make sure cloud actions can be called  via
364011         salt run @ 2016-01-12 20:11:13 UTC
364012
364013         · 461a741e14       Merge      pull      request      #30217      from
364014           pass-by-value/cloud_actions_dispatch
364015
364016         · 1f68ce05bc Fix pylint error
364017
364018         · d5b1b60b99 Add CLI Example
364019
364020         · 5264449fdb Make sure cloud actions can be called via salt run
364021
364022       · ISSUE #9569: (clearclaw) How can a binary file,  such  as  a  license
364023         key, be distributed via Pillar? (refs: #30268)
364024
364025       · PR  #30268:  (terminalmage)  Optimize file_tree ext_pillar and update
364026         file.managed to allow for binary contents @ 2016-01-12 20:09:19 UTC
364027
364028         · 4a6b53f329 Merge pull request #30268 from terminalmage/issue9569
364029
364030         · 724b2f36ce Add  file_tree/file.managed/contents_pillar  example  to
364031           FAQ
364032
364033         · 854c7d9978 Remove old FAQ item referencing gitfs bug in 0.16.x
364034
364035         · e9a6d709f9 salt.states.file.managed: Allow for binary contents
364036
364037         · 1ba448b619 salt.pillar.file_tree: Optimizations, deprecate raw_data
364038
364039         · 650cc0af5c salt.modules.file: Improve docstrings
364040
364041       · ISSUE  #29078:  (Reiner030)  boto_secgroup didn't work as expected in
364042         Debian Jessie (refs: #30155)
364043
364044       · PR #30245:  (rallytime)  Boto  secgroup/iam_role:  Add  note  stating
364045         us-east-1 is default region @ 2016-01-12 20:04:31 UTC
364046
364047         · PR  #30155: (rallytime) Update boto_secgroup and boto_iam_role docs
364048           to only use region OR profile (refs: #30245)
364049
364050         · dbe7bcdc9a  Merge  pull  request  #30245  from   rallytime/botosec‐
364051           group-docs
364052
364053         · 406a138f76  Boto  secgroup/iam_role:  Add note stating us-east-1 is
364054           default region
364055
364056       · PR #30299: (rallytime) ESXi  Proxy  minions  states  are  located  at
364057         salt.states.esxi, not vsphere.  @ 2016-01-12 20:03:31 UTC
364058
364059         · 6b183778f1     Merge    pull    request    #30299    from    rally‐
364060           time/esxi-proxy-doc-fix
364061
364062         · db68fc48a8 Fix CLI Example syntax
364063
364064         · 1cb9f29798   ESXi   Proxy   minions   states   are    located    at
364065           salt.states.esxi, not vsphere.
364066
364067       · PR  #30202:  (opdude) Fixed the periodic call to beacons @ 2016-01-12
364068         19:58:44 UTC
364069
364070         · 903289d3fb Merge pull request #30202  from  Unity-Technologies/hot‐
364071           fix/beacon_periodic
364072
364073         · ea7a86fa7d Fixed the periodic call to beacons
364074
364075       · PR  #30303:  (jacobhammons)  Changed notes to indicate that functions
364076         are matched using regular ex… @ 2016-01-12 19:15:16 UTC
364077
364078         · 48d2bd9e78 Merge pull request #30303 from jacobhammons/pcre-match
364079
364080         · e5079ab4c9 Changed notes to indicate  that  functions  are  matched
364081           using regular expressions instead of minions
364082
364083       · ISSUE #29684: (snarfmonkey) Upgrade from 2015.8.1 to 2015.8.3 via apt
364084         for Ubuntu 14.04 causes Dulwich-backed gitfs to stop  working  (refs:
364085         #30284)
364086
364087       · PR #30284: (terminalmage) salt.utils.gitfs: Fix Dulwich env detection
364088         and submodule handling @ 2016-01-12 19:11:36 UTC
364089
364090         · 675ac4b43f Merge pull request #30284 from terminalmage/issue29684
364091
364092         · a746014f7e salt.utils.gitfs: Fix Dulwich env detection and  submod‐
364093           ule handling
364094
364095       · PR #30280: (jfindlay) add state mocking to release notes @ 2016-01-12
364096         19:10:40 UTC
364097
364098         · 8f65e822d7 Merge pull request #30280 from jfindlay/state_mock_doc
364099
364100         · 22c1129f02 modules.state.sls,highstate: mock versionadded
364101
364102         · 934de30939 add state mock to 2015.8.4 release notes
364103
364104       · ISSUE #30117: (MadsRC) Service beacons fails with Stacktraces  (refs:
364105         #30121)
364106
364107       · PR  #30273:  (rallytime)  Back-port  #30121  to  2015.8  @ 2016-01-12
364108         19:10:16 UTC
364109
364110         · PR #30121: (MadsRC) Patch for issue  #30117 (refs: #30273)
364111
364112         · c9ade42d10 Merge pull request #30273 from rallytime/bp-30121
364113
364114         · c8c30f2105 I fail at linting... Fixed my uppercase/lowercase  prob‐
364115           lem
364116
364117         · 0877b33026 Fixed some linting issues
364118
364119         · 8ec36497a1 Added note about systemd and uncleanshutdown. Also fixed
364120           line lenght of comments to max 80 characters as per PEP0008
364121
364122         · a50428d02c On an unclean shutdown, if oncleanshutdown  is  given  a
364123           path,  an  keyy:value  of shutdown:unclean is added to the returned
364124           data. The documentation states that the key should be 'uncleanshut‐
364125           down'  and  that  the value should either be True or False. This is
364126           fixed in the code
364127
364128         · 51b57f1820 Fixed issue number #30117 - When no parameters are given
364129           to  a  service,  the  service object is of type None and thus isn't
364130           iterable. This is contrary to the documentation which  states  that
364131           there are default values. Default values added as False
364132
364133       · PR #30301: (cachedout) Accept whatever comes into hightstate mock for
364134         state tests @ 2016-01-12 18:33:14 UTC
364135
364136         · 3a5a84a790 Merge pull request #30301 from cachedout/fix_state_tests
364137
364138         · 2c62b464b1 Accept whatever comes into  hightstate  mock  for  state
364139           tests
364140
364141       · ISSUE  #28586:  (zmalone)  file.append does not differentiate between
364142         tabs and spaces (refs: #30156)
364143
364144       · PR #30282: (cachedout) Fix file.append logic  @  2016-01-12  18:27:30
364145         UTC
364146
364147         · PR  #30156:  (abednarik) Add option in file.append to ignore_white‐
364148           space. (refs: #30282)
364149
364150         · 8438d19815 Merge pull request #30282 from cachedout/fix_30156
364151
364152         · 3f633ff15e Lint
364153
364154         · 99dd11dec2 Remove debugging
364155
364156         · 35ef585c54 Fix logic error in file.append
364157
364158       · PR #30289: (cro) Fix problems with  targeting  proxies  by  grains  @
364159         2016-01-12 18:16:57 UTC
364160
364161         · 530c9ec6ec Merge pull request #30289 from cro/proxy_grains_fix
364162
364163         · 8362d76440 Add comments.
364164
364165         · 4e50962642  Merge  branch 'proxy_grains_fix' of github.com:cro/salt
364166           into proxy_grains_fix
364167
364168           · 61bb6a9a14 Lint.
364169
364170           · 7c35333509 Force a grains sync after we load the proxy's grains.
364171
364172           · 2855ba7da5 Disallow non-proxyenabled modules and grains
364173
364174         · 8fd8f3beb7 Lint.
364175
364176         · 144fea02e5 Force a grains sync after we load the proxy's grains.
364177
364178         · 5ecf85017b Disallow non-proxyenabled modules and grains
364179
364180       · PR #30293: (cro) Ensure we don't log stuff we shouldn't @  2016-01-12
364181         18:04:25 UTC
364182
364183         · 75b83453cf Merge pull request #30293 from cro/proxy_log_cleanup
364184
364185         · b358fe370c  Merge remote-tracking branch 'origin/proxy_log_cleanup'
364186           into proxy_log_cleanup
364187
364188           · c9a5680427 Add unused 'output_loglevel' kwarg. This is  here  for
364189             when  we  alias cmd.run_all directly to _run_all_quiet in certain
364190             chicken-and-egg situations where modules need to work both before
364191             and after the __salt__ dictionary is populated (cf dracr.py).
364192
364193           · 8c46de12e4 Ensure we don't log stuff we shouldn't.
364194
364195         · 3267d92216  Add  unused  'output_loglevel'  kwarg. This is here for
364196           when we alias cmd.run_all directly  to  _run_all_quiet  in  certain
364197           chicken-and-egg  situations  where modules need to work both before
364198           and after the __salt__ dictionary is populated (cf dracr.py).
364199
364200         · 6a86bdc6da Ensure we don't log stuff we shouldn't.
364201
364202       · PR #30279: (cachedout) Allow modules to be packed into boto  utils  @
364203         2016-01-12 16:53:54 UTC
364204
364205         · 46681658e0 Merge pull request #30279 from cachedout/boto_pack
364206
364207         · 11d27ba694 Mock config module in utils test
364208
364209         · 62a1818287 Lint
364210
364211         · cf440036dd Remove unused import
364212
364213         · 36d55ea0ad Allow modules to be packed into boto utils
364214
364215       · ISSUE #29951: (Reiner030) boto_ec2 params needed (refs: #30186)
364216
364217       · PR  #30186:  (rallytime)  Update  CLI  Examples in boto_ec2 module to
364218         reflect correct arg/kwarg positioning @ 2016-01-08 19:00:45 UTC
364219
364220         · 54b9641330 Merge pull request #30186 from rallytime/fix-29951
364221
364222         · a943b505cc Update CLI Examples in boto_ec2 module to  reflect  cor‐
364223           rect arg/kwarg positioning
364224
364225       · ISSUE  #28586:  (zmalone)  file.append does not differentiate between
364226         tabs and spaces (refs: #30156)
364227
364228       · PR #30156: (abednarik) Add option  in  file.append  to  ignore_white‐
364229         space. (refs: #30282) @ 2016-01-08 16:07:23 UTC
364230
364231         · 1256fd11e1  Merge  pull request #30156 from abednarik/ignore_white‐
364232           space_file_append
364233
364234         · af68086e5c Add option in file.append to ignore_whitespace.
364235
364236       · PR #30189:  (rallytime)  Back-port  #30185  to  2015.8  @  2016-01-07
364237         23:32:05 UTC
364238
364239         · PR #30185: (cachedout) Fix #30118 (refs: #30189)
364240
364241         · PR #30118: (thatch45) State mock (refs: #30185, #30189)
364242
364243         · ad7522c98d Merge pull request #30189 from rallytime/bp-30185
364244
364245         · 70681bf03b Fix for mock state PR #30118
364246
364247         · f9480f66d8 change arg to mocked to try test suite collision fix
364248
364249         · 2fbdcda703 fix some typos
364250
364251         · 6f757b8c81 Add Mock to state.sls
364252
364253         · fb0cbd185e fix issue where the name may be in 2 places
364254
364255         · 5f0326e521 Start on the state mock system
364256
364257       · ISSUE  #9319:  (gravyboat)  Update Reactor docs with an example using
364258         salt-cloud from the commandline. (refs: #30215)
364259
364260       · ISSUE #8146: (basepi) Make implications of  extra  accepted  keys  on
364261         timeouts more obvious (refs: #30215)
364262
364263       · ISSUE #6853: (Psycojoker) Salt formulas should be way more visible in
364264         the documentation (refs: #30215)
364265
364266       · ISSUE #4381: (mlister2006) peer_run: glob, pcre matching. Better docs
364267         (refs: #30215)
364268
364269       · ISSUE  #2229:  (alekibango)  how to debug zeromq problem with hanging
364270         salt communication? (refs: #30215)
364271
364272       · ISSUE #15042: (cvrebert) percent signs not escaped in  cron  commands
364273         (refs: #30215)
364274
364275       · ISSUE  #14946:  (ryan-lane)  reload_modules  not documented in global
364276         state arguments documentation (refs: #30215)
364277
364278       · ISSUE #13777: (gravyboat) Update top module docs  with  more  concise
364279         examples (refs: #30215)
364280
364281       · ISSUE #13036: (tminn) salstack tomcat module  (refs: #30215)
364282
364283       · PR  #30215:  (jacobhammons)  Assorted  doc  bug  fixes  @  2016-01-07
364284         21:53:27 UTC
364285
364286         · 8f30f7045a Merge pull request #30215 from jacobhammons/doc-issues
364287
364288         · 44ce704206 Updated zmq_monitor docs
364289
364290         · 0d2111d397 Assorted doc bug fixes
364291
364292       · ISSUE #30204: (anlutro) salt  can't  find  local  cache  return  file
364293         (refs: #30206)
364294
364295       · PR  #30206:  (cachedout)  Revert  "Fix  incorrect file permissions in
364296         file.line" @ 2016-01-07 17:55:48 UTC
364297
364298         · 2000800915 Merge pull request #30206 from cachedout/revert_30168
364299
364300         · ee786293e7 Revert "Fix incorrect file permissions in file.line"
364301
364302       · PR #30190: (jacobhammons)  Updated  doc  site  banners  @  2016-01-06
364303         22:37:34 UTC
364304
364305         · 5632ccb796 Merge pull request #30190 from jacobhammons/banners
364306
364307         · 266023baf1 Updated doc site banners
364308
364309       · ISSUE  #30171:  (jamusj)  Python  2.7  dependency  in  x509.py (refs:
364310         #30180)
364311
364312       · PR #30180: (jfindlay) modules.x509._dec2hex: add fmt  index  for  2.6
364313         compat @ 2016-01-06 19:48:50 UTC
364314
364315         · 9a83247992 Merge pull request #30180 from jfindlay/2.7x509
364316
364317         · 907469d04a modules.x509._dec2hex: add fmt index for 2.6 compat
364318
364319       · PR   #30179:  (terminalmage)  Backport  #26962  to  2015.8  branch  @
364320         2016-01-06 19:48:30 UTC
364321
364322         · PR #26962: (ctrlrsf) Add --state-verbose  command  line  option  to
364323           salt cmd (refs: #30179)
364324
364325         · 6516d5b5d0 Merge pull request #30179 from terminalmage/bp-26962
364326
364327         · 08f2021f52 Fix pylint warnings: unnecessary parens after if keyword
364328
364329         · a2ec721661 Add --state-verbose command line option to salt cmd
364330
364331       · ISSUE #29654: (schaarsc) ssh_auth should report missing source (refs:
364332         #29693)
364333
364334       · PR #29693: (abednarik) Handle missing source  file  in  ssh_auth.   @
364335         2016-01-06 17:13:06 UTC
364336
364337         · 27df7276bc  Merge  pull  request #29693 from abednarik/handle_miss‐
364338           ing_source_in_ssh_auth
364339
364340         · fc024e3cf4 Handle missing source file in ssh_auth.
364341
364342       · ISSUE #29078: (Reiner030) boto_secgroup didn't work  as  expected  in
364343         Debian Jessie (refs: #30155)
364344
364345       · PR #30155: (rallytime) Update boto_secgroup and boto_iam_role docs to
364346         only use region OR profile (refs: #30245) @ 2016-01-06 17:09:50 UTC
364347
364348         · f9863dd9fb  Merge  pull  request  #30155  from  rallytime/boto-sec‐
364349           group-docfix
364350
364351         · f0381a955f  Update boto_secgroup and boto_iam_role docs to only use
364352           region OR profile.
364353
364354       · ISSUE #29905: (Reiner030) pillar referencing for boto profiles  seems
364355         not completely working right / docu missing (refs: #30158)
364356
364357       · PR  #30158:  (rallytime)  Move _option(value) calls to __salt__['con‐
364358         fig.option'] in boto utils @ 2016-01-06 16:35:59 UTC
364359
364360         · e36e8e2e73 Merge pull request #30158 from rallytime/fix-29905
364361
364362         · 3321c5d408 Move _option(value) calls  to  __salt__['config.option']
364363           in boto utils
364364
364365       · ISSUE #29770: (Ch3LL) disk.usage does not work on AIX (refs: #30160)
364366
364367       · PR #30160: (dmurphy18) Fix parsing disk usage for line with no number
364368         and AIX values in Kilos @ 2016-01-06 16:34:45 UTC
364369
364370         · ec009a6812 Merge pull request #30160 from saltstack/aix_dskusage
364371
364372         · 8450df0483 Fix parsing disk usage for line with no number  and  AIX
364373           values in Kilos
364374
364375       · ISSUE  #29919:  (abcfy2)  State  grains.append  cannot  append  to  a
364376         non-exist grain name. (refs: #30162)
364377
364378       · PR #30162: (rallytime) Update list_present and  append  grains  state
364379         function docs to be more clear.  @ 2016-01-06 16:33:25 UTC
364380
364381         · f808ffbbbd Merge pull request #30162 from rallytime/fix-29919
364382
364383         · 9bbd129c60  Update  list_present  and  append grains state function
364384           docs to be more clear
364385
364386       · ISSUE #28923: (aabognah) passing argument  with  '=no'  to  file.line
364387         (refs: #30163)
364388
364389       · PR #30163: (rallytime) Add warning about using "=" in file.line func‐
364390         tion @ 2016-01-06 16:32:39 UTC
364391
364392         · 83245930a6 Merge pull request #30163 from rallytime/fix-28923
364393
364394         · 0e4f91fca2 Add warning about using "=" in file.line function
364395
364396       · PR #30164: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
364397         2016-01-06 16:28:59 UTC
364398
364399         · 106efd258a   Merge   pull  request  #30164  from  basepi/merge-for‐
364400           ward-2015.8
364401
364402         · d73a7d6c4d  Merge  remote-tracking  branch  'upstream/2015.5'  into
364403           merge-forward-2015.8
364404
364405           · 9363d6f5b6    Merge    pull    request    #30125    from    abed‐
364406             narik/update_user_home
364407
364408             · 56544a77f6 Update user home event when  createhome  is  set  to
364409               False
364410
364411           · 1a5d585d91 Merge pull request #30127 from jsutton/clarify-docume‐
364412             nation-for-random_master
364413
364414             · 01dbf385ef Adding random_master to reference and updating  mas‐
364415               ter_shuffle. Adding master_shuffle to the minion example config
364416               file as it is needed for multi-master PKI.
364417
364418           · 28b1bbbe77 Merge pull request #30110  from  markckimball/fix-ver‐
364419             ify_ssl-in-joyent-cloud
364420
364421             · e1c08cb269 Fixed flag sent to salt.utils.http in order for ver‐
364422               ify_ssl to work appropriately.
364423
364424           · 040412b0b1 Merge pull request #30093 from zmalone/pillar-notes
364425
364426             · cfbfd58afe Noting that file_roots and "state tree" should  both
364427               be  avoided,  because  in  some environments, the actual states
364428               show up another level down.  Adding notes  about  why  this  is
364429               undesirable.
364430
364431           · 25edefc93a Merge pull request #30097 from cachedout/note_on_pass‐
364432             word_process_list
364433
364434             · 58aec884ef Note concern about cleartext password  in  docs  for
364435               shadow.gen_password
364436
364437           · 6b1c3a6bf2 Merge pull request #30089 from mpreziuso/patch-1
364438
364439             · 50533add40  Fixes  terminology  and  adds more accurate details
364440               about the algorithms
364441
364442           · 200d09385d Merge pull request #30086 from cachedout/issue_29921
364443
364444             · 8c29e2dd6a Document that gitfs needs recent libs
364445
364446           · 404414bf57 Merge pull request #30070 from cachedout/issue_27835
364447
364448             · 60431e342a Add documentation on debugging salt-ssh
364449
364450       · ISSUE #30150: (rapenne-s) file.line reset permissions to  600  (refs:
364451         #30212, #30168)
364452
364453       · PR  #30168: (abednarik) Fix incorrect file permissions in file.line @
364454         2016-01-06 16:25:08 UTC
364455
364456         · e5d87a02b9 Merge pull request #30168 from abednarik/2015.8
364457
364458         · 79daa25a15 Fix incorrect file permissions in file.line
364459
364460       · PR #30154: (Oro) Fix file serialize on windows @ 2016-01-05  18:08:40
364461         UTC
364462
364463         · bed38d1a65  Merge  pull  request  #30154  from Oro/fix-file-serial‐
364464           ize-windows
364465
364466         · 071a675f8a Fix file serialize on windows
364467
364468       · PR #30144: (rallytime) Added generic ESXCLI command ability  to  ESXi
364469         Proxy Minion @ 2016-01-05 16:23:38 UTC
364470
364471         · 7d51d8bb46  Merge  pull  request #30144 from rallytime/vsphere-esx‐
364472           cli-cmd
364473
364474         · 2f9ec5db96 Added generic ESXCLI command ability to ESXi Proxy  Min‐
364475           ion
364476
364477       · ISSUE  #29994:  (adithep)  dockerng.push  should not auto tag :latest
364478         (refs: #30142)
364479
364480       · ISSUE #29993: (adithep) Dockerng as a whole is not compatible with v2
364481         registries. (refs: #30142)
364482
364483       · PR  #30142:  (terminalmage) Fix dockerng.push, and allow for multiple
364484         images @ 2016-01-04 22:53:50 UTC
364485
364486         · 1a21b3d46b Merge pull request #30142 from terminalmage/issue29994
364487
364488         · 66698986e4 Fix dockerng.push, and allow for multiple images
364489
364490       · ISSUE #30051: (joejulian) glusterfs.status fails with  glusterfs  3.7
364491         (refs: #30075)
364492
364493       · PR  #30075:  (joejulian)  Convert  glusterfs module to use xml (refs:
364494         #30405) @ 2016-01-04 20:33:58 UTC
364495
364496         · 5419699bd2   Merge   pull   request    #30075    from    iodatacen‐
364497           ters/2015.8_gluster_usexml
364498
364499         · 01a8e7ee10 Convert glusterfs module to use xml
364500
364501       · PR #30129: (optix2000) Clean up _uptodate() in git state @ 2016-01-04
364502         20:23:18 UTC
364503
364504         · a6d94358ed Merge pull request #30129 from optix2000/2015.8
364505
364506         · c68ea6332a No point to recast comments  to  a  string.  _uptodate()
364507           should only accept strings for comments.
364508
364509         · 6c5bac4909 Properly fix concat list issue in git state.
364510
364511       · ISSUE  #28814:  (peter-slovak)  The  "virtual"  grain  detection with
364512         virt-what on LXC incorrectly yields "physical" (refs: #29589)
364513
364514       · PR #30139:  (rallytime)  Back-port  #29589  to  2015.8  @  2016-01-04
364515         20:22:47 UTC
364516
364517         · PR #29589: (abednarik) Added lxc in virt-what list. (refs: #30139)
364518
364519         · 68dfa0f5de Merge pull request #30139 from rallytime/bp-29589
364520
364521         · 2c73990ff2 Added lxc in virt-what list.
364522
364523       · ISSUE  #29833: (iMilnb) salt minion won't start: Non valid IP address
364524         match on BSD alias format (refs: #30124)
364525
364526       · PR #30124: (abednarik) Update regex to detect ip alias in OpenBSD.  @
364527         2016-01-04 19:48:28 UTC
364528
364529         · dd8d3e6f6b  Merge  pull  request  #30124  from  abednarik/fix_open‐
364530           bsd_ip_alias
364531
364532         · 595a12977d Update regex to detect ip alias in OpenBSD.
364533
364534       · PR #30133: (stanislavb) Fix typo in gpgkey URL @ 2016-01-04  19:29:57
364535         UTC
364536
364537         · c3014be84b       Merge      pull      request      #30133      from
364538           stanislavb/fix-gpg-key-url-typo
364539
364540         · d81f6f7206 Fix typo in gpgkey URL
364541
364542       · ISSUE #29912: (rterbush) s3 ext_pillar fails if key and keyid are not
364543         provided (refs: #30126)
364544
364545       · PR  #30126:  (stanislavb)  Log  S3  API  error  message  @ 2016-01-04
364546         19:22:39 UTC
364547
364548         · c06671a259 Merge pull request #30126 from stanislavb/2015.8
364549
364550         · 8c4a101c8f Log S3 API error message
364551
364552       · PR #30128: (oeuftete) Log retryable transport errors  as  warnings  @
364553         2016-01-04 19:15:31 UTC
364554
364555         · aeec21ea65   Merge   pull   request   #30128   from  oeuftete/file‐
364556           client-attempt-error-to-warning
364557
364558         · a5d99b13e1 Log retryable transport errors as warnings
364559
364560       · ISSUE #28171: (srkunze) cron.rm cannot remove @special entries (refs:
364561         #30096)
364562
364563       · PR  #30096: (cachedout) Add rm_special to crontab module @ 2016-01-01
364564         00:56:08 UTC
364565
364566         · 941bcaed07 Merge pull request #30096 from cachedout/issue_28171
364567
364568         · 259a0582ac Add docs
364569
364570         · ad9424820e Add rm_special to crontab module
364571
364572       · PR #30106: (techhat) Ensure last dir @ 2016-01-01 00:52:54 UTC
364573
364574         · cb0f80831f Merge pull request #30106 from techhat/seeddirs
364575
364576         · 01d1a49937 Ensure last dir
364577
364578       · PR #30101: (gtmanfred) fix bug where nova driver exits with no admin‐
364579         Pass @ 2015-12-31 13:45:16 UTC
364580
364581         · 6bc968db9a Merge pull request #30101 from gtmanfred/2015.8
364582
364583         · 1b98f7af38 fix bug where nova driver exits with no adminPass
364584
364585       · PR  #30090:  (techhat)  Add argument to isdir() @ 2015-12-30 22:41:02
364586         UTC
364587
364588         · 3652dbae76 Merge pull request #30090 from techhat/seeddirs
364589
364590         · f7c7d9c7c2 Add lstrip
364591
364592         · c70257163b Add argument to isdir()
364593
364594       · PR #30094: (rallytime) Fix doc formatting for cloud.create example in
364595         module.py state @ 2015-12-30 22:40:24 UTC
364596
364597         · a12bda4b30   Merge   pull   request   #30094   from  rallytime/mod‐
364598           ule_state_doc_fix
364599
364600         · 8fbee322b9 Fix doc formatting for cloud.create example in module.py
364601           state
364602
364603       · PR  #30095:  (rallytime) Add the list_nodes_select function to linode
364604         driver @ 2015-12-30 21:06:58 UTC
364605
364606         · d7f46b5438    Merge    pull    request    #30095    from     rally‐
364607           time/select_query_linode
364608
364609         · 4731d9442e Add the list_nodes_select function to linode driver
364610
364611       · ISSUE  #28763:  (cybacolt) grain saltversioninfo not returning values
364612         by index (refs: #30082)
364613
364614       · PR  #30082:  (abednarik)  Fixed  saltversioninfo   grain   return   @
364615         2015-12-30 18:23:17 UTC
364616
364617         · dce64c0868     Merge     pull    request    #30082    from    abed‐
364618           narik/fix_grain_saltversion_index
364619
364620         · 882e9ac9ed Fixed saltversioninfo grain return.
364621
364622       · PR #30084:  (rallytime)  Back-port  #29987  to  2015.8  @  2015-12-30
364623         18:19:09 UTC
364624
364625         · PR  #29987:  (pass-by-value)  Make  sure output file works for salt
364626           cloud (refs: #30084)
364627
364628         · 5602b8833e Merge pull request #30084 from rallytime/bp-29987
364629
364630         · 16e1df90e9 Make sure output file works for salt cloud
364631
364632       · PR  #30071:  (rallytime)  Merge  branch  '2015.5'  into  '2015.8'   @
364633         2015-12-29 23:18:00 UTC
364634
364635         · 654cab0314  Merge  pull  request  #30071  from rallytime/merge-for‐
364636           ward-2015.8
364637
364638         · 394d7548c5 Additional spelling fixes for boto_vpc module
364639
364640         · f7e58a241c Merge branch '2015.5' into '2015.8'
364641
364642           · 84db12212d Merge pull request #30059 from mpreziuso/patch-1
364643
364644             · 1cb1c2da07 Fixes wrong function scope
364645
364646           · 1c6c9b1a06 Merge pull request #30025 from jtand/boto_tests
364647
364648             · e706642152 Skipping some Boto tests until resolved moto issue
364649
364650           · 0f91021c59 Merge pull request #29949 from aletourneau/2015.5
364651
364652             · cf855fe262 Fixed trailing white spaces
364653
364654             · 864801e002 fixed version
364655
364656             · 041d9346c4 Enhanced netscaler docstring
364657
364658           · 229d3eb60b Merge pull request #29941 from cachedout/boto_spelling
364659
364660             · b11bfd07b8 Fix spelling error in boto_vpc
364661
364662           · 69c5ada636 Merge pull request #29908 from cachedout/issue_29880
364663
364664             · 4cd77b4118 Allow kwargs to be  passed  to  pacman  provide  for
364665               update func
364666
364667           · ad0de4d563   Merge   pull  request  #29909  from  abednarik/free‐
364668             bsd_pkgng_non_interactive_fix
364669
364670             · 8ac213001a FreeBSD pkgng fix for non-interactive install.
364671
364672       · PR  #30067:  (ryan-lane)  Pass  in   kwargs   to   boto_secgroup.con‐
364673         vert_to_group_ids explicitly @ 2015-12-29 23:04:33 UTC
364674
364675         · 1bf9853808 Merge pull request #30067 from lyft/boto-elb-stable-fix
364676
364677         · ae22edb1b4  Pass  in  kwargs  to boto_secgroup.convert_to_group_ids
364678           explicitly
364679
364680       · PR #30069: (techhat) Ensure that pki_dir exists @ 2015-12-29 23:03:23
364681         UTC
364682
364683         · 0a37c4de1a Merge pull request #30069 from techhat/seeddirs
364684
364685         · 0f05d49bde Ensure that pki_dir exists
364686
364687       · ISSUE #30045: (AkhterAli) salt-cloud make syndic not possible. (refs:
364688         #30064)
364689
364690       · PR #30064: (rallytime) Add Syndic documentation to miscellaneous Salt
364691         Cloud config options @ 2015-12-29 20:15:45 UTC
364692
364693         · 896655602e Merge pull request #30064 from rallytime/fix-30045
364694
364695         · 6176f383e5 Spelling fixes
364696
364697         · 83c05729d6  Add  Syndic  documentation  to miscellaneous Salt Cloud
364698           config options
364699
364700       · PR #30049: (rallytime) Add some more unit tests for the vsphere  exe‐
364701         cution module @ 2015-12-29 17:07:41 UTC
364702
364703         · bad6daca93 Merge pull request #30049 from rallytime/esxi-unit-tests
364704
364705         · 1a83147986 Remove unnecessary import block
364706
364707         · 695107ae6e  Add some more unit tests for the vsphere execution mod‐
364708           ule
364709
364710       · PR #30060:  (rallytime)  Back-port  #27104  to  2015.8  @  2015-12-29
364711         17:06:58 UTC
364712
364713         · PR  #27104:  (hexedpackets)  Remove  only  the  file extension when
364714           checking missing cached nodes. (refs: #30060)
364715
364716         · cedee772d7 Merge pull request #30060 from rallytime/bp-27104
364717
364718         · f0566c4b8f Remove only the file  extension  on  cached  node  files
364719           instead of replacing every '.p' substring.
364720
364721       · ISSUE  #28540: (whiteinge) The rest_cherrypy automodule docs are hard
364722         to digest (refs: #30048)
364723
364724       · PR #30048: (jacobhammons) Remove  internal  APIs  from  rest_cherrypy
364725         docs.  @ 2015-12-28 23:24:13 UTC
364726
364727         · 87667e2de6 Merge pull request #30048 from jacobhammons/28540
364728
364729         · a04cebd48c  Remove  internal  APIs  from  rest_cherrypy  docs. Refs
364730           #28540
364731
364732       · ISSUE #29960: (anlutro) Circular import  in  salt.utils.jinja  (refs:
364733         #30043)
364734
364735       · PR   #30043:   (rallytime)   Be   explicit   about   importing   from
364736         salt.utils.jinja to avoid circular imports @ 2015-12-28 21:35:18 UTC
364737
364738         · 3c63527313 Merge pull request #30043 from rallytime/fix-29960
364739
364740         · a157c78bc8 Be explicit about  importing  from  salt.utils.jinja  to
364741           avoid circular imports
364742
364743       · PR  #30038:  (rallytime)  Back-port  #30017  to  2015.8  @ 2015-12-28
364744         20:41:45 UTC
364745
364746         · PR #30017: (anlutro)  Change  how  alternatives  states  check  for
364747           installed (refs: #30038)
364748
364749         · 6cdca314c7 Merge pull request #30038 from rallytime/bp-30017
364750
364751         · aab35b883e  Add  versionadded  directive for new check_exists func‐
364752           tion.
364753
364754         · ca290ec3e1 change how alternatives states check for installed
364755
364756       · PR #30036:  (rallytime)  Back-port  #29995  to  2015.8  @  2015-12-28
364757         20:41:04 UTC
364758
364759         · PR  #29995:  (ruxandraburtica) Location from profiles not correctly
364760           set (refs: #30036)
364761
364762         · c846e7bc86 Merge pull request #30036 from rallytime/bp-29995
364763
364764         · 129a6d7b9f Added vm_ to the get_location query.
364765
364766         · af8d01a367 Updated ec2 file to correctly propagate location.
364767
364768       · PR #30035:  (rallytime)  Back-port  #29895  to  2015.8  @  2015-12-28
364769         20:20:58 UTC
364770
364771         · PR  #29895: (pass-by-value) Do not SSH to the instance if deploy is
364772           False (refs: #30035)
364773
364774         · 27b0bd2c34 Merge pull request #30035 from rallytime/bp-29895
364775
364776         · 09f208fe63 Do not SSH to the instance if deploy is False
364777
364778       · PR #30034:  (rallytime)  Back-port  #29893  to  2015.8  @  2015-12-28
364779         20:20:51 UTC
364780
364781         · PR #29893: (pass-by-value) Add info about VolumeType (refs: #30034)
364782
364783         · 9e385369b7 Merge pull request #30034 from rallytime/bp-29893
364784
364785         · 2fcf1590b8 Add info about VolumeType
364786
364787       · PR  #30033:  (rallytime)  Back-port  #29876  to  2015.8  @ 2015-12-28
364788         20:20:42 UTC
364789
364790         · PR #29876: (abednarik) Updated Cloud msic section. (refs: #30033)
364791
364792         · 4d4dfd692a Merge pull request #30033 from rallytime/bp-29876
364793
364794         · a257249789 Add versionadded to SSH Port docs
364795
364796         · 0bb83e51aa Updated Cloud msic section.
364797
364798       · PR #30029: (terminalmage) git.latest:  Fix  handling  of  nonexistant
364799         branches @ 2015-12-28 19:39:29 UTC
364800
364801         · a5f7d9c2fc  Merge  pull  request  #30029 from terminalmage/git.lat‐
364802           est-nonexistant-branch
364803
364804         · 0b95894c9f git.latest: Fix handling of nonexistant branches
364805
364806       · PR #30016: (anlutro) Properly normalize locales in  locale.gen_locale
364807         @ 2015-12-28 15:33:48 UTC
364808
364809         · e7fe24dc64 Merge pull request #30016 from alprs/fix-gen_locale_nor‐
364810           malize
364811
364812         · 75eb4511d3 properly normalize locales in locale.gen_locale
364813
364814       · PR #30015: (anlutro) locale module: don't escape the slash  in  \n  @
364815         2015-12-28 15:31:20 UTC
364816
364817         · 90611e95f4       Merge      pull      request      #30015      from
364818           alprs/fix-gen_locale_escaped_newline
364819
364820         · 5799729aee locale module: don't escape the slash in n
364821
364822       · PR #30022: (gqgunhed) Two minor typos fixed @ 2015-12-28 15:22:24 UTC
364823
364824         · b871ce5310 Merge pull request #30022 from gqgunhed/winrepo_typo
364825
364826         · a052ff016e fixed minor typos and a :ref: link
364827
364828         · e47db1a076   Merge   remote-tracking   branch   'refs/remotes/salt‐
364829           stack/2015.8' into winrepo_typo
364830
364831         · 0c4c8b9b5c   Merge   remote-tracking   branch   'refs/remotes/salt‐
364832           stack/2015.8' into 2015.8
364833
364834       · PR #30026: (anlutro) states.at:  fix  wrong  variable  being  used  @
364835         2015-12-28 15:21:23 UTC
364836
364837         · 4b8ac20d45   Merge  pull  request  #30026  from  alprs/fix-at_with‐
364838           out_tag_job
364839
364840         · c0fe9c09bd states.at: fix wrong variable being used
364841
364842       · PR #29966: (multani) Fix bigip state/module documentation + serializ‐
364843         ers documentation @ 2015-12-23 15:06:46 UTC
364844
364845         · a3410fdf41 Merge pull request #29966 from multani/fix/docs
364846
364847         · e6e36372a4 doc: fix documentation link for salt.serializers
364848
364849         · 23ef472a07  bigip:  fix  documentation  formatting, remove warnings
364850           during doc building
364851
364852       · PR  #29904:  (twangboy)  Improvements  to  osx  packaging  scripts  @
364853         2015-12-22 21:40:23 UTC
364854
364855         · PR #29858: (twangboy) Osx build (refs: #29904)
364856
364857         · 8f8c8cedd0 Merge pull request #29904 from twangboy/osx_build
364858
364859         · 0be53953af  Added function to download and check hashes, added hash
364860           files
364861
364862         · 7f0b87bfb3 Added pre/post flight scripts (not running)
364863
364864         · 9eeb6da7bd Improvements to osx packaging scripts
364865
364866       · PR #29950: (multani) boto_iam: fix deletion of IAM users  when  using
364867         delete_keys=true @ 2015-12-22 18:43:07 UTC
364868
364869         · 9522bdf4a5     Merge     pull     request    #29950    from    mul‐
364870           tani/fix/states.boto_iam-delete-user
364871
364872         · 516c8661f4  boto_iam:  fix  deletion  of  IAM  users   when   using
364873           delete_keys=true
364874
364875       · PR  #29937:  (multani)  Fix  states.boto_iam group users @ 2015-12-22
364876         17:33:02 UTC
364877
364878         · be95d4d79a    Merge    pull    request     #29937     from     mul‐
364879           tani/fix/states.boto_iam-group-users
364880
364881         · 5c86a78d75  boto_iam:  handle  group's users empty list by removing
364882           all users of the group
364883
364884         · f3461053df boto_iam: passes connection information down to callees
364885
364886       · PR #29934: (multani) Fix state.boto_iam  virtual  name  @  2015-12-22
364887         17:16:25 UTC
364888
364889         · 4f2cc5eba7 Merge pull request #29934 from multani/fix/boto_iam
364890
364891         · 503ede4178 Fix state.boto_iam virtual name
364892
364893       · ISSUE #29933: (Reiner030) boto_rds.absent misses pillar variables for
364894         final backup (refs: #29943)
364895
364896       · PR #29943: (cachedout) Check args correctly in boto_rds @  2015-12-22
364897         17:15:48 UTC
364898
364899         · b36302291d Merge pull request #29943 from cachedout/issue_29933
364900
364901         · 8bab5eaeaa Check args correctly in boto_rds
364902
364903       · PR  #29924:  (gqgunhed) fixed: uptime now working on non-US Windows @
364904         2015-12-22 15:03:17 UTC
364905
364906         · 02ed5b8fd1 Merge pull request #29924 from gqgunhed/gqgunhed-2015.8
364907
364908         · b67c3b45e1 removed duplicate datetime line
364909
364910         · ed8ee91dcf fixed: uptime now working on non-US Windows
364911
364912       · PR #29883: (serge-p) fix for nfs mounts in _active_mounts_openbsd() @
364913         2015-12-21 18:26:49 UTC
364914
364915         · 5e44639334 Merge pull request #29883 from serge-p/patch-6
364916
364917         · dd94332f24 Update mount.py
364918
364919         · 9d059a1ea5 fix for nfs mounts in _active_mounts_openbsd()
364920
364921       · ISSUE  #29866:  (tony)  spm(1)  command  should  obey Saltfile (refs:
364922         #29894)
364923
364924       · PR #29894: (techhat) Support Saltfile in SPM  @  2015-12-21  18:03:07
364925         UTC
364926
364927         · 08fd81cc3d Merge pull request #29894 from techhat/spmsaltfile
364928
364929         · 279ec61274 Support Saltfile in SPM
364930
364931       · PR  #29856:  (rallytime)  Added  some  initial  unit  tests  for  the
364932         salt.modules.vsphere.py file @ 2015-12-21 17:12:20 UTC
364933
364934         · 4f46255044 Merge pull request #29856 from rallytime/esxi-unit-tests
364935
364936         · b908ebd123  Added  some  initial  unit  tests  for  the   salt.mod‐
364937           ules.vsphere.py file
364938
364939       · PR  #29855:  (rallytime)  Back-port  #29740  to  2015.8  @ 2015-12-21
364940         17:11:28 UTC
364941
364942         · PR #29740: (kiorky) Type mess in git.latest (refs: #29855)
364943
364944         · 096fec6182 Merge pull request #29855 from rallytime/bp-29740
364945
364946         · 4c5e277367 Type mess in git.latest
364947
364948       · PR  #29890:  (multani)  Various  documentation  fixes  @   2015-12-21
364949         16:25:15 UTC
364950
364951         · 02ab9b8858 Merge pull request #29890 from multani/fix/docs
364952
364953         · 5aa0e9b1e0 Fix documentation typo for pillars
364954
364955         · f2b41d04d7 Fix rendering issues for Cherrypy netapi documentation.
364956
364957         · 6922da46dc doc: fix warnings + some rendering issues
364958
364959       · PR  #29850:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
364960         2015-12-18 21:33:49 UTC
364961
364962         · 50f48c4bf3  Merge  pull  request  #29850   from   basepi/merge-for‐
364963           ward-2015.8
364964
364965         · 7402599c62  Merge  remote-tracking  branch  'upstream/2015.5'  into
364966           merge-forward-2015.8
364967
364968         · f43f3d166c Merge pull request #29730 from rallytime/fix-24698
364969
364970           · 120fd5fdf0 Update docker-py  version  requirement  to  0.6.0  for
364971             dockerio.py files
364972
364973         · c393a4175a Merge pull request #29715 from rallytime/fix-23343
364974
364975           · a0ed857c37  Install correct package version, if provided, for npm
364976             state.
364977
364978         · 1310afbbc2 Merge pull request #29721 from  terminalmage/nested-out‐
364979           put-multiline-fix
364980
364981           · 761be9cb93 Fix display of multiline strings when iterating over a
364982             list
364983
364984         · 52cc07cec9 Merge pull request #29646 from rallytime/fix-29488
364985
364986           · c5fa9e9351 Don't stacktrace on kwargs.get if kwargs=None
364987
364988       · PR #29811: (anlutro) influxdb: add retention policy module  functions
364989         @ 2015-12-18 17:19:02 UTC
364990
364991         · 05d2aaaef2    Merge    pull    request   #29811   from   alprs/fea‐
364992           ture-influxdb_retention
364993
364994         · 51088d938a add tests, rename a  function  to  more  closely  mirror
364995           influxdb
364996
364997         · 785da17a67 missing comma
364998
364999         · 7e9e9a1030 influxdb: add retention policy module functions
365000
365001       · ISSUE  #29396:  (Ch3LL)  Windows  2012  Multi-Master  ZMQError (refs:
365002         #29814)
365003
365004       · PR #29814: (basepi) [2015.8][Windows] Fix multi-master on  windows  @
365005         2015-12-18 17:16:52 UTC
365006
365007         · 7eefaac58a  Merge pull request #29814 from basepi/multi-master.win‐
365008           dows.29396
365009
365010         · 2405501d75 Add documentation for tcp ipc_mode and multi-master
365011
365012         · 307e867980 For tcp ipc_mode, give each  minion  different  pub/pull
365013           ports
365014
365015         · 5a21893e82 Fix ipc_mode check in windows
365016
365017       · PR  #29819:  (rallytime)  Add  esxi  module and state to docs build @
365018         2015-12-18 16:20:27 UTC
365019
365020         · fb4eb28645 Merge pull request #29819 from rallytime/esxi-docs
365021
365022         · e7c5863468 Add esxi module and state to docs build
365023
365024       · PR #29832: (jleimbach) Fixed typo in order to use the keyboard module
365025         for RHEL without systemd @ 2015-12-18 16:04:57 UTC
365026
365027         · e865c787a4   Merge  pull  request  #29832  from  jleimbach/fix-key‐
365028           board.py-for-rhel-without-systemd
365029
365030         · 7b72b3c52c Fixed typo in order to use the keyboard module for  RHEL
365031           without systemd
365032
365033       · PR  #29803:  (rallytime)  Add vSphere module to doc ref module tree @
365034         2015-12-17 18:52:56 UTC
365035
365036         · 4044f3bb93 Merge pull request #29803 from rallytime/vsphere-docs
365037
365038         · 3b7f5540ec Add vSphere module to doc ref module tree
365039
365040       · ISSUE #29751: (ether42) mod_hostname behavior  is  systemd  dependant
365041         (refs: #29767)
365042
365043       · PR   #29767:  (abednarik)  Hosts  file  update  in  mod_hostname.   @
365044         2015-12-17 18:31:18 UTC
365045
365046         · 9b4c2194f6  Merge   pull   request   #29767   from   abednarik/net‐
365047           work_mod_hpstname_fix
365048
365049         · eebd3e3e4a Hosts file update in mod_hostname.
365050
365051       · ISSUE  #29631:  (joshughes) pygit2: git submodules cause traceback in
365052         file_list (refs: #29772)
365053
365054       · PR #29772: (terminalmage) pygit2:  skip  submodules  when  traversing
365055         tree @ 2015-12-17 18:23:16 UTC
365056
365057         · 0c65eeb82b Merge pull request #29772 from terminalmage/issue29631
365058
365059         · 8c4ea64b0d pygit2: skip submodules when traversing tree
365060
365061       · PR  #29765:  (gtmanfred)  allow  nova driver to be boot from volume @
365062         2015-12-17 18:20:33 UTC
365063
365064         · 1b430b251f Merge pull request #29765 from gtmanfred/2015.8
365065
365066         · e95f7561c5 cloudnetworks should be making public_ips a list
365067
365068         · ec7e45fbfb add documentation for boot from volume on nova driver
365069
365070         · eafcc5e3ac Add boot from volume for openstack nova
365071
365072       · PR #29773: (l2ol33rt) Append  missing  wget  in  debian  installation
365073         guide @ 2015-12-17 17:29:18 UTC
365074
365075         · c4f226f31e       Merge      pull      request      #29773      from
365076           l2ol33rt/debian_install_docfix
365077
365078         · 64cb4b0540 Append missing wget in debian installation guide
365079
365080       · PR #29800:  (rallytime)  Back-port  #29769  to  2015.8  @  2015-12-17
365081         17:28:52 UTC
365082
365083         · PR  #29769:  (pass-by-value)  Add  documentation about scopes (GCE)
365084           (refs: #29800)
365085
365086         · aca4da3abc Merge pull request #29800 from rallytime/bp-29769
365087
365088         · 10bfcb8cb0 Add documentation about scopes (GCE)
365089
365090       · PR #29775: (paulnivin) Change listen requisite resolution  from  name
365091         to ID declaration @ 2015-12-16 22:56:03 UTC
365092
365093         · ab61f78295  Merge  pull request #29775 from lyft/listen-id-declara‐
365094           tion-resolution-stable
365095
365096         · ff3a809c11 Change listen requisite resolution from name to ID  dec‐
365097           laration
365098
365099       · PR  #29754:  (rallytime)  Back-port  #29719  to  2015.8  @ 2015-12-16
365100         17:25:51 UTC
365101
365102         · PR #29719: (gqgunhed) fixed:  include  all  items  from  kern.disks
365103           split (refs: #29754)
365104
365105         · 5af64b64f2 Merge pull request #29754 from rallytime/bp-29719
365106
365107         · ed275977e3 fixed: include all items from kern.disks split
365108
365109       · PR #29713: (The-Loeki) Pillar-based cloud providers still forcing use
365110         of deprecated 'provider' @ 2015-12-16 14:51:31 UTC
365111
365112         · PR #27953: (The-Loeki) Fix CloudStack cloud for new 'driver' syntax
365113           (refs: #29713)
365114
365115         · b3f17fdaf8 Merge pull request #29713 from The-Loeki/patch-1
365116
365117         · 35fe2a5c18 lint fix
365118
365119         · dfab6f8186 Update __init__.py
365120
365121         · 65e2d9ac1e Pillar-based cloud providers still forcing use of depre‐
365122           cated 'provider'
365123
365124       · ISSUE #14634: (Sacro) 'unless' documentation isn't logically  plausi‐
365125         ble (refs: #29729)
365126
365127       · PR   #29729:  (rallytime)  Further  clarifications  on  "unless"  and
365128         "onlyif" requisites.  @ 2015-12-16 14:45:06 UTC
365129
365130         · 1f4810be0f Merge pull request #29729 from rallytime/fix-14634
365131
365132         · 45b77fb288 Add note about shell truthiness vs python truthiness
365133
365134         · 3bfb87c031 Spelling fixes
365135
365136         · 15c466cc12 Further clarifications on "unless" and  "onlyif"  requi‐
365137           sites.
365138
365139       · ISSUE  #29736:  (akissa)  Pillar  sqlite3  examples  incorrect (refs:
365140         #29737)
365141
365142       · PR #29737: (akissa)  fix  pillar  sqlite3  documentation  examples  @
365143         2015-12-16 14:41:57 UTC
365144
365145         · 7084f79199   Merge   pull   request   #29737  from  akissa/fix-pil‐
365146           lar-sqlite3-examples
365147
365148         · 1c98f8d609 fix pillar sqlite3 documentation examples
365149
365150       · ISSUE #29741: (akissa) Pillar Sqlite3 does not honour database config
365151         option when using salt-call (refs: #29743)
365152
365153       · PR  #29743: (akissa) fix pillar sqlite not honouring config options @
365154         2015-12-16 14:40:27 UTC
365155
365156         · e977096409  Merge  pull   request   #29743   from   akissa/fix-pil‐
365157           lar-sqlite3-does-not-honour-config
365158
365159         · 6184fb1ae1 fix pillar sqlite not honouring config options
365160
365161       · ISSUE  #29152:  (guettli) docs for states.postgres_user.present: name
365162         and password twice? (refs: #29723)
365163
365164       · PR #29723: (rallytime) Clarify db_user  and  db_password  kwargs  for
365165         postgres_user.present state function @ 2015-12-15 23:58:43 UTC
365166
365167         · 2cea0b0a2d Merge pull request #29723 from rallytime/fix-29152
365168
365169         · 8d8fdd0a27   Clarify  db_user  and  db_password  kwargs  for  post‐
365170           gres_user.present state function
365171
365172       · ISSUE #29154: (guettli) [Docs] for cmd.run. Missing link  to  details
365173         for "stateful" (refs: #29722)
365174
365175       · PR  #29722:  (rallytime) Link "stateful" kwargs to definition of what
365176         "stateful" means for cmd state.  @ 2015-12-15 23:25:48 UTC
365177
365178         · 30eab23c43 Merge pull request #29722 from rallytime/fix-29154
365179
365180         · 5c045a86af Link "stateful" kwargs to definition of what  "stateful"
365181           means for cmd state.
365182
365183       · ISSUE  #29091:  (gravyboat)  Salt pillar best practices should show 2
365184         matchers in base (refs: #29724)
365185
365186       · PR #29724: (rallytime) Add examples of using multiple matching levels
365187         to Pillar docs @ 2015-12-15 23:02:32 UTC
365188
365189         · c9ca1a371e Merge pull request #29724 from rallytime/fix-29091
365190
365191         · 45080f3629 Add examples of using multiple matching levels to Pillar
365192           docs
365193
365194       · PR #29726: (cachedout) Disable some boto tests per resolution of moto
365195         issue @ 2015-12-15 22:15:35 UTC
365196
365197         · 4985cc57f1   Merge   pull   request   #29726   from  cachedout/dis‐
365198           able_moto_2015_8
365199
365200         · d19827fd3a Disable some boto tests per resolution of moto issue
365201
365202       · ISSUE #25723: (jamesog) file.directory fails in test mode when  using
365203         recurse ignore_files (refs: #29708)
365204
365205       · PR  #29708:  (lagesag)  Fix test=True for file.directory with recurse
365206         ignore_files/ignore_dirs.  @ 2015-12-15 19:15:14 UTC
365207
365208         · aba82abffd Merge pull request #29708  from  lagesag/fix-file-direc‐
365209           tory-test-mode
365210
365211         · a872b5eecf PyLint fix #25723
365212
365213         · 3e46cb9213   Fix   test=True   for   file.directory   with  recurse
365214           ignore_files/ignore_dirs.
365215
365216       · ISSUE #29199: (hubez) 2015.8.1 and 2015.5.6: salt-minion self-restart
365217         doesn't work in daemon mode. Works when not a daemon (refs: #29642)
365218
365219       · PR  #29642: (cachedout) Correctly restart deamonized minions on fail‐
365220         ure @ 2015-12-15 19:02:40 UTC
365221
365222         · 7c38dec0ad Merge pull request #29642 from cachedout/issue_29199
365223
365224         · 8b2c6817cf Sleep before restart
365225
365226         · 4105e2abfb Correctly restart deamonized minions on failure
365227
365228       · PR #29599: (cachedout) Clean up minion shutdown @ 2015-12-15 19:01:35
365229         UTC
365230
365231         · bd918394c3  Merge  pull  request  #29599  from cachedout/clean_min‐
365232           ion_shutdown
365233
365234         · 0b917971fe Log at debug level instead
365235
365236         · a04280ceb3 Re-raise error to preserve restart behavior
365237
365238         · dc480e332a Clean up warning on failed master ping.
365239
365240         · 049a3dbbbc Additional fixes.
365241
365242         · 8a4969b730 Clean up minion shutdown
365243
365244       · PR #29675: (clinta) allow returning all refs  @  2015-12-15  18:55:36
365245         UTC
365246
365247         · 31eb291caf       Merge      pull      request      #29675      from
365248           clinta/git-ls-remote-noref
365249
365250         · f8c34b0c76 version updated
365251
365252         · 73b169e7dd lint, remove trainling whitespace
365253
365254         · 8400e68426 allow returning all refs
365255
365256       · PR #29683: (rallytime) Catch more specific error to  pass  the  error
365257         message through elegantly.  @ 2015-12-15 18:41:54 UTC
365258
365259         · 7c50533d3f Merge pull request #29683 from rallytime/vsan_fixes
365260
365261         · afc003079e  Catch  more  specifc  error  to  pass the error message
365262           through elegantly.
365263
365264       · PR #29687: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
365265         2015-12-15 18:38:46 UTC
365266
365267         · 30499e4896   Merge   pull  request  #29687  from  basepi/merge-for‐
365268           ward-2015.8
365269
365270         · b51cba59c0  Merge  remote-tracking  branch  'upstream/2015.5'  into
365271           merge-forward-2015.8
365272
365273           · f606c23ea8 Merge pull request #29673 from rallytime/fix-29661
365274
365275             · e4af7a1157 Default value should be False and not 'False'
365276
365277           · f77c8e7baf Merge pull request #29527 from jfindlay/2015.5
365278
365279             · 1a8044f0c9 2015.5.7 notes: add note about not being released
365280
365281       · ISSUE  #27611:  (benburkert)  PR  #26818  broke git.latest with :mir‐
365282         ror/:bare  (refs: #29681)
365283
365284       · PR #29681:  (clinta)  fix  bare/mirror  in  git.latest  @  2015-12-15
365285         18:37:16 UTC
365286
365287         · 3c427e82bf Merge pull request #29681 from clinta/git-mirror
365288
365289         · b387072a6f fix bare/mirror in git.latest
365290
365291       · PR  #29644:  (rallytime) Fixed a couple more ESXi proxy minion bugs @
365292         2015-12-14 18:36:28 UTC
365293
365294         · fe0778dad5 Merge pull request #29644 from rallytime/esxi-fixes
365295
365296         · 577d5487a3 Fixed a couple more ESXi proxy minion bugs
365297
365298       · PR #29645:  (rallytime)  Back-port  #29558  to  2015.8  @  2015-12-14
365299         18:11:38 UTC
365300
365301         · PR  #29558:  (ruxandraburtica) Returning security group when no VPC
365302           id is given (refs: #29645)
365303
365304         · ef2c9e3f61 Merge pull request #29645 from rallytime/bp-29558
365305
365306         · 2cf9374342 Replaced tabs with spaces.
365307
365308         · 5e7e3fe682 Returning security group when no VPC id is  given,  even
365309           if the group is not in EC2-classic.
365310
365311       · ISSUE #29630: (c4t3l) Fresh minion install (2015.8.3) returns service
365312         __virtual__ is False errors on salt-calls (refs: #29632)
365313
365314       · ISSUE #29581: (zmalone) Complaints about pyOpenSSL version  on  Salt‐
365315         stack 2015.8.3 (refs: #29632)
365316
365317       · PR  #29632: (jfindlay) reduce severity of tls module __virtual__ log‐
365318         ging @ 2015-12-11 20:11:32 UTC
365319
365320         · a2a7f1527b Merge pull request #29632 from jfindlay/tls_virt
365321
365322         · 3ed6a052fd modules.tls.__virtual__: don't spam everyone's error log
365323
365324         · 76a200e780 modules.tls.__virtual__: refactor cert path comment
365325
365326         · 0a0532e598 modules.tls.__virtual__: remove redundant parens
365327
365328       · ISSUE  #29598:  (javicacheiro)  Duplicated  MTU  entry  added  (refs:
365329         #29606)
365330
365331       · PR #29606: (abednarik) Fixed duplicate mtu entry in RedHat 7  network
365332         configuration.  @ 2015-12-11 17:24:45 UTC
365333
365334         · f6f3aa6613 Merge pull request #29606  from  abednarik/remove_dupli‐
365335           cate_mtu_entry_rh7_net_template
365336
365337         · afb2f887ba  Fixed duplicate mtu entry in RedHat 7  network configu‐
365338           ration.
365339
365340       · PR  #29613:  (rallytime)  Various  ESXi  Proxy  Minion  Bug  Fixes  @
365341         2015-12-11 17:18:58 UTC
365342
365343         · c7e73bc4c8 Merge pull request #29613 from rallytime/esxi-fixes
365344
365345         · aa5dd88b6f Various ESXi Proxy Minion Bug Fixes
365346
365347       · ISSUE  #26364:  (cedwards)  [freebsd]  TCP  transport  not working in
365348         2015.8.0rc3 (refs: #29628)
365349
365350       · PR #29628:  (DmitryKuzmenko)  Don't  create  io_loop  before  fork  @
365351         2015-12-11 17:15:11 UTC
365352
365353         · a56c763423    Merge    pull    request    #29628    from    DSRCom‐
365354           pany/bug/26364_freebsd_tcp
365355
365356         · 729ffcae36 Don't create io_loop before fork
365357
365358       · PR #29609: (basepi) [2015.8][salt-ssh] Add ability  to  set  salt-ssh
365359         command umask in roster @ 2015-12-10 22:52:27 UTC
365360
365361         · 41b8117237       Merge      pull      request      #29609      from
365362           basepi/salt-ssh.umask.29574
365363
365364         · 0afa5b0d5d Add cmd_umask to roster docs
365365
365366         · 5c03f892bc Allow setting the cmd_umask from within the roster
365367
365368       · ISSUE #29586: (basepi) Orchestrate doesn't handle minion error  prop‐
365369         erly (refs: #29603)
365370
365371       · ISSUE  #29546: (jefferyharrell) Can't seem to get orchestrate to rec‐
365372         ognize a failed state (refs: #29603)
365373
365374       · PR #29603: (basepi) Fix orchestration failure-checking  @  2015-12-10
365375         21:23:57 UTC
365376
365377         · 1e394f5ab1  Merge pull request #29603 from basepi/orchestrate.fail‐
365378           ures.29546
365379
365380         · 2bdcadaa27 Remove unnecessary and
365381
365382         · 501f91a388 Fix error in  failure  checking  for  salt.state  within
365383           orchestration
365384
365385       · ISSUE #29584: (kwilliams057) dockerng image-present fails when trying
365386         to pull from registry (refs: #29597)
365387
365388       · PR  #29597:  (terminalmage)  dockerng:  Prevent  exception  when  API
365389         response contains empty dictionary @ 2015-12-10 19:57:42 UTC
365390
365391         · b5b80b9324 Merge pull request #29597 from terminalmage/issue29584
365392
365393         · d68067b5db  dockerng:  Prevent exception when API response contains
365394           empty dictionary
365395
365396       · ISSUE #29585: (job) cidr argument in salt.modules.network.ip_addrs6()
365397         is broken (refs: #29587)
365398
365399       · PR  #29596:  (rallytime)  Back-port  #29587  to  2015.8  @ 2015-12-10
365400         19:57:18 UTC
365401
365402         · PR  #29587:  (job)  Fix  the  'cidr'   arg   in   salt.modules.net‐
365403           work.ip_addrs6() (refs: #29596)
365404
365405         · ffb54cced7 Merge pull request #29596 from rallytime/bp-29587
365406
365407         · bfb75ce363 Fix the 'cidr' arg in salt.modules.network.ip_addrs6()
365408
365409       · PR  #29588: (rallytime) Added ESXi Proxy Minion Tutorial @ 2015-12-10
365410         16:17:51 UTC
365411
365412         · 08dd663a27    Merge    pull    request    #29588    from     rally‐
365413           time/esxi-proxy-tutorial
365414
365415         · 5a2bb260d3 Added ESXi Proxy Minion Tutorial
365416
365417       · ISSUE #29557: (arthurlogilab) [modules/nova] AttributeError: 'module'
365418         object   has   no   attribute   'discover_extensions'   when    using
365419         nova.image_list (refs: #29572)
365420
365421       · PR  #29572:  (gtmanfred) [nova] use old discover_extensions if avail‐
365422         able @ 2015-12-09 17:35:42 UTC
365423
365424         · fe5db23863 Merge pull request #29572 from gtmanfred/2015.8
365425
365426         · d0ffa520f4 use old discover_extensions if available
365427
365428       · ISSUE #29009: (LoveIsGrief) git.latest  doesn't  checkout  submodules
365429         (refs: #29545)
365430
365431       · PR #29545: (terminalmage) git.latest: init submodules if not yet ini‐
365432         tialized @ 2015-12-09 16:19:42 UTC
365433
365434         · ecbc60ba05 Merge pull request #29545 from terminalmage/issue29009
365435
365436         · 6619503aec git.latest: init submodules if not yet initialized
365437
365438       · PR #29548:  (rallytime)  Back-port  #29449  to  2015.8  @  2015-12-09
365439         16:19:07 UTC
365440
365441         · PR  #29449:  (AkhterAli)  Adding  message for null public IP (refs:
365442           #29548)
365443
365444         · 3b2c93a2e5 Merge pull request #29548 from rallytime/bp-29449
365445
365446         · 3715cd7d65 Adding message for null public IP
365447
365448       · PR #29547: (rallytime) Refactored ESXCLI-based functions to accept  a
365449         list of esxi_hosts @ 2015-12-09 16:08:03 UTC
365450
365451         · fd67903bf9 Merge pull request #29547 from rallytime/esxi-proxy
365452
365453         · 469648dd07  Refactored  ESXCLI-based  functions to accept a list of
365454           esxi_hosts
365455
365456       · PR  #29563:  (anlutro)  Fix  a   call   to   deprecated   method   in
365457         python-influxdb @ 2015-12-09 16:00:24 UTC
365458
365459         · 21437f9235  Merge  pull request #29563 from alprs/fix-influx_depre‐
365460           cated_method
365461
365462         · 7c69c177ed update test
365463
365464         · 46d7d92069 fix a call to deprecated method in python-influxdb
365465
365466       · PR #29565: (bdrung) Fix typos and missing release note  @  2015-12-09
365467         15:59:21 UTC
365468
365469         · f29e0a7021 Merge pull request #29565 from bdrung/2015.8
365470
365471         · b96d8ff1d9 Minor update to release notes for missing fix
365472
365473         · e72354aac4 Fix typo specfic -> specific
365474
365475         · 5708355762 Fix typo comparsion -> comparison
365476
365477       · PR  #29540:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
365478         2015-12-08 21:27:01 UTC
365479
365480         · 25d3a75d8c  Merge  pull  request  #29540   from   basepi/merge-for‐
365481           ward-2015.8
365482
365483         · e59364ad1d Fix failing unit test
365484
365485         · 9673fd0937  Merge  remote-tracking  branch  'upstream/2015.5'  into
365486           merge-forward-2015.8
365487
365488           · 867d550271  Merge  pull  request  #29539  from  basepi/merge-for‐
365489             ward-2015.5
365490
365491             · 2c9c4ba430  Merge remote-tracking branch 'upstream/2014.7' into
365492               merge-forward-2015.5
365493
365494             · 85aa70a6cb Merge pull request #29392 from jacobhammons/2014.7
365495
365496               · d7f0db1dd8 updated version number to not reference a specific
365497                 build from the latest branch
365498
365499           · de7f3d5a59 Merge pull request #29504 from rallytime/fix-12072
365500
365501             · 8357c95dc2 Document userdata_file option for EC2 driver
365502
365503           · 65deba8bb5 Merge pull request #29507 from rallytime/ec2-doc-fix
365504
365505             · 90b4823bc2 Switch volumes and del_*_on_destroy example ordering
365506
365507           · 0918c9294f    Merge    pull    request    #29469    from    abed‐
365508             narik/doc_note_for_saltcloud_connection_timeout
365509
365510             · 8e5c3e366a Added Documentation note in salt cloud.
365511
365512           · e43c7c05a6   Merge    pull    request    #29461    from    dmyer‐
365513             scough/fix-resource-limits
365514
365515             · 85a8a3b033 Fix resource limits, systemd sets the default number
365516               of open files to 4096 causing te master to complain about  lim‐
365517               its when you have a large number of keys
365518
365519           · 730f02fbdf Merge pull request #29439 from rallytime/bp-28656
365520
365521             · 2f11bb021f #28526 fixed yumpkg module
365522
365523           · 197210d52e Merge pull request #29418 from jacobhammons/dot8
365524
365525             · 4f51a737f9 Added CVE 2015-8034 to 2015.5.8 release notes
365526
365527           · b3452f2a1a Merge pull request #29389 from jacobhammons/2015.5
365528
365529             · 824721ff36 updated version numbers
365530
365531           · 6a7a95f28a Merge pull request #28501 from twangboy/jmoney_26898
365532
365533             · c0cf33332c Fixed some Lint...
365534
365535             · df17fc59d3 Merge pull request #6 from jfindlay/twang_test
365536
365537               · bc7e0cfe64 add file.symlink unit tests
365538
365539               · 9381dc7215 orthogonalize file.symlink unit tests
365540
365541             · 8f462ba044  Merge  pull  request  #5  from cachedout/fix_twang‐
365542               boy_test
365543
365544               · 5293150d25 Fix tests
365545
365546             · 7d39091c91 Fixed some more lint
365547
365548             · 3dbd62af2c Fixed some tests... hopefully
365549
365550             · f187db3288 Removed unnecessary logic
365551
365552             · 89ebd268e6 Added file attributes restore on fail
365553
365554             · 9ec72ca724 fix file state unit tests for win symlink feature
365555
365556             · 69c32a663e Fixed some lint
365557
365558             · 638dec5027 Fixed some tests... let's see if they're really are
365559
365560             · 5ed7a99792 Replaced instances of shutil.rmtree in file state
365561
365562             · 2651ce509f Fix file.remove for windows
365563
365564           · 760a521603 Merge pull request #29348 from jtand/file_search_fix
365565
365566             · 04f82bd4fd Fixes an file.search on python2.6
365567
365568           · 51ea88d489 Merge pull request #29336 from rallytime/bp-29276
365569
365570             · 3a0e19debb Prevent adding port twice when adding entry in known
365571               hosts
365572
365573           · 28255af52a Merge pull request #29333 from rallytime/bp-29280
365574
365575             · 722d02ff4a Lint
365576
365577             · 4a0040c1b4 [Doc] Add note for SVN state
365578
365579       · PR  #29499:  (rallytime)  Initial  commit  of  ESXi  Proxy  Minion  @
365580         2015-12-08 21:10:13 UTC
365581
365582         · 3ae096b7ac Merge pull request #29499 from rallytime/esxi-proxy
365583
365584         · d8b1ba3991 Make sure ESXCLI gating is  correct  in  vsphere  __vir‐
365585           tual__
365586
365587         · 55589f8021 Provide some more inline comments for longer functions
365588
365589         · baf2f8ce7a Pylint fix
365590
365591         · 763ae5d676 VMotion functions, gate ESXCLI requirement, allow proto‐
365592           col/port for ESXCLI function
365593
365594         · d909df254e Bug fixes for esxi states
365595
365596         · 7102677679   Bug   fixes   and   move   ntp   and    ssh    service
365597           start/stop/restart to single funcs
365598
365599         · 77b37add84 Added syslog_configured state, and some minor bug fixes
365600
365601         · df49f533f6 More state functions and a couple of bug fixes
365602
365603         · a50c74cfe2 Merge pull request #13 from cro/esxi-proxy3
365604
365605           · 87fc980f33 Add syslog config and network firewall rules enable
365606
365607         · 42be49f481 Merge pull request #11 from cro/esxi-proxy
365608
365609           · d858642f05 Add documentation.
365610
365611           · 43879d1dfe Functions for setting network coredumps
365612
365613         · 7d7d2afa7f   Initial   commit   of   ESXi   state   and  refactored
365614           vsan_add_disks to include a get function.
365615
365616         · bc945a48db Add execution module functions to  upload  ssh  key  for
365617           root and retrieve ssh key for root.
365618
365619         · 238b0f5bea  Update error return policy and add service running/pol‐
365620           icy functions
365621
365622         · 9ba9019419 Initial commit of ESXi proxy work.
365623
365624       · PR #29526: (jfindlay)  2015.8.2  notes:  add  note  about  not  being
365625         released @ 2015-12-08 21:09:50 UTC
365626
365627         · 873f6a9460 Merge pull request #29526 from jfindlay/2015.8
365628
365629         · 917e6f850c 2015.8.2 notes: add note about not being released
365630
365631       · ISSUE  #29484: (m7v8) patchlevel detection broken for openSuSE (refs:
365632         #29531)
365633
365634       · PR  #29531:  (jfindlay)  grains.core:  handle  undefined  variable  @
365635         2015-12-08 21:07:38 UTC
365636
365637         · 3de61e3655 Merge pull request #29531 from jfindlay/suse_patch
365638
365639         · 1ad5a088fc grains.core: handle undefined variable
365640
365641       · ISSUE  #29486:  (m7v8)  Pull  request breaks our setup (umask) (refs:
365642         #29538)
365643
365644       · ISSUE #29005: (fcrozat) non-standard umask breaks salt-call  call  in
365645         salt-ssh (refs: #29126)
365646
365647       · ISSUE  #28830:  (fcrozat) non-standard umask breaks salt-ssh deploye‐
365648         ment (refs: #29126)
365649
365650       · PR #29538: (basepi) [2015.8] [salt-ssh] Remove  umask  around  actual
365651         execution for salt-ssh @ 2015-12-08 20:45:58 UTC
365652
365653         · PR  #29126:  (fcrozat)  Fix  deployment  when umask is non-standard
365654           (refs: #29538)
365655
365656         · 1d8014411a      Merge      pull      request      #29538       from
365657           basepi/salt-ssh.umask.29486
365658
365659         · 5edfa014f5 Remove umask around actual execution for salt-ssh
365660
365661       · ISSUE  #28715:  (mlalpho)  Tagging  Resources  with  boto_rds  (refs:
365662         #29505)
365663
365664       · PR #29505: (rallytime) Update boto_rds state docs  to  include  funky
365665         yaml syntax for "tags" option.  @ 2015-12-08 17:05:02 UTC
365666
365667         · fb02fc1ef1 Merge pull request #29505 from rallytime/fix-28715
365668
365669         · f43f851a92  Update boto_rds state docs to include funky yaml syntax
365670           for "tags" option.
365671
365672       · PR #29513: (bdrung) Drop obsolete syslog.target from systemd services
365673         @ 2015-12-08 16:05:01 UTC
365674
365675         · 38888add5e Merge pull request #29513 from bdrung/2015.8
365676
365677         · b1a4ade618 Drop obsolete syslog.target from systemd services
365678
365679       · PR  #29500:  (rallytime)  Back-port  #29467  to  2015.8  @ 2015-12-07
365680         23:24:00 UTC
365681
365682         · PR #29467: (serge-p) Update module.py (refs: #29500)
365683
365684         · 148dad6674 Merge pull request #29500 from rallytime/bp-29467
365685
365686         · ca0be8bff0 Update module.py
365687
365688       · ISSUE #29001: (olfway) debconf.set doesn't support "prereq" in states
365689         (refs: #29463)
365690
365691       · PR  #29463:  (abednarik)  Add  **kwargs to debconf.set.  @ 2015-12-07
365692         19:56:05 UTC
365693
365694         · 9d11acc7db  Merge   pull   request   #29463   from   abednarik/deb‐
365695           conf_fix_prereq_support
365696
365697         · b17f1fed43 Add **kwargs to debconf.set.
365698
365699       · ISSUE #29311: (Reiner030) Feature Request: System uptime also in sec‐
365700         onds (refs: #29399)
365701
365702       · PR #29399: (jfindlay) modules.status: add  human_readable  option  to
365703         uptime @ 2015-12-07 19:53:52 UTC
365704
365705         · 7efd6dd140 Merge pull request #29399 from jfindlay/second_up
365706
365707         · 1903124814 modules.win_status: add reason to virtual ret
365708
365709         · 35ba7da470 modules.status: add reason to __virtual__ return
365710
365711         · 48e7beb0eb modules.status: add in_seconds option to uptime
365712
365713       · PR  #29433:  (cro)  Files  for  building  .pkg  files  for  MacOS X @
365714         2015-12-07 19:47:23 UTC
365715
365716         · 042daf91b8 Merge pull request #29433 from cro/mac_native_pkg
365717
365718         · 8e191ae264 Add web references
365719
365720         · 5f1459d708 Update mac packaging
365721
365722         · 092b7ddd0a First crack at build files for Mac OS X Native package
365723
365724       · ISSUE #29445: (shawnbutts)  salt.loaded.int.module.nova.__virtual__()
365725         is wrongly returning None. (refs: #29455)
365726
365727       · PR  #29455:  (jfindlay)  modules.nova.__init__:  do not return None @
365728         2015-12-07 19:44:00 UTC
365729
365730         · 5ff3749108 Merge pull request #29455 from jfindlay/nova_none
365731
365732         · 19da8233c8 modules.nova.__init__: do not return None
365733
365734       · PR #29454: (jfindlay) rh_service module __virtual__ return error mes‐
365735         sages @ 2015-12-07 19:32:15 UTC
365736
365737         · 289e9d169e Merge pull request #29454 from jfindlay/rh_service
365738
365739         · 9975508f86 modules.rh_service.__virtual__: handle SUSE osrelease as
365740           num
365741
365742         · d7ab7bf51f modules.rh_service: __virtual__ error messages
365743
365744       · PR #29476:  (tbaker57)  Doc  fix  -  route_table_present  needs  sub‐
365745         net_names (not subnets) as a key @ 2015-12-07 18:47:22 UTC
365746
365747         · cb465927d6 Merge pull request #29476 from tbaker57/boto_vpc_docfix
365748
365749         · 36946640b8  Fix  -  don't specify 'name' key inside the list - just
365750           the subnet names
365751
365752         · 5cab4b775a Doc fix - route_table_present  needs  subnet_names  (not
365753           subnets) as a key
365754
365755       · PR  #29487:  (rallytime)  Back-port  #29450  to  2015.8  @ 2015-12-07
365756         17:25:23 UTC
365757
365758         · PR #29450: (pass-by-value) Raise error if dracr password  is  above
365759           20 chars (refs: #29487)
365760
365761         · 6696cf6eb5 Merge pull request #29487 from rallytime/bp-29450
365762
365763         · 2c55c55ff1 Raise error if dracr password is above 20 chars
365764
365765       · ISSUE  #29133:  (cedwards)  FX2  proxy-minion dellchassis idrac state
365766         incomplete (refs: #29441)
365767
365768       · PR #29441: (rallytime) Make sure docs line up with blade_idrac  func‐
365769         tion specs @ 2015-12-05 16:30:27 UTC
365770
365771         · a1ffc5aacb     Merge    pull    request    #29441    from    rally‐
365772           time/fix-doc-dellchassis
365773
365774         · cf62361830 Make sure docs line up with blade_idrac function specs
365775
365776       · PR #29440:  (rallytime)  Back-port  #28925  to  2015.8  @  2015-12-05
365777         00:21:26 UTC
365778
365779         · PR #28925: (pass-by-value) Fx2 firmware update (refs: #29440)
365780
365781         · 6cc6f776bc Merge pull request #29440 from rallytime/bp-28925
365782
365783         · 1b57a57c48 Lint fixes
365784
365785         · 7cea3afb4f Support multiple hosts
365786
365787         · 0be3620715 Set kwarg
365788
365789         · b7324b5102 Add doc for new state
365790
365791         · 613dd0b7a2 Make sure creds are set before racadm update
365792
365793         · 929e679b25 Add firmware update state to dellchassis
365794
365795         · 6356af3b99 Raise error
365796
365797         · 820ad7b3df Validate file existence
365798
365799         · 94704304ec Add firmware update functions to module
365800
365801       · ISSUE  #29425:  (paclat)  services  for  older  OEL  releases. (refs:
365802         #29435)
365803
365804       · PR #29435: (galet) Grains  return  wrong  OS  version  and  other  OS
365805         related values for Oracle Linux @ 2015-12-05 00:19:11 UTC
365806
365807         · 129f45f7c3 Merge pull request #29435 from galet/2015.8
365808
365809         · fdaa81ccf8 Grains return wrong OS version and other OS related val‐
365810           ues for Oracle Linux
365811
365812         · c494ddd5fc Grains return wrong OS version and other OS related val‐
365813           ues for Oracle Linux
365814
365815       · ISSUE   saltstack/salt#29313:   (rmatulat)   state/host.present   and
365816         alias-assignment to multiple IPs fails (refs: #29430)
365817
365818       · PR #29430: (rmatulat) Fix host.present state limitation @  2015-12-04
365819         23:08:20 UTC
365820
365821         · e2b43a3f1e Merge pull request #29430 from rall0r/2015.8
365822
365823         · d3dacff4a2 Fix host.present state limitation
365824
365825       · PR  #29417: (jacobhammons) Repo install updates @ 2015-12-04 02:39:41
365826         UTC
365827
365828         · ab890b632a   Merge   pull    request    #29417    from    jacobham‐
365829           mons/repo-install-updates
365830
365831         · d58182c5fa updated repo path for RHEL installation
365832
365833         · 5e54359869   Updated  Debian,  RHEL  /  Cent,  Ubuntu  installation
365834           instructions  with  new  repo   structure   for   2015.8.3.   Added
365835           CVE-2015-8034 to release notes.
365836
365837       · PR  #29402:  (techhat)  Add  rate  limiting  to  linode  @ 2015-12-03
365838         20:27:10 UTC
365839
365840         · cb1e2e6e73 Merge pull request #29402 from techhat/ratelimit
365841
365842         · f0a4d93077 Add rate limiting to linode
365843
365844       · ISSUE #19332: (QuinnyPig) Nondeterminism in Pillar (refs: #29400)
365845
365846       · PR #29400: (twangboy) Fix #19332 @ 2015-12-03 20:25:16 UTC
365847
365848         · 8fe39d0ef8 Merge pull request #29400 from twangboy/fix_19332
365849
365850         · 7bdddaca53 Fixed grammer
365851
365852         · d965d00a09 Fix #19332
365853
365854       · PR #29398: (cachedout) Lint 29288 @ 2015-12-03 18:03:53 UTC
365855
365856         · d2c0fcbc97 Merge pull request #29398 from cachedout/lint_29288
365857
365858         · 3b0033e529 Lint #29288
365859
365860         · 386459ca6d Merge pull request #1 from jfindlay/glustest
365861
365862           · 4d6c71aa80 modules.glusterfs: fix start_volume unit test
365863
365864         · f336c44630 Bootstrap failed, retrying
365865
365866         · bd729cb3ea Set default GlusterFS version to 6
365867
365868         · 443bfc6a81 Fixed volume status for >= 3.7 in glusterfs.py
365869
365870       · ISSUE #29116: (johnsocp) Unresolvable masters in the minions  masters
365871         list cause minion to raise an error (refs: #29331)
365872
365873       · PR  #29331:  (DmitryKuzmenko)  Bugfix  -  #29116  raet  dns  error  @
365874         2015-12-03 17:10:40 UTC
365875
365876         · 5b8e7820ac    Merge    pull    request    #29331    from    DSRCom‐
365877           pany/bug/29116_raet_dns_error_2
365878
365879         · 8c2b217af5 Make pylint happy
365880
365881         · e5672ee716 Don't exit if no master found
365882
365883         · 1c324f5467 Don't fail if can't connect to master
365884
365885       · PR  #29390: (jacobhammons) updated version numbers in documentation @
365886         2015-12-03 17:02:05 UTC
365887
365888         · 7bc6b1210d Merge pull request #29390 from jacobhammons/2015.8
365889
365890         · 486935b233 updated version numbers
365891
365892       · ISSUE #25446: (DmitryKuzmenko)  Stack  overflow  on  LazyLoader  deep
365893         copying (refs: #29381)
365894
365895       · PR #29381: (nmadhok) No need to deepcopy since six.iterkeys() creates
365896         a copy @ 2015-12-03 15:54:52 UTC
365897
365898         · fd677e1d58  Merge  pull  request  #29381  from  nmadhok/2015.8-run‐
365899           time-fix
365900
365901         · f109698196 No need to deepcopy since six.iterkeys() creates a copy
365902
365903       · PR  #29349: (cro) Fix mis-setting chassis names @ 2015-12-03 00:56:54
365904         UTC
365905
365906         · 2973025058 Merge pull request #29349 from cro/fx2_name_fix
365907
365908         · 95d6d72a5d Fix mis-setting the name of the chassis.
365909
365910       · ISSUE #29236: (sjorge) network.mod_bufsize has wrong docstring (refs:
365911         #29237)
365912
365913       · ISSUE #29235: (sjorge) network.get_bufsize has wrong docstring (refs:
365914         #29237)
365915
365916       · ISSUE #29234: (sjorge) network.dig should only  be  available  if  we
365917         have the 'dig' binary (refs: #29237)
365918
365919       · ISSUE  #29233:  (sjorge) network.default_route does not seem to honor
365920         the family parameter (refs: #29237)
365921
365922       · ISSUE #29232: (sjorge) network.active_tcp seems linux specific (refs:
365923         #29237)
365924
365925       · ISSUE  #29231:  (sjorge)  docstrings  in  salt/utils/network.py   are
365926         incorrect (refs: #29237)
365927
365928       · PR #29334:  (rallytime)  Back-port  #29237  to  2015.8  @  2015-12-02
365929         19:37:31 UTC
365930
365931         · PR #29237: (sjorge) Module network fixes (refs: #29334)
365932
365933         · 17d80c051a Merge pull request #29334 from rallytime/bp-29237
365934
365935         · 598226def1 fix unit test (attempt 1)
365936
365937         · a461d7bf12  changed  from  Boron  to 2015.8.4, so this can be back‐
365938           ported
365939
365940         · 3892b12514 fix up a few remarks from jfindlay
365941
365942         · 2f940e22aa also we should keep returning {} for other systems
365943
365944         · 4953f58894 forgot to remove a debug line, how embarasing
365945
365946         · e96f3c0c3b fix docs in salt/utils/network.py #29231  -  looks  like
365947           this got copied at some point
365948
365949         · 3888bb403f  fixup  network.default_route  with  family set on SunOS
365950           #29233
365951
365952         · c0e6ea98a6 fix network.active_tcp on SunOS (we  fake  it  until  we
365953           make it) #29232
365954
365955         · 92f881284e add decorator to network.dig #29234
365956
365957         · 77950eb55c fix docstring for get_bufsize #29235
365958
365959         · 52fb80cd18 fix docstring for mod_bufsize #29236
365960
365961       · ISSUE #28990: (adithep) Dockerng volume (refs: #29300)
365962
365963       · PR  #29300: (ticosax) [dockerng] Add support for volume management in
365964         dockerng @ 2015-12-02 17:48:53 UTC
365965
365966         · 5ec7947595 Merge pull request #29300 from ticosax/dockerng-volumes
365967
365968         · 80d085ea92 fix typo
365969
365970         · cb9cb463b0 Provide states for managing docker volumes
365971
365972         · dff6fa1fb2 Add execution module to manage docker volumes
365973
365974       · PR  #29218:  (clan)  check  service  enable  state  in  test  mode  @
365975         2015-12-02 15:31:00 UTC
365976
365977         · 99b7d87688 Merge pull request #29218 from clan/service_state
365978
365979         · a1250a9729 check service enable state in test mode
365980
365981       · PR   #29315:  (jfindlay)  dev  tutorial  doc:  fix  markup  errors  @
365982         2015-12-01 21:42:17 UTC
365983
365984         · 08ced73b13 Merge pull request #29315 from jfindlay/docs
365985
365986         · e8e23dc444 dev tutorial doc: fix markup errors
365987
365988       · PR #29317: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
365989         2015-12-01 21:28:30 UTC
365990
365991         · a3a463ff8b   Merge   pull  request  #29317  from  basepi/merge-for‐
365992           ward-2015.8
365993
365994         · 0d90dd3a19  Merge  remote-tracking  branch  'upstream/2015.5'  into
365995           merge-forward-2015.8
365996
365997         · 14e94b3593   Merge   pull  request  #29316  from  basepi/merge-for‐
365998           ward-2015.5
365999
366000           · 33f40b3c47 Merge remote-tracking  branch  'upstream/2014.7'  into
366001             merge-forward-2015.5
366002
366003           · d2fb2109a3 Merge pull request #29296 from douardda/patch-3
366004
366005           · d2885390f4 Use process KillMode on Debian systems also
366006
366007         · 6a2ffbfb7c       Merge      pull      request      #29216      from
366008           clan/file_search_on_proc_file
366009
366010           · 91a20c07a1 try mmap first
366011
366012           · 8aa4f2053e remove extra space to fix lint failure
366013
366014           · d34e6b1a9a use read only if has read() method
366015
366016           · 3209c1cdb5 size is 0 doesn't mean no data, e.g, /proc/version
366017
366018         · d6aaae8d7b Merge pull request #29261 from attiasr/patch-1
366019
366020           · 7a99b90596 add log and return if pkg already installed
366021
366022           · 1843c7ab8e fix incorrect reinstallation of windows pkg
366023
366024         · 9236188867 Merge pull request #29214 from cro/ssl_verify_ssl
366025
366026           · e9c13c561b Doc bug--salt.utils.http takes verify_ssl not ssl_ver‐
366027             ify.
366028
366029         · df7b35a86b Merge pull request #29204 from lorengordon/fix-29202
366030
366031         · b1dae5e6fe Use os.path.join to return full path to ca bundle
366032
366033       · PR #29240: (clan) handle acl_type [[d]efault:][user|group|mask|other]
366034         @ 2015-12-01 17:56:20 UTC
366035
366036         · 39667fda12 Merge pull request #29240 from clan/linux_acl
366037
366038         · 02429aca69 handle acl_type [[d]efault:][user|group|mask|other]
366039
366040       · PR  #29305:  (lorengordon)  Add  'file'  as  a  source_hash  proto  @
366041         2015-12-01 17:39:37 UTC
366042
366043         · 027bed7c90    Merge    pull    request    #29305   from   lorengor‐
366044           don/source_hash_protos
366045
366046         · 53fdf0bf97 Update message for invalid source_hash
366047
366048         · 2d20d71bd5 Add file as a source_hash proto
366049
366050       · ISSUE #29251: (adamsewell) status.uptime causes exception on  Windows
366051         minion 2015.8.1 (refs: #29272)
366052
366053       · PR  #29272:  (jfindlay)  win_status  module:  handle  12 hour time in
366054         uptime @ 2015-12-01 16:33:12 UTC
366055
366056         · 1129ee1d2e Merge pull request #29272 from jfindlay/win_up_time
366057
366058         · 6a2315109e win_status module: python timedelta to find uptime
366059
366060         · b7a535341f win_status module: handle 12 hour time in uptime
366061
366062       · ISSUE #26526: (JensRantil) Managing a  file://  source  fails  (refs:
366063         #29289)
366064
366065       · PR  #29289:  (terminalmage) file.managed: Allow local file sources to
366066         use source_hash @ 2015-12-01 16:19:27 UTC
366067
366068         · 0fd3e8b0fb Merge pull request #29289 from terminalmage/issue26526
366069
366070         · 64ae3f996e  file.managed:  Allow  local   file   sources   to   use
366071           source_hash
366072
366073       · ISSUE  #29262:  (anlutro) ssh_auth.absent removes keys when test=True
366074         (refs: #29264)
366075
366076       · PR  #29264:  (anlutro)  Prevent  ssh_auth.absent  from  running  when
366077         test=True @ 2015-11-30 21:54:15 UTC
366078
366079         · 8d32d8d43d       Merge      pull      request      #29264      from
366080           alprs/fix-ssh_auth_absent_test
366081
366082         · 9193676f9c fix ssh_auth_test
366083
366084         · febbfa792f prevent ssh_auth.absent from running when test=True
366085
366086       · ISSUE  #29071:  (eliasp)  git_pillar.update   runner   can't   handle
366087         >=2015.8.0 configuration (refs: #29277)
366088
366089       · PR #29277: (terminalmage) Update git_pillar runner to support new git
366090         ext_pillar config schema @ 2015-11-30 21:39:51 UTC
366091
366092         · 459d30f27f Merge pull request #29277 from terminalmage/issue29071
366093
366094         · 6981bb3be7 Update git_pillar runner to support new  git  ext_pillar
366095           config schema
366096
366097         · 293c8e635c Separate repo locking logic into its own function
366098
366099       · PR  #29283:  (cachedout)  Single-quotes  and  use format @ 2015-11-30
366100         21:34:41 UTC
366101
366102         · PR #29139: (thomaso-mirodin) [salt-ssh]  Add  a  range  roster  and
366103           range targeting options for the flat roster (refs: #29283)
366104
366105         · df1f0d93c7 Merge pull request #29283 from cachedout/style_29139
366106
366107         · d764497b17 Single-quotes and use format
366108
366109       · PR  #29139: (thomaso-mirodin) [salt-ssh] Add a range roster and range
366110         targeting options for the flat roster  (refs:  #29283)  @  2015-11-30
366111         21:25:50 UTC
366112
366113         · 3aa84b6763       Merge      pull      request      #29139      from
366114           thomaso-mirodin/salt-ssh-flat-roster-range-filter
366115
366116         · 56b3302fe9 Pylint fixes for PR #29139
366117
366118         · e010f2d3b5 Add a range roster for salt-ssh
366119
366120         · c5eeb77ebc Add range support to salt-ssh's flat roster
366121
366122       · PR #29282: (cachedout) dev  docs:  add  development  tutorial  (refs:
366123         #29282) @ 2015-11-30 21:14:50 UTC
366124
366125         · dbf7755aa2 Merge pull request #29282 from cachedout/fix_29279
366126
366127         · 1efaab2dd5 Fix typo in #29279
366128
366129         · a5ea39132f dev docs: add development tutorial
366130
366131       · ISSUE  #28991: (timcharper) allow role-assumption with s3 credentials
366132         (refs: #28994)
366133
366134       · PR #28994: (timcharper) add support to s3 for aws role  assumption  @
366135         2015-11-30 20:52:18 UTC
366136
366137         · 87e4aa4fae Merge pull request #28994 from timcharper/2015.8.1-dev
366138
366139         · e060986828 add support to s3 for aws role assumption
366140
366141       · ISSUE  #29209:  (ssgward)  SPM logging level doesn't seem to be func‐
366142         tional (refs: #29278)
366143
366144       · PR #29278: (techhat) Add verify_log to SPM @ 2015-11-30 20:48:32 UTC
366145
366146         · 3d16434f14 Merge pull request #29278 from techhat/issue29209
366147
366148         · 759e8c4542 Add verify_log to SPM
366149
366150       · PR #29067: (jacksontj) Fix infinite recursion in state  compiler  for
366151         prereq of SLSs @ 2015-11-30 20:27:09 UTC
366152
366153         · d651d7167e Merge pull request #29067 from jacksontj/2015.8
366154
366155         · 64e439cda2 Add test for infinite recursion with sls prerequisites
366156
366157         · d687682016  No  reason  to  continuously resolve the k, v pair here
366158           since it doesn't change in the inner loop
366159
366160         · 6d747df5db Correctly resolve requisite_in for SLS requisites
366161
366162       · ISSUE #29161: (jefferyharrell) saltmod.state's ret argument seems  to
366163         do nothing (refs: #29207)
366164
366165       · PR   #29207:  (jfindlay)  do  not  shadow  ret  function  argument  @
366166         2015-11-30 20:14:06 UTC
366167
366168         · d42bcea905 Merge pull request #29207 from jfindlay/ret_non_shadow
366169
366170         · 5de0b93ac6 saltutil.cmd module: do not shadow ret function argument
366171
366172         · 7809f2a389 saltmod.state state: do not shadow ret function argument
366173
366174       · PR #29215:  (rallytime)  Back-port  #29192  to  2015.8  @  2015-11-30
366175         20:12:30 UTC
366176
366177         · PR  #29192:  (bastiaanb)  fix issue 29191: only try partial matches
366178           when a wildcard has been sp… (refs: #29215)
366179
366180         · 8cc1d8de46 Merge pull request #29215 from rallytime/bp-29192
366181
366182         · 5226cd8f79 remove trailing whitespace fix subdict_match test cases
366183
366184         · 44713cdb95 fix issue 29191: only try partial matches when  a  wild‐
366185           card has been specified
366186
366187       · PR #29217: (clan) show duration only if state_output_profile is False
366188         @ 2015-11-30 20:11:18 UTC
366189
366190         · PR #19320: (clan) add  'state_output_profile'  option  for  profile
366191           output (refs: #29217)
366192
366193         · f488d25911 Merge pull request #29217 from clan/highstate_duration
366194
366195         · 9bdaae8325 show duration only if state_output_profile is False
366196
366197       · PR  #29221:  (ticosax)  [dokcerng]  Docu  network  mode  @ 2015-11-30
366198         19:22:49 UTC
366199
366200         · e5bd1c293d Merge pull request #29221 from ticosax/docu-network_mode
366201
366202         · a0b674a0ea Extend documentation of network_mode parameter.
366203
366204       · ISSUE #29250: (adamsewell) status.cpu_load is not available  on  Salt
366205         2015.8.1 (refs: #29269)
366206
366207       · PR #29269: (jfindlay) win_status module: fix function names in docs @
366208         2015-11-30 19:14:24 UTC
366209
366210         · 7fd02c2145 Merge pull request #29269 from jfindlay/winstatus
366211
366212         · f2f2dab491 win_status module: fix function names in docs
366213
366214       · PR #29213: (rallytime) Move _wait_for_task func from vmware cloud  to
366215         vmware utils @ 2015-11-30 18:53:24 UTC
366216
366217         · 6c2e62f7d4     Merge    pull    request    #29213    from    rally‐
366218           time/vmware_utils_wait_for_task
366219
366220         · 44e7f83686 Move _wait_for_task func from  vmware  cloud  to  vmware
366221           utils
366222
366223       · PR  #29271:  (techhat)  Pass  full path for digest (SPM) @ 2015-11-30
366224         18:35:42 UTC
366225
366226         · 69cbc09ca0 Merge pull request #29271 from techhat/issue29212
366227
366228         · 6cd6a0ace0 Pass full path for digest (SPM)
366229
366230       · PR #29244: (isbm) List products consistently across all SLES  systems
366231         @ 2015-11-30 18:31:42 UTC
366232
366233         · 1efe484309 Merge pull request #29244 from isbm/isbm-zypper-products
366234
366235         · db36a73b16 Remove code duplication
366236
366237         · d62abedbf7 Remove dead code
366238
366239         · 302b5d3bc1 List products consistently across all SLES systems
366240
366241       · ISSUE #29119: (mo-mughrabi) salt.modules.consul.catalog_register does
366242         not accept address as a string (refs: #29255)
366243
366244       · PR #29255: (garethgreenaway) fixes  to  consul  module  @  2015-11-30
366245         18:30:02 UTC
366246
366247         · 318ad36449    Merge   pull   request   #29255   from   garethgreen‐
366248           away/29119_consul_module_fixes
366249
366250         · 655b0ec403 various fixes to the consul execution module, in partic‐
366251           ular a fix to address #29119
366252
366253       · PR  #29208:  (whytewolf)  Glance  more  profile  errors  @ 2015-11-25
366254         23:50:27 UTC
366255
366256         · b225263279    Merge    pull    request    #29208    from     whyte‐
366257           wolf/glance_more_profile_errors
366258
366259         · c8fe514ec1  found  3  more  spots  where  the profile was not being
366260           passed through.
366261
366262         · b2e3c1f8de Merge pull request #1 from saltstack/2015.8
366263
366264       · ISSUE #29140: (davidballano) mount.unmounted is  not  behaving  as  I
366265         would expect (refs: #29200)
366266
366267       · PR  #29200:  (jfindlay)  mount state: unmount by device is optional @
366268         2015-11-25 20:03:22 UTC
366269
366270         · 6d3c04516f Merge pull request #29200 from jfindlay/singular_umount
366271
366272         · b54de47b1b mount state: unmount by device is optional
366273
366274       · ISSUE #29187: (trevor-h) salt-cloud Windows provisioning on EC2 fails
366275         to use winrm (refs: #29205)
366276
366277       · PR  #29205: (trevor-h) Fixes #29187 - using winrm on EC2 @ 2015-11-25
366278         20:00:01 UTC
366279
366280         · fffcf9fef6      Merge      pull      request      #29205       from
366281           trevor-h/fix-salt-cloud-winrm-ec2
366282
366283         · 48e0edd0d2 Fixes #29187 - using winrm on EC2
366284
366285       · PR  #29170: (cachedout) Migrate pydsl tests to integration test suite
366286         @ 2015-11-25 19:56:48 UTC
366287
366288         · 1937a47dec  Merge  pull  request   #29170   from   cachedout/refac‐
366289           tor_pydsl_test
366290
366291         · 2477ff2eab Add __init__ and pydsl test
366292
366293         · 063f075a99 Add integration renderer tests to the suite
366294
366295         · 81bf332be4 Migrate pydsl tests to integration test suite
366296
366297       · ISSUE  #29137:  (Dravu) MTU is output twice when used in network.man‐
366298         aged (refs: #29198)
366299
366300       · PR  #29198:  (jfindlay)  rh_ip  module:  only  set  the  mtu  once  @
366301         2015-11-25 18:11:09 UTC
366302
366303         · 11d68f7b1c Merge pull request #29198 from jfindlay/single_mtu
366304
366305         · 0a8952f6ac rh_ip module: only set the mtu once
366306
366307       · ISSUE  #29111:  (eliasp)  Backtrace  in state ssh_known_hosts.present
366308         when ssh-keygen is not available (refs: #29135)
366309
366310       · PR #29135: (jfindlay) ssh_known_hosts.present state: catch not  found
366311         exc @ 2015-11-25 18:10:43 UTC
366312
366313         · f19355e0bb Merge pull request #29135 from jfindlay/ssh_except
366314
366315         · 363add7131 ssh_known_hosts.present state: catch not found exc
366316
366317       · PR  #29196:  (s0undt3ch)  We need novaclient imported to compare ver‐
366318         sions @ 2015-11-25 17:16:27 UTC
366319
366320         · 6a12197e13 Merge pull request #29196 from s0undt3ch/2015.8
366321
366322         · 78a7c34f2b We need novaclient imported to compare versions
366323
366324       · ISSUE #28072: (jchv) pygit 0.23.2 is not supported in  Salt  2015.8.1
366325         (refs: #29059)
366326
366327       · PR   #29059:   (terminalmage)  Work  around  upstream  pygit2  bug  @
366328         2015-11-25 16:39:30 UTC
366329
366330         · 0c0e15d4e9 Merge pull request #29059 from terminalmage/issue28072
366331
366332         · 82e223087e Work around upstream pygit2 bug
366333
366334       · PR    #29112:    (eliasp)    Prevent    backtrace    (KeyError)    in
366335         ssh_known_hosts.present state @ 2015-11-25 16:25:57 UTC
366336
366337         · cc69c87dd2       Merge      pull      request      #29112      from
366338           eliasp/ssh_known_hosts.present-backtrace-test
366339
366340         · 3f19c311e8 Prevent backtrace (KeyError) in  ssh_known_hosts.present
366341           state
366342
366343       · PR  #29178:  (whytewolf)  Profile  not  being passed to keystone.end‐
366344         point_get in _auth. so if a p… @ 2015-11-25 16:09:49 UTC
366345
366346         · 7775d65089 Merge pull  request  #29178  from  whytewolf/glance_key‐
366347           stone_profile_fix
366348
366349         · 807dd426a6  Profile  not  being  passed to keystone.endpoint_get in
366350           _auth. so if a profiles are being used, then  keystone.endpoint_get
366351           will  not  be able to authenticate causing glance to not be able to
366352           get it's endpoint.
366353
366354   Salt 2015.8.5 Release Notes
366355       Version 2015.8.5 is a bugfix release for 2015.8.0.
366356
366357       IMPORTANT:
366358          About this Release  Salt  2015.8.5  is  identical  to  the  2015.8.4
366359          release  with  the  addition  of a fix for issue #30820, fixed by PR
366360          #30833. See here for the 2015.8.4 release notes.
366361
366362   Known Issue in boto_* execution modules
366363       This release contains an issue that causes the boto_* execution modules
366364       to display a __salt__ not defined error (issue #30300). This issue will
366365       be fixed in an upcoming release, but can be manually resolved  by  com‐
366366       pleting the following:
366367
366368       1. Download  the boto_* execution modules that you would like to update
366369          from the 2015.8 branch of Salt. A complete list of affected  modules
366370          with the specific changes is available in :pull`30867`.
366371
366372          A simple way to get the updated modules is to download a zip file of
366373          the 2015.8 branch from  GitHub.  The  updated  modules  are  in  the
366374          salt\modules directory.
366375
366376       2. Place the boto_* modules into salt://_modules.
366377
366378       3. Run the following command to sync these modules to all Salt minions:
366379
366380             salt '*' saltutil.sync_modules
366381
366382   Changelog for v2015.8.4..v2015.8.5
366383       Generated at: 2018-05-27 23:47:32 UTC
366384
366385       · c7db4350d5 Fix regression in scanning for state with 'name' param
366386
366387   Salt 2015.8.7 Release Notes
366388       Version 2015.8.7 is a bugfix release for 2015.8.0.
366389
366390       NOTE:
366391          Salt  2015.8.4,  2015.8.5,  and  2015.8.7 were all released within a
366392          short period due to regressions found soon  after  the  releases  of
366393          2015.8.4  and 2015.8.5. See here for the 2015.8.4 release notes, and
366394          here for the 2015.8.5 release notes.
366395
366396   Statistics
366397       · Total Merges: 2
366398
366399       · Total Issue References: 1
366400
366401       · Total PR References: 5
366402
366403       · Contributors: 4 (gtmanfred, justinta, pass-by-value, terminalmage)
366404
366405   Change to Epoch Support for YUM/DNF
366406       For pkg.installed states, on Linux  distributions  which  use  yum/dnf,
366407       packages  which have a non-zero epoch in the version number now require
366408       this epoch to be included when specifying an exact version for a  pack‐
366409       age. For example:
366410
366411          vim-enhanced:
366412            pkg.installed:
366413              - version: 2:7.4.160-1.el7
366414
366415       The  pkg.latest_version and pkg.list_repo_pkgs functions can be used to
366416       get the correct version string to use, as they  will  now  contain  the
366417       epoch when it is non-zero.
366418
366419   Changelog for v2015.8.5..v2015.8.7
366420       Generated at: 2018-05-28 00:17:59 UTC
366421
366422       · PR  #31111:  (justinta) Fixes failing npm test on arch.  @ 2016-02-10
366423         21:51:47 UTC
366424
366425         · 8d84c636cf Merge pull request #31111 from jtand/8_4_npm_fix
366426
366427         · b0a48e5ef2 Fixes failing npm test on arch.
366428
366429         · PR #30217: (pass-by-value) Make sure cloud actions  can  be  called
366430           via salt run
366431
366432       · ISSUE  #31014: (gtmanfred) [2015.8] pkg breaks for yum pkgs.latest if
366433         the packages has an epoch (refs: #31031, #31015)
366434
366435       · PR #31092: (terminalmage) Apply PR  #31031  to  2015.8.4.follow_up  @
366436         2016-02-10 20:54:37 UTC
366437
366438         · PR  #31031:  (terminalmage)  More  complete  fix  for #31014 (refs:
366439           #31092)
366440
366441         · PR #31015: (gtmanfred) include possible epoch in  version  for  rpm
366442           (refs: #31031)
366443
366444         · 5a6a93e98b    Merge    pull    request    #31092   from   terminal‐
366445           mage/issue31014-2015.8.4.follow_up
366446
366447           · 2767a4e519 Don't handle epoch specially for dnf
366448
366449           · e5dfcc0ef2 More efficient way to add  the  epoch  before  version
366450             number
366451
366452           · ed7462793c include possible epoch in version for rpm
366453
366454         · 6c6b66aedd Comment multiprocessing line in minion config
366455
366456         · 1f7dfefc4a Set multiprocessing to true in config.py
366457
366458         · 433c645c20 Fix remove placeholder files
366459
366460         · 71037560d4 Remove placeholder files
366461
366462         · 20b381fdf7 Set overwrite to off
366463
366464         · ca50f56d6c Fix boto_secgroup
366465
366466         · fd571d23de Fix boto test failures
366467
366468         · cfb6588744 Fix regression when contents_pillar/contents_grains is a
366469           list.
366470
366471         · 881d8669e3 utils.aws: use time lib to conver to epoch seconds
366472
366473         · 31412920fc The call to cp.get_url  needs  the  saltenv,  if  you're
366474           using environments other than base, it will fail.
366475
366476         · a8694014a9  Fix  regression in git_pillar when multiple remotes are
366477           configured
366478
366479         · 2243f25be5 Properly set the default value for pillar_merge_lists
366480
366481         · c7472ff6aa Lint
366482
366483         · d868711a83 Fix failing boto_vpc module unit tests
366484
366485         · ed09516469 Fix failing state module tests
366486
366487         · fd0e940088 Pylint fix
366488
366489         · bc780a7c25 Don't use pack=pack. Just pass in pack=__salt__ always.
366490
366491         · 1ae022dbfe Pass in 'pack' variable to utils.boto.assign_funcs func‐
366492           tion from ALL boto modules.
366493
366494         · 1efaff107d Remove bad symlinks in osx pkg dirs
366495
366496   Salt 2015.8.8 Release Notes
366497       Version 2015.8.8 is a bugfix release for 2015.8.0.
366498
366499       IMPORTANT:
366500          Version  2015.8.8.2  was released shortly after 2015.8.8 to fix sev‐
366501          eral known issues.  If you installed 2015.8.8 before 03/30/2016, you
366502          likely  have installed 2015.8.8 and can optionally upgrade (find out
366503          which version you have installed using salt --version.
366504
366505   Statistics
366506       · Total Merges: 313
366507
366508       · Total Issue References: 146
366509
366510       · Total PR References: 312
366511
366512       · Contributors: 74 (Ch3LL, DmitryKuzmenko,  JohannesEbke,  RabidCicada,
366513         Talkless,  The-Loeki,  abednarik, anlutro, basepi, bdrung, cachedout,
366514         captaininspiration,  clarkperkins,  clinta,  cro,  darix,  dmacvicar,
366515         dr4Ke,  dschaller, edencrane, garethgreenaway, gladiatr72, gtmanfred,
366516         iacopo-papalini, isbm, jacksontj, jacobhammons, jakehilton,  jespada,
366517         jfindlay,   joejulian,   justinta,  kiorky,  kraney,  llua,  mcalmer,
366518         mchugh19, mew1033, mlalpho, moltob,  multani,  myii,  opdude,  paiou,
366519         pass-by-value,  peripatetic-sojourner,  pprince,  rallytime,  redmcg,
366520         replicant0wnz, rhansen, rmtmckenzie, s0undt3ch,  sakateka,  sbreidba,
366521         seanjnkns,  sjmh,  sjorge,  skizunov, szeestraten, tbaker57, techhat,
366522         terminalmage,   thusoy,   ticosax,   twangboy,   virtualguy,   vutny,
366523         whiteinge, xmj, xopher-mc, yannis666, youngnick, zygiss)
366524
366525   Security Fix
366526       CVE-2016-3176  Insecure  configuration  of  PAM external authentication
366527       service
366528
366529       This issue affects all Salt versions prior to  2015.8.8/2015.5.10  when
366530       PAM  external authentication is enabled. This issue involves passing an
366531       alternative PAM authentication service with a command that is  sent  to
366532       LocalClient, enabling the attacker to bypass the configured authentica‐
366533       tion service. Thank you to Dylan Frese <dmfrese@gmail.com> for bringing
366534       this issue to our attention.
366535
366536       This  update  defines  the  PAM  eAuth  service that users authenticate
366537       against in the Salt Master configuration.
366538
366539   Read Before Upgrading Debian 7 (Wheezy) from 2015.8.7 to 2015.8.8
366540       Before you upgrade from 2015.8.7 on Debian 7, you must run the  follow‐
366541       ing commands to remove previous packages:
366542
366543          sudo apt-get remove python-pycrypto
366544          sudo apt-get remove python-apache-libcloud
366545
366546       Note that python-pycrypto will likely remove python-apache-libcloud, so
366547       the second command might not be necessary. These have been replaced  by
366548       python-crypto and python-libcloud with ~bpo70+1 moniker.
366549
366550   Read  Before  Upgrading  Debian  8 (Jessie) from Salt Versions Earlier than
366551       2015.8.4
366552       Salt systemd service files are missing the following statement in these
366553       versions:
366554
366555          [Service]
366556          KillMode=process
366557
366558       This  statement  must be added to successfully upgrade on these earlier
366559       versions of Salt.
366560
366561   Changelog for v2015.8.7..v2015.8.8
366562       Generated at: 2018-05-28 00:23:11 UTC
366563
366564       · PR #31964: (jfindlay) update  2015.8.8  release  notes  @  2016-03-17
366565         21:22:04 UTC
366566
366567         · b9d0336cf8 Merge pull request #31964 from jfindlay/2015.8
366568
366569         · b984659678 update 2015.8.8 release notes
366570
366571       · ISSUE  #31586:  (frogunder) Proxy minion service.modules fails (refs:
366572         #31601)
366573
366574       · ISSUE #31585: (frogunder) Proxy minion  commands  causing  exceptions
366575         (refs: #31601)
366576
366577       · PR  #31947: (cro) Move proxymodule assignment earlier in proxy minion
366578         init @ 2016-03-17 18:14:23 UTC
366579
366580         · PR #31601: (cro) Proxy fixes for #31585 and #31586
366581
366582         · fefb694104 Merge pull request #31947 from cro/bp-31601
366583
366584         · 4eb193edb7 Lint, unrelated but fixed anyway.
366585
366586         · d661081016 Lint.
366587
366588         · 59e0a6f923 Dont add this file
366589
366590         · c68b968403 Old-style proxymodules need to be setup earlier in  min‐
366591           ion init. Also include more correct comments in config.py
366592
366593       · PR  #31948:  (rallytime) Revert "not not" deletion and add comment as
366594         to why that is there @ 2016-03-17 17:00:22 UTC
366595
366596         · a86490ee68  Merge   pull   request   #31948   from   rallytime/dis‐
366597           able-pylint-error
366598
366599         · 86196cd59d Revert "not not" deletion and add comment as to why that
366600           is there
366601
366602       · PR #31952: (rallytime)  Fix  lint  for  2015.8  branch  @  2016-03-17
366603         16:59:49 UTC
366604
366605         · db3af864ae Merge pull request #31952 from rallytime/lint-2015.8
366606
366607         · 3e964ec9d4 Fix lint for 2015.8 branch
366608
366609       · PR   #31933:  (rallytime)  Fix  linking  syntax  in  testing  docs  @
366610         2016-03-17 14:44:13 UTC
366611
366612         · 9ab4d6164b Merge pull request #31933 from rallytime/fix-test-links
366613
366614         · 06dd2c0411 Fix linking syntax in testing docs
366615
366616       · ISSUE #31586: (frogunder) Proxy minion service.modules  fails  (refs:
366617         #31601)
366618
366619       · ISSUE  #31585:  (frogunder)  Proxy minion commands causing exceptions
366620         (refs: #31601)
366621
366622       · PR #31930: (cro) Backport changes from 2016.3 @  2016-03-16  22:12:29
366623         UTC
366624
366625         · PR #31601: (cro) Proxy fixes for #31585 and #31586
366626
366627         · 723d0ca19f Merge pull request #31930 from cro/bp-31601
366628
366629         · aa9a288b5a Add these files back in
366630
366631         · 916ef26957 Remove .orig file mistakenly added, reformat example.
366632
366633         · 3c8185571d Lint.
366634
366635         · 9de9b9e86d Missin import
366636
366637         · d571f3b8fe Backport PR`#31601`_
366638
366639       · PR  #31924:  (jfindlay)  update  2015.8.8  release notes @ 2016-03-16
366640         22:10:15 UTC
366641
366642         · ce765ad2df Merge pull request #31924 from jfindlay/2015.8
366643
366644         · 64dd8aebb2 update 2015.8.8 release notes
366645
366646       · ISSUE  #31890:  (damon-atkins)  salt/fileclient.py   get_url   should
366647         include the URL in any error message (refs: #31922)
366648
366649       · PR #31922: (cachedout) For 2015.8 head @ 2016-03-16 19:07:11 UTC
366650
366651         · 390ef9fea7 Merge pull request #31922 from cachedout/issue_31890_1
366652
366653         · da075d9341 For 2015.8 head
366654
366655       · PR #31904: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
366656         2016-03-16 17:23:54 UTC
366657
366658         · 03e8b72655 Merge pull request #31904 from rallytime/merge-2015.8
366659
366660         · f8b4b1b211 last pylint!
366661
366662         · 892591a39c More pylint fixes
366663
366664         · 35b2076584 Pylint fixes
366665
366666         · 1a1ce05186 Merge branch '2015.5' into '2015.8'
366667
366668           · 440e0dcbe0 Merge pull request #31825 from jtand/udpate_pylintrc
366669
366670             · 9a14e02766 Updated beacons/sh.py to work with enumerate()
366671
366672             · 0ecec691a0 Adjusted beacons to work with enumerate better
366673
366674             · f509b4113e Fixed final lint error
366675
366676             · 5945b3f11f Fix and disable pylint errors
366677
366678             · 06ae6eaf55 Fixed pylint errors on jboss state and module
366679
366680             · de96db97c8 Fixed more pylint errors, and disabled some more
366681
366682             · c07b0a20b5 Merge branch 'lint_fixes' into udpate_pylintrc
366683
366684               · 2e6a152308 Fixed lint error in lxc.py
366685
366686               · 908ca1a439 Fixed lint error in ssh_py_shim
366687
366688               · 404c1b50f7 Changed range(len()) to enumerate()
366689
366690               · 1e13586546 Changed range(len()) to enumerate()
366691
366692             · 9ccce7a9a5 Added more disables
366693
366694             · 9c1aab3b4e Updated .testing.pylintrc to match newer versions of
366695               pylint
366696
366697           · 471c9444a3  Merge  pull  request  #31900  from rallytime/fix-psu‐
366698             til-warning
366699
366700             · 22403d69ae Add "python module" clarification to ps  __virtual__
366701               warning.
366702
366703           · c44c1b5e59  Merge  pull  request  #31878  from rallytime/fix-psu‐
366704             til-warning
366705
366706             · 44b29f72a1 Make sure __virtual__ error message is helpful  when
366707               psutil is missing
366708
366709           · 5c592b6768 Merge pull request #31852 from rallytime/merge-2015.5
366710
366711             · 1470de17fa Merge branch '2014.7' into '2015.5'
366712
366713             · 218c902091 Merge pull request #31834 from jfindlay/2014.7
366714
366715               · 358fdad0c8 add 2014.7.8 release notes
366716
366717             · a423c6cd04 Merge pull request #31833 from jfindlay/2014.7
366718
366719               · 6910fcc584 add 2014.7.9 release notes
366720
366721             · c5e7c03953 Merge pull request #31826 from gtmanfred/2014.7
366722
366723             · d73f70ebb2 Remove ability of authenticating user to specify pam
366724               service
366725
366726           · 0cc1d5db03 Merge pull request #31827 from gtmanfred/2015.5
366727
366728             · 979173b78a Remove ability of authenticating user to specify pam
366729               service
366730
366731           · 8cf0b9eb3d      Merge      pull      request      #31810     from
366732             whiteinge/saltenv-jinja-var
366733
366734             · cb72b19240 Fix outdated Jinja 'env' variable reference
366735
366736       · PR  #31906:   (sbreidba)   Win_dacl   module:   fix   FULLCONTROL   /
366737         FILE_ALL_ACCESS definition @ 2016-03-16 15:20:19 UTC
366738
366739         · a4b3462346 Merge pull request #31906 from sbreidba/win_dacl_fixes
366740
366741         · 54d81b9b42 Fix FULLCONTROL / FILE_ALL_ACCESS definition (bugfix and
366742           code simplification). Use consistent mechanism fro  obtaining  user
366743           SID.  Allow  wildcarding (via optional parameters) for a variety of
366744           methods (get, rm_ace, check_ace).
366745
366746       · PR #31745: (isbm) Fix the always-false behavior on checking  state  @
366747         2016-03-15 23:02:20 UTC
366748
366749         · b068eaa963  Merge  pull  request  #31745 from isbm/isbm-always-min‐
366750           ion-errcode-2-fix
366751
366752         · 1882e1c960 Adjust test
366753
366754         · f96c8f9b5e Keep first level away from lists.
366755
366756         · baaed005b8 Fix PEP8 continuation
366757
366758         · 1db61ea59a Fix the always-false behavior on checking  state  (there
366759           are always lists at some point!)
366760
366761       · PR  #31911:  (rallytime)  Merge  #31903  with pylint fix @ 2016-03-15
366762         20:35:35 UTC
366763
366764         · PR #31903: (terminalmage) Use remote_ref instead  of  local_ref  to
366765           see if checkout is necessary (refs: #31911)
366766
366767         · d05c3eeba9     Merge    pull    request    #31911    from    rally‐
366768           time/merge-31903-with-pylint
366769
366770         · 85e5acd11a Merge #31903 with pylint fix
366771
366772       · PR #31883: (paiou) Fix scaleway cloud provider and manage x86 servers
366773         @ 2016-03-15 20:31:18 UTC
366774
366775         · 819a4a8b54 Merge pull request #31883 from mvpstars/scaleway-x86
366776
366777         · 1662a080e1 Update scaleway cloud provider to manage x86 servers
366778
366779       · PR  #31903: (terminalmage) Use remote_ref instead of local_ref to see
366780         if checkout is necessary (refs: #31911) @ 2016-03-15 20:04:56 UTC
366781
366782         · 142c47c50d Merge pull request #31903 from terminalmage/fix-git-pil‐
366783           lar
366784
366785         · af29940e1c  Use  remote_ref instead of local_ref to see if checkout
366786           is necessary
366787
366788       · PR #31845: (sakateka) Now a check_file_meta deletes  temporary  files
366789         when test=True @ 2016-03-15 19:55:21 UTC
366790
366791         · ffd65c36e5       Merge      pull      request      #31845      from
366792           sakateka/check_file_meta_clean_tmp
366793
366794         · 5b30336b89 Now  a  check_file_meta  deletes  temporary  files  when
366795           test=True
366796
366797       · ISSUE #31791: (alexbleotu) Proxy minion starts spinning after running
366798         state.highstate (refs: #31846)
366799
366800       · ISSUE #31728: (bgridley) Custom grains  syncing  problem  with  proxy
366801         minion which causes high CPU utilization (refs: #31846)
366802
366803       · PR  #31901:  (rallytime)  Back-port  #31846  to  2015.8  @ 2016-03-15
366804         19:12:43 UTC
366805
366806         · PR #31846: (cro) Proxy infinite loop (refs: #31901)
366807
366808         · 7428c73724 Merge pull request #31901 from rallytime/bp-31846
366809
366810         · 1edd6ce302 Extra comment.
366811
366812         · 6c2ef03b11 Fix event bus flood caused by unexpected recursive call.
366813
366814       · PR #31905: (terminalmage) Update versionadded directive @  2016-03-15
366815         18:43:06 UTC
366816
366817         · 37f1ce9be2  Merge pull request #31905 from terminalmage/update-ver‐
366818           sionadded
366819
366820         · dcc196c9e1 Update versionadded directive
366821
366822       · PR #31902: (rallytime)  Update  versionadded  tag  for  new  funcs  @
366823         2016-03-15 18:41:08 UTC
366824
366825         · PR  #31857:  (sjorge)  gen_password  and  del_password missing from
366826           solaris_shadow (refs: #31902)
366827
366828         · 35f6407d11 Merge pull  request  #31902  from  rallytime/update-ver‐
366829           sion-31857
366830
366831         · 5cd09150cd Update versionadded tag for new funcs
366832
366833       · PR   #31888:   (terminalmage)   Fix  salt.utils.decorators.Depends  @
366834         2016-03-15 17:09:54 UTC
366835
366836         · 1be9c91761   Merge   pull    request    #31888    from    terminal‐
366837           mage/fix-depends-decorator
366838
366839         · 394410e2b0 Add integration test for depends decorator
366840
366841         · caa3cc1007 Fix salt.utils.decorators.Depends
366842
366843       · PR  #31857:  (sjorge)  gen_password  and  del_password  missing  from
366844         solaris_shadow (refs: #31902) @ 2016-03-14 20:29:51 UTC
366845
366846         · d357e4ea44 Merge pull request #31857 from sjorge/solarish_shadow
366847
366848         · 38231303f3 .9 release as mentioned by rallytime
366849
366850         · 3e25f70968 fix version added
366851
366852         · d768ed25b4 develop, 2016.3 and 2015.8 has missing gen_password  and
366853           del_password for shadow module
366854
366855       · PR #31879: (cro) Clarify some comments @ 2016-03-14 19:59:35 UTC
366856
366857         · 1b0b2d3f1a Merge pull request #31879 from cro/idrac_fixes_0314
366858
366859         · 42ef3a7970 Extra comment.
366860
366861       · ISSUE  #8927:  (brutasse)  file  state: unable to use contents_pillar
366862         with template: jinja (refs: #31815)
366863
366864       · ISSUE #26944: (boltronics) file.managed contents and  contents_pillar
366865         should support a template rendering engine (refs: #31815)
366866
366867       · ISSUE #14664: (jacksontj) Unable to have a template with file.managed
366868         contents (or contents_pillar) (refs: #31815)
366869
366870       · PR #31815: (dr4Ke) Fix  template  on  contents  2015.8  @  2016-03-14
366871         17:41:46 UTC
366872
366873         · fb81bbea23   Merge   pull   request   #31815   from  dr4Ke/fix_tem‐
366874           plate_on_contents_2015.8
366875
366876         · dcd6f5a5a9 test for file.apply_template_on_contents
366877
366878         · 10d882296d file.managed: templating contents, not just files
366879
366880       · PR #31818: (anlutro) Prevent event logs from writing huge amounts  of
366881         data @ 2016-03-14 17:27:47 UTC
366882
366883         · aa120cb716  Merge  pull  request  #31818  from alprs/fix-event_log‐
366884           ging_spam
366885
366886         · 83fa136da7 work on event logging
366887
366888       · ISSUE #31293: (deuscapturus) Git Pillars  lose  HEAD  reference  over
366889         time (refs: #31836)
366890
366891       · ISSUE  #29239:  (timwsuqld) Occasionaly git_pillar pull fails causing
366892         incorrect results of highstate (when running highstate  for  multiple
366893         minions) (refs: #31836)
366894
366895       · PR  #31836: (terminalmage) Fix git_pillar race condition @ 2016-03-14
366896         15:48:28 UTC
366897
366898         · f2445bdbdc Merge pull request #31836 from terminalmage/issue31293
366899
366900         · 5048fa857c Fix duplicate output
366901
366902         · 155b84b88a salt.fileserver: Add ability to clear checkout locks
366903
366904         · af410d8dd1 Pass through the lock_type
366905
366906         · 3d7796d5dd salt.runners.cache: Add ability to clear checkout locks
366907
366908         · 8e086099f5 salt.utils.gitfs: rewrite locking code
366909
366910         · 06b212519c Add GitLockError exception class
366911
366912         · ad04ccfb93 Strip whitespace when splitting
366913
366914       · PR #31824:  (rallytime)  Back-port  #31819  to  2015.8  @  2016-03-13
366915         19:59:32 UTC
366916
366917         · PR  #31819:  (mchugh19)  raise  error  on unsupported distro (refs:
366918           #31824)
366919
366920         · 5464be07b1 Merge pull request #31824 from rallytime/bp-31819
366921
366922         · 4d516adade raise error on unsupported distro
366923
366924       · ISSUE #24559: (iacopo-papalini) salt-cloud - Azure - should be possi‐
366925         ble  to  specify  virtual  network & subnet in profile (refs: #31856,
366926         #24569)
366927
366928       · PR #31856: (szeestraten) Adds missing docs for  Virtual  Network  and
366929         Subnet  options  in  salt-cloud  Azure  cloud  profile  @  2016-03-13
366930         19:06:52 UTC
366931
366932         · PR #24569: (iacopo-papalini) Fix Issue #24559 - salt-cloud -  Azure
366933           - should be possible to specify… (refs: #31856)
366934
366935         · 7781b357e0  Merge  pull  request  #31856 from szeestraten/add-miss‐
366936           ing-docs-for-azure-cloud-profile
366937
366938         · a1a2229405 Adds missing docs for Azure cloud profile
366939
366940       · PR  #31839:  (jfindlay)  add  2015.8.8  release  notes  @  2016-03-11
366941         23:23:34 UTC
366942
366943         · 3f88f3a8cf Merge pull request #31839 from jfindlay/2015.8
366944
366945         · 47ac41ba27 add 2015.8.8 release notes
366946
366947       · PR #31828: (gtmanfred) Remove ability of authenticating user to spec‐
366948         ify pam service @ 2016-03-11 20:40:37 UTC
366949
366950         · 46bdd10a56 Merge pull request #31828 from gtmanfred/2015.8
366951
366952         · 7c3134a3d3 Remove ability of authenticating  user  to  specify  pam
366953           service
366954
366955       · ISSUE  #30489: (chris-martin) influxdb_user.present fails: "InfluxDB‐
366956         Client' object  has  no  attribute  'get_list_cluster_admins"  (refs:
366957         #31787, #31770)
366958
366959       · PR  #31787:  (anlutro) Fix user_create and db_create for new versions
366960         of influxdb @ 2016-03-11 15:19:22 UTC
366961
366962         · 3d370b471c Merge pull request #31787 from alprs/fix-influxdb_user
366963
366964         · 6a5211c8d8 don't swallow exceptions
366965
366966         · a7e9c1e381 fix db_create for influxdb 0.9+
366967
366968         · 5a8a645d4b fix create_user for new versions of influxdb
366969
366970       · PR #31800: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
366971         2016-03-10 20:49:53 UTC
366972
366973         · 7fb2331ebc Merge pull request #31800 from rallytime/merge-2015.8
366974
366975         · 44c15f0b16 Merge branch '2015.5' into '2015.8'
366976
366977         · 970ef0e445     Merge     pull     request    #31744    from    bre‐
366978           joc/fix-attribute-error-with-older-libcloud/2015.5
366979
366980           · bb29dc2283 Added version to libcloud depends statement
366981
366982           · 87f9534fce Added log message with update suggestion for libcloud
366983
366984           · 72eab406cd Fix for AttributeError with libcloud <0.15
366985
366986         · df2d23ba5d Merge pull request #31740 from terminalmage/issue31666
366987
366988           · aeaf5864cd Fall back to False when pillar_opts not set
366989
366990           · fe19d77eb4 Add default value for pillar_opts on minion
366991
366992         · e22f5c0a26 Merge pull request #31750 from rallytime/bp-26170
366993
366994           · 3c11234a05 Make sure variable  is  a  dictionary  before  popping
366995             something from it.
366996
366997         · 9162925dd0 Merge pull request #31689 from rallytime/bp-29467
366998
366999           · 1f8f4cb99b Update module.py
367000
367001       · PR   #31797:   (Ch3LL)   Change   pkg   name   to   less   for   suse
367002         pkg.info_installed test @ 2016-03-10 19:08:16 UTC
367003
367004         · 75dfb2ed40 Merge pull request #31797 from Ch3LL/fix_pkginfo_test
367005
367006         · 910f0d9ffc change pkg name to less for suse
367007
367008       · ISSUE #31617: (tampakrap) service.running fails on sle11 sp3 and  sp4
367009         (refs: #31629, #31793)
367010
367011       · PR  #31793: (xopher-mc) fixing init system detection on sles 11, refs
367012         #31617 @ 2016-03-10 18:42:27 UTC
367013
367014         · 1386b72bbf      Merge      pull      request      #31793       from
367015           xopher-mc/fix_sles_state_service_module
367016
367017         · d242cb19b4 fixing init system dectection on sles 11, refs #31617
367018
367019       · PR #31786: (isbm) Bugfix: zypper doesn't detect base product on SLE11
367020         series @ 2016-03-10 18:12:46 UTC
367021
367022         · 2f28c166dd  Merge   pull   request   #31786   from   isbm/isbm-zyp‐
367023           per-list-products-sles11
367024
367025         · ee1a002673 Update test case to cover SLE11 and SLE12
367026
367027         · 4b134fb2ab Add SLE11 product info snapshot, rename previous
367028
367029         · 3c5fc857b2  Bugfix:  on SLE11 series base product reported as addi‐
367030           tional
367031
367032       · ISSUE #31776: (gtmanfred) ProxyMinion does not close connections  (at
367033         least with esxi proxy) (refs: #31780)
367034
367035       · PR  #31780:  (gtmanfred)  use  already  created  vsphere connection @
367036         2016-03-10 17:41:53 UTC
367037
367038         · d6f669623c Merge pull request #31780 from gtmanfred/2015.8
367039
367040         · 070eaf07f0 use already created vsphere connection
367041
367042       · ISSUE #31772: (sbreidba) win_dacl state causes state.apply output  to
367043         be YAML, not highstate (refs: #31779)
367044
367045       · PR  #31779:  (sbreidba) win_dacl state & module: return comment field
367046         as strings, not lists.  @ 2016-03-10 17:41:08 UTC
367047
367048         · a067de3712 Merge pull request #31779  from  sbreidba/win-dacl-high‐
367049           state-output-2015.8
367050
367051         · aeb2bfcf46  win_dacl  state  &  module:  return  comment  field  as
367052           strings, not lists.
367053
367054       · ISSUE #31563:  (sjorge)  regression  in  2016.3  from  today?  (refs:
367055         #31723, #31707)
367056
367057       · PR   #31723:  (sjorge)  file_ignore_regex  is  a  list,  not  bool  @
367058         2016-03-09 23:36:10 UTC
367059
367060         · PR #31707: (sjorge) Fix incorrect default types for master_tops and
367061           file_ignore_regex  (refs: #31723)
367062
367063         · baeefac252       Merge      pull      request      #31723      from
367064           sjorge/2015.8-file_ignore_regex
367065
367066         · df1ba94cbb file_ignore_regex is a list, not bool
367067
367068       · ISSUE #27960: (The-Loeki) salt-cloud CLI 2015.8 borks out with  Salt‐
367069         ClientError: 'timeout' (refs: #31747)
367070
367071       · PR  #31747: (techhat) Use get_local_client with MASTER opts, not MIN‐
367072         ION @ 2016-03-09 23:14:58 UTC
367073
367074         · cd43cf919c Merge pull request #31747 from techhat/issue27960
367075
367076         · 44c100d610 Use get_local_client with MASTER opts, not MINION
367077
367078       · PR #31688: (whiteinge)  Various  SMTP  returner  fixes  @  2016-03-09
367079         22:40:37 UTC
367080
367081         · 286ea1f61b Merge pull request #31688 from whiteinge/smtp-renderer
367082
367083         · 76671b6a81 Check if we have a StringIO and grab the string instead
367084
367085         · 17b8cd755f Add a default for the subject
367086
367087         · 26479bee24  Clean up the SMTP returner docstring and show an actual
367088           config example
367089
367090         · 74563f17ed Make sure the email subject and body are strings
367091
367092         · fc69d08e8e Default to just 'jinja' for the SMTP renderer
367093
367094         · 2af7cd2789 Add missing 'port' to smtp options
367095
367096       · PR #31752:  (rallytime)  Back-port  #31686  to  2015.8  @  2016-03-09
367097         21:23:01 UTC
367098
367099         · PR  #31686:  (myii)  Fix typo in example for section winrepo_dir_ng
367100           (refs: #31752)
367101
367102         · 1d6d982e5c Merge pull request #31752 from rallytime/bp-31686
367103
367104         · e4df5d9a55 Fix typo in example for section winrepo_dir_ng
367105
367106       · PR #31733: (jacobhammons)  docs  to  clarify  cloud  configuration  @
367107         2016-03-09 20:54:10 UTC
367108
367109         · ec90294442 Merge pull request #31733 from jacobhammons/cloud-docs
367110
367111         · 209c641a41 Made udpates as suggested by @rallytime
367112
367113         · 26d4991cb3  moved  previous  intro  to  new quick start topic (top‐
367114           ics/cloud/qs.rst) added new intro that explains the salt cloud con‐
367115           figuration  files  added  an  inheritance  and minion startup state
367116           example to topics/cloud/config.rst
367117
367118       · ISSUE #26498: (rallytime) [salt-cloud] Able to  create  multiple  VMs
367119         with the same name across providers (refs: #31754, #31775)
367120
367121       · PR  #31775:  (techhat) Show correct provider/driver name @ 2016-03-09
367122         20:53:10 UTC
367123
367124         · 92ba7f3495 Merge pull request #31775 from techhat/correctmsg
367125
367126         · c1433650b4 Show correct provider/driver name
367127
367128       · ISSUE #26498: (rallytime) [salt-cloud] Able to  create  multiple  VMs
367129         with the same name across providers (refs: #31754, #31775)
367130
367131       · PR  #31754: (techhat) Check all providers, not just the current one @
367132         2016-03-09 18:38:19 UTC
367133
367134         · 249a3602eb Merge pull request #31754 from techhat/issue26498
367135
367136         · 08c61446b7 Check all providers, not just the current one
367137
367138       · ISSUE #31639: (mshirley) salt-cloud  digital  ocean  api  v2  doesn't
367139         implement all available actions (refs: #31735)
367140
367141       · PR #31735: (rallytime) Add reboot, start, and stop actions to digital
367142         ocean driver @ 2016-03-09 17:57:58 UTC
367143
367144         · 7ad521f7a5 Merge pull request #31735 from rallytime/fix-31639
367145
367146         · 67d1aa6740 Remove experimental/incomplete function
367147
367148         · b209623ca9 Add reboot, start, and stop  actions  to  digital  ocean
367149           driver
367150
367151       · ISSUE  #30489: (chris-martin) influxdb_user.present fails: "InfluxDB‐
367152         Client' object  has  no  attribute  'get_list_cluster_admins"  (refs:
367153         #31787, #31770)
367154
367155       · PR #31770: (anlutro) Fix influxdb user functionality for version 0.9+
367156         @ 2016-03-09 17:09:26 UTC
367157
367158         · fd3610c6a4 Merge pull request #31770 from alprs/fix-influxdb_user
367159
367160         · 1349bdd2e8 fix influxdb user functionality for version 0.9+
367161
367162       · PR #31743: (Talkless) Fix parentheses missmatch  in  documentation  @
367163         2016-03-08 18:01:23 UTC
367164
367165         · c0868307df Merge pull request #31743 from Talkless/patch-1
367166
367167         · 26ff46dbc6 Fix parenthesis missmatch in documentation
367168
367169       · PR  #31162:  (isbm)  Remove MD5 digest from everywhere and default to
367170         SHA256 @ 2016-03-07 19:11:36 UTC
367171
367172         · 826fea6582 Merge pull request #31162 from isbm/isbm-md5-to-sha1
367173
367174         · 9d64abed0c Fix PyLint
367175
367176         · 327ea11139 Add daemons unit test to verify hash_type settings
367177
367178         · f3aecc0b22 Standardize logging
367179
367180         · 51f556243d Verify if hash_type is using vulnerable algorithms
367181
367182         · 95ec634f00 Report environment failure, if any
367183
367184         · 63eedefe54 Use mixin for the daemon classes
367185
367186         · 82dd383630 Create a mixin class that will be reused in the  similar
367187           instances (daemons)
367188
367189         · 36da8f5efa Use MD5 hash algorithm by default (until deprecated)
367190
367191         · 584325797c Remove SHA1 in favor of SHA256
367192
367193         · 373493c13f Remove SHA1 for SHA256
367194
367195         · d5cb4dd424 Remove sha1 to sha265
367196
367197         · 73b8d35e01 Add note to the Tomcat module for SHA256
367198
367199         · efb78f1055 Remove SHA1 to SHA265 by default
367200
367201         · 6198976edb Use SHA1 by default instead of MD5
367202
367203         · 73f2df76ce  Use SHA1 hash by default in Tomcat module, refactor for
367204           support different algorithms
367205
367206         · 0d4e4e31f8 Use SHA1 hash by default
367207
367208         · 785717703b Use configurable hash_type for general Key  fingerprint‐
367209           ing
367210
367211         · f0d931f4d0 Use hash_type configuration for the Cloud
367212
367213         · 95cb59dec7 Set defalt hash as SHA1 in config and explain why.
367214
367215         · 8f9543c292 Set config hash_type to SHA1
367216
367217         · 413eca124d Set default checksum for key fingerprint to SHA1
367218
367219       · ISSUE  #30528:  (UtahDave)  Missing Minion notifications missing from
367220         job cache (refs: #31670)
367221
367222       · PR #31670: (terminalmage) Write lists of minions targeted  by  syndic
367223         masters to job cache @ 2016-03-07 18:51:53 UTC
367224
367225         · a1f32b71bd Merge pull request #31670 from terminalmage/issue30528
367226
367227         · 65e5a3c53e Pass syndic_id to save_minions()
367228
367229         · cf94c2597a Add argument to save_minions() to pass a syndic ID
367230
367231         · cb92114377 Add syndic_id param for API compatibility
367232
367233         · 1d39eec69b Skip events with minion lists but no jid
367234
367235         · 651e3926f7 lint fixes
367236
367237         · 0f175a4edf  salt.returners.sqlite3_return: add no-op save_minions()
367238           func for API compatibility
367239
367240         · f8664103b1 salt.returners.redis_return:  add  no-op  save_minions()
367241           func for API compatibility
367242
367243         · 0ea1b76c22 salt.returners.postgres_local_cache: add no-op save_min‐
367244           ions() func for API compatibility
367245
367246         · d6d794b484 salt.returners.postgres: add no-op  save_minions()  func
367247           for API compatibility
367248
367249         · 82750ab699  salt.returners.pgjsonb:  add  no-op save_minions() func
367250           for API compatibility
367251
367252         · d8f90f6578 salt.returners.odbc: add no-op save_minions()  func  for
367253           API compatibility
367254
367255         · a1957c3706  salt.returners.mysql: add no-op save_minions() func for
367256           API compatibility
367257
367258         · ef6aa5de1c salt.returners.multi_returner: add no-op  save_minions()
367259           func for API compatibility
367260
367261         · 5b4eb58d99  salt.returners.mongo_return:  add  no-op save_minions()
367262           func for API compatibility
367263
367264         · da1acbb8f2 salt.returners.mongo_future_return: add no-op  save_min‐
367265           ions() func for API compatibility
367266
367267         · c13bb6549c salt.returners.memcache_return: add no-op save_minions()
367268           func for API compatibility
367269
367270         · 4322ad9ef3 salt.returners.influxdb_return: add no-op save_minions()
367271           func for API compatibility
367272
367273         · 1dd106183c  salt.returners.etcd_return:  add  no-op  save_minions()
367274           func for API compatibility
367275
367276         · 8e80535516 salt.returners.couchdb_return: add no-op  save_minions()
367277           func for API compatibility
367278
367279         · 44538dfced salt.returners.cassandra_cql_return: add no-op save_min‐
367280           ions() func for API compatibility
367281
367282         · 084a78407a  salt.returners.couchbase_return:   move   minion   list
367283           updates to new save_minions() func
367284
367285         · f731dc5d32  Update a job's minion list to include minion lists for‐
367286           warded by syndic
367287
367288         · 504f7df460 Add utils function to invoke a returner's save_minions()
367289           func
367290
367291         · 0b4616a3eb  Separate writing of serialized minion list into its own
367292           function
367293
367294         · 214fedc3f6 Simplify jobs.get_jobs  logic,  generally  improve  jobs
367295           runner docs
367296
367297         · 3f527be748  Add  an  exception  class  for errors encountered while
367298           locking files.
367299
367300         · 1e6b43eef8 Add a contextmanager for file locking
367301
367302         · 978b6cb32f Add missing RST file for slsutil module
367303
367304         · 2ad8ceffc2 Add salt.utils.split_input()
367305
367306       · ISSUE #31595: (dverbeek84) dockerng  ports  specified  in  Dockerfile
367307         must be in sls file otherwise salt gives an error (refs: #31711)
367308
367309       · PR  #31711:  (ticosax)  [dockerng]  Port and Volume comparison should
367310         consider Dockerfile @ 2016-03-07 18:25:19 UTC
367311
367312         · 24568b1a5d Merge pull request #31711 from ticosax/fix-port-and-vol‐
367313           ume-discovery
367314
367315         · cf38691597 Port and Volume comparison should consider Dockerfile
367316
367317       · ISSUE  #31579:  (bradthurber) salt-cloud delete with a map file fails
367318         when multiple providers defined (refs: #31719)
367319
367320       · PR #31719: (techhat) Don't worry  about  KeyErrors  if  the  node  is
367321         already removed @ 2016-03-07 18:16:40 UTC
367322
367323         · b936e09fb3 Merge pull request #31719 from techhat/issue31579
367324
367325         · 88905095c9  Don't  worry  about  KeyErrors  if  the node is already
367326           removed
367327
367328       · PR #31713: (ticosax)  [dockerng]  Fix  dockerng.network_present  when
367329         container is given by name @ 2016-03-07 15:14:41 UTC
367330
367331         · 604eb87e82 Merge pull request #31713 from ticosax/fix-dockerng-net‐
367332           working-container_id
367333
367334         · 3837cf44ca Fix network_present  by  dealing  with  containers  ID's
367335           instead of names.
367336
367337       · ISSUE #31704: (peripatetic-sojourner) Foreman external pillar doesn't
367338         load (refs: #31705)
367339
367340       · PR  #31705:  (peripatetic-sojourner)  Foreman  pillar  @   2016-03-07
367341         14:24:58 UTC
367342
367343         · 8f28e4510d     Merge     pull    request    #31705    from    peri‐
367344           patetic-sojourner/foreman_pillar
367345
367346         · ba33d75949 passing lint test
367347
367348         · 63e39a8999 refactored parameter population for foreman pillar
367349
367350         · c3325bc15d add return of virtualname
367351
367352       · PR #31702: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
367353         2016-03-06 19:24:47 UTC
367354
367355         · aa5c13f0b8 Merge pull request #31702 from rallytime/merge-2015.8
367356
367357         · 6559ea15b0 Merge branch '2015.5' into '2015.8'
367358
367359         · d7914cdb14 Merge pull request #31687 from cachedout/rm_gpg_test
367360
367361           · 8b00513ebb Removed useless tests
367362
367363         · bd4d12a155 Merge pull request #31660 from terminalmage/issue31619
367364
367365           · da954d7b92  Add  integration test for packages with epoch in ver‐
367366             sion
367367
367368           · 4fa7e4defe Move epoch removal
367369
367370           · 290192af56 Remove epoch  from  version  string  if  present  when
367371             installing with yum
367372
367373         · e33c1f456a Merge pull request #31683 from rallytime/bp-31578
367374
367375           · 8fe46789b7 allow queueing of state runs through saltmod
367376
367377         · 27f443895d Merge pull request #31682 from cachedout/cache_meaning
367378
367379           · a75e146125 Add definition of job cache to glossary
367380
367381         · bd04c964d1     Merge    pull    request    #31658    from    rally‐
367382           time/add-style-to-contrib
367383
367384           · 6b526b5878 Add mentioned of Salt's Coding Style docs to the  Con‐
367385             tributing docs
367386
367387         · 10658dffe6 Merge pull request #31655 from rallytime/pylint-docs
367388
367389           · 6e0377d376 Make note of pylint dependencies in docs
367390
367391         · 6075774a01   Merge   pull   request   #31440   from  cachedout/mas‐
367392           ter_tops_type
367393
367394           · f49cc75049 Set correct type for master_tops config value
367395
367396       · PR #31700: (s0undt3ch) It's a function!  @ 2016-03-06 17:33:58 UTC
367397
367398         · ace290629e Merge pull request #31700 from s0undt3ch/2015.8
367399
367400         · 1ca2beea3e It's a function!
367401
367402       · PR #31679: (cro)  Fix  bad  link  to  the  sample  REST  endpoint  in
367403         salt-contrib.  @ 2016-03-04 21:05:50 UTC
367404
367405         · cf438aa873 Merge pull request #31679 from cro/proxy_contrib_doc_fix
367406
367407         · d638971b73 Correct url to salt-contrib
367408
367409       · ISSUE  #21932:  (clinta)  Salt Coding Style docs should list require‐
367410         ments for salt pylintrc (refs: #31655)
367411
367412       · PR #31668: (rallytime) Some more testing documentation improvements @
367413         2016-03-04 20:48:57 UTC
367414
367415         · PR #31658: (rallytime) Add mentioned of Salt's Coding Style docs to
367416           the Contributing docs (refs: #31668)
367417
367418         · PR #31655: (rallytime) Make note of  pylint  dependencies  in  docs
367419           (refs: #31668)
367420
367421         · PR  #31641:  (rallytime) Improve Salt Testing tutorial to be a more
367422           comprehensive intro (refs: #31668)
367423
367424         · 97127a8b83 Merge pull request #31668 from rallytime/testing-docs
367425
367426         · beb9d0fe84 Ensure all integration test classes and funcs are  docu‐
367427           mented w/examples
367428
367429         · 7f8ebf7c97 Found another spelling error
367430
367431         · c8c188535f Spelling fix
367432
367433         · f260c51762 Some more testing documentation improvements
367434
367435       · ISSUE  #29753: (jakehilton) New minion fails to authenticate properly
367436         to multi-master setup (refs: #31653)
367437
367438       · PR #31653: (DmitryKuzmenko) Don't  attempt  to  verify  token  if  it
367439         wasn't sent to master.  @ 2016-03-03 17:39:35 UTC
367440
367441         · 2ed7286af1    Merge    pull    request    #31653    from    DSRCom‐
367442           pany/issues/29753_multimaster_auth_fail
367443
367444         · 2557707cc7 Don't attempt to verify token if it wasn't sent to  mas‐
367445           ter.
367446
367447       · ISSUE  #31617: (tampakrap) service.running fails on sle11 sp3 and sp4
367448         (refs: #31629, #31793)
367449
367450       · PR #31629: (darix) Fix services on sles @ 2016-03-03 16:41:27 UTC
367451
367452         · 118fcde425  Merge   pull   request   #31629   from   darix/fix-ser‐
367453           vices-on-sles
367454
367455         · 9b8d6cbb72 make the suse check consistent with rh_service.py
367456
367457         · c0c8a77242 Fix numerical check of osrelease
367458
367459       · PR  #31641:  (rallytime)  Improve  Salt Testing tutorial to be a more
367460         comprehensive intro (refs: #31668) @ 2016-03-03 16:08:47 UTC
367461
367462         · 4d1701de60 Merge pull request #31641  from  rallytime/testing-tuto‐
367463           rial
367464
367465         · 6ab3961748 Improve Salt Testing tutorial to be a more comprehensive
367466           intro
367467
367468       · ISSUE #30651:  (sjorge)  salt.states.grains.list_present  should  not
367469         show changes if none are made! (refs: #31651, #30689)
367470
367471       · PR  #31651:  (dr4Ke)  test  case:  test_list_present_nested_already @
367472         2016-03-03 16:02:55 UTC
367473
367474         · PR  #30689:  (sjorge)  fix  for  #30651   grains.list_present   and
367475           grains.list_absent (refs: #31651, #31271)
367476
367477         · 584f8401b8 Merge pull request #31651 from dr4Ke/test_case_for_30689
367478
367479         · fc9dd356e8 test case: test_list_present_nested_already
367480
367481       · PR  #31643:  (opdude)  Make sure we are really updating the mercurial
367482         repository @ 2016-03-03 14:30:53 UTC
367483
367484         · 5566f1f2a7 Merge pull request #31643  from  Unity-Technologies/hot‐
367485           fix/hg-fix-repo-updated
367486
367487         · ca41c4b8c1  Make  sure we are really updating the mercurial reposi‐
367488           tory
367489
367490       · ISSUE #30761: (sjmh) Cannot target subsets of minions when using pil‐
367491         lar and external_auth (refs: #31598)
367492
367493       · PR  #31598: (terminalmage) Remove limitations on validation types for
367494         eauth targets @ 2016-03-02 22:14:41 UTC
367495
367496         · 36c790eede Merge pull request #31598 from terminalmage/issue30761
367497
367498         · 5dedaa2d9d Remove limitations on validation types for eauth targets
367499
367500       · PR #31627: (jakehilton) Handling error  from  using  gevent  1.1.   @
367501         2016-03-02 22:01:22 UTC
367502
367503         · cc4c31cf7f Merge pull request #31627 from jakehilton/2015.8
367504
367505         · 02fb5ed616 Handling error from using gevent 1.1.
367506
367507       · PR #31630: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
367508         2016-03-02 20:49:52 UTC
367509
367510         · 191241e71a Merge pull request #31630 from rallytime/merge-2015.8
367511
367512         · 75bb692990 Merge branch '2015.5' into '2015.8'
367513
367514         · 6d31b8918f Merge pull request #31622 from jfindlay/query_doc
367515
367516           · 4e48fec806 doc/topics/tutorials/http: update query decoding docs
367517
367518         · dbf6e0786c    Merge    pull    request    #31558    from    cached‐
367519           out/ensure_ssh_installed
367520
367521           · cecc6e0a5f  Don't  stacktrace if ssh binary is not installed with
367522             salt-ssh
367523
367524       · PR #31594:  (rallytime)  Back-port  #31589  to  2015.8  @  2016-03-02
367525         16:33:24 UTC
367526
367527         · PR  #31589:  (techhat) Ensure that the latest node data is returned
367528           (refs: #31594)
367529
367530         · 38ddd62aef Merge pull request #31594 from rallytime/bp-31589
367531
367532         · 6cd89459c7 Ensure that the latest node data is returned
367533
367534       · ISSUE #31596: (joejulian) gluster --xml does not always  produce  xml
367535         with legacy versions (refs: #31604)
367536
367537       · PR #31604: (joejulian) Workaround for non-xml output from gluster cli
367538         when not tty @ 2016-03-02 15:53:44 UTC
367539
367540         · 86a0fc46b4    Merge    pull    request    #31604    from     joeju‐
367541           lian/2015.8_31596_workaround_no_xml_when_not_tty
367542
367543         · c567a823a9  Workaround for non-xml output from gluster cli when not
367544           tty
367545
367546       · PR #31583: (vutny) Remove trailing white spaces @ 2016-03-02 15:38:01
367547         UTC
367548
367549         · 36ce240596  Merge  pull  request  #31583  from  vutny/remove-trail‐
367550           ing-white-spaces
367551
367552         · bbcad93a8d Fix trailing white spaces in Salt PRM spec file
367553
367554         · 86433f2378 Revert changes in files used by  roots_test.py  integra‐
367555           tion test
367556
367557         · e7a8dbf498 Remove trailing white spaces in tests files
367558
367559         · 776b2ea9a6 Remove trailing white spaces in files under salt/ dir
367560
367561         · fbfc3abccf Remove trailing white spaces in files under pkg/ dir
367562
367563         · aebc48163d Remove trailing white spaces in documentation files
367564
367565         · 7eaf778695 Remove trailing white spaces in conf dir file
367566
367567       · PR  #31592:  (rallytime)  Back-port  #31546  to  2015.8  @ 2016-03-01
367568         23:51:02 UTC
367569
367570         · PR #31546: (terminalmage) Rework of PR #31529 (refs: #31592)
367571
367572         · PR #31529: (llua) nspawn.py:  Fix  bad  keyword  assignment  (refs:
367573           #31546)
367574
367575         · c9fe8d87f3 Merge pull request #31592 from rallytime/bp-31546
367576
367577         · 9a296bd1bf  Use clean_kwargs and invalid_kwargs utils funcs to han‐
367578           dle invalid kwargs
367579
367580         · 43099a2b63 nspawn.py: Fix bad keyword assignment
367581
367582       · ISSUE #30866: (kevinquinnyo) WheelClient cmd returns None  but  wheel
367583         functions called directly work (refs: #31570)
367584
367585       · ISSUE  #26415:  (CaesarC)  salt.wheel.WheelClient doesn't work follow
367586         the python api(AttributeError: 'NoneType'  object  has  no  attribute
367587         'get') (refs: #28087)
367588
367589       · PR  #31593:  (rallytime)  Back-port  #31570  to  2015.8  @ 2016-03-01
367590         23:50:05 UTC
367591
367592         · PR #31570: (cro) Need to return the value (refs: #31593)
367593
367594         · PR #28087:  (DmitryKuzmenko)  Revert  "Update  __init__.py"  (refs:
367595           #31570)
367596
367597         · c8dbc93ac6 Merge pull request #31593 from rallytime/bp-31570
367598
367599         · b2294d0a28 Need to return the value
367600
367601       · ISSUE   #28585:  (robthralls)  FIPS  compliance  (2015.8.1-1)  (refs:
367602         #31567)
367603
367604       · PR #31567: (cachedout) Restore FIPS compliance when using master_fin‐
367605         ger @ 2016-03-01 19:50:03 UTC
367606
367607         · 068807558a Merge pull request #31567 from cachedout/issue_28585
367608
367609         · 7006a1eecf Fix failed unit test
367610
367611         · 10cd328dda Lint
367612
367613         · 174337d020 Restore FIPS compliance when using master_finger
367614
367615       · PR  #31568:  (twangboy) Grant permissions using SID instead of name @
367616         2016-03-01 04:22:53 UTC
367617
367618         · 77d9aae8bb Merge pull request #31568 from twangboy/fix_perms
367619
367620         · 1f6a95694d Grant permissions using SID instead of name
367621
367622       · ISSUE #31516: (justinta) beacons.enable_beacon does not write to bea‐
367623         cons.conf on some OS's (refs: #31561)
367624
367625       · PR #31561: (justinta) Skipped test @ 2016-03-01 04:11:22 UTC
367626
367627         · ada5ab344d Merge pull request #31561 from jtand/beacons_test_fix
367628
367629         · 196dd4db99 Skipped test
367630
367631       · ISSUE  #31041: (fredrikaverpil) Reading about win_service in 2015.8.5
367632         docs, but it's not available in 2015.8.5 (refs: #31550, #31049)
367633
367634       · PR #31550: (rallytime) Correct versionadded tag for  win_service.con‐
367635         fig @ 2016-02-29 21:11:24 UTC
367636
367637         · PR #31049: (twangboy) Fix versionadded in win_service.config (refs:
367638           #31550)
367639
367640         · 658c1865ab  Merge  pull  request  #31550  from   rallytime/win_ser‐
367641           vice-docs
367642
367643         · 51aa26334c Correct versionadded tag for win_service.config
367644
367645       · PR #31549: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
367646         2016-02-29 18:46:35 UTC
367647
367648         · 9bb9a54f8d Merge pull request #31549 from rallytime/merge-2015.8
367649
367650         · b683df9b82 Pylint fix
367651
367652         · 24505d2dcf Merge branch '2015.5' into '2015.8'
367653
367654           · 060a60fd90 Merge pull request #31521 from terminalmage/issue24753
367655
367656             · 0d352bbc16 Add fileclient tests
367657
367658             · d9370a8041  Update  cp  module  salt-ssh  wrapper  to  use  new
367659               cachedir param
367660
367661             · 0320494b1d  Update  the  SSH  state  module wrappers to pass an
367662               alternate cachedir
367663
367664             · 65bdcb3afa Accept and pass through the alternate cachedir  when
367665               prepping the thin tar
367666
367667             · c3f7a2f2e5  Add  ability  to  specify an alternate base dir for
367668               file caching
367669
367670           · 92f8f89218 Merge pull request #31497 from  rallytime/remove-time‐
367671             out-dup
367672
367673             · 83e6480d20 Remove duplicate "timeout" definition in Roster docs
367674
367675           · da001bcb49  Merge  pull request #31472 from rallytime/update-con‐
367676             tributing-docs
367677
367678             · 5871e4d1e0 Update contributing docs
367679
367680           · f35e2dd1d3   Merge   pull    request    #31461    from    DSRCom‐
367681             pany/issues/30183_fix_multimaster_failover_2015.5
367682
367683             · 3d09c3b7a3  Set  auth  retry  count to 0 if multimaster mode is
367684               failover.
367685
367686       · ISSUE #29701: (tonyyang132) Running salt-call on  salt  master  would
367687         crash the master node with code level 2015.8.3 (refs: #31544)
367688
367689       · ISSUE    #27063:    (lorengordon)    2015.8.0:   Error   writing   to
367690         /var/log/salt/minion? (refs: #31544)
367691
367692       · PR  #31544:  (DmitryKuzmenko)  Protect  getattr  from   recursion   @
367693         2016-02-29 17:48:15 UTC
367694
367695         · 5a6aff1791    Merge    pull    request    #31544    from    DSRCom‐
367696           pany/issues/29701_getattr_recursion_protection
367697
367698         · b7a45b8fae Protect getattr from recursion
367699
367700       · ISSUE #30643: (Ch3LL) multi-master failover stack trace  when  minion
367701         fails over to other master (refs: #31512, #31525)
367702
367703       · ISSUE  #30181:  (jakehilton)  Minion  failover only works once (refs:
367704         #31512)
367705
367706       · ISSUE #29567: (freebsdly) multi master failover successful  but  exe‐
367707         cute  command  ‘salt * test.ping’ on second master return ‘Minion did
367708         not return. [No response]’ (refs: #31512)
367709
367710       · PR  #31525:  (DmitryKuzmenko)  Issues/30643  merge  forward  fixes  @
367711         2016-02-29 16:08:47 UTC
367712
367713         · PR #31512: (DmitryKuzmenko) Don't fork in try with critical finally
367714           logic. (refs: #31525)
367715
367716         · PR #30796: (skizunov) Fix minion failover after  disconnect  (refs:
367717           #31512, #31525)
367718
367719         · d5a4daa17b    Merge    pull    request    #31525    from    DSRCom‐
367720           pany/issues/30643_merge_forward_fixes
367721
367722         · a50b33d96a Don't fork in try with critical finally logic.
367723
367724         · 877bc25381 Fix minion failover after disconnect
367725
367726       · ISSUE #24955: (damonnk) Minion fails  to  start  after  bootstrap  on
367727         Raspberry PI (refs: #31536)
367728
367729       · PR #31536: (virtualguy) Remove debian repo from raspbian installation
367730         @ 2016-02-29 15:32:52 UTC
367731
367732         · 95af21325f      Merge      pull      request      #31536       from
367733           virtrnd/remove-jessie-backports-from-raspbian-install
367734
367735         · e48900ac55 Use python-tornado from jessie-backports for pure debian
367736
367737         · 6e338e2601 Remove debian repo from raspbian installation
367738
367739       · ISSUE #31193: (gwaters) RHEL7 gpg key problem (refs: #31528)
367740
367741       · PR  #31528:  (vutny)  Correct Salt Cloud documentation about updating
367742         Salt Bootstrap script @ 2016-02-29 15:30:59 UTC
367743
367744         · 5965319600 Merge pull request #31528 from vutny/cloud-bootstrap-doc
367745
367746         · f7beeb69f2 Correct Salt Cloud  documentation  about  updating  Salt
367747           Bootstrap script
367748
367749       · ISSUE  #31365:  (cwicklein) osrelease_info broken for CentOS 7 (refs:
367750         #31539)
367751
367752       · PR #31539: (DmitryKuzmenko) Added temporary workaround for  CentOS  7
367753         os-release id bug.  @ 2016-02-29 15:30:34 UTC
367754
367755         · 96c0926298    Merge    pull    request    #31539    from    DSRCom‐
367756           pany/issues/31365_centos7_osrelease_fix
367757
367758         · a3b806d126 Added temporary workaround for CentOS  7  os-release  id
367759           bug.
367760
367761       · PR  #31508:  (mcalmer) Zypper correct exit code checking @ 2016-02-26
367762         15:21:23 UTC
367763
367764         · 95db870325  Merge  pull  request  #31508  from  mcalmer/zypper-cor‐
367765           rect-exit-code-checking
367766
367767         · 66e8f6aa37 restructure the code a bit
367768
367769         · f5c125de19 remove new lines between zypper command and check result
367770
367771         · 1425c6496c use specialized assert functions for tests
367772
367773         · f266cfdaac test _zypper_check_result()
367774
367775         · aff6467782 adapt tests to new zypper_check_result() output
367776
367777         · edad780cdf use _zypper_check_result()
367778
367779         · 7c5d5a2b7a  add _zypper_check_result() to raise and error or return
367780           stdout
367781
367782         · a6785ef7a9 check zypper exit code everywhere
367783
367784         · 935b0510c9 add function to check zypper exit codes
367785
367786       · ISSUE saltstack/salt-bootstrap#695: (mtippett) Install Failures  With
367787         Raspbian Jessie (refs: #31510, #31477, #31458)
367788
367789       · PR  #31510:  (vutny)  Add  installation guide for Raspbian (Debian on
367790         Raspberry Pi) @ 2016-02-26 15:06:57 UTC
367791
367792         · e51126179c  Merge  pull  request  #31510  from   vutny/debian-rasp‐
367793           bian-install-guide
367794
367795         · 50f3e072b1  Add  instruction  how  to install salt-minion on Debian
367796           Jessie from Stretch
367797
367798         · abcd505178 Update Debian installation guide with information  about
367799           Raspbian
367800
367801       · PR  #31498:  (Ch3LL)  rename  methods in pkg states test @ 2016-02-25
367802         23:29:51 UTC
367803
367804         · 9d458bb420 Merge pull request #31498 from Ch3LL/rename_test
367805
367806         · 29a53f4353 rename methods in pkg states test
367807
367808       · ISSUE #31427: (githubcdr) salt.states.grains.list_present adds dupli‐
367809         cates names (refs: #31471)
367810
367811       · PR  #31471: (cachedout) Correct issue where duplicate items in grains
367812         list during state run will result in duplicate  grains  @  2016-02-25
367813         20:15:20 UTC
367814
367815         · 625da0d261 Merge pull request #31471 from cachedout/issue_31427
367816
367817         · 74c3053c91 Remove debugging
367818
367819         · 30eb5fccf7  Additional  tests,  but  disable  the test for distinct
367820           lists, because of a problem with context in test suite
367821
367822         · 3d2aec05e5 Check for duplicate grains during list insertion
367823
367824       · ISSUE #29727: (oeuftete) dockerng.running does not pull image as doc‐
367825         umented (refs: #31352, #31455)
367826
367827       · PR  #31455:  (ticosax)  [dockerng]  Disable notset check @ 2016-02-25
367828         19:15:09 UTC
367829
367830         · e85ae2341a  Merge  pull  request  #31455  from  ticosax/diable-NOT‐
367831           SET-check
367832
367833         · e072937243 dockerd returns sometimes None or [] for ports.
367834
367835         · 5630401889 _api_mismatch was a good idea
367836
367837       · PR  #31488:  (isbm)  Unit  Test  for  Zypper's "remove" and "purge" @
367838         2016-02-25 17:52:33 UTC
367839
367840         · e68a0947b7  Merge   pull   request   #31488   from   isbm/isbm-zyp‐
367841           per-ut-removepurge
367842
367843         · d30f2e4627 Implement unit test for remove and purge
367844
367845         · 4caf201052 Refactor code (a bit)
367846
367847         · df89da4d15 Fix the docstring
367848
367849       · PR  #31485:  (jacobhammons)  Fixed  transport description in minion /
367850         master config @ 2016-02-25 17:04:15 UTC
367851
367852         · cd87760c87 Merge pull request #31485 from jacobhammons/2015.8
367853
367854         · 748acab8b5 Fixed zeromq casing in transport settings
367855
367856         · 765a226907 Fixed transport description in minion / master config
367857
367858       · PR #31411: (justinta) Added some beacons execution module integration
367859         tests @ 2016-02-25 16:16:26 UTC
367860
367861         · fb1ef92e2b Merge pull request #31411 from jtand/beacons_tests
367862
367863         · 7d32b56015  Added  some  more  checks to verify beacon changes were
367864           actually happening
367865
367866         · 2da5285c03 Added codeauthor
367867
367868         · fd1e2838ea Lint
367869
367870         · 421a112914 Added config_dir to test minion config
367871
367872         · bf6a4c0983 Fixed lint error
367873
367874         · 3566fbbcca More updates to beacons test
367875
367876         · 37c4bf22d2 Updated beacons integration test
367877
367878         · 6db628be1a Basic integration tests for beacons execution module
367879
367880         · 3b238c2e68 Started adding beacons execution module tests
367881
367882       · ISSUE #31216: (oliver-dungey) pkg.installed documentation not consis‐
367883         tent with implementation (refs: #31475)
367884
367885       · ISSUE #30464: (sjmh) pillar_env minion config option needs to be doc‐
367886         umented (refs: #31475)
367887
367888       · ISSUE #30261: (MadsRC) Add ability to define  custom  beacons  (refs:
367889         #31475)
367890
367891       · ISSUE  #29636: (ronnix) Documentation for the refresh_password arg in
367892         postgres_user.present is confusing (refs: #31475)
367893
367894       · ISSUE #29528: (apergos) nitpick for "Using Salt  at  scale"  tutorial
367895         (refs: #31475)
367896
367897       · ISSUE  #29520:  (arthurlogilab) [doc] transport option not in default
367898         master configuration nor in the example  file  of  the  documentation
367899         (refs: #31475)
367900
367901       · ISSUE #10330: (jhenry82) exclude keyword not working (refs: #31475)
367902
367903       · PR  #31475:  (jacobhammons) Assorted doc issues @ 2016-02-25 16:03:54
367904         UTC
367905
367906         · 2e9a705e75 Merge pull request #31475 from jacobhammons/2015.8
367907
367908         · a72dc15720 Assorted doc issues  Fixes  #10330  Fixes  #31216  Fixes
367909           #30464 Fixes #29520 Fixes #30261 Fixes #29636 Fixes #29528
367910
367911       · ISSUE  saltstack/salt-bootstrap#695: (mtippett) Install Failures With
367912         Raspbian Jessie (refs: #31510, #31477, #31458)
367913
367914       · PR #31477: (vutny) Correct installation documentation  for  Ubuntu  @
367915         2016-02-25 16:01:38 UTC
367916
367917         · 3905dd81d3    Merge    pull    request   #31477   from   vutny/cor‐
367918           rect-doc-install-ubuntu
367919
367920         · 172f34a6ca Correct headers in Debian/Ubuntu/SUSE  install  instruc‐
367921           tions
367922
367923         · 4248f9ea0a  Add  common  packages  installation  section  to Debian
367924           install guide
367925
367926         · 8c6e179870 Add note about amd64 packages to Ubuntu install guide
367927
367928         · afaa24723a Update Ubuntu install guide:
367929
367930       · PR #31479: (isbm) Zypper unit tests & fixes @ 2016-02-25 15:58:15 UTC
367931
367932         · f027dc0cf8 Merge pull request #31479 from isbm/isbm-zypper-unittest
367933
367934         · 9f64333ccb Do not use Zypper purge (reason: too dangerous)
367935
367936         · bc05acf7c3 Fix PyLint
367937
367938         · c0eab8b549 Add space before "assert" keyword
367939
367940         · 6bcb89a8f6 Implement list packages test
367941
367942         · 78837d2926 Add mocking data
367943
367944         · 0b64b8137f  Implement  test  for  version  compare,  where   python
367945           fall-back algorithm is called
367946
367947         · 18b30a3274  Implement test for version compare, where RPM algorithm
367948           is called
367949
367950         · 59eca53441 Adjust test case for  the  third  package  in  the  test
367951           static data
367952
367953         · 8034cf0b91 Add third test package static info
367954
367955         · 90f209569a Implement test for the upgrade_available
367956
367957         · ad87e719d6  Bugfix:  when  only  one  package, no dict is returned.
367958           Still upgrade_available should return boolean.
367959
367960         · 7eb5f19cb4 Implement test for latest_available
367961
367962         · e372c0b596 Implement test for the info_available
367963
367964         · 447771c0fc Add Zypper static data for the available packages
367965
367966         · 6989871d27 Implement test for info_installed
367967
367968         · 0cc6bce4aa Use strings instead of unicode strings
367969
367970         · 3342c03987 Implement list upgrades test
367971
367972         · 8862d7af65 Add list upgrades Zypper static data
367973
367974         · 4d38d318f4 Implement error handling test for listing upgrades
367975
367976         · 080b4ee617 Do not strip the output
367977
367978         · 53338402a5 Use renamed zypper products data file
367979
367980         · c6135975b0 Rename Zypper products static test data file
367981
367982         · ab3ff53d89 Reimplement list_upgrades to use XML output from  Zypper
367983           instead
367984
367985         · e87864986d   Add   Zypper   unit   test:   test_list_products   and
367986           test_refresh_db
367987
367988         · cd6419fc9c Add Zypper Unit Test installed products sample data
367989
367990       · ISSUE #31370: (Ch3LL) pkg.info_installed on ubuntu12 does not  output
367991         info and stack trace (refs: #31439)
367992
367993       · ISSUE  #31366:  (Ch3LL) pkg.info_installed on centos5 does not output
367994         info (refs: #31445)
367995
367996       · PR #31445: (rallytime) Only use LONGSIZE in  rpm.info  if  available.
367997         Otherwise, use SIZE.  @ 2016-02-24 18:35:31 UTC
367998
367999         · PR  #31439:  (rallytime)  Fix  lowpkg.info function for Ubuntu 12 -
368000           make sure we have a pkg name (refs: #31445)
368001
368002         · 987dd89979 Merge pull request #31445 from rallytime/fix-31366
368003
368004         · 42415a4a7b Make rpm_tags query more concise
368005
368006         · 9965fe188a Added to pkg.info_installed test  for  RedHat  and  Suse
368007           systems
368008
368009         · 47cc7c3466 Add error check when retcode is 0, but stderr is present
368010
368011         · 294371243d  Only  use LONGSIZE in rpm.info if available. Otherwise,
368012           use SIZE.
368013
368014       · PR #31464: (Ch3LL) integartion test: ensure decorator  only  runs  on
368015         one method and not class @ 2016-02-24 18:35:00 UTC
368016
368017         · 979c8b4faa Merge pull request #31464 from Ch3LL/fix_int_test
368018
368019         · a387d175d8  integartion  test-  ensure  decorator  only runs on one
368020           method and not entire class
368021
368022       · ISSUE saltstack/salt-bootstrap#695: (mtippett) Install Failures  With
368023         Raspbian Jessie (refs: #31510, #31477, #31458)
368024
368025       · PR  #31458:  (vutny)  Correct installation documentation for Debian @
368026         2016-02-24 17:01:09 UTC
368027
368028         · aa0a9a03dd   Merge   pull   request    #31458    from    vutny/cor‐
368029           rect-doc-install-debian
368030
368031         · 42aa7eeafd  Add  section  about  installation  from the Debian Main
368032           Repository
368033
368034         · 07dece2f8f Remove duplicate post-installation  section  for  Debian
368035           install guide
368036
368037         · 10c05f6943  Add  install  section for Debian Stretch (Testing) from
368038           community repository
368039
368040         · b2c78e08dc Add note about supported Debian architectures  on  Salt‐
368041           Stack corp repo
368042
368043       · PR #31457: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
368044         2016-02-24 16:42:17 UTC
368045
368046         · 330c4d8b0f Merge pull request #31457 from rallytime/merge-2015.8
368047
368048         · 94b3cf08c7 Merge branch '2015.5' into '2015.8'
368049
368050           · 26733ce988 Merge  pull  request  #31442  from  sastorsl/salt-mod‐
368051             ules-file.py-copy-check-src
368052
368053             · 0a4132866d removed lint in the exception string
368054
368055             · f8b5d498c3 Add os.path.exists(src) to file.py, def copy
368056
368057           · e480727d27 Merge pull request #31441 from cachedout/issue_30739
368058
368059             · ffcfad1570  Include localhost minions in presence detection for
368060               runner
368061
368062           · 91ff95f093   Merge   pull   request    #31416    from    carlwge‐
368063             orge/selinux_doc_fix
368064
368065             · 0e6846d72e selinux module documentation fix
368066
368067           · 7d01979898  Merge  pull  request  #31336  from  terminalmage/con‐
368068             fig-validation-logging
368069
368070             · 795008bad1 Improve config validation logging
368071
368072           · fed096a29d Merge pull request #31374 from sjorge/solarish_hwaddr
368073
368074             · bdf2576dfb missed a .format and messed up the join
368075
368076             · bbd2fdc96d fix for illumos/solaris hwaddr
368077
368078           · 6ee17f905b Merge pull request #31339 from jacobhammons/dot7prev
368079
368080             · 07120a8d48 changed latest release to 2015.8.7
368081
368082       · ISSUE #31370: (Ch3LL) pkg.info_installed on ubuntu12 does not  output
368083         info and stack trace (refs: #31439)
368084
368085       · PR  #31439: (rallytime) Fix lowpkg.info function for Ubuntu 12 - make
368086         sure we have a pkg name (refs: #31445) @ 2016-02-24 16:24:46 UTC
368087
368088         · e553f18dc4 Merge pull request #31439 from rallytime/fix-31370
368089
368090         · 1931c61563 Only run this pkg.info_installed test  on  distros  that
368091           have that func
368092
368093         · 0488668a00  Fix  lowpkg.info  function for Ubuntu 12 - make sure we
368094           have a pkg name
368095
368096       · PR #31456: (RabidCicada) Clarified the form of requisite targets/req‐
368097         uisite-references @ 2016-02-24 16:24:00 UTC
368098
368099         · fcb12dbe96  Merge pull request #31456 from RabidCicada/clarify-req‐
368100           uisites-doc
368101
368102         · 87f4843490 Clarified the form of requisite targets/requisite-refer‐
368103           ences
368104
368105       · ISSUE  #30431:  (nbow)  cp.get_url  with  large  files  results in an
368106         Uncaught Exception (refs: #30704)
368107
368108       · ISSUE #27093: (TheBigBear) 2015.8.0 winrepo downloader corrupts  some
368109         installers (refs: #30704)
368110
368111       · PR  #31453:  (DmitryKuzmenko)  Backport cp_geturl fix for large files
368112         into 2015.8 @ 2016-02-24 15:38:24 UTC
368113
368114         · PR #30704: (DmitryKuzmenko) Issues/30431 get url large file  (refs:
368115           #31453)
368116
368117         · 7dac1db55d    Merge    pull    request    #31453    from    DSRCom‐
368118           pany/issues/30431_get_url_large_file_2015.8_backbort
368119
368120         · 664bdec2b3 Backport cp_geturl fix for large files into 2015.8
368121
368122       · PR  #31444:  (jacobhammons)  Documentation  updates  -  ddns   state,
368123         file.line  state/exe function, installation dependencies @ 2016-02-23
368124         22:40:05 UTC
368125
368126         · 8f6c4be618 Merge pull request #31444 from jacobhammons/ddns-docs
368127
368128         · 0b8fce1de4 Fixes #31402 Added arguments to state file.line  to  fix
368129           issue where exe module uses line and state module uses name. Refor‐
368130           matted parameters in exe module file.line placeholder release notes
368131           for 2015.5.8
368132
368133         · 0b1fdf7e21 Added note clarifying when dnspython is not required
368134
368135       · PR #31341: (twangboy) Clarification on Windows Package Manager docs @
368136         2016-02-23 16:09:18 UTC
368137
368138         · 42027e0d72 Merge pull  request  #31341  from  twangboy/package_man‐
368139           ager_docs
368140
368141         · c16cfc6360 Fix typos
368142
368143         · 8dff065cec Fix some formatting issues
368144
368145         · dfef24f13b         Merge         branch         '2015.8'         of
368146           https://github.com/saltstack/salt into 2015.8
368147
368148         · 807257b138 Clarification for Windows Package Manger
368149
368150       · PR #31380: (kiorky) Bring up ext_pillar rendering errors  as  well  @
368151         2016-02-23 16:08:39 UTC
368152
368153         · 30d968c0a7 Merge pull request #31380 from kiorky/p
368154
368155         · e3e97a43ce Bring up ext_pillar rendering errors as well
368156
368157       · ISSUE  #31410:  (terminalmage) Debian GNU/Linux grains broken in head
368158         of 2015.8 branch (refs: #31418)
368159
368160       · PR #31418: (terminalmage) Fix core grains when Debian OS detected  as
368161         'Debian GNU/Linux' @ 2016-02-23 15:49:49 UTC
368162
368163         · 64ed9fcd01    Merge    pull    request    #31418   from   terminal‐
368164           mage/fix-debian-grains
368165
368166         · 5c833efc01 Support running grains tests
368167
368168         · 0e0cd17160 Rename core.py to core_test.py
368169
368170         · d3cd1b596d Add unit test for core grains
368171
368172         · e3d549d376 Fix debian grains setup
368173
368174       · PR  #31429:  (mcalmer)  fix  argument  handling  for  pkg.download  @
368175         2016-02-23 15:48:23 UTC
368176
368177         · ec01b994bd Merge pull request #31429 from mcalmer/fix-refresh-argu‐
368178           ments
368179
368180         · 299c07fa7d fix argument handling for pkg.download
368181
368182       · PR #31432: (ticosax) [dockerng] Hotfix  docker  1.10.2  @  2016-02-23
368183         15:39:04 UTC
368184
368185         · 05c12b9ba1    Merge   pull   request   #31432   from   ticosax/hot‐
368186           fix-docker-1.10.2
368187
368188         · 1e9f6ff324 handle inconsistencies in dockerd API
368189
368190         · 8484815f58 pep8
368191
368192       · PR  #31420:  (twangboy)  Handle  Unversioned  Packages  @  2016-02-22
368193         23:46:24 UTC
368194
368195         · fb81e905e4 Merge pull request #31420 from twangboy/unversioned_pkgs
368196
368197         · 816e991e87 Fix version check
368198
368199         · 85d8b938ad Match unversioned packages to winrepo
368200
368201       · PR  #31417: (jacobhammons) ddns state docs updated with notes regard‐
368202         ing the name, zone, and keyfile.  @ 2016-02-22 23:16:48 UTC
368203
368204         · 19d7810478 Merge pull request #31417 from jacobhammons/ddns-docs
368205
368206         · 5c4cbbb572 Added notes regarding the name, zone, and keyfile.
368207
368208       · PR #31391: (redmcg) Added sanity check: is 'pillar'  in  self.opts  @
368209         2016-02-22 20:05:27 UTC
368210
368211         · ac6af79abc  Merge  pull  request  #31391  from redmcg/master_sched‐
368212           ule_fix
368213
368214         · 91e74feaf3 Added sanity check: is 'pillar' in self.opts
368215
368216       · PR #31376: (cro) Some distros don't have a /lib/systemd @  2016-02-22
368217         18:11:39 UTC
368218
368219         · c7bd13c9c9 Merge pull request #31376 from cro/suse_service2
368220
368221         · f3fec5562e We need one more mocked return from listdir.
368222
368223         · ab9d9e7008 Can't add a tuple and a string.
368224
368225         · 8f12bdb1a0  Check  to  see if a path is a link, because it's likely
368226           that if it IS a link, one of the other paths points to it.   Ignore
368227           so we don't get duplicates.
368228
368229         · 8f0e866f1b  Some distros do not seem to have a /lib/systemd, but do
368230           have a /usr/lib/systemd
368231
368232       · ISSUE #29727: (oeuftete) dockerng.running does not pull image as doc‐
368233         umented (refs: #31352, #31455)
368234
368235       · ISSUE #27976: (syphernl) Module dockerng.inspect_image always returns
368236         404 (refs: #31352)
368237
368238       · PR #31352: (ticosax) [dockerng]  Pull  missing  images  when  calling
368239         dockerng.running @ 2016-02-22 16:54:10 UTC
368240
368241         · 105821efc7       Merge      pull      request      #31352      from
368242           ticosax/pull-image-on-running
368243
368244         · 8c86eeb4dc Pull missing images when calling dockerng.running
368245
368246       · PR #31378: (mcalmer) Zypper refresh handling  @  2016-02-22  16:50:28
368247         UTC
368248
368249         · 83294e4f3a    Merge   pull   request   #31378   from   mcalmer/zyp‐
368250           per-refresh-handling
368251
368252         · 274e6467be do not change kwargs in refresh while checking a value
368253
368254         · 644b14c273 simplify checking the refresh paramater
368255
368256         · db0e0de2fd add refresh option to more functions
368257
368258         · 5836be3f59 unify behavior of refresh
368259
368260       · ISSUE #31229: (eykd) git.latest broken behavior in 2015.8.x on  older
368261         Git (refs: #31373)
368262
368263       · PR  #31373:  (terminalmage)  Use --set-upstream instead of --track to
368264         set upstream on older git @ 2016-02-22 16:46:00 UTC
368265
368266         · e24685b89a Merge pull request #31373 from terminalmage/issue31229
368267
368268         · 28f0a75cc1 Use --set-upstream instead of --track to set upstream on
368269           older git
368270
368271       · ISSUE   #31137:   (jeffreyctang)  logrotate  creates  .bak  files  in
368272         /etc/logrotate.d which logrotate reads. (refs: #31390)
368273
368274       · PR #31390: (abednarik) Fix Logrotate module.  @  2016-02-22  16:09:15
368275         UTC
368276
368277         · c5790bc4d6  Merge  pull request #31390 from abednarik/remove_depre‐
368278           cated_psed_in_lorgotate
368279
368280         · c1e0ff7785 Fix Logrotate module.
368281
368282       · ISSUE #28004: (warden)  dockerng.image_present  should  allow  public
368283         repository pulling by default (refs: #31354)
368284
368285       · PR  #31354: (ticosax) [dockerng] Dont require auth for all registries
368286         @ 2016-02-20 05:45:10 UTC
368287
368288         · 174ee10fc2      Merge      pull      request      #31354       from
368289           ticosax/dont-require-auth-for-all-registries
368290
368291         · 4a9f661d66 It exists public registries where auth is not required.
368292
368293       · PR  #31368: (whiteinge) Update list of netapi clients for autoclass @
368294         2016-02-19 20:57:28 UTC
368295
368296         · 8d0498eff4      Merge      pull      request      #31368       from
368297           whiteinge/netapi-client-list
368298
368299         · 0cfe5d89a0 Update list of netapi clients for autoclass
368300
368301       · PR #31367: (techhat) Add docs on how to actually use SDB @ 2016-02-19
368302         20:07:17 UTC
368303
368304         · 9b0e29107b Merge pull request #31367 from techhat/sdbdocs
368305
368306         · eea192a545 Add docs on how to actually use SDB
368307
368308       · PR #31357: (ticosax)  [dockerng]  Support  docker  inconsistencies  @
368309         2016-02-19 20:02:08 UTC
368310
368311         · 7e599f0e27    Merge   pull   request   #31357   from   ticosax/sup‐
368312           port-docker-inconsistencies
368313
368314         · 3672b8e7b1 docker daemon returns sometimes empty list and sometimes
368315           None
368316
368317       · PR  #31353:  (ticosax)  [dockerng]  Fix  when  ports  are  integers @
368318         2016-02-19 19:55:30 UTC
368319
368320         · PR #31326: (ticosax) [dockerng ]  Detect  settings  removal  (refs:
368321           #31353)
368322
368323         · 18bd78260d       Merge      pull      request      #31353      from
368324           ticosax/fix-when-port-are-integers
368325
368326         · 20fdc43968 Follow up for #31326
368327
368328       · PR #31346: (ticosax) Backport #31130 to 2015.8 @ 2016-02-19  19:46:48
368329         UTC
368330
368331         · PR  #31130:  (ticosax) Saltnado: provide also get parameters to the
368332           context (refs: #31346)
368333
368334         · dec254a7a2   Merge   pull   request   #31346   from   ticosax/back‐
368335           port-31130-to-2015.8
368336
368337         · a8dc33a5e3 Saltnado provide also get parameters to the context
368338
368339       · PR  #31332: (terminalmage) Clarify documentation for gitfs/hgfs/svnfs
368340         mountpoint and root options @ 2016-02-19 18:31:29 UTC
368341
368342         · d639d65381 Merge pull request #31332 from terminalmage/issue31167
368343
368344         · eebc325040 Clarify documentation  for  gitfs/hgfs/svnfs  mountpoint
368345           and root options
368346
368347       · PR #31305: (mcalmer) call zypper with option --non-interactive every‐
368348         where @ 2016-02-19 18:14:57 UTC
368349
368350         · d067e77fee Merge pull request #31305 from mcalmer/zypper-non-inter‐
368351           active-everywhere
368352
368353         · 75e776761c write a zypper command builder function
368354
368355         · 3df302fcb7 call zypper with option --non-interactive everywhere
368356
368357       · PR #31337: (jacobhammons) Release notes and versioning for 2015.8.7 @
368358         2016-02-19 00:20:30 UTC
368359
368360         · 98a14f8090 Merge pull request #31337 from jacobhammons/dot7
368361
368362         · d4fb33939e Release notes and versioning for 2015.8.7
368363
368364       · PR #31326: (ticosax)  [dockerng  ]  Detect  settings  removal  (refs:
368365         #31353) @ 2016-02-18 22:02:50 UTC
368366
368367         · f0ba9c1eca  Merge  pull  request  #31326  from ticosax/2015.8-dock‐
368368           erng-detect-settings-removal
368369
368370         · 7bedd86ebe Add detection of removed settings.
368371
368372       · PR #31292: (twangboy) Fix dunder virtual to check for Remote Adminis‐
368373         tration Tools @ 2016-02-18 18:57:26 UTC
368374
368375         · 130f515391  Merge  pull request #31292 from twangboy/win_serverman‐
368376           ager
368377
368378         · 89b47ab3c5 Update return documentation for install/remove
368379
368380         · a0be43120b Fix cmd_quote error
368381
368382         · 13cd57a890 Remove repeating Import ServerManager command
368383
368384         · 3270a2859f Add check for server manager module
368385
368386         · 4bdae47a44 Added checks for Windows 2008 R2
368387
368388       · ISSUE #30932: (johje349) Glusterfs peered fails on secondary host  in
368389         2015.8.4 (refs: #31287)
368390
368391       · PR  #31287:  (joejulian)  Rework  tests  and fix reverse peering with
368392         gluster 3.7 @ 2016-02-18 17:57:23 UTC
368393
368394         · 5d31714b44    Merge    pull    request    #31287    from     joeju‐
368395           lian/2015.8_30932_peer_probe_by_ip
368396
368397         · 783e9b2e13 Rework tests and fix reverse peering with gluster 3.7
368398
368399       · PR #31196: (sakateka) Here are a few fixes utils.network @ 2016-02-18
368400         17:27:00 UTC
368401
368402         · a2f6447f8d  Merge  pull  request  #31196  from  sakateka/utils-net‐
368403           work-fix
368404
368405         · a7b11024dd fix typo
368406
368407         · 92fd48fcf7 Do not Fallback to use lsof if proc available
368408
368409       · ISSUE #29795: (vutny) Unable to override state-output setting in com‐
368410         mand line (refs: #31299)
368411
368412       · PR #31299: (rallytime) Allow state-output and  state-verbose  default
368413         settings to be set from CLI @ 2016-02-18 17:25:23 UTC
368414
368415         · d20a30b8be Merge pull request #31299 from rallytime/fix-29795
368416
368417         · 483f31922b Allow state-output and state-verbose default settings to
368418           be set from CLI
368419
368420       · PR #31317: (terminalmage)  Fix  versonadded  directive  @  2016-02-18
368421         16:56:32 UTC
368422
368423         · 25d8af21c9  Merge  pull  request  #31317 from terminalmage/git-ver‐
368424           sion-audit
368425
368426         · acc3b54621 Fix versonadded directive
368427
368428       · ISSUE #30999: (orymate) git.latest  rev=tag  fails  with  old  git(1)
368429         (refs: #31245, #31301)
368430
368431       · PR  #31301:  (terminalmage)  Corrected  fix  for  #30999 @ 2016-02-18
368432         15:59:40 UTC
368433
368434         · PR #31245: (jespada) fix git state for git version older than 1.9.2
368435           (refs: #31301)
368436
368437         · f2b662371c Merge pull request #31301 from terminalmage/issue30999
368438
368439         · 625af70e08 Fix --unset-upstream handling
368440
368441         · 7940881797 fix git state github issue #30999
368442
368443       · PR  #31302:  (terminalmage)  Audit  CLI  opts  used  in  git states @
368444         2016-02-18 15:58:48 UTC
368445
368446         · 408d89e174 Merge pull  request  #31302  from  terminalmage/git-ver‐
368447           sion-audit
368448
368449         · ca410c0a94 Audit CLI opts used in git states
368450
368451       · PR  #31312:  (terminalmage)  Merge  2015.5  into  2015.8 @ 2016-02-18
368452         15:57:08 UTC
368453
368454         · 098f05eb3c Merge pull request #31312  from  terminalmage/merge-for‐
368455           ward-2015.5-2015.8
368456
368457         · 808d150fe4  Merge  remote-tracking  branch  'upstream/2015.5'  into
368458           merge-forward-2015.5-2015.8
368459
368460         · cd3400e67e    Merge    pull    request     #31288     from     not‐
368461           peter/ssh_known_hosts_docs
368462
368463           · 3f573d89a2 Improve salt.states.ssh_known_hosts documentation.
368464
368465         · 875d9925fa     Merge     pull     request    #31183    from    hey‐
368466           fife/fix-gce-named-static-ip-reservation
368467
368468           · 26774e2323 Fixed named external_ip reservation/re-use code.
368469
368470         · e56c402c0c Merge pull request #31032 from terminalmage/issue31001
368471
368472           · 42daea4509  yumpkg.py:  Remove  repoquery  usage  everywhere  but
368473             check_db
368474
368475           · 50befbc149 backport salt.utils.pkg.rpm to 2015.5
368476
368477           · a1ad14994a   Move   salt.utils.itersplit()   to  salt.utils.iter‐
368478             tools.split()
368479
368480           · 5b8646ce64 Ignore failure to install new enough dnf-plugins-core
368481
368482           · defe0859fd Ensure that dnf-plugins-core 0.1.15 is installed
368483
368484         · cec69b74f0 Merge pull request #31264 from sjorge/if_missing-155-fix
368485
368486           · 545edbf5e1 fix if_missing gets appended to dirs list, take III
368487
368488       · ISSUE #31223: (pprince) file_tree pillar: fails when  data  files  at
368489         root end in '\\n' (refs: #31225)
368490
368491       · PR  #31225:  (pprince)  Fix  in  file_tree  pillar (Fixes #31223.)  @
368492         2016-02-18 06:06:12 UTC
368493
368494         · c58f654bc3  Merge  pull   request   #31225   from   pprince/PR/bug‐
368495           fix/file_tree
368496
368497         · d592d8636b Fix regression in file_tree pillar (Fixes #31223.)
368498
368499       · PR  #31233:  (mcalmer)  implement version_cmp for zypper @ 2016-02-17
368500         20:20:19 UTC
368501
368502         · fe9e5d27e6  Merge  pull  request  #31233  from  mcalmer/2015.8-zyp‐
368503           perpy-add-version_cmp
368504
368505         · 389a4b2548 Check if rpm-python can be imported
368506
368507         · 6ad6a90955 pylint changes
368508
368509         · 7beaf26068 implement version_cmp for zypper
368510
368511       · PR #31273: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
368512         2016-02-17 20:14:05 UTC
368513
368514         · 93c03a400b Merge pull request #31273 from rallytime/merge-2015.5
368515
368516         · 11cfb636fb Pylint fix
368517
368518         · 023ad4635c Merge branch '2015.5' into '2015.8'
368519
368520           · fa3f474de9 Merge pull request #31110 from cachedout/fixup_30730
368521
368522             · 5bf5848e04 Fixup unit test
368523
368524             · f558f68e0a Fixes pylint warnings
368525
368526             · 56a975ec43 Attempt to fix pylint warnings
368527
368528             · 55d71be057 Make documentation and code examples consistent with
368529               code
368530
368531             · 1f04fed6f8 Change parameter name from includes to skips
368532
368533             · ccf5e13e7d Adding support for skipHidden in SetInclude
368534
368535             · 4f2d4af2e7 Variable names standardization
368536
368537             · f5917ac1e8 Fixes typo
368538
368539             · 26e5236073 Invert RebootRequired logic
368540
368541             · 8065a7abf6  Add  basic  documentation  and define how the skips
368542               parameter works.
368543
368544             · 389fea7508 Change parameter name from includes to skips
368545
368546             · 30e1fef906 Adding support for skipHidden in SetInclude
368547
368548             · 1244eea5be Variable names standardization,  consistent  if/else
368549               logic with states.win_update
368550
368551       · PR  #31253:  (gtmanfred) allow for nova servers to be built with pre‐
368552         made volumes @ 2016-02-17 17:55:39 UTC
368553
368554         · dc2e7c8956 Merge pull request #31253 from gtmanfred/2015.8
368555
368556         · 36bf06e539 fix doc for boot_volume
368557
368558         · 9660c91b57 allow for nova servers to be built with premade volumes
368559
368560       · ISSUE #30651:  (sjorge)  salt.states.grains.list_present  should  not
368561         show changes if none are made! (refs: #31651, #30689)
368562
368563       · PR  #31271:  (rallytime)  Back-port  #30689  to  2015.8  @ 2016-02-17
368564         16:52:36 UTC
368565
368566         · PR  #30689:  (sjorge)  fix  for  #30651   grains.list_present   and
368567           grains.list_absent (refs: #31651, #31271)
368568
368569         · 29e3dd091d Merge pull request #31271 from rallytime/bp-30689
368570
368571         · 3dae79d516   fix   nested   grains   always   show  update  due  to
368572           __grains__.get() not supporting the ":" seperator
368573
368574       · ISSUE #30461: (jfindlay) update documentation on  bootstrap-supported
368575         platforms (refs: #31255)
368576
368577       · PR #31255: (jacobhammons) Fixes #30461 @ 2016-02-17 02:23:46 UTC
368578
368579         · fcfc6f4fd3 Merge pull request #31255 from jacobhammons/doc-fixes
368580
368581         · 3c4f8215c3  Fixes  #30461 Credited Sebastian Kramer for finding CVE
368582           2016-1866 in release notes Added note about salt virt  not  working
368583           on KVM in a VM
368584
368585       · ISSUE  #31106:  (rvandegrift)  Exception from scheduled runner (refs:
368586         #31189)
368587
368588       · PR #31189: (dmacvicar) Fix crash with scheduler and runners  (#31106)
368589         @ 2016-02-16 18:49:36 UTC
368590
368591         · 62d76902ce       Merge      pull      request      #31189      from
368592           dmacvicar/dmacvicar-2015.8-31106
368593
368594         · 9ad8cb1e6b Fix crash with scheduler and runners (#31106)
368595
368596       · ISSUE #30962: (fantasy86) Targeting by matching  ip  address  doesn't
368597         work (refs: #31201)
368598
368599       · ISSUE #30169: (colinlabs) Can't use Subnet/IP Address Matching (refs:
368600         #31201)
368601
368602       · ISSUE #29733: (roshan3133) salt  -S  <ipaddress>  test.ping   command
368603         output  getting  list  of  minions  which  did not not return. (refs:
368604         #31201)
368605
368606       · ISSUE #29188: (bergemalm) Unable to  target  minions  via  ipcidr  in
368607         2015.8 (refs: #31201)
368608
368609       · PR  #31201:  (The-Loeki)  Utilize  prepared grains var in master-side
368610         ipcidr matching @ 2016-02-16 18:36:10 UTC
368611
368612         · dc78d0a504 Merge pull request #31201 from The-Loeki/patch-1
368613
368614         · 318689d728 Correct ordering of  address/network  matching,  improve
368615           performance of master-side cidr matching
368616
368617         · 4e4e0926da Utilize prepared grains var in master-side ipcidr match‐
368618           ing
368619
368620       · PR #31239: (terminalmage) Improve logging when master cannot decode a
368621         payload @ 2016-02-16 16:35:46 UTC
368622
368623         · 60bbac36fa   Merge   pull  request  #31239  from  terminalmage/bet‐
368624           ter-bad-load-logging
368625
368626         · 1fbe3cba1f Improve logging when master cannot decode a payload
368627
368628       · ISSUE #31185: (twangboy) pkg.refresh_db leaves old sls files  if  the
368629         name changes (refs: #31190)
368630
368631       · PR #31190: (twangboy) Clear minion cache before caching from master @
368632         2016-02-16 16:11:26 UTC
368633
368634         · 80f1c3553b Merge pull request #31190 from twangboy/refresh_db
368635
368636         · 860437665d Fix some lint
368637
368638         · 799d938d6a Clear minion cache before caching from master
368639
368640       · PR #31226: (pprince) Minor docs fix: file_tree pillar (Fixes  #31124)
368641         @ 2016-02-16 15:25:33 UTC
368642
368643         · PR #31124: (zygiss) Make load beacon cross-platform (refs: #31226)
368644
368645         · 28a2b8097b   Merge   pull   request   #31226  from  pprince/PR/doc‐
368646           fix/file_tree
368647
368648         · c13852fbbf Minor docs fix: file_tree pillar (Fixes #31124)
368649
368650       · PR #31234: (mcalmer) improve doc for list_pkgs @ 2016-02-16  15:25:06
368651         UTC
368652
368653         · 9afad13306  Merge  pull  request  #31234 from mcalmer/zypperpy-com‐
368654           ment-list_pkgs
368655
368656         · e3bb862a32 improve doc for list_pkgs
368657
368658       · PR #31237: (mcalmer) add  handling  for  OEM  products  @  2016-02-16
368659         15:12:21 UTC
368660
368661         · e8f3a707ae    Merge   pull   request   #31237   from   mcalmer/zyp‐
368662           per_py-add-OEM-product-handling
368663
368664         · d773b7317b add handling for OEM products
368665
368666       · PR #31182:  (rallytime)  Back-port  #31172  to  2015.8  @  2016-02-13
368667         21:36:07 UTC
368668
368669         · PR #31172: (techhat) Use correct deploy directory (refs: #31182)
368670
368671         · 415654ee9e Merge pull request #31182 from rallytime/bp-31172
368672
368673         · a743778e98 Use correct deploy directory
368674
368675       · ISSUE #27498: (arthurlogilab) [runner] salt-run cache.clear_mine_func
368676         broken, can't take clear_mine_func (refs: #31191)
368677
368678       · PR  #31191:  (rallytime)  Make  sure  doc  example  matches  kwarg  @
368679         2016-02-13 21:34:57 UTC
368680
368681         · 434e05667a Merge pull request #31191 from rallytime/fix-27498
368682
368683         · 0bdbaa49d1 Make sure doc example matches kwarg
368684
368685       · PR  #31171:  (Ch3LL)  added  logic  to  check for installed package @
368686         2016-02-12 22:10:21 UTC
368687
368688         · c5e5af827c Merge pull request #31171 from Ch3LL/megan-20158
368689
368690         · a12e2f566b fix lint error
368691
368692         · a123efd4ef added logic to check for installed package
368693
368694       · ISSUE #30934: (marnovdm) contents_pillar no longer works  with  lists
368695         in 2015.8.5 (refs: #31026, #31177)
368696
368697       · PR #31177: (Ch3LL) add integration test for issue #30934 @ 2016-02-12
368698         22:09:31 UTC
368699
368700         · a024d3536f Merge pull request #31177  from  Ch3LL/test_content_pil‐
368701           lars
368702
368703         · 9204e3f562 add integration test for issue 30934w
368704
368705       · PR #31181: (cachedout) Lint 2015.8 branch @ 2016-02-12 21:57:02 UTC
368706
368707         · 1f22335e28 Merge pull request #31181 from cachedout/lint_20158
368708
368709         · 4c0be11627 Lint 2015.8 branch
368710
368711       · ISSUE  #29423:  (l13t)  iptables  and  match-set  with two parameters
368712         (refs: #29718)
368713
368714       · PR #31169:  (rallytime)  Back-port  #29718  to  2015.8  @  2016-02-12
368715         18:28:13 UTC
368716
368717         · PR  #29718:  (thusoy)  Support match-sets in iptables module (refs:
368718           #31169)
368719
368720         · 4d1b49c1e7 Merge pull request #31169 from rallytime/bp-29718
368721
368722         · ceae2a16f8 Support match-sets in iptables module
368723
368724       · PR #31170:  (rallytime)  Back-port  #31157  to  2015.8  @  2016-02-12
368725         18:27:49 UTC
368726
368727         · PR  #31157:  (captaininspiration)  Fix  locale generation on Ubuntu
368728           (refs: #31170)
368729
368730         · f2efd3e6c1 Merge pull request #31170 from rallytime/bp-31157
368731
368732         · 27776b5f4e Fix locale generation on Ubuntu
368733
368734       · PR #31147: (cro) Documentation clarifications.  @ 2016-02-12 17:16:27
368735         UTC
368736
368737         · 7f49fbb70d Merge pull request #31147 from cro/fx2_doc
368738
368739         · a005e4af55 Documentation clarifications.
368740
368741       · PR #31153: (edencrane) Fixed invalid host causing 'reference to vari‐
368742         able before assignment' @ 2016-02-12 16:30:19 UTC
368743
368744         · 7986b9e033  Merge  pull  request  #31153  from   edencrane/fix-net‐
368745           work-connect-invalid-hostname
368746
368747         · a14c4bb5f2 Fixed invalid host causing 'reference to variable before
368748           assignment'
368749
368750       · ISSUE #30994: (onorua) beacon enable from  state  is  failing  (refs:
368751         #31152)
368752
368753       · PR #31152: (garethgreenaway) fixes to beacon module, state module and
368754         friends @ 2016-02-12 16:27:40 UTC
368755
368756         · f5ab76801b   Merge   pull   request   #31152   from    garethgreen‐
368757           away/30994_beacon_add_failing_and_other_fixes
368758
368759         · 91b14dca40  fixing  the  beacon  module  and state module to handle
368760           passing enabled properly.  Also reworking how what is returned from
368761           the  validating functions is handled to ensure when beacon configu‐
368762           rations aren't validate the results indicate exactly why.
368763
368764       · PR  #31149:  (jfindlay)  add  2015.8.7  release  notes  @  2016-02-12
368765         00:06:15 UTC
368766
368767         · c8047d979d Merge pull request #31149 from jfindlay/2015.8
368768
368769         · b58783b895 add 2015.8.7 release notes
368770
368771       · PR #31134: (isbm) Fix types in the output data and return just a list
368772         of products @ 2016-02-11 20:19:22 UTC
368773
368774         · 5c394ac49c  Merge   pull   request   #31134   from   isbm/isbm-zyp‐
368775           per-list-products
368776
368777         · 670a326e3d  Fix  types in the output data and return just a list of
368778           products
368779
368780       · ISSUE #31115: (nfillot) 2015.8.5 salt-cloud nova valid ip address was
368781         not found (refs: #31120)
368782
368783       · ISSUE  #29758: (zaide) 2015.8.3 salt-call runners.cloud : local vari‐
368784         able 'access_ip' referenced before assignment (refs: #31120)
368785
368786       · ISSUE #29666: (tminn) Nova  driver  broken  for  2015.8.[1-3]  (refs:
368787         #31120)
368788
368789       · PR  #31120:  (gtmanfred)  Clean  up  some  bugs  in the nova driver @
368790         2016-02-11 20:17:41 UTC
368791
368792         · 8f2e3a26e5 Merge pull request #31120 from gtmanfred/2015.8
368793
368794         · 4a411c0817 fix comment
368795
368796         · 47ecb7a150 include all ips in public_ips or private_ips
368797
368798         · b2e8202f5d dont exit on a missing server
368799
368800         · 8ad1ee6db4 clean up references to access_ip extra network
368801
368802       · ISSUE #31099: (Ch3LL) Cannot specify  size  in  map  file  in  2015.8
368803         (refs: #31132)
368804
368805       · PR  #31132:  (rallytime)  Make  sure  required profile configurations
368806         passed in a map file work @ 2016-02-11 20:16:46 UTC
368807
368808         · 2d592a398e Merge pull request #31132 from rallytime/fix-31099
368809
368810         · 1da03da9df Pylint fix
368811
368812         · 337592ec56 Make sure required profile configurations  passed  in  a
368813           map file work
368814
368815       · ISSUE  #31014: (gtmanfred) [2015.8] pkg breaks for yum pkgs.latest if
368816         the packages has an epoch (refs: #31131, #31015, #31031)
368817
368818       · PR #31131: (Ch3LL) integration test for  issue  #31014  @  2016-02-11
368819         17:33:23 UTC
368820
368821         · b831e0a865 Merge pull request #31131 from Ch3LL/megan-20158
368822
368823         · af82b1233a integration test for issue #31014
368824
368825       · PR #31133: (cachedout) Fixup 31121 @ 2016-02-11 17:32:24 UTC
368826
368827         · e378afd891 Merge pull request #31133 from cachedout/fixup_31121
368828
368829         · a4040da46d Fix bad unit test
368830
368831         · 0e68fafb74 Fix alternative module and state.
368832
368833       · PR  #31125: (isbm) Force-kill websocket's child processes faster than
368834         default two minutes.  @ 2016-02-11 16:50:57 UTC
368835
368836         · a4a40262f8 Merge pull request #31125  from  isbm/isbm-salt-api-ser‐
368837           vice
368838
368839         · f73f70375c  Force-kill  websocket's  child  processes  faster  than
368840           default two minutes.
368841
368842       · PR #31119: (sakateka) fixes for  ipv6-only  multi-master  faliover  @
368843         2016-02-11 16:21:45 UTC
368844
368845         · 79c85859bc       Merge      pull      request      #31119      from
368846           sakateka/fix-for-ipv6only-failover
368847
368848         · 2c45d151d1 fix unintentional breaking changes
368849
368850         · 043a5e6fd7 fixes for ipv6-only multi-master faliover
368851
368852       · PR #31107: (techhat) Don't try to add a  non-existent  IP  address  @
368853         2016-02-10 21:52:42 UTC
368854
368855         · 825b510030 Merge pull request #31107 from techhat/nebulaprivip
368856
368857         · 1fa69982c4 Don't try to add a non-existent IP address
368858
368859       · PR  #31108:  (justinta)  Changed  npm  integration  test  to  install
368860         request.  @ 2016-02-10 21:52:02 UTC
368861
368862         · c56a819fd8 Merge pull request #31108 from jtand/npm_test_fix
368863
368864         · a5eac47b25 Changed npm integration test to install request.
368865
368866       · PR #31105: (cachedout) Lint 30975 @ 2016-02-10 21:11:21 UTC
368867
368868         · de1abae9d1 Merge pull request #31105 from cachedout/lint_30975
368869
368870         · 446b4c2aff Lint #30975
368871
368872         · b4fe9aaa11 fixes issue in which s3.role_arn was defaulting to ''
368873
368874       · ISSUE #31069: (symphorien) Wrong filename in documentation  for  x509
368875         state (refs: #31100)
368876
368877       · PR  #31100:  (jfindlay)  states.x509:  docs:  peer.sls -> peer.conf @
368878         2016-02-10 20:47:45 UTC
368879
368880         · 2e5499748a Merge pull request #31100 from jfindlay/x509_sls
368881
368882         · 6c303b99c2 states.x509: docs: peer.sls -> peer.conf
368883
368884       · PR #31103: (twangboy) Point to reg.delete_key_recursive @  2016-02-10
368885         20:46:53 UTC
368886
368887         · f2bede1c00 Merge pull request #31103 from twangboy/fix_reg_state
368888
368889         · fe1ca906d2 Point to reg.delete_key_recursive
368890
368891       · PR  #31093:  (techhat)  Ensure double directories don't get created @
368892         2016-02-10 18:53:47 UTC
368893
368894         · 94fa76831f Merge pull request #31093 from techhat/spmfix
368895
368896         · 4f4c8877ad Ensure double directories don't get created
368897
368898       · ISSUE #31056:  (JensRantil)  file.symlink  documentation  improvement
368899         (refs: #31095)
368900
368901       · PR  #31095:  (jfindlay)  modules.file,  states.file: explain symbolic
368902         links @ 2016-02-10 18:53:24 UTC
368903
368904         · c015ca865c Merge pull request #31095 from jfindlay/link_doc
368905
368906         · 7d9df6b26c modules.file, states.file: explain symbolic links
368907
368908       · ISSUE #31059: (mf-collinhayden) salt-cloud rename fails  in  2015.8.5
368909         (refs: #31061)
368910
368911       · ISSUE #30950: (tmaulik) Salt-cloud create_snapshot is not recognizing
368912         snapshot_name parameter  in salt 2015.8.5 (refs: #31061)
368913
368914       · PR #31061: (rallytime) Revert #30217  -  was  causing  salt-cloud  -a
368915         breakage @ 2016-02-10 18:13:59 UTC
368916
368917         · PR  #30217:  (pass-by-value)  Make sure cloud actions can be called
368918           via salt run (refs: #31061, #30691)
368919
368920         · 4d6706b3e7 Merge pull request #31061 from rallytime/revert-breakage
368921
368922         · ced2d9f922 Revert #30217
368923
368924       · ISSUE #31088: (gladiatr72) request for  color  logging  fix  backport
368925         (refs: #31090)
368926
368927       · PR  #31090:  (rallytime)  Back-port  #30542  to  2015.8  @ 2016-02-10
368928         18:06:38 UTC
368929
368930         · PR #30542: (gladiatr72) address color log dict lookup exceptions w/
368931           non-posix log level names (refs: #31090)
368932
368933         · 482eea9883 Merge pull request #31090 from rallytime/bp-30542
368934
368935         · 67a713f2f6  Some  3rd-party  modules (e.g. gnupg) define custom log
368936           levels that emit at INFO level and  above.   This  patch  sets  the
368937           color  data  lookups  to default to TextFormat('reset') rather than
368938           producing a stack trace every time a log message is generated  from
368939           an affected module.
368940
368941       · PR #31085: (jacksontj) Correctly remove path we added after loader is
368942         completed @ 2016-02-10 17:47:22 UTC
368943
368944         · 5dcaa8d387 Merge pull request #31085 from jacksontj/2015.8
368945
368946         · dd5051c9e6 Correctly pop the path we added  after  loader  is  com‐
368947           pleted.
368948
368949       · ISSUE  #28142:  (zmalone)  Deprecate  or  update the copr repo (refs:
368950         #31037)
368951
368952       · PR #31037: (vutny) Update RHEL installation guide to  reflect  latest
368953         repo changes @ 2016-02-10 17:36:04 UTC
368954
368955         · 27bf83fa59    Merge    pull    request   #31037   from   vutny/cor‐
368956           rect-doc-install-on-rhel
368957
368958         · 6370ddda9f Update RHEL installation guide
368959
368960         · afdaefbf3d Add systemctl examples for RHEL 7  to  the  installation
368961           guide
368962
368963         · 069a661eb1 Correct ZeroMQ4 repo install guide for RHEL
368964
368965         · d2a9d67b5b  Update  installation instruction for community repos on
368966           RHEL
368967
368968         · bbdf2523c8 Add workaround for RHEL 7 systems mentioned in the issue
368969           #29094
368970
368971       · PR  #31050:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
368972         2016-02-09 20:13:34 UTC
368973
368974         · 8704750cf9  Merge  pull  request  #31050   from   basepi/merge-for‐
368975           ward-2015.8
368976
368977         · d86e014a39  Merge  remote-tracking  branch  'upstream/2015.5'  into
368978           merge-forward-2015.8
368979
368980           · 1c699a1664 Merge pull request #30974 from rallytime/bp-30949
368981
368982             · ff6542f593 Replace cfdisk with sfdisk
368983
368984           · c7f87cc371 Merge pull request #30942 from rallytime/bp-30897
368985
368986             · 885e00ba54 Only remove the word linux from distroname when  its
368987               not part of the name
368988
368989           · 35b7f62669    Merge    pull   request   #30922   from   jacobham‐
368990             mons/prev-rel-notes
368991
368992             · 57c1ec637a Rev latest version to 2015.8.5
368993
368994           · 2488bb902e  Merge  pull  request   #30865   from   abednarik/bet‐
368995             ter_boto_elb_error
368996
368997             · 3561e8c19b Better boto elb error message.
368998
368999           · 4da04f82c8    Merge    pull   request   #30831   from   jacobham‐
369000             mons/readme-update
369001
369002             · 01a92f5d98 Updated readme
369003
369004           · 90c1ea9f6c   Merge   pull   request   #30829    from    jacobham‐
369005             mons/release-2015.5
369006
369007             · c95bb60148 Version to 2015.8.4
369008
369009           · 80a36793cb Merge pull request #30784 from rallytime/bp-24952
369010
369011             · a07908bdea Don't split the string on a single line
369012
369013           · e978f5392f Merge pull request #30764 from terminalmage/issue30560
369014
369015             · 39736afcd7  Work  around  yum versionlock's inability to remove
369016               holds by package name alone
369017
369018           · 6f565c0d76 Merge pull request #30760 from toanju/2015.5
369019
369020             · dc4256f7df Changed output format of arp_ip_target from list  to
369021               comma delimited string
369022
369023           · 1c205b4898     Merge    pull    request    #30757    from    yan‐
369024             nis666/fix-for-mine-update-merge
369025
369026             · 61bb23e256 Fix to mine update to merge configuration
369027
369028           · f9fde8f6a7 Merge  pull  request  #30749  from  abednarik/fix_net‐
369029             work_system_test
369030
369031             · 1e9e97df59 Fix Netwotk hostname Module in Debian systems.
369032
369033       · PR  #31053:  (cachedout) Fix boto test failures @ 2016-02-09 20:02:16
369034         UTC
369035
369036         · f13ffd4608 Merge pull request #31053 from cachedout/boto_test_fix
369037
369038         · c73b5a4a66 Fix boto_secgroup
369039
369040         · 25bcc68357 Fix boto test failures
369041
369042       · ISSUE #30938: (lorengordon) Windows: Upgrade overwrites minion config
369043         file (refs: #31029, #31028)
369044
369045       · PR  #31029:  (twangboy)  Windows  defaults  to multiprocessing true @
369046         2016-02-09 18:20:36 UTC
369047
369048         · 87f2816ef5 Merge pull request #31029 from twangboy/win_defaults
369049
369050         · baffbbdb74 Comment multiprocessing line in minion config
369051
369052         · 933544b8c8 Set multiprocessing to true in config.py
369053
369054       · ISSUE #27796: (onsmribah)  IOError:  [Errno  13]  Permission  denied:
369055         '/var/cache/salt/master/.dfn'  when  using  python  salt.wheel module
369056         (refs: #30998)
369057
369058       · PR #30998: (dmacvicar) add_key/reject_key: do not crash  w/Permission
369059         denied:  '/var/cache/salt/master/.dfn' (#27796) @ 2016-02-09 17:57:36
369060         UTC
369061
369062         · 0dcdd0a2a7      Merge      pull      request      #30998       from
369063           dmacvicar/dmacvicar-2015.8-27796
369064
369065         · 9602fe2aeb  Do  not crash on add_key/reject_key if the previous one
369066           set the drop file. (#27796)
369067
369068       · ISSUE #31041: (fredrikaverpil) Reading about win_service in  2015.8.5
369069         docs, but it's not available in 2015.8.5 (refs: #31550, #31049)
369070
369071       · PR  #31049:  (twangboy) Fix versionadded in win_service.config (refs:
369072         #31550) @ 2016-02-09 17:55:07 UTC
369073
369074         · e773fc822a Merge pull request #31049 from twangboy/win_svc_docs
369075
369076         · 98005255d1 Fix versionadded in win_service.config
369077
369078       · PR #30987: (youngnick) Changed glusterfs.peer() module so  state  can
369079         handle localhost peering attempts.  @ 2016-02-09 17:51:58 UTC
369080
369081         · c3f115724a Merge pull request #30987 from youngnick/add-back-local‐
369082           host-peer-handling
369083
369084         · 730b5ef3e2 Update tests to cover new peering return val.
369085
369086         · b2407305e8 Changed glusterfs.peer() module call return val so state
369087           can handle localhost peering attempts.
369088
369089       · PR  #31042:  (moltob)  Allow  using Windows path in archive.extracted
369090         name attribute @ 2016-02-09 17:47:20 UTC
369091
369092         · 8518655bfb Merge pull request #31042  from  moltob/fix-archive-win‐
369093           path
369094
369095         · 9dcc617a53  Allow  using  Windows  path  in  archive.extracted name
369096           attribute, including drive letter colon and backslashes.
369097
369098       · PR #31012: (terminalmage) Fix  gitfs/git_pillar/winrepo  provider  to
369099         allow lowercase values @ 2016-02-09 17:24:25 UTC
369100
369101         · 1950359580    Merge    pull    request    #31012   from   terminal‐
369102           mage/fix-gitfs-provider-lc
369103
369104         · 763581798b Add unit tests to ensure a valid provider
369105
369106         · 49ec61d58b Fix gitfs/git_pillar/winrepo provider to allow lowercase
369107           values
369108
369109       · ISSUE  #30983: (JensRantil) salt.modules.aptpkg.upgrade does not nec‐
369110         essarily do apt-get dist-upgrade (refs: #31024)
369111
369112       · PR #31024: (jfindlay)  modules.aptpkg.upgrade:  clarify  dist-upgrade
369113         usage @ 2016-02-09 17:20:57 UTC
369114
369115         · 3d8681b63e Merge pull request #31024 from jfindlay/dist_upgrade
369116
369117         · 3d1be080ad modules.aptpkg.upgrade: clarify dist-upgrade usage
369118
369119       · ISSUE #30938: (lorengordon) Windows: Upgrade overwrites minion config
369120         file (refs: #31029, #31028)
369121
369122       · PR #31028: (twangboy) Fix config overwrite  by  windows  installer  @
369123         2016-02-09 17:20:24 UTC
369124
369125         · a0454ffb00 Merge pull request #31028 from twangboy/fix_installer
369126
369127         · 8876893b5c Fix remove placeholder files
369128
369129         · 788855cc94 Remove placeholder files
369130
369131         · c834a9d5e5 Set overwrite to off
369132
369133       · ISSUE  #31014: (gtmanfred) [2015.8] pkg breaks for yum pkgs.latest if
369134         the packages has an epoch (refs: #31131, #31015, #31031)
369135
369136       · PR #31031: (terminalmage) More complete fix for #31014  @  2016-02-09
369137         17:04:42 UTC
369138
369139         · PR  #31015:  (gtmanfred)  include possible epoch in version for rpm
369140           (refs: #31031)
369141
369142         · 071b9d4904 Merge pull request #31031 from terminalmage/issue31014
369143
369144         · 6d15a17d6b Fix yumpkg _get_branch_option()
369145
369146         · 4b855a85ee Don't handle epoch specially for dnf
369147
369148         · 5244de2fae More efficient way to add the epoch before version  num‐
369149           ber
369150
369151         · e1211ed89f include possible epoch in version for rpm
369152
369153       · ISSUE  #30934:  (marnovdm) contents_pillar no longer works with lists
369154         in 2015.8.5 (refs: #31026, #31177)
369155
369156       · PR #31026: (terminalmage) Fix  regression  when  contents_pillar/con‐
369157         tents_grains is a list.  @ 2016-02-09 00:03:15 UTC
369158
369159         · 2b8f7a12e7 Merge pull request #31026 from terminalmage/issue30934
369160
369161         · f43aaf4dff Fix regression when contents_pillar/contents_grains is a
369162           list.
369163
369164       · ISSUE #30472: (sjorge)  KeyError with schedule (refs: #30978)
369165
369166       · PR #30978: (garethgreenaway) fixes to state.py in 2015.8 @ 2016-02-08
369167         18:49:05 UTC
369168
369169         · de215bd0cd    Merge   pull   request   #30978   from   garethgreen‐
369170           away/30472_state_functions_no_default_retcode
369171
369172         · e33b5140f6 removing extra spaces.
369173
369174         · f668ccf1f7 removing duplicate code, just set  the  default  in  the
369175           _set_retcode function
369176
369177         · 5f2f0f60c0  The functions in the state module that return a retcode
369178           when something goes wrong, eg. a 1 or a 2, do not return a  0  when
369179           things  go the way they're supposed to go.  With the recent changes
369180           to the scheduler to ensure that the retcode  is  returned  this  is
369181           problematic  and results in exceptions when a state function is run
369182           from the schedule.  This simple fix ensures a default retcode of  0
369183           exists,  it  is then override in the _set_retcode function if there
369184           is an issue with the run
369185
369186       · PR #30893: (bdrung) Make build reproducible @ 2016-02-08 18:44:35 UTC
369187
369188         · 65fbf980cf Merge pull request #30893 from bdrung/reproducible
369189
369190         · 089c869ec3 Make build reproducible
369191
369192       · PR #30945: (cachedout) Note that pillar cli args are sent via  pub  @
369193         2016-02-08 18:43:59 UTC
369194
369195         · 5b0c7649c7 Merge pull request #30945 from cachedout/note_pillar_cli
369196
369197         · 3ff7d49555 Note that pillar cli args are sent via pub
369198
369199       · ISSUE  #31000: (rmtmckenzie) Salt-cloud profile state fails to create
369200         LXC minion (refs: #31002)
369201
369202       · PR #31002: (rmtmckenzie) Fix  lxc  cloud  provided  minion  reporting
369203         present @ 2016-02-08 18:14:50 UTC
369204
369205         · 3b7b6f2398    Merge    pull    request    #31002   from   rmtmcken‐
369206           zie/cloud-lxc-provide-fix
369207
369208         · 9b17fdce5e Fix lxc cloud provided minion reporting present
369209
369210       · PR  #31007:  (justinta)  Fixed  rabbitmq_vhost   test   failure.    @
369211         2016-02-08 17:48:00 UTC
369212
369213         · c48122ae9a    Merge    pull    request   #31007   from   jtand/rab‐
369214           bitmq_vhost_test_fix
369215
369216         · 962e0deda5 Fixed rabbitmq_vhost test failure.
369217
369218       · ISSUE #30993: (fredrikaverpil)  Overstate:  "This  documentation  has
369219         been moved here" (dead end) (refs: #31004)
369220
369221       · PR #31004: (rallytime) Remove overstate docs and a few references.  @
369222         2016-02-08 17:08:24 UTC
369223
369224         · 811461e4b4 Merge pull request #31004 from rallytime/fix-30993
369225
369226         · 33eb6ba125 Remove overstate docs and a few references.
369227
369228       · PR #30965: (anlutro) Fix rabbitmq_vhost.present result when test=True
369229         @ 2016-02-08 04:34:45 UTC
369230
369231         · 64125de6c7   Merge   pull   request   #30965   from  alprs/fix-rab‐
369232           bitmq_vhost_present_test
369233
369234         · 2313747958 return changes when test=True
369235
369236         · 95c8e74b72 make the code a bit simpler
369237
369238         · aba29a73c4 fix rabbitmq_vhost.present result when test=True
369239
369240       · PR #30955: (Ch3LL) docs: add clarification when source is not defined
369241         @ 2016-02-06 18:29:33 UTC
369242
369243         · ef02779391 Merge pull request #30955 from Ch3LL/clarify_file_doc
369244
369245         · 97b57ed2b1 docs: add clarification when source is not defined
369246
369247       · PR  #30941:  (rallytime)  Back-port  #30879  to  2015.8  @ 2016-02-05
369248         21:15:20 UTC
369249
369250         · PR #30879: (rhansen) Don't delete a Docker volume if  the  volume's
369251           driver differs (refs: #30941)
369252
369253         · d9785451c0 Merge pull request #30941 from rallytime/bp-30879
369254
369255         · eb6f289fc1 change default for volume_present()'s force parameter to
369256           False
369257
369258         · 34f3057e04 add 'force' to replace (or not) volumes with driver mis‐
369259           match
369260
369261         · d6d3b15738 typo fixes
369262
369263       · PR #30940: (twangboy) Fix Build Process for OSX @ 2016-02-05 18:44:34
369264         UTC
369265
369266         · 21a83065aa Merge pull request #30940 from twangboy/mac_build_3
369267
369268         · 3654a0e0c2 Change 2015 to 2016 in license file
369269
369270         · aa7d0602a8 Update instructions in readme.md for shasum
369271
369272         · 6f1a8f4146 Added code to add /opt/salt/bin to the path
369273
369274         · 1e7468a08c Disable master, syndic, and api in postinstall
369275
369276         · d49b3dcf1b Re-added start on load and keep alive
369277
369278         · 3ff50a2254 Removed keepalive option
369279
369280         · eb5d04bdf1 Remove autostart for api, master, and syndic
369281
369282         · 3c0cce34c9 Added minimum requirements for installation
369283
369284         · 1dcc23c85b Fix error on kickstart command
369285
369286         · 7a163c46d8 Change to new way of starting and stopping services
369287
369288         · 23d47722b7 Fix preinstall and postinstall scripts
369289
369290         · 7ef723d815 Upgrade to latest pip
369291
369292         · 0f09ad517f Updated pip dependencies
369293
369294         · d3d4c1d13f Removed GPL Licensed software from build
369295
369296       · PR #30944: (jacobhammons) 2015.8.5 release notes linking and clean up
369297         @ 2016-02-05 17:40:10 UTC
369298
369299         · 183b500055 Merge pull request #30944 from jacobhammons/rel-notes
369300
369301         · fbb7605366 2015.8.5 release notes linking and clean up
369302
369303       · ISSUE  #30882:  (hoonetorg)  state  lvm.vg_present  broken with pv on
369304         devicemapper-dev (centos 7.2) (refs: #30905)
369305
369306       · ISSUE #26867: (joejulian) lvm pv's can show as not belonging to their
369307         vg if symlink is used (refs: #30905)
369308
369309       · PR  #30905:  (joejulian)  Add realpath to lvm.pvdisplay and use it in
369310         vg_present @ 2016-02-05 17:05:32 UTC
369311
369312         · 91806b03b9    Merge    pull    request    #30905    from     joeju‐
369313           lian/2015.8_fix_lvm_pv_mapper
369314
369315         · f96650f3c3 Add realpath to lvm.pvdisplay and use it in vg_present
369316
369317       · ISSUE  #30923: (youngnick) Starting a glusterfs volume after creation
369318         fails with an exception in 2015.8 and after. (refs: #30924)
369319
369320       · PR #30924: (youngnick) Fix small bug with starting volumes after cre‐
369321         ation.  @ 2016-02-05 16:58:22 UTC
369322
369323         · af2832b69d   Merge   pull   request   #30924  from  youngnick/glus‐
369324           terfs-start-volume-bug
369325
369326         · be5295cf7b Fix small bug with starting volumes after creation.
369327
369328       · PR #30910: (cro) fix iDRAC state @ 2016-02-05 16:49:06 UTC
369329
369330         · 3a6666ad25 Merge pull request #30910 from cro/fx2_idrac
369331
369332         · 68af2ab185 Lint.
369333
369334         · c274c7ef6c Lint.
369335
369336         · 3e38b762bf Add generic command for  executing  racadm  commands  on
369337           individual blades in a chassis.
369338
369339         · 05979010f5  Finish  the  idrac  state,  fix problem with grains not
369340           loading sometimes.
369341
369342       · PR  #30919:  (garethgreenaway)  Fixes  to  ssh_auth  state  module  @
369343         2016-02-05 16:15:28 UTC
369344
369345         · 101fa12479    Merge   pull   request   #30919   from   garethgreen‐
369346           away/ssh_auth_cp_get_url_needs_saltenv
369347
369348         · c9ba038553 The call to cp.get_url  needs  the  saltenv,  if  you're
369349           using environments other than base, it will fail.
369350
369351       · ISSUE  #30300:  (AkhterAli) boto_route53 __salt__ not defined. (refs:
369352         #30867, #30920)
369353
369354       · PR #30920: (jacobhammons) Versioned to 2015.8.5,  added  known  issue
369355         #30300 to release notes @ 2016-02-05 01:12:17 UTC
369356
369357         · 6d4fd11dd0    Merge    pull    request    #30920   from   jacobham‐
369358           mons/release-notes
369359
369360         · 93d47f8615 Versioned to  2015.8.5,  added  known  issue  #30300  to
369361           release notes
369362
369363       · PR  #30894:  (terminalmage)  git  module/state: Handle identity files
369364         more gracefully @ 2016-02-04 23:55:01 UTC
369365
369366         · 3d3321ab92 Merge pull request #30894 from terminalmage/issue30858
369367
369368         · 08741eb969 Update versionadded/versionchanged
369369
369370         · 8909d430e1 salt.states.git.latest(): Prevent  tracebacks  when  git
369371           ssh auth fails
369372
369373         · c961cf1c7d  git: only use passphrase-protected key if invoked using
369374           salt-call
369375
369376         · 0b286f1bc3 Add global ssh_config path to git ssh wrapper
369377
369378         · f813cce4ad Add salt.modules.ssh.key_is_encrypted()
369379
369380         · 1ae7c53e17 Add salt.utils.files.process_read_exception()
369381
369382       · ISSUE #30694: (pankajghadge) Tomcat war deployment version  issue  in
369383         new SALT version (refs: #30750)
369384
369385       · PR #30750: (jfindlay) extract whole war version @ 2016-02-04 21:41:01
369386         UTC
369387
369388         · 2415b3e62e Merge pull request #30750 from jfindlay/war_version
369389
369390         · 4b01c28ff9 modules,states.tomcat: allow specifying war version
369391
369392         · 6deecdca0f states.tomcat: _extract_war_version parses path
369393
369394         · 8dd3b6dfe9 modules.war._extract_war_version: allow non-semver
369395
369396       · ISSUE #30817: (bogdanr)  If  the  private_key  filespecified  in  the
369397         provider is missing then the driver will be disabled (refs: #30884)
369398
369399       · PR #30884: (rallytime) Move checks for private_key file existence and
369400         permissions to create function @ 2016-02-04 21:03:23 UTC
369401
369402         · 6a6456eaa6 Merge pull request #30884 from rallytime/fix-30817
369403
369404         · 086ddae476 We need to check for a key_filename before  looking  for
369405           the path
369406
369407         · e79321b418  Move  checks for private_key file existence and permis‐
369408           sions to create function
369409
369410       · PR #30888: (ticosax) Backport #30797 to 2015.8 @ 2016-02-04  21:02:25
369411         UTC
369412
369413         · PR  #30797: (rhansen) don't delete existing Docker volume if driver
369414           unspecified (refs: #30888)
369415
369416         · 4ae2d829f0 Merge pull request #30888 from ticosax/backport-30797
369417
369418         · 413c47a45f don't delete existing Docker volume if  driver  unspeci‐
369419           fied
369420
369421         · 68b51be869  add  additional  states.dockerng.volume_present()  unit
369422           tests
369423
369424         · 849b94ed73 document the behavior if the driver is unspecified
369425
369426       · PR #30895: (bdrung) Fix various typos @ 2016-02-04 20:55:10 UTC
369427
369428         · 4372851ad9 Merge pull request #30895 from bdrung/2015.8
369429
369430         · 708f2ff8ea Fix typo reponse -> response
369431
369432         · 72c4eab6d7 Fix typo propogate -> propagate
369433
369434         · 4912e365cb Fix typo directores -> directories
369435
369436         · 74c8aba03e Fix typo exeption -> exception
369437
369438         · 4692d84b07 Fix typos of improvement
369439
369440         · 213fc2d858 Fix typo occuring -> occurring
369441
369442         · fe6124003b Fix typo nonexistant -> nonexistent
369443
369444         · 56ce7479b1 Fix typo catched -> caught
369445
369446         · 821e690e65 Fix typo develoment -> development
369447
369448         · b51279e086 Fix typo overide -> override
369449
369450         · 4f2f04ea7d Fix typo relevent -> relevant
369451
369452         · fe8be562c5 Fix typo existance -> existence
369453
369454         · 4a2f4de1a8 Fix typo accross -> across
369455
369456         · 9ae50c993e Fix typo Lenth -> Length
369457
369458         · 20e79981e1 Fix typo preferrably -> preferably
369459
369460         · f8d9f608dd Fix typo addres -> address
369461
369462         · a7f12a13f0 Fix typo keywork -> keyword
369463
369464         · bf92c3663b Fix typo formating -> formatting
369465
369466         · ca4450d881 Fix typo wont -> won't
369467
369468         · cd72b12161 Fix typo thats -> that's
369469
369470         · 6db9724ec7 Fix typo doesnt -> doesn't
369471
369472         · 58d46a7e98 Fix typo certficate -> certificate
369473
369474       · ISSUE #30887: (anlutro) salt-ssh fails on  import  msgpack  -  2015.8
369475         (refs: #30889)
369476
369477       · PR   #30889:   (anlutro)  Make  msgpack  an  optional  dependency  in
369478         salt.utils.cache @ 2016-02-04 20:53:39 UTC
369479
369480         · cdca33021a Merge  pull  request  #30889  from  alprs/fix-cache_msg‐
369481           pack_optional
369482
369483         · ab7aae3221 make msgpack an optional dependency in salt.utils.cache
369484
369485       · ISSUE  #6602:  (corywright) Add ability to match on nodegroups to the
369486         compound matcher (refs: #30896)
369487
369488       · ISSUE  #25292:  (lichtamberg)  Nodegroup  matching  in  pillars   via
369489         salt-SSH? (refs: #30896)
369490
369491       · PR  #30896:  (vutny)  Update  nodegroups parameter examples in master
369492         config example and docs @ 2016-02-04 20:52:35 UTC
369493
369494         · 0dff45b4ac Merge pull request #30896 from  vutny/nodegroups-in-mas‐
369495           ter-config-example
369496
369497         · 936c1ff6c8 Add explanation about N@ classifier. Inspired by #25292
369498
369499         · 8bc2426816 Update example in master config documentation reference
369500
369501         · ca8c0bdc3f  Update  nodegroups  section  example  in  master config
369502           according to docs
369503
369504       · ISSUE #30792: (bender-the-greatest) Specifying version in  pkgs  list
369505         returns failure even though it succeeds (on Ubuntu) (refs: #30898)
369506
369507       · PR  #30898:  (abednarik)  Fix pkg install with version.  @ 2016-02-04
369508         20:52:14 UTC
369509
369510         · 33a400e943 Merge pull request  #30898  from  abednarik/fix_pkg_ver‐
369511           sion_debian_family
369512
369513         · b15cdfd799 Fix pkg install with version.
369514
369515       · ISSUE  #30843:  (HeathNaylor) SALT.STATES.BOTO_ELB register_instances
369516         error (refs: #30867)
369517
369518       · ISSUE #30808: (Reiner030) Nice2have: better boto error handling  when
369519         AWS  service  isn't  available  (here:  some authentication problems)
369520         (refs: #30867)
369521
369522       · ISSUE #30300: (AkhterAli) boto_route53 __salt__ not  defined.  (refs:
369523         #30867, #30920)
369524
369525       · PR    #30867:    (rallytime)    Pass    in    'pack'    variable   to
369526         utils.boto.assign_funcs function from ALL boto modules  @  2016-02-04
369527         18:37:05 UTC
369528
369529         · PR  #30279:  (cachedout) Allow modules to be packed into boto utils
369530           (refs: #30867)
369531
369532         · 89bac9076a Merge pull request #30867 from rallytime/boto-utils-fix
369533
369534         · 6ad7642f6d Lint
369535
369536         · 58778dfc88 Fix failing boto_vpc module unit tests
369537
369538         · adb85892de Fix failing state module tests
369539
369540         · b5ec0991b0 Pylint fix
369541
369542         · c26c01568f Don't use pack=pack. Just pass in pack=__salt__ always.
369543
369544         · 6146209c53 Pass in 'pack' variable to utils.boto.assign_funcs func‐
369545           tion from ALL boto modules.
369546
369547       · ISSUE  #30798: (tbaker57) salt/utils/aws.py has Python 2.7 dependency
369548         (refs: #30849)
369549
369550       · PR #30849: (jfindlay) utils.aws: use time lib to conver to epoch sec‐
369551         onds @ 2016-02-03 22:47:31 UTC
369552
369553         · 276cf626b0 Merge pull request #30849 from jfindlay/aws_seconds
369554
369555         · 17ae74dab1 utils.aws: use time lib to conver to epoch seconds
369556
369557       · ISSUE  #30869:  (Ch3LL)  git  pillar: do not see all pillar data with
369558         multiple repos in 2015.8.4 (refs: #30874)
369559
369560       · PR #30874: (terminalmage) Fix regression in git_pillar when  multiple
369561         remotes are configured @ 2016-02-03 22:24:02 UTC
369562
369563         · 4cbc8a8250 Merge pull request #30874 from terminalmage/issue30869
369564
369565         · 9cf0c8126d  Fix  regression in git_pillar when multiple remotes are
369566           configured
369567
369568       · ISSUE #30814: (gpenin) [2015.8.*][Ubuntu 12.04 LTS][dpkg.py]  Invalid
369569         "${binary:Package}" field in dpkg-query (refs: #30850)
369570
369571       · PR  #30850:  (jfindlay)  modules.dpkg._get_pkg_info: allow for ubuntu
369572         12.04 @ 2016-02-03 16:33:26 UTC
369573
369574         · 8410842aea Merge pull request #30850 from jfindlay/dpkg_var
369575
369576         · d53a88762e modules.dpkg._get_pkg_info: handle older ubuntu
369577
369578         · d3c6732539 modules.dpkg._get_pkg_info: use pythonic initializers
369579
369580       · PR #30852: (replicant0wnz) Added more  descriptive  error  message  @
369581         2016-02-03 16:30:15 UTC
369582
369583         · 9a3ec9d028  Merge pull request #30852 from replicant0wnz/error-mes‐
369584           sage-libgit
369585
369586         · c3649023b5 Added more descriptive error message
369587
369588       · PR  #30847:  (terminalmage)  Backport  #30844  to  2015.8  branch   @
369589         2016-02-03 16:26:46 UTC
369590
369591         · PR  #30844:  (terminalmage)  Perform initial gitfs/git_pillar fetch
369592           when init'ing remotes on masterless minion (refs: #30847)
369593
369594         · PR #30703: (kraney) Fix for gitfs ext_pillar on  standalone  minion
369595           (refs: #30844)
369596
369597         · 0338f445d9 Merge pull request #30847 from terminalmage/bp-30844
369598
369599         · 58c4c01743 Add __role to master opts for gitfs integration tests
369600
369601         · 17dfec2dd4 Only perform initial fetch when running on a minion
369602
369603         · 53c4b4aaa4 gitfs: add initial fetch to pygit2 and dulwich
369604
369605         · 78f92e9ab2 Fix for gitfs ext_pillar on standalone minion
369606
369607       · PR  #30860: (vutny) Correct installation documentation for RHEL-based
369608         distributions @ 2016-02-03 16:13:09 UTC
369609
369610         · e51182495c   Merge   pull   request    #30860    from    vutny/cor‐
369611           rect-doc-install-on-rhel
369612
369613         · 6648fd4c62 Correct links to Fedora COPR repositories
369614
369615         · 083037fccc Remove duplicate post-installation tasks section
369616
369617       · PR  #30841:  (jacobhammons)  Release  notes for 2015.8.5 @ 2016-02-03
369618         00:04:05 UTC
369619
369620         · f1cf027308   Merge   pull    request    #30841    from    jacobham‐
369621           mons/release-notes
369622
369623         · 6d0562ef86 Release notes for 2015.8.5
369624
369625       · ISSUE  #30820: (Supermathie) State runs involving watch_in or extend‐
369626         ing break on 2015.8.4 (refs: #30837, #30835, #30833)
369627
369628       · PR #30835: (terminalmage) Integration test for  #30820  @  2016-02-02
369629         23:51:53 UTC
369630
369631         · f8ac6002d3 Merge pull request #30835 from terminalmage/issue30820
369632
369633         · ef14956db0 Integration test for #30820
369634
369635       · ISSUE  #30820: (Supermathie) State runs involving watch_in or extend‐
369636         ing break on 2015.8.4 (refs: #30837, #30835, #30833)
369637
369638       · PR #30837: (jacobhammons) Added known issue #30820 to release notes @
369639         2016-02-02 22:33:43 UTC
369640
369641         · e0901854ce    Merge    pull    request    #30837   from   jacobham‐
369642           mons/release-notes
369643
369644         · 29e12a7fef Added known issue #30820 to release notes
369645
369646       · ISSUE #28790: (jfindlay) add grains (and others?)  to  salt  modindex
369647         (refs: #30832)
369648
369649       · PR  #30832:  (rallytime)  Add  grains  modules  to  salt  modindex  @
369650         2016-02-02 21:47:46 UTC
369651
369652         · b512c7757a Merge pull request #30832 from rallytime/fix-28790
369653
369654         · ca044dd201 Add grains modules to salt modindex
369655
369656       · ISSUE #28971: (belt-ascendlearning) if the user exists,  but  has  no
369657         permissions,   rabbitmq_user.list_user_permissions()   blows   (refs:
369658         #30822)
369659
369660       · PR #30822: (rallytime) Make  sure  setting  list_user_permissions  to
369661         ['', '', ''] doesn't stacktrace @ 2016-02-02 21:42:26 UTC
369662
369663         · 75db37a97d   Merge   pull   request   #30822   from  rallytime/rab‐
369664           bitmq-user-state-fixes
369665
369666         · 272cc653ca Make sure setting list_user_permissions to ['', '',  '']
369667           doesn't stacktrace
369668
369669         · a7afa7a368  Don't return a set() when checking for new tags in rab‐
369670           bitmq_user state
369671
369672       · ISSUE #30820: (Supermathie) State runs involving watch_in or  extend‐
369673         ing break on 2015.8.4 (refs: #30837, #30835, #30833)
369674
369675       · PR  #30833:  (terminalmage) Fix regression in scanning for state with
369676         'name' param @ 2016-02-02 21:25:09 UTC
369677
369678         · 557766f20b Merge pull request #30833 from terminalmage/issue30820
369679
369680         · be3b8e2be6 Fix regression in scanning for state with 'name' param
369681
369682       · ISSUE #30722: (yannis666) mine config is not merged from minion  con‐
369683         fig and pillar (refs: #30757, #30823)
369684
369685       · PR #30823: (yannis666) Fix for mine to merge configuration on update.
369686         @ 2016-02-02 20:21:24 UTC
369687
369688         · ec4e2bb9bb    Merge    pull    request     #30823     from     yan‐
369689           nis666/fix-for-mine-update-merge2
369690
369691         · 99c7c12aba  Fix for mine to merge configuration on update. This fix
369692           was previously applied to 2015.5. It fixes #30722
369693
369694       · PR #30827: (jacobhammons) Version to 2015.8.4, added CVE 2016-1866 to
369695         release notes @ 2016-02-02 20:03:31 UTC
369696
369697         · d24b9f1ea1    Merge    pull    request    #30827   from   jacobham‐
369698           mons/release-2015.8
369699
369700         · dfc1f7a57d Version to 2015.8.4,  added  CVE  2016-1866  to  release
369701           notes
369702
369703       · ISSUE #30809: (anlutro) Master configuration "pillar_merge_lists" has
369704         no effect (refs: #30813)
369705
369706       · ISSUE #29601: (seanjnkns) pillars not merging properly with  2015.8.3
369707         (refs: #30062)
369708
369709       · PR  #30813:  (anlutro)  Properly  set  the  default  value  for  pil‐
369710         lar_merge_lists @ 2016-02-02 19:53:52 UTC
369711
369712         · PR #30458: (rallytime) Back-port #30062 to 2015.8 (refs: #30813)
369713
369714         · PR #30062: (seanjnkns) Remove recurse_list from pillar_source_merg‐
369715           ing_strategy and add pilla… (refs: #30813, #30458)
369716
369717         · f83845d7c3   Merge   pull   request   #30813   from  alprs/fix-pil‐
369718           lar_merge_list_default
369719
369720         · ec34cabee8 Properly set the default value for pillar_merge_lists
369721
369722       · PR #30826: (cachedout) Fix 30682 @ 2016-02-02 19:40:05 UTC
369723
369724         · a3feba4a26 Merge pull request #30826 from cachedout/fix_30682
369725
369726         · 3b246db0b0 Fix stupid test
369727
369728         · 12dc677628 Changed list conversion to use correct method and return
369729           whole set
369730
369731         · 97eb4b8bf7  Pop  values  from new_tags set before loading into dict
369732           value
369733
369734       · PR #30818:  (rallytime)  Back-port  #30790  to  2015.8  @  2016-02-02
369735         18:57:55 UTC
369736
369737         · PR  #30790: (xmj) salt/modules/sysrc.py: Fix documentation for set_
369738           (refs: #30818)
369739
369740         · b25b845d05 Merge pull request #30818 from rallytime/bp-30790
369741
369742         · c7c66afd0c salt/modules/sysrc.py: Fix documentation for set_
369743
369744       · ISSUE #30604: (vutny) Reactor overwrites user argument  when  calling
369745         runner or wheel module (refs: #30815)
369746
369747       · PR  #30815:  (vutny)  Pick  right  user argument for updating reactor
369748         function's low data @ 2016-02-02 16:50:23 UTC
369749
369750         · 3cb7a9ee54   Merge   pull   request   #30815    from    vutny/reac‐
369751           tor-low-data-fix
369752
369753         · 4d4d67f9ac Pick right user argument for updating reactor function's
369754           low data
369755
369756       · ISSUE #30676: (bwillcox) testsystemd.sh tries  to  use  'which'  that
369757         does not exist in centos 7 lxc rootfs (refs: #30747)
369758
369759       · PR #30747: (jfindlay) modules.lxc.running_systemd: use command -v not
369760         which @ 2016-02-02 14:54:17 UTC
369761
369762         · 36752906c4 Merge pull request #30747 from jfindlay/lxc_which
369763
369764         · f8f867570f modules.lxc.running_systemd: use command -v not which
369765
369766       · PR #30800: (twangboy) Ability to handle special case installations  @
369767         2016-02-02 14:25:44 UTC
369768
369769         · 8abb5b30ad Merge pull request #30800 from twangboy/chrome
369770
369771         · fe0747c14e Fix another typo
369772
369773         · 2815efc522 Fixes spelling
369774
369775         · 6027e1ec53 Updates documentation to reflect new features
369776
369777         · 1444ab1a48 Adds return success/failure for reg.broadcast_change
369778
369779         · f2a36904d2 Fixes problem with missing key in old
369780
369781         · 581a4df523 Added logic for dealing with latest in remove
369782
369783         · c4357a6d80 Adds more logic for detecting latest
369784
369785         · 40a66a2501 Logic for handling version: latest
369786
369787         · b7dadd3b9b Fixes message formatting
369788
369789         · a305c8ceae Added more descriptive failure message
369790
369791         · fe49dcb57c Added broadcast change to force registry update
369792
369793       · PR  #30794: (rallytime) A spelling fix and some spacing fixes for the
369794         boto_ec2 module docs @ 2016-02-01 21:45:33 UTC
369795
369796         · 7b44c0844d    Merge    pull    request    #30794    from     rally‐
369797           time/boto_ec2-mod-doc-fix
369798
369799         · 5188bc4b96  A  spelling fix and some spacing fixes for the boto_ec2
369800           module docs
369801
369802       · ISSUE #23789: (hoonetorg) log output of salt orchestrate run  changed
369803         between  2014.7.5  and  2015.5.0 significantly - hard to debug (refs:
369804         #30756)
369805
369806       · PR #30756: (basepi) [2015.8] Fix two error conditions  in  the  high‐
369807         state outputter @ 2016-02-01 21:39:23 UTC
369808
369809         · 1f87ad0387  Merge pull request #30756 from basepi/highstate.output‐
369810           ter.23789
369811
369812         · 16ad24d42c Import the logger
369813
369814         · 1b5c6a240c Handle non-string types in comment
369815
369816         · 11e34d047b Ensure rdurations are all floats for the highstate  out‐
369817           putter
369818
369819       · PR  #30788:  (rallytime)  Fix  incorrect  doc example for dellchassis
369820         blade_idrac state @ 2016-02-01 21:20:29 UTC
369821
369822         · 46adb2d1af Merge pull request #30788  from  rallytime/fix-dellchas‐
369823           sis-doc-example
369824
369825         · bfc16d9f7a  Fix  incorrect  doc example for dellchassis blade_idrac
369826           state
369827
369828       · ISSUE #29161: (jefferyharrell) saltmod.state's ret argument seems  to
369829         do nothing (refs: #30791, #29207)
369830
369831       · PR #30791: (Ch3LL) do not shadow ret function argument for salt.func‐
369832         tion @ 2016-02-01 20:07:31 UTC
369833
369834         · PR #29207: (jfindlay) do not shadow ret  function  argument  (refs:
369835           #30791)
369836
369837         · 333041aeb1 Merge pull request #30791 from Ch3LL/2015.8
369838
369839         · d54f220c0a do not shadow ret function argument for salt.function
369840
369841       · ISSUE  #30706:  (carsonoid) minion traceback when Log4mongo installed
369842         but not configured (refs: #30726)
369843
369844       · PR #30726: (sjmh) Fix improper use of yield in generator @ 2016-02-01
369845         18:13:24 UTC
369846
369847         · ce3be26e8f Merge pull request #30726 from sjmh/fix/log4mongo
369848
369849         · d501f1cc03 Fix improper use of yield in generator
369850
369851       · PR  #30752: (terminalmage) Backport systemd and yum/dnf optimizations
369852         from develop into 2015.8 @ 2016-02-01 18:11:42 UTC
369853
369854         · a49b75e065 Merge pull request #30752 from terminalmage/zh459
369855
369856         · 8a836c88f4 Update systemd tests
369857
369858         · 54ddb92474 Backport yum/dnf optimizations from develop into 2015.8
369859
369860         · 1ec13699b6 Backport systemd optimizations from develop into 2015.8
369861
369862       · PR #30759: (thusoy) Allow managing empty files @ 2016-01-31  19:06:37
369863         UTC
369864
369865         · ea15628446 Merge pull request #30759 from thusoy/empty-files
369866
369867         · c6244b46ac Allow managing empty files
369868
369869       · PR  #30758:  (thusoy) Support mounting labelled volumes with multiple
369870         drives @ 2016-01-31 19:04:03 UTC
369871
369872         · 120d8344e4 Merge pull request #30758 from thusoy/multi-device-mount
369873
369874         · 9a6dc4898f Support mounting labelled volumes with multiple drives
369875
369876       · PR  #30686:  (cachedout)  Master-side  pillar  caching  @  2016-01-31
369877         18:52:47 UTC
369878
369879         · 9e8af2f994   Merge   pull   request   #30686   from  cachedout/pil‐
369880           lar_cache_2015_8
369881
369882         · 02d8ff626a Pillar cache for master
369883
369884       · ISSUE #30662:  (JoaquinVeira)  UnicodeDecodeError  on  2015.8  (refs:
369885         #30675)
369886
369887       · PR  #30675:  (jfindlay)  handle  non-ascii  minion  IDs  @ 2016-01-29
369888         23:12:10 UTC
369889
369890         · 4008e1719a Merge pull request #30675 from jfindlay/decode_id
369891
369892         · 8f6737b6c4 output.key: decode minion ids to unicode
369893
369894         · 7a16f1c941 config: decode id to unicode
369895
369896       · ISSUE #29602: (multani) cloud.action start raises "got an  unexpected
369897         keyword argument 'kwargs'" (refs: #30691)
369898
369899       · PR  #30691:  (rallytime)  Make  sure  we  use the "instance" kwarg in
369900         cloud.action.  @ 2016-01-29 23:11:37 UTC
369901
369902         · PR #30217: (pass-by-value) Make sure cloud actions  can  be  called
369903           via salt run (refs: #31061, #30691)
369904
369905         · 5ca75fbdc9     Merge    pull    request    #30691    from    rally‐
369906           time/cloud-action-instance
369907
369908         · 0873a41601 Make note of empty dict return in docstring
369909
369910         · 64a73502ed Make sure we just the "instance" kwarg in cloud.action.
369911
369912       · PR #30713: (rallytime) Fix-up autodoc proxy modules for consistency @
369913         2016-01-29 23:10:54 UTC
369914
369915         · 7c632d61d3  Merge  pull  request  #30713  from rallytime/proxy-mod‐
369916           ule-docs
369917
369918         · 86c3f2016e Fix-up autodoc proxy modules for consistency
369919
369920       · ISSUE #30654: (Horgix) Misleading locale(mod) module behavior  (refs:
369921         #30741)
369922
369923       · PR #30741: (jfindlay) states.locale.__virtual__: return exec mod load
369924         err @ 2016-01-29 23:00:41 UTC
369925
369926         · 1f5f41cc07 Merge pull request #30741 from jfindlay/locale_state
369927
369928         · a3a2a44735 states.locale.__virtual__: return exec mod load err
369929
369930       · PR #30751: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
369931         2016-01-29 22:43:41 UTC
369932
369933         · 716c2bb7c8   Merge   pull  request  #30751  from  basepi/merge-for‐
369934           ward-2015.8
369935
369936         · 84eeab7720  Merge  remote-tracking  branch  'upstream/2015.5'  into
369937           merge-forward-2015.8
369938
369939         · 076268089a     Merge     pull    request    #30699    from    abed‐
369940           narik/save_load_retry_time
369941
369942           · 186872cf49 Add Retry to save_load.
369943
369944         · 8d79d1b9c7 Merge pull request #30659 from sjmh/fix-scsi
369945
369946           · 3544dd995e Fix lsscsi issues for certain platforms
369947
369948       · PR #30720: (clinta) x509.pem_managed does not return changes  dict  @
369949         2016-01-29 17:07:26 UTC
369950
369951         · 1f0d0f591e  Merge  pull  request  #30720  from  clinta/fix-pem-man‐
369952           aged-changes
369953
369954         · 5c28efa9d3 return changes on test as well
369955
369956         · e611f0269c fix typos and no changes returned for pem_managed
369957
369958       · PR #30687: (clarkperkins) Setting  'del_root_vol_on_destroy'  changes
369959         the root volume type to 'standard' @ 2016-01-28 00:02:26 UTC
369960
369961         · PR  #30677:  (clarkperkins)  Fix  EC2  volume creation logic (refs:
369962           #30687)
369963
369964         · 36db0f99ed  Merge  pull  request  #30687   from   clarkperkins/bug‐
369965           fix/del-root-vol-loses-type
369966
369967         · a71e181c18 Don't set  on a volume when creating from a snapshot
369968
369969         · 8cef43c68d   When  setting  del_root_vol_on_destroy,  preserve  the
369970           existing volumeType on the AMI
369971
369972       · ISSUE  #28257:  (peterzalewski)  git_pillar  remote   with   multiple
369973         branches  yields  conflicting  cachedirs  or checkout conflict (refs:
369974         #30673)
369975
369976       · PR #30673: (terminalmage) Properly  derive  the  git_pillar  cachedir
369977         from the id instead of the URL @ 2016-01-27 23:52:01 UTC
369978
369979         · 690b8d26b9 Merge pull request #30673 from terminalmage/issue28257
369980
369981         · 8b5933fab4  Properly  derive  the  git_pillar  cachedir from the id
369982           instead of the URL
369983
369984         · 62654ade1d Add additional reason for pillar env being found
369985
369986       · PR #30666: (cachedout) Fix grains cache @ 2016-01-27 22:23:12 UTC
369987
369988         · 9f0e97693c    Merge    pull    request    #30666    from    cached‐
369989           out/grains_cache_fix
369990
369991         · 52716694f5 Fix grains cache
369992
369993       · PR  #30623:  (twangboy)  Added  service.config  function @ 2016-01-27
369994         21:08:12 UTC
369995
369996         · 8b17c77d72 Merge pull request #30623 from twangboy/add_config
369997
369998         · c70e182cdf Fixed indenting... got messed up somehow...
369999
370000         · 246f75f2dd Renamed variables, updated docs, added tag
370001
370002         · a4534ee94c Fixed documentation
370003
370004         · 54b50236a6 Fixed another error
370005
370006         · 76a0cf33e5 Fixed syntax error
370007
370008         · 3937380b79 Added service.config function
370009
370010       · PR #30678:  (rallytime)  Back-port  #30668  to  2015.8  @  2016-01-27
370011         20:39:25 UTC
370012
370013         · PR  #30668:  (multani)  Fix salt.modules.mount documentation (refs:
370014           #30678)
370015
370016         · 6af1927bd3 Merge pull request #30678 from rallytime/bp-30668
370017
370018         · 7c7076e6af Fix salt.modules.mount documentation
370019
370020       · PR #30677:  (clarkperkins)  Fix  EC2  volume  creation  logic  (refs:
370021         #30687) @ 2016-01-27 18:09:29 UTC
370022
370023         · 6c71b29f25   Merge   pull  request  #30677  from  clarkperkins/bug‐
370024           fix/ec2-volume-logic
370025
370026         · bfec052e7d Added some extra documentation
370027
370028         · ed2eee8e39 Allow volume params to be set  even  when  specifying  a
370029           snapshot
370030
370031       · ISSUE  #18980:  (lrhazi)  salt-cloud:  ExtraData:  unpack(b) received
370032         extra data. (refs: #30671)
370033
370034       · PR #30680: (cro) Merge forward from 2015.5, primarily  for  #30671  @
370035         2016-01-27 17:56:48 UTC
370036
370037         · PR #30671: (techhat) Add file locking to cloud index (refs: #30680)
370038
370039         · 36142390d4       Merge      pull      request      #30680      from
370040           cro/mf20155-20158-20160127
370041
370042         · f8ae3a20ff  Merge  remote-tracking  branch  'upstream/2015.5'  into
370043           mf20155-20158-20160127 Mergeforward from 2015.5.
370044
370045         · 516919525a Merge pull request #30671 from techhat/lockcloud
370046
370047           · 4719f8d4ea Whitespace
370048
370049           · 8e7eca23e4 Add file locking to cloud index
370050
370051       · PR  #30663:  (isbm)  Zypper:  latest version bugfix and epoch support
370052         feature @ 2016-01-27 17:10:42 UTC
370053
370054         · f6feddecb4 Merge pull  request  #30663  from  isbm/isbm-zypper-lat‐
370055           est-versionfail
370056
370057         · 4336487765 Add support for epoch in Zypper
370058
370059         · 12d515fa0c Fix package status filtering on latest version
370060
370061       · PR #30652: (mew1033) Fix sh beacon @ 2016-01-27 17:00:29 UTC
370062
370063         · 9d8ddeb525 Merge pull request #30652 from mew1033/fix-sh-beacon
370064
370065         · 256d037e0f Fix sh beacon
370066
370067       · ISSUE #29678: (dschaller) NPM Install Forces Silent (refs: #29650)
370068
370069       · PR   #30657:   (jfindlay)  [2015.8]  Backport  #30378  and  #29650  @
370070         2016-01-27 00:34:00 UTC
370071
370072         · PR #30378: (dschaller) Adding silent flag to  npm.bootstrap  (refs:
370073           #30657)
370074
370075         · PR #29650: (dschaller) Adding ability to disable npm install silent
370076           flag (refs: #30657)
370077
370078         · 1fa1963895 Merge pull request #30657 from jfindlay/backport_quiet
370079
370080         · ca4adbf382 Adding ability to disable npm install silent flag
370081
370082         · afe149eb6d Adding ability to disable npm install silent flag
370083
370084         · c1101b5f0b Adding ability to disable npm install silent flag
370085
370086         · d29ad8bbf6 Adding ability to disable npm install silent flag
370087
370088         · 7a21dbf0d9 Adding silent flag to npm.bootstrap
370089
370090         · 354c0bdf26 Adding silent flag to npm.bootstrap
370091
370092       · PR #30656: (rallytime) [2015.8] Merge 2015.5 into 2015.8 @ 2016-01-27
370093         00:33:30 UTC
370094
370095         · 3621651bf8  Merge  pull  request  #30656  from rallytime/merge-for‐
370096           ward-2015.8
370097
370098         · 76ab6981a5 Merge branch '2015.5' into 2015.8
370099
370100         · 643c9c9616  Merge  pull  request  #30586  from   abednarik/fix_com‐
370101           ment_line_perms
370102
370103         · 8b395a42cb Fix comment_line permissions.
370104
370105       · PR  #30644:  (tbaker57)  Another  go  at  fixing  30573  @ 2016-01-26
370106         20:18:41 UTC
370107
370108         · 30e03a8b0c      Merge      pull      request      #30644       from
370109           tbaker57/another_go_at_30573
370110
370111         · 267b8827fd Another go at fixing 30573
370112
370113       · PR  #30611:  (isbm)  Bugfix: Zypper pkg.latest crash fix @ 2016-01-26
370114         16:35:47 UTC
370115
370116         · 7d307e2a04 Merge pull request #30611 from isbm/isbm-zypper-latest
370117
370118         · a7141be651 Put 'kwargs' on its own line  according  to  the  common
370119           pattern
370120
370121         · ee9b3f859b  Bugfix:  do  not  treat  SLS id as a package name if an
370122           empty 'pkgs' list specified.
370123
370124         · d3cfd8ed41 Cleanup formatting
370125
370126         · 1bdbaac658 Add error handling
370127
370128         · 2ec5cec8a4 Add a new line before the last return
370129
370130         · 424383b8c4 Remove unnecessary complexity and string increment
370131
370132         · 48e8d90343 Avoid backslashes where they are not needed
370133
370134         · 6df5d500f0 Use regexp type for the string.
370135
370136         · c2ca141956 Get version as an explicit parameter
370137
370138         · 9e944db706 Check the version of the package, instead of the package
370139           name
370140
370141         · 59ea758efb Fix formatting
370142
370143         · 514f6349d4 Bugfix: crash on "key not found" error
370144
370145         · ea75f55a1a Fix PEP8: line continuation
370146
370147         · ece35ebc26 Replace old fashion string memcopy with the list
370148
370149         · 716445e588 Fix PEP8: line continuation
370150
370151         · 0f11079ff9 Fix PEP8 for the operator
370152
370153       · ISSUE  #7811:  (kiall)  RabbitMQ Cluster/Plugins/Policy etc states do
370154         not track changes, preventing "watch" from working (refs: #30631)
370155
370156       · PR  #30631:  (rallytime)  Refactor  rabbitmq_cluster  states  to  use
370157         test=true functionality correctly @ 2016-01-26 16:23:49 UTC
370158
370159         · 5bc11d7539 Merge pull request #30631 from rallytime/fix-7811
370160
370161         · bf9ffded6d  Refactor rabbitmq_cluster states to use test=true func‐
370162           tionality correctly
370163
370164       · ISSUE #25658: (tsaridas) rabbitmq_policy.present state (refs: #30628)
370165
370166       · PR  #30628:  (rallytime)  Refactor  rabbitmq_policy  states  to   use
370167         test=true functionality correctly @ 2016-01-26 00:21:03 UTC
370168
370169         · ef6c4e8377 Merge pull request #30628 from rallytime/fix-25658
370170
370171         · 1e8e86007c  Refactor  rabbitmq_policy states to use test=true func‐
370172           tionality correctly
370173
370174       · PR #30624: (cro) Remove bad symlinks from osx pkg  dir  @  2016-01-26
370175         00:02:25 UTC
370176
370177         · 80d0e428aa Merge pull request #30624 from cro/remove_bad_symlinks
370178
370179         · f5fd38624e Remove bad symlinks in osx pkg dirs
370180
370181       · ISSUE  #30621:  (zer0def)  Current  latest (2015.8.3) list of builtin
370182         states docu doesn't list 'glance' (refs: #30622)
370183
370184       · PR #30622: (rallytime) Add glance state to list of  state  modules  @
370185         2016-01-25 23:55:54 UTC
370186
370187         · 330ea9a292 Merge pull request #30622 from rallytime/fix-30621
370188
370189         · 57b7e6cc93 Add glance state to list of state modules
370190
370191       · ISSUE  #19288:  (oba11)  AssociatePublicIpAddress  doesnt  work  with
370192         salt-cloud 2014.7.0 (refs: #20972, #30591)
370193
370194       · PR #30618:  (rallytime)  Back-port  #30591  to  2015.8  @  2016-01-25
370195         23:55:20 UTC
370196
370197         · PR #30591: (mlalpho) salt-cloud-clouds-ec2 AssociatePublicIpAddress
370198           fix (refs: #30618)
370199
370200         · PR #20972: (JohannesEbke) Fix interface cleanup when using  Associ‐
370201           atePublicIpAddress in #19288 (refs: #30591)
370202
370203         · f00d8f398a Merge pull request #30618 from rallytime/bp-30591
370204
370205         · 2c9d59fa42  looks  like  a  re-merge  of PR #20972 which relates to
370206           #19288
370207
370208       · ISSUE #30587: (sjorge) [docs] docs confusing on client_acl and exter‐
370209         nal_auth usage (refs: #30625)
370210
370211       · PR #30625: (jfindlay) doc.topics.eauth: clarify client_acl vs eauth @
370212         2016-01-25 23:03:24 UTC
370213
370214         · 6b940d9655 Merge pull request #30625 from jfindlay/eauth_acl
370215
370216         · b5e2cff028 doc.topics.eauth: clarify client_acl vs eauth
370217
370218   Salt 2015.8.8.2 Release Notes
370219       Version 2015.8.8.2 is a bugfix release for 2015.8.0.
370220
370221   Fixes to 2015.8.8
370222       Salt 2015.8.8.2 includes  fixes  for  the  following  known  issues  in
370223       2015.8.8:
370224
370225       · Key  master with value [...] has an invalid type of list Error (issue
370226         #32044)
370227
370228       · Failed to import module win_dacl Error (issue #32004)
370229
370230       · Wrong validation type for file_ignore_glob key (issue #32114)
370231
370232       · Fix file.managed for windows (issue #31969)
370233
370234       IMPORTANT:
370235          issue #32183 prevents Salt Cloud from installing the Salt minion  on
370236          new  systems. To workaround this issue, call salt-cloud -u to update
370237          the bootstrap script to the latest version.
370238
370239   Changelog for v2015.8.8..v2015.8.8.2
370240       Generated at: 2018-05-28 00:29:12 UTC
370241
370242       · 403563e441 Change type check errors to debug loglevel
370243
370244       · 8323005b3d Support multiple valid option types when  performing  type
370245         checks
370246
370247       · 2f95082a96 Fixed validation type for file_ignore_glob Fixes #32114
370248
370249       · 2685e61d9e  Move  constant  declaration into member variable to avoid
370250         issues when modules can't be loaded.
370251
370252       · bc10d7dede Add apply_template_on_contents for windows
370253
370254   Salt 2015.8.9 Release Notes
370255       Version 2015.8.9 is a bugfix release for 2015.8.0.
370256
370257   Statistics
370258       · Total Merges: 145
370259
370260       · Total Issue References: 110
370261
370262       · Total PR References: 264
370263
370264       · Contributors: 71 (Ch3LL, DmitryKuzmenko, DylanFrese, Ferbla, Kurocon,
370265         Lothiraldan,  RuriRyan,  Talkless,  The-Loeki,  UtahDave,  Xiami2012,
370266         abednarik, afletch, ahammond, ahus1, aletourneau,  alxf,  amontalban,
370267         anlutro,   arthurlogilab,   atengler,  basepi,  bdrung,  bradthurber,
370268         cachedout, captaininspiration, cedwards, clarkperkins,  clinta,  cro,
370269         dmurphy18,   exowaucka,   garethgreenaway,   guettli,  idonin,  isbm,
370270         jacobhammons,  jbonachera,  jfindlay,  jfray,   junster1,   justinta,
370271         krak3n,  lalmeras,  lloydoliver,  lomeroe,  mcalmer, mitar, mrproper,
370272         multani, nmadhok, notpeter, onorua, paclat,  papertigers,  rallytime,
370273         rkgrunt,  sakateka,  sbreidba, schancel, sjorge, stk0vrfl0w, techhat,
370274         terminalmage, thatch45, ticosax,  tomlaredo,  twangboy,  twellspring,
370275         vutny, whiteinge)
370276
370277   Important Post-Upgrade Instructions for Linux Mint
370278       As a result of some upstream changes, the os grain on Mint Linux is now
370279       being detected as LinuxMint (issue #33295). Run the  following  command
370280       after  you  upgrade  to  2015.8.9 to reset the os grain to Mint and the
370281       os_family grain to Debian:
370282
370283          salt -G 'os:LinuxMint' grains.setvals "{'os': 'Mint', 'os_family': 'Debian'}"
370284
370285   Changelog for v2015.8.8.2..v2015.8.9
370286       Generated at: 2018-05-28 00:36:04 UTC
370287
370288       · PR #33310: (jfindlay) update 2015.8.9 release notes
370289
370290       · PR #33293: (twangboy) Fix minion start retry on  Windows  (2015.8)  @
370291         2016-05-17 17:03:41 UTC
370292
370293         · e3eff27c55 Merge pull request #33293 from twangboy/fix_33277_2015_8
370294
370295         · 652f0079db Fix minion start retry on Windows
370296
370297       · ISSUE  #31270:  (4001982248998)  acl.present: TypeError on subsequent
370298         runs (refs: #33172)
370299
370300         · PR #33305: (rallytime) Back-port #33172 to 2015.8
370301
370302         · PR #33172: (Kurocon) linux_acl: Allow '-' as a separation character
370303           in ACL permissions. Fi… (refs: #33305)
370304
370305       · ISSUE  #33299:  (jbonachera)  salt-cloud:  scp_file() and sftp_file()
370306         don't work with ipv4-only hosts  (refs: #33300)
370307
370308       · ISSUE #33243: (jbonachera) salt-cloud: wait_for_port()  doesn't  work
370309         with ipv4-only hosts (refs: #33246, #33300)
370310
370311         · PR  #33300:  (jbonachera)  Handle  more  ipv6 error as an exception
370312           #33299
370313
370314       · ISSUE #26062:  (silenius)  service.status  is  broken  under  FreeBSD
370315         (refs: #33294)
370316
370317       · ISSUE #23435: (JaseFace) service.status currently reports an error on
370318         FreeBSD if the service isn't running (refs: #33294)
370319
370320         · PR #33294: (terminalmage) Ignore retcode  when  checking  service's
370321           status
370322
370323       · PR #33274: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370324         2016-05-16 16:41:32 UTC
370325
370326         · 06edba448e Merge pull request #33274 from rallytime/merge-2015.8
370327
370328         · bf641d3a66 Merge branch '2015.5' into '2015.8'
370329
370330         · 8fa72f6588 Clarify file.replace  MULTILINE  flag  interaction  with
370331           regex anchors (#33137)
370332
370333         · 4b1f460256 update 2015.5.11 release notes (#33236)
370334
370335       · ISSUE  #30258:  (rallytime)  Changes dictionary return should be men‐
370336         tioned in test state docs (refs: #33254)
370337
370338         · PR #33254: (rallytime) Add comment for test=true  w/o  changes  ret
370339           and add changes dict example
370340
370341       · ISSUE  #30946:  (rallytime) Update SaltStack Git Policy Documentation
370342         (refs: #33252)
370343
370344         · PR #33252: (rallytime) Update Git Policy docs to match Contribution
370345           guide
370346
370347       · ISSUE #33238: (clinta) x509 CSR fails if the csr does not contain any
370348         extensions (refs: #33239)
370349
370350         · PR #33239: (clinta) Fix #33238
370351
370352         · PR #33245: (terminalmage) Backport #33244 to 2015.8
370353
370354         · PR #33244: (terminalmage) Properly report on invalid gitfs/git_pil‐
370355           lar/winrepo repos (refs: #33245)
370356
370357         · PR  #32238:  (ticosax)  [gitfs]  only 2 argument are passed to this
370358           template when render error message (refs: #33244, #33245)
370359
370360       · ISSUE #30605: (eyj) Update development/conventions/release.rst docs -
370361         they're out of date with the current process. (refs: #33253)
370362
370363       · PR  #33253:  (rallytime) Update the release process docs @ 2016-05-13
370364         21:28:11 UTC
370365
370366         · 94a53da92e Merge pull request #33253 from rallytime/fix-30605
370367
370368         · a129d05b6d Update the release process docs
370369
370370         · PR #33251: (jfindlay) update 2015.8.9 release notes
370371
370372       · ISSUE #33243: (jbonachera) salt-cloud: wait_for_port()  doesn't  work
370373         with ipv4-only hosts (refs: #33246, #33300)
370374
370375         · PR #33246: (techhat) Handle ipv6 error as an exception
370376
370377       · ISSUE  #33073:  (robnagler) TypeError: unhashable type: 'dict' (refs:
370378         #33213)
370379
370380         · PR #33213: (terminalmage) Check rendered YAML for invalid keys
370381
370382       · ISSUE #21903: (basepi) Document _file.conf pattern for master.d/  and
370383         minion.d/ (refs: #33224)
370384
370385         · PR  #33224:  (rallytime)  Make note of files that begin with '_' in
370386           master.d or minion.d dirs
370387
370388       · ISSUE #31975: (rajvidhimar) Docstrings not reflected in the salt doc‐
370389         umenation. (refs: #33150)
370390
370391         · PR #33150: (rallytime) Gate jnpr imports in salt.proxy.junos.py
370392
370393       · ISSUE  #21315:  (ryan-lane)  No  example documentation for http.query
370394         state (refs: #33222)
370395
370396         · PR #33222: (rallytime) Add docs for the http state
370397
370398       · ISSUE #29796: (vutny) Fail to use  'highstate'  outputter  explicitly
370399         (refs: #33215)
370400
370401         · PR  #33215: (rallytime) Don't stacktrace when using --out=highstate
370402           at CLI during state run.
370403
370404         · PR #33219: (lalmeras) propagate opts to salt.util.http call
370405
370406         · PR #33154: (lalmeras) propagate opts to salt.util.http call  (refs:
370407           #33219)
370408
370409         · PR #33237: (jfindlay) update 2015.8.9 release notes
370410
370411       · PR #33217: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370412         2016-05-12 22:45:39 UTC
370413
370414         · 6dc5d605b1 Merge  pull  request  #33217  from  rallytime/merge-for‐
370415           ward-2015.8
370416
370417         · 4655607b58 Merge branch '2015.5' into '2015.8'
370418
370419         · 698f1eb657 Merge pull request #33211 from cachedout/user_kill
370420
370421           · d4f2e5baa7 Don't try to kill a parent proc if we can't
370422
370423         · f86832911e Resolve issue with pkg module on Mint Linux (#33205)
370424
370425         · a09e1b6335 Add pip installed and removed test (#33178)
370426
370427         · 96e3586f12 update 2015.5.11 release notes (#33197)
370428
370429         · 09b072a412 Fix file.managed for Windows (#33181)
370430
370431         · PR #33207: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8
370432
370433       · ISSUE  #32917:  (bradthurber)  standalone  minion  pygit2 pillar data
370434         doesn't refresh without manual git fetch (refs: #33204)
370435
370436         · PR #33204: (terminalmage) Add a fetch when compiling git_pillar for
370437           masterless minions
370438
370439       · ISSUE  #33162:  (jfindlay) Key error with salt.utils.cloud.cache_node
370440         and EC2 (refs: #33164)
370441
370442         · PR #33164: (jfindlay) cloud.clouds.ec2: cache each named node
370443
370444       · ISSUE #32385: (aronneagu) git.latest throws expected string or buffer
370445         (refs: #33203)
370446
370447         · PR  #33203: (terminalmage) Properly handle failed git commands when
370448           redirect_stderr=True
370449
370450       · ISSUE #32685: (gidantribal) git state does not take into account  ssh
370451         config file (refs: #33152)
370452
370453         · PR #33152: (terminalmage) Don't force use of global ssh_config when
370454           git identity file is specified
370455
370456         · PR #33198: (jfindlay) update 2015.8.9 release notes
370457
370458       · PR #33188: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370459         2016-05-11 22:32:29 UTC
370460
370461         · 6177a6a36f Merge pull request #33188 from rallytime/merge-2015.8
370462
370463         · f12bba6ebc Merge branch '2015.5' into '2015.8'
370464
370465         · 30868ab06c  [2015.5]  Update to latest bootstrap script v2016.05.11
370466           (#33185)
370467
370468         · 264ad34b3b Pip fix (#33180)
370469
370470         · 43288b268d add 2015.5.11 release notes (#33160)
370471
370472         · e0da8fda7d [2015.5] Update to latest bootstrap  script  v2016.05.10
370473           (#33155)
370474
370475         · PR #33161: (jfindlay) add 2015.8.9 release notes
370476
370477         · PR  #33156:  (rallytime) [2015.8] Update to latest bootstrap script
370478           v2016.05.10
370479
370480       · ISSUE #25040: (yi9) grains.get can't  get  minion's  /etc/salt/grains
370481         value in multi-master set up (refs: #33142)
370482
370483         · PR #33142: (cachedout) Hash fileclients by opts
370484
370485       · ISSUE  #22142:  (multani)  State  acl.present  doesn't  allow  to set
370486         "default" ACLs (refs: #31769)
370487
370488         · PR #33139: (rallytime) Back-port #31769 to 2015.8
370489
370490         · PR #31769: (DylanFrese) Fix acl.present and acl.absent when  adding
370491           default ACLs (refs: #33139)
370492
370493       · PR #33144: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370494         2016-05-10 19:40:31 UTC
370495
370496         · 2800762b44 Merge pull request #33144 from rallytime/merge-2015.8
370497
370498         · 449176f06e Merge branch '2015.5' into '2015.8'
370499
370500         · 6cd1641840   Merge   pull   request    #33141    from    jtand/dis‐
370501           able_local_pkg_install_test
370502
370503           · 8b1e34fb17 Skipping salt-call --local test
370504
370505       · PR #33140: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370506         2016-05-10 16:57:55 UTC
370507
370508         · 72d075e14e Merge pull request #33140 from rallytime/merge-2015.8
370509
370510         · c732c8104b Merge branch '2015.5' into '2015.8'
370511
370512         · 878d34a865 Doc mock decorators (#33132)
370513
370514       · ISSUE #32834: (beardedeagle) Masterless Minion - Unable to query  job
370515         cache (refs: #33017, #33100)
370516
370517         · PR  #33100:  (rallytime)  If  cache_jobs: True is set, populate the
370518           local job cache when running salt-call
370519
370520         · PR #33135: (stk0vrfl0w) Fix  broken  parsing  of  usermgmt.conf  on
370521           OpenBSD
370522
370523         · PR #33129: (rallytime) Back-port #33101 to 2015.8
370524
370525         · PR  #33101:  (thatch45)  Add  a check that the cmdline of the found
370526           proc matches (refs: #33129)
370527
370528         · PR #33064:  (terminalmage)  salt.utils.gitfs:  fix  formatting  for
370529           warning messages
370530
370531       · ISSUE    #33058:   (aclemetson)   Unable   to   run   "win_serverman‐
370532         ager.list_available" on minion. (refs: #33099)
370533
370534         · PR #33099: (twangboy) Fix 33058
370535
370536       · ISSUE #32999: (basepi) Stacktrace for master_finger mismatch on  min‐
370537         ion (refs: #33106)
370538
370539       · PR  #33106: (abednarik) Moved _finger_fail method to parent class.  @
370540         2016-05-09 16:31:09 UTC
370541
370542         · 8acc3147d6 Merge pull request #33106 from  abednarik/abednarik_mas‐
370543           ter_Finger_stacktrace
370544
370545         · 91a69ba54a Moved _finger_fail method to parent class.
370546
370547         · PR  #33102:  (Ch3LL)  clarify  docs  that map is designed to be run
370548           once. is not stateful
370549
370550         · PR #33098: (rallytime) Back-port #33061 to 2015.8
370551
370552         · PR #33061:  (ahammond)  cloud.query  needs  to  define  mapper.opts
370553           (refs: #33098)
370554
370555       · PR #33096: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370556         2016-05-06 19:27:57 UTC
370557
370558         · c1f7aed8a5 Merge pull request #33096 from rallytime/merge-2015.8
370559
370560         · 0fd5e9d157 Merge branch '2015.5' into '2015.8'
370561
370562         · 30edeadafd Lower display of msgpack failure msg to debug (#33078)
370563
370564         · d4928c5a22 Use saltstack repo in buildpackage.py  on  CentOS  5  (‐
370565           #33080)
370566
370567         · 61d126cb98  add  test  for installing package while using salt-call
370568           --local (#33025)
370569
370570         · 6d3e4e8935 File and User test fixes for 2015.5 on Fedora23 (#33055)
370571
370572         · d48b2b8b52 test pillar.items output (#33060)
370573
370574         · 398793bfc0 Fix minor document error of test.assertion (#33067)
370575
370576         · f8757631b2 Saltfile with pillar tests (#33045)
370577
370578         · 1d7892421e Backport #33021 manually to 2015.5 (#33044)
370579
370580         · f00b5f91b3 Add run_on_start docs to schedule.rst (#32958)
370581
370582         · PR #32865: (idonin) salt-cloud: fix ipv6-only virtual machines
370583
370584         · PR #33084: (jfindlay) modules.npm: do not log npm --version at info
370585           level
370586
370587       · ISSUE  #33068:  (pythonwood)  salt-ssh do not support centos5 because
370588         old-version-python  ? (refs: #33081)
370589
370590       · PR  #33081:  (jfindlay)  ssh  docs:  install  py-2.6  for  RHEL  5  @
370591         2016-05-06 15:18:39 UTC
370592
370593         · 3808d05838 Merge pull request #33081 from jfindlay/ssh_doc
370594
370595         · a2c927b173 ssh docs: install py-2.6 for RHEL 5
370596
370597       · PR  #33088:  (isbm) Bugfix: Restore boolean values from the repo con‐
370598         figuration @ 2016-05-06 15:13:27 UTC
370599
370600         · 6d604926d3  Merge   pull   request   #33088   from   isbm/isbm-zyp‐
370601           per-fix-booleans
370602
370603         · 3ca203eb8e  Bugfix (follow-up): setting priority requires non-posi‐
370604           tive integer
370605
370606         · 79a46e091c Add repo config test
370607
370608         · 222b8369ca Add test data for repos
370609
370610         · b746fa35f0 Bugfix: Restore boolean values from the repo  configura‐
370611           tion
370612
370613       · ISSUE  #12422:  (creaky)  Bug:  file.blockreplace  inserts additional
370614         blank line on multi-line content (refs: #33049)
370615
370616         · PR #33082: (Ch3LL) Fix tests for file.blockplace to remove newline
370617
370618         · PR #33049: (thatch45) Don't append a newline when creating new con‐
370619           tent with blockreplace (refs: #33082)
370620
370621       · PR  #32892:  (isbm)  Resolve  Zypper  locks  on  asynchronous calls @
370622         2016-05-05 14:34:59 UTC
370623
370624         · fb89877cf2  Merge   pull   request   #32892   from   isbm/isbm-zyp‐
370625           per-env-variables
370626
370627         · 1601a7e07a  Prevent the use of "refreshable" together with "nolock"
370628           option.
370629
370630         · 52e1be2fa9 Remove unused variable in a constructor. Adjust the doc‐
370631           string accordingly.
370632
370633         · 7e00f566ef  Move  log  message  down to the point where it actually
370634           sleeps. Rephrase the message.
370635
370636         · 4b7dab83ff Fix PID file path for SLE11
370637
370638         · 7f37961d4b Rename tags
370639
370640         · c55b0fab58 Test DOM parsing
370641
370642         · c54e928e4f Add exception handling test
370643
370644         · 3d245bbe84 Parse DOM out of the box, when XML mode is called
370645
370646         · 6a98f523ac Add Zypper caller test suite
370647
370648         · f189f90124 Bugfix: always trigger __getattr__ to reset  and  incre‐
370649           ment the configuration before the call.
370650
370651         · 7e1712dd80 Fix tests according to the new calling model
370652
370653         · 3a30b7fbcd Remove an obsolete test case
370654
370655         · 6e5877a2ee Add Zypper Call mock
370656
370657         · bb5540cb4a Bugfix: inverted logic on raising (or not) exceptions
370658
370659         · ce9262fe71 Make Zypper caller module-level reusable
370660
370661         · 77dc8695af Update docstrings according to the bugfix
370662
370663         · 46d86b21d5 Bugfix: accept refresh override param
370664
370665         · cb40618262 Fire an event about released Zypper with its result
370666
370667         · 0728f0bc00 Replace string values with the constants
370668
370669         · 6af3f7141b Check if zypper lock exists and add more debug logging
370670
370671         · 0167b30a75 Add Zypper lock constant
370672
370673         · 370ff21d36 Fire an event to the Master about blocked Zypper.
370674
370675         · 1727ca3de2 Use new Zypper call implementation
370676
370677         · 485164aa5c Remove blocking-prone Zypper call implementation
370678
370679         · f161f0612c Implement block-proof Zypper call implementation
370680
370681         · baf35ed708 Remove one-char variables
370682
370683         · 2c94eb016f Remove an unused variable
370684
370685         · 6869ebc557 Remove an empty line
370686
370687         · 7e06489da9 Remove verbose wrapping
370688
370689         · 2131ff04af Standarize zypper call to "run_all"
370690
370691         · 046ef44ca3  Bugfix:  version_cmp  crashes  in CLI if there are ver‐
370692           sions, that looks like integer or float.
370693
370694         · b869a92eea Change Zypper calls to a single point
370695
370696       · ISSUE #24237: (Grokzen) Minion  schedule  return  data  missing  some
370697         fields (refs: #33039)
370698
370699         · PR  #33039: (The-Loeki) Add fun_args to scheduled return data (part
370700           of #24237)
370701
370702       · ISSUE #12422:  (creaky)  Bug:  file.blockreplace  inserts  additional
370703         blank line on multi-line content (refs: #33049)
370704
370705         · PR #33049: (thatch45) Don't append a newline when creating new con‐
370706           tent with blockreplace (refs: #33082)
370707
370708       · ISSUE #24996: (danlsgiga) --failhard option not working  as  expected
370709         (refs: #33048)
370710
370711         · PR #33048: (rallytime) Pass all data to batch.run() call when using
370712           --failhard
370713
370714       · ISSUE #32452: (nicholascapo) cmd.run_all with --batch  and --failhard
370715         gives no output on failure (refs: #33050)
370716
370717         · PR  #33050:  (rallytime)  Display command output when command fails
370718           with batch + failhard options
370719
370720       · ISSUE #33041: (anitakrueger) boto_elb.present  security_groups  kwarg
370721         is a list - needs documentation (refs: #33053)
370722
370723         · PR    #33053:   (rallytime)   Allow   security_groups   kwarg   for
370724           boto_elb.present to be string or list
370725
370726         · PR #33054: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8
370727
370728         · PR #33056: (justinta) File  and  User  test  fixes  for  2015.8  on
370729           Fedora23
370730
370731       · ISSUE #32472: (esn89) salt-minion is stuck in a restart loop with not
370732         much info: (refs: #33030)
370733
370734         · PR #33040: (rallytime) Back-port #33030 to 2015.8
370735
370736         · PR #33030: (thatch45) When we restart the minion we should show the
370737           error that caused it (refs: #33040)
370738
370739       · ISSUE  #32834: (beardedeagle) Masterless Minion - Unable to query job
370740         cache (refs: #33017, #33100)
370741
370742         · PR #33017: (rallytime) Update the docs for saltutil.find_job to  be
370743           more clear/accurate
370744
370745         · PR #33031: (rallytime) Back-port #33002 to 2015.8
370746
370747         · PR #33002: (whiteinge) Add saltenv to the cmd.script state function
370748           (refs: #33031)
370749
370750         · PR #33021: (UtahDave) Fix syndic regression (refs: #33044)
370751
370752       · ISSUE #11801: (slai) Salt does not match user  names  properly  under
370753         Windows (refs: #32674)
370754
370755         · PR #32674: (twangboy) Compare uid and gid instead of name and group
370756
370757       · ISSUE  #32856:  (DeanScothern)  jjid  not shown when running the salt
370758         command line with --batch-size  using either --verbose or  --show-jid
370759         with certain salt versions (refs: #32996)
370760
370761       · ISSUE  #31738:  (igorwidlinski)  salt --show-jid does not show job id
370762         when run in batch mode (refs: #32450)
370763
370764         · PR #32996: (rallytime) Allow batch mode to use verbose  option,  as
370765           well as show_jid.
370766
370767         · PR  #32450:  (cachedout) Pass parser options into batch mode (refs:
370768           #32996)
370769
370770       · ISSUE  #32954:  (atengler)  glusterfs.peered  fails  with  'NoneType'
370771         object is not iterable (refs: #32955)
370772
370773         · PR #32955: (atengler) Fixed glusterfs.peered output
370774
370775       · ISSUE  #26011:  (rodriguezsergio)  states.virtualenv  != modules.vir‐
370776         tualenv (refs: #32994)
370777
370778         · PR #32994: (rallytime) Clarify some arg docs for virtualenv state
370779
370780         · PR #32986: (justinta) Fix boto_secgroup_test
370781
370782       · ISSUE #32777: (sjorge) cron.present broken  on  Solarish  systems  if
370783         user specified (refs: #32970)
370784
370785         · PR #32970: (sjorge) fix user cron on solarish operating systems
370786
370787         · PR #32796: (jfindlay) salt.log.setup: process user args before for‐
370788           mat
370789
370790       · ISSUE #32891: (guettli) docs: Note " This document represents  behav‐
370791         ior exhibited by Salt requisites as of version 0.9.7 of Salt." (refs:
370792         #32934)
370793
370794         · PR #32934: (jfindlay)  doc.ref.states.ordering:  clarify  requisite
370795           change
370796
370797       · ISSUE #32882: (papertigers) carbon_return is missing a default value.
370798         (refs: #32883)
370799
370800         · PR #32928: (rallytime) Back-port #32883 to 2015.8
370801
370802         · PR #32883: (papertigers)  mode  should  default  to  'text'  (refs:
370803           #32928)
370804
370805       · ISSUE  #32646: (deamen) FileClient Class ( client = salt.minion.File‐
370806         Client(__opts__) )  does not exist (refs: #32925)
370807
370808         · PR #32925: (rallytime) Remove FileClient class references from docs
370809           - it doesn't exist.
370810
370811       · ISSUE  #23683:  (gravyboat)  contents_grains  should  have an example
370812         (refs: #32922)
370813
370814         · PR #32922: (rallytime) Update contents_grains option with  relevant
370815           docs
370816
370817       · PR #32926: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370818         2016-04-28 19:47:52 UTC
370819
370820         · e60c12640d Merge pull request #32926 from rallytime/merge-2015.8
370821
370822         · 5a184881be Merge branch '2015.5' into '2015.8'
370823
370824         · edce22a143 backport PR #32732 to 2015.5 fixes #23714 (#32848)
370825
370826         · PR #32908: (Ch3LL) Specify EBS volume tags in profile configuration
370827           in aws
370828
370829       · ISSUE #23952: (neogenix) iptables state append doesn't honor position
370830         -1 (refs: #32906)
370831
370832         · PR #32906: (rallytime) Update docs to  warn  users  that  -1  isn't
370833           valid for iptables insert state
370834
370835       · ISSUE  #32510:  (Ch3LL)  Cannot  specify  image in provider file when
370836         using map file (refs: #32900)
370837
370838         · PR #32900: (rallytime) Allow profile options  to  be  specified  in
370839           provider file when using maps
370840
370841       · ISSUE  #30855:  (guettli) Docs: does salt.states.service support sys‐
370842         temd? (refs: #32880)
370843
370844         · PR #32880: (rallytime) Clarify service state opening  docs  -  uses
370845           'service' virtualname
370846
370847       · PR   #32884:   (terminalmage)  Fix  incorrect  deprecation  notice  @
370848         2016-04-27 15:47:35 UTC
370849
370850         · e1b40b3b76 Merge pull request #32884  from  terminalmage/fix-incor‐
370851           rect-deprecation-notice
370852
370853         · b307c5452a Fix incorrect deprecation notice
370854
370855       · PR  #32878:  (jacobhammons)  added  note about updating the bootstrap
370856         script in salt-cloud using th… @ 2016-04-26 21:09:51 UTC
370857
370858         · a2921b9da0 Merge pull request #32878 from jacobhammons/salt-cloud
370859
370860         · 3887938727 added  note  about  updating  the  bootstrap  script  in
370861           salt-cloud using the -u flag, removed the saltconf banner.
370862
370863       · ISSUE  #32861:  (bradthurber)  Is  it master_syndic or syndic_master?
370864         (refs: #32869)
370865
370866       · PR #32869: (rallytime) Use correct config  setting  in  cloud  syndic
370867         docs @ 2016-04-26 19:13:21 UTC
370868
370869         · 71db10fd2c Merge pull request #32869 from rallytime/fix-32861
370870
370871         · 0e73daa126 Use correct config setting in cloud syndic docs
370872
370873       · PR #32844: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
370874         2016-04-26 17:38:08 UTC
370875
370876         · 02c681311f Merge pull request #32844 from rallytime/merge-2015.8
370877
370878         · 1fc9de1d04 Add 'file.source_list' mock to archive state unit tests
370879
370880         · 9064d3bbfb Merge branch '2015.5' into '2015.8'
370881
370882           · 9b5c14c37c salt-cloud -u  downloads  stable  version  from  boot‐
370883             strap.saltstack.com by default (#32837)
370884
370885           · 9725804448 update bootstrap to 2016.04.18 release (#32667)
370886
370887           · c842e1e437 Merge pull request #32776 from rallytime/merge-2015.5
370888
370889             · 7ecbf9f885   Merge   pull   request   #14  from  whiteinge/run‐
370890               ner-async-low
370891
370892               · 211f7b4af1 Format low data correct for runner_async
370893
370894             · ce72851861 Merge branch '2014.7' into '2015.5'
370895
370896             · 2775edc176 Saltnado /run fix (#32590)
370897
370898             · b19c5a5ce7 Verify auth in saltnado run (#32552)
370899
370900           · 67d0c81184 Support remote sources in a source list (#32691)
370901
370902           · bd5442d768 Merge pull request #32686 from cachedout/issue_32661
370903
370904             · f704df90bc Fix stacktrace in batch with dup minion ids
370905
370906           · 3ec9502a86 Update "Low Hanging Fruit" to "Help Wanted" (#32675)
370907
370908           · 77bea56b68 Additional documentation on calling exec modules  from
370909             templates (#32657)
370910
370911           · c910b8dd51  Fixing critical bug to remove only the specified Host
370912             instead of the entire Host cluster (#32639)
370913
370914           · 4568565d45 Add _syspaths.py to .gitignore (#32638)
370915
370916       · ISSUE #32799: (belt) ssh_auth.present creates ~/~${USER}/.ssh  (refs:
370917         #32868)
370918
370919         · PR #32868: (rallytime) Back-port #31139 to 2015.8
370920
370921         · PR  #31139:  (exowaucka)  Improve  %h and %u handling in SSH module
370922           (refs: #32868)
370923
370924       · ISSUE #23714: (naemono) file.copy force ignored during highstate, but
370925         not with 'salt-call state.sls_id' (refs: #32732, #32847, #32848)
370926
370927         · PR #32847: (lomeroe) backport PR #32732 for issue #23714
370928
370929         · PR  #32732: (lomeroe) correct use of force flag in file.copy #23714
370930           (refs: #32847, #32848)
370931
370932       · ISSUE  #32824:  (bradthurber)  salt-cloud   vmware:   wrong   pyvmomi
370933         installed for RHEL/CentOS 6 (refs: #32845)
370934
370935         · PR  #32845:  (rallytime)  Add  pyvmomi  version  warning to Getting
370936           Started with VMware docs
370937
370938       · ISSUE #25492:  (hernanc)  "docker-py  mem_limit  has  been  moved  to
370939         host_config in API version 1.19" error (refs: #26518, #32818)
370940
370941         · PR #32841: (rallytime) Back-port #32818 to 2015.8
370942
370943         · PR #32818: (mitar) Pass None as memory limit (refs: #32841)
370944
370945         · PR #26518: (krak3n) Fix for #25492 (refs: #32818)
370946
370947       · ISSUE  #32605:  (Talkless) pkgrepo.managed with apt does not add com‐
370948         ments value later (refs: #32813)
370949
370950         · PR #32839: (rallytime) Back-port #32813 to 2015.8
370951
370952         · PR #32813: (abednarik)  Add  comments  as  an  option  for  apt  in
370953           pkgrepo.managed. (refs: #32839)
370954
370955         · PR  #32659:  (anlutro)  Various improvements on cloud deploy script
370956           docs
370957
370958         · PR #32668:  (jfindlay)  [2015.8]  update  bootstrap  to  2016.04.18
370959           release
370960
370961         · PR #32785: (rallytime) Back-port #29322 to 2015.8
370962
370963         · PR  #29322:  (mrproper)  add  http proxy support for tornado (refs:
370964           #32785)
370965
370966       · ISSUE  #32710:  (bradthurber)  conf/master  missing  many  gitfs  and
370967         git_pillar parameters (refs: #32722)
370968
370969       · PR  #32787:  (rallytime)  Back-port  #32722  to  2015.8  @ 2016-04-25
370970         15:19:21 UTC
370971
370972         · PR #32722: (bradthurber) Catch up the conf/master file  to  include
370973           gitfs/git_pillar parms from … (refs: #32787)
370974
370975         · 96a3d4e556 Merge pull request #32787 from rallytime/bp-32722
370976
370977         · 8d7148d41b  Catch up the conf/master file to include gitfs/git_pil‐
370978           lar parms from recent releases
370979
370980       · PR #32786:  (rallytime)  Back-port  #32703  to  2015.8  @  2016-04-25
370981         15:19:13 UTC
370982
370983         · PR #32703: (schancel) Make example top file match templated version
370984           (refs: #32786)
370985
370986         · 36f70f5847 Merge pull request #32786 from rallytime/bp-32703
370987
370988         · baa4df25c9 Make example top file match templated version
370989
370990         · 227ef4aabb Fix unnecessary capitalization
370991
370992         · 73cd9f26c3   Merge    branch    'gitfs_perremote_doc_updates'    of
370993           https://github.com/l2ol33rt/salt into pr-32775
370994
370995         · b69d406ada Including name per-remote config option in example
370996
370997         · PR #32779: (terminalmage) Improve documentation on pygit2 versions
370998
370999       · ISSUE #32609: (anlutro) Tornado ioloop fails when master disconnects?
371000         (refs: #32749)
371001
371002         · PR #32749: (DmitryKuzmenko) Properly handle minion  failback  fail‐
371003           ure.
371004
371005       · ISSUE  #32144:  (vutny)  Pillar  targeting  starts to work only after
371006         calling saltutil.refresh_pillar (refs: #32643)
371007
371008         · PR #32643: (vutny) Document pillar cache options
371009
371010       · ISSUE #32705: (joakimkarlsson) win_dacl.present: Specifying  propaga‐
371011         tions for a directory fails  (refs: #32720)
371012
371013         · PR  #32720:  (jfindlay)  modules.win_dacl:  consistent case of dacl
371014           constants
371015
371016       · ISSUE #30761: (sjmh) Cannot target subsets of minions when using pil‐
371017         lar and external_auth (refs: #31598)
371018
371019       · ISSUE  #21303:  (Lothiraldan)  Explicit and document ACL rules format
371020         (refs: #32733)
371021
371022         · PR #32733: (Lothiraldan) Update external auth documentation to list
371023           supported matcher.
371024
371025         · PR  #31598:  (terminalmage)  Remove limitations on validation types
371026           for eauth targets (refs: #32733)
371027
371028         · PR #32693: (techhat) Check dependencies  type  before  appling  str
371029           operations
371030
371031         · PR  #32692: (garethgreenaway) Handle when beacon not configured and
371032           we try to enable/disable them
371033
371034       · PR #32718: (garethgreenaway)  Fixes  to  schedule.list  in  2015.8  @
371035         2016-04-20 19:51:24 UTC
371036
371037         · f52af5a596    Merge   pull   request   #32718   from   garethgreen‐
371038           away/2015_8_schedule_list_fix
371039
371040         · 7fa5d809d2 backporting a fix from develop where the  use  of  splay
371041           would  result  in  seconds=0 in the schedule.list when there was no
371042           seconds specified in the origina schedule
371043
371044       · PR  #32684:  (captaininspiration)  Fix  routes  for  redhat  <  6   @
371045         2016-04-19 19:18:20 UTC
371046
371047         · PR  #32682:  (captaininspiration)  Fix routes for redhat < 6 (refs:
371048           #32684)
371049
371050         · f63566e452 Merge pull request #32684 from captaininspiration/2015.8
371051
371052         · 640c7a90da Fix routes for redhat < 6
371053
371054         · PR #32683: (techhat) Handle a couple of arguments better (Azure)
371055
371056       · ISSUE #32523: (junster1)  network.py/loader.py  failing  because  cfn
371057         variable is not defined before use. (refs: #32672)
371058
371059         · PR #32672: (junster1) Fix for issue 32523
371060
371061       · ISSUE  #32517:  (Ch3LL)  Minion  restarting  and erroring when cannot
371062         reach the masters in multi-master failover (refs: #32555, #32556)
371063
371064         · PR #32556: (DmitryKuzmenko) Don't access deprecated  Exception.mes‐
371065           sage attribute.
371066
371067         · PR #32655: (cachedout) Lower log level for pillar cache
371068
371069       · ISSUE  #31542: (duk3luk3) jinja stringifies dict before passing it to
371070         execution module (maybe salt-ssh specific?) (refs: #32588)
371071
371072       · PR #32588: (anlutro) Fix salt-ssh module function call argument  type
371073         juggling by JSON encoding them @ 2016-04-18 15:57:14 UTC
371074
371075         · a6a427463d  Merge  pull request #32588 from alprs/fix-salt_ssh_mod‐
371076           ule_types
371077
371078         · d912f1c3c6 json encode arguments  passed  to  an  execution  module
371079           function call
371080
371081       · ISSUE  #32229:  (seanjnkns) 2015.8.8.2: pkg.installed fails to update
371082         packages with epoch (refs: #32563)
371083
371084         · PR #32563: (terminalmage) yumpkg: Ignore epoch in version  compari‐
371085           son for explict versions without an epoch
371086
371087         · PR  #32640: (nmadhok) [2015.8] - Fixing critical bug to remove only
371088           the specified Host instead of the entire Host cluster
371089
371090         · PR #32649: (mcalmer) align OS grains from older SLES  with  current
371091           one
371092
371093         · PR  #32652:  (isbm)  Prevent  crash if pygit2 package is requesting
371094           re-compilation of the e…
371095
371096       · PR #32614: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
371097         2016-04-15 19:27:47 UTC
371098
371099         · 05a41a13cd Merge pull request #32614 from rallytime/merge-2015.8
371100
371101         · 046e401dd8 Merge branch '2015.5' into '2015.8'
371102
371103           · 027b502335  Merge  pull  request #32561 from gtmanfred/user_pass‐
371104             words
371105
371106             · 3db5e78d5d  redact  passwords  and  hashes  from   user.present
371107               updates
371108
371109       · PR  #32616:  (rallytime)  Back-port  #32547  to  2015.8  @ 2016-04-15
371110         19:27:36 UTC
371111
371112         · PR #32547: (cro) Expand on the open-source vs open-core FAQ  (refs:
371113           #32616)
371114
371115         · ef17bde054 Merge pull request #32616 from rallytime/bp-32547
371116
371117         · 4242bc7399 Language clarification.
371118
371119         · 965e3bc1d1 Expand on the open-source vs open-core FAQ
371120
371121         · PR  #32604:  (Talkless)  Fix  comments value in salt.states.pkgrepo
371122           example
371123
371124         · PR #32558: (terminalmage) Revert PR #32480 and  apply  #32314  with
371125           fixes / documentation
371126
371127         · PR  #32480: (terminalmage) Clear VCS fsbackend and git_pillar locks
371128           on master start (refs: #32558)
371129
371130         · PR #32314: (onorua) prevent eternal gitfs lock due to process crash
371131           (refs: #32480, #32558)
371132
371133       · ISSUE  #32519:  (Ch3LL)  Minion  restarting  and erroring when cannot
371134         reach the master (refs: #32576)
371135
371136         · PR #32576: (DmitryKuzmenko) Better log message on minion restart if
371137           master couldn't be reached.
371138
371139       · ISSUE  #32517:  (Ch3LL)  Minion  restarting  and erroring when cannot
371140         reach the masters in multi-master failover (refs: #32555, #32556)
371141
371142         · PR #32555: (DmitryKuzmenko) Don't return None from eval_master
371143
371144       · PR #32536:  (rallytime)  Back-port  #31898  to  2015.8  @  2016-04-13
371145         18:49:05 UTC
371146
371147         · PR  #31898:  (afletch)  Ensure  rh_service not used on CloudLinux 7
371148           (refs: #32536)
371149
371150         · 27e91e40cc Merge pull request #32536 from rallytime/bp-31898
371151
371152         · 60d80c4dee Ensure rh_service not used on CloudLinux 7
371153
371154         · PR #32542: (twangboy) Fix binary search and replace
371155
371156       · PR #32539: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
371157         2016-04-13 15:10:08 UTC
371158
371159         · cce7de76b0 Merge pull request #32539 from rallytime/merge-2015.8
371160
371161         · fbaeb165c9 Merge branch '2015.5' into merge-2015.8
371162
371163         · 7307bcb88e Merge pull request #32538 from rallytime/bp-32528
371164
371165           · 46a4e8a310 Remove merge conflict line
371166
371167           · e0d947c707  Document "grains" setting in the minion configuration
371168             reference
371169
371170       · ISSUE #32493: (bberberov) dockerng.volume_present fails when no  vol‐
371171         umes already exist on the system (refs: #32531)
371172
371173       · PR   #32531:   (ticosax)  [dockerng]  Fix  support  of  dockerng.vol‐
371174         ume_present when no volume is on present.  @ 2016-04-13 14:42:13 UTC
371175
371176         · 1834bdefe3 Merge pull request #32531  from  ticosax/support-no-vol‐
371177           umes
371178
371179         · 958b2ec749 Fix support of dockerng.volume_present when no volume is
371180           on present.
371181
371182         · PR #32475: (ticosax) [dockerng] Enhance dockerng.wait() to  control
371183           success on exit_code and on already stopped containers
371184
371185         · PR  #32436:  (isbm)  Bugfix:  salt-key crashes if tries to generate
371186           keys to the directory w/o write access
371187
371188         · PR #32515: (terminalmage) Turn on exc_info when logging failed min‐
371189           ion startup
371190
371191         · PR    #32520:    (terminalmage)    Add   ignore_epoch   option   to
371192           pkg.installed/removed/purged states
371193
371194         · PR #32505: (isbm) Isbm zypper list products sles11 crash
371195
371196         · PR #32480: (terminalmage) Clear VCS fsbackend and git_pillar  locks
371197           on master start (refs: #32558)
371198
371199         · PR #32314: (onorua) prevent eternal gitfs lock due to process crash
371200           (refs: #32480, #32558)
371201
371202       · ISSUE #32327: (joakimkarlsson) salt-minion fails to start on  Windows
371203         (refs: #32491)
371204
371205         · PR #32491: (twangboy) Use win32api to get Total System Memory
371206
371207       · ISSUE  #31927:  (afletch)  pkg.installed  compares  version including
371208         package epoch (pkg.version problem?) (refs: #32487)
371209
371210       · PR #32487: (terminalmage) Add explanation of nonzero  epoch  require‐
371211         ment to pkg.installed state documentation @ 2016-04-11 20:48:57 UTC
371212
371213         · e335e313fe  Merge pull request #32487 from terminalmage/epoch-docu‐
371214           mentation
371215
371216         · e04cf879b6 Document new behavior of pkg.installed for yum/dnf pack‐
371217           ages with non-zero epoch
371218
371219         · 61e9761224   Add   explanation  of  nonzero  epoch  requirement  to
371220           pkg.installed state documentation
371221
371222       · PR #32482: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
371223         2016-04-11 20:12:26 UTC
371224
371225         · e8de50ff37 Merge pull request #32482 from rallytime/merge-2015.8
371226
371227         · 1b04f0ddec Merge branch '2015.5' into '2015.8'
371228
371229         · 29333e533e  Add  documentation  for  some  master/minion configs (‐
371230           #32454)
371231
371232         · 100c6e1b25  Merge  pull  request  #32458  from   terminalmage/clar‐
371233           ify-providers-docs
371234
371235           · 500d3ebbaa  Add  link  to  provider  override  docs  to all group
371236             providers
371237
371238           · 83ca01f620 dd link  to  provider  override  docs  to  all  shadow
371239             providers
371240
371241           · c5fe38789d  Add  link  to  provider  override  docs  to  all user
371242             providers
371243
371244           · 5c1c1dda59 Add link to provider  override  docs  to  all  service
371245             providers
371246
371247           · 736f2befc9  Add  link  to  provider  override docs to all package
371248             providers
371249
371250           · f9306347cc Clarify the scope of the provider param in states.
371251
371252           · af24c82ab0 Add documentation on virtual module provider overrides
371253             to the module docs
371254
371255           · 0bc6c97a63 Improve docstrings
371256
371257           · 1948920674 Add external ref to windows package manager docs
371258
371259           · e7fa21438c Add new doc pages to toctree
371260
371261           · f0de1236ec Move the tables of virtual modules to individual docu‐
371262             mentation pages
371263
371264       · ISSUE #30183: (jakehilton)  Minion  startup  extremely  delayed  when
371265         first  master  in  failover multi master setup is down (refs: #31364,
371266         #31382, #32143)
371267
371268       · ISSUE #29643: (matthayes) Can't get batch mode and --failhard to work
371269         as expected (refs: #31164)
371270
371271       · ISSUE #28569: (andrejohansson) Reactor alert on highstate fail (refs:
371272         #31164)
371273
371274         · PR #32474: (DmitryKuzmenko) Backport 31164 and 31364
371275
371276         · PR #32441: (cachedout) Backport 31164 31364 (refs: #32474)
371277
371278         · PR #31364: (DmitryKuzmenko) Don't send REQ  while  another  one  is
371279           waiting for response. (refs: #32441, #32474)
371280
371281         · PR #31164: (DmitryKuzmenko) Issues/29643 fix invalid retcode (refs:
371282           #32441, #32474)
371283
371284       · ISSUE #31738: (igorwidlinski) salt --show-jid does not  show  job  id
371285         when run in batch mode (refs: #32450)
371286
371287       · PR  #32450:  (cachedout)  Pass  parser options into batch mode (refs:
371288         #32996) @ 2016-04-08 23:03:49 UTC
371289
371290         · 7bf44aea72 Merge pull request #32450 from cachedout/issue_31738
371291
371292         · 74d0fa06b4 Pass parser options into batch mode
371293
371294       · ISSUE #28706: (kkaig)  user.present:groups  vs  group.present:members
371295         (refs: #30824, #32448)
371296
371297         · PR #32448: (rallytime) Back-port #30824 to 2015.8
371298
371299         · PR  #30824:  (alxf)  Issue #28706: Fix state user.present behavior.
371300           (refs: #32448)
371301
371302       · ISSUE #31851: (rhansen) error using module.run -> saltutil.runner  ->
371303         state.orchestrate: "The following arguments are missing: _fun" (refs:
371304         #32445)
371305
371306         · PR #32445: (rallytime) Argument name in docs  should  match  actual
371307           arg name
371308
371309         · PR #26676: (rallytime) Back-port #26648 to 2015.5 (refs: #32445)
371310
371311         · PR  #26648:  (whiteinge)  Free  'fun'  from  the function signature
371312           namespace (refs: #26676)
371313
371314       · ISSUE #32033: (timcharper) SaltStack modules.dockerng  _compare  does
371315         not handle docker implicit Domainname properly (issue when using net‐
371316         work_mode: host) (refs: #32116, #32432)
371317
371318       · PR  #32432:  (ticosax)  [dockerng]  Fix  Domainname  introspection  @
371319         2016-04-08 16:12:19 UTC
371320
371321         · a36f9499fc  Merge  pull  request  #32432  from  ticosax/fix-domain‐
371322           name-introspection
371323
371324         · 505b5b0168 Fix Domainname introspection
371325
371326       · PR #32427: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
371327         2016-04-08 15:39:13 UTC
371328
371329         · def911974c Merge pull request #32427 from rallytime/merge-2015.8
371330
371331         · 9531ea6ef5 Merge branch '2015.5' into '2015.8'
371332
371333         · 0809126d8e Merge #32293 with test fixes (#32418)
371334
371335         · bbd8260a42 Ignore Raspbian in service.py __virtual__ (#32421)
371336
371337         · 690addf0b4 FreeBSD supports packages in format java/openjdk7 so the
371338           prior commit broke that functionality. Check  freebsd/pkg#1409  for
371339           more info.
371340
371341         · a36866d7db Merge pull request #32399 from amontalban/2015.5
371342
371343           · e1ffbd615a Fixes saltstack/salt#28262 for 2015.5 branch
371344
371345         · 3f03c5fcf9 Merge pull request #32374 from cachedout/issue_32066
371346
371347           · 62389d1d1a Update proxmox documentation
371348
371349         · 8578089beb  Merge pull request #32339 from Ch3LL/fix_doc_multi-mas‐
371350           ter
371351
371352           · 2774da288d remove reference to master_alive_check
371353
371354       · ISSUE #32311: (rkgrunt) glusterfs  module  incorrectly  indexes  into
371355         name of bricks  (refs: #32312)
371356
371357       · PR  #32423: (justinta) Update glusterfs_test to be inline with #32312
371358         @ 2016-04-07 21:53:03 UTC
371359
371360         · PR #32312: (rkgrunt) Fixed glusterfs module (refs: #32423)
371361
371362         · 5bc8c326ce Merge pull request #32423 from jtand/glusterfs_test_fix
371363
371364         · 6f98bd50eb Update glusterfs_test to be inline with #32312
371365
371366       · ISSUE #31632:  (zieba88)  salt-cloud  map  parallel  provisioning  -P
371367         option failed on 2015.8.5 (refs: #32425)
371368
371369       · PR   #32425:  (cachedout)  Fix  salt-cloud  paralell  provisioning  @
371370         2016-04-07 21:52:06 UTC
371371
371372         · c07e02bacb Merge pull request #32425 from cachedout/issue_31632
371373
371374         · 127c0829ee Fix salt-cloud paralell provisioning
371375
371376       · PR #32323: (mcalmer) fix sorting by latest version when  called  with
371377         an attribute @ 2016-04-07 06:24:35 UTC
371378
371379         · 2cc054bbc0       Merge      pull      request      #32323      from
371380           mcalmer/fix-ensure-installed-latest-with-attributes
371381
371382         · cb1f30ee10 fix sorting  by  latest  version  when  called  with  an
371383           attribute
371384
371385       · ISSUE  saltstack/salt#28262:  (palica) FreeBSD pkgng provider raising
371386         error for minion (refs: #32376)
371387
371388       · ISSUE #28262: (palica) FreeBSD pkgng provider raising error for  min‐
371389         ion (refs: #32376, #32399)
371390
371391       · PR  #32376:  (amontalban) Fixes saltstack/salt#28262 (refs: #32399) @
371392         2016-04-06 20:30:10 UTC
371393
371394         · 802580ee1a Merge pull request #32376 from amontalban/2015.8
371395
371396         · 823d0c362b Fixes saltstack/salt#28262
371397
371398       · ISSUE #32375: (truescotw) jinja template copying file but not replac‐
371399         ing tags (refs: #32393)
371400
371401       · PR  #32393:  (jfindlay) modules.win_timezone: don't list all zones in
371402         debug log @ 2016-04-06 18:10:43 UTC
371403
371404         · ad77d76cad Merge pull request #32393 from jfindlay/win_zone
371405
371406         · c01c1b9da2 modules.win_timezone: don't list all zones in debug log
371407
371408       · PR #32372:  (rallytime)  Back-port  #32358  to  2015.8  @  2016-04-06
371409         16:35:05 UTC
371410
371411         · PR  #32358: (arthurlogilab) outputter virt_list does not exist any‐
371412           more (refs: #32372)
371413
371414         · 76ae95863d Merge pull request #32372 from rallytime/bp-32358
371415
371416         · 95e0fe7744 outputter virt_list does not exist anymore
371417
371418       · PR #32392: (multani) Fix documentation on boto_asg and boto_elb  mod‐
371419         ules and states @ 2016-04-06 16:34:36 UTC
371420
371421         · c612baa119 Merge pull request #32392 from multani/2015.8
371422
371423         · 77c4772752  Fix  documentation on boto_asg and boto_elb modules and
371424           states
371425
371426       · ISSUE #32201: (boltronics) salt-minion memory leak waiting on  master
371427         to accept key (refs: #32373)
371428
371429       · PR  #32373:  (cachedout)  Resolve  memory  leak  in  authentication @
371430         2016-04-06 15:19:55 UTC
371431
371432         · b706d3aa4d Merge pull request #32373 from cachedout/issue_32201
371433
371434         · d9e4a0f372 Resolve memory leak in authentication
371435
371436       · PR #32126: (cro) Add a couple CLI examples for the highstate  output‐
371437         ter.  @ 2016-04-05 17:23:29 UTC
371438
371439         · 097aa7ccfc Merge pull request #32126 from cro/outputter_terse_docs
371440
371441         · dafe279e60 Lint
371442
371443         · abc2de0119 More clarification.
371444
371445         · 85221e515b  Expand  docs for highstate outputter.  Add CLI examples
371446           for when 'state_output: filter' is set.
371447
371448       · PR #32353: (mcalmer) Prevent metadata download when listing installed
371449         products @ 2016-04-05 17:02:15 UTC
371450
371451         · eab3b99be2    Merge   pull   request   #32353   from   mcalmer/pre‐
371452           vent-refresh-on-list-installed-products
371453
371454         · e32212ad53 Prevent metadata download when listing  installed  prod‐
371455           ucts
371456
371457       · ISSUE  #32255:  (jakosky) Salt-minion 2015.8.8 should display helpful
371458         error when regular file /var/log/salt/minion exists but  a  directory
371459         is expected. (refs: #32321)
371460
371461       · PR  #32321:  (abednarik)  Better  message when minion fail to start @
371462         2016-04-05 16:28:06 UTC
371463
371464         · 64abec94e7  Merge   pull   request   #32321   from   abednarik/min‐
371465           ion_start_fail_log
371466
371467         · 4c72adc03a Better message when minion fail to start
371468
371469       · ISSUE  #30147:  (anandnevase)  salt.cloud.CloudClient method create()
371470         not working for VMware driver (refs: #32344)
371471
371472       · PR #32345: (nmadhok) [2015.8] Check if profile key exists in vm_ dict
371473         @ 2016-04-05 16:16:36 UTC
371474
371475         · PR #32344: (nmadhok) Check if profile key exists in vm_ dict (refs:
371476           #32345)
371477
371478         · 59aca733ea Merge pull request #32345 from nmadhok/patch-4
371479
371480         · 42d7a54240 Check if profile key exists in vm_ dict
371481
371482       · PR #32343: (Ferbla) Fixed win_wua example documentation @  2016-04-05
371483         16:14:37 UTC
371484
371485         · bb033c238d Merge pull request #32343 from Ferbla/2015.8
371486
371487         · e2f0f16564 Fixed win_wua example documentation
371488
371489       · ISSUE #32354: (elsmorian) Incorrect capitalisation when telling users
371490         to change hash_type to SHA256 (refs: #32360)
371491
371492       · PR #32360: (rallytime) Make  sure  hash_type  is  lowercase  in  mas‐
371493         ter/minion config files @ 2016-04-05 16:10:46 UTC
371494
371495         · 3219a8d176 Merge pull request #32360 from rallytime/fix-32354
371496
371497         · 8b47c205df Make sure hash_type is lowercase in master/minion config
371498           files
371499
371500       · PR #32361: (cro) SDB is no longer experimental @ 2016-04-05  16:10:23
371501         UTC
371502
371503         · fb530256f6 Merge pull request #32361 from cro/remove_sdb_exp_flag
371504
371505         · 3bbe284d89 Remove 'experimental' warning from SDB docs.
371506
371507       · PR  #32336:  (rallytime)  Back-port  #28639  to  2015.8  @ 2016-04-04
371508         20:53:11 UTC
371509
371510         · PR #28639: (RuriRyan) Fixed handling of  the  disabled  option  for
371511           yumpkg (refs: #32336)
371512
371513         · e1ef4a9d66 Merge pull request #32336 from rallytime/bp-28639
371514
371515         · 0829143dd1 Fixed handling of the disabled option for yumpkg
371516
371517       · ISSUE  #32305:  (Ch3LL) Receiving NoResponse Errors when running com‐
371518         mands that take a longer time (refs: #32332)
371519
371520       · PR #32332: (rallytime) Don't unsubscribe from open events on the  CLI
371521         too early on long-running commands @ 2016-04-04 20:39:39 UTC
371522
371523         · PR #32145: (paclat) fixes 29817 (refs: #32332)
371524
371525         · 6ee5a9729c Merge pull request #32332 from rallytime/fix-32305
371526
371527         · 8dc1161c8a  Don't unsubscribe from open events on the CLI too early
371528           on long-running commands
371529
371530       · PR #32333: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
371531         2016-04-04 20:06:02 UTC
371532
371533         · 22b296d2fd Merge pull request #32333 from rallytime/merge-2015.8
371534
371535         · d7b4b8b081 Merge branch '2015.5' into '2015.8'
371536
371537         · fbdc47cc55 Merge pull request #32284 from rallytime/config-audit
371538
371539           · 0491513204 Don't be so explicit. Just use string_types.
371540
371541           · 083c477fd3 Use six.string_types in config default tuples
371542
371543           · 7e642b8381 Audit config.py default types and values - first sweep
371544
371545         · 0a6d44e57b  Merge  pull  request #32302 from terminalmage/fix-miss‐
371546           ing-release
371547
371548           · 413c371ccd Properly support packages with blank  "Release"  param
371549             in pkg.latest_version
371550
371551       · ISSUE  #32246:  (danlsgiga)  IMPORTANT:  Do not use md5 hashing algo‐
371552         rithm! Please set "hash_type" to SHA256 in Salt Minion config! (refs:
371553         #32289)
371554
371555       · PR  #32289:  (rallytime)  New salt-cloud instances should not use old
371556         hash_type default.  @ 2016-04-04 17:52:09 UTC
371557
371558         · PR #31162: (isbm) Remove MD5 digest from everywhere and default  to
371559           SHA256 (refs: #32289)
371560
371561         · 28cc054244 Merge pull request #32289 from rallytime/fix-32246
371562
371563         · 66acc00c71  New  salt-cloud  instances should not use old hash_type
371564           default.
371565
371566       · ISSUE #14277: (Sacro) Chocolatey.version doesn't  tell  you  anything
371567         informative. (refs: #32291)
371568
371569       · PR  #32291:  (twangboy)  Fix bad output for chocolatey.version (fixes
371570         #14277) @ 2016-04-04 17:50:54 UTC
371571
371572         · 5fb90a1040 Merge pull request #32291 from twangboy/fix_14277
371573
371574         · 53f6a28297 Fix problem with return on installed packages
371575
371576         · f5bd004ab0 Fix chocolatey.version function
371577
371578       · ISSUE #32183: (llamallama) Salt Cloud 2015.8.8  not  installing  salt
371579         minions on new nodes (refs: #32295)
371580
371581       · PR      #32295:      (rallytime)     Test     the     contents     of
371582         'deploy_scripts_search_path' in salt.config.cloud_config @ 2016-04-04
371583         17:38:47 UTC
371584
371585         · edbab99164     Merge    pull    request    #32295    from    rally‐
371586           time/test-cloud-deploy-dir
371587
371588         · 4037476f40 Patch call to os.path.isdir so we know both search paths
371589           are in tuple
371590
371591         · 49a4eec051  Test  the  contents  of 'deploy_scripts_search_path' in
371592           salt.config.cloud_config
371593
371594       · ISSUE #23617: (porterjamesj) file.managed with proxy broken in 2015.5
371595         (refs: #32315)
371596
371597       · PR #32315: (ahus1) fixing file.managed with requests lib @ 2016-04-04
371598         17:20:11 UTC
371599
371600         · 4389680bc5  Merge  pull  request  #32315  from  ahus1/fix_file_man‐
371601           aged_http_requests
371602
371603         · a867d23383  ensure streaming mode (use for example by file.managed)
371604           will works for requests backend
371605
371606       · ISSUE saltstack/salt-bootstrap#782: (ninjada) Bootstrap and  Links  &
371607         Documentation still broken due to fedoraproject redirect to fedorain‐
371608         fracloud.org (refs: #32316)
371609
371610       · ISSUE saltstack/salt-bootstrap#742: (dennisfoconnor)  Non-Development
371611         Script Broken on Amazon Linux (refs: #32316)
371612
371613       · ISSUE  saltstack/salt-bootstrap#695: (mtippett) Install Failures With
371614         Raspbian Jessie (refs: #32316)
371615
371616       · PR #32316:  (vutny)  Update  Salt  Bootstrap  tutorial  @  2016-04-04
371617         17:18:12 UTC
371618
371619         · 9065201761   Merge  pull  request  #32316  from  vutny/update-boot‐
371620           strap-tutorial
371621
371622         · b9698f015d Update Salt Bootstrap tutorial
371623
371624       · PR #32325: (bdrung) Re-add shebang to ssh-id-wrapper shell  script  @
371625         2016-04-04 17:08:41 UTC
371626
371627         · 352f3c01d1 Merge pull request #32325 from bdrung/fix-shebang
371628
371629         · ffe585f078 Re-add shebang to ssh-id-wrapper shell script
371630
371631       · PR #32326: (bdrung) Fix typos @ 2016-04-04 16:41:41 UTC
371632
371633         · f16e332b3a Merge pull request #32326 from bdrung/fix-typos
371634
371635         · a7db152333 Fix typo dont -> don't
371636
371637         · d4c037301b Fix typo missmatch -> mismatch
371638
371639         · 70dba70ff0 Fix typo additonal -> addition
371640
371641         · 68c60903aa Fix typo mutliple -> multiple
371642
371643         · 0f2c779b90 Fix typo fucntion -> function
371644
371645         · 0c9e4c8c80 Fix typo avilable -> available
371646
371647         · 920abe2ec7 Fix typo formated -> formatted
371648
371649         · e56dd4bb23 Fix typo ommitted -> omitted
371650
371651         · f99e6f1f13 Fix typo ouptut -> output
371652
371653         · d3804094f2 Fix typo wether -> whether
371654
371655         · 538fb6fae2 Fix typo perfomed -> performed
371656
371657         · db7af998ee Fix typo santized -> sanitized
371658
371659         · d7af01da2b Fix typo coresponding -> corresponding
371660
371661         · 301e78b5be Fix typo vaules -> values
371662
371663         · 8cada9573f Fix typos of retrieve
371664
371665         · b484d6f9c9 Fix typo directorys -> directories
371666
371667       · PR #32300: (twangboy) Add documentation to disable winrepo/winrepo_ng
371668         @ 2016-04-01 21:23:09 UTC
371669
371670         · 664043d7e7 Merge pull request #32300 from twangboy/fix_28767
371671
371672         · c971a3b054 Add documentation for disabled the winrepos
371673
371674       · ISSUE #18429: (somenick) Pillars passed  from  command-line  override
371675         pillar subtrees instead of merging (refs: #32288)
371676
371677       · PR #32288: (terminalmage) use dictupdate.merge instead of dict.update
371678         to merge CLI pillar overrides @ 2016-04-01 16:30:30 UTC
371679
371680         · 42a25f6b9d Merge pull request #32288 from terminalmage/issue18429
371681
371682         · db31732137 use dictupdate.merge instead of dict.update to merge CLI
371683           pillar overrides
371684
371685       · PR  #32243:  (isbm)  Ensure latest pkg.info_installed ensure latest @
371686         2016-03-31 16:09:59 UTC
371687
371688         · 3e374e7ec6  Merge   pull   request   #32243   from   isbm/isbm-zyp‐
371689           per-list-installed-ensure-latest
371690
371691         · fba3d509ac Fix the documentation
371692
371693         · 73ad8a2bfc Fix lint
371694
371695         · f07c7ea792 Add lowpkg tests for version comparison
371696
371697         · afdf451d87  Remove  tests  from  the  zypper_test  that  belongs to
371698           rpm_test
371699
371700         · 3706a21c29 Fix condition from returning None on 0
371701
371702         · 0a68ebff16 Remove suse/redhat checks, refactor code.
371703
371704         · 30c8f7216b Move "string to EVR" function to the utilities
371705
371706         · fb014a40b0 Sort installed pkgs data by version_cmp
371707
371708         · b57e439d57 Merge yumpkg's and zypper's version_cmp for a common use
371709
371710         · ebd13a283c Remove version_cmp from Zypper module and use just  low‐
371711           pkg alias
371712
371713         · b46d5b526a Remove version_cmp from the yumpkg and use just a lowpkg
371714           alias
371715
371716         · f4d9881e61 Force-sort the RPM output to ensure  latest  version  of
371717           the multi-package on top of the list.
371718
371719       · ISSUE  #32261:  (arthurlogilab)  dockerng  : AttributeError: 'module'
371720         object has no attribute 'version_info' (refs: #32262, #32268)
371721
371722       · PR #32268: (ticosax) [dockerng] Improve detection for older  versions
371723         of docker-py @ 2016-03-31 14:51:46 UTC
371724
371725         · PR  #32262:  (arthurlogilab) Catch Attribute Error when docker.ver‐
371726           sion_info doesn't exist (refs: #32268)
371727
371728         · 88fa3c5f71 Merge  pull  request  #32268  from  ticosax/handle-dock‐
371729           erpy-old
371730
371731         · 05116aaa40 Improve detection for older versions of docker-py
371732
371733       · PR  #32258:  (jacobhammons)  Replaces  incorrect  reference  to  mas‐
371734         ter_alive_check @ 2016-03-31 14:41:09 UTC
371735
371736         · a491897a3b Merge pull request #32258 from jacobhammons/alive-inter‐
371737           val-docs
371738
371739         · ff8ca5ac2e  Replaces incorrect reference to master_alive_check with
371740           master_alive_interval in docs
371741
371742       · PR #32254: (twangboy) Fix Display Name with spaces in  win_serverman‐
371743         ager @ 2016-03-31 14:38:22 UTC
371744
371745         · 8c68d8ac41 Merge pull request #32254 from twangboy/fix_31334
371746
371747         · e5f02c52be Fix a pylint error
371748
371749         · 5ca4ad6675 Fix unit tests for state
371750
371751         · 12d530f8f0 Fix win_servermanager state
371752
371753         · b26cb76abb Fix unit tests
371754
371755         · 1d5bcee390 Fix 31344
371756
371757       · PR #32248: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
371758         2016-03-30 21:10:01 UTC
371759
371760         · 0f5e67de5d Merge pull request #32248 from rallytime/merge-2015.8
371761
371762         · d743f8cc4e Merge branch '2015.5' into '2015.8'
371763
371764           · 5d08db7c92 Merge pull request #32162 from terminalmage/issue31963
371765
371766             · 5c1bdb812c Fix pkgrepo integration test
371767
371768             · e7fb3095ce   Properly   handle   yum/zypper   repositories   in
371769               pkgrepo.managed
371770
371771             · add2111fec Use six.iteritems instead of dict.items
371772
371773             · 6c21881c38 Docstring tweaks
371774
371775             · ecbb78b649 Remove useless function
371776
371777             · 06f3309552 Normalize variable naming to match other functions
371778
371779             · 690537ca8b  Look  for  apt-add-repository  in  PATH  instead of
371780               assuming it's there
371781
371782             · 709d80bb1b aptpkg:  Accept  **kwargs  instead  of  a  dict  for
371783               pkg.expand_repo_def
371784
371785           · 4fcdaab428 Merge pull request #32223 from twangboy/fix_31976
371786
371787             · b7fcae97ce Create minion.d directory, fixes #31976
371788
371789           · 3309ff6a29 Merge pull request #32218 from cachedout/issue_31501
371790
371791             · 6795d6aef0 Only display error when tty is True in salt-ssh
371792
371793           · 6e0cb22c96   Merge   pull   request   #32196   from   jtand/cher‐
371794             rypy_pam_test_lint_fix
371795
371796             · bd3942e0fd Fixed pylint error in app_pam_test.py
371797
371798       · ISSUE #32169: (sknutsonsf) CommandNotFoundError:  update-rc.d  during
371799         service.enabled on Centos 7 (refs: #32230)
371800
371801       · PR  #32230:  (terminalmage)  systemd.py: Support both update-rc.d and
371802         chkconfig as managers of sysv services @ 2016-03-30 21:09:43 UTC
371803
371804         · 6216c37885 Merge pull request #32230 from terminalmage/issue32169
371805
371806         · 45af3e902a systemd.py: Support both update-rc.d  and  chkconfig  as
371807           managers of sysv services
371808
371809       · PR #32249: (jacobhammons) Fixes windows download paths to account for
371810         patch @ 2016-03-30 20:26:53 UTC
371811
371812         · bde2a1fc98 Merge pull request #32249 from jacobhammons/dot8
371813
371814         · 50d1df2482 Fixes windows download paths to account for patch
371815
371816       · PR #32221: (dmurphy18) Fix version check, fix  extracting  Major  and
371817         Minor versions from __ver… @ 2016-03-30 14:50:31 UTC
371818
371819         · 1d9321d043   Merge  pull  request  #32221  from  dmurphy18/fix_ver‐
371820           sion_check
371821
371822         · 96cf024e63 Fix version check, fix extracting Major and  Minor  ver‐
371823           sions from __version__
371824
371825       · ISSUE  #32031:  (travispaul)  Unable  to manage Windows services that
371826         contain a space in the service name (refs: #32227)
371827
371828       · PR #32227: (twangboy) Remove list2cmdline usage from win_service.py @
371829         2016-03-30 14:43:17 UTC
371830
371831         · 22bd1e6b29 Merge pull request #32227 from twangboy/fix_32031
371832
371833         · 58772b036d Remove list2cmdline usage
371834
371835       · PR  #32239:  (anlutro)  Add  state  file  name  to warning log line @
371836         2016-03-30 14:37:54 UTC
371837
371838         · 7fce438b67 Merge pull request #32239 from  alprs/fix-file_log_warn‐
371839           ing
371840
371841         · 72adae3702 add state file name to log line
371842
371843       · ISSUE  #31365:  (cwicklein) osrelease_info broken for CentOS 7 (refs:
371844         #32215)
371845
371846       · PR #32215: (DmitryKuzmenko) rhel oscodename @ 2016-03-29 19:14:50 UTC
371847
371848         · 3c3028f347    Merge    pull    request    #32215    from    DSRCom‐
371849           pany/issues/rhel_oscodename
371850
371851         · dc2a3b81ac Ignore lsb codename from os-release for newest RHEL
371852
371853       · PR  #32217:  (jacobhammons)  2015.8.8.2  release  notes  @ 2016-03-29
371854         17:53:22 UTC
371855
371856         · bf59f06733 Merge pull request #32217 from jacobhammons/dot8
371857
371858         · 596444e2b4 2015.8.8.2 release notes  Adds  banner  notifiying  user
371859           when they are viewing release notes for an old release
371860
371861       · ISSUE #31844: (Talkless) slspath is not documented (refs: #32197)
371862
371863       · PR  #32212:  (rallytime)  Back-port  #32197  to  2015.8  @ 2016-03-29
371864         15:50:58 UTC
371865
371866         · PR #32197:  (twellspring)  documentation  fix  issue  31844  (refs:
371867           #32212)
371868
371869         · ab8b70d985 Merge pull request #32212 from rallytime/bp-32197
371870
371871         · 5fdd81ace9 documentation fix issue 31844
371872
371873       · ISSUE  #31931:  (gravyboat) Ordering States documentation should note
371874         top.sls adheres to this rule (refs: #32193)
371875
371876       · PR #32211:  (rallytime)  Back-port  #32210  to  2015.8  @  2016-03-29
371877         15:50:42 UTC
371878
371879         · PR #32210: (rallytime) Merge #32193 with pylint fix (refs: #32211)
371880
371881         · PR  #32193:  (twellspring)  Documentation  fix 31931 (refs: #32210,
371882           #32211)
371883
371884         · 200d82cc3e Merge pull request #32211 from rallytime/bp-32210
371885
371886         · 7b9c05487c Whitespace fix.
371887
371888         · abd432746c documentation-fix-31931
371889
371890         · 79086f8f04 service.py documentation update for 32084
371891
371892       · ISSUE #32084: (guettli)  Docs:  Please  provide  a  link  from  "ser‐
371893         vice.running" to "watch" (refs: #32192)
371894
371895       · PR  #32209:  (rallytime)  Back-port  #32208  to  2015.8  @ 2016-03-29
371896         15:50:27 UTC
371897
371898         · PR #32208: (rallytime) Merge #32192 with pylint fix (refs: #32209)
371899
371900         · PR #32192: (twellspring) service.py documentation update for  32084
371901           (refs: #32208, #32209)
371902
371903         · 32da8d4c57 Merge pull request #32209 from rallytime/bp-32208
371904
371905         · 777a2c4e83 Whitespace fix.
371906
371907         · e3db0640ec service.py documentation update for 32084
371908
371909       · ISSUE  #31595:  (dverbeek84)  dockerng  ports specified in Dockerfile
371910         must be in sls file otherwise salt gives an error (refs: #32204)
371911
371912       · PR #32204: (ticosax) [dockerng] Consider labels carried by the  image
371913         when comparing user defined labels.  @ 2016-03-29 14:39:22 UTC
371914
371915         · 7154104591 Merge pull request #32204 from ticosax/label-from-image
371916
371917         · c989ae5a7e Merge user defined labels with one carried by the image
371918
371919       · PR  #32186: (rallytime) Add some "best practices" information to test
371920         documentation @ 2016-03-29 00:22:48 UTC
371921
371922         · 5877a19f59 Merge pull request #32186 from rallytime/testing-docs
371923
371924         · 40d09c822e Add some "best practices" information to test documenta‐
371925           tion
371926
371927       · PR #32176: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
371928         2016-03-28 23:16:09 UTC
371929
371930         · b44adffc12 Merge pull request #32176 from rallytime/merge-2015.8
371931
371932         · e8658697a6 Pylint fix for integration import
371933
371934         · 527bc3e491 Pylint fix
371935
371936         · e9abd2d420 Merge branch '2015.5' into '2015.8'
371937
371938         · 6b8b8b51c0 Merge pull request #32154 from Ch3LL/ch3ll_pam_2015.5
371939
371940           · ba605b0128 fix more pylint and  add  ability  to  close  cherrypy
371941             engine
371942
371943           · 2d4dc4da05 add teardown call
371944
371945           · d115878714 fix pylint error
371946
371947           · 4c1ab082b6 add pam salt-api tests
371948
371949         · 230443be6c Merge pull request #32170 from gtmanfred/lxc_cloud_name
371950
371951           · eb7d82e7be add name for lxc for use with cloud cache
371952
371953         · 32b0421a34    Merge    pull    request    #32164   from   terminal‐
371954           mage/issue31731-2015.5
371955
371956           · 18439c4f89 Make __virtual__ for rhservice.py more robust  (2015.5
371957             branch)
371958
371959         · 6212e9aa56 Merge pull request #32141 from paclat/issue_32108
371960
371961           · 72c5d12d43 fixes 32108
371962
371963       · ISSUE #27605: (jmcook1) nacl module documentation/possible bug (refs:
371964         #32163)
371965
371966       · PR #32163: (rallytime) Update  nacl.config  docs  to  use  key  value
371967         instead of 'None' @ 2016-03-28 14:46:40 UTC
371968
371969         · 1afb048801 Merge pull request #32163 from rallytime/fix-27605
371970
371971         · e2d09f57dc  Update  nacl.config  docs  to  use key value instead of
371972           'None'
371973
371974       · PR #32166: (vutny) salt.states.file: correct examples with  multiline
371975         YAML string @ 2016-03-28 14:45:32 UTC
371976
371977         · c08ba3f8a9   Merge   pull   request  #32166  from  vutny/fix-multi‐
371978           line-yaml-string-example
371979
371980         · 34aaea93b4 Another indentation fix in salt.states.alternatives
371981
371982         · 85d0576583 salt.states.file: correct examples with  multiline  YAML
371983           string
371984
371985       · PR #32168: (rallytime) Lint 2015.8 @ 2016-03-27 18:26:50 UTC
371986
371987         · f2e986cf65 Merge pull request #32168 from rallytime/lint-2015.8
371988
371989         · ba6b19d72c Lint 2015.8
371990
371991       · ISSUE  #31731:  (sjorge) rh_service references osrelease before it is
371992         available, also does not return bool (refs: #32165)
371993
371994       · PR #32165: (terminalmage)  Make  __virtual__  for  rhservice.py  more
371995         robust (refs: #32164) @ 2016-03-27 18:21:16 UTC
371996
371997         · PR  #32164:  (terminalmage)  Make __virtual__ for rhservice.py more
371998           robust (2015.5 branch) (refs: #32165)
371999
372000         · ae472617af Merge pull request #32165 from terminalmage/issue31731
372001
372002         · 559eb7da52 Make __virtual__ for rhservice.py more robust
372003
372004       · ISSUE #31944: (Inveracity) traceback in _determine_beacon_config(...)
372005         in beacon/__init__.py line 105 (refs: #32160)
372006
372007       · PR #32160: (cachedout) Fix beacon tutorial docs @ 2016-03-25 22:32:51
372008         UTC
372009
372010         · 63c8bf3542 Merge pull request #32160 from cachedout/issue_31944
372011
372012         · 104ada5b6f Fix beacon tutorial docs
372013
372014       · PR #32145: (paclat) fixes 29817 (refs: #32332) @ 2016-03-25  16:55:47
372015         UTC
372016
372017         · bff94a5160 Merge pull request #32145 from paclat/issue_29817
372018
372019         · 5d970ca031 fixes 29817
372020
372021       · PR #32133: (basepi) Pass eauth user/groups through salt-api to desti‐
372022         nation functions @ 2016-03-25 16:49:46 UTC
372023
372024         · 245249d347      Merge      pull      request      #32133       from
372025           basepi/api_user_passthrough
372026
372027         · 41ba309839 Change the kwarg names to be more specific
372028
372029         · 40f7e596d8  Pass  eauth user/groups through salt-api to destination
372030           functions
372031
372032       · PR #32127: (rallytime) Add runners  to  __salt__  docs  @  2016-03-25
372033         15:54:02 UTC
372034
372035         · a09aa18036 Merge pull request #32127 from rallytime/dunder-docs
372036
372037         · 482690ef33  Add note to docs about __salt__ referencing runner mod‐
372038           ules
372039
372040         · a11d2e413a Add runners to __salt__ docs
372041
372042       · ISSUE #30183: (jakehilton)  Minion  startup  extremely  delayed  when
372043         first  master  in  failover multi master setup is down (refs: #31364,
372044         #31382, #32143)
372045
372046       · PR #32143: (DmitryKuzmenko) Set auth retry count to 0 if  multimaster
372047         mode is failover.  @ 2016-03-25 15:23:09 UTC
372048
372049         · PR  #31382: (DmitryKuzmenko) Set auth retry count to 0 if multimas‐
372050           ter mode is failover (refs: #32143)
372051
372052         · cc224b877a    Merge    pull    request    #32143    from    DSRCom‐
372053           pany/issues/30183_failover_fix
372054
372055         · 93d34a2573  Set  auth  retry  count  to  0  if  multimaster mode is
372056           failover.
372057
372058       · PR #32134: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
372059         2016-03-25 15:22:08 UTC
372060
372061         · 0679a61871 Merge pull request #32134 from rallytime/merge-2015.8
372062
372063         · 6886681410 Fix test failures
372064
372065         · 7554d0f42d Merge branch '2015.5' into '2015.8'
372066
372067           · bdd7ea89d5 Merge pull request #32129 from terminalmage/issue32044
372068
372069             · 34ca1ea12e Change type check errors to debug loglevel
372070
372071             · 5462081488  Support multiple valid option types when performing
372072               type checks
372073
372074           · c42014eb54   Merge   pull   request    #32056    from    bsteven‐
372075             son/fix-list_absent
372076
372077             · 1500aae027 set deleted value to list
372078
372079             · 1dc8f5f289 unit test update
372080
372081             · 39adf86fec Fixed negation logic
372082
372083             · be9388173b Removed has_key in lieu of in
372084
372085             · e48593ed81 Comments and Changes output fixes
372086
372087             · b98f5517de Updated to conform to proper ret values
372088
372089             · d18b4be80b remove whitespace end of line 186:q
372090
372091             · d2b89c85ad fix formating
372092
372093             · 103cee9e29 cleaned up formating
372094
372095             · 7a4d7f0bff added whitespace
372096
372097             · 8ea5b545b0 Loop through list values in list_absent
372098
372099           · 848ce5647f Merge pull request #32096 from rallytime/bp-32065
372100
372101             · 36a9d6a374 Fix an issue with the minion targeting example
372102
372103           · 9b332d48b9 Merge pull request #32104 from jacobhammons/dot10
372104
372105             · b9fc882a1e  One  additional  known  issue for 2015.5.10 release
372106               notes
372107
372108           · ff51d548e1 Merge pull request #32100 from jacobhammons/dot10
372109
372110             · 544a1661ce 2015.5.10 release docs
372111
372112           · 72a20f9799 Merge pull request #32038 from terminalmage/issue32037
372113
372114             · 8b2d983324 Add reference to state tutorial to state.apply  doc‐
372115               string
372116
372117             · 9b4fe8443e  Move  highstate usage details to top of state.apply
372118               docstring
372119
372120             · 74ee8c54bc Clarify prior  role  of  state.highstate  in  states
372121               tutorial
372122
372123             · 1b97e4a3df  Improve  state  module  docs, replace references to
372124               state.highstate/state.sls with state.apply
372125
372126       · ISSUE #26129: (GreatSnoopy) salt yumpkg implementation painfully slow
372127         in some circumstances (refs: #32091)
372128
372129       · PR   #32091:   (clarkperkins)  Fixed  the  regression  in  410da78  @
372130         2016-03-25 14:53:08 UTC
372131
372132         · ad924226ca  Merge  pull  request  #32091   from   clarkperkins/bug‐
372133           fix/yumpkg-repoquery
372134
372135         · d2119ea608 Added comment so this issue doesn't regress again
372136
372137         · 1455fab9e3 Fixed the regression in 410da78
372138
372139       · ISSUE  #32044:  (ScoreUnder) Multiple masters throwing warnings? "Key
372140         master with value [...] has  an  invalid  type  of  list,  a  str  is
372141         required for this value" (refs: #32129)
372142
372143       · PR  #32135:  (rallytime) [2015.8] Support multiple valid option types
372144         when performing type checks @ 2016-03-24 22:42:28 UTC
372145
372146         · PR #32129: (terminalmage) Support multiple valid option types  when
372147           performing type checks (refs: #32135, #32284)
372148
372149         · b84908d51f Merge pull request #32135 from rallytime/32129-to-2915.8
372150
372151         · 7d43bdd721 Change type check errors to debug loglevel
372152
372153         · ed5abf4381 Support multiple valid option types when performing type
372154           checks
372155
372156       · PR #31760: (sakateka) SMinion need wait  future  from  eval_master  @
372157         2016-03-24 22:08:56 UTC
372158
372159         · b23a08f3f4   Merge   pull  request  #31760  from  sakateka/fix_mas‐
372160           ter_switch
372161
372162         · 3d7874029a Run self.eval_master in self.io_loop.run_sync
372163
372164         · 3b4425652b SMinion need wait future from eval_master
372165
372166       · PR #32106: (jfindlay) update suse master service patch  @  2016-03-24
372167         21:34:01 UTC
372168
372169         · 5efe37ddc8 Merge pull request #32106 from jfindlay/suse_patch
372170
372171         · 8de84b4251 update suse master service patch
372172
372173       · PR  #32130:  (jacobhammons)  Added  known  issues  32004 and 32044 to
372174         2015.8.8 release notes @ 2016-03-24 19:59:41 UTC
372175
372176         · 939c1b17d5 Merge pull request #32130 from jacobhammons/dot8
372177
372178         · 21eee08842 Added known issues 32004 and 32044 to  2015.8.8  release
372179           notes
372180
372181       · PR  #32105: (clarkperkins) Fixed invalid deploy_scripts_search_path @
372182         2016-03-24 17:36:27 UTC
372183
372184         · 2d8abf4717  Merge  pull  request  #32105   from   clarkperkins/bug‐
372185           fix/invalid-deploy-script-path
372186
372187         · 5a9f4e947e Fixed invalid deploy_scripts_search_path
372188
372189       · ISSUE  #32114: (tomlaredo) Wrong validation type for file_ignore_glob
372190         key (refs: #32117)
372191
372192       · PR #32117: (tomlaredo) Fixed validation type for  file_ignore_glob  @
372193         2016-03-24 17:28:22 UTC
372194
372195         · fe4112d7f9 Merge pull request #32117 from rodacom/fix_32114
372196
372197         · c6f83ba00b Fixed validation type for file_ignore_glob Fixes #32114
372198
372199       · PR  #32113: (sakateka) Fix log message for AsyncAuth initialization @
372200         2016-03-24 17:27:04 UTC
372201
372202         · 93d86d249c Merge pull request #32113 from sakateka/correct_log_mes‐
372203           sage
372204
372205         · 71148d77ab Fix log message for AsyncAuth initialization
372206
372207       · ISSUE  #32033:  (timcharper) SaltStack modules.dockerng _compare does
372208         not handle docker implicit Domainname properly (issue when using net‐
372209         work_mode: host) (refs: #32116, #32432)
372210
372211       · PR  #32116:  (ticosax)  Obtain  default value of memory_swap from the
372212         container.  @ 2016-03-24 15:56:54 UTC
372213
372214         · 294177f428   Merge   pull   request   #32116   from    ticosax/mem‐
372215           ory_swap-default-from-container
372216
372217         · fe439db4d3 Obtain default value of memory_swap from the container.
372218
372219       · PR  #32098:  (rallytime)  Back-port  #32083  to  2015.8  @ 2016-03-23
372220         21:49:01 UTC
372221
372222         · PR #32083: (guettli) "Fire Event Notifications" moved  down  (refs:
372223           #32098)
372224
372225         · d5bb8f6372 Merge pull request #32098 from rallytime/bp-32083
372226
372227         · 4a3a6629ce "Fire Event Notifications" moved down
372228
372229       · PR #32099: (jacobhammons) 2015.8.8 release docs @ 2016-03-23 20:02:40
372230         UTC
372231
372232         · e45107ce96 Merge pull request #32099 from jacobhammons/dot8
372233
372234         · 8ec5d989ad 2015.8.8 release docs
372235
372236       · PR #32088: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
372237         2016-03-23 17:52:37 UTC
372238
372239         · 9e11f3aac5 Merge pull request #32088 from rallytime/merge-2015.8
372240
372241         · 59c3b7e82e Merge branch '2015.5' into '2015.8'
372242
372243         · 908a7bf5cd    Merge    pull    request    #32051   from   terminal‐
372244           mage/fix-state-apply-output
372245
372246           · 7d7cb45565 Fix outputter for state.apply
372247
372248         · 0e66f678d4  Merge  pull  request  #32002  from   abednarik/pkg_man‐
372249           jaron_issue31788
372250
372251           · 1b052d0a66  Added  Manajro  Linux  to virtual. List extended with
372252             ManajaroLinux in order su load pacman module.
372253
372254         · ba5bf62c1a Merge pull request #31957 from rallytime/merge-2015.5
372255
372256           · 1b6ec5d445 Merge branch '2014.7' into '2015.5'
372257
372258             · ba73deee46   Merge   pull   request    #31929    from    twang‐
372259               boy/fix_build_script
372260
372261             · 2c5599d2bc Backport build script from 2015.8
372262
372263             · ce74991dd0 Fix nsi script to work with new build process
372264
372265         · a52e3ad7a1 Merge pull request #31972 from terminalmage/zh-584
372266
372267           · 1e5639e495  Make  lack  of  python-ldap module more explicit when
372268             LDAP eauth is enabled
372269
372270       · PR #32074: (Xiami2012) Fix code for proto args in modules.iptables  @
372271         2016-03-23 16:37:58 UTC
372272
372273         · bc9a899bc8 Merge pull request #32074 from Xiami2012/fix_iptables
372274
372275         · aae3af7e49 Fix code for proto args in modules.iptables
372276
372277       · PR #32053: (basepi) [2015.8] Fix rabbitmq_user.present tag handling @
372278         2016-03-22 20:33:51 UTC
372279
372280         · 3e08dd0a93 Merge pull request #32053 from basepi/fix_rabbitmq
372281
372282         · 95c08f55e9 Tear out useless unit test
372283
372284         · bed048e1e7 Remove leftover arg (lint)
372285
372286         · 08868cb32a Fix tag handling code for rabbitmq_user.present
372287
372288         · 3b6d25b4e9 Remove leading whitespace on tags
372289
372290       · ISSUE #32004: (sjorge) win_dacl module  stacktrace:  NameError:  name
372291         'ntsecuritycon' is not defined (refs: #32023)
372292
372293       · PR  #32023: (sbreidba) Move constant declaration into member variable
372294         to avoid issues when m… @ 2016-03-21 20:18:23 UTC
372295
372296         · 553ecaca25 Merge pull request #32023 from sbreidba/bugfix_32004
372297
372298         · 711a0a9844 Move constant declaration into member variable to  avoid
372299           issues when modules can't be loaded.
372300
372301       · PR  #32026:  (techhat)  Don't  require the decode_out file to already
372302         exist @ 2016-03-21 20:17:05 UTC
372303
372304         · 65c634d197 Merge pull request #32026 from techhat/decodeout
372305
372306         · f27da41b71 Don't require the decode_out file to already exist
372307
372308       · PR #32019:  (rallytime)  Back-port  #32012  to  2015.8  @  2016-03-21
372309         15:54:31 UTC
372310
372311         · PR  #32012: (jfray) There were two identical blocks concerning Win‐
372312           dows Deploy Timeouts. This (refs: #32019)
372313
372314         · 1d4246bfd7 Merge pull request #32019 from rallytime/bp-32012
372315
372316         · 26eee1505f There  were  two  identical  blocks  concerning  Windows
372317           Deploy Timeouts. This pull request removes the extra block of text.
372318
372319       · ISSUE  #32013:  (timcharper)  SaltStack  dockerng.running state ports
372320         configuration responding to Docker's injection of UDP  params  (refs:
372321         #32015)
372322
372323       · PR #32015: (ticosax) [dockerng] Fix ports exposition when protocol is
372324         passed.  @ 2016-03-21 15:22:19 UTC
372325
372326         · d117db3efb Merge pull request #32015 from ticosax/fix-port-compari‐
372327           son-udp
372328
372329         · e511864a55 Fix ports exposition when protocol is passed.
372330
372331       · PR #31999: (jacobhammons) Fixes a doc build exception caused by miss‐
372332         ing mocks for modules.win_dacl @ 2016-03-19 15:49:40 UTC
372333
372334         · c72ab6a073 Merge pull request  #31999  from  jacobhammons/mock-mod‐
372335           ules2
372336
372337         · 31bb573abc  Fixes a doc build exception caused by missing mocks for
372338           modules.win_dacl
372339
372340       · PR #31992: (notpeter) salt-cloud: add D2 and G2 EC2 instance types  @
372341         2016-03-18 21:37:21 UTC
372342
372343         · 398ab909f0 Merge pull request #31992 from notpeter/2015.8
372344
372345         · e3854c8569 D2 and G2 EC2 instance types.
372346
372347       · PR  #31981:  (lloydoliver)  include  rotational disks in grains under
372348         linux @ 2016-03-18 15:54:00 UTC
372349
372350         · ad8ada7eef    Merge    pull    request    #31981    from    lloydo‐
372351           liver/linux-disk-grain-fix
372352
372353         · 9c44604438 include rotational disks in grains under linux
372354
372355       · PR  #31970:  (twangboy)  Add apply_template_on_contents for windows @
372356         2016-03-18 15:37:29 UTC
372357
372358         · 9be508e8f0 Merge pull request #31970 from twangboy/fix_win_file
372359
372360         · dfeae191c1 Add apply_template_on_contents for windows
372361
372362       · PR #31960: (aletourneau) fixed ec2  get_console_output  @  2016-03-18
372363         15:13:48 UTC
372364
372365         · 810c6dbcbe     Merge     pull     request    #31960    from    ale‐
372366           tourneau/2015.8_ec2-getconsoleoutput
372367
372368         · 8305978879 fixed ec2 get_console_output
372369
372370       · PR #31958: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
372371         2016-03-18 15:12:44 UTC
372372
372373         · 1c7dc364ad Merge pull request #31958 from rallytime/merge-2015.8
372374
372375       · PR  #31935:  (twangboy) Back port nullsoft build script from 2015.8 @
372376         2016-03-17 14:54:50 UTC
372377
372378         · 2d1f2a0c2e    Merge    pull    request    #31935    from     twang‐
372379           boy/fix_build_script2
372380
372381         · 4af8c9dbfc Back port nullsoft build script from 2015.8
372382
372383       · PR  #31912:  (jfindlay)  log.mixins: remove extermporaneous .record @
372384         2016-03-16 01:56:46 UTC
372385
372386         · 43240dc566 Merge pull request #31912 from jfindlay/log_mixin
372387
372388         · 9f9c694654 log.mixins: remove extermporaneous .record
372389
372390   Salt 2015.5.0 Release Notes - Codename Lithium
372391       The 2015.5.0 feature release of Salt is focused on hardening  Salt  and
372392       mostly  on  improving  existing  systems.  A  few  major  additions are
372393       present, primarily the new Beacon system. Most enhancements  have  been
372394       focused around improving existing features and interfaces.
372395
372396       As usual the release notes are not exhaustive and primarily include the
372397       most notable additions and improvements. Hundreds  of  bugs  have  been
372398       fixed and many modules have been substantially updated and added.
372399
372400       WARNING:
372401          In  order  to  fix potential shell injection vulnerabilities in salt
372402          modules, a change has been made to the various cmd module functions.
372403          These  functions now default to python_shell=False, which means that
372404          the commands will not be sent to an actual shell.
372405
372406          The largest side effect of this change is that "shellisms", such  as
372407          pipes,  will not work by default. The modules shipped with salt have
372408          been audited to fix any issues that  might  have  arisen  from  this
372409          change.  Additionally, the cmd state module has been unaffected, and
372410          use of cmd.run in jinja is also unaffected. cmd.run calls on the CLI
372411          will also allow shellisms.
372412
372413          However,  custom  execution modules which use shellisms in cmd calls
372414          will break, unless you pass python_shell=True to these calls.
372415
372416          As a temporary workaround, you can set cmd_safe: False in your  min‐
372417          ion  and  master  configs. This will revert the default, but is also
372418          less secure, as it will allow shell injection vulnerabilities to  be
372419          written  in  custom code. We recommend you only set this setting for
372420          as long as it takes to resolve these issues  in  your  custom  code,
372421          then remove the override.
372422
372423       NOTE:
372424          Starting  in  this  version  of  salt, pillar_opts defaults to False
372425          instead of True. This means that master opts will not be present  in
372426          minion  pillar,  and  as a result, config.get calls will not include
372427          master opts.
372428
372429          We recommend pillar is used for configuration options which need  to
372430          make it to the minion.
372431
372432   Beacons
372433       The  beacon  system allows the minion to hook into system processes and
372434       continually translate external events into the salt event bus. The pri‐
372435       mary example of this is the inotify beacon. This beacon uses inotify to
372436       watch configured files or directories on the minion for  changes,  cre‐
372437       ation, deletion etc.
372438
372439       This allows for the changes to be sent up to the master where the reac‐
372440       tor can respond to changes.
372441
372442   Sudo Minion Settings
372443       It is now possible to run the minion as a non-root  user  and  for  the
372444       minion  to execute commands via sudo. Simply add sudo_user: root to the
372445       minion config, run the minion as a non-root user and  grant  that  user
372446       sudo rights to execute salt-call.
372447
372448   Lazy Loader
372449       The  Lazy Loader is a significant overhaul of Salt's module loader sys‐
372450       tem. The Lazy Loader will lazily load modules on access instead of  all
372451       on  start.  In addition to a major performance improvement, this "sand‐
372452       boxes" modules so a bad/broken import of  a  single  module  will  only
372453       affect jobs that require accessing the broken module. (:issue: 20274)
372454
372455   Enhanced Active Directory Support
372456       The eauth system for LDAP has been extended to support Microsoft Active
372457       Directory out of the box. This includes Active Directory and LDAP group
372458       support for eauth.
372459
372460   Salt LXC Enhancements
372461       The  LXC  systems have been overhauled to be more consistent and to fix
372462       many bugs.
372463
372464       This overhaul makes using LXC with Salt much easier  and  substantially
372465       improves the underlying capabilities of Salt's LXC integration.
372466
372467   Salt SSH
372468       · Additional  configuration  options  and  command line flags have been
372469         added to configure the scan roster on the fly
372470
372471       · Added support for state.single in salt-ssh
372472
372473       · Added  support  for  publish.publish,  publish.full_data,  and   pub‐
372474         lish.runner in salt-ssh
372475
372476       · Added support for mine.get in salt-ssh
372477
372478   New Windows Installer
372479       The  new  Windows  installer  changes how Salt is installed on Windows.
372480       The old installer used bbfreeze to create an isolated  python  environ‐
372481       ment  to execute in. This made adding modules and python libraries dif‐
372482       ficult. The new installer sets up a more  flexible  python  environment
372483       making it easy to manage the python install and add python modules.
372484
372485       Instead of frozen packages, a full python implementation resides in the
372486       bin directory (C:\salt\bin). By  executing  pip  or  easy_install  from
372487       within  the Scripts directory (C:\salt\bin\Scripts) you can install any
372488       additional python modules you may need for your custom environment.
372489
372490       The .exe's that  once  resided  at  the  root  of  the  salt  directory
372491       (C:\salt) have been replaced by .bat files and should function the same
372492       way as the .exe's in previous versions.
372493
372494       The new Windows Installer will not replace the minion config  file  and
372495       key  if  they already exist on the target system. Only the salt program
372496       files will  be  replaced.  C:\salt\conf  and  C:\salt\var  will  remain
372497       unchanged.
372498
372499   Removed Requests Dependency
372500       The  hard dependency on the requests library has been removed. Requests
372501       is still required by a  number  of  cloud  modules  but  is  no  longer
372502       required for normal Salt operations.
372503
372504       This  removal  fixes  issues  that  were  introduced  with requests and
372505       salt-ssh, as well as issues users experienced from the  many  different
372506       packaging methods used by requests package maintainers.
372507
372508   Python 3 Updates
372509       While  Salt does not YET run on Python 3 it has been updated to INSTALL
372510       on Python 3, taking us one step closer. What  remains  is  getting  the
372511       test  suite  to  the  point where it can run on Python 3 so that we can
372512       verify compatibility.
372513
372514   RAET Additions
372515       The RAET support continues to improve. RAET now  supports  multi-master
372516       and  many  bugs  and  performance  issues have been fixed. RAET is much
372517       closer to being a first class citizen.
372518
372519   Modified File Detection
372520       A number of functions have been added to the RPM-based package managers
372521       to  detect  and  diff files that are modified from the original package
372522       installs.  This can be found in the new pkg.modified functions.
372523
372524   Reactor Update
372525       Fix an infinite recursion problem  for  runner/wheel  reactor  jobs  by
372526       passing  a  "user"  (Reactor)  to all jobs that the reactor starts. The
372527       reactor skips all events created  by  that  username  --  thereby  only
372528       reacting  to  events  not caused by itself. Because of this, runner and
372529       wheel executions from the runner will have user "Reactor"  in  the  job
372530       cache.
372531
372532   Misc Fixes/Additions
372533       · SDB driver for etcd. (:issue: 22043)
372534
372535       · Add  only_upgrade argument to apt-based pkg.install to only install a
372536         package version if the package is already installed. (Great for secu‐
372537         rity updates!)
372538
372539       · Joyent now requires a keyname to be specified in the provider config‐
372540         uration. This change was necessitated upstream by the 7.0+ API.
372541
372542       · Add args argument to cmd.script_retcode to match  cmd.script  in  the
372543         cmd module. (:issue: 21122)
372544
372545       · Fixed  bug  where  TCP  keepalive  was  not being sent on the defined
372546         interval on the return port (4506) from minion  to  master.  (:issue:
372547         21465)
372548
372549       · LocalClient  may  now optionally raise SaltClientError exceptions. If
372550         using this class directly, checking for and handling  this  exception
372551         is recommended.  (:issue: 21501)
372552
372553       · The  SAuth object is now a singleton, meaning authentication state is
372554         global (per master) on each minion. This reduces sign-ins of  minions
372555         from 3->1 per startup.
372556
372557       · Nested outputter has been optimized, it is now much faster.
372558
372559       · Extensive fileserver backend updates.
372560
372561   Deprecations
372562       · Removed parameter keyword argument from eselect.exec_action execution
372563         module.
372564
372565       · Removed runas parameter from  the  following  pip`  execution  module
372566         functions:   install,   uninstall,   freeze,   list_,  list_upgrades,
372567         upgrade_available, upgrade. Please migrate to user.
372568
372569       · Removed runas parameter from the following  pip  state  module  func‐
372570         tions: installed, removed, uptodate . Please migrate to user.
372571
372572       · Removed  quiet  option from all functions in cmdmod execution module.
372573         Please use output_loglevel=quiet instead.
372574
372575       · Removed parameter argument from eselect.set_ state. Please migrate to
372576         module_parameter or action_parameter.
372577
372578       · The  salt_events  table  schema  has changed to include an additional
372579         field called master_id to distinguish between events flowing  into  a
372580         database  from  multiple  masters.  If event_return is enabled in the
372581         master config, the database schema must first be updated to  add  the
372582         master_id field.  This alteration can be accomplished as follows:
372583            ALTER TABLE salt_events ADD master_id VARCHAR(255) NOT NULL;
372584
372585   Known Issues
372586       · In multi-master mode, a minion may become temporarily unresponsive if
372587         modules or pillars are refreshed at the same time that  one  or  more
372588         masters  are  down.  This can be worked around by setting 'auth_time‐
372589         out' and 'auth_tries' down to shorter periods.
372590
372591   Salt 2015.5.1 Release Notes
372592       release
372593              2015-05-20
372594
372595       Version 2015.5.1 is a bugfix release for 2015.5.0.
372596
372597   Statistics
372598       · Total Merges: 203
372599
372600       · Total Issue References: 30
372601
372602       · Total PR References: 177
372603
372604       · Contributors:  49   (Arabus,   Lothiraldan,   Snergster,   TaiSHiNet,
372605         The-Loeki,  UtahDave,  aboe76, ahus1, basepi, bastiaanb, bradthurber,
372606         cachedout, cellscape, corywright, cro, dennisjac, dmyerscough, galet,
372607         garethgreenaway,    gladiatr72,   gtmanfred,   iggy,   ionutbalutoiu,
372608         jacobhammons,  jayeshka,   jfindlay,   joejulian,   jpic,   justinta,
372609         kaidokert,  kaithar,  kiorky,  lisa2lisa,  msciciel, nleib, notpeter,
372610         optix2000, rahulhan, rallytime, rubic, ryan-lane, s0undt3ch, slinu3d,
372611         steverweber, techhat, terminalmage, ticosax, twangboy, whiteinge)
372612
372613   Cloud Runner Changes
372614       The fun argument to the cloud.action runner has changed to func. Please
372615       update any calls to this runner.
372616
372617   Changelog for v2015.5.0..v2015.5.1
372618       Generated at: 2018-05-27 20:58:00 UTC
372619
372620       · PR #23998: (rallytime) Update release note for 2015.5.1 @  2015-05-20
372621         20:58:55 UTC
372622
372623         · 2422760ebd Merge pull request #23998 from rallytime/release_notes
372624
372625         · 113c6049f5 Update release note for 2015.5.1
372626
372627       · PR  #23989:  (rallytime)  Backport  #23980  to  2015.5  @  2015-05-20
372628         19:33:41 UTC
372629
372630         · PR #23980: (iggy) template: jinja2 -> jinja (refs: #23989)
372631
372632         · 117ecb1fe0 Merge pull request #23989 from rallytime/bp-23980
372633
372634         · 8f8557c47d template: jinja2 -> jinja
372635
372636       · PR  #23988:  (rallytime)  Backport  #23977  to  2015.5  @  2015-05-20
372637         19:13:36 UTC
372638
372639         · PR #23977: (ionutbalutoiu) Fixed glance image_create (refs: #23988)
372640
372641         · d4f1ba02d7 Merge pull request #23988 from rallytime/bp-23977
372642
372643         · 46fc7c6b69 Fixed glance image_create
372644
372645       · PR  #23986:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
372646         2015-05-20 18:41:33 UTC
372647
372648         · 9566e7d412  Merge  pull  request  #23986   from   basepi/merge-for‐
372649           ward-2015.5
372650
372651         · 0b78156592  Merge  remote-tracking  branch  'upstream/2014.7'  into
372652           merge-forward-2015.5
372653
372654           · 314e4db512   Merge   pull   request   #23965    from    hvnsweet‐
372655             ing/20147-fix-gitfs-gitpython-exception
372656
372657             · 2576301631 handle all exception gitpython can raise
372658
372659       · PR #23985: (UtahDave) Add 2014.7.5-2 and 2015.5.0-2 Windows installer
372660         download links @ 2015-05-20 18:32:44 UTC
372661
372662         · 9d1130ef8e Merge pull request #23985 from UtahDave/2015.5local
372663
372664         · 10338d0c54 Add links to Windows 2015.5.0-2 install downloads
372665
372666         · b84f9756c5 updated Windows 2014.7.5-2 installer download link
372667
372668       · PR  #23983:  (rallytime)  Versionadded  tags   for   https_user   and
372669         https_pass args new in 2015.5.0 @ 2015-05-20 18:05:27 UTC
372670
372671         · ca7729d023   Merge  pull  request  #23983  from  rallytime/version‐
372672           added_git_options
372673
372674         · 14eae22c91 Versionadded tags for https_user and https_pass args new
372675           in 2015.5.0
372676
372677       · PR  #23970:  (jayeshka)  adding  system  unit  test case @ 2015-05-20
372678         17:12:57 UTC
372679
372680         · b06df57e03 Merge pull request #23970 from jayeshka/system-unit-test
372681
372682         · 89eb00815e adding system unit test case
372683
372684       · PR #23967:  (jayeshka)  adding  states/memcached  unit  test  case  @
372685         2015-05-20 17:12:26 UTC
372686
372687         · 38d5f75756   Merge   pull   request   #23967   from   jayeshka/mem‐
372688           cached-states-unit-test
372689
372690         · 8ef9240e25 adding states/memcached unit test case
372691
372692       · PR #23966: (jayeshka) adding states/modjk unit test case @ 2015-05-20
372693         17:11:48 UTC
372694
372695         · 868e807d8a       Merge      pull      request      #23966      from
372696           jayeshka/modjk-states-unit-test
372697
372698         · 422a96497d adding states/modjk unit test case
372699
372700       · PR #23942: (jacobhammons) Updates to sphinx saltstack2  doc  theme  @
372701         2015-05-20 15:43:54 UTC
372702
372703         · 63164900bd Merge pull request #23942 from jacobhammons/2015.5
372704
372705         · 31023c8915 Updates to sphinx saltstack2 doc theme
372706
372707       · ISSUE #23872: (joejulian) create_ca_signed_cert can error if derefer‐
372708         enced dict is used for args (refs: #23874)
372709
372710       · PR #23874: (joejulian) Validate  keyword  arguments  to  be  valid  @
372711         2015-05-20 04:53:40 UTC
372712
372713         · 587957badc Merge pull request #23874 from joejulian/2015.5_tls_val‐
372714           idate_kwargs
372715
372716         · 30102acd04 Fix py3 and ordering inconsistency problems.
372717
372718         · 493f7ad5f0 Validate keyword arguments to be valid
372719
372720       · PR  #23960:  (rallytime)  Backport  #22114  to  2015.5  @  2015-05-20
372721         04:37:09 UTC
372722
372723         · PR  #22114:  (dmyerscough)  Fixing KeyError when there are no addi‐
372724           tional pages (refs: #23960)
372725
372726         · 00c5c22867 Merge pull request #23960 from rallytime/bp-22114
372727
372728         · f3e1d63fce Catch KeyError
372729
372730         · 306b1ea6b8 Fixing KeyError
372731
372732         · 6b2cda2861 Fix PEP8 complaint
372733
372734         · 239e50f30d Fixing KeyError when there are no additional pages
372735
372736       · PR  #23961:  (rallytime)  Backport  #23944  to  2015.5  @  2015-05-20
372737         04:35:41 UTC
372738
372739         · PR  #23944: (ryan-lane) Add missing loginclass argument to _changes
372740           call (refs: #23961)
372741
372742         · 4648b46e05 Merge pull request #23961 from rallytime/bp-23944
372743
372744         · 970d19a31e Add missing loginclass argument to _changes call
372745
372746       · PR #23948: (jfindlay) augeas.change state now returns  changes  as  a
372747         dict @ 2015-05-20 04:00:10 UTC
372748
372749         · 0cb5cd3938 Merge pull request #23948 from jfindlay/augeas_changes
372750
372751         · f09b80a8b5 augeas.change state now returns changes as a dict
372752
372753       · PR  #23957:  (rallytime)  Backport  #23951  to  2015.5  @  2015-05-20
372754         03:04:24 UTC
372755
372756         · PR #23951: (ryan-lane) Do not check perms in file.copy if  preserve
372757           (refs: #23957)
372758
372759         · 2d185f78f7 Merge pull request #23957 from rallytime/bp-23951
372760
372761         · 996b431252 Update file.py
372762
372763         · 85d461f748 Do not check perms in file.copy if preserve
372764
372765       · ISSUE #23839: (gladiatr72) wonky loader syndrome (refs: #23906)
372766
372767       · ISSUE   #23373:   (tnypex)   reactor/orchestrate  race  condition  on
372768         salt['pillar.get'] (refs: #23906)
372769
372770       · PR  #23956:  (rallytime)  Backport  #23906  to  2015.5  @  2015-05-20
372771         03:04:14 UTC
372772
372773         · PR  #23906:  (gladiatr72)  Added exception handler to trap the Run‐
372774           timeError raised when (refs: #23956)
372775
372776         · ebff1ff967 Merge pull request #23956 from rallytime/bp-23906
372777
372778         · 9d87fd335c add proper marker for format argument
372779
372780         · 197688ef0c Added exception handler to trap the RuntimeError  raised
372781           when  Depends.enforce_dependency()  class  method  fires unsuccess‐
372782           fully. There appears to be no synchronization  within  the  Depends
372783           decorator  class wrt the class global dependency_dict which results
372784           in incomplete population of any loader  instantiation  occuring  at
372785           the time of one of these exceptions.
372786
372787       · ISSUE  #19852:  (TaiSHiNet)  DigitalOcean APIv2 can't delete machines
372788         when there is only 1 page (refs: #23955)
372789
372790       · ISSUE #19304: (TaiSHiNet) DigitalOcean API v2 cannot  delete  VMs  on
372791         2nd page (refs: #19305)
372792
372793       · PR  #23955:  (rallytime)  Backport  #19305  to  2015.5  @  2015-05-20
372794         03:03:55 UTC
372795
372796         · PR #19305: (TaiSHiNet) Fixes droplet listing  past  page  1  (refs:
372797           #23955)
372798
372799         · da3f9197d3 Merge pull request #23955 from rallytime/bp-19305
372800
372801         · bbf2429bce Fixes droplet listing past page 1
372802
372803       · PR  #23940:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
372804         2015-05-19 22:37:58 UTC
372805
372806         · 02a78fce3d  Merge  pull  request  #23940   from   basepi/merge-for‐
372807           ward-2015.5
372808
372809         · 36f0065faf  Merge  remote-tracking  branch  'upstream/2014.7'  into
372810           merge-forward-2015.5
372811
372812           · 913391207a Merge pull request #23939 from basepi/v2014.7.6release
372813
372814             · 32b65dc2a9 Add extended changelog to 2014.7.6 release notes
372815
372816           · 0031ca2631  Merge   pull   request   #23881   from   garethgreen‐
372817             away/23820_2014_7_schedule_list_issue
372818
372819             · b207f2a433  Missing continue in the list function when deleting
372820               unused attributes.
372821
372822           · 63bd21ecd2 Merge pull request  #23887  from  basepi/salt-ssh.pil‐
372823             lar.get.22131
372824
372825             · bc84502f46 Bring salt-ssh pillar.get in line with mainline pil‐
372826               lar.get
372827
372828       · PR  #23932:  (rallytime)  Backport  #23908  to  2015.5  @  2015-05-19
372829         21:41:28 UTC
372830
372831         · PR #23908: (nleib) fix connection function to mongo (refs: #23932)
372832
372833         · ee4c01bf30 Merge pull request #23932 from rallytime/bp-23908
372834
372835         · 5d520c9377 fix connection function to mongo
372836
372837       · PR  #23931:  (rallytime)  Backport  #23880  to  2015.5  @  2015-05-19
372838         21:41:18 UTC
372839
372840         · PR #23880: (bastiaanb) if setting client_config_dir to '~',  expand
372841           path (refs: #23931)
372842
372843         · 70bd407920 Merge pull request #23931 from rallytime/bp-23880
372844
372845         · 8ce59a2e16 if setting client_config_dir to '~', expand path
372846
372847       · ISSUE  #23847: (kiorky) lxc: systemd containers cant be seeded (refs:
372848         #23806, #23898, #23897, #23808)
372849
372850       · ISSUE  #23833:  (kiorky)  lxc.set_dns  fails  intermittently   (refs:
372851         #23807, #23898, #23897, #23808)
372852
372853       · ISSUE  #23772:  (cheuschober)  lxc.init  fails to bootstrap container
372854         (refs: #23806, #23808, #23807, #23898, #23897)
372855
372856       · ISSUE #23658: (arthurlogilab) [salt-cloud  lxc]  too  verbose,  shows
372857         host: True multiple times when starting (refs: #23898, #23897)
372858
372859       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
372860         '__salt__' is not defined (refs: #23898, #23727, #23897)
372861
372862       · PR #23898: (kiorky) Lxc profiles (refs: #23897) @ 2015-05-19 21:08:28
372863         UTC
372864
372865         · PR #23897: (kiorky) Lxc seed and prof ports (refs: #23898)
372866
372867         · PR #23808: (kiorky) Lxc seed and prof ports (refs: #23807, #23897)
372868
372869         · PR #23807: (kiorky) Lxc profiles (refs: #23898)
372870
372871         · PR #23806: (kiorky) Lxc seeding (refs: #23807)
372872
372873         · 5bdbf0af9b Merge pull request #23898 from makinacorpus/lxc_profiles
372874
372875         · d9051a047a lxc: systemd support
372876
372877         · e8d674fed4 lxc: chroot fallback toggle
372878
372879         · e2887a0d44 lxc: sync func name with develop
372880
372881         · e96e345799 lxc more fixes (lxc.set_dns)
372882
372883         · fdb64245d4 lxc: Fix salt config (no more a kwarg)
372884
372885         · 63e63fa527 repair salt cloud lxc api on develop
372886
372887         · 80eabe2703 lxc salt cloud doc
372888
372889         · 73f229d966 lxc: unificate saltconfig/master/master_port
372890
372891         · 0bc1f08a6b lxc: refactor a bit saltcloud/lxc interface
372892
372893         · 7a80370da9 lxc: get networkprofile from saltcloud
372894
372895         · 47acb2e159 lxc: default net profile has now correct options
372896
372897         · 7eadf4863c lxc: select the appropriate default bridge
372898
372899       · ISSUE  #23900: (hashi825) salt ubuntu network building issue 2015.5.0
372900         (refs: #23922)
372901
372902       · PR #23922:  (garethgreenaway)  Fixes  to  debian_ip.py  @  2015-05-19
372903         18:50:53 UTC
372904
372905         · b818f72dce    Merge   pull   request   #23922   from   garethgreen‐
372906           away/23900_2015_5_bonding_interface_fixes
372907
372908         · 0bba536d6d Fixing issue reported when using  bonded  interfaces  on
372909           Ubuntu.  Attributes should be bond-, but the code was attempting to
372910           split just on bond_.  Fix accounts for both, but  the  debian_ip.py
372911           module will write out bond attributes with bond-
372912
372913       · PR  #23925:  (jpic)  Fixed  wrong  path  in LXC cloud documentation @
372914         2015-05-19 18:23:56 UTC
372915
372916         · PR #23924: (jpic) Fixed  wrong  path  in  LXC  cloud  documentation
372917           (refs: #23925)
372918
372919         · b1c98a38ed Merge pull request #23925 from jpic/fix/wrong_lxc_path
372920
372921         · a4bcd75171 Fixed wrong path in LXC cloud documentation
372922
372923       · PR #23894: (whiteinge) Add __all__ attribute to Mock class for docs @
372924         2015-05-19 17:17:35 UTC
372925
372926         · 7f6a716a8a Merge pull request #23894 from whiteinge/doc-mock__all__
372927
372928         · 6eeca46158 Add __all__ attribute to Mock class for docs
372929
372930       · ISSUE #23767: (chrimi)  Salt  system.locale  fails  on  non  existent
372931         default locale (refs: #23884)
372932
372933       · PR  #23884:  (jfindlay)  Fix locale.set_locale on debian @ 2015-05-19
372934         15:51:22 UTC
372935
372936         · 8108a9bd19 Merge pull request #23884 from jfindlay/fix_locale
372937
372938         · 91c2d51400 use append_if_not_found in locale.set_locale
372939
372940         · e63260391c (re)generate /etc/default/locale
372941
372942       · PR #23866: (jfindlay) backport #23834, change portage.dep.strip_empty
372943         to list comprehension @ 2015-05-19 15:50:43 UTC
372944
372945         · PR    #23834:    (Arabus)    Avoid    deprecation    warning   from
372946           portage.dep.strip_empty() (refs: #23866)
372947
372948         · 6bae12fa8b Merge pull request #23866 from jfindlay/flag_strip
372949
372950         · aa032ccfaf replace portage.dep.strip_empty() with  list  comprehen‐
372951           sion
372952
372953         · 7576872280  Proper  replacement  for portage.dep.strip_empty() with
372954           list comprehension, pep8fix
372955
372956         · 2851a5cf13 Switch portage.dep.strip_empty(...) to  filter(None,...)
372957           to avoid deprecation warning and do essentially the same
372958
372959       · ISSUE #23904: (mbrgm) Network config bonding section cannot be parsed
372960         when attribute names use dashes (refs: #23917)
372961
372962       · PR #23917: (corywright) Split debian bonding options on dash  instead
372963         of underscore @ 2015-05-19 15:44:35 UTC
372964
372965         · a67a008913 Merge pull request #23917 from corywright/issue23904
372966
372967         · c06f8cf831  Split  debian bonding options on dash instead of under‐
372968           score
372969
372970       · PR #23909: (jayeshka) 'str' object has no attribute  'capitalized'  @
372971         2015-05-19 15:41:53 UTC
372972
372973         · e8fcd0994d Merge pull request #23909 from jayeshka/file-exe-module
372974
372975         · e422d9d200 'str' object has no attribute 'capitalized'
372976
372977       · PR  #23903:  (garethgreenaway) Adding docs for missing schedule state
372978         module parameters.  @ 2015-05-19 06:29:34 UTC
372979
372980         · c73bf38927 Merge pull  request  #23903  from  garethgreenaway/miss‐
372981           ing_docs_schedule_state
372982
372983         · acd8ab9e1d  Adding  docs  for missing schedule state module parame‐
372984           ters.
372985
372986         · a56697bd6e         Merge         branch         '2015.5'         of
372987           https://github.com/saltstack/salt into 2015.5
372988
372989         · 1c2af5c685         Merge         branch         '2015.5'         of
372990           https://github.com/saltstack/salt into 2015.5
372991
372992         · ef581283fa         Merge         branch         '2015.5'         of
372993           https://github.com/saltstack/salt into 2015.5
372994
372995         · 8664e8bc8d         Merge         branch         '2015.5'         of
372996           https://github.com/saltstack/salt into 2015.5-2
372997
372998         · 46eb2655ee saltstack2 sphinx theme updates
372999
373000         · e7442d3b1e         Merge         branch         '2015.5'         of
373001           https://github.com/saltstack/salt into 2015.5
373002
373003         · ee3c1bd4a7 missed one
373004
373005         · 3872921dd0 More updates to sphinx2 theme
373006
373007         · fcd48657ef         Merge         branch         '2015.5'         of
373008           https://github.com/saltstack/salt into 2015.5
373009
373010         · 8c32152be0 removed TOC numbering, additional tweaks to layout.html
373011
373012         · 73dfaeff28         Merge         branch         '2015.5'         of
373013           https://github.com/saltstack/salt into 2015.5
373014
373015         · 16d8a753ad saltstack2 sphinx theme and build settings
373016
373017       · ISSUE  #23847: (kiorky) lxc: systemd containers cant be seeded (refs:
373018         #23806, #23898, #23897, #23808)
373019
373020       · ISSUE #23772: (cheuschober) lxc.init  fails  to  bootstrap  container
373021         (refs: #23806, #23808, #23807, #23898, #23897)
373022
373023       · PR  #23806: (kiorky) Lxc seeding (refs: #23807) @ 2015-05-18 23:18:33
373024         UTC
373025
373026         · ff3cc7d331 Merge pull request #23806 from makinacorpus/lxc_seeding
373027
373028         · 61b7aad308 runners/lxc: optim
373029
373030       · PR #23892: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
373031         2015-05-18 23:07:57 UTC
373032
373033         · 5f1a93d966   Merge   pull  request  #23892  from  basepi/merge-for‐
373034           ward-2015.5
373035
373036         · c2eed77691  Merge  remote-tracking  branch  'upstream/2014.7'  into
373037           merge-forward-2015.5
373038
373039         · 17c5810c04 Merge pull request #23891 from basepi/releasenotes
373040
373041           · dec153bcea Update the release notes index page
373042
373043         · a93e58f80f Merge pull request #23888 from basepi/v2014.7.6release
373044
373045           · 49921b6cb2 Update the 2014.7.6 release notes with CVE details
373046
373047         · 50730287bb Merge pull request #23871 from rallytime/bp-23848
373048
373049           · 379c09c3a5 Updated for SLES 12.
373050
373051       · PR  #23875:  (rallytime)  Backport  #23838  to  2015.5  @  2015-05-18
373052         22:28:55 UTC
373053
373054         · PR #23838: (gtmanfred) add refresh_beacons and sync_beacons  (refs:
373055           #23875)
373056
373057         · 66d13356b3 Merge pull request #23875 from rallytime/bp-23838
373058
373059         · 3174227e8e Add versionadded directives to new beacon saltutil func‐
373060           tions
373061
373062         · 4a94b2c17b add refresh_beacons and sync_beacons
373063
373064       · PR #23876: (rallytime) Switch digital ocean  tests  to  v2  driver  @
373065         2015-05-18 22:17:13 UTC
373066
373067         · d294cf260b  Merge  pull  request #23876 from rallytime/switch_digi‐
373068           tal_ocean_tests_v2
373069
373070         · dce9b540a6 Remove extra line
373071
373072         · 4acf58e758 Switch digital ocean tests to v2 driver
373073
373074       · ISSUE #23792: (neogenix) Salt  Scheduler  Incorrect  Response  (True,
373075         should be False) (refs: #23882)
373076
373077       · PR   #23882:   (garethgreenaway)  Fixes  to  scheduler  in  2015.5  @
373078         2015-05-18 22:09:24 UTC
373079
373080         · b97a48c7f5   Merge   pull   request   #23882   from    garethgreen‐
373081           away/23792_2015_5_wrong_return_code
373082
373083         · 37dbde6d57 Job already exists in schedule, should return False.
373084
373085       · PR  #23868:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
373086         2015-05-18 18:35:54 UTC
373087
373088         · 61c922ea1a  Merge  pull  request  #23868   from   basepi/merge-for‐
373089           ward-2015.5
373090
373091         · c9ed23394c  Merge  remote-tracking  branch  'upstream/2014.7'  into
373092           merge-forward-2015.5
373093
373094         · aee00c83df Merge pull request #23810 from rallytime/bp-23757
373095
373096           · fb32c32065 use abspath, do not eliminating symlinks
373097
373098         · 6b3352bb1a    Merge    pull    request    #23809    from     rally‐
373099           time/virt_get_nics_fix
373100
373101           · 0616fb7884 Fix virtualport section of virt.get_nics loop
373102
373103         · 188f03f567 Merge pull request #23823 from gtmanfred/2014.7
373104
373105           · 5ef006d59d add link local for ipv6
373106
373107         · f3ca682f92 Merge pull request #23802 from gtmanfred/2014.7
373108
373109           · 2da98b58c8 if it is ipv6 ip_to_int will fail
373110
373111       · PR   #23863:   (rahulhan)   Adding  states/timezone.py  unit  test  @
373112         2015-05-18 17:02:19 UTC
373113
373114         · 433f87372c Merge pull  request  #23863  from  rahulhan/states_time‐
373115           zone_unit_test
373116
373117         · 72fcabc690 Adding states/timezone.py unit test
373118
373119       · PR #23862: (rahulhan) Adding states/tomcat.py unit tests @ 2015-05-18
373120         17:02:10 UTC
373121
373122         · 37b3ee5421 Merge  pull  request  #23862  from  rahulhan/states_tom‐
373123           cat_unit_test
373124
373125         · 65d7752d2a Adding states/tomcat.py unit tests
373126
373127       · PR  #23860:  (rahulhan) Adding states/test.py unit tests @ 2015-05-18
373128         17:01:49 UTC
373129
373130         · dde7207acb    Merge    pull    request    #23860    from     rahul‐
373131           han/states_test_unit_test
373132
373133         · 1f4cf86500 Adding states/test.py unit tests
373134
373135       · PR  #23859: (rahulhan) Adding states/sysrc.py unit tests @ 2015-05-18
373136         17:01:46 UTC
373137
373138         · 3c9b8139e8    Merge    pull    request    #23859    from     rahul‐
373139           han/states_sysrc_unit_test
373140
373141         · 6a903b054d Adding states/sysrc.py unit tests
373142
373143       · PR  #23812:  (rallytime)  Backport  #23790  to  2015.5  @  2015-05-18
373144         15:30:34 UTC
373145
373146         · PR #23790: (aboe76) updated suse  spec  file  to  version  2015.5.0
373147           (refs: #23812)
373148
373149         · 4cf30a7ffa Merge pull request #23812 from rallytime/bp-23790
373150
373151         · 3f65631cb6 updated suse spec file to version 2015.5.0
373152
373153       · PR  #23811:  (rallytime)  Backport  #23786  to  2015.5  @  2015-05-18
373154         15:30:27 UTC
373155
373156         · PR  #23786:  (kaithar)  Log  the  error   generated   that   causes
373157           returns.mysql.returner to except. (refs: #23811)
373158
373159         · c6f939adfb Merge pull request #23811 from rallytime/bp-23786
373160
373161         · 346f30bdda     Log     the     error    generated    that    causes
373162           returns.mysql.returner to except.
373163
373164       · PR #23850: (jayeshka) adding sysbench unit  test  case  @  2015-05-18
373165         15:28:04 UTC
373166
373167         · ce60582de4   Merge   pull   request   #23850   from   jayeshka/sys‐
373168           bench-unit-test
373169
373170         · 280abdec7c adding sysbench unit test case
373171
373172       · PR #23843: (The-Loeki)  Fix  erroneous  virtual:physical  core  grain
373173         detection @ 2015-05-18 15:24:22 UTC
373174
373175         · 060902fefa Merge pull request #23843 from The-Loeki/patch-1
373176
373177         · 9e2cf606eb Fix erroneous virtual:physical core grain detection
373178
373179       · ISSUE #23815: (Snergster) [beacons] inotify errors on subdir creation
373180         (refs: #23816)
373181
373182       · ISSUE #23685: (Snergster) inotify beacon on file. 'change'  event  to
373183         reactor to reset file to known state will cause loop (refs: #23816)
373184
373185       · PR  #23816:  (Snergster)  Doc  for  #23685 Added prereq, caution, and
373186         additional mask information @ 2015-05-18 15:18:03 UTC
373187
373188         · 3257a9bead Merge pull request #23816 from Snergster/23685-doc-fix
373189
373190         · 0fca49d52a Added prereq, caution, and additional mask information
373191
373192       · PR #23832: (ahus1) make saltify provider use standard boostrap proce‐
373193         dure @ 2015-05-18 02:18:29 UTC
373194
373195         · PR #23829: (ahus1) make saltify provider use standard boostrap pro‐
373196           cedure (refs: #23832)
373197
373198         · 3df3b85090 Merge pull request #23832 from ahus1/ahus1_saltify_boot‐
373199           strap_2015.5
373200
373201         · f5b1734782 fixing problem in unit test
373202
373203         · cba47f6856  make saltify to use standard boostrap procedure, there‐
373204           fore providing all options like master_sign_pub_file
373205
373206       · PR #23791: (optix2000) Psutil compat @ 2015-05-16 04:05:54 UTC
373207
373208         · 8ec4fb2a73 Merge pull request #23791 from optix2000/psutil_compat
373209
373210         · 5470cf58db Fix pylint errors and sloppy inline comments
373211
373212         · 64634b6349 Update psutil.pid_list to use psutil.pids
373213
373214         · 5dd6d69192 Fix imports that aren't in __all__
373215
373216         · 8a1da33ada Fix test cases by mocking psutil_compat
373217
373218         · 558798df1f Fix net_io_counters deprecation issue
373219
373220         · 8140f92ba8 Override unecessary pylint errors
373221
373222         · 7d02ad4f06 Fix some of the mock names for the new API
373223
373224         · 9b3023e851 Fix overloaded getters/setters. Fix line lengths
373225
373226         · 180eb87a46 Fix whitespace
373227
373228         · f8edf72f98 Use new psutil API in ps module
373229
373230         · e48982ff9c Fix version checking in psutil_compat
373231
373232         · 93ee411fd5 Create compatability psutil. psutil 3.0 drops  1.0  API,
373233           but we still support old psutil versions.
373234
373235       · PR  #23782:  (terminalmage) Replace "command -v" with "which" and get
373236         rid of spurious log messages @ 2015-05-16 04:03:10 UTC
373237
373238         · 405517be8b Merge pull request #23782 from terminalmage/issue23772
373239
373240         · 0f6f239052 More ignore_retcode to suppress spurious log msgs
373241
373242         · b4c48e62ea Ignore return code in lxc.attachable
373243
373244         · 08658c0177 Replace "command -v" with "which"
373245
373246       · PR #23783: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
373247         2015-05-15 21:38:51 UTC
373248
373249         · cb2eb401f3   Merge   pull  request  #23783  from  basepi/merge-for‐
373250           ward-2015.5
373251
373252         · 9df51caf28 __opts__.get
373253
373254         · 51d23ed9d0  Merge  remote-tracking  branch  'upstream/2014.7'  into
373255           merge-forward-2015.5
373256
373257           · d9af0c3e82      Merge      pull      request      #23488     from
373258             cellscape/lxc-cloud-fixes
373259
373260             · 64250a67e5 Remove profile from opts  after  creating  LXC  con‐
373261               tainer
373262
373263             · c4047d2a71  Set  destroy=True  in  opts  when  destroying cloud
373264               instance
373265
373266             · 9e1311a7cd Store instance names in opts when  performing  cloud
373267               action
373268
373269             · 934bc57c73 Correctly pass custom env to lxc-attach
373270
373271             · 7fb85f7be1 Preserve test=True option in cloud states
373272
373273             · 9771b5a313 Fix detection of absent LXC container in cloud state
373274
373275             · fb24f0cf02  Report failure when failed to create/clone LXC con‐
373276               tainer
373277
373278             · 2d9aa2bb97 Avoid shadowing variables in lxc module
373279
373280             · 792e1021f2   Allow   to    override    profile    options    in
373281               lxc.cloud_init_interface
373282
373283             · 42bd64b9b3   Return   changes  on  successful  lxc.create  from
373284               salt-cloud
373285
373286             · 4409eabb83 Return correct result when creating cloud  LXC  con‐
373287               tainer
373288
373289             · 377015c881  Issue  #16424:  List  all  providers  when creating
373290               salt-cloud instance without profile
373291
373292           · 808bbe1cb2 Merge pull request  #23748  from  basepi/salt-ssh.ros‐
373293             ter.host.check
373294
373295             · bc53e049e0 Log entire exception for render errors in roster
373296
373297             · 753de6a621 Log render errors in roster to error level
373298
373299             · e01a7a90b3 Always let the real YAML error through
373300
373301           · 72cf360255 Merge pull request #23731 from twangboy/fix_22959
373302
373303             · 88e5495b2d  Fixes  #22959:  Trying  to  add  a  directory to an
373304               unmapped drive in windows
373305
373306           · 2610195262 Merge pull request #23730 from rallytime/bp-23729
373307
373308             · 1877caecba adding support for nested grains to grains.item
373309
373310           · 3e9df883d6 Merge pull request #23688 from twangboy/fix_23415
373311
373312             · 6a91169bae Fixed unused-import pylint error
373313
373314             · 5e25b3f355 fixed pylint errors
373315
373316             · 1a9676626f  Added  inet_pton   to   utils/validate/net.py   for
373317               ip.set_static_ip in windows
373318
373319       · PR  #23781: (jfindlay) fix unit test mock errors on arch @ 2015-05-15
373320         19:40:07 UTC
373321
373322         · 982f87316d Merge pull request #23781 from jfindlay/fix_locale_tests
373323
373324         · 14c711eeb3 fix unit test mock errors on arch
373325
373326       · ISSUE #23566: (rks2286) Salt-cp corrupting the file after transfer to
373327         minion (refs: #23740)
373328
373329       · PR #23740: (jfindlay) Binary write @ 2015-05-15 18:10:44 UTC
373330
373331         · 916b1c4f7c Merge pull request #23740 from jfindlay/binary_write
373332
373333         · 626930a4e5 update incorrect comment wording
373334
373335         · a978f5c091 always use binary file write mode on windows
373336
373337       · ISSUE  #23682:  (chrish42)  Pip module requires system pip, even when
373338         not used (with env_bin) (refs: #23736)
373339
373340       · PR #23736: (jfindlay) always load pip execution module  @  2015-05-15
373341         18:10:16 UTC
373342
373343         · 348645ecd5 Merge pull request #23736 from jfindlay/fix_pip
373344
373345         · b8867a8c23 update pip tests
373346
373347         · 040bbc42d2 only check pip version in one place
373348
373349         · 6c453a5a2a check for executable status of bin_env
373350
373351         · 3337257833 always load the pip module as pip could be anywhere
373352
373353       · PR   #23770:  (cellscape)  Fix  cloud  LXC  container  destruction  @
373354         2015-05-15 17:38:59 UTC
373355
373356         · 10cedfb174      Merge      pull      request      #23770       from
373357           cellscape/fix-cloud-lxc-destruction
373358
373359         · 4f6021c884 Fix cloud LXC container destruction
373360
373361       · PR  #23759: (lisa2lisa) fixed the problem for not beable to revoke .,
373362         for more detail https… @ 2015-05-15 17:38:38 UTC
373363
373364         · ddea822b02 Merge pull request #23759 from lisa2lisa/iss23664
373365
373366         · a29f161a58 fixed the problem for not beable to revoke .,  for  more
373367           detail  https://github.com/saltstack/salt/issues/23201, fixed mysql
373368           cannot  create  user  with  pure  digit  password,  for  more  info
373369           https://github.com/saltstack/salt/issues/23664
373370
373371       · PR    #23769:    (cellscape)    Fix    file_roots    CA   lookup   in
373372         salt.utils.http.get_ca_bundle @ 2015-05-15 16:21:49 UTC
373373
373374         · 10615ff5a7      Merge      pull      request      #23769       from
373375           cellscape/utils-http-ca-file-roots
373376
373377         · 8e90f3291b  Fix file_roots CA lookup in salt.utils.http.get_ca_bun‐
373378           dle
373379
373380       · PR  #23765:  (jayeshka)  adding  states/makeconf  unit  test  case  @
373381         2015-05-15 14:29:43 UTC
373382
373383         · fd8a1b797f   Merge   pull   request   #23765   from  jayeshka/make‐
373384           conf_states-unit-test
373385
373386         · 26e31afa31 adding states/makeconf unit test case
373387
373388       · PR #23760: (ticosax) [doc] document  refresh  argument  @  2015-05-15
373389         14:23:47 UTC
373390
373391         · ee13b08027 Merge pull request #23760 from ticosax/2015.5
373392
373393         · e3ca859ba6 document refresh argument
373394
373395       · PR #23766: (jayeshka) adding svn unit test case @ 2015-05-15 14:23:18
373396         UTC
373397
373398         · a017f725a4 Merge pull request #23766 from jayeshka/svn-unit-test
373399
373400         · 19939cfa98 adding svn unit test case
373401
373402       · ISSUE  #23734:  (bradthurber)  2015.5.0  modules/archive.py   ZipFile
373403         instance  has  no  attribute  '__exit__'  -  only  python 2.6? (refs:
373404         #23737)
373405
373406       · PR  #23751:  (rallytime)  Backport  #23737  to  2015.5  @  2015-05-15
373407         03:58:37 UTC
373408
373409         · PR  #23737:  (bradthurber) fix for 2015.5.0 modules/archive.py Zip‐
373410           File instance has no attribute… (refs: #23751)
373411
373412         · 0ed9d45114 Merge pull request #23751 from rallytime/bp-23737
373413
373414         · 8d1eb326d0 fix for 2015.5.0 modules/archive.py ZipFile instance has
373415           no attribute '__exit__' - only python 2.6? #23734
373416
373417       · ISSUE  #23709:  (kiorky)  cmdmod:  enhancement  is  really needed for
373418         stateful commands (refs: #23710)
373419
373420       · PR #23710: (kiorky) Get more useful output from stateful  commands  @
373421         2015-05-14 21:58:10 UTC
373422
373423         · d73984ec9c Merge pull request #23710 from makinacorpus/i23709
373424
373425         · c70690969e Get more useful output from stateful commands
373426
373427       · ISSUE  #23608:  (kaidokert)  salt-cloud  file_map  with non-root user
373428         (refs: #23609)
373429
373430       · PR  #23724:  (rallytime)  Backport  #23609  to  2015.5  @  2015-05-14
373431         19:34:22 UTC
373432
373433         · PR  #23609:  (kaidokert) file_map: chown created directories if not
373434           root #23608 (refs: #23724)
373435
373436         · cdf421b9ed Merge pull request #23724 from rallytime/bp-23609
373437
373438         · fe3a762673 file_map: chmod created directories if not root
373439
373440       · PR  #23723:  (rallytime)  Backport  #23568  to  2015.5  @  2015-05-14
373441         19:34:11 UTC
373442
373443         · PR #23568: (techhat) Allow Salt Cloud to use either SCP or SFTP, as
373444           configured (refs: #23723)
373445
373446         · 94f9099307 Merge pull request #23723 from rallytime/bp-23568
373447
373448         · bbec34abd3 Allow Salt Cloud to use either SCP or SFTP,  as  config‐
373449           ured
373450
373451       · PR  #23725:  (rallytime)  Backport  #23691  to  2015.5  @  2015-05-14
373452         19:32:30 UTC
373453
373454         · PR #23691: (dennisjac) add initial configuration documentation  for
373455           varstack pillar (refs: #23725)
373456
373457         · 137e5eefd0 Merge pull request #23725 from rallytime/bp-23691
373458
373459         · 28a846ebe8  add  initial  configuration  documentation for varstack
373460           pillar
373461
373462       · PR  #23722:  (rallytime)  Backport  #23472  to  2015.5  @  2015-05-14
373463         19:31:52 UTC
373464
373465         · PR  #23472: (techhat) Allow neutron network list to be used as pil‐
373466           lar data (refs: #23722)
373467
373468         · 0c00995dfb Merge pull request #23722 from rallytime/bp-23472
373469
373470         · c3d0f39515 Change versionadded tag for backport
373471
373472         · 023e88f264 Allow neutron network list to be used as pillar data
373473
373474       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
373475         '__salt__' is not defined (refs: #23898, #23727, #23897)
373476
373477       · PR   #23727:   (jfindlay)  fix  npm  execution  module  stacktrace  @
373478         2015-05-14 18:14:12 UTC
373479
373480         · cbf4ca8d91 Merge pull request #23727 from jfindlay/npm_salt
373481
373482         · 05392f282e fix npm execution module stacktrace
373483
373484       · PR #23718: (rahulhan) Adding states/user.py unit tests  @  2015-05-14
373485         17:15:38 UTC
373486
373487         · ef536d58de     Merge    pull    request    #23718    from    rahul‐
373488           han/states_user_unit_tests
373489
373490         · aad27db513 Adding states/user.py unit tests
373491
373492       · PR #23720: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
373493         2015-05-14 17:13:02 UTC
373494
373495         · a529d74079   Merge   pull  request  #23720  from  basepi/merge-for‐
373496           ward-2015.5
373497
373498         · 06a3ebd9d1  Merge  remote-tracking  branch  'upstream/2014.7'  into
373499           merge-forward-2015.5
373500
373501         · 1b86460d73 Merge pull request #23680 from cachedout/issue_23403
373502
373503           · d5986c21b4 Rename kwarg in cloud runner
373504
373505         · cd64af0ce4 Merge pull request #23674 from cachedout/issue_23548
373506
373507           · da8a2f5cb3 Handle lists correctly in grains.list_prsesent
373508
373509         · d322a19213 Merge pull request #23672 from twangboy/fix_user_present
373510
373511           · 731e7af3dd         Merge         branch        '2014.7'        of
373512             https://github.com/saltstack/salt into fix_user_present
373513
373514           · d6f70a4545 Fixed user.present to create password in windows
373515
373516         · 43f7025000 Merge pull request #23670 from rallytime/bp-23607
373517
373518           · ed30dc4642 Fix for #23604. No error reporting. Exitcode  !=0  are
373519             ok
373520
373521       · PR  #23704:  (jayeshka)  adding  states/lvs_server  unit  test case @
373522         2015-05-14 14:22:10 UTC
373523
373524         · 13facbf077      Merge      pull      request      #23704       from
373525           jayeshka/lvs_server_states-unit-test
373526
373527         · da323dab0b adding states/lvs_server unit test case
373528
373529       · PR  #23703:  (jayeshka)  adding  states/lvs_service  unit test case @
373530         2015-05-14 14:21:23 UTC
373531
373532         · f95ca3188f  Merge  pull  request  #23703   from   jayeshka/lvs_ser‐
373533           vice_states-unit-test
373534
373535         · 66717c8133 adding states/lvs_service unit test case
373536
373537       · PR   #23702:  (jayeshka)  Remove  superfluous  return  statement.   @
373538         2015-05-14 14:20:42 UTC
373539
373540         · 07e987e327 Merge pull request #23702 from jayeshka/fix_lvs_service
373541
373542         · ecff2181e4 fix lvs_service
373543
373544       · PR #23686: (jfindlay) remove superflous return statement @ 2015-05-14
373545         14:20:18 UTC
373546
373547         · 39973d4095 Merge pull request #23686 from jfindlay/fix_lvs_server
373548
373549         · 5aaeb73532 remove superflous return statement
373550
373551       · PR  #23690:  (rallytime)  Backport  #23424  to  2015.5  @  2015-05-13
373552         23:04:36 UTC
373553
373554         · PR #23424: (justinta) Added  python_shell=True  for  refresh_db  in
373555           pacman.py (refs: #23690)
373556
373557         · be7c7ef3fd Merge pull request #23690 from rallytime/bp-23424
373558
373559         · 94574b7367 Added python_shell=True for refresh_db in pacman.py
373560
373561       · PR  #23681:  (cachedout) Start on 2015.5.1 release notes @ 2015-05-13
373562         19:44:22 UTC
373563
373564         · 1a0db43097    Merge    pull    request    #23681    from    cached‐
373565           out/2015_5_1_release_notes
373566
373567         · bdbbfa6ee7 Start on 2015.5.1 release notes
373568
373569       · PR #23679: (jfindlay) Merge #23616 @ 2015-05-13 19:03:53 UTC
373570
373571         · PR  #23616: (Snergster) virtual returning none warning fixed in dev
373572           but missed in 2015.5 (refs: #23679)
373573
373574         · b54075a2ac Merge pull request #23679 from jfindlay/merge_23616
373575
373576         · 6e15e19907 appease pylint's blank line strictures
373577
373578         · 8750680d9e virtual returning none warning fixed in dev  but  missed
373579           in 2015.5
373580
373581       · PR  #23675:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
373582         2015-05-13 18:35:54 UTC
373583
373584         · e480f13688  Merge  pull  request  #23675   from   basepi/merge-for‐
373585           ward-2015.5
373586
373587         · bd635488ef  Merge  remote-tracking  branch  'upstream/2014.7'  into
373588           merge-forward-2015.5
373589
373590           · 0f006ac1d8 Merge pull request #23661 from rallytime/merge-23640
373591
373592             · 4427f42bb6 Whitespace fix
373593
373594             · dd9115466e Add warning to get_or_set_hash about reserved chars
373595
373596           · 84e2ef88fc Merge pull request #23639 from cachedout/issue_23452
373597
373598             · d418b49a77 Syntax error!
373599
373600             · 45b4015d7d Handle exceptions raised by __virtual__
373601
373602           · bd9b94ba8c Merge pull request #23637 from cachedout/issue_23611
373603
373604             · 56cb1f52e3 Fix typo
373605
373606             · f6fcf19a7f Convert str master to list
373607
373608           · f20c0e42ce Merge pull request #23595 from rallytime/bp-23549
373609
373610             · 6efcac09ad Update __init__.py
373611
373612           · 1acaf86da7 Merge pull request #23594 from rallytime/bp-23496
373613
373614             · d5ae1d268a Fix for issue #23110 This resolves issues  when  the
373615               freshly created directory is removed by fileserver.update.
373616
373617           · 2c221c7332 Merge pull request #23593 from rallytime/bp-23442
373618
373619             · 39869a15bd check w/ low['name'] only
373620
373621             · 304cc499e9 another fix for file defined w/ id, but require name
373622
373623             · 8814d4180e add directory itself to keep list
373624
373625           · fadd1ef63c Merge pull request #23606 from twangboy/fix_installer
373626
373627             · 038331edab  Fixed  checkbox  for  starting service and actually
373628               starting it
373629
373630         · acdd3fc6bd Fix lint
373631
373632         · 680e88f058  Merge  remote-tracking  branch  'upstream/2014.7'  into
373633           merge-forward-2015.5
373634
373635           · 10b3f0f643 Merge pull request #23592 from rallytime/bp-23389
373636
373637             · 734cc43801 Correct fail_hard typo
373638
373639           · cd34b9b6c4 Merge pull request #23573 from techhat/novaquery
373640
373641             · f92db5e92f Linting
373642
373643             · 26e00d3ccc  Scan  all available networks for public and private
373644               IPs
373645
373646           · 2a72cd71c2 Merge pull request #23558 from jfindlay/fix_ebuild
373647
373648             · 45404fb2a6 reorder emerge command line
373649
373650           · a664a3c6fd     Merge      pull      request      #23530      from
373651             dr4Ke/fix_salt-ssh_to_include_pkg_sources
373652
373653             · 5df6a8008c fix pylint warning
373654
373655             · d0549e56ba salt-ssh state: fix including all salt:// references
373656
373657           · 55c3869861 Merge pull request #23433 from twangboy/list_pkgs_fix
373658
373659             · 8ab5b1b86f Fix pylint error
373660
373661             · 2d11d6545e Obtain all software from the registry
373662
373663           · 755bed0abd  Merge  pull  request  #23554 from jleroy/debian-host‐
373664             name-fix
373665
373666             · 5ff749e487 Debian: Hostname always updated
373667
373668           · 6ec87ce9f5     Merge      pull      request      #23551      from
373669             dr4Ke/grains.append_unit_tests
373670
373671             · ebff9df5b2 fix pylint errors
373672
373673             · c4954046ad unit tests for grains.append module function
373674
373675             · 0c9a32326c use MagickMock
373676
373677             · c838a22377 unit tests for grains.append module function
373678
373679           · e96c5c5bf3      Merge      pull      request      #23474     from
373680             dr4Ke/fix_grains.append_nested
373681
373682             · a01a5bb51e  grains.get,  parameter  delimititer,  versionadded:
373683               2014.7.6
373684
373685             · b39f50475d remove debugging output
373686
373687             · b6e15e295c  fix  grains.append  in  nested  dictionnary  grains
373688               #23411
373689
373690           · ab7e1aed8e Merge pull request #23537 from t0rrant/patch-1
373691
373692             · 8e03cc99d3 Update changelog
373693
373694       · PR  #23669:  (rallytime)  Backport  #23586  to  2015.5  @  2015-05-13
373695         18:27:11 UTC
373696
373697         · PR              #23586:              (Lothiraldan)              Fix
373698           salt.state.file._unify_sources_and_hashes  when  sources  is   used
373699           without sources_hashes (refs: #23669)
373700
373701         · 0dad6be0fc Merge pull request #23669 from rallytime/bp-23586
373702
373703         · ef4c6adae3 Remove another unused import
373704
373705         · 73cfda751a Remove unused import
373706
373707         · 52b68d695a Use the zip_longest from six module for python 3 compat‐
373708           iblity
373709
373710         · 18d5ff9a8e   Fix   salt.state.file._unify_sources_and_hashes   when
373711           sources is used without sources_hashes
373712
373713       · PR  #23662:  (rallytime)  Merge  #23642  with pylint fix @ 2015-05-13
373714         15:46:51 UTC
373715
373716         · PR #23642: (cachedout) Let saltmod  handle  lower-level  exceptions
373717           gracefully (refs: #23662)
373718
373719         · fabef759e0 Merge pull request #23662 from rallytime/merge-23642
373720
373721         · aa7bbd84fa Remove unused import
373722
373723         · 9e66d4c88e Let saltmod handle lower-level exceptions gracefully
373724
373725       · PR #23622: (jfindlay) merge #23508 @ 2015-05-13 15:36:49 UTC
373726
373727         · PR  #23508:  (cro)  Port  mysql  returner  to  postgres using jsonb
373728           datatype (refs: #23622)
373729
373730         · 072b92733d Merge pull request #23622 from jfindlay/pgjsonb
373731
373732         · 454322c7e4 appease pylint's proscription on blank line excess
373733
373734         · 57c617136d Get time with timezone correct also in job return.
373735
373736         · e109d0f643 Get time with timezone correct.
373737
373738         · 21e06b9112 Fix SQL, remove unneeded imports.
373739
373740         · 653f360723 Stop making changes in 2 places.
373741
373742         · d6daaa0292 Typo.
373743
373744         · 7d748bff75 SSL is handled differently by Pg, so don't set it here.
373745
373746         · cc7c377bcd Fill alter_time field in salt_events with  current  time
373747           with timezone.
373748
373749         · 43defe9b20 Port mysql module to Postgres using jsonb datatypes
373750
373751       · PR  #23651:  (jayeshka)  adding  solr  unit  test  case  @ 2015-05-13
373752         15:26:15 UTC
373753
373754         · c1bdd4d377 Merge pull request #23651 from jayeshka/solr-unit-test
373755
373756         · 6e05148962 adding solr unit test case
373757
373758       · PR  #23649:  (jayeshka)  adding  states/libvirt  unit  test  case   @
373759         2015-05-13 15:24:48 UTC
373760
373761         · ee43411677   Merge   pull   request   #23649   from   jayeshka/lib‐
373762           virt_states-unit-test
373763
373764         · 0fb923a283 adding states/libvirt unit test case
373765
373766       · PR #23648:  (jayeshka)  adding  states/linux_acl  unit  test  case  @
373767         2015-05-13 15:24:11 UTC
373768
373769         · c7fc466f1e       Merge      pull      request      #23648      from
373770           jayeshka/linux_acl_states-unit-test
373771
373772         · 3f0ab29eb0 removed error.
373773
373774         · 11081c121c adding states/linux_acl unit test case
373775
373776       · PR #23650: (jayeshka) adding states/kmod unit test case @  2015-05-13
373777         15:09:18 UTC
373778
373779         · 4cba7ba35c       Merge      pull      request      #23650      from
373780           jayeshka/kmod_states-unit-test
373781
373782         · 1987015033 adding states/kmod unit test case
373783
373784       · PR #23633: (jayeshka) made changes to  test_interfaces  function.   @
373785         2015-05-13 06:51:07 UTC
373786
373787         · bc8faf1543   Merge   pull  request  #23633  from  jayeshka/win_net‐
373788           work-2015.5-unit-test
373789
373790         · 0936e1d386 made changes to test_interfaces function.
373791
373792       · PR #23619: (jfindlay) fix kmod.present processing of module loading @
373793         2015-05-13 01:16:56 UTC
373794
373795         · 7df3579bbc Merge pull request #23619 from jfindlay/fix_kmod_state
373796
373797         · 73facbfc1f fix kmod.present processing of module loading
373798
373799       · PR  #23598:  (rahulhan)  Adding states/win_dns_client.py unit tests @
373800         2015-05-12 21:47:36 UTC
373801
373802         · d4f30955fa    Merge    pull    request    #23598    from     rahul‐
373803           han/states_win_dns_client_unit_test
373804
373805         · d08d885828 Adding states/win_dns_client.py unit tests
373806
373807       · PR  #23597:  (rahulhan)  Adding  states/vbox_guest.py  unit  tests  @
373808         2015-05-12 21:46:30 UTC
373809
373810         · 811c6a1d89    Merge    pull    request    #23597    from     rahul‐
373811           han/states_vbox_guest_unit_test
373812
373813         · 6a2909eeea Removed errors
373814
373815         · 4cde78a58a Adding states/vbox_guest.py unit tests
373816
373817       · PR  #23615:  (rallytime)  Backport  #23577  to  2015.5  @  2015-05-12
373818         21:19:11 UTC
373819
373820         · PR #23577: (msciciel) Fix find and remove functions to  pass  data‐
373821           base param (refs: #23615)
373822
373823         · 029ff1103d Merge pull request #23615 from rallytime/bp-23577
373824
373825         · 6f74477129 Fix find and remove functions to pass database param
373826
373827       · PR   #23603:   (rahulhan)   Adding  states/winrepo.py  unit  tests  @
373828         2015-05-12 18:40:12 UTC
373829
373830         · b8589532d1 Merge  pull  request  #23603  from  rahulhan/states_win‐
373831           repo_unit_test
373832
373833         · a66e7e7f1f Adding states/winrepo.py unit tests
373834
373835       · PR   #23602:   (rahulhan)  Adding  states/win_path.py  unit  tests  @
373836         2015-05-12 18:39:37 UTC
373837
373838         · 3cbbd6d277    Merge    pull    request    #23602    from     rahul‐
373839           han/states_win_path_unit_test
373840
373841         · 122c29f71a Adding states/win_path.py unit tests
373842
373843       · PR  #23600:  (rahulhan)  Adding  states/win_network.py  unit  tests @
373844         2015-05-12 18:39:01 UTC
373845
373846         · 3c904e8739 Merge pull request #23600 from  rahulhan/states_win_net‐
373847           work_unit_test
373848
373849         · b418404eb7 removed lint error
373850
373851         · 1be802300b Adding states/win_network.py unit tests
373852
373853       · PR  #23599: (rahulhan) Adding win_firewall.py unit tests @ 2015-05-12
373854         18:37:49 UTC
373855
373856         · 10243a7742 Merge pull request #23599 from rahulhan/states_win_fire‐
373857           wall_unit_test
373858
373859         · 6cda890517 Adding win_firewall.py unit tests
373860
373861       · PR  #23601:  (basepi)  Add  versionadded  for  jboss  module/state  @
373862         2015-05-12 17:22:59 UTC
373863
373864         · e73071dbdf  Merge  pull  request  #23601   from   basepi/jboss.ver‐
373865           sion.added
373866
373867         · 0174c8fe58 Add versionadded for jboss module/state
373868
373869       · PR  #23469:  (s0undt3ch)  Call  the windows specific function not the
373870         general one @ 2015-05-12 16:47:22 UTC
373871
373872         · 9beb7bc529  Merge   pull   request   #23469   from   s0undt3ch/hot‐
373873           fix/call-the-win-func
373874
373875         · 83e88a3eb1 Call the windows specific function not the general one
373876
373877       · PR #23583: (jayeshka) adding states/ipset unit test case @ 2015-05-12
373878         16:31:55 UTC
373879
373880         · d2f097584c      Merge      pull      request      #23583       from
373881           jayeshka/ipset_states-unit-test
373882
373883         · 4330cf4a6e adding states/ipset unit test case
373884
373885       · PR  #23582:  (jayeshka)  adding  states/keyboard  unit  test  case  @
373886         2015-05-12 16:31:17 UTC
373887
373888         · 82a47e8cbf   Merge   pull   request   #23582   from   jayeshka/key‐
373889           board_states-unit-test
373890
373891         · fa94d7ab5c adding states/keyboard unit test case
373892
373893       · PR   #23581:   (jayeshka)  adding  states/layman  unit  test  case  @
373894         2015-05-12 16:30:36 UTC
373895
373896         · 77e5b28566   Merge   pull   request   #23581   from   jayeshka/lay‐
373897           man_states-unit-test
373898
373899         · 297b055b1c adding states/layman unit test case
373900
373901       · PR #23580: (jayeshka) adding smf unit test case @ 2015-05-12 16:29:58
373902         UTC
373903
373904         · cbe32828ef Merge pull request #23580 from jayeshka/smf-unit-test
373905
373906         · 4f9719157b adding smf unit test case
373907
373908       · ISSUE #21603: (ipmb) ssh_auth.present fails on  key  without  comment
373909         (refs: #23572)
373910
373911       · PR  #23572: (The-Loeki) Fix regression of #21355 introduced by #21603
373912         @ 2015-05-12 16:28:05 UTC
373913
373914         · PR #21355: (The-Loeki)  Fix  for  comments  containing  whitespaces
373915           (refs: #23572)
373916
373917         · 16a333832a Merge pull request #23572 from The-Loeki/ssh_auth_fix
373918
373919         · d8248dd368 Fix regression of #21355 introduced by #21603
373920
373921       · ISSUE  #23490: (lichtamberg)  salt.modules.aptpkg.upgrade should have
373922         default "dist_upgrade=False" (refs: #23565)
373923
373924       · PR #23565:  (garethgreenaway)  fix  to  aptpkg  module  @  2015-05-12
373925         16:25:46 UTC
373926
373927         · f843f89cd7    Merge   pull   request   #23565   from   garethgreen‐
373928           away/2015_2_aptpkg_upgrade_default_to_upgrade
373929
373930         · 97ae514641 aptpkg.upgrade should  default  to  upgrade  instead  of
373931           dist_upgrade.
373932
373933       · ISSUE    #23473:   (terminalmage)   unit.modules.rh_ip_test.RhipTest‐
373934         Case.test_build_bond is not properly mocked (refs: #23550)
373935
373936       · PR #23550: (jfindlay) additional mock for rh_ip_test  test_build_bond
373937         @ 2015-05-12 15:17:16 UTC
373938
373939         · c1157cdaee Merge pull request #23550 from jfindlay/fix_rh_ip_test
373940
373941         · e9b94d36d3 additional mock for rh_ip_test test_build_bond
373942
373943       · PR  #23552:  (garethgreenaway)  Fix for an issue caused by a previous
373944         pull request @ 2015-05-11 21:54:59 UTC
373945
373946         · b593328176   Merge   pull   request   #23552   from    garethgreen‐
373947           away/2015_5_returner_fix_broken_previous_pr
373948
373949         · 7d70e2b334  Passed  argumentes  in  the call _fetch_profile_opts to
373950           were in the wrong order
373951
373952       · PR #23547: (slinu3d) Added AWS v4  signature  support  for  2015.5  @
373953         2015-05-11 21:52:24 UTC
373954
373955         · d0f96825dd Merge pull request #23547 from slinu3d/2015.5
373956
373957         · f3bfdb561b Fixed urlparse and urlencode calls
373958
373959         · 802dbdb965 Added AWS v4 signature support for 2015.5
373960
373961       · PR  #23544:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
373962         2015-05-11 18:02:06 UTC
373963
373964         · 06c6a1f44a  Merge  pull  request  #23544   from   basepi/merge-for‐
373965           ward-2015.5
373966
373967         · f8a36bc155  Merge  remote-tracking  branch  'upstream/2014.7'  into
373968           merge-forward-2015.5
373969
373970           · b79fed3a92 Merge pull request #23538 from cro/licupdate
373971
373972             · 345efe25c9 Update date in LICENSE file
373973
373974           · a123a36f05     Merge      pull      request      #23505      from
373975             aneeshusa/remove-unused-ssh-config-validator
373976
373977             · 90af1672ca Remove unused ssh config validator. Fixes #23159.
373978
373979           · ca2c21a63c Merge pull request #23467 from slinu3d/2014.7
373980
373981             · 0b4081d8f4 Fixed pylint error at line 363
373982
373983             · 5be5eb5b14 Fixed pylink errors
373984
373985             · e64f374ffa Fixed lint errors
373986
373987             · b9d1ac4f1f Added AWS v4 signature support
373988
373989           · e6f9eec02e  Merge  pull request #23444 from techhat/novacreateat‐
373990             tach
373991
373992             · ebdb7eae2d Add create_attach_volume to nova driver
373993
373994           · e331463319 Merge pull request #23460 from  s0undt3ch/hotfix/boot‐
373995             strap-script-2014.7
373996
373997             · edcd0c41f2 Update to latest stable bootstrap script v2015.05.07
373998
373999           · 7a8ce1a954 Merge pull request #23439 from techhat/maxtries
374000
374001             · 0ad3ff2c88 Add wait_for_passwd_maxtries variable
374002
374003       · ISSUE  #23426: (twangboy) Can't restart salt-minion on 64 bit windows
374004         (2015.5.0) (refs: #23470)
374005
374006       · PR  #23470:  (twangboy)  Fixed  service.restart  for  salt-minion   @
374007         2015-05-11 17:54:47 UTC
374008
374009         · aa5b896d3e Merge pull request #23470 from twangboy/fix_svc_restart
374010
374011         · b3f284c517 Fixed tests
374012
374013         · ad44d79f26 Fixed service.restart for salt-minion
374014
374015       · PR  #23539:  (rahulhan)  Adding states/virtualenv_mod.py unit tests @
374016         2015-05-11 17:02:31 UTC
374017
374018         · 67988b21ee Merge  pull  request  #23539  from  rahulhan/states_vir‐
374019           tualenv_mod_unit_test
374020
374021         · 750bb07d1c Adding states/virtualenv_mod.py unit tests
374022
374023         · c96619653e    Merge    pull    request    #23423    from    cached‐
374024           out/remove_jid_event_from_orch
374025
374026           · f81aab7627 Remove jid_event from state.orch
374027
374028         · 2bb09b7ee7 Merge pull request #23509 from keesbos/Catch_empty_envi‐
374029           ronment
374030
374031           · 6dedeaccd2 Catch the unset (empty/None) environment case
374032
374033         · 6d42f30271 Merge pull request #23245 from freimer/issue_23244
374034
374035           · 24cf6ebad5 Add Caller functionality to reactors.
374036
374037       · PR #23513: (gladiatr72) short-circuit auto-failure of iptables.delete
374038         state @ 2015-05-11 15:18:33 UTC
374039
374040         · c3f03d827d Merge pull request #23513 from gladiatr72/RFC_stop_ipta‐
374041           bles.check_from_short-circuiting_position-only_delete_rule
374042
374043         · c71714c364  short-circuit  auto-failure of iptables.delete state if
374044           position argument is  set  without  the  other  accoutrements  that
374045           check_rule requires.
374046
374047       · PR  #23534:  (jayeshka)  adding  states/ini_manage  unit  test case @
374048         2015-05-11 14:32:06 UTC
374049
374050         · 4e77f6f8c4  Merge  pull  request  #23534   from   jayeshka/ini_man‐
374051           age_states-unit-test
374052
374053         · 831223c31c adding states/ini_manage unit test case
374054
374055       · PR   #23533:  (jayeshka)  adding  states/hipchat  unit  test  case  @
374056         2015-05-11 14:30:22 UTC
374057
374058         · 11ba9ed99b      Merge      pull      request      #23533       from
374059           jayeshka/hipchat-states-unit-test
374060
374061         · 41d14b322d adding states/hipchat unit test case
374062
374063       · PR  #23532: (jayeshka) adding states/ipmi unit test case @ 2015-05-11
374064         14:28:15 UTC
374065
374066         · e5421139d3      Merge      pull      request      #23532       from
374067           jayeshka/ipmi-states-unit-test
374068
374069         · fc3e64a8a4 adding states/ipmi unit test case
374070
374071       · PR  #23531:  (jayeshka)  adding  service  unit test case @ 2015-05-11
374072         14:27:12 UTC
374073
374074         · 9ba85fd31a   Merge   pull   request   #23531   from   jayeshka/ser‐
374075           vice-unit-test
374076
374077         · 3ad5314ee0 adding service unit test case
374078
374079       · ISSUE  #23512: (mostafahussein) hipchat_returner / slack_returner not
374080         work correctly (refs: #23517)
374081
374082       · PR #23517: (garethgreenaway) fix to returners @  2015-05-11  14:20:51
374083         UTC
374084
374085         · 32838cd888    Merge   pull   request   #23517   from   garethgreen‐
374086           away/23512_2015_5_returners_with_profiles
374087
374088         · 81e31e27cf fix for returners that utilize profile attributes.  code
374089           in the if else statement was backwards. #23512
374090
374091       · PR #23502: (rahulhan) Adding states/win_servermanager.py unit tests @
374092         2015-05-08 19:47:18 UTC
374093
374094         · 6be7d8d13b    Merge    pull    request    #23502    from     rahul‐
374095           han/states_win_servermanager_unit_test
374096
374097         · 2490074aa2 Adding states/win_servermanager.py unit tests
374098
374099       · PR  #23495:  (jayeshka)  adding  seed  unit  test  case  @ 2015-05-08
374100         17:30:38 UTC
374101
374102         · 604857811e Merge pull request #23495 from jayeshka/seed-unit-test
374103
374104         · 3f134bc573 adding seed unit test case
374105
374106       · PR #23494: (jayeshka) adding sensors  unit  test  case  @  2015-05-08
374107         17:30:18 UTC
374108
374109         · 70bc3c1415   Merge   pull   request   #23494   from   jayeshka/sen‐
374110           sors-unit-test
374111
374112         · 1fb48a31a8 adding sensors unit test case
374113
374114       · PR  #23493:  (jayeshka)  adding  states/incron  unit  test   case   @
374115         2015-05-08 17:29:59 UTC
374116
374117         · b981b20d44       Merge      pull      request      #23493      from
374118           jayeshka/incron-states-unit-test
374119
374120         · cc7bc170f3 adding states/incron unit test case
374121
374122       · PR #23492: (jayeshka) adding states/influxdb_database unit test  case
374123         @ 2015-05-08 17:29:51 UTC
374124
374125         · 4019c493a1  Merge  pull request #23492 from jayeshka/influxdb_data‐
374126           base-states-unit-test
374127
374128         · e1fcac815d adding states/influxdb_database unit test case
374129
374130       · PR #23491: (jayeshka) adding states/influxdb_user unit  test  case  @
374131         2015-05-08 16:24:07 UTC
374132
374133         · d317a77afb       Merge      pull      request      #23491      from
374134           jayeshka/influxdb_user-states-unit-test
374135
374136         · 9d4043f9ff adding states/influxdb_user unit test case
374137
374138       · PR #23477: (galet) LDAP auth: Escape filter value for  group  member‐
374139         ship search @ 2015-05-07 22:04:48 UTC
374140
374141         · e0b2a73eb4  Merge pull request #23477 from galet/ldap-filter-escap‐
374142           ing
374143
374144         · 33038b9f86 LDAP auth: Escape  filter  value  for  group  membership
374145           search
374146
374147       · PR #23476: (cachedout) Lint becaon @ 2015-05-07 19:55:36 UTC
374148
374149         · PR #23431: (UtahDave) Beacon fixes (refs: #23476)
374150
374151         · e1719fe26b Merge pull request #23476 from cachedout/lint_23431
374152
374153         · 8d1ff209eb Lint becaon
374154
374155       · PR  #23431:  (UtahDave)  Beacon  fixes  (refs:  #23476)  @ 2015-05-07
374156         19:53:47 UTC
374157
374158         · 1e299ede4f Merge pull request #23431 from UtahDave/beacon_fixes
374159
374160         · 152f2235c2 remove unused import
374161
374162         · 81198f9399 fix interval logic and example
374163
374164         · 5504778adf update to proper examples
374165
374166         · 6890439d58 fix list for mask
374167
374168         · ee7b579e90 remove custom interval code.
374169
374170       · PR  #23468:  (rahulhan)  Adding  states/win_system.py  unit  tests  @
374171         2015-05-07 19:20:50 UTC
374172
374173         · ea55c44bbb  Merge pull request #23468 from rahulhan/states_win_sys‐
374174           tem_unit_test
374175
374176         · 33f8c12e9f Adding states/win_system.py unit tests
374177
374178       · PR #23466: (UtahDave) minor spelling fix @ 2015-05-07 19:19:06 UTC
374179
374180         · e6e11147af Merge pull request #23466 from UtahDave/2015.5local
374181
374182         · b2c399a137 minor spelling fix
374183
374184       · ISSUE #529: (rubic) run salt in user space (refs: #543)
374185
374186         · PR saltstack/salt-bootstrap#563: (notpeter) Ubuntu  alternate  ppas
374187           (refs: #23461, #23460)
374188
374189         · PR  #543:  (rubic) updated documentation for user, fixed configura‐
374190           tion template links (refs: #`saltstack/salt-bootstrap#563`_)
374191
374192       · PR #23461: (s0undt3ch) [2015.5] Update  to  latest  stable  bootstrap
374193         script v2015.05.07 @ 2015-05-07 19:16:18 UTC
374194
374195         · 4eeb1e627a  Merge  pull  request #23461 from s0undt3ch/hotfix/boot‐
374196           strap-script
374197
374198         · 638c63d635 Update to latest stable bootstrap script v2015.05.07
374199
374200       · PR #23450:  (jayeshka)  adding  scsi  unit  test  case  @  2015-05-07
374201         19:00:28 UTC
374202
374203         · 865127844a Merge pull request #23450 from jayeshka/scsi-unit-test
374204
374205         · e7269ff29b adding scsi unit test case
374206
374207       · PR  #23449: (jayeshka) adding s3 unit test case @ 2015-05-07 18:59:45
374208         UTC
374209
374210         · 8b374ae64d Merge pull request #23449 from jayeshka/s3-unit-test
374211
374212         · 85786bfe7f adding s3 unit test case
374213
374214       · PR  #23448:  (jayeshka)  adding  states/keystone  unit  test  case  @
374215         2015-05-07 18:58:59 UTC
374216
374217         · 49b431c8e4   Merge   pull   request   #23448   from   jayeshka/key‐
374218           stone-states-unit-test
374219
374220         · a3050eb3e2 adding states/keystone unit test case
374221
374222       · PR  #23447:  (jayeshka)  adding  states/grafana  unit  test  case   @
374223         2015-05-07 18:58:20 UTC
374224
374225         · 23d7e7ef92       Merge      pull      request      #23447      from
374226           jayeshka/grafana-states-unit-test
374227
374228         · 7e90a4aaca adding states/grafana unit test case
374229
374230       · PR #23438: (techhat) Gate requests import @ 2015-05-07 07:22:58 UTC
374231
374232         · 1fd0bc2011 Merge pull request #23438 from techhat/gaterequests
374233
374234         · d5b15fc6ce Gate requests import
374235
374236       · PR #23429: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
374237         2015-05-07 05:35:13 UTC
374238
374239         · 3c4f734332   Merge   pull  request  #23429  from  basepi/merge-for‐
374240           ward-2015.5
374241
374242         · 7729834d92  Merge  remote-tracking  branch  'upstream/2014.7'  into
374243           merge-forward-2015.5
374244
374245         · 644eb75fec Merge pull request #23422 from cro/gce_sh_home
374246
374247           · 4ef9e6ba06  Don't use $HOME to find user's directory, some shells
374248             don't set it
374249
374250         · ef17ab4b2a Merge  pull  request  #23425  from  basepi/functionwrap‐
374251           per_typo
374252
374253           · c390737f3e Fix typo in FunctionWrapper
374254
374255         · 1b13ec04c2 Merge pull request #23385 from rallytime/bp-23346
374256
374257           · 9efc13c810 more linting fixes
374258
374259           · cf131c9a5a cleaned up some pylint errors
374260
374261           · f981699c75  added logic to sftp_file and file_map to allow folder
374262             uploads using file_map
374263
374264         · f8c7a62089 Merge pull request #23414 from jfindlay/update_branch
374265
374266           · 8074d16d52 2015.2 -> 2015.5
374267
374268         · 54b3bd43e4  Merge  pull  request  #23404   from   hvnsweeting/cher‐
374269           rypy-post-emptybody-fix
374270
374271           · f85f8f954c initialize var when POST body is empty
374272
374273         · 160f703296    Merge    pull    request    #23409   from   terminal‐
374274           mage/update-lithium-docstrings-2014.7
374275
374276           · bc97d011ba Fix sphinx typo
374277
374278           · 20006b06f6 Update Lithium docstrings in 2014.7 branch
374279
374280         · aa5fb0aa46 Merge pull request #23397 from jfindlay/fix_locale_gen
374281
374282           · 0941fefd2b add more flexible whitespace to locale_gen search
374283
374284       · PR #23396: (basepi) [2015.2] Merge forward from 2014.7  to  2015.2  @
374285         2015-05-06 21:42:35 UTC
374286
374287         · 1fb84450f4   Merge   pull  request  #23396  from  basepi/merge-for‐
374288           ward-2015.2
374289
374290         · 2766c8cb4b Fix typo in FunctionWrapper
374291
374292         · fd09cdae6f  Merge  remote-tracking  branch  'upstream/2014.7'  into
374293           merge-forward-2015.2
374294
374295           · 0c76dd4d8a Merge pull request #23368 from kaithar/bp-23367
374296
374297             · 577f41972e Pylint fix
374298
374299             · 8d9acd1f89 Put the sed insert statement back in to the output.
374300
374301           · 3493cc1fca    Merge    pull   request   #23350   from   lorengor‐
374302             don/file.replace_assume_line
374303
374304             · b60e224beb Append/prepend: search for full line
374305
374306           · 7be5c48ad5 Merge pull request #23341 from cachedout/issue_23026
374307
374308             · e98e65e787 Fix tests
374309
374310             · 6011b437ca Fix syndic pid and logfile path
374311
374312           · ea61abfa68 Merge pull request  #23272  from  basepi/salt-ssh.min‐
374313             ion.config.19114
374314
374315             · c223309bb7 Add versionadded
374316
374317             · be7407feae Lint
374318
374319             · c2c337567e Missing comma
374320
374321             · 8e3e8e073a Pass the minion_opts through the FunctionWrapper
374322
374323             · cb69cd07de  Match the master config template in the master con‐
374324               fig reference
374325
374326             · 87fc3161f9 Add Salt-SSH section to master config template
374327
374328             · 91dd9dcbdc Add ssh_minion_opts to master config ref
374329
374330             · c273ea14c6 Add minion config to salt-ssh doc
374331
374332             · a0b6b760c3 Add minion_opts to roster docs
374333
374334             · 5212c35260 Accept minion_opts from the target information
374335
374336             · e2099b6e1b Process ssh_minion_opts from master config
374337
374338             · 3b64214377 Revert "Work around bug in  salt-ssh  in  config.get
374339               for gpg renderer"
374340
374341             · 494953a208 Remove the strip (embracing multi-line YAML dump)
374342
374343             · fe87f0fe39 Dump multi-line yaml into the SHIM
374344
374345             · b751a7281c Inject local minion config into shim if available
374346
374347           · 4f760dd9cb  Merge  pull request #23347 from basepi/salt-ssh.func‐
374348             tionwrapper.contains.19114
374349
374350             · 30595e3ff7 Backport FunctionWrapper.__contains__
374351
374352           · 02658b1e60 Merge pull request #23344 from cachedout/issue_22742
374353
374354             · 5adc96ce7f Explicitely set file_client on master
374355
374356           · ba7605d1cb     Merge      pull      request      #23318      from
374357             cellscape/honor-seed-argument
374358
374359             · 228b1be299 Honor seed argument in LXC container initializaton
374360
374361           · 4ac4509c57 Merge pull request #23307 from jfindlay/fix_locale_gen
374362
374363             · 101199ac14 check for /etc/locale.gen
374364
374365           · f790f42ed6  Merge pull request #23324 from s0undt3ch/hotfix/boot‐
374366             strap-script-2014.7
374367
374368           · 6643e47ce5 Update to the latest stable release of  the  bootstrap
374369             script v2015.05.04
374370
374371       · PR  #23412:  (rahulhan)  Adding  states/win_update.py  unit  tests  @
374372         2015-05-06 18:31:09 UTC
374373
374374         · b3c16720f6    Merge    pull    request    #23412    from     rahul‐
374375           han/states_win_update_unit_test
374376
374377         · 9bc1519ee7 Removed unwanted imports
374378
374379         · f12bfcf248 Adding states/win_update.py unit tests
374380
374381       · PR  #23413:  (terminalmage)  Update  manpages  for 2015.2 -> 2015.5 @
374382         2015-05-06 17:12:57 UTC
374383
374384         · f2d7646a58 Merge pull request #23413 from  terminalmage/update-man‐
374385           pages
374386
374387         · 23fa4402dc Update manpages to reflect 2015.2 rename to 2015.5
374388
374389         · 0fdaa73c84 Fix missed docstring updates from 2015.2 -> 2015.5
374390
374391         · 4fea5ba477 Add missing RST file
374392
374393       · PR  #23410: (terminalmage) Update Lithium docstrings in 2015.2 branch
374394         @ 2015-05-06 15:53:52 UTC
374395
374396         · PR #23409:  (terminalmage)  Update  Lithium  docstrings  in  2014.7
374397           branch (refs: #23410)
374398
374399         · bafbea7bc7    Merge    pull    request    #23410   from   terminal‐
374400           mage/update-lithium-docstrings-2015.2
374401
374402         · d395565bf7 Update Lithium docstrings in 2015.2 branch
374403
374404       · PR #23407: (jayeshka)  adding  rsync  unit  test  case  @  2015-05-06
374405         15:52:23 UTC
374406
374407         · 02ef41a549 Merge pull request #23407 from jayeshka/rsync-unit-test
374408
374409         · a4dd836125 adding rsync unit test case
374410
374411       · PR  #23406:  (jayeshka) adding states/lxc unit test case @ 2015-05-06
374412         15:51:50 UTC
374413
374414         · 58ec2a24c1      Merge      pull      request      #23406       from
374415           jayeshka/lxc-states-unit-test
374416
374417         · 32a0d03093 adding states/lxc unit test case
374418
374419       · PR #23395: (basepi) [2015.2] Add note to 2015.2.0 release notes about
374420         master opts in pillar @ 2015-05-05 22:15:20 UTC
374421
374422         · 8837d0038e Merge pull request #23395 from basepi/2015.2.0masteropts
374423
374424         · b261c95cd6 Add note to 2015.2.0 release notes about master opts  in
374425           pillar
374426
374427       · PR  #23393:  (basepi) [2015.2] Add warning about python_shell changes
374428         to 2015.2.0 release notes @ 2015-05-05 22:12:46 UTC
374429
374430         · f79aed5fe1      Merge      pull      request      #23393       from
374431           basepi/2015.2.0python_shell
374432
374433         · b2f033f485 Add CLI note
374434
374435         · 48e7b3ee4f  Add  warning  about  python_shell  changes  to 2015.2.0
374436           release notes
374437
374438       · PR #23380: (gladiatr72) Fix  for  double  output  with  static   salt
374439         cli/v2015.2 @ 2015-05-05 21:44:28 UTC
374440
374441         · a9777761d8  Merge  pull request #23380 from gladiatr72/fix_for_dou‐
374442           ble_output_with_static__salt_CLI/v2015.2
374443
374444         · c47fdd79c7 Actually removed the static bits from  below  the  else:
374445           fold this time.
374446
374447         · 4ee367956c Fix for incorrect output with salt CLI --static option
374448
374449       · PR  #23379: (rahulhan) Adding states/rabbitmq_cluster.py @ 2015-05-05
374450         21:44:06 UTC
374451
374452         · 5c9543c1d2 Merge  pull  request  #23379  from  rahulhan/states_rab‐
374453           bitmq_cluster_test
374454
374455         · 04c22d1acf Adding states/rabbitmq_cluster.py
374456
374457       · PR  #23377:  (rahulhan) Adding states/xmpp.py unit tests @ 2015-05-05
374458         21:43:35 UTC
374459
374460         · 430f080a3a Merge pull request #23377 from rahulhan/states_xmpp_test
374461
374462         · 32923b53c3 Adding states/xmpp.py unit tests
374463
374464       · PR #23335: (steverweber) 2015.2: include doc  in  master  config  for
374465         module_dirs @ 2015-05-05 21:28:58 UTC
374466
374467         · 8c057e6794 Merge pull request #23335 from steverweber/2015.2
374468
374469         · 5e3bae95d8 help installing python pysphere lib
374470
374471         · 97513b060a include module_dirs
374472
374473         · 36b1c87dd2 include module_dirs
374474
374475       · PR  #23362:  (jayeshka) adding states/zk_concurrency unit test case @
374476         2015-05-05 15:50:06 UTC
374477
374478         · 1648253675  Merge  pull  request  #23362  from  jayeshka/zk_concur‐
374479           rency-states-unit-test
374480
374481         · f60dda4b1d adding states/zk_concurrency unit test case
374482
374483       · PR  #23363:  (jayeshka)  adding  riak  unit  test  case  @ 2015-05-05
374484         14:23:05 UTC
374485
374486         · 1cdaeed868 Merge pull request #23363 from jayeshka/riak-unit-test
374487
374488         · f9da6db459 adding riak unit test case
374489
374490   Salt 2015.5.10 Release Notes
374491       release
374492              2015-03-22
374493
374494       Version 2015.5.10 is a bugfix release for 2015.5.0.
374495
374496   Security Fix
374497       CVE-2016-3176 Insecure configuration  of  PAM  external  authentication
374498       service
374499
374500       This  issue  affects all Salt versions prior to 2015.8.8/2015.5.10 when
374501       PAM external authentication is enabled. This issue involves passing  an
374502       alternative  PAM  authentication service with a command that is sent to
374503       LocalClient, enabling the attacker to bypass the configured authentica‐
374504       tion service. Thank you to Dylan Frese <dmfrese@gmail.com> for bringing
374505       this issue to our attention.
374506
374507       This update defines the  PAM  eAuth  service  that  users  authenticate
374508       against in the Salt Master configuration.
374509
374510       No additional fixes are included in this release.
374511
374512   Read  Before  Upgrading  Debian  8 (Jessie) from Salt Versions Earlier than
374513       2015.5.9
374514       Salt systemd service files are missing the following statement in these
374515       versions:
374516
374517          [Service]
374518          KillMode=process
374519
374520       This  statement  must be added to successfully upgrade on these earlier
374521       versions of Salt.
374522
374523   Changelog for v2015.5.9..v2015.5.10
374524       Generated at: 2018-05-27 22:39:26 UTC
374525
374526       · 69ba1de71d Remove ability of authenticating user to specify pam  ser‐
374527         vice
374528
374529   Salt 2015.5.11 Release Notes
374530       release
374531              2015-07-22
374532
374533       Version 2015.5.11 is a bugfix release for 2015.5.0.
374534
374535   Statistics
374536       · Total Merges: 101
374537
374538       · Total Issue References: 73
374539
374540       · Total PR References: 162
374541
374542       · Contributors:  46 (AndrewPashkin, Ch3LL, DmitryKuzmenko, TheNullByte,
374543         UtahDave, abednarik, amontalban, anlutro, attiasr, basepi, borgstrom,
374544         brejoc,  bstevenson,  cachedout,  carlwgeorge,  efficks,  gerhardqux,
374545         gtmanfred,  heyfife,  jacobhammons,  jfindlay,   justinta,   lomeroe,
374546         lorengordon,  mtorromeo,  nmadhok,  notpeter,  paclat, pcn, phistrom,
374547         rallytime, robgott, sacren, sastorsl, serge-p, sjmh, sjorge, techhat,
374548         terminalmage,  thatch45,  thegoodduke,  toanju,  tomwalsh,  twangboy,
374549         whiteinge, yannis666)
374550
374551   Changelog for v2015.5.10..v2015.5.11
374552       Generated at: 2018-05-27 22:41:56 UTC
374553
374554       · PR #33412: (jfindlay) update 2015.5.11 release notes
374555
374556       · PR #33405: (rallytime) Back-port #33386 to 2015.5
374557
374558       · PR #33386: (terminalmage) Fix traceback in logging for config valida‐
374559         tion (refs: #33405)
374560
374561       · ISSUE #33376: (tmehlinger) pip state broken in 2015.8.9 with pip <6.0
374562         (refs: #33383)
374563
374564       · PR #33383: (thatch45) maintain the fallabck because I am totally sick
374565         of this crap @ 2016-05-20 00:03:59 UTC
374566
374567         · d15f5e2cef Merge pull request #33383 from thatch45/2015.5
374568
374569         · f5ebcba21c restore whitespace
374570
374571         · 1d8b289db1 blast, put the try/except int he right place
374572
374573         · 081e6c5b83  maintain the fallabck because I am totally sick of this
374574           crap
374575
374576         · PR #33379: (cachedout) Improve doc clarity for disable_modules doc‐
374577           umentation
374578
374579       · ISSUE  #26574:  (jfindlay)  minion stacktrace on top file yaml syntax
374580         error (refs: #33375)
374581
374582         · PR #33375: (cachedout) Better YAML syntax error handling
374583
374584       · PR #33372: (jacobhammons) revved  2015.8  branch  to  .9  in  version
374585         selector @ 2016-05-19 20:05:35 UTC
374586
374587         · bb3e98cad2    Merge    pull    request    #33372   from   jacobham‐
374588           mons/release-update
374589
374590         · 5ce502160b revved 2015.8 branch to .9 in version selector
374591
374592         · PR #33341: (phistrom) Expanded documentation for boto_elb state and
374593           module
374594
374595       · ISSUE  #32400:  (rallytime)  Document  Default  Config  Values (refs:
374596         #33286, #33292, #32538, #33287, #32454, #33282)
374597
374598         · PR #33292: (rallytime) Added some more docs for master  and  minion
374599           config settings
374600
374601       · ISSUE #23643: (falzm) Error in iptables module: argument --match-set:
374602         expected 2 argument(s) (refs: #33301)
374603
374604         · PR #33301: (gerhardqux) Fix iptables --match-set (#23643)
374605
374606         · PR #33290: (UtahDave) fix "loose" typo
374607
374608       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
374609         #33286, #33292, #32538, #33287, #32454, #33282)
374610
374611         · PR  #33287:  (rallytime) Add auth_tries config option to minion.rst
374612           docs
374613
374614         · PR #33286: (rallytime) Document new master and minion  config  opts
374615           for 2016.3.0 (refs: #33287)
374616
374617       · ISSUE  #33276:  (sjmh)  minion_id_caching has no documentation (refs:
374618         #33282)
374619
374620       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
374621         #33286, #33292, #32538, #33287, #32454, #33282)
374622
374623         · PR #33282: (rallytime) Document minion_id_caching config value
374624
374625       · ISSUE  #33118: (saltuser) file.replace not working correctly on newer
374626         minions (refs: #33137)
374627
374628         · PR #33137: (lorengordon) Clarify file.replace MULTILINE flag inter‐
374629           action with regex anchors
374630
374631         · PR #33236: (jfindlay) update 2015.5.11 release notes
374632
374633       · ISSUE  #32250:  (ikryten) Cannot run salt-minion as unprivileged user
374634         using 'user' directive (refs: #33211)
374635
374636       · PR #33211: (cachedout) Don't try to kill a parent proc if we can't  @
374637         2016-05-12 21:29:50 UTC
374638
374639         · 698f1eb657 Merge pull request #33211 from cachedout/user_kill
374640
374641         · d4f2e5baa7 Don't try to kill a parent proc if we can't
374642
374643       · ISSUE  #32198:  (goatjam)  State 'pkg.installed' was not found in SLS
374644         (refs: #33205)
374645
374646         · PR #33205: (cachedout) Resolve issue with pkg module on Mint Linux
374647
374648         · PR #33178: (justinta) Add pip installed and removed test
374649
374650         · PR #33197: (jfindlay) update 2015.5.11 release notes
374651
374652         · PR #33181: (twangboy) Fix file.managed for Windows
374653
374654         · PR #33185: (rallytime) [2015.5] Update to latest  bootstrap  script
374655           v2016.05.11
374656
374657       · ISSUE  #33163:  (jaybocc2) Salt 2015.8.5 incompatible with Pip v8.1.2
374658         (refs: #33180)
374659
374660         · PR #33180: (thatch45) Pip fix
374661
374662         · PR #33160: (jfindlay) add 2015.5.11 release notes
374663
374664         · PR #33155: (rallytime) [2015.5] Update to latest  bootstrap  script
374665           v2016.05.10
374666
374667       · PR  #33141:  (justinta)  Skipping salt-call --local test @ 2016-05-10
374668         17:05:17 UTC
374669
374670         · 6cd1641840   Merge   pull   request    #33141    from    jtand/dis‐
374671           able_local_pkg_install_test
374672
374673         · 8b1e34fb17 Skipping salt-call --local test
374674
374675       · ISSUE #33085: (fmnisme) salt doc err (refs: #33132)
374676
374677         · PR #33132: (whiteinge) Doc mock decorators
374678
374679       · ISSUE  #33074:  (robnagler)  Critical error in msgpack exposes pillar
374680         data (refs: #33078)
374681
374682         · PR #33078: (cachedout) Lower display  of  msgpack  failure  msg  to
374683           debug
374684
374685         · PR #33080: (justinta) Use saltstack repo in buildpackage.py on Cen‐
374686           tOS 5
374687
374688         · PR #33025: (Ch3LL) add test  for  installing  package  while  using
374689           salt-call --local
374690
374691         · PR  #33055:  (justinta)  File  and  User  test  fixes for 2015.5 on
374692           Fedora23
374693
374694         · PR #33060: (Ch3LL) Test pillar.items output
374695
374696         · PR #33067: (sacren) Fix minor document error of test.assertion
374697
374698         · PR #33045: (Ch3LL) Saltfile with pillar tests
374699
374700         · PR #33044: (thatch45) Backport #33021 manually to 2015.5
374701
374702         · PR #33021: (UtahDave) Fix syndic regression (refs: #33044)
374703
374704       · ISSUE #22580: (ryanwalder) minion runs highstate on start if schedule
374705         set in pillar  (refs: #32958)
374706
374707         · PR #32958: (rallytime) Add run_on_start docs to schedule.rst
374708
374709       · ISSUE #23714: (naemono) file.copy force ignored during highstate, but
374710         not with 'salt-call state.sls_id' (refs: #32732, #32848)
374711
374712         · PR #32848: (lomeroe) backport PR #32732 to 2015.5 fixes #23714
374713
374714         · PR #32732: (lomeroe) correct use of force flag in file.copy  #23714
374715           (refs: #32848)
374716
374717         · PR  #32837:  (jfindlay) salt-cloud -u downloads stable version from
374718           bootstrap.saltstack.com by default
374719
374720         · PR #32667:  (jfindlay)  [2015.5]  update  bootstrap  to  2016.04.18
374721           release
374722
374723       · PR #32776: (rallytime) [2015.5] Merge forward from 2014.7 to 2015.5 @
374724         2016-04-25 15:18:12 UTC
374725
374726         · c842e1e437 Merge pull request #32776 from rallytime/merge-2015.5
374727
374728         · 7ecbf9f885 Merge pull request #14 from whiteinge/runner-async-low
374729
374730           · 211f7b4af1 Format low data correct for runner_async
374731
374732         · ce72851861 Merge branch '2014.7' into '2015.5'
374733
374734         · 2775edc176 Saltnado /run fix (#32590)
374735
374736         · b19c5a5ce7 Verify auth in saltnado run (#32552)
374737
374738         · PR #32691: (terminalmage) Support remote sources in a source list
374739
374740       · ISSUE #32661: (dergrunepunkt) Batch exception w/dulpicated minion IDs
374741         (refs: #32686)
374742
374743       · PR  #32686: (cachedout) Fix stacktrace in batch with dup minion ids @
374744         2016-04-19 19:18:50 UTC
374745
374746         · bd5442d768 Merge pull request #32686 from cachedout/issue_32661
374747
374748         · f704df90bc Fix stacktrace in batch with dup minion ids
374749
374750         · PR #32675: (basepi) [2015.5] Update "Low Hanging  Fruit"  to  "Help
374751           Wanted"
374752
374753       · ISSUE  #32612:  (oliver-dungey) Calling Salt Modules from Templates -
374754         more complex examples would be great (refs: #32657)
374755
374756         · PR #32657: (cachedout) Additional  documentation  on  calling  exec
374757           modules from templates
374758
374759         · PR  #32639: (nmadhok) [2015.5] - Fixing critical bug to remove only
374760           the specified Host instead of the entire Host cluster
374761
374762         · PR #32638: (nmadhok) [2015.5] Adding _syspaths.py to .gitignore
374763
374764       · ISSUE #32381: (tbaker57) user.present state includes shadow  hash  in
374765         return when user updated  (refs: #32561)
374766
374767       · PR  #32561: (gtmanfred) redact passwords and hashes from user.present
374768         updates @ 2016-04-14 15:48:59 UTC
374769
374770         · 027b502335 Merge pull request #32561 from gtmanfred/user_passwords
374771
374772         · 3db5e78d5d redact passwords and hashes from user.present updates
374773
374774       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
374775         #33286, #33292, #32538, #33287, #32454, #33282)
374776
374777       · PR  #32538:  (rallytime)  Back-port  #32528  to  2015.5  @ 2016-04-13
374778         15:06:14 UTC
374779
374780         · PR #32528: (AndrewPashkin) Document "grains" setting in the  minion
374781           configuration reference (refs: #32538)
374782
374783         · 7307bcb88e Merge pull request #32538 from rallytime/bp-32528
374784
374785         · 46a4e8a310 Remove merge conflict line
374786
374787         · e0d947c707  Document  "grains"  setting in the minion configuration
374788           reference
374789
374790       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
374791         #33286, #33292, #32538, #33287, #32454, #33282)
374792
374793         · PR  #32454:  (rallytime)  Add  documentation for some master/minion
374794           configs
374795
374796       · ISSUE #32413: (commutecat) Raspbian detected by both  systemd.py  and
374797         service.py __virtual__ functions (refs: #32421, #32458)
374798
374799       · PR  #32458: (terminalmage) Improve and clarify docs on provider over‐
374800         rides.  @ 2016-04-09 14:25:42 UTC
374801
374802         · 100c6e1b25  Merge  pull  request  #32458  from   terminalmage/clar‐
374803           ify-providers-docs
374804
374805         · 500d3ebbaa  Add  link  to  provider  override  docs  to  all  group
374806           providers
374807
374808         · 83ca01f620  dd  link  to  provider  override  docs  to  all  shadow
374809           providers
374810
374811         · c5fe38789d Add link to provider override docs to all user providers
374812
374813         · 5c1c1dda59  Add  link  to  provider  override  docs  to all service
374814           providers
374815
374816         · 736f2befc9 Add link  to  provider  override  docs  to  all  package
374817           providers
374818
374819         · f9306347cc Clarify the scope of the provider param in states.
374820
374821         · af24c82ab0  Add  documentation on virtual module provider overrides
374822           to the module docs
374823
374824         · 0bc6c97a63 Improve docstrings
374825
374826         · 1948920674 Add external ref to windows package manager docs
374827
374828         · e7fa21438c Add new doc pages to toctree
374829
374830         · f0de1236ec Move the tables of virtual modules to  individual  docu‐
374831           mentation pages
374832
374833       · ISSUE #11497: (eeaston) cmd.run cwd should not be checked before pre‐
374834         conditions (refs: #32293)
374835
374836         · PR #32418: (rallytime) Merge #32293 with test fixes
374837
374838         · PR #32293: (efficks) Fix issue #11497 (refs: #32418)
374839
374840       · ISSUE #32413: (commutecat) Raspbian detected by both  systemd.py  and
374841         service.py __virtual__ functions (refs: #32421, #32458)
374842
374843         · PR #32421: (terminalmage) Ignore Raspbian in service.py __virtual__
374844
374845       · ISSUE  #1409:  (twinshadow) module/network.py: Interfaces do not list
374846         multiple addesses
374847
374848       · ISSUE saltstack/salt#28262: (palica) FreeBSD pkgng  provider  raising
374849         error for minion (refs: #32376)
374850
374851       · ISSUE  #28262: (palica) FreeBSD pkgng provider raising error for min‐
374852         ion (refs: #32399, #32376)
374853
374854       · PR  #32399:  (amontalban)  Backport  to  fix  #28262  for  2015.5  as
374855         requested in PR #32376 @ 2016-04-06 22:48:23 UTC
374856
374857         · PR #32376: (amontalban) Fixes saltstack/salt#28262 (refs: #32399)
374858
374859         · a36866d7db Merge pull request #32399 from amontalban/2015.5
374860
374861         · e1ffbd615a Fixes saltstack/salt#28262 for 2015.5 branch
374862
374863       · ISSUE #32066: (guettli) Proxmox docs outdated (refs: #32374)
374864
374865       · PR  #32374:  (cachedout)  Update  proxmox  documentation @ 2016-04-05
374866         22:25:16 UTC
374867
374868         · 3f03c5fcf9 Merge pull request #32374 from cachedout/issue_32066
374869
374870         · 62389d1d1a Update proxmox documentation
374871
374872       · PR #32339: (Ch3LL) remove reference to master_alive_check in 2015.5 @
374873         2016-04-04 20:39:24 UTC
374874
374875         · 8578089beb  Merge pull request #32339 from Ch3LL/fix_doc_multi-mas‐
374876           ter
374877
374878         · 2774da288d remove reference to master_alive_check
374879
374880       · ISSUE #32044: (ScoreUnder) Multiple masters throwing  warnings?  "Key
374881         master  with  value  [...]  has  an  invalid  type  of list, a str is
374882         required for this value" (refs: #32129)
374883
374884       · PR #32284: (rallytime) Audit config.py default  types  and  values  @
374885         2016-04-02 02:00:38 UTC
374886
374887         · PR  #32129: (terminalmage) Support multiple valid option types when
374888           performing type checks (refs: #32284)
374889
374890         · fbdc47cc55 Merge pull request #32284 from rallytime/config-audit
374891
374892         · 0491513204 Don't be so explicit. Just use string_types.
374893
374894         · 083c477fd3 Use six.string_types in config default tuples
374895
374896         · 7e642b8381 Audit config.py default types and values - first sweep
374897
374898       · ISSUE #32301: (terminalmage)  pkg.latest_version  returns  inaccurate
374899         version  when  blank  "Release"  param set in package metadata (refs:
374900         #32302)
374901
374902       · PR  #32302:  (terminalmage)  Properly  support  packages  with  blank
374903         "Release" param in pkg.latest_version @ 2016-04-01 22:13:27 UTC
374904
374905         · 0a6d44e57b  Merge  pull  request #32302 from terminalmage/fix-miss‐
374906           ing-release
374907
374908         · 413c371ccd Properly support packages with blank "Release" param  in
374909           pkg.latest_version
374910
374911       · ISSUE  #31963:  (UtahDave)  pkgrepo.managed  state  test=True doesn't
374912         actually test if changes need to be made. (refs: #32162)
374913
374914       · PR #32162: (terminalmage) Properly handle yum/zypper repositories  in
374915         pkgrepo.managed @ 2016-03-30 17:51:05 UTC
374916
374917         · 5d08db7c92 Merge pull request #32162 from terminalmage/issue31963
374918
374919         · 5c1bdb812c Fix pkgrepo integration test
374920
374921         · e7fb3095ce  Properly handle yum/zypper repositories in pkgrepo.man‐
374922           aged
374923
374924         · add2111fec Use six.iteritems instead of dict.items
374925
374926         · 6c21881c38 Docstring tweaks
374927
374928         · ecbb78b649 Remove useless function
374929
374930         · 06f3309552 Normalize variable naming to match other functions
374931
374932         · 690537ca8b Look for apt-add-repository in PATH instead of  assuming
374933           it's there
374934
374935         · 709d80bb1b   aptpkg:   Accept   **kwargs  instead  of  a  dict  for
374936           pkg.expand_repo_def
374937
374938       · ISSUE #31976: (moltob) Schedules not persisted on Windows minion (In‐
374939         staller issue) (refs: #32223)
374940
374941       · PR  #32223:  (twangboy) Create minion.d directory on install for Win‐
374942         dows @ 2016-03-30 14:43:27 UTC
374943
374944         · 4fcdaab428 Merge pull request #32223 from twangboy/fix_31976
374945
374946         · b7fcae97ce Create minion.d directory, fixes #31976
374947
374948       · ISSUE #31501: (grep4linux) Salt states fail with  error   'Failed  to
374949         return clean data' when using salt-ssh in Amazon EC2  (refs: #32218)
374950
374951       · PR  #32218:  (cachedout)  Only  display  error  when  tty  is True in
374952         salt-ssh @ 2016-03-29 19:13:44 UTC
374953
374954         · 3309ff6a29 Merge pull request #32218 from cachedout/issue_31501
374955
374956         · 6795d6aef0 Only display error when tty is True in salt-ssh
374957
374958       · PR  #32196:  (justinta)  Fixed  pylint  error  in  app_pam_test.py  @
374959         2016-03-28 23:59:42 UTC
374960
374961         · 6e0cb22c96    Merge    pull   request   #32196   from   jtand/cher‐
374962           rypy_pam_test_lint_fix
374963
374964         · bd3942e0fd Fixed pylint error in app_pam_test.py
374965
374966       · PR #32154: (Ch3LL) Add integration tests for salt-api using pam eauth
374967         @ 2016-03-28 16:06:36 UTC
374968
374969         · PR  #31826:  (gtmanfred)  Remove  ability of authenticating user to
374970           specify pam service (refs: #32154)
374971
374972         · 6b8b8b51c0 Merge pull request #32154 from Ch3LL/ch3ll_pam_2015.5
374973
374974         · ba605b0128 fix more pylint and add ability to close cherrypy engine
374975
374976         · 2d4dc4da05 add teardown call
374977
374978         · d115878714 fix pylint error
374979
374980         · 4c1ab082b6 add pam salt-api tests
374981
374982       · PR #32170: (gtmanfred) add name for lxc for use with  cloud  cache  @
374983         2016-03-28 14:34:16 UTC
374984
374985         · 230443be6c Merge pull request #32170 from gtmanfred/lxc_cloud_name
374986
374987         · eb7d82e7be add name for lxc for use with cloud cache
374988
374989       · ISSUE  #31731:  (sjorge) rh_service references osrelease before it is
374990         available, also does not return bool (refs: #32165)
374991
374992         · PR #32165: (terminalmage) Make __virtual__  for  rhservice.py  more
374993           robust (refs: #32164)
374994
374995       · PR  #32164:  (terminalmage)  Make  __virtual__  for rhservice.py more
374996         robust (2015.5 branch) (refs: #32165) @ 2016-03-27 18:21:52 UTC
374997
374998         · 32b0421a34   Merge   pull    request    #32164    from    terminal‐
374999           mage/issue31731-2015.5
375000
375001         · 18439c4f89  Make  __virtual__  for rhservice.py more robust (2015.5
375002           branch)
375003
375004       · PR #32141: (paclat) fixes 32108 @ 2016-03-25 16:50:59 UTC
375005
375006         · 6212e9aa56 Merge pull request #32141 from paclat/issue_32108
375007
375008         · 72c5d12d43 fixes 32108
375009
375010       · ISSUE #32044: (ScoreUnder) Multiple masters throwing  warnings?  "Key
375011         master  with  value  [...]  has  an  invalid  type  of list, a str is
375012         required for this value" (refs: #32129)
375013
375014       · PR #32129: (terminalmage) Support multiple valid  option  types  when
375015         performing type checks (refs: #32284) @ 2016-03-24 21:16:29 UTC
375016
375017         · bdd7ea89d5 Merge pull request #32129 from terminalmage/issue32044
375018
375019         · 34ca1ea12e Change type check errors to debug loglevel
375020
375021         · 5462081488 Support multiple valid option types when performing type
375022           checks
375023
375024       · ISSUE #32052: (bstevenson) list_absent function doesn't loop  through
375025         list of values (refs: #32056)
375026
375027       · PR #32056: (bstevenson) Fix list absent @ 2016-03-24 17:35:00 UTC
375028
375029         · c42014eb54    Merge    pull    request    #32056    from   bsteven‐
375030           son/fix-list_absent
375031
375032         · 1500aae027 set deleted value to list
375033
375034         · 1dc8f5f289 unit test update
375035
375036         · 39adf86fec Fixed negation logic
375037
375038         · be9388173b Removed has_key in lieu of in
375039
375040         · e48593ed81 Comments and Changes output fixes
375041
375042         · b98f5517de Updated to conform to proper ret values
375043
375044         · d18b4be80b remove whitespace end of line 186:q
375045
375046         · d2b89c85ad fix formating
375047
375048         · 103cee9e29 cleaned up formating
375049
375050         · 7a4d7f0bff added whitespace
375051
375052         · 8ea5b545b0 Loop through list values in list_absent
375053
375054       · PR #32096:  (rallytime)  Back-port  #32065  to  2015.5  @  2016-03-23
375055         22:01:36 UTC
375056
375057         · PR  #32065:  (TheNullByte)  Fix  an issue with the minion targeting
375058           example in docs (refs: #32096)
375059
375060         · 848ce5647f Merge pull request #32096 from rallytime/bp-32065
375061
375062         · 36a9d6a374 Fix an issue with the minion targeting example
375063
375064       · PR #32104: (jacobhammons) One additional known  issue  for  2015.5.10
375065         release notes @ 2016-03-23 21:20:50 UTC
375066
375067         · 9b332d48b9 Merge pull request #32104 from jacobhammons/dot10
375068
375069         · b9fc882a1e One additional known issue for 2015.5.10 release notes
375070
375071       · PR   #32100:  (jacobhammons)  2015.5.10  release  docs  @  2016-03-23
375072         20:05:21 UTC
375073
375074         · ff51d548e1 Merge pull request #32100 from jacobhammons/dot10
375075
375076         · 544a1661ce 2015.5.10 release docs
375077
375078       · ISSUE #32037: (terminalmage) Increase the visibility  of  state.apply
375079         in Salt's documentation (refs: #32038)
375080
375081       · PR  #32038:  (terminalmage) Improve state module docs, replace refer‐
375082         ences to  state.highstate/state.sls  with  state.apply  @  2016-03-23
375083         17:08:02 UTC
375084
375085         · 72a20f9799 Merge pull request #32038 from terminalmage/issue32037
375086
375087         · 8b2d983324 Add reference to state tutorial to state.apply docstring
375088
375089         · 9b4fe8443e  Move highstate usage details to top of state.apply doc‐
375090           string
375091
375092         · 74ee8c54bc Clarify prior role of state.highstate in states tutorial
375093
375094         · 1b97e4a3df  Improve  state  module  docs,  replace  references   to
375095           state.highstate/state.sls with state.apply
375096
375097       · PR  #32051: (terminalmage) Fix outputter for state.apply @ 2016-03-23
375098         16:42:43 UTC
375099
375100         · 908a7bf5cd   Merge   pull    request    #32051    from    terminal‐
375101           mage/fix-state-apply-output
375102
375103         · 7d7cb45565 Fix outputter for state.apply
375104
375105       · ISSUE #31788: (crocket) pkg.installed doesn't work on Manjaro. (refs:
375106         #32002)
375107
375108       · PR #32002: (abednarik) Added Manajro Linux to virtual.  @  2016-03-21
375109         17:55:16 UTC
375110
375111         · 0e66f678d4   Merge  pull  request  #32002  from  abednarik/pkg_man‐
375112           jaron_issue31788
375113
375114         · 1b052d0a66 Added Manajro Linux to virtual. List extended with Mana‐
375115           jaroLinux in order su load pacman module.
375116
375117       · PR #31957: (rallytime) [2015.5] Merge forward from 2014.7 to 2015.5 @
375118         2016-03-18 15:12:22 UTC
375119
375120         · ba5bf62c1a Merge pull request #31957 from rallytime/merge-2015.5
375121
375122         · 1b6ec5d445 Merge branch '2014.7' into '2015.5'
375123
375124           · ba73deee46   Merge    pull    request    #31929    from    twang‐
375125             boy/fix_build_script
375126
375127             · 2c5599d2bc Backport build script from 2015.8
375128
375129             · ce74991dd0 Fix nsi script to work with new build process
375130
375131       · PR  #31972:  (terminalmage)  Make  lack  of  python-ldap  module more
375132         explicit when LDAP eauth is enabled @ 2016-03-18 15:11:59 UTC
375133
375134         · a52e3ad7a1 Merge pull request #31972 from terminalmage/zh-584
375135
375136         · 1e5639e495 Make lack of python-ldap module more explicit when  LDAP
375137           eauth is enabled
375138
375139       · PR  #31935:  (twangboy) Back port nullsoft build script from 2015.8 @
375140         2016-03-17 14:54:50 UTC
375141
375142         · 2d1f2a0c2e    Merge    pull    request    #31935    from     twang‐
375143           boy/fix_build_script2
375144
375145         · 4af8c9dbfc Back port nullsoft build script from 2015.8
375146
375147       · PR  #31912:  (jfindlay)  log.mixins: remove extermporaneous .record @
375148         2016-03-16 01:56:46 UTC
375149
375150         · 43240dc566 Merge pull request #31912 from jfindlay/log_mixin
375151
375152         · 9f9c694654 log.mixins: remove extermporaneous .record
375153
375154       · PR #31825: (justinta) Updated .testing.pylintrc to match  newer  ver‐
375155         sions of pylint @ 2016-03-15 18:12:44 UTC
375156
375157         · 440e0dcbe0 Merge pull request #31825 from jtand/udpate_pylintrc
375158
375159         · 9a14e02766 Updated beacons/sh.py to work with enumerate()
375160
375161         · 0ecec691a0 Adjusted beacons to work with enumerate better
375162
375163         · f509b4113e Fixed final lint error
375164
375165         · 5945b3f11f Fix and disable pylint errors
375166
375167         · 06ae6eaf55 Fixed pylint errors on jboss state and module
375168
375169         · de96db97c8 Fixed more pylint errors, and disabled some more
375170
375171         · c07b0a20b5 Merge branch 'lint_fixes' into udpate_pylintrc
375172
375173           · 2e6a152308 Fixed lint error in lxc.py
375174
375175           · 908ca1a439 Fixed lint error in ssh_py_shim
375176
375177           · 404c1b50f7 Changed range(len()) to enumerate()
375178
375179           · 1e13586546 Changed range(len()) to enumerate()
375180
375181         · 9ccce7a9a5 Added more disables
375182
375183         · 9c1aab3b4e  Updated  .testing.pylintrc  to  match newer versions of
375184           pylint
375185
375186       · ISSUE #31867: (damon-atkins) " __virtual__ returned False" is  not  a
375187         clear error message (refs: #31878, #31900)
375188
375189       · PR #31900: (rallytime) Add "python module" clarification to ps __vir‐
375190         tual__ warning.  @ 2016-03-15 17:59:35 UTC
375191
375192         · 471c9444a3  Merge  pull  request  #31900  from   rallytime/fix-psu‐
375193           til-warning
375194
375195         · 22403d69ae  Add  "python  module"  clarification  to ps __virtual__
375196           warning.
375197
375198       · ISSUE #31867: (damon-atkins) " __virtual__ returned False" is  not  a
375199         clear error message (refs: #31878, #31900)
375200
375201       · ISSUE  #19659: (wonderslug) state process.absent is failing on Ubuntu
375202         14.04 because psutil is not installed (refs: #31878)
375203
375204       · PR #31878: (rallytime) Make sure __virtual__ error message is helpful
375205         when psutil is missing @ 2016-03-14 21:31:42 UTC
375206
375207         · c44c1b5e59   Merge  pull  request  #31878  from  rallytime/fix-psu‐
375208           til-warning
375209
375210         · 44b29f72a1 Make sure __virtual__ error message is helpful when psu‐
375211           til is missing
375212
375213       · PR #31852: (rallytime) [2015.5] Merge forward from 2014.7 to 2015.5 @
375214         2016-03-13 02:47:02 UTC
375215
375216         · 5c592b6768 Merge pull request #31852 from rallytime/merge-2015.5
375217
375218         · 1470de17fa Merge branch '2014.7' into '2015.5'
375219
375220         · 218c902091 Merge pull request #31834 from jfindlay/2014.7
375221
375222           · 358fdad0c8 add 2014.7.8 release notes
375223
375224         · a423c6cd04 Merge pull request #31833 from jfindlay/2014.7
375225
375226           · 6910fcc584 add 2014.7.9 release notes
375227
375228         · c5e7c03953 Merge pull request #31826 from gtmanfred/2014.7
375229
375230         · d73f70ebb2 Remove ability of authenticating  user  to  specify  pam
375231           service
375232
375233       · PR #31827: (gtmanfred) Remove ability of authenticating user to spec‐
375234         ify pam service @ 2016-03-11 20:40:19 UTC
375235
375236         · 0cc1d5db03 Merge pull request #31827 from gtmanfred/2015.5
375237
375238         · 979173b78a Remove ability of authenticating  user  to  specify  pam
375239           service
375240
375241       · PR  #31810: (whiteinge) Fix outdated Jinja 'env' variable reference @
375242         2016-03-11 03:52:21 UTC
375243
375244         · 8cf0b9eb3d      Merge      pull      request      #31810       from
375245           whiteinge/saltenv-jinja-var
375246
375247         · cb72b19240 Fix outdated Jinja 'env' variable reference
375248
375249       · ISSUE #31729: (brejoc) Creating VM with salt-cloud fails for provider
375250         Exoscale (Cloudstack) (refs: #31744)
375251
375252       · PR #31744: (brejoc) Fix for  AttributeError  with  libcloud  <0.15  @
375253         2016-03-10 00:15:26 UTC
375254
375255         · 970ef0e445     Merge     pull     request    #31744    from    bre‐
375256           joc/fix-attribute-error-with-older-libcloud/2015.5
375257
375258         · bb29dc2283 Added version to libcloud depends statement
375259
375260         · 87f9534fce Added log message with update suggestion for libcloud
375261
375262         · 72eab406cd Fix for AttributeError with libcloud <0.15
375263
375264       · ISSUE #31666: (sjorge) salt-call --local pillar.items is overly eager
375265         to give data (refs: #31740)
375266
375267       · PR #31740: (terminalmage) Assume pillar_opts is False when not speci‐
375268         fied in masterless mode @ 2016-03-09 22:57:57 UTC
375269
375270         · df2d23ba5d Merge pull request #31740 from terminalmage/issue31666
375271
375272         · aeaf5864cd Fall back to False when pillar_opts not set
375273
375274         · fe19d77eb4 Add default value for pillar_opts on minion
375275
375276       · ISSUE #31749: (milan-milo) salt-cloud spitting  out  error  'Attribu‐
375277         teError: 'NoneType' object has no attribute 'pop'' (refs: #31750)
375278
375279       · ISSUE  #26162:  (nmadhok) VMware cloud driver create function failing
375280         with traceback on latest develop (refs: #26170)
375281
375282       · PR #31750:  (rallytime)  Back-port  #26170  to  2015.5  @  2016-03-09
375283         17:44:14 UTC
375284
375285         · PR  #26170: (nmadhok) [Backport] Make sure variable is a dictionary
375286           before popping something from it. (refs: #31750)
375287
375288         · e22f5c0a26 Merge pull request #31750 from rallytime/bp-26170
375289
375290         · 3c11234a05 Make sure variable is a dictionary before popping  some‐
375291           thing from it.
375292
375293       · ISSUE #30559: (kaidokert) module.wait does not fail when called state
375294         fails (refs: #31689)
375295
375296       · PR #31689:  (rallytime)  Back-port  #29467  to  2015.5  @  2016-03-06
375297         19:26:11 UTC
375298
375299         · PR #29467: (serge-p) Update module.py (refs: #31689)
375300
375301         · 9162925dd0 Merge pull request #31689 from rallytime/bp-29467
375302
375303         · 1f8f4cb99b Update module.py
375304
375305       · PR  #31687:  (cachedout)  Removed  useless  GPG  tests  @  2016-03-05
375306         00:08:27 UTC
375307
375308         · d7914cdb14 Merge pull request #31687 from cachedout/rm_gpg_test
375309
375310         · 8b00513ebb Removed useless tests
375311
375312       · ISSUE #31619: (alexxannar) 2015.8.7 pkg.installed problem  with  ver‐
375313         sion parameter (refs: #31660)
375314
375315       · PR #31660: (terminalmage) Remove epoch from version string if present
375316         when installing with yum @ 2016-03-04 20:49:23 UTC
375317
375318         · bd4d12a155 Merge pull request #31660 from terminalmage/issue31619
375319
375320         · da954d7b92 Add integration test for packages with epoch in version
375321
375322         · 4fa7e4defe Move epoch removal
375323
375324         · 290192af56  Remove  epoch  from  version  string  if  present  when
375325           installing with yum
375326
375327       · PR  #31683:  (rallytime)  Back-port  #31578  to  2015.5  @ 2016-03-04
375328         20:47:41 UTC
375329
375330         · PR #31578: (anlutro) Allow queueing of state runs  through  saltmod
375331           (refs: #31683)
375332
375333         · e33c1f456a Merge pull request #31683 from rallytime/bp-31578
375334
375335         · 8fe46789b7 allow queueing of state runs through saltmod
375336
375337       · ISSUE  #31671:  (guettli)  Word  "Job  Cache"  does  not match (refs:
375338         #31682)
375339
375340       · PR #31682: (cachedout) Add definition of  job  cache  to  glossary  @
375341         2016-03-04 20:07:19 UTC
375342
375343         · 27f443895d Merge pull request #31682 from cachedout/cache_meaning
375344
375345         · a75e146125 Add definition of job cache to glossary
375346
375347       · PR  #31658:  (rallytime) Add mentioned of Salt's Coding Style docs to
375348         the Contributing docs @ 2016-03-03 22:14:57 UTC
375349
375350         · bd04c964d1    Merge    pull    request    #31658    from     rally‐
375351           time/add-style-to-contrib
375352
375353         · 6b526b5878  Add  mentioned  of Salt's Coding Style docs to the Con‐
375354           tributing docs
375355
375356       · ISSUE #21932: (clinta) Salt Coding Style docs  should  list  require‐
375357         ments for salt pylintrc (refs: #31655)
375358
375359       · PR  #31655:  (rallytime)  Make  note of pylint dependencies in docs @
375360         2016-03-03 18:37:06 UTC
375361
375362         · 10658dffe6 Merge pull request #31655 from rallytime/pylint-docs
375363
375364         · 6e0377d376 Make note of pylint dependencies in docs
375365
375366       · PR #31440: (cachedout) Set correct type for master_tops config  value
375367         @ 2016-03-02 21:17:14 UTC
375368
375369         · 6075774a01   Merge   pull   request   #31440   from  cachedout/mas‐
375370           ter_tops_type
375371
375372         · f49cc75049 Set correct type for master_tops config value
375373
375374       · ISSUE #31614: (frizzby) salt.utils.http.query()  implementation  con‐
375375         tradicts it's documentation. decode arg (refs: #31622)
375376
375377       · PR  #31622: (jfindlay) doc/topics/tutorials/http: update query decod‐
375378         ing docs @ 2016-03-02 18:23:44 UTC
375379
375380         · 6d31b8918f Merge pull request #31622 from jfindlay/query_doc
375381
375382         · 4e48fec806 doc/topics/tutorials/http: update query decoding docs
375383
375384       · PR  #31558:  (cachedout)  Don't  stacktrace  if  ssh  binary  is  not
375385         installed with salt-ssh @ 2016-02-29 22:15:44 UTC
375386
375387         · dbf6e0786c    Merge    pull    request    #31558    from    cached‐
375388           out/ensure_ssh_installed
375389
375390         · cecc6e0a5f Don't stacktrace if ssh binary  is  not  installed  with
375391           salt-ssh
375392
375393       · PR  #31521:  (terminalmage) salt-ssh: Fix race condition when caching
375394         files to build the thin tarball @ 2016-02-29 15:32:22 UTC
375395
375396         · 060a60fd90 Merge pull request #31521 from terminalmage/issue24753
375397
375398         · 0d352bbc16 Add fileclient tests
375399
375400         · d9370a8041 Update cp module salt-ssh wrapper to  use  new  cachedir
375401           param
375402
375403         · 0320494b1d  Update  the SSH state module wrappers to pass an alter‐
375404           nate cachedir
375405
375406         · 65bdcb3afa Accept and pass  through  the  alternate  cachedir  when
375407           prepping the thin tar
375408
375409         · c3f7a2f2e5  Add  ability  to specify an alternate base dir for file
375410           caching
375411
375412       · PR #31497: (rallytime) Remove duplicate "timeout" definition in  Ros‐
375413         ter docs @ 2016-02-26 15:01:30 UTC
375414
375415         · 92f8f89218  Merge  pull  request #31497 from rallytime/remove-time‐
375416           out-dup
375417
375418         · 83e6480d20 Remove duplicate "timeout" definition in Roster docs
375419
375420       · PR #31472: (rallytime) Update contributing docs @ 2016-02-25 16:05:59
375421         UTC
375422
375423         · da001bcb49  Merge  pull  request  #31472 from rallytime/update-con‐
375424           tributing-docs
375425
375426         · 5871e4d1e0 Update contributing docs
375427
375428       · ISSUE #30183: (jakehilton)  Minion  startup  extremely  delayed  when
375429         first master in failover multi master setup is down (refs: #31382)
375430
375431       · PR  #31461: (DmitryKuzmenko) Set auth retry count to 0 if multimaster
375432         mode is failover.  @ 2016-02-24 17:15:30 UTC
375433
375434         · PR #31382: (DmitryKuzmenko) Set auth retry count to 0 if  multimas‐
375435           ter mode is failover (refs: #31461)
375436
375437         · f35e2dd1d3    Merge    pull    request    #31461    from    DSRCom‐
375438           pany/issues/30183_fix_multimaster_failover_2015.5
375439
375440         · 3d09c3b7a3 Set auth  retry  count  to  0  if  multimaster  mode  is
375441           failover.
375442
375443       · ISSUE  #31356:  (sastorsl)  file.copy  module  with  recurse=true and
375444         non-existing src dir does not fail and  resets  dst  dir  permissions
375445         (refs: #31442)
375446
375447       · PR  #31442: (sastorsl) Add os.path.exists(src) to file.py, def copy @
375448         2016-02-23 23:40:03 UTC
375449
375450         · 26733ce988  Merge  pull  request  #31442  from   sastorsl/salt-mod‐
375451           ules-file.py-copy-check-src
375452
375453         · 0a4132866d removed lint in the exception string
375454
375455         · f8b5d498c3 Add os.path.exists(src) to file.py, def copy
375456
375457       · ISSUE  #30739:  (paclat)  manage.present does not work when minion is
375458         using localhost (refs: #31441)
375459
375460       · PR #31441: (cachedout) Include localhost minions in  presence  detec‐
375461         tion for runner @ 2016-02-23 23:36:59 UTC
375462
375463         · e480727d27 Merge pull request #31441 from cachedout/issue_30739
375464
375465         · ffcfad1570 Include localhost minions in presence detection for run‐
375466           ner
375467
375468       · PR  #31416:  (carlwgeorge)  selinux  module   documentation   fix   @
375469         2016-02-22 21:49:28 UTC
375470
375471         · 91ff95f093    Merge    pull    request    #31416    from   carlwge‐
375472           orge/selinux_doc_fix
375473
375474         · 0e6846d72e selinux module documentation fix
375475
375476       · PR  #31336:  (terminalmage)  Improve  config  validation  logging   @
375477         2016-02-22 19:34:24 UTC
375478
375479         · 7d01979898 Merge pull request #31336 from terminalmage/config-vali‐
375480           dation-logging
375481
375482         · 795008bad1 Improve config validation logging
375483
375484       · ISSUE  #31369:  (sjorge)  illumos/solaris/smartos  display  compacted
375485         hwaddrs (refs: #31374)
375486
375487       · PR #31374: (sjorge) fix for #31369 @ 2016-02-22 16:22:21 UTC
375488
375489         · fed096a29d Merge pull request #31374 from sjorge/solarish_hwaddr
375490
375491         · bdf2576dfb missed a .format and messed up the join
375492
375493         · bbd2fdc96d fix for illumos/solaris hwaddr
375494
375495       · PR  #31339:  (jacobhammons)  changed  latest  release  to  2015.8.7 @
375496         2016-02-19 00:30:24 UTC
375497
375498         · 6ee17f905b Merge pull request #31339 from jacobhammons/dot7prev
375499
375500         · 07120a8d48 changed latest release to 2015.8.7
375501
375502       · PR #31288: (notpeter) Improve salt.states.ssh_known_hosts  documenta‐
375503         tion.  @ 2016-02-17 22:09:18 UTC
375504
375505         · cd3400e67e     Merge     pull     request    #31288    from    not‐
375506           peter/ssh_known_hosts_docs
375507
375508         · 3f573d89a2 Improve salt.states.ssh_known_hosts documentation.
375509
375510       · PR #31183: (heyfife) Fixed named external_ip reservation/re-use  code
375511         in gce driver.  @ 2016-02-17 19:02:27 UTC
375512
375513         · 875d9925fa     Merge     pull     request    #31183    from    hey‐
375514           fife/fix-gce-named-static-ip-reservation
375515
375516         · 26774e2323 Fixed named external_ip reservation/re-use code.
375517
375518       · ISSUE #31001: (toanju)  Fedora  23  check  installed  packages  fails
375519         (refs: #31032)
375520
375521       · PR   #31032:  (terminalmage)  (2015.5  branch)  yumpkg:  ensure  that
375522         dnf-plugins-core >= 0.1.15 is installed @ 2016-02-17 19:02:03 UTC
375523
375524         · e56c402c0c Merge pull request #31032 from terminalmage/issue31001
375525
375526         · 42daea4509  yumpkg.py:  Remove  repoquery  usage   everywhere   but
375527           check_db
375528
375529         · 50befbc149 backport salt.utils.pkg.rpm to 2015.5
375530
375531         · a1ad14994a    Move   salt.utils.itersplit()   to   salt.utils.iter‐
375532           tools.split()
375533
375534         · 5b8646ce64 Ignore failure to install new enough dnf-plugins-core
375535
375536         · defe0859fd Ensure that dnf-plugins-core 0.1.15 is installed
375537
375538       · ISSUE #31174: (sjorge) salt.states.archive.extacted  displays  incor‐
375539         rect message: (refs: #31176)
375540
375541       · PR  #31264:  (sjorge) fix if_missing gets appended to dirs list, take
375542         III @ 2016-02-17 17:12:25 UTC
375543
375544         · PR #31250: (sjorge) if_missing append  to  array  as  far  back  as
375545           2014.1 (refs: #31264)
375546
375547         · PR  #31176:  (sjorge)  if_missing  incorrected appended to directo‐
375548           ries_created (refs: #31250, #31264)
375549
375550         · cec69b74f0 Merge pull request #31264 from sjorge/if_missing-155-fix
375551
375552         · 545edbf5e1 fix if_missing gets appended to dirs list, take III
375553
375554       · PR #31110: (cachedout) Fixup 30730 @ 2016-02-10 21:37:55 UTC
375555
375556         · fa3f474de9 Merge pull request #31110 from cachedout/fixup_30730
375557
375558         · 5bf5848e04 Fixup unit test
375559
375560         · f558f68e0a Fixes pylint warnings
375561
375562         · 56a975ec43 Attempt to fix pylint warnings
375563
375564         · 55d71be057 Make documentation and  code  examples  consistent  with
375565           code
375566
375567         · 1f04fed6f8 Change parameter name from includes to skips
375568
375569         · ccf5e13e7d Adding support for skipHidden in SetInclude
375570
375571         · 4f2d4af2e7 Variable names standardization
375572
375573         · f5917ac1e8 Fixes typo
375574
375575         · 26e5236073 Invert RebootRequired logic
375576
375577         · 8065a7abf6 Add basic documentation and define how the skips parame‐
375578           ter works.
375579
375580         · 389fea7508 Change parameter name from includes to skips
375581
375582         · 30e1fef906 Adding support for skipHidden in SetInclude
375583
375584         · 1244eea5be Variable names standardization, consistent if/else logic
375585           with states.win_update
375586
375587       · ISSUE  #30900:  (mchugh19)  modules/qemu_nbd.py  assumes  versions of
375588         utilities that don't exist on ubuntu (refs: #30949)
375589
375590       · PR #30974:  (rallytime)  Back-port  #30949  to  2015.5  @  2016-02-08
375591         16:38:46 UTC
375592
375593         · PR #30949: (techhat) Replace cfdisk with sfdisk (refs: #30974)
375594
375595         · 1c699a1664 Merge pull request #30974 from rallytime/bp-30949
375596
375597         · ff6542f593 Replace cfdisk with sfdisk
375598
375599       · ISSUE #28951: (ClaudiuPID) CloudLinux 7 changes (refs: #30897)
375600
375601       · PR  #30942:  (rallytime)  Back-port  #30897  to  2015.5  @ 2016-02-05
375602         19:00:55 UTC
375603
375604         · PR #30897: (mtorromeo) Only remove the word linux  from  distroname
375605           when its not part of the name (refs: #30942)
375606
375607         · c7f87cc371 Merge pull request #30942 from rallytime/bp-30897
375608
375609         · 885e00ba54  Only remove the word linux from distroname when its not
375610           part of the name
375611
375612       · PR #30922: (jacobhammons) Rev latest version to 2015.8.5 @ 2016-02-05
375613         01:20:27 UTC
375614
375615         · 35b7f62669    Merge    pull    request    #30922   from   jacobham‐
375616           mons/prev-rel-notes
375617
375618         · 57c1ec637a Rev latest version to 2015.8.5
375619
375620       · ISSUE #30840: (HeathNaylor) Generic  Error  for  SALT.STATES.BOTO_ELB
375621         (refs: #30865)
375622
375623       · PR  #30865:  (abednarik) Better boto elb error message.  @ 2016-02-04
375624         21:02:05 UTC
375625
375626         · 2488bb902e  Merge   pull   request   #30865   from   abednarik/bet‐
375627           ter_boto_elb_error
375628
375629         · 3561e8c19b Better boto elb error message.
375630
375631       · PR #30831: (jacobhammons) Updated readme @ 2016-02-02 21:06:02 UTC
375632
375633         · 4da04f82c8    Merge    pull    request    #30831   from   jacobham‐
375634           mons/readme-update
375635
375636         · 01a92f5d98 Updated readme
375637
375638       · PR #30829:  (jacobhammons)  Updated  latest  version  to  2015.8.4  @
375639         2016-02-02 20:06:13 UTC
375640
375641         · 90c1ea9f6c    Merge    pull    request    #30829   from   jacobham‐
375642           mons/release-2015.5
375643
375644         · c95bb60148 Version to 2015.8.4
375645
375646       · ISSUE #24575: (BrandKNY) raid.present inside mdadm.py triggers Index‐
375647         Error: list index out of range (refs: #30784)
375648
375649       · ISSUE #23694: (gmolight) mdadm.py module (refs: #30784)
375650
375651       · PR  #30784:  (rallytime)  Back-port  #24952  to  2015.5  @ 2016-02-01
375652         21:43:01 UTC
375653
375654         · PR #24952: (pcn) Don't split the string on  a  single  line  (refs:
375655           #30784)
375656
375657         · 80a36793cb Merge pull request #30784 from rallytime/bp-24952
375658
375659         · a07908bdea Don't split the string on a single line
375660
375661       · ISSUE  #30560:  (terminalmage)  yumpkg.py:  pkg.unhold  fails  in yum
375662         (refs: #30764)
375663
375664       · PR #30764: (terminalmage) Work around yum versionlock's inability  to
375665         remove holds by package name alone @ 2016-02-01 18:14:27 UTC
375666
375667         · e978f5392f Merge pull request #30764 from terminalmage/issue30560
375668
375669         · 39736afcd7  Work around yum versionlock's inability to remove holds
375670           by package name alone
375671
375672       · PR #30760: (toanju) Changed output format of arp_ip_target from  list
375673         to comma delimited...  @ 2016-01-31 19:05:02 UTC
375674
375675         · PR  #27952: (tomwalsh) Corrected format of arp_ip_target in network
375676           config files and modprobe files (refs: #30760)
375677
375678         · 6f565c0d76 Merge pull request #30760 from toanju/2015.5
375679
375680         · dc4256f7df Changed output format  of  arp_ip_target  from  list  to
375681           comma delimited string
375682
375683       · ISSUE  #30722: (yannis666) mine config is not merged from minion con‐
375684         fig and pillar (refs: #30757)
375685
375686       · PR #30757: (yannis666) Fix to mine update to  merge  configuration  @
375687         2016-01-31 19:02:44 UTC
375688
375689         · 1c205b4898     Merge     pull     request    #30757    from    yan‐
375690           nis666/fix-for-mine-update-merge
375691
375692         · 61bb23e256 Fix to mine update to merge configuration
375693
375694       · ISSUE #28751: (olfway)  network.system  state  ignores  test=True  on
375695         debian/ubuntu (refs: #30749)
375696
375697       · PR #30749: (abednarik) Fix Netwotk hostname Module in Debian systems.
375698         @ 2016-01-29 23:01:09 UTC
375699
375700         · f9fde8f6a7  Merge  pull  request  #30749  from   abednarik/fix_net‐
375701           work_system_test
375702
375703         · 1e9e97df59 Fix Netwotk hostname Module in Debian systems.
375704
375705       · ISSUE #28438: (vakulich) Master failed to save job cache file: "Could
375706         not write job invocation cache file: [Errno 2] No such file or direc‐
375707         tory" (refs: #30699)
375708
375709       · PR #30699: (abednarik) Add Retry to save_load.  @ 2016-01-29 16:08:30
375710         UTC
375711
375712         · 076268089a    Merge    pull    request    #30699     from     abed‐
375713           narik/save_load_retry_time
375714
375715         · 186872cf49 Add Retry to save_load.
375716
375717       · ISSUE  #30565: (heaje) scsi.ls fails to run both on CentOS 6 and Cen‐
375718         tOS 7 (refs: #30659)
375719
375720       · PR  #30659:  (sjmh)  Fix  lsscsi  issues  for  certain  platforms   @
375721         2016-01-28 15:53:38 UTC
375722
375723         · 8d79d1b9c7 Merge pull request #30659 from sjmh/fix-scsi
375724
375725         · 3544dd995e Fix lsscsi issues for certain platforms
375726
375727       · ISSUE  #18980:  (lrhazi)  salt-cloud:  ExtraData:  unpack(b) received
375728         extra data. (refs: #30671)
375729
375730       · PR #30671: (techhat) Add file locking to  cloud  index  @  2016-01-27
375731         17:14:55 UTC
375732
375733         · 516919525a Merge pull request #30671 from techhat/lockcloud
375734
375735         · 4719f8d4ea Whitespace
375736
375737         · 8e7eca23e4 Add file locking to cloud index
375738
375739       · ISSUE  #28320:  (Grokzen)  file.comment & file.uncomment changes file
375740         permissions on edit (refs: #30586)
375741
375742       · PR #30586: (abednarik) Fix comment_line  permissions.   @  2016-01-25
375743         23:24:02 UTC
375744
375745         · 643c9c9616   Merge  pull  request  #30586  from  abednarik/fix_com‐
375746           ment_line_perms
375747
375748         · 8b395a42cb Fix comment_line permissions.
375749
375750       · PR #30582: (terminalmage)  yumpkg.check_db:  run  separate  repoquery
375751         commands when multiple names passed @ 2016-01-24 17:15:04 UTC
375752
375753         · a823e21428  Merge  pull  request #30582 from terminalmage/dnf-repo‐
375754           query-multiple-targets
375755
375756         · 410da789f9 yumpkg.check_db: run separate  repoquery  commands  when
375757           multiple names passed
375758
375759       · PR   #30548:  (jacobhammons)  Added  placeholder  release  notes  for
375760         2015.5.10 @ 2016-01-22 18:36:01 UTC
375761
375762         · 8e56be7f4c Merge pull request #30548 from jacobhammons/doc-fixes
375763
375764         · 03c51bb54d Added placeholder release notes  for  2015.5.10  Changed
375765           old doc links from docs.saltstack.org to docs.saltstack.com
375766
375767       · PR  #30530:  (terminalmage)  2015.5  tweaks  from #30529 @ 2016-01-22
375768         16:26:21 UTC
375769
375770         · PR #30529: (terminalmage) Merge 2015.5 into 2015.8 (refs: #30530)
375771
375772         · 1aafd4c5b5   Merge   pull    request    #30530    from    terminal‐
375773           mage/yumpkg-dnf-cleanup
375774
375775         · 2586f71bcf 2015.5 tweaks from #30529
375776
375777       · ISSUE  #23553:  (aboe76)  dnf  a  new  package provider for fedora 22
375778         (refs: #30484)
375779
375780       · PR #30484: (terminalmage) Backport DNF support  to  2015.5  branch  @
375781         2016-01-21 22:14:46 UTC
375782
375783         · 7798d42272    Merge    pull    request    #30484   from   terminal‐
375784           mage/dnf-yumpkg-2015.5
375785
375786         · 330e26d1da Hide get_locked_packages
375787
375788         · 5a637420e8 Backport DNF support to 2015.5 branch
375789
375790       · PR #30512: (jfindlay)  disable  pkgrepo  test  for  ubuntu  15.10+  @
375791         2016-01-21 21:32:58 UTC
375792
375793         · b348f804b1 Merge pull request #30512 from jfindlay/repo_test
375794
375795         · 66f06f2bd3 disable pkgrepo test for ubuntu 15.10+
375796
375797       · PR  #30478:  (justinta)  Updated  pip_state  to  work  with pip 8.0 @
375798         2016-01-21 16:02:41 UTC
375799
375800         · a9348dfef8 Merge pull request #30478 from jtand/pip_8_update
375801
375802         · 6227368830 Convert version to int, instead of comparing strings  to
375803           ints
375804
375805         · 20384a4810 Added InstallationError to except block
375806
375807         · baa274bca9 Updated pip_state to work with pip 8.0
375808
375809       · ISSUE  #30465:  (alandrees)  Nested  imports  with  pyobjects  (refs:
375810         #30482)
375811
375812       · PR  #30482:  (borgstrom)  Pyobjects  recursive  import  support  (for
375813         2015.5) @ 2016-01-21 15:54:32 UTC
375814
375815         · a30147c64f   Merge   pull   request   #30482  from  borgstrom/pyob‐
375816           jects_recursive
375817
375818         · 2c55a7580b Fixup lint errors
375819
375820         · b46df0e4b5 Allow recursive salt:// imports
375821
375822         · 51bfa16173 Add test to prove that recursive imports  are  currently
375823           broken
375824
375825       · PR  #30459:  (jfindlay) modules.pkg: disable repo int test for ubuntu
375826         15.10 @ 2016-01-20 16:41:12 UTC
375827
375828         · 5c7cc51937 Merge pull request #30459 from jfindlay/pkg_tests
375829
375830         · fb9972f590 modules.pkg: disable repo int test for ubuntu 15.10
375831
375832       · PR #30443: (justinta) Boto uses False for is_default instead of  None
375833         @ 2016-01-19 18:28:08 UTC
375834
375835         · dd2ceb4c07 Merge pull request #30443 from jtand/boto_vpc_5
375836
375837         · 2f77152479 Boto uses False for is_default instead of None
375838
375839       · ISSUE  #26833:  (twangboy) salt-cloud fails to spin up windows minion
375840         on 2015.8 Head (refs: #26853)
375841
375842       · ISSUE #21256: (dhs-rec) win.exe package for RH 6 (refs: #26853)
375843
375844       · PR #30420: (attiasr) Backport #26853 @ 2016-01-19 17:33:58 UTC
375845
375846         · PR #26853: (UtahDave) Fix salt-cloud on windows (refs: #30420)
375847
375848         · 62d9dddced Merge pull request #30420 from attiasr/patch-1
375849
375850         · 4de343c5a1 Backport #26853
375851
375852       · ISSUE #30341: (dnd) salt-cloud linode connection reset by peer (refs:
375853         #30364)
375854
375855       · PR  #30364: (rallytime) Add TLS version imports and add linode driver
375856         documentation notices @ 2016-01-14 19:04:47 UTC
375857
375858         · 5a923b3aa9 Merge pull request #30364 from rallytime/fix-30341
375859
375860         · 79bcf151cb Add TLS version imports and add linode driver documenta‐
375861           tion notices
375862
375863       · ISSUE   #28822:  (HerrBerg)  saltenv  url-parameter  not  working  in
375864         file.managed for salt:// sources since 2015.8 (refs: #30166)
375865
375866       · PR #30184:  (rallytime)  Back-port  #30166  to  2015.5  @  2016-01-13
375867         18:27:36 UTC
375868
375869         · PR  #30166: (robgott) adding split_env call to cp.hash_file to pick
375870           up saltenv in file quer… (refs: #30184)
375871
375872         · f037fd9c27 Merge pull request #30184 from rallytime/bp-30166
375873
375874         · fa6b1b3022 adding split_env call to cp.hash_file to pick up saltenv
375875           in file query parameter
375876
375877       · PR #30291: (thegoodduke) ipset: fix test=true & add comment for every
375878         entry @ 2016-01-12 19:40:23 UTC
375879
375880         · PR #30170: (thegoodduke) ipset: fix comment and test (refs: #30291)
375881
375882         · 1d8413fd2f Merge pull request #30291 from thegoodduke/for_fix_ipset
375883
375884         · 62d6ccf561 ipset: fix test=true & add comment for every entry
375885
375886   Salt 2015.5.2 Release Notes
375887       release
375888              2015-06-10
375889
375890       Version 2015.5.2 is a bugfix release for 2015.5.0.
375891
375892   Statistics
375893       · Total Merges: 112
375894
375895       · Total Issue References: 36
375896
375897       · Total PR References: 145
375898
375899       · Contributors:  49  (Sacro,  The-Loeki,  YanChii,   aboe76,   anlutro,
375900         awdrius, basepi, cdarwin, cedwards, clan, corywright, cro, djcrabhat,
375901         dmyerscough,  dr4Ke,   fayetted,   galet,   garethgreenaway,   ghost,
375902         hazelesque,  hvnsweeting,  jacksontj,  jacobhammons,  jayeshka,  jbq,
375903         jfindlay, joejulian, justinta, kartiksubbarao, kiorky, merll, msteed,
375904         neogenix,  nicholascapo, nleib, pengyao, pruiz, rallytime, randybias,
375905         ryan-lane, steverweber, swdream, techhat,  terminalmage,  thcipriani,
375906         thusoy, trevor-h, twangboy, whiteinge)
375907
375908   Changelog for v2015.5.1..v2015.5.2
375909       Generated at: 2018-05-27 21:13:02 UTC
375910
375911       · PR  #24372:  (rallytime)  Add  2015.5.2  release  notes  @ 2015-06-03
375912         19:30:46 UTC
375913
375914         · d71d75e2ec Merge pull request #24372 from rallytime/release_notes
375915
375916         · f5ec1a1693 Add 2015.5.2 release notes
375917
375918       · PR  #24346:  (rallytime)  Backport  #24271  to  2015.5  @  2015-06-03
375919         18:44:31 UTC
375920
375921         · PR #24271: (randybias) Fixed the setup instructions (refs: #24346)
375922
375923         · 76927c9ea1 Merge pull request #24346 from rallytime/bp-24271
375924
375925         · 04067b6833 Fixed the setup instructions
375926
375927       · ISSUE  #24012: (jbq) Enabling a service does not create the appropri‐
375928         ate rc.d symlinks on Ubuntu (refs: #24013)
375929
375930       · PR  #24345:  (rallytime)  Backport  #24013  to  2015.5  @  2015-06-03
375931         18:39:41 UTC
375932
375933         · PR  #24013:  (jbq)  Fix  enabling a service on Ubuntu #24012 (refs:
375934           #24345)
375935
375936         · 4afa03d8e3 Merge pull request #24345 from rallytime/bp-24013
375937
375938         · 16e0732b50 Fix enabling a service on Ubuntu #24012
375939
375940       · PR #24365: (jacobhammons) Fixes for PDF  build  errors  @  2015-06-03
375941         17:50:02 UTC
375942
375943         · c3392c246a Merge pull request #24365 from jacobhammons/DocFixes
375944
375945         · 0fc190267f Fixes for PDF build errors
375946
375947       · ISSUE  #22991:  (nicholascapo) npm.installed ignores test=True (refs:
375948         #24313)
375949
375950       · PR #24313:  (nicholascapo)  Fix  #22991  Correctly  set  result  when
375951         test=True @ 2015-06-03 14:49:18 UTC
375952
375953         · ae681a4db1    Merge    pull    request    #24313   from   nicholas‐
375954           capo/fix-22991-npm.installed-test-true
375955
375956         · ac9644cb19  Fix  #22991  npm.installed  correctly  set  result   on
375957           test=True
375958
375959       · ISSUE  #18966:  (bechtoldt)  file.serialize  ignores test=True (refs:
375960         #24312)
375961
375962       · PR  #24312:  (nicholascapo)  Fix  #18966:   file.serialize   supports
375963         test=True @ 2015-06-03 14:49:06 UTC
375964
375965         · d57a9a267c    Merge    pull    request    #24312   from   nicholas‐
375966           capo/fix-18966-file.serialize-test-true
375967
375968         · e7328e7043  Fix  #18966  file.serialize  correctly  set  result  on
375969           test=True
375970
375971       · PR   #24302:  (jfindlay)  fix  pkg  hold/unhold  integration  test  @
375972         2015-06-03 03:27:43 UTC
375973
375974         · 6b694e3495 Merge pull request #24302 from jfindlay/pkg_tests
375975
375976         · c2db0b1758 fix pkg hold/unhold integration test
375977
375978       · ISSUE #14021: (emostar) EC2 doc mentions mount_point, but  unable  to
375979         use properly (refs: #24349)
375980
375981       · PR  #24349: (rallytime) Remove references to mount_points in ec2 docs
375982         @ 2015-06-03 01:54:09 UTC
375983
375984         · aca8447ced Merge pull request #24349 from rallytime/fix-14021
375985
375986         · a235b114d7 Remove references to mount_points in ec2 docs
375987
375988       · PR  #24328:  (dr4Ke)  Fix  state  grains  silently  fails  2015.5   @
375989         2015-06-02 15:18:46 UTC
375990
375991         · 88a997e6ee       Merge      pull      request      #24328      from
375992           dr4Ke/fix_state_grains_silently_fails_2015.5
375993
375994         · 8a63d1ebbe fix state grains silently fails #24319
375995
375996         · ca1af20203 grains state: add some tests
375997
375998       · ISSUE #9772: (s0undt3ch) Delete VM's in a map does  not  delete  them
375999         all (refs: #24310)
376000
376001       · ISSUE  #24036:  (arthurlogilab)  [salt-cloud] Protect against passing
376002         command line arguments as names for  the  --destroy  command  in  map
376003         files (refs: #24310)
376004
376005       · PR  #24310:  (techhat) Add warning about destroying maps @ 2015-06-02
376006         03:01:28 UTC
376007
376008         · 7dcd9bb5de Merge pull request #24310 from techhat/mapwarning
376009
376010         · ca535a6ff4 Add warning about destroying maps
376011
376012       · PR #24281: (steverweber) Ipmi docfix @ 2015-06-01 17:45:36 UTC
376013
376014         · 02bfb254d6 Merge pull request #24281 from steverweber/ipmi_docfix
376015
376016         · dd36f2c555 yaml formating
376017
376018         · f6deef3047 include api_kg kwarg in ipmi state
376019
376020         · a7d4e97bb9 doc cleanup
376021
376022         · 0ded2fdbef save more cleanup to doc
376023
376024         · 08872f2da3 fix name api_key to api_kg
376025
376026         · 165a387681 doc fix add api_kg kwargs
376027
376028         · 1ec78887e4 cleanup docs
376029
376030       · PR #24287: (jfindlay) fix pkg  test  on  ubuntu  12.04  for  realz  @
376031         2015-06-01 14:16:37 UTC
376032
376033         · 73cd2cbe1f Merge pull request #24287 from jfindlay/pkg_test
376034
376035         · 98944d8c7f fix pkg test on ubuntu 12.04 for realz
376036
376037       · PR  #24279:  (rallytime)  Backport  #24263  to  2015.5  @  2015-06-01
376038         04:29:34 UTC
376039
376040         · PR #24263: (cdarwin) Correct usage of import_yaml in formula  docu‐
376041           mentation (refs: #24279)
376042
376043         · 02017a074c Merge pull request #24279 from rallytime/bp-24263
376044
376045         · beff7c7785 Correct usage of import_yaml in formula documentation
376046
376047       · ISSUE  #24226:  (c4urself)  iptables  state needs to keep ordering of
376048         flags (refs: #24277)
376049
376050       · PR #24277: (rallytime) Put a  space  between  after_jump  commands  @
376051         2015-06-01 04:28:26 UTC
376052
376053         · 2ba696d54a  Merge  pull  request  #24277  from  rallytime/fix_ipta‐
376054           bles_jump
376055
376056         · e2d1606b19 Move after_jump split out of loop
376057
376058         · d14f1307b6 Remove extra loop
376059
376060         · 42ed5320b6 Put a space between after_jump commands
376061
376062       · PR  #24262:  (basepi)  More  dictupdate  after  #24142  @  2015-05-31
376063         04:09:37 UTC
376064
376065         · PR #24142: (basepi) Optimize dictupdate.update and add #24097 func‐
376066           tionality (refs: #24262)
376067
376068         · PR #24097: (kiorky) Optimize dictupdate (refs: #24142)
376069
376070         · 113eba34ec Merge pull request #24262 from basepi/dictupdatefix
376071
376072         · 0c4832c0d4 Raise a typeerror if non-dict types
376073
376074         · be21aaa122 Pylint
376075
376076         · bb8a6c6cc9 More optimization
376077
376078         · c933249d1a py3 compat
376079
376080         · ff6b2a781f Further optimize dictupdate.update()
376081
376082         · c73f5ba37c Remove unused valtype
376083
376084       · PR #24269: (kiorky) zfs: Fix spurious retcode hijacking in virtual  @
376085         2015-05-30 17:47:49 UTC
376086
376087         · 785d5a1bfc Merge pull request #24269 from makinacorpus/zfs
376088
376089         · 0bf23ce701 zfs: Fix spurious retcode hijacking in virtual
376090
376091       · PR  #24257: (jfindlay) fix pkg mod integration test on ubuntu 12.04 @
376092         2015-05-29 23:09:00 UTC
376093
376094         · 3d885c04f0 Merge pull request #24257 from jfindlay/pkg_tests
376095
376096         · 9508924c02 fix pkg mod integration test on ubuntu 12.04
376097
376098       · ISSUE #23883: (kaithar) max_event_size seems  broken  (refs:  #24001,
376099         #24065)
376100
376101       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
376102         '__salt__' is not defined (refs: #23982, #24080)
376103
376104       · PR #24260: (basepi) Fix some typos from #24080 @ 2015-05-29  22:54:58
376105         UTC
376106
376107         · PR #24080: (kiorky) Lxc consistency2 (refs: #24066, #24260, #23982)
376108
376109         · PR #24066: (kiorky) Merge forward 2015.5 -> develop (refs: #23982)
376110
376111         · PR #24065: (kiorky) continue to fix #23883 (refs: #24066, #24080)
376112
376113         · PR #23982: (kiorky) lxc: path support (refs: #24080)
376114
376115         · 08a10755b3 Merge pull request #24260 from basepi/lxctypos24080
376116
376117         · 0fa1ad3977 Fix another lxc typo
376118
376119         · 669938f28d s/you ll/you'll/
376120
376121       · ISSUE  #23883:  (kaithar)  max_event_size seems broken (refs: #24001,
376122         #24065)
376123
376124       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
376125         '__salt__' is not defined (refs: #23982, #24080)
376126
376127       · PR #24080: (kiorky) Lxc consistency2 (refs: #24066, #24260, #23982) @
376128         2015-05-29 22:51:54 UTC
376129
376130         · PR #24066: (kiorky) Merge forward 2015.5 -> develop (refs: #23982)
376131
376132         · PR #24065: (kiorky) continue to fix #23883 (refs: #24066, #24080)
376133
376134         · PR #23982: (kiorky) lxc: path support (refs: #24080)
376135
376136         · 75590cf490 Merge pull request #24080 from  makinacorpus/lxc_consis‐
376137           tency2
376138
376139         · 81f80674a2 lxc: fix old lxc test
376140
376141         · 458f50617b seed: lint
376142
376143         · 96b8d55f14 Fix seed.mkconfig yamldump
376144
376145         · 76ddb683f4 lxc/applynet: conservative
376146
376147         · ce7096fdb7 variable collision
376148
376149         · 8a8b28d652 lxc: lint
376150
376151         · 458b18b7e6 more lxc docs
376152
376153         · ef1f95231a lxc docs: typos
376154
376155         · d67a43dc1f more lxc docs
376156
376157         · 608da5ef5d modules/lxc: merge resolution
376158
376159         · 27c4689a24 modules/lxc: more consistent comparsion
376160
376161         · 07c365a23b lxc: merge conflict spotted
376162
376163         · 999391551c modules/lxc: rework settings for consistency
376164
376165         · ce11d8352e lxc: Global doc refresh
376166
376167         · 61ed2f5e76 clouds/lxc: profile key is conflicting
376168
376169       · ISSUE  #24210: (damonnk) salt-cloud vsphere.py should allow key_file‐
376170         name param (refs: #24220)
376171
376172       · PR  #24247:  (rallytime)  Backport  #24220  to  2015.5  @  2015-05-29
376173         21:40:01 UTC
376174
376175         · PR   #24220:  (djcrabhat)  adding  key_filename  param  to  vsphere
376176           provider (refs: #24247)
376177
376178         · da14f3b976 Merge pull request #24247 from rallytime/bp-24220
376179
376180         · 0b1041dd72 adding key_filename param to vsphere provider
376181
376182       · PR #24254: (rallytime) Add deprecation warning to  Digital  Ocean  v1
376183         Driver @ 2015-05-29 21:39:25 UTC
376184
376185         · PR  #22731:  (dmyerscough) Decommission DigitalOcean APIv1 and have
376186           users use the new DigitalOcean APIv2 (refs: #24254)
376187
376188         · 21d6126c34 Merge pull request  #24254  from  rallytime/add_depreca‐
376189           tion_warning_digitalocean
376190
376191         · cafe37bdf8 Add note to docs about deprecation
376192
376193         · ea0f1e0921  Add deprecation warning to digital ocean driver to move
376194           to digital_ocean_v2
376195
376196       · PR #24252: (aboe76)  Updated  suse  spec  to  2015.5.1  @  2015-05-29
376197         21:38:45 UTC
376198
376199         · dac055dd8b Merge pull request #24252 from aboe76/opensuse_package
376200
376201         · 0ad617df21 Updated suse spec to 2015.5.1
376202
376203       · PR  #24251: (garethgreenaway) Returners broken in 2015.5 @ 2015-05-29
376204         21:37:52 UTC
376205
376206         · 49e7fe8a5e   Merge   pull   request   #24251   from    garethgreen‐
376207           away/2015_5_returner_brokenness
376208
376209         · 5df6b52568  The  code calling cfg as a function vs treating it as a
376210           dictionary and using get is currently backwards  causing  returners
376211           to fail when used from the CLI and in scheduled jobs.
376212
376213       · ISSUE  #21498: (rallytime) Clarify Digital Ocean Documentation (refs:
376214         #24255)
376215
376216       · PR #24255: (rallytime) Clarify digital ocean documentation  and  men‐
376217         tion v1 driver deprecation @ 2015-05-29 21:37:07 UTC
376218
376219         · bfb946123e  Merge  pull request #24255 from rallytime/clarify_digi‐
376220           tal_ocean_driver_docs
376221
376222         · 8d51f75aa5 Clarify  digital  ocean  documentation  and  mention  v1
376223           driver deprecation
376224
376225       · PR  #24232:  (rallytime)  Backport  #23308  to  2015.5  @  2015-05-29
376226         21:36:46 UTC
376227
376228         · PR #23308: (thusoy) Don't merge: Add missing jump arguments to ipt‐
376229           ables module (refs: #24232)
376230
376231         · 41f5756f36 Merge pull request #24232 from rallytime/bp-23308
376232
376233         · 2733f66449 Import string
376234
376235         · 9097cca099 Add missing jump arguments to iptables module
376236
376237       · PR  #24245:  (Sacro)  Unset  PYTHONHOME  when  starting the service @
376238         2015-05-29 20:00:31 UTC
376239
376240         · a95982c722 Merge pull request #24245 from Sacro/patch-2
376241
376242         · 6632d06e94 Unset PYTHONHOME when starting the service
376243
376244       · PR #24121: (hvnsweeting) deprecate setting user  permission  in  rab‐
376245         bitmq_vhost.present @ 2015-05-29 15:55:40 UTC
376246
376247         · 1504c76d3a   Merge   pull   request  #24121  from  hvnsweeting/rab‐
376248           bitmq-host-deprecate-set-permission
376249
376250         · 2223158e76   deprecate   setting   user    permission    in    rab‐
376251           bitmq_host.present
376252
376253       · PR #24179: (merll) Changing user and group only possible for existing
376254         ids.  @ 2015-05-29 15:52:43 UTC
376255
376256         · PR #24169: (merll) Changing user and group only possible for exist‐
376257           ing ids. (refs: #24179)
376258
376259         · ba02f6509e     Merge     pull     request    #24179    from    Pre‐
376260           cis/fix-file-uid-gid-2015.0
376261
376262         · ee4c9d59ab Use ids if user or group is not present.
376263
376264       · ISSUE #24147: (paclat) Syndication issues when  using  authentication
376265         on master of masters.  (refs: #24229)
376266
376267       · PR  #24229:  (msteed) Fix auth failure on syndic with external_auth @
376268         2015-05-29 15:04:06 UTC
376269
376270         · 9bfb066c2c Merge pull request #24229 from msteed/issue-24147
376271
376272         · 482d1cfc64 Fix auth failure on syndic with external_auth
376273
376274       · PR  #24234:  (jayeshka)  adding  states/quota  unit  test  case.    @
376275         2015-05-29 14:14:27 UTC
376276
376277         · 19fa43c290       Merge      pull      request      #24234      from
376278           jayeshka/quota-states-unit-test
376279
376280         · c23356500b adding states/quota unit test case.
376281
376282       · PR  #24217:  (jfindlay)  disable  intermittently  failing   tests   @
376283         2015-05-29 03:08:39 UTC
376284
376285         · PR #23623: (jfindlay) Fix /jobs endpoint's return (refs: #24217)
376286
376287         · PR #22857: (jacksontj) Fix /jobs endpoint's return (refs: #23623)
376288
376289         · e15142c629   Merge   pull   request   #24217   from   jfindlay/dis‐
376290           able_bad_tests
376291
376292         · 6b6280442c disable intermittently failing tests
376293
376294       · PR #24199: (ryan-lane) Various fixes for boto_route53 and boto_elb  @
376295         2015-05-29 03:02:41 UTC
376296
376297         · ce8e43b774 Merge pull request #24199 from lyft/route53-fix-elb
376298
376299         · d8dc9a7b5b Better unit tests for boto_elb state
376300
376301         · 62f214b535 Remove cnames_present test
376302
376303         · 7b9ae82951 Lint fix
376304
376305         · b74b0d1413 Various fixes for boto_route53 and boto_elb
376306
376307       · PR  #24142:  (basepi) Optimize dictupdate.update and add #24097 func‐
376308         tionality (refs: #24262) @ 2015-05-29 03:00:56 UTC
376309
376310         · PR #24097: (kiorky) Optimize dictupdate (refs: #24142)
376311
376312         · a43465d235 Merge pull request #24142 from basepi/dictupdate24097
376313
376314         · 5c6e210c8b Deepcopy on merge_recurse
376315
376316         · a13c84ade8 Fix None check from #21968
376317
376318         · 9ef2c64098 Add docstring
376319
376320         · 8579429314 Add in recursive_update from #24097
376321
376322         · 8599143200 if key not in dest, don't recurse
376323
376324         · d8a84b3017 Rename klass to valtype
376325
376326       · PR  #24208:  (jayeshka)  adding  states/ports  unit  test  case.    @
376327         2015-05-28 23:06:33 UTC
376328
376329         · 526698ba8d       Merge      pull      request      #24208      from
376330           jayeshka/ports-states-unit-test
376331
376332         · 657b709932 adding states/ports unit test case.
376333
376334       · ISSUE #20635: (dennisjac) 2015.2.0rc1: zfs errors in log after update
376335         (refs: #24219)
376336
376337       · PR  #24219: (jfindlay) find zfs without modinfo @ 2015-05-28 21:07:26
376338         UTC
376339
376340         · d00945fd40 Merge pull request #24219 from jfindlay/zfs_check
376341
376342         · 15d401907c use the salt loader in the zfs mod
376343
376344         · 5599b67a46 try to search for zfs if modinfo is unavailable
376345
376346       · PR #24190: (msteed) Fix issue 23815 @ 2015-05-28 20:10:34 UTC
376347
376348         · 3dc4b85295 Merge pull request #24190 from msteed/issue-23815
376349
376350         · 086a1a94e8 lint
376351
376352         · 65de62f852 fix #23815
376353
376354         · d04e9162de spelling
376355
376356         · db9f6820b8 add inotify beacon unit tests
376357
376358       · PR  #24211:  (rallytime)  Backport  #24205  to  2015.5  @  2015-05-28
376359         18:28:15 UTC
376360
376361         · PR  #24205:  (hazelesque) Docstring fix in salt.modules.yumpkg.hold
376362           (refs: #24211)
376363
376364         · 436634b508 Merge pull request #24211 from rallytime/bp-24205
376365
376366         · 23284b5d47 Docstring fix in salt.modules.yumpkg.hold
376367
376368       · PR #24212: (terminalmage) Clarify error in rendering template for top
376369         file @ 2015-05-28 18:26:20 UTC
376370
376371         · cc58624c7e   Merge  pull  request  #24212  from  terminalmage/clar‐
376372           ify-error-msg
376373
376374         · ca807fb032 Clarify error in rendering template for top file
376375
376376       · ISSUE #23904: (mbrgm) Network config bonding section cannot be parsed
376377         when attribute names use dashes (refs: #23917)
376378
376379       · ISSUE  #23900: (hashi825) salt ubuntu network building issue 2015.5.0
376380         (refs: #23922)
376381
376382       · PR  #24213:  (The-Loeki)  ShouldFix  _-  troubles  in   debian_ip   @
376383         2015-05-28 18:24:39 UTC
376384
376385         · PR #23922: (garethgreenaway) Fixes to debian_ip.py (refs: #24213)
376386
376387         · PR  #23917:  (corywright)  Split  debian  bonding  options  on dash
376388           instead of underscore (refs: #24213)
376389
376390         · 9825160b1a Merge pull request #24213 from The-Loeki/patch-3
376391
376392         · a68d515973 ShouldFix _- troubles in debian_ip
376393
376394       · PR #24214: (basepi) 2015.5.1release @ 2015-05-28 16:23:57 UTC
376395
376396         · 071751d13f Merge pull request #24214 from basepi/2015.5.1release
376397
376398         · e5ba31b5b5 2015.5.1 release date
376399
376400         · 768494c819 Update latest release in docs
376401
376402       · PR  #24202:  (rallytime)  Backport  #24186  to  2015.5  @  2015-05-28
376403         05:16:48 UTC
376404
376405         · PR #24186: (thcipriani) Update salt vagrant provisioner info (refs:
376406           #24202)
376407
376408         · c2f1fdb244 Merge pull request #24202 from rallytime/bp-24186
376409
376410         · db793dd0de Update salt vagrant provisioner info
376411
376412       · PR  #24192:  (rallytime)  Backport  #20474  to  2015.5  @  2015-05-28
376413         05:16:18 UTC
376414
376415         · PR  #20474:  (djcrabhat)  add sudo, sudo_password params to vsphere
376416           deploy to allow for non-root deploys (refs: #24192)
376417
376418         · 8a085a2592 Merge pull request #24192 from rallytime/bp-20474
376419
376420         · fd3c783f3e add sudo, sudo_password params to deploy  to  allow  for
376421           non-root deploys
376422
376423       · PR  #24184:  (rallytime)  Backport  #24129  to  2015.5  @  2015-05-28
376424         05:15:08 UTC
376425
376426         · PR #24129: (pengyao) Wheel client doc (refs: #24184)
376427
376428         · 7cc535bf4a Merge pull request #24184 from rallytime/bp-24129
376429
376430         · 722a662479 fixed a typo
376431
376432         · 565eb46ff5 Add cmd doc for WheelClient
376433
376434       · PR  #24183:  (rallytime)  Backport  #19320  to  2015.5  @  2015-05-28
376435         05:14:36 UTC
376436
376437         · PR  #19320:  (clan)  add  'state_output_profile' option for profile
376438           output (refs: #24183)
376439
376440         · eb0af70e5b Merge pull request #24183 from rallytime/bp-19320
376441
376442         · 55db1bf8b5 sate_output_profile default to True
376443
376444         · 991922703b fix type: statei -> state
376445
376446         · 0549ca6266 add 'state_output_profile' option for profile output
376447
376448       · PR  #24201:  (whiteinge)  Add  list  of  client  libraries  for   the
376449         rest_cherrypy  module  to  the  top-level  documentation @ 2015-05-28
376450         02:12:09 UTC
376451
376452         · 1b5bf23187 Merge  pull  request  #24201  from  whiteinge/rest_cher‐
376453           rypy-client-libs
376454
376455         · 5f718027ca  Add list of client libraries for the rest_cherrypy mod‐
376456           ule
376457
376458         · 28fc77f6f6 Fix rest_cherrypy config example indentation
376459
376460       · PR #24195:  (rallytime)  Merge  #24185  with  a  couple  of  fixes  @
376461         2015-05-27 22:18:37 UTC
376462
376463         · PR #24185: (jacobhammons) Fixes for doc build errors (refs: #24195)
376464
376465         · 3307ec20d9 Merge pull request #24195 from rallytime/merge-24185
376466
376467         · d8daa9dcd7 Merge #24185 with a couple of fixes
376468
376469         · 634d56bca0 Fixed pylon error
376470
376471         · 0689815d0e Fixes for doc build errors
376472
376473       · PR   #24166:  (jayeshka)  adding  states/pkgng  unit  test  case.   @
376474         2015-05-27 20:27:49 UTC
376475
376476         · 7e400bc3d7      Merge      pull      request      #24166       from
376477           jayeshka/pkgng-states-unit-test
376478
376479         · 2234bb0b70 adding states/pkgng unit test case.
376480
376481       · PR  #24189:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
376482         2015-05-27 20:26:31 UTC
376483
376484         · 9fcda79cd4  Merge  pull  request  #24189   from   basepi/merge-for‐
376485           ward-2015.5
376486
376487         · 8839e9c22e  Merge  remote-tracking  branch  'upstream/2014.7'  into
376488           merge-forward-2015.5
376489
376490         · 9d7331c87d Merge pull request #24178 from rallytime/bp-24118
376491
376492           · e2217a09e8 removed deprecated pymongo usage as  no  longer  func‐
376493             tional with pymongo > 3.x
376494
376495         · 4e8c5031b0   Merge   pull   request   #24159   from  rallytime/key‐
376496           stone_doc_examples
376497
376498           · dadac8d076 Fill out modules/keystone.py CLI Examples
376499
376500         · fc10ee8ed5 Merge pull request #24158 from rallytime/fix_doc_error
376501
376502           · 49a517e2ca Fix test_valid_docs test for tls module
376503
376504       · PR #24181: (justinta) Fixed error where file was evaluated as a  sym‐
376505         link in test_absent @ 2015-05-27 18:26:28 UTC
376506
376507         · 2303dec0e9 Merge pull request #24181 from jtand/file_test
376508
376509         · 5f0e601589  Fixed  error  where  file was evaluated as a symlink in
376510           test_absent
376511
376512       · PR #24180: (terminalmage) Skip libvirt tests if not running as root @
376513         2015-05-27 18:18:47 UTC
376514
376515         · a16276852b  Merge  pull  request  #24180 from terminalmage/fix-lib‐
376516           virt-test
376517
376518         · 72e7416ad2 Skip libvirt tests if not running as root
376519
376520       · PR #24165: (jayeshka) adding states/portage_config unit test case.  @
376521         2015-05-27 17:15:08 UTC
376522
376523         · 1fbc5b25e6  Merge  pull  request  #24165 from jayeshka/portage_con‐
376524           fig-states-unit-test
376525
376526         · 8cf1505392 adding states/portage_config unit test case.
376527
376528       · PR  #24164:  (jayeshka)  adding  states/pecl  unit  test   case.    @
376529         2015-05-27 17:14:26 UTC
376530
376531         · 4747856411       Merge      pull      request      #24164      from
376532           jayeshka/pecl-states-unit-test
376533
376534         · 563a5b3c30 adding states/pecl unit test case.
376535
376536       · PR #24160: (The-Loeki) small enhancement  to  data  module;  pop()  @
376537         2015-05-27 17:03:10 UTC
376538
376539         · cdaaa19324 Merge pull request #24160 from The-Loeki/patch-1
376540
376541         · 2175ff3c75 doc & merge fix
376542
376543         · eba382cdda small enhancement to data module; pop()
376544
376545       · PR  #24153: (techhat) Batch mode sometimes improperly builds lists of
376546         minions to process @ 2015-05-27 16:21:53 UTC
376547
376548         · 4a8dbc7f13 Merge pull request #24153 from techhat/batchlist
376549
376550         · 467ba64612 Make sure that minion IDs are strings
376551
376552       · PR #24167: (jayeshka) adding  states/pagerduty  unit  test  case.   @
376553         2015-05-27 16:14:01 UTC
376554
376555         · ed8ccf57a2   Merge   pull   request   #24167  from  jayeshka/pager‐
376556           duty-states-unit-test
376557
376558         · 1af8c8334d adding states/pagerduty unit test case.
376559
376560       · PR #24156: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
376561         2015-05-27 15:05:01 UTC
376562
376563         · b9507d1567   Merge   pull  request  #24156  from  basepi/merge-for‐
376564           ward-2015.5
376565
376566         · e52b5ab2e2 Remove stray >>>>>
376567
376568         · 7dfbd929ff  Merge  remote-tracking  branch  'upstream/2014.7'  into
376569           merge-forward-2015.5
376570
376571           · c0d32e0b5e  Merge  pull  request #24125 from hvnsweeting/fix-rab‐
376572             bitmq-test-mode
376573
376574             · 71862c69b9 enhance log
376575
376576             · 28e2594162 change according to new output  of  rabbitmq  module
376577               functions
376578
376579             · cd0212e8ed  processes  and  returns  better output for rabbitmq
376580               module
376581
376582           · 39a8f30f06 Merge pull request #24093 from msteed/issue-23464
376583
376584             · fd35903d75 Fix failing test
376585
376586             · 41b344c7d3 Make LocalClient.cmd_iter_no_block() not block
376587
376588           · 5bffd3045e Merge pull request #24008 from davidjb/2014.7
376589
376590             · 8b8d0293d4 Correct reST formatting for documentation
376591
376592           · 1aa0420040 Merge pull request #23933 from jacobhammons/2014.7
376593
376594           · a3613e68e4 removed numbering from doc TOC
376595
376596           · 78b737c5e6 removed 2015.* release  from  release  notes,  updated
376597             index page to remove PDF/epub links
376598
376599           · e867f7df77  Changed  build  settings  to use saltstack2 theme and
376600             update release versions.
376601
376602           · 81ed9c9f59 sphinx saltstack2 doc theme
376603
376604       · ISSUE #24102: (bormotov) win_update encondig problems (refs: #24145)
376605
376606       · PR  #24145:  (jfindlay)  attempt  to  decode  win  update  package  @
376607         2015-05-26 23:20:20 UTC
376608
376609         · 05745fa931     Merge    pull    request    #24145    from    jfind‐
376610           lay/win_update_encoding
376611
376612         · cc5e17e61f attempt to decode win update package
376613
376614       · ISSUE #24122: (kiorky) service.dead is  no  more  stateful:  services
376615         does not handle correctly enable/disable change state (refs: #24123)
376616
376617       · PR  #24123:  (kiorky)  fix service enable/disable change @ 2015-05-26
376618         21:24:19 UTC
376619
376620         · 70247890de Merge pull request #24123 from makinacorpus/ss
376621
376622         · 2e2e1d262d fix service enable/disable change
376623
376624       · PR #24146: (rallytime) Fixes the boto_vpc_test failure  on  CentOS  5
376625         tests @ 2015-05-26 20:15:19 UTC
376626
376627         · 51c3cec5d7   Merge  pull  request  #24146  from  rallytime/fix_cen‐
376628           tos_boto_failure
376629
376630         · ac0f97de51 Fixes the boto_vpc_test failure on CentOS 5 tests
376631
376632       · ISSUE #24052: (twangboy) v2015.5.1 Changes the way it interprets  the
376633         minion_master.pub file (refs: #24144, #24089)
376634
376635       · ISSUE #23566: (rks2286) Salt-cp corrupting the file after transfer to
376636         minion (refs: #24144, #23740)
376637
376638       · PR #24144: (twangboy) Compare Keys ignores all newlines and  carriage
376639         returns @ 2015-05-26 19:25:48 UTC
376640
376641         · PR #23740: (jfindlay) Binary write (refs: #24144)
376642
376643         · 1c91a2176f Merge pull request #24144 from twangboy/fix_24052
376644
376645         · c197b41494 Compare Keys removing all newlines and carriage returns
376646
376647       · PR  #24139:  (rallytime)  Backport  #24118  to  2015.5  @  2015-05-26
376648         18:24:27 UTC
376649
376650         · PR #24118:  (trevor-h)  removed  deprecated  pymongo  usage  (refs:
376651           #24178, #24139)
376652
376653         · 084166747c Merge pull request #24139 from rallytime/bp-24118
376654
376655         · 4bb519b8da removed deprecated pymongo usage as no longer functional
376656           with pymongo > 3.x
376657
376658       · PR  #24138:  (rallytime)  Backport  #24116  to  2015.5  @  2015-05-26
376659         18:23:51 UTC
376660
376661         · PR #24116: (awdrius) Fixed typo in chown username (ending dot) that
376662           fails the command. (refs: #24138)
376663
376664         · 742eca29f7 Merge pull request #24138 from rallytime/bp-24116
376665
376666         · 7f08641800 Fixed typo in chown username (ending dot) that fails the
376667           command.
376668
376669       · PR  #24137:  (rallytime)  Backport  #24105  to  2015.5  @  2015-05-26
376670         18:23:40 UTC
376671
376672         · PR #24105: (cedwards) Updated  some  beacon-specific  documentation
376673           formatting (refs: #24137)
376674
376675         · e01536d098 Merge pull request #24137 from rallytime/bp-24105
376676
376677         · f0778a0a60 Updated some beacon-specific documentation formatting
376678
376679       · ISSUE  #23364:  (pruiz)  Unable  to destroy host using proxmox cloud:
376680         There was an error destroying  machines:  501  Server  Error:  Method
376681         'DELETE /nodes/pmx1/openvz/openvz/100' not implemented (refs: #24104)
376682
376683       · PR  #24136:  (rallytime)  Backport  #24104  to  2015.5  @  2015-05-26
376684         15:58:47 UTC
376685
376686         · PR #24104: (pruiz) Only try to  stop  a  VM  if  it's  not  already
376687           stopped. (fixes #23364) (refs: #24136)
376688
376689         · 89cdf976e1 Merge pull request #24136 from rallytime/bp-24104
376690
376691         · c53888415f  Only  try  to  stop  a  VM if it's not already stopped.
376692           (fixes #23364)
376693
376694       · PR  #24135:  (rallytime)  Backport  #24083  to  2015.5  @  2015-05-26
376695         15:58:27 UTC
376696
376697         · PR #24083: (swdream) fix code block syntax (refs: #24135)
376698
376699         · 67c4373577 Merge pull request #24135 from rallytime/bp-24083
376700
376701         · e1d06f9764 fix code block syntax
376702
376703       · PR  #24131:  (jayeshka)  adding  states/mysql_user  unit  test case @
376704         2015-05-26 15:58:10 UTC
376705
376706         · a83371e0ed      Merge      pull      request      #24131       from
376707           jayeshka/mysql_user-states-unit-test
376708
376709         · ed1ef69856 adding states/mysql_user unit test case
376710
376711       · PR  #24130:  (jayeshka) adding states/ntp unit test case @ 2015-05-26
376712         15:57:29 UTC
376713
376714         · 1dc1d2a6e5      Merge      pull      request      #24130       from
376715           jayeshka/ntp-states-unit-test
376716
376717         · ede4a9f2f1 adding states/ntp unit test case
376718
376719       · PR #24128: (jayeshka) adding states/openstack_config unit test case @
376720         2015-05-26 15:56:08 UTC
376721
376722         · 39434179a8 Merge pull request #24128  from  jayeshka/openstack_con‐
376723           fig-states-unit-test
376724
376725         · ca09e0f7c1 adding states/openstack_config unit test case
376726
376727       · PR  #24127:  (jayeshka) adding states/npm unit test case @ 2015-05-26
376728         15:55:18 UTC
376729
376730         · 23f25c4298      Merge      pull      request      #24127       from
376731           jayeshka/npm-states-unit-test
376732
376733         · c3ecabbae0 adding states/npm unit test case
376734
376735       · ISSUE  #24009:  (hvnsweeting)  state_verbose  False  summary is wrong
376736         (refs: #24077)
376737
376738       · PR #24077: (anlutro) Change how state_verbose output  is  filtered  @
376739         2015-05-26 15:41:11 UTC
376740
376741         · 07488a4415 Merge pull request #24077 from alprs/fix-outputter_high‐
376742           state_nonverbose_count
376743
376744         · 7790408c3c Change how state_verbose output is filtered
376745
376746       · PR #24119: (jfindlay) Update contrib docs @ 2015-05-26 15:37:01 UTC
376747
376748         · 224820febf Merge  pull  request  #24119  from  jfindlay/update_con‐
376749           trib_docs
376750
376751         · fa2d411f53 update example release branch in contrib docs
376752
376753         · a0b76b57b3 clarify git rebase instructions
376754
376755         · 3517e0095f fix contribution docs link typos
376756
376757         · 651629c6a4 backport dev contrib doc updates to 2015.5
376758
376759       · PR  #23928:  (joejulian) Add the ability to replace existing certifi‐
376760         cates @ 2015-05-25 19:47:26 UTC
376761
376762         · 5488c4aaa2 Merge pull request #23928 from joejulian/2015.5_tls_mod‐
376763           ule_replace_existing
376764
376765         · 4a4cbdd266 Add the ability to replace existing certificates
376766
376767       · ISSUE  #23221:  (Reiner030) Debian Jessie: locale.present not working
376768         again (refs: #24078)
376769
376770       · PR #24078: (jfindlay) if a charmap is not supplied,  set  it  to  the
376771         codeset @ 2015-05-25 19:39:19 UTC
376772
376773         · dd90ef09b9 Merge pull request #24078 from jfindlay/locale_charmap
376774
376775         · 5eb97f0973 if a charmap is not supplied, set it to the codeset
376776
376777       · PR  #24088:  (jfindlay)  pkg  module  integration  tests @ 2015-05-25
376778         19:39:02 UTC
376779
376780         · 9cec5d3dc9 Merge pull request #24088 from jfindlay/pkg_tests
376781
376782         · f1bd5ec404 adding pkg module integration tests
376783
376784         · 739b2ef3bd rework yumpkg refresh_db so args are not mandatory
376785
376786       · ISSUE #24052: (twangboy) v2015.5.1 Changes the way it interprets  the
376787         minion_master.pub file (refs: #24144, #24089)
376788
376789       · PR #24089: (jfindlay) allow override of binary file mode on windows @
376790         2015-05-25 19:38:44 UTC
376791
376792         · 517552caa6 Merge pull request #24089 from jfindlay/binary_write
376793
376794         · b2259a6370 allow override of binary file mode on windows
376795
376796       · ISSUE #23973: (mschiff) state file.managed:  setting  contents_pillar
376797         to  a pillar which is a list throws exception instead giving descrip‐
376798         tive error message (refs: #24092)
376799
376800       · PR #24092: (jfindlay) collect scattered contents edits, ensure it's a
376801         str @ 2015-05-25 19:38:10 UTC
376802
376803         · 121ab9f857 Merge pull request #24092 from jfindlay/file_state
376804
376805         · cfa0f1358e collect scattered contents edits, ensure it's a str
376806
376807       · PR  #24112:  (The-Loeki) thin_gen breaks when thinver doesn't exist @
376808         2015-05-25 19:37:47 UTC
376809
376810         · 84e65dece7 Merge pull request #24112 from The-Loeki/patch-1
376811
376812         · 34646eae16 thin_gen breaks when thinver doesn't exist
376813
376814       · PR #24108: (jayeshka) adding  states/mysql_query  unit  test  case  @
376815         2015-05-25 12:30:48 UTC
376816
376817         · ec509ed272       Merge      pull      request      #24108      from
376818           jayeshka/mysql_query-states-unit-test
376819
376820         · ec50450460 adding states/mysql_query unit test case
376821
376822       · PR #24110: (jayeshka) adding varnish  unit  test  case  @  2015-05-25
376823         12:30:21 UTC
376824
376825         · f2e5d6c2fd   Merge   pull   request   #24110   from   jayeshka/var‐
376826           nish-unit-test
376827
376828         · e11988969f adding varnish unit test case
376829
376830       · PR #24109: (jayeshka) adding states/mysql_grants  unit  test  case  @
376831         2015-05-25 12:29:53 UTC
376832
376833         · 4fca2b49e3       Merge      pull      request      #24109      from
376834           jayeshka/mysql_grants-states-unit-test
376835
376836         · 11a93cb80c adding states/mysql_grants unit test case
376837
376838       · PR #24028: (nleib)  send  a  disable  message  to  disable  puppet  @
376839         2015-05-25 04:02:11 UTC
376840
376841         · 6b43c9a8cb Merge pull request #24028 from nleib/2015.5
376842
376843         · 15f24b42b2 update format of string in disabled msg
376844
376845         · 7690e5b008 remove trailing whitespaces
376846
376847         · 56a972034f Update puppet.py
376848
376849         · 9686391d81 Update puppet.py
376850
376851         · 33f3d68489 send a disable message to disable puppet
376852
376853       · PR  #24100: (jfindlay) adding states/file unit test case @ 2015-05-24
376854         05:17:54 UTC
376855
376856         · PR #23963: (jayeshka) adding  states/file  unit  test  case  (refs:
376857           #24100)
376858
376859         · 52c9acafc2 Merge pull request #24100 from jfindlay/merge_23963
376860
376861         · 7d59deb3d6 adding states/file unit test case
376862
376863       · ISSUE  #21446:  (dpheasant)  check for systemd on Oracle Linux (refs:
376864         #24098)
376865
376866       · PR #24098: (galet) Systemd not recognized properly on Oracle Linux  7
376867         @ 2015-05-24 04:07:31 UTC
376868
376869         · 0eb9f15d20 Merge pull request #24098 from galet/2015.5
376870
376871         · 4d6ab21c74 Systemd not recognized properly on Oracle Linux 7
376872
376873       · PR #24090: (jfindlay) adding states/mount unit test case @ 2015-05-22
376874         23:02:57 UTC
376875
376876         · PR #24062: (jayeshka) adding states/mount  unit  test  case  (refs:
376877           #24090)
376878
376879         · 8e04db76de Merge pull request #24090 from jfindlay/merge_24062
376880
376881         · a81a9225b8 adding states/mount unit test case
376882
376883       · ISSUE  #22574:  (unicolet)  error  when which is not available (refs:
376884         #22806)
376885
376886       · PR  #24086:  (rallytime)  Backport  #22806  to  2015.5  @  2015-05-22
376887         21:18:20 UTC
376888
376889         · PR  #22806:  (jfindlay)  use  cmd.run_all instead of cmd.run_stdout
376890           (refs: #24086)
376891
376892         · c0079f5dc7 Merge pull request #24086 from rallytime/bp-22806
376893
376894         · f728f55160 use cmd.run_all instead of cmd.run_stdout
376895
376896       · PR #24024: (jayeshka) adding states/mongodb_user  unit  test  case  @
376897         2015-05-22 20:53:19 UTC
376898
376899         · 09de253373   Merge   pull   request   #24024   from   jayeshka/mon‐
376900           godb_user-states-unit-test
376901
376902         · f31dc921f5 resolved errors
376903
376904         · d038b1fdbb adding states/mongodb_user unit test case
376905
376906       · ISSUE #23883: (kaithar) max_event_size seems  broken  (refs:  #24001,
376907         #24065)
376908
376909       · PR  #24065:  (kiorky) continue to fix #23883 (refs: #24066, #24080) @
376910         2015-05-22 18:59:21 UTC
376911
376912         · bfd812c56b Merge pull request #24065 from makinacorpus/real23883
376913
376914         · 028282e01d continue to fix #23883
376915
376916       · ISSUE  #24017:  (arthurlogilab)  [salt-cloud  openstack]   TypeError:
376917         unhashable type: 'dict' on map creation (refs: #24029)
376918
376919       · PR #24029: (kiorky) Fix providers handling @ 2015-05-22 16:56:06 UTC
376920
376921         · 429adfe00a Merge pull request #24029 from makinacorpus/fixproviders
376922
376923         · 412b39b802 Fix providers handling
376924
376925       · PR  #23936:  (jfindlay)  remove  unreachable  returns in file state @
376926         2015-05-22 16:26:49 UTC
376927
376928         · a42ccccd98 Merge pull request #23936 from jfindlay/file_state
376929
376930         · ac29c0cdd0 also validate file.recurse source parameter
376931
376932         · 57f73887fe remove unreachable returns in file state
376933
376934       · PR #24063: (jayeshka) removed tuple index error @ 2015-05-22 14:58:20
376935         UTC
376936
376937         · 8b69b41a42       Merge      pull      request      #24063      from
376938           jayeshka/mount-states-module
376939
376940         · b9745d5c4f removed tuple index error
376941
376942       · PR  #24057:  (rallytime)  Backport  #22572  to  2015.5  @  2015-05-22
376943         05:36:25 UTC
376944
376945         · PR #22572: (The-Loeki) Small docfix for GitPillar (refs: #24057)
376946
376947         · 02ac4aa288 Merge pull request #24057 from rallytime/bp-22572
376948
376949         · 49aad84b17 Small docfix for GitPillar
376950
376951       · ISSUE #23088: (ghost) Segfault when adding a Zypper repo on SLES 11.3
376952         (refs: #24027)
376953
376954       · PR  #24040:  (rallytime)  Backport  #24027  to  2015.5  @  2015-05-21
376955         23:43:54 UTC
376956
376957         · PR  #24027:  (ghost)  Add  baseurl  to salt.modules.zypper.mod_repo
376958           (refs: #24040)
376959
376960         · 82de059891 Merge pull request #24040 from rallytime/bp-24027
376961
376962         · 37d25d8bc6 Added  baseurl  as  alias  for  url  and  mirrorlist  in
376963           salt.modules.zypper.mod_repo.
376964
376965       · PR  #24039:  (rallytime)  Backport  #24015  to  2015.5  @  2015-05-21
376966         23:43:25 UTC
376967
376968         · PR #24015: (YanChii) minor improvement of  solarisips  docs  &  fix
376969           typos (refs: #24039)
376970
376971         · d909781d97 Merge pull request #24039 from rallytime/bp-24015
376972
376973         · 6bfaa94a8c minor improovement of solarisips docs & fix typos
376974
376975       · ISSUE   #19598:   (fayetted)  ssh_auth.present  test=true  incorectly
376976         reports changes will be made (refs: #19599)
376977
376978       · PR  #24038:  (rallytime)  Backport  #19599  to  2015.5  @  2015-05-21
376979         23:43:10 UTC
376980
376981         · PR  #19599:  (fayetted)  Fix  ssh_auth test mode, compare lines not
376982           just key (refs: #24038)
376983
376984         · 4a0f254d22 Merge pull request #24038 from rallytime/bp-19599
376985
376986         · ea00d3e786 Fix ssh_auth test mode, compare lines not just key
376987
376988       · PR #24046: (rallytime) Remove key management test from digital  ocean
376989         cloud tests @ 2015-05-21 22:32:04 UTC
376990
376991         · 42b87f1049 Merge pull request #24046 from rallytime/remove_key_test
376992
376993         · 1d031caa78  Remove  key  management  test  from digital ocean cloud
376994           tests
376995
376996       · PR #24044: (cro) Remove spurious log  message,  fix  typo  in  doc  @
376997         2015-05-21 22:31:49 UTC
376998
376999         · eff54b1c5a Merge pull request #24044 from cro/pgjsonb
377000
377001         · de0663314a Remove spurious log message, fix typo in doc
377002
377003       · ISSUE  #23883:  (kaithar)  max_event_size seems broken (refs: #24001,
377004         #24065)
377005
377006       · PR #24001: (msteed) issue #23883 @ 2015-05-21 20:32:30 UTC
377007
377008         · ac32000b5d Merge pull request #24001 from msteed/issue-23883
377009
377010         · bea97a8b98 issue #23883
377011
377012       · PR #23995: (kiorky) Lxc path pre @ 2015-05-21 17:26:03 UTC
377013
377014         · f7fae26059 Merge pull request #23995 from makinacorpus/lxc_path_pre
377015
377016         · 319282af5f lint
377017
377018         · 1dc67e5678 lxc: versionadded
377019
377020         · fcad7cb804 lxc: states improvments
377021
377022         · 644bd729f7 lxc: more consistence for profiles
377023
377024         · 139372c055 lxc: remove merge cruft
377025
377026         · 725b0462ca lxc: Repair merge
377027
377028       · ISSUE #16383: (interjection) salt.states.augeas.change  example  from
377029         docs fails with exception (refs: #24032)
377030
377031       · PR   #24032:   (kartiksubbarao)  Update  augeas_cfg.py  @  2015-05-21
377032         17:03:42 UTC
377033
377034         · 26d6851666   Merge   pull   request    #24032    from    kartiksub‐
377035           barao/augeas_insert_16383
377036
377037         · 3686dcd4c7 Update augeas_cfg.py
377038
377039       · PR  #24025:  (jayeshka)  adding  timezone unit test case @ 2015-05-21
377040         16:50:53 UTC
377041
377042         · 55c9245075  Merge   pull   request   #24025   from   jayeshka/time‐
377043           zone-unit-test
377044
377045         · 1ec33e22a7 removed assertion error
377046
377047         · 16ecb28950 adding timezone unit test case
377048
377049       · PR #24023: (jayeshka) adding states/mongodb_database unit test case @
377050         2015-05-21 16:49:17 UTC
377051
377052         · e243617659 Merge pull request  #24023  from  jayeshka/mongodb_data‐
377053           base-states-unit-test
377054
377055         · 5a9ac7effb adding states/mongodb_database unit test case
377056
377057       · PR  #24022:  (jayeshka)  adding  states/modjk_worker unit test case @
377058         2015-05-21 16:48:29 UTC
377059
377060         · b377bd93e6      Merge      pull      request      #24022       from
377061           jayeshka/modjk_worker-states-unit-test
377062
377063         · 05c0a985db adding states/modjk_worker unit test case
377064
377065       · ISSUE  #23776:  (enblde)  Presence change events constantly reporting
377066         all minions as new in 2015.5 (refs: #24005)
377067
377068       · PR #24005: (msteed) issue #23776 @ 2015-05-21 01:55:34 UTC
377069
377070         · 701c51ba7a Merge pull request #24005 from msteed/issue-23776
377071
377072         · 62e67d8ca0 issue #23776
377073
377074       · ISSUE #23950: (neogenix) iptables state generates a 0 position  which
377075         is invalid in iptables cli (refs: #23996)
377076
377077       · PR  #23996: (neogenix) iptables state generates a 0 position which is
377078         invalid in iptables cli #23950 @ 2015-05-20 22:44:27 UTC
377079
377080         · 17b7c0b741 Merge pull request #23996 from neogenix/2015.5-23950
377081
377082         · ad417a57c2 fix for #23950
377083
377084       · PR #23994: (rallytime) Skip the gpodder pkgrepo test for Ubuntu 15  -
377085         they don't have vivid ppa up yet @ 2015-05-20 21:18:21 UTC
377086
377087         · 4cb877307c     Merge    pull    request    #23994    from    rally‐
377088           time/skip_test_ubuntu_15
377089
377090         · 9e0ec07d85 Skip the gpodder pkgrepo test - they  don't  have  vivid
377091           ppa up yet
377092
377093   Salt 2015.5.3 Release Notes
377094       release
377095              2015-07-07
377096
377097       Version 2015.5.3 is a bugfix release for 2015.5.0.
377098
377099   Statistics
377100       · Total Merges: 178
377101
377102       · Total Issue References: 69
377103
377104       · Total PR References: 207
377105
377106       · Contributors:   62   (CameronNemo,  Lanzaa,  Starblade42,  The-Loeki,
377107         TheScriptSage,  aboe76,  ahus1,  aneeshusa,  anlutro,  arthurlogilab,
377108         basepi,  borutmrak, cachedout, cgtx, codertux, cro, dkiser, driskell,
377109         eliasp, garethgreenaway, grischa, gthb, heewa, infestdead, jacksontj,
377110         jacobhammons,   jayeshka,   jeanpralo,   jfindlay,  jodv,  joejulian,
377111         justinta,  kartiksubbarao,  kev009,  kiorky,  lorengordon,  msciciel,
377112         msteed, nmadhok, notpeter, obestwalter, pengyao, pille, porterjamesj,
377113         pruiz,  quixoten,   rallytime,   rhertzog,   ruzarowski,   ryan-lane,
377114         steverweber,  tankywoo,  tbaker57,  techhat,  terminalmage, thatch45,
377115         thenewwazoo, trevor-h, twangboy, variia, zefrog, zhujinhe)
377116
377117   Changelog for v2015.5.2..v2015.5.3
377118       Generated at: 2018-05-27 21:20:01 UTC
377119
377120       · PR  #25109:  (jfindlay)  add  2015.5.3  release  notes  @  2015-07-01
377121         19:45:56 UTC
377122
377123         · f0f512a4da Merge pull request #25109 from jfindlay/2015.5
377124
377125         · 3187d5d5aa add 2015.5.3 release notes
377126
377127       · PR #25096: (jfindlay) Postgres group test @ 2015-07-01 18:48:26 UTC
377128
377129         · PR  #24330: (jayeshka) adding states/postgres_group unit test case.
377130           (refs: #25096)
377131
377132         · 21709aa483  Merge   pull   request   #25096   from   jfindlay/post‐
377133           gres_group_test
377134
377135         · 3c379dc115 declobber postgres state unit test mocking
377136
377137         · a162ffa3d8 adding states/postgres_group unit test case.
377138
377139       · ISSUE  #25041: (wt) REGRESSION: pillar.get of integer fails to render
377140         in sls (refs: #25085)
377141
377142       · PR #25085:  (jfindlay)  accept  all  sources  in  the  file  state  @
377143         2015-07-01 18:23:45 UTC
377144
377145         · 0a846400c6 Merge pull request #25085 from jfindlay/fix_file
377146
377147         · 937a252e16 remove unnecessary file state tests
377148
377149         · 6f238e924c integration test file.managed sources
377150
377151         · a5978d30c2 iterate an iterable source othwerise list+str it
377152
377153       · PR  #25095:  (jfindlay) Win groupadd unit tests @ 2015-07-01 18:18:53
377154         UTC
377155
377156         · PR #24207: (jayeshka) adding win_groupadd unit  test  case.  (refs:
377157           #25095)
377158
377159         · a98394210e     Merge    pull    request    #25095    from    jfind‐
377160           lay/win_groupadd_test
377161
377162         · 564dffd14a depend on win libs rather than mocking them
377163
377164         · 9b9aeb8628 resolved all erors.
377165
377166         · aaf89354c0 adding win_groupadd unit test case.
377167
377168       · ISSUE #21520: (jfindlay) sudo.salt_call is broken (refs: #25089)
377169
377170       · PR #25089: (jfindlay) fix minion sudo @ 2015-07-01 15:53:16 UTC
377171
377172         · PR #20226: (thatch45) Allow sudo priv escalation (refs: #25089)
377173
377174         · 7c8d2a8656 Merge pull request #25089 from jfindlay/fix_sudo
377175
377176         · d8f91d4a19 add some apprehension to the sudo exec module
377177
377178         · a9269c072a adding sudo exec module docs
377179
377180         · e4a40b7bd8 comment whitespace in minion config
377181
377182         · 44cb167744 adding sudo_user minion config docs
377183
377184         · d461060efe adding sudo_user minion config to default
377185
377186       · ISSUE #24875: (ahammond) ValueError: list.remove(x): x  not  in  list
377187         in    File "/usr/lib/python2.6/site-packages/salt/cli/batch.py", line
377188         179, in run active.remove(minion) (refs: #25099)
377189
377190       · PR #25099: (driskell) Fix broken batch results @ 2015-07-01  15:51:29
377191         UTC
377192
377193         · 4d6078e5dd Merge pull request #25099 from driskell/patch-1
377194
377195         · 59b23e5f6e Fix broken batch results
377196
377197       · PR  #25083:  (steverweber)  ipmi: get_sensor_data would always fail @
377198         2015-06-30 20:57:21 UTC
377199
377200         · 46350796b6 Merge pull request #25083 from steverweber/fix_ipmi_stat
377201
377202         · 836f48c378 include _ in IpmiCommand
377203
377204         · 817e434591 get_sensor_data would always fail
377205
377206       · PR #25067: (The-Loeki)  Fix  for  maxdepth=0  in  find  @  2015-06-30
377207         20:54:06 UTC
377208
377209         · 15f2a4077c Merge pull request #25067 from The-Loeki/patch-1
377210
377211         · 61edad3a80 Fix for maxdepth=0 in find
377212
377213       · PR  #25078:  (terminalmage)  Use  smaller  number  for upper limit of
377214         mac_user's _first_avail_uid helper function @ 2015-06-30 20:53:24 UTC
377215
377216         · 58d933cfa8 Merge pull request #25078 from terminalmage/fix-mac-uid
377217
377218         · df2ab7ee2b  Use  smaller  number  for  upper  limit  of  mac_user's
377219           _first_avail_uid helper function
377220
377221       · ISSUE   #24521:  (multani)  State  network.managed  fails  on  Debian
377222         (Jessie) (refs: #25045)
377223
377224       · PR #25045:  (garethgreenaway)  Fixes  to  debian_ip.py  in  2015.5  @
377225         2015-06-30 17:36:43 UTC
377226
377227         · ebd6cdc412    Merge   pull   request   #25045   from   garethgreen‐
377228           away/24521_debian_networking
377229
377230         · 6f2a6c940b having proto default to  static  since  it's  needed  to
377231           build the template.
377232
377233       · PR  #25065:  (lorengordon)  Add  download  links  for  2015.5.1-3 and
377234         2015.5.2 Windows installers @ 2015-06-30 15:29:31 UTC
377235
377236         · ae31b279cc Merge pull request #25065  from  lorengordon/update-win‐
377237           dows-installer-links
377238
377239         · 40a0c132d4  Add  download  links for 2015.5.1-3 and 2015.5.2, Fixes
377240           #25057
377241
377242       · PR #25052: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
377243         2015-06-30 01:05:00 UTC
377244
377245         · ddaeb0fb8e   Merge   pull  request  #25052  from  basepi/merge-for‐
377246           ward-2015.5
377247
377248         · 2c5e664a58  Merge  remote-tracking  branch  'upstream/2014.7'  into
377249           merge-forward-2015.5
377250
377251         · a7154e7471  Merge pull request #25011 from notpeter/s3_2014.7_back‐
377252           port
377253
377254           · 8b8af640f6 Add s3 to protocols for remote source_hash
377255
377256       · PR #25038: (jfindlay) versionadded @ 2015-06-29 19:49:27 UTC
377257
377258         · PR #24747: (msciciel) add  get_route  function  to  network  module
377259           (refs: #25038)
377260
377261         · c7003d4951 Merge pull request #25038 from jfindlay/versionadded
377262
377263         · d6dc6f97b5 versionadded
377264
377265       · PR #24747: (msciciel) add get_route function to network module (refs:
377266         #25038) @ 2015-06-29 16:51:43 UTC
377267
377268         · 28c87cab17 Merge pull request #24747 from msciciel/2015.5
377269
377270         · 79b4ec2da8 network module lint fix
377271
377272         · 0b6ef784b2 network module: fix for ipv6
377273
377274         · f3d184c478 add get_route function to network module
377275
377276       · PR #24975: (ryan-lane) Fix update of undefined env var in npm  module
377277         @ 2015-06-29 16:45:05 UTC
377278
377279         · 46a96773aa Merge pull request #24975 from lyft/npm-module-fix
377280
377281         · 6fde58182f Try byte literals rather than unicode strings in the env
377282
377283         · c8514de334 Fix update of undefined env var in npm module
377284
377285       · PR  #24986:  (heewa)  Don't modify empty change @ 2015-06-29 16:44:17
377286         UTC
377287
377288         · 9cf8550cd8      Merge      pull      request      #24986       from
377289           heewa/fix-pkg-hold-when-errored
377290
377291         · d47a448a80 Don't modify empty change
377292
377293       · ISSUE #24969: (bradthurber) salt-cloud 2015.5.0: missing azure depen‐
377294         dency results in misleading error (refs: #24999)
377295
377296       · PR #24999: (rallytime) Provide a  less  confusing  error  when  cloud
377297         provider is misconfigured @ 2015-06-29 16:43:31 UTC
377298
377299         · ece897d8d6     Merge    pull    request    #24999    from    rally‐
377300           time/cloud_error_help
377301
377302         · 1e81a88625 Clean up
377303
377304         · be19a6730e Provide a less confusing error when  cloud  provider  is
377305           misconfigured
377306
377307       · PR #24987: (heewa) Don't try to cache a template when it's not a file
377308         @ 2015-06-29 14:02:59 UTC
377309
377310         · 4af15cfb90  Merge   pull   request   #24987   from   heewa/fix-try‐
377311           ing-to-cache-no-file
377312
377313         · 9ae0c78ffc Don't try to cache a template when it's not a file
377314
377315       · PR  #25022:  (jfindlay)  revise  label  and milestone documentation @
377316         2015-06-29 13:51:24 UTC
377317
377318         · 8eeaddbff4 Merge pull request #25022 from jfindlay/label_docs
377319
377320         · 8575192cc4 revise label and milestone documentation
377321
377322       · PR #25029: (jayeshka) adding redismod unit test case.   @  2015-06-29
377323         13:50:33 UTC
377324
377325         · 89c2e01ac1   Merge   pull   request   #25029  from  jayeshka/redis‐
377326           mod-unit-test
377327
377328         · e3045be5a9 adding redismod unit test case.
377329
377330       · PR #24995: (rallytime) Fix deprecated pymongo usage causing errors in
377331         latest pymongo @ 2015-06-27 22:28:56 UTC
377332
377333         · PR  #24175:  (trevor-h) fix deprecated pymongo usage causing errors
377334           in latest pymongo (refs: #24995)
377335
377336         · 642525298c Merge pull request #24995 from rallytime/tops_mongo
377337
377338         · a3c1063a37 fix deprecated pymongo usage causing  errors  in  latest
377339           pymongo
377340
377341       · ISSUE #24862: (dkatsanikakis) gpg.import_key returns error after suc‐
377342         cesfully completed (refs: #24994, #24966)
377343
377344       · PR #24994: (garethgreenaway)  Another  Fix  to  gpg.py  in  2015.5  @
377345         2015-06-27 22:28:15 UTC
377346
377347         · e9aaa11b68    Merge   pull   request   #24994   from   garethgreen‐
377348           away/2015_5_24862_gpg_import_key
377349
377350         · d2f0d8fa96 variable was referenced before assignment.  Just  remov‐
377351           ing  the  variable  and  checking  the  return  from distutils.ver‐
377352           sion.LooseVersion directly.
377353
377354       · PR #24988: (jayeshka) adding states/supervisord unit  test  case.   @
377355         2015-06-27 22:24:42 UTC
377356
377357         · ebd666e5ee   Merge   pull  request  #24988  from  jayeshka/supervi‐
377358           sord-states-unit-test
377359
377360         · bb0a6d5625 adding states/supervisord unit test case.
377361
377362       · PR #25007: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
377363         2015-06-26 21:28:57 UTC
377364
377365         · 0487c3c59b   Merge   pull  request  #25007  from  basepi/merge-for‐
377366           ward-2015.5
377367
377368         · 4980fd547b  Merge  remote-tracking  branch  'upstream/2014.7'  into
377369           merge-forward-2015.5
377370
377371         · a11e4c6eea Merge pull request #24944 from techhat/issue24915
377372
377373           · 59c3081e49 Double-check main_cloud_config
377374
377375         · d26a5447ba Merge pull request #24936 from jtand/psutil
377376
377377           · bdb7a19c36 Fixed ps module to not use depreciated psutil commands
377378
377379       · PR #25003: (jacobhammons) Updated man pages @ 2015-06-26 19:13:41 UTC
377380
377381         · 91a60e198e Merge pull request #25003 from jacobhammons/man-pages
377382
377383         · cf97a4ab17 Updated man pages
377384
377385       · PR  #25002:  (jacobhammons)  sphinx  html  theme updates @ 2015-06-26
377386         18:39:14 UTC
377387
377388         · a60a2c4222   Merge   pull    request    #25002    from    jacobham‐
377389           mons/doc-announcements
377390
377391         · f88f344a28 sphinx html theme updates
377392
377393       · PR  #24977:  (rallytime) Only warn about digital ocean deprecation if
377394         digital ocean is configured @ 2015-06-25 23:54:46 UTC
377395
377396         · a791b23ff9 Merge pull request #24977 from rallytime/do_move_warning
377397
377398         · 6b544227ab Only warn about digital  ocean  deprecation  if  digital
377399           ocean is configured
377400
377401       · ISSUE #24862: (dkatsanikakis) gpg.import_key returns error after suc‐
377402         cesfully completed (refs: #24994, #24966)
377403
377404       · PR #24966: (garethgreenaway) Fixes to gpg.py in 2015.5  @  2015-06-25
377405         19:58:49 UTC
377406
377407         · a71c1b7c8b    Merge   pull   request   #24966   from   garethgreen‐
377408           away/2015_5_24862_gpg_import_key
377409
377410         · 55eb73b0c9 fixing unit tests.
377411
377412         · 80c24be4fe Fixing an issue with the import_key  method.   Different
377413           results depending on which gnupg python module is installed.
377414
377415       · ISSUE  #24846:  (mavenAtHouzz)  Memory  leak  issue  in  rest_tornado
377416         EventListener (refs: #24965)
377417
377418       · PR #24965: (jacksontj) Fix  memory  leak  in  saltnado  @  2015-06-25
377419         18:48:03 UTC
377420
377421         · 86221846ac Merge pull request #24965 from jacksontj/2015.5
377422
377423         · 48b5e1653e pylint
377424
377425         · 87adca46e0 Fix memory leak in saltnado
377426
377427       · PR  #24948:  (jfindlay)  fix  some  malformed doc links and anchors @
377428         2015-06-25 15:51:38 UTC
377429
377430         · 773c4cf8e4 Merge pull request #24948 from jfindlay/doc_links
377431
377432         · 152a9b2a12 fix some malformed doc links and anchors
377433
377434       · ISSUE #24885: (anlutro) Master config - Directories starting  with  a
377435         dot have the dot stripped when root_dir is . (refs: #24886)
377436
377437       · PR  #24886:  (anlutro)  Be more careful about stripping away root_dir
377438         from directory options @ 2015-06-25 15:50:11 UTC
377439
377440         · 4ebc01e662 Merge pull request #24886 from alprs/fix-root_dir_bug
377441
377442         · 52ccafded3 os.sep is the correct directory separator constant
377443
377444         · 0ecbf261ad Be more  careful  about  stripping  away  root_dir  from
377445           directory options
377446
377447       · PR  #24930:  (jacksontj)  Don't  refetch  file  templates 100% of the
377448         time-- Performance optimization  for  templated  files  @  2015-06-24
377449         21:22:47 UTC
377450
377451         · f52f7e1d20 Merge pull request #24930 from jacksontj/2015.5
377452
377453         · 5fb75346ef Only parse the source if we have one
377454
377455         · c03a6fa9d1 Add support for sources of managed files to be local
377456
377457         · 4cf78a0a95 pylint
377458
377459         · d70914e473  Don't  refetch  the template 100% of the time-- Perfor‐
377460           mance optimization for templated files
377461
377462       · PR #24935: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
377463         2015-06-24 18:17:54 UTC
377464
377465         · 925a4d91ba   Merge   pull  request  #24935  from  basepi/merge-for‐
377466           ward-2015.5
377467
377468         · 8d8bf3476f  Merge  remote-tracking  branch  'upstream/2014.7'  into
377469           merge-forward-2015.5
377470
377471         · eeb05a1b10   Merge   pull   request   #24918  from  BretFisher/min‐
377472           ion-start-smartos-smf-fix
377473
377474           · d7bfb0c7fd Smartos smf minion fix
377475
377476       · ISSUE #24826: (rakai93) rh_service.py: 'int' object has no  attribute
377477         'startswith' (refs: #24873)
377478
377479       · PR  #24873: (jfindlay) convert osrelease grain to str before str op @
377480         2015-06-24 16:43:08 UTC
377481
377482         · 4e8ed0d8ed Merge pull request #24873 from jfindlay/rh_service
377483
377484         · febe6efab7 convert osrelease grain to str before str op
377485
377486       · PR  #24923:  (jayeshka)  adding  states/status  unit  test  case.   @
377487         2015-06-24 15:50:07 UTC
377488
377489         · 90819f9c37   Merge   pull   request   #24923   from   jayeshka/sta‐
377490           tus-states-unit-test
377491
377492         · baec650674 adding states/status unit test case.
377493
377494       · PR #24902: (cro) Fix minion  failover,  document  same  @  2015-06-24
377495         15:20:43 UTC
377496
377497         · 2dd24ece71 Merge pull request #24902 from cro/fixfo2
377498
377499         · 90c73ff446 References to documentation.
377500
377501         · f0c9204d8b Add references to failover parameters in conf
377502
377503         · 9da96a8b95 Docs
377504
377505         · e2314f0e49 Move comment.
377506
377507         · b9a756ff5f  Fix  master  failover  and  add documentation for same.
377508           Factor in syndics.  Syndics will not failover (yet).
377509
377510       · PR #24926:  (rallytime)  Back-port  #22263  to  2015.5  @  2015-06-24
377511         15:09:40 UTC
377512
377513         · PR  #22263:  (cachedout)  Prevent  a load from being written if one
377514           already exists (refs: #24926)
377515
377516         · 087ee09f46 Merge pull request #24926 from rallytime/bp-22263
377517
377518         · 8c92d9c677 Prevent a load from being written if one already exists
377519
377520       · PR #24900:  (rallytime)  Back-port  #24848  to  2015.5  @  2015-06-24
377521         15:09:18 UTC
377522
377523         · PR #24848: (nmadhok) Correcting bash code blocks (refs: #24900)
377524
377525         · b34a74fe89 Merge pull request #24900 from rallytime/bp-24848
377526
377527         · d2b5456f5d Correcting bash code blocks
377528
377529       · PR  #24899:  (rallytime)  Back-port  #24847  to  2015.5  @ 2015-06-24
377530         15:09:01 UTC
377531
377532         · PR #24847: (borutmrak) unset size  parameter  for  lxc.create  when
377533           backing=zfs (refs: #24899)
377534
377535         · a546e8e326 Merge pull request #24899 from rallytime/bp-24847
377536
377537         · 1e4ec7a56b unset size parameter for lxc.create when backing=zfs
377538
377539       · PR  #24898:  (rallytime)  Back-port  #24845  to  2015.5  @ 2015-06-24
377540         15:06:09 UTC
377541
377542         · PR #24845: (porterjamesj) fix bug in docker.loaded (refs: #24898)
377543
377544         · d4dd8d288d Merge pull request #24898 from rallytime/bp-24845
377545
377546         · 071049ae7a fix bug in docker.loaded
377547
377548       · ISSUE #24799: (infestdead) Forced  remount  because  options  changed
377549         when no options changed (glusterfs) (refs: #24839)
377550
377551       · PR  #24897:  (rallytime)  Back-port  #24839  to  2015.5  @ 2015-06-24
377552         15:05:35 UTC
377553
377554         · PR #24839: (infestdead) fix for issue #24799 (refs: #24897)
377555
377556         · 693085520f Merge pull request #24897 from rallytime/bp-24839
377557
377558         · f3b20d5445 fix for issue #24799
377559
377560       · PR #24891: (jayeshka) adding states/ssh_known_hosts unit  test  case.
377561         @ 2015-06-23 16:46:58 UTC
377562
377563         · 1650233be9       Merge      pull      request      #24891      from
377564           jayeshka/ssh_known_hosts-states-unit-test
377565
377566         · ef1347f2b3 adding states/ssh_known_hosts unit test case.
377567
377568       · ISSUE #24870: (dkiser) salt-cloud fails on sudo password prompt  when
377569         using ssh key to auth (refs: #24874)
377570
377571       · PR  #24874: (dkiser) Fix for salt-cloud when ssh key used to auth and
377572         using sudo.  @ 2015-06-22 23:46:08 UTC
377573
377574         · c32aae96aa Merge pull request #24874 from dkiser/salt-cloud-24870
377575
377576         · 6c31143b22 Fix key error for the PR to fix #24870.
377577
377578         · bdcf7d88c1 Fix pylint for #24874.
377579
377580         · 8f66d193e0 Fix for salt-cloud when ssh key used to auth  and  using
377581           sudo.
377582
377583       · ISSUE  #24871: (dkiser) salt-cloud fails to honor 'password' in cloud
377584         options before raising an exception (refs: #24880)
377585
377586       · PR #24880: (dkiser) Fix to allow password for salt-cloud  to  be  set
377587         outside of a vm specif… @ 2015-06-22 23:44:59 UTC
377588
377589         · ddaa21c0ae Merge pull request #24880 from dkiser/salt-cloud-24871
377590
377591         · 4f6c035673  Fix  to allow password for salt-cloud to be set outside
377592           of a vm specific context.
377593
377594       · PR #24852: (pruiz) Fix issue 24851:  regular  expression  so  it  now
377595         matches  packages  with  '.' or '-' at pkg name @ 2015-06-22 20:37:13
377596         UTC
377597
377598         · 3902b162a9 Merge pull request #24852 from pruiz/issue-24851
377599
377600         · 73adb1df50 Fix regular expression so it now matches  packages  with
377601           '.' or '-' at pkg name.
377602
377603       · PR  #24861:  (jayeshka)  adding  states/ssh_auth  unit  test case.  @
377604         2015-06-22 16:20:01 UTC
377605
377606         · 6c5b788afd      Merge      pull      request      #24861       from
377607           jayeshka/ssh_auth-states-unit-test
377608
377609         · e5d7b0de80 adding states/ssh_auth unit test case.
377610
377611       · ISSUE  #23478:  (calvinhp)  grains.get  virtual reports "physical" on
377612         bhyve FreeBSD VM (refs: #24824)
377613
377614       · PR #24824: (kev009) Detect bhyve virtual type for  FreeBSD  guests  @
377615         2015-06-22 15:24:35 UTC
377616
377617         · 9e3321c18e Merge pull request #24824 from kev009/grains-bhyve-bsd
377618
377619         · a2262097a1 Detect bhyve virtual type for freebsd guests
377620
377621       · ISSUE  #24746:  (anlutro)  state.apply  doesn't  seem  to work (refs:
377622         #24795)
377623
377624       · PR #24795:  (anlutro)  Fix  state.apply  for  salt-ssh  @  2015-06-22
377625         15:23:57 UTC
377626
377627         · 7b07ef9f44       Merge      pull      request      #24795      from
377628           alprs/fix-salt_ssh_state_apply
377629
377630         · 905840b1fa Fix state.apply for salt-ssh
377631
377632       · PR #24832: (jacksontj) Don't incur a "_load_all" of  the  lazy_loader
377633         while looking for mod_init.  @ 2015-06-22 15:17:10 UTC
377634
377635         · PR  #20540:  (jacksontj)  Loader  nomerge:  Don't  allow modules to
377636           "merge" (refs: #24832)
377637
377638         · PR #20481: (jacksontj) Add submodule support to  LazyLoader  (refs:
377639           #20540)
377640
377641         · PR #20473: (jacksontj) Add "disabled" support (refs: #20481)
377642
377643         · PR #20274: (jacksontj) Loader overhaul to LazyLoader (refs: #20473)
377644
377645         · PR  #12327:  (jacksontj)  Add  a LazyLoader class which will lazily
377646           load modules (with the given lo... (refs: #20274)
377647
377648         · 31d4c131e9 Merge pull request #24832 from jacksontj/2015.5
377649
377650         · cfa7c0a699 pylint
377651
377652         · be18439736 Don't incur a "_load_all" of the lazy_loader while look‐
377653           ing for mod_init.
377654
377655       · ISSUE  #14666:  (luciddr34m3r) salt-cloud GoGrid exception when using
377656         map file (refs: #24811)
377657
377658       · PR #24834:  (rallytime)  Back-port  #24811  to  2015.5  @  2015-06-19
377659         18:43:49 UTC
377660
377661         · PR  #24811:  (rallytime)  Add notes to map and gogrid docs -- don't
377662           use -P with map files (refs: #24834)
377663
377664         · 2d8148fb4d Merge pull request #24834 from rallytime/bp-24811
377665
377666         · e2684ecf0b Add notes to map and gogrid docs -- don't  use  -P  with
377667           map files
377668
377669       · PR  #24790:  (rallytime)  Back-port  #24741  to  2015.5  @ 2015-06-19
377670         17:25:58 UTC
377671
377672         · PR #24741: (CameronNemo) Improve  Upstart  enable/disable  handling
377673           (refs: #24790)
377674
377675         · d2edb63cff Merge pull request #24790 from rallytime/bp-24741
377676
377677         · a54245f080 Add missing import
377678
377679         · 4ce6370d6e salt.modules.upstart: fix lint errors
377680
377681         · aec53ec32a Improve Upstart enable/disable handling
377682
377683       · PR  #24789:  (rallytime)  Back-port  #24717  to  2015.5  @ 2015-06-19
377684         17:17:00 UTC
377685
377686         · PR #24717: (gthb) virtualenv.managed: document  user  and  no_chown
377687           (refs: #24789)
377688
377689         · 645e62a43c Merge pull request #24789 from rallytime/bp-24717
377690
377691         · 95ac4eba13 virtualenv.managed: document user and no_chown
377692
377693       · PR  #24823: (jayeshka) adding states/splunk_search unit test case.  @
377694         2015-06-19 17:14:12 UTC
377695
377696         · 0a6c70f062      Merge      pull      request      #24823       from
377697           jayeshka/splunk_search-states-unit-test
377698
377699         · 98831a8cb0 adding states/splunk_search unit test case.
377700
377701       · PR #24809: (jodv) Correctly create single item list for failover mas‐
377702         ter type with string value for master opt @ 2015-06-19 15:22:20 UTC
377703
377704         · 4c5a708599 Merge pull  request  #24809  from  jodv/single_item_mas‐
377705           ter_list
377706
377707         · 18ceebc77f single item list vs. list of characters
377708
377709       · PR  #24802:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
377710         2015-06-18 20:11:58 UTC
377711
377712         · ae05e70e94  Merge  pull  request  #24802   from   basepi/merge-for‐
377713           ward-2015.5
377714
377715         · 5b7a65d6d9 Merge pull request #19 from twangboy/merge-forward-fixes
377716
377717           · 98e7e90299 Fixed test failures for Colton
377718
377719         · b949856ae6  Merge  remote-tracking  branch  'upstream/2014.7'  into
377720           merge-forward-2015.5
377721
377722           · 4281dfff0b  Merge  pull   request   #24780   from   nmadhok/back‐
377723             port-2014.7-24777
377724
377725             · c53b0d9a22 Backporting PR #24777 to 2014.7 branch
377726
377727           · f3c5cb2d41 Merge pull request #24769 from msteed/issue-21318
377728
377729             · f40a9d5cc0 Fix stacktrace in get_cli_returns()
377730
377731           · 59db24602f Merge pull request #24690 from twangboy/fix_17041
377732
377733             · 7a015389af Added additional reporting
377734
377735             · d84ad5d519 Fixed capitalization... Failed and Already
377736
377737             · e9552455c4        Merge        branch        '2014.7'        of
377738               https://github.com/saltstack/salt into fix_17041
377739
377740             · 144bff2f67 Report powershell output instead of error
377741
377742         · PR saltstack/salt#24329: (jayeshka) adding states/postgres_database
377743           unit test case. (refs: #24798)
377744
377745       · PR  #24798:  (justinta)  Revert "adding states/postgres_database unit
377746         test case."  @ 2015-06-18 17:56:17 UTC
377747
377748         · daa76c34e4    Merge    pull    request    #24798     from     salt‐
377749           stack/revert-24329-postgres_database-states-unit-test
377750
377751         · 179ce03d93 Revert "adding states/postgres_database unit test case."
377752
377753       · PR  #24791:  (rallytime)  Back-port  #24749  to  2015.5  @ 2015-06-18
377754         17:43:15 UTC
377755
377756         · PR #24749: (obestwalter) add windows specfic default for  multipro‐
377757           cessing (refs: #24791)
377758
377759         · 7073a9f850 Merge pull request #24791 from rallytime/bp-24749
377760
377761         · be43b2b394 add windows specfic default for multiprocessing
377762
377763       · PR  #24792:  (rallytime)  Back-port  #24757  to  2015.5  @ 2015-06-18
377764         15:58:35 UTC
377765
377766         · PR #24757: (cachedout) Fix loader call in pyobjects (refs: #24792)
377767
377768         · PR #24668: (grischa) enable virtual package names in pyobjects ren‐
377769           derer (refs: #24721, #24757)
377770
377771         · 1a158e8a3b Merge pull request #24792 from rallytime/bp-24757
377772
377773         · 6c804f0789 Fix loader call in pyobjects
377774
377775       · PR  #24768:  (jfindlay) fix yum versionlock on RHEL/CentOS 5, disable
377776         corresponding test @ 2015-06-18 15:13:12 UTC
377777
377778         · 0f9298263b Merge pull request #24768 from jfindlay/pkg_mod
377779
377780         · 7a26c2b5b9 disable pkg.hold test for RHEL/CentOS 5
377781
377782         · 4cacd93c22 use correct yum versionlock pkg name on centos 5
377783
377784       · ISSUE #24776: (nmadhok) --static option in salt raises ValueError and
377785         has been broken for a very long time (refs: #24777)
377786
377787         · PR  #24779:  (nmadhok)  Backporting Changes to 2014.7 branch (refs:
377788           #24777)
377789
377790       · PR #24778: (nmadhok) Backporting PR #24777 to  2015.2  branch  (refs:
377791         #24777) @ 2015-06-18 14:53:04 UTC
377792
377793         · PR  #24777: (nmadhok) Fixing issue where --static option fails with
377794           ValueError Fixes #24776 (refs: #24778, #24780)
377795
377796         · 39f088a74c   Merge   pull   request   #24778   from   nmadhok/back‐
377797           port-2015.2-24777
377798
377799         · ae3701f639 Backporting PR #24777 to 2015.2 branch
377800
377801       · PR  #24774:  (zefrog)  Fix  lxc lvname parameter command @ 2015-06-18
377802         14:49:06 UTC
377803
377804         · 2a4f65f3f7      Merge      pull      request      #24774       from
377805           zefrog/fix-lxc-lvname-param
377806
377807         · 21e0cd4a5e Fixed typo in lxc module: lvname parameter typo
377808
377809         · 283d86ec12 Fixed bug in lxc module: lvname using wrong parameter in
377810           cmd
377811
377812       · PR  #24782:  (jayeshka)  adding  states/slack  unit  test  case.    @
377813         2015-06-18 14:33:55 UTC
377814
377815         · fd7339014b       Merge      pull      request      #24782      from
377816           jayeshka/slack-states-unit-test
377817
377818         · e2b6214764 adding states/slack unit test case.
377819
377820       · ISSUE #24770: (jacksontj) Requisite and Requisite_in don't play  nice
377821         together (refs: #24771)
377822
377823       · PR #24771: (jacksontj) Always extend requisites, instead of replacing
377824         them @ 2015-06-18 14:29:09 UTC
377825
377826         · c9c90af512 Merge pull request #24771 from jacksontj/2015.5
377827
377828         · b1211c5422 Re-enable tests for complex prereq and prereq_in
377829
377830         · 378f6bfc36 Only merge when the merge is of requisites
377831
377832       · PR #24766: (msteed) Remove doc references to obsolete  minion  opt  @
377833         2015-06-17 21:36:55 UTC
377834
377835         · 5fe4de8f62 Merge pull request #24766 from msteed/undoc-dns_check
377836
377837         · f92a769d35 Remove doc references to obsolete minion opt
377838
377839       · PR #24329: (jayeshka) adding states/postgres_database unit test case.
377840         @ 2015-06-17 19:11:02 UTC
377841
377842         · a407ab7c51 Merge pull request #24329  from  jayeshka/postgres_data‐
377843           base-states-unit-test
377844
377845         · ee06f1ad57 adding states/postgres_database unit test case.
377846
377847       · ISSUE  #24560:  (hydrosine) Documentation missing on parameter (refs:
377848         #24632)
377849
377850       · ISSUE #24547: (dragonpaw) Artifactory docs say  module  is  'jboss7'.
377851         (refs: #24632)
377852
377853       · ISSUE  #24375: (companykitchen-dev) Custom grain won't sync under any
377854         circumstances (refs: #24632)
377855
377856       · ISSUE #24275: (kartiksubbarao) augeas issue with apache and recogniz‐
377857         ing changes that have been already made (refs: #24632)
377858
377859       · ISSUE  #24163:  (tbaker57)  enable_gpu_grains default value confusion
377860         (refs: #24632)
377861
377862       · PR #24632: (jacobhammons) Doc bug fixes @ 2015-06-17 18:40:02 UTC
377863
377864         · 3ff6eff546 Merge pull request #24632 from jacobhammons/bug-fixes
377865
377866         · 7c52012e31 Fixed typos
377867
377868         · c7cdd416a2 Doc bug fixes Refs #24547 Refs #24275 Refs  #24375  Refs
377869           #24560 Refs #24163
377870
377871       · ISSUE  #24198:  (ahammond)  salt-call  event.send doesn't send events
377872         from minion (refs: #24607)
377873
377874       · PR #24607: (garethgreenaway) fixes to minion.py @ 2015-06-17 18:16:42
377875         UTC
377876
377877         · 9995f64428    Merge   pull   request   #24607   from   garethgreen‐
377878           away/2015_5_sending_events_multi_master
377879
377880         · 8abd3f0ee1 A fix if you have multiple masters configured and try to
377881           fire events to the minion.  Currently they fail silently.  Might be
377882           the cause of #24198.
377883
377884       · PR  #24755:  (rallytime)  Remove  SALT_CLOUD_REQS  from  setup.py   @
377885         2015-06-17 17:42:25 UTC
377886
377887         · bf2dd94389 Merge pull request #24755 from rallytime/fix_setup_15
377888
377889         · 48769a544d Remove SALT_CLOUD_REQS from setup.py
377890
377891       · PR  #24740:  (rallytime)  Backport  #24720  to  2015.5  @  2015-06-17
377892         16:43:37 UTC
377893
377894         · PR #24720: (TheScriptSage) Issue 24621 - AD/LDAP Group  Auth  Issue
377895           (refs: #24740)
377896
377897         · 3d53d79476 Merge pull request #24740 from rallytime/bp-24720
377898
377899         · a9bcdb5b77 Updating master.py to properly check against groups when
377900           user is only authed against group.  Tested against unit.auth_test.
377901
377902       · PR #24723:  (rallytime)  Back-port  #20124  to  2015.5  @  2015-06-17
377903         16:43:20 UTC
377904
377905         · PR #20124: (cgtx) add init system to default grains (refs: #24723)
377906
377907         · ac2851be55 Merge pull request #24723 from rallytime/bp-20124
377908
377909         · 4d0061b832  fix  infinite  loop  introduced by #20124 when the init
377910           system is not in the supported_inits list
377911
377912         · 0c7fa0fca2 Optimizations for #20124
377913
377914         · f353454327 add init system to default grains (resolve #20124)
377915
377916       · PR #24754: (anlutro) salt-cloud documentation - Add information about
377917         linode location @ 2015-06-17 16:04:48 UTC
377918
377919         · 78cd09b6e9  Merge  pull  request  #24754  from  alprs/docs-add_lin‐
377920           ode_location_option
377921
377922         · d88e071e98 add information about linode location
377923
377924       · PR #24748: (jayeshka) adding  states/serverdensity_device  unit  test
377925         case.  @ 2015-06-17 15:39:07 UTC
377926
377927         · d5554f76ec  Merge  pull  request  #24748  from  jayeshka/serverden‐
377928           sity_device-states-unit-test
377929
377930         · 1a4c241050 adding states/serverdensity_device unit test case.
377931
377932       · PR #24739:  (rallytime)  Back-port  #24735  to  2015.5  @  2015-06-17
377933         15:16:47 UTC
377934
377935         · PR  #24735:  (notpeter) Add 2015.5 codename to version numbers docs
377936           (refs: #24739)
377937
377938         · 0b7e7ef879 Merge pull request #24739 from rallytime/bp-24735
377939
377940         · 64c565d9be Add .0 to version number
377941
377942         · 5ed801b98f Add codenames for 2015.5 and future  versions.  Trailing
377943           newline.
377944
377945       · ISSUE  #24111:  (yermulnik)  cli  option '--summary' got broken after
377946         upgrade to 2015.5.1 (refs: #24732)
377947
377948       · PR  #24732:  (msteed)  Fix  stacktrace  when  --summary  is  used   @
377949         2015-06-17 03:27:57 UTC
377950
377951         · c8713f2d00 Merge pull request #24732 from msteed/issue-24111
377952
377953         · 54b33dd359 Fix stacktrace when --summary is used
377954
377955       · PR  #24721:  (rallytime)  Back-port  #24668  to  2015.5  @ 2015-06-17
377956         03:23:47 UTC
377957
377958         · PR #24668: (grischa) enable virtual package names in pyobjects ren‐
377959           derer (refs: #24721, #24757)
377960
377961         · 70d37816bf Merge pull request #24721 from rallytime/bp-24668
377962
377963         · 68fb5af970 fixing other test
377964
377965         · ba4f262b9c fixing text for virtual support in pyobjects
377966
377967         · b349d91a5f enable virtual package names in pyobjects renderer
377968
377969       · ISSUE  #21923: (Fluro) Salt cloud not running  provisioning script as
377970         root (refs: #24718)
377971
377972       · ISSUE #17241: (hasues) Salt-Cloud for vSphere needs additional  docu‐
377973         mentation (refs: #24718)
377974
377975       · PR #24718: (rallytime) Added some missing config documentation to the
377976         vsphere driver @ 2015-06-17 03:19:35 UTC
377977
377978         · 1b9d6895c7    Merge    pull    request    #24718    from     rally‐
377979           time/update_vsphere_docs
377980
377981         · bfdebb6e18  Added  some missing config documentation to the vsphere
377982           driver
377983
377984       · PR #24714: (rallytime)  Remove  cloud-requirements.txt  @  2015-06-17
377985         03:17:04 UTC
377986
377987         · 64857c706d     Merge    pull    request    #24714    from    rally‐
377988           time/remove_cloud_reqs_15
377989
377990         · 67b796d01e Remove cloud-requirements.txt
377991
377992       · ISSUE #24439: (bechtoldt) Add  tornado  version  to  versions  report
377993         (refs: #24733)
377994
377995       · PR  #24733:  (msteed) Include Tornado in versions report @ 2015-06-17
377996         03:13:53 UTC
377997
377998         · f96b1d68cd Merge pull request #24733 from msteed/issue-24439
377999
378000         · 76cfef05ec Include Tornado in versions report
378001
378002       · PR #24737: (jacksontj) Move AES command logging to trace @ 2015-06-17
378003         01:48:11 UTC
378004
378005         · a861fe0f4f Merge pull request #24737 from jacksontj/2015.5
378006
378007         · a4ed41ae82 Move AES command logging to trace
378008
378009       · PR  #24724:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
378010         2015-06-16 22:46:27 UTC
378011
378012         · 0d2dc46648  Merge  pull  request  #24724   from   basepi/merge-for‐
378013           ward-2015.5
378014
378015         · 4641028464  Merge  remote-tracking  branch  'upstream/2014.7'  into
378016           merge-forward-2015.5
378017
378018         · a18dadad71 Merge pull request #24646 from twangboy/fix_24196
378019
378020           · a208e1d60f Fixed user.present on existing user
378021
378022       · PR #24701:  (jayeshka)  adding  states/selinux  unit  test  case.   @
378023         2015-06-16 15:27:29 UTC
378024
378025         · 3d33fe7676       Merge      pull      request      #24701      from
378026           jayeshka/selinux-states-unit-test
378027
378028         · 0c136fd9c2 adding states/selinux unit test case.
378029
378030       · PR #24687: (cachedout) Note about minimum worker_threads @ 2015-06-15
378031         20:46:23 UTC
378032
378033         · 2e287a9e33    Merge    pull    request    #24687    from    cached‐
378034           out/min_worker_threads
378035
378036         · b7bb7eaeb2 Note about minimum worker_threads
378037
378038       · PR #24688: (cachedout) Update AUTHORS @ 2015-06-15 20:46:03 UTC
378039
378040         · 432478ccb7 Merge pull request #24688 from cachedout/update_authors
378041
378042         · 3f6880e291 Better email
378043
378044         · 6c7b773eae Update AUTHORS
378045
378046       · ISSUE #22385: (cachedout) States which  require  unavailable  modules
378047         should display the reason (refs: #24649)
378048
378049       · PR  #24649:  (cachedout) Improved error reporting for failed states @
378050         2015-06-15 16:04:20 UTC
378051
378052         · 9a2b50d59f Merge pull request #24649 from cachedout/issue_22385
378053
378054         · b9fe792534 States will now return the reason behind  failure  if  a
378055           module could not be loaded
378056
378057       · PR  #24673:  (jayeshka)  adding  states/schedule  unit  test case.  @
378058         2015-06-15 15:24:52 UTC
378059
378060         · 66e9e16753  Merge  pull   request   #24673   from   jayeshka/sched‐
378061           ule-states-unit-test
378062
378063         · 54aaaa5f12 adding states/schedule unit test case.
378064
378065       · ISSUE  #24661: (kartiksubbarao) augeas.change doesn't support setting
378066         empty values (refs: #24663)
378067
378068       · PR  #24663:  (kartiksubbarao)  Update  augeas_cfg.py   @   2015-06-15
378069         15:18:48 UTC
378070
378071         · 5eb19c4e4d Merge pull request #24663 from kartiksubbarao/patch-2
378072
378073         · e18db50e0c Update augeas_cfg.py
378074
378075       · ISSUE  #24583: (dkiser) salt-cloud keyring password referenced before
378076         assignment (refs: #24667)
378077
378078       · PR #24667: (dkiser) fix for #24583 clouds/openstack.py kerying  first
378079         time succeeds @ 2015-06-14 21:58:58 UTC
378080
378081         · 4450432161 Merge pull request #24667 from dkiser/fix-cloud-keyring
378082
378083         · c92c05fac0  fix  for  #24583 clouds/openstack.py kerying first time
378084           succeeds
378085
378086       · ISSUE #24537: (kartiksubbarao)  alias.present  doesn't  update  alias
378087         values that are substrings of the existing value (refs: #24659)
378088
378089       · PR  #24659:  (kartiksubbarao) Update aliases.py @ 2015-06-13 17:31:42
378090         UTC
378091
378092         · 4c64ee9d94 Merge pull request #24659 from kartiksubbarao/patch-1
378093
378094         · d6834749e2 Update aliases.py
378095
378096       · PR #24644: (cro) Merge forward 2014.7->2015.5 @  2015-06-12  21:31:41
378097         UTC
378098
378099         · 89eb616c29       Merge      pull      request      #24644      from
378100           cro/2014.7-2015.5-20150612
378101
378102         · 4136dc3160 Merge forward from 2014.7 to 2015.5
378103
378104         · b99484fde2 Merge pull request #24643 from cro/saltannounce
378105
378106           · ecb0623d7f Add salt-announce mailing list.
378107
378108         · 635121e85d Merge pull request #24620 from twangboy/fix_24215
378109
378110           · d7a9999be1 Fixed comment and uncomment functions in file.py
378111
378112         · PR  saltstack/salt#24595:  (tankywoo)  fix  target   rule,   remove
378113           unneeded quotation mark (refs: #24642)
378114
378115       · PR  #24642:  (basepi) Revert "fix target rule, remove unneeded quota‐
378116         tion mark" @ 2015-06-12 20:14:26 UTC
378117
378118         · b896a0d0e9    Merge    pull    request    #24642     from     salt‐
378119           stack/revert-24595-fix-iptables-target
378120
378121         · 5ff3224ae1 Revert "fix target rule, remove unneeded quotation mark"
378122
378123       · PR #24628: (jayeshka) adding states/reg unit test case.  @ 2015-06-12
378124         17:29:11 UTC
378125
378126         · 01092c2337      Merge      pull      request      #24628       from
378127           jayeshka/reg_states-unit-test
378128
378129         · af1bd8f9ff adding states/reg unit test case.
378130
378131       · ISSUE  #24494:  (arount)  Computed  comments  in  jinja states (refs:
378132         #24591)
378133
378134       · ISSUE #23359: (BalintSzigeti) init.sls parsing issue (refs: #24591)
378135
378136       · ISSUE #21217: (Colstuwjx)  Maybe  a  bug  for  jinja  render?  (refs:
378137         #24591)
378138
378139       · PR  #24631:  (rallytime)  Back-port  #24591  to  2015.5  @ 2015-06-12
378140         16:54:32 UTC
378141
378142         · PR #24591: (tbaker57) Add some documentation surrounding  Jinja  vs
378143           yaml comments -  (refs: #24631)
378144
378145         · 5f491f911d Merge pull request #24631 from rallytime/bp-24591
378146
378147         · f13cd418bc Add extra clarification why jinja comments are needed.
378148
378149         · 23749718bb Fix typo
378150
378151         · 6a917471d4 Add some documentation surrounding Jinja comments - refs
378152           #24492, #21217, #23359
378153
378154       · PR #24616: (garethgreenaway) additional logging in state.py module  @
378155         2015-06-12 16:25:39 UTC
378156
378157         · f23f99ec35    Merge   pull   request   #24616   from   garethgreen‐
378158           away/2015_5_logging_disabled_states
378159
378160         · 4dbf0ef160 Adding some logging  statement  to  give  feedback  when
378161           states,  including  highstate,  are  disabled.  Useful when running
378162           from scheduler.
378163
378164       · PR #24595: (tankywoo) fix target rule, remove unneeded quotation mark
378165         @ 2015-06-12 16:23:22 UTC
378166
378167         · 6dccbb04a1   Merge  pull  request  #24595  from  tankywoo/fix-ipta‐
378168           bles-target
378169
378170         · 10a5160d7c fix target rule, remove unneeded quotation mark
378171
378172       · PR #24604: (jfindlay) fix pkg module integration tests  @  2015-06-12
378173         16:04:26 UTC
378174
378175         · 8ac3d94785 Merge pull request #24604 from jfindlay/pkg_tests
378176
378177         · d88fb22fdc fix pkg module integration tests on CentOS 5
378178
378179         · fb91b40ba0 fix pkg module integration tests on ubuntu 12
378180
378181       · PR  #24600:  (basepi) [2015.5] Remove __kwarg__ from salt-ssh keyword
378182         args @ 2015-06-12 04:21:29 UTC
378183
378184         · 0ff545c549 Merge pull request #24600  from  basepi/salt-ssh.orches‐
378185           trate.20615
378186
378187         · 9b55683f6a Remove __kwarg__ from salt-ssh keyword args
378188
378189       · ISSUE #22843: (Xiol) salt-ssh roster doesn't support integers as host
378190         keys (refs: #24608)
378191
378192       · PR #24608: (basepi) [2015.5] Normalize salt-ssh  flat  roster  minion
378193         IDs to strings @ 2015-06-11 21:35:07 UTC
378194
378195         · 832916f49f Merge pull request #24608 from basepi/salt-ssh.flat.ros‐
378196           ter.integers.22843
378197
378198         · 381820f051 Normalize salt-ssh flat roster minion IDs to strings
378199
378200       · PR #24605: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
378201         2015-06-11 19:15:21 UTC
378202
378203         · 4eb5bb253b   Merge   pull  request  #24605  from  basepi/merge-for‐
378204           ward-2015.5
378205
378206         · f96c5029bb  Merge  remote-tracking  branch  'upstream/2014.7'  into
378207           merge-forward-2015.5
378208
378209         · d83928a7f9 Merge pull request #24589 from BretFisher/patch-1
378210
378211           · 65a11336dc Fixed Mine example for jinja code block
378212
378213       · ISSUE  #24457:  (ryan-lane) When selecting the version of docs on the
378214         docs site, it brings you to the homepage (refs: #24598)
378215
378216       · ISSUE #24250: (jfindlay) have version links on docs page link to that
378217         version of the current page (refs: #24598)
378218
378219       · PR  #24598:  (jacobhammons)  2015.5.2  release  changes  @ 2015-06-11
378220         17:24:11 UTC
378221
378222         · e0bb177823 Merge pull request #24598 from jacobhammons/doc-fixes
378223
378224         · f3f34ddff6 2015.5.2 release changes Refs #24250 Refs #24457
378225
378226       · ISSUE #20615: (aurynn) 2014.7.1: salt/states/saltmod using  incorrect
378227         return dict for orchestrate (refs: #24588)
378228
378229       · PR  #24588:  (basepi)  Fixes  for  saltmod.function  for  salt-ssh  @
378230         2015-06-11 16:15:21 UTC
378231
378232         · 26930b45bd Merge pull request #24588  from  basepi/salt-ssh.orches‐
378233           trate.20615
378234
378235         · 826936ce57 Move documentation into docstring instead of comments
378236
378237         · de052e7135  Assign  'return' to 'ret' if necessary in saltmod.func‐
378238           tion
378239
378240         · 34ff989d66 Convert keyword args to key=value strings in salt-ssh
378241
378242       · PR #24593: (jayeshka)  adding  states/redismod  unit  test  case.   @
378243         2015-06-11 15:55:27 UTC
378244
378245         · 5a21ad152e   Merge   pull   request   #24593  from  jayeshka/redis‐
378246           mod_states-unit-test
378247
378248         · 3b95744840 adding states/redismod unit test case.
378249
378250       · ISSUE #40: (thatch45) Clean up timeouts (refs: #22857)
378251
378252       · PR #24581: (rallytime) Disabled some flaky tests until we can  figure
378253         out how to make them more reliable @ 2015-06-11 15:51:41 UTC
378254
378255         · PR  #24217:  (jfindlay) disable intermittently failing tests (refs:
378256           #24581)
378257
378258         · PR #23623: (jfindlay) Fix /jobs endpoint's return (refs: #24217)
378259
378260         · PR #22857: (jacksontj) Fix /jobs endpoint's return (refs: #23623)
378261
378262         · 8ffb86edd0  Merge   pull   request   #24581   from   rallytime/dis‐
378263           able_some_flaky_tests
378264
378265         · c82f135d2e Disabled some flaky tests until we can figure out how to
378266           make them more reliable
378267
378268       · PR #24566: (jayeshka) adding states/rdp unit test case.  @ 2015-06-11
378269         02:14:39 UTC
378270
378271         · a570d7f967       Merge      pull      request      #24566      from
378272           jayeshka/rdp_states-unit-test
378273
378274         · 273b994e91 adding states/rdp unit test case.
378275
378276       · ISSUE #24480: (kiorky) [CRITICAL] [2015.5] tls breaks  tzinfo  (refs:
378277         #24551)
378278
378279       · PR  #24551:  (joejulian) 2015.5 dont pollute environment @ 2015-06-11
378280         02:13:06 UTC
378281
378282         · 20ada1f8a1    Merge    pull    request    #24551    from     joeju‐
378283           lian/2015.5_dont_pollute_environment
378284
378285         · cfc3b43ba2 Don't pollute the TZ environment variable
378286
378287         · cba8d3f923 pep8
378288
378289         · 9cb7015568 Mark keyword version adds
378290
378291         · 76e2583265 Merge tls changes from develop
378292
378293       · ISSUE  #19901:  (clinta) State cache is not documented (refs: #24574,
378294         #24468)
378295
378296       · PR #24574: (jacobhammons) Refs #19901 @ 2015-06-10 20:09:23 UTC
378297
378298         · bb2fd6a970 Merge pull request #24574 from jacobhammons/19901
378299
378300         · e2a2946dc7 Refs #19901
378301
378302       · PR #24577: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
378303         2015-06-10 19:46:22 UTC
378304
378305         · b03166cde3   Merge   pull  request  #24577  from  basepi/merge-for‐
378306           ward-2015.5
378307
378308         · e1d45ccf3b  Merge  remote-tracking  branch  'upstream/2014.7'  into
378309           merge-forward-2015.5
378310
378311         · d376390f76 Merge pull request #24530 from twangboy/fix_24427
378312
378313           · 673e1d809e Added missing panel.bmp for installer
378314
378315           · cc50218b01 Start Minion Service on Silent Install
378316
378317       · ISSUE  #24235:  (tomasfejfar)  Difference between running from minion
378318         and from master (refs: #24571, #24468)
378319
378320       · PR #24571: (jacobhammons) Refs #24235 @ 2015-06-10 17:02:18 UTC
378321
378322         · 3ec457beef Merge pull request #24571 from jacobhammons/24235
378323
378324         · 8df5d53bb8 Refs #24235
378325
378326       · PR #24565: (pille) fix backtrace, when listing plugins  @  2015-06-10
378327         16:33:11 UTC
378328
378329         · fe07eb5653  Merge  pull request #24565 from pille/munin-ignore-bro‐
378330           ken-symlinks
378331
378332         · 8511a6c0a6 fix backtrace, when listing plugins
378333
378334       · PR #24554: (ryan-lane) Fix yes usage for pecl defaults  @  2015-06-09
378335         23:59:49 UTC
378336
378337         · 251c8f9f5f Merge pull request #24554 from lyft/pecl-module-fix
378338
378339         · 56a9cfcf24 Fix yes usage for pecl defaults
378340
378341       · PR  #24535:  (rallytime)  Back-port  #24518  to  2015.5  @ 2015-06-09
378342         20:06:18 UTC
378343
378344         · PR #24518:  (rallytime)  Merge  #24448  with  Pylint  Fixes  (refs:
378345           #24535)
378346
378347         · PR  #24448:  (codertux)  Update  modules path for operating systems
378348           using systemd (refs: #24518)
378349
378350         · dbd49b4acb Merge pull request #24535 from rallytime/bp-24518
378351
378352         · fc75197616 Pylint fix
378353
378354         · 3e08840988 Update modules path for operating systems using systemd
378355
378356       · PR #24538: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
378357         2015-06-09 17:27:20 UTC
378358
378359         · 485ed3cff9   Merge   pull  request  #24538  from  basepi/merge-for‐
378360           ward-2015.5
378361
378362         · 6a8039d468  Merge  remote-tracking  branch  'upstream/2014.7'  into
378363           merge-forward-2015.5
378364
378365         · 6ebc476bb3   Merge  pull  request  #24513  from  jquast/2014.7-bug‐
378366           fix-iteritem
378367
378368           · 2be0180e5e bugfix use of 'iteritem' in 2014.7 branch
378369
378370       · PR #24495: (jayeshka) adding states/rabbitmq_vhost unit test case.  @
378371         2015-06-09 15:33:23 UTC
378372
378373         · 73e6388acd   Merge   pull   request   #24495   from   jayeshka/rab‐
378374           bitmq_vhost_states-unit-test
378375
378376         · 31889e38eb cosmetic change.
378377
378378         · cf501cf60d resolved error.
378379
378380         · 4bb6087722         Merge         branch         '2015.5'         of
378381           https://github.com/saltstack/salt             into             rab‐
378382           bitmq_vhost_states-unit-test
378383
378384         · 3ad77143a8 adding states/rabbitmq_vhost unit test case.
378385
378386       · PR #24445: (jayeshka) adding states/pyrax_queues unit test  case.   @
378387         2015-06-09 15:28:45 UTC
378388
378389         · bf1abccebe       Merge      pull      request      #24445      from
378390           jayeshka/pyrax_queues_states-unit-test
378391
378392         · ea27cefb10 adding states/pyrax_queues unit test case.
378393
378394       · PR #24490: (aneeshusa) Fix pacman.list_upgrades for new  python_shell
378395         default.  @ 2015-06-09 15:13:16 UTC
378396
378397         · 0247e8d10d   Merge  pull  request  #24490  from  aneeshusa/fix-pac‐
378398           man-list-upgrades
378399
378400         · 980e1cb4dc Lint fix.
378401
378402         · dca33f1112 Fix pacman.list_upgrades for new python_shell default.
378403
378404       · PR #24517: (steverweber) small fixes to the ipmi  docs  @  2015-06-09
378405         15:10:14 UTC
378406
378407         · 6268ddb43a Merge pull request #24517 from steverweber/ipmi_doc
378408
378409         · 6413712844 lint
378410
378411         · e78aea9b01 more small fixes to the ipmi docs
378412
378413       · PR  #24524:  (jayeshka)  any()  takes  list  oy  tuple.  @ 2015-06-09
378414         13:49:42 UTC
378415
378416         · 3728b3f327   Merge   pull   request   #24524   from   jayeshka/rab‐
378417           bitmq_vhost_states-module
378418
378419         · 01c99ad767 any() takes list oy tuple.
378420
378421       · PR  #24482: (eliasp) 'docker.running' needs now the 'image' param.  @
378422         2015-06-09 04:43:04 UTC
378423
378424         · dd23de885b      Merge      pull      request      #24482       from
378425           eliasp/2015.5-states.dockerio-docker.running-doc
378426
378427         · 5de741d626 'docker.running' needs now the 'image' param.
378428
378429       · ISSUE  #23503:  (jfindlay) salt-ssh fails on CentOS 7 when python-zmq
378430         is not installed (refs: #24515)
378431
378432       · PR #24515: (basepi) [2015.5] Add  xml  library  to  the  salt-thin  @
378433         2015-06-09 04:10:06 UTC
378434
378435         · 2a727c3f55 Merge pull request #24515 from basepi/susexml23503
378436
378437         · 078b33eaaf Add xml library to the thin
378438
378439       · PR   #24497:  (jayeshka)  adding  states/rbenv  unit  test  case.   @
378440         2015-06-09 03:56:10 UTC
378441
378442         · fce998a58b      Merge      pull      request      #24497       from
378443           jayeshka/rbenv_states-unit-test
378444
378445         · 79d343a62b adding states/rbenv unit test case.
378446
378447       · PR  #24496: (jayeshka) adding states/rabbitmq_user unit test case.  @
378448         2015-06-09 03:55:23 UTC
378449
378450         · 2bcb4b1eed   Merge   pull   request   #24496   from   jayeshka/rab‐
378451           bitmq_user_states-unit-test
378452
378453         · 7d96f27f91 adding states/rabbitmq_user unit test case.
378454
378455       · PR  #24481:  (eliasp)  Fix  typo  (licnese  → license).  @ 2015-06-09
378456         03:30:25 UTC
378457
378458         · 02a597bf49      Merge      pull      request      #24481       from
378459           eliasp/2015.5-salt.states.powerpath-license_typo
378460
378461         · 1280054bce Fix typo (licnese → license).
378462
378463       · PR  #24467:  (thenewwazoo)  Fix  dockerio  bound volumes @ 2015-06-09
378464         01:40:23 UTC
378465
378466         · 5ad3db5ffb Merge pull request  #24467  from  thenewwazoo/fix-docke‐
378467           rio-bound-volumes
378468
378469         · db4e3dc69b Let's raise an exception if create fails
378470
378471         · d1d85dd685 Add logging
378472
378473         · ddc63f0f30 Fix volume handling when creating containers
378474
378475       · PR   #24504:   (rallytime)  Move  vsphere  deprecation  to  2015.5  @
378476         2015-06-08 22:43:05 UTC
378477
378478         · PR #24487: (nmadhok) Deprecating vsphere cloud driver in  favor  of
378479           vmware cloud driver (refs: #24504)
378480
378481         · d236fbd38f     Merge    pull    request    #24504    from    rally‐
378482           time/move_vsphere_deprecation_2015.5
378483
378484         · d876535d71 Add Getting Started with VSphere doc to 2015.5
378485
378486         · b685ebc104 Add vSphere deprecation warnings to 2015.5
378487
378488       · PR  #24506:  (rallytime)  Backport  #24450  to  2015.5  @  2015-06-08
378489         22:42:14 UTC
378490
378491         · PR  #24450:  (ruzarowski)  Fix  salt  cli  runs with batch-size set
378492           (refs: #24506)
378493
378494         · cb5546085c Merge pull request #24506 from rallytime/bp-24450
378495
378496         · 1c0fca2b9d Backport #24450 to 2015.5
378497
378498       · PR #24498: (rallytime) Added "CLI Example" to make failing test happy
378499         on 2015.5 @ 2015-06-08 15:48:40 UTC
378500
378501         · 3173fd17ad  Merge  pull request #24498 from rallytime/fix_doc_fail‐
378502           ure_fifteen
378503
378504         · d992ef4777 Added "CLI Example" to make failing test happy on 2015.5
378505
378506       · PR #24471: (anlutro)  Set  up  salt-ssh  file  logging  @  2015-06-08
378507         15:26:49 UTC
378508
378509         · 3639e411bd  Merge  pull request #24471 from alprs/fix-salt_ssh_log‐
378510           ging
378511
378512         · 6a11ec87b8 set up salt-ssh file logging
378513
378514       · ISSUE #24231: (tarwich) npm.bootstrap (refs: #24469)
378515
378516       · PR #24469: (jfindlay) correctly handle user environment info for  npm
378517         @ 2015-06-08 15:26:02 UTC
378518
378519         · 551e70f3fb Merge pull request #24469 from jfindlay/npm_env
378520
378521         · 8140c96949 update npm's user info envs
378522
378523         · cb572f8c41 add env parameter to npm.uninstall
378524
378525       · ISSUE   #24268:   (tkent-xetus)   Ability  to  specify  revision  for
378526         win_gitrepos undocumented (refs: #24468)
378527
378528       · ISSUE #24235: (tomasfejfar) Difference between  running  from  minion
378529         and from master (refs: #24571, #24468)
378530
378531       · ISSUE  #24193:  (abng88)  Update ext_pillar docs to mention that this
378532         feature is supported masterless as well (refs: #24468)
378533
378534       · ISSUE #24172: (zhujinhe) Can lists be passed in  the  pillar  on  the
378535         command line on version 2015.5.0? (refs: #24468)
378536
378537       · ISSUE #23211: (lloesche) Document that salt://| escapes special char‐
378538         acters in filenames (refs: #24468)
378539
378540       · ISSUE #19901: (clinta) State cache is not documented  (refs:  #24574,
378541         #24468)
378542
378543       · ISSUE #19801: (ksalman) How are grains static? (refs: #24468)
378544
378545       · PR  #24468:  (jacobhammons)  Bug  fixes and build errors @ 2015-06-08
378546         15:25:40 UTC
378547
378548         · 0d9e0c2b8c Merge pull request #24468 from jacobhammons/doc-fixes
378549
378550         · 1035959459 Appended .0 to version added
378551
378552         · d45c4ed11f Bug fixes and build errors Refs #23211 Refs #24268  Refs
378553           #24235 Refs #24193 Refs #24172 Refs #19901 Refs #19801
378554
378555       · ISSUE  #24318:  (favadi)  uncaught  exception  for pkgrepo.absent for
378556         invalid PPA (refs: #24465)
378557
378558       · PR #24465: (jfindlay) catch  exception  from  softwarerepositories  @
378559         2015-06-08 15:25:19 UTC
378560
378561         · be6905a545 Merge pull request #24465 from jfindlay/unknown_ppa
378562
378563         · 19c912866d catch exception from softwarerepositories
378564
378565       · ISSUE  #24296:  (objectx) mount.mount calls file.mkdir with incorrect
378566         named argument (refs: #24464)
378567
378568       · PR #24464: (jfindlay)  fix  typo  in  modules/mount.py  @  2015-06-08
378569         15:25:07 UTC
378570
378571         · 58d1ea8fe8 Merge pull request #24464 from jfindlay/file_mkdir
378572
378573         · 6e8cd44500 fix typo in modules/mount.py
378574
378575       · ISSUE  #24434:  (dkiser) multimaster failover fails due to logic from
378576         issue #23611 (refs: #24461)
378577
378578       · PR #24461: (dkiser) fix for #24434 @ 2015-06-08 15:24:53 UTC
378579
378580         · 4f332a71c6 Merge pull request #24461  from  dkiser/multimaster_min‐
378581           ion_fix
378582
378583         · 1944a743d7 fix for #24434
378584
378585       · PR  #24479:  (ahus1)  change "path" to "name" for "file" operations @
378586         2015-06-07 17:56:11 UTC
378587
378588         · 8917416d39 Merge pull request #24479 from ahus1/patch-1
378589
378590         · 7d6b60c79d change "path" to "name" for "file" operations
378591
378592       · PR #24475:  (rallytime)  Back-port  #24454  to  2015.5  @  2015-06-07
378593         01:29:32 UTC
378594
378595         · PR  #24454:  (rhertzog) Strip extraneous newline character added in
378596           last environment variable (refs: #24475)
378597
378598         · 8618d5b6ea Merge pull request #24475 from rallytime/bp-24454
378599
378600         · a793c192a6 Avoid extraneous newline character added in  last  envi‐
378601           ronment variable
378602
378603       · ISSUE  #24407:  (aboe76)  Please  expand  salt  module  random (refs:
378604         #24420)
378605
378606       · PR #24474:  (rallytime)  Back-port  #24420  to  2015.5  @  2015-06-07
378607         01:29:11 UTC
378608
378609         · PR  #24420:  (aboe76)  added random integer module to mod_random.py
378610           (refs: #24474)
378611
378612         · 61658ffef7 Merge pull request #24474 from rallytime/bp-24420
378613
378614         · 4219b404ad Fix lint error and update versionadded to 2015.5.3
378615
378616         · 3613cc9659 added random integer module to mod_random.py
378617
378618       · ISSUE #24233: (variia)  yumpkg.group_install  keeps  returning  state
378619         change
378620
378621       · PR #24472: (variia) ensure {} output is not treated as change in mod‐
378622         ule.py state, fixes #… @ 2015-06-06 14:45:44 UTC
378623
378624         · 508d7ddb91      Merge      pull      request      #24472       from
378625           variia/Fix-yumpkg_group_install-return-change-#24233
378626
378627         · 37e8827ce8  ensure  {} output is not treated as change in module.py
378628           state, fixes #24233
378629
378630       · ISSUE #8585: (UtahDave) '#' in single quoted option on cli not making
378631         it into the execution module (refs: #24466)
378632
378633       · ISSUE  #18045:  (dstokes)  Pillar  kwargs  parse  error with # (refs:
378634         #24466)
378635
378636       · PR #24466: (basepi) [2015.5] Fix for # in inner strings in yaml argu‐
378637         ments @ 2015-06-06 14:35:56 UTC
378638
378639         · 0292e67c8a Merge pull request #24466 from basepi/fixhashinargs18045
378640
378641         · 2e0609f09e Fix for # in inner strings in yaml arguments
378642
378643       · PR  #24456:  (rallytime)  Back-port  #24441  to  2015.5  @ 2015-06-05
378644         22:32:25 UTC
378645
378646         · PR #24441: (arthurlogilab) [doc] Alignement  fix  on  external_auth
378647           documentation (refs: #24456)
378648
378649         · ced558a6e6 Merge pull request #24456 from rallytime/bp-24441
378650
378651         · 70028553c1 yaml indentations should be 2 spaces
378652
378653         · 21b51abf25 [doc] Alignement fix on external_auth documentation
378654
378655       · ISSUE  #24397:  (kiorky) on debian: states.apt should use virtualname
378656         as it shadows system apt module (refs: #24398, #24400, #24399)
378657
378658         · PR #24399: (kiorky) Versionvirtual (refs: #24398)
378659
378660       · PR #24398: (kiorky)  VirtualName  for  states.apt  (refs:  #24399)  @
378661         2015-06-05 17:40:04 UTC
378662
378663         · c0ff4110ab Merge pull request #24398 from makinacorpus/aptv
378664
378665         · 785d27707f VirtualName for states.apt
378666
378667       · PR  #24447:  (jayeshka) adding states/rabbitmq_policy unit test case.
378668         @ 2015-06-05 15:26:11 UTC
378669
378670         · 36263405be Merge pull request  #24447  from  jayeshka/rabbitmq_pol‐
378671           icy_states-unit-test
378672
378673         · 9b038abd63 adding states/rabbitmq_policy unit test case.
378674
378675       · PR  #24446:  (jayeshka) adding states/rabbitmq_plugin unit test case.
378676         @ 2015-06-05 15:25:33 UTC
378677
378678         · 8445a3f28d Merge pull request #24446  from  jayeshka/rabbitmq_plug‐
378679           in_states-unit-test
378680
378681         · cb0c99a012 adding states/rabbitmq_plugin unit test case.
378682
378683       · PR  #24426:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
378684         2015-06-05 03:59:11 UTC
378685
378686         · 9cc3808758  Merge  pull  request  #24426   from   basepi/merge-for‐
378687           ward-2015.5
378688
378689         · eafa20cdfb  Merge  remote-tracking  branch  'upstream/2014.7'  into
378690           merge-forward-2015.5
378691
378692           · 83f853b6ea Merge pull request #24405 from jacksontj/2014.7
378693
378694             · 2c7afaeebf Fix for #24276
378695
378696           · cef919c602  Merge  pull  request  #24395  from   hvnsweeting/han‐
378697             dle-exception-get-file
378698
378699             · bb798a0224  handle exceptions when received data is not in good
378700               shape
378701
378702           · efba1a94b4 Merge pull request #24305 from twangboy/win_path_docs
378703
378704           · 36804253e6 Fixed pylint error caused by P... added r
378705
378706           · bc42a4bb11 triple double quotes to triple single quotes
378707
378708           · 77cd930bba Added documentation, fixed formatting
378709
378710       · ISSUE #24309: (steverweber) missing docs (refs: #24429)
378711
378712       · PR #24429: (jacobhammons) Salt cloud doc updates,  build  errors  and
378713         bug fixes @ 2015-06-05 00:27:38 UTC
378714
378715         · 5d738b8dab    Merge    pull    request    #24429   from   jacobham‐
378716           mons/cloud-doc-updates
378717
378718         · 1f7a13d6f9 Salt cloud doc updates, build errors and bug fixes  Refs
378719           #24309
378720
378721       · PR  #24408:  (rallytime)  Backport  #24392  to  2015.5  @  2015-06-04
378722         20:22:09 UTC
378723
378724         · PR  #24392:  (quixoten)  Fix  "No  such  file  or   directory"   in
378725           grains/core.py (refs: #24408)
378726
378727         · cdffc02cfe Merge pull request #24408 from rallytime/bp-24392
378728
378729         · ff7461b3cd Use path found by salt.utils.which
378730
378731       · PR  #24380:  (rallytime)  Backport  #24357  to  2015.5  @  2015-06-04
378732         20:13:51 UTC
378733
378734         · PR #24357: (zhujinhe) fix invoke issues  of  Jinja  Macros  example
378735           (refs: #24380)
378736
378737         · a6a1f87cd9 Merge pull request #24380 from rallytime/bp-24357
378738
378739         · f08c875015 fix invoke issues of Jinja Macros example
378740
378741       · ISSUE  #24358: (pengyao) Netapi SSH client don't support ssh_user and
378742         ssh_passwd arguments (refs: #24388)
378743
378744       · PR #24388: (pengyao) fixes #24358 @ 2015-06-04 20:07:40 UTC
378745
378746         · 86ce9dbbdf Merge pull request #24388 from pengyao/sshclient-kwargs
378747
378748         · 5c08ca48b4 fixes #24358
378749
378750       · ISSUE #22958: (highlyunavailable) Weird error when typoing a  command
378751         (refs: #24367)
378752
378753       · PR  #24367: (terminalmage) Improve error message when module does not
378754         exist @ 2015-06-04 20:07:12 UTC
378755
378756         · 72d2eaeda9 Merge pull request #24367 from terminalmage/issue22958
378757
378758         · d0d7a5481c Improve error message when module does not exist
378759
378760       · ISSUE #23101: (gravyboat)  Create  a  docs  page  for  labels  (refs:
378761         #23387)
378762
378763       · PR #24412: (jfindlay) backport #23387 @ 2015-06-04 20:06:03 UTC
378764
378765         · PR  #23387:  (rallytime)  Add some "What are all these labels for?"
378766           documentation (refs: #24412)
378767
378768         · a628778e3c Merge pull request #24412 from jfindlay/bp-23387
378769
378770         · bf85772042 Make sure the parameters are in the correct order
378771
378772         · 9f53809cde Add "* Change" label parameters
378773
378774         · b27a15e774 Remove "workaround" wording
378775
378776         · 9fff35a959 Some small fixes
378777
378778         · 54a7089fd6 Link the new labels doc in contributing and hacking docs
378779
378780         · 375695e696 Add pull request label definitions
378781
378782         · de945638d3 Add Feature Request label definition
378783
378784         · 684f291bd4 Add issue definition and augment functional  areas  sec‐
378785           tion
378786
378787         · 2da13dd525 Start a "what are all of these labels for?" doc
378788
378789       · ISSUE  #24154:  (ssgward)  Exception  when  running cp.get_url (refs:
378790         #24336)
378791
378792       · PR #24336: (twangboy) Added line to give  more  descriptive  error  @
378793         2015-06-04 19:56:00 UTC
378794
378795         · 485116c2cc Merge pull request #24336 from twangboy/fix_cp_get_url
378796
378797         · 37b11f931c Added line to give more descriptive error
378798
378799       · PR #24413: (techhat) Add more namespaced functions to GoGrid driver @
378800         2015-06-04 19:51:22 UTC
378801
378802         · b3d39cc0e8 Merge pull request #24413 from techhat/gogridnamespace
378803
378804         · 1b397cb6fe Adding blank line
378805
378806         · da08cc9aac Add more namespaced functions to GoGrid driver
378807
378808       · ISSUE #24397: (kiorky) on debian: states.apt should  use  virtualname
378809         as it shadows system apt module (refs: #24398, #24400, #24399)
378810
378811       · PR  #24399:  (kiorky)  Versionvirtual  (refs:  #24398)  @  2015-06-04
378812         18:02:22 UTC
378813
378814         · PR #24398: (kiorky) VirtualName for states.apt (refs: #24399)
378815
378816         · 27f109bd76 Merge pull request #24399 from  makinacorpus/versionvir‐
378817           tual
378818
378819         · 235c78ddfe Use apt_pkg.version_compare if available
378820
378821         · 1c0cd459f8 reindent block to isolate conflict on merge forward
378822
378823         · 699eceab64 use var to isolate conflict on merge forward
378824
378825       · PR  #24371: (joejulian) 2015.5 tls module tests @ 2015-06-04 15:20:16
378826         UTC
378827
378828         · deaee68b89 Merge pull request #24371 from joejulian/2015.5_tls_mod‐
378829           ule_tests
378830
378831         · 4c5dee1e25 Add @destructiveTest decorator to destructive tests
378832
378833         · 274bbd4d43 Accept results from older pyOpenSSL
378834
378835         · 161f913522 All cert info should be in UTC always
378836
378837         · 9affcca766 See the whole diff if dict compare fails
378838
378839         · 94f620857c  Ignore extensions for now. Resolve this as part of fix‐
378840           ing issue 24338.
378841
378842         · 84904d31f1 Mask lint warning for unused imported module
378843
378844         · 5675b78459 Do not test if PyOpenSSL is not installed
378845
378846         · 563cc66311 Add tls tests
378847
378848       · PR #24403:  (jayeshka)  adding  states/process  unit  test  case.   @
378849         2015-06-04 15:19:01 UTC
378850
378851         · 84686ee695       Merge      pull      request      #24403      from
378852           jayeshka/process_states-unit-test
378853
378854         · fcb71fb35e adding states/process unit test case.
378855
378856       · PR  #24402:  (jayeshka)  adding  states/pyenv  unit  test  case.    @
378857         2015-06-04 15:18:11 UTC
378858
378859         · 35de8d72db       Merge      pull      request      #24402      from
378860           jayeshka/pyenv_states-unit-test
378861
378862         · 5f263ab48b adding states/pyenc unit test case.
378863
378864       · PR #24401: (jayeshka) adding  states/powerpath  unit  test  case.   @
378865         2015-06-04 15:17:46 UTC
378866
378867         · 632f838838   Merge   pull   request   #24401  from  jayeshka/power‐
378868           path-states-unit-test
378869
378870         · 49ff9272ce adding states/powerpath unit test case.
378871
378872       · ISSUE #24397: (kiorky) on debian: states.apt should  use  virtualname
378873         as it shadows system apt module (refs: #24398, #24400, #24399)
378874
378875       · PR #24400: (kiorky) Aptversion @ 2015-06-04 15:17:19 UTC
378876
378877         · 0a6e5e0d96 Merge pull request #24400 from makinacorpus/aptversion
378878
378879         · e15cb936b5 Use apt_pkg.version_compare if available
378880
378881         · 953725a563 Fix too much quoting in apt.version_cmp
378882
378883       · PR  #24385:  (jeanpralo)  Fix  salt.modules.dockerio.start  method  @
378884         2015-06-04 15:00:22 UTC
378885
378886         · a904055d28 Merge pull request #24385 from jeanpralo/Fix-binds-dock‐
378887           erio.start
378888
378889         · a0fed313fa binds dict if not specified should remain to none other‐
378890           wise docker-py will try to create a new host config and all  volume
378891           and  ports binds are lost. config should be done at the creation of
378892           the container not when we start it
378893
378894       · PR  #24381:  (justinta)  Disabled  flaky  test  to  review  later   @
378895         2015-06-04 14:57:43 UTC
378896
378897         · 9890bc4e43 Merge pull request #24381 from jtand/seed_test
378898
378899         · 7570ae9132 Disabled flaky test to review later
378900
378901       · ISSUE  #23342:  (philipsd6)  salt-ssh  2015.2.0rc2  fails when target
378902         doesn't have lspci available (refs: #24382)
378903
378904       · PR #24382: (basepi) [2015.5] Handle CommandExecutionError  in  grains
378905         commands, Fixes #23342 @ 2015-06-04 12:44:04 UTC
378906
378907         · b3fa8fefcb  Merge pull request #24382 from basepi/grainscommandnot‐
378908           found23342
378909
378910         · 85b91d64cc Handle CommandExecutionError in grains commands
378911
378912       · PR #24379: (Starblade42) Fixes an issue where  Pagerduty  states/mod‐
378913         ules  couldn't find their profile in the Pillar @ 2015-06-04 12:41:13
378914         UTC
378915
378916         · 52587a4fc1 Merge pull request #24379 from Starblade42/2015.5
378917
378918         · b93dc5ef6c Linting!
378919
378920         · 2dd5904119 Fixes an issue where Pagerduty  states/modules  couldn't
378921           find it's profile in the Pillar
378922
378923       · PR  #24366:  (terminalmage)  Use yes $'\n' instead of printf '\n' for
378924         pecl commands @ 2015-06-03 21:28:58 UTC
378925
378926         · 3ca35d1ec3 Merge pull request #24366 from terminalmage/pecl-yes
378927
378928         · dcd9ad8b6e Use yes $'n' instead of printf 'n' for pecl commands
378929
378930       · ISSUE #24284: (kiorky) systemd lxc  containers  need  use_vt=True  at
378931         lxc-start stage (refs: #24348)
378932
378933         · PR   #548:   (Lanzaa)   Salt   is   now   platform  dependent.  Use
378934           get_python_lib(1) (refs: #24348)
378935
378936       · PR #24348: (kiorky) Try to close input pipes before calling lxc-start
378937         @ 2015-06-03 19:38:07 UTC
378938
378939         · 86a3b317c6 Merge pull request #24348 from makinacorpus/lxcpre
378940
378941         · 0cb11a2767 lxc: typo
378942
378943         · d71efa6d66 Try to close input pipes before calling lxc-start
378944
378945   Salt 2015.5.4 Release Notes
378946       release
378947              2015-08-13
378948
378949       Version 2015.5.4 is a bugfix release for 2015.5.0.
378950
378951   Statistics
378952       · Total Merges: 247
378953
378954       · Total Issue References: 138
378955
378956       · Total PR References: 312
378957
378958       · Contributors:  92  (0xf10e,  AkhterAli,  BretFisher,  DmitryKuzmenko,
378959         EvaSDK,  GideonRed-zz,  JohannesEbke,  Oro,   TheBigBear,   TronPaul,
378960         UtahDave,      ahus1,     alekti,     alexandrsushko,     amontalban,
378961         andre-luiz-dos-santos,   aneeshusa,   anlutro,   asyncsrc,   attiasr,
378962         babilen,  basepi,  bbinet,  bclermont, bechtoldt, blackduckx, bobrik,
378963         cachedout,  colekowalski,  cro,  d--j,  davidjb,  denmat,  derBroBro,
378964         dkiser,  driskell, egarbi, fleaflicker, garethgreenaway, gmcwhistler,
378965         gtmanfred, hasues,  isbm,  jacksontj,  jacobhammons,  jahamn,  jarpy,
378966         jasonkeene,  jayeshka,  jfindlay,  jleroy,  jmdcal,  jodv, joejulian,
378967         jquast,   justinta,   kev009,   klyr,   l2ol33rt,    loa,    lomeroe,
378968         martinhoefling,  mgwilliams,  nicholascapo,  niq000, nmadhok, nyushi,
378969         oeuftete,  opdude,  pcdummy,  pcn,  peterdemin,  puneetk,  rallytime,
378970         rmatulat,   s0undt3ch,  silenius,  sjorge,  stanislavb,  steverweber,
378971         supertom,  t0rrant,  tankywoo,   techhat,   terminalmage,   thatch45,
378972         tony-cocco, twangboy, uvsmtid, vr-jack, yanatan16, zyio)
378973
378974   Bug Fixes
378975       · The  cron.present state now correctly defaults to state ID as identi‐
378976         fier.
378977
378978   Salt-Cloud Changes
378979       · When querying for VMs in the digital_ocean_v2 cloud driver, the  num‐
378980         ber  of VMs to include in a page was changed from 20 (default) to 200
378981         to reduce the number of API calls to Digital Ocean.
378982
378983       · The vmware salt-cloud driver was back-ported from the develop  branch
378984         in order for installations of Salt that are older than 2015.8.0 to be
378985         able to use the vmware driver without stack-tracing on various depre‐
378986         cation paths that were implemented in the 2015.8.0 release.
378987
378988   Changelog for v2015.5.3..v2015.5.4
378989       Generated at: 2018-05-27 21:59:14 UTC
378990
378991       · PR  #26292:  (jquast)  Rabbitmq  3.2.4  on Ubuntu has "...done.", not
378992         "...done" @ 2015-08-13 19:53:29 UTC
378993
378994         · 0a5d1307c4   Merge   pull   request   #26292   from    jquast/back‐
378995           port-ubuntu-rabbitmq-fix
378996
378997         · 39ef653bc2  Rabbitmq  3.2.4  on  Ubuntu  has  ...done. not ...done,
378998           change the if to be more portable
378999
379000       · PR #26296: (jquast) bugfix missing 'runas=None' for rabbitmqctl  cmds
379001         (backport to 2015.5) @ 2015-08-13 19:52:40 UTC
379002
379003         · 21cc3c3bf6  Merge pull request #26296 from jquast/bugfix-runas-rab‐
379004           bitmqctl-2015.5
379005
379006         · eb77320786 bugfix missing 'runas=None' for rabbitmqctl cmds
379007
379008       · ISSUE #25618: (twangboy) Fix reg.py to work with the  registry  prop‐
379009         erly (refs: #26268)
379010
379011       · PR #26293: (jfindlay) Fix #26268 @ 2015-08-13 19:48:06 UTC
379012
379013         · PR #26268: (twangboy) Multiple improvements to reg executionmod and
379014           state mod (refs: #26293)
379015
379016         · ee59d154d7 Merge pull request #26293 from jfindlay/reggie
379017
379018         · 91ea964556 add versionadded to reg exec and state mods
379019
379020         · 3348b726c9 fix state/reg unit tests
379021
379022         · 3f74a389ce return test results when test=True
379023
379024         · a1274c438d I might have fixed some tests... I might have made  them
379025           worse
379026
379027         · 7393adf5a8 Fixed some lint
379028
379029         · 787c88a283 Multiple improvements to reg executionmod and state mod
379030
379031       · ISSUE  #25192:  (deuscapturus) 2015.5.2 boto_cloudwatch_alarm.present
379032         not working. (refs: #26290)
379033
379034       · PR #26290: (rallytime) Only call convert_to_arn when action  name  is
379035         provided @ 2015-08-13 18:48:58 UTC
379036
379037         · 5dd5ac1198 Merge pull request #26290 from rallytime/fix-25192
379038
379039         · a1f90fa070 Only call convert_to_arn when action name is provided
379040
379041       · PR  #26288:  (bbinet)  allow  to delete grains which value is False @
379042         2015-08-13 18:24:36 UTC
379043
379044         · c81dc0b62f Merge pull request #26288 from bbinet/grains-absent-fix
379045
379046         · f46722aaeb allow to delete grains which value is False
379047
379048       · ISSUE  #24882:  (nmadhok)  salt.states.openstack_config.present   and
379049         salt.states.openstack_config.absent   make   changes  when  test=True
379050         (refs: #26263)
379051
379052       · PR #26263: (rallytime) Don't make changes when  test=True  for  open‐
379053         stack present/absent funcs @ 2015-08-13 16:30:31 UTC
379054
379055         · 65ab5aa495 Merge pull request #26263 from rallytime/fix-24882
379056
379057         · 86b8161d22 Mock test key in __opts__ dict
379058
379059         · 298685bbb2   Don't   make  changes  when  test=True  for  openstack
379060           present/absent funcs
379061
379062       · ISSUE #24484: (bailsman) clouds/ec2.py: create_snapshot throws excep‐
379063         tion (refs: #26265)
379064
379065       · PR  #26265:  (rallytime) Don't stacktrace on query return in ec2.cre‐
379066         ate_snapshot @ 2015-08-13 16:28:48 UTC
379067
379068         · 3d1a9cfedd Merge pull request #26265 from rallytime/fix-24484
379069
379070         · 4975300591 Don't stacktrace on query return in ec2.create_snapshot
379071
379072       · PR #26285: (stanislavb) Remove explicit version from  instance  iden‐
379073         tity URL @ 2015-08-13 16:25:32 UTC
379074
379075         · 5778cb3f01 Merge pull request #26285 from stanislavb/2015.5
379076
379077         · 1f18f4f91e Remove explicit version from instance identity URL
379078
379079       · PR  #26275:  (cachedout)  Re-init modules on multi-master reconnect @
379080         2015-08-13 15:52:50 UTC
379081
379082         · 679dc089c0 Merge pull request #26275 from cachedout/mm_reinit
379083
379084         · 1e0473c04a Re-init modules on multi-master reconnect
379085
379086       · PR #26273: (garethgreenaway) Fixes to schedule  module  in  2015.5  @
379087         2015-08-13 15:34:43 UTC
379088
379089         · 75fff28779    Merge   pull   request   #26273   from   garethgreen‐
379090           away/2015_5_schedule_list_show_jobs_enabled
379091
379092         · 1aad4b1b4f Jobs are enabled by default but schedule.list  does  not
379093           show  an  enabled  jobs  as  being enabled by default.  This change
379094           fixes that.
379095
379096       · ISSUE #24483: (bailsman) clouds/ec2.py:  del_root_vol_on_destroy  and
379097         del_all_vols_on_destroy not working (refs: #26271)
379098
379099       · PR    #26271:    (rallytime)    Fix    del_root_vol_on_destroy    and
379100         del_all_vols_on_destroy functionality on ec2  @  2015-08-12  23:22:47
379101         UTC
379102
379103         · 10af22775a Merge pull request #26271 from rallytime/fix-24483
379104
379105         · 139fbb93bc  Fix del_root_vol_on_destroy and del_all_vols_on_destroy
379106           functionality on ec2
379107
379108       · ISSUE #25958: (anlutro) Cron identifier does not default to state  ID
379109         as documented (refs: #26219)
379110
379111       · PR  #26219:  (anlutro)  cron:  make  identifier default to state ID @
379112         2015-08-12 18:42:33 UTC
379113
379114         · 8e1b5da2e0 Merge pull request  #26219  from  alprs/fix-cron_identi‐
379115           fier_default
379116
379117         · 1f02e1671b cron: fix a typo in the tests
379118
379119         · a86b1b7f94 add release note about cron state changes
379120
379121         · 9511e392ce cron: read full length of multi-line comments
379122
379123         · 9b18cd9050  cron:  more  descriptive  tests, updated to reflect new
379124           behavior
379125
379126         · f22ad837c3 cron: change identifier default value to False
379127
379128         · ad444b6e7b cron identifier: default to state id
379129
379130       · ISSUE #26207: (fullermd) group members  setting  fails  with  obscure
379131         error message on FreeBSD (refs: #26237)
379132
379133       · PR  #26257:  (rallytime)  Back-port  #26237  to  2015.5  @ 2015-08-12
379134         18:40:35 UTC
379135
379136         · PR #26237: (silenius) fix issue #26207 (refs: #26257)
379137
379138         · eebcade533 Merge pull request #26257 from rallytime/bp-26237
379139
379140         · d57fdbc6a0 Add versionadded to new members function
379141
379142         · dad1920626 fix issue #26207
379143
379144       · PR #26258: (nmadhok) Fix permission on  tests/runtests.py  on  2015.5
379145         branch @ 2015-08-12 18:40:04 UTC
379146
379147         · d7c8169dfb Merge pull request #26258 from nmadhok/fix-permission
379148
379149         · d94485d336 Fix permission on tests/runtests.py on 2015.5 branch
379150
379151       · PR  #26261:  (nmadhok)  Correct  spelling  of  integration  in docs @
379152         2015-08-12 18:14:48 UTC
379153
379154         · 74b70c37b7 Merge pull request #26261 from nmadhok/doc-fix-2015.5
379155
379156         · 714f9766e7 Correct spelling of integration in docs
379157
379158       · PR #26247: (nmadhok) Initial commit of unit tests  for  vmware  cloud
379159         driver @ 2015-08-12 16:58:24 UTC
379160
379161         · de00c181f8     Merge     pull    request    #26247    from    nmad‐
379162           hok/vmware-cloud-test-2015.5
379163
379164         · 6cc5f97e92 Lint Fix
379165
379166         · a8bfe5ec1f Initial commit of unit tests for vmware cloud driver
379167
379168       · PR #26246: (nmadhok) Backport additions to VMware cloud  driver  from
379169         develop to 2015.5 branch @ 2015-08-12 15:11:26 UTC
379170
379171         · d14d7b2c0e     Merge     pull    request    #26246    from    nmad‐
379172           hok/vmware-cloud-driver-additions-2015.5
379173
379174         · 5227aa94bc Backport additions to VMware cloud driver  from  develop
379175           to 2015.5 branch
379176
379177       · PR  #26239:  (opdude)  Fixed  documentation  to match function name @
379178         2015-08-12 14:48:52 UTC
379179
379180         · 87b300d7b3 Merge pull request #26239 from Unity-Technologies/2015.5
379181
379182         · fc18751710 Fixed documentation to match function name
379183
379184       · PR #26232: (garethgreenaway) Fix  to  trust_key  in  gpg  module  for
379185         2015.5.  @ 2015-08-12 04:48:27 UTC
379186
379187         · a93b96c9ba    Merge   pull   request   #26232   from   garethgreen‐
379188           away/2015_5_gpg_trust_key_fix
379189
379190         · e174c41887 Fix to trust_key in gpg module for 2015.5.
379191
379192       · ISSUE #25802: (jefftucker) Running module "npm.list" fails on Windows
379193         for masterless minion  (refs: #26084)
379194
379195       · PR  #26084:  (twangboy)  Added python_shell=True, quoted user input @
379196         2015-08-10 21:29:35 UTC
379197
379198         · b57da552ff Merge pull request #26084 from twangboy/fix_25802
379199
379200         · 4503ed5b34 Fixed but with multiple packages, was causing  tests  to
379201           fail
379202
379203         · f05e3e72a3         Merge         branch         '2015.5'         of
379204           https://github.com/saltstack/salt into fix_25802
379205
379206       · PR #26183: (cro) Fix LDAP configuration issue.  @ 2015-08-10 19:09:41
379207         UTC
379208
379209         · c3814137a3 Merge pull request #26183 from cro/anonldap2
379210
379211         · aa5e9c80b5 Lint roller
379212
379213         · 79833e3f8a Cherry pick index.rst change.
379214
379215         · 99f2c27399 Documentation update for anonymous bind issue.
379216
379217         · 793eed7b96 Cherry pick master.py groups check
379218
379219       · PR #26186: (jacobhammons) regenerated man pages @ 2015-08-10 19:07:44
379220         UTC
379221
379222         · 3233ed4675   Merge   pull    request    #26186    from    jacobham‐
379223           mons/man-page-updates
379224
379225         · bf2dad913f regenerated man pages
379226
379227       · PR  #26182:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
379228         2015-08-10 19:00:10 UTC
379229
379230         · d48bcf7598  Merge  pull  request  #26182   from   basepi/merge-for‐
379231           ward-2015.5
379232
379233         · 32f5345d7d  Merge  remote-tracking  branch  'upstream/2014.7'  into
379234           merge-forward-2015.5
379235
379236           · abdf2935c4 Merge pull request #26116  from  corux/fix-escape-con‐
379237             tent
379238
379239             · fd913ddc36  Append/prepend:  search  for full line with escaped
379240               content
379241
379242           · 106356d98d  Merge  pull  request  #26088  from  jacobhammons/mas‐
379243             ter-finger
379244
379245             · 133d5f7885 some small changes
379246
379247             · d220c83f77  master_finger configuration docs switch a script to
379248               use https:// instead of http:// Refs #25751
379249
379250           · 4bd4bc41f2 Merge pull request #26047 from  jacobhammons/win-down‐
379251             loads
379252
379253             · 7c162d181c  Updated  windows  download  links  in  the  docs to
379254               https://repo.saltstack.com Refs #25961
379255
379256       · ISSUE #25998: (driskell) Event subsystem discarding  required  events
379257         during --batch breaking it for slow running commands (refs: #26000)
379258
379259       · PR  #26000:  (driskell)  Implement  full event caching for subscribed
379260         tags @ 2015-08-10 18:57:17 UTC
379261
379262         · f39780f8ce  Merge  pull  request  #26000   from   driskell/fix_dis‐
379263           carded_events
379264
379265         · 65acf975dd Implement full event caching for subscribed tags Require
379266           all multitasking contexts to subscribe to their events so one  call
379267           to  get_event  for  one  tag does not discard events that should be
379268           saved for a subsequent call to  get_event  with  another  tag.  Use
379269           blocking  get_event  in  batching  with  very  small timeout. Fixes
379270           #25998
379271
379272       · PR #26175:  (rallytime)  Back-port  #26153  to  2015.5  @  2015-08-10
379273         18:22:32 UTC
379274
379275         · PR  #26153:  (loa)  Fix  dockerio  state  documentation typo (refs:
379276           #26175)
379277
379278         · c01b4cf150 Merge pull request #26175 from rallytime/bp-26153
379279
379280         · 9a263067e9 Fix dockerio state documentation typo
379281
379282       · ISSUE #26024:  (jpic)  lxc_conf_unset  in  cloud.profile  is  ignored
379283         (refs: #26147)
379284
379285       · PR  #26177:  (rallytime)  Back-port  #26147  to  2015.5  @ 2015-08-10
379286         18:22:01 UTC
379287
379288         · PR #26147: (martinhoefling) Fixes #26024 (refs: #26177)
379289
379290         · ca80f33bfd Merge pull request #26177 from rallytime/bp-26147
379291
379292         · 323c3ab53c Fixes #26024
379293
379294       · ISSUE #21082: (clinta) master_type failover does not failover on  DNS
379295         errors (refs: #25404)
379296
379297       · PR  #26179:  (rallytime)  Back-port  #25404  to  2015.5  @ 2015-08-10
379298         18:21:50 UTC
379299
379300         · PR #25404: (DmitryKuzmenko) Fixed minion failover to next master on
379301           DNS errors. (refs: #26179)
379302
379303         · 1213b8d706 Merge pull request #26179 from rallytime/bp-25404
379304
379305         · 52ab9fc1fb Fixed minion failover to next master on DNS errors.
379306
379307       · ISSUE  #26112: (wt) state.template fails with unclear error with tem‐
379308         plate with only an include (refs: #26180)
379309
379310       · PR #26180: (jfindlay) fix processing of state.template  @  2015-08-10
379311         18:21:38 UTC
379312
379313         · b319c5ec04 Merge pull request #26180 from jfindlay/templ_env
379314
379315         · 5e46ea4441 check type of matches in render_state before iterating
379316
379317         · c80299b918 insert saltenv to render_state args in state.template
379318
379319       · ISSUE  #26162:  (nmadhok) VMware cloud driver create function failing
379320         with traceback on latest develop (refs: #26172)
379321
379322       · PR #26172: (nmadhok) [Backport] Make sure variable  is  a  dictionary
379323         before popping something from it.  @ 2015-08-10 16:42:50 UTC
379324
379325         · ef5a4a47f6   Merge   pull   request   #26172   from   nmadhok/back‐
379326           port-cloud-fix-26163-2015.5
379327
379328         · 0f2b5f8ac8 Make sure variable is a dictionary before popping  some‐
379329           thing from it.
379330
379331       · ISSUE #26098: (rdinoff) SALT.STATES.SLACK Doc update (refs: #26168)
379332
379333       · PR #26168: (cachedout) Fix slack docs @ 2015-08-10 14:57:18 UTC
379334
379335         · 2545df052a Merge pull request #26168 from cachedout/fix_slack_docs
379336
379337         · f421a936dc Fix slack docs
379338
379339       · ISSUE  #24106:  (nvx)  fileclient.py#get_url  ignores HTTP Auth again
379340         (2015.5 regression) (refs: #26127)
379341
379342       · PR #26127: (garethgreenaway)  Fixes  to  salt.utils.http  related  to
379343         cp.get_file_str bug.  @ 2015-08-10 14:38:25 UTC
379344
379345         · 9e6b0d6165    Merge   pull   request   #26127   from   garethgreen‐
379346           away/2015_5_24106
379347
379348         · 66f640086a one more lint error
379349
379350         · 317a8ec75c Disabling pylint for W0633, auth should only ever  be  a
379351           sequence at this location.
379352
379353         · 08eaca4fe4 lint fixes.
379354
379355         · 7046b84ac8  Fixing  a  bug  where cp.get_file_str would not work if
379356           using  http(s)  URLs  with  authentication.   The   salt.utils.http
379357           library  in 2015.5 defaults to using urllib instead of requests and
379358           there was no authenitication support added.  This PR adds authenti‐
379359           cation support. #24106
379360
379361       · ISSUE  #26141: (nmadhok) salt-cloud VMware driver fails with error in
379362         parsing configuration file (refs: #26140)
379363
379364       · ISSUE #25809: (o-sleep) vmware  cloud  module  error  message  (refs:
379365         #26140)
379366
379367       · ISSUE  #25625:  (steverweber)  cloud  vmware  driver does not provide
379368         mac_address unless vmware tools is running (refs: #26137, #26140)
379369
379370       · PR #26140: (nmadhok) VMware cloud driver fixes @ 2015-08-10  13:15:58
379371         UTC
379372
379373         · 3b65e1dd91     Merge     pull    request    #26140    from    nmad‐
379374           hok/vmware-cloud-fixes
379375
379376         · a1899b436c Correct provider name in profile example
379377
379378         · 1f21876d21 Lint fixes
379379
379380         · 0bd4fce9c1 Additional fixes to format_instance functions to display
379381           more information available
379382
379383         · 4ee1b777e9 Change double quotes to single quotes in add_host config
379384           example
379385
379386         · e132f06a5c Change double quotes to single quotes in  provider  con‐
379387           figuration example
379388
379389         · ad9895de07  Display error in else condition if connection is unsuc‐
379390           cessful and does not have msg attribute. Fixes #25809
379391
379392       · ISSUE #25625: (steverweber) cloud  vmware  driver  does  not  provide
379393         mac_address unless vmware tools is running (refs: #26137, #26140)
379394
379395       · PR #26137: (steverweber) use device mac address if vmtools not active
379396         @ 2015-08-09 03:05:36 UTC
379397
379398         · 474a250414 Merge pull request #26137 from steverweber/vmware_macad‐
379399           dress_fix
379400
379401         · 2589e389f0 use device mac address if vmtools not active
379402
379403       · PR  #26119:  (jodv)  Backport  eauth  bugfix  to  2015.5 @ 2015-08-09
379404         02:19:52 UTC
379405
379406         · 8a33797737 Merge pull request #26119 from  jodv/backport_eauth_bug‐
379407           fix
379408
379409         · e1a7bb5e7b fix pylint error (unnecessary 'finally' clause may swal‐
379410           low exceptions unintentionally)
379411
379412         · 5b5b4d8fe9 Fix issue with mixed user and group eauth perms
379413
379414         · 0d2c6a67a5 Return all relevant perms on login
379415
379416       · PR #26135: (cro) Fix proxy minions in 2015.5 and significantly update
379417         documentation.  @ 2015-08-09 02:19:21 UTC
379418
379419         · 2b8dcce0ca Merge pull request #26135 from cro/pm20155_2
379420
379421         · 28329fff55  These  tests make no sense now that the proxy interface
379422           is module based and not object based.
379423
379424         · b17b65d4de Fix lint.
379425
379426         · f4263c8f17 Fix lint.
379427
379428         · 6927251c09 Fix lint.
379429
379430         · 08f1a43ff0 Fix lint.
379431
379432         · 8261158b5a Fix lint.
379433
379434         · b5e643b9cd Whoops...Don't log the  entire  proxy  dictionary--might
379435           have sensitive stuff in it.
379436
379437         · 2acf3c5aa3  Remove some debugging statements, change some others to
379438           'info' level.
379439
379440         · 37de6af686 More proxy minion updates
379441
379442         · e79a182108 More proxy minion updates
379443
379444         · 3b746ac2f6 Update to reflect refactor to LazyLoader
379445
379446         · 5d390d3a5f Updates post meeting with Rick
379447
379448         · d1213ce4a0 Updates post meeting with Rick
379449
379450         · dd0b7c6937 Fix proxyobject confusion, now called proxymodule
379451
379452         · 9b1599d436 Update to reflect refactor to LazyLoader
379453
379454       · PR #26132: (TheBigBear) minor edit @ 2015-08-08 21:05:34 UTC
379455
379456         · 2705b4a36a Merge pull request #26132 from TheBigBear/patch-5
379457
379458         · 1d624d77bc minor edit
379459
379460       · ISSUE #25915: (ari) FreeBSD pkg install fails (refs: #26133)
379461
379462       · PR #26133: (amontalban) Fixed  #25915  in  salt/modules/pkgng.py  and
379463         salt/states/pkg.py @ 2015-08-08 21:05:05 UTC
379464
379465         · 3eac28f0f9 Merge pull request #26133 from amontalban/fix-bug-25915
379466
379467         · 6b0f4fca05    Fixed    #25915    in    salt/modules/pkgng.py    and
379468           salt/states/pkg.py
379469
379470       · PR #26111: (anlutro) Better error messages when  virtualenv  creation
379471         fails @ 2015-08-07 21:42:09 UTC
379472
379473         · 19c42b8b3a   Merge   pull   request   #26111   from  alprs/fix-vir‐
379474           tualenv_fail_message
379475
379476         · b2913acc48 virtualenv: better error messages when creation fails
379477
379478       · ISSUE #26093: (freedba) archive.tar bug (refs: #26110)
379479
379480       · PR #26110: (jfindlay) check for sources before adding them to cmd str
379481         @ 2015-08-07 21:33:23 UTC
379482
379483         · 6d2835b464 Merge pull request #26110 from jfindlay/tar_sources
379484
379485         · 1b2f8905eb check for sources before adding them to cmd str
379486
379487       · PR #26106: (vr-jack) Update __init__.py @ 2015-08-07 21:15:55 UTC
379488
379489         · 2d271b3612 Merge pull request #26106 from vr-jack/2015.5
379490
379491         · 5664de6610 Update __init__.py
379492
379493       · ISSUE #25983: (jmdcal) Trying to get md5 of local zip (refs: #25984)
379494
379495       · PR  #26101:  (rallytime)  Back-port  #25984  to  2015.5  @ 2015-08-07
379496         18:56:26 UTC
379497
379498         · PR #25984: (jmdcal)  Support  local  files  without  md5sum  (refs:
379499           #26101)
379500
379501         · 40d41741c1 Merge pull request #26101 from rallytime/bp-25984
379502
379503         · 3d279c0713 Pylint Fix
379504
379505         · cced16a9f4 Support local files without md5sum
379506
379507       · PR  #26080:  (techhat)  Fix  string  checking  in  s3fs  @ 2015-08-06
379508         23:36:09 UTC
379509
379510         · 0d3c2d549e Merge pull request #26080 from techhat/fixlower
379511
379512         · 8717a36963 Fix string checking in s3fs
379513
379514       · ISSUE #26039: (basepi)  Update  scheduler  docs  to  use  orchestrate
379515         instead of overstate (refs: #26079)
379516
379517       · PR  #26079: (cachedout) Update docs to remove state.over @ 2015-08-06
379518         23:35:26 UTC
379519
379520         · dc9c9b5a34 Merge pull request #26079 from cachedout/issue_26039
379521
379522         · f03f460af2 Update docs to remove state.over
379523
379524              · 89d8faaeb1 Added python_shell=True, quoted user input
379525
379526       · PR #26058: (opdude) Fix choco version on  chocolatey  versions  below
379527         0.9.9 @ 2015-08-06 18:50:10 UTC
379528
379529         · aa023f25b8  Merge  pull request #26058 from Unity-Technologies/hot‐
379530           fix/fix-choco-pkg-version-2015-5
379531
379532         · beddb96b2b Fix choco version on chocolatey versions below 0.9.9
379533
379534       · PR #26068: (jfindlay) fix autoruns.list looking in wrong directory  @
379535         2015-08-06 18:49:48 UTC
379536
379537         · fbe2584abe Merge pull request #26068 from jfindlay/auto_fix
379538
379539         · 1e9a850e23 fix autoruns.list looking in wrong directory
379540
379541       · ISSUE  saltstack/salt-bootstrap#640:  (Deshke) salt-minon install bug
379542         on ubuntu 14.04 tornado>=4.0 (refs: #26065)
379543
379544       · ISSUE saltstack/salt-bootstrap#633: (neilmb) Bootstrap install  fails
379545         on python-requests dependency (refs: #26065)
379546
379547       · ISSUE  saltstack/salt-bootstrap#632:  (JulianGindi) python-requests :
379548         Depends: python-urllib3 (>= 1.7.1) but it is not  installable  (refs:
379549         #26065)
379550
379551       · ISSUE  saltstack/salt-bootstrap#631:  (DavidJFelix)  Stable broken in
379552         15.04 even with -P (refs: #26065)
379553
379554       · ISSUE #636: (pille)  restict  access  to  salt://  filesystem  (refs:
379555         #`saltstack/salt-bootstrap#638`_)
379556
379557       · ISSUE  #613:  (thatch45) Add timeout option to publish.publish (refs:
379558         #`saltstack/salt-bootstrap#634`_)
379559
379560         · PR saltstack/salt-bootstrap#638: (stanislavb) Use prefix  /usr  for
379561           centos git install (refs: #26065)
379562
379563         · PR saltstack/salt-bootstrap#634: (BretFisher) bugfix: exit git root
379564           before removing it (refs: #26065)
379565
379566       · PR #26065: (s0undt3ch) [2015.5] Update  to  latest  bootstrap  stable
379567         release v2015.06.08 @ 2015-08-06 17:09:35 UTC
379568
379569         · 5570408597  Merge  pull  request #26065 from s0undt3ch/hotfix/boot‐
379570           strap-script-2015.5
379571
379572         · a430a62b01 Update to latest bootstrap stable release v2015.06.08
379573
379574       · ISSUE #25994: (gmcwhistler) module.ilo tempfile  creation  in  __exe‐
379575         cute_cmd  results  in  TypeError:  cannot concatenate 'str' and 'int'
379576         objects (refs: #26061)
379577
379578       · PR #26061: (gmcwhistler) Patch for issue #25994 @ 2015-08-06 17:07:34
379579         UTC
379580
379581         · 83a1922196 Merge pull request #26061 from gmcwhistler/2015.5
379582
379583         · b9e89d0f2d Patch for issue #25994
379584
379585       · ISSUE  #26063:  (saltstack-bot)  not  working  with  salt-cloud shows
379586         unknown locale error (refs: #26064)
379587
379588       · PR #26064: (s0undt3ch)  Don't  stacktrace  when  trying  to  get  the
379589         default locale.  @ 2015-08-06 16:11:05 UTC
379590
379591         · 073fb2bdea       Merge      pull      request      #26064      from
379592           s0undt3ch/issues/26063-unknown-locale
379593
379594         · 8c6ab78b1d Don't stacktrace when trying to get the default locale.
379595
379596       · PR #26048: (jacobhammons) Updated windows download links in the  docs
379597         to https://repo.saltstack.com @ 2015-08-05 22:59:50 UTC
379598
379599         · 0f44761d6e  Merge  pull  request #26048 from jacobhammons/win-down‐
379600           loads2
379601
379602         · 75243b61cf  Updated  windows  download  links  in   the   docs   to
379603           https://repo.saltstack.com
379604
379605       · ISSUE  #25616:  (rallytime) [2015.5] Provisioning Linodes Stacktraces
379606         (refs: #26044)
379607
379608       · PR #26044: (rallytime) Make sure the key we're comparing is also low‐
379609         ercase @ 2015-08-05 19:23:54 UTC
379610
379611         · dedcadc37e Merge pull request #26044 from rallytime/fix-25616
379612
379613         · c2e3803810 Make sure the key we're comparing is also lowercase
379614
379615       · PR  #26042: (jfindlay) fix test mode logic in state docs @ 2015-08-05
379616         19:23:07 UTC
379617
379618         · f005bdfce6 Merge pull request #26042 from jfindlay/result
379619
379620         · a83059ca01 fix test mode logic in state docs
379621
379622       · ISSUE #24460: (nicholascapo) Survey runner does not follow --out flag
379623         (refs: #26036)
379624
379625       · PR #26036: (nicholascapo) survey.hash: Remove manually printed text @
379626         2015-08-05 19:21:59 UTC
379627
379628         · 51ab6864b7  Merge  pull  request  #26036   from   nicholascapo/sur‐
379629           vey.hash_follow_out_flag
379630
379631         · 439ee9831c survey.hash: Remove manually printed text
379632
379633       · PR #26030: (opdude) Fix a bug in choco version that returned odd data
379634         @ 2015-08-05 16:30:25 UTC
379635
379636         · 6a4d18eba6 Merge pull request #26030  from  Unity-Technologies/hot‐
379637           fix/fix-choco-pkg-version-2015-5
379638
379639         · 3dd96c0638 Fix a bug in choco version that returned odd data
379640
379641       · PR  #26032: (jfindlay) add test logic to state reult doc @ 2015-08-05
379642         16:28:32 UTC
379643
379644         · c96d3bb55e Merge pull request #26032 from jfindlay/result
379645
379646         · 0fd180e106 add test logic to state reult doc
379647
379648       · ISSUE #23764: (es1o) source_hash from local file  is  not  supported.
379649         (refs: #26031, #25750)
379650
379651       · PR  #26031:  (alekti) Revert "Add file as supported protocol for file
379652         source_hash. Fixes #23764" @ 2015-08-05 15:32:01 UTC
379653
379654         · bd14d85636      Merge      pull      request      #26031       from
379655           alekti/merge-pull-25750-to-2015.5
379656
379657         · 5a7cab4dcc   Revert  "Add  file  as  supported  protocol  for  file
379658           source_hash. Fixes #23764."
379659
379660       · PR  #26021:  (anlutro)  Documentation:   Specify   versionadded   for
379661         git.present shared argument @ 2015-08-05 14:17:38 UTC
379662
379663         · d55e6e5fe9       Merge      pull      request      #26021      from
379664           alprs/docs-git_present_shared_versionadded
379665
379666         · 8fa678aaa7 specify versionadded for git.present shared argument
379667
379668       · ISSUE #25701: (alekti) Issue #23764 regression (refs: #25750)
379669
379670       · ISSUE #23764: (es1o) source_hash from local file  is  not  supported.
379671         (refs: #26031, #25750)
379672
379673       · PR  #26020: (alekti) Correctly resolve conflict merging pull 25750 to
379674         2015.5 @ 2015-08-05 14:16:58 UTC
379675
379676         · PR #25750:  (alekti)  Add  file  as  supported  protocol  for  file
379677           source_hash. Fixes #25701. (refs: #26020)
379678
379679         · 5e17c5d230       Merge      pull      request      #26020      from
379680           alekti/merge-pull-25750-to-2015.5
379681
379682         · 4b9d7426cc Add file as supported  protocol  for  file  source_hash.
379683           Fixes #23764.
379684
379685       · ISSUE  #22241:  (masterkorp)  Salt master not properly generating the
379686         map (refs: #25358)
379687
379688       · PR #26016: (basepi) Revert "Deep merge of pillar lists" @  2015-08-05
379689         04:59:52 UTC
379690
379691         · PR #25358: (dkiser) Deep merge of pillar lists (refs: #26016)
379692
379693         · 53f7aadcd7 Merge pull request #26016 from basepi/revert.25358
379694
379695         · 8a0e8e0460 Revert "Deep merge of pillar lists"
379696
379697       · ISSUE   #12255:   (eliasp)   'system.set_computer_desc'   fails  with
379698         non-ASCII chars (refs: #25992)
379699
379700       · PR #25992: (twangboy) Refactor win_system.py  @  2015-08-05  04:54:18
379701         UTC
379702
379703         · 200bff7538 Merge pull request #25992 from twangboy/fix_12255
379704
379705         · 0502897635 Fixed the lint... again
379706
379707         · 6f85d6b9af Fixed some lint
379708
379709         · 4195803e56 Merge pull request #3 from jfindlay/win_sys
379710
379711           · 9156bbd33e update win_system exec mod unit tests
379712
379713         · c92add95b5 Gated ctypes import, fixed some lint
379714
379715         · d7670fda0a Refactor win_service.py
379716
379717       · ISSUE  #25948:  (twangboy)  Fix  uncomment  function to handle spaces
379718         (refs: #26002)
379719
379720       · PR #26002: (twangboy) Fixed regex to account  for  comment  character
379721         followed by whitespace @ 2015-08-04 22:28:11 UTC
379722
379723         · c168159750 Merge pull request #26002 from twangboy/fix_25948
379724
379725         · ba1a57e582 Fixed regex to account for comment character followed by
379726           whitespace
379727
379728       · ISSUE #25949: (godlike64) layman.add does not  work  with  unofficial
379729         overlays (refs: #25970)
379730
379731       · PR  #25970: (jfindlay) accept addition of layman overlay @ 2015-08-04
379732         15:42:28 UTC
379733
379734         · 4ad2422da1 Merge pull request #25970 from jfindlay/layman
379735
379736         · 237a9e18b3 accept addition of layman overlay
379737
379738       · PR #25971: (basepi) [2015.5] salt.modules.reg Add spaces for  strings
379739         split across multiple lines @ 2015-08-04 15:39:48 UTC
379740
379741         · f136c6c1c0 Merge pull request #25971 from basepi/reg.typos
379742
379743         · bb001a6c0e Add spaces for strings split across multiple lines
379744
379745       · PR  #25990:  (rallytime)  Back-port  #25976  to  2015.5  @ 2015-08-04
379746         14:36:53 UTC
379747
379748         · PR #25976: (fleaflicker) Typo in help output (refs: #25990)
379749
379750         · 6383dd8a7d Merge pull request #25990 from rallytime/bp-25976
379751
379752         · 5f6dc0cc85 Typo in help output
379753
379754       · PR #25996: (attiasr) fix msiexec package remove @ 2015-08-04 14:36:31
379755         UTC
379756
379757         · 9f8bf75dc0 Merge pull request #25996 from attiasr/patch-1
379758
379759         · 5fbc5fcd94 fix msiexec package remove
379760
379761       · ISSUE  #25863:  (peterdemin) pkg.installed fails on already installed
379762         package if it is in versionlock.list (refs: #25864)
379763
379764       · PR #25966:  (rallytime)  Back-port  #25864  to  2015.5  @  2015-08-03
379765         18:48:26 UTC
379766
379767         · PR  #25864:  (peterdemin)  #25863  state.pkg.installed  fix  (refs:
379768           #25966)
379769
379770         · 2dca8d959b Merge pull request #25966 from rallytime/bp-25864
379771
379772         · 0f7f9637b4 #25863 fix - state.pkg:  do  preflight  check  only  for
379773           non-installed packages
379774
379775       · PR  #25967:  (rallytime)  Back-port  #25917  to  2015.5  @ 2015-08-03
379776         18:48:02 UTC
379777
379778         · PR #25917: (jmdcal) adding missing format string (refs: #25967)
379779
379780         · a6d8e541ed Merge pull request #25967 from rallytime/bp-25917
379781
379782         · 82b7e14a1f adding missing format string
379783
379784       · PR #25895: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
379785         2015-08-03 17:12:37 UTC
379786
379787         · 87d028b302   Merge   pull  request  #25895  from  basepi/merge-for‐
379788           ward-2015.5
379789
379790         · 56e43c8f88 Fix lint
379791
379792         · 93a182d9ea  Merge  remote-tracking  branch  'upstream/2014.7'  into
379793           merge-forward-2015.5
379794
379795           · d93eb87c16 Merge pull request #25750 from alekti/2014.7
379796
379797             · 9ec3ae96d4 Add file as supported protocol for file source_hash.
379798               Fixes #23764.
379799
379800           · 3a15df22ac  Merge  pull  request   #25704   from   cachedout/mas‐
379801             ter_type_2014_7
379802
379803             · c95886c9a7 Ensure prior alignment with master_type in 2014.7
379804
379805           · d1b9362a73  Merge  pull request #25657 from MrCitron/pattern-car‐
379806             bon-returner-2014.7
379807
379808             · f8b2f8079f Add the ability to specify a base pattern  for  met‐
379809               rics path used by the carbon returner
379810
379811           · 9634351fc2 Merge pull request #25633 from AkhterAli/2014.7
379812
379813             · 29be4bbe11 Update loader.py
379814
379815       · ISSUE  #25850:  (ssgward)  Need  to add packages to --versions-report
379816         (refs: #25941)
379817
379818       · PR #25941: (jfindlay) add timelib to dependency versions @ 2015-08-03
379819         12:23:42 UTC
379820
379821         · 98955057e0 Merge pull request #25941 from jfindlay/time_lib
379822
379823         · 464f7a404c add timelib to dependency versions
379824
379825       · PR  #25951: (garethgreenaway) Log when event.fire and event.fire_mas‐
379826         ter fail.  @ 2015-08-03 00:19:45 UTC
379827
379828         · dcc6883b24   Merge   pull   request   #25951   from    garethgreen‐
379829           away/event_fire_failed_log_why
379830
379831         · 7f20454427  If  we're  unable to fire an event, log the cause so we
379832           know what happened
379833
379834       · ISSUE #25838: (grep4linux) docs  disable_modules  documentation  typo
379835         (refs: #25942)
379836
379837       · PR #25942: (jfindlay) typo in minion doc @ 2015-07-31 23:34:55 UTC
379838
379839         · 4143cec3bf Merge pull request #25942 from saltstack/lover
379840
379841         · 7e121de907 Update minion.rst
379842
379843       · PR  #25938:  (jacobhammons)  Doc  on  using syndic with multimaster @
379844         2015-07-31 23:05:05 UTC
379845
379846         · PR #14690: (jacksontj) Multi syndic (refs: #25938)
379847
379848         · 1f20c065b8 Merge pull request #25938 from  jacobhammons/syndic-mul‐
379849           timaster
379850
379851         · ac0a8ff711 Doc on using syndic with multimaster
379852
379853       · ISSUE  #25839:  (twangboy)  ALLUSERS="1"  should  be  a  default when
379854         installing MSI's (refs: #25848)
379855
379856       · PR #25848:  (twangboy)  Added  allusers="1"  when  installing  msi  @
379857         2015-07-31 20:33:17 UTC
379858
379859         · 18a9e65e1f Merge pull request #25848 from twangboy/fix_25839
379860
379861         · e797739a1b Removed normalize_name function
379862
379863         · ad7fdda68b Adder allusers="1" when installing msi
379864
379865       · PR  #25898:  (jfindlay)  clarify  and expand syndic docs @ 2015-07-31
379866         20:01:23 UTC
379867
379868         · de0a0593c2 Merge pull request #25898 from jfindlay/syndic_doc
379869
379870         · 4795952847 rework syndic doc
379871
379872         · a25d0eabef update syndic doc to conform to style
379873
379874       · ISSUE #25852: (UtahDave) Salt loader is  not  loading  Salt  vars  in
379875         reactor python renderer (refs: #25927)
379876
379877       · PR  #25927:  (jacksontj)  Pass actual renderers to the Reactor's Com‐
379878         piler @ 2015-07-31 20:00:17 UTC
379879
379880         · d1f3da548a Merge pull request #25927 from jacksontj/2015.5
379881
379882         · cf7479aa0a Pass actual renderers to the Reactor's Compiler
379883
379884       · ISSUE #25810: (nvx) winpkg highstate fails when a  new  package  name
379885         contains a unicide character (refs: #25921)
379886
379887       · PR  #25921:  (cachedout)  Handle  non-ascii in state log @ 2015-07-31
379888         17:41:30 UTC
379889
379890         · 331fc121a8 Merge pull request #25921 from cachedout/issue_25810
379891
379892         · 8074c545ea Handle non-ascii in state log
379893
379894       · PR #25919: (TheBigBear) Minor  update  to  msi  un-installer  info  @
379895         2015-07-31 17:39:48 UTC
379896
379897         · 20fb8da8d4 Merge pull request #25919 from TheBigBear/patch-4
379898
379899         · c994d22696 Minor update to msi un-installer info
379900
379901         · PR  #25982:  (sjorge)  salt.modules.smartos_*  limit to global zone
379902           only (refs: #25905)
379903
379904       · PR #25905:  (rallytime)  Back-port  #25982  to  2015.5  @  2015-07-30
379905         23:24:19 UTC
379906
379907         · PR  #25892: (TheBigBear) Update 7-zip msi un-installer instructions
379908           (refs: #25905)
379909
379910         · 9a569da4ee Merge pull request #25905 from rallytime/bp-25892
379911
379912         · 333fbdde30 Update 7-zip msi un-installer instructions
379913
379914       · ISSUE #25577:  (yellow1912)  Wrong  indentation  in  document  (refs:
379915         #25696)
379916
379917       · PR  #25890:  (rallytime)  Back-port  #25698  to  2015.5  @ 2015-07-30
379918         23:12:09 UTC
379919
379920         · PR #25698: (rallytime) Back-port #25659 to 2015.8 (refs: #25890)
379921
379922         · PR #25696: (AkhterAli) Update schedule.py
379923
379924         · PR #25659: (isbm) Bugfix: crash at getting non-existing repo (refs:
379925           #25698)
379926
379927         · 6a738c5c41 Merge pull request #25890 from rallytime/bp-25696
379928
379929         · 7d68e49d98 Update schedule.py
379930
379931       · ISSUE  #25650:  (jacksontj)  state.running documentation is incorrect
379932         (refs: #25894)
379933
379934       · ISSUE #24042: (whiteinge) The state_events setting is not  documented
379935         (refs: #25894)
379936
379937       · ISSUE  #23788:  (k5jj) functions in drac.py module do not match docu‐
379938         mentation (refs: #25894)
379939
379940       · ISSUE  #21296:  (Lothiraldan)  Possible  minion   enumeration   using
379941         saltutil.find_job and eauth (refs: #25894)
379942
379943       · PR  #25894:  (jacobhammons) Minor doc bug fixes @ 2015-07-30 23:02:34
379944         UTC
379945
379946         · 8abb21e206 Merge pull request #25894 from jacobhammons/bug-fixes
379947
379948         · 3f3db4bd8e Additions for #24042
379949
379950         · db2129b199 Minor doc bug fixes Refs #24042 Refs #25650 Refs  #21296
379951           Refs #23788
379952
379953       · ISSUE  #24036:  (arthurlogilab)  [salt-cloud] Protect against passing
379954         command line arguments as names for  the  --destroy  command  in  map
379955         files (refs: #25877)
379956
379957       · PR #25877: (rallytime) Protect against passing a map file in addition
379958         to VM names with --destroy @ 2015-07-30 21:55:45 UTC
379959
379960         · 59e1680182 Merge pull request #25877 from rallytime/fix-24036
379961
379962         · 0211972fd7 Whitespace fix
379963
379964         · c6715e0404 Protect against passing a map file  in  addition  to  VM
379965           names with --destroy
379966
379967         · 3aa5045138  Clean  up  stacktrace  when referenced map file doesn't
379968           exist
379969
379970       · PR #25870:  (rallytime)  Back-port  #25824  to  2015.5  @  2015-07-30
379971         21:54:35 UTC
379972
379973         · PR  #25824:  (klyr)  Fix  get_managed() in file.py module for local
379974           files (refs: #25870)
379975
379976         · c4c9e40be6 Merge pull request #25870 from rallytime/bp-25824
379977
379978         · 1fd4837beb Fix get_managed() in file.py module for local files
379979
379980       · PR #25885: (t0rrant) Update Debian changelog  @  2015-07-30  20:05:59
379981         UTC
379982
379983         · af2326af68 Merge pull request #25885 from t0rrant/patch-3
379984
379985         · 3f73900c61 Update Debian changelog
379986
379987       · ISSUE #25478: (zyio) salt-ssh - Unable to locate current thin version
379988         (refs: #25862)
379989
379990       · ISSUE #25026: (sylvia-wang) salt-ssh "Failure  deploying  thin"  when
379991         using salt module functions (refs: #25862)
379992
379993       · PR  #25875:  (rallytime)  Back-port  #25862  to  2015.5  @ 2015-07-30
379994         17:34:02 UTC
379995
379996         · PR #25862: (zyio) Adding SCP_NOT_FOUND exit code (refs: #25875)
379997
379998         · 6ce0b3e5b8 Merge pull request #25875 from rallytime/bp-25862
379999
380000         · d7f448d501 Needed popen.wait().
380001
380002         · 25f8042e41 Checking for scp existance. Using command -v  should  be
380003           POSIX
380004
380005         · 6b2100a30b     New    exitcode    for    SCP    not    found    Re:
380006           https://github.com/saltstack/salt/issues/25478                  and
380007           https://github.com/saltstack/salt/issues/25026
380008
380009       · PR  #25873:  (rallytime)  Back-port  #25855  to  2015.5  @ 2015-07-30
380010         17:33:55 UTC
380011
380012         · PR #25855: (puneetk) Patch 3 (refs: #25873)
380013
380014         · 66dcc5525e Merge pull request #25873 from rallytime/bp-25855
380015
380016         · f1f7ce25b7 Update saltmod.py
380017
380018         · 23a6806008 Update saltmod.py
380019
380020       · PR #25871:  (rallytime)  Back-port  #25829  to  2015.5  @  2015-07-30
380021         17:33:43 UTC
380022
380023         · PR  #25829: (peterdemin) Fixed typo in salt.states.saltmod.function
380024           doc string (refs: #25871)
380025
380026         · bf8bd38da7 Merge pull request #25871 from rallytime/bp-25829
380027
380028         · a80c47ee10 Fixed typo in salt.states.saltmod.function doc string
380029
380030       · ISSUE #24002: (csakoda) File lock contention on windows minions caus‐
380031         ing highstate crash (refs: #25788)
380032
380033       · PR  #25869:  (rallytime)  Back-port  #25788  to  2015.5  @ 2015-07-30
380034         17:33:33 UTC
380035
380036         · PR #25788: (opdude) Catch a hard crash when  running  highstate  on
380037           windows (refs: #25869)
380038
380039         · f26310ff0b Merge pull request #25869 from rallytime/bp-25788
380040
380041         · 65b18e3b34 Catch a hard crash when running highstate on windows
380042
380043       · ISSUE  #19532:  (stolendog)  salt-ssh running git clone with not root
380044         user (refs: #25853)
380045
380046       · PR #25853: (davidjb) Make ssh-id-wrapper accessible to non-root users
380047         @ 2015-07-30 16:49:47 UTC
380048
380049         · 810fbb8bfb  Merge  pull  request  #25853  from davidjb/ssh-id-wrap‐
380050           per-non-root
380051
380052         · 6492bde192 Make ssh-id-wrapper accessible to non-root users
380053
380054       · ISSUE  #25447:  (spo0nman)  SaltMaster  is   crippled   with   Minion
380055         Re-Authentication  (refs: #25856)
380056
380057       · PR  #25856: (jfindlay) expand minion reauth scalability documentation
380058         @ 2015-07-30 15:33:17 UTC
380059
380060         · b6805b068a Merge pull request #25856 from jfindlay/intro_scale
380061
380062         · 5921461bb1 style and usage consistency in intro_scale
380063
380064         · 51dc7cacfb whitespace adjustments in intro_scale
380065
380066         · 39a82467f1 expand minion reauth scalability documentation
380067
380068       · ISSUE  #25801:  (themalkolm)  Update  docs  that  salt.states.winrepo
380069         requires roles:salt-master in grains. (refs: #25840)
380070
380071       · PR  #25840:  (jfindlay) add note to winrepo state docs about required
380072         grain @ 2015-07-30 14:38:27 UTC
380073
380074         · 423d528b73 Merge pull request #25840 from jfindlay/winrepo_master
380075
380076         · b6cfd54f3b add note to winrepo state docs about required grain
380077
380078       · ISSUE #25827: (0xf10e) "Deprecating Code" doesn't  mention  Usage  of
380079         warn_until() w/ Release Names (refs: #25846)
380080
380081       · PR  #25846:  (jfindlay)  rework deprecation documentation for release
380082         names @ 2015-07-30 13:26:21 UTC
380083
380084         · 754c8be719 Merge pull request #25846 from jfindlay/depr_code
380085
380086         · d377f42c48 rework deprecation documentation for release names
380087
380088       · ISSUE #23288: (UtahDave)  cp.push  fails  to  recreate  empty  files.
380089         (refs: #25833)
380090
380091       · PR  #25833:  (jahamn)  Allows  cp.push  to  recreate  empty  files  @
380092         2015-07-29 16:14:48 UTC
380093
380094         · d9ab4bb989      Merge      pull      request      #25833       from
380095           jahamn/fix-cp.push-not-recreating-empty-files
380096
380097         · eac19fbf33 Allows cp.push to recreate empty files
380098
380099       · ISSUE  #11474:  (JensRantil)  pkgrepo.managed key_url: salt:// always
380100         use base env (refs: #25831)
380101
380102       · PR #25831: (rallytime) Add salt:// to key_url  options  to  docs  for
380103         pkgrepo.managed @ 2015-07-29 15:38:43 UTC
380104
380105         · 6f93d64784 Merge pull request #25831 from rallytime/fix-11474
380106
380107         · 067ea788e9  Add salt:// to key_url options to docs for pkgrepo.man‐
380108           aged
380109
380110       · ISSUE #22699: (arthurlogilab) salt-cloud fails on KeyError when given
380111         a nonexistant action (refs: #25807)
380112
380113       · PR  #25807: (rallytime) Provide helpful error when using actions with
380114         a mapfile @ 2015-07-29 15:30:15 UTC
380115
380116         · 72b3633383 Merge pull request #25807 from rallytime/fix-22699
380117
380118         · 3f3005c746 Use handle_exception function in cloud cli.py
380119
380120         · f91edf3a33 Provide helpful error when using actions with a mapfile
380121
380122       · PR #25818: (jfindlay) fix autoruns list @ 2015-07-29 15:29:20 UTC
380123
380124         · 71497adc0d Merge pull request #25818 from jfindlay/autoruns_users
380125
380126         · c2dbb65982 fix autoruns list for modern windowsen
380127
380128       · PR #25826: (anlutro) Check that "onchanges" is a  list  @  2015-07-29
380129         15:00:28 UTC
380130
380131         · 98b324c5f8       Merge      pull      request      #25826      from
380132           alprs/fix-onchanges_type_check
380133
380134         · 7992a3f0f4 state.py: check that "onchanges" is a list
380135
380136       · ISSUE #25258:  (nickw8)  windows  minion  repo  not  updating  (refs:
380137         #25798)
380138
380139       · PR  #25798:  (twangboy)  Fixed stacktrace on package name not found @
380140         2015-07-28 22:40:14 UTC
380141
380142         · ad07dc1e27 Merge pull request #25798 from twangboy/fix_25258
380143
380144         · aa19c2bf8f Fixed stacktrace on package name not found
380145
380146       · ISSUE  #25437:  (lorengordon)  Stacktrace  on  Windows  when  running
380147         pkg.list_pkgs (refs: #25598, #25763)
380148
380149       · PR  #25797:  (twangboy)  Changed  repocache  back  to  cached_repo  @
380150         2015-07-28 22:39:32 UTC
380151
380152         · PR #25763: (twangboy) Fix 25437 (refs: #25797)
380153
380154         · 4a38d4a606    Merge    pull    request    #25797    from     twang‐
380155           boy/fix_revert_in_25763
380156
380157         · 81d5b5ee55 Changed repocache back to cached_repo
380158
380159       · PR  #25793:  (rallytime)  Back-port  #25730  to  2015.5  @ 2015-07-28
380160         19:37:34 UTC
380161
380162         · PR #25730: (sjorge) patchelf lives in pkgsrc (refs: #25793)
380163
380164         · 823f0ce350 Merge pull request #25793 from rallytime/bp-25730
380165
380166         · 937779eb51 patchelf lives in pkgsrc
380167
380168       · PR #25792:  (rallytime)  Back-port  #25688  to  2015.5  @  2015-07-28
380169         19:37:17 UTC
380170
380171         · PR  #25688: (bclermont) Don't acquire lock if there is no formatter
380172           (refs: #25792)
380173
380174         · 4109ae55f9 Merge pull request #25792 from rallytime/bp-25688
380175
380176         · 0aa1416b6b Don't acquire lock if there is no formatter
380177
380178       · PR #25796: (cachedout) Remove debug from docs @  2015-07-28  17:35:59
380179         UTC
380180
380181         · 737fb1410c Merge pull request #25796 from cachedout/debug_doc
380182
380183         · 33bfdf3b0b Remove debug from docs
380184
380185       · ISSUE  #24920:  (voileux)  module.zpool.create on character device is
380186         not possible by salt (refs: #25749)
380187
380188       · PR  #25749:  (jahamn)  Allow  zpool.create  on  character  devices  @
380189         2015-07-28 16:01:40 UTC
380190
380191         · a658753eff  Merge  pull  request  #25749 from jahamn/fix-zpool-spe‐
380192           cial-char-device-support
380193
380194         · 361f6cc23f Allow zpool.create on character devices
380195
380196       · PR #25685: (twangboy) Fixed regex issues with comment and uncomment @
380197         2015-07-28 15:29:49 UTC
380198
380199         · 1fae76d53c Merge pull request #25685 from twangboy/fix_25594
380200
380201         · a904e8329b Fixed another test failure...
380202
380203         · aa077d3a86 Fixed more tests... justin findlay helped me...
380204
380205         · 87c8f8dfb5 Fixed some tests... maybe...
380206
380207         · 3c1a73f16c Fixed some lint
380208
380209         · b3e44e342c Fixed states to work with comment_line
380210
380211         · b1cedd1153 Fixed regex issues with comment and uncomment
380212
380213       · ISSUE  #25437:  (lorengordon)  Stacktrace  on  Windows  when  running
380214         pkg.list_pkgs (refs: #25598, #25763)
380215
380216       · PR #25763: (twangboy) Fix 25437 (refs: #25797) @ 2015-07-28  15:29:27
380217         UTC
380218
380219         · 0bdb29402a Merge pull request #25763 from twangboy/fix_25437
380220
380221         · 9e70c800b9 The real fix for 25437 that doesn't break other crap
380222
380223         · d7347e01e5  Revert  "Fixed problem trying to load file with name of
380224           boolean type"
380225
380226         · cf57712eeb         Merge         branch         '2015.5'         of
380227           https://github.com/saltstack/salt into fix_25437
380228
380229       · PR #25752: (thatch45) State top saltenv @ 2015-07-28 01:02:10 UTC
380230
380231         · c1236595f9       Merge      pull      request      #25752      from
380232           thatch45/state_top_saltenv
380233
380234         · 65d6ec0659 don't override the minion config unless requested
380235
380236         · 26c858361c Add state_top_saltenv to the config chain
380237
380238         · 36a3b674a7 Add raet support for state_top_saltnev
380239
380240         · f6fa025b13 Add saltenv top file support to salt master_opts
380241
380242         · 4a1c53309b Add state_top_saltenv support
380243
380244       · ISSUE #25717: (twangboy) Problem with chocolatey module  not  loading
380245         (refs: #25755)
380246
380247       · PR  #25755:  (twangboy) Fixed problem with dunder functions not being
380248         passed @ 2015-07-27 19:31:22 UTC
380249
380250         · f367acb253 Merge pull request #25755 from twangboy/fix_25717
380251
380252         · 10e410504d Fixed problem with dunder functions not being passed
380253
380254       · ISSUE #25352: (m03) reg.absent  reporting  incorrect  results  (refs:
380255         #25648)
380256
380257       · PR  #25648:  (twangboy)  Clarified functionality of reg module, fixed
380258         state to work with new module @ 2015-07-27 19:30:33 UTC
380259
380260         · f05ae95f9c Merge pull request #25648 from twangboy/fix_25352
380261
380262         · d6496ce814 Merge pull request #1 from jfindlay/reg
380263
380264           · 3b0cc6592a fix reg unit tests
380265
380266         · b473fb7827 Fixed some tests... maybe...
380267
380268         · ff7296d983 Fixed some more lint
380269
380270         · 7a71f5ea6a         Merge         branch         '2015.5'         of
380271           https://github.com/saltstack/salt into fix_25352
380272
380273         · f57b2b8e7a Fixed some line, added documentation
380274
380275         · d78fa97a71         Merge         branch         '2015.5'         of
380276           https://github.com/saltstack/salt into fix_25352
380277
380278         · 99d9518af8 Clarified functionality of reg module,  fixed  state  to
380279           work with new module
380280
380281       · ISSUE #25154: (uvsmtid) All data mixed on STDOUT together should gen‐
380282         erate valid JSON output (refs: #25722)
380283
380284       · ISSUE #25153: (uvsmtid) Multiple results should generate  valid  JSON
380285         output (refs: #25722)
380286
380287       · PR  #25740:  (rallytime)  Back-port  #25722  to  2015.5  @ 2015-07-27
380288         16:08:40 UTC
380289
380290         · PR #25722: (uvsmtid) Minor docs changes to  emphasize  JSON  output
380291           problems without --static option (refs: #25740)
380292
380293         · 29c66d85a4 Merge pull request #25740 from rallytime/bp-25722
380294
380295         · c33eb813ea Change docs for --static option with JSON - text B
380296
380297         · 89dd2ec8fb Change docs for --static option with JSON - text A
380298
380299       · PR  #25739:  (rallytime)  Back-port  #25709  to  2015.5  @ 2015-07-27
380300         16:08:27 UTC
380301
380302         · PR  #25709:  (colekowalski)  add  direct-io-mode  to  mount_invisi‐
380303           ble_options (refs: #25739)
380304
380305         · PR #25699: (rallytime) Back-port #25660 to 2015.5 (refs: #25709)
380306
380307         · PR   #25660:   (colekowalski)   add  glusterfs'  direct-io-mode  to
380308           mount_invisible_keys (refs: #25699, #25709)
380309
380310         · 135b03e53b Merge pull request #25739 from rallytime/bp-25709
380311
380312         · fda2ffa44e add direct-io-mode to mount_invisible_options
380313
380314       · PR #25738:  (rallytime)  Back-port  #25671  to  2015.5  @  2015-07-27
380315         16:08:23 UTC
380316
380317         · PR  #25671:  (niq000)  added  a  parameter  so verifying SSL is now
380318           optional instead of hard-coded (refs: #25738)
380319
380320         · 095a923b6e Merge pull request #25738 from rallytime/bp-25671
380321
380322         · 525cd70589 added a parameter  so  verifying  SSL  is  now  optional
380323           instead of hard-coded
380324
380325       · ISSUE  #25229:  (rmatulat)  Module  git.latest kills target directory
380326         when test=True (refs: #25608)
380327
380328       · PR #25737:  (rallytime)  Back-port  #25608  to  2015.5  @  2015-07-27
380329         16:08:18 UTC
380330
380331         · PR  #25608: (rmatulat) Fix: prevent git.latest from removing target
380332           (refs: #25737)
380333
380334         · 05fbfe64e9 Merge pull request #25737 from rallytime/bp-25608
380335
380336         · df85d734bc Fix:  prevent  git.latest  from  removing  target  Fixes
380337           #25229  While force=True and test=True git.latest should not remove
380338           the target directory.
380339
380340       · PR #25733: (davidjb) Avoid IndexError when listing  mounts  if  mount
380341         output ends in newline @ 2015-07-27 16:08:05 UTC
380342
380343         · 9817fc5556 Merge pull request #25733 from davidjb/mount-fix
380344
380345         · 6d0bce2418 Test length of comps when listing mounts
380346
380347       · ISSUE  #22460:  (onmeac)  Command  setm is not supported (yet) (refs:
380348         #25705)
380349
380350       · PR  #25705:  (blackduckx)  Support  for  setm  augeas   command.    @
380351         2015-07-27 16:07:10 UTC
380352
380353         · 82ba390b7b Merge pull request #25705 from blackduckx/augeas-setm
380354
380355         · cad0f2b46e Augeas: fix pylint and documentation
380356
380357         · ee97896cba Support for setm augeas command.
380358
380359       · PR  #25703:  (cachedout)  Return  to str for master_type for 2015.5 @
380360         2015-07-27 16:06:22 UTC
380361
380362         · f732be365d  Merge   pull   request   #25703   from   cachedout/mas‐
380363           ter_type_2015_5
380364
380365         · 0dc28ad3e4 Return to str for master_type for 2015.5
380366
380367       · ISSUE #25144: (johnccfm) user.present on Windows fails to add user to
380368         groups if group name contains a space (refs: #25702)
380369
380370       · PR #25702: (twangboy) Fixed win_user module for groups with spaces in
380371         the name @ 2015-07-27 15:06:33 UTC
380372
380373         · dea3d31578 Merge pull request #25702 from twangboy/fix_25144
380374
380375         · d5be7a2fdf  Fixed  win_user  moduele  for groups with spaces in the
380376           name
380377
380378       · ISSUE #25351:  (m03)  win_servermanager.list_installed  failing  with
380379         "IndexError: list index out of range" (refs: #25711)
380380
380381       · PR    #25711:    (twangboy)   Fixed   problem   with   win_serverman‐
380382         ager.list_installed @ 2015-07-27 15:05:48 UTC
380383
380384         · 186af9b54d Merge pull request #25711 from twangboy/fix_25351
380385
380386         · 82fa911931 Fixed problem with win_servermanager.list_installed
380387
380388       · ISSUE #25435: (yee379) progressbar dependency missing (refs: #25714)
380389
380390       · PR #25714: (cachedout) Display  warning  when  progressbar  can't  be
380391         loaded @ 2015-07-25 00:10:13 UTC
380392
380393         · ad8456eeed Merge pull request #25714 from cachedout/issue_25435
380394
380395         · 44f34684ef Included note in help docs
380396
380397         · 4e2fee17cc Display warning when progressbar can't be loaded
380398
380399       · PR  #25699:  (rallytime)  Back-port #25660 to 2015.5 (refs: #25709) @
380400         2015-07-24 22:11:40 UTC
380401
380402         · PR  #25660:  (colekowalski)  add   glusterfs'   direct-io-mode   to
380403           mount_invisible_keys (refs: #25699, #25709)
380404
380405         · a0969ff74a Merge pull request #25699 from rallytime/bp-25660
380406
380407         · 85c636d7a1 add glusterfs' direct-io-mode to mount_invisible_keys
380408
380409       · ISSUE #25689: (anlutro) Minion log in salt-ssh (refs: #25694)
380410
380411       · PR  #25694: (s0undt3ch) Salt-SSH fix for #25689 @ 2015-07-24 21:41:57
380412         UTC
380413
380414         · fe829564f4 Merge pull request #25694 from s0undt3ch/2015.5
380415
380416         · afba3bde90 Use a relative un-nested path to the salt-call logfile.
380417
380418         · 6309f22a65 Fix wrong variable assignment
380419
380420         · c312592c81 Have cookie JAR's respect the configured cachedir
380421
380422       · ISSUE #25250: (wipfs) 'force' option in  copy  state  deletes  target
380423         file (refs: #25461, #25710)
380424
380425       · PR #25710: (jahamn) Integration Testcase for Issue 25250 @ 2015-07-24
380426         20:57:33 UTC
380427
380428         · fb4744b2f8  Merge  pull   request   #25710   from   jahamn/integra‐
380429           tion-test-for-issue-25250
380430
380431         · 24f653e963 Integration Test for Issue 25250
380432
380433       · PR #25680: (basepi) [2015.5] Move cmd.run jinja aliasing to a wrapper
380434         class to prevent side effects @ 2015-07-24 19:52:10 UTC
380435
380436         · PR #25049:  (terminalmage)  Fix  cmd.run  when  cross-called  in  a
380437           state/execution module (refs: #25680)
380438
380439         · 18c9d5454d Merge pull request #25680 from basepi/jinja.alias.25049
380440
380441         · e83a0f9b2b Use new-style classes
380442
380443         · 4a50bac1c2 Fix typo
380444
380445         · 36410389dc Name the Nitrogen release
380446
380447         · 77679596f9 Make ALIASES global
380448
380449         · 01c209efd9 Fix some aliases references
380450
380451         · 1644641c57 Move cmd.run aliasing to a wrapper class to prevent side
380452           effects
380453
380454       · PR #25682: (basepi) [2015.5] Fix parsing args with just a hash (#)  @
380455         2015-07-24 19:52:01 UTC
380456
380457         · 6a5c6dcd04 Merge pull request #25682 from basepi/fix.hash.parsing
380458
380459         · 8d75c1b882 Fix parsing args with just a hash (#)
380460
380461       · PR  #25695:  (stanislavb)  Configurable  AWS region & region from IAM
380462         metadata @ 2015-07-24 19:36:40 UTC
380463
380464         · d330ef0d81      Merge      pull      request      #25695       from
380465           stanislavb/expose-aws-region-config-and-fetch-region-from-metadata
380466
380467         · 595da6252e Configurable AWS region & region from IAM metadata
380468
380469       · PR  #25645:  (kev009)  Fix pkgng provider to work with a sources list
380470         and the underlying pkg… @ 2015-07-24 16:33:18 UTC
380471
380472         · ea0d295d49 Merge pull request #25645 from kev009/freebsd-pkgng-add
380473
380474         · ee2cbb574a Fix pkgng provider to work with a sources list  and  the
380475           underlying pkg-add(8)
380476
380477       · PR #25677: (aneeshusa) Fix pacman.list_upgrades when refresh=True.  @
380478         2015-07-24 16:30:06 UTC
380479
380480         · 2cad79c2f0  Merge  pull  request  #25677  from   aneeshusa/fix-pac‐
380481           man-list-upgrades-when-refreshing
380482
380483         · 7062ae4eae Fix pacman.list_upgrades when refresh=True.
380484
380485       · ISSUE  #25674:  (UtahDave)  file.managed with contents parameter uses
380486         wrong line endings on Windows (refs: #25675)
380487
380488       · PR #25675: (UtahDave) Use OS line endings with contents on  file.man‐
380489         aged @ 2015-07-24 16:29:50 UTC
380490
380491         · 18e739b812 Merge pull request #25675 from UtahDave/2015.5local
380492
380493         · d0f9d001db Use OS line endings with contents on file.managed
380494
380495       · PR  #25676:  (basepi)  Update release candidate docs to 2015.8.0rc2 @
380496         2015-07-23 20:29:37 UTC
380497
380498         · 7914f51636      Merge      pull      request      #25676       from
380499           basepi/2015.8.0rc2releasedocs
380500
380501         · 882d11836b Update release candidate docs to 2015.8.0rc2
380502
380503       · ISSUE #25665: (nmadhok) salt-cloud VMware driver fails with KeyErrors
380504         if there's any existing  machine  in  the  VMware  infrastructure  in
380505         (invalid state) (refs: #25666)
380506
380507       · PR  #25666:  (nmadhok)  Check  if the properties exist before looping
380508         over them causing KeyError @ 2015-07-23 17:55:40 UTC
380509
380510         · c36b714401    Merge    pull    request    #25666     from     nmad‐
380511           hok/vmware-cloud-fix_2015.5
380512
380513         · 8e812296ef  Check  if the properties exist before looping over them
380514           causing KeyErrors Fixes #25665
380515
380516       · PR  #25656:  (anlutro)  Fix  locale  detection  in  debian/gentoo   @
380517         2015-07-23 16:46:40 UTC
380518
380519         · 36d04b2954  Merge  pull request #25656 from alprs/fix-locale_detec‐
380520           tion
380521
380522         · a260236942 change variable name
380523
380524         · dd2a188c05 fix tests
380525
380526         · aefd0fb374 code formatting
380527
380528         · e58d222fb0 fix locale detection in debian/gentoo
380529
380530       · PR #25661:  (rallytime)  Back-port  #25624  to  2015.5  @  2015-07-23
380531         16:26:48 UTC
380532
380533         · PR  #25624:  (bobrik)  Fix typo in get_routes example for debian_ip
380534           (refs: #25661)
380535
380536         · b1c1735aae Merge pull request #25661 from rallytime/bp-25624
380537
380538         · 4e1fcfa15e Fix typo in get_routes example for debian_ip
380539
380540       · ISSUE #15209: (hubez) file.manage: source_hash not working with s3://
380541         (2014.7.0rc1) (refs: #25638)
380542
380543       · PR  #25662:  (rallytime)  Back-port  #25638  to  2015.5  @ 2015-07-23
380544         16:26:40 UTC
380545
380546         · PR #25638: (TronPaul) fix bad merge in 99fc7ec (refs: #25662)
380547
380548         · 6a2843dee2 Merge pull request #25662 from rallytime/bp-25638
380549
380550         · 90d833d5dc fix bad merge 99fc7ec
380551
380552       · ISSUE  #25413:  (zizkebab)  pillar_opts  default  behavior   is   not
380553         reflected in the docs (refs: #25644)
380554
380555       · PR #25644: (cachedout) pillar doc fix @ 2015-07-22 22:57:23 UTC
380556
380557         · 00f4689fe3 Merge pull request #25644 from cachedout/issue_25413
380558
380559         · 8cef61e6cc pillar doc fix
380560
380561       · ISSUE  #25540:  (dennisjac) salt highstate schedule cannot be removed
380562         (refs: #25642)
380563
380564       · PR #25642: (cachedout) Warn on pillar schedule  delete  @  2015-07-22
380565         22:04:12 UTC
380566
380567         · aeaeb53ed6 Merge pull request #25642 from cachedout/issue_25540
380568
380569         · 74f6b6930c Warn on pillar schedule delete
380570
380571       · ISSUE  #25437:  (lorengordon)  Stacktrace  on  Windows  when  running
380572         pkg.list_pkgs (refs: #25598, #25763)
380573
380574       · PR #25598: (twangboy) Fixed problem trying to load file with name  of
380575         boolean type @ 2015-07-22 17:07:49 UTC
380576
380577         · 7b79e433f1 Merge pull request #25598 from twangboy/fix_25437
380578
380579         · c53e11d42c  Fixed  problem trying to load file with name of boolean
380580           type
380581
380582       · ISSUE #25323: (terminalmage) unit.modules.tls_test fails  with  older
380583         mock (refs: #25604)
380584
380585       · PR #25604: (terminalmage) Move patching of mock_open to within test @
380586         2015-07-22 16:53:55 UTC
380587
380588         · f4a38a8aee   Merge   pull    request    #25604    from    terminal‐
380589           mage/fix-mock_open
380590
380591         · 123b8ee1cb Fix mock_open patch
380592
380593         · af82835f42 Move patching of mock_open to within test
380594
380595       · ISSUE  saltstack/salt-bootstrap#630:  (jf)  Ubuntu  12.04  (and maybe
380596         12.x?): apt-get installing python-requests causes digital_ocean_v2 to
380597         fail   with   "[ERROR   ]   Failed   to  get  the  output  of  'digi‐
380598         tal_ocean.avail_sizes()': 'Response' object has no attribute  'text'"
380599         (refs: #25609)
380600
380601         · PR  saltstack/salt-bootstrap#627: (nyushi) Fix tornado installation
380602           on ubuntu (refs: #25609)
380603
380604       · PR #25609: (s0undt3ch) [2015.5] Update the bootstrap script to latest
380605         release v2015.07.22 @ 2015-07-22 16:28:52 UTC
380606
380607         · 224484df7e  Merge  pull  request #25609 from s0undt3ch/hotfix/boot‐
380608           strap-script-2015.5
380609
380610         · 96a8568336  Update  the  bootstrap   script   to   latest   release
380611           v2015.07.22
380612
380613       · ISSUE  #21912:  (rvora) pkg.latest not updating the package on CentOS
380614         though yum reports an update available (refs: #25603)
380615
380616       · PR #25603: (terminalmage) Add version_cmp  function  to  yumpkg.py  @
380617         2015-07-22 15:42:29 UTC
380618
380619         · 07eb78c79f Merge pull request #25603 from terminalmage/issue21912
380620
380621         · 99e532ba74 Add versionadded directive
380622
380623         · 8a1765fc6f Add version_cmp function to yumpkg.py
380624
380625         · 457e72e273 Fix refernces to __salt__['version_cmp']
380626
380627         · a19fa2296a Avoid using single-letter variable
380628
380629       · ISSUE  #25560:  (dennisjac)  scheduled  highstate  runs  don't return
380630         results to the job cache (refs: #25590)
380631
380632       · PR #25590: (garethgreenaway) 2015.5  scheduled  jobs  return  data  @
380633         2015-07-21 21:57:42 UTC
380634
380635         · 69ef81caba    Merge   pull   request   #25590   from   garethgreen‐
380636           away/25560_2015_5_schedule_return_data
380637
380638         · 19ca0c0b40 Switching default in 2015.5  for  whether  job  data  in
380639           returned to the mater job_cache.
380640
380641       · PR  #25584:  (rallytime)  Back-port  #24054  and  #25576  to 2015.5 @
380642         2015-07-21 21:16:38 UTC
380643
380644         · PR #25576: (pcn) s3fs breaks when fetching  files  from  s3  (refs:
380645           #25584)
380646
380647         · PR #24054: (mgwilliams) s3.head: return useful data (refs: #25584)
380648
380649         · 9ffefc867e     Merge    pull    request    #25584    from    rally‐
380650           time/bp-24054-and-25576
380651
380652         · aa9598e3a5 s3fs breaks when fetching files from s3
380653
380654         · 1667d67c3e s3.head: return useful data
380655
380656       · ISSUE #23626:  (mirko)  salt  state  'ssh_known_hosts'  doesn't  take
380657         'port' into account (refs: #25589)
380658
380659       · PR #25589: (jahamn) Fixes ssh_known_host not taking port into account
380660         @ 2015-07-21 21:15:06 UTC
380661
380662         · a966e439d1      Merge      pull      request      #25589       from
380663           jahamn/Fix-ssh_known_host-not-taking-port-into-account
380664
380665         · 8db7ada82d Fixed pylint e8303 errors
380666
380667         · 6abad29f66 Fixed pylint errors
380668
380669         · 8ae6ba1290         Merge         branch         '2015.5'         of
380670           https://github.com/saltstack/salt into  Fix-ssh_known_host-not-tak‐
380671           ing-port-into-account
380672
380673       · PR   #25573:  (EvaSDK)  Do  not  execute  bootstrap  script  twice  @
380674         2015-07-21 18:20:04 UTC
380675
380676         · PR #25465: (EvaSDK) 2015.5.3 LXC module fixes (refs: #25573)
380677
380678         · df74f2c3ad Merge pull request #25573 from EvaSDK/2015.5.3-lxc-fixes
380679
380680         · 49cec9f9a1 Use a more persistent tmp directory
380681
380682         · 96a672f8e0 Do not execute bootstrap script twice
380683
380684       · ISSUE #25532: (attiasr) salt/modules/win_pkg.py list_pkgs  is  broken
380685         (encoding issues) (refs: #25580, #25556)
380686
380687       · PR   #25580:   (attiasr)  use  explicit  utf-8  decoding  (#25532)  @
380688         2015-07-21 15:40:49 UTC
380689
380690         · 79a809dd79 Merge pull request #25580 from attiasr/patch-1
380691
380692         · 4b7dc96919 use explicit utf-8 decoding (#25532)
380693
380694       · ISSUE #25206: (jfindlay) fullname issues with user.add state on  win‐
380695         dows (refs: #25568)
380696
380697       · PR  #25568:  (twangboy)  Fixed  win_useradd  module to add fullname @
380698         2015-07-21 14:30:25 UTC
380699
380700         · 6edf196533 Merge pull request #25568 from twangboy/fix_25206
380701
380702         · fbee445c6d Commented out a pylint error
380703
380704         · 4b56dc3893 Fixed win_useradd module to add fullname
380705
380706       · ISSUE #21041: (deuscapturus) state module gem.installed  not  working
380707         on Windows. (refs: #25430, #25561, #25428)
380708
380709       · PR  #25561:  (twangboy)  Fixed  the  gem module to work on windows...
380710         without injection @ 2015-07-20 21:12:15 UTC
380711
380712         · PR #25428: (twangboy) Fixed the  gem  module  to  work  on  windows
380713           (refs: #25561)
380714
380715         · 3c32b0b669 Merge pull request #25561 from twangboy/fix_21041_again
380716
380717         · aaf3f3dcd0 Fixed some line and style issues
380718
380719         · e6d0e5cda7         Merge         branch         '2015.5'         of
380720           https://github.com/saltstack/salt into fix_21041_again
380721
380722       · PR #25521: (cachedout) Fix  outputter  for  state.orch  @  2015-07-20
380723         19:30:14 UTC
380724
380725         · 9e19142c35 Merge pull request #25521 from cachedout/orch_outputter
380726
380727         · ea40816621 Try/except
380728
380729         · dd609eb440 Fix outputter for state.orch
380730
380731       · PR  #25563:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
380732         2015-07-20 19:27:36 UTC
380733
380734         · 2117ac8022  Merge  pull  request  #25563   from   basepi/merge-for‐
380735           ward-2015.5
380736
380737         · 3bf2f1a722  Merge  remote-tracking  branch  'upstream/2014.7'  into
380738           merge-forward-2015.5
380739
380740         · 09ebaceca8 Merge pull request #25416 from cachedout/str_2014_7
380741
380742           · cc514938a8 Fix broken keyword
380743
380744             · d67491bb80 Removed the logger as it's not used anymore
380745
380746             · 5008bfee96        Merge        branch        '2015.5'        of
380747               https://github.com/saltstack/salt into fix_21041_again
380748
380749       · PR #25559: (cachedout) Lint win_pkg @ 2015-07-20 17:46:29 UTC
380750
380751         · 50c257b1d5 Merge pull request #25559 from cachedout/lint_win_pkg
380752
380753         · 53a00add99 Lint win_pkg
380754
380755       · ISSUE  #25532:  (attiasr) salt/modules/win_pkg.py list_pkgs is broken
380756         (encoding issues) (refs: #25580, #25556)
380757
380758       · PR #25556: (attiasr) fix for #25532 @ 2015-07-20 17:45:11 UTC
380759
380760         · 7c7015ccda Merge pull request #25556 from attiasr/patch-1
380761
380762         · 9b224e8d4e fix for #25532
380763
380764       · ISSUE #25538: (stanislavb) S3 ext_pillar configuration requires  ver‐
380765         ify_ssl (refs: #25554)
380766
380767       · PR  #25554: (jfindlay) verify_ssl=True for s3 ext pillar @ 2015-07-20
380768         17:43:38 UTC
380769
380770         · 3c73dab2ce Merge pull request #25554 from jfindlay/verify_ssl
380771
380772         · ca3ab4e737 verify_ssl=True for s3 ext pillar
380773
380774       · PR  #25551:  (rallytime)  Backport  #25530  to  2015.5  @  2015-07-20
380775         17:43:00 UTC
380776
380777         · PR  #25530:  (andre-luiz-dos-santos) The variable name must be last
380778           (refs: #25551)
380779
380780         · e3e2e6718e Merge pull request #25551 from rallytime/bp-25530
380781
380782         · df5003d7f9 The variable name must be last
380783
380784       · PR #25533: (attiasr) port 445 for windows bootstraping  @  2015-07-20
380785         15:13:06 UTC
380786
380787         · 3e3441937f Merge pull request #25533 from attiasr/patch-2
380788
380789         · c7fbf68597 fix windows bootstrapping
380790
380791       · ISSUE   #25432:   (gtmanfred)   [2015.5.3][raet]   raet   error  with
380792         SaltRaetRoadStackJoiner (refs: #25525)
380793
380794       · PR #25525: (gtmanfred) add make _prepare an alias  for  postinitio  @
380795         2015-07-20 15:12:38 UTC
380796
380797         · 7fc051f56d Merge pull request #25525 from gtmanfred/2015.5
380798
380799         · 43950a5bc5 add make _prepare an alias for postinitio
380800
380801       · ISSUE  #25511:  (rallytime)  Make provider --> driver change backward
380802         compatible (refs: #25519)
380803
380804       · ISSUE #23574: (CedNantes) Failed to Deploy Salt-Minion on a Win  2012
380805         R2 using wmware Cloud Driver from Develop branch (refs: #25519)
380806
380807       · PR  #25519:  (rallytime)  Backport  vmware  driver to 2015.5 branch @
380808         2015-07-20 15:11:26 UTC
380809
380810         · 725d1a40d0 Merge pull request #25519 from rallytime/backport_vmware
380811
380812         · 35e13eef1d Don't reference driver in older salt versions
380813
380814         · f011890217 Add vmware back-port change to release notes
380815
380816         · 0f4f560b38 Backport vmware driver to 2015.5 branch
380817
380818       · PR #25542:  (Oro)  Fix  hipchat.send_message  when  using  API  v2  @
380819         2015-07-20 15:09:13 UTC
380820
380821         · 2f0d695bc0       Merge      pull      request      #25542      from
380822           Oro/fix-hipchat-v2-sendmessage
380823
380824         · 3a9f5b037f Fix hipchat.send_message when using API v2
380825
380826       · PR #25531:  (rallytime)  Back-port  #25529  to  2015.5  @  2015-07-18
380827         19:16:10 UTC
380828
380829         · PR #25529: (davidjb) Fix minor typo in best practice example (refs:
380830           #25531)
380831
380832         · 390aa7d28f Merge pull request #25531 from rallytime/bp-25529
380833
380834         · 3e24381439 Fix minor typo in best practice example
380835
380836       · PR #25528: (davidjb) Fix typo in extend declaration doco @ 2015-07-18
380837         14:22:06 UTC
380838
380839         · 6e811bfdd2 Merge pull request #25528 from davidjb/patch-7
380840
380841         · bfc4f9fd85 Fix typo in extend declaration doco
380842
380843       · ISSUE   #25486:   (whiteinge)   Highstate   outputter  not  used  for
380844         state.apply (refs: #25517)
380845
380846       · PR #25517:  (rallytime)  Back-port  #25486  to  2015.5  @  2015-07-17
380847         21:49:26 UTC
380848
380849         · PR #25485: (attiasr) fix file downloads on windows
380850
380851         · b9abd723a7 Merge pull request #25517 from rallytime/bp-25485
380852
380853         · 6c2f3180c2 fix file downloads on windows
380854
380855       · ISSUE  #25479:  (alexandrsushko) multiple mount.mounted of one device
380856         (refs: #25483)
380857
380858       · PR #25516:  (rallytime)  Back-port  #25483  to  2015.5  @  2015-07-17
380859         21:49:05 UTC
380860
380861         · PR  #25483: (alexandrsushko) Added 'none' to the set of specialFSes
380862           (refs: #25516)
380863
380864         · 9cb436fbae Merge pull request #25516 from rallytime/bp-25483
380865
380866         · e0af6e3478 Added 'none' to the set of specialFSes
380867
380868       · ISSUE #25493: (blackduckx) Issue with job_args on  schedule.add  com‐
380869         mand (refs: #25513)
380870
380871       · PR  #25513:  (garethgreenaway) fixes to schedule.add documentation in
380872         2015.5 @ 2015-07-17 17:03:24 UTC
380873
380874         · daf03efb7c   Merge   pull   request   #25513   from    garethgreen‐
380875           away/25493_2015_5_schedule_add_documentation
380876
380877         · bc2414bc4d  Fixing  documentation  for  schedule.add when using the
380878           job_args parameter, value needs to be be in quotes for the value to
380879           be passed in as an array.
380880
380881       · PR  #25465:  (EvaSDK)  2015.5.3  LXC  module  fixes  (refs: #25573) @
380882         2015-07-17 15:57:54 UTC
380883
380884         · 48050cd287 Merge pull request #25465 from EvaSDK/2015.5.3-lxc-fixes
380885
380886         · 170eb52cc4 Fix use of undefined cmd when install of boostrap script
380887           fails
380888
380889         · 86118f4a7b  Install  bootstrap  script  like  dns and systemd check
380890           scripts in container
380891
380892         · 978e6d56e2 Error out if configdir could not be created when prepar‐
380893           ing LXC container
380894
380895         · 41b6c3c2bf Fix typo in redirecting shell output to /dev/null
380896
380897         · 456393d4db Fix DNS script cleanup
380898
380899       · ISSUE   saltstack/salt-bootstrap#611:  (BretFisher)  SmartOS  doesn't
380900         detect missing git, fails install (refs: #25506)
380901
380902       · ISSUE saltstack/salt-bootstrap#607: (bechtoldt) (git install)  change
380903         source of init scripts for debian based systems (refs: #25506)
380904
380905       · ISSUE  saltstack/salt-bootstrap#602:  (rallytime)  Ubuntu 14.10 Won't
380906         Bootstrap with Latest Stable  (refs: #25506)
380907
380908       · ISSUE saltstack/salt-bootstrap#598: (babilen) Installation  fails  on
380909         Debian 7 due to missing easy_install (refs: #25506)
380910
380911       · ISSUE saltstack/salt#25456: (julienlavergne) [2015.8.0rc1] salt-boot‐
380912         strap fails to install salt master (refs: #25506)
380913
380914       · ISSUE saltstack/salt#25270: (iggy) [2015.8.0rc1] salt-bootstrap fails
380915         to properly install a minion (refs: #25506)
380916
380917       · ISSUE   #619:   (syphernl)   Only  send  over  changed  files  during
380918         state.highstate (refs: #`saltstack/salt-bootstrap#621`_)
380919
380920         · PR saltstack/salt-bootstrap#625: (hasues) Modify  bootstrap-salt.sh
380921           unbound error with CONFIG_PROTECT_MASK for Gentoo (refs: #25506)
380922
380923         · PR  saltstack/salt-bootstrap#624:  (BretFisher)  fix config and etc
380924           path on SmartOS (refs: #25506)
380925
380926         · PR saltstack/salt-bootstrap#621: (lomeroe) python-jinja2  has  been
380927           moved to rhui-...server-releases-optional repo… (refs: #25506)
380928
380929         · PR     saltstack/salt-bootstrap#606:     (babilen)     Switch    to
380930           httpredir.debian.org as default Debian mirror (refs: #25506)
380931
380932         · PR saltstack/salt-bootstrap#455:  (denmat)  PR:  Issue  394  (refs:
380933           #25506)
380934
380935       · PR  #25506:  (s0undt3ch)  [2015.5]  Update bootstrap script to latest
380936         stable release, v2015.07.17 @ 2015-07-17 15:40:38 UTC
380937
380938         · f85f2b49fd Merge pull request  #25506  from  s0undt3ch/hotfix/boot‐
380939           strap-script
380940
380941         · ab6aaa6e60  Update  bootstrap  script  to  latest  stable  release,
380942           v2015.07.17
380943
380944       · ISSUE #25454: (mschiff) Regression: salt 2015.5 not working in secure
380945         chroot anymore. (refs: #25498)
380946
380947       · PR  #25498:  (jfindlay)  only  read  /proc/1/cmdline  if  it exists @
380948         2015-07-17 15:35:33 UTC
380949
380950         · c8caf406b2 Merge pull request #25498 from jfindlay/jail_init
380951
380952         · c63a6c206f only read /proc/1/cmdline if it exists
380953
380954       · PR #25487:  (rallytime)  Back-port  #25464  to  2015.5  @  2015-07-16
380955         16:58:36 UTC
380956
380957         · PR  #25464:  (jquast)  docfix: "cache_jobs: False" => grains_cache:
380958           False" (refs: #25487)
380959
380960         · 3f695a17cf Merge pull request #25487 from rallytime/bp-25464
380961
380962         · e947d8ec5a docfix: "cache_jobs: False" => grains_cache: False"
380963
380964       · PR #25482: (oeuftete) Fix docker.running detection  of  running  con‐
380965         tainer @ 2015-07-16 16:58:29 UTC
380966
380967         · 331808eb7d  Merge  pull  request  #25482  from oeuftete/docker-run‐
380968           ning-is-running-fix-2015-5
380969
380970         · b69379ba50 Fix docker.running detection of running container
380971
380972       · ISSUE #25384: (rickh563) pyopenssl 0.14 requirement in 2015.5.3  does
380973         not work in RHEL6 : ZD-364 (refs: #25468)
380974
380975       · PR  #25468: (joejulian) Add support for pyOpenSSL > 0.10 @ 2015-07-16
380976         15:10:30 UTC
380977
380978         · 7a20ecbf46    Merge    pull    request    #25468    from     joeju‐
380979           lian/use_pyopenssl_0_10
380980
380981         · 1b7a56aa38 Add support for pyOpenSSL > 0.10
380982
380983       · PR  #25467:  (rallytime)  Add  lxml  dependency  to opennebula docs @
380984         2015-07-16 15:09:57 UTC
380985
380986         · d169905170 Merge pull request #25467 from rallytime/lxml_dep
380987
380988         · d326f4f686 Add lxml dependency to opennebula docs
380989
380990       · ISSUE #25250: (wipfs) 'force' option in  copy  state  deletes  target
380991         file (refs: #25461, #25710)
380992
380993       · ISSUE  #24647: (nmadhok) salt.states.file.copy does not copy the file
380994         if it already exists with force=True (refs: #25461)
380995
380996       · PR #25461: (jahamn) Update file, if force option and content not same
380997         @ 2015-07-15 20:15:07 UTC
380998
380999         · 89649456e0       Merge      pull      request      #25461      from
381000           jahamn/fixed-file.copy-force-option-deleting-files-without-updat‐
381001           ing-them
381002
381003         · 32cf1ebbb5 Update file, if force option and content not same
381004
381005       · ISSUE #25431: (namcois) Digital Ocean v2 reducing API calls by adding
381006         per_page (refs: #25438)
381007
381008       · PR #25438: (rallytime) Reduce digital_ocean_v2 API call  frequency  @
381009         2015-07-15 19:40:18 UTC
381010
381011         · 146a81b7c3 Merge pull request #25438 from rallytime/do_v2
381012
381013         · faf49ea2a3 Add page number change release notes
381014
381015         · da6ab82837 Reduce digital_ocean_v2 API call frequency
381016
381017       · PR #25457: (jacksontj) Saltnado @ 2015-07-15 17:50:12 UTC
381018
381019         · PR  #25427: (tony-cocco) Saltnado runner client results in blocking
381020           call despite being set-up as Runner.async (refs: #25457)
381021
381022         · cb98d79cdd Merge pull request #25457 from jacksontj/saltnado
381023
381024         · bc32f66b98 Add runner_async endpoint to salnado
381025
381026         · b043fa9b05 Better name of method process manager is starting
381027
381028       · PR #25459: (jahamn) Fixed 'defulats' typo in verify.py  @  2015-07-15
381029         16:53:06 UTC
381030
381031         · 3f72eb5486   Merge   pull   request  #25459  from  jahamn/fix-defu‐
381032           lats-typo-in-verify.py
381033
381034         · 9bafd19f67 Fixed 'defulats' typo in verify.py
381035
381036       · PR #25426: (jquast) bugfix: trailing  "...done"  in  rabbitmq  output
381037         (backport from 'develop' to 2015.5) @ 2015-07-15 14:48:05 UTC
381038
381039         · 73566188cf Merge pull request #25426 from jquast/2015.5
381040
381041         · 005a7ca2a3 bugfix: trailing "...done" in rabbitmq output
381042
381043       · PR  #25433:  (jleroy)  Support  for  IPv6  addresses  scopes  in net‐
381044         work.interfaces (ifconfig) @ 2015-07-15 14:44:09 UTC
381045
381046         · PR #25151: (jleroy) Support  for  IPv6  addresses  scopes  in  net‐
381047           work.interfaces (refs: #25274, #25433)
381048
381049         · cfec990062  Merge  pull  request #25433 from jleroy/ipv6-scope-sup‐
381050           port-ifconfig
381051
381052         · bc36d05c0c Support for IPv6 addresses scopes in  network.interfaces
381053           (ifconfig)
381054
381055       · ISSUE  #21041:  (deuscapturus) state module gem.installed not working
381056         on Windows. (refs: #25430, #25561, #25428)
381057
381058       · PR #25430: (twangboy) Disabled rbenv execution module for  Windows  @
381059         2015-07-15 14:41:18 UTC
381060
381061         · a425230c19 Merge pull request #25430 from twangboy/fix_21041_2
381062
381063         · 242fc21765 Disabled rbenv execution module for Windows
381064
381065              · 8b2dc681f9  Fixed the gem module to work on windows... without
381066                injection
381067
381068              · c7466e7894 Fixes ssh_known_host to take port into account
381069
381070       · ISSUE #1846: (seanchannel) development dependencies
381071
381072       · PR #25420: (techhat) Move  S3  to  use  AWS  Signature  Version  4  @
381073         2015-07-14 22:03:09 UTC
381074
381075         · 9313804e27 Merge pull request #25420 from techhat/s3sig4
381076
381077         · 3edf3a14e2 Linting
381078
381079         · c63c2356be Move S3 to use AWS Signature Version 4
381080
381081       · ISSUE  #20441:  (deuscapturus)  State  module file.managed returns an
381082         error on Windows and test=Test (refs: #25418)
381083
381084       · PR #25418: (twangboy) Fixed problem  with  file.managed  test=True  @
381085         2015-07-14 21:26:59 UTC
381086
381087         · 30a41d3f51 Merge pull request #25418 from twangboy/fix_20441
381088
381089         · d8957856cd Fixed problem with file.managed test=True
381090
381091       · PR  #25417: (ahus1) extended documentation about dependencies for dig
381092         module @ 2015-07-14 20:49:51 UTC
381093
381094         · 3805677e93 Merge pull request #25417 from ahus1/patch-1
381095
381096         · 3cd194ebaf Update dig.py
381097
381098         · 287f8f76e3 extended documentation about dependencies
381099
381100       · PR #25411: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
381101         2015-07-14 17:55:26 UTC
381102
381103         · 4d929071e1   Merge   pull  request  #25411  from  basepi/merge-for‐
381104           ward-2015.5
381105
381106         · 33d2451fef  Merge  remote-tracking  branch  'upstream/2014.7'  into
381107           merge-forward-2015.5
381108
381109         · 2a1dd1113f   Merge   pull   request   #25375   from  cachedout/con‐
381110           fig_fix_2014_7
381111
381112           · c041f2905f Fix error in config.py for master_type
381113
381114         · 2590e23d48   Merge   pull    request    #25324    from    jacobham‐
381115           mons/doc-theme-updates
381116
381117           · 88f5fcf58d Latest help theme updates
381118
381119       · PR  #25406:  (anlutro)  Force  arguments  to  aptpkg.version_cmp into
381120         strings @ 2015-07-14 16:15:41 UTC
381121
381122         · 81bed62d16  Merge  pull  request  #25406  from   alprs/fix-apt_ver‐
381123           sion_cmp_types
381124
381125         · d56efd1341 force arguments to apt_pkg.version_compare into strings
381126
381127       · PR  #25408:  (rallytime)  Back-port  #25399  to  2015.5  @ 2015-07-14
381128         16:09:06 UTC
381129
381130         · PR  #25399:  (jarpy)  Demonstrate  per-minion  client_acl.   (refs:
381131           #25408)
381132
381133         · cd9ea63ff2 Merge pull request #25408 from rallytime/bp-25399
381134
381135         · da9c0eb673 Typo in client_acl ref doc.
381136
381137         · 50e0baf270 Demonstrate per-minion client_acl.
381138
381139       · PR  #25240:  (tankywoo)  file  make  os.walk  only  be  called  one @
381140         2015-07-14 16:04:49 UTC
381141
381142         · ef9f6b0ce0    Merge    pull    request    #25240    from     tanky‐
381143           woo/fix-files-os-walk-multiple-times
381144
381145         · 8044def1c0 file make os.walk only be called one
381146
381147       · PR  #25395:  (rallytime)  Back-port  #25389  to  2015.5  @ 2015-07-14
381148         03:26:34 UTC
381149
381150         · PR #25389: (l2ol33rt) Adding entropy note for gpg  renderer  (refs:
381151           #25395)
381152
381153         · d02f388b08 Merge pull request #25395 from rallytime/bp-25389
381154
381155         · a086e5ad35 Adding entropy note
381156
381157       · PR  #25392:  (rallytime)  Back-port  #25256  to  2015.5  @ 2015-07-14
381158         03:25:13 UTC
381159
381160         · PR  #25256:  (yanatan16)  Dont  assume  source_hash  exists  (refs:
381161           #25392)
381162
381163         · 008e3295c6 Merge pull request #25392 from rallytime/bp-25256
381164
381165         · 6b2da4d582 Dont assume source_hash exists
381166
381167       · PR #25398: (twangboy) Fix date @ 2015-07-14 03:21:17 UTC
381168
381169         · 3f278963ae Merge pull request #25398 from twangboy/fix_date
381170
381171         · 52824f9602 Added /V1 /Z to remove scheduled task after run
381172
381173         · a055cca79f Changed date of scheduled task to work in other locales
381174
381175       · PR  #25397:  (GideonRed-zz)  Introduce standard error output when cli
381176         exits with non-zero status @ 2015-07-14 03:20:24 UTC
381177
381178         · 978d9f7117 Merge pull request #25397 from GideonRed/2015.5
381179
381180         · ea7ab27f31 Introduce standard error  output  when  cli  exits  with
381181           non-zero status
381182
381183       · ISSUE  #24444:  (michaelkrupp) file.managed does not handle dead sym‐
381184         links (refs: #25383)
381185
381186       · PR #25386: (cachedout) Lint #25383 @ 2015-07-13 21:01:10 UTC
381187
381188         · PR  #25383:  (jahamn)  Fix  manage_file   function   in   salt/mod‐
381189           ules/file.py to handle broken sym… (refs: #25386)
381190
381191         · 09442abbde Merge pull request #25386 from cachedout/lint_25383
381192
381193         · 7694299170 Lint #25383
381194
381195       · ISSUE  #24444:  (michaelkrupp) file.managed does not handle dead sym‐
381196         links (refs: #25383)
381197
381198       · PR #25383: (jahamn) Fix manage_file function in  salt/modules/file.py
381199         to handle broken sym… (refs: #25386) @ 2015-07-13 20:58:23 UTC
381200
381201         · 47bcc61f55  Merge  pull  request  #25383  from jahamn/Fix-file.man‐
381202           aged_not_handling_dead_symlinks
381203
381204         · ab17aa160e Fix manage_file function in salt/modules/file.py to han‐
381205           dle broken symlinks
381206
381207       · PR #25369: (anlutro) Fix aptpkg.version_cmp @ 2015-07-13 20:18:45 UTC
381208
381209         · c9fe10e7aa Merge pull request #25369 from alprs/fix-apt_version_cmp
381210
381211         · 6391b15b3e fix aptpkg.version_cmp
381212
381213       · ISSUE  #25337:  (eliasp)  salt-call  from non-existend cwd backtraces
381214         (refs: #25379)
381215
381216       · PR #25379: (jfindlay) check for cwd before getting  it  @  2015-07-13
381217         19:50:27 UTC
381218
381219         · beb0238392 Merge pull request #25379 from jfindlay/check_wd
381220
381221         · 6e4547ff38 check for cwd before getting it
381222
381223       · ISSUE  #25320:  (podloucky-init)  zypper  module list_upgrades broken
381224         (2015.5.2) (refs: #25334)
381225
381226       · PR #25334: (jfindlay) return all  cmd  info  back  to  zypper  fcn  @
381227         2015-07-13 17:03:29 UTC
381228
381229         · 274622ad9b Merge pull request #25334 from jfindlay/fix_zyp
381230
381231         · c1e633903e return all cmd info back to zypper fcn
381232
381233       · PR #25339: (jfindlay) update orchestration docs @ 2015-07-13 16:04:26
381234         UTC
381235
381236         · 71859c6593 Merge pull request #25339 from jfindlay/orch_doc
381237
381238         · 0447808d95 clarify, motivate orchestration docs
381239
381240       · ISSUE #22241: (masterkorp) Salt master not  properly  generating  the
381241         map (refs: #25358)
381242
381243       · PR  #25358:  (dkiser)  Deep  merge  of  pillar lists (refs: #26016) @
381244         2015-07-13 15:51:01 UTC
381245
381246         · 90a1ca02a3  Merge  pull  request  #25358   from   dkiser/22241_pil‐
381247           lar_merge_lists
381248
381249         · d030e289b3 Deep merge of pillar lists
381250
381251       · ISSUE #25281: (shinshenjs) Unless usage in Official Doc syntax error?
381252         (refs: #25346)
381253
381254       · PR #25346: (bechtoldt) set correct indention in states/requisites.rst
381255         (docs), fixes #25281 @ 2015-07-13 15:34:45 UTC
381256
381257         · 66c619fd71 Merge pull request #25346 from bechtoldt/issue25281
381258
381259         · 8eb2ac1dbe  set  correct indention in states/requisites.rst (docs),
381260           fixes #25281
381261
381262       · PR #25336: (terminalmage) Don't try to read init binary if it  wasn't
381263         found @ 2015-07-13 09:45:30 UTC
381264
381265         · b122ed931d    Merge    pull    request    #25336   from   terminal‐
381266           mage/fix-init-grain
381267
381268         · f473918a53 Don't try to read init binary if it wasn't found
381269
381270       · PR  #25350:  (davidjb)  Fix  documentation  for  file.blockreplace  @
381271         2015-07-13 03:41:20 UTC
381272
381273         · 1805bafc89 Merge pull request #25350 from davidjb/patch-4
381274
381275         · e13a9fd74e Fix documentation for file.blockreplace
381276
381277       · ISSUE  #19288:  (oba11)  AssociatePublicIpAddress  doesnt  work  with
381278         salt-cloud 2014.7.0 (refs: #25326, #20972)
381279
381280       · PR #25326:  (rallytime)  Back-port  #20972  to  2015.5  @  2015-07-10
381281         18:49:44 UTC
381282
381283         · PR  #20972: (JohannesEbke) Fix interface cleanup when using Associ‐
381284           atePublicIpAddress in #19288 (refs: #25326)
381285
381286         · b0196fccb7 Merge pull request #25326 from rallytime/bp-20972
381287
381288         · 51c941f59d Also fix cleanup of interfaces when using  AssociatePub‐
381289           licIpAddress in #19288
381290
381291       · ISSUE  #24433:  (chrimi)  Salt  locale state fails, if locale has not
381292         been generated (refs: #25290)
381293
381294       · PR #25327:  (rallytime)  Back-port  #25290  to  2015.5  @  2015-07-10
381295         18:49:37 UTC
381296
381297         · PR  #25290:  (pcdummy)  Simple  fix  for  locale.present on Ubuntu.
381298           (refs: #25327)
381299
381300         · 28450d124e Merge pull request #25327 from rallytime/bp-25290
381301
381302         · 20032c55f3 Simple fix for locale.present on Ubuntu.
381303
381304       · ISSUE #24827: (yermulnik)  locale.present  doesn't  generate  locales
381305         (refs: #25309)
381306
381307       · PR  #25328:  (rallytime)  Back-port  #25309  to  2015.5  @ 2015-07-10
381308         17:22:59 UTC
381309
381310         · PR #25309: (davidjb) Format /etc/locale.gen correctly in  salt.mod‐
381311           ules.localemod.gen_locale (refs: #25328)
381312
381313         · 8f666a24f3 Merge pull request #25328 from rallytime/bp-25309
381314
381315         · 44d44ec574 Format /etc/locale.gen correctly on gen_locale
381316
381317       · PR  #25322:  (jacobhammons)  version  change to 2015.5.3 @ 2015-07-10
381318         16:11:24 UTC
381319
381320         · 0a33a1d8bb   Merge   pull    request    #25322    from    jacobham‐
381321           mons/release-2015.5.3
381322
381323         · 19f88920fa version change to 2015.5.3
381324
381325       · PR  #25308:  (jacksontj)  Make  clear  commands trace level logging @
381326         2015-07-10 14:20:06 UTC
381327
381328         · PR #24737: (jacksontj) Move AES command  logging  to  trace  (refs:
381329           #25308)
381330
381331         · 2f0f59b6cb Merge pull request #25308 from jacksontj/2015.5
381332
381333         · 60fc770ba2 Make clear commands trace level logging
381334
381335       · ISSUE  #24520:  (nvx)  Tomcat  module fails to extract version number
381336         from snapshot builds (2015.5 regression) (refs: #24927)
381337
381338       · PR  #25269:  (jfindlay)  Extract  tomcat  war  version  @  2015-07-10
381339         01:28:21 UTC
381340
381341         · PR  #24927:  (egarbi) Tomcat module fails to extract version number
381342           from snapshot builds #2… (refs: #25269)
381343
381344         · 9b6646d578 Merge pull request #25269 from jfindlay/tomcat
381345
381346         · fd4fca172d consolidate tomcat exec and state version extract
381347
381348         · 59dc833567 update tomcat war_deployed state tests
381349
381350         · edca458b6c Fixed 2 blank lines around import re
381351
381352         · 7e528d1050 Tomcat module fails to extract version number from snap‐
381353           shot builds #24520
381354
381355       · ISSUE  #18808:  (amendlik) Add command line argument to select pillar
381356         environment (refs: #25238)
381357
381358       · PR #25238: (DmitryKuzmenko) Pillarenv backport  2015.5  @  2015-07-10
381359         01:25:07 UTC
381360
381361         · 0f82ac3e30   Merge   pull   request   #25238  from  DSRCompany/pil‐
381362           larenv_backport_2015.5
381363
381364         · 98792eb179 Pillarenv support in minion config, cp and  cmdmod  mod‐
381365           ules.
381366
381367         · 88ff576f39  Support  pillarenv cmdline in state.sls. Backport of PR
381368           #23719
381369
381370       · ISSUE #13943: (Supermathie) Powershell  commands  that  expect  input
381371         hang forever (refs: #25299)
381372
381373       · PR  #25299:  (twangboy)  Added  -NonInteractive so powershell doesn't
381374         hang waiting for input @ 2015-07-09 21:00:16 UTC
381375
381376         · 219d4cad9c Merge pull request #25299 from twangboy/fix_13943
381377
381378         · c05889031f Added -NonInteractive so powershell doesn't hang waiting
381379           for input
381380
381381       · PR #25301: (jacobhammons) bug fix for module function display in help
381382         @ 2015-07-09 20:46:34 UTC
381383
381384         · 1c43892a80 Merge pull request #25301 from jacobhammons/doc-bugs
381385
381386         · f6561289af bug fix for module function display in help
381387
381388       · ISSUE #25277: (jacobhammons)  CherryPy  recommended  versions  (refs:
381389         #25279)
381390
381391       · PR  #25279: (jacobhammons) Additional docs on external and master job
381392         cache, assorted doc fixes @ 2015-07-09 16:46:26 UTC
381393
381394         · 68149bc686   Merge   pull    request    #25279    from    jacobham‐
381395           mons/job-cache-docs
381396
381397         · 57dfa92d5a Fixed typos
381398
381399         · 2f9e5b9125  Additional  docs  on  external  and  master  job cache,
381400           assorted doc fixes Refs #25277
381401
381402       · ISSUE   #25268:   (lichtamberg)   Salt   not   working   anymore   in
381403         2015.8/develop: ValueError: 'scope' is not in list (refs: #25274)
381404
381405       · PR #25274: (jleroy) Fix for issue #25268 @ 2015-07-09 13:36:26 UTC
381406
381407         · PR  #25151:  (jleroy)  Support  for  IPv6  addresses scopes in net‐
381408           work.interfaces (refs: #25274, #25433)
381409
381410         · 972fa2fb54 Merge pull request #25274 from jleroy/25268-fix
381411
381412         · 2c698d204b Fix for issue #25268
381413
381414       · PR #25272: (twangboy) Fixed  problem  with  service  not  starting  @
381415         2015-07-08 23:29:48 UTC
381416
381417         · 8ebb73df2d Merge pull request #25272 from twangboy/service
381418
381419         · e61eeba48b Fixed problem with service not starting
381420
381421       · ISSUE #25223: (nmadhok) Runner occasionally fails with a RuntimeError
381422         when fired by a reactor (refs: #25225)
381423
381424       · PR #25225: (nmadhok) Backporting  fix  for  issue  #25223  on  2015.5
381425         branch @ 2015-07-08 15:16:18 UTC
381426
381427         · c6efd2356c  Merge  pull  request  #25225  from  nmadhok/client-run‐
381428           time-fix-backport-2015-2
381429
381430         · 391b7d6730 Backporting fix for issue #25223 on 2015.2 branch
381431
381432       · PR #25214: (rallytime) A couple of doc fixes for the http tutorial  @
381433         2015-07-07 22:23:07 UTC
381434
381435         · 207fbaeac4 Merge pull request #25214 from rallytime/http_doc
381436
381437         · d0b61f3fc1 A couple of doc fixes for the http tutorial
381438
381439       · ISSUE #24272: (rallytime) Fix boto_vpc_test moto version check (refs:
381440         #25194)
381441
381442       · PR #25194: (rallytime) Update moto version check in boto_vpc_test and
381443         update min version @ 2015-07-07 18:27:32 UTC
381444
381445         · 9dd5cd8a8e Merge pull request #25194 from rallytime/fix-24272
381446
381447         · f959e165a1 Clean up imports
381448
381449         · fbc9c0d6bf Fix Pylint
381450
381451         · fe2561f415  Update  moto  version check in boto_vpc_test and update
381452           min version
381453
381454       · PR  #25205:  (basepi)  Update  releasecandidate  docs  @   2015-07-07
381455         15:25:24 UTC
381456
381457         · a3e9486c28  Merge pull request #25205 from basepi/releasecandidate‐
381458           docs
381459
381460         · 452880d4aa Update releasecandidate docs
381461
381462       · PR #25187: (UtahDave) Doc fixes: Fix misspelling and remove  extrane‐
381463         ous double spaces @ 2015-07-07 01:07:04 UTC
381464
381465         · fbafd39a46 Merge pull request #25187 from UtahDave/fix_misspelling
381466
381467         · 65abb63003 remove some extraneous double spaces
381468
381469         · c423b62aa5 fix misspelling
381470
381471       · PR  #25182:  (cachedout)  Try  to  re-pack  long  floats  as  strs  @
381472         2015-07-07 01:06:43 UTC
381473
381474         · ddee90ce23    Merge    pull    request    #25182    from    cached‐
381475           out/pack_long_floats
381476
381477         · a192ecfd74 Try to re-pack long ints as strs
381478
381479       · ISSUE  #23822:  (sidcarter) Zip file extracted permissions are incor‐
381480         rect (refs: #25128)
381481
381482       · PR #25185:  (rallytime)  Back-port  #25128  to  2015.5  @  2015-07-07
381483         00:58:00 UTC
381484
381485         · PR  #25128:  (stanislavb)  Use  cmd_unzip  to  preserve permissions
381486           (refs: #25185)
381487
381488         · df9982b836 Merge pull request #25185 from rallytime/bp-25128
381489
381490         · 1726057c8a Use cmd_unzip to preserve permissions
381491
381492       · PR #25181:  (rallytime)  Back-port  #25102  to  2015.5  @  2015-07-07
381493         00:57:13 UTC
381494
381495         · PR #25102: (derBroBro) Update win_network.py (refs: #25181)
381496
381497         · df0bb8c831 Merge pull request #25181 from rallytime/bp-25102
381498
381499         · 64d8f14417 Update win_network.py
381500
381501         · 6789c5b8e8 Update win_network.py
381502
381503       · ISSUE  #24301: (iggy) influxdb_user and influxdb_database states need
381504         virtual functions (refs: #25059)
381505
381506       · PR #25179:  (rallytime)  Back-port  #25059  to  2015.5  @  2015-07-07
381507         00:56:44 UTC
381508
381509         · PR  #25059:  (babilen) Add virtual functions to influxdb state mod‐
381510           ules (refs: #25179)
381511
381512         · 04fdd7b0ee Merge pull request #25179 from rallytime/bp-25059
381513
381514         · 1eeefbd2ab Add virtual functions to influxdb state modules
381515
381516       · ISSUE #18919: (giner) Windows: pkg.refresh_db returns  false-positive
381517         success (refs: #25196)
381518
381519       · PR  #25196:  (twangboy)  Fixed #18919 false-positive on pkg.refresh @
381520         2015-07-07 00:24:13 UTC
381521
381522         · 58b7d0e653 Merge pull request #25196 from twangboy/pkg_refresh
381523
381524         · 12ffcd1062 Fixed #18919 false-positive on pkg.refresh
381525
381526       · PR #25180:  (rallytime)  Back-port  #25088  to  2015.5  @  2015-07-06
381527         20:33:45 UTC
381528
381529         · PR #25088: (supertom) Update (refs: #25180)
381530
381531         · 4a406aca45 Merge pull request #25180 from rallytime/bp-25088
381532
381533         · 4078c8db25 added message recommending JSON file be used if the lib‐
381534           cloud version is >= 0.17.0
381535
381536       · PR #25191: (basepi) Add extrndest  back  to  fileclient.is_cached  in
381537         2015.5 @ 2015-07-06 19:35:24 UTC
381538
381539         · PR #25117: (basepi) Fix fileclient.is_cached (refs: #25191)
381540
381541         · 01ed062ca7   Merge   pull   request  #25191  from  basepi/fix.file‐
381542           client.is_cached
381543
381544         · 5fa74f4408 Add back  in  the  extrndest  stuff  (which  is  now  in
381545           develop)
381546
381547       · ISSUE  #25016:  (martinhoefling)  salt-run  doc.execution  fails with
381548         AttributeError (refs: #25020)
381549
381550       · PR #25175:  (rallytime)  Back-port  #25020  to  2015.5  @  2015-07-06
381551         18:53:19 UTC
381552
381553         · PR #25020: (martinhoefling) Fix for issue #25016 (refs: #25175)
381554
381555         · a9404aea5c Merge pull request #25175 from rallytime/bp-25020
381556
381557         · da2e1704ea Fix for issue #25016
381558
381559       · ISSUE  #21879:  (bechtoldt) Reference pages in documentation are out‐
381560         dated again (refs: #25019, #21880)
381561
381562       · ISSUE #19262: (bechtoldt) salt.pillar.file_tree doesn't appear in the
381563         documentation (refs: #25019)
381564
381565       · PR  #25173:  (rallytime)  Partial  back-port  of  #25019 @ 2015-07-06
381566         18:52:59 UTC
381567
381568         · PR #25019: (bechtoldt) add missing module documentation  to  refer‐
381569           ences (refs: #25173)
381570
381571         · PR  #24421:  (bechtoldt)  add  missing module documentation  (refs:
381572           #25019)
381573
381574         · PR #21880:  (bechtoldt)  update  references,  fixes  #21879  (refs:
381575           #25019)
381576
381577         · PR  #20039:  (bechtoldt)  completing  some  doc  references  (refs:
381578           #25019)
381579
381580         · c70fec65b8  Merge   pull   request   #25173   from   rallytime/par‐
381581           tial-bp-25019
381582
381583         · c0c2463b64 Partial backport of #25019
381584
381585       · PR  #25171:  (rallytime)  Back-port  #25001  to  2015.5  @ 2015-07-06
381586         18:51:53 UTC
381587
381588         · PR   #25001:   (jasonkeene)   Add   docs    for    key    arg    in
381589           ssh_known_hosts.present (refs: #25171)
381590
381591         · c5ba9a90ba Merge pull request #25171 from rallytime/bp-25001
381592
381593         · a891108793 Add docs for key arg in ssh_known_hosts.present
381594
381595       · PR  #25170:  (rallytime)  Back-port  #24982  to  2015.5  @ 2015-07-06
381596         16:34:43 UTC
381597
381598         · PR #24982: (asyncsrc) ec2 network_interfaces fix (refs: #25170)
381599
381600         · 3e06602545 Merge pull request #25170 from rallytime/bp-24982
381601
381602         · 3e6eab3ae9 ec2 network_interfaces fix
381603
381604       · PR #25161: (aneeshusa)  Allow  checking  for  non-normalized  systemd
381605         units.  @ 2015-07-06 15:15:31 UTC
381606
381607         · 09602808a0  Merge  pull  request #25161 from aneeshusa/allow-check‐
381608           ing-non-normalized-systemd-service-availability
381609
381610         · b4d544fe70 Allow checking for non-normalized systemd units.
381611
381612       · PR #25151:  (jleroy)  Support  for  IPv6  addresses  scopes  in  net‐
381613         work.interfaces (refs: #25274, #25433) @ 2015-07-06 14:43:03 UTC
381614
381615         · 3599b8abab Merge pull request #25151 from jleroy/ipv6-scope-support
381616
381617         · edce034e6c Support for IPv6 addresses scopes in network.interfaces
381618
381619       · ISSUE  #24979:  (mavenAtHouzz)  [Discussion]  Support for more than 1
381620         netapi.rest_tornado server process (refs: #25149)
381621
381622       · PR #25166: (cachedout) Lint #25149 @ 2015-07-06 14:40:29 UTC
381623
381624         · PR #25149: (jacksontj) Saltnado multiprocess support (refs: #25166)
381625
381626         · 66d6365a9f Merge pull request #25166 from cachedout/lint_saltnado
381627
381628         · 2fe167edf8 Lint #25149
381629
381630       · ISSUE #24979: (mavenAtHouzz) [Discussion] Support  for  more  than  1
381631         netapi.rest_tornado server process (refs: #25149)
381632
381633       · PR #25149: (jacksontj) Saltnado multiprocess support (refs: #25166) @
381634         2015-07-06 14:38:43 UTC
381635
381636         · 2f1bad1c01 Merge pull request #25149 from jacksontj/saltnado
381637
381638         · 6aa5548e2d Enable multiprocess support in saltnado
381639
381640         · 9a1351eada Change print to logger, so we can set a  level  and  log
381641           exc_info
381642
381643       · PR   #25120:  (d--j)  add  missing  continue  for  exception  case  @
381644         2015-07-02 19:38:45 UTC
381645
381646         · a723af0f10 Merge pull request #25120 from d--j/patch-2
381647
381648         · 81d5d15dce add missing continue for error case
381649
381650       · PR  #25117:  (basepi)  Fix  fileclient.is_cached  (refs:  #25191)   @
381651         2015-07-02 19:38:26 UTC
381652
381653         · 6e2222241a   Merge   pull   request  #25117  from  basepi/fix.file‐
381654           client.is_cached
381655
381656         · 38e243fdfb Add fix from merge forward
381657
381658         · 52f35f761a Add import
381659
381660         · 23c32a7518 Backport develop version of salt.fileclient.is_cached
381661
381662       · PR #25087: (0xf10e) Fix execution module for glance -  now  based  on
381663         2015.5!  @ 2015-07-02 19:36:27 UTC
381664
381665         · c80990ba4f Merge pull request #25087 from 0xf10e/fix_glance_2015.5
381666
381667         · 7749cc081c PEP8 W601...
381668
381669         · bbda079fa5 fix pylint E302, E502, E713, E1305
381670
381671         · 3baacc72b4 use Glance API v1 for image_create
381672
381673         · c3d6134da1 making pylint marginally happier
381674
381675         · 19a20bf228  get  valid  properties for image_show() from the schema
381676           for "image"
381677
381678         · 0c6a61173a add some debugging, fix a few AttributeErrors
381679
381680         · aceca0e20d fix return of glance.image_show()
381681
381682         · a47509e7dd fix return of image_list
381683
381684         · 9f923edfab Change confusing "nt_ks" to "g_client"
381685
381686         · fa2bd1a79c bit of docs/comments in image_create()
381687
381688         · 5c34d0c494 merge 439b1e42053239b into 2015.5
381689
381690         · 7a3cf27948 update attributes for image_show output
381691
381692         · b1bec0f1a1 fix retry w/ user/pass if token fails
381693
381694         · 2f4ef6683c update attributes for image_list output
381695
381696         · eef3bc7048 use _auth() from neutron plus keystoneclient,
381697
381698       · PR #25129: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
381699         2015-07-02 17:37:40 UTC
381700
381701         · 549ee47420   Merge   pull  request  #25129  from  basepi/merge-for‐
381702           ward-2015.5
381703
381704         · 187268d879  Merge  remote-tracking  branch  'upstream/2014.7'  into
381705           merge-forward-2015.5
381706
381707         · 36d53ef59e Merge pull request #25093 from jaybocc2/2014.7
381708
381709           · c6a501ebda quick fix for issue #18447
381710
381711         · 38903a94a1 Merge pull request #25069 from puneetk/patch-1
381712
381713         · f0b4e600e6 Update Documentation to clarify version added
381714
381715         · f8dc6030e7 Pylint updates , removing whitespace
381716
381717         · 532d315dd1  [Code Review update] renamed function to is_enaled from
381718           list_enabled
381719
381720         · 20b0462289 Update schedule.py
381721
381722         · 4f1471d7fb Add a helper module function called list_enabled
381723
381724         · PR saltstack/salt#24798:  (justinta)  Revert  "adding  states/post‐
381725           gres_database unit test case." (refs: #25114)
381726
381727         · PR saltstack/salt#24329: (jayeshka) adding states/postgres_database
381728           unit test case. (refs: #`saltstack/salt#24798`_)
381729
381730       · PR #25114: (jfindlay) Revert "Revert "adding states/postgres_database
381731         unit test case.""  @ 2015-07-02 01:01:29 UTC
381732
381733         · 86f2791fdb     Merge     pull    request    #25114    from    salt‐
381734           stack/revert-24798-revert-24329-postgres_database-states-unit-test
381735
381736         · 071ee44d41 Revert  "Revert  "adding  states/postgres_database  unit
381737           test case.""
381738
381739       · PR  #24362: (jayeshka) adding states/postgres_user unit test case.  @
381740         2015-07-01 21:45:31 UTC
381741
381742         · bf8c7e7a9d  Merge   pull   request   #24362   from   jayeshka/post‐
381743           gres_user-states-unit-test
381744
381745         · fd1d834688 adding states/postgres_user unit test case.
381746
381747       · PR  #24361:  (jayeshka) adding states/postgres_schema unit test case.
381748         @ 2015-07-01 21:44:56 UTC
381749
381750         · 4195cea512  Merge   pull   request   #24361   from   jayeshka/post‐
381751           gres_schema-states-unit-test
381752
381753         · 0558b0d744 adding states/postgres_schema unit test case.
381754
381755       · PR  #24331:  (jayeshka)  adding  states/postgres_extension  unit test
381756         case.  @ 2015-07-01 21:43:58 UTC
381757
381758         · ada8fe57d4 Merge pull request #24331 from  jayeshka/postgres_exten‐
381759           sion-states-unit-test
381760
381761         · 3d465a574a adding states/postgres_extension unit test case.
381762
381763   Salt 2015.5.5 Release Notes
381764       release
381765              2015-08-20
381766
381767       Version 2015.5.5 is a bugfix release for 2015.5.0.
381768
381769   Statistics
381770       · Total Merges: 33
381771
381772       · Total Issue References: 28
381773
381774       · Total PR References: 39
381775
381776       · Contributors:   20  (TheBigBear,  arthurlogilab,  basepi,  bastiaanb,
381777         cachedout, driskell, garethgreenaway, jacobhammons, jahamn, jfindlay,
381778         rallytime,    s0undt3ch,    scottjpack,    silenius,   sixninetynine,
381779         stanislavb, terminalmage, thusoy, twangboy, vr-jack)
381780
381781   Changelog for v2015.5.4..v2015.5.5
381782       Generated at: 2018-05-27 22:04:18 UTC
381783
381784       · ISSUE #26484: (thusoy) Git state leaks HTTPS user/pw  to  log  (refs:
381785         #26486)
381786
381787       · ISSUE #26482: (thusoy) Git states doesn't allow user-only auth (refs:
381788         #26483)
381789
381790       · PR #26486: (thusoy) Git: Don't leak https user/pw to log @ 2015-08-20
381791         16:04:52 UTC
381792
381793         · PR #26483: (thusoy) Handle user-only http auth in git module (refs:
381794           #26486)
381795
381796         · 28aa9b1058 Merge  pull  request  #26486  from  thusoy/git-confiden‐
381797           tial-auth
381798
381799         · 5289165487 Git: Don't leak https user/pw to log
381800
381801       · ISSUE   #26432:  (centromere)  Documentation  incorrectly  references
381802         salt-key on the minion (refs: #26476)
381803
381804       · ISSUE #26403: (adelcast) Grains documentation incorrectly states they
381805         are static (refs: #26476)
381806
381807       · ISSUE  #26329:  (cro)  Add  note to eauth docs indicating default PAM
381808         service. (refs: #26476)
381809
381810       · ISSUE #26264: (grep4linux) state trees cannot have 'dots' in the name
381811         (refs: #26476)
381812
381813       · ISSUE #26233: (dove-young) pip install salt, then start master failed
381814         on Fedora 22 (refs: #26476)
381815
381816       · PR #26476: (jacobhammons) Minor doc bug fixes @  2015-08-19  22:52:35
381817         UTC
381818
381819         · 679ba5ee0a Merge pull request #26476 from jacobhammons/doc-bugs
381820
381821         · 499bd66378  Minor doc bug fixes Refs #26403 Refs #26432 Refs #26233
381822           Refs #26264 Refs #26329
381823
381824       · ISSUE #26366: (GreatSnoopy) The development  tree  produces  hanging,
381825         100%cpu salt-master processes (refs: #26443)
381826
381827       · ISSUE #26301: (waynew) CPU pegged out running salt-master (after run‐
381828         ning command)  (refs: #26443)
381829
381830       · ISSUE #25998: (driskell) Event subsystem discarding  required  events
381831         during --batch breaking it for slow running commands (refs: #26000)
381832
381833       · PR  #26443:  (cachedout) Fix connect issue in event init @ 2015-08-19
381834         22:50:22 UTC
381835
381836         · PR #26000: (driskell) Implement full event caching  for  subscribed
381837           tags (refs: #26443)
381838
381839         · 42b8c1b3f4 Merge pull request #26443 from cachedout/fix_event_sub
381840
381841         · 560977bc7e Fix connect issue in event init
381842
381843       · ISSUE  #26343:  (jfindlay)  batch  error when no minions match target
381844         (refs: #26445)
381845
381846       · PR #26445: (cachedout) Raise clean error when no minions targeted  in
381847         batch mode @ 2015-08-19 22:50:07 UTC
381848
381849         · d2df1a86ad Merge pull request #26445 from cachedout/issue_26343
381850
381851         · 1600f3eccd Raise clean error when no minions targeted in batch mode
381852
381853       · ISSUE #26482: (thusoy) Git states doesn't allow user-only auth (refs:
381854         #26483)
381855
381856       · PR #26483: (thusoy) Handle user-only http auth in git  module  (refs:
381857         #26486) @ 2015-08-19 22:47:41 UTC
381858
381859         · a9b28e9577 Merge pull request #26483 from thusoy/git-user-only-auth
381860
381861         · 09fc934acc Handle user-only http auth in git module
381862
381863       · PR  #26496: (jfindlay) add dateutil dependency reporting @ 2015-08-19
381864         22:46:31 UTC
381865
381866         · edc04930ae Merge pull request #26496 from jfindlay/dateutil
381867
381868         · cbe330e78b add dateutil dependency reporting
381869
381870       · PR  #26494:  (cachedout)  Remove  unecessary   debug   statements   @
381871         2015-08-19 20:46:00 UTC
381872
381873         · 4fff53b842    Merge    pull    request    #26494    from    cached‐
381874           out/remove_debug_statements
381875
381876         · d717a43dcc Remove unecessary debug statements
381877
381878       · PR #26465:  (rallytime)  Back-port  #26457  to  2015.5  @  2015-08-19
381879         16:08:16 UTC
381880
381881         · PR  #26457:  (arthurlogilab) docstring improvement for network.ping
381882           module execution (refs: #26465)
381883
381884         · f46a0dab5d Merge pull request #26465 from rallytime/bp-26457
381885
381886         · b3f638ff0f docstring improvement for network.ping module execution
381887
381888       · PR #26434: (s0undt3ch) Fix missed typo @ 2015-08-18 18:14:29 UTC
381889
381890         · c1458980f3 Merge pull request #26434 from s0undt3ch/2015.5
381891
381892         · 06dcaefcaa Fix missed typo
381893
381894       · ISSUE #26426: (alxbse) Private/public IPs are interchanged when list‐
381895         ing nova driver cloud nodes (refs: #26430)
381896
381897       · PR  #26430: (rallytime) List public and private ips under the correct
381898         label @ 2015-08-18 16:20:32 UTC
381899
381900         · 0f64be710f Merge pull request #26430 from rallytime/fix-26426
381901
381902         · 2ba97316c9 List public and private ips under the correct label
381903
381904       · PR #26431:  (rallytime)  Back-port  #26417  to  2015.5  @  2015-08-18
381905         15:41:58 UTC
381906
381907         · PR #26417: (scottjpack) Changed t1 -> t2 micro (refs: #26431)
381908
381909         · 913451a414 Merge pull request #26431 from rallytime/bp-26417
381910
381911         · 0254a2e90e Changed t1 -> t2 micro
381912
381913       · PR  #26378:  (stanislavb) Fix EC2 credentials from IAM roles for s3fs
381914         and s3 ext_pillar in 2015.5 @ 2015-08-18 14:01:53 UTC
381915
381916         · 952da7abaf Merge pull request #26378 from stanislavb/2015.5
381917
381918         · 39ce3127cd Let utils.aws query instance metadata
381919
381920       · ISSUE #26245:  (bradthurber)  salt  v2015.5.3  gitfs.py  using  newer
381921         pygit2 feature than required minimum (refs: #26420)
381922
381923       · PR #26420: (terminalmage) Only use pygit2.errors if it exists (2015.5
381924         branch) @ 2015-08-18 14:00:01 UTC
381925
381926         · 09e96dce39   Merge   pull    request    #26420    from    terminal‐
381927           mage/issue26245-2015.5
381928
381929         · 19a1149067 Only use pygit2.errors if it exists (2015.5 branch)
381930
381931       · PR  #26409:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
381932         2015-08-17 23:19:56 UTC
381933
381934         · c5eb6bbd3e  Merge  pull  request  #26409   from   basepi/merge-for‐
381935           ward-2015.5
381936
381937         · dafed10a9e  Merge  remote-tracking  branch  'upstream/2014.7'  into
381938           merge-forward-2015.5
381939
381940         · da8bca09aa Merge pull request #26242 from cro/anonldap4
381941
381942           · a0d2ab1eed Remove dead code
381943
381944         · 1ecf23773e Merge pull request #26216 from cro/anonldap3
381945
381946         · af132d7b89 Documentation update for anonymous bind issue.
381947
381948         · 2ef54b6b13 Documentation update for anonymous bind issue.
381949
381950         · 5b1836bb00 Fix issue with LDAP anonymous binds.
381951
381952       · ISSUE #26404: (ssgward) Syntax error in lvm.vg_absent  state  causing
381953         failure (refs: #26406)
381954
381955       · PR  #26406:  (jfindlay)  fix  syntax  error  in  lvm  exec  module  @
381956         2015-08-17 21:18:25 UTC
381957
381958         · 741ca6b4db Merge pull request #26406 from jfindlay/lvm
381959
381960         · 81d351ff8f fix syntax error in lvm exec module
381961
381962       · PR #26405: (TheBigBear) dependency zip files  moved  to  new  site  @
381963         2015-08-17 21:17:24 UTC
381964
381965         · a7e2d30e2a Merge pull request #26405 from TheBigBear/patch-8
381966
381967         · 8898d64918 dependency zip files moved to new site
381968
381969       · PR  #26298:  (vr-jack)  Keep  $HOME from being interpretted by Master
381970         shell @ 2015-08-17 21:15:11 UTC
381971
381972         · cf0523a12e Merge pull request #26298 from vr-jack/2015.5
381973
381974         · 1fd6fc6ce3 Keep $HOME from being interpretted by Master shell
381975
381976       · PR #26324: (s0undt3ch) Salt is now  pip  install'able  in  windows  @
381977         2015-08-17 20:41:34 UTC
381978
381979         · c0811d3302 Merge pull request #26324 from s0undt3ch/2015.5
381980
381981         · e7cb3be2a0 Document the added options
381982
381983         · 92af1c9572 Fix argument name
381984
381985         · 72d2fdb512 Add pypiwin32 >= 219 as a windows install requires.
381986
381987         · b1105fc706   Allow   mimicking   the   install  setup  command  for
381988           develop/editable installations.
381989
381990         · 26246a72ee Allow writing  Salt's  _version.py  when  installing  in
381991           develop mode.
381992
381993         · 71928f2194 Prefer HTTPS, fix url argument
381994
381995         · 7b25430cc7 Download the necessary DLLs for windows
381996
381997         · 86692a92cd  Install  PyCrypto  from  a  wheel in repo.saltstack.com
381998           under Windows
381999
382000         · 915da594c2 Skip M2Crypto in Windows.
382001
382002         · 1ea426e299 Move code to properly handle default requirements.
382003
382004         · 8fda8c0db3 M2CryptoWin{32,64} should only be installed  on  Salt  <
382005           2015.8.0
382006
382007         · 0ff2f19aee Override the develop command in cmdclass
382008
382009         · a5aa752a85 Override the develop command when WITH_SETUPTOOLS is set
382010
382011         · 4d6841c761 Install M2CryptoWin{32,64} while installing Salt
382012
382013       · ISSUE  #26161:  (bastiaanb)  salt initscripts do not set lock file in
382014         /var/lock/subsys as required on RedHat family OSes (refs: #26371)
382015
382016       · PR #26371: (bastiaanb) fix issue #26161:  on  RedHat  family  systems
382017         touch /var/lock/subsys/$SE… @ 2015-08-17 20:39:28 UTC
382018
382019         · 87151736c5     Merge    pull    request    #26371    from    basti‐
382020           aanb/fix/issue-26161-salt-initscripts-dont-set-lockfile
382021
382022         · ec8d4b0470 test wether RETVAL is 0 with -eq rather than =.
382023
382024         · a83a5de41e  fix  issue  #26161:  on  RedHat  family  systems  touch
382025           /var/lock/subsys/$SERVICE  to  ensure the daemon will be stopped on
382026           shutdown.
382027
382028       · ISSUE  #25801:  (themalkolm)  Update  docs  that  salt.states.winrepo
382029         requires roles:salt-master in grains. (refs: #26328)
382030
382031       · ISSUE  #25562:  (jefftucker) winrepo state does not run on masterless
382032         minion (refs: #26328)
382033
382034       · PR #26402: (twangboy) Removed  documentation  no  longer  required  @
382035         2015-08-17 20:35:37 UTC
382036
382037         · PR  #26328:  (twangboy) Removed salt-master role requirement (refs:
382038           #26402)
382039
382040         · 89602f56ad Merge pull request #26402 from twangboy/fix_26328
382041
382042         · ad5fa03b76 Removed documentation no longer required
382043
382044       · PR #26392:  (rallytime)  Back-port  #26376  to  2015.5  @  2015-08-17
382045         19:39:51 UTC
382046
382047         · PR #26376: (TheBigBear) minor edit spelling (refs: #26392)
382048
382049         · eb373e5904 Merge pull request #26392 from rallytime/bp-26376
382050
382051         · a013bb5b3d minor edit
382052
382053       · ISSUE  #16049: (ryan-lane) boto_elb.present state requires attributes
382054         argument (refs: #26342)
382055
382056       · PR #26342: (rallytime) Don't call boto_elb._attributes_present if  no
382057         attributes were provided @ 2015-08-17 19:19:08 UTC
382058
382059         · 8bb57d1631 Merge pull request #26342 from rallytime/fix-16049
382060
382061         · 211f6feaf5  Fix  test failures - get_attributes shouldn't be called
382062           if none are provided
382063
382064         · d8ad023e88 Don't call boto_elb._attributes_present if no attributes
382065           were provided
382066
382067       · ISSUE  #26155: (silenius) pip availability in states/pip_state (refs:
382068         #26160)
382069
382070       · PR #26389:  (rallytime)  Back-port  #26160  to  2015.5  @  2015-08-17
382071         19:09:16 UTC
382072
382073         · PR #26160: (silenius) proposed fix for #26155 (refs: #26389)
382074
382075         · 2fd1e06343 Merge pull request #26389 from rallytime/bp-26160
382076
382077         · f0bc3765d9 No logging should happen on __virtual__
382078
382079         · ca406eaf3c proposed fix for #26155
382080
382081       · ISSUE  #26266: (o-sleep) limit pw_user.getent() from returning entire
382082         corporate list (refs: #26300)
382083
382084       · PR #26300: (jfindlay) mock pwd function calls in pw_user exec  module
382085         @ 2015-08-17 18:56:41 UTC
382086
382087         · 0046c6cfed Merge pull request #26300 from jfindlay/pw_test
382088
382089         · 7e94989403 mock pwd calls in pw_user exec mod test
382090
382091         · 26f5b466f5 check for pwd on linux and BSD user exec mods
382092
382093       · ISSUE #24334: (afletch) autosign_timeout not honoured (refs: #26386)
382094
382095       · PR    #26386:    (jahamn)    Fixes    autosign_timeout    usage    in
382096         check_autosign_dir @ 2015-08-17 18:34:40 UTC
382097
382098         · 709499438b Merge pull request #26386 from jahamn/fix-autosign_time‐
382099           out
382100
382101         · b2fa2ac9d3 Fixes autosign_timeout usage in check_autosign_dir
382102
382103       · ISSUE  #25801:  (themalkolm)  Update  docs  that  salt.states.winrepo
382104         requires roles:salt-master in grains. (refs: #26328)
382105
382106       · ISSUE #25562: (jefftucker) winrepo state does not run  on  masterless
382107         minion (refs: #26328)
382108
382109       · PR  #26328:  (twangboy)  Removed  salt-master role requirement (refs:
382110         #26402) @ 2015-08-17 18:30:17 UTC
382111
382112         · 8d901d7b15 Merge pull request #26328 from twangboy/fix_25562
382113
382114         · d4ca1dccbf Removed salt-master role requirement
382115
382116       · ISSUE #26327:  (bradthurber)  mount.mounted  opts  incorrect  "forced
382117         unmount and mount because options (tcp) changed" (refs: #26362)
382118
382119       · PR  #26362:  (garethgreenaway)  Fixes  to  mount state.  @ 2015-08-17
382120         17:44:55 UTC
382121
382122         · 74558f5743   Merge   pull   request   #26362   from    garethgreen‐
382123           away/2015_5_26327_more_invisible_mount_options
382124
382125         · cf532d46dd  Some  mount options are translated to different options
382126           once a share has been mounted, eg. when specifying a  protocol  for
382127           NFS  as  either  tcp  or  udp this option is translated into either
382128           proto=tcp or proto=udp.  Change adds a lookup dictionary for  these
382129           options so that a re-mount isn't forced each time.
382130
382131       · PR #26379: (s0undt3ch) [2015.5] Backport #26353 @ 2015-08-17 17:19:29
382132         UTC
382133
382134         · PR #26353: (sixninetynine) fixed a typo in setup.py (refs: #26379)
382135
382136         · 7dbbd90c98 Merge pull request  #26379  from  s0undt3ch/issues/back‐
382137           port-26353
382138
382139         · 33ed315c85 fixed Packaing -> Packaging typo and added a couple com‐
382140           ments on the setuptools/distutils abstract methods
382141
382142       · ISSUE #26240: (0xf10e) keystone.user_get raises exception  when  user
382143         is not found (refs: #26277)
382144
382145       · PR  #26277:  (rallytime)  Handle  exception when user is not found in
382146         keystone.user_get @ 2015-08-14 19:41:59 UTC
382147
382148         · bcca1b4c5a Merge pull request #26277 from rallytime/fix-26240
382149
382150         · 0b6977335e Clean it up
382151
382152         · 5edabfd271 It's a dict - git problems...
382153
382154         · 39d3eb66f0 Log error and return error - make returns consistent.
382155
382156         · 496474d862  Handle  exception  when  user  is  not  found  in  key‐
382157           stone.get_user
382158
382159       · ISSUE #24484: (bailsman) clouds/ec2.py: create_snapshot throws excep‐
382160         tion (refs: #26326)
382161
382162       · PR #26326: (rallytime) Make ec2.create_snapshot return less unweildly
382163         and more relevant @ 2015-08-14 19:40:47 UTC
382164
382165         · 78be3a826f  Merge  pull  request #26326 from rallytime/create_snap‐
382166           shot_return
382167
382168         · c5395db851 Make ec2.create_snapshot return less unweildly and  more
382169           relevant
382170
382171       · ISSUE  #16179:  (UtahDave)  Salt  Cloud  -l debug includes the entire
382172         bootstrap script twice in its output (refs: #26306)
382173
382174       · PR #26306: (rallytime) Move VM creation details dict to  log.trace  @
382175         2015-08-14 17:39:52 UTC
382176
382177         · 44c9d3063b Merge pull request #26306 from rallytime/fix-16179
382178
382179         · 670464258f Move VM creation details dict to log.trace
382180
382181   Salt 2015.5.6 Release Notes
382182       release
382183              2015-10-13
382184
382185       Version 2015.5.6 is a bugfix release for 2015.5.0.
382186
382187   Statistics
382188       · Total Merges: 145
382189
382190       · Total Issue References: 71
382191
382192       · Total PR References: 178
382193
382194       · Contributors:   53   (Arabus,   JensRantil,   PierreR,  SaltyCharles,
382195         TheBigBear, abh, aboe76, anlutro, arthurlogilab,  aspyatkin,  basepi,
382196         benhosmer,  bersace,  cachedout,  carlpett,  damonzheng,  derphilipp,
382197         dmyerscough, dsumsky, efficks, eguven, garethgreenaway, hexedpackets,
382198         jacksontj,  jacobhammons,  jfindlay, joejulian, johanek, julianbrost,
382199         kev009,  lorengordon,  madprog,   marccardinal,   netroby,   nmadhok,
382200         plastikos,    rallytime,   serge-p,   spudfkc,   stanislavb,   styro,
382201         systembell, tankywoo, techhat,  terminalmage,  thatch45,  tjstansell,
382202         twangboy, vakulich, vtek21, whiteinge, zmalone, zyio)
382203
382204   Security Fixes
382205       CVE-2015-6941  The Windows user module and salt-cloud display passwords
382206       in log when log level is set to debug or more verbose.
382207
382208       For the Windows user module, the password  is  now  replaced  with  the
382209       string XXX-REDACTED-XXX.
382210
382211       For  salt-cloud,  debug  logging  no  longer  displays win_password and
382212       sudo_password authentication credentials.
382213
382214       CVE-2015-6918 Git state/execution modules log  HTTPS  auth  credentials
382215       when log level is set to debug or more verbose.
382216
382217       These  credentials  are now replaced with REDACTED in the debug output.
382218       Thanks to Andreas Stieger <asteiger@suse.com> for bringing this to  our
382219       attention.
382220
382221   Changelog for v2015.5.5..v2015.5.6
382222       Generated at: 2018-05-27 22:13:00 UTC
382223
382224       · PR  #27582:  (jfindlay)  add  2015.5.6  release  notes  @  2015-09-30
382225         22:33:48 UTC
382226
382227         · 304dc68f7f Merge pull request #27582 from jfindlay/2015.5
382228
382229         · 4f0d55cda6 add 2015.5.6 release notes
382230
382231       · ISSUE #27518: (srkunze) [Docs] Relationship between Mine  and  Grains
382232         (refs: #27557)
382233
382234       · PR  #27557: (jfindlay) add doc motivating mine vs grains @ 2015-09-30
382235         17:49:46 UTC
382236
382237         · 7201ce71e4 Merge pull request #27557 from jfindlay/mine_doc
382238
382239         · 3727d79bad edit mine doc for style and markup
382240
382241         · 7e037a4666 add doc motivating mine vs grains
382242
382243       · ISSUE #27478: (rominf) iptables state fails  to  save  rules   (refs:
382244         #27515)
382245
382246       · PR  #27515:  (jfindlay)  save  iptables  rules  on  SuSE @ 2015-09-30
382247         16:09:42 UTC
382248
382249         · 59c3d5f93e Merge pull request #27515 from jfindlay/suse_fire
382250
382251         · 4460ad2785 save iptables rules on SuSE
382252
382253       · ISSUE #27460: (llevar) Orchestrate runner not resolving reference  to
382254         a built in state (refs: #27509)
382255
382256       · PR  #27509:  (jfindlay) tell the user why the gluster module does not
382257         work @ 2015-09-30 15:49:16 UTC
382258
382259         · 9b26357b19 Merge pull request #27509 from jfindlay/gluster_reason
382260
382261         · 1ccda538d2 tell the user why the gluster module does not work
382262
382263       · ISSUE #27372: (GregMeno) pip.installed state fails when  env_vars  is
382264         not a dict (refs: #27379)
382265
382266       · PR #27379: (jfindlay) document and check dict type for pip env_vars @
382267         2015-09-30 02:56:52 UTC
382268
382269         · 989733ea86 Merge pull request #27379 from jfindlay/pip_vars
382270
382271         · aee51ffdef document and check dict type for pip env_vars
382272
382273       · PR #27516: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
382274         2015-09-29 17:53:33 UTC
382275
382276         · 6d773f66c3   Merge   pull  request  #27516  from  basepi/merge-for‐
382277           ward-2015.5
382278
382279         · a08951f0fa  Merge  remote-tracking  branch  'upstream/2014.7'  into
382280           merge-forward-2015.5
382281
382282         · 5262f01325 Merge pull request #27335 from rallytime/cloud-logging-7
382283
382284           · adeb1dcad4 Pylint Fix
382285
382286           · 588c13783c Salt-cloud logging clean up for windows functions
382287
382288           · 9b6000135c [2014.7] Fixup salt-cloud logging
382289
382290       · ISSUE  #27447: (junster1) Fix mysql table size for salt_events (refs:
382291         #27472)
382292
382293       · PR #27472: (cachedout) Change recommeded schema  for  data  field  in
382294         mysql event table @ 2015-09-29 15:49:37 UTC
382295
382296         · 68d784c3dd Merge pull request #27472 from cachedout/fix_27447
382297
382298         · 5e745ad6da  Change  recommeded schema for data field in mysql event
382299           table
382300
382301       · PR #27468: (cachedout) Fix 27351 @ 2015-09-29 15:35:29 UTC
382302
382303         · PR #27351: (SaltyCharles) fix sysctl truncating  newline  on  os  x
382304           (refs: #27468)
382305
382306         · ee6e0ed057 Merge pull request #27468 from cachedout/fix_27351
382307
382308         · 0bc37c0d41 Fix test
382309
382310         · f9a19720de fix sysctl truncating newline on os x
382311
382312       · ISSUE  #27438:  (aboe76)  can't  set  system  locale on OpenSuse SUse
382313         (refs: #27479)
382314
382315       · PR #27479:  (aboe76)  fix  locale  on  opensuse  and  suse  #27438  @
382316         2015-09-29 15:34:48 UTC
382317
382318         · a214c7f84e Merge pull request #27479 from aboe76/fix_locale_suse
382319
382320         · a8f2dad1be fix locale on opensuse and suse #27438
382321
382322       · ISSUE  #17103:  (arthurlogilab)  salt  is  looking  for outputters in
382323         /var/cache/salt/minion/extmods/output    not     /var/cache/salt/min‐
382324         ion/extmods/outputputters (refs: #27483)
382325
382326       · PR  #27483: (rallytime) Outputters should sync to output, not output‐
382327         ters, on the minion.  @ 2015-09-29 15:33:08 UTC
382328
382329         · 931f593b51 Merge pull request #27483 from rallytime/fix-17103
382330
382331         · 441241eb90 Change sync_outputters to sync_output  for  consistency,
382332           but alias sync_outputters
382333
382334         · 105528720b Outputters should sync to output, not outputters, on the
382335           minion.
382336
382337       · PR #27484: (rallytime)  Back-port  #27434  and  #27470  to  2015.5  @
382338         2015-09-29 15:32:03 UTC
382339
382340         · PR #27470: (cachedout) Minor doc fixup. (refs: #27484)
382341
382342         · PR #27434: (netroby) Doc: copy key to server via ssh-copy-id (refs:
382343           #27484, #27470)
382344
382345         · 9c2c028953    Merge    pull    request    #27484    from     rally‐
382346           time/bp-27434-and-27470
382347
382348         · 5de2ee35ab Minor doc fixup.
382349
382350         · af656c7e87 Doc: copy key to server via ssh-copy-id
382351
382352       · ISSUE  #27433:  (TheBigBear)  winrepo  - drops "trailing zeroes" from
382353         version numbers on un-install? (refs: #27469)
382354
382355       · PR #27469: (twangboy) Added  quotes  to  version  numbers  example  @
382356         2015-09-28 21:54:43 UTC
382357
382358         · 927874d316 Merge pull request #27469 from twangboy/fix_27433
382359
382360         · a996ea46e2 Added quotes to version numbers example
382361
382362       · ISSUE  #27342:  (ariscn) File.managed silent fail for contents_pillar
382363         (refs: #27375, #27467)
382364
382365       · PR #27467: (cachedout)  file.managed:  check  contents_{pillar|grain}
382366         result @ 2015-09-28 20:22:16 UTC
382367
382368         · PR  #27375:  (jfindlay) file.managed: check contents_{pillar|grain}
382369           result (refs: #27467)
382370
382371         · 382a53403f Merge pull request #27467 from cachedout/lint_27375
382372
382373         · 4e54a98f5e Lint #27375
382374
382375         · 278ade52d2 file.managed: check contents_{pillar|grain} result
382376
382377       · ISSUE #9856: (jeremyBass) for  grant  in  grants:  TypeError:  'bool'
382378         object is not iterable (refs: #27419)
382379
382380       · PR  #27419:  (rallytime) Amend error log to include multiple tips for
382381         troubleshooting.  @ 2015-09-28 17:53:19 UTC
382382
382383         · ed6207a438 Merge pull request #27419 from rallytime/fix-9856
382384
382385         · 551396564a Ammend error log to  include  multiple  tips  for  trou‐
382386           bleshooting.
382387
382388       · ISSUE #16753: (johtso) Duplicate selector in top file gives unhelpful
382389         traceback (refs: #27426)
382390
382391       · PR #27426: (rallytime) Don't stacktrace if there are  conflicting  id
382392         errors in highstate @ 2015-09-28 14:52:51 UTC
382393
382394         · 73fa89edf7 Merge pull request #27426 from rallytime/fix-16753
382395
382396         · f6cbd81e66  Don't  stacktrace if there are conflicting id errors in
382397           highstate
382398
382399       · ISSUE #27406: (s-iraheta) salt-cloud error with Softlayer (Bare Metal
382400         Instance):   TypeError:  'bool'  object  is  not  iterable  and  with
382401         --list-locations:   Failed   to   get   the    output    of    'soft‐
382402         layer_hw.avail_locations()': 142776 (refs: #27408)
382403
382404       · PR  #27408:  (rallytime)  Fix  avail_locations function for the soft‐
382405         layer_hw driver in 2015.5 @ 2015-09-25 23:34:50 UTC
382406
382407         · 5dd1b70475    Merge    pull    request    #27408    from     rally‐
382408           time/fix-27406-for-2015.5
382409
382410         · 39a4ae5a6c  Remove  hdd: 19 refs from SL docs - no longer available
382411           from SoftLayer.
382412
382413         · de2f9234d3 Use correct default for bandwith
382414
382415         · 42d8127f79 Don't set the optional_products default  to  a  boolean,
382416           and then try to loop.
382417
382418         · 9d8a3d8303 Fix avail_locations function for the softlayer_hw driver
382419           in 2015.5
382420
382421       · ISSUE #27389: (ryan-lane) Docs layout issue (refs: #27410)
382422
382423       · PR #27410: (jacobhammons) Fix css layout  Refs  #27389  @  2015-09-25
382424         22:38:48 UTC
382425
382426         · 8f9a3cfbaf Merge pull request #27410 from jacobhammons/doc-updates
382427
382428         · a9fdecada1  Fix css layout Refs #27389 sample typo fix in linux_acl
382429           additional module folders listed in dynamic-modules
382430
382431       · PR #27336: (rallytime) [2015.5] Fixup salt-cloud logging @ 2015-09-24
382432         15:02:52 UTC
382433
382434         · 3746085587  Merge  pull  request  #27336  from rallytime/cloud-log‐
382435           ging-five
382436
382437         · 7956b36076 [2015.5] Fixup salt-cloud logging
382438
382439       · ISSUE #27356: (lorengordon) file.replace fails if repl contains  spe‐
382440         cial regex characters and append_if_not_found=True (refs: #27358)
382441
382442       · PR #27358: (lorengordon) Escape search replacement text, fixes #27356
382443         @ 2015-09-24 13:52:46 UTC
382444
382445         · 5a3be10a3e   Merge   pull    request    #27358    from    lorengor‐
382446           don/escape-search-replacement-text
382447
382448         · 88bb1fbfff Escape search replacement text, fixes #27356
382449
382450       · ISSUE #19236: (bramhg) salt-cloud : Unable to add SSD disk and unable
382451         to auto-delete disk on instance termination on GCE (refs: #27345)
382452
382453       · PR #27345: (rallytime) Allow use of rst header  links  by  separating
382454         options out from yaml example @ 2015-09-23 19:48:56 UTC
382455
382456         · 6759f79d6d Merge pull request #27345 from rallytime/docs-for-19236
382457
382458         · 1d3925bbfb Added version tag for ex_disk_type option
382459
382460         · f23369300c  Allow use of rst header links by separating options out
382461           from yaml example
382462
382463       · PR #26903: (bersace) Review defaults.get @ 2015-09-23 14:52:20 UTC
382464
382465         · c2efb291e2 Merge pull request #26903 from bersace/fix-defaults-mod‐
382466           ules
382467
382468         · 474d7afc95 fixup! Review defaults loading
382469
382470         · 36141d226e fixup! Review defaults loading
382471
382472         · 62b6495358 fixup! Review defaults loading
382473
382474         · cf0624e8b8 fixup! Review defaults loading
382475
382476         · 2c58bab977 fixup! Review defaults loading
382477
382478         · 82c5b1d8fd Review defaults loading
382479
382480       · ISSUE  #27316:  (efficks)  Extracted  state with zip format failed on
382481         Windows (refs: #27317)
382482
382483       · PR #27317: (efficks) State unzip should use unzip command instead  of
382484         unzip_cmd.  @ 2015-09-23 14:41:36 UTC
382485
382486         · a372466922 Merge pull request #27317 from efficks/fix27316
382487
382488         · bf216c101e   State  unzip  should  use  unzip  command  instead  of
382489           unzip_cmd. Issue #27316
382490
382491       · ISSUE #15514: (flyaruu) Calling a boto_route53.present state fails if
382492         the record is already there (refs: #27309)
382493
382494       · PR  #27309:  (rallytime)  Change  a  value  list to a comma-separated
382495         string in boto_route53.present @ 2015-09-23 14:30:50 UTC
382496
382497         · bd3771e80f Merge pull request #27309 from rallytime/fix-15514
382498
382499         · 9383d91ff8 Change a value  list  to  a  comma-separated  string  in
382500           boto_route53.present
382501
382502       · ISSUE  #27297:  (JensRantil)  file.replace  documentation improvement
382503         (refs: #27311)
382504
382505       · PR #27311: (jfindlay) discuss replacement occurrences in file  doc  @
382506         2015-09-22 22:23:10 UTC
382507
382508         · b5fe944875 Merge pull request #27311 from jfindlay/maxoc
382509
382510         · 8ec2e921bd discuss replacement occurrences in file doc
382511
382512       · PR  #27310:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
382513         2015-09-22 21:08:41 UTC
382514
382515         · ca4597b93a  Merge  pull  request  #27310   from   basepi/merge-for‐
382516           ward-2015.5
382517
382518         · 7b75e4aed1  Merge  remote-tracking  branch  'upstream/2014.7'  into
382519           merge-forward-2015.5
382520
382521         · e90412d3b8 Merge pull request #27252 from jfindlay/version.2014.7
382522
382523           · 3d28307a00 2014.7 -> 2014.7.0
382524
382525       · ISSUE #27307: (terminalmage) Regression in yumpkg's refresh_db  func‐
382526         tion (refs: #27308)
382527
382528       · PR  #27308:  (terminalmage)  Fix refresh_db regression in yumpkg.py @
382529         2015-09-22 21:07:28 UTC
382530
382531         · 982c21c79f   Merge   pull    request    #27308    from    terminal‐
382532           mage/fix-refresh_db-regression
382533
382534         · 77686fb7ce Fix refresh_db regression in yumpkg.py
382535
382536       · PR  #27286: (terminalmage) Add a configurable timer for minion return
382537         retries @ 2015-09-22 16:35:07 UTC
382538
382539         · 775a4f9ad0   Merge   pull    request    #27286    from    terminal‐
382540           mage/return_retry_timer
382541
382542         · 540a7dfcf1 Add default values for new minion config options
382543
382544         · 453b883820 Add a configurable timer for minion return retries
382545
382546       · PR  #27278:  (rallytime)  Back-port  #27256  to  2015.5  @ 2015-09-21
382547         19:27:51 UTC
382548
382549         · PR  #27256:  (julianbrost)  Fix   error   handling   in   salt.mod‐
382550           ules.file.statvfs (refs: #27278)
382551
382552         · 02482c0572 Merge pull request #27278 from rallytime/bp-27256
382553
382554         · 1beddf6311 Fix error handling in salt.modules.file.statvfs
382555
382556       · PR  #27277:  (rallytime)  Back-port  #27230  to  2015.5  @ 2015-09-21
382557         19:06:14 UTC
382558
382559         · PR #27230: (benhosmer) Fix typo in AWS doc config (refs: #27277)
382560
382561         · e36c019c37 Merge pull request #27277 from rallytime/bp-27230
382562
382563         · 3ce77db1bc Fix typo in AWS doc config
382564
382565       · PR #27253: (jfindlay) 2015.5 -> 2015.5.0 @ 2015-09-18 23:44:43 UTC
382566
382567         · b22286476e Merge pull request #27253 from jfindlay/version.2015.5
382568
382569         · 967e3bb72a 2015.5 -> 2015.5.0
382570
382571       · PR #27244: (garethgreenaway) Exception in cloud.ec2.create_snapshot @
382572         2015-09-18 21:41:11 UTC
382573
382574         · 51a0193b54  Merge pull request #27244 from garethgreenaway/ec2_cre‐
382575           ate_snapshot_no_return_data_exception
382576
382577         · 820fd576b9 Fixing the cause when the r_data from aws.query is empty
382578           and an exception happens when looking for the snapshotID
382579
382580       · ISSUE  #27215:  (wfhu)  cron.file  override  the crontab file even if
382581         there's no change (refs: #27231)
382582
382583       · PR #27231: (jfindlay) only  write  cron  file  if  it  is  changed  @
382584         2015-09-18 18:23:10 UTC
382585
382586         · 26540f15bc Merge pull request #27231 from jfindlay/cronchange
382587
382588         · 1e335297e2 only write cron file if it is changed
382589
382590       · PR  #27233:  (basepi)  [2015.5] Add stub release notes for 2015.5.6 @
382591         2015-09-18 16:55:40 UTC
382592
382593         · 579f375f74      Merge      pull      request      #27233       from
382594           basepi/release.notes.stubs
382595
382596         · f4563ea9b7 Add stub release notes for 2015.5.6
382597
382598       · ISSUE  #25423:  (tweenk)  Impossible to define a file.managed for use
382599         only as a template in "use" requisites (refs: #27208)
382600
382601       · PR #27208: (basepi) [2015.5] Add test.nop state @ 2015-09-18 16:50:17
382602         UTC
382603
382604         · f5a322e3f2 Merge pull request #27208 from basepi/nop.state.25423
382605
382606         · 9414b05b2c Add test.nop example
382607
382608         · a84ce67b8f Add test.nop state
382609
382610       · ISSUE #27187: (SeverinLeonhardt) ssh_known_hosts.present hashes other
382611         entries even with hash_hostname: false (refs: #27201)
382612
382613       · PR #27201: (jfindlay)  rename  hash_hostname  to  hash_known_hosts  @
382614         2015-09-18 15:45:03 UTC
382615
382616         · 59a07cae68 Merge pull request #27201 from jfindlay/sshhash
382617
382618         · 1b620b77cd rename hash_host arg to hash_known_hosts
382619
382620         · 12f14ae37c update hash_known_hosts docs in ssh module
382621
382622       · PR  #27214:  (jacksontj)  Correctly  support https, port 443 is not a
382623         requirement @ 2015-09-18 15:43:05 UTC
382624
382625         · 560545c4c5 Merge pull request #27214 from jacksontj/2015.5
382626
382627         · e7526bdb44 Correctly support https, port 443 is not a requirement
382628
382629       · ISSUE #18582: (mainframe) Allow merging file_roots  and  pillar_roots
382630         from different config files included from master.d (refs: #27150)
382631
382632       · PR  #27172:  (rallytime)  Back-port  #27150  to  2015.5  @ 2015-09-17
382633         17:25:51 UTC
382634
382635         · PR #27150: (cachedout) Merge config values  from  master.d/minion.d
382636           conf files (refs: #27172)
382637
382638         · 7a34c7742d Merge pull request #27172 from rallytime/bp-27150
382639
382640         · 0d7ee4b209 Merge config values from master.d/minion.d conf files
382641
382642       · PR  #27194:  (rallytime)  Back-port  #27180  to  2015.5  @ 2015-09-17
382643         16:17:24 UTC
382644
382645         · PR #27180: (tankywoo) file copy ret result True  if  no  change  in
382646           test mode (refs: #27194)
382647
382648         · e956d88f5f Merge pull request #27194 from rallytime/bp-27180
382649
382650         · 327d343fef file copy ret result True if no change in test mode
382651
382652       · PR  #27176:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
382653         2015-09-17 15:00:40 UTC
382654
382655         · a02d043309  Merge  pull  request  #27176   from   basepi/merge-for‐
382656           ward-2015.5
382657
382658         · 66f4641be3  Merge  remote-tracking  branch  'upstream/2014.7'  into
382659           merge-forward-2015.5
382660
382661         · c186e51764   Merge   pull    request    #27117    from    jacobham‐
382662           mons/release-docs-2014.7
382663
382664           · b69e11e0a4 made 2014.7 an archived release minor doc site updates
382665
382666         · 69d758ee2b  Merge  pull request #27114 from cachedout/warn_on_inse‐
382667           cure_log
382668
382669           · 507fb04683 Issue warning that some log levels may contain  sensi‐
382670             tive data
382671
382672         · aa71bae8aa   Merge  pull  request  #27075  from  twangboy/fix_pass‐
382673           word_2014.7
382674
382675           · c0689e3215 Replaced password with redacted when displayed
382676
382677       · PR #27170: (rallytime) Update Getting Started with GCE  docs  to  use
382678         cloud.profiles or cloud.profiles.d examples @ 2015-09-16 22:23:51 UTC
382679
382680         · de2027426e Merge pull request #27170 from rallytime/gce-docs
382681
382682         · a07db909bd  Update  Getting Started with GCE docs to use cloud.pro‐
382683           files or cloud.profiles.d examples
382684
382685       · PR #27167:  (rallytime)  Back-port  #27148  to  2015.5  @  2015-09-16
382686         19:56:01 UTC
382687
382688         · PR  #27148: (hexedpackets) Pass file pointers to the serialize load
382689           functions. (refs: #27167)
382690
382691         · 28cfdfd067 Merge pull request #27167 from rallytime/bp-27148
382692
382693         · d12be52355 Pass filepointers to the serialize load functions.
382694
382695       · ISSUE #27157: (alxbse) salt.util.smb loads even when impacket library
382696         is missing (refs: #27168)
382697
382698       · PR  #27168:  (techhat)  Add  further  gating  of  impacket  library @
382699         2015-09-16 18:55:56 UTC
382700
382701         · 4495f4f4d0 Merge pull request #27168 from techhat/gateimpacket
382702
382703         · cc448bfdc1 Add further gating of impacket library
382704
382705       · ISSUE #27100: (hexedpackets)  salt-cloud  --full-query  does  nothing
382706         when no VM profiles are configured (refs: #27166)
382707
382708       · PR  #27166: (rallytime) Allow a full-query for EC2, even if there are
382709         no profiles defined @ 2015-09-16 17:41:40 UTC
382710
382711         · 3e5ef0dc30 Merge pull request #27166 from rallytime/fix-27100
382712
382713         · 50fb3a489a Allow a full-query for EC2, even if there  are  no  pro‐
382714           files defined
382715
382716       · PR  #27162:  (rallytime) Be explicit in using "SoftLayer" for service
382717         queries in SoftLayer drivers @ 2015-09-16 16:43:26 UTC
382718
382719         · f1c9de7ed9 Merge pull request #27162 from  rallytime/softlayer-ser‐
382720           vice
382721
382722         · d281068c70  Be explicit in using "SoftLayer" for service queries in
382723           SoftLayer drivers
382724
382725       · ISSUE #27133: (deniswal) win_path.add causes the value data to be set
382726         as the value and vice versa (refs: #27149)
382727
382728       · PR #27149: (twangboy) Fixed problem with add/remove path @ 2015-09-16
382729         15:01:48 UTC
382730
382731         · 59e9dfd8de Merge pull request #27149 from twangboy/fix_27133
382732
382733         · 7992b7e20a Fixed some tests...  hopefully...
382734
382735         · d4c8e30f5d Fixed problem with add/remove path
382736
382737       · ISSUE #11669: (jcockhren) salt.cloud is out of date  for  new  google
382738         compute engine dashboard and API (refs: #27147)
382739
382740       · PR  #27147:  (rallytime) Enforce bounds in the GCE Regex @ 2015-09-15
382741         21:51:55 UTC
382742
382743         · 097fcd1017 Merge pull request #27147 from rallytime/fix-11669
382744
382745         · 55312ea03f Provide a more friendly error message.
382746
382747         · 36555856c7 Enforce bounds in the GCE Regex
382748
382749       · PR #27128: (eguven) don't show diff for test run if show_diff=False @
382750         2015-09-15 14:11:55 UTC
382751
382752         · f5c3f157dd     Merge     pull     request    #27128    from    egu‐
382753           ven/2015.5-fix-test-diff
382754
382755         · ec2d68a84a don't show diff for test run if show_diff=False
382756
382757       · PR #27116: (jacobhammons) Update latest to 2015.8, 2015.5 is now pre‐
382758         vious @ 2015-09-15 07:34:28 UTC
382759
382760         · 088b1dbb3e    Merge    pull    request    #27116   from   jacobham‐
382761           mons/release-docs-2015.5
382762
382763         · 6e323b6dd3 Update latest to 2015.8, 2015.5 is now previous Assorted
382764           style and minor updates
382765
382766       · ISSUE  #25352:  (m03)  reg.absent  reporting incorrect results (refs:
382767         #27019)
382768
382769       · PR #27033: (jfindlay) Merge #27019 @ 2015-09-15 07:32:17 UTC
382770
382771         · PR #27019: (twangboy) Fixed reg state module for None,  0,  and  ''
382772           values (refs: #27033)
382773
382774         · 440855b182 Merge pull request #27033 from jfindlay/n0ne
382775
382776         · 3334b9d548 fix comment and unit test for reg state
382777
382778         · 391a09d5ac update reg state unit tests
382779
382780         · ebbf2b05ca Fixed reg state module for None, 0, and '' values
382781
382782       · ISSUE   #17088:   (umireon)   state.dockerio.run:  docked_onlyif  and
382783         docked_unless do not work (refs: #26942)
382784
382785       · PR #26942: (Arabus) Fix docker.run @ 2015-09-14 18:10:54 UTC
382786
382787         · 35fc74132a Merge pull request #26942 from Arabus/fix-docker.run
382788
382789         · e61e1de1f5 Fixes value typo for dockerio.loaded state
382790
382791         · 39fa11b696 further linting
382792
382793         · 4aec37397c Further Linting to quiet the linter
382794
382795         · 7eff8ad070 Code Linting and cmd call fix
382796
382797         · a51676e0eb Fixes  #17088 olyif and unless should run on the host
382798
382799         · d0c6128b8f Fixes #17088 retcode now returns True or False based  on
382800           return status
382801
382802         · 8b2e7cc4f5 Syntax clarification
382803
382804       · PR #26977: (abh) Add support for PEERNTP network interface configura‐
382805         tion @ 2015-09-14 17:59:00 UTC
382806
382807         · 59f2a0c7ae Merge pull request #26977 from abh/2015.5-ntppeer
382808
382809         · df3d6e817f Add support for PEERNTP network interface  configuration
382810           on RH derived systems
382811
382812       · ISSUE  #27021:  (SEJeff)  webutil.user_exists  state does not respect
382813         test=true (refs: #27023)
382814
382815       · ISSUE #21533: (aspyatkin) Add option specifying user to run  htpasswd
382816         module functions (refs: #21649)
382817
382818       · PR  #27023:  (jfindlay)  add  test  support  for htpasswd state mod @
382819         2015-09-14 17:48:00 UTC
382820
382821         · PR #21649: (aspyatkin) Make enhancements to htpasswd modules (refs:
382822           #27023)
382823
382824         · e05b1f3951 Merge pull request #27023 from jfindlay/htwebutilpass
382825
382826         · 9f3d7890a6 add test support for htpasswd state mod
382827
382828       · PR  #27074: (twangboy) Replaced password with redacted when displayed
382829         @ 2015-09-14 16:27:26 UTC
382830
382831         · 9f999c0027  Merge  pull  request  #27074  from   twangboy/fix_pass‐
382832           word_2015.5
382833
382834         · fdd3537456 Replaced password with redacted when displayed
382835
382836       · PR  #27073:  (rallytime) Remove "use develop branch" warning from LXC
382837         tutorial @ 2015-09-11 23:51:06 UTC
382838
382839         · 46b44f85ed    Merge    pull    request    #27073    from     rally‐
382840           time/remove-lxc-warning
382841
382842         · 76c056d02b  Remove  "use  develop branch" warning from LXC tutorial
382843           now that 2015.5.0 has been released
382844
382845       · PR #27054:  (rallytime)  Back-port  #27029  to  2015.5  @  2015-09-11
382846         22:29:45 UTC
382847
382848         · PR  #27029:  (spudfkc)  Removed  check  for  no package name (refs:
382849           #27054)
382850
382851         · caab21d99c Merge pull request #27054 from rallytime/bp-27029
382852
382853         · 0be393be22 Removed check for no package name
382854
382855       · PR #27053:  (rallytime)  Back-port  #26992  to  2015.5  @  2015-09-11
382856         22:29:30 UTC
382857
382858         · PR  #26992:  (plastikos)  Summary requires full return information.
382859           (refs: #27053)
382860
382861         · 0227e1cb57 Merge pull request #27053 from rallytime/bp-26992
382862
382863         · 83798aff3c Do not use full return for documentation.
382864
382865         · d9d5bbaa68 Summary requires full return information.
382866
382867       · PR #27052:  (rallytime)  Back-port  #26930  to  2015.5  @  2015-09-11
382868         22:28:11 UTC
382869
382870         · PR  #26930:  (madprog)  aptpkg.mod_repo: Raise when key_url doesn't
382871           exist (refs: #27052)
382872
382873         · b72a0ef86d Merge pull request #27052 from rallytime/bp-26930
382874
382875         · d9787aa318 aptpkg.mod_repo: Raise when key_url doesn't exist
382876
382877       · PR #27049: (johanek) Run repoquery less @ 2015-09-11 22:26:12 UTC
382878
382879         · 8b554dd16f Merge pull request #27049 from johanek/repoquery-dedupe
382880
382881         · c113916a23 When running repoquery to check for  available  versions
382882           of packages, run once for all packages rather than once per package
382883
382884       · PR   #27070:   (stanislavb)  Deprecate  salt.utils.iam  in  Carbon  @
382885         2015-09-11 22:01:57 UTC
382886
382887         · PR #26561: (stanislavb) Leave salt.utils.s3  location  fallback  to
382888           salt.utils.aws (refs: #27070)
382889
382890         · PR #26446: (stanislavb) Fetch AWS region from EC2 instance metadata
382891           (refs: #26561)
382892
382893         · PR #26378: (stanislavb) Fix EC2 credentials from IAM roles for s3fs
382894           and s3 ext_pillar in 2015.5 (refs: #26446)
382895
382896         · cc2cbf9869 Merge pull request #27070 from stanislavb/2015.5
382897
382898         · 1e6e5ddc9c Deprecate salt.utils.iam in Carbon
382899
382900       · PR #27030: (jfindlay) Backport #26938 @ 2015-09-11 15:10:46 UTC
382901
382902         · PR #27004: (vtek21) Fix 'dict' object has no attribute split (refs:
382903           #27024, #27030)
382904
382905         · PR  #26938:  (derphilipp)  Fixes  win_path  module,  migrates  from
382906           reg.(set|get)_key to reg.(set|get)_value (refs: #27030)
382907
382908         · e23caa8ccf Merge pull request #27030 from jfindlay/winreg
382909
382910         · 120fbe78e0 remove trailing line in win_path exec module
382911
382912         · b36a7107b2 update win_path exec module unit tests
382913
382914         · a2dc6f2dd7  Fixes  win_path module, migrates from reg.(set|get)_key
382915           to reg.(set|get)_value
382916
382917       · ISSUE #25581: (b18) Salt 2015.5.2 -  Could  not  deserialize  msgpack
382918         message error. (refs: #27025)
382919
382920       · PR  #27025:  (cachedout) Better try and error handling for prep_jid @
382921         2015-09-11 07:40:10 UTC
382922
382923         · 843c28b435 Merge pull request #27025 from cachedout/issue_25581
382924
382925         · ecc09d9b93 Lint
382926
382927         · bfcaab9ef4 Better try and error handling for prep_jid
382928
382929       · PR #27035: (terminalmage) useradd.py: Use contextmanager  to  prevent
382930         leaked filehandles @ 2015-09-11 07:39:41 UTC
382931
382932         · b9baa0b39a Merge pull request #27035 from terminalmage/useradd-con‐
382933           textmanager
382934
382935         · e430e97f6c Update user states to reflect  changes  to  login  class
382936           handling
382937
382938         · f24b979c7c  useradd.py:  Use contextmanager to prevent leaked file‐
382939           handles
382940
382941       · PR #27034: (rallytime) Update softlayer docs for where to find apikey
382942         @ 2015-09-10 22:29:56 UTC
382943
382944         · 1cdfdf7a92   Merge   pull   request   #27034  from  rallytime/soft‐
382945           layer-doc-fix
382946
382947         · cb641f8145 Update softlayer docs for where to find apikey
382948
382949       · PR #27024:  (rallytime)  Back-port  #27004  to  2015.5  @  2015-09-10
382950         21:14:21 UTC
382951
382952         · PR #27004: (vtek21) Fix 'dict' object has no attribute split (refs:
382953           #27024, #27030)
382954
382955         · 9e06d3f01a Merge pull request #27024 from rallytime/bp-27004
382956
382957         · 54d6fcf4c7 Fix 'dict' object has no attribute split
382958
382959         · bb29d73c71 Fix 'dict' object has no attribute split
382960
382961         · 5f1a9c46aa Fix 'dict' object has no attribute split
382962
382963         · 2bfdd9724e Fix 'dict' object has no attribute split
382964
382965       · PR #27027:  (rallytime)  Back-port  #27013  to  2015.5  @  2015-09-10
382966         21:13:52 UTC
382967
382968         · PR #27013: (nmadhok) Remove unwanted debug statement (refs: #27027)
382969
382970         · 9ab2cae1e4 Merge pull request #27027 from rallytime/bp-27013
382971
382972         · 19a6e9cb1c Remove unwanted debug statement.
382973
382974       · PR  #27026:  (rallytime)  Back-port  #27011  to  2015.5  @ 2015-09-10
382975         21:13:45 UTC
382976
382977         · PR #27011: (whiteinge) Move giant eventlisten.sh example out of the
382978           state.event docstring (refs: #27026)
382979
382980         · 2c8beb238f Merge pull request #27026 from rallytime/bp-27011
382981
382982         · f8518d545f Move giant eventlisten.sh example out of the state.event
382983           docstring
382984
382985       · ISSUE #20522: (eliasp) modules.win_pkg.install() blindly trusts file‐
382986         client.get_url()/unhandled exceptions (refs: #26972)
382987
382988       · PR   #26972:  (twangboy)  Catch  the  404  error  from  fileclient  @
382989         2015-09-10 20:53:12 UTC
382990
382991         · e8cdcc62f7 Merge pull request #26972 from twangboy/fix_20522
382992
382993         · 0110786fa9 Catch the 404 error from fileclient
382994
382995       · PR #26951: (terminalmage) Fix timezone module for CentOS @ 2015-09-10
382996         20:46:07 UTC
382997
382998         · fbc95f4685 Merge pull request #26951 from terminalmage/fix-timezone
382999
383000         · 30a4915762 Update tests to reflect changes to timezone module
383001
383002         · b6f926919f Fix timezone module for CentOS
383003
383004       · PR  #26875:  (marccardinal)  LXC  gateway provisioned only when IP is
383005         provided @ 2015-09-10 19:31:32 UTC
383006
383007         · f2ad3c333c Merge pull request #26875 from marccardinal/patch-2
383008
383009         · 36d5a62262 LXC gateway provisioned only when IP is provided
383010
383011       · ISSUE #26730: (styro) __opts__['user'] on  Windows  minion  incorrect
383012         (eg  for  file.symlink)  (refs:  #26997, #`saltstack/salt`#26899`_`_,
383013         #26899)
383014
383015       · PR #26997: (twangboy) Fixed symlinks  for  windows  (don't  use  user
383016         root) @ 2015-09-10 18:54:50 UTC
383017
383018         · PR  #26899: (twangboy) file.symlink gets windows account instead of
383019           root (refs: #26997)
383020
383021         · 7b2e7b1b37 Merge pull request #26997 from twangboy/fix_symlink_win‐
383022           dows
383023
383024         · 89cc02d4e0 Added versionadded
383025
383026         · 835177b0c8 Fixed symlinks for windows (don't use user root)
383027
383028       · PR  #27001: (twangboy) Added CLI Example for reg.delete_key_recursive
383029         @ 2015-09-10 17:19:43 UTC
383030
383031         · 5389a85894 Merge pull request #27001 from twangboy/fix_reg_docs
383032
383033         · 2980bbda17 Minor clarification
383034
383035         · 4684b2ddd1 Added CLI example for reg.delete_key_recursive
383036
383037       · PR #26996: (jacobhammons) Beacon doc updates  @  2015-09-10  16:47:49
383038         UTC
383039
383040         · 37814f5dff Merge pull request #26996 from jacobhammons/beacon-doc
383041
383042         · e475ea688e Fixed typo
383043
383044         · 2401533d9e New content added to beacon docs.
383045
383046       · ISSUE #26867: (joejulian) lvm pv's can show as not belonging to their
383047         vg if symlink is used (refs: #26868)
383048
383049       · PR #26868: (joejulian) Use  the  actual  device  name  when  checking
383050         vgdisplay @ 2015-09-10 16:08:16 UTC
383051
383052         · 4ba7eed711     Merge    pull    request    #26868    from    joeju‐
383053           lian/2015.5_lvm_vg_symlink_fix
383054
383055         · 3dfb33849a Use the actual device name when checking vgdisplay
383056
383057       · PR #26955: (dsumsky) S3 ext_pillar module has broken  caching  mecha‐
383058         nism (backport to 2015.5) @ 2015-09-10 14:54:01 UTC
383059
383060         · 1537e945be  Merge  pull  request #26955 from dsumsky/s3-pillar-mod‐
383061           ule-cache-fix-2015.5
383062
383063         · 8219acffe7 - fixed pylint warnings
383064
383065         · a3b10e8ab1   -  fixed  broken  caching  in  S3  ext_pillar   module
383066           (file_md5 was a list)  - added debugging messages  - static parame‐
383067           ters are available as module parameters now
383068
383069       · PR #26987:  (rallytime)  Back-port  #26966  to  2015.5  @  2015-09-09
383070         18:42:51 UTC
383071
383072         · PR #26966: (TheBigBear) URL has changed (refs: #26987)
383073
383074         · 3e902e86b1 Merge pull request #26987 from rallytime/bp-26966
383075
383076         · 6a29eac003 URL has changed
383077
383078       · PR  #26915:  (rallytime)  Update  Joyent  Cloud  Tests  @  2015-09-09
383079         15:04:50 UTC
383080
383081         · eddb532713 Merge pull request #26915 from rallytime/joyent-tests
383082
383083         · d4ad42d697 Update Joyent Cloud Tests
383084
383085       · PR #26971: (rallytime) Fix a  couple  of  typos  in  reactor  docs  @
383086         2015-09-09 15:03:54 UTC
383087
383088         · f86814b2a4 Merge pull request #26971 from rallytime/reactor-doc-fix
383089
383090         · 0214daad19 Fix a couple of typos in reactor docs
383091
383092       · ISSUE  #26730:  (styro)  __opts__['user'] on Windows minion incorrect
383093         (eg for  file.symlink)  (refs:  #26997,  #`saltstack/salt`#26899`_`_,
383094         #26899)
383095
383096         · PR   saltstack/salt#26899:  (twangboy)  file.symlink  gets  windows
383097           account instead of root (refs: #26976)
383098
383099       · PR #26976:  (thatch45)  Revert  "file.symlink  gets  windows  account
383100         instead of root" @ 2015-09-08 22:44:19 UTC
383101
383102         · 57b1080f94     Merge     pull    request    #26976    from    salt‐
383103           stack/revert-26899-fix_26730
383104
383105         · 6dd54e6bec Revert "file.symlink gets  windows  account  instead  of
383106           root"
383107
383108       · PR  #26975:  (whiteinge)  Remove mocks from rest_cherrypy integration
383109         tests; fix groups check bug @ 2015-09-08 22:34:08 UTC
383110
383111         · 67be01f5fe Merge  pull  request  #26975  from  whiteinge/rest_cher‐
383112           rypy-integration
383113
383114         · 9a0989585b Add additional 'groups' check to rest_cherrypy if groups
383115           are not used
383116
383117         · d68aefcfde Remove mocks from rest_cherrypy integration tests
383118
383119         · 2aa3da8911 Rename the rest_cherrypy tests to conform to our conven‐
383120           tion
383121
383122       · ISSUE  #26730:  (styro)  __opts__['user'] on Windows minion incorrect
383123         (eg for  file.symlink)  (refs:  #26997,  #`saltstack/salt`#26899`_`_,
383124         #26899)
383125
383126       · PR  #26899:  (twangboy)  file.symlink gets windows account instead of
383127         root (refs: #26997) @ 2015-09-08 21:14:30 UTC
383128
383129         · 20a48f7f2e Merge pull request #26899 from twangboy/fix_26730
383130
383131         · 9d9b3bb47a file.symlink gets windows account instead of root
383132
383133       · PR #26960: (rallytime) Fix bash code  block  formatting  in  CherryPy
383134         netapi docs @ 2015-09-08 18:14:11 UTC
383135
383136         · dbc6b862f4 Merge pull request #26960 from rallytime/cherrypy-docs
383137
383138         · c1420711db Fix bash code block formatting
383139
383140       · PR  #26940: (rallytime) Fix minor doc typo in client api @ 2015-09-08
383141         04:15:00 UTC
383142
383143         · f733e048c9 Merge pull request #26940 from rallytime/api-doc-fix
383144
383145         · 00fe6a225c Fix minor doc typo in client api
383146
383147       · ISSUE #26850: (jfindlay) salt-ssh error on 2015.8 (refs: #26852)
383148
383149       · PR #26871:  (rallytime)  Back-port  #26852  to  2015.5  @  2015-09-08
383150         03:43:08 UTC
383151
383152         · PR  #26852: (basepi) [2015.8] Only reference msgpack if it imported
383153           successfully (refs: #26871)
383154
383155         · de9350466e Merge pull request #26871 from rallytime/bp-26852
383156
383157         · 5a4c8dd2f5 Only reference msgpack if it imported successfully
383158
383159       · ISSUE #26644: (gravyboat) pkgrepo should note that for  ubuntu/debian
383160         all options should not be used (refs: #26800, #26851)
383161
383162       · ISSUE  #26638:  (WackyOne)  Suse install documentation (refs: #26800,
383163         #26851)
383164
383165       · PR #26851: (jacobhammons) states/pkgrepo examples, suse  installation
383166         updates @ 2015-09-02 18:29:09 UTC
383167
383168         · a563af29d3 Merge pull request #26851 from jacobhammons/doc-bugs
383169
383170         · ac3bd47440  states/pkgrepo examples, suse installation updates Refs
383171           #26644 Refs #26638
383172
383173       · ISSUE #26804: (lrhazi) gpasswd error on RHEL 5 (refs: #26817)
383174
383175       · PR #26817:  (jfindlay)  modify  groupadd  for  rhel  5  @  2015-09-02
383176         14:52:53 UTC
383177
383178         · 5b1b934192 Merge pull request #26817 from jfindlay/grouparg
383179
383180         · 82d33939f3 modify groupadd for rhel 5
383181
383182       · ISSUE  #22724:  (ty2u)  digital_ocean_v2.py  doesn't restore snapshot
383183         (refs: #26824)
383184
383185       · PR #26824: (systembell) [salt-cloud] Fix creating droplet from  snap‐
383186         shot in digital_ocean provider @ 2015-09-02 05:18:37 UTC
383187
383188         · cdc0ea2fe3  Merge  pull request #26824 from pravka/fix-droplet-cre‐
383189           ation-from-snapshot-in-dov2
383190
383191         · 00e3192536 removing log
383192
383193         · e4a82d78d9 removing stringification of every  value  in  the  image
383194           dict
383195
383196         · cdc2b4584a fixing condition for slug check
383197
383198       · ISSUE  #26805:  (joejulian)  cur_param  referenced  before assignment
383199         (refs: #26823, #26820)
383200
383201       · PR #26823: (joejulian) use dbus instead  of  localectl  @  2015-09-02
383202         00:25:25 UTC
383203
383204         · 4af6951a4c Merge pull request #26823 from joejulian/ctlfix
383205
383206         · a9928cb143 pep8 fixes
383207
383208         · 6108ec4280 Gated dbus for os families that use it
383209
383210         · e154c7b16f remove trailing spaces
383211
383212         · c1c1266cc3 fix indent change
383213
383214         · 0a35320aa7 Use dbus directly
383215
383216       · ISSUE  #26805:  (joejulian)  cur_param  referenced  before assignment
383217         (refs: #26823, #26820)
383218
383219       · PR #26820: (jfindlay) add default param in _parse_localectl in locale
383220         mod @ 2015-09-01 22:02:17 UTC
383221
383222         · a1749b76b8 Merge pull request #26820 from jfindlay/ctlfix
383223
383224         · 3a2c0d5fbb add default param in _parse_localectl in locale mod
383225
383226       · ISSUE  #26788:  (ssgward)  Windows minion user.rename gives exception
383227         (refs: #26821)
383228
383229       · PR  #26821:  (twangboy)  Fixed  user.rename  function  in  windows  @
383230         2015-09-01 22:01:50 UTC
383231
383232         · ff733547c4 Merge pull request #26821 from twangboy/fix_26788
383233
383234         · cf979e4877 Fixed user.rename function in windows
383235
383236       · ISSUE  #26754: (jefftucker) MySQLdb-python package should be included
383237         with windows minion installer (refs: #26803)
383238
383239       · PR #26803: (twangboy) Added check for PyMySQL if MySQLdb import fails
383240         @ 2015-09-01 21:44:41 UTC
383241
383242         · c892be3255 Merge pull request #26803 from twangboy/fix_26754
383243
383244         · 23576c65eb Added check for PyMySQL if MySQLdb import fails
383245
383246       · ISSUE  #26798:  (jfindlay)  stack  trace  from  linode  driver (refs:
383247         #26815)
383248
383249       · PR #26815: (jfindlay)  stringify  linode  id  before  performing  str
383250         actions @ 2015-09-01 17:56:29 UTC
383251
383252         · 6edfa36083 Merge pull request #26815 from jfindlay/linstr
383253
383254         · 2ff5823944 stringify linode id before performing str actions
383255
383256       · ISSUE  #26644: (gravyboat) pkgrepo should note that for ubuntu/debian
383257         all options should not be used (refs: #26800, #26851)
383258
383259       · ISSUE #26638: (WackyOne) Suse install  documentation  (refs:  #26800,
383260         #26851)
383261
383262       · ISSUE  #26192:  (jefftucker)  Logging  documentation  does  not exist
383263         (refs: #26800)
383264
383265       · ISSUE #26108: (ahammond) documentation around scheduling and  orches‐
383266         tration is unclear (refs: #26800)
383267
383268       · ISSUE  #24510:  (ahammond)  lack  of documentation around Denied Keys
383269         (refs: #26800)
383270
383271       · PR #26800: (jacobhammons) Doc bug fixes @ 2015-09-01 05:40:09 UTC
383272
383273         · 135a8a64af Merge pull request #26800 from jacobhammons/doc-fixes
383274
383275         · 5cca52a3c1 Fixed windows installer paths Refs #25567
383276
383277         · 0ec036350d Updates to salt-ssh and salt-key #24510
383278
383279         · 992edc3bb8 Doc bug fixes Refs #26192 Refs #26638 Refs  #26644  Refs
383280           #26108
383281
383282       · ISSUE  #24021:  (arthurlogilab) [salt-cloud saltify]  AttributeError:
383283         'str' object has no attribute 'setdefault' (refs: #26793)
383284
383285       · PR #26793: (rallytime) Don't stacktrace if "name" is specified  as  a
383286         minion id in a map file @ 2015-08-31 19:24:25 UTC
383287
383288         · da161b9516 Merge pull request #26793 from rallytime/fix-name-stack‐
383289           trace
383290
383291         · 8601e4b341 Don't stacktrace if "name" is specified as a  minion  id
383292           in a map file
383293
383294       · ISSUE  #24020: (arthurlogilab) [salt-cloud saltify] cannot use --pro‐
383295         file saltify machine{1..3} without a map (refs: #26790)
383296
383297       · PR #26790: (rallytime) Update Saltify docs to be  more  accurate  and
383298         helpful @ 2015-08-31 18:17:31 UTC
383299
383300         · 7c8d0a09f6 Merge pull request #26790 from rallytime/saltify_docs
383301
383302         · d53754f2b7 Update Saltify docs to be more accurate and helpful
383303
383304       · ISSUE  #26773:  (styro)  salt-call  minor  breakage on Windows (refs:
383305         #26775)
383306
383307       · PR #26787: (jfindlay) merge #26775 @ 2015-08-31 17:52:45 UTC
383308
383309         · PR #26775: (styro) Fix some leftover non portable exitcodes. (refs:
383310           #26787)
383311
383312         · 70d0268c83 Merge pull request #26787 from jfindlay/imp
383313
383314         · e5bbf59ec7 disable import lint in run.py
383315
383316         · 8aef725243 Restore blank lines again.
383317
383318         · 1710070f61 Restore blank line.
383319
383320         · 59d61a8dea os module no longer required.
383321
383322         · f1b8d0d509 Add missing imports.
383323
383324         · 7bd8809e23 Fix some non portable exitcodes. Fixes #26773
383325
383326       · PR  #26759:  (terminalmage)  Backport  PR  #26726  to 2015.5 branch @
383327         2015-08-31 14:39:20 UTC
383328
383329         · PR #26726: (terminalmage) Redact HTTPS Basic Auth  in  states/funcs
383330           which deal with git remotes (refs: #26759)
383331
383332         · 645998dbd3 Merge pull request #26759 from terminalmage/bp-26726
383333
383334         · d7f7fca7e5   More   cleanup   from   moving   auth   redaction   to
383335           salt.utils.url
383336
383337         · 07db5a7038 fix redaction
383338
383339         · 399871e6dd Add auth redaction flags to git exec module and use them
383340           in git state
383341
383342         · 776dc38d73 check for ValueError when adding http basic auth
383343
383344         · d2eb1f4340 Rename arguments in salt.utils.url.add_http_basic_auth
383345
383346         · b45f37a467 Add http basic auth tests
383347
383348         · 1ed42ea4fd  Remove  git  unit  tests, moving them to salt.utils.url
383349           tests
383350
383351         · 96a55cdb59 Remove unused imports
383352
383353         · 1f25a859bd Redact HTTPS Basic Auth data from remote  URLs  in  com‐
383354           ments and changes dict
383355
383356         · eafeb6c7bf Automatically redact HTTPS basic auth
383357
383358         · 6be3f8f9e1  Add support for callbacks to influence what information
383359           about commands is logged
383360
383361         · c36f240a87 Add HTTPS Basic Auth funcs to salt.utils.url
383362
383363       · ISSUE #26628: (MadsRC) state.ipset tries to parse wrong  data  (refs:
383364         #26768)
383365
383366       · PR  #26768:  (garethgreenaway)  Fixes to ipset in 2015.5 for #26628 @
383367         2015-08-29 03:24:07 UTC
383368
383369         · 46a4bbd0e7   Merge   pull   request   #26768   from    garethgreen‐
383370           away/26628_2015_5_ipset_fixes
383371
383372         · f0c6090c7e  Fixing issue when information returned from ipset isn't
383373           in the format we expect and it causes an exception.
383374
383375       · ISSUE  #26732:  (saltstack-bot)  SmartOS  pkgsrc  dependency   (refs:
383376         #26753)
383377
383378       · PR  #26753: (jfindlay) import elementree from _compat in ilo exec mod
383379         @ 2015-08-28 20:56:45 UTC
383380
383381         · 7a58878ea8 Merge pull request #26753 from jfindlay/iloet
383382
383383         · 211a02754f import elementree from _compat in ilo exec mod
383384
383385       · ISSUE #21256: (dhs-rec) win.exe package for RH 6 (refs: #26736)
383386
383387       · PR #26736: (twangboy) Changed import from  smbconnection  to  smb3  @
383388         2015-08-28 17:23:42 UTC
383389
383390         · 22dbce8d61 Merge pull request #26736 from twangboy/fix_21256
383391
383392         · 86f425c669 Changed import from smbconnection to smb3
383393
383394       · ISSUE  #26705:  (Galser) Salt-Master 2015.5.5-1 on Scientific Linux 6
383395         fails loading some primitive pillars from YAML (refs: #26714)
383396
383397       · PR #26714: (jfindlay) add exception placeholder for older msgpacks  @
383398         2015-08-28 16:02:35 UTC
383399
383400         · 16d4e0350d Merge pull request #26714 from jfindlay/pack_except
383401
383402         · ebcfaf9050 add exception placeholder for older msgpacks
383403
383404       · PR  #26710:  (rallytime) Update GCE driver to return True, False or a
383405         new name in __virtual__() @ 2015-08-27 20:08:17 UTC
383406
383407         · 47faa8cc16  Merge  pull  request  #26710  from   rallytime/gce_vir‐
383408           tual_return
383409
383410         · e6b74879d7 Remove unused import
383411
383412         · 78e31585cf Update GCE driver to return True, False or a new name in
383413           __virtual__()
383414
383415       · ISSUE #14612: (cachedout) Catch provider errors in salt cloud  (refs:
383416         #26709)
383417
383418       · PR  #26709: (rallytime) Ensure VM name is valid before trying to cre‐
383419         ate Linode VM @ 2015-08-27 20:07:49 UTC
383420
383421         · cf487cf0f5 Merge pull request #26709 from rallytime/fix-14612
383422
383423         · bc21094ea0 versionadded and more efficient checks
383424
383425         · a3ac8e7008 Whitespace fix
383426
383427         · 9a4228d906 Added unit tests for  new  _validate_name  function  and
383428           adjusted regex
383429
383430         · 388815112c  Ensure  VM name is valid before trying to create Linode
383431           VM
383432
383433       · ISSUE #9592: (otrempe) pip module fails on Windows because of quoting
383434         (refs: #26617)
383435
383436       · PR  #26617:  (terminalmage) Fix Windows failures in pip module due to
383437         raw string formatting @ 2015-08-27 19:24:53 UTC
383438
383439         · c3a6280f8c Merge pull request #26617 from terminalmage/issue9592
383440
383441         · 96c3df1ed5 Don't accept non-list input for pkgs arg
383442
383443         · 419221535b Lint fix
383444
383445         · ede057eebc Fix tests to reflect args being passed as lists  instead
383446           of strings
383447
383448         · 03250dbd9f Pass command to cmd.run_all as list instead of joining
383449
383450         · 1c90cdb07e salt/modules/pip.py: Remove raw string format flags
383451
383452         · cd35df5ff8 Catch TypeErrors in timed_subprocess
383453
383454       · PR  #26700:  (kev009)  Ignore  the first element of kern.disks split,
383455         which is the sysctl name @ 2015-08-27 17:48:02 UTC
383456
383457         · 24a4f54f39      Merge      pull      request      #26700       from
383458           kev009/fbsd-disks-fix-2015.5
383459
383460         · 3ac97f9de4  Ignore  the first element of kern.disks split, which is
383461           the sysctl name
383462
383463       · PR #26695: (terminalmage)  Better  HTTPS  basic  auth  redaction  for
383464         2015.5 branch @ 2015-08-27 15:10:38 UTC
383465
383466         · 58945131b5   Merge   pull  request  #26695  from  terminalmage/bet‐
383467           ter-https-auth-redaction-2015.5
383468
383469         · 752d260209 Use versioninfo tuple for comparison
383470
383471         · b1d253483e Better HTTPS basic auth redaction for 2015.5 branch
383472
383473       · PR #26694: (terminalmage) Backport  #26693  to  2015.5  @  2015-08-27
383474         08:16:30 UTC
383475
383476         · PR #26693: (serge-p) Update openbsdpkg.py (refs: #26694)
383477
383478         · 4040a312f9 Merge pull request #26694 from terminalmage/bp-26693
383479
383480         · 4aec926476 Update openbsdpkg.py
383481
383482       · PR  #26681:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
383483         2015-08-26 22:03:07 UTC
383484
383485         · 0b17f80fe9  Merge  pull  request  #26681   from   basepi/merge-for‐
383486           ward-2015.5
383487
383488         · 64cad371f0 Remove overmocked test
383489
383490         · 40718af1d5  Merge  remote-tracking  branch  'upstream/2014.7'  into
383491           merge-forward-2015.5
383492
383493         · c2c7fe06c8 Merge pull request #26667 from nmadhok/doc-fix-2014.7
383494
383495           · 26be189689 Doc fix. Fixes #26656
383496
383497         · 6bd3dccae8 Merge pull request #26663 from  jacobhammons/2014.7-ver‐
383498           sion
383499
383500           · b6af538070 version change for latest branch
383501
383502         · 071a6112e5     Merge    pull    request    #26636    from    rally‐
383503           time/cloud-test-fixes
383504
383505           · c0d83d558d Don't use id as variable
383506
383507           · 2b4bc1679d Keep ec2 instance creation test the same  -  it  works
383508             better for the ec2 output
383509
383510           · b5b58eb31f  Skip  digital  ocean  tests since we can't use API v1
383511             with v2 tests
383512
383513           · 9ae1539c62 Update cloud tests to be more efficient and accurate
383514
383515         · 304542b4c6 Merge pull request #26640 from efficks/fixws2014
383516
383517           · ebe5d9d85c Fix function spacing
383518
383519       · PR #26676:  (rallytime)  Back-port  #26648  to  2015.5  @  2015-08-26
383520         19:46:01 UTC
383521
383522         · PR  #26648:  (whiteinge)  Free  'fun'  from  the function signature
383523           namespace (refs: #26676)
383524
383525         · 75675a6ba9 Merge pull request #26676 from rallytime/bp-26648
383526
383527         · 1af42eed36 Free 'fun' from the function signature namespace
383528
383529       · PR #26677:  (rallytime)  Back-port  #26653  to  2015.5  @  2015-08-26
383530         19:45:54 UTC
383531
383532         · PR  #26653:  (dmyerscough)  You  can  provide  a  X-Auth-Token when
383533           requesting jobs (refs: #26677)
383534
383535         · d7f682cb5b Merge pull request #26677 from rallytime/bp-26653
383536
383537         · 497ca96039 You can provide a X-Auth-Token when requesting jobs
383538
383539       · PR #26675:  (rallytime)  Back-port  #26631  to  2015.5  @  2015-08-26
383540         19:44:59 UTC
383541
383542         · PR  #26631:  (PierreR)  Fix  get_load  in  postgres returner (refs:
383543           #26675)
383544
383545         · 960dbba7ed Merge pull request #26675 from rallytime/bp-26631
383546
383547         · 20eecdc7be Fix get_load
383548
383549       · PR  #26655:  (damonzheng)  Update  win_dns_client.py   @   2015-08-26
383550         16:05:26 UTC
383551
383552         · db30926ac9 Merge pull request #26655 from cheng0919/2015.5
383553
383554         · fdebc01def Update win_dns_client.py
383555
383556         · 1d23d5e797 Update win_dns_client.py
383557
383558         · 1a45db0fb7 Update win_dns_client.py
383559
383560       · PR  #26662:  (jacobhammons)  update  version  to  2015.5 @ 2015-08-26
383561         13:45:44 UTC
383562
383563         · a04d243471 Merge pull request #26662 from jacobhammons/version
383564
383565         · 4e5766fdde update version to 2015.5
383566
383567       · PR  #26651:  (jfindlay)  add  2015.5.4  notes  to  2015.5.5  notes  @
383568         2015-08-26 00:25:28 UTC
383569
383570         · 8a9a076ad4 Merge pull request #26651 from jfindlay/2015.5
383571
383572         · dc5cee5f8f add 2015.5.4 notes to 2015.5.5 notes
383573
383574       · ISSUE  #26497: (JensRantil) Feature request: Make salt.states.managed
383575         support local file source (refs: #26525)
383576
383577       · PR #26525: (jfindlay) document check_file_meta  args,  remove  unused
383578         arg @ 2015-08-25 21:43:46 UTC
383579
383580         · 5bdefdc234 Merge pull request #26525 from jfindlay/sum
383581
383582         · 0297d49aa0 remove unused check_file_meta arg
383583
383584         · 6a3cb1c0aa document args to file.check_file_meta exec fcn
383585
383586       · PR  #26561:  (stanislavb)  Leave  salt.utils.s3  location fallback to
383587         salt.utils.aws (refs: #27070) @ 2015-08-25 21:40:30 UTC
383588
383589         · PR #26446: (stanislavb) Fetch AWS region from EC2 instance metadata
383590           (refs: #26561)
383591
383592         · PR #26378: (stanislavb) Fix EC2 credentials from IAM roles for s3fs
383593           and s3 ext_pillar in 2015.5 (refs: #26446)
383594
383595         · 84e96458b3 Merge pull request #26561 from stanislavb/2015.5
383596
383597         · 50332895a1 Leave salt.utils.s3 location fallback to salt.utils.aws
383598
383599       · ISSUE #22550: (amendlik) Error deleting  SSH  keys  using  salt-cloud
383600         --destroy (refs: #26573)
383601
383602       · PR  #26573:  (rallytime)  Don't  stacktrace  if using private_ips and
383603         delete_sshkeys together @ 2015-08-25 20:00:23 UTC
383604
383605         · 1d729734cc    Merge    pull    request    #26573    from     rally‐
383606           time/destroy_ssh_keys_private_ips
383607
383608         · 4267509c25 Don't stacktrace if using private_ips and delete_sshkeys
383609
383610       · ISSUE  #20169:  (flavianh)  [salt-cloud]  Add a meaningful error when
383611         /etc/salt/cloud is missing the master's address (refs: #26563)
383612
383613       · PR #26563: (rallytime) Fix error detection when salt-cloud config  is
383614         missing a master's address @ 2015-08-25 20:00:11 UTC
383615
383616         · 000e5a2acf Merge pull request #26563 from rallytime/fix-20169
383617
383618         · 65b285d02d  Only  warn  if  master IP is unset - must be compatible
383619           with masterless minions
383620
383621         · a4c87fcf57 Simplify logic
383622
383623         · 593ead08cf Fix error detection when salt-cloud config is missing  a
383624           master's address
383625
383626       · PR  #26641:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
383627         2015-08-25 18:17:46 UTC
383628
383629         · 19c7a6d575  Merge  pull  request  #26641   from   basepi/merge-for‐
383630           ward-2015.5
383631
383632         · a5dafa436c Already fixed on 2015.5
383633
383634         · 71c0898fb5  Merge  remote-tracking  branch  'upstream/2014.7'  into
383635           merge-forward-2015.5
383636
383637         · 4532f98a76      Merge      pull      request      #26515       from
383638           bersace/salt-env-local-sls
383639
383640         · 0727af9e3d Defaults to current saltenv in state.sls
383641
383642       · PR  #26620:  (rallytime) Also add -Z to script args for cloud tests @
383643         2015-08-24 22:03:24 UTC
383644
383645         · 2927859c8a    Merge    pull    request    #26620    from     rally‐
383646           time/more_script_args
383647
383648         · 9ae27193d8 Also add -Z to script args for cloud tests
383649
383650       · PR  #26618:  (rallytime)  Add script_args: '-P' to Ubuntu 14 profiles
383651         for nightly cloud tests @ 2015-08-24 21:15:24 UTC
383652
383653         · ed166ebd4f    Merge    pull    request    #26618    from     rally‐
383654           time/pip-undate-cloud-tests
383655
383656         · 5a2c8825ba Extra lines
383657
383658         · d28672b69e  Add script_args: '-P' to Ubuntu 14 profiles for nightly
383659           cloud tests
383660
383661       · PR #26612: (rallytime) Use an  available  image  to  test  against  @
383662         2015-08-24 19:09:18 UTC
383663
383664         · 6d3927bed5     Merge    pull    request    #26612    from    rally‐
383665           time/fix-do-list-images-test
383666
383667         · 1401255287 Use an available image to test against
383668
383669       · ISSUE #15590: (jtratner) salt-cloud gce configuration check incorrect
383670         (refs: #26576)
383671
383672       · PR  #26576:  (rallytime)  Ensure GCE and EC2 configuration checks are
383673         correct @ 2015-08-23 18:59:46 UTC
383674
383675         · 991bbf63fe Merge pull request #26576 from rallytime/fix-14604
383676
383677         · ac67a1d238 Ensure GCE configuration check is correct
383678
383679         · 421f1fde1e Ensure EC2 configuration check is correct
383680
383681       · ISSUE #12225: (arthurlogilab) [salt-cloud]  Attribution  of  floating
383682         IPs works partially in parallel mode  (refs: #26580)
383683
383684       · PR  #26580:  (rallytime) Avoid race condition when assigning floating
383685         IPs to new VMs @ 2015-08-23 18:58:48 UTC
383686
383687         · 746c0008a9 Merge pull request #26580 from rallytime/fix-12225
383688
383689         · e3f7db17cc Avoid race condition when assigning floating IPs to  new
383690           VMs
383691
383692         · afda31be74 Create _assign_floating_ips function for DRY
383693
383694       · PR  #26581: (terminalmage) Skip tests that don't work with older mock
383695         @ 2015-08-22 23:06:27 UTC
383696
383697         · 965a4ba7cf Merge pull request #26581 from terminalmage/fix-tests
383698
383699         · 49d8bd1dbe Remove unused import
383700
383701         · 81a0d4c915 Skip tests that don't work with older mock
383702
383703       · ISSUE #25478: (zyio) salt-ssh - Unable to locate current thin version
383704         (refs: #25862)
383705
383706       · ISSUE  #25026:  (sylvia-wang)  salt-ssh "Failure deploying thin" when
383707         using salt module functions (refs: #25862)
383708
383709       · PR #26591:  (rallytime)  Back-port  #26554  to  2015.5  @  2015-08-22
383710         21:19:02 UTC
383711
383712         · PR  #26554:  (tjstansell)  /bin/sh  is more portable than /bin/bash
383713           (refs: #26591)
383714
383715         · PR #25862: (zyio) Adding SCP_NOT_FOUND exit code (refs: #26554)
383716
383717         · 19992c1450 Merge pull request #26591 from rallytime/bp-26554
383718
383719         · 6f8bed88cb /bin/sh is more portable than /bin/bash
383720
383721       · PR #26565: (cachedout) Fix many errors with __virtual__  in  tests  @
383722         2015-08-21 21:37:54 UTC
383723
383724         · 2cd36c7ed4   Merge  pull  request  #26565  from  cachedout/fix_vir‐
383725           tual_warnings
383726
383727         · 41541e4e2b Fix many errors with __virtual__ in tests
383728
383729       · ISSUE #19249: (ahetmanski) Cannot create cache_dir salt master excep‐
383730         tion. (refs: #26548)
383731
383732       · PR  #26553:  (rallytime)  Back-port  #26548  to  2015.5  @ 2015-08-21
383733         17:40:21 UTC
383734
383735         · PR #26548: (vakulich) Catch OSError during cache  directories  cre‐
383736           ation, fixes #19249 (refs: #26553)
383737
383738         · 5a32664efd Merge pull request #26553 from rallytime/bp-26548
383739
383740         · ec2b2c3e40  Catch  OSError during cache directories creation, fixes
383741           #19249
383742
383743       · PR #26552:  (rallytime)  Back-port  #26542  to  2015.5  @  2015-08-21
383744         17:40:11 UTC
383745
383746         · PR  #26542:  (arthurlogilab)  [doc]  reactor  documentation  fix  :
383747           returners (refs: #26552)
383748
383749         · 7e67e48656 Merge pull request #26552 from rallytime/bp-26542
383750
383751         · 0976b1e23b [doc] reactor documentation fix : returners
383752
383753       · PR #26551:  (rallytime)  Back-port  #26539  to  2015.5  @  2015-08-21
383754         17:39:22 UTC
383755
383756         · PR #26539: (carlpett) Doc-fix: Escape backslash in domain\\username
383757           (refs: #26551)
383758
383759         · bcd462545d Merge pull request #26551 from rallytime/bp-26539
383760
383761         · 94ff4cff40 Doc-fix: Escape backslash in domainusername
383762
383763       · PR #26549:  (rallytime)  Back-port  #26524  to  2015.5  @  2015-08-21
383764         17:38:50 UTC
383765
383766         · PR #26524: (JensRantil) Gracefully handle package comparison not in
383767           (-1, 0, 1) (refs: #26549)
383768
383769         · PR #25369: (anlutro) Fix aptpkg.version_cmp (refs: #26524)
383770
383771         · 4dbf61c5af Merge pull request #26549 from rallytime/bp-26524
383772
383773         · 4763f28725 logging(cmp_version): output assertion
383774
383775         · 673b6c683d utils(version_cmp): handle comparison not in (0,1,-1)
383776
383777       · ISSUE #26502: (ryan-lane)  Adding  a  listener  with  None  as  ports
383778         doesn't result in an invocation error in boto_elb (refs: #26527)
383779
383780       · PR #26527: (jfindlay) check exists and values in boto_elb listeners @
383781         2015-08-21 15:27:52 UTC
383782
383783         · 1ac8287588 Merge pull request #26527 from jfindlay/elb
383784
383785         · 343e47f00c check exists and values in boto_elb listeners
383786
383787       · PR #26446: (stanislavb) Fetch AWS region from EC2  instance  metadata
383788         (refs: #26561) @ 2015-08-21 15:11:08 UTC
383789
383790         · PR #26378: (stanislavb) Fix EC2 credentials from IAM roles for s3fs
383791           and s3 ext_pillar in 2015.5 (refs: #26446)
383792
383793         · e4b2534aa8      Merge      pull      request      #26446       from
383794           stanislavb/2015.5-ec2-metadata-region
383795
383796         · 57943ff4f7 Fetch AWS region from EC2 instance metadata
383797
383798       · PR  #26546: (nmadhok) Do not raise KeyError when calling avail_images
383799         if VM/template is in disconnected state @ 2015-08-21 14:17:49 UTC
383800
383801         · d721b7b2be    Merge    pull    request    #26546     from     nmad‐
383802           hok/vmware-key-error-patch-2015.5
383803
383804         · 1dcf157256  Do  not  raise  KeyError  when  calling avail_images if
383805           VM/template is in disconnected state
383806
383807       · ISSUE #25360: (BretFisher) file.replace removes line  feed  if  using
383808         YAML's multiline string syntax (refs: #26481)
383809
383810       · PR #26537: (jfindlay) Merge #26481 @ 2015-08-21 05:37:24 UTC
383811
383812         · PR #26481: (TheBigBear) minor note: added (refs: #26537)
383813
383814         · 7da87fabf1 Merge pull request #26537 from jfindlay/note
383815
383816         · 662e723ae0 fixup note lint in file.replace state mod
383817
383818         · 332535f2e6 Update file.py
383819
383820         · 598500034f Update file.py
383821
383822         · ec7c7d738d minor note: added
383823
383824       · PR  #26528:  (zmalone)  Fixing  encrypt to instructions in the 2015.5
383825         branch @ 2015-08-20 21:49:06 UTC
383826
383827         · c6d8e34730 Merge pull request #26528 from zmalone/2015.5
383828
383829         · 39b111c465 Fixing encrypt to instructions  in  the  2015.5  branch,
383830           --homedir is not necessary here.
383831
383832   Salt 2015.5.7 Release Notes
383833       release
383834              2015-10-13
383835
383836       Version 2015.5.7 is a bugfix release for 2015.5.0.
383837
383838   Statistics
383839       · Total Merges: 103
383840
383841       · Total Issue References: 66
383842
383843       · Total PR References: 135
383844
383845       · Contributors:  46  (0xf10e,  JaseFace,  MasterNayru, MrCitron, Sacro,
383846         ajacoutot,  arthurlogilab,   basepi,   belvedere-trading,   beverlcl,
383847         blast-hardcheese,  blueyed,  bogdanr,  cachedout,  cbuechler, chrigl,
383848         dmyerscough, eguven, eliasp,  erchn,  eyj,  garethgreenaway,  gashev,
383849         gnubyexample,   gracinet,   gravyboat,   gwaters,   hedinfaok,  iggy,
383850         jacksontj, jacobhammons, jfindlay, lorengordon,  mbologna,  msciciel,
383851         nmadhok,  pass-by-value,  plastikos,  rallytime,  rominf,  s0undt3ch,
383852         silenius, sjmh, stephen144, terminalmage, twangboy)
383853
383854       IMPORTANT:
383855          A significant orchestrate issue (issue ##29110) was discovered  dur‐
383856          ing  the  release process of 2015.5.7, so it has not been officially
383857          released.  Please use 2015.5.8 instead.
383858
383859   Changelog for v2015.5.6..v2015.5.7
383860       Generated at: 2018-05-27 22:16:54 UTC
383861
383862       · PR  #28864:  (jfindlay)  add  2015.5.7  release  notes  @  2015-11-13
383863         17:15:00 UTC
383864
383865         · ec7fdc539b Merge pull request #28864 from jfindlay/2015.5
383866
383867         · 648b697951 add 2015.5.7 release notes
383868
383869       · ISSUE  #27392:  (ahammond)  schedule  running state.orchestrate fails
383870         (refs: #28731)
383871
383872       · PR #28731: (garethgreenaway)  Fixes  to  salt  scheduler  in  2015.5,
383873         ensuring   that  return_job  is  only  used  on  minion  scheduler  @
383874         2015-11-13 16:58:06 UTC
383875
383876         · bed45f4208   Merge   pull   request   #28731   from    garethgreen‐
383877           away/27392_2015_5_scheduler_return_job_master
383878
383879         · 771e9f7b6f  Fixing  the  salt scheduler so that it only attempts to
383880           return the job data to the master if the scheduled job  is  running
383881           from a minion's scheduler.
383882
383883       · PR  #28857:  (rallytime)  Back-port  #28851  to  2015.5  @ 2015-11-13
383884         13:56:53 UTC
383885
383886         · PR #28851: (rominf) [states/schedule] docstring:  args,  kwargs  ->
383887           job_args, job_kwargs (refs: #28857)
383888
383889         · 06f4932876 Merge pull request #28857 from rallytime/bp-28851
383890
383891         · aa4b193f87  [states/schedule]  docstring: args, kwargs -> job_args,
383892           job_kwargs
383893
383894       · PR #28856:  (rallytime)  Back-port  #28853  to  2015.5  @  2015-11-13
383895         13:46:10 UTC
383896
383897         · PR #28853: (eliasp) Typo (with → which) (refs: #28856)
383898
383899         · 0934a52b34 Merge pull request #28856 from rallytime/bp-28853
383900
383901         · 37eeab2683 Typo (with → which)
383902
383903       · ISSUE #28828: (basepi) salt-ssh doesn't package tornado's new deps in
383904         the thin (refs: #28826)
383905
383906       · PR #28832: (basepi) [2015.5] Backport #28826  @  2015-11-12  19:32:03
383907         UTC
383908
383909         · PR  #28826: (basepi) [2015.8] Add new tornado deps to salt-ssh thin
383910           (refs: #28832)
383911
383912         · eb904665dc Merge pull request #28832 from basepi/backport.28826
383913
383914         · 57be72eb91 Add backports_abc and singledispatch_helpers to thin  as
383915           well
383916
383917         · 897cad627b Add singledispatch to the thin
383918
383919       · ISSUE  #8647:  (Mrten)  salt  '*'  highstate  returns 'minion did not
383920         return', salt [minion] highstate works (refs: #28833)
383921
383922       · PR #28833: (basepi) [2015.5] Increase the default  gather_job_timeout
383923         @ 2015-11-12 19:31:58 UTC
383924
383925         · eff811a0ad       Merge      pull      request      #28833      from
383926           basepi/increase.gather_job_timeout.8647
383927
383928         · c09243dd01 Increase the default gather_job_timeout
383929
383930       · PR #28829: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
383931         2015-11-12 18:50:51 UTC
383932
383933         · e4a036365d   Merge   pull  request  #28829  from  basepi/merge-for‐
383934           ward-2015.5
383935
383936         · f8b8441485  Merge  remote-tracking  branch  'upstream/2014.7'  into
383937           merge-forward-2015.5
383938
383939         · 76e69b4bff Merge pull request #28777 from rallytime/bp-28740-2014.7
383940
383941           · da5fac2b36 Back-port #28740 to 2014.7
383942
383943         · 45c73ebf2f Merge pull request #28716 from rallytime/bp-28705
383944
383945           · 32e7bd3ea0 Account for new headers class in tornado 4.3
383946
383947         · f4fe921965 Merge pull request #28717 from cachedout/umask_note
383948
383949           · 1874300e08 Add note about recommended umask
383950
383951       · ISSUE  #25775:  (trimbleagvendoraccounta)  blockdev.formatted formats
383952         but fails. Second highstate shows success. (refs: #28756)
383953
383954       · ISSUE #20235: (joejulian) blockdev.format state can fail even  if  it
383955         succeeds (refs: #28756)
383956
383957       · PR #28756: (MrCitron) Fix #25775 @ 2015-11-12 17:47:51 UTC
383958
383959         · 93562631aa Merge pull request #28756 from MrCitron/fix-25775
383960
383961         · 82075c809c Add logs and correct pylint error
383962
383963         · e31e22d96a Fix 25775
383964
383965       · ISSUE  #28783: (chrigl) iptables.get_saved_rules does not handle fam‐
383966         ily=ipv6 (refs: #28786)
383967
383968       · PR #28786: (chrigl) closes #28783 @ 2015-11-11 21:01:19 UTC
383969
383970         · 30cc48e37f Merge pull request #28786 from chrigl/fix-28783
383971
383972         · ba6d814553 closes #28783
383973
383974       · PR #28776:  (rallytime)  Back-port  #28740  to  2015.5  @  2015-11-11
383975         18:02:03 UTC
383976
383977         · PR  #28740:  (MasterNayru)  Add  missing  S3  module  import (refs:
383978           #28776, #28777)
383979
383980         · 8f1d0b636e Merge pull request #28776 from rallytime/bp-28740-2015.5
383981
383982         · 49256b7d90 Back-port #28740 to 2015.5
383983
383984       · ISSUE #28732: (dmyerscough) cherrypy API endpoint (refs: #28760)
383985
383986       · ISSUE #22452: (whiteinge) rest_cherrypy /keys URL returns empty  keys
383987         for minion IDs that already exist (refs: #28760)
383988
383989       · ISSUE #22451: (whiteinge) rest_cherrypy /keys URL throws a 500 on the
383990         first request (refs: #28760)
383991
383992       · ISSUE #22442: (allanliu) rest_cherrypy /keys URL does not handle JSON
383993         requests (refs: #28760)
383994
383995       · PR  #28760:  (dmyerscough)  Fixing  CherryPy  key  bug  @  2015-11-11
383996         15:11:18 UTC
383997
383998         · 77d4b980f1    Merge    pull    request    #28760    from     dmyer‐
383999           scough/28732-Fix-cherrypi-api-keys-endpoint
384000
384001         · 206d1684b2 Fixing CherryPy key bug
384002
384003       · ISSUE #28714: (gravyboat) Salt-api doesn't work with post unless data
384004         is included. (refs: #28718)
384005
384006       · PR #28746:  (rallytime)  Back-port  #28718  to  2015.5  @  2015-11-10
384007         18:16:40 UTC
384008
384009         · PR #28718: (sjmh) Account for no POST data (refs: #28746)
384010
384011         · 6f8f04975f Merge pull request #28746 from rallytime/bp-28718
384012
384013         · 092f441cad Account for no POST data
384014
384015       · PR  #28705:  (cachedout) Account for new headers class in tornado 4.3
384016         (refs: #28716) @ 2015-11-09 19:24:34 UTC
384017
384018         · f40c617bad  Merge   pull   request   #28705   from   cachedout/tor‐
384019           nado_http_headers
384020
384021         · 7ac6cde1ee Account for new headers class in tornado 4.3
384022
384023       · PR  #28699:  (rallytime)  Back-port  #28670  to  2015.5  @ 2015-11-09
384024         18:10:58 UTC
384025
384026         · PR #28670: (plastikos) psutil can fail to look-up a uid and raise a
384027           KeyError (refs: #28699)
384028
384029         · 604a7b4199 Merge pull request #28699 from rallytime/bp-28670
384030
384031         · e436b23296 psutil can fail to look-up a uid and raise a KeyError
384032
384033       · PR  #28703:  (rallytime)  Back-port  #28690  to  2015.5  @ 2015-11-09
384034         18:01:57 UTC
384035
384036         · PR #28690: (MrCitron) Fix 28689 : Check s3 ext  pillar  cache  file
384037           before calculating expiration (refs: #28703)
384038
384039         · 7bd3eb8370 Merge pull request #28703 from rallytime/bp-28690
384040
384041         · a0988dab58 Fix 28689 : Check s3 ext pillar cache file before calcu‐
384042           lating expiration
384043
384044         · PR saltstack/salt-bootstrap#868:  (cachedout)  Always  refresh  the
384045           Arch Linux keyring if needed (refs: #28694)
384046
384047       · PR  #28694:  (s0undt3ch)  [2015.5]  Update to latest bootstrap script
384048         v2015.11.09 @ 2015-11-09 17:49:53 UTC
384049
384050         · 2a40f57b93 Merge pull request #28694 from s0undt3ch/2015.5
384051
384052         · 0910c6ffe4 Update to latest bootstrap script v2015.11.09
384053
384054       · ISSUE #26592: (centromere) rabbitmq.list_vhosts  removes  final  line
384055         from rabbitmqctl output (refs: #28669)
384056
384057       · PR  #28669:  (rallytime) Use the -q argument to strip extraneous mes‐
384058         sages from rabbitmq @ 2015-11-08 01:07:25 UTC
384059
384060         · 3249b322e8 Merge pull request #28669 from rallytime/fix-26592
384061
384062         · 098fb815af Use the -q argument to strip  extraneous  messages  from
384063           rabbitmq
384064
384065       · ISSUE  #28577: (jacksontj) Increase in master CPU usage after upgrad‐
384066         ing to 2015.8 (refs: #28645)
384067
384068       · PR #28645: (jacksontj) Rework minion return_retry_timer @  2015-11-07
384069         03:40:28 UTC
384070
384071         · PR  #27286:  (terminalmage)  Add  a  configurable  timer for minion
384072           return retries (refs: #28645)
384073
384074         · 29e8250d0c Merge pull request #28645 from jacksontj/2015.5
384075
384076         · f63c2d70a7 Rework minion return_retry_timer
384077
384078       · ISSUE #15177: (baskinomics) system.join_domain() does not join domain
384079         on Windows Server 2012 R2 (refs: #28668)
384080
384081       · PR #28668: (twangboy) Fixed join_domain and unjoin_domain for Windows
384082         @ 2015-11-07 03:40:04 UTC
384083
384084         · 1bbaea8aad Merge pull request #28668 from twangboy/fix_15177
384085
384086         · 745b8f75f6 Fixed some lint
384087
384088         · a43eb53f28 Added version added notes in docs
384089
384090         · 6b537c8640 Fixed join_domain and unjoin_domain for Windows
384091
384092       · ISSUE #8051: (regilero) Problems with fileinput.input inplace editing
384093         in salt.states.file.replace (refs: #28174)
384094
384095       · ISSUE   #7999:   (regilero)   MULTILINE   pattern   cannot   work  in
384096         file.replace, fileinput always reads line by line. (refs: #28174)
384097
384098       · PR #28666: (jfindlay) define r_data before using it in file module  @
384099         2015-11-07 00:46:27 UTC
384100
384101         · PR  #28174:  (lorengordon)  Add  support  for  multiline  regex  in
384102           file.replace (refs: #28666)
384103
384104         · 4ad5056066 Merge pull request #28666 from jfindlay/r_data
384105
384106         · 29228f445f define r_data before using it in file module
384107
384108       · ISSUE #24758: (zerthimon) salt-minion uses 100% CPU for periodic sta‐
384109         tus.master  task  on  a  server with a lot of TCP connections (a LB).
384110         (refs: #28662)
384111
384112       · PR #28662: (cachedout) Add note about disabling master_alive_interval
384113         @ 2015-11-07 00:38:12 UTC
384114
384115         · e129e889ad Merge pull request #28662 from cachedout/issue_24758
384116
384117         · 78f4894333 Add note about disabling master_alive_interval
384118
384119       · PR #28627: (twangboy) Backport win_useradd @ 2015-11-06 16:57:49 UTC
384120
384121         · df121d0cec   Merge   pull   request   #28627   from  twangboy/back‐
384122           port_win_useradd
384123
384124         · 87282b6354 Backport win_useradd
384125
384126       · ISSUE  #28398:  (L4rS6)  Permissions   /var/cache/salt/minion/extmods
384127         (refs: #28617)
384128
384129       · PR  #28617:  (cachedout)  Set  restrictive  umask  on  module  sync @
384130         2015-11-05 23:43:28 UTC
384131
384132         · 64a20228c6 Merge  pull  request  #28617  from  cachedout/umask_mod‐
384133           ule_sync
384134
384135         · 227792e158 Set restrictive umask on module sync
384136
384137       · ISSUE  #28621: (gravyboat) Puppet module documentation should be less
384138         insulting (refs: #28622)
384139
384140       · PR #28622: (gravyboat) Update  puppet  module  wording  @  2015-11-05
384141         20:34:07 UTC
384142
384143         · 065f8c7fb3  Merge  pull  request  #28622 from gravyboat/update_pup‐
384144           pet_module_docs
384145
384146         · 4ea28bed30 Update puppet module wording
384147
384148       · ISSUE #655: (thatch45) Add  general  command  management  to  service
384149         (refs: #`saltstack/salt-bootstrap#656`_)
384150
384151         · PR   saltstack/salt-bootstrap#674:   (jfindlay)   add  support  for
384152           repo.saltstack.com (refs: #28563)
384153
384154         · PR saltstack/salt-bootstrap#665:  (mbologna)  Change  to  'dnf'  as
384155           package manager for Fedora 22-> (refs: #28563)
384156
384157         · PR saltstack/salt-bootstrap#656: (eyj) Add bootstrap -b flag (don't
384158           install dependencies) (refs: #28563)
384159
384160         · PR saltstack/salt-bootstrap#654: (hedinfaok)  Fixes  error  finding
384161           python-jinja2 in RHEL 7 (refs: #28563)
384162
384163         · PR  saltstack/salt-bootstrap#653:  (cbuechler)  Make bootstrap work
384164           with FreeBSD 11-CURRENT. (refs: #28563)
384165
384166       · PR #28563: (s0undt3ch) [2015.5] Update  to  latest  bootstrap  script
384167         v2015.11.04 @ 2015-11-04 15:16:31 UTC
384168
384169         · 08295de5a5 Merge pull request #28563 from s0undt3ch/2015.5
384170
384171         · 16f4db79a0 Update to latest bootstrap script v2015.11.04
384172
384173       · ISSUE  #28173:  (twangboy) system.computer_name does not work in win‐
384174         dows (refs: #28541)
384175
384176       · PR #28541: (twangboy) Fixed problem with  system.set_computer_name  @
384177         2015-11-04 14:48:54 UTC
384178
384179         · 1e09f186ce Merge pull request #28541 from twangboy/fix_28173
384180
384181         · 7edf5ce370 Fixed problem with system.set_computer_name
384182
384183       · ISSUE  #28524:  (bmcorser)  UnicodeDecodeError  in states.file (refs:
384184         #28538, #28537)
384185
384186         · PR #28538: (jfindlay) decode path and url to  utf-8  in  url.create
384187           (refs: #28537)
384188
384189       · PR  #28537: (jfindlay) decode filename to utf-8 in file.recurse state
384190         @ 2015-11-04 14:48:18 UTC
384191
384192         · f44ed780b5    Merge    pull    request    #28537    from     jfind‐
384193           lay/decode_state_2015.5
384194
384195         · 06e514940c decode filename to utf-8 in file.recurse state
384196
384197       · ISSUE  #28272:  (gravyboat) Update documentation contributing docs to
384198         explain how to PR against different releases (refs: #28529)
384199
384200       · PR #28529: (rallytime) Update contributing and documentation pages to
384201         recommend submitting against branches @ 2015-11-04 14:47:21 UTC
384202
384203         · 6acf87593f Merge pull request #28529 from rallytime/fix-28272
384204
384205         · a959681858 Add link to Sending a GH PR to documentation docs
384206
384207         · 1c612e2772 Update contributing and documentation pages to recommend
384208           submitting against branches
384209
384210       · ISSUE #28511: (nghgd) vmware clone task fails instead of  waiting  to
384211         completion (refs: #28546)
384212
384213       · PR #28548: (nmadhok) [Backport] [2015.5] Tasks can be in queued state
384214         instead of running @ 2015-11-04 04:14:25 UTC
384215
384216         · PR #28546: (nmadhok) Tasks can be in queued state instead  of  run‐
384217           ning. (refs: #28548)
384218
384219         · 025bff2bf0 Merge pull request #28548 from nmadhok/2015.5-task-error
384220
384221         · 804a0a6537  Tasks  can be in queued state instead of running. Fixes
384222           #28511
384223
384224       · ISSUE #24585: (utahcon) No version data for SALT.STATES.VIRTUALENV in
384225         wiki (refs: #28531)
384226
384227       · PR  #28531: (rallytime) Add versionadded directives to virtualenv_mod
384228         state/module @ 2015-11-03 21:34:49 UTC
384229
384230         · 63bd3e52b3 Merge pull request #28531 from rallytime/fix-24585
384231
384232         · bc577b2531 Add versionadded directives to virtualenv_mod state/mod‐
384233           ule
384234
384235       · PR #28508: (twangboy) Fixed windows tests @ 2015-11-03 19:31:12 UTC
384236
384237         · ea3bf972c4     Merge    pull    request    #28508    from    twang‐
384238           boy/fix_unit_tests_windows
384239
384240         · 0da6ff7c50 Fixed some logic
384241
384242         · cf1e059be5 Fixed windows tests
384243
384244       · PR #28525: (rallytime) Fix spacing in doc examples  for  boto_route53
384245         state and module @ 2015-11-03 19:30:24 UTC
384246
384247         · 73c5735fc1 Merge pull request #28525 from rallytime/route53_spacing
384248
384249         · 6ab2ce615c  Fix  spacing in doc examples for boto_route53 state and
384250           module
384251
384252       · ISSUE #28243: (guettli) Docs: default  value  of  state_auto_order  ?
384253         (refs: #28517)
384254
384255       · PR  #28517: (rallytime) Add state_auto_order defaults to True note to
384256         ordering docs @ 2015-11-03 14:04:40 UTC
384257
384258         · 2d7f934f67 Merge pull request #28517 from rallytime/fix-28243
384259
384260         · be8f650901 Punctuation.
384261
384262         · fd846822c1 Add state_auto_order defaults to True note  to  ordering
384263           docs
384264
384265       · PR  #28512:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
384266         2015-11-03 00:38:08 UTC
384267
384268         · 63ce8f78d5  Merge  pull  request  #28512   from   basepi/merge-for‐
384269           ward-2015.5
384270
384271         · 61c382133a  Merge  remote-tracking  branch  'upstream/2014.7'  into
384272           merge-forward-2015.5
384273
384274         · 4bf56cad3f Merge pull request #28461 from cachedout/issue_28455
384275
384276           · 097838ec0c Wrap all cache calls in state.sls in correct umask
384277
384278         · f3e61db045    Merge    pull    request    #28407    from    DSRCom‐
384279           pany/issues/24910_token_auth_fix_2014
384280
384281           · b7b5bec309 Don't request creds if auth with key.
384282
384283       · PR  #28448: (gwaters) added a note to the tutorial for redhat deriva‐
384284         tives @ 2015-10-30 18:49:53 UTC
384285
384286         · 37ceae1e88 Merge pull request #28448 from gwaters/add-redhat-notes
384287
384288         · e70990704a added a note to the tutorial for those  that  redhat  so
384289           they can use the state file too.
384290
384291       · PR  #28406:  (rallytime)  Back-port  #28381  to  2015.5  @ 2015-10-29
384292         19:10:37 UTC
384293
384294         · PR #28381: (JaseFace) Add FreeBSD detection for  VirtualBox  (refs:
384295           #28406)
384296
384297         · 5ef50d60cd Merge pull request #28406 from rallytime/bp-28381
384298
384299         · e5322d2c44 Add FreeBSD detection for VirtualBox
384300
384301       · PR  #28413:  (rallytime)  Back-port  #28400  to  2015.5  @ 2015-10-29
384302         18:06:46 UTC
384303
384304         · PR #28400: (msciciel) State pkg.installed:  do  not  execute  _pre‐
384305           flight_check  if  not_installed list is empty in _find_install_tar‐
384306           gets (refs: #28413)
384307
384308         · 30d5f7bbae Merge pull request #28413 from rallytime/bp-28400
384309
384310         · ae1921b922 Do not execute _preflight_check if not_installed list is
384311           empty   in   _find_install_targets.  Calling  with  empty  list  on
384312           rhel/centos cause execution of repoquery --whatprovides without pkg
384313           list which is memory consumptive task for host and also for red hat
384314           satellite server.
384315
384316       · PR #28366: (erchn) mark repo not enabled when pkgrepo state passes in
384317         disable: True @ 2015-10-29 15:55:54 UTC
384318
384319         · 045d540aff       Merge      pull      request      #28366      from
384320           erchn/fix_yumpkg_mod_repo_disabled
384321
384322         · 8187a4ce20 re-arrange things a bit to have less overall changes
384323
384324         · f1d570ff18 move todelete above disabled check, add comment
384325
384326         · 64feec413f also remove disabled key from repo_opts
384327
384328         · 2f2ebb7bb6 mark repo not enabled when pkgrepo state passes in  dis‐
384329           able: True
384330
384331       · ISSUE  #28372:  (beverlcl)  use_carrier  option  for  bonding network
384332         interfaces are setting invalid values (refs: #28373)
384333
384334       · PR #28373: (beverlcl) Fixing bug #28372  for  use_carrier  option  on
384335         bonding network interfaces.  @ 2015-10-29 14:45:57 UTC
384336
384337         · 3923f4a569  Merge  pull  request  #28373 from beverlcl/fix-use_car‐
384338           rier-28372
384339
384340         · 32cffeceb6 Fixing bug #28372 for use_carrier option on bonding net‐
384341           work interfaces.
384342
384343       · PR  #28359:  (rallytime)  Back-port  #28358  to  2015.5  @ 2015-10-28
384344         20:43:05 UTC
384345
384346         · PR #28358: (arthurlogilab) docstring typo fix - list returners  not
384347           runners (refs: #28359)
384348
384349         · e07e3f257b Merge pull request #28359 from rallytime/bp-28358
384350
384351         · 9cacbf582b docstring typo fix - list returners not runners
384352
384353       · ISSUE  #28000:  (hrumph)  No  option to stop windows minion installer
384354         from starting service in silent mode. (refs: #28346)
384355
384356       · ISSUE #27923: (twangboy) Salt Windows Installer fails to grab  exist‐
384357         ing config (refs: #28346)
384358
384359       · PR #28346: (twangboy) Fix installer @ 2015-10-28 14:21:34 UTC
384360
384361         · 282be7ba5a Merge pull request #28346 from twangboy/fix_installer
384362
384363         · f65e3e5275 Updated documentation to reflect the new parameter
384364
384365         · a0c5223554 Fixes #27923 and #28000
384366
384367       · PR  #28315: (gwaters) Adding a working example of setting pillar data
384368         on the cli @ 2015-10-27 15:27:49 UTC
384369
384370         · 7858f04ebc Merge pull request #28315 from gwaters/update-pillar-doc
384371
384372         · b15285c0b4 adding a working example of setting pillar data  on  the
384373           cli
384374
384375       · ISSUE  #28209:  (basepi)  Legacy  git_pillar  configs cause duplicate
384376         ext_pillar calls (refs: #28210)
384377
384378       · PR #28211: (terminalmage) Fix for ext_pillar being compiled twice  in
384379         legacy git_pillar code (2015.5 branch) @ 2015-10-26 14:14:02 UTC
384380
384381         · PR  #28210:  (terminalmage) Fix for ext_pillar being compiled twice
384382           in legacy git_pillar code (refs: #28211)
384383
384384         · 45305ccf29   Merge   pull    request    #28211    from    terminal‐
384385           mage/legacy_git_pillar-2015.5
384386
384387         · 0d6a4ac115 Remove non-functional test
384388
384389         · ab991d61d9  Fix  for  ext_pillar  being  compiled  twice  in legacy
384390           git_pillar code (2015.5 branch)
384391
384392       · ISSUE #26411: (whiteinge) salt-call cannot send custom events without
384393         Minion daemon running (refs: #28263)
384394
384395       · PR  #28263:  (cachedout)  New  channel  for  event.send  @ 2015-10-26
384396         14:07:06 UTC
384397
384398         · a6cc84c407 Merge pull request #28263 from cachedout/issue_26411-1
384399
384400         · 3b880a5f07 New channel for event.fire_master
384401
384402         · 29e9533aab Stand up a new channel if using salt-call
384403
384404       · PR #28293: (cachedout) Minor grammar changes  @  2015-10-26  12:15:42
384405         UTC
384406
384407         · PR #28271: (gwaters) Update tutorial documentation (refs: #28293)
384408
384409         · 788e1463d8 Merge pull request #28293 from cachedout/fix_28271
384410
384411         · 499ed8519b Minor grammar changes to #28271
384412
384413       · PR  #28271:  (gwaters) Update tutorial documentation (refs: #28293) @
384414         2015-10-26 12:12:37 UTC
384415
384416         · e178af0b90 Merge  pull  request  #28271  from  gwaters/update-tuto‐
384417           rial-documentation
384418
384419         · f96d39483d updated the tutorial with gravyboat's suggestions
384420
384421         · b1f4a2bdf4 i think i changed the wrong header, updated to fix
384422
384423         · 846b3aece1 I found you can not run the cp.push commands until after
384424           enabling the feature in the conf, so I wanted to update the docs so
384425           others who try these commands wont bump into the same issue I had.
384426
384427       · ISSUE  #28248:  (0xf10e)  conventions/formula.rst:  "Gather  external
384428         data" suggests unavailable jinja functionality (refs: #28280)
384429
384430       · PR #28280: (0xf10e) Correct  Jinja  function  load_*  to  import_*  @
384431         2015-10-25 04:11:10 UTC
384432
384433         · e3eff9b909 Merge pull request #28280 from 0xf10e/patch-1
384434
384435         · 6d4316b0ac Correct Jinja function load_* to import_*
384436
384437       · PR #28255: (cachedout) Add __cli opt @ 2015-10-23 18:44:30 UTC
384438
384439         · 909fa3dc97 Merge pull request #28255 from cachedout/cli_opt
384440
384441         · a2408157de Add __cli opt
384442
384443       · ISSUE  #27374:  (mool)  boto_route53  state  doesn't  create a record
384444         (refs: #28213)
384445
384446       · PR #28213: (rallytime) If record returned None, don't  continue  with
384447         the state. Something went wrong @ 2015-10-23 13:54:50 UTC
384448
384449         · 0fa094ae11     Merge    pull    request    #28213    from    rally‐
384450           time/boto_route53_state
384451
384452         · 237d64ff11 If record returned None, don't continue with the  state.
384453           Something went wrong.
384454
384455       · ISSUE  #28217:  (Ch3LL)  Scheduler.present tries to add the scheudler
384456         each time (refs: #28238)
384457
384458       · PR #28238: (basepi) [2015.5] Fix schedule.present  always  diffing  @
384459         2015-10-23 13:31:32 UTC
384460
384461         · 1768014705   Merge   pull  request  #28238  from  basepi/fix.sched‐
384462           ule.present.28217
384463
384464         · 087a8dc3c2 Only insert enabled if it's a dict
384465
384466         · 5b49f41fab Fix schedule comparison to adjust  for  'enabled'  being
384467           added in schedule.list
384468
384469         · 2dc1226ab8 Build new item with 'enabled' if available
384470
384471       · ISSUE #8051: (regilero) Problems with fileinput.input inplace editing
384472         in salt.states.file.replace (refs: #28174)
384473
384474       · ISSUE  #7999:   (regilero)   MULTILINE   pattern   cannot   work   in
384475         file.replace, fileinput always reads line by line. (refs: #28174)
384476
384477       · PR   #28174:   (lorengordon)  Add  support  for  multiline  regex  in
384478         file.replace (refs: #28666) @ 2015-10-22 14:02:43 UTC
384479
384480         · bdd48c92de   Merge   pull    request    #28174    from    lorengor‐
384481           don/file-replace-multiline
384482
384483         · acdef2da60 Update docstrings with new guidance
384484
384485         · 0835b005b7 Use a test that makes the extra file read unnecessary
384486
384487         · 6d6121a6e5 Use flags when checking whether content was added previ‐
384488           ously
384489
384490         · b25e609e9e Set flags=8 since now the file is read  as  a  MULTILINE
384491           string by default
384492
384493         · 89e8dcdffd Use finally block to ensure mmap object is closed
384494
384495         · 5aea6647c9 Add support for multiline regex in file.replace
384496
384497       · ISSUE  #19673:  (holyzhou) partition.mkpart in parted modules doesn't
384498         work (refs: #28175)
384499
384500       · PR #28175: (twangboy) Fixes #19673 @ 2015-10-21 20:48:24 UTC
384501
384502         · 2225925fb5 Merge pull request #28175 from twangboy/fix_19673
384503
384504         · ae8fbb208f Fixes #19673
384505
384506       · PR #28140: (rallytime)  Add  OpenBSD  installation  documentation  to
384507         2015.5 branch @ 2015-10-20 16:31:34 UTC
384508
384509         · PR  #28103: (ajacoutot) OpenBSD salt package: update list of depen‐
384510           dencies. (refs: #28140)
384511
384512         · ab18dcf637 Merge pull request #28140  from  rallytime/bsd-installa‐
384513           tion-doc
384514
384515         · 458a544d83 Add OpenBSD installation documentation to 2015.5 branch
384516
384517       · ISSUE  #28101:  (bogdanr)  salt-cloud ec2 list-sizes doesn't show all
384518         available sizes (refs: #28138)
384519
384520       · PR #28138: (rallytime) Back-port #28130 EC2  Sizes  Only  portion  to
384521         2015.5 @ 2015-10-20 16:29:09 UTC
384522
384523         · PR  #28130:  (bogdanr)  Ec2 upload public key and updated instances
384524           size list (refs: #28138)
384525
384526         · fad38eb3c3    Merge    pull    request    #28138    from     rally‐
384527           time/bp-28130-sizes-only
384528
384529         · 6ab31e1886 Pylint
384530
384531         · 37e4ed58a9 Added missing comma
384532
384533         · 667f5e669f  Added  a  bunch of instance sizes and updated some out‐
384534           dated ones
384535
384536       · ISSUE #26844: (double-yaya) The function "state.sls"  is  running  as
384537         PID  XXXX and was started at .... with jid XXXX always shows the cur‐
384538         rent jid (refs: #28097)
384539
384540       · PR #28097: (jacksontj) For all multi-part messages, check  the  head‐
384541         ers. If the header is not … @ 2015-10-20 15:00:18 UTC
384542
384543         · ce8f858536 Merge pull request #28097 from jacksontj/2015.5
384544
384545         · 75e04bcbbc  For  all multi-part messages, check the headers. If the
384546           header is not your minion_id, skip the message
384547
384548       · ISSUE #23655: (arthurlogilab) salt-cloud with lxc should  not  trace‐
384549         back when minion is unreacheable (refs: #28117)
384550
384551       · PR  #28117:  (rallytime)  Clean  up  stacktrace  when master can't be
384552         reached in lxc cloud driver @ 2015-10-20 12:41:12 UTC
384553
384554         · 9cdb970289 Merge pull request #28117 from rallytime/fix-23655
384555
384556         · dfb908e405 Clean up stacktrace when master can't be reached in  lxc
384557           cloud driver
384558
384559       · PR  #28110: (terminalmage) Add explanation of file_client: local set‐
384560         ting masterless mode @ 2015-10-20 12:28:05 UTC
384561
384562         · bf7ed0a397 Merge  pull  request  #28110  from  terminalmage/master‐
384563           less-mode
384564
384565         · ed90103124 Add explanation of file_client: local setting masterless
384566           mode
384567
384568       · ISSUE #27940: (multani) salt-cloud creating  lxc  containers  doesn't
384569         fire "salt/cloud/*/created" event (refs: #28109)
384570
384571       · PR  #28109: (rallytime) Add created reactor event to lxc cloud driver
384572         @ 2015-10-19 20:32:41 UTC
384573
384574         · a569ef4980 Merge pull request #28109 from rallytime/fix-27940
384575
384576         · 18b2245611 Add created reactor event to lxc cloud driver
384577
384578       · ISSUE #21845: (kitsemets) pip.install: fails in v2015.2.0rc1 when the
384579         package is already installed (pip v1.0) (refs: #27996)
384580
384581       · PR  #27996:  (rallytime) Don't fail if pip package is already present
384582         and pip1 is installed @ 2015-10-19 12:59:17 UTC
384583
384584         · d4604fdb26 Merge pull request #27996 from rallytime/fix-21845
384585
384586         · f8380d751e Provide empty string as default stdout instead of None
384587
384588         · f9406b5828 Don't fail if pip package is already present and pip1 is
384589           installed
384590
384591       · PR  #28056:  (rallytime)  Back-port  #28033  to  2015.5  @ 2015-10-19
384592         12:55:10 UTC
384593
384594         · PR #28033: (twangboy) Fixed win_useradd.py (refs: #28056)
384595
384596         · 28b97c514f Merge pull request #28056 from rallytime/bp-28033
384597
384598         · af2c5ab759 Fixed win_useradd.py
384599
384600       · PR #28059:  (rallytime)  Back-port  #28040  to  2015.5  @  2015-10-18
384601         16:17:29 UTC
384602
384603         · PR #28040: (erchn) Swift rackspace fixes (refs: #28059)
384604
384605         · dfc3aaec74 Merge pull request #28059 from rallytime/bp-28040
384606
384607         · 76a0d4937b Revert "Allow passing in auth_version, defaulting to 2."
384608
384609         · 63d5675d34 default auth_version = 2
384610
384611         · 8072716888 remove extra spaces
384612
384613         · 9770f56f04  cleanup  whitespace,  default  to None to be consistent
384614           with profile
384615
384616         · f4adfe98c0 Allow passing in auth_version, defaulting to 2.
384617
384618         · fab1ad39af Rackspace support for switft module.
384619
384620       · ISSUE #27534: (llevar)  file.managed  can't  retrieve  file  via  ftp
384621         (refs: #28047)
384622
384623       · PR  #28047:  (cachedout)  Restore  FTP functionality to file client @
384624         2015-10-18 16:16:46 UTC
384625
384626         · d1fa036b55 Merge pull request #28047 from cachedout/issue_27534
384627
384628         · 6ea37ddbca Context manager
384629
384630         · 4d6f6bb371 Lint
384631
384632         · 59018289dc Restore FTP functionality to file client
384633
384634       · PR #28032: (twangboy) Fixed win_path.py @ 2015-10-17 15:16:15 UTC
384635
384636         · fd2ca2df1b Merge pull request #28032 from twangboy/fix_win_path
384637
384638         · 2bcac93314 Fixed win_path.py
384639
384640       · ISSUE #26336: (jfindlay) windows user.present broken (refs: #28003)
384641
384642       · PR #28037:  (rallytime)  Back-port  #28003  to  2015.5  @  2015-10-16
384643         20:59:52 UTC
384644
384645         · PR #28003: (twangboy) Fix #26336 (refs: #28037)
384646
384647         · 88c1770be4 Merge pull request #28037 from rallytime/bp-28003
384648
384649         · 4fcf51fb1e Fix PR #26336
384650
384651       · PR  #28031:  (jacobhammons) Updated release notes with additional CVE
384652         information @ 2015-10-16 16:19:37 UTC
384653
384654         · de727d8bd2 Merge pull request #28031 from jacobhammons/relnotes6
384655
384656         · 05927bb6f0 Updated release notes with additional CVE information
384657
384658       · ISSUE #27897: (Inveracity) request to add \\r  escape  character  for
384659         salt.states.host for windows (refs: #28008)
384660
384661       · PR  #28008: (jfindlay) platform independent line endings in hosts mod
384662         @ 2015-10-16 13:20:28 UTC
384663
384664         · 16c0272849 Merge pull request #28008 from jfindlay/host_path
384665
384666         · 9f7047dd3c platform independent line endings in hosts mod
384667
384668       · ISSUE #28010: (vakulich)  Error  "KeyError:  'ret'"  appeared  during
384669         salt.state  run  in  orchestrate  module  if  minion had an exception
384670         (refs: #28012)
384671
384672       · PR #28012: (rallytime) Clean up stack trace when something goes wrong
384673         with minion output @ 2015-10-16 12:40:59 UTC
384674
384675         · d41018fa8e Merge pull request #28012 from rallytime/fix-28010
384676
384677         · 0d7059e0c2 Clean up stack trace when something goes wrong with min‐
384678           ion output
384679
384680       · PR #27995: (jacobhammons) added link to grains security FAQ  to  tar‐
384681         geting and pillar topics.  @ 2015-10-15 21:15:31 UTC
384682
384683         · f728307001 Merge pull request #27995 from jacobhammons/pillar-doc
384684
384685         · 2870af2ba3  added link to grains security FAQ to targeting and pil‐
384686           lar topics.
384687
384688       · PR #27986: (jacobhammons) Changed current release to  5.6  and  added
384689         CVE to release notes @ 2015-10-15 17:25:41 UTC
384690
384691         · efede904a7 Merge pull request #27986 from jacobhammons/dot6
384692
384693         · bb61c68c11  Changed current release to 5.6 and added CVE to release
384694           notes
384695
384696       · PR #27913: (pass-by-value) Set default @ 2015-10-14 14:03:36 UTC
384697
384698         · 831ec680d9  Merge  pull  request  #27913  from  pass-by-value/prox‐
384699           mox_verify_ssl
384700
384701         · 0b721efe37 Set default
384702
384703       · PR  #27876:  (terminalmage)  2015.5 branch: Fix traceback when 2015.8
384704         git ext_pillar config schema used @ 2015-10-13 14:58:45 UTC
384705
384706         · 41cccb3a30 Merge pull  request  #27876  from  terminalmage/git_pil‐
384707           lar-AttributeError-2015.5
384708
384709         · 07794c837a  2015.5 branch: Fix traceback when 2015.8 git ext_pillar
384710           config schema used
384711
384712       · ISSUE #27610: (benburkert) PR #27201 broke ssh_known_hosts with :port
384713         (refs: #27726)
384714
384715       · ISSUE #27187: (SeverinLeonhardt) ssh_known_hosts.present hashes other
384716         entries even with hash_hostname: false (refs: #27201)
384717
384718       · PR  #27726:  (jfindlay)   deprecate   hash_hostname   in   favor   of
384719         hash_known_hosts @ 2015-10-12 16:19:09 UTC
384720
384721         · PR  #27201:  (jfindlay)  rename  hash_hostname  to hash_known_hosts
384722           (refs: #27726)
384723
384724         · c9c3b7760e Merge pull request #27726 from jfindlay/hashhosts
384725
384726         · ebce47de7c add docs to ssh.recv_known_host exec module fcn
384727
384728         · b6ee16b1e5 deprecate hash_hostname in favor of hash_known_hosts
384729
384730       · ISSUE #27735: (go8ose) saltutils.find_cached_job doesn't work  (refs:
384731         #27776)
384732
384733       · PR  #27776: (jfindlay) return message when local jobs_cache not found
384734         @ 2015-10-12 16:11:41 UTC
384735
384736         · 18e31584b0 Merge pull request #27776 from jfindlay/local_msg
384737
384738         · 03afa3cffa return message when local jobs_cache not found
384739
384740       · ISSUE  #27665:  (ahammond)   user.absent   should   not   "fail"   if
384741         /var/spool/mail/<user> already does not exist. (refs: #27766)
384742
384743       · PR  #27766:  (jfindlay)  better  check  for  debian  userdel  error @
384744         2015-10-12 15:14:33 UTC
384745
384746         · 86cc7b5537 Merge pull request #27766 from jfindlay/debmail
384747
384748         · ee78da2c27 better check for debian userdel error
384749
384750       · ISSUE #27756: (iggy) syslog returner formats line incorrectly  (refs:
384751         #27758)
384752
384753       · PR  #27758:  (iggy)  Remove  redundant  text  from  syslog returner @
384754         2015-10-12 15:09:49 UTC
384755
384756         · c224386c9a Merge pull request #27758 from iggy/patch-1
384757
384758         · 0994fb6a8c Remove redundant text from syslog returner
384759
384760       · ISSUE #27832: (viking60) Salt fails to recognize Manjaro (as an  Arch
384761         derivate) (refs: #27841)
384762
384763       · PR  #27841:  (terminalmage) Detect Manjaro Linux as Arch derivative @
384764         2015-10-12 14:53:46 UTC
384765
384766         · 34a005041f Merge pull request #27841 from terminalmage/issue27832
384767
384768         · 8e09fbd6a3 Detect Manjaro Linux as Arch derivative
384769
384770       · ISSUE #26538: (seanjnkns) salt.states.file.managed generates  warning
384771         when used in place of salt.states.file.touch (refs: #27806)
384772
384773       · PR  #27852:  (rallytime)  Back-port  #27806  to  2015.5  @ 2015-10-12
384774         14:53:17 UTC
384775
384776         · PR #27806: (blast-hardcheese) Empty string is falsy (refs: #27852)
384777
384778         · 3944a498ad Merge pull request #27852 from rallytime/bp-27806
384779
384780         · a84bf18bc4 Empty string is falsy
384781
384782       · ISSUE #27831: (basepi) v2015.5.5 highstate outputter stacktracing for
384783         jobs.lookup_jid (refs: #27838)
384784
384785       · PR   #27838:   (basepi)   [2015.5]   Fix   highstate   outputter  for
384786         jobs.lookup_jid @ 2015-10-09 22:26:28 UTC
384787
384788         · PR #25521: (cachedout) Fix outputter for state.orch (refs: #27838)
384789
384790         · 7508a1c474 Merge pull request #27838  from  basepi/fix.runner.high‐
384791           state.outputter.27831
384792
384793         · 8ae9b66fd9 Don't pop 'outputter', we expect it further down
384794
384795       · PR #27791: (eguven) 2015.5 postgres_user groups backport @ 2015-10-08
384796         23:59:08 UTC
384797
384798         · d178315f93  Merge  pull  request  #27791  from  eguven/2015.5-post‐
384799           gres-user-groups-backport
384800
384801         · 2caf1d21d6 fix test
384802
384803         · bc90c5bffe improve change reporting for postgres_user groups
384804
384805         · 8712bce91a backport postgres_user groups
384806
384807       · PR  #27759:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
384808         2015-10-07 18:01:54 UTC
384809
384810         · b2937b6a16  Merge  pull  request  #27759   from   basepi/merge-for‐
384811           ward-2015.5
384812
384813         · 792ee084bb  Merge  remote-tracking  branch  'upstream/2014.7'  into
384814           merge-forward-2015.5
384815
384816         · d284eb165b Merge pull request #27390  from  JaseFace/schedule-miss‐
384817           ing-enabled
384818
384819         · 563db71bfd  Ensure we pass on the enable setting if present, or use
384820           the default of True if not in build_schedule_item() Prior to  this,
384821           when  schedule.present  compares  the  existing schedule to the one
384822           crafted by this function, enabled will actually be removed at  each
384823           run.   schedule.present  sees  a modification needs to be made, and
384824           invokes schedule.modify, which does so with enabled: True, creating
384825           and endless loop of an 'enabled' removal and addition.
384826
384827       · ISSUE #26673: (robkinyon) __virtual__() doesn't work without __virtu‐
384828         alname__ (refs: #27732)
384829
384830       · PR #27732: (jacobhammons) update docs for __virtual__ and  __virtual‐
384831         name__ @ 2015-10-07 17:29:31 UTC
384832
384833         · 4b9128b491 Merge pull request #27732 from jacobhammons/26673
384834
384835         · 75cc07cf10  noted  that  __virtual__  can return False and an error
384836           string
384837
384838         · b928e1afa8 update docs for  __virtual__  and  __virtualname__  Refs
384839           #26673
384840
384841       · PR  #27747:  (Sacro)  Chocolatey  doesn't  have  a  help  command.  @
384842         2015-10-07 16:06:53 UTC
384843
384844         · a130896d1c Merge pull request #27747 from Sacro/fix-chocolatey-ver‐
384845           sion
384846
384847         · 8f1fa9e78e Chocolatey doesn't have a help command.
384848
384849       · PR  #27733:  (jacobhammons)  hardening  topic - updates to docs.salt‐
384850         stack.com theme @ 2015-10-07 01:44:00 UTC
384851
384852         · 4e48651de0 Merge pull request #27733 from jacobhammons/bug-fixes
384853
384854         · cbecd4f553 Updated saltstack2 theme to add SaltConf16 banner
384855
384856         · 117e0c2bcc Added hardening topic based on the information  in  Refs
384857           #27088
384858
384859       · ISSUE #9051: (olenz) Add bash completion to the docs (refs: #27706)
384860
384861       · ISSUE #27005: (johanek) grains precedence (refs: #27706)
384862
384863       · ISSUE  #21475: (quantonganh) Targeting with pillar should be added in
384864         to the main targeting page (refs: #27706)
384865
384866       · ISSUE #14876: (whiteinge) Create  a  pre-Salted  tutorial  VM  (refs:
384867         #27706)
384868
384869       · ISSUE  #13407:  (gravyboat)  Create page explaining how to pass vari‐
384870         ables on the command line (refs: #27706)
384871
384872       · PR #27706: (jacobhammons) Assorted doc bugs @ 2015-10-06 05:35:29 UTC
384873
384874         · c58da846bf Merge pull request #27706 from jacobhammons/bug-fixes
384875
384876         · 76dc8de71b Assorted doc bugs Refs #9051  Refs  #13407  Refs  #21475
384877           Refs #14876 Refs #27005
384878
384879       · PR  #27695:  (rallytime)  Back-port  #27671  to  2015.5  @ 2015-10-05
384880         21:57:36 UTC
384881
384882         · PR #27671: (gashev) Added skip test_ext_pillar_env_mapping  if  git
384883           module does not exist. (refs: #27695)
384884
384885         · 43fba89865 Merge pull request #27695 from rallytime/bp-27671
384886
384887         · 2a88028595  Added  skip  test_ext_pillar_env_mapping  if git module
384888           does not exist.
384889
384890       · ISSUE #27501: (yermulnik) [FreeBSD]  "pkg  search"  behavior  changed
384891         since 1.5 series (refs: #27524)
384892
384893       · PR #27524: (jfindlay) parse pkgng output in quiet mode for >= 1.6.1 @
384894         2015-10-05 21:22:40 UTC
384895
384896         · cb3d92676e Merge pull request #27524 from jfindlay/pkgng_quiet
384897
384898         · 5e9107b970 parse pkgng output in quiet mode for >= 1.6.0
384899
384900       · PR #27686:  (rallytime)  Back-port  #27476  to  2015.5  @  2015-10-05
384901         21:17:59 UTC
384902
384903         · PR        #27476:        (belvedere-trading)        fix        for:
384904           https://github.com/saltstack/salt/issues/27373 (refs: #27686)
384905
384906         · 5b88c55cc3 Merge pull request #27686 from rallytime/bp-27476
384907
384908         · 3e08d3de8a fix for: https://github.com/saltstack/salt/issues/27373
384909
384910       · ISSUE #27655: (gracinet)  postgres_local_cache  handling  of  success
384911         (refs: #27656)
384912
384913       · PR  #27684:  (rallytime)  Back-port  #27656  to  2015.5  @ 2015-10-05
384914         21:17:55 UTC
384915
384916         · PR #27656: (gracinet) Fix #27655:  handling  of  success  in  post‐
384917           gres_local_cache (refs: #27684)
384918
384919         · f9ddd4647f Merge pull request #27684 from rallytime/bp-27656
384920
384921         · d3780cba00 Fix #27655: handling of success in postgres_local_cache
384922
384923       · PR  #27683:  (rallytime)  Back-port  #27659  to  2015.5  @ 2015-10-05
384924         21:17:30 UTC
384925
384926         · PR #27659: (gnubyexample) .pub as public key is what we should send
384927           to remote (refs: #27683)
384928
384929         · 7ca6f854ff Merge pull request #27683 from rallytime/bp-27659
384930
384931         · 84b6ee0c58 .pub as public key is what we should send to remote
384932
384933       · PR  #27682:  (rallytime)  Back-port  #27566  to  2015.5  @ 2015-10-05
384934         21:17:26 UTC
384935
384936         · PR #27566: (blueyed) returners.local_cache:  fix  endless  loop  on
384937           OSError (refs: #27682)
384938
384939         · a0f3e34656 Merge pull request #27682 from rallytime/bp-27566
384940
384941         · 2a44255748 minor: fix/format doc for returners.local_cache.prep_jid
384942
384943         · fd485e2396 returners.local_cache: fix endless loop on OSError
384944
384945       · ISSUE   #25813:   (whytewolf)   debconf.set   throwing  exception  in
384946         2015.8.0rc2 (refs: #25928)
384947
384948       · PR #27681:  (rallytime)  Back-port  #25928  to  2015.5  @  2015-10-05
384949         21:17:19 UTC
384950
384951         · PR  #25928:  (cachedout)  Fix  stacktrace  for  non-existant states
384952           (refs: #27681)
384953
384954         · 0b9ba911c4 Merge pull request #27681 from rallytime/bp-25928
384955
384956         · 17e1ddf137 Fix stacktrace for non-existant states
384957
384958       · ISSUE #27505: (silenius) [FreeBSD] state.service +  provider  daemon‐
384959         tools is broken (refs: #27535)
384960
384961       · PR  #27680:  (rallytime)  Back-port  #27535  to  2015.5  @ 2015-10-05
384962         21:17:10 UTC
384963
384964         · PR #27535: (silenius) Issue 27505 (refs: #27680)
384965
384966         · 23da0d316a Merge pull request #27680 from rallytime/bp-27535
384967
384968         · 04aed5e105 Versionadded change  since  2015.5.6  has  already  been
384969           tagged
384970
384971         · 579f2646ba .. versionadded:: 2015.5.6
384972
384973         · cbaf46e066 python <2.7 compability (pylint issue)
384974
384975         · ecde499478 s/bin/b to avoid confusion with bin()
384976
384977         · 4237c5db80 add a __virtual__ to check that daemontools is installed
384978           properly
384979
384980         · 623935a1bc fix doc
384981
384982         · 573de3abd6 fix pylint issue
384983
384984         · 5eb6a30d40 fix pep8 issues
384985
384986         · 298cf4f5c0 import missing logging module
384987
384988         · fe0ad36609 log was missing
384989
384990         · e457083465 s/systemd/FreeBSD
384991
384992         · 3512712e89 forgot service name..
384993
384994         · 8f193a7bcc fixes #27505
384995
384996       · PR #27442: (JaseFace)  Ensure  we  pass  on  the  enable  setting  if
384997         present, or use the default of True if not in build_schedule_item() @
384998         2015-10-05 18:01:29 UTC
384999
385000         · 7d7b97eab6    Merge    pull    request    #27442     from     Jase‐
385001           Face/fix-27391-for-2015.5
385002
385003         · bfbf63e1cc  Ensure we pass on the enable setting if present, or use
385004           the default of True if not in build_schedule_item() Prior to  this,
385005           when  schedule.present  compares  the  existing schedule to the one
385006           crafted by this function, enabled will actually be removed at  each
385007           run.   schedule.present  sees  a modification needs to be made, and
385008           invokes schedule.modify, which does so with enabled: True, creating
385009           and endless loop of an 'enabled' removal and addition.
385010
385011       · ISSUE  #26320: (schlagify) pkg & diskusage beacons not sending alerts
385012         (refs: #27641)
385013
385014       · PR #27641: (rallytime) Gate the psutil import and add depends doc for
385015         diskusage beacon @ 2015-10-05 17:00:48 UTC
385016
385017         · ccbba8656b  Merge  pull  request  #27641  from  rallytime/gate-psu‐
385018           til-diskusage
385019
385020         · da2d93a3dd Gate the psutil import and add depends doc for diskusage
385021           beacon
385022
385023       · PR  #27644:  (rallytime)  Back-port  #27640  to  2015.5  @ 2015-10-05
385024         14:55:31 UTC
385025
385026         · PR #27640: (stephen144) fix typo  in  default  pillar  path  (refs:
385027           #27644)
385028
385029         · 09183994f9 Merge pull request #27644 from rallytime/bp-27640
385030
385031         · a9063a9745 fix typo in default pillar path
385032
385033       · ISSUE #27609: (rallytime) GCE with various external_ip settings cause
385034         stacktraces (refs: #27612)
385035
385036       · PR #27612: (rallytime) Fix GCE external_ip stacktraces  in  2015.5  @
385037         2015-10-02 15:42:20 UTC
385038
385039         · 27fcecccbe Merge pull request #27612 from rallytime/fix-27609
385040
385041         · 8dc047dc18  If  external_up  is set to None, don't stacktrace, just
385042           use the private ip.
385043
385044         · 2ebf790f9f [salt-cloud] gce: don't stacktrace if Ephemeral is given
385045           instead of ephemeral
385046
385047       · PR #27568: (jacobhammons) regenerated man pages @ 2015-10-01 15:39:37
385048         UTC
385049
385050         · c84a1edc1b   Merge   pull    request    #27568    from    jacobham‐
385051           mons/man-pages-five
385052
385053         · b59c03d20d regenerated man pages
385054
385055   Salt 2015.5.8 Release Notes
385056       release
385057              2015-12-01
385058
385059       Version 2015.5.8 is a bugfix release for 2015.5.0.
385060
385061   Statistics
385062       · Total Merges: 17
385063
385064       · Total Issue References: 12
385065
385066       · Total PR References: 27
385067
385068       · Contributors:  12  (MasterNayru,  TronPaul, basepi, cachedout, cxmcc,
385069         jfindlay,  kevinlondon,   messa,   rallytime,   tehmaspc,   twangboy,
385070         whiteinge)
385071
385072   Security Fix
385073       CVE-2015-8034 Saving state.sls cache data to disk with insecure permis‐
385074       sions
385075
385076       This affects users of the state.sls function. The state  run  cache  on
385077       the  minion  was  being  created  with incorrect permissions. This file
385078       could potentially contain sensitive data that was  inserted  via  jinja
385079       into  the  state SLS files. The permissions for this file are now being
385080       set correctly. Thanks to zmalone for bringing this issue to our  atten‐
385081       tion.
385082
385083   Changelog for v2015.5.7..v2015.5.8
385084       Generated at: 2018-05-27 22:25:07 UTC
385085
385086       · ISSUE  #28883: (ldelossa) Issues running select states -  local vari‐
385087         able 'salt' referenced before assignment (refs: #29113)
385088
385089       · PR #29164: (jfindlay) Backport #29113 @ 2015-11-24 21:26:17 UTC
385090
385091         · PR #29113: (TronPaul) Kill unneeded import (refs: #29164)
385092
385093         · PR #28740:  (MasterNayru)  Add  missing  S3  module  import  (refs:
385094           #28839, #29113)
385095
385096         · a26c10a811 Merge pull request #29164 from jfindlay/bp-29113
385097
385098         · 50fab35188 kill unneeded import
385099
385100       · PR  #29138:  (jfindlay)  add  2015.5.8  release  notes  @  2015-11-23
385101         23:22:48 UTC
385102
385103         · 4f03196e7d Merge pull request #29138 from jfindlay/2015.5
385104
385105         · be045f5cb1 add 2015.5.8 release notes
385106
385107       · ISSUE #29110: (mohshami) 2015.8.2 broke orchestration (refs: #29122)
385108
385109       · ISSUE #28010: (vakulich)  Error  "KeyError:  'ret'"  appeared  during
385110         salt.state  run  in  orchestrate  module  if  minion had an exception
385111         (refs: #28012)
385112
385113       · PR #29128: (cachedout) Set a safer default value for ret in saltmod @
385114         2015-11-23 17:07:40 UTC
385115
385116         · PR  #29122:  (cachedout)  Fix  broken  state  orchestration  (refs:
385117           #29128)
385118
385119         · PR #28012: (rallytime) Clean up stack  trace  when  something  goes
385120           wrong with minion output (refs: #29122)
385121
385122         · 219367a23d Merge pull request #29128 from cachedout/tweak_29122
385123
385124         · b08858b040 Missed check
385125
385126         · 584efe81ee Set a safer default value for ret in saltmod
385127
385128       · ISSUE #29110: (mohshami) 2015.8.2 broke orchestration (refs: #29122)
385129
385130       · ISSUE  #28010:  (vakulich)  Error  "KeyError:  'ret'" appeared during
385131         salt.state run in orchestrate  module  if  minion  had  an  exception
385132         (refs: #28012)
385133
385134       · PR  #29122: (cachedout) Fix broken state orchestration (refs: #29128)
385135         @ 2015-11-23 16:24:18 UTC
385136
385137         · PR #28012: (rallytime) Clean up stack  trace  when  something  goes
385138           wrong with minion output (refs: #29122)
385139
385140         · 2250a36647 Merge pull request #29122 from cachedout/issue_29110
385141
385142         · 4b9302d794 Fix broken state orchestration
385143
385144       · PR  #29096:  (rallytime)  Back-port  #29093  to  2015.5  @ 2015-11-22
385145         17:02:51 UTC
385146
385147         · PR #29093: (cxmcc) Compare gem versions as a string. (refs: #29096)
385148
385149         · 200e771efb Merge pull request #29096 from rallytime/bp-29093
385150
385151         · f5734423a4 Compare gem versions as a string.
385152
385153       · PR #29084:  (rallytime)  Back-port  #29055  to  2015.5  @  2015-11-20
385154         20:57:54 UTC
385155
385156         · PR #29055: (cachedout) Add section to style guide (refs: #29084)
385157
385158         · d8a2018bc8 Merge pull request #29084 from rallytime/bp-29055
385159
385160         · 52e650aed9 Add section to style guide
385161
385162       · PR  #29083:  (rallytime)  Back-port  #29053  to  2015.5  @ 2015-11-20
385163         20:57:38 UTC
385164
385165         · PR #29053: (kevinlondon) Update rabbitmq_user.py (refs: #29083)
385166
385167         · b5cff1a351 Merge pull request #29083 from rallytime/bp-29053
385168
385169         · f1884de0e7 Update rabbitmq_user.py
385170
385171       · ISSUE #28928: (twangboy) Fix user.present 2015.5 (refs: #28932)
385172
385173       · PR #28932: (twangboy) Fixed user.present / user.absent in  windows  @
385174         2015-11-18 21:45:53 UTC
385175
385176         · PR #28627: (twangboy) Backport win_useradd (refs: #28932)
385177
385178         · b3e3bebef0 Merge pull request #28932 from twangboy/fix_28928
385179
385180         · 0653a04887 Fixed user.present / user.absent in windows
385181
385182       · ISSUE  #26911:  (dsumsky) file.manage state does not work with Amazon
385183         S3 URLs on Windows (refs: #28630)
385184
385185       · ISSUE #13850: (ryan-lane) s3://  urls  in  file.managed  (and  likely
385186         elsewhere)  require s3.key and s3.keyid to be in minion config (refs:
385187         #28630)
385188
385189       · PR #29011:  (rallytime)  Back-port  #28630  to  2015.5  @  2015-11-18
385190         17:50:05 UTC
385191
385192         · PR #28630: (messa) Use S3 credentials from Pillar (refs: #29011)
385193
385194         · a2e4a227e0 Merge pull request #29011 from rallytime/bp-28630
385195
385196         · 7baccc1b05 Lint - newline before def
385197
385198         · 9e5c16d4da Reading S3 credentials from Pillar
385199
385200         · a3216f813d  Fixed  requests HTTPError handler, it was still in url‐
385201           lib2 style
385202
385203       · PR #28982: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
385204         2015-11-18 00:49:32 UTC
385205
385206         · 1a4cd6002f   Merge   pull  request  #28982  from  basepi/merge-for‐
385207           ward-2015.5
385208
385209         · bfbb109fbd  Merge  remote-tracking  branch  'upstream/2014.7'  into
385210           merge-forward-2015.5
385211
385212         · 4b8bdd0afb Merge pull request #28839 from cachedout/revert_28740
385213
385214         · 215b26c06f Revert #28740
385215
385216       · ISSUE  #28947:  (dmyerscough)  sdb  modules are not synced out (refs:
385217         #28949)
385218
385219       · PR #28949: (whiteinge) Add sync_sdb execution function  @  2015-11-17
385220         15:35:38 UTC
385221
385222         · edd26d763a Merge pull request #28949 from whiteinge/sync-sdb
385223
385224         · b0ec9ab25b Add sync_sdb execution function
385225
385226       · ISSUE #28888: (twangboy) Fix file.comment (refs: #28930)
385227
385228       · PR #28930: (twangboy) Added missing import mmap required by file.py @
385229         2015-11-16 23:17:23 UTC
385230
385231         · 43da1bc4ce Merge pull request #28930 from twangboy/fix_28888
385232
385233         · f5c489eaad Added missing import mmap required by file.py
385234
385235       · PR #28908: (rallytime) A couple of spelling fixes for doc conventions
385236         page.  @ 2015-11-16 02:29:35 UTC
385237
385238         · 2488b873b8  Merge  pull  request  #28908 from rallytime/doc-conven‐
385239           tion-spelling
385240
385241         · 60e6eddb77 A couple of spelling fixes for doc conventions page.
385242
385243       · ISSUE #22442: (allanliu) rest_cherrypy /keys URL does not handle JSON
385244         requests (refs: #28902)
385245
385246       · PR  #28902: (whiteinge) Fix missing JSON support for /keys endpoint @
385247         2015-11-15 15:36:05 UTC
385248
385249         · 827a1ae020 Merge pull request #28902 from whiteinge/json-keys
385250
385251         · 9745903301 Fix missing JSON support for /keys endpoint
385252
385253       · PR #28897:  (rallytime)  Back-port  #28873  to  2015.5  @  2015-11-15
385254         00:43:35 UTC
385255
385256         · PR  #28873:  (tehmaspc)  Fix  salt-cloud  help  output  typo (refs:
385257           #28897)
385258
385259         · d23bd49130 Merge pull request #28897 from rallytime/bp-28873
385260
385261         · 077e671ead Fix salt-cloud help output typo
385262
385263       · ISSUE #28870: (basepi) mdadm commands failing (refs: #28871)
385264
385265       · PR #28871: (basepi) [2015.5] Fix command generation for  mdadm.assem‐
385266         ble @ 2015-11-13 21:54:33 UTC
385267
385268         · a9dc8b6ca6 Merge pull request #28871 from basepi/mdadm.fix.28870
385269
385270         · 323bc2d2ac Fix command generation for mdadm.assemble
385271
385272   Salt 2015.5.9 Release Notes
385273       release
385274              2016-01-11
385275
385276       Version 2015.5.9 is a bugfix release for 2015.5.0.
385277
385278   Statistics
385279       · Total Merges: 45
385280
385281       · Total Issue References: 21
385282
385283       · Total PR References: 48
385284
385285       · Contributors: 21 (abednarik, aletourneau, attiasr, basepi, cachedout,
385286         clan,  clarkperkins,  cro,   dmyerscough,   jacobhammons,   jfindlay,
385287         jsutton,  justinta,  lorengordon, markckimball, mpreziuso, rallytime,
385288         terminalmage, titilambert, twangboy, zmalone)
385289
385290   Changelog for v2015.5.8..v2015.5.9
385291       Generated at: 2018-05-27 22:31:06 UTC
385292
385293       · PR  #30248:  (jfindlay)  add  2015.5.9  release  notes  @  2016-01-08
385294         23:13:10 UTC
385295
385296         · 92889db638 Merge pull request #30248 from jfindlay/2015.5
385297
385298         · 741f7aba31 add 2015.5.9 release notes
385299
385300       · PR  #30237:  (jacobhammons)  Updated  man  pages  and doc version for
385301         2015.5.9 @ 2016-01-08 18:10:05 UTC
385302
385303         · 7a329d89d7   Merge   pull    request    #30237    from    jacobham‐
385304           mons/man-pages-prev
385305
385306         · 2431c4c5c3 Updated man page and doc conf.py copyright year to 2016
385307
385308         · fe3da1c174 Updated man pages and doc version for 2015.5.9
385309
385310       · PR #30207: (rallytime) Use correct spacing in rabbitmq state examples
385311         @ 2016-01-07 18:37:35 UTC
385312
385313         · 2c0b725924  Merge   pull   request   #30207   from   rallytime/rab‐
385314           bitmq_states_doc_fix
385315
385316         · 8d48c24182 Use correct spacing in rabbitmq state examples
385317
385318       · PR  #30191:  (jacobhammons)  Updated  doc  site  banners @ 2016-01-06
385319         22:37:40 UTC
385320
385321         · b49cf910f4 Merge pull request #30191 from jacobhammons/banner-prev
385322
385323         · c3390955b0 Updated doc site banners
385324
385325       · ISSUE #29633: (twellspring) user.present does not modify home  direc‐
385326         tory (refs: #30125)
385327
385328       · PR  #30125: (abednarik) Update user home event when createhome is set
385329         to False @ 2016-01-05 18:15:38 UTC
385330
385331         · 9363d6f5b6    Merge    pull    request    #30125     from     abed‐
385332           narik/update_user_home
385333
385334         · 56544a77f6 Update user home event when createhome is set to False
385335
385336       · ISSUE  #10155:  (jhenry82)  Option  to  select  a  random  master  in
385337         multi-master mode (refs: #30127)
385338
385339       · PR #30127: (jsutton) Updating documentation and example minion config
385340         for random_master/master_shuffle.  @ 2016-01-04 19:30:50 UTC
385341
385342         · 1a5d585d91 Merge pull request #30127 from jsutton/clarify-documena‐
385343           tion-for-random_master
385344
385345         · 01dbf385ef Adding random_master  to  reference  and  updating  mas‐
385346           ter_shuffle.  Adding  master_shuffle  to  the minion example config
385347           file as it is needed for multi-master PKI.
385348
385349       · PR #30110: (markckimball) Fixed flag sent to salt.utils.http in order
385350         for verify_ssl to work correctly @ 2015-12-31 21:17:53 UTC
385351
385352         · 28b1bbbe77  Merge  pull  request  #30110 from markckimball/fix-ver‐
385353           ify_ssl-in-joyent-cloud
385354
385355         · e1c08cb269 Fixed flag sent to salt.utils.http  in  order  for  ver‐
385356           ify_ssl to work appropriately.
385357
385358       · PR  #30093:  (zmalone) Noting that file_roots and "state tree" should
385359         both be avoided @ 2015-12-30 22:40:05 UTC
385360
385361         · 040412b0b1 Merge pull request #30093 from zmalone/pillar-notes
385362
385363         · cfbfd58afe Noting that file_roots and "state tree" should  both  be
385364           avoided,  because  in  some environments, the actual states show up
385365           another level down.  Adding notes about why this is undesirable.
385366
385367       · ISSUE #28120: (jtylers) Clear text passwords (refs: #30097)
385368
385369       · PR #30097: (cachedout) Note concern about cleartext password in  docs
385370         for shadow.gen_password @ 2015-12-30 22:37:33 UTC
385371
385372         · 25edefc93a  Merge  pull request #30097 from cachedout/note_on_pass‐
385373           word_process_list
385374
385375         · 58aec884ef Note  concern  about  cleartext  password  in  docs  for
385376           shadow.gen_password
385377
385378       · PR  #30089:  (mpreziuso)  Fixes  terminology  and  adds more accurate
385379         details about the algorithms @ 2015-12-30 20:02:18 UTC
385380
385381         · 6b1c3a6bf2 Merge pull request #30089 from mpreziuso/patch-1
385382
385383         · 50533add40 Fixes terminology and adds more accurate  details  about
385384           the algorithms
385385
385386       · ISSUE  #29921:  (anlutro)  pygit  0.21  not  fully  supported? (refs:
385387         #30086)
385388
385389       · PR #30086: (cachedout)  Document  that  gitfs  needs  recent  libs  @
385390         2015-12-30 19:26:05 UTC
385391
385392         · 200d09385d Merge pull request #30086 from cachedout/issue_29921
385393
385394         · 8c29e2dd6a Document that gitfs needs recent libs
385395
385396       · ISSUE  #27835: (bertjwregeer) [FreeBSD] salt-ssh hangs forever (refs:
385397         #30070)
385398
385399       · PR #30070: (cachedout) Add  documentation  on  debugging  salt-ssh  @
385400         2015-12-29 23:00:06 UTC
385401
385402         · 404414bf57 Merge pull request #30070 from cachedout/issue_27835
385403
385404         · 60431e342a Add documentation on debugging salt-ssh
385405
385406       · PR  #30059:  (mpreziuso)  Fixes  wrong  function  scope  @ 2015-12-29
385407         16:12:06 UTC
385408
385409         · 84db12212d Merge pull request #30059 from mpreziuso/patch-1
385410
385411         · 1cb1c2da07 Fixes wrong function scope
385412
385413       · PR #30025: (justinta) Skipping some Boto tests  until  resolved  moto
385414         issue @ 2015-12-28 15:21:45 UTC
385415
385416         · PR  #29725:  (cachedout)  Disable some boto tests per resolution of
385417           moto issue (refs: #30025)
385418
385419         · 1c6c9b1a06 Merge pull request #30025 from jtand/boto_tests
385420
385421         · e706642152 Skipping some Boto tests until resolved moto issue
385422
385423       · ISSUE #28956: (racooper) Netscaler  module  doc  enhancements  (refs:
385424         #29949)
385425
385426       · PR  #29949:  (aletourneau)  Enhanced netscaler docstring @ 2015-12-22
385427         20:26:52 UTC
385428
385429         · 0f91021c59 Merge pull request #29949 from aletourneau/2015.5
385430
385431         · cf855fe262 Fixed trailing white spaces
385432
385433         · 864801e002 fixed version
385434
385435         · 041d9346c4 Enhanced netscaler docstring
385436
385437       · PR #29941: (cachedout) Fix spelling error in  boto_vpc  @  2015-12-22
385438         15:49:54 UTC
385439
385440         · 229d3eb60b Merge pull request #29941 from cachedout/boto_spelling
385441
385442         · b11bfd07b8 Fix spelling error in boto_vpc
385443
385444       · ISSUE  #29880:  (githubcdr)  Salt  pkg.uptodate  fails  on Arch linux
385445         (refs: #29908)
385446
385447       · PR #29908: (cachedout) Allow kwargs to be passed  to  pacman  provide
385448         for update func @ 2015-12-22 15:04:18 UTC
385449
385450         · 69c5ada636 Merge pull request #29908 from cachedout/issue_29880
385451
385452         · 4cd77b4118  Allow  kwargs to be passed to pacman provide for update
385453           func
385454
385455       · ISSUE  #27056:  (oogali)  pkgng  provider  on  FreeBSD  does  not  do
385456         BATCH=yes (refs: #29909)
385457
385458       · PR #29909: (abednarik) FreeBSD pkgng fix for non-interactive install.
385459         @ 2015-12-22 15:03:50 UTC
385460
385461         · ad0de4d563  Merge  pull   request   #29909   from   abednarik/free‐
385462           bsd_pkgng_non_interactive_fix
385463
385464         · 8ac213001a FreeBSD pkgng fix for non-interactive install.
385465
385466       · ISSUE  #24698:  (cmhe)  docker.installed  not working (salt 2015.5.0,
385467         docker 1.6.2, dockerpy 0.5.3) (refs: #29730)
385468
385469       · PR #29730: (rallytime) Update docker-py version requirement to  0.6.0
385470         for dockerio.py files @ 2015-12-16 14:44:40 UTC
385471
385472         · f43f3d166c Merge pull request #29730 from rallytime/fix-24698
385473
385474         · 120fd5fdf0 Update docker-py version requirement to 0.6.0 for docke‐
385475           rio.py files
385476
385477       · ISSUE #23343: (micaelbergeron) npm state ignore the requested version
385478         (refs: #29715)
385479
385480       · ISSUE  #18647:  (hundt)  Version  number  in  npm state name does not
385481         result in correct version being installed (refs: #29715)
385482
385483       · PR #29715: (rallytime) Install correct package version, if  provided,
385484         for npm state.  @ 2015-12-15 23:19:45 UTC
385485
385486         · c393a4175a Merge pull request #29715 from rallytime/fix-23343
385487
385488         · a0ed857c37  Install  correct  package version, if provided, for npm
385489           state.
385490
385491       · PR #29721: (terminalmage) Fix display of multiline strings when iter‐
385492         ating over a list @ 2015-12-15 22:16:10 UTC
385493
385494         · 1310afbbc2  Merge pull request #29721 from terminalmage/nested-out‐
385495           put-multiline-fix
385496
385497         · 761be9cb93 Fix display of multiline strings when iterating  over  a
385498           list
385499
385500       · ISSUE #29488: (Shad0w1nk) salt.cloud.clouds.vmware.revert_to_snapshot
385501         crash when using the default value (refs: #29646)
385502
385503       · PR #29646: (rallytime) Don't stacktrace on kwargs.get if  kwargs=None
385504         @ 2015-12-15 19:02:58 UTC
385505
385506         · 52cc07cec9 Merge pull request #29646 from rallytime/fix-29488
385507
385508         · c5fa9e9351 Don't stacktrace on kwargs.get if kwargs=None
385509
385510       · ISSUE   #29661:   (mosuowhq)   bug   report   when   creating  VM  in
385511         /salt/cloud/clouds/nova.py (refs: #29673)
385512
385513       · PR #29673: (rallytime) Default value should be False and not  'False'
385514         @ 2015-12-14 18:08:44 UTC
385515
385516         · f606c23ea8 Merge pull request #29673 from rallytime/fix-29661
385517
385518         · e4af7a1157 Default value should be False and not 'False'
385519
385520       · PR  #29527:  (jfindlay)  2015.5.7  notes:  add  note  about not being
385521         released @ 2015-12-08 21:08:26 UTC
385522
385523         · f77c8e7baf Merge pull request #29527 from jfindlay/2015.5
385524
385525         · 1a8044f0c9 2015.5.7 notes: add note about not being released
385526
385527       · PR #29539: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
385528         2015-12-08 19:14:51 UTC
385529
385530         · 867d550271   Merge   pull  request  #29539  from  basepi/merge-for‐
385531           ward-2015.5
385532
385533         · 2c9c4ba430  Merge  remote-tracking  branch  'upstream/2014.7'  into
385534           merge-forward-2015.5
385535
385536         · 85aa70a6cb Merge pull request #29392 from jacobhammons/2014.7
385537
385538           · d7f0db1dd8  updated  version  number  to not reference a specific
385539             build from the latest branch
385540
385541       · ISSUE #12072: (vk00226)  Passing  user-data  when  provisioning   ec2
385542         instances (refs: #29504)
385543
385544       · PR #29504: (rallytime) Document userdata_file option for EC2 driver @
385545         2015-12-08 16:54:33 UTC
385546
385547         · de7f3d5a59 Merge pull request #29504 from rallytime/fix-12072
385548
385549         · 8357c95dc2 Document userdata_file option for EC2 driver
385550
385551       · ISSUE    #29101:    (jessbreckenridge)    Salt-cloud    2015.8.0    -
385552         del_*_vols_on_destroy does not work according to docs (refs: #29507)
385553
385554       · PR  #29507:  (rallytime)  Switch volumes and del_*_on_destroy example
385555         ordering @ 2015-12-08 16:50:11 UTC
385556
385557         · 65deba8bb5 Merge pull request #29507 from rallytime/ec2-doc-fix
385558
385559         · 90b4823bc2 Switch volumes and del_*_on_destroy example ordering
385560
385561       · ISSUE #28862: (trevor-h)  salt-cloud  uppercase  timeout  options  no
385562         longer recognized (refs: #29469)
385563
385564       · PR  #29469:  (abednarik)  Added  Documentation note in salt cloud.  @
385565         2015-12-07 18:27:46 UTC
385566
385567         · 0918c9294f    Merge    pull    request    #29469     from     abed‐
385568           narik/doc_note_for_saltcloud_connection_timeout
385569
385570         · 8e5c3e366a Added Documentation note in salt cloud.
385571
385572       · PR  #29461:  (dmyerscough)  Fix  resource  limits,  systemd  sets the
385573         default too small @ 2015-12-05 16:26:34 UTC
385574
385575         · e43c7c05a6    Merge    pull    request    #29461    from     dmyer‐
385576           scough/fix-resource-limits
385577
385578         · 85a8a3b033  Fix resource limits, systemd sets the default number of
385579           open files to 4096 causing te master to complain about limits  when
385580           you have a large number of keys
385581
385582       · ISSUE   #28526:   (clarkperkins)   yumpkg.installed  broken  in  salt
385583         v2015.8.1 on CentOS 6 minions (refs: #28656)
385584
385585       · PR #29439:  (rallytime)  Back-port  #28656  to  2015.5  @  2015-12-04
385586         22:56:17 UTC
385587
385588         · PR  #28656:  (clarkperkins)  #28526  fixed yumpkg module issue with
385589           pkg.installed (refs: #29439)
385590
385591         · 730f02fbdf Merge pull request #29439 from rallytime/bp-28656
385592
385593         · 2f11bb021f #28526 fixed yumpkg module
385594
385595       · PR #29418: (jacobhammons) Added CVE  2015-8034  to  2015.5.8  release
385596         notes @ 2015-12-04 03:02:53 UTC
385597
385598         · 197210d52e Merge pull request #29418 from jacobhammons/dot8
385599
385600         · 4f51a737f9 Added CVE 2015-8034 to 2015.5.8 release notes
385601
385602       · PR  #29389: (jacobhammons) updated version numbers in documentation @
385603         2015-12-03 16:27:23 UTC
385604
385605         · b3452f2a1a Merge pull request #29389 from jacobhammons/2015.5
385606
385607         · 824721ff36 updated version numbers
385608
385609       · ISSUE #26898: (twangboy) Symlinks in Windows (2015.8) (refs: #28191)
385610
385611       · PR #28501: (twangboy) Requested fixes for 26898 @ 2015-12-03 01:12:12
385612         UTC
385613
385614         · PR  #28420:  (jfindlay) fix removal of symbolic links on windows in
385615           the file state (refs: #28501)
385616
385617         · PR #28191: (twangboy) Fix 26898 (refs: #28420, #28501)
385618
385619         · 6a7a95f28a Merge pull request #28501 from twangboy/jmoney_26898
385620
385621         · c0cf33332c Fixed some Lint...
385622
385623         · df17fc59d3 Merge pull request #6 from jfindlay/twang_test
385624
385625           · bc7e0cfe64 add file.symlink unit tests
385626
385627           · 9381dc7215 orthogonalize file.symlink unit tests
385628
385629         · 8f462ba044 Merge pull request #5 from cachedout/fix_twangboy_test
385630
385631           · 5293150d25 Fix tests
385632
385633         · 7d39091c91 Fixed some more lint
385634
385635         · 3dbd62af2c Fixed some tests... hopefully
385636
385637         · f187db3288 Removed unnecessary logic
385638
385639         · 89ebd268e6 Added file attributes restore on fail
385640
385641         · 9ec72ca724 fix file state unit tests for win symlink feature
385642
385643         · 69c32a663e Fixed some lint
385644
385645         · 638dec5027 Fixed some tests... let's see if they're really are
385646
385647         · 5ed7a99792 Replaced instances of shutil.rmtree in file state
385648
385649         · 2651ce509f Fix file.remove for windows
385650
385651       · ISSUE #29344: (justinta) file.search broken on python 2.6 with  empty
385652         files (refs: #29348)
385653
385654       · PR  #29348: (justinta) Fixes an file.search on python2.6 @ 2015-12-02
385655         23:26:36 UTC
385656
385657         · 760a521603 Merge pull request #29348 from jtand/file_search_fix
385658
385659         · 04f82bd4fd Fixes an file.search on python2.6
385660
385661       · ISSUE  #29206:  (mschiff)   ssh_known_hosts.present   creates   wrong
385662         known_hosts lines (refs: #29276)
385663
385664       · PR  #29336:  (rallytime)  Back-port  #29276  to  2015.5  @ 2015-12-02
385665         19:37:42 UTC
385666
385667         · PR #29276: (abednarik) Prevent adding port twice when adding  entry
385668           in known hosts (refs: #29336)
385669
385670         · 51ea88d489 Merge pull request #29336 from rallytime/bp-29276
385671
385672         · 3a0e19debb  Prevent  adding  port  twice when adding entry in known
385673           hosts
385674
385675       · PR #29333:  (rallytime)  Back-port  #29280  to  2015.5  @  2015-12-02
385676         19:37:05 UTC
385677
385678         · PR #29280: (cachedout) [Doc] Add note for SVN state (refs: #29333)
385679
385680         · PR  #29165:  (titilambert)  [Doc]  Add  note  for  SVN state (refs:
385681           #29280, #29333)
385682
385683         · 28255af52a Merge pull request #29333 from rallytime/bp-29280
385684
385685         · 722d02ff4a Lint
385686
385687         · 4a0040c1b4 [Doc] Add note for SVN state
385688
385689       · PR #29316: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
385690         2015-12-01 20:20:23 UTC
385691
385692         · 14e94b3593   Merge   pull  request  #29316  from  basepi/merge-for‐
385693           ward-2015.5
385694
385695         · 33f40b3c47  Merge  remote-tracking  branch  'upstream/2014.7'  into
385696           merge-forward-2015.5
385697
385698         · d2fb2109a3 Merge pull request #29296 from douardda/patch-3
385699
385700         · d2885390f4 Use process KillMode on Debian systems also
385701
385702       · PR  #29216: (clan) size is 0 doesn't mean no data, e.g, /proc/version
385703         @ 2015-11-30 20:01:43 UTC
385704
385705         · 6a2ffbfb7c      Merge      pull      request      #29216       from
385706           clan/file_search_on_proc_file
385707
385708         · 91a20c07a1 try mmap first
385709
385710         · 8aa4f2053e remove extra space to fix lint failure
385711
385712         · d34e6b1a9a use read only if has read() method
385713
385714         · 3209c1cdb5 size is 0 doesn't mean no data, e.g, /proc/version
385715
385716       · PR  #29261:  (attiasr)  fix incorrect reinstallation of windows pkg @
385717         2015-11-30 18:28:42 UTC
385718
385719         · d6aaae8d7b Merge pull request #29261 from attiasr/patch-1
385720
385721         · 7a99b90596 add log and return if pkg already installed
385722
385723         · 1843c7ab8e fix incorrect reinstallation of windows pkg
385724
385725       · PR #29214: (cro) Doc for salt.utils.http should  say  verify_ssl  not
385726         ssl_verify.  @ 2015-11-25 23:55:38 UTC
385727
385728         · 9236188867 Merge pull request #29214 from cro/ssl_verify_ssl
385729
385730         · e9c13c561b  Doc  bug--salt.utils.http takes verify_ssl not ssl_ver‐
385731           ify.
385732
385733       · ISSUE   #29202:   (lorengordon)   Broken   ca   bundle   lookup    in
385734         salt.utils.http.get_ca_bundle (refs: #29204)
385735
385736       · PR  #29204:  (lorengordon) Use os.path.join to return full path to ca
385737         bundle @ 2015-11-25 20:00:42 UTC
385738
385739         · df7b35a86b Merge pull request #29204 from lorengordon/fix-29202
385740
385741         · b1dae5e6fe Use os.path.join to return full path to ca bundle
385742
385743   Salt 2014.7.0 Release Notes - Codename Helium
385744       This release is the largest Salt release ever, with more  features  and
385745       commits then any previous release of Salt. Everything from the new RAET
385746       transport to major updates in Salt Cloud and the merging  of  Salt  API
385747       into the main project.
385748
385749       IMPORTANT:
385750          The  Fedora/RHEL/CentOS  salt-master  package  has been modified for
385751          this release. The following components of Salt have been broken  out
385752          and placed into their own packages:
385753
385754          · salt-syndic
385755
385756          · salt-cloud
385757
385758          · salt-ssh
385759
385760          When  the  salt-master package is upgraded, these components will be
385761          removed, and they will need to be manually installed.
385762
385763       IMPORTANT:
385764          Compound/pillar matching have been temporarily disabled for the mine
385765          and  publish  modules  for  this  release  due to the possibility of
385766          inferring pillar data using pillar glob matching. A  proper  fix  is
385767          now  in  the  2014.7 branch and scheduled for the  2014.7.1 release,
385768          and compound matching  and  non-globbing  pillar  matching  will  be
385769          re-enabled at that point.
385770
385771          Compound  and  pillar  matching  for  normal salt commands are unaf‐
385772          fected.
385773
385774   New Transport!
385775   RAET Transport Option
385776       This has been a HUGE amount of work, but the beta release of Salt  with
385777       RAET  is  ready to go. RAET is a reliable queuing transport system that
385778       has been developed in partnership with a number of large enterprises to
385779       give  Salt an alternative to ZeroMQ and a way to get Salt to scale well
385780       beyond tens of thousands of servers. Unlike ZeroMQ, RAET is  completely
385781       asynchronous  in  every  aspect of its operation and has been developed
385782       using the flow programming paradigm. This allows for many new capabili‐
385783       ties to be added to Salt in the upcoming releases.
385784
385785       Please keep in mind that this is a beta release of RAET and we hope for
385786       bugs to be worked out, performance to be better realized  and  more  in
385787       the 2015.5.0 release.
385788
385789       Simply  stated, users running Salt with RAET should expect some hiccups
385790       as we hammer out the update. This is a BETA release of Salt RAET.
385791
385792   Salt SSH Enhancements
385793       Salt SSH has just entered a new league, with  substantial  updates  and
385794       improvements  to make salt-ssh more reliable and easier then ever! From
385795       new features like the ansible roster and fileserver backends to the new
385796       pypi  salt-ssh  installer  to  lowered  deps  and  a swath of bugfixes,
385797       salt-ssh is basically reborn!
385798
385799   Install salt-ssh Using pip
385800       Salt-ssh is now pip-installable!
385801
385802       https://pypi.python.org/pypi/salt-ssh/
385803
385804       Pip will bring in all of the required deps, and  while  some  deps  are
385805       compiled,  they  all  include pure python implementations, meaning that
385806       any compile errors which may be seen can be safely ignored.
385807
385808          pip install salt-ssh
385809
385810   Fileserver Backends
385811       Salt-ssh can now use the salt fileserver backend  system.  This  allows
385812       for  the  gitfs, hgfs, s3, and many more ways to centrally store states
385813       to be easily used with salt-ssh. This also  allows  for  a  distributed
385814       team to easily use a centralized source.
385815
385816   Saltfile Support
385817       The  new  saltfile  system makes it easy to have a user specific custom
385818       extended configuration.
385819
385820   Ext Pillar
385821       Salt-ssh can now use the external pillar system. Making it easier  then
385822       ever to use salt-ssh with teams.
385823
385824   No More sshpass
385825       Thanks  to  the  enhancements in the salt vt system, salt-ssh no longer
385826       requires sshpass to send passwords to ssh. This also makes the  manipu‐
385827       lation  of  ssh  calls substantially more flexible, allowing for inter‐
385828       cepting ssh calls in a much more fluid way.
385829
385830   Pure Python Shim
385831       The salt-ssh call originally used a shell script to discover what  ver‐
385832       sion  of python to execute with and determine the state of the ssh code
385833       deployment.  This shell script has been replaced  with  a  pure  python
385834       version  making  it easy to increase the capability of the code deploy‐
385835       ment without causing platform inconsistency issues with different shell
385836       interpreters.
385837
385838   Custom Module Delivery
385839       Custom  modules are now seamlessly delivered. This makes the deployment
385840       of custom grains, states, execution modules and  returners  a  seamless
385841       process.
385842
385843   CP Module Support
385844       Salt-ssh  now makes simple file transfers easier then ever! The cp mod‐
385845       ule allows for files to be conveniently sent from the  salt  fileserver
385846       system down to systems.
385847
385848   More Thin Directory Options
385849       Salt  ssh  functions by copying a subset of the salt code, or salt thin
385850       down to the target system. In the past this was always  transferred  to
385851       /tmp/.salt and cached there for subsequent commands.
385852
385853       Now,  salt  thin can be sent to a random directory and removed when the
385854       call is complete with the -W option. The new -W  option  still  uses  a
385855       static location but will clean up that location when finished.
385856
385857       The  default  salt thin location is now user defined, allowing multiple
385858       users to cleanly access the same systems.
385859
385860   State System Enhancements
385861   New Imperative State Keyword Listen
385862       The new listen and listen_in keywords allow for  completely  imperative
385863       states  by  calling  the  mod_watch() routine after all states have run
385864       instead of re-ordering the states.
385865
385866   Mod Aggregate Runtime Manipulator
385867       The new mod_aggregate system allows for the state system to rewrite the
385868       state  data  during  execution. This allows for state definitions to be
385869       aggregated dynamically at runtime.
385870
385871       The best example is found in the pkg state. If mod_aggregate is  turned
385872       on,  then  when  the  first pkg state is reached, the state system will
385873       scan all of the other running states for pkg states and take all  other
385874       packages  set for install and install them all at once in the first pkg
385875       state.
385876
385877       These runtime modifications make  it  easy  to  run  groups  of  states
385878       together.  In  future  versions,  we hope to fill out the mod_aggregate
385879       system to build in more and more optimizations.
385880
385881       For more documentation on mod_aggregate, see the documentation.
385882
385883   New Requisites: onchanges and onfail
385884       The new onchanges and onchanges_in requisites make a state  apply  only
385885       if  there  are changes in the required state. This is useful to execute
385886       post hooks after changes occur on a system.
385887
385888       The other new requisites, onfail, and onfail_in, allow for a  state  to
385889       run in reaction to the failure of another state.
385890
385891       For  more  information  about  these new requisites, see the requisites
385892       documentation.
385893
385894   Global onlyif and unless
385895       The onlyif and unless options can now be used for  any  state  declara‐
385896       tion.
385897
385898   Use names to expand and override values
385899       The  names  declaration  in Salt's state system can now override or add
385900       values to the expanded data structure. For example:
385901
385902          my_users:
385903            user.present:
385904              - names:
385905                - larry
385906                - curly
385907                - moe:
385908                  - shell: /bin/zsh
385909                  - groups:
385910                    - wheel
385911              - shell: /bin/bash
385912
385913   Major Features
385914   Scheduler Additions
385915       The Salt scheduler system has received MAJOR enhancements, allowing for
385916       cron-like  scheduling  and much more granular timing routines. See here
385917       for more info.
385918
385919   Red Hat 7 Family Support
385920       All the needed additions have been made to  run  Salt  on  RHEL  7  and
385921       derived OSes like CentOS and Scientific.
385922
385923   Fileserver Backends in salt-call
385924       Fileserver  backends  like gitfs can now be used without a salt master!
385925       Just add the fileserver backend configuration to the minion config  and
385926       execute  salt-call.  This  has been a much-requested feature and we are
385927       happy to finally bring it to our users.
385928
385929   Amazon Execution Modules
385930       An entire family of execution modules further enhancing  Salt's  Amazon
385931       Cloud support. They include the following:
385932
385933       · Autoscale  Groups (includes state support) -- related: Launch Control
385934         states
385935
385936       · Cloud Watch (includes state support)
385937
385938       · Elastic Cache (includes state support)
385939
385940       · Elastic Load Balancer (includes state support)
385941
385942       · IAM Identity and Access Management (includes state support)
385943
385944       · Route53 DNS (includes state support)
385945
385946       · Security Groups (includes state support)
385947
385948       · Simple Queue Service (includes state support)
385949
385950   LXC Runner Enhancements
385951       BETA The Salt LXC management system has received a number  of  enhance‐
385952       ments which make running an LXC cloud entirely from Salt an easy propo‐
385953       sition.
385954
385955   Next Gen Docker Management
385956       The Docker support in Salt has been increased at least  ten  fold.  The
385957       Docker  API  is  now completely exposed and Salt ships with Docker data
385958       tracking systems which make automating Docker deployments very easy.
385959
385960   Peer System Performance Improvements
385961       The peer system communication routines have been refined  to  make  the
385962       peer system substantially faster.
385963
385964   SDB
385965       Encryption at rest for configs
385966
385967   GPG Renderer
385968       Encrypted pillar at rest
385969
385970   OpenStack Expansion
385971       Lots of new OpenStack stuff
385972
385973   Queues System
385974       Ran change external queue systems into Salt events
385975
385976   Multi Master Failover Additions
385977       Connecting to multiple masters is more dynamic then ever
385978
385979   Chef Execution Module
385980       Managing Chef with Salt just got even easier!
385981
385982   salt-api Project Merge
385983       The  salt-api  project has been merged into Salt core and is now avail‐
385984       able as part of the regular salt-master package install. No API changes
385985       were made, the salt-api script and init scripts remain intact.
385986
385987       salt-api  has  always  provided Yet Another Pluggable Interface to Salt
385988       (TM) in the form of "netapi" modules. These are modules that bind to  a
385989       port  and  start  a  service.  Like  many of Salt's other module types,
385990       netapi modules often have library and configuration  dependencies.  See
385991       the documentation for each module for instructions.
385992
385993       SEE ALSO:
385994          The full list of netapi modules.
385995
385996   Synchronous and Asynchronous Execution of Runner and Wheel Modules
385997       salt.runner.RunnerClient  and  salt.wheel.WheelClient  have both gained
385998       complimentary cmd_sync and cmd_async methods allowing  for  synchronous
385999       and  asynchronous execution of any Runner or Wheel module function, all
386000       protected using Salt's external authentication system.  salt-api  bene‐
386001       fits from this addition as well.
386002
386003   rest_cherrypy Additions
386004       The rest_cherrypy netapi module provides the main REST API for Salt.
386005
386006   Web Hooks
386007       This  release  of  course includes the Web Hook additions from the most
386008       recent salt-api release,  which  allows  external  services  to  signal
386009       actions  within a Salt infrastructure. External services such as Amazon
386010       SNS, Travis-CI, or GitHub, as well as internal services that cannot  or
386011       should  not  run a Salt minion daemon can be used as first-class compo‐
386012       nents in Salt's rich orchestration capabilities.
386013
386014       The raw HTTP request body is now available in the event data.  This  is
386015       sometimes  required information for checking an HMAC signature in order
386016       to verify a HTTP request. As an example, Amazon or GitHub requests  are
386017       signed this way.
386018
386019   Generating and Accepting Minion Keys
386020       The  /key convenience URL generates a public and private key for a min‐
386021       ion, automatically pre-accepts the public key on the Salt  Master,  and
386022       returns both keys as a tarball for download.
386023
386024       This  allows  for  easily  bootstrapping the key on a new minion with a
386025       single HTTP call, such as with a Kickstart script,  all  using  regular
386026       shell tools.
386027
386028          curl -sS http://salt-api.example.com:8000/keys \
386029                  -d mid=jerry \
386030                  -d username=kickstart \
386031                  -d password=kickstart \
386032                  -d eauth=pam \
386033                  -o jerry-salt-keys.tar
386034
386035   Fileserver Backend Enhancements
386036       All  of  the  fileserver  backends  have  been overhauled to be faster,
386037       lighter, and more reliable. The VCS backends (gitfs, hgfs,  and  svnfs)
386038       have also received a lot of new features.
386039
386040       Additionally,  most  config  parameters for the VCS backends can now be
386041       configured on a per-remote basis, allowing for global config parameters
386042       to be overridden for a specific gitfs/hgfs/svnfs remote.
386043
386044   New gitfs Features
386045   Pygit2 and Dulwich
386046       In  addition  to  supporting  GitPython, support for pygit2 (0.20.3 and
386047       newer) and dulwich have been added. Provided a  compatible  version  of
386048       pygit2  is  installed,  it will now be the default provider. The config
386049       parameter gitfs_provider has been added to allow one to choose  a  spe‐
386050       cific provider for gitfs.
386051
386052   Mountpoints
386053       Prior  to this release, to serve a file from gitfs at a salt fileserver
386054       URL of salt://foo/bar/baz.txt, it was necessary to ensure that the par‐
386055       ent  directories  existed  in  the  repository.  A new config parameter
386056       gitfs_mountpoint allows gitfs remotes  to  be  exposed  starting  at  a
386057       user-defined salt:// URL.
386058
386059   Environment Whitelisting/Blacklisting
386060       By  default, gitfs will expose all branches and tags as Salt fileserver
386061       environments.  Two  new  config  parameters,  gitfs_env_whitelist,  and
386062       gitfs_env_blacklist,  allow  more  control over which branches and tags
386063       are exposed. More detailed information on how these  two  options  work
386064       can be found in the Gitfs Walkthrough.
386065
386066   Expanded Authentication Support
386067       As  of  pygit2 0.20.3, both http(s) and SSH key authentication are sup‐
386068       ported, and Salt now also supports  both  authentication  methods  when
386069       using  pygit2.  Keep in mind that pygit2 0.20.3 is not yet available on
386070       many platforms, so those who had been using authenticated git reposito‐
386071       ries  with  a  passphraseless  key  should  stick to GitPython if a new
386072       enough pygit2 is not yet available for the platform on which the master
386073       is running.
386074
386075       A  full  explanation  of  how to use authentication can be found in the
386076       Gitfs Walkthrough.
386077
386078   New hgfs Features
386079   Mountpoints
386080       This feature works exactly like its gitfs counterpart. The  new  config
386081       parameter is called hgfs_mountpoint.
386082
386083   Environment Whitelisting/Blacklisting
386084       This  feature  works exactly like its gitfs counterpart. The new config
386085       parameters are called hgfs_env_whitelist and hgfs_env_blacklist.
386086
386087   New svnfs Features
386088   Mountpoints
386089       This feature works exactly like its gitfs counterpart. The  new  config
386090       parameter is called svnfs_mountpoint.
386091
386092   Environment Whitelisting/Blacklisting
386093       This  feature  works exactly like its gitfs counterpart. The new config
386094       parameters are called svnfs_env_whitelist and svnfs_env_blacklist.
386095
386096   Configurable Trunk/Branches/Tags Paths
386097       Prior to this release, the paths where trunk, branches, and  tags  were
386098       located  could  only  be  in directories named "trunk", "branches", and
386099       "tags" directly under the root of  the  repository.  Three  new  config
386100       parameters  (svnfs_trunk,  svnfs_branches,  and  svnfs_tags)  allow SVN
386101       repositories which are laid out differently to be used with svnfs.
386102
386103   New minionfs Features
386104   Mountpoint
386105       This feature works exactly like its gitfs counterpart. The  new  config
386106       parameter  is  called  minionfs_mountpoint. The one major difference is
386107       that, as minionfs doesn't use multiple remotes (it just serves up files
386108       pushed  to  the  master  using  cp.push)  there  is  no such thing as a
386109       per-remote configuration for minionfs_mountpoint.
386110
386111   Changing the Saltenv from Which Files are Served
386112       A new config parameter  (minionfs_env)  allows  minionfs  files  to  be
386113       served from a Salt fileserver environment other than base.
386114
386115   Minion Whitelisting/Blacklisting
386116       By default, minionfs will expose the pushed files from all minions. Two
386117       new  config  parameters,  minionfs_whitelist,  and  minionfs_blacklist,
386118       allow  minionfs  to  be restricted to serve files from only the desired
386119       minions.
386120
386121   Pyobjects Renderer
386122       Salt now ships with with the Pyobjects Renderer that  allows  for  con‐
386123       struction  of  States using pure Python with an idiomatic object inter‐
386124       face.
386125
386126   New Modules
386127       In addition to the Amazon modules mentioned above, there are also  sev‐
386128       eral other new execution modules:
386129
386130       · Oracle
386131
386132       · Random
386133
386134       · Redis
386135
386136       · Amazon Simple Queue Service
386137
386138       · Block Device Management
386139
386140       · CoreOS etcd
386141
386142       · Genesis
386143
386144       · InfluxDB
386145
386146       · Server Density
386147
386148       · Twilio Notifications
386149
386150       · Varnish
386151
386152       · ZNC IRC Bouncer
386153
386154       · SMTP
386155
386156   New Runners
386157       · Map/Reduce Style
386158
386159       · Queue
386160
386161   New External Pillars
386162       · CoreOS etcd
386163
386164   New Salt-Cloud Providers
386165       · Aliyun ECS Cloud
386166
386167       · LXC Containers
386168
386169       · Proxmox (OpenVZ containers & KVM)
386170
386171   Salt Call Change
386172       When  used  with a returner, salt-call now contacts a master if --local
386173       is not specicified.
386174
386175   Deprecations
386176   salt.modules.virtualenv_mod
386177       · Removed deprecated memoize function from salt/utils/__init__.py (dep‐
386178         recated)
386179
386180       · Removed  deprecated  no_site_packages  argument  from create function
386181         (deprecated)
386182
386183       · Removed  deprecated  check_dns  argument   from   minion_config   and
386184         apply_minion_config functions (deprecated)
386185
386186       · Removed     deprecated    OutputOptionsWithTextMixIn    class    from
386187         salt/utils/parsers.py (deprecated)
386188
386189       · Removed the following deprecated functions from salt/modules/ps.py: -
386190         physical_memory_usage  (deprecated)  -  virtual_memory_usage  (depre‐
386191         cated) - cached_physical_memory (deprecated)  -  physical_memory_buf‐
386192         fers (deprecated)
386193
386194       · Removed  deprecated  cloud  arguments  from  cloud_config function in
386195         salt/config.py: - vm_config  (deprecated)  -  vm_config_path  (depre‐
386196         cated)
386197
386198       · Removed  deprecated  libcloud_version  function  from salt/cloud/lib‐
386199         cloudfuncs.py (deprecated)
386200
386201       · Removed deprecated CloudConfigMixIn class from  salt/utils/parsers.py
386202         (deprecated)
386203
386204   Salt 2014.7.1 Release Notes
386205       release
386206              2015-01-12
386207
386208       Version 2014.7.1 is a bugfix release for 2014.7.0.
386209
386210       The changes include:
386211
386212       · Fixed gitfs serving symlinks in file.recurse states (issue #17700)
386213
386214       · Fixed  holding  of multiple packages (YUM) when combined with version
386215         pinning (issue #18468)
386216
386217       · Fixed use of Jinja templates in masterless mode with non-roots  file‐
386218         server backend (issue #17963)
386219
386220       · Re-enabled  pillar  and compound matching for mine and publish calls.
386221         Note that pillar globbing is still  disabled  for  those  modes,  for
386222         security reasons.  (issue #17194)
386223
386224       · Fix for tty: True in salt-ssh (issue #16847)
386225
386226       · Fix  for  supervisord  states when supervisor not installed to system
386227         python (issue #18044)
386228
386229       · Fix for logging when log_level='quiet' for cmd.run (issue #19479)
386230
386231   Salt 2014.7.2 Release Notes
386232       release
386233              2015-02-09
386234
386235       Version 2014.7.2 is a bugfix release for 2014.7.0.
386236
386237       The changes include:
386238
386239       · Fix erroneous warnings  for  systemd  service  enabled  check  (issue
386240         #19606)
386241
386242       · Fix  FreeBSD  kernel module loading, listing, and persistence kmod (‐
386243         issue #197151, issue #19682)
386244
386245       · Allow case-sensitive npm package names in the npm  state.   This  may
386246         break  behavior for people expecting the state to lowercase their npm
386247         package names for them.  The npm module was never affected by  manda‐
386248         tory lowercasing.  (issue #20329)
386249
386250       · Deprecate  the activate parameter for pip.install for both the module
386251         and the state.  If bin_env is given and points to a virtualenv, there
386252         is  no need to activate that virtualenv in a shell for pip to install
386253         to the virtualenv.
386254
386255       · Fix a file-locking bug in gitfs (issue #18839)
386256
386257       · Deprecated archive_user in favor of standardized  user  parameter  in
386258         state and added group parameter.
386259
386260   Salt 2014.7.3 Release Notes
386261       release
386262              2015-03-25
386263
386264       Version 2014.7.3 is a bugfix release for 2014.7.0.
386265
386266       Changes:
386267
386268       · Multi-master  minions mode no longer route fileclient operations asy‐
386269         metrically.  This fixes the source of many  multi-master  bugs  where
386270         the minion would become unrepsonsive from one or more masters.
386271
386272       · Fix bug wherein network.iface could produce stack traces.
386273
386274       · net.arp  will  no longer be made available unless arp is installed on
386275         the system.
386276
386277       · Major performance improvements to Saltnado
386278
386279       · Allow KVM module to operate under KVM itself or VMware Fusion
386280
386281       · Various fixes to the Windows installation scripts
386282
386283       · Fix issue where the syndic would not correctly propagate loads to the
386284         master job cache.
386285
386286       · Improve  error  handling  on  invalid /etc/network/interfaces file in
386287         salt networking modules
386288
386289       · Fix bug where  a  response  status  was  not  checked  for  in  file‐
386290         client.get_url
386291
386292       · Enable eauth when running salt in batch mode
386293
386294       · Increase timeout in Boto Route53 module
386295
386296       · Fix bugs with Salt's 'tar' module option parsing
386297
386298       · Fix parsing of NTP servers on Windows
386299
386300       · Fix issue with blockdev tuning not reporting changes correctly
386301
386302       · Update to the latest Salt bootstrap script
386303
386304       · Update  Linode  salt-cloud  driver  to  use  either  linode-python or
386305         apache-libcloud
386306
386307       · Fix for s3.query function to return correct headers
386308
386309       · Fix for s3.head returning None for files that exist
386310
386311       · Fix the disable function in win_service module so that the service is
386312         disabled correctly
386313
386314       · Fix  race condition between master and minion when making a directory
386315         when both daemons are on the same host
386316
386317       · Fix an issue where file.recurse would fail at the root of an svn repo
386318         when the repo has a mountpoint
386319
386320       · Fix  an  issue  where  file.recurse would fail at the root of an hgfs
386321         repo when the repo has a mountpoint
386322
386323       · Fix an issue where file.recurse would fail at the root  of  an  gitfs
386324         repo when the repo has a mountpoint
386325
386326       · Add status.master capability for Windows.
386327
386328       · Various fixes to ssh_known_hosts
386329
386330       · Various fixes to states.network bonding for Debian
386331
386332       · The debian_ip.get_interfaces module no longer removes nameservers.
386333
386334       · Better integration between grains.virtual and systemd-detect-virt and
386335         virt-what
386336
386337       · Fix traceback in sysctl.present state output
386338
386339       · Fix for issue where mount.mounted would fail when superopts were  not
386340         a  part  of  mount.active (extended=True). Also mount.mounted various
386341         fixes for Solaris and FreeBSD.
386342
386343       · Fix error where datetimes were not correctly safeguarded before being
386344         passed into msgpack.
386345
386346       · Fix  file.replace  regressions.   If the pattern is not found, and if
386347         dry run is False, and if backup is False, and if a pre-existing  file
386348         exists  with  extension .bak, then that backup file will be overwrit‐
386349         ten. This backup behavior is a result of how fileinput works.  Fixing
386350         it  requires  either  passing  through the file twice (the first time
386351         only to search for content and set a flag), or rewriting file.replace
386352         so it doesn't use fileinput
386353
386354       · VCS filreserver fixes/optimizations
386355
386356       · Catch fileserver configuration errors on master start
386357
386358       · Raise errors on invalid gitfs configurations
386359
386360       · set_locale when locale file does not exist (Redhat family)
386361
386362       · Fix  to  correctly count active devices when created mdadm array with
386363         spares
386364
386365       · Fix to correctly target minions in batch mode
386366
386367       · Support ssh:// urls using the gitfs dulwhich backend
386368
386369       · New fileserver runner
386370
386371       · Fix various bugs with argument parsing to the publish module.
386372
386373       · Fix disk.usage for Synology OS
386374
386375       · Fix issue with tags occurring twice with docker.pulled
386376
386377       · Fix incorrect key error in SMTP returner
386378
386379       · Fix condition which would remount loopback filesystems on every state
386380         run
386381
386382       · Remove requsites from listens after they are called in the state sys‐
386383         tem
386384
386385       · Make system implementation of service.running aware of legacy service
386386         calls
386387
386388       · Fix  issue where publish.publish would not handle duplicate responses
386389         gracefully.
386390
386391       · Accept Kali Linux for aptpkg salt execution module
386392
386393       · Fix bug where cmd.which could not handle a dirname as an argument
386394
386395       · Fix issue in ps.pgrep where exceptions were thrown on Windows.
386396
386397       Known issues:
386398
386399       · In multimaster mode, a minion may become temporarily unresponsive  if
386400         modules  or  pillars  are refreshed at the same time that one or more
386401         masters are down. This can be worked around by setting 'auth_timeout'
386402         and 'auth_tries' down to shorter periods.
386403
386404   Salt 2014.7.4 Release Notes
386405       release
386406              2015-03-30
386407
386408       Version 2014.7.4 is a bugfix release for 2014.7.0.
386409
386410       This  is  a  security release. The security issues fixed have only been
386411       present since 2014.7.0, and only users of the two  listed  modules  are
386412       vulnerable. The following CVEs have been resolved:
386413
386414       · CVE-2015-1838  SaltStack:  insecure  /tmp  file handling in salt/mod‐
386415         ules/serverdensity_device.py
386416
386417       · CVE-2015-1839 SaltStack: insecure /tmp  file  handling  in  salt/mod‐
386418         ules/chef.py
386419
386420       Changes:
386421
386422       · Multi-master  minions mode no longer route fileclient operations asy‐
386423         metrically.  This fixes the source of many  multi-master  bugs  where
386424         the minion would become unrepsonsive from one or more masters.
386425
386426       · Fix bug wherein network.iface could produce stack traces.
386427
386428       · net.arp  will  no longer be made available unless arp is installed on
386429         the system.
386430
386431       · Major performance improvements to Saltnado
386432
386433       · Allow KVM module to operate under KVM itself or VMware Fusion
386434
386435       · Various fixes to the Windows installation scripts
386436
386437       · Fix issue where the syndic would not correctly propagate loads to the
386438         master job cache.
386439
386440       · Improve  error  handling  on  invalid /etc/network/interfaces file in
386441         salt networking modules
386442
386443       · Fix bug where  a  response  status  was  not  checked  for  in  file‐
386444         client.get_url
386445
386446       · Enable eauth when running salt in batch mode
386447
386448       · Increase timeout in Boto Route53 module
386449
386450       · Fix bugs with Salt's 'tar' module option parsing
386451
386452       · Fix parsing of NTP servers on Windows
386453
386454       · Fix issue with blockdev tuning not reporting changes correctly
386455
386456       · Update to the latest Salt bootstrap script
386457
386458       · Update  Linode  salt-cloud  driver  to  use  either  linode-python or
386459         apache-libcloud
386460
386461       · Fix for s3.query function to return correct headers
386462
386463       · Fix for s3.head returning None for files that exist
386464
386465       · Fix the disable function in win_service module so that the service is
386466         disabled correctly
386467
386468       · Fix  race condition between master and minion when making a directory
386469         when both daemons are on the same host
386470
386471       · Fix an issue where file.recurse would fail at the root of an svn repo
386472         when the repo has a mountpoint
386473
386474       · Fix  an  issue  where  file.recurse would fail at the root of an hgfs
386475         repo when the repo has a mountpoint
386476
386477       · Fix an issue where file.recurse would fail at the root  of  an  gitfs
386478         repo when the repo has a mountpoint
386479
386480       · Add status.master capability for Windows.
386481
386482       · Various fixes to ssh_known_hosts
386483
386484       · Various fixes to states.network bonding for Debian
386485
386486       · The debian_ip.get_interfaces module no longer removes nameservers.
386487
386488       · Better integration between grains.virtual and systemd-detect-virt and
386489         virt-what
386490
386491       · Fix traceback in sysctl.present state output
386492
386493       · Fix for issue where mount.mounted would fail when superopts were  not
386494         a  part  of  mount.active (extended=True). Also mount.mounted various
386495         fixes for Solaris and FreeBSD.
386496
386497       · Fix error where datetimes were not correctly safeguarded before being
386498         passed into msgpack.
386499
386500       · Fix  file.replace  regressions.   If the pattern is not found, and if
386501         dry run is False, and if backup is False, and if a pre-existing  file
386502         exists  with  extension .bak, then that backup file will be overwrit‐
386503         ten. This backup behavior is a result of how fileinput works.  Fixing
386504         it  requires  either  passing  through the file twice (the first time
386505         only to search for content and set a flag), or rewriting file.replace
386506         so it doesn't use fileinput
386507
386508       · VCS filreserver fixes/optimizations
386509
386510       · Catch fileserver configuration errors on master start
386511
386512       · Raise errors on invalid gitfs configurations
386513
386514       · set_locale when locale file does not exist (Redhat family)
386515
386516       · Fix  to  correctly count active devices when created mdadm array with
386517         spares
386518
386519       · Fix to correctly target minions in batch mode
386520
386521       · Support ssh:// urls using the gitfs dulwhich backend
386522
386523       · New fileserver runner
386524
386525       · Fix various bugs with argument parsing to the publish module.
386526
386527       · Fix disk.usage for Synology OS
386528
386529       · Fix issue with tags occurring twice with docker.pulled
386530
386531       · Fix incorrect key error in SMTP returner
386532
386533       · Fix condition which would remount loopback filesystems on every state
386534         run
386535
386536       · Remove requsites from listens after they are called in the state sys‐
386537         tem
386538
386539       · Make system implementation of service.running aware of legacy service
386540         calls
386541
386542       · Fix  issue where publish.publish would not handle duplicate responses
386543         gracefully.
386544
386545       · Accept Kali Linux for aptpkg salt execution module
386546
386547       · Fix bug where cmd.which could not handle a dirname as an argument
386548
386549       · Fix issue in ps.pgrep where exceptions were thrown on Windows.
386550
386551       Known issues:
386552
386553       · In multimaster mode, a minion may become temporarily unresponsive  if
386554         modules  or  pillars  are refreshed at the same time that one or more
386555         masters are down. This can be worked around by setting 'auth_timeout'
386556         and 'auth_tries' down to shorter periods.
386557
386558       · There  are  known  issues  with batch mode operating on the incorrect
386559         number of minions.  This bug can be patched with the change  in  Pull
386560         Request #22464.
386561
386562       · The fun, state, and unless keywords are missing from the state inter‐
386563         nals, which can cause problems running some states. This bug  can  be
386564         patched with the change in Pull Request #22365.
386565
386566   Salt 2014.7.5 Release Notes
386567       release
386568              2015-04-16
386569
386570       Version 2014.7.5 is a bugfix release for 2014.7.0.
386571
386572       Changes:
386573
386574       · Fixed a key error bug in salt-cloud
386575
386576       · Updated man pages to better match documentation
386577
386578       · Fixed bug concerning high CPU usage with salt-ssh
386579
386580       · Fixed bugs with remounting cvfs and fuse filesystems
386581
386582       · Fixed bug with alowing requisite tracking of entire sls files
386583
386584       · Fixed  bug  with aptpkg.mod_repo returning OK even if apt-add-reposi‐
386585         tory fails
386586
386587       · Increased frequency of ssh terminal output checking
386588
386589       · Fixed malformed locale string in localmod module
386590
386591       · Fixed checking of available version of package  when  accept_keywords
386592         were changed
386593
386594       · Fixed bug to make git.latest work with empty repositories
386595
386596       · Added  **kwargs  to  service.mod_watch  which  removes warnings about
386597         enable and __reqs__ not being supported by the function
386598
386599       · Improved state comments to not grow so quickly on failed requisites
386600
386601       · Added force argument to service to trigger force_reload
386602
386603       · Fixed bug to andle pkgrepo keyids that have been converted to int
386604
386605       · Fixed module.portage_config bug with appending accept_keywords
386606
386607       · Fixed bug to correctly report disk usage on windows minion
386608
386609       · Added the ability to specify key prefix for S3 ext_pillar
386610
386611       · Fixed issues with batch mode operating on  the  incorrect  number  of
386612         minions
386613
386614       · Fixed a bug with the proxmox cloud provider stacktracing on disk def‐
386615         inition
386616
386617       · Fixed a bug with the changes dictionary in the file state
386618
386619       · Fixed the TCP keep alive settings to work better with SREQ caching
386620
386621       · Fixed many bugs within the iptables state and module
386622
386623       · Fixed bug with states by adding fun, state, and unless to  the  state
386624         runtime internal keywords listing
386625
386626       · Added ability to eAuth against Active Directory
386627
386628       · Fixed some salt-ssh issues when running on Fedora 21
386629
386630       · Fixed grains.get_or_set_hash to work with multiple entries under same
386631         key
386632
386633       · Added better explanations and more examples of how the Reactor  calls
386634         functions to docs
386635
386636       · Fixed bug to not pass ex_config_drive to libcloud unless it's explic‐
386637         itly enabled
386638
386639       · Fixed bug with pip.install on windows
386640
386641       · Fixed bug where puppet.run always returns a 0 retcode
386642
386643       · Fixed race condition bug with minion scheduling via pillar
386644
386645       · Made efficiency improvements and bug fixes to the windows installer
386646
386647       · Updated environment variables to fix bug  with  pygit2  when  running
386648         salt as non-root user
386649
386650       · Fixed cas behavior on data module -- data.cas was not saving changes
386651
386652       · Fixed GPG rendering error
386653
386654       · Fixed strace error in virt.query
386655
386656       · Fixed stacktrace when running chef-solo command
386657
386658       · Fixed  possible bug wherein uncaught exceptions seem to make zmq3 tip
386659         over when threading is involved
386660
386661       · Fixed argument passing to the reactor
386662
386663       · Fixed glibc caching to prevent bug where salt-minion  getaddrinfo  in
386664         dns_check() never got updated nameservers
386665
386666       Known issues:
386667
386668       · In  multimaster mode, a minion may become temporarily unresponsive if
386669         modules or pillars are refreshed at the same time that  one  or  more
386670         masters are down. This can be worked around by setting 'auth_timeout'
386671         and 'auth_tries' down to shorter periods.
386672
386673   Salt 2014.7.6 Release Notes
386674       release
386675              2015-05-18
386676
386677       Version 2014.7.6 is a bugfix release for 2014.7.0.
386678
386679   Statistics
386680       · Total Merges: 122
386681
386682       · Total Issue References: 66
386683
386684       · Total PR References: 166
386685
386686       · Contributors: 49  (0xf10e,  Azidburn,  F30,  JaseFace,  JohannesEbke,
386687         aletourneau,  aneeshusa,  basepi,  bastichelaar,  bersace, cachedout,
386688         cedwards, cellscape, chris-prince, clan, clinta, cr1st1p, cro, dr4Ke,
386689         ericfode, ether42, garethgreenaway, gtmanfred, hvnsweeting, jfindlay,
386690         jleroy, joejulian, justinta,  kaithar,  lorengordon,  martinhoefling,
386691         mguegan,   multani,  notpeter,  panticz,  rallytime,  rominf,  rubic,
386692         s0undt3ch, skizunov, slinu3d, t0rrant, techhat, teizz,  terminalmage,
386693         thatch45, twangboy, vdesjardins, vr-jack)
386694
386695   Security Fix
386696       CVE-2015-4017  Certificates  are not verified when connecting to server
386697       in the Aliyun and Proxmox modules
386698
386699       Only users of the Aliyun or Proxmox cloud modules are at risk. The vul‐
386700       nerability does not exist in the latest 2015.5.0 release of Salt.
386701
386702   Changelog for v2014.7.5..v2014.7.6
386703       Generated at: 2018-05-27 20:42:49 UTC
386704
386705       · PR  #23810:  (rallytime)  Backport  #23757  to  2014.7  @  2015-05-18
386706         15:30:21 UTC
386707
386708         · PR #23757: (clan) use abspath, do not eliminating  symlinks  (refs:
386709           #23810)
386710
386711         · aee00c83df Merge pull request #23810 from rallytime/bp-23757
386712
386713         · fb32c32065 use abspath, do not eliminating symlinks
386714
386715       · ISSUE  #20198: (jcftang) virt.get_graphics, virt.get_nics are broken,
386716         in turn breaking other things (refs: #23809, #21469)
386717
386718       · PR #23809: (rallytime) Fix virtualport section of virt.get_nics  loop
386719         @ 2015-05-18 15:30:09 UTC
386720
386721         · PR #21487: (rallytime) Backport #21469 to 2014.7 (refs: #23809)
386722
386723         · PR   #21469:  (vdesjardins)  fixes  #20198:  virt.get_graphics  and
386724           virt.get_nics calls in module virt (refs: #21487)
386725
386726         · 6b3352bb1a    Merge    pull    request    #23809    from     rally‐
386727           time/virt_get_nics_fix
386728
386729         · 0616fb7884 Fix virtualport section of virt.get_nics loop
386730
386731       · PR  #23823: (gtmanfred) add link local for ipv6 @ 2015-05-17 12:48:25
386732         UTC
386733
386734         · 188f03f567 Merge pull request #23823 from gtmanfred/2014.7
386735
386736         · 5ef006d59d add link local for ipv6
386737
386738       · PR #23802: (gtmanfred) if it is ipv6 ip_to_int will fail @ 2015-05-16
386739         04:06:59 UTC
386740
386741         · PR  #23573:  (techhat)  Scan  all available networks for public and
386742           private IPs (refs: #23802)
386743
386744         · f3ca682f92 Merge pull request #23802 from gtmanfred/2014.7
386745
386746         · 2da98b58c8 if it is ipv6 ip_to_int will fail
386747
386748       · PR #23488: (cellscape) LXC cloud fixes @ 2015-05-15 18:09:35 UTC
386749
386750         · d9af0c3e82 Merge pull request #23488 from cellscape/lxc-cloud-fixes
386751
386752         · 64250a67e5 Remove profile from opts after creating LXC container
386753
386754         · c4047d2a71 Set destroy=True in opts when destroying cloud instance
386755
386756         · 9e1311a7cd Store instance  names  in  opts  when  performing  cloud
386757           action
386758
386759         · 934bc57c73 Correctly pass custom env to lxc-attach
386760
386761         · 7fb85f7be1 Preserve test=True option in cloud states
386762
386763         · 9771b5a313 Fix detection of absent LXC container in cloud state
386764
386765         · fb24f0cf02 Report failure when failed to create/clone LXC container
386766
386767         · 2d9aa2bb97 Avoid shadowing variables in lxc module
386768
386769         · 792e1021f2     Allow     to    override    profile    options    in
386770           lxc.cloud_init_interface
386771
386772         · 42bd64b9b3 Return changes on successful lxc.create from salt-cloud
386773
386774         · 4409eabb83 Return correct result when creating cloud LXC container
386775
386776         · 377015c881  Issue  #16424:  List  all   providers   when   creating
386777           salt-cloud instance without profile
386778
386779       · ISSUE  #22332:  (rallytime)  [salt-ssh]  Add  a  check  for  host  in
386780         /etc/salt/roster (refs: #23748)
386781
386782       · PR #23748: (basepi) [2014.7] Log salt-ssh roster render  errors  more
386783         assertively and verbosely @ 2015-05-14 22:38:10 UTC
386784
386785         · 808bbe1cb2  Merge  pull  request  #23748  from basepi/salt-ssh.ros‐
386786           ter.host.check
386787
386788         · bc53e049e0 Log entire exception for render errors in roster
386789
386790         · 753de6a621 Log render errors in roster to error level
386791
386792         · e01a7a90b3 Always let the real YAML error through
386793
386794       · ISSUE #22959: (highlyunavailable) Windows Salt hangs  if  file.direc‐
386795         tory is trying to write to a drive that doesn't exist (refs: #23731)
386796
386797       · PR  #23731:  (twangboy) Fixes #22959: Trying to add a directory to an
386798         unmapped drive in windows @ 2015-05-14 21:59:14 UTC
386799
386800         · 72cf360255 Merge pull request #23731 from twangboy/fix_22959
386801
386802         · 88e5495b2d Fixes #22959: Trying to add a directory to  an  unmapped
386803           drive in windows
386804
386805       · PR  #23730:  (rallytime)  Backport  #23729  to  2014.7  @  2015-05-14
386806         21:58:34 UTC
386807
386808         · PR #23729: (rallytime) Partially merge #23437 (grains  fix)  (refs:
386809           #23730)
386810
386811         · PR #23437: (cedwards) Grains item patch (refs: #23729)
386812
386813         · 2610195262 Merge pull request #23730 from rallytime/bp-23729
386814
386815         · 1877caecba adding support for nested grains to grains.item
386816
386817       · PR  #23688:  (twangboy)  Added inet_pton to utils/validate/net.py for
386818         ip.set_static_ip in windows @ 2015-05-14 16:15:56 UTC
386819
386820         · 3e9df883d6 Merge pull request #23688 from twangboy/fix_23415
386821
386822         · 6a91169bae Fixed unused-import pylint error
386823
386824         · 5e25b3f355 fixed pylint errors
386825
386826         · 1a9676626f   Added   inet_pton   to    utils/validate/net.py    for
386827           ip.set_static_ip in windows
386828
386829       · ISSUE  #23403:  (iamfil)  salt.runners.cloud.action  fun parameter is
386830         replaced (refs: #23680)
386831
386832       · PR #23680: (cachedout) Rename kwarg  in  cloud  runner  @  2015-05-13
386833         19:44:02 UTC
386834
386835         · 1b86460d73 Merge pull request #23680 from cachedout/issue_23403
386836
386837         · d5986c21b4 Rename kwarg in cloud runner
386838
386839       · ISSUE #23548: (kkaig) grains.list_present produces incorrect (?) out‐
386840         put (refs: #23674)
386841
386842       · PR #23674: (cachedout) Handle lists correctly in grains.list_prsesent
386843         @ 2015-05-13 18:34:58 UTC
386844
386845         · cd64af0ce4 Merge pull request #23674 from cachedout/issue_23548
386846
386847         · da8a2f5cb3 Handle lists correctly in grains.list_prsesent
386848
386849       · PR #23672: (twangboy) Fix user present @ 2015-05-13 18:30:09 UTC
386850
386851         · d322a19213 Merge pull request #23672 from twangboy/fix_user_present
386852
386853         · 731e7af3dd         Merge         branch         '2014.7'         of
386854           https://github.com/saltstack/salt into fix_user_present
386855
386856         · d6f70a4545 Fixed user.present to create password in windows
386857
386858       · ISSUE #23604: (Azidburn) service.dead on  systemd  Minion  create  an
386859         Error Message (refs: #23607)
386860
386861       · PR  #23670:  (rallytime)  Backport  #23607  to  2014.7  @  2015-05-13
386862         18:27:17 UTC
386863
386864         · PR #23607: (Azidburn) Fix for #23604. No error reporting.  Exitcode
386865           !=0 are ok (refs: #23670)
386866
386867         · 43f7025000 Merge pull request #23670 from rallytime/bp-23607
386868
386869         · ed30dc4642 Fix for #23604. No error reporting. Exitcode !=0 are ok
386870
386871       · ISSUE  #22141:  (Deshke)  grains.get_or_set_hash render error if hash
386872         begins with "%" (refs: #23640)
386873
386874       · PR #23661: (rallytime) Merge #23640 with whitespace fix @  2015-05-13
386875         15:47:30 UTC
386876
386877         · PR   #23640:  (cachedout)  Add  warning  to  get_or_set_hash  about
386878           reserved chars (refs: #23661)
386879
386880         · 0f006ac1d8 Merge pull request #23661 from rallytime/merge-23640
386881
386882         · 4427f42bb6 Whitespace fix
386883
386884         · dd9115466e Add warning to get_or_set_hash about reserved chars
386885
386886       · ISSUE #23452: (landergate) minion crashed  with  empty  grain  (refs:
386887         #23639)
386888
386889       · PR  #23639:  (cachedout)  Handle  exceptions  raised by __virtual__ @
386890         2015-05-13 15:11:12 UTC
386891
386892         · 84e2ef88fc Merge pull request #23639 from cachedout/issue_23452
386893
386894         · d418b49a77 Syntax error!
386895
386896         · 45b4015d7d Handle exceptions raised by __virtual__
386897
386898       · ISSUE #23611: (hubez) master_type set to 'failover' but  'master'  is
386899         not of type list but of type <type 'str'> (refs: #23637)
386900
386901       · PR  #23637:  (cachedout)  Convert  str  master  to  list @ 2015-05-13
386902         15:08:19 UTC
386903
386904         · bd9b94ba8c Merge pull request #23637 from cachedout/issue_23611
386905
386906         · 56cb1f52e3 Fix typo
386907
386908         · f6fcf19a7f Convert str master to list
386909
386910       · PR  #23595:  (rallytime)  Backport  #23549  to  2014.7  @  2015-05-12
386911         21:19:40 UTC
386912
386913         · PR #23549: (vr-jack) Update __init__.py (refs: #23595)
386914
386915         · f20c0e42ce Merge pull request #23595 from rallytime/bp-23549
386916
386917         · 6efcac09ad Update __init__.py
386918
386919       · ISSUE   #23110:   (martinhoefling)   Copying   files  from  gitfs  in
386920         file.recurse state fails (refs: #23496)
386921
386922       · PR  #23594:  (rallytime)  Backport  #23496  to  2014.7  @  2015-05-12
386923         21:19:34 UTC
386924
386925         · PR #23496: (martinhoefling) Fix for issue #23110 (refs: #23594)
386926
386927         · 1acaf86da7 Merge pull request #23594 from rallytime/bp-23496
386928
386929         · d5ae1d268a  Fix  for  issue  #23110  This  resolves issues when the
386930           freshly created directory is removed by fileserver.update.
386931
386932       · PR  #23593:  (rallytime)  Backport  #23442  to  2014.7  @  2015-05-12
386933         21:19:26 UTC
386934
386935         · PR #23442: (clan) add directory itself to keep list (refs: #23593)
386936
386937         · 2c221c7332 Merge pull request #23593 from rallytime/bp-23442
386938
386939         · 39869a15bd check w/ low['name'] only
386940
386941         · 304cc499e9 another fix for file defined w/ id, but require name
386942
386943         · 8814d4180e add directory itself to keep list
386944
386945       · PR  #23606:  (twangboy) Fixed checkbox for starting service and actu‐
386946         ally starting it @ 2015-05-12 21:18:50 UTC
386947
386948         · fadd1ef63c Merge pull request #23606 from twangboy/fix_installer
386949
386950         · 038331edab Fixed checkbox for starting service and actually  start‐
386951           ing it
386952
386953       · ISSUE  #22908:  (karanjad)  Add failhard option to salt orchestration
386954         (refs: #23389)
386955
386956       · PR  #23592:  (rallytime)  Backport  #23389  to  2014.7  @  2015-05-12
386957         16:44:42 UTC
386958
386959         · PR #23389: (cachedout) Correct fail_hard typo (refs: #23592)
386960
386961         · 10b3f0f643 Merge pull request #23592 from rallytime/bp-23389
386962
386963         · 734cc43801 Correct fail_hard typo
386964
386965       · PR  #23573: (techhat) Scan all available networks for public and pri‐
386966         vate IPs (refs: #23802) @ 2015-05-12 15:22:22 UTC
386967
386968         · cd34b9b6c4 Merge pull request #23573 from techhat/novaquery
386969
386970         · f92db5e92f Linting
386971
386972         · 26e00d3ccc Scan all available networks for public and private IPs
386973
386974       · ISSUE #23479: (danielmorlock) Typo in pkg.removed for Gentoo?  (refs:
386975         #23558)
386976
386977       · PR  #23558:  (jfindlay)  reorder  emerge  command  line  @ 2015-05-12
386978         15:17:46 UTC
386979
386980         · 2a72cd71c2 Merge pull request #23558 from jfindlay/fix_ebuild
386981
386982         · 45404fb2a6 reorder emerge command line
386983
386984       · ISSUE #23355: (dr4Ke) salt-ssh: 'sources: salt://' files  from  'pkg'
386985         state are not included in salt_state.tgz (refs: #23530)
386986
386987       · PR  #23530:  (dr4Ke) salt-ssh state: fix including all salt:// refer‐
386988         ences @ 2015-05-12 15:13:43 UTC
386989
386990         · a664a3c6fd      Merge      pull      request      #23530       from
386991           dr4Ke/fix_salt-ssh_to_include_pkg_sources
386992
386993         · 5df6a8008c fix pylint warning
386994
386995         · d0549e56ba salt-ssh state: fix including all salt:// references
386996
386997       · ISSUE  #23004:  (b18)  2014.7.5  -  Windows - pkg.list_pkgs - "nxlog"
386998         never shows up in output. (refs: #23433)
386999
387000       · PR #23433:  (twangboy)  Obtain  all  software  from  the  registry  @
387001         2015-05-11 22:47:52 UTC
387002
387003         · 55c3869861 Merge pull request #23433 from twangboy/list_pkgs_fix
387004
387005         · 8ab5b1b86f Fix pylint error
387006
387007         · 2d11d6545e Obtain all software from the registry
387008
387009       · PR  #23554:  (jleroy)  Debian:  Hostname  always updated @ 2015-05-11
387010         21:57:00 UTC
387011
387012         · 755bed0abd  Merge  pull  request  #23554  from  jleroy/debian-host‐
387013           name-fix
387014
387015         · 5ff749e487 Debian: Hostname always updated
387016
387017       · ISSUE  #23411:  (dr4Ke)  grains.append  should work at any level of a
387018         grain (refs: #23440, #23474)
387019
387020       · PR #23551: (dr4Ke) grains.append unit  tests,  related  to  #23474  @
387021         2015-05-11 21:54:25 UTC
387022
387023         · PR  #23474:  (dr4Ke) Fix grains.append in nested dictionnary grains
387024           #23411 (refs: #23551)
387025
387026         · PR #23440: (dr4Ke) fix grains.append in nested  dictionnary  grains
387027           #23411 (refs: #23474)
387028
387029         · 6ec87ce9f5       Merge      pull      request      #23551      from
387030           dr4Ke/grains.append_unit_tests
387031
387032         · ebff9df5b2 fix pylint errors
387033
387034         · c4954046ad unit tests for grains.append module function
387035
387036         · 0c9a32326c use MagickMock
387037
387038         · c838a22377 unit tests for grains.append module function
387039
387040       · ISSUE #23411: (dr4Ke) grains.append should work at  any  level  of  a
387041         grain (refs: #23440, #23474)
387042
387043       · PR  #23474:  (dr4Ke)  Fix  grains.append in nested dictionnary grains
387044         #23411 (refs: #23551) @ 2015-05-11 18:00:21 UTC
387045
387046         · PR #23440: (dr4Ke) fix grains.append in nested  dictionnary  grains
387047           #23411 (refs: #23474)
387048
387049         · e96c5c5bf3       Merge      pull      request      #23474      from
387050           dr4Ke/fix_grains.append_nested
387051
387052         · a01a5bb51e   grains.get,   parameter   delimititer,   versionadded:
387053           2014.7.6
387054
387055         · b39f50475d remove debugging output
387056
387057         · b6e15e295c fix grains.append in nested dictionnary grains #23411
387058
387059       · PR #23537: (t0rrant) Update changelog @ 2015-05-11 17:02:16 UTC
387060
387061         · ab7e1aed8e Merge pull request #23537 from t0rrant/patch-1
387062
387063         · 8e03cc99d3 Update changelog
387064
387065       · PR  #23538:  (cro)  Update date in LICENSE file @ 2015-05-11 15:19:25
387066         UTC
387067
387068         · b79fed3a92 Merge pull request #23538 from cro/licupdate
387069
387070         · 345efe25c9 Update date in LICENSE file
387071
387072       · ISSUE #23159: (aneeshusa) Unused validator (refs: #23505)
387073
387074       · PR #23505: (aneeshusa) Remove  unused  ssh  config  validator.  Fixes
387075         #23159.  @ 2015-05-09 13:24:15 UTC
387076
387077         · a123a36f05       Merge      pull      request      #23505      from
387078           aneeshusa/remove-unused-ssh-config-validator
387079
387080         · 90af1672ca Remove unused ssh config validator. Fixes #23159.
387081
387082       · ISSUE #20518: (ekle) module  s3.get  does  not  support  eu-central-1
387083         (refs: #23467)
387084
387085       · PR  #23467:  (slinu3d)  Added  AWS  v4 signature support @ 2015-05-08
387086         14:36:19 UTC
387087
387088         · ca2c21a63c Merge pull request #23467 from slinu3d/2014.7
387089
387090         · 0b4081d8f4 Fixed pylint error at line 363
387091
387092         · 5be5eb5b14 Fixed pylink errors
387093
387094         · e64f374ffa Fixed lint errors
387095
387096         · b9d1ac4f1f Added AWS v4 signature support
387097
387098       · PR #23444:  (techhat)  Add  create_attach_volume  to  nova  driver  @
387099         2015-05-07 19:51:32 UTC
387100
387101         · e6f9eec02e Merge pull request #23444 from techhat/novacreateattach
387102
387103         · ebdb7eae2d Add create_attach_volume to nova driver
387104
387105       · ISSUE #529: (rubic) run salt in user space (refs: #543)
387106
387107         · PR  saltstack/salt-bootstrap#563:  (notpeter) Ubuntu alternate ppas
387108           (refs: #23460)
387109
387110         · PR #543: (rubic) updated documentation for user,  fixed  configura‐
387111           tion template links (refs: #`saltstack/salt-bootstrap#563`_)
387112
387113       · PR  #23460:  (s0undt3ch)  [2014.7]  Update to latest stable bootstrap
387114         script v2015.05.07 @ 2015-05-07 19:10:54 UTC
387115
387116         · e331463319 Merge pull request  #23460  from  s0undt3ch/hotfix/boot‐
387117           strap-script-2014.7
387118
387119         · edcd0c41f2 Update to latest stable bootstrap script v2015.05.07
387120
387121       · PR   #23439:   (techhat)   Add  wait_for_passwd_maxtries  variable  @
387122         2015-05-07 07:28:56 UTC
387123
387124         · 7a8ce1a954 Merge pull request #23439 from techhat/maxtries
387125
387126         · 0ad3ff2c88 Add wait_for_passwd_maxtries variable
387127
387128       · PR #23422: (cro) $HOME should not be used, some shells don't set  it.
387129         @ 2015-05-06 21:02:36 UTC
387130
387131         · 644eb75fec Merge pull request #23422 from cro/gce_sh_home
387132
387133         · 4ef9e6ba06  Don't  use  $HOME to find user's directory, some shells
387134           don't set it
387135
387136       · PR #23425: (basepi) [2014.7] Fix typo in FunctionWrapper @ 2015-05-06
387137         20:38:03 UTC
387138
387139         · ef17ab4b2a  Merge  pull  request  #23425  from basepi/functionwrap‐
387140           per_typo
387141
387142         · c390737f3e Fix typo in FunctionWrapper
387143
387144       · PR  #23385:  (rallytime)  Backport  #23346  to  2014.7  @  2015-05-06
387145         20:12:29 UTC
387146
387147         · PR  #23346: (ericfode) Allow file_map in salt-cloud to handle fold‐
387148           ers. (refs: #23385)
387149
387150         · 1b13ec04c2 Merge pull request #23385 from rallytime/bp-23346
387151
387152         · 9efc13c810 more linting fixes
387153
387154         · cf131c9a5a cleaned up some pylint errors
387155
387156         · f981699c75 added logic to sftp_file and file_map  to  allow  folder
387157           uploads using file_map
387158
387159       · PR #23414: (jfindlay) 2015.2 -> 2015.5 @ 2015-05-06 20:04:02 UTC
387160
387161         · f8c7a62089 Merge pull request #23414 from jfindlay/update_branch
387162
387163         · 8074d16d52 2015.2 -> 2015.5
387164
387165       · PR  #23404:  (hvnsweeting) saltapi cherrypy: initialize var when POST
387166         body is empty @ 2015-05-06 17:35:56 UTC
387167
387168         · 54b3bd43e4  Merge  pull  request  #23404   from   hvnsweeting/cher‐
387169           rypy-post-emptybody-fix
387170
387171         · f85f8f954c initialize var when POST body is empty
387172
387173       · PR  #23409: (terminalmage) Update Lithium docstrings in 2014.7 branch
387174         @ 2015-05-06 16:20:46 UTC
387175
387176         · 160f703296   Merge   pull    request    #23409    from    terminal‐
387177           mage/update-lithium-docstrings-2014.7
387178
387179         · bc97d011ba Fix sphinx typo
387180
387181         · 20006b06f6 Update Lithium docstrings in 2014.7 branch
387182
387183       · ISSUE  #17245:  (tomashavlas)  localemod does not generate locale for
387184         Arch (refs: #23397, #23307)
387185
387186       · PR #23397: (jfindlay) add  more  flexible  whitespace  to  locale_gen
387187         search @ 2015-05-06 03:44:11 UTC
387188
387189         · aa5fb0aa46 Merge pull request #23397 from jfindlay/fix_locale_gen
387190
387191         · 0941fefd2b add more flexible whitespace to locale_gen search
387192
387193       · PR  #23368: (kaithar) Backport #23367 to 2014.7 @ 2015-05-05 21:42:26
387194         UTC
387195
387196         · PR #23367: (kaithar) Put the sed insert statement back  in  to  the
387197           output. (refs: #23368)
387198
387199         · PR  #18368:  (basepi)  Merge  forward from 2014.7 to develop (refs:
387200           #23368, #23367)
387201
387202         · 0c76dd4d8a Merge pull request #23368 from kaithar/bp-23367
387203
387204         · 577f41972e Pylint fix
387205
387206         · 8d9acd1f89 Put the sed insert statement back in to the output.
387207
387208       · ISSUE #23294: (variia) file.replace fails to append  if  repl  string
387209         partially available (refs: #23350)
387210
387211       · PR  #23350:  (lorengordon)  Append/prepend:  search  for  full line @
387212         2015-05-05 21:42:11 UTC
387213
387214         · 3493cc1fca   Merge   pull    request    #23350    from    lorengor‐
387215           don/file.replace_assume_line
387216
387217         · b60e224beb Append/prepend: search for full line
387218
387219       · ISSUE  #23026:  (adelcast)  Incorrect salt-syndic logfile and pidfile
387220         locations (refs: #23341)
387221
387222       · PR #23341: (cachedout) Fix syndic pid and logfile path  @  2015-05-05
387223         21:29:10 UTC
387224
387225         · 7be5c48ad5 Merge pull request #23341 from cachedout/issue_23026
387226
387227         · e98e65e787 Fix tests
387228
387229         · 6011b437ca Fix syndic pid and logfile path
387230
387231       · ISSUE  #19114:  (pykler)  salt-ssh  and  gpg  pillar  renderer (refs:
387232         #23347, #23272, #23188)
387233
387234       · PR #23272: (basepi) [2014.7] Allow salt-ssh minion  config  overrides
387235         via master config and roster (refs: #23347) @ 2015-05-05 21:28:47 UTC
387236
387237         · PR  #23188:  (basepi)  [2014.7] Work around bug in salt-ssh in con‐
387238           fig.get for gpg renderer (refs: #23272)
387239
387240         · ea61abfa68 Merge  pull  request  #23272  from  basepi/salt-ssh.min‐
387241           ion.config.19114
387242
387243         · c223309bb7 Add versionadded
387244
387245         · be7407feae Lint
387246
387247         · c2c337567e Missing comma
387248
387249         · 8e3e8e073a Pass the minion_opts through the FunctionWrapper
387250
387251         · cb69cd07de  Match  the  master config template in the master config
387252           reference
387253
387254         · 87fc3161f9 Add Salt-SSH section to master config template
387255
387256         · 91dd9dcbdc Add ssh_minion_opts to master config ref
387257
387258         · c273ea14c6 Add minion config to salt-ssh doc
387259
387260         · a0b6b760c3 Add minion_opts to roster docs
387261
387262         · 5212c35260 Accept minion_opts from the target information
387263
387264         · e2099b6e1b Process ssh_minion_opts from master config
387265
387266         · 3b64214377 Revert "Work around bug in salt-ssh  in  config.get  for
387267           gpg renderer"
387268
387269         · 494953a208 Remove the strip (embracing multi-line YAML dump)
387270
387271         · fe87f0fe39 Dump multi-line yaml into the SHIM
387272
387273         · b751a7281c Inject local minion config into shim if available
387274
387275       · ISSUE  #19114:  (pykler)  salt-ssh  and  gpg  pillar  renderer (refs:
387276         #23347, #23272, #23188)
387277
387278       · PR #23347: (basepi) [2014.7] Salt-SSH Backport FunctionWrapper.__con‐
387279         tains__ @ 2015-05-05 14:13:21 UTC
387280
387281         · PR #23272: (basepi) [2014.7] Allow salt-ssh minion config overrides
387282           via master config and roster (refs: #23347)
387283
387284         · PR #23188: (basepi) [2014.7] Work around bug in  salt-ssh  in  con‐
387285           fig.get for gpg renderer (refs: #23272)
387286
387287         · 4f760dd9cb Merge pull request #23347 from basepi/salt-ssh.function‐
387288           wrapper.contains.19114
387289
387290         · 30595e3ff7 Backport FunctionWrapper.__contains__
387291
387292       · ISSUE #22742: (hvnsweeting) salt-master says: "This  master  address:
387293         'salt'  was  previously  resolvable but now fails to resolve!" (refs:
387294         #23344)
387295
387296       · PR #23344:  (cachedout)  Explicitely  set  file_client  on  master  @
387297         2015-05-04 23:21:48 UTC
387298
387299         · 02658b1e60 Merge pull request #23344 from cachedout/issue_22742
387300
387301         · 5adc96ce7f Explicitely set file_client on master
387302
387303       · PR  #23318: (cellscape) Honor seed argument in LXC container initial‐
387304         izaton @ 2015-05-04 20:58:12 UTC
387305
387306         · PR #23311: (cellscape) Fix new container initialization in LXC run‐
387307           ner (refs: #23318)
387308
387309         · ba7605d1cb       Merge      pull      request      #23318      from
387310           cellscape/honor-seed-argument
387311
387312         · 228b1be299 Honor seed argument in LXC container initializaton
387313
387314       · ISSUE #17245: (tomashavlas) localemod does not  generate  locale  for
387315         Arch (refs: #23397, #23307)
387316
387317       · PR #23307: (jfindlay) check for /etc/locale.gen @ 2015-05-04 20:56:32
387318         UTC
387319
387320         · 4ac4509c57 Merge pull request #23307 from jfindlay/fix_locale_gen
387321
387322         · 101199ac14 check for /etc/locale.gen
387323
387324       · ISSUE saltstack/salt-bootstrap#580: (bradthurber) git develop  broken
387325         in  centos6/rhel6/others?  due  to missing python tornado dep  (refs:
387326         #23324)
387327
387328       · ISSUE saltstack/salt-bootstrap#560: (bradthurber) param to avoid  git
387329         install on CentOS/RHEL? (refs: #23324)
387330
387331       · ISSUE  #552:  (jhutchins)  Support  require  and watch under the same
387332         state dec (refs: #23324)
387333
387334         · PR saltstack/salt-bootstrap#589: (panticz) Fix Debian Squeeze back‐
387335           ports mirror (refs: #23324)
387336
387337         · PR   saltstack/salt-bootstrap#504:   (rominf)  opensuse  13.2:  fix
387338           installation (refs: #23324)
387339
387340         · PR #567: (bastichelaar) Added upstart module (refs: #23324)
387341
387342       · PR #23324: (s0undt3ch) [2014.7] Update to the latest  stable  release
387343         of the bootstrap script v2015.05.04 @ 2015-05-04 16:28:30 UTC
387344
387345         · f790f42ed6  Merge  pull  request #23324 from s0undt3ch/hotfix/boot‐
387346           strap-script-2014.7
387347
387348         · 6643e47ce5 Update to the latest stable  release  of  the  bootstrap
387349           script v2015.05.04
387350
387351       · PR  #23329:  (cro)  Require  requests  to verify cert when talking to
387352         aliyun and proxmox cloud providers @ 2015-05-04 16:18:17 UTC
387353
387354         · 5487367baa Merge pull request #23329 from cro/cloud_verify_cert
387355
387356         · 860d4b7338 Turn on ssl verify for requests.
387357
387358       · PR #23311: (cellscape) Fix new container initialization in LXC runner
387359         (refs: #23318) @ 2015-05-04 09:55:29 UTC
387360
387361         · ea2017672d       Merge      pull      request      #23311      from
387362           cellscape/fix-salt-cloud-lxc-init
387363
387364         · 76fbb34e7d Fix new container initialization in LXC runner
387365
387366       · ISSUE #18880: (johtso) npm installed breaks when a module is  missing
387367         (refs: #23298)
387368
387369       · PR  #23298:  (chris-prince)  Fixed  issue  #18880  in 2014.7 branch @
387370         2015-05-03 15:49:41 UTC
387371
387372         · c399b8f568 Merge pull request #23298 from chris-prince/2014.7
387373
387374         · 0fa25dbb58 Fixed issue #18880 in 2014.7 branch
387375
387376       · ISSUE #23148: (cr1st1p) virt - error handling bogus if machine  image
387377         location is wrong (refs: #23151)
387378
387379       · PR  #23292:  (rallytime)  Merge #23151 with pylint fixes @ 2015-05-02
387380         03:54:12 UTC
387381
387382         · PR #23151: (cr1st1p) Fixes #23148 (refs: #23292)
387383
387384         · 16ecefd466 Merge pull request #23292 from rallytime/merge-23151
387385
387386         · 8ff852a23a Merge #23151 with pylint fixes
387387
387388         · 8ffa12e82d Fixes #23148
387389
387390       · PR #23274: (basepi) [2014.7] Reduce salt-ssh debug  log  verbosity  @
387391         2015-05-01 20:19:23 UTC
387392
387393         · ce24315a4b       Merge      pull      request      #23274      from
387394           basepi/salt-ssh.debug.verbosity
387395
387396         · ecee6c68f4 Log stdout and stderr to trace
387397
387398         · 08f54d79c6 Log stdout and stderr to trace as well
387399
387400         · 9b9c30f5ad Reduce salt-ssh debug log verbosity
387401
387402       · ISSUE #22605: (mavenAtHouzz) Tornado websockets event Handlers regis‐
387403         tration are incorrect (refs: #23261)
387404
387405       · PR  #23261: (rallytime) Fix tornado websocket event handler registra‐
387406         tion @ 2015-05-01 18:20:31 UTC
387407
387408         · 7b55e4310f Merge pull request #23261 from rallytime/fix-22605
387409
387410         · 4950fbf2b3 Fix tornado websocket event handler registration
387411
387412       · PR #23258: (teizz) TCP keepalives on  the  ret  side,  Revisited.   @
387413         2015-05-01 16:13:49 UTC
387414
387415         · 83ef7cb114       Merge      pull      request      #23258      from
387416           teizz/ret_keepalive_2014_7_5
387417
387418         · 0b9fb6f9be The fixes  by  cachedout  which  were  backported  into
387419           2015_2  were missing a single parameter thus not setting up the TCP
387420           keepalive for the ZeroMQ Channel by default.
387421
387422       · ISSUE #23224: (twellspring) iptables.append --log parameters must  be
387423         after --jump LOG (refs: #23241)
387424
387425       · PR  #23241:  (techhat)  Move  iptables  log  options after the jump @
387426         2015-05-01 01:31:59 UTC
387427
387428         · 8de3c83956 Merge pull request #23241 from techhat/issue23224
387429
387430         · 87f7948c99 Move iptables log options after the jump
387431
387432       · PR  #23228:  (rallytime)  Backport  #23171  to  2014.7  @  2015-04-30
387433         21:09:45 UTC
387434
387435         · PR  #23171:  (skizunov)  Bugfix:  'clean_proc_dir' is broken (refs:
387436           #23228)
387437
387438         · f20210e499 Merge pull request #23228 from rallytime/bp-23171
387439
387440         · e670e99506 Bugfix: 'clean_proc_dir' is broken
387441
387442       · ISSUE #22703: (Xiol) salt-ssh does not work with list matcher  (refs:
387443         #22808)
387444
387445       · PR  #23227:  (rallytime)  Backport  #22808  to  2014.7  @  2015-04-30
387446         21:09:14 UTC
387447
387448         · PR #22808: (basepi) [2015.2] Add list targeting  to  salt-ssh  flat
387449           roster (refs: #23227)
387450
387451         · 721cc285ee Merge pull request #23227 from rallytime/bp-22808
387452
387453         · d208a00b2a Dict, not list
387454
387455         · a3f529e003 It's already been converted to a list
387456
387457         · dd57f2d1c1 Add list targeting to salt-ssh flat roster
387458
387459       · PR  #22823:  (hvnsweeting)  22822  file  directory clean @ 2015-04-30
387460         15:25:51 UTC
387461
387462         · 82c22afacc   Merge   pull    request    #22823    from    hvnsweet‐
387463           ing/22822-file-directory-clean
387464
387465         · c749c276b4 fix lint - remove unnecessary parenthesis
387466
387467         · cb3dfee969 refactor
387468
387469         · 8924b5a911 refactor: use relpath instead of do it manually
387470
387471         · d3060a51a3 refactor
387472
387473         · 5759a0e8f0  bugfix:  fix  file.directory clean=True when it require
387474           parent dir
387475
387476       · ISSUE saltstack/salt#22941: (bersace) _pillar func breaks  fileserver
387477         globals (refs: #22942)
387478
387479       · ISSUE #22941: (bersace) _pillar func breaks fileserver globals (refs:
387480         #22977)
387481
387482       · PR #22977: (bersace) Fix fileserver backends __opts__ overwritten  by
387483         _pillar @ 2015-04-30 15:24:56 UTC
387484
387485         · PR  #22942: (bersace) Fix fileserver backends global overwritten by
387486           _pillar (refs: #22977)
387487
387488         · f6c0728bfb  Merge  pull  request  #22977   from   bersace/fix-file‐
387489           server-backends-pillar-side-effect
387490
387491         · 5f451f63cf Fix fileserver backends __opts__ overwritten by _pillar
387492
387493       · ISSUE  #23166:  (claudiupopescu)  "Error  in  function _minion_event"
387494         resulting in modules not loaded (refs: #23180)
387495
387496       · PR #23180: (jfindlay) fix  typos  from  36841bdd  in  masterapi.py  @
387497         2015-04-30 15:22:41 UTC
387498
387499         · 34206f7ae3 Merge pull request #23180 from jfindlay/remote_event
387500
387501         · 72066e1073 fix typos from 36841bdd in masterapi.py
387502
387503       · ISSUE  #23153:  (cr1st1p)  cmdmod : run_chroot - broken in 2014.7.5 -
387504         missing kwargs (refs: #23176)
387505
387506       · PR  #23176:   (jfindlay)   copy   standard   cmd.run*   kwargs   into
387507         cmd.run_chroot @ 2015-04-30 15:22:12 UTC
387508
387509         · b6b82165c8 Merge pull request #23176 from jfindlay/run_chroot
387510
387511         · 7dc3417b44 copy standard cmd.run* kwargs into cmd.run_chroot
387512
387513       · ISSUE  #23192: (joejulian) supervisord mod_watch does not accept sfun
387514         (refs: #23193)
387515
387516       · PR #23193: (joejulian) supervisord.mod_watch  should  accept  sfun  @
387517         2015-04-30 04:34:21 UTC
387518
387519         · effacbe294 Merge pull request #23193 from joejulian/2014.7_supervi‐
387520           sord_accept_sfun
387521
387522         · efb59f9d9d supervisord.mod_watch should accept sfun
387523
387524       · ISSUE #19114:  (pykler)  salt-ssh  and  gpg  pillar  renderer  (refs:
387525         #23347, #23272, #23188)
387526
387527       · PR  #23188:  (basepi)  [2014.7]  Work  around bug in salt-ssh in con‐
387528         fig.get for gpg renderer (refs: #23272) @ 2015-04-30 04:34:10 UTC
387529
387530         · 72fe88e5c6 Merge pull  request  #23188  from  basepi/salt-ssh.func‐
387531           tion.wrapper.gpg.19114
387532
387533         · d73979ee12  Work  around bug in salt-ssh in config.get for gpg ren‐
387534           derer
387535
387536       · ISSUE #21480: (msciciel) TypeError: string indices must be  integers,
387537         not str (refs: #23154)
387538
387539       · PR  #23154: (cachedout) Re-establish channel on interruption in file‐
387540         client @ 2015-04-29 16:18:59 UTC
387541
387542         · 168508ec2a Merge pull request #23154 from cachedout/refresh_channel
387543
387544         · 9f8dd80c38 Re-establish channel on interruption in fileclient
387545
387546       · ISSUE #20647: (ryan-lane) file.serialize fails to  serialize  due  to
387547         ordered dicts (refs: #20779)
387548
387549       · PR  #23146:  (rallytime)  Backport  #20779  to  2014.7  @  2015-04-28
387550         20:45:06 UTC
387551
387552         · PR #20779: (cachedout) Use declared yaml options (refs: #23146)
387553
387554         · 3b53e04534 Merge pull request #23146 from rallytime/bp-20779
387555
387556         · ffd18493e8 compare OrderedDicts in serializer unit test
387557
387558         · a22170627c Just change serialize
387559
387560         · a111798e8e Use declared yaml options
387561
387562       · PR  #23145:  (rallytime)  Backport  #23089  to  2014.7  @  2015-04-28
387563         20:44:56 UTC
387564
387565         · PR  #23089:  (cachedout)  Stringify  version  number  before lstrip
387566           (refs: #23145)
387567
387568         · 8bb4664bf9 Merge pull request #23145 from rallytime/bp-23089
387569
387570         · 93c41afd23 Stringify version number before lstrip
387571
387572       · ISSUE #16188: (drawks) salt.modules.parted has various functions with
387573         bogus input validation. (refs: #23124)
387574
387575       · PR  #23144:  (rallytime)  Backport  #23124  to  2014.7  @  2015-04-28
387576         20:44:46 UTC
387577
387578         · PR  #23124:  (ether42)  fix  parsing  the  output  of   parted   in
387579           parted.list_() (refs: #23144)
387580
387581         · c85d36fd29 Merge pull request #23144 from rallytime/bp-23124-2014-7
387582
387583         · 6b64da706c fix parsing the output of parted
387584
387585       · PR #23120: (terminalmage) Don't run os.path.relpath() if repo doesn't
387586         have a "root" param set @ 2015-04-28 15:46:54 UTC
387587
387588         · a27b158153   Merge   pull    request    #23120    from    terminal‐
387589           mage/fix-gitfs-relpath
387590
387591         · 1860fffd68  Don't  run  os.path.relpath()  if  repo  doesn't have a
387592           "root" param set
387593
387594       · PR #23132: (clinta) Backport b27c176 @ 2015-04-28 15:00:30 UTC
387595
387596         · fcba607978 Merge pull request #23132 from clinta/patch-2
387597
387598         · a824d727d1 Backport b27c176
387599
387600       · ISSUE #18476: (Auha) Upgrading salt on my  master  caused  dependency
387601         issues (refs: #18610, #23114)
387602
387603       · PR  #23114:  (rallytime)  Adjust  ZeroMQ 4 docs to reflect changes to
387604         Ubuntu 12 packages @ 2015-04-28 03:59:24 UTC
387605
387606         · PR #18610: (rallytime) Make ZMQ 4 installation docs for ubuntu more
387607           clear (refs: #23114)
387608
387609         · b0f4b28487     Merge    pull    request    #23114    from    rally‐
387610           time/remove_ubuntu_zmq4_docs
387611
387612         · f6cc7c8f8a Adjust ZeroMQ 4 docs to reflect  changes  to  Ubuntu  12
387613           packages
387614
387615       · ISSUE  #23085:  (xenophonf) Use "s3fs" (not "s3") in fileserver_roots
387616         (refs: #23097)
387617
387618       · PR  #23108:  (rallytime)  Backport  #23097  to  2014.7  @  2015-04-28
387619         03:58:05 UTC
387620
387621         · PR  #23097:  (rallytime) Change s3 to s3fs in fileserver_roots docs
387622           example (refs: #23108)
387623
387624         · 399857f20b Merge pull request #23108 from rallytime/bp-23097
387625
387626         · fa889845df Change s3 to s3fs in fileserver_roots docs example
387627
387628       · ISSUE #22171: (basepi) We should only  call  returner.save_load  once
387629         per jid (refs: #22199)
387630
387631       · PR  #23112:  (basepi)  [2014.7] Backport #22199 to fix mysql returner
387632         save_load errors @ 2015-04-28 03:55:44 UTC
387633
387634         · PR #22199: (basepi) [2015.2] Put a bandaid on the save_load  dupli‐
387635           cate issue (mysql returner) (refs: #23112)
387636
387637         · 5541537c32       Merge      pull      request      #23112      from
387638           basepi/mysql_returner_save_load
387639
387640         · 0127012ed3 Put a bandaid on the save_load duplicate issue
387641
387642         · PR saltstack/salt#22925:  (rallytime)  Backport  #22895  to  2014.7
387643           (refs: #23113)
387644
387645       · PR   #23113:   (rallytime)  Revert  "Backport  #22895  to  2014.7"  @
387646         2015-04-28 03:27:29 UTC
387647
387648         · PR #22895: (aletourneau) pam_tally counter was not reset to 0 after
387649           a succesfull login (refs: #23113, #22925, #saltstack/salt`#22925`_)
387650
387651         · dfe2066b25     Merge     pull    request    #23113    from    salt‐
387652           stack/revert-22925-bp-22895
387653
387654         · b957ea8977 Revert "Backport #22895 to 2014.7"
387655
387656       · ISSUE #23013:  (ghost)  gitfs  regression  with  authenticated  repos
387657         (refs: #23094)
387658
387659       · PR  #23094: (terminalmage) pygit2: disable cleaning of stale refs for
387660         authenticated remotes @ 2015-04-27 20:51:28 UTC
387661
387662         · 21515f3c23 Merge pull request #23094 from terminalmage/issue23013
387663
387664         · aaf7b04f79 pygit2: disable cleaning of stale refs for authenticated
387665           remotes
387666
387667       · PR  #23048:  (jfindlay)  py-2.6  compat for utils/boto.py ElementTree
387668         exception @ 2015-04-25 16:56:45 UTC
387669
387670         · d45aa21dca Merge pull request #23048 from jfindlay/ET_error
387671
387672         · 64c42ccb5f py-2.6 compat for utils/boto.py ElementTree exception
387673
387674       · ISSUE #22981: (syphernl) Locale state throwing traceback when  gener‐
387675         ating not (yet) existing locale (refs: #23025)
387676
387677       · PR  #23025:  (jfindlay) catch exceptions on bad system locales/encod‐
387678         ings @ 2015-04-25 16:56:30 UTC
387679
387680         · d25a5c102f Merge pull request #23025 from jfindlay/fix_sys_locale
387681
387682         · 9c4d62bb00 catch exceptions on bad system locales/encodings
387683
387684       · PR #22932: (hvnsweeting) bugfix: also manipulate dir_mode when source
387685         not defined @ 2015-04-25 16:54:58 UTC
387686
387687         · 5e44b59a14    Merge    pull    request    #22932   from   hvnsweet‐
387688           ing/file-append-bugfix
387689
387690         · 3f368de14a do not use assert in execution module
387691
387692         · 9d4fd4a8c8 bugfix: also manipulate dir_mode when source not defined
387693
387694       · ISSUE #23021: (ether42) ps.pgrep raises NoSuchProcess (refs: #23055)
387695
387696       · PR #23055: (jfindlay) prevent ps  module  errors  on  accessing  dead
387697         procs @ 2015-04-24 22:39:49 UTC
387698
387699         · c2416a425f Merge pull request #23055 from jfindlay/fix_ps
387700
387701         · c2dc7adeb1 prevent ps module errors on accessing dead procs
387702
387703       · PR  #23031:  (jfindlay)  convert  exception  e.message  to  just  e @
387704         2015-04-24 18:38:13 UTC
387705
387706         · bfd9158a83 Merge pull request #23031 from jfindlay/exception
387707
387708         · 856bad1c31 convert exception e.message to just e
387709
387710       · PR #23015: (hvnsweeting) if status of service is stop, there  is  not
387711         an error with it @ 2015-04-24 14:35:10 UTC
387712
387713         · 7747f3342e    Merge    pull    request    #23015   from   hvnsweet‐
387714           ing/set-non-error-lvl-for-service-status-log
387715
387716         · 92ea163513 if status of service is stop, there is not an error with
387717           it
387718
387719       · ISSUE #22993: (jetpak) salt-minion restart causes all spawned daemons
387720         to die on centos7 (systemd) (refs: #23000)
387721
387722       · PR #23000: (jfindlay) set systemd service  killMode  to  process  for
387723         minion @ 2015-04-24 03:42:39 UTC
387724
387725         · 2e09789156 Merge pull request #23000 from jfindlay/systemd_kill
387726
387727         · 3d575e29c4 set systemd service killMode to process for minion
387728
387729       · ISSUE  #22707:  (arthurlogilab)  retry_dns of master configuration is
387730         missing from the  documentation (refs: #22999)
387731
387732       · PR #22999: (justinta) Added retry_dns to minion  doc.   @  2015-04-24
387733         03:30:24 UTC
387734
387735         · b5c059ab26 Merge pull request #22999 from jtand/fix_22707
387736
387737         · 8486e17ab3 Added retry_dns to minion doc.
387738
387739       · PR  #22990: (techhat) Use the proper cloud conf variable @ 2015-04-23
387740         17:48:07 UTC
387741
387742         · 27dc877bfd Merge pull request #22990 from techhat/2014.7
387743
387744         · d33bcbc2c1 Use the proper cloud conf variable
387745
387746       · PR #22976: (multani) Improve state_output documentation @  2015-04-23
387747         12:24:22 UTC
387748
387749         · 13dff652c6  Merge  pull  request #22976 from multani/fix/state-out‐
387750           put-doc
387751
387752         · 19efd419b5 Improve state_output documentation
387753
387754       · PR #22955: (terminalmage)  Fix  regression  introduced  yesterday  in
387755         dockerio module @ 2015-04-22 18:56:39 UTC
387756
387757         · 89fa18500c  Merge  pull  request  #22955  from  terminalmage/docke‐
387758           rio-run-fix
387759
387760         · b4472ad1b2 Fix regression introduced yesterday in dockerio module
387761
387762       · PR  #22954:  (rallytime)  Backport  #22909  to  2014.7  @  2015-04-22
387763         18:56:20 UTC
387764
387765         · PR  #22909:  (mguegan)  Fix  compatibility  with pkgin > 0.7 (refs:
387766           #22954)
387767
387768         · 46ef227911 Merge pull request #22954 from rallytime/bp-22909
387769
387770         · 70c1cd3969 Fix compatibility with pkgin > 0.7
387771
387772       · ISSUE #18720:  (Reiner030)  timeouts  when  setting  Route53  records
387773         (refs: #22856)
387774
387775       · PR #22856: (jfindlay) increase timeout and decrease tries for route53
387776         records @ 2015-04-22 16:47:01 UTC
387777
387778         · c9ae593461 Merge pull request #22856 from jfindlay/route53_timeout
387779
387780         · ba4a786984 add route53 record sync wait, default=False
387781
387782         · ea2fd50660 increase timeout and tries for route53 records
387783
387784       · PR #22946: (s0undt3ch) Test with a more recent pip version to avoid a
387785         traceback @ 2015-04-22 16:25:17 UTC
387786
387787         · a178d444b8 Merge pull request #22946 from s0undt3ch/2014.7
387788
387789         · bc87749e2c Test with a more recent pip version to avoid a traceback
387790
387791       · ISSUE  #22571: (BoomerB) same error message as on issue #18504 (refs:
387792         #22945)
387793
387794       · PR #22945: (garethgreenaway) Fixes to scheduler @ 2015-04-22 16:25:00
387795         UTC
387796
387797         · de339bef0a    Merge   pull   request   #22945   from   garethgreen‐
387798           away/22571_2014_7_schedule_pillar_refresh_seconds_exceptions
387799
387800         · bfa6d25ed8 Fixing a reported issue when using a scheduled job  from
387801           pillar  with splay.  _seconds element that acted as a backup of the
387802           actual seconds was being removed  when  pillar  was  refreshed  and
387803           causing  exceptions.  This fix moves some splay related code out of
387804           the if else condition so it's checked whether the job is in the job
387805           queue or not.
387806
387807       · ISSUE  #18843: (calvinhp) State user.present will fail to create home
387808         if user exists and homedir doesn't (refs: #22933, #22887)
387809
387810       · PR #22887: (hvnsweeting) fix #18843 @ 2015-04-22 15:47:05 UTC
387811
387812         · 12d2b91d85   Merge   pull    request    #22887    from    hvnsweet‐
387813           ing/18843-fix-user-present-home
387814
387815         · 7fe7b089fd  run  user.chhome once to avoid any side-effect when run
387816           it twice
387817
387818         · 19de9954ee clarify the usage of home arg
387819
387820         · d6dc09af64 enhance doc, as usermod on ubuntu 12.04 will not  CREATE
387821           home
387822
387823         · 0ce4d7feb6 refactor: force to use boolean
387824
387825         · 849d19edd7 log debug the creating dir process
387826
387827         · c4e95b9f48  fix #18843: usermod won't create a dir if old home does
387828           not exist
387829
387830       · ISSUE #2417: (ffa) Module standards (refs: #22829)
387831
387832       · ISSUE #21140: (holms)  locale.present  state  executed  successfully,
387833         although originally fails (refs: #22930, #22829)
387834
387835       · PR #22930: (jfindlay) localemod.gen_locale now always returns a bool‐
387836         ean @ 2015-04-22 15:37:39 UTC
387837
387838         · PR #22829: (F30) Always return a  boolean  in  gen_locale()  (refs:
387839           #22930)
387840
387841         · b7de7bdf47 Merge pull request #22930 from jfindlay/localegen_bool
387842
387843         · 399399f89e localemod.gen_locale now always returns a boolean
387844
387845       · ISSUE  #18843: (calvinhp) State user.present will fail to create home
387846         if user exists and homedir doesn't (refs: #22933, #22887)
387847
387848       · PR #22933: (hvnsweeting) add test for #18843  @  2015-04-22  15:27:18
387849         UTC
387850
387851         · 11bcf14979 Merge pull request #22933 from hvnsweeting/18843-test
387852
387853         · b13db32fde add test for #18843
387854
387855       · PR  #22925:  (rallytime)  Backport  #22895  to  2014.7  @  2015-04-22
387856         02:30:26 UTC
387857
387858         · PR #22895: (aletourneau) pam_tally counter was not reset to 0 after
387859           a succesfull login (refs: #23113, #22925, #saltstack/salt`#22925`_)
387860
387861         · 6890752dd3 Merge pull request #22925 from rallytime/bp-22895
387862
387863         · 3852d96213 Pylint fix
387864
387865         · 90f7829ad3 Fixed pylint issues
387866
387867         · 5ebf159554 Cleaned up pull request
387868
387869         · a08ac478f6  pam_tally counter was not reset to 0 after a succesfull
387870           login
387871
387872       · ISSUE #22790: (whiteinge) jobs.list_jobs runner tracebacks on  'miss‐
387873         ing' argument (refs: #22914)
387874
387875       · PR   #22914:   (cachedout)   Call   proper   returner   function   in
387876         jobs.list_jobs @ 2015-04-22 00:49:01 UTC
387877
387878         · eca37ebc11 Merge pull request #22914 from cachedout/issue_22790
387879
387880         · d828d6fd58 Call proper returner function in jobs.list_jobs
387881
387882       · PR #22918: (JaseFace) Add a note to the git_pillar docs stating  that
387883         GitPython  is  the  only  currently  supported  provider @ 2015-04-22
387884         00:48:26 UTC
387885
387886         · 44f3409b01  Merge  pull  request  #22918   from   JaseFace/git-pil‐
387887           lar-provider-doc-note
387888
387889         · 0aee5c23d4 Add a note to the git_pillar docs stating that GitPython
387890           is the only currently supported provider
387891
387892       · PR #22907: (techhat) Properly merge cloud configs to create  profiles
387893         @ 2015-04-21 22:02:44 UTC
387894
387895         · 31c461f573 Merge pull request #22907 from techhat/cloudconfig
387896
387897         · 3bf4e66112 Properly merge cloud configs to create profiles
387898
387899       · ISSUE  #22782:  (0xf10e)  Turning  everything into OrderedDicts broke
387900         states.keystone.user_present() (refs: #22894)
387901
387902       · PR #22894: (0xf10e) Fix issue #22782 @ 2015-04-21 18:55:18 UTC
387903
387904         · f0939754a0 Merge pull request #22894 from 0xf10e/2014.7
387905
387906         · 58fa24c7fa Clarify doc on kwarg 'roles' for user_present().
387907
387908         · f0ae2eb84f Improve readability by renaming tenant_role
387909
387910       · ISSUE #12003: (MarkusMuellerAU) [state.dockerio]  docker.run  TypeEr‐
387911         ror:  run()  argument  after  **  must  be  a mapping, not str (refs:
387912         #22902)
387913
387914       · PR #22902: (rallytime) Change state example to  use  proper  kwarg  @
387915         2015-04-21 18:50:47 UTC
387916
387917         · c802ba7514 Merge pull request #22902 from rallytime/docker_doc_fix
387918
387919         · 8f703461b0 Change state example to use proper kwarg
387920
387921       · PR  #22898:  (terminalmage) dockerio: better error message for native
387922         exec driver @ 2015-04-21 18:02:58 UTC
387923
387924         · 81771a7769 Merge pull request #22898 from terminalmage/issue12003
387925
387926         · c375309434 dockerio: better error message for native exec driver
387927
387928       · ISSUE #22825: (paolodina) Issue  using  file.replace  in  state  file
387929         (refs: #22897)
387930
387931       · PR #22897: (rallytime) Add param documentation for file.replace state
387932         @ 2015-04-21 17:31:04 UTC
387933
387934         · e2ec4ecc55 Merge pull request #22897 from rallytime/fix-22825
387935
387936         · 9c51630002 Add param documentation for file.replace state
387937
387938       · ISSUE saltstack/salt#22844: (bersace) LocalClient file cache  confuse
387939         pillar and state files (refs: #22850)
387940
387941       · PR   #22850:  (bersace)  Fix  pillar  and  salt  fileserver  mixed  @
387942         2015-04-21 17:04:33 UTC
387943
387944         · fd53889f0e  Merge  pull  request   #22850   from   bersace/fix-pil‐
387945           lar-salt-mixed
387946
387947         · 31b98e72eb Initialize state file client after pillar loading
387948
387949         · f6bebb7a31 Use saltenv
387950
387951       · PR  #22818: (twangboy) Added documentation regarding pip in windows @
387952         2015-04-21 03:58:59 UTC
387953
387954         · 1380fec1b9 Merge pull request #22818 from twangboy/upd_pip_docs
387955
387956         · cb999c7d70 Update pip.py
387957
387958         · 3cc5c970ad Added documentation regarding pip in windows
387959
387960       · PR #22872: (rallytime) Prevent stacktrace on os.path.exists in  hosts
387961         module @ 2015-04-21 02:54:40 UTC
387962
387963         · b2bf17f5d5     Merge    pull    request    #22872    from    rally‐
387964           time/fix_hosts_stacktrace
387965
387966         · c88a1ea243 Prevent stacktrace on os.path.exists in hosts module
387967
387968       · PR #22853: (s0undt3ch) Don't assume package  installation  order.   @
387969         2015-04-21 02:42:41 UTC
387970
387971         · 03af523de9 Merge pull request #22853 from s0undt3ch/2014.7
387972
387973         · b62df62151 Don't assume package installation order.
387974
387975       · PR  #22877:  (s0undt3ch)  Don't  fail  on make clean just because the
387976         directory does not exist @ 2015-04-21 02:40:47 UTC
387977
387978         · 9211e36564  Merge   pull   request   #22877   from   s0undt3ch/hot‐
387979           fix/clean-docs-fix
387980
387981         · 95d6887949 Don't fail on make clean just because the directory does
387982           not exist
387983
387984       · PR #22873: (thatch45) Type check the version since it will  often  be
387985         numeric @ 2015-04-21 02:38:11 UTC
387986
387987         · 5bdbd08bbd Merge pull request #22873 from thatch45/type_check
387988
387989         · 53b8376626 Type check the version since it will often be numeric
387990
387991       · PR #22870: (twangboy) Added ability to send a version with a space in
387992         it @ 2015-04-20 23:18:28 UTC
387993
387994         · c965b0a035 Merge pull  request  #22870  from  twangboy/fix_install‐
387995           er_again
387996
387997         · 3f180cfaae Added ability to send a version with a space in it
387998
387999       · PR  #22863:  (rallytime)  Backport  #20974  to  2014.7  @  2015-04-20
388000         19:29:37 UTC
388001
388002         · PR    #20974:    (JohannesEbke)    Fix    expr_match    usage    in
388003           salt.utils.check_whitelist_blacklist (refs: #22863)
388004
388005         · 2973eb18bc Merge pull request #22863 from rallytime/bp-20974
388006
388007         · 14913a4cb4          Fix         expr_match         usage         in
388008           salt.utils.check_whitelist_blacklist
388009
388010       · PR #22578: (hvnsweeting) gracefully handle  when  salt-minion  cannot
388011         decrypt key @ 2015-04-20 15:24:45 UTC
388012
388013         · c45b92bb4b    Merge    pull    request    #22578   from   hvnsweet‐
388014           ing/2014-7-fix-compile-pillar
388015
388016         · f75b24ad68 gracefully handle when salt-minion cannot decrypt key
388017
388018       · ISSUE #21979: (yrdevops) gitfs: error message not descriptive  enough
388019         when libgit2 was compiled without libssh2 (refs: #22800)
388020
388021       · PR  #22800: (terminalmage) Improve error logging for pygit2 SSH-based
388022         remotes @ 2015-04-18 17:18:55 UTC
388023
388024         · 900c7a510f Merge pull request #22800 from terminalmage/issue21979
388025
388026         · 8f1c0084cd Clarify that for pygit2, receiving 0 objects means  repo
388027           is up-to-date
388028
388029         · 98885f71d6 Add information about libssh2 requirement for pygit2 ssh
388030           auth
388031
388032         · 09468d2607 Fix incorrect log message
388033
388034         · 2093bf8d96 Adjust loglevels for gitfs errors
388035
388036         · 9d394dfe46 Improve error logging for pygit2 SSH-based remotes
388037
388038       · PR #22813:  (twangboy)  Updated  instructions  for  building  salt  @
388039         2015-04-18 04:10:07 UTC
388040
388041         · e99f2fdb28 Merge pull request #22813 from twangboy/win_doc_fix
388042
388043         · adc421acdd Fixed some formatting issues
388044
388045         · 8901b3b5a6 Updated instructions for building salt
388046
388047       · ISSUE  #22708:  (Bilge)  salt-ssh  file.accumulated error: NameError:
388048         global name 'msgpack' is not defined (refs: #22810)
388049
388050       · PR #22810: (basepi) [2014.7]  More  msgpack  gating  for  salt-ssh  @
388051         2015-04-17 22:28:24 UTC
388052
388053         · fe1de89ad7 Merge pull request #22810 from basepi/salt-ssh.more.msg‐
388054           pack.gating
388055
388056         · d4da8e66a4 Gate msgpack in salt/modules/saltutil.py
388057
388058         · 02303b22ce Gate msgpack in salt/modules/data.py
388059
388060         · d7e8741f02 Gate salt.states.file.py msgpack
388061
388062       · ISSUE #17144: (xpender) salt-cloud -m  fails  with  softlayer  (refs:
388063         #22803)
388064
388065       · PR  #22803:  (rallytime)  Allow  map  file  to  work with softlayer @
388066         2015-04-17 20:34:42 UTC
388067
388068         · 11df71e16d Merge pull request #22803 from rallytime/fix-17144
388069
388070         · ce88b6ad41 Allow map file to work with softlayer
388071
388072       · PR #22807: (rallytime) Add 2014.7.5  links  to  windows  installation
388073         docs @ 2015-04-17 20:32:13 UTC
388074
388075         · cd43a95212   Merge   pull   request   #22807   from  rallytime/win‐
388076           dows_docs_update
388077
388078         · 5931a582d1 Replace all 4s with 5s
388079
388080         · eadaead755 Add 2014.7.5 links to windows installation docs
388081
388082       · PR #22795: (rallytime) Added release  note  for  2014.7.5  release  @
388083         2015-04-17 18:05:36 UTC
388084
388085         · 0b295e2c87 Merge pull request #22795 from rallytime/release_notes
388086
388087         · fde1feed46 Remove extra line
388088
388089         · b19b95d992 Added release note for 2014.7.5 release
388090
388091       · ISSUE  #22740:  (lorengordon)  New  Windows installer assumes salt is
388092         installed to the current directory (refs: #22759)
388093
388094       · PR #22759: (twangboy) Final edits to the batch files for running salt
388095         @ 2015-04-17 04:31:15 UTC
388096
388097         · PR #22754: (twangboy) Removed redundant \\ and " (refs: #22759)
388098
388099         · 3c91459de2     Merge    pull    request    #22759    from    twang‐
388100           boy/fix_bat_one_last_time
388101
388102         · 075f82e046 Final edits to the batch files for running salt
388103
388104       · PR #22760:  (thatch45)  Fix  issues  with  the  syndic  @  2015-04-17
388105         04:30:48 UTC
388106
388107         · 20d3f2bb83 Merge pull request #22760 from thatch45/syndic_fix
388108
388109         · e2db624b37 Fix issues with the syndic not resolving the master when
388110           the interface is set
388111
388112       · PR #22762: (twangboy) Fixed version not showing  in  Add/Remove  Pro‐
388113         grams @ 2015-04-17 04:29:46 UTC
388114
388115         · 54c45845ab Merge pull request #22762 from twangboy/fix_installer
388116
388117         · 4d25af8acf Fixed version not showing in Add/Remove Programs
388118
388119   Salt 2014.7.7 Release Notes
388120       release
388121              2015-10-13
388122
388123       Version 2014.7.7 is a bugfix release for 2014.7.0.
388124
388125   Statistics
388126       · Total Merges: 54
388127
388128       · Total Issue References: 20
388129
388130       · Total PR References: 60
388131
388132       · Contributors:  28  (AkhterAli,  BretFisher, MrCitron, alekti, basepi,
388133         bersace,   cachedout,   corux,   cro,   davidjb,   dumol,    efficks,
388134         garethgreenaway,   hvnsweeting,  jacksontj,  jacobhammons,  jaybocc2,
388135         jfindlay,  jquast,  justinta,  msteed,  nmadhok,  notpeter,  puneetk,
388136         rallytime, techhat, trevor-h, twangboy)
388137
388138   Changelog for v2014.7.6..v2014.7.7
388139       Generated at: 2018-05-27 20:45:04 UTC
388140
388141       · PR #27335: (rallytime) [2014.7] Fixup salt-cloud logging @ 2015-09-24
388142         20:33:53 UTC
388143
388144         · 5262f01325 Merge pull request #27335 from rallytime/cloud-logging-7
388145
388146         · adeb1dcad4 Pylint Fix
388147
388148         · 588c13783c Salt-cloud logging clean up for windows functions
388149
388150         · 9b6000135c [2014.7] Fixup salt-cloud logging
388151
388152       · PR #27252: (jfindlay) 2014.7 -> 2014.7.0 @ 2015-09-18 23:44:39 UTC
388153
388154         · e90412d3b8 Merge pull request #27252 from jfindlay/version.2014.7
388155
388156         · 3d28307a00 2014.7 -> 2014.7.0
388157
388158       · PR  #27117:  (jacobhammons)  made  2014.7  an  archived   release   @
388159         2015-09-15 07:35:12 UTC
388160
388161         · c186e51764    Merge    pull    request    #27117   from   jacobham‐
388162           mons/release-docs-2014.7
388163
388164         · b69e11e0a4 made 2014.7 an archived release minor doc site updates
388165
388166       · PR #27114: (cachedout) Issue warning that some log levels may contain
388167         sensitive data @ 2015-09-15 07:30:43 UTC
388168
388169         · 69d758ee2b  Merge  pull request #27114 from cachedout/warn_on_inse‐
388170           cure_log
388171
388172         · 507fb04683 Issue warning that some log levels may contain sensitive
388173           data
388174
388175       · PR  #27075: (twangboy) Replaced password with redacted when displayed
388176         @ 2015-09-14 18:36:10 UTC
388177
388178         · aa71bae8aa  Merge  pull  request  #27075  from   twangboy/fix_pass‐
388179           word_2014.7
388180
388181         · c0689e3215 Replaced password with redacted when displayed
388182
388183       · ISSUE  #26656:  (ari)  [documentation] error in example for salt.run‐
388184         ner.pillar (refs: #26667)
388185
388186       · PR  #26667:  (nmadhok)  [doc-fix]  Removing  special  character  from
388187         salt.runners.pillar and other changes @ 2015-08-26 18:24:37 UTC
388188
388189         · c2c7fe06c8 Merge pull request #26667 from nmadhok/doc-fix-2014.7
388190
388191         · 26be189689 Doc fix. Fixes #26656
388192
388193       · PR   #26663:  (jacobhammons)  version  change  for  latest  branch  @
388194         2015-08-26 14:03:35 UTC
388195
388196         · 6bd3dccae8 Merge pull request #26663 from  jacobhammons/2014.7-ver‐
388197           sion
388198
388199         · b6af538070 version change for latest branch
388200
388201       · PR #26636: (rallytime) Refactor cloud provider tests to be more accu‐
388202         rate @ 2015-08-25 21:28:34 UTC
388203
388204         · 071a6112e5    Merge    pull    request    #26636    from     rally‐
388205           time/cloud-test-fixes
388206
388207         · c0d83d558d Don't use id as variable
388208
388209         · 2b4bc1679d Keep ec2 instance creation test the same - it works bet‐
388210           ter for the ec2 output
388211
388212         · b5b58eb31f Skip digital ocean tests since we can't use API v1  with
388213           v2 tests
388214
388215         · 9ae1539c62 Update cloud tests to be more efficient and accurate
388216
388217       · ISSUE #26630: (efficks) win_service: Function has_powershell does not
388218         works on Windows XP (refs: #26640)
388219
388220       · PR #26640: (efficks) Fix function spacing @ 2015-08-25 20:01:39 UTC
388221
388222         · 304542b4c6 Merge pull request #26640 from efficks/fixws2014
388223
388224         · ebe5d9d85c Fix function spacing
388225
388226       · PR #26515: (bersace) Defaults  to  current  saltenv  in  state.sls  @
388227         2015-08-25 16:35:50 UTC
388228
388229         · 4532f98a76       Merge      pull      request      #26515      from
388230           bersace/salt-env-local-sls
388231
388232         · 0727af9e3d Defaults to current saltenv in state.sls
388233
388234       · PR #26242: (cro) Remove dead code @ 2015-08-12 15:14:20 UTC
388235
388236         · da8bca09aa Merge pull request #26242 from cro/anonldap4
388237
388238         · a0d2ab1eed Remove dead code
388239
388240       · PR #26216: (cro) Fix LDAP configuration issue.  @ 2015-08-11 18:33:43
388241         UTC
388242
388243         · 1ecf23773e Merge pull request #26216 from cro/anonldap3
388244
388245         · af132d7b89 Documentation update for anonymous bind issue.
388246
388247         · 2ef54b6b13 Documentation update for anonymous bind issue.
388248
388249         · 5b1836bb00 Fix issue with LDAP anonymous binds.
388250
388251       · PR  #26116:  (corux)  file.replace fails if repl string is an invalid
388252         regex and append/prepend is used @ 2015-08-10 16:44:12 UTC
388253
388254         · abdf2935c4 Merge pull request #26116 from corux/fix-escape-content
388255
388256         · fd913ddc36 Append/prepend: search for full line with  escaped  con‐
388257           tent
388258
388259       · ISSUE #25751: (basepi) Document master_finger more prominently (refs:
388260         #26088)
388261
388262       · PR #26088: (jacobhammons) Master finger @ 2015-08-07 14:31:33 UTC
388263
388264         · 106356d98d Merge pull request #26088 from  jacobhammons/master-fin‐
388265           ger
388266
388267         · 133d5f7885 some small changes
388268
388269         · d220c83f77  master_finger configuration docs switch a script to use
388270           https:// instead of http:// Refs #25751
388271
388272       · ISSUE #25961: (getabc) [2015.5.3-2]  salt-winrepo.git/salt-minion.sls
388273         fails certificate '*.wpengine.com' or 'wpengine.com' (refs: #26047)
388274
388275       · PR  #26047: (jacobhammons) Updated windows download links in the docs
388276         to https://repo.saltstack.com @ 2015-08-05 22:59:44 UTC
388277
388278         · 4bd4bc41f2 Merge pull request  #26047  from  jacobhammons/win-down‐
388279           loads
388280
388281         · 7c162d181c   Updated   windows   download  links  in  the  docs  to
388282           https://repo.saltstack.com Refs #25961
388283
388284       · ISSUE #25701: (alekti) Issue #23764 regression (refs: #25750)
388285
388286       · ISSUE #23764: (es1o) source_hash from local file  is  not  supported.
388287         (refs: #25750)
388288
388289       · PR   #25750:  (alekti)  Add  file  as  supported  protocol  for  file
388290         source_hash. Fixes #25701.  @ 2015-07-29 02:31:27 UTC
388291
388292         · d93eb87c16 Merge pull request #25750 from alekti/2014.7
388293
388294         · 9ec3ae96d4 Add file as supported  protocol  for  file  source_hash.
388295           Fixes #23764.
388296
388297       · PR  #25704:  (cachedout)  Ensure  prior alignment with master_type in
388298         2014.7 @ 2015-07-27 16:06:35 UTC
388299
388300         · 3a15df22ac  Merge   pull   request   #25704   from   cachedout/mas‐
388301           ter_type_2014_7
388302
388303         · c95886c9a7 Ensure prior alignment with master_type in 2014.7
388304
388305       · PR  #25657:  (MrCitron) Add the ability to specify a base pattern for
388306         carbon returner @ 2015-07-24 16:32:58 UTC
388307
388308         · d1b9362a73 Merge pull  request  #25657  from  MrCitron/pattern-car‐
388309           bon-returner-2014.7
388310
388311         · f8b2f8079f  Add  the  ability to specify a base pattern for metrics
388312           path used by the carbon returner
388313
388314       · PR #25633: (AkhterAli) Update loader.py @ 2015-07-22 20:02:41 UTC
388315
388316         · 9634351fc2 Merge pull request #25633 from AkhterAli/2014.7
388317
388318         · 29be4bbe11 Update loader.py
388319
388320       · PR #25416: (cachedout) Fix broken keyword @ 2015-07-14 19:47:10 UTC
388321
388322         · 09ebaceca8 Merge pull request #25416 from cachedout/str_2014_7
388323
388324         · cc514938a8 Fix broken keyword
388325
388326       · PR #25375: (cachedout) Fix  error  in  config.py  for  master_type  @
388327         2015-07-13 16:49:27 UTC
388328
388329         · 2a1dd1113f   Merge   pull   request   #25375   from  cachedout/con‐
388330           fig_fix_2014_7
388331
388332         · c041f2905f Fix error in config.py for master_type
388333
388334       · PR #25324: (jacobhammons) Latest  help  theme  updates  @  2015-07-10
388335         16:11:31 UTC
388336
388337         · 2590e23d48    Merge    pull    request    #25324   from   jacobham‐
388338           mons/doc-theme-updates
388339
388340         · 88f5fcf58d Latest help theme updates
388341
388342       · ISSUE #18447: (ryan-lane) Can't install salt with raet using  pip  -e
388343         git (refs: #25093)
388344
388345       · PR  #25093:  (jaybocc2)  quick  fix  for  issue  #18447  @ 2015-07-01
388346         15:56:53 UTC
388347
388348         · 36d53ef59e Merge pull request #25093 from jaybocc2/2014.7
388349
388350         · c6a501ebda quick fix for issue #18447
388351
388352       · PR #25069: (puneetk) Add a helper module function called list_enabled
388353         @ 2015-06-30 20:53:51 UTC
388354
388355         · 38903a94a1 Merge pull request #25069 from puneetk/patch-1
388356
388357         · f0b4e600e6 Update Documentation to clarify version added
388358
388359         · f8dc6030e7 Pylint updates , removing whitespace
388360
388361         · 532d315dd1  [Code Review update] renamed function to is_enaled from
388362           list_enabled
388363
388364         · 20b0462289 Update schedule.py
388365
388366         · 4f1471d7fb Add a helper module function called list_enabled
388367
388368       · ISSUE #15209: (hubez) file.manage: source_hash not working with s3://
388369         (2014.7.0rc1) (refs: #25011)
388370
388371       · PR  #25011:  (notpeter)  Add  s3  to protocols for remote source_hash
388372         (2014.7 backport) @ 2015-06-27 22:35:44 UTC
388373
388374         · a7154e7471 Merge pull request #25011 from  notpeter/s3_2014.7_back‐
388375           port
388376
388377         · 8b8af640f6 Add s3 to protocols for remote source_hash
388378
388379       · ISSUE  #24915:  (justinta)  Salt-cloud not working in 2014.7.6 (refs:
388380         #24944)
388381
388382       · PR #24944:  (techhat)  Double-check  main_cloud_config  @  2015-06-25
388383         12:29:55 UTC
388384
388385         · a11e4c6eea Merge pull request #24944 from techhat/issue24915
388386
388387         · 59c3081e49 Double-check main_cloud_config
388388
388389       · PR  #24936:  (justinta) Fixed ps module to not use depreciated psutil
388390         commands @ 2015-06-24 22:38:19 UTC
388391
388392         · d26a5447ba Merge pull request #24936 from jtand/psutil
388393
388394         · bdb7a19c36 Fixed ps module to not use depreciated psutil commands
388395
388396       · ISSUE saltstack/salt-bootstrap#473: (s1kbr0) salt-bootstrap.sh  [...]
388397         git v2014.1.11 on SmartOS base64 is broken (refs: #24918)
388398
388399       · PR  #24918:  (BretFisher) SmartOS SMF minion startup fix @ 2015-06-24
388400         15:44:26 UTC
388401
388402         · eeb05a1b10  Merge  pull   request   #24918   from   BretFisher/min‐
388403           ion-start-smartos-smf-fix
388404
388405         · d7bfb0c7fd Smartos smf minion fix
388406
388407       · ISSUE #24776: (nmadhok) --static option in salt raises ValueError and
388408         has been broken for a very long time (refs: #24777)
388409
388410       · PR #24780:  (nmadhok)  Backporting  PR  #24777  to  2014.7  branch  @
388411         2015-06-18 14:52:56 UTC
388412
388413         · PR  #24779:  (nmadhok)  Backporting Changes to 2014.7 branch (refs:
388414           #24777)
388415
388416         · PR #24778: (nmadhok) Backporting PR #24777 to 2015.2 branch  (refs:
388417           #24777)
388418
388419         · PR  #24777: (nmadhok) Fixing issue where --static option fails with
388420           ValueError Fixes #24776 (refs: #24778, #24780)
388421
388422         · 4281dfff0b   Merge   pull   request   #24780   from   nmadhok/back‐
388423           port-2014.7-24777
388424
388425         · c53b0d9a22 Backporting PR #24777 to 2014.7 branch
388426
388427       · ISSUE  #21318:  (thanatos)  get_full_returns  raises  KeyError (refs:
388428         #24769)
388429
388430       · ISSUE #18994: (njhartwell)  salt.client.get_cli_returns  errors  when
388431         called immediately after run_job (refs: #24769)
388432
388433       · PR  #24769: (msteed) Fix stacktrace in get_cli_returns() @ 2015-06-18
388434         14:31:46 UTC
388435
388436         · f3c5cb2d41 Merge pull request #24769 from msteed/issue-21318
388437
388438         · f40a9d5cc0 Fix stacktrace in get_cli_returns()
388439
388440       · ISSUE #17041: (xenophonf) Confusing Salt error messages due  to  lim‐
388441         ited/incomplete PowerShell command error handling (refs: #24690)
388442
388443       · PR  #24690:  (twangboy)  Report  powershell output instead of error @
388444         2015-06-17 16:33:49 UTC
388445
388446         · 59db24602f Merge pull request #24690 from twangboy/fix_17041
388447
388448         · 7a015389af Added additional reporting
388449
388450         · d84ad5d519 Fixed capitalization... Failed and Already
388451
388452         · e9552455c4         Merge         branch         '2014.7'         of
388453           https://github.com/saltstack/salt into fix_17041
388454
388455       · ISSUE  #24196: (johnccfm) Exception when using user.present with Win‐
388456         dows (refs: #24646)
388457
388458       · PR  #24646:  (twangboy)  Fixed  user.present  on  existing   user   @
388459         2015-06-15 15:04:43 UTC
388460
388461         · a18dadad71 Merge pull request #24646 from twangboy/fix_24196
388462
388463         · a208e1d60f Fixed user.present on existing user
388464
388465         · 144bff2f67 Report powershell output instead of error
388466
388467       · PR  #24643:  (cro)  Add  reference  to  salt-announce  mailing list @
388468         2015-06-12 20:21:15 UTC
388469
388470         · b99484fde2 Merge pull request #24643 from cro/saltannounce
388471
388472         · ecb0623d7f Add salt-announce mailing list.
388473
388474       · PR #24620:  (twangboy)  Fixed  comment  and  uncomment  functions  in
388475         file.py @ 2015-06-12 19:36:26 UTC
388476
388477         · 635121e85d Merge pull request #24620 from twangboy/fix_24215
388478
388479         · d7a9999be1 Fixed comment and uncomment functions in file.py
388480
388481       · PR  #24589:  (BretFisher)  Fixed  Mine example for jinja code block @
388482         2015-06-11 15:48:02 UTC
388483
388484         · d83928a7f9 Merge pull request #24589 from BretFisher/patch-1
388485
388486         · 65a11336dc Fixed Mine example for jinja code block
388487
388488       · ISSUE #24427: (fayetted) 2015.5.1-3 Windows  64Bit  Minion  fails  to
388489         start after install (refs: #24530)
388490
388491       · PR  #24530:  (twangboy)  Start  Minion  Service  on  Silent Install @
388492         2015-06-09 21:30:08 UTC
388493
388494         · d376390f76 Merge pull request #24530 from twangboy/fix_24427
388495
388496         · 673e1d809e Added missing panel.bmp for installer
388497
388498         · cc50218b01 Start Minion Service on Silent Install
388499
388500       · PR #24513: (jquast) bugfix use  of  'iteritem'  in  2014.7  branch  @
388501         2015-06-09 04:06:36 UTC
388502
388503         · PR  #24511:  (jquast) bugfix: trailing "...done" in rabbitmq output
388504           (refs: #24513)
388505
388506         · 6ebc476bb3  Merge  pull  request  #24513  from   jquast/2014.7-bug‐
388507           fix-iteritem
388508
388509         · 2be0180e5e bugfix use of 'iteritem' in 2014.7 branch
388510
388511       · ISSUE  #24276:  (markuskramerIgitt)  Live  salt-master Profiling with
388512         SIGUSR2 fails  (refs: #24405)
388513
388514       · PR #24405: (jacksontj) Fix for #24276 @ 2015-06-04 20:50:42 UTC
388515
388516         · 83f853b6ea Merge pull request #24405 from jacksontj/2014.7
388517
388518         · 2c7afaeebf Fix for #24276
388519
388520       · PR #24395: (hvnsweeting) handle exceptions when received data is  not
388521         in good shape @ 2015-06-04 20:08:22 UTC
388522
388523         · cef919c602 Merge pull request #24395 from hvnsweeting/handle-excep‐
388524           tion-get-file
388525
388526         · bb798a0224 handle exceptions when received  data  is  not  in  good
388527           shape
388528
388529       · PR   #24305:  (twangboy)  Added  documentation,  fixed  formatting  @
388530         2015-06-04 19:40:54 UTC
388531
388532         · efba1a94b4 Merge pull request #24305 from twangboy/win_path_docs
388533
388534         · 36804253e6 Fixed pylint error caused by P... added r
388535
388536         · bc42a4bb11 triple double quotes to triple single quotes
388537
388538         · 77cd930bba Added documentation, fixed formatting
388539
388540       · PR #24178: (rallytime) Backport #24118 to 2014.7, too.  @  2015-05-27
388541         17:49:45 UTC
388542
388543         · PR  #24118:  (trevor-h)  removed  deprecated  pymongo  usage (refs:
388544           #24178)
388545
388546         · 9d7331c87d Merge pull request #24178 from rallytime/bp-24118
388547
388548         · e2217a09e8 removed deprecated pymongo usage as no longer functional
388549           with pymongo > 3.x
388550
388551       · PR  #24159:  (rallytime)  Fill out modules/keystone.py CLI Examples @
388552         2015-05-27 15:07:11 UTC
388553
388554         · 4e8c5031b0  Merge   pull   request   #24159   from   rallytime/key‐
388555           stone_doc_examples
388556
388557         · dadac8d076 Fill out modules/keystone.py CLI Examples
388558
388559       · PR  #24158:  (rallytime)  Fix  test_valid_docs  test for tls module @
388560         2015-05-27 15:06:05 UTC
388561
388562         · fc10ee8ed5 Merge pull request #24158 from rallytime/fix_doc_error
388563
388564         · 49a517e2ca Fix test_valid_docs test for tls module
388565
388566       · PR #24125: (hvnsweeting) Fix rabbitmq test mode @ 2015-05-26 15:40:18
388567         UTC
388568
388569         · c0d32e0b5e  Merge  pull  request  #24125  from hvnsweeting/fix-rab‐
388570           bitmq-test-mode
388571
388572         · 71862c69b9 enhance log
388573
388574         · 28e2594162 change according to new output of rabbitmq module  func‐
388575           tions
388576
388577         · cd0212e8ed processes and returns better output for rabbitmq module
388578
388579       · ISSUE #23464: (tibold) cmd_iter_no_block() blocks (refs: #24093)
388580
388581       · PR  #24093: (msteed) Make LocalClient.cmd_iter_no_block() not block @
388582         2015-05-25 15:56:42 UTC
388583
388584         · 39a8f30f06 Merge pull request #24093 from msteed/issue-23464
388585
388586         · fd35903d75 Fix failing test
388587
388588         · 41b344c7d3 Make LocalClient.cmd_iter_no_block() not block
388589
388590       · PR #24008: (davidjb) Correct reST formatting for states.cmd  documen‐
388591         tation @ 2015-05-21 04:19:01 UTC
388592
388593         · 5bffd3045e Merge pull request #24008 from davidjb/2014.7
388594
388595         · 8b8d0293d4 Correct reST formatting for documentation
388596
388597       · PR  #23933:  (jacobhammons)  sphinx saltstack2 doc theme @ 2015-05-20
388598         18:19:19 UTC
388599
388600         · 1aa0420040 Merge pull request #23933 from jacobhammons/2014.7
388601
388602         · a3613e68e4 removed numbering from doc TOC
388603
388604         · 78b737c5e6 removed 2015.* release from release notes, updated index
388605           page to remove PDF/epub links
388606
388607         · e867f7df77  Changed  build  settings  to  use  saltstack2 theme and
388608           update release versions.
388609
388610         · 81ed9c9f59 sphinx saltstack2 doc theme
388611
388612       · PR #23965: (hvnsweeting) handle all exceptions gitpython can raise  @
388613         2015-05-20 15:08:03 UTC
388614
388615         · 314e4db512    Merge    pull    request    #23965   from   hvnsweet‐
388616           ing/20147-fix-gitfs-gitpython-exception
388617
388618         · 2576301631 handle all exception gitpython can raise
388619
388620       · PR #23939: (basepi) Add extended changelog to 2014.7.6 release  notes
388621         @ 2015-05-19 21:21:00 UTC
388622
388623         · 913391207a Merge pull request #23939 from basepi/v2014.7.6release
388624
388625         · 32b65dc2a9 Add extended changelog to 2014.7.6 release notes
388626
388627       · ISSUE #23820: (UtahDave) 2014.7.5 schedule error (refs: #23881)
388628
388629       · PR  #23881:  (garethgreenaway)  Fixes  to schedule module in 2014.7 @
388630         2015-05-19 15:46:30 UTC
388631
388632         · 0031ca2631   Merge   pull   request   #23881   from    garethgreen‐
388633           away/23820_2014_7_schedule_list_issue
388634
388635         · b207f2a433  Missing  continue  in  the  list function when deleting
388636           unused attributes.
388637
388638       · ISSUE #22131: (quixoten) "unexpected  keyword  argument  'merge'"  on
388639         2014.7.2 (salt-ssh) (refs: #23887)
388640
388641       · PR  #23887:  (basepi) [2014.7] Bring salt-ssh pillar.get in line with
388642         mainline pillar.get @ 2015-05-18 23:11:34 UTC
388643
388644         · 63bd21ecd2 Merge  pull  request  #23887  from  basepi/salt-ssh.pil‐
388645           lar.get.22131
388646
388647         · bc84502f46  Bring  salt-ssh  pillar.get  in line with mainline pil‐
388648           lar.get
388649
388650       · PR #23891: (basepi) Update the release notes index page @  2015-05-18
388651         23:06:52 UTC
388652
388653         · 17c5810c04 Merge pull request #23891 from basepi/releasenotes
388654
388655         · dec153bcea Update the release notes index page
388656
388657       · PR  #23888:  (basepi)  Update  the  2014.7.6  release  notes with CVE
388658         details @ 2015-05-18 22:35:51 UTC
388659
388660         · a93e58f80f Merge pull request #23888 from basepi/v2014.7.6release
388661
388662         · 49921b6cb2 Update the 2014.7.6 release notes with CVE details
388663
388664       · PR  #23871:  (rallytime)  Backport  #23848  to  2014.7  @  2015-05-18
388665         20:34:04 UTC
388666
388667         · PR  #23848:  (dumol)  Updated installation docs for SLES 12. (refs:
388668           #23871)
388669
388670         · 50730287bb Merge pull request #23871 from rallytime/bp-23848
388671
388672         · 379c09c3a5 Updated for SLES 12.
388673
388674   Salt 2014.7.8 Release Notes
388675       release
388676              2015-11-13
388677
388678       Version 2014.7.8 is a bugfix release for 2014.7.0.
388679
388680   Statistics
388681       · Total Merges: 7
388682
388683       · Total Issue References: 3
388684
388685       · Total PR References: 10
388686
388687       · Contributors: 5 (DmitryKuzmenko,  JaseFace,  MasterNayru,  cachedout,
388688         rallytime)
388689
388690   Changelog for v2014.7.7..v2014.7.8
388691       Generated at: 2018-05-27 20:47:34 UTC
388692
388693       · PR #28839: (cachedout) Revert #28740 @ 2015-11-12 22:54:28 UTC
388694
388695         · PR  #28740:  (MasterNayru)  Add  missing  S3  module  import (refs:
388696           #28777, #28839)
388697
388698         · 4b8bdd0afb Merge pull request #28839 from cachedout/revert_28740
388699
388700         · 215b26c06f Revert #28740
388701
388702       · PR #28777:  (rallytime)  Back-port  #28740  to  2014.7  @  2015-11-11
388703         18:00:00 UTC
388704
388705         · PR  #28740:  (MasterNayru)  Add  missing  S3  module  import (refs:
388706           #28777, #28839)
388707
388708         · 76e69b4bff Merge pull request #28777 from rallytime/bp-28740-2014.7
388709
388710         · da5fac2b36 Back-port #28740 to 2014.7
388711
388712       · PR #28716:  (rallytime)  Back-port  #28705  to  2014.7  @  2015-11-10
388713         16:15:03 UTC
388714
388715         · PR #28705: (cachedout) Account for new headers class in tornado 4.3
388716           (refs: #28716)
388717
388718         · 45c73ebf2f Merge pull request #28716 from rallytime/bp-28705
388719
388720         · 32e7bd3ea0 Account for new headers class in tornado 4.3
388721
388722       · ISSUE #28199: (felskrone) Non-standard umasks might break the  master
388723         (refs: #28717)
388724
388725       · PR  #28717: (cachedout) Add note about recommended umask @ 2015-11-09
388726         23:26:20 UTC
388727
388728         · f4fe921965 Merge pull request #28717 from cachedout/umask_note
388729
388730         · 1874300e08 Add note about recommended umask
388731
388732       · ISSUE #28455: (zmalone) highstate.cache is world readable,  and  con‐
388733         tains secrets (refs: #28461)
388734
388735       · PR  #28461:  (cachedout) Wrap all cache calls in state.sls in correct
388736         umask @ 2015-11-02 17:11:02 UTC
388737
388738         · 4bf56cad3f Merge pull request #28461 from cachedout/issue_28455
388739
388740         · 097838ec0c Wrap all cache calls in state.sls in correct umask
388741
388742       · ISSUE #24910: (bocig) -T,  --make-token  flag  does  NOT  work-  LDAP
388743         Groups (refs: #28407)
388744
388745       · PR  #28407: (DmitryKuzmenko) Don't request creds if auth with key.  @
388746         2015-10-29 16:12:30 UTC
388747
388748         · f3e61db045    Merge    pull    request    #28407    from    DSRCom‐
388749           pany/issues/24910_token_auth_fix_2014
388750
388751         · b7b5bec309 Don't request creds if auth with key.
388752
388753       · PR  #27390:  (JaseFace)  Ensure  we  pass  on  the  enable setting if
388754         present, or use the default of True if not in build_schedule_item() @
388755         2015-10-05 18:09:33 UTC
388756
388757         · d284eb165b  Merge  pull request #27390 from JaseFace/schedule-miss‐
388758           ing-enabled
388759
388760         · 563db71bfd Ensure we pass on the enable setting if present, or  use
388761           the  default of True if not in build_schedule_item() Prior to this,
388762           when schedule.present compares the existing  schedule  to  the  one
388763           crafted  by this function, enabled will actually be removed at each
388764           run.  schedule.present sees a modification needs to  be  made,  and
388765           invokes schedule.modify, which does so with enabled: True, creating
388766           and endless loop of an 'enabled' removal and addition.
388767
388768   Salt 2014.7.9 Release Notes
388769       release
388770              2016-03-11
388771
388772       Version 2014.7.9 is a bugfix release for 2014.7.0.
388773
388774   Statistics
388775       · Total Merges: 5
388776
388777       · Total Issue References: 1
388778
388779       · Total PR References: 5
388780
388781       · Contributors: 4 (douardda, gtmanfred, jacobhammons, jfindlay)
388782
388783   Changelog for v2014.7.8..v2014.7.9
388784       Generated at: 2018-05-27 20:55:35 UTC
388785
388786       · PR  #31834:  (jfindlay)  add  2014.7.8  release  notes  @  2016-03-11
388787         21:35:42 UTC
388788
388789         · 218c902091 Merge pull request #31834 from jfindlay/2014.7
388790
388791         · 358fdad0c8 add 2014.7.8 release notes
388792
388793       · PR  #31833:  (jfindlay)  add  2014.7.9  release  notes  @  2016-03-11
388794         21:19:55 UTC
388795
388796         · a423c6cd04 Merge pull request #31833 from jfindlay/2014.7
388797
388798         · 6910fcc584 add 2014.7.9 release notes
388799
388800       · PR #31826: (gtmanfred) Remove ability of authenticating user to spec‐
388801         ify pam service @ 2016-03-11 20:41:01 UTC
388802
388803         · c5e7c03953 Merge pull request #31826 from gtmanfred/2014.7
388804
388805         · d73f70ebb2  Remove  ability  of  authenticating user to specify pam
388806           service
388807
388808       · PR #29392: (jacobhammons) updated version number to not  reference  a
388809         specific build from the lat… @ 2015-12-03 15:54:31 UTC
388810
388811         · 85aa70a6cb Merge pull request #29392 from jacobhammons/2014.7
388812
388813         · d7f0db1dd8 updated version number to not reference a specific build
388814           from the latest branch
388815
388816       · ISSUE #29295:  (douardda)  systemd's  service  file  should  use  the
388817         'process' KillMode option on Debian also (refs: #29296)
388818
388819       · PR  #29296:  (douardda) Use process KillMode on Debian systems also @
388820         2015-12-01 16:00:16 UTC
388821
388822         · d2fb2109a3 Merge pull request #29296 from douardda/patch-3
388823
388824         · d2885390f4 Use process KillMode on Debian systems also
388825
388826   Salt 2014.1.0 Release Notes - Codename Hydrogen
388827       NOTE:
388828          Due to a change in master to minion communication, 2014.1.0  minions
388829          are  not compatible with older-version masters.  Please upgrade mas‐
388830          ters first.  More info on backwards-compatibility policy here, under
388831          the "Upgrading Salt" subheading.
388832
388833       NOTE:
388834          A  change  in  the grammar in the state compiler makes module.run in
388835          requisites illegal syntax.  Its use is replaced simply with the word
388836          module.   In  other  words  you  will need to change requisites like
388837          this:
388838
388839              require:
388840                  module.run: some_module_name
388841
388842          to:
388843
388844              require:
388845                  module: some_module_name
388846
388847          This is a breaking change.  We apologize for the  inconvenience,  we
388848          needed to do this to remove some ambiguity in parsing requisites.
388849
388850       release
388851              2014-02-24
388852
388853       The  2014.1.0  release  of  Salt  is  a  major  release  which not only
388854       increases stability but also brings new capabilities in virtualization,
388855       cloud  integration,  and more. This release brings a great focus on the
388856       expansion of testing making roughly double the  coverage  in  the  Salt
388857       tests, and comes with many new features.
388858
388859       2014.1.0 is the first release to follow the new date-based release nam‐
388860       ing system. See the version numbers page for more details.
388861
388862   Major Features
388863   Salt Cloud Merged into Salt
388864       Salt Cloud is a tool for provisioning  salted  minions  across  various
388865       cloud  providers.  Prior  to  this  release,  Salt Cloud was a separate
388866       project but this marks its full integration with the Salt distribution.
388867       A Getting Started guide and additional documentation for Salt Cloud can
388868       be found here:
388869
388870   Google Compute Engine
388871       Alongside Salt Cloud comes new support for the Google  Compute  Engine.
388872       Salt  Stack  can  now  deploy  and control GCE virtual machines and the
388873       application stacks that they run.
388874
388875       For more information on Salt Stack and GCE, please see this blog post.
388876
388877       Documentation for Salt and GCE can be found here.
388878
388879   Salt Virt
388880       Salt Virt is a cloud controller that supports virtual  machine  deploy‐
388881       ment, inspection, migration, and integration with many aspects of Salt.
388882
388883       Salt Virt has undergone a major overhaul with this release and now sup‐
388884       ports many more features and includes a  number  of  critical  improve‐
388885       ments.
388886
388887   Docker Integration
388888       Salt  now  ships  with  states and an execution module to manage Docker
388889       containers.
388890
388891   Substantial Testing Expansion
388892       Salt continues to increase  its  unit/regression  test  coverage.  This
388893       release includes over 300 new tests.
388894
388895   BSD Package Management
388896       BSD package management has been entirely rewritten. FreeBSD 9 and older
388897       now default to using pkg_add, while  FreeBSD  10  and  newer  will  use
388898       pkgng. FreeBSD 9 can be forced to use pkgng, however, by specifying the
388899       following option in the minion config file:
388900
388901          providers:
388902            pkg: pkgng
388903
388904       In addition, support for installing software from the  ports  tree  has
388905       been  added.  See  the  documentation for the ports state and execution
388906       module for more information.
388907
388908   Network Management for Debian/Ubuntu
388909       Initial support for management of network  interfaces  on  Debian-based
388910       distros has been added. See the documentation for the network state and
388911       the debian_ip for more information.
388912
388913   IPv6 Support for iptables State/Module
388914       The iptables state and module now have IPv6 support.  A  new  parameter
388915       family has been added to the states and execution functions, to distin‐
388916       guish between IPv4 and IPv6. The default value for  this  parameter  is
388917       ipv4, specifying ipv6 will use ip6tables to manage firewall rules.
388918
388919   GitFS Improvements
388920       Several  performance  improvements have been made to the Git fileserver
388921       backend. Additionally, file states can now use any SHA1 commit hash  as
388922       a fileserver environment:
388923
388924          /etc/httpd/httpd.conf:
388925            file.managed:
388926              - source: salt://webserver/files/httpd.conf
388927              - saltenv: 45af879
388928
388929       This applies to the functions in the cp module as well:
388930
388931          salt '*' cp.get_file salt://readme.txt /tmp/readme.txt saltenv=45af879
388932
388933   MinionFS
388934       This  new  fileserver  backend allows files which have been pushed from
388935       the minion to the master (using cp.push) to be served up from the  salt
388936       fileserver. The path for these files takes the following format:
388937
388938          salt://minion-id/path/to/file
388939
388940       minion-id  is  the  id  of  the "source" minion, the one from which the
388941       files were pushed to the master. /path/to/file is the full path of  the
388942       file.
388943
388944       The MinionFS Walkthrough contains a more thorough example of how to use
388945       this backend.
388946
388947   saltenv
388948       To distinguish between fileserver environments and execution  functions
388949       which  deal with environment variables, fileserver environments are now
388950       specified using the saltenv parameter. env will continue to  work,  but
388951       is deprecated and will be removed in a future release.
388952
388953   Grains Caching
388954       A  caching  layer  has  been added to the Grains system, which can help
388955       speed up minion startup. Disabled by default, it can be enabled by set‐
388956       ting the minion config option grains_cache:
388957
388958          grains_cache: True
388959
388960          # Seconds before grains cache is considered to be stale.
388961          grains_cache_expiration: 300
388962
388963       If  set  to  True,  the  grains  loader  will read from/write to a msg‐
388964       pack-serialized file containing the grains data.
388965
388966       Additional command-line parameters have been added to salt-call, mainly
388967       for testing purposes:
388968
388969       · --skip-grains will completely bypass the grains loader when salt-call
388970         is invoked.
388971
388972       · --refresh-grains-cache will force the grains  loader  to  bypass  the
388973         grains cache and refresh the grains, writing a new grains cache file.
388974
388975   Improved Command Logging Control
388976       When  using  the  cmd module, either on the CLI or when developing Salt
388977       execution modules, a new keyword argument  output_loglevel  allows  for
388978       greater  control  over  how (or even if) the command and its output are
388979       logged. For example:
388980
388981          salt '*' cmd.run 'tail /var/log/messages' output_loglevel=debug
388982
388983       The package management modules (apt, yumpkg, etc.) have been updated to
388984       log the copious output generated from these commands at loglevel debug.
388985
388986       NOTE:
388987          To  keep  a  command from being logged, output_loglevel=quiet can be
388988          used.
388989
388990          Prior to this release, this could be  done  using  quiet=True.  This
388991          argument  is  still  supported, but will be removed in a future Salt
388992          release.
388993
388994   PagerDuty Support
388995       Initial support for firing events via PagerDuty has been added. See the
388996       documentation for the pagerduty module.
388997
388998   Virtual Terminal
388999       Sometimes  the  subprocess module is not good enough, and, in fact, not
389000       even askpass is. This virtual terminal is still in it's  infant  child‐
389001       hood,  needs  quite  some  love,  and was originally created to replace
389002       askpass, but, while developing it, it immediately proved that it  could
389003       do  so  much more. It's currently used by salt-cloud when bootstrapping
389004       salt on clouds which require the use of a password.
389005
389006   Proxy Minions
389007       Initial basic support for Proxy Minions is in this release.  Documenta‐
389008       tion can be found here.
389009
389010       Proxy  minions are a developing feature in Salt that enables control of
389011       devices that cannot run a minion. Examples include  network  gear  like
389012       switches  and  routers  that  run a proprietary OS but offer an API, or
389013       "dumb" devices that just don't have the horsepower or ability to handle
389014       a Python VM.
389015
389016       Proxy minions can be difficult to write, so a simple REST-based example
389017       proxy is included. A Python bottle-based  webserver  can  be  found  at
389018       https://github.com/cro/salt-proxy-rest as an endpoint for this proxy.
389019
389020       This  is an ALPHA-quality feature. There are a number of issues with it
389021       currently,  mostly  centering  around  process  control,  logging,  and
389022       inability to work in a masterless configuration.
389023
389024   Additional Bugfixes (Release Candidate Period)
389025       Below  are  many  of the fixes that were implemented in salt during the
389026       release candidate phase.
389027
389028       · Fix mount.mounted leaving conflicting entries in fstab (issue #7079)
389029
389030       · Fix mysql returner serialization to use json (issue #9590)
389031
389032       · Fix ZMQError: Operation  cannot  be  accomplished  in  current  state
389033         errors (issue #6306)
389034
389035       · Rbenv and ruby improvements
389036
389037       · Fix quoting issues with mysql port (issue #9568)
389038
389039       · Update  mount module/state to support multiple swap partitions (issue
389040         #9520)
389041
389042       · Fix archive state to work with bsdtar
389043
389044       · Clarify logs for minion ID caching
389045
389046       · Add numeric revision support to git state (issue #9718)
389047
389048       · Update master_uri with master_ip (issue #9694)
389049
389050       · Add comment to Debian mod_repo (issue #9923)
389051
389052       · Fix potential undefined loop variable in rabbitmq state (issue #8703)
389053
389054       · Fix for salt-virt runner to delete key on VM deletion
389055
389056       · Fix for salt-run -d to limit results to specific runner  or  function
389057         (issue #9975)
389058
389059       · Add tracebacks to jinja renderer when applicable (issue #10010)
389060
389061       · Fix parsing in monit module (issue #10041)
389062
389063       · Fix highstate output from syndic minions (issue #9732)
389064
389065       · Quiet logging when dealing with passwords/hashes (issue #10000)
389066
389067       · Fix for multiple remotes in git_pillar (issue #9932)
389068
389069       · Fix npm installed command (issue #10109)
389070
389071       · Add safeguards for utf8 errors in zcbuildout module
389072
389073       · Fix compound commands (issue #9746)
389074
389075       · Add systemd notification when master is started
389076
389077       · Many doc improvements
389078
389079   Salt 2014.1.1 Release Notes
389080       release
389081              2014-03-18
389082
389083       Version  2014.1.1  is  a  bugfix  release  for  2014.1.0.   The changes
389084       include:
389085
389086       · Various doc fixes, including up-to-date Salt Cloud installation docu‐
389087         mentation.
389088
389089       · Renamed  state.sls  runner  to state.orchestrate, to reduce confusion
389090         with the state.sls execution function
389091
389092       · Fix various bugs in the dig module (issue #10367)
389093
389094       · Add retry for query on certain EC2 status codes (issue #10154)
389095
389096       · Fix various bugs in mongodb_user state module (issue #10430)
389097
389098       · Fix permissions on ~/.salt_token (issue #10422)
389099
389100       · Add PyObjects support
389101
389102       · Fix launchctl module crash with missing files
389103
389104       · Fix saltutil.find_job for Windows (issue #10581)
389105
389106       · Fix OS detection for OpenSolaris (issue #10601)
389107
389108       · Fix broken salt-ssh key_deploy
389109
389110       · Add support for multiline cron comments (issue #10721)
389111
389112       · Fix timezone module for Arch (issue #10789)
389113
389114       · Fix symlink support for file.recurse (issue #10809)
389115
389116       · Fix multi-master bugs (issue #10732 and issue #10969)
389117
389118       · Fix file.patch to  error  when  source  file  is  unavailable  (issue
389119         #10380)
389120
389121       · Fix  pkg  to  handle  packages  set  as purge in pkg.installed (issue
389122         #10719)
389123
389124       · Add zmqversion grain
389125
389126       · Fix highstate summary for masterless minions (issue #10945)
389127
389128       · Fix saltutil.find_job for 2014.1 masters talking to 0.17  minions  (‐
389129         issue #11020)
389130
389131       · Fix  file.recurse  states  with  trailing  slashes  in  source (issue
389132         #11002)
389133
389134       · Fix pkg states to allow pkgname.x86_64 (issue #7306)
389135
389136       · Make iptables states set a default table for flush (issue #11037)
389137
389138       · Added iptables --reject-with after final iptables  call  in  iptables
389139         states (issue:10757)
389140
389141       · Fix improper passing of “family” in iptables states (issue #10774)
389142
389143       · Fix traceback in iptables.insert states (issue #10988)
389144
389145       · Fix zombie processes (issue #10867 and others)
389146
389147       · Fix batch mode to obey --return settings (issue #9146)
389148
389149       · Fix  localclient  issue  that  was causing batch mode breakage (issue
389150         #11094, issue #10470, and others)
389151
389152       · Multiple salt-ssh fixes
389153
389154       · FreeBSD: look in /usr/local/etc/salt for configuration by default, if
389155         installed using pip --editable.
389156
389157       · Add a skip_suggestions parameter to pkg.installed states which allows
389158         pre-flight check to be skipped (issue #11106)
389159
389160       · Fixed  tag-based  gitfs  fileserver  environments  regression  (issue
389161         #10956)
389162
389163       · Yum:  fix  cache of available pkgs not cleared when repos are changed
389164         (issue #11001)
389165
389166       · Yum: fix for plugin-provided repositories (i.e. RHN/Spacewalk) (issue
389167         #11145)
389168
389169       · Fix regression in chocolatey.bootstrap (issue #10541)
389170
389171       · Fix fail on unknown target in jobs runner (issue #11151)
389172
389173       · Don’t  log  errors  for commands which are expected to sometimes exit
389174         with non-zero exit status (issue #11154, issue #11090)
389175
389176       · Fix test=True CLI override of config option (issue #10877)
389177
389178       · Log sysctl key listing at loglevel TRACE (issue #10931)
389179
389180   Salt 2014.1.10 Release Notes
389181       release
389182              2014-08-01
389183
389184       NOTE:
389185          Version 2014.1.9 contained a regression which caused inaccurate Salt
389186          version  detection, and thus was never packaged for general release.
389187          This version contains the version detection fix,  but  is  otherwise
389188          identical to 2014.1.9.
389189
389190       Version  2014.1.10  is  another  bugfix  release for 2014.1.0.  Changes
389191       include:
389192
389193       · Ensure salt-ssh will not  continue  if  permissions  on  a  temporary
389194         directory are not correct.
389195
389196       · Use  the bootstrap script distributed with Salt instead of relying on
389197         an external resource
389198
389199       · Remove unused testing code
389200
389201       · Ensure salt states are placed into the .salt directory in salt-ssh
389202
389203       · Use a randomized path for temporary files in a salt-cloud deployment
389204
389205       · Clean any stale directories to ensure a fresh copy of salt-ssh during
389206         a deployment
389207
389208       Salt  2014.1.10  fixes  security  issues  documented  by CVE-2014-3563:
389209       "Insecure tmp-file creation  in  seed.py,  salt-ssh,  and  salt-cloud."
389210       Upgrading is recommended.
389211
389212   Salt 2014.1.11 Release Notes
389213       release
389214              2014-08-29
389215
389216       Version  2014.1.11  is  another  bugfix  release for 2014.1.0.  Changes
389217       include:
389218
389219       · Fix for minion_id with byte-order mark (BOM) (issue #12296)
389220
389221       · Fix runas deprecation in at module
389222
389223       · Fix trailing slash befhavior for file.makedirs_ (issue #14019)
389224
389225       · Fix chocolatey path (issue #13870)
389226
389227       · Fix git_pillar infinite loop issues (issue #14671)
389228
389229       · Fix json outputter null case
389230
389231       · Fix for minion error if one  of  multiple  masters  are  down  (issue
389232         #14099)
389233
389234   Salt 2014.1.12 Release Notes
389235       release
389236              2014-10-08
389237
389238       Version  2014.1.12  is  another  bugfix  release for 2014.1.0.  Changes
389239       include:
389240
389241       · Fix scp_file always failing (which broke salt-cloud) (issue #16437)
389242
389243       · Fix regression in pillar in masterless (issue #16210,  issue  #16416,
389244         issue #16428)
389245
389246   Salt 2014.1.13 Release Notes
389247       release
389248              2014-10-14
389249
389250       Version  2014.1.13  is  another  bugfix  release for 2014.1.0.  Changes
389251       include:
389252
389253       · Fix sftp_file by checking the exit status code of  scp  (which  broke
389254         salt-cloud) (issue #16599)
389255
389256   Salt 2014.1.2 Release Notes
389257       release
389258              2014-04-15
389259
389260       Version  2014.1.2  is  another bugfix release for 2014.1.0. The changes
389261       include:
389262
389263       · Fix username detection when su'ed to root on FreeBSD (issue #11628)
389264
389265       · Fix minionfs backend for file.recurse states
389266
389267       · Fix 32-bit packages of different arches than the CPU arch, on  32-bit
389268         RHEL/CentOS (issue #11822)
389269
389270       · Fix bug with specifying alternate home dir on user creation (FreeBSD)
389271         (issue #11790)
389272
389273       · Don’t reload site module on module refresh for MacOS
389274
389275       · Fix regression with running execution functions in Pillar SLS  (issue
389276         #11453)
389277
389278       · Fix some modules missing from Windows installer
389279
389280       · Don’t  log  an error for yum commands that return nonzero exit status
389281         on non-failure (issue #11645)
389282
389283       · Fix bug in rabbitmq state (issue #8703)
389284
389285       · Fix missing ssh config options (issue #10604)
389286
389287       · Fix top.sls ordering (issue #10810 and issue #11691)
389288
389289       · Fix salt-key --list all (issue #10982)
389290
389291       · Fix win_servermanager install/remove function (issue #11038)
389292
389293       · Fix interaction with tokens when  running  commands  as  root  (issue
389294         #11223)
389295
389296       · Fix overstate bug with find_job and **kwargs (issue #10503)
389297
389298       · Fix saltenv for aptpkg.mod_repo from pkgrepo state
389299
389300       · Fix environment issue causing file caching problems (issue #11189)
389301
389302       · Fix bug in __parse_key in registry state (issue #11408)
389303
389304       · Add minion auth retry on rejection (issue #10763)
389305
389306       · Fix publish_session updating the encryption key (issue #11493)
389307
389308       · Fix for bad AssertionError raised by GitPython (issue #11473)
389309
389310       · Fix debian_ip to allow disabling and enabling networking on Ubuntu (‐
389311         issue #11164)
389312
389313       · Fix potential memory leak caused by saved (and unused) events  (issue
389314         #11582)
389315
389316       · Fix exception handling in the MySQL module (issue #11616)
389317
389318       · Fix environment-related error (issue #11534)
389319
389320       · Include psutil on Windows
389321
389322       · Add file.replace and file.search to Windows (issue #11471)
389323
389324       · Add additional file module helpers to Windows (issue #11235)
389325
389326       · Add pid to netstat output on Windows (issue #10782)
389327
389328       · Fix  Windows not caching new versions of installers in winrepo (issue
389329         #10597)
389330
389331       · Fix hardcoded md5 hashing
389332
389333       · Fix kwargs in salt-ssh (issue #11609)
389334
389335       · Fix file backup timestamps (issue #11745)
389336
389337       · Fix stacktrace on sys.doc with invalid eauth (issue #11293)
389338
389339       · Fix git.latest with test=True (issue #11595)
389340
389341       · Fix file.check_perms hardcoded follow_symlinks (issue #11387)
389342
389343       · Fix certain pkg states for RHEL5/Cent5 machines (issue #11719)
389344
389345   Salt 2014.1.3 Release Notes
389346       release
389347              2014-04-15
389348
389349       Version 2014.1.3 is another bugfix release for 2014.1.0.  It  was  cre‐
389350       ated as a hotfix for a regression found in 2014.1.2, which was not dis‐
389351       tributed.  The only change made was as follows:
389352
389353       · Fix regression that caused saltutil.find_job to fail, causing  prema‐
389354         ture terminations of salt CLI commands.
389355
389356       Changes in the not-distributed 2014.1.2, also included in 2014.1.3:
389357
389358       · Fix username detection when su'ed to root on FreeBSD (issue #11628)
389359
389360       · Fix minionfs backend for file.recurse states
389361
389362       · Fix  32-bit packages of different arches than the CPU arch, on 32-bit
389363         RHEL/CentOS (issue #11822)
389364
389365       · Fix bug with specifying alternate home dir on user creation (FreeBSD)
389366         (issue #11790)
389367
389368       · Don’t reload site module on module refresh for MacOS
389369
389370       · Fix  regression with running execution functions in Pillar SLS (issue
389371         #11453)
389372
389373       · Fix some modules missing from Windows installer
389374
389375       · Don’t log an error for yum commands that return nonzero  exit  status
389376         on non-failure (issue #11645)
389377
389378       · Fix bug in rabbitmq state (issue #8703)
389379
389380       · Fix missing ssh config options (issue #10604)
389381
389382       · Fix top.sls ordering (issue #10810 and issue #11691)
389383
389384       · Fix salt-key --list all (issue #10982)
389385
389386       · Fix win_servermanager install/remove function (issue #11038)
389387
389388       · Fix  interaction  with  tokens  when  running commands as root (issue
389389         #11223)
389390
389391       · Fix overstate bug with find_job and **kwargs (issue #10503)
389392
389393       · Fix saltenv for aptpkg.mod_repo from pkgrepo state
389394
389395       · Fix environment issue causing file caching problems (issue #11189)
389396
389397       · Fix bug in __parse_key in registry state (issue #11408)
389398
389399       · Add minion auth retry on rejection (issue #10763)
389400
389401       · Fix publish_session updating the encryption key (issue #11493)
389402
389403       · Fix for bad AssertionError raised by GitPython (issue #11473)
389404
389405       · Fix debian_ip to allow disabling and enabling networking on Ubuntu (‐
389406         issue #11164)
389407
389408       · Fix  potential memory leak caused by saved (and unused) events (issue
389409         #11582)
389410
389411       · Fix exception handling in the MySQL module (issue #11616)
389412
389413       · Fix environment-related error (issue #11534)
389414
389415       · Include psutil on Windows
389416
389417       · Add file.replace and file.search to Windows (issue #11471)
389418
389419       · Add additional file module helpers to Windows (issue #11235)
389420
389421       · Add pid to netstat output on Windows (issue #10782)
389422
389423       · Fix Windows not caching new versions of installers in winrepo  (issue
389424         #10597)
389425
389426       · Fix hardcoded md5 hashing
389427
389428       · Fix kwargs in salt-ssh (issue #11609)
389429
389430       · Fix file backup timestamps (issue #11745)
389431
389432       · Fix stacktrace on sys.doc with invalid eauth (issue #11293)
389433
389434       · Fix git.latest with test=True (issue #11595)
389435
389436       · Fix file.check_perms hardcoded follow_symlinks (issue #11387)
389437
389438       · Fix certain pkg states for RHEL5/Cent5 machines (issue #11719)
389439
389440   Salt 2014.1.4 Release Notes
389441       release
389442              2014-05-05
389443
389444       Version  2014.1.4  is  another  bugfix  release  for 2014.1.0.  Changes
389445       include:
389446
389447       · Fix setup.py dependency issue (issue #12031)
389448
389449       · Fix handling for IOErrors under certain circumstances  (issue  #11783
389450         and issue #11853)
389451
389452       · Fix  fatal  exception  when  /proc/1/cgroup  is  not  readable (issue
389453         #11619)
389454
389455       · Fix os grains for OpenSolaris (issue #11907)
389456
389457       · Fix lvs.zero module argument pass-through (issue #9001)
389458
389459       · Fix bug in debian_ip interaction  with  network.system  state  (issue
389460         #11164)
389461
389462       · Remove bad binary package verification code (issue #12177)
389463
389464       · Fix traceback in solaris package installation (issue #12237)
389465
389466       · Fix file.directory state symlink handling (issue #12209)
389467
389468       · Remove external_ip grain
389469
389470       · Fix file.managed makedirs issues (issue #10446)
389471
389472       · Fix  hang on non-existent Windows drive letter for file module (issue
389473         #9880)
389474
389475       · Fix salt minion caching all users on the server (issue #9743)
389476
389477       · Add strftime formatting for ps.boot_time (issue #12428)
389478
389479   Salt 2014.1.5 Release Notes
389480       release
389481              2014-06-11
389482
389483       Version 2014.1.5 is  another  bugfix  release  for  2014.1.0.   Changes
389484       include:
389485
389486       · Add function for finding cached job on the minion
389487
389488       · Fix iptables save file location for Debian (issue #11730)
389489
389490       · Fix for minion caching jobs when master is down
389491
389492       · Bump  default  syndic_wait to 5 to fix syndic-related problems (issue
389493         #12262)
389494
389495       · Add OpenBSD, FreeBSD, and NetBSD support for  network.netstat  (issue
389496         #12121)
389497
389498       · Fix false positive error in logs for makeconf state (issue #9762)
389499
389500       · Fix  for  yum  fromrepo  package  installs  when  repo is disabled by
389501         default (issue #12466)
389502
389503       · Fix for extra blank lines in file.blockreplace (issue #12422)
389504
389505       · Fix grain detection for OpenVZ guests (issue #11877)
389506
389507       · Fix get_dns_servers function for Windows win_dns_client
389508
389509       · Use system locale for ports package installations
389510
389511       · Use correct stop/restart procedure for Debian networking in debian_ip
389512         (issue #12614)
389513
389514       · Fix for cmd_iter/cmd_iter_no_block blocking issues (issue #12617)
389515
389516       · Fix traceback when syncing custom types (issue #12883)
389517
389518       · Fix cleaning directory symlinks in file.directory
389519
389520       · Add  performance  optimizations for saltutil.sync_all and state.high‐
389521         state
389522
389523       · Fix possible error in saltutil.running
389524
389525       · Fix for kmod modules with dashes (issue #13239)
389526
389527       · Fix possible race condition  for  Windows  minions  in  state  module
389528         reloading (issue #12370)
389529
389530       · Fix  bug with roster for passwd option that is loaded as a non-string
389531         object (issue #13249)
389532
389533       · Keep duplicate version numbers from showing up in pkg.list_pkgs  out‐
389534         put
389535
389536       · Fixes for Jinja renderer, timezone module/state (issue #12724)
389537
389538       · Fix timedatectl parsing for systemd>=210 (issue #12728)
389539
389540       · Fix saltenv being written to YUM repo config files (issue #12887)
389541
389542       · Removed the deprecated external nodes classifier (originally accessi‐
389543         ble by setting a value for external_nodes in the master configuration
389544         file).   Note  that this functionality has been marked deprecated for
389545         some time and was replaced by the more general master tops system.
389546
389547       · More robust escaping of ldap filter strings.
389548
389549       · Fix trailing slash in gitfs_root causing files not to be available (‐
389550         issue #13185)
389551
389552   Salt 2014.1.6 Release Notes
389553       release
389554              2014-07-08
389555
389556       Version  2014.1.6  is  another  bugfix  release  for 2014.1.0.  Changes
389557       include:
389558
389559       · Fix extra iptables  --help  output  (Sorry!)   (issue  #13648,  issue
389560         #13507, issue #13527, issue #13607)
389561
389562       · Fix mount.active for Solaris
389563
389564       · Fix support for allow-hotplug statement in debian_ip network module
389565
389566       · Add sqlite3 to esky builds
389567
389568       · Fix jobs.active output (issue #9526)
389569
389570       · Fix the virtual grain for Xen (issue #13534)
389571
389572       · Fix _ext_nodes unavailable on master (issue #13535)
389573
389574       · Fix eauth for batch mode (issue #9605)
389575
389576       · Fix force-related issues with tomcat support (issue #12889)
389577
389578       · Fix KeyError when cloud mapping
389579
389580       · Fix salt-minion restart loop in Windows (issue #12086)
389581
389582       · Fix detection of service virtual module on Fedora minions
389583
389584       · Fix traceback with missing ipv4 grain (issue #13838)
389585
389586       · Fix  issue  in  roots  backend  with invalid data in mtime_map (issue
389587         #13836)
389588
389589       · Fix traceback in jobs.active (issue #11151)
389590
389591       · Fix master_tops and _ext_nodes issue (issue #13535, issue #13673)
389592
389593   Salt 2014.1.7 Release Notes
389594       release
389595              2014-07-09
389596
389597       Version 2014.1.7 is  another  bugfix  release  for  2014.1.0.   Changes
389598       include:
389599
389600       · Fix batch mode regression (issue #14046)
389601
389602       This release was a hotfix release for the regression listed above which
389603       was present in the 2014.1.6 release.  The changes included in  2014.1.6
389604       are listed below:
389605
389606       · Fix  extra  iptables  --help  output  (Sorry!)   (issue #13648, issue
389607         #13507, issue #13527, issue #13607)
389608
389609       · Fix mount.active for Solaris
389610
389611       · Fix support for allow-hotplug statement in debian_ip network module
389612
389613       · Add sqlite3 to esky builds
389614
389615       · Fix jobs.active output (issue #9526)
389616
389617       · Fix the virtual grain for Xen (issue #13534)
389618
389619       · Fix eauth for batch mode (issue #9605)
389620
389621       · Fix force-related issues with tomcat support (issue #12889)
389622
389623       · Fix KeyError when cloud mapping
389624
389625       · Fix salt-minion restart loop in Windows (issue #12086)
389626
389627       · Fix detection of service virtual module on Fedora minions
389628
389629       · Fix traceback with missing ipv4 grain (issue #13838)
389630
389631       · Fix issue in roots backend with  invalid  data  in  mtime_map  (issue
389632         #13836)
389633
389634       · Fix traceback in jobs.active (issue #11151)
389635
389636       · Fix master_tops and _ext_nodes issue (issue #13535, issue #13673)
389637
389638   Salt 2014.1.8 Release Notes
389639       release
389640              2014-07-30
389641
389642       NOTE:
389643          This  release  contained  a  regression which caused inaccurate Salt
389644          version detection, and thus was never packaged for general  release.
389645          Please use version 2014.1.10 instead.
389646
389647       Version  2014.1.8  is  another  bugfix  release  for 2014.1.0.  Changes
389648       include:
389649
389650       · Ensure salt-ssh will not  continue  if  permissions  on  a  temporary
389651         directory are not correct.
389652
389653       · Use  the bootstrap script distributed with Salt instead of relying on
389654         an external resource
389655
389656       · Remove unused testing code
389657
389658       · Ensure salt states are placed into the .salt directory in salt-ssh
389659
389660       · Use a randomized path for temporary files in a salt-cloud deployment
389661
389662       · Clean any stale directories to ensure a fresh copy of salt-ssh during
389663         a deployment
389664
389665   Salt 2014.1.9 Release Notes
389666       release
389667              2014-07-31
389668
389669       NOTE:
389670          This  release  contained  a  regression which caused inaccurate Salt
389671          version detection, and thus was never packaged for general  release.
389672          Please use version 2014.1.10 instead.
389673
389674       NOTE:
389675          Version 2014.1.8 contained a regression which caused inaccurate Salt
389676          version detection, and thus was never packaged for general  release.
389677          This  version  contains  the version detection fix, but is otherwise
389678          identical to 2014.1.8.
389679
389680       Version 2014.1.9 is  another  bugfix  release  for  2014.1.0.   Changes
389681       include:
389682
389683       · Ensure  salt-ssh  will  not  continue  if  permissions on a temporary
389684         directory are not correct.
389685
389686       · Use the bootstrap script distributed with Salt instead of relying  on
389687         an external resource
389688
389689       · Remove unused testing code
389690
389691       · Ensure salt states are placed into the .salt directory in salt-ssh
389692
389693       · Use a randomized path for temporary files in a salt-cloud deployment
389694
389695       · Clean any stale directories to ensure a fresh copy of salt-ssh during
389696         a deployment
389697
389698   Salt 0.10.0 Release Notes
389699       release
389700              2012-06-16
389701
389702       0.10.0 has arrived! This release comes with MANY  bug  fixes,  and  new
389703       capabilities  which  greatly  enhance performance and reliability. This
389704       release is primarily a bug fix release with many  new  tests  and  many
389705       repaired  bugs.  This  release  also  introduces a few new key features
389706       which were brought in primarily to repair  bugs  and  some  limitations
389707       found in some of the components of the original architecture.
389708
389709   Major Features
389710   Event System
389711       The  Salt Master now comes equipped with a new event system. This event
389712       system has replaced some of the back end of the Salt client and  offers
389713       the  beginning  of  a system which will make plugging external applica‐
389714       tions into Salt. The event system relies  on  a  local  ZeroMQ  publish
389715       socket  and  other  processes can connect to this socket and listen for
389716       events. The new events can be easily managed via Salt's event library.
389717
389718   Unprivileged User Updates
389719       Some enhancements have been added to Salt for running as a  user  other
389720       than  root. These new additions should make switching the user that the
389721       Salt Master is running as very painless, simply change the user  option
389722       in the master configuration and restart the master, Salt will take care
389723       of all of the particulars for you.
389724
389725   Peer Runner Execution
389726       Salt has long had the peer communication system used to  allow  minions
389727       to  send  commands  via  the  salt master. 0.10.0 adds a new capability
389728       here, now the master can be configured to allow for minions to  execute
389729       Salt runners via the peer_run option in the salt master configuration.
389730
389731   YAML Parsing Updates
389732       In  the  past  the YAML parser for sls files would return the incorrect
389733       numbers when the file mode was set with a preceding 0. The YAML  parser
389734       used  in  Salt has been modified to no longer convert these number into
389735       octal but to keep them as the correct value so that sls files can be  a
389736       little cleaner to write.
389737
389738   State Call Data Files
389739       It  was requested that the minion keep a local cache of the most recent
389740       executed state run. This has been added and now  with  state  runs  the
389741       data is stored in a msgpack file in the minion's cachedir.
389742
389743   Turning Off the Job Cache
389744       A new option has been added to the master configuration file. In previ‐
389745       ous releases the Salt client would look over the Salt job cache to read
389746       in  the  minion  return data. With the addition of the event system the
389747       Salt client can now watch for events directly from  the  master  worker
389748       processes.
389749
389750       This  means that the job cache is no longer a hard requirement. Keep in
389751       mind though, that turning off the job cache  means  that  historic  job
389752       execution data cannot be retrieved.
389753
389754   Test Updates
389755   Minion Swarms Are Faster
389756       To  continue  our efforts with testing Salt's ability to scale the min‐
389757       ionswarm script has been updated. The minionswarm can now start up min‐
389758       ions  much  faster  than  it  could before and comes with a new feature
389759       allowing modules to be disabled, thus lowering the  minion's  footprint
389760       when making a swarm. These new updates have allows us to test
389761
389762          # python minionswarm.py -m 20 --master salt-master
389763
389764   Many Fixes
389765       To  get a good idea for the number of bugfixes this release offers take
389766       a look at the closed tickets for 0.10.0, this  is  a  very  substantial
389767       update:
389768
389769       https://github.com/saltstack/salt/issues?milestone=12&state=closed
389770
389771   Master and Minion Stability Fixes
389772       As  Salt deployments grow new ways to break Salt are discovered. 0.10.0
389773       comes with a number of fixes for the minions and master greatly improv‐
389774       ing Salt stability.
389775
389776   Salt 0.10.1 Release Notes
389777       release
389778              2012-06-19
389779
389780   Salt 0.10.2 Release Notes
389781       release
389782              2012-07-30
389783
389784       0.10.2  is  out!  This  release  comes  with enhancements to the pillar
389785       interface, cleaner ways to access the  salt-call  capabilities  in  the
389786       API,  minion  data  caching and the event system has been added to salt
389787       minions.
389788
389789       There have also been updates to the ZeroMQ functions, many  more  tests
389790       (thanks to sponsors, the code sprint and many contributors) and a swath
389791       of bug fixes.
389792
389793   Major Features
389794   Ext Pillar Modules
389795       The ranks of available Salt modules directories sees a  new  member  in
389796       0.10.2.   With  the popularity of pillar a higher demand has arisen for
389797       ext_pillar interfaces to be more like regular  Salt  module  additions.
389798       Now  ext_pillar  interfaces  can be added in the same way as other mod‐
389799       ules, just drop it into the pillar directory in the salt source.
389800
389801   Minion Events
389802       In 0.10.0 an event system was added to the Salt master. 0.10.2 adds the
389803       event  system  to  the minions as well. Now event can be published on a
389804       local minion as well.
389805
389806       The minions can also send events back up to the master. This means that
389807       Salt  is able to communicate individual events from the minions back up
389808       to the Master which are not associated with command.
389809
389810   Minion Data Caching
389811       When pillar was introduced the landscape for available data was greatly
389812       enhanced. The minion's began sending grain data back to the master on a
389813       regular basis.
389814
389815       The new config option on the master called minion_data_cache  instructs
389816       the  Salt  master to maintain a cache of the minion's grains and pillar
389817       data in the cachedir. This option is turned off  by  default  to  avoid
389818       hitting the disk more, but when enabled the cache is used to make grain
389819       matching from the salt command more powerful, since  the  minions  that
389820       will match can be predetermined.
389821
389822   Backup Files
389823       By  default  all  files  replaced  by the file.managed and file.recurse
389824       states we simply deleted. 0.10.2 adds a  new  option.  By  setting  the
389825       backup  option  to  minion  the  files  are  backed  up before they are
389826       replaced.
389827
389828       The backed up files are located in the cachedir under  the  file_backup
389829       directory.    On    a    default    system    this    will    be    at:
389830       /var/cache/salt/file_backup
389831
389832   Configuration files
389833       salt-master and salt-minion automatically load additional configuration
389834       files   from  master.d/*.conf  respective  minion.d/*.conf  where  mas‐
389835       ter.d/minion.d is a directory in the same directory as the main config‐
389836       uration file.
389837
389838   Salt Key Verification
389839       A  number  of  users complained that they had inadvertently deleted the
389840       wrong salt authentication keys. 0.10.2 now displays what keys are going
389841       to be deleted and verifies that they are the keys that are intended for
389842       deletion.
389843
389844   Key auto-signing
389845       If autosign_file is specified in the configuration file  incoming  keys
389846       will  be  compared  to  the  list of keynames in autosign_file. Regular
389847       expressions as well as globbing is supported.
389848
389849       The file must only be writable by the user otherwise the file  will  be
389850       ignored.  To  relax the permission and allow group write access set the
389851       permissive_pki_access option.
389852
389853   Module changes
389854   Improved OpenBSD support
389855       New modules for managing services and packages were provided by  Joshua
389856       Elsasser to further improve the support for OpenBSD.
389857
389858       Existing  modules  like  the  disk module were also improved to support
389859       OpenBSD.
389860
389861   SQL Modules
389862       The MySQL and PostgreSQL modules have both received a number  of  addi‐
389863       tions thanks to the work of Avi Marcus and Roman Imankulov.
389864
389865   ZFS Support on FreeBSD
389866       A  new ZFS module has been added by Kurtis Velarde for FreeBSD support‐
389867       ing various ZFS operations like creating, extending or removing zpools.
389868
389869   Augeas
389870       A new Augeas module by Ulrich Dangel for editing and  verifying  config
389871       files.
389872
389873   Native Debian Service module
389874       The  support  for  the  Debian was further improved with an new service
389875       module for Debian by Ahmad Khayyat supporting disable and enable.
389876
389877   Cassandra
389878       Cassandra support has been added by Adam Garside. Currently only status
389879       and diagnostic information are supported.
389880
389881   Networking
389882       The  networking support for RHEL has been improved and supports bonding
389883       support as well as zeroconf configuration.
389884
389885   Monit
389886       Basic monit support by Kurtis Velarde to control services via monit.
389887
389888   nzbget
389889       Basic support for controlling nzbget by Joseph Hall
389890
389891   Bluetooth
389892       Baisc bluez support for managing  and  controlling  Bluetooth  devices.
389893       Supports scanning as well as pairing/unpairing by Joseph Hall.
389894
389895   Test Updates
389896   Consistency Testing
389897       Another  testing  script has been added. A bug was found in pillar when
389898       many minions generated pillar data at the same time. The new consist.py
389899       script  is the tests directory was created to reproduce bugs where data
389900       should always be consistent.
389901
389902   Many Fixes
389903       To get a good idea for the number of bugfixes this release offers  take
389904       a  look  at  the  closed tickets for 0.10.2, this is a very substantial
389905       update:
389906
389907       https://github.com/saltstack/salt/issues?milestone=24&page=1&state=closed
389908
389909   Master and Minion Stability Fixes
389910       As  Salt deployments grow new ways to break Salt are discovered. 0.10.2
389911       comes with a number of fixes for the minions and master greatly improv‐
389912       ing Salt stability.
389913
389914   Salt 0.10.3 Release Notes
389915       release
389916              2012-09-30
389917
389918       The latest taste of Salt has come, this release has many fixes and fea‐
389919       ture additions. Modifications have been made to make ZeroMQ connections
389920       more  reliable, the beginning of the ACL system is in place, a new com‐
389921       mand line parsing system has been added,  dynamic  module  distribution
389922       has  become  more  environment  aware, the new master_finger option and
389923       many more!
389924
389925   Major Features
389926   ACL System
389927       The new ACL system has been introduced. The ACL system allows for  sys‐
389928       tem  users  other  than  root  to  execute  salt commands. Users can be
389929       allowed to execute specific commands in the same way that  minions  are
389930       opened up to the peer system.
389931
389932       The  configuration value to open up the ACL system is called client_acl
389933       and is configured like so:
389934
389935          client_acl:
389936            fred:
389937              - test..*
389938              - pkg.list_pkgs
389939
389940       Where fred is allowed access to functions in the test module and to the
389941       pkg.list_pkgs function.
389942
389943   Master Finger Option
389944       The master_finger option has been added to improve the security of min‐
389945       ion provisioning. The master_finger option allows for  the  fingerprint
389946       of  the master public key to be set in the configuration file to double
389947       verify that the master is valid. This option was added in response to a
389948       motivation to pre-authenticate the master when provisioning new minions
389949       to help prevent man in the middle attacks in some situations.
389950
389951   Salt Key Fingerprint Generation
389952       The ability to generate fingerprints of keys  used  by  Salt  has  been
389953       added to salt-key. The new option finger accepts the name of the key to
389954       generate and display a fingerprint for.
389955
389956          salt-key -F master
389957
389958       Will display the fingerprints for the master public and private keys.
389959
389960   Parsing System
389961       Pedro Algavio, aka s0undt3ch, has added a  substantial  update  to  the
389962       command  line  parsing  system  that makes the help message output much
389963       cleaner and easier to search through.  Salt  parsers  now  have  --ver‐
389964       sions-report  besides  usual  --version info which you can provide when
389965       reporting any issues found.
389966
389967   Key Generation
389968       We have reduced the requirements needed for salt-key to generate minion
389969       keys.   You're no longer required to have salt configured and it's com‐
389970       mon directories created just to generate keys. This might prove  useful
389971       if you're batch creating keys to pre-load on minions.
389972
389973   Startup States
389974       A  few  configuration options have been added which allow for states to
389975       be run when the minion daemon starts. This can  be  a  great  advantage
389976       when deploying with Salt because the minion can apply states right when
389977       it first runs. To use startup states set the startup_states  configura‐
389978       tion option on the minion to highstate.
389979
389980   New Exclude Declaration
389981       Some users have asked about adding the ability to ensure that other sls
389982       files or ids are excluded from a state run. The exclude statement  will
389983       delete  all  of  the  data  loaded  from the specified sls file or will
389984       delete the specified id:
389985
389986          exclude:
389987            - sls: http
389988            - id: /etc/vimrc
389989
389990   Max Open Files
389991       While we're currently unable to properly handle ZeroMQ's abort  signals
389992       when  the  max  open files is reached, due to the way that's handled on
389993       ZeroMQ's, we have minimized the chances of this  happening  without  at
389994       least warning the user.
389995
389996   More State Output Options
389997       Some  major  changes  have been made to the state output system. In the
389998       past state return data was printed in a very verbose fashion  and  only
389999       states  that  failed  or  made changes were printed by default. Now two
390000       options can be passed to the master and minion configuration  files  to
390001       change  the  behavior  of  the state output. State output can be set to
390002       verbose (default) or non-verbose with the state_verbose option:
390003
390004          state_verbose: False
390005
390006       It is noteworthy that the state_verbose option used to be set to  False
390007       by  default  but  has  been changed to True by default in 0.10.3 due to
390008       many requests for the change.
390009
390010       Te next option to be aware of new and called state_output. This  option
390011       allows for the state output to be set to full (default) or terse.
390012
390013       The  full output is the standard state output, but the new terse output
390014       will print only one line per state making the  output  much  easier  to
390015       follow when executing a large state system.
390016
390017          state_output: terse
390018
390019   state.file.append Improvements
390020       The  salt state file.append() tries not to append existing text. Previ‐
390021       ously the matching check was being made line by line. While  this  kind
390022       of check might be enough for most cases, if the text being appended was
390023       multi-line, the check would not work properly. This issue is now  prop‐
390024       erly  handled,  the  match  is done as a whole ignoring any white space
390025       addition or removal except inside commas.  For those thinking that,  in
390026       order  to  properly match over multiple lines, salt will load the whole
390027       file into memory, that's not true. For most cases this is not important
390028       but  an  erroneous  order  to read a 4GB file, if not properly handled,
390029       like salt does, could make salt chew that amount of memory.  Salt has a
390030       buffered  file  reader which will keep in memory a maximum of 256KB and
390031       iterates over the file in chunks of 32KB to test for  the  match,  more
390032       than  enough, if not, explain your usage on a ticket. With this change,
390033       also salt.modules.file.contains(),  salt.modules.file.contains_regex(),
390034       salt.modules.file.contains_glob()   and   salt.utils.find  now  do  the
390035       searching and/or matching using the buffered chunks approach  explained
390036       above.
390037
390038       Two  new  keyword arguments were also added, makedirs, and source.  The
390039       first, makedirs will create  the  necessary  directories  in  order  to
390040       append  to the specified file, of course, it only applies if we're try‐
390041       ing to append to a non-existing file on a non-existing directory:
390042
390043          /tmp/salttest/file-append-makedirs:
390044              file.append:
390045                  text: foo
390046                  makedirs: True
390047
390048       The second, source, allows one to append the contents of a file instead
390049       of specifying the text.
390050
390051          /tmp/salttest/file-append-source:
390052
390053          file.append:
390054              - source: salt://testfile
390055
390056   Security Fix
390057       A timing vulnerability was uncovered in the code which decrypts the AES
390058       messages sent over the network. This has been fixed  and  upgrading  is
390059       strongly recommended.
390060
390061   Salt 0.10.4 Release Notes
390062       release
390063              2012-10-23
390064
390065       Salt  0.10.4  is  a  monumental release for the Salt team, with two new
390066       module systems, many  additions  to  allow  granular  access  to  Salt,
390067       improved platform support and much more.
390068
390069       This  release is also exciting because we have been able to shorten the
390070       release cycle back to under a month. We are working hard to keep up the
390071       aggressive  pace  and  look forward to having releases happen more fre‐
390072       quently!
390073
390074       This release also includes a serious security fix  and  all  users  are
390075       very  strongly  recommended  to  upgrade.  As usual, upgrade the master
390076       first, and then the minion to ensure that the process is smooth.
390077
390078   Major Features
390079   External Authentication System
390080       The new external authentication system allows for Salt to pass  through
390081       authentication  to any authentication system to determine if a user has
390082       permission to execute a Salt command. The Unix PAM system is the  first
390083       supported system with more to come!
390084
390085       The  external  authentication  system  allows  for specific users to be
390086       granted access to  execute  specific  functions  on  specific  minions.
390087       Access is configured in the master configuration file, and uses the new
390088       access control system:
390089
390090          external_auth:
390091            pam:
390092              thatch:
390093                - 'web*':
390094                  - test.*
390095                  - network.*
390096
390097       The configuration above allows the user thatch to execute functions  in
390098       the test and network modules on minions that match the web* target.
390099
390100   Access Control System
390101       All  Salt systems can now be configured to grant access to non-adminis‐
390102       trative users in a granular way. The  old  configuration  continues  to
390103       work. Specific functions can be opened up to specific minions from spe‐
390104       cific users in the case of external auth and client ACLs, and for  spe‐
390105       cific minions in the case of the peer system.
390106
390107       Access controls are configured like this:
390108
390109          client_acl:
390110            fred:
390111              - web\*:
390112                - pkg.list_pkgs
390113                - test.*
390114                - apache.*
390115
390116   Target by Network
390117       A  new matcher has been added to the system which allows for minions to
390118       be targeted by network. This new matcher can be called with the -S flag
390119       on  the  command  line  and is available in all places that the matcher
390120       system is available. Using it is simple:
390121
390122          $ salt -S '192.168.1.0/24' test.ping
390123          $ salt -S '192.168.1.100' test.ping
390124
390125   Nodegroup Nesting
390126       Previously a nodegroup was limited by not being able to include another
390127       nodegroup,  this  restraint  has been lifted and now nodegroups will be
390128       expanded within other nodegroups with the N@ classifier.
390129
390130   Salt Key Delete by Glob
390131       The ability to delete minion keys by glob has been added  to  salt-key.
390132       To delete all minion keys whose minion name starts with 'web':
390133
390134          $ salt-key -d 'web*'
390135
390136   Master Tops System
390137       The  external_nodes  system has been upgraded to allow for modular sub‐
390138       systems to be used to generate the top file data for a highstate run.
390139
390140       The external_nodes option still works but will  be  deprecated  in  the
390141       future in favor of the new master_tops option.
390142
390143       Example of using master_tops:
390144
390145          master_tops:
390146            ext_nodes: cobbler-external-nodes
390147
390148   Next Level Solaris Support
390149       A  lot of work has been put into improved Solaris support by Romeo The‐
390150       riault.  Packaging modules (pkgadd/pkgrm and pkgutil) and states,  cron
390151       support  and user and group management have all been added and improved
390152       upon. These additions along with SMF (Service Management Facility) ser‐
390153       vice  support  and improved Solaris grain detection in 0.10.3 add up to
390154       Salt becoming a great tool to manage Solaris servers with.
390155
390156   Security
390157       A vulnerability in the  security  handshake  was  found  and  has  been
390158       repaired,  old minions should be able to connect to a new master, so as
390159       usual, the master should be updated first and then the minions.
390160
390161   Pillar Updates
390162       The pillar communication has been updated to add some extra  levels  of
390163       verification  so  that  the  intended minion is the only one allowed to
390164       gather the data. Once all minions and the master are  updated  to  salt
390165       0.10.4  please  activate pillar 2 by changing the pillar_version in the
390166       master config to 2. This will be set  to  2  by  default  in  a  future
390167       release.
390168
390169   Salt 0.10.5 Release Notes
390170       release
390171              2012-11-15
390172
390173       Salt  0.10.5  is  ready,  and comes with some great new features. A few
390174       more interfaces have been modularized, like the outputter  system.  The
390175       job  cache  system  has  been  made more powerful and can now store and
390176       retrieve jobs archived in external databases. The returner  system  has
390177       been  extended to allow minions to easily retrieve data from a returner
390178       interface.
390179
390180       As usual, this is an exciting release, with many noteworthy additions!
390181
390182   Major Features
390183   External Job Cache
390184       The external job cache is a system which allows for a  returner  inter‐
390185       face to also act as a job cache. This system is intended to allow users
390186       to store job information in a central location for  longer  periods  of
390187       time  and  to make the act of looking up information from jobs executed
390188       on other minions easier.
390189
390190       Currently the external job cache is supported via the mongo  and  redis
390191       returners:
390192
390193          ext_job_cache: redis
390194          redis.host: salt
390195
390196       Once the external job cache is turned on the new ret module can be used
390197       on the minions to retrieve return information from the job cache.  This
390198       can be a great way for minions to respond and react to other minions.
390199
390200   OpenStack Additions
390201       OpenStack integration with Salt has been moving forward at a blistering
390202       pace.  The new nova, glance, and keystone modules represent the  begin‐
390203       ning of ongoing OpenStack integration.
390204
390205       The Salt team has had many conversations with core OpenStack developers
390206       and is working on linking to OpenStack in powerful new ways.
390207
390208   Wheel System
390209       A new API was added to the Salt Master which allows the  master  to  be
390210       managed  via an external API. This new system allows Salt API to easily
390211       hook into the Salt Master and manage configs, modify  the  state  tree,
390212       manage the pillar and more. The main motivation for the wheel system is
390213       to enable features needed in the upcoming web UI so  users  can  manage
390214       the master just as easily as they manage minions.
390215
390216       The  wheel  system  has also been hooked into the external auth system.
390217       This allows specific users to have granular access to manage components
390218       of the Salt Master.
390219
390220   Render Pipes
390221       Jack  Kuan has added a substantial new feature. The render pipes system
390222       allows Salt to treat the render system like unix pipes. This new system
390223       enables  sls  files to be passed through specific render engines. While
390224       the default renderer is still recommended, different engines can now be
390225       more easily merged. So to pipe the output of Mako used in YAML use this
390226       shebang line:
390227
390228       #!mako|yaml
390229
390230   Salt Key Overhaul
390231       The Salt Key system was originally developed as only a  CLI  interface,
390232       but  as  time  went  on it was pressed into becoming a clumsy API. This
390233       release marks a complete overhaul  of  Salt  Key.  Salt  Key  has  been
390234       rewritten  to function purely from an API and to use the outputter sys‐
390235       tem. The benefit here is that the  outputter  system  works  much  more
390236       cleanly  with  Salt  Key now, and the internals of Salt Key can be used
390237       much more cleanly.
390238
390239   Modular Outputters
390240       The outputter system is now loaded in a modular way.  This  means  that
390241       output  systems can be more easily added by dropping a python file down
390242       on the master that contains the function output.
390243
390244   Gzip from Fileserver
390245       Gzip compression has been added as an option  to  the  cp.get_file  and
390246       cp.get_dir  commands.  This will make file transfers more efficient and
390247       faster, especially over slower network links.
390248
390249   Unified Module Configuration
390250       In past releases of Salt, the minions needed to be configured for  cer‐
390251       tain  modules  to  function.  This  was  difficult  because it required
390252       pre-configuring the minions. 0.10.5 changes this by making  all  module
390253       configs on minions search the master config file for values.
390254
390255       Now  if  a  single database server is needed, then it can be defined in
390256       the master config and all minions will become aware of  the  configura‐
390257       tion value.
390258
390259   Salt Call Enhancements
390260       The  salt-call  command  has been updated in a few ways. Now, salt-call
390261       can take the --return option to send the  data  to  a  returner.  Also,
390262       salt-call now reports executions in the minion proc system, this allows
390263       the master to be aware of the operation salt-call is running.
390264
390265   Death to pub_refresh and sub_timeout
390266       The old configuration values  pub_refresh  and  sub_timeout  have  been
390267       removed.   These  options  were in place to alleviate problems found in
390268       earlier versions of ZeroMQ which have since been fixed.  The  continued
390269       use  of these options has proven to cause problems with message passing
390270       and have been completely removed.
390271
390272   Git Revision Versions
390273       When running Salt directly from git (for  testing  or  development,  of
390274       course)  it  has been difficult to know exactly what code is being exe‐
390275       cuted. The new versioning system will  detect  the  git  revision  when
390276       building  and how many commits have been made since the last release. A
390277       release from git will look like this:
390278
390279       0.10.4-736-gec74d69
390280
390281   Svn Module Addition
390282       Anthony Cornehl (twinshadow) contributed a module that adds  Subversion
390283       support  to  Salt.  This great addition helps round out Salt's VCS sup‐
390284       port.
390285
390286   Noteworthy Changes
390287   Arch Linux Defaults to Systemd
390288       Arch Linux recently changed to use systemd by default and  discontinued
390289       support  for  init scripts. Salt has followed suit and defaults to sys‐
390290       temd now for managing services in Arch.
390291
390292   Salt, Salt Cloud and Openstack
390293       With the releases of  Salt  0.10.5  and  Salt  Cloud  0.8.2,  OpenStack
390294       becomes the first (non-OS) piece of software to include support both on
390295       the user level (with Salt Cloud) and the admin level  (with  Salt).  We
390296       are  excited  to  continue to extend support of other platforms at this
390297       level.
390298
390299   Salt 0.11.0 Release Notes
390300       release
390301              2012-12-14
390302
390303       Salt 0.11.0 is here, with some highly sought after  and  exciting  fea‐
390304       tures.   These  features  include the new overstate system, the reactor
390305       system, a new state run scope component called __context__, the  begin‐
390306       ning  of the search system (still needs a great deal of work), multiple
390307       package states, the MySQL returner and a better system  to  arbitrarily
390308       reference outputters.
390309
390310       It is also noteworthy that we are changing how we mark release numbers.
390311       For the life of the project we have been  pushing  every  release  with
390312       features  and  fixes  as point releases. We will now be releasing point
390313       releases for only bug fixes on a more regular basis and  major  feature
390314       releases  on  a  slightly  less regular basis. This means that the next
390315       release will be a bugfix only release with a version number of  0.11.1.
390316       The  next feature release will be named 0.12.0 and will mark the end of
390317       life for the 0.11 series.
390318
390319   Major Features
390320   OverState
390321       The overstate system is a simple way to manage rolling state executions
390322       across  many minions. The overstate allows for a state to depend on the
390323       successful completion of another state.
390324
390325   Reactor System
390326       The new reactor system allows for a reactive logic engine to be created
390327       which  can  respond  to events within a salted environment. The reactor
390328       system uses sls files to match events fired on the master with actions,
390329       enabling Salt to react to problems in an infrastructure.
390330
390331       Your  load-balanced  group of webservers is under extra load? Spin up a
390332       new VM and add it to the group. Your fileserver is filling up?  Send  a
390333       notification to your sysadmin on call. The possibilities are endless!
390334
390335   Module Context
390336       A  new component has been added to the module loader system. The module
390337       context is a data structure that can hold objects  for  a  given  scope
390338       within the module.
390339
390340       This  allows for components that are initialized to be stored in a per‐
390341       sistent context which can greatly speed up ongoing  connections.  Right
390342       now the best example can be found in the cp execution module.
390343
390344   Multiple Package Management
390345       A long desired feature has been added to package management. By defini‐
390346       tion Salt States have always installed packages one at a time. On  most
390347       platforms  this  is not the fastest way to install packages. Erik John‐
390348       son, aka terminalmage,  has  modified  the  package  modules  for  many
390349       providers  and  added  new  capabilities to install groups of packages.
390350       These package groups can be defined as a list of packages available  in
390351       repository servers:
390352
390353          python_pkgs:
390354            pkg.installed:
390355              - pkgs:
390356                - python-mako
390357                - whoosh
390358                - python-git
390359
390360       or specify based on the location of specific packages:
390361
390362          python_pkgs:
390363            pkg.installed:
390364              - sources:
390365                - python-mako: http://some-rpms.org/python-mako.rpm
390366                - whoosh: salt://whoosh/whoosh.rpm
390367                - python-git: ftp://companyserver.net/python-git.rpm
390368
390369   Search System
390370       The  bones  to  the search system have been added. This is a very basic
390371       interface that allows for search backends to be added  as  search  mod‐
390372       ules.  The  first supported search module is the whoosh search backend.
390373       Right now only the basic paths for the search system are in place, mak‐
390374       ing this very experimental.  Further development will involve improving
390375       the search routines and index routines  for  whoosh  and  other  search
390376       backends.
390377
390378       The  search  system has been made to allow for searching through all of
390379       the state and pillar files, configuration files  and  all  return  data
390380       from minion executions.
390381
390382   Notable Changes
390383       All  previous versions of Salt have shared many directories between the
390384       master and minion. The default locations  for  keys,  cached  data  and
390385       sockets  has been shared by master and minion. This has created serious
390386       problems with running a master and a minion on the same systems. 0.11.0
390387       changes the defaults to be separate directories. Salt will also attempt
390388       to migrate all of the old key data into the  correct  new  directories,
390389       but  if  it  is not successful it may need to be done manually. If your
390390       keys exhibit issues after updating make sure that they have been  moved
390391       from /etc/salt/pki to /etc/salt/pki/{master,minion}.
390392
390393       The old setup will look like this:
390394
390395          /etc/salt/pki
390396          |-- master.pem
390397          |-- master.pub
390398          |-- minions
390399          |   `-- ragnarok.saltstack.net
390400          |-- minions_pre
390401          |-- minion.pem
390402          |-- minion.pub
390403          |-- minion_master.pub
390404          |-- minions_pre
390405          `-- minions_rejected
390406
390407       With  the  accepted minion keys in /etc/salt/pki/minions, the new setup
390408       places the accepted minion keys in /etc/salt/pki/master/minions.
390409
390410          /etc/salt/pki
390411          |-- master
390412          |   |-- master.pem
390413          |   |-- master.pub
390414          |   |-- minions
390415          |   |   `-- ragnarok.saltstack.net
390416          |   |-- minions_pre
390417          |   `-- minions_rejected
390418          |-- minion
390419          |   |-- minion.pem
390420          |   |-- minion.pub
390421          |   `-- minion_master.pub
390422
390423   Salt 0.11.1 Release Notes
390424       release
390425              2012-12-19
390426
390427   Salt 0.12.0 Release Notes
390428       release
390429              2013-01-15
390430
390431       Another feature release of Salt is here! Some  exciting  additions  are
390432       included with more ways to make salt modular and even easier management
390433       of the salt file server.
390434
390435   Major Features
390436   Modular Fileserver Backend
390437       The new modular fileserver backend allows for any external system to be
390438       used  as  a  salt  file server. The main benefit here is that it is now
390439       possible to tell the master to directly use a git remote  location,  or
390440       many  git remote locations, automatically mapping git branches and tags
390441       to salt environments.
390442
390443   Windows is First Class!
390444       A new Salt Windows installer is now available! Much work has  been  put
390445       in  to improve Windows support. With this much easier method of getting
390446       Salt on your Windows  machines,  we  hope  even  more  development  and
390447       progress  will  occur.  Please file bug reports on the Salt GitHub repo
390448       issue tracker so we can continue improving.
390449
390450       One thing that is missing on Windows that Salt uses  extensively  is  a
390451       software  package  manager  and a software package repository. The Salt
390452       pkg state allows sys admins to install  software  across  their  infra‐
390453       structure  and across operating systems. Software on Windows can now be
390454       managed in the same way. The SaltStack team  built  a  package  manager
390455       that  interfaces  with  the  standard  Salt  pkg  module  to  allow for
390456       installing and removing software on Windows. In  addition,  a  software
390457       package  repository  has  been  built  on top of the Salt fileserver. A
390458       small YAML file provides the information necessary for the package man‐
390459       ager to install and remove software.
390460
390461       An interesting feature of the new Salt Windows software package reposi‐
390462       tory is that one or more remote git  repositories  can  supplement  the
390463       master's  local repository. The repository can point to software on the
390464       master's fileserver or on an HTTP, HTTPS, or ftp server.
390465
390466   New Default Outputter
390467       Salt displays data to the terminal via the outputter system. For a long
390468       time  the  default  outputter for Salt has been the python pretty print
390469       library.  While this has been a generally reasonable outputter, it  did
390470       have  many  failings.  The new default outputter is called "nested", it
390471       recursively scans return data structures and prints them out cleanly.
390472
390473       If the result of the new nested outputter is not desired any other out‐
390474       putter  can  be  used via the --out option, or the output option can be
390475       set in the master and minion configs to change the default outputter.
390476
390477   Internal Scheduler
390478       The internal Salt scheduler is a new capability which allows for  func‐
390479       tions  to be executed at given intervals on the minion, and for runners
390480       to be executed at given intervals on the master. The  scheduler  allows
390481       for  sequences  such  as executing state runs (locally on the minion or
390482       remotely via an overstate) or continually gathering system data  to  be
390483       run at given intervals.
390484
390485       The  configuration  is simple, add the schedule option to the master or
390486       minion config and specify jobs to run, this in the master  config  will
390487       execute the state.over runner every 60 minutes:
390488
390489          schedule:
390490            overstate:
390491              function: state.over
390492              minutes: 60
390493
390494       This  example  for  the  minion  configuration will execute a highstate
390495       every 30 minutes:
390496
390497          schedule:
390498            highstate:
390499              function: state.highstate
390500              minutes: 30
390501
390502   Optional DSL for SLS Formulas
390503       Jack Kuan, our renderer expert, has created something that is astonish‐
390504       ing.  Salt, now comes with an optional Python based DSL, this is a very
390505       powerful interface that makes writing SLS files in pure  python  easier
390506       than  it  was  with the raw py renderer. As usual this can be used with
390507       the renderer shebang line, so a single sls can be written with the  DSL
390508       if  pure  python  power  is needed while keeping other sls files simple
390509       with YAML.
390510
390511   Set Grains Remotely
390512       A new execution function and state module have been added  that  allows
390513       for  grains to be set on the minion. Now grains can be set via a remote
390514       execution  or  via  states.  Use  the  grains.present  state   or   the
390515       grains.setval execution functions.
390516
390517   Gentoo Additions
390518       Major  additions  to  Gentoo  specific  components  have been made. The
390519       encompasses executions modules and states ranging from  supporting  the
390520       make.conf file to tools like layman.
390521
390522   Salt 0.12.1 Release Notes
390523       release
390524              2013-01-21
390525
390526   Salt 0.13.0 Release Notes
390527       release
390528              2013-02-12
390529
390530       The  lucky number 13 has turned the corner! From CLI notifications when
390531       quitting a salt command, to substantial improvements on  Windows,  Salt
390532       0.13.0 has arrived!
390533
390534   Major Features
390535   Improved file.recurse Performance
390536       The  file.recurse  system has been deployed and used in a vast array of
390537       situations. Fixes to the file state and module have led towards opening
390538       up  new  ways  of  running  file.recurse  to  make  it  faster. Now the
390539       file.recurse state will download fewer files and will run substantially
390540       faster.
390541
390542   Windows Improvements
390543       Minion stability on Windows has improved. Many file operations, includ‐
390544       ing file.recurse, have been fixed  and  improved.  The  network  module
390545       works  better,  to include network.interfaces. Both 32bit and 64bit in‐
390546       stallers are now available.
390547
390548   Nodegroup Targeting in Peer System
390549       In the past, nodegroups were not available for targeting via  the  peer
390550       system.   This  has  been  fixed,  allowing the new nodegroup expr_form
390551       argument for the publish.publish function:
390552          salt-call publish.publish group1 test.ping expr_form=nodegroup
390553
390554   Blacklist Additions
390555       Additions allowing more granular blacklisting are available in  0.13.0.
390556       The  ability  to  blacklist users and functions in client_acl have been
390557       added, as well as the ability to exclude state formulas from  the  com‐
390558       mand line.
390559
390560   Command Line Pillar Embedding
390561       Pillar  data  can  now  be  embedded  on  the command line when calling
390562       state.sls and state.highstate. This allows for on the  fly  changes  or
390563       settings to pillar and makes parameterizing state formulas even easier.
390564       This is done via the keyword argument:
390565
390566          salt '*' state.highstate pillar='{"cheese": "spam"}'
390567
390568       The above example will extend the existing pillar to  hold  the  cheese
390569       key with a value of spam. If the cheese key is already specified in the
390570       minion's pillar then it will be overwritten.
390571
390572   CLI Notifications
390573       In the past hitting ctrl-C and quitting from  the  salt  command  would
390574       just  drop  to  a  shell  prompt,  this caused confusion with users who
390575       expected the remote executions to also quit. Now a message is displayed
390576       showing  what  command  can be used to track the execution and what the
390577       job id is for the execution.
390578
390579   Version Specification in Multiple-Package States
390580       Versions can now be  specified  within  multiple-package  pkg.installed
390581       states. An example can be found below:
390582
390583          mypkgs:
390584            pkg.installed:
390585              - pkgs:
390586                - foo
390587                - bar: 1.2.3-4
390588                - baz
390589
390590   Noteworthy Changes
390591       The  configuration  subsystem  in  Salt has been overhauled to make the
390592       opts dict used by Salt applications more portable, the problem is  that
390593       this  is  an  incompatible  change with salt-cloud, and salt-cloud will
390594       need to be updated to the latest git to work  with  Salt  0.13.0.  Salt
390595       Cloud 0.8.5 will also require Salt 0.13.0 or later to function.
390596
390597       The SaltStack team is sorry for the inconvenience here, we work hard to
390598       make sure these sorts of things  do  not  happen,  but  sometimes  hard
390599       changes get in.
390600
390601   Salt 0.13.1 Release Notes
390602       release
390603              2013-02-15
390604
390605   Salt 0.13.2 Release Notes
390606       release
390607              2013-03-13
390608
390609   Salt 0.13.3 Release Notes
390610       release
390611              2013-03-18
390612
390613   Salt 0.14.0 Release Notes
390614       release
390615              2013-03-23
390616
390617       Salt  0.14.0  is  here!  This  release  was held up primarily by PyCon,
390618       Scale, and illness, but has arrived! 0.14.0 comes with  many  new  fea‐
390619       tures  and  is breaking ground for Salt in the area of cloud management
390620       with the introduction of Salt providing basic  cloud  controller  func‐
390621       tionality.
390622
390623   Major Features
390624   Salt - As a Cloud Controller
390625       This  is the first primitive inroad to using Salt as a cloud controller
390626       is available in 0.14.0. Be advised that this is alpha, only tested in a
390627       few very small environments.
390628
390629       The  cloud  controller  is built using kvm and libvirt for the hypervi‐
390630       sors.  Hypervisors are autodetected as minions and only  need  to  have
390631       libvirt running and kvm installed to function. The features of the Salt
390632       cloud controller are as follows:
390633
390634          · Basic vm discovery and reporting
390635
390636          · Creation of new virtual machines
390637
390638          · Seeding virtual machines with Salt via qemu-nbd or libguestfs
390639
390640          · Live migration (shared and non shared storage)
390641
390642          · Delete existing VMs
390643
390644       It is noteworthy that this feature is still  Alpha,  meaning  that  all
390645       rights  are  reserved  to  change  the  interface if needs be in future
390646       releases!
390647
390648   Libvirt State
390649       One of the problems with libvirt is management of  certificates  needed
390650       for live migration and cross communication between hypervisors. The new
390651       libvirt state makes the Salt Master hold a CA and  manage  the  signing
390652       and  distribution of keys onto hypervisors, just add a call to the lib‐
390653       virt state in the sls formulas used to set up a hypervisor:
390654
390655          libvirt_keys:
390656            libvirt.keys
390657
390658   New get Functions
390659       An easier way to manage data has been introduced. The  pillar,  grains,
390660       and  config execution modules have been extended with the new get func‐
390661       tion. This function works much in the same way as the get method  in  a
390662       python  dict,  but  with  an enhancement, nested dict components can be
390663       extracted using a : delimiter.
390664
390665       If a structure like this is in pillar:
390666
390667          foo:
390668            bar:
390669              baz: quo
390670
390671       Extracting it from the raw pillar in an sls formula or file template is
390672       done this way:
390673
390674          {{ pillar['foo']['bar']['baz'] }}
390675
390676       Now  with  the  new  get function the data can be safely gathered and a
390677       default can be set allowing the template to fall back if the  value  is
390678       not available:
390679
390680          {{ salt['pillar.get']('foo:bar:baz', 'qux') }}
390681
390682       This  makes handling nested structures much easier, and defaults can be
390683       cleanly set. This new function is being used  extensively  in  the  new
390684       formulae repository of salt sls formulas.
390685
390686   Salt 0.14.1 Release Notes
390687       release
390688              2013-04-13
390689
390690   Salt 0.15.0 Release Notes
390691       release
390692              2013-05-03
390693
390694       The  many  new  features of Salt 0.15.0 have arrived! Salt 0.15.0 comes
390695       with many smaller features and a few larger ones.
390696
390697       These features range from better debugging tools to the new  Salt  Mine
390698       system.
390699
390700   Major Features
390701   The Salt Mine
390702       First  there  was the peer system, allowing for commands to be executed
390703       from a minion to other minions to gather data live. Then there was  the
390704       external  job  cache  for storing and accessing long term data. Now the
390705       middle ground is being filled in with the Salt Mine. The Salt Mine is a
390706       system used to execute functions on a regular basis on minions and then
390707       store only the most recent data from the functions on the master,  then
390708       the data is looked up via targets.
390709
390710       The  mine  caches  data that is public to all minions, so when a minion
390711       posts data to the mine all other minions can see it.
390712
390713   IPV6 Support
390714       0.13.0 saw the addition of initial IPV6 support but errors were encoun‐
390715       tered  and it needed to be stripped out. This time the code covers more
390716       cases and must be explicitly enabled. But  the  support  is  much  more
390717       extensive than before.
390718
390719   Copy Files From Minions to the Master
390720       Minions  have  long  been  able to copy files down from the master file
390721       server, but until now files could not be easily copied from the  minion
390722       up to the master.
390723
390724       A new function called cp.push can push files from the minions up to the
390725       master server. The uploaded files are then cached on the master in  the
390726       master cachedir for each minion.
390727
390728   Better Template Debugging
390729       Template errors have long been a burden when writing states and pillar.
390730       0.15.0 will now send the compiled template data to the debug log,  this
390731       makes  tracking  down  the intermittent stage templates much easier. So
390732       running state.sls or state.highstate with -l debug will now  print  out
390733       the rendered templates in the debug information.
390734
390735   State Event Firing
390736       The  state  system  is now more closely tied to the master's event bus.
390737       Now when a state fails the failure will be fired on  the  master  event
390738       bus so that the reactor can respond to it.
390739
390740   Major Syndic Updates
390741       The  Syndic system has been basically re-written. Now it runs in a com‐
390742       pletely asynchronous way and functions primarily as  an  event  broker.
390743       This means that the events fired on the syndic are now pushed up to the
390744       higher level master instead of the old method used which waited for the
390745       client libraries to return.
390746
390747       This  makes  the  syndic much more accurate and powerful, it also means
390748       that all events fired on the syndic master make it up the pipe as  well
390749       making  a  reactor  on the higher level master able to react to minions
390750       further downstream.
390751
390752   Peer System Updates
390753       The Peer System has been updated to  run  using  the  client  libraries
390754       instead  of  firing  directly over the publish bus. This makes the peer
390755       system much more consistent and reliable.
390756
390757   Minion Key Revocation
390758       In the past when a minion was decommissioned the key needed to be manu‐
390759       ally  deleted  on  the  master, but now a function on the minion can be
390760       used to revoke the calling minion's key:
390761
390762          $ salt-call saltutil.revoke_auth
390763
390764   Function Return Codes
390765       Functions can now be assigned numeric return codes to determine if  the
390766       function executed successfully. While not all functions have been given
390767       return codes, many have and it is an ongoing effort  to  fill  out  all
390768       functions that might return a non-zero return code.
390769
390770   Functions in Overstate
390771       The  overstate  system was originally created to just manage the execu‐
390772       tion of states, but with the addition of  return  codes  to  functions,
390773       requisite  logic  can  now  be used with respect to the overstate. This
390774       means that an overstate stage can now run single functions  instead  of
390775       just state executions.
390776
390777   Pillar Error Reporting
390778       Previously  if errors surfaced in pillar, then the pillar would consist
390779       of only an empty dict. Now all  data  that  was  successfully  rendered
390780       stays  in pillar and the render error is also made available. If errors
390781       are found in the pillar, states will refuse to run.
390782
390783   Using Cached State Data
390784       Sometimes states are executed  purely  to  maintain  a  specific  state
390785       rather  than to update states with new configs. This is grounds for the
390786       new cached state system. By adding cache=True to a state call the state
390787       will  not be generated fresh from the master but the last state data to
390788       be generated will be used.  If no previous state data is available then
390789       fresh data will be generated.
390790
390791   Monitoring States
390792       The  new  monitoring states system has been started. This is very young
390793       but allows for states to be used to configure monitoring  routines.  So
390794       far  only  one monitoring state is available, the disk.status state. As
390795       more capabilities are added to Salt UI the monitoring  capabilities  of
390796       Salt will continue to be expanded.
390797
390798   Salt 0.15.1 Release Notes
390799       release
390800              2013-05-08
390801
390802       The  0.15.1  release  has been posted, this release includes fixes to a
390803       number of bugs in 0.15.1 and a three security patches.
390804
390805   Security Updates
390806       A number of security issues have been resolved via the 0.15.1 release.
390807
390808   Path Injection in Minion IDs
390809       Salt masters did not properly validate the id of a  connecting  minion.
390810       This can lead to an attacker uploading files to the master in arbitrary
390811       locations.  In particular this can be used to bypass the manual valida‐
390812       tion  of  new  unknown  minions. Exploiting this vulnerability does not
390813       require authentication.
390814
390815       This issue affects all known versions of Salt.
390816
390817       This issue was reported by Ronald Volgers.
390818
390819   Patch
390820       The issue is fixed in Salt 0.15.1. Updated packages  are  available  in
390821       the usual locations.
390822
390823       Specific commits:
390824
390825       https://github.com/saltstack/salt/commit/5427b9438e452a5a8910d9128c6aafb45d8fd5d3
390826
390827       https://github.com/saltstack/salt/commit/7560908ee62351769c3cd43b03d74c1ca772cc52
390828
390829       https://github.com/saltstack/salt/commit/e200b8a7ff53780124e08d2bdefde7587e52bfca
390830
390831   RSA Key Generation Fault
390832       RSA key generation was done incorrectly, leading to very insecure keys.
390833       It is recommended to regenerate all RSA keys.
390834
390835       This  issue  can  be  used  to  impersonate Salt masters or minions, or
390836       decrypt any transferred data.
390837
390838       This issue can only be exploited by attackers who are able  to  observe
390839       or modify traffic between Salt minions and the legitimate Salt master.
390840
390841       A  tool  was included in 0.15.1 to assist in mass key regeneration, the
390842       manage.regen_keys runner.
390843
390844       This issue affects all known versions of Salt.
390845
390846       This issue was reported by Ronald Volgers.
390847
390848   Patch
390849       The issue is fixed in Salt 0.15.1. Updated packages  are  available  in
390850       the usual locations.
390851
390852       Specific commits:
390853
390854       https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc
390855
390856   Command Injection Via ext_pillar
390857       Arbitrary shell commands could be executed on the master by an  authen‐
390858       ticated minion through options passed when requesting a pillar.
390859
390860       Ext  pillar  options  have  been restricted to only allow safe external
390861       pillars to be called when prompted by the minion.
390862
390863       This issue affects Salt versions from 0.14.0 to 0.15.0.
390864
390865       This issue was reported by Ronald Volgers.
390866
390867   Patch
390868       The issue is fixed in Salt 0.15.1. Updated packages  are  available  in
390869       the usual locations.
390870
390871       Specific commits:
390872
390873       https://github.com/saltstack/salt/commit/43d8c16bd26159d827d1a945c83ac28159ec5865
390874
390875   Salt 0.15.2 Release Notes
390876       release
390877              2013-05-29
390878
390879   Salt 0.15.3 Release Notes
390880       release
390881              2013-06-01
390882
390883   Salt 0.16.0 Release Notes
390884       release
390885              2013-07-01
390886
390887       The 0.16.0 release is an exciting one,  with  new  features  in  master
390888       redundancy, and a new, powerful requisite.
390889
390890   Major Features
390891   Multi-Master
390892       This  new  capability  allows  for a minion to be actively connected to
390893       multiple salt masters at the same time. This allows for  multiple  mas‐
390894       ters  to  send out commands to minions and for minions to automatically
390895       reconnect to masters that have gone down. A tutorial  is  available  to
390896       help get started here:
390897
390898       Multi Master Tutorial
390899
390900   Prereq, the New Requisite
390901       The new prereq requisite is very powerful! It allows for states to exe‐
390902       cute based on a state that is expected to make changes in  the  future.
390903       This  allows for a change on the system to be preempted by another exe‐
390904       cution. A good example is needing to shut down a service before modify‐
390905       ing files associated with it, allowing, for instance, a webserver to be
390906       shut down allowing a load  balancer  to  stop  sending  requests  while
390907       server  side code is updated. In this case, the prereq will only run if
390908       changes are expected to happen in the prerequired state, and  the  pre‐
390909       required  state  will always run after the prereq state and only if the
390910       prereq state succeeds.
390911
390912   Peer System Improvements
390913       The peer system has been revamped to make it more reliable, faster, and
390914       like the rest of Salt, async. The peer calls when an updated minion and
390915       master are used together will be much faster!
390916
390917   Relative Includes
390918       The ability to include an sls relative to  the  defined  sls  has  been
390919       added, the new syntax id documented here:
390920
390921       Includes
390922
390923   More State Output Options
390924       The  state_output  option  in  the  past only supported full and terse,
390925       0.16.0 add the mixed and changes modes further refining how states  are
390926       sent to users' eyes.
390927
390928   Improved Windows Support
390929       Support  for  Salt on Windows continues to improve. Software management
390930       on Windows has become more seamless with Linux/UNIX/BSD  software  man‐
390931       agement.   Installed  software  is  now  recognized  by the short names
390932       defined in the repository SLS. This makes it possible to run  salt  '*'
390933       pkg.version  firefox  and get back results from Windows and non-Windows
390934       minions alike.
390935
390936       When templating files on Windows, Salt will now correctly  use  Windows
390937       appropriate line endings. This makes it much easier to edit and consume
390938       files on Windows.
390939
390940       When using the cmd state the shell option  now  allows  for  specifying
390941       Windows  Powershell  as  an  alternate  shell  to  execute  cmd.run and
390942       cmd.script.  This opens up Salt to all the power of Windows  Powershell
390943       and its advanced Windows management capabilities.
390944
390945       Several  fixes  and optimizations were added for the Windows networking
390946       modules, especially when working with IPv6.
390947
390948       A system module was added that makes it easy to  restart  and  shutdown
390949       Windows minions.
390950
390951       The  Salt  Minion  will now look for its config file in c:\salt\conf by
390952       default. This means that it's no longer necessary  to  specify  the  -c
390953       option  to  specify  the  location of the config file when starting the
390954       Salt Minion on Windows in a terminal.
390955
390956   Multiple Targets for pkg.removed, pkg.purged States
390957       Both pkg.removed and pkg.purged now support the  pkgs  argument,  which
390958       allow  for multiple packages to be targeted in a single state. This, as
390959       in pkg.installed, helps speed up these states by reducing the number of
390960       times  that  the  package  management tools (apt, yum, etc.) need to be
390961       run.
390962
390963   Random Times in Cron States
390964       The temporal parameters in cron.present states (minute, hour, etc.) can
390965       now  be  randomized  by  using  random instead of a specific value. For
390966       example, by using the random keyword in the minute parameter of a  cron
390967       state,  the  same  cron  job  can be pushed to hundreds or thousands of
390968       hosts, and they would each use a randomly-generated minute. This can be
390969       helpful  when  the  cron job accesses a network resource, and it is not
390970       desirable for all hosts to run the job concurrently.
390971
390972          /path/to/cron/script:
390973            cron.present:
390974              - user: root
390975              - minute: random
390976              - hour: 2
390977
390978       Since Salt assumes a value of * for  unspecified  temporal  parameters,
390979       adding  a  parameter  to the state and setting it to random will change
390980       that value from * to a randomized numeric value. However, if that field
390981       in  the cron entry on the minion already contains a numeric value, then
390982       using the random keyword will not modify it.
390983
390984   Confirmation Prompt on Key Acceptance
390985       When accepting new keys with salt-key  -a  minion-id  or  salt-key  -A,
390986       there is now a prompt that will show the affected keys and ask for con‐
390987       firmation before proceeding. This prompt can be bypassed using  the  -y
390988       or --yes command line argument, as with other salt-key commands.
390989
390990   Support for Setting Password Hashes on BSD Minions
390991       FreeBSD,  NetBSD,  and  OpenBSD  all  now  support setting passwords in
390992       user.present states.
390993
390994   Salt 0.16.1 Release Notes
390995       release
390996              2013-07-29
390997
390998   Salt 0.16.2 Release Notes
390999       release
391000              2013-08-01
391001
391002       Version 0.16.2 is a bugfix release for 0.16.0, and contains a number of
391003       fixes.
391004
391005   Windows
391006       · Only  allow  Administrator's group and SYSTEM user access to C:\salt.
391007         This eliminates a race condition where a non-admin user could  modify
391008         a template or managed file before it is executed by the minion (which
391009         is running as an elevated user), thus avoiding a potential escalation
391010         of privileges. (issue #6361)
391011
391012   Grains
391013       · Fixed detection of virtual grain on OpenVZ hardware nodes
391014
391015       · Gracefully handle lsb_release data when it is enclosed in quotes
391016
391017       · LSB grains are now prefixed with lsb_distrib_ instead of simply lsb_.
391018         The old naming is not preserved, so SLS may be affected.
391019
391020       · Improved grains detection on MacOS
391021
391022   Pillar
391023       · Don't try to load git_pillar if not enabled in master  config  (issue
391024         #6052)
391025
391026       · Functions   pillar.item   and  pillar.items  added  for  parity  with
391027         grains.item/grains.items. The old function pillar.data  is  preserved
391028         for backwards compatibility.
391029
391030       · Fixed minion traceback when Pillar SLS is malformed (issue #5910)
391031
391032   Peer Publishing
391033       · More  gracefully  handle  improperly  quoted  publish commands (issue
391034         #5958)
391035
391036       · Fixed traceback when timeout specified via the  CLI  fo  publish.pub‐
391037         lish, publish.full_data (issue #5959)
391038
391039       · Fixed unintended change in output of publish.publish (issue #5928)
391040
391041   Minion
391042       · Fixed salt-key usage in minionswarm script
391043
391044       · Quieted warning about SALT_MINION_CONFIG environment variable on min‐
391045         ion startup and for CLI commands run via salt-call (issue #5956)
391046
391047       · Added minion config parameter random_reauth_delay to stagger  re-auth
391048         attempts  when  the  minion  is waiting for the master to approve its
391049         public key. This helps prevent SYN flooding in larger environments.
391050
391051   User/Group Management
391052       · Implement previously-ignored unique option for user.present states in
391053         FreeBSD
391054
391055       · Report  in  state output when a group.present state attempts to use a
391056         gid in use by another group
391057
391058       · Fixed regression that prevents a user.present state to set the  pass‐
391059         word hash to the system default (i.e. an unset password)
391060
391061       · Fixed multiple group.present states with the same group (issue #6439)
391062
391063   File Management
391064       · Fixed file.mkdir setting incorrect permissions (issue #6033)
391065
391066       · Fixed  cleanup  of  source  files  for  templates  when  /tmp  is  in
391067         file_roots (issue #6118)
391068
391069       · Fixed caching of zero-byte files when a non-empty file was previously
391070         cached at the same path
391071
391072       · Added HTTP authentication support to the cp module (issue #5641)
391073
391074       · Diffs are now suppressed when binary files are changed
391075
391076   Package/Repository Management
391077       · Fixed traceback when there is only one target for pkg.latest states
391078
391079       · Fixed regression in detection of virtual packages (apt)
391080
391081       · Limit    number    of    pkg   database   refreshes   to   once   per
391082         state.sls/state.highstate
391083
391084       · YUM: Allow 32-bit packages with arches other than i686 to be  managed
391085         on 64-bit systems (issue #6299)
391086
391087       · Fixed incorrect reporting in pkgrepo.managed states (issue #5517)
391088
391089       · Fixed  32-bit  binary  package installs on 64-bit RHEL-based distros,
391090         and added proper support for 32-bit packages on  64-bit  Debian-based
391091         distros (issue #6303)
391092
391093       · Fixed  issue  where  requisites were inadvertently being put into YUM
391094         repo files (issue #6471)
391095
391096   Service Management
391097       · Fixed inaccurate reporting of results in service.running states  when
391098         the service fails to start (issue #5894)
391099
391100       · Fixed  handling  of  custom initscripts in RHEL-based distros so that
391101         they are immediately available, negating the need for a second  state
391102         run to manage the service that the initscript controls
391103
391104   Networking
391105       · Function  network.hwaddr  renamed  to  network.hw_addr  to match net‐
391106         work.ip_addrs and network.ip_addrs6. All  three  functions  also  now
391107         work without the underscore in the name, as well.
391108
391109       · Fixed  traceback  in bridge.show when interface is not present (issue
391110         #6326)
391111
391112   SSH
391113       · Fixed incorrect result  reporting  for  some  ssh_known_hosts.present
391114         states
391115
391116       · Fixed  inaccurate reporting when ssh_auth.present states are run with
391117         test=True, when  rsa/dss  is  used  for  the  enc  param  instead  of
391118         ssh-rsa/ssh-dss (issue #5374)
391119
391120   pip
391121       · Properly handle -f lines in pip freeze output
391122
391123       · Fixed  regression  in pip.installed states with specifying a require‐
391124         ments file (issue #6003)
391125
391126       · Fixed use of editable argument in pip.installed states (issue #6025)
391127
391128       · Deprecated runas parameter in execution function calls, in  favor  of
391129         user
391130
391131   MySQL
391132       · Allow  specification of MySQL connection arguments via the CLI, over‐
391133         riding/bypassing minion config params
391134
391135       · Allow mysql_user.present states to set a  passwordless  login  (issue
391136         #5550)
391137
391138       · Fixed endless loop when mysql.processlist is run (issue #6297)
391139
391140   PostgreSQL
391141       · Fixed traceback in postgres.user_list (issue #6352)
391142
391143   Miscellaneous
391144       · Don't allow npm states to be used if npm module is not available
391145
391146       · Fixed  alternatives.install  states for which the target is a symlink
391147         (issue #6162)
391148
391149       · Fixed traceback in sysbench module (issue #6175)
391150
391151       · Fixed traceback in job cache
391152
391153       · Fixed tempfile cleanup for windows
391154
391155       · Fixed issue where SLS files using the pydsl renderer were  not  being
391156         run
391157
391158       · Fixed  issue  where returners were being passed incorrect information
391159         (issue #5518)
391160
391161       · Fixed traceback when numeric args are passed to cmd.script states
391162
391163       · Fixed bug causing cp.get_dir to return more directories than expected
391164         (issue #6048)
391165
391166       · Fixed   traceback   when  supervisord.running  states  are  run  with
391167         test=True (issue #6053)
391168
391169       · Fixed tracebacks when Salt encounters problems running  rbenv  (issue
391170         #5888)
391171
391172       · Only  make  the  monit module available if monit binary is present (‐
391173         issue #5871)
391174
391175       · Fixed incorrect behavior of img.mount_image
391176
391177       · Fixed traceback in tomcat.deploy_war in Windows
391178
391179       · Don't re-write /etc/fstab if mount fails
391180
391181       · Fixed tracebacks when Salt encounters  problems  running  gem  (issue
391182         #5886)
391183
391184       · Fixed incorrect behavior of selinux.boolean states (issue #5912)
391185
391186       · RabbitMQ:  Quote passwords to avoid symbols being interpolated by the
391187         shell (issue #6338)
391188
391189       · Fixed tracebacks in extfs.mkfs and extfs.tune (issue #6462)
391190
391191       · Fixed a regression with the module.run state  where  the  m_name  and
391192         m_fun arguments were being ignored (issue #6464)
391193
391194   Salt 0.16.3 Release Notes
391195       release
391196              2013-08-09
391197
391198       Version  0.16.3  is  another  bugfix  release  for  0.16.0. The changes
391199       include:
391200
391201       · Various documentation fixes
391202
391203       · Fix proc directory regression (issue #6502)
391204
391205       · Properly detect Linaro Linux (issue #6496)
391206
391207       · Fix regressions in mount.mounted (issue #6522, issue #6545)
391208
391209       · Skip malformed state requisites (issue #6521)
391210
391211       · Fix regression in gitfs from bad import
391212
391213       · Fix for watching prereq states (including recursive requisite  error)
391214         (issue #6057)
391215
391216       · Fix mod_watch not overriding prereq (issue #6520)
391217
391218       · Don't allow functions which compile states to be called within states
391219         (issue #5623)
391220
391221       · Return error for malformed top.sls (issue #6544)
391222
391223       · Fix traceback in mysql.query
391224
391225       · Fix regression in binary package installation for 64-bit packages  on
391226         Debian-based Linux distros (issue #6563)
391227
391228       · Fix  traceback caused by running cp.push without having set file_recv
391229         in the master config file
391230
391231       · Fix scheduler configuration in pillar (issue #6201)
391232
391233   Salt 0.16.4 Release Notes
391234       release
391235              2013-09-07
391236
391237       Version 0.16.4 is another bugfix release for 0.16.0, likely to  be  the
391238       last before 0.17.0 is released.  The changes include:
391239
391240       · Multiple documentation improvements/additions
391241
391242       · Added the osfinger and osarch grains
391243
391244       · Properly handle 32-bit packages for debian32 on x86_64 (issue #6607)
391245
391246       · Fix regression in yum package installation in CentOS 5 (issue #6677)
391247
391248       · Fix  bug in hg.latest state that would erroneously delete directories
391249         (issue #6661)
391250
391251       · Fix bug related to pid not existing for ps.top (issue #6679)
391252
391253       · Fix regression in MySQL returner (issue #6695)
391254
391255       · Fix IP addresses grains (ipv4 and ipv6) to include all  addresses  (‐
391256         issue #6656)
391257
391258       · Fix regression preventing authenticated FTP (issue #6733)
391259
391260       · Fix setting password for windows users (issue #6824)
391261
391262       · Fix file.contains on values YAML parses as non-string (issue #6817)
391263
391264       · Fix file.get_gid, file.get_uid, and file.chown for broken symlinks (‐
391265         issue #6826)
391266
391267       · Fix comment for service reloads in service state (issue #6851)
391268
391269   Salt 0.17.0 Release Notes
391270       release
391271              2013-09-26
391272
391273       The 0.17.0 release is a very exciting release of Salt, this  brings  to
391274       Salt  some  very powerful new features and advances. The advances range
391275       from the state system to the test suite, covering new  transport  capa‐
391276       bilities  and making states easier and more powerful, to extending Salt
391277       Virt and much more!
391278
391279       The 0.17.0 release will also be the last release of Salt to follow  the
391280       old  0.XX.X  numbering system, the next release of Salt will change the
391281       numbering to be date based following this format:
391282
391283       <Year>.<Month>.<Minor>
391284
391285       So if the release happens in  November  of  2013  the  number  will  be
391286       13.11.0, the first bugfix release will be 13.11.1 and so forth.
391287
391288   Major Features
391289   Halite
391290       The  new  Halite web GUI is now available on PyPI. A great deal of work
391291       has been put into Halite to make it fully event  driven  and  amazingly
391292       fast.  The  Halite UI can be started from within the Salt Master (after
391293       being installed from PyPI), or standalone,  and  does  not  require  an
391294       external database to run.  It is very lightweight!
391295
391296       This  initial  release  of Halite is primarily the framework for the UI
391297       and the communication systems, making it easy to extend and  build  the
391298       UI up. It presently supports watching the event bus and firing commands
391299       over Salt.
391300
391301       At this time, Halite is not available as a  package,  but  installation
391302       documentation               is               available              at:
391303       http://docs.saltstack.com/topics/tutorials/halite.html
391304
391305       Halite is, like the rest of Salt, Open Source!
391306
391307       Much more will be coming in the future of Halite!
391308
391309   Salt SSH
391310       The new salt-ssh command has been added to Salt. This system allows for
391311       remote execution and states to be run over ssh. The benefit here being,
391312       that salt can run relying only on the ssh agent, rather than  requiring
391313       a minion to be deployed.
391314
391315       The  salt-ssh system runs states in a compatible way as Salt and states
391316       created and run with salt-ssh can be moved  over  to  a  standard  salt
391317       deployment without modification.
391318
391319       Since  this is the initial release of salt-ssh, there is plenty of room
391320       for improvement, but it is fully  operational,  not  just  a  bootstrap
391321       tool.
391322
391323   Rosters
391324       Salt  is  designed  to  have the minions be aware of the master and the
391325       master does not need to be aware of the location of  the  minions.  The
391326       new  salt  roster system was created and designed to facilitate listing
391327       the targets for salt-ssh.
391328
391329       The roster system, like most of Salt, is a plugin system, allowing  for
391330       the list of systems to target to be derived from any pluggable backend.
391331       The rosters shipping with 0.17.0 are flat and  scan.  Flat  is  a  file
391332       which  is  read  in via the salt render system and the scan roster does
391333       simple network scanning to discover ssh servers.
391334
391335   State Auto Order
391336       This is a major change in how states are evaluated in Salt. State  Auto
391337       Order  is a new feature that makes states get evaluated and executed in
391338       the order in which they are defined in the sls file. This feature makes
391339       it  very easy to see the finite order in which things will be executed,
391340       making Salt now, fully imperative AND fully declarative.
391341
391342       The requisite system still takes precedence over  the  order  in  which
391343       states  are  defined,  so  no  existing  states  should break with this
391344       change.  But  this  new  feature  can  be   turned   off   by   setting
391345       state_auto_order: False in the master config, thus reverting to the old
391346       lexicographical order.
391347
391348   state.sls Runner
391349       The state.sls runner has been created to allow for a more powerful sys‐
391350       tem  for  orchestrating  state  runs and function calls across the salt
391351       minions. This new system uses the state system  for  organizing  execu‐
391352       tions.
391353
391354       This allows for states to be defined that are executed on the master to
391355       call states on minions via salt-run state.sls.
391356
391357   Salt Thin
391358       Salt Thin is an exciting new component of Salt, this is the ability  to
391359       execute Salt routines without any transport mechanisms installed, it is
391360       a pure python subset of Salt.
391361
391362       Salt Thin does not have any networking capability, but can  be  dropped
391363       into  any system with Python installed and then salt-call can be called
391364       directly. The Salt Thin system, is used by the  salt-ssh  command,  but
391365       can still be used to just drop salt somewhere for easy use.
391366
391367   Event Namespacing
391368       Events  have  been updated to be much more flexible. The tags in events
391369       have all been namespaced allowing easier tracking of event names.
391370
391371   Mercurial Fileserver Backend
391372       The popular git fileserver backend has been  joined  by  the  mercurial
391373       fileserver  backend, allowing the state tree to be managed entirely via
391374       mercurial.
391375
391376   External Logging Handlers
391377       The external logging handler system allows for Salt  to  directly  hook
391378       into  any  external  logging system. Currently supported are sentry and
391379       logstash.
391380
391381   Jenkins Testing
391382       The testing systems in Salt have been greatly enhanced, tests for  salt
391383       are  now  executed,  via  jenkins.saltstack.com,  across many supported
391384       platforms. Jenkins calls out to salt-cloud to create  virtual  machines
391385       on  Rackspace,  then  the minion on the virtual machine checks into the
391386       master running on Jenkins where a state run is executed  that  sets  up
391387       the minion to run tests and executes the test suite.
391388
391389       This  now  automates  the sequence of running platform tests and allows
391390       for continuous destructive tests to be run.
391391
391392   Salt Testing Project
391393       The testing libraries for salt have been moved out  of  the  main  salt
391394       code  base  and  into a standalone codebase. This has been done to ease
391395       the use of the testing systems being used in salt based projects  other
391396       than Salt itself.
391397
391398   StormPath External Authentication
391399       The  external  auth  system  now supports the fantastic Stormpath cloud
391400       based authentication system.
391401
391402   LXC Support
391403       Extensive additions have been added  to  Salt  for  LXC  support.  This
391404       included  the  backend  libs for managing LXC containers. Addition into
391405       the salt-virt system is still in the works.
391406
391407   macOS User/Group Support
391408       Salt is now able to manage users and groups on Minions  running  macOS.
391409       However, at this time user passwords cannot be managed.
391410
391411   Django ORM External Pillar
391412       Pillar data can now be derived from Django managed databases.
391413
391414   Fixes from RC to release
391415       · Multiple documentation fixes
391416
391417       · Add multiple source files + templating for file.append (issue #6905)
391418
391419       · Support sysctl configuration files in systemd>=207 (issue #7351)
391420
391421       · Add file.search and file.replace
391422
391423       · Fix cross-calling execution functions in provider overrides
391424
391425       · Fix locale override for postgres (issue #4543)
391426
391427       · Fix Raspbian identification for service/pkg support (issue #7371)
391428
391429       · Fix cp.push file corruption (issue #6495)
391430
391431       · Fix ALT Linux password hash specification (issue #3474)
391432
391433       · Multiple salt-ssh-related fixes and improvements
391434
391435   Salt 0.17.1 Release Notes
391436       release
391437              2013-10-17
391438
391439       NOTE:
391440          THIS  RELEASE  IS  NOT  COMPATIBLE  WITH  PREVIOUS VERSIONS.  If you
391441          update your master to 0.17.1, you must update your minions as  well.
391442          Sorry  for the inconvenience -- this is a result of one of the secu‐
391443          rity fixes listed below.
391444
391445       The 0.17.1 release comes with a number  of  improvements  to  salt-ssh,
391446       many bugfixes, and a number of security updates.
391447
391448       Salt  SSH  has  been  improved  to  be faster, more featureful and more
391449       secure.  Since the original release of Salt SSH was primarily  a  proof
391450       of  concept,  it  has  been very exciting to see its rapid adoption. We
391451       appreciate the willingness of security experts to review Salt  SSH  and
391452       help discover oversights and ensure that security issues only exist for
391453       such a tiny window of time.
391454
391455   SSH Enhancements
391456   Shell Improvements
391457       Improvements to Salt SSH's communication have been added  that  improve
391458       routine execution regardless of the target system's login shell.
391459
391460   Performance
391461       Deployment  of  routines is now faster and takes fewer commands to exe‐
391462       cute.
391463
391464   Security Updates
391465       Be advised that these security issues all apply to a  small  subset  of
391466       Salt users and mostly apply to Salt SSH.
391467
391468   Insufficient Argument Validation
391469       This  issue  allowed for a user with limited privileges to embed execu‐
391470       tions inside of routines to execute routines that should be restricted.
391471       This  applies to users using external auth or client ACL and opening up
391472       specific routines.
391473
391474       Be advised that these patches address the direct issue. Additional com‐
391475       mits have been applied to help mitigate this issue from resurfacing.
391476
391477   CVE
391478       CVE-2013-4435
391479
391480   Affected Versions
391481       0.15.0 - 0.17.0
391482
391483   Patches
391484       https://github.com/saltstack/salt/commit/6d8ef68b605fd63c36bb8ed96122a75ad2e80269
391485       https://github.com/saltstack/salt/commit/ebdef37b7e5d2b95a01d34b211c61c61da67e46a
391486       https://github.com/saltstack/salt/commit/7f190ff890e47cdd591d9d7cefa5126574660824
391487       https://github.com/saltstack/salt/commit/8e5afe59cef6743fe5dbd510dcf463dbdfca1ced
391488       https://github.com/saltstack/salt/commit/aca78f314481082862e96d4f0c1b75fa382bb885
391489       https://github.com/saltstack/salt/commit/6a9752cdb1e8df2c9505ea910434c79d132eb1e2
391490       https://github.com/saltstack/salt/commit/b73677435ba54ecfc93c1c2d840a7f9ba6f53410
391491       https://github.com/saltstack/salt/commit/07972eb0a6f985749a55d8d4a2e471596591c80d
391492       https://github.com/saltstack/salt/commit/1e3f197726aa13ac5c3f2416000089f477f489b5
391493
391494   Found By
391495       Feth Arezki, of Majerti
391496
391497   MITM SSH attack in salt-ssh
391498       SSH host keys were being accepted by default and not enforced on future
391499       SSH connections. These patches set SSH host key checking by default and
391500       can be overridden by passing the -i flag to salt-ssh.
391501
391502   CVE
391503       CVE-2013-4436
391504
391505   Affected Versions
391506       0.17.0
391507
391508   Found By
391509       Michael Scherer, Red Hat
391510
391511   Insecure Usage of /tmp in salt-ssh
391512       The initial release of salt-ssh used the /tmp directory in an  insecure
391513       way.   These  patches  not  only  secure  usage  of files under /tmp in
391514       salt-ssh, but also add checksum validation for all packages  sent  into
391515       the now secure locations on target systems.
391516
391517   CVE
391518       CVE-2013-4438
391519
391520   Affected Versions
391521       0.17.0
391522
391523   Patches
391524       https://github.com/saltstack/salt/commit/aa4bb77ef230758cad84381dde0ec660d2dc340a
391525       https://github.com/saltstack/salt/commit/8f92b6b2cb2e4ec3af8783eb6bf4ff06f5a352cf
391526       https://github.com/saltstack/salt/commit/c58e56811d5a50c908df0597a0ba0b643b45ebfd
391527       https://github.com/saltstack/salt/commit/0359db9b46e47614cff35a66ea6a6a76846885d2
391528       https://github.com/saltstack/salt/commit/4348392860e0fd43701c331ac3e681cf1a8c17b0
391529       https://github.com/saltstack/salt/commit/664d1a1cac05602fad2693f6f97092d98a72bf61
391530       https://github.com/saltstack/salt/commit/bab92775a576e28ff9db262f32db9cf2375bba87
391531       https://github.com/saltstack/salt/commit/c6d34f1acf64900a3c87a2d37618ff414e5a704e
391532
391533   Found By
391534       Michael Scherer, Red Hat
391535
391536   YAML Calling Unsafe Loading Routine
391537       It has been argued that this is not a valid security issue, as the YAML
391538       loading that was happening was only being called after an initial gate‐
391539       way filter in Salt has already safely loaded the YAML and would fail if
391540       non-safe routines were embedded. Nonetheless, the  CVE  was  filed  and
391541       patches applied.
391542
391543   CVE
391544       CVE-2013-4438
391545
391546   Patches
391547       https://github.com/saltstack/salt/commit/339b0a51befae6b6b218ebcb55daa9cd3329a1c5
391548
391549   Found By
391550       Michael Scherer, Red Hat
391551
391552   Failure to Drop Supplementary Group on Salt Master
391553       If a salt master was started as a  non-root  user  by  the  root  user,
391554       root's  groups  would still be applied to the running process. This fix
391555       changes the process to have only the groups of the running user.
391556
391557   CVE
391558       CVE not considered necessary by submitter.
391559
391560   Affected Versions
391561       0.11.0 - 0.17.0
391562
391563   Patches
391564       https://github.com/saltstack/salt/commit/b89fa9135822d029795ab1eecd68cce2d1ced715
391565
391566   Found By
391567       Michael Scherer, Red Hat
391568
391569   Failure to Validate Minions Posting Data
391570       This  issue  allowed a minion to pose as another authorized minion when
391571       posting data such as the mine data. All minions now pass through the id
391572       challenge before posting such data.
391573
391574   CVE
391575       CVE-2013-4439
391576
391577   Affected Versions
391578       0.15.0 - 0.17.0
391579
391580   Patches
391581       https://github.com/saltstack/salt/commit/7b850ff3d07ef6782888914ac4556c01e8a1c482
391582       https://github.com/saltstack/salt/commit/151759b2a1e1c6ce29277aa81b054219147f80fd
391583
391584   Found By
391585       David Anderson
391586
391587   Fix Reference
391588       Version  0.17.1  is  the  first bugfix release for 0.17.0.  The changes
391589       include:
391590
391591       · Fix symbolic links in thin.tgz (issue #7482)
391592
391593       · Pass env through to file.patch state (issue #7452)
391594
391595       · Service provider fixes and reporting improvements (issue #7361)
391596
391597       · Add --priv option for specifying salt-ssh private key
391598
391599       · Fix salt-thin's salt-call on setuptools installations (issue #7516)
391600
391601       · Fix salt-ssh to support passwords with spaces (issue #7480)
391602
391603       · Fix regression in wildcard includes (issue #7455)
391604
391605       · Fix salt-call outputter regression (issue #7456)
391606
391607       · Fix custom returner support for startup states (issue #7540)
391608
391609       · Fix value handling in augeas (issue #7605)
391610
391611       · Fix regression in apt (issue #7624)
391612
391613       · Fix minion ID guessing to use socket.getfqdn() first (issue #7558)
391614
391615       · Add minion ID caching (issue #7558)
391616
391617       · Fix salt-key race condition (issue #7304)
391618
391619       · Add --include-all flag to salt-key (issue #7399)
391620
391621       · Fix custom grains in pillar (part of issue #5716, issue #6083)
391622
391623       · Fix race condition in salt-key (issue #7304)
391624
391625       · Fix regression in minion ID guessing, prioritize socket.getfqdn()  (‐
391626         issue #7558)
391627
391628       · Cache minion ID on first guess (issue #7558)
391629
391630       · Allow trailing slash in file.directory state
391631
391632       · Fix  reporting  of file_roots in pillar return (issue #5449 and issue
391633         #5951)
391634
391635       · Remove pillar matching for mine.get (issue #7197)
391636
391637       · Sanitize args for multiple execution modules
391638
391639       · Fix yumpkg mod_repo functions to filter hidden args (issue #7656)
391640
391641       · Fix conflicting IDs in state includes (issue #7526)
391642
391643       · Fix mysql_grants.absent string formatting issue (issue #7827)
391644
391645       · Fix postgres.version so it won't return None (issue #7695)
391646
391647       · Fix for trailing slashes in mount.mounted state
391648
391649       · Fix rogue AttributErrors in the outputter system (issue #7845)
391650
391651       · Fix for incorrect ssh key encodings resulting in incorrect key  added
391652         (issue #7718)
391653
391654       · Fix  for  pillar/grains  naming  regression in python renderer (issue
391655         #7693)
391656
391657       · Fix args/kwargs handling in the scheduler (issue #7422)
391658
391659       · Fix logfile handling for file://, tcp://, and udp:// (issue #7754)
391660
391661       · Fix error handling in config file parsing (issue #6714)
391662
391663       · Fix RVM using sudo when running as non-root user (issue #2193)
391664
391665       · Fix client ACL and underlying logging bugs (issue #7706)
391666
391667       · Fix scheduler bug with returner (issue #7367)
391668
391669       · Fix user management bug related to default groups (issue #7690)
391670
391671       · Fix various salt-ssh bugs (issue #7528)
391672
391673       · Many various documentation fixes
391674
391675   Salt 0.17.2 Release Notes
391676       release
391677              2013-11-14
391678
391679       Version 0.17.2 is another  bugfix  release  for  0.17.0.   The  changes
391680       include:
391681
391682       · Add ability to delete key with grains.delval (issue #7872)
391683
391684       · Fix possible state compiler stack trace (issue #5767)
391685
391686       · Fix architecture regression in yumpkg (issue #7813)
391687
391688       · Use correct ps on Debian to prevent truncating (issue #5646)
391689
391690       · Fix grains targeting for new grains (issue #5737)
391691
391692       · Fix bug with merging in git_pillar (issue #6992)
391693
391694       · Fix print_jobs duplicate results
391695
391696       · Fix apt version specification for pkg.install
391697
391698       · Fix possible KeyError from ext_job_cache missing option
391699
391700       · Fix auto_order for - names states (issue #7649)
391701
391702       · Fix regression in new gitfs installs (directory not found error)
391703
391704       · Fix escape pipe issue on Windows for file.recurse (issue #7967)
391705
391706       · Fix fileclient in case of master restart (issue #7987)
391707
391708       · Try to output warning if CLI command malformed (issue #6538)
391709
391710       · Fix --out=quiet to actually be quiet (issue #8000)
391711
391712       · Fix for state.sls in salt-ssh (issue #7991)
391713
391714       · Fix for MySQL grants ordering issue (issue #5817)
391715
391716       · Fix traceback for certain missing CLI args (issue #8016)
391717
391718       · Add ability to disable lspci queries on master (issue #4906)
391719
391720       · Fail if sls defined in topfile does not exist (issue #5998)
391721
391722       · Add ability to downgrade MySQL grants (issue #6606)
391723
391724       · Fix ssh_auth.absent traceback (issue #8043)
391725
391726       · Add upstart detection for Debian/Raspbian (issue #8039)
391727
391728       · Fix ID-related issues (issue #8052, issue #8050, and others)
391729
391730       · Fix for jinja rendering issues (issue #8066 and issue #8079)
391731
391732       · Fix argument parsing in salt-ssh (issue #7928)
391733
391734       · Fix some GPU detection instances (issue #6945)
391735
391736       · Fix bug preventing includes from other environments in SLS files
391737
391738       · Fix for kwargs with dashes (issue #8102)
391739
391740       · Fix salt.utils.which for windows '.exe' (issue #7904)
391741
391742       · Fix apache.adduser without apachectl (issue #8123)
391743
391744       · Fix issue with evaluating test kwarg in states (issue #7788)
391745
391746       · Fix regression in salt.client.Caller() (issue #8078)
391747
391748       · Fix apt-key silent failure
391749
391750       · Fix  bug  where cmd.script would try to run even if caching failed (‐
391751         issue #7601)
391752
391753       · Fix apt pkg.latest regression (issue #8067)
391754
391755       · Fix for mine data not being updated (issue #8144)
391756
391757       · Fix for noarch packages in yum
391758
391759       · Fix a Xen detection edge case (issue #7839)
391760
391761       · Fix windows __opts__ dictionary persistence (issue #7714)
391762
391763       · Fix version generation for when it's part of another git repo  (issue
391764         #8090)
391765
391766       · Fix  _handle_iorder stacktrace so that the real syntax error is shown
391767         (issue #8114 and issue #7905)
391768
391769       · Fix git.latest state when a commit SHA is used (issue #8163)
391770
391771       · Fix various small bugs in yumpkg.py (issue #8201)
391772
391773       · Fix for specifying identify file in git.latest (issue #8094)
391774
391775       · Fix for --output-file CLI arg (issue #8205)
391776
391777       · Add ability to  specify  shutdown  time  for  system.shutdown  (issue
391778         #7833)
391779
391780       · Fix for salt version using non-salt git repo info (issue #8266)
391781
391782       · Add  additional  hints  at impact of pkgrepo states when test=True (‐
391783         issue #8247)
391784
391785       · Fix for salt-ssh files not being owned by root (issue #8216)
391786
391787       · Fix retry logic and error handling in fileserver  (related  to  issue
391788         #7755)
391789
391790       · Fix file.replace with test=True (issue #8279)
391791
391792       · Add flag for limiting file traversal in fileserver (issue #6928)
391793
391794       · Fix for extra mine processes (issue #5729)
391795
391796       · Fix for unloading custom modules (issue #7691)
391797
391798       · Fix for salt-ssh opts (issue #8005 and issue #8271)
391799
391800       · Fix compound matcher for grains (issue #7944)
391801
391802       · Improve error reporting in ebuild module (related to issue #5393)
391803
391804       · Add dir_mode to file.managed (issue #7860)
391805
391806       · Improve traceroute support for FreeBSD and macOS (issue #4927)
391807
391808       · Fix for matching minions under syndics (issue #7671)
391809
391810       · Improve exception handling for missing ID (issue #8259)
391811
391812       · Fix grain mismatch for ScientificLinux (issue #8338)
391813
391814       · Add configuration option for minion_id_caching
391815
391816       · Fix open mode auth errors (issue #8402)
391817
391818   Salt 0.17.3 Release Notes
391819       release
391820              2013-12-08
391821
391822       NOTE:
391823          0.17.3  had some regressions which were promptly fixed in the 0.17.4
391824          release.  Please use 0.17.4 instead.
391825
391826       Version 0.17.3 is another  bugfix  release  for  0.17.0.   The  changes
391827       include:
391828
391829       · Fix some jinja render errors (issue #8418)
391830
391831       · Fix file.replace state changing file ownership (issue #8399)
391832
391833       · Fix state ordering with the PyDSL renderer (issue #8446)
391834
391835       · Fix for new npm version (issue #8517)
391836
391837       · Fix  for  pip state requiring name even with requirements file (issue
391838         #8519)
391839
391840       · Fix yum logging to open terminals (issue #3855)
391841
391842       · Add sane maxrunning defaults for scheduler (issue #8563)
391843
391844       · Fix states duplicate key detection (issue #8053)
391845
391846       · Fix SUSE patch level reporting (issue #8428)
391847
391848       · Fix managed file creation umask (issue #8590)
391849
391850       · Fix logstash exception (issue #8635)
391851
391852       · Improve argument exception handling for salt command (issue #8016)
391853
391854       · Fix pecl success reporting (issue #8750)
391855
391856       · Fix launchctl module exceptions (issue #8759)
391857
391858       · Fix argument order in pw_user module
391859
391860       · Add warnings for failing grains (issue #8690)
391861
391862       · Fix hgfs problems caused by connections left open  (issue  #8811  and
391863         issue #8810)
391864
391865       · Add  Debian  iptables  default for iptables-persistent package (issue
391866         #8889)
391867
391868       · Fix installation of packages with dots in pkg name (issue #8614)
391869
391870       · Fix noarch package installation on CentOS 6 (issue #8945)
391871
391872       · Fix portage_config.enforce_nice_config (issue #8252)
391873
391874       · Fix salt.util.copyfile umask usage (issue #8590)
391875
391876       · Fix rescheduling of failed jobs (issue #8941)
391877
391878       · Fix pkg on Amazon Linux (uses yumpkg5 now) (issue #8226)
391879
391880       · Fix conflicting options in postgres module (issue #8717)
391881
391882       · Fix ps modules for psutil >= 0.3.0 (issue #7432)
391883
391884       · Fix postgres module to return False on failure (issue #8778)
391885
391886       · Fix argument passing for args with pound signs (issue #8585)
391887
391888       · Fix pid of salt CLi  command  showing  in  status.pid  output  (issue
391889         #8720)
391890
391891       · Fix rvm to run gem as the correct user (issue #8951)
391892
391893       · Fix namespace issue in win_file module (issue #9060)
391894
391895       · Fix masterless state paths on windows (issue #9021)
391896
391897       · Fix timeout option in master config (issue #9040)
391898
391899   Salt 0.17.4 Release Notes
391900       release
391901              2013-12-10
391902
391903       Version  0.17.4  is  another  bugfix  release  for 0.17.0.  The changes
391904       include:
391905
391906       · Fix file.replace bug when replacement str is numeric (issue #9101)
391907
391908       · Fix regression in file.managed (issue #9131)
391909
391910       · Prevent traceback when job is None. (issue #9145)
391911
391912   Salt 0.17.5 Release Notes
391913       release
391914              2014-01-27
391915
391916       Version 0.17.5 is another  bugfix  release  for  0.17.0.   The  changes
391917       include:
391918
391919       · Fix user.present states with non-string fullname (issue #9085)
391920
391921       · Fix virt.init return value on failure (issue #6870)
391922
391923       · Fix reporting of file.blockreplace state when test=True
391924
391925       · Fix network.interfaces when used in cron (issue #7990)
391926
391927       · Fix  bug  in pkgrepo when switching to/from mirrorlist-based repo def
391928         (issue #9121)
391929
391930       · Fix infinite recursion when cache file is corrupted
391931
391932       · Add checking for rev and mirror/bare args in git.latest (issue #9107)
391933
391934       · Add cmd.watch alias (points to cmd.wait) (issue #8612)
391935
391936       · Fix stacktrace when prereq is not formed as a list (issue #8235)
391937
391938       · Fix stdin issue with lvdisplay command (issue #9128)
391939
391940       · Add pre-check function for range matcher (issue #9236)
391941
391942       · Add exception handling for psutil for processes that  go  missing  (‐
391943         issue #9274)
391944
391945       · Allow _in requisites to match both on ID and name (issue #9061)
391946
391947       · Fix  multiple  client  timeout  issues  (issue #7157 and issue #9302,
391948         probably others)
391949
391950       · Fix ZMQError: Operation  cannot  be  accomplished  in  current  state
391951         errors (issue #6306)
391952
391953       · Multiple optimization in minion auth routines
391954
391955       · Clarify logs for minion ID caching
391956
391957   Salt 0.6.0 release notes
391958       The  Salt  remote  execution manager has reached initial functionality!
391959       Salt is a management application which can be used to execute  commands
391960       on remote sets of servers.
391961
391962       The  whole  idea  behind  Salt  is  to create a system where a group of
391963       servers can be remotely controlled from a single master, not  only  can
391964       commands  be  executed  on remote systems, but salt can also be used to
391965       gather information about your server environment.
391966
391967       Unlike similar systems, like Func and MCollective,  Salt  is  extremely
391968       simple  to setup and use, the entire application is contained in a sin‐
391969       gle package, and the master  and  minion  daemons  require  no  running
391970       dependencies  in  the way that Func requires Certmaster and MCollective
391971       requires activeMQ.
391972
391973       Salt also manages authentication and encryption. Rather than using  SSL
391974       for encryption, salt manages encryption on a payload level, so the data
391975       sent across the network is encrypted  with  fast  AES  encryption,  and
391976       authentication uses RSA keys. This means that Salt is fast, secure, and
391977       very efficient.
391978
391979       Messaging in Salt is executed  with  ZeroMQ,  so  the  message  passing
391980       interface  is  built  into salt and does not require an external ZeroMQ
391981       server. This also adds speed to Salt since there is no additional bloat
391982       on the networking layer, and ZeroMQ has already proven itself as a very
391983       fast networking system.
391984
391985       The remote execution in Salt is "Lazy Execution", in that once the com‐
391986       mand is sent the requesting network connection is closed. This makes it
391987       easier to detach the execution from the calling process on the  master,
391988       it  also  means  that  replies are cached, so that information gathered
391989       from historic commands can be queried in the future.
391990
391991       Salt also allows users to make execution modules in Python. Writers  of
391992       these  modules  should also be pleased to know that they have access to
391993       the impressive information gathered from  PuppetLabs'  Facter  applica‐
391994       tion,  making  Salt  module more flexible. In the future I hope to also
391995       allow Salt to group servers based on Facter information as well.
391996
391997       All in all Salt is fast, efficient, and clean, can be used from a  sim‐
391998       ple  command line client or through an API, uses message queue technol‐
391999       ogy to make network execution extremely fast, and encryption is handled
392000       in  a very fast and efficient manner. Salt is also VERY easy to use and
392001       VERY easy to extend.
392002
392003       You can find the source code for Salt on my GitHub page,  I  have  also
392004       set  up  a few wiki pages explaining how to use and set up Salt. If you
392005       are using Arch Linux there is a package available  in  the  Arch  Linux
392006       AUR.
392007
392008       GitHub page: https://github.com/saltstack/salt
392009
392010       Wiki: https://github.com/saltstack/salt/wiki
392011
392012       Arch Linux Package: https://aur.archlinux.org/packages/salt-git/
392013
392014       I  am very open to contributions, for instance I need packages for more
392015       Linux distributions as well as BSD packages and testers.
392016
392017       Give Salt a try, this is the initial release and is not a  1.0  quality
392018       release,  but  it  has been working well for me! I am eager to get your
392019       feedback!
392020
392021   Salt 0.7.0 release notes
392022       I am pleased to announce the release of Salt 0.7.0!
392023
392024       This release marks what is the first  stable  release  of  salt,  0.7.0
392025       should be suitable for general use.
392026
392027       0.7.0 Brings the following new features to Salt:
392028
392029       · Integration with Facter data from puppet labs
392030
392031       · Allow  for  matching minions from the salt client via Facter informa‐
392032         tion
392033
392034       · Minion job threading, many jobs can be executed from  the  master  at
392035         once
392036
392037       · Preview of master clustering support - Still experimental
392038
392039       · Introduce  new minion modules for stats, virtualization, service man‐
392040         agement and more
392041
392042       · Add extensive logging to the master and minion daemons
392043
392044       · Add sys.reload_functions for dynamic function reloading
392045
392046       · Greatly improve authentication
392047
392048       · Introduce the saltkey command for managing public keys
392049
392050       · Begin backend development preparatory to introducing butter
392051
392052       · Addition of man pages for the core commands
392053
392054       · Extended and cleaned configuration
392055
392056       0.7.0 Fixes the following major bugs:
392057
392058       · Fix crash in minions when matching failed
392059
392060       · Fix configuration file lookups for the local client
392061
392062       · Repair communication bugs in encryption
392063
392064       · Numerous fixes in the minion modules
392065
392066       The next release of Salt should see the following features:
392067
392068       · Stabilize the cluster support
392069
392070       · Introduce a remote client for salt command tiers
392071
392072       · salt-ftp system for distributed file copies
392073
392074       · Initial support for "butter"
392075
392076       Coming up next is a higher level management framework for  salt  called
392077       Butter.  I  want  salt  to stay as a simple and effective communication
392078       framework, and allow for more complicated executions to be managed  via
392079       Butter.
392080
392081       Right  now Butter is being developed to act as a cloud controller using
392082       salt as the communication layer, but features  like  system  monitoring
392083       and  advanced  configuration control (a puppet manager) are also in the
392084       pipe.
392085
392086       Special thanks to Joseph Hall for the status and network  modules,  and
392087       thanks to Matthias Teege for tracking down some configuration bugs!
392088
392089       Salt can be downloaded from the following locations;
392090
392091       Arch Linux Package:
392092
392093       https://aur.archlinux.org/packages/salt-git/
392094
392095       Please enjoy the latest Salt release!
392096
392097   Salt 0.8.0 release notes
392098       Salt  0.8.0  is  ready  for general consumption!  The source tarball is
392099       available on GitHub for download:
392100
392101       A lot of work has gone into salt since the last release  just  2  weeks
392102       ago,  and  salt  has improved a great deal. A swath of new features are
392103       here along with performance and threading improvements!
392104
392105       The main new features of salt 0.8.0 are:
392106
392107       Salt-cp
392108
392109       Cython minion modules
392110
392111       Dynamic returners
392112
392113       Faster return handling
392114
392115       Lowered required Python version to 2.6
392116
392117       Advanced minion threading
392118
392119       Configurable minion modules
392120
392121   Salt-cp
392122       The salt-cp command introduces the ability to  copy  simple  files  via
392123       salt  to  targeted  servers.  Using  salt-cp  is very simple, just call
392124       salt-cp with a target specification, the source file(s)  and  where  to
392125       copy the files on the minions.  For instance:
392126
392127       # salt-cp ‘*’ /etc/hosts /etc/hosts
392128
392129       Will copy the local /etc/hosts file to all of the minions.
392130
392131       Salt-cp  is  very  young,  in the future more advanced features will be
392132       added, and the functionality will much more  closely  resemble  the  cp
392133       command.
392134
392135   Cython minion modules
392136       Cython  is  an  amazing  tool used to compile Python modules down to c.
392137       This is arguably the fastest way to run Python code,  and  since  pyzmq
392138       requires  cython,  adding support to salt for cython adds no new depen‐
392139       dencies.
392140
392141       Cython minion modules allow minion modules to be written in cython  and
392142       therefore  executed  in  compiled  c.  Simply  write the salt module in
392143       cython and use the file extension “.pyx” and the minion module will  be
392144       compiled  when  the  minion  is  started.  An  example cython module is
392145       included in the main distribution called cytest.pyx:
392146
392147       https://github.com/saltstack/salt/blob/master/salt/modules/cytest.pyx
392148
392149   Dynamic Returners
392150       By default salt returns command data back to the salt master,  but  now
392151       salt can return command data to any system. This is enabled via the new
392152       returners modules feature for salt.  The  returners  modules  take  the
392153       return  data  and  sends  it to a specific module. The returner modules
392154       work like minion modules, so any returner can be added to the minions.
392155
392156       This means that a custom data returner can be added to communicate  the
392157       return data so anything from MySQL, Redis, MongoDB, and more!
392158
392159       There are 2 simple stock returners in the returners directory:
392160
392161       https://github.com/saltstack/salt/blob/master/salt/returners
392162
392163       The  documentation  on  writing  returners  will  be  added to the wiki
392164       shortly, and returners can be written in pure Python, or in cython.
392165
392166   Configurable Minion Modules
392167       Minion modules may need to be configured, now the options passed to the
392168       minion  configuration file can be accessed inside of the minion modules
392169       via the __opt__ dict.
392170
392171       Information on how to use this simple addition has been  added  to  the
392172       wiki: Writing modules
392173
392174       The  test  module has an example of using the __opts__ dict, and how to
392175       set default options:
392176
392177       https://github.com/saltstack/salt/blob/master/salt/modules/test.py
392178
392179   Advanced Minion Threading
392180       In 0.7.0 the minion would block after receiving a command from the mas‐
392181       ter,  now  the  minion  will spawn a thread or multiprocess. By default
392182       Python threads are used because for general use they have proved to  be
392183       faster,  but  the minion can now be configured to use the Python multi‐
392184       processing module instead. Using multiprocessing will cause  executions
392185       that  are  CPU bound or would otherwise exploit the negative aspects of
392186       the Python GIL to run faster and more reliably, but simple  calls  will
392187       still be faster with Python threading.  The configuration option can be
392188       found in the minion configuration file:
392189
392190       https://github.com/saltstack/salt/blob/master/conf/minion
392191
392192   Lowered Supported Python to 2.6
392193       The requirement for Python 2.7 has been removed to support Python  2.6.
392194       I  have  received  requests  to take the minimum Python version back to
392195       2.4, but unfortunately this will not  be  possible,  since  the  ZeroMQ
392196       Python bindings do not support Python 2.4.
392197
392198       Salt 0.8.0 is a very major update, it also changes the network protocol
392199       slightly which makes communication with older salt daemons  impossible,
392200       your master and minions need to be upgraded together!
392201
392202       I  could  use  some  help bringing salt to the people! Right now I only
392203       have packages for Arch Linux, Fedora 14 and Gentoo.  We  need  packages
392204       for  Debian  and people willing to help test on more platforms. We also
392205       need help writing more minion modules and returner modules. If you want
392206       to  contribute  to  salt  please  hop  on  the mailing list and send in
392207       patches, make a fork on GitHub and send in pull requests! If  you  want
392208       to  help  but  are  not sure where you can, please email me directly or
392209       post tot he mailing list!
392210
392211       I hope you enjoy salt, while it is  not  yet  1.0  salt  is  completely
392212       viable and usable!
392213
392214       -Thomas S. Hatch
392215
392216   Salt 0.8.7 release notes
392217       It has been a month since salt 0.8.0, and it has been a long month! But
392218       Salt is still coming along strong. 0.8.7 has a lot of changes and a lot
392219       of  updates.   This  update makes Salt’s ZeroMQ back end better, strips
392220       Facter from the dependencies, and introduces interfaces to handle  more
392221       capabilities.
392222
392223       Many of the major updates are in the background, but the changes should
392224       shine through to the surface. A number of the new features are still  a
392225       little thin, but the back end to support expansion is in place.
392226
392227       I  also  recently gave a presentation to the Utah Python users group in
392228       Salt Lake City, the slides from this presentation are available here:
392229
392230       The video from this presentation will be available shortly.
392231
392232       The major new features and changes in Salt 0.8.7 are:
392233
392234       · Revamp ZeroMQ topology on the master for better scalability
392235
392236       · State enforcement
392237
392238       · Dynamic state enforcement managers
392239
392240       · Extract the module loader into salt.loader
392241
392242       · Make Job ids more granular
392243
392244       · Replace Facter functionality with the new salt grains interface
392245
392246       · Support for “virtual” salt modules
392247
392248       · Introduce the salt-call command
392249
392250       · Better debugging for minion modules
392251
392252       The new ZeroMQ topology allows for better  scalability,  this  will  be
392253       required  by  the  need  to  execute massive file transfers to multiple
392254       machines in parallel and state management. The new ZeroMQ  topology  is
392255       available in the aforementioned presentation.
392256
392257       0.8.7  introduces  the capability to declare states, this is similar to
392258       the capabilities of Puppet. States in salt are declared via state  data
392259       structures.   This  system  is  very young, but the core feature set is
392260       available. Salt states work around rendering files which represent Salt
392261       high data. More on the Salt state system will be documented in the near
392262       future.
392263
392264       The system for loading salt modules has been pulled out of  the  minion
392265       class  to be a standalone module, this has enabled more dynamic loading
392266       of Salt modules and enables many of the updates in 0.8.7 –
392267
392268       https://github.com/saltstack/salt/blob/master/salt/loader.py
392269
392270       Salt Job ids are now microsecond precise, this was needed to  repair  a
392271       race  condition  unveiled  by  the speed improvements in the new ZeroMQ
392272       topology.
392273
392274       The new grains interface replaces the functionality of Facter, the idea
392275       behind  grains differs from Facter in that the grains are only used for
392276       static system data, dynamic data needs to be derived from a call  to  a
392277       salt  module.  This  makes  grains much faster to use, since the grains
392278       data is generated when the minion starts.
392279
392280       Virtual salt modules allows for a salt module to be presented as  some‐
392281       thing other than its module name. The idea here is that based on infor‐
392282       mation from the minion decisions about which module should be presented
392283       can  be  made. The best example is the pacman module. The pacman module
392284       will only load on Arch Linux minions, and will be called pkg. Similarly
392285       the  yum  module  will  be presented as pkg when the minion starts on a
392286       Fedora/RedHat system.
392287
392288       The new salt-call command allows for minion modules to be executed from
392289       the  minion.  This  means  that on the minion a salt module can be exe‐
392290       cuted, this is a great tool for testing  Salt  modules.  The  salt-call
392291       command can also be used to view the grains data.
392292
392293       In  previous releases when a minion module threw an exception very lit‐
392294       tle data was returned to the master. Now the stack trace from the fail‐
392295       ure is returned making debugging of minion modules MUCH easier.
392296
392297       Salt  is  nearing the goal of 1.0, where the core feature set and capa‐
392298       bility is complete!
392299
392300       -Thomas S Hatch
392301
392302   Salt 0.8.8 release notes
392303       Salt 0.8.8 is here! This release adds a great deal  of  code  and  some
392304       serious new features.
392305
392306       Improved  Documentation has been set up for salt using sphinx thanks to
392307       the efforts of Seth House. This new documentation system  will  act  as
392308       the  back  end  to the salt website which is still under heavy develop‐
392309       ment. The new sphinx documentation system has also been used to greatly
392310       clean  up the salt manpages.  The salt 7 manpage in particular now con‐
392311       tains extensive information which was previously only in the wiki.  The
392312       new  documentation can be found at: http://docs.saltstack.com/ We still
392313       have a lot to add, and when the domain is set up I  will  post  another
392314       announcement.
392315
392316       More  additions have been made to the ZeroMQ setup, particularly in the
392317       realm of file transfers. Salt 0.8.8 introduces a built  in,  stateless,
392318       encrypted  file server which allows salt minions to download files from
392319       the salt master using the same encryption system  used  for  all  other
392320       salt  communications.  The main motivation for the salt file server has
392321       been to facilitate the new salt state system.
392322
392323       Much of the salt code has been cleaned up and  a  new  cleaner  logging
392324       system  has  been  introduced  thanks to the efforts of Pedro Algarvio.
392325       These additions will allow for much more flexible logging  to  be  exe‐
392326       cuted  by  salt, and fixed a great deal of my poor spelling in the salt
392327       docstrings! Pedro Algarvio has also cleaned up the API, making it  eas‐
392328       ier to embed salt into another application.
392329
392330       The  biggest  addition  to salt found in 0.8.8 is the new state system.
392331       The salt module system has received a new front end which  allows  salt
392332       to be used as a configuration management system. The configuration man‐
392333       agement system allows for system configuration to be  defined  in  data
392334       structures.  The configuration management system, or as it is called in
392335       salt, the “salt state system” supports many of the  features  found  in
392336       other  configuration managers, but allows for system states to be writ‐
392337       ten in a far simpler format, executes at blazing speeds,  and  operates
392338       via  the  salt  minion  matching system. The state system also operates
392339       within the normal scope of salt, and requires no additional  configura‐
392340       tion to use.
392341
392342       The  salt  state system can enforce the following states with many more
392343       to come: Packages Files Services Executing commands Hosts
392344
392345       The system used to define the salt states is based on a data structure,
392346       the  data  structure used to define the salt states has been made to be
392347       as easy to use as possible. The data structure is  defined  by  default
392348       using  a  YAML  file rendered via a Jinja template. This means that the
392349       state definition language supports all of the data structures that YAML
392350       supports,  and  all  of the programming constructs and logic that Jinja
392351       supports. If the user does not like YAML or Jinja  the  states  can  be
392352       defined in yaml-mako, json-jinja, or json-mako. The system used to ren‐
392353       der the states is completely dynamic, and any rendering system  can  be
392354       added  to  the capabilities of Salt, this means that a rendering system
392355       that renders XML data in a cheetah template, or whatever you can  imag‐
392356       ine, can be easily added to the capabilities of salt.
392357
392358       The  salt  state system also supports isolated environments, as well as
392359       matching code from several environments to a single salt minion.
392360
392361       The feature base for Salt has grown quite a bit since my  last  serious
392362       documentation  push.  As  we approach 0.9.0 the goals are becoming very
392363       clear, and the documentation needs a lot of work. The  main  goals  for
392364       0.9.0 are to further refine the state system, fix any bugs we find, get
392365       Salt running on as many platforms as we can, and get the  documentation
392366       filled out. There is a lot more to come as Salt moves forward to encap‐
392367       sulate a much larger scope, while  maintaining  supreme  usability  and
392368       simplicity.
392369
392370       If  you  would  like  a more complete overview of Salt please watch the
392371       Salt presentation: Slides:
392372
392373       -Thomas S Hatch
392374
392375   Salt 0.8.9 Release Notes
392376       Salt 0.8.9 has finally arrived! Unfortunately this is much later than I
392377       had  hoped  to  release  0.8.9,  life has been very crazy over the last
392378       month. But despite challenges, Salt has moved forward!
392379
392380       This release, as expected, adds few new features and many  refinements.
392381       One of the most exciting aspect of this release is that the development
392382       community for salt has grown a great deal and much of the code is  from
392383       contributors.
392384
392385       Also,  I have filled out the documentation a great deal. So information
392386       on States is properly documented, and much of  the  documentation  that
392387       was out of date has been filled in.
392388
392389   Download!
392390       The Salt source can be downloaded from PyPI:
392391
392392       https://pypi.python.org/packages/source/s/salt/salt-0.8.9.tar.gz
392393
392394       Here s the md5sum:
392395
392396       7d5aca4633bc22f59045f59e82f43b56
392397
392398       For  instructions  on  how  to  set up Salt please see the installation
392399       instructions.
392400
392401   New Features
392402   Salt Run
392403       A big feature is the addition of Salt run, the salt-run command  allows
392404       for  master  side  execution  modules  to  be made that gather specific
392405       information or execute custom routines from the master.
392406
392407       Documentation for salt-run can be found here
392408
392409   Refined Outputters
392410       One problem often complained about in salt was the fact that the output
392411       was  so  messy.  Thanks to help from Jeff Schroeder a cleaner interface
392412       for the command output for the Salt CLI has been made. This new  inter‐
392413       face  makes adding new printout formats easy and additions to the capa‐
392414       bilities of minion modules makes it possible to set the  printout  mode
392415       or outputter for functions in minion modules.
392416
392417   Cross Calling Salt Modules
392418       Salt  modules can now call each other, the __salt__ dict has been added
392419       to the predefined references in minion modules.  This  new  feature  is
392420       documented in the modules documentation.
392421
392422   Watch Option Added to Salt State System
392423       Now  in Salt states you can set the watch option, this will allow watch
392424       enabled states to change based on a change in the other defined states.
392425       This is similar to subscribe and notify statements in puppet.
392426
392427   Root Dir Option
392428       Travis  Cline has added the ability to define the option root_dir which
392429       allows the salt minion to operate in a subdir. This is a strong move in
392430       supporting the minion running as an unprivileged user
392431
392432   Config Files Defined in Variables
392433       Thanks  again to Travis Cline, the master and minion configuration file
392434       locations can be defined in environment variables now.
392435
392436   New Modules
392437       Quite a few new modules, states, returners, and runners have been made.
392438
392439   New Minion Modules
392440   apt
392441       Support for apt-get has been added, this adds greatly  improved  Debian
392442       and Ubuntu support to Salt!
392443
392444   useradd and groupadd
392445       Support for manipulating users and groups on Unix-like systems.
392446
392447   moosefs
392448       Initial  support  for reporting on aspects of the distributed file sys‐
392449       tem,  MooseFS.  For   more   information   on   MooseFS   please   see:
392450       http://www.moosefs.org
392451
392452       Thanks to Joseph Hall for his work on MooseFS support.
392453
392454   mount
392455       Manage mounts and the fstab.
392456
392457   puppet
392458       Execute puppet on remote systems.
392459
392460   shadow
392461       Manipulate and manage the user password file.
392462
392463   ssh
392464       Interact with ssh keys.
392465
392466   New States
392467   user and group
392468       Support for managing users and groups in Salt States.
392469
392470   mount
392471       Enforce mounts and the fstab.
392472
392473   New Returners
392474   mongo_return
392475       Send the return information to a MongoDB server.
392476
392477   New Runners
392478   manage
392479       Display minions that are up or down.
392480
392481   Salt 0.9.0 Release Notes
392482       release
392483              2011-08-27
392484
392485       Salt 0.9.0 is here. This is an exciting release, 0.9.0 includes the new
392486       network topology features allowing peer salt commands  and  masters  of
392487       masters via the syndic interface.
392488
392489       0.9.0  also  introduces  many more modules, improvements to the API and
392490       improvements to the ZeroMQ systems.
392491
392492   Download!
392493       The Salt source can be downloaded from PyPI:
392494
392495       https://pypi.python.org/packages/source/s/salt/salt-0.9.0.tar.gz
392496
392497       Here is the md5sum:
392498
392499       9a925da04981e65a0f237f2e77ddab37
392500
392501       For instructions on how to set up  Salt  please  see  the  installation
392502       instructions.
392503
392504   New Features
392505   Salt Syndic
392506       The  new  Syndic  interface allows a master to be commanded via another
392507       higher level salt master. This is a powerful solution allowing a master
392508       control  structure to exist, allowing salt to scale to much larger lev‐
392509       els then before.
392510
392511   Peer Communication
392512       0.9.0 introduces the capability for a minion to call a  publication  on
392513       the  master  and  receive  the return from another set of minions. This
392514       allows salt to act as a communication channel between minions and as  a
392515       general infrastructure message bus.
392516
392517       Peer  communication is turned off by default but can be enabled via the
392518       peer option in the master configuration file. Documentation on the  new
392519       Peer interface.
392520
392521   Easily Extensible API
392522       The  minion  and  master classes have been redesigned to allow for spe‐
392523       cialized minion and master servers to be easily created. An example  on
392524       how this is done for the master can be found in the master.py salt mod‐
392525       ule:
392526
392527       https://github.com/saltstack/salt/blob/master/salt/master.py
392528
392529       The Master class extends the SMaster class and set up the  main  master
392530       server.
392531
392532       The  minion  functions can now also be easily added to another applica‐
392533       tion via the SMinion class, this class can be found  in  the  minion.py
392534       module:
392535
392536       https://github.com/saltstack/salt/blob/master/salt/minion.py
392537
392538   Cleaner Key Management
392539       This  release changes some of the key naming to allow for multiple mas‐
392540       ter keys to be held based on the type of minion  gathering  the  master
392541       key.
392542
392543       The  -d option has also been added to the salt-key command allowing for
392544       easy removal of accepted public keys.
392545
392546       The --gen-keys option is now  available  as  well  for  salt-key,  this
392547       allows for a salt specific RSA key pair to be easily generated from the
392548       command line.
392549
392550   Improved 0MQ Master Workers
392551       The 0MQ worker system has been further refined to be  faster  and  more
392552       robust.   This  new  system  has been able to handle a much larger load
392553       than the previous setup. The new system uses the IPC  protocol  in  0MQ
392554       instead of TCP.
392555
392556   New Modules
392557       Quite a few new modules have been made.
392558
392559   New Minion Modules
392560   apache
392561       Work  directly  with  apache  servers,  great for managing balanced web
392562       servers
392563
392564   cron
392565       Read out the contents of a systems crontabs
392566
392567   mdadm
392568       Module to manage raid devices in Linux, appears as the raid module
392569
392570   mysql
392571       Gather simple data from MySQL databases
392572
392573   ps
392574       Extensive utilities for managing processes
392575
392576   publish
392577       Used by the peer interface to allow minions to make publications
392578
392579   Salt 0.9.1 Release Notes
392580       release
392581              2011-08-29
392582
392583   Salt 0.9.2 Release Notes
392584       release
392585              2011-09-17
392586
392587       Salt 0.9.2 has arrived! 0.9.2 is primarily a bugfix release, the excit‐
392588       ing component in 0.9.2 is greatly improved support for salt states. All
392589       of the salt states interfaces have been more thoroughly tested and  the
392590       new salt-states git repo is growing with example of how to use states.
392591
392592       This release introduces salt states for early developers and testers to
392593       start helping us clean up the states interface and make  it  ready  for
392594       the world!
392595
392596       0.9.2 also fixes a number of bugs found on Python 2.6.
392597
392598   Download!
392599       The Salt source can be downloaded from PyPI:
392600
392601       https://pypi.python.org/packages/source/s/salt/salt-0.9.2.tar.gz
392602
392603       For  instructions  on  how  to  set up Salt please see the installation
392604       instructions.
392605
392606   New Features
392607   Salt-Call Additions
392608       The salt-call command has received an overhaul, it now hooks  into  the
392609       outputter  system so command output looks clean, and the logging system
392610       has been hooked into salt-call, so the -l  option  allows  the  logging
392611       output from salt minion functions to be displayed.
392612
392613       The end result is that the salt-call command can execute the state sys‐
392614       tem and return clean output:
392615
392616          # salt-call state.highstate
392617
392618   State System Fixes
392619       The state system has been tested and better refined. As of this release
392620       the  state  system is ready for early testers to start playing with. If
392621       you are interested in working with the state system  please  check  out
392622       the (still very small) salt-states GitHub repo:
392623
392624       https://github.com/saltstack/salt-states
392625
392626       This  git  repo  is the active development branch for determining how a
392627       clean salt-state database should look and act.  Since  the  salt  state
392628       system  is  still very young a lot of help is still needed here. Please
392629       fork the salt-states repo and help us develop a truly large  and  scal‐
392630       able system for configuration management!
392631
392632   Notable Bug Fixes
392633   Python 2.6 String Formatting
392634       Python 2.6 does not support format strings without an index identifier,
392635       all of them have been repaired.
392636
392637   Cython Loading Disabled by Default
392638       Cython loading requires a development tool chain to be installed on the
392639       minion,  requiring  this  by  default  can cause problems for most Salt
392640       deployments. If Cython auto loading is  desired  it  will  need  to  be
392641       turned on in the minion config.
392642
392643   Salt 0.9.3 Release Notes
392644       release
392645              2011-11-05
392646
392647       Salt  0.9.3  is  finally  arrived. This is another big step forward for
392648       Salt, new features range from proper FreeBSD support to  fixing  issues
392649       seen when attaching a minion to a master over the Internet.
392650
392651       The biggest improvements in 0.9.3 though can be found in the state sys‐
392652       tem, it has progressed from something ready for early testers to a sys‐
392653       tem  ready to compete with platforms such as Puppet and Chef. The back‐
392654       bone of the state system has been greatly refined and many new features
392655       are available.
392656
392657   Download!
392658       The Salt source can be downloaded from PyPI:
392659
392660       https://pypi.python.org/packages/source/s/salt/salt-0.9.3.tar.gz
392661
392662       For  instructions  on  how  to  set up Salt please see the installation
392663       instructions.
392664
392665   New Features
392666   WAN Support
392667       Recently more people have been testing Salt minions connecting to  Salt
392668       Masters  over  the  Internet.  It was found that Minions would commonly
392669       loose their connection to the master when working  over  the  internet.
392670       The  minions  can now detect if the connection has been lost and recon‐
392671       nect to the master, making WAN connections much more reliable.
392672
392673   State System Fixes
392674       Substantial testing has gone into the state system and it is ready  for
392675       real  world usage. A great deal has been added to the documentation for
392676       states and the modules and functions  available  to  states  have  been
392677       cleanly documented.
392678
392679       A  number  of State System bugs have also been founds and repaired, the
392680       output from the state system has also  been  refined  to  be  extremely
392681       clear and concise.
392682
392683       Error  reporting  has  also  been introduced, issues found in sls files
392684       will now be clearly reported when executing Salt States.
392685
392686   Extend Declaration
392687       The Salt States have also gained the extend declaration. This  declara‐
392688       tion  allows  for  states to be cleanly modified in a post environment.
392689       Simply said, if there is an apache.sls file that  declares  the  apache
392690       service, then another sls can include apache and then extend it:
392691
392692          include:
392693            - apache
392694
392695          extend:
392696            apache:
392697              service:
392698                - require:
392699                  - pkg: mod_python
392700
392701          mod_python:
392702            pkg:
392703              - installed
392704
392705       The notable behavior with the extend functionality is that it literally
392706       extends or overwrites a declaration set up in another sls module.  This
392707       means  that  Salt  will  behave  as  though the modifications were made
392708       directly to the apache sls.  This ensures that the  apache  service  in
392709       this example is directly tied to all requirements.
392710
392711   Highstate Structure Specification
392712       This  release  comes  with  a clear specification of the Highstate data
392713       structure that is used  to  declare  Salt  States.  This  specification
392714       explains everything that can be declared in the Salt SLS modules.
392715
392716       The  specification  is  extremely  simple, and illustrates how Salt has
392717       been able to fulfill the requirements of a central  configuration  man‐
392718       ager within a simple and easy to understand format and specification.
392719
392720   SheBang Renderer Switch
392721       It  came  to  our attention that having many renderers means that there
392722       may be a situation where more than one State Renderer should be  avail‐
392723       able within a single State Tree.
392724
392725       The  method chosen to accomplish this was something already familiar to
392726       developers and systems administrators, a SheBang. The Python State Ren‐
392727       derer displays this new capability.
392728
392729   Python State Renderer
392730       Until  now  Salt  States  could  only be declared in yaml or json using
392731       Jinja or Mako. A new, very powerful, renderer has been added, making it
392732       possible to write Salt States in pure Python:
392733
392734          #!py
392735
392736          def run():
392737              '''
392738              Install the python-mako package
392739              '''
392740              return {'include': ['python'],
392741                      'python-mako': {'pkg': ['installed']}}
392742
392743       This  renderer  is used by making a run function that returns the High‐
392744       state data structure. Any capabilities of Python can be  used  in  pure
392745       Python sls modules.
392746
392747       This example of a pure Python sls module is the same as this example in
392748       yaml:
392749
392750          include:
392751            - python
392752
392753          python-mako:
392754            pkg:
392755              - installed
392756
392757   FreeBSD Support
392758       Additional support has been added for FreeBSD,  this  is  Salt's  first
392759       branch  out  of  the  Linux  world  and proves the viability of Salt on
392760       non-Linux platforms.
392761
392762       Salt remote execution already worked on FreeBSD, and should work  with‐
392763       out issue on any Unix-like platform. But this support comes in the form
392764       of package management and user support, so Salt  States  also  work  on
392765       FreeBSD now.
392766
392767       The new freebsdpkg module provides package management support for Free‐
392768       BSD and the new pw_user and pw_group provide user and group management.
392769
392770   Module and State Additions
392771   Cron Support
392772       Support for managing the system crontab has  been  added,  declaring  a
392773       cron state can be done easily:
392774
392775          date > /tmp/datestamp:
392776            cron:
392777              - present
392778              - user: fred
392779              - minute: 5
392780              - hour: 3
392781
392782   File State Additions
392783       The  file  state has been given a number of new features, primarily the
392784       directory, recurse, symlink, and absent functions.
392785
392786       file.directory
392787              Make sure that a directory exists and has the right permissions.
392788
392789                 /srv/foo:
392790                   file:
392791                     - directory
392792                     - user: root
392793                     - group: root
392794                     - mode: 1755
392795
392796       file.symlink
392797              Make a symlink.
392798
392799                 /var/lib/www:
392800                   file:
392801                     - symlink
392802                     - target: /srv/www
392803                     - force: True
392804
392805       file.recurse
392806              The recurse state function will recursively download a directory
392807              on the master file server and place it on the minion. Any change
392808              in the files on the master will be pushed  to  the  minion.  The
392809              recurse function is very powerful and has been tested by pushing
392810              out the full Linux kernel source.
392811
392812                 /opt/code:
392813                   file:
392814                     - recurse
392815                     - source: salt://linux
392816
392817       file.absent
392818              Make sure that the  file  is  not  on  the  system,  recursively
392819              deletes directories, files, and symlinks.
392820
392821                 /etc/httpd/conf.d/somebogusfile.conf:
392822                   file:
392823                     - absent
392824
392825   Sysctl Module and State
392826       The  sysctl module and state allows for sysctl components in the kernel
392827       to be managed easily. the sysctl module contains  the  following  func‐
392828       tions:
392829
392830       sysctl.show
392831              Return a list of sysctl parameters for this minion
392832
392833       sysctl.get
392834              Return a single sysctl parameter for this minion
392835
392836       sysctl.assign
392837              Assign a single sysctl parameter for this minion
392838
392839       sysctl.persist
392840              Assign and persist a simple sysctl parameter for this minion
392841
392842       The sysctl state allows for sysctl parameters to be assigned:
392843
392844          vm.swappiness:
392845            sysctl:
392846              - present
392847              - value: 20
392848
392849   Kernel Module Management
392850       A  module  for  managing  Linux  kernel modules has been added. The new
392851       functions are as follows:
392852
392853       kmod.available
392854              Return a list of all available kernel modules
392855
392856       kmod.check_available
392857              Check to see if the specified kernel module is available
392858
392859       kmod.lsmod
392860              Return a dict containing information about currently loaded mod‐
392861              ules
392862
392863       kmod.load
392864              Load the specified kernel module
392865
392866       kmod.remove
392867              Unload the specified kernel module
392868
392869       The kmod state can enforce modules be either present or absent:
392870
392871          kvm_intel:
392872            kmod:
392873              - present
392874
392875   Ssh Authorized Keys
392876       The  ssh_auth  state can distribute ssh authorized keys out to minions.
392877       Ssh authorized keys can be present or absent.
392878
392879          AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyYvlRBsJdDOo49CNfhlWHWXQRqul6rwL4KIuPrhY7hBw0tV7UNC7J9IZRNO4iGod9C+OYutuWGJ2x5YNf7P4uGhH9AhBQGQ4LKOLxhDyT1OrDKXVFw3wgY3rHiJYAbd1PXNuclJHOKL27QZCRFjWSEaSrUOoczvAAAAFQD9d4jp2dCJSIseSkk4Lez3LqFcqQAAAIAmovHIVSrbLbXAXQE8eyPoL9x5C+x2GRpEcA7AeMH6bGx/xw6NtnQZVMcmZIre5Elrw3OKgxcDNomjYFNHuOYaQLBBMosyO++tJe1KTAr3A2zGj2xbWO9JhEzu8xvSdF8jRu0N5SRXPpzSyU4o1WGIPLVZSeSq1VFTHRT4lXB7PQAAAIBXUz6ZO0bregF5xtJRuxUN583HlfQkXvxLqHAGY8WSEVlTnuG/x75wolBDbVzeTlxWxgxhafj7P6Ncdv25Wz9wvc6ko/puww0b3rcLNqK+XCNJlsM/7lB8Q26iK5mRZzNsGeGwGTyzNIMBekGYQ5MRdIcPv5dBIP/1M6fQDEsAXQ==:
392880            ssh_auth:
392881              - present
392882              - user: frank
392883              - enc: dsa
392884              - comment: 'Frank's key'
392885
392886   Salt 0.9.4 Release Notes
392887       release
392888              2011-11-27
392889
392890       Salt 0.9.4 has arrived. This is a critical update that repairs a number
392891       of  key  bugs  found  in  0.9.3. But this update is not without feature
392892       additions as well! 0.9.4 adds support for Gentoo  portage  to  the  pkg
392893       module  and  state  system. Also there are 2 major new state additions,
392894       the failhard option and the ability to set  up  finite  state  ordering
392895       with the order option.
392896
392897       This release also sees our largest increase in community contributions.
392898       These contributors have and continue to be the life blood of  the  Salt
392899       project, and the team continues to grow. I want to put out a big thanks
392900       to our new and existing contributors.
392901
392902   Download!
392903       The Salt source can be downloaded from PyPI:
392904
392905       https://pypi.python.org/packages/source/s/salt/salt-0.9.4.tar.gz
392906
392907       For instructions on how to set up  Salt  please  see  the  installation
392908       instructions.
392909
392910   New Features
392911   Failhard State Option
392912       Normally, when a state fails Salt continues to execute the remainder of
392913       the defined states and will only refuse to execute states that  require
392914       the failed state.
392915
392916       But  the  situation may exist, where you would want all state execution
392917       to stop if a single state execution fails. The capability to do this is
392918       called failing hard.
392919
392920   State Level Failhard
392921       A  single  state can have a failhard set, this means that if this indi‐
392922       vidual state fails that all state execution will immediately stop. This
392923       is a great thing to do if there is a state that sets up a critical con‐
392924       fig file and setting a require for each state  that  reads  the  config
392925       would  be  cumbersome.   A  good  example of this would be setting up a
392926       package manager early on:
392927
392928          /etc/yum.repos.d/company.repo:
392929            file:
392930              - managed
392931              - source: salt://company/yumrepo.conf
392932              - user: root
392933              - group: root
392934              - mode: 644
392935              - order: 1
392936              - failhard: True
392937
392938       In this situation, the yum repo is going to be configured before  other
392939       states,  and  if  it  fails  to lay down the config file, than no other
392940       states will be executed.
392941
392942   Global Failhard
392943       It may be desired to have failhard be applied to every  state  that  is
392944       executed,  if  this is the case, then failhard can be set in the master
392945       configuration file. Setting failhard in the master  configuration  file
392946       will  result  in failing hard when any minion gathering states from the
392947       master have a state fail.
392948
392949       This is NOT the default behavior, normally Salt will only  fail  states
392950       that require a failed state.
392951
392952       Using  the  global  failhard is generally not recommended, since it can
392953       result in states not being executed or even checked.  It  can  also  be
392954       confusing to see states failhard if an admin is not actively aware that
392955       the failhard has been set.
392956
392957       To use the global failhard set failhard: True in the master  configura‐
392958       tion
392959
392960   Finite Ordering of State Execution
392961       When creating salt sls files, it is often important to ensure that they
392962       run in a specific order. While states will always execute in  the  same
392963       order, that order is not necessarily defined the way you want it.
392964
392965       A  few  tools exist in Salt to set up the correct state ordering, these
392966       tools consist of requisite declarations and order options.
392967
392968   The Order Option
392969       Before using the order option, remember  that  the  majority  of  state
392970       ordering should be done with requisite statements, and that a requisite
392971       statement will override an order option.
392972
392973       The order option is used by adding an order number to a state  declara‐
392974       tion with the option order:
392975
392976          vim:
392977            pkg:
392978              - installed
392979              - order: 1
392980
392981       By  adding the order option to 1 this ensures that the vim package will
392982       be installed in tandem with any other  state  declaration  set  to  the
392983       order 1.
392984
392985       Any  state  declared without an order option will be executed after all
392986       states with order options are executed.
392987
392988       But this construct can only handle ordering states from the  beginning.
392989       Sometimes  you  may  want to send a state to the end of the line, to do
392990       this set the order to last:
392991
392992          vim:
392993            pkg:
392994              - installed
392995              - order: last
392996
392997       Substantial testing has gone into the state system and it is ready  for
392998       real  world usage. A great deal has been added to the documentation for
392999       states and the modules and functions  available  to  states  have  been
393000       cleanly documented.
393001
393002       A  number  of State System bugs have also been founds and repaired, the
393003       output from the state system has also  been  refined  to  be  extremely
393004       clear and concise.
393005
393006       Error  reporting  has  also  been introduced, issues found in sls files
393007       will now be clearly reported when executing Salt States.
393008
393009   Gentoo Support
393010       Additional experimental support has been  added  for  Gentoo.  This  is
393011       found in the contribution from Doug Renn, aka nestegg.
393012
393013   Salt 0.9.5 Release Notes
393014       release
393015              2012-01-15
393016
393017       Salt  0.9.5  is  one of the largest steps forward in the development of
393018       Salt.
393019
393020       0.9.5 comes with many milestones, this release has seen  the  community
393021       of developers grow out to an international team of 46 code contributors
393022       and has many feature additions, feature  enhancements,  bug  fixes  and
393023       speed improvements.
393024
393025       WARNING:
393026          Be sure to read the upgrade instructions about the switch to msgpack
393027          before upgrading!
393028
393029   Community
393030       Nothing has proven to have more value to the development of  Salt  that
393031       the  outstanding  community  that has been growing at such a great pace
393032       around Salt.  This has proven not only that Salt has great  value,  but
393033       also  the  expandability  of  Salt  is  as  exponential as I originally
393034       intended.
393035
393036       0.9.5 has received over 600 additional commits since 0.9.4 with a swath
393037       of  new  committers.  The following individuals have contributed to the
393038       development of 0.9.5:
393039
393040       · Aaron Bull Schaefer
393041
393042       · Antti Kaihola
393043
393044       · Bas Tichelaar
393045
393046       · Brad Barden
393047
393048       · Brian Wagner
393049
393050       · Byron Clark
393051
393052       · Chris Scheller
393053
393054       · Christer Edwards
393055
393056       · Clint Savage
393057
393058       · Corey Quinn
393059
393060       · David Boucha
393061
393062       · Eivind Uggedal
393063
393064       · Eric Poelke
393065
393066       · Evan Borgstrom
393067
393068       · Jed Glazner
393069
393070       · Jeff Schroeder
393071
393072       · Jeffrey C. Ollie
393073
393074       · Jonas Buckner
393075
393076       · Kent Tenney
393077
393078       · Martin Schnabel
393079
393080       · Maxim Burgerhout
393081
393082       · Mitch Anderson
393083
393084       · Nathaniel Whiteinge
393085
393086       · Seth House
393087
393088       · Thomas S Hatch
393089
393090       · Thomas Schreiber
393091
393092       · Tor Hveem
393093
393094       · lzyeval
393095
393096       · syphernl
393097
393098       This makes 21 new developers since 0.9.4 was released!
393099
393100       To keep  up  with  the  growing  community  follow  Salt  on  Ohloh  (‐
393101       http://www.ohloh.net/p/salt),  to  join the Salt development community,
393102       fork     Salt     on      GitHub,      and      get      coding      (‐
393103       https://github.com/saltstack/salt)!
393104
393105   Major Features
393106   SPEED! Pickle to msgpack
393107       For a few months now we have been talking about moving away from Python
393108       pickles for network serialization, but a preferred serialization format
393109       had  not  yet been found. After an extensive performance testing period
393110       involving everything from JSON to  protocol  buffers,  a  clear  winner
393111       emerged.   Message Pack (http://msgpack.org/) proved to not only be the
393112       fastest and most compact, but also the most "salt like".  Message  Pack
393113       is simple, and the code involved is very small. The msgpack library for
393114       Python has been added directly to Salt.
393115
393116       This move introduces a few changes to  Salt.  First  off,  Salt  is  no
393117       longer  a "noarch" package, since the msgpack lib is written in C. Salt
393118       0.9.5 will also have compatibility issues with 0.9.4 with  the  default
393119       configuration.
393120
393121       We  have  gone  through  great lengths to avoid backwards compatibility
393122       issues with Salt, but changing the serialization medium  was  going  to
393123       create  issues  regardless. Salt 0.9.5 is somewhat backwards compatible
393124       with earlier minions. A 0.9.5 master can  command  older  minions,  but
393125       only  if  the  serial config value in the master is set to pickle. This
393126       will tell the master to publish messages  in  pickle  format  and  will
393127       allow  the  master  to receive messages in both msgpack and pickle for‐
393128       mats.
393129
393130       Therefore the suggested  methods  for  upgrading  are  either  to  just
393131       upgrade everything at once, or:
393132
393133       1. Upgrade the master to 0.9.5
393134
393135       2. Set serial to pickle in the master config
393136
393137       3. Upgrade the minions
393138
393139       4. Remove the serial option from the master config
393140
393141       Since  pickles can be used as a security exploit the ability for a mas‐
393142       ter to accept pickles from minions at all will be removed in  a  future
393143       release.
393144
393145   C Bindings for YAML
393146       All  of  the  YAML rendering is now done with the YAML C bindings. This
393147       speeds up all of the sls files when running states.
393148
393149   Experimental Windows Support
393150       David Boucha has worked tirelessly to bring initial support to Salt for
393151       Microsoft  Windows operating systems. Right now the Salt Minion can run
393152       as a native Windows service and accept commands.
393153
393154       In the weeks and months to come Windows will receive the full treatment
393155       and  will have support for Salt States and more robust support for man‐
393156       aging Windows systems. This is a big step  forward  for  Salt  to  move
393157       entirely  outside  of the Unix world, and proves Salt is a viable cross
393158       platform solution. Big Thanks to Dave for his contribution here!
393159
393160   Dynamic Module Distribution
393161       Many Salt users have expressed  the  desire  to  have  Salt  distribute
393162       in-house  modules,  states, renderers, returners, and grains. This sup‐
393163       port has been added in a number of ways:
393164
393165   Modules via States
393166       Now when salt modules are deployed to a minion via the state system  as
393167       a  file,  then the modules will be automatically loaded into the active
393168       running minion - no restart required -  and  into  the  active  running
393169       state.  So  custom  state  modules can be deployed and used in the same
393170       state run.
393171
393172   Modules via Module Environment Directories
393173       Under the file_roots each environment can now have directories that are
393174       used  to deploy large groups of modules. These directories sync modules
393175       at the beginning of a state run on  the  minion,  or  can  be  manually
393176       synced via the Salt module salt.modules.saltutil.sync_all.
393177
393178       The directories are named:
393179
393180       · _modules
393181
393182       · _states
393183
393184       · _grains
393185
393186       · _renderers
393187
393188       · _returners
393189
393190       The modules are pushed to their respective scopes on the minions.
393191
393192   Module Reloading
393193       Modules can now be reloaded without restarting the minion, this is done
393194       by calling the salt.modules.sys.reload_modules function.
393195
393196       But wait, there's more! Now when a salt module of any type is added via
393197       states the modules will be automatically reloaded, allowing for modules
393198       to be laid down with states and then immediately used.
393199
393200       Finally, all modules are reloaded when modules are dynamically distrib‐
393201       uted from the salt master.
393202
393203   Enable / Disable Added to Service
393204       A  great  deal  of  demand has existed for adding the capability to set
393205       services to be started at boot in the service module. This feature also
393206       comes  with an overhaul of the service modules and initial systemd sup‐
393207       port.
393208
393209       This means that the service state can now accept - enable: True to make
393210       sure  a service is enabled at boot, and - enable: False to make sure it
393211       is disabled.
393212
393213   Compound Target
393214       A new target type has been added to the lineup, the compound target. In
393215       previous versions the desired minions could only be targeted via a sin‐
393216       gle specific target type, but now many  target  specifications  can  be
393217       declared.
393218
393219       These  targets  can  also  be separated by and/or operators, so certain
393220       properties can be used to omit a node:
393221
393222          salt -C 'webserv* and G@os:Debian or E@db.*' test.ping
393223
393224       will match all minions with ids starting with webserv via  a  glob  and
393225       minions  matching  the  os:Debian grain. Or minions that match the db.*
393226       regular expression.
393227
393228   Node Groups
393229       Often the convenience of having a predefined group of minions  to  exe‐
393230       cute targets on is desired. This can be accomplished with the new node‐
393231       groups feature. Nodegroups allow for predefined compound targets to  be
393232       declared in the master configuration file:
393233
393234          nodegroups:
393235            group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
393236            group2: 'G@os:Debian and foo.domain.com'
393237
393238       And then used via the -N option:
393239
393240          salt -N group1 test.ping
393241
393242   Minion Side Data Store
393243       The data module introduces the initial approach into storing persistent
393244       data on the minions, specific to the minions. This allows for  data  to
393245       be  stored  on minions that can be accessed from the master or from the
393246       minion.
393247
393248       The Minion datastore is young, and will eventually provide an interface
393249       similar to a more mature key/value pair server.
393250
393251   Major Grains Improvement
393252       The  Salt  grains  have  been overhauled to include a massive amount of
393253       extra data.  this includes hardware data, os  data  and  salt  specific
393254       data.
393255
393256   Salt -Q is Useful Now
393257       In  the  past  the salt query system, which would display the data from
393258       recent executions would be displayed in pure Python, and it was unread‐
393259       able.
393260
393261       0.9.5  has  added  the outputter system to the -Q option, thus enabling
393262       the salt query system to return readable output.
393263
393264   Packaging Updates
393265       Huge strides have been made in packaging Salt for distributions.  These
393266       additions  are  thanks to our wonderful community where the work to set
393267       up packages has proceeded tirelessly.
393268
393269   FreeBSD
393270       Salt on FreeBSD? There a port for that:
393271
393272       http://svnweb.freebsd.org/ports/head/sysutils/py-salt/
393273
393274       This port was developed and added by Christer Edwards. This also  marks
393275       the first time Salt has been included in an upstream packaging system!
393276
393277   Fedora and Red Hat Enterprise
393278       Salt  packages  have  been prepared for inclusion in the Fedora Project
393279       and in EPEL for Red Hat Enterprise 5 and  6.  These  packages  are  the
393280       result of the efforts made by Clint Savage (herlo).
393281
393282   Debian/Ubuntu
393283       A  team  of  many contributors have assisted in developing packages for
393284       Debian and Ubuntu. Salt is still actively seeking inclusion in upstream
393285       Debian  and Ubuntu and the package data that has been prepared is being
393286       pushed through the needed channels for inclusion.
393287
393288       These packages have been prepared with the help of:
393289
393290       · Corey
393291
393292       · Aaron Toponce
393293
393294       · and`
393295
393296   More to Come
393297       We are actively seeking inclusion in more distributions. Primarily get‐
393298       ting Salt into Gentoo, SUSE, OpenBSD, and preparing Solaris support are
393299       all turning into higher priorities.
393300
393301   Refinement
393302       Salt continues to be refined into a faster, more stable and more usable
393303       application.  0.9.5  comes  with more debug logging, more bug fixes and
393304       more complete support.
393305
393306   More Testing, More BugFixes
393307       0.9.5 comes with more bugfixes due to more testing  than  any  previous
393308       release.   The  growing  community  and the introduction a dedicated QA
393309       environment have unearthed many issues that were hiding under the  cov‐
393310       ers.  This  has further refined and cleaned the state interface, taking
393311       care of things from minor visual issues to repairing misleading data.
393312
393313   Custom Exceptions
393314       A custom exception module has been added to throw salt specific  excep‐
393315       tions.  This allows Salt to give much more granular error information.
393316
393317   New Modules
393318   data
393319       The  new data module manages a persistent datastore on the minion.  Big
393320       thanks to bastichelaar for his help refining this module
393321
393322   freebsdkmod
393323       FreeBSD kernel modules can now be managed in the same way Salt  handles
393324       Linux kernel modules.
393325
393326       This module was contributed thanks to the efforts of Christer Edwards
393327
393328   gentoo_service
393329       Support has been added for managing services in Gentoo. Now Gentoo ser‐
393330       vices can  be  started,  stopped,  restarted,  enabled,  disabled,  and
393331       viewed.
393332
393333   pip
393334       The  pip  module  introduces management for pip installed applications.
393335       Thanks goes to whitinge for the addition of the pip module
393336
393337   rh_service
393338       The rh_service module enables Red Hat and Fedora specific service  man‐
393339       agement.   Now  Red  Hat like systems come with extensive management of
393340       the classic init system used by Red Hat
393341
393342   saltutil
393343       The saltutil module has been added as a place to hold functions used in
393344       the maintenance and management of salt itself. Saltutil is used to salt
393345       the salt minion. The saltutil module is presently  used  only  to  sync
393346       extension modules from the master server.
393347
393348   systemd
393349       Systemd  support  has  been  added to Salt, now systems using this next
393350       generation init system are supported on systems running systemd.
393351
393352   virtualenv
393353       The virtualenv module has been added to allow salt  to  create  virtual
393354       Python  environments.   Thanks goes to whitinge for the addition of the
393355       virtualenv module
393356
393357   win_disk
393358       Support for gathering disk information on Microsoft Windows minions The
393359       windows modules come courtesy of Utah_Dave
393360
393361   win_service
393362       The  win_service module adds service support to Salt for Microsoft Win‐
393363       dows services
393364
393365   win_useradd
393366       Salt can now manage local users on Microsoft Windows Systems
393367
393368   yumpkg5
393369       The yumpkg module introduces in 0.9.4 uses the yum API to interact with
393370       the  yum package manager. Unfortunately, on Red Hat 5 systems salt does
393371       not have access to the yum API because the yum  API  is  running  under
393372       Python 2.4 and Salt needs to run under Python 2.6.
393373
393374       The  yumpkg5  module bypasses this issue by shelling out to yum on sys‐
393375       tems where the yum API is not available.
393376
393377   New States
393378   mysql_database
393379       The new mysql_database state adds the  ability  to  systems  running  a
393380       mysql server to manage the existence of mysql databases.
393381
393382       The mysql states are thanks to syphernl
393383
393384   mysql_user
393385       The mysql_user state enables mysql user management.
393386
393387   virtualenv
393388       The  virtualenv  state  can manage the state of Python virtual environ‐
393389       ments.  Thanks to Whitinge for the virtualenv state
393390
393391   New Returners
393392   cassandra_returner
393393       A returner allowing Salt to send data to a cassandra server.  Thanks to
393394       Byron Clark for contributing this returner
393395
393396   Salt 0.9.6 Release Notes
393397       release
393398              2012-01-21
393399
393400       Salt  0.9.6 is a release targeting a few bugs and changes. This is pri‐
393401       marily targeting an issue found in the names declaration in  the  state
393402       system.  But  a few other bugs were also repaired, like missing support
393403       for grains in extmods.
393404
393405       Due to a conflict in distribution packaging msgpack will no  longer  be
393406       bundled with Salt, and is required as a dependency.
393407
393408   New Features
393409   HTTP and ftp support in files.managed
393410       Now  under  the  source  option in the file.managed state a HTTP or ftp
393411       address can be used instead of a file located on the salt master.
393412
393413   Allow Multiple Returners
393414       Now the returner interface can define multiple returners, and will also
393415       return data back to the master, making the process less ambiguous.
393416
393417   Minion Memory Improvements
393418       A number of modules have been taken out of the minion if the underlying
393419       systems required by said modules are not present on the minion  system.
393420       A  number  of  other  modules  need to be stripped out in this same way
393421       which should continue to make the minion more efficient.
393422
393423   Minions Can Locally Cache Return Data
393424       A new option, cache_jobs, has been added to the minion to allow for all
393425       of the historically run jobs to cache on the minion, allowing for look‐
393426       ing up historic returns. By default cache_jobs is set to False.
393427
393428   Pure Python Template Support For file.managed
393429       Templates in the file.managed state can now  be  defined  in  a  Python
393430       script.   This  script  needs  to  have a run function that returns the
393431       string that needs to be in the named file.
393432
393433   Salt 0.9.7 Release Notes
393434       release
393435              2012-02-15
393436
393437       Salt 0.9.7 is here! The latest iteration of Salt brings  more  features
393438       and  many  fixes. This release is a great refinement over 0.9.6, adding
393439       many conveniences under the hood, as well as some  features  that  make
393440       working with Salt much better.
393441
393442       A  few highlights include the new Job system, refinements to the requi‐
393443       site system in states, the mod_init interface for states, external node
393444       classification,  search  path  to  managed files in the file state, and
393445       refinements and additions to dynamic module loading.
393446
393447       0.9.7 also introduces the long developed (and oft  changed)  unit  test
393448       framework and the initial unit tests.
393449
393450   Major Features
393451   Salt Jobs Interface
393452       The  new jobs interface makes the management of running executions much
393453       cleaner and more transparent. Building on the existing execution frame‐
393454       work the jobs system allows clear introspection into the active running
393455       state of the running Salt interface.
393456
393457       The Jobs interface is centered in the new minion side proc system.  The
393458       minions  now store msgpack serialized files under /var/cache/salt/proc.
393459       These files keep track of the active state of processes on the minion.
393460
393461   Functions in the saltutil Module
393462       A number of functions have been added to the saltutil module to  manage
393463       and view the jobs:
393464
393465       running  -  Returns  the data of all running jobs that are found in the
393466       proc directory.
393467
393468       find_job - Returns specific data about a certain job based on job id.
393469
393470       signal_job - Allows for a given jid to be sent a signal.
393471
393472       term_job - Sends a termination signal (SIGTERM, 15) to the process con‐
393473       trolling the specified job.
393474
393475       kill_job  Sends  a  kill signal (SIGKILL, 9) to the process controlling
393476       the specified job.
393477
393478   The jobs Runner
393479       A convenience runner front end and reporting system has been  added  as
393480       well.   The  jobs runner contains functions to make viewing data easier
393481       and cleaner.
393482
393483       The jobs runner contains a number of functions...
393484
393485   active
393486       The active function runs saltutil.running on all  minions  and  formats
393487       the  return  data about all running jobs in a much more usable and com‐
393488       pact format.  The active function will  also  compare  jobs  that  have
393489       returned  and jobs that are still running, making it easier to see what
393490       systems have completed a job and what systems are  still  being  waited
393491       on.
393492
393493   lookup_jid
393494       When  jobs  are executed the return data is sent back to the master and
393495       cached.  By default is cached for 24 hours, but this can be  configured
393496       via the keep_jobs option in the master configuration.
393497
393498       Using  the lookup_jid runner will display the same return data that the
393499       initial job invocation with the salt command would display.
393500
393501   list_jobs
393502       Before finding a historic job, it may be required to find the  job  id.
393503       list_jobs  will  parse the cached execution data and display all of the
393504       job data for jobs that have already, or partially returned.
393505
393506   External Node Classification
393507       Salt  can  now  use  external  node  classifiers  like  Cobbler's  cob‐
393508       bler-ext-nodes.
393509
393510       Salt  uses specific data from the external node classifier. In particu‐
393511       lar the classes value denotes which sls modules to run, and  the  envi‐
393512       ronment value sets to another environment.
393513
393514       An  external node classification can be set in the master configuration
393515       file          via          the          external_nodes          option:
393516       https://salt.readthedocs.io/en/latest/ref/configuration/master.html#external-nodes
393517
393518       External nodes are loaded in addition  to  the  top  files.  If  it  is
393519       intended to only use external nodes, do not deploy any top files.
393520
393521   State Mod Init System
393522       An  issue  arose  with the pkg state. Every time a package was run Salt
393523       would need to refresh the package  database.  This  made  systems  with
393524       slower  package  metadata  refresh  speeds much slower to work with. To
393525       alleviate this issue the mod_init interface  has  been  added  to  salt
393526       states.
393527
393528       The mod_init interface is a function that can be added to a state file.
393529       This function is called with the first state called. In the case of the
393530       pkg  state, the mod_init function sets up a tag which makes the package
393531       database only refresh on the first attempt to install a package.
393532
393533       In a nutshell, the mod_init interface allows a state to run any command
393534       that only needs to be run once, or can be used to set up an environment
393535       for working with the state.
393536
393537   Source File Search Path
393538       The file state continues to be refined, adding speed and  capabilities.
393539       This release adds the ability to pass a list to the source option. This
393540       list is then iterated over until the source  file  is  found,  and  the
393541       first found file is used.
393542
393543       The new syntax looks like this:
393544
393545          /etc/httpd/conf/httpd.conf:
393546            file:
393547              - managed
393548              - source:
393549                - salt://httpd/httpd.conf
393550                - http://myserver/httpd.conf: md5=8c1fe119e6f1fd96bc06614473509bf1
393551
393552       The  source  option  can  take  sources  in the list from the salt file
393553       server as well as an arbitrary web source. If using  an  arbitrary  web
393554       source the checksum needs to be passed as well for file verification.
393555
393556   Refinements to the Requisite System
393557       A  few  discrepancies  were still lingering in the requisite system, in
393558       particular, it was not possible to have a require and a watch requisite
393559       declared in the same state declaration.
393560
393561       This  issue has been alleviated, as well as making the requisite system
393562       run more quickly.
393563
393564   Initial Unit Testing Framework
393565       Because of the module system, and the need to test real scenarios,  the
393566       development  of  a  viable  unit testing system has been difficult, but
393567       unit testing has finally arrived. Only a small amount of  unit  testing
393568       coverage has been developed, much more coverage will be in place soon.
393569
393570       A  huge thanks goes out to those who have helped with unit testing, and
393571       the contributions that have been made to get us where we  are.  Without
393572       these contributions unit tests would still be in the dark.
393573
393574   Compound Targets Expanded
393575       Originally  only  support for and and or were available in the compound
393576       target. 0.9.7 adds the capability to negate compound targets with not.
393577
393578   Nodegroups in the Top File
393579       Previously the nodegroups defined  in  the  master  configuration  file
393580       could not be used to match nodes for states. The nodegroups support has
393581       been expanded and the nodegroups defined in  the  master  configuration
393582       can now be used to match minions in the top file.
393583
393584   Salt 0.9.8 Release Notes
393585       release
393586              2012-03-21
393587
393588       Salt 0.9.8 is a big step forward, with many additions and enhancements,
393589       as well as a number of precursors to advanced future developments.
393590
393591       This version of Salt adds much more power to the command  line,  making
393592       the  old hard timeout issues a thing of the past and adds keyword argu‐
393593       ment support. These additions are also available  in  the  salt  client
393594       API, making the available API tools much more powerful.
393595
393596       The  new  pillar  system allows for data to be stored on the master and
393597       assigned to minions in a granular way similar to the state  system.  It
393598       also  allows  flexibility  for users who want to keep data out of their
393599       state tree similar to 'external lookup' functionality in other tools.
393600
393601       A new way to extend requisites was added, the "requisite in" statement.
393602       This  makes  adding requires or watch statements to external state decs
393603       much easier.
393604
393605       Additions to requisites making them much more powerful have been  added
393606       as well as improved error checking for sls files in the state system. A
393607       new provider system has been added to allow for redirecting  what  mod‐
393608       ules run in the background for individual states.
393609
393610       Support  for  openSUSE has been added and support for Solaris has begun
393611       serious development. Windows support has been significantly enhanced as
393612       well.
393613
393614       The matcher and target systems have received a great deal of attention.
393615       The default behavior of grain matching has changed slightly to  reflect
393616       the rest of salt and the compound matcher system has been refined.
393617
393618       A  number of impressive features with keyword arguments have been added
393619       to both the CLI and to the state system. This makes  states  much  more
393620       powerful and flexible while maintaining the simple configuration every‐
393621       one loves.
393622
393623       The new batch size  capability  allows  for  executions  to  be  rolled
393624       through  a group of targeted minions a percentage or specific number at
393625       a time. This was added to prevent the "thundering  herd"  problem  when
393626       targeting  large numbers of minions for things like service restarts or
393627       file downloads.
393628
393629   Upgrade Considerations
393630   Upgrade Issues
393631       There was a previously missed oversight which could cause a newer  min‐
393632       ion  to  crash an older master. That oversight has been resolved so the
393633       version incompatibility issue will no longer occur. When  upgrading  to
393634       0.9.8 make sure to upgrade the master first, followed by the minions.
393635
393636   Debian/Ubuntu Packages
393637       The  original  Debian/Ubuntu packages were called salt and included all
393638       salt applications. New packages in the ppa are split by function. If an
393639       old  salt  package  is installed then it should be manually removed and
393640       the new split packages need to be freshly installed.
393641
393642       On the master:
393643
393644          # apt-get purge salt
393645          # apt-get install salt-{master,minion}
393646
393647       On the minions:
393648
393649          # apt-get purge salt
393650          # apt-get install salt-minion
393651
393652       And on any Syndics:
393653
393654          # apt-get install salt-syndic
393655
393656       The    official    Salt    PPA    for    Ubuntu    is    located    at:
393657       https://launchpad.net/~saltstack/+archive/salt
393658
393659   Major Features
393660   Pillar
393661       Pillar  offers an interface to declare variable data on the master that
393662       is then assigned to the minions. The pillar data is made  available  to
393663       all modules, states, sls files etc. It is compiled on the master and is
393664       declared using the existing renderer system. This means  that  learning
393665       pillar  should  be  fairly  trivial to those already familiar with salt
393666       states.
393667
393668   CLI Additions
393669       The salt command has received a serious overhaul and is  more  powerful
393670       than  ever. Data is returned to the terminal as it is received, and the
393671       salt command will now wait for  all  running  minions  to  return  data
393672       before stopping.  This makes adding very large --timeout arguments com‐
393673       pletely unnecessary and gets rid of long running  operations  returning
393674       empty {} when the timeout is exceeded.
393675
393676       When  calling  salt via sudo, the user originally running salt is saved
393677       to the log for auditing purposes. This makes it easy  to  see  who  ran
393678       what by just looking through the minion logs.
393679
393680       The  salt-key  command  gained  the  -D  and --delete-all arguments for
393681       removing all keys. Be careful with this one!
393682
393683   Running States Without a Master
393684       The addition of running states without a salt-master has been added  to
393685       0.9.8.  This  feature  allows  for the unmodified salt state tree to be
393686       read locally from a minion. The result is  that  the  UNMODIFIED  state
393687       tree has just become portable, allowing minions to have a local copy of
393688       states or to manage states without a master entirely.
393689
393690       This is accomplished via the new file client  interface  in  Salt  that
393691       allows  for the salt:// URI to be redirected to custom interfaces. This
393692       means that there are now two interfaces for the salt file server, call‐
393693       ing the master or looking in a local, minion defined file_roots.
393694
393695       This new feature can be used by modifying the minion config to point to
393696       a local file_roots and setting the file_client option to local.
393697
393698   Keyword Arguments and States
393699       State modules now accept the **kwargs argument.  This  results  in  all
393700       data  in  a  sls  file  assigned to a state being made available to the
393701       state function.
393702
393703       This passes data in a transparent way back to the modules executing the
393704       logic.   In particular, this allows adding arguments to the pkg.install
393705       module that enable more advanced and granular controls with respect  to
393706       what the state is capable of.
393707
393708       An  example  of  this  along with the new debconf module for installing
393709       ldap client packages on Debian:
393710
393711          ldap-client-packages:
393712            pkg:
393713              - debconf: salt://debconf/ldap-client.ans
393714              - installed
393715              - names:
393716                - nslcd
393717                - libpam-ldapd
393718                - libnss-ldapd
393719
393720   Keyword Arguments and the CLI
393721       In the past it was required that all arguments be passed in the  proper
393722       order  to  the  salt and salt-call commands. As of 0.9.8, keyword argu‐
393723       ments can be passed in the form of kwarg=argument.
393724
393725          # salt -G 'type:dev' git.clone \
393726              repository=https://github.com/saltstack/salt.git cwd=/tmp/salt user=jeff
393727
393728   Matcher Refinements and Changes
393729       A number of fixes and changes have been applied to the Matcher  system.
393730       The  most  noteworthy  is  the  change  in the grain matcher. The grain
393731       matcher used to use a regular expression to match the passed data to  a
393732       grain,  but  now  defaults  to  a shell glob like the majority of match
393733       interfaces in Salt. A new option is available that still uses  the  old
393734       style  regex  matching  to  grain  data called grain-pcre. To use regex
393735       matching in compound matches use the letter P.
393736
393737       For example, this would match any ArchLinux or Fedora minions:
393738
393739          # salt --grain-pcre 'os:(Arch:Fed).*' test.ping
393740
393741       And the associated compound matcher suitable for top.sls is P:
393742
393743          P@os:(Arch|Fed).*
393744
393745       NOTE: Changing the grains matcher from pcre to glob is backwards incom‐
393746       patible.
393747
393748       Support has been added for matching minions with Yahoo's range library.
393749       This is handled by passing range syntax with -R or --range arguments to
393750       salt.
393751
393752       More                           information                          at:
393753       https://github.com/ytoolshed/range/wiki/%22yamlfile%22-module-file-spec
393754
393755   Requisite in
393756       A new means to updating requisite statements has  been  added  to  make
393757       adding  watchers  and  requires to external states easier. Before 0.9.8
393758       the only way to extend the states that were watched by a state  outside
393759       of the sls was to use an extend statement:
393760
393761          include:
393762            - http
393763          extend:
393764            apache:
393765              service:
393766                - watch:
393767                  - pkg: tomcat
393768
393769          tomcat:
393770            pkg:
393771              - installed
393772
393773       But the new Requisite in statement allows for easier extends for requi‐
393774       sites:
393775
393776          include:
393777            - http
393778
393779          tomcat:
393780            pkg:
393781              - installed
393782              - watch_in:
393783                - service: apache
393784
393785       Requisite in is part of the extend system, so still remember to  always
393786       include the sls that is being extended!
393787
393788   Providers
393789       Salt  predetermines what modules should be mapped to what uses based on
393790       the properties of a system. These determinations are generally made for
393791       modules  that  provide  things like package and service management. The
393792       apt module maps to pkg on Debian and the yum  module  maps  to  pkg  on
393793       Fedora for instance.
393794
393795       Sometimes in states, it may be necessary for a non-default module to be
393796       used for the desired functionality. For instance, an Arch Linux  system
393797       may have been set up with systemd support. Instead of using the default
393798       service module detected for Arch Linux, the systemd module can be used:
393799
393800          http:
393801            service:
393802              - running
393803              - enable: True
393804              - provider: systemd
393805
393806       Default providers can also be defined in the minion config file:
393807
393808          providers:
393809            service: systemd
393810
393811       When default providers are passed in  the  minion  config,  then  those
393812       providers will be applied to all functionality in Salt, this means that
393813       the functions called by the minion will use these modules, as  well  as
393814       states.
393815
393816   Requisite Glob Matching
393817       Requisites  can  now be defined with glob expansion. This means that if
393818       there are many requisites, they can be defined on a single line.
393819
393820       To watch all files in a directory:
393821
393822          http:
393823            service:
393824              - running
393825              - enable: True
393826              - watch:
393827                - file: /etc/http/conf.d/*
393828
393829       This  example  will  watch  all  defined  files  that  match  the  glob
393830       /etc/http/conf.d/*
393831
393832   Batch Size
393833       The  new  batch  size option allows commands to be executed while main‐
393834       taining that only so many hosts are executing the command at one  time.
393835       This option can take a percentage or a finite number:
393836
393837          salt '*' -b 10 test.ping
393838
393839          salt -G 'os:RedHat' --batch-size 25% apache.signal restart
393840
393841       This  will  only  run test.ping on 10 of the targeted minions at a time
393842       and then restart apache on 25% of the minions matching os:RedHat  at  a
393843       time  and  work through them all until the task is complete. This makes
393844       jobs like rolling web server restarts behind a load balancer  or  doing
393845       maintenance on BSD firewalls using carp much easier with salt.
393846
393847   Module Updates
393848       This  is  a  list  of  notable, but non-exhaustive updates with new and
393849       existing modules.
393850
393851       Windows support has seen a flurry of support this release cycle.  We've
393852       gained  all  new  file,  network,  and shadow modules. Please note that
393853       these are still a work in progress.
393854
393855       For our ruby users, new rvm and gem modules have been added along  with
393856       the associated states
393857
393858       The virt module gained basic Xen support.
393859
393860       The yum module gained Scientific Linux support.
393861
393862       The pkg module on Debian, Ubuntu, and derivatives force apt to run in a
393863       non-interactive mode. This prevents issues  when  package  installation
393864       waits for confirmation.
393865
393866       A pkg module for OpenSUSE's zypper was added.
393867
393868       The service module on Ubuntu natively supports upstart.
393869
393870       A new debconf module was contributed by our community for more advanced
393871       control over deb package deployments on Debian based distributions.
393872
393873       The mysql.user state and mysql module gained a password_hash argument.
393874
393875       The cmd module and state gained a shell keyword argument for specifying
393876       a shell other than /bin/sh on Linux / Unix systems.
393877
393878       New  git  and mercurial modules have been added for fans of distributed
393879       version control.
393880
393881   In Progress Development
393882   Master Side State Compiling
393883       While we feel strongly that the  advantages  gained  with  minion  side
393884       state  compiling  are  very  critical, it does prevent certain features
393885       that may be desired. 0.9.8 has support for initial  master  side  state
393886       compiling,  but  many more components still need to be developed, it is
393887       hoped that these can be finished for 0.9.9.
393888
393889       The goal is that states can be compiled on both the master and the min‐
393890       ion allowing for compilation to be split between master and minion. Why
393891       will this be great? It will allow storing sensitive data on the  master
393892       and sending it to some minions without all minions having access to it.
393893       This will be good  for  handling  ssl  certificates  on  front-end  web
393894       servers for instance.
393895
393896   Solaris Support
393897       Salt  0.9.8  sees the introduction of basic Solaris support. The daemon
393898       runs well, but grains and more of the modules need updating  and  test‐
393899       ing.
393900
393901   Windows Support
393902       Salt states on windows are now much more viable thanks to contributions
393903       from our community! States for file, service,  local  user,  and  local
393904       group management are more fully fleshed out along with network and disk
393905       modules. Windows users can also now manage registry entries  using  the
393906       new "reg" module.
393907
393908   Salt 0.9.9 Release Notes
393909       release
393910              2012-04-27
393911
393912       0.9.9  is out and comes with some serious bug fixes and even more seri‐
393913       ous features. This release is the last  major  feature  release  before
393914       1.0.0 and could be considered the 1.0.0 release candidate.
393915
393916       A  few  updates  include  more advanced kwargs support, the ability for
393917       salt states to more safely configure a running salt minion, better  job
393918       directory management and the new state test interface.
393919
393920       Many  new tests have been added as well, including the new minion swarm
393921       test that allows for easier testing of Salt working with  large  groups
393922       of  minions.   This means that if you have experienced stability issues
393923       with Salt before, particularly in larger deployments, that  these  bugs
393924       have been tested for, found, and killed.
393925
393926   Major Features
393927   State Test Interface
393928       Until  0.9.9  the only option when running states to see what was going
393929       to be changed was to print out the highstate with  state.show_highstate
393930       and  manually  look it over. But now states can be run to discover what
393931       is going to be changed.
393932
393933       Passing the option test=True to many of the state  functions  will  now
393934       cause  the  salt  state  system  to  only check for what is going to be
393935       changed and report on those changes.
393936
393937          salt '*' state.highstate test=True
393938
393939       Now states that would have made changes report them back in yellow.
393940
393941   State Syntax Update
393942       A shorthand syntax has been added to sls files,  and  it  will  be  the
393943       default  syntax in documentation going forward. The old syntax is still
393944       fully supported and will not be deprecated, but it  is  recommended  to
393945       move to the new syntax in the future. This change moves the state func‐
393946       tion up into the state name using a dot notation. This is in-line  with
393947       how state functions are generally referred to as well:
393948
393949       The new way:
393950
393951          /etc/sudoers:
393952            file.present:
393953              - source: salt://sudo/sudoers
393954              - user: root
393955              - mode: 400
393956
393957   Use and Use_in Requisites
393958       Two new requisite statements are available in 0.9.9. The use and use_in
393959       requisite and requisite-in allow for  the  transparent  duplication  of
393960       data  between  states.  When a state "uses" another state it copies the
393961       other state's  arguments  as  defaults.  This  was  created  in  direct
393962       response  to  the new network state, and allows for many network inter‐
393963       faces to be configured in the same way easily. A simple example:
393964
393965          root_file:
393966            file.absent:
393967              - name: /tmp/nothing
393968              - user: root
393969              - mode: 644
393970              - group: root
393971              - use_in:
393972                - file: /etc/vimrc
393973
393974          fred_file:
393975            file.absent:
393976              - name: /tmp/nothing
393977              - user: fred
393978              - group: marketing
393979              - mode: 660
393980
393981          /files/marketing/district7.rst:
393982            file.present:
393983              - source: salt://marketing/district7.rst
393984              - template: jinja
393985              - use:
393986                - file: fred_file
393987
393988          /etc/vimrc:
393989            file.present:
393990              - source: salt://edit/vimrc
393991
393992       This makes the 2 lower  state  decs  inherit  the  options  from  their
393993       respectively "used" state decs.
393994
393995   Network State
393996       The  new  network state allows for the configuration of network devices
393997       via salt states and the ip salt module. This addition has been given to
393998       the project by Jeff Hutchins and Bret Palsson from Jive Communications.
393999
394000       Currently  the  only network configuration backend available is for Red
394001       Hat based systems, like Red Hat Enterprise, CentOS, and Fedora.
394002
394003   Exponential Jobs
394004       Originally the jobs executed were stored on the master in  the  format:
394005       <cachedir>/jobs/jid/{minion  ids} But this format restricted the number
394006       of jobs in the cache to the number of  subdirectories  allowed  on  the
394007       filesystem. Ext3 for instance limits subdirectories to 32000. To combat
394008       this       the       new       format       for        0.9.9        is:
394009       <cachedir>/jobs/jid_hash[:2]/jid_hash[2:]/{minion  ids} So that now the
394010       number of maximum jobs that can be run before the  cleanup  cycle  hits
394011       the job directory is substantially higher.
394012
394013   ssh_auth Additions
394014       The  original ssh_auth state was limited to accepting only arguments to
394015       apply to a public key, and the key itself. This was restrictive due  to
394016       the  way  the  we learned that many people were using the state, so the
394017       key section has been expanded to accept options and  arguments  to  the
394018       key  that  over ride arguments passed in the state. This gives substan‐
394019       tial power to using ssh_auth with names:
394020
394021          sshkeys:
394022            ssh_auth:
394023              - present
394024              - user: backup
394025              - enc: ssh-dss
394026              - options:
394027                - option1="value1"
394028                - option2="value2 flag2"
394029              - comment: backup
394030              - names:
394031                - AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0111==
394032                - AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0222== override
394033                - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0333== override
394034                - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0444==
394035                - option3="value3",option4="value4 flag4" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0555== override
394036                - option3="value3" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0666==
394037
394038   LocalClient Additions
394039       To follow up the recent additions in 0.9.8 of  additional  kwargs  sup‐
394040       port, 0.9.9 also adds the capability to send kwargs into commands via a
394041       dict.  This addition to the LocalClient api can be used like so:
394042
394043          import salt.client
394044
394045          client = salt.client.LocalClient('/etc/salt/master')
394046          ret = client.cmd('*', 'cmd.run', ['ls -l'], kwarg={'cwd': '/etc'})
394047
394048       This update has been added to all cmd methods in the LocalClient class.
394049
394050   Better Self Salting
394051       One problem faced with running Salt states, is that it has been  diffi‐
394052       cult to manage the Salt minion via states, this is due to the fact that
394053       if the minion is called to restart while a state run is happening  then
394054       the state run would be killed. 0.9.9 slightly changes the process scope
394055       of the state runs, so now when salt is executing states it  can  safely
394056       restart the salt-minion daemon.
394057
394058       In  addition  to  daemonizing the state run, the apt module also daemo‐
394059       nizes.  This update makes it possible to cleanly update the salt-minion
394060       package on Debian/Ubuntu systems without leaving apt in an inconsistent
394061       state or killing the active minion process mid-execution.
394062
394063   Wildcards for SLS Modules
394064       Now, when including sls modules in include statements  or  in  the  top
394065       file,  shell  globs  can  be  used.  This  can greatly simplify listing
394066       matched sls modules in the top file and include statements:
394067
394068          base:
394069            '*':
394070              - files*
394071              - core*
394072
394073          include:
394074            - users.dev.*
394075            - apache.ser*
394076
394077   External Pillar
394078       Since the pillar data is just, data, it does not need to come expressly
394079       from  the pillar interface. The external pillar system allows for hooks
394080       to be added making it possible to extract pillar data  from  any  arbi‐
394081       trary  external  interface. The external pillar interface is configured
394082       via the ext_pillar option. Currently interfaces exist to gather  exter‐
394083       nal  pillar  data via hiera or via a shell command that sends yaml data
394084       to the terminal:
394085
394086          ext_pillar:
394087            - cmd_yaml: cat /etc/salt/ext.yaml
394088            - hiera: /etc/hirea.yaml
394089
394090       The initial external pillar interfaces  and  extra  interfaces  can  be
394091       added  to  the  file salt/pillar.py, it is planned to add more external
394092       pillar interfaces.  If the need arises a new  module  loader  interface
394093       will be created in the future to manage external pillar interfaces.
394094
394095   Single State Executions
394096       The  new  state.single  function allows for single states to be cleanly
394097       executed.  This is a great tool for setting up a small group of  states
394098       on a system or for testing out the behavior of single states:
394099
394100          salt '*' state.single user.present name=wade uid=2000
394101
394102       The  test  interface  functions  here  as  well, so changes can also be
394103       tested against as:
394104
394105          salt '*' state.single user.present name=wade uid=2000 test=True
394106
394107   New Tests
394108       A few exciting new test interfaces have been added,  the  minion  swarm
394109       allows  not  only testing of larger loads, but also allows users to see
394110       how Salt behaves with large groups of minions without having to  create
394111       a large deployment.
394112
394113   Minion Swarm
394114       The  minion  swarm test system allows for large groups of minions to be
394115       tested against easily without requiring large  numbers  of  servers  or
394116       virtual  machines. The minion swarm creates as many minions as a system
394117       can handle and roots them in the /tmp directory and connects them to  a
394118       master.
394119
394120       The  benefit  here is that we were able to replicate issues that happen
394121       only when there are large numbers of minions. A number of elusive  bugs
394122       which  were  causing stability issues in masters and minions have since
394123       been hunted down.  Bugs that used to take careful watch by  users  over
394124       several  days  can  now be reliably replicated in minutes, and fixed in
394125       minutes.
394126
394127       Using the swarm is easy, make sure a master is up for the swarm to con‐
394128       nect  to, and then use the minionswarm.py script in the tests directory
394129       to spin up as many minions as you want. Remember, this is a fork  bomb,
394130       don't spin up more than your hardware can handle!
394131
394132          python minionswarm.py -m 20 --master salt-master
394133
394134   Shell Tests
394135       The new Shell testing system allows us to test the behavior of commands
394136       executed from a high level. This allows for the high level  testing  of
394137       salt runners and commands like salt-key.
394138
394139   Client Tests
394140       Tests have been added to test the aspects of the client APIs and ensure
394141       that the client calls work, and that they  manage  passed  data,  in  a
394142       desirable way.
394143
394144       SEE ALSO:
394145          Legacy salt-cloud release docs
394146
394147       SEE ALSO:
394148          Legacy salt-api release docs
394149

VENAFI TOOLS FOR SALT

394151   Introduction
394152       First,  you need to configure the master file. This is because all mod‐
394153       ule functions require either a configured  api_key  (for  Cloud)  or  a
394154       ttp_user with a tpp_password and a base_url (for Trust Platform).
394155
394156       For Venafi Cloud:
394157
394158          venafi:
394159            api_key: abcdef01-2345-6789-abcd-ef0123456789
394160            base_url: "https://cloud.venafi.example.com/"    (optional)
394161
394162       If  you  don't  have a Venafi Cloud account, you can sign up for one on
394163       the enrollment page.
394164
394165       For Venafi Platform:
394166
394167          venafi:
394168            base_url: "https://tpp.example.com/"
394169            tpp_user: admin
394170            tpp_password: "Str0ngPa$$w0rd"
394171            trust_bundle: "/opt/venafi/bundle.pem"
394172
394173       It is not common for the Venafi Platform's  REST  API  (WebSDK)  to  be
394174       secured  using a certificate issued by a publicly trusted CA, therefore
394175       establishing trust for that server certificate is a  critical  part  of
394176       your  configuration. Ideally this is done by obtaining the root CA cer‐
394177       tificate in the issuing chain in PEM format and copying  that  file  to
394178       your Salt Master (e.g. /opt/venafi/bundle.pem). You then reference that
394179       file using the 'trust_bundle' parameter as shown above.
394180
394181       For the Venafi module to create keys and certificates it  is  necessary
394182       to enable external pillars. This is done by adding the following to the
394183       /etc/salt/master file:
394184
394185          ext_pillar:
394186            - venafi: True
394187
394188   Runner Functions
394189   request
394190       This command is used to enroll  a  certificate  from  Venafi  Cloud  or
394191       Venafi Platform.
394192
394193       minion_id
394194              ID  of  the  minion  for  which the certificate is being issued.
394195              Required.
394196
394197       dns_name
394198              DNS subject name for the certificate. Required  if  csr_path  is
394199              not specified.
394200
394201       csr_path
394202              Full  path  name  of certificate signing request file to enroll.
394203              Required if dns_name is not specified.
394204
394205       zone   Venafi Cloud zone ID or Venafi Platform folder that specify  key
394206              and certificate policy. Defaults to "Default". For Venafi Cloud,
394207              the Zone ID can be found in the Zone page for your Venafi  Cloud
394208              project.
394209
394210       org_unit
394211              Business  Unit,  Department,  etc. Do not specify if it does not
394212              apply.
394213
394214       org    Exact legal name of your organization. Do not abbreviate.
394215
394216       loc    City/locality where your organization is legally located.
394217
394218       state  State or province where your organization  is  legally  located.
394219              Must not be abbreviated.
394220
394221       country
394222              Country  where  your organization is legally located; two-letter
394223              ISO code.
394224
394225       key_password
394226              Password for encrypting the private key.
394227
394228       The syntax for requesting a new certificate with private key generation
394229       looks like this:
394230
394231          salt-run venafi.request minion.example.com dns_name=www.example.com \
394232          country=US state=California loc=Sacramento org="Company Name" org_unit=DevOps \
394233          zone=Internet key_password=SecretSauce
394234
394235       And the syntax for requesting a new certificate using a previously gen‐
394236       erated CSR looks like this:
394237
394238          salt-run venafi.request minion.example.com csr_path=/tmp/minion.req zone=Internet
394239
394240   show_cert
394241       This command is used to show last issued certificate for domain.
394242
394243       dns_name
394244              DNS subject name of the certificate to look up.
394245
394246          salt-run venafi.show_cert www.example.com
394247
394248   list_domain_cache
394249       This command lists domains that have been cached on this Salt Master.
394250
394251          salt-run venafi.list_domain_cache
394252
394253   del_cached_domain
394254       This command deletes a domain from the Salt Master's cache.
394255
394256       domains
394257              A domain name, or a comma-separated list  of  domain  names,  to
394258              delete from this master's cache.
394259
394260          salt-run venafi.del_cached_domain www.example.com
394261
394262   Transfer certificate to a minion
394263       To  transfer  a cached certificate to a minion, you can use Venafi pil‐
394264       lar.
394265
394266       Example state (SLS) file:
394267
394268          /etc/ssl/cert/www.example.com.crt:
394269            file.managed:
394270                - contents_pillar: venafi:www.example.com:cert
394271                - replace: True
394272
394273          /etc/ssl/cert/www.example.com.key:
394274            file.managed:
394275                - contents_pillar: venafi:www.example.com:pkey
394276                - replace: True
394277
394278          /etc/ssl/cert/www.example.com-chain.pem:
394279            file.managed:
394280                - contents_pillar: venafi:www.example.com:chain
394281                - replace: True
394282

GLOSSARY

394284       Auto-Order
394285              The evaluation of states in the order that they are defined in a
394286              SLS file. See also: ordering.
394287
394288       Bootstrap
394289              A stand-alone Salt project which can download and install a Salt
394290              master  and/or  a  Salt  minion   onto   a   host.   See   also:
394291              salt-bootstrap.
394292
394293       Compound Matcher
394294              A  combination  of  many target definitions that can be combined
394295              with boolean operators. See also: targeting.
394296
394297       EAuth  Shorthand for 'external authentication'. A system for calling to
394298              a  system  outside  of  Salt  in order to authenticate users and
394299              determine if they are allowed to issue  particular  commands  to
394300              Salt. See also: external auth.
394301
394302       Environment
394303              A  directory tree containing state files which can be applied to
394304              minions. See also: top file.
394305
394306       Execution Function
394307              A Python function inside an Execution Module that may take argu‐
394308              ments  and  performs specific system-management tasks. See also:
394309              the list of execution modules.
394310
394311       External Job Cache
394312              An external data-store that can archive information  about  jobs
394313              that have been run. A default returner. See also: ext_job_cache,
394314              the list of returners.
394315
394316       Execution Module
394317              A Python module that contains execution functions which directly
394318              perform  various system-management tasks on a server. Salt ships
394319              with a number of execution modules  but  users  can  also  write
394320              their  own  execution  modules to perform specialized tasks. See
394321              also: the list of execution modules.
394322
394323       External Pillar
394324              A module that accepts arbitrary arguments and returns a  dictio‐
394325              nary.   The  dictionary is automatically added to a pillar for a
394326              minion.
394327
394328       Event  A notice emitted onto an event bus. Events are often  driven  by
394329              requests  for  actions  to  occur  on a minion or master and the
394330              results of those actions. See also: Salt Reactor.
394331
394332       File Server
394333              A local or remote location for storing both Salt-specific  files
394334              such as top files or SLS files as well as files that can be dis‐
394335              tributed to minions, such as  system  configuration  files.  See
394336              also: Salt's file server.
394337
394338       Grain  A  key-value  pair which contains a fact about a system, such as
394339              its  hostname,  network  addresses.  See  also:  targeting  with
394340              grains.
394341
394342       Highdata
394343              The  data  structure in a SLS file the represents a set of state
394344              declarations. See also: state layers.
394345
394346       Highstate
394347              The collection of states to be applied to a  system.  See  also:
394348              state layers.
394349
394350       Idempotent
394351              An  action  that  ensures  the  system  is in a well-known state
394352              regardless of the system's state before the action  is  applied.
394353              A  corollary  to this is that applying the action multiple times
394354              results in no changes to the  system.   State  module  functions
394355              should  be  idempotent.   Some  state  module functions, such as
394356              cmd.run are not idempotent by default but can be made idempotent
394357              with the proper use of requisites such as unless and onlyif. For
394358              more information, see wikipedia.
394359
394360       Jinja  A templating language which allows variables and simple logic to
394361              be  dynamically  inserted  into  static text files when they are
394362              rendered.  See also: Salt's Jinja documentation.
394363
394364       Job    The complete set of tasks to be performed by the execution of  a
394365              Salt command are a single job. See also: jobs runner.
394366
394367       Job Cache
394368              A storage location for job results, which may then be queried by
394369              a salt runner or an external system. May be local to a salt mas‐
394370              ter or stored externally.
394371
394372       Job ID A  unique  identifier  to  represent a given job.  This is often
394373              shortened to JID.
394374
394375       Low State
394376              The collection of processed states after  requisites  and  order
394377              are evaluated. See also: state layers.
394378
394379       Master A  central Salt daemon from which commands can be issued to lis‐
394380              tening minions.
394381
394382       Masterless
394383              A minion which does not require a Salt master  to  operate.  All
394384              configuration is local. See also: file_client.
394385
394386       Master Tops
394387              A  system for the master that allows hooks into external systems
394388              to generate top file data.
394389
394390       Mine   A facility to collect arbitrary data from minions and store that
394391              data  on  the  master.  This data is then available to all other
394392              minions.  (Sometimes referred to as Salt Mine.) See  also:  Salt
394393              Mine.
394394
394395       Minion A  server  running a Salt minion daemon which can listen to com‐
394396              mands from a master and perform the requested tasks.  Generally,
394397              minions are servers which are to be controlled using Salt.
394398
394399       Minion ID
394400              A globally unique identifier for a minion. See also: id.
394401
394402       Multi-Master
394403              The  ability  for  a minion to be actively connected to multiple
394404              Salt masters at the same time in high-availability environments.
394405
394406       Node Group
394407              A pre-defined group of minions declared in the master configura‐
394408              tion file. See also: targeting.
394409
394410       Outputter
394411              A formatter for defining the characteristics of output data from
394412              a Salt command. See also: list of outputters.
394413
394414       Peer Communication
394415              The ability for minions to communicate directly with other  min‐
394416              ions  instead of brokering commands through the Salt master. See
394417              also: peer communication.
394418
394419       Pillar A simple key-value store for user-defined data to be made avail‐
394420              able  to  a minion. Often used to store and distribute sensitive
394421              data to minions.  See also: Pillar, list of Pillar modules.
394422
394423       Proxy Minion
394424              A minion which can control devices that are unable to run a Salt
394425              minion locally, such as routers and switches.
394426
394427       PyDSL  A  Pythonic  domain-specific-language  used  as a Salt renderer.
394428              PyDSL can be used in cases where adding  pure  Python  into  SLS
394429              files is beneficial.  See also: PyDSL.
394430
394431       Reactor
394432              An  interface  for listening to events and defining actions that
394433              Salt should taken upon receipt of given events. See also:  Reac‐
394434              tor.
394435
394436       Render Pipe
394437              Allows SLS files to be rendered by multiple renderers, with each
394438              renderer receiving the output of the previous. See also: compos‐
394439              ing renderers.
394440
394441       Renderer
394442              Responsible  for  translating  a given data serialization format
394443              such as YAML or JSON into a Python data structure  that  can  be
394444              consumed by Salt.  See also: list of renderers.
394445
394446       Returner
394447              Allows  for  the results of a Salt command to be sent to a given
394448              data-store such as a database or  log  file  for  archival.  See
394449              also: list of returners.
394450
394451       Roster A  flat-file  list  of  target  hosts.  (Currently  only used by
394452              salt-ssh.)
394453
394454       Runner Module
394455              A module containing a set of runner functions. See also: list of
394456              runner modules.
394457
394458       Runner Function
394459              A  function which is called by the salt-run command and executes
394460              on the master instead of on a minion. See also: Runner Module.
394461
394462       Salt Cloud
394463              A suite of tools used to  create  and  deploy  systems  on  many
394464              hosted cloud providers. See also: salt-cloud.
394465
394466       Salt SSH
394467              A  configuration management and remote orchestration system that
394468              does not require that any software besides SSH be  installed  on
394469              systems to be controlled.
394470
394471       Salt Thin
394472              A  subset  of the normal Salt distribution that does not include
394473              any transport routines. A Salt Thin bundle can be dropped onto a
394474              host  and used directly without any requirement that the host be
394475              connected to a network. Used by Salt SSH. See also: thin runner.
394476
394477       Salt Virt
394478              Used to manage the creation and deployment of  virtual  machines
394479              onto  a  set  of  host machines. Often used to create and deploy
394480              private clouds.  See also: virt runner.
394481
394482       SLS Module
394483              Contains a set of state declarations.
394484
394485       State Compiler
394486              Translates highdata into lowdata.
394487
394488       State Declaration
394489              A data structure which contains a unique ID and describes one or
394490              more  states  of  a  system  such  as ensuring that a package is
394491              installed or a user is defined. See also: highstate structure.
394492
394493       State Function
394494              A function contained inside a state module which can manages the
394495              application  of  a particular state to a system. State functions
394496              frequently call out to one or more execution modules to  perform
394497              a given task.
394498
394499       State Module
394500              A module which contains a set of state functions. See also: list
394501              of state modules.
394502
394503       State Run
394504              The application of a set of states on a set of systems.
394505
394506       Syndic A forwarder which can relay messages between tiered masters. See
394507              also: Syndic.
394508
394509       Target Minion(s)  to  which  a given salt command will apply. See also:
394510              targeting.
394511
394512       Top File
394513              Determines which SLS files should be applied to various  systems
394514              and  organizes  those  groups  of systems into environments. See
394515              also: top file, list of master top modules.
394516
394517       __virtual__
394518              A function in a module that is called on module load  to  deter‐
394519              mine  whether or not the module should be available to a minion.
394520              This function  commonly  contains  logic  to  determine  if  all
394521              requirements  for  a  module  are  available,  such  as external
394522              libraries.
394523
394524       Worker A master process which can send notices and receive replies from
394525              minions. See also: worker_threads.
394526

AUTHOR

394528       Thomas  S.  Hatch  <thatch45@gmail.com> and many others, please see the
394529       Authors file
394530
394531
394532
394533
3945343000.2                           Apr 14, 2020                          SALT(7)
Impressum